aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--ChangeLog874
-rw-r--r--Makefile.am7
-rw-r--r--ReleaseNotes120
-rw-r--r--changes/bridgeauth_crash4
-rw-r--r--changes/bug43664
-rw-r--r--changes/bug47254
-rw-r--r--changes/bug47604
-rw-r--r--changes/bug48385
-rw-r--r--changes/bug49555
-rw-r--r--changes/bug510511
-rw-r--r--changes/bug52315
-rw-r--r--changes/bug53403
-rw-r--r--changes/geoip-march20123
-rw-r--r--changes/maatuska-ip3
-rw-r--r--changes/tinytest_update5
-rw-r--r--changes/win-bundle-path4
-rw-r--r--configure.in100
-rwxr-xr-xcontrib/checkSpace.pl2
-rwxr-xr-xcontrib/exitlist26
-rw-r--r--contrib/tor-mingw.nsi.in2
-rw-r--r--doc/HACKING2
-rw-r--r--doc/tor.1.txt211
-rw-r--r--src/common/Makefile.am5
-rw-r--r--src/common/OpenBSD_malloc_Linux.c5
-rw-r--r--src/common/address.c252
-rw-r--r--src/common/address.h11
-rw-r--r--src/common/aes.c1173
-rw-r--r--src/common/aes.h7
-rw-r--r--src/common/compat.c252
-rw-r--r--src/common/compat.h62
-rw-r--r--src/common/compat_libevent.c44
-rw-r--r--src/common/container.c29
-rw-r--r--src/common/container.h30
-rw-r--r--src/common/crypto.c679
-rw-r--r--src/common/crypto.h168
-rw-r--r--src/common/ht.h99
-rw-r--r--src/common/log.c6
-rw-r--r--src/common/procmon.c10
-rw-r--r--src/common/tortls.c246
-rw-r--r--src/common/tortls.h17
-rw-r--r--src/common/tortls_states.h414
-rw-r--r--src/common/util.c572
-rw-r--r--src/common/util.h117
-rw-r--r--src/config/geoip57652
-rw-r--r--src/config/torrc.sample.in50
-rw-r--r--src/or/Makefile.am15
-rw-r--r--src/or/buffers.c13
-rw-r--r--src/or/circuitbuild.c309
-rw-r--r--src/or/circuitbuild.h12
-rw-r--r--src/or/circuitlist.c134
-rw-r--r--src/or/circuitlist.h5
-rw-r--r--src/or/circuituse.c177
-rw-r--r--src/or/circuituse.h3
-rw-r--r--src/or/command.c176
-rw-r--r--src/or/config.c1289
-rw-r--r--src/or/config.h18
-rw-r--r--src/or/connection.c275
-rw-r--r--src/or/connection.h3
-rw-r--r--src/or/connection_edge.c155
-rw-r--r--src/or/connection_edge.h3
-rw-r--r--src/or/connection_or.c76
-rw-r--r--src/or/connection_or.h6
-rw-r--r--src/or/control.c493
-rw-r--r--src/or/control.h5
-rw-r--r--src/or/cpuworker.c25
-rw-r--r--src/or/directory.c148
-rw-r--r--src/or/directory.h2
-rw-r--r--src/or/dirserv.c121
-rw-r--r--src/or/dirserv.h4
-rw-r--r--src/or/dirvote.c225
-rw-r--r--src/or/dirvote.h15
-rw-r--r--src/or/dns.c25
-rw-r--r--src/or/eventdns.c34
-rw-r--r--src/or/eventdns.h2
-rw-r--r--src/or/eventdns_tor.h7
-rw-r--r--src/or/geoip.c32
-rw-r--r--src/or/hibernate.c43
-rw-r--r--src/or/hibernate.h1
-rw-r--r--src/or/main.c123
-rw-r--r--src/or/microdesc.c19
-rw-r--r--src/or/networkstatus.c79
-rw-r--r--src/or/nodelist.c117
-rw-r--r--src/or/nodelist.h13
-rw-r--r--src/or/ntmain.c24
-rw-r--r--src/or/ntmain.h2
-rw-r--r--src/or/onion.c16
-rw-r--r--src/or/onion.h10
-rw-r--r--src/or/or.h263
-rw-r--r--src/or/policies.c67
-rw-r--r--src/or/reasons.c2
-rw-r--r--src/or/relay.c54
-rw-r--r--src/or/relay.h5
-rw-r--r--src/or/rendclient.c78
-rw-r--r--src/or/rendcommon.c49
-rw-r--r--src/or/rendcommon.h4
-rw-r--r--src/or/rendmid.c16
-rw-r--r--src/or/rendservice.c618
-rw-r--r--src/or/rephist.c105
-rw-r--r--src/or/router.c279
-rw-r--r--src/or/router.h32
-rw-r--r--src/or/routerlist.c122
-rw-r--r--src/or/routerparse.c173
-rw-r--r--src/or/routerparse.h5
-rw-r--r--src/or/transports.c554
-rw-r--r--src/or/transports.h7
-rw-r--r--src/test/Makefile.am17
-rw-r--r--src/test/bench.c327
-rw-r--r--src/test/test-child.c6
-rw-r--r--src/test/test.c153
-rw-r--r--src/test/test.h10
-rw-r--r--src/test/test_addr.c162
-rw-r--r--src/test/test_config.c170
-rw-r--r--src/test/test_containers.c28
-rw-r--r--src/test/test_crypto.c114
-rw-r--r--src/test/test_dir.c157
-rw-r--r--src/test/test_microdesc.c6
-rw-r--r--src/test/test_pt.c6
-rw-r--r--src/test/test_util.c491
-rw-r--r--src/test/tinytest.c50
-rw-r--r--src/test/tinytest.h18
-rw-r--r--src/test/tinytest_demo.c2
-rw-r--r--src/test/tinytest_macros.h78
-rw-r--r--src/tools/Makefile.am8
-rw-r--r--src/tools/tor-checkkey.c6
-rw-r--r--src/tools/tor-fw-helper/Makefile.am2
-rw-r--r--src/tools/tor-fw-helper/tor-fw-helper-natpmp.c9
-rw-r--r--src/tools/tor-fw-helper/tor-fw-helper-upnp.c2
-rw-r--r--src/tools/tor-fw-helper/tor-fw-helper.c4
-rw-r--r--src/tools/tor-gencert.c16
-rw-r--r--src/tools/tor-resolve.c2
-rw-r--r--src/win32/orconfig.h5
132 files changed, 48029 insertions, 23813 deletions
diff --git a/.gitignore b/.gitignore
index 610965b85..26e9e3808 100644
--- a/.gitignore
+++ b/.gitignore
@@ -144,6 +144,8 @@
# /src/test
/src/test/Makefile
/src/test/Makefile.in
+/src/test/bench
+/src/test/bench.exe
/src/test/test
/src/test/test-child
/src/test/test.exe
diff --git a/ChangeLog b/ChangeLog
index 4c97e22fa..11f5180fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,787 @@
+Changes in version 0.2.3.12-alpha - 2012-02-13
+ Tor 0.2.3.12-alpha lets fast exit relays scale better, allows clients
+ to use bridges that run Tor 0.2.2.x, and resolves several big bugs
+ when Tor is configured to use a pluggable transport like obfsproxy.
+
+ o Major bugfixes:
+ - Fix builds when the path to sed, openssl, or sha1sum contains
+ spaces, which is pretty common on Windows. Fixes bug 5065; bugfix
+ on 0.2.2.1-alpha.
+ - Set the SO_REUSEADDR socket option before we call bind() on outgoing
+ connections. This change should allow busy exit relays to stop
+ running out of available sockets as quickly. Fixes bug 4950;
+ bugfix on 0.2.2.26-beta.
+ - Allow 0.2.3.x clients to use 0.2.2.x bridges. Previously the client
+ would ask the bridge for microdescriptors, which are only supported
+ in 0.2.3.x, and then fail to bootstrap when it didn't get the
+ answers it wanted. Fixes bug 4013; bugfix on 0.2.3.2-alpha.
+ - Avoid an assert when managed proxies like obfsproxy are configured,
+ and we receive HUP signals or configuration values too rapidly. This
+ situation happens most commonly when Vidalia tries to attach to
+ Tor or tries to configure the Tor it's attached to. Fixes bug 5084;
+ bugfix on 0.2.3.6-alpha.
+ - Properly set up obfsproxy's environment when in managed mode. The
+ Tor Browser Bundle needs LD_LIBRARY_PATH to be passed to obfsproxy,
+ and when you run your Tor as a daemon, there's no HOME. Fixes bugs
+ 5076 and 5082; bugfix on 0.2.3.6-alpha.
+
+ o Minor features:
+ - Use the dead_strip option when building Tor on OS X. This reduces
+ binary size by almost 19% when linking openssl and libevent
+ statically, which we do for Tor Browser Bundle.
+ - Fix broken URLs in the sample torrc file, and tell readers about
+ the OutboundBindAddress, ExitPolicyRejectPrivate, and
+ PublishServerDescriptor options. Addresses bug 4652.
+ - Update to the February 7 2012 Maxmind GeoLite Country database.
+
+ o Minor bugfixes:
+ - Downgrade the "We're missing a certificate" message from notice
+ to info: people kept mistaking it for a real problem, whereas it
+ is seldom the problem even when we are failing to bootstrap. Fixes
+ bug 5067; bugfix on 0.2.0.10-alpha.
+ - Don't put "TOR_PT_EXTENDED_SERVER_PORT=127.0.0.1:4200" in a
+ managed pluggable transport server proxy's environment.
+ Previously, we would put it there, even though Tor doesn't
+ implement an 'extended server port' yet, and even though Tor
+ almost certainly isn't listening at that address. For now, we set
+ it to an empty string to avoid crashing older obfsproxies. Bugfix
+ on 0.2.3.6-alpha.
+ - Log the heartbeat message every HeartbeatPeriod seconds, not every
+ HeartbeatPeriod + 1 seconds. Fixes bug 4942; bugfix on
+ 0.2.3.1-alpha. Bug reported by Scott Bennett.
+ - Calculate absolute paths correctly on Windows. Fixes bug 4973;
+ bugfix on 0.2.3.11-alpha.
+ - Update "ClientOnly" man page entry to explain that there isn't
+ really any point to messing with it. Resolves ticket 5005.
+ - Use the correct CVE number for CVE-2011-4576 in our comments and
+ log messages. Found by "fermenthor". Resolves bug 5066; bugfix on
+ 0.2.3.11-alpha.
+
+ o Code simplifications and refactoring:
+ - Use the _WIN32 macro throughout our code to detect Windows.
+ (Previously we had used the obsolete 'WIN32' and the idiosyncratic
+ 'MS_WINDOWS'.)
+
+
+Changes in version 0.2.3.11-alpha - 2012-01-22
+ Tor 0.2.3.11-alpha marks feature-freeze for the 0.2.3 tree. It deploys
+ the last step of the plan to limit maximum circuit length, includes
+ a wide variety of hidden service performance and correctness fixes,
+ works around an OpenSSL security flaw if your distro is too stubborn
+ to upgrade, and fixes a bunch of smaller issues.
+
+ o Major features:
+ - Now that Tor 0.2.0.x is completely deprecated, enable the final
+ part of "Proposal 110: Avoiding infinite length circuits" by
+ refusing all circuit-extend requests that do not use a relay_early
+ cell. This change helps Tor resist a class of denial-of-service
+ attacks by limiting the maximum circuit length.
+ - Adjust the number of introduction points that a hidden service
+ will try to maintain based on how long its introduction points
+ remain in use and how many introductions they handle. Fixes
+ part of bug 3825.
+ - Try to use system facilities for enumerating local interface
+ addresses, before falling back to our old approach (which was
+ binding a UDP socket, and calling getsockname() on it). That
+ approach was scaring OS X users whose draconian firewall
+ software warned about binding to UDP sockets, regardless of
+ whether packets were sent. Now we try to use getifaddrs(),
+ SIOCGIFCONF, or GetAdaptersAddresses(), depending on what the
+ system supports. Resolves ticket 1827.
+
+ o Major security workaround:
+ - When building or running with any version of OpenSSL earlier
+ than 0.9.8s or 1.0.0f, disable SSLv3 support. These OpenSSL
+ versions have a bug (CVE-2011-4576) in which their block cipher
+ padding includes uninitialized data, potentially leaking sensitive
+ information to any peer with whom they make a SSLv3 connection. Tor
+ does not use SSL v3 by default, but a hostile client or server
+ could force an SSLv3 connection in order to gain information that
+ they shouldn't have been able to get. The best solution here is to
+ upgrade to OpenSSL 0.9.8s or 1.0.0f (or later). But when building
+ or running with a non-upgraded OpenSSL, we disable SSLv3 entirely
+ to make sure that the bug can't happen.
+
+ o Major bugfixes:
+ - Fix the SOCKET_OK test that we use to tell when socket
+ creation fails so that it works on Win64. Fixes part of bug 4533;
+ bugfix on 0.2.2.29-beta. Bug found by wanoskarnet.
+ - Correct our replacements for the timeradd() and timersub() functions
+ on platforms that lack them (for example, Windows). The timersub()
+ function is used when expiring circuits, while timeradd() is
+ currently unused. Bug report and patch by Vektor. Fixes bug 4778;
+ bugfix on 0.2.2.24-alpha and 0.2.3.1-alpha.
+ - Do not use OpenSSL 1.0.0's counter mode: it has a critical bug
+ that was fixed in OpenSSL 1.0.0a. We test for the counter mode
+ bug at runtime, not compile time, because some distributions hack
+ their OpenSSL to mis-report its version. Fixes bug 4779; bugfix
+ on 0.2.3.9-alpha. Found by Pascal.
+
+ o Minor features (controller):
+ - Use absolute path names when reporting the torrc filename in the
+ control protocol, so a controller can more easily find the torrc
+ file. Resolves bug 1101.
+ - Extend the control protocol to report flags that control a circuit's
+ path selection in CIRC events and in replies to 'GETINFO
+ circuit-status'. Implements part of ticket 2411.
+ - Extend the control protocol to report the hidden service address
+ and current state of a hidden-service-related circuit in CIRC
+ events and in replies to 'GETINFO circuit-status'. Implements part
+ of ticket 2411.
+ - When reporting the path to the cookie file to the controller,
+ give an absolute path. Resolves ticket 4881.
+ - Allow controllers to request an event notification whenever a
+ circuit is cannibalized or its purpose is changed. Implements
+ part of ticket 3457.
+ - Include the creation time of a circuit in CIRC and CIRC2
+ control-port events and the list produced by the 'GETINFO
+ circuit-status' control-port command.
+
+ o Minor features (directory authorities):
+ - Directory authorities now reject versions of Tor older than
+ 0.2.1.30, and Tor versions between 0.2.2.1-alpha and 0.2.2.20-alpha
+ inclusive. These versions accounted for only a small fraction of
+ the Tor network, and have numerous known security issues. Resolves
+ issue 4788.
+ - Authority operators can now vote for all relays in a given
+ set of countries to be BadDir/BadExit/Invalid/Rejected.
+ - Provide two consensus parameters (FastFlagMinThreshold and
+ FastFlagMaxThreshold) to control the range of allowable bandwidths
+ for the Fast directory flag. These allow authorities to run
+ experiments on appropriate requirements for being a "Fast" node.
+ The AuthDirFastGuarantee config value still applies.
+ - Document the GiveGuardFlagTo_CVE_2011_2768_VulnerableRelays
+ directory authority option (introduced in Tor 0.2.2.34).
+
+ o Minor features (other):
+ - Don't disable the DirPort when we cannot exceed our AccountingMax
+ limit during this interval because the effective bandwidthrate is
+ low enough. This is useful in a situation where AccountMax is only
+ used as an additional safeguard or to provide statistics.
+ - Prepend an informative header to generated dynamic_dh_params files.
+ - If EntryNodes are given, but UseEntryGuards is set to 0, warn that
+ EntryNodes will have no effect. Resolves issue 2571.
+ - Log more useful messages when we fail to disable debugger
+ attachment.
+ - Log which authority we're missing votes from when we go to fetch
+ them from the other auths.
+ - Log (at debug level) whenever a circuit's purpose is changed.
+ - Add missing documentation for the MaxClientCircuitsPending,
+ UseMicrodescriptors, UserspaceIOCPBuffers, and
+ _UseFilteringSSLBufferevents options, all introduced during
+ the 0.2.3.x series.
+ - Update to the January 3 2012 Maxmind GeoLite Country database.
+
+ o Minor bugfixes (hidden services):
+ - Don't close hidden service client circuits which have almost
+ finished connecting to their destination when they reach
+ the normal circuit-build timeout. Previously, we would close
+ introduction circuits which are waiting for an acknowledgement
+ from the introduction point, and rendezvous circuits which have
+ been specified in an INTRODUCE1 cell sent to a hidden service,
+ after the normal CBT. Now, we mark them as 'timed out', and launch
+ another rendezvous attempt in parallel. This behavior change can
+ be disabled using the new CloseHSClientCircuitsImmediatelyOnTimeout
+ option. Fixes part of bug 1297; bugfix on 0.2.2.2-alpha.
+ - Don't close hidden-service-side rendezvous circuits when they
+ reach the normal circuit-build timeout. This behaviour change can
+ be disabled using the new
+ CloseHSServiceRendCircuitsImmediatelyOnTimeout option. Fixes the
+ remaining part of bug 1297; bugfix on 0.2.2.2-alpha.
+ - Make sure we never mark the wrong rendezvous circuit as having
+ had its introduction cell acknowleged by the introduction-point
+ relay. Previously, when we received an INTRODUCE_ACK cell on a
+ client-side hidden-service introduction circuit, we might have
+ marked a rendezvous circuit other than the one we specified in
+ the INTRODUCE1 cell as INTRO_ACKED, which would have produced
+ a warning message and interfered with the hidden service
+ connection-establishment process. Fixes bug 4759; bugfix on
+ 0.2.3.3-alpha, when we added the stream-isolation feature which
+ might cause Tor to open multiple rendezvous circuits for the same
+ hidden service.
+ - Don't trigger an assertion failure when we mark a new client-side
+ hidden-service introduction circuit for close during the process
+ of creating it. Fixes bug 4796; bugfix on 0.2.3.6-alpha. Reported
+ by murb.
+
+ o Minor bugfixes (log messages):
+ - Correctly spell "connect" in a log message on failure to create a
+ controlsocket. Fixes bug 4803; bugfix on 0.2.2.26-beta and
+ 0.2.3.2-alpha.
+ - Fix a typo in a log message in rend_service_rendezvous_has_opened().
+ Fixes bug 4856; bugfix on Tor 0.0.6.
+ - Fix the log message describing how we work around discovering
+ that our version is the ill-fated OpenSSL 0.9.8l. Fixes bug
+ 4837; bugfix on 0.2.2.9-alpha.
+ - When logging about a disallowed .exit name, do not also call it
+ an "invalid onion address". Fixes bug 3325; bugfix on 0.2.2.9-alpha.
+
+ o Minor bugfixes (build fixes):
+ - During configure, detect when we're building with clang version
+ 3.0 or lower and disable the -Wnormalized=id and -Woverride-init
+ CFLAGS. clang doesn't support them yet.
+ - During configure, search for library containing cos function as
+ libm lives in libcore on some platforms (BeOS/Haiku). Linking
+ against libm was hard-coded before. Fixes the first part of bug
+ 4727; bugfix on 0.2.2.2-alpha. Patch and analysis by Martin Hebnes
+ Pedersen.
+ - Detect attempts to build Tor on (as yet hypothetical) versions
+ of Windows where sizeof(intptr_t) != sizeof(SOCKET). Partial
+ fix for bug 4533. Bugfix on 0.2.2.28-beta.
+ - Preprocessor directives should not be put inside the arguments
+ of a macro. This would break compilation with GCC releases prior
+ to version 3.3. We would never recommend such an old GCC version,
+ but it is apparently required for binary compatibility on some
+ platforms (namely, certain builds of Haiku). Fixes the other part
+ of bug 4727; bugfix on 0.2.3.3-alpha. Patch and analysis by Martin
+ Hebnes Pedersen.
+
+ o Minor bugfixes (other):
+ - Older Linux kernels erroneously respond to strange nmap behavior
+ by having accept() return successfully with a zero-length
+ socket. When this happens, just close the connection. Previously,
+ we would try harder to learn the remote address: but there was
+ no such remote address to learn, and our method for trying to
+ learn it was incorrect. Fixes bugs 1240, 4745, and 4747. Bugfix
+ on 0.1.0.3-rc. Reported and diagnosed by "r1eo".
+ - Fix null-pointer access that could occur if TLS allocation failed.
+ Fixes bug 4531; bugfix on 0.2.0.20-rc. Found by "troll_un". This was
+ erroneously listed as fixed in 0.2.3.9-alpha, but the fix had
+ accidentally been reverted.
+ - Fix our implementation of crypto_random_hostname() so it can't
+ overflow on ridiculously large inputs. (No Tor version has ever
+ provided this kind of bad inputs, but let's be correct in depth.)
+ Fixes bug 4413; bugfix on 0.2.2.9-alpha. Fix by Stephen Palmateer.
+ - Find more places in the code that should have been testing for
+ invalid sockets using the SOCKET_OK macro. Required for a fix
+ for bug 4533. Bugfix on 0.2.2.28-beta.
+ - Fix an assertion failure when, while running with bufferevents, a
+ connection finishes connecting after it is marked for close, but
+ before it is closed. Fixes bug 4697; bugfix on 0.2.3.1-alpha.
+ - test_util_spawn_background_ok() hardcoded the expected value
+ for ENOENT to 2. This isn't portable as error numbers are
+ platform specific, and particularly the hurd has ENOENT at
+ 0x40000002. Construct expected string at runtime, using the correct
+ value for ENOENT. Fixes bug 4733; bugfix on 0.2.3.1-alpha.
+ - Reject attempts to disable DisableDebuggerAttachment while Tor is
+ running. Fixes bug 4650; bugfix on 0.2.3.9-alpha.
+ - Use an appropriate-width type for sockets in tor-fw-helper on
+ win64. Fixes bug 1983 at last. Bugfix on 0.2.3.9-alpha.
+
+ o Feature removal:
+ - When sending or relaying a RELAY_EARLY cell, we used to convert
+ it to a RELAY cell if the connection was using the v1 link
+ protocol. This was a workaround for older versions of Tor, which
+ didn't handle RELAY_EARLY cells properly. Now that all supported
+ versions can handle RELAY_EARLY cells, and now that we're enforcing
+ the "no RELAY_EXTEND commands except in RELAY_EARLY cells" rule,
+ remove this workaround. Addresses bug 4786.
+
+ o Code simplifications and refactoring:
+ - Use OpenSSL's built-in SSL_state_string_long() instead of our
+ own homebrewed ssl_state_to_string() replacement. Patch from
+ Emile Snyder. Fixes bug 4653.
+ - Use macros to indicate OpenSSL versions, so we don't need to worry
+ about accidental hexadecimal bit shifts.
+ - Remove some workaround code for OpenSSL 0.9.6 (which is no longer
+ supported).
+ - Convert more instances of tor_snprintf+tor_strdup into tor_asprintf.
+ - Use the smartlist_add_asprintf() alias more consistently.
+ - Use a TOR_INVALID_SOCKET macro when initializing a socket to an
+ invalid value, rather than just -1.
+ - Rename a handful of old identifiers, mostly related to crypto
+ structures and crypto functions. By convention, our "create an
+ object" functions are called "type_new()", our "free an object"
+ functions are called "type_free()", and our types indicate that
+ they are types only with a final "_t". But a handful of older
+ types and functions broke these rules, with function names like
+ "type_create" or "subsystem_op_type", or with type names like
+ type_env_t.
+
+
+Changes in version 0.2.3.10-alpha - 2011-12-16
+ Tor 0.2.3.10-alpha fixes a critical heap-overflow security issue in
+ Tor's buffers code. Absolutely everybody should upgrade.
+
+ The bug relied on an incorrect calculation when making data continuous
+ in one of our IO buffers, if the first chunk of the buffer was
+ misaligned by just the wrong amount. The miscalculation would allow an
+ attacker to overflow a piece of heap-allocated memory. To mount this
+ attack, the attacker would need to either open a SOCKS connection to
+ Tor's SocksPort (usually restricted to localhost), or target a Tor
+ instance configured to make its connections through a SOCKS proxy
+ (which Tor does not do by default).
+
+ Good security practice requires that all heap-overflow bugs should be
+ presumed to be exploitable until proven otherwise, so we are treating
+ this as a potential code execution attack. Please upgrade immediately!
+ This bug does not affect bufferevents-based builds of Tor. Special
+ thanks to "Vektor" for reporting this issue to us!
+
+ This release also contains a few minor bugfixes for issues discovered
+ in 0.2.3.9-alpha.
+
+ o Major bugfixes:
+ - Fix a heap overflow bug that could occur when trying to pull
+ data into the first chunk of a buffer, when that chunk had
+ already had some data drained from it. Fixes CVE-2011-2778;
+ bugfix on 0.2.0.16-alpha. Reported by "Vektor".
+
+ o Minor bugfixes:
+ - If we can't attach streams to a rendezvous circuit when we
+ finish connecting to a hidden service, clear the rendezvous
+ circuit's stream-isolation state and try to attach streams
+ again. Previously, we cleared rendezvous circuits' isolation
+ state either too early (if they were freshly built) or not at all
+ (if they had been built earlier and were cannibalized). Bugfix on
+ 0.2.3.3-alpha; fixes bug 4655.
+ - Fix compilation of the libnatpmp helper on non-Windows. Bugfix on
+ 0.2.3.9-alpha; fixes bug 4691. Reported by Anthony G. Basile.
+ - Fix an assertion failure when a relay with accounting enabled
+ starts up while dormant. Fixes bug 4702; bugfix on 0.2.3.9-alpha.
+
+ o Minor features:
+ - Update to the December 6 2011 Maxmind GeoLite Country database.
+
+
+Changes in version 0.2.2.35 - 2011-12-16
+ Tor 0.2.2.35 fixes a critical heap-overflow security issue in Tor's
+ buffers code. Absolutely everybody should upgrade.
+
+ The bug relied on an incorrect calculation when making data continuous
+ in one of our IO buffers, if the first chunk of the buffer was
+ misaligned by just the wrong amount. The miscalculation would allow an
+ attacker to overflow a piece of heap-allocated memory. To mount this
+ attack, the attacker would need to either open a SOCKS connection to
+ Tor's SocksPort (usually restricted to localhost), or target a Tor
+ instance configured to make its connections through a SOCKS proxy
+ (which Tor does not do by default).
+
+ Good security practice requires that all heap-overflow bugs should be
+ presumed to be exploitable until proven otherwise, so we are treating
+ this as a potential code execution attack. Please upgrade immediately!
+ This bug does not affect bufferevents-based builds of Tor. Special
+ thanks to "Vektor" for reporting this issue to us!
+
+ Tor 0.2.2.35 also fixes several bugs in previous versions, including
+ crash bugs for unusual configurations, and a long-term bug that
+ would prevent Tor from starting on Windows machines with draconian
+ AV software.
+
+ With this release, we remind everyone that 0.2.0.x has reached its
+ formal end-of-life. Those Tor versions have many known flaws, and
+ nobody should be using them. You should upgrade -- ideally to the
+ 0.2.2.x series. If you're using a Linux or BSD and its packages are
+ obsolete, stop using those packages and upgrade anyway.
+
+ The Tor 0.2.1.x series is also approaching its end-of-life: it will no
+ longer receive support after some time in early 2012.
+
+ o Major bugfixes:
+ - Fix a heap overflow bug that could occur when trying to pull
+ data into the first chunk of a buffer, when that chunk had
+ already had some data drained from it. Fixes CVE-2011-2778;
+ bugfix on 0.2.0.16-alpha. Reported by "Vektor".
+ - Initialize Libevent with the EVENT_BASE_FLAG_NOLOCK flag enabled, so
+ that it doesn't attempt to allocate a socketpair. This could cause
+ some problems on Windows systems with overzealous firewalls. Fix for
+ bug 4457; workaround for Libevent versions 2.0.1-alpha through
+ 2.0.15-stable.
+ - If we mark an OR connection for close based on a cell we process,
+ don't process any further cells on it. We already avoid further
+ reads on marked-for-close connections, but now we also discard the
+ cells we'd already read. Fixes bug 4299; bugfix on 0.2.0.10-alpha,
+ which was the first version where we might mark a connection for
+ close based on processing a cell on it.
+ - Correctly sanity-check that we don't underflow on a memory
+ allocation (and then assert) for hidden service introduction
+ point decryption. Bug discovered by Dan Rosenberg. Fixes bug 4410;
+ bugfix on 0.2.1.5-alpha.
+ - Fix a memory leak when we check whether a hidden service
+ descriptor has any usable introduction points left. Fixes bug
+ 4424. Bugfix on 0.2.2.25-alpha.
+ - Don't crash when we're running as a relay and don't have a GeoIP
+ file. Bugfix on 0.2.2.34; fixes bug 4340. This backports a fix
+ we've had in the 0.2.3.x branch already.
+ - When running as a client, do not print a misleading (and plain
+ wrong) log message that we're collecting "directory request"
+ statistics: clients don't collect statistics. Also don't create a
+ useless (because empty) stats file in the stats/ directory. Fixes
+ bug 4353; bugfix on 0.2.2.34.
+
+ o Minor bugfixes:
+ - Detect failure to initialize Libevent. This fix provides better
+ detection for future instances of bug 4457.
+ - Avoid frequent calls to the fairly expensive cull_wedged_cpuworkers
+ function. This was eating up hideously large amounts of time on some
+ busy servers. Fixes bug 4518; bugfix on 0.0.9.8.
+ - Resolve an integer overflow bug in smartlist_ensure_capacity().
+ Fixes bug 4230; bugfix on Tor 0.1.0.1-rc. Based on a patch by
+ Mansour Moufid.
+ - Don't warn about unused log_mutex in log.c when building with
+ --disable-threads using a recent GCC. Fixes bug 4437; bugfix on
+ 0.1.0.6-rc which introduced --disable-threads.
+ - When configuring, starting, or stopping an NT service, stop
+ immediately after the service configuration attempt has succeeded
+ or failed. Fixes bug 3963; bugfix on 0.2.0.7-alpha.
+ - When sending a NETINFO cell, include the original address
+ received for the other side, not its canonical address. Found
+ by "troll_un"; fixes bug 4349; bugfix on 0.2.0.10-alpha.
+ - Fix a typo in a hibernation-related log message. Fixes bug 4331;
+ bugfix on 0.2.2.23-alpha; found by "tmpname0901".
+ - Fix a memory leak in launch_direct_bridge_descriptor_fetch() that
+ occurred when a client tried to fetch a descriptor for a bridge
+ in ExcludeNodes. Fixes bug 4383; bugfix on 0.2.2.25-alpha.
+ - Backport fixes for a pair of compilation warnings on Windows.
+ Fixes bug 4521; bugfix on 0.2.2.28-beta and on 0.2.2.29-beta.
+ - If we had ever tried to call tor_addr_to_str on an address of
+ unknown type, we would have done a strdup on an uninitialized
+ buffer. Now we won't. Fixes bug 4529; bugfix on 0.2.1.3-alpha.
+ Reported by "troll_un".
+ - Correctly detect and handle transient lookup failures from
+ tor_addr_lookup. Fixes bug 4530; bugfix on 0.2.1.5-alpha.
+ Reported by "troll_un".
+ - Fix null-pointer access that could occur if TLS allocation failed.
+ Fixes bug 4531; bugfix on 0.2.0.20-rc. Found by "troll_un".
+ - Use tor_socket_t type for listener argument to accept(). Fixes bug
+ 4535; bugfix on 0.2.2.28-beta. Found by "troll_un".
+
+ o Minor features:
+ - Add two new config options for directory authorities:
+ AuthDirFastGuarantee sets a bandwidth threshold for guaranteeing the
+ Fast flag, and AuthDirGuardBWGuarantee sets a bandwidth threshold
+ that is always sufficient to satisfy the bandwidth requirement for
+ the Guard flag. Now it will be easier for researchers to simulate
+ Tor networks with different values. Resolves ticket 4484.
+ - When Tor ignores a hidden service specified in its configuration,
+ include the hidden service's directory in the warning message.
+ Previously, we would only tell the user that some hidden service
+ was ignored. Bugfix on 0.0.6; fixes bug 4426.
+ - Update to the December 6 2011 Maxmind GeoLite Country database.
+
+ o Packaging changes:
+ - Make it easier to automate expert package builds on Windows,
+ by removing an absolute path from makensis.exe command.
+
+
+Changes in version 0.2.3.9-alpha - 2011-12-08
+ Tor 0.2.3.9-alpha introduces initial IPv6 support for bridges, adds
+ a "DisableNetwork" security feature that bundles can use to avoid
+ touching the network until bridges are configured, moves forward on
+ the pluggable transport design, fixes a flaw in the hidden service
+ design that unnecessarily prevented clients with wrong clocks from
+ reaching hidden services, and fixes a wide variety of other issues.
+
+ o Major features:
+ - Clients can now connect to private bridges over IPv6. Bridges
+ still need at least one IPv4 address in order to connect to
+ other relays. Note that we don't yet handle the case where the
+ user has two bridge lines for the same bridge (one IPv4, one
+ IPv6). Implements parts of proposal 186.
+ - New "DisableNetwork" config option to prevent Tor from launching any
+ connections or accepting any connections except on a control port.
+ Bundles and controllers can set this option before letting Tor talk
+ to the rest of the network, for example to prevent any connections
+ to a non-bridge address. Packages like Orbot can also use this
+ option to instruct Tor to save power when the network is off.
+ - Clients and bridges can now be configured to use a separate
+ "transport" proxy. This approach makes the censorship arms race
+ easier by allowing bridges to use protocol obfuscation plugins. It
+ implements the "managed proxy" part of proposal 180 (ticket 3472).
+ - When using OpenSSL 1.0.0 or later, use OpenSSL's counter mode
+ implementation. It makes AES_CTR about 7% faster than our old one
+ (which was about 10% faster than the one OpenSSL used to provide).
+ Resolves ticket 4526.
+ - Add a "tor2web mode" for clients that want to connect to hidden
+ services non-anonymously (and possibly more quickly). As a safety
+ measure to try to keep users from turning this on without knowing
+ what they are doing, tor2web mode must be explicitly enabled at
+ compile time, and a copy of Tor compiled to run in tor2web mode
+ cannot be used as a normal Tor client. Implements feature 2553.
+ - Add experimental support for running on Windows with IOCP and no
+ kernel-space socket buffers. This feature is controlled by a new
+ "UserspaceIOCPBuffers" config option (off by default), which has
+ no effect unless Tor has been built with support for bufferevents,
+ is running on Windows, and has enabled IOCP. This may, in the long
+ run, help solve or mitigate bug 98.
+ - Use a more secure consensus parameter voting algorithm. Now at
+ least three directory authorities or a majority of them must
+ vote on a given parameter before it will be included in the
+ consensus. Implements proposal 178.
+
+ o Major bugfixes:
+ - Hidden services now ignore the timestamps on INTRODUCE2 cells.
+ They used to check that the timestamp was within 30 minutes
+ of their system clock, so they could cap the size of their
+ replay-detection cache, but that approach unnecessarily refused
+ service to clients with wrong clocks. Bugfix on 0.2.1.6-alpha, when
+ the v3 intro-point protocol (the first one which sent a timestamp
+ field in the INTRODUCE2 cell) was introduced; fixes bug 3460.
+ - Only use the EVP interface when AES acceleration is enabled,
+ to avoid a 5-7% performance regression. Resolves issue 4525;
+ bugfix on 0.2.3.8-alpha.
+
+ o Privacy/anonymity features (bridge detection):
+ - Make bridge SSL certificates a bit more stealthy by using random
+ serial numbers, in the same fashion as OpenSSL when generating
+ self-signed certificates. Implements ticket 4584.
+ - Introduce a new config option "DynamicDHGroups", enabled by
+ default, which provides each bridge with a unique prime DH modulus
+ to be used during SSL handshakes. This option attempts to help
+ against censors who might use the Apache DH modulus as a static
+ identifier for bridges. Addresses ticket 4548.
+
+ o Minor features (new/different config options):
+ - New configuration option "DisableDebuggerAttachment" (on by default)
+ to prevent basic debugging attachment attempts by other processes.
+ Supports Mac OS X and Gnu/Linux. Resolves ticket 3313.
+ - Allow MapAddress directives to specify matches against super-domains,
+ as in "MapAddress *.torproject.org *.torproject.org.torserver.exit".
+ Implements issue 933.
+ - Slightly change behavior of "list" options (that is, config
+ options that can appear more than once) when they appear both in
+ torrc and on the command line. Previously, the command-line options
+ would be appended to the ones from torrc. Now, the command-line
+ options override the torrc options entirely. This new behavior
+ allows the user to override list options (like exit policies and
+ ports to listen on) from the command line, rather than simply
+ appending to the list.
+ - You can get the old (appending) command-line behavior for "list"
+ options by prefixing the option name with a "+".
+ - You can remove all the values for a "list" option from the command
+ line without adding any new ones by prefixing the option name
+ with a "/".
+ - Add experimental support for a "defaults" torrc file to be parsed
+ before the regular torrc. Torrc options override the defaults file's
+ options in the same way that the command line overrides the torrc.
+ The SAVECONF controller command saves only those options which
+ differ between the current configuration and the defaults file. HUP
+ reloads both files. (Note: This is an experimental feature; its
+ behavior will probably be refined in future 0.2.3.x-alpha versions
+ to better meet packagers' needs.)
+
+ o Minor features:
+ - Try to make the introductory warning message that Tor prints on
+ startup more useful for actually finding help and information.
+ Resolves ticket 2474.
+ - Running "make version" now displays the version of Tor that
+ we're about to build. Idea from katmagic; resolves issue 4400.
+ - Expire old or over-used hidden service introduction points.
+ Required by fix for bug 3460.
+ - Move the replay-detection cache for the RSA-encrypted parts of
+ INTRODUCE2 cells to the introduction point data structures.
+ Previously, we would use one replay-detection cache per hidden
+ service. Required by fix for bug 3460.
+ - Reduce the lifetime of elements of hidden services' Diffie-Hellman
+ public key replay-detection cache from 60 minutes to 5 minutes. This
+ replay-detection cache is now used only to detect multiple
+ INTRODUCE2 cells specifying the same rendezvous point, so we can
+ avoid launching multiple simultaneous attempts to connect to it.
+
+ o Minor bugfixes (on Tor 0.2.2.x and earlier):
+ - Resolve an integer overflow bug in smartlist_ensure_capacity().
+ Fixes bug 4230; bugfix on Tor 0.1.0.1-rc. Based on a patch by
+ Mansour Moufid.
+ - Fix a minor formatting issue in one of tor-gencert's error messages.
+ Fixes bug 4574.
+ - Prevent a false positive from the check-spaces script, by disabling
+ the "whitespace between function name and (" check for functions
+ named 'op()'.
+ - Fix a log message suggesting that people contact a non-existent
+ email address. Fixes bug 3448.
+ - Fix null-pointer access that could occur if TLS allocation failed.
+ Fixes bug 4531; bugfix on 0.2.0.20-rc. Found by "troll_un".
+ - Report a real bootstrap problem to the controller on router
+ identity mismatch. Previously we just said "foo", which probably
+ made a lot of sense at the time. Fixes bug 4169; bugfix on
+ 0.2.1.1-alpha.
+ - If we had ever tried to call tor_addr_to_str() on an address of
+ unknown type, we would have done a strdup() on an uninitialized
+ buffer. Now we won't. Fixes bug 4529; bugfix on 0.2.1.3-alpha.
+ Reported by "troll_un".
+ - Correctly detect and handle transient lookup failures from
+ tor_addr_lookup(). Fixes bug 4530; bugfix on 0.2.1.5-alpha.
+ Reported by "troll_un".
+ - Use tor_socket_t type for listener argument to accept(). Fixes bug
+ 4535; bugfix on 0.2.2.28-beta. Found by "troll_un".
+ - Initialize conn->addr to a valid state in spawn_cpuworker(). Fixes
+ bug 4532; found by "troll_un".
+
+ o Minor bugfixes (on Tor 0.2.3.x):
+ - Fix a compile warning in tor_inet_pton(). Bugfix on 0.2.3.8-alpha;
+ fixes bug 4554.
+ - Don't send two ESTABLISH_RENDEZVOUS cells when opening a new
+ circuit for use as a hidden service client's rendezvous point.
+ Fixes bugs 4641 and 4171; bugfix on 0.2.3.3-alpha. Diagnosed
+ with help from wanoskarnet.
+ - Restore behavior of overriding SocksPort, ORPort, and similar
+ options from the command line. Bugfix on 0.2.3.3-alpha.
+
+ o Build fixes:
+ - Properly handle the case where the build-tree is not the same
+ as the source tree when generating src/common/common_sha1.i,
+ src/or/micro-revision.i, and src/or/or_sha1.i. Fixes bug 3953;
+ bugfix on 0.2.0.1-alpha.
+
+ o Code simplifications, cleanups, and refactorings:
+ - Remove the pure attribute from all functions that used it
+ previously. In many cases we assigned it incorrectly, because the
+ functions might assert or call impure functions, and we don't have
+ evidence that keeping the pure attribute is worthwhile. Implements
+ changes suggested in ticket 4421.
+ - Remove some dead code spotted by coverity. Fixes cid 432.
+ Bugfix on 0.2.3.1-alpha, closes bug 4637.
+
+
+Changes in version 0.2.3.8-alpha - 2011-11-22
+ Tor 0.2.3.8-alpha fixes some crash and assert bugs, including a
+ socketpair-related bug that has been bothering Windows users. It adds
+ support to serve microdescriptors to controllers, so Vidalia's network
+ map can resume listing relays (once Vidalia implements its side),
+ and adds better support for hardware AES acceleration. Finally, it
+ starts the process of adjusting the bandwidth cutoff for getting the
+ "Fast" flag from 20KB to (currently) 32KB -- preliminary results show
+ that tiny relays harm performance more than they help network capacity.
+
+ o Major bugfixes:
+ - Initialize Libevent with the EVENT_BASE_FLAG_NOLOCK flag enabled, so
+ that it doesn't attempt to allocate a socketpair. This could cause
+ some problems on Windows systems with overzealous firewalls. Fix for
+ bug 4457; workaround for Libevent versions 2.0.1-alpha through
+ 2.0.15-stable.
+ - Correctly sanity-check that we don't underflow on a memory
+ allocation (and then assert) for hidden service introduction
+ point decryption. Bug discovered by Dan Rosenberg. Fixes bug 4410;
+ bugfix on 0.2.1.5-alpha.
+ - Remove the artificially low cutoff of 20KB to guarantee the Fast
+ flag. In the past few years the average relay speed has picked
+ up, and while the "top 7/8 of the network get the Fast flag" and
+ "all relays with 20KB or more of capacity get the Fast flag" rules
+ used to have the same result, now the top 7/8 of the network has
+ a capacity more like 32KB. Bugfix on 0.2.1.14-rc. Fixes bug 4489.
+ - Fix a rare assertion failure when checking whether a v0 hidden
+ service descriptor has any usable introduction points left, and
+ we don't have enough information to build a circuit to the first
+ intro point named in the descriptor. The HS client code in
+ 0.2.3.x no longer uses v0 HS descriptors, but this assertion can
+ trigger on (and crash) v0 HS authorities. Fixes bug 4411.
+ Bugfix on 0.2.3.1-alpha; diagnosed by frosty_un.
+ - Make bridge authorities not crash when they are asked for their own
+ descriptor. Bugfix on 0.2.3.7-alpha, reported by Lucky Green.
+ - When running as a client, do not print a misleading (and plain
+ wrong) log message that we're collecting "directory request"
+ statistics: clients don't collect statistics. Also don't create a
+ useless (because empty) stats file in the stats/ directory. Fixes
+ bug 4353; bugfix on 0.2.2.34 and 0.2.3.7-alpha.
+
+ o Major features:
+ - Allow Tor controllers like Vidalia to obtain the microdescriptor
+ for a relay by identity digest or nickname. Previously,
+ microdescriptors were only available by their own digests, so a
+ controller would have to ask for and parse the whole microdescriptor
+ consensus in order to look up a single relay's microdesc. Fixes
+ bug 3832; bugfix on 0.2.3.1-alpha.
+ - Use OpenSSL's EVP interface for AES encryption, so that all AES
+ operations can use hardware acceleration (if present). Resolves
+ ticket 4442.
+
+ o Minor bugfixes (on 0.2.2.x and earlier):
+ - Detect failure to initialize Libevent. This fix provides better
+ detection for future instances of bug 4457.
+ - Avoid frequent calls to the fairly expensive cull_wedged_cpuworkers
+ function. This was eating up hideously large amounts of time on some
+ busy servers. Fixes bug 4518; bugfix on 0.0.9.8.
+ - Don't warn about unused log_mutex in log.c when building with
+ --disable-threads using a recent GCC. Fixes bug 4437; bugfix on
+ 0.1.0.6-rc which introduced --disable-threads.
+ - Allow manual 'authenticate' commands to the controller interface
+ from netcat (nc) as well as telnet. We were rejecting them because
+ they didn't come with the expected whitespace at the end of the
+ command. Bugfix on 0.1.1.1-alpha; fixes bug 2893.
+ - Fix some (not actually triggerable) buffer size checks in usage of
+ tor_inet_ntop. Fixes bug 4434; bugfix on Tor 0.2.0.1-alpha. Patch
+ by Anders Sundman.
+ - Fix parsing of some corner-cases with tor_inet_pton(). Fixes
+ bug 4515; bugfix on 0.2.0.1-alpha; fix by Anders Sundman.
+ - When configuring, starting, or stopping an NT service, stop
+ immediately after the service configuration attempt has succeeded
+ or failed. Fixes bug 3963; bugfix on 0.2.0.7-alpha.
+ - When sending a NETINFO cell, include the original address
+ received for the other side, not its canonical address. Found
+ by "troll_un"; fixes bug 4349; bugfix on 0.2.0.10-alpha.
+ - Rename the bench_{aes,dmap} functions to test_*, so that tinytest
+ can pick them up when the tests aren't disabled. Bugfix on
+ 0.2.2.4-alpha which introduced tinytest.
+ - Fix a memory leak when we check whether a hidden service
+ descriptor has any usable introduction points left. Fixes bug
+ 4424. Bugfix on 0.2.2.25-alpha.
+ - Fix a memory leak in launch_direct_bridge_descriptor_fetch() that
+ occurred when a client tried to fetch a descriptor for a bridge
+ in ExcludeNodes. Fixes bug 4383; bugfix on 0.2.2.25-alpha.
+
+ o Minor bugfixes (on 0.2.3.x):
+ - Make util unit tests build correctly with MSVC. Bugfix on
+ 0.2.3.3-alpha. Patch by Gisle Vanem.
+ - Successfully detect AUTH_CHALLENGE cells with no recognized
+ authentication type listed. Fixes bug 4367; bugfix on 0.2.3.6-alpha.
+ Found by frosty_un.
+ - If a relay receives an AUTH_CHALLENGE cell it can't answer,
+ it should still send a NETINFO cell to allow the connection to
+ become open. Fixes bug 4368; fix on 0.2.3.6-alpha; bug found by
+ "frosty".
+ - Log less loudly when we get an invalid authentication certificate
+ from a source other than a directory authority: it's not unusual
+ to see invalid certs because of clock skew. Fixes bug 4370; bugfix
+ on 0.2.3.6-alpha.
+ - Tolerate servers with more clock skew in their authentication
+ certificates than previously. Fixes bug 4371; bugfix on
+ 0.2.3.6-alpha.
+ - Fix a couple of compile warnings on Windows. Fixes bug 4469; bugfix
+ on 0.2.3.4-alpha and 0.2.3.6-alpha.
+
+ o Minor features:
+ - Add two new config options for directory authorities:
+ AuthDirFastGuarantee sets a bandwidth threshold for guaranteeing the
+ Fast flag, and AuthDirGuardBWGuarantee sets a bandwidth threshold
+ that is always sufficient to satisfy the bandwidth requirement for
+ the Guard flag. Now it will be easier for researchers to simulate
+ Tor networks with different values. Resolves ticket 4484.
+ - When Tor ignores a hidden service specified in its configuration,
+ include the hidden service's directory in the warning message.
+ Previously, we would only tell the user that some hidden service
+ was ignored. Bugfix on 0.0.6; fixes bug 4426.
+ - When we fail to initialize Libevent, retry with IOCP disabled so we
+ don't need to turn on multi-threading support in Libevent, which in
+ turn requires a working socketpair(). This is a workaround for bug
+ 4457, which affects Libevent versions from 2.0.1-alpha through
+ 2.0.15-stable.
+ - Detect when we try to build on a platform that doesn't define
+ AF_UNSPEC to 0. We don't work there, so refuse to compile.
+ - Update to the November 1 2011 Maxmind GeoLite Country database.
+
+ o Packaging changes:
+ - Make it easier to automate expert package builds on Windows,
+ by removing an absolute path from makensis.exe command.
+
+ o Code simplifications and refactoring:
+ - Remove some redundant #include directives throughout the code.
+ Patch from Andrea Gelmini.
+ - Unconditionally use OpenSSL's AES implementation instead of our
+ old built-in one. OpenSSL's AES has been better for a while, and
+ relatively few servers should still be on any version of OpenSSL
+ that doesn't have good optimized assembly AES.
+ - Use the name "CERTS" consistently to refer to the new cell type;
+ we were calling it CERT in some places and CERTS in others.
+
+ o Testing:
+ - Numerous new unit tests for functions in util.c and address.c by
+ Anders Sundman.
+ - The long-disabled benchmark tests are now split into their own
+ ./src/test/bench binary.
+ - The benchmark tests can now use more accurate timers than
+ gettimeofday() when such timers are available.
+
+
Changes in version 0.2.3.7-alpha - 2011-10-30
Tor 0.2.3.7-alpha fixes a crash bug in 0.2.3.6-alpha introduced by
the new v3 handshake. It also resolves yet another bridge address
@@ -300,7 +1084,7 @@ Changes in version 0.2.1.31 - 2011-10-26
circuit EXTEND request. Now relays can protect clients from the
CVE-2011-2768 issue even if the clients haven't upgraded yet.
- Bridges now refuse CREATE or CREATE_FAST cells on OR connections
- that they initiated. Relays could distinguish incoming bridge
+ that they initiated. Relays could distinguish incoming bridge
connections from client connections, creating another avenue for
enumerating bridges. Fixes CVE-2011-2769. Bugfix on 0.2.0.3-alpha.
Found by "frosty_un".
@@ -4519,7 +5303,7 @@ Changes in version 0.2.1.9-alpha - 2008-12-25
- When a download gets us zero good descriptors, do not notify
Tor that new directory information has arrived.
- Avoid some nasty corner cases in the logic for marking connections
- as too old or obsolete or noncanonical for circuits. Partial
+ as too old or obsolete or noncanonical for circuits. Partial
bugfix on bug 891.
o Minor features (controller):
@@ -5591,7 +6375,7 @@ Changes in version 0.2.0.22-rc - 2008-03-18
bugs. Bug found by lodger. Bugfix on 0.2.0.16-alpha.
- Fix the implementation of ClientDNSRejectInternalAddresses so that it
actually works, and doesn't warn about every single reverse lookup.
- Fixes the other part of bug 617. Bugfix on 0.2.0.1-alpha.
+ Fixes the other part of bug 617. Bugfix on 0.2.0.1-alpha.
o Minor features:
- Only log guard node status when guard node status has changed.
@@ -5774,7 +6558,7 @@ Changes in version 0.2.0.19-alpha - 2008-02-09
bandwidthburst values.
o Minor features (controller):
- - Reject controller commands over 1MB in length. This keeps rogue
+ - Reject controller commands over 1MB in length. This keeps rogue
processes from running us out of memory.
o Minor features (misc):
@@ -5818,7 +6602,7 @@ Changes in version 0.2.0.19-alpha - 2008-02-09
- Fix shell error when warning about missing packages in configure
script, on Fedora or Red Hat machines. Bugfix on 0.2.0.x.
- Do not become confused when receiving a spurious VERSIONS-like
- cell from a confused v1 client. Bugfix on 0.2.0.x.
+ cell from a confused v1 client. Bugfix on 0.2.0.x.
- Re-fetch v2 (as well as v0) rendezvous descriptors when all
introduction points for a hidden service have failed. Patch from
Karsten Loesing. Bugfix on 0.2.0.x.
@@ -6106,8 +6890,8 @@ Changes in version 0.2.0.14-alpha - 2007-12-23
- Make PublishServerDescriptor default to 1, so the default doesn't
have to change as we invent new directory protocol versions.
- Fix test for rlim_t on OSX 10.3: sys/resource.h doesn't want to
- be included unless sys/time.h is already included. Fixes
- bug 553. Bugfix on 0.2.0.x.
+ be included unless sys/time.h is already included. Fixes
+ bug 553. Bugfix on 0.2.0.x.
- If we receive a general-purpose descriptor and then receive an
identical bridge-purpose descriptor soon after, don't discard
the next one as a duplicate.
@@ -6214,7 +6998,7 @@ Changes in version 0.2.0.13-alpha - 2007-12-21
in really weird results on platforms whose sys/types.h files define
nonstandard integer types. Bugfix on 0.1.2.x.
- Fix compilation with --disable-threads set. Bugfix on 0.2.0.x.
- - Don't crash on name lookup when we have no current consensus. Fixes
+ - Don't crash on name lookup when we have no current consensus. Fixes
bug 538; bugfix on 0.2.0.x.
- Only Tors that want to mirror the v2 directory info should
create the "cached-status" directory in their datadir. (All Tors
@@ -6398,7 +7182,7 @@ Changes in version 0.2.0.10-alpha - 2007-11-10
- Use "If-Modified-Since" to avoid retrieving consensus
networkstatuses that we already have.
- When we have no consensus, check FallbackNetworkstatusFile (defaults
- to $PREFIX/share/tor/fallback-consensus) for a consensus. This way
+ to $PREFIX/share/tor/fallback-consensus) for a consensus. This way
we start knowing some directory caches.
- When we receive a consensus from the future, warn about skew.
- Improve skew reporting: try to give the user a better log message
@@ -6445,15 +7229,15 @@ Changes in version 0.2.0.10-alpha - 2007-11-10
on 0.2.0.1-alpha.
- Stop leaking memory every time we load a v3 certificate. Bugfix
on 0.2.0.1-alpha. Fixes bug 536.
- - Stop leaking a cached networkstatus on exit. Bugfix on
+ - Stop leaking a cached networkstatus on exit. Bugfix on
0.2.0.3-alpha.
- Stop leaking voter information every time we free a consensus.
Bugfix on 0.2.0.3-alpha.
- Stop leaking signed data every time we check a voter signature.
Bugfix on 0.2.0.3-alpha.
- Stop leaking a signature every time we fail to parse a consensus or
- a vote. Bugfix on 0.2.0.3-alpha.
- - Stop leaking v2_download_status_map on shutdown. Bugfix on
+ a vote. Bugfix on 0.2.0.3-alpha.
+ - Stop leaking v2_download_status_map on shutdown. Bugfix on
0.2.0.9-alpha.
- Stop leaking conn->nickname every time we make a connection to a
Tor relay without knowing its expected identity digest (e.g. when
@@ -6584,7 +7368,7 @@ Changes in version 0.2.0.9-alpha - 2007-10-24
- Reattempt certificate downloads immediately on failure, as long as
we haven't failed a threshold number of times yet.
- Delay retrying consensus downloads while we're downloading
- certificates to verify the one we just got. Also, count getting a
+ certificates to verify the one we just got. Also, count getting a
consensus that we already have (or one that isn't valid) as a failure,
and count failing to get the certificates after 20 minutes as a
failure.
@@ -6676,13 +7460,13 @@ Changes in version 0.2.0.9-alpha - 2007-10-24
yet. Bug found by spending four hours without a v3 consensus. Bugfix
on 0.1.2.x.
- Detect the reason for failing to mmap a descriptor file we just
- wrote, and give a more useful log message. Fixes bug 533. Bugfix
+ wrote, and give a more useful log message. Fixes bug 533. Bugfix
on 0.1.2.x.
o Code simplifications and refactoring:
- Remove support for the old bw_accounting file: we've been storing
bandwidth accounting information in the state file since
- 0.1.2.5-alpha. This may result in bandwidth accounting errors
+ 0.1.2.5-alpha. This may result in bandwidth accounting errors
if you try to upgrade from 0.1.1.x or earlier, or if you try to
downgrade to 0.1.1.x or earlier.
- New convenience code to locate a file within the DataDirectory.
@@ -6722,9 +7506,9 @@ Changes in version 0.2.0.8-alpha - 2007-10-12
- When a v3 authority is missing votes or signatures, it now tries
to fetch them.
- Directory authorities track weighted fractional uptime as well as
- weighted mean-time-between failures. WFU is suitable for deciding
+ weighted mean-time-between failures. WFU is suitable for deciding
whether a node is "usually up", while MTBF is suitable for deciding
- whether a node is "likely to stay up." We need both, because
+ whether a node is "likely to stay up." We need both, because
"usually up" is a good requirement for guards, while "likely to
stay up" is a good requirement for long-lived connections.
@@ -7145,7 +7929,7 @@ Changes in version 0.2.0.5-alpha - 2007-08-19
- If we require CookieAuthentication, stop generating a new cookie
every time we change any piece of our config.
- When loading bandwidth history, do not believe any information in
- the future. Fixes bug 434.
+ the future. Fixes bug 434.
- When loading entry guard information, do not believe any information
in the future.
- When we have our clock set far in the future and generate an
@@ -7450,7 +8234,7 @@ Changes in version 0.2.0.1-alpha - 2007-06-01
- Change the way that Tor buffers data that it is waiting to write.
Instead of queueing data cells in an enormous ring buffer for each
client->OR or OR->OR connection, we now queue cells on a separate
- queue for each circuit. This lets us use less slack memory, and
+ queue for each circuit. This lets us use less slack memory, and
will eventually let us be smarter about prioritizing different kinds
of traffic.
- Use memory pools to allocate cells with better speed and memory
@@ -7510,7 +8294,7 @@ Changes in version 0.2.0.1-alpha - 2007-06-01
authorities should set. This will let future authorities choose
not to serve V2 directory information.
- Directory authorities allow multiple router descriptors and/or extra
- info documents to be uploaded in a single go. This will make
+ info documents to be uploaded in a single go. This will make
implementing proposal 104 simpler.
o Minor features (controller):
@@ -7527,15 +8311,15 @@ Changes in version 0.2.0.1-alpha - 2007-06-01
o Minor features (hidden services):
- Allow multiple HiddenServicePort directives with the same virtual
port; when they occur, the user is sent round-robin to one
- of the target ports chosen at random. Partially fixes bug 393 by
+ of the target ports chosen at random. Partially fixes bug 393 by
adding limited ad-hoc round-robining.
o Minor features (other):
- More unit tests.
- Add a new AutomapHostsOnResolve option: when it is enabled, any
resolve request for hosts matching a given pattern causes Tor to
- generate an internal virtual address mapping for that host. This
- allows DNSPort to work sensibly with hidden service users. By
+ generate an internal virtual address mapping for that host. This
+ allows DNSPort to work sensibly with hidden service users. By
default, .exit and .onion addresses are remapped; the list of
patterns can be reconfigured with AutomapHostsSuffixes.
- Add an "-F" option to tor-resolve to force a resolve for a .onion
@@ -7549,7 +8333,7 @@ Changes in version 0.2.0.1-alpha - 2007-06-01
o Removed features:
- Removed support for the old binary "version 0" controller protocol.
This has been deprecated since 0.1.1, and warnings have been issued
- since 0.1.2. When we encounter a v0 control message, we now send
+ since 0.1.2. When we encounter a v0 control message, we now send
back an error and close the connection.
- Remove the old "dns worker" server DNS code: it hasn't been default
since 0.1.2.2-alpha, and all the servers seem to be using the new
@@ -7755,10 +8539,10 @@ Changes in version 0.1.2.9-rc - 2007-03-02
o Minor bugfixes (other):
- Fix an assert that could trigger if a controller quickly set then
- cleared EntryNodes. (Bug found by Udo van den Heuvel.)
+ cleared EntryNodes. Bug found by Udo van den Heuvel.
- On architectures where sizeof(int)>4, still clamp declarable bandwidth
to INT32_MAX.
- - Fix a potential race condition in the rpm installer. Found by
+ - Fix a potential race condition in the rpm installer. Found by
Stefan Nordhausen.
- Try to fix eventdns warnings once and for all: do not treat a dns rcode
of 2 as indicating that the server is completely bad; it sometimes
@@ -7791,8 +8575,8 @@ Changes in version 0.1.2.8-beta - 2007-02-26
o Minor bugfixes (controller):
- Give the controller END_STREAM_REASON_DESTROY events _before_ we
clear the corresponding on_circuit variable, and remember later
- that we don't need to send a redundant CLOSED event. (Resolves part
- 3 of bug 367.)
+ that we don't need to send a redundant CLOSED event. Resolves part
+ 3 of bug 367.
- Report events where a resolve succeeded or where we got a socks
protocol error correctly, rather than calling both of them
"INTERNAL".
@@ -7826,7 +8610,7 @@ Changes in version 0.1.2.8-beta - 2007-02-26
tor_munmap() for systems with no mmap() call.
- When Tor receives a router descriptor that it asked for, but
no longer wants (because it has received fresh networkstatuses
- in the meantime), do not warn the user. Cache the descriptor if
+ in the meantime), do not warn the user. Cache the descriptor if
we're a cache; drop it if we aren't.
- Make earlier entry guards _really_ get retried when the network
comes back online.
@@ -7837,7 +8621,7 @@ Changes in version 0.1.2.8-beta - 2007-02-26
o Minor features (controller):
- Warn the user when an application uses the obsolete binary v0
- control protocol. We're planning to remove support for it during
+ control protocol. We're planning to remove support for it during
the next development series, so it's good to give people some
advance warning.
- Add STREAM_BW events to report per-entry-stream bandwidth
@@ -7857,7 +8641,7 @@ Changes in version 0.1.2.8-beta - 2007-02-26
(This is showing up in some profiles, but not others.)
o Minor features:
- - Remove some never-implemented options. Mark PathlenCoinWeight as
+ - Remove some never-implemented options. Mark PathlenCoinWeight as
obsolete.
- Implement proposal 106: Stop requiring clients to have well-formed
certificates; stop checking nicknames in certificates. (Clients
@@ -7898,10 +8682,10 @@ Changes in version 0.1.2.7-alpha - 2007-02-06
o Major bugfixes (NT services):
- Install as NT_AUTHORITY\LocalService rather than as SYSTEM; add a
command-line flag so that admins can override the default by saying
- "tor --service install --user "SomeUser"". This will not affect
- existing installed services. Also, warn the user that the service
+ "tor --service install --user "SomeUser"". This will not affect
+ existing installed services. Also, warn the user that the service
will look for its configuration file in the service user's
- %appdata% directory. (We can't do the 'hardwire the user's appdata
+ %appdata% directory. (We can't do the 'hardwire the user's appdata
directory' trick any more, since we may not have read access to that
directory.)
@@ -7948,7 +8732,7 @@ Changes in version 0.1.2.7-alpha - 2007-02-06
"DNS resolve socks failed" handshake reply; just close it.
- Stop using C functions that OpenBSD's linker doesn't like.
- Don't launch requests for descriptors unless we have networkstatuses
- from at least half of the authorities. This delays the first
+ from at least half of the authorities. This delays the first
download slightly under pathological circumstances, but can prevent
us from downloading a bunch of descriptors we don't need.
- Do not log IPs with TLS failures for incoming TLS
@@ -8326,7 +9110,7 @@ Changes in version 0.1.2.3-alpha - 2006-10-29
o Minor features, controller:
- Add a REASON field to CIRC events; for backward compatibility, this
field is sent only to controllers that have enabled the extended
- event format. Also, add additional reason codes to explain why
+ event format. Also, add additional reason codes to explain why
a given circuit has been destroyed or truncated. (Patches from
Mike Perry)
- Add a REMOTE_REASON field to extended CIRC events to tell the
@@ -8355,14 +9139,14 @@ Changes in version 0.1.2.3-alpha - 2006-10-29
- When the controller does a "GETINFO network-status", tell it
about even those routers whose descriptors are very old, and use
long nicknames where appropriate.
- - Change NT service functions to be loaded on demand. This lets us
+ - Change NT service functions to be loaded on demand. This lets us
build with MinGW without breaking Tor for Windows 98 users.
- Do DirPort reachability tests less often, since a single test
chews through many circuits before giving up.
- In the hidden service example in torrc.sample, stop recommending
esoteric and discouraged hidden service options.
- When stopping an NT service, wait up to 10 sec for it to actually
- stop. (Patch from Matt Edman; resolves bug 295.)
+ stop. Patch from Matt Edman; resolves bug 295.
- Fix handling of verbose nicknames with ORCONN controller events:
make them show up exactly when requested, rather than exactly when
not requested.
@@ -9018,7 +9802,7 @@ Changes in version 0.1.1.15-rc - 2006-03-11
- Add a new circuit purpose 'controller' to let the controller ask
for a circuit that Tor won't try to use. Extend the EXTENDCIRCUIT
controller command to let you specify the purpose if you're
- starting a new circuit. Add a new SETCIRCUITPURPOSE controller
+ starting a new circuit. Add a new SETCIRCUITPURPOSE controller
command to let you change a circuit's purpose after it's been
created.
- Accept "private:*" in routerdesc exit policies; not generated yet
@@ -9062,7 +9846,7 @@ Changes in version 0.1.1.14-alpha - 2006-02-20
be forward-compatible.
- Generate 18.0.0.0/8 address policy format in descs when we can;
warn when the mask is not reducible to a bit-prefix.
- - Let the user set ControlListenAddress in the torrc. This can be
+ - Let the user set ControlListenAddress in the torrc. This can be
dangerous, but there are some cases (like a secured LAN) where it
makes sense.
- Split ReachableAddresses into ReachableDirAddresses and
@@ -9521,7 +10305,7 @@ Changes in version 0.1.1.9-alpha - 2005-11-15
- Start making directory caches retain old routerinfos, so soon
clients can start asking by digest of descriptor rather than by
fingerprint of server.
- - Add half our entropy from RAND_poll in OpenSSL. This knows how
+ - Add half our entropy from RAND_poll in OpenSSL. This knows how
to use egd (if present), openbsd weirdness (if present), vms/os2
weirdness (if we ever port there), and more in the future.
@@ -10367,7 +11151,7 @@ Changes in version 0.1.0.1-rc - 2005-03-28
o Robustness/stability fixes:
- Make Tor use Niels Provos's libevent instead of its current
- poll-but-sometimes-select mess. This will let us use faster async
+ poll-but-sometimes-select mess. This will let us use faster async
cores (like epoll, kpoll, and /dev/poll), and hopefully work better
on Windows too.
- pthread support now too. This was forced because when we forked,
@@ -10485,7 +11269,7 @@ Changes in version 0.1.0.1-rc - 2005-03-28
Changes in version 0.0.9.6 - 2005-03-24
o Bugfixes on 0.0.9.x (crashes and asserts):
- Add new end stream reasons to maintainance branch. Fix bug where
- reason (8) could trigger an assert. Prevent bug from recurring.
+ reason (8) could trigger an assert. Prevent bug from recurring.
- Apparently win32 stat wants paths to not end with a slash.
- Fix assert triggers in assert_cpath_layer_ok(), where we were
blowing away the circuit that conn->cpath_layer points to, then
@@ -10708,7 +11492,7 @@ Changes in version 0.0.9rc5 - 2004-12-01
but doesn't seem to be currently; thanks to Ilja van Sprundel for
finding it.
- If anybody set DirFetchPostPeriod, give them StatusFetchPeriod
- instead. Impose minima and maxima for all *Period options; impose
+ instead. Impose minima and maxima for all *Period options; impose
even tighter maxima for fetching if we are a caching dirserver.
Clip rather than rejecting.
- Fetch cached running-routers from servers that serve it (that is,
@@ -11689,7 +12473,7 @@ Changes in version 0.0.2pre20 - 2004-01-30
- I've split the TotalBandwidth option into BandwidthRate (how many
bytes per second you want to allow, long-term) and
BandwidthBurst (how many bytes you will allow at once before the cap
- kicks in). This better token bucket approach lets you, say, set
+ kicks in). This better token bucket approach lets you, say, set
BandwidthRate to 10KB/s and BandwidthBurst to 10MB, allowing good
performance while not exceeding your monthly bandwidth quota.
- Push out a tls record's worth of data once you've got it, rather
diff --git a/Makefile.am b/Makefile.am
index cd0d8833c..b8d18d4c0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -70,3 +70,10 @@ check-logs:
./contrib/checkLogs.pl \
src/*/*.[ch] | sort -n
+version:
+ @echo "Tor @VERSION@"
+ @if test -d "$(top_srcdir)/.git" && test -x "`which git 2>&1;true`"; then \
+ echo -n "git: " ;\
+ (cd "$(top_srcdir)" && git rev-parse --short=16 HEAD); \
+ fi
+
diff --git a/ReleaseNotes b/ReleaseNotes
index cbc8f0ef3..5e24d7792 100644
--- a/ReleaseNotes
+++ b/ReleaseNotes
@@ -3,6 +3,126 @@ This document summarizes new features and bugfixes in each stable release
of Tor. If you want to see more detailed descriptions of the changes in
each development snapshot, see the ChangeLog file.
+Changes in version 0.2.2.35 - 2011-12-16
+ Tor 0.2.2.35 fixes a critical heap-overflow security issue in Tor's
+ buffers code. Absolutely everybody should upgrade.
+
+ The bug relied on an incorrect calculation when making data continuous
+ in one of our IO buffers, if the first chunk of the buffer was
+ misaligned by just the wrong amount. The miscalculation would allow an
+ attacker to overflow a piece of heap-allocated memory. To mount this
+ attack, the attacker would need to either open a SOCKS connection to
+ Tor's SocksPort (usually restricted to localhost), or target a Tor
+ instance configured to make its connections through a SOCKS proxy
+ (which Tor does not do by default).
+
+ Good security practice requires that all heap-overflow bugs should be
+ presumed to be exploitable until proven otherwise, so we are treating
+ this as a potential code execution attack. Please upgrade immediately!
+ This bug does not affect bufferevents-based builds of Tor. Special
+ thanks to "Vektor" for reporting this issue to us!
+
+ Tor 0.2.2.35 also fixes several bugs in previous versions, including
+ crash bugs for unusual configurations, and a long-term bug that
+ would prevent Tor from starting on Windows machines with draconian
+ AV software.
+
+ With this release, we remind everyone that 0.2.0.x has reached its
+ formal end-of-life. Those Tor versions have many known flaws, and
+ nobody should be using them. You should upgrade -- ideally to the
+ 0.2.2.x series. If you're using a Linux or BSD and its packages are
+ obsolete, stop using those packages and upgrade anyway.
+
+ The Tor 0.2.1.x series is also approaching its end-of-life: it will no
+ longer receive support after some time in early 2012.
+
+ o Major bugfixes:
+ - Fix a heap overflow bug that could occur when trying to pull
+ data into the first chunk of a buffer, when that chunk had
+ already had some data drained from it. Fixes CVE-2011-2778;
+ bugfix on 0.2.0.16-alpha. Reported by "Vektor".
+ - Initialize Libevent with the EVENT_BASE_FLAG_NOLOCK flag enabled, so
+ that it doesn't attempt to allocate a socketpair. This could cause
+ some problems on Windows systems with overzealous firewalls. Fix for
+ bug 4457; workaround for Libevent versions 2.0.1-alpha through
+ 2.0.15-stable.
+ - If we mark an OR connection for close based on a cell we process,
+ don't process any further cells on it. We already avoid further
+ reads on marked-for-close connections, but now we also discard the
+ cells we'd already read. Fixes bug 4299; bugfix on 0.2.0.10-alpha,
+ which was the first version where we might mark a connection for
+ close based on processing a cell on it.
+ - Correctly sanity-check that we don't underflow on a memory
+ allocation (and then assert) for hidden service introduction
+ point decryption. Bug discovered by Dan Rosenberg. Fixes bug 4410;
+ bugfix on 0.2.1.5-alpha.
+ - Fix a memory leak when we check whether a hidden service
+ descriptor has any usable introduction points left. Fixes bug
+ 4424. Bugfix on 0.2.2.25-alpha.
+ - Don't crash when we're running as a relay and don't have a GeoIP
+ file. Bugfix on 0.2.2.34; fixes bug 4340. This backports a fix
+ we've had in the 0.2.3.x branch already.
+ - When running as a client, do not print a misleading (and plain
+ wrong) log message that we're collecting "directory request"
+ statistics: clients don't collect statistics. Also don't create a
+ useless (because empty) stats file in the stats/ directory. Fixes
+ bug 4353; bugfix on 0.2.2.34.
+
+ o Minor bugfixes:
+ - Detect failure to initialize Libevent. This fix provides better
+ detection for future instances of bug 4457.
+ - Avoid frequent calls to the fairly expensive cull_wedged_cpuworkers
+ function. This was eating up hideously large amounts of time on some
+ busy servers. Fixes bug 4518; bugfix on 0.0.9.8.
+ - Resolve an integer overflow bug in smartlist_ensure_capacity().
+ Fixes bug 4230; bugfix on Tor 0.1.0.1-rc. Based on a patch by
+ Mansour Moufid.
+ - Don't warn about unused log_mutex in log.c when building with
+ --disable-threads using a recent GCC. Fixes bug 4437; bugfix on
+ 0.1.0.6-rc which introduced --disable-threads.
+ - When configuring, starting, or stopping an NT service, stop
+ immediately after the service configuration attempt has succeeded
+ or failed. Fixes bug 3963; bugfix on 0.2.0.7-alpha.
+ - When sending a NETINFO cell, include the original address
+ received for the other side, not its canonical address. Found
+ by "troll_un"; fixes bug 4349; bugfix on 0.2.0.10-alpha.
+ - Fix a typo in a hibernation-related log message. Fixes bug 4331;
+ bugfix on 0.2.2.23-alpha; found by "tmpname0901".
+ - Fix a memory leak in launch_direct_bridge_descriptor_fetch() that
+ occurred when a client tried to fetch a descriptor for a bridge
+ in ExcludeNodes. Fixes bug 4383; bugfix on 0.2.2.25-alpha.
+ - Backport fixes for a pair of compilation warnings on Windows.
+ Fixes bug 4521; bugfix on 0.2.2.28-beta and on 0.2.2.29-beta.
+ - If we had ever tried to call tor_addr_to_str on an address of
+ unknown type, we would have done a strdup on an uninitialized
+ buffer. Now we won't. Fixes bug 4529; bugfix on 0.2.1.3-alpha.
+ Reported by "troll_un".
+ - Correctly detect and handle transient lookup failures from
+ tor_addr_lookup. Fixes bug 4530; bugfix on 0.2.1.5-alpha.
+ Reported by "troll_un".
+ - Fix null-pointer access that could occur if TLS allocation failed.
+ Fixes bug 4531; bugfix on 0.2.0.20-rc. Found by "troll_un".
+ - Use tor_socket_t type for listener argument to accept(). Fixes bug
+ 4535; bugfix on 0.2.2.28-beta. Found by "troll_un".
+
+ o Minor features:
+ - Add two new config options for directory authorities:
+ AuthDirFastGuarantee sets a bandwidth threshold for guaranteeing the
+ Fast flag, and AuthDirGuardBWGuarantee sets a bandwidth threshold
+ that is always sufficient to satisfy the bandwidth requirement for
+ the Guard flag. Now it will be easier for researchers to simulate
+ Tor networks with different values. Resolves ticket 4484.
+ - When Tor ignores a hidden service specified in its configuration,
+ include the hidden service's directory in the warning message.
+ Previously, we would only tell the user that some hidden service
+ was ignored. Bugfix on 0.0.6; fixes bug 4426.
+ - Update to the December 6 2011 Maxmind GeoLite Country database.
+
+ o Packaging changes:
+ - Make it easier to automate expert package builds on Windows,
+ by removing an absolute path from makensis.exe command.
+
+
Changes in version 0.2.2.34 - 2011-10-26
Tor 0.2.2.34 fixes a critical anonymity vulnerability where an attacker
can deanonymize Tor users. Everybody should upgrade.
diff --git a/changes/bridgeauth_crash b/changes/bridgeauth_crash
deleted file mode 100644
index 74b9d03d1..000000000
--- a/changes/bridgeauth_crash
+++ /dev/null
@@ -1,4 +0,0 @@
- o Major bugfixes:
- - Don't crash when we, as the bridge authority, are asked for our own
- descriptor. Bugfix on 0.2.3.7-alpha, reported by Lucky.
-
diff --git a/changes/bug4366 b/changes/bug4366
deleted file mode 100644
index c31646f98..000000000
--- a/changes/bug4366
+++ /dev/null
@@ -1,4 +0,0 @@
- o Code simplifications and refactoring:
- - Remove some redundant #include directives throughout the code.
- Patch from Andrea Gelmini.
-
diff --git a/changes/bug4725 b/changes/bug4725
new file mode 100644
index 000000000..1c8abb5d2
--- /dev/null
+++ b/changes/bug4725
@@ -0,0 +1,4 @@
+ o Major bugfixes:
+ - Fix a bug where server managed proxies were unreachable from the
+ Internet, because tor asked them to bind on localhost. Fixes bug
+ 4725; bugfix on 0.2.3.9-alpha.
diff --git a/changes/bug4760 b/changes/bug4760
new file mode 100644
index 000000000..ea8d16edb
--- /dev/null
+++ b/changes/bug4760
@@ -0,0 +1,4 @@
+ o Minor bugfixes:
+ - When binding to an IPv6 address, set the IPV6_V6ONLY socket
+ option, so that the IP stack doesn't decide to use it for IPv4
+ too. Fixes bug 4760; bugfix on 0.2.3.9-alpha.
diff --git a/changes/bug4838 b/changes/bug4838
new file mode 100644
index 000000000..8c92bdb33
--- /dev/null
+++ b/changes/bug4838
@@ -0,0 +1,5 @@
+ o Minor bufixes:
+ - Directory caches no longer refuse to clean out descriptors when
+ because of missing v2 networkstatus documents, unless they're
+ actually trying to retrieve v2 networkstatus documents. Bugfix
+ on 0.2.2.26-beta; fixes bug 4838. Patch by Daniel Bryg.
diff --git a/changes/bug4955 b/changes/bug4955
new file mode 100644
index 000000000..60896ae11
--- /dev/null
+++ b/changes/bug4955
@@ -0,0 +1,5 @@
+ o Major bugfixes:
+ - Fix the build when built with nat-pmp support. Fixes bug 4955;
+ bugfix on 0.2.3.11-alpha. Reported by Anthony G. Basile
+ <blueness@gentoo.org>, thanks!
+
diff --git a/changes/bug5105 b/changes/bug5105
new file mode 100644
index 000000000..6a923d9fd
--- /dev/null
+++ b/changes/bug5105
@@ -0,0 +1,11 @@
+ o Minor bugfixes:
+
+ - Ensure that variables set in Tor's environment cannot override
+ environment variables which Tor tries to pass to a managed
+ pluggable-transport proxy. Previously, Tor would pass every
+ variable in its environment to managed proxies along with the
+ new ones, in such a way that on many operating systems, the
+ inherited environment variables would override those which Tor
+ tried to explicitly set. Bugfix on 0.2.3.12-alpha for most
+ Unixoid systems; bugfix on 0.2.3.9-alpha for Windows.
+
diff --git a/changes/bug5231 b/changes/bug5231
new file mode 100644
index 000000000..f64f7b641
--- /dev/null
+++ b/changes/bug5231
@@ -0,0 +1,5 @@
+ o Minor bugfixes:
+ - Ensure we don't cannibalize circuits that are longer than three hops
+ already, so we don't end up making circuits with 5 or more hops. Patch
+ contributed by wanoskarnet. Fixes bug 5231; bugfix on 0.1.0.1-rc which
+ introduced cannibalization.
diff --git a/changes/bug5340 b/changes/bug5340
new file mode 100644
index 000000000..708988af0
--- /dev/null
+++ b/changes/bug5340
@@ -0,0 +1,3 @@
+ o Minor bugfixes:
+ - Fix a compile warning when using the --enable-openbsd-malloc configure
+ option. Fixes bug 5340; bugfix on 0.2.0.20-rc.
diff --git a/changes/geoip-march2012 b/changes/geoip-march2012
new file mode 100644
index 000000000..0f66d8fae
--- /dev/null
+++ b/changes/geoip-march2012
@@ -0,0 +1,3 @@
+ o Minor features:
+ - Update to the March 6 2012 Maxmind GeoLite Country database.
+
diff --git a/changes/maatuska-ip b/changes/maatuska-ip
new file mode 100644
index 000000000..a00b43f86
--- /dev/null
+++ b/changes/maatuska-ip
@@ -0,0 +1,3 @@
+ o Directory authority changes:
+ - Change IP address for maatuska (v3 directory authority).
+
diff --git a/changes/tinytest_update b/changes/tinytest_update
new file mode 100644
index 000000000..7f76796a7
--- /dev/null
+++ b/changes/tinytest_update
@@ -0,0 +1,5 @@
+ o Minor bugfixes:
+ - Update to the latest version of the tinytest unit testing framework.
+ This includes a couple of bugfixes that can be relevant for running
+ forked unit tests on Windows, and a removal of all reserved
+ identifiers.
diff --git a/changes/win-bundle-path b/changes/win-bundle-path
deleted file mode 100644
index 32ff514ef..000000000
--- a/changes/win-bundle-path
+++ /dev/null
@@ -1,4 +0,0 @@
- o Packaging changes:
- - Remove absolute path from makensis.exe command to build Tor expert bundle
- in order to make it easier to automate package builds
-
diff --git a/configure.in b/configure.in
index 17f5c8d5e..7415ce831 100644
--- a/configure.in
+++ b/configure.in
@@ -4,7 +4,7 @@ dnl Copyright (c) 2007-2008, The Tor Project, Inc.
dnl See LICENSE for licensing information
AC_INIT
-AM_INIT_AUTOMAKE(tor, 0.2.3.7-alpha)
+AM_INIT_AUTOMAKE(tor, 0.2.3.12-alpha-dev)
AM_CONFIG_HEADER(orconfig.h)
AC_CANONICAL_HOST
@@ -145,6 +145,13 @@ if test "$enable_local_appdata" = "yes"; then
[Defined if we default to host local appdata paths on Windows])
fi
+# Tor2web mode flag
+AC_ARG_ENABLE(tor2web-mode,
+ AS_HELP_STRING(--enable-tor2web-mode, support tor2web non-anonymous mode),
+[if test x$enableval = xyes; then
+ CFLAGS="$CFLAGS -D ENABLE_TOR2WEB_MODE=1"
+fi])
+
AC_ARG_ENABLE(bufferevents,
AS_HELP_STRING(--enable-bufferevents, use Libevent's buffered IO.))
@@ -217,12 +224,12 @@ AC_ARG_WITH(tor-group,
AC_SUBST(TORGROUP)
-dnl If WIN32 is defined and non-zero, we are building for win32
+dnl If _WIN32 is defined and non-zero, we are building for win32
AC_MSG_CHECKING([for win32])
AC_RUN_IFELSE([AC_LANG_SOURCE([
int main(int c, char **v) {
-#ifdef WIN32
-#if WIN32
+#ifdef _WIN32
+#if _WIN32
return 0;
#else
return 1;
@@ -239,7 +246,7 @@ bwin32=cross; AC_MSG_RESULT([cross])
if test "$bwin32" = cross; then
AC_MSG_CHECKING([for win32 (cross)])
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
-#ifdef WIN32
+#ifdef _WIN32
int main(int c, char **v) {return 0;}
#else
#error
@@ -250,9 +257,6 @@ bwin32=true; AC_MSG_RESULT([yes]),
bwin32=false; AC_MSG_RESULT([no]))
fi
-if test "$bwin32" = true; then
-AC_DEFINE(MS_WINDOWS, 1, [Define to 1 if we are building for Windows.])
-fi
AM_CONDITIONAL(BUILD_NT_SERVICES, test x$bwin32 = xtrue)
dnl Enable C99 when compiling with MIPSpro
@@ -272,10 +276,11 @@ fi
AC_C_BIGENDIAN
-AC_SEARCH_LIBS(socket, [socket])
+AC_SEARCH_LIBS(socket, [socket network])
AC_SEARCH_LIBS(gethostbyname, [nsl])
AC_SEARCH_LIBS(dlopen, [dl])
AC_SEARCH_LIBS(inet_aton, [resolv])
+AC_SEARCH_LIBS([clock_gettime], [rt], [have_rt=yes])
if test "$enable_threads" = "yes"; then
AC_SEARCH_LIBS(pthread_create, [pthread])
@@ -287,19 +292,23 @@ dnl Check for functions before libevent, since libevent-1.2 apparently
dnl exports strlcpy without defining it in a header.
AC_CHECK_FUNCS(
- accept4 \
+ _NSGetEnviron \
+ accept4 \
+ clock_gettime \
flock \
ftime \
getaddrinfo \
+ getifaddrs \
getrlimit \
gettimeofday \
gmtime_r \
inet_aton \
+ ioctl \
localtime_r \
- lround \
+ lround \
memmem \
prctl \
- rint \
+ rint \
socketpair \
strlcat \
strlcpy \
@@ -363,28 +372,25 @@ dnl On Gnu/Linux or any place we require it, we'll add librt to the Libevent
dnl linking for static builds.
STATIC_LIBEVENT_FLAGS=""
if test "$enable_static_libevent" = "yes"; then
- dnl Determine if we have clock_gettime in librt
- AC_SEARCH_LIBS([clock_gettime], [rt],
- [have_rt=yes])
if test "$have_rt" = yes; then
STATIC_LIBEVENT_FLAGS=" -lrt "
fi
fi
TOR_SEARCH_LIBRARY(libevent, $trylibeventdir, [-levent $STATIC_LIBEVENT_FLAGS $TOR_LIB_WS32], [
-#ifdef WIN32
+#ifdef _WIN32
#include <winsock2.h>
#endif
#include <stdlib.h>
#include <sys/time.h>
#include <sys/types.h>
#include <event.h>], [
-#ifdef WIN32
+#ifdef _WIN32
#include <winsock2.h>
#endif
void exit(int); void *event_init(void);],
[
-#ifdef WIN32
+#ifdef _WIN32
{WSADATA d; WSAStartup(0x101,&d); }
#endif
event_init(); exit(0);
@@ -477,6 +483,20 @@ fi
AC_SUBST(TOR_LIBEVENT_LIBS)
dnl ------------------------------------------------------
+dnl Where do you live, libm?
+
+dnl On some platforms (Haiku/BeOS) the math library is
+dnl part of libroot. In which case don't link against lm
+TOR_LIB_MATH=""
+save_LIBS="$LIBS"
+AC_SEARCH_LIBS(pow, [m], , AC_MSG_ERROR([Could not find pow in libm or libc.]))
+if test "$ac_cv_search_pow" != "none required"; then
+ TOR_LIB_MATH="$ac_cv_search_pow"
+fi
+LIBS="$save_LIBS"
+AC_SUBST(TOR_LIB_MATH)
+
+dnl ------------------------------------------------------
dnl Where do you live, openssl? And how do we call you?
tor_openssl_pkg_redhat="openssl"
@@ -549,9 +569,12 @@ dnl There are no packages for Debian or Redhat as of this patch
if test "$natpmp" = "true"; then
AC_DEFINE(NAT_PMP, 1, [Define to 1 if we are building with nat-pmp.])
- TOR_SEARCH_LIBRARY(libnatpmp, $trylibnatpmpdir, [-lnatpmp],
- [#include <natpmp.h>],
+ TOR_SEARCH_LIBRARY(libnatpmp, $trylibnatpmpdir, [-lnatpmp $TOR_LIB_WS32 $TOR_LIB_IPHLPAPI],
[#include <natpmp.h>],
+ [#ifdef _WIN32
+ #define STATICLIB
+ #endif
+ #include <natpmp.h>],
[ int r;
natpmp_t natpmp;
natpmpresp_t response;
@@ -600,7 +623,9 @@ dnl These headers are not essential
AC_CHECK_HEADERS(
arpa/inet.h \
+ crt_externs.h \
grp.h \
+ ifaddrs.h \
inttypes.h \
limits.h \
linux/types.h \
@@ -746,7 +771,7 @@ AC_CHECK_TYPES([struct in6_addr, struct sockaddr_in6, sa_family_t], , ,
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#define WIN32_WINNT 0x400
#define _WIN32_WINNT 0x400
#define WIN32_LEAN_AND_MEAN
@@ -771,7 +796,7 @@ AC_CHECK_MEMBERS([struct in6_addr.s6_addr32, struct in6_addr.s6_addr16, struct s
#ifdef HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#define WIN32_WINNT 0x400
#define _WIN32_WINNT 0x400
#define WIN32_LEAN_AND_MEAN
@@ -1061,6 +1086,17 @@ int main(int c, char **v) { puts(__FUNCTION__); }])],
tor_cv_have_FUNCTION_macro=yes,
tor_cv_have_FUNCTION_macro=no))
+AC_CACHE_CHECK([whether we have extern char **environ already declared],
+ tor_cv_have_environ_declared,
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([
+/* We define _GNU_SOURCE here because it is also defined in compat.c.
+ * Without it environ doesn't get declared. */
+#define _GNU_SOURCE
+#include <unistd.h>
+int main(int c, char **v) { char **t = environ; }])],
+ tor_cv_have_environ_declared=yes,
+ tor_cv_have_environ_declared=no))
+
if test "$tor_cv_have_func_macro" = 'yes'; then
AC_DEFINE(HAVE_MACRO__func__, 1, [Defined if the compiler supports __func__])
fi
@@ -1074,6 +1110,11 @@ if test "$tor_cv_have_FUNCTION_macro" = 'yes'; then
[Defined if the compiler supports __FUNCTION__])
fi
+if test "$tor_cv_have_environ_declared" = 'yes'; then
+ AC_DEFINE(HAVE_EXTERN_ENVIRON_DECLARED__, 1,
+ [Defined if we have extern char **environ already declared])
+fi
+
# $prefix stores the value of the --prefix command line option, or
# NONE if the option wasn't set. In the case that it wasn't set, make
# it be the default, so that we can use it to expand directories now.
@@ -1134,12 +1175,13 @@ else
fi
# OS X Lion started deprecating the system openssl. Let's just disable
-# all deprecation warnings on OS X.
+# all deprecation warnings on OS X. Also, to potentially make the binary
+# a little smaller, let's enable dead_strip.
case "$host_os" in
darwin*)
CFLAGS="$CFLAGS -Wno-deprecated-declarations"
- ;;
+ LDFLAGS="$LDFLAGS -dead_strip" ;;
esac
# Add some more warnings which we use in development but not in the
@@ -1161,10 +1203,10 @@ if test x$enable_gcc_warnings = xyes || test x$enable_gcc_warnings_advisory = xy
#error
#endif])], have_gcc43=yes, have_gcc43=no)
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
-#if !defined(__clang__) || (__clang_major__ > 2) || (__clang_major__ == 2 && __clang_minor__ > 9)
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
+#if !defined(__clang__)
#error
-#endif])], have_clang29orlower=yes, have_clang29orlower=no)
+#endif])], have_clang=yes, have_clang=no)
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wshorten-64-to-32"
@@ -1206,10 +1248,8 @@ if test x$enable_gcc_warnings = xyes || test x$enable_gcc_warnings_advisory = xy
# We used to use -Wstrict-overflow=5, but that breaks us heavily under 4.3.
fi
- if test x$have_gcc42 = xyes && test x$have_clang29orlower = xno; then
+ if test x$have_gcc42 = xyes && test x$have_clang = xno; then
# These warnings break gcc 4.0.2 and clang, but work on gcc 4.2
- # We only disable these for clang 2.9 and lower, in case they are
- # supported in later versions.
CFLAGS="$CFLAGS -Wnormalized=id -Woverride-init"
fi
diff --git a/contrib/checkSpace.pl b/contrib/checkSpace.pl
index 6eb32e562..a18df99b1 100755
--- a/contrib/checkSpace.pl
+++ b/contrib/checkSpace.pl
@@ -97,7 +97,7 @@ for $fn (@ARGV) {
if ($1 ne "if" and $1 ne "while" and $1 ne "for" and
$1 ne "switch" and $1 ne "return" and $1 ne "int" and
$1 ne "elsif" and $1 ne "WINAPI" and $2 ne "WINAPI" and
- $1 ne "void" and $1 ne "__attribute__") {
+ $1 ne "void" and $1 ne "__attribute__" and $1 ne "op") {
print " fn ():$fn:$.\n";
}
}
diff --git a/contrib/exitlist b/contrib/exitlist
index ba682b5c0..3fd26b516 100755
--- a/contrib/exitlist
+++ b/contrib/exitlist
@@ -8,23 +8,25 @@
exitlist -- Given a Tor directory on stdin, lists the Tor servers
that accept connections to given addreses.
- example usage (Tor 0.2.0.7-alpha and earlier):
-
- cat ~/.tor/cached-routers* | python exitlist 18.244.0.188:80
-
- example usage (Tor 0.2.0.8-alpha and later):
+ example usage:
cat ~/.tor/cached-descriptors* | python exitlist 18.244.0.188:80
- You should look at the "FetchUselessDescriptors" config option in the
- man page. For 0.2.0.13-alpha and later, also look at the
- "FetchDirInfoEarly" config option.
+ You should look at the "FetchUselessDescriptors" and "FetchDirInfoEarly"
+ config options in the man page.
Note that this script won't give you a perfect list of IP addresses
- that might connect to you using Tor, since some Tor servers might exit
- from other addresses than the one they publish. See
- https://check.torproject.org/ for an alternative (more
- accurate!) approach.
+ that might connect to you using Tor.
+ False negatives:
+ - Some Tor servers might exit from other addresses than the one they
+ publish in their descriptor.
+ False positives:
+ - This script just looks at the descriptor lists, so it counts relays
+ that were running a day in the past and aren't running now (or are
+ now running at a different address).
+
+ See https://check.torproject.org/ for an alternative (more accurate!)
+ approach.
"""
diff --git a/contrib/tor-mingw.nsi.in b/contrib/tor-mingw.nsi.in
index eadae39ee..73e79f0dd 100644
--- a/contrib/tor-mingw.nsi.in
+++ b/contrib/tor-mingw.nsi.in
@@ -8,7 +8,7 @@
!include "LogicLib.nsh"
!include "FileFunc.nsh"
!insertmacro GetParameters
-!define VERSION "0.2.3.7-alpha"
+!define VERSION "0.2.3.12-alpha-dev"
!define INSTALLER "tor-${VERSION}-win32.exe"
!define WEBSITE "https://www.torproject.org/"
!define LICENSE "LICENSE"
diff --git a/doc/HACKING b/doc/HACKING
index b0689d82c..bc409dc0d 100644
--- a/doc/HACKING
+++ b/doc/HACKING
@@ -473,7 +473,7 @@ git branches too.
a while to see if anybody has problems building it. Try to get Sebastian
or somebody to try building it on Windows.
-6) Get at least two of weasel/arma/karsten to put the new version number
+6) Get at least two of weasel/arma/sebastian to put the new version number
in their approved versions list.
7) Sign the tarball, then sign and push the git tag:
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index 89dd7dc63..fff9e877c 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -110,6 +110,23 @@ Other options can be specified either on the command-line (--option
You should never need to change this value, since a network-wide value is
published in the consensus and your relay will use that value. (Default: 0)
+**ClientTransportPlugin** __transport__ socks4|socks5 __IP__:__PORT__::
+**ClientTransportPlugin** __transport__ exec __path-to-binary__ [options]::
+ In its first form, when set along with a corresponding Bridge line, the Tor
+ client forwards its traffic to a SOCKS-speaking proxy on "IP:PORT". It's the
+ duty of that proxy to properly forward the traffic to the bridge. +
+ +
+ In its second form, when set along with a corresponding Bridge line, the Tor
+ client launches the pluggable transport proxy exacutable in
+ __path-to-binary__ using __options__ as its command-line options, and
+ forwards its traffic to it. It's the duty of that proxy to properly forward
+ the traffic to the bridge.
+
+**ServerTransportPlugin** __transport__ exec __path-to-binary__ [options]::
+ The Tor relay launches the pluggable transport proxy in __path-to-binary__
+ using __options__ as its command-line options, and expects to receive
+ proxied client traffic from it.
+
**ConnLimit** __NUM__::
The minimum number of file descriptors that must be available to the Tor
process before it will start. Tor will ask the OS for as many file
@@ -119,6 +136,12 @@ Other options can be specified either on the command-line (--option
You probably don't need to adjust this. It has no effect on Windows
since that platform lacks getrlimit(). (Default: 1000)
+**DisableNetwork** **0**|**1**::
+ When this option is set, we don't listen for or accept any connections
+ other than controller connections, and we don't make any outbound
+ connections. Controllers sometimes use this option to avoid using
+ the network until Tor is fully configured. (Default: 0)
+
**ConstrainedSockets** **0**|**1**::
If set, Tor will tell the kernel to attempt to shrink the buffers for all
sockets to the size specified in **ConstrainedSockSize**. This is useful for
@@ -233,6 +256,12 @@ Other options can be specified either on the command-line (--option
distinguishable from other users, because you won't believe the same
authorities they do.
+**DynamicDHGroups** **0**|**1**::
+ If this option is set to 1, when running as a server, generate our
+ own Diffie-Hellman group instead of using the one from Apache's mod_ssl.
+ This option may help circumvent censorship based on static
+ Diffie-Hellman parameters. (Default: 1).
+
**AlternateDirAuthority** [__nickname__] [**flags**] __address__:__port__ __fingerprint__ +
**AlternateHSAuthority** [__nickname__] [**flags**] __address__:__port__ __fingerprint__ +
@@ -252,6 +281,20 @@ Other options can be specified either on the command-line (--option
option requires that you start your Tor as root, and you should use the
**User** option to properly reduce Tor's privileges. (Default: 0)
+**DisableDebuggerAttachment** **0**|**1**::
+ If set to 1, Tor will attempt to prevent basic debugging attachment attempts
+ by other processes. It has no impact for users who wish to attach if they
+ have CAP_SYS_PTRACE or if they are root. We believe that this feature
+ works on modern Gnu/Linux distributions, and that it may also work on *BSD
+ systems (untested). Some modern Gnu/Linux systems such as Ubuntu have the
+ kernel.yama.ptrace_scope sysctl and by default enable it as an attempt to
+ limit the PTRACE scope for all user processes by default. This feature will
+ attempt to limit the PTRACE scope for Tor specifically - it will not attempt
+ to alter the system wide ptrace scope as it may not even exist. If you wish
+ to attach to Tor with a debugger such as gdb or strace you will want to set
+ this to 0 for the duration of your debugging. Normal users should leave it
+ on. Disabling this option while Tor is running is prohibited. (Default: 1)
+
**FetchDirInfoEarly** **0**|**1**::
If set to 1, Tor will always fetch directory information like other
directory caches, even if you don't meet the normal criteria for fetching
@@ -455,6 +498,21 @@ Other options can be specified either on the command-line (--option
and you're running on Windows, setting this option to 1 will tell Libevent
not to use the Windows IOCP networking API. (Default: 1)
+**UserspaceIOCPBuffers** **0**|**1**::
+ If IOCP is enabled (see DisableIOCP above), setting this option to 1
+ will tell Tor to disable kernel-space TCP buffers, in order to avoid
+ needless copy operations and try not to run out of non-paged RAM.
+ This feature is experimental; don't use it yet unless you're eager to
+ help tracking down bugs. (Default: 0)
+
+**_UseFilteringSSLBufferevents** **0**|**1**::
+ Tells Tor to do its SSL communication using a chain of
+ bufferevents: one for SSL and one for networking. This option has no
+ effect if bufferevents are disabled (in which case it can't turn on), or
+ if IOCP bufferevents are enabled (in which case it can't turn off). This
+ option is useful for debugging only; most users shouldn't touch it.
+ (Default: 0)
+
**CountPrivateBandwidth** **0**|**1**::
If this option is set, then Tor's rate-limiting applies not only to
remote connections, but also to connections to private addresses like
@@ -483,13 +541,17 @@ The following options are useful only for clients (that is, if
so using these relays might make your client stand out.
(Default: 1)
-**Bridge** __IP__:__ORPort__ [fingerprint]::
+**Bridge** [__transport__] __IP__:__ORPort__ [__fingerprint__]::
When set along with UseBridges, instructs Tor to use the relay at
"IP:ORPort" as a "bridge" relaying into the Tor network. If "fingerprint"
is provided (using the same format as for DirServer), we will verify that
the relay running at that location has the right fingerprint. We also use
fingerprint to look up the bridge descriptor at the bridge authority, if
- it's provided and if UpdateBridgesFromAuthority is set too.
+ it's provided and if UpdateBridgesFromAuthority is set too. +
+ +
+ If "transport" is provided, and matches to a ClientTransportPlugin
+ line, we use that pluggable transports proxy to transfer data to
+ the bridge.
**LearnCircuitBuildTimeout** **0**|**1**::
If 0, CircuitBuildTimeout adaptive learning is disabled. (Default: 1)
@@ -517,11 +579,12 @@ The following options are useful only for clients (that is, if
number like 60. (Default: 0)
**ClientOnly** **0**|**1**::
- If set to 1, Tor will under no circumstances run as a server or serve
- directory requests. The default is to run as a client unless ORPort is
- configured. (Usually, you don't need to set this; Tor is pretty smart at
- figuring out whether you are reliable and high-bandwidth enough to be a
- useful server.) (Default: 0)
+ If set to 1, Tor will under no circumstances run as a relay or serve
+ directory requests. This config option is mostly meaningless: we
+ added it back when we were considering having Tor clients auto-promote
+ themselves to being relays if they were stable and fast enough. The
+ current behavior is simply that Tor is a client unless ORPort or
+ DirPort are configured. (Default: 0)
**ExcludeNodes** __node__,__node__,__...__::
A list of identity fingerprints, nicknames, country codes and address
@@ -608,16 +671,6 @@ The following options are useful only for clients (that is, if
**FascistFirewall** is set. This option is deprecated; use ReachableAddresses
instead. (Default: 80, 443)
-**HidServAuth** __onion-address__ __auth-cookie__ [__service-name__]::
- Client authorization for a hidden service. Valid onion addresses contain 16
- characters in a-z2-7 plus ".onion", and valid auth cookies contain 22
- characters in A-Za-z0-9+/. The service name is only used for internal
- purposes, e.g., for Tor controllers. This option may be used multiple times
- for different hidden services. If a hidden service uses authorization and
- this option is not set, the hidden service is not accessible. Hidden
- services can be configured to require authorization using the
- **HiddenServiceAuthorizeClient** option.
-
**ReachableAddresses** __ADDR__[/__MASK__][:__PORT__]...::
A comma-separated list of IP addresses and ports that your firewall allows
you to connect to. The format is as for the addresses in ExitPolicy, except
@@ -647,6 +700,34 @@ The following options are useful only for clients (that is, if
and some limit HTTP GET requests (which Tor uses for fetching directory
information) to port 80.
+**HidServAuth** __onion-address__ __auth-cookie__ [__service-name__]::
+ Client authorization for a hidden service. Valid onion addresses contain 16
+ characters in a-z2-7 plus ".onion", and valid auth cookies contain 22
+ characters in A-Za-z0-9+/. The service name is only used for internal
+ purposes, e.g., for Tor controllers. This option may be used multiple times
+ for different hidden services. If a hidden service uses authorization and
+ this option is not set, the hidden service is not accessible. Hidden
+ services can be configured to require authorization using the
+ **HiddenServiceAuthorizeClient** option.
+
+**CloseHSClientCircuitsImmediatelyOnTimeout** **0**|**1**::
+ If 1, Tor will close unfinished hidden service client circuits
+ which have not moved closer to connecting to their destination
+ hidden service when their internal state has not changed for the
+ duration of the current circuit-build timeout. Otherwise, such
+ circuits will be left open, in the hope that they will finish
+ connecting to their destination hidden services. In either case,
+ another set of introduction and rendezvous circuits for the same
+ destination hidden service will be launched. (Default: 0)
+
+**CloseHSServiceRendCircuitsImmediatelyOnTimeout** **0**|**1**::
+ If 1, Tor will close unfinished hidden-service-side rendezvous
+ circuits after the current circuit-build timeout. Otherwise, such
+ circuits will be left open, in the hope that they will finish
+ connecting to their destinations. In either case, another
+ rendezvous circuit for the same destination client will be
+ launched. (Default: 0)
+
**LongLivedPorts** __PORTS__::
A list of ports for services that tend to have long-running connections
(e.g. chat and interactive shells). Circuits for streams that use these
@@ -655,11 +736,44 @@ The following options are useful only for clients (that is, if
5050, 5190, 5222, 5223, 6523, 6667, 6697, 8300)
**MapAddress** __address__ __newaddress__::
- When a request for address arrives to Tor, it will rewrite it to newaddress
+ When a request for address arrives to Tor, it will transform to newaddress
before processing it. For example, if you always want connections to
- www.indymedia.org to exit via __torserver__ (where __torserver__ is the
- nickname of the server), use "MapAddress www.indymedia.org
- www.indymedia.org.torserver.exit".
+ www.example.com to exit via __torserver__ (where __torserver__ is the
+ nickname of the server), use "MapAddress www.example.com
+ www.example.com.torserver.exit". If the value is prefixed with a
+ "\*.", matches an entire domain. For example, if you
+ always want connections to example.com and any if its subdomains
+ to exit via
+ __torserver__ (where __torserver__ is the nickname of the server), use
+ "MapAddress \*.example.com \*.example.com.torserver.exit". (Note the
+ leading "*." in each part of the directive.) You can also redirect all
+ subdomains of a domain to a single address. For example, "MapAddress
+ *.example.com www.example.com". +
+ +
+ NOTES:
+
+ 1. When evaluating MapAddress expressions Tor stops when it hits the most
+ recently added expression that matches the requested address. So if you
+ have the following in your torrc, www.torproject.org will map to 1.1.1.1:
+
+ MapAddress www.torproject.org 2.2.2.2
+ MapAddress www.torproject.org 1.1.1.1
+
+ 2. Tor evaluates the MapAddress configuration until it finds no matches. So
+ if you have the following in your torrc, www.torproject.org will map to
+ 2.2.2.2:
+
+ MapAddress 1.1.1.1 2.2.2.2
+ MapAddress www.torproject.org 1.1.1.1
+
+ 3. The following MapAddress expression is invalid (and will be
+ ignored) because you cannot map from a specific address to a wildcard
+ address:
+
+ MapAddress www.torproject.org *.torproject.org.torserver.exit
+
+ 4. Using a wildcard to match only part of a string (as in *ample.com) is
+ also invalid.
**NewCircuitPeriod** __NUM__::
Every NUM seconds consider whether to build a new circuit. (Default: 30
@@ -670,6 +784,11 @@ The following options are useful only for clients (that is, if
but never attach a new stream to a circuit that is too old. (Default: 10
minutes)
+**MaxClientCircuitsPending** __NUM__::
+ Do not allow more than NUM circuits to be pending at a time for handling
+ client streams. A circuit is pending if we have begun constructing it,
+ but it has not yet been completely constructed. (Default: 32)
+
**NodeFamily** __node__,__node__,__...__::
The Tor servers, defined by their identity fingerprints or nicknames,
constitute a "family" of similar or co-administered servers, so never use
@@ -694,11 +813,11 @@ The following options are useful only for clients (that is, if
received on this SOCKSPort are allowed to share circuits with one
another. Recognized isolation flags are:
**IsolateClientAddr**;;
- Don't share a circuits with streams from a different
+ Don't share circuits with streams from a different
client address. (On by default and strongly recommended;
you can disable it with **NoIsolateClientAddr**.)
**IsolateSOCKSAuth**;;
- Don't share a circuits with streams for which different
+ Don't share circuits with streams for which different
SOCKS authentication was provided. (On by default;
you can disable it with **NoIsolateSOCKSAuth**.)
**IsolateClientProtocol**;;
@@ -706,10 +825,10 @@ The following options are useful only for clients (that is, if
(SOCKS 4, SOCKS 5, TransPort connections, NATDPort connections,
and DNSPort requests are all considered to be different protocols.)
**IsolateDestPort**;;
- Don't share a circuits with streams targetting a different
+ Don't share circuits with streams targetting a different
destination port.
**IsolateDestAddr**;;
- Don't share a circuits with streams targetting a different
+ Don't share circuits with streams targetting a different
destination address.
**SessionGroup=**__INT__;;
If no other isolation rules would prevent it, allow streams
@@ -947,6 +1066,22 @@ The following options are useful only for clients (that is, if
Tor will look at the UseOptimisticData parameter in the networkstatus.
(Default: auto)
+**Tor2webMode** **0**|**1**::
+ When this option is set, Tor connects to hidden services
+ **non-anonymously**. This option also disables client connections to
+ non-hidden-service hostnames through Tor. It **must only** be used when
+ running a tor2web Hidden Service web proxy.
+ To enable this option the compile time flag --enable-tor2webmode must be
+ specified. (Default: 0)
+
+**UseMicrodescriptors** **0**|**1**|**auto**::
+ Microdescriptors are a smaller version of the information that Tor needs
+ in order to build its circuits. Using microdescriptors makes Tor clients
+ download less directory information, thus saving bandwidth. Directory
+ caches need to fetch regular descriptors and microdescriptors, so this
+ option doesn't save any bandwidth for them. If this option is set to
+ "auto" (recommended) then it is on for all clients that do not set
+ FetchUselessDescriptors. (Default: auto)
SERVER OPTIONS
--------------
@@ -1368,6 +1503,18 @@ DIRECTORY AUTHORITY SERVER OPTIONS
authority publishes, or accepted as an OR address in any descriptor
submitted for publication by this authority.
+**AuthDirBadDirCCs** __CC__,... +
+
+**AuthDirBadExitCCs** __CC__,... +
+
+**AuthDirInvalidCCs** __CC__,... +
+
+**AuthDirRejectCCs** __CC__,...::
+ Authoritative directories only. These options contain a comma-separated
+ list of country codes such that any server in one of those country codes
+ will be marked as a bad directory/bad exit/invalid for use, or rejected
+ entirely.
+
**AuthDirListBadDirs** **0**|**1**::
Authoritative directories only. If set to 1, this directory has some
opinion about which nodes are unsuitable as directory caches. (Do not set
@@ -1396,6 +1543,16 @@ DIRECTORY AUTHORITY SERVER OPTIONS
Authoritative directories only. Like AuthDirMaxServersPerAddr, but applies
to addresses shared with directory authorities. (Default: 5)
+**AuthDirFastGuarantee** __N__ **bytes**|**KB**|**MB**|**GB**::
+ Authoritative directories only. If non-zero, always vote the
+ Fast flag for any relay advertising this amount of capacity or
+ more. (Default: 100 KB)
+
+**AuthDirGuardBWGuarantee** __N__ **bytes**|**KB**|**MB**|**GB**::
+ Authoritative directories only. If non-zero, this advertised capacity
+ or more is always sufficient to satisfy the bandwidth requirement
+ for the Guard flag. (Default: 250 KB)
+
**BridgePassword** __Password__::
If set, contains an HTTP authenticator that tells a bridge authority to
serve all requested bridge information. Used for debugging. (Default:
@@ -1449,6 +1606,10 @@ DIRECTORY AUTHORITY SERVER OPTIONS
votes on whether to accept relays as hidden service directories.
(Default: 1)
+GiveGuardFlagTo_CVE_2011_2768_VulnerableRelays **0**|**1**::
+ When this option is set to 0, do not vote to give the Guard flag to any
+ version of Tor vulnerable to CVE-2011-2769. (Default: 0)
+
HIDDEN SERVICE OPTIONS
----------------------
diff --git a/src/common/Makefile.am b/src/common/Makefile.am
index 2244fe58d..5e7684259 100644
--- a/src/common/Makefile.am
+++ b/src/common/Makefile.am
@@ -51,14 +51,13 @@ noinst_HEADERS = \
torint.h \
torlog.h \
tortls.h \
- tortls_states.h \
util.h
common_sha1.i: $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS)
if test "@SHA1SUM@" != none; then \
- @SHA1SUM@ $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) | @SED@ -n 's/^\(.*\)$$/"\1\\n"/p' > common_sha1.i; \
+ (cd "$(srcdir)" && "@SHA1SUM@" $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > common_sha1.i; \
elif test "@OPENSSL@" != none; then \
- @OPENSSL@ sha1 $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS) | @SED@ -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > common_sha1.i; \
+ (cd "$(srcdir)" && "@OPENSSL@" sha1 $(libor_SOURCES) $(libor_crypto_a_SOURCES) $(noinst_HEADERS)) | "@SED@" -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > common_sha1.i; \
else \
rm common_sha1.i; \
touch common_sha1.i; \
diff --git a/src/common/OpenBSD_malloc_Linux.c b/src/common/OpenBSD_malloc_Linux.c
index 445135c6b..92ca9c006 100644
--- a/src/common/OpenBSD_malloc_Linux.c
+++ b/src/common/OpenBSD_malloc_Linux.c
@@ -285,6 +285,8 @@ static void *imalloc(size_t size);
static void ifree(void *ptr);
static void *irealloc(void *ptr, size_t size);
static void *malloc_bytes(size_t size);
+void *memalign(size_t boundary, size_t size);
+size_t malloc_good_size(size_t size);
/*
* Function for page directory lookup.
@@ -1980,10 +1982,11 @@ static int ispowerof2 (size_t a) {
int posix_memalign(void **memptr, size_t alignment, size_t size)
{
void *r;
+ size_t max;
if ((alignment < PTR_SIZE) || (alignment%PTR_SIZE != 0)) return EINVAL;
if (!ispowerof2(alignment)) return EINVAL;
if (alignment < malloc_minsize) alignment = malloc_minsize;
- size_t max = alignment > size ? alignment : size;
+ max = alignment > size ? alignment : size;
if (alignment <= malloc_pagesize)
r = malloc(max);
else {
diff --git a/src/common/address.c b/src/common/address.c
index b41456f8d..17cda42cb 100644
--- a/src/common/address.c
+++ b/src/common/address.c
@@ -13,10 +13,16 @@
#include "util.h"
#include "address.h"
#include "torlog.h"
+#include "container.h"
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#include <process.h>
#include <windows.h>
+#include <winsock2.h>
+/* For access to structs needed by GetAdaptersAddresses */
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x0501
+#include <iphlpapi.h>
#endif
#ifdef HAVE_SYS_TIME_H
@@ -46,12 +52,28 @@
#ifdef HAVE_SYS_UN_H
#include <sys/un.h>
#endif
+#ifdef HAVE_IFADDRS_H
+#include <ifaddrs.h>
+#endif
+#ifdef HAVE_SYS_IOCTL_H
+#include <sys/ioctl.h>
+#endif
+#ifdef HAVE_NET_IF_H
+#include <net/if.h>
+#endif
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
+/* tor_addr_is_null() and maybe other functions rely on AF_UNSPEC being 0 to
+ * work correctly. Bail out here if we've found a platform where AF_UNSPEC
+ * isn't 0. */
+#if AF_UNSPEC != 0
+#error We rely on AF_UNSPEC being 0. Let us know about your platform, please!
+#endif
+
/** 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
* room is available in sa_out, or on error, return 0. On success, return
@@ -253,7 +275,7 @@ tor_addr_lookup(const char *name, uint16_t family, tor_addr_t *addr)
ent = err ? NULL : &hent;
#else
ent = gethostbyname(name);
-#ifdef MS_WINDOWS
+#ifdef _WIN32
err = WSAGetLastError();
#else
err = h_errno;
@@ -269,7 +291,7 @@ tor_addr_lookup(const char *name, uint16_t family, tor_addr_t *addr)
}
return 0;
}
-#ifdef MS_WINDOWS
+#ifdef _WIN32
return (err == WSATRY_AGAIN) ? 1 : -1;
#else
return (err == TRY_AGAIN) ? 1 : -1;
@@ -350,15 +372,21 @@ tor_addr_to_str(char *dest, const tor_addr_t *addr, size_t len, int decorate)
switch (tor_addr_family(addr)) {
case AF_INET:
- if (len<3)
+ /* Shortest addr x.x.x.x + \0 */
+ if (len < 8)
return NULL;
- ptr = tor_inet_ntop(AF_INET, &addr->addr.in_addr, dest, len);
+ ptr = tor_inet_ntop(AF_INET, &addr->addr.in_addr, dest, len);
break;
case AF_INET6:
+ /* Shortest addr [ :: ] + \0 */
+ if (len < (3 + (decorate ? 2 : 0)))
+ return NULL;
+
if (decorate)
ptr = tor_inet_ntop(AF_INET6, &addr->addr.in6_addr, dest+1, len-2);
else
ptr = tor_inet_ntop(AF_INET6, &addr->addr.in6_addr, dest, len);
+
if (ptr && decorate) {
*dest = '[';
memcpy(dest+strlen(dest), "]", 2);
@@ -470,13 +498,17 @@ tor_addr_parse_PTR_name(tor_addr_t *result, const char *address,
return 0;
}
-/** Convert <b>addr</b> to an in-addr.arpa name or a .ip6.arpa name, and store
- * the result in the <b>outlen</b>-byte buffer at <b>out</b>. Return 0 on
- * success, -1 on failure. */
+/** Convert <b>addr</b> to an in-addr.arpa name or a .ip6.arpa name,
+ * and store the result in the <b>outlen</b>-byte buffer at
+ * <b>out</b>. Return the number of chars written to <b>out</b>, not
+ * including the trailing \0, on success. Returns -1 on failure. */
int
tor_addr_to_PTR_name(char *out, size_t outlen,
- const tor_addr_t *addr)
+ const tor_addr_t *addr)
{
+ tor_assert(out);
+ tor_assert(addr);
+
if (addr->family == AF_INET) {
uint32_t a = tor_addr_to_ipv4h(addr);
@@ -499,7 +531,7 @@ tor_addr_to_PTR_name(char *out, size_t outlen,
*cp++ = '.';
}
memcpy(cp, "ip6.arpa", 9); /* 8 characters plus NUL */
- return 0;
+ return 32 * 2 + 8;
}
return -1;
}
@@ -945,8 +977,11 @@ char *
tor_dup_addr(const tor_addr_t *addr)
{
char buf[TOR_ADDR_BUF_LEN];
- tor_addr_to_str(buf, addr, sizeof(buf), 0);
- return tor_strdup(buf);
+ if (tor_addr_to_str(buf, addr, sizeof(buf), 0)) {
+ return tor_strdup(buf);
+ } else {
+ return tor_strdup("<unknown address type>");
+ }
}
/** Return a string representing the address <b>addr</b>. This string is
@@ -1044,7 +1079,7 @@ tor_addr_port_lookup(const char *s, tor_addr_t *addr_out, uint16_t *port_out)
++port;
}
- if (tor_addr_lookup(tmp, AF_UNSPEC, &addr) < 0)
+ if (tor_addr_lookup(tmp, AF_UNSPEC, &addr) != 0)
goto err;
tor_free(tmp);
@@ -1066,6 +1101,169 @@ tor_addr_port_lookup(const char *s, tor_addr_t *addr_out, uint16_t *port_out)
return -1;
}
+#ifdef _WIN32
+typedef ULONG (WINAPI *GetAdaptersAddresses_fn_t)(
+ ULONG, ULONG, PVOID, PIP_ADAPTER_ADDRESSES, PULONG);
+#endif
+
+/** Try to ask our network interfaces what addresses they are bound to.
+ * Return a new smartlist of tor_addr_t on success, and NULL on failure.
+ * (An empty smartlist indicates that we successfully learned that we have no
+ * addresses.) Log failure messages at <b>severity</b>. */
+static smartlist_t *
+get_interface_addresses_raw(int severity)
+{
+#if defined(HAVE_GETIFADDRS)
+ /* Most free Unixy systems provide getifaddrs, which gives us a linked list
+ * of struct ifaddrs. */
+ struct ifaddrs *ifa = NULL;
+ const struct ifaddrs *i;
+ smartlist_t *result;
+ if (getifaddrs(&ifa) < 0) {
+ log_fn(severity, LD_NET, "Unable to call getifaddrs(): %s",
+ strerror(errno));
+ return NULL;
+ }
+
+ result = smartlist_new();
+ for (i = ifa; i; i = i->ifa_next) {
+ tor_addr_t tmp;
+ if (!i->ifa_addr)
+ continue;
+ if (i->ifa_addr->sa_family != AF_INET &&
+ i->ifa_addr->sa_family != AF_INET6)
+ continue;
+ if (tor_addr_from_sockaddr(&tmp, i->ifa_addr, NULL) < 0)
+ continue;
+ smartlist_add(result, tor_memdup(&tmp, sizeof(tmp)));
+ }
+
+ freeifaddrs(ifa);
+ return result;
+#elif defined(_WIN32)
+ /* Windows XP began to provide GetAdaptersAddresses. Windows 2000 had a
+ "GetAdaptersInfo", but that's deprecated; let's just try
+ GetAdaptersAddresses and fall back to connect+getsockname.
+ */
+ HANDLE lib = load_windows_system_library(TEXT("iphlpapi.dll"));
+ smartlist_t *result = NULL;
+ GetAdaptersAddresses_fn_t fn;
+ ULONG size, res;
+ IP_ADAPTER_ADDRESSES *addresses = NULL, *address;
+
+ (void) severity;
+
+#define FLAGS (GAA_FLAG_SKIP_ANYCAST | \
+ GAA_FLAG_SKIP_MULTICAST | \
+ GAA_FLAG_SKIP_DNS_SERVER)
+
+ if (!lib) {
+ log_fn(severity, LD_NET, "Unable to load iphlpapi.dll");
+ goto done;
+ }
+
+ if (!(fn = (GetAdaptersAddresses_fn_t)
+ GetProcAddress(lib, "GetAdaptersAddresses"))) {
+ log_fn(severity, LD_NET, "Unable to obtain pointer to "
+ "GetAdaptersAddresses");
+ goto done;
+ }
+
+ /* Guess how much space we need. */
+ size = 15*1024;
+ addresses = tor_malloc(size);
+ res = fn(AF_UNSPEC, FLAGS, NULL, addresses, &size);
+ if (res == ERROR_BUFFER_OVERFLOW) {
+ /* we didn't guess that we needed enough space; try again */
+ tor_free(addresses);
+ addresses = tor_malloc(size);
+ res = fn(AF_UNSPEC, FLAGS, NULL, addresses, &size);
+ }
+ if (res != NO_ERROR) {
+ log_fn(severity, LD_NET, "GetAdaptersAddresses failed (result: %lu)", res);
+ goto done;
+ }
+
+ result = smartlist_new();
+ for (address = addresses; address; address = address->Next) {
+ IP_ADAPTER_UNICAST_ADDRESS *a;
+ for (a = address->FirstUnicastAddress; a; a = a->Next) {
+ /* Yes, it's a linked list inside a linked list */
+ struct sockaddr *sa = a->Address.lpSockaddr;
+ tor_addr_t tmp;
+ if (sa->sa_family != AF_INET && sa->sa_family != AF_INET6)
+ continue;
+ if (tor_addr_from_sockaddr(&tmp, sa, NULL) < 0)
+ continue;
+ smartlist_add(result, tor_memdup(&tmp, sizeof(tmp)));
+ }
+ }
+
+ done:
+ if (lib)
+ FreeLibrary(lib);
+ tor_free(addresses);
+ return result;
+#elif defined(SIOCGIFCONF) && defined(HAVE_IOCTL)
+ /* Some older unixy systems make us use ioctl(SIOCGIFCONF) */
+ struct ifconf ifc;
+ int fd, i, sz, n;
+ smartlist_t *result = NULL;
+ /* This interface, AFAICT, only supports AF_INET addresses */
+ fd = socket(AF_INET, SOCK_DGRAM, 0);
+ if (fd < 0) {
+ log(severity, LD_NET, "socket failed: %s", strerror(errno));
+ goto done;
+ }
+ /* Guess how much space we need. */
+ ifc.ifc_len = sz = 15*1024;
+ ifc.ifc_ifcu.ifcu_req = tor_malloc(sz);
+ if (ioctl(fd, SIOCGIFCONF, &ifc) < 0) {
+ log(severity, LD_NET, "ioctl failed: %s", strerror(errno));
+ close(fd);
+ goto done;
+ }
+ close(fd);
+ result = smartlist_new();
+ if (ifc.ifc_len < sz)
+ sz = ifc.ifc_len;
+ n = sz / sizeof(struct ifreq);
+ for (i = 0; i < n ; ++i) {
+ struct ifreq *r = &ifc.ifc_ifcu.ifcu_req[i];
+ struct sockaddr *sa = &r->ifr_addr;
+ tor_addr_t tmp;
+ if (sa->sa_family != AF_INET && sa->sa_family != AF_INET6)
+ continue; /* should be impossible */
+ if (tor_addr_from_sockaddr(&tmp, sa, NULL) < 0)
+ continue;
+ smartlist_add(result, tor_memdup(&tmp, sizeof(tmp)));
+ }
+ done:
+ tor_free(ifc.ifc_ifcu.ifcu_req);
+ return result;
+#else
+ (void) severity;
+ return NULL;
+#endif
+}
+
+/** Return true iff <b>a</b> is a multicast address. */
+static int
+tor_addr_is_multicast(const tor_addr_t *a)
+{
+ sa_family_t family = tor_addr_family(a);
+ if (family == AF_INET) {
+ uint32_t ipv4h = tor_addr_to_ipv4h(a);
+ if ((ipv4h >> 24) == 0xe0)
+ return 1; /* Multicast */
+ } else if (family == AF_INET6) {
+ const uint8_t *a32 = tor_addr_to_in6_addr8(a);
+ if (a32[0] == 0xff)
+ return 1;
+ }
+ return 0;
+}
+
/** Set *<b>addr</b> to the IP address (if any) of whatever interface
* connects to the Internet. This address should only be used in checking
* whether our address has changed. Return 0 on success, -1 on failure.
@@ -1073,12 +1271,38 @@ tor_addr_port_lookup(const char *s, tor_addr_t *addr_out, uint16_t *port_out)
int
get_interface_address6(int severity, sa_family_t family, tor_addr_t *addr)
{
+ /* XXX really, this function should yield a smartlist of addresses. */
+ smartlist_t *addrs;
int sock=-1, r=-1;
struct sockaddr_storage my_addr, target_addr;
socklen_t addr_len;
-
tor_assert(addr);
+ /* Try to do this the smart way if possible. */
+ if ((addrs = get_interface_addresses_raw(severity))) {
+ int rv = -1;
+ SMARTLIST_FOREACH_BEGIN(addrs, tor_addr_t *, a) {
+ if (family != AF_UNSPEC && family != tor_addr_family(a))
+ continue;
+ if (tor_addr_is_loopback(a) ||
+ tor_addr_is_multicast(a))
+ continue;
+
+ tor_addr_copy(addr, a);
+ rv = 0;
+
+ /* If we found a non-internal address, declare success. Otherwise,
+ * keep looking. */
+ if (!tor_addr_is_internal(a, 0))
+ break;
+ } SMARTLIST_FOREACH_END(a);
+
+ SMARTLIST_FOREACH(addrs, tor_addr_t *, a, tor_free(a));
+ smartlist_free(addrs);
+ return rv;
+ }
+
+ /* Okay, the smart way is out. */
memset(addr, 0, sizeof(tor_addr_t));
memset(&target_addr, 0, sizeof(target_addr));
/* Don't worry: no packets are sent. We just need to use a real address
diff --git a/src/common/address.h b/src/common/address.h
index 359b0264d..4568c32bf 100644
--- a/src/common/address.h
+++ b/src/common/address.h
@@ -31,6 +31,13 @@ typedef struct tor_addr_t
} addr;
} tor_addr_t;
+/** Holds an IP address and a TCP/UDP port. */
+typedef struct tor_addr_port_t
+{
+ tor_addr_t addr;
+ uint16_t port;
+} tor_addr_port_t;
+
static INLINE const struct in6_addr *tor_addr_to_in6(const tor_addr_t *a);
static INLINE uint32_t tor_addr_to_ipv4n(const tor_addr_t *a);
static INLINE uint32_t tor_addr_to_ipv4h(const tor_addr_t *a);
@@ -149,7 +156,7 @@ int tor_addr_compare_masked(const tor_addr_t *addr1, const tor_addr_t *addr2,
unsigned int tor_addr_hash(const tor_addr_t *addr);
int tor_addr_is_v4(const tor_addr_t *addr);
-int tor_addr_is_internal(const tor_addr_t *ip, int for_listening) ATTR_PURE;
+int tor_addr_is_internal(const tor_addr_t *ip, int for_listening);
/** Longest length that can be required for a reverse lookup name. */
/* 32 nybbles, 32 dots, 8 characters of "ip6.arpa", 1 NUL: 73 characters. */
@@ -185,7 +192,7 @@ int tor_addr_port_split(int severity, const char *addrport,
char **address_out, uint16_t *port_out);
/* IPv4 helpers */
-int is_internal_IP(uint32_t ip, int for_listening) ATTR_PURE;
+int is_internal_IP(uint32_t ip, int for_listening);
int addr_port_lookup(int severity, const char *addrport, char **address,
uint32_t *addr, uint16_t *port_out);
int parse_port_range(const char *port, uint16_t *port_min_out,
diff --git a/src/common/aes.c b/src/common/aes.c
index 81091e9f0..cfd931fab 100644
--- a/src/common/aes.c
+++ b/src/common/aes.c
@@ -6,11 +6,7 @@
/**
* \file aes.c
- * \brief Implements the AES cipher (with 128-bit keys and blocks),
- * and a counter-mode stream cipher on top of AES. This code is
- * taken from the main Rijndael distribution. (We include this
- * because many people are running older versions of OpenSSL without
- * AES support.)
+ * \brief Implements a counter-mode stream cipher on top of AES.
**/
#include "orconfig.h"
@@ -18,120 +14,42 @@
#include <assert.h>
#include <stdlib.h>
#include <string.h>
+#include <openssl/aes.h>
+#include <openssl/evp.h>
+#include <openssl/engine.h>
+#include "crypto.h"
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(1,0,0)
+/* See comments about which counter mode implementation to use below. */
+#include <openssl/modes.h>
+#define CAN_USE_OPENSSL_CTR
+#endif
#include "compat.h"
#include "aes.h"
#include "util.h"
#include "torlog.h"
-/* We have 3 strategies for getting AES: Via OpenSSL's AES_encrypt function,
- * via OpenSSL's EVP_EncryptUpdate function, or via the built-in AES
- * implementation below. */
-
-/** Defined iff we're using OpenSSL's AES functions for AES. */
-#undef USE_OPENSSL_AES
-/** Defined iff we're using OpenSSL's EVP code for AES. */
-#undef USE_OPENSSL_EVP
-/** Defined iff we're using Tor's internal AES implementation, defined
- * below. */
-#undef USE_BUILTIN_AES
-
-/* Figure out our CPU type. We use this to pick an AES implementation.
- * Macros are as listed at http://predef.sourceforge.net/prearch.html
- */
-#if (defined(i386) || defined(__i386__) || defined(__i386) || defined(_X86_) \
- || defined(_M_IX86) || defined(__THW_INTEL__) || defined(__I86__))
-# define CPU_IS_X86
-#elif (defined(__amd64__) || defined(__amd64) || \
- defined(__x86_64__) || defined(__x86_64) || \
- defined(_M_X64))
-# define CPU_IS_X86_64
-#elif (defined(__ia64__) || defined(__ia64) || defined(_IA64) || \
- defined(_M_IA64))
-# define CPU_IS_IA64
-#elif (defined(__sparc__) || defined(__sparc))
-# define CPU_IS_SPARC
-#elif (defined(__arm__) || defined (__TARGET_ARCH_ARM))
-# define CPU_IS_ARM
+#ifdef ANDROID
+/* Android's OpenSSL seems to have removed all of its Engine support. */
+#define DISABLE_ENGINES
#endif
-/* Here we pick which to use, if none is force-defined. See
- * http://archives.seul.org/or/dev/Feb-2007/msg00045.html
- * for a summary of the most recent benchmarking results that led to this
- * nutty decision tree.
-*/
-#if (!defined(USE_BUILTIN_AES) && \
- !defined(USE_OPENSSL_AES) && \
- !defined(USE_OPENSSL_EVP))
-
-/* OpenSSL 0.9.7 was the first to support AES. It was slower than our
- * built-in implementation.
- * OpenSSL 0.9.8 added assembly implementations for i386 and ia64.
- * Either the i386 stuff isn't used for x86-64, or it isn't faster.
- * OpenSSL 0.9.9 (not yet out) has added assembly implementations for
- * x86_64 (aka amd64), sparc9, and arm
+/* We have 2 strategies for getting AES: Via OpenSSL's AES_encrypt function,
+ * via OpenSSL's EVP_EncryptUpdate function.
*
- * Note: the "f" at the end of OpenSSL version numbers below means
- * "release". */
-# if defined(CPU_IS_X86) || defined(CPU_IS_IA64)
-# if OPENSSL_VERSION_NUMBER >= 0x0090800fL
-# define USE_OPENSSL_AES
-# endif
-# endif
-
-# if defined(CPU_IS_X86_64) || defined(CPU_IS_ARM) || defined(CPU_IS_SPARC)
-# if OPENSSL_VERSION_NUMBER >= 0x0090900fL
-# define USE_OPENSSL_AES
-# endif
-# endif
-
-/* Otherwise, use the built-in implementation below. */
-# ifndef USE_OPENSSL_AES
-# define USE_BUILTIN_AES
-# endif
-#endif /* endif need to pick a method */
-
-/* Include OpenSSL headers as needed. */
-#ifdef USE_OPENSSL_AES
-# include <openssl/aes.h>
-#endif
-#ifdef USE_OPENSSL_EVP
-# include <openssl/evp.h>
-#endif
-
-/* Figure out which AES optimizations to use. */
-#ifdef USE_BUILTIN_AES
-/** If this is defined, we take advantage of the fact that AES treats its
- * input as a set of 4 32-bit words, so that there is no need to encode and
- * decode the 128-bit counter before every block encryption */
-# define USE_RIJNDAEL_COUNTER_OPTIMIZATION
-# if 0 && (defined(__powerpc__) || defined(__powerpc64__))
-/* XXXX do more experimentation before concluding this is actually
- * a good idea. */
-# define FULL_UNROLL
-# endif
-#endif
-
-/*======================================================================*/
-/* From rijndael-alg-fst.h */
-
-typedef uint64_t u64;
-typedef uint32_t u32;
-typedef uint8_t u8;
-
-#ifdef USE_BUILTIN_AES
-#define MAXNR 14
+ * If there's any hardware acceleration in play, we want to be using EVP_* so
+ * we can get it. Otherwise, we'll want AES_*, which seems to be about 5%
+ * faster than indirecting through the EVP layer.
+ */
-static int rijndaelKeySetupEnc(u32 rk[/*4*(Nr + 1)*/],
- const u8 cipherKey[], int keyBits);
-#ifdef USE_RIJNDAEL_COUNTER_OPTIMIZATION
-static void rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr,
- u32 ctr3, u32 ctr2,
- u32 ctr1, u32 ctr0, u8 ct[16]);
-#else
-static void rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr,
- const u8 pt[16], u8 ct[16]);
-#endif
-#endif
+/* We have 2 strategies for counter mode: use our own, or use OpenSSL's.
+ *
+ * Here we have a counter mode that's faster than the one shipping with
+ * OpenSSL pre-1.0 (by about 10%!). But OpenSSL 1.0.0 added a counter mode
+ * implementation faster than the one here (by about 7%). So we pick which
+ * one to used based on the Openssl version above. (OpenSSL 1.0.0a fixed a
+ * critical bug in that counter mode implementation, so we need to test to
+ * make sure that we have a fixed version.)
+ */
/*======================================================================*/
/* Interface to AES code, and counter implementation */
@@ -139,42 +57,129 @@ static void rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr,
/** Implements an AES counter-mode cipher. */
struct aes_cnt_cipher {
/** This next element (however it's defined) is the AES key. */
-#if defined(USE_OPENSSL_EVP)
- EVP_CIPHER_CTX key;
-#elif defined(USE_OPENSSL_AES)
- AES_KEY key;
-#else
- u32 rk[4*(MAXNR+1)];
- int nr;
-#endif
+ union {
+ EVP_CIPHER_CTX evp;
+ AES_KEY aes;
+ } key;
-#if !defined(WORDS_BIGENDIAN) || defined(USE_RIJNDAEL_COUNTER_OPTIMIZATION)
+#if !defined(WORDS_BIGENDIAN)
#define USING_COUNTER_VARS
/** These four values, together, implement a 128-bit counter, with
* counter0 as the low-order word and counter3 as the high-order word. */
- u32 counter3;
- u32 counter2;
- u32 counter1;
- u32 counter0;
+ uint32_t counter3;
+ uint32_t counter2;
+ uint32_t counter1;
+ uint32_t counter0;
#endif
-#ifndef USE_RIJNDAEL_COUNTER_OPTIMIZATION
-#define USING_COUNTER_BUFS
union {
/** The counter, in big-endian order, as bytes. */
- u8 buf[16];
+ uint8_t buf[16];
/** The counter, in big-endian order, as big-endian words. Note that
* on big-endian platforms, this is redundant with counter3...0,
* so we just use these values instead. */
- u32 buf32[4];
+ uint32_t buf32[4];
} ctr_buf;
-#endif
+
/** The encrypted value of ctr_buf. */
- u8 buf[16];
+ uint8_t buf[16];
/** Our current stream position within buf. */
- u8 pos;
+ unsigned int pos;
+
+ /** True iff we're using the evp implementation of this cipher. */
+ uint8_t using_evp;
};
+/** True iff we should prefer the EVP implementation for AES, either because
+ * we're testing it or because we have hardware acceleration configured */
+static int should_use_EVP = 0;
+
+#ifdef CAN_USE_OPENSSL_CTR
+/** True iff we have tested the counter-mode implementation and found that it
+ * doesn't have the counter-mode bug from OpenSSL 1.0.0. */
+static int should_use_openssl_CTR = 0;
+#endif
+
+/** Check whether we should use the EVP interface for AES. If <b>force_val</b>
+ * is nonnegative, we use use EVP iff it is true. Otherwise, we use EVP
+ * if there is an engine enabled for aes-ecb. */
+int
+evaluate_evp_for_aes(int force_val)
+{
+ ENGINE *e;
+
+ if (force_val >= 0) {
+ should_use_EVP = force_val;
+ return 0;
+ }
+#ifdef DISABLE_ENGINES
+ should_use_EVP = 0;
+#else
+ e = ENGINE_get_cipher_engine(NID_aes_128_ecb);
+
+ if (e) {
+ log_notice(LD_CRYPTO, "AES engine \"%s\" found; using EVP_* functions.",
+ ENGINE_get_name(e));
+ should_use_EVP = 1;
+ } else {
+ log_notice(LD_CRYPTO, "No AES engine found; using AES_* functions.");
+ should_use_EVP = 0;
+ }
+#endif
+
+ return 0;
+}
+
+/** Test the OpenSSL counter mode implementation to see whether it has the
+ * counter-mode bug from OpenSSL 1.0.0. If the implementation works, then
+ * we will use it for future encryption/decryption operations.
+ *
+ * We can't just look at the OpenSSL version, since some distributions update
+ * their OpenSSL packages without changing the version number.
+ **/
+int
+evaluate_ctr_for_aes(void)
+{
+#ifdef CAN_USE_OPENSSL_CTR
+ /* Result of encrypting an all-zero block with an all-zero 128-bit AES key.
+ * This should be the same as encrypting an all-zero block with an all-zero
+ * 128-bit AES key in counter mode, starting at position 0 of the stream.
+ */
+ static const unsigned char encrypt_zero[] =
+ "\x66\xe9\x4b\xd4\xef\x8a\x2c\x3b\x88\x4c\xfa\x59\xca\x34\x2b\x2e";
+ unsigned char zero[16];
+ unsigned char output[16];
+ unsigned char ivec[16];
+ unsigned char ivec_tmp[16];
+ unsigned int pos, i;
+ AES_KEY key;
+ memset(zero, 0, sizeof(zero));
+ memset(ivec, 0, sizeof(ivec));
+ AES_set_encrypt_key(zero, 128, &key);
+
+ pos = 0;
+ /* Encrypting a block one byte at a time should make the error manifest
+ * itself for known bogus openssl versions. */
+ for (i=0; i<16; ++i)
+ AES_ctr128_encrypt(&zero[i], &output[i], 1, &key, ivec, ivec_tmp, &pos);
+
+ if (memcmp(output, encrypt_zero, 16)) {
+ /* Counter mode is buggy */
+ log_notice(LD_CRYPTO, "This OpenSSL has a buggy version of counter mode; "
+ "not using it.");
+ } else {
+ /* Counter mode is okay */
+ log_notice(LD_CRYPTO, "This OpenSSL has a good implementation of counter "
+ "mode; using it.");
+ should_use_openssl_CTR = 1;
+ }
+#else
+ log_notice(LD_CRYPTO, "This version of OpenSSL has a slow implementation of "
+ "counter mode; not using it.");
+#endif
+ return 0;
+}
+
#if !defined(USING_COUNTER_VARS)
#define COUNTER(c, n) ((c)->ctr_buf.buf32[3-(n)])
#else
@@ -194,24 +199,14 @@ _aes_fill_buf(aes_cnt_cipher_t *cipher)
* 3) changing the counter position was not trivial, last time I looked.
* None of these issues are insurmountable in principle.
*/
-#if defined(USE_BUILTIN_AES) && defined(USE_RIJNDAEL_COUNTER_OPTIMIZATION)
- rijndaelEncrypt(cipher->rk, cipher->nr,
- cipher->counter3, cipher->counter2,
- cipher->counter1, cipher->counter0, cipher->buf);
-#else
-#if defined(USE_OPENSSL_EVP)
- {
+ if (cipher->using_evp) {
int outl=16, inl=16;
- EVP_EncryptUpdate(&cipher->key, cipher->buf, &outl,
+ EVP_EncryptUpdate(&cipher->key.evp, cipher->buf, &outl,
cipher->ctr_buf.buf, inl);
+ } else {
+ AES_encrypt(cipher->ctr_buf.buf, cipher->buf, &cipher->key.aes);
}
-#elif defined(USE_OPENSSL_AES)
- AES_encrypt(cipher->ctr_buf.buf, cipher->buf, &cipher->key);
-#else
- rijndaelEncrypt(cipher->rk, cipher->nr, cipher->ctr_buf.buf, cipher->buf);
-#endif
-#endif
}
/**
@@ -232,50 +227,55 @@ aes_new_cipher(void)
void
aes_set_key(aes_cnt_cipher_t *cipher, const char *key, int key_bits)
{
-#if defined(USE_OPENSSL_EVP)
- const EVP_CIPHER *c;
- switch (key_bits) {
- case 128: c = EVP_aes_128_ecb(); break;
- case 192: c = EVP_aes_192_ecb(); break;
- case 256: c = EVP_aes_256_ecb(); break;
- default: tor_assert(0);
+ if (should_use_EVP) {
+ const EVP_CIPHER *c;
+ switch (key_bits) {
+ case 128: c = EVP_aes_128_ecb(); break;
+ case 192: c = EVP_aes_192_ecb(); break;
+ case 256: c = EVP_aes_256_ecb(); break;
+ default: tor_assert(0);
+ }
+ EVP_EncryptInit(&cipher->key.evp, c, (const unsigned char*)key, NULL);
+ cipher->using_evp = 1;
+ } else {
+ AES_set_encrypt_key((const unsigned char *)key, key_bits, &cipher->key.aes);
+ cipher->using_evp = 0;
}
- EVP_EncryptInit(&cipher->key, c, (const unsigned char*)key, NULL);
-#elif defined(USE_OPENSSL_AES)
- AES_set_encrypt_key((const unsigned char *)key, key_bits, &(cipher->key));
-#else
- cipher->nr = rijndaelKeySetupEnc(cipher->rk, (const unsigned char*)key,
- key_bits);
-#endif
+
#ifdef USING_COUNTER_VARS
cipher->counter0 = 0;
cipher->counter1 = 0;
cipher->counter2 = 0;
cipher->counter3 = 0;
#endif
-#ifdef USING_COUNTER_BUFS
+
memset(cipher->ctr_buf.buf, 0, sizeof(cipher->ctr_buf.buf));
-#endif
cipher->pos = 0;
- _aes_fill_buf(cipher);
+
+#ifdef CAN_USE_OPENSSL_CTR
+ if (should_use_openssl_CTR)
+ memset(cipher->buf, 0, sizeof(cipher->buf));
+ else
+#endif
+ _aes_fill_buf(cipher);
}
/** Release storage held by <b>cipher</b>
*/
void
-aes_free_cipher(aes_cnt_cipher_t *cipher)
+aes_cipher_free(aes_cnt_cipher_t *cipher)
{
if (!cipher)
return;
-#ifdef USE_OPENSSL_EVP
- EVP_CIPHER_CTX_cleanup(&cipher->key);
-#endif
+ if (cipher->using_evp) {
+ EVP_CIPHER_CTX_cleanup(&cipher->key.evp);
+ }
memset(cipher, 0, sizeof(aes_cnt_cipher_t));
tor_free(cipher);
}
-#if defined(USING_COUNTER_VARS) && defined(USING_COUNTER_BUFS)
+#if defined(USING_COUNTER_VARS)
#define UPDATE_CTR_BUF(c, n) STMT_BEGIN \
(c)->ctr_buf.buf32[3-(n)] = htonl((c)->counter ## n); \
STMT_END
@@ -283,6 +283,18 @@ aes_free_cipher(aes_cnt_cipher_t *cipher)
#define UPDATE_CTR_BUF(c, n)
#endif
+#ifdef CAN_USE_OPENSSL_CTR
+/* Helper function to use EVP with openssl's counter-mode wrapper. */
+static void evp_block128_fn(const uint8_t in[16],
+ uint8_t out[16],
+ const void *key)
+{
+ EVP_CIPHER_CTX *ctx = (void*)key;
+ int inl=16, outl=16;
+ EVP_EncryptUpdate(ctx, out, &outl, in, inl);
+}
+#endif
+
/** Encrypt <b>len</b> bytes from <b>input</b>, storing the result in
* <b>output</b>. Uses the key in <b>cipher</b>, and advances the counter
* by <b>len</b> bytes as it encrypts.
@@ -291,41 +303,56 @@ void
aes_crypt(aes_cnt_cipher_t *cipher, const char *input, size_t len,
char *output)
{
- /* This function alone is up to 5% of our runtime in some profiles; anything
- * we could do to make it faster would be great.
- *
- * Experimenting suggests that unrolling the inner loop into a switch
- * statement doesn't help. What does seem to help is making the input and
- * output buffers word aligned, and never crypting anything besides an
- * integer number of words at a time -- it shaves maybe 4-5% of the per-byte
- * encryption time measured by bench_aes. We can't do that with the current
- * Tor protocol, though: Tor really likes to crypt things in 509-byte
- * chunks.
- *
- * If we were really ambitous, we'd force len to be a multiple of the block
- * size, and shave maybe another 4-5% off.
- */
- int c = cipher->pos;
- if (PREDICT_UNLIKELY(!len)) return;
-
- while (1) {
- do {
- if (len-- == 0) { cipher->pos = c; return; }
- *(output++) = *(input++) ^ cipher->buf[c];
- } while (++c != 16);
- cipher->pos = c = 0;
- if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 0))) {
- if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 1))) {
- if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 2))) {
- ++COUNTER(cipher, 3);
- UPDATE_CTR_BUF(cipher, 3);
+#ifdef CAN_USE_OPENSSL_CTR
+ if (should_use_openssl_CTR) {
+ if (cipher->using_evp) {
+ /* In openssl 1.0.0, there's an if'd out EVP_aes_128_ctr in evp.h. If
+ * it weren't disabled, it might be better just to use that.
+ */
+ CRYPTO_ctr128_encrypt((const unsigned char *)input,
+ (unsigned char *)output,
+ len,
+ &cipher->key.evp,
+ cipher->ctr_buf.buf,
+ cipher->buf,
+ &cipher->pos,
+ evp_block128_fn);
+ } else {
+ AES_ctr128_encrypt((const unsigned char *)input,
+ (unsigned char *)output,
+ len,
+ &cipher->key.aes,
+ cipher->ctr_buf.buf,
+ cipher->buf,
+ &cipher->pos);
+ }
+ return;
+ }
+ else
+#endif
+ {
+ int c = cipher->pos;
+ if (PREDICT_UNLIKELY(!len)) return;
+
+ while (1) {
+ do {
+ if (len-- == 0) { cipher->pos = c; return; }
+ *(output++) = *(input++) ^ cipher->buf[c];
+ } while (++c != 16);
+ cipher->pos = c = 0;
+ if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 0))) {
+ if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 1))) {
+ if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 2))) {
+ ++COUNTER(cipher, 3);
+ UPDATE_CTR_BUF(cipher, 3);
+ }
+ UPDATE_CTR_BUF(cipher, 2);
}
- UPDATE_CTR_BUF(cipher, 2);
+ UPDATE_CTR_BUF(cipher, 1);
}
- UPDATE_CTR_BUF(cipher, 1);
+ UPDATE_CTR_BUF(cipher, 0);
+ _aes_fill_buf(cipher);
}
- UPDATE_CTR_BUF(cipher, 0);
- _aes_fill_buf(cipher);
}
}
@@ -336,32 +363,36 @@ aes_crypt(aes_cnt_cipher_t *cipher, const char *input, size_t len,
void
aes_crypt_inplace(aes_cnt_cipher_t *cipher, char *data, size_t len)
{
-
- /* XXXX This function is up to 5% of our runtime in some profiles;
- * we should look into unrolling some of the loops; taking advantage
- * of alignment, using a bigger buffer, and so on. Not till after 0.1.2.x,
- * though. */
- int c = cipher->pos;
- if (PREDICT_UNLIKELY(!len)) return;
-
- while (1) {
- do {
- if (len-- == 0) { cipher->pos = c; return; }
- *(data++) ^= cipher->buf[c];
- } while (++c != 16);
- cipher->pos = c = 0;
- if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 0))) {
- if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 1))) {
- if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 2))) {
- ++COUNTER(cipher, 3);
- UPDATE_CTR_BUF(cipher, 3);
+#ifdef CAN_USE_OPENSSL_CTR
+ if (should_use_openssl_CTR) {
+ aes_crypt(cipher, data, len, data);
+ return;
+ }
+ else
+#endif
+ {
+ int c = cipher->pos;
+ if (PREDICT_UNLIKELY(!len)) return;
+
+ while (1) {
+ do {
+ if (len-- == 0) { cipher->pos = c; return; }
+ *(data++) ^= cipher->buf[c];
+ } while (++c != 16);
+ cipher->pos = c = 0;
+ if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 0))) {
+ if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 1))) {
+ if (PREDICT_UNLIKELY(! ++COUNTER(cipher, 2))) {
+ ++COUNTER(cipher, 3);
+ UPDATE_CTR_BUF(cipher, 3);
+ }
+ UPDATE_CTR_BUF(cipher, 2);
}
- UPDATE_CTR_BUF(cipher, 2);
+ UPDATE_CTR_BUF(cipher, 1);
}
- UPDATE_CTR_BUF(cipher, 1);
+ UPDATE_CTR_BUF(cipher, 0);
+ _aes_fill_buf(cipher);
}
- UPDATE_CTR_BUF(cipher, 0);
- _aes_fill_buf(cipher);
}
}
@@ -377,705 +408,11 @@ aes_set_iv(aes_cnt_cipher_t *cipher, const char *iv)
cipher->counter0 = ntohl(get_uint32(iv+12));
#endif
cipher->pos = 0;
-#ifndef USE_RIJNDAEL_COUNTER_OPTIMIZATION
memcpy(cipher->ctr_buf.buf, iv, 16);
-#endif
-
- _aes_fill_buf(cipher);
-}
-
-#ifdef USE_BUILTIN_AES
-/*======================================================================*/
-/* From rijndael-alg-fst.c */
-
-/**
- * rijndael-alg-fst.c
- *
- * @version 3.0 (December 2000)
- *
- * Optimized ANSI C code for the Rijndael cipher (now AES)
- *
- * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
- * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
- * @author Paulo Barreto <paulo.barreto@terra.com.br>
- *
- * This code is hereby placed in the public domain.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
- * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
-Te0[x] = S [x].[02, 01, 01, 03];
-Te1[x] = S [x].[03, 02, 01, 01];
-Te2[x] = S [x].[01, 03, 02, 01];
-Te3[x] = S [x].[01, 01, 03, 02];
-Te4[x] = S [x].[01, 01, 01, 01];
-
-Td0[x] = Si[x].[0e, 09, 0d, 0b];
-Td1[x] = Si[x].[0b, 0e, 09, 0d];
-Td2[x] = Si[x].[0d, 0b, 0e, 09];
-Td3[x] = Si[x].[09, 0d, 0b, 0e];
-Td4[x] = Si[x].[01, 01, 01, 01];
-*/
-
-static const u32 Te0[256] = {
- 0xc66363a5U, 0xf87c7c84U, 0xee777799U, 0xf67b7b8dU,
- 0xfff2f20dU, 0xd66b6bbdU, 0xde6f6fb1U, 0x91c5c554U,
- 0x60303050U, 0x02010103U, 0xce6767a9U, 0x562b2b7dU,
- 0xe7fefe19U, 0xb5d7d762U, 0x4dababe6U, 0xec76769aU,
- 0x8fcaca45U, 0x1f82829dU, 0x89c9c940U, 0xfa7d7d87U,
- 0xeffafa15U, 0xb25959ebU, 0x8e4747c9U, 0xfbf0f00bU,
- 0x41adadecU, 0xb3d4d467U, 0x5fa2a2fdU, 0x45afafeaU,
- 0x239c9cbfU, 0x53a4a4f7U, 0xe4727296U, 0x9bc0c05bU,
- 0x75b7b7c2U, 0xe1fdfd1cU, 0x3d9393aeU, 0x4c26266aU,
- 0x6c36365aU, 0x7e3f3f41U, 0xf5f7f702U, 0x83cccc4fU,
- 0x6834345cU, 0x51a5a5f4U, 0xd1e5e534U, 0xf9f1f108U,
- 0xe2717193U, 0xabd8d873U, 0x62313153U, 0x2a15153fU,
- 0x0804040cU, 0x95c7c752U, 0x46232365U, 0x9dc3c35eU,
- 0x30181828U, 0x379696a1U, 0x0a05050fU, 0x2f9a9ab5U,
- 0x0e070709U, 0x24121236U, 0x1b80809bU, 0xdfe2e23dU,
- 0xcdebeb26U, 0x4e272769U, 0x7fb2b2cdU, 0xea75759fU,
- 0x1209091bU, 0x1d83839eU, 0x582c2c74U, 0x341a1a2eU,
- 0x361b1b2dU, 0xdc6e6eb2U, 0xb45a5aeeU, 0x5ba0a0fbU,
- 0xa45252f6U, 0x763b3b4dU, 0xb7d6d661U, 0x7db3b3ceU,
- 0x5229297bU, 0xdde3e33eU, 0x5e2f2f71U, 0x13848497U,
- 0xa65353f5U, 0xb9d1d168U, 0x00000000U, 0xc1eded2cU,
- 0x40202060U, 0xe3fcfc1fU, 0x79b1b1c8U, 0xb65b5bedU,
- 0xd46a6abeU, 0x8dcbcb46U, 0x67bebed9U, 0x7239394bU,
- 0x944a4adeU, 0x984c4cd4U, 0xb05858e8U, 0x85cfcf4aU,
- 0xbbd0d06bU, 0xc5efef2aU, 0x4faaaae5U, 0xedfbfb16U,
- 0x864343c5U, 0x9a4d4dd7U, 0x66333355U, 0x11858594U,
- 0x8a4545cfU, 0xe9f9f910U, 0x04020206U, 0xfe7f7f81U,
- 0xa05050f0U, 0x783c3c44U, 0x259f9fbaU, 0x4ba8a8e3U,
- 0xa25151f3U, 0x5da3a3feU, 0x804040c0U, 0x058f8f8aU,
- 0x3f9292adU, 0x219d9dbcU, 0x70383848U, 0xf1f5f504U,
- 0x63bcbcdfU, 0x77b6b6c1U, 0xafdada75U, 0x42212163U,
- 0x20101030U, 0xe5ffff1aU, 0xfdf3f30eU, 0xbfd2d26dU,
- 0x81cdcd4cU, 0x180c0c14U, 0x26131335U, 0xc3ecec2fU,
- 0xbe5f5fe1U, 0x359797a2U, 0x884444ccU, 0x2e171739U,
- 0x93c4c457U, 0x55a7a7f2U, 0xfc7e7e82U, 0x7a3d3d47U,
- 0xc86464acU, 0xba5d5de7U, 0x3219192bU, 0xe6737395U,
- 0xc06060a0U, 0x19818198U, 0x9e4f4fd1U, 0xa3dcdc7fU,
- 0x44222266U, 0x542a2a7eU, 0x3b9090abU, 0x0b888883U,
- 0x8c4646caU, 0xc7eeee29U, 0x6bb8b8d3U, 0x2814143cU,
- 0xa7dede79U, 0xbc5e5ee2U, 0x160b0b1dU, 0xaddbdb76U,
- 0xdbe0e03bU, 0x64323256U, 0x743a3a4eU, 0x140a0a1eU,
- 0x924949dbU, 0x0c06060aU, 0x4824246cU, 0xb85c5ce4U,
- 0x9fc2c25dU, 0xbdd3d36eU, 0x43acacefU, 0xc46262a6U,
- 0x399191a8U, 0x319595a4U, 0xd3e4e437U, 0xf279798bU,
- 0xd5e7e732U, 0x8bc8c843U, 0x6e373759U, 0xda6d6db7U,
- 0x018d8d8cU, 0xb1d5d564U, 0x9c4e4ed2U, 0x49a9a9e0U,
- 0xd86c6cb4U, 0xac5656faU, 0xf3f4f407U, 0xcfeaea25U,
- 0xca6565afU, 0xf47a7a8eU, 0x47aeaee9U, 0x10080818U,
- 0x6fbabad5U, 0xf0787888U, 0x4a25256fU, 0x5c2e2e72U,
- 0x381c1c24U, 0x57a6a6f1U, 0x73b4b4c7U, 0x97c6c651U,
- 0xcbe8e823U, 0xa1dddd7cU, 0xe874749cU, 0x3e1f1f21U,
- 0x964b4bddU, 0x61bdbddcU, 0x0d8b8b86U, 0x0f8a8a85U,
- 0xe0707090U, 0x7c3e3e42U, 0x71b5b5c4U, 0xcc6666aaU,
- 0x904848d8U, 0x06030305U, 0xf7f6f601U, 0x1c0e0e12U,
- 0xc26161a3U, 0x6a35355fU, 0xae5757f9U, 0x69b9b9d0U,
- 0x17868691U, 0x99c1c158U, 0x3a1d1d27U, 0x279e9eb9U,
- 0xd9e1e138U, 0xebf8f813U, 0x2b9898b3U, 0x22111133U,
- 0xd26969bbU, 0xa9d9d970U, 0x078e8e89U, 0x339494a7U,
- 0x2d9b9bb6U, 0x3c1e1e22U, 0x15878792U, 0xc9e9e920U,
- 0x87cece49U, 0xaa5555ffU, 0x50282878U, 0xa5dfdf7aU,
- 0x038c8c8fU, 0x59a1a1f8U, 0x09898980U, 0x1a0d0d17U,
- 0x65bfbfdaU, 0xd7e6e631U, 0x844242c6U, 0xd06868b8U,
- 0x824141c3U, 0x299999b0U, 0x5a2d2d77U, 0x1e0f0f11U,
- 0x7bb0b0cbU, 0xa85454fcU, 0x6dbbbbd6U, 0x2c16163aU,
-};
-static const u32 Te1[256] = {
- 0xa5c66363U, 0x84f87c7cU, 0x99ee7777U, 0x8df67b7bU,
- 0x0dfff2f2U, 0xbdd66b6bU, 0xb1de6f6fU, 0x5491c5c5U,
- 0x50603030U, 0x03020101U, 0xa9ce6767U, 0x7d562b2bU,
- 0x19e7fefeU, 0x62b5d7d7U, 0xe64dababU, 0x9aec7676U,
- 0x458fcacaU, 0x9d1f8282U, 0x4089c9c9U, 0x87fa7d7dU,
- 0x15effafaU, 0xebb25959U, 0xc98e4747U, 0x0bfbf0f0U,
- 0xec41adadU, 0x67b3d4d4U, 0xfd5fa2a2U, 0xea45afafU,
- 0xbf239c9cU, 0xf753a4a4U, 0x96e47272U, 0x5b9bc0c0U,
- 0xc275b7b7U, 0x1ce1fdfdU, 0xae3d9393U, 0x6a4c2626U,
- 0x5a6c3636U, 0x417e3f3fU, 0x02f5f7f7U, 0x4f83ccccU,
- 0x5c683434U, 0xf451a5a5U, 0x34d1e5e5U, 0x08f9f1f1U,
- 0x93e27171U, 0x73abd8d8U, 0x53623131U, 0x3f2a1515U,
- 0x0c080404U, 0x5295c7c7U, 0x65462323U, 0x5e9dc3c3U,
- 0x28301818U, 0xa1379696U, 0x0f0a0505U, 0xb52f9a9aU,
- 0x090e0707U, 0x36241212U, 0x9b1b8080U, 0x3ddfe2e2U,
- 0x26cdebebU, 0x694e2727U, 0xcd7fb2b2U, 0x9fea7575U,
- 0x1b120909U, 0x9e1d8383U, 0x74582c2cU, 0x2e341a1aU,
- 0x2d361b1bU, 0xb2dc6e6eU, 0xeeb45a5aU, 0xfb5ba0a0U,
- 0xf6a45252U, 0x4d763b3bU, 0x61b7d6d6U, 0xce7db3b3U,
- 0x7b522929U, 0x3edde3e3U, 0x715e2f2fU, 0x97138484U,
- 0xf5a65353U, 0x68b9d1d1U, 0x00000000U, 0x2cc1ededU,
- 0x60402020U, 0x1fe3fcfcU, 0xc879b1b1U, 0xedb65b5bU,
- 0xbed46a6aU, 0x468dcbcbU, 0xd967bebeU, 0x4b723939U,
- 0xde944a4aU, 0xd4984c4cU, 0xe8b05858U, 0x4a85cfcfU,
- 0x6bbbd0d0U, 0x2ac5efefU, 0xe54faaaaU, 0x16edfbfbU,
- 0xc5864343U, 0xd79a4d4dU, 0x55663333U, 0x94118585U,
- 0xcf8a4545U, 0x10e9f9f9U, 0x06040202U, 0x81fe7f7fU,
- 0xf0a05050U, 0x44783c3cU, 0xba259f9fU, 0xe34ba8a8U,
- 0xf3a25151U, 0xfe5da3a3U, 0xc0804040U, 0x8a058f8fU,
- 0xad3f9292U, 0xbc219d9dU, 0x48703838U, 0x04f1f5f5U,
- 0xdf63bcbcU, 0xc177b6b6U, 0x75afdadaU, 0x63422121U,
- 0x30201010U, 0x1ae5ffffU, 0x0efdf3f3U, 0x6dbfd2d2U,
- 0x4c81cdcdU, 0x14180c0cU, 0x35261313U, 0x2fc3ececU,
- 0xe1be5f5fU, 0xa2359797U, 0xcc884444U, 0x392e1717U,
- 0x5793c4c4U, 0xf255a7a7U, 0x82fc7e7eU, 0x477a3d3dU,
- 0xacc86464U, 0xe7ba5d5dU, 0x2b321919U, 0x95e67373U,
- 0xa0c06060U, 0x98198181U, 0xd19e4f4fU, 0x7fa3dcdcU,
- 0x66442222U, 0x7e542a2aU, 0xab3b9090U, 0x830b8888U,
- 0xca8c4646U, 0x29c7eeeeU, 0xd36bb8b8U, 0x3c281414U,
- 0x79a7dedeU, 0xe2bc5e5eU, 0x1d160b0bU, 0x76addbdbU,
- 0x3bdbe0e0U, 0x56643232U, 0x4e743a3aU, 0x1e140a0aU,
- 0xdb924949U, 0x0a0c0606U, 0x6c482424U, 0xe4b85c5cU,
- 0x5d9fc2c2U, 0x6ebdd3d3U, 0xef43acacU, 0xa6c46262U,
- 0xa8399191U, 0xa4319595U, 0x37d3e4e4U, 0x8bf27979U,
- 0x32d5e7e7U, 0x438bc8c8U, 0x596e3737U, 0xb7da6d6dU,
- 0x8c018d8dU, 0x64b1d5d5U, 0xd29c4e4eU, 0xe049a9a9U,
- 0xb4d86c6cU, 0xfaac5656U, 0x07f3f4f4U, 0x25cfeaeaU,
- 0xafca6565U, 0x8ef47a7aU, 0xe947aeaeU, 0x18100808U,
- 0xd56fbabaU, 0x88f07878U, 0x6f4a2525U, 0x725c2e2eU,
- 0x24381c1cU, 0xf157a6a6U, 0xc773b4b4U, 0x5197c6c6U,
- 0x23cbe8e8U, 0x7ca1ddddU, 0x9ce87474U, 0x213e1f1fU,
- 0xdd964b4bU, 0xdc61bdbdU, 0x860d8b8bU, 0x850f8a8aU,
- 0x90e07070U, 0x427c3e3eU, 0xc471b5b5U, 0xaacc6666U,
- 0xd8904848U, 0x05060303U, 0x01f7f6f6U, 0x121c0e0eU,
- 0xa3c26161U, 0x5f6a3535U, 0xf9ae5757U, 0xd069b9b9U,
- 0x91178686U, 0x5899c1c1U, 0x273a1d1dU, 0xb9279e9eU,
- 0x38d9e1e1U, 0x13ebf8f8U, 0xb32b9898U, 0x33221111U,
- 0xbbd26969U, 0x70a9d9d9U, 0x89078e8eU, 0xa7339494U,
- 0xb62d9b9bU, 0x223c1e1eU, 0x92158787U, 0x20c9e9e9U,
- 0x4987ceceU, 0xffaa5555U, 0x78502828U, 0x7aa5dfdfU,
- 0x8f038c8cU, 0xf859a1a1U, 0x80098989U, 0x171a0d0dU,
- 0xda65bfbfU, 0x31d7e6e6U, 0xc6844242U, 0xb8d06868U,
- 0xc3824141U, 0xb0299999U, 0x775a2d2dU, 0x111e0f0fU,
- 0xcb7bb0b0U, 0xfca85454U, 0xd66dbbbbU, 0x3a2c1616U,
-};
-static const u32 Te2[256] = {
- 0x63a5c663U, 0x7c84f87cU, 0x7799ee77U, 0x7b8df67bU,
- 0xf20dfff2U, 0x6bbdd66bU, 0x6fb1de6fU, 0xc55491c5U,
- 0x30506030U, 0x01030201U, 0x67a9ce67U, 0x2b7d562bU,
- 0xfe19e7feU, 0xd762b5d7U, 0xabe64dabU, 0x769aec76U,
- 0xca458fcaU, 0x829d1f82U, 0xc94089c9U, 0x7d87fa7dU,
- 0xfa15effaU, 0x59ebb259U, 0x47c98e47U, 0xf00bfbf0U,
- 0xadec41adU, 0xd467b3d4U, 0xa2fd5fa2U, 0xafea45afU,
- 0x9cbf239cU, 0xa4f753a4U, 0x7296e472U, 0xc05b9bc0U,
- 0xb7c275b7U, 0xfd1ce1fdU, 0x93ae3d93U, 0x266a4c26U,
- 0x365a6c36U, 0x3f417e3fU, 0xf702f5f7U, 0xcc4f83ccU,
- 0x345c6834U, 0xa5f451a5U, 0xe534d1e5U, 0xf108f9f1U,
- 0x7193e271U, 0xd873abd8U, 0x31536231U, 0x153f2a15U,
- 0x040c0804U, 0xc75295c7U, 0x23654623U, 0xc35e9dc3U,
- 0x18283018U, 0x96a13796U, 0x050f0a05U, 0x9ab52f9aU,
- 0x07090e07U, 0x12362412U, 0x809b1b80U, 0xe23ddfe2U,
- 0xeb26cdebU, 0x27694e27U, 0xb2cd7fb2U, 0x759fea75U,
- 0x091b1209U, 0x839e1d83U, 0x2c74582cU, 0x1a2e341aU,
- 0x1b2d361bU, 0x6eb2dc6eU, 0x5aeeb45aU, 0xa0fb5ba0U,
- 0x52f6a452U, 0x3b4d763bU, 0xd661b7d6U, 0xb3ce7db3U,
- 0x297b5229U, 0xe33edde3U, 0x2f715e2fU, 0x84971384U,
- 0x53f5a653U, 0xd168b9d1U, 0x00000000U, 0xed2cc1edU,
- 0x20604020U, 0xfc1fe3fcU, 0xb1c879b1U, 0x5bedb65bU,
- 0x6abed46aU, 0xcb468dcbU, 0xbed967beU, 0x394b7239U,
- 0x4ade944aU, 0x4cd4984cU, 0x58e8b058U, 0xcf4a85cfU,
- 0xd06bbbd0U, 0xef2ac5efU, 0xaae54faaU, 0xfb16edfbU,
- 0x43c58643U, 0x4dd79a4dU, 0x33556633U, 0x85941185U,
- 0x45cf8a45U, 0xf910e9f9U, 0x02060402U, 0x7f81fe7fU,
- 0x50f0a050U, 0x3c44783cU, 0x9fba259fU, 0xa8e34ba8U,
- 0x51f3a251U, 0xa3fe5da3U, 0x40c08040U, 0x8f8a058fU,
- 0x92ad3f92U, 0x9dbc219dU, 0x38487038U, 0xf504f1f5U,
- 0xbcdf63bcU, 0xb6c177b6U, 0xda75afdaU, 0x21634221U,
- 0x10302010U, 0xff1ae5ffU, 0xf30efdf3U, 0xd26dbfd2U,
- 0xcd4c81cdU, 0x0c14180cU, 0x13352613U, 0xec2fc3ecU,
- 0x5fe1be5fU, 0x97a23597U, 0x44cc8844U, 0x17392e17U,
- 0xc45793c4U, 0xa7f255a7U, 0x7e82fc7eU, 0x3d477a3dU,
- 0x64acc864U, 0x5de7ba5dU, 0x192b3219U, 0x7395e673U,
- 0x60a0c060U, 0x81981981U, 0x4fd19e4fU, 0xdc7fa3dcU,
- 0x22664422U, 0x2a7e542aU, 0x90ab3b90U, 0x88830b88U,
- 0x46ca8c46U, 0xee29c7eeU, 0xb8d36bb8U, 0x143c2814U,
- 0xde79a7deU, 0x5ee2bc5eU, 0x0b1d160bU, 0xdb76addbU,
- 0xe03bdbe0U, 0x32566432U, 0x3a4e743aU, 0x0a1e140aU,
- 0x49db9249U, 0x060a0c06U, 0x246c4824U, 0x5ce4b85cU,
- 0xc25d9fc2U, 0xd36ebdd3U, 0xacef43acU, 0x62a6c462U,
- 0x91a83991U, 0x95a43195U, 0xe437d3e4U, 0x798bf279U,
- 0xe732d5e7U, 0xc8438bc8U, 0x37596e37U, 0x6db7da6dU,
- 0x8d8c018dU, 0xd564b1d5U, 0x4ed29c4eU, 0xa9e049a9U,
- 0x6cb4d86cU, 0x56faac56U, 0xf407f3f4U, 0xea25cfeaU,
- 0x65afca65U, 0x7a8ef47aU, 0xaee947aeU, 0x08181008U,
- 0xbad56fbaU, 0x7888f078U, 0x256f4a25U, 0x2e725c2eU,
- 0x1c24381cU, 0xa6f157a6U, 0xb4c773b4U, 0xc65197c6U,
- 0xe823cbe8U, 0xdd7ca1ddU, 0x749ce874U, 0x1f213e1fU,
- 0x4bdd964bU, 0xbddc61bdU, 0x8b860d8bU, 0x8a850f8aU,
- 0x7090e070U, 0x3e427c3eU, 0xb5c471b5U, 0x66aacc66U,
- 0x48d89048U, 0x03050603U, 0xf601f7f6U, 0x0e121c0eU,
- 0x61a3c261U, 0x355f6a35U, 0x57f9ae57U, 0xb9d069b9U,
- 0x86911786U, 0xc15899c1U, 0x1d273a1dU, 0x9eb9279eU,
- 0xe138d9e1U, 0xf813ebf8U, 0x98b32b98U, 0x11332211U,
- 0x69bbd269U, 0xd970a9d9U, 0x8e89078eU, 0x94a73394U,
- 0x9bb62d9bU, 0x1e223c1eU, 0x87921587U, 0xe920c9e9U,
- 0xce4987ceU, 0x55ffaa55U, 0x28785028U, 0xdf7aa5dfU,
- 0x8c8f038cU, 0xa1f859a1U, 0x89800989U, 0x0d171a0dU,
- 0xbfda65bfU, 0xe631d7e6U, 0x42c68442U, 0x68b8d068U,
- 0x41c38241U, 0x99b02999U, 0x2d775a2dU, 0x0f111e0fU,
- 0xb0cb7bb0U, 0x54fca854U, 0xbbd66dbbU, 0x163a2c16U,
-};
-static const u32 Te3[256] = {
-
- 0x6363a5c6U, 0x7c7c84f8U, 0x777799eeU, 0x7b7b8df6U,
- 0xf2f20dffU, 0x6b6bbdd6U, 0x6f6fb1deU, 0xc5c55491U,
- 0x30305060U, 0x01010302U, 0x6767a9ceU, 0x2b2b7d56U,
- 0xfefe19e7U, 0xd7d762b5U, 0xababe64dU, 0x76769aecU,
- 0xcaca458fU, 0x82829d1fU, 0xc9c94089U, 0x7d7d87faU,
- 0xfafa15efU, 0x5959ebb2U, 0x4747c98eU, 0xf0f00bfbU,
- 0xadadec41U, 0xd4d467b3U, 0xa2a2fd5fU, 0xafafea45U,
- 0x9c9cbf23U, 0xa4a4f753U, 0x727296e4U, 0xc0c05b9bU,
- 0xb7b7c275U, 0xfdfd1ce1U, 0x9393ae3dU, 0x26266a4cU,
- 0x36365a6cU, 0x3f3f417eU, 0xf7f702f5U, 0xcccc4f83U,
- 0x34345c68U, 0xa5a5f451U, 0xe5e534d1U, 0xf1f108f9U,
- 0x717193e2U, 0xd8d873abU, 0x31315362U, 0x15153f2aU,
- 0x04040c08U, 0xc7c75295U, 0x23236546U, 0xc3c35e9dU,
- 0x18182830U, 0x9696a137U, 0x05050f0aU, 0x9a9ab52fU,
- 0x0707090eU, 0x12123624U, 0x80809b1bU, 0xe2e23ddfU,
- 0xebeb26cdU, 0x2727694eU, 0xb2b2cd7fU, 0x75759feaU,
- 0x09091b12U, 0x83839e1dU, 0x2c2c7458U, 0x1a1a2e34U,
- 0x1b1b2d36U, 0x6e6eb2dcU, 0x5a5aeeb4U, 0xa0a0fb5bU,
- 0x5252f6a4U, 0x3b3b4d76U, 0xd6d661b7U, 0xb3b3ce7dU,
- 0x29297b52U, 0xe3e33eddU, 0x2f2f715eU, 0x84849713U,
- 0x5353f5a6U, 0xd1d168b9U, 0x00000000U, 0xeded2cc1U,
- 0x20206040U, 0xfcfc1fe3U, 0xb1b1c879U, 0x5b5bedb6U,
- 0x6a6abed4U, 0xcbcb468dU, 0xbebed967U, 0x39394b72U,
- 0x4a4ade94U, 0x4c4cd498U, 0x5858e8b0U, 0xcfcf4a85U,
- 0xd0d06bbbU, 0xefef2ac5U, 0xaaaae54fU, 0xfbfb16edU,
- 0x4343c586U, 0x4d4dd79aU, 0x33335566U, 0x85859411U,
- 0x4545cf8aU, 0xf9f910e9U, 0x02020604U, 0x7f7f81feU,
- 0x5050f0a0U, 0x3c3c4478U, 0x9f9fba25U, 0xa8a8e34bU,
- 0x5151f3a2U, 0xa3a3fe5dU, 0x4040c080U, 0x8f8f8a05U,
- 0x9292ad3fU, 0x9d9dbc21U, 0x38384870U, 0xf5f504f1U,
- 0xbcbcdf63U, 0xb6b6c177U, 0xdada75afU, 0x21216342U,
- 0x10103020U, 0xffff1ae5U, 0xf3f30efdU, 0xd2d26dbfU,
- 0xcdcd4c81U, 0x0c0c1418U, 0x13133526U, 0xecec2fc3U,
- 0x5f5fe1beU, 0x9797a235U, 0x4444cc88U, 0x1717392eU,
- 0xc4c45793U, 0xa7a7f255U, 0x7e7e82fcU, 0x3d3d477aU,
- 0x6464acc8U, 0x5d5de7baU, 0x19192b32U, 0x737395e6U,
- 0x6060a0c0U, 0x81819819U, 0x4f4fd19eU, 0xdcdc7fa3U,
- 0x22226644U, 0x2a2a7e54U, 0x9090ab3bU, 0x8888830bU,
- 0x4646ca8cU, 0xeeee29c7U, 0xb8b8d36bU, 0x14143c28U,
- 0xdede79a7U, 0x5e5ee2bcU, 0x0b0b1d16U, 0xdbdb76adU,
- 0xe0e03bdbU, 0x32325664U, 0x3a3a4e74U, 0x0a0a1e14U,
- 0x4949db92U, 0x06060a0cU, 0x24246c48U, 0x5c5ce4b8U,
- 0xc2c25d9fU, 0xd3d36ebdU, 0xacacef43U, 0x6262a6c4U,
- 0x9191a839U, 0x9595a431U, 0xe4e437d3U, 0x79798bf2U,
- 0xe7e732d5U, 0xc8c8438bU, 0x3737596eU, 0x6d6db7daU,
- 0x8d8d8c01U, 0xd5d564b1U, 0x4e4ed29cU, 0xa9a9e049U,
- 0x6c6cb4d8U, 0x5656faacU, 0xf4f407f3U, 0xeaea25cfU,
- 0x6565afcaU, 0x7a7a8ef4U, 0xaeaee947U, 0x08081810U,
- 0xbabad56fU, 0x787888f0U, 0x25256f4aU, 0x2e2e725cU,
- 0x1c1c2438U, 0xa6a6f157U, 0xb4b4c773U, 0xc6c65197U,
- 0xe8e823cbU, 0xdddd7ca1U, 0x74749ce8U, 0x1f1f213eU,
- 0x4b4bdd96U, 0xbdbddc61U, 0x8b8b860dU, 0x8a8a850fU,
- 0x707090e0U, 0x3e3e427cU, 0xb5b5c471U, 0x6666aaccU,
- 0x4848d890U, 0x03030506U, 0xf6f601f7U, 0x0e0e121cU,
- 0x6161a3c2U, 0x35355f6aU, 0x5757f9aeU, 0xb9b9d069U,
- 0x86869117U, 0xc1c15899U, 0x1d1d273aU, 0x9e9eb927U,
- 0xe1e138d9U, 0xf8f813ebU, 0x9898b32bU, 0x11113322U,
- 0x6969bbd2U, 0xd9d970a9U, 0x8e8e8907U, 0x9494a733U,
- 0x9b9bb62dU, 0x1e1e223cU, 0x87879215U, 0xe9e920c9U,
- 0xcece4987U, 0x5555ffaaU, 0x28287850U, 0xdfdf7aa5U,
- 0x8c8c8f03U, 0xa1a1f859U, 0x89898009U, 0x0d0d171aU,
- 0xbfbfda65U, 0xe6e631d7U, 0x4242c684U, 0x6868b8d0U,
- 0x4141c382U, 0x9999b029U, 0x2d2d775aU, 0x0f0f111eU,
- 0xb0b0cb7bU, 0x5454fca8U, 0xbbbbd66dU, 0x16163a2cU,
-};
-static const u32 Te4[256] = {
- 0x63636363U, 0x7c7c7c7cU, 0x77777777U, 0x7b7b7b7bU,
- 0xf2f2f2f2U, 0x6b6b6b6bU, 0x6f6f6f6fU, 0xc5c5c5c5U,
- 0x30303030U, 0x01010101U, 0x67676767U, 0x2b2b2b2bU,
- 0xfefefefeU, 0xd7d7d7d7U, 0xababababU, 0x76767676U,
- 0xcacacacaU, 0x82828282U, 0xc9c9c9c9U, 0x7d7d7d7dU,
- 0xfafafafaU, 0x59595959U, 0x47474747U, 0xf0f0f0f0U,
- 0xadadadadU, 0xd4d4d4d4U, 0xa2a2a2a2U, 0xafafafafU,
- 0x9c9c9c9cU, 0xa4a4a4a4U, 0x72727272U, 0xc0c0c0c0U,
- 0xb7b7b7b7U, 0xfdfdfdfdU, 0x93939393U, 0x26262626U,
- 0x36363636U, 0x3f3f3f3fU, 0xf7f7f7f7U, 0xccccccccU,
- 0x34343434U, 0xa5a5a5a5U, 0xe5e5e5e5U, 0xf1f1f1f1U,
- 0x71717171U, 0xd8d8d8d8U, 0x31313131U, 0x15151515U,
- 0x04040404U, 0xc7c7c7c7U, 0x23232323U, 0xc3c3c3c3U,
- 0x18181818U, 0x96969696U, 0x05050505U, 0x9a9a9a9aU,
- 0x07070707U, 0x12121212U, 0x80808080U, 0xe2e2e2e2U,
- 0xebebebebU, 0x27272727U, 0xb2b2b2b2U, 0x75757575U,
- 0x09090909U, 0x83838383U, 0x2c2c2c2cU, 0x1a1a1a1aU,
- 0x1b1b1b1bU, 0x6e6e6e6eU, 0x5a5a5a5aU, 0xa0a0a0a0U,
- 0x52525252U, 0x3b3b3b3bU, 0xd6d6d6d6U, 0xb3b3b3b3U,
- 0x29292929U, 0xe3e3e3e3U, 0x2f2f2f2fU, 0x84848484U,
- 0x53535353U, 0xd1d1d1d1U, 0x00000000U, 0xededededU,
- 0x20202020U, 0xfcfcfcfcU, 0xb1b1b1b1U, 0x5b5b5b5bU,
- 0x6a6a6a6aU, 0xcbcbcbcbU, 0xbebebebeU, 0x39393939U,
- 0x4a4a4a4aU, 0x4c4c4c4cU, 0x58585858U, 0xcfcfcfcfU,
- 0xd0d0d0d0U, 0xefefefefU, 0xaaaaaaaaU, 0xfbfbfbfbU,
- 0x43434343U, 0x4d4d4d4dU, 0x33333333U, 0x85858585U,
- 0x45454545U, 0xf9f9f9f9U, 0x02020202U, 0x7f7f7f7fU,
- 0x50505050U, 0x3c3c3c3cU, 0x9f9f9f9fU, 0xa8a8a8a8U,
- 0x51515151U, 0xa3a3a3a3U, 0x40404040U, 0x8f8f8f8fU,
- 0x92929292U, 0x9d9d9d9dU, 0x38383838U, 0xf5f5f5f5U,
- 0xbcbcbcbcU, 0xb6b6b6b6U, 0xdadadadaU, 0x21212121U,
- 0x10101010U, 0xffffffffU, 0xf3f3f3f3U, 0xd2d2d2d2U,
- 0xcdcdcdcdU, 0x0c0c0c0cU, 0x13131313U, 0xececececU,
- 0x5f5f5f5fU, 0x97979797U, 0x44444444U, 0x17171717U,
- 0xc4c4c4c4U, 0xa7a7a7a7U, 0x7e7e7e7eU, 0x3d3d3d3dU,
- 0x64646464U, 0x5d5d5d5dU, 0x19191919U, 0x73737373U,
- 0x60606060U, 0x81818181U, 0x4f4f4f4fU, 0xdcdcdcdcU,
- 0x22222222U, 0x2a2a2a2aU, 0x90909090U, 0x88888888U,
- 0x46464646U, 0xeeeeeeeeU, 0xb8b8b8b8U, 0x14141414U,
- 0xdedededeU, 0x5e5e5e5eU, 0x0b0b0b0bU, 0xdbdbdbdbU,
- 0xe0e0e0e0U, 0x32323232U, 0x3a3a3a3aU, 0x0a0a0a0aU,
- 0x49494949U, 0x06060606U, 0x24242424U, 0x5c5c5c5cU,
- 0xc2c2c2c2U, 0xd3d3d3d3U, 0xacacacacU, 0x62626262U,
- 0x91919191U, 0x95959595U, 0xe4e4e4e4U, 0x79797979U,
- 0xe7e7e7e7U, 0xc8c8c8c8U, 0x37373737U, 0x6d6d6d6dU,
- 0x8d8d8d8dU, 0xd5d5d5d5U, 0x4e4e4e4eU, 0xa9a9a9a9U,
- 0x6c6c6c6cU, 0x56565656U, 0xf4f4f4f4U, 0xeaeaeaeaU,
- 0x65656565U, 0x7a7a7a7aU, 0xaeaeaeaeU, 0x08080808U,
- 0xbabababaU, 0x78787878U, 0x25252525U, 0x2e2e2e2eU,
- 0x1c1c1c1cU, 0xa6a6a6a6U, 0xb4b4b4b4U, 0xc6c6c6c6U,
- 0xe8e8e8e8U, 0xddddddddU, 0x74747474U, 0x1f1f1f1fU,
- 0x4b4b4b4bU, 0xbdbdbdbdU, 0x8b8b8b8bU, 0x8a8a8a8aU,
- 0x70707070U, 0x3e3e3e3eU, 0xb5b5b5b5U, 0x66666666U,
- 0x48484848U, 0x03030303U, 0xf6f6f6f6U, 0x0e0e0e0eU,
- 0x61616161U, 0x35353535U, 0x57575757U, 0xb9b9b9b9U,
- 0x86868686U, 0xc1c1c1c1U, 0x1d1d1d1dU, 0x9e9e9e9eU,
- 0xe1e1e1e1U, 0xf8f8f8f8U, 0x98989898U, 0x11111111U,
- 0x69696969U, 0xd9d9d9d9U, 0x8e8e8e8eU, 0x94949494U,
- 0x9b9b9b9bU, 0x1e1e1e1eU, 0x87878787U, 0xe9e9e9e9U,
- 0xcecececeU, 0x55555555U, 0x28282828U, 0xdfdfdfdfU,
- 0x8c8c8c8cU, 0xa1a1a1a1U, 0x89898989U, 0x0d0d0d0dU,
- 0xbfbfbfbfU, 0xe6e6e6e6U, 0x42424242U, 0x68686868U,
- 0x41414141U, 0x99999999U, 0x2d2d2d2dU, 0x0f0f0f0fU,
- 0xb0b0b0b0U, 0x54545454U, 0xbbbbbbbbU, 0x16161616U,
-};
-
-static const u32 rcon[] = {
- 0x01000000, 0x02000000, 0x04000000, 0x08000000,
- 0x10000000, 0x20000000, 0x40000000, 0x80000000,
- 0x1B000000, 0x36000000, /* for 128-bit blocks, Rijndael never uses more than 10 rcon values */
-};
-#define SWAP(x) (_lrotl(x, 8) & 0x00ff00ff | _lrotr(x, 8) & 0xff00ff00)
-
-#ifdef _MSC_VER
-#define GETU32(p) SWAP(*((u32 *)(p)))
-#define PUTU32(ct, st) { *((u32 *)(ct)) = SWAP((st)); }
-#else
-#define GETU32(pt) (((u32)(pt)[0] << 24) ^ ((u32)(pt)[1] << 16) ^ ((u32)(pt)[2] << 8) ^ ((u32)(pt)[3]))
-#define PUTU32(ct, st) { (ct)[0] = (u8)((st) >> 24); (ct)[1] = (u8)((st) >> 16); (ct)[2] = (u8)((st) >> 8); (ct)[3] = (u8)(st); }
-#endif
-
-/**
- * Expand the cipher key into the encryption key schedule.
- *
- * @return the number of rounds for the given cipher key size.
- */
-static int
-rijndaelKeySetupEnc(u32 rk[/*4*(Nr + 1)*/], const u8 cipherKey[], int keyBits)
-{
- int i = 0;
- u32 temp;
-
- rk[0] = GETU32(cipherKey );
- rk[1] = GETU32(cipherKey + 4);
- rk[2] = GETU32(cipherKey + 8);
- rk[3] = GETU32(cipherKey + 12);
- if (keyBits == 128) {
- for (;;) {
- temp = rk[3];
- rk[4] = rk[0] ^
- (Te4[(temp >> 16) & 0xff] & 0xff000000) ^
- (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^
- (Te4[(temp ) & 0xff] & 0x0000ff00) ^
- (Te4[(temp >> 24) ] & 0x000000ff) ^
- rcon[i];
- rk[5] = rk[1] ^ rk[4];
- rk[6] = rk[2] ^ rk[5];
- rk[7] = rk[3] ^ rk[6];
- if (++i == 10) {
- return 10;
- }
- rk += 4;
- }
- }
- rk[4] = GETU32(cipherKey + 16);
- rk[5] = GETU32(cipherKey + 20);
- if (keyBits == 192) {
- for (;;) {
- temp = rk[ 5];
- rk[ 6] = rk[ 0] ^
- (Te4[(temp >> 16) & 0xff] & 0xff000000) ^
- (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^
- (Te4[(temp ) & 0xff] & 0x0000ff00) ^
- (Te4[(temp >> 24) ] & 0x000000ff) ^
- rcon[i];
- rk[ 7] = rk[ 1] ^ rk[ 6];
- rk[ 8] = rk[ 2] ^ rk[ 7];
- rk[ 9] = rk[ 3] ^ rk[ 8];
- if (++i == 8) {
- return 12;
- }
- rk[10] = rk[ 4] ^ rk[ 9];
- rk[11] = rk[ 5] ^ rk[10];
- rk += 6;
- }
- }
- rk[6] = GETU32(cipherKey + 24);
- rk[7] = GETU32(cipherKey + 28);
- if (keyBits == 256) {
- for (;;) {
- temp = rk[ 7];
- rk[ 8] = rk[ 0] ^
- (Te4[(temp >> 16) & 0xff] & 0xff000000) ^
- (Te4[(temp >> 8) & 0xff] & 0x00ff0000) ^
- (Te4[(temp ) & 0xff] & 0x0000ff00) ^
- (Te4[(temp >> 24) ] & 0x000000ff) ^
- rcon[i];
- rk[ 9] = rk[ 1] ^ rk[ 8];
- rk[10] = rk[ 2] ^ rk[ 9];
- rk[11] = rk[ 3] ^ rk[10];
- if (++i == 7) {
- return 14;
- }
- temp = rk[11];
- rk[12] = rk[ 4] ^
- (Te4[(temp >> 24) ] & 0xff000000) ^
- (Te4[(temp >> 16) & 0xff] & 0x00ff0000) ^
- (Te4[(temp >> 8) & 0xff] & 0x0000ff00) ^
- (Te4[(temp ) & 0xff] & 0x000000ff);
- rk[13] = rk[ 5] ^ rk[12];
- rk[14] = rk[ 6] ^ rk[13];
- rk[15] = rk[ 7] ^ rk[14];
-
- rk += 8;
- }
- }
- return 0;
-}
-
-#ifdef USE_RIJNDAEL_COUNTER_OPTIMIZATION
-static void
-rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, u32 ctr3, u32 ctr2, u32 ctr1, u32 ctr0, u8 ct[16])
-#else
-static void
-rijndaelEncrypt(const u32 rk[/*4*(Nr + 1)*/], int Nr, const u8 pt[16], u8 ct[16])
-#endif
-{
- u32 s0, s1, s2, s3, t0, t1, t2, t3;
-#ifndef FULL_UNROLL
- int r;
-#endif /* ?FULL_UNROLL */
-
- /*
- * map byte array block to cipher state
- * and add initial round key:
- */
-#ifdef USE_RIJNDAEL_COUNTER_OPTIMIZATION
- s0 = ctr3 ^ rk[0];
- s1 = ctr2 ^ rk[1];
- s2 = ctr1 ^ rk[2];
- s3 = ctr0 ^ rk[3];
-#else
- s0 = GETU32(pt ) ^ rk[0];
- s1 = GETU32(pt + 4) ^ rk[1];
- s2 = GETU32(pt + 8) ^ rk[2];
- s3 = GETU32(pt + 12) ^ rk[3];
+#ifdef CAN_USE_OPENSSL_CTR
+ if (!should_use_openssl_CTR)
#endif
-
-#ifdef FULL_UNROLL
- /* round 1: */
- t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[ 4];
- t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[ 5];
- t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[ 6];
- t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[ 7];
- /* round 2: */
- s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[ 8];
- s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[ 9];
- s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[10];
- s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[11];
- /* round 3: */
- t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[12];
- t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[13];
- t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[14];
- t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[15];
- /* round 4: */
- s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[16];
- s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[17];
- s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[18];
- s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[19];
- /* round 5: */
- t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[20];
- t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[21];
- t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[22];
- t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[23];
- /* round 6: */
- s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[24];
- s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[25];
- s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[26];
- s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[27];
- /* round 7: */
- t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[28];
- t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[29];
- t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[30];
- t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[31];
- /* round 8: */
- s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[32];
- s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[33];
- s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[34];
- s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[35];
- /* round 9: */
- t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[36];
- t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[37];
- t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[38];
- t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[39];
- if (Nr > 10) {
- /* round 10: */
- s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[40];
- s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[41];
- s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[42];
- s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[43];
- /* round 11: */
- t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[44];
- t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[45];
- t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[46];
- t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[47];
- if (Nr > 12) {
- /* round 12: */
- s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^ Te3[t3 & 0xff] ^ rk[48];
- s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^ Te3[t0 & 0xff] ^ rk[49];
- s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^ Te3[t1 & 0xff] ^ rk[50];
- s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^ Te3[t2 & 0xff] ^ rk[51];
- /* round 13: */
- t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^ Te3[s3 & 0xff] ^ rk[52];
- t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^ Te3[s0 & 0xff] ^ rk[53];
- t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^ Te3[s1 & 0xff] ^ rk[54];
- t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^ Te3[s2 & 0xff] ^ rk[55];
- }
- }
- rk += Nr << 2;
-#else /* !FULL_UNROLL */
- /*
- * Nr - 1 full rounds:
- */
- r = Nr >> 1;
- for (;;) {
- t0 =
- Te0[(s0 >> 24) ] ^
- Te1[(s1 >> 16) & 0xff] ^
- Te2[(s2 >> 8) & 0xff] ^
- Te3[(s3 ) & 0xff] ^
- rk[4];
- t1 =
- Te0[(s1 >> 24) ] ^
- Te1[(s2 >> 16) & 0xff] ^
- Te2[(s3 >> 8) & 0xff] ^
- Te3[(s0 ) & 0xff] ^
- rk[5];
- t2 =
- Te0[(s2 >> 24) ] ^
- Te1[(s3 >> 16) & 0xff] ^
- Te2[(s0 >> 8) & 0xff] ^
- Te3[(s1 ) & 0xff] ^
- rk[6];
- t3 =
- Te0[(s3 >> 24) ] ^
- Te1[(s0 >> 16) & 0xff] ^
- Te2[(s1 >> 8) & 0xff] ^
- Te3[(s2 ) & 0xff] ^
- rk[7];
-
- rk += 8;
- if (--r == 0) {
- break;
- }
-
- s0 =
- Te0[(t0 >> 24) ] ^
- Te1[(t1 >> 16) & 0xff] ^
- Te2[(t2 >> 8) & 0xff] ^
- Te3[(t3 ) & 0xff] ^
- rk[0];
- s1 =
- Te0[(t1 >> 24) ] ^
- Te1[(t2 >> 16) & 0xff] ^
- Te2[(t3 >> 8) & 0xff] ^
- Te3[(t0 ) & 0xff] ^
- rk[1];
- s2 =
- Te0[(t2 >> 24) ] ^
- Te1[(t3 >> 16) & 0xff] ^
- Te2[(t0 >> 8) & 0xff] ^
- Te3[(t1 ) & 0xff] ^
- rk[2];
- s3 =
- Te0[(t3 >> 24) ] ^
- Te1[(t0 >> 16) & 0xff] ^
- Te2[(t1 >> 8) & 0xff] ^
- Te3[(t2 ) & 0xff] ^
- rk[3];
- }
-#endif /* ?FULL_UNROLL */
- /*
- * apply last round and
- * map cipher state to byte array block:
- */
- s0 =
- (Te4[(t0 >> 24) ] & 0xff000000) ^
- (Te4[(t1 >> 16) & 0xff] & 0x00ff0000) ^
- (Te4[(t2 >> 8) & 0xff] & 0x0000ff00) ^
- (Te4[(t3 ) & 0xff] & 0x000000ff) ^
- rk[0];
- PUTU32(ct , s0);
- s1 =
- (Te4[(t1 >> 24) ] & 0xff000000) ^
- (Te4[(t2 >> 16) & 0xff] & 0x00ff0000) ^
- (Te4[(t3 >> 8) & 0xff] & 0x0000ff00) ^
- (Te4[(t0 ) & 0xff] & 0x000000ff) ^
- rk[1];
- PUTU32(ct + 4, s1);
- s2 =
- (Te4[(t2 >> 24) ] & 0xff000000) ^
- (Te4[(t3 >> 16) & 0xff] & 0x00ff0000) ^
- (Te4[(t0 >> 8) & 0xff] & 0x0000ff00) ^
- (Te4[(t1 ) & 0xff] & 0x000000ff) ^
- rk[2];
- PUTU32(ct + 8, s2);
- s3 =
- (Te4[(t3 >> 24) ] & 0xff000000) ^
- (Te4[(t0 >> 16) & 0xff] & 0x00ff0000) ^
- (Te4[(t1 >> 8) & 0xff] & 0x0000ff00) ^
- (Te4[(t2 ) & 0xff] & 0x000000ff) ^
- rk[3];
- PUTU32(ct + 12, s3);
-}
-#endif
-
-#ifdef AES_BENCHMARK
-int
-main(int c, char **v)
-{
- int i;
- char blob[509]; /* the size of a cell payload. */
- char blob_out[509];
- aes_cnt_cipher_t *cipher = aes_new_cipher();
- aes_set_key(cipher, "aesbenchmarkkey!", 128);
- memset(blob, 'z', sizeof(blob));
-
- for (i=0;i<1000000; ++i) {
- aes_crypt(cipher, blob, sizeof(blob), blob_out);
- }
- return 0;
+ _aes_fill_buf(cipher);
}
-#endif
diff --git a/src/common/aes.h b/src/common/aes.h
index eb633dbcc..f9de68a1b 100644
--- a/src/common/aes.h
+++ b/src/common/aes.h
@@ -13,18 +13,19 @@
* \brief Headers for aes.c
*/
-#include "torint.h"
-
struct aes_cnt_cipher;
typedef struct aes_cnt_cipher aes_cnt_cipher_t;
aes_cnt_cipher_t* aes_new_cipher(void);
-void aes_free_cipher(aes_cnt_cipher_t *cipher);
+void aes_cipher_free(aes_cnt_cipher_t *cipher);
void aes_set_key(aes_cnt_cipher_t *cipher, const char *key, int key_bits);
void aes_crypt(aes_cnt_cipher_t *cipher, const char *input, size_t len,
char *output);
void aes_crypt_inplace(aes_cnt_cipher_t *cipher, char *data, size_t len);
void aes_set_iv(aes_cnt_cipher_t *cipher, const char *iv);
+int evaluate_evp_for_aes(int force_value);
+int evaluate_ctr_for_aes(void);
+
#endif
diff --git a/src/common/compat.c b/src/common/compat.c
index 2cf7f463c..30bde3d1c 100644
--- a/src/common/compat.c
+++ b/src/common/compat.c
@@ -16,12 +16,16 @@
* We also need it to make memmem get defined (where available)
*/
/* XXXX023 We should just use AC_USE_SYSTEM_EXTENSIONS in our autoconf,
- * and get this (and other important stuff!) automatically */
+ * and get this (and other important stuff!) automatically. Once we do that,
+ * make sure to also change the extern char **environ detection in
+ * configure.in, because whether that is declared or not depends on whether
+ * we have _GNU_SOURCE defined! Maybe that means that once we take this out,
+ * we can also take out the configure check. */
#define _GNU_SOURCE
#include "compat.h"
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#include <process.h>
#include <windows.h>
#include <sys/locking.h>
@@ -51,6 +55,9 @@
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
+#ifdef HAVE_CRT_EXTERNS_H
+#include <crt_externs.h>
+#endif
#ifndef HAVE_GETTIMEOFDAY
#ifdef HAVE_FTIME
@@ -58,6 +65,14 @@
#endif
#endif
+/* Includes for the process attaching prevention */
+#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__)
+#include <sys/prctl.h>
+#elif defined(__APPLE__)
+#include <sys/types.h>
+#include <sys/ptrace.h>
+#endif
+
#ifdef HAVE_NETDB_H
#include <netdb.h>
#endif
@@ -197,7 +212,7 @@ tor_munmap_file(tor_mmap_t *handle)
munmap((char*)handle->data, handle->mapping_size);
tor_free(handle);
}
-#elif defined(MS_WINDOWS)
+#elif defined(_WIN32)
tor_mmap_t *
tor_mmap_file(const char *filename)
{
@@ -333,7 +348,7 @@ tor_vsnprintf(char *str, size_t size, const char *format, va_list args)
return -1; /* no place for the NUL */
if (size > SIZE_T_CEILING)
return -1;
-#ifdef MS_WINDOWS
+#ifdef _WIN32
r = _vsnprintf(str, size, format, args);
#else
r = vsnprintf(str, size, format, args);
@@ -562,7 +577,7 @@ tor_strtok_r_impl(char *str, const char *sep, char **lasts)
return start;
}
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/** Take a filename and return a pointer to its final element. This
* function is called on __FILE__ to fix a MSVC nit where __FILE__
* contains the full path to the file. This is bad, because it
@@ -662,7 +677,7 @@ set_uint64(void *cp, uint64_t v)
int
replace_file(const char *from, const char *to)
{
-#ifndef MS_WINDOWS
+#ifndef _WIN32
return rename(from,to);
#else
switch (file_status(to))
@@ -731,7 +746,7 @@ tor_lockfile_lock(const char *filename, int blocking, int *locked_out)
return NULL;
}
-#ifdef WIN32
+#ifdef _WIN32
_lseek(fd, 0, SEEK_SET);
if (_locking(fd, blocking ? _LK_LOCK : _LK_NBLCK, 1) < 0) {
if (errno != EACCES && errno != EDEADLOCK)
@@ -780,7 +795,7 @@ tor_lockfile_unlock(tor_lockfile_t *lockfile)
tor_assert(lockfile);
log_info(LD_FS, "Unlocking \"%s\"", lockfile->filename);
-#ifdef WIN32
+#ifdef _WIN32
_lseek(lockfile->fd, 0, SEEK_SET);
if (_locking(lockfile->fd, _LK_UNLCK, 1) < 0) {
log_warn(LD_FS,"Error unlocking \"%s\": %s", lockfile->filename,
@@ -816,7 +831,7 @@ tor_lockfile_unlock(tor_lockfile_t *lockfile)
off_t
tor_fd_getpos(int fd)
{
-#ifdef WIN32
+#ifdef _WIN32
return (off_t) _lseek(fd, 0, SEEK_CUR);
#else
return (off_t) lseek(fd, 0, SEEK_CUR);
@@ -827,7 +842,7 @@ tor_fd_getpos(int fd)
int
tor_fd_seekend(int fd)
{
-#ifdef WIN32
+#ifdef _WIN32
return _lseek(fd, 0, SEEK_END) < 0 ? -1 : 0;
#else
return lseek(fd, 0, SEEK_END) < 0 ? -1 : 0;
@@ -880,7 +895,7 @@ tor_close_socket(tor_socket_t s)
* tor_close_socket to close sockets, and always using close() on
* files.
*/
-#if defined(MS_WINDOWS)
+#if defined(_WIN32)
r = closesocket(s);
#else
r = close(s);
@@ -901,7 +916,7 @@ tor_close_socket(tor_socket_t s)
} else {
int err = tor_socket_errno(-1);
log_info(LD_NET, "Close returned an error: %s", tor_socket_strerror(err));
-#ifdef WIN32
+#ifdef _WIN32
if (err != WSAENOTSOCK)
--n_sockets_open;
#else
@@ -971,7 +986,7 @@ tor_open_socket(int domain, int type, int protocol)
/** As socket(), but counts the number of open sockets. */
tor_socket_t
-tor_accept_socket(int sockfd, struct sockaddr *addr, socklen_t *len)
+tor_accept_socket(tor_socket_t sockfd, struct sockaddr *addr, socklen_t *len)
{
tor_socket_t s;
#if defined(HAVE_ACCEPT4) && defined(SOCK_CLOEXEC)
@@ -1008,7 +1023,7 @@ get_n_open_sockets(void)
void
set_socket_nonblocking(tor_socket_t socket)
{
-#if defined(MS_WINDOWS)
+#if defined(_WIN32)
unsigned long nonblocking = 1;
ioctlsocket(socket, FIONBIO, (unsigned long*) &nonblocking);
#else
@@ -1037,7 +1052,7 @@ int
tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2])
{
//don't use win32 socketpairs (they are always bad)
-#if defined(HAVE_SOCKETPAIR) && !defined(MS_WINDOWS)
+#if defined(HAVE_SOCKETPAIR) && !defined(_WIN32)
int r;
#ifdef SOCK_CLOEXEC
type |= SOCK_CLOEXEC;
@@ -1045,17 +1060,17 @@ tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2])
r = socketpair(family, type, protocol, fd);
if (r == 0) {
#if !defined(SOCK_CLOEXEC) && defined(FD_CLOEXEC)
- if (fd[0] >= 0)
+ if (SOCKET_OK(fd[0]))
fcntl(fd[0], F_SETFD, FD_CLOEXEC);
- if (fd[1] >= 0)
+ if (SOCKET_OK(fd[1]))
fcntl(fd[1], F_SETFD, FD_CLOEXEC);
#endif
socket_accounting_lock();
- if (fd[0] >= 0) {
+ if (SOCKET_OK(fd[0])) {
++n_sockets_open;
mark_socket_open(fd[0]);
}
- if (fd[1] >= 0) {
+ if (SOCKET_OK(fd[1])) {
++n_sockets_open;
mark_socket_open(fd[1]);
}
@@ -1081,7 +1096,7 @@ tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2])
|| family != AF_UNIX
#endif
) {
-#ifdef MS_WINDOWS
+#ifdef _WIN32
return -WSAEAFNOSUPPORT;
#else
return -EAFNOSUPPORT;
@@ -1092,7 +1107,7 @@ tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2])
}
listener = tor_open_socket(AF_INET, type, 0);
- if (listener < 0)
+ if (!SOCKET_OK(listener))
return -tor_socket_errno(-1);
memset(&listen_addr, 0, sizeof(listen_addr));
listen_addr.sin_family = AF_INET;
@@ -1105,7 +1120,7 @@ tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2])
goto tidy_up_and_fail;
connector = tor_open_socket(AF_INET, type, 0);
- if (connector < 0)
+ if (!SOCKET_OK(connector))
goto tidy_up_and_fail;
/* We want to find out the port number to connect to. */
size = sizeof(connect_addr);
@@ -1120,7 +1135,7 @@ tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2])
size = sizeof(listen_addr);
acceptor = tor_accept_socket(listener,
(struct sockaddr *) &listen_addr, &size);
- if (acceptor < 0)
+ if (!SOCKET_OK(acceptor))
goto tidy_up_and_fail;
if (size != sizeof(listen_addr))
goto abort_tidy_up_and_fail;
@@ -1141,7 +1156,7 @@ tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2])
return 0;
abort_tidy_up_and_fail:
-#ifdef MS_WINDOWS
+#ifdef _WIN32
saved_errno = WSAECONNABORTED;
#else
saved_errno = ECONNABORTED; /* I hope this is portable and appropriate. */
@@ -1183,7 +1198,7 @@ set_max_file_descriptors(rlim_t limit, int *max_out)
#if defined(CYGWIN) || defined(__CYGWIN__)
const char *platform = "Cygwin";
const unsigned long MAX_CONNECTIONS = 3200;
-#elif defined(MS_WINDOWS)
+#elif defined(_WIN32)
const char *platform = "Windows";
const unsigned long MAX_CONNECTIONS = 15000;
#else
@@ -1266,7 +1281,7 @@ set_max_file_descriptors(rlim_t limit, int *max_out)
return 0;
}
-#ifndef MS_WINDOWS
+#ifndef _WIN32
/** Log details of current user and group credentials. Return 0 on
* success. Logs and return -1 on failure.
*/
@@ -1343,31 +1358,19 @@ log_credential_status(void)
return -1;
} else {
int i, retval = 0;
- char *strgid;
char *s = NULL;
- smartlist_t *elts = smartlist_create();
+ smartlist_t *elts = smartlist_new();
for (i = 0; i<ngids; i++) {
- strgid = tor_malloc(11);
- if (tor_snprintf(strgid, 11, "%u", (unsigned)sup_gids[i]) < 0) {
- log_warn(LD_GENERAL, "Error printing supplementary GIDs");
- tor_free(strgid);
- retval = -1;
- goto error;
- }
- smartlist_add(elts, strgid);
+ smartlist_add_asprintf(elts, "%u", (unsigned)sup_gids[i]);
}
s = smartlist_join_strings(elts, " ", 0, NULL);
log_fn(CREDENTIAL_LOG_LEVEL, LD_GENERAL, "Supplementary groups are: %s",s);
- error:
tor_free(s);
- SMARTLIST_FOREACH(elts, char *, cp,
- {
- tor_free(cp);
- });
+ SMARTLIST_FOREACH(elts, char *, cp, tor_free(cp));
smartlist_free(elts);
tor_free(sup_gids);
@@ -1384,7 +1387,7 @@ log_credential_status(void)
int
switch_id(const char *user)
{
-#ifndef MS_WINDOWS
+#ifndef _WIN32
struct passwd *pw = NULL;
uid_t old_uid;
gid_t old_gid;
@@ -1519,6 +1522,58 @@ switch_id(const char *user)
#endif
}
+/* We only use the linux prctl for now. There is no Win32 support; this may
+ * also work on various BSD systems and Mac OS X - send testing feedback!
+ *
+ * On recent Gnu/Linux kernels it is possible to create a system-wide policy
+ * that will prevent non-root processes from attaching to other processes
+ * unless they are the parent process; thus gdb can attach to programs that
+ * they execute but they cannot attach to other processes running as the same
+ * user. The system wide policy may be set with the sysctl
+ * kernel.yama.ptrace_scope or by inspecting
+ * /proc/sys/kernel/yama/ptrace_scope and it is 1 by default on Ubuntu 11.04.
+ *
+ * This ptrace scope will be ignored on Gnu/Linux for users with
+ * CAP_SYS_PTRACE and so it is very likely that root will still be able to
+ * attach to the Tor process.
+ */
+/** Attempt to disable debugger attachment: return 1 on success, -1 on
+ * failure, and 0 if we don't know how to try on this platform. */
+int
+tor_disable_debugger_attach(void)
+{
+ int r, attempted;
+ r = -1;
+ attempted = 0;
+ log_debug(LD_CONFIG,
+ "Attemping to disable debugger attachment to Tor for "
+ "unprivileged users.");
+#if defined(__linux__) && defined(HAVE_SYS_PRCTL_H) && defined(HAVE_PRCTL)
+#ifdef PR_SET_DUMPABLE
+ attempted = 1;
+ r = prctl(PR_SET_DUMPABLE, 0);
+#endif
+#endif
+#if defined(__APPLE__) && defined(PT_DENY_ATTACH)
+ if (r < 0) {
+ attempted = 1;
+ r = ptrace(PT_DENY_ATTACH, 0, 0, 0);
+ }
+#endif
+
+ // XXX: TODO - Mac OS X has dtrace and this may be disabled.
+ // XXX: TODO - Windows probably has something similar
+ if (r == 0 && attempted) {
+ log_debug(LD_CONFIG,"Debugger attachment disabled for "
+ "unprivileged users.");
+ return 1;
+ } else if (attempted) {
+ log_warn(LD_CONFIG, "Unable to disable debugger attaching: %s",
+ strerror(errno));
+ }
+ return r;
+}
+
#ifdef HAVE_PWD_H
/** Allocate and return a string containing the home directory for the
* user <b>username</b>. Only works on posix-like systems. */
@@ -1543,7 +1598,7 @@ get_parent_directory(char *fname)
char *cp;
int at_end = 1;
tor_assert(fname);
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/* If we start with, say, c:, then don't consider that the start of the path
*/
if (fname[0] && fname[1] == ':') {
@@ -1560,7 +1615,7 @@ get_parent_directory(char *fname)
at_end = 1;
while (--cp > fname) {
int is_sep = (*cp == '/'
-#ifdef MS_WINDOWS
+#ifdef _WIN32
|| *cp == '\\'
#endif
);
@@ -1575,6 +1630,64 @@ get_parent_directory(char *fname)
return -1;
}
+/** Expand possibly relative path <b>fname</b> to an absolute path.
+ * Return a newly allocated string, possibly equal to <b>fname</b>. */
+char *
+make_path_absolute(char *fname)
+{
+#ifdef _WIN32
+ char *absfname_malloced = _fullpath(NULL, fname, 1);
+
+ /* We don't want to assume that tor_free can free a string allocated
+ * with malloc. On failure, return fname (it's better than nothing). */
+ char *absfname = tor_strdup(absfname_malloced ? absfname_malloced : fname);
+ if (absfname_malloced) free(absfname_malloced);
+
+ return absfname;
+#else
+ char path[PATH_MAX+1];
+ char *absfname = NULL;
+
+ tor_assert(fname);
+
+ if (fname[0] == '/') {
+ absfname = tor_strdup(fname);
+ } else {
+ if (getcwd(path, PATH_MAX) != NULL) {
+ tor_asprintf(&absfname, "%s/%s", path, fname);
+ } else {
+ /* If getcwd failed, the best we can do here is keep using the
+ * relative path. (Perhaps / isn't readable by this UID/GID.) */
+ absfname = tor_strdup(fname);
+ }
+ }
+
+ return absfname;
+#endif
+}
+
+#ifndef HAVE__NSGETENVIRON
+#ifndef HAVE_EXTERN_ENVIRON_DECLARED__
+/* Some platforms declare environ under some circumstances, others don't. */
+extern char **environ;
+#endif
+#endif
+
+/** Return the current environment. This is a portable replacement for
+ * 'environ'. */
+char **
+get_environment(void)
+{
+#ifdef HAVE__NSGETENVIRON
+ /* This is for compatibility between OSX versions. Otherwise (for example)
+ * when we do a mostly-static build on OSX 10.7, the resulting binary won't
+ * work on OSX 10.6. */
+ return *_NSGetEnviron();
+#else
+ return environ;
+#endif
+}
+
/** Set *addr to the IP address (in dotted-quad notation) stored in c.
* Return 1 on success, 0 if c is badly formatted. (Like inet_aton(c,addr),
* but works on Windows and Solaris.)
@@ -1632,7 +1745,7 @@ tor_inet_ntop(int af, const void *src, char *dst, size_t len)
addr->s6_addr[12], addr->s6_addr[13],
addr->s6_addr[14], addr->s6_addr[15]);
}
- if (strlen(buf) > len)
+ if ((strlen(buf) + 1) > len) /* +1 for \0 */
return NULL;
strlcpy(dst, buf, len);
return dst;
@@ -1673,7 +1786,7 @@ tor_inet_ntop(int af, const void *src, char *dst, size_t len)
}
}
*cp = '\0';
- if (strlen(buf) > len)
+ if ((strlen(buf) + 1) > len) /* +1 for \0 */
return NULL;
strlcpy(dst, buf, len);
return dst;
@@ -1733,24 +1846,30 @@ 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 > 4+src)
- return 0;
- if (next == src)
- return 0;
- if (r<0 || r>65536)
+ tor_assert(next != NULL);
+ tor_assert(next != src);
+
+ len = *next == '\0' ? eow - src : next - src;
+ if (len > 4)
return 0;
+ if (len > 1 && !TOR_ISXDIGIT(src[1]))
+ return 0; /* 0x is not valid */
+ tor_assert(r >= 0);
+ tor_assert(r < 65536);
words[i++] = (uint16_t)r;
setWords++;
src = next;
if (*src != ':' && src != eow)
return 0;
++src;
- } else if (*src == ':' && i > 0 && gapPos==-1) {
+ } else if (*src == ':' && i > 0 && gapPos == -1) {
gapPos = i;
++src;
- } else if (*src == ':' && i == 0 && src[1] == ':' && gapPos==-1) {
+ } else if (*src == ':' && i == 0 && src+1 < eow && src[1] == ':' &&
+ gapPos == -1) {
gapPos = i;
src += 2;
} else {
@@ -1810,7 +1929,7 @@ tor_lookup_hostname(const char *name, uint32_t *addr)
void
tor_init_weak_random(unsigned seed)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
srand(seed);
#else
srandom(seed);
@@ -1823,7 +1942,7 @@ tor_init_weak_random(unsigned seed)
long
tor_weak_random(void)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
return rand();
#else
return random();
@@ -1852,7 +1971,7 @@ get_uname(void)
} else
#endif
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
OSVERSIONINFOEX info;
int i;
const char *plat = NULL;
@@ -2054,7 +2173,7 @@ spawn_exit(void)
static int
compute_num_cpus_impl(void)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
SYSTEM_INFO info;
memset(&info, 0, sizeof(info));
GetSystemInfo(&info);
@@ -2102,7 +2221,7 @@ compute_num_cpus(void)
void
tor_gettimeofday(struct timeval *timeval)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/* Epoch bias copied from perl: number of units between windows epoch and
* Unix epoch. */
#define EPOCH_BIAS U64_LITERAL(116444736000000000)
@@ -2147,7 +2266,7 @@ tor_gettimeofday(struct timeval *timeval)
return;
}
-#if defined(TOR_IS_MULTITHREADED) && !defined(MS_WINDOWS)
+#if defined(TOR_IS_MULTITHREADED) && !defined(_WIN32)
/** Defined iff we need to add locks when defining fake versions of reentrant
* versions of time-related functions. */
#define TIME_FNS_NEED_LOCKS
@@ -2497,7 +2616,7 @@ tor_cond_new(void)
{
tor_cond_t *cond = tor_malloc_zero(sizeof(tor_cond_t));
InitializeCriticalSection(&cond->mutex);
- cond->events = smartlist_create();
+ cond->events = smartlist_new();
return cond;
}
void
@@ -2691,7 +2810,7 @@ in_main_thread(void)
* should call tor_socket_errno <em>at most once</em> on the failing
* socket to get the error.
*/
-#if defined(MS_WINDOWS)
+#if defined(_WIN32)
int
tor_socket_errno(tor_socket_t sock)
{
@@ -2707,7 +2826,7 @@ tor_socket_errno(tor_socket_t sock)
}
#endif
-#if defined(MS_WINDOWS)
+#if defined(_WIN32)
#define E(code, s) { code, (s " [" #code " ]") }
struct { int code; const char *msg; } windows_socket_errors[] = {
E(WSAEINTR, "Interrupted function call"),
@@ -2789,7 +2908,7 @@ tor_socket_strerror(int e)
int
network_init(void)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/* This silly exercise is necessary before windows will allow
* gethostbyname to work. */
WSADATA WSAData;
@@ -2799,6 +2918,11 @@ network_init(void)
log_warn(LD_NET,"Error initializing windows network layer: code was %d",r);
return -1;
}
+ if (sizeof(SOCKET) != sizeof(tor_socket_t)) {
+ log_warn(LD_BUG,"The tor_socket_t type does not match SOCKET in size; Tor "
+ "might not work. (Sizes are %d and %d respectively.)",
+ (int)sizeof(tor_socket_t), (int)sizeof(SOCKET));
+ }
/* WSAData.iMaxSockets might show the max sockets we're allowed to use.
* We might use it to complain if we're trying to be a server but have
* too few sockets available. */
@@ -2806,7 +2930,7 @@ network_init(void)
return 0;
}
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/** Return a newly allocated string describing the windows system error code
* <b>err</b>. Note that error codes are different from errno. Error codes
* come from GetLastError() when a winapi call fails. errno is set only when
diff --git a/src/common/compat.h b/src/common/compat.h
index 045f414c6..65e6cb49e 100644
--- a/src/common/compat.h
+++ b/src/common/compat.h
@@ -8,7 +8,7 @@
#include "orconfig.h"
#include "torint.h"
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#ifndef WIN32_WINNT
#define WIN32_WINNT 0x400
#endif
@@ -35,7 +35,7 @@
#ifdef HAVE_STRING_H
#include <string.h>
#endif
-#if defined(HAVE_PTHREAD_H) && !defined(MS_WINDOWS)
+#if defined(HAVE_PTHREAD_H) && !defined(_WIN32)
#include <pthread.h>
#endif
#include <stdarg.h>
@@ -89,7 +89,7 @@
#endif
/* inline is __inline on windows. */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#define INLINE __inline
#else
#define INLINE inline
@@ -135,7 +135,6 @@ extern INLINE double U64_TO_DBL(uint64_t x) {
/* GCC has several useful attributes. */
#if defined(__GNUC__) && __GNUC__ >= 3
#define ATTR_NORETURN __attribute__((noreturn))
-#define ATTR_PURE __attribute__((pure))
#define ATTR_CONST __attribute__((const))
#define ATTR_MALLOC __attribute__((malloc))
#define ATTR_NORETURN __attribute__((noreturn))
@@ -168,7 +167,6 @@ extern INLINE double U64_TO_DBL(uint64_t x) {
#define PREDICT_UNLIKELY(exp) __builtin_expect(!!(exp), 0)
#else
#define ATTR_NORETURN
-#define ATTR_PURE
#define ATTR_CONST
#define ATTR_MALLOC
#define ATTR_NORETURN
@@ -180,6 +178,10 @@ extern INLINE double U64_TO_DBL(uint64_t x) {
/** Expands to a syntactically valid empty statement. */
#define STMT_NIL (void)0
+/** Expands to a syntactically valid empty statement, explicitly (void)ing its
+ * argument. */
+#define STMT_VOID(a) while (0) { (void)(a); }
+
#ifdef __GNUC__
/** STMT_BEGIN and STMT_END are used to wrap blocks inside macros so that
* the macro can be used as if it were a single C statement. */
@@ -194,7 +196,7 @@ extern INLINE double U64_TO_DBL(uint64_t x) {
#endif
/* ===== String compatibility */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/* Windows names string functions differently from most other platforms. */
#define strncasecmp _strnicmp
#define strcasecmp _stricmp
@@ -247,7 +249,7 @@ typedef struct tor_mmap_t {
#ifdef HAVE_SYS_MMAN_H
size_t mapping_size; /**< Size of the actual mapping. (This is this file
* size, rounded up to the nearest page.) */
-#elif defined MS_WINDOWS
+#elif defined _WIN32
HANDLE file_handle;
HANDLE mmap_handle;
#endif
@@ -267,9 +269,9 @@ int tor_asprintf(char **strp, const char *fmt, ...)
int tor_vasprintf(char **strp, const char *fmt, va_list args);
const void *tor_memmem(const void *haystack, size_t hlen, const void *needle,
- size_t nlen) ATTR_PURE ATTR_NONNULL((1,3));
+ size_t nlen) ATTR_NONNULL((1,3));
static const void *tor_memstr(const void *haystack, size_t hlen,
- const char *needle) ATTR_PURE ATTR_NONNULL((1,3));
+ const char *needle) ATTR_NONNULL((1,3));
static INLINE const void *
tor_memstr(const void *haystack, size_t hlen, const char *needle)
{
@@ -305,7 +307,7 @@ char *tor_strtok_r_impl(char *str, const char *sep, char **lasts);
#define tor_strtok_r(str, sep, lasts) tor_strtok_r_impl(str, sep, lasts)
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#define _SHORT_FILE_ (tor_fix_source_file(__FILE__))
const char *tor_fix_source_file(const char *fname);
#else
@@ -333,7 +335,7 @@ struct tm *tor_gmtime_r(const time_t *timep, struct tm *result);
#define timeradd(tv1,tv2,tvout) \
do { \
(tvout)->tv_sec = (tv1)->tv_sec + (tv2)->tv_sec; \
- (tvout)->tv_usec = (tv2)->tv_usec + (tv2)->tv_usec; \
+ (tvout)->tv_usec = (tv1)->tv_usec + (tv2)->tv_usec; \
if ((tvout)->tv_usec >= 1000000) { \
(tvout)->tv_usec -= 1000000; \
(tvout)->tv_sec++; \
@@ -347,7 +349,7 @@ struct tm *tor_gmtime_r(const time_t *timep, struct tm *result);
#define timersub(tv1,tv2,tvout) \
do { \
(tvout)->tv_sec = (tv1)->tv_sec - (tv2)->tv_sec; \
- (tvout)->tv_usec = (tv2)->tv_usec - (tv2)->tv_usec; \
+ (tvout)->tv_usec = (tv1)->tv_usec - (tv2)->tv_usec; \
if ((tvout)->tv_usec < 0) { \
(tvout)->tv_usec += 1000000; \
(tvout)->tv_sec--; \
@@ -384,7 +386,7 @@ void tor_lockfile_unlock(tor_lockfile_t *lockfile);
off_t tor_fd_getpos(int fd);
int tor_fd_seekend(int fd);
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#define PATH_SEPARATOR "\\"
#else
#define PATH_SEPARATOR "/"
@@ -396,17 +398,25 @@ int tor_fd_seekend(int fd);
typedef int socklen_t;
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
+/* XXX Actually, this should arguably be SOCKET; we use intptr_t here so that
+ * any inadvertant checks for the socket being <= 0 or > 0 will probably
+ * still work. */
#define tor_socket_t intptr_t
-#define SOCKET_OK(s) ((unsigned)(s) != INVALID_SOCKET)
+#define SOCKET_OK(s) ((SOCKET)(s) != INVALID_SOCKET)
+#define TOR_INVALID_SOCKET INVALID_SOCKET
#else
+/** Type used for a network socket. */
#define tor_socket_t int
+/** Macro: true iff 's' is a possible value for a valid initialized socket. */
#define SOCKET_OK(s) ((s) >= 0)
+/** Error/uninitialized value for a tor_socket_t. */
+#define TOR_INVALID_SOCKET (-1)
#endif
int tor_close_socket(tor_socket_t s);
tor_socket_t tor_open_socket(int domain, int type, int protocol);
-tor_socket_t tor_accept_socket(int sockfd, struct sockaddr *addr,
+tor_socket_t tor_accept_socket(tor_socket_t sockfd, struct sockaddr *addr,
socklen_t *len);
int get_n_open_sockets(void);
@@ -489,7 +499,7 @@ int network_init(void);
* errnos against expected values, and use tor_socket_errno to find
* the actual errno after a socket operation fails.
*/
-#if defined(MS_WINDOWS)
+#if defined(_WIN32)
/** Return true if e is EAGAIN or the local equivalent. */
#define ERRNO_IS_EAGAIN(e) ((e) == EAGAIN || (e) == WSAEWOULDBLOCK)
/** Return true if e is EINPROGRESS or the local equivalent. */
@@ -542,9 +552,9 @@ long tor_weak_random(void);
/* ===== OS compatibility */
const char *get_uname(void);
-uint16_t get_uint16(const void *cp) ATTR_PURE ATTR_NONNULL((1));
-uint32_t get_uint32(const void *cp) ATTR_PURE ATTR_NONNULL((1));
-uint64_t get_uint64(const void *cp) ATTR_PURE ATTR_NONNULL((1));
+uint16_t get_uint16(const void *cp) ATTR_NONNULL((1));
+uint32_t get_uint32(const void *cp) ATTR_NONNULL((1));
+uint64_t get_uint64(const void *cp) ATTR_NONNULL((1));
void set_uint16(void *cp, uint16_t v) ATTR_NONNULL((1));
void set_uint32(void *cp, uint32_t v) ATTR_NONNULL((1));
void set_uint64(void *cp, uint64_t v) ATTR_NONNULL((1));
@@ -562,17 +572,21 @@ set_uint8(void *cp, uint8_t v)
typedef unsigned long rlim_t;
#endif
int set_max_file_descriptors(rlim_t limit, int *max);
+int tor_disable_debugger_attach(void);
int switch_id(const char *user);
#ifdef HAVE_PWD_H
char *get_user_homedir(const char *username);
#endif
int get_parent_directory(char *fname);
+char *make_path_absolute(char *fname);
+
+char **get_environment(void);
int spawn_func(void (*func)(void *), void *data);
void spawn_exit(void) ATTR_NORETURN;
-#if defined(ENABLE_THREADS) && defined(MS_WINDOWS)
+#if defined(ENABLE_THREADS) && defined(_WIN32)
#define USE_WIN32_THREADS
#define TOR_IS_MULTITHREADED 1
#elif (defined(ENABLE_THREADS) && defined(HAVE_PTHREAD_H) && \
@@ -618,7 +632,7 @@ void tor_threads_init(void);
#else
#define tor_mutex_new() ((tor_mutex_t*)tor_malloc(sizeof(int)))
#define tor_mutex_init(m) STMT_NIL
-#define tor_mutex_acquire(m) STMT_NIL
+#define tor_mutex_acquire(m) STMT_VOID(m)
#define tor_mutex_release(m) STMT_NIL
#define tor_mutex_free(m) STMT_BEGIN tor_free(m); STMT_END
#define tor_mutex_uninit(m) STMT_NIL
@@ -654,14 +668,14 @@ void tor_cond_signal_all(tor_cond_t *cond);
#endif
/* Platform-specific helpers. */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
char *format_win32_error(DWORD err);
#endif
/*for some reason my compiler doesn't have these version flags defined
a nice homework assignment for someone one day is to define the rest*/
//these are the values as given on MSDN
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#ifndef VER_SUITE_EMBEDDEDNT
#define VER_SUITE_EMBEDDEDNT 0x00000040
diff --git a/src/common/compat_libevent.c b/src/common/compat_libevent.c
index 320173870..70e3baf9d 100644
--- a/src/common/compat_libevent.c
+++ b/src/common/compat_libevent.c
@@ -195,16 +195,33 @@ tor_libevent_initialize(tor_libevent_cfg *torcfg)
#ifdef HAVE_EVENT2_EVENT_H
{
- struct event_config *cfg = event_config_new();
+ int attempts = 0;
+ int using_threads;
+ struct event_config *cfg;
-#if defined(MS_WINDOWS) && defined(USE_BUFFEREVENTS)
+ retry:
+ ++attempts;
+ using_threads = 0;
+ cfg = event_config_new();
+ tor_assert(cfg);
+
+#if defined(_WIN32) && defined(USE_BUFFEREVENTS)
if (! torcfg->disable_iocp) {
evthread_use_windows_threads();
event_config_set_flag(cfg, EVENT_BASE_FLAG_STARTUP_IOCP);
using_iocp_bufferevents = 1;
+ using_threads = 1;
+ } else {
+ using_iocp_bufferevents = 0;
}
#endif
+ if (!using_threads) {
+ /* Telling Libevent not to try to turn locking on can avoid a needless
+ * socketpair() attempt. */
+ event_config_set_flag(cfg, EVENT_BASE_FLAG_NOLOCK);
+ }
+
#if defined(LIBEVENT_VERSION_NUMBER) && LIBEVENT_VERSION_NUMBER >= V(2,0,7)
if (torcfg->num_cpus > 0)
event_config_set_num_cpus_hint(cfg, torcfg->num_cpus);
@@ -219,11 +236,34 @@ tor_libevent_initialize(tor_libevent_cfg *torcfg)
the_event_base = event_base_new_with_config(cfg);
event_config_free(cfg);
+
+ if (using_threads && the_event_base == NULL && attempts < 2) {
+ /* This could be a socketpair() failure, which can happen sometimes on
+ * windows boxes with obnoxious firewall rules. Downgrade and try
+ * again. */
+#if defined(_WIN32) && defined(USE_BUFFEREVENTS)
+ if (torcfg->disable_iocp == 0) {
+ log_warn(LD_GENERAL, "Unable to initialize Libevent. Trying again "
+ "with IOCP disabled.");
+ } else
+#endif
+ {
+ log_warn(LD_GENERAL, "Unable to initialize Libevent. Trying again.");
+ }
+
+ torcfg->disable_iocp = 1;
+ goto retry;
+ }
}
#else
the_event_base = event_init();
#endif
+ if (!the_event_base) {
+ log_err(LD_GENERAL, "Unable to initialize Libevent: cannot continue.");
+ exit(1);
+ }
+
#if defined(HAVE_EVENT_GET_VERSION) && defined(HAVE_EVENT_GET_METHOD)
/* Making this a NOTICE for now so we can link bugs to a libevent versions
* or methods better. */
diff --git a/src/common/container.c b/src/common/container.c
index 92bfd2ec8..23ec9d3c8 100644
--- a/src/common/container.c
+++ b/src/common/container.c
@@ -29,7 +29,7 @@
/** Allocate and return an empty smartlist.
*/
smartlist_t *
-smartlist_create(void)
+smartlist_new(void)
{
smartlist_t *sl = tor_malloc(sizeof(smartlist_t));
sl->num_used = 0;
@@ -62,13 +62,22 @@ smartlist_clear(smartlist_t *sl)
static INLINE void
smartlist_ensure_capacity(smartlist_t *sl, int size)
{
+#if SIZEOF_SIZE_T > SIZEOF_INT
+#define MAX_CAPACITY (INT_MAX)
+#else
+#define MAX_CAPACITY (int)((SIZE_MAX / (sizeof(void*))))
+#endif
if (size > sl->capacity) {
- int higher = sl->capacity * 2;
- while (size > higher)
- higher *= 2;
- tor_assert(higher > 0); /* detect overflow */
+ int higher = sl->capacity;
+ if (PREDICT_UNLIKELY(size > MAX_CAPACITY/2)) {
+ tor_assert(size <= MAX_CAPACITY);
+ higher = MAX_CAPACITY;
+ } else {
+ while (size > higher)
+ higher *= 2;
+ }
sl->capacity = higher;
- sl->list = tor_realloc(sl->list, sizeof(void*)*sl->capacity);
+ sl->list = tor_realloc(sl->list, sizeof(void*)*((size_t)sl->capacity));
}
}
@@ -1018,7 +1027,7 @@ digestmap_set(digestmap_t *map, const char *key, void *val)
* the hash table that we do in the unoptimized code above. (Each of
* HT_INSERT and HT_FIND calls HT_SET_HASH and HT_FIND_P.)
*/
- _HT_FIND_OR_INSERT(digestmap_impl, node, digestmap_entry_hash, &(map->head),
+ HT_FIND_OR_INSERT_(digestmap_impl, node, digestmap_entry_hash, &(map->head),
digestmap_entry_t, &search, ptr,
{
/* we found an entry. */
@@ -1032,7 +1041,7 @@ digestmap_set(digestmap_t *map, const char *key, void *val)
tor_malloc_zero(sizeof(digestmap_entry_t));
memcpy(newent->key, key, DIGEST_LEN);
newent->val = val;
- _HT_FOI_INSERT(node, &(map->head), &search, newent, ptr);
+ HT_FOI_INSERT_(node, &(map->head), &search, newent, ptr);
return NULL;
});
#endif
@@ -1345,14 +1354,14 @@ digestmap_free(digestmap_t *map, void (*free_val)(void*))
void
strmap_assert_ok(const strmap_t *map)
{
- tor_assert(!_strmap_impl_HT_REP_IS_BAD(&map->head));
+ tor_assert(!strmap_impl_HT_REP_IS_BAD_(&map->head));
}
/** Fail with an assertion error if anything has gone wrong with the internal
* representation of <b>map</b>. */
void
digestmap_assert_ok(const digestmap_t *map)
{
- tor_assert(!_digestmap_impl_HT_REP_IS_BAD(&map->head));
+ tor_assert(!digestmap_impl_HT_REP_IS_BAD_(&map->head));
}
/** Return true iff <b>map</b> has no entries. */
diff --git a/src/common/container.h b/src/common/container.h
index 4a6eba789..4e14ab4e3 100644
--- a/src/common/container.h
+++ b/src/common/container.h
@@ -26,7 +26,7 @@ typedef struct smartlist_t {
/** @} */
} smartlist_t;
-smartlist_t *smartlist_create(void);
+smartlist_t *smartlist_new(void);
void smartlist_free(smartlist_t *sl);
void smartlist_clear(smartlist_t *sl);
void smartlist_add(smartlist_t *sl, void *element);
@@ -35,19 +35,14 @@ void smartlist_remove(smartlist_t *sl, const void *element);
void *smartlist_pop_last(smartlist_t *sl);
void smartlist_reverse(smartlist_t *sl);
void smartlist_string_remove(smartlist_t *sl, const char *element);
-int smartlist_isin(const smartlist_t *sl, const void *element) ATTR_PURE;
-int smartlist_string_isin(const smartlist_t *sl, const char *element)
- ATTR_PURE;
-int smartlist_string_pos(const smartlist_t *, const char *elt) ATTR_PURE;
-int smartlist_string_isin_case(const smartlist_t *sl, const char *element)
- ATTR_PURE;
-int smartlist_string_num_isin(const smartlist_t *sl, int num) ATTR_PURE;
-int smartlist_strings_eq(const smartlist_t *sl1, const smartlist_t *sl2)
- ATTR_PURE;
-int smartlist_digest_isin(const smartlist_t *sl, const char *element)
- ATTR_PURE;
-int smartlist_overlap(const smartlist_t *sl1, const smartlist_t *sl2)
- ATTR_PURE;
+int smartlist_isin(const smartlist_t *sl, const void *element);
+int smartlist_string_isin(const smartlist_t *sl, const char *element);
+int smartlist_string_pos(const smartlist_t *, const char *elt);
+int smartlist_string_isin_case(const smartlist_t *sl, const char *element);
+int smartlist_string_num_isin(const smartlist_t *sl, int num);
+int smartlist_strings_eq(const smartlist_t *sl1, const smartlist_t *sl2);
+int smartlist_digest_isin(const smartlist_t *sl, const char *element);
+int smartlist_overlap(const smartlist_t *sl1, const smartlist_t *sl2);
void smartlist_intersect(smartlist_t *sl1, const smartlist_t *sl2);
void smartlist_subtract(smartlist_t *sl1, const smartlist_t *sl2);
@@ -55,14 +50,14 @@ void smartlist_subtract(smartlist_t *sl1, const smartlist_t *sl2);
#ifdef DEBUG_SMARTLIST
/** Return the number of items in sl.
*/
-static INLINE int smartlist_len(const smartlist_t *sl) ATTR_PURE;
+static INLINE int smartlist_len(const smartlist_t *sl);
static INLINE int smartlist_len(const smartlist_t *sl) {
tor_assert(sl);
return (sl)->num_used;
}
/** Return the <b>idx</b>th element of sl.
*/
-static INLINE void *smartlist_get(const smartlist_t *sl, int idx) ATTR_PURE;
+static INLINE void *smartlist_get(const smartlist_t *sl, int idx);
static INLINE void *smartlist_get(const smartlist_t *sl, int idx) {
tor_assert(sl);
tor_assert(idx>=0);
@@ -114,8 +109,7 @@ void smartlist_uniq_strings(smartlist_t *sl);
void smartlist_uniq_digests(smartlist_t *sl);
void smartlist_uniq_digests256(smartlist_t *sl);
void *smartlist_bsearch(smartlist_t *sl, const void *key,
- int (*compare)(const void *key, const void **member))
- ATTR_PURE;
+ int (*compare)(const void *key, const void **member));
int smartlist_bsearch_idx(const smartlist_t *sl, const void *key,
int (*compare)(const void *key, const void **member),
int *found_out);
diff --git a/src/common/crypto.c b/src/common/crypto.c
index f2ef83352..41f81ebd7 100644
--- a/src/common/crypto.c
+++ b/src/common/crypto.c
@@ -12,7 +12,7 @@
#include "orconfig.h"
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#ifndef WIN32_WINNT
#define WIN32_WINNT 0x400
#endif
@@ -60,7 +60,7 @@
#include "container.h"
#include "compat.h"
-#if OPENSSL_VERSION_NUMBER < 0x00907000l
+#if OPENSSL_VERSION_NUMBER < OPENSSL_V_SERIES(0,9,7)
#error "We require OpenSSL >= 0.9.7"
#endif
@@ -69,7 +69,10 @@
#define DISABLE_ENGINES
#endif
-#if OPENSSL_VERSION_NUMBER < 0x00908000l
+/** Longest recognized */
+#define MAX_DNS_LABEL_SIZE 63
+
+#if OPENSSL_VERSION_NUMBER < OPENSSL_V_SERIES(0,9,8)
/** @{ */
/** On OpenSSL versions before 0.9.8, there is no working SHA256
* implementation, so we use Tom St Denis's nice speedy one, slightly adapted
@@ -106,14 +109,14 @@ static int _n_openssl_mutexes = 0;
#endif
/** A public key, or a public/private key-pair. */
-struct crypto_pk_env_t
+struct crypto_pk_t
{
int refs; /**< reference count, so we don't have to copy keys */
RSA *key; /**< The key itself */
};
/** Key and stream information for a stream cipher. */
-struct crypto_cipher_env_t
+struct crypto_cipher_t
{
char key[CIPHER_KEY_LEN]; /**< The raw key. */
aes_cnt_cipher_t *cipher; /**< The key in format usable for counter-mode AES
@@ -122,7 +125,7 @@ struct crypto_cipher_env_t
/** A structure to hold the first half (x, g^x) of a Diffie-Hellman handshake
* while we're waiting for the second.*/
-struct crypto_dh_env_t {
+struct crypto_dh_t {
DH *dh; /**< The openssl DH object */
};
@@ -276,6 +279,10 @@ crypto_global_init(int useAccel, const char *accelName, const char *accelDir)
} else {
log_info(LD_CRYPTO, "NOT using OpenSSL engine support.");
}
+
+ evaluate_evp_for_aes(-1);
+ evaluate_ctr_for_aes();
+
return crypto_seed_rng(1);
}
return 0;
@@ -288,61 +295,30 @@ crypto_thread_cleanup(void)
ERR_remove_state(0);
}
-/** Uninitialize the crypto library. Return 0 on success, -1 on failure.
- */
-int
-crypto_global_cleanup(void)
+/** used by tortls.c: wrap an RSA* in a crypto_pk_t. */
+crypto_pk_t *
+_crypto_new_pk_from_rsa(RSA *rsa)
{
- EVP_cleanup();
- ERR_remove_state(0);
- ERR_free_strings();
-
-#ifndef DISABLE_ENGINES
- ENGINE_cleanup();
-#endif
-
- CONF_modules_unload(1);
- CRYPTO_cleanup_all_ex_data();
-#ifdef TOR_IS_MULTITHREADED
- if (_n_openssl_mutexes) {
- int n = _n_openssl_mutexes;
- tor_mutex_t **ms = _openssl_mutexes;
- int i;
- _openssl_mutexes = NULL;
- _n_openssl_mutexes = 0;
- for (i=0;i<n;++i) {
- tor_mutex_free(ms[i]);
- }
- tor_free(ms);
- }
-#endif
- return 0;
-}
-
-/** used by tortls.c: wrap an RSA* in a crypto_pk_env_t. */
-crypto_pk_env_t *
-_crypto_new_pk_env_rsa(RSA *rsa)
-{
- crypto_pk_env_t *env;
+ crypto_pk_t *env;
tor_assert(rsa);
- env = tor_malloc(sizeof(crypto_pk_env_t));
+ env = tor_malloc(sizeof(crypto_pk_t));
env->refs = 1;
env->key = rsa;
return env;
}
/** Helper, used by tor-checkkey.c and tor-gencert.c. Return the RSA from a
- * crypto_pk_env_t. */
+ * crypto_pk_t. */
RSA *
-_crypto_pk_env_get_rsa(crypto_pk_env_t *env)
+_crypto_pk_get_rsa(crypto_pk_t *env)
{
return env->key;
}
-/** used by tortls.c: get an equivalent EVP_PKEY* for a crypto_pk_env_t. Iff
+/** used by tortls.c: get an equivalent EVP_PKEY* for a crypto_pk_t. Iff
* private is set, include the private-key portion of the key. */
EVP_PKEY *
-_crypto_pk_env_get_evp_pkey(crypto_pk_env_t *env, int private)
+_crypto_pk_get_evp_pkey(crypto_pk_t *env, int private)
{
RSA *key = NULL;
EVP_PKEY *pkey = NULL;
@@ -367,10 +343,10 @@ _crypto_pk_env_get_evp_pkey(crypto_pk_env_t *env, int private)
return NULL;
}
-/** Used by tortls.c: Get the DH* from a crypto_dh_env_t.
+/** Used by tortls.c: Get the DH* from a crypto_dh_t.
*/
DH *
-_crypto_dh_env_get_dh(crypto_dh_env_t *dh)
+_crypto_dh_get_dh(crypto_dh_t *dh)
{
return dh->dh;
}
@@ -378,21 +354,21 @@ _crypto_dh_env_get_dh(crypto_dh_env_t *dh)
/** Allocate and return storage for a public key. The key itself will not yet
* be set.
*/
-crypto_pk_env_t *
-crypto_new_pk_env(void)
+crypto_pk_t *
+crypto_pk_new(void)
{
RSA *rsa;
rsa = RSA_new();
tor_assert(rsa);
- return _crypto_new_pk_env_rsa(rsa);
+ return _crypto_new_pk_from_rsa(rsa);
}
/** Release a reference to an asymmetric key; when all the references
* are released, free the key.
*/
void
-crypto_free_pk_env(crypto_pk_env_t *env)
+crypto_pk_free(crypto_pk_t *env)
{
if (!env)
return;
@@ -411,13 +387,13 @@ crypto_free_pk_env(crypto_pk_env_t *env)
* (1=encrypt, 0=decrypt). Return the crypto object on success; NULL
* on failure.
*/
-crypto_cipher_env_t *
+crypto_cipher_t *
crypto_create_init_cipher(const char *key, int encrypt_mode)
{
int r;
- crypto_cipher_env_t *crypto = NULL;
+ crypto_cipher_t *crypto = NULL;
- if (! (crypto = crypto_new_cipher_env())) {
+ if (! (crypto = crypto_cipher_new())) {
log_warn(LD_CRYPTO, "Unable to allocate crypto object");
return NULL;
}
@@ -435,18 +411,18 @@ crypto_create_init_cipher(const char *key, int encrypt_mode)
error:
if (crypto)
- crypto_free_cipher_env(crypto);
+ crypto_cipher_free(crypto);
return NULL;
}
/** Allocate and return a new symmetric cipher.
*/
-crypto_cipher_env_t *
-crypto_new_cipher_env(void)
+crypto_cipher_t *
+crypto_cipher_new(void)
{
- crypto_cipher_env_t *env;
+ crypto_cipher_t *env;
- env = tor_malloc_zero(sizeof(crypto_cipher_env_t));
+ env = tor_malloc_zero(sizeof(crypto_cipher_t));
env->cipher = aes_new_cipher();
return env;
}
@@ -454,14 +430,14 @@ crypto_new_cipher_env(void)
/** Free a symmetric cipher.
*/
void
-crypto_free_cipher_env(crypto_cipher_env_t *env)
+crypto_cipher_free(crypto_cipher_t *env)
{
if (!env)
return;
tor_assert(env->cipher);
- aes_free_cipher(env->cipher);
- memset(env, 0, sizeof(crypto_cipher_env_t));
+ aes_cipher_free(env->cipher);
+ memset(env, 0, sizeof(crypto_cipher_t));
tor_free(env);
}
@@ -471,13 +447,13 @@ crypto_free_cipher_env(crypto_cipher_env_t *env)
* Return 0 on success, -1 on failure.
*/
int
-crypto_pk_generate_key_with_bits(crypto_pk_env_t *env, int bits)
+crypto_pk_generate_key_with_bits(crypto_pk_t *env, int bits)
{
tor_assert(env);
if (env->key)
RSA_free(env->key);
-#if OPENSSL_VERSION_NUMBER < 0x00908000l
+#if OPENSSL_VERSION_NUMBER < OPENSSL_V_SERIES(0,9,8)
/* In OpenSSL 0.9.7, RSA_generate_key is all we have. */
env->key = RSA_generate_key(bits, 65537, NULL, NULL);
#else
@@ -518,7 +494,7 @@ crypto_pk_generate_key_with_bits(crypto_pk_env_t *env, int bits)
*/
/* Used here, and used for testing. */
int
-crypto_pk_read_private_key_from_string(crypto_pk_env_t *env,
+crypto_pk_read_private_key_from_string(crypto_pk_t *env,
const char *s, ssize_t len)
{
BIO *b;
@@ -550,7 +526,7 @@ crypto_pk_read_private_key_from_string(crypto_pk_env_t *env,
* <b>keyfile</b> into <b>env</b>. Return 0 on success, -1 on failure.
*/
int
-crypto_pk_read_private_key_from_filename(crypto_pk_env_t *env,
+crypto_pk_read_private_key_from_filename(crypto_pk_t *env,
const char *keyfile)
{
char *contents;
@@ -579,7 +555,7 @@ crypto_pk_read_private_key_from_filename(crypto_pk_env_t *env,
/** Helper function to implement crypto_pk_write_*_key_to_string. */
static int
-crypto_pk_write_key_to_string_impl(crypto_pk_env_t *env, char **dest,
+crypto_pk_write_key_to_string_impl(crypto_pk_t *env, char **dest,
size_t *len, int is_public)
{
BUF_MEM *buf;
@@ -627,7 +603,7 @@ crypto_pk_write_key_to_string_impl(crypto_pk_env_t *env, char **dest,
* failure, return -1.
*/
int
-crypto_pk_write_public_key_to_string(crypto_pk_env_t *env, char **dest,
+crypto_pk_write_public_key_to_string(crypto_pk_t *env, char **dest,
size_t *len)
{
return crypto_pk_write_key_to_string_impl(env, dest, len, 1);
@@ -639,7 +615,7 @@ crypto_pk_write_public_key_to_string(crypto_pk_env_t *env, char **dest,
* failure, return -1.
*/
int
-crypto_pk_write_private_key_to_string(crypto_pk_env_t *env, char **dest,
+crypto_pk_write_private_key_to_string(crypto_pk_t *env, char **dest,
size_t *len)
{
return crypto_pk_write_key_to_string_impl(env, dest, len, 0);
@@ -650,7 +626,7 @@ crypto_pk_write_private_key_to_string(crypto_pk_env_t *env, char **dest,
* failure.
*/
int
-crypto_pk_read_public_key_from_string(crypto_pk_env_t *env, const char *src,
+crypto_pk_read_public_key_from_string(crypto_pk_t *env, const char *src,
size_t len)
{
BIO *b;
@@ -681,7 +657,7 @@ crypto_pk_read_public_key_from_string(crypto_pk_env_t *env, const char *src,
* PEM-encoded. Return 0 on success, -1 on failure.
*/
int
-crypto_pk_write_private_key_to_filename(crypto_pk_env_t *env,
+crypto_pk_write_private_key_to_filename(crypto_pk_t *env,
const char *fname)
{
BIO *bio;
@@ -715,7 +691,7 @@ crypto_pk_write_private_key_to_filename(crypto_pk_env_t *env,
/** Return true iff <b>env</b> has a valid key.
*/
int
-crypto_pk_check_key(crypto_pk_env_t *env)
+crypto_pk_check_key(crypto_pk_t *env)
{
int r;
tor_assert(env);
@@ -729,7 +705,7 @@ crypto_pk_check_key(crypto_pk_env_t *env)
/** Return true iff <b>key</b> contains the private-key portion of the RSA
* key. */
int
-crypto_pk_key_is_private(const crypto_pk_env_t *key)
+crypto_pk_key_is_private(const crypto_pk_t *key)
{
tor_assert(key);
return PRIVATE_KEY_OK(key);
@@ -739,7 +715,7 @@ crypto_pk_key_is_private(const crypto_pk_env_t *key)
* equals 65537.
*/
int
-crypto_pk_public_exponent_ok(crypto_pk_env_t *env)
+crypto_pk_public_exponent_ok(crypto_pk_t *env)
{
tor_assert(env);
tor_assert(env->key);
@@ -751,7 +727,7 @@ crypto_pk_public_exponent_ok(crypto_pk_env_t *env)
* if a==b, and 1 if a\>b.
*/
int
-crypto_pk_cmp_keys(crypto_pk_env_t *a, crypto_pk_env_t *b)
+crypto_pk_cmp_keys(crypto_pk_t *a, crypto_pk_t *b)
{
int result;
@@ -771,7 +747,7 @@ crypto_pk_cmp_keys(crypto_pk_env_t *a, crypto_pk_env_t *b)
/** Return the size of the public key modulus in <b>env</b>, in bytes. */
size_t
-crypto_pk_keysize(crypto_pk_env_t *env)
+crypto_pk_keysize(crypto_pk_t *env)
{
tor_assert(env);
tor_assert(env->key);
@@ -781,7 +757,7 @@ crypto_pk_keysize(crypto_pk_env_t *env)
/** Return the size of the public key modulus of <b>env</b>, in bits. */
int
-crypto_pk_num_bits(crypto_pk_env_t *env)
+crypto_pk_num_bits(crypto_pk_t *env)
{
tor_assert(env);
tor_assert(env->key);
@@ -792,8 +768,8 @@ crypto_pk_num_bits(crypto_pk_env_t *env)
/** Increase the reference count of <b>env</b>, and return it.
*/
-crypto_pk_env_t *
-crypto_pk_dup_key(crypto_pk_env_t *env)
+crypto_pk_t *
+crypto_pk_dup_key(crypto_pk_t *env)
{
tor_assert(env);
tor_assert(env->key);
@@ -803,8 +779,8 @@ crypto_pk_dup_key(crypto_pk_env_t *env)
}
/** Make a real honest-to-goodness copy of <b>env</b>, and return it. */
-crypto_pk_env_t *
-crypto_pk_copy_full(crypto_pk_env_t *env)
+crypto_pk_t *
+crypto_pk_copy_full(crypto_pk_t *env)
{
RSA *new_key;
int privatekey = 0;
@@ -827,7 +803,7 @@ crypto_pk_copy_full(crypto_pk_env_t *env)
return NULL;
}
- return _crypto_new_pk_env_rsa(new_key);
+ return _crypto_new_pk_from_rsa(new_key);
}
/** Encrypt <b>fromlen</b> bytes from <b>from</b> with the public key
@@ -839,7 +815,7 @@ crypto_pk_copy_full(crypto_pk_env_t *env)
* at least the length of the modulus of <b>env</b>.
*/
int
-crypto_pk_public_encrypt(crypto_pk_env_t *env, char *to, size_t tolen,
+crypto_pk_public_encrypt(crypto_pk_t *env, char *to, size_t tolen,
const char *from, size_t fromlen, int padding)
{
int r;
@@ -868,7 +844,7 @@ crypto_pk_public_encrypt(crypto_pk_env_t *env, char *to, size_t tolen,
* at least the length of the modulus of <b>env</b>.
*/
int
-crypto_pk_private_decrypt(crypto_pk_env_t *env, char *to,
+crypto_pk_private_decrypt(crypto_pk_t *env, char *to,
size_t tolen,
const char *from, size_t fromlen,
int padding, int warnOnFailure)
@@ -905,7 +881,7 @@ crypto_pk_private_decrypt(crypto_pk_env_t *env, char *to,
* at least the length of the modulus of <b>env</b>.
*/
int
-crypto_pk_public_checksig(crypto_pk_env_t *env, char *to,
+crypto_pk_public_checksig(crypto_pk_t *env, char *to,
size_t tolen,
const char *from, size_t fromlen)
{
@@ -932,7 +908,7 @@ crypto_pk_public_checksig(crypto_pk_env_t *env, char *to,
* SHA1(data). Else return -1.
*/
int
-crypto_pk_public_checksig_digest(crypto_pk_env_t *env, const char *data,
+crypto_pk_public_checksig_digest(crypto_pk_t *env, const char *data,
size_t datalen, const char *sig, size_t siglen)
{
char digest[DIGEST_LEN];
@@ -977,7 +953,7 @@ crypto_pk_public_checksig_digest(crypto_pk_env_t *env, const char *data,
* at least the length of the modulus of <b>env</b>.
*/
int
-crypto_pk_private_sign(crypto_pk_env_t *env, char *to, size_t tolen,
+crypto_pk_private_sign(crypto_pk_t *env, char *to, size_t tolen,
const char *from, size_t fromlen)
{
int r;
@@ -1009,7 +985,7 @@ crypto_pk_private_sign(crypto_pk_env_t *env, char *to, size_t tolen,
* at least the length of the modulus of <b>env</b>.
*/
int
-crypto_pk_private_sign_digest(crypto_pk_env_t *env, char *to, size_t tolen,
+crypto_pk_private_sign_digest(crypto_pk_t *env, char *to, size_t tolen,
const char *from, size_t fromlen)
{
int r;
@@ -1039,7 +1015,7 @@ crypto_pk_private_sign_digest(crypto_pk_env_t *env, char *to, size_t tolen,
* the source data encrypted in AES-CTR mode with the symmetric key.
*/
int
-crypto_pk_public_hybrid_encrypt(crypto_pk_env_t *env,
+crypto_pk_public_hybrid_encrypt(crypto_pk_t *env,
char *to, size_t tolen,
const char *from,
size_t fromlen,
@@ -1047,7 +1023,7 @@ crypto_pk_public_hybrid_encrypt(crypto_pk_env_t *env,
{
int overhead, outlen, r;
size_t pkeylen, symlen;
- crypto_cipher_env_t *cipher = NULL;
+ crypto_cipher_t *cipher = NULL;
char *buf = NULL;
tor_assert(env);
@@ -1070,7 +1046,7 @@ crypto_pk_public_hybrid_encrypt(crypto_pk_env_t *env,
tor_assert(tolen >= fromlen + overhead + CIPHER_KEY_LEN);
tor_assert(tolen >= pkeylen);
- cipher = crypto_new_cipher_env();
+ cipher = crypto_cipher_new();
if (!cipher) return -1;
if (crypto_cipher_generate_key(cipher)<0)
goto err;
@@ -1101,7 +1077,7 @@ crypto_pk_public_hybrid_encrypt(crypto_pk_env_t *env,
if (r<0) goto err;
memset(buf, 0, pkeylen);
tor_free(buf);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
tor_assert(outlen+symlen < INT_MAX);
return (int)(outlen + symlen);
err:
@@ -1109,13 +1085,13 @@ crypto_pk_public_hybrid_encrypt(crypto_pk_env_t *env,
memset(buf, 0, pkeylen);
tor_free(buf);
}
- if (cipher) crypto_free_cipher_env(cipher);
+ if (cipher) crypto_cipher_free(cipher);
return -1;
}
/** Invert crypto_pk_public_hybrid_encrypt. */
int
-crypto_pk_private_hybrid_decrypt(crypto_pk_env_t *env,
+crypto_pk_private_hybrid_decrypt(crypto_pk_t *env,
char *to,
size_t tolen,
const char *from,
@@ -1124,7 +1100,7 @@ crypto_pk_private_hybrid_decrypt(crypto_pk_env_t *env,
{
int outlen, r;
size_t pkeylen;
- crypto_cipher_env_t *cipher = NULL;
+ crypto_cipher_t *cipher = NULL;
char *buf = NULL;
tor_assert(fromlen < SIZE_T_CEILING);
@@ -1160,13 +1136,13 @@ crypto_pk_private_hybrid_decrypt(crypto_pk_env_t *env,
goto err;
memset(buf,0,pkeylen);
tor_free(buf);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
tor_assert(outlen + fromlen < INT_MAX);
return (int)(outlen + (fromlen-pkeylen));
err:
memset(buf,0,pkeylen);
tor_free(buf);
- if (cipher) crypto_free_cipher_env(cipher);
+ if (cipher) crypto_cipher_free(cipher);
return -1;
}
@@ -1174,7 +1150,7 @@ crypto_pk_private_hybrid_decrypt(crypto_pk_env_t *env,
* Return -1 on error, or the number of characters used on success.
*/
int
-crypto_pk_asn1_encode(crypto_pk_env_t *pk, char *dest, size_t dest_len)
+crypto_pk_asn1_encode(crypto_pk_t *pk, char *dest, size_t dest_len)
{
int len;
unsigned char *buf, *cp;
@@ -1199,7 +1175,7 @@ crypto_pk_asn1_encode(crypto_pk_env_t *pk, char *dest, size_t dest_len)
/** Decode an ASN.1-encoded public key from <b>str</b>; return the result on
* success and NULL on failure.
*/
-crypto_pk_env_t *
+crypto_pk_t *
crypto_pk_asn1_decode(const char *str, size_t len)
{
RSA *rsa;
@@ -1213,7 +1189,7 @@ crypto_pk_asn1_decode(const char *str, size_t len)
crypto_log_errors(LOG_WARN,"decoding public key");
return NULL;
}
- return _crypto_new_pk_env_rsa(rsa);
+ return _crypto_new_pk_from_rsa(rsa);
}
/** Given a private or public key <b>pk</b>, put a SHA1 hash of the
@@ -1221,7 +1197,7 @@ crypto_pk_asn1_decode(const char *str, size_t len)
* Return 0 on success, -1 on failure.
*/
int
-crypto_pk_get_digest(crypto_pk_env_t *pk, char *digest_out)
+crypto_pk_get_digest(crypto_pk_t *pk, char *digest_out)
{
unsigned char *buf, *bufp;
int len;
@@ -1247,7 +1223,7 @@ crypto_pk_get_digest(crypto_pk_env_t *pk, char *digest_out)
/** Compute all digests of the DER encoding of <b>pk</b>, and store them
* in <b>digests_out</b>. Return 0 on success, -1 on failure. */
int
-crypto_pk_get_all_digests(crypto_pk_env_t *pk, digests_t *digests_out)
+crypto_pk_get_all_digests(crypto_pk_t *pk, digests_t *digests_out)
{
unsigned char *buf, *bufp;
int len;
@@ -1301,7 +1277,7 @@ add_spaces_to_fp(char *out, size_t outlen, const char *in)
* If <b>add_space</b> is false, omit the spaces.
*/
int
-crypto_pk_get_fingerprint(crypto_pk_env_t *pk, char *fp_out, int add_space)
+crypto_pk_get_fingerprint(crypto_pk_t *pk, char *fp_out, int add_space)
{
char digest[DIGEST_LEN];
char hexdigest[HEX_DIGEST_LEN+1];
@@ -1340,7 +1316,7 @@ crypto_pk_check_fingerprint_syntax(const char *s)
* Return 0 on success, -1 on failure. Does not initialize the cipher.
*/
int
-crypto_cipher_generate_key(crypto_cipher_env_t *env)
+crypto_cipher_generate_key(crypto_cipher_t *env)
{
tor_assert(env);
@@ -1351,7 +1327,7 @@ crypto_cipher_generate_key(crypto_cipher_env_t *env)
* CIPHER_KEY_LEN bytes of <b>key</b>. Does not initialize the cipher.
*/
void
-crypto_cipher_set_key(crypto_cipher_env_t *env, const char *key)
+crypto_cipher_set_key(crypto_cipher_t *env, const char *key)
{
tor_assert(env);
tor_assert(key);
@@ -1371,7 +1347,7 @@ crypto_cipher_generate_iv(char *iv_out)
* corresponding to the encryption of the CIPHER_IV_LEN bytes at
* <b>iv</b>. */
int
-crypto_cipher_set_iv(crypto_cipher_env_t *env, const char *iv)
+crypto_cipher_set_iv(crypto_cipher_t *env, const char *iv)
{
tor_assert(env);
tor_assert(iv);
@@ -1382,7 +1358,7 @@ crypto_cipher_set_iv(crypto_cipher_env_t *env, const char *iv)
/** Return a pointer to the key set for the cipher in <b>env</b>.
*/
const char *
-crypto_cipher_get_key(crypto_cipher_env_t *env)
+crypto_cipher_get_key(crypto_cipher_t *env)
{
return env->key;
}
@@ -1391,7 +1367,7 @@ crypto_cipher_get_key(crypto_cipher_env_t *env)
* success, -1 on failure.
*/
int
-crypto_cipher_encrypt_init_cipher(crypto_cipher_env_t *env)
+crypto_cipher_encrypt_init_cipher(crypto_cipher_t *env)
{
tor_assert(env);
@@ -1403,7 +1379,7 @@ crypto_cipher_encrypt_init_cipher(crypto_cipher_env_t *env)
* success, -1 on failure.
*/
int
-crypto_cipher_decrypt_init_cipher(crypto_cipher_env_t *env)
+crypto_cipher_decrypt_init_cipher(crypto_cipher_t *env)
{
tor_assert(env);
@@ -1416,7 +1392,7 @@ crypto_cipher_decrypt_init_cipher(crypto_cipher_env_t *env)
* On failure, return -1.
*/
int
-crypto_cipher_encrypt(crypto_cipher_env_t *env, char *to,
+crypto_cipher_encrypt(crypto_cipher_t *env, char *to,
const char *from, size_t fromlen)
{
tor_assert(env);
@@ -1435,7 +1411,7 @@ crypto_cipher_encrypt(crypto_cipher_env_t *env, char *to,
* On failure, return -1.
*/
int
-crypto_cipher_decrypt(crypto_cipher_env_t *env, char *to,
+crypto_cipher_decrypt(crypto_cipher_t *env, char *to,
const char *from, size_t fromlen)
{
tor_assert(env);
@@ -1451,7 +1427,7 @@ crypto_cipher_decrypt(crypto_cipher_env_t *env, char *to,
* on success, return 0. On failure, return -1.
*/
int
-crypto_cipher_crypt_inplace(crypto_cipher_env_t *env, char *buf, size_t len)
+crypto_cipher_crypt_inplace(crypto_cipher_t *env, char *buf, size_t len)
{
tor_assert(len < SIZE_T_CEILING);
aes_crypt_inplace(env->cipher, buf, len);
@@ -1468,7 +1444,7 @@ crypto_cipher_crypt_inplace(crypto_cipher_env_t *env, char *buf, size_t len)
* to immediately after the encrypted data.
*/
int
-crypto_cipher_encrypt_with_iv(crypto_cipher_env_t *cipher,
+crypto_cipher_encrypt_with_iv(crypto_cipher_t *cipher,
char *to, size_t tolen,
const char *from, size_t fromlen)
{
@@ -1499,7 +1475,7 @@ crypto_cipher_encrypt_with_iv(crypto_cipher_env_t *cipher,
* to immediately after the decrypted data.
*/
int
-crypto_cipher_decrypt_with_iv(crypto_cipher_env_t *cipher,
+crypto_cipher_decrypt_with_iv(crypto_cipher_t *cipher,
char *to, size_t tolen,
const char *from, size_t fromlen)
{
@@ -1593,7 +1569,7 @@ crypto_digest_algorithm_parse_name(const char *name)
}
/** Intermediate information about the digest of a stream of data. */
-struct crypto_digest_env_t {
+struct crypto_digest_t {
union {
SHA_CTX sha1; /**< state for SHA1 */
SHA256_CTX sha2; /**< state for SHA256 */
@@ -1604,11 +1580,11 @@ struct crypto_digest_env_t {
/** Allocate and return a new digest object to compute SHA1 digests.
*/
-crypto_digest_env_t *
-crypto_new_digest_env(void)
+crypto_digest_t *
+crypto_digest_new(void)
{
- crypto_digest_env_t *r;
- r = tor_malloc(sizeof(crypto_digest_env_t));
+ crypto_digest_t *r;
+ r = tor_malloc(sizeof(crypto_digest_t));
SHA1_Init(&r->d.sha1);
r->algorithm = DIGEST_SHA1;
return r;
@@ -1616,12 +1592,12 @@ crypto_new_digest_env(void)
/** Allocate and return a new digest object to compute 256-bit digests
* using <b>algorithm</b>. */
-crypto_digest_env_t *
-crypto_new_digest256_env(digest_algorithm_t algorithm)
+crypto_digest_t *
+crypto_digest256_new(digest_algorithm_t algorithm)
{
- crypto_digest_env_t *r;
+ crypto_digest_t *r;
tor_assert(algorithm == DIGEST_SHA256);
- r = tor_malloc(sizeof(crypto_digest_env_t));
+ r = tor_malloc(sizeof(crypto_digest_t));
SHA256_Init(&r->d.sha2);
r->algorithm = algorithm;
return r;
@@ -1630,18 +1606,18 @@ crypto_new_digest256_env(digest_algorithm_t algorithm)
/** Deallocate a digest object.
*/
void
-crypto_free_digest_env(crypto_digest_env_t *digest)
+crypto_digest_free(crypto_digest_t *digest)
{
if (!digest)
return;
- memset(digest, 0, sizeof(crypto_digest_env_t));
+ memset(digest, 0, sizeof(crypto_digest_t));
tor_free(digest);
}
/** Add <b>len</b> bytes from <b>data</b> to the digest object.
*/
void
-crypto_digest_add_bytes(crypto_digest_env_t *digest, const char *data,
+crypto_digest_add_bytes(crypto_digest_t *digest, const char *data,
size_t len)
{
tor_assert(digest);
@@ -1669,15 +1645,15 @@ crypto_digest_add_bytes(crypto_digest_env_t *digest, const char *data,
* <b>out_len</b> must be \<= DIGEST256_LEN.
*/
void
-crypto_digest_get_digest(crypto_digest_env_t *digest,
+crypto_digest_get_digest(crypto_digest_t *digest,
char *out, size_t out_len)
{
unsigned char r[DIGEST256_LEN];
- crypto_digest_env_t tmpenv;
+ crypto_digest_t tmpenv;
tor_assert(digest);
tor_assert(out);
/* memcpy into a temporary ctx, since SHA*_Final clears the context */
- memcpy(&tmpenv, digest, sizeof(crypto_digest_env_t));
+ memcpy(&tmpenv, digest, sizeof(crypto_digest_t));
switch (digest->algorithm) {
case DIGEST_SHA1:
tor_assert(out_len <= DIGEST_LEN);
@@ -1702,13 +1678,13 @@ crypto_digest_get_digest(crypto_digest_env_t *digest,
/** Allocate and return a new digest object with the same state as
* <b>digest</b>
*/
-crypto_digest_env_t *
-crypto_digest_dup(const crypto_digest_env_t *digest)
+crypto_digest_t *
+crypto_digest_dup(const crypto_digest_t *digest)
{
- crypto_digest_env_t *r;
+ crypto_digest_t *r;
tor_assert(digest);
- r = tor_malloc(sizeof(crypto_digest_env_t));
- memcpy(r,digest,sizeof(crypto_digest_env_t));
+ r = tor_malloc(sizeof(crypto_digest_t));
+ memcpy(r,digest,sizeof(crypto_digest_t));
return r;
}
@@ -1716,12 +1692,12 @@ crypto_digest_dup(const crypto_digest_env_t *digest)
* of the digest object <b>from</b>.
*/
void
-crypto_digest_assign(crypto_digest_env_t *into,
- const crypto_digest_env_t *from)
+crypto_digest_assign(crypto_digest_t *into,
+ const crypto_digest_t *from)
{
tor_assert(into);
tor_assert(from);
- memcpy(into,from,sizeof(crypto_digest_env_t));
+ memcpy(into,from,sizeof(crypto_digest_t));
}
/** Compute the HMAC-SHA-1 of the <b>msg_len</b> bytes in <b>msg</b>, using
@@ -1740,15 +1716,15 @@ crypto_hmac_sha1(char *hmac_out,
}
/** Compute the HMAC-SHA-256 of the <b>msg_len</b> bytes in <b>msg</b>, using
- * the <b>key</b> of length <b>key_len</b>. Store the DIGEST_LEN-byte result
- * in <b>hmac_out</b>.
+ * the <b>key</b> of length <b>key_len</b>. Store the DIGEST256_LEN-byte
+ * result in <b>hmac_out</b>.
*/
void
crypto_hmac_sha256(char *hmac_out,
const char *key, size_t key_len,
const char *msg, size_t msg_len)
{
-#if (OPENSSL_VERSION_NUMBER >= 0x00908000l)
+#if OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(0,9,8)
/* If we've got OpenSSL >=0.9.8 we can use its hmac implementation. */
tor_assert(key_len < INT_MAX);
tor_assert(msg_len < INT_MAX);
@@ -1809,6 +1785,9 @@ crypto_hmac_sha256(char *hmac_out,
/* DH */
+/** Our DH 'g' parameter */
+#define DH_GENERATOR 2
+
/** Shared P parameter for our circuit-crypto DH key exchanges. */
static BIGNUM *dh_param_p = NULL;
/** Shared P parameter for our TLS DH key exchanges. */
@@ -1816,49 +1795,327 @@ static BIGNUM *dh_param_p_tls = NULL;
/** Shared G parameter for our DH key exchanges. */
static BIGNUM *dh_param_g = NULL;
+/** Generate and return a reasonable and safe DH parameter p. */
+static BIGNUM *
+crypto_generate_dynamic_dh_modulus(void)
+{
+ BIGNUM *dynamic_dh_modulus;
+ DH *dh_parameters;
+ int r, dh_codes;
+ char *s;
+
+ dynamic_dh_modulus = BN_new();
+ tor_assert(dynamic_dh_modulus);
+
+ dh_parameters = DH_generate_parameters(DH_BYTES*8, DH_GENERATOR, NULL, NULL);
+ tor_assert(dh_parameters);
+
+ r = DH_check(dh_parameters, &dh_codes);
+ tor_assert(r && !dh_codes);
+
+ BN_copy(dynamic_dh_modulus, dh_parameters->p);
+ tor_assert(dynamic_dh_modulus);
+
+ DH_free(dh_parameters);
+
+ { /* log the dynamic DH modulus: */
+ s = BN_bn2hex(dynamic_dh_modulus);
+ tor_assert(s);
+ log_info(LD_OR, "Dynamic DH modulus generated: [%s]", s);
+ OPENSSL_free(s);
+ }
+
+ return dynamic_dh_modulus;
+}
+
+/** Store our dynamic DH modulus (and its group parameters) to
+ <b>fname</b> for future use. */
+static int
+crypto_store_dynamic_dh_modulus(const char *fname)
+{
+ int len, new_len;
+ DH *dh = NULL;
+ unsigned char *dh_string_repr = NULL, *cp = NULL;
+ char *base64_encoded_dh = NULL;
+ char *file_string = NULL;
+ int retval = -1;
+ static const char file_header[] = "# This file contains stored Diffie-"
+ "Hellman parameters for future use.\n# You *do not* need to edit this "
+ "file.\n\n";
+
+ tor_assert(fname);
+
+ if (!dh_param_p_tls) {
+ log_info(LD_CRYPTO, "Tried to store a DH modulus that does not exist.");
+ goto done;
+ }
+
+ if (!(dh = DH_new()))
+ goto done;
+ if (!(dh->p = BN_dup(dh_param_p_tls)))
+ goto done;
+ if (!(dh->g = BN_new()))
+ goto done;
+ if (!BN_set_word(dh->g, DH_GENERATOR))
+ goto done;
+
+ len = i2d_DHparams(dh, NULL);
+ if (len < 0) {
+ log_warn(LD_CRYPTO, "Error occured while DER encoding DH modulus (1).");
+ goto done;
+ }
+
+ cp = dh_string_repr = tor_malloc_zero(len+1);
+ len = i2d_DHparams(dh, &cp);
+ if ((len < 0) || ((cp - dh_string_repr) != len)) {
+ log_warn(LD_CRYPTO, "Error occured while DER encoding DH modulus (2).");
+ goto done;
+ }
+
+ base64_encoded_dh = tor_malloc_zero(len * 2); /* should be enough */
+ new_len = base64_encode(base64_encoded_dh, len * 2,
+ (char *)dh_string_repr, len);
+ if (new_len < 0) {
+ log_warn(LD_CRYPTO, "Error occured while base64-encoding DH modulus.");
+ goto done;
+ }
+
+ /* concatenate file header and the dh parameters blob */
+ new_len = tor_asprintf(&file_string, "%s%s", file_header, base64_encoded_dh);
+
+ /* write to file */
+ if (write_bytes_to_new_file(fname, file_string, new_len, 0) < 0) {
+ log_info(LD_CRYPTO, "'%s' was already occupied.", fname);
+ goto done;
+ }
+
+ retval = 0;
+
+ done:
+ if (dh)
+ DH_free(dh);
+ tor_free(dh_string_repr);
+ tor_free(base64_encoded_dh);
+ tor_free(file_string);
+
+ return retval;
+}
+
+/** Return the dynamic DH modulus stored in <b>fname</b>. If there is no
+ dynamic DH modulus stored in <b>fname</b>, return NULL. */
+static BIGNUM *
+crypto_get_stored_dynamic_dh_modulus(const char *fname)
+{
+ int retval;
+ char *contents = NULL;
+ const char *contents_tmp = NULL;
+ int dh_codes;
+ char *fname_new = NULL;
+ DH *stored_dh = NULL;
+ BIGNUM *dynamic_dh_modulus = NULL;
+ int length = 0;
+ unsigned char *base64_decoded_dh = NULL;
+ const unsigned char *cp = NULL;
+
+ tor_assert(fname);
+
+ contents = read_file_to_str(fname, RFTS_IGNORE_MISSING, NULL);
+ if (!contents) {
+ log_info(LD_CRYPTO, "Could not open file '%s'", fname);
+ goto done; /*usually means that ENOENT. don't try to move file to broken.*/
+ }
+
+ /* skip the file header */
+ contents_tmp = eat_whitespace(contents);
+ if (!*contents_tmp) {
+ log_warn(LD_CRYPTO, "Stored dynamic DH modulus file "
+ "seems corrupted (eat_whitespace).");
+ goto err;
+ }
+
+ /* 'fname' contains the DH parameters stored in base64-ed DER
+ * format. We are only interested in the DH modulus.
+ * NOTE: We allocate more storage here than we need. Since we're already
+ * doing that, we can also add 1 byte extra to appease Coverity's
+ * scanner. */
+
+ cp = base64_decoded_dh = tor_malloc_zero(strlen(contents_tmp) + 1);
+ length = base64_decode((char *)base64_decoded_dh, strlen(contents_tmp),
+ contents_tmp, strlen(contents_tmp));
+ if (length < 0) {
+ log_warn(LD_CRYPTO, "Stored dynamic DH modulus seems corrupted (base64).");
+ goto err;
+ }
+
+ stored_dh = d2i_DHparams(NULL, &cp, length);
+ if ((!stored_dh) || (cp - base64_decoded_dh != length)) {
+ log_warn(LD_CRYPTO, "Stored dynamic DH modulus seems corrupted (d2i).");
+ goto err;
+ }
+
+ { /* check the cryptographic qualities of the stored dynamic DH modulus: */
+ retval = DH_check(stored_dh, &dh_codes);
+ if (!retval || dh_codes) {
+ log_warn(LD_CRYPTO, "Stored dynamic DH modulus is not a safe prime.");
+ goto err;
+ }
+
+ retval = DH_size(stored_dh);
+ if (retval < DH_BYTES) {
+ log_warn(LD_CRYPTO, "Stored dynamic DH modulus is smaller "
+ "than '%d' bits.", DH_BYTES*8);
+ goto err;
+ }
+
+ if (!BN_is_word(stored_dh->g, 2)) {
+ log_warn(LD_CRYPTO, "Stored dynamic DH parameters do not use '2' "
+ "as the group generator.");
+ goto err;
+ }
+ }
+
+ { /* log the dynamic DH modulus: */
+ char *s = BN_bn2hex(stored_dh->p);
+ tor_assert(s);
+ log_info(LD_OR, "Found stored dynamic DH modulus: [%s]", s);
+ OPENSSL_free(s);
+ }
+
+ goto done;
+
+ err:
+
+ { /* move broken prime to $filename.broken */
+ fname_new = tor_malloc(strlen(fname) + 8);
+
+ /* no can do if these functions return error */
+ strlcpy(fname_new, fname, strlen(fname) + 8);
+ strlcat(fname_new, ".broken", strlen(fname) + 8);
+
+ log_warn(LD_CRYPTO, "Moving broken dynamic DH prime to '%s'.", fname_new);
+
+ if (replace_file(fname, fname_new))
+ log_notice(LD_CRYPTO, "Error while moving '%s' to '%s'.",
+ fname, fname_new);
+
+ tor_free(fname_new);
+ }
+
+ if (stored_dh) {
+ DH_free(stored_dh);
+ stored_dh = NULL;
+ }
+
+ done:
+ tor_free(contents);
+ tor_free(base64_decoded_dh);
+
+ if (stored_dh) {
+ dynamic_dh_modulus = BN_dup(stored_dh->p);
+ DH_free(stored_dh);
+ }
+
+ return dynamic_dh_modulus;
+}
+
+/** Set the global TLS Diffie-Hellman modulus.
+ * If <b>dynamic_dh_modulus_fname</b> is set, try to read a dynamic DH modulus
+ * off it and use it as the DH modulus. If that's not possible,
+ * generate a new dynamic DH modulus.
+ * If <b>dynamic_dh_modulus_fname</b> is NULL, use the Apache mod_ssl DH
+ * modulus. */
+void
+crypto_set_tls_dh_prime(const char *dynamic_dh_modulus_fname)
+{
+ BIGNUM *tls_prime = NULL;
+ int store_dh_prime_afterwards = 0;
+ int r;
+
+ /* If the space is occupied, free the previous TLS DH prime */
+ if (dh_param_p_tls) {
+ BN_free(dh_param_p_tls);
+ dh_param_p_tls = NULL;
+ }
+
+ if (dynamic_dh_modulus_fname) { /* use dynamic DH modulus: */
+ log_info(LD_OR, "Using stored dynamic DH modulus.");
+ tls_prime = crypto_get_stored_dynamic_dh_modulus(dynamic_dh_modulus_fname);
+
+ if (!tls_prime) {
+ log_notice(LD_OR, "Generating fresh dynamic DH modulus. "
+ "This might take a while...");
+ tls_prime = crypto_generate_dynamic_dh_modulus();
+
+ store_dh_prime_afterwards++;
+ }
+ } else { /* use the static DH prime modulus used by Apache in mod_ssl: */
+ tls_prime = BN_new();
+ tor_assert(tls_prime);
+
+ /* This is the 1024-bit safe prime that Apache uses for its DH stuff; see
+ * modules/ssl/ssl_engine_dh.c; Apache also uses a generator of 2 with this
+ * prime.
+ */
+ r =BN_hex2bn(&tls_prime,
+ "D67DE440CBBBDC1936D693D34AFD0AD50C84D239A45F520BB88174CB98"
+ "BCE951849F912E639C72FB13B4B4D7177E16D55AC179BA420B2A29FE324A"
+ "467A635E81FF5901377BEDDCFD33168A461AAD3B72DAE8860078045B07A7"
+ "DBCA7874087D1510EA9FCC9DDD330507DD62DB88AEAA747DE0F4D6E2BD68"
+ "B0E7393E0F24218EB3");
+ tor_assert(r);
+ }
+
+ tor_assert(tls_prime);
+
+ dh_param_p_tls = tls_prime;
+
+ if (store_dh_prime_afterwards)
+ /* save the new dynamic DH modulus to disk. */
+ if (crypto_store_dynamic_dh_modulus(dynamic_dh_modulus_fname)) {
+ log_notice(LD_CRYPTO, "Failed while storing dynamic DH modulus. "
+ "Make sure your data directory is sane.");
+ }
+}
+
/** Initialize dh_param_p and dh_param_g if they are not already
* set. */
static void
init_dh_param(void)
{
- BIGNUM *p, *p2, *g;
+ BIGNUM *circuit_dh_prime, *generator;
int r;
- if (dh_param_p && dh_param_g && dh_param_p_tls)
+ if (dh_param_p && dh_param_g)
return;
- p = BN_new();
- p2 = BN_new();
- g = BN_new();
- tor_assert(p);
- tor_assert(p2);
- tor_assert(g);
+ circuit_dh_prime = BN_new();
+ generator = BN_new();
+ tor_assert(circuit_dh_prime && generator);
+
+ /* Set our generator for all DH parameters */
+ r = BN_set_word(generator, DH_GENERATOR);
+ tor_assert(r);
/* This is from rfc2409, section 6.2. It's a safe prime, and
supposedly it equals:
2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }.
*/
- r = BN_hex2bn(&p,
+ r = BN_hex2bn(&circuit_dh_prime,
"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E08"
"8A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B"
"302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9"
"A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE6"
"49286651ECE65381FFFFFFFFFFFFFFFF");
tor_assert(r);
- /* This is the 1024-bit safe prime that Apache uses for its DH stuff; see
- * modules/ssl/ssl_engine_dh.c */
- r = BN_hex2bn(&p2,
- "D67DE440CBBBDC1936D693D34AFD0AD50C84D239A45F520BB88174CB98"
- "BCE951849F912E639C72FB13B4B4D7177E16D55AC179BA420B2A29FE324A"
- "467A635E81FF5901377BEDDCFD33168A461AAD3B72DAE8860078045B07A7"
- "DBCA7874087D1510EA9FCC9DDD330507DD62DB88AEAA747DE0F4D6E2BD68"
- "B0E7393E0F24218EB3");
- tor_assert(r);
- r = BN_set_word(g, 2);
- tor_assert(r);
- dh_param_p = p;
- dh_param_p_tls = p2;
- dh_param_g = g;
+ /* Set the new values as the global DH parameters. */
+ dh_param_p = circuit_dh_prime;
+ dh_param_g = generator;
+
+ /* Ensure that we have TLS DH parameters set up, too, even if we're
+ going to change them soon. */
+ if (!dh_param_p_tls) {
+ crypto_set_tls_dh_prime(NULL);
+ }
}
/** Number of bits to use when choosing the x or y value in a Diffie-Hellman
@@ -1869,10 +2126,10 @@ init_dh_param(void)
/** Allocate and return a new DH object for a key exchange.
*/
-crypto_dh_env_t *
+crypto_dh_t *
crypto_dh_new(int dh_type)
{
- crypto_dh_env_t *res = tor_malloc_zero(sizeof(crypto_dh_env_t));
+ crypto_dh_t *res = tor_malloc_zero(sizeof(crypto_dh_t));
tor_assert(dh_type == DH_TYPE_CIRCUIT || dh_type == DH_TYPE_TLS ||
dh_type == DH_TYPE_REND);
@@ -1907,7 +2164,7 @@ crypto_dh_new(int dh_type)
/** Return the length of the DH key in <b>dh</b>, in bytes.
*/
int
-crypto_dh_get_bytes(crypto_dh_env_t *dh)
+crypto_dh_get_bytes(crypto_dh_t *dh)
{
tor_assert(dh);
return DH_size(dh->dh);
@@ -1917,7 +2174,7 @@ crypto_dh_get_bytes(crypto_dh_env_t *dh)
* success, -1 on failure.
*/
int
-crypto_dh_generate_public(crypto_dh_env_t *dh)
+crypto_dh_generate_public(crypto_dh_t *dh)
{
again:
if (!DH_generate_key(dh->dh)) {
@@ -1941,7 +2198,7 @@ crypto_dh_generate_public(crypto_dh_env_t *dh)
* success, -1 on failure. <b>pubkey_len</b> must be \>= DH_BYTES.
*/
int
-crypto_dh_get_public(crypto_dh_env_t *dh, char *pubkey, size_t pubkey_len)
+crypto_dh_get_public(crypto_dh_t *dh, char *pubkey, size_t pubkey_len)
{
int bytes;
tor_assert(dh);
@@ -2014,7 +2271,7 @@ tor_check_dh_key(int severity, BIGNUM *bn)
* where || is concatenation.)
*/
ssize_t
-crypto_dh_compute_secret(int severity, crypto_dh_env_t *dh,
+crypto_dh_compute_secret(int severity, crypto_dh_t *dh,
const char *pubkey, size_t pubkey_len,
char *secret_out, size_t secret_bytes_out)
{
@@ -2105,7 +2362,7 @@ crypto_expand_key_material(const char *key_in, size_t key_in_len,
/** Free a DH key exchange object.
*/
void
-crypto_dh_free(crypto_dh_env_t *dh)
+crypto_dh_free(crypto_dh_t *dh)
{
if (!dh)
return;
@@ -2122,13 +2379,6 @@ crypto_dh_free(crypto_dh_env_t *dh)
* work for us too. */
#define ADD_ENTROPY 32
-/** True iff we should use OpenSSL's RAND_poll function to add entropy to its
- * pool.
- *
- * Use RAND_poll if OpenSSL is 0.9.6 release or later. (The "f" means
- *"release".) */
-#define HAVE_RAND_POLL (OPENSSL_VERSION_NUMBER >= 0x0090600fl)
-
/** True iff it's safe to use RAND_poll after setup.
*
* Versions of OpenSSL prior to 0.9.7k and 0.9.8c had a bug where RAND_poll
@@ -2136,9 +2386,9 @@ crypto_dh_free(crypto_dh_env_t *dh)
* that fd without checking whether it fit in the fd_set. Thus, if the
* system has not just been started up, it is unsafe to call */
#define RAND_POLL_IS_SAFE \
- ((OPENSSL_VERSION_NUMBER >= 0x009070afl && \
- OPENSSL_VERSION_NUMBER <= 0x00907fffl) || \
- (OPENSSL_VERSION_NUMBER >= 0x0090803fl))
+ ((OPENSSL_VERSION_NUMBER >= OPENSSL_V(0,9,7,'j') && \
+ OPENSSL_VERSION_NUMBER < OPENSSL_V_SERIES(0,9,8)) || \
+ OPENSSL_VERSION_NUMBER >= OPENSSL_V(0,9,8,'c'))
/** Set the seed of the weak RNG to a random value. */
static void
@@ -2159,7 +2409,7 @@ crypto_seed_rng(int startup)
int rand_poll_status = 0;
/* local variables */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
unsigned char buf[ADD_ENTROPY];
static int provider_set = 0;
static HCRYPTPROV provider;
@@ -2172,8 +2422,7 @@ crypto_seed_rng(int startup)
size_t n;
#endif
-#if HAVE_RAND_POLL
- /* OpenSSL 0.9.6 adds a RAND_poll function that knows about more kinds of
+ /* OpenSSL has a RAND_poll function that knows about more kinds of
* entropy than we do. We'll try calling that, *and* calling our own entropy
* functions. If one succeeds, we'll accept the RNG as seeded. */
if (startup || RAND_POLL_IS_SAFE) {
@@ -2181,9 +2430,8 @@ crypto_seed_rng(int startup)
if (rand_poll_status == 0)
log_warn(LD_CRYPTO, "RAND_poll() failed.");
}
-#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
if (!provider_set) {
if (!CryptAcquireContext(&provider, NULL, NULL, PROV_RSA_FULL,
CRYPT_VERIFYCONTEXT)) {
@@ -2307,9 +2555,12 @@ crypto_rand_double(void)
}
/** Generate and return a new random hostname starting with <b>prefix</b>,
- * ending with <b>suffix</b>, and containing no less than
+ * ending with <b>suffix</b>, and containing no fewer than
* <b>min_rand_len</b> and no more than <b>max_rand_len</b> random base32
- * characters between. */
+ * characters between.
+ *
+ * Clip <b>max_rand_len</b> to MAX_DNS_LABEL_SIZE.
+ **/
char *
crypto_random_hostname(int min_rand_len, int max_rand_len, const char *prefix,
const char *suffix)
@@ -2318,8 +2569,13 @@ crypto_random_hostname(int min_rand_len, int max_rand_len, const char *prefix,
int randlen, rand_bytes_len;
size_t resultlen, prefixlen;
- tor_assert(max_rand_len >= min_rand_len);
+ if (max_rand_len > MAX_DNS_LABEL_SIZE)
+ max_rand_len = MAX_DNS_LABEL_SIZE;
+ if (min_rand_len > max_rand_len)
+ min_rand_len = max_rand_len;
+
randlen = min_rand_len + crypto_rand_int(max_rand_len - min_rand_len + 1);
+
prefixlen = strlen(prefix);
resultlen = prefixlen + strlen(suffix) + randlen + 16;
@@ -2707,7 +2963,7 @@ void
secret_to_key(char *key_out, size_t key_out_len, const char *secret,
size_t secret_len, const char *s2k_specifier)
{
- crypto_digest_env_t *d;
+ crypto_digest_t *d;
uint8_t c;
size_t count, tmplen;
char *tmp;
@@ -2720,7 +2976,7 @@ secret_to_key(char *key_out, size_t key_out_len, const char *secret,
tor_assert(key_out_len <= DIGEST_LEN);
- d = crypto_new_digest_env();
+ d = crypto_digest_new();
tmplen = 8+secret_len;
tmp = tor_malloc(tmplen);
memcpy(tmp,s2k_specifier,8);
@@ -2738,7 +2994,7 @@ secret_to_key(char *key_out, size_t key_out_len, const char *secret,
crypto_digest_get_digest(d, key_out, key_out_len);
memset(tmp, 0, tmplen);
tor_free(tmp);
- crypto_free_digest_env(d);
+ crypto_digest_free(d);
}
#ifdef TOR_IS_MULTITHREADED
@@ -2830,5 +3086,44 @@ setup_openssl_threading(void)
return 0;
}
#endif
+
+/** Uninitialize the crypto library. Return 0 on success, -1 on failure.
+ */
+int
+crypto_global_cleanup(void)
+{
+ EVP_cleanup();
+ ERR_remove_state(0);
+ ERR_free_strings();
+
+ if (dh_param_p)
+ BN_free(dh_param_p);
+ if (dh_param_p_tls)
+ BN_free(dh_param_p_tls);
+ if (dh_param_g)
+ BN_free(dh_param_g);
+
+#ifndef DISABLE_ENGINES
+ ENGINE_cleanup();
+#endif
+
+ CONF_modules_unload(1);
+ CRYPTO_cleanup_all_ex_data();
+#ifdef TOR_IS_MULTITHREADED
+ if (_n_openssl_mutexes) {
+ int n = _n_openssl_mutexes;
+ tor_mutex_t **ms = _openssl_mutexes;
+ int i;
+ _openssl_mutexes = NULL;
+ _n_openssl_mutexes = 0;
+ for (i=0;i<n;++i) {
+ tor_mutex_free(ms[i]);
+ }
+ tor_free(ms);
+ }
+#endif
+ return 0;
+}
+
/** @} */
diff --git a/src/common/crypto.h b/src/common/crypto.h
index 80c10296a..1c5ee0d23 100644
--- a/src/common/crypto.h
+++ b/src/common/crypto.h
@@ -16,6 +16,38 @@
#include <stdio.h>
#include "torint.h"
+/*
+ Macro to create an arbitrary OpenSSL version number as used by
+ OPENSSL_VERSION_NUMBER or SSLeay(), since the actual numbers are a bit hard
+ to read.
+
+ Don't use this directly, instead use one of the other OPENSSL_V macros
+ below.
+
+ The format is: 4 bits major, 8 bits minor, 8 bits fix, 8 bits patch, 4 bit
+ status.
+ */
+#define OPENSSL_VER(a,b,c,d,e) \
+ (((a)<<28) | \
+ ((b)<<20) | \
+ ((c)<<12) | \
+ ((d)<< 4) | \
+ (e))
+/** An openssl release number. For example, OPENSSL_V(0,9,8,'j') is the
+ * version for the released version of 0.9.8j */
+#define OPENSSL_V(a,b,c,d) \
+ OPENSSL_VER((a),(b),(c),(d)-'a'+1,0xf)
+/** An openssl release number for the first release in the series. For
+ * example, OPENSSL_V_NOPATCH(1,0,0) is the first released version of OpenSSL
+ * 1.0.0. */
+#define OPENSSL_V_NOPATCH(a,b,c) \
+ OPENSSL_VER((a),(b),(c),0,0xf)
+/** The first version that would occur for any alpha or beta in an openssl
+ * series. For example, OPENSSL_V_SERIES(0,9,8) is greater than any released
+ * 0.9.7, and less than any released 0.9.8. */
+#define OPENSSL_V_SERIES(a,b,c) \
+ OPENSSL_VER((a),(b),(c),0,0)
+
/** Length of the output of our message digest. */
#define DIGEST_LEN 20
/** Length of the output of our second (improved) message digests. (For now
@@ -75,10 +107,10 @@ typedef struct {
char d[N_DIGEST_ALGORITHMS][DIGEST256_LEN];
} digests_t;
-typedef struct crypto_pk_env_t crypto_pk_env_t;
-typedef struct crypto_cipher_env_t crypto_cipher_env_t;
-typedef struct crypto_digest_env_t crypto_digest_env_t;
-typedef struct crypto_dh_env_t crypto_dh_env_t;
+typedef struct crypto_pk_t crypto_pk_t;
+typedef struct crypto_cipher_t crypto_cipher_t;
+typedef struct crypto_digest_t crypto_digest_t;
+typedef struct crypto_dh_t crypto_dh_t;
/* global state */
int crypto_global_init(int hardwareAccel,
@@ -88,91 +120,93 @@ void crypto_thread_cleanup(void);
int crypto_global_cleanup(void);
/* environment setup */
-crypto_pk_env_t *crypto_new_pk_env(void);
-void crypto_free_pk_env(crypto_pk_env_t *env);
+crypto_pk_t *crypto_pk_new(void);
+void crypto_pk_free(crypto_pk_t *env);
+
+void crypto_set_tls_dh_prime(const char *dynamic_dh_modulus_fname);
-/* convenience function: wraps crypto_create_crypto_env, set_key, and init. */
-crypto_cipher_env_t *crypto_create_init_cipher(const char *key,
+/* convenience function: wraps crypto_cipher_new, set_key, and init. */
+crypto_cipher_t *crypto_create_init_cipher(const char *key,
int encrypt_mode);
-crypto_cipher_env_t *crypto_new_cipher_env(void);
-void crypto_free_cipher_env(crypto_cipher_env_t *env);
+crypto_cipher_t *crypto_cipher_new(void);
+void crypto_cipher_free(crypto_cipher_t *env);
/* public key crypto */
-int crypto_pk_generate_key_with_bits(crypto_pk_env_t *env, int bits);
+int crypto_pk_generate_key_with_bits(crypto_pk_t *env, int bits);
#define crypto_pk_generate_key(env) \
crypto_pk_generate_key_with_bits((env), (PK_BYTES*8))
-int crypto_pk_read_private_key_from_filename(crypto_pk_env_t *env,
+int crypto_pk_read_private_key_from_filename(crypto_pk_t *env,
const char *keyfile);
-int crypto_pk_write_public_key_to_string(crypto_pk_env_t *env,
+int crypto_pk_write_public_key_to_string(crypto_pk_t *env,
char **dest, size_t *len);
-int crypto_pk_write_private_key_to_string(crypto_pk_env_t *env,
+int crypto_pk_write_private_key_to_string(crypto_pk_t *env,
char **dest, size_t *len);
-int crypto_pk_read_public_key_from_string(crypto_pk_env_t *env,
+int crypto_pk_read_public_key_from_string(crypto_pk_t *env,
const char *src, size_t len);
-int crypto_pk_read_private_key_from_string(crypto_pk_env_t *env,
+int crypto_pk_read_private_key_from_string(crypto_pk_t *env,
const char *s, ssize_t len);
-int crypto_pk_write_private_key_to_filename(crypto_pk_env_t *env,
+int crypto_pk_write_private_key_to_filename(crypto_pk_t *env,
const char *fname);
-int crypto_pk_check_key(crypto_pk_env_t *env);
-int crypto_pk_cmp_keys(crypto_pk_env_t *a, crypto_pk_env_t *b);
-size_t crypto_pk_keysize(crypto_pk_env_t *env);
-int crypto_pk_num_bits(crypto_pk_env_t *env);
-crypto_pk_env_t *crypto_pk_dup_key(crypto_pk_env_t *orig);
-crypto_pk_env_t *crypto_pk_copy_full(crypto_pk_env_t *orig);
-int crypto_pk_key_is_private(const crypto_pk_env_t *key);
-int crypto_pk_public_exponent_ok(crypto_pk_env_t *env);
+int crypto_pk_check_key(crypto_pk_t *env);
+int crypto_pk_cmp_keys(crypto_pk_t *a, crypto_pk_t *b);
+size_t crypto_pk_keysize(crypto_pk_t *env);
+int crypto_pk_num_bits(crypto_pk_t *env);
+crypto_pk_t *crypto_pk_dup_key(crypto_pk_t *orig);
+crypto_pk_t *crypto_pk_copy_full(crypto_pk_t *orig);
+int crypto_pk_key_is_private(const crypto_pk_t *key);
+int crypto_pk_public_exponent_ok(crypto_pk_t *env);
-int crypto_pk_public_encrypt(crypto_pk_env_t *env, char *to, size_t tolen,
+int crypto_pk_public_encrypt(crypto_pk_t *env, char *to, size_t tolen,
const char *from, size_t fromlen, int padding);
-int crypto_pk_private_decrypt(crypto_pk_env_t *env, char *to, size_t tolen,
+int crypto_pk_private_decrypt(crypto_pk_t *env, char *to, size_t tolen,
const char *from, size_t fromlen,
int padding, int warnOnFailure);
-int crypto_pk_public_checksig(crypto_pk_env_t *env, char *to, size_t tolen,
+int crypto_pk_public_checksig(crypto_pk_t *env, char *to, size_t tolen,
const char *from, size_t fromlen);
-int crypto_pk_public_checksig_digest(crypto_pk_env_t *env, const char *data,
+int crypto_pk_public_checksig_digest(crypto_pk_t *env, const char *data,
size_t datalen, const char *sig, size_t siglen);
-int crypto_pk_private_sign(crypto_pk_env_t *env, char *to, size_t tolen,
+int crypto_pk_private_sign(crypto_pk_t *env, char *to, size_t tolen,
const char *from, size_t fromlen);
-int crypto_pk_private_sign_digest(crypto_pk_env_t *env, char *to, size_t tolen,
+int crypto_pk_private_sign_digest(crypto_pk_t *env, char *to, size_t tolen,
const char *from, size_t fromlen);
-int crypto_pk_public_hybrid_encrypt(crypto_pk_env_t *env, char *to,
+int crypto_pk_public_hybrid_encrypt(crypto_pk_t *env, char *to,
size_t tolen,
const char *from, size_t fromlen,
int padding, int force);
-int crypto_pk_private_hybrid_decrypt(crypto_pk_env_t *env, char *to,
+int crypto_pk_private_hybrid_decrypt(crypto_pk_t *env, char *to,
size_t tolen,
const char *from, size_t fromlen,
int padding, int warnOnFailure);
-int crypto_pk_asn1_encode(crypto_pk_env_t *pk, char *dest, size_t dest_len);
-crypto_pk_env_t *crypto_pk_asn1_decode(const char *str, size_t len);
-int crypto_pk_get_digest(crypto_pk_env_t *pk, char *digest_out);
-int crypto_pk_get_all_digests(crypto_pk_env_t *pk, digests_t *digests_out);
-int crypto_pk_get_fingerprint(crypto_pk_env_t *pk, char *fp_out,int add_space);
+int crypto_pk_asn1_encode(crypto_pk_t *pk, char *dest, size_t dest_len);
+crypto_pk_t *crypto_pk_asn1_decode(const char *str, size_t len);
+int crypto_pk_get_digest(crypto_pk_t *pk, char *digest_out);
+int crypto_pk_get_all_digests(crypto_pk_t *pk, digests_t *digests_out);
+int crypto_pk_get_fingerprint(crypto_pk_t *pk, char *fp_out,int add_space);
int crypto_pk_check_fingerprint_syntax(const char *s);
/* symmetric crypto */
-int crypto_cipher_generate_key(crypto_cipher_env_t *env);
-void crypto_cipher_set_key(crypto_cipher_env_t *env, const char *key);
+int crypto_cipher_generate_key(crypto_cipher_t *env);
+void crypto_cipher_set_key(crypto_cipher_t *env, const char *key);
void crypto_cipher_generate_iv(char *iv_out);
-int crypto_cipher_set_iv(crypto_cipher_env_t *env, const char *iv);
-const char *crypto_cipher_get_key(crypto_cipher_env_t *env);
-int crypto_cipher_encrypt_init_cipher(crypto_cipher_env_t *env);
-int crypto_cipher_decrypt_init_cipher(crypto_cipher_env_t *env);
+int crypto_cipher_set_iv(crypto_cipher_t *env, const char *iv);
+const char *crypto_cipher_get_key(crypto_cipher_t *env);
+int crypto_cipher_encrypt_init_cipher(crypto_cipher_t *env);
+int crypto_cipher_decrypt_init_cipher(crypto_cipher_t *env);
-int crypto_cipher_encrypt(crypto_cipher_env_t *env, char *to,
+int crypto_cipher_encrypt(crypto_cipher_t *env, char *to,
const char *from, size_t fromlen);
-int crypto_cipher_decrypt(crypto_cipher_env_t *env, char *to,
+int crypto_cipher_decrypt(crypto_cipher_t *env, char *to,
const char *from, size_t fromlen);
-int crypto_cipher_crypt_inplace(crypto_cipher_env_t *env, char *d, size_t len);
+int crypto_cipher_crypt_inplace(crypto_cipher_t *env, char *d, size_t len);
-int crypto_cipher_encrypt_with_iv(crypto_cipher_env_t *env,
+int crypto_cipher_encrypt_with_iv(crypto_cipher_t *env,
char *to, size_t tolen,
const char *from, size_t fromlen);
-int crypto_cipher_decrypt_with_iv(crypto_cipher_env_t *env,
+int crypto_cipher_decrypt_with_iv(crypto_cipher_t *env,
char *to, size_t tolen,
const char *from, size_t fromlen);
@@ -183,16 +217,16 @@ int crypto_digest256(char *digest, const char *m, size_t len,
int crypto_digest_all(digests_t *ds_out, const char *m, size_t len);
const char *crypto_digest_algorithm_get_name(digest_algorithm_t alg);
int crypto_digest_algorithm_parse_name(const char *name);
-crypto_digest_env_t *crypto_new_digest_env(void);
-crypto_digest_env_t *crypto_new_digest256_env(digest_algorithm_t algorithm);
-void crypto_free_digest_env(crypto_digest_env_t *digest);
-void crypto_digest_add_bytes(crypto_digest_env_t *digest, const char *data,
+crypto_digest_t *crypto_digest_new(void);
+crypto_digest_t *crypto_digest256_new(digest_algorithm_t algorithm);
+void crypto_digest_free(crypto_digest_t *digest);
+void crypto_digest_add_bytes(crypto_digest_t *digest, const char *data,
size_t len);
-void crypto_digest_get_digest(crypto_digest_env_t *digest,
+void crypto_digest_get_digest(crypto_digest_t *digest,
char *out, size_t out_len);
-crypto_digest_env_t *crypto_digest_dup(const crypto_digest_env_t *digest);
-void crypto_digest_assign(crypto_digest_env_t *into,
- const crypto_digest_env_t *from);
+crypto_digest_t *crypto_digest_dup(const crypto_digest_t *digest);
+void crypto_digest_assign(crypto_digest_t *into,
+ const crypto_digest_t *from);
void crypto_hmac_sha1(char *hmac_out,
const char *key, size_t key_len,
const char *msg, size_t msg_len);
@@ -204,15 +238,15 @@ void crypto_hmac_sha256(char *hmac_out,
#define DH_TYPE_CIRCUIT 1
#define DH_TYPE_REND 2
#define DH_TYPE_TLS 3
-crypto_dh_env_t *crypto_dh_new(int dh_type);
-int crypto_dh_get_bytes(crypto_dh_env_t *dh);
-int crypto_dh_generate_public(crypto_dh_env_t *dh);
-int crypto_dh_get_public(crypto_dh_env_t *dh, char *pubkey_out,
+crypto_dh_t *crypto_dh_new(int dh_type);
+int crypto_dh_get_bytes(crypto_dh_t *dh);
+int crypto_dh_generate_public(crypto_dh_t *dh);
+int crypto_dh_get_public(crypto_dh_t *dh, char *pubkey_out,
size_t pubkey_out_len);
-ssize_t crypto_dh_compute_secret(int severity, crypto_dh_env_t *dh,
+ssize_t crypto_dh_compute_secret(int severity, crypto_dh_t *dh,
const char *pubkey, size_t pubkey_len,
char *secret_out, size_t secret_out_len);
-void crypto_dh_free(crypto_dh_env_t *dh);
+void crypto_dh_free(crypto_dh_t *dh);
int crypto_expand_key_material(const char *key_in, size_t in_len,
char *key_out, size_t key_out_len);
@@ -254,11 +288,11 @@ void secret_to_key(char *key_out, size_t key_out_len, const char *secret,
struct rsa_st;
struct evp_pkey_st;
struct dh_st;
-struct rsa_st *_crypto_pk_env_get_rsa(crypto_pk_env_t *env);
-crypto_pk_env_t *_crypto_new_pk_env_rsa(struct rsa_st *rsa);
-struct evp_pkey_st *_crypto_pk_env_get_evp_pkey(crypto_pk_env_t *env,
+struct rsa_st *_crypto_pk_get_rsa(crypto_pk_t *env);
+crypto_pk_t *_crypto_new_pk_from_rsa(struct rsa_st *rsa);
+struct evp_pkey_st *_crypto_pk_get_evp_pkey(crypto_pk_t *env,
int private);
-struct dh_st *_crypto_dh_env_get_dh(crypto_dh_env_t *dh);
+struct dh_st *_crypto_dh_get_dh(crypto_dh_t *dh);
/* Prototypes for private functions only used by crypto.c and test.c*/
void add_spaces_to_fp(char *out, size_t outlen, const char *in);
#endif
diff --git a/src/common/ht.h b/src/common/ht.h
index 0850c0709..0783cb1e7 100644
--- a/src/common/ht.h
+++ b/src/common/ht.h
@@ -25,19 +25,22 @@
#define HT_INITIALIZER() \
{ NULL, 0, 0, 0, -1 }
+#ifdef HT_NO_CACHE_HASH_VALUES
+#define HT_ENTRY(type) \
+ struct { \
+ struct type *hte_next; \
+ }
+#else
#define HT_ENTRY(type) \
struct { \
struct type *hte_next; \
unsigned hte_hash; \
}
+#endif
#define HT_EMPTY(head) \
((head)->hth_n_entries == 0)
-/* Helper: alias for the bucket containing 'elm'. */
-#define _HT_BUCKET(head, field, elm) \
- ((head)->hth_table[elm->field.hte_hash % head->hth_table_length])
-
/* How many elements in 'head'? */
#define HT_SIZE(head) \
((head)->hth_n_entries)
@@ -98,8 +101,26 @@ ht_string_hash(const char *s)
return h;
}
-#define _HT_SET_HASH(elm, field, hashfn) \
- (elm)->field.hte_hash = hashfn(elm)
+#ifndef HT_NO_CACHE_HASH_VALUES
+#define HT_SET_HASH_(elm, field, hashfn) \
+ do { (elm)->field.hte_hash = hashfn(elm); } while (0)
+#define HT_SET_HASHVAL_(elm, field, val) \
+ do { (elm)->field.hte_hash = (val); } while (0)
+#define HT_ELT_HASH_(elm, field, hashfn) \
+ ((elm)->field.hte_hash)
+#else
+#define HT_SET_HASH_(elm, field, hashfn) \
+ ((void)0)
+#define HT_ELT_HASH_(elm, field, hashfn) \
+ (hashfn(elm))
+#define HT_SET_HASHVAL_(elm, field, val) \
+ ((void)0)
+#endif
+
+/* Helper: alias for the bucket containing 'elm'. */
+#define HT_BUCKET_(head, field, elm, hashfn) \
+ ((head)->hth_table[HT_ELT_HASH_(elm,field,hashfn) \
+ % head->hth_table_length])
#define HT_FOREACH(x, name, head) \
for ((x) = HT_START(name, head); \
@@ -109,7 +130,7 @@ ht_string_hash(const char *s)
#define HT_PROTOTYPE(name, type, field, hashfn, eqfn) \
int name##_HT_GROW(struct name *ht, unsigned min_capacity); \
void name##_HT_CLEAR(struct name *ht); \
- int _##name##_HT_REP_IS_BAD(const struct name *ht); \
+ int name##_HT_REP_IS_BAD_(const struct name *ht); \
static INLINE void \
name##_HT_INIT(struct name *head) { \
head->hth_table_length = 0; \
@@ -121,12 +142,12 @@ ht_string_hash(const char *s)
/* Helper: returns a pointer to the right location in the table \
* 'head' to find or insert the element 'elm'. */ \
static INLINE struct type ** \
- _##name##_HT_FIND_P(struct name *head, struct type *elm) \
+ name##_HT_FIND_P_(struct name *head, struct type *elm) \
{ \
struct type **p; \
if (!head->hth_table) \
return NULL; \
- p = &_HT_BUCKET(head, field, elm); \
+ p = &HT_BUCKET_(head, field, elm, hashfn); \
while (*p) { \
if (eqfn(*p, elm)) \
return p; \
@@ -141,8 +162,8 @@ ht_string_hash(const char *s)
{ \
struct type **p; \
struct name *h = (struct name *) head; \
- _HT_SET_HASH(elm, field, hashfn); \
- p = _##name##_HT_FIND_P(h, elm); \
+ HT_SET_HASH_(elm, field, hashfn); \
+ p = name##_HT_FIND_P_(h, elm); \
return p ? *p : NULL; \
} \
/* Insert the element 'elm' into the table 'head'. Do not call this \
@@ -154,8 +175,8 @@ ht_string_hash(const char *s)
if (!head->hth_table || head->hth_n_entries >= head->hth_load_limit) \
name##_HT_GROW(head, head->hth_n_entries+1); \
++head->hth_n_entries; \
- _HT_SET_HASH(elm, field, hashfn); \
- p = &_HT_BUCKET(head, field, elm); \
+ HT_SET_HASH_(elm, field, hashfn); \
+ p = &HT_BUCKET_(head, field, elm, hashfn); \
elm->field.hte_next = *p; \
*p = elm; \
} \
@@ -168,8 +189,8 @@ ht_string_hash(const char *s)
struct type **p, *r; \
if (!head->hth_table || head->hth_n_entries >= head->hth_load_limit) \
name##_HT_GROW(head, head->hth_n_entries+1); \
- _HT_SET_HASH(elm, field, hashfn); \
- p = _##name##_HT_FIND_P(head, elm); \
+ HT_SET_HASH_(elm, field, hashfn); \
+ p = name##_HT_FIND_P_(head, elm); \
r = *p; \
*p = elm; \
if (r && (r!=elm)) { \
@@ -187,8 +208,8 @@ ht_string_hash(const char *s)
name##_HT_REMOVE(struct name *head, struct type *elm) \
{ \
struct type **p, *r; \
- _HT_SET_HASH(elm, field, hashfn); \
- p = _##name##_HT_FIND_P(head,elm); \
+ HT_SET_HASH_(elm, field, hashfn); \
+ p = name##_HT_FIND_P_(head,elm); \
if (!p || !*p) \
return NULL; \
r = *p; \
@@ -207,7 +228,6 @@ ht_string_hash(const char *s)
void *data) \
{ \
unsigned idx; \
- int remove; \
struct type **p, **nextp, *next; \
if (!head->hth_table) \
return; \
@@ -216,8 +236,7 @@ ht_string_hash(const char *s)
while (*p) { \
nextp = &(*p)->field.hte_next; \
next = *nextp; \
- remove = fn(*p, data); \
- if (remove) { \
+ if (fn(*p, data)) { \
--head->hth_n_entries; \
*p = next; \
} else { \
@@ -251,7 +270,8 @@ ht_string_hash(const char *s)
if ((*elm)->field.hte_next) { \
return &(*elm)->field.hte_next; \
} else { \
- unsigned b = ((*elm)->field.hte_hash % head->hth_table_length)+1; \
+ unsigned b = (HT_ELT_HASH_(*elm, field, hashfn) \
+ % head->hth_table_length)+1; \
while (b < head->hth_table_length) { \
if (head->hth_table[b]) \
return &head->hth_table[b]; \
@@ -263,7 +283,7 @@ ht_string_hash(const char *s)
static INLINE struct type ** \
name##_HT_NEXT_RMV(struct name *head, struct type **elm) \
{ \
- unsigned h = (*elm)->field.hte_hash; \
+ unsigned h = HT_ELT_HASH_(*elm, field, hashfn); \
*elm = (*elm)->field.hte_next; \
--head->hth_n_entries; \
if (*elm) { \
@@ -320,7 +340,7 @@ ht_string_hash(const char *s)
elm = head->hth_table[b]; \
while (elm) { \
next = elm->field.hte_next; \
- b2 = elm->field.hte_hash % new_len; \
+ b2 = HT_ELT_HASH_(elm, field, hashfn) % new_len; \
elm->field.hte_next = new_table[b2]; \
new_table[b2] = elm; \
elm = next; \
@@ -338,7 +358,7 @@ ht_string_hash(const char *s)
for (b=0; b < head->hth_table_length; ++b) { \
struct type *e, **pE; \
for (pE = &new_table[b], e = *pE; e != NULL; e = *pE) { \
- b2 = e->field.hte_hash % new_len; \
+ b2 = HT_ELT_HASH_(e, field, hashfn) % new_len; \
if (b2 == b) { \
pE = &e->field.hte_next; \
} else { \
@@ -368,7 +388,7 @@ ht_string_hash(const char *s)
/* Debugging helper: return false iff the representation of 'head' is \
* internally consistent. */ \
int \
- _##name##_HT_REP_IS_BAD(const struct name *head) \
+ name##_HT_REP_IS_BAD_(const struct name *head) \
{ \
unsigned n, i; \
struct type *elm; \
@@ -390,9 +410,9 @@ ht_string_hash(const char *s)
return 5; \
for (n = i = 0; i < head->hth_table_length; ++i) { \
for (elm = head->hth_table[i]; elm; elm = elm->field.hte_next) { \
- if (elm->field.hte_hash != hashfn(elm)) \
+ if (HT_ELT_HASH_(elm, field, hashfn) != hashfn(elm)) \
return 1000 + i; \
- if ((elm->field.hte_hash % head->hth_table_length) != i) \
+ if ((HT_ELT_HASH_(elm, field, hashfn) % head->hth_table_length) != i) \
return 10000 + i; \
++n; \
} \
@@ -405,24 +425,24 @@ ht_string_hash(const char *s)
/** Implements an over-optimized "find and insert if absent" block;
* not meant for direct usage by typical code, or usage outside the critical
* path.*/
-#define _HT_FIND_OR_INSERT(name, field, hashfn, head, eltype, elm, var, y, n) \
+#define HT_FIND_OR_INSERT_(name, field, hashfn, head, eltype, elm, var, y, n) \
{ \
- struct name *_##var##_head = head; \
- eltype **var; \
- if (!_##var##_head->hth_table || \
- _##var##_head->hth_n_entries >= _##var##_head->hth_load_limit) \
- name##_HT_GROW(_##var##_head, _##var##_head->hth_n_entries+1); \
- _HT_SET_HASH((elm), field, hashfn); \
- var = _##name##_HT_FIND_P(_##var##_head, (elm)); \
+ struct name *var##_head_ = head; \
+ struct eltype **var; \
+ if (!var##_head_->hth_table || \
+ var##_head_->hth_n_entries >= var##_head_->hth_load_limit) \
+ name##_HT_GROW(var##_head_, var##_head_->hth_n_entries+1); \
+ HT_SET_HASH_((elm), field, hashfn); \
+ var = name##_HT_FIND_P_(var##_head_, (elm)); \
if (*var) { \
y; \
} else { \
n; \
} \
}
-#define _HT_FOI_INSERT(field, head, elm, newent, var) \
+#define HT_FOI_INSERT_(field, head, elm, newent, var) \
{ \
- newent->field.hte_hash = (elm)->field.hte_hash; \
+ HT_SET_HASHVAL_(newent, field, (elm)->field.hte_hash); \
newent->field.hte_next = NULL; \
*var = newent; \
++((head)->hth_n_entries); \
@@ -431,9 +451,8 @@ ht_string_hash(const char *s)
/*
* Copyright 2005, Nick Mathewson. Implementation logic is adapted from code
* by Christopher Clark, retrofit to allow drop-in memory management, and to
- * use the same interface as Niels Provos's HT_H. I'm not sure whether this
- * is a derived work any more, but whether it is or not, the license below
- * applies.
+ * use the same interface as Niels Provos's tree.h. This is probably still
+ * a derived work, so the original license below still applies.
*
* Copyright (c) 2002, Christopher Clark
* All rights reserved.
diff --git a/src/common/log.c b/src/common/log.c
index 97400623e..df27066f9 100644
--- a/src/common/log.c
+++ b/src/common/log.c
@@ -653,7 +653,7 @@ init_logging(void)
log_mutex_initialized = 1;
}
if (pending_cb_messages == NULL)
- pending_cb_messages = smartlist_create();
+ pending_cb_messages = smartlist_new();
}
/** Set whether we report logging domains as a part of our log messages.
@@ -737,7 +737,7 @@ flush_pending_log_callbacks(void)
}
messages = pending_cb_messages;
- pending_cb_messages = smartlist_create();
+ pending_cb_messages = smartlist_new();
do {
SMARTLIST_FOREACH_BEGIN(messages, pending_cb_message_t *, msg) {
const int severity = msg->severity;
@@ -993,7 +993,7 @@ parse_log_severity_config(const char **cfg_ptr,
return -1;
domains = 0;
domains_str = tor_strndup(cfg+1, closebracket-cfg-1);
- domains_list = smartlist_create();
+ domains_list = smartlist_new();
smartlist_split_string(domains_list, domains_str, ",", SPLIT_SKIP_SPACE,
-1);
tor_free(domains_str);
diff --git a/src/common/procmon.c b/src/common/procmon.c
index 5c10e9a22..85d2a2fe3 100644
--- a/src/common/procmon.c
+++ b/src/common/procmon.c
@@ -21,7 +21,7 @@
#include <errno.h>
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#include <windows.h>
/* Windows does not define pid_t, but _getpid() returns an int. */
@@ -91,7 +91,7 @@ struct tor_process_monitor_t {
* polls. */
pid_t pid;
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/** Windows-only: Should we poll hproc? If false, poll pid
* instead. */
int poll_hproc;
@@ -192,7 +192,7 @@ tor_process_monitor_new(struct event_base *base,
procmon->pid = ppspec.pid;
-#ifdef MS_WINDOWS
+#ifdef _WIN32
procmon->hproc = OpenProcess(PROCESS_QUERY_INFORMATION | SYNCHRONIZE,
FALSE,
procmon->pid);
@@ -246,7 +246,7 @@ tor_process_monitor_poll_cb(evutil_socket_t unused1, short unused2,
tor_assert(procmon != NULL);
-#ifdef MS_WINDOWS
+#ifdef _WIN32
if (procmon->poll_hproc) {
DWORD exit_code;
if (!GetExitCodeProcess(procmon->hproc, &exit_code)) {
@@ -323,7 +323,7 @@ tor_process_monitor_free(tor_process_monitor_t *procmon)
if (procmon == NULL)
return;
-#ifdef MS_WINDOWS
+#ifdef _WIN32
if (procmon->hproc != NULL)
CloseHandle(procmon->hproc);
#endif
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 8cf396cda..cffba2e6c 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -21,7 +21,7 @@
#endif
#include <assert.h>
-#ifdef MS_WINDOWS /*wrkard for dtls1.h >= 0.9.8m of "#include <winsock.h>"*/
+#ifdef _WIN32 /*wrkard for dtls1.h >= 0.9.8m of "#include <winsock.h>"*/
#ifndef WIN32_WINNT
#define WIN32_WINNT 0x400
#endif
@@ -44,10 +44,6 @@
#include <openssl/bio.h>
#include <openssl/opensslv.h>
-#if OPENSSL_VERSION_NUMBER < 0x00907000l
-#error "We require OpenSSL >= 0.9.7"
-#endif
-
#ifdef USE_BUFFEREVENTS
#include <event2/bufferevent_ssl.h>
#include <event2/buffer.h>
@@ -65,6 +61,10 @@
#include "container.h"
#include <string.h>
+#if OPENSSL_VERSION_NUMBER < OPENSSL_V_SERIES(0,9,7)
+#error "We require OpenSSL >= 0.9.7"
+#endif
+
/* Enable the "v2" TLS handshake.
*/
#define V2_HANDSHAKE_SERVER
@@ -79,6 +79,16 @@
#define ADDR(tls) (((tls) && (tls)->address) ? tls->address : "peer")
+#if (OPENSSL_VERSION_NUMBER < OPENSSL_V(0,9,8,'s') || \
+ (OPENSSL_VERSION_NUMBER >= OPENSSL_V_SERIES(0,9,9) && \
+ OPENSSL_VERSION_NUMBER < OPENSSL_V(1,0,0,'f')))
+/* This is a version of OpenSSL before 0.9.8s/1.0.0f. It does not have
+ * the CVE-2011-4576 fix, and as such it can't use RELEASE_BUFFERS and
+ * SSL3 safely at the same time.
+ */
+#define DISABLE_SSL3_HANDSHAKE
+#endif
+
/* We redefine these so that we can run correctly even if the vendor gives us
* a version of OpenSSL that does not match its header files. (Apple: I am
* looking at you.)
@@ -116,8 +126,8 @@ typedef struct tor_tls_context_t {
tor_cert_t *my_link_cert;
tor_cert_t *my_id_cert;
tor_cert_t *my_auth_cert;
- crypto_pk_env_t *link_key;
- crypto_pk_env_t *auth_key;
+ crypto_pk_t *link_key;
+ crypto_pk_t *auth_key;
} tor_tls_context_t;
#define TOR_TLS_MAGIC 0x71571571
@@ -199,20 +209,21 @@ tor_tls_get_by_ssl(const SSL *ssl)
static void tor_tls_context_decref(tor_tls_context_t *ctx);
static void tor_tls_context_incref(tor_tls_context_t *ctx);
-static X509* tor_tls_create_certificate(crypto_pk_env_t *rsa,
- crypto_pk_env_t *rsa_sign,
+static X509* tor_tls_create_certificate(crypto_pk_t *rsa,
+ crypto_pk_t *rsa_sign,
const char *cname,
const char *cname_sign,
unsigned int lifetime);
static int tor_tls_context_init_one(tor_tls_context_t **ppcontext,
- crypto_pk_env_t *identity,
+ crypto_pk_t *identity,
unsigned int key_lifetime,
int is_client);
-static tor_tls_context_t *tor_tls_context_new(crypto_pk_env_t *identity,
+static tor_tls_context_t *tor_tls_context_new(crypto_pk_t *identity,
unsigned int key_lifetime,
int is_client);
-static int check_cert_lifetime_internal(const X509 *cert, int tolerance);
+static int check_cert_lifetime_internal(int severity, const X509 *cert,
+ int past_tolerance, int future_tolerance);
/** Global TLS contexts. We keep them here because nobody else needs
* to touch them. */
@@ -226,22 +237,6 @@ static int tls_library_is_initialized = 0;
#define _TOR_TLS_SYSCALL (_MIN_TOR_TLS_ERROR_VAL - 2)
#define _TOR_TLS_ZERORETURN (_MIN_TOR_TLS_ERROR_VAL - 1)
-#include "tortls_states.h"
-
-/** Return the symbolic name of an OpenSSL state. */
-static const char *
-ssl_state_to_string(int ssl_state)
-{
- static char buf[40];
- int i;
- for (i = 0; state_map[i].name; ++i) {
- if (state_map[i].state == ssl_state)
- return state_map[i].name;
- }
- tor_snprintf(buf, sizeof(buf), "Unknown state %d", ssl_state);
- return buf;
-}
-
/** Write a description of the current state of <b>tls</b> into the
* <b>sz</b>-byte buffer at <b>buf</b>. */
void
@@ -255,7 +250,7 @@ tor_tls_get_state_description(tor_tls_t *tls, char *buf, size_t sz)
return;
}
- ssl_state = ssl_state_to_string(tls->ssl->state);
+ ssl_state = SSL_state_string_long(tls->ssl);
switch (tls->state) {
#define CASE(st) case TOR_TLS_ST_##st: tortls_state = " in "#st ; break
CASE(HANDSHAKE);
@@ -282,10 +277,8 @@ tor_tls_log_one_error(tor_tls_t *tls, unsigned long err,
{
const char *state = NULL, *addr;
const char *msg, *lib, *func;
- int st;
- st = (tls && tls->ssl) ? tls->ssl->state : -1;
- state = (st>=0)?ssl_state_to_string(st):"---";
+ state = (tls && tls->ssl)?SSL_state_string_long(tls->ssl):"---";
addr = tls ? tls->address : NULL;
@@ -340,7 +333,7 @@ tls_log_errors(tor_tls_t *tls, int severity, int domain, const char *doing)
static int
tor_errno_to_tls_error(int e)
{
-#if defined(MS_WINDOWS)
+#if defined(_WIN32)
switch (e) {
case WSAECONNRESET: // most common
return TOR_TLS_ERROR_CONNRESET;
@@ -422,14 +415,14 @@ tor_tls_get_error(tor_tls_t *tls, int r, int extra,
return _TOR_TLS_SYSCALL;
if (r == 0) {
log(severity, LD_NET, "TLS error: unexpected close while %s (%s)",
- doing, ssl_state_to_string(tls->ssl->state));
+ doing, SSL_state_string_long(tls->ssl));
tor_error = TOR_TLS_ERROR_IO;
} else {
int e = tor_socket_errno(tls->socket);
log(severity, LD_NET,
"TLS error: <syscall error while %s> (errno=%d: %s; state=%s)",
doing, e, tor_socket_strerror(e),
- ssl_state_to_string(tls->ssl->state));
+ SSL_state_string_long(tls->ssl));
tor_error = tor_errno_to_tls_error(e);
}
tls_log_errors(tls, severity, domain, doing);
@@ -438,7 +431,7 @@ tor_tls_get_error(tor_tls_t *tls, int r, int extra,
if (extra&CATCH_ZERO)
return _TOR_TLS_ZERORETURN;
log(severity, LD_NET, "TLS connection closed while %s in state %s",
- doing, ssl_state_to_string(tls->ssl->state));
+ doing, SSL_state_string_long(tls->ssl));
tls_log_errors(tls, severity, domain, doing);
return TOR_TLS_CLOSE;
default:
@@ -481,18 +474,20 @@ tor_tls_init(void)
* program should be allowed to use renegotiation unless it first passed
* a test of intelligence and determination.
*/
- if (version >= 0x009080c0L && version < 0x009080d0L) {
- log_notice(LD_GENERAL, "OpenSSL %s looks like version 0.9.8l; "
- "I will try SSL3_FLAGS to enable renegotation.",
+ if (version > OPENSSL_V(0,9,8,'k') && version <= OPENSSL_V(0,9,8,'l')) {
+ log_notice(LD_GENERAL, "OpenSSL %s looks like version 0.9.8l, but "
+ "some vendors have backported renegotiation code from "
+ "0.9.8m without updating the version number. "
+ "I will try SSL3_FLAGS and SSL_OP to enable renegotation.",
SSLeay_version(SSLEAY_VERSION));
use_unsafe_renegotiation_flag = 1;
use_unsafe_renegotiation_op = 1;
- } else if (version >= 0x009080d0L) {
+ } else if (version > OPENSSL_V(0,9,8,'l')) {
log_notice(LD_GENERAL, "OpenSSL %s looks like version 0.9.8m or later; "
"I will try SSL_OP to enable renegotiation",
SSLeay_version(SSLEAY_VERSION));
use_unsafe_renegotiation_op = 1;
- } else if (version < 0x009080c0L) {
+ } else if (version <= OPENSSL_V(0,9,8,'k')) {
log_notice(LD_GENERAL, "OpenSSL %s [%lx] looks like it's older than "
"0.9.8l, but some vendors have backported 0.9.8l's "
"renegotiation code to earlier versions, and some have "
@@ -502,6 +497,7 @@ tor_tls_init(void)
use_unsafe_renegotiation_flag = 1;
use_unsafe_renegotiation_op = 1;
} else {
+ /* this is dead code, yes? */
log_info(LD_GENERAL, "OpenSSL %s has version %lx",
SSLeay_version(SSLEAY_VERSION), version);
}
@@ -573,13 +569,19 @@ tor_x509_name_new(const char *cname)
* failure.
*/
static X509 *
-tor_tls_create_certificate(crypto_pk_env_t *rsa,
- crypto_pk_env_t *rsa_sign,
+tor_tls_create_certificate(crypto_pk_t *rsa,
+ crypto_pk_t *rsa_sign,
const char *cname,
const char *cname_sign,
unsigned int cert_lifetime)
{
+ /* OpenSSL generates self-signed certificates with random 64-bit serial
+ * numbers, so let's do that too. */
+#define SERIAL_NUMBER_SIZE 8
+
time_t start_time, end_time;
+ BIGNUM *serial_number = NULL;
+ unsigned char serial_tmp[SERIAL_NUMBER_SIZE];
EVP_PKEY *sign_pkey = NULL, *pkey=NULL;
X509 *x509 = NULL;
X509_NAME *name = NULL, *name_issuer=NULL;
@@ -592,16 +594,23 @@ tor_tls_create_certificate(crypto_pk_env_t *rsa,
tor_assert(cname);
tor_assert(rsa_sign);
tor_assert(cname_sign);
- if (!(sign_pkey = _crypto_pk_env_get_evp_pkey(rsa_sign,1)))
+ if (!(sign_pkey = _crypto_pk_get_evp_pkey(rsa_sign,1)))
goto error;
- if (!(pkey = _crypto_pk_env_get_evp_pkey(rsa,0)))
+ if (!(pkey = _crypto_pk_get_evp_pkey(rsa,0)))
goto error;
if (!(x509 = X509_new()))
goto error;
if (!(X509_set_version(x509, 2)))
goto error;
- if (!(ASN1_INTEGER_set(X509_get_serialNumber(x509), (long)start_time)))
- goto error;
+
+ { /* our serial number is 8 random bytes. */
+ if (crypto_rand((char *)serial_tmp, sizeof(serial_tmp)) < 0)
+ goto error;
+ if (!(serial_number = BN_bin2bn(serial_tmp, sizeof(serial_tmp), NULL)))
+ goto error;
+ if (!(BN_to_ASN1_INTEGER(serial_number, X509_get_serialNumber(x509))))
+ goto error;
+ }
if (!(name = tor_x509_name_new(cname)))
goto error;
@@ -634,11 +643,15 @@ tor_tls_create_certificate(crypto_pk_env_t *rsa,
EVP_PKEY_free(sign_pkey);
if (pkey)
EVP_PKEY_free(pkey);
+ if (serial_number)
+ BN_free(serial_number);
if (name)
X509_NAME_free(name);
if (name_issuer)
X509_NAME_free(name_issuer);
return x509;
+
+#undef SERIAL_NUMBER_SIZE
}
/** List of ciphers that servers should select from.*/
@@ -735,10 +748,10 @@ tor_cert_new(X509 *x509_cert)
if ((pkey = X509_get_pubkey(x509_cert)) &&
(rsa = EVP_PKEY_get1_RSA(pkey))) {
- crypto_pk_env_t *pk = _crypto_new_pk_env_rsa(rsa);
+ crypto_pk_t *pk = _crypto_new_pk_from_rsa(rsa);
crypto_pk_get_all_digests(pk, &cert->pkey_digests);
cert->pkey_digests_set = 1;
- crypto_free_pk_env(pk);
+ crypto_pk_free(pk);
EVP_PKEY_free(pkey);
}
@@ -759,7 +772,7 @@ tor_cert_decode(const uint8_t *certificate, size_t certificate_len)
if (certificate_len > INT_MAX)
return NULL;
-#if OPENSSL_VERSION_NUMBER < 0x00908000l
+#if OPENSSL_VERSION_NUMBER < OPENSSL_V_SERIES(0,9,8)
/* This ifdef suppresses a type warning. Take out this case once everybody
* is using OpenSSL 0.9.8 or later. */
x509 = d2i_X509(NULL, (unsigned char**)&cp, (int)certificate_len);
@@ -827,8 +840,8 @@ tor_tls_context_decref(tor_tls_context_t *ctx)
tor_cert_free(ctx->my_link_cert);
tor_cert_free(ctx->my_id_cert);
tor_cert_free(ctx->my_auth_cert);
- crypto_free_pk_env(ctx->link_key);
- crypto_free_pk_env(ctx->auth_key);
+ crypto_pk_free(ctx->link_key);
+ crypto_pk_free(ctx->auth_key);
tor_free(ctx);
}
}
@@ -857,7 +870,7 @@ tor_tls_get_my_certs(int server,
* Return the authentication key that we use to authenticate ourselves as a
* client in the V3 in-protocol handshake.
*/
-crypto_pk_env_t *
+crypto_pk_t *
tor_tls_get_my_client_auth_key(void)
{
if (! client_tls_context)
@@ -869,10 +882,10 @@ tor_tls_get_my_client_auth_key(void)
* Return a newly allocated copy of the public key that a certificate
* certifies. Return NULL if the cert's key is not RSA.
*/
-crypto_pk_env_t *
+crypto_pk_t *
tor_tls_cert_get_key(tor_cert_t *cert)
{
- crypto_pk_env_t *result = NULL;
+ crypto_pk_t *result = NULL;
EVP_PKEY *pkey = X509_get_pubkey(cert->cert);
RSA *rsa;
if (!pkey)
@@ -882,7 +895,7 @@ tor_tls_cert_get_key(tor_cert_t *cert)
EVP_PKEY_free(pkey);
return NULL;
}
- result = _crypto_new_pk_env_rsa(rsa);
+ result = _crypto_new_pk_from_rsa(rsa);
EVP_PKEY_free(pkey);
return result;
}
@@ -944,7 +957,8 @@ tor_tls_cert_matches_key(const tor_tls_t *tls, const tor_cert_t *cert)
* the key is long enough. Return 1 if the cert is good, and 0 if it's bad or
* we couldn't check it. */
int
-tor_tls_cert_is_valid(const tor_cert_t *cert,
+tor_tls_cert_is_valid(int severity,
+ const tor_cert_t *cert,
const tor_cert_t *signing_cert,
int check_rsa_1024)
{
@@ -960,8 +974,8 @@ tor_tls_cert_is_valid(const tor_cert_t *cert,
/* okay, the signature checked out right. Now let's check the check the
* lifetime. */
- /*XXXX tolerance might be iffy here */
- if (check_cert_lifetime_internal(cert->cert, 60*60) < 0)
+ if (check_cert_lifetime_internal(severity, cert->cert,
+ 48*60*60, 30*24*60*60) < 0)
return 0;
cert_key = X509_get_pubkey(cert->cert);
@@ -1004,8 +1018,8 @@ tor_tls_context_incref(tor_tls_context_t *ctx)
* ignore <b>client_identity</b>. */
int
tor_tls_context_init(int is_public_server,
- crypto_pk_env_t *client_identity,
- crypto_pk_env_t *server_identity,
+ crypto_pk_t *client_identity,
+ crypto_pk_t *server_identity,
unsigned int key_lifetime)
{
int rv1 = 0;
@@ -1063,7 +1077,7 @@ tor_tls_context_init(int is_public_server,
*/
static int
tor_tls_context_init_one(tor_tls_context_t **ppcontext,
- crypto_pk_env_t *identity,
+ crypto_pk_t *identity,
unsigned int key_lifetime,
int is_client)
{
@@ -1091,10 +1105,10 @@ tor_tls_context_init_one(tor_tls_context_t **ppcontext,
* certificate.
*/
static tor_tls_context_t *
-tor_tls_context_new(crypto_pk_env_t *identity, unsigned int key_lifetime,
+tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
int is_client)
{
- crypto_pk_env_t *rsa = NULL, *rsa_auth = NULL;
+ crypto_pk_t *rsa = NULL, *rsa_auth = NULL;
EVP_PKEY *pkey = NULL;
tor_tls_context_t *result = NULL;
X509 *cert = NULL, *idcert = NULL, *authcert = NULL;
@@ -1109,14 +1123,14 @@ tor_tls_context_new(crypto_pk_env_t *identity, unsigned int key_lifetime,
#endif
/* Generate short-term RSA key for use with TLS. */
- if (!(rsa = crypto_new_pk_env()))
+ if (!(rsa = crypto_pk_new()))
goto error;
if (crypto_pk_generate_key(rsa)<0)
goto error;
if (!is_client) {
/* Generate short-term RSA key for use in the in-protocol ("v3")
* authentication handshake. */
- if (!(rsa_auth = crypto_new_pk_env()))
+ if (!(rsa_auth = crypto_pk_new()))
goto error;
if (crypto_pk_generate_key(rsa_auth)<0)
goto error;
@@ -1147,16 +1161,37 @@ tor_tls_context_new(crypto_pk_env_t *identity, unsigned int key_lifetime,
result->auth_key = crypto_pk_dup_key(rsa_auth);
}
-#ifdef EVERYONE_HAS_AES
- /* Tell OpenSSL to only use TLS1 */
+#if 0
+ /* Tell OpenSSL to only use TLS1. This may have subtly different results
+ * from SSLv23_method() with SSLv2 and SSLv3 disabled, so we need to do some
+ * investigation before we consider adjusting it. It should be compatible
+ * with existing Tors. */
if (!(result->ctx = SSL_CTX_new(TLSv1_method())))
goto error;
-#else
+#endif
+
/* Tell OpenSSL to use SSL3 or TLS1 but not SSL2. */
if (!(result->ctx = SSL_CTX_new(SSLv23_method())))
goto error;
SSL_CTX_set_options(result->ctx, SSL_OP_NO_SSLv2);
+
+ if (
+#ifdef DISABLE_SSL3_HANDSHAKE
+ 1 ||
#endif
+ SSLeay() < OPENSSL_V(0,9,8,'s') ||
+ (SSLeay() >= OPENSSL_V_SERIES(0,9,9) &&
+ SSLeay() < OPENSSL_V(1,0,0,'f'))) {
+ /* And not SSL3 if it's subject to CVE-2011-4576. */
+ log_info(LD_NET, "Disabling SSLv3 because this OpenSSL version "
+ "might otherwise be vulnerable to CVE-2011-4576 "
+ "(compile-time version %08lx (%s); "
+ "runtime version %08lx (%s))",
+ (unsigned long)OPENSSL_VERSION_NUMBER, OPENSSL_VERSION_TEXT,
+ (unsigned long)SSLeay(), SSLeay_version(SSLEAY_VERSION));
+ SSL_CTX_set_options(result->ctx, SSL_OP_NO_SSLv3);
+ }
+
SSL_CTX_set_options(result->ctx, SSL_OP_SINGLE_DH_USE);
#ifdef SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
@@ -1193,7 +1228,7 @@ tor_tls_context_new(crypto_pk_env_t *identity, unsigned int key_lifetime,
SSL_CTX_set_session_cache_mode(result->ctx, SSL_SESS_CACHE_OFF);
if (!is_client) {
tor_assert(rsa);
- if (!(pkey = _crypto_pk_env_get_evp_pkey(rsa,1)))
+ if (!(pkey = _crypto_pk_get_evp_pkey(rsa,1)))
goto error;
if (!SSL_CTX_use_PrivateKey(result->ctx, pkey))
goto error;
@@ -1203,9 +1238,9 @@ tor_tls_context_new(crypto_pk_env_t *identity, unsigned int key_lifetime,
goto error;
}
{
- crypto_dh_env_t *dh = crypto_dh_new(DH_TYPE_TLS);
+ crypto_dh_t *dh = crypto_dh_new(DH_TYPE_TLS);
tor_assert(dh);
- SSL_CTX_set_tmp_dh(result->ctx, _crypto_dh_env_get_dh(dh));
+ SSL_CTX_set_tmp_dh(result->ctx, _crypto_dh_get_dh(dh));
crypto_dh_free(dh);
}
SSL_CTX_set_verify(result->ctx, SSL_VERIFY_PEER,
@@ -1214,9 +1249,9 @@ tor_tls_context_new(crypto_pk_env_t *identity, unsigned int key_lifetime,
SSL_CTX_set_mode(result->ctx, SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER);
if (rsa)
- crypto_free_pk_env(rsa);
+ crypto_pk_free(rsa);
if (rsa_auth)
- crypto_free_pk_env(rsa_auth);
+ crypto_pk_free(rsa_auth);
X509_free(authcert);
tor_free(nickname);
tor_free(nn2);
@@ -1229,9 +1264,9 @@ tor_tls_context_new(crypto_pk_env_t *identity, unsigned int key_lifetime,
if (pkey)
EVP_PKEY_free(pkey);
if (rsa)
- crypto_free_pk_env(rsa);
+ crypto_pk_free(rsa);
if (rsa_auth)
- crypto_free_pk_env(rsa_auth);
+ crypto_pk_free(rsa_auth);
if (result)
tor_tls_context_decref(result);
if (cert)
@@ -1279,7 +1314,7 @@ tor_tls_client_is_using_v2_ciphers(const SSL *ssl, const char *address)
return 0;
dump_list:
{
- smartlist_t *elts = smartlist_create();
+ smartlist_t *elts = smartlist_new();
char *s;
for (i = 0; i < sk_SSL_CIPHER_num(session->ciphers); ++i) {
SSL_CIPHER *cipher = sk_SSL_CIPHER_value(session->ciphers, i);
@@ -1299,7 +1334,7 @@ static void
tor_tls_debug_state_callback(const SSL *ssl, int type, int val)
{
log_debug(LD_HANDSHAKE, "SSL %p is now in state %s [type=%d,val=%d].",
- ssl, ssl_state_to_string(ssl->state), type, val);
+ ssl, SSL_state_string_long(ssl), type, val);
}
/** Invoked when we're accepting a connection on <b>ssl</b>, and the connection
@@ -1704,16 +1739,16 @@ tor_tls_handshake(tor_tls_t *tls)
oldstate = tls->ssl->state;
if (tls->isServer) {
log_debug(LD_HANDSHAKE, "About to call SSL_accept on %p (%s)", tls,
- ssl_state_to_string(tls->ssl->state));
+ SSL_state_string_long(tls->ssl));
r = SSL_accept(tls->ssl);
} else {
log_debug(LD_HANDSHAKE, "About to call SSL_connect on %p (%s)", tls,
- ssl_state_to_string(tls->ssl->state));
+ SSL_state_string_long(tls->ssl));
r = SSL_connect(tls->ssl);
}
if (oldstate != tls->ssl->state)
log_debug(LD_HANDSHAKE, "After call, %p was in state %s",
- tls, ssl_state_to_string(tls->ssl->state));
+ tls, SSL_state_string_long(tls->ssl));
/* We need to call this here and not earlier, since OpenSSL has a penchant
* for clearing its flags when you say accept or connect. */
tor_tls_unblock_renegotiation(tls);
@@ -1924,7 +1959,7 @@ tor_tls_get_peer_cert(tor_tls_t *tls)
/** Warn that a certificate lifetime extends through a certain range. */
static void
-log_cert_lifetime(const X509 *cert, const char *problem)
+log_cert_lifetime(int severity, const X509 *cert, const char *problem)
{
BIO *bio = NULL;
BUF_MEM *buf;
@@ -1934,9 +1969,10 @@ log_cert_lifetime(const X509 *cert, const char *problem)
struct tm tm;
if (problem)
- log_warn(LD_GENERAL,
- "Certificate %s: is your system clock set incorrectly?",
- problem);
+ log(severity, LD_GENERAL,
+ "Certificate %s. Either their clock is set wrong, or your clock "
+ "is wrong.",
+ problem);
if (!(bio = BIO_new(BIO_s_mem()))) {
log_warn(LD_GENERAL, "Couldn't allocate BIO!"); goto end;
@@ -1958,9 +1994,9 @@ log_cert_lifetime(const X509 *cert, const char *problem)
strftime(mytime, 32, "%b %d %H:%M:%S %Y GMT", tor_gmtime_r(&now, &tm));
- log_warn(LD_GENERAL,
- "(certificate lifetime runs from %s through %s. Your time is %s.)",
- s1,s2,mytime);
+ log(severity, LD_GENERAL,
+ "(certificate lifetime runs from %s through %s. Your time is %s.)",
+ s1,s2,mytime);
end:
/* Not expected to get invoked */
@@ -2017,7 +2053,7 @@ try_to_extract_certs_from_tls(int severity, tor_tls_t *tls,
* 0. Else, return -1 and log complaints with log-level <b>severity</b>.
*/
int
-tor_tls_verify(int severity, tor_tls_t *tls, crypto_pk_env_t **identity_key)
+tor_tls_verify(int severity, tor_tls_t *tls, crypto_pk_t **identity_key)
{
X509 *cert = NULL, *id_cert = NULL;
EVP_PKEY *id_pkey = NULL;
@@ -2045,7 +2081,7 @@ tor_tls_verify(int severity, tor_tls_t *tls, crypto_pk_env_t **identity_key)
rsa = EVP_PKEY_get1_RSA(id_pkey);
if (!rsa)
goto done;
- *identity_key = _crypto_new_pk_env_rsa(rsa);
+ *identity_key = _crypto_new_pk_from_rsa(rsa);
r = 0;
@@ -2062,14 +2098,15 @@ tor_tls_verify(int severity, tor_tls_t *tls, crypto_pk_env_t **identity_key)
return r;
}
-/** Check whether the certificate set on the connection <b>tls</b> is
- * expired or not-yet-valid, give or take <b>tolerance</b>
- * seconds. Return 0 for valid, -1 for failure.
+/** Check whether the certificate set on the connection <b>tls</b> is expired
+ * give or take <b>past_tolerance</b> seconds, or not-yet-valid give or take
+ * <b>future_tolerance</b> seconds. Return 0 for valid, -1 for failure.
*
* NOTE: you should call tor_tls_verify before tor_tls_check_lifetime.
*/
int
-tor_tls_check_lifetime(tor_tls_t *tls, int tolerance)
+tor_tls_check_lifetime(int severity, tor_tls_t *tls,
+ int past_tolerance, int future_tolerance)
{
X509 *cert;
int r = -1;
@@ -2077,7 +2114,8 @@ tor_tls_check_lifetime(tor_tls_t *tls, int tolerance)
if (!(cert = SSL_get_peer_certificate(tls->ssl)))
goto done;
- if (check_cert_lifetime_internal(cert, tolerance) < 0)
+ if (check_cert_lifetime_internal(severity, cert,
+ past_tolerance, future_tolerance) < 0)
goto done;
r = 0;
@@ -2090,24 +2128,26 @@ tor_tls_check_lifetime(tor_tls_t *tls, int tolerance)
return r;
}
-/** Helper: check whether <b>cert</b> is currently live, give or take
- * <b>tolerance</b> seconds. If it is live, return 0. If it is not live,
- * log a message and return -1. */
+/** Helper: check whether <b>cert</b> is expired give or take
+ * <b>past_tolerance</b> seconds, or not-yet-valid give or take
+ * <b>future_tolerance</b> seconds. If it is live, return 0. If it is not
+ * live, log a message and return -1. */
static int
-check_cert_lifetime_internal(const X509 *cert, int tolerance)
+check_cert_lifetime_internal(int severity, const X509 *cert,
+ int past_tolerance, int future_tolerance)
{
time_t now, t;
now = time(NULL);
- t = now + tolerance;
+ t = now + future_tolerance;
if (X509_cmp_time(X509_get_notBefore(cert), &t) > 0) {
- log_cert_lifetime(cert, "not yet valid");
+ log_cert_lifetime(severity, cert, "not yet valid");
return -1;
}
- t = now - tolerance;
+ t = now - past_tolerance;
if (X509_cmp_time(X509_get_notAfter(cert), &t) < 0) {
- log_cert_lifetime(cert, "already expired");
+ log_cert_lifetime(severity, cert, "already expired");
return -1;
}
diff --git a/src/common/tortls.h b/src/common/tortls.h
index d0a13cd80..bcec63f05 100644
--- a/src/common/tortls.h
+++ b/src/common/tortls.h
@@ -55,8 +55,8 @@ void tor_tls_get_state_description(tor_tls_t *tls, char *buf, size_t sz);
void tor_tls_free_all(void);
int tor_tls_context_init(int is_public_server,
- crypto_pk_env_t *client_identity,
- crypto_pk_env_t *server_identity,
+ crypto_pk_t *client_identity,
+ crypto_pk_t *server_identity,
unsigned int key_lifetime);
tor_tls_t *tor_tls_new(int sock, int is_server);
void tor_tls_set_logged_address(tor_tls_t *tls, const char *address);
@@ -67,8 +67,10 @@ int tor_tls_is_server(tor_tls_t *tls);
void tor_tls_free(tor_tls_t *tls);
int tor_tls_peer_has_cert(tor_tls_t *tls);
tor_cert_t *tor_tls_get_peer_cert(tor_tls_t *tls);
-int tor_tls_verify(int severity, tor_tls_t *tls, crypto_pk_env_t **identity);
-int tor_tls_check_lifetime(tor_tls_t *tls, int tolerance);
+int tor_tls_verify(int severity, tor_tls_t *tls, crypto_pk_t **identity);
+int tor_tls_check_lifetime(int severity,
+ tor_tls_t *tls, int past_tolerance,
+ int future_tolerance);
int tor_tls_read(tor_tls_t *tls, char *cp, size_t len);
int tor_tls_write(tor_tls_t *tls, const char *cp, size_t n);
int tor_tls_handshake(tor_tls_t *tls);
@@ -120,10 +122,11 @@ const digests_t *tor_cert_get_cert_digests(const tor_cert_t *cert);
int tor_tls_get_my_certs(int server,
const tor_cert_t **link_cert_out,
const tor_cert_t **id_cert_out);
-crypto_pk_env_t *tor_tls_get_my_client_auth_key(void);
-crypto_pk_env_t *tor_tls_cert_get_key(tor_cert_t *cert);
+crypto_pk_t *tor_tls_get_my_client_auth_key(void);
+crypto_pk_t *tor_tls_cert_get_key(tor_cert_t *cert);
int tor_tls_cert_matches_key(const tor_tls_t *tls, const tor_cert_t *cert);
-int tor_tls_cert_is_valid(const tor_cert_t *cert,
+int tor_tls_cert_is_valid(int severity,
+ const tor_cert_t *cert,
const tor_cert_t *signing_cert,
int check_rsa_1024);
diff --git a/src/common/tortls_states.h b/src/common/tortls_states.h
deleted file mode 100644
index dcff2479f..000000000
--- a/src/common/tortls_states.h
+++ /dev/null
@@ -1,414 +0,0 @@
-/* Copyright (c) 2003, Roger Dingledine
- * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
- * Copyright (c) 2007-2011, The Tor Project, Inc. */
-/* See LICENSE for licensing information */
-
-/* Helper file: included only in tortls.c */
-
-#ifndef _TORTLS_STATES_H
-#define _TORTLS_STATES_H
-
-/* The main body of this file was mechanically generated with this
- perl script:
-
- my %keys = ();
- for $fn (@ARGV) {
- open(F, $fn);
- while (<F>) {
- next unless /^#define ((?:SSL|DTLS)\w*_ST_\w*)/;
- $keys{$1} = 1;
- }
- close(F);
- }
- for $k (sort keys %keys) {
- print "#ifdef $k\n S($k),\n#endif\n"
- }
-*/
-
-/** Mapping from allowed value of SSL.state to the name of C macro for that
- * state. Used for debugging an openssl connection. */
-static const struct { int state; const char *name; } state_map[] = {
-#define S(state) { state, #state }
-#ifdef DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A
- S(DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A),
-#endif
-#ifdef DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B
- S(DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B),
-#endif
-#ifdef DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A
- S(DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A),
-#endif
-#ifdef DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B
- S(DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B),
-#endif
-#ifdef SSL23_ST_CR_SRVR_HELLO_A
- S(SSL23_ST_CR_SRVR_HELLO_A),
-#endif
-#ifdef SSL23_ST_CR_SRVR_HELLO_B
- S(SSL23_ST_CR_SRVR_HELLO_B),
-#endif
-#ifdef SSL23_ST_CW_CLNT_HELLO_A
- S(SSL23_ST_CW_CLNT_HELLO_A),
-#endif
-#ifdef SSL23_ST_CW_CLNT_HELLO_B
- S(SSL23_ST_CW_CLNT_HELLO_B),
-#endif
-#ifdef SSL23_ST_SR_CLNT_HELLO_A
- S(SSL23_ST_SR_CLNT_HELLO_A),
-#endif
-#ifdef SSL23_ST_SR_CLNT_HELLO_B
- S(SSL23_ST_SR_CLNT_HELLO_B),
-#endif
-#ifdef SSL2_ST_CLIENT_START_ENCRYPTION
- S(SSL2_ST_CLIENT_START_ENCRYPTION),
-#endif
-#ifdef SSL2_ST_GET_CLIENT_FINISHED_A
- S(SSL2_ST_GET_CLIENT_FINISHED_A),
-#endif
-#ifdef SSL2_ST_GET_CLIENT_FINISHED_B
- S(SSL2_ST_GET_CLIENT_FINISHED_B),
-#endif
-#ifdef SSL2_ST_GET_CLIENT_HELLO_A
- S(SSL2_ST_GET_CLIENT_HELLO_A),
-#endif
-#ifdef SSL2_ST_GET_CLIENT_HELLO_B
- S(SSL2_ST_GET_CLIENT_HELLO_B),
-#endif
-#ifdef SSL2_ST_GET_CLIENT_HELLO_C
- S(SSL2_ST_GET_CLIENT_HELLO_C),
-#endif
-#ifdef SSL2_ST_GET_CLIENT_MASTER_KEY_A
- S(SSL2_ST_GET_CLIENT_MASTER_KEY_A),
-#endif
-#ifdef SSL2_ST_GET_CLIENT_MASTER_KEY_B
- S(SSL2_ST_GET_CLIENT_MASTER_KEY_B),
-#endif
-#ifdef SSL2_ST_GET_SERVER_FINISHED_A
- S(SSL2_ST_GET_SERVER_FINISHED_A),
-#endif
-#ifdef SSL2_ST_GET_SERVER_FINISHED_B
- S(SSL2_ST_GET_SERVER_FINISHED_B),
-#endif
-#ifdef SSL2_ST_GET_SERVER_HELLO_A
- S(SSL2_ST_GET_SERVER_HELLO_A),
-#endif
-#ifdef SSL2_ST_GET_SERVER_HELLO_B
- S(SSL2_ST_GET_SERVER_HELLO_B),
-#endif
-#ifdef SSL2_ST_GET_SERVER_VERIFY_A
- S(SSL2_ST_GET_SERVER_VERIFY_A),
-#endif
-#ifdef SSL2_ST_GET_SERVER_VERIFY_B
- S(SSL2_ST_GET_SERVER_VERIFY_B),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_A
- S(SSL2_ST_SEND_CLIENT_CERTIFICATE_A),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_B
- S(SSL2_ST_SEND_CLIENT_CERTIFICATE_B),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_C
- S(SSL2_ST_SEND_CLIENT_CERTIFICATE_C),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_CERTIFICATE_D
- S(SSL2_ST_SEND_CLIENT_CERTIFICATE_D),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_FINISHED_A
- S(SSL2_ST_SEND_CLIENT_FINISHED_A),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_FINISHED_B
- S(SSL2_ST_SEND_CLIENT_FINISHED_B),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_HELLO_A
- S(SSL2_ST_SEND_CLIENT_HELLO_A),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_HELLO_B
- S(SSL2_ST_SEND_CLIENT_HELLO_B),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_MASTER_KEY_A
- S(SSL2_ST_SEND_CLIENT_MASTER_KEY_A),
-#endif
-#ifdef SSL2_ST_SEND_CLIENT_MASTER_KEY_B
- S(SSL2_ST_SEND_CLIENT_MASTER_KEY_B),
-#endif
-#ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_A
- S(SSL2_ST_SEND_REQUEST_CERTIFICATE_A),
-#endif
-#ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_B
- S(SSL2_ST_SEND_REQUEST_CERTIFICATE_B),
-#endif
-#ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_C
- S(SSL2_ST_SEND_REQUEST_CERTIFICATE_C),
-#endif
-#ifdef SSL2_ST_SEND_REQUEST_CERTIFICATE_D
- S(SSL2_ST_SEND_REQUEST_CERTIFICATE_D),
-#endif
-#ifdef SSL2_ST_SEND_SERVER_FINISHED_A
- S(SSL2_ST_SEND_SERVER_FINISHED_A),
-#endif
-#ifdef SSL2_ST_SEND_SERVER_FINISHED_B
- S(SSL2_ST_SEND_SERVER_FINISHED_B),
-#endif
-#ifdef SSL2_ST_SEND_SERVER_HELLO_A
- S(SSL2_ST_SEND_SERVER_HELLO_A),
-#endif
-#ifdef SSL2_ST_SEND_SERVER_HELLO_B
- S(SSL2_ST_SEND_SERVER_HELLO_B),
-#endif
-#ifdef SSL2_ST_SEND_SERVER_VERIFY_A
- S(SSL2_ST_SEND_SERVER_VERIFY_A),
-#endif
-#ifdef SSL2_ST_SEND_SERVER_VERIFY_B
- S(SSL2_ST_SEND_SERVER_VERIFY_B),
-#endif
-#ifdef SSL2_ST_SEND_SERVER_VERIFY_C
- S(SSL2_ST_SEND_SERVER_VERIFY_C),
-#endif
-#ifdef SSL2_ST_SERVER_START_ENCRYPTION
- S(SSL2_ST_SERVER_START_ENCRYPTION),
-#endif
-#ifdef SSL2_ST_X509_GET_CLIENT_CERTIFICATE
- S(SSL2_ST_X509_GET_CLIENT_CERTIFICATE),
-#endif
-#ifdef SSL2_ST_X509_GET_SERVER_CERTIFICATE
- S(SSL2_ST_X509_GET_SERVER_CERTIFICATE),
-#endif
-#ifdef SSL3_ST_CR_CERT_A
- S(SSL3_ST_CR_CERT_A),
-#endif
-#ifdef SSL3_ST_CR_CERT_B
- S(SSL3_ST_CR_CERT_B),
-#endif
-#ifdef SSL3_ST_CR_CERT_REQ_A
- S(SSL3_ST_CR_CERT_REQ_A),
-#endif
-#ifdef SSL3_ST_CR_CERT_REQ_B
- S(SSL3_ST_CR_CERT_REQ_B),
-#endif
-#ifdef SSL3_ST_CR_CERT_STATUS_A
- S(SSL3_ST_CR_CERT_STATUS_A),
-#endif
-#ifdef SSL3_ST_CR_CERT_STATUS_B
- S(SSL3_ST_CR_CERT_STATUS_B),
-#endif
-#ifdef SSL3_ST_CR_CHANGE_A
- S(SSL3_ST_CR_CHANGE_A),
-#endif
-#ifdef SSL3_ST_CR_CHANGE_B
- S(SSL3_ST_CR_CHANGE_B),
-#endif
-#ifdef SSL3_ST_CR_FINISHED_A
- S(SSL3_ST_CR_FINISHED_A),
-#endif
-#ifdef SSL3_ST_CR_FINISHED_B
- S(SSL3_ST_CR_FINISHED_B),
-#endif
-#ifdef SSL3_ST_CR_KEY_EXCH_A
- S(SSL3_ST_CR_KEY_EXCH_A),
-#endif
-#ifdef SSL3_ST_CR_KEY_EXCH_B
- S(SSL3_ST_CR_KEY_EXCH_B),
-#endif
-#ifdef SSL3_ST_CR_SESSION_TICKET_A
- S(SSL3_ST_CR_SESSION_TICKET_A),
-#endif
-#ifdef SSL3_ST_CR_SESSION_TICKET_B
- S(SSL3_ST_CR_SESSION_TICKET_B),
-#endif
-#ifdef SSL3_ST_CR_SRVR_DONE_A
- S(SSL3_ST_CR_SRVR_DONE_A),
-#endif
-#ifdef SSL3_ST_CR_SRVR_DONE_B
- S(SSL3_ST_CR_SRVR_DONE_B),
-#endif
-#ifdef SSL3_ST_CR_SRVR_HELLO_A
- S(SSL3_ST_CR_SRVR_HELLO_A),
-#endif
-#ifdef SSL3_ST_CR_SRVR_HELLO_B
- S(SSL3_ST_CR_SRVR_HELLO_B),
-#endif
-#ifdef SSL3_ST_CW_CERT_A
- S(SSL3_ST_CW_CERT_A),
-#endif
-#ifdef SSL3_ST_CW_CERT_B
- S(SSL3_ST_CW_CERT_B),
-#endif
-#ifdef SSL3_ST_CW_CERT_C
- S(SSL3_ST_CW_CERT_C),
-#endif
-#ifdef SSL3_ST_CW_CERT_D
- S(SSL3_ST_CW_CERT_D),
-#endif
-#ifdef SSL3_ST_CW_CERT_VRFY_A
- S(SSL3_ST_CW_CERT_VRFY_A),
-#endif
-#ifdef SSL3_ST_CW_CERT_VRFY_B
- S(SSL3_ST_CW_CERT_VRFY_B),
-#endif
-#ifdef SSL3_ST_CW_CHANGE_A
- S(SSL3_ST_CW_CHANGE_A),
-#endif
-#ifdef SSL3_ST_CW_CHANGE_B
- S(SSL3_ST_CW_CHANGE_B),
-#endif
-#ifdef SSL3_ST_CW_CLNT_HELLO_A
- S(SSL3_ST_CW_CLNT_HELLO_A),
-#endif
-#ifdef SSL3_ST_CW_CLNT_HELLO_B
- S(SSL3_ST_CW_CLNT_HELLO_B),
-#endif
-#ifdef SSL3_ST_CW_FINISHED_A
- S(SSL3_ST_CW_FINISHED_A),
-#endif
-#ifdef SSL3_ST_CW_FINISHED_B
- S(SSL3_ST_CW_FINISHED_B),
-#endif
-#ifdef SSL3_ST_CW_FLUSH
- S(SSL3_ST_CW_FLUSH),
-#endif
-#ifdef SSL3_ST_CW_KEY_EXCH_A
- S(SSL3_ST_CW_KEY_EXCH_A),
-#endif
-#ifdef SSL3_ST_CW_KEY_EXCH_B
- S(SSL3_ST_CW_KEY_EXCH_B),
-#endif
-#ifdef SSL3_ST_SR_CERT_A
- S(SSL3_ST_SR_CERT_A),
-#endif
-#ifdef SSL3_ST_SR_CERT_B
- S(SSL3_ST_SR_CERT_B),
-#endif
-#ifdef SSL3_ST_SR_CERT_VRFY_A
- S(SSL3_ST_SR_CERT_VRFY_A),
-#endif
-#ifdef SSL3_ST_SR_CERT_VRFY_B
- S(SSL3_ST_SR_CERT_VRFY_B),
-#endif
-#ifdef SSL3_ST_SR_CHANGE_A
- S(SSL3_ST_SR_CHANGE_A),
-#endif
-#ifdef SSL3_ST_SR_CHANGE_B
- S(SSL3_ST_SR_CHANGE_B),
-#endif
-#ifdef SSL3_ST_SR_CLNT_HELLO_A
- S(SSL3_ST_SR_CLNT_HELLO_A),
-#endif
-#ifdef SSL3_ST_SR_CLNT_HELLO_B
- S(SSL3_ST_SR_CLNT_HELLO_B),
-#endif
-#ifdef SSL3_ST_SR_CLNT_HELLO_C
- S(SSL3_ST_SR_CLNT_HELLO_C),
-#endif
-#ifdef SSL3_ST_SR_FINISHED_A
- S(SSL3_ST_SR_FINISHED_A),
-#endif
-#ifdef SSL3_ST_SR_FINISHED_B
- S(SSL3_ST_SR_FINISHED_B),
-#endif
-#ifdef SSL3_ST_SR_KEY_EXCH_A
- S(SSL3_ST_SR_KEY_EXCH_A),
-#endif
-#ifdef SSL3_ST_SR_KEY_EXCH_B
- S(SSL3_ST_SR_KEY_EXCH_B),
-#endif
-#ifdef SSL3_ST_SW_CERT_A
- S(SSL3_ST_SW_CERT_A),
-#endif
-#ifdef SSL3_ST_SW_CERT_B
- S(SSL3_ST_SW_CERT_B),
-#endif
-#ifdef SSL3_ST_SW_CERT_REQ_A
- S(SSL3_ST_SW_CERT_REQ_A),
-#endif
-#ifdef SSL3_ST_SW_CERT_REQ_B
- S(SSL3_ST_SW_CERT_REQ_B),
-#endif
-#ifdef SSL3_ST_SW_CERT_STATUS_A
- S(SSL3_ST_SW_CERT_STATUS_A),
-#endif
-#ifdef SSL3_ST_SW_CERT_STATUS_B
- S(SSL3_ST_SW_CERT_STATUS_B),
-#endif
-#ifdef SSL3_ST_SW_CHANGE_A
- S(SSL3_ST_SW_CHANGE_A),
-#endif
-#ifdef SSL3_ST_SW_CHANGE_B
- S(SSL3_ST_SW_CHANGE_B),
-#endif
-#ifdef SSL3_ST_SW_FINISHED_A
- S(SSL3_ST_SW_FINISHED_A),
-#endif
-#ifdef SSL3_ST_SW_FINISHED_B
- S(SSL3_ST_SW_FINISHED_B),
-#endif
-#ifdef SSL3_ST_SW_FLUSH
- S(SSL3_ST_SW_FLUSH),
-#endif
-#ifdef SSL3_ST_SW_HELLO_REQ_A
- S(SSL3_ST_SW_HELLO_REQ_A),
-#endif
-#ifdef SSL3_ST_SW_HELLO_REQ_B
- S(SSL3_ST_SW_HELLO_REQ_B),
-#endif
-#ifdef SSL3_ST_SW_HELLO_REQ_C
- S(SSL3_ST_SW_HELLO_REQ_C),
-#endif
-#ifdef SSL3_ST_SW_KEY_EXCH_A
- S(SSL3_ST_SW_KEY_EXCH_A),
-#endif
-#ifdef SSL3_ST_SW_KEY_EXCH_B
- S(SSL3_ST_SW_KEY_EXCH_B),
-#endif
-#ifdef SSL3_ST_SW_SESSION_TICKET_A
- S(SSL3_ST_SW_SESSION_TICKET_A),
-#endif
-#ifdef SSL3_ST_SW_SESSION_TICKET_B
- S(SSL3_ST_SW_SESSION_TICKET_B),
-#endif
-#ifdef SSL3_ST_SW_SRVR_DONE_A
- S(SSL3_ST_SW_SRVR_DONE_A),
-#endif
-#ifdef SSL3_ST_SW_SRVR_DONE_B
- S(SSL3_ST_SW_SRVR_DONE_B),
-#endif
-#ifdef SSL3_ST_SW_SRVR_HELLO_A
- S(SSL3_ST_SW_SRVR_HELLO_A),
-#endif
-#ifdef SSL3_ST_SW_SRVR_HELLO_B
- S(SSL3_ST_SW_SRVR_HELLO_B),
-#endif
-#ifdef SSL_ST_ACCEPT
- S(SSL_ST_ACCEPT),
-#endif
-#ifdef SSL_ST_BEFORE
- S(SSL_ST_BEFORE),
-#endif
-#ifdef SSL_ST_CONNECT
- S(SSL_ST_CONNECT),
-#endif
-#ifdef SSL_ST_INIT
- S(SSL_ST_INIT),
-#endif
-#ifdef SSL_ST_MASK
- S(SSL_ST_MASK),
-#endif
-#ifdef SSL_ST_OK
- S(SSL_ST_OK),
-#endif
-#ifdef SSL_ST_READ_BODY
- S(SSL_ST_READ_BODY),
-#endif
-#ifdef SSL_ST_READ_DONE
- S(SSL_ST_READ_DONE),
-#endif
-#ifdef SSL_ST_READ_HEADER
- S(SSL_ST_READ_HEADER),
-#endif
-#ifdef SSL_ST_RENEGOTIATE
- S(SSL_ST_RENEGOTIATE),
-#endif
- { 0, NULL }
-};
-
-#endif
-
diff --git a/src/common/util.c b/src/common/util.c
index 79e09e4f5..ecf49a6f1 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -26,7 +26,7 @@
#include "container.h"
#include "address.h"
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#include <io.h>
#include <direct.h>
#include <process.h>
@@ -172,6 +172,35 @@ _tor_malloc_zero(size_t size DMALLOC_PARAMS)
return result;
}
+/** Allocate a chunk of <b>nmemb</b>*<b>size</b> bytes of memory, fill
+ * the memory with zero bytes, and return a pointer to the result.
+ * Log and terminate the process on error. (Same as
+ * calloc(<b>nmemb</b>,<b>size</b>), but never returns NULL.)
+ *
+ * XXXX This implementation probably asserts in cases where it could
+ * work, because it only tries dividing SIZE_MAX by size (according to
+ * the calloc(3) man page, the size of an element of the nmemb-element
+ * array to be allocated), not by nmemb (which could in theory be
+ * smaller than size). Don't do that then.
+ */
+void *
+_tor_calloc(size_t nmemb, size_t size DMALLOC_PARAMS)
+{
+ /* You may ask yourself, "wouldn't it be smart to use calloc instead of
+ * malloc+memset? Perhaps libc's calloc knows some nifty optimization trick
+ * we don't!" Indeed it does, but its optimizations are only a big win when
+ * we're allocating something very big (it knows if it just got the memory
+ * from the OS in a pre-zeroed state). We don't want to use tor_malloc_zero
+ * for big stuff, so we don't bother with calloc. */
+ void *result;
+ size_t max_nmemb = (size == 0) ? SIZE_MAX : SIZE_MAX/size;
+
+ tor_assert(nmemb < max_nmemb);
+
+ result = _tor_malloc_zero((nmemb * size) DMALLOC_FN_ARGS);
+ return result;
+}
+
/** Change the size of the memory block pointed to by <b>ptr</b> to <b>size</b>
* bytes long; return the new memory block. On error, log and
* terminate. (Like realloc(ptr,size), but never returns NULL.)
@@ -915,7 +944,7 @@ tor_parse_uint64(const char *s, int base, uint64_t min,
#ifdef HAVE_STRTOULL
r = (uint64_t)strtoull(s, &endptr, base);
-#elif defined(MS_WINDOWS)
+#elif defined(_WIN32)
#if defined(_MSC_VER) && _MSC_VER < 1300
tor_assert(base <= 10);
r = (uint64_t)_atoi64(s);
@@ -1430,6 +1459,26 @@ format_iso_time(char *buf, time_t t)
strftime(buf, ISO_TIME_LEN+1, "%Y-%m-%d %H:%M:%S", tor_gmtime_r(&t, &tm));
}
+/** As format_iso_time, but use the yyyy-mm-ddThh:mm:ss format to avoid
+ * embedding an internal space. */
+void
+format_iso_time_nospace(char *buf, time_t t)
+{
+ format_iso_time(buf, t);
+ buf[10] = 'T';
+}
+
+/** As format_iso_time_nospace, but include microseconds in decimal
+ * fixed-point format. Requires that buf be at least ISO_TIME_USEC_LEN+1
+ * bytes long. */
+void
+format_iso_time_nospace_usec(char *buf, const struct timeval *tv)
+{
+ tor_assert(tv);
+ format_iso_time_nospace(buf, tv->tv_sec);
+ tor_snprintf(buf+ISO_TIME_LEN, 8, ".%06d", (int)tv->tv_usec);
+}
+
/** Given an ISO-formatted UTC time value (after the epoch) in <b>cp</b>,
* parse it and store its value in *<b>t</b>. Return 0 on success, -1 on
* failure. Ignore extraneous stuff in <b>cp</b> separated by whitespace from
@@ -1711,7 +1760,7 @@ read_all(tor_socket_t fd, char *buf, size_t count, int isSocket)
static void
clean_name_for_stat(char *name)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
size_t len = strlen(name);
if (!len)
return;
@@ -1770,7 +1819,7 @@ check_private_dir(const char *dirname, cpd_check_t check,
int r;
struct stat st;
char *f;
-#ifndef MS_WINDOWS
+#ifndef _WIN32
int mask;
struct passwd *pw = NULL;
uid_t running_uid;
@@ -1792,7 +1841,7 @@ check_private_dir(const char *dirname, cpd_check_t check,
}
if (check & CPD_CREATE) {
log_info(LD_GENERAL, "Creating directory %s", dirname);
-#if defined (MS_WINDOWS) && !defined (WINCE)
+#if defined (_WIN32) && !defined (WINCE)
r = mkdir(dirname);
#else
r = mkdir(dirname, 0700);
@@ -1814,7 +1863,7 @@ check_private_dir(const char *dirname, cpd_check_t check,
log_warn(LD_FS, "%s is not a directory", dirname);
return -1;
}
-#ifndef MS_WINDOWS
+#ifndef _WIN32
if (effective_user) {
/* Look up the user and group information.
* If we have a problem, bail out. */
@@ -1901,7 +1950,7 @@ check_private_dir(const char *dirname, cpd_check_t check,
int
write_str_to_file(const char *fname, const char *str, int bin)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
if (!bin && strchr(str, '\r')) {
log_warn(LD_BUG,
"We're writing a text string that already contains a CR.");
@@ -1944,7 +1993,6 @@ int
start_writing_to_file(const char *fname, int open_flags, int mode,
open_file_t **data_out)
{
- size_t tempname_len = strlen(fname)+16;
open_file_t *new_file = tor_malloc_zero(sizeof(open_file_t));
const char *open_name;
int append = 0;
@@ -1955,7 +2003,6 @@ start_writing_to_file(const char *fname, int open_flags, int mode,
tor_assert((open_flags & (O_BINARY|O_TEXT)) != 0);
#endif
new_file->fd = -1;
- tor_assert(tempname_len > strlen(fname)); /*check for overflow*/
new_file->filename = tor_strdup(fname);
if (open_flags & O_APPEND) {
open_name = fname;
@@ -1963,11 +2010,8 @@ start_writing_to_file(const char *fname, int open_flags, int mode,
append = 1;
open_flags &= ~O_APPEND;
} else {
- open_name = new_file->tempname = tor_malloc(tempname_len);
- if (tor_snprintf(new_file->tempname, tempname_len, "%s.tmp", fname)<0) {
- log_warn(LD_GENERAL, "Failed to generate filename");
- goto err;
- }
+ tor_asprintf(&new_file->tempname, "%s.tmp", fname);
+ open_name = new_file->tempname;
/* We always replace an existing temporary file if there is one. */
open_flags |= O_CREAT|O_TRUNC;
open_flags &= ~O_EXCL;
@@ -2137,36 +2181,50 @@ write_chunks_to_file(const char *fname, const smartlist_t *chunks, int bin)
return write_chunks_to_file_impl(fname, chunks, flags);
}
-/** As write_str_to_file, but does not assume a NUL-terminated
- * string. Instead, we write <b>len</b> bytes, starting at <b>str</b>. */
-int
-write_bytes_to_file(const char *fname, const char *str, size_t len,
- int bin)
+/** Write <b>len</b> bytes, starting at <b>str</b>, to <b>fname</b>
+ using the open() flags passed in <b>flags</b>. */
+static int
+write_bytes_to_file_impl(const char *fname, const char *str, size_t len,
+ int flags)
{
- int flags = OPEN_FLAGS_REPLACE|(bin?O_BINARY:O_TEXT);
int r;
sized_chunk_t c = { str, len };
- smartlist_t *chunks = smartlist_create();
+ smartlist_t *chunks = smartlist_new();
smartlist_add(chunks, &c);
r = write_chunks_to_file_impl(fname, chunks, flags);
smartlist_free(chunks);
return r;
}
+/** As write_str_to_file, but does not assume a NUL-terminated
+ * string. Instead, we write <b>len</b> bytes, starting at <b>str</b>. */
+int
+write_bytes_to_file(const char *fname, const char *str, size_t len,
+ int bin)
+{
+ return write_bytes_to_file_impl(fname, str, len,
+ OPEN_FLAGS_REPLACE|(bin?O_BINARY:O_TEXT));
+}
+
/** As write_bytes_to_file, but if the file already exists, append the bytes
* to the end of the file instead of overwriting it. */
int
append_bytes_to_file(const char *fname, const char *str, size_t len,
int bin)
{
- int flags = OPEN_FLAGS_APPEND|(bin?O_BINARY:O_TEXT);
- int r;
- sized_chunk_t c = { str, len };
- smartlist_t *chunks = smartlist_create();
- smartlist_add(chunks, &c);
- r = write_chunks_to_file_impl(fname, chunks, flags);
- smartlist_free(chunks);
- return r;
+ return write_bytes_to_file_impl(fname, str, len,
+ OPEN_FLAGS_APPEND|(bin?O_BINARY:O_TEXT));
+}
+
+/** Like write_str_to_file(), but also return -1 if there was a file
+ already residing in <b>fname</b>. */
+int
+write_bytes_to_new_file(const char *fname, const char *str, size_t len,
+ int bin)
+{
+ return write_bytes_to_file_impl(fname, str, len,
+ OPEN_FLAGS_DONT_REPLACE|
+ (bin?O_BINARY:O_TEXT));
}
/** Read the contents of <b>filename</b> into a newly allocated
@@ -2234,7 +2292,7 @@ read_file_to_str(const char *filename, int flags, struct stat *stat_out)
}
string[r] = '\0'; /* NUL-terminate the result. */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
if (!bin && strchr(string, '\r')) {
log_debug(LD_FS, "We didn't convert CRLF to LF as well as we hoped "
"when reading %s. Coping.",
@@ -2515,7 +2573,7 @@ char *
expand_filename(const char *filename)
{
tor_assert(filename);
-#ifdef MS_WINDOWS
+#ifdef _WIN32
return tor_strdup(filename);
#else
if (*filename == '~') {
@@ -2723,17 +2781,17 @@ tor_sscanf(const char *buf, const char *pattern, ...)
/** Append the string produced by tor_asprintf(<b>pattern</b>, <b>...</b>)
* to <b>sl</b>. */
void
-smartlist_asprintf_add(struct smartlist_t *sl, const char *pattern, ...)
+smartlist_add_asprintf(struct smartlist_t *sl, const char *pattern, ...)
{
va_list ap;
va_start(ap, pattern);
- smartlist_vasprintf_add(sl, pattern, ap);
+ smartlist_add_vasprintf(sl, pattern, ap);
va_end(ap);
}
-/** va_list-based backend of smartlist_asprintf_add. */
+/** va_list-based backend of smartlist_add_asprintf. */
void
-smartlist_vasprintf_add(struct smartlist_t *sl, const char *pattern,
+smartlist_add_vasprintf(struct smartlist_t *sl, const char *pattern,
va_list args)
{
char *str = NULL;
@@ -2751,15 +2809,13 @@ smartlist_t *
tor_listdir(const char *dirname)
{
smartlist_t *result;
-#ifdef MS_WINDOWS
- char *pattern;
+#ifdef _WIN32
+ char *pattern=NULL;
TCHAR tpattern[MAX_PATH] = {0};
char name[MAX_PATH] = {0};
HANDLE handle;
WIN32_FIND_DATA findData;
- size_t pattern_len = strlen(dirname)+16;
- pattern = tor_malloc(pattern_len);
- tor_snprintf(pattern, pattern_len, "%s\\*", dirname);
+ tor_asprintf(&pattern, "%s\\*", dirname);
#ifdef UNICODE
mbstowcs(tpattern,pattern,MAX_PATH);
#else
@@ -2769,7 +2825,7 @@ tor_listdir(const char *dirname)
tor_free(pattern);
return NULL;
}
- result = smartlist_create();
+ result = smartlist_new();
while (1) {
#ifdef UNICODE
wcstombs(name,findData.cFileName,MAX_PATH);
@@ -2798,7 +2854,7 @@ tor_listdir(const char *dirname)
if (!(d = opendir(dirname)))
return NULL;
- result = smartlist_create();
+ result = smartlist_new();
while ((de = readdir(d))) {
if (!strcmp(de->d_name, ".") ||
!strcmp(de->d_name, ".."))
@@ -2816,7 +2872,7 @@ path_is_relative(const char *filename)
{
if (filename && filename[0] == '/')
return 0;
-#ifdef MS_WINDOWS
+#ifdef _WIN32
else if (filename && filename[0] == '\\')
return 0;
else if (filename && strlen(filename)>3 && TOR_ISALPHA(filename[0]) &&
@@ -2831,7 +2887,7 @@ path_is_relative(const char *filename)
* Process helpers
* ===== */
-#ifndef MS_WINDOWS
+#ifndef _WIN32
/* Based on code contributed by christian grothoff */
/** True iff we've called start_daemon(). */
static int start_daemon_called = 0;
@@ -2945,7 +3001,7 @@ finish_daemon(const char *desired_cwd)
close(daemon_filedes[1]);
}
#else
-/* defined(MS_WINDOWS) */
+/* defined(_WIN32) */
void
start_daemon(void)
{
@@ -2968,7 +3024,7 @@ write_pidfile(char *filename)
log_warn(LD_FS, "Unable to open \"%s\" for writing: %s", filename,
strerror(errno));
} else {
-#ifdef MS_WINDOWS
+#ifdef _WIN32
fprintf(pidfile, "%d\n", (int)_getpid());
#else
fprintf(pidfile, "%d\n", (int)getpid());
@@ -2977,7 +3033,7 @@ write_pidfile(char *filename)
}
}
-#ifdef MS_WINDOWS
+#ifdef _WIN32
HANDLE
load_windows_system_library(const TCHAR *library_name)
{
@@ -3007,7 +3063,7 @@ format_win_cmdline_argument(const char *arg)
/* Smartlist of *char */
smartlist_t *arg_chars;
- arg_chars = smartlist_create();
+ arg_chars = smartlist_new();
/* Quote string if it contains whitespace or is empty */
need_quotes = (strchr(arg, ' ') || strchr(arg, '\t') || '\0' == arg[0]);
@@ -3073,7 +3129,7 @@ tor_join_win_cmdline(const char *argv[])
int i;
/* Format each argument and put the result in a smartlist */
- argv_list = smartlist_create();
+ argv_list = smartlist_new();
for (i=0; argv[i] != NULL; i++) {
smartlist_add(argv_list, (void *)format_win_cmdline_argument(argv[i]));
}
@@ -3159,28 +3215,72 @@ format_helper_exit_status(unsigned char child_state, int saved_errno,
/* Maximum number of file descriptors, if we cannot get it via sysconf() */
#define DEFAULT_MAX_FD 256
-/** Terminate process running at PID <b>pid</b>.
+/** Terminate the process of <b>process_handle</b>.
* Code borrowed from Python's os.kill. */
int
-tor_terminate_process(pid_t pid)
+tor_terminate_process(process_handle_t *process_handle)
{
-#ifdef MS_WINDOWS
- HANDLE handle;
- /* If the signal is outside of what GenerateConsoleCtrlEvent can use,
- attempt to open and terminate the process. */
- handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
- if (!handle)
- return -1;
+#ifdef _WIN32
+ if (tor_get_exit_code(process_handle, 0, NULL) == PROCESS_EXIT_RUNNING) {
+ HANDLE handle;
+ /* If the signal is outside of what GenerateConsoleCtrlEvent can use,
+ attempt to open and terminate the process. */
+ handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE,
+ process_handle->pid.dwProcessId);
+ if (!handle)
+ return -1;
- if (!TerminateProcess(handle, 0))
- return -1;
- else
- return 0;
+ if (!TerminateProcess(handle, 0))
+ return -1;
+ else
+ return 0;
+ }
#else /* Unix */
- return kill(pid, SIGTERM);
+ return kill(process_handle->pid, SIGTERM);
+#endif
+
+ return -1;
+}
+
+/** 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
+FILE *
+tor_process_get_stdout_pipe(process_handle_t *process_handle)
+{
+ return process_handle->stdout_handle;
+}
+#endif
+
+static process_handle_t *
+process_handle_new(void)
+{
+ process_handle_t *out = tor_malloc_zero(sizeof(process_handle_t));
+
+#ifndef _WIN32
+ out->stdout_pipe = -1;
+ out->stderr_pipe = -1;
+#endif
+
+ return out;
+}
+
+/*DOCDOC*/
#define CHILD_STATE_INIT 0
#define CHILD_STATE_PIPE 1
#define CHILD_STATE_MAXFD 2
@@ -3213,14 +3313,16 @@ tor_terminate_process(pid_t pid)
*/
int
tor_spawn_background(const char *const filename, const char **argv,
- const char **envp,
- process_handle_t *process_handle)
+ process_environment_t *env,
+ process_handle_t **process_handle_out)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
HANDLE stdout_pipe_read = NULL;
HANDLE stdout_pipe_write = NULL;
HANDLE stderr_pipe_read = NULL;
HANDLE stderr_pipe_write = NULL;
+ process_handle_t *process_handle;
+ int status;
STARTUPINFO siStartInfo;
BOOL retval = FALSE;
@@ -3228,30 +3330,26 @@ tor_spawn_background(const char *const filename, const char **argv,
SECURITY_ATTRIBUTES saAttr;
char *joined_argv;
- /* process_handle must not be NULL */
- tor_assert(process_handle != NULL);
-
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 */
- memset(process_handle, 0, sizeof(process_handle_t));
- process_handle->status = PROCESS_STATUS_ERROR;
+ 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 process_handle->status;
+ 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 process_handle->status;
+ return status;
}
/* Set up pipe for stderr */
@@ -3259,13 +3357,13 @@ tor_spawn_background(const char *const filename, const char **argv,
log_warn(LD_GENERAL,
"Failed to create pipe for stderr communication with child process: %s",
format_win32_error(GetLastError()));
- return process_handle->status;
+ 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 process_handle->status;
+ return status;
}
/* Create the child process */
@@ -3274,6 +3372,9 @@ tor_spawn_background(const char *const filename, const char **argv,
*/
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);
@@ -3293,7 +3394,7 @@ tor_spawn_background(const char *const filename, const char **argv,
/*(TODO: set CREATE_NEW CONSOLE/PROCESS_GROUP to make GetExitCodeProcess()
* work?) */
0, // creation flags
- NULL, // use parent's environment
+ (env==NULL) ? NULL : env->windows_environment_block,
NULL, // use parent's current directory
&siStartInfo, // STARTUPINFO pointer
&(process_handle->pid)); // receives PROCESS_INFORMATION
@@ -3304,22 +3405,25 @@ tor_spawn_background(const char *const filename, const char **argv,
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->status = PROCESS_STATUS_RUNNING;
+ status = process_handle->status = PROCESS_STATUS_RUNNING;
}
/* TODO: Close pipes on exit */
-
- return process_handle->status;
-#else // MS_WINDOWS
+ *process_handle_out = process_handle;
+ return status;
+#else // _WIN32
pid_t pid;
int stdout_pipe[2];
int stderr_pipe[2];
int fd, retval;
ssize_t nbytes;
+ process_handle_t *process_handle;
+ int status;
const char *error_message = SPAWN_ERROR_MESSAGE;
size_t error_message_length;
@@ -3332,9 +3436,7 @@ tor_spawn_background(const char *const filename, const char **argv,
static int max_fd = -1;
- /* Assume failure to start */
- memset(process_handle, 0, sizeof(process_handle_t));
- process_handle->status = PROCESS_STATUS_ERROR;
+ 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 */
@@ -3348,7 +3450,7 @@ tor_spawn_background(const char *const filename, const char **argv,
log_warn(LD_GENERAL,
"Failed to set up pipe for stdout communication with child process: %s",
strerror(errno));
- return process_handle->status;
+ return status;
}
retval = pipe(stderr_pipe);
@@ -3356,7 +3458,7 @@ tor_spawn_background(const char *const filename, const char **argv,
log_warn(LD_GENERAL,
"Failed to set up pipe for stderr communication with child process: %s",
strerror(errno));
- return process_handle->status;
+ return status;
}
child_state = CHILD_STATE_MAXFD;
@@ -3422,8 +3524,8 @@ tor_spawn_background(const char *const filename, const char **argv,
/* 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 (envp)
- execve(filename, (char *const *) argv, (char*const*)envp);
+ if (env)
+ execve(filename, (char *const *) argv, env->unixoid_environment_block);
else
execvp(filename, (char *const *) argv);
@@ -3446,7 +3548,7 @@ tor_spawn_background(const char *const filename, const char **argv,
_exit(255);
/* Never reached, but avoids compiler warning */
- return process_handle->status;
+ return status;
}
/* In parent */
@@ -3457,9 +3559,11 @@ tor_spawn_background(const char *const filename, const char **argv,
close(stdout_pipe[1]);
close(stderr_pipe[0]);
close(stderr_pipe[1]);
- return process_handle->status;
+ 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 */
@@ -3483,7 +3587,7 @@ tor_spawn_background(const char *const filename, const char **argv,
strerror(errno));
}
- process_handle->status = PROCESS_STATUS_RUNNING;
+ status = process_handle->status = PROCESS_STATUS_RUNNING;
/* Set stdout/stderr pipes to be non-blocking */
fcntl(process_handle->stdout_pipe, F_SETFL, O_NONBLOCK);
fcntl(process_handle->stderr_pipe, F_SETFL, O_NONBLOCK);
@@ -3491,8 +3595,50 @@ tor_spawn_background(const char *const filename, const char **argv,
process_handle->stdout_handle = fdopen(process_handle->stdout_pipe, "r");
process_handle->stderr_handle = fdopen(process_handle->stderr_pipe, "r");
+ *process_handle_out = process_handle;
return process_handle->status;
-#endif // MS_WINDOWS
+#endif // _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. */
+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) {
+ log_notice(LD_GENERAL, "Failed to terminate process with PID '%d'",
+ tor_process_get_pid(process_handle));
+ } 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);
+#else
+ if (process_handle->stdout_handle)
+ fclose(process_handle->stdout_handle);
+
+ if (process_handle->stderr_handle)
+ fclose(process_handle->stderr_handle);
+#endif
+
+ 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
@@ -3506,23 +3652,23 @@ tor_spawn_background(const char *const filename, const char **argv,
* probably not work in Tor, because waitpid() is called in main.c to reap any
* terminated child processes.*/
int
-tor_get_exit_code(const process_handle_t process_handle,
+tor_get_exit_code(const process_handle_t *process_handle,
int block, int *exit_code)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
DWORD retval;
BOOL success;
if (block) {
/* Wait for the process to exit */
- retval = WaitForSingleObject(process_handle.pid.hProcess, INFINITE);
+ 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);
+ retval = WaitForSingleObject(process_handle->pid.hProcess, 0);
if (WAIT_TIMEOUT == retval) {
/* Process has not exited */
return PROCESS_EXIT_RUNNING;
@@ -3534,7 +3680,7 @@ tor_get_exit_code(const process_handle_t process_handle,
}
if (exit_code != NULL) {
- success = GetExitCodeProcess(process_handle.pid.hProcess,
+ success = GetExitCodeProcess(process_handle->pid.hProcess,
(PDWORD)exit_code);
if (!success) {
log_warn(LD_GENERAL, "GetExitCodeProcess() failed: %s",
@@ -3546,30 +3692,188 @@ tor_get_exit_code(const process_handle_t process_handle,
int stat_loc;
int retval;
- retval = waitpid(process_handle.pid, &stat_loc, block?0:WNOHANG);
+ retval = waitpid(process_handle->pid, &stat_loc, block?0:WNOHANG);
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", process_handle.pid,
- strerror(errno));
+ } else if (retval != process_handle->pid) {
+ log_warn(LD_GENERAL, "waitpid() failed for PID %d: %s",
+ process_handle->pid, strerror(errno));
return PROCESS_EXIT_ERROR;
}
if (!WIFEXITED(stat_loc)) {
log_warn(LD_GENERAL, "Process %d did not exit normally",
- process_handle.pid);
+ process_handle->pid);
return PROCESS_EXIT_ERROR;
}
if (exit_code != NULL)
*exit_code = WEXITSTATUS(stat_loc);
-#endif // MS_WINDOWS
+#endif // _WIN32
return PROCESS_EXIT_EXITED;
}
-#ifdef MS_WINDOWS
+/** Return non-zero iff getenv would consider <b>s1</b> and <b>s2</b>
+ * to have the same name as strings in a process's environment. */
+int
+environment_variable_names_equal(const char *s1, const char *s2)
+{
+ size_t s1_name_len = strcspn(s1, "=");
+ size_t s2_name_len = strcspn(s2, "=");
+
+ return (s1_name_len == s2_name_len &&
+ tor_memeq(s1, s2, s1_name_len));
+}
+
+/** Free <b>env</b> (assuming it was produced by
+ * process_environment_make). */
+void
+process_environment_free(process_environment_t *env)
+{
+ if (env == NULL) return;
+
+ /* As both an optimization hack to reduce consing on Unixoid systems
+ * and a nice way to ensure that some otherwise-Windows-specific
+ * code will always get tested before changes to it get merged, the
+ * strings which env->unixoid_environment_block points to are packed
+ * into env->windows_environment_block. */
+ tor_free(env->unixoid_environment_block);
+ tor_free(env->windows_environment_block);
+
+ tor_free(env);
+}
+
+/** Make a process_environment_t containing the environment variables
+ * specified in <b>env_vars</b> (as C strings of the form
+ * "NAME=VALUE"). */
+process_environment_t *
+process_environment_make(struct smartlist_t *env_vars)
+{
+ process_environment_t *env = tor_malloc_zero(sizeof(process_environment_t));
+ size_t n_env_vars = smartlist_len(env_vars);
+ size_t i;
+ size_t total_env_length;
+ smartlist_t *env_vars_sorted;
+
+ tor_assert(n_env_vars + 1 != 0);
+ env->unixoid_environment_block = tor_calloc(n_env_vars + 1, sizeof(char *));
+ /* env->unixoid_environment_block is already NULL-terminated,
+ * because we assume that NULL == 0 (and check that during compilation). */
+
+ total_env_length = 1; /* terminating NUL of terminating empty string */
+ for (i = 0; i < n_env_vars; ++i) {
+ const char *s = smartlist_get(env_vars, i);
+ size_t slen = strlen(s);
+
+ tor_assert(slen + 1 != 0);
+ tor_assert(slen + 1 < SIZE_MAX - total_env_length);
+ total_env_length += slen + 1;
+ }
+
+ env->windows_environment_block = tor_malloc_zero(total_env_length);
+ /* env->windows_environment_block is already
+ * (NUL-terminated-empty-string)-terminated. */
+
+ /* Some versions of Windows supposedly require that environment
+ * blocks be sorted. Or maybe some Windows programs (or their
+ * runtime libraries) fail to look up strings in non-sorted
+ * environment blocks.
+ *
+ * Also, sorting strings makes it easy to find duplicate environment
+ * variables and environment-variable strings without an '=' on all
+ * OSes, and they can cause badness. Let's complain about those. */
+ env_vars_sorted = smartlist_new();
+ smartlist_add_all(env_vars_sorted, env_vars);
+ smartlist_sort_strings(env_vars_sorted);
+
+ /* Now copy the strings into the environment blocks. */
+ {
+ char *cp = env->windows_environment_block;
+ const char *prev_env_var = NULL;
+
+ for (i = 0; i < n_env_vars; ++i) {
+ const char *s = smartlist_get(env_vars_sorted, i);
+ size_t slen = strlen(s);
+ size_t s_name_len = strcspn(s, "=");
+
+ if (s_name_len == slen) {
+ log_warn(LD_GENERAL,
+ "Preparing an environment containing a variable "
+ "without a value: %s",
+ s);
+ }
+ if (prev_env_var != NULL &&
+ environment_variable_names_equal(s, prev_env_var)) {
+ log_warn(LD_GENERAL,
+ "Preparing an environment containing two variables "
+ "with the same name: %s and %s",
+ prev_env_var, s);
+ }
+
+ prev_env_var = s;
+
+ /* Actually copy the string into the environment. */
+ memcpy(cp, s, slen+1);
+ env->unixoid_environment_block[i] = cp;
+ cp += slen+1;
+ }
+
+ tor_assert(cp == env->windows_environment_block + total_env_length - 1);
+ }
+
+ smartlist_free(env_vars_sorted);
+
+ return env;
+}
+
+/** Return a newly allocated smartlist containing every variable in
+ * this process's environment, as a NUL-terminated string of the form
+ * "NAME=VALUE". Note that on some/many/most/all OSes, the parent
+ * process can put strings not of that form in our environment;
+ * callers should try to not get crashed by that.
+ *
+ * The returned strings are heap-allocated, and must be freed by the
+ * caller. */
+struct smartlist_t *
+get_current_process_environment_variables(void)
+{
+ smartlist_t *sl = smartlist_new();
+
+ char **environ_tmp; /* Not const char ** ? Really? */
+ for (environ_tmp = get_environment(); *environ_tmp; ++environ_tmp) {
+ smartlist_add(sl, tor_strdup(*environ_tmp));
+ }
+
+ return sl;
+}
+
+/** For each string s in <b>env_vars</b> such that
+ * environment_variable_names_equal(s, <b>new_var</b>), remove it; if
+ * <b>free_p</b> is non-zero, call <b>free_old</b>(s). If
+ * <b>new_var</b> contains '=', insert it into <b>env_vars</b>. */
+void
+set_environment_variable_in_smartlist(struct smartlist_t *env_vars,
+ const char *new_var,
+ void (*free_old)(void*),
+ int free_p)
+{
+ SMARTLIST_FOREACH_BEGIN(env_vars, const char *, s) {
+ if (environment_variable_names_equal(s, new_var)) {
+ SMARTLIST_DEL_CURRENT(env_vars, s);
+ if (free_p) {
+ free_old((void *)s);
+ }
+ }
+ } SMARTLIST_FOREACH_END(s);
+
+ if (strchr(new_var, '=') != NULL) {
+ smartlist_add(env_vars, (void *)new_var);
+ }
+}
+
+#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
@@ -3660,7 +3964,6 @@ tor_read_all_handle(FILE *h, char *buf, size_t count,
if (NULL == retval) {
if (feof(h)) {
log_debug(LD_GENERAL, "fgets() reached end of file");
- fclose(h);
if (eof)
*eof = 1;
break;
@@ -3673,7 +3976,6 @@ tor_read_all_handle(FILE *h, char *buf, size_t count,
} else {
log_warn(LD_GENERAL, "fgets() from handle failed: %s",
strerror(errno));
- fclose(h);
return -1;
}
}
@@ -3693,7 +3995,7 @@ ssize_t
tor_read_all_from_process_stdout(const process_handle_t *process_handle,
char *buf, size_t count)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
return tor_read_all_handle(process_handle->stdout_pipe, buf, count,
process_handle);
#else
@@ -3707,7 +4009,7 @@ ssize_t
tor_read_all_from_process_stderr(const process_handle_t *process_handle,
char *buf, size_t count)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
return tor_read_all_handle(process_handle->stderr_pipe, buf, count,
process_handle);
#else
@@ -3769,7 +4071,7 @@ tor_split_lines(smartlist_t *sl, char *buf, int len)
return smartlist_len(sl);
}
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/** Read from stream, and send lines to log at the specified log level.
* Returns -1 if there is a error reading, and 0 otherwise.
* If the generated stream is flushed more often than on new lines, or
@@ -3802,7 +4104,7 @@ log_from_handle(HANDLE *pipe, int severity)
log_debug(LD_GENERAL, "Subprocess had %d bytes to say", pos);
/* Split up the buffer */
- lines = smartlist_create();
+ lines = smartlist_new();
tor_split_lines(lines, buf, pos);
/* Log each line */
@@ -3833,12 +4135,10 @@ log_from_pipe(FILE *stream, int severity, const char *executable,
r = get_string_from_pipe(stream, buf, sizeof(buf) - 1);
if (r == IO_STREAM_CLOSED) {
- fclose(stream);
return 1;
} else if (r == IO_STREAM_EAGAIN) {
return 0;
} else if (r == IO_STREAM_TERM) {
- fclose(stream);
return -1;
}
@@ -3946,7 +4246,7 @@ tor_check_port_forwarding(const char *filename, int dir_port, int or_port,
/* Static variables are initialized to zero, so child_handle.status=0
* which corresponds to it not running on startup */
- static process_handle_t child_handle;
+ static process_handle_t *child_handle=NULL;
static time_t time_to_run_helper = 0;
int stdout_status, stderr_status, retval;
@@ -3972,46 +4272,50 @@ tor_check_port_forwarding(const char *filename, int dir_port, int or_port,
argv[9] = NULL;
/* Start the child, if it is not already running */
- if (child_handle.status != PROCESS_STATUS_RUNNING &&
+ if ((!child_handle || child_handle->status != PROCESS_STATUS_RUNNING) &&
time_to_run_helper < now) {
+ int status;
+
/* Assume tor-fw-helper will succeed, start it later*/
time_to_run_helper = now + TIME_TO_EXEC_FWHELPER_SUCCESS;
-#ifdef MS_WINDOWS
+ if (child_handle) {
+ tor_process_handle_destroy(child_handle, 1);
+ child_handle = NULL;
+ }
+
+#ifdef _WIN32
/* Passing NULL as lpApplicationName makes Windows search for the .exe */
- tor_spawn_background(NULL, argv, NULL, &child_handle);
+ status = tor_spawn_background(NULL, argv, NULL, &child_handle);
#else
- tor_spawn_background(filename, argv, NULL, &child_handle);
+ status = tor_spawn_background(filename, argv, NULL, &child_handle);
#endif
- if (PROCESS_STATUS_ERROR == child_handle.status) {
+
+ if (PROCESS_STATUS_ERROR == status) {
log_warn(LD_GENERAL, "Failed to start port forwarding helper %s",
filename);
time_to_run_helper = now + TIME_TO_EXEC_FWHELPER_FAIL;
return;
}
-#ifdef MS_WINDOWS
- log_info(LD_GENERAL,
- "Started port forwarding helper (%s)", filename);
-#else
+
log_info(LD_GENERAL,
- "Started port forwarding helper (%s) with pid %d", filename,
- child_handle.pid);
-#endif
+ "Started port forwarding helper (%s) with pid '%d'",
+ filename, tor_process_get_pid(child_handle));
}
/* If child is running, read from its stdout and stderr) */
- if (PROCESS_STATUS_RUNNING == child_handle.status) {
+ if (child_handle && PROCESS_STATUS_RUNNING == child_handle->status) {
/* Read from stdout/stderr and log result */
retval = 0;
-#ifdef MS_WINDOWS
- stdout_status = log_from_handle(child_handle.stdout_pipe, LOG_INFO);
- stderr_status = log_from_handle(child_handle.stderr_pipe, LOG_WARN);
+#ifdef _WIN32
+ stdout_status = log_from_handle(child_handle->stdout_pipe, LOG_INFO);
+ stderr_status = log_from_handle(child_handle->stderr_pipe, LOG_WARN);
/* If we got this far (on Windows), the process started */
retval = 0;
#else
- stdout_status = log_from_pipe(child_handle.stdout_handle,
+ stdout_status = log_from_pipe(child_handle->stdout_handle,
LOG_INFO, filename, &retval);
- stderr_status = log_from_pipe(child_handle.stderr_handle,
+ stderr_status = log_from_pipe(child_handle->stderr_handle,
LOG_WARN, filename, &retval);
#endif
if (retval) {
@@ -4023,8 +4327,8 @@ tor_check_port_forwarding(const char *filename, int dir_port, int or_port,
if (-1 == stdout_status || -1 == stderr_status)
/* There was a failure */
retval = -1;
-#ifdef MS_WINDOWS
- else if (tor_get_exit_code(child_handle, 0, NULL) !=
+#ifdef _WIN32
+ else if (!child_handle || tor_get_exit_code(child_handle, 0, NULL) !=
PROCESS_EXIT_RUNNING) {
/* process has exited or there was an error */
/* TODO: Do something with the process return value */
@@ -4047,10 +4351,10 @@ tor_check_port_forwarding(const char *filename, int dir_port, int or_port,
if (0 != retval) {
if (1 == retval) {
log_info(LD_GENERAL, "Port forwarding helper terminated");
- child_handle.status = PROCESS_STATUS_NOTRUNNING;
+ child_handle->status = PROCESS_STATUS_NOTRUNNING;
} else {
log_warn(LD_GENERAL, "Failed to read from port forwarding helper");
- child_handle.status = PROCESS_STATUS_ERROR;
+ child_handle->status = PROCESS_STATUS_ERROR;
}
/* TODO: The child might not actually be finished (maybe it failed or
diff --git a/src/common/util.h b/src/common/util.h
index 77ed1ca5e..567efaafe 100644
--- a/src/common/util.h
+++ b/src/common/util.h
@@ -73,6 +73,7 @@
void *_tor_malloc(size_t size DMALLOC_PARAMS) ATTR_MALLOC;
void *_tor_malloc_zero(size_t size DMALLOC_PARAMS) ATTR_MALLOC;
void *_tor_malloc_roundup(size_t *size DMALLOC_PARAMS) ATTR_MALLOC;
+void *_tor_calloc(size_t nmemb, size_t size DMALLOC_PARAMS) ATTR_MALLOC;
void *_tor_realloc(void *ptr, size_t size DMALLOC_PARAMS);
char *_tor_strdup(const char *s DMALLOC_PARAMS) ATTR_MALLOC ATTR_NONNULL((1));
char *_tor_strndup(const char *s, size_t n DMALLOC_PARAMS)
@@ -107,6 +108,7 @@ extern int dmalloc_free(const char *file, const int line, void *pnt,
#define tor_malloc(size) _tor_malloc(size DMALLOC_ARGS)
#define tor_malloc_zero(size) _tor_malloc_zero(size DMALLOC_ARGS)
+#define tor_calloc(nmemb,size) _tor_calloc(nmemb, size DMALLOC_ARGS)
#define tor_malloc_roundup(szp) _tor_malloc_roundup(szp DMALLOC_ARGS)
#define tor_realloc(ptr, size) _tor_realloc(ptr, size DMALLOC_ARGS)
#define tor_strdup(s) _tor_strdup(s DMALLOC_ARGS)
@@ -173,19 +175,15 @@ int n_bits_set_u8(uint8_t v);
#define HEX_CHARACTERS "0123456789ABCDEFabcdef"
void tor_strlower(char *s) ATTR_NONNULL((1));
void tor_strupper(char *s) ATTR_NONNULL((1));
-int tor_strisprint(const char *s) ATTR_PURE ATTR_NONNULL((1));
-int tor_strisnonupper(const char *s) ATTR_PURE ATTR_NONNULL((1));
-int strcmp_opt(const char *s1, const char *s2) ATTR_PURE;
-int strcmpstart(const char *s1, const char *s2) ATTR_PURE ATTR_NONNULL((1,2));
-int strcmp_len(const char *s1, const char *s2, size_t len)
- ATTR_PURE ATTR_NONNULL((1,2));
-int strcasecmpstart(const char *s1, const char *s2)
- ATTR_PURE ATTR_NONNULL((1,2));
-int strcmpend(const char *s1, const char *s2) ATTR_PURE ATTR_NONNULL((1,2));
-int strcasecmpend(const char *s1, const char *s2)
- ATTR_PURE ATTR_NONNULL((1,2));
-int fast_memcmpstart(const void *mem, size_t memlen,
- const char *prefix) ATTR_PURE;
+int tor_strisprint(const char *s) ATTR_NONNULL((1));
+int tor_strisnonupper(const char *s) ATTR_NONNULL((1));
+int strcmp_opt(const char *s1, const char *s2);
+int strcmpstart(const char *s1, const char *s2) ATTR_NONNULL((1,2));
+int strcmp_len(const char *s1, const char *s2, size_t len) ATTR_NONNULL((1,2));
+int strcasecmpstart(const char *s1, const char *s2) ATTR_NONNULL((1,2));
+int strcmpend(const char *s1, const char *s2) ATTR_NONNULL((1,2));
+int strcasecmpend(const char *s1, const char *s2) ATTR_NONNULL((1,2));
+int fast_memcmpstart(const void *mem, size_t memlen, const char *prefix);
void tor_strstrip(char *s, const char *strip) ATTR_NONNULL((1,2));
long tor_parse_long(const char *s, int base, long min,
@@ -197,19 +195,19 @@ double tor_parse_double(const char *s, double min, double max, int *ok,
uint64_t tor_parse_uint64(const char *s, int base, uint64_t min,
uint64_t max, int *ok, char **next);
const char *hex_str(const char *from, size_t fromlen) ATTR_NONNULL((1));
-const char *eat_whitespace(const char *s) ATTR_PURE;
-const char *eat_whitespace_eos(const char *s, const char *eos) ATTR_PURE;
-const char *eat_whitespace_no_nl(const char *s) ATTR_PURE;
-const char *eat_whitespace_eos_no_nl(const char *s, const char *eos) ATTR_PURE;
-const char *find_whitespace(const char *s) ATTR_PURE;
-const char *find_whitespace_eos(const char *s, const char *eos) ATTR_PURE;
-const char *find_str_at_start_of_line(const char *haystack, const char *needle)
- ATTR_PURE;
+const char *eat_whitespace(const char *s);
+const char *eat_whitespace_eos(const char *s, const char *eos);
+const char *eat_whitespace_no_nl(const char *s);
+const char *eat_whitespace_eos_no_nl(const char *s, const char *eos);
+const char *find_whitespace(const char *s);
+const char *find_whitespace_eos(const char *s, const char *eos);
+const char *find_str_at_start_of_line(const char *haystack,
+ const char *needle);
int string_is_C_identifier(const char *string);
-int tor_mem_is_zero(const char *mem, size_t len) ATTR_PURE;
-int tor_digest_is_zero(const char *digest) ATTR_PURE;
-int tor_digest256_is_zero(const char *digest) ATTR_PURE;
+int tor_mem_is_zero(const char *mem, size_t len);
+int tor_digest_is_zero(const char *digest);
+int tor_digest256_is_zero(const char *digest);
char *esc_for_log(const char *string) ATTR_MALLOC;
const char *escaped(const char *string);
struct smartlist_t;
@@ -222,9 +220,9 @@ int tor_sscanf(const char *buf, const char *pattern, ...)
#endif
;
-void smartlist_asprintf_add(struct smartlist_t *sl, const char *pattern, ...)
+void smartlist_add_asprintf(struct smartlist_t *sl, const char *pattern, ...)
CHECK_PRINTF(2, 3);
-void smartlist_vasprintf_add(struct smartlist_t *sl, const char *pattern,
+void smartlist_add_vasprintf(struct smartlist_t *sl, const char *pattern,
va_list args);
int hex_decode_digit(char c);
@@ -242,8 +240,11 @@ time_t tor_timegm(struct tm *tm);
void format_rfc1123_time(char *buf, time_t t);
int parse_rfc1123_time(const char *buf, time_t *t);
#define ISO_TIME_LEN 19
+#define ISO_TIME_USEC_LEN (ISO_TIME_LEN+7)
void format_local_iso_time(char *buf, time_t t);
void format_iso_time(char *buf, time_t t);
+void format_iso_time_nospace(char *buf, time_t t);
+void format_iso_time_nospace_usec(char *buf, const struct timeval *tv);
int parse_iso_time(const char *buf, time_t *t);
int parse_http_time(const char *buf, struct tm *tm);
int format_time_interval(char *out, size_t out_len, long interval);
@@ -315,6 +316,7 @@ int check_private_dir(const char *dirname, cpd_check_t check,
const char *effective_user);
#define OPEN_FLAGS_REPLACE (O_WRONLY|O_CREAT|O_TRUNC)
#define OPEN_FLAGS_APPEND (O_WRONLY|O_CREAT|O_APPEND)
+#define OPEN_FLAGS_DONT_REPLACE (O_CREAT|O_EXCL|O_APPEND|O_WRONLY)
typedef struct open_file_t open_file_t;
int start_writing_to_file(const char *fname, int open_flags, int mode,
open_file_t **data_out);
@@ -336,6 +338,8 @@ int write_chunks_to_file(const char *fname, const struct smartlist_t *chunks,
int bin);
int append_bytes_to_file(const char *fname, const char *str, size_t len,
int bin);
+int write_bytes_to_new_file(const char *fname, const char *str, size_t len,
+ int bin);
/** Flag for read_file_to_str: open the file in binary mode. */
#define RFTS_BIN 1
@@ -349,7 +353,7 @@ const char *parse_config_line_from_str(const char *line,
char **key_out, char **value_out);
char *expand_filename(const char *filename);
struct smartlist_t *tor_listdir(const char *dirname);
-int path_is_relative(const char *filename) ATTR_PURE;
+int path_is_relative(const char *filename);
/* Process helpers */
void start_daemon(void);
@@ -360,19 +364,38 @@ void write_pidfile(char *filename);
void tor_check_port_forwarding(const char *filename,
int dir_port, int or_port, time_t now);
-int tor_terminate_process(pid_t pid);
-typedef struct process_handle_s process_handle_t;
+typedef struct process_handle_t process_handle_t;
+typedef struct process_environment_t process_environment_t;
int tor_spawn_background(const char *const filename, const char **argv,
- const char **envp, process_handle_t *process_handle);
+ process_environment_t *env,
+ process_handle_t **process_handle_out);
#define SPAWN_ERROR_MESSAGE "ERR: Failed to spawn background process - code "
-#ifdef MS_WINDOWS
+#ifdef _WIN32
HANDLE load_windows_system_library(const TCHAR *library_name);
#endif
-#ifdef UTIL_PRIVATE
-/* Prototypes for private functions only used by util.c (and unit tests) */
+int environment_variable_names_equal(const char *s1, const char *s2);
+
+struct process_environment_t {
+ /** A pointer to a sorted empty-string-terminated sequence of
+ * NUL-terminated strings of the form "NAME=VALUE". */
+ char *windows_environment_block;
+ /** A pointer to a NULL-terminated array of pointers to
+ * NUL-terminated strings of the form "NAME=VALUE". */
+ char **unixoid_environment_block;
+};
+
+process_environment_t *process_environment_make(struct smartlist_t *env_vars);
+void process_environment_free(process_environment_t *env);
+
+struct smartlist_t *get_current_process_environment_variables(void);
+
+void set_environment_variable_in_smartlist(struct smartlist_t *env_vars,
+ const char *new_var,
+ void (*free_old)(void*),
+ int free_p);
/* Values of process_handle_t.status. PROCESS_STATUS_NOTRUNNING must be
* 0 because tor_check_port_forwarding depends on this being the initial
@@ -380,9 +403,12 @@ HANDLE load_windows_system_library(const TCHAR *library_name);
#define PROCESS_STATUS_NOTRUNNING 0
#define PROCESS_STATUS_RUNNING 1
#define PROCESS_STATUS_ERROR -1
-struct process_handle_s {
+
+#ifdef UTIL_PRIVATE
+/*DOCDOC*/
+struct process_handle_t {
int status;
-#ifdef MS_WINDOWS
+#ifdef _WIN32
HANDLE stdout_pipe;
HANDLE stderr_pipe;
PROCESS_INFORMATION pid;
@@ -392,17 +418,18 @@ struct process_handle_s {
FILE *stdout_handle;
FILE *stderr_handle;
pid_t pid;
-#endif // MS_WINDOWS
+#endif // _WIN32
};
+#endif
/* 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(const process_handle_t process_handle,
+int tor_get_exit_code(const process_handle_t *process_handle,
int block, int *exit_code);
int tor_split_lines(struct smartlist_t *sl, char *buf, int len);
-#ifdef MS_WINDOWS
+#ifdef _WIN32
ssize_t tor_read_all_handle(HANDLE h, char *buf, size_t count,
const process_handle_t *process);
#else
@@ -416,6 +443,20 @@ 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
+FILE *tor_process_get_stdout_pipe(process_handle_t *process_handle);
+#endif
+
+int tor_terminate_process(process_handle_t *process_handle);
+void tor_process_handle_destroy(process_handle_t *process_handle,
+ int also_terminate_process);
+
+#ifdef UTIL_PRIVATE
+/* Prototypes for private functions only used by util.c (and unit tests) */
+
void format_helper_exit_status(unsigned char child_state,
int saved_errno, char *hex_errno);
diff --git a/src/config/geoip b/src/config/geoip
index 70ad68f1a..a1030ed03 100644
--- a/src/config/geoip
+++ b/src/config/geoip
@@ -1,4 +1,4 @@
-# Last updated based on October 4 2011 Maxmind GeoLite Country
+# Last updated based on March 6 2012 Maxmind GeoLite Country
# wget http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip
# cut -d, -f3-5 < GeoIPCountryWhois.csv|sed 's/"//g' > geoip
16777216,16777471,AU
@@ -131,7 +131,8 @@
35001344,35002367,FR
35002368,35008511,EU
35008512,35009023,FR
-35009024,35010559,EU
+35009024,35010303,EU
+35010304,35010559,BE
35010560,35011583,FR
35011584,35020799,EU
35020800,35037183,GB
@@ -158,9 +159,7 @@
37265408,37268479,CZ
37268480,37289983,UA
37289984,37298175,RU
-37298176,37355519,UA
-37355520,37421055,RU
-37421056,37486591,UA
+37298176,37486591,UA
37486592,37748735,RU
37748736,38273023,SE
38273024,38797311,KZ
@@ -218,7 +217,6 @@
72348928,72349055,US
72349056,72349119,BM
72349120,83886079,US
-83886080,88080383,EU
100663296,121195295,US
121195296,121195327,IT
121195328,134693119,US
@@ -231,14 +229,10 @@
135603200,135604223,CA
135604224,135606783,US
135606784,135607039,CA
-135607040,135847935,US
-135847936,135851263,CA
-135851264,152305663,US
+135607040,152305663,US
152305664,152338431,GB
152338432,167772159,US
-184549376,201405503,US
-201405504,201405511,PR
-201405512,201620303,US
+184549376,201620303,US
201620304,201620311,CA
201620312,201636503,US
201636504,201636511,PR
@@ -246,21 +240,15 @@
201673768,201673775,CA
201673776,201674095,US
201674096,201674111,CA
-201674112,201745663,US
-201745664,201745671,PR
-201745672,201859071,US
+201674112,201859071,US
201859072,201859087,VI
201859088,201897983,US
201897984,201898239,PR
-201898240,202276999,US
-202277000,202277015,PR
-202277016,202296847,US
+201898240,202296847,US
202296848,202296855,PR
202296856,202385407,US
202385408,202385919,PR
-202385920,202517983,US
-202517984,202517991,PR
-202517992,202621431,US
+202385920,202621431,US
202621432,202621439,PR
202621440,202621479,US
202621480,202621487,PR
@@ -274,110 +262,65 @@
202696784,202696791,PR
202696792,202706431,US
202706432,202706943,PR
-202706944,202713343,US
-202713344,202713351,PR
-202713352,202748735,US
-202748736,202748743,PR
-202748744,202783159,US
-202783160,202783167,PR
-202783168,202934671,US
+202706944,202934671,US
202934672,202934687,VI
202934688,202935551,US
202935552,202935807,PR
202935808,202938479,US
202938480,202938495,VI
-202938496,202960079,US
-202960080,202960095,PR
-202960096,202998063,US
-202998064,202998071,PR
-202998072,203197063,US
+202938496,203197063,US
203197064,203197071,CA
-203197072,203412087,US
-203412088,203412095,PR
-203412096,203500119,US
-203500120,203500127,PR
-203500128,203625391,US
+203197072,203625391,US
203625392,203625399,PR
-203625400,203654743,US
-203654744,203654751,PR
-203654752,203658271,US
-203658272,203658287,PR
-203658288,203658303,VI
-203658304,203658383,PR
-203658384,203658399,US
-203658400,203658415,PR
+203625400,203658303,US
+203658304,203658367,PR
+203658368,203658415,US
203658416,203658423,VI
-203658424,203658479,US
-203658480,203658751,PR
-203658752,203658831,VI
-203658832,203658847,US
-203658848,203658911,PR
-203658912,203658935,VI
-203658936,203658951,PR
+203658424,203658463,US
+203658464,203658471,VI
+203658472,203658783,US
+203658784,203658831,VI
+203658832,203658927,US
+203658928,203658935,VI
+203658936,203658943,US
+203658944,203658951,PR
203658952,203658967,US
203658968,203658991,VI
-203658992,203659007,PR
-203659008,203659039,US
+203658992,203659039,US
203659040,203659095,VI
-203659096,203659103,US
-203659104,203659263,PR
-203659264,203696487,US
-203696488,203696495,PR
-203696496,203747823,US
-203747824,203747831,PR
-203747832,203799607,US
-203799608,203799615,PR
-203799616,203805087,US
-203805088,203805095,PR
-203805096,203850679,US
+203659096,203850679,US
203850680,203850687,CA
-203850688,204046335,US
-204046336,204047103,PR
-204047104,204047119,VI
-204047120,204047231,PR
+203850688,204047103,US
+204047104,204047111,VI
+204047112,204047231,US
204047232,204047247,VI
204047248,204047255,US
204047256,204047263,VI
-204047264,204047279,US
-204047280,204047295,VI
-204047296,204047303,US
-204047304,204047311,PR
+204047264,204047311,US
204047312,204047335,VI
-204047336,204047359,US
-204047360,204047375,PR
-204047376,204047391,US
-204047392,204047423,PR
-204047424,204047431,US
+204047336,204047431,US
204047432,204047455,VI
-204047456,204047463,PR
-204047464,204047479,VI
-204047480,204047487,PR
+204047456,204047463,US
+204047464,204047471,VI
+204047472,204047487,US
204047488,204047535,VI
-204047536,204047551,PR
+204047536,204047543,PR
+204047544,204047551,US
204047552,204047559,VI
204047560,204047567,PR
204047568,204047591,VI
-204047592,204048007,PR
-204048008,204048015,US
+204047592,204047615,PR
+204047616,204048015,US
204048016,204048031,VI
204048032,204048047,PR
204048048,204048055,VI
204048056,204048063,US
204048064,204048127,VI
-204048128,204048383,PR
-204048384,204089327,US
-204089328,204089335,PR
-204089336,204126151,US
+204048128,204126151,US
204126152,204126159,PR
204126160,204152831,US
204152832,204153855,PR
-204153856,204409943,US
-204409944,204409951,PR
-204409952,204443703,US
-204443704,204443711,PR
-204443712,204443735,US
-204443736,204443743,PR
-204443744,204509375,US
+204153856,204509375,US
204509376,204509383,PR
204509384,205500987,US
205500988,205500991,CA
@@ -387,11 +330,7 @@
205953312,205953319,PR
205953320,205953327,US
205953328,205953351,PR
-205953352,208290127,US
-208290128,208290135,PR
-208290136,208472175,US
-208472176,208472183,PR
-208472184,209831679,US
+205953352,209831679,US
209831680,209831711,DE
209831712,209845143,US
209845144,209845151,DE
@@ -405,31 +344,13 @@
210439560,210439567,PR
210439568,210458623,US
210458624,210458631,PR
-210458632,210785023,US
-210785024,210785575,BO
-210785576,210785583,US
-210785584,210785599,BO
-210785600,210785663,US
-210785664,210786303,BO
-210786304,210970847,US
-210970848,210970855,PR
-210970856,211051199,US
-211051200,211051207,PR
-211051208,211126783,US
-211126784,211126911,PR
-211126912,211129607,US
-211129608,211129615,PR
-211129616,211363751,US
-211363752,211363759,PR
-211363760,211368655,US
-211368656,211368663,PR
-211368664,211410031,US
+210458632,210785791,US
+210785792,210786303,BO
+210786304,211410031,US
211410032,211410039,PR
211410040,211410119,US
211410120,211410135,PR
-211410136,211536367,US
-211536368,211536375,PR
-211536376,211596823,US
+211410136,211596823,US
211596824,211596831,VI
211596832,211597055,US
211597056,211597071,VI
@@ -446,125 +367,82 @@
211598640,211598655,VI
211598656,211654127,US
211654128,211654135,PR
-211654136,211685151,US
-211685152,211685159,PR
-211685160,211739175,US
-211739176,211739183,PR
-211739184,211748207,US
-211748208,211748223,PR
-211748224,211793423,US
-211793424,211793431,PR
-211793432,211816087,US
-211816088,211816095,PR
-211816096,211953287,US
-211953288,211953295,PR
-211953296,212105495,US
+211654136,212105495,US
212105496,212105503,VI
-212105504,212107575,US
-212107576,212107583,PR
-212107584,212119767,US
+212105504,212119767,US
212119768,212119775,PR
212119776,212122039,US
212122040,212122047,PR
-212122048,212161487,US
-212161488,212161511,VI
-212161512,212161559,US
-212161560,212161567,VI
-212161568,212161575,US
-212161576,212161583,VI
-212161584,212417791,US
-212417792,212417799,PR
-212417800,212517199,US
-212517200,212517215,VI
-212517216,212520815,US
-212520816,212520831,VI
-212520832,212733527,US
+212122048,212733527,US
212733528,212733535,PR
212733536,212787199,US
212787200,212788223,PR
212788224,212788479,US
212788480,212788607,VI
-212788608,212788615,US
-212788616,212788623,VI
-212788624,212788631,US
+212788608,212788631,US
212788632,212788647,VI
-212788648,212788655,PR
+212788648,212788655,US
212788656,212788663,VI
-212788664,212788671,US
-212788672,212788799,PR
-212788800,212788807,US
+212788664,212788807,US
212788808,212788815,VI
-212788816,212788823,PR
-212788824,212788847,US
+212788816,212788847,US
212788848,212788863,VI
-212788864,212789007,PR
-212789008,212789039,US
-212789040,212789079,VI
+212788864,212788991,PR
+212788992,212789039,US
+212789040,212789055,VI
+212789056,212789063,US
+212789064,212789079,VI
212789080,212789087,US
212789088,212789095,VI
-212789096,212789119,US
-212789120,212789127,VI
-212789128,212789135,US
-212789136,212789143,PR
+212789096,212789143,US
212789144,212789151,VI
-212789152,212789159,PR
-212789160,212789167,US
-212789168,212789191,PR
-212789192,212789199,US
-212789200,212789223,VI
-212789224,212789231,US
-212789232,212789247,VI
-212789248,212791295,US
+212789152,212789175,US
+212789176,212789183,VI
+212789184,212789191,PR
+212789192,212789215,US
+212789216,212789223,VI
+212789224,212791295,US
212791296,212791447,VI
212791448,212791455,US
212791456,212791479,VI
212791480,212791807,PR
212791808,212791815,US
-212791816,212791839,VI
-212791840,212791935,US
+212791816,212791871,VI
+212791872,212791935,US
212791936,212792063,VI
212792064,212792191,US
212792192,212792199,PR
-212792200,212792207,VI
-212792208,212792215,PR
-212792216,212792231,VI
-212792232,212792239,US
-212792240,212792247,PR
-212792248,212792271,US
+212792200,212792215,VI
+212792216,212792223,US
+212792224,212792231,VI
+212792232,212792271,US
212792272,212792279,VI
212792280,212792287,US
212792288,212792319,PR
-212792320,212793103,US
-212793104,212793111,PR
-212793112,212793119,US
+212792320,212793119,US
212793120,212793127,VI
-212793128,212793143,PR
-212793144,212793199,US
+212793128,212793135,PR
+212793136,212793199,US
212793200,212793207,VI
212793208,212793215,PR
212793216,212793311,US
212793312,212793327,PR
212793328,212793343,US
212793344,212794367,VI
-212794368,212794559,PR
-212794560,212794567,US
-212794568,212794583,VI
-212794584,212794599,US
-212794600,212794783,PR
+212794368,212794575,US
+212794576,212794583,VI
+212794584,212794783,US
212794784,212794791,VI
212794792,212794799,US
-212794800,212794831,VI
-212794832,212794879,US
+212794800,212794815,VI
+212794816,212794879,US
212794880,212794887,VI
212794888,212794895,US
212794896,212794911,VI
212794912,212794943,PR
-212794944,212794959,US
-212794960,212794983,VI
-212794984,212794991,US
-212794992,212795007,VI
-212795008,212795135,PR
-212795136,212822199,US
+212794944,212794999,US
+212795000,212795007,VI
+212795008,212822199,US
212822200,212822215,PR
212822216,212838527,US
212838528,212838535,PR
@@ -572,21 +450,11 @@
212890776,212890783,PR
212890784,212900583,US
212900584,212900591,PR
-212900592,212954927,US
-212954928,212954935,PR
-212954936,212955087,US
-212955088,212955095,PR
-212955096,212977063,US
+212900592,212977063,US
212977064,212977071,PR
-212977072,213100183,US
-213100184,213100191,PR
-213100192,213135351,US
-213135352,213135359,PR
-213135360,213162607,US
+212977072,213162607,US
213162608,213162615,PR
-213162616,213268431,US
-213268432,213268439,PR
-213268440,213498031,US
+213162616,213498031,US
213498032,213498039,PR
213498040,213575847,US
213575848,213575855,PR
@@ -596,20 +464,11 @@
213608912,213608919,PR
213608920,213608927,US
213608928,213608951,PR
-213608952,213779847,US
-213779848,213779855,PR
-213779856,213809159,US
-213809160,213809167,PR
-213809168,213895679,US
+213608952,213895679,US
213895680,213895743,VI
-213895744,213896799,US
-213896800,213896831,VI
-213896832,213923839,US
+213895744,213923839,US
213923840,213924863,PR
-213924864,213925007,US
-213925008,213925023,PR
-213925024,213925055,VI
-213925056,213925631,US
+213924864,213925631,US
213925632,213925887,PR
213925888,213936791,US
213936792,213936799,PR
@@ -617,23 +476,15 @@
213936872,213936879,PR
213936880,213936895,US
213936896,213936903,PR
-213936904,214184959,US
-214184960,214185151,PR
-214185152,214185183,VI
-214185184,214185199,US
-214185200,214185471,PR
-214185472,214185983,US
+213936904,214185983,US
214185984,214187007,PR
214187008,214187775,VI
214187776,214187807,US
214187808,214187815,PR
-214187816,214187823,US
-214187824,214187831,PR
-214187832,214187839,US
-214187840,214187855,PR
-214187856,214187887,US
-214187888,214187903,PR
-214187904,214188031,VI
+214187816,214187903,US
+214187904,214187935,VI
+214187936,214187999,US
+214188000,214188031,VI
214188032,214237247,US
214237248,214237311,PR
214237312,214249471,US
@@ -657,14 +508,13 @@
214698272,214698279,US
214698280,214698319,VI
214698320,214698335,PR
-214698336,214698351,US
-214698352,214698359,VI
+214698336,214698359,US
214698360,214698367,PR
214698368,214698383,US
214698384,214698639,PR
214698640,214698655,VI
214698656,214698919,PR
-214698920,214698927,VI
+214698920,214698927,US
214698928,214699231,PR
214699232,214699263,US
214699264,214699295,VI
@@ -678,13 +528,13 @@
214699472,214699487,VI
214699488,214699519,US
214699520,214699647,PR
-214699648,214700007,US
-214700008,214700015,PR
-214700016,214858655,US
+214699648,214858655,US
214858656,214858671,NL
214858672,215001095,US
215001096,215001103,VI
-215001104,216417663,US
+215001104,215723591,US
+215723592,215723599,PR
+215723600,216417663,US
216417664,216417727,PR
216417728,216627287,US
216627288,216627295,PR
@@ -756,7 +606,6 @@
243990528,244318207,IN
244318208,245366783,CN
245366784,247463935,VN
-247463936,247472127,PH
247472128,247479295,JP
247479296,247480319,CN
247480320,247482367,MY
@@ -789,15 +638,20 @@
368674048,368674303,ES
368674304,386924543,US
386924544,387055615,CA
-387055616,387121151,PR
-387121152,387448831,US
-387973120,390070271,US
+387055616,387132143,US
+387132144,387132151,CA
+387132152,387132231,US
+387132232,387132239,CA
+387132240,387139327,US
+387139328,387139583,CA
+387139584,387164415,US
+387164416,387164671,CA
+387164672,390332415,US
402653184,405012479,US
405012480,405143551,CA
405143552,405180415,US
405180416,405184511,CA
-405184512,405192703,US
-405209088,405372927,US
+405184512,405372927,US
405372928,405422079,PR
405422080,405798911,US
405798912,405831679,CA
@@ -832,16 +686,19 @@
408518656,408535039,US
408535040,408551423,CA
408551424,408719359,US
-408719360,408721407,LC
-408721408,408723455,VC
-408723456,409337855,US
+408719360,408723455,LC
+408723456,409255935,US
+409255936,409272319,CA
+409272320,409337855,US
409337856,409354239,CA
409370624,409731071,US
409731072,409862143,CA
409862144,410124287,US
-410124288,410177751,CA
-410177752,410177755,US
-410177756,410178463,CA
+410124288,410174779,CA
+410174780,410174783,US
+410174784,410178343,CA
+410178344,410178347,US
+410178348,410178463,CA
410178464,410178467,US
410178468,410180643,CA
410180644,410180647,US
@@ -896,7 +753,9 @@
411779072,411828223,PR
411828224,411893759,US
411893760,411975679,CA
-411975680,412221439,US
+411975680,411979775,US
+411979776,411983871,CA
+411983872,412221439,US
412221440,412229631,CA
412254208,412483583,US
412483584,412549119,CA
@@ -909,16 +768,22 @@
412708864,412909567,US
412909568,412942335,CA
412942336,412946431,US
+412946432,412950527,PR
+412950528,412958719,US
+412975104,413007871,CA
413007872,413908991,US
413908992,413925375,PR
413925376,415760383,US
415760384,416022527,CA
-416022528,416153599,US
+416022528,416059391,US
+416059392,416063487,CA
+416071680,416088063,CA
+416088064,416153599,US
416153600,416161791,BS
416161792,416219135,US
416219136,416251903,CA
416251904,416546815,US
-416546816,416579583,CA
+416546816,416612351,CA
416612352,416628735,US
416628736,416636927,CA
416636928,416743423,US
@@ -1084,7 +949,6 @@
460345344,460349439,CN
460349440,460351487,AU
460351488,460353535,JP
-460353536,460355583,TH
460355584,460356607,IN
460356608,460357631,JP
460357632,460423167,KR
@@ -1232,16 +1096,23 @@
520355840,520421375,ES
520421376,520486911,AT
520486912,520488959,NL
-520488960,520491007,IT
+520488960,520489983,IT
+520489984,520491007,RU
520491008,520493567,GB
-520493568,520494079,FR
-520494080,520495871,IT
-520495872,520496383,DE
-520496384,520497663,IT
-520497664,520497919,FR
-520497920,520500479,IT
-520500480,520500735,DE
-520500736,520501759,IT
+520493568,520494335,FR
+520494336,520494591,TR
+520494592,520495103,CH
+520495104,520496383,DE
+520496384,520496895,TR
+520496896,520497151,ES
+520497152,520497407,FR
+520497408,520497663,ES
+520497664,520498175,FR
+520498176,520498687,CH
+520498688,520499711,FR
+520499712,520501247,DE
+520501248,520501503,IL
+520501504,520501759,AE
520501760,520503295,GB
520503296,520505343,PL
520505344,520507391,GB
@@ -1259,10 +1130,16 @@
520589312,520593407,IT
520593408,520595455,AM
520595456,520597503,MK
-520597504,520598015,DE
+520597504,520597535,IT
+520597536,520597567,DE
+520597568,520597599,IT
+520597600,520597631,DE
+520597632,520597663,IT
+520597664,520598015,DE
520598016,520598047,IT
520598048,520598079,FR
-520598080,520601599,DE
+520598080,520598111,IT
+520598112,520601599,DE
520601600,520609791,SI
520609792,520613887,RU
520613888,520615935,CZ
@@ -1288,7 +1165,11 @@
520882176,520884223,IT
520884224,520888319,MK
520888320,520896511,DE
-520896512,520898559,BE
+520896512,520897023,BE
+520897024,520897151,LU
+520897152,520897791,BE
+520897792,520897807,LU
+520897808,520898559,BE
520898560,520902655,GB
520902656,520902784,NL
520902785,520912895,GB
@@ -1309,7 +1190,9 @@
520990720,520992767,RU
520992768,520994815,ES
520994816,521011199,BG
-521011200,521076735,RO
+521011200,521057279,RO
+521057280,521058303,MD
+521058304,521076735,RO
521076736,521078783,ES
521078784,521080831,CZ
521080832,521082879,RU
@@ -1338,8 +1221,8 @@
521556032,521558015,NL
521558016,521560063,CY
521560064,521562111,PL
-521562112,521562879,DE
-521562880,521564159,GB
+521562112,521562911,DE
+521562912,521564159,GB
521564160,521566207,GR
521566208,521568255,LU
521568256,521601023,PT
@@ -1382,7 +1265,9 @@
521746432,521748479,NL
521748480,521750527,SE
521750528,521752575,PS
-521752576,521754623,FR
+521752576,521754367,FR
+521754368,521754383,US
+521754384,521754623,FR
521754624,521756671,IR
521756672,521758719,NL
521758720,521760767,IR
@@ -1419,7 +1304,7 @@
522059776,522125311,CZ
522125312,522133503,MD
522133504,522134783,NL
-522134784,522134911,GB
+522134784,522134911,US
522134912,522135551,NL
522135552,522137599,IT
522137600,522141695,CH
@@ -1492,16 +1377,21 @@
523010048,523014143,IL
523014144,523018239,ES
523018240,523022335,IT
-523022336,523024639,RU
-523024640,523024895,GB
-523024896,523026431,RU
+523022336,523024383,RU
+523024384,523024895,GB
+523024896,523025407,BZ
+523025408,523025663,UA
+523025664,523025919,CH
+523025920,523026431,NL
523026432,523030527,TR
523030528,523034623,FR
523034624,523038719,SE
523038720,523042815,RU
523042816,523075583,NO
523075584,523108351,HR
-523108352,523173887,HU
+523108352,523113983,HU
+523113984,523114239,RO
+523114240,523173887,HU
523173888,523182079,BA
523182080,523190271,IR
523190272,523192319,FI
@@ -1615,37 +1505,38 @@
529596416,529661951,TR
529661952,529727487,GE
529727488,529793023,HR
-529793024,529825791,RU
-529825792,529827839,NL
-529827840,529828863,RO
+529793024,529827839,RU
+529827840,529828863,CZ
529828864,529829887,RU
-529829888,529830399,UA
-529830400,529830911,RU
-529830912,529831935,DE
-529831936,529832959,UA
-529832960,529835007,RU
+529829888,529831935,NL
+529831936,529835007,RU
529835008,529836031,KG
529836032,529836543,UA
529836544,529837055,IL
529837056,529839103,RU
529839104,529839615,UA
529839616,529840127,CY
-529840128,529842175,UA
+529840128,529841151,RU
+529841152,529842175,UA
529842176,529843199,IN
529843200,529844735,RU
529844736,529845247,UA
529845248,529846271,UZ
-529846272,529846783,UA
-529846784,529848319,RU
-529848320,529855487,CZ
-529855488,529856511,RU
-529856512,529857535,CZ
+529846272,529848319,RU
+529848320,529848575,KZ
+529848576,529848831,UA
+529848832,529849087,GB
+529849088,529853439,CZ
+529853440,529856511,RU
+529856512,529857535,KZ
529857536,529858559,UA
529858560,529924095,NL
529924096,529989631,DE
529989632,530055167,NL
530055168,530120703,GR
-530120704,530186239,CY
+530120704,530165759,CY
+530165760,530173951,GR
+530173952,530186239,CY
530186240,530251775,IL
530251776,530317311,TR
530317312,530579455,IT
@@ -1692,8 +1583,8 @@
531333120,531333599,NL
531333600,531333631,RU
531333632,531334143,NL
-531334144,531334207,US
-531334208,531334399,NL
+531334144,531334271,US
+531334272,531334399,NL
531334400,531334463,US
531334464,531334527,NL
531334528,531335167,US
@@ -1712,23 +1603,63 @@
531369984,531371007,CH
531371008,531371519,US
531371520,531372031,JP
-531372032,531380223,CH
+531372032,531373567,CH
+531373568,531373575,DE
+531373576,531380223,CH
531380224,531398655,DE
531398656,531400703,RU
531400704,531402751,UA
531402752,531404799,LU
531404800,531406847,FI
-531406848,531415039,IM
+531406848,531408895,FR
+531408896,531415039,PL
531415040,531423231,RU
-531423232,531425279,NO
+531423232,531423487,GB
+531423488,531425279,NO
531425280,531425325,FR
531425326,531425327,GB
-531425328,531425391,FR
-531425392,531426303,GB
-531426304,531426431,FR
-531426432,531426559,GB
-531426560,531426623,FR
-531426624,531431423,GB
+531425328,531425407,FR
+531425408,531425535,GB
+531425536,531425887,FR
+531425888,531425919,GB
+531425920,531425967,FR
+531425968,531426047,GB
+531426048,531426495,FR
+531426496,531426503,GB
+531426504,531426791,FR
+531426792,531426799,GB
+531426800,531427327,FR
+531427328,531427991,GB
+531427992,531427999,EU
+531428000,531428359,GB
+531428360,531428367,IT
+531428368,531428447,GB
+531428448,531428455,IT
+531428456,531428495,GB
+531428496,531428503,IT
+531428504,531428959,GB
+531428960,531428967,IT
+531428968,531428975,GB
+531428976,531428983,IT
+531428984,531429135,GB
+531429136,531429143,IT
+531429144,531429343,GB
+531429344,531429351,IT
+531429352,531429407,GB
+531429408,531429415,IT
+531429416,531429479,GB
+531429480,531429487,IT
+531429488,531429735,GB
+531429736,531429743,IT
+531429744,531430655,GB
+531430656,531430663,IT
+531430664,531430783,GB
+531430784,531430791,IT
+531430792,531430847,GB
+531430848,531430855,IT
+531430856,531431127,GB
+531431128,531431135,IT
+531431136,531431423,GB
531431424,531496959,RO
531496960,531628031,PL
531628032,531660799,TR
@@ -1753,11 +1684,20 @@
532152320,532168703,DE
532168704,532185087,NL
532185088,532201471,IR
-532201472,532211711,RU
+532201472,532210431,RU
+532210432,532210687,LV
+532210688,532211711,RU
532211712,532212223,LU
532212224,532212479,RU
-532212480,532212991,UA
-532212992,532221951,RU
+532212480,532212735,UA
+532212736,532212991,RU
+532212992,532213247,GB
+532213248,532214271,RU
+532214272,532214527,RO
+532214528,532214783,RU
+532214784,532215295,AE
+532215296,532215807,GB
+532215808,532221951,RU
532221952,532223999,IT
532224000,532226047,NO
532226048,532234239,GB
@@ -1775,15 +1715,23 @@
532305920,532307967,NO
532307968,532310015,RU
532310016,532312063,GR
-532312064,532314111,JE
+532312064,532312831,JE
+532312832,532312895,GB
+532312896,532312927,JE
+532312928,532312944,GB
+532312945,532312959,JE
+532312960,532312983,GB
+532312984,532312991,JE
+532312992,532313023,GB
+532313024,532314111,JE
532314112,532316159,DE
532316160,532324351,RU
532324352,532328447,NL
532328448,532330495,PS
532330496,532332543,CZ
532332544,532340735,PL
-532340736,532340991,US
-532340992,532348927,GB
+532340736,532341247,US
+532341248,532348927,GB
532348928,532365311,PL
532365312,532373503,DE
532373504,532375551,RU
@@ -1794,7 +1742,9 @@
532676608,532692991,GE
532692992,532701183,CZ
532701184,532703231,GB
-532703232,532704511,RU
+532703232,532703679,RU
+532703680,532703743,IN
+532703744,532704511,RU
532704512,532704767,IN
532704768,532705279,RU
532705280,532709375,NL
@@ -1802,25 +1752,17 @@
532725760,532729855,SE
532729856,532731903,TR
532731904,532733951,PL
-532733952,532735999,SE
+532733952,532734207,SE
+532734208,532734463,US
+532734464,532734975,SE
+532734976,532735487,EU
+532735488,532735999,SE
532736000,532738047,RU
-532738048,532740095,GB
+532738048,532738303,GB
+532738304,532738559,IN
+532738560,532740095,GB
532740096,532742143,KG
-532742144,532743679,GB
-532743680,532743727,CN
-532743728,532743743,GB
-532743744,532743751,RU
-532743752,532743759,CN
-532743760,532743775,GB
-532743776,532743791,CN
-532743792,532744703,GB
-532744704,532744959,CN
-532744960,532745599,GB
-532745600,532745663,CN
-532745664,532745727,US
-532745728,532746215,GB
-532746216,532746223,ES
-532746224,532746239,GB
+532742144,532746239,GB
532746240,532750335,IT
532750336,532752383,SM
532752384,532754431,BE
@@ -2186,10 +2128,9 @@
533304576,533304831,BE
533304832,533305087,BA
533305088,533305343,BG
-533305344,533305599,HR
-533305600,533305855,FR
+533305344,533305855,HR
533305856,533306111,CZ
-533306112,533306367,FR
+533306112,533306367,HR
533306368,533306623,EE
533306624,533306879,FO
533306880,533307135,GE
@@ -2256,7 +2197,38 @@
533331968,533397503,UA
533397504,533463039,KW
533463040,533479423,RU
-533479424,533481471,DE
+533479424,533479487,DE
+533479488,533479519,SE
+533479520,533479551,FI
+533479552,533479711,DE
+533479712,533479743,SE
+533479744,533479775,FI
+533479776,533479807,DK
+533479808,533479999,DE
+533480000,533480031,DK
+533480032,533480063,FI
+533480064,533480095,DE
+533480096,533480127,SE
+533480128,533480223,DE
+533480224,533480255,DK
+533480256,533480287,FI
+533480288,533480319,SE
+533480320,533480479,DE
+533480480,533480511,NO
+533480512,533480543,DE
+533480544,533480575,DK
+533480576,533480607,SE
+533480608,533480735,DE
+533480736,533480767,SE
+533480768,533480799,NO
+533480800,533480991,DE
+533480992,533481023,NO
+533481024,533481055,SE
+533481056,533481279,DE
+533481280,533481311,NO
+533481312,533481343,DE
+533481344,533481375,SE
+533481376,533481471,DE
533481472,533483519,NO
533483520,533485567,FR
533485568,533487615,LU
@@ -2298,14 +2270,31 @@
533823697,533823708,CD
533823709,533823712,BE
533823713,533823724,CD
-533823725,533825535,BE
+533823725,533824768,BE
+533824769,533824828,CD
+533824829,533824832,BE
+533824833,533824860,CD
+533824861,533824864,BE
+533824865,533824876,CD
+533824877,533824880,BE
+533824881,533824892,CD
+533824893,533825024,BE
+533825025,533825148,CD
+533825149,533825152,BE
+533825153,533825276,CD
+533825277,533825280,BE
+533825281,533825532,CD
+533825533,533825535,BE
533825536,533831679,IS
533831680,533835775,DE
533835776,533837823,SE
533837824,533839871,DE
533839872,533856255,IS
533856256,533858303,FR
-533858304,533860351,HU
+533858304,533859343,HU
+533859344,533859351,SK
+533859352,533860095,HU
+533860096,533860351,AT
533860352,533861375,DE
533861376,533862399,NL
533862400,533864447,GB
@@ -2332,7 +2321,11 @@
534118400,534151167,KW
534151168,534157759,DE
534157760,534157823,US
-534157824,534175743,DE
+534157824,534166527,DE
+534166528,534166783,AU
+534166784,534167039,PL
+534167040,534167295,TR
+534167296,534175743,DE
534175744,534179839,NL
534179840,534181887,US
534181888,534183935,DE
@@ -2353,9 +2346,17 @@
534296576,534298623,BA
534298624,534306815,HR
534306816,534308863,SE
-534308864,534309943,IE
-534309944,534309951,GB
-534309952,534310911,IE
+534308864,534308867,IE
+534308868,534308887,GB
+534308888,534308895,IE
+534308896,534308907,GB
+534308908,534308911,IE
+534308912,534308919,GB
+534308920,534309943,IE
+534309944,534310007,GB
+534310008,534310015,IE
+534310016,534310047,GB
+534310048,534310911,IE
534310912,534315007,IT
534315008,534347775,HR
534347776,534355967,GB
@@ -2381,9 +2382,11 @@
534648832,534650879,CH
534650880,534652927,RU
534652928,534654975,AL
-534654976,534659583,GB
-534659584,534661119,CZ
-534661120,534663167,US
+534654976,534659071,GB
+534659072,534659583,CZ
+534659584,534661119,GB
+534661120,534661631,US
+534661632,534663167,GB
534663168,534675455,ES
534675456,534691839,GB
534691840,534693887,FR
@@ -2443,7 +2446,7 @@
540686848,540686863,GB
540686864,540687103,US
540687104,540687111,GB
-540687112,540687231,US
+540687112,540687231,EU
540687232,540687359,CA
540687360,540694527,US
540694528,540694591,IT
@@ -2492,7 +2495,8 @@
540813184,540813247,NL
540813248,540813287,US
540813288,540813295,DE
-540813296,540813311,US
+540813296,540813303,SG
+540813304,540813311,US
540813312,540813567,NL
540813568,540813639,DE
540813640,540813671,TW
@@ -2507,7 +2511,11 @@
540814512,540814519,SG
540814520,540814719,US
540814720,540814735,SG
-540814736,540819455,US
+540814736,540815124,US
+540815125,540815126,SG
+540815127,540815168,US
+540815169,540815182,SG
+540815183,540819455,US
540819456,540823551,CA
540823552,540826671,US
540826672,540826719,CA
@@ -2566,13 +2574,1320 @@
620232704,620494847,CN
620494848,620625919,NP
620625920,620691455,CN
+620756992,620759039,IE
+620759040,620763135,NL
+620763136,620765183,EE
+620765184,620773375,CH
+620773376,620775423,ME
+620775424,620777471,FR
+620777472,620781567,NL
+620781568,620783615,GB
+620783616,620785663,ES
+620785664,620787711,DE
+620787712,620789759,RU
+620789760,620810239,HR
+620810240,620812287,LT
+620812288,620814335,SE
+620814336,620822527,LT
+620822528,620845055,RU
+620845056,620849151,GB
+620849152,620851199,NL
+620851200,620855295,DE
+620855296,620859391,RU
+620859392,620861439,TR
+620861440,620863487,GB
+620863488,620864511,DE
+620864512,620865535,A2
+620865536,620866559,FR
+620866560,620867583,A2
+620867584,620868607,ES
+620868608,620869631,A2
+620869632,620870655,FI
+620870656,620871679,A2
+620871680,620875775,DE
+620875776,620877823,US
+620877824,620879871,DE
+620879872,620881919,GB
+620881920,620888063,FR
+620888064,621019135,SE
+621019136,621150207,DE
+621150208,621215743,GR
+621215744,621281279,PL
+621281280,621314047,PS
+621314048,621318143,BA
+621318144,621322239,RU
+621322240,621330431,FR
+621330432,621346815,PL
+621346816,621381631,RU
+621381632,621383679,FR
+621383680,621387775,RU
+621387776,621389823,NL
+621389824,621391871,SK
+621391872,621393919,CY
+621393920,621395967,DE
+621395968,621398015,CZ
+621398016,621400063,TR
+621400064,621402111,HU
+621402112,621404159,NL
+621404160,621408255,IT
+621408256,621410303,RU
+621410304,621412351,IR
+621412352,621445119,DE
+621445120,621805567,ES
+621805568,621813759,NL
+621813760,621821951,SA
+621821952,621823999,DE
+621824000,621826047,FR
+621826048,621828095,RU
+621828096,621830143,GB
+621830144,621838335,FI
+621838336,621871103,SA
+621871104,621903871,BY
+621903872,621912063,IQ
+621912064,621916159,HU
+621916160,621918207,KZ
+621918208,621920255,GB
+621920256,621924351,JO
+621924352,621928447,NL
+621928448,621932543,DE
+621932544,621934591,UA
+621934592,621936639,SE
+621936640,621940479,RU
+621940480,621942527,GB
+621942528,621969407,RU
+621969408,621971455,RO
+621971456,621973503,GB
+621973504,621975551,IE
+621975552,621977599,RU
+621977600,621981695,FR
+621981696,621983743,US
+621983744,621985791,RS
+621985792,621987839,US
+621987840,621989887,DK
+621989888,621991935,SE
+621991936,621993983,DK
+621993984,621998079,SI
+621998080,622000127,ES
+622000128,622004223,RU
+622004224,622006271,BE
+622006272,622008319,FI
+622008320,622010367,GB
+622010368,622018559,RU
+622018560,622020607,SI
+622020608,622022655,RU
+622022656,622026751,IR
+622026752,622028799,IE
+622028800,622030847,RS
+622030848,622034943,IL
+622034944,622067711,UA
+622067712,622329855,RU
+622329856,622395391,DE
+622395392,622405631,UA
+622405632,622407679,ES
+622407680,622409727,DE
+622409728,622411775,FR
+622411776,622413823,DE
+622413824,622415871,FR
+622415872,622417919,MK
+622417920,622418943,GB
+622418944,622419967,IM
+622419968,622428159,UA
+622428160,622460927,RO
+622460928,622477311,AZ
+622477312,622479359,AL
+622479360,622481407,GB
+622481408,622483455,AL
+622483456,622485503,GB
+622485504,622487551,MK
+622487552,622489599,GB
+622489600,622493695,US
+622493696,622497791,MD
+622497792,622499839,IL
+622499840,622501887,SE
+622501888,622503935,PL
+622503936,622505983,AM
+622505984,622510079,FR
+622510080,622512127,PL
+622512128,622514175,DE
+622514176,622518271,NO
+622518272,622520319,NL
+622520320,622522367,RU
+622522368,622524415,FR
+622524416,622526463,ES
+622526464,622591999,DE
+622592000,622624767,OM
+622624768,622626815,NO
+622626816,622630911,DK
+622630912,622632959,PL
+622632960,622641151,RU
+622641152,622657535,PT
+622657536,622690303,RU
+622690304,622723071,ES
+622723072,622854143,PL
+622854144,622866431,IR
+622866432,622868479,NO
+622868480,622870527,FR
+622870528,622874623,AZ
+622874624,622878719,IT
+622878720,622880767,FR
+622882816,622886911,IR
+622886912,622919679,GR
+622919680,622985215,FI
+622985216,622993407,TR
+622993408,622997503,IT
+622997504,623001599,NL
+623001600,623003647,ES
+623003648,623005695,IT
+623005696,623009791,PS
+623009792,623017983,MD
+623017984,623050751,KW
+623050752,623052799,FR
+623052800,623054847,RS
+623054848,623058943,FI
+623058944,623067135,RO
+623067136,623067136,RS
+623067137,623069182,AL
+623069183,623069183,RS
+623069184,623071231,GB
+623071232,623073279,FI
+623073280,623075327,GB
+623075328,623077375,DK
+623077376,623083519,CH
+623083520,623116287,RO
+623116288,623378431,KW
+623378432,623509503,OM
+623509504,623640575,RO
+623640576,623642623,DE
+623642624,623644671,NL
+623644672,623648767,CZ
+623648768,623650815,JO
+623650816,623652863,RU
+623652864,623654911,FI
+623654912,623656959,IR
+623656960,623673343,BY
+623673344,623689727,NO
+623689728,623706111,RU
+623706112,623771647,BY
+623771648,623771903,GB
+623771904,623772159,US
+623772160,623774207,GB
+623774208,623774719,NL
+623774720,623775743,GB
+623775744,623777791,IE
+623777792,623779839,GB
+623779840,623783935,IL
+623783936,623788031,RU
+623788032,623790079,HU
+623790080,623792127,ES
+623792128,623794175,CZ
+623794176,623796223,ES
+623796224,623798271,GB
+623798272,623800319,GE
+623800320,623801855,LU
+623801856,623803391,SE
+623803392,623804415,NL
+623804416,623806463,RU
+623806464,623808511,NL
+623808512,623810559,RU
+623810560,623812607,ES
+623812608,623820799,SE
+623820800,623822847,NL
+623822848,623824895,GB
+623824896,623826943,CZ
+623826944,623837183,UA
+623837184,623902719,PL
+623902720,623919103,CZ
+623919104,623935487,NL
+623935488,623960063,SY
+623960064,623962111,GB
+623962112,623964159,HR
+623964160,623966207,GB
+623966208,623968255,RU
+623968256,624001023,DE
+624001024,624005119,DK
+624005120,624007167,IR
+624007168,624009215,DE
+624009216,624025599,RU
+624025600,624027647,NL
+624027648,624029695,FR
+624029696,624033791,SE
+624033792,624164863,DE
+624164864,624427007,UA
+624427008,624492543,RO
+624492544,624558079,UA
+624558080,624562175,SK
+624562176,624564223,TR
+624564224,624566271,GB
+624566272,624568319,RU
+624568320,624570367,BE
+624570368,624574463,DE
+624574464,624574663,NL
+624574664,624574671,KW
+624574672,624574903,NL
+624574904,624574911,US
+624574912,624575295,NL
+624575296,624575311,CH
+624575312,624575759,NL
+624575760,624575767,PS
+624575768,624576407,NL
+624576408,624576411,US
+624576412,624590847,NL
+624590848,624639999,FR
+624640000,624640003,DE
+624640004,624640007,GB
+624640008,624640063,FR
+624640064,624640067,PT
+624640068,624640087,FR
+624640088,624640091,GB
+624640092,624640095,PL
+624640096,624640111,NL
+624640112,624640115,DE
+624640116,624640119,IT
+624640120,624640127,DE
+624640128,624640147,NL
+624640148,624640159,DE
+624640160,624640175,BE
+624640176,624640183,GB
+624640184,624640187,ES
+624640188,624640191,PL
+624640192,624640239,FR
+624640240,624640243,CZ
+624640244,624640247,NL
+624640248,624640255,FR
+624640256,624640511,GB
+624640512,624640615,FR
+624640616,624640619,IE
+624640620,624640623,PT
+624640624,624640639,FR
+624640640,624640703,BE
+624640704,624640727,FR
+624640728,624640735,IT
+624640736,624640755,GB
+624640756,624640763,FR
+624640764,624640767,NL
+624640768,624640775,IT
+624640776,624640779,LT
+624640780,624640783,DE
+624640784,624640787,ES
+624640788,624640791,IT
+624640792,624640799,FR
+624640800,624640803,CH
+624640804,624640807,FR
+624640808,624640811,DE
+624640812,624640815,GB
+624640816,624640823,FR
+624640824,624640827,GB
+624640828,624640831,DE
+624640832,624640863,IE
+624640864,624640931,FR
+624640932,624640935,ES
+624640936,624640939,PL
+624640940,624640943,DE
+624640944,624640951,FR
+624640952,624640959,PT
+624640960,624640975,FR
+624640976,624640991,ES
+624640992,624640999,GB
+624641000,624641007,PL
+624641008,624641023,IT
+624641024,624641055,GB
+624641056,624641063,FR
+624641064,624641067,NL
+624641068,624641071,PL
+624641072,624641087,FR
+624641088,624641091,NL
+624641092,624641103,FR
+624641104,624641107,PL
+624641108,624641119,FR
+624641120,624641127,CH
+624641128,624641131,PL
+624641132,624641135,LT
+624641136,624641183,FR
+624641184,624641187,CZ
+624641188,624641191,DE
+624641192,624641195,NL
+624641196,624641207,FR
+624641208,624641211,GB
+624641212,624641215,ES
+624641216,624641223,IE
+624641224,624641247,GB
+624641248,624641255,IE
+624641256,624641263,DE
+624641264,624641295,FR
+624641296,624641299,CZ
+624641300,624641303,LT
+624641304,624641311,PT
+624641312,624641315,FR
+624641316,624641319,ES
+624641320,624641323,PT
+624641324,624641327,PL
+624641328,624641351,IE
+624641352,624641355,FR
+624641356,624641359,PT
+624641360,624641367,FR
+624641368,624641371,BE
+624641372,624641375,IT
+624641376,624641407,PL
+624641408,624641535,FR
+624641536,624641983,NL
+624641984,624642015,ES
+624642016,624642031,PL
+624642032,624642035,DE
+624642036,624642039,ES
+624642040,624642047,FR
+624642048,624642055,PL
+624642056,624642063,GB
+624642064,624642095,IE
+624642096,624642111,PL
+624642112,624642127,CH
+624642128,624642135,GB
+624642136,624642139,PL
+624642140,624642143,FR
+624642144,624642159,CH
+624642160,624642207,FR
+624642208,624642223,IT
+624642224,624642239,GB
+624642240,624642251,FR
+624642252,624642255,GB
+624642256,624642271,PL
+624642272,624642283,FR
+624642284,624642287,GB
+624642288,624642291,FR
+624642292,624642299,PL
+624642300,624642303,ES
+624642304,624642335,PT
+624642336,624642367,FR
+624642368,624642375,ES
+624642376,624642379,FR
+624642380,624642383,GB
+624642384,624642407,FR
+624642408,624642411,PL
+624642412,624642415,FR
+624642416,624642423,DE
+624642424,624642431,FR
+624642432,624642447,BE
+624642448,624642463,GB
+624642464,624642479,FR
+624642480,624642483,GB
+624642484,624642503,FR
+624642504,624642507,PT
+624642508,624642511,ES
+624642512,624642527,FR
+624642528,624642559,IT
+624642560,624642575,FR
+624642576,624642591,GB
+624642592,624642691,FR
+624642692,624642695,ES
+624642696,624642699,GB
+624642700,624642703,DE
+624642704,624642719,FR
+624642720,624642723,PL
+624642724,624642727,NL
+624642728,624642743,FR
+624642744,624642747,FI
+624642748,624642751,FR
+624642752,624642759,ES
+624642760,624642787,FR
+624642788,624642791,ES
+624642792,624642795,NL
+624642796,624642799,CZ
+624642800,624642815,FR
+624642816,624642831,PT
+624642832,624642835,IT
+624642836,624642839,GB
+624642840,624642843,ES
+624642844,624642855,GB
+624642856,624642859,DE
+624642860,624642863,PL
+624642864,624642879,GB
+624642880,624642887,FR
+624642888,624642891,LT
+624642892,624642895,PL
+624642896,624642947,FR
+624642948,624642951,ES
+624642952,624642959,FR
+624642960,624642975,IE
+624642976,624643007,FR
+624643008,624643011,PL
+624643012,624643015,GB
+624643016,624643019,PL
+624643020,624643023,FR
+624643024,624643031,IT
+624643032,624643035,PL
+624643036,624643039,DE
+624643040,624643043,GB
+624643044,624643047,DE
+624643048,624643051,NL
+624643052,624643055,PT
+624643056,624643063,IT
+624643064,624643067,NL
+624643068,624643071,PL
+624643072,624643087,FR
+624643088,624643091,IT
+624643092,624643095,FI
+624643096,624643103,IE
+624643104,624643107,FR
+624643108,624643111,GB
+624643112,624643115,FR
+624643116,624643119,PT
+624643120,624643183,FR
+624643184,624643191,ES
+624643192,624643211,PL
+624643212,624643215,CH
+624643216,624643231,FR
+624643232,624643235,IT
+624643236,624643239,PL
+624643240,624643243,ES
+624643244,624643247,PL
+624643248,624643255,FR
+624643256,624643263,PL
+624643264,624643311,FR
+624643312,624643315,NL
+624643316,624643319,FR
+624643320,624643327,IT
+624643328,624643343,FR
+624643344,624643347,DE
+624643348,624643351,FR
+624643352,624643355,GB
+624643356,624643367,FR
+624643368,624643371,LT
+624643372,624643375,FR
+624643376,624643383,ES
+624643384,624643391,FR
+624643392,624643423,GB
+624643424,624643455,ES
+624643456,624643459,FR
+624643460,624643463,IE
+624643464,624643487,FR
+624643488,624643503,PL
+624643504,624643507,NL
+624643508,624643511,PL
+624643512,624643519,IE
+624643520,624643583,DE
+624643584,624643619,FR
+624643620,624643623,DE
+624643624,624643627,BE
+624643628,624643631,PL
+624643632,624643647,PT
+624643648,624643711,FR
+624643712,624643727,PL
+624643728,624643731,GB
+624643732,624643735,IE
+624643736,624643775,FR
+624643776,624643779,NL
+624643780,624643783,PL
+624643784,624643787,FR
+624643788,624643791,ES
+624643792,624643807,DE
+624643808,624643811,CH
+624643812,624643819,FR
+624643820,624643823,ES
+624643824,624643839,FR
+624643840,624644095,DE
+624644096,624644111,PL
+624644112,624644115,BE
+624644116,624644119,GB
+624644120,624644123,DE
+624644124,624644163,FR
+624644164,624644167,PT
+624644168,624644207,FR
+624644208,624644223,BE
+624644224,624644255,FR
+624644256,624644271,CH
+624644272,624644275,FR
+624644276,624644287,ES
+624644288,624644295,PL
+624644296,624644299,FR
+624644300,624644303,DE
+624644304,624644311,FR
+624644312,624644319,ES
+624644320,624644351,FR
+624644352,624644607,DE
+624644608,624644671,FR
+624644672,624644683,DE
+624644684,624644735,FR
+624644736,624644767,PL
+624644768,624644771,FR
+624644772,624644775,CH
+624644776,624644783,BE
+624644784,624644799,IE
+624644800,624644815,FR
+624644816,624644819,DE
+624644820,624644823,FR
+624644824,624644831,PT
+624644832,624644839,PL
+624644840,624644843,IT
+624644844,624644847,PL
+624644848,624644851,ES
+624644852,624644855,IT
+624644856,624644859,PL
+624644860,624644879,IE
+624644880,624644895,ES
+624644896,624644903,IE
+624644904,624644911,NL
+624644912,624644915,FR
+624644916,624644919,ES
+624644920,624644923,FR
+624644924,624644927,PL
+624644928,624644991,FR
+624644992,624645007,ES
+624645008,624645011,FR
+624645012,624645023,GB
+624645024,624645055,PL
+624645056,624645119,FR
+624645120,624645375,FI
+624645376,624645887,FR
+624645888,624645891,PL
+624645892,624645895,FR
+624645896,624645903,ES
+624645904,624645907,GB
+624645908,624645911,IE
+624645912,624645919,GB
+624645920,624646047,PT
+624646048,624646111,FR
+624646112,624646175,PL
+624646176,624646223,FR
+624646224,624646227,PL
+624646228,624646231,IT
+624646232,624646235,CZ
+624646236,624646239,GB
+624646240,624646255,LT
+624646256,624646259,DE
+624646260,624646263,GB
+624646264,624646267,FR
+624646268,624646279,DE
+624646280,624646283,FR
+624646284,624646287,PL
+624646288,624646303,PT
+624646304,624646311,PL
+624646312,624646315,GB
+624646316,624646319,ES
+624646320,624646323,DE
+624646324,624646327,FR
+624646328,624646331,PL
+624646332,624646335,CH
+624646336,624646339,FR
+624646340,624646343,LT
+624646344,624646347,GB
+624646348,624646351,IE
+624646352,624646367,PT
+624646368,624646527,PL
+624646528,624646535,IE
+624646536,624646539,PL
+624646540,624646543,FR
+624646544,624646559,DE
+624646560,624646575,FR
+624646576,624646579,GB
+624646580,624646583,NL
+624646584,624646591,FI
+624646592,624646627,FR
+624646628,624646631,DE
+624646632,624646635,PT
+624646636,624646639,IE
+624646640,624646643,PL
+624646644,624646655,PT
+624646656,624646659,ES
+624646660,624646663,GB
+624646664,624646671,FR
+624646672,624646687,GB
+624646688,624646707,FR
+624646708,624646715,PL
+624646716,624646719,FR
+624646720,624646735,ES
+624646736,624646751,DE
+624646752,624646759,FR
+624646760,624646767,GB
+624646768,624646787,DE
+624646788,624646791,PL
+624646792,624646795,IE
+624646796,624646799,NL
+624646800,624646815,GB
+624646816,624646831,IT
+624646832,624646835,BE
+624646836,624646839,IE
+624646840,624646843,CZ
+624646844,624646847,FI
+624646848,624646911,DE
+624646912,624646915,IE
+624646916,624646919,LT
+624646920,624646923,PL
+624646924,624646927,PT
+624646928,624646931,DE
+624646932,624646935,PL
+624646936,624646943,CZ
+624646944,624647087,FR
+624647088,624647095,DE
+624647096,624647103,GB
+624647104,624647107,FR
+624647108,624647111,PL
+624647112,624647119,ES
+624647120,624647127,GB
+624647128,624647135,FR
+624647136,624647143,GB
+624647144,624647171,FR
+624647172,624647175,ES
+624647176,624647183,GB
+624647184,624647199,PT
+624647200,624647263,PL
+624647264,624647295,PT
+624647296,624647327,NL
+624647328,624647359,GB
+624647360,624647423,CH
+624647424,624647471,FR
+624647472,624647479,PL
+624647480,624647483,ES
+624647484,624647491,DE
+624647492,624647495,PL
+624647496,624647499,BE
+624647500,624647503,DE
+624647504,624647519,FR
+624647520,624647527,GB
+624647528,624647531,FR
+624647532,624647535,PL
+624647536,624647551,FR
+624647552,624647583,GB
+624647584,624647615,FR
+624647616,624647623,PL
+624647624,624647631,GB
+624647632,624647647,FR
+624647648,624647663,GB
+624647664,624647667,DE
+624647668,624647679,FR
+624647680,624647935,DE
+624647936,624647999,PL
+624648000,624648063,IT
+624648064,624648071,GB
+624648072,624648075,FR
+624648076,624648079,GB
+624648080,624648095,PT
+624648096,624648099,FR
+624648100,624648103,GB
+624648104,624648159,FR
+624648160,624648191,PT
+624648192,624656703,FR
+624656704,624656711,GB
+624656712,624656723,FR
+624656724,624656727,FI
+624656728,624656731,PT
+624656732,624656735,PL
+624656736,624656739,DE
+624656740,624656751,FR
+624656752,624656755,GB
+624656756,624656759,PL
+624656760,624656763,IT
+624656764,624656767,GB
+624656768,624656831,FR
+624656832,624656895,ES
+624656896,624656911,FR
+624656912,624656927,NL
+624656928,624656959,FI
+624656960,624656991,PL
+624656992,624656999,IE
+624657000,624657003,FR
+624657004,624657007,BE
+624657008,624657015,ES
+624657016,624657019,GB
+624657020,624657023,PL
+624657024,624657055,CH
+624657056,624657063,FR
+624657064,624657067,IE
+624657068,624657071,FR
+624657072,624657087,GB
+624657088,624657119,PL
+624657120,624657135,FR
+624657136,624657139,IT
+624657140,624657147,FR
+624657148,624657151,PL
+624657152,624657167,FR
+624657168,624657183,PL
+624657184,624657215,GB
+624657216,624657263,PL
+624657264,624657279,BE
+624657280,624657295,PL
+624657296,624657303,FR
+624657304,624657311,GB
+624657312,624657315,PL
+624657316,624657319,DE
+624657320,624657323,NL
+624657324,624657327,DE
+624657328,624657335,ES
+624657336,624657359,FR
+624657360,624657363,GB
+624657364,624657367,PL
+624657368,624657375,IE
+624657376,624657379,PL
+624657380,624657383,FR
+624657384,624657387,DE
+624657388,624657407,FR
+624657408,624657471,IT
+624657472,624657503,GB
+624657504,624657535,BE
+624657536,624657567,CZ
+624657568,624657583,FR
+624657584,624657591,GB
+624657592,624657599,FR
+624657600,624657607,NL
+624657608,624657611,LT
+624657612,624657615,BE
+624657616,624657631,GB
+624657632,624657643,FR
+624657644,624657647,PL
+624657648,624657651,FR
+624657652,624657655,ES
+624657656,624657695,GB
+624657696,624657699,FI
+624657700,624657703,PT
+624657704,624657711,DE
+624657712,624657759,FR
+624657760,624657791,NL
+624657792,624657803,FR
+624657804,624657807,PT
+624657808,624657815,FR
+624657816,624657823,FI
+624657824,624657827,PL
+624657828,624657831,FR
+624657832,624657839,ES
+624657840,624657855,FR
+624657856,624657871,PL
+624657872,624657875,DE
+624657876,624657879,PL
+624657880,624657887,CH
+624657888,624657919,PL
+624657920,624657967,FR
+624657968,624657975,IE
+624657976,624657979,GB
+624657980,624657983,PL
+624657984,624658007,FR
+624658008,624658011,PL
+624658012,624658015,FR
+624658016,624658031,CH
+624658032,624658047,GB
+624658048,624658079,ES
+624658080,624658087,IE
+624658088,624658091,DE
+624658092,624658095,CH
+624658096,624658111,IT
+624658112,624658175,FR
+624658176,624658179,IE
+624658180,624658183,PL
+624658184,624658191,ES
+624658192,624658383,FR
+624658384,624658387,IE
+624658388,624658391,FR
+624658392,624658399,PL
+624658400,624658527,FR
+624658528,624658535,GB
+624658536,624658539,ES
+624658540,624658543,IE
+624658544,624658687,FR
+624658688,624658719,DE
+624658720,624658783,FR
+624658784,624658787,ES
+624658788,624658791,IE
+624658792,624658795,DE
+624658796,624658799,PL
+624658800,624658811,FR
+624658812,624658831,PL
+624658832,624658835,CH
+624658836,624658839,NL
+624658840,624658843,PL
+624658844,624658847,GB
+624658848,624658855,PL
+624658856,624658863,GB
+624658864,624658879,ES
+624658880,624658911,NL
+624658912,624658927,FR
+624658928,624658943,SN
+624658944,624658979,IT
+624658980,624658983,NL
+624658984,624658987,BE
+624658988,624658991,FR
+624658992,624658995,GB
+624658996,624658999,IT
+624659000,624659003,IE
+624659004,624659023,FR
+624659024,624659031,ES
+624659032,624659039,PL
+624659040,624659071,FR
+624659072,624659135,GB
+624659136,624659279,FR
+624659280,624659295,GB
+624659296,624659299,NL
+624659300,624659303,CZ
+624659304,624659307,FR
+624659308,624659311,CZ
+624659312,624659315,PL
+624659316,624659319,GB
+624659320,624659327,FR
+624659328,624659359,GB
+624659360,624659391,IT
+624659392,624659407,FR
+624659408,624659415,PL
+624659416,624659427,FR
+624659428,624659431,CZ
+624659432,624659439,FI
+624659440,624659447,FR
+624659448,624659455,DE
+624659456,624659519,FR
+624659520,624659551,IT
+624659552,624659583,PL
+624659584,624659695,FR
+624659696,624659699,PL
+624659700,624659703,CH
+624659704,624659787,FR
+624659788,624659791,NL
+624659792,624659803,FR
+624659804,624659807,PT
+624659808,624659811,FR
+624659812,624659815,PL
+624659816,624659831,FR
+624659832,624659839,FI
+624659840,624659935,FR
+624659936,624659951,BE
+624659952,624659959,FR
+624659960,624659967,PL
+624659968,624659971,CZ
+624659972,624659975,FI
+624659976,624659995,FR
+624659996,624660015,PL
+624660016,624660031,CH
+624660032,624660095,FR
+624660096,624660111,GB
+624660112,624660127,ES
+624660128,624660131,FR
+624660132,624660135,IT
+624660136,624660139,ES
+624660140,624660143,GB
+624660144,624660151,ES
+624660152,624660155,BE
+624660156,624660159,GB
+624660160,624660167,FR
+624660168,624660171,IE
+624660172,624660191,FR
+624660192,624660195,IT
+624660196,624660199,PL
+624660200,624660479,FR
+624660480,624660495,ES
+624660496,624660499,FR
+624660500,624660503,PL
+624660504,624660511,NL
+624660512,624660543,FR
+624660544,624660547,GB
+624660548,624660551,FR
+624660552,624660555,PL
+624660556,624660559,FR
+624660560,624660567,GB
+624660568,624660575,ES
+624660576,624660607,FR
+624660608,624660671,CH
+624660672,624660703,FR
+624660704,624660719,IT
+624660720,624660723,GB
+624660724,624660727,PL
+624660728,624660735,ES
+624660736,624660799,GB
+624660800,624660803,IT
+624660804,624660807,NL
+624660808,624660811,ES
+624660812,624660831,FR
+624660832,624660839,ES
+624660840,624660843,FR
+624660844,624660847,ES
+624660848,624660855,GB
+624660856,624660859,NL
+624660860,624660863,BE
+624660864,624660879,FR
+624660880,624660887,NL
+624660888,624660891,DE
+624660892,624660895,CH
+624660896,624660911,FR
+624660912,624660915,ES
+624660916,624660919,FR
+624660920,624660923,PL
+624660924,624660991,GB
+624660992,624661119,PL
+624661120,624661163,FR
+624661164,624661167,IT
+624661168,624661175,FR
+624661176,624661247,ES
+624661248,624661251,FR
+624661252,624661255,ES
+624661256,624661259,LT
+624661260,624661263,PL
+624661264,624661279,FR
+624661280,624661283,ES
+624661284,624661295,FR
+624661296,624661343,DE
+624661344,624661503,FR
+624661504,624661759,DE
+624661760,624661767,FR
+624661768,624661771,IT
+624661772,624661775,FI
+624661776,624661779,FR
+624661780,624661783,DE
+624661784,624661823,FR
+624661824,624661827,IT
+624661828,624661831,PT
+624661832,624661903,FR
+624661904,624661907,GB
+624661908,624661915,FR
+624661916,624661919,BE
+624661920,624661935,ES
+624661936,624661951,FR
+624661952,624661955,PT
+624661956,624661959,PL
+624661960,624661967,FR
+624661968,624661975,DE
+624661976,624662015,FR
+624662016,624662047,NL
+624662048,624662079,BE
+624662080,624662111,DE
+624662112,624662227,FR
+624662228,624662231,BE
+624662232,624662239,ES
+624662240,624662243,FR
+624662244,624662247,GB
+624662248,624662251,PL
+624662252,624662271,FR
+624662272,624662315,GB
+624662316,624662319,PL
+624662320,624662327,FR
+624662328,624662331,PT
+624662332,624662399,FR
+624662400,624662431,PT
+624662432,624662471,FR
+624662472,624662479,GB
+624662480,624662527,IE
+624662528,624662543,CH
+624662544,624662591,IE
+624662592,624662631,FR
+624662632,624662639,ES
+624662640,624662647,PL
+624662648,624662651,FR
+624662652,624662655,ES
+624662656,624662687,FR
+624662688,624662691,PT
+624662692,624662703,FR
+624662704,624662719,CZ
+624662720,624662735,BE
+624662736,624662743,DE
+624662744,624662751,NL
+624662752,624662755,IE
+624662756,624662759,FR
+624662760,624662763,IE
+624662764,624662767,FR
+624662768,624662783,CH
+624662784,624662799,PL
+624662800,624662807,FR
+624662808,624662811,PT
+624662812,624662815,IT
+624662816,624662847,ES
+624662848,624662895,FR
+624662896,624662911,ES
+624662912,624663039,IE
+624663040,624663407,GB
+624663408,624663423,FI
+624663424,624663455,PL
+624663456,624663487,GB
+624663488,624663519,NL
+624663520,624663551,FR
+624663552,624663583,GB
+624663584,624663615,FR
+624663616,624663647,NL
+624663648,624663663,CZ
+624663664,624663667,FR
+624663668,624663671,DE
+624663672,624663679,IT
+624663680,624663683,GB
+624663684,624663687,PL
+624663688,624663695,GB
+624663696,624663839,FR
+624663840,624663847,DE
+624663848,624663851,FR
+624663852,624663855,IT
+624663856,624663863,ES
+624663864,624663867,DE
+624663868,624663871,GB
+624663872,624663879,FR
+624663880,624663883,CH
+624663884,624663887,FR
+624663888,624663891,IE
+624663892,624663895,PL
+624663896,624663903,GB
+624663904,624663919,FR
+624663920,624663935,ES
+624663936,624689151,FR
+624689152,624691199,DE
+624691200,624693247,FR
+624693248,624695295,RU
+624695296,624697343,PL
+624697344,624699391,IT
+624699392,624701439,IL
+624701440,624705535,FR
+624705536,624721919,GB
+624721920,624723967,HR
+624723968,624726015,BG
+624726016,624728063,PS
+624728064,624730111,FR
+624730112,624732159,A2
+624732160,624734207,DE
+624734208,624736255,RU
+624736256,624738303,FR
+624738304,624740351,NL
+624740352,624742399,DE
+624742400,624746495,RU
+624746496,624754687,RO
+624754688,624787455,AZ
+624787456,624791551,DE
+624791552,624795647,ES
+624795648,624799743,SK
+624799744,624801791,RU
+624801792,624803839,AT
+624803840,624812031,DE
+624812032,624814079,IL
+624814080,624814335,NL
+624814336,624816127,GB
+624816128,624818175,FR
+624818176,624820223,ES
+624820224,624885759,BE
+624885760,624918527,BG
+624918528,624951295,IR
+624951296,625475583,FR
+625475584,625483775,ES
+625483776,625485823,IT
+625485824,625487871,UA
+625487872,625491967,TR
+625491968,625500159,RU
+625500160,625504255,NL
+625504256,625506303,GB
+625506304,625508351,PL
+625508352,625512447,AZ
+625512448,625514495,DE
+625514496,625516543,GG
+625516544,625518591,BE
+625518592,625518847,US
+625518848,625520127,NL
+625520128,625520639,US
+625520640,625522687,RU
+625522688,625523711,SE
+625523712,625524735,US
+625524736,625541119,FR
+625541120,625606655,UA
+625606656,625672191,NL
+625672192,625674239,RU
+625674240,625676287,TR
+625676288,625680383,MD
+625680384,625688575,MT
+625688576,625704959,MD
+625704960,625707007,GE
+625707008,625709055,AT
+625709056,625713151,NL
+625713152,625721343,DK
+625721344,625725439,RU
+625725440,625727487,PS
+625727488,625729535,UA
+625729536,625731583,NL
+625731584,625733631,GB
+625733632,625735679,IR
+625735680,625737727,RU
+625737728,625770495,HU
+625770496,625786879,RU
+625786880,625795071,PS
+625795072,625803263,SA
+625803264,625811455,TR
+625811456,625815551,NL
+625815552,625817599,IQ
+625817600,625819647,NL
+625819648,625823743,IQ
+625823744,625827839,NL
+625827840,625829887,IT
+625829888,625831935,RU
+625831936,625836031,IT
+625836032,625836063,KZ
+625836064,625838079,RU
+625838080,625840127,IT
+625840128,625842175,GB
+625842176,625844223,PL
+625844224,625846271,IT
+625846272,625848319,RS
+625848320,625854463,GB
+625854464,625856511,DE
+625856512,625860607,IT
+625860608,625868799,CZ
+625868800,625999871,RU
+625999872,627048447,DE
+627048448,627113983,DK
+627113984,627179519,RO
+627179520,627212287,IR
+627212288,627216383,FI
+627216384,627218431,GB
+627218432,627220479,TJ
+627220480,627228671,RU
+627228672,627230719,GR
+627230720,627232767,IR
+627232768,627236863,PL
+627236864,627238911,IT
+627238912,627239167,NL
+627239168,627240959,EU
+627240960,627245055,RU
+627245056,627277823,KZ
+627277824,627294207,SA
+627294208,627296255,GR
+627296256,627298303,DE
+627298304,627300351,IT
+627300352,627302399,RU
+627302400,627572735,IT
+627572736,627834879,SA
+627834880,627965951,PL
+627965952,628006911,RU
+628006912,628015103,GE
+628015104,628017151,GB
+628017152,628019199,CH
+628019200,628021247,UZ
+628021248,628023295,GB
+628023296,628029439,RU
+628029440,628031487,GB
+628031488,628097023,HU
+628097024,628230143,RU
+628230144,628232191,IT
+628232192,628236287,RU
+628236288,628244479,DE
+628244480,628246527,FR
+628246528,628248575,MT
+628248576,628250623,FI
+628250624,628252671,NL
+628252672,628255487,US
+628255488,628255743,NL
+628255744,628255999,US
+628256000,628256255,DE
+628256256,628259839,US
+628259840,628260095,DE
+628260096,628260351,US
+628260352,628260863,DE
+628260864,628277247,AZ
+628277248,628293631,IR
+628293632,628359167,UA
+628359168,628621311,IT
+628621312,628686847,RO
+628686848,628752383,SA
+628752384,628785151,RU
+628785152,628787199,CH
+628787200,628789247,TR
+628789248,628791295,SE
+628791296,628793343,IL
+628793344,628801535,ME
+628801536,628803583,GB
+628803584,628805631,FR
+628805632,628807679,GB
+628807680,628809727,AE
+628809728,628813823,TR
+628813824,628815871,DK
+628815872,628817919,GB
+628817920,628834303,TR
+628834304,628842495,JO
+628842496,628844543,TR
+628844544,628846591,DE
+628846592,628848639,GB
+628848640,628850687,DE
+628850688,628852735,NO
+628852736,628867071,SE
+628867072,628869119,IR
+628869120,628871167,PL
+628871168,628873215,NL
+628873216,628875263,RU
+628875264,628877311,SE
+628877312,628879359,BE
+628879360,628881407,IT
+628881408,628883455,GB
+628883456,629145599,SA
+629145600,629178367,PL
+629178368,629180415,GB
+629180416,629182463,IT
+629182464,629184511,NL
+629184512,629188607,PL
+629188608,629190655,ES
+629190656,629192703,CH
+629192704,629194751,GB
+629194752,629196799,IE
+629196800,629198847,AZ
+629198848,629202943,DK
+629202944,629207039,RO
+629207040,629211135,IR
+629211136,629276671,RO
+629276672,629293055,PL
+629293056,629309439,TR
+629309440,629313535,DE
+629313536,629315583,ES
+629315584,629317631,IT
+629317632,629325823,FI
+629325824,629327871,RU
+629327872,629329919,IR
+629329920,629331967,ES
+629331968,629334015,IT
+629334016,629338111,GB
+629338112,629340159,BG
+629340160,629342207,GB
+629342208,629374975,BH
+629374976,629387263,PL
+629387264,629389311,DE
+629389312,629391359,CH
+629391360,629399551,RU
+629399552,629401599,GE
+629401600,629405695,DE
+629405696,629407743,TR
+629407744,629669887,ES
+629669888,629735423,FI
+629735424,629800959,IR
+629800960,629866495,DE
+629866496,629882879,RU
+629882880,629884927,EU
+629884928,629886975,PL
+629886976,629889023,RU
+629889024,629891071,IT
+629891072,629895167,UA
+629895168,629897215,AL
+629897216,629901311,ES
+629901312,629903359,NL
+629903360,629905407,PL
+629905408,629907455,SE
+629907456,629915647,UA
+629915648,629983231,RU
+629983232,629985279,FR
+629985280,629987327,TR
+629987328,629989375,SE
+629989376,629991423,FR
+629991424,629993471,NL
+629993472,629997567,JO
+629997568,630063103,SA
+630063104,630128639,IL
+630128640,630130687,BE
+630130688,630136831,RU
+630136832,630138879,NL
+630138880,630145023,DE
+630145024,630147071,EE
+630147072,630149119,HU
+630149120,630151167,NL
+630151168,630153215,UA
+630153216,630157311,RU
+630157312,630159359,CZ
+630159360,630161407,ES
+630161408,630163455,KG
+630163456,630165503,GB
+630165504,630167551,IR
+630167552,630169599,GE
+630169600,630173695,RO
+630177792,630194175,BG
+630194176,630456319,RU
+630456320,630489087,RO
637534208,644067391,US
644067392,644067455,CA
644067456,644835071,US
644835072,644835327,CA
644835328,644839423,US
644839424,644840447,CA
-644840448,645225471,US
+644840448,644898879,US
+644898880,644898911,CA
+644898912,645225471,US
645225472,645225503,CA
645225504,654311423,US
654311424,654311679,CN
@@ -2584,14 +3899,18 @@
654835712,655359999,TW
655360000,656408575,KR
656408576,658505727,PK
-658505728,661651455,CN
+658505728,660602879,CN
+660602880,661651455,HK
661651456,662700031,KR
662700032,666894335,CN
666894336,671088639,ID
671088640,687865855,US
687865856,689963007,ZA
689963008,691011583,EG
-691011584,691666943,ZA
+691011584,691617791,ZA
+691617792,691621887,ZW
+691621888,691625983,LR
+691634176,691666943,ZA
691666944,691732479,NG
691732480,691798015,TZ
691798016,691863551,ZM
@@ -2701,6 +4020,10 @@
692944896,692946943,MZ
692946944,692948991,EG
692948992,692951039,ZM
+692951040,692953087,ZA
+692953088,692955135,RW
+692955136,692957183,NG
+692957184,692959231,DZ
692969472,692971519,TZ
692973568,692975615,MZ
692975616,692977663,EG
@@ -2784,12 +4107,35 @@
693069824,693071871,ZA
693071872,693072895,ZW
693072896,693073919,NG
+693074944,693075967,CV
+693075968,693076991,CM
+693076992,693078015,ZW
+693078016,693079039,BW
+693079040,693080063,KE
+693080064,693081087,NG
+693081088,693082111,ZA
+693082112,693083135,NG
+693083136,693086207,ZA
+693086208,693087231,KE
+693087232,693088255,ZA
+693088256,693089279,NG
+693089280,693090303,ZA
+693090304,693091327,TZ
+693091328,693092351,ZW
+693092352,693093375,ZA
+693093376,693094399,SO
+693094400,693095423,GN
+693095424,693096447,NG
+693096448,693097471,EG
+693097472,693098495,ZA
+693098496,693099519,BJ
+693099520,693100543,ZA
693101568,693102591,KE
693102592,693103615,CD
693103616,693104639,GN
693104640,693105663,ZA
693105664,693106687,MZ
-693106688,693107711,TZ
+693106688,693107711,ZA
693107712,693239807,KE
693239808,693370879,SN
693370880,693403647,ZA
@@ -2925,10 +4271,7 @@
700446720,700447743,SL
700447744,700448767,DZ
700448768,700579839,ZA
-700579840,700580863,SC
-700580864,700585727,A2
-700585728,700586503,TZ
-700586504,700588031,A2
+700579840,700588031,A2
700588032,700588286,KM
700588287,700589567,A2
700589568,700589695,TZ
@@ -2940,9 +4283,9 @@
700645376,700710911,ZA
700710912,700776447,EG
700776448,700841983,RW
-700841984,700895231,ZA
+700841984,700895231,MU
700895232,700899327,NG
-700899328,700907519,ZA
+700899328,700907519,MU
700907520,700973055,EG
700973056,701104127,DZ
701104128,701112319,GH
@@ -2979,14 +4322,14 @@
701366272,701374463,NG
701374464,701382655,KE
701382656,701390847,CI
-701390848,701399039,GA
701399040,701407231,EG
-701407232,701415423,CA
-701415424,701423615,ZA
+701407232,701423615,ZA
701423616,701431807,NG
701431808,701439999,CI
701440000,701448191,MG
-701448192,701464575,KE
+701448192,701461247,KE
+701461248,701461503,CD
+701461504,701464575,KE
701464576,701472767,MU
701472768,701480959,TG
701480960,701489151,CI
@@ -3077,8 +4420,7 @@
702328832,702332927,TZ
702332928,702337023,MZ
702337024,702341119,UG
-702341120,702345215,KE
-702345216,702349311,TZ
+702341120,702349311,KE
702349312,702353407,ZA
702353408,702357503,DZ
702357504,702365695,TZ
@@ -3091,8 +4433,7 @@
702390272,702394367,NG
702394368,702398463,ML
702398464,702402559,CV
-702402560,702406655,GH
-702406656,702410751,ZA
+702402560,702410751,ZA
702410752,702414847,AO
702414848,702416895,UG
702416896,702418943,KE
@@ -3102,7 +4443,7 @@
702425088,702427135,NG
702427136,702429183,ZA
702429184,702431231,TZ
-702431232,702435327,NG
+702431232,702433279,NG
702435328,702437375,MZ
702437376,702439423,TZ
702439424,702441471,MU
@@ -3131,15 +4472,11 @@
702478336,702481407,AO
702481408,702482431,TZ
702482432,702483455,ZA
-702483456,702484479,BW
702484480,702485503,TZ
702485504,702486527,EG
-702486528,702487551,NG
702487552,702488575,CM
702488576,702490623,ZA
702490624,702491647,AO
-702491648,702492671,LR
-702492672,702493695,KE
702493696,702494719,EG
702494720,702495743,KE
702495744,702496767,ZA
@@ -3150,11 +4487,9 @@
702500864,702501887,NA
702501888,702502911,UG
702502912,702503935,SL
-702503936,702505983,GA
702505984,702507007,AO
702507008,702508031,CD
702508032,702509055,KE
-702509056,702510079,ZA
702510080,702511103,ZM
702511104,702512127,ZA
702512128,702513151,MZ
@@ -3174,7 +4509,6 @@
702526464,702527487,TZ
702527488,702528511,CF
702528512,702529535,CG
-702529536,702530559,NG
702530560,702531583,EG
702531584,702532607,SD
702532608,702533631,SC
@@ -3188,6 +4522,7 @@
702541824,702542847,EG
702542848,702543871,ZA
702543872,702544895,BJ
+702544896,702545919,ZA
702545920,703070207,TN
703070208,703594495,EG
703594496,704118783,ZA
@@ -3257,19 +4592,15 @@
771751936,771817471,RU
771817472,771948543,TR
771948544,772014079,RU
-772014080,772047647,DE
-772047648,772047663,IT
-772047664,772050575,DE
+772014080,772050575,DE
772050576,772050583,TR
-772050584,772051223,DE
-772051224,772051231,CH
-772051232,772054815,DE
+772050584,772054815,DE
772054816,772054847,ES
772054848,772057727,DE
772057728,772057735,IT
-772057736,772076095,DE
-772076096,772076103,IT
-772076104,772076127,DE
+772057736,772073599,DE
+772073600,772073607,IT
+772073608,772076127,DE
772076128,772076159,EG
772076160,772145151,DE
772145152,772210687,ES
@@ -3311,7 +4642,9 @@
772844800,772845311,US
772845312,772845567,IT
772845568,772847615,RU
-772847616,772849663,GB
+772847616,772848128,GB
+772848129,772848191,JO
+772848192,772849663,GB
772849664,772851711,BG
772851712,772853759,CH
772853760,772855807,GB
@@ -3337,9 +4670,7 @@
772886528,772888575,FR
772888576,772890623,GB
772890624,772892671,RU
-772892672,772892799,DE
-772892800,772892893,GB
-772892894,772892927,DE
+772892672,772892927,DE
772892928,772892959,GB
772892960,772894719,DE
772894720,772896767,PL
@@ -3356,7 +4687,9 @@
772917248,772919295,RU
772919296,772923391,GB
772923392,772925439,AT
-772925440,772927487,GB
+772925440,772925695,GB
+772925696,772926463,ZW
+772926464,772927487,GB
772927488,772929535,UA
772929536,772931583,RU
772931584,772933631,UA
@@ -3373,7 +4706,7 @@
772950016,772952063,ES
772952064,772954111,GB
772954112,772958207,FR
-772960256,772962303,GB
+772958208,772962303,GB
772962304,772966399,FR
772966400,772968447,IT
772968448,772970495,SK
@@ -3431,9 +4764,9 @@
773062912,773063167,US
773063168,773063424,TR
773063425,773063436,US
-773063437,773064447,TR
-773064448,773064703,US
-773064704,773065088,TR
+773063437,773065064,TR
+773065065,773065070,US
+773065071,773065088,TR
773065089,773065215,US
773065216,773065584,TR
773065585,773065590,GB
@@ -3441,9 +4774,7 @@
773066752,773070847,AT
773070848,773071231,DE
773071232,773071263,NA
-773071264,773073279,DE
-773073280,773073343,ES
-773073344,773074943,DE
+773071264,773074943,DE
773074944,773079039,PL
773079040,773083135,RU
773083136,773087231,IT
@@ -3465,22 +4796,22 @@
773140480,773144575,CY
773144576,773148671,RU
773148672,773152767,IR
-773152768,773153791,SE
-773153792,773154815,US
+773152768,773152895,SE
+773152896,773152959,US
+773152960,773153535,SE
+773153536,773154815,US
773154816,773155583,SE
773155584,773155839,US
773155840,773156863,SE
-773156864,773157887,FR
-773157888,773158911,DE
+773156864,773158143,FR
+773158144,773158911,DE
773158912,773160447,FR
773160448,773160959,ES
773160960,773165055,FR
773165056,773166591,NL
773166592,773167207,US
773167208,773167215,NL
-773167216,773167359,US
-773167360,773167615,NL
-773167616,773168639,US
+773167216,773168639,US
773168640,773168671,NL
773168672,773169151,US
773169152,773171343,NL
@@ -3504,7 +4835,7 @@
773197824,773201919,CH
773201920,773206015,DE
773206016,773210111,RU
-773210112,773214207,US
+773210112,773214207,EU
773214208,773218303,FR
773218304,773222399,IS
773222400,773226495,SE
@@ -3561,7 +4892,10 @@
773634048,773636095,DE
773636096,773638143,UA
773638144,773640191,CH
-773640192,773642239,ES
+773640192,773640513,ES
+773640514,773640515,FR
+773640516,773640516,NL
+773640517,773642239,ES
773642240,773644287,HU
773644288,773646335,RU
773646336,773648383,TR
@@ -3600,7 +4934,10 @@
773689344,773691391,PL
773691392,773695487,RU
773695488,773697535,MK
-773697536,773699583,LU
+773697536,773698047,LU
+773698048,773698063,GB
+773698064,773698079,US
+773698080,773699583,LU
773699584,773701631,CZ
773701632,773703679,RU
773703680,773705727,IT
@@ -3609,9 +4946,7 @@
773709824,773711871,CZ
773711872,773713919,RU
773713920,773715967,NL
-773715968,773715999,SE
-773716000,773716063,US
-773716064,773716991,SE
+773715968,773716991,SE
773716992,773718015,US
773718016,773720063,DE
773720064,773722111,GB
@@ -3701,11 +5036,17 @@
773963776,773971967,ME
773971968,773980159,UA
773980160,773988351,GB
-773988352,774003199,ES
+773988352,774000895,ES
+774000896,774001151,NL
+774001152,774001663,ES
+774001664,774002687,NL
+774002688,774003199,ES
774003200,774003263,TR
774003264,774003311,ES
-774003312,774003391,TR
-774003392,774003711,ES
+774003312,774003455,TR
+774003456,774003583,ES
+774003584,774003599,TR
+774003600,774003711,ES
774003712,774004223,BE
774004224,774004479,ES
774004480,774004511,BE
@@ -3716,9 +5057,11 @@
774029312,774037503,RO
774037504,774045695,SK
774045696,774053887,FR
-774053888,774055935,DE
-774055936,774057983,US
-774057984,774058359,DE
+774053888,774055551,DE
+774055552,774055679,US
+774055680,774055935,DE
+774055936,774057855,US
+774057856,774058359,DE
774058360,774058367,HR
774058368,774059215,DE
774059216,774059223,ZA
@@ -3919,21 +5262,20 @@
774162156,774162160,UY
774162161,774162165,LV
774162166,774162170,MD
-774162171,774162173,LB
+774162171,774162173,GB
774162174,774162176,VA
774162177,774162181,LK
774162182,774162186,IE
774162187,774162196,EH
774162197,774162206,NA
774162207,774162216,CX
-774162217,774162226,LA
-774162227,774162236,GB
+774162217,774162236,GB
774162237,774162246,CH
774162247,774162266,US
774162267,774162276,PT
774162277,774162286,AE
774162287,774162296,IO
-774162297,774162306,GU
+774162297,774162306,GB
774162307,774162316,RE
774162317,774162326,TK
774162327,774162336,CV
@@ -3968,13 +5310,22 @@
774162638,774162642,NF
774162643,774162687,US
774162688,774162688,VA
-774162689,774162748,US
-774162749,774162753,PR
-774162754,774162778,US
+774162689,774162778,US
774162779,774162798,CA
774162799,774162803,BN
774162804,774162808,TM
-774162809,774162943,VA
+774162809,774162813,US
+774162814,774162818,IT
+774162819,774162823,KZ
+774162824,774162828,MV
+774162829,774162833,VA
+774162834,774162838,SM
+774162839,774162848,GB
+774162849,774162853,AU
+774162854,774162858,NL
+774162859,774162863,IE
+774162864,774162878,US
+774162879,774162943,VA
774162944,774163199,CH
774163200,774168575,VA
774168576,774176767,PL
@@ -3982,172 +5333,7 @@
774184960,774193151,GB
774193152,774209535,ES
774209536,774217727,RU
-774217728,774217855,GB
-774217856,774217887,US
-774217888,774217927,GB
-774217928,774217935,LK
-774217936,774217943,GB
-774217944,774217951,CN
-774217952,774218551,GB
-774218552,774218559,CN
-774218560,774218591,GB
-774218592,774218599,CN
-774218600,774218623,GB
-774218624,774218631,PT
-774218632,774218655,GB
-774218656,774218663,RU
-774218664,774218671,GB
-774218672,774218679,CL
-774218680,774218703,GB
-774218704,774218711,CN
-774218712,774218719,GB
-774218720,774218727,CN
-774218728,774218735,RU
-774218736,774219327,GB
-774219328,774219335,TW
-774219336,774219391,GB
-774219392,774219399,US
-774219400,774219439,GB
-774219440,774219447,CN
-774219448,774219455,ES
-774219456,774219479,CN
-774219480,774219487,GB
-774219488,774219495,CN
-774219496,774219519,GB
-774219520,774219551,CN
-774219552,774219559,PS
-774219560,774219567,GB
-774219568,774219575,CN
-774219576,774219583,GR
-774219584,774219599,GB
-774219600,774219607,CN
-774219608,774219775,GB
-774219776,774219777,CN
-774219778,774219778,GB
-774219779,774219785,CN
-774219786,774219786,GB
-774219787,774219794,CN
-774219795,774219795,GB
-774219796,774219810,CN
-774219811,774219812,GB
-774219813,774219815,CN
-774219816,774219821,GB
-774219822,774219839,CN
-774219840,774219895,GB
-774219896,774219903,LK
-774219904,774219967,US
-774219968,774219975,PK
-774219976,774222079,GB
-774222080,774222082,US
-774222083,774222083,GB
-774222084,774222101,US
-774222102,774222102,GB
-774222103,774222104,US
-774222105,774222105,GB
-774222106,774222109,US
-774222110,774222110,GB
-774222111,774222116,US
-774222117,774222118,GB
-774222119,774222119,US
-774222120,774222121,GB
-774222122,774222123,US
-774222124,774222125,GB
-774222126,774222130,US
-774222131,774222132,GB
-774222133,774222174,US
-774222175,774222176,GB
-774222177,774222178,US
-774222179,774222179,GB
-774222180,774222184,US
-774222185,774222186,GB
-774222187,774222209,US
-774222210,774222211,GB
-774222212,774222215,US
-774222216,774222219,GB
-774222220,774222246,US
-774222247,774222248,GB
-774222249,774222253,US
-774222254,774222255,GB
-774222256,774222266,US
-774222267,774222268,GB
-774222269,774222269,US
-774222270,774222271,GB
-774222272,774222294,US
-774222295,774222296,GB
-774222297,774222298,US
-774222299,774222299,GB
-774222300,774222303,US
-774222304,774222305,GB
-774222306,774222325,US
-774222326,774222330,GB
-774222331,774222335,US
-774222336,774222847,GB
-774222848,774222863,UA
-774222864,774222879,GB
-774222880,774222895,US
-774222896,774223007,GB
-774223008,774223039,CN
-774223040,774223071,GB
-774223072,774223073,CN
-774223074,774223077,GB
-774223078,774223103,CN
-774223104,774223119,UA
-774223120,774223151,CN
-774223152,774223167,PK
-774223168,774223183,GB
-774223184,774223199,PK
-774223200,774223231,GB
-774223232,774223239,CN
-774223240,774223247,GB
-774223248,774223255,TR
-774223256,774223271,GB
-774223272,774223279,CN
-774223280,774223303,GB
-774223304,774223311,CN
-774223312,774223319,GB
-774223320,774223327,ID
-774223328,774223335,GB
-774223336,774223351,PT
-774223352,774223359,GB
-774223360,774223375,UA
-774223376,774223391,GB
-774223392,774223407,PK
-774223408,774224007,GB
-774224008,774224015,CN
-774224016,774224055,GB
-774224056,774224063,IN
-774224064,774224071,GB
-774224072,774224079,IN
-774224080,774224087,GB
-774224088,774224095,CN
-774224096,774224103,GB
-774224104,774224111,RU
-774224112,774224119,CN
-774224120,774224399,GB
-774224400,774224407,LT
-774224408,774224967,GB
-774224968,774224975,UA
-774224976,774224983,GB
-774224984,774224991,CN
-774224992,774224999,LK
-774225000,774225007,GB
-774225008,774225015,PK
-774225016,774225023,CN
-774225024,774225087,GB
-774225088,774225151,RU
-774225152,774225431,GB
-774225432,774225439,DE
-774225440,774225447,CN
-774225448,774225471,GB
-774225472,774225479,IT
-774225480,774225487,GB
-774225488,774225495,CN
-774225496,774225527,GB
-774225528,774225535,CA
-774225536,774225567,GB
-774225568,774225599,RU
-774225600,774225855,GB
-774225856,774225919,IN
+774217728,774225919,GB
774225920,774234111,UA
774234112,774242303,IT
774242304,774258687,RU
@@ -4176,7 +5362,9 @@
774520832,774537215,BH
774537216,774553599,RU
774553600,774569983,RO
-774569984,774586367,GB
+774569984,774579295,GB
+774579296,774579327,IT
+774579328,774586367,GB
774586368,774602751,PS
774602752,774619135,GB
774619136,774651903,RU
@@ -4211,7 +5399,9 @@
775421952,775487487,BY
775487488,775520255,AT
775520256,775553023,SY
-775553024,775585791,EU
+775553024,775557119,EU
+775557120,775557375,CH
+775557376,775585791,EU
775585792,775618559,SY
775618560,775641087,SE
775641088,775641119,FI
@@ -4246,7 +5436,9 @@
775642912,775643007,SE
775643008,775643071,GB
775643072,775643135,DE
-775643136,775651327,SE
+775643136,775645951,SE
+775645952,775646207,NO
+775646208,775651327,SE
775651328,775684095,DE
775684096,775716863,PS
775716864,775749631,GB
@@ -4273,7 +5465,10 @@
778500096,778502143,RO
778502144,778567679,GR
778567680,778633215,TR
-778633216,778638975,FR
+778633216,778638079,FR
+778638080,778638335,IT
+778638336,778638591,ES
+778638592,778638975,FR
778638976,778639103,CZ
778639104,778639231,LT
778639232,778639359,FI
@@ -4290,7 +5485,9 @@
778666016,778666031,FR
778666032,778666047,PL
778666048,778666063,FR
-778666064,778666099,PL
+778666064,778666079,IE
+778666080,778666095,FR
+778666096,778666099,PL
778666100,778666103,LT
778666104,778666107,GB
778666108,778666111,IE
@@ -4301,20 +5498,20 @@
778666144,778666151,FR
778666152,778666155,GB
778666156,778666159,ES
-778666160,778666175,PL
-778666176,778666207,FR
-778666208,778666239,PL
-778666240,778666247,GB
-778666248,778666259,FR
+778666160,778666191,FR
+778666192,778666239,PL
+778666240,778666243,GB
+778666244,778666259,FR
778666260,778666263,PL
778666264,778666271,CH
-778666272,778666295,FR
+778666272,778666287,FR
+778666288,778666295,GB
778666296,778666299,ES
778666300,778666303,GB
778666304,778666367,FR
778666368,778666371,PL
-778666372,778666375,GB
-778666376,778666383,FR
+778666372,778666379,GB
+778666380,778666383,ES
778666384,778666391,DE
778666392,778666399,PL
778666400,778666479,FR
@@ -4331,8 +5528,9 @@
778666976,778667007,FR
778667008,778667263,GB
778667264,778667279,FR
-778667280,778667287,IE
-778667288,778667291,NL
+778667280,778667283,IE
+778667284,778667287,PL
+778667288,778667291,IT
778667292,778667295,CH
778667296,778667327,BE
778667328,778667331,GB
@@ -4350,7 +5548,7 @@
778667476,778667479,DE
778667480,778667483,GB
778667484,778667487,NL
-778667488,778667491,PL
+778667488,778667491,LT
778667492,778667495,CH
778667496,778667499,DE
778667500,778667503,GB
@@ -4374,7 +5572,7 @@
778667952,778667967,GB
778667968,778667999,FR
778668000,778668019,DE
-778668020,778668023,ES
+778668020,778668023,NL
778668024,778668027,PT
778668028,778668319,FR
778668320,778668351,GB
@@ -4383,7 +5581,10 @@
778668368,778668371,DE
778668372,778668375,ES
778668376,778668379,GB
-778668380,778668415,FR
+778668380,778668391,FR
+778668392,778668395,PT
+778668396,778668399,ES
+778668400,778668415,FR
778668416,778668495,ES
778668496,778668499,PL
778668500,778668503,FR
@@ -4408,10 +5609,14 @@
778668716,778668719,PL
778668720,778668723,PT
778668724,778668727,PL
-778668728,778668731,PT
+778668728,778668731,IE
778668732,778668735,DE
778668736,778668799,IT
-778668800,778669103,FR
+778668800,778668863,FR
+778668864,778668895,DE
+778668896,778669055,FR
+778669056,778669087,ES
+778669088,778669103,FR
778669104,778669107,PL
778669108,778669111,GB
778669112,778669119,NL
@@ -4430,7 +5635,7 @@
778669304,778669439,FR
778669440,778669447,GB
778669448,778669451,PL
-778669452,778669455,NL
+778669452,778669455,ES
778669456,778669471,FR
778669472,778669503,CZ
778669504,778669535,ES
@@ -4439,17 +5644,26 @@
778669544,778669547,FR
778669548,778669551,IT
778669552,778669567,PL
-778669568,778669615,FR
+778669568,778669571,DE
+778669572,778669575,CZ
+778669576,778669579,NL
+778669580,778669583,DE
+778669584,778669587,ES
+778669588,778669591,FR
+778669592,778669599,BE
+778669600,778669615,FR
778669616,778669623,GB
778669624,778669631,PL
778669632,778669663,FR
-778669664,778669695,GB
+778669664,778669695,DE
778669696,778669727,PT
778669728,778669759,NL
778669760,778669767,DE
778669768,778669771,GB
778669772,778669775,PL
-778669776,778669791,ES
+778669776,778669783,DE
+778669784,778669787,IE
+778669788,778669791,PL
778669792,778669807,DE
778669808,778669823,FR
778669824,778669855,ES
@@ -4465,12 +5679,16 @@
778670000,778670007,PL
778670008,778670011,CZ
778670012,778670015,LT
-778670016,778670143,FR
-778670144,778670151,CZ
+778670016,778670019,NL
+778670020,778670035,IT
+778670036,778670039,GB
+778670040,778670043,ES
+778670044,778670079,GB
+778670080,778670151,FR
778670152,778670159,CH
778670160,778670163,FR
778670164,778670171,GB
-778670172,778670175,FR
+778670172,778670175,NL
778670176,778670207,GB
778670208,778670211,DE
778670212,778670215,IT
@@ -4490,7 +5708,9 @@
778670356,778670359,FR
778670360,778670383,DE
778670384,778670387,PL
-778670388,778670399,GB
+778670388,778670391,NL
+778670392,778670395,CZ
+778670396,778670399,GB
778670400,778670407,PL
778670408,778670411,DE
778670412,778670415,NL
@@ -4512,26 +5732,30 @@
778670572,778670575,FR
778670576,778670591,IT
778670592,778671103,ES
-778671104,778671119,FR
-778671120,778671127,DE
+778671104,778671119,GB
+778671120,778671127,IT
778671128,778671135,PT
778671136,778671167,BE
-778671168,778671183,FI
+778671168,778671171,CZ
+778671172,778671175,FR
+778671176,778671183,ES
778671184,778671203,FR
778671204,778671211,PL
778671212,778671231,FR
778671232,778671239,GB
778671240,778671243,PL
-778671244,778671247,FR
+778671244,778671247,ES
778671248,778671263,PL
778671264,778671279,GB
778671280,778671311,FR
778671312,778671327,PT
-778671328,778671331,FR
+778671328,778671331,ES
778671332,778671335,DE
778671336,778671631,FR
778671632,778671647,PL
-778671648,778671807,FR
+778671648,778671775,FR
+778671776,778671791,PL
+778671792,778671807,FR
778671808,778671839,ES
778671840,778671867,FR
778671868,778671871,GB
@@ -4581,11 +5805,12 @@
778672820,778672823,PL
778672824,778672831,DE
778672832,778672851,FR
-778672852,778672891,PL
+778672852,778672879,PL
+778672880,778672887,FR
+778672888,778672891,PL
778672892,778672911,FR
778672912,778672919,PL
-778672920,778672923,FR
-778672924,778672927,ES
+778672920,778672927,FR
778672928,778672959,DE
778672960,778673071,FR
778673072,778673079,DE
@@ -4593,7 +5818,8 @@
778673084,778673087,PT
778673088,778673119,FR
778673120,778673151,ES
-778673152,778673191,FR
+778673152,778673187,FR
+778673188,778673191,DE
778673192,778673195,ES
778673196,778673199,GB
778673200,778673203,CZ
@@ -4616,7 +5842,8 @@
778673728,778673823,FR
778673824,778673839,ES
778673840,778673843,FR
-778673844,778673855,DE
+778673844,778673851,DE
+778673852,778673855,BE
778673856,778673879,FR
778673880,778673883,CZ
778673884,778673887,FI
@@ -4663,16 +5890,20 @@
778674984,778674999,FR
778675000,778675003,FI
778675004,778675007,GB
-778675008,778675039,ES
+778675008,778675023,FR
+778675024,778675039,ES
778675040,778675071,FR
778675072,778675075,DE
778675076,778675079,IT
778675080,778675087,ES
-778675088,778675159,FR
+778675088,778675135,FR
+778675136,778675151,GB
+778675152,778675159,FR
778675160,778675163,PL
-778675164,778675167,DE
+778675164,778675167,GB
778675168,778675199,FR
-778675200,778675215,DE
+778675200,778675207,ES
+778675208,778675215,PL
778675216,778675219,PT
778675220,778675227,FR
778675228,778675231,NL
@@ -4680,7 +5911,7 @@
778675236,778675243,PL
778675244,778675247,DE
778675248,778675359,FR
-778675360,778675363,DE
+778675360,778675363,NL
778675364,778675367,BE
778675368,778675371,CH
778675372,778675375,CZ
@@ -4689,7 +5920,8 @@
778675444,778675447,FR
778675448,778675451,PL
778675452,778675455,DE
-778675456,778675471,NL
+778675456,778675459,PL
+778675460,778675471,FR
778675472,778675475,BE
778675476,778675479,ES
778675480,778675483,CH
@@ -4700,21 +5932,42 @@
778675504,778675507,DE
778675508,778675511,GB
778675512,778675519,PL
-778675520,778675551,ES
-778675552,778675599,FR
+778675520,778675535,NL
+778675536,778675543,GB
+778675544,778675599,FR
778675600,778675615,GB
778675616,778675619,PL
778675620,778675623,ES
-778675624,778675631,PL
+778675624,778675627,FR
+778675628,778675631,PL
778675632,778675639,ES
778675640,778675647,DE
-778675648,778675679,FR
-778675680,778675695,DE
+778675648,778675683,FR
+778675684,778675687,GB
+778675688,778675691,ES
+778675692,778675695,FR
778675696,778675711,NL
-778675712,778675839,FR
+778675712,778675735,FR
+778675736,778675739,PL
+778675740,778675775,FR
+778675776,778675779,GB
+778675780,778675783,PL
+778675784,778675791,LT
+778675792,778675795,NL
+778675796,778675799,DE
+778675800,778675803,GB
+778675804,778675807,CZ
+778675808,778675811,PL
+778675812,778675815,GB
+778675816,778675819,PL
+778675820,778675823,GB
+778675824,778675827,FR
+778675828,778675831,DE
+778675832,778675839,FR
778675840,778675843,FI
778675844,778675847,FR
-778675848,778675855,PL
+778675848,778675851,GB
+778675852,778675855,FR
778675856,778675859,GB
778675860,778675863,IE
778675864,778675867,DE
@@ -4731,18 +5984,19 @@
778675944,778676095,FR
778676096,778676099,DE
778676100,778676103,CZ
-778676104,778676111,GB
-778676112,778676127,IT
+778676104,778676115,GB
+778676116,778676119,FR
+778676120,778676127,PL
778676128,778676131,ES
778676132,778676135,CZ
778676136,778676139,DE
778676140,778676143,PL
778676144,778676159,DE
778676160,778676187,FR
-778676188,778676191,BE
+778676188,778676191,CZ
778676192,778676207,IT
-778676208,778676211,GB
-778676212,778676215,ES
+778676208,778676211,FI
+778676212,778676215,IE
778676216,778676219,FR
778676220,778676223,GB
778676224,778676415,FR
@@ -4764,19 +6018,20 @@
778676612,778676615,PT
778676616,778676619,BE
778676620,778676623,FR
-778676624,778676631,PL
+778676624,778676627,GB
+778676628,778676631,LT
778676632,778676635,FR
778676636,778676639,DE
778676640,778676655,ES
778676656,778676687,FR
778676688,778676691,ES
-778676692,778676703,PL
-778676704,778676719,FR
+778676692,778676695,PL
+778676696,778676719,FR
778676720,778676723,GB
778676724,778676727,PT
778676728,778676731,PL
778676732,778676735,IT
-778676736,778676743,PL
+778676736,778676743,FR
778676744,778676747,CH
778676748,778676751,CZ
778676752,778676767,ES
@@ -4790,20 +6045,26 @@
778676812,778676815,IE
778676816,778676823,LT
778676824,778676827,GB
-778676828,778676847,FR
+778676828,778676831,NL
+778676832,778676847,FR
778676848,778676851,NL
778676852,778676855,LT
778676856,778676859,IE
778676860,778676863,DE
778676864,778676991,PL
778676992,778676999,FR
-778677000,778677003,PL
-778677004,778677023,FR
+778677000,778677007,PL
+778677008,778677023,FR
778677024,778677055,DE
778677056,778677075,FR
778677076,778677079,DE
778677080,778677083,IT
-778677084,778677123,DE
+778677084,778677087,DE
+778677088,778677099,FR
+778677100,778677103,IE
+778677104,778677107,GB
+778677108,778677119,PL
+778677120,778677123,DE
778677124,778677127,GB
778677128,778677131,FR
778677132,778677135,BE
@@ -4813,8 +6074,31 @@
778677176,778677183,NL
778677184,778677215,GB
778677216,778677247,PL
-778677248,778677503,FR
-778677504,778677511,DE
+778677248,778677251,FR
+778677252,778677255,GB
+778677256,778677259,ES
+778677260,778677311,FR
+778677312,778677327,PL
+778677328,778677331,FI
+778677332,778677335,PT
+778677336,778677339,CH
+778677340,778677343,CZ
+778677344,778677375,FR
+778677376,778677391,GB
+778677392,778677399,FR
+778677400,778677403,PT
+778677404,778677407,CZ
+778677408,778677411,CH
+778677412,778677427,PL
+778677428,778677431,DE
+778677432,778677435,FR
+778677436,778677439,PL
+778677440,778677471,FR
+778677472,778677475,DE
+778677476,778677479,CZ
+778677480,778677503,PL
+778677504,778677507,IE
+778677508,778677511,DE
778677512,778677515,IT
778677516,778677519,GB
778677520,778677523,FR
@@ -4842,9 +6126,11 @@
778677904,778677919,FR
778677920,778677923,CH
778677924,778677927,PT
-778677928,778677935,PL
+778677928,778677931,GB
+778677932,778677935,DE
778677936,778677939,FR
-778677940,778677947,BE
+778677940,778677943,BE
+778677944,778677947,GB
778677948,778677951,DE
778677952,778677967,FR
778677968,778677983,GB
@@ -4857,20 +6143,22 @@
778678020,778678023,DE
778678024,778678027,ES
778678028,778678031,FR
-778678032,778678047,PL
+778678032,778678039,NL
+778678040,778678047,PL
778678048,778678115,FR
-778678116,778678127,ES
+778678116,778678119,ES
+778678120,778678127,IT
778678128,778678143,FR
778678144,778678159,GB
778678160,778678163,PL
778678164,778678167,BE
778678168,778678191,PL
-778678192,778678207,NL
+778678192,778678207,FR
778678208,778678271,PL
778678272,778678783,DE
778678784,778678799,FR
-778678800,778678803,DE
-778678804,778678807,GB
+778678800,778678803,PL
+778678804,778678807,DE
778678808,778678815,FR
778678816,778678831,PL
778678832,778678835,FR
@@ -4898,33 +6186,36 @@
778679032,778679035,FR
778679036,778679055,PL
778679056,778679071,BE
-778679072,778679103,ES
+778679072,778679087,FR
+778679088,778679091,PL
+778679092,778679095,CZ
+778679096,778679099,CH
+778679100,778679103,IT
778679104,778679123,PL
778679124,778679127,FR
778679128,778679151,DE
-778679152,778679167,FR
-778679168,778679199,ES
-778679200,778679215,FR
+778679152,778679215,FR
778679216,778679231,PT
778679232,778679263,ES
778679264,778679267,IT
778679268,778679271,FR
778679272,778679279,PL
-778679280,778679295,PT
-778679296,778679495,FR
-778679496,778679519,PL
+778679280,778679295,ES
+778679296,778679491,FR
+778679492,778679519,PL
778679520,778679523,LT
778679524,778679527,PL
-778679528,778679531,DE
+778679528,778679531,NL
778679532,778679535,GB
778679536,778679551,ES
778679552,778679615,FR
778679616,778679679,ES
778679680,778679695,PT
-778679696,778679743,GB
-778679744,778679807,ES
+778679696,778679711,GB
+778679712,778679807,FR
778679808,778679823,IT
-778679824,778679843,PL
+778679824,778679839,PL
+778679840,778679843,CH
778679844,778679847,DE
778679848,778679855,FR
778679856,778679871,DE
@@ -4937,20 +6228,25 @@
778679936,778680079,FR
778680080,778680087,GB
778680088,778680091,IT
-778680092,778680111,PL
+778680092,778680095,PL
+778680096,778680111,FR
778680112,778680127,ES
-778680128,778680151,PL
+778680128,778680143,PL
+778680144,778680147,FR
+778680148,778680151,GB
778680152,778680155,ES
778680156,778680159,BE
778680160,778680175,PT
778680176,778680183,ES
-778680184,778680199,IT
+778680184,778680191,IT
+778680192,778680195,FR
+778680196,778680199,DE
778680200,778680203,NL
778680204,778680207,PL
778680208,778680227,FR
778680228,778680231,IE
778680232,778680239,GB
-778680240,778680255,PL
+778680240,778680255,FR
778680256,778680271,IT
778680272,778680279,BE
778680280,778680287,PL
@@ -4959,13 +6255,15 @@
778680448,778680451,PT
778680452,778680455,IE
778680456,778680471,FR
-778680472,778680479,BE
+778680472,778680475,ES
+778680476,778680479,IE
778680480,778680559,FR
778680560,778680575,ES
778680576,778680639,NL
-778680640,778680647,DE
-778680648,778680671,ES
-778680672,778680679,FR
+778680640,778680643,GB
+778680644,778680647,PT
+778680648,778680655,ES
+778680656,778680679,FR
778680680,778680683,PL
778680684,778680687,DE
778680688,778680767,FR
@@ -4978,20 +6276,28 @@
778681152,778681215,PL
778681216,778681235,FR
778681236,778681239,ES
-778681240,778681251,FR
+778681240,778681243,FR
+778681244,778681247,GB
+778681248,778681251,FR
778681252,778681255,DE
-778681256,778681279,FR
+778681256,778681267,FR
+778681268,778681271,PL
+778681272,778681279,FR
778681280,778681295,DE
778681296,778681311,IE
778681312,778681315,NL
778681316,778681319,FR
778681320,778681327,ES
778681328,778681359,GB
-778681360,778681367,FR
-778681368,778681383,CZ
-778681384,778681399,IT
-778681400,778681415,NL
-778681416,778681419,GB
+778681360,778681367,ES
+778681368,778681371,NL
+778681372,778681375,CH
+778681376,778681383,FR
+778681384,778681391,DE
+778681392,778681399,FR
+778681400,778681403,DE
+778681404,778681407,ES
+778681408,778681419,GB
778681420,778681423,BE
778681424,778681431,FR
778681432,778681435,DE
@@ -5002,12 +6308,15 @@
778681464,778681471,ES
778681472,778681475,DE
778681476,778681479,PT
-778681480,778681503,FR
-778681504,778681519,PL
-778681520,778681523,ES
+778681480,778681487,FR
+778681488,778681503,GB
+778681504,778681507,FR
+778681508,778681511,IT
+778681512,778681515,PL
+778681516,778681523,ES
778681524,778681527,FR
778681528,778681531,PL
-778681532,778681535,CH
+778681532,778681535,IT
778681536,778681543,FR
778681544,778681547,GB
778681548,778681551,PT
@@ -5016,16 +6325,36 @@
778681588,778681591,FR
778681592,778681595,LT
778681596,778681599,GB
-778681600,778681623,DE
-778681624,778681663,FR
-778681664,778681671,DE
+778681600,778681615,DE
+778681616,778681619,ES
+778681620,778681623,DE
+778681624,778681631,FR
+778681632,778681639,IT
+778681640,778681643,PL
+778681644,778681647,DE
+778681648,778681651,FR
+778681652,778681655,CH
+778681656,778681667,DE
+778681668,778681671,FR
778681672,778681675,GB
778681676,778681703,FR
778681704,778681707,IE
778681708,778681711,ES
778681712,778681727,FR
-778681728,778682111,GB
-778682112,778682115,IT
+778681728,778681743,ES
+778681744,778681747,FR
+778681748,778681751,IT
+778681752,778681759,FR
+778681760,778681763,CZ
+778681764,778681767,NL
+778681768,778681771,PL
+778681772,778681775,IT
+778681776,778681779,FR
+778681780,778681783,PL
+778681784,778681787,GB
+778681788,778681791,FR
+778681792,778681823,DE
+778681824,778682115,FR
778682116,778682119,PL
778682120,778682123,CH
778682124,778682127,FR
@@ -5037,7 +6366,7 @@
778682204,778682207,PT
778682208,778682239,FR
778682240,778682243,BE
-778682244,778682247,DE
+778682244,778682247,LT
778682248,778682295,FR
778682296,778682303,PL
778682304,778682331,FR
@@ -5050,10 +6379,11 @@
778690624,778690639,PL
778690640,778690655,IT
778690656,778690687,PT
-778690688,778690703,PL
+778690688,778690703,IE
778690704,778690723,FR
778690724,778690727,GB
-778690728,778690751,FR
+778690728,778690735,FR
+778690736,778690751,PT
778690752,778690783,DE
778690784,778690815,FR
778690816,778690879,ES
@@ -5077,23 +6407,29 @@
778691064,778691067,LT
778691068,778691359,FR
778691360,778691583,PT
-778691584,778691743,FR
+778691584,778691615,FR
+778691616,778691619,DE
+778691620,778691627,NL
+778691628,778691631,PL
+778691632,778691743,FR
778691744,778691747,PL
778691748,778691751,ES
778691752,778691755,FI
-778691756,778691759,FR
-778691760,778691795,GB
+778691756,778691759,ES
+778691760,778691791,GB
+778691792,778691795,DE
778691796,778691799,PL
778691800,778691803,ES
778691804,778691807,PL
778691808,778691839,ES
778691840,778691855,CH
-778691856,778691975,FR
+778691856,778691967,FR
+778691968,778691971,NL
+778691972,778691975,FR
778691976,778691983,ES
-778691984,778691987,BE
+778691984,778691987,GB
778691988,778691991,IT
-778691992,778691999,FR
-778692000,778692015,PL
+778691992,778692015,FR
778692016,778692031,IE
778692032,778692039,DE
778692040,778692063,PL
@@ -5101,12 +6437,10 @@
778692096,778692099,PL
778692100,778692103,DE
778692104,778692107,CH
-778692108,778692111,FI
-778692112,778692115,PL
+778692108,778692115,PL
778692116,778692127,FR
778692128,778692143,NL
-778692144,778692159,DE
-778692160,778692191,FR
+778692144,778692191,FR
778692192,778692195,ES
778692196,778692199,CZ
778692200,778692207,ES
@@ -5118,35 +6452,39 @@
778692616,778692619,PL
778692620,778692623,IE
778692624,778692639,NL
-778692640,778692651,FR
+778692640,778692647,FR
+778692648,778692651,DE
778692652,778692671,PL
778692672,778692679,DE
778692680,778692683,ES
-778692684,778692703,FR
-778692704,778692723,PL
+778692684,778692687,CZ
+778692688,778692703,FR
+778692704,778692719,IE
+778692720,778692723,PL
778692724,778692735,FR
778692736,778692739,ES
778692740,778692743,PL
778692744,778692747,PT
778692748,778692751,ES
778692752,778692767,FR
-778692768,778692783,FI
+778692768,778692783,ES
778692784,778692787,GB
778692788,778692791,DE
778692792,778692799,FR
778692800,778692807,IE
-778692808,778692811,PL
+778692808,778692811,CH
778692812,778692815,DE
778692816,778692823,NL
-778692824,778692831,FR
+778692824,778692827,IT
+778692828,778692831,GB
778692832,778692835,BE
778692836,778692839,PT
778692840,778692843,ES
778692844,778692847,PL
778692848,778692863,ES
-778692864,778692879,FR
+778692864,778692879,IE
778692880,778692883,PL
-778692884,778692887,IT
+778692884,778692887,FR
778692888,778692891,PL
778692892,778692895,GB
778692896,778692911,FR
@@ -5158,7 +6496,7 @@
778692976,778692983,DE
778692984,778692991,FR
778692992,778693023,GB
-778693024,778693027,LT
+778693024,778693027,PL
778693028,778693031,ES
778693032,778693035,FR
778693036,778693039,DE
@@ -5167,12 +6505,13 @@
778693060,778693063,PL
778693064,778693067,CZ
778693068,778693071,IT
-778693072,778693075,GB
+778693072,778693075,FR
778693076,778693079,PL
778693080,778693087,FR
778693088,778693091,IE
778693092,778693095,FR
-778693096,778693103,ES
+778693096,778693099,GB
+778693100,778693103,ES
778693104,778693119,FR
778693120,778693135,GB
778693136,778693139,FR
@@ -5180,11 +6519,9 @@
778693144,778693151,FR
778693152,778693155,GB
778693156,778693159,FR
-778693160,778693163,BE
-778693164,778693167,DE
+778693160,778693167,BE
778693168,778693171,CZ
-778693172,778693175,NL
-778693176,778693183,FR
+778693172,778693183,FR
778693184,778693223,PL
778693224,778693227,FR
778693228,778693231,IT
@@ -5193,18 +6530,25 @@
778693240,778693243,ES
778693244,778693247,PL
778693248,778693279,FR
-778693280,778693295,IT
-778693296,778693327,FR
+778693280,778693295,DE
+778693296,778693311,CH
+778693312,778693327,FR
778693328,778693391,GB
-778693392,778693423,FR
-778693424,778693439,ES
-778693440,778693455,FR
+778693392,778693427,FR
+778693428,778693431,CZ
+778693432,778693439,FR
+778693440,778693455,GB
778693456,778693459,DE
778693460,778693511,FR
778693512,778693515,CZ
778693516,778693567,FR
778693568,778693599,BE
-778693600,778693631,NL
+778693600,778693607,DE
+778693608,778693611,PL
+778693612,778693615,GB
+778693616,778693619,FR
+778693620,778693623,NL
+778693624,778693631,BE
778693632,778693663,FR
778693664,778693679,NL
778693680,778693695,DE
@@ -5214,9 +6558,11 @@
778693768,778693771,PL
778693772,778693775,FR
778693776,778693791,IT
-778693792,778693823,FR
+778693792,778693795,PL
+778693796,778693807,FR
+778693808,778693823,PL
778693824,778693839,PT
-778693840,778693855,ES
+778693840,778693855,FR
778693856,778693887,DE
778693888,778693919,PT
778693920,778693927,CH
@@ -5230,18 +6576,24 @@
778693984,778694015,IE
778694016,778694143,FR
778694144,778694147,DE
-778694148,778694159,PL
-778694160,778694175,FI
-778694176,778694183,FR
+778694148,778694155,PL
+778694156,778694159,NL
+778694160,778694163,GB
+778694164,778694171,PL
+778694172,778694183,FR
778694184,778694187,PL
778694188,778694191,ES
778694192,778694195,BE
-778694196,778694199,PL
+778694196,778694199,FR
778694200,778694203,IT
778694204,778694291,FR
778694292,778694295,DE
778694296,778694299,FR
-778694300,778694335,PL
+778694300,778694303,PL
+778694304,778694307,NL
+778694308,778694315,PL
+778694316,778694319,GB
+778694320,778694335,FR
778694336,778694351,IT
778694352,778694415,FR
778694416,778694463,IT
@@ -5251,7 +6603,7 @@
778694516,778694527,ES
778694528,778694543,PL
778694544,778694555,DE
-778694556,778694559,FR
+778694556,778694559,NL
778694560,778694563,PL
778694564,778694567,DE
778694568,778694571,PT
@@ -5273,17 +6625,22 @@
778694784,778694815,FR
778694816,778694823,BE
778694824,778694827,FI
-778694828,778694831,PT
+778694828,778694831,PL
778694832,778694839,IT
-778694840,778694843,FI
-778694844,778694847,CZ
+778694840,778694847,PL
778694848,778694911,FR
-778694912,778694943,GB
+778694912,778694943,LT
778694944,778694959,FR
778694960,778694975,ES
778694976,778695007,GB
778695008,778695039,ES
-778695040,778695167,GB
+778695040,778695071,IT
+778695072,778695075,FR
+778695076,778695079,PL
+778695080,778695083,NL
+778695084,778695087,PL
+778695088,778695103,PT
+778695104,778695167,PL
778695168,778695183,FR
778695184,778695191,GB
778695192,778695203,PL
@@ -5332,7 +6689,7 @@
778695776,778695795,FR
778695796,778695799,ES
778695800,778695807,FR
-778695808,778695823,ES
+778695808,778695823,DE
778695824,778695839,FR
778695840,778695903,DE
778695904,778695911,FI
@@ -5368,8 +6725,15 @@
778696184,778696187,NL
778696188,778696199,FR
778696200,778696203,IT
-778696204,778696215,ES
-778696216,778696255,GB
+778696204,778696207,ES
+778696208,778696211,IE
+778696212,778696215,DE
+778696216,778696219,IT
+778696220,778696223,GB
+778696224,778696239,FR
+778696240,778696247,DE
+778696248,778696251,PL
+778696252,778696255,GB
778696256,778696263,IT
778696264,778696287,ES
778696288,778696335,DE
@@ -5399,7 +6763,7 @@
778696660,778696663,CH
778696664,778696667,FI
778696668,778696671,IE
-778696672,778696687,FR
+778696672,778696687,CH
778696688,778696691,BE
778696692,778696695,FI
778696696,778696699,FR
@@ -5407,14 +6771,15 @@
778696704,778696959,FR
778696960,778696975,IT
778696976,778696979,GB
-778696980,778696991,FR
+778696980,778696983,FR
+778696984,778696987,ES
+778696988,778696991,FR
778696992,778696995,NL
778696996,778696999,ES
778697000,778697015,FR
778697016,778697019,PL
778697020,778697023,ES
-778697024,778697055,DE
-778697056,778697059,GB
+778697024,778697059,DE
778697060,778697063,FR
778697064,778697067,PL
778697068,778697071,FR
@@ -5423,15 +6788,25 @@
778697096,778697099,FR
778697100,778697103,PL
778697104,778697151,IE
-778697152,778697171,FR
+778697152,778697167,ES
+778697168,778697171,FR
778697172,778697175,DE
778697176,778697179,PL
778697180,778697183,GB
-778697184,778697343,FR
+778697184,778697215,FR
+778697216,778697247,PT
+778697248,778697271,FR
+778697272,778697279,BE
+778697280,778697287,IE
+778697288,778697291,FR
+778697292,778697295,IE
+778697296,778697307,NL
+778697308,778697311,GB
+778697312,778697343,PL
778697344,778697375,DE
778697376,778697387,FR
778697388,778697391,ES
-778697392,778697407,FR
+778697392,778697407,GB
778697408,778697415,PT
778697416,778697423,BE
778697424,778697435,FR
@@ -5441,14 +6816,15 @@
778697460,778697463,CZ
778697464,778697467,NL
778697468,778697471,PL
-778697472,778697679,FR
+778697472,778697675,FR
+778697676,778697679,PT
778697680,778697683,PL
778697684,778697687,FR
778697688,778697695,ES
778697696,778697727,FR
778697728,778697791,FI
778697792,778697807,ES
-778697808,778697811,GB
+778697808,778697811,DE
778697812,778697815,PL
778697816,778697819,FR
778697820,778697823,IT
@@ -5472,21 +6848,26 @@
778698452,778698455,PL
778698456,778698459,CZ
778698460,778698463,PL
-778698464,778698467,GB
+778698464,778698467,NL
778698468,778698471,PL
778698472,778698479,IT
778698480,778698495,FR
-778698496,778698499,GB
+778698496,778698499,IE
778698500,778698503,FR
778698504,778698511,CH
778698512,778698519,FI
778698520,778698527,FR
-778698528,778698531,IT
+778698528,778698531,PT
778698532,778698535,CH
778698536,778698539,PL
778698540,778698543,FR
-778698544,778698559,PL
-778698560,778698639,FR
+778698544,778698551,DE
+778698552,778698555,PL
+778698556,778698559,IT
+778698560,778698627,FR
+778698628,778698631,IE
+778698632,778698635,PL
+778698636,778698639,ES
778698640,778698643,NL
778698644,778698647,PL
778698648,778698655,ES
@@ -5497,8 +6878,8 @@
778698696,778698703,FR
778698704,778698707,DE
778698708,778698711,ES
-778698712,778698715,NL
-778698716,778698719,ES
+778698712,778698715,IE
+778698716,778698719,CZ
778698720,778698751,FR
778698752,778764287,TR
778764288,778829823,HU
@@ -5850,9 +7231,14 @@
781711360,781713407,UA
781713408,781844479,SA
781844480,781975551,TR
+781975552,782106623,NO
782106624,782254079,RU
782254080,782270463,UA
-782270464,782319615,RU
+782270464,782306303,RU
+782306304,782307327,NL
+782307328,782313727,RU
+782313728,782313983,UA
+782313984,782319615,RU
782319616,782335999,ME
782336000,782352383,RU
782352384,782368767,SY
@@ -5863,9 +7249,17 @@
782434304,782449151,SI
782449152,782449407,HR
782449408,782449663,SI
-782449664,782449679,BA
-782449680,782450175,SI
-782450176,782450687,BA
+782449664,782449703,BA
+782449704,782449711,SI
+782449712,782449719,BA
+782449720,782449727,SI
+782449728,782449735,BA
+782449736,782449759,SI
+782449760,782449791,BA
+782449792,782449807,SI
+782449808,782449815,BA
+782449816,782449887,SI
+782449888,782450687,BA
782450688,782467071,DE
782467072,782483455,RU
782483456,782499839,FI
@@ -5882,27 +7276,33 @@
782664704,782664704,GB
782664705,782665471,NL
782665472,782666495,US
-782666496,782666751,GB
+782666496,782666751,LU
782666752,782667007,US
-782667008,782667519,RU
+782667008,782667519,UA
782667520,782667775,LU
782667776,782668287,FR
782668288,782668799,RU
782668800,782669567,NL
-782669568,782669823,GB
-782669824,782671871,DE
-782671872,782680063,GB
+782669568,782671871,DE
+782671872,782672383,CA
+782672384,782672639,BG
+782672640,782673151,CZ
+782673152,782680063,GB
782680064,782696447,RU
-782696448,782712831,DE
+782696448,782696639,DE
+782696640,782696703,US
+782696704,782712831,DE
782712832,782729215,RU
782729216,782735359,DE
782735360,782735871,CH
-782735872,782745599,DE
+782735872,782737407,DE
+782737408,782738431,CH
+782738432,782745599,DE
782745600,782761983,CZ
782761984,783024127,PL
783024128,783040511,RU
783040512,783048703,UA
-783048704,783056895,RU
+783048704,783056895,CZ
783056896,783065087,UA
783065088,783073279,RU
783073280,783089663,UA
@@ -5979,7 +7379,9 @@
783699968,783702015,UA
783702016,783704063,IT
783704064,783706111,PL
-783706112,783708159,NL
+783706112,783707391,NL
+783707392,783707647,US
+783707648,783708159,NL
783708160,783710207,FI
783710208,783712255,NL
783712256,783714303,RU
@@ -6058,6 +7460,7 @@
785645568,785711103,NO
785711104,785776639,SY
785776640,785842175,RO
+785842176,785907711,PL
785907712,785973247,BY
785973248,786038783,MK
786038784,786104319,FR
@@ -6072,7 +7475,9 @@
786567168,786569215,CZ
786569216,786571263,NO
786571264,786575359,ES
-786575360,786577407,GB
+786575360,786575871,GB
+786575872,786576127,SE
+786576128,786577407,GB
786577408,786579455,NL
786579456,786581503,RU
786581504,786583551,GB
@@ -6155,9 +7560,7 @@
786788352,786792447,CZ
786792448,786796543,RU
786796544,786800639,PL
-786800640,786801023,US
-786801024,786801151,UA
-786801152,786801663,US
+786800640,786801663,US
786801664,786804735,UA
786804736,786808831,RU
786808832,786812927,BG
@@ -6165,7 +7568,8 @@
786817024,786821119,SK
786821120,786825215,HR
786825216,786857983,SA
-786857984,786890751,SE
+786857984,786862079,NO
+786862080,786890751,SE
786890752,786892799,ES
786892800,786894847,GB
786894848,786896895,NL
@@ -6178,7 +7582,15 @@
786913280,786915327,DE
786915328,786917375,SK
786917376,786919423,RO
-786919424,786921471,GB
+786919424,786920007,GB
+786920008,786920015,IT
+786920016,786920167,GB
+786920168,786920175,IT
+786920176,786920839,GB
+786920840,786920847,IT
+786920848,786921015,GB
+786921016,786921023,IT
+786921024,786921471,GB
786921472,786923519,ES
786923520,786925567,FR
786925568,786927615,DE
@@ -6188,7 +7600,11 @@
786933760,786935807,RU
786935808,786937855,DE
786937856,786939903,GB
-786939904,786941951,FI
+786939904,786940159,SE
+786940160,786940415,FI
+786940416,786940800,SE
+786940801,786940927,FI
+786940928,786941951,SE
786941952,786943999,CH
786944000,786946047,RU
786946048,786948095,FR
@@ -6216,13 +7632,17 @@
787017728,787019775,RU
787019776,787021823,NL
787021824,787038207,BG
-787038208,787054591,GB
+787038208,787038463,GB
+787038464,787038719,IE
+787038720,787038975,DE
+787038976,787039231,FR
+787039232,787054591,GB
787054592,787070975,IT
787070976,787087359,RU
787087360,787095551,TR
787095552,787095567,EU
-787095568,787095599,CH
-787095600,787095807,EU
+787095568,787095615,CH
+787095616,787095807,EU
787095808,787096063,CH
787096064,787096575,EU
787096576,787098367,CH
@@ -6234,7 +7654,7 @@
787120128,787128319,ES
787128320,787136511,CZ
787136512,787152895,IT
-787152896,787154943,BG
+787152896,787154943,GB
787154944,787156991,TR
787156992,787159039,FR
787159040,787161087,DE
@@ -6305,7 +7725,7 @@
787611648,787644415,RU
787644416,787677183,PL
787677184,787679231,GB
-787679232,787681279,CY
+787679232,787681279,RU
787681280,787683327,IQ
787683328,787685375,NL
787685376,787687423,IT
@@ -6328,7 +7748,27 @@
787760896,787761919,DE
787761920,787762943,NL
787762944,787763967,ES
-787763968,787775487,NL
+787763968,787773183,NL
+787773184,787773311,BE
+787773312,787773439,NL
+787773440,787773823,BE
+787773824,787773951,NL
+787773952,787774015,BE
+787774016,787774207,NL
+787774208,787774335,BE
+787774336,787774463,NL
+787774464,787774719,BE
+787774720,787774735,NL
+787774736,787774960,BE
+787774961,787774975,NL
+787774976,787774983,BE
+787774984,787775007,NL
+787775008,787775023,BE
+787775024,787775039,NL
+787775040,787775103,BE
+787775104,787775166,NL
+787775167,787775184,BE
+787775185,787775487,NL
787775488,787808255,DE
787808256,787841023,IR
787841024,787843071,RU
@@ -6347,7 +7787,12 @@
787863552,787865599,DE
787865600,787869695,FR
787869696,787873791,GB
-787873792,787906559,SE
+787873792,787892223,SE
+787892224,787894271,A1
+787894272,787896319,US
+787896320,787896575,SE
+787896576,787896703,A1
+787896704,787906559,SE
787906560,787939327,GR
787939328,787972095,GB
787972096,788004863,UA
@@ -6395,7 +7840,9 @@
788242432,788250623,IR
788250624,788258815,KG
788258816,788259583,DE
-788259584,788260863,NL
+788259584,788260095,NL
+788260096,788260351,DE
+788260352,788260863,NL
788260864,788266495,DE
788266496,788267007,IN
788267008,788271103,SE
@@ -6405,9 +7852,7 @@
788283392,788291583,GB
788291584,788295679,TR
788295680,788299775,RU
-788299776,788301823,LV
-788301824,788302079,LT
-788302080,788303871,LV
+788299776,788303871,DE
788303872,788307967,IT
788307968,788312063,RU
788312064,788316159,FR
@@ -6416,16 +7861,21 @@
788324352,788328447,CZ
788328448,788332543,RU
788332544,788336639,BG
-788336640,788337151,DE
-788337152,788337663,GB
-788337664,788340735,DE
+788336640,788337407,DE
+788337408,788337663,GB
+788337664,788340479,DE
+788340480,788340735,GB
788340736,788344831,ES
788344832,788353023,DE
788353024,788357119,PS
788357120,788361215,CZ
788361216,788365311,DE
788365312,788369407,IQ
-788369408,788373503,DE
+788369408,788371711,DE
+788371712,788371715,AT
+788371716,788371719,US
+788371720,788371723,GB
+788371724,788373503,DE
788373504,788377599,BE
788377600,788381695,CH
788381696,788385791,SE
@@ -6473,7 +7923,8 @@
788488192,788490239,RU
788490240,788492287,NL
788492288,788494335,GB
-788494336,788496383,SE
+788494336,788494591,EU
+788494592,788496383,SE
788496384,788498431,FR
788498432,788500479,RU
788500480,788502527,AL
@@ -6486,14 +7937,21 @@
788509248,788509279,AT
788509280,788509631,FR
788509632,788509695,AT
-788509696,788509951,FR
-788509952,788510719,AT
+788509696,788510335,FR
+788510336,788510463,AT
+788510464,788510519,FR
+788510520,788510527,AT
+788510528,788510663,FR
+788510664,788510687,AT
+788510688,788510719,FR
788510720,788512767,ES
788512768,788514815,FI
788514816,788516863,FR
788516864,788518911,LT
788518912,788520959,IR
-788520960,788523007,CZ
+788520960,788522623,CZ
+788522624,788522655,PL
+788522656,788523007,CZ
788523008,788525055,KZ
788525056,788527103,IT
788527104,788529151,GB
@@ -6536,7 +7994,6 @@
830472192,830472447,CN
830472448,830472703,AU
830472704,830473215,CN
-830473216,830474239,AU
830474240,830475263,SG
830475264,830476287,AU
830476288,830480383,JP
@@ -6624,22 +8081,28 @@
838795264,838860799,AU
838860800,838999039,US
838999040,838999295,CA
-838999296,839010175,US
-839010176,839010207,CA
-839010208,839010559,US
+838999296,839005215,US
+839005216,839005280,CA
+839005281,839010559,US
839010560,839010815,CA
-839010816,839017983,US
-839017984,839018239,CA
-839018240,839023359,US
-839023360,839023615,CA
-839023616,839025663,US
-839025664,839026175,CA
-839026176,839061503,US
+839010816,839016191,US
+839016192,839016447,CA
+839016448,839052031,US
+839052032,839052287,CA
+839052288,839054079,US
+839054080,839054335,CA
+839054336,839055615,US
+839055616,839055871,CA
+839055872,839056895,US
+839056896,839057151,CA
+839057152,839061503,US
839061504,839061759,CA
839061760,839062271,US
839062272,839064063,CA
839064064,839069183,US
-839069184,839074303,CA
+839069184,839071231,CA
+839071232,839072255,US
+839072256,839074303,CA
839074304,839095807,US
839095808,839096063,CA
839096064,839101695,US
@@ -6652,13 +8115,188 @@
839112192,839112703,CA
839112704,839113215,US
839113216,839113471,CA
-839113472,840269823,US
+839113472,839122431,US
+839122432,839122495,CA
+839122496,840269823,US
840269824,840273919,CA
840273920,840278015,US
840278016,840282111,CA
840282112,840294399,US
840294400,840298495,CA
-840298496,842530895,US
+840298496,840302775,US
+840302776,840302783,BR
+840302784,840303487,US
+840303488,840303495,TR
+840303496,840305567,US
+840305568,840305575,IN
+840305576,840305639,US
+840305640,840305647,IN
+840305648,840305823,US
+840305824,840305831,TR
+840305832,840305839,IN
+840305840,840306191,US
+840306192,840306199,TR
+840306200,840309487,US
+840309488,840309495,TR
+840309496,840312831,US
+840312832,840312863,BR
+840312864,840313087,US
+840313088,840313151,BR
+840313152,840316767,US
+840316768,840316783,ID
+840316784,840317055,US
+840317056,840317119,GB
+840317120,840317519,US
+840317520,840317527,AR
+840317528,840317567,US
+840317568,840317599,AR
+840317600,840318431,US
+840318432,840318447,TR
+840318448,840324591,US
+840324592,840324599,IN
+840324600,840334559,US
+840334560,840334575,BR
+840334576,840334623,US
+840334624,840334703,BR
+840334704,840334719,US
+840334720,840334751,BR
+840334752,840334783,US
+840334784,840334815,BR
+840334816,840334895,US
+840334896,840334903,BD
+840334904,840343263,US
+840343264,840343295,AU
+840343296,840343719,US
+840343720,840343727,RO
+840343728,840345167,US
+840345168,840345183,AU
+840345184,840347871,US
+840347872,840347879,IN
+840347880,840348671,US
+840348672,840348703,AU
+840348704,840350047,US
+840350048,840350055,BR
+840350056,840350079,US
+840350080,840350111,BR
+840350112,840351735,US
+840351736,840351743,CA
+840351744,840353999,US
+840354000,840354015,AE
+840354016,840356031,US
+840356032,840356063,BR
+840356064,840357823,US
+840357824,840357839,IN
+840357840,840357855,US
+840357856,840357887,IN
+840357888,840358247,US
+840358248,840358255,CA
+840358256,840358975,US
+840358976,840359039,BR
+840359040,840360511,US
+840360512,840360543,LT
+840360544,840360943,US
+840360944,840360951,AE
+840360952,840362231,US
+840362232,840362239,BR
+840362240,840362783,US
+840362784,840362799,KW
+840362800,840363735,US
+840363736,840363743,BR
+840363744,840364479,US
+840364480,840364487,CA
+840364488,840364863,US
+840364864,840364927,KW
+840364928,840366663,US
+840366664,840366671,KW
+840366672,840367327,US
+840367328,840367335,CA
+840367336,840369903,US
+840369904,840369919,CA
+840369920,840369967,US
+840369968,840369983,CA
+840369984,840370015,US
+840370016,840370031,CA
+840370032,840370111,US
+840370112,840370143,CA
+840370144,840370207,US
+840370208,840370239,CA
+840370240,840373823,US
+840373824,840373855,CA
+840373856,840373887,US
+840373888,840373919,CA
+840373920,840379647,US
+840379648,840379663,AU
+840379664,840385823,US
+840385824,840385831,AD
+840385832,840388119,US
+840388120,840388127,CN
+840388128,840391007,US
+840391008,840391015,CA
+840391016,840391383,US
+840391384,840391391,MX
+840391392,840393519,US
+840393520,840393527,CA
+840393528,840395839,US
+840395840,840395903,MX
+840395904,840399343,US
+840399344,840399359,MX
+840399360,840399911,US
+840399912,840399919,CN
+840399920,840402439,US
+840402440,840402447,AU
+840402448,840402687,US
+840402688,840402695,ID
+840402696,840403231,US
+840403232,840403263,CA
+840403264,840405359,US
+840405360,840405375,ID
+840405376,840408215,US
+840408216,840408223,IN
+840408224,840414263,US
+840414264,840414271,CA
+840414272,840417407,US
+840417408,840417439,TR
+840417440,840417527,US
+840417528,840417535,AU
+840417536,840417679,US
+840417680,840417687,TR
+840417688,840418047,US
+840418048,840418079,IN
+840418080,840418111,US
+840418112,840418119,TR
+840418120,840419063,US
+840419064,840419071,BR
+840419072,840419311,US
+840419312,840419319,TR
+840419320,840419999,US
+840420000,840420063,AU
+840420064,840420631,US
+840420632,840420639,TR
+840420640,840420663,US
+840420664,840420671,CA
+840420672,840421559,US
+840421560,840421567,TR
+840421568,840421919,US
+840421920,840421927,AU
+840421928,840422151,US
+840422152,840422159,AR
+840422160,840423399,US
+840423400,840423407,ES
+840423408,840424447,US
+840424448,840424479,IN
+840424480,840425959,US
+840425960,840425967,CA
+840425968,840426207,US
+840426208,840426215,BZ
+840426216,840426623,US
+840426624,840426655,IN
+840426656,840430047,US
+840430048,840430055,AU
+840430056,840431391,US
+840431392,840431399,CN
+840431400,840431695,US
+840431696,840431711,BR
+840431712,842530895,US
842530896,842530903,IL
842530904,842531443,US
842531444,842531447,GB
@@ -6668,13 +8306,13 @@
842531604,842531605,ES
842531606,842531659,US
842531660,842531661,IN
-842531662,842534251,US
+842531662,842533679,US
+842533680,842533683,BR
+842533684,842534251,US
842534252,842534255,NO
842534256,842534335,US
842534336,842534339,ES
-842534340,842535159,US
-842535160,842535167,IS
-842535168,842535839,US
+842534340,842535839,US
842535840,842535847,MX
842535848,842541693,US
842541694,842541695,ZA
@@ -6691,21 +8329,77 @@
842566016,842566019,BR
842566020,842597639,US
842597640,842597647,GT
-842597648,842598703,US
+842597648,842597759,US
+842597760,842597767,CA
+842597768,842598703,US
842598704,842598719,CZ
-842598720,842601607,US
+842598720,842600079,US
+842600080,842600087,GB
+842600088,842601607,US
842601608,842601615,AR
842601616,842602423,US
842602424,842602431,IN
-842602432,843055103,US
+842602432,842651119,US
+842651120,842651127,MX
+842651128,843055103,US
843055104,843644927,CA
843644928,844890111,US
844890112,844988415,CA
-844988416,845283327,US
+844988416,845089407,US
+845089408,845089535,PR
+845089536,845219231,US
+845219232,845219263,IN
+845219264,845238239,US
+845238240,845238271,PK
+845238272,845243615,US
+845243616,845243647,PS
+845243648,845250887,US
+845250888,845250895,MX
+845250896,845252151,US
+845252152,845252159,MX
+845252160,845252207,US
+845252208,845252215,IN
+845252216,845253743,US
+845253744,845253751,AR
+845253752,845258847,US
+845258848,845258863,AU
+845258864,845259143,US
+845259144,845259151,AU
+845259152,845264007,US
+845264008,845264015,BZ
+845264016,845264327,US
+845264328,845264335,GB
+845264336,845264703,US
+845264704,845264767,BZ
+845264768,845264887,US
+845264888,845264895,AR
+845264896,845265255,US
+845265256,845265263,BR
+845265264,845267367,US
+845267368,845267375,ES
+845267376,845268351,US
+845268352,845268359,HK
+845268360,845268511,US
+845268512,845268519,CN
+845268520,845268847,US
+845268848,845268863,HK
+845268864,845268951,US
+845268952,845268959,HK
+845268960,845269527,US
+845269528,845269535,ID
+845269536,845270183,US
+845270184,845270191,BR
+845270192,845283327,US
845283328,845545471,CA
845545472,846442495,US
846442496,846446591,CA
-846446592,855638015,US
+846446592,846537727,US
+846537728,846537983,A1
+846537984,846561279,US
+846561280,846594047,CA
+846594048,846626815,US
+846626816,846627071,CN
+846627072,855638015,US
855638016,872415231,GB
872415232,889192447,US
889192448,905969663,DE
@@ -6730,7 +8424,7 @@
977354752,977371135,KR
977371136,977395711,PK
977395712,977397759,BD
-977397760,977399807,HK
+977397760,977399807,CN
977399808,977401855,ID
977401856,977403903,AU
977403904,977534975,CN
@@ -6831,7 +8525,7 @@
999555072,999686143,HK
999686144,999751679,KR
999751680,999784447,CN
-999784448,999800831,AP
+999784448,999800831,JP
999800832,999817215,KR
999817216,999849983,BD
999849984,999866367,KR
@@ -6867,15 +8561,7 @@
1019740160,1021313023,CN
1021313024,1021837311,AU
1021837312,1021968383,CN
-1021968384,1021981007,NZ
-1021981008,1021981023,AU
-1021981024,1021985303,NZ
-1021985304,1021985311,AU
-1021985312,1021986495,NZ
-1021986496,1021986559,PA
-1021986560,1021999743,NZ
-1021999744,1021999775,AU
-1021999776,1022033919,NZ
+1021968384,1022033919,NZ
1022033920,1022099455,CN
1022099456,1022361599,JP
1022361600,1022558207,AU
@@ -6925,181 +8611,14 @@
1024131072,1024163839,IN
1024163840,1024184319,JP
1024184320,1024188415,MY
-1024188416,1024196607,TH
+1024188416,1024196607,VN
1024196608,1024229375,IN
1024229376,1024262143,JP
1024262144,1024327679,SG
-1024327680,1024328703,US
-1024328704,1024329279,IN
-1024329280,1024329343,US
-1024329344,1024329471,IN
-1024329472,1024330751,US
-1024330752,1024330759,IN
-1024330760,1024331327,US
-1024331328,1024331519,IN
-1024331520,1024331551,US
-1024331552,1024331583,IN
-1024331584,1024332287,US
-1024332288,1024332415,IN
-1024332416,1024332487,US
-1024332488,1024332495,IN
-1024332496,1024332927,US
-1024332928,1024333055,IN
-1024333056,1024333247,US
-1024333248,1024333311,HK
-1024333312,1024333367,US
-1024333368,1024333375,IN
-1024333376,1024333791,US
-1024333792,1024333823,ID
-1024333824,1024333951,US
-1024333952,1024334079,IN
-1024334080,1024334727,US
-1024334728,1024334735,SG
-1024334736,1024334847,US
-1024334848,1024334911,PH
-1024334912,1024335111,US
-1024335112,1024335119,CN
-1024335120,1024335143,US
-1024335144,1024335151,ID
-1024335152,1024335167,JP
-1024335168,1024335183,US
-1024335184,1024335199,CN
-1024335200,1024335679,US
-1024335680,1024335743,IN
-1024335744,1024335751,US
-1024335752,1024335759,AU
-1024335760,1024335807,US
-1024335808,1024335871,IN
-1024335872,1024338311,US
-1024338312,1024338319,PH
-1024338320,1024338631,US
-1024338632,1024338639,MY
-1024338640,1024339583,US
-1024339584,1024339711,HK
-1024339712,1024339967,ID
-1024339968,1024340511,US
-1024340512,1024340519,TH
-1024340520,1024344063,US
+1024327680,1024344063,US
1024344064,1024352255,SG
1024352256,1024360447,AU
-1024360448,1024360535,HK
-1024360536,1024360543,AP
-1024360544,1024361007,HK
-1024361008,1024361023,AP
-1024361024,1024361095,HK
-1024361096,1024361103,AP
-1024361104,1024361471,HK
-1024361472,1024361487,TW
-1024361488,1024361503,AP
-1024361504,1024361567,PH
-1024361568,1024361599,AP
-1024361600,1024361727,PH
-1024361728,1024361759,TW
-1024361760,1024361775,PH
-1024361776,1024361791,TW
-1024361792,1024361807,PH
-1024361808,1024362239,TW
-1024362240,1024362287,MY
-1024362288,1024362303,SG
-1024362304,1024362335,MY
-1024362336,1024362351,AP
-1024362352,1024362399,SG
-1024362400,1024362495,AP
-1024362496,1024362599,MY
-1024362600,1024362671,SG
-1024362672,1024362687,MY
-1024362688,1024362703,AP
-1024362704,1024362719,MY
-1024362720,1024362735,SG
-1024362736,1024362751,AP
-1024362752,1024362759,SG
-1024362760,1024362783,MY
-1024362784,1024362976,SG
-1024362977,1024363007,AP
-1024363008,1024363015,SG
-1024363016,1024363023,AP
-1024363024,1024363103,SG
-1024363104,1024363111,MY
-1024363112,1024363199,SG
-1024363200,1024363215,MY
-1024363216,1024363295,SG
-1024363296,1024363319,MY
-1024363320,1024363391,SG
-1024363392,1024363423,MY
-1024363424,1024363439,SG
-1024363440,1024363447,MY
-1024363448,1024363455,AP
-1024363456,1024363519,SG
-1024363520,1024363559,AU
-1024363560,1024363567,AP
-1024363568,1024363775,AU
-1024363776,1024363807,AP
-1024363808,1024363999,AU
-1024364000,1024364015,NZ
-1024364016,1024364031,AU
-1024364032,1024364063,AP
-1024364064,1024364079,AU
-1024364080,1024364095,AP
-1024364096,1024364127,AU
-1024364128,1024364287,AP
-1024364288,1024364511,AU
-1024364512,1024364799,AP
-1024364800,1024364927,MY
-1024364928,1024365567,AP
-1024365568,1024365823,HK
-1024365824,1024366335,PH
-1024366336,1024367359,AP
-1024367360,1024367615,TW
-1024367616,1024368127,JP
-1024368128,1024368383,PH
-1024368384,1024368639,AP
-1024368640,1024369407,MY
-1024369408,1024369663,AP
-1024369664,1024369919,PH
-1024369920,1024370175,TW
-1024370176,1024370431,AU
-1024370432,1024370687,AP
-1024370688,1024371455,PH
-1024371456,1024371711,JP
-1024371712,1024371967,AP
-1024371968,1024372223,JP
-1024372224,1024372479,PH
-1024372480,1024372735,HK
-1024372736,1024373247,AP
-1024373248,1024373503,PH
-1024373504,1024373823,AP
-1024373824,1024373887,TW
-1024373888,1024374015,PH
-1024374016,1024374847,AP
-1024374848,1024374879,JP
-1024374880,1024374895,AP
-1024374896,1024374911,JP
-1024374912,1024374935,AP
-1024374936,1024374951,JP
-1024374952,1024374975,AP
-1024374976,1024375055,JP
-1024375056,1024375167,AP
-1024375168,1024375295,JP
-1024375296,1024375303,AP
-1024375304,1024375311,AU
-1024375312,1024375375,AP
-1024375376,1024375383,AU
-1024375384,1024375391,AP
-1024375392,1024375423,AU
-1024375424,1024375439,AP
-1024375440,1024375455,AU
-1024375456,1024375487,AP
-1024375488,1024375495,AU
-1024375496,1024375679,AP
-1024375680,1024375807,AU
-1024375808,1024375935,TW
-1024375936,1024376191,AP
-1024376192,1024376319,PH
-1024376320,1024376447,TW
-1024376448,1024376479,AP
-1024376480,1024376511,PH
-1024376512,1024376703,TW
-1024376704,1024376831,AP
+1024360448,1024376831,JP
1024376832,1024393215,PH
1024393216,1024458751,HK
1024458752,1024491519,SG
@@ -7110,15 +8629,7 @@
1024786432,1025245183,JP
1025245184,1025277951,CN
1025277952,1025294335,PH
-1025294336,1025294591,JP
-1025294592,1025295103,AU
-1025295104,1025295615,CN
-1025295616,1025296127,AU
-1025296128,1025296639,FR
-1025296640,1025296895,MY
-1025296896,1025297919,AU
-1025297920,1025298175,NZ
-1025298176,1025302527,AU
+1025294336,1025302527,AU
1025302528,1025310719,VN
1025310720,1025343487,AU
1025343488,1025376255,CN
@@ -7127,9 +8638,11 @@
1026293760,1026392063,JP
1026392064,1026408447,CN
1026408448,1026416639,JP
-1026416640,1026420735,ID
+1026416640,1026420735,CN
1026420736,1026422783,JP
-1026422784,1026424831,AU
+1026422784,1026423295,AU
+1026423296,1026423551,AP
+1026423552,1026424831,AU
1026424832,1026490367,JP
1026490368,1026523135,TH
1026523136,1026539519,CN
@@ -7159,7 +8672,7 @@
1039138816,1039400959,CN
1039400960,1039466495,HK
1039466496,1039499263,JP
-1039499264,1039507455,AP
+1039499264,1039507455,AU
1039507456,1039511551,LK
1039511552,1039515647,KR
1039515648,1039523839,JP
@@ -7175,12 +8688,12 @@
1040187392,1040252927,IL
1040252928,1040318463,GR
1040318464,1040383999,CH
-1040384000,1040386559,SA
-1040386560,1040391167,A2
-1040391168,1040392191,SA
+1040384000,1040392191,SA
1040392192,1040392447,GB
-1040392448,1040399359,SA
-1040399360,1040400127,GB
+1040392448,1040397823,SA
+1040397824,1040398591,GB
+1040398592,1040399871,SA
+1040399872,1040400127,GB
1040400128,1040400383,SA
1040400384,1040416767,GB
1040416768,1040424959,SE
@@ -7213,9 +8726,7 @@
1040468480,1040468607,EU
1040468608,1040468735,DE
1040468736,1040468767,NL
-1040468768,1040469055,EU
-1040469056,1040469071,FR
-1040469072,1040469119,EU
+1040468768,1040469119,EU
1040469120,1040469183,FR
1040469184,1040469247,EU
1040469248,1040469279,FR
@@ -7233,9 +8744,7 @@
1040469904,1040469919,FR
1040469920,1040469983,EU
1040469984,1040469999,FR
-1040470000,1040470271,EU
-1040470272,1040470335,DE
-1040470336,1040470399,EU
+1040470000,1040470399,EU
1040470400,1040470431,DE
1040470432,1040471487,EU
1040471488,1040471519,NL
@@ -7273,8 +8782,8 @@
1040984216,1040984219,TZ
1040984220,1040990207,A2
1040990208,1040994303,CY
-1040994304,1040994815,RU
-1040994816,1040998399,CY
+1040994304,1040994559,RU
+1040994560,1040998399,CY
1040998400,1041006591,EG
1041006592,1041039359,CH
1041039360,1041051647,SE
@@ -7292,6 +8801,7 @@
1041253376,1041268735,RU
1041268736,1041301503,NO
1041301504,1041367039,IE
+1041367040,1041498111,IT
1041498112,1041563647,SE
1041563648,1041596415,PL
1041596416,1041629183,NL
@@ -7341,11 +8851,13 @@
1041699768,1041699807,GB
1041699808,1041700423,FR
1041700424,1041700535,GB
-1041700536,1041700583,FR
-1041700584,1041700607,GB
-1041700608,1041700983,FR
+1041700536,1041700591,FR
+1041700592,1041700599,GB
+1041700600,1041700983,FR
1041700984,1041700991,GB
-1041700992,1041701175,FR
+1041700992,1041701143,FR
+1041701144,1041701151,GB
+1041701152,1041701175,FR
1041701176,1041701183,GB
1041701184,1041701207,FR
1041701208,1041701222,GB
@@ -7359,9 +8871,7 @@
1041701720,1041701727,GB
1041701728,1041701863,FR
1041701864,1041701871,GB
-1041701872,1041701967,FR
-1041701968,1041701975,GB
-1041701976,1041702167,FR
+1041701872,1041702167,FR
1041702168,1041702175,GB
1041702176,1041702306,FR
1041702307,1041702311,GB
@@ -7371,19 +8881,17 @@
1041702352,1041702399,GB
1041702400,1041702751,FR
1041702752,1041702759,GB
-1041702760,1041703591,FR
-1041703592,1041703599,GB
-1041703600,1041703639,FR
+1041702760,1041703639,FR
1041703640,1041703647,GB
-1041703648,1041703975,FR
-1041703976,1041703983,GB
-1041703984,1041704119,FR
+1041703648,1041703695,FR
+1041703696,1041703711,GB
+1041703712,1041704119,FR
1041704120,1041704127,GB
1041704128,1041704159,FR
1041704160,1041704175,GB
-1041704176,1041704207,FR
-1041704208,1041704215,GB
-1041704216,1041704247,FR
+1041704176,1041704199,FR
+1041704200,1041704207,GB
+1041704208,1041704247,FR
1041704248,1041704263,GB
1041704264,1041704319,FR
1041704320,1041704335,GB
@@ -7395,9 +8903,7 @@
1041704440,1041704447,GB
1041704448,1041704551,FR
1041704552,1041704575,GB
-1041704576,1041704751,FR
-1041704752,1041704759,GB
-1041704760,1041704775,FR
+1041704576,1041704775,FR
1041704776,1041704783,GB
1041704784,1041704815,FR
1041704816,1041704823,GB
@@ -7441,15 +8947,11 @@
1041705904,1041705911,GB
1041705912,1041705935,FR
1041705936,1041705951,GB
-1041705952,1041706087,FR
-1041706088,1041706095,GB
-1041706096,1041706111,FR
+1041705952,1041706111,FR
1041706112,1041706143,GB
1041706144,1041706191,FR
1041706192,1041706239,GB
-1041706240,1041706447,FR
-1041706448,1041706463,GB
-1041706464,1041706479,FR
+1041706240,1041706479,FR
1041706480,1041706487,GB
1041706488,1041706791,FR
1041706792,1041706799,GB
@@ -7469,8 +8971,8 @@
1041707480,1041707495,GB
1041707496,1041707503,FR
1041707504,1041707519,GB
-1041707520,1041707559,FR
-1041707560,1041707583,GB
+1041707520,1041707567,FR
+1041707568,1041707583,GB
1041707584,1041707631,FR
1041707632,1041707647,GB
1041707648,1041707679,FR
@@ -7494,8 +8996,8 @@
1041708512,1041708687,FR
1041708688,1041708695,GB
1041708696,1041708703,FR
-1041708704,1041708735,GB
-1041708736,1041708807,FR
+1041708704,1041708799,GB
+1041708800,1041708807,FR
1041708808,1041708815,GB
1041708816,1041708847,FR
1041708848,1041708855,GB
@@ -7511,11 +9013,15 @@
1041709024,1041709055,GB
1041709056,1041709343,FR
1041709344,1041709375,GB
-1041709376,1041709463,FR
+1041709376,1041709439,FR
+1041709440,1041709455,GB
+1041709456,1041709463,FR
1041709464,1041709471,GB
1041709472,1041709479,FR
1041709480,1041709487,GB
-1041709488,1041709767,FR
+1041709488,1041709647,FR
+1041709648,1041709695,GB
+1041709696,1041709767,FR
1041709768,1041709775,GB
1041709776,1041709783,FR
1041709784,1041709791,GB
@@ -7542,8 +9048,8 @@
1041710512,1041710535,FR
1041710536,1041710543,GB
1041710544,1041710551,FR
-1041710552,1041710583,GB
-1041710584,1041710719,FR
+1041710552,1041710591,GB
+1041710592,1041710719,FR
1041710720,1041710727,GB
1041710728,1041710735,FR
1041710736,1041710751,GB
@@ -7573,8 +9079,8 @@
1041713976,1041713983,GB
1041713984,1041713991,FR
1041713992,1041714007,GB
-1041714008,1041714047,FR
-1041714048,1041714055,GB
+1041714008,1041714039,FR
+1041714040,1041714055,GB
1041714056,1041714071,FR
1041714072,1041714079,GB
1041714080,1041714095,FR
@@ -7583,8 +9089,8 @@
1041714112,1041714175,GB
1041714176,1041714511,FR
1041714512,1041714519,GB
-1041714520,1041714655,FR
-1041714656,1041714687,GB
+1041714520,1041714671,FR
+1041714672,1041714687,GB
1041714688,1041714815,FR
1041714816,1041714847,GB
1041714848,1041714855,FR
@@ -7597,13 +9103,9 @@
1041715080,1041715087,GB
1041715088,1041715095,FR
1041715096,1041715103,GB
-1041715104,1041715119,FR
-1041715120,1041715135,GB
-1041715136,1041715151,FR
-1041715152,1041715167,GB
-1041715168,1041715183,FR
-1041715184,1041715199,GB
-1041715200,1041715527,FR
+1041715104,1041715135,FR
+1041715136,1041715143,GB
+1041715144,1041715527,FR
1041715528,1041715535,GB
1041715536,1041715583,FR
1041715584,1041715615,GB
@@ -7633,8 +9135,8 @@
1041716504,1041716511,GB
1041716512,1041716519,FR
1041716520,1041716527,GB
-1041716528,1041716559,FR
-1041716560,1041716575,GB
+1041716528,1041716543,FR
+1041716544,1041716575,GB
1041716576,1041716671,FR
1041716672,1041716703,GB
1041716704,1041717071,FR
@@ -7653,7 +9155,11 @@
1041717632,1041717639,GB
1041717640,1041717687,FR
1041717688,1041717695,GB
-1041717696,1041718112,FR
+1041717696,1041717711,FR
+1041717712,1041717719,GB
+1041717720,1041718071,FR
+1041718072,1041718079,GB
+1041718080,1041718112,FR
1041718113,1041718119,GB
1041718120,1041718127,FR
1041718128,1041718135,GB
@@ -7697,7 +9203,13 @@
1041719229,1041719231,GB
1041719232,1041719247,FR
1041719248,1041719263,GB
-1041719264,1041719743,FR
+1041719264,1041719487,FR
+1041719488,1041719519,GB
+1041719520,1041719567,FR
+1041719568,1041719583,GB
+1041719584,1041719631,FR
+1041719632,1041719639,GB
+1041719640,1041719743,FR
1041719744,1041719759,GB
1041719760,1041719887,FR
1041719888,1041719903,GB
@@ -7705,9 +9217,13 @@
1041719920,1041719935,GB
1041719936,1041720015,FR
1041720016,1041720031,GB
-1041720032,1041720487,FR
-1041720488,1041720511,GB
-1041720512,1041720527,FR
+1041720032,1041720447,FR
+1041720448,1041720455,GB
+1041720456,1041720463,FR
+1041720464,1041720471,GB
+1041720472,1041720487,FR
+1041720488,1041720495,GB
+1041720496,1041720527,FR
1041720528,1041720535,GB
1041720536,1041720551,FR
1041720552,1041720559,GB
@@ -7723,7 +9239,9 @@
1041720904,1041720927,GB
1041720928,1041721039,FR
1041721040,1041721055,GB
-1041721056,1041721391,FR
+1041721056,1041721343,FR
+1041721344,1041721359,GB
+1041721360,1041721391,FR
1041721392,1041721407,GB
1041721408,1041721519,FR
1041721520,1041721535,GB
@@ -7731,8 +9249,8 @@
1041721776,1041721791,GB
1041721792,1041721815,FR
1041721816,1041721823,GB
-1041721824,1041722167,FR
-1041722168,1041722191,GB
+1041721824,1041722175,FR
+1041722176,1041722191,GB
1041722192,1041722207,FR
1041722208,1041722215,GB
1041722216,1041722223,FR
@@ -7746,8 +9264,8 @@
1041722464,1041722479,FR
1041722480,1041722503,GB
1041722504,1041722535,FR
-1041722536,1041722551,GB
-1041722552,1041722567,FR
+1041722536,1041722559,GB
+1041722560,1041722567,FR
1041722568,1041722623,GB
1041722624,1041722639,FR
1041722640,1041722655,GB
@@ -7759,9 +9277,9 @@
1041722984,1041723007,GB
1041723008,1041723047,FR
1041723048,1041723135,GB
-1041723136,1041723167,FR
-1041723168,1041723175,GB
-1041723176,1041723359,FR
+1041723136,1041723199,FR
+1041723200,1041723207,GB
+1041723208,1041723359,FR
1041723360,1041723391,GB
1041723392,1041723655,FR
1041723656,1041723775,GB
@@ -7770,10 +9288,12 @@
1041723872,1041723887,FR
1041723888,1041723903,GB
1041723904,1041724455,FR
-1041724456,1041724463,GB
-1041724464,1041724511,FR
+1041724456,1041724471,GB
+1041724472,1041724511,FR
1041724512,1041724519,GB
-1041724520,1041724671,FR
+1041724520,1041724615,FR
+1041724616,1041724623,GB
+1041724624,1041724671,FR
1041724672,1041724927,GB
1041724928,1041725015,FR
1041725016,1041725023,GB
@@ -7791,7 +9311,9 @@
1041725376,1041725407,GB
1041725408,1041725749,FR
1041725750,1041725751,GB
-1041725752,1041725863,FR
+1041725752,1041725815,FR
+1041725816,1041725831,GB
+1041725832,1041725863,FR
1041725864,1041725871,GB
1041725872,1041726063,FR
1041726064,1041726079,GB
@@ -7805,7 +9327,9 @@
1041726640,1041726655,GB
1041726656,1041726671,FR
1041726672,1041726687,GB
-1041726688,1041726735,FR
+1041726688,1041726719,FR
+1041726720,1041726727,GB
+1041726728,1041726735,FR
1041726736,1041726751,GB
1041726752,1041726847,FR
1041726848,1041726855,GB
@@ -7873,8 +9397,8 @@
1041730640,1041730655,GB
1041730656,1041731975,FR
1041731976,1041732031,GB
-1041732032,1041732055,FR
-1041732056,1041732063,GB
+1041732032,1041732047,FR
+1041732048,1041732063,GB
1041732064,1041732103,FR
1041732104,1041732111,GB
1041732112,1041732127,FR
@@ -7899,8 +9423,8 @@
1041733520,1041733535,GB
1041733536,1041733567,FR
1041733568,1041733631,GB
-1041733632,1041734927,FR
-1041734928,1041734943,GB
+1041733632,1041734919,FR
+1041734920,1041734943,GB
1041734944,1041734975,FR
1041734976,1041734991,GB
1041734992,1041734999,FR
@@ -7938,12 +9462,8 @@
1041737032,1041737039,FR
1041737040,1041737055,GB
1041737056,1041737071,FR
-1041737072,1041737119,GB
-1041737120,1041737127,FR
-1041737128,1041737151,GB
-1041737152,1041737167,FR
-1041737168,1041737183,GB
-1041737184,1041737215,FR
+1041737072,1041737087,GB
+1041737088,1041737215,FR
1041737216,1041737279,GB
1041737280,1041737295,FR
1041737296,1041737303,GB
@@ -8005,11 +9525,10 @@
1041739168,1041739231,GB
1041739232,1041739295,FR
1041739296,1041739299,BE
-1041739300,1041739303,GB
-1041739304,1041739375,FR
+1041739300,1041739375,FR
1041739376,1041739383,BE
-1041739384,1041739391,FR
-1041739392,1041739423,GB
+1041739384,1041739407,FR
+1041739408,1041739423,GB
1041739424,1041739463,FR
1041739464,1041739471,GB
1041739472,1041739487,FR
@@ -8049,8 +9568,8 @@
1041741264,1041741279,FR
1041741280,1041741295,GB
1041741296,1041741567,FR
-1041741568,1041741575,GB
-1041741576,1041741607,FR
+1041741568,1041741583,GB
+1041741584,1041741607,FR
1041741608,1041741615,GB
1041741616,1041741631,FR
1041741632,1041741647,GB
@@ -8072,8 +9591,8 @@
1041742304,1041742335,GB
1041742336,1041742359,FR
1041742360,1041742367,GB
-1041742368,1041742383,FR
-1041742384,1041742391,GB
+1041742368,1041742375,FR
+1041742376,1041742391,GB
1041742392,1041742407,FR
1041742408,1041742415,GB
1041742416,1041742455,FR
@@ -8086,7 +9605,9 @@
1041743136,1041743143,GB
1041743144,1041743175,FR
1041743176,1041743215,GB
-1041743216,1041743303,FR
+1041743216,1041743263,FR
+1041743264,1041743271,GB
+1041743272,1041743303,FR
1041743304,1041743311,GB
1041743312,1041743615,FR
1041743616,1041743623,GB
@@ -8106,7 +9627,9 @@
1041743832,1041743847,GB
1041743848,1041743863,FR
1041743864,1041743871,GB
-1041743872,1041744263,FR
+1041743872,1041744207,FR
+1041744208,1041744215,GB
+1041744216,1041744263,FR
1041744264,1041744271,GB
1041744272,1041744287,FR
1041744288,1041744295,GB
@@ -8114,13 +9637,15 @@
1041744312,1041744327,GB
1041744328,1041744359,FR
1041744360,1041744367,GB
-1041744368,1041744399,FR
-1041744400,1041744407,GB
+1041744368,1041744391,FR
+1041744392,1041744407,GB
1041744408,1041744415,FR
1041744416,1041744447,GB
1041744448,1041744479,FR
1041744480,1041744543,GB
-1041744544,1041744599,FR
+1041744544,1041744575,FR
+1041744576,1041744583,GB
+1041744584,1041744599,FR
1041744600,1041744607,GB
1041744608,1041744623,FR
1041744624,1041744639,GB
@@ -8179,8 +9704,8 @@
1041746032,1041746039,FR
1041746040,1041746047,GB
1041746048,1041746063,FR
-1041746064,1041746079,GB
-1041746080,1041746111,FR
+1041746064,1041746095,GB
+1041746096,1041746111,FR
1041746112,1041746135,GB
1041746136,1041746711,FR
1041746712,1041746735,GB
@@ -8208,13 +9733,17 @@
1041750528,1041750543,GB
1041750544,1041750663,FR
1041750664,1041750671,GB
-1041750672,1041750743,FR
+1041750672,1041750687,FR
+1041750688,1041750695,GB
+1041750696,1041750743,FR
1041750744,1041750751,GB
1041750752,1041750775,FR
1041750776,1041750783,GB
1041750784,1041750831,FR
1041750832,1041750839,GB
-1041750840,1041751303,FR
+1041750840,1041750887,FR
+1041750888,1041750895,GB
+1041750896,1041751303,FR
1041751304,1041751311,GB
1041751312,1041751351,FR
1041751352,1041751359,GB
@@ -8242,13 +9771,17 @@
1041754176,1041754191,GB
1041754192,1041754239,FR
1041754240,1041754247,GB
-1041754248,1041754455,FR
+1041754248,1041754423,FR
+1041754424,1041754431,GB
+1041754432,1041754455,FR
1041754456,1041754463,GB
1041754464,1041754479,FR
1041754480,1041754495,GB
1041754496,1041755231,FR
1041755232,1041755239,GB
-1041755240,1041755335,FR
+1041755240,1041755271,FR
+1041755272,1041755279,GB
+1041755280,1041755335,FR
1041755336,1041755343,GB
1041755344,1041755375,FR
1041755376,1041755391,GB
@@ -8319,9 +9852,7 @@
1041842176,1041891327,GB
1041891328,1041921535,DE
1041921536,1041921727,US
-1041921728,1041940437,DE
-1041940438,1041940438,A2
-1041940439,1041945087,DE
+1041921728,1041945087,DE
1041945088,1041945151,AT
1041945152,1041958463,DE
1041958464,1041958527,DK
@@ -8421,7 +9952,9 @@
1042877184,1042877951,DE
1042877952,1042878207,NL
1042878208,1042878463,GB
-1042878464,1042880639,NL
+1042878464,1042880031,NL
+1042880032,1042880063,BE
+1042880064,1042880639,NL
1042880640,1042880767,GB
1042880768,1042882559,NL
1042882560,1042882815,DE
@@ -8449,9 +9982,9 @@
1042892016,1042892031,DE
1042892032,1042892287,NL
1042892288,1042892543,FR
-1042892544,1042892879,NL
-1042892880,1042892887,DE
-1042892888,1042892959,NL
+1042892544,1042892863,NL
+1042892864,1042892895,BE
+1042892896,1042892959,NL
1042892960,1042892967,DE
1042892968,1042892975,PL
1042892976,1042892983,CH
@@ -8512,11 +10045,9 @@
1043357696,1043365887,CH
1043365888,1043398655,PT
1043398656,1043464191,GB
-1043464192,1043464255,NL
-1043464256,1043464311,GB
-1043464312,1043464351,NL
-1043464352,1043464383,GB
-1043464384,1043464799,NL
+1043464192,1043464287,NL
+1043464288,1043464311,GB
+1043464312,1043464799,NL
1043464800,1043464807,GB
1043464808,1043464823,NL
1043464824,1043464831,GB
@@ -8666,7 +10197,9 @@
1043475984,1043475991,GB
1043475992,1043476319,DE
1043476320,1043476351,GB
-1043476352,1043476543,DE
+1043476352,1043476483,DE
+1043476484,1043476487,GB
+1043476488,1043476543,DE
1043476544,1043476559,GB
1043476560,1043476575,DE
1043476576,1043476607,GB
@@ -8676,7 +10209,9 @@
1043476816,1043476991,GB
1043476992,1043477503,DE
1043477504,1043477759,GB
-1043477760,1043478179,DE
+1043477760,1043478047,DE
+1043478048,1043478063,GB
+1043478064,1043478179,DE
1043478180,1043478271,GB
1043478272,1043478287,DE
1043478288,1043479295,GB
@@ -8815,8 +10350,8 @@
1043498240,1043498243,GB
1043498244,1043498247,FR
1043498248,1043498495,GB
-1043498496,1043498535,FR
-1043498536,1043498543,GB
+1043498496,1043498527,FR
+1043498528,1043498543,GB
1043498544,1043498639,FR
1043498640,1043498655,GB
1043498656,1043498671,FR
@@ -8852,7 +10387,9 @@
1043693184,1043693567,GB
1043693568,1043718783,DE
1043718784,1043718815,FR
-1043718816,1043857407,DE
+1043718816,1043719655,DE
+1043719656,1043719679,CH
+1043719680,1043857407,DE
1043857408,1043890175,GB
1043890176,1043890183,A2
1043890184,1043890191,NG
@@ -8872,10 +10409,10 @@
1043892992,1043893567,A2
1043893568,1043893583,NG
1043893584,1043894559,A2
-1043894560,1043894591,NG
+1043894560,1043894591,LR
1043894592,1043894751,A2
1043894752,1043894783,NG
-1043894784,1043894847,A2
+1043894784,1043894847,LR
1043894848,1043894879,NG
1043894880,1043895039,A2
1043895040,1043895167,NG
@@ -8893,7 +10430,9 @@
1043907072,1043907327,NG
1043907328,1043910143,A2
1043910144,1043910399,TZ
-1043910400,1043912703,A2
+1043910400,1043910495,A2
+1043910496,1043910503,GB
+1043910504,1043912703,A2
1043912704,1043913215,ZM
1043913216,1043914751,A2
1043914752,1043914879,NG
@@ -8902,7 +10441,478 @@
1043917056,1043921919,A2
1043921920,1043922943,IL
1043922944,1043988479,ES
-1043988480,1044013059,NL
+1043988480,1043988495,BE
+1043988496,1043988511,NL
+1043988512,1043988519,BE
+1043988520,1043988527,NL
+1043988528,1043988551,BE
+1043988552,1043988559,NL
+1043988560,1043988575,BE
+1043988576,1043988607,NL
+1043988608,1043988679,BE
+1043988680,1043988711,NL
+1043988712,1043988719,BE
+1043988720,1043988727,NL
+1043988728,1043988735,BE
+1043988736,1043988767,NL
+1043988768,1043988775,BE
+1043988776,1043988799,NL
+1043988800,1043988895,BE
+1043988896,1043988927,NL
+1043988928,1043989119,BE
+1043989120,1043989503,NL
+1043989504,1043989535,BE
+1043989536,1043989543,NL
+1043989544,1043989567,BE
+1043989568,1043989583,NL
+1043989584,1043989591,BE
+1043989592,1043989599,NL
+1043989600,1043989639,BE
+1043989640,1043989655,NL
+1043989656,1043989663,BE
+1043989664,1043989695,NL
+1043989696,1043989751,BE
+1043989752,1043990143,NL
+1043990144,1043990271,BE
+1043990272,1043990367,NL
+1043990368,1043990535,BE
+1043990536,1043990543,NL
+1043990544,1043990567,BE
+1043990568,1043990591,NL
+1043990592,1043990615,BE
+1043990616,1043990623,NL
+1043990624,1043990631,BE
+1043990632,1043990783,NL
+1043990784,1043991055,BE
+1043991056,1043991063,NL
+1043991064,1043991103,BE
+1043991104,1043991231,NL
+1043991232,1043992063,BE
+1043992064,1043992319,NL
+1043992320,1043992575,BE
+1043992576,1043992735,NL
+1043992736,1043993599,BE
+1043993600,1043993855,NL
+1043993856,1043994643,BE
+1043994644,1043994651,NL
+1043994652,1043994655,BE
+1043994656,1043994667,NL
+1043994668,1043994671,BE
+1043994672,1043994675,NL
+1043994676,1043994679,BE
+1043994680,1043994699,NL
+1043994700,1043994703,BE
+1043994704,1043994707,NL
+1043994708,1043994711,BE
+1043994712,1043994723,NL
+1043994724,1043994727,BE
+1043994728,1043994747,NL
+1043994748,1043994755,BE
+1043994756,1043994759,NL
+1043994760,1043994791,BE
+1043994792,1043994795,NL
+1043994796,1043994811,BE
+1043994812,1043994815,NL
+1043994816,1043994851,BE
+1043994852,1043994855,NL
+1043994856,1043994863,BE
+1043994864,1043994867,NL
+1043994868,1043994871,BE
+1043994872,1043994875,NL
+1043994876,1043994879,BE
+1043994880,1043994887,NL
+1043994888,1043994907,BE
+1043994908,1043994911,NL
+1043994912,1043994931,BE
+1043994932,1043994935,NL
+1043994936,1043994975,BE
+1043994976,1043994979,NL
+1043994980,1043994995,BE
+1043994996,1043995003,NL
+1043995004,1043995023,BE
+1043995024,1043995027,NL
+1043995028,1043995043,BE
+1043995044,1043995051,NL
+1043995052,1043995059,BE
+1043995060,1043995063,NL
+1043995064,1043995103,BE
+1043995104,1043995111,NL
+1043995112,1043995127,BE
+1043995128,1043995131,NL
+1043995132,1043995135,BE
+1043995136,1043995139,NL
+1043995140,1043995151,BE
+1043995152,1043995155,NL
+1043995156,1043995183,BE
+1043995184,1043995187,NL
+1043995188,1043995219,BE
+1043995220,1043995223,NL
+1043995224,1043995279,BE
+1043995280,1043995283,NL
+1043995284,1043995291,BE
+1043995292,1043995295,NL
+1043995296,1043995303,BE
+1043995304,1043995311,NL
+1043995312,1043995663,BE
+1043995664,1043995687,NL
+1043995688,1043995695,BE
+1043995696,1043995703,NL
+1043995704,1043995719,BE
+1043995720,1043995735,NL
+1043995736,1043995767,BE
+1043995768,1043995783,NL
+1043995784,1043995807,BE
+1043995808,1043995831,NL
+1043995832,1043995863,BE
+1043995864,1043995887,NL
+1043995888,1043995919,BE
+1043995920,1043995935,NL
+1043995936,1043995943,BE
+1043995944,1043995951,NL
+1043995952,1043995975,BE
+1043995976,1043995999,NL
+1043996000,1043996015,BE
+1043996016,1043996023,NL
+1043996024,1043996095,BE
+1043996096,1043996103,NL
+1043996104,1043996111,BE
+1043996112,1043996119,NL
+1043996120,1043996143,BE
+1043996144,1043996151,NL
+1043996152,1043996159,BE
+1043996160,1043996287,NL
+1043996288,1043996319,BE
+1043996320,1043996335,NL
+1043996336,1043996415,BE
+1043996416,1043996679,NL
+1043996680,1043996687,BE
+1043996688,1043996695,NL
+1043996696,1043996703,BE
+1043996704,1043996711,NL
+1043996712,1043996735,BE
+1043996736,1043996775,NL
+1043996776,1043996791,BE
+1043996792,1043996799,NL
+1043996800,1043996815,BE
+1043996816,1043996895,NL
+1043996896,1043996927,BE
+1043996928,1043997375,NL
+1043997376,1043997463,BE
+1043997464,1043997471,NL
+1043997472,1043997519,BE
+1043997520,1043997551,NL
+1043997552,1043997559,BE
+1043997560,1043997583,NL
+1043997584,1043997615,BE
+1043997616,1043997631,NL
+1043997632,1043997639,BE
+1043997640,1043997663,NL
+1043997664,1043997687,BE
+1043997688,1043997823,NL
+1043997824,1043997887,BE
+1043997888,1043997903,NL
+1043997904,1043997919,BE
+1043997920,1043997927,NL
+1043997928,1043998079,BE
+1043998080,1043998143,NL
+1043998144,1043998151,BE
+1043998152,1043998159,NL
+1043998160,1043998167,BE
+1043998168,1043998191,NL
+1043998192,1043998195,BE
+1043998196,1043998198,NL
+1043998199,1043998199,BE
+1043998200,1043998207,NL
+1043998208,1043998463,BE
+1043998464,1043998719,NL
+1043998720,1043998759,BE
+1043998760,1043998783,NL
+1043998784,1043998799,BE
+1043998800,1043998855,NL
+1043998856,1043998863,BE
+1043998864,1043998879,NL
+1043998880,1043998887,BE
+1043998888,1043998911,NL
+1043998912,1043998975,BE
+1043998976,1043998983,NL
+1043998984,1043999039,BE
+1043999040,1043999055,NL
+1043999056,1043999071,BE
+1043999072,1043999111,NL
+1043999112,1043999119,BE
+1043999120,1043999143,NL
+1043999144,1043999151,BE
+1043999152,1043999159,NL
+1043999160,1043999207,BE
+1043999208,1043999215,NL
+1043999216,1043999231,BE
+1043999232,1043999487,NL
+1043999488,1043999751,BE
+1043999752,1043999759,NL
+1043999760,1043999775,BE
+1043999776,1043999783,NL
+1043999784,1043999791,BE
+1043999792,1043999823,NL
+1043999824,1043999831,BE
+1043999832,1043999951,NL
+1043999952,1044000031,BE
+1044000032,1044000063,NL
+1044000064,1044000095,BE
+1044000096,1044000767,NL
+1044000768,1044000831,BE
+1044000832,1044000895,NL
+1044000896,1044000999,BE
+1044001000,1044001015,NL
+1044001016,1044001271,BE
+1044001272,1044001663,NL
+1044001664,1044001791,BE
+1044001792,1044001823,NL
+1044001824,1044001839,BE
+1044001840,1044001847,NL
+1044001848,1044001895,BE
+1044001896,1044001927,NL
+1044001928,1044001935,BE
+1044001936,1044001983,NL
+1044001984,1044002023,BE
+1044002024,1044002039,NL
+1044002040,1044002063,BE
+1044002064,1044002087,NL
+1044002088,1044002095,BE
+1044002096,1044002103,NL
+1044002104,1044002135,BE
+1044002136,1044002143,NL
+1044002144,1044002303,BE
+1044002304,1044002831,NL
+1044002832,1044002855,BE
+1044002856,1044002859,NL
+1044002860,1044002879,BE
+1044002880,1044002883,NL
+1044002884,1044002891,BE
+1044002892,1044002899,NL
+1044002900,1044002911,BE
+1044002912,1044002919,NL
+1044002920,1044002931,BE
+1044002932,1044002947,NL
+1044002948,1044002959,BE
+1044002960,1044002975,NL
+1044002976,1044002983,BE
+1044002984,1044002987,NL
+1044002988,1044002999,BE
+1044003000,1044003003,NL
+1044003004,1044003019,BE
+1044003020,1044003023,NL
+1044003024,1044003027,BE
+1044003028,1044003031,NL
+1044003032,1044003071,BE
+1044003072,1044003079,NL
+1044003080,1044003099,BE
+1044003100,1044003103,NL
+1044003104,1044003115,BE
+1044003116,1044003119,NL
+1044003120,1044003123,BE
+1044003124,1044003131,NL
+1044003132,1044003147,BE
+1044003148,1044003151,NL
+1044003152,1044003155,BE
+1044003156,1044003159,NL
+1044003160,1044003167,BE
+1044003168,1044003171,NL
+1044003172,1044003183,BE
+1044003184,1044003187,NL
+1044003188,1044003211,BE
+1044003212,1044003215,NL
+1044003216,1044003223,BE
+1044003224,1044003227,NL
+1044003228,1044003235,BE
+1044003236,1044003251,NL
+1044003252,1044003279,BE
+1044003280,1044003283,NL
+1044003284,1044003291,BE
+1044003292,1044003295,NL
+1044003296,1044003299,BE
+1044003300,1044003303,NL
+1044003304,1044003311,BE
+1044003312,1044003315,NL
+1044003316,1044003331,BE
+1044003332,1044003343,NL
+1044003344,1044003359,BE
+1044003360,1044003362,NL
+1044003363,1044003363,BE
+1044003364,1044003371,NL
+1044003372,1044003379,BE
+1044003380,1044003383,NL
+1044003384,1044003423,BE
+1044003424,1044003427,NL
+1044003428,1044003459,BE
+1044003460,1044003463,NL
+1044003464,1044003467,BE
+1044003468,1044003471,NL
+1044003472,1044003483,BE
+1044003484,1044003487,NL
+1044003488,1044003511,BE
+1044003512,1044003527,NL
+1044003528,1044003539,BE
+1044003540,1044003543,NL
+1044003544,1044003551,BE
+1044003552,1044003563,NL
+1044003564,1044003579,BE
+1044003580,1044003591,NL
+1044003592,1044003595,BE
+1044003596,1044003599,NL
+1044003600,1044003619,BE
+1044003620,1044003631,NL
+1044003632,1044003635,BE
+1044003636,1044003639,NL
+1044003640,1044003647,BE
+1044003648,1044003651,NL
+1044003652,1044003655,BE
+1044003656,1044003659,NL
+1044003660,1044003663,BE
+1044003664,1044003667,NL
+1044003668,1044003675,BE
+1044003676,1044003683,NL
+1044003684,1044003687,BE
+1044003688,1044003691,NL
+1044003692,1044003695,BE
+1044003696,1044003699,NL
+1044003700,1044003723,BE
+1044003724,1044003727,NL
+1044003728,1044003731,BE
+1044003732,1044003751,NL
+1044003752,1044003755,BE
+1044003756,1044003775,NL
+1044003776,1044003783,BE
+1044003784,1044003787,NL
+1044003788,1044003807,BE
+1044003808,1044003811,NL
+1044003812,1044003815,BE
+1044003816,1044003819,NL
+1044003820,1044003823,BE
+1044003824,1044003831,NL
+1044003832,1044003855,BE
+1044003856,1044003871,NL
+1044003872,1044003879,BE
+1044003880,1044003895,NL
+1044003896,1044003911,BE
+1044003912,1044003919,NL
+1044003920,1044003927,BE
+1044003928,1044003959,NL
+1044003960,1044003967,BE
+1044003968,1044003975,NL
+1044003976,1044003983,BE
+1044003984,1044003991,NL
+1044003992,1044004015,BE
+1044004016,1044004079,NL
+1044004080,1044004095,BE
+1044004096,1044004303,NL
+1044004304,1044004351,BE
+1044004352,1044004879,NL
+1044004880,1044004903,BE
+1044004904,1044004911,NL
+1044004912,1044004927,BE
+1044004928,1044005503,NL
+1044005504,1044005639,BE
+1044005640,1044005647,NL
+1044005648,1044005663,BE
+1044005664,1044005671,NL
+1044005672,1044005679,BE
+1044005680,1044005687,NL
+1044005688,1044005799,BE
+1044005800,1044005807,NL
+1044005808,1044005823,BE
+1044005824,1044005847,NL
+1044005848,1044005887,BE
+1044005888,1044006143,NL
+1044006144,1044006911,BE
+1044006912,1044006927,NL
+1044006928,1044006935,BE
+1044006936,1044006943,NL
+1044006944,1044007007,BE
+1044007008,1044007023,NL
+1044007024,1044007031,BE
+1044007032,1044007039,NL
+1044007040,1044007047,BE
+1044007048,1044007055,NL
+1044007056,1044007063,BE
+1044007064,1044007087,NL
+1044007088,1044007119,BE
+1044007120,1044007135,NL
+1044007136,1044007167,BE
+1044007168,1044007967,NL
+1044007968,1044007983,BE
+1044007984,1044007991,NL
+1044007992,1044008007,BE
+1044008008,1044008023,NL
+1044008024,1044008031,BE
+1044008032,1044008039,NL
+1044008040,1044008047,BE
+1044008048,1044008063,NL
+1044008064,1044008095,BE
+1044008096,1044008127,NL
+1044008128,1044008183,BE
+1044008184,1044008223,NL
+1044008224,1044008239,BE
+1044008240,1044008255,NL
+1044008256,1044008279,BE
+1044008280,1044008287,NL
+1044008288,1044008319,BE
+1044008320,1044008735,NL
+1044008736,1044009055,BE
+1044009056,1044009087,NL
+1044009088,1044009183,BE
+1044009184,1044009199,NL
+1044009200,1044009215,BE
+1044009216,1044009455,NL
+1044009456,1044009487,BE
+1044009488,1044009503,NL
+1044009504,1044009535,BE
+1044009536,1044009583,NL
+1044009584,1044009599,BE
+1044009600,1044009983,NL
+1044009984,1044011007,BE
+1044011008,1044011019,NL
+1044011020,1044011023,BE
+1044011024,1044011039,NL
+1044011040,1044011043,BE
+1044011044,1044011055,NL
+1044011056,1044011059,BE
+1044011060,1044011223,NL
+1044011224,1044011227,BE
+1044011228,1044011367,NL
+1044011368,1044011371,BE
+1044011372,1044011427,NL
+1044011428,1044011431,BE
+1044011432,1044011635,NL
+1044011636,1044011639,BE
+1044011640,1044011703,NL
+1044011704,1044011707,BE
+1044011708,1044011731,NL
+1044011732,1044011735,BE
+1044011736,1044011763,NL
+1044011764,1044011767,BE
+1044011768,1044011771,NL
+1044011772,1044011775,BE
+1044011776,1044011791,NL
+1044011792,1044011795,BE
+1044011796,1044011971,NL
+1044011972,1044012031,BE
+1044012032,1044012039,NL
+1044012040,1044012063,BE
+1044012064,1044012087,NL
+1044012088,1044012095,BE
+1044012096,1044012103,NL
+1044012104,1044012111,BE
+1044012112,1044012119,NL
+1044012120,1044012135,BE
+1044012136,1044012143,NL
+1044012144,1044012151,BE
+1044012152,1044012159,NL
+1044012160,1044012167,BE
+1044012168,1044012191,NL
+1044012192,1044012223,BE
+1044012224,1044012239,NL
+1044012240,1044012255,BE
+1044012256,1044013059,NL
1044013060,1044013111,BE
1044013112,1044013143,NL
1044013144,1044013247,BE
@@ -8965,9 +10975,7 @@
1044018000,1044018007,NL
1044018008,1044018031,BE
1044018032,1044018047,NL
-1044018048,1044018175,BE
-1044018176,1044019199,NL
-1044019200,1044019231,BE
+1044018048,1044019231,BE
1044019232,1044019235,NL
1044019236,1044019279,BE
1044019280,1044019283,NL
@@ -9078,10 +11086,920 @@
1044020592,1044020607,BE
1044020608,1044020671,NL
1044020672,1044020735,BE
-1044020736,1044024063,NL
-1044024064,1044024319,BE
-1044024320,1044045823,NL
-1044045824,1044045855,BE
+1044020736,1044021759,NL
+1044021760,1044021887,BE
+1044021888,1044022319,NL
+1044022320,1044022335,BE
+1044022336,1044022351,NL
+1044022352,1044022415,BE
+1044022416,1044023295,NL
+1044023296,1044023343,BE
+1044023344,1044023359,NL
+1044023360,1044023407,BE
+1044023408,1044023439,NL
+1044023440,1044024319,BE
+1044024320,1044024447,NL
+1044024448,1044024575,BE
+1044024576,1044024835,NL
+1044024836,1044024843,BE
+1044024844,1044024847,NL
+1044024848,1044024851,BE
+1044024852,1044024855,NL
+1044024856,1044024863,BE
+1044024864,1044024867,NL
+1044024868,1044024875,BE
+1044024876,1044024883,NL
+1044024884,1044024887,BE
+1044024888,1044024891,NL
+1044024892,1044024959,BE
+1044024960,1044025351,NL
+1044025352,1044025599,BE
+1044025600,1044025855,NL
+1044025856,1044025863,BE
+1044025864,1044025927,NL
+1044025928,1044025935,BE
+1044025936,1044025967,NL
+1044025968,1044025983,BE
+1044025984,1044025999,NL
+1044026000,1044026007,BE
+1044026008,1044026023,NL
+1044026024,1044026031,BE
+1044026032,1044026047,NL
+1044026048,1044026055,BE
+1044026056,1044026079,NL
+1044026080,1044026095,BE
+1044026096,1044026111,NL
+1044026112,1044026119,BE
+1044026120,1044026143,NL
+1044026144,1044026159,BE
+1044026160,1044026167,NL
+1044026168,1044026175,BE
+1044026176,1044026183,NL
+1044026184,1044026199,BE
+1044026200,1044026207,NL
+1044026208,1044026215,BE
+1044026216,1044026247,NL
+1044026248,1044026255,BE
+1044026256,1044026263,NL
+1044026264,1044026279,BE
+1044026280,1044026327,NL
+1044026328,1044026335,BE
+1044026336,1044026383,NL
+1044026384,1044026391,BE
+1044026392,1044026399,NL
+1044026400,1044026407,BE
+1044026408,1044026415,NL
+1044026416,1044026431,BE
+1044026432,1044026447,NL
+1044026448,1044026455,BE
+1044026456,1044026479,NL
+1044026480,1044026487,BE
+1044026488,1044026519,NL
+1044026520,1044026527,BE
+1044026528,1044026631,NL
+1044026632,1044026639,BE
+1044026640,1044026647,NL
+1044026648,1044026655,BE
+1044026656,1044026663,NL
+1044026664,1044026671,BE
+1044026672,1044026679,NL
+1044026680,1044026687,BE
+1044026688,1044026695,NL
+1044026696,1044026703,BE
+1044026704,1044026727,NL
+1044026728,1044026767,BE
+1044026768,1044026791,NL
+1044026792,1044026799,BE
+1044026800,1044026815,NL
+1044026816,1044026839,BE
+1044026840,1044026855,NL
+1044026856,1044026863,BE
+1044026864,1044026895,NL
+1044026896,1044027263,BE
+1044027264,1044027407,NL
+1044027408,1044027415,BE
+1044027416,1044027423,NL
+1044027424,1044027431,BE
+1044027432,1044027447,NL
+1044027448,1044027455,BE
+1044027456,1044027471,NL
+1044027472,1044027487,BE
+1044027488,1044027519,NL
+1044027520,1044027527,BE
+1044027528,1044027535,NL
+1044027536,1044027575,BE
+1044027576,1044027583,NL
+1044027584,1044027591,BE
+1044027592,1044027639,NL
+1044027640,1044027647,BE
+1044027648,1044027655,NL
+1044027656,1044027671,BE
+1044027672,1044027687,NL
+1044027688,1044027711,BE
+1044027712,1044027727,NL
+1044027728,1044027775,BE
+1044027776,1044027839,NL
+1044027840,1044027903,BE
+1044027904,1044028159,NL
+1044028160,1044028415,BE
+1044028416,1044028671,NL
+1044028672,1044028799,BE
+1044028800,1044028927,NL
+1044028928,1044028935,BE
+1044028936,1044028943,NL
+1044028944,1044028955,BE
+1044028956,1044028959,NL
+1044028960,1044029011,BE
+1044029012,1044029015,NL
+1044029016,1044029019,BE
+1044029020,1044029023,NL
+1044029024,1044029027,BE
+1044029028,1044029031,NL
+1044029032,1044029039,BE
+1044029040,1044029043,NL
+1044029044,1044029311,BE
+1044029312,1044029441,NL
+1044029442,1044029442,BE
+1044029443,1044029445,NL
+1044029446,1044029448,BE
+1044029449,1044029451,NL
+1044029452,1044029452,BE
+1044029453,1044029453,NL
+1044029454,1044029455,BE
+1044029456,1044029463,NL
+1044029464,1044029466,BE
+1044029467,1044029467,NL
+1044029468,1044029470,BE
+1044029471,1044029479,NL
+1044029480,1044029483,BE
+1044029484,1044029485,NL
+1044029486,1044029487,BE
+1044029488,1044029488,NL
+1044029489,1044029489,BE
+1044029490,1044029492,NL
+1044029493,1044029493,BE
+1044029494,1044029494,NL
+1044029495,1044029497,BE
+1044029498,1044029498,NL
+1044029499,1044029501,BE
+1044029502,1044029502,NL
+1044029503,1044029505,BE
+1044029506,1044029509,NL
+1044029510,1044029510,BE
+1044029511,1044029511,NL
+1044029512,1044029535,BE
+1044029536,1044029536,NL
+1044029537,1044029537,BE
+1044029538,1044029538,NL
+1044029539,1044029545,BE
+1044029546,1044029546,NL
+1044029547,1044029548,BE
+1044029549,1044029549,NL
+1044029550,1044029552,BE
+1044029553,1044029553,NL
+1044029554,1044029554,BE
+1044029555,1044029556,NL
+1044029557,1044029557,BE
+1044029558,1044029558,NL
+1044029559,1044029561,BE
+1044029562,1044029567,NL
+1044029568,1044029568,BE
+1044029569,1044029569,NL
+1044029570,1044029572,BE
+1044029573,1044029575,NL
+1044029576,1044029580,BE
+1044029581,1044029581,NL
+1044029582,1044029584,BE
+1044029585,1044029585,NL
+1044029586,1044029586,BE
+1044029587,1044029587,NL
+1044029588,1044029590,BE
+1044029591,1044029595,NL
+1044029596,1044029596,BE
+1044029597,1044029598,NL
+1044029599,1044029599,BE
+1044029600,1044029600,NL
+1044029601,1044029601,BE
+1044029602,1044029603,NL
+1044029604,1044029606,BE
+1044029607,1044029608,NL
+1044029609,1044029609,BE
+1044029610,1044029610,NL
+1044029611,1044029611,BE
+1044029612,1044029612,NL
+1044029613,1044029616,BE
+1044029617,1044029618,NL
+1044029619,1044029620,BE
+1044029621,1044029622,NL
+1044029623,1044029625,BE
+1044029626,1044029628,NL
+1044029629,1044029630,BE
+1044029631,1044029631,NL
+1044029632,1044029634,BE
+1044029635,1044029635,NL
+1044029636,1044029636,BE
+1044029637,1044029638,NL
+1044029639,1044029640,BE
+1044029641,1044029641,NL
+1044029642,1044029642,BE
+1044029643,1044029647,NL
+1044029648,1044029648,BE
+1044029649,1044029651,NL
+1044029652,1044029652,BE
+1044029653,1044029659,NL
+1044029660,1044029660,BE
+1044029661,1044029663,NL
+1044029664,1044029665,BE
+1044029666,1044029667,NL
+1044029668,1044029668,BE
+1044029669,1044029669,NL
+1044029670,1044029672,BE
+1044029673,1044029676,NL
+1044029677,1044029678,BE
+1044029679,1044029680,NL
+1044029681,1044029681,BE
+1044029682,1044029682,NL
+1044029683,1044029684,BE
+1044029685,1044029686,NL
+1044029687,1044029687,BE
+1044029688,1044029693,NL
+1044029694,1044029694,BE
+1044029695,1044029695,NL
+1044029696,1044029711,BE
+1044029712,1044029719,NL
+1044029720,1044029727,BE
+1044029728,1044029743,NL
+1044029744,1044029767,BE
+1044029768,1044029775,NL
+1044029776,1044029783,BE
+1044029784,1044029823,NL
+1044029824,1044029839,BE
+1044029840,1044029871,NL
+1044029872,1044029879,BE
+1044029880,1044029887,NL
+1044029888,1044029919,BE
+1044029920,1044029951,NL
+1044029952,1044029959,BE
+1044029960,1044029967,NL
+1044029968,1044029983,BE
+1044029984,1044030015,NL
+1044030016,1044030031,BE
+1044030032,1044030047,NL
+1044030048,1044030055,BE
+1044030056,1044030063,NL
+1044030064,1044030071,BE
+1044030072,1044030111,NL
+1044030112,1044030119,BE
+1044030120,1044030127,NL
+1044030128,1044030135,BE
+1044030136,1044030191,NL
+1044030192,1044030223,BE
+1044030224,1044030231,NL
+1044030232,1044030239,BE
+1044030240,1044030247,NL
+1044030248,1044030263,BE
+1044030264,1044030279,NL
+1044030280,1044030295,BE
+1044030296,1044030303,NL
+1044030304,1044030311,BE
+1044030312,1044030335,NL
+1044030336,1044030343,BE
+1044030344,1044030351,NL
+1044030352,1044030359,BE
+1044030360,1044030375,NL
+1044030376,1044030391,BE
+1044030392,1044030399,NL
+1044030400,1044030415,BE
+1044030416,1044030439,NL
+1044030440,1044030447,BE
+1044030448,1044030463,NL
+1044030464,1044030471,BE
+1044030472,1044030487,NL
+1044030488,1044030495,BE
+1044030496,1044030527,NL
+1044030528,1044030535,BE
+1044030536,1044030543,NL
+1044030544,1044030551,BE
+1044030552,1044030583,NL
+1044030584,1044030591,BE
+1044030592,1044030607,NL
+1044030608,1044030623,BE
+1044030624,1044030639,NL
+1044030640,1044030655,BE
+1044030656,1044030671,NL
+1044030672,1044030687,BE
+1044030688,1044030703,NL
+1044030704,1044030735,BE
+1044030736,1044030759,NL
+1044030760,1044030775,BE
+1044030776,1044030799,NL
+1044030800,1044030807,BE
+1044030808,1044030815,NL
+1044030816,1044030823,BE
+1044030824,1044030831,NL
+1044030832,1044030847,BE
+1044030848,1044030879,NL
+1044030880,1044030887,BE
+1044030888,1044030895,NL
+1044030896,1044030903,BE
+1044030904,1044030911,NL
+1044030912,1044030919,BE
+1044030920,1044030927,NL
+1044030928,1044030935,BE
+1044030936,1044030959,NL
+1044030960,1044030967,BE
+1044030968,1044030975,NL
+1044030976,1044030991,BE
+1044030992,1044030999,NL
+1044031000,1044031007,BE
+1044031008,1044031039,NL
+1044031040,1044031103,BE
+1044031104,1044031119,NL
+1044031120,1044031127,BE
+1044031128,1044031151,NL
+1044031152,1044031167,BE
+1044031168,1044031271,NL
+1044031272,1044031295,BE
+1044031296,1044031319,NL
+1044031320,1044031335,BE
+1044031336,1044031343,NL
+1044031344,1044031351,BE
+1044031352,1044031359,NL
+1044031360,1044031360,BE
+1044031361,1044031363,NL
+1044031364,1044031364,BE
+1044031365,1044031367,NL
+1044031368,1044031375,BE
+1044031376,1044031399,NL
+1044031400,1044031431,BE
+1044031432,1044031439,NL
+1044031440,1044031455,BE
+1044031456,1044031479,NL
+1044031480,1044031487,BE
+1044031488,1044031489,NL
+1044031490,1044031490,BE
+1044031491,1044031494,NL
+1044031495,1044031495,BE
+1044031496,1044031496,NL
+1044031497,1044031497,BE
+1044031498,1044031507,NL
+1044031508,1044031508,BE
+1044031509,1044031509,NL
+1044031510,1044031510,BE
+1044031511,1044031519,NL
+1044031520,1044031520,BE
+1044031521,1044031523,NL
+1044031524,1044031524,BE
+1044031525,1044031531,NL
+1044031532,1044031532,BE
+1044031533,1044031533,NL
+1044031534,1044031536,BE
+1044031537,1044031550,NL
+1044031551,1044031551,BE
+1044031552,1044031552,NL
+1044031553,1044031553,BE
+1044031554,1044031556,NL
+1044031557,1044031557,BE
+1044031558,1044031558,NL
+1044031559,1044031559,BE
+1044031560,1044031562,NL
+1044031563,1044031563,BE
+1044031564,1044031566,NL
+1044031567,1044031567,BE
+1044031568,1044031568,NL
+1044031569,1044031569,BE
+1044031570,1044031571,NL
+1044031572,1044031572,BE
+1044031573,1044031573,NL
+1044031574,1044031574,BE
+1044031575,1044031579,NL
+1044031580,1044031581,BE
+1044031582,1044031582,NL
+1044031583,1044031584,BE
+1044031585,1044031592,NL
+1044031593,1044031593,BE
+1044031594,1044031597,NL
+1044031598,1044031598,BE
+1044031599,1044031599,NL
+1044031600,1044031600,BE
+1044031601,1044031627,NL
+1044031628,1044031628,BE
+1044031629,1044031629,NL
+1044031630,1044031630,BE
+1044031631,1044031635,NL
+1044031636,1044031636,BE
+1044031637,1044031640,NL
+1044031641,1044031641,BE
+1044031642,1044031643,NL
+1044031644,1044031644,BE
+1044031645,1044031651,NL
+1044031652,1044031652,BE
+1044031653,1044031654,NL
+1044031655,1044031655,BE
+1044031656,1044031656,NL
+1044031657,1044031658,BE
+1044031659,1044031666,NL
+1044031667,1044031667,BE
+1044031668,1044031668,NL
+1044031669,1044031670,BE
+1044031671,1044031673,NL
+1044031674,1044031674,BE
+1044031675,1044031675,NL
+1044031676,1044031677,BE
+1044031678,1044031683,NL
+1044031684,1044031684,BE
+1044031685,1044031687,NL
+1044031688,1044031688,BE
+1044031689,1044031690,NL
+1044031691,1044031692,BE
+1044031693,1044031698,NL
+1044031699,1044031699,BE
+1044031700,1044031702,NL
+1044031703,1044031704,BE
+1044031705,1044031709,NL
+1044031710,1044031710,BE
+1044031711,1044031711,NL
+1044031712,1044031712,BE
+1044031713,1044031714,NL
+1044031715,1044031715,BE
+1044031716,1044031717,NL
+1044031718,1044031719,BE
+1044031720,1044031721,NL
+1044031722,1044031723,BE
+1044031724,1044031726,NL
+1044031727,1044031727,BE
+1044031728,1044031751,NL
+1044031752,1044031759,BE
+1044031760,1044031799,NL
+1044031800,1044031807,BE
+1044031808,1044031815,NL
+1044031816,1044031871,BE
+1044031872,1044031879,NL
+1044031880,1044031895,BE
+1044031896,1044031927,NL
+1044031928,1044031943,BE
+1044031944,1044031951,NL
+1044031952,1044031991,BE
+1044031992,1044031999,NL
+1044032000,1044032031,BE
+1044032032,1044032047,NL
+1044032048,1044032055,BE
+1044032056,1044032071,NL
+1044032072,1044032079,BE
+1044032080,1044032103,NL
+1044032104,1044032127,BE
+1044032128,1044032143,NL
+1044032144,1044032167,BE
+1044032168,1044032175,NL
+1044032176,1044032183,BE
+1044032184,1044032191,NL
+1044032192,1044032199,BE
+1044032200,1044032223,NL
+1044032224,1044032239,BE
+1044032240,1044032263,NL
+1044032264,1044032287,BE
+1044032288,1044032303,NL
+1044032304,1044032327,BE
+1044032328,1044032375,NL
+1044032376,1044032407,BE
+1044032408,1044032471,NL
+1044032472,1044032479,BE
+1044032480,1044032527,NL
+1044032528,1044032559,BE
+1044032560,1044032583,NL
+1044032584,1044032615,BE
+1044032616,1044032639,NL
+1044032640,1044032647,BE
+1044032648,1044032655,NL
+1044032656,1044032663,BE
+1044032664,1044032695,NL
+1044032696,1044032703,BE
+1044032704,1044032719,NL
+1044032720,1044032727,BE
+1044032728,1044032735,NL
+1044032736,1044032743,BE
+1044032744,1044032775,NL
+1044032776,1044032783,BE
+1044032784,1044032791,NL
+1044032792,1044032799,BE
+1044032800,1044032815,NL
+1044032816,1044032831,BE
+1044032832,1044032855,NL
+1044032856,1044032863,BE
+1044032864,1044032887,NL
+1044032888,1044032903,BE
+1044032904,1044032927,NL
+1044032928,1044032935,BE
+1044032936,1044032943,NL
+1044032944,1044032959,BE
+1044032960,1044032967,NL
+1044032968,1044032975,BE
+1044032976,1044032991,NL
+1044032992,1044032999,BE
+1044033000,1044033031,NL
+1044033032,1044033055,BE
+1044033056,1044033071,NL
+1044033072,1044033079,BE
+1044033080,1044033087,NL
+1044033088,1044033095,BE
+1044033096,1044033111,NL
+1044033112,1044033119,BE
+1044033120,1044033135,NL
+1044033136,1044033159,BE
+1044033160,1044033207,NL
+1044033208,1044033215,BE
+1044033216,1044033223,NL
+1044033224,1044033231,BE
+1044033232,1044033335,NL
+1044033336,1044033343,BE
+1044033344,1044033351,NL
+1044033352,1044033359,BE
+1044033360,1044033375,NL
+1044033376,1044033407,BE
+1044033408,1044033431,NL
+1044033432,1044033447,BE
+1044033448,1044033527,NL
+1044033528,1044033535,BE
+1044033536,1044033543,NL
+1044033544,1044033551,BE
+1044033552,1044033575,NL
+1044033576,1044033583,BE
+1044033584,1044033623,NL
+1044033624,1044033631,BE
+1044033632,1044033655,NL
+1044033656,1044033663,BE
+1044033664,1044033671,NL
+1044033672,1044033687,BE
+1044033688,1044033719,NL
+1044033720,1044033727,BE
+1044033728,1044033847,NL
+1044033848,1044033855,BE
+1044033856,1044033895,NL
+1044033896,1044033903,BE
+1044033904,1044033927,NL
+1044033928,1044033935,BE
+1044033936,1044033991,NL
+1044033992,1044033999,BE
+1044034000,1044034015,NL
+1044034016,1044034023,BE
+1044034024,1044034031,NL
+1044034032,1044034039,BE
+1044034040,1044034055,NL
+1044034056,1044034063,BE
+1044034064,1044034095,NL
+1044034096,1044034119,BE
+1044034120,1044034127,NL
+1044034128,1044034143,BE
+1044034144,1044034207,NL
+1044034208,1044034215,BE
+1044034216,1044034231,NL
+1044034232,1044034247,BE
+1044034248,1044034263,NL
+1044034264,1044034271,BE
+1044034272,1044034279,NL
+1044034280,1044034295,BE
+1044034296,1044034303,NL
+1044034304,1044034311,BE
+1044034312,1044034327,NL
+1044034328,1044034335,BE
+1044034336,1044034375,NL
+1044034376,1044034383,BE
+1044034384,1044034487,NL
+1044034488,1044034495,BE
+1044034496,1044034511,NL
+1044034512,1044034519,BE
+1044034520,1044034615,NL
+1044034616,1044034623,BE
+1044034624,1044034663,NL
+1044034664,1044034671,BE
+1044034672,1044034735,NL
+1044034736,1044034743,BE
+1044034744,1044034751,NL
+1044034752,1044034759,BE
+1044034760,1044034783,NL
+1044034784,1044034791,BE
+1044034792,1044034847,NL
+1044034848,1044034855,BE
+1044034856,1044034919,NL
+1044034920,1044034927,BE
+1044034928,1044034975,NL
+1044034976,1044034983,BE
+1044034984,1044034999,NL
+1044035000,1044035007,BE
+1044035008,1044035031,NL
+1044035032,1044035039,BE
+1044035040,1044035047,NL
+1044035048,1044035055,BE
+1044035056,1044035063,NL
+1044035064,1044035071,BE
+1044035072,1044035087,NL
+1044035088,1044035095,BE
+1044035096,1044035143,NL
+1044035144,1044035151,BE
+1044035152,1044035191,NL
+1044035192,1044035199,BE
+1044035200,1044035223,NL
+1044035224,1044035231,BE
+1044035232,1044035255,NL
+1044035256,1044035263,BE
+1044035264,1044035287,NL
+1044035288,1044035311,BE
+1044035312,1044035327,NL
+1044035328,1044035351,BE
+1044035352,1044035367,NL
+1044035368,1044035375,BE
+1044035376,1044035407,NL
+1044035408,1044035423,BE
+1044035424,1044035447,NL
+1044035448,1044035471,BE
+1044035472,1044035479,NL
+1044035480,1044035487,BE
+1044035488,1044035495,NL
+1044035496,1044035503,BE
+1044035504,1044035511,NL
+1044035512,1044035527,BE
+1044035528,1044035535,NL
+1044035536,1044035543,BE
+1044035544,1044035559,NL
+1044035560,1044035591,BE
+1044035592,1044035607,NL
+1044035608,1044035623,BE
+1044035624,1044035655,NL
+1044035656,1044035663,BE
+1044035664,1044035671,NL
+1044035672,1044035679,BE
+1044035680,1044035711,NL
+1044035712,1044035727,BE
+1044035728,1044035751,NL
+1044035752,1044035759,BE
+1044035760,1044035791,NL
+1044035792,1044035807,BE
+1044035808,1044035831,NL
+1044035832,1044035839,BE
+1044035840,1044035847,NL
+1044035848,1044035871,BE
+1044035872,1044035887,NL
+1044035888,1044035895,BE
+1044035896,1044035903,NL
+1044035904,1044035919,BE
+1044035920,1044035935,NL
+1044035936,1044035967,BE
+1044035968,1044035975,NL
+1044035976,1044035991,BE
+1044035992,1044035999,NL
+1044036000,1044036007,BE
+1044036008,1044036039,NL
+1044036040,1044036047,BE
+1044036048,1044036079,NL
+1044036080,1044036087,BE
+1044036088,1044036095,NL
+1044036096,1044036103,BE
+1044036104,1044036111,NL
+1044036112,1044036119,BE
+1044036120,1044036127,NL
+1044036128,1044036135,BE
+1044036136,1044036143,NL
+1044036144,1044036159,BE
+1044036160,1044036167,NL
+1044036168,1044036199,BE
+1044036200,1044036223,NL
+1044036224,1044036239,BE
+1044036240,1044036255,NL
+1044036256,1044036271,BE
+1044036272,1044036295,NL
+1044036296,1044036311,BE
+1044036312,1044036327,NL
+1044036328,1044036335,BE
+1044036336,1044036399,NL
+1044036400,1044036407,BE
+1044036408,1044036415,NL
+1044036416,1044036423,BE
+1044036424,1044036439,NL
+1044036440,1044036447,BE
+1044036448,1044036471,NL
+1044036472,1044036479,BE
+1044036480,1044036503,NL
+1044036504,1044036511,BE
+1044036512,1044036527,NL
+1044036528,1044036543,BE
+1044036544,1044036559,NL
+1044036560,1044036567,BE
+1044036568,1044036575,NL
+1044036576,1044036623,BE
+1044036624,1044036647,NL
+1044036648,1044036655,BE
+1044036656,1044036671,NL
+1044036672,1044036687,BE
+1044036688,1044036759,NL
+1044036760,1044036767,BE
+1044036768,1044036775,NL
+1044036776,1044036783,BE
+1044036784,1044036791,NL
+1044036792,1044036799,BE
+1044036800,1044036807,NL
+1044036808,1044036815,BE
+1044036816,1044036863,NL
+1044036864,1044036864,BE
+1044036865,1044036865,NL
+1044036866,1044036866,BE
+1044036867,1044036890,NL
+1044036891,1044036891,BE
+1044036892,1044036899,NL
+1044036900,1044036900,BE
+1044036901,1044036907,NL
+1044036908,1044036908,BE
+1044036909,1044036909,NL
+1044036910,1044036910,BE
+1044036911,1044036927,NL
+1044036928,1044036928,BE
+1044036929,1044036942,NL
+1044036943,1044036943,BE
+1044036944,1044036948,NL
+1044036949,1044036951,BE
+1044036952,1044036957,NL
+1044036958,1044036958,BE
+1044036959,1044036967,NL
+1044036968,1044036968,BE
+1044036969,1044036970,NL
+1044036971,1044036971,BE
+1044036972,1044036976,NL
+1044036977,1044036977,BE
+1044036978,1044036984,NL
+1044036985,1044036985,BE
+1044036986,1044036990,NL
+1044036991,1044036991,BE
+1044036992,1044037007,NL
+1044037008,1044037010,BE
+1044037011,1044037014,NL
+1044037015,1044037015,BE
+1044037016,1044037021,NL
+1044037022,1044037022,BE
+1044037023,1044037023,NL
+1044037024,1044037025,BE
+1044037026,1044037026,NL
+1044037027,1044037027,BE
+1044037028,1044037037,NL
+1044037038,1044037038,BE
+1044037039,1044037042,NL
+1044037043,1044037043,BE
+1044037044,1044037047,NL
+1044037048,1044037048,BE
+1044037049,1044037049,NL
+1044037050,1044037051,BE
+1044037052,1044037056,NL
+1044037057,1044037057,BE
+1044037058,1044037061,NL
+1044037062,1044037063,BE
+1044037064,1044037065,NL
+1044037066,1044037066,BE
+1044037067,1044037070,NL
+1044037071,1044037071,BE
+1044037072,1044037074,NL
+1044037075,1044037075,BE
+1044037076,1044037091,NL
+1044037092,1044037092,BE
+1044037093,1044037098,NL
+1044037099,1044037100,BE
+1044037101,1044037101,NL
+1044037102,1044037102,BE
+1044037103,1044037106,NL
+1044037107,1044037107,BE
+1044037108,1044037109,NL
+1044037110,1044037110,BE
+1044037111,1044037143,NL
+1044037144,1044037151,BE
+1044037152,1044037159,NL
+1044037160,1044037167,BE
+1044037168,1044037191,NL
+1044037192,1044037223,BE
+1044037224,1044037271,NL
+1044037272,1044037279,BE
+1044037280,1044037287,NL
+1044037288,1044037295,BE
+1044037296,1044037319,NL
+1044037320,1044037327,BE
+1044037328,1044037667,NL
+1044037668,1044037671,BE
+1044037672,1044037703,NL
+1044037704,1044037711,BE
+1044037712,1044037735,NL
+1044037736,1044037743,BE
+1044037744,1044037759,NL
+1044037760,1044037763,BE
+1044037764,1044037775,NL
+1044037776,1044037783,BE
+1044037784,1044037791,NL
+1044037792,1044037823,BE
+1044037824,1044037831,NL
+1044037832,1044037839,BE
+1044037840,1044037855,NL
+1044037856,1044037887,BE
+1044037888,1044038143,NL
+1044038144,1044038527,BE
+1044038528,1044038535,NL
+1044038536,1044038543,BE
+1044038544,1044038559,NL
+1044038560,1044038567,BE
+1044038568,1044038591,NL
+1044038592,1044038599,BE
+1044038600,1044038607,NL
+1044038608,1044038623,BE
+1044038624,1044038639,NL
+1044038640,1044038647,BE
+1044038648,1044038671,NL
+1044038672,1044038679,BE
+1044038680,1044038687,NL
+1044038688,1044038703,BE
+1044038704,1044038783,NL
+1044038784,1044038911,BE
+1044038912,1044038919,NL
+1044038920,1044038927,BE
+1044038928,1044038935,NL
+1044038936,1044038943,BE
+1044038944,1044039295,NL
+1044039296,1044039303,BE
+1044039304,1044039311,NL
+1044039312,1044039359,BE
+1044039360,1044039687,NL
+1044039688,1044039695,BE
+1044039696,1044039751,NL
+1044039752,1044039759,BE
+1044039760,1044039775,NL
+1044039776,1044039855,BE
+1044039856,1044039951,NL
+1044039952,1044039959,BE
+1044039960,1044039999,NL
+1044040000,1044040015,BE
+1044040016,1044040063,NL
+1044040064,1044040111,BE
+1044040112,1044040143,NL
+1044040144,1044040159,BE
+1044040160,1044040191,NL
+1044040192,1044040223,BE
+1044040224,1044040231,NL
+1044040232,1044040239,BE
+1044040240,1044040255,NL
+1044040256,1044040703,BE
+1044040704,1044041727,NL
+1044041728,1044043775,BE
+1044043776,1044043783,NL
+1044043784,1044043787,BE
+1044043788,1044043791,NL
+1044043792,1044043795,BE
+1044043796,1044043799,NL
+1044043800,1044043803,BE
+1044043804,1044043807,NL
+1044043808,1044043811,BE
+1044043812,1044043823,NL
+1044043824,1044043827,BE
+1044043828,1044043835,NL
+1044043836,1044043847,BE
+1044043848,1044043851,NL
+1044043852,1044043879,BE
+1044043880,1044043883,NL
+1044043884,1044043895,BE
+1044043896,1044043903,NL
+1044043904,1044043907,BE
+1044043908,1044043919,NL
+1044043920,1044043927,BE
+1044043928,1044043931,NL
+1044043932,1044043935,BE
+1044043936,1044043943,NL
+1044043944,1044043955,BE
+1044043956,1044043971,NL
+1044043972,1044043975,BE
+1044043976,1044043987,NL
+1044043988,1044043999,BE
+1044044000,1044044003,NL
+1044044004,1044044007,BE
+1044044008,1044044011,NL
+1044044012,1044044015,BE
+1044044016,1044044019,NL
+1044044020,1044044027,BE
+1044044028,1044044035,NL
+1044044036,1044044043,BE
+1044044044,1044044051,NL
+1044044052,1044044055,BE
+1044044056,1044044059,NL
+1044044060,1044044071,BE
+1044044072,1044044083,NL
+1044044084,1044044099,BE
+1044044100,1044044119,NL
+1044044120,1044044131,BE
+1044044132,1044044135,NL
+1044044136,1044044143,BE
+1044044144,1044044163,NL
+1044044164,1044044167,BE
+1044044168,1044044171,NL
+1044044172,1044044187,BE
+1044044188,1044044215,NL
+1044044216,1044044227,BE
+1044044228,1044044243,NL
+1044044244,1044044247,BE
+1044044248,1044044251,NL
+1044044252,1044045311,BE
+1044045312,1044045695,NL
+1044045696,1044045855,BE
1044045856,1044045887,NL
1044045888,1044045911,BE
1044045912,1044045919,NL
@@ -9089,9 +12007,7 @@
1044046080,1044046239,NL
1044046240,1044046319,BE
1044046320,1044046327,NL
-1044046328,1044046847,BE
-1044046848,1044051967,NL
-1044051968,1044051987,BE
+1044046328,1044051987,BE
1044051988,1044051991,NL
1044051992,1044051995,BE
1044051996,1044051999,NL
@@ -9128,10 +12044,94 @@
1044053432,1044053455,BE
1044053456,1044053463,NL
1044053464,1044053503,BE
-1044053504,1044106239,NL
-1044106240,1044106367,BE
-1044106368,1044106495,NL
-1044106496,1044106751,BE
+1044053504,1044059263,NL
+1044059264,1044059935,BE
+1044059936,1044060031,NL
+1044060032,1044060063,BE
+1044060064,1044061183,NL
+1044061184,1044061223,BE
+1044061224,1044061263,NL
+1044061264,1044061271,BE
+1044061272,1044061343,NL
+1044061344,1044061375,BE
+1044061376,1044061391,NL
+1044061392,1044061399,BE
+1044061400,1044061431,NL
+1044061432,1044061439,BE
+1044061440,1044061695,NL
+1044061696,1044061703,BE
+1044061704,1044061759,NL
+1044061760,1044061775,BE
+1044061776,1044061783,NL
+1044061784,1044061807,BE
+1044061808,1044061831,NL
+1044061832,1044061839,BE
+1044061840,1044061879,NL
+1044061880,1044061895,BE
+1044061896,1044061919,NL
+1044061920,1044061951,BE
+1044061952,1044062015,NL
+1044062016,1044062047,BE
+1044062048,1044062079,NL
+1044062080,1044062095,BE
+1044062096,1044062103,NL
+1044062104,1044062135,BE
+1044062136,1044062175,NL
+1044062176,1044062199,BE
+1044062200,1044062223,NL
+1044062224,1044062239,BE
+1044062240,1044062375,NL
+1044062376,1044062383,BE
+1044062384,1044062399,NL
+1044062400,1044062415,BE
+1044062416,1044062455,NL
+1044062456,1044062471,BE
+1044062472,1044062503,NL
+1044062504,1044062527,BE
+1044062528,1044062535,NL
+1044062536,1044062543,BE
+1044062544,1044062575,NL
+1044062576,1044062583,BE
+1044062584,1044062591,NL
+1044062592,1044062599,BE
+1044062600,1044062607,NL
+1044062608,1044062623,BE
+1044062624,1044062647,NL
+1044062648,1044062655,BE
+1044062656,1044062663,NL
+1044062664,1044062671,BE
+1044062672,1044063231,NL
+1044063232,1044063355,BE
+1044063356,1044063363,NL
+1044063364,1044067327,BE
+1044067328,1044068351,NL
+1044068352,1044068991,BE
+1044068992,1044069631,NL
+1044069632,1044070399,BE
+1044070400,1044076607,NL
+1044076608,1044076799,BE
+1044076800,1044092927,NL
+1044092928,1044093183,BE
+1044093184,1044094975,NL
+1044094976,1044099071,BE
+1044099072,1044103263,NL
+1044103264,1044103423,BE
+1044103424,1044103999,NL
+1044104000,1044104031,BE
+1044104032,1044104095,NL
+1044104096,1044104159,BE
+1044104160,1044104287,NL
+1044104288,1044104319,BE
+1044104320,1044104367,NL
+1044104368,1044104383,BE
+1044104384,1044104543,NL
+1044104544,1044104559,BE
+1044104560,1044104831,NL
+1044104832,1044105023,BE
+1044105024,1044105055,NL
+1044105056,1044105087,BE
+1044105088,1044105151,NL
+1044105152,1044106751,BE
1044106752,1044106755,NL
1044106756,1044106763,BE
1044106764,1044106767,NL
@@ -9140,13 +12140,19 @@
1044106776,1044106787,BE
1044106788,1044106795,NL
1044106796,1044106807,BE
-1044106808,1044117503,NL
+1044106808,1044111359,NL
+1044111360,1044115455,BE
+1044115456,1044117503,NL
1044117504,1044117543,BE
1044117544,1044117567,NL
1044117568,1044117847,BE
1044117848,1044117855,NL
1044117856,1044118527,BE
-1044118528,1044119551,NL
+1044118528,1044118783,NL
+1044118784,1044118847,BE
+1044118848,1044118895,NL
+1044118896,1044118903,BE
+1044118904,1044119551,NL
1044119552,1044152319,GB
1044152320,1044185087,IR
1044185088,1044193279,RU
@@ -9154,7 +12160,6 @@
1044201472,1044217855,FI
1044217856,1044226047,DK
1044226048,1044234239,OM
-1044234240,1044250623,DZ
1044250624,1044251391,BE
1044251392,1044251647,EU
1044251648,1044252415,BE
@@ -9198,9 +12203,7 @@
1044332544,1044348927,RU
1044348928,1044365311,LV
1044365312,1044381695,SE
-1044381696,1044384511,RU
-1044384512,1044384767,KZ
-1044384768,1044389887,RU
+1044381696,1044389887,RU
1044389888,1044398079,FR
1044398080,1044414463,UA
1044414464,1044447231,GB
@@ -9233,7 +12236,9 @@
1044580736,1044580767,DE
1044580768,1044580863,GB
1044580864,1044581119,DE
-1044581120,1044586495,GB
+1044581120,1044581631,GB
+1044581632,1044581887,DE
+1044581888,1044586495,GB
1044586496,1044587007,DE
1044587008,1044587519,GB
1044587520,1044587775,DE
@@ -9250,9 +12255,7 @@
1044590672,1044590719,GB
1044590720,1044590783,DE
1044590784,1044590847,GB
-1044590848,1044591615,DE
-1044591616,1044591871,GB
-1044591872,1044592127,DE
+1044590848,1044592127,DE
1044592128,1044592143,GB
1044592144,1044592159,DE
1044592160,1044592191,GB
@@ -9287,8 +12290,7 @@
1044634624,1044634879,DE
1044634880,1044635647,GB
1044635648,1044636159,US
-1044636160,1044636415,GB
-1044636416,1044638207,DE
+1044636160,1044638207,DE
1044638208,1044638223,GB
1044638224,1044638239,DE
1044638240,1044638463,GB
@@ -9296,9 +12298,7 @@
1044638720,1044638975,GB
1044638976,1044639231,DE
1044639232,1044639743,GB
-1044639744,1044642303,DE
-1044642304,1044642815,GB
-1044642816,1044643327,DE
+1044639744,1044643327,DE
1044643328,1044643839,GB
1044643840,1044652031,DE
1044652032,1044660223,LY
@@ -9369,8 +12369,8 @@
1044922368,1044930559,DE
1044930560,1044930695,BE
1044930696,1044930703,GB
-1044930704,1044930775,BE
-1044930776,1044930783,GB
+1044930704,1044930751,BE
+1044930752,1044930783,GB
1044930784,1044930791,BE
1044930792,1044930795,GB
1044930796,1044930799,BE
@@ -9381,7 +12381,8 @@
1044930848,1044930879,FR
1044930880,1044930911,BE
1044930912,1044930927,DE
-1044930928,1044930967,BE
+1044930928,1044930935,GB
+1044930936,1044930967,BE
1044930968,1044930975,FR
1044930976,1044930979,GB
1044930980,1044931343,BE
@@ -9390,7 +12391,9 @@
1044931376,1044931391,GB
1044931392,1044931407,BE
1044931408,1044931439,GB
-1044931440,1044931487,BE
+1044931440,1044931455,BE
+1044931456,1044931463,GB
+1044931464,1044931487,BE
1044931488,1044931495,GB
1044931496,1044931535,BE
1044931536,1044931543,GB
@@ -9437,10 +12440,10 @@
1044932728,1044932735,BE
1044932736,1044932799,GB
1044932800,1044932831,BE
-1044932832,1044932839,GB
-1044932840,1044932847,BE
-1044932848,1044932863,GB
-1044932864,1044932935,BE
+1044932832,1044932863,GB
+1044932864,1044932895,BE
+1044932896,1044932903,GB
+1044932904,1044932935,BE
1044932936,1044932947,GB
1044932948,1044932951,BE
1044932952,1044932959,GB
@@ -9454,7 +12457,9 @@
1044933104,1044933107,GB
1044933108,1044933215,BE
1044933216,1044933227,GB
-1044933228,1044933303,BE
+1044933228,1044933239,BE
+1044933240,1044933247,GB
+1044933248,1044933303,BE
1044933304,1044933311,GB
1044933312,1044933359,BE
1044933360,1044933375,GB
@@ -9462,8 +12467,10 @@
1044933408,1044933411,GB
1044933412,1044933415,BE
1044933416,1044933439,GB
-1044933440,1044933511,BE
-1044933512,1044933519,GB
+1044933440,1044933487,BE
+1044933488,1044933495,GB
+1044933496,1044933503,BE
+1044933504,1044933519,GB
1044933520,1044933551,BE
1044933552,1044933555,GB
1044933556,1044933583,BE
@@ -9486,19 +12493,25 @@
1044933920,1044933935,GB
1044933936,1044934111,BE
1044934112,1044934119,GB
-1044934120,1044934191,BE
+1044934120,1044934151,BE
+1044934152,1044934159,GB
+1044934160,1044934191,BE
1044934192,1044934199,GB
-1044934200,1044934239,BE
-1044934240,1044934247,GB
+1044934200,1044934231,BE
+1044934232,1044934247,GB
1044934248,1044934287,BE
1044934288,1044934295,GB
1044934296,1044934359,BE
1044934360,1044934503,GB
-1044934504,1044934575,BE
+1044934504,1044934543,BE
+1044934544,1044934551,GB
+1044934552,1044934575,BE
1044934576,1044934583,GB
1044934584,1044934591,BE
1044934592,1044934599,GB
-1044934600,1044934719,BE
+1044934600,1044934607,BE
+1044934608,1044934615,GB
+1044934616,1044934719,BE
1044934720,1044934783,GB
1044934784,1044934815,BE
1044934816,1044934819,GB
@@ -9534,15 +12547,17 @@
1044935852,1044935871,GB
1044935872,1044935879,BE
1044935880,1044935887,GB
-1044935888,1044935903,BE
-1044935904,1044936095,GB
+1044935888,1044935895,BE
+1044935896,1044936095,GB
1044936096,1044936103,BE
1044936104,1044936111,GB
1044936112,1044936123,BE
1044936124,1044936151,GB
1044936152,1044936207,BE
1044936208,1044936215,GB
-1044936216,1044936271,BE
+1044936216,1044936231,BE
+1044936232,1044936239,GB
+1044936240,1044936271,BE
1044936272,1044936287,GB
1044936288,1044936303,BE
1044936304,1044936311,GB
@@ -9552,7 +12567,9 @@
1044936440,1044936463,GB
1044936464,1044936495,BE
1044936496,1044936503,GB
-1044936504,1044936711,BE
+1044936504,1044936511,BE
+1044936512,1044936519,GB
+1044936520,1044936711,BE
1044936712,1044936719,GB
1044936720,1044936847,BE
1044936848,1044936863,GB
@@ -9592,16 +12609,20 @@
1044938104,1044938107,GB
1044938108,1044938111,BE
1044938112,1044938143,GB
-1044938144,1044938235,BE
+1044938144,1044938175,BE
+1044938176,1044938207,GB
+1044938208,1044938235,BE
1044938236,1044938271,GB
-1044938272,1044938367,BE
+1044938272,1044938335,BE
+1044938336,1044938343,GB
+1044938344,1044938367,BE
1044938368,1044938399,GB
1044938400,1044938407,BE
1044938408,1044938415,GB
1044938416,1044938423,BE
1044938424,1044938431,GB
-1044938432,1044938487,BE
-1044938488,1044938511,GB
+1044938432,1044938479,BE
+1044938480,1044938511,GB
1044938512,1044938519,BE
1044938520,1044938523,GB
1044938524,1044938559,BE
@@ -9624,15 +12645,17 @@
1045013232,1045013247,IE
1045013248,1045013455,GB
1045013456,1045013471,IE
-1045013472,1045018143,GB
+1045013472,1045016832,GB
+1045016833,1045016862,ES
+1045016863,1045018143,GB
1045018144,1045018151,AE
1045018152,1045018207,GB
1045018208,1045018231,FI
1045018232,1045018367,GB
1045018368,1045018559,ES
1045018560,1045018623,GB
-1045018624,1045018751,ES
-1045018752,1045020159,GB
+1045018624,1045018783,ES
+1045018784,1045020159,GB
1045020160,1045020671,ES
1045020672,1045037055,NO
1045037056,1045119231,GR
@@ -9653,11 +12676,14 @@
1045155072,1045155327,CH
1045155328,1045160959,DE
1045160960,1045160991,TR
-1045160992,1045161023,DE
+1045160992,1045161023,MA
1045161024,1045161055,AT
-1045161056,1045161119,DE
+1045161056,1045161087,US
+1045161088,1045161119,IN
1045161120,1045161151,SC
-1045161152,1045168127,DE
+1045161152,1045161183,DE
+1045161184,1045161215,IN
+1045161216,1045168127,DE
1045168128,1045233663,RU
1045233664,1045241855,GB
1045241856,1045250047,IT
@@ -9730,9 +12756,7 @@
1045742116,1045742175,GB
1045742176,1045742191,SE
1045742192,1045742335,GB
-1045742336,1045742351,SE
-1045742352,1045742367,GB
-1045742368,1045742383,SE
+1045742336,1045742383,SE
1045742384,1045742395,GB
1045742396,1045742471,SE
1045742472,1045742479,GB
@@ -9747,12 +12771,11 @@
1045742848,1045742983,SE
1045742984,1045742991,GB
1045742992,1045743007,SE
-1045743008,1045743031,GB
+1045743008,1045743015,FI
+1045743016,1045743031,GB
1045743032,1045743039,SE
1045743040,1045743063,GB
-1045743064,1045743071,SE
-1045743072,1045743087,GB
-1045743088,1045743095,SE
+1045743064,1045743095,SE
1045743096,1045743103,GB
1045743104,1045743231,SE
1045743232,1045743251,GB
@@ -9772,7 +12795,7 @@
1045745616,1045745627,SE
1045745628,1045745631,GB
1045745632,1045745647,SE
-1045745648,1045745663,GB
+1045745648,1045745663,FI
1045745664,1045745695,SE
1045745696,1045745759,GB
1045745760,1045745768,SE
@@ -9804,7 +12827,6 @@
1045748480,1045748735,SE
1045748736,1045749503,GB
1045749504,1045749759,SE
-1045749760,1045757951,GB
1045757952,1045790719,LV
1045790720,1045798911,FR
1045798912,1045889023,IT
@@ -9877,9 +12899,7 @@
1046317056,1046317567,ES
1046317568,1046318335,NL
1046318336,1046318591,GB
-1046318592,1046320127,NL
-1046320128,1046320639,GB
-1046320640,1046323199,NL
+1046318592,1046323199,NL
1046323200,1046327151,ES
1046327152,1046327155,FR
1046327156,1046331391,ES
@@ -9897,9 +12917,7 @@
1046333440,1046333695,DE
1046333696,1046334719,EU
1046334720,1046334975,DE
-1046334976,1046336223,EU
-1046336224,1046336255,DE
-1046336256,1046336511,EU
+1046334976,1046336511,EU
1046336512,1046337023,DE
1046337024,1046337535,EU
1046337536,1046338047,DE
@@ -9930,11 +12948,15 @@
1046413312,1046446079,SE
1046446080,1046479535,DE
1046479536,1046479551,GB
-1046479552,1046479687,DE
+1046479552,1046479583,DE
+1046479584,1046479615,GB
+1046479616,1046479687,DE
1046479688,1046479695,GB
1046479696,1046480047,DE
1046480048,1046480055,GB
-1046480056,1046480471,DE
+1046480056,1046480063,DE
+1046480064,1046480095,GB
+1046480096,1046480471,DE
1046480472,1046480479,GB
1046480480,1046480719,DE
1046480720,1046480735,GB
@@ -9950,7 +12972,9 @@
1046483232,1046483471,GB
1046483472,1046483583,DE
1046483584,1046483967,GB
-1046483968,1046484351,DE
+1046483968,1046484255,DE
+1046484256,1046484287,GB
+1046484288,1046484351,DE
1046484352,1046484479,GB
1046484480,1046484511,DE
1046484512,1046484607,GB
@@ -9976,7 +13000,9 @@
1046486184,1046486191,GB
1046486192,1046486375,DE
1046486376,1046486383,GB
-1046486384,1046491391,DE
+1046486384,1046491223,DE
+1046491224,1046491231,GB
+1046491232,1046491391,DE
1046491392,1046491399,GB
1046491400,1046491423,DE
1046491424,1046491431,GB
@@ -10084,9 +13110,7 @@
1046498104,1046498111,GB
1046498112,1046498159,DE
1046498160,1046498167,GB
-1046498168,1046498175,DE
-1046498176,1046498183,GB
-1046498184,1046498207,DE
+1046498168,1046498207,DE
1046498208,1046498215,GB
1046498216,1046498239,DE
1046498240,1046498255,GB
@@ -10114,7 +13138,9 @@
1046502864,1046502911,GB
1046502912,1046504415,DE
1046504416,1046504447,GB
-1046504448,1046516287,DE
+1046504448,1046508543,DE
+1046508544,1046511615,GB
+1046511616,1046516287,DE
1046516288,1046516735,GB
1046516736,1046516751,DE
1046516752,1046516991,GB
@@ -10123,7 +13149,13 @@
1046517040,1046517087,DE
1046517088,1046517759,GB
1046517760,1046518271,DE
-1046518272,1046524159,GB
+1046518272,1046518783,GB
+1046518784,1046519039,DE
+1046519040,1046519167,GB
+1046519168,1046519271,DE
+1046519272,1046519279,GB
+1046519280,1046519327,DE
+1046519328,1046524159,GB
1046524160,1046524191,DE
1046524192,1046524207,GB
1046524208,1046524215,DE
@@ -10197,16 +13229,14 @@
1046535488,1046535551,DE
1046535552,1046535619,GB
1046535620,1046535623,DE
-1046535624,1046535679,GB
-1046535680,1046535935,DE
-1046535936,1046536023,GB
+1046535624,1046536023,GB
1046536024,1046536039,DE
1046536040,1046536063,GB
1046536064,1046536151,DE
1046536152,1046536159,GB
1046536160,1046536167,DE
-1046536168,1046536187,GB
-1046536188,1046536199,DE
+1046536168,1046536191,GB
+1046536192,1046536199,DE
1046536200,1046536211,GB
1046536212,1046536215,DE
1046536216,1046536255,GB
@@ -10221,14 +13251,16 @@
1046536356,1046536359,DE
1046536360,1046536607,GB
1046536608,1046536667,DE
-1046536668,1046536703,GB
-1046536704,1046537023,DE
+1046536668,1046536959,GB
+1046536960,1046537023,DE
1046537024,1046537055,GB
1046537056,1046537071,DE
1046537072,1046537087,GB
1046537088,1046537151,DE
1046537152,1046537215,GB
-1046537216,1046538239,DE
+1046537216,1046537727,DE
+1046537728,1046537983,GB
+1046537984,1046538239,DE
1046538240,1046538431,GB
1046538432,1046538447,DE
1046538448,1046538463,GB
@@ -10284,9 +13316,7 @@
1046872064,1046872583,BE
1046872584,1046872607,EU
1046872608,1046872615,BE
-1046872616,1046872655,EU
-1046872656,1046872671,BE
-1046872672,1046872975,EU
+1046872616,1046872975,EU
1046872976,1046872999,BE
1046873000,1046873087,EU
1046873088,1046873279,BE
@@ -10358,13 +13388,13 @@
1046882304,1046884383,BE
1046884384,1046885375,EU
1046885376,1046888447,BE
-1046888448,1046895103,GB
-1046895104,1046896383,EU
+1046888448,1046895359,GB
+1046895360,1046896383,EU
1046896384,1046897663,GB
1046897664,1046898431,BE
1046898432,1046898687,EU
-1046898688,1046898975,BE
-1046898976,1046899167,EU
+1046898688,1046898943,BE
+1046898944,1046899167,EU
1046899168,1046904831,BE
1046904832,1046906879,SK
1046906880,1046908927,IR
@@ -10429,9 +13459,9 @@
1047527424,1047535615,BE
1047535616,1047551999,DE
1047552000,1047560191,RU
-1047560192,1047561747,DE
-1047561748,1047561751,ES
-1047561752,1047561887,DE
+1047560192,1047561151,DE
+1047561152,1047561159,AT
+1047561160,1047561887,DE
1047561888,1047561891,US
1047561892,1047563287,DE
1047563288,1047563295,CH
@@ -10439,7 +13469,9 @@
1047563304,1047563311,CH
1047563312,1047563319,DE
1047563320,1047563323,CH
-1047563324,1047563351,DE
+1047563324,1047563331,DE
+1047563332,1047563335,CH
+1047563336,1047563351,DE
1047563352,1047563355,CH
1047563356,1047563363,DE
1047563364,1047563367,ES
@@ -10456,13 +13488,21 @@
1047563452,1047563455,NL
1047563456,1047563467,DE
1047563468,1047563471,CH
-1047563472,1047565131,DE
+1047563472,1047563555,DE
+1047563556,1047563559,CH
+1047563560,1047565107,DE
+1047565108,1047565111,IT
+1047565112,1047565131,DE
1047565132,1047565135,GB
1047565136,1047565343,DE
1047565344,1047565359,CH
-1047565360,1047565839,DE
+1047565360,1047565503,DE
+1047565504,1047565507,CZ
+1047565508,1047565839,DE
1047565840,1047565887,CH
-1047565888,1047566363,DE
+1047565888,1047566015,DE
+1047566016,1047566079,CZ
+1047566080,1047566363,DE
1047566364,1047566367,CH
1047566368,1047566403,DE
1047566404,1047566415,CH
@@ -10474,8 +13514,8 @@
1047566452,1047566459,CH
1047566460,1047566475,DE
1047566476,1047566479,CH
-1047566480,1047566491,DE
-1047566492,1047566499,CH
+1047566480,1047566495,DE
+1047566496,1047566499,CH
1047566500,1047566507,DE
1047566508,1047566511,CH
1047566512,1047566519,DE
@@ -10500,8 +13540,8 @@
1047567000,1047567015,DE
1047567016,1047567019,CH
1047567020,1047567027,DE
-1047567028,1047567035,CH
-1047567036,1047567039,DE
+1047567028,1047567031,CH
+1047567032,1047567039,DE
1047567040,1047567043,AT
1047567044,1047567047,CH
1047567048,1047567063,DE
@@ -10510,9 +13550,8 @@
1047567072,1047567075,NL
1047567076,1047567079,DE
1047567080,1047567083,NL
-1047567084,1047567119,DE
-1047567120,1047567127,CH
-1047567128,1047567143,DE
+1047567084,1047567135,DE
+1047567136,1047567143,GB
1047567144,1047567147,CH
1047567148,1047567151,BE
1047567152,1047567159,CH
@@ -10532,11 +13571,14 @@
1047567312,1047567315,DE
1047567316,1047567319,AT
1047567320,1047567327,CH
-1047567328,1047567447,DE
+1047567328,1047567343,DE
+1047567344,1047567351,AT
+1047567352,1047567359,DE
+1047567360,1047567375,CH
+1047567376,1047567447,DE
1047567448,1047567451,CH
1047567452,1047567455,AT
-1047567456,1047567459,CH
-1047567460,1047567463,DE
+1047567456,1047567463,DE
1047567464,1047567471,CH
1047567472,1047567475,DE
1047567476,1047567483,CH
@@ -10546,16 +13588,15 @@
1047567536,1047567539,CH
1047567540,1047567551,DE
1047567552,1047567555,CH
-1047567556,1047567647,DE
-1047567648,1047567651,CH
-1047567652,1047567655,DE
+1047567556,1047567583,DE
+1047567584,1047567615,CZ
+1047567616,1047567655,DE
1047567656,1047567659,CH
1047567660,1047567727,DE
1047567728,1047567731,BE
1047567732,1047567735,DE
1047567736,1047567743,CH
-1047567744,1047567747,DE
-1047567748,1047567751,CH
+1047567744,1047567751,DE
1047567752,1047567755,LU
1047567756,1047567759,CH
1047567760,1047567823,DE
@@ -10569,7 +13610,9 @@
1047567880,1047567883,CH
1047567884,1047567903,DE
1047567904,1047567939,CH
-1047567940,1047568047,DE
+1047567940,1047567983,DE
+1047567984,1047567999,ES
+1047568000,1047568047,DE
1047568048,1047568051,CH
1047568052,1047568055,DE
1047568056,1047568059,CH
@@ -10581,7 +13624,11 @@
1047568216,1047568219,CH
1047568220,1047568247,DE
1047568248,1047568251,CH
-1047568252,1047568363,DE
+1047568252,1047568259,DE
+1047568260,1047568263,AT
+1047568264,1047568339,DE
+1047568340,1047568343,CH
+1047568344,1047568363,DE
1047568364,1047568367,CH
1047568368,1047568383,DE
1047568384,1047576575,NL
@@ -10605,15 +13652,15 @@
1047740480,1047740543,EU
1047740544,1047740671,DE
1047740672,1047740927,A2
-1047740928,1047781663,EU
-1047781664,1047781671,GB
-1047781672,1047782695,EU
+1047740928,1047782695,EU
1047782696,1047782703,GB
1047782704,1047782719,EU
1047782720,1047782751,SE
1047782752,1047782783,NO
1047782784,1047782815,FI
-1047782816,1047785471,EU
+1047782816,1047782847,EU
+1047782848,1047782911,SE
+1047782912,1047785471,EU
1047785472,1047788031,DE
1047788032,1047789375,EU
1047789376,1047789383,GB
@@ -10638,7 +13685,9 @@
1047941376,1047986175,RU
1047986176,1047997439,SE
1047997440,1047997503,NO
-1047997504,1048012383,SE
+1047997504,1048003503,SE
+1048003504,1048003511,NO
+1048003512,1048012383,SE
1048012384,1048012391,DE
1048012392,1048051711,SE
1048051712,1048117247,SA
@@ -10691,10 +13740,10 @@
1048605088,1048605095,LT
1048605096,1048605103,UA
1048605104,1048605119,LT
-1048605120,1048607231,UA
-1048607232,1048607247,EE
-1048607248,1048607487,UA
-1048607488,1048607519,EE
+1048605120,1048605695,UA
+1048605696,1048606719,EE
+1048606720,1048607231,UA
+1048607232,1048607519,EE
1048607520,1048607743,UA
1048607744,1048607759,EE
1048607760,1048607775,UA
@@ -10944,9 +13993,7 @@
1048869480,1048869487,DE
1048869488,1048869543,NL
1048869544,1048869551,DE
-1048869552,1048869575,NL
-1048869576,1048869583,DE
-1048869584,1048869615,NL
+1048869552,1048869615,NL
1048869616,1048869623,DE
1048869624,1048869687,NL
1048869688,1048869695,DE
@@ -11088,11 +14135,15 @@
1048882072,1048882079,DE
1048882080,1048882143,NL
1048882144,1048882151,DE
-1048882152,1048882311,NL
+1048882152,1048882199,NL
+1048882200,1048882207,DE
+1048882208,1048882311,NL
1048882312,1048882319,DE
1048882320,1048882495,NL
1048882496,1048882503,DE
-1048882504,1048882703,NL
+1048882504,1048882671,NL
+1048882672,1048882679,DE
+1048882680,1048882703,NL
1048882704,1048882711,DE
1048882712,1048882743,NL
1048882744,1048882751,DE
@@ -11112,10 +14163,10 @@
1048883872,1048883879,DE
1048883880,1048884279,NL
1048884280,1048884295,DE
-1048884296,1048884975,NL
-1048884976,1048884983,DE
-1048884984,1048884991,NL
-1048884992,1048884999,DE
+1048884296,1048884719,NL
+1048884720,1048884727,DE
+1048884728,1048884975,NL
+1048884976,1048884999,DE
1048885000,1048885111,NL
1048885112,1048885119,DE
1048885120,1048885471,NL
@@ -11395,13 +14446,13 @@
1048985216,1048985375,DE
1048985376,1048986879,EU
1048986880,1048987135,DE
-1048987136,1049001983,EU
+1048987136,1048991743,EU
+1048991744,1048991747,DE
+1048991748,1049001983,EU
1049001984,1049002015,DE
1049002016,1049002175,EU
1049002176,1049002239,DE
-1049002240,1049002623,EU
-1049002624,1049002751,DE
-1049002752,1049003263,EU
+1049002240,1049003263,EU
1049003264,1049004287,DE
1049004288,1049004351,EU
1049004352,1049004415,DE
@@ -11409,9 +14460,7 @@
1049004544,1049006079,DE
1049006080,1049007103,EU
1049007104,1049007111,DE
-1049007112,1049007119,EU
-1049007120,1049007135,DE
-1049007136,1049007359,EU
+1049007112,1049007359,EU
1049007360,1049009535,DE
1049009536,1049009559,EU
1049009560,1049009567,DE
@@ -11528,9 +14577,7 @@
1049460736,1049468927,NO
1049468928,1049477119,DE
1049477120,1049493503,PL
-1049493504,1049512047,FI
-1049512048,1049512055,AX
-1049512056,1049518079,FI
+1049493504,1049518079,FI
1049518080,1049518095,GB
1049518096,1049559039,FI
1049559040,1049653095,DE
@@ -11591,11 +14638,17 @@
1049762272,1049762303,DK
1049762304,1049763039,DE
1049763040,1049763055,CH
-1049763056,1049764447,DE
+1049763056,1049763327,DE
+1049763328,1049763583,PL
+1049763584,1049764447,DE
1049764448,1049764463,AE
-1049764464,1049765695,DE
+1049764464,1049764479,DE
+1049764480,1049764543,CH
+1049764544,1049765695,DE
1049765696,1049765791,PL
-1049765792,1049766415,DE
+1049765792,1049766143,DE
+1049766144,1049766399,DK
+1049766400,1049766415,DE
1049766416,1049766431,ES
1049766432,1049766511,DE
1049766512,1049766527,AE
@@ -11637,9 +14690,7 @@
1049779136,1049779167,AE
1049779168,1049782303,DE
1049782304,1049782335,AE
-1049782336,1049782623,DE
-1049782624,1049782639,ES
-1049782640,1049782743,DE
+1049782336,1049782743,DE
1049782744,1049782751,IT
1049782752,1049783071,DE
1049783072,1049783103,DK
@@ -11653,7 +14704,11 @@
1049787136,1049787391,PL
1049787392,1049794559,DE
1049794560,1049795583,CH
-1049795584,1049817151,DE
+1049795584,1049811455,DE
+1049811456,1049811711,PL
+1049811712,1049812223,DE
+1049812224,1049812479,PL
+1049812480,1049817151,DE
1049817152,1049817159,PL
1049817160,1049817287,DE
1049817288,1049817295,AE
@@ -11665,9 +14720,7 @@
1049911296,1049919487,FI
1049919488,1049927679,RU
1049927680,1049935871,NL
-1049935872,1049937391,FI
-1049937392,1049937399,AX
-1049937400,1049944063,FI
+1049935872,1049944063,FI
1049944064,1049952255,RU
1049952256,1049960447,UA
1049960448,1049968639,GB
@@ -11677,14 +14730,18 @@
1050083328,1050148863,ES
1050148864,1050157055,CY
1050157056,1050173439,RU
-1050173440,1050181631,IT
+1050173440,1050178487,IT
+1050178488,1050178495,ES
+1050178496,1050181631,IT
1050181632,1050189823,PL
1050189824,1050198015,DE
1050198016,1050206207,RU
-1050206208,1050214399,SK
-1050214400,1050244935,DE
-1050244936,1050244943,PL
-1050244944,1050320231,DE
+1050206208,1050206999,SK
+1050207000,1050207007,SR
+1050207008,1050214399,SK
+1050214400,1050246719,DE
+1050246720,1050246735,BE
+1050246736,1050320231,DE
1050320232,1050320239,GB
1050320240,1050340607,DE
1050340608,1050340639,US
@@ -11692,9 +14749,7 @@
1050450712,1050450719,NL
1050450720,1050471391,DE
1050471392,1050471399,IT
-1050471400,1050502559,DE
-1050502560,1050502567,US
-1050502568,1050505247,DE
+1050471400,1050505247,DE
1050505248,1050505279,CA
1050505280,1050507503,DE
1050507504,1050507519,A2
@@ -11704,11 +14759,7 @@
1050619504,1050619511,CH
1050619512,1050621407,DE
1050621408,1050621439,BE
-1050621440,1050626559,DE
-1050626560,1050626815,GB
-1050626816,1050647431,DE
-1050647432,1050647439,NL
-1050647440,1050664911,DE
+1050621440,1050664911,DE
1050664912,1050664919,IT
1050664920,1050667519,DE
1050667520,1050667775,FR
@@ -11780,7 +14831,97 @@
1051084720,1051084727,BE
1051084728,1051084735,NL
1051084736,1051084799,BE
-1051084800,1051102207,NL
+1051084800,1051096831,NL
+1051096832,1051097087,BE
+1051097088,1051098111,NL
+1051098112,1051099135,BE
+1051099136,1051099647,NL
+1051099648,1051099663,BE
+1051099664,1051099671,NL
+1051099672,1051099687,BE
+1051099688,1051099695,NL
+1051099696,1051099711,BE
+1051099712,1051099727,NL
+1051099728,1051099775,BE
+1051099776,1051099791,NL
+1051099792,1051099815,BE
+1051099816,1051099823,NL
+1051099824,1051099855,BE
+1051099856,1051099863,NL
+1051099864,1051099879,BE
+1051099880,1051099887,NL
+1051099888,1051099927,BE
+1051099928,1051099967,NL
+1051099968,1051099975,BE
+1051099976,1051099983,NL
+1051099984,1051100015,BE
+1051100016,1051100023,NL
+1051100024,1051100079,BE
+1051100080,1051100095,NL
+1051100096,1051100151,BE
+1051100152,1051100159,NL
+1051100160,1051100455,BE
+1051100456,1051100463,NL
+1051100464,1051100487,BE
+1051100488,1051100499,NL
+1051100500,1051100591,BE
+1051100592,1051100607,NL
+1051100608,1051100631,BE
+1051100632,1051100663,NL
+1051100664,1051100695,BE
+1051100696,1051100703,NL
+1051100704,1051100711,BE
+1051100712,1051100735,NL
+1051100736,1051100831,BE
+1051100832,1051100839,NL
+1051100840,1051100879,BE
+1051100880,1051100911,NL
+1051100912,1051100951,BE
+1051100952,1051100967,NL
+1051100968,1051101047,BE
+1051101048,1051101055,NL
+1051101056,1051101127,BE
+1051101128,1051101151,NL
+1051101152,1051101207,BE
+1051101208,1051101231,NL
+1051101232,1051101247,BE
+1051101248,1051101279,NL
+1051101280,1051101287,BE
+1051101288,1051101407,NL
+1051101408,1051101415,BE
+1051101416,1051101431,NL
+1051101432,1051101447,BE
+1051101448,1051101463,NL
+1051101464,1051101471,BE
+1051101472,1051101591,NL
+1051101592,1051101607,BE
+1051101608,1051101615,NL
+1051101616,1051101623,BE
+1051101624,1051101631,NL
+1051101632,1051101655,BE
+1051101656,1051101671,NL
+1051101672,1051101687,BE
+1051101688,1051101719,NL
+1051101720,1051101735,BE
+1051101736,1051101783,NL
+1051101784,1051101807,BE
+1051101808,1051101823,NL
+1051101824,1051101855,BE
+1051101856,1051101919,NL
+1051101920,1051101927,BE
+1051101928,1051101959,NL
+1051101960,1051101967,BE
+1051101968,1051101983,NL
+1051101984,1051102007,BE
+1051102008,1051102055,NL
+1051102056,1051102071,BE
+1051102072,1051102079,NL
+1051102080,1051102087,BE
+1051102088,1051102095,NL
+1051102096,1051102103,BE
+1051102104,1051102119,NL
+1051102120,1051102159,BE
+1051102160,1051102207,NL
1051102208,1051102463,BE
1051102464,1051102471,NL
1051102472,1051102527,BE
@@ -11798,7 +14939,241 @@
1051103120,1051103207,BE
1051103208,1051103215,NL
1051103216,1051103231,BE
-1051103232,1051115519,NL
+1051103232,1051103233,NL
+1051103234,1051103247,BE
+1051103248,1051103287,NL
+1051103288,1051103295,BE
+1051103296,1051103359,NL
+1051103360,1051103367,BE
+1051103368,1051103431,NL
+1051103432,1051103447,BE
+1051103448,1051103503,NL
+1051103504,1051103519,BE
+1051103520,1051103527,NL
+1051103528,1051103535,BE
+1051103536,1051103543,NL
+1051103544,1051103567,BE
+1051103568,1051103583,NL
+1051103584,1051103607,BE
+1051103608,1051103639,NL
+1051103640,1051103647,BE
+1051103648,1051103663,NL
+1051103664,1051103679,BE
+1051103680,1051103687,NL
+1051103688,1051103703,BE
+1051103704,1051103767,NL
+1051103768,1051103775,BE
+1051103776,1051103799,NL
+1051103800,1051103815,BE
+1051103816,1051103823,NL
+1051103824,1051103831,BE
+1051103832,1051103863,NL
+1051103864,1051103871,BE
+1051103872,1051103879,NL
+1051103880,1051103887,BE
+1051103888,1051103911,NL
+1051103912,1051103927,BE
+1051103928,1051103959,NL
+1051103960,1051103975,BE
+1051103976,1051103991,NL
+1051103992,1051103999,BE
+1051104000,1051104015,NL
+1051104016,1051104039,BE
+1051104040,1051104071,NL
+1051104072,1051104079,BE
+1051104080,1051104111,NL
+1051104112,1051104143,BE
+1051104144,1051104167,NL
+1051104168,1051104183,BE
+1051104184,1051104191,NL
+1051104192,1051104199,BE
+1051104200,1051104231,NL
+1051104232,1051104255,BE
+1051104256,1051104311,NL
+1051104312,1051104319,BE
+1051104320,1051104327,NL
+1051104328,1051104335,BE
+1051104336,1051104359,NL
+1051104360,1051104367,BE
+1051104368,1051104383,NL
+1051104384,1051104399,BE
+1051104400,1051104503,NL
+1051104504,1051104527,BE
+1051104528,1051104559,NL
+1051104560,1051104567,BE
+1051104568,1051104583,NL
+1051104584,1051104599,BE
+1051104600,1051104607,NL
+1051104608,1051104631,BE
+1051104632,1051104679,NL
+1051104680,1051104695,BE
+1051104696,1051104719,NL
+1051104720,1051104727,BE
+1051104728,1051104751,NL
+1051104752,1051104759,BE
+1051104760,1051104791,NL
+1051104792,1051104799,BE
+1051104800,1051104823,NL
+1051104824,1051104831,BE
+1051104832,1051104839,NL
+1051104840,1051104863,BE
+1051104864,1051104903,NL
+1051104904,1051104911,BE
+1051104912,1051104935,NL
+1051104936,1051104943,BE
+1051104944,1051104951,NL
+1051104952,1051104967,BE
+1051104968,1051104975,NL
+1051104976,1051104983,BE
+1051104984,1051104991,NL
+1051104992,1051104999,BE
+1051105000,1051105047,NL
+1051105048,1051105055,BE
+1051105056,1051105063,NL
+1051105064,1051105079,BE
+1051105080,1051105103,NL
+1051105104,1051105119,BE
+1051105120,1051105127,NL
+1051105128,1051105135,BE
+1051105136,1051105143,NL
+1051105144,1051105151,BE
+1051105152,1051105183,NL
+1051105184,1051105199,BE
+1051105200,1051105207,NL
+1051105208,1051105223,BE
+1051105224,1051105255,NL
+1051105256,1051105263,BE
+1051105264,1051105271,NL
+1051105272,1051105279,BE
+1051105280,1051105319,NL
+1051105320,1051105327,BE
+1051105328,1051105359,NL
+1051105360,1051105383,BE
+1051105384,1051105439,NL
+1051105440,1051105455,BE
+1051105456,1051105503,NL
+1051105504,1051105511,BE
+1051105512,1051105519,NL
+1051105520,1051105551,BE
+1051105552,1051105599,NL
+1051105600,1051105607,BE
+1051105608,1051105703,NL
+1051105704,1051105711,BE
+1051105712,1051105791,NL
+1051105792,1051105799,BE
+1051105800,1051105807,NL
+1051105808,1051105815,BE
+1051105816,1051105831,NL
+1051105832,1051105839,BE
+1051105840,1051105863,NL
+1051105864,1051105871,BE
+1051105872,1051105895,NL
+1051105896,1051105903,BE
+1051105904,1051105911,NL
+1051105912,1051105943,BE
+1051105944,1051105967,NL
+1051105968,1051105983,BE
+1051105984,1051105999,NL
+1051106000,1051106023,BE
+1051106024,1051106031,NL
+1051106032,1051106039,BE
+1051106040,1051106047,NL
+1051106048,1051106055,BE
+1051106056,1051106071,NL
+1051106072,1051106079,BE
+1051106080,1051106087,NL
+1051106088,1051106103,BE
+1051106104,1051106111,NL
+1051106112,1051106119,BE
+1051106120,1051106127,NL
+1051106128,1051106143,BE
+1051106144,1051106167,NL
+1051106168,1051106175,BE
+1051106176,1051106183,NL
+1051106184,1051106191,BE
+1051106192,1051106247,NL
+1051106248,1051106271,BE
+1051106272,1051106303,NL
+1051106304,1051106311,BE
+1051106312,1051106319,NL
+1051106320,1051106327,BE
+1051106328,1051106335,NL
+1051106336,1051106351,BE
+1051106352,1051106383,NL
+1051106384,1051106399,BE
+1051106400,1051106423,NL
+1051106424,1051106431,BE
+1051106432,1051106463,NL
+1051106464,1051106471,BE
+1051106472,1051106503,NL
+1051106504,1051106519,BE
+1051106520,1051106527,NL
+1051106528,1051106535,BE
+1051106536,1051106543,NL
+1051106544,1051106551,BE
+1051106552,1051106583,NL
+1051106584,1051106599,BE
+1051106600,1051106607,NL
+1051106608,1051106615,BE
+1051106616,1051106639,NL
+1051106640,1051106655,BE
+1051106656,1051106663,NL
+1051106664,1051106671,BE
+1051106672,1051106711,NL
+1051106712,1051106719,BE
+1051106720,1051106759,NL
+1051106760,1051106767,BE
+1051106768,1051106775,NL
+1051106776,1051106783,BE
+1051106784,1051106799,NL
+1051106800,1051106807,BE
+1051106808,1051106823,NL
+1051106824,1051106831,BE
+1051106832,1051106847,NL
+1051106848,1051106863,BE
+1051106864,1051106895,NL
+1051106896,1051106911,BE
+1051106912,1051106943,NL
+1051106944,1051106951,BE
+1051106952,1051106959,NL
+1051106960,1051106967,BE
+1051106968,1051106975,NL
+1051106976,1051107007,BE
+1051107008,1051107015,NL
+1051107016,1051107039,BE
+1051107040,1051107055,NL
+1051107056,1051107063,BE
+1051107064,1051107071,NL
+1051107072,1051107095,BE
+1051107096,1051107103,NL
+1051107104,1051107119,BE
+1051107120,1051107127,NL
+1051107128,1051107135,BE
+1051107136,1051107143,NL
+1051107144,1051107167,BE
+1051107168,1051107183,NL
+1051107184,1051107215,BE
+1051107216,1051107223,NL
+1051107224,1051107231,BE
+1051107232,1051107239,NL
+1051107240,1051107247,BE
+1051107248,1051107279,NL
+1051107280,1051107287,BE
+1051107288,1051107295,NL
+1051107296,1051107303,BE
+1051107304,1051107311,NL
+1051107312,1051107327,BE
+1051107328,1051107329,NL
+1051107330,1051107359,BE
+1051107360,1051107375,NL
+1051107376,1051107383,BE
+1051107384,1051107391,NL
+1051107392,1051107407,BE
+1051107408,1051107423,NL
+1051107424,1051107455,BE
+1051107456,1051107519,NL
+1051107520,1051107839,BE
+1051107840,1051115519,NL
1051115520,1051121287,BE
1051121288,1051121295,NL
1051121296,1051123711,BE
@@ -11842,9 +15217,11 @@
1051295744,1051303935,GB
1051303936,1051312127,SK
1051312128,1051328511,GR
-1051328512,1051460095,GB
+1051328512,1051459583,GB
+1051459584,1051460095,EU
1051460096,1051460351,ES
-1051460352,1051525119,GB
+1051460352,1051461631,EU
+1051461632,1051525119,GB
1051525120,1051533311,MT
1051533312,1051541503,NG
1051541504,1051557887,GB
@@ -11885,7 +15262,16 @@
1051918336,1051919359,PL
1051919360,1051920383,AT
1051920384,1051920895,PL
-1051920896,1051949823,AT
+1051920896,1051946367,AT
+1051946368,1051946383,NL
+1051946384,1051946399,CH
+1051946400,1051946415,NL
+1051946416,1051946431,CH
+1051946432,1051946447,NL
+1051946448,1051946463,CH
+1051946464,1051946479,NL
+1051946480,1051946495,CH
+1051946496,1051949823,AT
1051949824,1051949951,NL
1051949952,1051983871,AT
1051983872,1051986687,EU
@@ -11909,8 +15295,8 @@
1051994832,1051994863,EU
1051994864,1051994871,DE
1051994872,1051994943,EU
-1051994944,1051995039,DE
-1051995040,1051995391,EU
+1051994944,1051995055,DE
+1051995056,1051995391,EU
1051995392,1051996159,DE
1051996160,1051996335,EU
1051996336,1051996351,DE
@@ -12018,9 +15404,7 @@
1052009504,1052009535,DE
1052009536,1052010463,EU
1052010464,1052010519,DE
-1052010520,1052010527,EU
-1052010528,1052010559,DE
-1052010560,1052010623,EU
+1052010520,1052010623,EU
1052010624,1052010655,DE
1052010656,1052010751,EU
1052010752,1052011135,DE
@@ -12028,8 +15412,8 @@
1052011264,1052012287,DE
1052012288,1052012303,EU
1052012304,1052012335,DE
-1052012336,1052012375,EU
-1052012376,1052012399,DE
+1052012336,1052012383,EU
+1052012384,1052012399,DE
1052012400,1052012543,EU
1052012544,1052013055,DE
1052013056,1052013071,EU
@@ -12211,9 +15595,7 @@
1052176384,1052178431,NL
1052178432,1052180479,DK
1052180480,1052213247,RU
-1052213248,1052232807,FI
-1052232808,1052232823,AX
-1052232824,1052246015,FI
+1052213248,1052246015,FI
1052246016,1052247039,DE
1052247040,1052247295,FR
1052247296,1052247359,DE
@@ -12725,7 +16107,8 @@
1052403456,1052403727,FR
1052403728,1052403743,NL
1052403744,1052403775,FR
-1052403776,1052403839,ZA
+1052403776,1052403807,ZA
+1052403808,1052403839,EU
1052403840,1052403967,CH
1052403968,1052404383,FR
1052404384,1052404399,ZA
@@ -13015,7 +16398,23 @@
1052507584,1052507647,EU
1052507648,1052507775,GB
1052507776,1052507903,EU
-1052507904,1052581087,GB
+1052507904,1052508415,GB
+1052508416,1052516351,EU
+1052516352,1052527615,GB
+1052527616,1052528383,EU
+1052528384,1052543999,GB
+1052544000,1052544511,EU
+1052544512,1052546047,GB
+1052546048,1052546559,EU
+1052546560,1052547519,GB
+1052547520,1052547583,EU
+1052547584,1052548607,GB
+1052548608,1052549631,EU
+1052549632,1052550143,GB
+1052550144,1052550655,EU
+1052550656,1052553215,GB
+1052553216,1052553535,EU
+1052553536,1052581087,GB
1052581088,1052581103,GE
1052581104,1052596447,GB
1052596448,1052596463,IT
@@ -13035,7 +16434,8 @@
1052665344,1052665599,SE
1052665600,1052684575,GB
1052684576,1052684607,IT
-1052684608,1052770303,GB
+1052684608,1052769791,GB
+1052769792,1052770303,EU
1052770304,1052775711,CH
1052775712,1052775727,DE
1052775728,1052777503,CH
@@ -13080,24 +16480,20 @@
1053297028,1053297039,EU
1053297040,1053297055,IT
1053297056,1053297071,EU
-1053297072,1053297135,IT
-1053297136,1053298175,EU
+1053297072,1053297143,IT
+1053297144,1053298175,EU
1053298176,1053299199,CH
1053299200,1053299711,EU
1053299712,1053300031,GB
1053300032,1053300095,EU
1053300096,1053300103,GB
1053300104,1053300111,EU
-1053300112,1053300159,GB
-1053300160,1053300223,EU
-1053300224,1053300735,GB
+1053300112,1053300735,GB
1053300736,1053300991,CH
-1053300992,1053301023,FR
-1053301024,1053301039,EU
-1053301040,1053301055,FR
+1053300992,1053301055,FR
1053301056,1053301071,EU
-1053301072,1053301135,FR
-1053301136,1053301167,EU
+1053301072,1053301127,FR
+1053301128,1053301167,EU
1053301168,1053301279,FR
1053301280,1053301287,EU
1053301288,1053301295,FR
@@ -13119,20 +16515,20 @@
1053302384,1053302687,FR
1053302688,1053302703,EU
1053302704,1053302711,GB
-1053302712,1053302719,FR
-1053302720,1053302727,EU
-1053302728,1053302783,FR
+1053302712,1053302783,FR
1053302784,1053305087,EU
1053305088,1053305951,GR
1053305952,1053306111,EU
1053306112,1053306879,GR
1053306880,1053307903,EU
1053307904,1053307943,GB
-1053307944,1053307959,EU
-1053307960,1053308543,GB
+1053307944,1053307955,EU
+1053307956,1053307967,GB
+1053307968,1053307983,EU
+1053307984,1053308543,GB
1053308544,1053308671,EU
-1053308672,1053308703,GB
-1053308704,1053308767,EU
+1053308672,1053308687,GB
+1053308688,1053308767,EU
1053308768,1053308831,GB
1053308832,1053308839,EU
1053308840,1053308863,GB
@@ -13146,8 +16542,8 @@
1053312256,1053312511,DK
1053312512,1053312767,EU
1053312768,1053312815,DK
-1053312816,1053312847,EU
-1053312848,1053312871,DK
+1053312816,1053312831,EU
+1053312832,1053312871,DK
1053312872,1053312879,EU
1053312880,1053312911,DK
1053312912,1053312927,EU
@@ -13161,9 +16557,7 @@
1053314048,1053314063,EU
1053314064,1053314079,CZ
1053314080,1053315071,EU
-1053315072,1053316719,GB
-1053316720,1053316727,EU
-1053316728,1053317119,GB
+1053315072,1053317119,GB
1053317120,1053317295,ZA
1053317296,1053317375,EU
1053317376,1053317631,GB
@@ -13207,8 +16601,8 @@
1053329152,1053329183,EU
1053329184,1053329279,ZA
1053329280,1053329407,EU
-1053329408,1053329471,ES
-1053329472,1053329503,EU
+1053329408,1053329487,ES
+1053329488,1053329503,EU
1053329504,1053329527,ES
1053329528,1053329631,EU
1053329632,1053329663,ES
@@ -13223,8 +16617,8 @@
1053331704,1053331711,EU
1053331712,1053331887,NL
1053331888,1053331903,EU
-1053331904,1053331927,NL
-1053331928,1053331967,EU
+1053331904,1053331939,NL
+1053331940,1053331967,EU
1053331968,1053332271,NL
1053332272,1053332319,EU
1053332320,1053332351,NL
@@ -13270,7 +16664,9 @@
1053340512,1053340671,EU
1053340672,1053341567,GB
1053341568,1053341575,EU
-1053341576,1053341695,GB
+1053341576,1053341647,GB
+1053341648,1053341655,EU
+1053341656,1053341695,GB
1053341696,1053343743,EU
1053343744,1053344255,FI
1053344256,1053345279,EU
@@ -13391,8 +16787,8 @@
1053840448,1053840511,DE
1053840512,1053843199,EU
1053843200,1053843231,DK
-1053843232,1053843247,GB
-1053843248,1053843711,EU
+1053843232,1053843455,GB
+1053843456,1053843711,EU
1053843712,1053843967,DE
1053843968,1053844223,GB
1053844224,1053844479,DE
@@ -13412,9 +16808,7 @@
1053851904,1053851919,FR
1053851920,1053852031,EU
1053852032,1053852047,IT
-1053852048,1053852095,EU
-1053852096,1053852103,DE
-1053852104,1053852111,EU
+1053852048,1053852111,EU
1053852112,1053852127,GB
1053852128,1053852159,DE
1053852160,1053855743,EU
@@ -13503,7 +16897,9 @@
1053896704,1053900799,DE
1053900800,1053917183,NO
1053917184,1053925375,UZ
-1053925376,1053933567,SE
+1053925376,1053927159,SE
+1053927160,1053927167,FI
+1053927168,1053933567,SE
1053933568,1053949951,CZ
1053949952,1053984415,FR
1053984416,1053984447,US
@@ -13519,9 +16915,17 @@
1054130176,1054138367,LT
1054138368,1054146559,AZ
1054146560,1054179327,RU
-1054179328,1054181375,GB
-1054181376,1054182399,DE
-1054182400,1054187519,GB
+1054179328,1054180351,GB
+1054180352,1054181120,DE
+1054181121,1054181375,GB
+1054181376,1054183168,DE
+1054183169,1054183423,GB
+1054183424,1054185216,DE
+1054185217,1054185471,GB
+1054185472,1054186240,DE
+1054186241,1054186495,GB
+1054186496,1054187264,DE
+1054187265,1054187519,GB
1054187520,1054195711,BG
1054195712,1054212095,BE
1054212096,1054212519,DE
@@ -13753,26 +17157,12 @@
1055375360,1055391743,OM
1055391744,1055457279,GB
1055457280,1055465471,BE
-1055465472,1055467575,FR
-1055467576,1055467579,ES
-1055467580,1055469055,FR
-1055469056,1055469059,CH
-1055469060,1055469063,DE
-1055469064,1055469067,IT
-1055469068,1055469071,BE
-1055469072,1055471615,FR
-1055471616,1055472127,BE
-1055472128,1055472159,NL
-1055472160,1055472383,FR
-1055472384,1055472639,NL
-1055472640,1055473663,FR
+1055465472,1055473663,FR
1055473664,1055490047,GB
1055490048,1055522815,PL
1055522816,1055588351,NL
1055588352,1055653887,BE
-1055653888,1055681055,FI
-1055681056,1055681071,SE
-1055681072,1055784959,FI
+1055653888,1055784959,FI
1055784960,1055850495,NL
1055850496,1055916031,GB
1055916032,1055924223,RS
@@ -13780,7 +17170,9 @@
1055932416,1055940607,FI
1055940608,1055948799,EG
1055948800,1055956991,DE
-1055956992,1055965183,CZ
+1055956992,1055958191,CZ
+1055958192,1055958207,GB
+1055958208,1055965183,CZ
1055965184,1055973375,CH
1055973376,1055981567,FR
1055981568,1055989759,IT
@@ -13800,8 +17192,8 @@
1056243712,1056244255,CH
1056244256,1056244287,FR
1056244288,1056244335,MC
-1056244336,1056244351,FR
-1056244352,1056244415,CH
+1056244336,1056244367,FR
+1056244368,1056244415,CH
1056244416,1056244479,MC
1056244480,1056251903,CH
1056251904,1056260095,RU
@@ -13813,14 +17205,10 @@
1056286656,1056374783,DE
1056374784,1056440319,SE
1056440320,1056473087,TR
-1056473088,1056505087,FI
-1056505088,1056505107,SE
-1056505108,1056505115,FI
-1056505116,1056505119,SE
-1056505120,1056505343,FI
-1056505344,1056505599,SE
-1056505600,1056505855,FI
-1056505856,1056514047,PT
+1056473088,1056505855,FI
+1056505856,1056507015,PT
+1056507016,1056507023,ES
+1056507024,1056514047,PT
1056514048,1056522239,IT
1056522240,1056538623,AT
1056538624,1056546815,RU
@@ -13868,21 +17256,15 @@
1061588736,1061588991,GU
1061588992,1061633567,US
1061633568,1061633575,CA
-1061633576,1061762047,US
-1061762048,1061762303,FR
-1061762304,1061776479,US
+1061633576,1061776479,US
1061776480,1061776639,CA
-1061776640,1061833855,US
-1061833856,1061833983,PR
-1061833984,1061847711,US
+1061776640,1061847711,US
1061847712,1061847743,FR
1061847744,1061853695,US
1061853696,1061854207,GB
1061854208,1061939711,US
1061939712,1061940223,JM
-1061940224,1062000319,US
-1062000320,1062000383,PR
-1062000384,1062069247,US
+1061940224,1062069247,US
1062069248,1062070271,PR
1062070272,1062219519,US
1062219520,1062219775,IN
@@ -13896,9 +17278,7 @@
1062262784,1062263039,PH
1062263040,1062378767,US
1062378768,1062378783,CA
-1062378784,1062429695,US
-1062429696,1062430207,PR
-1062430208,1062475935,US
+1062378784,1062475935,US
1062475936,1062475951,GB
1062475952,1062486271,US
1062486272,1062486527,MX
@@ -13915,12 +17295,8 @@
1062636352,1062725103,US
1062725104,1062725111,IL
1062725112,1062871551,US
-1062871552,1062872319,PR
-1062872320,1063335422,US
-1063335423,1063335423,CO
-1063335424,1063390207,US
-1063390208,1063390463,PR
-1063390464,1063497863,US
+1062871552,1062872063,PR
+1062872064,1063497863,US
1063497864,1063497871,CA
1063497872,1063504191,US
1063504192,1063504255,MX
@@ -13936,9 +17312,7 @@
1063587632,1063587647,CA
1063587648,1063598847,US
1063598848,1063598863,CA
-1063598864,1063690239,US
-1063690240,1063690495,PR
-1063690496,1063727615,US
+1063598864,1063727615,US
1063727616,1063728127,GU
1063728128,1063747583,US
1063747584,1063747839,A2
@@ -14057,13 +17431,11 @@
1066311680,1066315775,CA
1066315776,1066332159,US
1066332160,1066336255,CA
-1066336256,1066344447,US
-1066352640,1066369023,JM
-1066369024,1066584063,US
-1066584064,1066586111,PE
-1066586112,1066604927,US
-1066604928,1066604959,CA
-1066604960,1066606295,US
+1066336256,1066352639,US
+1066352640,1066355711,JM
+1066355712,1066355967,BB
+1066355968,1066369023,JM
+1066369024,1066606295,US
1066606296,1066606303,GB
1066606304,1066831071,US
1066831072,1066831087,JP
@@ -14081,25 +17453,15 @@
1067532288,1067532799,HN
1067532800,1067537959,US
1067537960,1067537967,GB
-1067537968,1067552511,US
-1067552512,1067552767,PR
-1067552768,1067562495,US
-1067562496,1067562751,SL
-1067562752,1067573247,US
+1067537968,1067573247,US
1067573248,1067573255,SG
1067573256,1067575295,US
1067575296,1067577343,HN
1067577344,1067590111,US
1067590112,1067590143,CA
-1067590144,1067593983,US
-1067593984,1067594239,PR
-1067594240,1067617791,US
+1067590144,1067617791,US
1067617792,1067618047,CN
-1067618048,1067618111,US
-1067618112,1067618143,PR
-1067618144,1067621375,US
-1067621376,1067621631,PR
-1067621632,1067625967,US
+1067618048,1067625967,US
1067625968,1067625983,CH
1067625984,1067653255,US
1067653256,1067653263,PR
@@ -14109,31 +17471,23 @@
1067700736,1067701247,AN
1067701248,1067726847,US
1067726848,1067727359,EC
-1067727360,1067736831,US
-1067736832,1067737087,PR
-1067737088,1067740159,US
+1067727360,1067740159,US
1067740160,1067741183,HN
-1067741184,1067751871,US
-1067751872,1067751887,PR
-1067751888,1067762815,US
+1067741184,1067762815,US
1067762816,1067762831,CA
1067762832,1067780607,US
1067780608,1067780863,GB
-1067780864,1067808783,US
-1067808784,1067808799,GB
-1067808800,1067822863,US
+1067780864,1067822863,US
1067822864,1067822871,CA
-1067822872,1067824895,US
-1067824896,1067825151,PR
-1067825152,1067838463,US
+1067822872,1067826239,US
+1067826240,1067826247,CA
+1067826248,1067838463,US
1067838464,1067838591,IT
1067838592,1067856575,US
1067856576,1067856607,CO
1067856608,1067863807,US
1067863808,1067863935,CA
-1067863936,1067894071,US
-1067894072,1067894079,PR
-1067894080,1067908295,US
+1067863936,1067908295,US
1067908296,1067908303,CH
1067908304,1067909023,US
1067909024,1067909039,SG
@@ -14145,12 +17499,11 @@
1067923232,1067923239,CA
1067923240,1067934911,US
1067934912,1067934927,CN
-1067934928,1067934935,PR
-1067934936,1067977895,US
+1067934928,1067954751,US
+1067954752,1067954783,DK
+1067954784,1067977895,US
1067977896,1067977903,CA
-1067977904,1067978751,US
-1067978752,1067979007,PR
-1067979008,1067989247,US
+1067977904,1067989247,US
1067989248,1067989503,EC
1067989504,1067998463,US
1067998464,1067998719,CO
@@ -14160,27 +17513,21 @@
1068017664,1068018175,YE
1068018176,1068070887,US
1068070888,1068070895,CA
-1068070896,1068083455,US
-1068083456,1068083711,PR
-1068083712,1068096415,US
+1068070896,1068096415,US
1068096416,1068096447,CA
1068096448,1068119407,US
1068119408,1068119423,DE
-1068119424,1068171951,US
-1068171952,1068171967,PR
-1068171968,1068175871,US
+1068119424,1068167439,US
+1068167440,1068167447,GB
+1068167448,1068175871,US
1068175872,1068176383,YE
-1068176384,1068179487,US
-1068179488,1068179503,PR
-1068179504,1068198879,US
+1068176384,1068198879,US
1068198880,1068198911,IN
1068198912,1068199935,US
1068199936,1068204031,CA
1068204032,1068230655,US
1068230656,1068230911,CO
-1068230912,1068239935,US
-1068239936,1068239999,PR
-1068240000,1068284735,US
+1068230912,1068284735,US
1068284736,1068284743,CA
1068284744,1068284751,US
1068284752,1068284759,DK
@@ -14194,11 +17541,7 @@
1068419072,1068421119,CO
1068421120,1068425983,US
1068425984,1068426239,EC
-1068426240,1068462079,US
-1068462080,1068462335,PR
-1068462336,1068478591,US
-1068478592,1068478607,PR
-1068478608,1068480159,US
+1068426240,1068480159,US
1068480160,1068480191,IN
1068480192,1068480431,US
1068480432,1068480447,SE
@@ -14206,17 +17549,11 @@
1068481024,1068481535,PR
1068481536,1068491263,US
1068491264,1068491519,HN
-1068491520,1070499559,US
-1070499560,1070499567,PR
-1070499568,1070729471,US
+1068491520,1070729471,US
1070729472,1070729727,CA
1070729728,1070805559,US
1070805560,1070805567,VG
-1070805568,1071100159,US
-1071100160,1071100415,PR
-1071100416,1071100927,US
-1071100928,1071101951,PR
-1071101952,1071170815,US
+1070805568,1071170815,US
1071170816,1071171071,PH
1071171072,1071206527,US
1071206528,1071206559,HK
@@ -14258,9 +17595,7 @@
1072512952,1072512959,CA
1072512960,1072619023,US
1072619024,1072619039,CA
-1072619040,1072680623,US
-1072680624,1072680631,CA
-1072680632,1072697639,US
+1072619040,1072697639,US
1072697640,1072697647,IL
1072697648,1072707327,US
1072707328,1072707583,IN
@@ -14399,10 +17734,78 @@
1073093647,1073093654,PE
1073093655,1073094557,US
1073094558,1073094570,IT
-1073094571,1073373183,US
+1073094571,1073119517,US
+1073119518,1073119527,NL
+1073119528,1073119587,US
+1073119588,1073119597,AR
+1073119598,1073119657,US
+1073119658,1073119667,BR
+1073119668,1073120079,US
+1073120080,1073120089,RO
+1073120090,1073120109,US
+1073120110,1073120119,SA
+1073120120,1073120631,US
+1073120632,1073120639,CN
+1073120640,1073121545,US
+1073121546,1073121555,IN
+1073121556,1073121655,US
+1073121656,1073121665,DE
+1073121666,1073121675,UA
+1073121676,1073121685,US
+1073121686,1073121695,SA
+1073121696,1073121821,US
+1073121822,1073121831,DE
+1073121832,1073121861,US
+1073121862,1073121871,NL
+1073121872,1073121931,US
+1073121932,1073121941,ES
+1073121942,1073122579,US
+1073122580,1073122589,TR
+1073122590,1073123437,US
+1073123438,1073123447,UY
+1073123448,1073123613,US
+1073123614,1073123623,TR
+1073123624,1073123653,US
+1073123654,1073123663,ES
+1073123664,1073123753,US
+1073123754,1073123763,RU
+1073123764,1073123859,US
+1073123860,1073123869,IL
+1073123870,1073123909,US
+1073123910,1073123929,RU
+1073123930,1073123969,US
+1073123970,1073123979,DM
+1073123980,1073123989,LV
+1073123990,1073124105,US
+1073124106,1073124115,DE
+1073124116,1073124125,RU
+1073124126,1073124165,US
+1073124166,1073124175,RU
+1073124176,1073124195,US
+1073124196,1073124215,BR
+1073124216,1073124295,US
+1073124296,1073124305,RU
+1073124306,1073124315,DE
+1073124316,1073125247,US
+1073125248,1073125255,BR
+1073125256,1073125279,US
+1073125280,1073125287,IN
+1073125288,1073125343,US
+1073125344,1073125373,SG
+1073125374,1073125735,US
+1073125736,1073125743,JO
+1073125744,1073126007,US
+1073126008,1073126015,SG
+1073126016,1073126271,US
+1073126272,1073126279,SA
+1073126280,1073126327,US
+1073126328,1073126337,CN
+1073126338,1073126911,US
+1073126912,1073127167,GB
+1073127168,1073373183,US
1073373184,1073381375,CA
-1073381376,1073381399,US
-1073381400,1073381463,NL
+1073381376,1073381391,US
+1073381392,1073381463,NL
1073381464,1073381471,US
1073381472,1073381887,NL
1073381888,1073382687,US
@@ -14423,8 +17826,7 @@
1073383840,1073383871,VE
1073383872,1073384191,US
1073384192,1073384223,BR
-1073384224,1073384255,US
-1073384256,1073384287,CA
+1073384224,1073384287,US
1073384288,1073384295,BR
1073384296,1073384511,US
1073384512,1073384575,CA
@@ -14488,8 +17890,7 @@
1073395184,1073395191,AR
1073395192,1073395239,US
1073395240,1073395247,BR
-1073395248,1073395391,US
-1073395392,1073395399,AF
+1073395248,1073395399,US
1073395400,1073395407,CA
1073395408,1073395423,PR
1073395424,1073395967,US
@@ -14503,7 +17904,7 @@
1073396864,1073396895,CA
1073396896,1073396911,US
1073396912,1073396919,CA
-1073396920,1073396927,BR
+1073396920,1073396927,US
1073396928,1073396935,VE
1073396936,1073396959,US
1073396960,1073396991,CA
@@ -14547,11 +17948,7 @@
1074184192,1074188287,CA
1074188288,1074229247,US
1074229248,1074241535,CA
-1074241536,1074249791,US
-1074249792,1074249807,BB
-1074249808,1074375935,US
-1074375936,1074376191,A1
-1074376192,1074397439,US
+1074241536,1074397439,US
1074397440,1074399039,CA
1074399040,1074399231,US
1074399232,1074408319,CA
@@ -14633,9 +18030,375 @@
1074716720,1074716735,GB
1074716736,1074733055,US
1074733056,1074737151,AU
-1074737152,1074745343,CA
+1074737152,1074742117,CA
+1074742118,1074742125,MA
+1074742126,1074742847,CA
+1074742848,1074742863,AU
+1074742864,1074742871,US
+1074742872,1074743551,CA
+1074743552,1074743583,AU
+1074743584,1074743591,US
+1074743592,1074743599,SG
+1074743600,1074743663,CA
+1074743664,1074743679,AE
+1074743680,1074743743,CA
+1074743744,1074743807,US
+1074743808,1074743895,CA
+1074743896,1074743903,US
+1074743904,1074743919,CA
+1074743920,1074743927,US
+1074743928,1074744255,CA
+1074744256,1074744271,AE
+1074744272,1074744367,CA
+1074744368,1074744375,US
+1074744376,1074744863,CA
+1074744864,1074744879,AU
+1074744880,1074745103,CA
+1074745104,1074745111,AU
+1074745112,1074745119,US
+1074745120,1074745199,CA
+1074745200,1074745215,US
+1074745216,1074745343,CA
1074745344,1074757631,US
-1074757632,1074765823,CA
+1074757632,1074757695,CA
+1074757696,1074757719,US
+1074757720,1074757723,CA
+1074757724,1074757727,SG
+1074757728,1074757783,CA
+1074757784,1074757787,JP
+1074757788,1074757791,CN
+1074757792,1074757795,CA
+1074757796,1074757799,CZ
+1074757800,1074757815,CA
+1074757816,1074757823,PK
+1074757824,1074757831,CA
+1074757832,1074757839,BR
+1074757840,1074757843,CA
+1074757844,1074757847,VE
+1074757848,1074758423,CA
+1074758424,1074758431,VG
+1074758432,1074758447,CA
+1074758448,1074758463,US
+1074758464,1074758479,CA
+1074758480,1074758487,PK
+1074758488,1074758491,CN
+1074758492,1074758495,CA
+1074758496,1074758503,IN
+1074758504,1074758511,DE
+1074758512,1074758571,CA
+1074758572,1074758575,DE
+1074758576,1074758607,CA
+1074758608,1074758623,US
+1074758624,1074758631,AU
+1074758632,1074758703,CA
+1074758704,1074758707,IT
+1074758708,1074758711,CA
+1074758712,1074758719,DO
+1074758720,1074758751,CA
+1074758752,1074758759,MT
+1074758760,1074758767,CA
+1074758768,1074758775,CN
+1074758776,1074758783,CA
+1074758784,1074758787,BR
+1074758788,1074758791,DE
+1074758792,1074758823,CA
+1074758824,1074758831,GB
+1074758832,1074758839,VG
+1074758840,1074758871,CA
+1074758872,1074758879,ES
+1074758880,1074758935,CA
+1074758936,1074758943,MX
+1074758944,1074758975,CA
+1074758976,1074758983,IT
+1074758984,1074758991,CA
+1074758992,1074759007,BR
+1074759008,1074759011,CA
+1074759012,1074759015,US
+1074759016,1074759019,CA
+1074759020,1074759023,ES
+1074759024,1074759031,CA
+1074759032,1074759039,EE
+1074759040,1074759047,CA
+1074759048,1074759055,PK
+1074759056,1074759063,CL
+1074759064,1074759071,CA
+1074759072,1074759079,BR
+1074759080,1074759087,CA
+1074759088,1074759095,AE
+1074759096,1074759103,CA
+1074759104,1074759107,PK
+1074759108,1074759127,CA
+1074759128,1074759135,US
+1074759136,1074759151,CA
+1074759152,1074759167,US
+1074759168,1074759171,ZA
+1074759172,1074759175,CA
+1074759176,1074759179,US
+1074759180,1074759191,CA
+1074759192,1074759199,PH
+1074759200,1074759207,CA
+1074759208,1074759211,GB
+1074759212,1074759231,CA
+1074759232,1074759235,AE
+1074759236,1074759247,CA
+1074759248,1074759255,IL
+1074759256,1074759263,QA
+1074759264,1074759283,CA
+1074759284,1074759287,FR
+1074759288,1074759315,CA
+1074759316,1074759319,IL
+1074759320,1074759351,CA
+1074759352,1074759359,US
+1074759360,1074759407,CA
+1074759408,1074759415,GB
+1074759416,1074759423,BR
+1074759424,1074759431,GB
+1074759432,1074759511,CA
+1074759512,1074759519,US
+1074759520,1074759535,CA
+1074759536,1074759551,IQ
+1074759552,1074759615,CA
+1074759616,1074759623,RU
+1074759624,1074759631,PE
+1074759632,1074759655,CA
+1074759656,1074759663,HK
+1074759664,1074759671,AR
+1074759672,1074759679,VG
+1074759680,1074759951,CA
+1074759952,1074759959,FR
+1074759960,1074759967,CA
+1074759968,1074759975,VG
+1074759976,1074759983,BR
+1074759984,1074759987,CA
+1074759988,1074759991,PT
+1074759992,1074760007,CA
+1074760008,1074760015,AU
+1074760016,1074760023,CA
+1074760024,1074760031,FR
+1074760032,1074760043,US
+1074760044,1074760091,CA
+1074760092,1074760095,US
+1074760096,1074760103,IN
+1074760104,1074760135,CA
+1074760136,1074760143,LV
+1074760144,1074760151,BR
+1074760152,1074760159,PK
+1074760160,1074760163,CA
+1074760164,1074760167,SE
+1074760168,1074760183,CA
+1074760184,1074760191,AR
+1074760192,1074760475,CA
+1074760476,1074760479,AE
+1074760480,1074760487,BR
+1074760488,1074760543,CA
+1074760544,1074760551,BR
+1074760552,1074760559,JO
+1074760560,1074760591,CA
+1074760592,1074760607,US
+1074760608,1074760711,CA
+1074760712,1074760719,RU
+1074760720,1074760727,US
+1074760728,1074760743,CA
+1074760744,1074760751,PK
+1074760752,1074760755,US
+1074760756,1074760767,CA
+1074760768,1074760775,PT
+1074760776,1074760787,CA
+1074760788,1074760791,NG
+1074760792,1074760807,CA
+1074760808,1074760815,LB
+1074760816,1074760831,CA
+1074760832,1074760847,US
+1074760848,1074760855,CA
+1074760856,1074760859,DE
+1074760860,1074760875,CA
+1074760876,1074760879,PT
+1074760880,1074760887,BO
+1074760888,1074760895,DK
+1074760896,1074760903,CA
+1074760904,1074760911,US
+1074760912,1074760919,CA
+1074760920,1074760927,AU
+1074760928,1074760931,CA
+1074760932,1074760935,US
+1074760936,1074761031,CA
+1074761032,1074761039,US
+1074761040,1074761043,FR
+1074761044,1074761047,CA
+1074761048,1074761055,IL
+1074761056,1074761087,CA
+1074761088,1074761091,US
+1074761092,1074761099,CA
+1074761100,1074761103,US
+1074761104,1074761123,CA
+1074761124,1074761127,GB
+1074761128,1074761167,CA
+1074761168,1074761175,BR
+1074761176,1074761191,CA
+1074761192,1074761195,GB
+1074761196,1074761527,CA
+1074761528,1074761535,BR
+1074761536,1074761539,CA
+1074761540,1074761543,US
+1074761544,1074761575,CA
+1074761576,1074761583,PK
+1074761584,1074761599,CA
+1074761600,1074761615,GB
+1074761616,1074761623,CA
+1074761624,1074761631,MX
+1074761632,1074761659,CA
+1074761660,1074761663,US
+1074761664,1074761671,CA
+1074761672,1074761679,GB
+1074761680,1074761687,MA
+1074761688,1074761711,CA
+1074761712,1074761719,RU
+1074761720,1074761775,CA
+1074761776,1074761779,GB
+1074761780,1074761807,CA
+1074761808,1074761815,US
+1074761816,1074761823,PH
+1074761824,1074761831,CA
+1074761832,1074761839,US
+1074761840,1074761847,GB
+1074761848,1074761867,CA
+1074761868,1074761871,US
+1074761872,1074761887,DK
+1074761888,1074761915,CA
+1074761916,1074761919,IT
+1074761920,1074761927,US
+1074761928,1074761971,CA
+1074761972,1074761975,BR
+1074761976,1074762047,CA
+1074762048,1074762111,US
+1074762112,1074762399,CA
+1074762400,1074762431,BS
+1074762432,1074762827,CA
+1074762828,1074762831,US
+1074762832,1074762843,CA
+1074762844,1074762847,VN
+1074762848,1074762851,CA
+1074762852,1074762855,DE
+1074762856,1074762863,CA
+1074762864,1074762871,RO
+1074762872,1074762875,CA
+1074762876,1074762879,US
+1074762880,1074762967,CA
+1074762968,1074762975,DE
+1074762976,1074762991,CA
+1074762992,1074762999,FR
+1074763000,1074763003,CA
+1074763004,1074763007,VN
+1074763008,1074763015,BR
+1074763016,1074763055,CA
+1074763056,1074763063,AU
+1074763064,1074763071,US
+1074763072,1074763095,CA
+1074763096,1074763103,US
+1074763104,1074763107,RU
+1074763108,1074763111,CA
+1074763112,1074763119,US
+1074763120,1074763143,CA
+1074763144,1074763151,US
+1074763152,1074763167,CA
+1074763168,1074763175,CO
+1074763176,1074763183,CA
+1074763184,1074763191,US
+1074763192,1074763199,CA
+1074763200,1074763207,US
+1074763208,1074763215,GB
+1074763216,1074763223,CA
+1074763224,1074763231,US
+1074763232,1074763239,IT
+1074763240,1074763247,US
+1074763248,1074763287,CA
+1074763288,1074763295,MX
+1074763296,1074763303,US
+1074763304,1074763315,CA
+1074763316,1074763319,JP
+1074763320,1074763359,CA
+1074763360,1074763375,US
+1074763376,1074763379,CA
+1074763380,1074763383,US
+1074763384,1074763399,CA
+1074763400,1074763407,AE
+1074763408,1074763439,CA
+1074763440,1074763443,US
+1074763444,1074763447,CA
+1074763448,1074763455,PT
+1074763456,1074763663,CA
+1074763664,1074763679,CR
+1074763680,1074764031,CA
+1074764032,1074764039,IR
+1074764040,1074764055,CA
+1074764056,1074764063,US
+1074764064,1074764067,CA
+1074764068,1074764071,SA
+1074764072,1074764075,VN
+1074764076,1074764095,CA
+1074764096,1074764103,US
+1074764104,1074764111,CA
+1074764112,1074764119,US
+1074764120,1074764127,CA
+1074764128,1074764135,US
+1074764136,1074764159,CA
+1074764160,1074764167,US
+1074764168,1074764191,CA
+1074764192,1074764199,SG
+1074764200,1074764231,CA
+1074764232,1074764239,BE
+1074764240,1074764383,CA
+1074764384,1074764391,US
+1074764392,1074764407,CA
+1074764408,1074764423,US
+1074764424,1074764427,CA
+1074764428,1074764431,US
+1074764432,1074764435,MD
+1074764436,1074764447,CA
+1074764448,1074764455,US
+1074764456,1074764491,CA
+1074764492,1074764495,CH
+1074764496,1074764503,CA
+1074764504,1074764511,IL
+1074764512,1074764515,AE
+1074764516,1074764519,CA
+1074764520,1074764527,SA
+1074764528,1074764535,CA
+1074764536,1074764539,VN
+1074764540,1074764799,CA
+1074764800,1074764831,US
+1074764832,1074764895,CA
+1074764896,1074764959,US
+1074764960,1074765071,CA
+1074765072,1074765075,JP
+1074765076,1074765103,CA
+1074765104,1074765111,CN
+1074765112,1074765119,US
+1074765120,1074765151,CA
+1074765152,1074765159,BR
+1074765160,1074765167,TR
+1074765168,1074765175,GR
+1074765176,1074765183,SE
+1074765184,1074765199,CA
+1074765200,1074765207,BR
+1074765208,1074765211,CA
+1074765212,1074765215,BR
+1074765216,1074765231,CA
+1074765232,1074765239,SE
+1074765240,1074765247,CA
+1074765248,1074765251,YE
+1074765252,1074765255,CA
+1074765256,1074765271,AE
+1074765272,1074765275,US
+1074765276,1074765279,NZ
+1074765280,1074765283,US
+1074765284,1074765287,CA
+1074765288,1074765295,NP
+1074765296,1074765303,US
+1074765304,1074765311,GR
+1074765312,1074765487,CA
+1074765488,1074765503,PK
+1074765504,1074765823,CA
1074765824,1074777343,US
1074777344,1074777599,AU
1074777600,1074783167,US
@@ -14644,8 +18407,12 @@
1074783232,1074785823,US
1074785824,1074785855,AU
1074785856,1074871583,US
-1074871584,1074871607,CA
-1074871608,1074937855,US
+1074871584,1074871591,CA
+1074871592,1074871599,US
+1074871600,1074871607,CA
+1074871608,1074871615,US
+1074871616,1074871679,CA
+1074871680,1074937855,US
1074937856,1074946047,CA
1074946048,1074962431,US
1074962432,1074970623,CA
@@ -14662,9 +18429,11 @@
1075479136,1075479151,US
1075479152,1075479607,CA
1075479608,1075479615,US
-1075479616,1075484263,CA
-1075484264,1075484271,US
-1075484272,1075494911,CA
+1075479616,1075480415,CA
+1075480416,1075480423,US
+1075480424,1075482655,CA
+1075482656,1075482671,US
+1075482672,1075494911,CA
1075494912,1075513151,US
1075513152,1075513183,KW
1075513184,1075532663,US
@@ -14724,13 +18493,17 @@
1075581496,1075581499,NL
1075581500,1075581695,NO
1075581696,1075581823,NL
-1075581824,1075582503,NO
-1075582504,1075582511,NL
-1075582512,1075582615,NO
+1075581824,1075582495,NO
+1075582496,1075582511,NL
+1075582512,1075582527,NO
+1075582528,1075582559,NL
+1075582560,1075582615,NO
1075582616,1075582623,NL
1075582624,1075582975,NO
1075582976,1075583007,NL
-1075583008,1075583119,NO
+1075583008,1075583039,NO
+1075583040,1075583055,NL
+1075583056,1075583119,NO
1075583120,1075583123,NL
1075583124,1075583127,NO
1075583128,1075583135,NL
@@ -14742,7 +18515,9 @@
1075583552,1075583567,NL
1075583568,1075583583,NO
1075583584,1075583591,NL
-1075583592,1075583743,NO
+1075583592,1075583647,NO
+1075583648,1075583663,NL
+1075583664,1075583743,NO
1075583744,1075583759,NL
1075583760,1075583783,NO
1075583784,1075583791,NL
@@ -14771,7 +18546,8 @@
1075597168,1075597183,CA
1075597184,1075597375,US
1075597376,1075597407,CA
-1075597408,1075597439,IL
+1075597408,1075597423,US
+1075597424,1075597439,IL
1075597440,1075597551,US
1075597552,1075597599,CA
1075597600,1075598367,US
@@ -14788,21 +18564,43 @@
1075601280,1075601295,CA
1075601296,1075609599,US
1075609600,1075613695,TT
-1075613696,1075744511,US
-1075744512,1075744639,NL
-1075744640,1075744767,US
+1075613696,1075744767,US
1075744768,1075748863,A2
-1075748864,1075855359,US
+1075748864,1075776351,US
+1075776352,1075776383,BR
+1075776384,1075777743,US
+1075777744,1075777759,BR
+1075777760,1075780351,US
+1075780352,1075780367,BR
+1075780368,1075783423,US
+1075783424,1075783455,BE
+1075783456,1075784591,US
+1075784592,1075784607,BR
+1075784608,1075785679,US
+1075785680,1075785695,BR
+1075785696,1075786527,US
+1075786528,1075786559,GB
+1075786560,1075786575,US
+1075786576,1075786591,GB
+1075786592,1075789135,US
+1075789136,1075789143,BR
+1075789144,1075855359,US
1075855360,1075871743,DO
1075871744,1075970047,US
1075970048,1075972095,CA
1075972096,1075972351,GB
-1075972352,1075973887,US
+1075972352,1075973703,US
+1075973704,1075973711,CA
+1075973712,1075973887,US
1075973888,1075974143,CA
1075974144,1075975167,US
1075975168,1075975679,CA
1075975680,1075975815,US
-1075975816,1075976175,CA
+1075975816,1075975983,CA
+1075975984,1075975999,US
+1075976000,1075976127,CA
+1075976128,1075976159,US
+1075976160,1075976175,CA
1075976176,1075976191,US
1075976192,1075976447,CA
1075976448,1075976479,US
@@ -14861,7 +18659,9 @@
1075989472,1075989791,CA
1075989792,1075989823,US
1075989824,1075990527,CA
-1075990528,1075991551,US
+1075990528,1075990727,US
+1075990728,1075990735,CA
+1075990736,1075991551,US
1075991552,1075991583,CA
1075991584,1075991671,US
1075991672,1075991679,CA
@@ -14929,8 +18729,8 @@
1076004472,1076004479,CA
1076004480,1076004495,US
1076004496,1076004511,CA
-1076004512,1076004559,US
-1076004560,1076004591,CA
+1076004512,1076004543,US
+1076004544,1076004591,CA
1076004592,1076004607,US
1076004608,1076004639,CA
1076004640,1076004703,US
@@ -14945,18 +18745,20 @@
1076005240,1076005247,CA
1076005248,1076005263,US
1076005264,1076005279,CA
-1076005280,1076005311,US
-1076005312,1076005327,CA
-1076005328,1076005375,US
-1076005376,1076005887,CA
+1076005280,1076005319,US
+1076005320,1076005343,CA
+1076005344,1076005375,US
+1076005376,1076005791,CA
+1076005792,1076005807,US
+1076005808,1076005887,CA
1076005888,1076006015,US
-1076006016,1076006047,CA
-1076006048,1076006079,US
+1076006016,1076006055,CA
+1076006056,1076006079,US
1076006080,1076006111,CA
1076006112,1076006271,US
1076006272,1076006303,CA
-1076006304,1076006367,US
-1076006368,1076006719,CA
+1076006304,1076006383,US
+1076006384,1076006719,CA
1076006720,1076006751,US
1076006752,1076006783,CA
1076006784,1076006911,US
@@ -14964,7 +18766,9 @@
1076007168,1076007183,US
1076007184,1076007247,CA
1076007248,1076007263,US
-1076007264,1076007947,CA
+1076007264,1076007679,CA
+1076007680,1076007935,US
+1076007936,1076007947,CA
1076007948,1076007951,US
1076007952,1076008063,CA
1076008064,1076008191,US
@@ -14976,7 +18780,9 @@
1076009696,1076009711,US
1076009712,1076009887,CA
1076009888,1076009919,US
-1076009920,1076011007,CA
+1076009920,1076010727,CA
+1076010728,1076010735,US
+1076010736,1076011007,CA
1076011008,1076012236,US
1076012237,1076012237,IN
1076012238,1076013094,US
@@ -14988,14 +18794,14 @@
1076024316,1076026023,US
1076026024,1076026031,CA
1076026032,1076026367,US
-1076026368,1076026495,CA
-1076026496,1076026559,US
+1076026368,1076026527,CA
+1076026528,1076026559,US
1076026560,1076026607,CA
1076026608,1076026623,SG
1076026624,1076026975,CA
1076026976,1076027031,US
-1076027032,1076027199,CA
-1076027200,1076027295,US
+1076027032,1076027263,CA
+1076027264,1076027295,US
1076027296,1076027407,CA
1076027408,1076027423,US
1076027424,1076027711,CA
@@ -15017,8 +18823,8 @@
1076029232,1076029239,CA
1076029240,1076029247,US
1076029248,1076029255,CA
-1076029256,1076029263,US
-1076029264,1076029311,CA
+1076029256,1076029271,US
+1076029272,1076029311,CA
1076029312,1076029319,GB
1076029320,1076029415,CA
1076029416,1076029422,US
@@ -15097,9 +18903,7 @@
1076048864,1076049151,US
1076049152,1076049407,DE
1076049408,1076049439,CA
-1076049440,1076049471,US
-1076049472,1076049503,PR
-1076049504,1076049919,US
+1076049440,1076049919,US
1076049920,1076050175,IL
1076050176,1076174847,US
1076174848,1076178943,BM
@@ -15107,15 +18911,17 @@
1076179162,1076179163,IN
1076179164,1076179196,US
1076179197,1076179198,IN
-1076179199,1076180795,US
+1076179199,1076180201,US
+1076180202,1076180222,PK
+1076180223,1076180795,US
1076180796,1076180799,IN
-1076180800,1076183039,US
+1076180800,1076181236,US
+1076181237,1076181237,CA
+1076181238,1076183039,US
1076183040,1076183071,IN
1076183072,1076183231,US
1076183232,1076183295,CA
-1076183296,1076183423,US
-1076183424,1076183487,IN
-1076183488,1076183807,US
+1076183296,1076183807,US
1076183808,1076184063,CA
1076184064,1076184095,VE
1076184096,1076184159,US
@@ -15126,9 +18932,7 @@
1076184288,1076184319,CA
1076184320,1076184575,US
1076184576,1076184831,CA
-1076184832,1076184895,US
-1076184896,1076184927,FR
-1076184928,1076185215,US
+1076184832,1076185215,US
1076185216,1076185343,CA
1076185344,1076185439,US
1076185440,1076185471,IT
@@ -15157,21 +18961,14 @@
1076187904,1076188159,CA
1076188160,1076188287,US
1076188288,1076188415,BE
-1076188416,1076188799,US
-1076188800,1076188927,CA
-1076188928,1076189183,US
+1076188416,1076189183,US
1076189184,1076189215,VE
1076189216,1076189279,CA
1076189280,1076189311,US
1076189312,1076189343,CA
1076189344,1076189407,US
1076189408,1076189439,IN
-1076189440,1076189695,US
-1076189696,1076189759,IN
-1076189760,1076189823,CA
-1076189824,1076189887,US
-1076189888,1076189951,CA
-1076189952,1076190079,US
+1076189440,1076190079,US
1076190080,1076190143,IN
1076190144,1076190175,BE
1076190176,1076190207,IN
@@ -15183,16 +18980,13 @@
1076190914,1076190945,IN
1076190946,1076191231,US
1076191232,1076191487,CA
-1076191488,1076192063,US
-1076192064,1076192127,IN
+1076191488,1076192127,US
1076192128,1076192191,CA
1076192192,1076192255,US
1076192256,1076192383,BE
1076192384,1076192767,US
-1076192768,1076192895,IN
-1076192896,1076193055,US
-1076193056,1076193087,AU
-1076193088,1076193151,US
+1076192768,1076192831,IN
+1076192832,1076193151,US
1076193152,1076193183,TR
1076193184,1076193247,US
1076193248,1076193279,CA
@@ -15210,20 +19004,16 @@
1076195552,1076195583,IN
1076195584,1076195871,US
1076195872,1076195903,BE
-1076195904,1076195935,CA
-1076195936,1076195999,US
+1076195904,1076195999,US
1076196000,1076196031,CN
1076196032,1076196063,CA
1076196064,1076196095,US
1076196096,1076196415,CA
1076196416,1076196479,US
1076196480,1076196511,FR
-1076196512,1076196575,AT
-1076196576,1076196641,US
+1076196512,1076196641,US
1076196642,1076196671,BE
-1076196672,1076196703,US
-1076196704,1076196735,FR
-1076196736,1076196863,US
+1076196672,1076196863,US
1076196864,1076196991,IN
1076196992,1076197119,US
1076197120,1076197375,CA
@@ -15244,11 +19034,15 @@
1076282352,1076282367,CA
1076282368,1076283903,US
1076283904,1076284159,NO
-1076284160,1076284679,US
+1076284160,1076284319,US
+1076284320,1076284335,GB
+1076284336,1076284679,US
1076284680,1076284687,HU
1076284688,1076285439,US
1076285440,1076285455,DK
-1076285456,1076291903,US
+1076285456,1076289951,US
+1076289952,1076289967,GB
+1076289968,1076291903,US
1076291904,1076291919,UA
1076291920,1076292559,US
1076292560,1076292567,NL
@@ -15293,9 +19087,7 @@
1076299312,1076299399,US
1076299400,1076299407,DK
1076299408,1076299415,PE
-1076299416,1076299431,US
-1076299432,1076299439,GB
-1076299440,1076299471,US
+1076299416,1076299471,US
1076299472,1076299479,ID
1076299480,1076299487,GB
1076299488,1076299503,IN
@@ -15306,9 +19098,7 @@
1076299648,1076299663,BD
1076299664,1076299679,US
1076299680,1076299687,VI
-1076299688,1076299703,US
-1076299704,1076299711,GB
-1076299712,1076299727,US
+1076299688,1076299727,US
1076299728,1076299735,AU
1076299736,1076299767,US
1076299768,1076299775,MX
@@ -15322,8 +19112,7 @@
1076299944,1076299951,IT
1076299952,1076299959,US
1076299960,1076299975,FR
-1076299976,1076299983,AU
-1076299984,1076300015,US
+1076299976,1076300015,US
1076300016,1076300031,GB
1076300032,1076300047,US
1076300048,1076300055,BD
@@ -15345,8 +19134,7 @@
1076300312,1076300319,GB
1076300320,1076300335,US
1076300336,1076300343,IN
-1076300344,1076300383,US
-1076300384,1076300391,GB
+1076300344,1076300391,US
1076300392,1076300399,IN
1076300400,1076300447,US
1076300448,1076300455,MY
@@ -15394,9 +19182,7 @@
1076301896,1076301903,IL
1076301904,1076301927,US
1076301928,1076301935,AU
-1076301936,1076301951,US
-1076301952,1076302015,AT
-1076302016,1076302359,US
+1076301936,1076302359,US
1076302360,1076302367,GB
1076302368,1076302407,US
1076302408,1076302415,IN
@@ -15424,13 +19210,9 @@
1076302880,1076302887,IN
1076302888,1076302911,US
1076302912,1076302919,IN
-1076302920,1076302959,US
-1076302960,1076302975,GB
-1076302976,1076302983,US
+1076302920,1076302983,US
1076302984,1076302991,AR
-1076302992,1076303031,US
-1076303032,1076303039,CA
-1076303040,1076303079,US
+1076302992,1076303079,US
1076303080,1076303087,RU
1076303088,1076303167,US
1076303168,1076303183,CA
@@ -15453,8 +19235,7 @@
1076303528,1076303535,AU
1076303536,1076303551,US
1076303552,1076303559,AU
-1076303560,1076303567,DE
-1076303568,1076303599,US
+1076303560,1076303599,US
1076303600,1076303615,AU
1076303616,1076303631,US
1076303632,1076303639,CH
@@ -15466,20 +19247,15 @@
1076303696,1076303703,GB
1076303704,1076303711,US
1076303712,1076303719,CA
-1076303720,1076303727,US
-1076303728,1076303735,SA
-1076303736,1076303767,US
-1076303768,1076303775,PY
+1076303720,1076303775,US
1076303776,1076303791,AU
1076303792,1076303831,US
1076303832,1076303839,SE
1076303840,1076303983,US
1076303984,1076303991,AU
-1076303992,1076303999,DE
-1076304000,1076304031,US
+1076303992,1076304031,US
1076304032,1076304039,CA
-1076304040,1076304047,MX
-1076304048,1076304079,US
+1076304040,1076304079,US
1076304080,1076304087,CA
1076304088,1076304127,US
1076304128,1076304135,CA
@@ -15513,21 +19289,17 @@
1076304688,1076304695,IN
1076304696,1076304751,US
1076304752,1076304759,RU
-1076304760,1076304823,US
-1076304824,1076304831,SE
+1076304760,1076304831,US
1076304832,1076304839,VE
1076304840,1076304895,US
1076304896,1076304911,AU
1076304912,1076304919,US
1076304920,1076304927,ES
-1076304928,1076304943,US
-1076304944,1076304951,MX
+1076304928,1076304951,US
1076304952,1076304959,NZ
1076304960,1076304991,US
1076304992,1076304999,ID
-1076305000,1076305007,US
-1076305008,1076305015,AU
-1076305016,1076305023,US
+1076305000,1076305023,US
1076305024,1076305039,CA
1076305040,1076305055,RU
1076305056,1076305079,US
@@ -15625,18 +19397,12 @@
1076707120,1076707311,US
1076707312,1076707319,AR
1076707320,1076756479,US
-1076756480,1076764671,CA
-1076764672,1076765183,A1
-1076765184,1076765439,CA
-1076765440,1076765695,A1
-1076765696,1076767231,CA
-1076767232,1076767743,A1
-1076767744,1076768511,CA
-1076768512,1076768767,A1
-1076768768,1076772863,CA
+1076756480,1076772863,CA
1076772864,1076850687,US
1076850688,1076850943,CA
-1076850944,1076985855,US
+1076850944,1076880383,US
+1076880384,1076880639,CH
+1076880640,1076985855,US
1076985856,1077002239,A2
1077002240,1077002255,US
1077002256,1077002271,GB
@@ -15653,8 +19419,7 @@
1077002552,1077002559,CA
1077002560,1077002575,US
1077002576,1077002583,CA
-1077002584,1077002591,AU
-1077002592,1077002599,US
+1077002584,1077002599,US
1077002600,1077002607,BH
1077002608,1077002823,US
1077002824,1077002831,IN
@@ -15672,15 +19437,11 @@
1077003040,1077003047,AU
1077003048,1077003079,US
1077003080,1077003087,IN
-1077003088,1077003119,US
-1077003120,1077003127,GB
-1077003128,1077003199,US
+1077003088,1077003199,US
1077003200,1077003231,IN
1077003232,1077003431,US
1077003432,1077003439,IE
-1077003440,1077003511,US
-1077003512,1077003519,CA
-1077003520,1077003687,US
+1077003440,1077003687,US
1077003688,1077003695,PH
1077003696,1077003711,US
1077003712,1077003727,AU
@@ -15710,8 +19471,7 @@
1077004264,1077004303,US
1077004304,1077004319,FR
1077004320,1077004327,AU
-1077004328,1077004335,GB
-1077004336,1077004343,TR
+1077004328,1077004343,US
1077004344,1077004351,AT
1077004352,1077004367,US
1077004368,1077004375,ZA
@@ -15729,7 +19489,7 @@
1077004704,1077004735,FR
1077004736,1077004743,US
1077004744,1077004751,CA
-1077004752,1077004759,BE
+1077004752,1077004759,US
1077004760,1077004767,NZ
1077004768,1077004783,US
1077004784,1077004791,CA
@@ -15780,11 +19540,9 @@
1077006744,1077006751,IL
1077006752,1077006847,US
1077006848,1077006863,CA
-1077006864,1077006879,CR
-1077006880,1077006887,US
+1077006864,1077006887,US
1077006888,1077006895,IN
-1077006896,1077006911,US
-1077006912,1077006927,GB
+1077006896,1077006927,US
1077006928,1077006935,CA
1077006936,1077006943,AR
1077006944,1077006959,US
@@ -15801,8 +19559,7 @@
1077007120,1077007167,US
1077007168,1077007191,CA
1077007192,1077007199,KR
-1077007200,1077007215,GB
-1077007216,1077007247,US
+1077007200,1077007247,US
1077007248,1077007255,BZ
1077007256,1077007287,US
1077007288,1077007295,CA
@@ -15815,11 +19572,15 @@
1077007984,1077008047,US
1077008048,1077008063,FR
1077008064,1077008127,US
-1077008128,1077008223,CA
-1077008224,1077008239,US
+1077008128,1077008191,CA
+1077008192,1077008207,US
+1077008208,1077008215,CA
+1077008216,1077008239,US
1077008240,1077008271,CA
1077008272,1077008295,US
-1077008296,1077008335,CA
+1077008296,1077008311,CA
+1077008312,1077008319,US
+1077008320,1077008335,CA
1077008336,1077008343,US
1077008344,1077008383,CA
1077008384,1077008735,US
@@ -15828,13 +19589,9 @@
1077008880,1077008895,GB
1077008896,1077010431,US
1077010432,1077010439,HK
-1077010440,1077010567,US
-1077010568,1077010575,CA
-1077010576,1077011247,US
+1077010440,1077011247,US
1077011248,1077011255,CA
-1077011256,1077011263,US
-1077011264,1077011271,AR
-1077011272,1077011287,US
+1077011256,1077011287,US
1077011288,1077011295,AU
1077011296,1077011311,US
1077011312,1077011319,IN
@@ -15842,9 +19599,7 @@
1077011328,1077011599,US
1077011600,1077011607,EG
1077011608,1077011615,NZ
-1077011616,1077011767,US
-1077011768,1077011775,MX
-1077011776,1077011807,US
+1077011616,1077011807,US
1077011808,1077011823,GR
1077011824,1077011831,AT
1077011832,1077012031,US
@@ -15859,9 +19614,7 @@
1077012168,1077012295,US
1077012296,1077012303,HK
1077012304,1077012311,IN
-1077012312,1077012383,US
-1077012384,1077012415,PA
-1077012416,1077012455,US
+1077012312,1077012455,US
1077012456,1077012463,IN
1077012464,1077012495,US
1077012496,1077012511,IT
@@ -15903,11 +19656,7 @@
1077014152,1077014159,AU
1077014160,1077014167,US
1077014168,1077014175,IN
-1077014176,1077014303,US
-1077014304,1077014311,BY
-1077014312,1077014407,US
-1077014408,1077014415,GB
-1077014416,1077014527,US
+1077014176,1077014527,US
1077014528,1077014535,CA
1077014536,1077014567,US
1077014568,1077014575,FR
@@ -15924,13 +19673,7 @@
1077015552,1077015559,GB
1077015560,1077015623,US
1077015624,1077015631,IN
-1077015632,1077015647,US
-1077015648,1077015679,PK
-1077015680,1077015687,US
-1077015688,1077015695,GB
-1077015696,1077015759,US
-1077015760,1077015775,RU
-1077015776,1077015831,US
+1077015632,1077015831,US
1077015832,1077015847,ZA
1077015848,1077015871,US
1077015872,1077015879,CA
@@ -15938,10 +19681,7 @@
1077015920,1077015935,GB
1077015936,1077017327,US
1077017328,1077017335,IN
-1077017336,1077017343,US
-1077017344,1077017351,ZA
-1077017352,1077017359,GB
-1077017360,1077017439,US
+1077017336,1077017439,US
1077017440,1077017455,FR
1077017456,1077017631,US
1077017632,1077017647,VG
@@ -15966,26 +19706,19 @@
1077565504,1077565567,AR
1077565568,1077567487,US
1077567488,1077571583,A2
-1077571584,1077626239,US
-1077626240,1077626271,WS
-1077626272,1077627167,US
+1077571584,1077627167,US
1077627168,1077627199,EC
-1077627200,1077629071,US
-1077629072,1077629087,CR
-1077629088,1077629119,US
-1077629120,1077629151,NL
+1077627200,1077629151,US
1077629152,1077629183,CA
1077629184,1077629535,US
1077629536,1077629567,CA
1077629568,1077629903,US
1077629904,1077629919,AN
-1077629920,1077630015,US
-1077630016,1077630047,CA
-1077630048,1077632159,US
+1077629920,1077631167,US
+1077631168,1077631231,NL
+1077631232,1077632159,US
1077632160,1077632191,GB
-1077632192,1077632447,US
-1077632448,1077632479,NL
-1077632480,1077633823,US
+1077632192,1077633823,US
1077633824,1077633855,AN
1077633856,1077640799,US
1077640800,1077640831,EC
@@ -16060,8 +19793,7 @@
1077936151,1077936151,GB
1077936152,1077936169,US
1077936170,1077936173,CA
-1077936174,1077936177,GB
-1077936178,1077936189,US
+1077936174,1077936189,US
1077936190,1077936193,CA
1077936194,1077936201,US
1077936202,1077936205,GB
@@ -16076,9 +19808,7 @@
1077936262,1077936265,IN
1077936266,1077936273,US
1077936274,1077936277,ES
-1077936278,1077936295,US
-1077936296,1077936296,CA
-1077936297,1077936297,US
+1077936278,1077936297,US
1077936298,1077936301,NG
1077936302,1077936305,US
1077936306,1077936309,ZA
@@ -16099,9 +19829,7 @@
1077936402,1077936409,GB
1077936410,1077936413,CO
1077936414,1077936417,AU
-1077936418,1077936421,US
-1077936422,1077936422,CA
-1077936423,1077936426,US
+1077936418,1077936426,US
1077936427,1077936429,TH
1077936430,1077936433,US
1077936434,1077936437,CZ
@@ -16133,9 +19861,7 @@
1077936546,1077936549,MY
1077936550,1077936573,US
1077936574,1077936577,AR
-1077936578,1077936585,US
-1077936586,1077936589,GB
-1077936590,1077936593,PH
+1077936578,1077936593,US
1077936594,1077936597,GR
1077936598,1077936601,CA
1077936602,1077936605,TH
@@ -16157,9 +19883,7 @@
1077936685,1077936691,US
1077936692,1077936695,IT
1077936696,1077936699,OM
-1077936700,1077936703,TH
-1077936704,1077936707,RS
-1077936708,1077936742,US
+1077936700,1077936742,US
1077936743,1077936743,BE
1077936744,1077936759,US
1077936760,1077936763,GB
@@ -16215,9 +19939,7 @@
1077937088,1077937088,BE
1077937089,1077937089,CA
1077937090,1077937093,IT
-1077937094,1077937105,US
-1077937106,1077937109,CA
-1077937110,1077937129,US
+1077937094,1077937129,US
1077937130,1077937133,CA
1077937134,1077937137,NG
1077937138,1077937145,US
@@ -16229,7 +19951,7 @@
1077937181,1077937184,SA
1077937185,1077937196,US
1077937197,1077937200,LK
-1077937201,1077937204,GB
+1077937201,1077937204,US
1077937205,1077937208,AT
1077937209,1077937212,US
1077937213,1077937214,CA
@@ -16272,7 +19994,7 @@
1077937462,1077937474,US
1077937475,1077937478,DK
1077937479,1077937482,MX
-1077937483,1077937484,GB
+1077937483,1077937484,US
1077937485,1077937485,LK
1077937486,1077937502,US
1077937503,1077937506,GB
@@ -16287,9 +20009,7 @@
1077937576,1077937577,GB
1077937578,1077937597,US
1077937598,1077937601,IN
-1077937602,1077937609,US
-1077937610,1077937613,NZ
-1077937614,1077937617,US
+1077937602,1077937617,US
1077937618,1077937621,IN
1077937622,1077937625,GB
1077937626,1077937629,IT
@@ -16314,16 +20034,11 @@
1077937759,1077937762,NL
1077937763,1077937766,US
1077937767,1077937770,RU
-1077937771,1077937782,US
-1077937783,1077937786,GR
-1077937787,1077937790,GB
-1077937791,1077937802,US
+1077937771,1077937802,US
1077937803,1077937806,BE
1077937807,1077937822,US
1077937823,1077937826,GB
-1077937827,1077937846,US
-1077937847,1077937850,TH
-1077937851,1077937854,US
+1077937827,1077937854,US
1077937855,1077937862,TH
1077937863,1077937866,SA
1077937867,1077937870,GB
@@ -16355,9 +20070,7 @@
1077938038,1077938041,AU
1077938042,1077938045,US
1077938046,1077938049,RU
-1077938050,1077938053,US
-1077938054,1077938057,AU
-1077938058,1077938073,US
+1077938050,1077938073,US
1077938074,1077938077,CN
1077938078,1077938081,US
1077938082,1077938085,IN
@@ -16382,17 +20095,16 @@
1077938222,1077938225,IN
1077938226,1077938258,US
1077938259,1077938262,PE
-1077938263,1077938266,CA
+1077938263,1077938266,US
1077938267,1077938269,GB
1077938270,1077938277,US
1077938278,1077938281,GB
1077938282,1077938283,DE
1077938284,1077938284,CH
1077938285,1077938288,CA
-1077938289,1077938296,GB
-1077938297,1077938301,US
-1077938302,1077938305,GB
-1077938306,1077938309,US
+1077938289,1077938292,US
+1077938293,1077938296,GB
+1077938297,1077938309,US
1077938310,1077938313,TH
1077938314,1077938321,US
1077938322,1077938325,GB
@@ -16422,8 +20134,7 @@
1077938446,1077938446,BE
1077938447,1077938490,US
1077938491,1077938494,MT
-1077938495,1077938502,US
-1077938503,1077938506,ES
+1077938495,1077938506,US
1077938507,1077938510,DK
1077938511,1077938529,US
1077938530,1077938533,NZ
@@ -16480,10 +20191,9 @@
1077938853,1077938856,ES
1077938857,1077938860,EE
1077938861,1077938867,IN
-1077938868,1077938871,CA
-1077938872,1077938887,US
+1077938868,1077938887,US
1077938888,1077938891,VI
-1077938892,1077938895,SA
+1077938892,1077938895,US
1077938896,1077938927,CA
1077938928,1077938931,US
1077938932,1077938935,MY
@@ -16505,13 +20215,12 @@
1077939033,1077939036,IE
1077939037,1077939044,US
1077939045,1077939048,IN
-1077939049,1077939060,US
-1077939061,1077939064,IE
+1077939049,1077939064,US
1077939065,1077939065,TH
1077939066,1077939069,CA
1077939070,1077939078,US
1077939079,1077939082,IN
-1077939083,1077939086,CA
+1077939083,1077939086,US
1077939087,1077939090,ES
1077939091,1077939099,US
1077939100,1077939103,ID
@@ -16527,7 +20236,7 @@
1077939210,1077939210,BE
1077939211,1077939218,US
1077939219,1077939219,NL
-1077939220,1077939223,CA
+1077939220,1077939223,US
1077939224,1077939228,BR
1077939229,1077939240,US
1077939241,1077939244,NL
@@ -16541,11 +20250,9 @@
1077939289,1077939292,US
1077939293,1077939296,IT
1077939297,1077939300,CA
-1077939301,1077939304,US
-1077939305,1077939308,GB
-1077939309,1077939321,US
-1077939322,1077939329,CA
-1077939330,1077939342,US
+1077939301,1077939321,US
+1077939322,1077939325,CA
+1077939326,1077939342,US
1077939343,1077939346,ID
1077939347,1077939350,US
1077939351,1077939354,IN
@@ -16553,8 +20260,7 @@
1077939359,1077939362,IN
1077939363,1077939375,US
1077939376,1077939379,AE
-1077939380,1077939383,US
-1077939384,1077939387,AU
+1077939380,1077939387,US
1077939388,1077939391,PK
1077939392,1077939395,US
1077939396,1077939399,SE
@@ -16570,15 +20276,20 @@
1077939492,1077939495,GB
1077939496,1077939523,US
1077939524,1077939533,CA
-1077939534,1077939569,US
+1077939534,1077939557,US
+1077939558,1077939561,MU
+1077939562,1077939569,US
1077939570,1077939574,OM
-1077939575,1077939625,US
+1077939575,1077939582,US
+1077939583,1077939586,GH
+1077939587,1077939625,US
1077939626,1077939630,UY
1077939631,1077939634,GB
1077939635,1077939644,US
1077939645,1077939648,GR
-1077939649,1077939652,IE
-1077939653,1077939725,US
+1077939649,1077939683,US
+1077939684,1077939687,CY
+1077939688,1077939725,US
1077939726,1077939727,DE
1077939728,1077939790,US
1077939791,1077939794,PE
@@ -16596,9 +20307,7 @@
1077939986,1077939997,US
1077939998,1077940001,GB
1077940002,1077940005,EG
-1077940006,1077940064,US
-1077940065,1077940068,GB
-1077940069,1077940072,US
+1077940006,1077940072,US
1077940073,1077940076,BE
1077940077,1077940133,US
1077940134,1077940137,IN
@@ -16625,9 +20334,7 @@
1077942444,1077942447,IN
1077942448,1077942456,US
1077942457,1077942461,CN
-1077942462,1077942485,US
-1077942486,1077942489,SG
-1077942490,1077942493,US
+1077942462,1077942493,US
1077942494,1077942497,MX
1077942498,1077942501,VN
1077942502,1077942505,IN
@@ -16640,8 +20347,7 @@
1077942545,1077942559,CN
1077942560,1077942572,US
1077942573,1077942576,CA
-1077942577,1077942580,CN
-1077942581,1077942600,US
+1077942577,1077942600,US
1077942601,1077942604,PE
1077942605,1077942608,CO
1077942609,1077942612,JP
@@ -16684,8 +20390,7 @@
1077942977,1077942984,US
1077942985,1077942988,IN
1077942989,1077942992,NZ
-1077942993,1077943024,US
-1077943025,1077943028,AU
+1077942993,1077943028,US
1077943029,1077943038,TH
1077943039,1077943045,US
1077943046,1077943053,FI
@@ -16807,8 +20512,7 @@
1077944244,1077944247,AU
1077944248,1077944255,US
1077944256,1077944259,TH
-1077944260,1077944263,PY
-1077944264,1077944271,US
+1077944260,1077944271,US
1077944272,1077944275,CA
1077944276,1077944279,US
1077944280,1077944283,TH
@@ -16820,28 +20524,21 @@
1077944309,1077944312,CN
1077944313,1077944316,US
1077944317,1077944317,CZ
-1077944318,1077960703,US
-1077960704,1077960711,CA
-1077960712,1077960727,US
-1077960728,1077960735,SE
-1077960736,1077960751,US
+1077944318,1077960751,US
1077960752,1077960759,CA
-1077960760,1077960775,US
-1077960776,1077960783,FR
-1077960784,1077965855,US
-1077965856,1077965887,BA
-1077965888,1077965911,US
-1077965912,1077965919,CA
-1077965920,1077968831,US
+1077960760,1077960791,US
+1077960792,1077960799,CO
+1077960800,1077968831,US
1077968832,1077968839,CA
-1077968840,1077977087,US
+1077968840,1077968847,DK
+1077968848,1077977087,US
1077977088,1077985279,CA
1077985280,1077993471,US
1077993472,1077993727,CA
1077993728,1077993983,GB
-1077993984,1077994751,US
-1077994752,1077995007,CA
-1077995008,1077997055,US
+1077993984,1077994239,US
+1077994240,1077995775,CA
+1077995776,1077997055,US
1077997056,1078001663,CA
1078001664,1078067199,US
1078067200,1078071295,BS
@@ -16856,9 +20553,7 @@
1078252640,1078252655,MX
1078252656,1078253823,US
1078253824,1078253887,MX
-1078253888,1078254847,US
-1078254848,1078255359,MX
-1078255360,1078280191,US
+1078253888,1078280191,US
1078280192,1078280575,CA
1078280576,1078280591,US
1078280592,1078280639,CA
@@ -16933,8 +20628,8 @@
1078285280,1078285287,MX
1078285288,1078285295,US
1078285296,1078285303,CA
-1078285304,1078285567,US
-1078285568,1078285639,CA
+1078285304,1078285311,US
+1078285312,1078285639,CA
1078285640,1078285647,US
1078285648,1078285655,CA
1078285656,1078285663,US
@@ -16957,7 +20652,8 @@
1078286368,1078286399,US
1078286400,1078286431,CA
1078286432,1078286463,US
-1078286464,1078286559,CA
+1078286464,1078286543,CA
+1078286544,1078286559,US
1078286560,1078286575,TW
1078286576,1078286591,CA
1078286592,1078286655,US
@@ -16974,9 +20670,7 @@
1078287040,1078287071,CA
1078287072,1078287103,US
1078287104,1078287183,CA
-1078287184,1078287199,US
-1078287200,1078287231,CA
-1078287232,1078287247,US
+1078287184,1078287247,US
1078287248,1078287279,CA
1078287280,1078287311,US
1078287312,1078287327,CA
@@ -17052,9 +20746,7 @@
1078436720,1078436727,JP
1078436728,1078436767,US
1078436768,1078436799,GB
-1078436800,1078437263,US
-1078437264,1078437271,CA
-1078437272,1078437471,US
+1078436800,1078437471,US
1078437472,1078437479,JP
1078437480,1078437503,US
1078437504,1078437567,IT
@@ -17087,7 +20779,9 @@
1078456320,1078460415,CA
1078460416,1078517759,US
1078517760,1078525951,CA
-1078525952,1078575679,US
+1078525952,1078575359,US
+1078575360,1078575615,CA
+1078575616,1078575679,US
1078575680,1078575743,AU
1078575744,1078575807,US
1078575808,1078575871,IN
@@ -17121,9 +20815,7 @@
1078621696,1078621951,IN
1078621952,1078651055,US
1078651056,1078651071,CA
-1078651072,1078653695,US
-1078653696,1078653727,CZ
-1078653728,1078654431,US
+1078651072,1078654431,US
1078654432,1078654439,AU
1078654440,1078660799,US
1078660800,1078660831,CN
@@ -17219,8 +20911,7 @@
1078797704,1078797711,JP
1078797712,1078797791,US
1078797792,1078797815,IN
-1078797816,1078797823,MX
-1078797824,1078797991,US
+1078797816,1078797991,US
1078797992,1078797999,CA
1078798000,1078798071,US
1078798072,1078798079,GB
@@ -17341,14 +21032,18 @@
1079355968,1079355991,CA
1079355992,1079377919,US
1079377920,1079378943,CA
-1079378944,1079379711,US
+1079378944,1079379199,US
+1079379200,1079379455,CA
+1079379456,1079379711,US
1079379712,1079380927,CA
1079380928,1079380991,US
1079380992,1079381567,CA
1079381568,1079381599,US
1079381600,1079381631,WS
1079381632,1079381759,CA
-1079381760,1079383039,US
+1079381760,1079382271,US
+1079382272,1079382527,CA
+1079382528,1079383039,US
1079383040,1079383295,VG
1079383296,1079383807,US
1079383808,1079384063,MH
@@ -17411,9 +21106,7 @@
1079403936,1079403999,CA
1079404000,1079404031,US
1079404032,1079404543,CA
-1079404544,1079404927,US
-1079404928,1079405023,CA
-1079405024,1079405119,US
+1079404544,1079405119,US
1079405120,1079405407,CA
1079405408,1079405439,BD
1079405440,1079405567,US
@@ -17437,14 +21130,14 @@
1079412736,1079413247,US
1079413248,1079413311,CA
1079413312,1079413343,US
-1079413344,1079413535,CA
+1079413344,1079413375,CA
+1079413376,1079413407,US
+1079413408,1079413535,CA
1079413536,1079413567,US
1079413568,1079414271,CA
1079414272,1079415039,US
1079415040,1079415295,HN
-1079415296,1079415807,CA
-1079415808,1079416319,US
-1079416320,1079421951,CA
+1079415296,1079421951,CA
1079421952,1079422207,US
1079422208,1079422239,CA
1079422240,1079422271,US
@@ -17452,9 +21145,7 @@
1079425024,1079425279,US
1079425280,1079425535,CA
1079425536,1079425551,US
-1079425552,1079427071,CA
-1079427072,1079427327,US
-1079427328,1079427583,CA
+1079425552,1079427583,CA
1079427584,1079428095,PW
1079428096,1079431679,CA
1079431680,1079432191,ZM
@@ -17505,9 +21196,7 @@
1079953568,1079953599,GB
1079953600,1079962879,US
1079962880,1079963135,GB
-1079963136,1079994367,US
-1079994368,1079996415,CA
-1079996416,1080021999,US
+1079963136,1080021999,US
1080022000,1080022007,GT
1080022008,1080030527,US
1080030528,1080030591,AR
@@ -17542,9 +21231,7 @@
1080725288,1080725297,NZ
1080725298,1080725467,US
1080725468,1080725477,LB
-1080725478,1080725563,US
-1080725564,1080725573,IT
-1080725574,1080725713,US
+1080725478,1080725713,US
1080725714,1080725723,BE
1080725724,1080725929,US
1080725930,1080725939,BE
@@ -17594,10 +21281,7 @@
1080739900,1080739909,IN
1080739910,1080740235,US
1080740236,1080740255,UA
-1080740256,1080740265,GA
-1080740266,1080740305,US
-1080740306,1080740315,LB
-1080740316,1080740551,US
+1080740256,1080740551,US
1080740552,1080740561,UA
1080740562,1080741189,US
1080741190,1080741199,GR
@@ -17637,9 +21321,7 @@
1080749824,1080749951,CA
1080749952,1080750601,US
1080750602,1080750611,GB
-1080750612,1080820871,US
-1080820872,1080820879,PR
-1080820880,1080954879,US
+1080750612,1080954879,US
1080957952,1080958207,A2
1080958208,1080958463,BH
1080958464,1080958719,A2
@@ -17647,7 +21329,9 @@
1080958976,1080960255,A2
1080960256,1080960511,BH
1080960512,1080963839,A2
-1080963840,1080967167,US
+1080963840,1080966143,US
+1080966144,1080966399,GB
+1080966400,1080967167,US
1080967168,1080968191,A2
1080968192,1080968447,BH
1080968448,1080969471,A2
@@ -17657,7 +21341,8 @@
1080972608,1080983551,A2
1080983552,1080987647,US
1080987648,1080988671,A2
-1080988672,1080989951,US
+1080988672,1080989183,AI
+1080989184,1080989951,US
1080989952,1080990207,A2
1080990208,1080999935,US
1080999936,1081016319,CA
@@ -17691,13 +21376,11 @@
1081377248,1081377279,VE
1081377280,1081377663,US
1081377664,1081377791,VE
-1081377792,1081377815,US
-1081377816,1081377823,VE
-1081377824,1081377887,US
+1081377792,1081377887,US
1081377888,1081377919,VE
1081377920,1081377935,US
-1081377936,1081377983,VE
-1081377984,1081378015,US
+1081377936,1081377951,VE
+1081377952,1081378015,US
1081378016,1081378047,VE
1081378048,1081378375,US
1081378376,1081378399,VE
@@ -17737,13 +21420,17 @@
1081399296,1081401343,CL
1081401344,1081401391,AR
1081401392,1081401415,US
-1081401416,1081401471,AR
+1081401416,1081401423,AR
+1081401424,1081401439,US
+1081401440,1081401471,AR
1081401472,1081401567,US
1081401568,1081401599,AR
-1081401600,1081401615,US
-1081401616,1081401735,AR
-1081401736,1081401751,US
-1081401752,1081401775,AR
+1081401600,1081401623,US
+1081401624,1081401631,AR
+1081401632,1081401663,US
+1081401664,1081401735,AR
+1081401736,1081401743,US
+1081401744,1081401775,AR
1081401776,1081401791,US
1081401792,1081401807,AR
1081401808,1081401815,US
@@ -17757,13 +21444,15 @@
1081403104,1081403119,US
1081403120,1081403487,AR
1081403488,1081403519,US
-1081403520,1081403551,AR
+1081403520,1081403535,AR
+1081403536,1081403543,US
+1081403544,1081403551,AR
1081403552,1081403615,US
1081403616,1081403631,AR
-1081403632,1081403711,US
-1081403712,1081403775,AR
-1081403776,1081403847,US
-1081403848,1081403871,AR
+1081403632,1081403847,US
+1081403848,1081403855,AR
+1081403856,1081403863,US
+1081403864,1081403871,AR
1081403872,1081403903,US
1081403904,1081403967,AR
1081403968,1081404031,US
@@ -17774,11 +21463,9 @@
1081409792,1081410047,PR
1081410048,1081410559,US
1081410560,1081411583,PR
-1081411584,1081413119,US
-1081413120,1081413375,PR
-1081413376,1081413423,US
-1081413424,1081413447,PR
-1081413448,1081413527,US
+1081411584,1081413423,US
+1081413424,1081413439,PR
+1081413440,1081413527,US
1081413528,1081413535,CA
1081413536,1081413567,US
1081413568,1081413575,CA
@@ -17798,9 +21485,7 @@
1081420320,1081420351,PR
1081420352,1081442367,US
1081442368,1081442399,CL
-1081442400,1081442911,US
-1081442912,1081442927,CL
-1081442928,1081442959,US
+1081442400,1081442959,US
1081442960,1081442967,CL
1081442968,1081443327,US
1081443328,1081444351,CL
@@ -17816,63 +21501,47 @@
1081463232,1081463247,BR
1081463248,1081463255,US
1081463256,1081463263,BR
-1081463264,1081463271,US
-1081463272,1081463287,BR
-1081463288,1081463295,US
-1081463296,1081463391,BR
+1081463264,1081463287,US
+1081463288,1081463391,BR
1081463392,1081463423,US
1081463424,1081463487,BR
1081463488,1081479167,US
1081479168,1081483247,CA
1081483248,1081483255,US
1081483256,1081483263,CA
-1081483264,1081487359,US
-1081487360,1081487375,A2
-1081487376,1081487383,US
-1081487384,1081487391,A2
-1081487392,1081487407,US
-1081487408,1081487567,A2
-1081487568,1081487583,US
-1081487584,1081487919,A2
-1081487920,1081487927,US
-1081487928,1081487959,A2
-1081487960,1081487967,US
-1081487968,1081488055,A2
-1081488056,1081488079,US
-1081488080,1081488087,A2
-1081488088,1081488095,US
-1081488096,1081488135,A2
-1081488136,1081488151,US
-1081488152,1081488199,A2
-1081488200,1081488215,US
-1081488216,1081488223,A2
-1081488224,1081488247,US
-1081488248,1081488255,A2
-1081488256,1081488287,US
-1081488288,1081489663,A2
-1081489664,1081489671,US
-1081489672,1081491455,A2
-1081491456,1081565183,US
+1081483264,1081487367,US
+1081487368,1081487375,A2
+1081487376,1081487407,US
+1081487408,1081487519,A2
+1081487520,1081487583,US
+1081487584,1081487871,A2
+1081487872,1081487979,US
+1081487980,1081487991,A2
+1081487992,1081488111,US
+1081488112,1081488119,A2
+1081488120,1081488123,US
+1081488124,1081488135,A2
+1081488136,1081488159,US
+1081488160,1081488167,A2
+1081488168,1081488295,US
+1081488296,1081488303,A2
+1081488304,1081488335,US
+1081488336,1081488343,A2
+1081488344,1081488351,US
+1081488352,1081488383,A2
+1081488384,1081489671,US
+1081489672,1081489679,A2
+1081489680,1081489687,US
+1081489688,1081489919,A2
+1081489920,1081565183,US
1081565184,1081573375,CA
1081573376,1081581615,US
1081581616,1081581623,JP
-1081581624,1081581671,US
-1081581672,1081581687,GB
-1081581688,1081581695,US
+1081581624,1081581695,US
1081581696,1081581703,AE
-1081581704,1081581743,US
-1081581744,1081581759,MX
-1081581760,1081581767,US
-1081581768,1081581775,AR
-1081581776,1081581823,US
-1081581824,1081581975,GB
-1081581976,1081581983,US
-1081581984,1081582015,AR
+1081581704,1081582015,US
1081582016,1081582079,GB
-1081582080,1081582087,PH
-1081582088,1081582151,US
-1081582152,1081582159,AR
-1081582160,1081582167,US
+1081582080,1081582167,US
1081582168,1081582175,AE
1081582176,1081582183,US
1081582184,1081582199,ID
@@ -17880,34 +21549,15 @@
1081582224,1081582231,JP
1081582232,1081582335,US
1081582336,1081582343,MY
-1081582344,1081582535,US
-1081582536,1081582559,AR
-1081582560,1081582567,US
+1081582344,1081582567,US
1081582568,1081582591,MY
-1081582592,1081582599,AR
-1081582600,1081582679,US
-1081582680,1081582687,AR
-1081582688,1081582695,US
+1081582592,1081582695,US
1081582696,1081582703,MY
-1081582704,1081582711,US
-1081582712,1081582719,AR
-1081582720,1081582775,US
-1081582776,1081582783,AR
-1081582784,1081582903,US
-1081582904,1081582911,AR
-1081582912,1081582991,US
-1081582992,1081582999,HK
-1081583000,1081583007,AR
-1081583008,1081583055,US
-1081583056,1081583071,AR
+1081582704,1081583071,US
1081583072,1081583103,MY
-1081583104,1081583215,US
-1081583216,1081583231,PH
-1081583232,1081583551,US
+1081583104,1081583551,US
1081583552,1081583567,MY
-1081583568,1081583743,US
-1081583744,1081583767,CA
-1081583768,1081583807,US
+1081583568,1081583807,US
1081583808,1081583815,AU
1081583816,1081583887,US
1081583888,1081583911,MY
@@ -17916,22 +21566,13 @@
1081584000,1081584007,MY
1081584008,1081584079,US
1081584080,1081584087,MY
-1081584088,1081584127,US
-1081584128,1081584151,DE
-1081584152,1081584167,US
-1081584168,1081584191,PH
-1081584192,1081584199,US
+1081584088,1081584199,US
1081584200,1081584223,MY
-1081584224,1081584271,AR
-1081584272,1081584463,US
+1081584224,1081584463,US
1081584464,1081584487,MY
-1081584488,1081584511,US
-1081584512,1081584519,AR
-1081584520,1081584543,US
+1081584488,1081584543,US
1081584544,1081584575,MY
-1081584576,1081584599,US
-1081584600,1081584639,AR
-1081584640,1081585439,US
+1081584576,1081585439,US
1081585440,1081585455,AE
1081585456,1081585503,US
1081585504,1081585519,LB
@@ -17940,15 +21581,11 @@
1081586240,1081586247,AU
1081586248,1081587759,US
1081587760,1081587767,AU
-1081587768,1081588351,US
-1081588352,1081588359,GB
-1081588360,1081588543,US
+1081587768,1081588543,US
1081588544,1081588551,KH
1081588552,1081588751,US
1081588752,1081588767,AU
-1081588768,1081589103,US
-1081589104,1081589111,PH
-1081589112,1081589759,US
+1081588768,1081589759,US
1081589760,1081593855,BB
1081593856,1081597951,CA
1081597952,1081608191,US
@@ -17998,21 +21635,21 @@
1081613448,1081613455,CA
1081613456,1081613543,US
1081613544,1081613551,CA
-1081613552,1081616831,US
-1081616832,1081616839,GB
-1081616840,1081618951,US
+1081613552,1081618047,US
+1081618048,1081618055,ZA
+1081618056,1081618951,US
1081618952,1081618959,GB
1081618960,1081619775,US
1081619776,1081619791,CA
-1081619792,1081625775,US
+1081619792,1081625671,US
+1081625672,1081625679,CA
+1081625680,1081625775,US
1081625776,1081625783,CA
-1081625784,1081803287,US
-1081803288,1081803295,PR
-1081803296,1081803895,US
-1081803896,1081803903,PR
-1081803904,1081862639,US
-1081862640,1081862647,PR
-1081862648,1081872663,US
+1081625784,1081630903,US
+1081630904,1081630911,CA
+1081630912,1081639423,US
+1081639424,1081639679,DE
+1081639680,1081872663,US
1081872664,1081872671,FI
1081872672,1081906751,US
1081906752,1081906815,IL
@@ -18024,9 +21661,7 @@
1081912576,1081912639,DE
1081912640,1081927135,US
1081927136,1081927143,GB
-1081927144,1081966871,US
-1081966872,1081966879,AS
-1081966880,1082091263,US
+1081927144,1082091263,US
1082091264,1082091271,CN
1082091272,1082091999,US
1082092000,1082092007,CA
@@ -18050,9 +21685,7 @@
1082346511,1082346514,IN
1082346515,1082347740,US
1082347741,1082347744,IN
-1082347745,1082347760,US
-1082347761,1082347763,MX
-1082347764,1082347882,US
+1082347745,1082347882,US
1082347883,1082347886,IN
1082347887,1082347892,US
1082347893,1082347896,IN
@@ -18063,21 +21696,17 @@
1082348124,1082348319,US
1082348320,1082348327,GB
1082348328,1082348335,US
-1082348336,1082348351,GB
-1082348352,1082348399,US
+1082348336,1082348343,GB
+1082348344,1082348399,US
1082348400,1082348407,BE
1082348408,1082348415,US
1082348416,1082348423,GB
-1082348424,1082348471,US
-1082348472,1082348479,GB
-1082348480,1082348735,US
-1082348736,1082348799,NL
+1082348424,1082348799,US
1082348800,1082348831,CA
1082348832,1082349575,US
1082349576,1082349583,SA
1082349584,1082349591,CA
-1082349592,1082349599,GB
-1082349600,1082349615,US
+1082349592,1082349615,US
1082349616,1082349623,IT
1082349624,1082349639,US
1082349640,1082349647,GB
@@ -18102,9 +21731,9 @@
1082683392,1082687487,CA
1082687488,1082788447,US
1082788448,1082788455,SG
-1082788456,1082885311,US
-1082885312,1082885343,CA
-1082885344,1082885855,US
+1082788456,1082788767,US
+1082788768,1082788799,SG
+1082788800,1082885855,US
1082885856,1082885887,CA
1082885888,1082945535,US
1082945536,1082948943,CA
@@ -18116,9 +21745,7 @@
1082982400,1083015167,CA
1083015168,1083261663,US
1083261664,1083261679,GB
-1083261680,1083263743,US
-1083263744,1083263999,GB
-1083264000,1083264447,US
+1083261680,1083264447,US
1083264448,1083264463,GB
1083264464,1083265023,US
1083265024,1083265279,CA
@@ -18140,13 +21767,11 @@
1083621376,1083637759,BS
1083637760,1083686911,US
1083686912,1083703295,CA
-1083703296,1083738111,US
-1083738112,1083740159,PR
-1083740160,1084067583,US
+1083703296,1083738367,US
+1083738368,1083738879,PR
+1083738880,1084067583,US
1084067584,1084067839,CA
-1084067840,1084346871,US
-1084346872,1084346879,PR
-1084346880,1085439999,US
+1084067840,1085439999,US
1085440000,1085448191,CA
1085448192,1085456383,US
1085456384,1085457919,PR
@@ -18162,82 +21787,42 @@
1085669795,1085669803,IS
1085669804,1085669838,US
1085669839,1085669847,FR
-1085669848,1085670216,US
-1085670217,1085670225,HK
-1085670226,1085670279,US
-1085670280,1085670288,CA
-1085670289,1085670297,NL
-1085670298,1085670342,US
+1085669848,1085670342,US
1085670343,1085670351,IS
-1085670352,1085670386,US
-1085670387,1085670395,CZ
-1085670396,1085670455,US
+1085670352,1085670455,US
1085670456,1085670463,NL
1085670464,1085670628,US
1085670629,1085670636,GR
1085670637,1085670644,GE
1085670645,1085671328,US
1085671329,1085671336,IR
-1085671337,1085671354,US
-1085671355,1085671363,MX
-1085671364,1085671380,US
-1085671381,1085671389,IT
-1085671390,1085671688,US
+1085671337,1085671688,US
1085671689,1085671696,LB
1085671697,1085671712,US
1085671713,1085671720,AS
-1085671721,1085672351,US
-1085672352,1085672359,WS
-1085672360,1085672391,US
-1085672392,1085672399,WS
-1085672400,1085672823,US
-1085672824,1085672831,CI
-1085672832,1085672840,US
-1085672841,1085672848,CZ
-1085672849,1085672873,US
+1085671721,1085672873,US
1085672874,1085672881,NL
-1085672882,1085672960,US
-1085672961,1085672969,WS
+1085672882,1085672969,US
1085672970,1085672978,CA
-1085672979,1085677905,US
-1085677906,1085677913,FR
-1085677914,1085677921,CZ
-1085677922,1085677939,US
-1085677940,1085677947,IT
-1085677948,1085678408,US
+1085672979,1085678408,US
1085678409,1085678417,CA
-1085678418,1085678865,US
-1085678866,1085678994,GR
-1085678995,1085679027,US
+1085678418,1085679027,US
1085679028,1085679045,FR
1085679046,1085681695,US
1085681696,1085681711,AS
-1085681712,1085681720,US
-1085681721,1085681728,WS
-1085681729,1085681738,US
-1085681739,1085681756,MX
+1085681712,1085681756,US
1085681757,1085681765,EG
1085681766,1085681906,US
1085681907,1085681915,CA
-1085681916,1085681920,US
-1085681921,1085682174,CA
-1085682175,1085682258,US
-1085682259,1085682267,FR
-1085682268,1085682284,US
-1085682285,1085682293,IT
-1085682294,1085682331,US
+1085681916,1085682331,US
1085682332,1085682339,CA
1085682340,1085682374,US
1085682375,1085682382,HK
1085682383,1085682863,US
1085682864,1085682872,AS
-1085682873,1085682880,IT
-1085682881,1085682906,US
-1085682907,1085682922,WS
-1085682923,1085683728,US
-1085683729,1085683736,CA
-1085683737,1085683744,WS
-1085683745,1085683905,US
+1085682873,1085682914,US
+1085682915,1085682922,WS
+1085682923,1085683905,US
1085683906,1085683914,TC
1085683915,1085684480,US
1085684481,1085684734,AS
@@ -18249,17 +21834,11 @@
1085685346,1085685353,CA
1085685354,1085685574,US
1085685575,1085685584,EG
-1085685585,1085685610,US
-1085685611,1085685618,IT
-1085685619,1085685627,AU
-1085685628,1085685636,US
+1085685585,1085685636,US
1085685637,1085685645,SN
-1085685646,1085685661,US
-1085685662,1085685669,FR
+1085685646,1085685669,US
1085685670,1085685685,CA
-1085685686,1085698199,US
-1085698200,1085698207,AS
-1085698208,1085849599,US
+1085685686,1085849599,US
1085849600,1085857791,CA
1085857792,1085915135,US
1085915136,1085923327,PR
@@ -18269,29 +21848,27 @@
1086022080,1086022111,CA
1086022112,1086022175,US
1086022176,1086022207,CA
-1086022208,1086022303,US
-1086022304,1086022367,CA
-1086022368,1086022591,US
-1086022592,1086022623,CA
-1086022624,1086023175,US
+1086022208,1086023175,US
1086023176,1086023183,GB
-1086023184,1086023215,US
-1086023216,1086023223,CA
-1086023224,1086023287,US
+1086023184,1086023287,US
1086023288,1086023295,NZ
1086023296,1086023335,US
1086023336,1086023343,RO
1086023344,1086025447,US
1086025448,1086025455,CA
-1086025456,1086027391,US
-1086027392,1086027407,IT
-1086027408,1086028663,US
+1086025456,1086028663,US
1086028664,1086028671,BR
1086028672,1086028751,US
1086028752,1086028759,BR
1086028760,1086029727,US
1086029728,1086029743,CA
-1086029744,1086309887,US
+1086029744,1086265540,US
+1086265541,1086265566,IE
+1086265567,1086280580,US
+1086280581,1086280630,IE
+1086280631,1086283236,US
+1086283237,1086283246,IE
+1086283247,1086309887,US
1086309888,1086310143,AU
1086310144,1086317823,US
1086317824,1086318079,CA
@@ -18308,16 +21885,16 @@
1086476608,1086910335,US
1086910336,1086910463,LB
1086910464,1086922751,US
-1086922752,1086923343,CA
-1086923344,1086923351,US
-1086923352,1086930943,CA
-1086930944,1086955519,US
+1086922752,1086930943,CA
+1086930944,1086941831,US
+1086941832,1086941835,CA
+1086941836,1086942079,US
+1086942080,1086942087,CA
+1086942088,1086942975,US
+1086942976,1086943231,CA
+1086943232,1086955519,US
1086955520,1086971903,CA
-1086971904,1087008767,US
-1087008768,1087009279,CY
-1087009280,1087011327,US
-1087011328,1087011583,GB
-1087011584,1087016959,US
+1086971904,1087016959,US
1087016960,1087021055,CA
1087021056,1087419903,US
1087419904,1087420159,CA
@@ -18333,109 +21910,21 @@
1087497856,1087497887,CA
1087497888,1087554751,US
1087554752,1087554759,IL
-1087554760,1087557631,US
-1087557632,1087557887,NO
-1087557888,1087686655,US
+1087554760,1087686655,US
1087686656,1087686911,PR
1087686912,1087715327,US
1087715328,1087717375,PA
1087717376,1087758335,US
-1087758336,1087766527,PR
+1087758336,1087760383,PR
+1087760384,1087760639,US
+1087760640,1087761919,PR
+1087761920,1087762431,US
+1087762432,1087763967,PR
+1087763968,1087764223,US
+1087764224,1087766527,PR
1087766528,1087862783,US
1087862784,1087864831,PA
-1087864832,1087898879,US
-1087898880,1087898887,PR
-1087898888,1087899391,US
-1087899392,1087899399,PR
-1087899400,1087910447,US
-1087910448,1087910455,PR
-1087910456,1087915079,US
-1087915080,1087915087,PR
-1087915088,1087915519,US
-1087915520,1087915535,PR
-1087915536,1087915583,US
-1087915584,1087915591,PR
-1087915592,1087915599,US
-1087915600,1087915607,PR
-1087915608,1087918423,US
-1087918424,1087918431,PR
-1087918432,1087918503,US
-1087918504,1087918519,PR
-1087918520,1087920295,US
-1087920296,1087920327,PR
-1087920328,1087920335,US
-1087920336,1087920343,PR
-1087920344,1087920431,US
-1087920432,1087920439,PR
-1087920440,1087933103,US
-1087933104,1087933111,PR
-1087933112,1087935103,US
-1087935104,1087935111,PR
-1087935112,1087935215,US
-1087935216,1087935223,PR
-1087935224,1087948391,US
-1087948392,1087948399,PR
-1087948400,1087948639,US
-1087948640,1087948647,PR
-1087948648,1087948839,US
-1087948840,1087948847,PR
-1087948848,1087949735,US
-1087949736,1087949743,PR
-1087949744,1087950063,US
-1087950064,1087950071,PR
-1087950072,1087950111,US
-1087950112,1087950119,PR
-1087950120,1087955767,US
-1087955768,1087955775,PR
-1087955776,1087964431,US
-1087964432,1087964455,PR
-1087964456,1087964463,US
-1087964464,1087964471,PR
-1087964472,1087964575,US
-1087964576,1087964583,PR
-1087964584,1087964599,US
-1087964600,1087964615,PR
-1087964616,1087980759,US
-1087980760,1087980783,PR
-1087980784,1087991175,US
-1087991176,1087991183,PR
-1087991184,1087991207,US
-1087991208,1087991215,PR
-1087991216,1088012447,US
-1088012448,1088012455,PR
-1088012456,1088012727,US
-1088012728,1088012735,PR
-1088012736,1088012759,US
-1088012760,1088012775,PR
-1088012776,1088014583,US
-1088014584,1088014591,PR
-1088014592,1088020031,US
-1088020032,1088020039,PR
-1088020040,1088020359,US
-1088020360,1088020367,PR
-1088020368,1088030663,US
-1088030664,1088030671,PR
-1088030672,1088031943,US
-1088031944,1088031951,PR
-1088031952,1088091583,US
-1088091584,1088091591,PR
-1088091592,1088093727,US
-1088093728,1088093735,PR
-1088093736,1088100967,US
-1088100968,1088100975,PR
-1088100976,1088101023,US
-1088101024,1088101031,PR
-1088101032,1088108351,US
-1088108352,1088108359,PR
-1088108360,1088120527,US
-1088120528,1088120535,PR
-1088120536,1088146151,US
-1088146152,1088146159,PR
-1088146160,1088147815,US
-1088147816,1088147823,PR
-1088147824,1088152215,US
-1088152216,1088152223,PR
-1088152224,1088424464,US
+1087864832,1088424464,US
1088424465,1088424478,AU
1088424479,1088450704,US
1088450705,1088450718,ES
@@ -18479,9 +21968,7 @@
1088523200,1088523215,TH
1088523216,1088523439,US
1088523440,1088523487,JP
-1088523488,1088523807,US
-1088523808,1088523823,PR
-1088523824,1088524271,US
+1088523488,1088524271,US
1088524272,1088524286,IN
1088524287,1088684031,US
1088684032,1088946175,CA
@@ -18489,9 +21976,7 @@
1088949920,1088949935,CA
1088949936,1089154847,US
1089154848,1089154855,VE
-1089154856,1089154876,US
-1089154877,1089154884,AU
-1089154885,1089154915,US
+1089154856,1089154915,US
1089154916,1089154932,AU
1089154933,1089154968,US
1089154969,1089154977,IN
@@ -18518,18 +22003,10 @@
1089174208,1089174215,US
1089174216,1089175551,A2
1089175552,1089191935,US
-1089191936,1089192591,CA
-1089192592,1089192599,IT
-1089192600,1089196623,CA
-1089196624,1089196639,US
-1089196640,1089200127,CA
-1089200128,1089200751,US
-1089200752,1089200783,CA
-1089200784,1089203439,US
+1089191936,1089200127,CA
+1089200128,1089203439,US
1089203440,1089203447,AU
-1089203448,1089204575,US
-1089204576,1089204607,CA
-1089204608,1089210623,US
+1089203448,1089210623,US
1089210624,1089210879,GB
1089210880,1089211391,BR
1089211392,1089219839,US
@@ -18561,11 +22038,17 @@
1089285440,1089285455,A1
1089285456,1089306623,US
1089306624,1089339391,PR
-1089339392,1089393295,US
+1089339392,1089393167,US
+1089393168,1089393175,CA
+1089393176,1089393223,US
+1089393224,1089393231,CA
+1089393232,1089393295,US
1089393296,1089393407,CA
1089393408,1089466975,US
1089466976,1089466991,CA
-1089466992,1089482927,US
+1089466992,1089468415,US
+1089468416,1089468671,A2
+1089468672,1089482927,US
1089482928,1089482935,CA
1089482936,1089486591,US
1089486592,1089486607,CA
@@ -18686,9 +22169,7 @@
1090497904,1090497919,AU
1090497920,1091683357,US
1091683358,1091683367,GB
-1091683368,1091683387,US
-1091683388,1091683397,LB
-1091683398,1091683407,US
+1091683368,1091683407,US
1091683408,1091683417,BE
1091683418,1091683437,US
1091683438,1091683447,QA
@@ -18698,9 +22179,7 @@
1091683614,1091683653,CA
1091683654,1091683869,US
1091683870,1091683889,AU
-1091683890,1091683909,US
-1091683910,1091683919,CR
-1091683920,1091684879,US
+1091683890,1091684879,US
1091684880,1091684895,CA
1091684896,1091685695,US
1091685696,1091685711,QA
@@ -18715,8 +22194,7 @@
1091687728,1091687743,CO
1091687744,1091687807,US
1091687808,1091687839,CR
-1091687840,1091687871,ES
-1091687872,1091689255,US
+1091687840,1091689255,US
1091689256,1091689265,GB
1091689266,1091689295,US
1091689296,1091689305,NZ
@@ -18731,8 +22209,7 @@
1091691328,1091691359,SA
1091691360,1091692347,US
1091692348,1091692357,SY
-1091692358,1091692387,US
-1091692388,1091692397,GB
+1091692358,1091692397,US
1091692398,1091692407,NL
1091692408,1091692447,US
1091692448,1091692457,GB
@@ -18750,22 +22227,15 @@
1091694448,1091694463,BG
1091694464,1091694877,US
1091694878,1091694887,DE
-1091694888,1091694997,US
-1091694998,1091695007,CR
+1091694888,1091695007,US
1091695008,1091695017,CA
-1091695018,1091695057,US
-1091695058,1091695067,CR
-1091695068,1091695123,US
+1091695018,1091695123,US
1091695124,1091695163,CA
1091695164,1091695213,US
1091695214,1091695223,CA
1091695224,1091695283,US
1091695284,1091695293,CA
-1091695294,1091797263,US
-1091797264,1091797279,IT
-1091797280,1091797855,US
-1091797856,1091797871,IT
-1091797872,1091798639,US
+1091695294,1091798639,US
1091798640,1091798647,CN
1091798648,1091798783,US
1091798784,1091799039,CN
@@ -18781,9 +22251,7 @@
1091803712,1091803775,TH
1091803776,1091803871,US
1091803872,1091803903,NL
-1091803904,1091806719,US
-1091806720,1091806847,IT
-1091806848,1091807231,US
+1091803904,1091807231,US
1091807232,1091807487,CA
1091807488,1091807999,US
1091808000,1091808511,CA
@@ -18791,15 +22259,11 @@
1091809376,1091809391,GB
1091809392,1091809407,US
1091809408,1091809471,JP
-1091809472,1091811839,US
-1091811840,1091812095,IT
-1091812096,1091812351,US
+1091809472,1091812351,US
1091812352,1091812607,CN
1091812608,1091960831,US
1091960832,1092026367,CA
-1092026368,1092059424,US
-1092059425,1092059456,DO
-1092059457,1092066589,US
+1092026368,1092066589,US
1092066590,1092066597,KN
1092066598,1092067042,US
1092067043,1092067050,KN
@@ -18813,16 +22277,9 @@
1093025792,1093033983,CA
1093033984,1093052015,US
1093052016,1093052023,CA
-1093052024,1093052111,US
-1093052112,1093052127,AR
-1093052128,1093052447,US
-1093052448,1093052463,SA
-1093052464,1093052479,GB
-1093052480,1093052895,US
+1093052024,1093052895,US
1093052896,1093052911,AR
-1093052912,1093054079,US
-1093054080,1093054095,GB
-1093054096,1093054127,US
+1093052912,1093054127,US
1093054128,1093054143,FR
1093054144,1093054287,US
1093054288,1093054303,GB
@@ -18830,9 +22287,7 @@
1093055488,1093055871,AR
1093055872,1093056095,US
1093056096,1093056127,SY
-1093056128,1093056143,US
-1093056144,1093056159,SY
-1093056160,1093056167,US
+1093056128,1093056167,US
1093056168,1093056175,RO
1093056176,1093056447,US
1093056448,1093056463,FR
@@ -18841,9 +22296,7 @@
1093056512,1093056519,GB
1093056520,1093056591,US
1093056592,1093056599,CA
-1093056600,1093056959,US
-1093056960,1093056975,SA
-1093056976,1093057103,US
+1093056600,1093057103,US
1093057104,1093057119,JP
1093057120,1093057263,US
1093057264,1093057279,IT
@@ -18851,10 +22304,7 @@
1093057312,1093057343,CY
1093057344,1093057391,US
1093057392,1093057407,RO
-1093057408,1093057423,PH
-1093057424,1093057487,US
-1093057488,1093057503,CY
-1093057504,1093058095,US
+1093057408,1093058095,US
1093058096,1093058111,SY
1093058112,1093058271,US
1093058272,1093058287,SY
@@ -18881,9 +22331,7 @@
1093110784,1093110815,US
1093110816,1093110847,CA
1093110848,1093110911,US
-1093110912,1093110927,CA
-1093110928,1093110935,US
-1093110936,1093111039,CA
+1093110912,1093111039,CA
1093111040,1093111295,US
1093111296,1093111711,CA
1093111712,1093111727,US
@@ -18895,39 +22343,27 @@
1093111936,1093111951,US
1093111952,1093111959,CA
1093111960,1093111967,BV
-1093111968,1093112383,CA
-1093112384,1093112415,US
-1093112416,1093112431,CA
+1093111968,1093112431,CA
1093112432,1093112479,US
-1093112480,1093112527,CA
-1093112528,1093112855,US
-1093112856,1093112863,CA
-1093112864,1093112895,US
-1093112896,1093112911,CA
-1093112912,1093113087,US
-1093113088,1093113119,CA
-1093113120,1093113127,US
-1093113128,1093113135,CA
-1093113136,1093113151,US
-1093113152,1093113183,CA
-1093113184,1093113375,US
-1093113376,1093113379,CA
-1093113380,1093113407,US
-1093113408,1093113423,CA
-1093113424,1093113479,US
-1093113480,1093113487,CA
+1093112480,1093112543,CA
+1093112544,1093112831,US
+1093112832,1093112911,CA
+1093112912,1093112919,US
+1093112920,1093112959,CA
+1093112960,1093113087,US
+1093113088,1093113191,CA
+1093113192,1093113207,US
+1093113208,1093113379,CA
+1093113380,1093113383,US
+1093113384,1093113487,CA
1093113488,1093113503,US
-1093113504,1093113535,CA
-1093113536,1093113639,US
-1093113640,1093113647,CA
-1093113648,1093113727,US
-1093113728,1093113743,CA
+1093113504,1093113743,CA
1093113744,1093113759,US
1093113760,1093113783,CA
1093113784,1093113791,US
-1093113792,1093113823,CA
-1093113824,1093114623,US
-1093114624,1093114679,CA
+1093113792,1093113847,CA
+1093113848,1093114655,US
+1093114656,1093114679,CA
1093114680,1093114703,US
1093114704,1093114711,CA
1093114712,1093114719,VG
@@ -18935,9 +22371,7 @@
1093114824,1093114843,US
1093114844,1093114847,CA
1093114848,1093114863,US
-1093114864,1093115839,CA
-1093115840,1093115903,US
-1093115904,1093116927,CA
+1093114864,1093116927,CA
1093116928,1093117183,HK
1093117184,1093117439,US
1093117440,1093117455,CA
@@ -18952,34 +22386,27 @@
1093117632,1093117647,VG
1093117648,1093118207,CA
1093118208,1093118463,HK
-1093118464,1093118479,US
-1093118480,1093118495,CA
+1093118464,1093118495,CA
1093118496,1093118527,US
1093118528,1093118531,CA
1093118532,1093118591,US
-1093118592,1093118687,CA
-1093118688,1093118983,US
-1093118984,1093118991,CA
-1093118992,1093118993,US
-1093118994,1093119006,CA
-1093119007,1093119015,US
+1093118592,1093118719,CA
+1093118720,1093118983,US
+1093118984,1093119007,CA
+1093119008,1093119015,US
1093119016,1093119023,CA
1093119024,1093119039,US
1093119040,1093119135,CA
1093119136,1093119167,US
1093119168,1093119311,CA
-1093119312,1093119359,US
-1093119360,1093119663,CA
-1093119664,1093119679,US
-1093119680,1093119695,CA
+1093119312,1093119327,US
+1093119328,1093119663,CA
+1093119664,1093119671,US
+1093119672,1093119695,CA
1093119696,1093119743,US
-1093119744,1093119807,CA
-1093119808,1093119823,US
-1093119824,1093119831,CA
-1093119832,1093119839,US
-1093119840,1093119935,CA
-1093119936,1093119999,US
-1093120000,1093120383,CA
+1093119744,1093119823,CA
+1093119824,1093119839,US
+1093119840,1093120383,CA
1093120384,1093120399,US
1093120400,1093120415,BV
1093120416,1093120511,CA
@@ -19011,15 +22438,17 @@
1093123840,1093123903,US
1093123904,1093123935,AN
1093123936,1093123943,US
-1093123944,1093123967,CA
-1093123968,1093123983,US
+1093123944,1093123951,CA
+1093123952,1093123983,US
1093123984,1093123999,VG
1093124000,1093124095,US
1093124096,1093124287,CA
1093124288,1093124351,US
1093124352,1093124559,CA
1093124560,1093124575,US
-1093124576,1093125695,CA
+1093124576,1093124991,CA
+1093124992,1093125055,US
+1093125056,1093125695,CA
1093125696,1093125719,US
1093125720,1093125735,CA
1093125736,1093125743,US
@@ -19035,18 +22464,20 @@
1093126143,1093126143,US
1093126144,1093126399,CA
1093126400,1093126431,VG
-1093126432,1093126527,CA
-1093126528,1093126543,US
-1093126544,1093126591,CA
-1093126592,1093126607,US
-1093126608,1093126639,CA
-1093126640,1093126767,US
+1093126432,1093126535,CA
+1093126536,1093126543,US
+1093126544,1093126639,CA
+1093126640,1093126655,US
+1093126656,1093126687,CA
+1093126688,1093126719,US
+1093126720,1093126751,CA
+1093126752,1093126767,US
1093126768,1093126783,CA
1093126784,1093126801,US
1093126802,1093126809,CA
1093126810,1093126823,US
-1093126824,1093126831,CA
-1093126832,1093126911,US
+1093126824,1093126839,CA
+1093126840,1093126911,US
1093126912,1093127167,CA
1093127168,1093127191,US
1093127192,1093127199,CA
@@ -19064,37 +22495,30 @@
1093128448,1093129215,CA
1093129216,1093130367,US
1093130368,1093130415,CA
-1093130416,1093130495,US
-1093130496,1093130623,CA
-1093130624,1093130687,US
-1093130688,1093131215,CA
+1093130416,1093130431,US
+1093130432,1093130751,CA
+1093130752,1093131007,US
+1093131008,1093131215,CA
1093131216,1093131231,US
1093131232,1093131247,VG
1093131248,1093131263,CA
1093131264,1093131391,US
1093131392,1093131487,CA
-1093131488,1093132351,US
-1093132352,1093132799,CA
-1093132800,1093133055,US
-1093133056,1093133311,CA
-1093133312,1093133407,US
-1093133408,1093133439,CA
-1093133440,1093133567,US
-1093133568,1093134239,CA
-1093134240,1093134255,US
-1093134256,1093134263,CA
+1093131488,1093132287,US
+1093132288,1093133311,CA
+1093133312,1093133375,US
+1093133376,1093134263,CA
1093134264,1093134271,US
1093134272,1093134335,CA
1093134336,1093135359,US
-1093135360,1093135615,CA
-1093135616,1093135631,US
-1093135632,1093135639,CA
+1093135360,1093135639,CA
1093135640,1093135647,US
-1093135648,1093135871,CA
-1093135872,1093136127,US
-1093136128,1093136383,CA
-1093136384,1093136895,US
-1093136896,1093138431,CA
+1093135648,1093136639,CA
+1093136640,1093136895,US
+1093136896,1093137351,CA
+1093137352,1093137359,US
+1093137360,1093137375,MX
+1093137376,1093138431,CA
1093138432,1093138559,US
1093138560,1093138623,CA
1093138624,1093139455,US
@@ -19103,9 +22527,7 @@
1093139648,1093139679,CA
1093139680,1093139695,US
1093139696,1093140223,CA
-1093140224,1093338895,US
-1093338896,1093338903,PR
-1093338904,1093671591,US
+1093140224,1093671591,US
1093671592,1093671599,UY
1093671600,1093697535,US
1093697536,1093699071,BB
@@ -19133,28 +22555,16 @@
1093737424,1093737431,GB
1093737432,1093740095,US
1093740096,1093740159,JP
-1093740160,1093740183,US
-1093740184,1093740191,CN
-1093740192,1093740231,US
-1093740232,1093740239,CN
-1093740240,1093740247,US
-1093740248,1093740255,HK
-1093740256,1093740271,US
-1093740272,1093740279,CN
-1093740280,1093740335,US
+1093740160,1093740335,US
1093740336,1093740351,SG
1093740352,1093740415,JP
1093740416,1093741599,US
1093741600,1093741607,ES
-1093741608,1093743103,US
-1093743104,1093743359,HK
-1093743360,1093743423,US
+1093741608,1093743423,US
1093743424,1093743487,JP
1093743488,1093743743,US
1093743744,1093743807,CA
-1093743808,1093744639,US
-1093744640,1093744895,CA
-1093744896,1093746879,US
+1093743808,1093746879,US
1093746880,1093746943,DE
1093746944,1093748799,US
1093748800,1093748863,CN
@@ -19162,16 +22572,14 @@
1094549688,1094549695,CA
1094549696,1094549783,US
1094549784,1094549791,AU
-1094549792,1094549799,US
-1094549800,1094549807,CA
+1094549792,1094549807,US
1094549808,1094549815,UZ
1094549816,1094549863,US
1094549864,1094549871,BD
1094549872,1094549935,US
1094549936,1094549943,CA
1094549944,1094549951,CY
-1094549952,1094550215,US
-1094550216,1094550223,MX
+1094549952,1094550223,US
1094550224,1094550239,AU
1094550240,1094550247,BD
1094550248,1094550487,US
@@ -19189,7 +22597,7 @@
1094550856,1094550879,US
1094550880,1094550887,NZ
1094550888,1094550895,JP
-1094550896,1094550911,UA
+1094550896,1094550911,US
1094550912,1094550919,JM
1094550920,1094550967,US
1094550968,1094550975,JM
@@ -19200,13 +22608,11 @@
1094551216,1094551231,AU
1094551232,1094551455,US
1094551456,1094551471,SE
-1094551472,1094551487,US
-1094551488,1094551495,GB
-1094551496,1094551535,US
-1094551536,1094551551,AU
-1094551552,1094551839,US
+1094551472,1094551839,US
1094551840,1094551855,GB
-1094551856,1094552191,US
+1094551856,1094552023,US
+1094552024,1094552031,IN
+1094552032,1094552191,US
1094552192,1094552199,GB
1094552200,1094552239,US
1094552240,1094552247,IN
@@ -19266,9 +22672,7 @@
1094560280,1094560287,GB
1094560288,1094560319,US
1094560320,1094560335,IN
-1094560336,1094560447,US
-1094560448,1094560455,AU
-1094560456,1094560831,US
+1094560336,1094560831,US
1094560832,1094560863,BD
1094560864,1094560895,US
1094560896,1094561023,CA
@@ -19287,9 +22691,7 @@
1094561856,1094561919,AU
1094561920,1094562431,US
1094562432,1094562455,TH
-1094562456,1094562687,US
-1094562688,1094562719,CR
-1094562720,1094562799,US
+1094562456,1094562799,US
1094562800,1094562807,CA
1094562808,1094562879,US
1094562880,1094562895,MX
@@ -19301,349 +22703,13 @@
1094563888,1094563895,MX
1094563896,1094564671,US
1094564672,1094564703,BD
-1094564704,1094565119,US
-1094565120,1094565375,CA
-1094565376,1094565695,US
+1094564704,1094565695,US
1094565696,1094565727,BD
-1094565728,1094565743,US
-1094565744,1094565759,CY
-1094565760,1094565807,US
-1094565808,1094565815,RU
-1094565816,1094565887,US
+1094565728,1094565887,US
1094565888,1094568046,CA
1094568047,1094568061,MO
1094568062,1094582271,CA
-1094582272,1094723103,US
-1094723104,1094723111,PR
-1094723112,1094727431,US
-1094727432,1094727439,PR
-1094727440,1094727639,US
-1094727640,1094727647,PR
-1094727648,1094749503,US
-1094749504,1094749511,PR
-1094749512,1094759607,US
-1094759608,1094759615,PR
-1094759616,1094764519,US
-1094764520,1094764527,PR
-1094764528,1094797743,US
-1094797744,1094797751,PR
-1094797752,1094797815,US
-1094797816,1094797823,PR
-1094797824,1094801975,US
-1094801976,1094801983,PR
-1094801984,1094802127,US
-1094802128,1094802135,PR
-1094802136,1094807487,US
-1094807488,1094807495,PR
-1094807496,1094810135,US
-1094810136,1094810143,PR
-1094810144,1094811023,US
-1094811024,1094811031,PR
-1094811032,1094811071,US
-1094811072,1094811079,PR
-1094811080,1094822247,US
-1094822248,1094822255,PR
-1094822256,1094822327,US
-1094822328,1094822335,PR
-1094822336,1094822559,US
-1094822560,1094822567,PR
-1094822568,1094831479,US
-1094831480,1094831487,PR
-1094831488,1094833975,US
-1094833976,1094833983,PR
-1094833984,1094839783,US
-1094839784,1094839791,PR
-1094839792,1094839863,US
-1094839864,1094839871,PR
-1094839872,1094841111,US
-1094841112,1094841119,PR
-1094841120,1094841191,US
-1094841192,1094841199,PR
-1094841200,1094843271,US
-1094843272,1094843279,PR
-1094843280,1094846063,US
-1094846064,1094846071,PR
-1094846072,1094850735,US
-1094850736,1094850743,PR
-1094850744,1094857095,US
-1094857096,1094857103,PR
-1094857104,1094861183,US
-1094861184,1094861191,PR
-1094861192,1094861791,US
-1094861792,1094861799,PR
-1094861800,1094869095,US
-1094869096,1094869103,PR
-1094869104,1094874215,US
-1094874216,1094874223,PR
-1094874224,1094878639,US
-1094878640,1094878647,PR
-1094878648,1094879959,US
-1094879960,1094879967,PR
-1094879968,1094880455,US
-1094880456,1094880463,PR
-1094880464,1094881287,US
-1094881288,1094881295,PR
-1094881296,1094881303,US
-1094881304,1094881311,PR
-1094881312,1094886191,US
-1094886192,1094886199,PR
-1094886200,1094886303,US
-1094886304,1094886311,PR
-1094886312,1094889087,US
-1094889088,1094889095,PR
-1094889096,1094892255,US
-1094892256,1094892263,PR
-1094892264,1094893127,US
-1094893128,1094893135,PR
-1094893136,1094893287,US
-1094893288,1094893295,PR
-1094893296,1094898847,US
-1094898848,1094898855,PR
-1094898856,1094901983,US
-1094901984,1094901999,PR
-1094902000,1094902007,US
-1094902008,1094902015,PR
-1094902016,1094904679,US
-1094904680,1094904687,PR
-1094904688,1094909871,US
-1094909872,1094909879,PR
-1094909880,1094909983,US
-1094909984,1094909991,PR
-1094909992,1094911023,US
-1094911024,1094911031,PR
-1094911032,1094912143,US
-1094912144,1094912151,PR
-1094912152,1094912239,US
-1094912240,1094912247,PR
-1094912248,1094912775,US
-1094912776,1094912783,PR
-1094912784,1094913039,US
-1094913040,1094913047,PR
-1094913048,1094913159,US
-1094913160,1094913167,PR
-1094913168,1094917439,US
-1094917440,1094917447,PR
-1094917448,1094917671,US
-1094917672,1094917687,PR
-1094917688,1094918327,US
-1094918328,1094918335,PR
-1094918336,1094919783,US
-1094919784,1094919791,PR
-1094919792,1094919831,US
-1094919832,1094919839,PR
-1094919840,1094921751,US
-1094921752,1094921759,PR
-1094921760,1094921799,US
-1094921800,1094921807,PR
-1094921808,1094924183,US
-1094924184,1094924191,PR
-1094924192,1094926399,US
-1094926400,1094926407,PR
-1094926408,1094926527,US
-1094926528,1094926535,PR
-1094926536,1094926743,US
-1094926744,1094926751,PR
-1094926752,1094928727,US
-1094928728,1094928735,PR
-1094928736,1094933199,US
-1094933200,1094933207,PR
-1094933208,1094933447,US
-1094933448,1094933455,PR
-1094933456,1094934639,US
-1094934640,1094934647,PR
-1094934648,1094934703,US
-1094934704,1094934711,PR
-1094934712,1094934975,US
-1094934976,1094934991,PR
-1094934992,1094935063,US
-1094935064,1094935071,PR
-1094935072,1094935127,US
-1094935128,1094935135,PR
-1094935136,1094935359,US
-1094935360,1094935367,PR
-1094935368,1094935495,US
-1094935496,1094935503,PR
-1094935504,1094936735,US
-1094936736,1094936743,PR
-1094936744,1094936847,US
-1094936848,1094936855,PR
-1094936856,1094949487,US
-1094949488,1094949495,PR
-1094949496,1094950927,US
-1094950928,1094950935,PR
-1094950936,1094950959,US
-1094950960,1094950967,PR
-1094950968,1094950975,US
-1094950976,1094950983,PR
-1094950984,1094951151,US
-1094951152,1094951159,PR
-1094951160,1094960239,US
-1094960240,1094960247,PR
-1094960248,1094978159,US
-1094978160,1094978167,PR
-1094978168,1094984271,US
-1094984272,1094984279,PR
-1094984280,1094984359,US
-1094984360,1094984367,PR
-1094984368,1094984487,US
-1094984488,1094984503,PR
-1094984504,1094985167,US
-1094985168,1094985175,PR
-1094985176,1094985423,US
-1094985424,1094985431,PR
-1094985432,1094985655,US
-1094985656,1094985663,PR
-1094985664,1094985927,US
-1094985928,1094985935,PR
-1094985936,1095007263,US
-1095007264,1095007295,PR
-1095007296,1095017535,US
-1095017536,1095017543,PR
-1095017544,1095017807,US
-1095017808,1095017815,PR
-1095017816,1095018311,US
-1095018312,1095018319,PR
-1095018320,1095018463,US
-1095018464,1095018471,PR
-1095018472,1095035271,US
-1095035272,1095035279,PR
-1095035280,1095038071,US
-1095038072,1095038079,PR
-1095038080,1095038199,US
-1095038200,1095038207,PR
-1095038208,1095038495,US
-1095038496,1095038503,PR
-1095038504,1095044999,US
-1095045000,1095045007,PR
-1095045008,1095045727,US
-1095045728,1095045735,PR
-1095045736,1095045935,US
-1095045936,1095045943,PR
-1095045944,1095045951,US
-1095045952,1095045959,PR
-1095045960,1095046887,US
-1095046888,1095046895,PR
-1095046896,1095048463,US
-1095048464,1095048471,PR
-1095048472,1095056655,US
-1095056656,1095056663,PR
-1095056664,1095057375,US
-1095057376,1095057383,PR
-1095057384,1095067695,US
-1095067696,1095067703,PR
-1095067704,1095068351,US
-1095068352,1095068359,PR
-1095068360,1095068439,US
-1095068440,1095068447,PR
-1095068448,1095068455,US
-1095068456,1095068463,PR
-1095068464,1095069311,US
-1095069312,1095069319,PR
-1095069320,1095069591,US
-1095069592,1095069599,PR
-1095069600,1095072767,US
-1095072768,1095072775,PR
-1095072776,1095073047,US
-1095073048,1095073055,PR
-1095073056,1095075551,US
-1095075552,1095075559,PR
-1095075560,1095078703,US
-1095078704,1095078711,PR
-1095078712,1095080975,US
-1095080976,1095080983,PR
-1095080984,1095081295,US
-1095081296,1095081303,PR
-1095081304,1095081439,US
-1095081440,1095081447,PR
-1095081448,1095084535,US
-1095084536,1095084543,PR
-1095084544,1095085047,US
-1095085048,1095085055,PR
-1095085056,1095087215,US
-1095087216,1095087223,PR
-1095087224,1095087287,US
-1095087288,1095087295,PR
-1095087296,1095087703,US
-1095087704,1095087711,PR
-1095087712,1095087743,US
-1095087744,1095087751,PR
-1095087752,1095088367,US
-1095088368,1095088375,PR
-1095088376,1095088399,US
-1095088400,1095088407,PR
-1095088408,1095089615,US
-1095089616,1095089623,PR
-1095089624,1095089839,US
-1095089840,1095089847,PR
-1095089848,1095090407,US
-1095090408,1095090415,PR
-1095090416,1095092879,US
-1095092880,1095092887,PR
-1095092888,1095093151,US
-1095093152,1095093159,PR
-1095093160,1095102879,US
-1095102880,1095102887,PR
-1095102888,1095103207,US
-1095103208,1095103215,PR
-1095103216,1095103327,US
-1095103328,1095103335,PR
-1095103336,1095105823,US
-1095105824,1095105831,PR
-1095105832,1095106183,US
-1095106184,1095106191,PR
-1095106192,1095106199,US
-1095106200,1095106207,PR
-1095106208,1095106575,US
-1095106576,1095106583,PR
-1095106584,1095107079,US
-1095107080,1095107087,PR
-1095107088,1095117535,US
-1095117536,1095117543,PR
-1095117544,1095122431,US
-1095122432,1095122439,PR
-1095122440,1095122527,US
-1095122528,1095122535,PR
-1095122536,1095125071,US
-1095125072,1095125079,PR
-1095125080,1095125383,US
-1095125384,1095125391,PR
-1095125392,1095127447,US
-1095127448,1095127455,PR
-1095127456,1095127967,US
-1095127968,1095127983,PR
-1095127984,1095129807,US
-1095129808,1095129815,PR
-1095129816,1095138607,US
-1095138608,1095138615,PR
-1095138616,1095139927,US
-1095139928,1095139935,PR
-1095139936,1095142143,US
-1095142144,1095142151,PR
-1095142152,1095156607,US
-1095156608,1095156615,PR
-1095156616,1095160239,US
-1095160240,1095160247,PR
-1095160248,1095160927,US
-1095160928,1095160935,PR
-1095160936,1095187919,US
-1095187920,1095187927,PR
-1095187928,1095188359,US
-1095188360,1095188367,PR
-1095188368,1095190823,US
-1095190824,1095190831,PR
-1095190832,1095197495,US
-1095197496,1095197503,PR
-1095197504,1095207935,US
-1095207936,1095207951,PR
-1095207952,1095221455,US
-1095221456,1095221463,PR
-1095221464,1095222223,US
-1095222224,1095222231,PR
-1095222232,1095236551,US
-1095236552,1095236559,PR
-1095236560,1095408887,US
-1095408888,1095408895,SE
-1095408896,1095450623,US
+1094582272,1095450623,US
1095450624,1095467007,BS
1095467008,1095627775,US
1095627776,1095628287,CA
@@ -19663,9 +22729,7 @@
1096890880,1096891135,GB
1096891136,1096925183,US
1096925184,1096941567,CA
-1096941568,1096942679,US
-1096942680,1096942687,IE
-1096942688,1096947471,US
+1096941568,1096947471,US
1096947472,1096947479,MY
1096947480,1096950551,US
1096950552,1096950559,CA
@@ -19681,21 +22745,15 @@
1096957248,1096957255,CA
1096957256,1096957775,US
1096957776,1096957791,IE
-1096957792,1096958791,US
-1096958792,1096958799,IN
-1096958800,1096959599,US
+1096957792,1096959599,US
1096959600,1096959607,GB
1096959608,1096960767,US
1096960768,1096960895,GB
-1096960896,1096964263,US
-1096964264,1096964271,IN
-1096964272,1096966303,US
+1096960896,1096966303,US
1096966304,1096966311,IN
1096966312,1096968127,US
1096968128,1096968159,CA
-1096968160,1096968191,US
-1096968192,1096968319,GB
-1096968320,1096969071,US
+1096968160,1096969071,US
1096969072,1096969079,CA
1096969080,1096969471,US
1096969472,1096969479,IN
@@ -19727,9 +22785,15 @@
1097067520,1097068031,GB
1097068032,1097069055,US
1097069056,1097069311,CA
-1097069312,1097131439,US
+1097069312,1097131263,US
+1097131264,1097131359,CN
+1097131360,1097131375,US
+1097131376,1097131423,CN
+1097131424,1097131439,US
1097131440,1097131447,HK
-1097131448,1097727999,US
+1097131448,1097131455,US
+1097131456,1097131471,CN
+1097131472,1097727999,US
1097728000,1097729151,CA
1097729152,1097729167,US
1097729168,1097730847,CA
@@ -19737,48 +22801,280 @@
1097730856,1097731447,CA
1097731448,1097731455,GB
1097731456,1097736191,CA
-1097736192,1097768959,US
+1097736192,1097736457,US
+1097736458,1097736467,CZ
+1097736468,1097736477,FR
+1097736478,1097736487,BR
+1097736488,1097736547,US
+1097736548,1097736557,NL
+1097736558,1097736567,MX
+1097736568,1097736577,SG
+1097736578,1097736587,ES
+1097736588,1097736607,US
+1097736608,1097736617,BR
+1097736618,1097736637,US
+1097736638,1097736647,UM
+1097736648,1097736733,US
+1097736734,1097736743,BG
+1097736744,1097736753,US
+1097736754,1097736763,BG
+1097736764,1097736773,US
+1097736774,1097736783,NL
+1097736784,1097736803,US
+1097736804,1097736813,BE
+1097736814,1097736823,TR
+1097736824,1097736893,US
+1097736894,1097736903,VE
+1097736904,1097736913,FI
+1097736914,1097736999,US
+1097737000,1097737009,RU
+1097737010,1097737029,US
+1097737030,1097737039,RU
+1097737040,1097737059,US
+1097737060,1097737069,TR
+1097737070,1097737109,US
+1097737110,1097737119,LB
+1097737120,1097737159,US
+1097737160,1097737169,BR
+1097737170,1097737325,US
+1097737326,1097737335,ES
+1097737336,1097737405,US
+1097737406,1097737415,BR
+1097737416,1097737591,US
+1097737592,1097737601,BR
+1097737602,1097737611,UA
+1097737612,1097737631,US
+1097737632,1097737641,IT
+1097737642,1097737747,US
+1097737748,1097737757,GB
+1097737758,1097737847,US
+1097737848,1097737857,MX
+1097737858,1097737897,US
+1097737898,1097737907,SG
+1097737908,1097737927,US
+1097737928,1097737937,RU
+1097737938,1097738053,US
+1097738054,1097738063,LV
+1097738064,1097738093,US
+1097738094,1097738103,RS
+1097738104,1097738133,US
+1097738134,1097738143,RU
+1097738144,1097738163,US
+1097738164,1097738173,UA
+1097738174,1097738183,VN
+1097738184,1097738249,US
+1097738250,1097738259,TR
+1097738260,1097738339,US
+1097738340,1097738349,BR
+1097738350,1097738359,US
+1097738360,1097738369,TW
+1097738370,1097738555,US
+1097738556,1097738565,IL
+1097738566,1097738585,US
+1097738586,1097738595,BR
+1097738596,1097738605,US
+1097738606,1097738615,BR
+1097738616,1097738625,ES
+1097738626,1097738665,US
+1097738666,1097738675,RU
+1097738676,1097738685,SG
+1097738686,1097738695,US
+1097738696,1097738705,RU
+1097738706,1097738771,US
+1097738772,1097738781,MY
+1097738782,1097738861,US
+1097738862,1097738871,SA
+1097738872,1097738881,SG
+1097738882,1097738931,US
+1097738932,1097738941,ID
+1097738942,1097739037,US
+1097739038,1097739047,BY
+1097739048,1097739057,SG
+1097739058,1097739087,US
+1097739088,1097739097,TR
+1097739098,1097739107,KW
+1097739108,1097739343,US
+1097739344,1097739353,GB
+1097739354,1097739363,US
+1097739364,1097739373,ES
+1097739374,1097739383,US
+1097739384,1097739393,BR
+1097739394,1097739403,US
+1097739404,1097739413,BR
+1097739414,1097739423,US
+1097739424,1097739433,SA
+1097739434,1097739463,US
+1097739464,1097739473,LV
+1097739474,1097739569,US
+1097739570,1097739579,GB
+1097739580,1097739589,US
+1097739590,1097739599,IL
+1097739600,1097739669,US
+1097739670,1097739679,BY
+1097739680,1097739689,TR
+1097739690,1097739699,DK
+1097739700,1097739729,US
+1097739730,1097739739,GB
+1097739740,1097740387,US
+1097740388,1097740397,SA
+1097740398,1097740839,US
+1097740840,1097740849,BY
+1097740850,1097740859,RU
+1097740860,1097740899,US
+1097740900,1097740909,RU
+1097740910,1097741065,US
+1097741066,1097741075,IN
+1097741076,1097741215,US
+1097741216,1097741225,UA
+1097741226,1097741235,IT
+1097741236,1097741245,US
+1097741246,1097741255,FR
+1097741256,1097741351,US
+1097741352,1097741361,RU
+1097741362,1097741577,US
+1097741578,1097741587,KW
+1097741588,1097741607,US
+1097741608,1097741617,LB
+1097741618,1097741667,US
+1097741668,1097741677,GR
+1097741678,1097741843,US
+1097741844,1097741853,BY
+1097741854,1097741863,US
+1097741864,1097741873,HR
+1097741874,1097741883,GB
+1097741884,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
+1097742376,1097742385,AU
+1097742386,1097742505,US
+1097742506,1097742515,KW
+1097742516,1097742641,US
+1097742642,1097742651,BR
+1097742652,1097742681,US
+1097742682,1097742691,CN
+1097742692,1097742711,US
+1097742712,1097742721,UA
+1097742722,1097742741,US
+1097742742,1097742751,DE
+1097742752,1097742887,US
+1097742888,1097742897,BR
+1097742898,1097743143,US
+1097743144,1097743153,ID
+1097743154,1097743173,US
+1097743174,1097743183,RU
+1097743184,1097743379,US
+1097743380,1097743389,TR
+1097743390,1097743399,US
+1097743400,1097743409,RU
+1097743410,1097743675,US
+1097743676,1097743685,KH
+1097743686,1097743695,US
+1097743696,1097743705,KW
+1097743706,1097743901,US
+1097743902,1097743911,DE
+1097743912,1097744137,US
+1097744138,1097744147,TR
+1097744148,1097744227,US
+1097744228,1097744237,RU
+1097744238,1097744257,US
+1097744258,1097744267,UA
+1097744268,1097744307,US
+1097744308,1097744317,RU
+1097744318,1097744327,ES
+1097744328,1097768959,US
1097768960,1097777151,CA
-1097777152,1097830399,US
+1097777152,1097797631,US
+1097797632,1097797887,DE
+1097797888,1097798143,CA
+1097798144,1097798911,US
+1097798912,1097799167,IE
+1097799168,1097830399,US
1097830400,1097834495,CA
1097834496,1097896191,US
-1097896192,1097896711,VI
+1097896192,1097896519,VI
+1097896520,1097896527,US
+1097896528,1097896711,VI
1097896712,1097896719,US
1097896720,1097897215,VI
1097897216,1097947135,US
-1097947136,1097947615,VI
-1097947616,1097947623,US
-1097947624,1097948279,VI
+1097947136,1097947151,VI
+1097947152,1097947167,US
+1097947168,1097947207,VI
+1097947208,1097947215,US
+1097947216,1097947327,VI
+1097947328,1097947391,US
+1097947392,1097947463,VI
+1097947464,1097947471,US
+1097947472,1097947519,VI
+1097947520,1097947527,US
+1097947528,1097947559,VI
+1097947560,1097947567,US
+1097947568,1097947607,VI
+1097947608,1097947623,US
+1097947624,1097947639,VI
+1097947640,1097947647,US
+1097947648,1097947679,VI
+1097947680,1097947695,US
+1097947696,1097947735,VI
+1097947736,1097947743,US
+1097947744,1097947751,VI
+1097947752,1097947775,US
+1097947776,1097947871,VI
+1097947872,1097947887,US
+1097947888,1097947991,VI
+1097947992,1097947999,US
+1097948000,1097948015,VI
+1097948016,1097948031,US
+1097948032,1097948279,VI
1097948280,1097948287,US
-1097948288,1097949183,VI
+1097948288,1097948327,VI
+1097948328,1097948335,US
+1097948336,1097949007,VI
+1097949008,1097949055,US
+1097949056,1097949183,VI
1097949184,1097951231,US
-1097951232,1097953279,VI
+1097951232,1097951247,VI
+1097951248,1097951263,US
+1097951264,1097951359,VI
+1097951360,1097951375,US
+1097951376,1097953279,VI
1097953280,1098057375,US
1098057376,1098057407,CA
-1098057408,1098188047,US
+1098057408,1098187599,US
+1098187600,1098187607,GB
+1098187608,1098188047,US
1098188048,1098188055,CA
1098188056,1098353967,US
1098353968,1098353983,CA
1098353984,1098382143,US
1098382144,1098382175,CA
-1098382176,1098397695,US
-1098397696,1098399743,A2
+1098382176,1098386775,US
+1098386776,1098386783,PR
+1098386784,1098397695,US
+1098397696,1098398719,A2
+1098398720,1098398975,US
+1098398976,1098399743,A2
1098399744,1098891575,US
1098891576,1098891607,AU
1098891608,1098891623,US
1098891624,1098891631,AU
1098891632,1098891647,US
1098891648,1098891679,AU
-1098891680,1098891695,US
-1098891696,1098891711,AU
-1098891712,1098891743,US
+1098891680,1098891711,US
+1098891712,1098891743,SG
1098891744,1098891775,AU
1098891776,1098891871,US
1098891872,1098891887,AU
1098891888,1098891903,US
1098891904,1098891935,AU
-1098891936,1098891951,US
-1098891952,1098891999,AU
+1098891936,1098891967,US
+1098891968,1098891999,AU
1098892000,1098892015,US
1098892016,1098892031,AU
1098892032,1101041279,US
@@ -19791,9 +23087,7 @@
1101118240,1101118271,GB
1101118272,1101121535,US
1101121536,1101121791,EC
-1101121792,1101139967,US
-1101139968,1101140223,PR
-1101140224,1101177479,US
+1101121792,1101177479,US
1101177480,1101177487,FR
1101177488,1101182975,US
1101182976,1101183487,YE
@@ -19811,21 +23105,21 @@
1101304064,1101304319,EC
1101304320,1101304831,US
1101304832,1101305855,HN
-1101305856,1101306047,US
-1101306048,1101306079,PR
-1101306080,1101339887,US
+1101305856,1101339887,US
1101339888,1101339903,CA
1101339904,1101352959,US
1101352960,1101355007,HN
1101355008,1101357215,US
1101357216,1101357223,SE
-1101357224,1101385855,US
+1101357224,1101384415,US
+1101384416,1101384447,CA
+1101384448,1101385855,US
1101385856,1101385919,DK
-1101385920,1101402031,US
-1101402032,1101402047,PR
-1101402048,1101425919,US
+1101385920,1101425919,US
1101425920,1101426175,EC
-1101426176,1101440295,US
+1101426176,1101431679,US
+1101431680,1101431807,AU
+1101431808,1101440295,US
1101440296,1101440303,CA
1101440304,1101445775,US
1101445776,1101445791,CA
@@ -19839,9 +23133,9 @@
1101484032,1101488127,CO
1101488128,1101492623,US
1101492624,1101492639,BE
-1101492640,1101521407,US
-1101521408,1101521919,AS
-1101521920,1101523039,US
+1101492640,1101497535,US
+1101497536,1101497567,DK
+1101497568,1101523039,US
1101523040,1101523071,GB
1101523072,1101542399,US
1101542400,1101542911,CO
@@ -19851,11 +23145,7 @@
1101617680,1101617687,CA
1101617688,1101619247,US
1101619248,1101619255,NL
-1101619256,1101625343,US
-1101625344,1101625407,VI
-1101625408,1101634191,US
-1101634192,1101634207,VI
-1101634208,1101635327,US
+1101619256,1101635327,US
1101635328,1101635583,HN
1101635584,1101650431,US
1101650432,1101650943,HN
@@ -19871,9 +23161,9 @@
1101681408,1101681663,NL
1101681664,1101685383,US
1101685384,1101685391,NL
-1101685392,1101705743,US
-1101705744,1101705759,PR
-1101705760,1101732199,US
+1101685392,1101726407,US
+1101726408,1101726415,CA
+1101726416,1101732199,US
1101732200,1101732207,CH
1101732208,1101750783,US
1101750784,1101751295,BM
@@ -19883,11 +23173,15 @@
1101791744,1101791999,A2
1101792000,1101792255,US
1101792256,1101792767,A2
-1101792768,1101837311,US
+1101792768,1101803519,US
+1101803520,1101804543,HN
+1101804544,1101837311,US
1101837312,1101837567,EC
1101837568,1101856767,US
1101856768,1101856775,DK
-1101856776,1101864223,US
+1101856776,1101857295,US
+1101857296,1101857311,CA
+1101857312,1101864223,US
1101864224,1101864255,BE
1101864256,1101869055,US
1101869056,1101869567,GH
@@ -19901,13 +23195,7 @@
1101921408,1101921471,BA
1101921472,1101952439,US
1101952440,1101952447,CA
-1101952448,1101971071,US
-1101971072,1101971079,VI
-1101971080,1101973023,US
-1101973024,1101973039,PR
-1101973040,1101981663,US
-1101981664,1101981695,A2
-1101981696,1101983231,US
+1101952448,1101983231,US
1101983232,1101983743,AN
1101983744,1102004223,US
1102004224,1102004479,IN
@@ -19917,9 +23205,7 @@
1102005248,1102005503,CA
1102005504,1102005759,PK
1102005760,1102005823,BE
-1102005824,1102005887,US
-1102005888,1102005951,IN
-1102005952,1102006271,US
+1102005824,1102006271,US
1102006272,1102006527,CA
1102006528,1102007295,US
1102007296,1102007551,PK
@@ -19933,9 +23219,7 @@
1102008080,1102008087,DO
1102008088,1102008095,US
1102008096,1102008103,CA
-1102008104,1102008159,US
-1102008160,1102008167,GB
-1102008168,1102008223,US
+1102008104,1102008223,US
1102008224,1102008231,CA
1102008232,1102008607,US
1102008608,1102008639,CA
@@ -19956,10 +23240,12 @@
1102011888,1102011903,AU
1102011904,1102012799,US
1102012800,1102012927,IN
-1102012928,1102013167,US
+1102012928,1102012975,US
+1102012976,1102012991,IN
+1102012992,1102013167,US
1102013168,1102013183,VE
-1102013184,1102014207,US
-1102014208,1102014335,IN
+1102013184,1102014271,US
+1102014272,1102014335,IN
1102014336,1102014399,CA
1102014400,1102016255,US
1102016256,1102016287,AR
@@ -19987,10 +23273,7 @@
1102494224,1102494227,AU
1102494228,1102494262,US
1102494263,1102494279,AU
-1102494280,1102494292,US
-1102494293,1102494297,GB
-1102494298,1102494301,CA
-1102494302,1102494332,US
+1102494280,1102494332,US
1102494333,1102494378,AU
1102494379,1102495519,US
1102495520,1102495527,AU
@@ -19998,25 +23281,23 @@
1102512128,1102516223,JM
1102516224,1103244799,US
1103244800,1103245055,EC
-1103245056,1103474943,US
-1103474944,1103475199,MH
-1103475200,1103476223,US
+1103245056,1103475871,US
+1103475872,1103475879,AF
+1103475880,1103476223,US
1103476224,1103476255,CA
1103476256,1103548415,US
1103548416,1103550463,BS
1103550464,1103586335,US
1103586336,1103586351,DE
-1103586352,1103603711,US
+1103586352,1103586367,US
+1103586368,1103586375,AF
+1103586376,1103589143,US
+1103589144,1103589151,AF
+1103589152,1103603711,US
1103603712,1103605759,EC
1103605760,1103623167,US
1103623168,1103623679,CO
-1103623680,1103639679,US
-1103639680,1103639711,PR
-1103639712,1103641687,US
-1103641688,1103641695,PR
-1103641696,1103670207,US
-1103670208,1103670271,GB
-1103670272,1103675647,US
+1103623680,1103675647,US
1103675648,1103675711,AU
1103675712,1103675775,US
1103675776,1103675903,AU
@@ -20028,9 +23309,7 @@
1103678656,1103678719,PH
1103678720,1103678831,US
1103678832,1103678847,AU
-1103678848,1103766271,US
-1103766272,1103766527,PR
-1103766528,1103769367,US
+1103678848,1103769367,US
1103769368,1103769375,LU
1103769376,1103929055,US
1103929056,1103929063,MX
@@ -20044,13 +23323,11 @@
1103996928,1103997439,EC
1103997440,1104003455,US
1104003456,1104003583,PH
-1104003584,1104021759,US
-1104021760,1104022015,PK
-1104022016,1104030303,US
-1104030304,1104030335,PR
-1104030336,1104033439,US
+1104003584,1104033439,US
1104033440,1104033471,GB
-1104033472,1104081391,US
+1104033472,1104075703,US
+1104075704,1104075711,CH
+1104075712,1104081391,US
1104081392,1104081399,PR
1104081400,1104082423,US
1104082424,1104082431,UM
@@ -20060,29 +23337,27 @@
1104096408,1104096415,DE
1104096416,1104166911,US
1104166912,1104168959,CO
-1104168960,1104194823,US
-1104194824,1104194831,PR
-1104194832,1104232743,US
+1104168960,1104232743,US
1104232744,1104232751,CA
1104232752,1104265215,US
1104265216,1104265727,PH
-1104265728,1104399071,US
-1104399072,1104399079,CA
-1104399080,1104413695,US
+1104265728,1104357783,US
+1104357784,1104357791,AF
+1104357792,1104413695,US
1104413696,1104413711,CA
1104413712,1104414287,US
1104414288,1104414303,CA
1104414304,1104492287,US
1104492288,1104492543,PH
-1104492544,1104510975,US
+1104492544,1104509479,US
+1104509480,1104509487,AF
+1104509488,1104510975,US
1104510976,1104511743,EC
1104511744,1104559391,US
1104559392,1104559399,CA
1104559400,1104559487,US
1104559488,1104559503,CA
-1104559504,1104616255,US
-1104616256,1104616271,DE
-1104616272,1104618271,US
+1104559504,1104618271,US
1104618272,1104618303,CA
1104618304,1104630975,US
1104630976,1104631039,CA
@@ -20090,15 +23365,15 @@
1104666752,1104666767,CA
1104666768,1104708687,US
1104708688,1104708703,DE
-1104708704,1104787487,US
+1104708704,1104711439,US
+1104711440,1104711455,AF
+1104711456,1104787487,US
1104787488,1104787519,GB
-1104787520,1104839319,US
-1104839320,1104839327,GB
-1104839328,1104842751,US
-1104842752,1104844799,PR
-1104844800,1104870919,US
+1104787520,1104870919,US
1104870920,1104870927,MX
-1104870928,1104881087,US
+1104870928,1104875335,US
+1104875336,1104875351,AF
+1104875352,1104881087,US
1104881088,1104881151,PH
1104881152,1105034495,US
1105034496,1105034751,IT
@@ -20112,9 +23387,7 @@
1105143040,1105143047,MN
1105143048,1105153215,US
1105153216,1105153279,PH
-1105153280,1105188463,US
-1105188464,1105188471,CA
-1105188472,1106305663,US
+1105153280,1106305663,US
1106305664,1106305671,CA
1106305672,1106306047,US
1106306048,1106306079,CA
@@ -20122,7 +23395,11 @@
1106307968,1106308031,CA
1106308032,1106320175,US
1106320176,1106320183,CA
-1106320184,1106349599,US
+1106320184,1106323631,US
+1106323632,1106323639,AF
+1106323640,1106323655,US
+1106323656,1106323663,AF
+1106323664,1106349599,US
1106349600,1106349607,UM
1106349608,1106428959,US
1106428960,1106428975,UM
@@ -20150,9 +23427,7 @@
1106605696,1106605703,DE
1106605704,1106685047,US
1106685048,1106685055,CA
-1106685056,1106740991,US
-1106740992,1106741247,CR
-1106741248,1106758655,US
+1106685056,1106758655,US
1106758656,1106759167,EC
1106759168,1106759679,CO
1106759680,1106767871,US
@@ -20162,7 +23437,7 @@
1106769920,1106814719,US
1106814720,1106814975,EC
1106814976,1107220223,US
-1107220224,1107220239,AX
+1107220224,1107220239,FI
1107220240,1107241215,US
1107241216,1107241343,CN
1107241344,1107241471,US
@@ -20214,7 +23489,9 @@
1108029440,1108033535,US
1108033536,1108041727,CA
1108041728,1108054015,US
-1108054016,1108054303,CA
+1108054016,1108054279,CA
+1108054280,1108054287,FR
+1108054288,1108054303,CA
1108054304,1108054319,US
1108054320,1108054527,CA
1108054528,1108054543,US
@@ -20248,9 +23525,7 @@
1108056352,1108056383,US
1108056384,1108056407,CA
1108056408,1108056415,US
-1108056416,1108056527,CA
-1108056528,1108056535,US
-1108056536,1108056579,CA
+1108056416,1108056579,CA
1108056580,1108056581,US
1108056582,1108056671,CA
1108056672,1108056703,US
@@ -20273,52 +23548,18 @@
1108057392,1108057503,CA
1108057504,1108057519,BS
1108057520,1108057535,US
-1108057536,1108057775,CA
-1108057776,1108057783,US
-1108057784,1108066303,CA
+1108057536,1108066303,CA
1108066304,1108492287,US
1108492288,1108500479,ZA
1108500480,1108525055,US
1108525056,1108541439,CA
1108541440,1108862271,US
1108862272,1108862335,LT
-1108862336,1109245981,US
-1109245982,1109245993,GB
-1109245994,1109246021,US
-1109246022,1109246029,AU
-1109246030,1109246127,US
-1109246128,1109246135,IE
-1109246136,1109246236,US
-1109246237,1109246245,IE
-1109246246,1109246721,US
-1109246722,1109246730,CA
-1109246731,1109247350,US
-1109247351,1109247370,CA
-1109247371,1109247376,US
-1109247377,1109247388,NZ
-1109247389,1109247403,US
-1109247404,1109247413,CA
-1109247414,1109247528,US
-1109247529,1109247536,AU
-1109247537,1109247712,US
-1109247713,1109247732,PH
-1109247733,1109247792,US
-1109247793,1109247800,CA
-1109247801,1109249153,US
-1109249154,1109249161,PH
-1109249162,1109250860,US
+1108862336,1109250860,US
1109250861,1109250868,PH
1109250869,1109252455,US
1109252456,1109252463,AU
-1109252464,1109252778,US
-1109252779,1109252786,CA
-1109252787,1109252803,US
-1109252804,1109252813,CA
-1109252814,1109253416,US
-1109253417,1109253432,CH
-1109253433,1109253500,US
-1109253501,1109253508,CH
-1109253509,1109639199,US
+1109252464,1109639199,US
1109639200,1109639215,IN
1109639216,1109641663,US
1109641664,1109641679,JP
@@ -20389,8 +23630,7 @@
1109923648,1109923711,CA
1109923712,1109925503,US
1109925504,1109925567,GB
-1109925568,1109926911,US
-1109926912,1109927167,CA
+1109925568,1109927167,US
1109927168,1109927423,AU
1109927424,1109934591,US
1109934592,1109934847,GB
@@ -20419,7 +23659,9 @@
1110442864,1110443007,US
1110443008,1110443295,CA
1110443296,1110443327,US
-1110443328,1110443551,CA
+1110443328,1110443535,CA
+1110443536,1110443543,US
+1110443544,1110443551,CA
1110443552,1110443711,US
1110443712,1110443719,CA
1110443720,1110443903,US
@@ -20450,8 +23692,8 @@
1110449896,1110449943,CA
1110449944,1110449967,US
1110449968,1110449975,CA
-1110449976,1110450023,US
-1110450024,1110450071,CA
+1110449976,1110450031,US
+1110450032,1110450071,CA
1110450072,1110450175,US
1110450176,1110451327,CA
1110451328,1110451455,US
@@ -20546,7 +23788,14 @@
1110474496,1110474751,CA
1110474752,1110540287,US
1110540288,1110573055,CA
-1110573056,1110638591,PR
+1110573056,1110582015,US
+1110582016,1110587391,PR
+1110587392,1110595776,US
+1110595777,1110598655,PR
+1110598656,1110599167,US
+1110599168,1110612223,PR
+1110612224,1110615295,US
+1110615296,1110638591,PR
1110638592,1110663167,US
1110663168,1110675455,CA
1110675456,1110679551,US
@@ -20559,11 +23808,7 @@
1110863872,1110865919,JM
1110865920,1110867455,KY
1110867456,1110867967,JM
-1110867968,1110870791,US
-1110870792,1110870799,HK
-1110870800,1110870815,US
-1110870816,1110870847,HK
-1110870848,1110870919,US
+1110867968,1110870919,US
1110870920,1110870927,JP
1110870928,1110887423,US
1110887424,1110887679,IE
@@ -20586,12 +23831,28 @@
1112357504,1112360959,US
1112360960,1112361023,CA
1112361024,1112432639,US
-1112432640,1112433147,CA
-1112433148,1112433151,US
-1112433152,1112440831,CA
+1112432640,1112440831,CA
1112440832,1112530943,US
1112530944,1112539135,CA
-1112539136,1113212479,US
+1112539136,1112900711,US
+1112900712,1112900719,MV
+1112900720,1112901623,US
+1112901624,1112901631,EG
+1112901632,1112901759,US
+1112901760,1112901767,EG
+1112901768,1112903711,US
+1112903712,1112903719,TR
+1112903720,1112906367,US
+1112906368,1112906375,BR
+1112906376,1112906431,US
+1112906432,1112906439,GB
+1112906440,1112906943,US
+1112906944,1112906959,BR
+1112906960,1112907775,US
+1112907776,1112907783,CA
+1112907784,1112907919,US
+1112907920,1112907935,EG
+1112907936,1113212479,US
1113212480,1113212495,CA
1113212496,1113591807,US
1113591808,1113595903,CA
@@ -20609,7 +23870,68 @@
1113603328,1113603583,SV
1113603584,1113603839,US
1113603840,1113604095,CA
-1113604096,1113657343,US
+1113604096,1113640961,US
+1113640962,1113640969,BG
+1113640970,1113641009,US
+1113641010,1113641039,FR
+1113641040,1113641217,US
+1113641218,1113641310,SG
+1113641311,1113641351,CA
+1113641352,1113641450,US
+1113641451,1113641470,CA
+1113641471,1113642133,US
+1113642134,1113642168,DK
+1113642169,1113642178,GB
+1113642179,1113642203,US
+1113642204,1113642213,SA
+1113642214,1113642223,US
+1113642224,1113642238,CA
+1113642239,1113642685,US
+1113642686,1113642695,SA
+1113642696,1113642720,US
+1113642721,1113642730,TR
+1113642731,1113642740,US
+1113642741,1113642750,IT
+1113642751,1113643147,US
+1113643148,1113643157,PH
+1113643158,1113643162,US
+1113643163,1113643172,CA
+1113643173,1113643202,US
+1113643203,1113643237,CH
+1113643238,1113643955,US
+1113643956,1113643975,CA
+1113643976,1113643995,US
+1113643996,1113644015,TR
+1113644016,1113644545,US
+1113644546,1113644558,IN
+1113644559,1113644573,CA
+1113644574,1113644593,NL
+1113644594,1113644628,US
+1113644629,1113644643,CA
+1113644644,1113645767,US
+1113645768,1113645777,CA
+1113645778,1113647148,US
+1113647149,1113647158,IT
+1113647159,1113647168,BR
+1113647169,1113647223,US
+1113647224,1113647233,SE
+1113647234,1113647361,US
+1113647362,1113647459,MX
+1113647460,1113647549,US
+1113647550,1113647614,CH
+1113647615,1113647750,US
+1113647751,1113647765,CA
+1113647766,1113650978,US
+1113650979,1113651018,CA
+1113651019,1113651043,US
+1113651044,1113651083,CA
+1113651084,1113651811,US
+1113651812,1113651831,CA
+1113651832,1113651851,IN
+1113651852,1113651926,US
+1113651927,1113651936,GB
+1113651937,1113651956,CA
+1113651957,1113657343,US
1113657344,1113661439,CA
1113661440,1113696575,US
1113696576,1113696639,CA
@@ -20623,9 +23945,7 @@
1113854208,1113854463,CA
1113854464,1113854975,US
1113854976,1113855487,CA
-1113855488,1113857023,US
-1113857024,1113857031,CA
-1113857032,1113857087,US
+1113855488,1113857087,US
1113857088,1113857151,CA
1113857152,1113862247,US
1113862248,1113862255,MX
@@ -20649,7 +23969,9 @@
1113919384,1113919391,CA
1113919392,1113923839,US
1113923840,1113923903,BR
-1113923904,1113997311,US
+1113923904,1113932815,US
+1113932816,1113932823,CA
+1113932824,1113997311,US
1113997312,1114005503,CA
1114005504,1114054655,US
1114054656,1114062847,CA
@@ -20676,15 +23998,177 @@
1114520064,1114520319,PH
1114520320,1114520575,US
1114520576,1114520831,PH
-1114520832,1114521855,CA
-1114521856,1114522111,US
-1114522112,1114524159,CA
+1114520832,1114524159,CA
1114524160,1114524671,ZA
1114524672,1114533375,CA
1114533376,1114533887,ZA
1114533888,1114537983,AO
1114537984,1114550271,CA
-1114550272,1114653951,US
+1114550272,1114579209,US
+1114579210,1114579219,TR
+1114579220,1114579289,US
+1114579290,1114579299,BR
+1114579300,1114579329,US
+1114579330,1114579339,VI
+1114579340,1114579349,RU
+1114579350,1114579525,US
+1114579526,1114579535,AL
+1114579536,1114579635,US
+1114579636,1114579645,JO
+1114579646,1114579801,US
+1114579802,1114579811,SA
+1114579812,1114579901,US
+1114579902,1114579911,FR
+1114579912,1114579921,NO
+1114579922,1114580017,US
+1114580018,1114580027,KW
+1114580028,1114580037,EE
+1114580038,1114580087,US
+1114580088,1114580097,UY
+1114580098,1114580107,US
+1114580108,1114580117,BR
+1114580118,1114580243,US
+1114580244,1114580253,SA
+1114580254,1114580403,US
+1114580404,1114580413,ES
+1114580414,1114580499,US
+1114580500,1114580509,GB
+1114580510,1114580619,US
+1114580620,1114580629,UY
+1114580630,1114580649,US
+1114580650,1114580659,NL
+1114580660,1114580885,US
+1114580886,1114580895,JO
+1114580896,1114580905,BR
+1114580906,1114580965,US
+1114580966,1114580975,UA
+1114580976,1114581051,US
+1114581052,1114581061,BR
+1114581062,1114581101,US
+1114581102,1114581111,SI
+1114581112,1114581287,US
+1114581288,1114581297,AU
+1114581298,1114581307,UA
+1114581308,1114581513,US
+1114581514,1114581523,RU
+1114581524,1114581533,GR
+1114581534,1114581543,RU
+1114581544,1114581553,DE
+1114581554,1114581573,US
+1114581574,1114581583,UA
+1114581584,1114581603,US
+1114581604,1114581613,GR
+1114581614,1114581623,US
+1114581624,1114581633,SG
+1114581634,1114581829,US
+1114581830,1114581839,PL
+1114581840,1114581879,US
+1114581880,1114581889,HR
+1114581890,1114582065,US
+1114582066,1114582075,TR
+1114582076,1114582085,RU
+1114582086,1114582095,DE
+1114582096,1114582105,US
+1114582106,1114582115,SG
+1114582116,1114582135,US
+1114582136,1114582145,RU
+1114582146,1114582225,US
+1114582226,1114582245,SG
+1114582246,1114582301,US
+1114582302,1114582311,SG
+1114582312,1114582421,US
+1114582422,1114582431,SG
+1114582432,1114582481,US
+1114582482,1114582501,SG
+1114582502,1114582537,US
+1114582538,1114582547,JO
+1114582548,1114583099,US
+1114583100,1114583109,FR
+1114583110,1114583119,EG
+1114583120,1114583305,US
+1114583306,1114583315,AU
+1114583316,1114583325,ES
+1114583326,1114583335,IE
+1114583336,1114583415,US
+1114583416,1114583425,AU
+1114583426,1114583435,US
+1114583436,1114583445,RU
+1114583446,1114583465,US
+1114583466,1114583475,AR
+1114583476,1114583495,US
+1114583496,1114583505,HR
+1114583506,1114583681,US
+1114583682,1114583691,AL
+1114583692,1114583781,US
+1114583782,1114583791,DE
+1114583792,1114583867,US
+1114583868,1114583877,VE
+1114583878,1114584073,US
+1114584074,1114584083,RU
+1114584084,1114584123,US
+1114584124,1114584133,RU
+1114584134,1114584153,US
+1114584154,1114584163,GR
+1114584164,1114584369,US
+1114584370,1114584379,NL
+1114584380,1114584389,TR
+1114584390,1114584519,US
+1114584520,1114584529,CN
+1114584530,1114584605,US
+1114584606,1114584615,BR
+1114584616,1114584765,US
+1114584766,1114584775,BE
+1114584776,1114584841,US
+1114584842,1114584851,ES
+1114584852,1114584871,US
+1114584872,1114584881,NL
+1114584882,1114584901,US
+1114584902,1114584911,DE
+1114584912,1114584981,US
+1114584982,1114584991,BR
+1114584992,1114585107,US
+1114585108,1114585117,RU
+1114585118,1114585127,US
+1114585128,1114585137,RU
+1114585138,1114585167,US
+1114585168,1114585177,PT
+1114585178,1114585267,US
+1114585268,1114585277,GB
+1114585278,1114585287,US
+1114585288,1114585297,PL
+1114585298,1114585393,US
+1114585394,1114585403,ES
+1114585404,1114585423,US
+1114585424,1114585433,IN
+1114585434,1114585483,US
+1114585484,1114585493,BR
+1114585494,1114585543,US
+1114585544,1114585553,BR
+1114585554,1114585629,US
+1114585630,1114585639,BR
+1114585640,1114585649,LV
+1114585650,1114585659,ES
+1114585660,1114586005,US
+1114586006,1114586015,ID
+1114586016,1114586025,US
+1114586026,1114586035,CY
+1114586036,1114586141,US
+1114586142,1114586151,TR
+1114586152,1114586161,US
+1114586162,1114586171,RU
+1114586172,1114586211,US
+1114586212,1114586221,VE
+1114586222,1114586271,US
+1114586272,1114586281,BR
+1114586282,1114586311,US
+1114586312,1114586321,NO
+1114586322,1114586457,US
+1114586458,1114586467,TR
+1114586468,1114586497,US
+1114586498,1114586507,RU
+1114586508,1114586943,US
+1114586944,1114586951,IL
+1114586952,1114653951,US
1114653952,1114653983,MO
1114653984,1114657927,US
1114657928,1114657935,LA
@@ -20698,7 +24182,7 @@
1114875392,1114876159,CA
1114876160,1114876447,US
1114876448,1114876463,CA
-1114876464,1114876479,US
+1114876464,1114876479,AD
1114876480,1114876543,CA
1114876544,1114876575,GB
1114876576,1114876911,US
@@ -20724,13 +24208,45 @@
1114881280,1114881407,CY
1114881408,1114881471,US
1114881472,1114881535,CY
-1114881536,1114928863,US
+1114881536,1114926399,US
+1114926400,1114926431,NL
+1114926432,1114928863,US
1114928864,1114928871,GB
-1114928872,1114930175,US
+1114928872,1114929071,US
+1114929072,1114929087,RU
+1114929088,1114930175,US
1114930176,1114930303,GB
1114930304,1114966815,US
1114966816,1114966831,GB
-1114966832,1115104511,US
+1114966832,1115064447,US
+1115064448,1115064463,AU
+1115064464,1115064975,US
+1115064976,1115064991,TW
+1115064992,1115070063,US
+1115070064,1115070079,SI
+1115070080,1115070337,US
+1115070338,1115070347,SG
+1115070348,1115071241,US
+1115071242,1115071251,TR
+1115071252,1115071261,US
+1115071262,1115071271,GB
+1115071272,1115071371,US
+1115071372,1115071381,SA
+1115071382,1115074663,US
+1115074664,1115074671,GB
+1115074672,1115074679,UY
+1115074680,1115074687,CN
+1115074688,1115074695,US
+1115074696,1115074703,GR
+1115074704,1115075387,US
+1115075388,1115075397,RU
+1115075398,1115075487,US
+1115075488,1115075497,BR
+1115075498,1115077503,US
+1115077504,1115077511,BY
+1115077512,1115077527,US
+1115077528,1115077535,BY
+1115077536,1115104511,US
1115104512,1115104639,CA
1115104640,1115111935,US
1115111936,1115112063,PR
@@ -20755,21 +24271,9 @@
1115136000,1115138671,CA
1115138672,1115138679,US
1115138680,1115144191,CA
-1115144192,1115243263,US
-1115243264,1115243271,PR
-1115243272,1115299871,US
-1115299872,1115299879,PR
-1115299880,1115350543,US
-1115350544,1115350551,PR
-1115350552,1115401431,US
-1115401432,1115401439,PR
-1115401440,1115665631,US
-1115665632,1115665639,PR
-1115665640,1115693055,US
+1115144192,1115693055,US
1115693056,1115697151,CO
-1115697152,1115697159,US
-1115697160,1115697167,CO
-1115697168,1115697175,US
+1115697152,1115697175,US
1115697176,1115697183,AU
1115697184,1115697199,US
1115697200,1115697207,ID
@@ -20778,31 +24282,16 @@
1115697224,1115697231,CA
1115697232,1115697263,US
1115697264,1115697279,IN
-1115697280,1115697319,US
-1115697320,1115697327,GB
-1115697328,1115697383,US
-1115697384,1115697391,CO
-1115697392,1115697471,US
-1115697472,1115697479,CO
-1115697480,1115697799,US
-1115697800,1115697807,CA
-1115697808,1115697815,US
+1115697280,1115697815,US
1115697816,1115697823,DO
1115697824,1115697943,US
1115697944,1115697951,MX
1115697952,1115697961,DO
-1115697962,1115697991,US
-1115697992,1115697999,CO
+1115697962,1115697999,US
1115698000,1115698007,DO
-1115698008,1115698015,US
-1115698016,1115698047,AF
-1115698048,1115698127,US
+1115698008,1115698127,US
1115698128,1115698135,DO
-1115698136,1115698159,US
-1115698160,1115698167,AU
-1115698168,1115698399,US
-1115698400,1115698407,CA
-1115698408,1115698431,US
+1115698136,1115698431,US
1115698432,1115698687,DO
1115698688,1115698783,US
1115698784,1115698791,CO
@@ -20816,7 +24305,12 @@
1115700736,1115700743,CA
1115700744,1115705343,US
1115705344,1115709439,CA
-1115709440,1115783167,US
+1115709440,1115750399,US
+1115758592,1115774799,US
+1115774800,1115774815,A2
+1115774816,1115779215,US
+1115779216,1115779223,CA
+1115779224,1115783167,US
1115783168,1115784599,CA
1115784600,1115784607,US
1115784608,1115791359,CA
@@ -20850,191 +24344,9 @@
1116169328,1116175103,CA
1116175104,1116175135,JM
1116175136,1116176383,CA
-1116176384,1116210247,US
-1116210248,1116210255,PR
-1116210256,1116210375,US
-1116210376,1116210383,PR
-1116210384,1116210519,US
-1116210520,1116210527,PR
-1116210528,1116210703,US
-1116210704,1116210711,PR
-1116210712,1116211487,US
-1116211488,1116211495,PR
-1116211496,1116211631,US
-1116211632,1116211639,PR
-1116211640,1116211647,US
-1116211648,1116211655,PR
-1116211656,1116213375,US
-1116213376,1116213383,PR
-1116213384,1116213447,US
-1116213448,1116213463,PR
-1116213464,1116213639,US
-1116213640,1116213647,PR
-1116213648,1116213943,US
-1116213944,1116213951,PR
-1116213952,1116214159,US
-1116214160,1116214167,PR
-1116214168,1116217151,US
-1116217152,1116217159,PR
-1116217160,1116218527,US
-1116218528,1116218535,PR
-1116218536,1116220231,US
-1116220232,1116220239,PR
-1116220240,1116223199,US
-1116223200,1116223207,PR
-1116223208,1116224047,US
-1116224048,1116224055,PR
-1116224056,1116228943,US
-1116228944,1116228951,PR
-1116228952,1116229063,US
-1116229064,1116229071,PR
-1116229072,1116233767,US
-1116233768,1116233775,PR
-1116233776,1116233791,US
-1116233792,1116233799,PR
-1116233800,1116244151,US
-1116244152,1116244159,PR
-1116244160,1116244767,US
-1116244768,1116244775,PR
-1116244776,1116244935,US
-1116244936,1116244943,PR
-1116244944,1116245247,US
-1116245248,1116245255,PR
-1116245256,1116245263,US
-1116245264,1116245271,PR
-1116245272,1116251823,US
-1116251824,1116251831,PR
-1116251832,1116252319,US
-1116252320,1116252327,PR
-1116252328,1116253247,US
-1116253248,1116253255,PR
-1116253256,1116253295,US
-1116253296,1116253303,PR
-1116253304,1116253455,US
-1116253456,1116253463,PR
-1116253464,1116261583,US
-1116261584,1116261591,PR
-1116261592,1116269567,US
-1116269568,1116269575,PR
-1116269576,1116271503,US
-1116271504,1116271511,PR
-1116271512,1116272879,US
-1116272880,1116272887,PR
-1116272888,1116275047,US
-1116275048,1116275055,PR
-1116275056,1116275511,US
-1116275512,1116275519,PR
-1116275520,1116277687,US
-1116277688,1116277695,PR
-1116277696,1116279503,US
-1116279504,1116279511,PR
-1116279512,1116283999,US
-1116284000,1116284007,PR
-1116284008,1116284871,US
-1116284872,1116284879,PR
-1116284880,1116291351,US
-1116291352,1116291359,PR
-1116291360,1116299551,US
-1116299552,1116299559,PR
-1116299560,1116299623,US
-1116299624,1116299631,PR
-1116299632,1116300847,US
-1116300848,1116300855,PR
-1116300856,1116301143,US
-1116301144,1116301151,PR
-1116301152,1116302423,US
-1116302424,1116302431,PR
-1116302432,1116303023,US
-1116303024,1116303031,PR
-1116303032,1116305967,US
-1116305968,1116305975,PR
-1116305976,1116310527,US
-1116310528,1116310535,PR
-1116310536,1116311831,US
-1116311832,1116311839,PR
-1116311840,1116316399,US
-1116316400,1116316407,PR
-1116316408,1116321559,US
-1116321560,1116321567,PR
-1116321568,1116325399,US
-1116325400,1116325407,PR
-1116325408,1116330407,US
-1116330408,1116330415,PR
-1116330416,1116334743,US
-1116334744,1116334751,PR
-1116334752,1116334983,US
-1116334984,1116334991,PR
-1116334992,1116335735,US
-1116335736,1116335743,PR
-1116335744,1116336839,US
-1116336840,1116336847,PR
-1116336848,1116337119,US
-1116337120,1116337127,PR
-1116337128,1116337935,US
-1116337936,1116337943,PR
-1116337944,1116339559,US
-1116339560,1116339567,PR
-1116339568,1116339575,US
-1116339576,1116339583,PR
-1116339584,1116339599,US
-1116339600,1116339607,PR
-1116339608,1116359815,US
-1116359816,1116359823,PR
-1116359824,1116359919,US
-1116359920,1116359927,PR
-1116359928,1116360215,US
-1116360216,1116360223,PR
-1116360224,1116392463,US
-1116392464,1116392471,PR
-1116392472,1116401303,US
-1116401304,1116401311,PR
-1116401312,1116406175,US
-1116406176,1116406191,PR
-1116406192,1116409287,US
-1116409288,1116409295,PR
-1116409296,1116422439,US
-1116422440,1116422447,PR
-1116422448,1116444783,US
-1116444784,1116444791,PR
-1116444792,1116459631,US
-1116459632,1116459647,PR
-1116459648,1116473575,US
-1116473576,1116473583,PR
-1116473584,1116478399,US
-1116478400,1116478407,PR
-1116478408,1116481879,US
-1116481880,1116481887,PR
-1116481888,1116487895,US
-1116487896,1116487903,PR
-1116487904,1116487911,US
-1116487912,1116487919,PR
-1116487920,1116491303,US
-1116491304,1116491311,PR
-1116491312,1116496047,US
-1116496048,1116496055,PR
-1116496056,1116499983,US
-1116499984,1116499991,PR
-1116499992,1116505919,US
-1116505920,1116505951,PR
-1116505952,1116506767,US
-1116506768,1116506775,PR
-1116506776,1116506863,US
-1116506864,1116506871,PR
-1116506872,1116509495,US
-1116509496,1116509503,PR
-1116509504,1116510911,US
-1116510912,1116510927,PR
-1116510928,1116529023,US
-1116529024,1116529031,PR
-1116529032,1116538687,US
+1116176384,1116538687,US
1116538688,1116538703,UA
-1116538704,1116566343,US
-1116566344,1116566351,PR
-1116566352,1116577415,US
-1116577416,1116577423,PR
-1116577424,1116599479,US
-1116599480,1116599487,PR
-1116599488,1116897279,US
+1116538704,1116897279,US
1116897280,1116905471,CA
1116905472,1117137919,US
1117137920,1117138175,CA
@@ -21056,9 +24368,7 @@
1117195992,1117195999,A2
1117196000,1117198591,US
1117198592,1117198847,CA
-1117198848,1117221823,US
-1117221824,1117221831,GB
-1117221832,1117274111,US
+1117198848,1117274111,US
1117274112,1117282303,CA
1117282304,1117299615,US
1117299616,1117299623,GB
@@ -21072,17 +24382,10 @@
1117409784,1117409791,GB
1117409792,1117410239,US
1117410240,1117410303,GB
-1117410304,1117411071,US
-1117411072,1117411087,PL
-1117411088,1117412863,US
-1117412864,1117412991,CA
-1117412992,1117413375,US
-1117413376,1117413631,CA
-1117413632,1117415423,US
+1117410304,1117413375,US
+1117413376,1117415423,CA
1117415424,1117416191,AN
-1117416192,1117416447,CA
-1117416448,1117416703,US
-1117416704,1117417215,CA
+1117416192,1117417215,CA
1117417216,1117417223,US
1117417224,1117417231,CA
1117417232,1117417239,US
@@ -21092,18 +24395,18 @@
1117417280,1117417343,US
1117417344,1117418655,CA
1117418656,1117418671,US
-1117418672,1117419263,CA
-1117419264,1117419519,US
-1117419520,1117419775,CA
-1117419776,1117420543,US
-1117420544,1117421055,CA
+1117418672,1117419775,CA
+1117419776,1117420031,US
+1117420032,1117420415,CA
+1117420416,1117420447,US
+1117420448,1117421055,CA
1117421056,1117421311,US
1117421312,1117421567,CA
1117421568,1117683711,US
1117683712,1117691903,CA
1117691904,1117724671,US
1117724672,1117728767,CA
-1117728768,1117745151,US
+1117728768,1117741055,US
1117745152,1117749247,CA
1117749248,1117796575,US
1117796576,1117796591,CA
@@ -21111,21 +24414,15 @@
1117814824,1117814831,CN
1117814832,1117815295,US
1117815296,1117815551,CN
-1117815552,1117816831,US
-1117816832,1117816863,CN
-1117816864,1117816879,US
-1117816880,1117816887,CN
-1117816888,1117816895,US
-1117816896,1117816959,CN
-1117816960,1117817919,US
+1117815552,1117817919,US
1117817920,1117817983,CA
-1117817984,1117818495,US
-1117818496,1117818623,IT
-1117818624,1117818975,US
+1117817984,1117818975,US
1117818976,1117818991,HK
1117818992,1117819631,US
1117819632,1117819647,AE
-1117819648,1117823231,US
+1117819648,1117822463,US
+1117822464,1117822527,CA
+1117822528,1117823231,US
1117823232,1117823487,CA
1117823488,1117823743,CN
1117823744,1117823999,US
@@ -21190,20 +24487,19 @@
1118126848,1118127231,CA
1118127232,1118127359,US
1118127360,1118127615,CA
-1118127616,1118128191,US
-1118128192,1118128255,IN
+1118127616,1118128255,US
1118128256,1118128319,CA
1118128320,1118128383,MY
1118128384,1118128639,CA
-1118128640,1118129151,US
-1118129152,1118129663,CA
+1118128640,1118129279,US
+1118129280,1118129663,CA
1118129664,1118129695,BR
1118129696,1118129823,US
1118129824,1118129855,AU
1118129856,1118129887,US
1118129888,1118129919,CA
-1118129920,1118130431,US
-1118130432,1118131455,CA
+1118129920,1118130687,US
+1118130688,1118131455,CA
1118131456,1118131583,US
1118131584,1118131711,IN
1118131712,1118132479,CA
@@ -21211,11 +24507,10 @@
1118132992,1118133375,CA
1118133376,1118133503,US
1118133504,1118133631,CA
-1118133632,1118133695,US
-1118133696,1118133759,IN
+1118133632,1118133759,US
1118133760,1118133887,CA
-1118133888,1118134783,US
-1118134784,1118134879,CA
+1118133888,1118134815,US
+1118134816,1118134879,CA
1118134880,1118134911,US
1118134912,1118134975,CA
1118134976,1118135007,US
@@ -21235,19 +24530,14 @@
1118137120,1118137151,IL
1118137152,1118137215,US
1118137216,1118137247,GB
-1118137248,1118137279,US
-1118137280,1118137311,FR
-1118137312,1118138559,US
+1118137248,1118138559,US
1118138560,1118138591,AU
1118138592,1118138623,FR
1118138624,1118138879,US
1118138880,1118139135,CA
1118139136,1118139903,US
1118139904,1118140415,CA
-1118140416,1118140703,US
-1118140704,1118140735,IN
-1118140736,1118140767,AU
-1118140768,1118140831,US
+1118140416,1118140831,US
1118140832,1118140895,VE
1118140896,1118141183,US
1118141184,1118141439,CA
@@ -21266,9 +24556,7 @@
1118151464,1118151471,CR
1118151472,1118151631,US
1118151632,1118151647,MX
-1118151648,1118151759,US
-1118151760,1118151775,ES
-1118151776,1118151791,US
+1118151648,1118151791,US
1118151792,1118151795,BR
1118151796,1118152015,US
1118152016,1118152031,CO
@@ -21303,9 +24591,7 @@
1118154064,1118154079,MX
1118154080,1118154207,US
1118154208,1118154223,CL
-1118154224,1118154543,US
-1118154544,1118154559,BB
-1118154560,1118155103,US
+1118154224,1118155103,US
1118155104,1118155119,NL
1118155120,1118155183,US
1118155184,1118155199,CA
@@ -21368,7 +24654,9 @@
1118535680,1118539775,CA
1118539776,1118543871,US
1118543872,1118547967,CA
-1118547968,1118564607,US
+1118547968,1118563839,US
+1118563840,1118564351,BZ
+1118564352,1118564607,US
1118564608,1118564639,NO
1118564640,1118564655,US
1118564656,1118564671,IN
@@ -21522,7 +24810,9 @@
1118967664,1118967679,SA
1118967680,1118967743,LB
1118967744,1118967775,SA
-1118967776,1118967839,A2
+1118967776,1118967799,A2
+1118967800,1118967807,RW
+1118967808,1118967839,A2
1118967840,1118967847,LB
1118967848,1118967903,A2
1118967904,1118968015,SA
@@ -21532,7 +24822,7 @@
1118968056,1118968095,SA
1118968096,1118968111,A2
1118968112,1118968127,LB
-1118968128,1118968159,A2
+1118968128,1118968159,SA
1118968160,1118968175,LB
1118968176,1118968183,AE
1118968184,1118968191,A2
@@ -21653,16 +24943,12 @@
1118977848,1118977879,A2
1118977880,1118977887,NI
1118977888,1118978047,A2
-1118978048,1118978079,SA
-1118978080,1118978111,A2
-1118978112,1118978439,SA
+1118978048,1118978439,SA
1118978440,1118978447,A2
1118978448,1118978463,LB
-1118978464,1118978495,SA
-1118978496,1118979071,A2
-1118979072,1118979231,SA
-1118979232,1118979263,A2
-1118979264,1118979295,SA
+1118978464,1118978527,SA
+1118978528,1118979071,A2
+1118979072,1118979295,SA
1118979296,1118979327,LB
1118979328,1118979455,SA
1118979456,1118979479,LB
@@ -21670,8 +24956,7 @@
1118979496,1118979503,LB
1118979504,1118979535,SA
1118979536,1118979575,LB
-1118979576,1118979583,SA
-1118979584,1118979711,A2
+1118979576,1118979711,SA
1118979712,1118979775,LB
1118979776,1118979839,A2
1118979840,1118979855,NI
@@ -21811,15 +25096,13 @@
1119113216,1119144927,US
1119144928,1119144935,AU
1119144936,1119150079,US
-1119158272,1119166855,US
+1119154176,1119166855,US
1119166856,1119166871,HT
1119166872,1119167079,US
1119167080,1119167087,CA
1119167088,1119167119,US
1119167120,1119167127,MX
-1119167128,1119167231,US
-1119167232,1119167239,CA
-1119167240,1119167359,US
+1119167128,1119167359,US
1119167360,1119167367,CA
1119167368,1119167407,US
1119167408,1119167415,CA
@@ -21835,9 +25118,7 @@
1119168352,1119168359,AF
1119168360,1119168687,US
1119168688,1119168695,CA
-1119168696,1119168799,US
-1119168800,1119168807,MX
-1119168808,1119168975,US
+1119168696,1119168975,US
1119168976,1119168983,CA
1119168984,1119169359,US
1119169360,1119169367,HT
@@ -21862,9 +25143,17 @@
1119173096,1119173119,US
1119173120,1119173143,MX
1119173144,1119173151,US
-1119173152,1119173263,MX
-1119173264,1119173271,US
-1119173272,1119173367,MX
+1119173152,1119173207,MX
+1119173208,1119173215,US
+1119173216,1119173223,MX
+1119173224,1119173231,US
+1119173232,1119173263,MX
+1119173264,1119173279,US
+1119173280,1119173295,MX
+1119173296,1119173311,US
+1119173312,1119173343,MX
+1119173344,1119173351,US
+1119173352,1119173367,MX
1119173368,1119173375,US
1119173376,1119173399,MX
1119173400,1119173407,US
@@ -21875,30 +25164,34 @@
1119173536,1119173543,MX
1119173544,1119173551,US
1119173552,1119173575,MX
-1119173576,1119173583,US
-1119173584,1119173655,MX
+1119173576,1119173591,US
+1119173592,1119173655,MX
1119173656,1119173671,US
1119173672,1119173679,MX
1119173680,1119173703,US
-1119173704,1119173759,MX
-1119173760,1119173767,US
-1119173768,1119173783,MX
-1119173784,1119173791,US
-1119173792,1119173815,MX
-1119173816,1119173823,US
-1119173824,1119173847,MX
+1119173704,1119173727,MX
+1119173728,1119173735,US
+1119173736,1119173751,MX
+1119173752,1119173767,US
+1119173768,1119173775,MX
+1119173776,1119173799,US
+1119173800,1119173815,MX
+1119173816,1119173831,US
+1119173832,1119173847,MX
1119173848,1119173863,US
-1119173864,1119173879,MX
-1119173880,1119173935,US
+1119173864,1119173871,MX
+1119173872,1119173935,US
1119173936,1119173983,MX
1119173984,1119173999,US
-1119174000,1119174015,MX
-1119174016,1119174023,US
+1119174000,1119174007,MX
+1119174008,1119174023,US
1119174024,1119174031,GT
1119174032,1119174039,MX
1119174040,1119174047,US
-1119174048,1119174207,MX
-1119174208,1119174215,US
+1119174048,1119174119,MX
+1119174120,1119174127,US
+1119174128,1119174199,MX
+1119174200,1119174215,US
1119174216,1119174247,GT
1119174248,1119174287,US
1119174288,1119174319,MX
@@ -21907,11 +25200,13 @@
1119174352,1119174359,MX
1119174360,1119174399,US
1119174400,1119174407,GT
-1119174408,1119174471,MX
+1119174408,1119174415,MX
+1119174416,1119174423,US
+1119174424,1119174471,MX
1119174472,1119174479,US
-1119174480,1119174519,MX
-1119174520,1119174527,US
-1119174528,1119174543,MX
+1119174480,1119174511,MX
+1119174512,1119174535,US
+1119174536,1119174543,MX
1119174544,1119211519,US
1119211520,1119215615,CA
1119215616,1119289343,US
@@ -21941,23 +25236,61 @@
1119999936,1119999967,A2
1119999968,1120015295,US
1120015296,1120015327,A2
-1120015328,1120041983,US
-1120041984,1120042495,AR
-1120042496,1120064511,US
+1120015328,1120064511,US
1120064512,1120064767,AR
1120064768,1120149503,US
1120149504,1120149599,CA
1120149600,1120149631,US
1120149632,1120150031,CA
1120150032,1120150039,TW
-1120150040,1120150047,CA
-1120150048,1120150055,US
-1120150056,1120151695,CA
+1120150040,1120151695,CA
1120151696,1120151711,TW
1120151712,1120152159,CA
1120152160,1120152191,US
1120152192,1120153599,CA
-1120153600,1120272383,US
+1120153600,1120239873,US
+1120239874,1120240126,CA
+1120240127,1120241921,US
+1120241922,1120242174,RU
+1120242175,1120245307,US
+1120245308,1120245327,EG
+1120245328,1120245347,US
+1120245348,1120245502,RU
+1120245503,1120246932,US
+1120246933,1120246942,LB
+1120246943,1120247937,US
+1120247938,1120247947,IT
+1120247948,1120248263,US
+1120248264,1120248313,CA
+1120248314,1120249297,US
+1120249298,1120249327,CA
+1120249328,1120249337,IT
+1120249338,1120249857,US
+1120249858,1120249923,LB
+1120249924,1120249955,US
+1120249956,1120249975,AU
+1120249976,1120250015,US
+1120250016,1120250050,KW
+1120250051,1120250100,US
+1120250101,1120250110,MX
+1120250111,1120250625,US
+1120250626,1120250878,CA
+1120250879,1120251137,US
+1120251138,1120251185,BR
+1120251186,1120251235,IN
+1120251236,1120251350,US
+1120251351,1120251390,IN
+1120251391,1120251396,US
+1120251397,1120251422,IE
+1120251423,1120251441,US
+1120251442,1120251461,AU
+1120251462,1120251471,US
+1120251472,1120251481,IT
+1120251482,1120251908,US
+1120251909,1120252158,IE
+1120252159,1120257764,US
+1120257765,1120257784,IE
+1120257785,1120272383,US
1120272384,1120280575,CA
1120280576,1120280831,US
1120280832,1120280855,CA
@@ -21972,8 +25305,7 @@
1120281152,1120281375,CA
1120281376,1120281383,AR
1120281384,1120281391,US
-1120281392,1120281407,ZA
-1120281408,1120281599,CA
+1120281392,1120281599,CA
1120281600,1120282367,US
1120282368,1120282623,SY
1120282624,1120282879,US
@@ -22015,27 +25347,31 @@
1120315136,1120315391,US
1120315392,1120321535,CA
1120321536,1120346111,US
-1120346112,1120347527,CA
+1120346112,1120347039,CA
+1120347040,1120347055,US
+1120347056,1120347135,CA
+1120347136,1120347391,US
+1120347392,1120347527,CA
1120347528,1120347535,US
1120347536,1120347591,CA
-1120347592,1120347599,US
-1120347600,1120350207,CA
+1120347592,1120347607,US
+1120347608,1120350207,CA
1120350208,1120370687,US
1120370688,1120371199,CA
1120371200,1120371455,US
1120371456,1120371511,CA
-1120371512,1120371519,US
-1120371520,1120371647,CA
+1120371512,1120371551,US
+1120371552,1120371647,CA
1120371648,1120371651,US
1120371652,1120371711,CA
-1120371712,1120372063,US
-1120372064,1120372079,CA
-1120372080,1120372223,US
+1120371712,1120372223,US
1120372224,1120372479,CA
1120372480,1120372735,US
-1120372736,1120373423,CA
-1120373424,1120373503,US
-1120373504,1120374047,CA
+1120372736,1120372991,CA
+1120372992,1120373247,US
+1120373248,1120373423,CA
+1120373424,1120373759,US
+1120373760,1120374047,CA
1120374048,1120374063,US
1120374064,1120374271,CA
1120374272,1120374303,US
@@ -22049,14 +25385,14 @@
1120375244,1120375263,US
1120375264,1120375423,CA
1120375424,1120375551,US
-1120375552,1120376095,CA
-1120376096,1120376127,US
+1120375552,1120376079,CA
+1120376080,1120376127,US
1120376128,1120376223,CA
1120376224,1120376239,US
1120376240,1120376255,MX
1120376256,1120376287,CA
-1120376288,1120376303,US
-1120376304,1120376327,CA
+1120376288,1120376319,US
+1120376320,1120376327,CA
1120376328,1120376383,US
1120376384,1120376447,CA
1120376448,1120376455,US
@@ -22077,8 +25413,8 @@
1120377792,1120377823,US
1120377824,1120378367,CA
1120378368,1120378623,US
-1120378624,1120378919,CA
-1120378920,1120378927,US
+1120378624,1120378911,CA
+1120378912,1120378927,US
1120378928,1120379039,CA
1120379040,1120379071,PA
1120379072,1120379167,CA
@@ -22090,15 +25426,17 @@
1120380128,1120380131,CA
1120380132,1120380223,US
1120380224,1120380239,CA
-1120380240,1120380415,US
+1120380240,1120380263,US
+1120380264,1120380271,CA
+1120380272,1120380415,US
1120380416,1120380431,VG
1120380432,1120380447,CA
1120380448,1120380479,US
1120380480,1120380639,CA
-1120380640,1120380655,US
-1120380656,1120380659,CA
-1120380660,1120380663,US
-1120380664,1120381055,CA
+1120380640,1120380663,US
+1120380664,1120380671,CA
+1120380672,1120380927,US
+1120380928,1120381055,CA
1120381056,1120381071,US
1120381072,1120381087,PA
1120381088,1120381095,US
@@ -22118,28 +25456,23 @@
1120383368,1120383423,US
1120383424,1120383439,CA
1120383440,1120383775,US
-1120383776,1120383807,CA
-1120383808,1120383839,US
-1120383840,1120383951,CA
+1120383776,1120383951,CA
1120383952,1120383999,US
-1120384000,1120384095,CA
-1120384096,1120384127,US
-1120384128,1120385023,CA
+1120384000,1120385023,CA
1120385024,1120385135,US
1120385136,1120385143,CA
1120385144,1120385151,US
1120385152,1120385183,GB
1120385184,1120385535,CA
1120385536,1120386559,US
-1120386560,1120386815,CA
-1120386816,1120485503,US
+1120386560,1120387071,CA
+1120387072,1120485503,US
1120485504,1120485631,IN
1120485632,1120486079,US
1120486080,1120486143,IN
1120486144,1120486399,US
1120486400,1120486911,CA
-1120486912,1120487039,US
-1120487040,1120487103,IN
+1120486912,1120487103,US
1120487104,1120487167,CA
1120487168,1120487199,US
1120487200,1120487231,CA
@@ -22147,8 +25480,8 @@
1120487360,1120487391,CA
1120487392,1120487423,BE
1120487424,1120487679,CA
-1120487680,1120487935,US
-1120487936,1120488703,CA
+1120487680,1120488191,US
+1120488192,1120488703,CA
1120488704,1120488767,US
1120488768,1120488799,VE
1120488800,1120488831,IL
@@ -22177,13 +25510,9 @@
1120493824,1120494079,CA
1120494080,1120494335,US
1120494336,1120494591,CA
-1120494592,1120494847,US
-1120494848,1120494911,IN
-1120494912,1120494975,US
+1120494592,1120494975,US
1120494976,1120495039,CA
-1120495040,1120495103,US
-1120495104,1120495167,IN
-1120495168,1120495743,US
+1120495040,1120495743,US
1120495744,1120495871,SG
1120495872,1120496223,US
1120496224,1120496255,BE
@@ -22227,9 +25556,7 @@
1120575168,1120575199,CA
1120575200,1120641023,US
1120641024,1120657407,CA
-1120657408,1120735487,US
-1120735488,1120735743,BB
-1120735744,1120736207,US
+1120657408,1120736207,US
1120736208,1120736223,PY
1120736224,1120736991,US
1120736992,1120737007,KN
@@ -22258,36 +25585,49 @@
1120874496,1120874503,A2
1120874504,1120874511,US
1120874512,1120874519,A2
-1120874520,1120874527,US
-1120874528,1120874631,A2
+1120874520,1120874543,US
+1120874544,1120874563,A2
+1120874564,1120874575,US
+1120874576,1120874587,A2
+1120874588,1120874591,US
+1120874592,1120874631,A2
1120874632,1120874639,US
-1120874640,1120874655,A2
-1120874656,1120874703,US
+1120874640,1120874651,A2
+1120874652,1120874703,US
1120874704,1120874719,CA
1120874720,1120874727,A2
-1120874728,1120874751,US
-1120874752,1120874783,A2
-1120874784,1120874815,US
-1120874816,1120874855,A2
-1120874856,1120874871,US
-1120874872,1120874911,A2
+1120874728,1120874763,US
+1120874764,1120874767,A2
+1120874768,1120874775,US
+1120874776,1120874779,A2
+1120874780,1120874815,US
+1120874816,1120874831,A2
+1120874832,1120874839,US
+1120874840,1120874847,A2
+1120874848,1120874879,US
+1120874880,1120874887,A2
+1120874888,1120874895,US
+1120874896,1120874911,A2
1120874912,1120874935,US
1120874936,1120874943,A2
1120874944,1120874959,CA
-1120874960,1120874967,A2
-1120874968,1120874975,US
-1120874976,1120874983,A2
-1120874984,1120875007,US
-1120875008,1120875263,A2
-1120875264,1120876287,US
+1120874960,1120874979,US
+1120874980,1120874983,A2
+1120874984,1120876287,US
1120876288,1120876543,A2
1120876544,1120876567,JO
1120876568,1120876575,A2
1120876576,1120876591,JO
1120876592,1120876599,A2
1120876600,1120876607,JO
-1120876608,1120876799,A2
-1120876800,1120878359,US
+1120876608,1120876615,A2
+1120876616,1120876623,US
+1120876624,1120876655,A2
+1120876656,1120876671,US
+1120876672,1120876799,A2
+1120876800,1120877575,US
+1120877576,1120877583,CA
+1120877584,1120878359,US
1120878360,1120878591,A2
1120878592,1120886783,US
1120886784,1120888127,CA
@@ -22329,7 +25669,7 @@
1121247504,1121247511,AW
1121247512,1121247519,VG
1121247520,1121247527,BZ
-1121247528,1121247535,CA
+1121247528,1121247535,VG
1121247536,1121247543,BZ
1121247544,1121247551,CA
1121247552,1121247559,VG
@@ -22338,8 +25678,7 @@
1121247584,1121247591,CY
1121247592,1121247615,CA
1121247616,1121247631,BZ
-1121247632,1121247639,AW
-1121247640,1121247647,VG
+1121247632,1121247647,VG
1121247648,1121247663,US
1121247664,1121247695,BZ
1121247696,1121247711,CA
@@ -22363,8 +25702,7 @@
1121248136,1121248159,CA
1121248160,1121248255,AG
1121248256,1121248287,CA
-1121248288,1121248303,BZ
-1121248304,1121248311,KN
+1121248288,1121248311,BZ
1121248312,1121248319,MT
1121248320,1121248335,CA
1121248336,1121248343,VG
@@ -22373,7 +25711,7 @@
1121248368,1121248383,CA
1121248384,1121248399,VG
1121248400,1121248407,CA
-1121248408,1121248431,GB
+1121248408,1121248431,PA
1121248432,1121248447,CA
1121248448,1121248495,BZ
1121248496,1121248783,CA
@@ -22384,17 +25722,20 @@
1121248912,1121248919,BZ
1121248920,1121248959,VG
1121248960,1121248983,CA
-1121248984,1121248991,AW
+1121248984,1121248991,MT
1121248992,1121249023,VG
-1121249024,1121249375,CA
+1121249024,1121249279,CA
+1121249280,1121249343,MT
+1121249344,1121249375,CA
1121249376,1121249383,VG
-1121249384,1121249407,CA
+1121249384,1121249391,CA
+1121249392,1121249399,AW
+1121249400,1121249407,CA
1121249408,1121249439,AG
1121249440,1121249535,CA
1121249536,1121249543,BZ
1121249544,1121249551,AG
-1121249552,1121249599,CA
-1121249600,1121249615,AW
+1121249552,1121249615,CA
1121249616,1121249631,VG
1121249632,1121249743,CA
1121249744,1121249751,CR
@@ -22410,22 +25751,19 @@
1121250144,1121250175,GB
1121250176,1121250183,AW
1121250184,1121250207,BZ
-1121250208,1121250239,CA
-1121250240,1121250303,GB
+1121250208,1121250303,CA
1121250304,1121250815,BZ
1121250816,1121250831,AG
1121250832,1121250839,BZ
1121250840,1121250879,AG
-1121250880,1121250927,VG
-1121250928,1121250935,CA
-1121250936,1121251007,BZ
+1121250880,1121250911,VG
+1121250912,1121250943,CA
+1121250944,1121251007,BZ
1121251008,1121251015,VG
1121251016,1121251039,CA
1121251040,1121251047,CR
1121251048,1121251055,AW
-1121251056,1121251071,CA
-1121251072,1121251079,GB
-1121251080,1121251087,CA
+1121251056,1121251087,CA
1121251088,1121251095,CY
1121251096,1121251103,CA
1121251104,1121251119,BZ
@@ -22435,8 +25773,7 @@
1121251200,1121251263,AW
1121251264,1121251279,CA
1121251280,1121251287,BZ
-1121251288,1121251295,CA
-1121251296,1121251311,IM
+1121251288,1121251311,IM
1121251312,1121251327,BZ
1121251328,1121251583,CA
1121251584,1121251591,BZ
@@ -22449,12 +25786,14 @@
1121251664,1121251671,MT
1121251672,1121251679,CA
1121251680,1121251687,AG
-1121251688,1121251791,BZ
+1121251688,1121251711,BZ
+1121251712,1121251727,CA
+1121251728,1121251791,BZ
1121251792,1121251807,VG
1121251808,1121251831,CA
1121251832,1121251839,VG
1121251840,1121251847,BZ
-1121251848,1121251855,PA
+1121251848,1121251855,CA
1121251856,1121251863,AN
1121251864,1121251871,BZ
1121251872,1121251887,VG
@@ -22463,7 +25802,7 @@
1121251904,1121251935,AG
1121251936,1121251943,CY
1121251944,1121251951,MT
-1121251952,1121251967,GB
+1121251952,1121251967,CA
1121251968,1121251983,MT
1121251984,1121251991,CA
1121251992,1121251999,AG
@@ -22492,7 +25831,8 @@
1121254208,1121254215,GI
1121254216,1121254223,CA
1121254224,1121254231,BZ
-1121254232,1121254255,CR
+1121254232,1121254239,CA
+1121254240,1121254255,CR
1121254256,1121254271,AG
1121254272,1121255423,CA
1121255424,1121468463,US
@@ -22509,9 +25849,7 @@
1121468592,1121468600,AU
1121468601,1121468911,US
1121468912,1121468927,GB
-1121468928,1121468967,US
-1121468968,1121468975,CA
-1121468976,1121469175,US
+1121468928,1121469175,US
1121469176,1121469183,CA
1121469184,1121469367,US
1121469368,1121469375,CA
@@ -22519,9 +25857,7 @@
1121469840,1121469847,AU
1121469848,1121469871,US
1121469872,1121469879,SE
-1121469880,1121469895,US
-1121469896,1121469903,GB
-1121469904,1121469911,US
+1121469880,1121469911,US
1121469912,1121469919,PH
1121469920,1121470015,US
1121470016,1121470047,AU
@@ -22542,8 +25878,8 @@
1121470592,1121470703,US
1121470704,1121470711,VU
1121470712,1121470727,US
-1121470728,1121470743,CA
-1121470744,1121470759,US
+1121470728,1121470735,CA
+1121470736,1121470759,US
1121470760,1121470767,FR
1121470768,1121470815,US
1121470816,1121470831,AU
@@ -22559,9 +25895,7 @@
1121471128,1121471135,AU
1121471136,1121471151,US
1121471152,1121471159,CH
-1121471160,1121471167,US
-1121471168,1121471175,CA
-1121471176,1121471279,US
+1121471160,1121471279,US
1121471280,1121471295,GB
1121471296,1121471375,US
1121471376,1121471391,DK
@@ -22580,19 +25914,16 @@
1121471624,1121471631,CA
1121471632,1121471655,US
1121471656,1121471663,CA
-1121471664,1121471671,AR
-1121471672,1121471703,US
+1121471664,1121471703,US
1121471704,1121471711,JP
-1121471712,1121471719,UA
+1121471712,1121471719,US
1121471720,1121471727,IT
1121471728,1121471935,US
1121471936,1121471943,CA
1121471944,1121471951,IN
1121471952,1121471975,US
1121471976,1121471983,CA
-1121471984,1121471999,US
-1121472000,1121472007,BE
-1121472008,1121472047,US
+1121471984,1121472047,US
1121472048,1121472055,MY
1121472056,1121472263,US
1121472264,1121472271,LK
@@ -22600,21 +25931,17 @@
1121472288,1121472303,IN
1121472304,1121472375,US
1121472376,1121472447,AU
-1121472448,1121472463,US
-1121472464,1121472471,CA
-1121472472,1121472479,ES
-1121472480,1121472511,US
+1121472448,1121472511,US
1121472512,1121472519,NZ
-1121472520,1121472535,CA
-1121472536,1121472559,US
+1121472520,1121472527,CA
+1121472528,1121472559,US
1121472560,1121472567,IN
1121472568,1121472655,US
1121472656,1121472663,UA
1121472664,1121472727,US
1121472728,1121472735,CA
1121472736,1121472743,LB
-1121472744,1121472751,GB
-1121472752,1121472775,US
+1121472744,1121472775,US
1121472776,1121472807,RU
1121472808,1121472831,US
1121472832,1121472839,LB
@@ -22627,24 +25954,19 @@
1121472928,1121472935,GB
1121472936,1121473175,US
1121473176,1121473183,FR
-1121473184,1121473199,US
-1121473200,1121473207,GB
-1121473208,1121473239,US
+1121473184,1121473239,US
1121473240,1121473247,ES
1121473248,1121473279,US
1121473280,1121473295,AU
1121473296,1121473303,US
1121473304,1121473311,AU
-1121473312,1121473327,US
-1121473328,1121473335,AG
-1121473336,1121473439,US
+1121473312,1121473439,US
1121473440,1121473471,AU
1121473472,1121473479,US
1121473480,1121473487,CA
1121473488,1121473599,US
1121473600,1121473607,GB
-1121473608,1121473615,CA
-1121473616,1121473871,US
+1121473608,1121473871,US
1121473872,1121473887,NL
1121473888,1121474007,US
1121474008,1121474015,DE
@@ -22657,19 +25979,11 @@
1121474096,1121474111,CA
1121474112,1121474151,US
1121474152,1121474159,CA
-1121474160,1121474303,US
-1121474304,1121474319,VE
-1121474320,1121474351,US
+1121474160,1121474351,US
1121474352,1121474359,NZ
-1121474360,1121474367,US
-1121474368,1121474375,AU
-1121474376,1121474383,US
+1121474360,1121474383,US
1121474384,1121474415,AU
-1121474416,1121474447,US
-1121474448,1121474455,AU
-1121474456,1121474511,US
-1121474512,1121474527,UA
-1121474528,1121474535,US
+1121474416,1121474535,US
1121474536,1121474543,GB
1121474544,1121474591,US
1121474592,1121474607,CA
@@ -22693,8 +26007,7 @@
1121477392,1121477399,IN
1121477400,1121477415,US
1121477416,1121477423,NZ
-1121477424,1121477431,US
-1121477432,1121477439,IE
+1121477424,1121477439,US
1121477440,1121477447,ID
1121477448,1121477551,US
1121477552,1121477567,CA
@@ -22714,11 +26027,7 @@
1121478208,1121478239,GB
1121478240,1121478343,US
1121478344,1121478367,AU
-1121478368,1121478463,US
-1121478464,1121478471,GR
-1121478472,1121478495,US
-1121478496,1121478503,NO
-1121478504,1121478511,US
+1121478368,1121478511,US
1121478512,1121478519,RU
1121478520,1121478527,KE
1121478528,1121478591,US
@@ -22742,23 +26051,18 @@
1121479360,1121479367,NZ
1121479368,1121479407,US
1121479408,1121479415,CA
-1121479416,1121479679,US
-1121479680,1121479687,GB
+1121479416,1121479687,US
1121479688,1121479695,CA
1121479696,1121479759,US
1121479760,1121479783,AU
1121479784,1121479831,US
1121479832,1121479839,NZ
1121479840,1121479847,IN
-1121479848,1121479871,US
-1121479872,1121479887,PK
-1121479888,1121479919,US
+1121479848,1121479919,US
1121479920,1121479927,AU
1121479928,1121480783,US
1121480784,1121480791,TH
-1121480792,1121480799,US
-1121480800,1121480807,CA
-1121480808,1121480847,US
+1121480792,1121480847,US
1121480848,1121480855,CY
1121480856,1121480903,US
1121480904,1121480911,HK
@@ -22770,9 +26074,7 @@
1121481040,1121481047,AU
1121481048,1121481055,US
1121481056,1121481087,AU
-1121481088,1121481239,US
-1121481240,1121481247,AU
-1121481248,1121481407,US
+1121481088,1121481407,US
1121481408,1121481415,GB
1121481416,1121481439,US
1121481440,1121481447,AT
@@ -22798,15 +26100,9 @@
1121714976,1121714991,AU
1121714992,1121715935,US
1121715936,1121715943,A1
-1121715944,1121715967,US
-1121715968,1121716095,IT
-1121716096,1121717431,US
+1121715944,1121717431,US
1121717432,1121717439,JP
-1121717440,1121717759,US
-1121717760,1121718015,IT
-1121718016,1121721703,US
-1121721704,1121721727,CN
-1121721728,1121878015,US
+1121717440,1121878015,US
1121878016,1121910783,CA
1121910784,1122074623,US
1122074624,1122087935,CA
@@ -22824,37 +26120,47 @@
1122101128,1122101135,SE
1122101136,1122101375,US
1122101376,1122101383,CO
-1122101384,1122101431,US
-1122101432,1122101439,SG
-1122101440,1122101471,US
+1122101384,1122101471,US
1122101472,1122101479,VE
1122101480,1122103471,US
1122103472,1122103479,BE
-1122103480,1122125996,US
-1122125997,1122126004,GB
-1122126005,1122126239,US
-1122126240,1122126249,GB
-1122126250,1122126745,US
+1122103480,1122126745,US
1122126746,1122126753,CH
1122126754,1122140159,US
1122140160,1122148351,CA
1122148352,1122179343,US
1122179344,1122179351,CA
-1122179352,1122197599,US
-1122197600,1122197607,FR
-1122197608,1122197623,US
-1122197624,1122197631,FR
-1122197632,1122197695,US
+1122179352,1122197695,US
1122197696,1122197727,GB
1122197728,1122197735,US
-1122197736,1122197759,GB
-1122197760,1122197767,US
+1122197736,1122197743,GB
+1122197744,1122197767,US
1122197768,1122197775,FR
-1122197776,1122197823,US
-1122197824,1122197831,GB
-1122197832,1122203135,US
+1122197776,1122203135,US
1122203136,1122203391,GB
-1122203392,1122320959,US
+1122203392,1122267359,US
+1122267360,1122267367,GB
+1122267368,1122267663,US
+1122267664,1122267671,CO
+1122267672,1122267695,US
+1122267696,1122267703,MX
+1122267704,1122267775,US
+1122267776,1122267807,SG
+1122267808,1122268143,US
+1122268144,1122268151,KW
+1122268152,1122269727,US
+1122269728,1122269735,SA
+1122269736,1122269903,US
+1122269904,1122269911,GB
+1122269912,1122269999,US
+1122270000,1122270007,CA
+1122270008,1122270575,US
+1122270576,1122270583,IN
+1122270584,1122270623,US
+1122270624,1122270639,GB
+1122270640,1122270879,US
+1122270880,1122270887,CN
+1122270888,1122320959,US
1122320960,1122320995,PT
1122320996,1122411551,US
1122411552,1122411583,AU
@@ -22881,31 +26187,11 @@
1122480480,1122480487,CA
1122480488,1122493055,US
1122493056,1122493183,ES
-1122493184,1122493439,US
-1122493440,1122494207,PR
-1122494208,1122495231,US
-1122495232,1122495999,PR
-1122496000,1122497535,US
-1122497536,1122498047,PR
-1122498048,1122498559,US
-1122498560,1122498815,PR
-1122498816,1122499583,US
-1122499584,1122500095,PR
-1122500096,1122525855,US
-1122525856,1122525865,RU
-1122525866,1122526096,US
-1122526097,1122526111,RU
-1122526112,1122526454,US
-1122526455,1122526462,RU
-1122526463,1122526876,US
-1122526877,1122526888,RU
-1122526889,1122528183,US
-1122528184,1122528254,RU
-1122528255,1122528603,US
+1122493184,1122497535,US
+1122497536,1122497791,PR
+1122497792,1122528603,US
1122528604,1122528613,ES
-1122528614,1122528832,US
-1122528833,1122528863,GR
-1122528864,1122535423,US
+1122528614,1122535423,US
1122535424,1122538495,KR
1122538496,1122635775,US
1122635776,1122639871,CA
@@ -22927,21 +26213,18 @@
1123534848,1123536895,AW
1123536896,1123582239,US
1123582240,1123582271,CY
-1123582272,1123582399,US
-1123582400,1123582431,DE
-1123582432,1123582463,CA
-1123582464,1123583487,US
-1123583488,1123583519,CY
-1123583520,1123584351,US
-1123584352,1123584383,DE
-1123584384,1123588063,US
-1123588064,1123588095,CY
-1123588096,1123589631,US
+1123582272,1123584511,US
+1123584512,1123584767,ES
+1123584768,1123589631,US
1123589632,1123589887,DE
1123589888,1123590143,US
1123590144,1123598335,VI
1123598336,1123651583,US
-1123651584,1123653631,JM
+1123651584,1123651839,JM
+1123651840,1123652095,BB
+1123652096,1123653119,JM
+1123653120,1123653375,BB
+1123653376,1123653631,JM
1123653632,1123654655,KY
1123654656,1123655679,JM
1123655680,1123663871,US
@@ -22949,7 +26232,7 @@
1123667968,1123670015,PR
1123670016,1123671039,US
1123671040,1123672063,PY
-1123672064,1123794943,US
+1123672064,1123778559,US
1123794944,1123795199,DO
1123795200,1123801087,US
1123801088,1123801343,RU
@@ -22967,15 +26250,12 @@
1124028512,1124028543,NC
1124028544,1125064703,US
1125064704,1125065215,GB
-1125065216,1125078719,US
-1125078720,1125078751,PR
-1125078752,1125081087,US
+1125065216,1125081087,US
1125081088,1125081151,CL
1125081152,1125081183,CA
1125081184,1125081215,US
1125081216,1125081279,GB
-1125081280,1125081311,PR
-1125081312,1125081855,US
+1125081280,1125081855,US
1125081856,1125082111,DE
1125082112,1125082367,US
1125082368,1125082623,DE
@@ -23056,8 +26336,7 @@
1125100032,1125103359,US
1125103360,1125103487,A1
1125103488,1125103519,UY
-1125103520,1125106063,US
-1125106064,1125106111,CA
+1125103520,1125106111,US
1125106112,1125106175,GB
1125106176,1125106207,AU
1125106208,1125106223,TR
@@ -23142,9 +26421,7 @@
1125454008,1125454015,GB
1125454016,1125454111,US
1125454112,1125454119,ES
-1125454120,1125454143,US
-1125454144,1125454151,GB
-1125454152,1125454271,US
+1125454120,1125454271,US
1125454272,1125454279,DE
1125454280,1125454303,US
1125454304,1125454323,NO
@@ -23181,9 +26458,7 @@
1125454592,1125454847,A2
1125454848,1125455359,US
1125455360,1125455363,CA
-1125455364,1125455367,US
-1125455368,1125455371,GB
-1125455372,1125455395,US
+1125455364,1125455395,US
1125455396,1125455399,NO
1125455400,1125455423,US
1125455424,1125455427,ES
@@ -23220,9 +26495,7 @@
1125455872,1125456131,US
1125456132,1125456135,NO
1125456136,1125456139,A2
-1125456140,1125456151,US
-1125456152,1125456155,NL
-1125456156,1125456163,US
+1125456140,1125456163,US
1125456164,1125456167,NO
1125456168,1125456175,US
1125456176,1125456179,NO
@@ -23244,8 +26517,10 @@
1125456420,1125474303,US
1125474304,1125478399,CA
1125478400,1125479199,US
-1125479200,1125479255,BR
-1125479256,1125493127,US
+1125479200,1125479263,BR
+1125479264,1125481215,US
+1125481216,1125481471,CA
+1125481472,1125493127,US
1125493128,1125493135,CA
1125493136,1125498879,US
1125498880,1125508095,CA
@@ -23278,7 +26553,9 @@
1125541184,1125541215,KY
1125541216,1125541223,CA
1125541224,1125541231,US
-1125541232,1125541391,CA
+1125541232,1125541247,CA
+1125541248,1125541279,US
+1125541280,1125541391,CA
1125541392,1125541407,US
1125541408,1125541487,CA
1125541488,1125541503,US
@@ -23288,14 +26565,22 @@
1125541808,1125541815,US
1125541816,1125541951,CA
1125541952,1125541959,BM
-1125541960,1125543543,CA
+1125541960,1125542143,CA
+1125542144,1125542159,US
+1125542160,1125542175,CA
+1125542176,1125542199,US
+1125542200,1125542239,CA
+1125542240,1125542255,FR
+1125542256,1125542351,CA
+1125542352,1125542367,US
+1125542368,1125543543,CA
1125543544,1125543551,US
1125543552,1125543687,CA
1125543688,1125543695,US
1125543696,1125543887,CA
1125543888,1125543903,US
-1125543904,1125543935,CA
-1125543936,1125545983,US
+1125543904,1125543919,CA
+1125543920,1125545983,US
1125548032,1125548291,CA
1125548292,1125548351,US
1125548352,1125550079,CA
@@ -23303,7 +26588,9 @@
1125550336,1125552127,CA
1125552128,1125572607,US
1125572608,1125576703,CA
-1125576704,1125595695,US
+1125576704,1125593503,US
+1125593504,1125593599,CA
+1125593600,1125595695,US
1125595696,1125595711,NG
1125595712,1125596343,US
1125596344,1125596351,NO
@@ -23323,23 +26610,13 @@
1125642302,1125642303,IN
1125642304,1125642674,US
1125642675,1125642694,BO
-1125642695,1126009343,US
-1126009344,1126009599,AR
-1126009600,1126504223,US
-1126504224,1126504231,PR
-1126504232,1126551767,US
-1126551768,1126551775,PR
-1126551776,1126604015,US
-1126604016,1126604023,PR
-1126604024,1126614439,US
-1126614440,1126614447,PR
-1126614448,1126671719,US
-1126671720,1126671727,PR
-1126671728,1126682719,US
-1126682720,1126682727,PR
-1126682728,1126682823,US
-1126682824,1126682831,PR
-1126682832,1126924287,US
+1125642695,1125643183,US
+1125643184,1125643187,BR
+1125643188,1125644770,US
+1125644771,1125644771,PK
+1125644772,1125645449,US
+1125645450,1125645453,CA
+1125645454,1126924287,US
1126924288,1126928383,CA
1126928384,1126948863,US
1126948864,1126949375,CA
@@ -23358,8 +26635,7 @@
1126950200,1126950207,HR
1126950208,1126950415,CA
1126950416,1126950423,PK
-1126950424,1126950431,RU
-1126950432,1126950463,CA
+1126950424,1126950463,CA
1126950464,1126950495,IT
1126950496,1126950599,CA
1126950600,1126950607,CN
@@ -23379,9 +26655,7 @@
1126952032,1126952039,LB
1126952040,1126952263,CA
1126952264,1126952271,PH
-1126952272,1126952447,CA
-1126952448,1126952511,AE
-1126952512,1126952559,CA
+1126952272,1126952559,CA
1126952560,1126952567,TH
1126952568,1126952895,CA
1126952896,1126952959,CY
@@ -23403,11 +26677,7 @@
1127988552,1127988559,AU
1127988560,1127988687,US
1127988688,1127988695,IL
-1127988696,1128285063,US
-1128285064,1128285071,PR
-1128285072,1128288271,US
-1128288272,1128288287,PR
-1128288288,1128529919,US
+1127988696,1128529919,US
1128529920,1128633999,CA
1128634000,1128634015,US
1128634016,1128641023,CA
@@ -23415,13 +26685,7 @@
1128641536,1128792063,CA
1128792064,1128818687,US
1128818688,1128818719,CA
-1128818720,1131440135,US
-1131440136,1131440143,PR
-1131440144,1131949295,US
-1131949296,1131949303,PR
-1131949304,1132020767,US
-1132020768,1132020775,PR
-1132020776,1132582463,US
+1128818720,1132582463,US
1132582464,1132582479,CA
1132582480,1132713607,US
1132713608,1132713615,CA
@@ -23441,8 +26705,8 @@
1133785472,1133785503,GB
1133785504,1133785567,US
1133785568,1133785599,BE
-1133785600,1134029055,US
-1134029056,1134029567,A2
+1133785600,1134029311,US
+1134029312,1134029567,A2
1134029568,1134440447,US
1134440448,1134443520,CN
1134443521,1134444543,US
@@ -23451,9 +26715,7 @@
1134545920,1134545951,BH
1134545952,1134546175,US
1134546176,1134546207,BH
-1134546208,1134546479,US
-1134546480,1134546495,JP
-1134546496,1134546943,US
+1134546208,1134546943,US
1134546944,1134551039,CA
1134551040,1136517007,US
1136517008,1136517023,GB
@@ -23499,9 +26761,7 @@
1136659024,1136659031,AU
1136659032,1136659039,US
1136659040,1136659047,AU
-1136659048,1136659151,US
-1136659152,1136659167,CA
-1136659168,1136659599,US
+1136659048,1136659599,US
1136659600,1136659607,MX
1136659608,1136659639,US
1136659640,1136659647,FR
@@ -23555,9 +26815,7 @@
1136662088,1136662095,CA
1136662096,1136662151,US
1136662152,1136662159,MX
-1136662160,1136662575,US
-1136662576,1136662583,CA
-1136662584,1136662663,US
+1136662160,1136662663,US
1136662664,1136662671,CA
1136662672,1136662815,US
1136662816,1136662823,IN
@@ -23588,9 +26846,7 @@
1136665656,1136665663,IN
1136665664,1136665735,US
1136665736,1136665743,GB
-1136665744,1136665759,US
-1136665760,1136665767,CA
-1136665768,1136665831,US
+1136665744,1136665831,US
1136665832,1136665839,CA
1136665840,1136665919,US
1136665920,1136665927,DE
@@ -23602,9 +26858,7 @@
1136666352,1136666359,IL
1136666360,1136666447,US
1136666448,1136666463,GB
-1136666464,1136666559,US
-1136666560,1136666575,GB
-1136666576,1136666743,US
+1136666464,1136666743,US
1136666744,1136666751,CA
1136666752,1136666791,US
1136666792,1136666799,IL
@@ -23664,9 +26918,7 @@
1136669912,1136669919,ES
1136669920,1136670063,US
1136670064,1136670071,SG
-1136670072,1136670111,US
-1136670112,1136670119,NZ
-1136670120,1136670151,US
+1136670072,1136670151,US
1136670152,1136670159,SG
1136670160,1136670719,US
1136670720,1136670975,GB
@@ -23730,9 +26982,7 @@
1136676584,1136676591,AU
1136676592,1136676671,US
1136676672,1136676679,CA
-1136676680,1136676735,US
-1136676736,1136676743,AU
-1136676744,1136677375,US
+1136676680,1136677375,US
1136677376,1136677391,AU
1136677392,1136677463,US
1136677464,1136677471,CA
@@ -23797,9 +27047,7 @@
1136682864,1136682871,CA
1136682872,1136683095,US
1136683096,1136683103,IL
-1136683104,1136683127,US
-1136683128,1136683135,MX
-1136683136,1136683367,US
+1136683104,1136683367,US
1136683368,1136683375,GB
1136683376,1136683383,ZA
1136683384,1136683527,US
@@ -23857,9 +27105,7 @@
1136685936,1136685943,IT
1136685944,1136686047,US
1136686048,1136686055,IE
-1136686056,1136689159,US
-1136689160,1136689167,BR
-1136689168,1136689271,US
+1136686056,1136689271,US
1136689272,1136689279,MX
1136689280,1136689431,US
1136689432,1136689439,BM
@@ -24175,12 +27421,9 @@
1136718880,1136718895,AU
1136718896,1136721919,US
1136721920,1136787455,CA
-1136787456,1137090815,US
-1137090816,1137091327,NZ
-1137091328,1137189135,US
+1136787456,1137189135,US
1137189136,1137189151,IE
-1137189152,1137189183,US
-1137189184,1137189247,IE
+1137189152,1137189247,US
1137189248,1137189255,GB
1137189256,1137189263,US
1137189264,1137189271,GB
@@ -24188,17 +27431,27 @@
1137195520,1137195775,JP
1137195776,1137254815,US
1137254816,1137254831,NZ
-1137254832,1137278975,US
+1137254832,1137255167,US
+1137255168,1137255423,IT
+1137255424,1137256191,US
+1137256192,1137256203,IT
+1137256204,1137260927,US
+1137260928,1137260959,IT
+1137260960,1137261119,US
+1137261120,1137261183,IT
+1137261184,1137278975,US
1137278976,1137283071,CA
1137283072,1137287167,US
1137287168,1137295359,CA
1137295360,1137341063,US
1137341064,1137341064,GB
1137341065,1137369087,US
-1137369088,1137369519,CA
+1137369088,1137369359,CA
+1137369360,1137369375,US
+1137369376,1137369519,CA
1137369520,1137369535,US
-1137369536,1137370111,CA
-1137370112,1137376255,US
+1137369536,1137369855,CA
+1137369856,1137376255,US
1137376256,1137376335,CA
1137376336,1137376351,US
1137376352,1137376367,CA
@@ -24207,8 +27460,8 @@
1137376464,1137376479,US
1137376480,1137376511,CA
1137376512,1137376639,US
-1137376640,1137376703,CA
-1137376704,1137377311,US
+1137376640,1137376719,CA
+1137376720,1137377311,US
1137377312,1137377327,DE
1137377328,1137383455,US
1137383456,1137383471,DE
@@ -24218,12 +27471,844 @@
1137459200,1137491967,US
1137491968,1137508351,CA
1137508352,1137524735,US
-1137524736,1137541119,CA
+1137524736,1137524743,MX
+1137524744,1137524751,FR
+1137524752,1137524759,MX
+1137524760,1137524767,CA
+1137524768,1137524775,BR
+1137524776,1137524791,CA
+1137524792,1137524799,AE
+1137524800,1137524815,US
+1137524816,1137524831,IL
+1137524832,1137524847,US
+1137524848,1137524851,CA
+1137524852,1137524855,BR
+1137524856,1137524879,CA
+1137524880,1137524887,SA
+1137524888,1137524935,US
+1137524936,1137525007,CA
+1137525008,1137525015,US
+1137525016,1137525031,CA
+1137525032,1137525047,IN
+1137525048,1137525087,US
+1137525088,1137525111,CA
+1137525112,1137525119,US
+1137525120,1137525167,CA
+1137525168,1137525175,US
+1137525176,1137525183,CA
+1137525184,1137525215,BR
+1137525216,1137525223,MX
+1137525224,1137525231,CN
+1137525232,1137525247,CA
+1137525248,1137525279,IN
+1137525280,1137525295,CA
+1137525296,1137525343,US
+1137525344,1137525375,CA
+1137525376,1137525407,FR
+1137525408,1137525423,KW
+1137525424,1137525455,US
+1137525456,1137525471,BR
+1137525472,1137525487,CA
+1137525488,1137525503,GB
+1137525504,1137525791,CA
+1137525792,1137525823,US
+1137525824,1137525831,MX
+1137525832,1137525839,CA
+1137525840,1137525855,RU
+1137525856,1137525887,US
+1137525888,1137525903,BR
+1137525904,1137525919,CA
+1137525920,1137525935,US
+1137525936,1137525943,MX
+1137525944,1137525951,CA
+1137525952,1137525991,US
+1137525992,1137525999,TR
+1137526000,1137526007,GB
+1137526008,1137526011,CA
+1137526012,1137526015,BR
+1137526016,1137526039,CA
+1137526040,1137526047,IL
+1137526048,1137526055,US
+1137526056,1137526063,IN
+1137526064,1137526071,US
+1137526072,1137526079,BR
+1137526080,1137526087,CH
+1137526088,1137526095,PA
+1137526096,1137526111,GB
+1137526112,1137526127,BR
+1137526128,1137526135,CA
+1137526136,1137526143,BR
+1137526144,1137526159,CA
+1137526160,1137526167,PK
+1137526168,1137526175,ZA
+1137526176,1137526191,CA
+1137526192,1137526199,TN
+1137526200,1137526271,CA
+1137526272,1137526275,CY
+1137526276,1137526279,CA
+1137526280,1137526287,CH
+1137526288,1137526311,CA
+1137526312,1137526319,MX
+1137526320,1137526327,CA
+1137526328,1137526335,MX
+1137526336,1137526339,US
+1137526340,1137526343,CA
+1137526344,1137526351,US
+1137526352,1137526391,CA
+1137526392,1137526399,IL
+1137526400,1137526407,AE
+1137526408,1137526415,CA
+1137526416,1137526431,IN
+1137526432,1137526439,CA
+1137526440,1137526447,US
+1137526448,1137526455,CN
+1137526456,1137526459,CA
+1137526460,1137526463,IN
+1137526464,1137526471,CA
+1137526472,1137526479,NP
+1137526480,1137526831,CA
+1137526832,1137526839,US
+1137526840,1137526847,CA
+1137526848,1137526855,US
+1137526856,1137526871,CA
+1137526872,1137526879,IN
+1137526880,1137526895,CA
+1137526896,1137526903,AE
+1137526904,1137526935,CA
+1137526936,1137526943,CN
+1137526944,1137526951,BH
+1137526952,1137526959,CY
+1137526960,1137526967,CA
+1137526968,1137526975,IN
+1137526976,1137526991,CA
+1137526992,1137526999,US
+1137527000,1137527015,CA
+1137527016,1137527023,CO
+1137527024,1137527551,CA
+1137527552,1137527559,US
+1137527560,1137527591,CA
+1137527592,1137527599,IL
+1137527600,1137527623,CA
+1137527624,1137527631,TR
+1137527632,1137527639,AE
+1137527640,1137527671,CA
+1137527672,1137527679,IN
+1137527680,1137527687,CA
+1137527688,1137527695,MX
+1137527696,1137527711,CA
+1137527712,1137527727,US
+1137527728,1137527759,CA
+1137527760,1137527767,US
+1137527768,1137527775,VN
+1137527776,1137527779,GB
+1137527780,1137528063,CA
+1137528064,1137528103,US
+1137528104,1137528111,NL
+1137528112,1137528127,CA
+1137528128,1137528135,DE
+1137528136,1137528143,CA
+1137528144,1137528151,IN
+1137528152,1137528159,HR
+1137528160,1137528167,SA
+1137528168,1137528175,US
+1137528176,1137528255,CA
+1137528256,1137528263,TR
+1137528264,1137528319,CA
+1137528320,1137528327,ES
+1137528328,1137528343,CA
+1137528344,1137528351,US
+1137528352,1137528359,AR
+1137528360,1137528367,GB
+1137528368,1137528375,CA
+1137528376,1137528383,PK
+1137528384,1137528391,BR
+1137528392,1137528423,CA
+1137528424,1137528431,IR
+1137528432,1137528447,US
+1137528448,1137528455,IN
+1137528456,1137528463,AR
+1137528464,1137528479,CA
+1137528480,1137528495,AR
+1137528496,1137528511,US
+1137528512,1137528527,KW
+1137528528,1137528535,BR
+1137528536,1137528543,US
+1137528544,1137528559,CA
+1137528560,1137528567,AE
+1137528568,1137528575,CA
+1137528576,1137528623,KW
+1137528624,1137528639,BR
+1137528640,1137528687,KW
+1137528688,1137528703,SG
+1137528704,1137528719,KW
+1137528720,1137528727,IN
+1137528728,1137528735,IL
+1137528736,1137528767,KW
+1137528768,1137528959,CA
+1137528960,1137528991,US
+1137528992,1137529103,CA
+1137529104,1137529111,IT
+1137529112,1137529115,DZ
+1137529116,1137529119,CA
+1137529120,1137529127,US
+1137529128,1137529167,CA
+1137529168,1137529179,BR
+1137529180,1137529199,CA
+1137529200,1137529231,BR
+1137529232,1137529239,IL
+1137529240,1137529247,CA
+1137529248,1137529263,LV
+1137529264,1137529271,BG
+1137529272,1137529279,BR
+1137529280,1137529287,CA
+1137529288,1137529295,US
+1137529296,1137529319,CA
+1137529320,1137529327,AR
+1137529328,1137529335,JP
+1137529336,1137529375,CA
+1137529376,1137529407,US
+1137529408,1137529439,GB
+1137529440,1137529455,CA
+1137529456,1137529463,BR
+1137529464,1137529479,CA
+1137529480,1137529487,US
+1137529488,1137529495,UY
+1137529496,1137529503,CA
+1137529504,1137529511,GB
+1137529512,1137529519,MX
+1137529520,1137529535,US
+1137529536,1137529543,CY
+1137529544,1137529551,SA
+1137529552,1137529567,CA
+1137529568,1137529575,DE
+1137529576,1137529583,PK
+1137529584,1137529599,CA
+1137529600,1137529607,PA
+1137529608,1137529615,IN
+1137529616,1137529655,US
+1137529656,1137529663,DK
+1137529664,1137529671,QA
+1137529672,1137529679,US
+1137529680,1137529687,CA
+1137529688,1137529695,MC
+1137529696,1137529703,CA
+1137529704,1137529707,TR
+1137529708,1137529711,CA
+1137529712,1137529719,AU
+1137529720,1137529727,US
+1137529728,1137529759,CN
+1137529760,1137529763,CA
+1137529764,1137529767,SA
+1137529768,1137529775,CA
+1137529776,1137529783,AR
+1137529784,1137529787,CH
+1137529788,1137529823,CA
+1137529824,1137529831,MX
+1137529832,1137529855,CA
+1137529856,1137529887,US
+1137529888,1137529919,GB
+1137529920,1137529935,CA
+1137529936,1137529943,IN
+1137529944,1137529951,CO
+1137529952,1137529955,GB
+1137529956,1137529959,CA
+1137529960,1137529967,EG
+1137529968,1137529975,KW
+1137529976,1137529991,US
+1137529992,1137529999,CO
+1137530000,1137530003,CA
+1137530004,1137530007,US
+1137530008,1137530015,VE
+1137530016,1137530023,CA
+1137530024,1137530031,AU
+1137530032,1137530039,MD
+1137530040,1137530047,DZ
+1137530048,1137530055,AR
+1137530056,1137530063,CA
+1137530064,1137530071,US
+1137530072,1137530075,MX
+1137530076,1137530079,CA
+1137530080,1137530087,AR
+1137530088,1137530095,CA
+1137530096,1137530103,US
+1137530104,1137530415,CA
+1137530416,1137530431,AR
+1137530432,1137530471,CA
+1137530472,1137530479,GR
+1137530480,1137530495,GY
+1137530496,1137530527,CA
+1137530528,1137530559,US
+1137530560,1137530631,CA
+1137530632,1137530639,DE
+1137530640,1137530679,CA
+1137530680,1137530687,IN
+1137530688,1137530695,MX
+1137530696,1137530703,IN
+1137530704,1137530719,CA
+1137530720,1137530751,BR
+1137530752,1137530759,CA
+1137530760,1137530767,EG
+1137530768,1137530791,CA
+1137530792,1137530799,ZA
+1137530800,1137530847,CA
+1137530848,1137530863,US
+1137530864,1137530871,IR
+1137530872,1137530879,TT
+1137530880,1137530911,US
+1137530912,1137530919,CA
+1137530920,1137530927,GB
+1137530928,1137530935,PK
+1137530936,1137530939,UY
+1137530940,1137530943,CA
+1137530944,1137530951,AE
+1137530952,1137530959,DK
+1137530960,1137530975,CA
+1137530976,1137530983,US
+1137530984,1137530991,CA
+1137530992,1137530999,US
+1137531000,1137531007,CA
+1137531008,1137531015,AR
+1137531016,1137531023,GB
+1137531024,1137531031,PK
+1137531032,1137531039,CA
+1137531040,1137531047,NL
+1137531048,1137531055,IR
+1137531056,1137531071,CA
+1137531072,1137531103,US
+1137531104,1137531111,IN
+1137531112,1137531119,CA
+1137531120,1137531123,US
+1137531124,1137531127,CA
+1137531128,1137531135,BR
+1137531136,1137531391,CA
+1137531392,1137531407,NL
+1137531408,1137531423,MA
+1137531424,1137531439,BR
+1137531440,1137531455,IN
+1137531456,1137531487,CA
+1137531488,1137531503,NR
+1137531504,1137531551,CA
+1137531552,1137531567,PT
+1137531568,1137531583,US
+1137531584,1137531599,CA
+1137531600,1137531615,BR
+1137531616,1137531631,AU
+1137531632,1137531647,CA
+1137531648,1137531655,EG
+1137531656,1137531663,US
+1137531664,1137531671,CA
+1137531672,1137531679,CO
+1137531680,1137531687,CA
+1137531688,1137531695,EC
+1137531696,1137531719,CA
+1137531720,1137531727,PA
+1137531728,1137531735,AR
+1137531736,1137531739,CA
+1137531740,1137531743,SA
+1137531744,1137531751,CA
+1137531752,1137531759,EC
+1137531760,1137531767,US
+1137531768,1137531775,CA
+1137531776,1137531783,VE
+1137531784,1137531799,CA
+1137531800,1137531807,JP
+1137531808,1137531823,CA
+1137531824,1137531831,FR
+1137531832,1137531839,CY
+1137531840,1137531871,CA
+1137531872,1137531879,EC
+1137531880,1137531895,CA
+1137531896,1137531903,CN
+1137531904,1137531967,CA
+1137531968,1137531971,DE
+1137531972,1137531975,CA
+1137531976,1137531983,NL
+1137531984,1137532015,CA
+1137532016,1137532019,IN
+1137532020,1137532183,CA
+1137532184,1137532191,BR
+1137532192,1137532199,CL
+1137532200,1137532203,CA
+1137532204,1137532207,BR
+1137532208,1137532215,GB
+1137532216,1137532223,PK
+1137532224,1137532231,MX
+1137532232,1137532239,JO
+1137532240,1137532263,CA
+1137532264,1137532271,YE
+1137532272,1137532279,AR
+1137532280,1137532287,CA
+1137532288,1137532295,FR
+1137532296,1137532303,GT
+1137532304,1137532311,US
+1137532312,1137532319,BR
+1137532320,1137532339,CA
+1137532340,1137532343,GB
+1137532344,1137532359,CA
+1137532360,1137532363,US
+1137532364,1137532367,DE
+1137532368,1137532375,CA
+1137532376,1137532383,CY
+1137532384,1137532391,CA
+1137532392,1137532399,BR
+1137532400,1137532407,VE
+1137532408,1137532415,CA
+1137532416,1137532423,AE
+1137532424,1137532431,BR
+1137532432,1137532435,CA
+1137532436,1137532439,GB
+1137532440,1137532463,CA
+1137532464,1137532479,AU
+1137532480,1137532487,CA
+1137532488,1137532495,GB
+1137532496,1137532503,CA
+1137532504,1137532511,LV
+1137532512,1137532519,IN
+1137532520,1137532527,CA
+1137532528,1137532535,IN
+1137532536,1137532555,CA
+1137532556,1137532559,BR
+1137532560,1137532567,MX
+1137532568,1137532575,BR
+1137532576,1137532591,CA
+1137532592,1137532599,IL
+1137532600,1137532603,DK
+1137532604,1137532607,CA
+1137532608,1137532615,IN
+1137532616,1137532639,CA
+1137532640,1137532643,BR
+1137532644,1137532655,CA
+1137532656,1137532663,EC
+1137532664,1137532711,CA
+1137532712,1137532719,UA
+1137532720,1137532727,CA
+1137532728,1137532731,NZ
+1137532732,1137532747,CA
+1137532748,1137532751,AE
+1137532752,1137532755,CA
+1137532756,1137532759,AU
+1137532760,1137532763,CA
+1137532764,1137532767,TR
+1137532768,1137532787,CA
+1137532788,1137532791,SA
+1137532792,1137532795,US
+1137532796,1137532799,CA
+1137532800,1137532803,FR
+1137532804,1137532807,CA
+1137532808,1137532811,AE
+1137532812,1137532815,CA
+1137532816,1137532823,IL
+1137532824,1137532843,CA
+1137532844,1137532847,IR
+1137532848,1137532851,GB
+1137532852,1137532855,US
+1137532856,1137532871,CA
+1137532872,1137532875,NL
+1137532876,1137532879,CA
+1137532880,1137532883,RU
+1137532884,1137532887,CA
+1137532888,1137532895,MA
+1137532896,1137533183,CA
+1137533184,1137533191,RU
+1137533192,1137533199,BR
+1137533200,1137533215,CA
+1137533216,1137533223,US
+1137533224,1137533231,CA
+1137533232,1137533239,US
+1137533240,1137533247,CA
+1137533248,1137533255,US
+1137533256,1137533263,NL
+1137533264,1137533271,CY
+1137533272,1137533279,BR
+1137533280,1137533287,CH
+1137533288,1137533295,MX
+1137533296,1137533303,DK
+1137533304,1137533311,US
+1137533312,1137533319,CR
+1137533320,1137533327,CA
+1137533328,1137533335,CO
+1137533336,1137533343,CA
+1137533344,1137533351,US
+1137533352,1137533359,CA
+1137533360,1137533367,IL
+1137533368,1137533375,ES
+1137533376,1137533383,US
+1137533384,1137533399,CA
+1137533400,1137533407,JP
+1137533408,1137533415,CA
+1137533416,1137533423,IT
+1137533424,1137533431,VG
+1137533432,1137533439,CA
+1137533440,1137533447,US
+1137533448,1137533455,IN
+1137533456,1137533463,RO
+1137533464,1137533471,IN
+1137533472,1137533479,MX
+1137533480,1137533487,AR
+1137533488,1137533495,MX
+1137533496,1137533503,AZ
+1137533504,1137533511,IN
+1137533512,1137533519,CA
+1137533520,1137533527,US
+1137533528,1137533535,GB
+1137533536,1137533559,CA
+1137533560,1137533567,US
+1137533568,1137533575,BR
+1137533576,1137533599,CA
+1137533600,1137533607,US
+1137533608,1137533615,IT
+1137533616,1137533631,CY
+1137533632,1137533671,CA
+1137533672,1137533679,IN
+1137533680,1137533687,CA
+1137533688,1137533695,GB
+1137533696,1137533703,LB
+1137533704,1137533711,BR
+1137533712,1137533719,MX
+1137533720,1137533735,CA
+1137533736,1137533743,GR
+1137533744,1137533751,AE
+1137533752,1137533759,US
+1137533760,1137533767,CA
+1137533768,1137533775,US
+1137533776,1137533783,CR
+1137533784,1137533791,US
+1137533792,1137533799,CA
+1137533800,1137533815,US
+1137533816,1137533831,CA
+1137533832,1137533839,US
+1137533840,1137533855,CA
+1137533856,1137533863,MX
+1137533864,1137533871,DE
+1137533872,1137533879,CA
+1137533880,1137533887,QA
+1137533888,1137533903,CA
+1137533904,1137533911,GB
+1137533912,1137533919,JO
+1137533920,1137533927,AE
+1137533928,1137533935,US
+1137533936,1137533943,BB
+1137533944,1137533951,US
+1137533952,1137533959,MT
+1137533960,1137533991,CA
+1137533992,1137533999,BR
+1137534000,1137534007,MX
+1137534008,1137534015,PK
+1137534016,1137534047,CA
+1137534048,1137534055,US
+1137534056,1137534063,IN
+1137534064,1137534071,CA
+1137534072,1137534079,SA
+1137534080,1137534087,CA
+1137534088,1137534095,PK
+1137534096,1137534119,CA
+1137534120,1137534127,IR
+1137534128,1137534143,US
+1137534144,1137534151,SY
+1137534152,1137534159,CA
+1137534160,1137534167,BR
+1137534168,1137534175,CA
+1137534176,1137534183,MT
+1137534184,1137534191,CA
+1137534192,1137534195,UY
+1137534196,1137534199,ES
+1137534200,1137534203,UY
+1137534204,1137534207,CA
+1137534208,1137534215,BR
+1137534216,1137534219,FR
+1137534220,1137534223,US
+1137534224,1137534231,CA
+1137534232,1137534239,IL
+1137534240,1137534247,BS
+1137534248,1137534255,PK
+1137534256,1137534271,IR
+1137534272,1137534275,US
+1137534276,1137534279,CA
+1137534280,1137534287,US
+1137534288,1137534295,BR
+1137534296,1137534303,CA
+1137534304,1137534311,US
+1137534312,1137534319,CA
+1137534320,1137534327,GB
+1137534328,1137534335,IL
+1137534336,1137534343,CA
+1137534344,1137534347,CO
+1137534348,1137534351,CA
+1137534352,1137534359,US
+1137534360,1137534363,PK
+1137534364,1137534383,CA
+1137534384,1137534391,CO
+1137534392,1137534399,CA
+1137534400,1137534407,BR
+1137534408,1137534415,CO
+1137534416,1137534423,CA
+1137534424,1137534427,GB
+1137534428,1137534431,CA
+1137534432,1137534463,US
+1137534464,1137534975,CA
+1137534976,1137534983,US
+1137534984,1137534991,PK
+1137534992,1137534999,SR
+1137535000,1137535007,CH
+1137535008,1137535015,CA
+1137535016,1137535023,SY
+1137535024,1137535039,EC
+1137535040,1137535047,CA
+1137535048,1137535055,MX
+1137535056,1137535063,PT
+1137535064,1137535067,SM
+1137535068,1137535071,CA
+1137535072,1137535103,CN
+1137535104,1137535119,AU
+1137535120,1137535127,US
+1137535128,1137535143,CA
+1137535144,1137535159,US
+1137535160,1137535167,BR
+1137535168,1137535175,RU
+1137535176,1137535183,GB
+1137535184,1137535191,RU
+1137535192,1137535199,CA
+1137535200,1137535207,US
+1137535208,1137535215,IT
+1137535216,1137535223,CA
+1137535224,1137535231,BR
+1137535232,1137535551,CA
+1137535552,1137535559,AZ
+1137535560,1137535567,ES
+1137535568,1137535575,IL
+1137535576,1137535591,CA
+1137535592,1137535599,US
+1137535600,1137535611,CA
+1137535612,1137535615,IL
+1137535616,1137535623,IE
+1137535624,1137535639,CA
+1137535640,1137535647,PT
+1137535648,1137535665,CA
+1137535666,1137535666,CU
+1137535667,1137535678,ES
+1137535679,1137535679,CA
+1137535680,1137535687,IR
+1137535688,1137535695,PK
+1137535696,1137535735,CA
+1137535736,1137535743,US
+1137535744,1137535751,PT
+1137535752,1137535767,CY
+1137535768,1137535775,CI
+1137535776,1137535783,CA
+1137535784,1137535791,GB
+1137535792,1137535799,IE
+1137535800,1137535807,CY
+1137535808,1137535815,US
+1137535816,1137535823,CA
+1137535824,1137535831,DE
+1137535832,1137535839,IN
+1137535840,1137535871,BR
+1137535872,1137535935,EC
+1137535936,1137535943,UA
+1137535944,1137535951,CL
+1137535952,1137535967,CA
+1137535968,1137535999,US
+1137536000,1137536007,RU
+1137536008,1137536015,CA
+1137536016,1137536023,GT
+1137536024,1137536031,BG
+1137536032,1137536063,CA
+1137536064,1137536071,US
+1137536072,1137536079,NO
+1137536080,1137536095,BR
+1137536096,1137536103,US
+1137536104,1137536135,CA
+1137536136,1137536143,CN
+1137536144,1137536151,CO
+1137536152,1137536159,CA
+1137536160,1137536167,BS
+1137536168,1137536183,CA
+1137536184,1137536191,IN
+1137536192,1137536199,CA
+1137536200,1137536207,BR
+1137536208,1137536215,US
+1137536216,1137536223,CH
+1137536224,1137536231,BM
+1137536232,1137536239,IN
+1137536240,1137536271,CA
+1137536272,1137536287,US
+1137536288,1137536295,VN
+1137536296,1137536303,DK
+1137536304,1137536319,CA
+1137536320,1137536327,LK
+1137536328,1137536343,CA
+1137536344,1137536351,SG
+1137536352,1137536359,CO
+1137536360,1137536391,CA
+1137536392,1137536399,IN
+1137536400,1137536423,CA
+1137536424,1137536431,RU
+1137536432,1137536439,AE
+1137536440,1137536447,IN
+1137536448,1137536455,AE
+1137536456,1137536463,CL
+1137536464,1137536471,CA
+1137536472,1137536479,US
+1137536480,1137536487,MY
+1137536488,1137536495,FR
+1137536496,1137536511,US
+1137536512,1137536639,CA
+1137536640,1137536671,US
+1137536672,1137537247,CA
+1137537248,1137537279,US
+1137537280,1137537287,CA
+1137537288,1137537295,BR
+1137537296,1137537303,US
+1137537304,1137537311,CA
+1137537312,1137537327,CH
+1137537328,1137537343,US
+1137537344,1137537351,CN
+1137537352,1137537359,FR
+1137537360,1137537367,CA
+1137537368,1137537383,DE
+1137537384,1137537399,CA
+1137537400,1137537407,GR
+1137537408,1137537415,CN
+1137537416,1137537423,CA
+1137537424,1137537431,LB
+1137537432,1137537439,BR
+1137537440,1137537455,YE
+1137537456,1137537463,US
+1137537464,1137537471,CA
+1137537472,1137537479,US
+1137537480,1137537487,DE
+1137537488,1137537503,MY
+1137537504,1137537511,YE
+1137537512,1137537543,US
+1137537544,1137537591,YE
+1137537592,1137537599,UY
+1137537600,1137537607,US
+1137537608,1137537615,CA
+1137537616,1137537631,IR
+1137537632,1137537639,AU
+1137537640,1137537647,CA
+1137537648,1137537651,AE
+1137537652,1137537655,AU
+1137537656,1137537663,CA
+1137537664,1137537671,IT
+1137537672,1137537679,AU
+1137537680,1137537683,IN
+1137537684,1137537695,CA
+1137537696,1137537727,US
+1137537728,1137537743,IR
+1137537744,1137537751,MX
+1137537752,1137537759,CO
+1137537760,1137537767,US
+1137537768,1137537783,CA
+1137537784,1137537791,IQ
+1137537792,1137537807,CA
+1137537808,1137537823,BR
+1137537824,1137537839,TR
+1137537840,1137537847,CA
+1137537848,1137537855,GB
+1137537856,1137537863,CA
+1137537864,1137537871,GB
+1137537872,1137537879,TR
+1137537880,1137537895,CA
+1137537896,1137537903,PK
+1137537904,1137537911,IR
+1137537912,1137537919,US
+1137537920,1137537927,MX
+1137537928,1137537935,AU
+1137537936,1137537959,CA
+1137537960,1137537967,BR
+1137537968,1137537975,CA
+1137537976,1137537991,US
+1137537992,1137538015,CA
+1137538016,1137538023,US
+1137538024,1137538311,CA
+1137538312,1137538319,PK
+1137538320,1137538327,US
+1137538328,1137538367,CA
+1137538368,1137538375,US
+1137538376,1137538383,CA
+1137538384,1137538391,DO
+1137538392,1137538399,RS
+1137538400,1137538415,CA
+1137538416,1137538423,SA
+1137538424,1137538559,CA
+1137538560,1137538567,IS
+1137538568,1137538575,CA
+1137538576,1137538591,PK
+1137538592,1137538599,DO
+1137538600,1137538615,CA
+1137538616,1137538623,VE
+1137538624,1137538631,US
+1137538632,1137538639,BR
+1137538640,1137538647,PK
+1137538648,1137538655,BR
+1137538656,1137538679,CA
+1137538680,1137538687,CO
+1137538688,1137538695,BR
+1137538696,1137538719,CA
+1137538720,1137538727,AZ
+1137538728,1137538751,CA
+1137538752,1137538759,DE
+1137538760,1137538767,RS
+1137538768,1137538775,US
+1137538776,1137538783,CA
+1137538784,1137538791,PK
+1137538792,1137538799,CA
+1137538800,1137538807,US
+1137538808,1137538815,NZ
+1137538816,1137538823,EC
+1137538824,1137538831,CA
+1137538832,1137538839,EG
+1137538840,1137538855,CA
+1137538856,1137538879,US
+1137538880,1137538887,CA
+1137538888,1137538895,EG
+1137538896,1137538935,CA
+1137538936,1137538943,IL
+1137538944,1137538951,LB
+1137538952,1137538959,GB
+1137538960,1137538967,NZ
+1137538968,1137538975,FR
+1137538976,1137538983,CA
+1137538984,1137538991,US
+1137538992,1137538999,IS
+1137539000,1137539007,GB
+1137539008,1137539015,CA
+1137539016,1137539023,UY
+1137539024,1137539031,CN
+1137539032,1137539039,CA
+1137539040,1137539071,US
+1137539072,1137539095,CA
+1137539096,1137539103,YE
+1137539104,1137539135,US
+1137539136,1137539143,CO
+1137539144,1137539151,US
+1137539152,1137539159,CA
+1137539160,1137539167,US
+1137539168,1137539175,CA
+1137539176,1137539183,US
+1137539184,1137539191,TN
+1137539192,1137539199,PK
+1137539200,1137539223,CA
+1137539224,1137539231,IN
+1137539232,1137539239,CA
+1137539240,1137539247,TR
+1137539248,1137539255,IT
+1137539256,1137539279,CA
+1137539280,1137539287,EC
+1137539288,1137539295,BR
+1137539296,1137539303,CA
+1137539304,1137539311,US
+1137539312,1137539319,PK
+1137539320,1137539327,SE
+1137539328,1137539455,CA
+1137539456,1137539519,FR
+1137539520,1137539879,CA
+1137539880,1137539887,US
+1137539888,1137541119,CA
1137541120,1137623039,US
1137623040,1137639423,PR
-1137639424,1137692671,US
-1137692672,1137696767,A1
-1137696768,1137704967,US
+1137639424,1137704967,US
1137704968,1137705287,CA
1137705288,1137705295,US
1137705296,1137705383,CA
@@ -24282,7 +28367,9 @@
1137707720,1137707727,CA
1137707728,1137707743,US
1137707744,1137707759,CA
-1137707760,1137708151,US
+1137707760,1137707775,US
+1137707776,1137708031,CA
+1137708032,1137708151,US
1137708152,1137708167,CA
1137708168,1137708175,US
1137708176,1137708183,CA
@@ -24291,17 +28378,13 @@
1137708216,1137708247,US
1137708248,1137708255,CA
1137708256,1137708279,US
-1137708280,1137708287,CA
-1137708288,1137708799,US
-1137708800,1137708927,CA
+1137708280,1137708927,CA
1137708928,1137708943,US
1137708944,1137708951,CA
1137708952,1137708959,US
1137708960,1137709007,CA
1137709008,1137709023,US
-1137709024,1137709055,CA
-1137709056,1137709311,US
-1137709312,1137709351,CA
+1137709024,1137709351,CA
1137709352,1137709359,US
1137709360,1137709383,CA
1137709384,1137709391,US
@@ -24443,9 +28526,7 @@
1137785856,1137786111,HU
1137786112,1137795071,US
1137795072,1137799167,A2
-1137799168,1137803519,US
-1137803520,1137803775,CA
-1137803776,1137840127,US
+1137799168,1137840127,US
1137840128,1137840383,CA
1137840384,1137843711,US
1137843712,1137843775,NO
@@ -24459,17 +28540,9 @@
1137893792,1137893799,ES
1137893800,1137893807,US
1137893808,1137893823,AR
-1137893824,1137893831,CO
-1137893832,1137893871,US
-1137893872,1137893887,SZ
-1137893888,1137894271,US
-1137894272,1137894279,CO
-1137894280,1137894287,US
+1137893824,1137894287,US
1137894288,1137894295,GB
-1137894296,1137894311,CO
-1137894312,1137894319,US
-1137894320,1137894327,CO
-1137894328,1137894527,US
+1137894296,1137894527,US
1137894528,1137894535,CO
1137894536,1137894607,US
1137894608,1137894615,DO
@@ -24479,46 +28552,138 @@
1137895312,1137895319,AU
1137895320,1137895743,US
1137895744,1137895751,CO
-1137895752,1137896319,US
-1137896320,1137896327,ES
-1137896328,1137896351,US
+1137895752,1137896351,US
1137896352,1137896359,IN
-1137896360,1137900559,US
-1137900560,1137900567,GB
-1137900568,1137901327,US
-1137901328,1137901335,GB
-1137901336,1137917951,US
+1137896360,1137917951,US
1137917952,1137922047,CA
1137922048,1137926143,US
-1137926144,1137927167,CA
-1137927168,1137927423,AW
-1137927424,1137927495,CA
-1137927496,1137927503,AG
-1137927504,1137927679,CA
+1137926144,1137927519,CA
+1137927520,1137927527,AG
+1137927528,1137927679,CA
1137927680,1137927807,CR
1137927808,1137927935,CA
1137927936,1137928063,VG
-1137928064,1137928191,PA
-1137928192,1137928255,CA
+1137928064,1137928255,CA
1137928256,1137928319,BZ
1137928320,1137929727,CA
1137929728,1137929983,IE
1137929984,1137930143,CA
1137930144,1137930159,MT
1137930160,1137934335,CA
-1137934336,1137946145,US
-1137946146,1137946153,DE
-1137946154,1137946585,US
+1137934336,1137946585,US
1137946586,1137946593,NO
-1137946594,1137950975,US
-1137950976,1137951231,CA
-1137951232,1137953023,US
-1137953024,1137954815,CA
-1137954816,1137963007,US
+1137946594,1137950719,US
+1137950720,1137952255,CA
+1137952256,1137952767,US
+1137952768,1137954303,CA
+1137954304,1137963007,US
1137963008,1137967103,VI
1137967104,1137975295,CA
1137975296,1137983487,US
-1137983488,1137991679,CA
+1137983488,1137983639,CA
+1137983640,1137983647,US
+1137983648,1137983847,CA
+1137983848,1137983863,RU
+1137983864,1137984031,CA
+1137984032,1137984039,SG
+1137984040,1137984351,CA
+1137984352,1137984367,BB
+1137984368,1137984431,CA
+1137984432,1137984447,US
+1137984448,1137984467,CA
+1137984468,1137984471,LB
+1137984472,1137984639,CA
+1137984640,1137984671,US
+1137984672,1137985023,CA
+1137985024,1137985087,US
+1137985088,1137985183,CA
+1137985184,1137985191,SG
+1137985192,1137985215,CA
+1137985216,1137985279,US
+1137985280,1137985391,CA
+1137985392,1137985407,US
+1137985408,1137985415,CA
+1137985416,1137985423,AU
+1137985424,1137985479,CA
+1137985480,1137985495,IN
+1137985496,1137985535,CA
+1137985536,1137985543,US
+1137985544,1137985663,CA
+1137985664,1137985727,US
+1137985728,1137985759,CA
+1137985760,1137985791,AU
+1137985792,1137985887,CA
+1137985888,1137985903,BY
+1137985904,1137986055,CA
+1137986056,1137986063,MA
+1137986064,1137986143,CA
+1137986144,1137986151,IT
+1137986152,1137986431,CA
+1137986432,1137986495,US
+1137986496,1137986823,CA
+1137986824,1137986831,DE
+1137986832,1137986863,CA
+1137986864,1137986871,BS
+1137986872,1137987071,CA
+1137987072,1137987079,BY
+1137987080,1137987087,MA
+1137987088,1137987111,CA
+1137987112,1137987119,NL
+1137987120,1137987143,CA
+1137987144,1137987151,US
+1137987152,1137987183,CA
+1137987184,1137987191,US
+1137987192,1137987279,CA
+1137987280,1137987295,US
+1137987296,1137987519,CA
+1137987520,1137987583,US
+1137987584,1137988095,CA
+1137988096,1137988127,US
+1137988128,1137988223,CA
+1137988224,1137988351,US
+1137988352,1137988903,CA
+1137988904,1137988911,BS
+1137988912,1137989047,CA
+1137989048,1137989055,CH
+1137989056,1137989063,US
+1137989064,1137989407,CA
+1137989408,1137989415,BS
+1137989416,1137989423,CA
+1137989424,1137989431,US
+1137989432,1137989471,CA
+1137989472,1137989479,US
+1137989480,1137989487,MA
+1137989488,1137989503,CA
+1137989504,1137989511,ES
+1137989512,1137989551,CA
+1137989552,1137989559,ES
+1137989560,1137989567,CA
+1137989568,1137989583,BB
+1137989584,1137989647,CA
+1137989648,1137989655,MA
+1137989656,1137989663,NG
+1137989664,1137989687,CA
+1137989688,1137989695,NL
+1137989696,1137989743,CA
+1137989744,1137989751,BR
+1137989752,1137989791,CA
+1137989792,1137989799,GW
+1137989800,1137989807,MT
+1137989808,1137989855,CA
+1137989856,1137989863,BS
+1137989864,1137989911,CA
+1137989912,1137989919,MA
+1137989920,1137989951,CA
+1137989952,1137989959,BS
+1137989960,1137990143,CA
+1137990144,1137990159,SG
+1137990160,1137990951,CA
+1137990952,1137990959,GB
+1137990960,1137990991,CA
+1137990992,1137991007,AU
+1137991008,1137991023,CA
+1137991024,1137991039,US
+1137991040,1137991679,CA
1137991680,1138000063,US
1138000064,1138000095,CA
1138000096,1138001519,US
@@ -24530,8 +28695,7 @@
1138061312,1138163711,US
1138163712,1138163967,CA
1138163968,1138163975,MA
-1138163976,1138163983,KE
-1138163984,1138163991,CA
+1138163976,1138163991,CA
1138163992,1138163999,HR
1138164000,1138164007,PA
1138164008,1138164015,FR
@@ -24543,8 +28707,7 @@
1138164192,1138164199,PK
1138164200,1138164207,CA
1138164208,1138164215,US
-1138164216,1138164223,ES
-1138164224,1138164255,CA
+1138164216,1138164255,CA
1138164256,1138164263,LB
1138164264,1138164271,FR
1138164272,1138164279,PH
@@ -24601,9 +28764,7 @@
1138166880,1138166887,RU
1138166888,1138166919,CA
1138166920,1138166927,PH
-1138166928,1138166951,CA
-1138166952,1138166959,LU
-1138166960,1138166967,CA
+1138166928,1138166967,CA
1138166968,1138166983,FR
1138166984,1138166991,SE
1138166992,1138166999,PH
@@ -24615,21 +28776,16 @@
1138167200,1138167207,UA
1138167208,1138167215,AE
1138167216,1138167219,PH
-1138167220,1138167223,CA
-1138167224,1138167239,KE
+1138167220,1138167239,CA
1138167240,1138167247,FR
1138167248,1138167543,CA
1138167544,1138167551,PA
-1138167552,1138167775,CA
-1138167776,1138167783,PA
-1138167784,1138167791,IL
-1138167792,1138167799,CA
-1138167800,1138167807,MA
+1138167552,1138167807,CA
1138167808,1138175999,US
1138176000,1138180095,CA
1138180096,1138188287,US
-1138188288,1138192383,PR
-1138192384,1138196479,US
+1138188288,1138192127,PR
+1138192128,1138196479,US
1138196480,1138204671,CA
1138204672,1138212863,US
1138212864,1138216959,CA
@@ -24639,20 +28795,17 @@
1138337168,1138337183,GB
1138337184,1138337199,US
1138337200,1138337207,SG
-1138337208,1138417663,US
-1138417664,1138417695,CA
-1138417696,1138417727,DE
-1138417728,1138421759,US
-1138421760,1138421791,DE
-1138421792,1138425855,US
-1138425856,1138427519,KN
-1138427520,1138427647,US
-1138427648,1138429951,KN
-1138429952,1138450959,US
+1138337208,1138419711,US
+1138419712,1138419967,DE
+1138419968,1138421247,US
+1138421248,1138421503,PH
+1138421504,1138422271,US
+1138422272,1138422527,DE
+1138422528,1138424319,US
+1138424320,1138424575,CA
+1138424576,1138450959,US
1138450960,1138450967,JM
-1138450968,1138450991,US
-1138450992,1138450999,MX
-1138451000,1138451071,US
+1138450968,1138451071,US
1138451072,1138451079,GB
1138451080,1138451103,US
1138451104,1138451111,DO
@@ -24660,24 +28813,16 @@
1138451192,1138451199,BE
1138451200,1138451759,US
1138451760,1138451783,GB
-1138451784,1138451807,US
-1138451808,1138451815,AU
-1138451816,1138451823,US
-1138451824,1138451831,AU
-1138451832,1138451847,US
+1138451784,1138451847,US
1138451848,1138451855,RU
-1138451856,1138451879,US
-1138451880,1138451887,EG
-1138451888,1138451959,US
+1138451856,1138451959,US
1138451960,1138451967,RU
1138451968,1138452007,US
1138452008,1138452015,DE
1138452016,1138452047,US
1138452048,1138452055,AU
1138452056,1138452063,GB
-1138452064,1138452223,US
-1138452224,1138452231,DE
-1138452232,1138452263,US
+1138452064,1138452263,US
1138452264,1138452271,IN
1138452272,1138452287,US
1138452288,1138452295,GR
@@ -24688,23 +28833,21 @@
1138452352,1138452415,US
1138452416,1138452423,CA
1138452424,1138452431,FR
-1138452432,1138452439,CN
-1138452440,1138452455,US
+1138452432,1138452455,US
1138452456,1138452479,FR
-1138452480,1138453567,US
-1138453568,1138453615,FR
-1138453616,1138454527,US
+1138452480,1138454527,US
1138454528,1138454543,BR
1138454544,1138454591,US
1138454592,1138454599,CA
-1138454600,1138458127,US
-1138458128,1138458143,AU
-1138458144,1138458159,IN
-1138458160,1138458239,US
-1138458240,1138458255,PK
-1138458256,1138458271,AR
-1138458272,1138458287,RU
-1138458288,1138480127,US
+1138454600,1138457087,US
+1138457088,1138457095,IT
+1138457096,1138457103,US
+1138457104,1138457111,MX
+1138457112,1138457119,US
+1138457120,1138457127,PE
+1138457128,1138457143,US
+1138457144,1138457151,FR
+1138457152,1138480127,US
1138480128,1138482687,AU
1138482688,1138499583,US
1138499584,1138503679,CA
@@ -24716,9 +28859,7 @@
1138508512,1138508543,CR
1138508544,1138508575,US
1138508576,1138508591,IT
-1138508592,1138508607,US
-1138508608,1138508671,ID
-1138508672,1138508735,US
+1138508592,1138508735,US
1138508736,1138508767,CR
1138508768,1138509823,US
1138509824,1138510847,IN
@@ -24727,8 +28868,7 @@
1138510912,1138510975,IN
1138510976,1138511103,MY
1138511104,1138511167,CH
-1138511168,1138511263,RO
-1138511264,1138512383,US
+1138511168,1138512383,US
1138512384,1138512415,ID
1138512416,1138512639,US
1138512640,1138512671,ID
@@ -24736,11 +28876,7 @@
1138512896,1138512927,ID
1138512928,1138544895,US
1138544896,1138545151,GB
-1138545152,1138548991,US
-1138548992,1138549247,CA
-1138549248,1138553087,US
-1138553088,1138553343,CA
-1138553344,1138593791,US
+1138545152,1138593791,US
1138593792,1138597887,CA
1138597888,1138600447,US
1138600448,1138600703,BE
@@ -24757,9 +28893,7 @@
1138655487,1138655503,US
1138655504,1138655521,MX
1138655522,1138655581,US
-1138655582,1138655583,MX
-1138655584,1138655587,US
-1138655588,1138655589,MX
+1138655582,1138655589,MX
1138655590,1138655609,US
1138655610,1138655617,MX
1138655618,1138655629,US
@@ -24768,15 +28902,16 @@
1138655696,1138655703,MX
1138655704,1138655715,US
1138655716,1138655723,GB
-1138655724,1138655817,US
+1138655724,1138655731,US
+1138655732,1138655739,VE
+1138655740,1138655817,US
1138655818,1138655825,MX
-1138655826,1138655841,US
-1138655842,1138655849,CN
-1138655850,1138655899,US
+1138655826,1138655899,US
1138655900,1138655911,MX
1138655912,1138656025,US
1138656026,1138656033,MX
-1138656034,1138656077,US
+1138656034,1138656069,US
+1138656070,1138656077,EG
1138656078,1138656093,MX
1138656094,1138656141,US
1138656142,1138656173,GB
@@ -24785,15 +28920,19 @@
1138656199,1138656206,GB
1138656207,1138656222,US
1138656223,1138656230,EG
-1138656231,1138656597,US
-1138656598,1138656605,EG
-1138656606,1138656661,US
+1138656231,1138656388,US
+1138656389,1138656396,ID
+1138656397,1138656597,US
+1138656598,1138656613,EG
+1138656614,1138656661,US
1138656662,1138656669,MA
1138656670,1138656745,US
1138656746,1138656753,AE
1138656754,1138656909,US
1138656910,1138656917,IN
-1138656918,1138657101,US
+1138656918,1138656997,US
+1138656998,1138657005,EG
+1138657006,1138657101,US
1138657102,1138657109,IN
1138657110,1138657123,US
1138657124,1138657131,EG
@@ -24810,7 +28949,9 @@
1138657402,1138657409,IN
1138657410,1138657504,US
1138657505,1138657520,EG
-1138657521,1138657748,US
+1138657521,1138657732,US
+1138657733,1138657740,VE
+1138657741,1138657748,US
1138657749,1138657780,GB
1138657781,1138658057,US
1138658058,1138658123,GB
@@ -24820,26 +28961,25 @@
1138658176,1138658302,GB
1138658303,1138658431,US
1138658432,1138658496,PK
-1138658497,1138658497,US
-1138658498,1138658525,PK
-1138658526,1138659081,US
+1138658497,1138659081,US
1138659082,1138659207,ES
1138659208,1138659307,US
1138659308,1138659315,EG
1138659316,1138659369,US
1138659370,1138659401,GB
-1138659402,1138659465,US
+1138659402,1138659425,US
+1138659426,1138659433,VE
+1138659434,1138659465,US
1138659466,1138659497,GB
1138659498,1138659593,US
1138659594,1138659609,LK
1138659610,1138659642,GB
-1138659643,1138659650,ID
-1138659651,1138659673,US
+1138659643,1138659673,US
1138659674,1138659681,MA
-1138659682,1138659697,US
+1138659682,1138659689,ID
+1138659690,1138659697,US
1138659698,1138659705,ID
-1138659706,1138659713,CA
-1138659714,1138659723,US
+1138659706,1138659723,US
1138659724,1138659731,ID
1138659732,1138659781,US
1138659782,1138659789,NZ
@@ -24875,14 +29015,13 @@
1138660271,1138660310,GB
1138660311,1138660311,US
1138660312,1138660333,GB
-1138660334,1138660361,US
-1138660362,1138660483,EG
-1138660484,1138660499,US
+1138660334,1138660499,US
1138660500,1138660507,AE
-1138660508,1138660617,US
-1138660618,1138660625,AE
+1138660508,1138660625,US
1138660626,1138660633,EG
-1138660634,1138660665,US
+1138660634,1138660645,US
+1138660646,1138660653,VE
+1138660654,1138660665,US
1138660666,1138660673,IN
1138660674,1138660694,US
1138660695,1138660726,GB
@@ -24891,69 +29030,43 @@
1138660806,1138660821,EG
1138660822,1138660873,US
1138660874,1138660881,EG
-1138660882,1138660889,US
-1138660890,1138660897,EG
-1138660898,1138660921,US
-1138660922,1138660929,EG
-1138660930,1138660958,US
-1138660959,1138660966,MA
-1138660967,1138660982,US
+1138660882,1138660966,US
+1138660967,1138660974,VE
+1138660975,1138660982,US
1138660983,1138660990,EG
1138660991,1138661002,US
1138661003,1138661010,LK
-1138661011,1138661018,EG
-1138661019,1138661046,US
-1138661047,1138661054,CA
-1138661055,1138661055,US
+1138661011,1138661055,US
1138661056,1138661063,EG
-1138661064,1138661169,US
-1138661170,1138661177,LK
-1138661178,1138661201,US
-1138661202,1138661209,MA
-1138661210,1138661265,US
-1138661266,1138661281,EG
-1138661282,1138661299,US
-1138661300,1138661307,GB
-1138661308,1138661417,US
+1138661064,1138661137,US
+1138661138,1138661177,EG
+1138661178,1138661417,US
1138661418,1138661425,LK
-1138661426,1138661457,US
-1138661458,1138661465,IN
+1138661426,1138661441,US
+1138661442,1138661449,EG
+1138661450,1138661457,US
+1138661458,1138661465,EG
1138661466,1138661521,US
1138661522,1138661529,EG
-1138661530,1138661553,US
-1138661554,1138661561,CA
-1138661562,1138661583,US
+1138661530,1138661583,US
1138661584,1138661591,LK
-1138661592,1138661641,US
-1138661642,1138661649,EG
-1138661650,1138661669,US
+1138661592,1138661669,US
1138661670,1138661677,IN
-1138661678,1138661713,US
-1138661714,1138661721,EG
-1138661722,1138661729,US
+1138661678,1138661729,US
1138661730,1138661737,ID
-1138661738,1138661761,US
-1138661762,1138661769,ID
+1138661738,1138661769,US
1138661770,1138661777,MA
1138661778,1138661821,US
1138661822,1138661829,MA
1138661830,1138661913,US
1138661914,1138661954,EG
-1138661955,1138662057,US
-1138662058,1138662089,EG
-1138662090,1138662097,ID
-1138662098,1138662105,US
-1138662106,1138662107,EG
-1138662108,1138662169,US
-1138662170,1138662233,EG
-1138662234,1138662273,US
+1138661955,1138662273,US
1138662274,1138662309,EG
1138662310,1138662333,US
1138662334,1138662353,GB
1138662354,1138662369,US
1138662370,1138662393,GB
-1138662394,1138662409,US
-1138662410,1138662473,EG
+1138662394,1138662473,US
1138662474,1138662505,GB
1138662506,1138662537,US
1138662538,1138662545,EG
@@ -24972,9 +29085,7 @@
1138713584,1138713599,MY
1138713600,1138713927,CA
1138713928,1138713935,US
-1138713936,1138714039,CA
-1138714040,1138714047,US
-1138714048,1138714071,CA
+1138713936,1138714071,CA
1138714072,1138714079,US
1138714080,1138714087,ES
1138714088,1138716671,CA
@@ -25003,47 +29114,758 @@
1138917376,1138937855,CA
1138937856,1138941951,US
1138941952,1138950143,CA
-1138950144,1139146751,US
+1138950144,1139015695,US
+1139015696,1139015703,CA
+1139015704,1139015711,IE
+1139015712,1139015719,US
+1139015720,1139015727,CA
+1139015728,1139015743,US
+1139015744,1139015751,EG
+1139015752,1139015775,US
+1139015776,1139015783,PH
+1139015784,1139015927,US
+1139015928,1139015935,CO
+1139015936,1139015999,US
+1139016000,1139016063,PH
+1139016064,1139016191,US
+1139016192,1139016199,AU
+1139016200,1139016527,US
+1139016528,1139016543,CA
+1139016544,1139016559,US
+1139016560,1139016575,IN
+1139016576,1139017055,US
+1139017056,1139017063,PS
+1139017064,1139017095,US
+1139017096,1139017103,CN
+1139017104,1139017215,US
+1139017216,1139017231,IN
+1139017232,1139017471,US
+1139017472,1139017479,SA
+1139017480,1139017855,US
+1139017856,1139017863,BR
+1139017864,1139018055,US
+1139018056,1139018063,CA
+1139018064,1139018231,US
+1139018232,1139018239,CA
+1139018240,1139018287,US
+1139018288,1139018295,AR
+1139018296,1139018351,US
+1139018352,1139018359,SG
+1139018360,1139018631,US
+1139018632,1139018639,CA
+1139018640,1139018783,US
+1139018784,1139018791,SG
+1139018792,1139018943,US
+1139018944,1139018951,CN
+1139018952,1139019407,US
+1139019408,1139019415,CH
+1139019416,1139019487,US
+1139019488,1139019495,SA
+1139019496,1139019503,AU
+1139019504,1139019583,US
+1139019584,1139019615,CA
+1139019616,1139019719,US
+1139019720,1139019727,BR
+1139019728,1139019767,US
+1139019768,1139019775,SA
+1139019776,1139019879,US
+1139019880,1139019887,CA
+1139019888,1139019951,US
+1139019952,1139019959,BR
+1139019960,1139020063,US
+1139020064,1139020079,ID
+1139020080,1139020127,US
+1139020128,1139020135,SG
+1139020136,1139020223,US
+1139020224,1139020239,CA
+1139020240,1139020511,US
+1139020512,1139020535,CA
+1139020536,1139020815,US
+1139020816,1139020823,PH
+1139020824,1139021119,US
+1139021120,1139021127,BR
+1139021128,1139021239,US
+1139021240,1139021247,NZ
+1139021248,1139021591,US
+1139021592,1139021599,SA
+1139021600,1139022183,US
+1139022184,1139022191,AU
+1139022192,1139022431,US
+1139022432,1139022439,QA
+1139022440,1139022615,US
+1139022616,1139022623,CN
+1139022624,1139022847,US
+1139022848,1139022911,CA
+1139022912,1139023039,US
+1139023040,1139023047,TR
+1139023048,1139023063,US
+1139023064,1139023071,SG
+1139023072,1139023199,US
+1139023200,1139023215,NZ
+1139023216,1139023391,US
+1139023392,1139023407,IN
+1139023408,1139024047,US
+1139024048,1139024055,CA
+1139024056,1139024095,US
+1139024096,1139024103,CN
+1139024104,1139024527,US
+1139024528,1139024535,CN
+1139024536,1139024703,US
+1139024704,1139024767,PL
+1139024768,1139024983,US
+1139024984,1139024991,SG
+1139024992,1139025071,US
+1139025072,1139025079,IN
+1139025080,1139025167,US
+1139025168,1139025175,BR
+1139025176,1139025231,US
+1139025232,1139025239,SG
+1139025240,1139025271,US
+1139025272,1139025287,SG
+1139025288,1139025463,US
+1139025464,1139025471,IN
+1139025472,1139025487,US
+1139025488,1139025495,LT
+1139025496,1139025535,US
+1139025536,1139025543,GB
+1139025544,1139025631,US
+1139025632,1139025639,SG
+1139025640,1139025679,US
+1139025680,1139025687,GB
+1139025688,1139025791,US
+1139025792,1139025807,NZ
+1139025808,1139025815,IE
+1139025816,1139025855,US
+1139025856,1139025887,LT
+1139025888,1139025975,US
+1139025976,1139025983,CN
+1139025984,1139026079,US
+1139026080,1139026095,IN
+1139026096,1139026159,US
+1139026160,1139026167,ZA
+1139026168,1139026175,US
+1139026176,1139026207,MY
+1139026208,1139026239,CA
+1139026240,1139026303,MY
+1139026304,1139026367,TR
+1139026368,1139026431,MY
+1139026432,1139026719,US
+1139026720,1139026727,AU
+1139026728,1139026743,US
+1139026744,1139026751,GB
+1139026752,1139027295,US
+1139027296,1139027327,CO
+1139027328,1139027607,US
+1139027608,1139027615,GB
+1139027616,1139027623,IN
+1139027624,1139027807,US
+1139027808,1139027823,SA
+1139027824,1139028847,US
+1139028848,1139028855,BR
+1139028856,1139029135,US
+1139029136,1139029143,SG
+1139029144,1139029167,US
+1139029168,1139029175,CA
+1139029176,1139029375,US
+1139029376,1139029383,TR
+1139029384,1139029471,US
+1139029472,1139029479,CN
+1139029480,1139029639,US
+1139029640,1139029647,SA
+1139029648,1139029695,US
+1139029696,1139029703,SA
+1139029704,1139029775,US
+1139029776,1139029783,CA
+1139029784,1139029791,AU
+1139029792,1139029855,US
+1139029856,1139029871,SA
+1139029872,1139029887,US
+1139029888,1139029895,NL
+1139029896,1139030335,US
+1139030336,1139030343,IN
+1139030344,1139030495,US
+1139030496,1139030503,SG
+1139030504,1139030527,US
+1139030528,1139030559,SA
+1139030560,1139030727,US
+1139030728,1139030735,SG
+1139030736,1139030791,US
+1139030792,1139030799,SA
+1139030800,1139030807,US
+1139030808,1139030815,GB
+1139030816,1139030831,AR
+1139030832,1139030895,US
+1139030896,1139030911,GB
+1139030912,1139030991,US
+1139030992,1139030999,SA
+1139031000,1139031807,US
+1139031808,1139031871,PL
+1139031872,1139031903,BR
+1139031904,1139031919,CN
+1139031920,1139031999,US
+1139032000,1139032015,IN
+1139032016,1139032287,US
+1139032288,1139032295,SA
+1139032296,1139032559,US
+1139032560,1139032567,GB
+1139032568,1139033183,US
+1139033184,1139033215,CN
+1139033216,1139033367,US
+1139033368,1139033375,SG
+1139033376,1139033383,SA
+1139033384,1139033399,SG
+1139033400,1139033463,US
+1139033464,1139033471,BR
+1139033472,1139033495,US
+1139033496,1139033503,ID
+1139033504,1139033727,US
+1139033728,1139033759,SA
+1139033760,1139033823,US
+1139033824,1139033831,SG
+1139033832,1139034215,US
+1139034216,1139034223,BR
+1139034224,1139034383,US
+1139034384,1139034399,CN
+1139034400,1139034463,US
+1139034464,1139034479,IN
+1139034480,1139034495,US
+1139034496,1139034503,SG
+1139034504,1139034591,US
+1139034592,1139034599,SG
+1139034600,1139034775,US
+1139034776,1139034783,SG
+1139034784,1139035279,US
+1139035280,1139035287,SG
+1139035288,1139035319,US
+1139035320,1139035327,ID
+1139035328,1139035479,US
+1139035480,1139035487,SG
+1139035488,1139035759,US
+1139035760,1139035767,SA
+1139035768,1139035775,US
+1139035776,1139035783,SA
+1139035784,1139036375,US
+1139036376,1139036383,AU
+1139036384,1139036695,US
+1139036696,1139036703,CN
+1139036704,1139036767,US
+1139036768,1139036775,RU
+1139036776,1139037143,US
+1139037144,1139037151,AU
+1139037152,1139037599,US
+1139037600,1139037607,SA
+1139037608,1139037727,US
+1139037728,1139037735,GB
+1139037736,1139037767,US
+1139037768,1139037775,ID
+1139037776,1139037999,US
+1139038000,1139038007,AU
+1139038008,1139038079,US
+1139038080,1139038143,IN
+1139038144,1139038511,US
+1139038512,1139038519,CN
+1139038520,1139038887,US
+1139038888,1139038895,CA
+1139038896,1139038983,US
+1139038984,1139038991,PH
+1139038992,1139039031,US
+1139039032,1139039039,KW
+1139039040,1139039047,AU
+1139039048,1139039055,IN
+1139039056,1139039183,US
+1139039184,1139039191,ES
+1139039192,1139039207,US
+1139039208,1139039215,CN
+1139039216,1139039487,US
+1139039488,1139039503,AU
+1139039504,1139039535,US
+1139039536,1139039543,AU
+1139039544,1139039679,US
+1139039680,1139039687,QA
+1139039688,1139039727,US
+1139039728,1139039743,DK
+1139039744,1139039775,US
+1139039776,1139039783,CN
+1139039784,1139039815,US
+1139039816,1139039823,AU
+1139039824,1139039975,US
+1139039976,1139039983,AU
+1139039984,1139040007,US
+1139040008,1139040015,CN
+1139040016,1139040463,US
+1139040464,1139040471,PK
+1139040472,1139040535,US
+1139040536,1139040543,RU
+1139040544,1139040655,US
+1139040656,1139040663,CN
+1139040664,1139040727,US
+1139040728,1139040735,EG
+1139040736,1139040959,US
+1139040960,1139040967,KW
+1139040968,1139041071,US
+1139041072,1139041079,CN
+1139041080,1139041087,GR
+1139041088,1139041191,US
+1139041192,1139041199,SA
+1139041200,1139041455,US
+1139041456,1139041463,SG
+1139041464,1139041471,US
+1139041472,1139041479,GR
+1139041480,1139041487,IE
+1139041488,1139041791,US
+1139041792,1139041799,AU
+1139041800,1139041855,US
+1139041856,1139041863,CN
+1139041864,1139041879,US
+1139041880,1139041887,AU
+1139041888,1139041895,IN
+1139041896,1139042159,US
+1139042160,1139042167,CA
+1139042168,1139042359,US
+1139042360,1139042367,SG
+1139042368,1139042455,US
+1139042456,1139042463,CN
+1139042464,1139042495,US
+1139042496,1139042527,AU
+1139042528,1139042543,ID
+1139042544,1139042559,US
+1139042560,1139042567,SA
+1139042568,1139042735,US
+1139042736,1139042743,CN
+1139042744,1139042959,US
+1139042960,1139042967,FM
+1139042968,1139043071,US
+1139043072,1139043079,AU
+1139043080,1139043095,US
+1139043096,1139043103,IN
+1139043104,1139043223,US
+1139043224,1139043231,CA
+1139043232,1139043247,US
+1139043248,1139043255,EG
+1139043256,1139043399,US
+1139043400,1139043407,TR
+1139043408,1139043695,US
+1139043696,1139043711,TR
+1139043712,1139043871,US
+1139043872,1139043879,MX
+1139043880,1139043887,US
+1139043888,1139043895,ID
+1139043896,1139044111,US
+1139044112,1139044119,CN
+1139044120,1139044359,US
+1139044360,1139044367,ID
+1139044368,1139044479,US
+1139044480,1139044487,IN
+1139044488,1139044783,US
+1139044784,1139044791,ID
+1139044792,1139044863,US
+1139044864,1139044895,SA
+1139044896,1139045151,US
+1139045152,1139045159,IN
+1139045160,1139045279,US
+1139045280,1139045295,DK
+1139045296,1139046399,US
+1139046400,1139046431,GB
+1139046432,1139046455,US
+1139046456,1139046463,DO
+1139046464,1139046719,US
+1139046720,1139046751,IN
+1139046752,1139046783,US
+1139046784,1139046791,SA
+1139046792,1139046815,US
+1139046816,1139046831,AU
+1139046832,1139046967,US
+1139046968,1139046975,ID
+1139046976,1139047023,US
+1139047024,1139047031,EG
+1139047032,1139047127,US
+1139047128,1139047135,CA
+1139047136,1139047199,US
+1139047200,1139047207,PH
+1139047208,1139047391,US
+1139047392,1139047399,RU
+1139047400,1139047527,US
+1139047528,1139047535,RU
+1139047536,1139047663,US
+1139047664,1139047671,AU
+1139047672,1139047751,US
+1139047752,1139047759,IT
+1139047760,1139047839,US
+1139047840,1139047847,HK
+1139047848,1139047919,US
+1139047920,1139047927,ID
+1139047928,1139048047,US
+1139048048,1139048055,QA
+1139048056,1139048079,US
+1139048080,1139048087,CA
+1139048088,1139048103,US
+1139048104,1139048111,CN
+1139048112,1139048119,ID
+1139048120,1139048303,US
+1139048304,1139048311,AU
+1139048312,1139048591,US
+1139048592,1139048607,IN
+1139048608,1139048671,US
+1139048672,1139048687,IE
+1139048688,1139048855,US
+1139048856,1139048863,AU
+1139048864,1139048999,US
+1139049000,1139049007,GB
+1139049008,1139049071,US
+1139049072,1139049087,MX
+1139049088,1139049407,US
+1139049408,1139049423,SG
+1139049424,1139050063,US
+1139050064,1139050071,AU
+1139050072,1139050751,US
+1139050752,1139050911,GB
+1139050912,1139050975,US
+1139050976,1139051167,GB
+1139051168,1139051231,US
+1139051232,1139051391,GB
+1139051392,1139051423,US
+1139051424,1139051519,GB
+1139051520,1139051551,US
+1139051552,1139051559,PA
+1139051560,1139051639,US
+1139051640,1139051647,EG
+1139051648,1139051791,US
+1139051792,1139051799,SA
+1139051800,1139052127,US
+1139052128,1139052135,BR
+1139052136,1139052415,US
+1139052416,1139052423,AR
+1139052424,1139052511,US
+1139052512,1139052527,MX
+1139052528,1139052543,US
+1139052544,1139052671,GB
+1139052672,1139052703,US
+1139052704,1139052799,GB
+1139052800,1139052887,US
+1139052888,1139052895,MX
+1139052896,1139053663,US
+1139053664,1139053695,SA
+1139053696,1139055911,US
+1139055912,1139055919,LT
+1139055920,1139055927,US
+1139055928,1139055935,SA
+1139055936,1139056231,US
+1139056232,1139056239,FI
+1139056240,1139056271,US
+1139056272,1139056279,SA
+1139056280,1139056303,US
+1139056304,1139056311,CN
+1139056312,1139056367,US
+1139056368,1139056375,CN
+1139056376,1139056423,US
+1139056424,1139056431,GB
+1139056432,1139056591,US
+1139056592,1139056599,SA
+1139056600,1139056751,US
+1139056752,1139056759,AU
+1139056760,1139056951,US
+1139056952,1139056959,TN
+1139056960,1139057095,US
+1139057096,1139057103,PA
+1139057104,1139057719,US
+1139057720,1139057727,SA
+1139057728,1139057759,GB
+1139057760,1139057855,US
+1139057856,1139057887,SA
+1139057888,1139057919,US
+1139057920,1139057927,ES
+1139057928,1139058271,US
+1139058272,1139058303,CN
+1139058304,1139058655,US
+1139058656,1139058663,CN
+1139058664,1139058719,US
+1139058720,1139058727,SA
+1139058728,1139058735,US
+1139058736,1139058743,SA
+1139058744,1139058791,US
+1139058792,1139058799,GB
+1139058800,1139058807,ES
+1139058808,1139058999,US
+1139059000,1139059007,SA
+1139059008,1139059055,US
+1139059056,1139059063,CN
+1139059064,1139059111,US
+1139059112,1139059119,TR
+1139059120,1139059375,US
+1139059376,1139059383,AU
+1139059384,1139059543,US
+1139059544,1139059551,CN
+1139059552,1139059711,US
+1139059712,1139059719,SA
+1139059720,1139059743,US
+1139059744,1139059759,EG
+1139059760,1139059783,US
+1139059784,1139059791,NZ
+1139059792,1139059999,US
+1139060000,1139060007,AE
+1139060008,1139060087,US
+1139060088,1139060095,TR
+1139060096,1139060223,US
+1139060224,1139060255,CN
+1139060256,1139060287,US
+1139060288,1139060303,CN
+1139060304,1139060575,US
+1139060576,1139060583,MX
+1139060584,1139060591,US
+1139060592,1139060599,TR
+1139060600,1139060607,US
+1139060608,1139060639,SA
+1139060640,1139061407,US
+1139061408,1139061415,CA
+1139061416,1139062863,US
+1139062864,1139062871,GB
+1139062872,1139062967,US
+1139062968,1139062975,CN
+1139062976,1139063143,US
+1139063144,1139063151,AR
+1139063152,1139063199,US
+1139063200,1139063207,IN
+1139063208,1139063231,US
+1139063232,1139063239,SA
+1139063240,1139063399,US
+1139063400,1139063407,CA
+1139063408,1139063727,US
+1139063728,1139063735,CA
+1139063736,1139063775,US
+1139063776,1139063791,KW
+1139063792,1139064383,US
+1139064384,1139064391,SA
+1139064392,1139064407,US
+1139064408,1139064415,SA
+1139064416,1139064431,US
+1139064432,1139064439,SA
+1139064440,1139064543,US
+1139064544,1139064551,SA
+1139064552,1139064783,US
+1139064784,1139064791,ID
+1139064792,1139064991,US
+1139064992,1139065007,ID
+1139065008,1139065247,US
+1139065248,1139065255,SA
+1139065256,1139065559,US
+1139065560,1139065567,IN
+1139065568,1139065599,US
+1139065600,1139065607,CN
+1139065608,1139065679,US
+1139065680,1139065687,ID
+1139065688,1139065711,US
+1139065712,1139065719,AU
+1139065720,1139065919,US
+1139065920,1139065935,SA
+1139065936,1139065943,US
+1139065944,1139065951,CY
+1139065952,1139065959,US
+1139065960,1139065967,CA
+1139065968,1139066239,US
+1139066240,1139066255,CY
+1139066256,1139066399,US
+1139066400,1139066407,AU
+1139066408,1139066559,US
+1139066560,1139066567,AU
+1139066568,1139066695,US
+1139066696,1139066703,ID
+1139066704,1139066711,EG
+1139066712,1139066831,US
+1139066832,1139066839,GR
+1139066840,1139066879,US
+1139066880,1139066887,CA
+1139066888,1139066975,US
+1139066976,1139066983,CA
+1139066984,1139066991,US
+1139066992,1139066999,IN
+1139067000,1139067311,US
+1139067312,1139067319,SA
+1139067320,1139067631,US
+1139067632,1139067639,SA
+1139067640,1139067663,US
+1139067664,1139067671,IN
+1139067672,1139067783,US
+1139067784,1139067791,CN
+1139067792,1139068239,US
+1139068240,1139068247,NL
+1139068248,1139068463,US
+1139068464,1139068471,HK
+1139068472,1139068479,US
+1139068480,1139068487,IN
+1139068488,1139068871,US
+1139068872,1139068879,NP
+1139068880,1139068887,CA
+1139068888,1139069151,US
+1139069152,1139069159,CO
+1139069160,1139069199,US
+1139069200,1139069207,CN
+1139069208,1139069279,US
+1139069280,1139069287,CN
+1139069288,1139069399,US
+1139069400,1139069407,GB
+1139069408,1139069471,US
+1139069472,1139069479,CN
+1139069480,1139069487,US
+1139069488,1139069495,PK
+1139069496,1139069567,US
+1139069568,1139069575,IN
+1139069576,1139069679,US
+1139069680,1139069687,CN
+1139069688,1139070183,US
+1139070184,1139070191,GB
+1139070192,1139070207,US
+1139070208,1139070239,CA
+1139070240,1139070431,US
+1139070432,1139070439,CL
+1139070440,1139070463,US
+1139070464,1139070527,AU
+1139070528,1139070551,US
+1139070552,1139070559,CA
+1139070560,1139070903,US
+1139070904,1139070911,PS
+1139070912,1139070943,CA
+1139070944,1139071039,US
+1139071040,1139071071,AU
+1139071072,1139071183,US
+1139071184,1139071191,ID
+1139071192,1139071215,US
+1139071216,1139071223,CA
+1139071224,1139071247,US
+1139071248,1139071255,CN
+1139071256,1139071263,US
+1139071264,1139071271,GB
+1139071272,1139071359,US
+1139071360,1139071367,CA
+1139071368,1139071383,US
+1139071384,1139071391,CA
+1139071392,1139071407,US
+1139071408,1139071415,CA
+1139071416,1139071743,US
+1139071744,1139071751,CA
+1139071752,1139071863,US
+1139071864,1139071871,CA
+1139071872,1139071999,US
+1139072000,1139072015,IN
+1139072016,1139072159,US
+1139072160,1139072175,CA
+1139072176,1139072319,US
+1139072320,1139072351,IN
+1139072352,1139072359,CA
+1139072360,1139072399,US
+1139072400,1139072407,CN
+1139072408,1139072415,AU
+1139072416,1139072447,US
+1139072448,1139072479,CA
+1139072480,1139072615,US
+1139072616,1139072623,IN
+1139072624,1139072735,US
+1139072736,1139072751,CA
+1139072752,1139072879,US
+1139072880,1139072887,CN
+1139072888,1139073631,US
+1139073632,1139073639,IN
+1139073640,1139073791,US
+1139073792,1139073823,IN
+1139073824,1139073975,US
+1139073976,1139073983,CA
+1139073984,1139074007,US
+1139074008,1139074015,SC
+1139074016,1139074047,US
+1139074048,1139074111,CA
+1139074112,1139074127,US
+1139074128,1139074135,CO
+1139074136,1139074231,US
+1139074232,1139074239,NZ
+1139074240,1139074247,AU
+1139074248,1139074303,US
+1139074304,1139074311,CN
+1139074312,1139074327,US
+1139074328,1139074335,AU
+1139074336,1139074559,US
+1139074560,1139074567,CN
+1139074568,1139074623,US
+1139074624,1139074655,QA
+1139074656,1139074839,US
+1139074840,1139074847,RU
+1139074848,1139074855,AU
+1139074856,1139074863,US
+1139074864,1139074871,EG
+1139074872,1139074911,US
+1139074912,1139074943,SA
+1139074944,1139074975,US
+1139074976,1139074983,AU
+1139074984,1139075007,US
+1139075008,1139075023,SA
+1139075024,1139075031,CN
+1139075032,1139075071,US
+1139075072,1139075079,CA
+1139075080,1139075087,US
+1139075088,1139075095,CA
+1139075096,1139075519,US
+1139075520,1139075527,AU
+1139075528,1139075887,US
+1139075888,1139075895,ID
+1139075896,1139076095,US
+1139076096,1139076127,CN
+1139076128,1139076151,US
+1139076152,1139076159,AU
+1139076160,1139076343,US
+1139076344,1139076351,BR
+1139076352,1139076391,US
+1139076392,1139076399,CY
+1139076400,1139076607,US
+1139076608,1139076623,AU
+1139076624,1139076751,US
+1139076752,1139076759,NP
+1139076760,1139076967,US
+1139076968,1139076975,CN
+1139076976,1139076983,CA
+1139076984,1139077055,US
+1139077056,1139077063,NP
+1139077064,1139077071,US
+1139077072,1139077079,NP
+1139077080,1139078159,US
+1139078160,1139078167,FI
+1139078168,1139078175,US
+1139078176,1139078183,SA
+1139078184,1139078527,US
+1139078528,1139078543,NZ
+1139078544,1139078815,US
+1139078816,1139078823,SA
+1139078824,1139079039,US
+1139079040,1139079071,CA
+1139079072,1139079095,US
+1139079096,1139079103,SA
+1139079104,1139079111,US
+1139079112,1139079119,CY
+1139079120,1139079127,SG
+1139079128,1139079327,US
+1139079328,1139079335,GB
+1139079336,1139080095,US
+1139080096,1139080103,SA
+1139080104,1139146751,US
1139146752,1139154943,GT
1139154944,1139167231,JM
1139167232,1139167743,US
-1139167744,1139169023,PR
-1139169024,1139169279,US
+1139167744,1139168895,PR
+1139168896,1139169279,US
1139169280,1139170047,PR
1139170048,1139171327,US
1139171328,1139175423,GT
1139175424,1139179519,US
-1139179520,1139188223,CA
-1139188224,1139188479,GB
-1139188480,1139188735,CA
+1139179520,1139188735,CA
1139188736,1139188991,GB
-1139188992,1139189503,US
-1139189504,1139189759,CA
-1139189760,1139190015,US
-1139190016,1139191551,CA
-1139191552,1139191807,GB
-1139191808,1139192063,CA
-1139192064,1139192575,US
-1139192576,1139192831,GB
-1139192832,1139193215,US
-1139193216,1139193599,CA
-1139193600,1139195135,US
+1139188992,1139193599,CA
+1139193600,1139194111,US
+1139194112,1139194367,CA
+1139194368,1139194623,US
+1139194624,1139194879,CA
+1139194880,1139195135,US
1139195136,1139195391,GB
-1139195392,1139195775,US
-1139195776,1139195903,CA
+1139195392,1139195903,CA
1139195904,1139265535,US
1139265536,1139269631,CA
-1139269632,1142187775,US
-1142187776,1142187783,PR
-1142187784,1142191847,US
-1142191848,1142191855,PR
-1142191856,1142202623,US
-1142202624,1142202631,PR
-1142202632,1142204103,US
-1142204104,1142204111,PR
-1142204112,1142204327,US
-1142204328,1142204335,PR
-1142204336,1145056703,US
+1139269632,1145056703,US
1145056704,1145056719,CO
1145056720,1145188351,US
1145188352,1145192447,CA
@@ -25051,17 +29873,28 @@
1145249792,1145257983,CA
1145257984,1145259007,US
1145259008,1145259071,IN
-1145259072,1145259263,US
+1145259072,1145259247,US
+1145259248,1145259251,AE
+1145259252,1145259263,US
1145259264,1145259327,IN
-1145259328,1145260031,US
+1145259328,1145259423,US
+1145259424,1145259455,AE
+1145259456,1145260031,US
1145260032,1145260095,IN
1145260096,1145260623,US
1145260624,1145260631,IN
-1145260632,1145261055,US
+1145260632,1145260751,US
+1145260752,1145260767,AE
+1145260768,1145261055,US
1145261056,1145261119,IN
1145261120,1145261311,US
1145261312,1145261375,IN
-1145261376,1145307135,US
+1145261376,1145261407,US
+1145261408,1145261439,AE
+1145261440,1145261647,US
+1145261648,1145261663,AE
+1145261664,1145262079,US
+1145266176,1145307135,US
1145307136,1145311231,CA
1145311232,1145333031,US
1145333032,1145333039,IT
@@ -25081,8 +29914,8 @@
1145333504,1145333863,US
1145333864,1145333871,EG
1145333872,1145333879,US
-1145333880,1145333903,CN
-1145333904,1145334151,US
+1145333880,1145333895,CN
+1145333896,1145334151,US
1145334152,1145334167,CN
1145334168,1145334175,US
1145334176,1145334223,CN
@@ -25109,7 +29942,139 @@
1145483592,1145484031,US
1145484032,1145484063,VG
1145484064,1145503743,US
-1145503744,1145520127,CA
+1145503744,1145512247,CA
+1145512248,1145512255,US
+1145512256,1145512263,BD
+1145512264,1145512287,CA
+1145512288,1145512295,US
+1145512296,1145512303,CA
+1145512304,1145512311,US
+1145512312,1145512383,CA
+1145512384,1145512399,US
+1145512400,1145512423,CA
+1145512424,1145512431,DE
+1145512432,1145512439,CN
+1145512440,1145512703,CA
+1145512704,1145512767,US
+1145512768,1145512943,CA
+1145512944,1145512951,AU
+1145512952,1145513231,CA
+1145513232,1145513247,US
+1145513248,1145513255,MA
+1145513256,1145513311,CA
+1145513312,1145513327,CN
+1145513328,1145513351,CA
+1145513352,1145513359,US
+1145513360,1145513407,CA
+1145513408,1145513415,US
+1145513416,1145513463,CA
+1145513464,1145513471,IN
+1145513472,1145513479,CA
+1145513480,1145513487,US
+1145513488,1145513511,CA
+1145513512,1145513519,GB
+1145513520,1145513527,IN
+1145513528,1145513551,CA
+1145513552,1145513559,NL
+1145513560,1145513583,CA
+1145513584,1145513591,CN
+1145513592,1145513599,AE
+1145513600,1145513607,BR
+1145513608,1145513639,CA
+1145513640,1145513647,TH
+1145513648,1145513679,CA
+1145513680,1145513687,US
+1145513688,1145513695,CA
+1145513696,1145513703,MT
+1145513704,1145513735,CA
+1145513736,1145513743,US
+1145513744,1145513815,CA
+1145513816,1145513823,BD
+1145513824,1145513831,US
+1145513832,1145514111,CA
+1145514112,1145514239,NZ
+1145514240,1145514271,US
+1145514272,1145514335,CA
+1145514336,1145514367,US
+1145514368,1145514383,CA
+1145514384,1145514399,BD
+1145514400,1145514671,CA
+1145514672,1145514687,BB
+1145514688,1145514751,US
+1145514752,1145515015,CA
+1145515016,1145515023,GT
+1145515024,1145515031,CA
+1145515032,1145515039,US
+1145515040,1145515087,CA
+1145515088,1145515095,MT
+1145515096,1145515127,CA
+1145515128,1145515135,US
+1145515136,1145515183,CA
+1145515184,1145515191,BB
+1145515192,1145515199,MA
+1145515200,1145515223,CA
+1145515224,1145515231,ES
+1145515232,1145515327,CA
+1145515328,1145515359,NL
+1145515360,1145515567,CA
+1145515568,1145515583,US
+1145515584,1145515591,GB
+1145515592,1145515599,US
+1145515600,1145515607,IN
+1145515608,1145515615,CA
+1145515616,1145515623,MY
+1145515624,1145515631,CA
+1145515632,1145515647,BD
+1145515648,1145515775,CA
+1145515776,1145515783,US
+1145515784,1145515815,CA
+1145515816,1145515823,US
+1145515824,1145515895,CA
+1145515896,1145515903,MT
+1145515904,1145516119,CA
+1145516120,1145516127,CH
+1145516128,1145516143,CA
+1145516144,1145516151,AU
+1145516152,1145516159,CA
+1145516160,1145516175,US
+1145516176,1145516191,CA
+1145516192,1145516199,BR
+1145516200,1145516823,CA
+1145516824,1145516831,US
+1145516832,1145516879,CA
+1145516880,1145516887,MT
+1145516888,1145516903,CA
+1145516904,1145516911,BD
+1145516912,1145516927,CA
+1145516928,1145516935,BD
+1145516936,1145516959,CA
+1145516960,1145516967,RU
+1145516968,1145516975,CA
+1145516976,1145516983,ES
+1145516984,1145517007,CA
+1145517008,1145517015,CN
+1145517016,1145517031,CA
+1145517032,1145517039,RU
+1145517040,1145517055,CA
+1145517056,1145517183,GB
+1145517184,1145517311,CA
+1145517312,1145517567,US
+1145517568,1145518335,CA
+1145518336,1145518343,US
+1145518344,1145518623,CA
+1145518624,1145518631,GB
+1145518632,1145518639,US
+1145518640,1145518663,CA
+1145518664,1145518671,CU
+1145518672,1145518727,CA
+1145518728,1145518735,IR
+1145518736,1145518751,CA
+1145518752,1145518759,US
+1145518760,1145518767,CA
+1145518768,1145518775,GT
+1145518776,1145518791,CA
+1145518792,1145518799,IN
+1145518800,1145520127,CA
1145520128,1145552895,US
1145552896,1145556991,CA
1145556992,1145567839,US
@@ -25130,12 +30095,9 @@
1151889488,1151889495,CA
1151889496,1151889535,MA
1151889536,1151889599,CN
-1151889600,1151889607,RU
-1151889608,1151889615,CA
+1151889600,1151889615,CA
1151889616,1151889631,MA
-1151889632,1151889647,CA
-1151889648,1151889663,KE
-1151889664,1151889791,CA
+1151889632,1151889791,CA
1151889792,1151889823,MA
1151889824,1151889839,CA
1151889840,1151889847,PH
@@ -25145,53 +30107,41 @@
1151890080,1151890087,GB
1151890088,1151890095,CA
1151890096,1151890127,GB
-1151890128,1151890215,CA
-1151890216,1151890223,GB
-1151890224,1151892735,CA
+1151890128,1151892735,CA
1151892736,1151892991,MA
-1151892992,1151894783,CA
-1151894784,1151895039,US
-1151895040,1151895295,CA
-1151895296,1151895807,US
+1151892992,1151895551,CA
+1151895552,1151895807,US
1151895808,1151895919,CA
1151895920,1151895935,US
-1151895936,1151896079,CA
-1151896080,1151896087,US
-1151896088,1151896127,CA
-1151896128,1151896191,US
-1151896192,1151896319,CA
+1151895936,1151896319,CA
1151896320,1151896575,US
1151896576,1151896831,CA
-1151896832,1151943999,US
+1151896832,1151897087,US
+1151897088,1151897343,CA
+1151897344,1151943999,US
1151944000,1151944063,HK
1151944064,1151945759,US
1151945760,1151945791,IE
1151945792,1152073727,US
1152073728,1152077823,CA
-1152077824,1152081919,US
-1152081920,1152082175,AU
+1152077824,1152082175,US
1152082176,1152082303,IN
-1152082304,1152082431,US
-1152082432,1152082687,AU
-1152082688,1152581631,US
+1152082304,1152083455,US
+1152083456,1152083967,CN
+1152083968,1152084735,US
+1152084736,1152084991,IN
+1152084992,1152581631,US
1152581632,1152614399,CA
1152614400,1152778239,US
1152778240,1152843775,CA
1152843776,1156071423,US
1156071424,1156079615,CA
-1156079616,1156129479,US
-1156129480,1156129487,SG
+1156079616,1156129487,US
1156129488,1156129495,JP
-1156129496,1156129503,US
-1156129504,1156129791,CA
-1156129792,1156129983,US
+1156129496,1156129983,US
1156129984,1156129999,CY
-1156130000,1156130015,US
-1156130016,1156130303,CA
-1156130304,1156131327,US
-1156131328,1156131583,CA
-1156131584,1156259839,US
-1156259840,1156265983,CA
+1156130000,1156263935,US
+1156263936,1156265983,CA
1156265984,1156296703,US
1156296704,1156300799,CA
1156300800,1157670431,US
@@ -25204,7 +30154,9 @@
1157755248,1157755263,GR
1157755264,1157758207,US
1157758208,1157758463,RU
-1157758464,1157931007,US
+1157758464,1157910527,US
+1157910528,1157914623,CA
+1157914624,1157931007,US
1157931008,1157935103,BS
1157935104,1157943295,US
1157943296,1157947391,CA
@@ -25225,31 +30177,15 @@
1158294752,1158295807,US
1158295808,1158296063,GB
1158296064,1158316031,US
-1158316032,1158316671,CA
-1158316672,1158316735,A1
-1158316736,1158318847,CA
-1158318848,1158318975,A1
-1158318976,1158319295,CA
-1158319296,1158319359,A1
-1158319360,1158319871,CA
-1158319872,1158319935,A1
-1158319936,1158320031,CA
+1158316032,1158320031,CA
1158320032,1158320047,SY
-1158320048,1158320383,CA
-1158320384,1158320511,A1
-1158320512,1158320575,CA
-1158320576,1158320639,A1
-1158320640,1158321663,CA
-1158321664,1158321791,A1
-1158321792,1158322671,CA
+1158320048,1158322671,CA
1158322672,1158322687,SY
1158322688,1158323535,CA
1158323536,1158323551,SY
1158323552,1158323695,CA
1158323696,1158323711,SY
-1158323712,1158324127,CA
-1158324128,1158324159,A1
-1158324160,1158324223,CA
+1158323712,1158324223,CA
1158324224,1158340607,US
1158340608,1158343199,CA
1158343200,1158343231,US
@@ -25260,9 +30196,7 @@
1158481418,1158481426,CA
1158481427,1158481427,US
1158481428,1158481436,CA
-1158481437,1158481507,US
-1158481508,1158481516,CA
-1158481517,1158481597,US
+1158481437,1158481597,US
1158481598,1158481606,CA
1158481607,1158481737,US
1158481738,1158481745,CA
@@ -25321,17 +30255,13 @@
1158504942,1158504950,CA
1158504951,1158504951,US
1158504952,1158504959,KE
-1158504960,1158505490,US
-1158505491,1158505499,CA
-1158505500,1158505653,US
+1158504960,1158505653,US
1158505654,1158505727,AU
1158505728,1158506793,US
1158506794,1158506809,IN
1158506810,1158512741,US
1158512742,1158512750,PK
-1158512751,1158513023,US
-1158513024,1158513032,CR
-1158513033,1158513050,US
+1158512751,1158513050,US
1158513051,1158513059,AS
1158513060,1158513070,US
1158513071,1158513079,AS
@@ -25465,9 +30395,7 @@
1158528778,1158528786,AS
1158528787,1158538864,US
1158538865,1158538872,WS
-1158538873,1158543487,US
-1158543488,1158543495,CA
-1158543496,1158715007,US
+1158538873,1158715007,US
1158715008,1158715039,IE
1158715040,1158716415,US
1158716416,1158716423,IN
@@ -25519,8 +30447,7 @@
1158943600,1158943615,GB
1158943616,1158943863,US
1158943864,1158943871,CR
-1158943872,1158943887,GB
-1158943888,1158943895,US
+1158943872,1158943895,US
1158943896,1158943903,GB
1158943904,1158943975,US
1158943976,1158943983,CA
@@ -25534,7 +30461,7 @@
1158944952,1158944959,IN
1158944960,1158945095,US
1158945096,1158945103,TH
-1158945104,1158945111,RU
+1158945104,1158945111,US
1158945112,1158945119,CA
1158945120,1158945127,US
1158945128,1158945135,MX
@@ -25544,9 +30471,7 @@
1158945320,1158945335,CA
1158945336,1158945535,US
1158945536,1158945543,CA
-1158945544,1158945735,US
-1158945736,1158945743,TR
-1158945744,1158945791,US
+1158945544,1158945791,US
1158945792,1158945815,IE
1158945816,1158945823,US
1158945824,1158945831,JP
@@ -25554,35 +30479,23 @@
1158945936,1158945943,CA
1158945944,1158946047,US
1158946048,1158946055,CA
-1158946056,1158946063,US
-1158946064,1158946071,IL
-1158946072,1158946151,US
+1158946056,1158946151,US
1158946152,1158946159,IE
1158946160,1158946207,US
1158946208,1158946215,CA
-1158946216,1158946223,US
-1158946224,1158946239,CR
-1158946240,1158946335,US
-1158946336,1158946343,SE
-1158946344,1158946487,US
+1158946216,1158946487,US
1158946488,1158946495,GB
1158946496,1158946551,US
1158946552,1158946559,CH
1158946560,1158946575,US
1158946576,1158946583,IN
-1158946584,1158946631,US
-1158946632,1158946639,IT
-1158946640,1158946647,IL
-1158946648,1158946711,US
+1158946584,1158946711,US
1158946712,1158946719,HK
1158946720,1158946771,US
1158946772,1158946772,MX
-1158946773,1158947087,US
-1158947088,1158947095,ZA
-1158947096,1158947391,US
+1158946773,1158947391,US
1158947392,1158947399,CA
-1158947400,1158947407,GB
-1158947408,1158947591,US
+1158947400,1158947591,US
1158947592,1158947599,JP
1158947600,1158947647,US
1158947648,1158947655,CA
@@ -25598,9 +30511,7 @@
1158947832,1158947839,TR
1158947840,1158948383,US
1158948384,1158948391,IT
-1158948392,1158948415,US
-1158948416,1158948423,CA
-1158948424,1158948895,US
+1158948392,1158948895,US
1158948896,1158948903,CA
1158948904,1158948967,US
1158948968,1158948975,CA
@@ -25608,34 +30519,23 @@
1158949008,1158949015,IL
1158949016,1158949287,US
1158949288,1158949295,CA
-1158949296,1158949407,US
-1158949408,1158949415,ZA
-1158949416,1158950105,US
+1158949296,1158950105,US
1158950106,1158950107,CA
-1158950108,1158950319,US
-1158950320,1158950327,CA
-1158950328,1158950335,US
-1158950336,1158950351,CA
+1158950108,1158950351,US
1158950352,1158950359,IN
1158950360,1158950367,CA
1158950368,1158950767,US
1158950768,1158950775,TH
-1158950776,1158950783,US
-1158950784,1158950791,SA
-1158950792,1158951167,US
-1158951168,1158951183,CA
-1158951184,1158951215,US
-1158951216,1158951223,CA
-1158951224,1158951231,US
+1158950776,1158951231,US
1158951232,1158951263,TH
1158951264,1158951423,US
1158951424,1158951439,CA
1158951440,1158951447,NL
1158951448,1158951551,US
1158951552,1158951559,NL
-1158951560,1158951575,US
-1158951576,1158951583,CA
-1158951584,1158951743,US
+1158951560,1158951627,US
+1158951628,1158951631,CA
+1158951632,1158951743,US
1158951744,1158951751,IN
1158951752,1158951839,US
1158951840,1158951855,CA
@@ -25667,7 +30567,9 @@
1158957472,1158957647,US
1158957648,1158957655,AU
1158957656,1158957663,PE
-1158957664,1158958295,US
+1158957664,1158957801,US
+1158957802,1158957803,NL
+1158957804,1158958295,US
1158958296,1158958303,AG
1158958304,1158958311,ES
1158958312,1158958367,US
@@ -25679,19 +30581,13 @@
1158958672,1158958679,SA
1158958680,1158958719,US
1158958720,1158958751,CA
-1158958752,1158959031,US
-1158959032,1158959039,CA
-1158959040,1158959079,US
+1158958752,1158959079,US
1158959080,1158959081,BG
1158959082,1158959135,US
1158959136,1158959151,BD
1158959152,1158959679,US
1158959680,1158959687,CR
-1158959688,1158960023,US
-1158960024,1158960031,GB
-1158960032,1158960055,US
-1158960056,1158960063,GB
-1158960064,1158960455,US
+1158959688,1158960455,US
1158960456,1158960463,IN
1158960464,1158960535,US
1158960536,1158960543,NZ
@@ -25719,11 +30615,9 @@
1158962672,1158962675,IN
1158962676,1158963271,US
1158963272,1158963279,IE
-1158963280,1158963335,US
-1158963336,1158963343,SE
-1158963344,1158963551,US
-1158963552,1158963559,IN
-1158963560,1158963647,US
+1158963280,1158963453,US
+1158963454,1158963455,CA
+1158963456,1158963647,US
1158963648,1158963663,IN
1158963664,1158963727,US
1158963728,1158963735,GB
@@ -25731,9 +30625,7 @@
1158964104,1158964111,IN
1158964112,1158964189,US
1158964190,1158964191,CA
-1158964192,1158964255,US
-1158964256,1158964263,IN
-1158964264,1158964287,US
+1158964192,1158964287,US
1158964288,1158964319,CA
1158964320,1158964631,US
1158964632,1158964639,CA
@@ -25746,8 +30638,7 @@
1158964832,1158964839,GB
1158964840,1158964943,US
1158964944,1158964951,MX
-1158964952,1158964959,TW
-1158964960,1158965087,US
+1158964952,1158965087,US
1158965088,1158965111,CA
1158965112,1158965119,US
1158965120,1158965135,AR
@@ -25782,9 +30673,7 @@
1158967264,1158967279,TH
1158967280,1158967327,US
1158967328,1158967335,JP
-1158967336,1158967503,US
-1158967504,1158967511,GB
-1158967512,1158967527,US
+1158967336,1158967527,US
1158967528,1158967535,CA
1158967536,1158967543,IE
1158967544,1158967559,US
@@ -25810,9 +30699,7 @@
1158970136,1158970287,US
1158970288,1158970295,CA
1158970296,1158970303,MY
-1158970304,1158970919,US
-1158970920,1158970927,AG
-1158970928,1158970943,US
+1158970304,1158970943,US
1158970944,1158970975,CA
1158970976,1158995967,US
1158995968,1158997919,CA
@@ -25826,9 +30713,7 @@
1158999872,1159004159,CA
1159004160,1159213055,US
1159213056,1159217151,CA
-1159217152,1159249919,US
-1159249920,1159254015,PR
-1159254016,1159262471,US
+1159217152,1159262471,US
1159262472,1159262475,TZ
1159262476,1159262479,SA
1159262480,1159262483,US
@@ -25840,7 +30725,37 @@
1159262736,1159262739,US
1159262740,1159262743,DE
1159262744,1159262751,RU
-1159262752,1159266935,US
+1159262752,1159262967,US
+1159262968,1159262975,RU
+1159262976,1159263279,US
+1159263280,1159263295,DE
+1159263296,1159263375,US
+1159263376,1159263391,ES
+1159263392,1159263503,US
+1159263504,1159263519,CZ
+1159263520,1159263599,US
+1159263600,1159263615,RU
+1159263616,1159263807,US
+1159263808,1159263823,EG
+1159263824,1159263967,US
+1159263968,1159263983,NG
+1159263984,1159264031,US
+1159264032,1159264047,ZA
+1159264048,1159264207,US
+1159264208,1159264223,AE
+1159264224,1159264351,US
+1159264352,1159264367,MY
+1159264368,1159264383,US
+1159264384,1159264399,TW
+1159264400,1159264623,US
+1159264624,1159264639,JP
+1159264640,1159264655,US
+1159264656,1159264671,AU
+1159264672,1159264767,US
+1159264768,1159264783,AR
+1159264784,1159264959,US
+1159264960,1159264975,BR
+1159264976,1159266935,US
1159266936,1159266943,PR
1159266944,1159269119,US
1159269120,1159269375,AR
@@ -25848,9 +30763,7 @@
1159274496,1159274751,GB
1159274752,1159276799,US
1159276800,1159277055,A2
-1159277056,1159279359,US
-1159279360,1159279615,PR
-1159279616,1159281679,US
+1159277056,1159281679,US
1159281680,1159281695,HK
1159281696,1159281727,US
1159281728,1159281743,HK
@@ -25884,9 +30797,7 @@
1159421952,1159430143,CA
1159430144,1159480439,US
1159480440,1159480447,CA
-1159480448,1159481167,US
-1159481168,1159481183,VG
-1159481184,1159482423,US
+1159480448,1159482423,US
1159482424,1159482431,AN
1159482432,1159512063,US
1159512064,1159512159,CA
@@ -25916,8 +30827,8 @@
1159516288,1159517119,US
1159517120,1159517151,CA
1159517152,1159517183,US
-1159517184,1159517327,CA
-1159517328,1159517343,US
+1159517184,1159517319,CA
+1159517320,1159517343,US
1159517344,1159517359,CA
1159517360,1159517439,US
1159517440,1159517599,CA
@@ -25934,7 +30845,11 @@
1159518208,1159519743,US
1159519744,1159520767,CA
1159520768,1159520799,US
-1159520800,1159520959,CA
+1159520800,1159520831,CA
+1159520832,1159520863,US
+1159520864,1159520871,CA
+1159520872,1159520895,US
+1159520896,1159520959,CA
1159520960,1159520975,US
1159520976,1159521007,CA
1159521008,1159521087,US
@@ -25954,9 +30869,10 @@
1159522240,1159522271,BV
1159522272,1159522287,CA
1159522288,1159522303,BV
-1159522304,1159523327,CA
-1159523328,1159523583,US
-1159523584,1159524351,CA
+1159522304,1159522815,US
+1159522816,1159523327,CA
+1159523328,1159523839,US
+1159523840,1159524351,CA
1159524352,1159525375,US
1159525376,1159526399,CA
1159526400,1159527935,US
@@ -25965,20 +30881,17 @@
1159532104,1159532111,MO
1159532112,1159560207,US
1159560208,1159560215,MO
-1159560216,1159643439,US
-1159643440,1159643455,TR
-1159643456,1159643471,JP
-1159643472,1159656487,US
+1159560216,1159656487,US
1159656488,1159656495,BR
1159656496,1159657023,US
1159657024,1159657039,AU
-1159657040,1159657071,US
-1159657072,1159657087,NZ
-1159657088,1159659063,US
+1159657040,1159659063,US
1159659064,1159659079,IN
1159659080,1159668479,US
1159668480,1159668735,CA
-1159668736,1159694591,US
+1159668736,1159673471,US
+1159673472,1159673503,CA
+1159673504,1159694591,US
1159694592,1159694847,CA
1159694848,1159700479,US
1159700480,1159725055,CA
@@ -25986,9 +30899,7 @@
1159988736,1159988991,MX
1159988992,1159995647,US
1159995648,1159995655,AU
-1159995656,1159995935,US
-1159995936,1159995951,CA
-1159995952,1159996063,US
+1159995656,1159996063,US
1159996064,1159996079,GB
1159996080,1159996287,US
1159996288,1159996319,AU
@@ -26060,8 +30971,8 @@
1160017160,1160019967,CA
1160019968,1160364031,US
1160364032,1160368127,CA
-1160368128,1160393727,US
-1160393728,1160396799,CA
+1160368128,1160392703,US
+1160392704,1160396799,CA
1160396800,1160397007,US
1160397008,1160397023,GB
1160397024,1160405631,US
@@ -26142,7 +31053,9 @@
1160437696,1160437759,IN
1160437760,1160486911,US
1160486912,1160487423,AU
-1160487424,1160503295,US
+1160487424,1160496615,US
+1160496616,1160496623,CA
+1160496624,1160503295,US
1160503296,1160503871,A2
1160503872,1160503903,US
1160503904,1160504159,A2
@@ -26303,15 +31216,7 @@
1160691648,1160691671,CA
1160691672,1160691679,US
1160691680,1160691711,CA
-1160691712,1160701439,US
-1160701440,1160701567,KY
-1160701568,1160702447,US
-1160702448,1160702455,KY
-1160702456,1160702703,US
-1160702704,1160702711,KY
-1160702712,1160702783,US
-1160702784,1160702847,KY
-1160702848,1160808255,US
+1160691712,1160808255,US
1160808256,1160808287,CA
1160808288,1160810495,US
1160810496,1160810751,CA
@@ -26334,21 +31239,10 @@
1160941520,1160941535,US
1160941536,1160941567,CA
1160941568,1160945663,US
-1160953856,1160973439,US
-1160973440,1160973503,MX
-1160973504,1160973863,US
-1160973864,1160973871,GR
-1160973872,1160974591,US
+1160945664,1160953855,CA
+1160953856,1160974591,US
1160974592,1160974623,HK
-1160974624,1160974975,US
-1160974976,1160975007,CA
-1160975008,1160975039,US
-1160975040,1160975055,MX
-1160975056,1160976015,US
-1160976016,1160976031,MX
-1160976032,1160976303,US
-1160976304,1160976319,MX
-1160976320,1161019391,US
+1160974624,1161019391,US
1161019392,1161035775,CA
1161035776,1161293823,US
1161293824,1161297919,CA
@@ -26427,10 +31321,7 @@
1161627728,1161627743,AR
1161627744,1161627751,US
1161627752,1161627759,PL
-1161627760,1161627775,GB
-1161627776,1161627783,US
-1161627784,1161627791,GB
-1161627792,1161627807,US
+1161627760,1161627807,US
1161627808,1161627815,SI
1161627816,1161627823,US
1161627824,1161627831,AU
@@ -26440,10 +31331,7 @@
1161627856,1161627863,AR
1161627864,1161627871,CA
1161627872,1161627879,SI
-1161627880,1161627895,US
-1161627896,1161627903,CA
-1161627904,1161628447,US
-1161628448,1161628455,NL
+1161627880,1161628455,US
1161628456,1161628463,GB
1161628464,1161628479,US
1161628480,1161628487,GB
@@ -26456,9 +31344,7 @@
1161628664,1161628671,AR
1161628672,1161629199,US
1161629200,1161629215,SI
-1161629216,1161629223,US
-1161629224,1161629231,GB
-1161629232,1161629239,US
+1161629216,1161629239,US
1161629240,1161629247,PL
1161629248,1161629263,US
1161629264,1161629271,PL
@@ -26477,16 +31363,13 @@
1161629528,1161629535,MY
1161629536,1161629583,US
1161629584,1161629599,GB
-1161629600,1161629607,PL
-1161629608,1161629615,US
+1161629600,1161629615,PL
1161629616,1161629631,GB
1161629632,1161629663,US
1161629664,1161629671,AU
1161629672,1161629695,US
1161629696,1161629951,PL
-1161629952,1161630223,US
-1161630224,1161630231,NL
-1161630232,1161630247,US
+1161629952,1161630247,US
1161630248,1161630255,HR
1161630256,1161630263,NL
1161630264,1161630271,AR
@@ -26497,14 +31380,13 @@
1161630368,1161630375,GB
1161630376,1161630383,US
1161630384,1161630391,AR
-1161630392,1161630431,GB
+1161630392,1161630399,US
+1161630400,1161630431,GB
1161630432,1161630439,US
1161630440,1161630447,HR
1161630448,1161630455,US
1161630456,1161630463,NL
-1161630464,1161630727,US
-1161630728,1161630735,PL
-1161630736,1161630743,US
+1161630464,1161630743,US
1161630744,1161630751,GB
1161630752,1161630767,US
1161630768,1161630775,IL
@@ -26523,62 +31405,38 @@
1161630952,1161630959,TR
1161630960,1161630967,US
1161630968,1161630975,CZ
-1161630976,1161630983,US
-1161630984,1161630991,CA
-1161630992,1161630999,US
-1161631000,1161631007,AU
-1161631008,1161631039,US
-1161631040,1161631047,GB
+1161630976,1161631039,US
+1161631040,1161631047,PL
1161631048,1161631055,IN
1161631056,1161631079,US
1161631080,1161631087,SI
-1161631088,1161631103,US
+1161631088,1161631095,PL
+1161631096,1161631103,AR
1161631104,1161631111,KW
-1161631112,1161631127,US
-1161631128,1161631135,BG
-1161631136,1161631159,US
-1161631160,1161631167,CA
-1161631168,1161631183,US
-1161631184,1161631199,GB
-1161631200,1161631207,US
+1161631112,1161631207,US
1161631208,1161631215,AR
-1161631216,1161631223,GB
-1161631224,1161631431,US
+1161631216,1161631431,US
1161631432,1161631439,KW
1161631440,1161631471,US
1161631472,1161631479,AR
-1161631480,1161631495,US
-1161631496,1161631503,CA
-1161631504,1161631511,US
+1161631480,1161631511,US
1161631512,1161631519,BG
1161631520,1161631535,GB
-1161631536,1161631543,AR
-1161631544,1161631551,BR
-1161631552,1161631591,US
-1161631592,1161631599,BR
-1161631600,1161631623,US
+1161631536,1161631623,US
1161631624,1161631631,KW
-1161631632,1161631639,BR
-1161631640,1161631655,US
+1161631632,1161631655,US
1161631656,1161631663,AR
1161631664,1161631703,US
1161631704,1161631711,NL
1161631712,1161632519,US
1161632520,1161632527,BG
-1161632528,1161632551,US
-1161632552,1161632559,BR
+1161632528,1161632559,US
1161632560,1161632575,GB
1161632576,1161632631,US
1161632632,1161632639,GB
-1161632640,1161632655,US
-1161632656,1161632663,GB
-1161632664,1161632687,US
+1161632640,1161632687,US
1161632688,1161632703,GB
-1161632704,1161632719,US
-1161632720,1161632735,GB
-1161632736,1161632943,US
-1161632944,1161632959,CA
-1161632960,1161633023,US
+1161632704,1161633023,US
1161633024,1161633055,CA
1161633056,1161633215,US
1161633216,1161633231,EE
@@ -26595,8 +31453,7 @@
1161633632,1161633639,CA
1161633640,1161634055,US
1161634056,1161634063,IN
-1161634064,1161634071,CA
-1161634072,1161634127,US
+1161634064,1161634127,US
1161634128,1161634135,AR
1161634136,1161634143,PH
1161634144,1161634175,US
@@ -26613,14 +31470,12 @@
1161634496,1161634503,GB
1161634504,1161634519,US
1161634520,1161634527,BG
-1161634528,1161634815,US
+1161634528,1161634543,GB
+1161634544,1161634815,US
1161634816,1161634831,PL
-1161634832,1161634943,US
-1161634944,1161634959,PL
-1161634960,1161635007,US
+1161634832,1161635007,US
1161635008,1161635071,KW
-1161635072,1161635855,US
-1161635856,1161635871,BE
+1161635072,1161635871,US
1161635872,1161635887,PL
1161635888,1161636095,US
1161636096,1161636127,GB
@@ -26641,9 +31496,7 @@
1161637216,1161637223,PL
1161637224,1161637295,US
1161637296,1161637303,AR
-1161637304,1161637343,US
-1161637344,1161637351,RU
-1161637352,1161637655,US
+1161637304,1161637655,US
1161637656,1161637663,IL
1161637664,1161637671,US
1161637672,1161637679,IL
@@ -26679,12 +31532,9 @@
1161639688,1161639695,KW
1161639696,1161639703,US
1161639704,1161639711,BZ
-1161639712,1161639727,US
-1161639728,1161639743,GB
-1161639744,1161639831,US
+1161639712,1161639831,US
1161639832,1161639839,AR
-1161639840,1161639879,US
-1161639880,1161639887,NL
+1161639840,1161639887,US
1161639888,1161639895,AT
1161639896,1161639959,US
1161639960,1161639967,GB
@@ -26711,20 +31561,17 @@
1161641920,1161641983,PL
1161641984,1161641999,US
1161642000,1161642007,IN
-1161642008,1161642015,NL
-1161642016,1161642039,GB
+1161642008,1161642031,US
+1161642032,1161642039,GB
1161642040,1161642175,US
1161642176,1161642191,GB
-1161642192,1161642199,AU
-1161642200,1161644655,US
+1161642192,1161644655,US
1161644656,1161644671,PL
-1161644672,1161644703,US
-1161644704,1161644743,GB
+1161644672,1161644735,US
+1161644736,1161644743,GB
1161644744,1161644751,AR
1161644752,1161644767,PL
-1161644768,1161645887,US
-1161645888,1161645903,GB
-1161645904,1161645911,US
+1161644768,1161645911,US
1161645912,1161645919,GB
1161645920,1161645935,US
1161645936,1161645951,PL
@@ -26734,21 +31581,16 @@
1161646896,1161646943,PL
1161646944,1161647103,US
1161647104,1161647119,PL
-1161647120,1161647135,GB
+1161647120,1161647135,US
1161647136,1161647167,PL
1161647168,1161649407,US
1161649408,1161649663,AR
1161649664,1161650175,US
1161650176,1161650183,HR
1161650184,1161650191,AR
-1161650192,1161650199,US
-1161650200,1161650207,BG
-1161650208,1161650215,US
+1161650192,1161650215,US
1161650216,1161650223,FI
-1161650224,1161650239,CA
-1161650240,1161650303,US
-1161650304,1161650311,NL
-1161650312,1161650327,US
+1161650224,1161650327,US
1161650328,1161650343,AR
1161650344,1161650359,US
1161650360,1161650367,IL
@@ -26784,29 +31626,18 @@
1161651488,1161651503,GB
1161651504,1161651511,US
1161651512,1161651519,GB
-1161651520,1161651535,CA
-1161651536,1161651543,PL
-1161651544,1161651575,US
+1161651520,1161651575,US
1161651576,1161651583,CA
-1161651584,1161651599,US
-1161651600,1161651607,RS
-1161651608,1161651647,US
-1161651648,1161651711,PL
-1161651712,1161651743,US
+1161651584,1161651743,US
1161651744,1161651775,GB
1161651776,1161651807,AR
1161651808,1161651839,US
1161651840,1161651855,MY
-1161651856,1161651967,US
-1161651968,1161651975,CH
-1161651976,1161652007,US
-1161652008,1161652015,GB
-1161652016,1161652095,US
+1161651856,1161652095,US
1161652096,1161652103,CY
1161652104,1161652143,US
-1161652144,1161652151,GB
-1161652152,1161652991,US
-1161652992,1161653023,CA
+1161652144,1161652159,GB
+1161652160,1161653023,US
1161653024,1161653055,AR
1161653056,1161653087,US
1161653088,1161653119,PL
@@ -26824,10 +31655,7 @@
1161654240,1161654247,GB
1161654248,1161654263,US
1161654264,1161654271,SI
-1161654272,1161657607,US
-1161657608,1161657615,NE
-1161657616,1161657623,CA
-1161657624,1161657679,US
+1161654272,1161657679,US
1161657680,1161657695,PL
1161657696,1161658135,US
1161658136,1161658143,AR
@@ -26860,13 +31688,7 @@
1161818112,1161822207,CA
1161822208,1161832767,US
1161832768,1161832831,BR
-1161832832,1161833759,US
-1161833760,1161833791,TR
-1161833792,1161833855,US
-1161833856,1161833887,FR
-1161833888,1161833919,US
-1161833920,1161833951,UA
-1161833952,1161833967,US
+1161832832,1161833967,US
1161833968,1161833975,DE
1161833976,1161835341,US
1161835342,1161835353,GR
@@ -26908,17 +31730,19 @@
1161865704,1161865711,EG
1161865712,1161866111,US
1161866112,1161866127,MT
-1161866128,1161868863,US
-1161868864,1161868871,VI
-1161868872,1161891287,US
+1161866128,1161891287,US
1161891288,1161891295,CA
1161891296,1161891527,US
1161891528,1161891535,CA
1161891536,1161891543,US
1161891544,1161891551,CA
-1161891552,1161900863,US
+1161891552,1161898989,US
+1161898990,1161898990,A1
+1161898991,1161900863,US
1161900864,1161900895,A1
-1161900896,1161901647,US
+1161900896,1161901023,US
+1161901024,1161901055,A1
+1161901056,1161901647,US
1161901648,1161901655,VN
1161901656,1161925631,US
1161925632,1161925887,EC
@@ -26926,7 +31750,9 @@
1161926400,1161926655,EC
1161926656,1162018815,US
1162018816,1162022911,CA
-1162022912,1162027007,US
+1162022912,1162023607,US
+1162023608,1162023615,FI
+1162023616,1162027007,US
1162027008,1162031103,ZA
1162031104,1162031375,US
1162031376,1162031383,CA
@@ -26956,42 +31782,18 @@
1162296416,1162297343,US
1162297344,1162305535,CA
1162305536,1162313727,US
-1162313728,1162316799,A2
-1162316800,1162318591,BH
-1162318592,1162320383,A2
-1162320384,1162320639,US
-1162320640,1162321151,A2
-1162321152,1162383063,US
-1162383064,1162383071,IN
-1162383072,1162393759,US
-1162393760,1162393767,IN
-1162393768,1162394463,US
-1162394464,1162394471,IE
-1162394472,1162401519,US
-1162401520,1162401527,IN
-1162401528,1162408455,US
-1162408456,1162408463,IN
-1162408464,1162408599,US
-1162408600,1162408607,IN
-1162408608,1162408783,US
+1162313728,1162321919,A2
+1162321920,1162394463,US
+1162394464,1162394471,GB
+1162394472,1162408783,US
1162408784,1162408831,CR
-1162408832,1162409047,US
-1162409048,1162409055,IN
-1162409056,1162409311,US
-1162409312,1162409319,IN
-1162409320,1162409479,US
-1162409480,1162409487,IN
-1162409488,1162409511,US
-1162409512,1162409519,IN
-1162409520,1162457991,US
+1162408832,1162457991,US
1162457992,1162457999,ID
1162458000,1162461183,US
1162461184,1162461695,BB
1162461696,1162462207,GD
1162462208,1162462975,BB
-1162462976,1162463054,VC
-1162463055,1162463055,BB
-1162463056,1162463999,VC
+1162462976,1162463999,VC
1162464000,1162465279,BB
1162465280,1162465535,GD
1162465536,1162470911,BB
@@ -27139,7 +31941,9 @@
1163400840,1163400847,ID
1163400848,1163400887,A2
1163400888,1163400927,ID
-1163400928,1163401087,A2
+1163400928,1163401023,A2
+1163401024,1163401055,BD
+1163401056,1163401087,A2
1163401088,1163401151,BD
1163401152,1163401215,A2
1163401216,1163401239,ID
@@ -27165,30 +31969,34 @@
1163403136,1163403263,A2
1163403264,1163407359,US
1163407360,1163411455,CA
-1163411456,1163468799,US
-1163468800,1163469055,PR
-1163469056,1163469311,US
-1163469312,1163472895,PR
-1163472896,1163477695,US
+1163411456,1163469823,US
+1163469824,1163470079,PR
+1163470080,1163477695,US
1163477696,1163477727,JP
1163477728,1163478047,US
1163478048,1163478063,JP
1163478064,1163526143,US
1163526144,1163526471,CA
-1163526472,1163526655,US
-1163526656,1163527023,CA
+1163526472,1163526911,US
+1163526912,1163527023,CA
1163527024,1163527039,BV
1163527040,1163527059,CA
1163527060,1163527071,US
1163527072,1163527103,CA
1163527104,1163527135,US
-1163527136,1163527783,CA
-1163527784,1163527791,US
-1163527792,1163529215,CA
+1163527136,1163527167,CA
+1163527168,1163527679,US
+1163527680,1163527791,CA
+1163527792,1163527807,US
+1163527808,1163527903,CA
+1163527904,1163527935,US
+1163527936,1163529215,CA
1163529216,1163530239,US
1163530240,1163530415,CA
1163530416,1163530431,US
-1163530432,1163530639,CA
+1163530432,1163530599,CA
+1163530600,1163530623,US
+1163530624,1163530639,CA
1163530640,1163530655,US
1163530656,1163530839,CA
1163530840,1163530847,RS
@@ -27200,11 +32008,14 @@
1163530960,1163530967,US
1163530968,1163533023,CA
1163533024,1163533055,US
-1163533056,1163533551,CA
+1163533056,1163533439,CA
+1163533440,1163533503,US
+1163533504,1163533551,CA
1163533552,1163533567,PA
1163533568,1163533695,CA
1163533696,1163533727,US
-1163533728,1163533791,CA
+1163533728,1163533759,CA
+1163533760,1163533791,AU
1163533792,1163533807,US
1163533808,1163533951,CA
1163533952,1163534015,US
@@ -27220,8 +32031,8 @@
1163534312,1163534319,US
1163534320,1163534327,CA
1163534328,1163535359,US
-1163535360,1163535679,CA
-1163535680,1163535743,US
+1163535360,1163535615,CA
+1163535616,1163535743,US
1163535744,1163535839,CA
1163535840,1163535871,US
1163535872,1163536383,CA
@@ -27240,8 +32051,8 @@
1163542920,1163542927,US
1163542928,1163543687,CA
1163543688,1163543695,FI
-1163543696,1163543839,CA
-1163543840,1163543847,US
+1163543696,1163543823,CA
+1163543824,1163543847,US
1163543848,1163543983,CA
1163543984,1163543991,US
1163543992,1163544319,CA
@@ -27253,24 +32064,26 @@
1163544576,1163544607,US
1163544608,1163544751,CA
1163544752,1163544759,SG
-1163544760,1163544783,CA
-1163544784,1163544799,US
-1163544800,1163545295,CA
+1163544760,1163544767,CA
+1163544768,1163544799,US
+1163544800,1163545087,CA
+1163545088,1163545215,US
+1163545216,1163545295,CA
1163545296,1163545303,US
1163545304,1163545311,CA
1163545312,1163545343,BV
-1163545344,1163545351,US
-1163545352,1163545359,CA
-1163545360,1163545375,US
-1163545376,1163545471,CA
+1163545344,1163545407,US
+1163545408,1163545471,CA
1163545472,1163545599,US
1163545600,1163545631,CA
1163545632,1163545663,GB
-1163545664,1163545903,CA
+1163545664,1163545695,CA
+1163545696,1163545727,US
+1163545728,1163545903,CA
1163545904,1163545911,US
1163545912,1163545983,CA
-1163545984,1163546015,US
-1163546016,1163546039,CA
+1163545984,1163546031,US
+1163546032,1163546039,CA
1163546040,1163546047,NZ
1163546048,1163546119,CA
1163546120,1163546127,US
@@ -27286,19 +32099,26 @@
1163546528,1163546535,US
1163546536,1163546551,CA
1163546552,1163546559,US
-1163546560,1163547455,CA
+1163546560,1163547407,CA
+1163547408,1163547415,US
+1163547416,1163547455,CA
1163547456,1163547463,US
1163547464,1163547487,CA
1163547488,1163547519,US
-1163547520,1163547535,CA
-1163547536,1163547539,US
-1163547540,1163547567,CA
+1163547520,1163547527,CA
+1163547528,1163547543,US
+1163547544,1163547567,CA
1163547568,1163547583,VG
-1163547584,1163547647,CA
-1163547648,1163547903,US
-1163547904,1163547951,CA
+1163547584,1163547615,US
+1163547616,1163547951,CA
1163547952,1163547983,US
-1163547984,1163550335,CA
+1163547984,1163548991,CA
+1163548992,1163549007,US
+1163549008,1163549183,CA
+1163549184,1163550207,US
+1163550208,1163550239,CA
+1163550240,1163550255,US
+1163550256,1163550335,CA
1163550336,1163550351,US
1163550352,1163550367,CA
1163550368,1163550375,US
@@ -27316,15 +32136,17 @@
1163551664,1163551679,US
1163551680,1163551727,CA
1163551728,1163551743,US
-1163551744,1163552511,CA
-1163552512,1163552519,US
+1163551744,1163552383,CA
+1163552384,1163552519,US
1163552520,1163552527,CA
1163552528,1163552535,US
1163552536,1163552575,CA
1163552576,1163552607,PA
1163552608,1163552679,CA
1163552680,1163552687,US
-1163552688,1163553855,CA
+1163552688,1163552695,CA
+1163552696,1163552703,US
+1163552704,1163553855,CA
1163553856,1163553871,US
1163553872,1163553919,CA
1163553920,1163553935,BV
@@ -27348,9 +32170,7 @@
1163560448,1163560959,US
1163560960,1163562063,CA
1163562064,1163562079,US
-1163562080,1163562119,CA
-1163562120,1163562127,SG
-1163562128,1163562199,CA
+1163562080,1163562199,CA
1163562200,1163562207,US
1163562208,1163562231,CA
1163562232,1163562239,US
@@ -27364,13 +32184,17 @@
1163568128,1163570431,US
1163570432,1163570495,CA
1163570496,1163571199,US
-1163571200,1163571983,CA
+1163571200,1163571711,CA
+1163571712,1163571967,US
+1163571968,1163571983,CA
1163571984,1163571999,US
1163572000,1163572031,CA
-1163572032,1163572063,BE
+1163572032,1163572063,US
1163572064,1163572175,CA
1163572176,1163572183,US
-1163572184,1163572687,CA
+1163572184,1163572223,CA
+1163572224,1163572479,US
+1163572480,1163572687,CA
1163572688,1163572703,US
1163572704,1163573071,CA
1163573072,1163573087,US
@@ -27384,20 +32208,18 @@
1163576704,1163576799,US
1163576800,1163576959,CA
1163576960,1163576991,US
-1163576992,1163577087,CA
-1163577088,1163577151,US
-1163577152,1163577327,CA
+1163576992,1163577327,CA
1163577328,1163577375,US
1163577376,1163577407,CA
-1163577408,1163577423,US
-1163577424,1163577439,CA
-1163577440,1163577471,US
+1163577408,1163577471,US
1163577472,1163577503,CA
1163577504,1163577863,US
1163577864,1163577919,CA
1163577920,1163577951,US
-1163577952,1163578111,CA
-1163578112,1163578191,US
+1163577952,1163577983,CA
+1163577984,1163578047,US
+1163578048,1163578175,CA
+1163578176,1163578191,US
1163578192,1163578239,CA
1163578240,1163578255,US
1163578256,1163578271,CA
@@ -27406,8 +32228,8 @@
1163578712,1163578715,US
1163578716,1163579119,CA
1163579120,1163579127,US
-1163579128,1163579391,CA
-1163579392,1163579519,US
+1163579128,1163579135,CA
+1163579136,1163579519,US
1163579520,1163579647,CA
1163579648,1163579871,US
1163579872,1163579903,CA
@@ -27422,14 +32244,16 @@
1163581632,1163581695,US
1163581696,1163581983,CA
1163581984,1163582015,US
-1163582016,1163582111,CA
+1163582016,1163582031,CA
+1163582032,1163582039,US
+1163582040,1163582111,CA
1163582112,1163582127,US
1163582128,1163582159,CA
1163582160,1163582167,FI
1163582168,1163582183,CA
1163582184,1163582191,US
-1163582192,1163583231,CA
-1163583232,1163585199,US
+1163582192,1163583487,CA
+1163583488,1163585199,US
1163585200,1163585215,CA
1163585216,1163585855,US
1163585856,1163585871,CA
@@ -27458,7 +32282,9 @@
1163588832,1163588847,CA
1163588848,1163588863,US
1163588864,1163589631,CA
-1163589632,1163870575,US
+1163589632,1163759071,US
+1163759072,1163759087,AE
+1163759088,1163870575,US
1163870576,1163870583,CN
1163870584,1163876471,US
1163876472,1163876479,PA
@@ -27476,7 +32302,9 @@
1167321448,1167321455,CA
1167321456,1167321959,US
1167321960,1167321967,GB
-1167321968,1167322695,US
+1167321968,1167322255,US
+1167322256,1167322263,CA
+1167322264,1167322695,US
1167322696,1167322703,IN
1167322704,1167323543,US
1167323544,1167323551,CA
@@ -27492,8 +32320,7 @@
1167325728,1167325735,CA
1167325736,1167325935,US
1167325936,1167325951,CA
-1167325952,1167326207,US
-1167326208,1167326231,IN
+1167325952,1167326231,US
1167326232,1167326239,CA
1167326240,1167326271,IN
1167326272,1167326303,US
@@ -27505,9 +32332,7 @@
1167326440,1167326447,IN
1167326448,1167326983,US
1167326984,1167326991,IN
-1167326992,1167327023,US
-1167327024,1167327031,CA
-1167327032,1167327111,US
+1167326992,1167327111,US
1167327112,1167327119,IN
1167327120,1167327207,US
1167327208,1167327215,IN
@@ -27515,15 +32340,72 @@
1167693200,1167693215,UA
1167693216,1167851519,US
1167851520,1168113663,CA
-1168113664,1168134271,US
-1168134272,1168134303,CA
-1168134304,1168138239,US
+1168113664,1168138239,US
1168138240,1168146431,JM
1168146432,1168211967,US
1168211968,1168220159,CA
-1168220160,1168281599,US
-1168281600,1168281855,EG
-1168281856,1168318719,US
+1168220160,1168261711,US
+1168261712,1168261719,SA
+1168261720,1168261799,US
+1168261800,1168261807,BR
+1168261808,1168262215,US
+1168262216,1168262223,MX
+1168262224,1168264015,US
+1168264016,1168264031,SA
+1168264032,1168264191,US
+1168264192,1168264199,MK
+1168264200,1168264823,US
+1168264824,1168264831,PK
+1168264832,1168264935,US
+1168264936,1168264943,IN
+1168264944,1168265839,US
+1168265840,1168265855,BR
+1168265856,1168266255,US
+1168266256,1168266263,JO
+1168266264,1168266271,GB
+1168266272,1168266671,US
+1168266672,1168266687,SA
+1168266688,1168267199,US
+1168267200,1168267207,JO
+1168267208,1168267535,US
+1168267536,1168267551,IN
+1168267552,1168268991,US
+1168268992,1168269007,BR
+1168269008,1168269039,US
+1168269040,1168269055,SA
+1168269056,1168269119,US
+1168269120,1168269135,BR
+1168269136,1168269575,US
+1168269576,1168269583,JO
+1168269584,1168270175,US
+1168270176,1168270183,MX
+1168270184,1168270383,US
+1168270384,1168270399,BR
+1168270400,1168271559,US
+1168271560,1168271567,GB
+1168271568,1168272335,US
+1168272336,1168272351,SA
+1168272352,1168272655,US
+1168272656,1168272671,JO
+1168272672,1168273839,US
+1168273840,1168273847,JO
+1168273848,1168273967,US
+1168273968,1168273983,JO
+1168273984,1168275415,US
+1168275416,1168275423,PK
+1168275424,1168275759,US
+1168275760,1168275767,JO
+1168275768,1168276055,US
+1168276056,1168276079,BR
+1168276080,1168276239,US
+1168276240,1168276247,MX
+1168276248,1168276855,US
+1168276856,1168276863,GB
+1168276864,1168277191,US
+1168277192,1168277199,SA
+1168277200,1168277367,US
+1168277368,1168277375,GB
+1168277376,1168318719,US
1168318720,1168318975,CA
1168318976,1168321535,US
1168321536,1168321791,CA
@@ -27536,20 +32418,20 @@
1168394424,1168394431,US
1168394432,1168394471,CA
1168394472,1168394479,US
-1168394480,1168394503,CA
-1168394504,1168394511,US
+1168394480,1168394495,CA
+1168394496,1168394511,US
1168394512,1168394751,CA
1168394752,1168420863,US
1168420864,1168424959,CA
-1168424960,1168453631,US
-1168453632,1168457727,A1
-1168457728,1168474111,US
+1168424960,1168474111,US
1168474112,1168506879,CA
1168508928,1168510975,US
1168510976,1168515071,CA
1168515072,1168535551,US
1168535552,1168539647,CA
-1168539648,1168670719,US
+1168539648,1168621268,US
+1168621269,1168621270,IN
+1168621271,1168670719,US
1168670720,1168687103,CA
1168687104,1168859135,US
1168859136,1168863231,CA
@@ -27563,9 +32445,7 @@
1168935808,1168935935,RU
1168935936,1168936959,US
1168936960,1168949247,CA
-1168949248,1168949503,US
-1168949504,1168949759,CA
-1168949760,1168949823,US
+1168949248,1168949823,US
1168949824,1168949855,CA
1168949856,1168950271,US
1168950272,1168951823,CA
@@ -27573,12 +32453,14 @@
1168952064,1168952095,CA
1168952096,1168952319,US
1168952320,1168952831,CA
-1168952832,1168952863,SG
+1168952832,1168952863,US
1168952864,1168952879,CA
-1168952880,1168952887,SG
+1168952880,1168952887,US
1168952888,1168952895,CA
1168952896,1168952959,US
-1168952960,1168953343,CA
+1168952960,1168953087,CA
+1168953088,1168953119,US
+1168953120,1168953343,CA
1168953344,1168954015,US
1168954016,1168954047,IN
1168954048,1168954075,US
@@ -27586,8 +32468,8 @@
1168954080,1168954623,US
1168954624,1168954687,IN
1168954688,1168955647,US
-1168955648,1168956159,CA
-1168956160,1168957439,US
+1168955648,1168955903,CA
+1168955904,1168957439,US
1168957440,1168958047,CA
1168958048,1168958055,DE
1168958056,1168958063,CA
@@ -27619,12 +32501,12 @@
1168960888,1168960895,US
1168960896,1168961983,CA
1168961984,1168961991,US
-1168961992,1168961999,CA
-1168962000,1168962303,US
-1168962304,1168962559,CA
-1168962560,1168963039,US
+1168961992,1168962023,CA
+1168962024,1168963039,US
1168963040,1168963071,ES
-1168963072,1168965631,CA
+1168963072,1168965119,CA
+1168965120,1168965375,US
+1168965376,1168965631,CA
1168965632,1168973823,US
1168973824,1168982015,CA
1168982016,1169051903,US
@@ -27647,9 +32529,7 @@
1169057264,1169057279,BR
1169057280,1169092639,US
1169092640,1169092671,GB
-1169092672,1169093503,US
-1169093504,1169093567,DE
-1169093568,1169094713,US
+1169092672,1169094713,US
1169094714,1169094726,CA
1169094727,1169094755,US
1169094756,1169094763,AU
@@ -27689,7 +32569,9 @@
1170469056,1170469071,VG
1170469072,1170470911,US
1170470912,1170471167,ES
-1170471168,1170471375,US
+1170471168,1170471263,US
+1170471264,1170471279,CA
+1170471280,1170471375,US
1170471376,1170471391,UY
1170471392,1170471903,US
1170471904,1170471919,BE
@@ -27700,169 +32582,104 @@
1170489344,1170497535,CA
1170497536,1170505727,US
1170505728,1170522111,CA
-1170522112,1170538495,US
-1170538496,1170538751,KH
-1170538752,1170539329,US
+1170522112,1170539329,US
1170539330,1170539330,CN
-1170539331,1170539331,TR
-1170539332,1170539332,CA
-1170539333,1170539333,RO
-1170539334,1170539460,US
+1170539331,1170539460,US
1170539461,1170539461,PK
1170539462,1170539522,US
1170539523,1170539523,AU
1170539524,1170539586,US
1170539587,1170539587,SC
-1170539588,1170539589,US
-1170539590,1170539590,SA
+1170539588,1170539590,US
1170539591,1170539591,CN
1170539592,1170539592,AU
-1170539593,1170539652,US
-1170539653,1170539653,GB
-1170539654,1170539712,US
+1170539593,1170539712,US
1170539713,1170539713,CN
1170539714,1170539714,US
1170539715,1170539715,PK
1170539716,1170539776,US
1170539777,1170539777,SC
-1170539778,1170539778,CN
-1170539779,1170539779,SC
-1170539780,1170539780,US
-1170539781,1170539781,PR
-1170539782,1170539841,US
-1170539842,1170539842,BD
+1170539778,1170539842,US
1170539843,1170539843,MY
-1170539844,1170539910,US
-1170539911,1170539911,KH
-1170539912,1170539969,US
+1170539844,1170539969,US
1170539970,1170539970,KH
-1170539971,1170540036,US
-1170540037,1170540037,TR
-1170540038,1170540038,US
+1170539971,1170540038,US
1170540039,1170540039,PH
1170540040,1170540096,US
-1170540097,1170540098,TR
-1170540099,1170540105,US
-1170540106,1170540106,CN
-1170540107,1170540163,US
-1170540164,1170540164,RO
-1170540165,1170540230,US
-1170540231,1170540231,KR
+1170540097,1170540097,TR
+1170540098,1170540231,US
1170540232,1170540232,CN
1170540233,1170540288,US
1170540289,1170540290,CN
-1170540291,1170540291,US
-1170540292,1170540292,TR
-1170540293,1170540294,US
-1170540295,1170540295,CN
-1170540296,1170540353,US
-1170540354,1170540354,CN
-1170540355,1170540359,US
-1170540360,1170540360,CN
+1170540291,1170540360,US
1170540361,1170540361,CA
1170540362,1170540369,US
1170540370,1170540370,CN
1170540371,1170540371,US
1170540372,1170540372,CN
-1170540373,1170540416,US
-1170540417,1170540417,CN
-1170540418,1170540428,US
+1170540373,1170540428,US
1170540429,1170540429,TR
-1170540430,1170540480,US
-1170540481,1170540481,TR
-1170540482,1170540486,US
-1170540487,1170540487,TR
-1170540488,1170540491,US
-1170540492,1170540494,TR
-1170540495,1170540496,US
-1170540497,1170540497,CZ
-1170540498,1170540608,US
-1170540609,1170540609,CN
-1170540610,1170540616,US
-1170540617,1170540617,TR
-1170540618,1170542863,US
-1170542864,1170542871,CN
-1170542872,1170543747,US
-1170543748,1170543751,PR
-1170543752,1170544127,US
+1170540430,1170540491,US
+1170540492,1170540492,TR
+1170540493,1170540493,US
+1170540494,1170540494,TR
+1170540495,1170540503,US
+1170540504,1170540504,BD
+1170540505,1170543727,US
+1170543728,1170543743,CN
+1170543744,1170543759,US
+1170543760,1170543775,CN
+1170543776,1170543871,US
+1170543872,1170543903,CN
+1170543904,1170543927,US
+1170543928,1170543935,CN
+1170543936,1170543943,US
+1170543944,1170544047,CN
+1170544048,1170544127,US
1170544128,1170544191,CN
-1170544192,1170544195,US
-1170544196,1170544199,BD
-1170544200,1170544207,TR
-1170544208,1170544239,US
-1170544240,1170544247,CN
-1170544248,1170544251,US
-1170544252,1170544255,CN
+1170544192,1170544255,US
1170544256,1170544383,PK
1170544384,1170544387,US
1170544388,1170544391,BD
-1170544392,1170544395,TR
-1170544396,1170544431,US
+1170544392,1170544431,US
1170544432,1170544439,CN
-1170544440,1170544443,AU
-1170544444,1170544807,US
-1170544808,1170544815,CN
-1170544816,1170544831,US
-1170544832,1170544959,CN
-1170544960,1170544983,US
-1170544984,1170544987,CN
-1170544988,1170544991,US
-1170544992,1170545023,SC
-1170545024,1170545055,US
-1170545056,1170545087,CN
-1170545088,1170545407,US
-1170545408,1170545439,TR
+1170544440,1170544895,US
+1170544896,1170544959,CN
+1170544960,1170545083,US
+1170545084,1170545087,CN
+1170545088,1170545439,US
1170545440,1170545471,SC
-1170545472,1170545595,US
-1170545596,1170545599,CN
-1170545600,1170552607,US
-1170552608,1170552611,CN
-1170552612,1170552959,US
-1170552960,1170553023,CN
-1170553024,1170553087,US
+1170545472,1170553087,US
1170553088,1170553151,GB
1170553152,1170553279,US
1170553280,1170553407,CN
-1170553408,1170553423,US
-1170553424,1170553427,CN
-1170553428,1170553431,US
-1170553432,1170553435,TR
-1170553436,1170553439,US
-1170553440,1170553471,TR
+1170553408,1170553471,US
1170553472,1170553535,PK
-1170553536,1170553599,US
-1170553600,1170553603,TR
-1170553604,1170553615,US
+1170553536,1170553615,US
1170553616,1170553619,SA
-1170553620,1170553623,TR
-1170553624,1170553627,US
-1170553628,1170553631,TR
-1170553632,1170553635,US
+1170553620,1170553635,US
1170553636,1170553643,SA
1170553644,1170553651,US
1170553652,1170553655,TR
1170553656,1170553663,US
1170553664,1170553667,SA
-1170553668,1170553675,US
-1170553676,1170553679,SC
-1170553680,1170553683,US
-1170553684,1170553687,CN
-1170553688,1170553855,US
+1170553668,1170553855,US
1170553856,1170553983,MY
1170553984,1170554047,CN
1170554048,1170554367,US
1170554368,1170554431,CN
1170554432,1170554463,US
1170554464,1170554479,CN
-1170554480,1170554483,TR
-1170554484,1170554487,BD
+1170554480,1170554487,US
1170554488,1170554495,CN
1170554496,1170554683,US
1170554684,1170554687,TR
1170554688,1170573375,US
1170573376,1170573391,RU
1170573392,1170573392,US
-1170573393,1170573439,RU
+1170573393,1170573393,RU
+1170573394,1170573394,US
+1170573395,1170573439,RU
1170573440,1175977983,US
1175977984,1176068167,CA
1176068168,1176068175,US
@@ -27872,14 +32689,14 @@
1176069008,1176069023,US
1176069024,1176101023,CA
1176101024,1176101039,US
-1176101040,1176101063,CA
-1176101064,1176101071,US
-1176101072,1176108551,CA
+1176101040,1176108551,CA
1176108552,1176108559,US
1176108560,1176502271,CA
-1176502272,1176512151,US
-1176512152,1176512159,GB
-1176512160,1176512703,US
+1176502272,1176511831,US
+1176511832,1176511839,CA
+1176511840,1176512175,US
+1176512176,1176512183,CA
+1176512184,1176512703,US
1176512704,1176512711,ZA
1176512712,1176513479,US
1176513480,1176513487,CA
@@ -27902,8 +32719,8 @@
1176620096,1176620127,US
1176620128,1176620175,CA
1176620176,1176620183,US
-1176620184,1176620239,CA
-1176620240,1176620255,US
+1176620184,1176620223,CA
+1176620224,1176620255,US
1176620256,1176620287,CA
1176620288,1176620319,US
1176620320,1176620487,CA
@@ -27912,18 +32729,22 @@
1176620744,1176620783,US
1176620784,1176620863,CA
1176620864,1176620879,US
-1176620880,1176620967,CA
+1176620880,1176620911,CA
+1176620912,1176620927,US
+1176620928,1176620967,CA
1176620968,1176620975,US
1176620976,1176620991,CA
1176620992,1176620999,US
-1176621000,1176621599,CA
+1176621000,1176621567,CA
+1176621568,1176621575,US
+1176621576,1176621599,CA
1176621600,1176621631,US
1176621632,1176621695,CA
1176621696,1176621727,US
1176621728,1176621759,CA
1176621760,1176621823,US
-1176621824,1176621871,CA
-1176621872,1176621887,US
+1176621824,1176621863,CA
+1176621864,1176621887,US
1176621888,1176622047,CA
1176622048,1176622079,US
1176622080,1176622335,GB
@@ -27931,9 +32752,7 @@
1176622432,1176622455,US
1176622456,1176622559,CA
1176622560,1176622591,US
-1176622592,1176623359,CA
-1176623360,1176623487,US
-1176623488,1176623567,CA
+1176622592,1176623567,CA
1176623568,1176623583,US
1176623584,1176623615,CA
1176623616,1176623871,US
@@ -27949,11 +32768,11 @@
1176629464,1176629503,US
1176629504,1176629519,CA
1176629520,1176629535,NZ
-1176629536,1176629631,CA
-1176629632,1176629727,US
-1176629728,1176630271,CA
-1176630272,1176631039,US
-1176631040,1176631295,CA
+1176629536,1176629695,CA
+1176629696,1176629727,US
+1176629728,1176629759,CA
+1176629760,1176630271,US
+1176630272,1176631295,CA
1176631296,1176631551,NL
1176631552,1176662015,US
1176662016,1176666111,CA
@@ -27965,23 +32784,63 @@
1176682624,1176682631,JM
1176682632,1176682639,GB
1176682640,1176682687,TR
-1176682688,1176684383,US
+1176682688,1176683047,US
+1176683048,1176683055,BR
+1176683056,1176683095,US
+1176683096,1176683103,LT
+1176683104,1176683135,US
+1176683136,1176683143,HK
+1176683144,1176683263,US
+1176683264,1176683279,CA
+1176683280,1176683287,MY
+1176683288,1176683311,US
+1176683312,1176683319,RO
+1176683320,1176683335,US
+1176683336,1176683343,IN
+1176683344,1176683447,US
+1176683448,1176683455,UA
+1176683456,1176683607,US
+1176683608,1176683615,PE
+1176683616,1176683647,MD
+1176683648,1176683663,US
+1176683664,1176683671,PE
+1176683672,1176684063,US
+1176684064,1176684095,AU
+1176684096,1176684119,US
+1176684120,1176684159,FR
+1176684160,1176684175,US
+1176684176,1176684183,GB
+1176684184,1176684191,CA
+1176684192,1176684207,US
+1176684208,1176684215,GB
+1176684216,1176684383,US
1176684384,1176684399,DE
-1176684400,1176686591,US
-1176686592,1176686599,BR
-1176686600,1176686623,US
+1176684400,1176685311,US
+1176685312,1176685319,CN
+1176685320,1176685399,US
+1176685400,1176685407,EG
+1176685408,1176685535,US
+1176685536,1176685543,TR
+1176685544,1176685831,US
+1176685832,1176685839,IN
+1176685840,1176685847,EE
+1176685848,1176685855,GB
+1176685856,1176685871,US
+1176685872,1176685879,AU
+1176685880,1176685887,GB
+1176685888,1176685895,US
+1176685896,1176685903,GB
+1176685904,1176686623,US
1176686624,1176686631,IL
-1176686632,1176686639,US
-1176686640,1176686647,DE
-1176686648,1176686719,US
+1176686632,1176686719,US
1176686720,1176686751,CA
1176686752,1176686847,US
-1176686848,1176687103,AN
+1176686848,1176686879,AN
+1176686880,1176686895,ID
+1176686896,1176687103,AN
1176687104,1176687519,US
1176687520,1176687551,JP
-1176687552,1176687775,US
-1176687776,1176687807,MX
-1176687808,1176687839,US
+1176687552,1176687839,US
1176687840,1176687871,GB
1176687872,1176687887,US
1176687888,1176687895,AU
@@ -27998,13 +32857,11 @@
1176688480,1176688487,US
1176688488,1176688495,AU
1176688496,1176688503,BG
-1176688504,1176688511,SG
-1176688512,1176688567,US
+1176688504,1176688567,US
1176688568,1176688575,DE
1176688576,1176688631,US
1176688632,1176688639,TR
-1176688640,1176688767,US
-1176688768,1176688799,NZ
+1176688640,1176688799,US
1176688800,1176688831,CN
1176688832,1176688863,US
1176688864,1176688895,GB
@@ -28013,8 +32870,7 @@
1176688960,1176688991,NL
1176688992,1176689023,US
1176689024,1176689055,CA
-1176689056,1176689087,MY
-1176689088,1176689183,US
+1176689056,1176689183,US
1176689184,1176689215,BR
1176689216,1176689407,US
1176689408,1176689439,DE
@@ -28038,39 +32894,31 @@
1176690176,1176690207,FR
1176690208,1176690271,US
1176690272,1176690303,EG
-1176690304,1176690335,US
-1176690336,1176690367,CA
+1176690304,1176690367,US
1176690368,1176690399,PK
1176690400,1176690431,CA
1176690432,1176690463,US
1176690464,1176690495,DO
1176690496,1176690527,CA
1176690528,1176690535,FR
-1176690536,1176690543,US
-1176690544,1176690551,RU
-1176690552,1176690559,US
+1176690536,1176690559,US
1176690560,1176690591,IN
1176690592,1176690791,US
1176690792,1176690799,CA
-1176690800,1176690815,US
-1176690816,1176690847,BR
-1176690848,1176691007,US
+1176690800,1176691007,US
1176691008,1176691039,ES
1176691040,1176691071,US
1176691072,1176691103,ID
1176691104,1176691135,DE
1176691136,1176691167,GB
-1176691168,1176691199,US
-1176691200,1176691231,GB
-1176691232,1176691263,US
+1176691168,1176691263,US
1176691264,1176691295,RU
1176691296,1176691327,TR
1176691328,1176691375,US
1176691376,1176691391,AU
1176691392,1176691519,US
1176691520,1176691551,GB
-1176691552,1176691583,US
-1176691584,1176691615,BE
+1176691552,1176691615,US
1176691616,1176691647,LT
1176691648,1176691743,US
1176691744,1176691775,CA
@@ -28093,15 +32941,12 @@
1176692576,1176692583,TR
1176692584,1176692591,RO
1176692592,1176692599,FR
-1176692600,1176692607,SE
-1176692608,1176692639,US
+1176692600,1176692639,US
1176692640,1176692671,GR
1176692672,1176692703,DE
1176692704,1176692735,GB
1176692736,1176692767,BR
-1176692768,1176692799,US
-1176692800,1176692831,AT
-1176692832,1176692927,US
+1176692768,1176692927,US
1176692928,1176692959,GB
1176692960,1176692991,US
1176692992,1176693023,CN
@@ -28115,8 +32960,7 @@
1176693568,1176693599,GB
1176693600,1176693631,LT
1176693632,1176693663,TR
-1176693664,1176693695,MY
-1176693696,1176693727,US
+1176693664,1176693727,US
1176693728,1176693759,TR
1176693760,1176693791,US
1176693792,1176693823,TR
@@ -28124,7 +32968,7 @@
1176693888,1176693919,CA
1176693920,1176694047,US
1176694048,1176694079,IT
-1176694080,1176694111,PA
+1176694080,1176694111,US
1176694112,1176694143,FR
1176694144,1176694175,ES
1176694176,1176694303,US
@@ -28135,21 +32979,15 @@
1176694432,1176694463,HR
1176694464,1176694559,US
1176694560,1176694591,IE
-1176694592,1176694623,US
-1176694624,1176694655,TH
-1176694656,1176694943,US
+1176694592,1176694943,US
1176694944,1176694975,GB
-1176694976,1176695007,CA
-1176695008,1176695231,US
-1176695232,1176695263,DE
-1176695264,1176695295,US
+1176694976,1176695295,US
1176695296,1176695303,TR
1176695304,1176695327,US
1176695328,1176695335,CA
1176695336,1176695359,US
1176695360,1176695391,JP
-1176695392,1176695487,US
-1176695488,1176695519,AU
+1176695392,1176695519,US
1176695520,1176695551,FR
1176695552,1176695583,CA
1176695584,1176695615,US
@@ -28157,13 +32995,15 @@
1176695648,1176695655,GB
1176695656,1176695663,US
1176695664,1176695671,HR
-1176695672,1176696447,US
+1176695672,1176695807,US
+1176695808,1176695839,VN
+1176695840,1176695967,US
+1176695968,1176695999,CA
+1176696000,1176696447,US
1176696448,1176696463,CA
1176696464,1176697015,US
1176697016,1176697023,TR
-1176697024,1176697159,US
-1176697160,1176697167,AT
-1176697168,1176697223,US
+1176697024,1176697223,US
1176697224,1176697231,FR
1176697232,1176697239,US
1176697240,1176697247,IL
@@ -28173,8 +33013,7 @@
1176697424,1176697439,CA
1176697440,1176697815,US
1176697816,1176697823,DE
-1176697824,1176697951,US
-1176697952,1176697959,CA
+1176697824,1176697959,US
1176697960,1176697967,DE
1176697968,1176697975,US
1176697976,1176697983,AU
@@ -28212,27 +33051,2009 @@
1176771328,1176771583,KR
1176771584,1176771895,US
1176771896,1176771903,AE
-1176771904,1176776703,US
+1176771904,1176772079,US
+1176772080,1176772095,DO
+1176772096,1176776703,US
1176776704,1176780799,CA
1176780800,1176895487,US
-1176895488,1176896519,CA
+1176895488,1176895743,CA
+1176895744,1176895751,GB
+1176895752,1176895759,CO
+1176895760,1176895775,US
+1176895776,1176895783,AE
+1176895784,1176895791,BR
+1176895792,1176895807,US
+1176895808,1176895815,GB
+1176895816,1176895823,YE
+1176895824,1176895831,CA
+1176895832,1176895839,US
+1176895840,1176895887,CA
+1176895888,1176895895,IN
+1176895896,1176895975,CA
+1176895976,1176895983,AR
+1176895984,1176896015,CA
+1176896016,1176896023,US
+1176896024,1176896031,BR
+1176896032,1176896039,TR
+1176896040,1176896047,BR
+1176896048,1176896063,CA
+1176896064,1176896079,US
+1176896080,1176896087,MY
+1176896088,1176896127,CA
+1176896128,1176896135,JO
+1176896136,1176896143,CH
+1176896144,1176896151,AE
+1176896152,1176896159,CA
+1176896160,1176896167,BR
+1176896168,1176896175,VG
+1176896176,1176896183,NZ
+1176896184,1176896191,US
+1176896192,1176896199,BR
+1176896200,1176896207,IR
+1176896208,1176896215,JP
+1176896216,1176896223,US
+1176896224,1176896231,BR
+1176896232,1176896239,CA
+1176896240,1176896247,ES
+1176896248,1176896255,RO
+1176896256,1176896263,CA
+1176896264,1176896271,MX
+1176896272,1176896279,HK
+1176896280,1176896287,CA
+1176896288,1176896295,PE
+1176896296,1176896311,US
+1176896312,1176896335,CA
+1176896336,1176896343,US
+1176896344,1176896351,CA
+1176896352,1176896359,US
+1176896360,1176896367,TH
+1176896368,1176896375,CA
+1176896376,1176896383,US
+1176896384,1176896431,CA
+1176896432,1176896439,SE
+1176896440,1176896447,CA
+1176896448,1176896455,US
+1176896456,1176896463,ES
+1176896464,1176896471,US
+1176896472,1176896479,MX
+1176896480,1176896487,US
+1176896488,1176896495,CA
+1176896496,1176896503,US
+1176896504,1176896511,CA
+1176896512,1176896519,US
1176896520,1176896527,MX
-1176896528,1176896543,CA
+1176896528,1176896535,IN
+1176896536,1176896543,CA
1176896544,1176896551,MX
-1176896552,1176897047,CA
-1176897048,1176897055,US
-1176897056,1176899151,CA
+1176896552,1176896567,CA
+1176896568,1176896575,IT
+1176896576,1176896583,BR
+1176896584,1176896591,US
+1176896592,1176896599,LU
+1176896600,1176896607,BR
+1176896608,1176896615,BG
+1176896616,1176896623,CA
+1176896624,1176896631,US
+1176896632,1176896639,GB
+1176896640,1176896647,BR
+1176896648,1176896655,FR
+1176896656,1176896663,CA
+1176896664,1176896679,US
+1176896680,1176896687,UA
+1176896688,1176896695,CA
+1176896696,1176896703,MK
+1176896704,1176896719,CA
+1176896720,1176896735,US
+1176896736,1176896783,CA
+1176896784,1176896791,US
+1176896792,1176896799,QA
+1176896800,1176896807,CA
+1176896808,1176896815,GB
+1176896816,1176896831,CA
+1176896832,1176896839,US
+1176896840,1176896847,CA
+1176896848,1176896855,PE
+1176896856,1176896863,BD
+1176896864,1176896871,VG
+1176896872,1176896879,KG
+1176896880,1176897023,CA
+1176897024,1176897039,US
+1176897040,1176897047,CA
+1176897048,1176897087,US
+1176897088,1176897095,CA
+1176897096,1176897103,MX
+1176897104,1176897119,CA
+1176897120,1176897127,US
+1176897128,1176897143,CA
+1176897144,1176897151,BR
+1176897152,1176897167,IR
+1176897168,1176897175,US
+1176897176,1176897183,MX
+1176897184,1176897191,IN
+1176897192,1176897199,PK
+1176897200,1176897207,CA
+1176897208,1176897215,OM
+1176897216,1176897247,CA
+1176897248,1176897279,US
+1176897280,1176897287,KW
+1176897288,1176897295,US
+1176897296,1176897303,RU
+1176897304,1176897311,BR
+1176897312,1176897319,KW
+1176897320,1176897327,RO
+1176897328,1176897335,MY
+1176897336,1176897343,AE
+1176897344,1176897359,US
+1176897360,1176897399,CA
+1176897400,1176897407,PL
+1176897408,1176897415,US
+1176897416,1176897423,NZ
+1176897424,1176897431,RO
+1176897432,1176897439,US
+1176897440,1176897447,IR
+1176897448,1176897455,BR
+1176897456,1176897479,CA
+1176897480,1176897487,BR
+1176897488,1176897495,CA
+1176897496,1176897503,GB
+1176897504,1176897511,FR
+1176897512,1176897519,CA
+1176897520,1176897527,TW
+1176897528,1176897543,CA
+1176897544,1176897551,GB
+1176897552,1176897559,IT
+1176897560,1176897567,RU
+1176897568,1176897575,CA
+1176897576,1176897583,BR
+1176897584,1176897591,CA
+1176897592,1176897599,NO
+1176897600,1176897607,YE
+1176897608,1176897615,CA
+1176897616,1176897623,US
+1176897624,1176897631,KW
+1176897632,1176897639,CA
+1176897640,1176897647,IN
+1176897648,1176897655,CA
+1176897656,1176897663,JP
+1176897664,1176897679,US
+1176897680,1176897687,AU
+1176897688,1176897695,IE
+1176897696,1176897711,CA
+1176897712,1176897719,BR
+1176897720,1176897727,MX
+1176897728,1176897735,CA
+1176897736,1176897743,PK
+1176897744,1176897751,SE
+1176897752,1176897759,CA
+1176897760,1176897775,US
+1176897776,1176897783,CN
+1176897784,1176897799,CA
+1176897800,1176897807,OM
+1176897808,1176897823,IR
+1176897824,1176897855,TR
+1176897856,1176897863,US
+1176897864,1176897879,CA
+1176897880,1176897887,US
+1176897888,1176897895,MX
+1176897896,1176897903,PK
+1176897904,1176897911,LB
+1176897912,1176897919,CA
+1176897920,1176897927,PK
+1176897928,1176897935,SG
+1176897936,1176897943,FR
+1176897944,1176897951,US
+1176897952,1176897959,CA
+1176897960,1176897983,US
+1176897984,1176897991,CA
+1176897992,1176898015,US
+1176898016,1176898031,PK
+1176898032,1176898039,IL
+1176898040,1176898047,PK
+1176898048,1176898055,CA
+1176898056,1176898063,TR
+1176898064,1176898071,RU
+1176898072,1176898079,PK
+1176898080,1176898111,CA
+1176898112,1176898119,JP
+1176898120,1176898127,MX
+1176898128,1176898135,BR
+1176898136,1176898151,US
+1176898152,1176898159,TR
+1176898160,1176898191,US
+1176898192,1176898199,AM
+1176898200,1176898207,PK
+1176898208,1176898215,IN
+1176898216,1176898239,CA
+1176898240,1176898247,PK
+1176898248,1176898255,CA
+1176898256,1176898263,PK
+1176898264,1176898287,US
+1176898288,1176898295,PK
+1176898296,1176898831,CA
+1176898832,1176898855,US
+1176898856,1176898863,AU
+1176898864,1176898871,CA
+1176898872,1176898879,GB
+1176898880,1176898903,CA
+1176898904,1176898911,OM
+1176898912,1176898943,CA
+1176898944,1176898951,IR
+1176898952,1176898959,US
+1176898960,1176898967,EC
+1176898968,1176898983,US
+1176898984,1176898991,EC
+1176898992,1176898999,NL
+1176899000,1176899007,SA
+1176899008,1176899015,PK
+1176899016,1176899023,CA
+1176899024,1176899031,AR
+1176899032,1176899039,TH
+1176899040,1176899047,US
+1176899048,1176899055,CA
+1176899056,1176899063,MD
+1176899064,1176899071,GB
+1176899072,1176899087,US
+1176899088,1176899095,CA
+1176899096,1176899103,GB
+1176899104,1176899119,PK
+1176899120,1176899127,CO
+1176899128,1176899143,CA
+1176899144,1176899151,US
1176899152,1176899159,KZ
-1176899160,1176908223,CA
+1176899160,1176899175,GB
+1176899176,1176899183,CA
+1176899184,1176899191,SA
+1176899192,1176899207,CA
+1176899208,1176899215,AE
+1176899216,1176899223,AR
+1176899224,1176899239,CA
+1176899240,1176899247,AE
+1176899248,1176899255,CA
+1176899256,1176899263,LB
+1176899264,1176899271,CZ
+1176899272,1176899279,CA
+1176899280,1176899287,BR
+1176899288,1176899295,US
+1176899296,1176899303,CA
+1176899304,1176899311,US
+1176899312,1176899327,CA
+1176899328,1176899335,MX
+1176899336,1176899351,CA
+1176899352,1176899359,US
+1176899360,1176899375,CA
+1176899376,1176899383,HU
+1176899384,1176899399,CA
+1176899400,1176899407,DK
+1176899408,1176899415,CA
+1176899416,1176899423,US
+1176899424,1176899439,BR
+1176899440,1176899455,CA
+1176899456,1176899463,UA
+1176899464,1176899471,CA
+1176899472,1176899479,GB
+1176899480,1176899487,MX
+1176899488,1176899503,CA
+1176899504,1176899511,US
+1176899512,1176899519,BR
+1176899520,1176899527,CA
+1176899528,1176899535,RU
+1176899536,1176899559,CA
+1176899560,1176899567,PT
+1176899568,1176899575,NL
+1176899576,1176899583,NZ
+1176899584,1176899591,ZA
+1176899592,1176899599,AM
+1176899600,1176899607,CA
+1176899608,1176899615,AR
+1176899616,1176899623,NL
+1176899624,1176899639,CA
+1176899640,1176899647,GB
+1176899648,1176899655,CN
+1176899656,1176899711,CA
+1176899712,1176899775,CN
+1176899776,1176899807,CA
+1176899808,1176899823,BR
+1176899824,1176899839,US
+1176899840,1176899855,CA
+1176899856,1176899879,US
+1176899880,1176899887,CA
+1176899888,1176899903,IR
+1176899904,1176899919,CA
+1176899920,1176899927,CY
+1176899928,1176899951,CA
+1176899952,1176899959,IN
+1176899960,1176899967,US
+1176899968,1176899991,CA
+1176899992,1176899999,MY
+1176900000,1176900007,CR
+1176900008,1176900015,US
+1176900016,1176900023,CA
+1176900024,1176900031,US
+1176900032,1176900039,IN
+1176900040,1176900047,US
+1176900048,1176900055,AU
+1176900056,1176900063,CA
+1176900064,1176900079,US
+1176900080,1176900087,CA
+1176900088,1176900095,US
+1176900096,1176900111,CA
+1176900112,1176900119,RU
+1176900120,1176900199,CA
+1176900200,1176900207,BR
+1176900208,1176900215,US
+1176900216,1176900223,PK
+1176900224,1176900231,GB
+1176900232,1176900239,CA
+1176900240,1176900247,BE
+1176900248,1176900255,IN
+1176900256,1176900263,PK
+1176900264,1176900271,AE
+1176900272,1176900279,PK
+1176900280,1176900287,US
+1176900288,1176900295,NL
+1176900296,1176900303,US
+1176900304,1176900311,TR
+1176900312,1176900319,IN
+1176900320,1176900327,EG
+1176900328,1176900335,KW
+1176900336,1176900343,IE
+1176900344,1176900351,CA
+1176900352,1176900359,DE
+1176900360,1176900367,BR
+1176900368,1176900375,CA
+1176900376,1176900383,US
+1176900384,1176900399,IR
+1176900400,1176900407,CA
+1176900408,1176900415,BE
+1176900416,1176900423,FR
+1176900424,1176900439,US
+1176900440,1176900455,CA
+1176900456,1176900463,IR
+1176900464,1176900471,US
+1176900472,1176900479,CA
+1176900480,1176900487,US
+1176900488,1176900495,AE
+1176900496,1176900503,AR
+1176900504,1176900535,US
+1176900536,1176900543,IR
+1176900544,1176900551,QA
+1176900552,1176900599,CA
+1176900600,1176900615,US
+1176900616,1176900639,BR
+1176900640,1176900647,US
+1176900648,1176900655,CA
+1176900656,1176900663,AU
+1176900664,1176900671,CA
+1176900672,1176900679,NZ
+1176900680,1176900687,IT
+1176900688,1176900695,US
+1176900696,1176900719,CA
+1176900720,1176900727,SA
+1176900728,1176900735,CO
+1176900736,1176900783,US
+1176900784,1176900791,BR
+1176900792,1176900807,CA
+1176900808,1176900815,CH
+1176900816,1176900831,US
+1176900832,1176900839,EG
+1176900840,1176900847,VE
+1176900848,1176900855,AE
+1176900856,1176900863,ES
+1176900864,1176900871,BR
+1176900872,1176900911,CA
+1176900912,1176900919,SE
+1176900920,1176900927,ES
+1176900928,1176900951,CA
+1176900952,1176900959,CZ
+1176900960,1176900967,CA
+1176900968,1176900975,GB
+1176900976,1176900983,BE
+1176900984,1176900991,US
+1176900992,1176900999,CA
+1176901000,1176901007,TR
+1176901008,1176901015,US
+1176901016,1176901023,CA
+1176901024,1176901039,MX
+1176901040,1176901047,IL
+1176901048,1176901055,CA
+1176901056,1176901063,LV
+1176901064,1176901071,TR
+1176901072,1176901079,US
+1176901080,1176901087,BR
+1176901088,1176901095,CA
+1176901096,1176901103,US
+1176901104,1176901119,CA
+1176901120,1176901127,DK
+1176901128,1176901143,CA
+1176901144,1176901151,PA
+1176901152,1176901255,CA
+1176901256,1176901263,AR
+1176901264,1176901271,BR
+1176901272,1176901279,TR
+1176901280,1176901311,CA
+1176901312,1176901319,LU
+1176901320,1176901327,AE
+1176901328,1176901335,CA
+1176901336,1176901343,MX
+1176901344,1176901359,CA
+1176901360,1176901367,IT
+1176901368,1176901375,CA
+1176901376,1176901383,IR
+1176901384,1176901391,NL
+1176901392,1176901399,PK
+1176901400,1176901439,US
+1176901440,1176901447,AU
+1176901448,1176901455,CA
+1176901456,1176901471,US
+1176901472,1176901503,CA
+1176901504,1176901511,BH
+1176901512,1176901519,US
+1176901520,1176901527,CA
+1176901528,1176901535,US
+1176901536,1176901543,HU
+1176901544,1176901551,IN
+1176901552,1176901559,NL
+1176901560,1176901567,CA
+1176901568,1176901575,GB
+1176901576,1176901591,US
+1176901592,1176901599,ES
+1176901600,1176901607,BR
+1176901608,1176901615,US
+1176901616,1176901623,CN
+1176901624,1176901631,CA
+1176901632,1176901639,AE
+1176901640,1176901647,CA
+1176901648,1176901655,DE
+1176901656,1176901663,US
+1176901664,1176901671,CA
+1176901672,1176901679,PT
+1176901680,1176901687,CA
+1176901688,1176901695,US
+1176901696,1176901703,CA
+1176901704,1176901719,CN
+1176901720,1176901727,AU
+1176901728,1176901735,IN
+1176901736,1176901743,US
+1176901744,1176901751,CA
+1176901752,1176901759,TH
+1176901760,1176901767,PK
+1176901768,1176901775,US
+1176901776,1176901783,CA
+1176901784,1176901807,US
+1176901808,1176901815,DE
+1176901816,1176901823,US
+1176901824,1176901831,IR
+1176901832,1176901839,GR
+1176901840,1176901847,CO
+1176901848,1176901855,CA
+1176901856,1176901863,ES
+1176901864,1176901871,BR
+1176901872,1176901879,RU
+1176901880,1176901887,BR
+1176901888,1176901919,PH
+1176901920,1176901935,CA
+1176901936,1176901951,BR
+1176901952,1176901967,CA
+1176901968,1176901983,US
+1176901984,1176902015,CA
+1176902016,1176902047,US
+1176902048,1176902079,PL
+1176902080,1176902095,BR
+1176902096,1176902111,TW
+1176902112,1176902399,CA
+1176902400,1176902415,IT
+1176902416,1176902431,CA
+1176902432,1176902463,HK
+1176902464,1176902479,CA
+1176902480,1176902495,UA
+1176902496,1176902527,CA
+1176902528,1176902559,CY
+1176902560,1176902591,CA
+1176902592,1176902607,PT
+1176902608,1176902663,CA
+1176902664,1176902671,GB
+1176902672,1176902679,MX
+1176902680,1176902687,CA
+1176902688,1176902703,US
+1176902704,1176902711,CA
+1176902712,1176902719,US
+1176902720,1176902727,BR
+1176902728,1176902735,CA
+1176902736,1176902743,GB
+1176902744,1176902751,VN
+1176902752,1176902759,RU
+1176902760,1176902767,US
+1176902768,1176902783,IN
+1176902784,1176902791,SA
+1176902792,1176902807,US
+1176902808,1176902815,CA
+1176902816,1176902823,UA
+1176902824,1176902831,IQ
+1176902832,1176902839,CA
+1176902840,1176902847,HR
+1176902848,1176902855,US
+1176902856,1176902863,GB
+1176902864,1176902871,RU
+1176902872,1176902887,CA
+1176902888,1176902895,RU
+1176902896,1176902919,CA
+1176902920,1176902927,IN
+1176902928,1176902935,CA
+1176902936,1176902943,CY
+1176902944,1176902951,RU
+1176902952,1176902959,AZ
+1176902960,1176902967,SA
+1176902968,1176902975,CA
+1176902976,1176902983,IT
+1176902984,1176902991,MX
+1176902992,1176902999,LV
+1176903000,1176903023,CA
+1176903024,1176903039,US
+1176903040,1176903055,CA
+1176903056,1176903063,US
+1176903064,1176903071,BR
+1176903072,1176903079,IN
+1176903080,1176903095,CA
+1176903096,1176903103,RU
+1176903104,1176903135,CA
+1176903136,1176903143,BR
+1176903144,1176903159,CA
+1176903160,1176903191,US
+1176903192,1176903215,CA
+1176903216,1176903231,US
+1176903232,1176903255,CA
+1176903256,1176903263,CO
+1176903264,1176903271,GT
+1176903272,1176903287,CA
+1176903288,1176903295,PK
+1176903296,1176903303,IT
+1176903304,1176903311,CA
+1176903312,1176903327,US
+1176903328,1176903359,CA
+1176903360,1176903367,BR
+1176903368,1176903371,PK
+1176903372,1176903375,CA
+1176903376,1176903383,BR
+1176903384,1176903391,US
+1176903392,1176903407,CA
+1176903408,1176903423,US
+1176903424,1176903935,CA
+1176903936,1176903943,BD
+1176903944,1176903951,GB
+1176903952,1176903959,CA
+1176903960,1176903967,BR
+1176903968,1176903991,CA
+1176903992,1176903999,ZA
+1176904000,1176904023,CA
+1176904024,1176904031,US
+1176904032,1176904055,CA
+1176904056,1176904063,TR
+1176904064,1176904071,UA
+1176904072,1176904079,IL
+1176904080,1176904087,ZA
+1176904088,1176904095,CA
+1176904096,1176904103,ES
+1176904104,1176904111,US
+1176904112,1176904127,CA
+1176904128,1176904135,US
+1176904136,1176904143,BR
+1176904144,1176904151,CA
+1176904152,1176904159,UY
+1176904160,1176904167,AM
+1176904168,1176904175,CA
+1176904176,1176904183,EE
+1176904184,1176904191,EG
+1176904192,1176904199,RO
+1176904200,1176904207,US
+1176904208,1176904215,CA
+1176904216,1176904223,TR
+1176904224,1176904239,IN
+1176904240,1176904247,NL
+1176904248,1176904255,VG
+1176904256,1176904263,US
+1176904264,1176904271,SE
+1176904272,1176904279,CD
+1176904280,1176904287,NO
+1176904288,1176904295,ES
+1176904296,1176904303,CA
+1176904304,1176904311,PH
+1176904312,1176904319,GB
+1176904320,1176904327,EG
+1176904328,1176904335,SI
+1176904336,1176904343,CA
+1176904344,1176904351,VN
+1176904352,1176904359,FR
+1176904360,1176904367,UA
+1176904368,1176904375,IL
+1176904376,1176904383,CA
+1176904384,1176904391,AF
+1176904392,1176904399,TR
+1176904400,1176904407,AE
+1176904408,1176904415,US
+1176904416,1176904431,CA
+1176904432,1176904439,IR
+1176904440,1176904447,SA
+1176904448,1176904455,IN
+1176904456,1176904463,CA
+1176904464,1176904471,PK
+1176904472,1176904479,BR
+1176904480,1176904487,VE
+1176904488,1176904495,ZA
+1176904496,1176904503,US
+1176904504,1176904511,LV
+1176904512,1176904519,US
+1176904520,1176904527,IN
+1176904528,1176904551,SA
+1176904552,1176904567,CA
+1176904568,1176904575,DE
+1176904576,1176904583,US
+1176904584,1176904599,CA
+1176904600,1176904607,IL
+1176904608,1176904615,BR
+1176904616,1176904631,CA
+1176904632,1176904639,GB
+1176904640,1176904655,US
+1176904656,1176904663,CA
+1176904664,1176904679,US
+1176904680,1176904687,PT
+1176904688,1176904695,CA
+1176904696,1176904703,SA
+1176904704,1176904711,IN
+1176904712,1176904719,ZA
+1176904720,1176904727,CA
+1176904728,1176904751,US
+1176904752,1176904759,MA
+1176904760,1176904767,CA
+1176904768,1176904775,RU
+1176904776,1176904783,AU
+1176904784,1176904791,IN
+1176904792,1176904799,CY
+1176904800,1176904823,US
+1176904824,1176904831,RU
+1176904832,1176904839,TR
+1176904840,1176904847,US
+1176904848,1176904855,DO
+1176904856,1176904863,CO
+1176904864,1176904871,AU
+1176904872,1176904879,US
+1176904880,1176904915,CA
+1176904916,1176904919,US
+1176904920,1176904927,TR
+1176904928,1176905503,CA
+1176905504,1176905511,CY
+1176905512,1176905631,CA
+1176905632,1176905639,US
+1176905640,1176905647,CA
+1176905648,1176905655,SA
+1176905656,1176905815,CA
+1176905816,1176905823,MX
+1176905824,1176905831,CN
+1176905832,1176905839,CA
+1176905840,1176905847,BR
+1176905848,1176905855,US
+1176905856,1176905871,IN
+1176905872,1176905879,FI
+1176905880,1176905887,CA
+1176905888,1176905895,US
+1176905896,1176905903,NO
+1176905904,1176905911,CA
+1176905912,1176905919,NO
+1176905920,1176905927,US
+1176905928,1176905935,CA
+1176905936,1176905951,US
+1176905952,1176905959,ES
+1176905960,1176905983,CA
+1176905984,1176905991,CL
+1176905992,1176905999,GR
+1176906000,1176906015,CA
+1176906016,1176906023,US
+1176906024,1176906031,BR
+1176906032,1176906039,IN
+1176906040,1176906047,CA
+1176906048,1176906055,CH
+1176906056,1176906063,CA
+1176906064,1176906071,US
+1176906072,1176906087,CA
+1176906088,1176906095,BR
+1176906096,1176906103,AU
+1176906104,1176906111,CA
+1176906112,1176906127,US
+1176906128,1176906135,IT
+1176906136,1176906143,FR
+1176906144,1176906151,IN
+1176906152,1176906159,RU
+1176906160,1176906175,CA
+1176906176,1176906183,US
+1176906184,1176906191,CA
+1176906192,1176906199,SA
+1176906200,1176906207,SE
+1176906208,1176906215,FR
+1176906216,1176906223,BR
+1176906224,1176906263,CA
+1176906264,1176906271,ES
+1176906272,1176906279,CA
+1176906280,1176906287,SY
+1176906288,1176906295,JP
+1176906296,1176906303,US
+1176906304,1176906311,CA
+1176906312,1176906319,IN
+1176906320,1176906327,CA
+1176906328,1176906335,IR
+1176906336,1176906391,CA
+1176906392,1176906399,MX
+1176906400,1176906407,US
+1176906408,1176906415,NZ
+1176906416,1176906623,CA
+1176906624,1176906631,GR
+1176906632,1176906639,US
+1176906640,1176906647,CA
+1176906648,1176906663,US
+1176906664,1176906671,PL
+1176906672,1176906679,US
+1176906680,1176906687,IL
+1176906688,1176906695,CA
+1176906696,1176906703,US
+1176906704,1176906711,CA
+1176906712,1176906719,UA
+1176906720,1176906727,CH
+1176906728,1176906735,CZ
+1176906736,1176906743,US
+1176906744,1176906751,MX
+1176906752,1176906767,CN
+1176906768,1176906775,BR
+1176906776,1176906791,CA
+1176906792,1176906799,VE
+1176906800,1176906815,CA
+1176906816,1176906855,US
+1176906856,1176906863,CA
+1176906864,1176906871,GB
+1176906872,1176906879,CA
+1176906880,1176906927,BR
+1176906928,1176906935,CA
+1176906936,1176906951,BR
+1176906952,1176906967,US
+1176906968,1176906975,IN
+1176906976,1176906983,MX
+1176906984,1176906991,CA
+1176906992,1176907015,US
+1176907016,1176907023,BD
+1176907024,1176907031,CA
+1176907032,1176907039,TR
+1176907040,1176907055,US
+1176907056,1176907063,CA
+1176907064,1176907071,US
+1176907072,1176907079,IN
+1176907080,1176907087,CA
+1176907088,1176907095,US
+1176907096,1176907119,CA
+1176907120,1176907127,FR
+1176907128,1176907135,MX
+1176907136,1176907159,CA
+1176907160,1176907167,HK
+1176907168,1176907175,PT
+1176907176,1176907183,US
+1176907184,1176907191,CA
+1176907192,1176907199,IN
+1176907200,1176907207,US
+1176907208,1176907215,MX
+1176907216,1176907223,US
+1176907224,1176907231,CA
+1176907232,1176907239,RU
+1176907240,1176907247,AE
+1176907248,1176907255,NO
+1176907256,1176907263,US
+1176907264,1176907271,CA
+1176907272,1176907279,US
+1176907280,1176907287,JP
+1176907288,1176907303,CA
+1176907304,1176907311,US
+1176907312,1176907319,CA
+1176907320,1176907327,IT
+1176907328,1176907335,CA
+1176907336,1176907343,SE
+1176907344,1176907351,MX
+1176907352,1176907359,CA
+1176907360,1176907367,FR
+1176907368,1176907375,RO
+1176907376,1176907383,EG
+1176907384,1176907391,US
+1176907392,1176907399,CA
+1176907400,1176907407,MX
+1176907408,1176907415,PK
+1176907416,1176907423,TR
+1176907424,1176907431,AR
+1176907432,1176907439,SA
+1176907440,1176907455,IN
+1176907456,1176907479,BR
+1176907480,1176907487,US
+1176907488,1176907495,CA
+1176907496,1176907503,BR
+1176907504,1176907519,US
+1176907520,1176907535,CA
+1176907536,1176907543,BR
+1176907544,1176907583,CA
+1176907584,1176907591,BR
+1176907592,1176907607,CA
+1176907608,1176907615,TR
+1176907616,1176907623,CA
+1176907624,1176907631,VG
+1176907632,1176907639,CA
+1176907640,1176907647,CN
+1176907648,1176907655,CA
+1176907656,1176907663,GB
+1176907664,1176907679,US
+1176907680,1176907719,CA
+1176907720,1176907727,US
+1176907728,1176907735,CA
+1176907736,1176907751,US
+1176907752,1176907759,CA
+1176907760,1176907767,CN
+1176907768,1176907783,US
+1176907784,1176907791,CA
+1176907792,1176907799,MX
+1176907800,1176907807,TR
+1176907808,1176907815,CA
+1176907816,1176907823,IQ
+1176907824,1176907831,CA
+1176907832,1176907839,US
+1176907840,1176907855,CA
+1176907856,1176907863,TR
+1176907864,1176907871,CD
+1176907872,1176907879,AR
+1176907880,1176907903,CA
+1176907904,1176907911,ID
+1176907912,1176907943,CA
+1176907944,1176907959,US
+1176907960,1176907967,CN
+1176907968,1176907975,CA
+1176907976,1176907983,GR
+1176907984,1176907991,US
+1176907992,1176908007,CA
+1176908008,1176908015,US
+1176908016,1176908023,RU
+1176908024,1176908031,IN
+1176908032,1176908039,BR
+1176908040,1176908047,SY
+1176908048,1176908055,CA
+1176908056,1176908063,US
+1176908064,1176908071,FR
+1176908072,1176908079,CA
+1176908080,1176908095,GT
+1176908096,1176908103,CN
+1176908104,1176908111,PH
+1176908112,1176908119,IL
+1176908120,1176908127,US
+1176908128,1176908135,GR
+1176908136,1176908143,CA
+1176908144,1176908151,GR
+1176908152,1176908159,US
+1176908160,1176908167,CA
+1176908168,1176908175,IL
+1176908176,1176908183,AE
+1176908184,1176908191,TR
+1176908192,1176908199,MX
+1176908200,1176908207,US
+1176908208,1176908215,MX
+1176908216,1176908223,CA
1176908224,1176908231,MX
-1176908232,1176909671,CA
-1176909672,1176909679,US
-1176909680,1176925007,CA
+1176908232,1176908303,CA
+1176908304,1176908311,HU
+1176908312,1176908319,GB
+1176908320,1176908351,CY
+1176908352,1176908415,CA
+1176908416,1176908423,CY
+1176908424,1176908431,US
+1176908432,1176908439,EG
+1176908440,1176908447,IN
+1176908448,1176908455,CZ
+1176908456,1176908463,US
+1176908464,1176908471,CA
+1176908472,1176908479,IN
+1176908480,1176908487,RU
+1176908488,1176908511,CA
+1176908512,1176908519,US
+1176908520,1176908527,CA
+1176908528,1176908535,IN
+1176908536,1176908543,US
+1176908544,1176908551,SG
+1176908552,1176908559,MV
+1176908560,1176908567,IL
+1176908568,1176908575,CA
+1176908576,1176908583,GI
+1176908584,1176908591,FR
+1176908592,1176908599,US
+1176908600,1176908607,CA
+1176908608,1176908615,CO
+1176908616,1176908623,CA
+1176908624,1176908631,TR
+1176908632,1176908639,PT
+1176908640,1176908647,US
+1176908648,1176908655,GB
+1176908656,1176908663,RO
+1176908664,1176908671,CA
+1176908672,1176908679,AU
+1176908680,1176908687,CA
+1176908688,1176908695,IN
+1176908696,1176908703,US
+1176908704,1176908711,GB
+1176908712,1176908719,TR
+1176908720,1176908735,CA
+1176908736,1176908743,CH
+1176908744,1176908751,MX
+1176908752,1176908759,US
+1176908760,1176908767,CA
+1176908768,1176908775,ZA
+1176908776,1176908783,US
+1176908784,1176908791,AT
+1176908792,1176908799,CA
+1176908800,1176908807,GR
+1176908808,1176908815,CA
+1176908816,1176908823,PK
+1176908824,1176908831,CA
+1176908832,1176908839,US
+1176908840,1176908847,IR
+1176908848,1176908855,AE
+1176908856,1176908879,CA
+1176908880,1176908887,MX
+1176908888,1176908895,CA
+1176908896,1176908903,BR
+1176908904,1176908911,US
+1176908912,1176908919,BH
+1176908920,1176908927,CA
+1176908928,1176908935,SE
+1176908936,1176908943,BR
+1176908944,1176908951,HU
+1176908952,1176908959,US
+1176908960,1176908967,CA
+1176908968,1176908975,TR
+1176908976,1176908983,RU
+1176908984,1176908991,UA
+1176908992,1176909007,CA
+1176909008,1176909015,EG
+1176909016,1176909023,MX
+1176909024,1176909031,US
+1176909032,1176909047,CA
+1176909048,1176909055,US
+1176909056,1176909063,HK
+1176909064,1176909071,CA
+1176909072,1176909087,US
+1176909088,1176909095,CA
+1176909096,1176909103,US
+1176909104,1176909111,LB
+1176909112,1176909119,US
+1176909120,1176909135,CA
+1176909136,1176909175,US
+1176909176,1176909183,NL
+1176909184,1176909199,CA
+1176909200,1176909207,BR
+1176909208,1176909215,US
+1176909216,1176909223,NL
+1176909224,1176909231,CA
+1176909232,1176909239,US
+1176909240,1176909247,JO
+1176909248,1176909263,US
+1176909264,1176909271,GB
+1176909272,1176909287,CA
+1176909288,1176909295,BR
+1176909296,1176909575,CA
+1176909576,1176909583,YE
+1176909584,1176909631,CA
+1176909632,1176909639,NO
+1176909640,1176909647,US
+1176909648,1176909655,RU
+1176909656,1176909679,US
+1176909680,1176909687,RO
+1176909688,1176909695,RU
+1176909696,1176909703,CA
+1176909704,1176909711,US
+1176909712,1176909719,CA
+1176909720,1176909727,SE
+1176909728,1176909743,US
+1176909744,1176909751,IN
+1176909752,1176909759,CA
+1176909760,1176909767,FR
+1176909768,1176909775,CA
+1176909776,1176909783,US
+1176909784,1176909791,CA
+1176909792,1176909799,IT
+1176909800,1176909807,AU
+1176909808,1176909815,US
+1176909816,1176909823,IN
+1176909824,1176909831,SE
+1176909832,1176909847,US
+1176909848,1176909855,CA
+1176909856,1176909863,GB
+1176909864,1176909895,PK
+1176909896,1176909903,BR
+1176909904,1176909911,IN
+1176909912,1176909919,US
+1176909920,1176909927,DO
+1176909928,1176909935,CA
+1176909936,1176909943,BR
+1176909944,1176909959,IL
+1176909960,1176909991,CA
+1176909992,1176909999,IN
+1176910000,1176910007,DE
+1176910008,1176910015,NL
+1176910016,1176910023,US
+1176910024,1176910039,CA
+1176910040,1176910047,GB
+1176910048,1176910055,BR
+1176910056,1176910063,UY
+1176910064,1176910071,AE
+1176910072,1176910079,IQ
+1176910080,1176910087,ES
+1176910088,1176910095,LB
+1176910096,1176910103,CA
+1176910104,1176910111,SA
+1176910112,1176910119,CA
+1176910120,1176910127,IL
+1176910128,1176910135,US
+1176910136,1176910143,CA
+1176910144,1176910151,US
+1176910152,1176910167,DE
+1176910168,1176910175,US
+1176910176,1176910183,IN
+1176910184,1176910191,CA
+1176910192,1176910199,KW
+1176910200,1176910207,LB
+1176910208,1176910215,US
+1176910216,1176910223,BR
+1176910224,1176910231,CA
+1176910232,1176910239,US
+1176910240,1176910247,BR
+1176910248,1176910263,CA
+1176910264,1176910271,US
+1176910272,1176910279,BR
+1176910280,1176910303,CA
+1176910304,1176910311,US
+1176910312,1176910319,ES
+1176910320,1176910327,IT
+1176910328,1176910335,CA
+1176910336,1176910343,UA
+1176910344,1176910351,ZA
+1176910352,1176910359,CA
+1176910360,1176910367,TR
+1176910368,1176910375,CA
+1176910376,1176910383,IN
+1176910384,1176910391,US
+1176910392,1176910399,RS
+1176910400,1176910407,EC
+1176910408,1176910415,BR
+1176910416,1176910423,US
+1176910424,1176910431,NZ
+1176910432,1176910439,CA
+1176910440,1176910447,US
+1176910448,1176910455,CA
+1176910456,1176910463,TR
+1176910464,1176910471,VG
+1176910472,1176910479,CA
+1176910480,1176910487,GB
+1176910488,1176910495,BR
+1176910496,1176910727,CA
+1176910728,1176910735,NZ
+1176910736,1176910743,CA
+1176910744,1176910767,US
+1176910768,1176910775,IR
+1176910776,1176910791,BH
+1176910792,1176910799,US
+1176910800,1176910807,CA
+1176910808,1176910815,MX
+1176910816,1176910823,IT
+1176910824,1176910831,CA
+1176910832,1176910839,US
+1176910840,1176910847,RU
+1176910848,1176910855,IN
+1176910856,1176910863,MX
+1176910864,1176910871,US
+1176910872,1176910879,MX
+1176910880,1176910887,MY
+1176910888,1176910895,TW
+1176910896,1176910903,ZA
+1176910904,1176910911,CA
+1176910912,1176910919,PT
+1176910920,1176910927,CA
+1176910928,1176910935,PK
+1176910936,1176910951,US
+1176910952,1176910959,RU
+1176910960,1176910967,FI
+1176910968,1176910983,CA
+1176910984,1176910991,TR
+1176910992,1176910999,UY
+1176911000,1176911007,IN
+1176911008,1176911015,US
+1176911016,1176911023,IN
+1176911024,1176911031,CA
+1176911032,1176911039,US
+1176911040,1176911047,BR
+1176911048,1176911055,US
+1176911056,1176911063,RO
+1176911064,1176911071,US
+1176911072,1176911079,CA
+1176911080,1176911087,US
+1176911088,1176911095,CA
+1176911096,1176911127,US
+1176911128,1176911135,CO
+1176911136,1176911143,BR
+1176911144,1176911151,GB
+1176911152,1176911159,SE
+1176911160,1176911167,AU
+1176911168,1176911183,CA
+1176911184,1176911191,US
+1176911192,1176911199,BR
+1176911200,1176911207,US
+1176911208,1176911215,BR
+1176911216,1176911231,US
+1176911232,1176911239,AU
+1176911240,1176911263,CA
+1176911264,1176911271,US
+1176911272,1176911279,RU
+1176911280,1176911295,CA
+1176911296,1176911303,NZ
+1176911304,1176911307,CA
+1176911308,1176911311,IN
+1176911312,1176911319,US
+1176911320,1176911327,CA
+1176911328,1176911335,VE
+1176911336,1176911359,US
+1176911360,1176911367,CA
+1176911368,1176911375,MX
+1176911376,1176911391,IL
+1176911392,1176911423,US
+1176911424,1176911487,CN
+1176911488,1176911495,MX
+1176911496,1176911503,CA
+1176911504,1176911511,IL
+1176911512,1176911519,MD
+1176911520,1176911551,US
+1176911552,1176911559,IN
+1176911560,1176911567,MD
+1176911568,1176911575,IL
+1176911576,1176911583,CA
+1176911584,1176911591,TR
+1176911592,1176911595,MD
+1176911596,1176911599,US
+1176911600,1176911615,CA
+1176911616,1176911743,GB
+1176911744,1176911775,US
+1176911776,1176911807,GR
+1176911808,1176911839,US
+1176911840,1176912127,CA
+1176912128,1176912135,CI
+1176912136,1176912191,CA
+1176912192,1176912231,FR
+1176912232,1176912327,CA
+1176912328,1176912335,US
+1176912336,1176912343,CA
+1176912344,1176912359,US
+1176912360,1176912375,CA
+1176912376,1176912383,US
+1176912384,1176912391,CA
+1176912392,1176912399,US
+1176912400,1176912407,CA
+1176912408,1176912415,MY
+1176912416,1176912423,CA
+1176912424,1176912431,FR
+1176912432,1176912439,CA
+1176912440,1176912447,BR
+1176912448,1176912455,CA
+1176912456,1176912463,TH
+1176912464,1176912471,IT
+1176912472,1176912479,CZ
+1176912480,1176912487,IT
+1176912488,1176912503,CA
+1176912504,1176912511,MX
+1176912512,1176912519,CL
+1176912520,1176912703,CA
+1176912704,1176912711,DE
+1176912712,1176912727,CN
+1176912728,1176912743,US
+1176912744,1176912759,CA
+1176912760,1176912775,VG
+1176912776,1176912783,CA
+1176912784,1176912791,PK
+1176912792,1176912799,TR
+1176912800,1176912807,US
+1176912808,1176912815,IN
+1176912816,1176912823,BR
+1176912824,1176912863,CA
+1176912864,1176912871,ES
+1176912872,1176912887,CA
+1176912888,1176912895,MA
+1176912896,1176912903,MX
+1176912904,1176912911,US
+1176912912,1176912919,BR
+1176912920,1176912935,CA
+1176912936,1176912943,US
+1176912944,1176912959,EG
+1176912960,1176912967,SE
+1176912968,1176912983,CA
+1176912984,1176912991,FR
+1176912992,1176912999,AU
+1176913000,1176913007,MD
+1176913008,1176913015,CA
+1176913016,1176913023,NO
+1176913024,1176913031,CA
+1176913032,1176913039,US
+1176913040,1176913055,RU
+1176913056,1176913063,CA
+1176913064,1176913071,AU
+1176913072,1176913079,BR
+1176913080,1176913087,CI
+1176913088,1176913103,CA
+1176913104,1176913111,SA
+1176913112,1176913119,IN
+1176913120,1176913127,BR
+1176913128,1176913135,CA
+1176913136,1176913151,AR
+1176913152,1176913175,CA
+1176913176,1176913183,DE
+1176913184,1176913191,CA
+1176913192,1176913199,CY
+1176913200,1176913231,CA
+1176913232,1176913239,US
+1176913240,1176913255,CA
+1176913256,1176913263,BR
+1176913264,1176913271,BD
+1176913272,1176913279,AU
+1176913280,1176913287,CA
+1176913288,1176913295,BR
+1176913296,1176913303,SG
+1176913304,1176913311,CA
+1176913312,1176913319,CY
+1176913320,1176913327,US
+1176913328,1176913335,CA
+1176913336,1176913343,US
+1176913344,1176913351,FR
+1176913352,1176913367,BR
+1176913368,1176913375,CY
+1176913376,1176913383,CA
+1176913384,1176913391,US
+1176913392,1176913399,IL
+1176913400,1176913463,CA
+1176913464,1176913471,US
+1176913472,1176913479,CA
+1176913480,1176913487,ES
+1176913488,1176913495,CA
+1176913496,1176913503,US
+1176913504,1176913511,RU
+1176913512,1176913527,CN
+1176913528,1176913535,MX
+1176913536,1176913551,CA
+1176913552,1176913559,US
+1176913560,1176913583,CA
+1176913584,1176913591,US
+1176913592,1176913599,CA
+1176913600,1176913607,US
+1176913608,1176913615,BR
+1176913616,1176913623,US
+1176913624,1176913631,VE
+1176913632,1176913639,CA
+1176913640,1176913647,CN
+1176913648,1176913655,US
+1176913656,1176913927,CA
+1176913928,1176913935,IR
+1176913936,1176913943,CA
+1176913944,1176913951,CH
+1176913952,1176913959,UY
+1176913960,1176913967,AE
+1176913968,1176913975,GR
+1176913976,1176913983,TR
+1176913984,1176913991,GR
+1176913992,1176913999,MX
+1176914000,1176914007,CA
+1176914008,1176914015,BD
+1176914016,1176914023,GB
+1176914024,1176914039,CA
+1176914040,1176914047,GR
+1176914048,1176914055,US
+1176914056,1176914063,RU
+1176914064,1176914071,CA
+1176914072,1176914079,IN
+1176914080,1176914087,DK
+1176914088,1176914095,GR
+1176914096,1176914103,CA
+1176914104,1176914111,BR
+1176914112,1176914119,US
+1176914120,1176914127,ES
+1176914128,1176914135,US
+1176914136,1176914175,CA
+1176914176,1176914183,MX
+1176914184,1176914191,CA
+1176914192,1176914199,EG
+1176914200,1176914207,US
+1176914208,1176914215,BG
+1176914216,1176914223,US
+1176914224,1176914231,MX
+1176914232,1176914239,CL
+1176914240,1176914727,CA
+1176914728,1176914735,MX
+1176914736,1176914743,CA
+1176914744,1176914751,ES
+1176914752,1176914759,TR
+1176914760,1176914767,LV
+1176914768,1176914783,CA
+1176914784,1176914791,PK
+1176914792,1176914799,CI
+1176914800,1176914815,CA
+1176914816,1176914823,IN
+1176914824,1176914831,US
+1176914832,1176914839,ES
+1176914840,1176914847,CA
+1176914848,1176914855,US
+1176914856,1176914863,CA
+1176914864,1176914867,US
+1176914868,1176914871,CA
+1176914872,1176914879,US
+1176914880,1176914887,MX
+1176914888,1176914895,US
+1176914896,1176914903,CA
+1176914904,1176914919,RU
+1176914920,1176914951,US
+1176914952,1176915087,CA
+1176915088,1176915095,US
+1176915096,1176915103,IN
+1176915104,1176915903,CA
+1176915904,1176915911,IN
+1176915912,1176915919,US
+1176915920,1176915927,PK
+1176915928,1176915935,SC
+1176915936,1176915951,CA
+1176915952,1176915959,BR
+1176915960,1176915967,BO
+1176915968,1176915983,CA
+1176915984,1176915999,US
+1176916000,1176916007,IN
+1176916008,1176916031,CA
+1176916032,1176916039,LK
+1176916040,1176916047,IL
+1176916048,1176916055,CA
+1176916056,1176916063,BR
+1176916064,1176916071,CA
+1176916072,1176916079,TR
+1176916080,1176916087,UA
+1176916088,1176916295,CA
+1176916296,1176916303,US
+1176916304,1176916351,CA
+1176916352,1176916359,BR
+1176916360,1176916375,CA
+1176916376,1176916391,US
+1176916392,1176916399,CA
+1176916400,1176916407,SY
+1176916408,1176916415,CA
+1176916416,1176916423,FI
+1176916424,1176916431,DO
+1176916432,1176916447,US
+1176916448,1176916671,CA
+1176916672,1176916679,US
+1176916680,1176916687,LB
+1176916688,1176916695,SE
+1176916696,1176916703,GB
+1176916704,1176916711,ES
+1176916712,1176916719,SG
+1176916720,1176916727,AE
+1176916728,1176916735,CA
+1176916736,1176916751,SG
+1176916752,1176916759,US
+1176916760,1176916767,SA
+1176916768,1176916783,CA
+1176916784,1176916791,US
+1176916792,1176916799,SG
+1176916800,1176916823,US
+1176916824,1176916831,SG
+1176916832,1176916839,US
+1176916840,1176916847,CA
+1176916848,1176916855,US
+1176916856,1176916863,CN
+1176916864,1176917031,CA
+1176917032,1176917039,TR
+1176917040,1176917079,CA
+1176917080,1176917087,IL
+1176917088,1176917095,TR
+1176917096,1176917103,HN
+1176917104,1176917111,DO
+1176917112,1176917135,CA
+1176917136,1176917143,AU
+1176917144,1176917151,BR
+1176917152,1176917159,CA
+1176917160,1176917175,US
+1176917176,1176917183,CA
+1176917184,1176917191,MX
+1176917192,1176917199,US
+1176917200,1176917207,IT
+1176917208,1176917215,CA
+1176917216,1176917223,DO
+1176917224,1176917231,GR
+1176917232,1176917239,IT
+1176917240,1176917503,CA
+1176917504,1176917511,IL
+1176917512,1176917559,CA
+1176917560,1176917567,US
+1176917568,1176917575,BH
+1176917576,1176917663,CA
+1176917664,1176917671,CY
+1176917672,1176917679,BR
+1176917680,1176917687,US
+1176917688,1176917695,SA
+1176917696,1176917703,CO
+1176917704,1176917711,RO
+1176917712,1176917727,CO
+1176917728,1176917735,FR
+1176917736,1176917743,BR
+1176917744,1176917759,CA
+1176917760,1176917767,PK
+1176917768,1176917775,US
+1176917776,1176917783,UY
+1176917784,1176917791,CA
+1176917792,1176917799,AE
+1176917800,1176917807,AR
+1176917808,1176917823,CA
+1176917824,1176917831,BR
+1176917832,1176917839,AU
+1176917840,1176917847,US
+1176917848,1176917855,ZA
+1176917856,1176917863,CA
+1176917864,1176917871,US
+1176917872,1176917879,CO
+1176917880,1176917887,CA
+1176917888,1176917895,CO
+1176917896,1176917903,US
+1176917904,1176917911,IL
+1176917912,1176917959,CA
+1176917960,1176917967,BR
+1176917968,1176917975,CA
+1176917976,1176917983,EC
+1176917984,1176918031,CA
+1176918032,1176918039,US
+1176918040,1176918047,CA
+1176918048,1176918055,IN
+1176918056,1176918063,ES
+1176918064,1176918071,AU
+1176918072,1176918111,CA
+1176918112,1176918119,HK
+1176918120,1176918279,CA
+1176918280,1176918287,PK
+1176918288,1176918295,IR
+1176918296,1176918303,MY
+1176918304,1176918311,US
+1176918312,1176918319,LU
+1176918320,1176918327,PK
+1176918328,1176918335,US
+1176918336,1176918343,IL
+1176918344,1176918495,CA
+1176918496,1176918527,BR
+1176918528,1176918535,CO
+1176918536,1176918543,CA
+1176918544,1176918551,EG
+1176918552,1176918559,AR
+1176918560,1176918567,CA
+1176918568,1176918575,US
+1176918576,1176918591,SA
+1176918592,1176918599,CA
+1176918600,1176918607,EC
+1176918608,1176918615,US
+1176918616,1176918623,CA
+1176918624,1176918655,US
+1176918656,1176918663,CA
+1176918664,1176918671,US
+1176918672,1176918679,IL
+1176918680,1176918695,CA
+1176918696,1176918703,PH
+1176918704,1176918711,JP
+1176918712,1176918719,CA
+1176918720,1176918727,BR
+1176918728,1176918735,CA
+1176918736,1176918751,TR
+1176918752,1176918759,CA
+1176918760,1176918767,TR
+1176918768,1176918975,CA
+1176918976,1176919007,CN
+1176919008,1176919023,FR
+1176919024,1176919047,CA
+1176919048,1176919055,AE
+1176919056,1176919079,CA
+1176919080,1176919087,TR
+1176919088,1176919103,CA
+1176919104,1176919111,BR
+1176919112,1176919119,CA
+1176919120,1176919127,GR
+1176919128,1176919167,CA
+1176919168,1176919175,ID
+1176919176,1176919183,CA
+1176919184,1176919191,US
+1176919192,1176919199,EG
+1176919200,1176919207,US
+1176919208,1176919215,CA
+1176919216,1176919223,SG
+1176919224,1176919231,FI
+1176919232,1176919247,CA
+1176919248,1176919255,US
+1176919256,1176919263,CA
+1176919264,1176919271,US
+1176919272,1176919279,CA
+1176919280,1176919287,US
+1176919288,1176919295,ID
+1176919296,1176919303,SN
+1176919304,1176919311,SC
+1176919312,1176919319,CA
+1176919320,1176919327,AU
+1176919328,1176919335,CA
+1176919336,1176919351,MX
+1176919352,1176919359,US
+1176919360,1176919367,CA
+1176919368,1176919375,US
+1176919376,1176919383,BG
+1176919384,1176919391,IL
+1176919392,1176919407,CA
+1176919408,1176919415,IQ
+1176919416,1176919423,CA
+1176919424,1176919431,US
+1176919432,1176919447,CA
+1176919448,1176919455,US
+1176919456,1176919463,CA
+1176919464,1176919471,US
+1176919472,1176919479,FR
+1176919480,1176919487,CA
+1176919488,1176919495,IR
+1176919496,1176919503,FR
+1176919504,1176919511,CA
+1176919512,1176919519,GB
+1176919520,1176919535,CA
+1176919536,1176919543,PL
+1176919544,1176919551,ZA
+1176919552,1176919559,GR
+1176919560,1176919567,FR
+1176919568,1176919575,CA
+1176919576,1176919583,JP
+1176919584,1176919591,IR
+1176919592,1176919599,CA
+1176919600,1176919607,US
+1176919608,1176919647,CA
+1176919648,1176919655,AU
+1176919656,1176919663,AE
+1176919664,1176919679,CA
+1176919680,1176919687,US
+1176919688,1176919695,IR
+1176919696,1176919703,BZ
+1176919704,1176919719,US
+1176919720,1176919727,CA
+1176919728,1176919735,BR
+1176919736,1176919743,EC
+1176919744,1176919751,AR
+1176919752,1176919759,CA
+1176919760,1176919767,BR
+1176919768,1176919775,MX
+1176919776,1176919791,CA
+1176919792,1176919799,AU
+1176919800,1176919807,CA
+1176919808,1176920575,KY
+1176920576,1176920639,VG
+1176920640,1176920671,CA
+1176920672,1176920703,FR
+1176920704,1176920767,CA
+1176920768,1176920799,GI
+1176920800,1176920831,US
+1176920832,1176920839,CA
+1176920840,1176920847,MX
+1176920848,1176920855,PK
+1176920856,1176920863,AE
+1176920864,1176920871,CA
+1176920872,1176920887,US
+1176920888,1176920903,CA
+1176920904,1176920911,TR
+1176920912,1176920919,IR
+1176920920,1176920927,IL
+1176920928,1176920935,PK
+1176920936,1176920943,CA
+1176920944,1176920959,US
+1176920960,1176920967,MX
+1176920968,1176920975,GB
+1176920976,1176920999,PK
+1176921000,1176921023,CA
+1176921024,1176921031,GR
+1176921032,1176921039,TR
+1176921040,1176921047,CA
+1176921048,1176921055,TW
+1176921056,1176921351,CA
+1176921352,1176921359,GB
+1176921360,1176921367,NO
+1176921368,1176921375,CA
+1176921376,1176921383,US
+1176921384,1176921391,YE
+1176921392,1176921399,BZ
+1176921400,1176921407,BE
+1176921408,1176921415,EG
+1176921416,1176921423,CA
+1176921424,1176921431,US
+1176921432,1176921439,CA
+1176921440,1176921447,US
+1176921448,1176921455,CA
+1176921456,1176921463,ZA
+1176921464,1176921471,UA
+1176921472,1176921479,US
+1176921480,1176921487,CY
+1176921488,1176921495,YE
+1176921496,1176921503,US
+1176921504,1176921519,CA
+1176921520,1176921527,AR
+1176921528,1176921535,BR
+1176921536,1176921543,IE
+1176921544,1176921551,US
+1176921552,1176921583,CA
+1176921584,1176921591,PK
+1176921592,1176921599,FR
+1176921600,1176921607,NZ
+1176921608,1176921615,US
+1176921616,1176921623,CA
+1176921624,1176921631,US
+1176921632,1176921639,FR
+1176921640,1176921655,CA
+1176921656,1176921663,GD
+1176921664,1176921687,CA
+1176921688,1176921695,BR
+1176921696,1176921703,US
+1176921704,1176921719,CA
+1176921720,1176921735,IL
+1176921736,1176921743,MX
+1176921744,1176921759,CA
+1176921760,1176921767,TR
+1176921768,1176921783,CA
+1176921784,1176921791,PK
+1176921792,1176921807,CA
+1176921808,1176921815,US
+1176921816,1176921847,CA
+1176921848,1176921855,TR
+1176921856,1176921863,MX
+1176921864,1176921871,US
+1176921872,1176921903,CA
+1176921904,1176921911,JP
+1176921912,1176921919,AE
+1176921920,1176921927,NL
+1176921928,1176921935,GB
+1176921936,1176921943,AR
+1176921944,1176921951,BR
+1176921952,1176921959,CY
+1176921960,1176921967,US
+1176921968,1176921975,IR
+1176921976,1176921983,MA
+1176921984,1176921991,CA
+1176921992,1176921999,US
+1176922000,1176922007,CA
+1176922008,1176922015,RU
+1176922016,1176922023,GB
+1176922024,1176922047,CA
+1176922048,1176922055,RU
+1176922056,1176922063,GB
+1176922064,1176922071,IT
+1176922072,1176922079,BH
+1176922080,1176922087,CA
+1176922088,1176922095,US
+1176922096,1176922111,RU
+1176922112,1176922119,DE
+1176922120,1176922127,CA
+1176922128,1176922135,GB
+1176922136,1176922143,UA
+1176922144,1176922151,CA
+1176922152,1176922159,UA
+1176922160,1176922167,CA
+1176922168,1176922175,US
+1176922176,1176922183,MY
+1176922184,1176922191,LB
+1176922192,1176922239,CA
+1176922240,1176922247,US
+1176922248,1176922255,CO
+1176922256,1176922263,NL
+1176922264,1176922271,CA
+1176922272,1176922287,US
+1176922288,1176922295,KR
+1176922296,1176922319,CA
+1176922320,1176922335,US
+1176922336,1176922351,CA
+1176922352,1176922359,US
+1176922360,1176922367,SA
+1176922368,1176922407,CA
+1176922408,1176922415,BE
+1176922416,1176922423,US
+1176922424,1176922463,CA
+1176922464,1176922471,BR
+1176922472,1176922479,CA
+1176922480,1176922487,BR
+1176922488,1176922495,CA
+1176922496,1176922503,TR
+1176922504,1176922511,US
+1176922512,1176922519,SC
+1176922520,1176922527,MM
+1176922528,1176922535,CA
+1176922536,1176922551,QA
+1176922552,1176922559,RU
+1176922560,1176922567,CN
+1176922568,1176922583,US
+1176922584,1176922591,SA
+1176922592,1176922599,CO
+1176922600,1176922615,US
+1176922616,1176922623,GR
+1176922624,1176922639,CA
+1176922640,1176922647,DO
+1176922648,1176922655,CA
+1176922656,1176922671,BD
+1176922672,1176922679,MX
+1176922680,1176922687,US
+1176922688,1176922703,MX
+1176922704,1176922711,RU
+1176922712,1176922719,CA
+1176922720,1176922727,BR
+1176922728,1176922751,CA
+1176922752,1176922759,US
+1176922760,1176922767,FR
+1176922768,1176922775,IR
+1176922776,1176922783,CA
+1176922784,1176922799,PH
+1176922800,1176922807,MX
+1176922808,1176922839,CA
+1176922840,1176922847,IT
+1176922848,1176922855,GR
+1176922856,1176922863,US
+1176922864,1176922887,CA
+1176922888,1176922895,IN
+1176922896,1176922903,CA
+1176922904,1176922911,GT
+1176922912,1176922919,DK
+1176922920,1176922983,CA
+1176922984,1176922991,IT
+1176922992,1176922999,BR
+1176923000,1176923007,JP
+1176923008,1176923023,CA
+1176923024,1176923031,US
+1176923032,1176923039,MY
+1176923040,1176923047,IN
+1176923048,1176923055,GT
+1176923056,1176923063,RU
+1176923064,1176923071,CA
+1176923072,1176923079,CY
+1176923080,1176923087,US
+1176923088,1176923095,CA
+1176923096,1176923103,QA
+1176923104,1176923135,CA
+1176923136,1176923143,US
+1176923144,1176923151,NO
+1176923152,1176923159,BR
+1176923160,1176923167,MY
+1176923168,1176923175,US
+1176923176,1176923183,CA
+1176923184,1176923191,BH
+1176923192,1176923199,NZ
+1176923200,1176923207,PK
+1176923208,1176923215,US
+1176923216,1176923223,PK
+1176923224,1176923231,RO
+1176923232,1176923247,US
+1176923248,1176923255,CA
+1176923256,1176923263,SA
+1176923264,1176923271,CA
+1176923272,1176923279,DE
+1176923280,1176923319,CA
+1176923320,1176923335,US
+1176923336,1176923343,CA
+1176923344,1176923351,PH
+1176923352,1176923359,IT
+1176923360,1176923375,CA
+1176923376,1176923383,DO
+1176923384,1176923391,AU
+1176923392,1176923399,US
+1176923400,1176923423,CA
+1176923424,1176923431,US
+1176923432,1176923439,AR
+1176923440,1176923447,MX
+1176923448,1176923463,CA
+1176923464,1176923471,SA
+1176923472,1176923479,AU
+1176923480,1176923487,RS
+1176923488,1176923495,KW
+1176923496,1176923503,CY
+1176923504,1176923511,CA
+1176923512,1176923519,TR
+1176923520,1176923527,SE
+1176923528,1176923535,CY
+1176923536,1176923543,SA
+1176923544,1176923551,CA
+1176923552,1176923559,CY
+1176923560,1176923567,CA
+1176923568,1176923583,CY
+1176923584,1176923591,MX
+1176923592,1176923607,CA
+1176923608,1176923615,EC
+1176923616,1176923623,CA
+1176923624,1176923631,CH
+1176923632,1176923639,LV
+1176923640,1176923647,US
+1176923648,1176923679,CA
+1176923680,1176923687,US
+1176923688,1176923695,PK
+1176923696,1176923711,IQ
+1176923712,1176923719,GB
+1176923720,1176923727,BR
+1176923728,1176923735,CA
+1176923736,1176923743,US
+1176923744,1176923751,CA
+1176923752,1176923759,US
+1176923760,1176923775,TR
+1176923776,1176923783,CA
+1176923784,1176923791,US
+1176923792,1176923815,CA
+1176923816,1176923823,AU
+1176923824,1176923839,CA
+1176923840,1176923903,CN
+1176923904,1176923911,US
+1176923912,1176923919,CA
+1176923920,1176923927,VG
+1176923928,1176923935,US
+1176923936,1176923943,CA
+1176923944,1176923951,IL
+1176923952,1176923967,US
+1176923968,1176923983,TR
+1176923984,1176923999,CA
+1176924000,1176924007,IN
+1176924008,1176924039,CA
+1176924040,1176924047,GB
+1176924048,1176924055,US
+1176924056,1176924063,NZ
+1176924064,1176924071,CY
+1176924072,1176924079,BR
+1176924080,1176924087,CA
+1176924088,1176924095,SK
+1176924096,1176924103,VN
+1176924104,1176924111,US
+1176924112,1176924119,MX
+1176924120,1176924127,IT
+1176924128,1176924135,US
+1176924136,1176924143,MD
+1176924144,1176924151,IT
+1176924152,1176924423,CA
+1176924424,1176924431,IL
+1176924432,1176924439,US
+1176924440,1176924447,BR
+1176924448,1176924455,GB
+1176924456,1176924463,SA
+1176924464,1176924471,LV
+1176924472,1176924503,CA
+1176924504,1176924511,US
+1176924512,1176924559,CA
+1176924560,1176924567,US
+1176924568,1176924575,CA
+1176924576,1176924583,US
+1176924584,1176924607,CA
+1176924608,1176924655,US
+1176924656,1176924663,RU
+1176924664,1176924671,CA
+1176924672,1176924751,US
+1176924752,1176924759,CA
+1176924760,1176924767,LY
+1176924768,1176924775,IN
+1176924776,1176924783,ES
+1176924784,1176924791,JP
+1176924792,1176924799,MY
+1176924800,1176924871,CA
+1176924872,1176924879,US
+1176924880,1176924935,CA
+1176924936,1176924943,BR
+1176924944,1176924991,CA
+1176924992,1176924999,US
+1176925000,1176925007,AR
1176925008,1176925015,NG
-1176925016,1176928255,CA
+1176925016,1176925031,US
+1176925032,1176925039,PK
+1176925040,1176925047,US
+1176925048,1176925055,AU
+1176925056,1176925063,MX
+1176925064,1176925119,US
+1176925120,1176925127,BR
+1176925128,1176925135,SY
+1176925136,1176925151,CH
+1176925152,1176925159,CA
+1176925160,1176925167,SY
+1176925168,1176925175,CA
+1176925176,1176925183,PE
+1176925184,1176925951,CA
+1176925952,1176925959,IT
+1176925960,1176925975,CA
+1176925976,1176925983,GT
+1176925984,1176925991,MX
+1176925992,1176925999,US
+1176926000,1176926007,FI
+1176926008,1176926015,GB
+1176926016,1176926023,US
+1176926024,1176926031,CA
+1176926032,1176926039,PT
+1176926040,1176926047,CA
+1176926048,1176926055,PK
+1176926056,1176926079,CA
+1176926080,1176926087,US
+1176926088,1176926095,PK
+1176926096,1176926103,CA
+1176926104,1176926111,CN
+1176926112,1176926151,CA
+1176926152,1176926159,KW
+1176926160,1176926167,US
+1176926168,1176926175,IN
+1176926176,1176926183,MX
+1176926184,1176926191,CA
+1176926192,1176926199,SE
+1176926200,1176926207,CH
+1176926208,1176926215,CA
+1176926216,1176926223,DE
+1176926224,1176926231,JP
+1176926232,1176926239,CA
+1176926240,1176926247,PK
+1176926248,1176926255,US
+1176926256,1176926271,CA
+1176926272,1176926279,US
+1176926280,1176926287,IT
+1176926288,1176926295,CA
+1176926296,1176926303,BR
+1176926304,1176926311,US
+1176926312,1176926319,CA
+1176926320,1176926327,IL
+1176926328,1176926335,NZ
+1176926336,1176926343,DE
+1176926344,1176926347,EG
+1176926348,1176926351,US
+1176926352,1176926359,VG
+1176926360,1176926375,PK
+1176926376,1176926391,CA
+1176926392,1176926399,US
+1176926400,1176926431,CA
+1176926432,1176926439,PK
+1176926440,1176926447,AR
+1176926448,1176926455,CA
+1176926456,1176926463,HU
+1176926464,1176926471,US
+1176926472,1176926479,PK
+1176926480,1176926503,CA
+1176926504,1176926511,US
+1176926512,1176926543,CA
+1176926544,1176926551,ID
+1176926552,1176926559,BR
+1176926560,1176926567,US
+1176926568,1176926575,CA
+1176926576,1176926583,PK
+1176926584,1176926591,HU
+1176926592,1176926599,CO
+1176926600,1176926607,US
+1176926608,1176926615,CR
+1176926616,1176926631,PK
+1176926632,1176926639,QA
+1176926640,1176926647,CA
+1176926648,1176926655,US
+1176926656,1176926663,PK
+1176926664,1176926687,CA
+1176926688,1176926703,IT
+1176926704,1176926783,CA
+1176926784,1176926847,CY
+1176926848,1176926975,CA
+1176926976,1176927007,RU
+1176927008,1176927071,CA
+1176927072,1176927087,VE
+1176927088,1176927103,US
+1176927104,1176927231,CA
+1176927232,1176927295,CN
+1176927296,1176927303,CA
+1176927304,1176927311,US
+1176927312,1176927343,CA
+1176927344,1176927347,MX
+1176927348,1176927359,US
+1176927360,1176927367,IL
+1176927368,1176927375,CA
+1176927376,1176927391,TR
+1176927392,1176927423,CA
+1176927424,1176927487,CN
+1176927488,1176927679,CA
+1176927680,1176927711,US
+1176927712,1176928255,CA
1176928256,1176997375,US
1176997376,1176997407,GB
-1176997408,1177030655,US
+1176997408,1177022975,US
+1177022976,1177023231,GB
+1177023232,1177030655,US
1177030656,1177033727,AG
1177033728,1177053695,US
1177053696,1177053951,GB
@@ -28274,9 +35095,7 @@
1178599424,1179910143,CA
1179910144,1180113919,US
1180113920,1180114431,AE
-1180114432,1189130447,US
-1189130448,1189130463,IN
-1189130464,1190170111,US
+1180114432,1190170111,US
1190170112,1190170127,UY
1190170128,1190983455,US
1190983456,1190983487,UA
@@ -28290,7 +35109,11 @@
1192468480,1192476671,CA
1192476672,1192488959,US
1192488960,1192493055,CA
-1192493056,1207975935,US
+1192493056,1199718695,US
+1199718696,1199718703,A2
+1199718704,1199722495,US
+1199722496,1199722503,A2
+1199722504,1207975935,US
1207975936,1207980031,CA
1207980032,1208008703,US
1208008704,1208016895,CA
@@ -28298,9 +35121,9 @@
1208020992,1208025087,CA
1208025088,1208050943,US
1208050944,1208051199,CA
-1208051200,1208054271,US
-1208054272,1208054527,CA
-1208054528,1208074239,US
+1208051200,1208056111,US
+1208056112,1208056127,CN
+1208056128,1208074239,US
1208074240,1208078527,CA
1208078528,1208078591,US
1208078592,1208079103,CA
@@ -28316,15 +35139,11 @@
1208190584,1208190591,GB
1208190592,1208190607,US
1208190608,1208190615,GB
-1208190616,1208190999,US
-1208191000,1208191007,CA
-1208191008,1208191047,US
+1208190616,1208191047,US
1208191048,1208191055,AU
1208191056,1208191087,US
1208191088,1208191095,NO
-1208191096,1208191199,US
-1208191200,1208191215,CA
-1208191216,1208191223,US
+1208191096,1208191223,US
1208191224,1208191231,BG
1208191232,1208191311,US
1208191312,1208191319,GB
@@ -28350,9 +35169,7 @@
1208192960,1208192967,IL
1208192968,1208193135,US
1208193136,1208193151,MY
-1208193152,1208193303,US
-1208193304,1208193311,CA
-1208193312,1208193391,US
+1208193152,1208193391,US
1208193392,1208193407,AU
1208193408,1208193455,US
1208193456,1208193463,PA
@@ -28360,13 +35177,7 @@
1208193600,1208193615,CA
1208193616,1208193871,US
1208193872,1208193879,AU
-1208193880,1208193935,US
-1208193936,1208193943,CA
-1208193944,1208194055,US
-1208194056,1208194063,AU
-1208194064,1208194087,US
-1208194088,1208194095,AU
-1208194096,1208194191,US
+1208193880,1208194191,US
1208194192,1208194223,MY
1208194224,1208194289,US
1208194290,1208194291,GB
@@ -28387,8 +35198,7 @@
1208195712,1208195727,TH
1208195728,1208195759,US
1208195760,1208195775,BG
-1208195776,1208195847,US
-1208195848,1208195855,FR
+1208195776,1208195855,US
1208195856,1208195871,GB
1208195872,1208195887,US
1208195888,1208195903,ID
@@ -28402,17 +35212,11 @@
1208196704,1208196719,CA
1208196720,1208196951,US
1208196952,1208196959,ZA
-1208196960,1208197023,US
-1208197024,1208197031,CR
-1208197032,1208197135,US
+1208196960,1208197135,US
1208197136,1208197167,MY
-1208197168,1208197175,US
-1208197176,1208197183,AU
-1208197184,1208197239,US
+1208197168,1208197239,US
1208197240,1208197247,CA
-1208197248,1208197519,US
-1208197520,1208197527,AU
-1208197528,1208197559,US
+1208197248,1208197559,US
1208197560,1208197567,AU
1208197568,1208197579,US
1208197580,1208197583,GB
@@ -28420,9 +35224,7 @@
1208197632,1208197639,AU
1208197640,1208197671,US
1208197672,1208197679,MX
-1208197680,1208197783,US
-1208197784,1208197791,CA
-1208197792,1208197967,US
+1208197680,1208197967,US
1208197968,1208197983,AU
1208197984,1208198039,US
1208198040,1208198047,BS
@@ -28432,9 +35234,7 @@
1208198160,1208198167,ID
1208198168,1208198279,US
1208198280,1208198287,ZA
-1208198288,1208198303,US
-1208198304,1208198319,FR
-1208198320,1208198343,US
+1208198288,1208198343,US
1208198344,1208198347,GB
1208198348,1208198349,CA
1208198350,1208198463,US
@@ -28443,9 +35243,7 @@
1208198560,1208198575,IN
1208198576,1208198743,US
1208198744,1208198751,GB
-1208198752,1208198791,US
-1208198792,1208198799,CN
-1208198800,1208199055,US
+1208198752,1208199055,US
1208199056,1208199063,AU
1208199064,1208199087,US
1208199088,1208199103,MY
@@ -28457,11 +35255,7 @@
1208199360,1208199767,US
1208199768,1208199775,MX
1208199776,1208199783,MY
-1208199784,1208199823,US
-1208199824,1208199847,CA
-1208199848,1208199935,US
-1208199936,1208199943,AU
-1208199944,1208200167,US
+1208199784,1208200167,US
1208200168,1208200175,CA
1208200176,1208200247,US
1208200248,1208200255,MC
@@ -28479,9 +35273,7 @@
1208200960,1208200963,ID
1208200964,1208201063,US
1208201064,1208201071,IN
-1208201072,1208201255,US
-1208201256,1208201263,ES
-1208201264,1208201535,US
+1208201072,1208201535,US
1208201536,1208201543,GB
1208201544,1208201631,US
1208201632,1208201639,CA
@@ -28495,13 +35287,9 @@
1208202032,1208202039,GB
1208202040,1208202135,US
1208202136,1208202143,MY
-1208202144,1208202239,US
-1208202240,1208202247,TW
-1208202248,1208202255,US
+1208202144,1208202255,US
1208202256,1208202287,MY
-1208202288,1208202367,US
-1208202368,1208202375,TW
-1208202376,1208202495,US
+1208202288,1208202495,US
1208202496,1208202511,GB
1208202512,1208202519,AU
1208202520,1208202559,US
@@ -28510,26 +35298,19 @@
1208203024,1208203071,MY
1208203072,1208203343,US
1208203344,1208203351,AU
-1208203352,1208203647,US
-1208203648,1208203655,PR
-1208203656,1208204007,US
+1208203352,1208204007,US
1208204008,1208204015,NL
1208204016,1208204031,US
1208204032,1208204039,GB
1208204040,1208204047,US
1208204048,1208204055,JP
-1208204056,1208204767,US
-1208204768,1208204775,MX
+1208204056,1208204775,US
1208204776,1208204783,CA
-1208204784,1208204927,US
-1208204928,1208204935,AU
-1208204936,1208204951,US
+1208204784,1208204951,US
1208204952,1208204959,MY
1208204960,1208205063,US
1208205064,1208205079,MY
-1208205080,1208205119,US
-1208205120,1208205127,CA
-1208205128,1208205167,US
+1208205080,1208205167,US
1208205168,1208205231,MY
1208205232,1208205247,US
1208205248,1208205263,IN
@@ -28543,11 +35324,7 @@
1208205704,1208205711,CA
1208205712,1208205959,US
1208205960,1208205967,SG
-1208205968,1208205983,US
-1208205984,1208205991,GB
-1208205992,1208206439,US
-1208206440,1208206463,CA
-1208206464,1208207095,US
+1208205968,1208207095,US
1208207096,1208207097,IN
1208207098,1208207183,US
1208207184,1208207191,AU
@@ -28568,10 +35345,7 @@
1208208000,1208208215,US
1208208216,1208208223,CA
1208208224,1208208231,AU
-1208208232,1208208239,US
-1208208240,1208208255,GB
-1208208256,1208208287,US
-1208208288,1208208303,GB
+1208208232,1208208303,US
1208208304,1208208311,KR
1208208312,1208208319,US
1208208320,1208208321,CA
@@ -28581,24 +35355,17 @@
1208208816,1208208831,CA
1208208832,1208208927,US
1208208928,1208208943,AU
-1208208944,1208209023,US
-1208209024,1208209031,CO
-1208209032,1208209175,US
-1208209176,1208209183,CA
-1208209184,1208209215,US
+1208208944,1208209215,US
1208209216,1208209247,MY
1208209248,1208209359,US
1208209360,1208209375,MY
1208209376,1208209391,US
1208209392,1208209407,MY
-1208209408,1208209543,US
-1208209544,1208209551,AU
-1208209552,1208209719,US
+1208209408,1208209719,US
1208209720,1208209727,TH
1208209728,1208209863,US
1208209864,1208209871,GT
-1208209872,1208210055,US
-1208210056,1208210063,IN
+1208209872,1208210063,US
1208210064,1208210071,HK
1208210072,1208210079,US
1208210080,1208210095,GB
@@ -28606,9 +35373,7 @@
1208210304,1208210351,GB
1208210352,1208210431,US
1208210432,1208210447,JP
-1208210448,1208210511,US
-1208210512,1208210519,CA
-1208210520,1208210751,US
+1208210448,1208210751,US
1208210752,1208210759,TR
1208210760,1208211239,US
1208211240,1208211247,JM
@@ -28652,7 +35417,8 @@
1208251224,1208251415,US
1208251416,1208251423,GB
1208251424,1208251431,IL
-1208251432,1208251447,ES
+1208251432,1208251439,US
+1208251440,1208251447,ES
1208251448,1208251479,US
1208251480,1208251487,GB
1208251488,1208251495,BB
@@ -28662,8 +35428,7 @@
1208251680,1208251695,GB
1208251696,1208251807,US
1208251808,1208251823,CA
-1208251824,1208251839,GR
-1208251840,1208251871,US
+1208251824,1208251871,US
1208251872,1208251887,GB
1208251888,1208251903,IL
1208251904,1208252423,US
@@ -28680,110 +35445,89 @@
1208333568,1208333823,GB
1208333824,1208337919,US
1208337920,1208338175,A2
-1208338176,1208516607,US
-1208516608,1208516623,MX
-1208516624,1208516639,US
-1208516640,1208516671,TR
-1208516672,1208516735,US
-1208516736,1208516799,ID
-1208516800,1208516855,US
-1208516856,1208516859,CN
-1208516860,1208516955,US
-1208516956,1208516959,CN
-1208516960,1208516999,US
-1208517000,1208517000,TR
-1208517001,1208517001,US
-1208517002,1208517002,CN
-1208517003,1208517010,US
+1208338176,1208517006,US
+1208517007,1208517007,CN
+1208517008,1208517010,US
1208517011,1208517011,TR
-1208517012,1208517012,GB
-1208517013,1208517017,US
+1208517012,1208517014,US
+1208517015,1208517015,CN
+1208517016,1208517017,US
1208517018,1208517018,GB
1208517019,1208517119,US
1208517120,1208517375,KH
-1208517376,1208517471,US
-1208517472,1208517487,CN
-1208517488,1208517503,US
+1208517376,1208517439,ID
+1208517440,1208517503,US
1208517504,1208517567,CN
1208517568,1208517631,US
1208517632,1208517887,KH
1208517888,1208518015,TR
1208518016,1208518079,CN
-1208518080,1208518143,US
+1208518080,1208518143,ID
1208518144,1208518207,CN
-1208518208,1208518243,US
-1208518244,1208518244,CN
-1208518245,1208518246,US
+1208518208,1208518246,US
1208518247,1208518247,KH
1208518248,1208518261,US
1208518262,1208518262,TR
1208518263,1208518263,CN
1208518264,1208518264,GB
-1208518265,1208518299,US
-1208518300,1208518303,BD
-1208518304,1208518335,US
-1208518336,1208518399,TR
-1208518400,1208518655,ID
-1208518656,1208519167,US
+1208518265,1208519167,US
1208519168,1208519423,CN
1208519424,1208519679,US
1208519680,1208519935,GB
-1208519936,1208521983,US
-1208521984,1208522239,CN
-1208522240,1208522271,US
+1208519936,1208521471,US
+1208521472,1208521727,CN
+1208521728,1208522271,US
1208522272,1208522303,TR
1208522304,1208522319,US
1208522320,1208522335,TR
-1208522336,1208522367,US
-1208522368,1208522431,CN
-1208522432,1208523975,US
+1208522336,1208523975,US
1208523976,1208523983,CN
1208523984,1208523991,US
1208523992,1208523995,TR
-1208523996,1208523999,US
-1208524000,1208524031,TR
-1208524032,1208524055,US
+1208523996,1208524055,US
1208524056,1208524059,CN
-1208524060,1208524063,US
-1208524064,1208524079,CN
-1208524080,1208524083,US
-1208524084,1208524087,KR
-1208524088,1208524091,US
+1208524060,1208524091,US
1208524092,1208524095,TR
-1208524096,1208524159,US
-1208524160,1208524223,ID
-1208524224,1208524227,US
-1208524228,1208524231,TR
-1208524232,1208524287,US
-1208524288,1208524351,PK
-1208524352,1208524415,CN
-1208524416,1208524863,US
+1208524096,1208524223,US
+1208524224,1208524227,SC
+1208524228,1208524231,BD
+1208524232,1208524863,US
1208524864,1208524927,PK
-1208524928,1208525311,US
-1208525312,1208525343,CN
+1208524928,1208525055,US
+1208525056,1208525335,CN
+1208525336,1208525343,US
1208525344,1208525375,TR
-1208525376,1208525823,US
-1208525824,1208526079,KH
-1208526080,1208526335,US
-1208526336,1208526591,CN
+1208525376,1208526591,US
1208526592,1208526607,TR
-1208526608,1208526815,US
-1208526816,1208526847,CN
-1208526848,1208527871,US
-1208527872,1208527887,VN
-1208527888,1208527903,US
-1208527904,1208528015,VN
+1208526608,1208526719,US
+1208526720,1208526735,BD
+1208526736,1208528015,US
1208528016,1208528031,SC
-1208528032,1208528127,VN
-1208528128,1208531007,US
+1208528032,1208528923,US
+1208528924,1208528927,CN
+1208528928,1208529031,US
+1208529032,1208529035,CN
+1208529036,1208529411,US
+1208529412,1208529415,CN
+1208529416,1208529451,US
+1208529452,1208529455,CN
+1208529456,1208529663,US
+1208529664,1208529667,CN
+1208529668,1208529951,US
+1208529952,1208529955,CN
+1208529956,1208529983,US
+1208529984,1208529987,CN
+1208529988,1208530083,US
+1208530084,1208530087,CN
+1208530088,1208530095,US
+1208530096,1208530107,CN
+1208530108,1208530115,US
+1208530116,1208530119,CN
+1208530120,1208531007,US
1208531008,1208531071,CN
-1208531072,1208531455,US
-1208531456,1208531583,CN
-1208531584,1208531711,US
-1208531712,1208531967,PK
-1208531968,1208531995,US
-1208531996,1208531999,GB
-1208532000,1208532287,US
+1208531072,1208531975,US
+1208531976,1208531979,CN
+1208531980,1208532287,US
1208532288,1208532351,PK
1208532352,1208586364,US
1208586365,1208586372,MA
@@ -28793,29 +35537,20 @@
1208586448,1208586455,TR
1208586456,1208586526,US
1208586527,1208586536,TR
-1208586537,1208586573,US
-1208586574,1208586581,MX
+1208586537,1208586581,US
1208586582,1208586589,LK
-1208586590,1208586597,NZ
-1208586598,1208586662,US
-1208586663,1208586670,GB
-1208586671,1208586675,US
-1208586676,1208586683,CA
-1208586684,1208586761,US
+1208586590,1208586597,EG
+1208586598,1208586761,US
1208586762,1208586774,GB
1208586775,1208586871,US
1208586872,1208586879,BS
1208586880,1208586919,US
1208586920,1208586927,AF
-1208586928,1208586928,US
-1208586929,1208586956,CA
-1208586957,1208586957,US
+1208586928,1208586957,US
1208586958,1208586973,GB
-1208586974,1208586976,US
-1208586977,1208586980,GB
-1208586981,1208586988,US
-1208586989,1208586992,GB
-1208586993,1208587025,US
+1208586974,1208586980,US
+1208586981,1208586988,EG
+1208586989,1208587025,US
1208587026,1208587033,NZ
1208587034,1208587045,US
1208587046,1208587053,IN
@@ -28825,17 +35560,13 @@
1208587170,1208587177,MX
1208587178,1208587187,US
1208587188,1208587195,EG
-1208587196,1208587242,US
-1208587243,1208587258,CN
-1208587259,1208587321,US
+1208587196,1208587321,US
1208587322,1208587329,GB
1208587330,1208587333,US
1208587334,1208587341,CA
1208587342,1208587345,US
1208587346,1208587353,GB
-1208587354,1208587378,US
-1208587379,1208587386,GE
-1208587387,1208587394,US
+1208587354,1208587394,US
1208587395,1208587402,EG
1208587403,1208587418,US
1208587419,1208587426,TR
@@ -28847,51 +35578,37 @@
1208587480,1208587487,LK
1208587488,1208587488,US
1208587489,1208587504,GB
-1208587505,1208587507,US
-1208587508,1208587515,CN
-1208587516,1208587629,US
+1208587505,1208587553,US
+1208587554,1208587561,ID
+1208587562,1208587609,US
+1208587610,1208587617,EG
+1208587618,1208587629,US
1208587630,1208587637,MA
-1208587638,1208587663,US
-1208587664,1208587671,CN
+1208587638,1208587671,US
1208587672,1208587679,EG
1208587680,1208587705,US
1208587706,1208587713,CA
1208587714,1208587728,US
1208587729,1208587736,CA
-1208587737,1208587737,US
-1208587738,1208587759,CN
-1208587760,1208587873,US
-1208587874,1208587881,PK
-1208587882,1208587944,US
+1208587737,1208587765,US
+1208587766,1208587773,VE
+1208587774,1208587944,US
1208587945,1208587976,GB
1208587977,1208588071,US
1208588072,1208588079,RU
-1208588080,1208588091,US
-1208588092,1208588099,CA
-1208588100,1208588103,US
+1208588080,1208588103,US
1208588104,1208588111,MA
-1208588112,1208588211,US
-1208588212,1208588219,CA
-1208588220,1208588408,US
-1208588409,1208588416,PE
-1208588417,1208588427,US
-1208588428,1208588435,MO
-1208588436,1208588463,US
-1208588464,1208588476,AU
-1208588477,1208588591,US
+1208588112,1208588185,US
+1208588186,1208588193,EG
+1208588194,1208588591,US
1208588592,1208588599,IN
-1208588600,1208588706,US
-1208588707,1208588707,PE
-1208588708,1208588711,US
-1208588712,1208588714,PE
-1208588715,1208588728,US
+1208588600,1208588728,US
1208588729,1208588760,GB
1208588761,1208588771,US
1208588772,1208588779,GB
1208588780,1208588853,US
1208588854,1208588861,IN
-1208588862,1208588869,PE
-1208588870,1208588953,US
+1208588862,1208588953,US
1208588954,1208588961,TR
1208588962,1208588972,US
1208588973,1208588985,GB
@@ -28899,41 +35616,35 @@
1208588990,1208589000,GB
1208589001,1208589043,US
1208589044,1208589051,BH
-1208589052,1208589065,US
-1208589066,1208589081,CA
-1208589082,1208589156,US
-1208589157,1208589165,GB
-1208589166,1208589174,US
-1208589175,1208589186,CA
-1208589187,1208589299,US
+1208589052,1208589073,US
+1208589074,1208589081,CA
+1208589082,1208589111,US
+1208589112,1208589119,VE
+1208589120,1208589299,US
1208589300,1208589307,LK
-1208589308,1208589321,US
-1208589322,1208589329,CA
-1208589330,1208589341,US
+1208589308,1208589341,US
1208589342,1208589349,ID
-1208589350,1208589379,US
-1208589380,1208589387,EG
-1208589388,1208589577,US
+1208589350,1208589383,US
+1208589384,1208589391,BH
+1208589392,1208589449,US
+1208589450,1208589457,EG
+1208589458,1208589577,US
1208589578,1208589585,GB
-1208589586,1208589639,US
+1208589586,1208589609,US
+1208589610,1208589617,EG
+1208589618,1208589639,US
1208589640,1208589651,TR
-1208589652,1208589857,US
+1208589652,1208589737,US
+1208589738,1208589745,EG
+1208589746,1208589857,US
1208589858,1208589865,MA
1208589866,1208589901,US
-1208589902,1208589913,EG
-1208589914,1208589915,US
-1208589916,1208589917,EG
-1208589918,1208589970,US
-1208589971,1208590002,GB
-1208590003,1208590004,US
-1208590005,1208590014,GB
-1208590015,1208590031,US
-1208590032,1208590033,EG
-1208590034,1208590041,US
-1208590042,1208590055,EG
-1208590056,1208590061,US
-1208590062,1208590071,CN
-1208590072,1208590091,US
+1208589902,1208589925,EG
+1208589926,1208589959,US
+1208589960,1208589967,IR
+1208589968,1208590031,US
+1208590032,1208590055,EG
+1208590056,1208590091,US
1208590092,1208590108,GB
1208590109,1208590115,US
1208590116,1208590123,EG
@@ -28943,11 +35654,7 @@
1208590158,1208590165,EG
1208590166,1208590170,US
1208590171,1208590178,GB
-1208590179,1208590208,US
-1208590209,1208590239,GB
-1208590240,1208590257,US
-1208590258,1208590265,PH
-1208590266,1208590335,US
+1208590179,1208590335,US
1208590336,1208598527,CA
1208598528,1208647679,US
1208647680,1208656319,CA
@@ -28999,27 +35706,17 @@
1208658176,1208658199,MA
1208658200,1208658223,CA
1208658224,1208658239,MA
-1208658240,1208658263,CA
-1208658264,1208658271,KE
+1208658240,1208658271,CA
1208658272,1208658279,IL
1208658280,1208658303,CA
1208658304,1208658335,US
-1208658336,1208658343,KE
-1208658344,1208658431,CA
-1208658432,1208658687,US
-1208658688,1208658767,CA
+1208658336,1208658767,CA
1208658768,1208658775,MA
-1208658776,1208658799,CA
-1208658800,1208658807,KE
-1208658808,1208658847,CA
+1208658776,1208658847,CA
1208658848,1208658855,MA
-1208658856,1208658879,CA
-1208658880,1208658887,DO
-1208658888,1208659135,CA
+1208658856,1208659135,CA
1208659136,1208659151,CN
-1208659152,1208659167,CA
-1208659168,1208659199,AE
-1208659200,1208659327,CA
+1208659152,1208659327,CA
1208659328,1208659359,US
1208659360,1208659391,CA
1208659392,1208659399,CN
@@ -29027,29 +35724,21 @@
1208659424,1208659455,US
1208659456,1208659519,PK
1208659520,1208659551,US
-1208659552,1208659583,CA
-1208659584,1208659647,AE
+1208659552,1208659647,CA
1208659648,1208659711,ID
1208659712,1208659743,CA
1208659744,1208659775,ID
-1208659776,1208659791,CA
-1208659792,1208659799,US
-1208659800,1208659831,CA
+1208659776,1208659831,CA
1208659832,1208659839,ID
1208659840,1208659903,PK
-1208659904,1208721407,US
+1208659904,1208659967,CA
+1208659968,1208721407,US
1208721408,1208729599,CA
1208729600,1208770559,US
1208770560,1208774655,CA
1208774656,1208778751,US
1208778752,1208795135,CA
-1208795136,1208812895,US
-1208812896,1208812927,CA
-1208812928,1208814687,US
-1208814688,1208814719,CA
-1208814720,1208814855,US
-1208814856,1208814863,CA
-1208814864,1208832391,US
+1208795136,1208832391,US
1208832392,1208832407,CN
1208832408,1208832455,US
1208832456,1208832463,CN
@@ -29093,7 +35782,13 @@
1208991776,1208991791,GB
1208991792,1208995455,US
1208995456,1208995471,CA
-1208995472,1209004863,US
+1208995472,1209002351,US
+1209002352,1209002367,A2
+1209002368,1209002495,US
+1209002496,1209002687,A2
+1209002688,1209003007,US
+1209003008,1209004031,A2
+1209004032,1209004863,US
1209004864,1209004927,GB
1209004928,1209189379,US
1209189380,1209189395,MX
@@ -29105,14 +35800,7 @@
1209190852,1209190883,CA
1209190884,1209190911,US
1209190912,1209191167,MX
-1209191168,1209270579,US
-1209270580,1209270583,ID
-1209270584,1209270607,US
-1209270608,1209270611,KR
-1209270612,1209270615,CN
-1209270616,1209271067,US
-1209271068,1209271071,VN
-1209271072,1209271083,US
+1209191168,1209271083,US
1209271084,1209271087,BR
1209271088,1209271127,US
1209271128,1209271131,SA
@@ -29124,285 +35812,171 @@
1209271216,1209271219,IN
1209271220,1209271367,US
1209271368,1209271371,TR
-1209271372,1209271375,PE
-1209271376,1209271435,US
+1209271372,1209271435,US
1209271436,1209271439,CN
1209271440,1209271451,US
1209271452,1209271455,CN
1209271456,1209271463,US
1209271464,1209271467,PK
1209271468,1209271487,US
-1209271488,1209271495,CN
-1209271496,1209271499,CA
-1209271500,1209271503,MX
-1209271504,1209271519,US
-1209271520,1209271523,RO
-1209271524,1209271543,US
-1209271544,1209271551,CN
-1209271552,1209271567,US
-1209271568,1209271571,PL
-1209271572,1209271579,US
+1209271488,1209271491,CN
+1209271492,1209271547,US
+1209271548,1209271551,CN
+1209271552,1209271579,US
1209271580,1209271583,BD
1209271584,1209271607,US
1209271608,1209271611,KH
-1209271612,1209271615,CA
-1209271616,1209271639,US
-1209271640,1209271643,CA
-1209271644,1209271659,US
-1209271660,1209271663,PK
-1209271664,1209271691,US
-1209271692,1209271695,CA
-1209271696,1209271703,US
-1209271704,1209271707,CN
-1209271708,1209271719,US
+1209271612,1209271719,US
1209271720,1209271723,CN
1209271724,1209271727,US
-1209271728,1209271731,PK
-1209271732,1209271735,CN
+1209271728,1209271735,CN
1209271736,1209271767,US
1209271768,1209271771,RO
1209271772,1209271783,US
1209271784,1209271787,RO
-1209271788,1209271827,US
-1209271828,1209271831,CN
-1209271832,1209271839,US
-1209271840,1209271843,CN
-1209271844,1209271847,US
+1209271788,1209271847,US
1209271848,1209271855,IN
1209271856,1209271867,US
-1209271868,1209271871,BR
-1209271872,1209271923,US
+1209271868,1209271871,CN
+1209271872,1209271911,US
+1209271912,1209271915,ID
+1209271916,1209271923,US
1209271924,1209271927,CA
-1209271928,1209271951,US
-1209271952,1209271955,KH
-1209271956,1209271963,US
-1209271964,1209271967,TR
-1209271968,1209271971,VN
-1209271972,1209271975,TR
-1209271976,1209271979,CA
-1209271980,1209271983,ZA
-1209271984,1209271995,US
-1209271996,1209271999,SC
-1209272000,1209272007,TR
-1209272008,1209272011,PL
-1209272012,1209272127,US
-1209272128,1209272159,CN
-1209272160,1209272175,US
+1209271928,1209271935,US
+1209271936,1209271939,BD
+1209271940,1209272175,US
1209272176,1209272191,BR
1209272192,1209272255,US
1209272256,1209272287,CN
-1209272288,1209272383,US
-1209272384,1209272399,CN
-1209272400,1209272407,US
+1209272288,1209272407,US
1209272408,1209272415,PE
1209272416,1209272447,US
1209272448,1209272479,KH
-1209272480,1209272495,CN
-1209272496,1209272511,US
-1209272512,1209272575,CN
-1209272576,1209272583,US
+1209272480,1209272583,US
1209272584,1209272591,PH
-1209272592,1209272607,US
-1209272608,1209272623,TR
-1209272624,1209272655,US
-1209272656,1209272671,TR
-1209272672,1209272719,US
-1209272720,1209272735,PR
+1209272592,1209272735,US
1209272736,1209272767,CN
1209272768,1209272895,US
1209272896,1209272959,CN
1209272960,1209273023,BR
1209273024,1209273055,US
1209273056,1209273071,TR
-1209273072,1209273119,US
+1209273072,1209273079,US
+1209273080,1209273083,SC
+1209273084,1209273119,US
1209273120,1209273135,BR
1209273136,1209273151,TR
1209273152,1209273207,US
1209273208,1209273215,CA
1209273216,1209273279,US
1209273280,1209273311,BR
-1209273312,1209273359,US
-1209273360,1209273407,TR
+1209273312,1209273375,US
+1209273376,1209273407,TR
1209273408,1209273471,CZ
-1209273472,1209273555,US
-1209273556,1209273559,CA
-1209273560,1209273647,US
+1209273472,1209273647,US
1209273648,1209273655,CN
-1209273656,1209273663,AU
+1209273656,1209273663,US
1209273664,1209273671,BD
1209273672,1209273675,US
1209273676,1209273679,GB
1209273680,1209273991,US
1209273992,1209273999,SC
-1209274000,1209274023,US
-1209274024,1209274031,RO
-1209274032,1209274039,TR
-1209274040,1209274047,US
-1209274048,1209274111,CN
-1209274112,1209274115,US
-1209274116,1209274119,CZ
-1209274120,1209274135,US
-1209274136,1209274143,TR
-1209274144,1209274175,US
+1209274000,1209274031,US
+1209274032,1209274039,CZ
+1209274040,1209274175,US
1209274176,1209274239,SC
-1209274240,1209274495,US
-1209274496,1209274527,CN
-1209274528,1209274543,US
-1209274544,1209274559,TR
-1209274560,1209274607,US
+1209274240,1209274607,US
1209274608,1209274623,SC
-1209274624,1209274815,US
-1209274816,1209274879,CA
+1209274624,1209274879,US
1209274880,1209274911,CN
-1209274912,1209274927,US
-1209274928,1209274943,TR
-1209274944,1209274959,US
+1209274912,1209274959,US
1209274960,1209274967,PH
-1209274968,1209275071,US
+1209274968,1209275039,US
+1209275040,1209275071,BD
1209275072,1209275135,GB
1209275136,1209275647,US
1209275648,1209275679,SC
1209275680,1209275695,TR
1209275696,1209275791,US
1209275792,1209275799,TR
-1209275800,1209275823,US
-1209275824,1209275827,CN
-1209275828,1209275863,US
-1209275864,1209275871,SC
-1209275872,1209275906,US
+1209275800,1209275906,US
1209275907,1209275908,KH
1209275909,1209275913,US
-1209275914,1209275914,KH
-1209275915,1209275917,US
-1209275918,1209275918,KH
-1209275919,1209275924,US
+1209275914,1209275914,CN
+1209275915,1209275924,US
1209275925,1209275925,TR
-1209275926,1209275927,US
-1209275928,1209275928,CN
+1209275926,1209275928,US
1209275929,1209275929,MY
-1209275930,1209275930,US
-1209275931,1209275931,AU
+1209275930,1209275931,US
1209275932,1209275932,CN
-1209275933,1209275935,US
-1209275936,1209275951,RO
-1209275952,1209275999,US
-1209276000,1209276031,MY
+1209275933,1209276031,US
1209276032,1209276063,BR
1209276064,1209276351,US
1209276352,1209276415,CN
-1209276416,1209276591,US
-1209276592,1209276607,RO
-1209276608,1209276671,US
+1209276416,1209276671,US
1209276672,1209276703,CN
-1209276704,1209276799,US
-1209276800,1209276803,SA
-1209276804,1209276807,BD
-1209276808,1209276903,US
+1209276704,1209276903,US
1209276904,1209276911,CN
1209276912,1209276927,TR
1209276928,1209277087,US
1209277088,1209277095,SC
1209277096,1209277103,US
1209277104,1209277119,TR
-1209277120,1209277135,RO
-1209277136,1209277143,US
+1209277120,1209277143,US
1209277144,1209277147,TR
-1209277148,1209277154,US
-1209277155,1209277155,TR
-1209277156,1209277156,SE
-1209277157,1209277157,US
+1209277148,1209277157,US
1209277158,1209277158,IN
-1209277159,1209277159,US
-1209277160,1209277160,CN
+1209277159,1209277160,US
1209277161,1209277161,SC
1209277162,1209277163,US
1209277164,1209277165,SC
1209277166,1209277166,GB
1209277167,1209277167,CN
-1209277168,1209277168,AU
-1209277169,1209277171,US
-1209277172,1209277172,AU
-1209277173,1209277215,US
+1209277168,1209277215,US
1209277216,1209277231,BR
1209277232,1209277247,US
1209277248,1209277263,BR
-1209277264,1209277279,US
-1209277280,1209277283,CA
-1209277284,1209277287,US
-1209277288,1209277295,RO
-1209277296,1209277375,US
-1209277376,1209277379,PL
-1209277380,1209277399,US
+1209277264,1209277287,US
+1209277288,1209277295,BD
+1209277296,1209277399,US
1209277400,1209277419,CN
-1209277420,1209277575,US
-1209277576,1209277583,BD
+1209277420,1209277583,US
1209277584,1209277599,TR
1209277600,1209277695,US
1209277696,1209277951,KH
-1209277952,1209278083,US
-1209278084,1209278087,CN
+1209277952,1209278087,US
1209278088,1209278095,AU
-1209278096,1209278111,US
-1209278112,1209278143,TR
-1209278144,1209278207,US
-1209278208,1209278463,KH
-1209278464,1209278495,US
-1209278496,1209278511,TR
-1209278512,1209278523,US
-1209278524,1209278527,CN
-1209278528,1209278591,US
-1209278592,1209278719,CN
-1209278720,1209278795,US
-1209278796,1209278799,CN
-1209278800,1209278815,US
-1209278816,1209278823,CN
-1209278824,1209278827,US
-1209278828,1209278831,CN
-1209278832,1209278839,US
-1209278840,1209278847,CN
-1209278848,1209278911,US
-1209278912,1209278919,TR
-1209278920,1209278975,US
-1209278976,1209279103,CA
-1209279104,1209279119,US
-1209279120,1209279135,CA
-1209279136,1209279139,US
-1209279140,1209279143,PL
-1209279144,1209279167,US
-1209279168,1209279231,VN
+1209278096,1209278155,US
+1209278156,1209278159,SC
+1209278160,1209279091,US
+1209279092,1209279095,BD
+1209279096,1209279099,US
+1209279100,1209279103,CN
+1209279104,1209279231,US
1209279232,1209279295,BR
-1209279296,1209279615,US
+1209279296,1209279583,US
+1209279584,1209279599,BD
+1209279600,1209279615,US
1209279616,1209279743,GB
1209279744,1209279871,US
1209279872,1209279935,MY
-1209279936,1209279951,GB
-1209279952,1209279967,US
+1209279936,1209279967,US
1209279968,1209279999,CN
-1209280000,1209280015,TR
-1209280016,1209280027,US
+1209280000,1209280007,TR
+1209280008,1209280027,US
1209280028,1209280031,SA
1209280032,1209280047,IN
1209280048,1209280191,US
1209280192,1209280255,ID
-1209280256,1209280319,SC
-1209280320,1209280419,US
-1209280420,1209280423,CN
-1209280424,1209280439,US
-1209280440,1209280447,CN
+1209280256,1209280447,US
1209280448,1209280463,IN
-1209280464,1209280495,US
-1209280496,1209280511,CN
-1209280512,1209280515,US
-1209280516,1209280519,TR
-1209280520,1209280527,AU
-1209280528,1209280575,US
+1209280464,1209280535,US
+1209280536,1209280543,BD
+1209280544,1209280575,US
1209280576,1209280607,SC
1209280608,1209280895,US
1209280896,1209280959,BR
-1209280960,1209281151,US
-1209281152,1209281231,CN
-1209281232,1209281247,US
-1209281248,1209281279,CA
+1209280960,1209281279,US
1209281280,1209281535,KH
1209281536,1209281791,IN
1209281792,1209281863,US
@@ -29413,9 +35987,7 @@
1209282064,1209282067,SA
1209282068,1209282111,US
1209282112,1209282143,SC
-1209282144,1209282159,US
-1209282160,1209282175,CN
-1209282176,1209282559,US
+1209282144,1209282559,US
1209282560,1209282623,CN
1209282624,1209283487,US
1209283488,1209283503,TR
@@ -29427,60 +35999,32 @@
1209283584,1209283587,SA
1209283588,1209283599,US
1209283600,1209283607,IN
-1209283608,1209283751,US
+1209283608,1209283679,US
+1209283680,1209283683,CZ
+1209283684,1209283751,US
1209283752,1209283759,BD
1209283760,1209283775,US
1209283776,1209283807,ZA
1209283808,1209283839,MY
-1209283840,1209283887,US
-1209283888,1209283903,BR
-1209283904,1209283915,US
-1209283916,1209283919,KR
-1209283920,1209284095,US
+1209283840,1209284095,US
1209284096,1209284127,CA
1209284128,1209284159,US
1209284160,1209284223,TR
-1209284224,1209284351,CN
-1209284352,1209284391,US
-1209284392,1209284399,RO
-1209284400,1209284415,TR
-1209284416,1209284431,US
-1209284432,1209284447,TR
-1209284448,1209284607,US
+1209284224,1209284607,US
1209284608,1209284671,TR
1209284672,1209284735,CN
1209284736,1209284759,US
1209284760,1209284767,SC
1209284768,1209284799,MY
-1209284800,1209284831,TR
-1209284832,1209284855,US
-1209284856,1209284863,CN
-1209284864,1209284993,US
+1209284800,1209284993,US
1209284994,1209284994,TR
-1209284995,1209284997,US
-1209284998,1209284998,CN
-1209284999,1209284999,US
-1209285000,1209285000,CA
-1209285001,1209285002,US
-1209285003,1209285004,CN
-1209285005,1209285009,US
-1209285010,1209285010,CA
-1209285011,1209285011,US
+1209284995,1209285011,US
1209285012,1209285012,TR
-1209285013,1209285017,US
-1209285018,1209285018,CA
-1209285019,1209285021,US
-1209285022,1209285022,CA
-1209285023,1209285063,US
-1209285064,1209285071,TR
-1209285072,1209285151,US
-1209285152,1209285183,RO
-1209285184,1209285247,TR
-1209285248,1209286143,US
-1209286144,1209286399,KH
-1209286400,1209347839,US
-1209347840,1209348095,GB
-1209348096,1209357215,US
+1209285013,1209285021,US
+1209285022,1209285022,CN
+1209285023,1209285631,US
+1209285632,1209285695,CN
+1209285696,1209357215,US
1209357216,1209357231,SI
1209357232,1209358751,US
1209358752,1209358767,SI
@@ -29517,8 +36061,8 @@
1209863168,1209863423,CA
1209863424,1209863679,IN
1209863680,1209863935,US
-1209863936,1209864447,CA
-1209864448,1209864543,US
+1209863936,1209864191,CA
+1209864192,1209864543,US
1209864544,1209864575,BE
1209864576,1209864607,US
1209864608,1209864639,BE
@@ -29529,8 +36073,8 @@
1209866112,1209866143,IN
1209866144,1209866175,US
1209866176,1209866207,BE
-1209866208,1209866303,IN
-1209866304,1209866751,US
+1209866208,1209866239,IN
+1209866240,1209866751,US
1209866752,1209867007,IN
1209867008,1209867039,NZ
1209867040,1209867071,BE
@@ -29587,9 +36131,7 @@
1210057888,1210057895,US
1210057896,1210057903,MX
1210057904,1210057911,GB
-1210057912,1210058047,US
-1210058048,1210058055,CA
-1210058056,1210058159,US
+1210057912,1210058159,US
1210058160,1210058167,CA
1210058168,1210058191,US
1210058192,1210058199,CA
@@ -29653,123 +36195,74 @@
1210064528,1210064535,AU
1210064536,1210064663,US
1210064664,1210064671,AU
-1210064672,1210064951,US
-1210064952,1210064959,KW
-1210064960,1210064999,US
-1210065000,1210065007,BR
-1210065008,1210065023,US
+1210064672,1210065023,US
1210065024,1210065031,CA
1210065032,1210065319,US
1210065320,1210065327,AU
1210065328,1210065535,US
1210065536,1210065543,IN
-1210065544,1210065551,US
-1210065552,1210065559,GB
-1210065560,1210065567,US
-1210065568,1210065575,GB
-1210065576,1210065615,US
-1210065616,1210065623,CA
-1210065624,1210065663,US
+1210065544,1210065663,US
1210065664,1210065679,IN
1210065680,1210065695,AU
1210065696,1210065703,IN
-1210065704,1210065735,US
-1210065736,1210065743,DO
-1210065744,1210065751,US
+1210065704,1210065751,US
1210065752,1210065759,GB
1210065760,1210065783,US
1210065784,1210065791,PA
1210065792,1210065823,US
1210065824,1210065855,AU
-1210065856,1210066255,US
-1210066256,1210066263,CA
-1210066264,1210066287,US
+1210065856,1210066287,US
1210066288,1210066295,IN
-1210066296,1210066519,US
-1210066520,1210066527,BM
-1210066528,1210066807,US
+1210066296,1210066807,US
1210066808,1210066831,CA
1210066832,1210067263,US
1210067264,1210067287,GB
-1210067288,1210067535,US
-1210067536,1210067543,AU
-1210067544,1210067632,US
+1210067288,1210067632,US
1210067633,1210067640,AU
-1210067641,1210067967,US
-1210067968,1210067983,IL
-1210067984,1210068039,US
+1210067641,1210068039,US
1210068040,1210068047,GB
-1210068048,1210068151,US
-1210068152,1210068159,CA
-1210068160,1210068319,US
+1210068048,1210068319,US
1210068320,1210068327,CA
1210068328,1210068343,US
1210068344,1210068351,MX
1210068352,1210068447,US
1210068448,1210068471,NO
-1210068472,1210068543,US
-1210068544,1210068559,CA
-1210068560,1210068607,US
+1210068472,1210068607,US
1210068608,1210068735,IL
-1210068736,1210068759,US
-1210068760,1210068767,IL
-1210068768,1210068775,CA
-1210068776,1210068903,US
+1210068736,1210068903,US
1210068904,1210068927,AU
-1210068928,1210069007,US
-1210069008,1210069023,CA
+1210068928,1210069015,US
+1210069016,1210069023,CA
1210069024,1210069159,US
1210069160,1210069167,AU
-1210069168,1210070071,US
-1210070072,1210070079,GB
-1210070080,1210070175,US
+1210069168,1210070175,US
1210070176,1210070183,IL
-1210070184,1210070431,US
-1210070432,1210070439,IL
-1210070440,1210070503,US
-1210070504,1210070511,CA
-1210070512,1210070631,US
+1210070184,1210070631,US
1210070632,1210070639,MX
1210070640,1210070799,US
1210070800,1210070807,AU
-1210070808,1210070863,US
-1210070864,1210070871,BH
-1210070872,1210070943,US
-1210070944,1210070951,IN
-1210070952,1210070959,US
+1210070808,1210070959,US
1210070960,1210070967,JP
1210070968,1210071007,US
1210071008,1210071015,GB
1210071016,1210071039,US
1210071040,1210071167,GB
-1210071168,1210072255,US
-1210072256,1210072319,CA
-1210072320,1210072519,US
+1210071168,1210072519,US
1210072520,1210072527,NZ
1210072528,1210072559,US
1210072560,1210072567,GB
-1210072568,1210072783,US
-1210072784,1210072791,KW
-1210072792,1210073199,US
-1210073200,1210073207,DE
-1210073208,1210075663,US
+1210072568,1210075663,US
1210075664,1210075671,IN
1210075672,1210076039,US
1210076040,1210076047,CA
1210076048,1210079903,US
1210079904,1210079911,IT
1210079912,1210079919,BM
-1210079920,1210079999,US
-1210080000,1210080015,IN
-1210080016,1210080079,US
+1210079920,1210080079,US
1210080080,1210080111,GB
1210080112,1210080407,US
1210080408,1210080455,NL
-1210080456,1210080615,US
-1210080616,1210080623,CA
-1210080624,1210080847,US
-1210080848,1210080855,SV
-1210080856,1210081087,US
+1210080456,1210081087,US
1210081088,1210081103,CA
1210081104,1210081335,US
1210081336,1210081343,CR
@@ -29838,9 +36331,7 @@
1210088960,1210088967,GB
1210088968,1210089047,US
1210089048,1210089055,MX
-1210089056,1210089375,US
-1210089376,1210089383,CA
-1210089384,1210089823,US
+1210089056,1210089823,US
1210089824,1210089855,CA
1210089856,1210090071,US
1210090072,1210090079,MX
@@ -29890,15 +36381,11 @@
1210092608,1210092639,GB
1210092640,1210092799,US
1210092800,1210092815,CA
-1210092816,1210093143,US
-1210093144,1210093151,ID
-1210093152,1210093191,US
+1210092816,1210093191,US
1210093192,1210093199,BR
1210093200,1210093407,US
1210093408,1210093423,MX
-1210093424,1210093575,US
-1210093576,1210093583,MY
-1210093584,1210093639,US
+1210093424,1210093639,US
1210093640,1210093647,CA
1210093648,1210093663,US
1210093664,1210093671,CA
@@ -29956,9 +36443,7 @@
1210097656,1210097663,GB
1210097664,1210097783,US
1210097784,1210097791,GB
-1210097792,1210097999,US
-1210098000,1210098007,CA
-1210098008,1210098111,US
+1210097792,1210098111,US
1210098112,1210098119,IL
1210098120,1210098127,US
1210098128,1210098143,CA
@@ -29968,11 +36453,7 @@
1210098320,1210098327,CA
1210098328,1210098527,US
1210098528,1210098535,SG
-1210098536,1210098615,US
-1210098616,1210098623,NZ
-1210098624,1210098743,US
-1210098744,1210098751,BO
-1210098752,1210098775,US
+1210098536,1210098775,US
1210098776,1210098783,CN
1210098784,1210098959,US
1210098960,1210098975,CA
@@ -30048,8 +36529,7 @@
1210108920,1210109247,US
1210109248,1210109255,DK
1210109256,1210109263,IL
-1210109264,1210109271,CA
-1210109272,1210109343,US
+1210109264,1210109343,US
1210109344,1210109351,FI
1210109352,1210109751,US
1210109752,1210109759,IL
@@ -30084,9 +36564,7 @@
1210113056,1210113063,CA
1210113064,1210113095,US
1210113096,1210113103,BR
-1210113104,1210113135,US
-1210113136,1210113143,CA
-1210113144,1210113535,US
+1210113104,1210113535,US
1210113536,1210113551,CA
1210113552,1210113615,US
1210113616,1210113631,GB
@@ -30138,9 +36616,7 @@
1210115496,1210115503,AU
1210115504,1210115543,US
1210115544,1210115575,BB
-1210115576,1210115591,US
-1210115592,1210115599,CA
-1210115600,1210115719,US
+1210115576,1210115719,US
1210115720,1210115727,AU
1210115728,1210115791,US
1210115792,1210115799,GB
@@ -30196,8 +36672,7 @@
1210119256,1210119263,MY
1210119264,1210119311,US
1210119312,1210119319,AN
-1210119320,1210119327,MX
-1210119328,1210119551,US
+1210119320,1210119551,US
1210119552,1210119559,MX
1210119560,1210119823,US
1210119824,1210119831,CA
@@ -30215,9 +36690,7 @@
1210121024,1210121039,AU
1210121040,1210121079,US
1210121080,1210121087,BR
-1210121088,1210121887,US
-1210121888,1210121903,MO
-1210121904,1210122031,US
+1210121088,1210122031,US
1210122032,1210122039,CA
1210122040,1210122063,US
1210122064,1210122071,MX
@@ -30225,11 +36698,9 @@
1210253312,1210254703,CA
1210254704,1210254719,NZ
1210254720,1210261503,CA
-1210261504,1210359039,US
-1210359040,1210359295,ES
-1210359296,1210366655,US
-1210366656,1210366719,GB
-1210366720,1210418175,US
+1210261504,1210381759,US
+1210381760,1210381823,RU
+1210381824,1210418175,US
1210418176,1210418207,SG
1210418208,1210427039,US
1210427040,1210427071,JP
@@ -30247,9 +36718,7 @@
1210866436,1210866443,CL
1210866444,1210925055,US
1210925056,1210941439,CA
-1210941440,1211031551,US
-1211031552,1211031807,BB
-1211031808,1211032223,US
+1210941440,1211032223,US
1211032224,1211032255,VE
1211032256,1211032271,US
1211032272,1211032287,DO
@@ -30261,9 +36730,7 @@
1211035712,1211035775,CA
1211035776,1211035791,US
1211035792,1211035807,CR
-1211035808,1211035823,US
-1211035824,1211035839,CH
-1211035840,1211036031,US
+1211035808,1211036031,US
1211036032,1211036095,EC
1211036096,1211036703,US
1211036704,1211036719,BO
@@ -30278,8 +36745,7 @@
1211037520,1211037535,UY
1211037536,1211037679,US
1211037680,1211037695,AR
-1211037696,1211037983,US
-1211037984,1211037999,CR
+1211037696,1211037999,US
1211038000,1211038007,BB
1211038008,1211038011,TT
1211038012,1211038063,US
@@ -30300,9 +36766,7 @@
1211236352,1211269119,PR
1211269120,1211303935,US
1211303936,1211304159,CA
-1211304160,1211304223,US
-1211304224,1211304255,CA
-1211304256,1211304287,US
+1211304160,1211304287,US
1211304288,1211304319,CA
1211304320,1211304351,NL
1211304352,1211304703,CA
@@ -30392,51 +36856,475 @@
1211387984,1211387999,AE
1211388000,1211388159,US
1211388160,1211388287,A1
-1211388288,1211388671,US
-1211388672,1211388687,IT
-1211388688,1211391455,US
+1211388288,1211391455,US
1211391456,1211391487,CN
1211391488,1211391711,US
1211391712,1211391719,CN
1211391720,1211391727,US
1211391728,1211391735,CN
-1211391736,1211391743,US
-1211391744,1211391999,IT
-1211392000,1211392591,US
-1211392592,1211392607,IT
+1211391736,1211392607,US
1211392608,1211392639,GB
-1211392640,1211392783,US
-1211392784,1211392799,IT
-1211392800,1211393279,US
+1211392640,1211393279,US
1211393280,1211393311,AU
-1211393312,1211393327,IT
-1211393328,1211394063,US
+1211393312,1211394063,US
1211394064,1211394079,ES
-1211394080,1211394751,US
-1211394752,1211395071,IT
-1211395072,1211404421,US
+1211394080,1211404421,US
1211404422,1211404422,CA
1211404423,1211407293,US
1211407294,1211407333,MX
-1211407334,1211413247,US
-1211413248,1211413503,CA
-1211413504,1211419489,US
+1211407334,1211419489,US
1211419490,1211419497,CA
1211419498,1211421739,US
1211421740,1211421740,CA
1211421741,1211432959,US
1211432960,1211473919,CA
1211473920,1211596799,US
-1211596800,1211613183,CA
+1211596800,1211597079,CA
+1211597080,1211597087,AU
+1211597088,1211597127,CA
+1211597128,1211597135,DE
+1211597136,1211597143,CA
+1211597144,1211597151,IQ
+1211597152,1211597159,CA
+1211597160,1211597167,LK
+1211597168,1211597175,BE
+1211597176,1211597191,CA
+1211597192,1211597199,PK
+1211597200,1211597207,CA
+1211597208,1211597215,US
+1211597216,1211597239,CA
+1211597240,1211597247,QA
+1211597248,1211597255,CA
+1211597256,1211597263,LV
+1211597264,1211597279,CA
+1211597280,1211597287,EC
+1211597288,1211597367,CA
+1211597368,1211597375,US
+1211597376,1211597407,CA
+1211597408,1211597423,US
+1211597424,1211597471,CA
+1211597472,1211597479,RU
+1211597480,1211597487,CA
+1211597488,1211597495,PT
+1211597496,1211597503,CA
+1211597504,1211597511,NL
+1211597512,1211597535,CA
+1211597536,1211597543,DE
+1211597544,1211597863,CA
+1211597864,1211597871,US
+1211597872,1211597911,CA
+1211597912,1211597919,ZA
+1211597920,1211597927,CA
+1211597928,1211597935,US
+1211597936,1211597951,CA
+1211597952,1211597967,US
+1211597968,1211597983,CA
+1211597984,1211597991,GB
+1211597992,1211598071,CA
+1211598072,1211598079,FR
+1211598080,1211598639,CA
+1211598640,1211598647,MY
+1211598648,1211598735,CA
+1211598736,1211598743,IR
+1211598744,1211598759,CA
+1211598760,1211598767,ES
+1211598768,1211599415,CA
+1211599416,1211599423,US
+1211599424,1211599431,GB
+1211599432,1211599455,CA
+1211599456,1211599463,IL
+1211599464,1211599479,CA
+1211599480,1211599487,SA
+1211599488,1211599495,BR
+1211599496,1211599543,CA
+1211599544,1211599551,US
+1211599552,1211599559,CA
+1211599560,1211599567,US
+1211599568,1211599583,CA
+1211599584,1211599591,US
+1211599592,1211599607,CA
+1211599608,1211599615,CN
+1211599616,1211599647,CA
+1211599648,1211599655,ES
+1211599656,1211599679,CA
+1211599680,1211599695,US
+1211599696,1211599703,MX
+1211599704,1211599751,CA
+1211599752,1211599759,KW
+1211599760,1211599767,CA
+1211599768,1211599775,ID
+1211599776,1211599847,CA
+1211599848,1211599855,IN
+1211599856,1211600131,CA
+1211600132,1211600135,GB
+1211600136,1211600227,CA
+1211600228,1211600231,IQ
+1211600232,1211600311,CA
+1211600312,1211600319,IN
+1211600320,1211600327,BR
+1211600328,1211600383,CA
+1211600384,1211600391,EG
+1211600392,1211600479,CA
+1211600480,1211600487,CO
+1211600488,1211600495,CA
+1211600496,1211600503,US
+1211600504,1211600511,CA
+1211600512,1211600543,AN
+1211600544,1211600567,CA
+1211600568,1211600575,EG
+1211600576,1211600599,CA
+1211600600,1211600607,BR
+1211600608,1211600631,CA
+1211600632,1211600639,EG
+1211600640,1211600703,CA
+1211600704,1211600719,CY
+1211600720,1211600828,CA
+1211600829,1211600829,US
+1211600830,1211600927,CA
+1211600928,1211600935,CN
+1211600936,1211600959,CA
+1211600960,1211600967,US
+1211600968,1211600991,CA
+1211600992,1211600999,BR
+1211601000,1211601023,CA
+1211601024,1211601031,BR
+1211601032,1211601079,CA
+1211601080,1211601087,MT
+1211601088,1211601103,CA
+1211601104,1211601111,US
+1211601112,1211601215,CA
+1211601216,1211601223,US
+1211601224,1211601231,TR
+1211601232,1211601287,CA
+1211601288,1211601295,BR
+1211601296,1211601303,CA
+1211601304,1211601311,AE
+1211601312,1211601319,EG
+1211601320,1211601327,CO
+1211601328,1211601399,CA
+1211601400,1211601407,PK
+1211601408,1211601663,CA
+1211601664,1211601671,BR
+1211601672,1211601743,CA
+1211601744,1211601759,US
+1211601760,1211601775,CA
+1211601776,1211601783,AU
+1211601784,1211601791,IR
+1211601792,1211601799,US
+1211601800,1211601823,CA
+1211601824,1211601831,DK
+1211601832,1211601863,CA
+1211601864,1211601871,IL
+1211601872,1211601879,US
+1211601880,1211601903,CA
+1211601904,1211601911,BD
+1211601912,1211602095,CA
+1211602096,1211602111,US
+1211602112,1211602191,CA
+1211602192,1211602199,TR
+1211602200,1211602215,CA
+1211602216,1211602223,DE
+1211602224,1211602239,CA
+1211602240,1211602247,CN
+1211602248,1211602367,CA
+1211602368,1211602375,AR
+1211602376,1211602407,CA
+1211602408,1211602415,US
+1211602416,1211602439,CA
+1211602440,1211602447,MY
+1211602448,1211602455,CA
+1211602456,1211602463,FI
+1211602464,1211602479,CA
+1211602480,1211602487,US
+1211602488,1211602495,CA
+1211602496,1211602503,MX
+1211602504,1211602527,CA
+1211602528,1211602535,AE
+1211602536,1211602551,CA
+1211602552,1211602559,SA
+1211602560,1211602575,CA
+1211602576,1211602583,BR
+1211602584,1211602591,CA
+1211602592,1211602599,ID
+1211602600,1211602607,CA
+1211602608,1211602615,US
+1211602616,1211602631,CA
+1211602632,1211602639,QA
+1211602640,1211602735,CA
+1211602736,1211602751,EG
+1211602752,1211602759,CA
+1211602760,1211602767,IL
+1211602768,1211602775,IN
+1211602776,1211602783,US
+1211602784,1211602831,CA
+1211602832,1211602839,US
+1211602840,1211602879,CA
+1211602880,1211602887,CO
+1211602888,1211603103,CA
+1211603104,1211603119,SN
+1211603120,1211603135,CA
+1211603136,1211603167,FR
+1211603168,1211603247,CA
+1211603248,1211603263,US
+1211603264,1211603823,CA
+1211603824,1211603831,TR
+1211603832,1211603855,CA
+1211603856,1211603863,SG
+1211603864,1211603871,CA
+1211603872,1211603879,PK
+1211603880,1211603887,CA
+1211603888,1211603903,US
+1211603904,1211603919,CA
+1211603920,1211603927,AE
+1211603928,1211603935,BR
+1211603936,1211604063,CA
+1211604064,1211604079,AR
+1211604080,1211604095,IT
+1211604096,1211604239,CA
+1211604240,1211604247,GB
+1211604248,1211604279,CA
+1211604280,1211604287,SG
+1211604288,1211604295,US
+1211604296,1211604303,CA
+1211604304,1211604311,GB
+1211604312,1211604319,US
+1211604320,1211604327,CA
+1211604328,1211604335,RU
+1211604336,1211604343,GB
+1211604344,1211604351,CA
+1211604352,1211604359,US
+1211604360,1211604407,CA
+1211604408,1211604423,US
+1211604424,1211604463,CA
+1211604464,1211604471,US
+1211604472,1211604743,CA
+1211604744,1211604751,BH
+1211604752,1211604755,CA
+1211604756,1211604759,IN
+1211604760,1211604791,CA
+1211604792,1211604799,IN
+1211604800,1211604807,CA
+1211604808,1211604815,IL
+1211604816,1211604895,CA
+1211604896,1211604903,MX
+1211604904,1211604951,CA
+1211604952,1211604959,FI
+1211604960,1211604967,CA
+1211604968,1211604975,PK
+1211604976,1211604991,CA
+1211604992,1211605087,US
+1211605088,1211605103,PH
+1211605104,1211605119,FR
+1211605120,1211605199,CA
+1211605200,1211605215,IL
+1211605216,1211605231,NL
+1211605232,1211605247,CY
+1211605248,1211605311,BS
+1211605312,1211605687,CA
+1211605688,1211605695,PK
+1211605696,1211605703,DK
+1211605704,1211605743,CA
+1211605744,1211605751,US
+1211605752,1211605783,CA
+1211605784,1211605791,US
+1211605792,1211605799,CA
+1211605800,1211605815,US
+1211605816,1211605831,CA
+1211605832,1211605839,IN
+1211605840,1211605887,CA
+1211605888,1211605895,CH
+1211605896,1211605951,CA
+1211605952,1211605959,EG
+1211605960,1211606567,CA
+1211606568,1211606575,RU
+1211606576,1211606591,CA
+1211606592,1211606599,US
+1211606600,1211606639,CA
+1211606640,1211606647,AE
+1211606648,1211606775,CA
+1211606776,1211606783,US
+1211606784,1211606807,CA
+1211606808,1211606823,US
+1211606824,1211606831,LY
+1211606832,1211606847,CA
+1211606848,1211606855,BR
+1211606856,1211606879,CA
+1211606880,1211606887,US
+1211606888,1211606895,EG
+1211606896,1211606919,CA
+1211606920,1211606927,HK
+1211606928,1211606935,BR
+1211606936,1211606959,CA
+1211606960,1211606967,EC
+1211606968,1211606975,IE
+1211606976,1211606983,US
+1211606984,1211607031,CA
+1211607032,1211607039,CY
+1211607040,1211607295,CA
+1211607296,1211607303,FR
+1211607304,1211607335,CA
+1211607336,1211607343,EC
+1211607344,1211607391,CA
+1211607392,1211607399,US
+1211607400,1211607407,MX
+1211607408,1211607415,SE
+1211607416,1211607423,PL
+1211607424,1211607431,CA
+1211607432,1211607439,MX
+1211607440,1211607495,CA
+1211607496,1211607503,MT
+1211607504,1211607511,FR
+1211607512,1211607519,BR
+1211607520,1211607535,CA
+1211607536,1211607543,US
+1211607544,1211607551,VG
+1211607552,1211607559,BR
+1211607560,1211607615,CA
+1211607616,1211607623,PA
+1211607624,1211607631,CY
+1211607632,1211607663,CA
+1211607664,1211607671,AU
+1211607672,1211607695,CA
+1211607696,1211607703,VG
+1211607704,1211607711,BR
+1211607712,1211607767,CA
+1211607768,1211607775,AU
+1211607776,1211607783,CA
+1211607784,1211607791,AE
+1211607792,1211607807,CA
+1211607808,1211607823,CY
+1211607824,1211607839,RU
+1211607840,1211607855,NL
+1211607856,1211607871,JP
+1211607872,1211607887,CA
+1211607888,1211607903,AU
+1211607904,1211607919,US
+1211607920,1211607935,ES
+1211607936,1211607951,IE
+1211607952,1211608031,CA
+1211608032,1211608047,PH
+1211608048,1211608063,IT
+1211608064,1211608079,MX
+1211608080,1211608119,CA
+1211608120,1211608127,ES
+1211608128,1211608159,US
+1211608160,1211608183,CA
+1211608184,1211608191,CI
+1211608192,1211608279,CA
+1211608280,1211608287,CL
+1211608288,1211608375,CA
+1211608376,1211608383,JP
+1211608384,1211608471,CA
+1211608472,1211608479,KW
+1211608480,1211608487,AE
+1211608488,1211608503,CA
+1211608504,1211608511,BR
+1211608512,1211608839,CA
+1211608840,1211608847,MX
+1211608848,1211608919,CA
+1211608920,1211608927,IR
+1211608928,1211608943,CA
+1211608944,1211608951,GB
+1211608952,1211608967,CA
+1211608968,1211608983,US
+1211608984,1211608991,CA
+1211608992,1211608995,US
+1211608996,1211608999,CA
+1211609000,1211609007,CN
+1211609008,1211609039,CA
+1211609040,1211609047,US
+1211609048,1211609063,CA
+1211609064,1211609071,NZ
+1211609072,1211609343,CA
+1211609344,1211609599,US
+1211609600,1211610191,CA
+1211610192,1211610199,US
+1211610200,1211610215,CA
+1211610216,1211610219,IN
+1211610220,1211610239,CA
+1211610240,1211610247,US
+1211610248,1211610263,CA
+1211610264,1211610271,BR
+1211610272,1211610279,CA
+1211610280,1211610287,BR
+1211610288,1211610295,CA
+1211610296,1211610303,IR
+1211610304,1211610311,GR
+1211610312,1211610335,CA
+1211610336,1211610343,ID
+1211610344,1211610351,GB
+1211610352,1211610439,CA
+1211610440,1211610447,GB
+1211610448,1211610455,CA
+1211610456,1211610463,US
+1211610464,1211610479,CA
+1211610480,1211610495,US
+1211610496,1211610499,CA
+1211610500,1211610503,US
+1211610504,1211610519,CA
+1211610520,1211610527,IL
+1211610528,1211610591,CA
+1211610592,1211610599,AU
+1211610600,1211610655,CA
+1211610656,1211610687,US
+1211610688,1211610935,CA
+1211610936,1211610943,MX
+1211610944,1211610951,AE
+1211610952,1211611015,CA
+1211611016,1211611023,TH
+1211611024,1211611031,RO
+1211611032,1211611039,CA
+1211611040,1211611047,NL
+1211611048,1211611079,CA
+1211611080,1211611095,BR
+1211611096,1211611119,CA
+1211611120,1211611127,DE
+1211611128,1211611311,CA
+1211611312,1211611327,US
+1211611328,1211611343,CA
+1211611344,1211611359,IT
+1211611360,1211611375,CO
+1211611376,1211611423,CA
+1211611424,1211611431,AE
+1211611432,1211611447,CA
+1211611448,1211611455,CR
+1211611456,1211611463,MT
+1211611464,1211611495,CA
+1211611496,1211611503,PK
+1211611504,1211611511,IN
+1211611512,1211611543,CA
+1211611544,1211611567,US
+1211611568,1211611599,CA
+1211611600,1211611607,AE
+1211611608,1211611639,CA
+1211611640,1211611647,US
+1211611648,1211612191,CA
+1211612192,1211612207,US
+1211612208,1211612287,CA
+1211612288,1211612303,PL
+1211612304,1211612319,CZ
+1211612320,1211612431,CA
+1211612432,1211612439,FR
+1211612440,1211612471,CA
+1211612472,1211612479,CO
+1211612480,1211612487,AE
+1211612488,1211612495,BR
+1211612496,1211612503,CA
+1211612504,1211612511,JO
+1211612512,1211612519,CA
+1211612520,1211612527,AR
+1211612528,1211612551,CA
+1211612552,1211612559,IL
+1211612560,1211612655,CA
+1211612656,1211612671,BR
+1211612672,1211613183,CA
1211613184,1216872447,US
1216872448,1217396735,CA
1217396736,1218731807,US
1218731808,1218731815,A2
1218731816,1218778111,US
1218778112,1218778367,SG
-1218778368,1218853247,US
-1218853248,1218853279,PR
-1218853280,1219253119,US
+1218778368,1219253119,US
1219253120,1219253135,IN
1219253136,1219253319,US
1219253320,1219253327,CA
@@ -30449,22 +37337,12 @@
1219290752,1219295295,US
1219295296,1219295359,GR
1219295360,1223182487,US
-1223182488,1223182654,ES
-1223182655,1223197183,US
-1223197184,1223197439,ES
-1223197440,1223199743,US
-1223199744,1223199999,GB
-1223200000,1223203327,US
-1223203328,1223203583,ES
-1223203584,1223208447,US
-1223208448,1223208703,ES
-1223208704,1223208767,US
-1223208768,1223208959,ES
+1223182488,1223182503,ES
+1223182504,1223208831,US
+1223208832,1223208959,ES
1223208960,1223222911,US
1223222912,1223223039,BR
-1223223040,1223234047,US
-1223234048,1223234303,ES
-1223234304,1223239167,US
+1223223040,1223239167,US
1223239168,1223239295,ES
1223239296,1223244159,US
1223244160,1223244223,BR
@@ -30557,30 +37435,58 @@
1245168216,1245168219,CH
1245168220,1245173215,US
1245173216,1245173223,CH
-1245173224,1245183999,US
+1245173224,1245178423,US
+1245178424,1245178431,IE
+1245178432,1245183999,US
1245184000,1245446143,CA
-1245446144,1246864899,US
+1245446144,1245693023,US
+1245693024,1245693039,IN
+1245693040,1245694207,US
+1245694208,1245694239,BR
+1245694240,1245694367,US
+1245694368,1245694399,BR
+1245694400,1245694431,US
+1245694432,1245694463,BR
+1245694464,1245698183,US
+1245698184,1245698191,BR
+1245698192,1245698679,US
+1245698680,1245698687,JO
+1245698688,1245699327,US
+1245699328,1245699343,BR
+1245699344,1245700255,US
+1245700256,1245700263,JO
+1245700264,1245700527,US
+1245700528,1245700535,SA
+1245700536,1245703871,US
+1245703872,1245703887,BR
+1245703888,1245704039,US
+1245704040,1245704047,JO
+1245704048,1245704287,US
+1245704288,1245704295,ID
+1245704296,1245707455,US
+1245707456,1245707471,BR
+1245707472,1245708095,US
+1245708096,1245708111,GB
+1245708112,1246864899,US
1246864900,1246864958,EG
-1246864959,1246872069,US
-1246872070,1246872081,GB
-1246872082,1246874127,US
+1246864959,1246870015,US
+1246870016,1246870079,UA
+1246870080,1246870687,US
+1246870688,1246870719,UA
+1246870720,1246871487,US
+1246871488,1246871519,UA
+1246871520,1246874127,US
1246874128,1246874216,GB
-1246874217,1246874290,US
-1246874291,1246874304,CA
-1246874305,1246874368,US
+1246874217,1246874368,US
1246874369,1246874496,GB
1246874497,1246874558,US
1246874559,1246874590,GB
1246874591,1246875509,US
1246875510,1246875520,NL
-1246875521,1246875904,US
-1246875905,1246875929,CA
-1246875930,1246902783,US
+1246875521,1246902783,US
1246902784,1246903039,NL
1246903040,1246937087,US
-1246937088,1246938111,CA
-1246938112,1246938127,US
-1246938128,1246940159,CA
+1246937088,1246940159,CA
1246940160,1246940415,GB
1246940416,1246943287,CA
1246943288,1246943295,DE
@@ -30595,9 +37501,776 @@
1247070816,1247070831,CA
1247070832,1247072719,US
1247072720,1247072735,NL
-1247072736,1247481855,US
+1247072736,1247073791,US
+1247073792,1247074303,A2
+1247074304,1247150111,US
+1247150112,1247150127,AR
+1247150128,1247150159,US
+1247150160,1247150167,GB
+1247150168,1247150183,US
+1247150184,1247150191,GB
+1247150192,1247150239,US
+1247150240,1247150247,CN
+1247150248,1247150287,US
+1247150288,1247150295,SA
+1247150296,1247150807,US
+1247150808,1247150815,GB
+1247150816,1247151055,US
+1247151056,1247151063,CN
+1247151064,1247151231,US
+1247151232,1247151247,NZ
+1247151248,1247151271,US
+1247151272,1247151279,ZA
+1247151280,1247151415,US
+1247151416,1247151423,SA
+1247151424,1247151471,US
+1247151472,1247151479,VN
+1247151480,1247151631,US
+1247151632,1247151639,IN
+1247151640,1247151671,US
+1247151672,1247151679,CA
+1247151680,1247151759,US
+1247151760,1247151767,CN
+1247151768,1247151807,US
+1247151808,1247151815,SA
+1247151816,1247151903,US
+1247151904,1247151911,GB
+1247151912,1247151935,US
+1247151936,1247151967,SA
+1247151968,1247151999,US
+1247152000,1247152007,SA
+1247152008,1247152087,US
+1247152088,1247152095,CH
+1247152096,1247152383,US
+1247152384,1247152415,IN
+1247152416,1247152511,US
+1247152512,1247152527,SE
+1247152528,1247152663,US
+1247152664,1247152671,CN
+1247152672,1247152679,US
+1247152680,1247152687,RU
+1247152688,1247152735,US
+1247152736,1247152743,CN
+1247152744,1247152775,US
+1247152776,1247152783,CN
+1247152784,1247152879,US
+1247152880,1247152887,CN
+1247152888,1247152895,US
+1247152896,1247152959,CN
+1247152960,1247152991,US
+1247152992,1247152999,TR
+1247153000,1247153055,US
+1247153056,1247153063,AU
+1247153064,1247153103,US
+1247153104,1247153111,KW
+1247153112,1247153119,US
+1247153120,1247153127,CN
+1247153128,1247153207,US
+1247153208,1247153215,AU
+1247153216,1247153239,US
+1247153240,1247153247,QA
+1247153248,1247153423,US
+1247153424,1247153431,SA
+1247153432,1247153607,US
+1247153608,1247153615,CL
+1247153616,1247153671,US
+1247153672,1247153679,SA
+1247153680,1247153687,IN
+1247153688,1247153967,US
+1247153968,1247153975,RU
+1247153976,1247153983,US
+1247153984,1247153999,CA
+1247154000,1247154103,US
+1247154104,1247154111,SA
+1247154112,1247154231,US
+1247154232,1247154239,CN
+1247154240,1247154407,US
+1247154408,1247154415,CA
+1247154416,1247154431,US
+1247154432,1247154439,CN
+1247154440,1247154479,US
+1247154480,1247154487,CN
+1247154488,1247154607,US
+1247154608,1247154615,CN
+1247154616,1247154663,US
+1247154664,1247154671,SA
+1247154672,1247154855,US
+1247154856,1247154863,CN
+1247154864,1247154871,US
+1247154872,1247154879,CN
+1247154880,1247155087,US
+1247155088,1247155095,CN
+1247155096,1247155159,US
+1247155160,1247155167,CN
+1247155168,1247155335,US
+1247155336,1247155343,CN
+1247155344,1247155567,US
+1247155568,1247155575,CN
+1247155576,1247155647,US
+1247155648,1247155663,AU
+1247155664,1247155743,US
+1247155744,1247155751,CN
+1247155752,1247155783,US
+1247155784,1247155791,SA
+1247155792,1247155823,US
+1247155824,1247155831,CN
+1247155832,1247156031,US
+1247156032,1247156039,CN
+1247156040,1247156063,US
+1247156064,1247156071,CN
+1247156072,1247156127,US
+1247156128,1247156135,CN
+1247156136,1247156271,US
+1247156272,1247156279,SA
+1247156280,1247156295,US
+1247156296,1247156303,CN
+1247156304,1247156311,US
+1247156312,1247156319,EG
+1247156320,1247156327,TH
+1247156328,1247156335,US
+1247156336,1247156343,CN
+1247156344,1247156415,US
+1247156416,1247156423,CN
+1247156424,1247156487,US
+1247156488,1247156495,CN
+1247156496,1247156543,US
+1247156544,1247156559,SA
+1247156560,1247156567,AU
+1247156568,1247156831,US
+1247156832,1247156839,CN
+1247156840,1247156863,US
+1247156864,1247156871,CA
+1247156872,1247156879,SA
+1247156880,1247157031,US
+1247157032,1247157039,CN
+1247157040,1247157263,US
+1247157264,1247157279,BR
+1247157280,1247157791,US
+1247157792,1247157799,SA
+1247157800,1247157943,US
+1247157944,1247157951,GB
+1247157952,1247158039,US
+1247158040,1247158047,CA
+1247158048,1247158063,GB
+1247158064,1247158239,US
+1247158240,1247158255,KW
+1247158256,1247158263,US
+1247158264,1247158271,AU
+1247158272,1247158431,US
+1247158432,1247158463,AU
+1247158464,1247158631,US
+1247158632,1247158639,SA
+1247158640,1247158679,US
+1247158680,1247158687,CA
+1247158688,1247158719,US
+1247158720,1247158727,CA
+1247158728,1247158743,US
+1247158744,1247158751,AU
+1247158752,1247158847,US
+1247158848,1247158855,BR
+1247158856,1247158927,US
+1247158928,1247158935,RU
+1247158936,1247159007,US
+1247159008,1247159015,AU
+1247159016,1247159167,US
+1247159168,1247159175,ES
+1247159176,1247159351,US
+1247159352,1247159359,ES
+1247159360,1247159759,US
+1247159760,1247159775,IN
+1247159776,1247159791,US
+1247159792,1247159799,SA
+1247159800,1247160095,US
+1247160096,1247160103,TR
+1247160104,1247160111,US
+1247160112,1247160127,CN
+1247160128,1247160239,US
+1247160240,1247160255,IN
+1247160256,1247160287,US
+1247160288,1247160295,ID
+1247160296,1247160511,US
+1247160512,1247160519,NP
+1247160520,1247160575,US
+1247160576,1247160831,NP
+1247160832,1247161143,US
+1247161144,1247161151,TR
+1247161152,1247161967,US
+1247161968,1247161975,IN
+1247161976,1247162199,US
+1247162200,1247162207,ES
+1247162208,1247162631,US
+1247162632,1247162639,SA
+1247162640,1247162647,US
+1247162648,1247162655,EG
+1247162656,1247162735,US
+1247162736,1247162743,UY
+1247162744,1247163439,US
+1247163440,1247163447,RU
+1247163448,1247163807,US
+1247163808,1247163839,DK
+1247163840,1247164111,US
+1247164112,1247164119,SA
+1247164120,1247164223,US
+1247164224,1247164255,CA
+1247164256,1247164271,US
+1247164272,1247164279,FI
+1247164280,1247164327,US
+1247164328,1247164335,AU
+1247164336,1247164447,US
+1247164448,1247164463,BR
+1247164464,1247165087,US
+1247165088,1247165095,IN
+1247165096,1247165527,US
+1247165528,1247165535,NL
+1247165536,1247166567,US
+1247166568,1247166575,CN
+1247166576,1247166647,US
+1247166648,1247166655,EG
+1247166656,1247166671,US
+1247166672,1247166679,IN
+1247166680,1247166983,US
+1247166984,1247166991,CN
+1247166992,1247167015,US
+1247167016,1247167023,GB
+1247167024,1247167119,US
+1247167120,1247167127,CN
+1247167128,1247167535,US
+1247167536,1247167543,MX
+1247167544,1247167591,US
+1247167592,1247167599,CA
+1247167600,1247167615,US
+1247167616,1247167623,GB
+1247167624,1247167639,US
+1247167640,1247167647,SA
+1247167648,1247167791,US
+1247167792,1247167799,GB
+1247167800,1247167839,US
+1247167840,1247167847,GB
+1247167848,1247167903,US
+1247167904,1247167919,CA
+1247167920,1247168047,US
+1247168048,1247168055,AU
+1247168056,1247168087,US
+1247168088,1247168095,CA
+1247168096,1247168447,US
+1247168448,1247168455,RU
+1247168456,1247168591,US
+1247168592,1247168599,SA
+1247168600,1247168663,US
+1247168664,1247168671,CL
+1247168672,1247169055,US
+1247169056,1247169063,GB
+1247169064,1247169151,US
+1247169152,1247169183,SA
+1247169184,1247169287,US
+1247169288,1247169295,CN
+1247169296,1247169407,US
+1247169408,1247169423,BR
+1247169424,1247169503,US
+1247169504,1247169511,IE
+1247169512,1247169519,US
+1247169520,1247169527,SA
+1247169528,1247169535,US
+1247169536,1247169543,GB
+1247169544,1247169607,US
+1247169608,1247169615,UA
+1247169616,1247169711,US
+1247169712,1247169719,PH
+1247169720,1247169751,US
+1247169752,1247169759,ES
+1247169760,1247169799,US
+1247169800,1247169807,PE
+1247169808,1247169895,US
+1247169896,1247169903,CA
+1247169904,1247170135,US
+1247170136,1247170143,IN
+1247170144,1247170207,US
+1247170208,1247170223,AU
+1247170224,1247170447,US
+1247170448,1247170455,MX
+1247170456,1247170743,US
+1247170744,1247170751,GB
+1247170752,1247170815,US
+1247170816,1247170823,CA
+1247170824,1247171047,US
+1247171048,1247171055,GB
+1247171056,1247171119,US
+1247171120,1247171127,RU
+1247171128,1247171255,US
+1247171256,1247171263,SA
+1247171264,1247171487,US
+1247171488,1247171495,SA
+1247171496,1247171639,US
+1247171640,1247171647,SA
+1247171648,1247171935,US
+1247171936,1247171943,PA
+1247171944,1247172031,US
+1247172032,1247172063,IN
+1247172064,1247172479,US
+1247172480,1247172511,CN
+1247172512,1247172751,US
+1247172752,1247172759,SA
+1247172760,1247172999,US
+1247173000,1247173007,CL
+1247173008,1247173207,US
+1247173208,1247173215,IN
+1247173216,1247173231,CA
+1247173232,1247173319,US
+1247173320,1247173327,IE
+1247173328,1247173391,US
+1247173392,1247173399,AU
+1247173400,1247173575,US
+1247173576,1247173583,ES
+1247173584,1247173631,US
+1247173632,1247173639,AU
+1247173640,1247173767,US
+1247173768,1247173775,RO
+1247173776,1247173967,US
+1247173968,1247173983,CN
+1247173984,1247174063,US
+1247174064,1247174071,PH
+1247174072,1247174239,US
+1247174240,1247174255,IN
+1247174256,1247174271,CA
+1247174272,1247174311,US
+1247174312,1247174319,IN
+1247174320,1247174639,US
+1247174640,1247174647,CA
+1247174648,1247174711,US
+1247174712,1247174719,SA
+1247174720,1247174831,US
+1247174832,1247174839,IN
+1247174840,1247174847,US
+1247174848,1247174855,HK
+1247174856,1247175391,US
+1247175392,1247175407,CA
+1247175408,1247175535,US
+1247175536,1247175543,MX
+1247175544,1247176031,US
+1247176032,1247176047,NG
+1247176048,1247176471,US
+1247176472,1247176479,SA
+1247176480,1247176559,US
+1247176560,1247176567,IN
+1247176568,1247176671,US
+1247176672,1247176687,CN
+1247176688,1247177127,US
+1247177128,1247177143,SA
+1247177144,1247177255,US
+1247177256,1247177263,TW
+1247177264,1247177287,US
+1247177288,1247177295,MY
+1247177296,1247177335,US
+1247177336,1247177343,BR
+1247177344,1247177495,US
+1247177496,1247177503,SA
+1247177504,1247178535,US
+1247178536,1247178543,MX
+1247178544,1247178591,US
+1247178592,1247178607,CN
+1247178608,1247178623,US
+1247178624,1247178631,IE
+1247178632,1247178671,US
+1247178672,1247178679,IN
+1247178680,1247178687,SA
+1247178688,1247178703,US
+1247178704,1247178711,IE
+1247178712,1247178799,US
+1247178800,1247178807,AR
+1247178808,1247178815,US
+1247178816,1247178823,SA
+1247178824,1247178847,US
+1247178848,1247178863,AR
+1247178864,1247179263,US
+1247179264,1247179295,SA
+1247179296,1247179519,US
+1247179520,1247179551,GB
+1247179552,1247179887,US
+1247179888,1247179903,CN
+1247179904,1247179935,AU
+1247179936,1247180135,US
+1247180136,1247180143,AR
+1247180144,1247180151,IN
+1247180152,1247180239,US
+1247180240,1247180255,CN
+1247180256,1247180271,PH
+1247180272,1247180391,US
+1247180392,1247180399,GB
+1247180400,1247180407,NO
+1247180408,1247180623,US
+1247180624,1247180639,CN
+1247180640,1247181103,US
+1247181104,1247181111,GB
+1247181112,1247181311,US
+1247181312,1247181319,GB
+1247181320,1247182015,US
+1247182016,1247182023,TH
+1247182024,1247182031,US
+1247182032,1247182039,KW
+1247182040,1247182047,US
+1247182048,1247182055,SA
+1247182056,1247182199,US
+1247182200,1247182207,GB
+1247182208,1247182343,US
+1247182344,1247182351,IE
+1247182352,1247182439,US
+1247182440,1247182447,PT
+1247182448,1247182487,US
+1247182488,1247182495,SA
+1247182496,1247182655,US
+1247182656,1247182687,GB
+1247182688,1247182911,US
+1247182912,1247183039,IN
+1247183040,1247183167,US
+1247183168,1247183199,CA
+1247183200,1247183215,US
+1247183216,1247183223,AR
+1247183224,1247183231,ES
+1247183232,1247183247,US
+1247183248,1247183255,GB
+1247183256,1247183263,US
+1247183264,1247183271,GB
+1247183272,1247183455,US
+1247183456,1247183463,SA
+1247183464,1247183599,US
+1247183600,1247183607,GB
+1247183608,1247183615,US
+1247183616,1247183623,AU
+1247183624,1247183711,US
+1247183712,1247183719,SA
+1247183720,1247183727,GB
+1247183728,1247184063,US
+1247184064,1247184071,IN
+1247184072,1247184079,CN
+1247184080,1247184239,US
+1247184240,1247184247,SA
+1247184248,1247184559,US
+1247184560,1247184567,IE
+1247184568,1247184679,US
+1247184680,1247184687,IN
+1247184688,1247184695,US
+1247184696,1247184703,NG
+1247184704,1247184727,US
+1247184728,1247184735,SA
+1247184736,1247184807,US
+1247184808,1247184815,CO
+1247184816,1247185063,US
+1247185064,1247185071,GB
+1247185072,1247186087,US
+1247186088,1247186095,AU
+1247186096,1247186335,US
+1247186336,1247186351,EG
+1247186352,1247186383,US
+1247186384,1247186391,GB
+1247186392,1247186399,KW
+1247186400,1247186519,US
+1247186520,1247186527,CA
+1247186528,1247186703,US
+1247186704,1247186711,EG
+1247186712,1247186863,US
+1247186864,1247186871,SA
+1247186872,1247187199,US
+1247187200,1247187207,LB
+1247187208,1247187359,US
+1247187360,1247187367,AU
+1247187368,1247187583,US
+1247187584,1247187599,IN
+1247187600,1247187607,US
+1247187608,1247187615,DE
+1247187616,1247187679,US
+1247187680,1247187687,GB
+1247187688,1247187783,US
+1247187784,1247187791,GB
+1247187792,1247187839,US
+1247187840,1247187871,GB
+1247187872,1247187895,US
+1247187896,1247187903,KW
+1247187904,1247188111,US
+1247188112,1247188119,GB
+1247188120,1247188151,US
+1247188152,1247188159,SG
+1247188160,1247188399,US
+1247188400,1247188407,GB
+1247188408,1247188783,US
+1247188784,1247188791,CN
+1247188792,1247189087,US
+1247189088,1247189095,AU
+1247189096,1247189103,US
+1247189104,1247189111,IN
+1247189112,1247189367,US
+1247189368,1247189375,CA
+1247189376,1247189567,US
+1247189568,1247189575,IN
+1247189576,1247189831,US
+1247189832,1247189839,GB
+1247189840,1247189967,US
+1247189968,1247189975,IN
+1247189976,1247190023,US
+1247190024,1247190031,ID
+1247190032,1247190039,IN
+1247190040,1247190303,US
+1247190304,1247190311,BE
+1247190312,1247190567,US
+1247190568,1247190575,SA
+1247190576,1247190767,US
+1247190768,1247190775,SG
+1247190776,1247190943,US
+1247190944,1247190951,BR
+1247190952,1247191071,US
+1247191072,1247191079,ID
+1247191080,1247191127,US
+1247191128,1247191135,IE
+1247191136,1247191199,US
+1247191200,1247191207,IE
+1247191208,1247191231,US
+1247191232,1247191239,JO
+1247191240,1247191383,US
+1247191384,1247191391,GB
+1247191392,1247191399,US
+1247191400,1247191407,GB
+1247191408,1247191415,US
+1247191416,1247191423,GB
+1247191424,1247191535,US
+1247191536,1247191543,TR
+1247191544,1247191631,US
+1247191632,1247191639,RO
+1247191640,1247191815,US
+1247191816,1247191823,SA
+1247191824,1247191847,US
+1247191848,1247191855,SA
+1247191856,1247192079,US
+1247192080,1247192095,AU
+1247192096,1247192159,US
+1247192160,1247192167,CA
+1247192168,1247192183,SA
+1247192184,1247192215,US
+1247192216,1247192223,SA
+1247192224,1247192239,US
+1247192240,1247192247,SA
+1247192248,1247192327,US
+1247192328,1247192335,JO
+1247192336,1247193151,US
+1247193152,1247193159,PH
+1247193160,1247193935,US
+1247193936,1247193943,NP
+1247193944,1247193991,US
+1247193992,1247193999,SA
+1247194000,1247194447,US
+1247194448,1247194455,CO
+1247194456,1247194767,US
+1247194768,1247194775,SA
+1247194776,1247194895,US
+1247194896,1247194903,GB
+1247194904,1247194911,US
+1247194912,1247194927,ID
+1247194928,1247194959,US
+1247194960,1247194975,UY
+1247194976,1247195063,US
+1247195064,1247195071,SA
+1247195072,1247195135,US
+1247195136,1247195143,CN
+1247195144,1247195207,US
+1247195208,1247195215,NP
+1247195216,1247195247,US
+1247195248,1247195255,GB
+1247195256,1247195335,US
+1247195336,1247195343,JM
+1247195344,1247195407,US
+1247195408,1247195415,GB
+1247195416,1247195639,US
+1247195640,1247195647,IS
+1247195648,1247196063,US
+1247196064,1247196071,UA
+1247196072,1247196479,US
+1247196480,1247196495,KW
+1247196496,1247196559,US
+1247196560,1247196567,AR
+1247196568,1247197311,US
+1247197312,1247197375,AU
+1247197376,1247197535,US
+1247197536,1247197567,CN
+1247197568,1247197983,US
+1247197984,1247197991,CA
+1247197992,1247198015,US
+1247198016,1247198031,AU
+1247198032,1247198191,US
+1247198192,1247198199,GB
+1247198200,1247198223,US
+1247198224,1247198239,PS
+1247198240,1247198255,US
+1247198256,1247198263,GB
+1247198264,1247198335,US
+1247198336,1247198367,SG
+1247198368,1247198543,US
+1247198544,1247198551,CA
+1247198552,1247198919,US
+1247198920,1247198927,AR
+1247198928,1247199071,US
+1247199072,1247199087,AU
+1247199088,1247199103,US
+1247199104,1247199111,GB
+1247199112,1247199151,US
+1247199152,1247199159,SA
+1247199160,1247199559,US
+1247199560,1247199567,PK
+1247199568,1247200159,US
+1247200160,1247200175,ID
+1247200176,1247200319,US
+1247200320,1247200327,GB
+1247200328,1247200631,US
+1247200632,1247200639,EG
+1247200640,1247201127,US
+1247201128,1247201135,IN
+1247201136,1247201143,US
+1247201144,1247201151,MX
+1247201152,1247201311,US
+1247201312,1247201319,IN
+1247201320,1247201631,US
+1247201632,1247201639,CN
+1247201640,1247201703,US
+1247201704,1247201711,MX
+1247201712,1247201967,US
+1247201968,1247201975,TR
+1247201976,1247202071,US
+1247202072,1247202079,SA
+1247202080,1247202327,US
+1247202328,1247202335,SG
+1247202336,1247202343,US
+1247202344,1247202351,SG
+1247202352,1247202495,US
+1247202496,1247202511,GB
+1247202512,1247202767,US
+1247202768,1247202775,SA
+1247202776,1247202831,US
+1247202832,1247202839,PH
+1247202840,1247203591,US
+1247203592,1247203599,GB
+1247203600,1247203655,US
+1247203656,1247203663,AU
+1247203664,1247203999,US
+1247204000,1247204015,SA
+1247204016,1247204087,US
+1247204088,1247204095,AU
+1247204096,1247204103,MX
+1247204104,1247204223,US
+1247204224,1247204287,AR
+1247204288,1247204367,US
+1247204368,1247204375,JM
+1247204376,1247204399,US
+1247204400,1247204407,CN
+1247204408,1247204415,IN
+1247204416,1247204895,US
+1247204896,1247204911,PA
+1247204912,1247205807,US
+1247205808,1247205815,IN
+1247205816,1247206311,US
+1247206312,1247206319,BR
+1247206320,1247206559,US
+1247206560,1247206591,CV
+1247206592,1247206679,US
+1247206680,1247206687,GB
+1247206688,1247206815,US
+1247206816,1247206823,TR
+1247206824,1247206839,US
+1247206840,1247206847,NZ
+1247206848,1247206975,US
+1247206976,1247207007,CN
+1247207008,1247207023,US
+1247207024,1247207031,SA
+1247207032,1247207095,US
+1247207096,1247207103,CA
+1247207104,1247207119,US
+1247207120,1247207127,NZ
+1247207128,1247207207,US
+1247207208,1247207215,DK
+1247207216,1247207295,US
+1247207296,1247207327,SA
+1247207328,1247207487,US
+1247207488,1247207519,GB
+1247207520,1247208207,US
+1247208208,1247208215,HK
+1247208216,1247208399,US
+1247208400,1247208407,SA
+1247208408,1247208503,US
+1247208504,1247208511,SA
+1247208512,1247208591,US
+1247208592,1247208599,ZA
+1247208600,1247208799,US
+1247208800,1247208807,AU
+1247208808,1247209111,US
+1247209112,1247209119,AR
+1247209120,1247209215,US
+1247209216,1247209223,CA
+1247209224,1247209255,US
+1247209256,1247209263,BR
+1247209264,1247209271,AU
+1247209272,1247209439,US
+1247209440,1247209471,SA
+1247209472,1247209631,US
+1247209632,1247209639,MX
+1247209640,1247209687,US
+1247209688,1247209695,AU
+1247209696,1247209999,US
+1247210000,1247210007,CY
+1247210008,1247210335,US
+1247210336,1247210351,CH
+1247210352,1247210399,US
+1247210400,1247210415,CY
+1247210416,1247210575,US
+1247210576,1247210583,SA
+1247210584,1247210879,US
+1247210880,1247210895,GB
+1247210896,1247210951,US
+1247210952,1247210959,CN
+1247210960,1247211727,US
+1247211728,1247211735,SA
+1247211736,1247211775,US
+1247211776,1247211783,EG
+1247211784,1247212319,US
+1247212320,1247212351,CO
+1247212352,1247212407,US
+1247212408,1247212415,MY
+1247212416,1247212527,US
+1247212528,1247212535,FI
+1247212536,1247212647,US
+1247212648,1247212655,IN
+1247212656,1247212695,US
+1247212696,1247212703,JO
+1247212704,1247213311,US
+1247213312,1247213319,CN
+1247213320,1247213343,US
+1247213344,1247213351,MY
+1247213352,1247213359,QA
+1247213360,1247213375,US
+1247213376,1247213391,GB
+1247213392,1247213599,US
+1247213600,1247213615,PH
+1247213616,1247213711,US
+1247213712,1247213719,MX
+1247213720,1247213855,US
+1247213856,1247213871,IE
+1247213872,1247214079,US
+1247214080,1247214087,ES
+1247214088,1247214199,US
+1247214200,1247214207,NO
+1247214208,1247214351,US
+1247214352,1247214359,GB
+1247214360,1247214535,US
+1247214536,1247214543,CY
+1247214544,1247214551,US
+1247214552,1247214559,CN
+1247214560,1247214847,US
+1247214848,1247214855,BR
+1247214856,1247214911,US
+1247214912,1247214927,IN
+1247214928,1247214943,PH
+1247214944,1247215015,US
+1247215016,1247215023,IE
+1247215024,1247215295,US
+1247215296,1247215303,GB
+1247215304,1247481855,US
1247481856,1247481863,CN
-1247481864,1247481871,CO
+1247481864,1247481871,US
1247481872,1247481879,TR
1247481880,1247481887,US
1247481888,1247481903,CN
@@ -30642,25 +38315,17 @@
1247483096,1247483111,US
1247483112,1247483119,CN
1247483120,1247483647,US
-1247483648,1247483951,CN
-1247483952,1247483967,US
-1247483968,1247484031,CN
-1247484032,1247484047,US
-1247484048,1247484287,CN
-1247484288,1247484319,US
-1247484320,1247484543,CN
-1247484544,1247484551,US
-1247484552,1247484559,CN
-1247484560,1247484567,US
-1247484568,1247484671,CN
-1247484672,1247484927,US
-1247484928,1247485191,CN
+1247483648,1247483903,CN
+1247483904,1247485183,US
+1247485184,1247485191,CN
1247485192,1247485231,US
1247485232,1247485263,CN
1247485264,1247485439,US
1247485440,1247485471,CN
1247485472,1247485479,US
-1247485480,1247485543,CN
+1247485480,1247485503,CN
+1247485504,1247485511,US
+1247485512,1247485543,CN
1247485544,1247485615,US
1247485616,1247485623,CN
1247485624,1247485631,US
@@ -30671,16 +38336,16 @@
1248864256,1248866303,CA
1248866304,1248885759,US
1248885760,1248886783,CA
-1248886784,1248887871,US
-1248887872,1248887903,GB
-1248887904,1248887935,US
+1248886784,1248887935,US
1248887936,1248887943,CA
1248887944,1248888055,US
1248888056,1248888063,BR
-1248888064,1248888631,US
+1248888064,1248888439,US
+1248888440,1248888447,BO
+1248888448,1248888631,US
1248888632,1248888639,CA
-1248888640,1248888671,US
-1248888672,1248888687,GB
+1248888640,1248888679,US
+1248888680,1248888687,BO
1248888688,1248888703,US
1248888704,1248888711,BR
1248888712,1248897263,US
@@ -30693,9 +38358,7 @@
1248903696,1248903711,ZA
1248903712,1248903775,US
1248903776,1248903791,FR
-1248903792,1248913407,US
-1248913408,1248915455,MF
-1248915456,1248919551,US
+1248903792,1248919551,US
1248919552,1248920575,CA
1248920576,1248921599,US
1248921600,1248923647,CA
@@ -30713,14 +38376,11 @@
1249010688,1249011711,CA
1249011712,1249019903,US
1249019904,1249020927,CA
-1249020928,1249026423,US
-1249026424,1249026431,CA
-1249026432,1249026455,US
+1249020928,1249026455,US
1249026456,1249026463,ES
1249026464,1249026703,US
1249026704,1249026711,ZA
-1249026712,1249026719,CA
-1249026720,1249026767,US
+1249026712,1249026767,US
1249026768,1249026775,CA
1249026776,1249026783,MX
1249026784,1249027127,US
@@ -30728,11 +38388,11 @@
1249027136,1249027143,AU
1249027144,1249027175,US
1249027176,1249027183,IN
-1249027184,1249027271,US
-1249027272,1249027279,GB
-1249027280,1249027391,US
-1249027392,1249027407,PH
-1249027408,1249027503,US
+1249027184,1249027351,US
+1249027352,1249027359,CA
+1249027360,1249027391,US
+1249027392,1249027399,PH
+1249027400,1249027503,US
1249027504,1249027519,CA
1249027520,1249027551,US
1249027552,1249027559,CA
@@ -30756,13 +38416,21 @@
1249038336,1249040383,CA
1249040384,1249046527,US
1249046528,1249047551,BM
-1249047552,1249050623,US
-1249050624,1249052671,A1
-1249052672,1249082367,US
+1249047552,1249050879,US
+1249050880,1249051135,A1
+1249051136,1249051391,US
+1249051392,1249051647,A1
+1249051648,1249052159,US
+1249052160,1249052671,A1
+1249052672,1249059327,US
+1249059328,1249059839,CA
+1249059840,1249082367,US
1249082368,1249083391,CA
1249083392,1249091583,US
1249091584,1249092607,A1
-1249092608,1249099775,US
+1249092608,1249094015,US
+1249094016,1249094143,RO
+1249094144,1249099775,US
1249099776,1249101823,CA
1249101824,1249102847,PR
1249102848,1249103103,US
@@ -30780,9 +38448,7 @@
1249104576,1249104607,ES
1249104608,1249105119,US
1249105120,1249105127,AR
-1249105128,1249105135,US
-1249105136,1249105143,CH
-1249105144,1249105279,US
+1249105128,1249105279,US
1249105280,1249105295,CA
1249105296,1249105367,US
1249105368,1249105375,ES
@@ -30794,19 +38460,14 @@
1249107968,1249130495,US
1249130496,1249131519,JM
1249131520,1249139711,US
-1249139712,1249140479,GP
-1249140480,1249140735,MF
+1249139712,1249140735,GP
1249140736,1249163263,US
1249163264,1249167359,CA
1249167360,1249171455,US
1249171456,1249173503,CA
-1249173504,1249179831,US
-1249179832,1249179839,CA
-1249179840,1249179967,US
+1249173504,1249179967,US
1249179968,1249179983,SE
-1249179984,1249180031,US
-1249180032,1249180095,TW
-1249180096,1249191935,US
+1249179984,1249191935,US
1249191936,1249193983,CA
1249193984,1249195007,US
1249195008,1249196031,CA
@@ -30816,9 +38477,7 @@
1249210368,1249212415,KY
1249212416,1249217535,US
1249217536,1249218559,CA
-1249218560,1249221887,US
-1249221888,1249222655,RO
-1249222656,1249227007,US
+1249218560,1249227007,US
1249227008,1249227071,CY
1249227072,1249227135,VG
1249227136,1249227167,US
@@ -30849,29 +38508,13 @@
1249247232,1249253583,US
1249253584,1249253591,VA
1249253592,1249256447,US
-1249256448,1249256500,CA
-1249256501,1249256542,GB
-1249256543,1249256713,CA
-1249256714,1249256773,US
-1249256774,1249256835,CA
-1249256836,1249256836,US
-1249256837,1249256839,CA
-1249256840,1249256868,US
+1249256448,1249256835,CA
+1249256836,1249256868,US
1249256869,1249256988,CA
1249256989,1249256998,US
1249256999,1249256999,CA
1249257000,1249257009,LB
-1249257010,1249257017,CA
-1249257018,1249257042,US
-1249257043,1249257052,CA
-1249257053,1249257062,US
-1249257063,1249257121,CA
-1249257122,1249257131,LB
-1249257132,1249257348,CA
-1249257349,1249257412,US
-1249257413,1249257437,CA
-1249257438,1249257470,US
-1249257471,1249257471,CA
+1249257010,1249257471,CA
1249257472,1249260543,US
1249260544,1249261567,CA
1249261568,1249272831,US
@@ -30880,9 +38523,7 @@
1249310720,1249311743,CA
1249311744,1249312767,US
1249312768,1249313791,CA
-1249313792,1249324799,US
-1249324800,1249325055,IN
-1249325056,1249335295,US
+1249313792,1249335295,US
1249335296,1249337343,CA
1249337344,1249359871,US
1249359872,1249361919,CA
@@ -30930,25 +38571,25 @@
1249550368,1249550375,HK
1249550376,1249562623,US
1249562624,1249564671,CA
-1249564672,1249568319,US
+1249564672,1249567558,US
+1249567559,1249567562,RU
+1249567563,1249567564,US
+1249567565,1249567569,RU
+1249567570,1249568319,US
1249568320,1249568327,NL
1249568328,1249571839,US
1249571840,1249572863,CA
-1249572864,1249577087,US
-1249577088,1249577232,CA
-1249577233,1249577343,US
-1249577344,1249577403,CA
+1249572864,1249576959,US
+1249576960,1249577403,CA
1249577404,1249577468,US
-1249577469,1249577480,CA
-1249577481,1249577545,US
-1249577546,1249577730,CA
-1249577731,1249577794,US
-1249577795,1249577983,CA
+1249577469,1249577983,CA
1249577984,1249592319,US
1249592320,1249593343,CA
1249593344,1249598463,US
1249598464,1249599487,CA
-1249599488,1249690677,US
+1249599488,1249637887,US
+1249637888,1249638143,CA
+1249638144,1249690677,US
1249690678,1249690686,GB
1249690687,1249690783,US
1249690784,1249690815,AU
@@ -30965,12 +38606,10 @@
1249804288,1249838847,US
1249838848,1249838911,IN
1249838912,1249838975,US
-1249838976,1249839103,IN
-1249839104,1249839423,US
+1249838976,1249839039,IN
+1249839040,1249839423,US
1249839424,1249839487,VE
-1249839488,1249839551,US
-1249839552,1249839615,IN
-1249839616,1249843231,US
+1249839488,1249843231,US
1249843232,1249843247,IN
1249843248,1249843423,US
1249843424,1249843439,IN
@@ -30987,8 +38626,7 @@
1249847840,1249847871,IN
1249847872,1249847903,US
1249847904,1249847935,NO
-1249847936,1249847967,GB
-1249847968,1249848927,US
+1249847936,1249848927,US
1249848928,1249848959,AU
1249848960,1249850367,US
1249850368,1249850383,IN
@@ -31021,7 +38659,9 @@
1254621184,1254629375,CA
1254629376,1254688511,US
1254688512,1254688543,CA
-1254688544,1254704383,US
+1254688544,1254690495,US
+1254690496,1254690503,CA
+1254690504,1254704383,US
1254704384,1254704639,PH
1254704640,1254704903,US
1254704904,1254704911,PH
@@ -31033,9 +38673,7 @@
1254924688,1254924703,RO
1254924704,1254948927,US
1254948928,1254948935,SG
-1254948936,1254948959,US
-1254948960,1254948975,CA
-1254948976,1254949247,US
+1254948936,1254949247,US
1254949248,1254949279,IN
1254949280,1254950199,US
1254950200,1254950207,IL
@@ -31058,26 +38696,19 @@
1254951432,1254951439,CA
1254951440,1254951471,US
1254951472,1254951479,MX
-1254951480,1254951495,US
-1254951496,1254951503,PR
-1254951504,1254951591,US
+1254951480,1254951591,US
1254951592,1254951599,IL
1254951600,1254951607,US
1254951608,1254951615,IN
1254951616,1254951631,US
1254951632,1254951639,JP
-1254951640,1254951647,CA
-1254951648,1254951655,US
+1254951640,1254951655,US
1254951656,1254951663,CA
1254951664,1254951871,US
1254951872,1254951887,TH
-1254951888,1254952015,US
-1254952016,1254952023,CA
-1254952024,1254952047,US
+1254951888,1254952047,US
1254952048,1254952055,MX
-1254952056,1254952239,US
-1254952240,1254952247,AU
-1254952248,1254952255,US
+1254952056,1254952255,US
1254952256,1254952263,CA
1254952264,1254952279,US
1254952280,1254952287,CA
@@ -31099,15 +38730,11 @@
1254953280,1254953295,BD
1254953296,1254953327,US
1254953328,1254953343,NL
-1254953344,1254953359,US
-1254953360,1254953367,CA
-1254953368,1254953615,US
+1254953344,1254953615,US
1254953616,1254953623,GB
1254953624,1254953639,US
1254953640,1254953647,TW
-1254953648,1254953687,US
-1254953688,1254953703,CA
-1254953704,1254953743,US
+1254953648,1254953743,US
1254953744,1254953751,IN
1254953752,1254953759,US
1254953760,1254953767,IN
@@ -31122,9 +38749,7 @@
1254954256,1254954263,CA
1254954264,1254954287,US
1254954288,1254954295,CA
-1254954296,1254954303,US
-1254954304,1254954311,MX
-1254954312,1254954319,US
+1254954296,1254954319,US
1254954320,1254954327,CA
1254954328,1254954343,US
1254954344,1254954351,TH
@@ -31150,8 +38775,8 @@
1254957064,1254957071,MX
1254957072,1254957239,US
1254957240,1254957247,GB
-1254957248,1254957263,MT
-1254957264,1254957287,US
+1254957248,1254957255,MT
+1254957256,1254957287,US
1254957288,1254957295,IN
1254957296,1254957311,US
1254957312,1254957327,CA
@@ -31159,17 +38784,13 @@
1254957376,1254957391,CA
1254957392,1254957407,US
1254957408,1254957423,IN
-1254957424,1254957743,US
-1254957744,1254957751,GB
-1254957752,1254957983,US
+1254957424,1254957983,US
1254957984,1254957991,MX
1254957992,1254958303,US
1254958304,1254958319,GB
1254958320,1254958351,US
1254958352,1254958359,BO
-1254958360,1254958367,US
-1254958368,1254958383,CA
-1254958384,1254958423,US
+1254958360,1254958423,US
1254958424,1254958431,NO
1254958432,1254958535,US
1254958536,1254958543,CA
@@ -31206,15 +38827,14 @@
1254960448,1254960455,AU
1254960456,1254960463,US
1254960464,1254960471,SG
-1254960472,1254960487,AU
+1254960472,1254960479,AU
+1254960480,1254960487,US
1254960488,1254960495,GB
1254960496,1254960559,US
1254960560,1254960567,MY
1254960568,1254960583,US
1254960584,1254960591,MY
-1254960592,1254960655,US
-1254960656,1254960663,CA
-1254960664,1254960879,US
+1254960592,1254960879,US
1254960880,1254960887,CA
1254960888,1254960903,US
1254960904,1254960911,NZ
@@ -31222,9 +38842,7 @@
1254960936,1254960943,IN
1254960944,1254960967,US
1254960968,1254960975,IN
-1254960976,1254961279,US
-1254961280,1254961295,GB
-1254961296,1254961567,US
+1254960976,1254961567,US
1254961568,1254961599,BD
1254961600,1254961743,US
1254961744,1254961751,ZA
@@ -31253,15 +38871,13 @@
1254962976,1254962983,CA
1254962984,1254963047,US
1254963048,1254963055,MX
-1254963056,1254963575,US
-1254963576,1254963591,AU
+1254963056,1254963583,US
+1254963584,1254963591,AU
1254963592,1254963663,US
1254963664,1254963671,GB
1254963672,1254964079,US
1254964080,1254964087,DK
-1254964088,1254964231,US
-1254964232,1254964239,PR
-1254964240,1254964255,US
+1254964088,1254964255,US
1254964256,1254964263,BR
1254964264,1254964335,US
1254964336,1254964343,NZ
@@ -31276,28 +38892,19 @@
1254964928,1254964943,CA
1254964944,1254965095,US
1254965096,1254965103,IN
-1254965104,1254965207,US
-1254965208,1254965215,AU
-1254965216,1254965239,US
+1254965104,1254965239,US
1254965240,1254965247,GB
-1254965248,1254965391,US
-1254965392,1254965399,TC
-1254965400,1254965431,US
+1254965248,1254965431,US
1254965432,1254965439,GB
-1254965440,1254965511,US
-1254965512,1254965519,AU
-1254965520,1254965735,US
+1254965440,1254965735,US
1254965736,1254965743,CA
-1254965744,1254965751,AU
-1254965752,1254965887,US
+1254965744,1254965887,US
1254965888,1254965895,MX
1254965896,1254966031,US
1254966032,1254966039,CA
1254966040,1254966135,US
1254966136,1254966143,GB
-1254966144,1254966159,US
-1254966160,1254966167,CA
-1254966168,1254966239,US
+1254966144,1254966239,US
1254966240,1254966247,AU
1254966248,1254966383,US
1254966384,1254966391,ZA
@@ -31309,9 +38916,7 @@
1254966608,1254966615,JO
1254966616,1254966655,US
1254966656,1254966663,GB
-1254966664,1254966767,US
-1254966768,1254966775,ZA
-1254966776,1254966863,US
+1254966664,1254966863,US
1254966864,1254966879,IL
1254966880,1254966927,US
1254966928,1254966943,FR
@@ -31319,11 +38924,7 @@
1254966976,1254966991,IL
1254966992,1254967079,US
1254967080,1254967087,PH
-1254967088,1254967127,US
-1254967128,1254967143,BM
-1254967144,1254967263,US
-1254967264,1254967271,AU
-1254967272,1254967279,US
+1254967088,1254967279,US
1254967280,1254967287,FR
1254967288,1254967519,US
1254967520,1254967535,CA
@@ -31339,15 +38940,11 @@
1254968040,1254968047,CA
1254968048,1254968103,US
1254968104,1254968111,UY
-1254968112,1254968183,US
-1254968184,1254968191,CA
-1254968192,1254968295,US
+1254968112,1254968295,US
1254968296,1254968303,IT
1254968304,1254968391,US
1254968392,1254968399,SG
-1254968400,1254968407,US
-1254968408,1254968415,CA
-1254968416,1254968487,US
+1254968400,1254968487,US
1254968488,1254968495,CA
1254968496,1254968503,US
1254968504,1254968511,GB
@@ -31388,9 +38985,7 @@
1254969560,1254969567,GB
1254969568,1254969575,US
1254969576,1254969583,AE
-1254969584,1254969663,US
-1254969664,1254969671,AU
-1254969672,1254970047,US
+1254969584,1254970047,US
1254970048,1254970063,CA
1254970064,1254970095,US
1254970096,1254970111,AE
@@ -31398,10 +38993,7 @@
1254970168,1254970175,GB
1254970176,1254970183,US
1254970184,1254970191,GB
-1254970192,1254970199,US
-1254970200,1254970207,CA
-1254970208,1254970215,IL
-1254970216,1254970287,US
+1254970192,1254970287,US
1254970288,1254970295,IN
1254970296,1254970335,US
1254970336,1254970343,CH
@@ -31437,9 +39029,7 @@
1254972432,1254972439,AU
1254972440,1254972447,US
1254972448,1254972455,GG
-1254972456,1254972671,US
-1254972672,1254972679,GB
-1254972680,1254972727,US
+1254972456,1254972727,US
1254972728,1254972735,AU
1254972736,1254972879,US
1254972880,1254972895,MX
@@ -31451,9 +39041,7 @@
1254973048,1254973055,AU
1254973056,1254973471,US
1254973472,1254973479,IN
-1254973480,1254973511,US
-1254973512,1254973519,IE
-1254973520,1254973575,US
+1254973480,1254973575,US
1254973576,1254973583,MX
1254973584,1254973663,US
1254973664,1254973671,PH
@@ -31477,9 +39065,7 @@
1254974512,1254974519,IL
1254974520,1254974647,US
1254974648,1254974655,CA
-1254974656,1254974767,US
-1254974768,1254974775,GB
-1254974776,1254974887,US
+1254974656,1254974887,US
1254974888,1254974895,AU
1254974896,1254974951,US
1254974952,1254974959,NZ
@@ -31491,8 +39077,7 @@
1254975472,1254975487,GB
1254975488,1254975615,US
1254975616,1254975623,IN
-1254975624,1254975631,IL
-1254975632,1254975887,US
+1254975624,1254975887,US
1254975888,1254975895,IN
1254975896,1254975919,US
1254975920,1254975927,IN
@@ -31529,9 +39114,7 @@
1254977456,1254977471,IN
1254977472,1254977487,US
1254977488,1254977503,TH
-1254977504,1254977623,US
-1254977624,1254977631,CA
-1254977632,1254977647,US
+1254977504,1254977647,US
1254977648,1254977655,AE
1254977656,1254977735,US
1254977736,1254977743,NZ
@@ -31568,9 +39151,7 @@
1255042752,1255042783,CA
1255042784,1255047167,US
1255047168,1255055359,CA
-1255055360,1255056063,US
-1255056064,1255056095,NL
-1255056096,1255057887,US
+1255055360,1255057887,US
1255057888,1255057919,NL
1255057920,1255058671,US
1255058672,1255058687,GB
@@ -31584,9 +39165,7 @@
1255060608,1255060623,AN
1255060624,1255060655,US
1255060656,1255060671,AN
-1255060672,1255060863,US
-1255060864,1255060991,CA
-1255060992,1255061631,US
+1255060672,1255061631,US
1255061632,1255061647,CA
1255061648,1255061695,US
1255061696,1255061727,CR
@@ -31594,13 +39173,9 @@
1255061984,1255062015,CA
1255062016,1255062463,US
1255062464,1255062527,PA
-1255062528,1255062847,US
-1255062848,1255062863,CA
-1255062864,1255063551,US
+1255062528,1255063551,US
1255063552,1255071743,PR
-1255071744,1255210495,US
-1255210496,1255211007,DE
-1255211008,1255264511,US
+1255071744,1255264511,US
1255264512,1255264767,SG
1255264768,1255265279,US
1255265280,1255266303,SG
@@ -31612,7 +39187,13 @@
1255276544,1255342079,CA
1255342080,1255367167,US
1255367168,1255367423,DE
-1255367424,1255489535,US
+1255367424,1255372287,US
+1255372288,1255372543,PA
+1255372544,1255372799,US
+1255372800,1255373055,DE
+1255373056,1255373567,US
+1255373568,1255373599,PH
+1255373600,1255489535,US
1255489536,1255505919,PR
1255505920,1255514111,US
1255514112,1255522303,CA
@@ -31622,7 +39203,9 @@
1255669760,1255735295,CA
1255735296,1255746799,US
1255746800,1255746815,BB
-1255746816,1255750239,US
+1255746816,1255749247,US
+1255749248,1255749311,CH
+1255749312,1255750239,US
1255750240,1255750271,AU
1255750272,1255756799,US
1255756800,1255756815,CA
@@ -31638,11 +39221,15 @@
1255788512,1255788543,BE
1255788544,1255792127,US
1255792128,1255792383,IL
-1255792384,1255972863,US
+1255792384,1255792767,US
+1255792768,1255792895,IL
+1255792896,1255972863,US
1255972864,1255981055,CA
1255981056,1256001535,US
1256001536,1256005631,CA
-1256005632,1256057975,US
+1256005632,1256054271,US
+1256054272,1256054303,CZ
+1256054304,1256057975,US
1256057976,1256057983,BZ
1256057984,1256057999,US
1256058000,1256058007,CA
@@ -31650,59 +39237,43 @@
1256058720,1256058727,CA
1256058728,1256079359,US
1256079360,1256087551,KY
-1256087552,1256098559,US
-1256098560,1256098815,CA
-1256098816,1263263999,US
+1256087552,1263263999,US
1263264000,1263264127,CA
-1263264128,1263264305,US
-1263264306,1263264321,PK
-1263264322,1263264511,US
+1263264128,1263264511,US
1263264512,1263264767,CA
-1263264768,1263266623,US
-1263266624,1263266655,CA
-1263266656,1263267327,US
-1263267328,1263267583,CA
-1263267584,1263267647,US
-1263267648,1263267679,CA
-1263267680,1263267839,US
-1263267840,1263268191,CA
-1263268192,1263268275,US
+1263264768,1263268275,US
1263268276,1263268340,CA
1263268341,1263268343,US
1263268344,1263268351,CA
-1263268352,1263268769,US
-1263268770,1263268863,CA
-1263268864,1263270143,US
+1263268352,1263270143,US
1263270144,1263270159,CA
1263270160,1263271423,US
1263271424,1263271679,CA
1263271680,1264717823,US
-1264717824,1264718335,CA
-1264718336,1264718591,US
-1264718592,1264718599,GB
-1264718600,1264718719,US
+1264717824,1264718079,CA
+1264718080,1264718719,US
1264718720,1264718847,CA
1264718848,1264719103,US
1264719104,1264719359,CA
-1264719360,1264736255,US
-1264736256,1264737279,DO
-1264737280,1264738175,US
+1264719360,1264733759,US
+1264733760,1264733823,IL
+1264733824,1264738175,US
1264738176,1264738207,IL
1264738208,1264762879,US
-1264762880,1264766975,CA
-1264766976,1264978623,US
-1264978624,1264978639,CA
-1264978640,1264980735,US
+1264762880,1264763391,CA
+1264763392,1264763647,IE
+1264763648,1264764927,CA
+1264764928,1264764959,US
+1264764960,1264766975,CA
+1264766976,1264980735,US
1264980736,1264980743,CA
1264980744,1264982847,US
1264982848,1264982855,CA
1264982856,1264982895,US
1264982896,1264982903,AF
-1264982904,1264983031,US
-1264983032,1264983039,AU
-1264983040,1264984703,US
-1264984704,1264984711,CA
-1264984712,1264984799,US
+1264982904,1264984575,US
+1264984576,1264984583,VE
+1264984584,1264984799,US
1264984800,1264984807,AF
1264984808,1266107759,US
1266107760,1266107775,UM
@@ -31712,11 +39283,587 @@
1266489664,1266489695,CA
1266489696,1266498175,US
1266498176,1266498303,MA
-1266498304,1266514815,US
-1266514816,1266514879,CA
-1266514880,1266516817,US
+1266498304,1266516817,US
1266516818,1266516830,IE
-1266516831,1268252671,US
+1266516831,1266549135,US
+1266549136,1266549143,IN
+1266549144,1266549199,US
+1266549200,1266549207,SA
+1266549208,1266549407,US
+1266549408,1266549415,TR
+1266549416,1266549567,US
+1266549568,1266549575,CN
+1266549576,1266549679,US
+1266549680,1266549695,GB
+1266549696,1266549783,US
+1266549784,1266549791,CN
+1266549792,1266549863,US
+1266549864,1266549871,PA
+1266549872,1266549903,US
+1266549904,1266549911,GB
+1266549912,1266550527,US
+1266550528,1266550535,KW
+1266550536,1266550551,US
+1266550552,1266550559,AR
+1266550560,1266550911,US
+1266550912,1266550919,SA
+1266550920,1266550991,US
+1266550992,1266550999,SA
+1266551000,1266551183,US
+1266551184,1266551191,CH
+1266551192,1266551439,US
+1266551440,1266551447,EG
+1266551448,1266551519,US
+1266551520,1266551527,PH
+1266551528,1266551599,US
+1266551600,1266551607,CN
+1266551608,1266551807,US
+1266551808,1266551815,PK
+1266551816,1266551935,US
+1266551936,1266551943,NL
+1266551944,1266552151,US
+1266552152,1266552159,SA
+1266552160,1266552327,US
+1266552328,1266552335,SA
+1266552336,1266552967,US
+1266552968,1266552975,CN
+1266552976,1266553047,US
+1266553048,1266553063,CN
+1266553064,1266553135,US
+1266553136,1266553143,CN
+1266553144,1266553199,US
+1266553200,1266553207,OM
+1266553208,1266553375,US
+1266553376,1266553383,AU
+1266553384,1266553495,US
+1266553496,1266553503,CN
+1266553504,1266553695,US
+1266553696,1266553703,AU
+1266553704,1266554071,US
+1266554072,1266554079,CN
+1266554080,1266554087,UY
+1266554088,1266554207,US
+1266554208,1266554215,SA
+1266554216,1266554479,US
+1266554480,1266554487,PL
+1266554488,1266554519,US
+1266554520,1266554527,BR
+1266554528,1266554551,US
+1266554552,1266554559,GB
+1266554560,1266555431,US
+1266555432,1266555447,CN
+1266555448,1266555463,US
+1266555464,1266555471,CN
+1266555472,1266555519,US
+1266555520,1266555535,GB
+1266555536,1266555567,US
+1266555568,1266555575,KW
+1266555576,1266555751,US
+1266555752,1266555759,CN
+1266555760,1266555839,US
+1266555840,1266555847,IN
+1266555848,1266556351,US
+1266556352,1266556359,CN
+1266556360,1266556415,US
+1266556416,1266556423,IN
+1266556424,1266556735,US
+1266556736,1266556767,AU
+1266556768,1266556799,US
+1266556800,1266556831,AU
+1266556832,1266556847,ID
+1266556848,1266556863,US
+1266556864,1266556871,CN
+1266556872,1266556959,US
+1266556960,1266556975,AU
+1266556976,1266556983,CN
+1266556984,1266556991,AU
+1266556992,1266557031,US
+1266557032,1266557039,CN
+1266557040,1266557079,US
+1266557080,1266557087,PA
+1266557088,1266557095,US
+1266557096,1266557103,CN
+1266557104,1266557143,US
+1266557144,1266557151,SA
+1266557152,1266557207,US
+1266557208,1266557215,CN
+1266557216,1266557247,US
+1266557248,1266557279,GB
+1266557280,1266557327,US
+1266557328,1266557335,CN
+1266557336,1266557343,US
+1266557344,1266557359,CN
+1266557360,1266557471,US
+1266557472,1266557503,CN
+1266557504,1266557511,US
+1266557512,1266557519,CO
+1266557520,1266557527,EG
+1266557528,1266558055,US
+1266558056,1266558063,CN
+1266558064,1266558071,US
+1266558072,1266558079,TR
+1266558080,1266558591,US
+1266558592,1266558623,SG
+1266558624,1266558639,US
+1266558640,1266558647,CH
+1266558648,1266559055,US
+1266559056,1266559063,SA
+1266559064,1266559095,US
+1266559096,1266559103,SA
+1266559104,1266559167,US
+1266559168,1266559175,SA
+1266559176,1266559279,US
+1266559280,1266559287,CH
+1266559288,1266559367,US
+1266559368,1266559375,CH
+1266559376,1266559415,US
+1266559416,1266559423,CA
+1266559424,1266559487,US
+1266559488,1266559495,CN
+1266559496,1266559551,US
+1266559552,1266559559,CH
+1266559560,1266559839,US
+1266559840,1266559855,NL
+1266559856,1266559911,US
+1266559912,1266559919,PL
+1266559920,1266560599,US
+1266560600,1266560607,CH
+1266560608,1266560663,US
+1266560664,1266560671,CH
+1266560672,1266560687,US
+1266560688,1266560695,CH
+1266560696,1266560727,US
+1266560728,1266560735,CN
+1266560736,1266560855,US
+1266560856,1266560871,TR
+1266560872,1266560919,US
+1266560920,1266560927,TR
+1266560928,1266560951,US
+1266560952,1266560959,TR
+1266560960,1266560983,US
+1266560984,1266560991,TR
+1266560992,1266561047,US
+1266561048,1266561055,TR
+1266561056,1266561863,US
+1266561864,1266561871,GB
+1266561872,1266562415,US
+1266562416,1266562431,CN
+1266562432,1266563279,US
+1266563280,1266563295,CN
+1266563296,1266563343,US
+1266563344,1266563351,GB
+1266563352,1266563359,US
+1266563360,1266563375,CN
+1266563376,1266563391,US
+1266563392,1266563423,NL
+1266563424,1266565031,US
+1266565032,1266565039,SA
+1266565040,1266566815,US
+1266566816,1266566823,AU
+1266566824,1266566847,US
+1266566848,1266566863,SA
+1266566864,1266566871,US
+1266566872,1266566879,SA
+1266566880,1266567383,US
+1266567384,1266567391,GB
+1266567392,1266567855,US
+1266567856,1266567871,GB
+1266567872,1266568831,US
+1266568832,1266568895,AU
+1266568896,1266569567,US
+1266569568,1266569575,NO
+1266569576,1266569583,US
+1266569584,1266569591,CN
+1266569592,1266569623,US
+1266569624,1266569631,SA
+1266569632,1266569791,US
+1266569792,1266569831,AU
+1266569832,1266569839,US
+1266569840,1266569919,AU
+1266569920,1266570303,US
+1266570304,1266570319,PH
+1266570320,1266570527,US
+1266570528,1266570535,GB
+1266570536,1266570623,US
+1266570624,1266570687,AU
+1266570688,1266570911,US
+1266570912,1266570927,GB
+1266570928,1266571135,US
+1266571136,1266571143,SA
+1266571144,1266571183,US
+1266571184,1266571191,CN
+1266571192,1266571551,US
+1266571552,1266571583,GB
+1266571584,1266571735,US
+1266571736,1266571743,IN
+1266571744,1266571991,US
+1266571992,1266571999,GB
+1266572000,1266572007,EG
+1266572008,1266572031,US
+1266572032,1266572039,NZ
+1266572040,1266572063,US
+1266572064,1266572071,SA
+1266572072,1266572295,US
+1266572296,1266572303,NL
+1266572304,1266572367,US
+1266572368,1266572375,MY
+1266572376,1266572751,US
+1266572752,1266572759,MY
+1266572760,1266573183,US
+1266573184,1266573215,CN
+1266573216,1266574335,US
+1266574336,1266574343,CA
+1266574344,1266574463,US
+1266574464,1266574495,SA
+1266574496,1266574631,US
+1266574632,1266574639,TR
+1266574640,1266574663,US
+1266574664,1266574671,BR
+1266574672,1266575575,US
+1266575576,1266575583,SA
+1266575584,1266575599,US
+1266575600,1266575607,SA
+1266575608,1266575935,US
+1266575936,1266575967,CA
+1266575968,1266576895,US
+1266576896,1266576903,KW
+1266576904,1266577159,US
+1266577160,1266577167,CN
+1266577168,1266577215,US
+1266577216,1266577279,AU
+1266577280,1266577375,US
+1266577376,1266577407,CN
+1266577408,1266578887,US
+1266578888,1266578895,NZ
+1266578896,1266579839,US
+1266579840,1266579871,PH
+1266579872,1266580143,US
+1266580144,1266580151,GB
+1266580152,1266581535,US
+1266581536,1266581543,IE
+1266581544,1266581551,US
+1266581552,1266581559,IE
+1266581560,1266582023,US
+1266582024,1266582031,GB
+1266582032,1266582063,US
+1266582064,1266582071,CA
+1266582072,1266582463,US
+1266582464,1266582479,BR
+1266582480,1266582511,US
+1266582512,1266582519,LK
+1266582520,1266582623,US
+1266582624,1266582631,SG
+1266582632,1266582743,US
+1266582744,1266582751,SA
+1266582752,1266582879,US
+1266582880,1266582887,IN
+1266582888,1266582895,SA
+1266582896,1266582943,US
+1266582944,1266582951,CA
+1266582952,1266583679,US
+1266583680,1266583687,ID
+1266583688,1266583767,US
+1266583768,1266583775,CN
+1266583776,1266583887,US
+1266583888,1266583895,ID
+1266583896,1266583919,US
+1266583920,1266583927,GB
+1266583928,1266584151,US
+1266584152,1266584159,AT
+1266584160,1266584383,US
+1266584384,1266584399,SA
+1266584400,1266584783,US
+1266584784,1266584791,SA
+1266584792,1266584999,US
+1266585000,1266585007,KW
+1266585008,1266585015,US
+1266585016,1266585023,SA
+1266585024,1266585087,US
+1266585088,1266585119,SA
+1266585120,1266585183,US
+1266585184,1266585199,GB
+1266585200,1266585399,US
+1266585400,1266585407,IN
+1266585408,1266585463,US
+1266585464,1266585471,CA
+1266585472,1266585743,US
+1266585744,1266585751,GB
+1266585752,1266585759,US
+1266585760,1266585767,GB
+1266585768,1266585991,US
+1266585992,1266585999,IN
+1266586000,1266586007,US
+1266586008,1266586015,AR
+1266586016,1266586207,US
+1266586208,1266586215,CA
+1266586216,1266586327,US
+1266586328,1266586335,GB
+1266586336,1266586351,US
+1266586352,1266586359,GB
+1266586360,1266586455,US
+1266586456,1266586463,IN
+1266586464,1266586719,US
+1266586720,1266586727,CN
+1266586728,1266587135,US
+1266587136,1266587143,KW
+1266587144,1266587223,US
+1266587224,1266587231,IN
+1266587232,1266587359,US
+1266587360,1266587367,CO
+1266587368,1266587375,IN
+1266587376,1266587511,US
+1266587512,1266587519,EG
+1266587520,1266587543,US
+1266587544,1266587551,BR
+1266587552,1266587631,US
+1266587632,1266587639,GB
+1266587640,1266587759,US
+1266587760,1266587775,MX
+1266587776,1266587943,US
+1266587944,1266587951,ZA
+1266587952,1266588239,US
+1266588240,1266588247,CN
+1266588248,1266588959,US
+1266588960,1266588975,GB
+1266588976,1266589215,US
+1266589216,1266589223,SA
+1266589224,1266589279,US
+1266589280,1266589287,EG
+1266589288,1266589295,US
+1266589296,1266589303,IE
+1266589304,1266589359,US
+1266589360,1266589367,SE
+1266589368,1266589503,US
+1266589504,1266589511,NP
+1266589512,1266589527,US
+1266589528,1266589535,CA
+1266589536,1266589543,NP
+1266589544,1266589695,US
+1266589696,1266589703,CA
+1266589704,1266590039,US
+1266590040,1266590047,MX
+1266590048,1266590063,US
+1266590064,1266590071,CN
+1266590072,1266590575,US
+1266590576,1266590583,PA
+1266590584,1266590655,US
+1266590656,1266590687,LT
+1266590688,1266590743,US
+1266590744,1266590751,PA
+1266590752,1266590831,US
+1266590832,1266590839,IE
+1266590840,1266591135,US
+1266591136,1266591143,CA
+1266591144,1266591487,US
+1266591488,1266591495,RO
+1266591496,1266592335,US
+1266592336,1266592343,EG
+1266592344,1266592383,US
+1266592384,1266592415,NL
+1266592416,1266592767,US
+1266592768,1266593023,IN
+1266593024,1266593359,US
+1266593360,1266593367,SA
+1266593368,1266593391,US
+1266593392,1266593399,SA
+1266593400,1266593639,US
+1266593640,1266593647,VE
+1266593648,1266593759,US
+1266593760,1266593767,KW
+1266593768,1266593831,US
+1266593832,1266593839,PA
+1266593840,1266593855,US
+1266593856,1266593871,BR
+1266593872,1266594303,US
+1266594304,1266594311,CA
+1266594312,1266594591,US
+1266594592,1266594623,CA
+1266594624,1266594671,US
+1266594672,1266594679,NG
+1266594680,1266594719,US
+1266594720,1266594727,ID
+1266594728,1266594799,US
+1266594800,1266594807,GB
+1266594808,1266595191,US
+1266595192,1266595199,TR
+1266595200,1266595871,US
+1266595872,1266595879,IN
+1266595880,1266596263,US
+1266596264,1266596271,KW
+1266596272,1266596279,GB
+1266596280,1266596503,US
+1266596504,1266596511,SA
+1266596512,1266596519,CA
+1266596520,1266596527,US
+1266596528,1266596535,CA
+1266596536,1266596551,US
+1266596552,1266596559,CA
+1266596560,1266596815,US
+1266596816,1266596823,CN
+1266596824,1266597215,US
+1266597216,1266597247,TR
+1266597248,1266597255,US
+1266597256,1266597263,CA
+1266597264,1266597271,EG
+1266597272,1266597311,US
+1266597312,1266597343,SA
+1266597344,1266598111,US
+1266598112,1266598119,IN
+1266598120,1266598223,US
+1266598224,1266598231,CA
+1266598232,1266598255,US
+1266598256,1266598263,CA
+1266598264,1266598271,US
+1266598272,1266598287,TR
+1266598288,1266598375,US
+1266598376,1266598383,CA
+1266598384,1266598447,US
+1266598448,1266598455,CA
+1266598456,1266598511,US
+1266598512,1266598519,SA
+1266598520,1266598535,US
+1266598536,1266598543,ES
+1266598544,1266598711,US
+1266598712,1266598719,IE
+1266598720,1266598727,CA
+1266598728,1266598735,US
+1266598736,1266598743,SG
+1266598744,1266599151,US
+1266599152,1266599159,SA
+1266599160,1266599295,US
+1266599296,1266599303,IE
+1266599304,1266599455,US
+1266599456,1266599463,AR
+1266599464,1266599559,US
+1266599560,1266599567,SA
+1266599568,1266599687,US
+1266599688,1266599695,ID
+1266599696,1266599719,US
+1266599720,1266599727,GB
+1266599728,1266599807,US
+1266599808,1266599815,CA
+1266599816,1266600111,US
+1266600112,1266600119,ID
+1266600120,1266600271,US
+1266600272,1266600279,CA
+1266600280,1266600303,US
+1266600304,1266600311,CA
+1266600312,1266600751,US
+1266600752,1266600759,SA
+1266600760,1266600943,US
+1266600944,1266600951,SA
+1266600952,1266601079,US
+1266601080,1266601087,SA
+1266601088,1266601383,US
+1266601384,1266601391,CN
+1266601392,1266601407,US
+1266601408,1266601415,CN
+1266601416,1266602047,US
+1266602048,1266602055,SA
+1266602056,1266602063,US
+1266602064,1266602071,SA
+1266602072,1266602407,US
+1266602408,1266602423,SA
+1266602424,1266602463,US
+1266602464,1266602479,CA
+1266602480,1266602871,US
+1266602872,1266602879,CA
+1266602880,1266603319,US
+1266603320,1266603327,MY
+1266603328,1266603479,US
+1266603480,1266603487,SA
+1266603488,1266603663,US
+1266603664,1266603671,VN
+1266603672,1266603679,US
+1266603680,1266603695,MY
+1266603696,1266603711,AU
+1266603712,1266603767,US
+1266603768,1266603775,NP
+1266603776,1266603791,US
+1266603792,1266603799,NP
+1266603800,1266603847,US
+1266603848,1266603855,SA
+1266603856,1266604351,US
+1266604352,1266604367,CA
+1266604368,1266604751,US
+1266604752,1266604759,CA
+1266604760,1266605207,US
+1266605208,1266605215,ID
+1266605216,1266605383,US
+1266605384,1266605391,NP
+1266605392,1266605447,US
+1266605448,1266605455,TW
+1266605456,1266605703,US
+1266605704,1266605711,GB
+1266605712,1266605759,US
+1266605760,1266605775,TW
+1266605776,1266605791,US
+1266605792,1266605807,TW
+1266605808,1266606487,US
+1266606488,1266606495,KW
+1266606496,1266606527,US
+1266606528,1266606559,AR
+1266606560,1266606839,US
+1266606840,1266606847,IN
+1266606848,1266606855,SA
+1266606856,1266607191,US
+1266607192,1266607199,CN
+1266607200,1266607215,US
+1266607216,1266607223,CA
+1266607224,1266607231,SA
+1266607232,1266607407,US
+1266607408,1266607415,PA
+1266607416,1266607567,US
+1266607568,1266607575,SA
+1266607576,1266607775,US
+1266607776,1266607783,BR
+1266607784,1266607879,US
+1266607880,1266607887,SA
+1266607888,1266608071,US
+1266608072,1266608079,CA
+1266608080,1266608239,US
+1266608240,1266608247,SA
+1266608248,1266608295,US
+1266608296,1266608303,SA
+1266608304,1266608503,US
+1266608504,1266608511,CO
+1266608512,1266608951,US
+1266608952,1266608959,PA
+1266608960,1266609151,US
+1266609152,1266609183,GB
+1266609184,1266609207,US
+1266609208,1266609215,MX
+1266609216,1266609287,US
+1266609288,1266609295,NP
+1266609296,1266609311,US
+1266609312,1266609319,IN
+1266609320,1266609407,US
+1266609408,1266609415,CN
+1266609416,1266609471,US
+1266609472,1266609479,SA
+1266609480,1266609607,US
+1266609608,1266609615,CY
+1266609616,1266609855,US
+1266609856,1266609871,CN
+1266609872,1266610063,US
+1266610064,1266610071,SA
+1266610072,1266610367,US
+1266610368,1266610375,RU
+1266610376,1266610767,US
+1266610768,1266610775,MY
+1266610776,1266611271,US
+1266611272,1266611279,SA
+1266611280,1266611551,US
+1266611552,1266611559,ES
+1266611560,1266612111,US
+1266612112,1266612119,CO
+1266612120,1266612863,US
+1266612864,1266612895,IN
+1266612896,1266613767,US
+1266613768,1266613775,CA
+1266613776,1266614047,US
+1266614048,1266614063,CA
+1266614064,1268252671,US
1268252672,1268776959,CA
1268776960,1275600895,US
1275600896,1275604991,BM
@@ -31736,7 +39883,13 @@
1275607072,1275607087,PL
1275607088,1275607407,US
1275607408,1275607423,PL
-1275607424,1275621375,US
+1275607424,1275608319,US
+1275608320,1275608335,PL
+1275608336,1275608575,US
+1275608576,1275608591,PL
+1275608592,1275608831,US
+1275608832,1275608847,PL
+1275608848,1275621375,US
1275621376,1275625471,CA
1275625472,1275658239,US
1275658240,1275658495,GB
@@ -31860,11 +40013,7 @@
1275881848,1275881871,CA
1275881872,1275881887,US
1275881888,1275881895,CA
-1275881896,1275883127,US
-1275883128,1275883135,CA
-1275883136,1275883551,US
-1275883552,1275883559,CA
-1275883560,1275883991,US
+1275881896,1275883991,US
1275883992,1275883999,CA
1275884000,1275884391,US
1275884392,1275884399,AU
@@ -31976,9 +40125,7 @@
1275899888,1275899903,NO
1275899904,1275899951,US
1275899952,1275899967,NG
-1275899968,1275900007,US
-1275900008,1275900015,ZA
-1275900016,1275900271,US
+1275899968,1275900271,US
1275900272,1275900287,GB
1275900288,1275900455,US
1275900456,1275900479,AU
@@ -32032,9 +40179,7 @@
1275910208,1275910223,PA
1275910224,1275910503,US
1275910504,1275910511,IN
-1275910512,1275910631,US
-1275910632,1275910639,ZA
-1275910640,1275911655,US
+1275910512,1275911655,US
1275911656,1275911663,CA
1275911664,1275911935,US
1275911936,1275911967,CA
@@ -32068,8 +40213,7 @@
1275919936,1275919967,BR
1275919968,1275919999,IE
1275920000,1275920015,GB
-1275920016,1275920031,CH
-1275920032,1275920055,US
+1275920016,1275920055,US
1275920056,1275920063,GB
1275920064,1275920079,US
1275920080,1275920095,CA
@@ -32079,7 +40223,9 @@
1279828568,1279828575,CA
1279828576,1279828615,US
1279828616,1279828623,CA
-1279828624,1279848447,US
+1279828624,1279829711,US
+1279829712,1279829759,FR
+1279829760,1279848447,US
1279848448,1279852543,PR
1279852544,1279921919,US
1279921920,1279922047,IE
@@ -32093,65 +40239,62 @@
1279943680,1279943743,PR
1279943744,1279950847,US
1279950848,1279951103,CA
-1279951104,1279951135,US
-1279951136,1279951151,CA
-1279951152,1279951167,US
+1279951104,1279951167,US
1279951168,1279951199,CA
1279951200,1279951223,US
-1279951224,1279952919,CA
+1279951224,1279952127,CA
+1279952128,1279952159,US
+1279952160,1279952175,CA
+1279952176,1279952191,US
+1279952192,1279952223,CA
+1279952224,1279952231,US
+1279952232,1279952239,CA
+1279952240,1279952383,US
+1279952384,1279952919,CA
1279952920,1279952927,VG
1279952928,1279952943,US
1279952944,1279953023,CA
1279953024,1279953055,VG
1279953056,1279953087,US
-1279953088,1279953671,CA
-1279953672,1279953679,US
-1279953680,1279953759,CA
+1279953088,1279953663,CA
+1279953664,1279953687,US
+1279953688,1279953759,CA
1279953760,1279953791,GB
-1279953792,1279953951,CA
-1279953952,1279953967,US
+1279953792,1279953935,CA
+1279953936,1279953967,US
1279953968,1279954015,CA
1279954016,1279954047,US
1279954048,1279954095,CA
1279954096,1279954119,US
1279954120,1279954303,CA
1279954304,1279954431,US
-1279954432,1279954527,CA
-1279954528,1279954543,US
+1279954432,1279954495,CA
+1279954496,1279954543,US
1279954544,1279954623,CA
-1279954624,1279954655,FI
+1279954624,1279954655,US
1279954656,1279954719,CA
1279954720,1279954727,US
1279954728,1279954783,CA
1279954784,1279954839,US
1279954840,1279954879,CA
-1279954880,1279954911,US
-1279954912,1279954943,CA
-1279954944,1279955095,US
+1279954880,1279954915,US
+1279954916,1279954927,CA
+1279954928,1279955095,US
1279955096,1279955103,BB
1279955104,1279955119,CA
1279955120,1279955151,US
1279955152,1279955159,AU
-1279955160,1279956023,US
-1279956024,1279956031,MX
-1279956032,1279956047,CR
-1279956048,1279956059,US
+1279955160,1279956059,US
1279956060,1279956063,MX
-1279956064,1279956079,US
-1279956080,1279956095,CR
-1279956096,1279956239,US
+1279956064,1279956071,US
+1279956072,1279956079,CA
+1279956080,1279956239,US
1279956240,1279956255,CA
1279956256,1279956311,US
1279956312,1279956351,CA
1279956352,1279956455,US
1279956456,1279956463,PA
-1279956464,1279956998,US
-1279956999,1279957007,IN
-1279957008,1279957119,US
-1279957120,1279957128,IN
-1279957129,1279957135,US
-1279957136,1279957151,IN
-1279957152,1279957172,US
+1279956464,1279957172,US
1279957173,1279957173,IN
1279957174,1279957174,US
1279957175,1279957175,IN
@@ -32159,9 +40302,7 @@
1279957180,1279957180,IN
1279957181,1279957184,US
1279957185,1279957185,IN
-1279957186,1279957231,US
-1279957232,1279957243,IN
-1279957244,1279957252,US
+1279957186,1279957252,US
1279957253,1279957253,IN
1279957254,1279957375,US
1279957376,1279957383,IN
@@ -32169,22 +40310,18 @@
1279957432,1279957439,IN
1279957440,1279957631,US
1279957632,1279957651,IN
-1279957652,1279957655,US
-1279957656,1279957674,IN
-1279957675,1279958020,US
-1279958021,1279958030,IN
-1279958031,1279958305,US
+1279957652,1279958305,US
1279958306,1279958306,IN
-1279958307,1279958399,US
-1279958400,1279958495,IN
-1279958496,1279959551,US
+1279958307,1279959551,US
1279959552,1279959807,CA
1279959808,1279960063,US
1279960064,1279960127,CA
1279960128,1279960143,US
1279960144,1279960159,CA
-1279960160,1279960215,US
-1279960216,1279960343,CA
+1279960160,1279960223,US
+1279960224,1279960319,CA
+1279960320,1279960335,US
+1279960336,1279960343,CA
1279960344,1279960415,US
1279960416,1279960527,CA
1279960528,1279960535,US
@@ -32192,9 +40329,7 @@
1279960560,1279960567,MX
1279960568,1279961087,US
1279961088,1279961343,IN
-1279961344,1279962175,US
-1279962176,1279962207,CA
-1279962208,1279962223,US
+1279961344,1279962223,US
1279962224,1279962239,CA
1279962240,1279962783,US
1279962784,1279962791,CN
@@ -32223,26 +40358,25 @@
1279974208,1279974271,CA
1279974272,1279974391,US
1279974392,1279974399,CA
-1279974400,1279974783,US
-1279974784,1279974799,EG
+1279974400,1279974799,US
1279974800,1279974815,CA
-1279974816,1279975263,US
-1279975264,1279975295,EG
-1279975296,1279975407,US
+1279974816,1279975407,US
1279975408,1279975423,NZ
1279975424,1279975695,CA
-1279975696,1279975959,US
-1279975960,1279975967,CA
+1279975696,1279975967,US
1279975968,1279975975,HK
1279975976,1279975983,US
1279975984,1279976007,CA
-1279976008,1279976015,US
-1279976016,1279976031,CA
+1279976008,1279976031,US
1279976032,1279976063,KN
1279976064,1279976127,US
1279976128,1279976143,CA
1279976144,1279976159,US
-1279976160,1279978111,CA
+1279976160,1279976959,CA
+1279976960,1279977215,US
+1279977216,1279977471,CA
+1279977472,1279977727,US
+1279977728,1279978111,CA
1279978112,1279978143,US
1279978144,1279978271,CA
1279978272,1279978303,US
@@ -32252,36 +40386,24 @@
1279978684,1279978692,IN
1279978693,1279978693,US
1279978694,1279978702,IN
-1279978703,1279978891,US
-1279978892,1279978899,IN
-1279978900,1279978927,US
-1279978928,1279978939,IN
-1279978940,1279979007,US
-1279979008,1279979263,IN
-1279979264,1279979327,US
-1279979328,1279979391,IN
-1279979392,1279979424,US
+1279978703,1279979424,US
1279979425,1279979425,IN
1279979426,1279979559,US
1279979560,1279979575,CA
1279979576,1279979583,US
-1279979584,1279980063,CA
+1279979584,1279979647,CA
+1279979648,1279979775,US
+1279979776,1279980063,CA
1279980064,1279980071,US
1279980072,1279980079,BV
1279980080,1279980127,CA
-1279980128,1279980135,US
-1279980136,1279980159,CA
+1279980128,1279980143,US
+1279980144,1279980159,CA
1279980160,1279980287,US
1279980288,1279981567,CA
1279981568,1279981823,US
1279981824,1279981855,VG
-1279981856,1279982778,US
-1279982779,1279982788,IN
-1279982789,1279983047,US
-1279983048,1279983072,IN
-1279983073,1279983079,US
-1279983080,1279983087,IN
-1279983088,1279999999,US
+1279981856,1279999999,US
1280000000,1280032767,CA
1280032768,1280040959,US
1280040960,1280043527,CA
@@ -32304,9 +40426,7 @@
1280043824,1280043831,US
1280043832,1280043959,CA
1280043960,1280043975,US
-1280043976,1280044415,CA
-1280044416,1280044423,US
-1280044424,1280044447,CA
+1280043976,1280044447,CA
1280044448,1280044455,US
1280044456,1280044463,CA
1280044464,1280044471,US
@@ -32326,9 +40446,7 @@
1280045552,1280045559,US
1280045560,1280045711,CA
1280045712,1280045727,US
-1280045728,1280045751,CA
-1280045752,1280045759,US
-1280045760,1280045783,CA
+1280045728,1280045783,CA
1280045784,1280045791,US
1280045792,1280045879,CA
1280045880,1280045887,US
@@ -32382,28 +40500,19 @@
1280048120,1280048127,US
1280048128,1280048399,CA
1280048400,1280048407,US
-1280048408,1280048423,CA
-1280048424,1280048431,US
-1280048432,1280048551,CA
-1280048552,1280048559,US
-1280048560,1280048591,CA
+1280048408,1280048591,CA
1280048592,1280048599,US
1280048600,1280048607,CA
1280048608,1280048623,US
1280048624,1280048631,NL
1280048632,1280048639,US
-1280048640,1280048663,CA
-1280048664,1280048679,US
-1280048680,1280048703,CA
-1280048704,1280048711,US
-1280048712,1280048735,CA
-1280048736,1280048815,US
-1280048816,1280048823,CA
-1280048824,1280048903,US
+1280048640,1280048735,CA
+1280048736,1280048743,US
+1280048744,1280048895,CA
+1280048896,1280048903,US
1280048904,1280048911,CA
1280048912,1280048919,FR
-1280048920,1280048983,US
-1280048984,1280048991,CA
+1280048920,1280048991,CA
1280048992,1280049007,US
1280049008,1280049063,CA
1280049064,1280049071,US
@@ -32423,7 +40532,7 @@
1280097280,1280097791,LC
1280097792,1280098303,AG
1280098304,1280102399,PR
-1280102400,1280122879,US
+1280102400,1280131071,US
1280131072,1280139263,CA
1280139264,1287612122,US
1287612123,1287612136,SE
@@ -32475,7 +40584,9 @@
1295056896,1295122431,GR
1295122432,1295253503,RU
1295253504,1295319039,UA
-1295319040,1295384575,SE
+1295319040,1295349119,SE
+1295349120,1295349247,NO
+1295349248,1295384575,SE
1295384576,1295450111,PT
1295450112,1295515647,PL
1295515648,1295777791,CH
@@ -32502,8 +40613,8 @@
1296239104,1296239231,FR
1296239232,1296239359,NL
1296239360,1296239615,DE
-1296239616,1296240127,FR
-1296240128,1296241151,BE
+1296239616,1296240383,FR
+1296240384,1296241151,BE
1296241152,1296241407,IT
1296241408,1296242175,NL
1296242176,1296242303,DE
@@ -32511,7 +40622,7 @@
1296242432,1296242687,BE
1296242688,1296243199,FR
1296243200,1296243455,GB
-1296243456,1296243711,FR
+1296243456,1296243711,DE
1296243712,1296244223,US
1296244224,1296244479,NL
1296244480,1296244735,GB
@@ -32550,7 +40661,9 @@
1296250272,1296250303,DE
1296250304,1296250335,FR
1296250336,1296250367,ES
-1296250368,1296251103,FR
+1296250368,1296251039,FR
+1296251040,1296251071,US
+1296251072,1296251103,NL
1296251104,1296251135,ES
1296251136,1296251167,GB
1296251168,1296251199,HR
@@ -32566,11 +40679,10 @@
1296251968,1296252015,NL
1296252016,1296252039,US
1296252040,1296252055,DE
-1296252056,1296252063,FR
+1296252056,1296252063,US
1296252064,1296252079,IT
1296252080,1296252087,IE
-1296252088,1296252095,FR
-1296252096,1296252111,US
+1296252088,1296252111,FR
1296252112,1296252127,GB
1296252128,1296252143,ES
1296252144,1296252159,US
@@ -32586,14 +40698,13 @@
1296252320,1296252335,GB
1296252336,1296252367,FR
1296252368,1296252383,DE
-1296252384,1296252399,FR
+1296252384,1296252399,RO
1296252400,1296252415,IE
1296252416,1296252671,FR
1296252672,1296252679,GB
1296252680,1296252687,FR
1296252688,1296252695,NL
-1296252696,1296252703,FR
-1296252704,1296252711,DE
+1296252696,1296252711,DE
1296252712,1296252719,FR
1296252720,1296252727,BE
1296252728,1296252735,IL
@@ -32606,7 +40717,7 @@
1296252840,1296252847,DE
1296252848,1296252855,GB
1296252856,1296252871,IE
-1296252872,1296252887,FR
+1296252872,1296252887,DE
1296252888,1296252895,IE
1296252896,1296252911,BE
1296252912,1296252919,GB
@@ -32656,8 +40767,8 @@
1296265088,1296265151,CA
1296265152,1296265215,FR
1296265216,1296265727,US
-1296265728,1296265983,FR
-1296265984,1296266751,US
+1296265728,1296266239,FR
+1296266240,1296266751,US
1296266752,1296267007,FR
1296267008,1296267263,US
1296267264,1296267519,FR
@@ -32673,8 +40784,7 @@
1296367616,1296400383,GR
1296400384,1296433151,BH
1296433152,1296465919,BG
-1296465920,1296466239,NG
-1296466240,1296466303,NO
+1296465920,1296466303,NO
1296466304,1296466335,BF
1296466336,1296466399,NO
1296466400,1296466415,AO
@@ -32691,13 +40801,11 @@
1296466656,1296466671,BJ
1296466672,1296466687,NO
1296466688,1296466719,BJ
-1296466720,1296466751,NO
-1296466752,1296466759,ML
+1296466720,1296466759,NO
1296466760,1296466767,SL
1296466768,1296466775,BF
-1296466776,1296466783,GN
-1296466784,1296468479,NO
-1296468480,1296469247,NG
+1296466776,1296468991,NO
+1296468992,1296469247,NG
1296469248,1296472383,NO
1296472384,1296472415,BI
1296472416,1296473087,NO
@@ -32829,9 +40937,7 @@
1296701440,1296703487,RU
1296703488,1296705535,BY
1296705536,1296707583,GE
-1296707584,1296708039,NL
-1296708040,1296708047,AE
-1296708048,1296709631,NL
+1296707584,1296709631,NL
1296709632,1296711679,CY
1296711680,1296713727,KZ
1296713728,1296715775,RU
@@ -32912,7 +41018,9 @@
1297083392,1297088511,PL
1297088512,1297121279,AT
1297121280,1297154047,SE
-1297154048,1297219583,RO
+1297154048,1297215487,RO
+1297215488,1297217535,NL
+1297217536,1297219583,RO
1297219584,1297285119,RU
1297285120,1297350655,GR
1297350656,1297416191,FR
@@ -32934,7 +41042,7 @@
1297573888,1297575935,FR
1297575936,1297577983,RU
1297577984,1297580031,PL
-1297580032,1297582079,GB
+1297580032,1297582079,CH
1297582080,1297584127,PL
1297584128,1297588223,UA
1297588224,1297590271,NL
@@ -32966,14 +41074,9 @@
1297860608,1297862655,PT
1297862656,1297864703,FI
1297864704,1297866751,SE
-1297866752,1297867583,RU
-1297867584,1297867647,SC
-1297867648,1297867687,RU
+1297866752,1297867687,RU
1297867688,1297867695,CY
-1297867696,1297867743,RU
-1297867744,1297867775,AQ
-1297867776,1297867855,RU
-1297867856,1297867871,MK
+1297867696,1297867871,RU
1297867872,1297867879,ES
1297867880,1297868799,RU
1297868800,1297870847,DE
@@ -32993,7 +41096,12 @@
1297932288,1297940479,GE
1297940480,1297948671,LV
1297948672,1297956863,UA
-1297956864,1297965055,NL
+1297956864,1297957759,EU
+1297957760,1297959567,NL
+1297959568,1297959583,EU
+1297959584,1297959935,NL
+1297959936,1297960959,EU
+1297960960,1297965055,NL
1297965056,1297973247,RU
1297973248,1297981439,GB
1297981440,1297989631,RO
@@ -33013,7 +41121,9 @@
1298017024,1298017791,BY
1298017792,1298018303,RU
1298018304,1298018559,TM
-1298018560,1298019327,RU
+1298018560,1298018815,RU
+1298018816,1298019071,GB
+1298019072,1298019327,RU
1298019328,1298019839,LT
1298019840,1298020351,RU
1298020352,1298022399,BY
@@ -33049,6 +41159,7 @@
1298110464,1298112511,ES
1298112512,1298114559,IE
1298114560,1298116607,IT
+1298116608,1298118655,GB
1298118656,1298120703,AM
1298120704,1298122751,CZ
1298122752,1298124799,RU
@@ -33056,19 +41167,36 @@
1298126848,1298127615,SA
1298127616,1298128127,IR
1298128128,1298128895,SA
-1298128896,1298129465,NL
+1298128896,1298128902,NL
+1298128903,1298129146,TR
+1298129147,1298129156,NL
+1298129157,1298129158,VE
+1298129159,1298129164,ES
+1298129165,1298129165,VE
+1298129166,1298129166,ES
+1298129167,1298129173,NL
+1298129174,1298129174,MT
+1298129175,1298129193,NL
+1298129194,1298129197,ES
+1298129198,1298129241,NL
+1298129242,1298129242,BE
+1298129243,1298129248,NL
+1298129249,1298129252,ES
+1298129253,1298129379,NL
+1298129380,1298129382,MT
+1298129383,1298129463,NL
+1298129464,1298129464,GB
+1298129465,1298129465,NL
1298129466,1298129466,IR
-1298129467,1298129738,NL
-1298129739,1298129739,IT
-1298129740,1298129744,NL
-1298129745,1298129745,US
-1298129746,1298129751,NL
-1298129752,1298129755,US
-1298129756,1298129788,NL
-1298129789,1298129792,IT
-1298129793,1298130180,NL
-1298130181,1298130426,TR
-1298130427,1298130943,NL
+1298129467,1298129488,NL
+1298129489,1298129495,GB
+1298129496,1298129744,NL
+1298129745,1298129747,IT
+1298129748,1298130199,NL
+1298130200,1298130200,US
+1298130201,1298130202,NL
+1298130203,1298130217,US
+1298130218,1298130943,NL
1298130944,1298132991,BG
1298132992,1298135039,FI
1298135040,1298137087,NL
@@ -33086,7 +41214,9 @@
1298841600,1298857983,RU
1298857984,1298874367,SE
1298874368,1298907135,GB
-1298907136,1298923519,IE
+1298907136,1298915199,IE
+1298915200,1298915215,CA
+1298915216,1298923519,IE
1298923520,1298939903,IT
1298939904,1298956287,RU
1298956288,1298972671,GB
@@ -33113,11 +41243,17 @@
1299016960,1299017215,NL
1299017216,1299017727,RU
1299017728,1299021823,BE
-1299021824,1299023879,CH
+1299021824,1299022527,CH
+1299022528,1299022543,DE
+1299022544,1299023879,CH
1299023880,1299023887,DE
1299023888,1299024559,CH
1299024560,1299024575,DE
-1299024576,1299026111,CH
+1299024576,1299024863,CH
+1299024864,1299024871,DE
+1299024872,1299025255,CH
+1299025256,1299025263,US
+1299025264,1299026111,CH
1299026112,1299026127,ES
1299026128,1299026251,CH
1299026252,1299026263,PT
@@ -33155,7 +41291,9 @@
1306238976,1306263551,SE
1306263552,1306271743,KE
1306271744,1306279935,RU
-1306279936,1306286079,IT
+1306279936,1306285775,IT
+1306285776,1306285783,US
+1306285784,1306286079,IT
1306286080,1306287103,CH
1306287104,1306287615,IT
1306287616,1306287903,CH
@@ -33167,7 +41305,8 @@
1306312704,1306320895,UZ
1306320896,1306323199,DE
1306323200,1306323263,NL
-1306323264,1306329087,DE
+1306323264,1306323295,GB
+1306323296,1306329087,DE
1306329088,1306337279,BA
1306337280,1306345471,HU
1306345472,1306353663,LT
@@ -33207,16 +41346,17 @@
1307156480,1307172863,RU
1307172864,1307181055,DK
1307181056,1307189247,RU
-1307189248,1307197439,DE
1307197440,1307205631,HU
1307205632,1307213823,FI
-1307213824,1307222015,SI
+1307213824,1307219239,SI
+1307219240,1307219247,MX
+1307219248,1307222015,SI
1307222016,1307230207,DK
1307230208,1307238399,RU
1307238400,1307246591,SK
1307246592,1307254783,KG
1307254784,1307255551,NL
-1307255552,1307255807,GR
+1307255552,1307255807,GB
1307255808,1307262975,NL
1307262976,1307271167,AT
1307271168,1307279359,MD
@@ -33232,7 +41372,9 @@
1307361280,1307369471,CZ
1307369472,1307377663,RU
1307377664,1307385855,PL
-1307385856,1307393919,AT
+1307385856,1307389951,AT
+1307389952,1307392511,EU
+1307392512,1307393919,AT
1307393920,1307393983,CZ
1307393984,1307394047,AT
1307394048,1307402239,IR
@@ -33301,8 +41443,7 @@
1307662368,1307664383,BE
1307664384,1307668479,NO
1307668480,1307672575,ES
-1307672576,1307674623,SE
-1307674624,1307676671,DK
+1307672576,1307676671,DK
1307676672,1307680767,RU
1307680768,1307684863,LV
1307684864,1307688959,GB
@@ -33322,7 +41463,8 @@
1307746304,1307750399,UA
1307750400,1307754495,IT
1307754496,1307755519,US
-1307755520,1307756031,GB
+1307755520,1307755775,A1
+1307755776,1307756031,GB
1307756032,1307756287,US
1307756288,1307756431,GB
1307756432,1307756447,FR
@@ -33340,7 +41482,8 @@
1307766784,1307770879,GB
1307770880,1307774975,RU
1307774976,1307779071,RS
-1307779072,1307787263,DK
+1307779072,1307779583,EU
+1307779584,1307787263,DK
1307787264,1307791359,MT
1307791360,1307795455,KZ
1307795456,1307803647,RU
@@ -33349,7 +41492,11 @@
1307811840,1307815935,NL
1307815936,1307816191,EU
1307816192,1307816447,GB
-1307816448,1307818239,EU
+1307816448,1307817471,EU
+1307817472,1307817511,GB
+1307817512,1307817519,EU
+1307817520,1307817535,GB
+1307817536,1307818239,EU
1307818240,1307818495,GB
1307818496,1307818751,DE
1307818752,1307819007,ES
@@ -33369,7 +41516,9 @@
1307848704,1307852799,CH
1307852800,1307856895,RU
1307856896,1307860991,IT
-1307860992,1307861079,DE
+1307860992,1307861055,DE
+1307861056,1307861063,LU
+1307861064,1307861079,DE
1307861080,1307861083,LU
1307861084,1307861119,DE
1307861120,1307861123,LU
@@ -33394,9 +41543,6 @@
1307873280,1307877375,TJ
1307877376,1307881471,RU
1307881472,1307885567,IT
-1307885568,1307886975,DK
-1307886976,1307887103,SE
-1307887104,1307889663,DK
1307889664,1307893759,RU
1307893760,1307897855,SE
1307897856,1307901663,AT
@@ -33405,10 +41551,8 @@
1307901952,1307906047,JO
1307906048,1307906599,CH
1307906600,1307906607,DK
-1307906608,1307906943,CH
-1307906944,1307907071,IM
-1307907072,1307907199,CH
-1307907200,1307907327,IM
+1307906608,1307907263,CH
+1307907264,1307907327,IM
1307907328,1307910143,CH
1307910144,1307914239,DE
1307914240,1307918335,NL
@@ -33417,7 +41561,9 @@
1307926528,1307930623,KZ
1307930624,1307934719,RU
1307934720,1307938815,FR
-1307938816,1307942911,TR
+1307938816,1307940863,TR
+1307940864,1307941119,US
+1307941120,1307942911,TR
1307942912,1307947007,RU
1307947008,1307951103,CH
1307951104,1307959295,RU
@@ -33431,9 +41577,9 @@
1307983360,1307983423,ZA
1307983424,1307983487,BW
1307983488,1307983551,ZM
-1307983552,1307983583,MZ
-1307983584,1307983615,ZA
-1307983616,1307983871,GB
+1307983552,1307983615,MZ
+1307983616,1307983743,ZA
+1307983744,1307983871,ZM
1307983872,1307987967,LB
1307987968,1307992063,FR
1307992064,1307996159,RU
@@ -33462,7 +41608,8 @@
1308037120,1308041215,UA
1308041216,1308049407,RU
1308049408,1308053503,DK
-1308053504,1308057599,RU
+1308053504,1308055551,DE
+1308055552,1308057599,AL
1308057600,1308061695,GR
1308061696,1308069887,RU
1308069888,1308073983,NO
@@ -33746,18 +41893,14 @@
1311256576,1311258623,FR
1311258624,1311262719,GB
1311262720,1311262975,FR
-1311262976,1311263359,CH
-1311263360,1311263375,FR
-1311263376,1311263407,CH
+1311262976,1311263407,CH
1311263408,1311263423,BE
1311263424,1311263615,CH
1311263616,1311263679,FR
1311263680,1311263871,CH
1311263872,1311263999,FR
-1311264000,1311264111,CH
-1311264112,1311264127,FR
-1311264128,1311264191,CH
-1311264192,1311264767,FR
+1311264000,1311264239,CH
+1311264240,1311264767,FR
1311264768,1311266815,RU
1311266816,1311268863,FR
1311268864,1311270911,BE
@@ -33786,16 +41929,14 @@
1311311824,1311311824,JE
1311311825,1311311871,GB
1311311872,1311315967,CZ
-1311315968,1311316423,PL
-1311316424,1311316439,GB
-1311316440,1311316447,PL
-1311316448,1311316455,HR
-1311316456,1311318015,PL
+1311315968,1311318015,PL
1311318016,1311320063,RU
1311320064,1311322111,FR
1311322112,1311324159,IT
1311324160,1311326207,LB
-1311326208,1311328255,BE
+1311326208,1311328159,BE
+1311328160,1311328191,LU
+1311328192,1311328255,BE
1311328256,1311330303,NL
1311330304,1311332351,DE
1311332352,1311338495,RU
@@ -33811,11 +41952,16 @@
1311356928,1311357183,GB
1311357184,1311357439,FR
1311357440,1311357695,IT
-1311357696,1311358263,FR
+1311357696,1311357951,CH
+1311357952,1311358207,CA
+1311358208,1311358263,FR
1311358264,1311358271,ES
-1311358272,1311358975,FR
+1311358272,1311358719,FR
+1311358720,1311358975,BE
1311358976,1311361023,RU
-1311361024,1311363071,NL
+1311361024,1311361300,NL
+1311361301,1311361301,CH
+1311361302,1311363071,NL
1311363072,1311365119,GB
1311365120,1311367167,DE
1311367168,1311367295,GN
@@ -33866,9 +42012,7 @@
1311707656,1311707663,NL
1311707664,1311755407,DE
1311755408,1311755415,IT
-1311755416,1311756823,DE
-1311756824,1311756831,ES
-1311756832,1311757439,DE
+1311755416,1311757439,DE
1311757440,1311757447,ES
1311757448,1311757463,DE
1311757464,1311757471,ES
@@ -34025,7 +42169,13 @@
1315774432,1315774463,UA
1315774464,1315778559,RU
1315778560,1315780607,AZ
-1315780608,1315782655,DE
+1315780608,1315780863,DE
+1315780864,1315781119,PL
+1315781120,1315781631,DE
+1315781632,1315781887,DK
+1315781888,1315782143,DE
+1315782144,1315782399,PL
+1315782400,1315782655,DE
1315782656,1315786751,AM
1315786752,1315790592,FR
1315790593,1315790593,IT
@@ -34069,7 +42219,8 @@
1315917824,1315921919,RU
1315921920,1315926015,TR
1315926016,1315930111,CZ
-1315930112,1315930623,DE
+1315930112,1315930175,LB
+1315930176,1315930623,DE
1315930624,1315930879,LB
1315930880,1315931135,DE
1315931136,1315931391,LB
@@ -34089,13 +42240,18 @@
1317113104,1317113119,IE
1317113120,1317113855,GB
1317113856,1317114111,US
-1317114112,1317115135,GB
-1317115136,1317115391,IE
-1317115392,1317118207,GB
+1317114112,1317118207,GB
1317118208,1317118463,IN
-1317118464,1317126399,GB
+1317118464,1317122175,GB
+1317122176,1317122303,CY
+1317122304,1317122559,RU
+1317122560,1317124095,GB
+1317124096,1317124351,US
+1317124352,1317126399,GB
1317126400,1317126655,US
-1317126656,1317129279,GB
+1317126656,1317126815,GB
+1317126816,1317126847,US
+1317126848,1317129279,GB
1317129280,1317129343,CA
1317129344,1317129471,GB
1317129472,1317129727,IT
@@ -34103,9 +42259,7 @@
1317133056,1317133183,LV
1317133184,1317135615,GB
1317135616,1317135871,DE
-1317135872,1317136895,GB
-1317136896,1317137151,EE
-1317137152,1317137183,GB
+1317135872,1317137183,GB
1317137184,1317137215,CH
1317137216,1317137663,GB
1317137664,1317137919,SE
@@ -34149,15 +42303,17 @@
1317642992,1317643023,IE
1317643024,1317643039,GB
1317643040,1317645407,IE
-1317645408,1317645823,GB
+1317645408,1317645423,GB
+1317645424,1317645471,IE
+1317645472,1317645823,GB
1317645824,1317646895,IE
1317646896,1317646911,GB
1317646912,1317646991,IE
1317646992,1317646999,GB
1317647000,1317647359,IE
1317647360,1317647615,GB
-1317647616,1317649407,IE
-1317649408,1317649919,GB
+1317647616,1317648383,IE
+1317648384,1317649919,GB
1317649920,1317650023,IE
1317650024,1317650031,GB
1317650032,1317650047,IE
@@ -34166,491 +42322,455 @@
1317650136,1317650143,GB
1317650144,1317650431,IE
1317650432,1317666815,PT
-1317666816,1317666823,A2
+1317666816,1317666823,GB
1317666824,1317666831,CD
-1317666832,1317666839,A2
+1317666832,1317666839,GB
1317666840,1317666855,GH
-1317666856,1317666863,A2
+1317666856,1317666863,GB
1317666864,1317666871,GH
-1317666872,1317666879,A2
+1317666872,1317666879,GB
1317666880,1317666887,LR
1317666888,1317666911,NG
-1317666912,1317666959,A2
+1317666912,1317666959,GB
1317666960,1317666967,NG
-1317666968,1317666999,A2
+1317666968,1317666999,GB
1317667000,1317667007,AO
1317667008,1317667015,GH
-1317667016,1317667039,A2
-1317667040,1317667047,GH
-1317667048,1317667055,A2
+1317667016,1317667055,GB
1317667056,1317667063,LR
-1317667064,1317667103,A2
+1317667064,1317667103,GB
1317667104,1317667111,UG
-1317667112,1317667135,A2
+1317667112,1317667135,GB
1317667136,1317667143,AO
-1317667144,1317667151,A2
+1317667144,1317667151,GB
1317667152,1317667159,NG
1317667160,1317667167,AO
1317667168,1317667175,NG
-1317667176,1317667191,A2
+1317667176,1317667191,GB
1317667192,1317667207,NG
-1317667208,1317667215,A2
-1317667216,1317667231,NG
-1317667232,1317667239,A2
+1317667208,1317667223,GB
+1317667224,1317667231,NG
+1317667232,1317667239,GB
1317667240,1317667247,NG
-1317667248,1317667263,A2
-1317667264,1317667271,GB
-1317667272,1317667287,A2
+1317667248,1317667287,GB
1317667288,1317667295,NG
-1317667296,1317667311,A2
+1317667296,1317667311,GB
1317667312,1317667335,NG
-1317667336,1317667343,A2
+1317667336,1317667343,GB
1317667344,1317667351,NG
1317667352,1317667359,AO
-1317667360,1317667367,A2
-1317667368,1317667375,NG
-1317667376,1317667423,A2
+1317667360,1317667423,GB
1317667424,1317667431,TD
1317667432,1317667439,GH
-1317667440,1317667455,A2
+1317667440,1317667455,GB
1317667456,1317667463,NG
-1317667464,1317667487,A2
+1317667464,1317667487,GB
1317667488,1317667495,GH
-1317667496,1317667503,NG
-1317667504,1317667551,A2
+1317667496,1317667551,GB
1317667552,1317667567,NG
-1317667568,1317667735,A2
+1317667568,1317667735,GB
1317667736,1317667743,NG
-1317667744,1317667751,A2
+1317667744,1317667751,GB
1317667752,1317667759,NG
1317667760,1317667767,FR
1317667768,1317667775,ZA
1317667776,1317667783,US
1317667784,1317667791,AO
1317667792,1317667799,NG
-1317667800,1317667807,A2
+1317667800,1317667807,GB
1317667808,1317667815,NG
1317667816,1317667824,UG
-1317667825,1317668095,A2
-1317668096,1317668103,GH
-1317668104,1317668143,A2
+1317667825,1317668143,GB
1317668144,1317668151,AO
1317668152,1317668167,NG
-1317668168,1317668183,A2
+1317668168,1317668183,GB
1317668184,1317668191,CI
-1317668192,1317668199,A2
+1317668192,1317668199,GB
1317668200,1317668207,BW
1317668208,1317668215,LR
-1317668216,1317668223,A2
-1317668224,1317668239,NG
-1317668240,1317668271,A2
+1317668216,1317668223,GB
+1317668224,1317668231,NG
+1317668232,1317668271,GB
1317668272,1317668279,SL
-1317668280,1317668303,A2
+1317668280,1317668303,GB
1317668304,1317668311,UG
1317668312,1317668319,IQ
-1317668320,1317668351,A2
+1317668320,1317668351,GB
1317668352,1317668359,NG
1317668360,1317668367,SL
-1317668368,1317668391,A2
+1317668368,1317668391,GB
1317668392,1317668399,NG
-1317668400,1317668407,A2
+1317668400,1317668407,GB
1317668408,1317668415,GH
1317668416,1317668447,NG
1317668448,1317668455,SL
-1317668456,1317668463,A2
+1317668456,1317668463,GB
1317668464,1317668471,AO
1317668472,1317668479,NG
-1317668480,1317668487,A2
+1317668480,1317668487,GB
1317668488,1317668495,UG
1317668496,1317668503,GH
1317668504,1317668511,CD
-1317668512,1317668519,IQ
+1317668512,1317668519,GB
1317668520,1317668527,MZ
-1317668528,1317668535,A2
+1317668528,1317668535,GB
1317668536,1317668543,BJ
-1317668544,1317668551,A2
+1317668544,1317668551,GB
1317668552,1317668559,AO
-1317668560,1317668575,NG
-1317668576,1317668583,A2
+1317668560,1317668567,GB
+1317668568,1317668575,NG
+1317668576,1317668583,GB
1317668584,1317668591,LR
1317668592,1317668599,UG
-1317668600,1317668615,A2
+1317668600,1317668615,GB
1317668616,1317668623,UG
1317668624,1317668631,IQ
-1317668632,1317668639,A2
+1317668632,1317668639,GB
1317668640,1317668655,NG
-1317668656,1317668671,A2
+1317668656,1317668671,GB
1317668672,1317668687,NG
-1317668688,1317668695,A2
+1317668688,1317668695,GB
1317668696,1317668703,NG
-1317668704,1317668727,A2
+1317668704,1317668727,GB
1317668728,1317668735,NG
-1317668736,1317668767,A2
+1317668736,1317668767,GB
1317668768,1317668775,LR
-1317668776,1317668783,A2
+1317668776,1317668783,GB
1317668784,1317668791,NG
-1317668792,1317668807,A2
+1317668792,1317668807,GB
1317668808,1317668815,NG
-1317668816,1317668847,A2
+1317668816,1317668847,GB
1317668848,1317668855,NG
-1317668856,1317668863,A2
+1317668856,1317668863,GB
1317668864,1317668871,LR
-1317668872,1317668959,A2
-1317668960,1317668991,UG
-1317668992,1317668999,A2
-1317669000,1317669007,CD
+1317668872,1317669007,GB
1317669008,1317669015,NG
-1317669016,1317669055,A2
+1317669016,1317669055,GB
1317669056,1317669063,NG
-1317669064,1317669095,A2
+1317669064,1317669095,GB
1317669096,1317669103,NG
-1317669104,1317669111,A2
+1317669104,1317669111,GB
1317669112,1317669119,NG
1317669120,1317669375,GE
1317669376,1317669631,CG
-1317669632,1317669903,A2
+1317669632,1317669903,GB
1317669904,1317669911,NG
1317669912,1317669919,GH
-1317669920,1317669943,A2
+1317669920,1317669943,GB
1317669944,1317669959,NG
-1317669960,1317669983,A2
+1317669960,1317669983,GB
1317669984,1317669991,LR
1317669992,1317669999,NG
-1317670000,1317670063,A2
+1317670000,1317670063,GB
1317670064,1317670103,NG
-1317670104,1317670135,A2
+1317670104,1317670135,GB
1317670136,1317670143,NG
1317670144,1317670175,SL
-1317670176,1317670215,A2
-1317670216,1317670223,NG
+1317670176,1317670223,GB
1317670224,1317670231,AO
-1317670232,1317670239,A2
+1317670232,1317670239,GB
1317670240,1317670247,NG
-1317670248,1317670255,A2
+1317670248,1317670255,GB
1317670256,1317670263,NG
-1317670264,1317670447,A2
+1317670264,1317670447,GB
1317670448,1317670455,IQ
-1317670456,1317670463,A2
+1317670456,1317670463,GB
1317670464,1317670471,NG
1317670472,1317670479,CO
-1317670480,1317670511,A2
+1317670480,1317670511,GB
1317670512,1317670519,CI
1317670520,1317670543,NG
-1317670544,1317670551,A2
+1317670544,1317670551,GB
1317670552,1317670559,UG
1317670560,1317670567,NG
-1317670568,1317670575,A2
+1317670568,1317670575,GB
1317670576,1317670583,NG
1317670584,1317670591,GH
-1317670592,1317670607,A2
+1317670592,1317670607,GB
1317670608,1317670615,NG
1317670616,1317670631,UG
1317670632,1317670639,NG
-1317670640,1317670647,A2
+1317670640,1317670647,GB
1317670648,1317670655,NG
1317670656,1317670663,AO
-1317670664,1317670679,A2
+1317670664,1317670679,GB
1317670680,1317670703,NG
-1317670704,1317670711,A2
+1317670704,1317670711,GB
1317670712,1317670719,GH
-1317670720,1317670727,A2
+1317670720,1317670727,GB
1317670728,1317670735,GH
-1317670736,1317670767,A2
+1317670736,1317670767,GB
1317670768,1317670775,GH
-1317670776,1317670783,A2
+1317670776,1317670783,GB
1317670784,1317670791,GH
-1317670792,1317670799,NG
-1317670800,1317670815,A2
+1317670792,1317670815,GB
1317670816,1317670823,NG
-1317670824,1317670847,A2
+1317670824,1317670847,GB
1317670848,1317670855,NG
1317670856,1317670863,CD
-1317670864,1317670879,A2
+1317670864,1317670879,GB
1317670880,1317670887,NG
-1317670888,1317670896,A2
+1317670888,1317670896,GB
1317670897,1317670903,NG
-1317670904,1317671175,A2
+1317670904,1317671175,GB
1317671176,1317671191,NG
-1317671192,1317671239,A2
+1317671192,1317671239,GB
1317671240,1317671247,CI
-1317671248,1317671255,A2
+1317671248,1317671255,GB
1317671256,1317671263,CI
-1317671264,1317671279,A2
+1317671264,1317671279,GB
1317671280,1317671287,NG
-1317671288,1317671295,A2
+1317671288,1317671295,GB
1317671296,1317671303,NG
-1317671304,1317671319,A2
+1317671304,1317671319,GB
1317671320,1317671327,NG
-1317671328,1317671335,A2
+1317671328,1317671335,GB
1317671336,1317671343,BW
-1317671344,1317671359,A2
+1317671344,1317671359,GB
1317671360,1317671367,NG
-1317671368,1317671375,A2
+1317671368,1317671375,GB
1317671376,1317671383,NG
1317671384,1317671391,CI
-1317671392,1317671399,NG
+1317671392,1317671399,GB
1317671400,1317671407,IQ
-1317671408,1317671415,UG
-1317671416,1317671439,A2
+1317671408,1317671439,GB
1317671440,1317671447,ZW
1317671448,1317671487,NG
-1317671488,1317671527,A2
+1317671488,1317671527,GB
1317671528,1317671535,NG
1317671536,1317671543,LR
-1317671544,1317671551,A2
-1317671552,1317671567,NG
-1317671568,1317671583,A2
-1317671584,1317671591,NG
-1317671592,1317671607,A2
-1317671608,1317671615,GH
-1317671616,1317671647,A2
+1317671544,1317671551,IQ
+1317671552,1317671559,GB
+1317671560,1317671567,NG
+1317671568,1317671647,GB
1317671648,1317671671,NG
1317671672,1317671679,AO
1317671680,1317671687,LR
-1317671688,1317671719,A2
+1317671688,1317671719,GB
1317671720,1317671727,NG
-1317671728,1317671759,A2
+1317671728,1317671759,GB
1317671760,1317671767,AO
-1317671768,1317671783,A2
+1317671768,1317671783,GB
1317671784,1317671807,NG
1317671808,1317671823,CI
1317671824,1317671831,NG
-1317671832,1317671847,A2
+1317671832,1317671847,GB
1317671848,1317671855,NG
1317671856,1317671863,UG
-1317671864,1317671887,A2
+1317671864,1317671887,GB
1317671888,1317671895,NG
-1317671896,1317671903,A2
+1317671896,1317671903,GB
1317671904,1317671911,NG
1317671912,1317671919,AO
1317671920,1317671927,NG
-1317671928,1317671935,A2
+1317671928,1317671935,GB
1317671936,1317672447,GA
-1317672448,1317672455,A2
+1317672448,1317672455,GB
1317672456,1317672463,GA
1317672464,1317672471,NG
-1317672472,1317672479,A2
-1317672480,1317672487,ZM
+1317672472,1317672487,GB
1317672488,1317672503,NG
-1317672504,1317672583,A2
+1317672504,1317672583,GB
1317672584,1317672591,CD
-1317672592,1317672615,A2
+1317672592,1317672615,GB
1317672616,1317672623,NG
-1317672624,1317672655,A2
-1317672656,1317672663,CD
-1317672664,1317672671,A2
+1317672624,1317672671,GB
1317672672,1317672679,NG
-1317672680,1317672727,A2
+1317672680,1317672727,GB
1317672728,1317672735,UG
1317672736,1317672743,LR
-1317672744,1317672759,A2
+1317672744,1317672759,GB
1317672760,1317672767,NG
-1317672768,1317672815,A2
+1317672768,1317672815,GB
1317672816,1317672823,BW
-1317672824,1317672839,A2
+1317672824,1317672839,GB
1317672840,1317672847,NG
-1317672848,1317672863,A2
+1317672848,1317672863,GB
1317672864,1317672871,NG
-1317672872,1317672903,A2
+1317672872,1317672903,GB
1317672904,1317672919,CI
1317672920,1317672927,GH
-1317672928,1317672935,A2
+1317672928,1317672935,GB
1317672936,1317672943,NG
-1317672944,1317672959,A2
+1317672944,1317672959,GB
1317672960,1317673231,NG
-1317673232,1317673239,A2
+1317673232,1317673239,GB
1317673240,1317673247,NG
-1317673248,1317673263,A2
-1317673264,1317673271,UG
-1317673272,1317673279,A2
-1317673280,1317673287,NG
-1317673288,1317673335,A2
+1317673248,1317673335,GB
1317673336,1317673343,GH
-1317673344,1317673359,A2
+1317673344,1317673359,GB
1317673360,1317673367,NG
-1317673368,1317673375,A2
+1317673368,1317673375,GB
1317673376,1317673383,AO
1317673384,1317673391,NG
-1317673392,1317673399,A2
+1317673392,1317673399,GB
1317673400,1317673407,NG
-1317673408,1317673423,A2
+1317673408,1317673423,GB
1317673424,1317673431,NG
-1317673432,1317673455,A2
+1317673432,1317673455,GB
1317673456,1317673463,AO
-1317673464,1317673471,A2
+1317673464,1317673471,GB
1317673472,1317673479,NG
-1317673480,1317673495,A2
+1317673480,1317673495,GB
1317673496,1317673527,NG
-1317673528,1317673535,A2
+1317673528,1317673535,GB
1317673536,1317673551,ZW
-1317673552,1317673567,A2
+1317673552,1317673567,GB
1317673568,1317673575,NG
1317673576,1317673583,CD
-1317673584,1317673607,A2
-1317673608,1317673615,NG
-1317673616,1317673623,A2
+1317673584,1317673623,GB
1317673624,1317673631,NG
-1317673632,1317673639,A2
+1317673632,1317673639,GB
1317673640,1317673647,AO
-1317673648,1317673679,A2
+1317673648,1317673679,GB
1317673680,1317673687,IQ
-1317673688,1317673695,A2
+1317673688,1317673695,GB
1317673696,1317673703,NG
-1317673704,1317673711,A2
+1317673704,1317673711,GB
1317673712,1317673719,CO
1317673720,1317673727,NG
-1317673728,1317673735,A2
+1317673728,1317673735,GB
1317673736,1317673743,AO
1317673744,1317673751,IQ
-1317673752,1317673815,A2
+1317673752,1317673815,GB
1317673816,1317673823,LR
-1317673824,1317673863,A2
+1317673824,1317673863,GB
1317673864,1317673871,NG
-1317673872,1317673903,A2
+1317673872,1317673903,GB
1317673904,1317673911,NG
1317673912,1317673919,AO
1317673920,1317673927,CI
1317673928,1317673943,NG
1317673944,1317673951,AO
-1317673952,1317673967,NG
-1317673968,1317673975,A2
+1317673952,1317673959,NG
+1317673960,1317673975,GB
1317673976,1317674239,NG
-1317674240,1317674271,A2
+1317674240,1317674271,GB
1317674272,1317674279,NG
-1317674280,1317674287,A2
+1317674280,1317674287,GB
1317674288,1317674295,GH
1317674296,1317674303,AO
-1317674304,1317674335,NG
-1317674336,1317674351,A2
+1317674304,1317674319,NG
+1317674320,1317674351,GB
1317674352,1317674359,NG
-1317674360,1317674383,A2
-1317674384,1317674399,NG
-1317674400,1317674415,A2
+1317674360,1317674415,GB
1317674416,1317674423,AO
1317674424,1317674431,UG
-1317674432,1317674439,A2
+1317674432,1317674439,GB
1317674440,1317674440,AO
-1317674441,1317674447,A2
+1317674441,1317674447,GB
1317674448,1317674455,AO
-1317674456,1317674471,NG
-1317674472,1317674487,A2
+1317674456,1317674463,GB
+1317674464,1317674471,NG
+1317674472,1317674487,GB
1317674488,1317674495,UG
-1317674496,1317674527,A2
+1317674496,1317674527,GB
1317674528,1317674535,NG
1317674536,1317674543,IQ
1317674544,1317674567,NG
-1317674568,1317674607,A2
+1317674568,1317674607,GB
1317674608,1317674615,NG
-1317674616,1317674623,A2
+1317674616,1317674623,GB
1317674624,1317674631,NG
-1317674632,1317674639,A2
+1317674632,1317674639,GB
1317674640,1317674647,NG
-1317674648,1317674655,A2
+1317674648,1317674655,GB
1317674656,1317674671,NG
-1317674672,1317674687,A2
+1317674672,1317674687,GB
1317674688,1317674703,NG
-1317674704,1317674711,A2
+1317674704,1317674711,GB
1317674712,1317674735,NG
1317674736,1317674743,AO
1317674744,1317674751,IQ
1317674752,1317674759,NG
-1317674760,1317674767,A2
+1317674760,1317674767,GB
1317674768,1317674775,NG
-1317674776,1317674783,A2
+1317674776,1317674783,GB
1317674784,1317674791,NG
-1317674792,1317674799,A2
+1317674792,1317674799,GB
1317674800,1317674807,NG
-1317674808,1317674823,A2
+1317674808,1317674823,GB
1317674824,1317674831,NG
-1317674832,1317674847,A2
-1317674848,1317674863,NG
-1317674864,1317674879,A2
+1317674832,1317674847,GB
+1317674848,1317674855,NG
+1317674856,1317674879,GB
1317674880,1317674887,NG
-1317674888,1317674911,A2
+1317674888,1317674911,GB
1317674912,1317674927,NG
-1317674928,1317674935,A2
+1317674928,1317674935,GB
1317674936,1317674943,NG
1317674944,1317674951,GA
1317674952,1317674959,NG
1317674960,1317674967,GH
1317674968,1317674983,NG
-1317674984,1317675031,A2
+1317674984,1317675031,GB
1317675032,1317675039,NG
-1317675040,1317675055,A2
-1317675056,1317675063,NG
+1317675040,1317675063,GB
1317675064,1317675071,AO
1317675072,1317675095,NG
-1317675096,1317675199,A2
+1317675096,1317675199,GB
1317675200,1317675215,NG
-1317675216,1317675247,A2
+1317675216,1317675247,GB
1317675248,1317675255,AO
-1317675256,1317675271,A2
+1317675256,1317675271,GB
1317675272,1317675279,NG
-1317675280,1317675295,A2
+1317675280,1317675295,GB
1317675296,1317675319,NG
-1317675320,1317675351,A2
+1317675320,1317675351,GB
1317675352,1317675359,IQ
1317675360,1317675367,NG
-1317675368,1317675423,A2
+1317675368,1317675423,GB
1317675424,1317675439,NG
-1317675440,1317675447,A2
+1317675440,1317675447,GB
1317675448,1317675455,NG
-1317675456,1317675463,A2
+1317675456,1317675463,GB
1317675464,1317675471,CI
-1317675472,1317675479,A2
-1317675480,1317675487,NG
-1317675488,1317675503,A2
+1317675472,1317675503,GB
1317675504,1317675511,NG
-1317675512,1317675535,A2
-1317675536,1317675543,UG
-1317675544,1317675551,IQ
+1317675512,1317675551,GB
1317675552,1317675559,NG
1317675560,1317675567,NA
-1317675568,1317675591,A2
+1317675568,1317675591,GB
1317675592,1317675607,NG
-1317675608,1317675623,A2
+1317675608,1317675623,GB
1317675624,1317675639,NG
1317675640,1317675647,FR
1317675648,1317675655,LR
-1317675656,1317675663,NG
-1317675664,1317675671,A2
+1317675656,1317675671,GB
1317675672,1317675679,NG
-1317675680,1317675695,A2
+1317675680,1317675695,GB
1317675696,1317675703,NG
-1317675704,1317675711,A2
+1317675704,1317675711,GB
1317675712,1317675719,CM
-1317675720,1317675743,A2
+1317675720,1317675743,GB
1317675744,1317675751,GH
1317675752,1317675759,NG
1317675760,1317675775,GH
-1317675776,1317675791,A2
+1317675776,1317675791,GB
1317675792,1317675799,CD
1317675800,1317675807,GB
1317675808,1317675815,NG
-1317675816,1317675823,A2
+1317675816,1317675823,GB
1317675824,1317675839,NG
-1317675840,1317675847,A2
+1317675840,1317675847,GB
1317675848,1317675855,TD
-1317675856,1317675863,NG
-1317675864,1317675887,A2
-1317675888,1317675895,CD
-1317675896,1317675903,A2
+1317675856,1317675903,GB
1317675904,1317675911,UG
1317675912,1317675919,NG
-1317675920,1317675927,UG
+1317675920,1317675927,GB
1317675928,1317675935,LR
-1317675936,1317675951,A2
+1317675936,1317675951,GB
1317675952,1317675959,NG
-1317675960,1317675967,A2
+1317675960,1317675967,GB
1317675968,1317675975,NG
-1317675976,1317675991,A2
+1317675976,1317675991,GB
1317675992,1317675999,NG
-1317676000,1317676007,A2
+1317676000,1317676007,GB
1317676008,1317676015,GH
1317676016,1317676023,SD
1317676024,1317676031,GQ
1317676032,1317676039,NG
-1317676040,1317676055,A2
+1317676040,1317676055,GB
1317676056,1317676063,NG
1317676064,1317676071,GH
1317676072,1317676079,NG
@@ -34659,208 +42779,201 @@
1317676096,1317676103,CM
1317676104,1317676111,NG
1317676112,1317676119,CM
-1317676120,1317676135,A2
+1317676120,1317676135,GB
1317676136,1317676143,CM
1317676144,1317676151,NG
1317676152,1317676159,CM
1317676160,1317676167,TG
1317676168,1317676175,ML
-1317676176,1317676191,A2
+1317676176,1317676191,GB
1317676192,1317676207,SD
-1317676208,1317676215,A2
+1317676208,1317676215,GB
1317676216,1317676223,NG
1317676224,1317676231,GH
1317676232,1317676239,NG
-1317676240,1317676247,SD
+1317676240,1317676247,GB
1317676248,1317676255,NG
1317676256,1317676263,CD
1317676264,1317676271,NG
-1317676272,1317676279,A2
+1317676272,1317676279,GB
1317676280,1317676287,NG
1317676288,1317676543,LR
1317676544,1317676551,NG
-1317676552,1317676559,AO
+1317676552,1317676559,GB
1317676560,1317676567,NG
-1317676568,1317676575,LR
-1317676576,1317676583,A2
+1317676568,1317676583,GB
1317676584,1317676591,NG
1317676592,1317676599,AO
1317676600,1317676607,UG
-1317676608,1317676631,A2
+1317676608,1317676631,GB
1317676632,1317676639,NG
1317676640,1317676647,CD
-1317676648,1317676655,A2
+1317676648,1317676655,GB
1317676656,1317676671,NG
-1317676672,1317676687,A2
+1317676672,1317676687,GB
1317676688,1317676695,LR
-1317676696,1317676711,A2
+1317676696,1317676711,GB
1317676712,1317676719,NG
-1317676720,1317676759,A2
+1317676720,1317676759,GB
1317676760,1317676767,LR
-1317676768,1317676775,A2
+1317676768,1317676775,GB
1317676776,1317676783,UG
-1317676784,1317676799,A2
+1317676784,1317676799,GB
1317676800,1317676807,CD
1317676808,1317676815,NG
1317676816,1317676823,LR
-1317676824,1317676847,A2
-1317676848,1317676855,NG
-1317676856,1317676863,A2
+1317676824,1317676863,GB
1317676864,1317676871,TG
1317676872,1317676879,NG
-1317676880,1317676903,A2
+1317676880,1317676903,GB
1317676904,1317676911,NG
-1317676912,1317676919,A2
+1317676912,1317676919,GB
1317676920,1317676927,NG
-1317676928,1317676943,A2
+1317676928,1317676943,GB
1317676944,1317676951,CM
-1317676952,1317676983,A2
+1317676952,1317676983,GB
1317676984,1317676999,NG
1317677000,1317677007,IQ
-1317677008,1317677023,A2
+1317677008,1317677023,GB
1317677024,1317677039,NG
-1317677040,1317677047,A2
+1317677040,1317677047,GB
1317677048,1317677055,NG
1317677056,1317677063,UG
1317677064,1317677071,TD
1317677072,1317677079,NG
-1317677080,1317677087,UG
-1317677088,1317677095,A2
+1317677080,1317677095,GB
1317677096,1317677103,BF
-1317677104,1317677127,A2
-1317677128,1317677135,NG
-1317677136,1317677191,A2
+1317677104,1317677191,GB
1317677192,1317677199,SD
1317677200,1317677215,NG
-1317677216,1317677231,A2
+1317677216,1317677231,GB
1317677232,1317677239,UG
-1317677240,1317677247,A2
+1317677240,1317677247,GB
1317677248,1317677271,NG
1317677272,1317677279,FR
-1317677280,1317677303,A2
+1317677280,1317677303,GB
1317677304,1317677311,NG
1317677312,1317677319,CD
1317677320,1317677327,AO
1317677328,1317677335,CD
-1317677336,1317677343,A2
+1317677336,1317677343,GB
1317677344,1317677351,NG
-1317677352,1317677367,CD
-1317677368,1317677375,NG
-1317677376,1317677399,A2
+1317677352,1317677375,GB
+1317677376,1317677391,NG
+1317677392,1317677399,GB
1317677400,1317677407,NG
-1317677408,1317677415,CD
+1317677408,1317677415,BJ
1317677416,1317677423,LR
-1317677424,1317677431,CD
-1317677432,1317677439,LR
-1317677440,1317677447,NG
+1317677424,1317677447,GB
1317677448,1317677455,CD
1317677456,1317677463,AO
1317677464,1317677471,GQ
1317677472,1317677479,NG
-1317677480,1317677487,AO
+1317677480,1317677487,GB
1317677488,1317677495,CD
1317677496,1317677527,NG
1317677528,1317677535,GQ
-1317677536,1317677551,CD
-1317677552,1317677559,A2
+1317677536,1317677559,GB
1317677560,1317677567,NG
-1317677568,1317677663,A2
-1317677664,1317677671,GB
-1317677672,1317677823,A2
+1317677568,1317677823,GB
1317677824,1317677831,AO
-1317677832,1317677839,A2
+1317677832,1317677839,GB
1317677840,1317677847,LR
1317677848,1317677855,NG
1317677856,1317677863,BF
-1317677864,1317677895,A2
+1317677864,1317677895,GB
1317677896,1317677903,GN
-1317677904,1317678007,A2
+1317677904,1317678007,GB
1317678008,1317678015,NG
-1317678016,1317678047,A2
+1317678016,1317678047,GB
1317678048,1317678055,IQ
-1317678056,1317678087,A2
-1317678088,1317678095,NG
+1317678056,1317678095,GB
1317678096,1317678103,GQ
1317678104,1317678111,NG
-1317678112,1317678127,A2
+1317678112,1317678127,GB
1317678128,1317678135,SD
1317678136,1317678143,NG
-1317678144,1317678151,CD
+1317678144,1317678151,GB
1317678152,1317678159,NG
1317678160,1317678167,GQ
1317678168,1317678175,NG
1317678176,1317678183,GR
1317678184,1317678191,NG
-1317678192,1317678199,A2
-1317678200,1317678207,CD
-1317678208,1317678223,A2
+1317678192,1317678223,GB
1317678224,1317678231,NG
1317678232,1317678239,BF
1317678240,1317678247,CD
-1317678248,1317678255,A2
+1317678248,1317678255,GB
1317678256,1317678263,CD
-1317678264,1317678271,A2
+1317678264,1317678271,GB
1317678272,1317678287,NG
1317678288,1317678295,GR
-1317678296,1317678311,A2
+1317678296,1317678311,GB
1317678312,1317678319,SD
1317678320,1317678327,NG
-1317678328,1317678335,A2
+1317678328,1317678335,GB
1317678336,1317678343,AO
-1317678344,1317678351,A2
+1317678344,1317678351,GB
1317678352,1317678359,CD
1317678360,1317678367,NG
1317678368,1317678375,CD
-1317678376,1317678383,NG
+1317678376,1317678383,GB
1317678384,1317678391,GL
-1317678392,1317678399,A2
+1317678392,1317678399,GB
1317678400,1317678407,ML
-1317678408,1317678415,A2
-1317678416,1317678431,NG
-1317678432,1317678439,A2
-1317678440,1317678447,CD
-1317678448,1317678455,A2
+1317678408,1317678415,GB
+1317678416,1317678423,NG
+1317678424,1317678455,GB
1317678456,1317678463,CD
-1317678464,1317678479,A2
+1317678464,1317678479,GB
1317678480,1317678487,CD
1317678488,1317678495,ML
-1317678496,1317678535,A2
+1317678496,1317678535,GB
1317678536,1317678551,CD
1317678552,1317678559,ML
-1317678560,1317678567,NG
+1317678560,1317678567,GB
1317678568,1317678575,CD
1317678576,1317678583,NG
1317678584,1317678591,AO
-1317678592,1317679615,A2
-1317679616,1317679631,AO
-1317679632,1317679639,NG
+1317678592,1317678943,GB
+1317678944,1317678951,NG
+1317678952,1317679047,GB
+1317679048,1317679055,NG
+1317679056,1317679615,GB
+1317679616,1317679623,AO
+1317679624,1317679639,GB
1317679640,1317679647,ZW
1317679648,1317679655,CD
-1317679656,1317679663,NG
+1317679656,1317679663,GB
1317679664,1317679671,AO
-1317679672,1317679687,NG
-1317679688,1317679695,A2
+1317679672,1317679679,GB
+1317679680,1317679687,NG
+1317679688,1317679695,GB
1317679696,1317679703,LU
1317679704,1317679719,NG
-1317679720,1317679727,A2
-1317679728,1317679735,GN
-1317679736,1317679743,NG
+1317679720,1317679727,GB
+1317679728,1317679735,LR
+1317679736,1317679743,GB
1317679744,1317679751,AO
-1317679752,1317679767,NG
-1317679768,1317679775,A2
-1317679776,1317679799,NG
-1317679800,1317679807,A2
+1317679752,1317679759,GB
+1317679760,1317679767,NG
+1317679768,1317679783,GB
+1317679784,1317679799,NG
+1317679800,1317679807,GB
1317679808,1317679815,AO
-1317679816,1317679831,NG
-1317679832,1317679839,A2
+1317679816,1317679839,GB
1317679840,1317679847,NG
-1317679848,1317679863,A2
+1317679848,1317679863,GB
1317679864,1317679871,NG
-1317679872,1317681175,A2
+1317679872,1317681159,GB
+1317681160,1317681167,NG
+1317681168,1317681175,GB
1317681176,1317681191,NG
-1317681192,1317681279,A2
+1317681192,1317681279,GB
1317681280,1317681287,NG
-1317681288,1317683199,A2
+1317681288,1317681927,GB
+1317681928,1317681931,NG
+1317681932,1317683199,GB
1317683200,1317683839,DE
1317683840,1317683855,CH
1317683856,1317683863,DE
@@ -34869,9 +42982,12 @@
1317685504,1317685631,BE
1317685632,1317686303,DE
1317686304,1317686319,NL
-1317686320,1317698559,DE
-1317698560,1317698687,NL
-1317698688,1317699583,DE
+1317686320,1317686335,DE
+1317686336,1317686367,NL
+1317686368,1317696287,DE
+1317696288,1317696319,ES
+1317696320,1317699071,DE
+1317699072,1317699583,PL
1317699584,1317715967,RU
1317715968,1317732351,SA
1317732352,1317748735,HU
@@ -34879,7 +42995,9 @@
1317765120,1317781503,GE
1317781504,1317814271,RU
1317814272,1317830655,DE
-1317830656,1317831839,NL
+1317830656,1317831679,NL
+1317831680,1317831711,CY
+1317831712,1317831839,NL
1317831840,1317831871,CA
1317831872,1317832191,NL
1317832192,1317832447,GB
@@ -34898,14 +43016,18 @@
1317835648,1317835711,NL
1317835712,1317835775,GI
1317835776,1317836031,CY
-1317836032,1317836863,NL
+1317836032,1317836159,NL
+1317836160,1317836223,CY
+1317836224,1317836863,NL
1317836864,1317836927,CY
1317836928,1317836991,NL
1317836992,1317837007,GB
1317837008,1317837023,RU
1317837024,1317837567,NL
1317837568,1317837823,US
-1317837824,1317838943,NL
+1317837824,1317837951,NL
+1317837952,1317838015,CY
+1317838016,1317838943,NL
1317838944,1317838959,GB
1317838960,1317838975,NL
1317838976,1317839103,GI
@@ -34917,7 +43039,8 @@
1317841408,1317841439,SC
1317841440,1317841471,MT
1317841472,1317841535,CY
-1317841536,1317841599,NL
+1317841536,1317841567,HK
+1317841568,1317841599,NL
1317841600,1317841663,GI
1317841664,1317841727,HK
1317841728,1317841855,CY
@@ -34928,34 +43051,52 @@
1317843136,1317843199,CY
1317843200,1317843391,US
1317843392,1317843423,NL
-1317843424,1317843455,PR
+1317843424,1317843455,US
1317843456,1317843519,NL
1317843520,1317843583,GI
1317843584,1317843647,US
1317843648,1317843839,NL
1317843840,1317843967,SC
1317843968,1317844223,MY
-1317844224,1317847039,NL
+1317844224,1317846271,NL
+1317846272,1317846335,HK
+1317846336,1317846399,NL
+1317846400,1317846463,LU
+1317846464,1317846527,NL
+1317846528,1317846655,HK
+1317846656,1317846783,NL
+1317846784,1317846911,CY
+1317846912,1317847039,NL
1317847040,1317863423,RU
1317863424,1317879807,GB
1317879808,1317896191,SK
1317896192,1317912575,LU
1317912576,1317928959,GB
1317928960,1317945343,BG
-1317945344,1317965047,AT
+1317945344,1317950207,AT
+1317950208,1317950463,CZ
+1317950464,1317956607,AT
+1317956608,1317956639,CZ
+1317956640,1317957631,AT
+1317957632,1317958911,DE
+1317958912,1317958975,CZ
+1317958976,1317959007,DE
+1317959008,1317965047,AT
1317965048,1317965055,DE
1317965056,1317977407,AT
1317977408,1317977415,MT
1317977416,1317978111,AT
1317978112,1317994495,RU
-1317994496,1317995519,NL
-1317995520,1317996095,DE
+1317994496,1317995007,NL
+1317995008,1317996095,DE
1317996096,1317996287,NL
1317996288,1317998207,DE
-1317998208,1317998591,NL
-1317998592,1318000383,DE
+1317998208,1317998335,NL
+1317998336,1318000383,DE
1318000384,1318000447,NL
-1318000448,1318002175,DE
+1318000448,1318001791,DE
+1318001792,1318001919,NL
+1318001920,1318002175,DE
1318002176,1318002431,NL
1318002432,1318003711,DE
1318003712,1318003967,NL
@@ -34973,16 +43114,13 @@
1318027264,1318043647,IE
1318043648,1318584319,GB
1318584320,1318592511,PL
-1318592512,1318596863,NL
-1318596864,1318597375,US
-1318597376,1318598143,NL
-1318598144,1318598399,SE
-1318598400,1318598655,FR
-1318598656,1318599167,DE
-1318599168,1318599679,NL
-1318599680,1318599935,GB
-1318599936,1318600191,DE
-1318600192,1318600703,NL
+1318592512,1318592623,NL
+1318592624,1318592639,DE
+1318592640,1318592655,NL
+1318592656,1318592671,US
+1318592672,1318599807,NL
+1318599808,1318599823,US
+1318599824,1318600703,NL
1318600704,1318608895,AT
1318608896,1318617087,IT
1318617088,1318625279,FR
@@ -35003,17 +43141,13 @@
1318708512,1318708519,GB
1318708520,1318708599,FR
1318708600,1318708607,GB
-1318708608,1318708623,FR
-1318708624,1318708627,GB
-1318708628,1318708639,FR
+1318708608,1318708639,FR
1318708640,1318708647,GB
1318708648,1318708735,FR
1318708736,1318708991,GB
1318708992,1318711647,FR
1318711648,1318711663,IT
-1318711664,1318712983,FR
-1318712984,1318712991,GB
-1318712992,1318713855,FR
+1318711664,1318713855,FR
1318713856,1318714111,GB
1318714112,1318715390,FR
1318715391,1318715391,GB
@@ -35039,8 +43173,8 @@
1318871040,1318879231,DK
1318879232,1318887423,CZ
1318887424,1318895615,PL
-1318895616,1318899711,SE
-1318899712,1318903807,DK
+1318895616,1318897663,SE
+1318897664,1318903807,DK
1318903808,1318911999,RU
1318912000,1318920191,MK
1318920192,1318928383,IR
@@ -35115,6 +43249,7 @@
1331832832,1331834879,IT
1331834880,1331836927,BY
1331836928,1331838975,FR
+1331838976,1331841023,ES
1331841024,1331843071,CZ
1331843072,1331845119,GB
1331845120,1331847167,RU
@@ -35130,7 +43265,7 @@
1331865600,1331869695,NL
1331869696,1331871743,SA
1331871744,1331873791,DK
-1331873792,1331879935,RU
+1331873792,1331877887,RU
1331879936,1331881983,DE
1331881984,1331883007,GB
1331883008,1331883263,SL
@@ -35161,8 +43296,9 @@
1331931136,1331933183,SE
1331933184,1331935231,TR
1331935232,1331937279,NL
-1331937280,1331937407,PL
-1331937408,1331937471,GB
+1331937280,1331937311,GB
+1331937312,1331937319,IQ
+1331937320,1331937471,GB
1331937472,1331937519,NG
1331937520,1331937535,LB
1331937536,1331937567,SM
@@ -35188,7 +43324,8 @@
1331938336,1331938375,GB
1331938376,1331938383,AE
1331938384,1331938399,IE
-1331938400,1331938815,GB
+1331938400,1331938431,AE
+1331938432,1331938815,GB
1331938816,1331938823,NG
1331938824,1331938831,US
1331938832,1331938839,NG
@@ -35203,7 +43340,9 @@
1331938968,1331938983,GB
1331938984,1331938999,NG
1331939000,1331939007,QA
-1331939008,1331939327,GB
+1331939008,1331939023,GB
+1331939024,1331939031,NG
+1331939032,1331939327,GB
1331939328,1331941375,BE
1331941376,1331943423,ES
1331943424,1331945471,RU
@@ -35237,15 +43376,15 @@
1332629504,1332633599,DE
1332633600,1332637695,UA
1332637696,1332641791,BG
-1332641792,1332658175,UA
+1332641792,1332645887,UA
+1332645888,1332649983,RS
+1332649984,1332658175,UA
1332658176,1332662271,PL
1332662272,1332670463,UA
1332670464,1332740095,RU
1332740096,1333264383,RO
1333264384,1333297151,RU
-1333297152,1333317887,HU
-1333317888,1333318143,MK
-1333318144,1333362687,HU
+1333297152,1333362687,HU
1333362688,1333395455,GB
1333395456,1333428223,HU
1333428224,1333460991,RU
@@ -35279,9 +43418,7 @@
1334181888,1334190079,RU
1334190080,1334198271,BG
1334198272,1334206463,RU
-1334206464,1334214551,FI
-1334214552,1334214559,AX
-1334214560,1334214655,FI
+1334206464,1334214655,FI
1334214656,1334222847,JO
1334222848,1334231039,BG
1334231040,1334239231,EE
@@ -35316,7 +43453,9 @@
1334583808,1334584063,CH
1334584064,1334584255,DE
1334584256,1334584287,AT
-1334584288,1334584999,DE
+1334584288,1334584759,DE
+1334584760,1334584767,PL
+1334584768,1334584999,DE
1334585000,1334585007,US
1334585008,1334585111,DE
1334585112,1334585119,AT
@@ -35353,18 +43492,21 @@
1334640640,1334644735,FR
1334644736,1334644991,LU
1334644992,1334645247,A2
-1334645248,1334647807,IQ
-1334647808,1334648063,LB
+1334645248,1334647936,IQ
+1334647937,1334648063,DE
1334648064,1334648319,IQ
1334648320,1334648575,DE
1334648576,1334648831,A2
-1334648832,1334651455,GB
-1334651456,1334651647,NL
+1334648832,1334649343,GB
+1334649344,1334649375,DK
+1334649376,1334651647,GB
1334651648,1334651903,FR
1334651904,1334652159,DE
1334652160,1334652543,GB
1334652544,1334652559,NL
-1334652560,1334652927,GB
+1334652560,1334652863,GB
+1334652864,1334652895,FR
+1334652896,1334652927,GB
1334652928,1334661119,RU
1334661120,1334665215,CH
1334665216,1334669311,NO
@@ -35395,24 +43537,30 @@
1334718464,1334722559,KZ
1334722560,1334725631,NL
1334725632,1334726143,SE
-1334726144,1334726655,NL
+1334726144,1334726655,LU
1334726656,1334729983,RU
1334729984,1334730027,KZ
1334730028,1334730031,RU
1334730032,1334730043,KZ
1334730044,1334730047,RU
1334730048,1334730055,KZ
-1334730056,1334730079,RU
-1334730080,1334730087,KZ
-1334730088,1334730095,RU
-1334730096,1334730103,KZ
-1334730104,1334730239,RU
+1334730056,1334730063,RU
+1334730064,1334730159,KZ
+1334730160,1334730175,RU
+1334730176,1334730199,KZ
+1334730200,1334730207,RU
+1334730208,1334730215,KZ
+1334730216,1334730223,RU
+1334730224,1334730235,KZ
+1334730236,1334730239,RU
1334730240,1334730431,KZ
1334730432,1334730439,RU
1334730440,1334730443,KZ
1334730444,1334730447,RU
1334730448,1334730463,KZ
-1334730464,1334730495,RU
+1334730464,1334730479,RU
+1334730480,1334730487,KZ
+1334730488,1334730495,RU
1334730496,1334730499,KZ
1334730500,1334730503,RU
1334730504,1334730539,KZ
@@ -35493,15 +43641,21 @@
1336619008,1336621055,AL
1336621056,1336623103,DE
1336623104,1336625151,BE
-1336625152,1336625823,IE
+1336625152,1336625303,IE
+1336625304,1336625311,GB
+1336625312,1336625823,IE
1336625824,1336625839,GB
1336625840,1336626207,IE
-1336626208,1336626239,GB
-1336626240,1336626303,IE
-1336626304,1336626319,GB
-1336626320,1336626447,IE
+1336626208,1336626319,GB
+1336626320,1336626335,IE
+1336626336,1336626367,GB
+1336626368,1336626447,IE
1336626448,1336626463,GB
-1336626464,1336627199,IE
+1336626464,1336626767,IE
+1336626768,1336626783,GB
+1336626784,1336626927,IE
+1336626928,1336626943,GB
+1336626944,1336627199,IE
1336627200,1336629247,NO
1336629248,1336631295,DE
1336631296,1336633343,IS
@@ -35538,13 +43692,13 @@
1336852480,1336868863,FR
1336868864,1336885247,RU
1336885248,1336901631,RS
-1336901632,1336910528,IR
-1336910529,1336910560,SE
-1336910561,1336911103,IR
+1336901632,1336911103,IR
1336911104,1336911359,SE
1336911360,1336911749,IR
1336911750,1336911759,AE
-1336911760,1336918015,IR
+1336911760,1336911853,IR
+1336911854,1336911869,CA
+1336911870,1336918015,IR
1336918016,1336934399,PL
1336934400,1337458687,IL
1337458688,1337982975,PL
@@ -35624,9 +43778,7 @@
1346371584,1346375679,FI
1346375680,1346379775,RU
1346379776,1346383871,ES
-1346383872,1346386719,GB
-1346386720,1346386727,SE
-1346386728,1346387967,GB
+1346383872,1346387967,GB
1346387968,1346392063,HU
1346392064,1346396159,UA
1346396160,1346400255,RU
@@ -35661,17 +43813,13 @@
1346500640,1346500735,IM
1346500736,1346500767,GB
1346500768,1346500863,IM
-1346500864,1346501135,GB
-1346501136,1346501151,IM
-1346501152,1346501231,GB
+1346500864,1346501231,GB
1346501232,1346501247,IM
1346501248,1346501343,GB
1346501344,1346501375,IM
1346501376,1346501695,GB
1346501696,1346501759,IM
-1346501760,1346501795,GB
-1346501796,1346501799,IM
-1346501800,1346501807,GB
+1346501760,1346501807,GB
1346501808,1346501839,IM
1346501840,1346501847,GB
1346501848,1346501879,IM
@@ -35687,7 +43835,9 @@
1346502656,1346510847,DE
1346510848,1346519039,AT
1346519040,1346527231,RU
-1346527232,1346531327,DE
+1346527232,1346528607,DE
+1346528608,1346528623,CH
+1346528624,1346531327,DE
1346531328,1346535423,ES
1346535424,1346537335,BE
1346537336,1346537343,GB
@@ -35728,7 +43878,6 @@
1346589696,1346592767,US
1346592768,1346596863,ES
1346596864,1346600959,IT
-1346600960,1346605055,DZ
1346605056,1346609151,CH
1346609152,1346617343,FR
1346617344,1346620415,SE
@@ -35748,11 +43897,7 @@
1346686976,1346691071,GB
1346691072,1346695167,PL
1346695168,1346699263,RU
-1346699264,1346699755,GB
-1346699756,1346699756,LI
-1346699757,1346699767,GB
-1346699768,1346699775,US
-1346699776,1346699839,GB
+1346699264,1346699839,GB
1346699840,1346699871,HK
1346699872,1346699875,GB
1346699876,1346699879,IL
@@ -35861,21 +44006,7 @@
1347010560,1347014655,RU
1347014656,1347018751,GG
1347018752,1347022847,IT
-1347022848,1347024911,AT
-1347024912,1347024927,GB
-1347024928,1347024959,AT
-1347024960,1347025071,GB
-1347025072,1347025079,FR
-1347025080,1347025087,GB
-1347025088,1347025103,AT
-1347025104,1347025111,FR
-1347025112,1347025119,GB
-1347025120,1347025151,AT
-1347025152,1347025215,US
-1347025216,1347025279,GB
-1347025280,1347025343,ES
-1347025344,1347025407,DE
-1347025408,1347026943,AT
+1347022848,1347026943,AT
1347026944,1347035135,GB
1347035136,1347039231,CZ
1347039232,1347043327,RO
@@ -35897,21 +44028,22 @@
1347117056,1347121151,FI
1347121152,1347125247,CH
1347125248,1347129343,RU
+1347129344,1347133439,FR
1347133440,1347141631,EG
1347141632,1347145727,CH
1347145728,1347146239,GB
-1347146240,1347146495,IN
+1347146240,1347146495,CA
1347146496,1347146751,FR
-1347146752,1347147007,IN
+1347146752,1347147007,CA
1347147008,1347147263,DE
1347147264,1347147775,GB
1347147776,1347148287,DE
1347148288,1347148543,GB
-1347148544,1347148799,IN
+1347148544,1347148799,CA
1347148800,1347149055,NO
1347149056,1347149311,GB
1347149312,1347149567,DE
-1347149568,1347149823,IN
+1347149568,1347149823,CA
1347149824,1347153919,HU
1347153920,1347158015,AT
1347158016,1347162111,CH
@@ -35963,7 +44095,9 @@
1347240960,1347244031,DK
1347244032,1347245311,GB
1347245312,1347245567,US
-1347245568,1347247359,GB
+1347245568,1347245823,GB
+1347245824,1347245951,US
+1347245952,1347247359,GB
1347247360,1347247839,RU
1347247840,1347248127,US
1347248128,1347248863,SE
@@ -35991,7 +44125,11 @@
1347272704,1347276799,MT
1347276800,1347278831,DE
1347278832,1347278847,BR
-1347278848,1347280543,DE
+1347278848,1347280031,DE
+1347280032,1347280063,ET
+1347280064,1347280495,DE
+1347280496,1347280511,ET
+1347280512,1347280543,DE
1347280544,1347280575,MY
1347280576,1347280895,DE
1347280896,1347284991,FR
@@ -36079,9 +44217,8 @@
1347309840,1347309855,CH
1347309856,1347313663,DE
1347313664,1347321855,RU
-1347321856,1347323775,KW
-1347323776,1347323903,IR
-1347323904,1347325951,KW
+1347321856,1347325695,KW
+1347325696,1347325951,IQ
1347325952,1347327231,CZ
1347327232,1347327487,SK
1347327488,1347327743,CZ
@@ -36276,18 +44413,46 @@
1347822352,1347825663,GB
1347825664,1347829759,IT
1347829760,1347833855,SE
-1347833856,1347836223,DE
+1347833856,1347835811,DE
+1347835812,1347835812,RU
+1347835813,1347835813,ZA
+1347835814,1347835814,PL
+1347835815,1347835815,DE
+1347835816,1347835816,RU
+1347835817,1347835817,DE
+1347835818,1347835818,AR
+1347835819,1347835819,CA
+1347835820,1347835820,US
+1347835821,1347835821,ES
+1347835822,1347835822,DE
+1347835823,1347835823,CA
+1347835824,1347836223,DE
1347836224,1347836255,SE
-1347836256,1347837951,DE
-1347837952,1347846143,RO
+1347836256,1347837578,DE
+1347837579,1347837579,BR
+1347837580,1347837580,DE
+1347837581,1347837581,BR
+1347837582,1347837582,TR
+1347837583,1347837951,DE
+1347837952,1347838719,EU
+1347838720,1347846143,RO
1347846144,1347850239,NO
1347850240,1347854335,IT
-1347854336,1347854847,EU
+1347854336,1347854591,DE
+1347854592,1347854599,EU
+1347854600,1347854607,DE
+1347854608,1347854623,EU
+1347854624,1347854639,DE
+1347854640,1347854655,EU
+1347854656,1347854791,DE
+1347854792,1347854847,EU
1347854848,1347854871,DE
1347854872,1347854879,EU
1347854880,1347854887,DE
1347854888,1347854911,EU
-1347854912,1347855071,DE
+1347854912,1347855023,DE
+1347855024,1347855039,EU
+1347855040,1347855071,DE
1347855072,1347855087,EU
1347855088,1347855103,DE
1347855104,1347855359,CH
@@ -36321,19 +44486,25 @@
1347858576,1347858623,EU
1347858624,1347858631,DE
1347858632,1347858639,EU
-1347858640,1347859335,DE
+1347858640,1347858751,DE
+1347858752,1347858815,EU
+1347858816,1347859335,DE
1347859336,1347859343,EU
1347859344,1347859351,DE
1347859352,1347859359,EU
1347859360,1347859383,DE
-1347859384,1347859407,EU
-1347859408,1347859423,DE
+1347859384,1347859391,EU
+1347859392,1347859423,DE
1347859424,1347859455,EU
1347859456,1347860863,DE
1347860864,1347860879,EU
1347860880,1347860895,DE
1347860896,1347860911,EU
-1347860912,1347861395,DE
+1347860912,1347860927,DE
+1347860928,1347860943,EU
+1347860944,1347861383,DE
+1347861384,1347861391,EU
+1347861392,1347861395,DE
1347861396,1347861399,EU
1347861400,1347861471,DE
1347861472,1347861503,EU
@@ -36346,10 +44517,14 @@
1347862008,1347862015,CH
1347862016,1347862111,EU
1347862112,1347862143,DE
-1347862144,1347862303,EU
+1347862144,1347862279,EU
+1347862280,1347862287,DE
+1347862288,1347862303,EU
1347862304,1347862431,DE
1347862432,1347862463,EU
-1347862464,1347862527,DE
+1347862464,1347862471,DE
+1347862472,1347862479,EU
+1347862480,1347862527,DE
1347862528,1347866623,CH
1347866624,1347870719,NO
1347870720,1347874815,AM
@@ -36363,7 +44538,9 @@
1347907584,1347911679,DE
1347911680,1347915775,GB
1347915776,1347919871,RU
-1347919872,1347923967,DE
+1347919872,1347922303,DE
+1347922304,1347922319,NL
+1347922320,1347923967,DE
1347923968,1347928063,CZ
1347928064,1347932159,RU
1347932160,1347932639,SK
@@ -36373,7 +44550,7 @@
1347932668,1347936255,SK
1347936256,1347940351,FR
1347940352,1347944447,BA
-1347944448,1347948543,DZ
+1347947520,1347948543,DZ
1347948544,1347952639,DE
1347952640,1347956735,BE
1347956736,1347960831,RU
@@ -36549,9 +44726,7 @@
1348263936,1348268031,UA
1348268032,1348272127,CZ
1348272128,1348274695,IE
-1348274696,1348274771,CH
-1348274772,1348274775,IE
-1348274776,1348274791,CH
+1348274696,1348274791,CH
1348274792,1348274799,IE
1348274800,1348274815,IL
1348274816,1348274927,IE
@@ -36589,7 +44764,6 @@
1348390912,1348395007,SE
1348395008,1348399103,BY
1348399104,1348403199,MD
-1348403200,1348407295,EG
1348407296,1348411391,BG
1348411392,1348415487,RU
1348415488,1348419583,GB
@@ -36663,9 +44837,7 @@
1351801328,1351801335,HU
1351801336,1351806975,DE
1351806976,1351807231,IT
-1351807232,1351879631,DE
-1351879632,1351879639,IT
-1351879640,1351879999,DE
+1351807232,1351879999,DE
1351880000,1351880031,IT
1351880032,1351965183,DE
1351965184,1351965439,US
@@ -36689,8 +44861,7 @@
1352141312,1352141567,NL
1352141568,1352144519,DE
1352144520,1352144527,IT
-1352144528,1352144535,US
-1352144536,1352147007,DE
+1352144528,1352147007,DE
1352147008,1352147015,SE
1352147016,1352147107,DE
1352147108,1352147111,SE
@@ -36744,10 +44915,10 @@
1353255840,1353255855,FR
1353255856,1353257111,GB
1353257112,1353257119,ES
-1353257120,1353257983,GB
-1353257984,1353258247,SE
-1353258248,1353258255,GB
-1353258256,1353258263,SE
+1353257120,1353257151,GB
+1353257152,1353257167,FR
+1353257168,1353257983,GB
+1353257984,1353258263,SE
1353258264,1353258271,NO
1353258272,1353258303,SE
1353258304,1353258367,FI
@@ -36774,100 +44945,122 @@
1353266960,1353266975,IE
1353266976,1353267455,GB
1353267456,1353268223,IE
-1353268224,1353268479,GB
-1353268480,1353268599,BE
+1353268224,1353268487,GB
+1353268488,1353268511,BE
+1353268512,1353268519,GB
+1353268520,1353268599,BE
1353268600,1353268607,GB
-1353268608,1353269007,BE
+1353268608,1353268687,BE
+1353268688,1353268695,GB
+1353268696,1353269007,BE
1353269008,1353269015,GB
1353269016,1353269223,BE
-1353269224,1353270527,GB
+1353269224,1353269231,FR
+1353269232,1353269247,BE
+1353269248,1353270527,GB
1353270528,1353270783,IE
1353270784,1353271295,GB
1353271296,1353271423,IE
-1353271424,1353271815,GB
-1353271816,1353271831,ES
+1353271424,1353271807,GB
+1353271808,1353271831,ES
1353271832,1353271839,GB
-1353271840,1353272023,ES
-1353272024,1353272031,GB
-1353272032,1353272039,ES
+1353271840,1353271911,ES
+1353271912,1353271919,GB
+1353271920,1353272039,ES
1353272040,1353272047,GB
1353272048,1353272055,ES
-1353272056,1353272071,GB
-1353272072,1353272199,ES
-1353272200,1353272207,GB
+1353272056,1353272079,GB
+1353272080,1353272119,ES
+1353272120,1353272127,GB
+1353272128,1353272159,ES
+1353272160,1353272207,GB
1353272208,1353272245,ES
1353272246,1353272247,GB
-1353272248,1353272691,ES
-1353272692,1353272695,GB
-1353272696,1353272807,ES
-1353272808,1353272823,GB
-1353272824,1353273343,ES
+1353272248,1353272631,ES
+1353272632,1353272639,GB
+1353272640,1353272671,ES
+1353272672,1353272687,GB
+1353272688,1353272691,ES
+1353272692,1353272703,GB
+1353272704,1353272807,ES
+1353272808,1353272815,GB
+1353272816,1353273343,ES
1353273344,1353273631,BE
1353273632,1353273639,ES
1353273640,1353273711,BE
1353273712,1353273719,GB
1353273720,1353274367,BE
-1353274368,1353274759,ES
+1353274368,1353274679,ES
+1353274680,1353274687,GB
+1353274688,1353274759,ES
1353274760,1353274767,GB
1353274768,1353274791,ES
1353274792,1353274807,GB
1353274808,1353274895,ES
1353274896,1353274911,GB
-1353274912,1353275007,ES
+1353274912,1353274935,ES
+1353274936,1353274943,GB
+1353274944,1353275007,ES
1353275008,1353275015,GB
-1353275016,1353275391,ES
+1353275016,1353275111,ES
+1353275112,1353275119,GB
+1353275120,1353275391,ES
1353275392,1353277439,GB
1353277440,1353279487,CH
-1353279488,1353279575,IT
-1353279576,1353279591,GB
-1353279592,1353279615,IT
-1353279616,1353279623,GB
-1353279624,1353279743,IT
-1353279744,1353279751,GB
-1353279752,1353279759,IT
+1353279488,1353279759,IT
1353279760,1353279763,GB
1353279764,1353280119,IT
1353280120,1353280127,GB
1353280128,1353280143,IT
1353280144,1353280151,GB
-1353280152,1353280159,IT
-1353280160,1353280167,GB
-1353280168,1353280191,IT
-1353280192,1353280199,GB
-1353280200,1353280287,IT
-1353280288,1353280295,GB
-1353280296,1353280463,IT
+1353280152,1353280463,IT
1353280464,1353280479,GB
1353280480,1353281023,IT
-1353281024,1353281535,BE
+1353281024,1353281311,BE
+1353281312,1353281319,GB
+1353281320,1353281327,BE
+1353281328,1353281343,GB
+1353281344,1353281535,BE
1353281536,1353282047,GB
1353282048,1353282103,IT
1353282104,1353282111,GB
-1353282112,1353282159,IT
+1353282112,1353282143,IT
+1353282144,1353282151,GB
+1353282152,1353282159,IT
1353282160,1353282167,GB
1353282168,1353282215,IT
1353282216,1353282223,GB
-1353282224,1353282559,IT
+1353282224,1353282255,IT
+1353282256,1353282263,GB
+1353282264,1353282559,IT
1353282560,1353283071,GB
1353283072,1353283327,IT
1353283328,1353287679,GB
1353287680,1353288031,IE
1353288032,1353288063,GB
-1353288064,1353288151,IE
+1353288064,1353288067,IE
+1353288068,1353288071,GB
+1353288072,1353288151,IE
1353288152,1353288159,GB
1353288160,1353288167,IE
1353288168,1353288191,GB
-1353288192,1353288319,IE
+1353288192,1353288239,IE
+1353288240,1353288255,GB
+1353288256,1353288319,IE
1353288320,1353288327,GB
1353288328,1353288351,IE
1353288352,1353288383,GB
1353288384,1353288399,IE
1353288400,1353288407,GB
-1353288408,1353288519,IE
+1353288408,1353288415,IE
+1353288416,1353288431,GB
+1353288432,1353288519,IE
1353288520,1353288527,GB
1353288528,1353288607,IE
1353288608,1353288639,GB
-1353288640,1353288831,IE
+1353288640,1353288671,IE
+1353288672,1353288679,GB
+1353288680,1353288831,IE
1353288832,1353288839,GB
1353288840,1353288847,IE
1353288848,1353288855,GB
@@ -36880,16 +45073,10 @@
1353289000,1353289023,IE
1353289024,1353289031,NL
1353289032,1353289047,IE
-1353289048,1353289055,GB
-1353289056,1353289083,IE
-1353289084,1353289087,GB
-1353289088,1353289247,IE
-1353289248,1353289255,GB
-1353289256,1353289279,IE
-1353289280,1353289295,GB
-1353289296,1353289359,IE
-1353289360,1353289367,GB
-1353289368,1353289391,IE
+1353289048,1353289087,GB
+1353289088,1353289359,IE
+1353289360,1353289375,GB
+1353289376,1353289391,IE
1353289392,1353289407,GB
1353289408,1353289599,IE
1353289600,1353289615,GB
@@ -36904,14 +45091,15 @@
1353293352,1353293355,IT
1353293356,1353295471,GB
1353295472,1353295479,IE
-1353295480,1353297151,GB
+1353295480,1353295511,GB
+1353295512,1353295519,DE
+1353295520,1353297151,GB
1353297152,1353297183,IE
1353297184,1353298687,GB
1353298688,1353298695,SE
-1353298696,1353298703,DE
+1353298696,1353298703,GB
1353298704,1353298707,SE
-1353298708,1353298719,GB
-1353298720,1353298751,DE
+1353298708,1353298751,GB
1353298752,1353298815,SE
1353298816,1353298831,PT
1353298832,1353298839,SE
@@ -36926,15 +45114,20 @@
1353299648,1353299839,GB
1353299840,1353299847,SE
1353299848,1353299863,GB
-1353299864,1353299919,SE
-1353299920,1353299927,GB
+1353299864,1353299911,SE
+1353299912,1353299927,GB
1353299928,1353299951,SE
1353299952,1353299967,GB
-1353299968,1353300079,SE
-1353300080,1353300095,PT
+1353299968,1353300063,SE
+1353300064,1353300071,GB
+1353300072,1353300095,SE
1353300096,1353300103,CH
1353300104,1353300111,SE
-1353300112,1353300175,GB
+1353300112,1353300119,FI
+1353300120,1353300127,SE
+1353300128,1353300143,GB
+1353300144,1353300159,SE
+1353300160,1353300175,GB
1353300176,1353300191,SE
1353300192,1353300239,GB
1353300240,1353300247,SE
@@ -36942,7 +45135,9 @@
1353300280,1353300735,SE
1353300736,1353301095,GB
1353301096,1353301103,US
-1353301104,1353306111,GB
+1353301104,1353305679,GB
+1353305680,1353305687,US
+1353305688,1353306111,GB
1353306112,1353306623,ES
1353306624,1353306687,GB
1353306688,1353306735,BE
@@ -36956,27 +45151,19 @@
1353310336,1353310463,GB
1353310464,1353310479,ES
1353310480,1353310487,GB
-1353310488,1353310583,ES
-1353310584,1353310591,GB
-1353310592,1353310599,ES
+1353310488,1353310551,ES
+1353310552,1353310559,GB
+1353310560,1353310599,ES
1353310600,1353310607,DE
1353310608,1353310719,ES
-1353310720,1353311071,IT
-1353311072,1353311079,GB
-1353311080,1353311135,IT
-1353311136,1353311143,GB
-1353311144,1353311175,IT
+1353310720,1353311175,IT
1353311176,1353311183,ES
1353311184,1353311231,IT
1353311232,1353312255,GB
1353312256,1353312767,CH
-1353312768,1353312815,IT
-1353312816,1353312823,GB
-1353312824,1353312879,IT
-1353312880,1353312887,GB
-1353312888,1353312999,IT
-1353313000,1353313007,GB
-1353313008,1353313191,IT
+1353312768,1353312999,IT
+1353313000,1353313015,GB
+1353313016,1353313191,IT
1353313192,1353313199,GB
1353313200,1353313279,IT
1353313280,1353313791,IE
@@ -36984,7 +45171,9 @@
1353314304,1353314815,CH
1353314816,1353315415,ES
1353315416,1353315423,FR
-1353315424,1353316351,ES
+1353315424,1353315903,ES
+1353315904,1353315935,FR
+1353315936,1353316351,ES
1353316352,1353317375,GB
1353317376,1353317631,FR
1353317632,1353318143,GB
@@ -37042,21 +45231,15 @@
1354432512,1354498047,DE
1354498048,1354563583,CZ
1354563584,1354629119,GB
-1354629120,1354662143,DE
-1354662144,1354662151,AT
-1354662152,1354662463,DE
-1354662464,1354662527,AT
-1354662528,1354662943,DE
+1354629120,1354662191,DE
+1354662192,1354662207,CY
+1354662208,1354662943,DE
1354662944,1354662975,AT
-1354662976,1354664743,DE
-1354664744,1354664751,AT
-1354664752,1354664759,DE
+1354662976,1354664759,DE
1354664760,1354664767,IT
1354664768,1354665923,DE
1354665924,1354665927,AT
-1354665928,1354665943,DE
-1354665944,1354665951,AT
-1354665952,1354666639,DE
+1354665928,1354666639,DE
1354666640,1354666650,FI
1354666651,1354666687,DE
1354666688,1354666688,FI
@@ -37070,9 +45253,7 @@
1354674784,1354674815,DE
1354674816,1354674943,IT
1354674944,1354675199,AE
-1354675200,1354675327,DE
-1354675328,1354675359,DK
-1354675360,1354676479,DE
+1354675200,1354676479,DE
1354676480,1354676767,AE
1354676768,1354676783,DE
1354676784,1354676791,PL
@@ -37097,9 +45278,7 @@
1354680064,1354680079,AE
1354680080,1354680175,DE
1354680176,1354680179,PL
-1354680180,1354681247,DE
-1354681248,1354681279,DK
-1354681280,1354681471,DE
+1354680180,1354681471,DE
1354681472,1354681487,AE
1354681488,1354681815,DE
1354681816,1354681823,CH
@@ -37115,8 +45294,8 @@
1354682912,1354683095,DE
1354683096,1354683103,IT
1354683104,1354683391,DE
-1354683392,1354683903,PL
-1354683904,1354684415,DE
+1354683392,1354684159,PL
+1354684160,1354684415,DE
1354684416,1354684431,AE
1354684432,1354684671,DE
1354684672,1354684927,AE
@@ -37163,7 +45342,11 @@
1357316096,1357316607,ES
1357316608,1357317119,LU
1357317120,1357317375,GB
-1357317376,1357317631,EU
+1357317376,1357317391,EU
+1357317392,1357317407,GB
+1357317408,1357317439,EU
+1357317440,1357317535,GB
+1357317536,1357317631,EU
1357317632,1357318143,LY
1357318144,1357320191,QA
1357320192,1357320703,FR
@@ -37301,14 +45484,16 @@
1357372928,1357373183,AM
1357373184,1357373439,GB
1357373440,1357381631,EU
-1357381632,1357391615,NO
+1357381632,1357386143,NO
+1357386144,1357386147,DK
+1357386148,1357386151,NO
+1357386152,1357386159,DK
+1357386160,1357391615,NO
1357391616,1357391871,SE
1357391872,1357414399,NO
1357414400,1357447167,LV
1357447168,1357479935,IE
-1357479936,1357483007,LV
-1357483008,1357483263,RU
-1357483264,1357512703,LV
+1357479936,1357512703,LV
1357512704,1357545471,RU
1357545472,1357578239,GB
1357578240,1357611007,EE
@@ -37388,7 +45573,8 @@
1357881088,1357881343,DE
1357881344,1357883391,FR
1357883392,1357883407,ES
-1357883408,1357883455,EU
+1357883408,1357883423,DE
+1357883424,1357883455,EU
1357883456,1357883519,FR
1357883520,1357883535,EU
1357883536,1357883543,FR
@@ -37401,7 +45587,9 @@
1357883760,1357883775,FR
1357883776,1357883807,RU
1357883808,1357883839,GB
-1357883840,1357883999,EU
+1357883840,1357883903,EU
+1357883904,1357883911,GB
+1357883912,1357883999,EU
1357884000,1357884031,FR
1357884032,1357884095,RU
1357884096,1357884159,SE
@@ -37411,7 +45599,8 @@
1357884428,1357884431,DE
1357884432,1357884439,US
1357884440,1357884447,FR
-1357884448,1357884511,EU
+1357884448,1357884495,EU
+1357884496,1357884511,DE
1357884512,1357884927,FR
1357884928,1357884935,EU
1357884936,1357884943,GB
@@ -37470,14 +45659,20 @@
1357893504,1357893631,DE
1357893632,1357894911,EU
1357894912,1357895423,FR
-1357895424,1357897343,EU
+1357895424,1357895679,AE
+1357895680,1357897215,EU
+1357897216,1357897279,SE
+1357897280,1357897343,DK
1357897344,1357897375,HU
-1357897376,1357897471,EU
-1357897472,1357897487,DE
+1357897376,1357897407,PL
+1357897408,1357897439,RU
+1357897440,1357897487,DE
1357897488,1357897535,EU
1357897536,1357897543,CZ
1357897544,1357897551,SE
-1357897552,1357897855,EU
+1357897552,1357897719,EU
+1357897720,1357897727,DE
+1357897728,1357897855,EU
1357897856,1357898495,DE
1357898496,1357898751,EU
1357898752,1357899015,DE
@@ -37493,7 +45688,9 @@
1357899268,1357899275,FR
1357899276,1357899279,NL
1357899280,1357899287,RU
-1357899288,1357899527,EU
+1357899288,1357899295,EU
+1357899296,1357899311,DE
+1357899312,1357899527,EU
1357899528,1357899535,BR
1357899536,1357899543,CZ
1357899544,1357899551,EU
@@ -37508,7 +45705,7 @@
1357900416,1357900543,SE
1357900544,1357900799,NL
1357900800,1357901823,DE
-1357901824,1357902335,ES
+1357901824,1357902335,EU
1357902336,1357902847,PL
1357902848,1357903359,GB
1357903360,1357903615,DE
@@ -37628,10 +45825,7 @@
1358159872,1358163967,ES
1358163968,1358168063,FR
1358168064,1358172159,GB
-1358172160,1358173183,CY
-1358173184,1358173951,GR
-1358173952,1358174207,DE
-1358174208,1358176255,CY
+1358172160,1358176255,CY
1358176256,1358180351,RU
1358180352,1358184447,ES
1358184448,1358192639,SE
@@ -37649,7 +45843,9 @@
1358223688,1358223695,GB
1358223696,1358223719,DE
1358223720,1358223815,GB
-1358223816,1358223843,DE
+1358223816,1358223823,DE
+1358223824,1358223835,GB
+1358223836,1358223843,DE
1358223844,1358223871,GB
1358223872,1358223887,NL
1358223888,1358223895,DE
@@ -37658,10 +45854,14 @@
1358223912,1358223927,NL
1358223928,1358223935,DE
1358223936,1358223939,NL
-1358223940,1358223975,DE
+1358223940,1358223951,DE
+1358223952,1358223959,NL
+1358223960,1358223975,DE
1358223976,1358223991,NL
1358223992,1358223999,DE
-1358224000,1358224087,NL
+1358224000,1358224043,NL
+1358224044,1358224047,DE
+1358224048,1358224087,NL
1358224088,1358224511,DE
1358224512,1358224519,BE
1358224520,1358224611,DE
@@ -37672,9 +45872,9 @@
1358224960,1358225127,IT
1358225128,1358225135,DE
1358225136,1358225183,IT
-1358225184,1358225191,DE
-1358225192,1358225199,IT
-1358225200,1358225407,DE
+1358225184,1358225187,DE
+1358225188,1358225231,IT
+1358225232,1358225407,DE
1358225408,1358229503,RU
1358229504,1358230111,DE
1358230112,1358230115,AT
@@ -37685,9 +45885,13 @@
1358232864,1358232867,IT
1358232868,1358232903,DE
1358232904,1358232911,CH
-1358232912,1358233599,DE
+1358232912,1358232924,DE
+1358232925,1358232925,CH
+1358232926,1358233599,DE
1358233600,1358237695,ES
-1358237696,1358239231,FR
+1358237696,1358238207,FR
+1358238208,1358238208,EU
+1358238209,1358239231,FR
1358239232,1358239487,CH
1358239488,1358239743,FR
1358239744,1358239999,CH
@@ -37861,9 +46065,7 @@
1358488480,1358488495,US
1358488496,1358488511,FR
1358488512,1358491647,SE
-1358491648,1358493823,FI
-1358493824,1358493887,AX
-1358493888,1358495743,FI
+1358491648,1358495743,FI
1358495744,1358499839,PL
1358499840,1358503935,KZ
1358503936,1358508031,IT
@@ -37877,9 +46079,29 @@
1358540800,1358548991,RU
1358548992,1358553087,JO
1358553088,1358557183,UA
-1358557184,1358559503,IE
-1358559504,1358559519,GB
-1358559520,1358561279,IE
+1358557184,1358557343,IE
+1358557344,1358557407,GB
+1358557408,1358557903,IE
+1358557904,1358557911,GB
+1358557912,1358557951,IE
+1358557952,1358558047,GB
+1358558048,1358558143,IE
+1358558144,1358558175,GB
+1358558176,1358558807,IE
+1358558808,1358558815,GB
+1358558816,1358558823,IE
+1358558824,1358558847,GB
+1358558848,1358558975,IE
+1358558976,1358559007,GB
+1358559008,1358559039,IE
+1358559040,1358559071,GB
+1358559072,1358559551,IE
+1358559552,1358559559,GB
+1358559560,1358560975,IE
+1358560976,1358560991,GB
+1358560992,1358561119,IE
+1358561120,1358561151,GB
+1358561152,1358561279,IE
1358561280,1358569471,CZ
1358569472,1358573567,NG
1358573568,1358577663,LV
@@ -37891,8 +46113,7 @@
1358602240,1358622719,RU
1358622720,1358626815,SK
1358626816,1358630911,A2
-1358630912,1358632959,US
-1358632960,1358635007,GB
+1358630912,1358635007,GB
1358635008,1358639103,TR
1358639104,1358643199,RU
1358643200,1358647295,ES
@@ -37904,13 +46125,15 @@
1358668072,1358668271,PT
1358668272,1358668279,ES
1358668280,1358668287,PT
-1358668288,1358668319,GB
-1358668320,1358668359,PT
-1358668360,1358668367,GB
-1358668368,1358668463,PT
+1358668288,1358668303,GB
+1358668304,1358668359,PT
+1358668360,1358668363,GB
+1358668364,1358668463,PT
1358668464,1358668479,ES
1358668480,1358668495,GB
-1358668496,1358668799,PT
+1358668496,1358668535,PT
+1358668536,1358668543,GB
+1358668544,1358668799,PT
1358668800,1358668807,GB
1358668808,1358668927,PT
1358668928,1358668959,ES
@@ -37918,9 +46141,11 @@
1358669352,1358669359,GB
1358669360,1358669463,PT
1358669464,1358669471,GB
-1358669472,1358669543,PT
-1358669544,1358669551,GB
-1358669552,1358669975,PT
+1358669472,1358669823,PT
+1358669824,1358669839,GB
+1358669840,1358669847,PT
+1358669848,1358669855,GB
+1358669856,1358669975,PT
1358669976,1358669983,GB
1358669984,1358670015,PT
1358670016,1358670023,GB
@@ -37930,9 +46155,7 @@
1358670944,1358670951,FR
1358670952,1358671047,PT
1358671048,1358671055,ES
-1358671056,1358671071,PT
-1358671072,1358671103,GB
-1358671104,1358671415,PT
+1358671056,1358671415,PT
1358671416,1358671423,GB
1358671424,1358671431,PT
1358671432,1358671439,GB
@@ -37951,11 +46174,10 @@
1358673568,1358673599,GB
1358673600,1358673663,PT
1358673664,1358675967,GB
-1358675968,1358676735,SE
-1358676736,1358677759,DK
+1358675968,1358677247,SE
+1358677248,1358677759,DK
1358677760,1358679295,SE
-1358679296,1358679807,DK
-1358679808,1358680063,SE
+1358679296,1358680063,DK
1358680064,1358688255,RU
1358688256,1358692351,CZ
1358692352,1358696447,PL
@@ -37963,7 +46185,9 @@
1358700544,1358704639,AT
1358704640,1358708735,HU
1358708736,1358712831,GB
-1358712832,1358716927,NL
+1358712832,1358713999,NL
+1358714000,1358714015,A2
+1358714016,1358716927,NL
1358716928,1358721023,DE
1358721024,1358725119,GB
1358725120,1358733311,RU
@@ -38024,9 +46248,7 @@
1358740884,1358740887,NL
1358740888,1358740927,SE
1358740928,1358740943,DK
-1358740944,1358741055,SE
-1358741056,1358741071,GB
-1358741072,1358741503,SE
+1358740944,1358741503,SE
1358741504,1358745599,IT
1358745600,1358749695,SE
1358749696,1358753791,IT
@@ -38082,12 +46304,16 @@
1358884864,1358888959,SE
1358888960,1358889599,DE
1358889600,1358889631,IN
-1358889632,1358890943,DE
+1358889632,1358890591,DE
+1358890592,1358890623,IT
+1358890624,1358890943,DE
1358890944,1358890975,GB
1358890976,1358891007,IT
1358891008,1358891647,DE
-1358891648,1358891679,IT
-1358891680,1358893055,DE
+1358891648,1358891711,IT
+1358891712,1358892191,DE
+1358892192,1358892223,IT
+1358892224,1358893055,DE
1358893056,1358897151,RU
1358897152,1358898175,A2
1358898176,1358898239,CA
@@ -38236,7 +46462,8 @@
1359118592,1359118719,NL
1359118720,1359118815,DE
1359118816,1359118831,NL
-1359118832,1359120383,DE
+1359118832,1359119359,DE
+1359119360,1359120383,NL
1359120384,1359121407,DK
1359121408,1359123583,DE
1359123584,1359123711,SE
@@ -38248,7 +46475,9 @@
1359134720,1359150079,CZ
1359150080,1359150591,HU
1359150592,1359151103,CZ
-1359151104,1359158207,DE
+1359151104,1359151295,DE
+1359151296,1359151299,EU
+1359151300,1359158207,DE
1359158208,1359158215,CH
1359158216,1359166175,DE
1359166176,1359166191,HK
@@ -38280,7 +46509,9 @@
1359429632,1359446015,LT
1359446016,1359451727,DK
1359451728,1359451731,US
-1359451732,1359462399,DK
+1359451732,1359455551,DK
+1359455552,1359455558,PL
+1359455559,1359462399,DK
1359462400,1359467007,DE
1359467008,1359467015,US
1359467016,1359467063,DE
@@ -38335,12 +46566,7 @@
1359553600,1359553631,US
1359553632,1359577087,RU
1359577088,1359609855,ES
-1359609856,1359630591,EG
-1359630592,1359631359,JO
-1359631360,1359639551,EG
-1359639552,1359640575,JO
-1359640576,1359641343,EG
-1359641344,1359642623,JO
+1359609856,1359642623,EG
1359642624,1359675391,AT
1359675392,1359708159,DE
1359708160,1359740927,BE
@@ -38433,9 +46659,7 @@
1360224256,1360225663,ES
1360225664,1360225695,GB
1360225696,1360228351,ES
-1360228352,1360231615,FI
-1360231616,1360231679,AX
-1360231680,1360232447,FI
+1360228352,1360232447,FI
1360232448,1360236543,RU
1360236544,1360239135,AT
1360239136,1360239167,DE
@@ -38448,7 +46672,9 @@
1360251648,1360252415,GB
1360252416,1360252671,CH
1360252672,1360257023,GB
-1360257024,1360259447,DK
+1360257024,1360257959,DK
+1360257960,1360257964,FI
+1360257965,1360259447,DK
1360259448,1360259451,US
1360259452,1360265215,DK
1360265216,1360265983,NL
@@ -38464,7 +46690,9 @@
1360282112,1360282239,ES
1360282240,1360282751,NL
1360282752,1360282783,GB
-1360282784,1360285183,NL
+1360282784,1360283519,NL
+1360283520,1360283535,BE
+1360283536,1360285183,NL
1360285184,1360285335,ES
1360285336,1360285343,NL
1360285344,1360285375,ES
@@ -38599,7 +46827,9 @@
1360764928,1360769023,DE
1360769024,1360773119,IT
1360773120,1360777215,CZ
-1360777216,1360781311,DK
+1360777216,1360780719,DK
+1360780720,1360780735,EU
+1360780736,1360781311,DK
1360781312,1360785407,DE
1360785408,1360793599,RU
1360793600,1360797695,CZ
@@ -38615,15 +46845,7 @@
1360842752,1360846847,RU
1360846848,1360850943,DE
1360850944,1360855039,IT
-1360855040,1360855841,NL
-1360855842,1360855851,MX
-1360855852,1360856075,NL
-1360856076,1360856079,AU
-1360856080,1360856109,NL
-1360856110,1360856113,AU
-1360856114,1360856133,NL
-1360856134,1360856144,MX
-1360856145,1360859135,NL
+1360855040,1360859135,NL
1360859136,1360863231,LT
1360863232,1360867327,NO
1360867328,1360879615,GB
@@ -38635,25 +46857,17 @@
1360890880,1360891391,RU
1360891392,1360891647,FI
1360891648,1360891903,RU
-1360891904,1360892427,CH
-1360892428,1360892431,IT
-1360892432,1360892487,CH
+1360891904,1360892487,CH
1360892488,1360892495,IT
-1360892496,1360892751,CH
-1360892752,1360892767,IT
-1360892768,1360892791,CH
+1360892496,1360892791,CH
1360892792,1360892799,IT
-1360892800,1360892807,CH
-1360892808,1360892815,MR
-1360892816,1360892927,CH
+1360892800,1360892831,CH
+1360892832,1360892847,MD
+1360892848,1360892927,CH
1360892928,1360893183,IT
-1360893184,1360893191,CH
-1360893192,1360893199,IT
-1360893200,1360894071,CH
-1360894072,1360894075,IT
-1360894076,1360894079,CH
-1360894080,1360894083,IT
-1360894084,1360894975,CH
+1360893184,1360894335,CH
+1360894336,1360894367,MD
+1360894368,1360894975,CH
1360894976,1360894983,IT
1360894984,1360895999,CH
1360896000,1360900095,QA
@@ -39074,13 +47288,584 @@
1362426624,1362426879,FR
1362426880,1362427903,MQ
1362427904,1362755583,FR
-1362755584,1362886409,NL
+1362755584,1362759695,NL
+1362759696,1362759703,BE
+1362759704,1362759711,NL
+1362759712,1362759727,BE
+1362759728,1362759735,NL
+1362759736,1362759759,BE
+1362759760,1362759775,NL
+1362759776,1362759791,BE
+1362759792,1362759815,NL
+1362759816,1362759847,BE
+1362759848,1362759863,NL
+1362759864,1362759879,BE
+1362759880,1362759895,NL
+1362759896,1362759903,BE
+1362759904,1362759919,NL
+1362759920,1362759927,BE
+1362759928,1362759943,NL
+1362759944,1362759967,BE
+1362759968,1362759983,NL
+1362759984,1362759999,BE
+1362760000,1362760007,NL
+1362760008,1362760031,BE
+1362760032,1362760039,NL
+1362760040,1362760047,BE
+1362760048,1362760055,NL
+1362760056,1362760087,BE
+1362760088,1362760111,NL
+1362760112,1362760119,BE
+1362760120,1362760167,NL
+1362760168,1362760191,BE
+1362760192,1362760215,NL
+1362760216,1362760223,BE
+1362760224,1362760239,NL
+1362760240,1362760271,BE
+1362760272,1362760279,NL
+1362760280,1362760287,BE
+1362760288,1362760303,NL
+1362760304,1362760351,BE
+1362760352,1362760375,NL
+1362760376,1362760383,BE
+1362760384,1362760391,NL
+1362760392,1362760399,BE
+1362760400,1362760423,NL
+1362760424,1362760439,BE
+1362760440,1362760447,NL
+1362760448,1362760455,BE
+1362760456,1362760471,NL
+1362760472,1362760479,BE
+1362760480,1362760503,NL
+1362760504,1362760511,BE
+1362760512,1362760519,NL
+1362760520,1362760535,BE
+1362760536,1362760559,NL
+1362760560,1362760567,BE
+1362760568,1362760575,NL
+1362760576,1362760591,BE
+1362760592,1362760615,NL
+1362760616,1362760639,BE
+1362760640,1362760647,NL
+1362760648,1362760663,BE
+1362760664,1362760671,NL
+1362760672,1362760679,BE
+1362760680,1362760687,NL
+1362760688,1362760703,BE
+1362760704,1362760711,NL
+1362760712,1362760719,BE
+1362760720,1362760735,NL
+1362760736,1362760751,BE
+1362760752,1362760783,NL
+1362760784,1362760807,BE
+1362760808,1362760831,NL
+1362760832,1362760839,BE
+1362760840,1362760863,NL
+1362760864,1362760879,BE
+1362760880,1362760887,NL
+1362760888,1362760903,BE
+1362760904,1362760919,NL
+1362760920,1362760927,BE
+1362760928,1362760967,NL
+1362760968,1362760983,BE
+1362760984,1362761007,NL
+1362761008,1362761023,BE
+1362761024,1362761031,NL
+1362761032,1362761063,BE
+1362761064,1362761103,NL
+1362761104,1362761111,BE
+1362761112,1362761119,NL
+1362761120,1362761127,BE
+1362761128,1362761159,NL
+1362761160,1362761167,BE
+1362761168,1362761175,NL
+1362761176,1362761199,BE
+1362761200,1362761207,NL
+1362761208,1362761215,BE
+1362761216,1362761247,NL
+1362761248,1362761255,BE
+1362761256,1362761279,NL
+1362761280,1362761287,BE
+1362761288,1362761303,NL
+1362761304,1362761311,BE
+1362761312,1362761319,NL
+1362761320,1362761327,BE
+1362761328,1362761407,NL
+1362761408,1362761415,BE
+1362761416,1362761463,NL
+1362761464,1362761471,BE
+1362761472,1362761495,NL
+1362761496,1362761503,BE
+1362761504,1362761519,NL
+1362761520,1362761535,BE
+1362761536,1362761559,NL
+1362761560,1362761567,BE
+1362761568,1362761583,NL
+1362761584,1362761591,BE
+1362761592,1362761607,NL
+1362761608,1362761623,BE
+1362761624,1362761631,NL
+1362761632,1362761647,BE
+1362761648,1362761663,NL
+1362761664,1362761679,BE
+1362761680,1362761687,NL
+1362761688,1362761695,BE
+1362761696,1362761719,NL
+1362761720,1362761727,BE
+1362761728,1362761743,NL
+1362761744,1362761767,BE
+1362761768,1362761879,NL
+1362761880,1362761895,BE
+1362761896,1362761959,NL
+1362761960,1362761967,BE
+1362761968,1362761983,NL
+1362761984,1362761999,BE
+1362762000,1362762007,NL
+1362762008,1362762015,BE
+1362762016,1362762031,NL
+1362762032,1362762039,BE
+1362762040,1362762047,NL
+1362762048,1362762063,BE
+1362762064,1362762071,NL
+1362762072,1362762079,BE
+1362762080,1362762095,NL
+1362762096,1362762127,BE
+1362762128,1362762135,NL
+1362762136,1362762143,BE
+1362762144,1362762151,NL
+1362762152,1362762175,BE
+1362762176,1362762183,NL
+1362762184,1362762199,BE
+1362762200,1362762207,NL
+1362762208,1362762215,BE
+1362762216,1362762231,NL
+1362762232,1362762255,BE
+1362762256,1362762263,NL
+1362762264,1362762271,BE
+1362762272,1362762279,NL
+1362762280,1362762287,BE
+1362762288,1362762335,NL
+1362762336,1362762343,BE
+1362762344,1362762351,NL
+1362762352,1362762359,BE
+1362762360,1362762431,NL
+1362762432,1362762439,BE
+1362762440,1362762447,NL
+1362762448,1362762455,BE
+1362762456,1362762495,NL
+1362762496,1362762527,BE
+1362762528,1362762535,NL
+1362762536,1362762567,BE
+1362762568,1362762583,NL
+1362762584,1362762599,BE
+1362762600,1362762647,NL
+1362762648,1362762655,BE
+1362762656,1362762719,NL
+1362762720,1362762727,BE
+1362762728,1362762791,NL
+1362762792,1362762807,BE
+1362762808,1362762863,NL
+1362762864,1362762879,BE
+1362762880,1362762903,NL
+1362762904,1362762911,BE
+1362762912,1362762951,NL
+1362762952,1362762983,BE
+1362762984,1362762991,NL
+1362762992,1362763031,BE
+1362763032,1362763047,NL
+1362763048,1362763055,BE
+1362763056,1362763079,NL
+1362763080,1362763087,BE
+1362763088,1362763103,NL
+1362763104,1362763119,BE
+1362763120,1362763143,NL
+1362763144,1362763151,BE
+1362763152,1362763159,NL
+1362763160,1362763175,BE
+1362763176,1362763183,NL
+1362763184,1362763191,BE
+1362763192,1362763223,NL
+1362763224,1362763231,BE
+1362763232,1362763287,NL
+1362763288,1362763295,BE
+1362763296,1362763303,NL
+1362763304,1362763311,BE
+1362763312,1362763335,NL
+1362763336,1362763343,BE
+1362763344,1362763367,NL
+1362763368,1362763375,BE
+1362763376,1362763383,NL
+1362763384,1362763415,BE
+1362763416,1362763423,NL
+1362763424,1362763439,BE
+1362763440,1362763455,NL
+1362763456,1362763463,BE
+1362763464,1362763471,NL
+1362763472,1362763479,BE
+1362763480,1362763503,NL
+1362763504,1362763519,BE
+1362763520,1362763535,NL
+1362763536,1362763543,BE
+1362763544,1362763599,NL
+1362763600,1362763615,BE
+1362763616,1362763623,NL
+1362763624,1362763631,BE
+1362763632,1362763679,NL
+1362763680,1362763687,BE
+1362763688,1362763695,NL
+1362763696,1362763703,BE
+1362763704,1362763735,NL
+1362763736,1362763751,BE
+1362763752,1362763767,NL
+1362763768,1362763783,BE
+1362763784,1362763799,NL
+1362763800,1362763815,BE
+1362763816,1362763903,NL
+1362763904,1362763927,BE
+1362763928,1362763967,NL
+1362763968,1362763975,BE
+1362763976,1362763991,NL
+1362763992,1362763999,BE
+1362764000,1362764023,NL
+1362764024,1362764031,BE
+1362764032,1362764039,NL
+1362764040,1362764047,BE
+1362764048,1362764063,NL
+1362764064,1362764087,BE
+1362764088,1362764103,NL
+1362764104,1362764111,BE
+1362764112,1362764135,NL
+1362764136,1362764143,BE
+1362764144,1362764159,NL
+1362764160,1362764167,BE
+1362764168,1362764175,NL
+1362764176,1362764183,BE
+1362764184,1362764199,NL
+1362764200,1362764207,BE
+1362764208,1362764255,NL
+1362764256,1362764263,BE
+1362764264,1362764311,NL
+1362764312,1362764327,BE
+1362764328,1362764335,NL
+1362764336,1362764351,BE
+1362764352,1362764367,NL
+1362764368,1362764375,BE
+1362764376,1362764383,NL
+1362764384,1362764391,BE
+1362764392,1362764407,NL
+1362764408,1362764415,BE
+1362764416,1362764431,NL
+1362764432,1362764439,BE
+1362764440,1362764495,NL
+1362764496,1362764527,BE
+1362764528,1362764535,NL
+1362764536,1362764543,BE
+1362764544,1362764551,NL
+1362764552,1362764559,BE
+1362764560,1362764567,NL
+1362764568,1362764575,BE
+1362764576,1362764607,NL
+1362764608,1362764615,BE
+1362764616,1362764623,NL
+1362764624,1362764639,BE
+1362764640,1362764655,NL
+1362764656,1362764679,BE
+1362764680,1362764695,NL
+1362764696,1362764703,BE
+1362764704,1362764711,NL
+1362764712,1362764735,BE
+1362764736,1362764743,NL
+1362764744,1362764751,BE
+1362764752,1362764759,NL
+1362764760,1362764775,BE
+1362764776,1362764791,NL
+1362764792,1362764807,BE
+1362764808,1362764823,NL
+1362764824,1362764831,BE
+1362764832,1362764847,NL
+1362764848,1362764855,BE
+1362764856,1362764871,NL
+1362764872,1362764887,BE
+1362764888,1362764895,NL
+1362764896,1362764911,BE
+1362764912,1362764927,NL
+1362764928,1362764935,BE
+1362764936,1362764975,NL
+1362764976,1362764991,BE
+1362764992,1362764999,NL
+1362765000,1362765015,BE
+1362765016,1362765023,NL
+1362765024,1362765047,BE
+1362765048,1362765063,NL
+1362765064,1362765071,BE
+1362765072,1362765079,NL
+1362765080,1362765087,BE
+1362765088,1362765095,NL
+1362765096,1362765127,BE
+1362765128,1362765135,NL
+1362765136,1362765151,BE
+1362765152,1362765175,NL
+1362765176,1362765191,BE
+1362765192,1362765199,NL
+1362765200,1362765215,BE
+1362765216,1362765239,NL
+1362765240,1362765247,BE
+1362765248,1362765255,NL
+1362765256,1362765263,BE
+1362765264,1362765311,NL
+1362765312,1362765319,BE
+1362765320,1362765327,NL
+1362765328,1362765343,BE
+1362765344,1362765375,NL
+1362765376,1362765407,BE
+1362765408,1362765415,NL
+1362765416,1362765423,BE
+1362765424,1362765447,NL
+1362765448,1362765455,BE
+1362765456,1362765463,NL
+1362765464,1362765471,BE
+1362765472,1362765495,NL
+1362765496,1362765511,BE
+1362765512,1362765519,NL
+1362765520,1362765535,BE
+1362765536,1362765551,NL
+1362765552,1362765559,BE
+1362765560,1362765575,NL
+1362765576,1362765599,BE
+1362765600,1362765607,NL
+1362765608,1362765615,BE
+1362765616,1362765639,NL
+1362765640,1362765647,BE
+1362765648,1362765703,NL
+1362765704,1362765711,BE
+1362765712,1362765727,NL
+1362765728,1362765735,BE
+1362765736,1362765759,NL
+1362765760,1362765767,BE
+1362765768,1362765783,NL
+1362765784,1362765807,BE
+1362765808,1362765823,NL
+1362765824,1362765847,BE
+1362765848,1362765919,NL
+1362765920,1362765943,BE
+1362765944,1362765959,NL
+1362765960,1362765967,BE
+1362765968,1362765991,NL
+1362765992,1362765999,BE
+1362766000,1362766007,NL
+1362766008,1362766015,BE
+1362766016,1362766031,NL
+1362766032,1362766071,BE
+1362766072,1362766095,NL
+1362766096,1362766119,BE
+1362766120,1362766127,NL
+1362766128,1362766143,BE
+1362766144,1362766151,NL
+1362766152,1362766159,BE
+1362766160,1362766175,NL
+1362766176,1362766183,BE
+1362766184,1362766191,NL
+1362766192,1362766207,BE
+1362766208,1362766215,NL
+1362766216,1362766231,BE
+1362766232,1362766247,NL
+1362766248,1362766255,BE
+1362766256,1362766279,NL
+1362766280,1362766287,BE
+1362766288,1362766319,NL
+1362766320,1362766335,BE
+1362766336,1362766351,NL
+1362766352,1362766359,BE
+1362766360,1362766375,NL
+1362766376,1362766383,BE
+1362766384,1362766407,NL
+1362766408,1362766447,BE
+1362766448,1362766479,NL
+1362766480,1362766487,BE
+1362766488,1362766503,NL
+1362766504,1362766511,BE
+1362766512,1362766527,NL
+1362766528,1362766535,BE
+1362766536,1362766551,NL
+1362766552,1362766591,BE
+1362766592,1362766599,NL
+1362766600,1362766615,BE
+1362766616,1362766623,NL
+1362766624,1362766639,BE
+1362766640,1362766647,NL
+1362766648,1362766663,BE
+1362766664,1362766671,NL
+1362766672,1362766679,BE
+1362766680,1362766703,NL
+1362766704,1362766711,BE
+1362766712,1362766727,NL
+1362766728,1362766743,BE
+1362766744,1362766759,NL
+1362766760,1362766767,BE
+1362766768,1362766831,NL
+1362766832,1362766847,BE
+1362766848,1362766863,NL
+1362766864,1362766871,BE
+1362766872,1362766879,NL
+1362766880,1362766887,BE
+1362766888,1362766895,NL
+1362766896,1362766903,BE
+1362766904,1362766911,NL
+1362766912,1362766919,BE
+1362766920,1362766927,NL
+1362766928,1362766935,BE
+1362766936,1362766943,NL
+1362766944,1362766959,BE
+1362766960,1362766967,NL
+1362766968,1362766983,BE
+1362766984,1362766999,NL
+1362767000,1362767031,BE
+1362767032,1362767039,NL
+1362767040,1362767063,BE
+1362767064,1362767095,NL
+1362767096,1362767103,BE
+1362767104,1362767111,NL
+1362767112,1362767127,BE
+1362767128,1362767135,NL
+1362767136,1362767143,BE
+1362767144,1362767199,NL
+1362767200,1362767207,BE
+1362767208,1362767223,NL
+1362767224,1362767231,BE
+1362767232,1362767239,NL
+1362767240,1362767255,BE
+1362767256,1362767303,NL
+1362767304,1362767319,BE
+1362767320,1362767327,NL
+1362767328,1362767335,BE
+1362767336,1362767343,NL
+1362767344,1362767367,BE
+1362767368,1362767375,NL
+1362767376,1362767383,BE
+1362767384,1362767407,NL
+1362767408,1362767423,BE
+1362767424,1362767447,NL
+1362767448,1362767463,BE
+1362767464,1362767479,NL
+1362767480,1362767495,BE
+1362767496,1362767527,NL
+1362767528,1362767535,BE
+1362767536,1362767559,NL
+1362767560,1362767575,BE
+1362767576,1362767607,NL
+1362767608,1362767639,BE
+1362767640,1362767647,NL
+1362767648,1362767663,BE
+1362767664,1362767671,NL
+1362767672,1362767679,BE
+1362767680,1362767695,NL
+1362767696,1362767711,BE
+1362767712,1362767719,NL
+1362767720,1362767759,BE
+1362767760,1362767767,NL
+1362767768,1362767775,BE
+1362767776,1362767783,NL
+1362767784,1362767807,BE
+1362767808,1362767815,NL
+1362767816,1362767839,BE
+1362767840,1362767863,NL
+1362767864,1362767871,BE
+1362767872,1362817047,NL
+1362817048,1362817063,BE
+1362817064,1362817071,NL
+1362817072,1362817087,BE
+1362817088,1362817103,NL
+1362817104,1362817119,BE
+1362817120,1362817151,NL
+1362817152,1362817215,BE
+1362817216,1362817271,NL
+1362817272,1362817279,BE
+1362817280,1362817311,NL
+1362817312,1362817343,BE
+1362817344,1362817359,NL
+1362817360,1362817367,BE
+1362817368,1362817563,NL
+1362817564,1362817583,BE
+1362817584,1362817655,NL
+1362817656,1362817663,BE
+1362817664,1362817743,NL
+1362817744,1362817791,BE
+1362817792,1362837503,NL
+1362837504,1362845695,BE
+1362845696,1362870271,NL
+1362870272,1362872319,BE
+1362872320,1362872335,NL
+1362872336,1362872343,BE
+1362872344,1362872351,NL
+1362872352,1362873855,BE
+1362873856,1362873859,NL
+1362873860,1362874367,BE
+1362874368,1362874375,NL
+1362874376,1362875903,BE
+1362875904,1362875907,NL
+1362875908,1362876423,BE
+1362876424,1362876431,NL
+1362876432,1362876439,BE
+1362876440,1362876463,NL
+1362876464,1362876471,BE
+1362876472,1362876535,NL
+1362876536,1362876543,BE
+1362876544,1362876583,NL
+1362876584,1362876607,BE
+1362876608,1362876639,NL
+1362876640,1362877963,BE
+1362877964,1362877979,NL
+1362877980,1362877983,BE
+1362877984,1362877999,NL
+1362878000,1362878003,BE
+1362878004,1362878015,NL
+1362878016,1362878463,BE
+1362878464,1362878471,NL
+1362878472,1362879999,BE
+1362880000,1362880003,NL
+1362880004,1362880527,BE
+1362880528,1362880727,NL
+1362880728,1362880735,BE
+1362880736,1362880743,NL
+1362880744,1362880751,BE
+1362880752,1362880783,NL
+1362880784,1362880799,BE
+1362880800,1362880895,NL
+1362880896,1362880959,BE
+1362880960,1362880967,NL
+1362880968,1362880975,BE
+1362880976,1362880999,NL
+1362881000,1362881007,BE
+1362881008,1362881023,NL
+1362881024,1362881055,BE
+1362881056,1362881087,NL
+1362881088,1362881103,BE
+1362881104,1362881111,NL
+1362881112,1362882047,BE
+1362882048,1362882051,NL
+1362882052,1362882055,BE
+1362882056,1362882067,NL
+1362882068,1362882071,BE
+1362882072,1362882143,NL
+1362882144,1362882155,BE
+1362882156,1362882207,NL
+1362882208,1362882211,BE
+1362882212,1362882219,NL
+1362882220,1362882223,BE
+1362882224,1362882231,NL
+1362882232,1362884095,BE
+1362884096,1362884099,NL
+1362884100,1362885119,BE
+1362885120,1362886399,NL
+1362886400,1362886400,BE
+1362886401,1362886409,NL
1362886410,1362886413,BE
1362886414,1362886416,NL
1362886417,1362886419,BE
1362886420,1362886421,NL
1362886422,1362886422,BE
-1362886423,1362886655,NL
+1362886423,1362886423,NL
+1362886424,1362886655,BE
1362886656,1363017727,ES
1363017728,1363148799,CH
1363148800,1363410943,FR
@@ -39145,8 +47930,8 @@
1364787200,1364795391,RO
1364795392,1364799487,ES
1364799488,1364803583,SK
-1364803584,1364811775,RU
-1364811776,1364815871,DE
+1364803584,1364809727,RU
+1364809728,1364815871,DE
1364815872,1364819967,RU
1364819968,1364823295,GB
1364823296,1364823311,AE
@@ -39214,9 +47999,7 @@
1364983808,1364991999,DE
1364992000,1364996095,IT
1364996096,1365000191,GR
-1365000192,1365002431,SE
-1365002432,1365002447,GB
-1365002448,1365002751,SE
+1365000192,1365002751,SE
1365002752,1365003263,GB
1365003264,1365003903,SE
1365003904,1365004035,GB
@@ -39227,18 +48010,23 @@
1365004288,1365008383,FR
1365008384,1365012479,CH
1365012480,1365012735,FR
-1365012736,1365013503,US
+1365012736,1365013503,EU
1365013504,1365013631,FR
-1365013632,1365015551,US
+1365013632,1365013855,EU
+1365013856,1365014527,US
+1365014528,1365015551,EU
1365015552,1365015839,FR
1365015840,1365015919,US
1365015920,1365015927,DE
1365015928,1365015935,ES
-1365015936,1365016063,US
+1365015936,1365015999,EU
+1365016000,1365016047,US
+1365016048,1365016063,CN
1365016064,1365016079,FR
-1365016080,1365016095,US
+1365016080,1365016095,EU
1365016096,1365016111,FR
-1365016112,1365016575,US
+1365016112,1365016255,EU
+1365016256,1365016575,US
1365016576,1365020671,ES
1365020672,1365024767,CZ
1365024768,1365027839,DE
@@ -39253,7 +48041,9 @@
1365041728,1365042047,LU
1365042048,1365042055,GB
1365042056,1365042175,LU
-1365042176,1365044479,FR
+1365042176,1365044223,FR
+1365044224,1365044287,BE
+1365044288,1365044479,FR
1365044480,1365044607,LU
1365044608,1365044639,BE
1365044640,1365044655,LU
@@ -39338,23 +48128,22 @@
1365103744,1365103775,ES
1365103776,1365103791,GB
1365103792,1365103871,ES
-1365103872,1365104135,GB
-1365104136,1365104199,ES
+1365103872,1365104127,GB
+1365104128,1365104199,ES
1365104200,1365104207,GB
1365104208,1365106687,ES
1365106688,1365110783,GB
1365110784,1365114879,FR
1365114880,1365118975,BA
1365118976,1365127167,RU
-1365127168,1365127427,AT
-1365127428,1365127431,TR
-1365127432,1365130271,AT
+1365127168,1365130271,AT
1365130272,1365130303,IT
1365130304,1365130495,AT
1365130496,1365131007,IT
1365131008,1365131263,AT
1365131264,1365139455,SE
-1365139456,1365147647,CH
+1365139456,1365147639,CH
+1365147640,1365147647,EU
1365147648,1365155839,RU
1365155840,1365159935,SE
1365159936,1365164031,HU
@@ -39591,9 +48380,17 @@
1369505792,1369538559,DE
1369538560,1369554943,DK
1369554944,1369559039,PL
-1369559040,1369563135,RU
+1369559040,1369563135,CZ
1369563136,1369567231,PL
1369567232,1369571327,BG
+1369571328,1369585663,RU
+1369585664,1369591807,UA
+1369591808,1369595903,SK
+1369595904,1369604095,UA
+1369604096,1369620479,MD
+1369620480,1369624575,CZ
+1369624576,1369626623,PL
+1369626624,1369636863,UA
1369636864,1369638911,IR
1369638912,1369640959,PL
1369640960,1369655295,RU
@@ -39617,9 +48414,21 @@
1370128384,1370161151,SE
1370161152,1370170367,NL
1370170368,1370170399,US
-1370170400,1370187775,NL
+1370170400,1370174463,NL
+1370174464,1370175487,US
+1370175488,1370181887,NL
+1370181888,1370182143,US
+1370182144,1370182911,NL
+1370182912,1370183167,US
+1370183168,1370185983,NL
+1370185984,1370186495,US
+1370186496,1370187775,NL
1370187776,1370188031,GR
-1370188032,1370193919,NL
+1370188032,1370188799,NL
+1370188800,1370189055,US
+1370189056,1370189311,NL
+1370189312,1370189567,US
+1370189568,1370193919,NL
1370193920,1370226687,GB
1370226688,1370259455,ES
1370259456,1370292223,SE
@@ -39855,9 +48664,7 @@
1372697280,1372697343,EU
1372697344,1372698471,DE
1372698472,1372698559,EU
-1372698560,1372699135,DE
-1372699136,1372699391,EU
-1372699392,1372700159,DE
+1372698560,1372700159,DE
1372700160,1372700415,SE
1372700416,1372700671,EU
1372700672,1372702463,DE
@@ -39872,13 +48679,7 @@
1372703392,1372703423,EU
1372703424,1372703487,DE
1372703488,1372704767,EU
-1372704768,1372713327,DE
-1372713328,1372713343,EU
-1372713344,1372713375,DE
-1372713376,1372713471,EU
-1372713472,1372714239,DE
-1372714240,1372714495,EU
-1372714496,1372717055,DE
+1372704768,1372717055,DE
1372717056,1372749823,PL
1372749824,1372782591,DE
1372782592,1372815359,RU
@@ -39945,9 +48746,7 @@
1382092368,1382092399,MC
1382092400,1382092815,FR
1382092816,1382092831,MC
-1382092832,1382092895,FR
-1382092896,1382092911,CH
-1382092912,1382092927,FR
+1382092832,1382092927,FR
1382092928,1382092943,MC
1382092944,1382093055,FR
1382093056,1382093087,GB
@@ -40023,7 +48822,9 @@
1382217984,1382219007,GB
1382219008,1382219519,NL
1382219520,1382219775,GB
-1382219776,1382223327,SE
+1382219776,1382222847,SE
+1382222848,1382222911,FI
+1382222912,1382223327,SE
1382223328,1382223359,FI
1382223360,1382223551,SE
1382223552,1382223615,NO
@@ -40039,8 +48840,7 @@
1382229504,1382229511,NO
1382229512,1382232575,SE
1382232576,1382232639,NO
-1382232640,1382232703,DK
-1382232704,1382233279,SE
+1382232640,1382233279,SE
1382233280,1382233343,NO
1382233344,1382233407,SE
1382233408,1382233423,NO
@@ -40081,18 +48881,23 @@
1383096448,1383096575,FR
1383096576,1383096831,GB
1383096832,1383096863,FR
-1383096864,1383097087,GB
+1383096864,1383096959,GB
+1383096960,1383097087,FR
1383097088,1383097343,ES
1383097344,1383098111,GB
1383098112,1383098367,DE
1383098368,1383098879,GB
1383098880,1383099159,DE
-1383099160,1383099391,GB
-1383099392,1383099679,DE
-1383099680,1383099687,GB
-1383099688,1383099695,DE
-1383099696,1383099711,GB
-1383099712,1383099903,DE
+1383099160,1383099163,BE
+1383099164,1383099167,NL
+1383099168,1383099171,IT
+1383099172,1383099175,RU
+1383099176,1383099179,GB
+1383099180,1383099191,DE
+1383099192,1383099199,GB
+1383099200,1383099231,DE
+1383099232,1383099391,GB
+1383099392,1383099903,DE
1383099904,1383100415,FR
1383100416,1383100831,GB
1383100832,1383100847,IE
@@ -40270,17 +49075,7 @@
1384349696,1384382463,HU
1384382464,1384415231,HR
1384415232,1384480767,GB
-1384480768,1384488863,FI
-1384488864,1384488871,AX
-1384488872,1384494879,FI
-1384494880,1384494887,AX
-1384494888,1384494935,FI
-1384494936,1384494943,AX
-1384494944,1384502415,FI
-1384502416,1384502447,AX
-1384502448,1384504615,FI
-1384504616,1384504623,AX
-1384504624,1384513535,FI
+1384480768,1384513535,FI
1384513536,1384546303,NO
1384546304,1384579071,NL
1384579072,1384611839,DE
@@ -40294,9 +49089,7 @@
1384742912,1384759295,RU
1384759296,1384775679,SY
1384775680,1384792063,RU
-1384792064,1384792575,FR
-1384792576,1384792607,CH
-1384792608,1384792623,FR
+1384792064,1384792623,FR
1384792624,1384792639,BE
1384792640,1384793679,FR
1384793680,1384793695,BE
@@ -40306,9 +49099,7 @@
1384794128,1384794143,CH
1384794144,1384794271,FR
1384794272,1384794287,CH
-1384794288,1384794879,FR
-1384794880,1384795135,CH
-1384795136,1384795279,FR
+1384794288,1384795279,FR
1384795280,1384795327,BE
1384795328,1384799807,FR
1384799808,1384799871,CH
@@ -40428,7 +49219,9 @@
1385308160,1385309439,BE
1385309440,1385309695,RU
1385309696,1385310207,BE
-1385310208,1385316351,RU
+1385310208,1385312255,RU
+1385312256,1385314303,US
+1385314304,1385316351,RU
1385316352,1385324543,NO
1385324544,1385332735,BE
1385332736,1385340927,GB
@@ -40475,8 +49268,8 @@
1385563136,1385563391,IE
1385563392,1385563647,EU
1385563648,1385563935,IE
-1385563936,1385564031,EU
-1385564032,1385564095,IE
+1385563936,1385564039,EU
+1385564040,1385564095,IE
1385564096,1385564103,EU
1385564104,1385564111,IE
1385564112,1385564159,EU
@@ -40509,7 +49302,9 @@
1385568256,1385568767,FR
1385568768,1385569279,EU
1385569280,1385569407,FR
-1385569408,1385569487,CZ
+1385569408,1385569455,CZ
+1385569456,1385569471,EU
+1385569472,1385569487,CZ
1385569488,1385569791,EU
1385569792,1385570303,FR
1385570304,1385578495,HU
@@ -40524,7 +49319,8 @@
1385590784,1385591295,US
1385591296,1385591807,HK
1385591808,1385592063,SG
-1385592064,1385594879,GB
+1385592064,1385592319,EU
+1385592320,1385594879,GB
1385594880,1385603071,NL
1385603072,1385611263,CZ
1385611264,1385619455,AT
@@ -40545,10 +49341,7 @@
1386348544,1386414079,RU
1386414080,1386479615,GB
1386479616,1386545151,NO
-1386545152,1386586111,DE
-1386586112,1386594303,US
-1386594304,1386602495,DE
-1386602496,1386610687,US
+1386545152,1386610687,DE
1386610688,1386676223,IL
1386676224,1386741759,SA
1386741760,1387233623,NL
@@ -40558,16 +49351,16 @@
1387233728,1387233791,NL
1387233792,1387233919,BE
1387233920,1387249663,NL
-1387249664,1387251231,BE
+1387249664,1387250687,BE
+1387250688,1387251199,NL
+1387251200,1387251231,BE
1387251232,1387251263,NL
1387251264,1387251615,BE
1387251616,1387251647,NL
1387251648,1387251727,BE
1387251728,1387251751,NL
1387251752,1387251759,BE
-1387251760,1387252223,NL
-1387252224,1387252479,BE
-1387252480,1387331583,NL
+1387251760,1387331583,NL
1387331584,1387397119,PL
1387397120,1387462655,OM
1387462656,1387528191,RU
@@ -40577,7 +49370,16 @@
1387790336,1388314623,IT
1388314624,1388322815,AT
1388322816,1388331007,SI
-1388331008,1388338175,NL
+1388331008,1388331519,NL
+1388331520,1388331522,FR
+1388331523,1388331524,NL
+1388331525,1388331526,GB
+1388331527,1388331528,DE
+1388331529,1388331532,NL
+1388331533,1388331534,IT
+1388331535,1388331536,NL
+1388331537,1388331538,PL
+1388331539,1388338175,NL
1388338176,1388338178,FR
1388338179,1388338180,GB
1388338181,1388338182,DE
@@ -40596,15 +49398,11 @@
1388388944,1388388951,NG
1388388952,1388388959,IT
1388388960,1388388967,NG
-1388388968,1388389119,IT
-1388389120,1388389135,NG
-1388389136,1388389151,IT
-1388389152,1388389167,NG
-1388389168,1388389567,IT
+1388388968,1388388975,IT
+1388388976,1388388991,NG
+1388388992,1388389567,IT
1388389568,1388389631,NG
-1388389632,1388389927,IT
-1388389928,1388389935,NG
-1388389936,1388389943,IT
+1388389632,1388389943,IT
1388389944,1388390015,NG
1388390016,1388390143,IT
1388390144,1388394495,NG
@@ -40710,13 +49508,12 @@
1388689648,1388691455,CH
1388691456,1388699647,NL
1388699648,1388707839,SE
-1388707840,1388708607,RU
+1388707840,1388708095,RU
+1388708096,1388708607,LB
1388708608,1388709119,LT
1388709120,1388709375,IQ
1388709376,1388709887,RU
-1388709888,1388710143,LB
-1388710144,1388710399,RU
-1388710400,1388710911,LB
+1388709888,1388710911,LB
1388710912,1388711167,IQ
1388711168,1388711679,RU
1388711680,1388711935,IQ
@@ -40732,142 +49529,56 @@
1388715520,1388715775,LV
1388715776,1388716031,LT
1388716032,1388724223,ES
-1388724224,1388728600,DE
-1388728601,1388728608,CZ
-1388728609,1388728640,DE
-1388728641,1388728673,AT
-1388728674,1388728734,DE
-1388728735,1388728762,AT
-1388728763,1388728783,DE
-1388728784,1388728799,AT
-1388728800,1388728815,DE
-1388728816,1388728820,AT
-1388728821,1388729208,DE
-1388729209,1388729240,AT
-1388729241,1388729280,DE
-1388729281,1388729296,AT
-1388729297,1388729304,DE
-1388729305,1388729320,AT
-1388729321,1388729856,DE
-1388729857,1388729888,AT
-1388729889,1388731136,DE
-1388731137,1388731391,AT
-1388731392,1388732415,DE
+1388724224,1388732415,DE
1388732416,1388740607,ES
1388740608,1388740623,GB
-1388740624,1388740719,IE
+1388740624,1388740703,IE
+1388740704,1388740707,GB
+1388740708,1388740719,IE
1388740720,1388740735,GB
1388740736,1388740847,IE
1388740848,1388740863,GB
-1388740864,1388741375,IE
-1388741376,1388741443,GB
-1388741444,1388741535,IE
-1388741536,1388741551,GB
-1388741552,1388741559,IE
-1388741560,1388741599,GB
-1388741600,1388741615,IE
+1388740864,1388741559,IE
+1388741560,1388741567,GB
+1388741568,1388741615,IE
1388741616,1388741631,GB
-1388741632,1388741659,IE
-1388741660,1388741723,GB
-1388741724,1388741745,IE
-1388741746,1388741747,GB
-1388741748,1388741751,IE
-1388741752,1388741759,GB
-1388741760,1388741787,IE
+1388741632,1388741699,IE
+1388741700,1388741711,GB
+1388741712,1388741787,IE
1388741788,1388741791,GB
-1388741792,1388741799,IE
-1388741800,1388741800,GB
-1388741801,1388741807,IE
-1388741808,1388741815,GB
-1388741816,1388741859,IE
-1388741860,1388741863,GB
-1388741864,1388742011,IE
-1388742012,1388742015,GB
-1388742016,1388742019,IE
-1388742020,1388742023,GB
-1388742024,1388742024,IE
-1388742025,1388742031,GB
-1388742032,1388742067,IE
+1388741792,1388741971,IE
+1388741972,1388741983,GB
+1388741984,1388742067,IE
1388742068,1388742079,GB
1388742080,1388742655,IE
1388742656,1388742719,GB
1388742720,1388742731,IE
1388742732,1388742735,IR
-1388742736,1388742783,IE
-1388742784,1388742847,GB
-1388742848,1388743023,IE
-1388743024,1388743035,GB
-1388743036,1388743047,IE
-1388743048,1388743055,GB
-1388743056,1388743087,IE
+1388742736,1388742815,IE
+1388742816,1388742847,GB
+1388742848,1388743087,IE
1388743088,1388743099,GB
-1388743100,1388743343,IE
-1388743344,1388743351,GB
-1388743352,1388743359,IE
-1388743360,1388743375,GB
-1388743376,1388743443,IE
-1388743444,1388743451,GB
-1388743452,1388743555,IE
-1388743556,1388743559,GB
-1388743560,1388743571,IE
-1388743572,1388743582,GB
-1388743583,1388743919,IE
-1388743920,1388743935,GB
-1388743936,1388744047,IE
-1388744048,1388744055,GB
-1388744056,1388744087,IE
-1388744088,1388744095,GB
-1388744096,1388744117,IE
-1388744118,1388744127,GB
-1388744128,1388744893,IE
-1388744894,1388744895,GB
-1388744896,1388744911,IE
-1388744912,1388744915,GB
-1388744916,1388745155,IE
-1388745156,1388745159,GB
-1388745160,1388745499,IE
-1388745500,1388745503,GB
-1388745504,1388745559,IE
-1388745560,1388745563,GB
-1388745564,1388745683,IE
-1388745684,1388745687,GB
-1388745688,1388745726,IE
+1388743100,1388743603,IE
+1388743604,1388743615,GB
+1388743616,1388745671,IE
+1388745672,1388745683,GB
+1388745684,1388745726,IE
1388745727,1388745727,GB
-1388745728,1388745911,IE
-1388745912,1388745915,GB
-1388745916,1388745927,IE
-1388745928,1388745931,GB
-1388745932,1388746155,IE
-1388746156,1388746159,GB
-1388746160,1388746187,IE
+1388745728,1388746187,IE
1388746188,1388746191,GB
-1388746192,1388746659,IE
-1388746660,1388746671,GB
-1388746672,1388746675,IE
-1388746676,1388746695,GB
-1388746696,1388746703,IE
+1388746192,1388746703,IE
1388746704,1388746711,GB
-1388746712,1388746967,IE
+1388746712,1388746851,IE
+1388746852,1388746863,GB
+1388746864,1388746967,IE
1388746968,1388746975,GB
-1388746976,1388747543,IE
-1388747544,1388747547,GB
-1388747548,1388747575,IE
-1388747576,1388747599,GB
+1388746976,1388747583,IE
+1388747584,1388747599,GB
1388747600,1388747627,IE
-1388747628,1388747647,GB
-1388747648,1388747783,IE
-1388747784,1388747791,GB
-1388747792,1388747859,IE
-1388747860,1388747875,GB
-1388747876,1388747983,IE
-1388747984,1388747987,GB
-1388747988,1388748030,IE
-1388748031,1388748031,GB
-1388748032,1388748223,IE
-1388748224,1388748255,GB
-1388748256,1388748287,IE
-1388748288,1388748295,GB
-1388748296,1388748349,IE
+1388747628,1388747631,GB
+1388747632,1388748295,IE
+1388748296,1388748319,GB
+1388748320,1388748349,IE
1388748350,1388748351,GB
1388748352,1388748799,IE
1388748800,1388756991,RU
@@ -40877,9 +49588,7 @@
1388781568,1388789759,ES
1388789760,1388794943,NL
1388794944,1388794959,GB
-1388794960,1388795343,NL
-1388795344,1388795359,GB
-1388795360,1388796559,NL
+1388794960,1388796559,NL
1388796560,1388796575,GB
1388796576,1388796679,NL
1388796680,1388796687,GB
@@ -40890,8 +49599,8 @@
1388806144,1388807679,DE
1388807680,1388807711,BZ
1388807712,1388808255,DE
-1388808256,1388808283,BZ
-1388808284,1388814335,DE
+1388808256,1388808287,BZ
+1388808288,1388814335,DE
1388814336,1388815103,AX
1388815104,1388815231,FI
1388815232,1388818687,AX
@@ -40984,13 +49693,13 @@
1389212928,1389212991,IR
1389212992,1389213087,A2
1389213088,1389213119,IQ
-1389213120,1389213207,A2
-1389213208,1389213215,LY
-1389213216,1389213311,A2
-1389213312,1389213343,LY
-1389213344,1389214719,A2
+1389213120,1389213183,A2
+1389213184,1389213439,LY
+1389213440,1389214719,A2
1389214720,1389215743,LY
-1389215744,1389217791,AF
+1389215744,1389215999,AF
+1389216000,1389217535,A2
+1389217536,1389217791,AF
1389217792,1389218047,A2
1389218048,1389218303,AE
1389218304,1389219839,AF
@@ -41005,7 +49714,9 @@
1389222560,1389222591,SA
1389222592,1389223679,A2
1389223680,1389224191,DE
-1389224192,1389225583,A2
+1389224192,1389225215,A2
+1389225216,1389225471,US
+1389225472,1389225583,A2
1389225584,1389225599,IQ
1389225600,1389225983,A2
1389225984,1389226239,AE
@@ -41180,7 +49891,8 @@
1389293056,1389293311,US
1389293312,1389293567,KE
1389293568,1389294335,A2
-1389294336,1389294719,US
+1389294336,1389294591,US
+1389294592,1389294719,A2
1389294720,1389294847,IQ
1389294848,1389295615,US
1389295616,1389295871,ZA
@@ -41215,7 +49927,9 @@
1389544928,1389544943,SG
1389544944,1389548991,DE
1389548992,1389549055,BE
-1389549056,1389554023,DE
+1389549056,1389552735,DE
+1389552736,1389552743,FR
+1389552744,1389554023,DE
1389554024,1389554039,FR
1389554040,1389554047,TR
1389554048,1389554087,DE
@@ -41229,10 +49943,10 @@
1389556752,1389556759,CH
1389556760,1389559743,DE
1389559744,1389559807,CH
-1389559808,1389561343,DE
-1389561344,1389561407,IT
-1389561408,1389561471,DE
-1389561472,1389561599,IT
+1389559808,1389560063,DE
+1389560064,1389560319,BR
+1389560320,1389561343,DE
+1389561344,1389561599,IT
1389561600,1389562367,DE
1389562368,1389563135,IT
1389563136,1389563391,DE
@@ -41240,14 +49954,33 @@
1389563648,1389563903,US
1389563904,1389564159,IT
1389564160,1389564415,DE
-1389564416,1389564671,IT
+1389564416,1389564671,US
1389564672,1389565183,DE
-1389565184,1389565695,IT
-1389565696,1389568767,DE
+1389565184,1389565439,US
+1389565440,1389565695,IT
+1389565696,1389565951,US
+1389565952,1389566207,IT
+1389566208,1389566463,BR
+1389566464,1389566719,DE
+1389566720,1389566975,US
+1389566976,1389568767,DE
1389568768,1389569023,IT
1389569024,1389569279,DE
-1389569280,1389569535,US
-1389569536,1389576191,DE
+1389569280,1389570047,US
+1389570048,1389570303,IT
+1389570304,1389570559,US
+1389570560,1389571839,DE
+1389571840,1389572095,US
+1389572096,1389572607,DE
+1389572608,1389572863,US
+1389572864,1389573375,DE
+1389573376,1389573631,US
+1389573632,1389573887,DE
+1389573888,1389574143,NL
+1389574144,1389574399,DE
+1389574400,1389574655,US
+1389574656,1389575167,DE
+1389575168,1389576191,US
1389576192,1389592575,GB
1389592576,1389608959,GE
1389608960,1389625343,DK
@@ -41261,7 +49994,8 @@
1389756416,1389772799,SE
1389772800,1389778431,SI
1389778432,1389778943,CA
-1389778944,1389780991,RS
+1389778944,1389780735,RS
+1389780736,1389780991,SI
1389780992,1389782527,HR
1389782528,1389782543,SI
1389782544,1389782559,HR
@@ -41317,7 +50051,6 @@
1398833152,1398840447,NL
1398840448,1398840575,GB
1398840576,1398865919,NL
-1398865920,1398867967,DE
1398867968,1398870015,NL
1398870016,1398872063,PL
1398872064,1398874111,BG
@@ -41345,9 +50078,7 @@
1398967872,1398967903,IE
1398967904,1398968063,NL
1398968064,1398968319,DE
-1398968320,1398972415,NL
-1398972416,1398972671,IE
-1398972672,1398973695,NL
+1398968320,1398973695,NL
1398973696,1398973951,AT
1398973952,1398974207,US
1398974208,1398979327,NL
@@ -41393,9 +50124,7 @@
1400712192,1400712447,EU
1400712448,1400712703,DE
1400712704,1400712959,EU
-1400712960,1400716287,DE
-1400716288,1400717311,EU
-1400717312,1400718335,DE
+1400712960,1400718335,DE
1400718336,1400718847,EU
1400718848,1400721407,DE
1400721408,1400721919,EU
@@ -41471,8 +50200,9 @@
1401477120,1401479167,BE
1401479168,1401481215,PL
1401481216,1401485311,RU
-1401485312,1401487359,FI
-1401487360,1401489407,GB
+1401485312,1401486335,GB
+1401486336,1401486336,FI
+1401486337,1401489407,GB
1401489408,1401491455,SE
1401491456,1401493503,NL
1401493504,1401495551,CH
@@ -41582,7 +50312,7 @@
1401705988,1401708287,SE
1401708288,1401708543,DE
1401708544,1401709055,FR
-1401709056,1401709311,SE
+1401709056,1401709311,EU
1401709312,1401709567,GB
1401709568,1401711615,SE
1401711616,1401711647,GB
@@ -41606,7 +50336,7 @@
1401712192,1401712223,SE
1401712224,1401712255,ES
1401712256,1401712287,DK
-1401712288,1401712319,SE
+1401712288,1401712319,EU
1401712320,1401712351,IT
1401712352,1401712383,DE
1401712384,1401712415,GB
@@ -41730,7 +50460,8 @@
1401747488,1401747495,DK
1401747496,1401747499,SE
1401747500,1401747503,GB
-1401747504,1401747583,SE
+1401747504,1401747519,SE
+1401747520,1401747583,EU
1401747584,1401747587,DE
1401747588,1401747647,SE
1401747648,1401747663,DE
@@ -41790,7 +50521,7 @@
1401901056,1401903103,NO
1401903104,1401905151,FI
1401905152,1401907199,PL
-1401907200,1401909247,GR
+1401907200,1401909247,EU
1401909248,1401911295,NO
1401911296,1401913343,DK
1401913344,1401917439,PL
@@ -41812,14 +50543,14 @@
1401962496,1401978879,PL
1401978880,1401995263,PT
1401995264,1402011647,CH
-1402011648,1402027823,SE
+1402011648,1402018815,SE
+1402018816,1402019327,FI
+1402019328,1402027823,SE
1402027824,1402027831,GB
1402027832,1402028031,SE
1402028032,1402044415,FR
1402044416,1402060799,PL
-1402060800,1402068159,FI
-1402068160,1402068175,AX
-1402068176,1402077183,FI
+1402060800,1402077183,FI
1402077184,1402093567,GB
1402093568,1402109951,RU
1402109952,1402142719,FI
@@ -41831,9 +50562,7 @@
1402224640,1402241023,BG
1402241024,1402257407,GB
1402257408,1402273791,FI
-1402273792,1402277119,RU
-1402277120,1402277375,MD
-1402277376,1402277631,KG
+1402273792,1402277631,RU
1402277632,1402277887,TJ
1402277888,1402290175,RU
1402290176,1402306559,NL
@@ -41887,9 +50616,17 @@
1403412480,1403420671,RU
1403420672,1403428863,NL
1403428864,1403437055,GB
-1403437056,1403445247,RO
+1403437056,1403440127,RO
+1403440128,1403440132,EU
+1403440133,1403440134,RO
+1403440135,1403440383,EU
+1403440384,1403444351,RO
+1403444352,1403444479,EU
+1403444480,1403445247,RO
1403445248,1403461631,RU
-1403461632,1403464663,FR
+1403461632,1403462015,FR
+1403462016,1403462023,GB
+1403462024,1403464663,FR
1403464664,1403464671,BE
1403464672,1403465727,FR
1403465728,1403465743,GB
@@ -41903,7 +50640,9 @@
1403510784,1403518975,CZ
1403518976,1403535359,CY
1403535360,1403551743,PL
-1403551744,1403568127,SK
+1403551744,1403556503,SK
+1403556504,1403556511,SR
+1403556512,1403568127,SK
1403568128,1403573247,SE
1403573248,1403573503,ES
1403573504,1403574783,SE
@@ -42018,7 +50757,7 @@
1404010496,1404026879,PL
1404026880,1404043263,ES
1404043264,1404051455,EE
-1404051456,1404059647,SE
+1404051456,1404059647,HR
1404059648,1404076031,NO
1404076032,1404084223,DE
1404084224,1404092415,NO
@@ -42041,9 +50780,7 @@
1404197888,1404198911,LT
1404198912,1404200959,SE
1404200960,1404203007,NL
-1404203008,1404204800,HR
-1404204801,1404205055,SE
-1404205056,1404207103,HR
+1404203008,1404207103,HR
1404207104,1404210175,NO
1404210176,1404212223,LV
1404212224,1404215295,SE
@@ -42079,11 +50816,7 @@
1404600320,1404645375,SE
1404645376,1404645887,HR
1404645888,1404764159,SE
-1404764160,1404768511,NL
-1404768512,1404768767,SE
-1404768768,1404769279,NL
-1404769280,1404770303,SE
-1404770304,1404780543,NL
+1404764160,1404780543,NL
1404780544,1404796927,SE
1404796928,1404801023,EE
1404801024,1404802047,SE
@@ -42105,7 +50838,10 @@
1404928000,1404944383,SE
1404944384,1404952575,DE
1404952576,1404960767,NL
-1404960768,1405050879,SE
+1404960768,1405026303,SE
+1405026304,1405042687,NO
+1405042688,1405048831,SE
+1405048832,1405050879,HR
1405050880,1405059071,AT
1405059072,1405063167,SE
1405063168,1405067263,NO
@@ -42182,19 +50918,52 @@
1406752512,1406752735,BE
1406752736,1406752751,NL
1406752752,1406752767,BE
-1406752768,1406754815,NL
+1406752768,1406754559,NL
+1406754560,1406754815,FR
1406754816,1406763007,GB
1406763008,1406771199,BE
1406771200,1406779391,GB
1406779392,1406787583,RU
1406787584,1406787679,GB
1406787680,1406787695,ES
-1406787696,1406787911,GB
-1406787912,1406788351,ES
+1406787696,1406787935,GB
+1406787936,1406787967,ES
+1406787968,1406788055,GB
+1406788056,1406788351,ES
1406788352,1406788479,BG
1406788480,1406788607,ES
1406788608,1406788711,GB
-1406788712,1406795775,ES
+1406788712,1406789119,ES
+1406789120,1406789135,GB
+1406789136,1406789183,ES
+1406789184,1406789247,GB
+1406789248,1406789375,ES
+1406789376,1406789503,RO
+1406789504,1406789631,ES
+1406789632,1406789887,FR
+1406789888,1406790015,HU
+1406790016,1406790143,ES
+1406790144,1406790176,GB
+1406790177,1406790207,ES
+1406790208,1406791087,GB
+1406791088,1406791103,ES
+1406791104,1406791135,GB
+1406791136,1406791423,ES
+1406791424,1406791487,GB
+1406791488,1406791679,ES
+1406791680,1406791935,GB
+1406791936,1406791967,DE
+1406791968,1406792191,ES
+1406792192,1406792703,GB
+1406792704,1406792719,FR
+1406792720,1406792735,ES
+1406792736,1406792959,FR
+1406792960,1406793215,ES
+1406793216,1406793455,GB
+1406793456,1406793471,ES
+1406793472,1406793727,GB
+1406793728,1406794751,ES
+1406794752,1406795775,NL
1406795776,1406803967,GB
1406803968,1406812159,DE
1406812160,1406820351,SE
@@ -42222,8 +50991,12 @@
1406964928,1406967295,DE
1406967296,1406967327,GB
1406967328,1406967343,NL
-1406967344,1406967359,GB
-1406967360,1406967807,DE
+1406967344,1406967399,GB
+1406967400,1406967407,DE
+1406967408,1406967423,GB
+1406967424,1406967551,DE
+1406967552,1406967615,GB
+1406967616,1406967807,DE
1406967808,1406975999,RU
1406976000,1406984191,IE
1406984192,1407000575,RU
@@ -42273,224 +51046,215 @@
1407320064,1407451135,SE
1407451136,1407483903,BG
1407483904,1407516671,CH
-1407516672,1407516679,A2
-1407516680,1407516687,NG
-1407516688,1407516703,A2
+1407516672,1407516679,GB
+1407516680,1407516695,NG
+1407516696,1407516703,GB
1407516704,1407516711,NG
-1407516712,1407516727,A2
+1407516712,1407516727,GB
1407516728,1407516735,NG
1407516736,1407516743,UG
1407516744,1407516751,LR
-1407516752,1407516767,A2
+1407516752,1407516767,GB
1407516768,1407516775,AO
-1407516776,1407516783,A2
+1407516776,1407516783,GB
1407516784,1407516791,NG
-1407516792,1407516807,A2
+1407516792,1407516807,GB
1407516808,1407516815,NG
-1407516816,1407516847,A2
+1407516816,1407516847,GB
1407516848,1407516855,NG
-1407516856,1407516863,A2
+1407516856,1407516863,GB
1407516864,1407516871,NG
-1407516872,1407516879,A2
+1407516872,1407516879,GB
1407516880,1407516895,NG
-1407516896,1407516911,A2
+1407516896,1407516911,GB
1407516912,1407516927,NG
-1407516928,1407516935,A2
-1407516936,1407516951,NG
-1407516952,1407516959,A2
+1407516928,1407516943,GB
+1407516944,1407516951,NG
+1407516952,1407516959,GB
1407516960,1407516967,NG
-1407516968,1407516975,A2
+1407516968,1407516975,GB
1407516976,1407516983,GN
1407516984,1407516991,KE
1407516992,1407516999,CD
-1407517000,1407517023,A2
+1407517000,1407517023,GB
1407517024,1407517031,GQ
1407517032,1407517039,NG
-1407517040,1407517047,A2
-1407517048,1407517055,GQ
-1407517056,1407517135,A2
+1407517040,1407517135,GB
1407517136,1407517143,NG
-1407517144,1407517151,A2
+1407517144,1407517151,GB
1407517152,1407517159,CD
1407517160,1407517167,ML
-1407517168,1407517175,A2
+1407517168,1407517175,GB
1407517176,1407517183,NG
-1407517184,1407517311,GB
-1407517312,1407517383,A2
+1407517184,1407517383,GB
1407517384,1407517391,CD
-1407517392,1407517423,A2
+1407517392,1407517423,GB
1407517424,1407517431,US
1407517432,1407517439,NG
-1407517440,1407517695,A2
+1407517440,1407517695,GB
1407517696,1407517887,NG
1407517888,1407517919,CD
-1407517920,1407517951,A2
+1407517920,1407517951,GB
1407517952,1407518015,SL
-1407518016,1407518031,ZA
-1407518032,1407518039,A2
+1407518016,1407518023,GB
+1407518024,1407518031,ZA
+1407518032,1407518039,GB
1407518040,1407518055,CD
1407518056,1407518063,NG
-1407518064,1407518079,A2
+1407518064,1407518079,GB
1407518080,1407518111,LR
1407518112,1407518127,NG
1407518128,1407518135,ZW
1407518136,1407518143,GH
-1407518144,1407518151,A2
+1407518144,1407518151,GB
1407518152,1407518159,ZA
1407518160,1407518167,NG
1407518168,1407518175,CD
-1407518176,1407518183,A2
+1407518176,1407518183,GB
1407518184,1407518199,NG
1407518200,1407518207,AE
1407518208,1407518215,LR
-1407518216,1407518231,A2
+1407518216,1407518231,GB
1407518232,1407518255,NG
1407518256,1407518263,CD
1407518264,1407518269,GH
-1407518270,1407518335,A2
+1407518270,1407518335,GB
1407518336,1407518343,CG
1407518344,1407518351,ZA
-1407518352,1407518359,A2
+1407518352,1407518359,GB
1407518360,1407518367,NG
1407518368,1407518375,ZA
1407518376,1407518383,AO
-1407518384,1407518831,A2
+1407518384,1407518831,GB
1407518832,1407518847,NG
1407518848,1407518911,FR
1407518912,1407518943,NG
-1407518944,1407518975,A2
+1407518944,1407518975,GB
1407518976,1407518983,NG
-1407518984,1407518991,A2
+1407518984,1407518991,GB
1407518992,1407518999,NG
-1407519000,1407519015,A2
+1407519000,1407519015,GB
1407519016,1407519023,AO
-1407519024,1407519031,A2
+1407519024,1407519031,GB
1407519032,1407519039,AO
1407519040,1407519047,NG
-1407519048,1407519055,A2
+1407519048,1407519055,GB
1407519056,1407519063,NG
1407519064,1407519071,BJ
-1407519072,1407519079,A2
+1407519072,1407519079,GB
1407519080,1407519095,NG
1407519096,1407519103,CM
1407519104,1407519111,NG
-1407519112,1407519135,SL
-1407519136,1407519143,A2
+1407519112,1407519119,SL
+1407519120,1407519127,GB
+1407519128,1407519135,SL
+1407519136,1407519143,GB
1407519144,1407519151,AO
-1407519152,1407519159,A2
+1407519152,1407519159,GB
1407519160,1407519167,AO
-1407519168,1407519175,A2
+1407519168,1407519175,GB
1407519176,1407519183,SL
-1407519184,1407519191,A2
+1407519184,1407519191,GB
1407519192,1407519199,CD
-1407519200,1407519207,A2
+1407519200,1407519207,GB
1407519208,1407519215,TG
1407519216,1407519223,NG
-1407519224,1407519231,A2
+1407519224,1407519231,GB
1407519232,1407519615,NG
-1407519616,1407519751,A2
+1407519616,1407519751,GB
1407519752,1407519759,NG
-1407519760,1407519767,CD
-1407519768,1407519775,GN
+1407519760,1407519775,GB
1407519776,1407519783,CG
-1407519784,1407519791,A2
+1407519784,1407519791,GB
1407519792,1407519799,NG
-1407519800,1407519815,A2
+1407519800,1407519815,GB
1407519816,1407519823,NG
-1407519824,1407519831,A2
+1407519824,1407519831,GB
1407519832,1407519839,SD
1407519840,1407519847,ML
1407519848,1407519855,NG
-1407519856,1407519863,GN
+1407519856,1407519863,GB
1407519864,1407519871,NG
-1407519872,1407519879,IL
+1407519872,1407519879,GB
1407519880,1407519887,NG
-1407519888,1407519895,CD
-1407519896,1407519903,A2
+1407519888,1407519903,GB
1407519904,1407519911,NG
-1407519912,1407519943,A2
+1407519912,1407519943,GB
1407519944,1407519959,CD
-1407519960,1407519967,GB
-1407519968,1407519983,NG
-1407519984,1407519991,SD
-1407519992,1407520007,NG
-1407520008,1407520015,A2
+1407519960,1407519991,GB
+1407519992,1407519999,NG
+1407520000,1407520015,GB
1407520016,1407520023,NG
-1407520024,1407520031,A2
-1407520032,1407520039,GN
-1407520040,1407520047,A2
-1407520048,1407520055,GB
-1407520056,1407520071,A2
+1407520024,1407520071,GB
1407520072,1407520079,CM
1407520080,1407520087,NG
-1407520088,1407520103,A2
+1407520088,1407520103,GB
1407520104,1407520111,SD
-1407520112,1407520119,A2
+1407520112,1407520119,GB
1407520120,1407520127,NE
-1407520128,1407520135,GN
-1407520136,1407520143,CD
+1407520128,1407520143,GB
1407520144,1407520151,GN
-1407520152,1407520152,A2
+1407520152,1407520152,GB
1407520153,1407520159,GN
-1407520160,1407520167,IL
+1407520160,1407520167,GB
1407520168,1407520175,GN
-1407520176,1407520207,A2
+1407520176,1407520207,GB
1407520208,1407520215,NG
1407520216,1407520223,CD
1407520224,1407520231,SD
-1407520232,1407520239,A2
+1407520232,1407520239,GB
1407520240,1407520247,NE
-1407520248,1407520271,A2
+1407520248,1407520271,GB
1407520272,1407520279,NG
-1407520280,1407520311,A2
+1407520280,1407520311,GB
1407520312,1407520327,NG
1407520328,1407520335,SL
-1407520336,1407520351,A2
+1407520336,1407520351,GB
1407520352,1407520359,NG
1407520360,1407520367,CD
-1407520368,1407520375,A2
+1407520368,1407520375,GB
1407520376,1407520397,NG
-1407520398,1407520415,A2
+1407520398,1407520415,GB
1407520416,1407520423,AO
-1407520424,1407520439,A2
+1407520424,1407520439,GB
1407520440,1407520447,CD
1407520448,1407520463,NG
-1407520464,1407520511,A2
+1407520464,1407520511,GB
1407520512,1407520527,CD
1407520528,1407520543,NG
-1407520544,1407520551,A2
+1407520544,1407520551,GB
1407520552,1407520559,NG
1407520560,1407520567,SL
1407520568,1407520583,NG
-1407520584,1407520591,A2
+1407520584,1407520591,GB
1407520592,1407520599,NG
-1407520600,1407520607,A2
+1407520600,1407520607,GB
1407520608,1407520615,AO
-1407520616,1407520623,A2
+1407520616,1407520623,GB
1407520624,1407520647,NG
1407520648,1407520655,ML
1407520656,1407520663,GA
-1407520664,1407520687,A2
+1407520664,1407520687,GB
1407520688,1407520695,NG
-1407520696,1407520711,A2
+1407520696,1407520711,GB
1407520712,1407520719,NG
-1407520720,1407520735,A2
+1407520720,1407520735,GB
1407520736,1407520743,LR
1407520744,1407520751,NG
1407520752,1407520759,BF
1407520760,1407520767,CD
1407520768,1407520775,TZ
-1407520776,1407520783,A2
+1407520776,1407520783,GB
1407520784,1407520791,SD
1407520792,1407520799,ZA
-1407520800,1407520807,A2
+1407520800,1407520807,GB
1407520808,1407520815,MU
1407520816,1407520823,ZW
1407520824,1407520831,CI
1407520832,1407520839,SO
-1407520840,1407520847,A2
+1407520840,1407520847,GB
1407520848,1407520855,ZM
-1407520856,1407520863,A2
+1407520856,1407520863,GB
1407520864,1407520871,TZ
1407520872,1407520887,CD
1407520888,1407520895,TZ
@@ -42498,108 +51262,107 @@
1407520904,1407520911,NG
1407520912,1407520919,ZW
1407520920,1407520927,IQ
-1407520928,1407520935,A2
+1407520928,1407520935,GB
1407520936,1407520943,CD
1407520944,1407520951,TZ
1407520952,1407520959,ZM
-1407520960,1407520967,NG
-1407520968,1407520975,A2
+1407520960,1407520975,GB
1407520976,1407520991,ZM
1407520992,1407520999,IQ
1407521000,1407521023,CD
1407521024,1407521031,ZM
-1407521032,1407521047,A2
+1407521032,1407521047,GB
1407521048,1407521055,NG
1407521056,1407521063,KE
1407521064,1407521071,NG
1407521072,1407521079,TZ
1407521080,1407521087,UG
1407521088,1407521095,NG
-1407521096,1407521103,A2
+1407521096,1407521103,GB
1407521104,1407521111,MZ
1407521112,1407521119,SL
-1407521120,1407521127,A2
+1407521120,1407521127,GB
1407521128,1407521135,NG
-1407521136,1407521143,A2
+1407521136,1407521143,GB
1407521144,1407521151,ZM
1407521152,1407521159,NG
1407521160,1407521167,ZW
-1407521168,1407521175,SD
+1407521168,1407521175,GB
1407521176,1407521183,IQ
1407521184,1407521199,CD
-1407521200,1407521207,A2
+1407521200,1407521207,GB
1407521208,1407521215,IQ
1407521216,1407521223,MU
1407521224,1407521231,TZ
1407521232,1407521239,LR
-1407521240,1407521247,A2
+1407521240,1407521247,GB
1407521248,1407521279,GH
-1407521280,1407521415,A2
+1407521280,1407521415,GB
1407521416,1407521423,LR
-1407521424,1407521535,A2
+1407521424,1407521535,GB
1407521536,1407521709,NG
-1407521710,1407521711,A2
+1407521710,1407521711,GB
1407521712,1407521727,NG
-1407521728,1407521735,A2
+1407521728,1407521735,GB
1407521736,1407521751,NG
-1407521752,1407521759,A2
+1407521752,1407521759,GB
1407521760,1407521767,NG
-1407521768,1407521783,A2
+1407521768,1407521783,GB
1407521784,1407521791,NG
-1407521792,1407522319,A2
+1407521792,1407522319,GB
1407522320,1407522327,TG
-1407522328,1407522335,A2
+1407522328,1407522335,GB
1407522336,1407522351,SO
1407522352,1407522359,CD
-1407522360,1407522367,A2
+1407522360,1407522367,GB
1407522368,1407522375,GQ
-1407522376,1407522391,A2
+1407522376,1407522391,GB
1407522392,1407522407,NG
1407522408,1407522415,ZW
1407522416,1407522423,SD
-1407522424,1407522431,A2
+1407522424,1407522431,GB
1407522432,1407522439,ZM
-1407522440,1407522455,UG
-1407522456,1407522463,ML
-1407522464,1407522471,A2
+1407522440,1407522447,GB
+1407522448,1407522455,UG
+1407522456,1407522471,GB
1407522472,1407522479,LR
1407522480,1407522487,TZ
1407522488,1407522495,ZW
1407522496,1407522503,LR
1407522504,1407522511,ZW
-1407522512,1407522527,A2
+1407522512,1407522527,GB
1407522528,1407522535,ZM
1407522536,1407522543,NG
1407522544,1407522559,UG
1407522560,1407522567,MZ
1407522568,1407522575,NG
-1407522576,1407522583,A2
+1407522576,1407522583,GB
1407522584,1407522591,GL
1407522592,1407522599,UG
1407522600,1407522607,ZM
1407522608,1407522615,AO
-1407522616,1407522631,A2
+1407522616,1407522631,GB
1407522632,1407522639,MW
1407522640,1407522647,GQ
1407522648,1407522655,NG
-1407522656,1407522671,A2
+1407522656,1407522671,GB
1407522672,1407522679,ZM
1407522680,1407522687,SD
-1407522688,1407522695,A2
+1407522688,1407522695,GB
1407522696,1407522703,GL
1407522704,1407522711,NG
1407522712,1407522719,BJ
-1407522720,1407522727,A2
+1407522720,1407522727,GB
1407522728,1407522735,ZW
-1407522736,1407522743,LR
+1407522736,1407522743,GB
1407522744,1407522751,NG
1407522752,1407522767,ZM
-1407522768,1407522775,A2
+1407522768,1407522775,GB
1407522776,1407522783,TD
1407522784,1407522791,ZW
-1407522792,1407522799,A2
+1407522792,1407522799,GB
1407522800,1407522807,NG
-1407522808,1407522815,A2
+1407522808,1407522815,GB
1407522816,1407522823,CD
1407522824,1407522831,NG
1407522832,1407522839,MZ
@@ -42609,46 +51372,44 @@
1407522864,1407522871,TZ
1407522872,1407522879,IQ
1407522880,1407522887,MU
-1407522888,1407522895,A2
+1407522888,1407522895,GB
1407522896,1407522903,UG
1407522904,1407522911,KE
1407522912,1407522919,CG
-1407522920,1407522927,A2
+1407522920,1407522927,GB
1407522928,1407522935,GR
-1407522936,1407522951,A2
-1407522952,1407522967,ZW
+1407522936,1407522967,GB
1407522968,1407522975,MU
1407522976,1407522983,CD
-1407522984,1407522991,A2
+1407522984,1407522991,GB
1407522992,1407522999,CD
-1407523000,1407523015,A2
+1407523000,1407523015,GB
1407523016,1407523023,KE
1407523024,1407523031,MU
-1407523032,1407523047,A2
+1407523032,1407523047,GB
1407523048,1407523055,NG
1407523056,1407523063,MU
-1407523064,1407523071,A2
+1407523064,1407523071,GB
1407523072,1407523079,CD
-1407523080,1407523087,A2
+1407523080,1407523087,GB
1407523088,1407523088,NG
-1407523089,1407523103,A2
+1407523089,1407523103,GB
1407523104,1407523111,UG
1407523112,1407523119,ZW
1407523120,1407523127,CD
-1407523128,1407523135,A2
+1407523128,1407523135,GB
1407523136,1407523143,BJ
-1407523144,1407523159,A2
+1407523144,1407523159,GB
1407523160,1407523167,LR
-1407523168,1407523175,A2
+1407523168,1407523175,GB
1407523176,1407523183,UG
1407523184,1407523191,NG
-1407523192,1407523207,A2
+1407523192,1407523207,GB
1407523208,1407523215,SD
1407523216,1407523223,BI
-1407523224,1407523247,AO
-1407523248,1407523255,A2
+1407523224,1407523255,GB
1407523256,1407523263,NG
-1407523264,1407523271,A2
+1407523264,1407523271,GB
1407523272,1407523279,US
1407523280,1407523287,ZW
1407523288,1407523295,NG
@@ -42656,34 +51417,28 @@
1407523304,1407523311,NG
1407523312,1407523327,BJ
1407523328,1407523335,MW
-1407523336,1407523351,A2
+1407523336,1407523351,GB
1407523352,1407523359,LU
-1407523360,1407523455,A2
-1407523456,1407523487,MW
-1407523488,1407523495,LR
-1407523496,1407523519,MW
-1407523520,1407523535,A2
+1407523360,1407523535,GB
1407523536,1407523543,SO
1407523544,1407523551,NG
1407523552,1407523559,CM
1407523560,1407523567,KE
-1407523568,1407523583,A2
+1407523568,1407523583,GB
1407523584,1407523591,IQ
-1407523592,1407523607,A2
+1407523592,1407523607,GB
1407523608,1407523615,IQ
-1407523616,1407523623,A2
+1407523616,1407523623,GB
1407523624,1407523655,IQ
-1407523656,1407523663,A2
+1407523656,1407523663,GB
1407523664,1407523719,IQ
-1407523720,1407523743,A2
+1407523720,1407523743,GB
1407523744,1407523751,IQ
-1407523752,1407523791,A2
-1407523792,1407523799,IQ
+1407523752,1407523799,GB
1407523800,1407523807,SY
-1407523808,1407523831,A2
+1407523808,1407523831,GB
1407523832,1407523839,IQ
-1407523840,1407524351,A2
-1407524352,1407524607,GB
+1407523840,1407524607,GB
1407524608,1407524615,ZW
1407524616,1407524623,CD
1407524624,1407524631,ZA
@@ -42692,33 +51447,33 @@
1407524648,1407524655,CD
1407524656,1407524663,ZW
1407524664,1407524671,CD
-1407524672,1407524679,A2
+1407524672,1407524679,GB
1407524680,1407524687,LR
1407524688,1407524703,MZ
-1407524704,1407524711,A2
+1407524704,1407524711,GB
1407524712,1407524719,ZW
-1407524720,1407524727,A2
+1407524720,1407524727,GB
1407524728,1407524735,NG
-1407524736,1407524743,A2
+1407524736,1407524743,GB
1407524744,1407524751,ZW
-1407524752,1407524759,A2
+1407524752,1407524759,GB
1407524760,1407524767,CM
1407524768,1407524775,BW
-1407524776,1407524783,A2
+1407524776,1407524783,GB
1407524784,1407524791,ZW
1407524792,1407524799,LR
-1407524800,1407524839,A2
+1407524800,1407524839,GB
1407524840,1407524847,LR
-1407524848,1407524855,A2
+1407524848,1407524855,GB
1407524856,1407524863,CD
-1407524864,1407524879,A2
+1407524864,1407524879,GB
1407524880,1407524887,ZW
1407524888,1407524895,TZ
1407524896,1407524903,LR
-1407524904,1407524911,A2
+1407524904,1407524911,GB
1407524912,1407524919,ZW
1407524920,1407524927,ZA
-1407524928,1407524935,A2
+1407524928,1407524935,GB
1407524936,1407524943,GR
1407524944,1407524951,ZW
1407524952,1407524959,UG
@@ -42727,7 +51482,7 @@
1407524976,1407524983,CD
1407524984,1407524991,ZA
1407524992,1407524999,TZ
-1407525000,1407525007,A2
+1407525000,1407525007,GB
1407525008,1407525015,TZ
1407525016,1407525023,UG
1407525024,1407525031,NG
@@ -42737,584 +51492,547 @@
1407525056,1407525063,ZA
1407525064,1407525071,SO
1407525072,1407525079,CD
-1407525080,1407525087,A2
+1407525080,1407525087,GB
1407525088,1407525095,MW
1407525096,1407525103,ZW
1407525104,1407525111,NG
1407525112,1407525119,ZA
-1407525120,1407525127,A2
+1407525120,1407525127,GB
1407525128,1407525135,SD
1407525136,1407525143,CD
1407525144,1407525151,TZ
1407525152,1407525167,CD
-1407525168,1407525175,A2
+1407525168,1407525175,GB
1407525176,1407525183,CD
1407525184,1407525191,ZW
-1407525192,1407525207,A2
+1407525192,1407525207,GB
1407525208,1407525215,CD
-1407525216,1407525231,A2
+1407525216,1407525231,GB
1407525232,1407525255,CD
-1407525256,1407525263,A2
+1407525256,1407525263,GB
1407525264,1407525287,CD
-1407525288,1407525303,A2
+1407525288,1407525303,GB
1407525304,1407525319,CD
-1407525320,1407525327,A2
+1407525320,1407525327,GB
1407525328,1407525343,CD
-1407525344,1407525383,A2
+1407525344,1407525383,GB
1407525384,1407525391,CD
-1407525392,1407525399,A2
+1407525392,1407525399,GB
1407525400,1407525407,KE
1407525408,1407525415,UG
-1407525416,1407525423,A2
+1407525416,1407525423,GB
1407525424,1407525431,UG
-1407525432,1407525471,A2
+1407525432,1407525471,GB
1407525472,1407525479,UG
1407525480,1407525487,CD
-1407525488,1407525503,A2
+1407525488,1407525503,GB
1407525504,1407525511,UG
-1407525512,1407525543,A2
+1407525512,1407525543,GB
1407525544,1407525551,KE
1407525552,1407525559,VG
-1407525560,1407525567,A2
+1407525560,1407525567,GB
1407525568,1407525575,CD
1407525576,1407525583,LR
-1407525584,1407525607,A2
+1407525584,1407525607,GB
1407525608,1407525615,CD
-1407525616,1407525623,A2
+1407525616,1407525623,GB
1407525624,1407525631,SO
-1407525632,1407525639,A2
-1407525640,1407525679,IQ
-1407525680,1407525695,A2
+1407525632,1407525695,GB
1407525696,1407525703,IQ
-1407525704,1407525719,A2
-1407525720,1407525727,IQ
-1407525728,1407525751,A2
+1407525704,1407525751,GB
1407525752,1407525759,IQ
-1407525760,1407525775,A2
-1407525776,1407525783,IQ
-1407525784,1407526711,A2
+1407525760,1407526711,GB
1407526712,1407526719,GN
-1407526720,1407528959,A2
+1407526720,1407528959,GB
1407528960,1407528991,SO
-1407528992,1407529023,A2
-1407529024,1407529087,NG
+1407528992,1407529023,GB
+1407529024,1407529087,US
1407529088,1407529095,SO
-1407529096,1407529103,A2
+1407529096,1407529103,GB
1407529104,1407529111,SO
-1407529112,1407529119,A2
-1407529120,1407529127,SD
-1407529128,1407529175,A2
+1407529112,1407529175,GB
1407529176,1407529183,SO
1407529184,1407529191,NG
-1407529192,1407529207,A2
+1407529192,1407529207,GB
1407529208,1407529215,NG
-1407529216,1407531007,A2
+1407529216,1407531007,GB
1407531008,1407531519,NG
-1407531520,1407531551,CD
-1407531552,1407531559,SD
-1407531560,1407531567,A2
+1407531520,1407531543,CD
+1407531544,1407531567,GB
1407531568,1407531575,CD
1407531576,1407531583,GQ
1407531584,1407531591,CD
-1407531592,1407531599,A2
-1407531600,1407531607,LY
+1407531592,1407531607,GB
1407531608,1407531615,CD
-1407531616,1407531623,A2
+1407531616,1407531623,GB
1407531624,1407531631,CD
1407531632,1407531639,ZM
1407531640,1407531647,CD
-1407531648,1407531663,A2
+1407531648,1407531663,GB
1407531664,1407531671,MZ
1407531672,1407531687,CD
-1407531688,1407531703,A2
+1407531688,1407531703,GB
1407531704,1407531711,SD
1407531712,1407531735,CD
1407531736,1407531743,ZW
-1407531744,1407531751,A2
+1407531744,1407531751,GB
1407531752,1407531759,GQ
1407531760,1407531767,ZW
1407531768,1407531775,SD
-1407531776,1407532543,A2
+1407531776,1407532543,GB
1407532544,1407532551,SO
1407532552,1407532559,AO
-1407532560,1407532583,A2
+1407532560,1407532583,GB
1407532584,1407532591,ZW
-1407532592,1407532615,A2
+1407532592,1407532615,GB
1407532616,1407532623,KG
-1407532624,1407532639,A2
+1407532624,1407532639,GB
1407532640,1407532647,NG
-1407532648,1407532663,A2
+1407532648,1407532663,GB
1407532664,1407532671,TZ
-1407532672,1407532799,A2
+1407532672,1407532799,GB
1407532800,1407532927,SO
-1407532928,1407533055,A2
+1407532928,1407533055,GB
1407533056,1407533311,NG
1407533312,1407533327,AO
-1407533328,1407533343,A2
+1407533328,1407533343,GB
1407533344,1407533375,NG
1407533376,1407533407,CD
-1407533408,1407533423,A2
+1407533408,1407533423,GB
1407533424,1407533567,GH
1407533568,1407533583,NG
1407533584,1407533591,NE
-1407533592,1407533607,A2
-1407533608,1407533631,NG
-1407533632,1407533679,A2
+1407533592,1407533607,GB
+1407533608,1407533663,NG
+1407533664,1407533679,GB
1407533680,1407533695,NG
-1407533696,1407533711,A2
+1407533696,1407533711,GB
1407533712,1407533719,ZW
1407533720,1407533727,SL
-1407533728,1407533735,A2
+1407533728,1407533735,GB
1407533736,1407533743,GN
1407533744,1407533751,NG
1407533752,1407533759,SL
1407533760,1407533767,NG
-1407533768,1407533775,A2
-1407533776,1407533783,NG
-1407533784,1407533815,A2
+1407533768,1407533815,GB
1407533816,1407533823,NG
1407533824,1407533831,LR
-1407533832,1407533919,A2
+1407533832,1407533895,GB
+1407533896,1407533903,CD
+1407533904,1407533919,GB
1407533920,1407533927,BF
-1407533928,1407534079,A2
+1407533928,1407534079,GB
1407534080,1407534335,AE
-1407534336,1407534359,A2
+1407534336,1407534359,GB
1407534360,1407534383,NG
1407534384,1407534391,GR
1407534392,1407534399,AO
1407534400,1407534407,NG
1407534408,1407534415,CI
-1407534416,1407534455,A2
+1407534416,1407534455,GB
1407534456,1407534463,NG
-1407534464,1407534543,A2
+1407534464,1407534543,GB
1407534544,1407534559,GH
1407534560,1407534567,NG
-1407534568,1407534575,A2
+1407534568,1407534575,GB
1407534576,1407534583,CD
-1407534584,1407534719,A2
+1407534584,1407534719,GB
1407534720,1407534727,NG
-1407534728,1407534735,A2
+1407534728,1407534735,GB
1407534736,1407534775,NG
1407534776,1407534783,ML
1407534784,1407534791,CD
-1407534792,1407534847,A2
+1407534792,1407534847,GB
1407534848,1407535103,CM
1407535104,1407535615,GA
-1407535616,1407535623,CD
-1407535624,1407535631,A2
+1407535616,1407535631,GB
1407535632,1407535639,SD
-1407535640,1407535647,CD
+1407535640,1407535647,GB
1407535648,1407535655,NG
-1407535656,1407535671,A2
-1407535672,1407535679,SD
+1407535656,1407535679,GB
1407535680,1407535687,GN
-1407535688,1407535695,A2
+1407535688,1407535695,GB
1407535696,1407535703,GN
-1407535704,1407535711,CD
-1407535712,1407535719,GB
-1407535720,1407535735,A2
+1407535704,1407535735,GB
1407535736,1407535743,NG
-1407535744,1407535751,A2
-1407535752,1407535759,GB
-1407535760,1407535799,A2
-1407535800,1407535807,NG
-1407535808,1407535815,A2
-1407535816,1407535823,NG
-1407535824,1407535847,A2
-1407535848,1407535855,CD
-1407535856,1407535863,GB
-1407535864,1407536127,A2
+1407535744,1407536127,GB
1407536128,1407536639,GA
1407536640,1407536895,CD
-1407536896,1407536903,A2
+1407536896,1407536903,GB
1407536904,1407536919,ZW
-1407536920,1407536935,A2
+1407536920,1407536935,GB
1407536936,1407536943,NG
1407536944,1407536951,AO
-1407536952,1407536983,A2
+1407536952,1407536983,GB
1407536984,1407536991,IQ
-1407536992,1407537031,A2
+1407536992,1407537031,GB
1407537032,1407537039,NG
-1407537040,1407537047,A2
+1407537040,1407537047,GB
1407537048,1407537055,NG
1407537056,1407537071,GH
-1407537072,1407537079,A2
+1407537072,1407537079,GB
1407537080,1407537087,NG
1407537088,1407537095,GH
-1407537096,1407537103,A2
+1407537096,1407537103,GB
1407537104,1407537111,NG
1407537112,1407537119,LR
-1407537120,1407537135,A2
+1407537120,1407537135,GB
1407537136,1407537143,NG
-1407537144,1407537151,A2
+1407537144,1407537151,GB
1407537152,1407537159,UG
-1407537160,1407537183,A2
+1407537160,1407537183,GB
1407537184,1407537191,NG
-1407537192,1407537207,A2
+1407537192,1407537207,GB
1407537208,1407537215,BE
-1407537216,1407537239,A2
+1407537216,1407537239,GB
1407537240,1407537255,NG
-1407537256,1407537263,A2
+1407537256,1407537263,GB
1407537264,1407537279,CM
-1407537280,1407537287,A2
-1407537288,1407537303,UG
+1407537280,1407537287,GB
+1407537288,1407537295,UG
+1407537296,1407537303,GB
1407537304,1407537311,LR
-1407537312,1407537319,A2
+1407537312,1407537319,GB
1407537320,1407537327,NG
-1407537328,1407537343,A2
-1407537344,1407537359,NG
-1407537360,1407537367,A2
+1407537328,1407537343,GB
+1407537344,1407537351,NG
+1407537352,1407537367,GB
1407537368,1407537383,NG
-1407537384,1407537431,A2
+1407537384,1407537431,GB
1407537432,1407537439,NG
1407537440,1407537447,LR
-1407537448,1407537455,UG
+1407537448,1407537455,GB
1407537456,1407537463,AO
-1407537464,1407537479,A2
-1407537480,1407537487,CM
-1407537488,1407537495,GH
-1407537496,1407537511,A2
+1407537464,1407537511,GB
1407537512,1407537519,LR
-1407537520,1407537543,A2
+1407537520,1407537543,GB
1407537544,1407537551,AO
-1407537552,1407537575,A2
+1407537552,1407537575,GB
1407537576,1407537591,NG
-1407537592,1407537607,A2
+1407537592,1407537607,GB
1407537608,1407537615,CM
-1407537616,1407537631,A2
+1407537616,1407537631,GB
1407537632,1407537639,NG
-1407537640,1407537679,A2
+1407537640,1407537679,GB
1407537680,1407537687,IQ
-1407537688,1407537703,A2
+1407537688,1407537703,GB
1407537704,1407537735,NG
-1407537736,1407537751,A2
+1407537736,1407537751,GB
1407537752,1407537847,NG
-1407537848,1407537855,A2
+1407537848,1407537855,GB
1407537856,1407537863,NG
1407537864,1407537871,TG
1407537872,1407537879,IQ
-1407537880,1407537903,A2
+1407537880,1407537903,GB
1407537904,1407537911,TG
-1407537912,1407537927,A2
+1407537912,1407537927,GB
1407537928,1407537935,SL
1407537936,1407537943,GH
1407537944,1407537951,TG
-1407537952,1407537959,A2
+1407537952,1407537959,GB
1407537960,1407537967,TG
1407537968,1407537975,NG
-1407537976,1407537983,A2
+1407537976,1407537983,GB
1407537984,1407537991,NG
-1407537992,1407537999,A2
+1407537992,1407537999,GB
1407538000,1407538023,NG
-1407538024,1407538031,A2
+1407538024,1407538031,GB
1407538032,1407538039,NG
1407538040,1407538047,CD
1407538048,1407538055,NG
-1407538056,1407538063,A2
+1407538056,1407538063,GB
1407538064,1407538071,LU
-1407538072,1407538079,A2
+1407538072,1407538079,GB
1407538080,1407538087,LR
1407538088,1407538095,AO
-1407538096,1407538111,A2
+1407538096,1407538111,GB
1407538112,1407538119,LR
1407538120,1407538127,NG
-1407538128,1407538143,A2
+1407538128,1407538143,GB
1407538144,1407538151,GN
-1407538152,1407538167,A2
+1407538152,1407538167,GB
1407538168,1407538175,IQ
-1407538176,1407538199,A2
+1407538176,1407538199,GB
1407538200,1407538271,NG
1407538272,1407538279,CO
-1407538280,1407538287,A2
+1407538280,1407538287,GB
1407538288,1407538295,NG
1407538296,1407538303,AO
1407538304,1407538311,NG
1407538312,1407538319,CD
-1407538320,1407538327,A2
+1407538320,1407538327,GB
1407538328,1407538335,CD
-1407538336,1407538343,A2
+1407538336,1407538343,GB
1407538344,1407538351,CD
-1407538352,1407538383,A2
+1407538352,1407538383,GB
1407538384,1407538391,CM
-1407538392,1407538407,A2
+1407538392,1407538407,GB
1407538408,1407538415,NG
-1407538416,1407538423,A2
+1407538416,1407538423,GB
1407538424,1407538431,NG
-1407538432,1407538439,A2
+1407538432,1407538439,GB
1407538440,1407538447,NG
-1407538448,1407538463,A2
+1407538448,1407538463,GB
1407538464,1407538471,ZM
1407538472,1407538479,NG
-1407538480,1407538663,A2
+1407538480,1407538663,GB
1407538664,1407538679,NG
-1407538680,1407538863,A2
+1407538680,1407538863,GB
1407538864,1407538879,GE
-1407538880,1407538887,A2
+1407538880,1407538887,GB
1407538888,1407538895,NG
-1407538896,1407538911,A2
+1407538896,1407538911,GB
1407538912,1407538919,GH
-1407538920,1407538927,A2
+1407538920,1407538927,GB
1407538928,1407538935,NG
1407538936,1407538943,GH
-1407538944,1407538975,A2
+1407538944,1407538975,GB
1407538976,1407538983,NG
1407538984,1407538991,SL
-1407538992,1407538999,A2
+1407538992,1407538999,GB
1407539000,1407539007,NG
-1407539008,1407539055,A2
+1407539008,1407539055,GB
1407539056,1407539063,NG
-1407539064,1407539103,A2
+1407539064,1407539103,GB
1407539104,1407539111,NG
-1407539112,1407539143,A2
+1407539112,1407539143,GB
1407539144,1407539151,NG
-1407539152,1407539167,A2
+1407539152,1407539167,GB
1407539168,1407539175,TD
1407539176,1407539183,GH
-1407539184,1407539191,A2
+1407539184,1407539191,GB
1407539192,1407539199,NG
1407539200,1407539455,GE
-1407539456,1407539711,A2
+1407539456,1407539711,GB
1407539712,1407539719,BE
-1407539720,1407539727,A2
+1407539720,1407539727,GB
1407539728,1407539735,GR
1407539736,1407539743,NG
-1407539744,1407539751,A2
+1407539744,1407539751,GB
1407539752,1407539759,NG
-1407539760,1407539767,A2
+1407539760,1407539767,GB
1407539768,1407539775,GR
-1407539776,1407539783,A2
+1407539776,1407539783,GB
1407539784,1407539791,GR
1407539792,1407539799,NG
-1407539800,1407539823,A2
-1407539824,1407539831,NG
-1407539832,1407539855,A2
+1407539800,1407539831,GB
+1407539832,1407539839,NG
+1407539840,1407539855,GB
1407539856,1407539863,CD
1407539864,1407539879,NG
-1407539880,1407539887,A2
+1407539880,1407539887,GB
1407539888,1407539895,NG
-1407539896,1407539903,CD
-1407539904,1407539911,A2
+1407539896,1407539911,GB
1407539912,1407539927,NG
-1407539928,1407539935,A2
+1407539928,1407539935,GB
1407539936,1407539943,GN
-1407539944,1407539951,CD
+1407539944,1407539951,GB
1407539952,1407539959,LR
-1407539960,1407539967,A2
+1407539960,1407539967,GB
1407539968,1407539975,CD
-1407539976,1407540055,A2
+1407539976,1407540055,GB
1407540056,1407540063,NG
-1407540064,1407540071,A2
+1407540064,1407540071,GB
1407540072,1407540079,NG
-1407540080,1407540111,A2
+1407540080,1407540111,GB
1407540112,1407540119,TG
-1407540120,1407540135,A2
+1407540120,1407540135,GB
1407540136,1407540143,NG
-1407540144,1407540159,A2
+1407540144,1407540159,GB
1407540160,1407540167,CD
-1407540168,1407540199,A2
+1407540168,1407540199,GB
1407540200,1407540215,CD
-1407540216,1407540223,A2
+1407540216,1407540223,GB
1407540224,1407540231,AO
-1407540232,1407540247,NG
-1407540248,1407540255,A2
-1407540256,1407540263,CD
-1407540264,1407540271,A2
+1407540232,1407540239,GB
+1407540240,1407540247,NG
+1407540248,1407540271,GB
1407540272,1407540279,LR
1407540280,1407540287,NG
1407540288,1407540295,CD
1407540296,1407540303,NG
1407540304,1407540311,AO
-1407540312,1407540319,A2
+1407540312,1407540319,GB
1407540320,1407540327,CD
-1407540328,1407540343,A2
+1407540328,1407540343,GB
1407540344,1407540351,CF
1407540352,1407540359,TD
-1407540360,1407540367,A2
+1407540360,1407540367,GB
1407540368,1407540375,LR
-1407540376,1407540383,A2
-1407540384,1407540391,NG
-1407540392,1407540415,A2
+1407540376,1407540415,GB
1407540416,1407540423,NG
-1407540424,1407540431,A2
+1407540424,1407540431,GB
1407540432,1407540439,CI
-1407540440,1407540447,A2
+1407540440,1407540447,GB
1407540448,1407540455,LR
-1407540456,1407540463,A2
+1407540456,1407540463,GB
1407540464,1407540471,MU
-1407540472,1407540479,A2
+1407540472,1407540479,GB
1407540480,1407540487,CM
-1407540488,1407540495,A2
-1407540496,1407540503,NG
-1407540504,1407540551,A2
+1407540488,1407540551,GB
1407540552,1407540559,NG
-1407540560,1407540567,CD
-1407540568,1407540591,A2
-1407540592,1407540599,GN
-1407540600,1407540607,A2
-1407540608,1407540615,CD
+1407540560,1407540615,GB
1407540616,1407540623,SD
-1407540624,1407540655,A2
+1407540624,1407540655,GB
1407540656,1407540663,CD
-1407540664,1407540695,A2
+1407540664,1407540695,GB
1407540696,1407540703,NG
-1407540704,1407540767,A2
+1407540704,1407540767,GB
1407540768,1407540775,NG
-1407540776,1407540991,A2
+1407540776,1407540991,GB
1407540992,1407540999,CD
-1407541000,1407541023,A2
+1407541000,1407541023,GB
1407541024,1407541031,LR
1407541032,1407541039,NG
-1407541040,1407541047,A2
+1407541040,1407541047,GB
1407541048,1407541055,NG
-1407541056,1407541063,A2
+1407541056,1407541063,GB
1407541064,1407541071,NG
-1407541072,1407541095,A2
+1407541072,1407541095,GB
1407541096,1407541103,GQ
-1407541104,1407541175,A2
+1407541104,1407541175,GB
1407541176,1407541183,NG
-1407541184,1407541191,A2
+1407541184,1407541191,GB
1407541192,1407541199,NG
-1407541200,1407541471,A2
+1407541200,1407541471,GB
1407541472,1407541495,NG
-1407541496,1407541535,A2
+1407541496,1407541535,GB
1407541536,1407541543,CM
-1407541544,1407541551,A2
+1407541544,1407541551,GB
1407541552,1407541559,NG
1407541560,1407541567,GH
-1407541568,1407541711,A2
+1407541568,1407541711,GB
1407541712,1407541719,NG
-1407541720,1407541727,A2
+1407541720,1407541727,GB
1407541728,1407541735,NG
-1407541736,1407541751,A2
+1407541736,1407541751,GB
1407541752,1407541759,NG
-1407541760,1407541887,A2
+1407541760,1407541887,GB
1407541888,1407542143,NG
-1407542144,1407542543,A2
+1407542144,1407542543,GB
1407542544,1407542551,LR
-1407542552,1407542575,A2
+1407542552,1407542575,GB
1407542576,1407542583,CD
-1407542584,1407542599,A2
+1407542584,1407542599,GB
1407542600,1407542607,TG
-1407542608,1407542623,A2
+1407542608,1407542623,GB
1407542624,1407542631,BJ
1407542632,1407542639,NG
-1407542640,1407542655,A2
+1407542640,1407542655,GB
1407542656,1407542663,SL
-1407542664,1407542671,A2
+1407542664,1407542671,GB
1407542672,1407542679,CM
1407542680,1407542687,NG
1407542688,1407542695,CD
1407542696,1407542703,NG
-1407542704,1407542727,A2
+1407542704,1407542727,GB
1407542728,1407542735,NG
-1407542736,1407542767,A2
+1407542736,1407542767,GB
1407542768,1407542775,GA
-1407542776,1407542791,A2
+1407542776,1407542791,GB
1407542792,1407542799,NG
-1407542800,1407542847,A2
+1407542800,1407542847,GB
1407542848,1407542863,NG
-1407542864,1407542903,A2
+1407542864,1407542903,GB
1407542904,1407542911,CD
1407542912,1407543039,AT
-1407543040,1407543167,A2
+1407543040,1407543167,GB
1407543168,1407543183,GH
-1407543184,1407543191,A2
+1407543184,1407543191,GB
1407543192,1407543239,NG
-1407543240,1407543255,A2
+1407543240,1407543255,GB
1407543256,1407543263,NG
-1407543264,1407543279,A2
+1407543264,1407543279,GB
1407543280,1407543287,NG
-1407543288,1407545855,A2
+1407543288,1407545855,GB
1407545856,1407545863,CI
-1407545864,1407545871,A2
+1407545864,1407545871,GB
1407545872,1407545879,CD
-1407545880,1407545887,A2
+1407545880,1407545887,GB
1407545888,1407545895,NG
-1407545896,1407545903,CD
-1407545904,1407545911,A2
-1407545912,1407545927,NG
-1407545928,1407545935,A2
+1407545896,1407545911,GB
+1407545912,1407545919,NG
+1407545920,1407545935,GB
1407545936,1407545943,ZA
-1407545944,1407545951,A2
+1407545944,1407545951,GB
1407545952,1407545959,BJ
-1407545960,1407545967,A2
+1407545960,1407545967,GB
1407545968,1407545975,GQ
-1407545976,1407545991,A2
+1407545976,1407545991,GB
1407545992,1407545999,GN
-1407546000,1407546007,CF
-1407546008,1407546023,A2
+1407546000,1407546023,GB
1407546024,1407546047,NG
-1407546048,1407546055,A2
-1407546056,1407546063,NG
+1407546048,1407546063,GB
1407546064,1407546071,ML
-1407546072,1407546367,A2
+1407546072,1407546367,GB
1407546368,1407546495,AE
-1407546496,1407546863,A2
+1407546496,1407546863,GB
1407546864,1407546879,LR
-1407546880,1407547143,A2
-1407547144,1407547151,GH
-1407547152,1407547167,A2
+1407546880,1407546959,GB
+1407546960,1407546967,GH
+1407546968,1407547039,GB
+1407547040,1407547047,GN
+1407547048,1407547063,GB
+1407547064,1407547071,NG
+1407547072,1407547167,GB
1407547168,1407547175,NG
1407547176,1407547183,GH
1407547184,1407547191,UG
1407547192,1407547199,NG
1407547200,1407547207,AO
1407547208,1407547215,TD
-1407547216,1407547239,A2
+1407547216,1407547239,GB
1407547240,1407547255,SL
-1407547256,1407547263,A2
+1407547256,1407547263,GB
1407547264,1407547271,SL
-1407547272,1407547303,A2
+1407547272,1407547303,GB
1407547304,1407547311,SL
1407547312,1407547327,NG
-1407547328,1407547335,A2
+1407547328,1407547335,GB
1407547336,1407547343,CI
-1407547344,1407547911,NG
-1407547912,1407547919,A2
+1407547344,1407547375,NG
+1407547376,1407547383,GB
+1407547384,1407547911,NG
+1407547912,1407547919,GB
1407547920,1407547927,CG
-1407547928,1407547943,A2
+1407547928,1407547943,GB
1407547944,1407547951,BJ
-1407547952,1407547983,A2
+1407547952,1407547983,GB
1407547984,1407547999,BJ
-1407548000,1407548023,A2
+1407548000,1407548023,GB
1407548024,1407548031,NG
-1407548032,1407548047,A2
+1407548032,1407548047,GB
1407548048,1407548055,GA
1407548056,1407548063,NG
-1407548064,1407548111,A2
+1407548064,1407548111,GB
1407548112,1407548119,CI
-1407548120,1407548127,A2
+1407548120,1407548127,GB
1407548128,1407548143,CM
-1407548144,1407548151,A2
+1407548144,1407548151,GB
1407548152,1407548415,NG
1407548416,1407548443,GE
1407548444,1407548447,NE
1407548448,1407548543,GE
-1407548544,1407548711,A2
+1407548544,1407548711,GB
1407548712,1407548719,CD
-1407548720,1407548767,A2
-1407548768,1407548775,CD
-1407548776,1407548927,A2
+1407548720,1407548927,GB
1407548928,1407548959,NG
-1407548960,1407548967,A2
+1407548960,1407548967,GB
1407548968,1407548975,CM
-1407548976,1407548983,A2
+1407548976,1407548983,GB
1407548984,1407548991,CD
-1407548992,1407549039,A2
-1407549040,1407549047,NG
-1407549048,1407549055,A2
+1407548992,1407549055,GB
1407549056,1407549063,NG
1407549064,1407549071,GA
-1407549072,1407549079,NG
-1407549080,1407549087,A2
+1407549072,1407549087,GB
1407549088,1407549095,LR
-1407549096,1407549119,A2
+1407549096,1407549119,GB
1407549120,1407549127,LR
-1407549128,1407549143,A2
+1407549128,1407549143,GB
1407549144,1407549159,LR
-1407549160,1407549167,A2
-1407549168,1407549183,NG
-1407549184,1407549439,A2
+1407549160,1407549175,GB
+1407549176,1407549183,NG
+1407549184,1407549439,GB
1407549440,1407582207,RU
1407582208,1407614975,PL
1407614976,1407680511,ES
@@ -43338,13 +52056,17 @@
1407693160,1407693167,ES
1407693168,1407695215,GB
1407695216,1407695223,ES
-1407695224,1407700271,GB
+1407695224,1407696487,GB
+1407696488,1407696495,AU
+1407696496,1407700271,GB
1407700272,1407700287,DE
1407700288,1407702015,GB
1407702016,1407702271,FR
1407702272,1407702783,GB
1407702784,1407702911,FR
-1407702912,1407703039,GB
+1407702912,1407702927,GB
+1407702928,1407702975,FR
+1407702976,1407703039,GB
1407703040,1407703455,FR
1407703456,1407703535,GB
1407703536,1407703871,FR
@@ -43358,9 +52080,7 @@
1407704384,1407704447,FR
1407704448,1407705207,GB
1407705208,1407705215,ES
-1407705216,1407705247,GB
-1407705248,1407705279,ES
-1407705280,1407705599,GB
+1407705216,1407705599,GB
1407705600,1407705727,FR
1407705728,1407705759,GB
1407705760,1407705791,FR
@@ -43368,13 +52088,15 @@
1407706368,1407706423,FR
1407706424,1407706431,GB
1407706432,1407706559,FR
-1407706560,1407707703,GB
+1407706560,1407707647,GB
+1407707648,1407707703,EU
1407707704,1407707839,CH
1407707840,1407707903,GB
1407707904,1407707935,CH
1407707936,1407709183,GB
1407709184,1407709695,DE
-1407709696,1407710207,GB
+1407709696,1407709951,GB
+1407709952,1407710207,EU
1407710208,1407710239,ES
1407710240,1407710975,GB
1407710976,1407711319,FR
@@ -43383,9 +52105,9 @@
1407711744,1407712207,GB
1407712208,1407712223,FR
1407712224,1407712767,GB
-1407712768,1407712831,DE
-1407712832,1407712895,GB
-1407712896,1407712911,DE
+1407712768,1407712847,DE
+1407712848,1407712887,GB
+1407712888,1407712911,DE
1407712912,1407712919,GB
1407712920,1407712959,DE
1407712960,1407712975,GB
@@ -43393,9 +52115,7 @@
1407713240,1407713247,GB
1407713248,1407713279,DE
1407713280,1407778815,NL
-1407778816,1407842303,SE
-1407842304,1407842335,DK
-1407842336,1407844351,SE
+1407778816,1407844351,SE
1407844352,1407909887,RU
1407909888,1407975423,GR
1407975424,1408013647,DE
@@ -43429,7 +52149,6 @@
1408368640,1408376831,NO
1408376832,1408385023,DE
1408385024,1408393215,PL
-1408393216,1408401407,NL
1408401408,1408434175,RU
1408434176,1408436223,DE
1408436224,1408438271,LU
@@ -43470,7 +52189,9 @@
1408761856,1409286143,SE
1409286144,1409362431,HU
1409362432,1409363967,BG
-1409363968,1409413119,HU
+1409363968,1409380655,HU
+1409380656,1409380673,RO
+1409380674,1409413119,HU
1409413120,1409415167,BG
1409415168,1409430271,HU
1409430272,1409430783,RO
@@ -43488,8 +52209,7 @@
1410009344,1410009479,US
1410009480,1410009487,A2
1410009488,1410009535,GI
-1410009536,1410010367,A2
-1410010368,1410010399,IR
+1410009536,1410010399,A2
1410010400,1410010431,LY
1410010432,1410010543,A2
1410010544,1410010575,LY
@@ -43506,10 +52226,7 @@
1410010832,1410010879,A2
1410010880,1410011135,IR
1410011136,1410011647,DE
-1410011648,1410012159,A2
-1410012160,1410012415,IQ
-1410012416,1410012447,AF
-1410012448,1410012671,A2
+1410011648,1410012671,A2
1410012672,1410013183,DE
1410013184,1410013439,ES
1410013440,1410013471,IR
@@ -43586,15 +52303,9 @@
1410018560,1410018591,A2
1410018592,1410018607,IR
1410018608,1410018623,LY
-1410018624,1410018815,A2
-1410018816,1410018831,DE
-1410018832,1410018847,A2
-1410018848,1410018863,DE
-1410018864,1410020103,A2
+1410018624,1410020103,A2
1410020104,1410020111,US
-1410020112,1410020351,A2
-1410020352,1410020863,US
-1410020864,1410021375,A2
+1410020112,1410021375,A2
1410021376,1410021407,IR
1410021408,1410021631,A2
1410021632,1410021663,IR
@@ -43662,17 +52373,11 @@
1410036192,1410036207,PA
1410036208,1410036735,A2
1410036736,1410036751,PA
-1410036752,1410036991,A2
-1410036992,1410037247,LB
-1410037248,1410037759,A2
-1410037760,1410038015,US
-1410038016,1410042815,A2
+1410036752,1410042815,A2
1410042816,1410042831,US
-1410042832,1410044927,A2
-1410044928,1410045183,VG
+1410042832,1410045183,A2
1410045184,1410045439,IQ
-1410045440,1410045695,LB
-1410045696,1410071815,A2
+1410045440,1410071815,A2
1410071816,1410071839,DE
1410071840,1410072319,A2
1410072320,1410072575,AE
@@ -43683,9 +52388,17 @@
1410204480,1410204495,PT
1410204496,1410212863,FR
1410212864,1410213119,GB
-1410213120,1410234839,FR
+1410213120,1410233575,FR
+1410233576,1410233583,IE
+1410233584,1410234839,FR
1410234840,1410234847,A2
-1410234848,1410258527,FR
+1410234848,1410239943,FR
+1410239944,1410239951,GB
+1410239952,1410241759,FR
+1410241760,1410241775,GB
+1410241776,1410257495,FR
+1410257496,1410257503,GB
+1410257504,1410258527,FR
1410258528,1410258535,ES
1410258536,1410261007,FR
1410261008,1410261015,GB
@@ -43693,7 +52406,9 @@
1410261664,1410261671,GB
1410261672,1410262023,FR
1410262024,1410262031,BE
-1410262032,1410262799,FR
+1410262032,1410262391,FR
+1410262392,1410262399,GB
+1410262400,1410262799,FR
1410262800,1410262815,DE
1410262816,1410266303,FR
1410266304,1410266311,IE
@@ -43708,7 +52423,8 @@
1410318336,1410319359,LV
1410319360,1410334719,LT
1410334720,1410341887,ES
-1410341888,1410342911,MA
+1410341888,1410342655,MA
+1410342656,1410342911,ES
1410342912,1410351103,SK
1410351104,1410353039,CH
1410353040,1410353047,NI
@@ -43750,8 +52466,7 @@
1410531328,1410539519,DE
1410539520,1410544415,GB
1410544416,1410544431,DE
-1410544432,1410544447,FR
-1410544448,1410547711,GB
+1410544432,1410547711,GB
1410547712,1410555903,CZ
1410555904,1410564095,GB
1410564096,1410572287,SE
@@ -43776,7 +52491,11 @@
1410574584,1410574591,RU
1410574592,1410574719,DE
1410574720,1410574727,RU
-1410574728,1410575103,DE
+1410574728,1410574847,DE
+1410574848,1410574975,BR
+1410574976,1410575071,DE
+1410575072,1410575087,IT
+1410575088,1410575103,RU
1410575104,1410575111,US
1410575112,1410575119,IT
1410575120,1410575135,DE
@@ -43822,7 +52541,209 @@
1410711552,1410719743,BG
1410719744,1410727935,RU
1410727936,1410736127,BG
-1410736128,1410744319,RS
+1410736128,1410736383,AL
+1410736384,1410736384,RS
+1410736385,1410736638,AL
+1410736639,1410736639,RS
+1410736640,1410736751,AL
+1410736752,1410736767,RS
+1410736768,1410736895,AL
+1410736896,1410736896,RS
+1410736897,1410736911,AL
+1410736912,1410736928,RS
+1410736929,1410736991,AL
+1410736992,1410737023,RS
+1410737024,1410737407,AL
+1410737408,1410737415,RS
+1410737416,1410737423,AL
+1410737424,1410737431,RS
+1410737432,1410737439,AL
+1410737440,1410737535,RS
+1410737536,1410737663,AL
+1410737664,1410737664,RS
+1410737665,1410737918,AL
+1410737919,1410737920,RS
+1410737921,1410738174,AL
+1410738175,1410738175,RS
+1410738176,1410738215,AL
+1410738216,1410738223,RS
+1410738224,1410738247,AL
+1410738248,1410738263,RS
+1410738264,1410738271,AL
+1410738272,1410738279,RS
+1410738280,1410738295,AL
+1410738296,1410738304,RS
+1410738305,1410738310,AL
+1410738311,1410738320,RS
+1410738321,1410738326,AL
+1410738327,1410738328,RS
+1410738329,1410738334,AL
+1410738335,1410738351,RS
+1410738352,1410738359,AL
+1410738360,1410738384,RS
+1410738385,1410738390,AL
+1410738391,1410738439,RS
+1410738440,1410738447,AL
+1410738448,1410738559,RS
+1410738560,1410738718,AL
+1410738719,1410738720,RS
+1410738721,1410738734,AL
+1410738735,1410738735,RS
+1410738736,1410738751,AL
+1410738752,1410738752,RS
+1410738753,1410738766,AL
+1410738767,1410738768,RS
+1410738769,1410738782,AL
+1410738783,1410738800,RS
+1410738801,1410738814,AL
+1410738815,1410738816,RS
+1410738817,1410738830,AL
+1410738831,1410738832,RS
+1410738833,1410738846,AL
+1410738847,1410738864,RS
+1410738865,1410738878,AL
+1410738879,1410738896,RS
+1410738897,1410738902,AL
+1410738903,1410738912,RS
+1410738913,1410738927,AL
+1410738928,1410738943,RS
+1410738944,1410738967,AL
+1410738968,1410739023,RS
+1410739024,1410739031,AL
+1410739032,1410739200,RS
+1410739201,1410739326,AL
+1410739327,1410739328,RS
+1410739329,1410739390,AL
+1410739391,1410739391,RS
+1410739392,1410739471,AL
+1410739472,1410739472,RS
+1410739473,1410739486,AL
+1410739487,1410739520,RS
+1410739521,1410739534,AL
+1410739535,1410739543,RS
+1410739544,1410739550,AL
+1410739551,1410739568,RS
+1410739569,1410739582,AL
+1410739583,1410739583,RS
+1410739584,1410739599,AL
+1410739600,1410739616,RS
+1410739617,1410739630,AL
+1410739631,1410739663,RS
+1410739664,1410739679,AL
+1410739680,1410739696,RS
+1410739697,1410739710,AL
+1410739711,1410739712,RS
+1410739713,1410739719,AL
+1410739720,1410739720,RS
+1410739721,1410739727,AL
+1410739728,1410739728,RS
+1410739729,1410739734,AL
+1410739735,1410739736,RS
+1410739737,1410739742,AL
+1410739743,1410739744,RS
+1410739745,1410739750,AL
+1410739751,1410739752,RS
+1410739753,1410739759,AL
+1410739760,1410739776,RS
+1410739777,1410739783,AL
+1410739784,1410739791,RS
+1410739792,1410739799,AL
+1410739800,1410739807,RS
+1410739808,1410739879,AL
+1410739880,1410739887,RS
+1410739888,1410739919,AL
+1410739920,1410739927,RS
+1410739928,1410739959,AL
+1410739960,1410739967,RS
+1410739968,1410739995,AL
+1410739996,1410739999,RS
+1410740000,1410740003,AL
+1410740004,1410740007,RS
+1410740008,1410740043,AL
+1410740044,1410740047,RS
+1410740048,1410740122,AL
+1410740123,1410740123,RS
+1410740124,1410740171,AL
+1410740172,1410740175,RS
+1410740176,1410740238,AL
+1410740239,1410740239,RS
+1410740240,1410740311,AL
+1410740312,1410740319,RS
+1410740320,1410740335,AL
+1410740336,1410740343,RS
+1410740344,1410740471,AL
+1410740472,1410740479,RS
+1410740480,1410740507,AL
+1410740508,1410740511,RS
+1410740512,1410740515,AL
+1410740516,1410740519,RS
+1410740520,1410740591,AL
+1410740592,1410740595,RS
+1410740596,1410740643,AL
+1410740644,1410740647,RS
+1410740648,1410740675,AL
+1410740676,1410740679,RS
+1410740680,1410740695,AL
+1410740696,1410740699,RS
+1410740700,1410740734,AL
+1410740735,1410740735,RS
+1410740736,1410740871,AL
+1410740872,1410740879,RS
+1410740880,1410740911,AL
+1410740912,1410740919,RS
+1410740920,1410740931,AL
+1410740932,1410740935,RS
+1410740936,1410740943,AL
+1410740944,1410740991,RS
+1410740992,1410741303,AL
+1410741304,1410741304,RS
+1410741305,1410741311,AL
+1410741312,1410741327,RS
+1410741328,1410741343,AL
+1410741344,1410741351,RS
+1410741352,1410741463,AL
+1410741464,1410741471,RS
+1410741472,1410742279,AL
+1410742280,1410742287,RS
+1410742288,1410742303,AL
+1410742304,1410742319,RS
+1410742320,1410742351,AL
+1410742352,1410742359,RS
+1410742360,1410742415,AL
+1410742416,1410742527,RS
+1410742528,1410742907,AL
+1410742908,1410742911,RS
+1410742912,1410742923,AL
+1410742924,1410742927,RS
+1410742928,1410742931,AL
+1410742932,1410742939,RS
+1410742940,1410742952,AL
+1410742953,1410742955,RS
+1410742956,1410742963,AL
+1410742964,1410742971,RS
+1410742972,1410742975,AL
+1410742976,1410742979,RS
+1410742980,1410742996,AL
+1410742997,1410742999,RS
+1410743000,1410743551,AL
+1410743552,1410743775,RS
+1410743776,1410743783,AL
+1410743784,1410743807,RS
+1410743808,1410743967,AL
+1410743968,1410744031,RS
+1410744032,1410744063,AL
+1410744064,1410744083,RS
+1410744084,1410744087,AL
+1410744088,1410744107,RS
+1410744108,1410744119,AL
+1410744120,1410744135,RS
+1410744136,1410744139,AL
+1410744140,1410744155,RS
+1410744156,1410744163,AL
+1410744164,1410744167,RS
+1410744168,1410744171,AL
+1410744172,1410744191,RS
+1410744192,1410744319,AL
1410744320,1410744575,FR
1410744576,1410744831,A2
1410744832,1410745223,FR
@@ -43836,14 +52757,15 @@
1410748416,1410752511,DE
1410752512,1410752703,AQ
1410752704,1410752763,DE
-1410752764,1410752787,AQ
-1410752788,1410752799,DE
+1410752764,1410752791,AQ
+1410752792,1410752799,DE
1410752800,1410752827,AQ
1410752828,1410752831,DE
1410752832,1410752835,AQ
1410752836,1410753023,DE
1410753024,1410753031,AQ
-1410753032,1410753055,BS
+1410753032,1410753047,DE
+1410753048,1410753055,BS
1410753056,1410753143,AQ
1410753144,1410753151,SC
1410753152,1410753155,AQ
@@ -43857,25 +52779,32 @@
1410753352,1410753367,AQ
1410753368,1410753391,DE
1410753392,1410753399,NL
-1410753400,1410754623,AQ
+1410753400,1410754559,AQ
+1410754560,1410754591,US
+1410754592,1410754623,AQ
1410754624,1410754631,CN
1410754632,1410754831,AQ
-1410754832,1410754855,DE
+1410754832,1410754835,DE
+1410754836,1410754839,AQ
+1410754840,1410754855,DE
1410754856,1410754859,AQ
1410754860,1410754867,DE
1410754868,1410754871,AQ
-1410754872,1410755063,DE
-1410755064,1410755067,AQ
+1410754872,1410755059,DE
+1410755060,1410755067,AQ
1410755068,1410755071,DE
1410755072,1410755327,AQ
1410755328,1410755583,DE
-1410755584,1410760191,AQ
+1410755584,1410759679,AQ
+1410759680,1410760191,US
1410760192,1410760447,DE
-1410760448,1410760455,CN
-1410760456,1410760471,AQ
+1410760448,1410760455,NL
+1410760456,1410760463,BS
+1410760464,1410760471,AQ
1410760472,1410760487,DE
1410760488,1410760503,AQ
-1410760504,1410760703,DE
+1410760504,1410760575,DE
+1410760576,1410760703,AQ
1410760704,1410768895,RU
1410768896,1410777087,GB
1410777088,1410785279,RU
@@ -43890,8 +52819,8 @@
1410850816,1410859007,DE
1410859008,1411383295,NL
1411383296,1411448831,LT
-1411448832,1411451391,IT
-1411451392,1411451903,DE
+1411448832,1411451647,IT
+1411451648,1411451903,DE
1411451904,1411452159,IT
1411452160,1411452415,DE
1411452416,1411453439,IT
@@ -43926,7 +52855,6 @@
1411736672,1411737079,FR
1411737080,1411737087,A2
1411737088,1411776511,FR
-1411776512,1411780607,GR
1411780608,1411784703,PL
1411784704,1411788799,GB
1411788800,1411792895,IT
@@ -44113,7 +53041,9 @@
1412775936,1412792319,NL
1412792320,1412793343,US
1412793344,1412793855,EU
-1412793856,1412804607,US
+1412793856,1412795135,US
+1412795136,1412795391,EU
+1412795392,1412804607,US
1412804608,1412804863,EU
1412804864,1412805631,US
1412805632,1412806143,EU
@@ -44148,25 +53078,232 @@
1421869056,1422393343,BE
1422393344,1422393599,DE
1422393600,1422393855,IT
-1422393856,1422399103,DE
-1422399104,1422399135,IT
-1422399136,1422399999,DE
+1422393856,1422398719,DE
+1422398720,1422398783,IT
+1422398784,1422399231,DE
+1422399232,1422399487,US
+1422399488,1422399999,DE
1422400000,1422400255,IT
1422400256,1422400511,DE
1422400512,1422400767,BR
-1422400768,1422403839,DE
+1422400768,1422401319,DE
+1422401320,1422401327,AT
+1422401328,1422403839,DE
1422403840,1422403903,IT
-1422403904,1422406399,DE
+1422403904,1422403935,SE
+1422403936,1422403943,AT
+1422403944,1422406399,DE
1422406400,1422406463,GB
-1422406464,1422468207,DE
-1422468208,1422468223,IT
-1422468224,1422468671,DE
+1422406464,1422406471,AT
+1422406472,1422410335,DE
+1422410336,1422410343,AT
+1422410344,1422410367,DE
+1422410368,1422410495,IT
+1422410496,1422418943,US
+1422418944,1422419967,DE
+1422419968,1422423807,US
+1422423808,1422425855,DE
+1422425856,1422430463,US
+1422430464,1422432511,DE
+1422432512,1422436863,US
+1422436864,1422437391,DE
+1422437392,1422437399,AT
+1422437400,1422437439,DE
+1422437440,1422437455,CH
+1422437456,1422437647,DE
+1422437648,1422437655,AT
+1422437656,1422437695,DE
+1422437696,1422437711,CH
+1422437712,1422437903,DE
+1422437904,1422437911,AT
+1422437912,1422437951,DE
+1422437952,1422437967,CH
+1422437968,1422438159,DE
+1422438160,1422438167,AT
+1422438168,1422438207,DE
+1422438208,1422438223,CH
+1422438224,1422438415,DE
+1422438416,1422438423,AT
+1422438424,1422438463,DE
+1422438464,1422438479,CH
+1422438480,1422438671,DE
+1422438672,1422438679,AT
+1422438680,1422438719,DE
+1422438720,1422438735,CH
+1422438736,1422438927,DE
+1422438928,1422438935,AT
+1422438936,1422438975,DE
+1422438976,1422438991,CH
+1422438992,1422439183,DE
+1422439184,1422439191,AT
+1422439192,1422439231,DE
+1422439232,1422439247,CH
+1422439248,1422439439,DE
+1422439440,1422439447,AT
+1422439448,1422439487,DE
+1422439488,1422439503,CH
+1422439504,1422439695,DE
+1422439696,1422439703,AT
+1422439704,1422439743,DE
+1422439744,1422439759,CH
+1422439760,1422439951,DE
+1422439952,1422439959,AT
+1422439960,1422439999,DE
+1422440000,1422440015,CH
+1422440016,1422440207,DE
+1422440208,1422440215,AT
+1422440216,1422440255,DE
+1422440256,1422440271,CH
+1422440272,1422440463,DE
+1422440464,1422440471,AT
+1422440472,1422440511,DE
+1422440512,1422440527,CH
+1422440528,1422440719,DE
+1422440720,1422440727,AT
+1422440728,1422440767,DE
+1422440768,1422440783,CH
+1422440784,1422440975,DE
+1422440976,1422440983,AT
+1422440984,1422441023,DE
+1422441024,1422441039,CH
+1422441040,1422441231,DE
+1422441232,1422441239,AT
+1422441240,1422441279,DE
+1422441280,1422441295,CH
+1422441296,1422441487,DE
+1422441488,1422441495,AT
+1422441496,1422441535,DE
+1422441536,1422441551,CH
+1422441552,1422441743,DE
+1422441744,1422441751,AT
+1422441752,1422441791,DE
+1422441792,1422441807,CH
+1422441808,1422441999,DE
+1422442000,1422442007,AT
+1422442008,1422442047,DE
+1422442048,1422442063,CH
+1422442064,1422442255,DE
+1422442256,1422442263,AT
+1422442264,1422442303,DE
+1422442304,1422442319,CH
+1422442320,1422442751,DE
+1422442752,1422443263,US
+1422443264,1422444287,DE
+1422444288,1422444543,US
+1422444544,1422444671,CN
+1422444672,1422445055,DE
+1422445056,1422446079,IT
+1422446080,1422448639,DE
+1422448640,1422450687,US
+1422450688,1422451119,DE
+1422451120,1422451127,AT
+1422451128,1422451199,DE
+1422451200,1422451455,US
+1422451456,1422451551,DE
+1422451552,1422451583,SE
+1422451584,1422451687,DE
+1422451688,1422451695,AT
+1422451696,1422452271,DE
+1422452272,1422452275,RU
+1422452276,1422452567,DE
+1422452568,1422452575,AT
+1422452576,1422453007,DE
+1422453008,1422453015,AT
+1422453016,1422453263,DE
+1422453264,1422453271,AT
+1422453272,1422453519,DE
+1422453520,1422453527,AT
+1422453528,1422453775,DE
+1422453776,1422453783,AT
+1422453784,1422454031,DE
+1422454032,1422454039,AT
+1422454040,1422454287,DE
+1422454288,1422454295,AT
+1422454296,1422454543,DE
+1422454544,1422454551,AT
+1422454552,1422454871,DE
+1422454872,1422454879,AT
+1422454880,1422455551,DE
+1422455552,1422456063,US
+1422456064,1422456127,DE
+1422456128,1422456135,AT
+1422456136,1422456319,DE
+1422456320,1422456575,US
+1422456576,1422456639,DE
+1422456640,1422456647,AT
+1422456648,1422457215,DE
+1422457216,1422457223,AT
+1422457224,1422457407,DE
+1422457408,1422457415,AT
+1422457416,1422457855,DE
+1422457856,1422458111,US
+1422458112,1422459647,DE
+1422459648,1422459903,US
+1422459904,1422460927,DE
+1422460928,1422461183,US
+1422461184,1422464255,DE
+1422464256,1422466559,US
+1422466560,1422466815,DE
+1422466816,1422467071,US
+1422467072,1422467839,DE
+1422467840,1422468095,US
+1422468096,1422468671,DE
1422468672,1422468735,IT
-1422468736,1422476863,DE
+1422468736,1422469839,DE
+1422469840,1422469847,RO
+1422469848,1422469903,DE
+1422469904,1422469911,AT
+1422469912,1422470159,DE
+1422470160,1422470167,AT
+1422470168,1422470415,DE
+1422470416,1422470423,AT
+1422470424,1422470671,DE
+1422470672,1422470679,AT
+1422470680,1422470927,DE
+1422470928,1422470935,AT
+1422470936,1422471183,DE
+1422471184,1422471191,AT
+1422471192,1422471439,DE
+1422471440,1422471447,AT
+1422471448,1422471695,DE
+1422471696,1422471703,AT
+1422471704,1422471951,DE
+1422471952,1422471959,AT
+1422471960,1422472207,DE
+1422472208,1422472215,AT
+1422472216,1422472463,DE
+1422472464,1422472471,AT
+1422472472,1422472719,DE
+1422472720,1422472727,AT
+1422472728,1422472975,DE
+1422472976,1422472983,AT
+1422472984,1422473231,DE
+1422473232,1422473239,AT
+1422473240,1422473487,DE
+1422473488,1422473495,AT
+1422473496,1422473743,DE
+1422473744,1422473751,AT
+1422473752,1422473999,DE
+1422474000,1422474007,AT
+1422474008,1422474255,DE
+1422474256,1422474263,AT
+1422474264,1422474511,DE
+1422474512,1422474519,AT
+1422474520,1422474767,DE
+1422474768,1422474775,AT
+1422474776,1422475023,DE
+1422475024,1422475031,AT
+1422475032,1422476863,DE
1422476864,1422476895,GB
1422476896,1422479615,DE
1422479616,1422479871,BE
-1422479872,1422491647,DE
+1422479872,1422480431,DE
+1422480432,1422480447,GB
+1422480448,1422483423,DE
+1422483424,1422483439,GB
+1422483440,1422484463,DE
+1422484464,1422484479,GB
+1422484480,1422491647,DE
1422491648,1422508031,RU
1422508032,1422512127,BG
1422512128,1422516223,PL
@@ -44196,11 +53333,11 @@
1422858144,1422858239,EU
1422858240,1422858623,FR
1422858624,1422909439,EU
-1422909440,1422909695,NL
-1422909696,1422911231,EU
+1422909440,1422909951,NL
+1422909952,1422911231,EU
1422911232,1422911487,NL
-1422911488,1422917375,EU
-1422917376,1422917631,GB
+1422911488,1422917119,EU
+1422917120,1422917631,GB
1422917632,1423441919,NO
1423441920,1423704063,SE
1423704064,1423966207,IT
@@ -44214,7 +53351,7 @@
1424588800,1424588839,DE
1424588840,1424588847,GB
1424588848,1424588863,DE
-1424588864,1424588927,GB
+1424588864,1424588927,US
1424588928,1424588951,DE
1424588952,1424588959,GB
1424588960,1424588963,IT
@@ -44225,7 +53362,9 @@
1424590768,1424590771,GB
1424590772,1424590783,SE
1424590784,1424590847,CH
-1424590848,1424591406,SE
+1424590848,1424591359,SE
+1424591360,1424591367,GB
+1424591368,1424591406,SE
1424591407,1424591407,GB
1424591408,1424591423,SE
1424591424,1424591439,GB
@@ -44233,7 +53372,9 @@
1424591464,1424591471,GB
1424591472,1424591551,SE
1424591552,1424591615,CZ
-1424591616,1424592639,GB
+1424591616,1424591839,GB
+1424591840,1424591871,NL
+1424591872,1424592639,GB
1424592640,1424593151,FR
1424593152,1424593407,NL
1424593408,1424593663,DE
@@ -44242,11 +53383,10 @@
1424593792,1424593919,DE
1424593920,1424593967,FR
1424593968,1424593983,GB
-1424593984,1424594055,FR
+1424593984,1424594047,FR
+1424594048,1424594055,GB
1424594056,1424594063,IT
-1424594064,1424594079,FR
-1424594080,1424594095,GB
-1424594096,1424594103,FR
+1424594064,1424594103,FR
1424594104,1424594111,GB
1424594112,1424594175,FR
1424594176,1424594431,GB
@@ -44294,7 +53434,9 @@
1424600320,1424600575,GB
1424600576,1424600831,FR
1424600832,1424601087,BE
-1424601088,1424601599,GB
+1424601088,1424601343,GB
+1424601344,1424601367,ES
+1424601368,1424601599,GB
1424601600,1424601855,CH
1424601856,1424602111,GB
1424602112,1424602623,DE
@@ -44302,7 +53444,8 @@
1424602736,1424602743,IT
1424602744,1424602879,GB
1424602880,1424602911,US
-1424602912,1424602935,GB
+1424602912,1424602927,FR
+1424602928,1424602935,GB
1424602936,1424603007,US
1424603008,1424603023,GB
1424603024,1424603087,US
@@ -44320,10 +53463,14 @@
1424604800,1424604927,GB
1424604928,1424604959,NL
1424604960,1424604967,GB
-1424604968,1424605119,NL
+1424604968,1424605023,NL
+1424605024,1424605055,GB
+1424605056,1424605119,NL
1424605120,1424605135,GB
1424605136,1424605183,NL
-1424605184,1424605439,GB
+1424605184,1424605247,GB
+1424605248,1424605279,NL
+1424605280,1424605439,GB
1424605440,1424605567,BG
1424605568,1424605583,GR
1424605584,1424605599,BE
@@ -44345,14 +53492,13 @@
1424607216,1424607223,SK
1424607224,1424607487,GB
1424607488,1424607871,DE
-1424607872,1424608031,GB
+1424607872,1424607999,EU
+1424608000,1424608031,GB
1424608032,1424608083,FR
1424608084,1424608087,GB
1424608088,1424608127,FR
1424608128,1424608279,GB
-1424608280,1424608319,FR
-1424608320,1424608327,GB
-1424608328,1424608383,FR
+1424608280,1424608383,FR
1424608384,1424608399,ES
1424608400,1424608511,FR
1424608512,1424608559,ES
@@ -44367,7 +53513,9 @@
1424609396,1424609399,GB
1424609400,1424609535,CH
1424609536,1424609543,GB
-1424609544,1424609791,CH
+1424609544,1424609743,CH
+1424609744,1424609759,GB
+1424609760,1424609791,CH
1424609792,1424610303,GB
1424610304,1424610559,TZ
1424610560,1424610815,PL
@@ -44377,7 +53525,7 @@
1424611152,1424611271,BE
1424611272,1424611279,LU
1424611280,1424611287,BE
-1424611288,1424611295,GB
+1424611288,1424611295,FR
1424611296,1424611327,BE
1424611328,1424611583,PL
1424611584,1424612095,GB
@@ -44395,8 +53543,7 @@
1424614096,1424614127,IT
1424614128,1424614135,GB
1424614136,1424614143,IT
-1424614144,1424614399,GB
-1424614400,1424614415,FR
+1424614144,1424614415,GB
1424614416,1424614503,IT
1424614504,1424614511,GB
1424614512,1424614655,IT
@@ -44407,8 +53554,7 @@
1424615804,1424615807,GB
1424615808,1424615935,IT
1424615936,1424616191,FR
-1424616192,1424616447,IT
-1424616448,1424616479,GB
+1424616192,1424616479,GB
1424616480,1424616483,ES
1424616484,1424616487,GB
1424616488,1424616503,ES
@@ -44451,8 +53597,11 @@
1424619840,1424619915,BE
1424619916,1424619919,GB
1424619920,1424620031,BE
-1424620032,1424621055,GB
-1424621056,1424621567,IT
+1424620032,1424620767,GB
+1424620768,1424620775,RU
+1424620776,1424620783,DE
+1424620784,1424621311,GB
+1424621312,1424621567,IT
1424621568,1424625663,PL
1424625664,1424629759,GB
1424629760,1424633855,PL
@@ -44551,13 +53700,10 @@
1425377341,1425391615,DE
1425391616,1425407999,LV
1425408000,1425424383,NL
-1425424384,1425424543,A2
-1425424544,1425424639,DE
-1425424640,1425424895,IR
+1425424384,1425424463,A2
+1425424464,1425424895,DE
1425424896,1425425151,NE
-1425425152,1425425663,DE
-1425425664,1425425919,NE
-1425425920,1425426303,DE
+1425425152,1425426303,DE
1425426304,1425426319,IR
1425426320,1425426343,DE
1425426344,1425426352,IR
@@ -44577,7 +53723,9 @@
1425439544,1425439711,DE
1425439712,1425439727,CZ
1425439728,1425440767,DE
-1425440768,1425442815,SE
+1425440768,1425441935,SE
+1425441936,1425441943,FI
+1425441944,1425442815,SE
1425442816,1425444863,GB
1425444864,1425445126,IT
1425445127,1425445127,FR
@@ -44620,15 +53768,11 @@
1425472016,1425472035,DE
1425472036,1425472039,GB
1425472040,1425473535,DE
-1425473536,1425474047,GB
-1425474048,1425474559,RO
-1425474560,1425475583,GB
-1425475584,1425478143,RO
-1425478144,1425478655,GB
-1425478656,1425484799,RO
-1425484800,1425485311,GB
+1425473536,1425485311,RO
1425485312,1425485823,AE
-1425485824,1425506303,RO
+1425485824,1425491967,RO
+1425491968,1425492223,EU
+1425492224,1425506303,RO
1425506304,1425522687,NO
1425522688,1425539071,IT
1425539072,1425801215,FI
@@ -44888,7 +54032,11 @@
1426703104,1426703167,RU
1426703168,1426703214,LV
1426703215,1426703217,RU
-1426703218,1426716159,LV
+1426703218,1426704144,LV
+1426704145,1426704145,EU
+1426704146,1426704146,LV
+1426704147,1426704147,EU
+1426704148,1426716159,LV
1426716160,1426716415,RU
1426716416,1426718719,LV
1426718720,1426731007,SI
@@ -44904,33 +54052,18 @@
1426800640,1426817023,PL
1426817024,1426833407,BG
1426833408,1426849791,SE
-1426849792,1426850303,NL
-1426850304,1426850335,SE
-1426850336,1426850367,GB
-1426850368,1426850463,NL
-1426850464,1426850495,GB
-1426850496,1426851519,NL
+1426849792,1426851519,NL
1426851520,1426851583,PA
-1426851584,1426851839,NL
-1426851840,1426852095,SE
-1426852096,1426852352,NL
+1426851584,1426852352,NL
1426852353,1426852359,RU
1426852360,1426852367,SE
1426852368,1426852375,NL
1426852376,1426852383,US
-1426852384,1426852543,GB
-1426852544,1426856447,NL
-1426856448,1426856703,ES
-1426856704,1426857472,NL
+1426852384,1426857472,NL
1426857473,1426857500,ES
-1426857501,1426859263,NL
-1426859264,1426859519,RU
-1426859520,1426864511,NL
+1426857501,1426864511,NL
1426864512,1426864639,PA
-1426864640,1426864895,FR
-1426864896,1426865663,NL
-1426865664,1426865919,BE
-1426865920,1426866175,ES
+1426864640,1426866175,NL
1426866176,1426882559,GB
1426882560,1426898943,FR
1426898944,1426915327,RU
@@ -44949,13 +54082,13 @@
1426968344,1426968351,ES
1426968352,1426968591,GB
1426968592,1426968600,ES
-1426968601,1426968791,GB
-1426968792,1426968800,ES
+1426968601,1426968799,GB
+1426968800,1426968800,ES
1426968801,1426969135,GB
1426969136,1426969151,ES
1426969152,1426971855,GB
-1426971856,1426971863,ES
-1426971864,1426972319,GB
+1426971856,1426971859,ES
+1426971860,1426972319,GB
1426972320,1426972326,FR
1426972327,1426973335,GB
1426973336,1426973343,ES
@@ -44988,9 +54121,7 @@
1427062784,1427095551,RU
1427095552,1427111935,LV
1427111936,1427177471,DE
-1427177472,1427216703,NL
-1427216704,1427216767,BE
-1427216768,1427227135,NL
+1427177472,1427227135,NL
1427227136,1427227647,US
1427227648,1427227967,NL
1427227968,1427227975,GB
@@ -45002,103 +54133,144 @@
1427228016,1427228023,FR
1427228024,1427243007,NL
1427243008,1427308543,IT
-1427308544,1427374079,NO
+1427308544,1427364571,NO
+1427364572,1427364575,SE
+1427364576,1427374079,NO
1427374080,1427439615,IT
1427439616,1427505151,RU
1427505152,1427570687,DE
1427570688,1427636223,FI
1427636224,1427668991,DK
1427668992,1427701759,SE
-1427701760,1427723391,DE
+1427701760,1427705289,DE
+1427705290,1427705290,AZ
+1427705291,1427705802,DE
+1427705803,1427705803,US
+1427705804,1427705804,GR
+1427705805,1427706441,DE
+1427706442,1427706446,TR
+1427706447,1427706447,DE
+1427706448,1427706448,MA
+1427706449,1427723391,DE
1427723392,1427723519,LI
1427723520,1427728383,DE
1427728384,1427728415,BR
-1427728416,1427728479,DE
+1427728416,1427728447,RU
+1427728448,1427728479,DE
1427728480,1427728511,CY
1427728512,1427728543,BR
1427728544,1427728575,DE
-1427728576,1427728607,BR
-1427728608,1427728671,DE
+1427728576,1427728639,BR
+1427728640,1427728671,CY
1427728672,1427728703,TR
1427728704,1427728735,RU
1427728736,1427728799,DE
1427728800,1427728831,RU
1427728832,1427728895,CY
1427728896,1427728927,RU
-1427728928,1427728959,IL
+1427728928,1427728959,US
1427728960,1427728991,RU
-1427728992,1427729023,DE
+1427728992,1427729023,LT
1427729024,1427729055,GB
1427729056,1427729087,CA
-1427729088,1427729119,DE
+1427729088,1427729119,MA
1427729120,1427729151,BR
-1427729152,1427729311,DE
+1427729152,1427729215,DE
+1427729216,1427729279,IN
+1427729280,1427729311,DE
1427729312,1427729343,GR
-1427729344,1427742719,DE
+1427729344,1427730134,DE
+1427730135,1427730137,TH
+1427730138,1427730139,DE
+1427730140,1427730140,US
+1427730141,1427730141,IN
+1427730142,1427730142,DK
+1427730143,1427730144,US
+1427730145,1427731511,DE
+1427731512,1427731512,US
+1427731513,1427731516,DE
+1427731517,1427731517,RU
+1427731518,1427731551,DE
+1427731552,1427731583,BR
+1427731584,1427742719,DE
1427742720,1427742751,IO
1427742752,1427742911,DE
-1427742912,1427742943,US
-1427742944,1427742975,DE
+1427742912,1427742975,BR
1427742976,1427743007,RU
1427743008,1427743039,US
1427743040,1427743071,BR
1427743072,1427743103,CY
1427743104,1427743135,BR
-1427743136,1427743199,DE
+1427743136,1427743167,IN
+1427743168,1427743199,RU
1427743200,1427743231,TR
1427743232,1427743263,GR
-1427743264,1427743327,DE
+1427743264,1427743295,DE
+1427743296,1427743327,BR
1427743328,1427743359,NL
1427743360,1427743423,BR
-1427743424,1427743455,TR
+1427743424,1427743455,US
1427743456,1427743487,CY
-1427743488,1427743583,DE
+1427743488,1427743519,DE
+1427743520,1427743551,BR
+1427743552,1427743583,DE
1427743584,1427743615,LV
1427743616,1427743647,DK
-1427743648,1427743775,DE
+1427743648,1427743679,IN
+1427743680,1427743711,RU
+1427743712,1427743743,DE
+1427743744,1427743775,MA
1427743776,1427743807,ZA
-1427743808,1427743839,DE
+1427743808,1427743839,BR
1427743840,1427743871,RU
1427743872,1427743903,DE
1427743904,1427743935,US
1427743936,1427743967,RU
-1427743968,1427743999,US
-1427744000,1427744127,DE
-1427744128,1427744159,PL
-1427744160,1427744191,RU
-1427744192,1427744255,DE
+1427743968,1427743999,DE
+1427744000,1427744031,AT
+1427744032,1427744063,RU
+1427744064,1427744095,DE
+1427744096,1427744127,MA
+1427744128,1427744159,DE
+1427744160,1427744223,RU
+1427744224,1427744255,DE
1427744256,1427744287,US
1427744288,1427744319,TR
-1427744320,1427744351,DE
+1427744320,1427744351,IN
1427744352,1427744383,UA
1427744384,1427744415,PL
1427744416,1427744447,UA
1427744448,1427744479,US
-1427744480,1427744575,DE
+1427744480,1427744511,DE
+1427744512,1427744543,US
+1427744544,1427744575,DE
1427744576,1427744607,PL
-1427744608,1427744639,DE
+1427744608,1427744639,MA
1427744640,1427744671,TR
-1427744672,1427744767,DE
-1427744768,1427744799,BR
-1427744800,1427744863,DE
+1427744672,1427744703,DE
+1427744704,1427744799,BR
+1427744800,1427744831,LT
+1427744832,1427744863,AR
1427744864,1427744927,TR
1427744928,1427744959,HU
1427744960,1427744991,RU
1427744992,1427745023,DK
1427745024,1427745055,BM
1427745056,1427745087,US
-1427745088,1427745151,DE
+1427745088,1427745119,MA
+1427745120,1427745151,US
1427745152,1427745183,RO
1427745184,1427745215,CH
-1427745216,1427745279,DE
+1427745216,1427745247,US
+1427745248,1427745279,DE
1427745280,1427745311,MA
-1427745312,1427745343,TH
-1427745344,1427745375,DE
+1427745312,1427745343,NL
+1427745344,1427745375,RU
1427745376,1427745407,BR
1427745408,1427745471,US
1427745472,1427745503,RO
1427745504,1427745535,RU
-1427745536,1427745567,CN
+1427745536,1427745567,BR
1427745568,1427745599,RU
1427745600,1427745631,DE
1427745632,1427745663,BM
@@ -45106,25 +54278,26 @@
1427745696,1427745727,US
1427745728,1427745759,DE
1427745760,1427745791,LT
-1427745792,1427745823,GB
+1427745792,1427745823,FR
1427745824,1427745855,US
1427745856,1427745887,BR
-1427745888,1427745919,DE
+1427745888,1427745919,IN
1427745920,1427745951,ES
-1427745952,1427746015,DE
-1427746016,1427746047,TR
+1427745952,1427745983,IN
+1427745984,1427746015,RU
+1427746016,1427746047,US
1427746048,1427746079,SE
1427746080,1427746111,GB
1427746112,1427746143,DE
1427746144,1427746175,GR
1427746176,1427746239,DE
1427746240,1427746271,US
-1427746272,1427747839,DE
+1427746272,1427746463,DE
+1427746464,1427746495,MA
+1427746496,1427747839,DE
1427747840,1427747871,FI
-1427747872,1427747903,BR
-1427747904,1427747935,CY
-1427747936,1427747967,US
-1427747968,1427747999,DE
+1427747872,1427747935,BR
+1427747936,1427747999,US
1427748000,1427748031,BR
1427748032,1427748063,DE
1427748064,1427748095,US
@@ -45137,15 +54310,23 @@
1427748352,1427748383,BR
1427748384,1427748447,DE
1427748448,1427748479,RU
-1427748480,1427748511,MA
-1427748512,1427748607,DE
+1427748480,1427748543,MA
+1427748544,1427748575,DE
+1427748576,1427748607,BR
1427748608,1427748639,HU
-1427748640,1427748735,DE
+1427748640,1427748671,FR
+1427748672,1427748703,DE
+1427748704,1427748735,LT
1427748736,1427748799,BR
-1427748800,1427749535,DE
+1427748800,1427748863,MA
+1427748864,1427749471,DE
+1427749472,1427749503,BR
+1427749504,1427749535,DE
1427749536,1427749567,MA
1427749568,1427749599,CY
-1427749600,1427749695,DE
+1427749600,1427749631,IN
+1427749632,1427749663,RU
+1427749664,1427749695,DE
1427749696,1427749727,BR
1427749728,1427749759,DE
1427749760,1427749791,BR
@@ -45153,63 +54334,70 @@
1427749856,1427749887,RU
1427749888,1427749919,BR
1427749920,1427749951,US
-1427749952,1427749983,RU
-1427749984,1427750079,DE
-1427750080,1427750111,BG
+1427749952,1427749983,BR
+1427749984,1427750015,RU
+1427750016,1427750079,DE
+1427750080,1427750111,US
1427750112,1427750175,DE
-1427750176,1427750207,TR
+1427750176,1427750207,SE
1427750208,1427750239,DE
1427750240,1427750271,US
1427750272,1427750303,GR
-1427750304,1427750335,GB
+1427750304,1427750335,FR
1427750336,1427750367,US
-1427750368,1427751167,DE
-1427751168,1427751423,NL
-1427751424,1427759903,DE
+1427750368,1427759903,DE
1427759904,1427759935,MA
1427759936,1427759967,HR
1427759968,1427759999,DE
1427760000,1427760031,BR
-1427760032,1427760095,US
-1427760096,1427760159,DE
+1427760032,1427760063,US
+1427760064,1427760095,AR
+1427760096,1427760127,US
+1427760128,1427760159,DE
1427760160,1427760191,PL
1427760192,1427760255,US
1427760256,1427760319,BR
1427760320,1427760351,TR
1427760352,1427760383,RU
-1427760384,1427760415,TR
-1427760416,1427760447,BR
-1427760448,1427760575,DE
+1427760384,1427760415,IN
+1427760416,1427760447,US
+1427760448,1427760479,BR
+1427760480,1427760575,DE
1427760576,1427760607,CH
1427760608,1427760671,DE
1427760672,1427760703,BR
-1427760704,1427760799,DE
+1427760704,1427760735,DE
+1427760736,1427760767,BR
+1427760768,1427760799,DE
1427760800,1427760831,US
1427760832,1427760863,DE
1427760864,1427760895,US
1427760896,1427760959,DE
1427760960,1427760991,CZ
1427760992,1427761023,BG
-1427761024,1427761055,HR
+1427761024,1427761055,DE
1427761056,1427761087,CL
1427761088,1427761119,CH
1427761120,1427761151,TR
-1427761152,1427761215,DE
+1427761152,1427761183,AR
+1427761184,1427761215,DE
1427761216,1427761247,TR
-1427761248,1427761279,DE
+1427761248,1427761279,US
1427761280,1427761311,RU
1427761312,1427761343,UA
1427761344,1427761375,CY
1427761376,1427761407,TW
-1427761408,1427761439,DE
-1427761440,1427761471,US
-1427761472,1427761503,DE
+1427761408,1427761439,RU
+1427761440,1427761471,DE
+1427761472,1427761503,IN
1427761504,1427761535,PL
1427761536,1427761567,US
1427761568,1427761599,RU
1427761600,1427761631,EG
1427761632,1427761663,TR
-1427761664,1427767295,DE
+1427761664,1427766983,DE
+1427766984,1427766984,US
+1427766985,1427767295,DE
1427767296,1427800063,BE
1427800064,1427832831,RU
1427832832,1427865599,BE
@@ -45241,7 +54429,9 @@
1428135936,1428137983,IT
1428137984,1428140031,GB
1428140032,1428142079,RU
-1428142080,1428143263,DE
+1428142080,1428143119,DE
+1428143120,1428143135,RU
+1428143136,1428143263,DE
1428143264,1428143279,CH
1428143280,1428144127,DE
1428144128,1428147343,FR
@@ -45254,9 +54444,7 @@
1428148176,1428148191,CH
1428148192,1428150487,FR
1428150488,1428150495,GB
-1428150496,1428150663,FR
-1428150664,1428150671,GB
-1428150672,1428151231,FR
+1428150496,1428151231,FR
1428151232,1428151295,CH
1428151296,1428152319,FR
1428152320,1428160511,PL
@@ -45289,8 +54477,8 @@
1431864944,1431865335,PT
1431865336,1431865343,ES
1431865344,1431865631,PT
-1431865632,1431865647,ES
-1431865648,1431865663,PT
+1431865632,1431865639,ES
+1431865640,1431865663,PT
1431865664,1431865679,ES
1431865680,1431866447,PT
1431866448,1431866455,NL
@@ -45389,11 +54577,7 @@
1432133552,1432133631,NL
1432133632,1432150015,GB
1432150016,1432158207,BA
-1432158208,1432159311,DE
-1432159312,1432159321,US
-1432159322,1432159743,DE
-1432159744,1432159871,PL
-1432159872,1432160255,DE
+1432158208,1432160255,DE
1432160256,1432160511,CH
1432160512,1432165247,DE
1432165248,1432165375,PL
@@ -45498,10 +54682,12 @@
1433806656,1433806687,IT
1433806688,1433806719,NL
1433806720,1433806751,DE
-1433806752,1433812991,FR
+1433806752,1433806783,ES
+1433806784,1433806815,CH
+1433806816,1433812991,FR
1433812992,1433821183,BG
1433821184,1433829375,GE
-1433829376,1433833471,RU
+1433831424,1433833471,RU
1433833472,1433835519,IT
1433835520,1433837567,GB
1433837568,1433839615,DE
@@ -45521,13 +54707,7 @@
1433856000,1433858047,GB
1433858048,1433860095,ES
1433860096,1433862143,DE
-1433862144,1433862467,CH
-1433862468,1433862471,US
-1433862472,1433862519,CH
-1433862520,1433862527,NL
-1433862528,1433862559,CH
-1433862560,1433862575,GB
-1433862576,1433862751,CH
+1433862144,1433862751,CH
1433862752,1433862783,MC
1433862784,1433862975,CH
1433862976,1433862991,GB
@@ -45541,14 +54721,10 @@
1433864192,1433866239,HU
1433866240,1433866751,NL
1433866752,1433867007,GB
-1433867008,1433867263,NL
-1433867264,1433867295,GB
-1433867296,1433867519,NL
+1433867008,1433867519,NL
1433867520,1433867647,GB
1433867648,1433867775,NL
-1433867776,1433867903,GB
-1433867904,1433868031,NL
-1433868032,1433870335,GB
+1433867776,1433870335,GB
1433870336,1433872383,TR
1433872384,1433874431,IT
1433874432,1433876479,NL
@@ -45603,35 +54779,39 @@
1434683328,1434683391,MY
1434683392,1434685759,DE
1434685760,1434685951,NL
-1434685952,1434686719,DE
-1434686720,1434687231,NL
+1434685952,1434686975,DE
+1434686976,1434687231,NL
1434687232,1434687359,DE
1434687360,1434687487,NL
1434687488,1434687647,DE
1434687648,1434687679,NL
1434687680,1434688031,DE
-1434688032,1434688063,NL
-1434688064,1434688095,DE
-1434688096,1434688127,NL
+1434688032,1434688127,NL
1434688128,1434688143,DE
1434688144,1434688151,NL
1434688152,1434688207,DE
1434688208,1434688223,NL
-1434688224,1434689887,DE
+1434688224,1434688511,DE
+1434688512,1434689023,NL
+1434689024,1434689887,DE
1434689888,1434689919,NL
1434689920,1434689951,DE
1434689952,1434690015,NL
-1434690016,1434692607,DE
+1434690016,1434691071,DE
+1434691072,1434691327,NL
+1434691328,1434692607,DE
1434692608,1434692671,NL
-1434692672,1434693119,DE
-1434693120,1434693375,NL
-1434693376,1434694655,DE
+1434692672,1434694655,DE
1434694656,1434694719,NL
-1434694720,1434696447,DE
+1434694720,1434694911,DE
+1434694912,1434695679,NL
+1434695680,1434696447,DE
1434696448,1434696703,NL
-1434696704,1434698879,DE
-1434698880,1434699007,NL
-1434699008,1434702463,DE
+1434696704,1434698239,DE
+1434698240,1434698367,NL
+1434698368,1434698879,DE
+1434698880,1434699263,NL
+1434699264,1434702463,DE
1434702464,1434702591,NL
1434702592,1434702655,DE
1434702656,1434702671,NL
@@ -45639,16 +54819,21 @@
1434702784,1434702911,NL
1434702912,1434702975,DE
1434702976,1434703039,NL
-1434703040,1434705727,DE
+1434703040,1434704895,DE
+1434704896,1434705407,NL
+1434705408,1434705727,DE
1434705728,1434705919,NL
-1434705920,1434710015,DE
+1434705920,1434708991,DE
+1434708992,1434709247,NL
+1434709248,1434709503,DE
+1434709504,1434709759,NL
+1434709760,1434710015,DE
1434710016,1434710527,NL
1434710528,1434712063,DE
-1434712064,1434712319,NL
-1434712320,1434712959,DE
+1434712064,1434712575,NL
+1434712576,1434712959,DE
1434712960,1434712975,NL
-1434712976,1434713855,DE
-1434713856,1434714111,NL
+1434712976,1434714111,DE
1434714112,1434746879,AZ
1434746880,1434779647,CZ
1434779648,1434812415,GB
@@ -45669,7 +54854,10 @@
1436418048,1436420095,DE
1436420096,1436422143,GB
1436422144,1436424191,FR
-1436424192,1436426239,CH
+1436424192,1436424255,EU
+1436424256,1436424319,CH
+1436424320,1436424447,EU
+1436424448,1436426239,CH
1436426240,1436428287,BA
1436428288,1436430335,GB
1436430336,1436432383,RU
@@ -45701,7 +54889,11 @@
1436471680,1436471743,BE
1436471744,1436471807,BR
1436471808,1436473343,BE
-1436473344,1436475391,RO
+1436473344,1436473599,RO
+1436473600,1436473855,IT
+1436473856,1436474111,RO
+1436474112,1436474367,IT
+1436474368,1436475391,RO
1436475392,1436477439,AT
1436477440,1436479487,CH
1436479488,1436481535,RU
@@ -45742,7 +54934,9 @@
1436540928,1436542975,RU
1436542976,1436544203,NL
1436544204,1436544207,HK
-1436544208,1436545023,NL
+1436544208,1436544223,NL
+1436544224,1436544231,PK
+1436544232,1436545023,NL
1436545024,1436547071,DE
1436547072,1436549119,GB
1436549120,1436811263,CZ
@@ -45766,14 +54960,14 @@
1438515200,1438519007,DE
1438519008,1438519039,SI
1438519040,1438523391,DE
-1438523392,1438524947,NL
+1438523392,1438524159,NL
+1438524160,1438524415,DE
+1438524416,1438524947,NL
1438524948,1438524951,DE
1438524952,1438525335,NL
1438525336,1438525343,DE
1438525344,1438525607,NL
-1438525608,1438525695,DE
-1438525696,1438526723,NL
-1438526724,1438580735,DE
+1438525608,1438580735,DE
1438580736,1438646271,NL
1438646272,1438662655,RU
1438662656,1438679039,ES
@@ -45790,15 +54984,24 @@
1438842880,1438859263,SE
1438859264,1438860287,DE
1438860288,1438860415,US
-1438860416,1438861823,DE
+1438860416,1438861567,DE
+1438861568,1438861599,US
+1438861600,1438861695,DE
+1438861696,1438861823,US
1438861824,1438862079,CH
-1438862080,1438869591,DE
+1438862080,1438862335,DE
+1438862336,1438862491,US
+1438862492,1438862495,DE
+1438862496,1438862559,US
+1438862560,1438869591,DE
1438869592,1438869595,RU
1438869596,1438869647,DE
1438869648,1438869651,LV
1438869652,1438869655,US
1438869656,1438869663,UA
-1438869664,1438873119,DE
+1438869664,1438870783,DE
+1438870784,1438871039,GB
+1438871040,1438873119,DE
1438873120,1438873127,PA
1438873128,1438873671,DE
1438873672,1438873679,PA
@@ -45842,14 +55045,16 @@
1438890752,1438892031,RU
1438892032,1438895359,CH
1438895360,1438900223,IS
-1438900224,1438908415,AQ
+1438900224,1438908415,CH
1438908416,1438924799,GR
1438924800,1438941183,NO
1438941184,1438957567,BG
1438957568,1438973951,EE
1438973952,1438994175,DE
1438994176,1438994431,SE
-1438994432,1438994619,DE
+1438994432,1438994551,DE
+1438994552,1438994559,GB
+1438994560,1438994619,DE
1438994620,1438994623,SE
1438994624,1438994751,DE
1438994752,1438994759,GB
@@ -45858,25 +55063,17 @@
1438995040,1438995047,GB
1438995048,1438995067,DE
1438995068,1438995071,SE
-1438995072,1438995647,DE
-1438995648,1438995711,GB
-1438995712,1438998697,DE
+1438995072,1438995399,DE
+1438995400,1438995407,GB
+1438995408,1438995647,DE
+1438995648,1438995655,GB
+1438995656,1438998697,DE
1438998698,1438998730,NL
-1438998731,1438998781,DE
-1438998782,1438998783,CH
-1438998784,1438999098,DE
-1438999099,1438999103,CH
-1438999104,1438999167,DE
+1438998731,1438999167,DE
1438999168,1438999248,NL
1438999249,1438999252,DE
1438999253,1438999295,NL
-1438999296,1438999475,DE
-1438999476,1438999487,PT
-1438999488,1438999517,DE
-1438999518,1438999518,CH
-1438999519,1438999533,DE
-1438999534,1438999534,CH
-1438999535,1438999551,DE
+1438999296,1438999551,DE
1438999552,1438999807,GB
1438999808,1439000575,DE
1439000576,1439000831,NL
@@ -45898,13 +55095,13 @@
1439154176,1439170559,GB
1439170560,1439236095,NO
1439236096,1439301631,BE
-1439301632,1439305727,CZ
+1439301632,1439305727,RU
1439305728,1439309823,DK
1439309824,1439318015,PL
1439318016,1439322111,DK
1439322112,1439326207,RO
1439326208,1439330303,PL
-1439330304,1439338495,RU
+1439334400,1439338495,RU
1439338496,1439342591,PL
1439342592,1439346687,UA
1439346688,1439350783,RU
@@ -45914,47 +55111,21 @@
1439367168,1439375359,NL
1439375360,1439383551,DE
1439383552,1439432703,NL
-1439432704,1439440383,RO
-1439440384,1439440895,GB
-1439440896,1439446527,RO
-1439446528,1439447039,GB
-1439447040,1439449087,RO
-1439449088,1439449855,GB
-1439449856,1439451135,RO
-1439451136,1439451647,GB
-1439451648,1439457279,RO
-1439457280,1439457791,GB
-1439457792,1439462911,RO
-1439462912,1439463167,GB
-1439463168,1439463423,RO
-1439463424,1439463935,GB
-1439463936,1439464447,RO
-1439464448,1439464703,GB
-1439464704,1439466495,RO
-1439466496,1439467007,GB
-1439467008,1439482367,RO
-1439482368,1439482879,GB
-1439482880,1439498239,RO
-1439498240,1439503103,GB
-1439503104,1439503359,PT
-1439503360,1439507199,GB
-1439507200,1439508479,DE
-1439508480,1439514623,GB
+1439432704,1439498239,RO
+1439498240,1439507199,DE
+1439507200,1439507455,GB
+1439507456,1439513599,DE
+1439513600,1439514623,GB
1439514624,1439516671,IT
-1439516672,1439517439,DE
-1439517440,1439517695,GB
-1439517696,1439518207,DE
+1439516672,1439518207,DE
1439518208,1439518719,IT
-1439518720,1439521791,GB
-1439521792,1439522815,DE
-1439522816,1439528959,GB
-1439528960,1439529599,DE
-1439529600,1439529727,GB
-1439529728,1439529983,DE
+1439518720,1439527935,DE
+1439527936,1439528959,GB
+1439528960,1439529983,DE
1439529984,1439530239,EG
-1439530240,1439530751,GB
-1439530752,1439531007,DE
-1439531008,1439535103,GB
+1439530240,1439530495,GB
+1439530496,1439534079,DE
+1439534080,1439535103,GB
1439535104,1439536127,IT
1439536128,1439537151,GB
1439537152,1439538175,IT
@@ -45965,20 +55136,18 @@
1439549440,1439551487,IT
1439551488,1439556095,DE
1439556096,1439556607,IT
-1439556608,1439557887,DE
-1439557888,1439558143,GB
+1439556608,1439558143,DE
1439558144,1439558911,IT
-1439558912,1439559423,GB
-1439559424,1439560191,DE
+1439558912,1439560191,DE
1439560192,1439560447,IT
-1439560448,1439560703,GB
+1439560448,1439560703,DE
1439560704,1439561215,IT
1439561216,1439561727,DE
1439561728,1439562239,GB
1439562240,1439562751,IE
-1439562752,1439563263,GB
-1439563264,1439563519,DE
-1439563520,1439563775,GB
+1439562752,1439563007,DE
+1439563008,1439563263,GB
+1439563264,1439563775,DE
1439563776,1439629311,LT
1439629312,1439694847,CZ
1439694848,1439825919,SA
@@ -46024,7 +55193,11 @@
1441386112,1441386239,IL
1441386240,1441387519,FR
1441387520,1441387647,US
-1441387648,1441388671,FR
+1441387648,1441387903,FR
+1441387904,1441387919,GN
+1441387920,1441387935,FR
+1441387936,1441387951,GB
+1441387952,1441388671,FR
1441388672,1441388799,CA
1441388800,1441389055,FR
1441389056,1441389119,IE
@@ -46043,7 +55216,9 @@
1441423360,1441431551,RU
1441431552,1441439743,GB
1441439744,1441447935,LV
-1441447936,1441456127,BE
+1441447936,1441451263,BE
+1441451264,1441451519,EU
+1441451520,1441456127,BE
1441456128,1441464319,NL
1441464320,1441468671,SE
1441468672,1441470719,DK
@@ -46057,29 +55232,35 @@
1441505280,1441521663,RU
1441521664,1441529855,DK
1441529856,1441538047,RU
-1441538048,1441543151,DE
+1441538048,1441542911,DE
+1441542912,1441542927,RO
+1441542928,1441543151,DE
1441543152,1441543167,LI
1441543168,1441543567,DE
1441543568,1441543583,CH
1441543584,1441543599,HR
1441543600,1441544063,DE
1441544064,1441544127,TR
-1441544128,1441544143,DE
-1441544144,1441544159,CH
-1441544160,1441545535,DE
+1441544128,1441545535,DE
1441545536,1441545599,AT
1441545600,1441546239,DE
1441546240,1441554431,DK
1441554432,1441554687,GB
1441554688,1441554943,NL
-1441554944,1441557759,GB
+1441554944,1441555199,GB
+1441555200,1441555455,DE
+1441555456,1441556735,GB
+1441556736,1441556991,DE
+1441556992,1441557759,GB
1441557760,1441558015,NL
1441558016,1441562623,GB
1441562624,1441564671,IQ
1441564672,1441566719,PK
1441566720,1441570815,IR
1441570816,1441579007,RU
-1441579008,1441582975,DE
+1441579008,1441582159,DE
+1441582160,1441582175,US
+1441582176,1441582975,DE
1441582976,1441583103,US
1441583104,1441586431,DE
1441586432,1441586687,US
@@ -46095,9 +55276,11 @@
1441620408,1441620411,ES
1441620412,1441620735,FR
1441620736,1441620767,ES
-1441620768,1441620895,FR
+1441620768,1441620863,FR
+1441620864,1441620895,ES
1441620896,1441620927,PT
-1441620928,1441628159,FR
+1441620928,1441620959,ES
+1441620960,1441628159,FR
1441628160,1441636351,SA
1441636352,1441644543,PL
1441644544,1441652735,GB
@@ -46174,7 +55357,9 @@
1445434112,1445434399,BE
1445434400,1445434527,NL
1445434528,1445434559,BE
-1445434560,1445435395,NL
+1445434560,1445434623,NL
+1445434624,1445435135,BE
+1445435136,1445435395,NL
1445435396,1445435399,BE
1445435400,1445435423,NL
1445435424,1445435431,BE
@@ -46212,7 +55397,19 @@
1445456128,1445458175,BE
1445458176,1445462015,NL
1445462016,1445986303,IE
-1445986304,1446051839,DK
+1445986304,1446007367,DK
+1446007368,1446007374,ES
+1446007375,1446007407,DK
+1446007408,1446007414,SE
+1446007415,1446007471,DK
+1446007472,1446007476,RU
+1446007477,1446008423,DK
+1446008424,1446008430,GB
+1446008431,1446008655,DK
+1446008656,1446008662,FR
+1446008663,1446010511,DK
+1446010512,1446010518,NL
+1446010519,1446051839,DK
1446051840,1446117375,CZ
1446117376,1446182911,FI
1446182912,1446248447,SA
@@ -46224,7 +55421,9 @@
1446576128,1446608895,IR
1446608896,1446641663,BY
1446641664,1446674431,SI
-1446674432,1446694543,DK
+1446674432,1446678407,DK
+1446678408,1446678411,US
+1446678412,1446694543,DK
1446694544,1446694559,SE
1446694560,1446694591,DK
1446694592,1446694607,NO
@@ -46239,7 +55438,9 @@
1446710800,1446710815,MT
1446710816,1446710887,AT
1446710888,1446710895,MT
-1446710896,1446712783,AT
+1446710896,1446710903,AT
+1446710904,1446710911,MT
+1446710912,1446712783,AT
1446712784,1446712791,DE
1446712792,1446716399,AT
1446716400,1446716407,MT
@@ -46262,7 +55463,7 @@
1446904104,1446904111,IQ
1446904112,1446904119,GN
1446904120,1446904127,IQ
-1446904128,1446904135,AF
+1446904128,1446904135,A2
1446904136,1446904143,LY
1446904144,1446904151,ER
1446904152,1446904231,A2
@@ -46279,7 +55480,8 @@
1446904400,1446904415,IQ
1446904416,1446904575,A2
1446904576,1446904591,SD
-1446904592,1446904607,AF
+1446904592,1446904599,AF
+1446904600,1446904607,A2
1446904608,1446904623,SD
1446904624,1446904639,A2
1446904640,1446904679,IQ
@@ -46324,7 +55526,7 @@
1446904992,1446904995,IQ
1446904996,1446905003,A2
1446905004,1446905007,NG
-1446905008,1446905011,CG
+1446905008,1446905011,A2
1446905012,1446905015,AF
1446905016,1446905019,NG
1446905020,1446905023,LY
@@ -46336,9 +55538,10 @@
1446905044,1446905047,IQ
1446905048,1446905051,LY
1446905052,1446905059,IQ
-1446905060,1446905063,A2
-1446905064,1446905067,NG
-1446905068,1446905083,A2
+1446905060,1446905067,NG
+1446905068,1446905071,A2
+1446905072,1446905075,NG
+1446905076,1446905083,A2
1446905084,1446905095,AF
1446905096,1446905099,LY
1446905100,1446905103,IQ
@@ -46350,8 +55553,8 @@
1446905128,1446905131,IQ
1446905132,1446905139,LY
1446905140,1446905147,IQ
-1446905148,1446905155,A2
-1446905156,1446905159,IQ
+1446905148,1446905151,A2
+1446905152,1446905159,IQ
1446905160,1446905163,A2
1446905164,1446905171,LY
1446905172,1446905175,A2
@@ -46391,9 +55594,13 @@
1446905384,1446905391,SD
1446905392,1446905583,A2
1446905584,1446905591,AF
-1446905592,1446905619,A2
+1446905592,1446905611,A2
+1446905612,1446905615,IQ
+1446905616,1446905619,A2
1446905620,1446905623,TD
-1446905624,1446905635,A2
+1446905624,1446905627,A2
+1446905628,1446905631,IQ
+1446905632,1446905635,A2
1446905636,1446905639,IQ
1446905640,1446905643,A2
1446905644,1446905647,IQ
@@ -46401,9 +55608,12 @@
1446905652,1446905655,IQ
1446905656,1446905659,AF
1446905660,1446905663,ER
-1446905664,1446905667,A2
+1446905664,1446905667,LY
1446905668,1446905675,AF
-1446905676,1446905703,A2
+1446905676,1446905683,LY
+1446905684,1446905687,A2
+1446905688,1446905691,CF
+1446905692,1446905703,A2
1446905704,1446905707,IQ
1446905708,1446905715,A2
1446905716,1446905719,IQ
@@ -46413,8 +55623,7 @@
1446905732,1446905735,AF
1446905736,1446905739,IQ
1446905740,1446905743,A2
-1446905744,1446905747,LY
-1446905748,1446905759,A2
+1446905744,1446905759,LY
1446905760,1446905763,ML
1446905764,1446905767,A2
1446905768,1446905775,IQ
@@ -46444,7 +55653,7 @@
1446906072,1446906079,CY
1446906080,1446906111,A2
1446906112,1446906119,IQ
-1446906120,1446906123,BG
+1446906120,1446906123,A2
1446906124,1446906131,IQ
1446906132,1446906135,SD
1446906136,1446906151,A2
@@ -46644,8 +55853,7 @@
1446908232,1446908235,LY
1446908236,1446908247,A2
1446908248,1446908251,AF
-1446908252,1446908255,A2
-1446908256,1446908259,SZ
+1446908252,1446908259,A2
1446908260,1446908263,IQ
1446908264,1446908267,A2
1446908268,1446908271,AF
@@ -46757,7 +55965,9 @@
1446909808,1446909815,A2
1446909816,1446909819,AF
1446909820,1446909827,IQ
-1446909828,1446909999,A2
+1446909828,1446909967,A2
+1446909968,1446909971,LY
+1446909972,1446909999,A2
1446910000,1446910003,AF
1446910004,1446910019,A2
1446910020,1446910023,IQ
@@ -46813,8 +56023,8 @@
1446910728,1446910731,AF
1446910732,1446910739,A2
1446910740,1446910747,AF
-1446910748,1446910771,A2
-1446910772,1446910775,AF
+1446910748,1446910767,A2
+1446910768,1446910775,AF
1446910776,1446910791,A2
1446910792,1446910795,LY
1446910796,1446910799,A2
@@ -47038,69 +56248,11 @@
1449459712,1449525247,HU
1449525248,1449590783,RU
1449590784,1449656319,DE
-1449656320,1449657087,GB
-1449657088,1449658623,RO
-1449658624,1449659135,GB
-1449659136,1449685759,RO
-1449685760,1449686271,GB
-1449686272,1449686527,RO
-1449686528,1449687039,GB
-1449687040,1449687295,RO
-1449687296,1449688063,GB
-1449688064,1449690111,RO
-1449690112,1449690623,GB
-1449690624,1449705471,RO
-1449705472,1449705727,GB
-1449705728,1449706239,RO
-1449706240,1449706495,GB
-1449706496,1449710591,RO
-1449710592,1449711103,GB
-1449711104,1449711359,RO
-1449711360,1449711615,GB
-1449711616,1449717759,RO
-1449717760,1449718783,GB
-1449718784,1449719039,RO
-1449719040,1449719807,GB
-1449719808,1449756671,RO
-1449756672,1449758719,GB
-1449758720,1449767423,RO
-1449767424,1449767679,GB
-1449767680,1449771775,RO
-1449771776,1449772031,GB
-1449772032,1449773055,RO
-1449773056,1449774079,GB
-1449774080,1449776383,RO
-1449776384,1449776639,GB
-1449776640,1449779967,RO
-1449779968,1449780223,GB
-1449780224,1449780735,RO
-1449780736,1449780991,GB
-1449780992,1449783807,RO
-1449783808,1449784319,GB
-1449784320,1449785343,RO
-1449785344,1449786367,GB
-1449786368,1449787391,RO
-1449787392,1449791487,GB
-1449791488,1449795327,RO
-1449795328,1449795583,GB
-1449795584,1449808639,RO
+1449656320,1449808639,RO
1449808640,1449808895,UA
-1449808896,1449830655,RO
-1449830656,1449830911,GB
-1449830912,1449840639,RO
+1449808896,1449840639,RO
1449840640,1449852927,MD
-1449852928,1449854975,GB
-1449854976,1449859071,RO
-1449859072,1449859583,GB
-1449859584,1449879551,RO
-1449879552,1449879807,GB
-1449879808,1449880063,RO
-1449880064,1449880319,GB
-1449880320,1449881087,RO
-1449881088,1449881599,GB
-1449881600,1449908223,RO
-1449908224,1449910271,GB
-1449910272,1449918463,RO
+1449852928,1449918463,RO
1449918464,1449951231,JO
1449951232,1449983999,TR
1449984000,1449992191,NL
@@ -47155,7 +56307,7 @@
1464336384,1464467455,DK
1464467456,1464598527,GB
1464598528,1464602623,RU
-1464602624,1464606719,US
+1464602624,1464606719,GB
1464606720,1464614911,KZ
1464614912,1464664063,UA
1464664064,1464860671,DE
@@ -47199,27 +56351,7 @@
1466400768,1466433535,RU
1466433536,1466499071,DK
1466499072,1466564607,PL
-1466564608,1466589183,DE
-1466589184,1466590207,FR
-1466590208,1466592255,GB
-1466592256,1466592511,FR
-1466592512,1466592767,GB
-1466592768,1466592895,FR
-1466592896,1466593279,GB
-1466593280,1466604799,DE
-1466604800,1466605055,ES
-1466605056,1466606847,DE
-1466606848,1466607103,FR
-1466607104,1466608895,DE
-1466608896,1466609151,ES
-1466609152,1466613759,DE
-1466613760,1466615807,ES
-1466615808,1466616575,GB
-1466616576,1466617343,ES
-1466617344,1466617471,FR
-1466617472,1466617599,GB
-1466617600,1466617855,ES
-1466617856,1466630143,DE
+1466564608,1466630143,DE
1466630144,1466695679,IR
1466695680,1466761215,FI
1466761216,1466826751,SA
@@ -47239,7 +56371,9 @@
1467340960,1467340991,US
1467340992,1467344639,GB
1467344640,1467344895,ZA
-1467344896,1467351039,GB
+1467344896,1467347999,GB
+1467348000,1467348031,US
+1467348032,1467351039,GB
1467351040,1467367423,NO
1467367424,1467367615,DE
1467367616,1467367647,SE
@@ -47254,7 +56388,9 @@
1467368448,1467368703,DK
1467368704,1467369519,DE
1467369520,1467369535,RU
-1467369536,1467369759,DE
+1467369536,1467369647,DE
+1467369648,1467369663,CH
+1467369664,1467369759,DE
1467369760,1467369791,HR
1467369792,1467369855,SE
1467369856,1467369871,RU
@@ -47306,9 +56442,7 @@
1472259256,1472264799,IE
1472264800,1472264807,GB
1472264808,1472266239,IE
-1472266240,1472304610,DE
-1472304611,1472304611,A2
-1472304612,1472314335,DE
+1472266240,1472314335,DE
1472314336,1472314343,A2
1472314344,1472330699,DE
1472330700,1472330700,A2
@@ -47348,9 +56482,7 @@
1474966474,1474966474,A2
1474966475,1474968895,DE
1474968896,1474968903,A2
-1474968904,1475009582,DE
-1475009583,1475009583,A2
-1475009584,1475018751,DE
+1474968904,1475018751,DE
1475018752,1475084287,ES
1475084288,1475086335,NL
1475086336,1475092479,RU
@@ -47362,7 +56494,7 @@
1475102208,1475102719,GB
1475102720,1475104767,FR
1475104768,1475106815,RU
-1475106816,1475108863,GB
+1475106816,1475108863,SE
1475108864,1475110911,NL
1475110912,1475112959,DE
1475112960,1475115007,AT
@@ -47377,7 +56509,11 @@
1475131392,1475133439,RU
1475133440,1475135487,CZ
1475135488,1475137535,CH
-1475137536,1475139583,GB
+1475137536,1475139071,GB
+1475139072,1475139103,IR
+1475139104,1475139327,US
+1475139328,1475139455,DE
+1475139456,1475139583,NL
1475139584,1475141631,ES
1475141632,1475143679,FI
1475143680,1475145727,JO
@@ -47416,8 +56552,10 @@
1475192832,1475194879,CH
1475194880,1475196927,DE
1475196928,1475197791,FR
-1475197792,1475197807,ES
-1475197808,1475198975,FR
+1475197792,1475197807,GB
+1475197808,1475198143,FR
+1475198144,1475198175,GB
+1475198176,1475198975,FR
1475198976,1475201023,BH
1475201024,1475203071,RS
1475203072,1475205119,SE
@@ -47457,8 +56595,10 @@
1475223552,1475229695,NO
1475229696,1475229759,SE
1475229760,1475229951,NO
-1475229952,1475230207,SE
-1475230208,1475233791,NO
+1475229952,1475230231,SE
+1475230232,1475230271,NO
+1475230272,1475230335,SE
+1475230336,1475233791,NO
1475233792,1475234303,GB
1475234304,1475234559,IE
1475234560,1475235839,GB
@@ -47469,9 +56609,7 @@
1475242240,1475243775,FR
1475243776,1475244031,MC
1475244032,1475244287,DE
-1475244288,1475244311,SD
-1475244312,1475244319,DE
-1475244320,1475244543,SD
+1475244288,1475244543,SD
1475244544,1475245183,DE
1475245184,1475245311,SD
1475245312,1475246079,DE
@@ -47513,7 +56651,6 @@
1475274752,1475276799,RU
1475276800,1475278847,ES
1475278848,1475280895,DK
-1475280896,1475282943,PL
1475282944,1475284991,NL
1475284992,1475287039,GB
1475287040,1475291135,RU
@@ -47568,8 +56705,8 @@
1475592192,1475608575,GB
1475608576,1475624959,RU
1475624960,1475627519,JE
-1475627520,1475627662,GB
-1475627663,1475627663,JE
+1475627520,1475627655,GB
+1475627656,1475627663,JE
1475627664,1475627688,GB
1475627689,1475627695,JE
1475627696,1475627775,GB
@@ -47615,13 +56752,11 @@
1475690496,1475706879,CH
1475706880,1475723263,RU
1475723264,1475725311,CY
-1475725312,1475725951,RU
-1475725952,1475726463,GB
-1475726464,1475726527,RU
+1475725312,1475726111,RU
+1475726112,1475726207,GB
+1475726208,1475726527,RU
1475726528,1475726591,GB
-1475726592,1475726719,RU
-1475726720,1475727103,GB
-1475727104,1475727167,RU
+1475726592,1475727167,RU
1475727168,1475727343,GB
1475727344,1475727359,RU
1475727360,1475727391,FI
@@ -47629,15 +56764,103 @@
1475727616,1475727623,FI
1475727624,1475727631,GB
1475727632,1475727639,FI
-1475727640,1475727807,GB
+1475727640,1475727735,GB
+1475727736,1475727743,RU
+1475727744,1475727807,GB
1475727808,1475727871,FI
-1475727872,1475729087,GB
+1475727872,1475728383,GB
+1475728384,1475728511,DE
+1475728512,1475728887,GB
+1475728888,1475728895,RU
+1475728896,1475729087,GB
1475729088,1475729103,DE
-1475729104,1475729151,GB
+1475729104,1475729135,GB
+1475729136,1475729143,RU
+1475729144,1475729151,GB
1475729152,1475729215,AT
-1475729216,1475729407,GB
-1475729408,1475731455,UA
-1475731456,1475739647,GB
+1475729216,1475729343,GB
+1475729344,1475729359,RU
+1475729360,1475729391,GB
+1475729392,1475729407,RU
+1475729408,1475729536,UA
+1475729537,1475729647,GB
+1475729648,1475729671,UA
+1475729672,1475729679,GB
+1475729680,1475729687,UA
+1475729688,1475729919,GB
+1475729920,1475730431,UA
+1475730432,1475730495,RU
+1475730496,1475731455,UA
+1475731456,1475732479,GB
+1475732480,1475732991,RU
+1475732992,1475734271,GB
+1475734272,1475734279,RU
+1475734280,1475734783,GB
+1475734784,1475734791,UA
+1475734792,1475734799,RU
+1475734800,1475734807,UA
+1475734808,1475734815,RU
+1475734816,1475734823,UA
+1475734824,1475734831,RU
+1475734832,1475734911,UA
+1475734912,1475734919,RU
+1475734920,1475734991,UA
+1475734992,1475734999,RU
+1475735000,1475735039,UA
+1475735040,1475735295,GB
+1475735296,1475735319,UA
+1475735320,1475735327,RU
+1475735328,1475735343,UA
+1475735344,1475735351,RU
+1475735352,1475735367,UA
+1475735368,1475735375,RU
+1475735376,1475735383,UA
+1475735384,1475735391,RU
+1475735392,1475735439,UA
+1475735440,1475735455,RU
+1475735456,1475735551,UA
+1475735552,1475735807,US
+1475735808,1475735999,RU
+1475736000,1475736063,GB
+1475736064,1475736127,LV
+1475736128,1475736191,EE
+1475736192,1475736255,GB
+1475736256,1475736319,HU
+1475736320,1475736447,RU
+1475736448,1475736551,UA
+1475736552,1475736831,RU
+1475736832,1475736959,GB
+1475736960,1475737023,FR
+1475737024,1475737087,PL
+1475737088,1475737151,NL
+1475737152,1475737183,CZ
+1475737184,1475737191,RU
+1475737192,1475737215,CZ
+1475737216,1475737255,DE
+1475737256,1475737263,RU
+1475737264,1475737267,DE
+1475737268,1475737279,RU
+1475737280,1475737343,AT
+1475737344,1475737399,UA
+1475737400,1475737407,RU
+1475737408,1475737471,UA
+1475737472,1475737479,RU
+1475737480,1475737487,UA
+1475737488,1475737495,RU
+1475737496,1475737503,UA
+1475737504,1475737519,RU
+1475737520,1475737543,UA
+1475737544,1475737551,RU
+1475737552,1475737583,UA
+1475737584,1475737591,RU
+1475737592,1475737599,UA
+1475737600,1475737655,FI
+1475737656,1475737663,RU
+1475737664,1475737727,FI
+1475737728,1475737735,RU
+1475737736,1475737855,FI
+1475737856,1475738111,SE
+1475738112,1475739647,RU
1475739648,1475756031,BG
1475756032,1475772415,GB
1475772416,1475788799,LV
@@ -47661,7 +56884,7 @@
1475901440,1475903487,CH
1475903488,1475911679,IR
1475911680,1475919871,MD
-1475919872,1475928063,IT
+1475919872,1475928063,EU
1475928064,1475952639,RU
1475952640,1475953151,AE
1475953152,1475953663,A2
@@ -47680,7 +56903,11 @@
1475959296,1475960207,GB
1475960208,1475960319,A2
1475960320,1475960831,GB
-1475960832,1475969023,NL
+1475960832,1475963135,NL
+1475963136,1475963391,EU
+1475963392,1475966527,NL
+1475966528,1475966591,EU
+1475966592,1475969023,NL
1475969024,1475977215,CZ
1475977216,1475985407,SE
1475985408,1476009983,RU
@@ -47745,7 +56972,9 @@
1476313088,1476315135,FI
1476315136,1476316159,US
1476316160,1476316671,SG
-1476316672,1476321279,FI
+1476316672,1476317183,FI
+1476317184,1476321151,DE
+1476321152,1476321279,FI
1476321280,1476329471,MC
1476329472,1476337663,RU
1476337664,1476345855,NL
@@ -47773,7 +57002,9 @@
1481711616,1481719807,RU
1481719808,1481727999,CZ
1481728000,1481736191,IE
-1481736192,1481744383,GG
+1481736192,1481741823,GG
+1481741824,1481742079,GB
+1481742080,1481744383,GG
1481744384,1481752575,IT
1481752576,1481760767,RU
1481760768,1481768959,UA
@@ -47909,12 +57140,8 @@
1486295040,1486297087,ES
1486297088,1486299135,IE
1486299136,1486301183,NL
-1486301184,1486302863,DK
-1486302864,1486302879,SE
-1486302880,1486303231,DK
1486303232,1486305023,IS
1486305024,1486305279,GB
-1486305280,1486307327,NO
1486307328,1486309375,DE
1486309376,1486311423,AT
1486311424,1486313471,IE
@@ -47923,9 +57150,11 @@
1486317568,1486320383,RU
1486320384,1486320639,US
1486320640,1486321663,RU
+1486321664,1486323711,NL
1486323712,1486325759,GB
1486325760,1486327807,PL
1486327808,1486329855,CH
+1486329856,1486331903,GB
1486331904,1486333951,NO
1486333952,1486335999,SE
1486336000,1486338047,KZ
@@ -47950,7 +57179,11 @@
1489240064,1489305599,EE
1489305600,1489338367,GR
1489338368,1489371135,BE
-1489371136,1489402239,DE
+1489371136,1489389391,DE
+1489389392,1489389399,IT
+1489389400,1489392767,DE
+1489392768,1489392775,IT
+1489392776,1489402239,DE
1489402240,1489402367,TR
1489402368,1489404767,DE
1489404768,1489404775,IT
@@ -48119,14 +57352,15 @@
1489731584,1489764351,BG
1489764352,1489797119,RU
1489797120,1489829887,KZ
-1489829888,1489855503,DE
+1489829888,1489855495,DE
+1489855496,1489855503,CH
1489855504,1489855519,RU
-1489855520,1489855535,PL
-1489855536,1489855543,DE
+1489855520,1489855543,DE
1489855544,1489855551,PL
1489855552,1489855583,DE
1489855584,1489855615,RU
-1489855616,1489855999,DE
+1489855616,1489855935,DE
+1489855936,1489855999,US
1489856000,1489856031,PL
1489856032,1489856063,RU
1489856064,1489862655,DE
@@ -48136,7 +57370,9 @@
1489993728,1490026495,LU
1490026496,1490028543,US
1490028544,1490029055,UA
-1490029056,1490042879,NL
+1490029056,1490040855,NL
+1490040856,1490040863,UA
+1490040864,1490042879,NL
1490042880,1490049879,CZ
1490049880,1490049887,AT
1490049888,1490049919,CZ
@@ -48155,7 +57391,9 @@
1490124800,1490157567,HU
1490157568,1490173951,RU
1490173952,1490190335,PT
-1490190336,1490196479,GB
+1490190336,1490192895,GB
+1490192896,1490193151,IE
+1490193152,1490196479,GB
1490196480,1490196511,FR
1490196512,1490196527,DE
1490196528,1490196543,RS
@@ -48217,8 +57455,8 @@
1490917376,1490919423,IL
1490919424,1490927615,EU
1490927616,1490929663,FR
-1490929664,1490931711,EU
-1490931712,1490933759,DE
+1490929664,1490932223,EU
+1490932224,1490933759,DE
1490933760,1490934527,EU
1490934528,1490934783,IL
1490934784,1490943999,EU
@@ -48281,7 +57519,9 @@
1494580480,1494580735,HU
1494580736,1494581247,RO
1494581248,1494589439,RU
-1494589440,1494594559,NL
+1494589440,1494592511,NL
+1494592512,1494593535,US
+1494593536,1494594559,NL
1494594560,1494595071,US
1494595072,1494595327,A2
1494595328,1494595583,NL
@@ -48312,7 +57552,9 @@
1494745088,1494810623,CZ
1494810624,1494843391,BG
1494843392,1494876159,PL
-1494876160,1494908927,AT
+1494876160,1494880519,AT
+1494880520,1494880527,DE
+1494880528,1494908927,AT
1494908928,1494941695,PT
1494941696,1494974463,FI
1494974464,1495007231,DE
@@ -48383,8 +57625,7 @@
1495170176,1495170303,EU
1495170304,1495170335,FR
1495170336,1495170431,EU
-1495170432,1495170815,FR
-1495170816,1495171071,GB
+1495170432,1495171071,FR
1495171072,1495174399,NL
1495174400,1495174655,US
1495174656,1495203839,NL
@@ -48404,7 +57645,9 @@
1495236608,1495237247,AT
1495237248,1495237255,EU
1495237256,1495237271,AT
-1495237272,1495237375,EU
+1495237272,1495237311,EU
+1495237312,1495237319,AT
+1495237320,1495237375,EU
1495237376,1495237711,AT
1495237712,1495237727,NL
1495237728,1495237731,AT
@@ -48412,14 +57655,17 @@
1495237740,1495237743,AT
1495237744,1495237751,EU
1495237752,1495237775,AT
-1495237776,1495237887,EU
+1495237776,1495237791,EU
+1495237792,1495237807,AT
+1495237808,1495237887,EU
1495237888,1495238207,AT
1495238208,1495238223,EU
1495238224,1495238231,AT
1495238232,1495238239,EU
1495238240,1495238255,AT
1495238256,1495238271,EU
-1495238272,1495238655,AT
+1495238272,1495238399,AT
+1495238400,1495238655,EU
1495238656,1495240703,DE
1495240704,1495240751,FR
1495240752,1495240759,BE
@@ -48465,22 +57711,17 @@
1495265280,1495265791,DE
1495265792,1495267327,RU
1495267328,1495269375,SE
-1495269376,1495326719,RO
+1495269376,1495306239,RO
+1495306240,1495308287,GB
+1495308288,1495326719,RO
1495326720,1495330815,MD
1495330816,1495334911,RO
1495334912,1495335935,MD
1495335936,1495339007,RO
1495339008,1495343103,MD
-1495343104,1495346175,GB
-1495346176,1495347199,RO
-1495347200,1495349247,GB
-1495349248,1495399935,RO
+1495343104,1495399935,RO
1495399936,1495400191,MD
-1495400192,1495429119,RO
-1495429120,1495431167,GB
-1495431168,1495513087,RO
-1495513088,1495515135,GB
-1495515136,1495623679,RO
+1495400192,1495623679,RO
1495623680,1495623935,MD
1495623936,1495752703,RO
1495752704,1495754751,ES
@@ -48491,14 +57732,10 @@
1495891968,1495927295,RO
1495927296,1495927551,AE
1495927552,1495937023,RO
-1495937024,1495937535,ES
-1495937536,1495990271,RO
-1495990272,1495994367,GB
-1495994368,1496078335,RO
+1495937024,1495937535,SE
+1495937536,1496078335,RO
1496078336,1496079359,MD
-1496079360,1496086527,RO
-1496086528,1496088575,GB
-1496088576,1496121343,RO
+1496079360,1496121343,RO
1496121344,1496122367,MD
1496122368,1496178943,RO
1496178944,1496179199,AE
@@ -48519,14 +57756,14 @@
1500028928,1500037119,NL
1500037120,1500045311,DK
1500045312,1500061695,GB
-1500061696,1500069887,NO
+1500061696,1500063743,NO
+1500063744,1500064767,EU
+1500064768,1500069887,NO
1500069888,1500078079,IT
1500078080,1500086271,GB
1500086272,1500094463,RU
1500094464,1500102655,AT
-1500102656,1500104063,NL
-1500104064,1500104071,DE
-1500104072,1500106527,NL
+1500102656,1500106527,NL
1500106528,1500106559,DE
1500106560,1500107415,NL
1500107416,1500107423,DE
@@ -48538,13 +57775,15 @@
1500107944,1500107951,DE
1500107952,1500107999,NL
1500108000,1500108007,BE
-1500108008,1500108095,NL
-1500108096,1500108287,DE
+1500108008,1500108159,NL
+1500108160,1500108287,DE
1500108288,1500108319,NL
1500108320,1500108351,DE
1500108352,1500108367,NL
1500108368,1500108375,DE
-1500108376,1500110847,NL
+1500108376,1500108799,NL
+1500108800,1500109311,DE
+1500109312,1500110847,NL
1500110848,1500119039,UA
1500119040,1500127231,TR
1500127232,1500135423,FI
@@ -48686,7 +57925,9 @@
1502706688,1502707711,GB
1502707712,1502715903,RU
1502715904,1502717951,IT
+1502717952,1502719999,GB
1502720000,1502722047,CH
+1502722048,1502724095,TR
1502724096,1502740479,GB
1502740480,1502756863,NL
1502756864,1502773247,UZ
@@ -48708,7 +57949,9 @@
1502887936,1502904319,HU
1502904320,1502920703,IT
1502920704,1502937087,RU
-1502937088,1502953471,RO
+1502937088,1502944967,RO
+1502944968,1502944975,EU
+1502944976,1502953471,RO
1502953472,1502969855,MD
1502969856,1502975231,US
1502975232,1502975247,FR
@@ -48795,8 +58038,7 @@
1503895600,1503895607,BE
1503895608,1503895631,DE
1503895632,1503895639,AT
-1503895640,1503895647,GR
-1503895648,1503895663,DE
+1503895640,1503895663,DE
1503895664,1503895671,FR
1503895672,1503895679,PL
1503895680,1503895687,IT
@@ -48815,7 +58057,9 @@
1503896360,1503896367,CH
1503896368,1503896375,DE
1503896376,1503896383,CH
-1503896384,1503896439,DE
+1503896384,1503896399,DE
+1503896400,1503896407,GR
+1503896408,1503896439,DE
1503896440,1503896447,NO
1503896448,1503896543,DE
1503896544,1503896551,FR
@@ -48833,7 +58077,8 @@
1503897440,1503897463,DE
1503897464,1503897471,GR
1503897472,1503897479,AT
-1503897480,1503897519,DE
+1503897480,1503897487,BE
+1503897488,1503897519,DE
1503897520,1503897527,IT
1503897528,1503897583,DE
1503897584,1503897591,GB
@@ -48844,7 +58089,7 @@
1503898176,1503898183,IT
1503898184,1503898191,AT
1503898192,1503898199,GR
-1503898200,1503898207,US
+1503898200,1503898207,DE
1503898208,1503898215,BE
1503898216,1503898239,DE
1503898240,1503898303,IT
@@ -48852,8 +58097,7 @@
1503898312,1503898351,DE
1503898352,1503898359,CH
1503898360,1503898415,DE
-1503898416,1503898423,BE
-1503898424,1503898431,CH
+1503898416,1503898431,BE
1503898432,1503898503,DE
1503898504,1503898511,GR
1503898512,1503898567,DE
@@ -48863,13 +58107,13 @@
1503898608,1503898615,GR
1503898616,1503898631,DE
1503898632,1503898647,GR
-1503898648,1503898679,DE
-1503898680,1503898687,IT
-1503898688,1503898791,DE
-1503898792,1503898799,US
-1503898800,1503898815,DE
+1503898648,1503898791,DE
+1503898792,1503898799,RO
+1503898800,1503898807,DE
+1503898808,1503898815,PL
1503898816,1503898831,GB
-1503898832,1503898847,DE
+1503898832,1503898839,SE
+1503898840,1503898847,DE
1503898848,1503898855,MX
1503898856,1503898887,DE
1503898888,1503898895,IT
@@ -48903,14 +58147,26 @@
1503899336,1503899343,TH
1503899344,1503899351,DE
1503899352,1503899367,GR
-1503899368,1503899399,DE
+1503899368,1503899375,CH
+1503899376,1503899399,DE
1503899400,1503899407,CH
1503899408,1503899423,DE
1503899424,1503899431,IT
1503899432,1503899439,GR
1503899440,1503899463,DE
1503899464,1503899479,BR
-1503899480,1503908351,DE
+1503899480,1503899495,DE
+1503899496,1503899503,IT
+1503899504,1503899575,DE
+1503899576,1503899583,BE
+1503899584,1503899687,DE
+1503899688,1503899695,IT
+1503899696,1503899703,BE
+1503899704,1503899951,DE
+1503899952,1503899959,IT
+1503899960,1503900063,DE
+1503900064,1503900071,AU
+1503900072,1503908351,DE
1503908352,1503909375,IT
1503909376,1503920127,DE
1503920128,1503985663,HR
@@ -48919,7 +58175,9 @@
1504051200,1504083967,FI
1504083968,1504116735,DE
1504116736,1504149503,PL
-1504149504,1504152127,GB
+1504149504,1504151551,GB
+1504151552,1504151615,IE
+1504151616,1504152127,GB
1504152128,1504152191,IE
1504152192,1504152415,GB
1504152416,1504152431,IE
@@ -48989,12 +58247,14 @@
1505321104,1505321135,DE
1505321136,1505321423,AT
1505321424,1505321439,DE
-1505321440,1505321663,AT
-1505321664,1505321823,DE
+1505321440,1505321599,AT
+1505321600,1505321631,DE
+1505321632,1505321695,AT
+1505321696,1505321823,DE
1505321824,1505321831,AT
1505321832,1505321983,DE
-1505321984,1505322287,AT
-1505322288,1505322415,DE
+1505321984,1505322303,AT
+1505322304,1505322415,DE
1505322416,1505322895,AT
1505322896,1505324335,DE
1505324336,1505324367,AT
@@ -49015,11 +58275,13 @@
1505333624,1505333631,GB
1505333632,1505333887,IE
1505333888,1505333951,GB
-1505333952,1505336063,IE
-1505336064,1505336071,GB
+1505333952,1505335807,IE
+1505335808,1505336071,GB
1505336072,1505336576,IE
1505336577,1505336639,GB
-1505336640,1505336823,IE
+1505336640,1505336655,IE
+1505336656,1505336703,GB
+1505336704,1505336823,IE
1505336824,1505336863,GB
1505336864,1505336864,IE
1505336865,1505336879,GB
@@ -49051,9 +58313,7 @@
1505435648,1505443839,MD
1505443840,1505452103,GB
1505452104,1505452111,US
-1505452112,1505452327,GB
-1505452328,1505452335,NO
-1505452336,1505453167,GB
+1505452112,1505453167,GB
1505453168,1505453175,SE
1505453176,1505453183,US
1505453184,1505453439,GB
@@ -49105,8 +58365,8 @@
1505457012,1505457015,US
1505457016,1505458175,GB
1505458176,1505458431,US
-1505458432,1505458451,GB
-1505458452,1505458495,US
+1505458432,1505458455,GB
+1505458456,1505458495,US
1505458496,1505458519,GB
1505458520,1505458527,US
1505458528,1505458543,GB
@@ -49182,11 +58442,11 @@
1506418976,1506418983,CA
1506418984,1506422079,DE
1506422080,1506422111,CY
-1506422112,1506422655,DE
+1506422112,1506422142,CA
+1506422143,1506422655,DE
1506422656,1506422687,CY
1506422688,1506422703,CA
-1506422704,1506422711,GB
-1506422712,1506422719,DE
+1506422704,1506422719,GB
1506422720,1506422751,US
1506422752,1506427183,DE
1506427184,1506427199,CA
@@ -49198,7 +58458,10 @@
1506428224,1506428239,US
1506428240,1506436863,DE
1506436864,1506436879,FR
-1506436880,1506437119,DE
+1506436880,1506436883,GB
+1506436884,1506436959,DE
+1506436960,1506436975,GB
+1506436976,1506437119,DE
1506437120,1506437503,US
1506437504,1506437551,DE
1506437552,1506437567,BG
@@ -49237,11 +58500,20 @@
1506439572,1506439575,US
1506439576,1506439579,DE
1506439580,1506439583,NL
-1506439584,1506439935,DE
+1506439584,1506439607,DE
+1506439608,1506439615,SE
+1506439616,1506439619,CH
+1506439620,1506439623,GB
+1506439624,1506439935,DE
1506439936,1506440191,US
1506440192,1506440447,DE
1506440448,1506440575,US
-1506440576,1506440703,DE
+1506440576,1506440591,CY
+1506440592,1506440607,NL
+1506440608,1506440639,DE
+1506440640,1506440671,US
+1506440672,1506440702,SE
+1506440703,1506440703,DE
1506440704,1506440711,US
1506440712,1506440719,FR
1506440720,1506440735,US
@@ -49297,8 +58569,7 @@
1506442992,1506442999,GB
1506443000,1506443003,IE
1506443004,1506443151,DE
-1506443152,1506443159,US
-1506443160,1506443167,GB
+1506443152,1506443167,GB
1506443168,1506443183,NL
1506443184,1506443199,DE
1506443200,1506443263,US
@@ -49311,21 +58582,19 @@
1506445528,1506445703,FR
1506445704,1506445711,NL
1506445712,1506445719,GB
-1506445720,1506445727,FR
-1506445728,1506445735,GB
-1506445736,1506445759,FR
+1506445720,1506445759,FR
1506445760,1506445767,GB
1506445768,1506445815,FR
1506445816,1506445823,GB
-1506445824,1506446143,FR
-1506446144,1506446151,GB
-1506446152,1506446335,FR
+1506445824,1506446335,FR
1506446336,1506446719,NL
1506446720,1506446735,GB
1506446736,1506447359,NL
1506447360,1506447423,IT
-1506447424,1506447455,GB
-1506447456,1506448255,IT
+1506447424,1506447463,GB
+1506447464,1506447903,IT
+1506447904,1506447935,GB
+1506447936,1506448255,IT
1506448256,1506448319,GB
1506448320,1506448383,IT
1506448384,1506448639,AT
@@ -49351,21 +58620,23 @@
1506450880,1506450943,CZ
1506450944,1506450958,DK
1506450959,1506450959,GB
-1506450960,1506450967,DK
-1506450968,1506451007,GB
+1506450960,1506450999,DK
+1506451000,1506451007,GB
1506451008,1506451023,DK
1506451024,1506451031,FI
1506451032,1506451039,DK
1506451040,1506451055,NO
1506451056,1506451059,DK
-1506451060,1506451199,GB
+1506451060,1506451071,GB
+1506451072,1506451135,DK
+1506451136,1506451199,GB
1506451200,1506451791,ES
1506451792,1506451799,GB
1506451800,1506451871,ES
1506451872,1506451887,GB
1506451888,1506451895,ES
-1506451896,1506451903,GB
-1506451904,1506452143,ES
+1506451896,1506451919,GB
+1506451920,1506452143,ES
1506452144,1506452159,GB
1506452160,1506452223,ES
1506452224,1506452479,GB
@@ -49402,12 +58673,16 @@
1506456960,1506456991,GB
1506456992,1506457087,IT
1506457088,1506458239,GB
-1506458240,1506458287,CH
+1506458240,1506458271,CH
+1506458272,1506458279,GB
+1506458280,1506458287,CH
1506458288,1506458303,GB
1506458304,1506458623,CH
1506458624,1506459135,GB
1506459136,1506459647,BE
-1506459648,1506460047,FR
+1506459648,1506459967,FR
+1506459968,1506460031,ES
+1506460032,1506460047,FR
1506460048,1506460055,GB
1506460056,1506460063,FR
1506460064,1506460079,GB
@@ -49435,14 +58710,14 @@
1506462528,1506462583,GB
1506462584,1506462599,FR
1506462600,1506462607,GB
-1506462608,1506462623,A2
-1506462624,1506462719,FR
+1506462608,1506462719,FR
1506462720,1506463231,IT
1506463232,1506463487,SE
1506463488,1506463671,DE
1506463672,1506463679,GB
1506463680,1506463999,DE
-1506464000,1506464767,GB
+1506464000,1506464255,EU
+1506464256,1506464767,GB
1506464768,1506465279,NL
1506465280,1506465791,GB
1506465792,1506466047,DE
@@ -49452,7 +58727,10 @@
1506466628,1506466631,NL
1506466632,1506467071,GB
1506467072,1506467327,DE
-1506467328,1506467839,GB
+1506467328,1506467583,EU
+1506467584,1506467599,GB
+1506467600,1506467695,IT
+1506467696,1506467839,GB
1506467840,1506468351,IT
1506468352,1506468607,GB
1506468608,1506468863,TZ
@@ -49465,19 +58743,22 @@
1506471976,1506471979,GB
1506471980,1506471999,NL
1506472000,1506472031,BE
-1506472032,1506472159,NL
-1506472160,1506472175,GB
-1506472176,1506472191,NL
+1506472032,1506472175,NL
+1506472176,1506472191,GB
1506472192,1506472447,IT
1506472448,1506472703,GB
1506472704,1506473215,IT
-1506473216,1506473471,GB
-1506473472,1506474247,IT
+1506473216,1506473455,GB
+1506473456,1506473471,CH
+1506473472,1506473791,IT
+1506473792,1506473855,GB
+1506473856,1506474247,IT
1506474248,1506474255,GB
1506474256,1506474495,IT
1506474496,1506474751,FR
1506474752,1506475519,IT
-1506475520,1506475567,AT
+1506475520,1506475527,GB
+1506475528,1506475567,AT
1506475568,1506475775,GB
1506475776,1506476031,DE
1506476032,1506508799,KW
@@ -49511,26 +58792,11 @@
1506767616,1506767679,NO
1506767680,1506768895,GE
1506768896,1506770943,AT
-1506770944,1506771468,NL
-1506771469,1506771469,US
-1506771470,1506771489,NL
-1506771490,1506771498,US
-1506771499,1506771645,NL
-1506771646,1506771655,US
-1506771656,1506772017,NL
-1506772018,1506772018,US
-1506772019,1506772143,NL
+1506770944,1506772143,NL
1506772144,1506772145,TR
-1506772146,1506772147,NL
-1506772148,1506772176,TR
-1506772177,1506772323,NL
-1506772324,1506772325,IR
-1506772326,1506772326,RO
-1506772327,1506772361,NL
-1506772362,1506772364,IR
-1506772365,1506772938,NL
-1506772939,1506772939,IR
-1506772940,1506772991,NL
+1506772146,1506772323,NL
+1506772324,1506772324,IR
+1506772325,1506772991,NL
1506772992,1506775039,GB
1506775040,1506777087,AT
1506777088,1506781695,GB
@@ -49647,8 +58913,8 @@
1508647808,1508648447,SE
1508648448,1508648703,DK
1508648704,1508650751,SE
-1508650752,1508650855,DK
-1508650856,1508650879,SE
+1508650752,1508650863,DK
+1508650864,1508650879,SE
1508650880,1508651263,DK
1508651264,1508652543,SE
1508652544,1508654079,DK
@@ -49668,9 +58934,7 @@
1508788064,1508802559,DE
1508802560,1508804783,GB
1508804784,1508804791,DE
-1508804792,1508805119,GB
-1508805120,1508805375,NL
-1508805376,1508809263,GB
+1508804792,1508809263,GB
1508809264,1508809271,FR
1508809272,1508818943,GB
1508818944,1508835327,RO
@@ -49690,7 +58954,10 @@
1509453824,1509457919,RU
1509457920,1509462015,NL
1509462016,1509465599,LI
-1509465600,1509466111,CH
+1509465600,1509465983,CH
+1509465984,1509466055,LI
+1509466056,1509466095,CH
+1509466096,1509466111,LI
1509466112,1509466879,NL
1509466880,1509466911,FR
1509466912,1509467055,NL
@@ -49706,9 +58973,7 @@
1509467840,1509467871,PL
1509467872,1509469055,NL
1509469056,1509469183,PL
-1509469184,1509469439,NL
-1509469440,1509469567,SE
-1509469568,1509469887,NL
+1509469184,1509469887,NL
1509469888,1509469919,MY
1509469920,1509470207,NL
1509470208,1509478399,RU
@@ -49729,7 +58994,9 @@
1509507072,1509511167,GB
1509511168,1509515263,LT
1509515264,1509519359,HR
-1509519360,1509539839,RU
+1509519360,1509535743,RU
+1509535744,1509537791,IT
+1509537792,1509539839,HR
1509539840,1509543935,AM
1509543936,1509543975,LB
1509543976,1509543983,DE
@@ -49742,9 +59009,7 @@
1509580800,1509584895,CZ
1509584896,1509588479,NO
1509588480,1509588607,GB
-1509588608,1509588751,NO
-1509588752,1509588767,GB
-1509588768,1509588991,NO
+1509588608,1509588991,NO
1509588992,1509593087,DE
1509593088,1509601279,RU
1509601280,1509605375,NL
@@ -49794,7 +59059,9 @@
1515467520,1515468031,US
1515468032,1515468287,ES
1515468288,1515468415,NL
-1515468416,1515486975,FR
+1515468416,1515468543,FR
+1515468544,1515468671,DE
+1515468672,1515486975,FR
1515486976,1515487231,CD
1515487232,1515487495,HK
1515487496,1515487739,FR
@@ -49808,16 +59075,26 @@
1518370816,1518403583,NL
1518403584,1518452735,SE
1518452736,1518460927,AT
-1518460928,1518501887,SE
+1518460928,1518479359,SE
+1518479360,1518481407,EE
+1518481408,1518501887,SE
1518501888,1518503935,EE
1518503936,1518508799,LT
-1518508800,1518510079,SE
+1518508800,1518509055,SE
+1518509056,1518510079,LT
1518510080,1518516479,LV
1518516480,1518517247,SE
1518517248,1518518271,LV
-1518518272,1518551039,SE
+1518518272,1518538495,SE
+1518538496,1518538751,LT
+1518538752,1518542847,SE
+1518542848,1518551039,LT
1518551040,1518565375,NL
-1518565376,1518665727,SE
+1518565376,1518633215,SE
+1518633216,1518633471,NL
+1518633472,1518635007,SE
+1518635008,1518637055,NL
+1518637056,1518665727,SE
1518665728,1518727167,RU
1518727168,1518731263,SE
1518731264,1518927871,DE
@@ -50065,6 +59342,8 @@
1533431808,1533433855,IE
1533433856,1533435903,DK
1533435904,1533437951,CZ
+1533437952,1533438975,FI
+1533438976,1533439999,A2
1533440000,1533441519,PL
1533441520,1533441535,CH
1533441536,1533442047,PL
@@ -50087,7 +59366,10 @@
1533474816,1533476863,FR
1533476864,1533478911,IE
1533478912,1533480959,RS
-1533480960,1533483007,NL
+1533480960,1533481727,NL
+1533481728,1533482495,GB
+1533482496,1533482751,NL
+1533482752,1533483007,GB
1533483008,1533485055,AM
1533485056,1533485567,GB
1533485568,1533485823,DE
@@ -50167,20 +59449,20 @@
1534714124,1534714127,ES
1534714128,1534714143,BE
1534714144,1534714159,GB
-1534714160,1534714259,FR
+1534714160,1534714255,FR
+1534714256,1534714259,DE
1534714260,1534714271,PL
1534714272,1534714287,IT
1534714288,1534714303,ES
1534714304,1534714307,GB
1534714308,1534714311,ES
-1534714312,1534714319,FR
+1534714312,1534714315,PL
+1534714316,1534714319,FR
1534714320,1534714327,DE
1534714328,1534714331,FR
1534714332,1534714335,PL
1534714336,1534714351,FR
-1534714352,1534714359,DE
-1534714360,1534714367,NL
-1534714368,1534714383,GB
+1534714352,1534714383,GB
1534714384,1534714399,FR
1534714400,1534714403,GB
1534714404,1534714407,PL
@@ -50195,10 +59477,12 @@
1534714536,1534714539,GB
1534714540,1534714543,PL
1534714544,1534714547,FR
-1534714548,1534714551,ES
+1534714548,1534714551,NL
1534714552,1534714559,GB
1534714560,1534714575,NL
-1534714576,1534714703,FR
+1534714576,1534714691,FR
+1534714692,1534714695,GB
+1534714696,1534714703,FR
1534714704,1534714719,CH
1534714720,1534714751,BE
1534714752,1534714767,DE
@@ -50207,7 +59491,8 @@
1534714800,1534714815,FR
1534714816,1534714819,BE
1534714820,1534714831,FR
-1534714832,1534714847,BE
+1534714832,1534714839,DE
+1534714840,1534714847,FR
1534714848,1534714855,GB
1534714856,1534714863,CH
1534714864,1534714871,FR
@@ -50223,14 +59508,16 @@
1534714976,1534715039,FR
1534715040,1534715055,GB
1534715056,1534715071,PL
-1534715072,1534715135,FR
+1534715072,1534715103,FR
+1534715104,1534715119,BE
+1534715120,1534715135,FR
1534715136,1534715143,PL
1534715144,1534715167,FR
1534715168,1534715183,NL
1534715184,1534715199,FR
1534715200,1534715203,IT
1534715204,1534715207,FR
-1534715208,1534715215,BE
+1534715208,1534715215,GB
1534715216,1534715263,FR
1534715264,1534715279,ES
1534715280,1534715283,PL
@@ -50276,21 +59563,21 @@
1534715676,1534715679,GB
1534715680,1534715711,FR
1534715712,1534715727,PT
-1534715728,1534715731,FR
-1534715732,1534715735,GB
+1534715728,1534715735,GB
1534715736,1534715759,PL
1534715760,1534715775,ES
1534715776,1534715783,PL
1534715784,1534715791,BE
-1534715792,1534715807,ES
-1534715808,1534715875,FR
-1534715876,1534715879,NL
+1534715792,1534715807,CZ
+1534715808,1534715879,FR
1534715880,1534715883,PT
1534715884,1534715887,PL
-1534715888,1534715919,FR
-1534715920,1534715935,ES
+1534715888,1534715935,FR
1534715936,1534715951,PL
-1534715952,1534715999,FR
+1534715952,1534715983,FR
+1534715984,1534715987,PL
+1534715988,1534715991,DE
+1534715992,1534715999,PL
1534716000,1534716007,NL
1534716008,1534716047,FR
1534716048,1534716063,GB
@@ -50304,9 +59591,13 @@
1534716192,1534716223,ES
1534716224,1534716239,FR
1534716240,1534716255,GB
-1534716256,1534716319,FR
-1534716320,1534716359,PL
-1534716360,1534716363,CZ
+1534716256,1534716303,FR
+1534716304,1534716311,PL
+1534716312,1534716319,FR
+1534716320,1534716351,PL
+1534716352,1534716355,FR
+1534716356,1534716359,PL
+1534716360,1534716363,FR
1534716364,1534716367,GB
1534716368,1534716375,BE
1534716376,1534716379,CH
@@ -50319,8 +59610,8 @@
1534716448,1534716479,FR
1534716480,1534716495,ES
1534716496,1534716575,FR
-1534716576,1534716607,PL
-1534716608,1534716639,FR
+1534716576,1534716591,PL
+1534716592,1534716639,FR
1534716640,1534716647,BE
1534716648,1534716655,FR
1534716656,1534716663,IE
@@ -50332,7 +59623,8 @@
1534716752,1534716759,PL
1534716760,1534716763,DE
1534716764,1534716767,ES
-1534716768,1534716799,FR
+1534716768,1534716787,PL
+1534716788,1534716799,FR
1534716800,1534716803,DE
1534716804,1534716807,PL
1534716808,1534716811,NL
@@ -50345,26 +59637,37 @@
1534716904,1534716911,DE
1534716912,1534716927,FR
1534716928,1534716943,DE
-1534716944,1534716991,FR
+1534716944,1534716959,FR
+1534716960,1534716963,ES
+1534716964,1534716967,FR
+1534716968,1534716971,DE
+1534716972,1534716991,FR
1534716992,1534717007,DE
1534717008,1534717011,PL
1534717012,1534717019,FR
1534717020,1534717023,DE
-1534717024,1534717055,PL
+1534717024,1534717031,IE
+1534717032,1534717035,DE
+1534717036,1534717039,GB
+1534717040,1534717047,PL
+1534717048,1534717055,FR
1534717056,1534717071,GB
1534717072,1534717103,FR
1534717104,1534717119,PL
1534717120,1534717135,IT
1534717136,1534717139,CH
-1534717140,1534717143,BE
+1534717140,1534717143,CZ
1534717144,1534717147,FR
1534717148,1534717151,IT
-1534717152,1534717247,FR
+1534717152,1534717215,FR
+1534717216,1534717219,ES
+1534717220,1534717247,FR
1534717248,1534717251,CZ
1534717252,1534717255,NL
1534717256,1534717263,FR
1534717264,1534717267,PL
-1534717268,1534717315,FR
+1534717268,1534717311,FR
+1534717312,1534717315,DE
1534717316,1534717319,IE
1534717320,1534717323,GB
1534717324,1534717343,FR
@@ -50373,7 +59676,8 @@
1534717376,1534717411,FR
1534717412,1534717415,CH
1534717416,1534717419,CZ
-1534717420,1534717431,PL
+1534717420,1534717427,PL
+1534717428,1534717431,FR
1534717432,1534717435,GB
1534717436,1534717439,NL
1534717440,1534717503,FR
@@ -50391,14 +59695,16 @@
1534717664,1534717679,GB
1534717680,1534717695,ES
1534717696,1534717711,IE
-1534717712,1534717727,FR
+1534717712,1534717715,DE
+1534717716,1534717727,FR
1534717728,1534717731,GB
1534717732,1534717735,FR
1534717736,1534717739,BE
-1534717740,1534717743,PL
+1534717740,1534717743,GB
1534717744,1534717751,FR
1534717752,1534717759,BE
-1534717760,1534717767,FR
+1534717760,1534717763,PL
+1534717764,1534717767,FR
1534717768,1534717771,IT
1534717772,1534717783,FR
1534717784,1534717787,GB
@@ -50411,13 +59717,12 @@
1534717908,1534717911,GB
1534717912,1534717915,FR
1534717916,1534717919,DE
-1534717920,1534717923,PL
+1534717920,1534717923,FR
1534717924,1534717927,ES
1534717928,1534717931,DE
-1534717932,1534717935,FR
-1534717936,1534717951,IT
+1534717932,1534717951,FR
1534717952,1534717955,DE
-1534717956,1534717959,BE
+1534717956,1534717959,FR
1534717960,1534717963,PT
1534717964,1534717967,CH
1534717968,1534717983,IT
@@ -50441,13 +59746,21 @@
1534718160,1534718175,DE
1534718176,1534718207,PL
1534718208,1534718271,ES
-1534718272,1534718399,FR
+1534718272,1534718335,FR
+1534718336,1534718351,CH
+1534718352,1534718359,GB
+1534718360,1534718363,ES
+1534718364,1534718399,FR
1534718400,1534718415,DE
-1534718416,1534718419,CZ
+1534718416,1534718419,ES
1534718420,1534718423,GB
1534718424,1534718431,ES
-1534718432,1534718447,PL
-1534718448,1534718463,FR
+1534718432,1534718435,GB
+1534718436,1534718439,DE
+1534718440,1534718447,ES
+1534718448,1534718451,FR
+1534718452,1534718455,GB
+1534718456,1534718463,IT
1534718464,1534718467,DE
1534718468,1534718471,PT
1534718472,1534718487,PL
@@ -50459,15 +59772,18 @@
1534718544,1534718559,FR
1534718560,1534718575,BE
1534718576,1534718591,GB
-1534718592,1534718623,FR
+1534718592,1534718607,NL
+1534718608,1534718623,FR
1534718624,1534718631,PL
1534718632,1534718687,FR
1534718688,1534718703,PL
1534718704,1534718711,FR
1534718712,1534718719,ES
1534718720,1534718735,GB
-1534718736,1534718751,FR
-1534718752,1534718767,PL
+1534718736,1534718739,NL
+1534718740,1534718759,FR
+1534718760,1534718763,PL
+1534718764,1534718767,IE
1534718768,1534718783,FR
1534718784,1534718815,ES
1534718816,1534718831,GB
@@ -50490,8 +59806,7 @@
1534719392,1534719395,CH
1534719396,1534719399,PT
1534719400,1534719403,IT
-1534719404,1534719423,FR
-1534719424,1534719439,DE
+1534719404,1534719439,FR
1534719440,1534719459,PL
1534719460,1534719463,FR
1534719464,1534719471,PL
@@ -50512,7 +59827,7 @@
1534719760,1534719775,IT
1534719776,1534719783,PL
1534719784,1534719787,FR
-1534719788,1534719791,DE
+1534719788,1534719791,PL
1534719792,1534719799,FR
1534719800,1534719803,ES
1534719804,1534719807,GB
@@ -50528,7 +59843,7 @@
1534719968,1534719983,PL
1534719984,1534720003,FR
1534720004,1534720007,ES
-1534720008,1534720015,PL
+1534720008,1534720015,FR
1534720016,1534720023,ES
1534720024,1534720027,PL
1534720028,1534720063,ES
@@ -50550,7 +59865,9 @@
1534720300,1534720351,FR
1534720352,1534720367,ES
1534720368,1534720383,PL
-1534720384,1534720399,FR
+1534720384,1534720391,PT
+1534720392,1534720395,DE
+1534720396,1534720399,PL
1534720400,1534720403,LT
1534720404,1534720411,GB
1534720412,1534720415,IE
@@ -50599,26 +59916,26 @@
1534720896,1534720899,ES
1534720900,1534720903,LT
1534720904,1534720943,FR
-1534720944,1534720951,ES
+1534720944,1534720951,CH
1534720952,1534720959,PL
1534720960,1534720967,IT
1534720968,1534720971,DE
1534720972,1534720975,FR
1534720976,1534720979,NL
-1534720980,1534720983,FR
+1534720980,1534720983,GB
1534720984,1534720991,PL
1534720992,1534720995,PT
1534720996,1534720999,ES
1534721000,1534721003,FI
1534721004,1534721007,GB
1534721008,1534721023,ES
-1534721024,1534721055,FR
+1534721024,1534721031,DE
+1534721032,1534721055,FR
1534721056,1534721063,ES
1534721064,1534721071,FR
1534721072,1534721087,GB
1534721088,1534721103,ES
-1534721104,1534721107,PL
-1534721108,1534721111,ES
+1534721104,1534721111,PL
1534721112,1534721115,DE
1534721116,1534721119,FR
1534721120,1534721135,IT
@@ -50634,8 +59951,7 @@
1534721232,1534721247,DE
1534721248,1534721263,FR
1534721264,1534721279,GB
-1534721280,1534721287,PL
-1534721288,1534721295,NL
+1534721280,1534721295,PL
1534721296,1534721311,FR
1534721312,1534721319,PL
1534721320,1534721327,PT
@@ -50645,8 +59961,8 @@
1534721376,1534721391,ES
1534721392,1534721407,PL
1534721408,1534721439,DE
-1534721440,1534721471,FR
-1534721472,1534721491,GB
+1534721440,1534721455,FR
+1534721456,1534721491,GB
1534721492,1534721495,FR
1534721496,1534721519,PL
1534721520,1534721527,FR
@@ -50655,9 +59971,8 @@
1534721568,1534721583,GB
1534721584,1534721587,IE
1534721588,1534721595,FR
-1534721596,1534721599,GB
-1534721600,1534721619,ES
-1534721620,1534721627,PL
+1534721596,1534721615,ES
+1534721616,1534721627,PL
1534721628,1534721631,NL
1534721632,1534721647,ES
1534721648,1534721663,FR
@@ -50669,8 +59984,8 @@
1534721744,1534721747,PL
1534721748,1534721751,GB
1534721752,1534721755,DE
-1534721756,1534721823,FR
-1534721824,1534721827,PL
+1534721756,1534721807,FR
+1534721808,1534721827,PL
1534721828,1534721831,FR
1534721832,1534721835,DE
1534721836,1534721839,BE
@@ -50681,19 +59996,20 @@
1534721920,1534721935,FR
1534721936,1534721943,CH
1534721944,1534721951,IE
-1534721952,1534721955,FR
+1534721952,1534721955,NL
1534721956,1534721959,PL
1534721960,1534721963,IE
1534721964,1534721967,CH
1534721968,1534721971,DE
1534721972,1534721975,PL
-1534721976,1534721979,ES
+1534721976,1534721979,FI
1534721980,1534721983,PL
1534721984,1534721999,FR
1534722000,1534722007,PL
1534722008,1534722011,PT
1534722012,1534722015,ES
-1534722016,1534722039,FR
+1534722016,1534722031,IE
+1534722032,1534722039,FR
1534722040,1534722043,BE
1534722044,1534722047,FR
1534722048,1534787583,RU
@@ -50723,14 +60039,20 @@
1534999552,1535004671,ES
1535004672,1535008767,SE
1535008768,1535011839,ES
-1535011840,1535017983,SE
+1535011840,1535012863,SE
+1535012864,1535014911,ES
+1535014912,1535017983,SE
1535017984,1535019519,ES
1535019520,1535020543,SE
1535020544,1535021055,ES
-1535021056,1535024127,SE
+1535021056,1535022079,SE
+1535022080,1535023103,ES
+1535023104,1535024127,SE
1535024128,1535049727,ES
1535049728,1535115263,SK
-1535115264,1535377407,AT
+1535115264,1535197183,AT
+1535197184,1535246335,SE
+1535246336,1535377407,AT
1535377408,1535442943,GR
1535442944,1535508479,FI
1535508480,1535574015,BG
@@ -50751,7 +60073,9 @@
1535635456,1535639551,AZ
1535639552,1535672319,GB
1535672320,1535705087,DE
-1535705088,1535720447,CH
+1535705088,1535708671,CH
+1535708672,1535709694,DE
+1535709695,1535720447,CH
1535720448,1535720575,DE
1535720576,1535720703,CH
1535720704,1535720831,DE
@@ -50778,8 +60102,7 @@
1536045056,1536045439,DE
1536045440,1536045567,A2
1536045568,1536046079,IQ
-1536046080,1536046591,DE
-1536046592,1536046847,IQ
+1536046080,1536046847,DE
1536046848,1536046975,A2
1536046976,1536047039,SA
1536047040,1536047103,IQ
@@ -50827,11 +60150,15 @@
1536118784,1536122879,DE
1536122880,1536126975,AT
1536126976,1536131071,DK
-1536131072,1536139263,RU
+1536131072,1536143359,RU
1536143360,1536147455,GB
1536147456,1536151551,IT
1536151552,1536155647,RS
-1536155648,1536159743,IL
+1536155648,1536155655,IL
+1536155656,1536155659,GB
+1536155660,1536155663,GR
+1536155664,1536155667,US
+1536155668,1536159743,IL
1536159744,1536163839,DE
1536163840,1536180223,SY
1536180224,1536196607,HU
@@ -50874,35 +60201,36 @@
1536647168,1536651263,ES
1536651264,1536655359,FR
1536655360,1536659455,GE
-1536659456,1536659775,DE
+1536659456,1536659519,DE
+1536659520,1536659543,SA
+1536659544,1536659775,DE
1536659776,1536659791,AO
1536659792,1536659823,SD
1536659824,1536659991,DE
1536659992,1536659999,EG
-1536660000,1536660007,SO
-1536660008,1536660015,DE
+1536660000,1536660015,DE
1536660016,1536660019,CG
1536660020,1536660023,DE
1536660024,1536660031,CG
-1536660032,1536660063,DE
+1536660032,1536660063,CD
1536660064,1536660079,SO
-1536660080,1536662271,DE
-1536662272,1536662303,SO
-1536662304,1536662335,LB
-1536662336,1536662367,DE
-1536662368,1536662399,SO
-1536662400,1536662407,DE
+1536660080,1536662319,DE
+1536662320,1536662335,LB
+1536662336,1536662407,DE
1536662408,1536662415,SO
1536662416,1536662431,GN
-1536662432,1536662463,IQ
+1536662432,1536662447,IR
+1536662448,1536662463,IQ
1536662464,1536662527,SO
1536662528,1536663295,DE
1536663296,1536663311,LB
1536663312,1536663319,DE
1536663320,1536663327,LB
-1536663328,1536663343,DE
+1536663328,1536663335,SA
+1536663336,1536663343,DE
1536663344,1536663359,YE
-1536663360,1536663423,DE
+1536663360,1536663391,DE
+1536663392,1536663423,SD
1536663424,1536663551,KW
1536663552,1536667647,SA
1536667648,1536675839,RU
@@ -50970,11 +60298,11 @@
1539048240,1539048247,IT
1539048248,1539048263,GB
1539048264,1539048271,IT
-1539048272,1539048335,GB
-1539048336,1539048383,IT
-1539048384,1539048391,GB
-1539048392,1539048399,IT
-1539048400,1539048447,GB
+1539048272,1539048319,GB
+1539048320,1539048407,IT
+1539048408,1539048415,GB
+1539048416,1539048423,IT
+1539048424,1539048447,GB
1539048448,1539048543,IT
1539048544,1539048551,LY
1539048552,1539048559,IT
@@ -51055,8 +60383,11 @@
1539221504,1539222527,FR
1539222528,1539222783,HK
1539222784,1539223039,CN
-1539223040,1539223551,FR
-1539223552,1539225599,DE
+1539223040,1539223103,ES
+1539223104,1539223167,BR
+1539223168,1539223231,IT
+1539223232,1539223551,FR
+1539223552,1539225599,RU
1539225600,1539227647,HU
1539227648,1539229695,FI
1539229696,1539231743,DE
@@ -51152,9 +60483,7 @@
1539389952,1539390463,RU
1539390464,1539391487,RO
1539391488,1539392511,LV
-1539392512,1539393535,UA
-1539393536,1539394559,RU
-1539394560,1539396607,UA
+1539392512,1539396607,UA
1539396608,1539397631,PL
1539397632,1539398143,RU
1539398144,1539398655,PL
@@ -51309,7 +60638,7 @@
1539506688,1539507199,UA
1539507200,1539508223,RO
1539508224,1539508735,NO
-1539508736,1539509247,UA
+1539508736,1539509759,UA
1539509760,1539510271,RO
1539510272,1539510783,RU
1539510784,1539511295,LU
@@ -51484,7 +60813,7 @@
1539645440,1539646463,GB
1539646464,1539647487,IE
1539647488,1539648511,RU
-1539648512,1539650559,UA
+1539649536,1539650559,UA
1539650560,1539651583,RU
1539651584,1539652607,UA
1539652608,1539653631,IL
@@ -51545,7 +60874,7 @@
1539706624,1539707135,PL
1539707136,1539707391,LT
1539707392,1539707647,GB
-1539707648,1539707903,RO
+1539707648,1539707903,AE
1539707904,1539708159,UA
1539708160,1539708415,DE
1539708416,1539708671,GB
@@ -51565,7 +60894,6 @@
1539712000,1539712255,UA
1539712256,1539712511,NL
1539712512,1539712767,RU
-1539712768,1539713023,RO
1539713024,1539713279,UA
1539713280,1539713535,FR
1539713536,1539713791,DK
@@ -51608,7 +60936,6 @@
1539724032,1539724287,UA
1539724288,1539724543,IT
1539724544,1539724799,RU
-1539724800,1539725055,UA
1539725056,1539725311,NL
1539725312,1539725567,FR
1539725568,1539725823,PL
@@ -51644,7 +60971,8 @@
1539733760,1539734015,PL
1539734016,1539734271,FR
1539734272,1539734527,NO
-1539734528,1539735039,TR
+1539734528,1539734783,TR
+1539734784,1539735039,DE
1539735040,1539735295,BE
1539735296,1539735551,RU
1539735552,1539735807,AT
@@ -51654,9 +60982,8 @@
1539736576,1539736831,BG
1539736832,1539737087,UA
1539737088,1539737343,KW
-1539737344,1539737599,RU
1539737600,1539737855,RO
-1539737856,1539738111,RU
+1539737856,1539738111,DE
1539738112,1539738367,DK
1539738368,1539738623,DE
1539738624,1539738879,UA
@@ -51679,7 +61006,6 @@
1539743232,1539743487,GR
1539743488,1539743743,FR
1539743744,1539743999,RO
-1539744000,1539744255,HR
1539744256,1539744511,RO
1539744512,1539744767,DE
1539744768,1539745023,SE
@@ -51731,6 +61057,7 @@
1539757568,1539757823,SI
1539757824,1539758079,UA
1539758080,1539758335,HR
+1539758336,1539758591,PL
1539758592,1539758847,NL
1539758848,1539759103,BA
1539759104,1539759359,DK
@@ -51771,7 +61098,7 @@
1539768320,1539768575,FR
1539768576,1539768831,GB
1539768832,1539769087,IT
-1539769088,1539769599,BE
+1539769088,1539769343,BE
1539769600,1539769855,AT
1539769856,1539770111,FR
1539770112,1539770367,GR
@@ -51791,7 +61118,6 @@
1539773696,1539773951,DE
1539773952,1539774207,PL
1539774208,1539774463,SI
-1539774464,1539774719,RU
1539774720,1539774975,PL
1539774976,1539775231,RU
1539775232,1539775487,CH
@@ -51874,7 +61200,7 @@
1539796224,1539796479,MC
1539796480,1539796735,GB
1539796736,1539796991,TR
-1539796992,1539797247,CY
+1539796992,1539797247,RU
1539797248,1539797503,DK
1539797504,1539797759,RU
1539797760,1539798015,UA
@@ -51915,7 +61241,6 @@
1539807744,1539807999,GB
1539808000,1539808255,HU
1539808256,1539808511,RU
-1539808512,1539808767,RO
1539808768,1539809023,DE
1539809024,1539809279,GB
1539809280,1539809535,EU
@@ -51928,10 +61253,10 @@
1539811072,1539811327,NL
1539811328,1539811583,CZ
1539811584,1539811839,DE
-1539811840,1539812095,SE
1539812096,1539812351,RU
1539812352,1539812607,CH
1539812608,1539812863,IT
+1539812864,1539813119,RU
1539813120,1539813375,AT
1539813376,1539813631,PL
1539813632,1539813887,NL
@@ -52026,13 +61351,15 @@
1539857408,1539858431,PL
1539858432,1539859455,RO
1539859456,1539860479,DE
+1539860480,1539861503,PL
1539861504,1539862527,DE
1539862528,1539863551,UA
1539863552,1539864575,ES
1539864576,1539865599,RO
1539865600,1539866623,UA
1539866624,1539867647,IT
-1539867648,1539869695,UA
+1539867648,1539868671,SE
+1539868672,1539869695,UA
1539869696,1539870719,ES
1539870720,1539871743,IL
1539871744,1539872767,ES
@@ -52102,6 +61429,8 @@
1539947520,1539948543,UA
1539948544,1539949567,RO
1539949568,1539950591,MD
+1539950592,1539950847,GB
+1539950848,1539951103,RU
1539951104,1539951615,UA
1539951616,1539953663,RU
1539953664,1539954687,UA
@@ -52181,9 +61510,7 @@
1540048896,1540049919,GB
1540049920,1540050943,UA
1540050944,1540052991,RU
-1540052992,1540054052,UA
-1540054053,1540054062,MD
-1540054063,1540055039,UA
+1540052992,1540055039,UA
1540055040,1540056063,NO
1540056064,1540057087,NL
1540057088,1540057343,PL
@@ -52215,6 +61542,7 @@
1540085760,1540087807,PL
1540087808,1540092927,RU
1540092928,1540094975,PL
+1540094976,1540095999,RU
1540096000,1540097023,SE
1540097024,1540099071,DE
1540099072,1540100095,UA
@@ -52283,7 +61611,6 @@
1540178944,1540179967,BA
1540179968,1540180991,PL
1540180992,1540182015,DE
-1540182016,1540183039,UA
1540183040,1540184063,RU
1540184064,1540185087,PL
1540185088,1540186111,RU
@@ -52356,6 +61683,8 @@
1540248576,1540249087,GB
1540249088,1540249599,PL
1540249600,1540250111,KZ
+1540250112,1540250367,PL
+1540250368,1540250623,CZ
1540250624,1540251135,RU
1540251136,1540251647,GB
1540251648,1540252159,PL
@@ -52507,7 +61836,6 @@
1540339712,1540340735,PL
1540340736,1540341247,CZ
1540341248,1540341759,BG
-1540341760,1540342271,GB
1540342272,1540342783,UA
1540342784,1540343295,ES
1540343296,1540343807,GB
@@ -52537,7 +61865,6 @@
1540356608,1540357119,DE
1540357120,1540357631,RU
1540357632,1540358143,FR
-1540358144,1540358399,RU
1540358400,1540358655,GB
1540358656,1540358911,SE
1540358912,1540359167,GB
@@ -52553,6 +61880,7 @@
1540361472,1540361727,DE
1540361728,1540361983,IT
1540361984,1540362239,EE
+1540362240,1540362495,RU
1540362496,1540363007,DE
1540363008,1540363263,FR
1540363264,1540363519,RU
@@ -52597,7 +61925,6 @@
1540373504,1540373759,NL
1540373760,1540374015,TR
1540374016,1540374271,NL
-1540374272,1540374527,HU
1540374528,1540374783,RU
1540374784,1540375039,UA
1540375040,1540375295,DE
@@ -52687,8 +62014,7 @@
1540397824,1540398079,DE
1540398080,1540398335,SA
1540398336,1540398591,DK
-1540398592,1540398847,IT
-1540398848,1540399359,DE
+1540398592,1540399359,DE
1540399360,1540399871,RU
1540399872,1540400127,GB
1540400128,1540400383,NL
@@ -52783,7 +62109,6 @@
1540425216,1540425471,US
1540425472,1540425727,NL
1540425728,1540425983,BG
-1540425984,1540426239,DE
1540426240,1540426495,IE
1540426496,1540426751,UA
1540426752,1540427263,NL
@@ -52826,15 +62151,14 @@
1540437248,1540437503,CH
1540437504,1540438015,UA
1540438016,1540438271,PL
-1540438272,1540438527,LB
+1540438272,1540438527,US
1540438528,1540439039,RU
-1540439040,1540439295,NO
+1540439040,1540439295,GB
1540439296,1540439551,RO
1540439552,1540440063,PL
1540440064,1540440319,UA
1540440320,1540440575,RU
1540440576,1540440831,MD
-1540440832,1540441087,FR
1540441088,1540441343,PL
1540441344,1540441855,RU
1540441856,1540442111,GB
@@ -52874,7 +62198,7 @@
1540451072,1540451327,FR
1540451328,1540451583,ES
1540451584,1540451839,RO
-1540451840,1540452095,GB
+1540451840,1540452095,NL
1540452096,1540452351,CH
1540452352,1540452607,AT
1540452608,1540452863,IL
@@ -52912,13 +62236,14 @@
1540462592,1540463103,PL
1540463104,1540463359,FR
1540463360,1540463615,PL
+1540463616,1540463871,DK
1540463872,1540464127,UA
1540464128,1540464383,CH
1540464384,1540464895,DE
1540464896,1540465407,GB
1540465408,1540465663,ES
1540465664,1540465919,NL
-1540465920,1540466175,UA
+1540465920,1540466175,RU
1540466176,1540466431,DK
1540466432,1540466687,RU
1540466688,1540466943,NL
@@ -52983,6 +62308,7 @@
1540483840,1540484095,UA
1540484096,1540484351,DK
1540484352,1540484607,SI
+1540484608,1540484863,GB
1540484864,1540485119,UA
1540485120,1540485375,SE
1540485376,1540485631,RO
@@ -52995,7 +62321,8 @@
1540487168,1540487423,PS
1540487424,1540487679,UA
1540487680,1540487935,DE
-1540487936,1540488447,GB
+1540487936,1540488191,SI
+1540488192,1540488447,GB
1540488448,1540488703,SA
1540488704,1540488959,DE
1540488960,1540489215,RO
@@ -53066,7 +62393,8 @@
1540573184,1540574207,NL
1540574208,1540576255,RU
1540576256,1540577279,PL
-1540577280,1540579327,RU
+1540577280,1540578303,RO
+1540578304,1540579327,RU
1540579328,1540580351,IE
1540580352,1540581375,PL
1540581376,1540582399,RU
@@ -53151,6 +62479,7 @@
1540633088,1540633343,RU
1540633344,1540633599,CH
1540633600,1540633855,RO
+1540633856,1540634111,AE
1540634112,1540634367,GB
1540634368,1540634623,FR
1540634624,1540634879,UA
@@ -53190,7 +62519,7 @@
1540644096,1540644607,GB
1540644608,1540644863,DE
1540644864,1540645119,NL
-1540645120,1540645375,RU
+1540645120,1540645375,UA
1540645376,1540645631,BE
1540645632,1540645887,NL
1540645888,1540646143,PL
@@ -53200,11 +62529,10 @@
1540646912,1540647167,RU
1540647168,1540647423,GB
1540647424,1540647679,RU
-1540647680,1540647935,CY
-1540647936,1540648191,GB
+1540647680,1540648191,GB
1540648192,1540648447,CH
1540648448,1540648959,RO
-1540648960,1540649215,FR
+1540648960,1540649215,SK
1540649216,1540649471,DE
1540649472,1540649727,IL
1540649728,1540649983,GB
@@ -53216,12 +62544,15 @@
1540651264,1540651519,CH
1540651520,1540651775,MK
1540651776,1540652031,RU
-1540652032,1540652543,UA
+1540652032,1540652287,CZ
+1540652288,1540652543,UA
1540652544,1540652799,TR
+1540652800,1540653055,PL
1540653056,1540653311,FR
1540653312,1540653567,DK
1540653568,1540653823,DE
1540653824,1540654079,GB
+1540654080,1540654335,EU
1540654336,1540654591,RU
1540654592,1540654847,SI
1540654848,1540655103,RU
@@ -53240,7 +62571,9 @@
1540659200,1540659455,FR
1540659456,1540659967,UA
1540659968,1540660223,PL
+1540660224,1540660479,RU
1540660480,1540660735,FR
+1540660736,1540660991,RU
1540660992,1540661247,RO
1540661248,1540661503,GB
1540661504,1540662015,RO
@@ -53298,11 +62631,10 @@
1540677120,1540677375,GB
1540677376,1540677631,PL
1540677632,1540677887,DK
-1540677888,1540678143,DE
1540678144,1540678399,RU
1540678400,1540678655,RO
1540678656,1540678911,SE
-1540678912,1540679167,RO
+1540678912,1540679167,EU
1540679168,1540679423,RU
1540679424,1540679679,PL
1540679680,1540679935,LT
@@ -53392,7 +62724,6 @@
1540702464,1540702719,PT
1540702720,1540702975,DK
1540702976,1540703231,RU
-1540703232,1540703487,MH
1540703488,1540703743,NL
1540703744,1540703999,DK
1540704000,1540704255,PL
@@ -53407,7 +62738,7 @@
1540706304,1540706559,SI
1540706560,1540706815,GB
1540706816,1540707071,FR
-1540707328,1540707583,GB
+1540707072,1540707327,AT
1540707584,1540707839,NL
1540707840,1540708095,MD
1540708096,1540708351,RU
@@ -53536,7 +62867,6 @@
1540743680,1540743935,PL
1540743936,1540744191,CH
1540744192,1540744447,GR
-1540744448,1540744703,UA
1540744704,1540744959,GB
1540744960,1540745215,UA
1540745216,1540745471,DE
@@ -53729,7 +63059,6 @@
1540900608,1540900863,BG
1540900864,1540901119,RU
1540901120,1540901375,LV
-1540901376,1540901631,DE
1540901632,1540901887,RO
1540901888,1540902143,GR
1540902144,1540902399,FI
@@ -53750,7 +63079,7 @@
1540906752,1540907007,BG
1540907008,1540907263,RU
1540907264,1540907519,MD
-1540907520,1540907775,RU
+1540907520,1540907775,CZ
1540907776,1540908031,PL
1540908032,1540908287,NL
1540908288,1540908543,DK
@@ -53788,7 +63117,7 @@
1540917248,1540917503,FI
1540917504,1540918015,GB
1540918016,1540918527,FR
-1540918528,1540918783,EU
+1540918528,1540918783,UA
1540918784,1540919039,NL
1540919040,1540919295,GB
1540919296,1540919551,RO
@@ -53871,7 +63200,7 @@
1540940800,1540941055,FR
1540941056,1540941311,CH
1540941312,1540941567,AT
-1540941568,1540941823,UA
+1540941568,1540942079,UA
1540942080,1540942335,RO
1540942336,1540942591,FR
1540942592,1540942847,DE
@@ -54175,7 +63504,6 @@
1541140480,1541142527,CZ
1541142528,1541143551,RU
1541143552,1541144575,UA
-1541144576,1541144831,LV
1541144832,1541145087,RU
1541145088,1541145343,AT
1541145344,1541145599,UA
@@ -54206,7 +63534,7 @@
1541152768,1541153023,PL
1541153024,1541153279,RU
1541153280,1541153535,DE
-1541153536,1541153791,UA
+1541153536,1541153791,RO
1541153792,1541154047,DE
1541154048,1541154303,NL
1541154304,1541154559,RU
@@ -54278,6 +63606,7 @@
1541171968,1541172223,SI
1541172224,1541172479,GR
1541172480,1541172735,RU
+1541172736,1541172991,IS
1541172992,1541173247,BE
1541173248,1541173503,RU
1541173504,1541173759,UA
@@ -54365,7 +63694,6 @@
1541195264,1541195519,UA
1541195520,1541195775,GB
1541195776,1541196031,FR
-1541196032,1541196287,NL
1541196288,1541196543,RU
1541196544,1541197055,UA
1541197056,1541197311,PL
@@ -54459,7 +63787,6 @@
1541233664,1541234175,SK
1541234176,1541234687,RO
1541234688,1541235199,NL
-1541235200,1541235711,LV
1541235712,1541236223,AT
1541236224,1541236735,RU
1541236736,1541237247,DE
@@ -54671,8 +63998,8 @@
1541362944,1541363199,DK
1541363200,1541363455,UA
1541363456,1541363711,IE
-1541363712,1541364223,UA
-1541364224,1541364479,RU
+1541363712,1541363967,UA
+1541363968,1541364479,RU
1541364480,1541364735,AT
1541364736,1541364991,SE
1541364992,1541365247,RU
@@ -54699,7 +64026,6 @@
1541370880,1541371135,FI
1541371136,1541371391,RO
1541371392,1541371647,RU
-1541371648,1541371903,GB
1541371904,1541372159,RU
1541372160,1541372415,CH
1541372416,1541372671,UA
@@ -54750,6 +64076,7 @@
1541384704,1541384959,RU
1541384960,1541385215,PL
1541385216,1541385471,NL
+1541385472,1541385727,SK
1541385728,1541385983,SI
1541385984,1541386239,PL
1541386240,1541386495,RU
@@ -54777,7 +64104,7 @@
1541391872,1541392127,DE
1541392128,1541392383,RU
1541392384,1541392639,RO
-1541392640,1541392895,MD
+1541392640,1541392895,AT
1541392896,1541393151,DE
1541393152,1541393407,GB
1541393408,1541393663,DE
@@ -54795,7 +64122,7 @@
1541396480,1541396735,UA
1541396736,1541396991,RU
1541396992,1541397247,GB
-1541397248,1541397503,FR
+1541397248,1541397503,SE
1541397504,1541397759,NL
1541397760,1541398015,PL
1541398016,1541398271,HU
@@ -55074,8 +64401,7 @@
1541592064,1541592575,UA
1541592576,1541593087,FR
1541593088,1541594111,CZ
-1541594112,1541594367,EU
-1541594368,1541595135,RU
+1541594112,1541595135,RU
1541595136,1541595647,IR
1541595648,1541596159,BG
1541596160,1541597695,PL
@@ -55141,7 +64467,6 @@
1541631488,1541631999,SI
1541632000,1541632511,RU
1541632512,1541632767,NL
-1541632768,1541633023,SK
1541633024,1541634303,PL
1541634304,1541634559,MD
1541634560,1541635071,PL
@@ -55241,7 +64566,6 @@
1541692416,1541693439,PL
1541693440,1541694463,RU
1541694464,1541694719,CZ
-1541694720,1541694975,CH
1541694976,1541695487,RU
1541695488,1541696511,DE
1541696512,1541697535,MD
@@ -55408,9 +64732,7 @@
1541785856,1541786111,GB
1541786112,1541786623,RU
1541786624,1541787647,UA
-1541787648,1541788159,RU
-1541788160,1541788415,UA
-1541788416,1541788671,RU
+1541787648,1541788671,RU
1541788672,1541789183,PL
1541789184,1541789695,IR
1541789696,1541790719,UA
@@ -55572,6 +64894,10 @@
1541864192,1541864447,GB
1541864448,1541864959,RU
1541864960,1541865471,AL
+1541865472,1541865727,RO
+1541865728,1541865983,UA
+1541865984,1541866239,PL
+1541866240,1541866495,FR
1541866496,1541867263,NL
1541867264,1541867519,RO
1541867520,1541867775,RU
@@ -55582,7 +64908,7 @@
1541869568,1541870079,RU
1541870080,1541871103,PL
1541871104,1541871359,AT
-1541871616,1541872639,PL
+1541871360,1541872639,PL
1541872640,1541873663,CZ
1541873664,1541874175,PL
1541874176,1541874687,RU
@@ -55646,7 +64972,517 @@
1541911296,1541911551,IT
1541911552,1541912575,RU
1541912576,1541912831,NL
-1541913088,1541913599,RU
+1541912832,1541913087,UA
+1541913088,1541914623,RU
+1541914624,1541915647,IL
+1541915648,1541916671,RU
+1541916672,1541917695,RO
+1541917696,1541917951,CH
+1541917952,1541918207,PL
+1541918208,1541918463,UA
+1541918464,1541919743,RO
+1541919744,1541919999,DK
+1541920000,1541920767,RU
+1541920768,1541921279,PT
+1541921280,1541921791,RU
+1541921792,1541922047,DE
+1541922048,1541922303,PL
+1541922304,1541922559,RU
+1541922560,1541923839,RO
+1541923840,1541924095,FR
+1541924096,1541924351,UA
+1541924352,1541924863,PL
+1541924864,1541925119,RO
+1541925120,1541926911,RU
+1541926912,1541927167,UA
+1541927168,1541927679,PL
+1541927680,1541927935,DE
+1541927936,1541929983,PL
+1541929984,1541931007,RU
+1541931008,1541932031,UA
+1541932032,1541932543,PL
+1541932544,1541935103,RU
+1541935104,1541936383,RO
+1541936384,1541936639,UA
+1541936640,1541936895,DE
+1541936896,1541937151,FR
+1541937152,1541937663,NL
+1541937664,1541937919,GE
+1541937920,1541938175,PL
+1541938176,1541939199,UA
+1541939200,1541939967,RU
+1541939968,1541940223,ES
+1541940224,1541940479,GB
+1541940480,1541940735,CH
+1541940736,1541940991,PL
+1541940992,1541941247,RU
+1541941248,1541942271,FR
+1541942272,1541944831,PL
+1541944832,1541945087,DE
+1541945088,1541945855,RO
+1541945856,1541946111,PL
+1541946112,1541946879,SE
+1541946880,1541947391,PL
+1541947392,1541948927,IR
+1541948928,1541949183,RU
+1541949184,1541949439,ES
+1541949440,1541950463,IR
+1541950464,1541951487,ES
+1541951488,1541951743,RU
+1541951744,1541951999,ES
+1541952000,1541952255,CZ
+1541952256,1541952511,NO
+1541952512,1541953535,CZ
+1541953536,1541954047,LU
+1541954048,1541954559,PL
+1541954560,1541955583,RU
+1541955584,1541956095,DE
+1541956096,1541956351,RO
+1541956352,1541956607,UA
+1541956608,1541957119,LB
+1541957120,1541957375,PL
+1541957376,1541957631,UA
+1541957632,1541957887,GB
+1541957888,1541958143,NL
+1541958144,1541958655,RS
+1541958656,1541959679,RU
+1541959680,1541959935,PL
+1541959936,1541960191,RU
+1541960192,1541960703,NL
+1541960704,1541961727,UA
+1541961728,1541962751,RU
+1541962752,1541963263,GB
+1541963264,1541963519,RU
+1541963520,1541964031,UA
+1541964032,1541964287,RU
+1541964288,1541964543,NL
+1541964544,1541965823,RU
+1541965824,1541966847,NL
+1541966848,1541967871,PL
+1541967872,1541968895,RU
+1541968896,1541969407,RO
+1541969408,1541969919,GB
+1541969920,1541970175,IT
+1541970176,1541970431,GB
+1541970432,1541971199,FI
+1541971200,1541971967,UA
+1541971968,1541972479,PL
+1541972480,1541972735,RU
+1541972736,1541972991,AT
+1541972992,1541974015,PL
+1541974016,1541975551,RU
+1541975552,1541975807,TR
+1541975808,1541976319,PL
+1541976320,1541976575,UA
+1541976576,1541977087,RU
+1541977088,1541977343,IT
+1541977344,1541977599,GB
+1541977600,1541977855,RO
+1541977856,1541978111,PL
+1541978112,1541978623,RO
+1541978624,1541978879,MD
+1541978880,1541979135,FR
+1541979136,1541979647,RU
+1541979648,1541981183,PL
+1541981184,1541981951,RU
+1541981952,1541982207,UA
+1541982208,1541982719,RS
+1541982720,1541984255,RU
+1541984256,1541984511,UA
+1541984512,1541984767,BG
+1541984768,1541985279,RO
+1541985280,1541986303,CZ
+1541986304,1541986815,RU
+1541986816,1541988351,SK
+1541988352,1541988607,FR
+1541988608,1541988863,RU
+1541988864,1541989631,RO
+1541989632,1541989887,LI
+1541989888,1541990399,RU
+1541990400,1541990911,AT
+1541990912,1541991167,SI
+1541991168,1541991423,RU
+1541991424,1541991935,RS
+1541991936,1541992191,UA
+1541992192,1541992447,SI
+1541992448,1541992959,UA
+1541992960,1541993215,FR
+1541993216,1541994239,RU
+1541994240,1541994495,CZ
+1541994496,1541995519,PL
+1541995520,1541996031,RU
+1541996032,1541996287,RO
+1541996288,1541996543,RU
+1541996544,1541997567,RO
+1541997568,1541997823,RU
+1541997824,1541998079,GB
+1541998080,1541998335,NL
+1541998336,1541998591,AT
+1541998592,1541999615,DE
+1541999616,1542000127,AT
+1542000128,1542000383,NO
+1542000384,1542000639,GE
+1542000640,1542000895,GB
+1542000896,1542001151,UA
+1542001152,1542001663,PL
+1542001664,1542001919,MD
+1542001920,1542002175,HU
+1542002176,1542002687,NL
+1542002688,1542002943,RS
+1542002944,1542003199,PL
+1542003200,1542003711,RO
+1542003712,1542004735,RU
+1542004736,1542004991,BG
+1542004992,1542005247,GB
+1542005248,1542005503,PL
+1542005504,1542005759,DE
+1542005760,1542006271,HR
+1542006272,1542008831,RU
+1542008832,1542009343,UA
+1542009344,1542009599,LI
+1542009600,1542009855,FR
+1542009856,1542010367,NL
+1542010368,1542010879,RU
+1542010880,1542011903,IR
+1542011904,1542012159,PL
+1542012160,1542012415,RU
+1542012416,1542012671,GB
+1542012672,1542013951,RU
+1542013952,1542014207,FR
+1542014208,1542017023,PL
+1542017024,1542017279,TR
+1542017280,1542017535,GB
+1542017536,1542017791,RU
+1542017792,1542018047,GB
+1542018048,1542019071,DE
+1542019072,1542019583,RU
+1542019584,1542020095,UA
+1542020096,1542021119,RU
+1542021120,1542023167,UA
+1542023168,1542023423,PL
+1542023424,1542023679,NL
+1542023680,1542023935,RO
+1542023936,1542024191,PL
+1542024192,1542025215,UA
+1542025216,1542026239,PL
+1542026240,1542026751,FI
+1542026752,1542027007,BE
+1542027008,1542027263,FR
+1542027264,1542027775,NL
+1542027776,1542028031,FR
+1542028032,1542028287,UA
+1542028288,1542028543,GB
+1542028544,1542028799,FI
+1542028800,1542029055,CH
+1542029056,1542029311,UA
+1542029312,1542029823,GB
+1542029824,1542031359,RU
+1542031360,1542032383,PL
+1542032384,1542032639,UA
+1542032640,1542032895,SA
+1542032896,1542033407,DK
+1542033408,1542035199,RU
+1542035200,1542035455,UA
+1542035456,1542036479,GB
+1542036480,1542038271,PL
+1542038272,1542038527,SI
+1542038528,1542040575,RU
+1542040576,1542041087,UA
+1542041088,1542041343,SA
+1542041344,1542041599,RU
+1542041600,1542042623,LT
+1542042624,1542043135,IT
+1542043136,1542043391,CH
+1542043392,1542043647,GB
+1542043648,1542044671,PL
+1542044672,1542045183,RU
+1542045184,1542045439,RO
+1542045440,1542045695,AT
+1542045696,1542046719,RO
+1542046720,1542047743,PL
+1542047744,1542048767,RO
+1542048768,1542049279,PL
+1542049280,1542049791,BE
+1542049792,1542050815,CZ
+1542050816,1542051071,CH
+1542051072,1542051327,RU
+1542051328,1542051839,LV
+1542051840,1542053887,RU
+1542053888,1542054399,NL
+1542054400,1542054655,RU
+1542054656,1542054911,AT
+1542054912,1542055423,PL
+1542055424,1542055935,RU
+1542055936,1542057471,PL
+1542057472,1542060031,RU
+1542060032,1542060287,SK
+1542060288,1542060543,RO
+1542060544,1542061055,PL
+1542061056,1542062079,IT
+1542062080,1542064127,UA
+1542064128,1542064383,PL
+1542064384,1542064639,FR
+1542064640,1542065151,RU
+1542065152,1542066175,PL
+1542066176,1542066431,RU
+1542066432,1542066687,NL
+1542066688,1542066943,GB
+1542066944,1542067199,BG
+1542067200,1542067455,UA
+1542067456,1542067711,BG
+1542067712,1542067967,DE
+1542067968,1542068223,GB
+1542068224,1542069759,UA
+1542069760,1542070015,DE
+1542070016,1542071295,UA
+1542071296,1542071551,CN
+1542071552,1542071807,UA
+1542071808,1542072319,DE
+1542072320,1542073343,UA
+1542073344,1542074111,RO
+1542074112,1542074367,UA
+1542074368,1542074623,GB
+1542074624,1542074879,PL
+1542074880,1542075391,NL
+1542075392,1542075647,CH
+1542075648,1542075903,RU
+1542075904,1542077439,RO
+1542077440,1542078975,RU
+1542078976,1542079487,PL
+1542079488,1542080511,RU
+1542080512,1542082559,UA
+1542082560,1542083583,RU
+1542083584,1542085631,UA
+1542085632,1542086655,BG
+1542086656,1542087167,RU
+1542087168,1542087679,UA
+1542087680,1542088703,PL
+1542088704,1542089727,FR
+1542089728,1542090751,RU
+1542090752,1542091775,PL
+1542091776,1542092799,RU
+1542092800,1542093823,RO
+1542093824,1542095871,PL
+1542095872,1542096895,RS
+1542096896,1542098431,UA
+1542098432,1542099199,PL
+1542099200,1542099455,RU
+1542099456,1542099711,PL
+1542099712,1542099967,RU
+1542099968,1542100223,NL
+1542100224,1542100479,DK
+1542100480,1542100991,RO
+1542100992,1542102015,RU
+1542102016,1542103039,RO
+1542103040,1542103295,CH
+1542103296,1542103551,RU
+1542103552,1542104063,CZ
+1542104064,1542105087,RU
+1542105088,1542105599,RO
+1542105600,1542105855,RU
+1542105856,1542106111,DE
+1542106112,1542107135,RU
+1542107136,1542107391,PL
+1542107392,1542107903,RU
+1542107904,1542108159,SK
+1542108160,1542109183,RU
+1542109184,1542109695,GB
+1542109696,1542110207,PL
+1542110208,1542110463,RU
+1542110464,1542110719,CH
+1542110720,1542111231,RS
+1542111232,1542111487,SE
+1542111488,1542111743,NL
+1542111744,1542112255,FR
+1542112256,1542113279,UA
+1542113280,1542113535,LT
+1542113536,1542113791,GB
+1542113792,1542114047,RU
+1542114048,1542114303,BE
+1542114304,1542114815,FI
+1542114816,1542115071,NL
+1542115072,1542115327,PL
+1542115328,1542116351,UA
+1542116352,1542116607,RO
+1542116608,1542116863,DE
+1542116864,1542117119,GB
+1542117120,1542117631,DE
+1542117632,1542117887,PL
+1542117888,1542118399,UZ
+1542118400,1542119423,RO
+1542119424,1542119935,RU
+1542119936,1542120703,RO
+1542120704,1542120959,AT
+1542120960,1542121471,BE
+1542121472,1542121727,PL
+1542121728,1542123519,FR
+1542123520,1542123775,SE
+1542123776,1542124543,RO
+1542124544,1542124799,DE
+1542124800,1542125567,PL
+1542125568,1542126591,CZ
+1542126592,1542127103,PL
+1542127104,1542127359,GB
+1542127360,1542127615,RU
+1542127616,1542128127,PL
+1542128128,1542128383,RU
+1542128384,1542129151,RO
+1542129152,1542129407,IS
+1542129408,1542129663,RU
+1542129664,1542130687,DE
+1542130688,1542131711,UA
+1542131712,1542134271,PL
+1542134272,1542136319,RU
+1542136320,1542136831,DE
+1542136832,1542137855,RU
+1542137856,1542138367,ES
+1542138368,1542138623,RU
+1542138624,1542138879,RO
+1542138880,1542139135,GB
+1542139136,1542139391,DE
+1542139392,1542139647,UA
+1542139648,1542139903,DE
+1542139904,1542140927,ES
+1542140928,1542141951,SK
+1542141952,1542142975,GB
+1542142976,1542143999,NO
+1542144000,1542144255,TR
+1542144256,1542144511,GB
+1542144512,1542144767,RU
+1542144768,1542146047,UA
+1542146048,1542147583,RU
+1542147584,1542148095,FR
+1542148096,1542148607,RU
+1542148608,1542148863,SI
+1542148864,1542149119,NL
+1542149120,1542150143,UA
+1542150144,1542152191,RU
+1542152192,1542153215,IE
+1542153216,1542153471,DK
+1542153472,1542153727,RU
+1542153728,1542153983,UA
+1542153984,1542154239,RU
+1542154240,1542154751,TR
+1542154752,1542155007,RU
+1542155008,1542155263,IL
+1542155264,1542156287,ES
+1542156288,1542156543,RU
+1542156544,1542156799,RO
+1542157312,1542158335,AZ
+1542158336,1542158847,IT
+1542158848,1542159359,RO
+1542159360,1542160127,PL
+1542160128,1542160383,RU
+1542160384,1542160895,UA
+1542160896,1542161407,RO
+1542161408,1542162431,NL
+1542162432,1542162943,RU
+1542162944,1542163199,FR
+1542163200,1542163455,DK
+1542163456,1542163711,GB
+1542163712,1542163967,FR
+1542163968,1542164479,UA
+1542164480,1542165759,RU
+1542165760,1542166015,PL
+1542166016,1542166527,IL
+1542166528,1542167551,PL
+1542167552,1542168319,RU
+1542168320,1542168575,AE
+1542168576,1542169599,PL
+1542169600,1542169855,BG
+1542169856,1542170623,RO
+1542170624,1542170879,SE
+1542171136,1542171647,HR
+1542171648,1542172159,GB
+1542172160,1542172415,NL
+1542172416,1542172671,RU
+1542172672,1542173695,KZ
+1542173696,1542174207,RU
+1542174208,1542174463,UA
+1542174464,1542174719,CZ
+1542174720,1542176767,RU
+1542176768,1542177791,PL
+1542177792,1542178815,UA
+1542178816,1542179327,CZ
+1542179328,1542179583,PL
+1542179584,1542179839,RU
+1542179840,1542180863,PL
+1542180864,1542181887,GB
+1542181888,1542182143,CH
+1542182144,1542182399,RU
+1542182400,1542182655,GB
+1542182656,1542182911,FR
+1542182912,1542183935,PL
+1542183936,1542184191,GB
+1542184192,1542184447,RU
+1542184448,1542184959,PL
+1542184960,1542185983,UA
+1542185984,1542187007,PL
+1542187008,1542187263,DK
+1542187264,1542187519,RU
+1542187520,1542188031,GB
+1542188032,1542188287,DE
+1542188288,1542188543,NL
+1542188544,1542189055,PL
+1542189056,1542189311,DE
+1542189312,1542189567,TR
+1542189568,1542189823,SI
+1542189824,1542190079,GE
+1542190080,1542191103,RU
+1542191104,1542192127,BG
+1542192128,1542193407,PL
+1542193408,1542193663,SI
+1542193664,1542194175,RU
+1542194176,1542195711,PL
+1542195712,1542196479,RU
+1542196480,1542196735,PL
+1542196736,1542197247,RU
+1542197248,1542197503,DK
+1542197504,1542198015,GB
+1542198016,1542198271,NL
+1542198272,1542198783,PL
+1542198784,1542199551,RU
+1542199808,1542200319,GB
+1542200320,1542200575,DK
+1542200576,1542200831,SE
+1542200832,1542201343,RU
+1542201344,1542202367,PL
+1542202368,1542202623,UA
+1542202624,1542202879,HR
+1542202880,1542203391,EE
+1542203392,1542204415,CZ
+1542204416,1542204671,EE
+1542204672,1542204927,CH
+1542204928,1542205439,RO
+1542205440,1542206463,RU
+1542206464,1542207487,PL
+1542207488,1542207743,GB
+1542208000,1542208255,RO
+1542208256,1542208511,ES
+1542208512,1542209535,RU
+1542209536,1542211583,SK
+1542211584,1542212607,PL
+1542212608,1542213119,RO
+1542213120,1542213375,CH
+1542213376,1542213631,RO
+1542213632,1542214143,RU
+1542214144,1542214399,SK
+1542214400,1542214655,NL
+1542214656,1542215679,PL
+1542215680,1542216703,RO
+1542216704,1542217727,RU
+1542217728,1542218751,UA
+1542218752,1542220031,RU
+1542220032,1542220287,PL
+1542220288,1542220799,DE
+1542220800,1542222335,RU
+1542222336,1542222591,UA
+1542222592,1542222847,PK
+1542222848,1542223103,SE
+1542223104,1542223359,GB
+1542223360,1542223871,UA
+1542224896,1542225151,RU
+1542225152,1542225407,PL
1543503872,1545601023,GB
1545601024,1545673167,SE
1545673168,1545673175,FI
@@ -55771,7 +65607,11 @@
1546379264,1546381311,ES
1546381312,1546383359,DK
1546383360,1546385407,IT
-1546385408,1546385535,FR
+1546385408,1546385471,FR
+1546385472,1546385479,DE
+1546385480,1546385487,IT
+1546385488,1546385495,ES
+1546385496,1546385535,FR
1546385536,1546385599,US
1546385600,1546387455,FR
1546387456,1546460960,TR
@@ -55803,13 +65643,19 @@
1546878976,1546895359,DE
1546895360,1546911743,IE
1546911744,1546928127,SK
-1546928128,1546944511,GB
+1546928128,1546929407,GB
+1546929408,1546929415,A2
+1546929416,1546944511,GB
1546944512,1546960895,UA
1546960896,1546977279,HU
1546977280,1546993663,MK
1546993664,1547010047,RU
1547010048,1547026431,SI
-1547026432,1547042815,NL
+1547026432,1547034623,ES
+1547034624,1547036671,RU
+1547036672,1547038719,SE
+1547038720,1547040767,GB
+1547040768,1547042815,NL
1547042816,1547059199,ES
1547059200,1547075583,RU
1547075584,1547091967,GB
@@ -55829,7 +65675,9 @@
1547465728,1547465983,ES
1547465984,1547467775,GB
1547467776,1547468031,ES
-1547468032,1547468799,GB
+1547468032,1547468287,GB
+1547468288,1547468543,ES
+1547468544,1547468799,GB
1547468800,1547472895,PL
1547472896,1547476991,DK
1547476992,1547481087,ES
@@ -55851,9 +65699,7 @@
1547542528,1547546623,FR
1547546624,1547550719,IR
1547550720,1547554815,IE
-1547554816,1547555135,AT
-1547555136,1547555199,DE
-1547555200,1547558911,AT
+1547554816,1547558911,AT
1547558912,1547563007,IL
1547563008,1547564287,NL
1547564288,1547564311,CH
@@ -55921,7 +65767,9 @@
1547621152,1547621167,A2
1547621168,1547621191,NG
1547621192,1547621199,A2
-1547621200,1547621223,NG
+1547621200,1547621207,NG
+1547621208,1547621215,US
+1547621216,1547621223,NG
1547621224,1547621231,A2
1547621232,1547621239,NG
1547621240,1547621247,A2
@@ -55956,7 +65804,8 @@
1547622624,1547622631,NG
1547622632,1547622911,A2
1547622912,1547622935,NG
-1547622936,1547622951,A2
+1547622936,1547622943,A2
+1547622944,1547622951,US
1547622952,1547622959,NG
1547622960,1547622967,A2
1547622968,1547622983,NG
@@ -55990,7 +65839,8 @@
1547623384,1547623391,NG
1547623392,1547623399,A2
1547623400,1547623415,NG
-1547623416,1547623455,A2
+1547623416,1547623423,A2
+1547623424,1547623455,US
1547623456,1547623463,NG
1547623464,1547623479,A2
1547623480,1547623487,NG
@@ -56005,8 +65855,7 @@
1547623736,1547624447,A2
1547624448,1547628543,CZ
1547628544,1547632639,BG
-1547632640,1547634687,GB
-1547634688,1547636735,TR
+1547632640,1547636735,TR
1547636736,1547640831,SI
1547640832,1547644927,PL
1547644928,1547649023,CZ
@@ -56031,7 +65880,15 @@
1548157120,1548157183,DE
1548157184,1548157951,NL
1548157952,1548158207,SE
-1548158208,1548222463,NL
+1548158208,1548158599,NL
+1548158600,1548158607,GB
+1548158608,1548158623,NL
+1548158624,1548158639,DE
+1548158640,1548158975,NL
+1548158976,1548159103,DE
+1548159104,1548159231,NL
+1548159232,1548159487,ES
+1548159488,1548222463,NL
1548222464,1548746751,DE
1548746752,1549271039,RO
1549271040,1549795327,FR
@@ -56107,9 +65964,7 @@
1551892480,1556086783,FR
1556086784,1556486924,DE
1556486925,1556486925,A2
-1556486926,1556490839,DE
-1556490840,1556490847,A2
-1556490848,1556493903,DE
+1556486926,1556493903,DE
1556493904,1556493911,A2
1556493912,1556497655,DE
1556497656,1556497663,A2
@@ -56128,9 +65983,7 @@
1559314432,1559322623,GE
1559322624,1559330815,RU
1559330816,1559339007,BA
-1559339008,1559339647,RU
-1559339648,1559339679,MY
-1559339680,1559339743,RU
+1559339008,1559339743,RU
1559339744,1559339775,MH
1559339776,1559341695,RU
1559341696,1559341703,ES
@@ -56184,9 +66037,7 @@
1560018944,1560051711,DE
1560051712,1560084479,RU
1560084480,1560117247,JO
-1560117248,1560119295,CZ
-1560119296,1560121343,UA
-1560121344,1560150015,CZ
+1560117248,1560150015,CZ
1560150016,1560182783,NL
1560182784,1560215551,SE
1560215552,1560281087,RU
@@ -56240,7 +66091,11 @@
1566212096,1566216191,DE
1566216192,1566220287,SE
1566220288,1566224383,CZ
-1566224384,1566226343,DE
+1566224384,1566226175,DE
+1566226176,1566226239,NL
+1566226240,1566226303,DE
+1566226304,1566226335,NL
+1566226336,1566226343,DE
1566226344,1566226351,NL
1566226352,1566228479,DE
1566228480,1566232575,GB
@@ -56285,7 +66140,10 @@
1566343168,1566345215,DE
1566345216,1566347263,RU
1566347264,1566349311,DE
-1566349312,1566351359,IT
+1566349312,1566350592,IT
+1566350593,1566350720,US
+1566350721,1566350847,GB
+1566350848,1566351359,IT
1566351360,1566353407,AT
1566353408,1566355455,ES
1566355456,1566357503,RU
@@ -56303,14 +66161,17 @@
1566384128,1566386175,RU
1566386176,1566388223,FR
1566388224,1566388479,HK
-1566388480,1566388991,HU
+1566388480,1566388735,HU
+1566388736,1566388991,EU
1566388992,1566389247,SC
1566389248,1566389503,HU
1566389504,1566389759,SC
1566389760,1566390271,US
1566390272,1566392319,LT
1566392320,1566394367,ES
-1566394368,1566396415,NO
+1566394368,1566396175,NO
+1566396176,1566396191,NL
+1566396192,1566396415,NO
1566396416,1566398463,GB
1566398464,1566400511,RU
1566400512,1566400575,NO
@@ -56335,8 +66196,8 @@
1566400988,1566401023,NO
1566401024,1566401055,US
1566401056,1566401087,NO
-1566401088,1566401215,US
-1566401216,1566401279,NO
+1566401088,1566401247,US
+1566401248,1566401279,NO
1566401280,1566401311,US
1566401312,1566401399,NO
1566401400,1566401463,US
@@ -56344,8 +66205,8 @@
1566401468,1566401483,US
1566401484,1566401491,NO
1566401492,1566401499,US
-1566401500,1566401507,NO
-1566401508,1566401535,US
+1566401500,1566401503,NO
+1566401504,1566401535,US
1566401536,1566401599,IN
1566401600,1566401631,HK
1566401632,1566401663,NO
@@ -56358,7 +66219,7 @@
1566401888,1566401919,US
1566401920,1566401967,NO
1566401968,1566401975,HK
-1566401976,1566401987,NO
+1566401976,1566401987,AU
1566401988,1566401991,HK
1566401992,1566401999,SG
1566402000,1566402003,AU
@@ -56391,7 +66252,7 @@
1566437376,1566439423,BE
1566439424,1566443519,DE
1566443520,1566445567,NO
-1566445568,1566447615,CY
+1566445568,1566447615,PL
1566447616,1566451711,IT
1566451712,1566453759,IL
1566453760,1566455807,IQ
@@ -56408,32 +66269,16 @@
1566468896,1566469391,BE
1566469392,1566469407,HU
1566469408,1566470143,BE
-1566470144,1566470159,IE
-1566470160,1566470171,GB
-1566470172,1566470239,IE
-1566470240,1566470279,GB
-1566470280,1566470283,IE
-1566470284,1566470303,GB
-1566470304,1566470351,IE
+1566470144,1566470163,IE
+1566470164,1566470171,GB
+1566470172,1566470351,IE
1566470352,1566470367,GB
-1566470368,1566470511,IE
-1566470512,1566470527,GB
-1566470528,1566470559,IE
-1566470560,1566470563,GB
-1566470564,1566470623,IE
-1566470624,1566470655,GB
-1566470656,1566470739,IE
-1566470740,1566470743,GB
-1566470744,1566470855,IE
-1566470856,1566470859,GB
-1566470860,1566471031,IE
-1566471032,1566471039,GB
-1566471040,1566471051,IE
-1566471052,1566471151,GB
-1566471152,1566471157,IE
-1566471158,1566471191,GB
-1566471192,1566471229,IE
-1566471230,1566474239,GB
+1566470368,1566471567,IE
+1566471568,1566471575,GB
+1566471576,1566471679,IE
+1566471680,1566471683,GB
+1566471684,1566472191,IE
+1566472192,1566474239,GB
1566474240,1566476287,DE
1566476288,1566478335,BG
1566478336,1566482431,RU
@@ -56477,9 +66322,7 @@
1566564352,1566566399,IS
1566566400,1566568447,FR
1566568448,1566570495,KZ
-1566570496,1566570943,NL
-1566570944,1566570951,DE
-1566570952,1566571479,NL
+1566570496,1566571479,NL
1566571480,1566571483,DE
1566571484,1566572543,NL
1566572544,1566703615,GB
@@ -56511,7 +66354,9 @@
1567712768,1567713279,DE
1567713280,1567715327,RO
1567715328,1567717375,MD
-1567717376,1567752191,RO
+1567717376,1567750655,RO
+1567750656,1567751167,SE
+1567751168,1567752191,RO
1567752192,1567756287,MD
1567756288,1567775743,RO
1567775744,1567776767,MD
@@ -56519,7 +66364,9 @@
1567830016,1567831039,MD
1567831040,1567840255,RO
1567840256,1567842303,DE
-1567842304,1567883263,RO
+1567842304,1567880191,RO
+1567880192,1567881215,SE
+1567881216,1567883263,RO
1567883264,1567948799,MD
1567948800,1568026623,RO
1568026624,1568030719,MD
@@ -56534,24 +66381,18 @@
1568245760,1568246527,GF
1568246528,1568247039,GP
1568247040,1568247551,GF
-1568247552,1568248831,GP
-1568248832,1568249087,MQ
-1568249088,1568250879,GP
-1568250880,1568251135,MQ
-1568251136,1568251903,GP
-1568251904,1568252159,MQ
-1568252160,1568252927,GP
-1568252928,1568253183,MQ
-1568253184,1568254719,GP
+1568247552,1568248063,GP
+1568248064,1568249855,MQ
+1568249856,1568250111,GP
+1568250112,1568253951,MQ
+1568253952,1568254719,GP
1568254720,1568254975,GF
1568254976,1568255743,GP
1568255744,1568255999,GF
1568256000,1568257791,GP
1568257792,1568258303,MQ
1568258304,1568259071,GF
-1568259072,1568259327,MQ
-1568259328,1568260095,GP
-1568260096,1568260351,MQ
+1568259072,1568260351,MQ
1568260352,1568261119,FR
1568261120,1568261375,MQ
1568261376,1568262143,FR
@@ -56598,9 +66439,9 @@
1568309248,1568342015,RO
1568342016,1568374783,BG
1568374784,1568440319,RU
-1568440320,1568443919,NO
-1568443920,1568443927,SE
-1568443928,1568473087,NO
+1568440320,1568444367,NO
+1568444368,1568444375,SE
+1568444376,1568473087,NO
1568473088,1568505855,BY
1568505856,1568538623,NL
1568538624,1568555007,IR
@@ -56693,7 +66534,11 @@
1570661632,1570662143,SE
1570662144,1570662399,DE
1570662400,1570663423,SE
-1570663424,1570663935,GB
+1570663424,1570663583,GB
+1570663584,1570663615,NO
+1570663616,1570663839,GB
+1570663840,1570663871,NO
+1570663872,1570663935,GB
1570663936,1570665343,SE
1570665344,1570665351,GB
1570665352,1570665407,SE
@@ -56705,14 +66550,17 @@
1570665920,1570665935,GB
1570665936,1570665951,IT
1570665952,1570665967,FR
-1570665968,1570666143,SE
+1570665968,1570666127,SE
+1570666128,1570666143,EU
1570666144,1570666147,DE
1570666148,1570666175,SE
1570666176,1570666191,GB
1570666192,1570666223,FR
1570666224,1570666227,SE
1570666228,1570666231,NO
-1570666232,1570666367,SE
+1570666232,1570666263,SE
+1570666264,1570666267,US
+1570666268,1570666367,SE
1570666368,1570666383,FR
1570666384,1570666387,SE
1570666388,1570666391,NL
@@ -56753,7 +66601,8 @@
1570667248,1570667263,SE
1570667264,1570667267,ES
1570667268,1570667283,SE
-1570667284,1570667295,ES
+1570667284,1570667287,MT
+1570667288,1570667295,SE
1570667296,1570667327,GB
1570667328,1570667335,SE
1570667336,1570667339,GB
@@ -56773,7 +66622,9 @@
1570667588,1570667591,US
1570667592,1570667599,SE
1570667600,1570667603,DE
-1570667604,1570667711,SE
+1570667604,1570667647,SE
+1570667648,1570667651,US
+1570667652,1570667711,SE
1570667712,1570667727,FR
1570667728,1570667743,NL
1570667744,1570667775,SE
@@ -56815,27 +66666,51 @@
1571291136,1571422207,RO
1571422208,1571426303,RU
1571426304,1571428351,CZ
-1571428352,1571428863,UA
+1571428352,1571428863,RU
1571428864,1571429119,KZ
1571429120,1571429375,RU
1571429376,1571432447,UA
1571432448,1571434495,CZ
1571434496,1571435519,UA
1571435520,1571436031,NL
-1571436032,1571438591,RU
+1571436032,1571436287,UA
+1571436288,1571438591,RU
1571438592,1571441663,UA
1571441664,1571442175,KZ
1571442176,1571442687,NL
-1571442688,1571446783,CZ
+1571442688,1571443199,UA
+1571443200,1571443455,NL
+1571443456,1571443711,UA
+1571443712,1571444735,CZ
+1571444736,1571446783,NL
1571446784,1571447807,KZ
-1571447808,1571448831,CZ
+1571447808,1571448831,RU
1571448832,1571450879,US
1571450880,1571451903,UA
-1571451904,1571453951,CZ
+1571451904,1571452927,RU
+1571452928,1571453951,CZ
1571453952,1571454975,GB
-1571454976,1571487743,CZ
+1571454976,1571455999,RU
+1571456000,1571456511,CY
+1571456512,1571457023,RU
+1571457024,1571458047,UA
+1571458048,1571459071,CZ
+1571459072,1571463167,UA
+1571463168,1571465215,RU
+1571465216,1571469311,CZ
+1571469312,1571470335,RU
+1571470336,1571477503,CZ
+1571477504,1571478527,RU
+1571478528,1571485695,CZ
+1571485696,1571487743,RU
1571487744,1571495935,SK
-1571495936,1571553279,CZ
+1571495936,1571500031,CZ
+1571500032,1571502079,RU
+1571502080,1571504127,CZ
+1571504128,1571508223,UA
+1571508224,1571514367,CZ
+1571514368,1571520511,BY
+1571520512,1571553279,CZ
1571553280,1571684351,IL
1571684352,1571686399,ES
1571686400,1571688447,GB
@@ -56912,8 +66787,15 @@
1572020224,1572028415,SE
1572028416,1572044799,RU
1572044800,1572061183,IT
-1572061184,1572077567,PL
+1572061184,1572072895,PL
+1572072896,1572072959,DE
+1572072960,1572077567,PL
1572077568,1572093951,RU
+1572093952,1572095999,NL
+1572096000,1572098047,DE
+1572098048,1572100095,DK
+1572100096,1572102143,CH
+1572102144,1572110335,BA
1572110336,1572126719,RU
1572126720,1572143103,UA
1572143104,1572159487,DE
@@ -56925,7 +66807,10 @@
1572257792,1572274175,FR
1572274176,1572276223,SG
1572276224,1572277247,US
-1572277248,1572282111,SG
+1572277248,1572277759,DE
+1572277760,1572280319,SG
+1572280320,1572280575,DE
+1572280576,1572282111,SG
1572282112,1572282367,PT
1572282368,1572290559,SG
1572290560,1572306943,RU
@@ -56944,7 +66829,7 @@
1572380672,1572384767,RU
1572384768,1572388863,DE
1572388864,1572392959,DK
-1572392960,1572397055,US
+1572392960,1572397055,EU
1572397056,1572401151,AZ
1572401152,1572405247,GB
1572405248,1572409343,CZ
@@ -57252,9 +67137,7 @@
1578590284,1578590287,GB
1578590288,1578590303,DE
1578590304,1578590311,IT
-1578590312,1578590319,FR
-1578590320,1578590335,CH
-1578590336,1578590339,FR
+1578590312,1578590339,FR
1578590340,1578590343,DE
1578590344,1578590347,FR
1578590348,1578590351,PL
@@ -57268,7 +67151,10 @@
1578590528,1578590535,ES
1578590536,1578590543,FR
1578590544,1578590559,PL
-1578590560,1578590575,ES
+1578590560,1578590563,PT
+1578590564,1578590567,FR
+1578590568,1578590571,PL
+1578590572,1578590575,IT
1578590576,1578590599,FR
1578590600,1578590603,LT
1578590604,1578590607,PL
@@ -57289,18 +67175,18 @@
1578590700,1578590735,PL
1578590736,1578590787,FR
1578590788,1578590791,LT
-1578590792,1578590795,NL
+1578590792,1578590795,FR
1578590796,1578590799,IT
1578590800,1578590815,ES
1578590816,1578590831,GB
-1578590832,1578590839,FR
+1578590832,1578590839,NL
1578590840,1578590847,PL
1578590848,1578590851,DE
1578590852,1578590855,FR
1578590856,1578590859,GB
1578590860,1578590879,FR
1578590880,1578590911,PL
-1578590912,1578590927,GB
+1578590912,1578590927,FR
1578590928,1578590935,DE
1578590936,1578590943,ES
1578590944,1578590975,FR
@@ -57348,8 +67234,7 @@
1578591576,1578591579,DE
1578591580,1578591583,ES
1578591584,1578591599,IT
-1578591600,1578591679,FR
-1578591680,1578591695,PL
+1578591600,1578591695,FR
1578591696,1578591699,DE
1578591700,1578591703,FR
1578591704,1578591707,DE
@@ -57357,7 +67242,9 @@
1578591712,1578591743,PL
1578591744,1578591759,ES
1578591760,1578591791,FR
-1578591792,1578591807,PL
+1578591792,1578591795,ES
+1578591796,1578591799,NL
+1578591800,1578591807,PL
1578591808,1578591887,FR
1578591888,1578591891,DE
1578591892,1578591899,FR
@@ -57366,20 +67253,25 @@
1578591920,1578591939,ES
1578591940,1578591951,FR
1578591952,1578591967,PT
-1578591968,1578591999,FR
-1578592000,1578592031,PL
+1578591968,1578591975,FR
+1578591976,1578591979,PL
+1578591980,1578591983,FR
+1578591984,1578592031,PL
1578592032,1578592039,PT
1578592040,1578592043,ES
1578592044,1578592047,PL
-1578592048,1578592079,FR
-1578592080,1578592095,PL
+1578592048,1578592063,FR
+1578592064,1578592067,ES
+1578592068,1578592071,FR
+1578592072,1578592079,PL
+1578592080,1578592095,ES
1578592096,1578592111,FR
1578592112,1578592127,GB
1578592128,1578592143,DE
1578592144,1578592159,NL
1578592160,1578592163,FR
1578592164,1578592171,IT
-1578592172,1578592175,FR
+1578592172,1578592175,ES
1578592176,1578592183,CZ
1578592184,1578592191,PT
1578592192,1578592199,BE
@@ -57392,17 +67284,20 @@
1578592284,1578592287,FR
1578592288,1578592295,PL
1578592296,1578592303,PT
-1578592304,1578592319,FR
-1578592320,1578592335,ES
-1578592336,1578592351,FR
+1578592304,1578592351,FR
1578592352,1578592367,PL
-1578592368,1578592395,FR
-1578592396,1578592399,ES
-1578592400,1578592415,GB
+1578592368,1578592375,FR
+1578592376,1578592379,GB
+1578592380,1578592383,DE
+1578592384,1578592395,FR
+1578592396,1578592399,DE
+1578592400,1578592407,FR
+1578592408,1578592411,GB
+1578592412,1578592415,DE
1578592416,1578592423,IT
1578592424,1578592431,IE
-1578592432,1578592447,FR
-1578592448,1578592495,PL
+1578592432,1578592487,FR
+1578592488,1578592495,PL
1578592496,1578592511,FR
1578592512,1578592515,GB
1578592516,1578592519,PL
@@ -57425,14 +67320,14 @@
1578592752,1578592767,IE
1578592768,1578592783,DE
1578592784,1578592799,FR
-1578592800,1578592807,GB
-1578592808,1578592811,FR
+1578592800,1578592803,NL
+1578592804,1578592811,FR
1578592812,1578592815,PL
1578592816,1578592831,FR
1578592832,1578592847,PL
1578592848,1578592851,BE
1578592852,1578592855,DE
-1578592856,1578592859,CH
+1578592856,1578592859,FR
1578592860,1578592879,PL
1578592880,1578592883,FR
1578592884,1578592891,GB
@@ -57455,7 +67350,9 @@
1578593412,1578593415,FR
1578593416,1578593423,PL
1578593424,1578593439,FR
-1578593440,1578593455,PL
+1578593440,1578593443,IT
+1578593444,1578593447,PL
+1578593448,1578593455,DE
1578593456,1578593471,FR
1578593472,1578593479,GB
1578593480,1578593483,PL
@@ -57467,17 +67364,17 @@
1578593544,1578593547,ES
1578593548,1578593551,FI
1578593552,1578593559,PL
-1578593560,1578593567,FR
-1578593568,1578593583,CZ
+1578593560,1578593583,FR
1578593584,1578593587,GB
-1578593588,1578593599,DE
+1578593588,1578593591,DE
+1578593592,1578593599,IE
1578593600,1578593631,FR
1578593632,1578593647,NL
1578593648,1578593659,PL
1578593660,1578593663,FR
1578593664,1578593679,IT
1578593680,1578593711,FR
-1578593712,1578593727,CZ
+1578593712,1578593727,IE
1578593728,1578593759,FR
1578593760,1578593775,ES
1578593776,1578593791,NL
@@ -57497,7 +67394,9 @@
1578593936,1578593943,FR
1578593944,1578593947,IT
1578593948,1578593955,FR
-1578593956,1578593967,PL
+1578593956,1578593959,LT
+1578593960,1578593963,FR
+1578593964,1578593967,ES
1578593968,1578593983,FR
1578593984,1578593999,PL
1578594000,1578594015,FR
@@ -57517,10 +67416,11 @@
1578594160,1578594163,PT
1578594164,1578594167,ES
1578594168,1578594171,DE
-1578594172,1578594191,FR
-1578594192,1578594207,IT
+1578594172,1578594175,ES
+1578594176,1578594207,FR
1578594208,1578594211,DE
-1578594212,1578594239,PL
+1578594212,1578594215,ES
+1578594216,1578594239,PL
1578594240,1578594255,FR
1578594256,1578594271,IE
1578594272,1578594303,PL
@@ -57533,7 +67433,8 @@
1578594356,1578594359,FR
1578594360,1578594363,PT
1578594364,1578594367,ES
-1578594368,1578594375,FR
+1578594368,1578594371,GB
+1578594372,1578594375,FR
1578594376,1578594383,PT
1578594384,1578594399,FR
1578594400,1578594431,PL
@@ -57562,15 +67463,13 @@
1578594712,1578594715,IT
1578594716,1578594751,FR
1578594752,1578594767,ES
-1578594768,1578594771,GB
-1578594772,1578594775,FR
+1578594768,1578594775,GB
1578594776,1578594783,ES
1578594784,1578594799,FR
1578594800,1578594815,DE
1578594816,1578594847,FR
1578594848,1578594863,IT
-1578594864,1578594867,PL
-1578594868,1578594871,BE
+1578594864,1578594871,PL
1578594872,1578595039,FR
1578595040,1578595055,GB
1578595056,1578595103,FR
@@ -57607,7 +67506,9 @@
1578595448,1578595455,ES
1578595456,1578595459,DE
1578595460,1578595467,PL
-1578595468,1578595487,FR
+1578595468,1578595471,FR
+1578595472,1578595479,ES
+1578595480,1578595487,GB
1578595488,1578595503,DE
1578595504,1578595519,PL
1578595520,1578595535,FR
@@ -57617,7 +67518,14 @@
1578595548,1578595607,FR
1578595608,1578595611,GB
1578595612,1578595615,ES
-1578595616,1578595647,PL
+1578595616,1578595619,PL
+1578595620,1578595623,BE
+1578595624,1578595627,GB
+1578595628,1578595631,IE
+1578595632,1578595635,FR
+1578595636,1578595639,ES
+1578595640,1578595643,DE
+1578595644,1578595647,GB
1578595648,1578595679,FR
1578595680,1578595695,PL
1578595696,1578595711,FR
@@ -57645,7 +67553,7 @@
1578596100,1578596103,GB
1578596104,1578596107,PL
1578596108,1578596111,ES
-1578596112,1578596115,DE
+1578596112,1578596115,NL
1578596116,1578596119,FR
1578596120,1578596123,PT
1578596124,1578596127,ES
@@ -57673,7 +67581,11 @@
1578604544,1578606591,GB
1578606592,1578608639,DE
1578608640,1578610687,CZ
-1578610688,1578610767,FR
+1578610688,1578610751,FR
+1578610752,1578610755,BE
+1578610756,1578610759,ES
+1578610760,1578610763,PL
+1578610764,1578610767,NL
1578610768,1578610771,CH
1578610772,1578610775,GB
1578610776,1578610779,DE
@@ -57687,16 +67599,17 @@
1578610832,1578610847,CH
1578610848,1578610851,PL
1578610852,1578610855,IE
-1578610856,1578610859,IT
-1578610860,1578610863,PL
+1578610856,1578610863,PL
1578610864,1578610867,BE
1578610868,1578610871,FR
1578610872,1578610879,PL
1578610880,1578610943,FR
1578610944,1578610975,ES
-1578610976,1578611039,PL
+1578610976,1578611007,PL
+1578611008,1578611023,FR
+1578611024,1578611039,NL
1578611040,1578611043,ES
-1578611044,1578611047,CZ
+1578611044,1578611047,GB
1578611048,1578611051,ES
1578611052,1578611055,PL
1578611056,1578611071,FR
@@ -57706,10 +67619,13 @@
1578611088,1578611103,DE
1578611104,1578611107,BE
1578611108,1578611119,DE
-1578611120,1578611135,FR
+1578611120,1578611123,PL
+1578611124,1578611127,FR
+1578611128,1578611135,PL
1578611136,1578611151,CH
1578611152,1578611167,DE
-1578611168,1578611183,ES
+1578611168,1578611175,PL
+1578611176,1578611183,IE
1578611184,1578611191,BE
1578611192,1578611195,FR
1578611196,1578611199,ES
@@ -57719,9 +67635,8 @@
1578611224,1578611227,ES
1578611228,1578611231,PL
1578611232,1578611235,IT
-1578611236,1578611239,GB
-1578611240,1578611247,FR
-1578611248,1578611251,ES
+1578611236,1578611243,FR
+1578611244,1578611251,GB
1578611252,1578611255,IT
1578611256,1578611263,PL
1578611264,1578611279,IT
@@ -57737,7 +67652,7 @@
1578611392,1578611399,GB
1578611400,1578611407,ES
1578611408,1578611423,IT
-1578611424,1578611439,GB
+1578611424,1578611439,FR
1578611440,1578611443,ES
1578611444,1578611447,NL
1578611448,1578611455,ES
@@ -57745,7 +67660,7 @@
1578611712,1578611775,CH
1578611776,1578611783,DE
1578611784,1578611791,FR
-1578611792,1578611807,PL
+1578611792,1578611807,GB
1578611808,1578611839,CH
1578611840,1578611855,BE
1578611856,1578611919,FR
@@ -57777,8 +67692,7 @@
1578612304,1578612319,DE
1578612320,1578612383,FR
1578612384,1578612415,PL
-1578612416,1578612479,FR
-1578612480,1578612575,GB
+1578612416,1578612575,FR
1578612576,1578612579,PL
1578612580,1578612583,FR
1578612584,1578612587,IE
@@ -57793,13 +67707,28 @@
1578612896,1578612899,FR
1578612900,1578612903,PL
1578612904,1578612907,DE
-1578612908,1578612911,FR
-1578612912,1578612959,ES
+1578612908,1578612927,FR
+1578612928,1578612943,ES
+1578612944,1578612959,GB
1578612960,1578612975,DE
1578612976,1578612983,IT
1578612984,1578612991,FR
1578612992,1578613247,DE
-1578613248,1578613503,FR
+1578613248,1578613391,FR
+1578613392,1578613399,GB
+1578613400,1578613423,FR
+1578613424,1578613427,DE
+1578613428,1578613431,GB
+1578613432,1578613435,IE
+1578613436,1578613447,FR
+1578613448,1578613451,NL
+1578613452,1578613455,GB
+1578613456,1578613459,IE
+1578613460,1578613471,FR
+1578613472,1578613475,ES
+1578613476,1578613479,CH
+1578613480,1578613483,GB
+1578613484,1578613503,FR
1578613504,1578613567,DE
1578613568,1578613631,PL
1578613632,1578613647,DE
@@ -57809,8 +67738,7 @@
1578613712,1578613719,BE
1578613720,1578613723,ES
1578613724,1578613727,IT
-1578613728,1578613731,PL
-1578613732,1578613735,FR
+1578613728,1578613735,FR
1578613736,1578613739,PL
1578613740,1578613743,FR
1578613744,1578613751,ES
@@ -57825,7 +67753,8 @@
1578613888,1578613951,ES
1578613952,1578613983,FR
1578613984,1578613999,PL
-1578614000,1578614007,IT
+1578614000,1578614003,FR
+1578614004,1578614007,PL
1578614008,1578614015,DE
1578614016,1578614031,FR
1578614032,1578614047,BE
@@ -57870,9 +67799,13 @@
1579094272,1579094527,NL
1579094528,1579094783,GB
1579094784,1579095039,NL
-1579095040,1579098367,GB
-1579098368,1579098623,NL
-1579098624,1579105023,GB
+1579095040,1579096319,GB
+1579096320,1579096351,DK
+1579096352,1579098367,GB
+1579098368,1579098431,NL
+1579098432,1579099175,GB
+1579099176,1579099183,NL
+1579099184,1579105023,GB
1579105024,1579105087,NL
1579105088,1579105119,DE
1579105120,1579105535,GB
@@ -57890,12 +67823,16 @@
1580015616,1580048383,UA
1580048384,1580064767,RU
1580064768,1580072959,DE
-1580072960,1580079103,PT
-1580079104,1580079359,US
-1580079360,1580104959,PT
+1580072960,1580075071,PT
+1580075072,1580075199,GB
+1580075200,1580104959,PT
1580104960,1580105215,CH
1580105216,1580134399,PT
-1580134400,1580136447,ES
+1580134400,1580134575,ES
+1580134576,1580134583,GB
+1580134584,1580134591,ES
+1580134592,1580134655,GB
+1580134656,1580136447,ES
1580136448,1580138495,PT
1580138496,1580204031,IT
1580204032,1580335103,RO
@@ -57913,7 +67850,9 @@
1581858816,1581875199,IT
1581875200,1581881343,TR
1581881344,1581881599,GB
-1581881600,1581891583,TR
+1581881600,1581890559,TR
+1581890560,1581891071,GB
+1581891072,1581891583,TR
1581891584,1581907967,RU
1581907968,1581924351,IT
1581924352,1581940735,UA
@@ -57988,7 +67927,8 @@
1583718118,1583722495,GB
1583722496,1583726591,IR
1583726592,1583730687,BG
-1583730688,1583732335,DK
+1583730688,1583730943,EU
+1583730944,1583732335,DK
1583732336,1583732351,A2
1583732352,1583732383,DK
1583732384,1583732399,DE
@@ -58006,11 +67946,31 @@
1583767552,1583771647,AT
1583771648,1583775743,RU
1583775744,1583779839,IT
-1583779840,1583783935,GB
+1583779840,1583780255,GB
+1583780256,1583780263,IT
+1583780264,1583780767,GB
+1583780768,1583780775,IT
+1583780776,1583781127,GB
+1583781128,1583781135,IT
+1583781136,1583781279,GB
+1583781280,1583781295,IT
+1583781296,1583782495,GB
+1583782496,1583782503,IT
+1583782504,1583782527,GB
+1583782528,1583782535,IT
+1583782536,1583782655,GB
+1583782656,1583782663,IT
+1583782664,1583782671,GB
+1583782672,1583782679,IT
+1583782680,1583783767,GB
+1583783768,1583783775,IT
+1583783776,1583783935,GB
1583783936,1583788031,EU
1583788032,1583792127,TM
1583792128,1583796223,IE
-1583796224,1583800319,DE
+1583796224,1583800063,DE
+1583800064,1583800095,AT
+1583800096,1583800319,DE
1583800320,1583804415,ME
1583804416,1583808511,GB
1583808512,1583812607,MD
@@ -58048,7 +68008,9 @@
1583833088,1583837183,CH
1583837184,1583841279,GB
1583841280,1583845375,FR
-1583845376,1583845727,NL
+1583845376,1583845535,NL
+1583845536,1583845567,BE
+1583845568,1583845727,NL
1583845728,1583845743,BE
1583845744,1583848639,NL
1583848640,1583848703,BE
@@ -58083,8 +68045,8 @@
1585205248,1585207295,FR
1585207296,1585209855,NL
1585209856,1585210111,IQ
-1585210112,1585210879,IR
-1585210880,1585211391,NL
+1585210112,1585210367,IR
+1585210368,1585211391,NL
1585211392,1585213439,CZ
1585213440,1585214463,GB
1585214464,1585217535,NL
@@ -58113,13 +68075,11 @@
1585264640,1585265663,MT
1585265664,1585265695,FR
1585265696,1585265727,IM
-1585265728,1585265767,FR
-1585265768,1585265775,IM
-1585265776,1585265919,FR
-1585265920,1585265935,IM
-1585265936,1585266111,FR
+1585265728,1585266111,FR
1585266112,1585266175,IM
-1585266176,1585266687,MT
+1585266176,1585266271,MT
+1585266272,1585266287,MA
+1585266288,1585266687,MT
1585266688,1585270783,DE
1585270784,1585272831,IT
1585272832,1585274879,RU
@@ -58132,7 +68092,8 @@
1585287168,1585289215,CY
1585289216,1585291263,DE
1585291264,1585295359,FR
-1585295360,1585297407,HU
+1585295360,1585297151,HU
+1585297152,1585297407,EU
1585297408,1585299455,RU
1585299456,1585301503,GB
1585301504,1585303551,LU
@@ -58166,6 +68127,7 @@
1585354752,1585356799,RU
1585356800,1585358847,FI
1585358848,1585360895,PT
+1585360896,1585362943,DK
1585362944,1585363455,IT
1585363456,1585363551,ES
1585363552,1585364991,IT
@@ -58319,7 +68281,9 @@
1586423808,1586425855,CZ
1586425856,1586427903,NL
1586427904,1586428159,CH
-1586428160,1586429951,FR
+1586428160,1586429407,FR
+1586429408,1586429423,US
+1586429424,1586429951,FR
1586429952,1586431999,CH
1586432000,1586434047,DK
1586434048,1586436095,BE
@@ -58331,7 +68295,17 @@
1586452480,1586454527,CH
1586454528,1586456575,IT
1586456576,1586458623,GB
-1586458624,1586460671,FR
+1586458624,1586458911,FR
+1586458912,1586458943,BE
+1586458944,1586458975,CH
+1586458976,1586459007,DE
+1586459008,1586459039,ES
+1586459040,1586459071,GB
+1586459072,1586459103,IT
+1586459104,1586459135,NL
+1586459136,1586460527,FR
+1586460528,1586460543,ES
+1586460544,1586460671,FR
1586460672,1586462719,GB
1586462720,1586464767,RU
1586464768,1586466815,ES
@@ -58392,8 +68366,10 @@
1589182464,1589198847,OM
1589198848,1589200895,FR
1589200896,1589202943,IT
-1589202944,1589203455,SE
-1589203456,1589204991,NL
+1589202944,1589203711,SE
+1589203712,1589203967,NL
+1589203968,1589204223,SE
+1589204224,1589204991,NL
1589204992,1589207039,DE
1589207040,1589215231,IT
1589215232,1589247999,GB
@@ -58474,10 +68450,8 @@
1590149120,1590151167,CZ
1590151168,1590153215,TR
1590153216,1590157311,RU
-1590157312,1590157471,IE
-1590157472,1590157823,GB
-1590157824,1590157951,IE
-1590157952,1590161407,GB
+1590157312,1590158335,IE
+1590158336,1590161407,GB
1590161408,1590163455,DE
1590163456,1590165503,NL
1590165504,1590176831,AE
@@ -58503,14 +68477,25 @@
1592054272,1592054527,AE
1592054528,1592054783,NL
1592054784,1592055295,AE
-1592055296,1592057855,NL
+1592055296,1592057623,NL
+1592057624,1592057631,IN
+1592057632,1592057727,NL
+1592057728,1592057735,IN
+1592057736,1592057855,NL
1592057856,1592061951,RS
1592061952,1592066047,RU
1592066048,1592067583,US
1592067584,1592067711,NO
1592067712,1592067839,CY
1592067840,1592068095,NL
-1592068096,1592069119,CY
+1592068096,1592068607,US
+1592068608,1592068863,CY
+1592068864,1592068895,US
+1592068896,1592068927,NL
+1592068928,1592068959,US
+1592068960,1592068991,CY
+1592068992,1592069087,US
+1592069088,1592069119,CY
1592069120,1592069135,RU
1592069136,1592069247,CY
1592069248,1592069375,RU
@@ -58623,9 +68608,7 @@
1593147392,1593163775,RU
1593163776,1593180159,AT
1593180160,1593196543,NO
-1593196544,1593196783,SE
-1593196784,1593196799,GB
-1593196800,1593202687,SE
+1593196544,1593202687,SE
1593202688,1593202815,NO
1593202816,1593203455,SE
1593203456,1593203487,NO
@@ -58749,9 +68732,7 @@
1599143936,1599160319,UA
1599160320,1599176703,IR
1599176704,1599188991,FR
-1599188992,1599189263,DE
-1599189264,1599189311,FR
-1599189312,1599189375,DE
+1599188992,1599189375,DE
1599189376,1599193087,FR
1599193088,1599209471,RU
1599209472,1599242239,IR
@@ -58831,7 +68812,10 @@
1602235968,1602238463,GB
1602238464,1602240511,TR
1602240512,1602242559,BY
-1602242560,1602244607,FR
+1602242560,1602244031,FR
+1602244032,1602244035,GB
+1602244036,1602244039,ES
+1602244040,1602244607,FR
1602244608,1602246655,CH
1602246656,1602248703,NL
1602248704,1602250751,BE
@@ -58841,7 +68825,7 @@
1602255104,1602255359,HU
1602255360,1602255615,US
1602255616,1602255871,PT
-1602255872,1602256895,HU
+1602255872,1602256895,EU
1602256896,1602258943,GB
1602258944,1602260991,RU
1602260992,1602263039,FR
@@ -58858,8 +68842,8 @@
1602273536,1602273791,GB
1602273792,1602274559,IN
1602274560,1602274815,IE
-1602274816,1602275327,IN
-1602275328,1602275679,DE
+1602274816,1602275071,GB
+1602275072,1602275679,DE
1602275680,1602275695,CA
1602275696,1602279423,DE
1602279424,1602281471,GB
@@ -58869,13 +68853,13 @@
1602287616,1602289663,DE
1602289664,1602291711,LB
1602291712,1602293759,SA
+1602293760,1602295807,GB
1602295808,1602297855,NL
1602297856,1602298367,IL
1602298368,1602298431,MT
1602298432,1602298879,IL
1602298880,1602299391,MT
1602299392,1602299903,GB
-1602299904,1602301951,DK
1602301952,1602303999,DE
1602304000,1602306047,RU
1602306048,1602308095,GB
@@ -58924,11 +68908,7 @@
1602392064,1602394111,GB
1602394112,1602396159,FR
1602396160,1602398207,DE
-1602398208,1602399231,TR
-1602399232,1602399359,US
-1602399360,1602399360,TR
-1602399361,1602399487,US
-1602399488,1602400255,TR
+1602398208,1602400255,TR
1602400256,1602402303,RU
1602402304,1602404351,LU
1602404352,1602406399,GB
@@ -59012,22 +68992,16 @@
1603067904,1603071999,GB
1603072000,1603076095,CZ
1603076096,1603080191,RU
-1603080192,1603083007,DE
+1603080192,1603080447,DE
+1603080448,1603080703,FR
+1603080704,1603082751,DE
+1603082752,1603083007,ES
1603083008,1603083263,UA
-1603083264,1603084287,DE
-1603084288,1603085871,IT
-1603085872,1603085879,CH
-1603085880,1603087047,IT
-1603087048,1603087103,DE
-1603087104,1603087199,IT
-1603087200,1603087231,SM
-1603087232,1603087515,IT
-1603087516,1603087517,CH
-1603087518,1603087544,IT
-1603087545,1603087546,CH
-1603087547,1603087644,IT
-1603087645,1603087646,CH
-1603087647,1603088383,IT
+1603083264,1603084031,DE
+1603084032,1603086719,IT
+1603086720,1603086847,GB
+1603086848,1603087103,DE
+1603087104,1603088383,IT
1603088384,1603092479,LB
1603092480,1603100671,NO
1603100672,1603108863,FR
@@ -59044,8 +69018,8 @@
1603146240,1603146751,US
1603146752,1603147007,NL
1603147008,1603147263,US
-1603147264,1603147327,CY
-1603147328,1603147519,NL
+1603147264,1603147391,CY
+1603147392,1603147519,NL
1603147520,1603147775,IL
1603147776,1603148031,US
1603148032,1603148287,IL
@@ -59063,15 +69037,19 @@
1603159520,1603159535,DE
1603159536,1603159551,GB
1603159552,1603159823,DE
-1603159824,1603159839,CH
-1603159840,1603160079,DE
+1603159824,1603159871,CH
+1603159872,1603160079,DE
1603160080,1603160095,NL
-1603160096,1603161007,DE
+1603160096,1603160111,GB
+1603160112,1603160335,DE
+1603160336,1603160351,GB
+1603160352,1603161007,DE
1603161008,1603161023,GB
1603161024,1603161103,DE
1603161104,1603161119,GB
1603161120,1603161135,AT
-1603161136,1603161567,DE
+1603161136,1603161151,GB
+1603161152,1603161567,DE
1603161568,1603161599,FR
1603161600,1603162111,DE
1603162112,1603166207,TJ
@@ -59096,7 +69074,6 @@
1603170048,1603170303,NL
1603170304,1603174399,IE
1603174400,1603178495,TR
-1603178496,1603182591,DK
1603182592,1603186687,FR
1603186688,1603190783,IT
1603190784,1603194879,RU
@@ -59104,7 +69081,9 @@
1603198976,1603203071,IR
1603203072,1603207167,PL
1603207168,1603215359,RU
-1603215360,1603219455,DE
+1603215360,1603217167,DE
+1603217168,1603217183,US
+1603217184,1603219455,DE
1603219456,1603220495,CH
1603220496,1603220503,LI
1603220504,1603223551,CH
@@ -59131,8 +69110,10 @@
1603224896,1603224911,GB
1603224912,1603225007,FR
1603225008,1603225023,MX
-1603225024,1603225159,FR
-1603225160,1603225343,GB
+1603225024,1603225243,FR
+1603225244,1603225247,GB
+1603225248,1603225267,FR
+1603225268,1603225343,GB
1603225344,1603225599,FR
1603225600,1603225607,ES
1603225608,1603225615,GB
@@ -59143,7 +69124,33 @@
1603225648,1603226111,FR
1603226112,1603226623,GB
1603226624,1603227647,FR
-1603227648,1603231743,AT
+1603227648,1603227787,AT
+1603227788,1603227799,DE
+1603227800,1603227843,AT
+1603227844,1603227847,DE
+1603227848,1603227931,AT
+1603227932,1603227935,IT
+1603227936,1603227939,CZ
+1603227940,1603227947,CH
+1603227948,1603227971,IT
+1603227972,1603227983,AT
+1603227984,1603227991,DE
+1603227992,1603228171,AT
+1603228172,1603228175,FR
+1603228176,1603228287,AT
+1603228288,1603228295,IT
+1603228296,1603228399,AT
+1603228400,1603228403,CH
+1603228404,1603228407,DE
+1603228408,1603228415,AT
+1603228416,1603228799,DE
+1603228800,1603228883,AT
+1603228884,1603228887,DE
+1603228888,1603228927,AT
+1603228928,1603228991,DE
+1603228992,1603229047,AT
+1603229048,1603229055,SI
+1603229056,1603231743,AT
1603231744,1603235839,IT
1603235840,1603239935,RU
1603239936,1603244031,CZ
@@ -59170,9 +69177,7 @@
1603980464,1603980479,CH
1603980480,1603980863,GB
1603980864,1603980927,ID
-1603980928,1603981823,GB
-1603981824,1603982079,IE
-1603982080,1603982655,GB
+1603980928,1603982655,GB
1603982656,1603982687,DK
1603982688,1603982719,AN
1603982720,1603982783,GB
@@ -59181,7 +69186,8 @@
1603984896,1603985151,PT
1603985152,1603985279,GB
1603985280,1603985407,BR
-1603985408,1603990271,GB
+1603985408,1603990015,GB
+1603990016,1603990271,GR
1603990272,1603990527,SA
1603990528,1603993599,GB
1603993600,1604009983,ME
@@ -59191,7 +69197,9 @@
1604059136,1604075519,MK
1604075520,1604091903,RU
1604091904,1604108287,BA
-1604108288,1604141055,DE
+1604108288,1604117199,DE
+1604117200,1604117215,GR
+1604117216,1604141055,DE
1604141056,1604157439,RO
1604157440,1604190207,FR
1604190208,1604206591,UA
@@ -59205,10 +69213,8 @@
1604321280,1604386815,PL
1604386816,1604452351,RU
1604452352,1604517887,RO
-1604517888,1604632320,RU
-1604632321,1604632575,UA
-1604632576,1604647679,RU
-1604647680,1604648959,UA
+1604517888,1604583423,RU
+1604583424,1604648959,UA
1604648960,1604714495,RU
1604714496,1604780031,DK
1604780032,1604845567,RU
@@ -59242,9 +69248,9 @@
1604901312,1604901375,SC
1604901376,1604901631,CZ
1604901632,1604901887,SK
-1604901888,1604901919,CZ
-1604901920,1604901935,SK
-1604901936,1604901983,CZ
+1604901888,1604901911,CZ
+1604901912,1604901943,SK
+1604901944,1604901983,CZ
1604901984,1604902142,SK
1604902143,1604902399,CZ
1604902400,1604902911,SK
@@ -59272,7 +69278,23 @@
1605083136,1605091327,BE
1605091328,1605099519,PL
1605099520,1605107711,RU
-1605107712,1605115903,GB
+1605107712,1605109071,GB
+1605109072,1605109079,NL
+1605109080,1605109255,GB
+1605109256,1605109263,IT
+1605109264,1605109719,GB
+1605109720,1605109727,IT
+1605109728,1605111919,GB
+1605111920,1605111927,IT
+1605111928,1605112607,GB
+1605112608,1605112615,IT
+1605112616,1605112959,GB
+1605112960,1605112967,IT
+1605112968,1605114399,GB
+1605114400,1605114407,IT
+1605114408,1605114687,GB
+1605114688,1605114695,IT
+1605114696,1605115903,GB
1605115904,1605124095,RU
1605124096,1605124607,US
1605124608,1605124639,GB
@@ -59289,8 +69311,8 @@
1605125336,1605125343,US
1605125344,1605125375,GB
1605125376,1605125903,US
-1605125904,1605126143,GB
-1605126144,1605127679,US
+1605125904,1605126015,GB
+1605126016,1605127679,US
1605127680,1605127935,GB
1605127936,1605128703,US
1605128704,1605129215,GB
@@ -59302,8 +69324,8 @@
1605130336,1605130495,GB
1605130496,1605131007,US
1605131008,1605131263,GB
-1605131264,1605132031,US
-1605132032,1605132287,GB
+1605131264,1605132095,US
+1605132096,1605132287,GB
1605132288,1605148671,RU
1605148672,1605156863,PT
1605156864,1605165055,JO
@@ -59356,18 +69378,27 @@
1606418432,1607467007,SE
1607467008,1607532543,DE
1607532544,1607569407,SE
-1607569408,1607571455,DK
-1607571456,1607585791,SE
+1607569408,1607572479,DK
+1607572480,1607575551,SE
+1607575552,1607577599,DK
+1607577600,1607581695,SE
+1607581696,1607583743,DK
+1607583744,1607585791,SE
1607585792,1607598079,DK
1607598080,1607610367,IT
1607610368,1607612415,IE
1607612416,1607614463,A2
-1607614464,1607616511,GR
-1607616512,1607630847,A2
+1607614464,1607616511,FR
+1607616512,1607618559,A2
+1607618560,1607622655,GB
+1607622656,1607630847,A2
1607630848,1607633919,IE
1607633920,1607636991,A2
1607636992,1607639039,IE
-1607639040,1607663615,A2
+1607639040,1607647231,A2
+1607647232,1607651327,DE
+1607651328,1607655423,FR
+1607655424,1607663615,A2
1607663616,1607729151,NL
1607729152,1607761919,EG
1607761920,1607766015,SY
@@ -59413,11 +69444,11 @@
1607968768,1607969791,SE
1607970816,1607972863,RU
1607972864,1607974911,NL
-1607979008,1607980031,RU
+1607974912,1607976959,PL
+1607976960,1607980031,RU
1607980032,1607981055,DE
1607981056,1607982079,UA
1607983104,1607984127,GB
-1607984128,1607985151,RU
1607985152,1607986175,PL
1607986176,1607987199,UA
1607988224,1607989247,KG
@@ -59435,20 +69466,16 @@
1611166112,1611166119,NZ
1611166120,1611166167,US
1611166168,1611166175,AF
-1611166176,1611166527,US
-1611166528,1611166559,IN
-1611166560,1611166911,US
-1611166912,1611166943,IN
-1611166944,1611166975,US
-1611166976,1611167039,IN
-1611167040,1611167103,US
-1611167104,1611167167,IN
-1611167168,1611167199,US
+1611166176,1611166343,US
+1611166344,1611166351,VE
+1611166352,1611166559,US
+1611166560,1611166575,HN
+1611166576,1611167199,US
1611167200,1611167231,IN
1611167232,1611167679,US
1611167680,1611167727,SE
-1611167728,1611169279,US
-1611169280,1611169663,IE
+1611167728,1611169023,US
+1611169024,1611169663,IE
1611169664,1611169791,GB
1611169792,1611227135,US
1611227136,1611235327,CA
@@ -59458,9 +69485,7 @@
1612611584,1612636159,CA
1612636160,1612685567,US
1612685568,1612685583,CA
-1612685584,1612686175,US
-1612686176,1612686207,KR
-1612686208,1612687055,US
+1612685584,1612687055,US
1612687056,1612687063,CA
1612687064,1612689087,US
1612689088,1612689151,CA
@@ -59470,11 +69495,7 @@
1613488128,1613492223,CA
1613492224,1613504511,US
1613504512,1613529087,CA
-1613529088,1613536191,US
-1613536192,1613536223,TW
-1613536224,1613536255,US
-1613536256,1613536287,TW
-1613536288,1613545471,US
+1613529088,1613545471,US
1613545472,1613545495,CA
1613545496,1613545503,US
1613545504,1613545551,CA
@@ -59484,51 +69505,25 @@
1613545808,1613545871,CA
1613545872,1613545879,US
1613545880,1613545887,NL
-1613545888,1613546119,CA
-1613546120,1613546127,US
-1613546128,1613546159,CA
+1613545888,1613546159,CA
1613546160,1613546167,US
1613546168,1613546407,CA
1613546408,1613546423,US
-1613546424,1613546543,CA
-1613546544,1613546551,US
-1613546552,1613546607,CA
-1613546608,1613546615,US
-1613546616,1613546663,CA
-1613546664,1613546671,US
-1613546672,1613546679,CA
+1613546424,1613546679,CA
1613546680,1613546695,US
1613546696,1613546703,CA
1613546704,1613546719,US
-1613546720,1613547503,CA
-1613547504,1613547519,US
-1613547520,1613547919,CA
-1613547920,1613547943,US
+1613546720,1613547935,CA
+1613547936,1613547943,US
1613547944,1613548479,CA
1613548480,1613548487,US
1613548488,1613548959,CA
1613548960,1613548967,US
-1613548968,1613548983,CA
-1613548984,1613548991,US
-1613548992,1613549039,CA
-1613549040,1613549047,US
-1613549048,1613549143,CA
-1613549144,1613549167,US
-1613549168,1613549183,CA
-1613549184,1613549191,US
-1613549192,1613549207,CA
-1613549208,1613549319,US
-1613549320,1613550735,CA
+1613548968,1613550735,CA
1613550736,1613550743,US
-1613550744,1613554743,CA
-1613554744,1613554751,US
-1613554752,1613556183,CA
+1613550744,1613556183,CA
1613556184,1613556191,US
-1613556192,1613557007,CA
-1613557008,1613557015,US
-1613557016,1613557087,CA
-1613557088,1613557095,US
-1613557096,1613558359,CA
+1613556192,1613558359,CA
1613558360,1613558375,NL
1613558376,1613565951,CA
1613565952,1613570047,US
@@ -59536,25 +69531,18 @@
1613574144,1613606911,US
1613606912,1613607167,CA
1613607168,1613607423,US
-1613607424,1613607679,GB
-1613607680,1613607935,US
-1613607936,1613615103,CA
+1613607424,1613615103,CA
1613615104,1613635583,US
1613635584,1613639679,CA
-1613639680,1613676543,US
+1613639680,1613640703,US
+1613640704,1613640831,CA
+1613640832,1613676543,US
1613676544,1613680639,CA
-1613680640,1613737983,US
+1613680640,1613703670,US
+1613703671,1613703678,LK
+1613703679,1613737983,US
1613737984,1613742079,CA
-1613742080,1613750591,US
-1613750592,1613750607,BR
-1613750608,1613750639,US
-1613750640,1613750647,PA
-1613750648,1613750655,NL
-1613750656,1613750719,US
-1613750720,1613750727,TW
-1613750728,1613751311,US
-1613751312,1613751319,PA
-1613751320,1613758463,US
+1613742080,1613758463,US
1613758464,1614282751,CA
1614282752,1614741503,US
1614741504,1614757887,CA
@@ -59646,9 +69634,7 @@
1652625696,1652625711,IN
1652625712,1652626055,US
1652626056,1652626063,GB
-1652626064,1652626119,US
-1652626120,1652626127,MX
-1652626128,1652626319,US
+1652626064,1652626319,US
1652626320,1652626327,GB
1652626328,1652626399,US
1652626400,1652626407,IE
@@ -59682,9 +69668,7 @@
1652631344,1652631351,CA
1652631352,1652631535,US
1652631536,1652631551,MY
-1652631552,1652631751,US
-1652631752,1652631759,GB
-1652631760,1652631999,US
+1652631552,1652631999,US
1652632000,1652632015,AE
1652632016,1652632255,US
1652632256,1652632263,IL
@@ -59704,9 +69688,7 @@
1652632936,1652632943,PH
1652632944,1652633159,US
1652633160,1652633167,CA
-1652633168,1652633999,US
-1652634000,1652634007,GB
-1652634008,1652634143,US
+1652633168,1652634143,US
1652634144,1652634151,AE
1652634152,1652634423,US
1652634424,1652634431,CA
@@ -59925,9 +69907,7 @@
1652654720,1652654727,GB
1652654728,1652654783,US
1652654784,1652654815,BD
-1652654816,1652654895,US
-1652654896,1652654911,ZA
-1652654912,1652654927,US
+1652654816,1652654927,US
1652654928,1652654935,GB
1652654936,1652655007,US
1652655008,1652655015,GB
@@ -59943,9 +69923,7 @@
1652655512,1652655519,AU
1652655520,1652655727,US
1652655728,1652655743,GB
-1652655744,1652655871,US
-1652655872,1652655879,CA
-1652655880,1652655887,US
+1652655744,1652655887,US
1652655888,1652655895,IN
1652655896,1652655903,GB
1652655904,1652655943,US
@@ -59961,9 +69939,7 @@
1652656440,1652656447,CA
1652656448,1652656671,US
1652656672,1652656679,GB
-1652656680,1652656703,US
-1652656704,1652656711,CA
-1652656712,1652656719,US
+1652656680,1652656719,US
1652656720,1652656727,NZ
1652656728,1652656759,US
1652656760,1652656767,CN
@@ -60117,9 +70093,7 @@
1652672464,1652672471,IN
1652672472,1652672479,ZA
1652672480,1652672487,IN
-1652672488,1652672799,US
-1652672800,1652672807,CA
-1652672808,1652673279,US
+1652672488,1652673279,US
1652673280,1652673535,CA
1652673536,1652674063,US
1652674064,1652674071,CA
@@ -60178,17 +70152,13 @@
1652680744,1652680751,CA
1652680752,1652681047,US
1652681048,1652681055,GB
-1652681056,1652681159,US
-1652681160,1652681167,CA
-1652681168,1652681455,US
+1652681056,1652681455,US
1652681456,1652681463,CA
1652681464,1652681471,US
1652681472,1652681479,GB
1652681480,1652681511,US
1652681512,1652681519,IL
-1652681520,1653496847,US
-1653496848,1653496863,AU
-1653496864,1653534719,US
+1652681520,1653534719,US
1653534720,1653538815,CA
1653538816,1653555199,US
1653555200,1653560319,CA
@@ -60207,13 +70177,7 @@
1654554624,1654558719,CA
1654558720,1654583103,US
1654583104,1654583135,CA
-1654583136,1654597823,US
-1654597824,1654597855,GB
-1654597856,1654599455,US
-1654599456,1654599471,CA
-1654599472,1654599487,US
-1654599488,1654599519,BA
-1654599520,1654648831,US
+1654583136,1654648831,US
1654648832,1654652927,CA
1654652928,1665833175,US
1665833176,1665833183,A2
@@ -60254,17 +70218,15 @@
1673566848,1673566911,CA
1673566912,1673566975,US
1673566976,1673567007,CA
-1673567008,1673567087,US
-1673567088,1673567167,GB
+1673567008,1673567103,US
+1673567104,1673567167,GB
1673567168,1673567263,US
1673567264,1673567279,AT
-1673567280,1673567311,US
-1673567312,1673567327,GB
+1673567280,1673567327,US
1673567328,1673567343,RU
1673567344,1673567359,US
1673567360,1673567423,MT
-1673567424,1673567567,US
-1673567568,1673567583,CZ
+1673567424,1673567583,US
1673567584,1673567615,CA
1673567616,1673567743,CZ
1673567744,1673567791,US
@@ -60276,9 +70238,7 @@
1673568256,1673568271,CA
1673568272,1673568303,US
1673568304,1673568319,GB
-1673568320,1673568383,US
-1673568384,1673568447,CA
-1673568448,1673569023,US
+1673568320,1673569023,US
1673569024,1673569039,CA
1673569040,1673569055,HR
1673569056,1673569103,US
@@ -60295,9 +70255,7 @@
1673571680,1673571711,CA
1673571712,1673572095,US
1673572096,1673572351,LT
-1673572352,1673572383,US
-1673572384,1673572399,EC
-1673572400,1673572895,US
+1673572352,1673572895,US
1673572896,1673572911,CA
1673572912,1673573183,US
1673573184,1673573247,CA
@@ -60320,7 +70278,12 @@
1673986048,1674051583,CA
1674051584,1674575871,US
1674575872,1677721599,CA
-1677721600,1681915903,US
+1677721600,1680535551,US
+1680535552,1680539647,CA
+1680539648,1680564223,US
+1680564224,1680572415,CA
+1680572416,1681915903,US
+1686110208,1686126591,US
1694498816,1694499839,CN
1694499840,1694500863,ID
1694500864,1694507007,JP
@@ -60686,8 +70649,72 @@
1728431872,1728432127,SG
1728432128,1728433151,IN
1728433152,1728435199,VN
-1728435200,1728435711,AU
+1728435200,1728435967,AU
+1728435968,1728436223,ID
1728436224,1728437247,IN
+1728437248,1728438271,HK
+1728438272,1728439295,NZ
+1728439296,1728439807,NP
+1728439808,1728440319,AU
+1728440320,1728441343,BD
+1728441344,1728442367,MY
+1728442368,1728443391,SG
+1728443392,1728444415,IN
+1728444416,1728445439,JP
+1728445440,1728446463,CN
+1728446464,1728446975,ID
+1728446976,1728447487,IN
+1728447488,1728448511,HK
+1728448512,1728449535,KH
+1728449536,1728450559,AU
+1728450560,1728452607,JP
+1728452608,1728453119,AU
+1728453120,1728453631,IN
+1728453632,1728454655,NZ
+1728454656,1728455167,IN
+1728455168,1728455423,ID
+1728455424,1728455679,AU
+1728455680,1728457727,ID
+1728457728,1728458751,JP
+1728458752,1728459775,HK
+1728459776,1728460799,ID
+1728460800,1728462847,JP
+1728462848,1728463871,NZ
+1728463872,1728464895,JP
+1728464896,1728465919,KR
+1728465920,1728466943,CN
+1728466944,1728467967,KR
+1728467968,1728469247,IN
+1728469248,1728469503,NZ
+1728469504,1728470015,HK
+1728470016,1728471039,JP
+1728471040,1728472063,PH
+1728472064,1728473087,KR
+1728473088,1728473343,IN
+1728473344,1728473599,AU
+1728473600,1728474111,SG
+1728474112,1728475135,IN
+1728475136,1728476159,JP
+1728476160,1728476415,AU
+1728476416,1728476927,ID
+1728476928,1728477183,IN
+1728477184,1728480255,HK
+1728480256,1728481279,IN
+1728481280,1728483327,HK
+1728483328,1728484351,NZ
+1728484352,1728485375,SG
+1728485376,1728486399,HK
+1728486400,1728487423,IN
+1728487424,1728487935,HK
+1728487936,1728488191,TH
+1728488192,1728488447,MY
+1728488448,1728488703,IN
+1728488704,1728488959,TH
+1728488960,1728489215,HK
+1728489216,1728490495,IN
+1728490496,1728491519,KR
+1728491520,1728492543,HK
+1728492544,1728492799,ID
1728708608,1728709631,CN
1728709632,1728710655,TW
1728710656,1728710911,AU
@@ -60765,6 +70792,77 @@
1728772096,1728773375,IN
1728773376,1728773631,ID
1728773632,1728774143,PH
+1728774144,1728775167,AU
+1728775168,1728776191,JP
+1728776192,1728777215,AU
+1728777216,1728778239,TH
+1728778240,1728779263,JP
+1728779264,1728779519,IN
+1728779520,1728779775,NZ
+1728779776,1728780287,ID
+1728780288,1728781311,KR
+1728781312,1728782335,ID
+1728782336,1728783359,LK
+1728783360,1728784383,HK
+1728784384,1728785407,PH
+1728785408,1728786431,KR
+1728786432,1728787455,SG
+1728787456,1728788479,AU
+1728788480,1728789503,KR
+1728789504,1728790527,PK
+1728790528,1728791551,PH
+1728791552,1728792575,PK
+1728792576,1728793087,NZ
+1728793088,1728793599,ID
+1728793600,1728794623,AU
+1728794624,1728796671,IN
+1728796672,1728798719,HK
+1728798720,1728799743,ID
+1728799744,1728801279,HK
+1728801280,1728801791,ID
+1728801792,1728802815,HK
+1728802816,1728803839,PH
+1728803840,1728804863,IN
+1728804864,1728805887,JP
+1728805888,1728806911,NZ
+1728806912,1728807935,KR
+1728807936,1728808959,ID
+1728808960,1728809983,BD
+1728809984,1728810495,SG
+1728810496,1728810751,AU
+1728810752,1728811007,SG
+1728811008,1728812031,AU
+1728812032,1728812543,ID
+1728812544,1728813055,SG
+1728813056,1728814079,IN
+1728814080,1728815103,JP
+1728815104,1728818175,AU
+1728818176,1728819199,VN
+1728819200,1728819711,ID
+1728819712,1728819967,NZ
+1728819968,1728820223,ID
+1728820224,1728821247,CN
+1728821248,1728821759,AU
+1728821760,1728822271,ID
+1728822272,1728823295,SG
+1728823296,1728824319,MN
+1728824320,1728825343,JP
+1728825344,1728826367,SG
+1728826368,1728827391,AU
+1728827392,1728828415,JP
+1728828416,1728829439,AU
+1728829440,1728830463,KH
+1728830464,1728830719,SG
+1728830720,1728830975,JP
+1728830976,1728831487,ID
+1728831488,1728832511,IN
+1728832512,1728833535,HK
+1728833536,1728834559,IN
+1728834560,1728835583,JP
+1728835584,1728836607,NZ
+1728836608,1728837631,HK
+1728837632,1728838655,KR
+1728838656,1728839679,ID
1729495040,1729519615,CN
1729519616,1729520639,HK
1729520640,1729527807,CN
@@ -60801,6 +70899,141 @@
1729557504,1729558527,HK
1729558528,1729559551,ID
1729559552,1729560575,CN
+1729560576,1729561599,AU
+1729561600,1729562623,JP
+1729562624,1729563647,CN
+1729563648,1729564671,JP
+1729564672,1729565695,NZ
+1729565696,1729566719,ID
+1729566720,1729568255,IN
+1729568256,1729568511,ID
+1729568768,1729569791,ID
+1729569792,1729570815,AF
+1729570816,1729571839,AU
+1729571840,1729572863,MY
+1729572864,1729573887,MN
+1729573888,1729574911,NC
+1729574912,1729575935,CN
+1729575936,1729576959,BD
+1729576960,1729577983,AU
+1729577984,1729578495,HK
+1729578496,1729578751,AU
+1729578752,1729579007,MY
+1729579008,1729580031,JP
+1729580032,1729581055,SG
+1729581056,1729583103,KR
+1729583104,1729584127,JP
+1729584128,1729585151,SG
+1729585152,1729586175,HK
+1729586176,1729587199,ID
+1729587200,1729588223,AU
+1729588224,1729589247,TW
+1729589248,1729590271,AU
+1729590272,1729590783,ID
+1729590784,1729591295,IN
+1729591296,1729592319,TH
+1729592320,1729593343,IN
+1729593344,1729594367,JP
+1729594368,1729596415,KH
+1729596416,1729596671,IN
+1729596672,1729596927,ID
+1729596928,1729597439,NZ
+1729597440,1729598463,VN
+1729598464,1729598975,AU
+1729598976,1729599231,IN
+1729599232,1729599487,ID
+1729599488,1729600511,AU
+1729600512,1729601535,VN
+1729601536,1729603583,CN
+1729603584,1729604607,BD
+1729604608,1729605119,AU
+1729605120,1729605375,PH
+1729605376,1729605631,ID
+1729605632,1729606655,CN
+1729606656,1729607679,ID
+1729607680,1729609727,AU
+1729609728,1729610751,HK
+1729610752,1729611775,JP
+1729611776,1729612799,ID
+1729612800,1729613823,JP
+1729613824,1729614847,SG
+1729614848,1729615103,NZ
+1729615104,1729615359,KH
+1729615360,1729615871,IN
+1729615872,1729616895,AU
+1729616896,1729617919,JP
+1729617920,1729618943,ID
+1729618944,1729619967,CN
+1729619968,1729620991,ID
+1729620992,1729622015,IN
+1729622016,1729623295,ID
+1729623296,1729623551,AU
+1729623552,1729623807,TH
+1729623808,1729624063,AF
+1729624064,1729626111,JP
+1729888256,1729889279,KH
+1729889280,1729891327,CN
+1729891328,1729892351,ID
+1729892352,1729893375,PH
+1729893376,1729893631,AU
+1729893632,1729894399,ID
+1729894400,1729896447,JP
+1729896448,1729898495,VN
+1729898496,1729899519,AU
+1729899520,1729900543,HK
+1729900544,1729901567,AU
+1729901568,1729902079,BD
+1729902080,1729902591,SG
+1729902592,1729903615,ID
+1729903616,1729905663,KR
+1729905664,1729906687,PH
+1729906688,1729906943,AU
+1729906944,1729907199,JP
+1729907200,1729907711,ID
+1729907712,1729908735,HK
+1729908736,1729909759,ID
+1729909760,1729910783,NP
+1729910784,1729911807,MY
+1729911808,1729912063,AU
+1729912064,1729912831,ID
+1729912832,1729913855,JP
+1729913856,1729914879,TH
+1729914880,1729915135,ID
+1729915136,1729915391,IN
+1729915392,1729918975,ID
+1729918976,1729919999,BD
+1729920000,1729921023,TH
+1729921024,1729922047,AU
+1729922048,1729923071,AF
+1729923072,1729924095,VN
+1729924096,1729925119,IN
+1729925120,1729926143,HK
+1729926144,1729926655,ID
+1729926656,1729928191,PK
+1729928192,1729929215,IN
+1729929216,1729929471,AU
+1729929472,1729929727,ID
+1729929728,1729929983,MY
+1729929984,1729930239,ID
+1729930240,1729932287,JP
+1729932288,1729933311,VN
+1729933312,1729934335,ID
+1729934336,1729935359,IN
+1729935360,1729936383,JP
+1729936384,1729938431,ID
+1729938432,1729939455,AU
+1729939456,1729939967,TW
+1729939968,1729940479,PH
+1729940480,1729941503,CN
+1729941504,1729942527,SG
+1729942528,1729943551,IN
+1729943552,1729944063,AU
+1729944064,1729946623,ID
+1729946624,1729949695,JP
+1729949696,1729950207,IN
+1729950208,1729950719,KH
+1729950720,1729952767,JP
+1729952768,1729953791,IN
1729953792,1729954815,MY
1729954816,1729955839,ID
1729955840,1729956863,BD
@@ -60937,9 +71170,76 @@
1744235520,1744236543,KR
1744236544,1744237567,IN
1744237568,1744238591,HK
-1744238592,1744238847,US
-1744238848,1744239615,NZ
+1744238592,1744239103,US
+1744239104,1744239615,NZ
1744239616,1744240639,JP
+1744240640,1744241663,AU
+1744241664,1744242687,JP
+1744242688,1744245503,ID
+1744245504,1744245759,AU
+1744245760,1744247807,ID
+1744247808,1744248831,IN
+1744248832,1744250367,ID
+1744250368,1744250879,PH
+1744250880,1744251903,ID
+1744251904,1744252927,BD
+1744252928,1744253951,LK
+1744253952,1744254975,JP
+1744254976,1744255999,NZ
+1744256000,1744257023,TH
+1744257024,1744257535,AU
+1744257536,1744257791,PK
+1744257792,1744258047,AU
+1744258048,1744259071,JP
+1744259072,1744260095,NZ
+1744260096,1744261119,AU
+1744261120,1744262143,IN
+1744262144,1744264191,JP
+1744264192,1744265215,HK
+1744265216,1744266239,IN
+1744266240,1744267263,ID
+1744267264,1744268287,IN
+1744268288,1744269311,HK
+1744269312,1744270335,TW
+1744270336,1744270591,AU
+1744270592,1744270847,ID
+1744270848,1744271359,AU
+1744271360,1744272383,ID
+1744272384,1744272895,PK
+1744272896,1744273407,ID
+1744273408,1744274431,AU
+1744274432,1744275455,SG
+1744275456,1744278527,HK
+1744278528,1744279551,IN
+1744279552,1744280575,NZ
+1744280576,1744283647,HK
+1744283648,1744286719,CN
+1744286720,1744287743,ID
+1744287744,1744288767,AU
+1744288768,1744289791,JP
+1744289792,1744290815,NZ
+1744290816,1744291327,ID
+1744291328,1744291583,AF
+1744291584,1744291839,SG
+1744291840,1744292863,CN
+1744292864,1744293887,SG
+1744293888,1744294655,IN
+1744294656,1744294911,ID
+1744294912,1744295935,CN
+1744295936,1744296959,ID
+1744296960,1744297983,KR
+1744297984,1744298495,AU
+1744298496,1744299007,ID
+1744299008,1744300031,HK
+1744300032,1744301055,KR
+1744301056,1744301567,AU
+1744301568,1744302079,BD
+1744302080,1744303103,JP
+1744303104,1744303615,ID
+1744303616,1744303871,IN
+1744303872,1744304127,NZ
+1744304128,1744305151,AU
+1744305152,1744306175,PH
1769996288,1772093439,MA
1778384896,1778385151,CN
1778385152,1778385407,AU
@@ -60988,23 +71288,102 @@
1795556320,1795556351,US
1795556352,1795556607,GB
1795556608,1795556639,US
-1795556640,1795556671,CA
-1795556672,1795556735,US
-1795556736,1795556863,CA
-1795556864,1795556991,US
+1795556640,1795556735,CA
+1795556736,1795556927,US
+1795556928,1795556959,CA
+1795556960,1795556991,US
1795556992,1795557119,CA
-1795557120,1795557375,US
-1795557376,1795557887,IN
-1795557888,1795558143,US
-1795558144,1795558655,IN
-1795558656,1795559423,US
+1795557120,1795557135,US
+1795557136,1795557143,CA
+1795557144,1795557151,US
+1795557152,1795557215,CA
+1795557216,1795557247,US
+1795557248,1795557375,CA
+1795557376,1795557631,IN
+1795557632,1795559423,US
1795559424,1795559679,AR
1795559680,1795559743,US
1795559744,1795559807,AE
-1795559808,1795561471,US
-1795561472,1795561983,CA
-1795561984,1803550719,US
-1809842176,1815822335,US
+1795559808,1795560447,US
+1795560448,1795560959,CA
+1795560960,1795561471,US
+1795561472,1795562239,CA
+1795562240,1795565631,US
+1795565632,1795565719,CA
+1795565720,1795565759,US
+1795565760,1795565791,CA
+1795565792,1795565807,US
+1795565808,1795566143,CA
+1795566144,1795566207,US
+1795566208,1795566231,CA
+1795566232,1795566239,US
+1795566240,1795566303,CA
+1795566304,1795566335,US
+1795566336,1795566591,CA
+1795566592,1795567615,US
+1795567616,1795567663,CA
+1795567664,1795567679,US
+1795567680,1795567695,CA
+1795567696,1795567711,US
+1795567712,1795567735,CA
+1795567736,1795567743,US
+1795567744,1795567775,CA
+1795567776,1795567791,US
+1795567792,1795567807,CA
+1795567808,1795568127,US
+1795568128,1795568639,CA
+1795568640,1795570943,US
+1795570944,1795571199,CA
+1795571200,1796257919,US
+1796257920,1796258047,PR
+1796258048,1796262911,US
+1796262912,1796263167,PR
+1796263168,1796325375,US
+1796325376,1796325631,PR
+1796325632,1803550719,US
+1809842176,1815805951,US
+1815805952,1815806207,FR
+1815806208,1815806719,US
+1815806720,1815806847,GB
+1815806848,1815806917,US
+1815806918,1815806925,AR
+1815806926,1815807302,US
+1815807303,1815807312,DE
+1815807313,1815807776,US
+1815807777,1815807794,GB
+1815807795,1815807839,US
+1815807840,1815807906,GB
+1815807907,1815808292,US
+1815808293,1815808300,GB
+1815808301,1815808304,US
+1815808305,1815808314,GB
+1815808315,1815808586,US
+1815808587,1815808598,AE
+1815808599,1815808719,US
+1815808720,1815808731,GB
+1815808732,1815808737,US
+1815808738,1815808758,GB
+1815808759,1815808844,US
+1815808845,1815808857,GB
+1815808858,1815809005,US
+1815809006,1815809015,GB
+1815809016,1815809196,US
+1815809197,1815809205,IE
+1815809206,1815809319,US
+1815809320,1815809327,NL
+1815809328,1815809471,US
+1815809472,1815809503,DK
+1815809504,1815809504,US
+1815809505,1815809513,GB
+1815809514,1815809644,US
+1815809645,1815809654,AN
+1815809655,1815809664,US
+1815809665,1815809686,DK
+1815809687,1815809702,US
+1815809703,1815809721,DK
+1815809722,1815809766,US
+1815809767,1815809784,DK
+1815809785,1815822335,US
1815822336,1815826431,CA
1815826432,1815871487,US
1815871488,1815879679,CA
@@ -61012,14 +71391,119 @@
1815912448,1815920639,CA
1815920640,1815928831,US
1815928832,1815937023,BS
-1815937024,1816024319,US
+1815937024,1815957823,US
+1815957824,1815957887,A1
+1815957888,1816001791,US
+1816001792,1816002559,NL
+1816002560,1816007167,US
+1816007168,1816007175,CA
+1816007176,1816024319,US
1816024320,1816024575,CA
-1816024576,1816068095,US
+1816024576,1816031343,US
+1816031344,1816031351,CA
+1816031352,1816068095,US
1816068096,1816133631,CA
1816133632,1822429183,US
1822429184,1822433279,CA
-1822687232,1822752767,US
-1824522240,1828716543,US
+1822433280,1822445567,US
+1822445568,1822453759,CA
+1822453760,1822486527,US
+1822486528,1822490623,CA
+1822490624,1822498815,US
+1822498816,1822502911,CA
+1822502912,1822519295,US
+1822519296,1822523391,CA
+1822523392,1822531583,US
+1822531584,1822535679,CA
+1822535680,1822572543,US
+1822572544,1822605311,CA
+1822605312,1822654463,US
+1822654464,1822670847,CA
+1822670848,1822818367,US
+1822818368,1822818375,CA
+1822818376,1822818999,US
+1822819000,1822819007,CA
+1822819008,1822819031,US
+1822819032,1822819039,IL
+1822819040,1822819215,US
+1822819216,1822819223,CA
+1822819224,1822819347,US
+1822819348,1822819351,NO
+1822819352,1822819355,US
+1822819356,1822819359,AU
+1822819360,1822819563,US
+1822819564,1822819567,AU
+1822819568,1822819839,US
+1822819840,1822819843,PE
+1822819844,1822819891,US
+1822819892,1822819895,CA
+1822819896,1822820039,US
+1822820040,1822820043,IL
+1822820044,1822820147,US
+1822820148,1822820151,AU
+1822820152,1822820195,US
+1822820196,1822820199,AU
+1822820200,1822820327,US
+1822820328,1822820331,AU
+1822820332,1822821183,US
+1822821184,1822821199,IN
+1822821200,1822822135,US
+1822822136,1822822183,IL
+1822822184,1822822239,US
+1822822240,1822822247,IN
+1822822248,1822823423,US
+1822823424,1822823431,CA
+1822823432,1822826151,US
+1822826152,1822826175,IL
+1822826176,1822826207,US
+1822826208,1822826215,AU
+1822826216,1822949375,US
+1822949376,1822982143,CA
+1822982144,1823081359,US
+1823081360,1823081367,CA
+1823081368,1823081975,US
+1823081976,1823081983,ID
+1823081984,1823082199,US
+1823082200,1823082207,TR
+1823082208,1823113215,US
+1823113216,1823129599,CA
+1823129600,1823162367,US
+1823162368,1823170559,CA
+1823170560,1823211519,US
+1823211520,1823342591,CA
+1823342592,1823346687,US
+1823346688,1823350783,CA
+1823350784,1823354879,US
+1823354880,1823354895,GB
+1823354896,1823354903,BE
+1823354904,1823354927,US
+1823354928,1823354935,VE
+1823354936,1823355039,US
+1823355040,1823355047,GB
+1823355048,1823355055,US
+1823355056,1823355063,GB
+1823355064,1823355071,US
+1823355072,1823355087,SE
+1823355088,1823355095,US
+1823355096,1823355111,SE
+1823355112,1823355119,US
+1823355120,1823355127,VE
+1823355128,1823355135,US
+1823355136,1823355263,GB
+1823355264,1823355391,US
+1823355392,1823355455,ES
+1823355456,1823375359,US
+1823375360,1823379455,CA
+1823379456,1823383551,US
+1823383552,1823387647,CA
+1823387648,1823428607,US
+1823428608,1823432703,CA
+1823432704,1823465471,US
+1823465472,1823469567,CA
+1823469568,1823735807,US
+1824522240,1826955551,US
+1826955552,1826955559,AD
+1826955560,1828716543,US
1828716544,1830813695,FR
1830813696,1831337983,NL
1831337984,1831862271,DE
@@ -61139,9 +71623,15 @@
1833351168,1833353215,RU
1833353216,1833355263,DE
1833355264,1833357311,IT
-1833357312,1833358127,GB
-1833358128,1833358135,IE
-1833358136,1833359359,GB
+1833357312,1833357631,IE
+1833357632,1833357647,GB
+1833357648,1833357903,IE
+1833357904,1833358079,GB
+1833358080,1833358619,IE
+1833358620,1833358847,GB
+1833358848,1833359071,IE
+1833359072,1833359103,GB
+1833359104,1833359359,IE
1833359360,1833361407,DE
1833361408,1833363455,GB
1833363456,1833365503,RU
@@ -61163,7 +71653,9 @@
1833390208,1833390335,US
1833390336,1833391871,GB
1833391872,1833392127,US
-1833392128,1833396223,CH
+1833392128,1833394239,CH
+1833394240,1833394255,EU
+1833394256,1833396223,CH
1833396224,1833398271,NL
1833398272,1833400319,DE
1833400320,1833402367,GB
@@ -61175,7 +71667,10 @@
1833406864,1833406912,GB
1833406913,1833406919,CA
1833406920,1833408511,GB
-1833408512,1833410559,RS
+1833408512,1833409535,RS
+1833409536,1833410047,AL
+1833410048,1833410303,RS
+1833410304,1833410559,AL
1833410560,1833412607,PT
1833412608,1833414655,GB
1833414656,1833416703,RU
@@ -61237,8 +71732,8 @@
1833558016,1833562111,RO
1833562112,1833566207,PS
1833566208,1833570303,SE
-1833570304,1833571327,GB
-1833571328,1833574399,NL
+1833570304,1833573631,GB
+1833573632,1833574399,NL
1833574400,1833578495,YE
1833578496,1833582591,HU
1833582592,1833586687,TJ
@@ -61272,13 +71767,19 @@
1833672704,1833676799,GB
1833676800,1833677567,DE
1833677568,1833677599,CH
-1833677600,1833678903,DE
-1833678904,1833678935,HK
-1833678936,1833678959,DE
-1833678960,1833678975,BA
-1833678976,1833680895,DE
+1833677600,1833677775,DE
+1833677776,1833677783,FR
+1833677784,1833680895,DE
1833680896,1833684991,UA
-1833684992,1833689087,DE
+1833684992,1833685015,DE
+1833685016,1833685023,LU
+1833685024,1833685067,DE
+1833685068,1833685071,GB
+1833685072,1833685847,DE
+1833685848,1833685851,IE
+1833685852,1833685855,DE
+1833685856,1833685871,IE
+1833685872,1833689087,DE
1833689088,1833693183,FI
1833693184,1833697279,RU
1833697280,1833959423,IE
@@ -61387,11 +71888,33 @@
1835892736,1835909119,GB
1835909120,1835913215,RS
1835913216,1835917311,RU
-1835917312,1835920127,GB
-1835920128,1835920199,PT
+1835917312,1835917607,GB
+1835917608,1835917615,IT
+1835917616,1835918519,GB
+1835918520,1835918527,IT
+1835918528,1835918567,GB
+1835918568,1835918575,IT
+1835918576,1835918911,GB
+1835918912,1835918919,IT
+1835918920,1835920103,GB
+1835920104,1835920111,IT
+1835920112,1835920127,GB
+1835920128,1835920159,PT
+1835920160,1835920191,GB
+1835920192,1835920199,PT
1835920200,1835920207,GB
-1835920208,1835920319,PT
-1835920320,1835925503,GB
+1835920208,1835920215,PT
+1835920216,1835920223,GB
+1835920224,1835920279,PT
+1835920280,1835920287,GB
+1835920288,1835920359,PT
+1835920360,1835920367,GB
+1835920368,1835920375,PT
+1835920376,1835920479,GB
+1835920480,1835920487,IT
+1835920488,1835920775,GB
+1835920776,1835920783,IT
+1835920784,1835925503,GB
1835925504,1835933695,LV
1835933696,1835941887,RU
1835941888,1835950079,UA
@@ -61401,7 +71924,9 @@
1835974656,1835982847,PL
1835982848,1835991039,CY
1835991040,1835999231,RU
-1835999232,1836007423,IR
+1835999232,1836000255,IR
+1836000256,1836001023,EU
+1836001024,1836007423,IR
1836007424,1836015615,RU
1836015616,1836023807,AD
1836023808,1836040191,RU
@@ -61455,7 +71980,15 @@
1839450112,1839452159,NO
1839452160,1839454207,FI
1839454208,1839456255,RU
-1839456256,1839460351,RO
+1839456256,1839457759,RO
+1839457760,1839457775,SC
+1839457776,1839458687,RO
+1839458688,1839458719,IN
+1839458720,1839459327,RO
+1839459328,1839460047,DE
+1839460048,1839460095,RO
+1839460096,1839460127,DE
+1839460128,1839460351,RO
1839460352,1839462399,RU
1839462400,1839464447,FI
1839464448,1839497215,CZ
@@ -61465,21 +71998,25 @@
1839595520,1839661055,RO
1839661056,1839693823,UA
1839693824,1839726591,RU
-1839726592,1839756327,IT
+1839726592,1839753535,IT
+1839753536,1839753543,ES
+1839753544,1839756327,IT
1839756328,1839756335,FR
1839756336,1839759359,IT
1839759360,1839792127,RU
-1839792128,1839794687,GB
-1839794688,1839794943,US
-1839794944,1839795151,GB
+1839792128,1839795151,GB
1839795152,1839795167,US
1839795168,1839796607,GB
1839796608,1839796671,US
1839796672,1839797759,GB
1839797760,1839798015,GR
-1839798016,1839798527,GB
+1839798016,1839798271,GB
+1839798272,1839798399,US
+1839798400,1839798527,GB
1839798528,1839798559,US
-1839798560,1839800447,GB
+1839798560,1839800127,GB
+1839800128,1839800159,US
+1839800160,1839800447,GB
1839800448,1839800479,SG
1839800480,1839800895,GB
1839800896,1839800959,CY
@@ -61493,9 +72030,7 @@
1839802240,1839806463,GB
1839806464,1839811071,US
1839811072,1839812607,GB
-1839812608,1839813119,US
-1839813120,1839813631,GB
-1839813632,1839814143,US
+1839812608,1839814143,US
1839814144,1839816703,GB
1839816704,1839824895,NO
1839824896,1839890431,RU
@@ -61595,6 +72130,9 @@
1841954816,1841971199,RU
1841971200,1841979391,CZ
1841979392,1841983487,NL
+1841983488,1841983999,GI
+1841984000,1841985535,IM
+1841985536,1841987583,SI
1841987584,1841995775,DK
1841995776,1842003967,RU
1842003968,1842012159,CH
@@ -61616,15 +72154,19 @@
1842151424,1842153471,FR
1842153472,1842153567,NO
1842153568,1842153575,GB
-1842153576,1842153823,NO
+1842153576,1842153639,NO
+1842153640,1842153647,NE
+1842153648,1842153663,NO
+1842153664,1842153679,NL
+1842153680,1842153687,NO
+1842153688,1842153695,NL
+1842153696,1842153823,NO
1842153824,1842153855,GB
1842153856,1842153887,NO
1842153888,1842153919,DE
1842153920,1842153951,NE
1842153952,1842153983,NO
-1842153984,1842154015,US
-1842154016,1842154031,NO
-1842154032,1842154047,US
+1842153984,1842154047,US
1842154048,1842154111,NO
1842154112,1842154115,US
1842154116,1842154119,NO
@@ -61633,7 +72175,12 @@
1842154240,1842154247,HK
1842154248,1842154367,NO
1842154368,1842154431,US
-1842154432,1842155519,NO
+1842154432,1842154495,NO
+1842154496,1842154751,US
+1842154752,1842154815,AU
+1842154816,1842155007,NO
+1842155008,1842155263,AU
+1842155264,1842155519,SG
1842155520,1842157567,IT
1842157568,1842159615,AE
1842159616,1842161663,BA
@@ -61715,7 +72262,12 @@
1843789824,1843806207,SK
1843806208,1843822591,IR
1843822592,1843838975,RU
-1843838976,1843849215,DE
+1843838976,1843841535,DE
+1843841536,1843841791,CH
+1843841792,1843842047,AU
+1843842048,1843847743,DE
+1843847744,1843847759,GR
+1843847760,1843849215,DE
1843849216,1843850239,GB
1843850240,1843855359,DE
1843855360,1843871743,PL
@@ -61759,7 +72311,8 @@
1843990528,1843992575,LB
1843992576,1843994623,AT
1843994624,1844000767,GB
-1844000768,1844002559,NL
+1844000768,1844001791,NO
+1844001792,1844002559,NL
1844002560,1844002815,NO
1844002816,1844006911,CZ
1844006912,1844008959,SM
@@ -61792,17 +72345,29 @@
1844058112,1844062207,RU
1844062208,1844064255,CZ
1844064256,1844068351,IT
-1844068352,1844068479,FR
-1844068480,1844070399,ES
+1844068352,1844068607,FR
+1844068608,1844070399,ES
1844070400,1844072447,GB
1844072448,1844076543,ES
-1844076544,1844078591,IE
+1844076544,1844076575,GB
+1844076576,1844076639,IE
+1844076640,1844076655,GB
+1844076656,1844076775,IE
+1844076776,1844076799,GB
+1844076800,1844076991,IE
+1844076992,1844077007,GB
+1844077008,1844077031,IE
+1844077032,1844077055,GB
+1844077056,1844077287,IE
+1844077288,1844077311,GB
+1844077312,1844077455,IE
+1844077456,1844078591,GB
1844078592,1844080127,DE
1844080128,1844080639,PL
1844080640,1844082687,GE
1844082688,1844084055,DE
-1844084056,1844084063,CH
-1844084064,1844084735,DE
+1844084056,1844084071,CH
+1844084072,1844084735,DE
1844084736,1844086783,RU
1844086784,1844088831,IT
1844088832,1844090879,AT
@@ -61831,8 +72396,11 @@
1844131648,1844131711,NL
1844131712,1844131775,RU
1844131776,1844131807,US
-1844131808,1844131839,NL
-1844131840,1844133887,DE
+1844131808,1844131817,NL
+1844131818,1844131839,US
+1844131840,1844131849,DE
+1844131850,1844131865,AT
+1844131866,1844133887,DE
1844133888,1844135935,LT
1844135936,1844137983,NL
1844137984,1844140031,FR
@@ -61842,7 +72410,8 @@
1844146176,1844148223,NO
1844148224,1844150271,GB
1844150272,1844152319,ES
-1844152320,1844154367,DE
+1844152320,1844154355,DE
+1844154356,1844154367,NL
1844154368,1844156415,GB
1844156416,1844158463,IT
1844158464,1844160511,RU
@@ -61860,7 +72429,8 @@
1844169664,1844169679,US
1844169680,1844169687,ZM
1844169688,1844169695,IQ
-1844169696,1844169727,SE
+1844169696,1844169703,KZ
+1844169704,1844169727,SE
1844169728,1844169767,DE
1844169768,1844169951,US
1844169952,1844169983,DE
@@ -61870,15 +72440,28 @@
1844170016,1844170019,NG
1844170020,1844170027,AF
1844170028,1844170031,IQ
-1844170032,1844170043,AF
-1844170044,1844170051,DE
+1844170032,1844170051,AF
1844170052,1844170055,GH
1844170056,1844170063,AF
-1844170064,1844170239,DE
+1844170064,1844170067,DE
+1844170068,1844170071,NG
+1844170072,1844170075,CG
+1844170076,1844170079,DE
+1844170080,1844170083,CG
+1844170084,1844170091,NG
+1844170092,1844170095,ZM
+1844170096,1844170099,AF
+1844170100,1844170103,MA
+1844170104,1844170111,AF
+1844170112,1844170119,DE
+1844170120,1844170123,AF
+1844170124,1844170127,DE
+1844170128,1844170131,NG
+1844170132,1844170239,DE
1844170240,1844170255,AF
1844170256,1844170263,IQ
-1844170264,1844170279,AF
-1844170280,1844170751,DE
+1844170264,1844170295,AF
+1844170296,1844170751,DE
1844170752,1844174847,RU
1844174848,1844178943,DE
1844178944,1844180991,EE
@@ -61917,11 +72500,14 @@
1844219904,1844219919,A2
1844219920,1844219959,LB
1844219960,1844220159,A2
-1844220160,1844220191,IQ
-1844220192,1844220287,DE
+1844220160,1844220287,DE
1844220288,1844220415,LB
1844220416,1844220431,A2
-1844220432,1844223743,DE
+1844220432,1844220927,DE
+1844220928,1844221951,A2
+1844221952,1844222975,DE
+1844222976,1844223487,US
+1844223488,1844223743,DE
1844223744,1844223999,A2
1844224000,1844228095,GB
1844228096,1844228479,DK
@@ -61950,8 +72536,9 @@
1844310016,1844318207,FR
1844318208,1844322303,IT
1844322304,1844326399,CZ
-1844326400,1844329983,DK
-1844329984,1844330495,LU
+1844326400,1844330239,DK
+1844330240,1844330303,LU
+1844330304,1844330495,DK
1844330496,1844334591,GB
1844334592,1844342783,RU
1844342784,1844346879,IT
@@ -62516,7 +73103,9 @@
1908756480,1908760575,KR
1908760576,1908761599,NZ
1908761600,1908762623,CN
-1908762624,1908763647,IN
+1908762624,1908762879,IN
+1908762880,1908763135,HK
+1908763136,1908763647,IN
1908763648,1908764671,ID
1908764672,1908768767,AU
1908768768,1908801535,JP
@@ -62646,9 +73235,8 @@
1921851392,1921853439,JP
1921853440,1921855487,KR
1921855488,1921859583,ID
-1921859584,1921861631,IN
+1921859584,1921861631,CN
1921861632,1921863679,SG
-1921863680,1921865727,BD
1921865728,1921867775,ID
1921867776,1921871871,AU
1921871872,1921875967,NZ
@@ -62670,16 +73258,9 @@
1925611520,1925619711,PH
1925619712,1925627903,TW
1925627904,1925638143,JP
-1925638144,1925638399,SA
-1925638400,1925638655,PK
-1925638656,1925638911,KW
-1925638912,1925639167,EG
-1925639168,1925639423,AE
-1925639424,1925639679,EG
-1925639680,1925639935,KW
-1925639936,1925640191,SA
+1925638144,1925640191,PK
1925640192,1925642239,ID
-1925642240,1925644287,AU
+1925642240,1925644287,CN
1925644288,1925660671,KR
1925660672,1925664767,HK
1925664768,1925677055,ID
@@ -62701,7 +73282,7 @@
1931476992,1931739135,CN
1931739136,1932001279,JP
1932001280,1932132351,KR
-1932132352,1932148735,AU
+1932132352,1932140543,AU
1932148736,1932152831,PK
1932152832,1932156927,TW
1932156928,1932161023,JP
@@ -62716,7 +73297,7 @@
1933770752,1933836287,TH
1933836288,1933901823,KR
1933901824,1933918207,AU
-1933918208,1933922303,KH
+1933918208,1933922303,CN
1933922304,1933926399,IN
1933926400,1933934591,KR
1933934592,1933942783,IN
@@ -62759,9 +73340,7 @@
1937516544,1937518591,IN
1937518592,1937522687,JP
1937522688,1937530879,ID
-1937530880,1937532927,US
-1937532928,1937534463,IN
-1937534464,1937534975,GB
+1937530880,1937534975,IN
1937534976,1937535487,US
1937535488,1937539071,IN
1937539072,1937637375,JP
@@ -62794,7 +73373,7 @@
1940240384,1940242431,JP
1940242432,1940258815,TW
1940258816,1940275199,AU
-1940275200,1940283391,PH
+1940275200,1940283391,CN
1940283392,1940291583,ID
1940291584,1940295679,HK
1940295680,1940324351,JP
@@ -62802,7 +73381,7 @@
1940357120,1940389887,JP
1940389888,1940914175,CN
1940914176,1941045247,JP
-1941045248,1941049343,AP
+1941045248,1941049343,HK
1941049344,1941051391,AU
1941051392,1941052415,KH
1941052416,1941053439,AU
@@ -62832,27 +73411,11 @@
1941831680,1945108479,CN
1945108480,1946157055,IN
1946157056,1946159103,ID
-1946159104,1946161151,MY
+1946159104,1946161151,CN
1946161152,1946163199,AU
-1946163200,1946165247,HK
+1946163200,1946165247,CN
1946165248,1946173439,PK
-1946173440,1946173503,MY
-1946173504,1946173535,SG
-1946173536,1946173567,AP
-1946173568,1946173631,HK
-1946173632,1946173663,AP
-1946173664,1946173679,PH
-1946173680,1946173687,TW
-1946173688,1946173695,AP
-1946173696,1946173951,TW
-1946173952,1946174463,AP
-1946174464,1946174720,SG
-1946174721,1946175487,AP
-1946175488,1946176511,SY
-1946176512,1946176767,PH
-1946176768,1946177535,AP
-1946177536,1946177791,SG
-1946177792,1946181631,AP
+1946173440,1946181631,SG
1946181632,1946189823,MY
1946189824,1946222591,JP
1946222592,1946943487,CN
@@ -62868,13 +73431,12 @@
1947205632,1948254207,CN
1948254208,1949302783,KR
1949302784,1949433855,HK
-1949433856,1949435903,IN
-1949435904,1949437951,HK
+1949433856,1949437951,CN
1949437952,1949439999,AU
1949440000,1949442047,ID
1949442048,1949446143,TW
1949446144,1949448191,JP
-1949448192,1949450239,AU
+1949448192,1949450239,HK
1949450240,1949466623,IN
1949466624,1949499391,PH
1949499392,1949564927,SG
@@ -62890,10 +73452,7 @@
1950089216,1950351359,CN
1950351360,1950482431,JP
1950482432,1950515199,CN
-1950515200,1950518271,US
-1950518272,1950518783,IN
-1950518784,1950519295,NL
-1950519296,1950523391,IN
+1950515200,1950523391,IN
1950523392,1950527487,AU
1950527488,1950531583,JP
1950531584,1950533631,NP
@@ -62909,10 +73468,8 @@
1950621696,1950629887,KR
1950629888,1950646271,IN
1950646272,1950648319,VN
-1950648320,1950650367,PH
1950650368,1950654463,TH
1950654464,1950658559,ID
-1950658560,1950660607,PH
1950660608,1950662655,HK
1950662656,1950666751,BD
1950666752,1950668799,NP
@@ -62979,9 +73536,10 @@
1958845440,1958845695,HK
1958845696,1958845951,MY
1958845952,1958846463,HK
-1958846464,1958848511,IN
+1958846464,1958847487,IN
1958848512,1958850559,BD
-1958850560,1958853631,AU
+1958850560,1958852607,CN
+1958852608,1958853631,AU
1958853632,1958854655,ID
1958854656,1958860799,AU
1958860800,1958862847,BD
@@ -63006,9 +73564,7 @@
1959260160,1959264255,JP
1959264256,1959395327,KR
1959395328,1959526399,IN
-1959526400,1959657471,CN
-1959657472,1959723007,MY
-1959723008,1960050687,CN
+1959526400,1960050687,CN
1960050688,1960058879,KR
1960058880,1960067071,VN
1960067072,1960069119,AU
@@ -63016,9 +73572,7 @@
1960071168,1960075263,TW
1960075264,1960077311,ID
1960077312,1960079359,BD
-1960079360,1960080127,HK
-1960080128,1960080383,CN
-1960080384,1960083455,HK
+1960079360,1960083455,HK
1960083456,1960091647,KH
1960091648,1960095743,CN
1960095744,1960097791,IN
@@ -63034,13 +73588,7 @@
1960187904,1960189951,IN
1960189952,1960202239,CN
1960202240,1960206335,JP
-1960206336,1960210687,SG
-1960210688,1960210943,TH
-1960210944,1960211199,IN
-1960211200,1960213247,SG
-1960213248,1960213503,PH
-1960213504,1960213759,CN
-1960213760,1960214527,SG
+1960206336,1960214527,SG
1960214528,1960574975,CN
1960574976,1960837119,JP
1960837120,1961885695,CN
@@ -63068,16 +73616,14 @@
1964113920,1964118015,HK
1964118016,1964120063,ID
1964120064,1964122111,JP
-1964122112,1964126207,SG
-1964126208,1964126463,HK
-1964126464,1964130303,SG
+1964122112,1964130303,SG
1964130304,1964134399,HK
1964134400,1964136447,NZ
1964136448,1964138495,JP
1964138496,1964146687,HK
1964146688,1964171263,JP
1964171264,1964173311,BD
-1964173312,1964175359,AP
+1964173312,1964175359,AU
1964175360,1964179455,PK
1964179456,1964244991,TW
1964244992,1964249087,AU
@@ -63099,11 +73645,9 @@
1966080000,1966342143,CN
1966342144,1966407679,KR
1966407680,1966417919,JP
-1966417920,1966419967,IN
1966419968,1966424063,CN
1966424064,1966440447,KR
1966440448,1966444543,AU
-1966444544,1966446591,NZ
1966446592,1966447615,MY
1966447616,1966448639,NZ
1966448640,1966452735,AU
@@ -63128,9 +73672,8 @@
1966798848,1966800895,AU
1966800896,1967783935,CN
1967783936,1967800319,JP
-1967800320,1967804415,CN
-1967804416,1967808511,KH
-1967808512,1967812607,AU
+1967800320,1967808511,CN
+1967808512,1967812607,AT
1967812608,1967816703,ID
1967816704,1969225727,CN
1969225728,1969487871,IN
@@ -63143,9 +73686,9 @@
1969676288,1969688575,ID
1969688576,1969692671,CN
1969692672,1969694719,ID
-1969694720,1969696767,PH
+1969694720,1969696767,CN
1969696768,1969702911,ID
-1969702912,1969704959,AU
+1969702912,1969704959,CN
1969704960,1969707007,BD
1969707008,1969709055,MH
1969709056,1969713151,TW
@@ -63159,7 +73702,7 @@
1969733632,1969750015,VN
1969750016,1969790975,JP
1969790976,1969793023,AU
-1969793024,1969795071,AP
+1969793024,1969795071,CN
1969795072,1969797119,NZ
1969797120,1969798143,SG
1969798144,1969799167,HK
@@ -63178,17 +73721,14 @@
1970806784,1970808831,NZ
1970808832,1970810879,AU
1970810880,1970812927,JP
-1970812928,1970814975,LK
1970814976,1970915327,CN
1970915328,1970917375,ID
1970917376,1970921471,TH
1970921472,1970925567,NP
-1970925568,1970926079,SG
-1970926080,1970926335,AU
-1970926336,1970926591,US
-1970926592,1970926847,SG
+1970925568,1970926847,SG
1970926848,1970927103,IL
-1970927104,1970927615,SG
+1970927104,1970927359,SG
+1970927360,1970927615,US
1970927616,1970929663,AU
1970929664,1970962431,VN
1970962432,1970995199,CN
@@ -63239,18 +73779,16 @@
1986265088,1986396159,MY
1986396160,1986398207,VN
1986398208,1986400255,HK
-1986400256,1986404351,CN
-1986404352,1986406399,PH
+1986400256,1986406399,CN
1986406400,1986412543,JP
1986412544,1986428927,AU
1986428928,1986461695,IN
1986461696,1986496511,JP
1986496512,1986498559,BT
1986498560,1986502655,HK
-1986502656,1986510847,KH
1986510848,1986519039,KR
1986519040,1986523135,PK
-1986523136,1986525183,CN
+1986523136,1986525183,HK
1986525184,1986527231,BN
1986527232,1986723839,JP
1986723840,1986740223,AU
@@ -63259,11 +73797,13 @@
1986760704,1986762751,AU
1986762752,1986764799,JP
1986764800,1986768895,KR
-1986768896,1986772991,AU
+1986770944,1986772991,AU
1986772992,1986789375,MY
1986789376,1987051519,JP
1987051520,1988034559,CN
-1988034560,1988083711,AU
+1988034560,1988067327,AU
+1988067328,1988075519,CN
+1988075520,1988083711,AU
1988083712,1988362239,KR
1988362240,1988624383,CN
1988624384,1988755455,ID
@@ -63287,7 +73827,9 @@
1991376896,1991442431,CN
1991442432,1991499775,BD
1991499776,1991507967,NC
-1991507968,1993342975,CN
+1991507968,1992097791,CN
+1992097792,1992163327,HK
+1992163328,1993342975,CN
1993342976,1993605119,AU
1993605120,1993736191,CN
1993736192,1993867263,SG
@@ -63306,7 +73848,9 @@
1996634112,1996636159,NP
1996636160,1996644351,ID
1996644352,1996652543,BT
-1996652544,1997176831,CN
+1996652544,1997078527,CN
+1997078528,1997144063,HK
+1997144064,1997176831,CN
1997176832,1997180927,AU
1997180928,1997185023,HK
1997185024,1997187071,JP
@@ -63348,9 +73892,7 @@
1997725696,1998061567,CN
1998061568,1998258175,JP
1998258176,1998274559,SG
-1998274560,1998290943,CN
-1998290944,1998299135,PH
-1998299136,1998454783,CN
+1998274560,1998454783,CN
1998454784,1998456831,AU
1998456832,1998458879,JP
1998458880,1998462975,TW
@@ -63374,8 +73916,8 @@
1999138816,1999142911,MY
1999142912,1999249407,CN
1999249408,1999257599,PH
-1999257600,1999276031,TH
-1999276032,1999278079,CN
+1999257600,1999273983,TH
+1999273984,1999278079,CN
1999278080,1999280127,HK
1999280128,1999282175,IN
1999282176,1999290367,KR
@@ -63423,7 +73965,8 @@
2001534976,2001559551,AU
2001559552,2001567743,KR
2001567744,2001600511,TW
-2001600512,2001862655,CN
+2001600512,2001797119,CN
+2001797120,2001862655,HK
2001862656,2001864703,AU
2001864704,2001870847,JP
2001870848,2001879039,KR
@@ -63431,7 +73974,7 @@
2001895424,2001899519,VN
2001899520,2001901567,AU
2001901568,2001915903,JP
-2001915904,2001919999,BD
+2001915904,2001919999,CN
2001920000,2001926143,ID
2001926144,2001928191,KH
2001928192,2001993727,JP
@@ -63453,24 +73996,23 @@
2006212608,2006214655,TH
2006214656,2006216703,JP
2006216704,2006228991,KR
-2006228992,2006233087,CN
-2006233088,2006237183,PH
+2006228992,2006237183,CN
2006237184,2006253567,JP
2006253568,2006319103,KR
2006319104,2006384639,JP
-2006384640,2006450175,IN
+2006384640,2006433791,IN
+2006433792,2006450175,CN
2006450176,2007007231,PK
2007007232,2007023615,BN
2007023616,2007025663,IN
-2007025664,2007027711,ID
+2007025664,2007027711,CN
2007027712,2007031807,TH
2007031808,2007035903,AU
2007035904,2007039999,TW
2007040000,2007048191,KR
2007048192,2007064575,AU
-2007064576,2007066623,MY
2007066624,2007070719,JP
-2007070720,2007072767,US
+2007070720,2007072767,IN
2007072768,2007498751,CN
2007498752,2008023039,JP
2008023040,2009071615,CN
@@ -63523,13 +74065,7 @@
2015203328,2015205375,JP
2015205376,2015207423,ID
2015207424,2015215615,JP
-2015215616,2015216127,HK
-2015216128,2015217663,CA
-2015217664,2015219456,GU
-2015219457,2015223743,CA
-2015223744,2015223751,PG
-2015223752,2015223759,AU
-2015223760,2015223807,CA
+2015215616,2015223807,IN
2015223808,2015225855,ID
2015225856,2015227903,IN
2015227904,2015231999,AU
@@ -63565,7 +74101,7 @@
2019078144,2019082239,IN
2019082240,2019098623,HK
2019098624,2019115007,PH
-2019115008,2019117055,US
+2019115008,2019117055,JP
2019117056,2019119103,IN
2019119104,2019121151,NZ
2019121152,2019123199,ID
@@ -63580,8 +74116,7 @@
2022180864,2022182911,JP
2022182912,2022184959,ID
2022184960,2022187007,KH
-2022187008,2022187071,US
-2022187072,2022191103,HK
+2022187008,2022191103,HK
2022191104,2022195199,NZ
2022195200,2022211583,KR
2022211584,2022227967,CN
@@ -63599,14 +74134,13 @@
2022375424,2022572031,MY
2022572032,2022637567,KR
2022637568,2022670335,JP
-2022670336,2022678527,PH
+2022670336,2022678527,CN
2022678528,2022703103,KR
2022703104,2023751679,AU
2023751680,2025848831,ID
2025848832,2030043135,CN
2030043136,2030045183,AU
-2030045184,2030047231,BD
-2030047232,2030051327,CN
+2030045184,2030051327,CN
2030051328,2030059519,JP
2030059520,2030108671,KR
2030108672,2030125055,PH
@@ -63617,7 +74151,8 @@
2030567424,2032926719,CN
2032926720,2033057791,AU
2033057792,2033319935,CN
-2033319936,2033324031,IN
+2033319936,2033321983,IN
+2033321984,2033324031,CN
2033324032,2033328127,KR
2033328128,2033330175,ID
2033330176,2033336319,JP
@@ -63625,7 +74160,6 @@
2033352704,2033356799,ID
2033356800,2033358847,TW
2033358848,2033362943,JP
-2033362944,2033364991,TH
2033364992,2033369087,TW
2033369088,2033377279,AU
2033377280,2033385471,KR
@@ -63639,9 +74173,8 @@
2033516544,2033582079,KR
2033582080,2033614847,PH
2033614848,2033623039,AU
-2033623040,2033625087,PH
2033625088,2033627135,HK
-2033627136,2033629183,NZ
+2033627136,2033629183,CN
2033629184,2033631231,JP
2033631232,2033647615,KR
2033647616,2033663999,CN
@@ -63649,9 +74182,7 @@
2033696768,2033713151,GU
2033713152,2033876991,CN
2033876992,2033879039,JP
-2033879040,2033881087,ID
-2033881088,2033885183,CN
-2033885184,2033887231,AF
+2033879040,2033887231,CN
2033887232,2033889279,IN
2033889280,2033891327,JP
2033891328,2033893375,ID
@@ -63680,8 +74211,7 @@
2036609024,2036611071,AF
2036611072,2036613119,JP
2036613120,2036629503,KR
-2036629504,2036662271,CN
-2036662272,2036678655,AU
+2036629504,2036678655,CN
2036678656,2036695039,JP
2036695040,2036697087,ID
2036697088,2036699135,AU
@@ -63708,7 +74238,7 @@
2043165696,2043166719,BD
2043166720,2043183103,KR
2043183104,2043199487,JP
-2043199488,2043201535,BD
+2043199488,2043201535,CN
2043201536,2043203583,JP
2043203584,2043205631,AU
2043205632,2043207679,JP
@@ -63732,7 +74262,9 @@
2046836736,2046885887,CN
2046885888,2046951423,JP
2046951424,2047082495,PH
-2047082496,2047868927,CN
+2047082496,2047526911,CN
+2047526912,2047531007,HK
+2047531008,2047868927,CN
2047868928,2048917503,JP
2048917504,2049966079,KR
2049966080,2050047999,CN
@@ -63743,7 +74275,8 @@
2050084864,2050088959,PH
2050088960,2050091007,ID
2050091008,2050097151,JP
-2050097152,2050101247,SG
+2050097152,2050099199,SG
+2050099200,2050101247,IN
2050101248,2050113535,JP
2050113536,2050129919,SG
2050129920,2050162687,IN
@@ -63770,7 +74303,7 @@
2053511168,2053513215,IN
2053513216,2053515263,BD
2053515264,2053519359,ID
-2053519360,2053521407,BD
+2053519360,2053521407,JP
2053521408,2053529599,CN
2053529600,2053533695,AU
2053533696,2053534719,VN
@@ -63786,12 +74319,11 @@
2055217152,2055229439,KR
2055229440,2055231487,TW
2055231488,2055233535,AU
-2055233536,2055235583,NP
2055235584,2055237631,HK
2055237632,2055239679,JP
-2055239680,2055241727,VU
+2055239680,2055241727,CN
2055241728,2055274495,KR
-2055274496,2055290879,AU
+2055274496,2055290879,VN
2055290880,2055299071,PK
2055299072,2055305215,ID
2055305216,2055307263,MY
@@ -63818,48 +74350,7 @@
2056794112,2056796159,BD
2056796160,2056806399,JP
2056806400,2056814591,KR
-2056814592,2056815167,JP
-2056815168,2056815195,HK
-2056815196,2056815215,JP
-2056815216,2056815295,HK
-2056815296,2056815335,JP
-2056815336,2056815343,HK
-2056815344,2056815359,JP
-2056815360,2056815615,HK
-2056815616,2056816031,AU
-2056816032,2056816047,NZ
-2056816048,2056816095,AU
-2056816096,2056816639,JP
-2056816640,2056816815,SG
-2056816816,2056816831,JP
-2056816832,2056816895,SG
-2056816896,2056817151,JP
-2056817152,2056817399,HK
-2056817400,2056817407,JP
-2056817408,2056817599,HK
-2056817600,2056818223,JP
-2056818224,2056818239,SG
-2056818240,2056818303,JP
-2056818304,2056818559,SG
-2056818560,2056819711,JP
-2056819712,2056819759,AU
-2056819760,2056819775,JP
-2056819776,2056819791,AU
-2056819792,2056819807,JP
-2056819808,2056819839,AU
-2056819840,2056820223,JP
-2056820224,2056820279,HK
-2056820280,2056820287,JP
-2056820288,2056820319,HK
-2056820320,2056820351,JP
-2056820352,2056820479,HK
-2056820480,2056826623,JP
-2056826624,2056826879,HK
-2056826880,2056827935,JP
-2056827936,2056827965,HK
-2056827966,2056830271,JP
-2056830272,2056830275,HK
-2056830276,2056830975,JP
+2056814592,2056830975,JP
2056830976,2056847359,CN
2056847360,2056912895,KR
2056912896,2057043967,TH
@@ -63878,7 +74369,9 @@
2059939840,2059941887,ID
2059941888,2059943935,AU
2059943936,2059960319,CN
-2059960320,2059964415,AU
+2059960320,2059961343,JP
+2059961344,2059962367,HK
+2059962368,2059964415,JP
2059964416,2059966463,ID
2059966464,2059968511,TW
2059968512,2059976703,AU
@@ -63899,46 +74392,20 @@
2060451840,2061500415,JP
2061500416,2063073279,CN
2063073280,2063077375,BD
-2063077376,2063081471,HK
-2063081472,2063085567,BD
+2063077376,2063079423,HK
+2063079424,2063081471,CN
+2063081472,2063085567,ID
2063085568,2063089663,CN
2063089664,2063097855,JP
2063097856,2063106047,MM
-2063106048,2063106559,SG
-2063106560,2063106815,JP
-2063106816,2063107423,SG
-2063107424,2063107455,JP
-2063107456,2063107575,SG
-2063107576,2063107583,JP
-2063107584,2063107615,SG
-2063107616,2063108095,JP
-2063108096,2063109119,HK
-2063109120,2063109375,JP
-2063109376,2063109567,HK
-2063109568,2063109631,JP
-2063109632,2063109759,HK
-2063109760,2063111167,JP
-2063111168,2063111712,AU
-2063111713,2063111743,JP
-2063111744,2063111799,AU
-2063111800,2063112191,JP
-2063112192,2063113239,AU
-2063113240,2063113247,JP
-2063113248,2063113279,AU
-2063113280,2063113343,JP
-2063113344,2063113727,AU
-2063113728,2063114239,JP
-2063114240,2063114327,IN
-2063114328,2063116287,JP
-2063116288,2063116319,SG
-2063116320,2063122431,JP
+2063106048,2063122431,JP
2063122432,2063138815,SG
2063138816,2063335423,JP
2063335424,2063341567,AU
-2063341568,2063351807,AP
+2063341568,2063343615,SG
+2063343616,2063351807,JP
2063351808,2063368191,KR
-2063368192,2063370239,AP
-2063370240,2063372287,JP
+2063368192,2063372287,JP
2063372288,2063374335,AP
2063374336,2063376383,NZ
2063376384,2063380479,TW
@@ -63951,8 +74418,9 @@
2063482880,2063499263,MN
2063499264,2063532031,KR
2063532032,2063548415,LK
-2063548416,2063550463,BD
-2063550464,2063552511,IN
+2063548416,2063550463,CN
+2063550464,2063551487,IN
+2063551488,2063552511,JP
2063552512,2063556607,TW
2063556608,2063564799,MY
2063564800,2063597567,JP
@@ -63980,7 +74448,9 @@
2066923520,2066939903,JP
2066939904,2066972671,AU
2066972672,2067005439,TW
-2067005440,2070052863,CN
+2067005440,2067726335,CN
+2067726336,2067791871,HK
+2067791872,2070052863,CN
2070052864,2070056959,AU
2070056960,2070061055,JP
2070061056,2070077439,KR
@@ -63993,16 +74463,7 @@
2070183936,2070192127,AU
2070192128,2070200319,KR
2070200320,2070208511,JP
-2070208512,2070209023,MY
-2070209024,2070209535,SG
-2070209536,2070210047,AU
-2070210048,2070210559,SG
-2070210560,2070210815,CN
-2070210816,2070211071,SG
-2070211072,2070211327,IN
-2070211328,2070211583,SG
-2070211584,2070212607,US
-2070212608,2070216703,SG
+2070208512,2070216703,SG
2070216704,2070282239,CN
2070282240,2070347775,AU
2070347776,2070380543,CN
@@ -64100,7 +74561,7 @@
2080178176,2080243711,CN
2080243712,2080260095,JP
2080260096,2080268287,KR
-2080268288,2080270335,AP
+2080268288,2080270335,AU
2080270336,2080272383,HK
2080272384,2080276479,AU
2080276480,2080309247,KR
@@ -64116,7 +74577,7 @@
2080636928,2080702463,IN
2080702464,2080767999,KR
2080768000,2080776191,TW
-2080776192,2080784383,AP
+2080776192,2080784383,ID
2080784384,2080800767,CN
2080800768,2080817151,PH
2080817152,2080825343,NZ
@@ -64138,8 +74599,7 @@
2082340864,2082406399,IN
2082406400,2082471935,CN
2082471936,2083024895,JP
-2083024896,2083045375,CN
-2083045376,2083053567,AU
+2083024896,2083053567,CN
2083053568,2083057663,TH
2083057664,2083058687,AU
2083058688,2083059711,IN
@@ -64152,13 +74612,12 @@
2083389440,2083454975,KR
2083454976,2083471359,CN
2083471360,2083487743,JP
-2083487744,2083504127,IN
+2083487744,2083504127,AU
2083504128,2083520511,JP
2083520512,2084569087,KR
2084569088,2084732927,CN
2084732928,2084741119,SG
2084741120,2084743167,ID
-2084743168,2084745215,JP
2084745216,2084749311,KR
2084749312,2084753407,JP
2084753408,2084757503,KR
@@ -64175,21 +74634,14 @@
2087452672,2087453695,AU
2087453696,2087454719,KH
2087454720,2087456767,CN
-2087456768,2087458815,BD
+2087456768,2087457791,MY
2087458816,2087460863,FJ
2087460864,2087462911,JP
2087462912,2087464959,CN
2087464960,2087467007,KH
2087467008,2087469055,JP
-2087469056,2087472639,AP
-2087472640,2087473151,SG
-2087473152,2087474175,HK
-2087474176,2087475711,AP
-2087475712,2087476223,JP
-2087476224,2087477247,HK
-2087477248,2087478271,AU
-2087478272,2087481343,AP
-2087481344,2087485439,HK
+2087469056,2087481343,HK
+2087481344,2087485439,SG
2087485440,2087501823,TW
2087501824,2087518207,JP
2087518208,2087519231,TH
@@ -64199,7 +74651,7 @@
2087524352,2087526399,TH
2087526400,2087534591,PK
2087534592,2087542783,AU
-2087542784,2087544831,AP
+2087542784,2087544831,CN
2087544832,2087545855,BD
2087545856,2087546879,JP
2087546880,2087550975,TW
@@ -64231,7 +74683,7 @@
2090590208,2090594303,NZ
2090594304,2090598399,IN
2090598400,2090663935,CN
-2090663936,2090680319,AU
+2090663936,2090680319,VN
2090680320,2090696703,NZ
2090696704,2090729471,TH
2090729472,2090733567,VN
@@ -64264,7 +74716,7 @@
2093383680,2093416447,NZ
2093416448,2093432831,KR
2093432832,2093445119,TW
-2093445120,2093449215,SG
+2093445120,2093449215,AF
2093449216,2093481983,KR
2093481984,2094006271,CN
2094006272,2094530559,JP
@@ -64313,9 +74765,9 @@
2099216384,2099232767,KR
2099232768,2100297727,CN
2100297728,2100854783,JP
-2100854784,2100887551,US
+2100854784,2100887551,SG
2100887552,2100953087,KR
-2100953088,2100969471,AU
+2100953088,2100969471,VN
2100969472,2100985855,JP
2100985856,2101018623,CN
2101018624,2101084159,HK
@@ -64361,9 +74813,7 @@
2111152128,2111160319,AU
2111160320,2111168511,AF
2111168512,2111176703,TH
-2111176704,2111187815,VN
-2111187816,2111187823,KH
-2111187824,2111193087,VN
+2111176704,2111193087,VN
2111193088,2111201279,AU
2111201280,2111209471,CN
2111209472,2111217663,JP
@@ -64377,64 +74827,8 @@
2112487424,2112618495,VN
2112618496,2112880639,NZ
2112880640,2113683455,KR
-2113683456,2113683487,AP
-2113683488,2113683519,TW
-2113683520,2113683583,PH
-2113683584,2113683615,AP
-2113683616,2113683647,PH
-2113683648,2113683679,AP
-2113683680,2113683743,TW
-2113683744,2113683775,AP
-2113683776,2113683839,PH
-2113683840,2113684159,AP
-2113684160,2113684175,TW
-2113684176,2113684255,PH
-2113684256,2113684271,TW
-2113684272,2113684287,AP
-2113684288,2113684431,PH
-2113684432,2113684439,TW
-2113684440,2113684447,PH
-2113684448,2113684543,AP
-2113684544,2113684735,PH
-2113684736,2113684991,TW
-2113684992,2113685007,PH
-2113685008,2113685023,AP
-2113685024,2113685047,PH
-2113685048,2113685119,AP
-2113685120,2113685215,PH
-2113685216,2113685223,AP
-2113685224,2113685231,PH
-2113685232,2113685247,TW
-2113685248,2113685407,AP
-2113685408,2113686015,PH
-2113686016,2113686079,AP
-2113686080,2113686207,TW
-2113686208,2113686527,AP
-2113686528,2113687039,TW
-2113687040,2113687551,JP
-2113687552,2113688319,AP
-2113688320,2113689087,PH
-2113689088,2113689343,AP
-2113689344,2113689599,HK
-2113689600,2113690111,JP
-2113690112,2113690367,PH
-2113690368,2113690623,AP
-2113690624,2113691647,AU
-2113691648,2113692159,AP
-2113692160,2113692415,PH
-2113692416,2113693183,AP
-2113693184,2113693663,HK
-2113693664,2113694207,AP
-2113694208,2113694463,JP
-2113694464,2113694719,HK
-2113694720,2113694975,AP
-2113694976,2113695231,PH
-2113695232,2113699839,AP
-2113699840,2113716223,JP
-2113716224,2113724927,AP
-2113724928,2113725183,IN
-2113725184,2113728511,AP
-2113728512,2113732607,JP
+2113683456,2113716223,JP
+2113716224,2113732607,SG
2113732608,2113761279,AU
2113761280,2113765375,VN
2113765376,2113798143,HK
@@ -64445,7 +74839,8 @@
2113830912,2113863679,CN
2113863680,2113929215,AU
2113929216,2130706431,JP
-2147483648,2147942399,US
+2147483648,2147549183,EU
+2147549184,2147942399,US
2147942400,2148007935,DE
2148007936,2148220515,US
2148220516,2148220535,AU
@@ -64458,21 +74853,86 @@
2150105088,2150236159,GB
2150236160,2150301695,US
2150301696,2150367231,CA
-2150367232,2151743487,US
+2150367232,2150432767,US
+2150432768,2150498303,IT
+2150498304,2151743487,US
+2151743488,2151759871,BY
+2151759872,2151768063,US
+2151768064,2151770111,GB
+2151770112,2151772159,BA
+2151772160,2151776255,IT
+2151776256,2151778303,AT
+2151778304,2151780351,RU
+2151780352,2151782399,DE
+2151782400,2151784447,ES
+2151784448,2151792639,IR
+2151792640,2151794687,CH
+2151794688,2151796735,IT
+2151796736,2151797759,NL
+2151797760,2151797775,DE
+2151797776,2151799807,NL
+2151799808,2151800831,DE
+2151800832,2151809023,PT
+2151809024,2151940095,IT
+2151940096,2152464383,RU
+2152464384,2152595455,DK
+2152595456,2152726527,FR
2152726528,2153119743,US
-2153119744,2153250815,GB
+2153119744,2153185279,GB
+2153185280,2153250815,SE
2153250816,2153578495,US
2153578496,2153644031,FR
2153644032,2153906175,US
2153906176,2153971711,GB
2153971712,2154037247,US
2154037248,2154102783,CA
-2154102784,2156003327,US
+2154102784,2155610111,US
+2155610112,2155675647,UA
+2155675648,2155806719,US
+2155806720,2155808767,IT
+2155808768,2155810815,RU
+2155810816,2155812863,FR
+2155812864,2155814911,GB
+2155814912,2155819007,NL
+2155819008,2155821055,DE
+2155821056,2155823103,IT
+2155823104,2155825151,DE
+2155825152,2155827199,AE
+2155827200,2155831295,PL
+2155831296,2155833343,RU
+2155833344,2155833855,SE
+2155833856,2155834367,NL
+2155834368,2155834623,RU
+2155834624,2155834879,LU
+2155834880,2155835391,NL
+2155835392,2155839487,RO
+2155839488,2155843583,FR
+2155843584,2155845631,RU
+2155845632,2155847679,DE
+2155847680,2155849727,ES
+2155849728,2155851775,TR
+2155851776,2155853823,KZ
+2155853824,2155855871,SE
+2155855872,2155872255,RO
+2155872256,2156003327,US
2156003328,2156134399,AT
2156134400,2156265471,US
2156265472,2156331007,KR
2156331008,2156593151,US
2156593152,2156658687,IL
+2156658688,2156691455,IR
+2156691456,2156695551,A2
+2156695552,2156697599,FR
+2156697600,2156699647,CY
+2156699648,2156703743,RU
+2156703744,2156707839,BG
+2156707840,2156709887,RU
+2156709888,2156711935,ES
+2156711936,2156713983,DE
+2156713984,2156716031,NL
+2156716032,2156718079,RO
+2156718080,2156720127,IS
+2156720128,2156724223,BY
2156724224,2156855295,CH
2156855296,2156920831,US
2156920832,2156986367,CA
@@ -64486,11 +74946,27 @@
2159869952,2159935487,CA
2159935488,2160525311,US
2160525312,2160590847,GB
-2160590848,2161508351,US
+2160590848,2160852991,US
+2160852992,2160885759,RU
+2160885760,2160893951,AT
+2160893952,2160902143,RU
+2160902144,2160902686,NL
+2160902687,2160902687,ES
+2160902688,2160903428,NL
+2160903429,2160903556,ES
+2160903557,2160904452,NL
+2160904453,2160904580,RO
+2160904581,2160906239,NL
+2160906240,2160908287,FR
+2160908288,2160910335,PL
+2160910336,2160914431,NL
+2160914432,2160918527,SA
+2160918528,2161508351,US
2161508352,2161573887,FI
2161573888,2162687999,US
2162688000,2162753535,GB
2162753536,2162819071,CA
+2162819072,2162884607,RO
2162884608,2163212287,US
2163212288,2163277823,GB
2163277824,2163288063,US
@@ -64516,9 +74992,11 @@
2166030336,2166095871,AT
2166095872,2166292479,US
2166292480,2166358015,GB
-2166358016,2166571007,US
+2166358016,2166554623,US
+2166554624,2166571007,EU
2166571008,2166575103,GB
-2166575104,2168193023,US
+2166575104,2166619904,EU
+2166619905,2168193023,US
2168193024,2168258559,JP
2168258560,2168651775,US
2168651776,2168717311,GB
@@ -64594,12 +75072,33 @@
2180579328,2180644863,JP
2180644864,2180907007,US
2180907008,2180972543,KR
-2180972544,2181824511,US
+2180972544,2181038079,US
+2181038080,2181040127,GB
+2181040128,2181042175,AZ
+2181042176,2181044223,DE
+2181044224,2181046271,AL
+2181046272,2181054463,UA
+2181054464,2181056511,AT
+2181056512,2181058559,DE
+2181058560,2181060607,GB
+2181060608,2181062655,BA
+2181062656,2181070847,FR
+2181070848,2181087231,IT
+2181087232,2181089279,FR
+2181089280,2181091327,SE
+2181091328,2181093375,IT
+2181093376,2181095423,RU
+2181095424,2181095679,EU
+2181095680,2181097471,GB
+2181097472,2181099519,UA
+2181099520,2181103615,SY
+2181103616,2181824511,US
2181824512,2181890047,CA
2181890048,2182021119,US
2182021120,2182086655,CA
2182086656,2182610943,US
2182610944,2182676479,GB
+2182676480,2182742015,IT
2182742016,2182873087,US
2182873088,2182938623,SE
2182938624,2183135231,US
@@ -64608,7 +75107,11 @@
2183266304,2183331839,JP
2183331840,2183462911,US
2183462912,2183528447,NL
-2183528448,2184577023,US
+2183528448,2183856127,US
+2183856128,2183888895,GR
+2183888896,2183905279,GB
+2183905280,2183921663,HU
+2183921664,2184577023,US
2184577024,2184642559,JP
2184642560,2184708095,US
2184708096,2184773631,AU
@@ -64674,7 +75177,8 @@
2188509184,2188574719,US
2188574720,2188640255,NL
2188640256,2188705791,AU
-2188705792,2188902399,US
+2188705792,2188771327,EU
+2188771328,2188902399,US
2188902400,2188967935,FR
2188967936,2189099007,US
2189099008,2189164543,NZ
@@ -64701,9 +75205,34 @@
2191589376,2191654911,NL
2191654912,2192769023,US
2192769024,2192834559,CA
+2192834560,2192867327,DE
+2192867328,2192883711,SY
+2192883712,2192885759,PL
+2192885760,2192887807,GB
+2192887808,2192891903,UA
+2192891904,2192900095,RS
2192900096,2193031167,US
2193031168,2193096703,DE
2193096704,2193162239,US
+2193162240,2193178623,UA
+2193178624,2193180671,GB
+2193180672,2193181695,IR
+2193181696,2193182207,DE
+2193182208,2193182719,IR
+2193182720,2193184767,PT
+2193184768,2193186815,ES
+2193186816,2193188863,PL
+2193188864,2193190911,DE
+2193190912,2193195007,RU
+2193195008,2193199103,DK
+2193199104,2193201151,GB
+2193201152,2193202175,SE
+2193202176,2193203199,US
+2193203200,2193205247,GB
+2193205248,2193207295,FR
+2193207296,2193209343,CZ
+2193209344,2193211391,FR
+2193211392,2193227775,BG
2193227776,2193293311,IT
2193293312,2193358847,US
2193358848,2193424383,FI
@@ -64711,6 +75240,17 @@
2193489920,2193555455,FR
2193555456,2193620991,US
2193620992,2193686527,IT
+2193686528,2193688575,FR
+2193688576,2193692671,CZ
+2193692672,2193694719,FR
+2193694720,2193704959,RU
+2193704960,2193707007,IT
+2193707008,2193711103,GB
+2193711104,2193713151,DE
+2193713152,2193715199,ES
+2193715200,2193717247,DE
+2193717248,2193719295,AM
+2193719296,2193752063,IQ
2193752064,2193817599,AU
2193817600,2193883135,NZ
2193883136,2194014207,US
@@ -64718,6 +75258,7 @@
2194079744,2194210815,US
2194210816,2194276351,GB
2194276352,2194407423,US
+2194407424,2194472959,BG
2194472960,2194538495,US
2194538496,2194604031,ES
2194604032,2194669567,US
@@ -64740,7 +75281,33 @@
2197225472,2197422079,US
2197422080,2197487615,CA
2197487616,2197553151,IT
-2197553152,2197815295,US
+2197553152,2197749759,US
+2197749760,2197751807,IQ
+2197751808,2197753855,RU
+2197753856,2197757951,GB
+2197757952,2197766143,RU
+2197766144,2197768191,PS
+2197768192,2197770239,IL
+2197770240,2197772287,RU
+2197772288,2197774335,IQ
+2197774336,2197776383,IT
+2197776384,2197778431,DE
+2197778432,2197780479,IT
+2197780480,2197782527,DE
+2197782528,2197786623,UA
+2197786624,2197788671,IT
+2197788672,2197790719,PL
+2197790720,2197790947,SE
+2197790948,2197790951,EE
+2197790952,2197791111,SE
+2197791112,2197791115,LV
+2197791116,2197791455,SE
+2197791456,2197791459,LT
+2197791460,2197792767,SE
+2197792768,2197794815,IT
+2197794816,2197796863,SA
+2197796864,2197798911,DE
+2197798912,2197815295,IR
2197880832,2197946367,IT
2197946368,2204172287,US
2204172288,2204237823,SE
@@ -64789,8 +75356,7 @@
2208235520,2208301055,DE
2208301056,2208366591,FI
2208432128,2208563199,CA
-2208563200,2208694271,DK
-2208694272,2208759807,EU
+2208563200,2208759807,DK
2208759808,2208890879,US
2208890880,2208956415,DE
2208956416,2209021951,AU
@@ -64799,7 +75365,9 @@
2209153024,2209218559,DE
2209218560,2209284095,NL
2209284096,2209349631,IT
-2209349632,2209415167,US
+2209349632,2209413631,US
+2209413632,2209413887,EU
+2209413888,2209415167,US
2209415168,2209480703,FI
2209480704,2209546239,MX
2209546240,2209611775,US
@@ -64888,7 +75456,7 @@
2226520064,2226585599,JP
2226585600,2226651135,US
2226716672,2226782207,GB
-2226782208,2226847743,AU
+2226782208,2226847743,ZA
2226847744,2226913279,DE
2226913280,2227372031,US
2227372032,2227437567,DE
@@ -64918,11 +75486,38 @@
2231173120,2231238655,US
2231238656,2231304191,MX
2231369728,2248146943,JP
-2248146944,2248409087,DE
+2248146944,2248148991,IT
+2248148992,2248151039,ES
+2248151040,2248153087,GB
+2248153088,2248155135,DE
+2248155136,2248163327,AL
+2248163328,2248165375,GB
+2248165376,2248165439,US
+2248165440,2248165503,EU
+2248165504,2248166399,US
+2248166400,2248167423,EU
+2248167424,2248169471,IE
+2248169472,2248171519,NL
+2248171520,2248177663,RU
+2248177664,2248179711,DE
+2248179712,2248212479,OM
+2248212480,2248409087,DE
2248409088,2248605695,US
2248605696,2248671231,AU
2248671232,2249261055,US
+2249261056,2249326591,BY
2249326592,2249392127,AU
+2249392128,2249424895,DE
+2249424896,2249426943,RU
+2249426944,2249428991,SK
+2249428992,2249433087,RU
+2249433088,2249435135,GB
+2249435136,2249437183,IT
+2249437184,2249441279,NL
+2249441280,2249443327,FR
+2249443328,2249445375,TR
+2249445376,2249449471,AZ
+2249449472,2249457663,GE
2249457664,2249523199,US
2249523200,2249588735,CH
2249588736,2249654271,CA
@@ -64970,6 +75565,17 @@
2253651968,2253848575,US
2253848576,2253914111,CA
2253914112,2254045183,US
+2254045184,2254077951,GE
+2254077952,2254079999,BA
+2254080000,2254082047,FR
+2254082048,2254084095,NO
+2254084096,2254094335,RU
+2254094336,2254096383,RO
+2254096384,2254096895,GB
+2254096896,2254098431,RO
+2254098432,2254100479,RU
+2254100480,2254102527,CH
+2254102528,2254110719,IT
2254110720,2255421439,DE
2255421440,2255683583,US
2255683584,2255749119,AU
@@ -64997,216 +75603,14 @@
2258305024,2258370559,DE
2258370560,2258436095,US
2258436096,2258567167,FR
-2258567168,2258567679,US
-2258567680,2258567935,HK
-2258567936,2258568191,US
-2258568192,2258568447,HK
-2258568448,2258583551,US
-2258583552,2258591743,GB
-2258591744,2258591807,HK
-2258591808,2258591839,AU
-2258591840,2258591847,TW
-2258591848,2258591855,JP
-2258591856,2258591935,TW
-2258591936,2258591967,HK
-2258591968,2258591999,AU
-2258592000,2258592255,HK
-2258592256,2258592383,JP
-2258592384,2258592439,HK
-2258592440,2258592447,JP
-2258592448,2258592479,IN
-2258592480,2258592495,HK
-2258592496,2258592511,JP
-2258592512,2258592767,AU
-2258592768,2258593023,HK
-2258593024,2258593151,SG
-2258593152,2258593535,HK
-2258593536,2258594047,AU
-2258594048,2258594303,HK
-2258594304,2258594559,BD
-2258594560,2258594815,HK
-2258594816,2258594831,AU
-2258594832,2258594839,JP
-2258594840,2258594847,AU
-2258594848,2258594879,JP
-2258594880,2258594959,HK
-2258594960,2258594967,JP
-2258594968,2258594975,AU
-2258594976,2258594991,JP
-2258594992,2258595007,HK
-2258595008,2258595023,TW
-2258595024,2258595031,JP
-2258595032,2258595135,HK
-2258595136,2258595167,SG
-2258595168,2258595199,AU
-2258595200,2258595215,HK
-2258595216,2258595231,AU
-2258595232,2258595263,TW
-2258595264,2258595295,AU
-2258595296,2258595327,SG
-2258595328,2258595335,KR
-2258595336,2258595343,TW
-2258595344,2258595351,HK
-2258595352,2258595359,JP
-2258595360,2258595383,HK
-2258595384,2258595391,KR
-2258595392,2258595423,HK
-2258595424,2258595455,AU
-2258595456,2258595463,HK
-2258595464,2258595471,TW
-2258595472,2258595479,HK
-2258595480,2258595495,AU
-2258595496,2258595519,HK
-2258595520,2258595551,AU
-2258595552,2258595567,JP
-2258595568,2258595583,AU
-2258595584,2258595591,TW
-2258595592,2258595599,HK
-2258595600,2258595603,AU
-2258595604,2258595607,JP
-2258595608,2258595631,HK
-2258595632,2258595639,AU
-2258595640,2258595643,JP
-2258595644,2258595655,AU
-2258595656,2258595663,IN
-2258595664,2258595711,AU
-2258595712,2258595775,HK
-2258595776,2258595839,SG
-2258595840,2258595967,HK
-2258595968,2258595983,AU
-2258595984,2258595999,HK
-2258596000,2258596015,AU
-2258596016,2258596079,HK
-2258596080,2258596087,JP
-2258596088,2258597071,HK
-2258597072,2258597087,TW
-2258597088,2258597119,AU
-2258597120,2258597895,HK
-2258597896,2258597903,NZ
-2258597904,2258597927,AU
-2258597928,2258597935,JP
-2258597936,2258597951,AU
-2258597952,2258597983,NZ
-2258597984,2258597999,JP
-2258598000,2258598015,TW
-2258598016,2258598143,HK
-2258598144,2258598239,KR
-2258598240,2258598255,AU
-2258598256,2258598287,KR
-2258598288,2258598319,NZ
-2258598320,2258598335,JP
-2258598336,2258598351,TW
-2258598352,2258598399,AU
-2258598400,2258598431,HK
-2258598432,2258598447,AU
-2258598448,2258598495,HK
-2258598496,2258598519,AU
-2258598520,2258598527,NZ
-2258598528,2258598567,JP
-2258598568,2258598583,AU
-2258598584,2258598591,HK
-2258598592,2258598623,TW
-2258598624,2258598639,HK
-2258598640,2258598647,JP
-2258598648,2258598655,KR
-2258598656,2258600737,HK
-2258600738,2258600741,AU
-2258600742,2258600799,HK
-2258600800,2258600831,KR
-2258600832,2258600855,HK
-2258600856,2258600859,AU
-2258600860,2258600959,HK
-2258600960,2258601087,SG
-2258601088,2258601151,AU
-2258601152,2258601199,HK
-2258601200,2258601207,JP
-2258601208,2258601471,HK
-2258601472,2258601983,JP
-2258601984,2258602495,HK
-2258602496,2258602751,VN
-2258602752,2258603263,HK
-2258603264,2258603279,IN
-2258603280,2258603391,HK
-2258603392,2258603459,AU
-2258603460,2258603519,HK
-2258603520,2258603551,AU
-2258603552,2258603591,HK
-2258603592,2258603599,AU
-2258603600,2258603647,HK
-2258603648,2258603679,AU
-2258603680,2258603711,IN
-2258603712,2258603727,HK
-2258603728,2258603735,SG
-2258603736,2258603743,HK
-2258603744,2258603751,TW
-2258603752,2258603775,HK
-2258603776,2258604031,MO
-2258604032,2258604543,AU
-2258604544,2258604575,IN
-2258604576,2258604591,SG
-2258604592,2258604607,IN
-2258604608,2258604639,SG
-2258604640,2258604671,HK
-2258604672,2258604735,SG
-2258604736,2258604799,AU
-2258604800,2258605055,TW
-2258605056,2258605567,HK
-2258605568,2258605631,SG
-2258605632,2258605695,AU
-2258605696,2258605823,HK
-2258605824,2258605967,AU
-2258605968,2258605991,NZ
-2258605992,2258606031,AU
-2258606032,2258606035,NZ
-2258606036,2258606463,HK
-2258606464,2258606471,JP
-2258606472,2258606591,HK
-2258606592,2258606607,JP
-2258606608,2258606655,HK
-2258606656,2258606687,AU
-2258606688,2258606703,JP
-2258606704,2258606847,HK
-2258606848,2258606879,AU
-2258606880,2258606911,HK
-2258606912,2258606959,AU
-2258606960,2258606963,HK
-2258606964,2258607071,AU
-2258607072,2258607103,HK
-2258607104,2258607231,AU
-2258607232,2258607247,HK
-2258607248,2258607263,AU
-2258607264,2258607271,HK
-2258607272,2258607295,AU
-2258607296,2258607335,HK
-2258607336,2258607343,AU
-2258607344,2258607351,SG
-2258607352,2258607487,AU
-2258607488,2258607519,HK
-2258607520,2258607535,AU
-2258607536,2258609023,HK
-2258609024,2258609087,AU
-2258609088,2258609439,HK
-2258609440,2258609471,AU
-2258609472,2258609487,HK
-2258609488,2258609503,IN
-2258609504,2258609511,HK
-2258609512,2258609527,IN
-2258609528,2258610303,HK
-2258610304,2258610431,IN
-2258610432,2258611455,HK
-2258611456,2258611527,AU
-2258611528,2258611583,HK
-2258611584,2258611615,AU
-2258611616,2258614783,HK
-2258614784,2258614799,TW
-2258614800,2258632703,HK
+2258567168,2258632703,HK
2258632704,2258698239,JP
2258698240,2259222527,US
2259222528,2259288063,DE
2259288064,2259353599,US
2259353600,2259419135,DE
2259419136,2259681279,US
-2259681280,2259746815,DE
+2259681280,2259746815,EU
2259746816,2259812351,US
2259812352,2259877887,AU
2259877888,2259943423,US
@@ -65250,14 +75654,20 @@
2264203264,2264268799,DE
2264268800,2264334335,FR
2264334336,2264399871,DE
-2264399872,2265710591,US
+2264399872,2264465407,US
+2264465408,2264530943,UA
+2264530944,2264858623,US
+2264858624,2264891391,HU
+2264891392,2264899583,RU
+2264899584,2264905727,IT
+2264905728,2264907775,ES
+2264907776,2264924159,DE
+2264924160,2265710591,US
2265710592,2265776127,CA
2265776128,2276786175,US
2276786176,2276851711,CA
2276851712,2277769215,US
-2277769216,2277772543,GB
-2277772544,2277772799,DE
-2277772800,2277834751,GB
+2277769216,2277834751,GB
2277834752,2291204095,US
2291204096,2291269631,PR
2291269632,2291400703,CA
@@ -65273,6 +75683,8 @@
2292383744,2292449279,SE
2292449280,2292514815,NO
2292514816,2292776959,US
+2292776960,2292809727,LV
+2292809728,2292842495,RU
2292842496,2292908031,GB
2292908032,2292973567,US
2292973568,2293039103,DE
@@ -65498,7 +75910,7 @@
2328756224,2328821759,CH
2328821760,2329083903,US
2329083904,2329149439,NZ
-2329149440,2329280511,JP
+2329149440,2329214975,JP
2329280512,2329346047,CA
2329346048,2329411583,SE
2329411584,2329477119,FI
@@ -65529,7 +75941,6 @@
2331508736,2331574271,GB
2331574272,2331639807,FI
2331639808,2331770879,GB
-2331770880,2331836415,AU
2331836416,2331901951,GB
2331901952,2331967487,US
2332033024,2332098559,ID
@@ -65681,7 +76092,6 @@
2353922048,2353987583,AT
2353987584,2354053119,AU
2354053120,2354118655,CA
-2354118656,2354184191,JP
2354184192,2354249727,US
2354249728,2354315263,AU
2354315264,2354380799,DE
@@ -65729,7 +76139,7 @@
2361917440,2361982975,NZ
2361982976,2362114047,US
2362114048,2362179583,IE
-2362179584,2362245119,GB
+2362179584,2362245119,US
2362245120,2362441727,CN
2362441728,2362572799,US
2362572800,2362638335,CN
@@ -65749,7 +76159,9 @@
2364675840,2364676095,CA
2364676096,2364676863,US
2364676864,2364677119,GB
-2364677120,2364735487,US
+2364677120,2364727807,US
+2364727808,2364728063,DE
+2364728064,2364735487,US
2364735488,2364801023,CN
2364801024,2364932095,US
2364932096,2364997631,CN
@@ -65775,7 +76187,20 @@
2365644800,2365652991,NO
2365652992,2366111743,DE
2366111744,2366144511,MT
-2366144512,2366162943,RU
+2366144512,2366149375,RU
+2366149376,2366149407,DE
+2366149408,2366149423,PL
+2366149424,2366149439,SK
+2366149440,2366149455,PT
+2366149456,2366149471,ES
+2366149472,2366149487,FR
+2366149488,2366149495,MD
+2366149496,2366149503,LT
+2366149504,2366149511,LV
+2366149512,2366149519,EE
+2366149520,2366149527,BG
+2366149528,2366149535,RS
+2366149536,2366162943,RU
2366162944,2366164991,AL
2366164992,2366167039,GE
2366167040,2366169087,GB
@@ -65814,7 +76239,13 @@
2372474624,2372474879,GB
2372474880,2372483071,RU
2372483072,2372485119,JO
-2372485120,2372487167,RU
+2372485120,2372485185,RU
+2372485186,2372485246,NL
+2372485247,2372485247,RU
+2372485248,2372485375,IN
+2372485376,2372485823,RU
+2372485824,2372485887,NL
+2372485888,2372487167,RU
2372487168,2372489215,FR
2372489216,2372493311,LB
2372493312,2372497407,ES
@@ -65869,8 +76300,8 @@
2374512640,2374514687,SK
2374514688,2374516735,ES
2374516736,2374524927,AM
-2374524928,2374525183,DE
-2374525184,2374529023,FR
+2374524928,2374525439,DE
+2374525440,2374529023,FR
2374529024,2374531071,RU
2374531072,2374533119,NL
2374533120,2374565887,HR
@@ -65887,19 +76318,43 @@
2374674432,2374676479,NL
2374676480,2374680575,LB
2374680576,2374684671,NL
-2374684672,2374684991,GB
+2374684672,2374684839,GB
+2374684840,2374684847,NO
+2374684848,2374684863,FI
+2374684864,2374684879,DK
+2374684880,2374684991,GB
2374684992,2374685119,FI
-2374685120,2374685247,GB
+2374685120,2374685135,DK
+2374685136,2374685167,GB
+2374685168,2374685175,NO
+2374685176,2374685239,GB
+2374685240,2374685247,DK
2374685248,2374685375,NO
-2374685376,2374685503,GB
+2374685376,2374685423,GB
+2374685424,2374685431,FI
+2374685432,2374685487,GB
+2374685488,2374685503,FI
2374685504,2374685631,DK
-2374685632,2374685759,GB
-2374685760,2374685887,NL
-2374685888,2374686015,GB
-2374686016,2374686143,PL
+2374685632,2374685647,NO
+2374685648,2374685743,GB
+2374685744,2374685759,FI
+2374685760,2374685855,NL
+2374685856,2374685871,DK
+2374685872,2374685887,NL
+2374685888,2374686007,GB
+2374686008,2374686015,FI
+2374686016,2374686111,PL
+2374686112,2374686127,DK
+2374686128,2374686143,PL
2374686144,2374686271,GB
2374686272,2374686303,NL
-2374686304,2374686719,GB
+2374686304,2374686367,GB
+2374686368,2374686399,FI
+2374686400,2374686415,DK
+2374686416,2374686639,GB
+2374686640,2374686655,DK
+2374686656,2374686671,FI
+2374686672,2374686719,GB
2374686720,2374688767,NL
2374688768,2374696959,GB
2374696960,2374959103,US
@@ -65917,6 +76372,7 @@
2376761344,2376777727,CZ
2376777728,2376781823,BA
2376781824,2376783871,ES
+2376783872,2376785919,FR
2376785920,2376794111,UA
2376794112,2376859647,CH
2376859648,2376925183,FI
@@ -65948,7 +76404,6 @@
2380398592,2380464127,IL
2380464128,2380529663,FR
2380529664,2380595199,GB
-2380595200,2380660735,JP
2380660736,2380726271,US
2380726272,2380791807,GB
2380791808,2381119487,US
@@ -65974,9 +76429,7 @@
2382344192,2382346239,NL
2382346240,2382348287,SE
2382348288,2382364671,SI
-2382364672,2385430655,CA
-2385430656,2385430687,US
-2385430688,2385903615,CA
+2382364672,2385903615,CA
2385903616,2385969151,US
2385969152,2386067455,CA
2386067456,2386083839,US
@@ -66061,9 +76514,7 @@
2411462656,2411593727,AU
2411593728,2411986943,US
2411986944,2412052479,FR
-2412052480,2412314623,US
-2412314624,2412380159,JP
-2412445696,2412576767,US
+2412052480,2412576767,US
2412576768,2412642303,AT
2412642304,2412773375,US
2412838912,2412904447,US
@@ -66093,7 +76544,6 @@
2415722496,2415788031,JP
2415788032,2415853567,US
2415919104,2415984639,CN
-2415984640,2416050175,JP
2416050176,2416115711,NL
2416115712,2416181247,US
2416181248,2416246783,FI
@@ -66134,7 +76584,6 @@
2420310016,2420899839,US
2420899840,2420965375,DE
2420965376,2421096447,US
-2421096448,2421161983,AU
2421161984,2421293055,US
2421293056,2421358591,GB
2421358592,2421424127,US
@@ -66192,9 +76641,7 @@
2429681664,2429878271,US
2429878272,2429943807,JP
2429943808,2430009343,HK
-2430009344,2430205951,US
-2430205952,2430271487,AU
-2430271488,2432172031,US
+2430009344,2432172031,US
2432172032,2432237567,BE
2432237568,2432630783,US
2432630784,2432696319,CN
@@ -66211,7 +76658,17 @@
2447015944,2447015947,GB
2447015948,2447048703,EU
2447048704,2447376383,NL
-2447376384,2447441919,GB
+2447376384,2447384632,GB
+2447384633,2447384633,NL
+2447384634,2447384634,FR
+2447384635,2447384635,BE
+2447384636,2447384636,DE
+2447384637,2447413304,GB
+2447413305,2447413305,NL
+2447413306,2447413306,FR
+2447413307,2447413307,BE
+2447413308,2447413308,DE
+2447413309,2447441919,GB
2447441920,2447507455,DE
2447507456,2447572991,FR
2447572992,2447638527,GB
@@ -66245,12 +76702,29 @@
2449145856,2449211391,SE
2449211392,2449276927,CH
2449276928,2449407999,DE
+2449408000,2449420287,RU
+2449420288,2449422335,DE
+2449422336,2449424383,DK
+2449424384,2449440767,OM
+2449440768,2449441023,NL
+2449441024,2449442815,RO
+2449442816,2449444863,RU
+2449444864,2449448959,SK
+2449448960,2449457151,KZ
+2449457152,2449465343,BG
+2449465344,2449467391,GB
+2449467392,2449469439,RU
+2449469440,2449471487,GB
+2449471488,2449473535,RU
2449473536,2449477631,DE
2449477632,2449479679,AL
2449479680,2449481727,FR
2449481728,2449489919,RO
2449489920,2449491967,FR
-2449491968,2449494015,NL
+2449491968,2449492864,NL
+2449492865,2449492991,IN
+2449492992,2449494015,NL
+2449494016,2449496063,UA
2449496064,2449498111,FR
2449498112,2449506303,DE
2449506304,2449539071,RO
@@ -66276,12 +76750,12 @@
2453340160,2453405695,NO
2453405696,2453471231,DE
2453471232,2453536767,US
-2453536768,2453602303,AU
2453602304,2453667839,US
2453667840,2453733375,ZA
2453733376,2453798911,US
2453798912,2453800959,GB
2453800960,2453803007,RU
+2453803008,2453805055,KZ
2453805056,2453807103,FI
2453807104,2453815295,GB
2453815296,2453831679,RO
@@ -66291,8 +76765,10 @@
2453832960,2453833727,IQ
2453833728,2453835775,ES
2453835776,2453837823,DE
-2453837824,2453838335,LU
-2453838336,2453839871,EU
+2453837824,2453838591,LU
+2453838592,2453838847,EU
+2453838848,2453839359,SE
+2453839360,2453839871,EU
2453839872,2453852159,RU
2453852160,2453856255,RO
2453856256,2453858303,DE
@@ -66314,7 +76790,9 @@
2454851584,2454851839,DK
2454851840,2454853119,US
2454853120,2454853375,DK
-2454853376,2454887423,US
+2454853376,2454885503,US
+2454885504,2454885631,GB
+2454885632,2454887423,US
2454887424,2454887679,DK
2454887680,2454913023,US
2454913024,2454978559,CL
@@ -66328,7 +76806,7 @@
2456027136,2456092671,IT
2456092672,2456158207,GB
2456158208,2456223743,CZ
-2456223744,2456289279,BE
+2456223744,2456289279,EU
2456289280,2456354815,NL
2456354816,2456420351,GB
2456420352,2456485887,EU
@@ -66340,22 +76818,20 @@
2456813568,2456879103,AT
2456879104,2457075711,US
2457075712,2457141247,AU
-2457141248,2457206783,JP
2457206784,2457272319,AU
2457272320,2457337855,FI
-2457337856,2457360895,RU
-2457360896,2457361151,UA
+2457337856,2457360383,RU
+2457360384,2457361151,UA
2457361152,2457361407,CZ
-2457361408,2457364479,RU
-2457364480,2457376767,CZ
+2457361408,2457366527,RU
+2457366528,2457367551,GB
+2457367552,2457372671,CZ
+2457372672,2457376767,RU
2457376768,2457378815,DE
-2457378816,2457380863,RU
-2457380864,2457382911,EE
-2457382912,2457383935,CZ
-2457383936,2457385983,RU
-2457385984,2457398271,CZ
+2457378816,2457393151,RU
+2457393152,2457398271,CZ
2457398272,2457400319,UA
-2457400320,2457403391,CZ
+2457400320,2457403391,RU
2457403392,2457599999,US
2457600000,2457665535,GR
2457665536,2458058751,US
@@ -66369,7 +76845,6 @@
2458648576,2458714111,DE
2458714112,2458779647,ZA
2458779648,2458910719,US
-2458910720,2458976255,AU
2458976256,2458995511,US
2458995512,2458995519,PA
2458995520,2459631615,US
@@ -66402,22 +76877,28 @@
2461601792,2461605887,GB
2461605888,2461607935,LB
2461607936,2461609983,FR
-2461609984,2461610495,BE
+2461609984,2461610095,BE
+2461610096,2461610111,NL
+2461610112,2461610495,BE
2461610496,2461611519,NL
-2461611520,2461612031,BE
+2461611520,2461611575,BE
+2461611576,2461611583,NL
+2461611584,2461612031,BE
2461612032,2461614079,IL
2461614080,2461630463,TR
2461630464,2461651967,RU
-2461651968,2461652991,CY
-2461652992,2461659135,RU
-2461659136,2461659391,UA
-2461659392,2461659903,RU
-2461659904,2461660159,UA
-2461660160,2461660415,RU
-2461660416,2461660671,RO
-2461660672,2461661183,RU
-2461661184,2461661439,UA
-2461661440,2461663231,RU
+2461651968,2461652479,CY
+2461652480,2461652735,HU
+2461652736,2461652991,CY
+2461652992,2461653503,RU
+2461653504,2461654015,GB
+2461654016,2461659135,RU
+2461659136,2461659647,UA
+2461659648,2461659903,RU
+2461659904,2461659905,UA
+2461659906,2461659913,RU
+2461659914,2461660415,UA
+2461660416,2461663231,RU
2461663232,2461794303,US
2461794304,2461859839,GB
2461859840,2461990911,US
@@ -66425,7 +76906,7 @@
2462056448,2462121983,NO
2462121984,2462187519,PT
2462187520,2462253055,GB
-2462253056,2462384127,AU
+2462253056,2462326783,AU
2462384128,2463236095,US
2463236096,2463301631,AT
2463301632,2463367167,FI
@@ -66488,7 +76969,17 @@
2465693200,2465693439,IT
2465693440,2465693455,FR
2465693456,2465693695,IT
-2465693696,2465726463,NO
+2465693696,2465719039,NO
+2465719040,2465719167,FR
+2465719168,2465719295,NO
+2465719296,2465719423,FR
+2465719424,2465719551,NO
+2465719552,2465719679,FR
+2465719680,2465719807,NO
+2465719808,2465719935,FR
+2465719936,2465720063,NO
+2465720064,2465720191,FR
+2465720192,2465726463,NO
2465726464,2465791999,CH
2465792000,2465857535,FR
2465857536,2465923071,US
@@ -66524,10 +77015,11 @@
2467102720,2467233791,SE
2467233792,2468020223,US
2468020224,2468085759,GR
-2468085760,2468151295,JP
+2468085760,2468151295,US
2468151296,2468189663,DK
2468189664,2468189695,GB
2468189696,2468216831,DK
+2468216832,2468282367,KZ
2468282368,2468347903,US
2468347904,2468478975,CZ
2468478976,2468937727,US
@@ -66628,7 +77120,7 @@
2479685632,2479947775,US
2479947776,2480013311,AU
2480013312,2480078847,FR
-2480078848,2480209919,AU
+2480078848,2480144383,AU
2480209920,2480275455,SK
2480275456,2480340991,SE
2480340992,2480406527,FR
@@ -66722,7 +77214,9 @@
2500038656,2500040703,IT
2500040704,2500042751,LB
2500042752,2500046847,SA
-2500046848,2500048895,IT
+2500046848,2500047359,IT
+2500047360,2500047615,DE
+2500047616,2500048895,IT
2500048896,2500050943,MD
2500050944,2500067327,KZ
2500067328,2501574655,US
@@ -66732,6 +77226,10 @@
2503081984,2503671807,US
2503671808,2503737343,NL
2503737344,2503868415,US
+2503868416,2503876607,RU
+2503876608,2503880703,ES
+2503880704,2503882751,RU
+2503882752,2503884799,DE
2503884800,2503901183,SI
2503901184,2503905279,IT
2503905280,2503907327,CZ
@@ -66751,8 +77249,12 @@
2508075008,2508077055,CH
2508077056,2508079103,BE
2508079104,2508081151,DE
-2508081152,2508081279,GB
-2508081280,2508083199,IL
+2508081152,2508081279,NL
+2508081280,2508081407,GB
+2508081408,2508081663,IL
+2508081664,2508081919,SG
+2508081920,2508082175,GB
+2508082176,2508083199,IL
2508083200,2508085247,IS
2508085248,2508087295,PS
2508087296,2508089343,RU
@@ -66790,43 +77292,19 @@
2509928448,2509930495,FI
2509930496,2509934591,RU
2509934592,2509936639,DE
-2509936640,2509936914,AT
-2509936915,2509936915,IR
-2509936916,2509937681,AT
-2509937682,2509937682,ME
-2509937683,2509937683,IR
-2509937684,2509937684,IQ
-2509937685,2509937685,AQ
-2509937686,2509937686,MP
-2509937687,2509937687,BT
-2509937688,2509937688,KP
-2509937689,2509937689,KY
-2509937690,2509937690,BS
-2509937691,2509937691,CU
-2509937692,2509937692,SO
-2509937693,2509937693,SZ
-2509937694,2509937694,NA
-2509937695,2509937695,AM
-2509937696,2509937697,CN
+2509936640,2509937681,AT
+2509937682,2509937682,KP
+2509937683,2509937697,BS
2509937698,2509937713,AT
-2509937714,2509937714,CV
-2509937715,2509937715,ER
-2509937716,2509937716,ET
-2509937717,2509937717,KE
-2509937718,2509937718,NG
-2509937719,2509937719,DO
-2509937720,2509937720,JM
-2509937721,2509937721,AG
-2509937722,2509937722,VI
-2509937723,2509937723,MQ
-2509937724,2509937724,KI
-2509937725,2509937725,VU
-2509937726,2509937726,TK
-2509937727,2509937727,MK
-2509937728,2509937728,TM
-2509937729,2509937729,IM
-2509937730,2509938431,AT
-2509938432,2509938687,DE
+2509937714,2509937729,IM
+2509937730,2509937737,EU
+2509937738,2509937919,AT
+2509937920,2509938175,IT
+2509938176,2509938431,US
+2509938432,2509938557,DE
+2509938558,2509938558,FR
+2509938559,2509938559,NL
+2509938560,2509938687,DE
2509938688,2509946879,UA
2509946880,2509963263,BE
2509963264,2510028799,GB
@@ -66853,19 +77331,22 @@
2513698816,2513764351,DK
2513764352,2514419711,DE
2514419712,2514485247,GB
-2514485248,2514514431,DE
-2514514432,2514514687,NL
-2514514688,2515599359,DE
+2514485248,2515599359,DE
2515599360,2515664895,GB
-2515664896,2516254719,DE
+2515664896,2516058111,DE
+2516123648,2516254719,DE
2516254720,2516320255,FR
2516320256,2516451327,US
2516451328,2516516863,GB
2516516864,2516520959,RU
2516520960,2516523007,SA
2516523008,2516525055,RU
-2516525056,2516525823,US
-2516525824,2516527103,NL
+2516525056,2516525431,US
+2516525432,2516525439,NL
+2516525440,2516526335,US
+2516526336,2516526591,NL
+2516526592,2516526719,US
+2516526720,2516527103,NL
2516527104,2516529151,GB
2516529152,2516531199,CH
2516531200,2516533247,GB
@@ -66938,7 +77419,7 @@
2531459072,2531524607,SE
2531524608,2531590143,US
2531590144,2531655679,AU
-2531655680,2532048895,US
+2531721216,2532048895,US
2532048896,2532114431,SE
2532114432,2532179967,GB
2532179968,2532376575,US
@@ -66950,7 +77431,10 @@
2533097472,2533228543,US
2533228544,2533294079,PL
2533294080,2533359615,CN
-2533359616,2539978751,IT
+2533359616,2533375999,UA
+2533376000,2533392383,HU
+2533392384,2533425151,RO
+2533425152,2539978751,IT
2539978752,2540240895,US
2540240896,2540306431,FI
2540306432,2540896255,US
@@ -66965,6 +77449,7 @@
2541944832,2542075903,US
2542075904,2542141439,GB
2542141440,2542206975,US
+2542206976,2542272511,TR
2542272512,2542338047,DE
2542338048,2543583231,US
2543583232,2543648767,SE
@@ -66973,7 +77458,6 @@
2543779840,2544500735,US
2544500736,2544566271,GB
2544566272,2544631807,US
-2544631808,2544697343,JP
2544697344,2544828415,US
2544828416,2544893951,EU
2544893952,2544959487,GB
@@ -67065,12 +77549,9 @@
2568224768,2568290303,SG
2568290304,2569142271,US
2569142272,2569404415,CN
-2569404416,2569601023,US
-2569601024,2569666559,CA
-2569666560,2569797631,US
+2569404416,2569797631,US
2569797632,2569863167,NO
-2569863168,2569928703,US
-2569928704,2569994239,CH
+2569863168,2569994239,CH
2569994240,2570125311,US
2570125312,2570190847,BE
2570190848,2572681215,US
@@ -67096,7 +77577,9 @@
2574319616,2574647295,US
2574647296,2574778367,CN
2574778368,2583691263,JP
-2583691264,2584215551,US
+2583691264,2584018943,US
+2584018944,2584084479,CA
+2584084480,2584215551,US
2584215552,2584281087,GB
2584281088,2584346623,US
2584346624,2584412159,KR
@@ -67203,7 +77686,6 @@
2618097664,2618163199,NZ
2618163200,2618228735,IT
2618228736,2618294271,US
-2618294272,2618359807,AU
2618359808,2618425343,PL
2618425344,2618490879,FR
2618490880,2618687487,US
@@ -67241,9 +77723,7 @@
2621636608,2621702143,DE
2621702144,2621767679,US
2621767680,2621833215,NZ
-2621833216,2622423039,US
-2622423040,2622488575,CA
-2622488576,2622685183,US
+2621833216,2622685183,US
2622685184,2622750719,NL
2622750720,2623602687,US
2623602688,2623668223,CL
@@ -67280,7 +77760,8 @@
2637561856,2638020607,US
2638020608,2638086143,CN
2638086144,2638151679,US
-2638151680,2639462399,JP
+2638151680,2639331327,JP
+2639396864,2639462399,JP
2639462400,2639593471,GB
2639593472,2639659007,AU
2639659008,2639724543,BR
@@ -67358,7 +77839,7 @@
2647523328,2647851007,US
2647851008,2647916543,AU
2647916544,2648899583,US
-2648899584,2648965119,IN
+2648899584,2648965119,AU
2648965120,2649030655,GB
2649030656,2649489407,US
2649489408,2649554943,GB
@@ -67382,13 +77863,36 @@
2653618176,2653683711,GB
2653683712,2653749247,KR
2653749248,2653814783,AU
+2653814784,2653880319,RU
2653880320,2653945855,IT
2653945856,2654011391,US
2654011392,2654076927,ES
-2654076928,2654142463,FR
+2654076928,2654085119,FR
+2654085120,2654089215,HK
+2654089216,2654093311,FR
+2654093312,2654097407,US
+2654097408,2654142463,FR
2654208000,2654339071,US
2654339072,2654404607,AU
-2654404608,2654994431,US
+2654404608,2654601215,US
+2654601216,2654629887,DE
+2654629888,2654633983,US
+2654633984,2654636031,RU
+2654636032,2654638079,IT
+2654638080,2654640127,DE
+2654640128,2654642175,NO
+2654642176,2654644223,GB
+2654644224,2654646271,IT
+2654646272,2654648319,FR
+2654648320,2654648645,IR
+2654648646,2654648646,SE
+2654648647,2654648655,IR
+2654648656,2654648656,SE
+2654648657,2654648665,IR
+2654648666,2654648666,SE
+2654648667,2654650367,IR
+2654650368,2654666751,BG
+2654666752,2654994431,US
2654994432,2655059967,LU
2655059968,2655125503,US
2655125504,2655191039,PL
@@ -67434,6 +77938,7 @@
2660171776,2660237311,GB
2660237312,2660302847,IN
2660302848,2660499455,US
+2660499456,2660564991,IT
2660564992,2660696063,NO
2660696064,2660761599,US
2660761600,2660827135,GB
@@ -67451,6 +77956,13 @@
2662072320,2662137855,ES
2662137856,2662203391,SE
2662203392,2662662143,GB
+2662662144,2662670335,KG
+2662670336,2662674431,AZ
+2662674432,2662676479,DE
+2662676480,2662678527,GB
+2662678528,2662686719,DE
+2662686720,2662694911,CH
+2662694912,2662727679,KG
2662727680,2662793215,HK
2662793216,2663251967,US
2663251968,2663448575,FR
@@ -67470,7 +77982,7 @@
2665480192,2665545727,US
2665545728,2665611263,DE
2665611264,2665676799,CH
-2665676800,2665742335,ES
+2665676800,2665742335,EU
2665742336,2665873407,US
2665873408,2665938943,GB
2665938944,2666004479,FR
@@ -67482,7 +77994,26 @@
2667118592,2667184127,HU
2667184128,2667249663,RU
2667249664,2667315199,CL
-2667315200,2667577343,US
+2667315200,2667511807,US
+2667511808,2667513855,RU
+2667513856,2667515903,GB
+2667515904,2667522047,CZ
+2667522048,2667524095,GB
+2667524096,2667526143,RU
+2667526144,2667528191,LV
+2667528192,2667532287,FR
+2667532288,2667534335,RU
+2667534336,2667536383,PL
+2667536384,2667544575,AT
+2667544576,2667560959,RU
+2667560960,2667565055,IT
+2667565056,2667566847,AT
+2667566848,2667567103,FR
+2667567104,2667569151,SE
+2667569152,2667571199,GB
+2667571200,2667573247,ES
+2667573248,2667575295,IT
+2667575296,2667577343,SK
2667577344,2667642879,SA
2667642880,2667970559,US
2667970560,2668036095,CA
@@ -67504,7 +78035,7 @@
2668896256,2668904447,GB
2668904448,2668912639,TR
2668912640,2668916735,IR
-2668916736,2668918783,RU
+2668916736,2668918783,TR
2668918784,2668920831,ES
2668920832,2668953599,IT
2668953600,2669019135,US
@@ -67553,7 +78084,9 @@
2673737728,2673803263,US
2673803264,2673868799,FR
2673868800,2674130943,US
-2674130944,2674262015,GB
+2674130944,2674249727,GB
+2674249728,2674251775,US
+2674251776,2674262015,GB
2674262016,2674327551,US
2674327552,2674393087,CH
2674393088,2674458623,GB
@@ -67601,12 +78134,7 @@
2678652928,2678718463,US
2678718464,2678783999,GB
2678784000,2678849535,NO
-2678849536,2678885375,US
-2678885376,2678885631,GB
-2678885632,2678885887,DE
-2678885888,2678886143,US
-2678886144,2678886399,NL
-2678886400,2678915071,US
+2678849536,2678915071,US
2678915072,2678980607,FR
2678980608,2679046143,US
2679046144,2679111679,CA
@@ -67665,7 +78193,9 @@
2683699200,2683830271,US
2683830272,2683895807,AU
2683895808,2684157951,US
-2684157952,2684159999,NL
+2684157952,2684158463,NL
+2684158464,2684158719,BE
+2684158720,2684159999,NL
2684160000,2684162047,NO
2684162048,2684164095,EE
2684164096,2684166143,SE
@@ -67677,16 +78207,552 @@
2684184576,2684186623,SK
2684186624,2684188671,DE
2684188672,2684190719,RU
-2684190720,2684198911,NL
-2684198912,2684200959,GB
+2684190720,2684190735,US
+2684190736,2684190751,NL
+2684190752,2684190815,US
+2684190816,2684190927,NL
+2684190928,2684190943,US
+2684190944,2684190959,NL
+2684190960,2684190967,US
+2684190968,2684190971,IN
+2684190972,2684190975,US
+2684190976,2684191039,CY
+2684191040,2684191103,NL
+2684191104,2684191167,CY
+2684191168,2684191231,NL
+2684191232,2684191239,HR
+2684191240,2684191247,IT
+2684191248,2684191259,AU
+2684191260,2684191263,US
+2684191264,2684191271,GB
+2684191272,2684191279,US
+2684191280,2684191287,GB
+2684191288,2684191295,EG
+2684191296,2684191303,HR
+2684191304,2684191307,EG
+2684191308,2684191311,NL
+2684191312,2684191319,US
+2684191320,2684191327,CA
+2684191328,2684191335,BR
+2684191336,2684191343,IE
+2684191344,2684191351,HR
+2684191352,2684191359,NL
+2684191360,2684191367,SG
+2684191368,2684191375,NL
+2684191376,2684191383,AU
+2684191384,2684191391,GB
+2684191392,2684191399,NO
+2684191400,2684191407,US
+2684191408,2684191423,NL
+2684191424,2684191439,AU
+2684191440,2684191455,CN
+2684191456,2684191503,US
+2684191504,2684191511,NL
+2684191512,2684191615,US
+2684191616,2684191743,DK
+2684191744,2684191767,NL
+2684191768,2684191807,US
+2684191808,2684191843,NL
+2684191844,2684191847,TR
+2684191848,2684191855,GB
+2684191856,2684191859,US
+2684191860,2684191863,AZ
+2684191864,2684191871,ES
+2684191872,2684191873,TR
+2684191874,2684191879,NL
+2684191880,2684191887,LT
+2684191888,2684191899,IT
+2684191900,2684191911,US
+2684191912,2684191919,KW
+2684191920,2684191927,TR
+2684191928,2684191935,US
+2684191936,2684191937,TR
+2684191938,2684191943,NL
+2684191944,2684191951,ES
+2684191952,2684191967,US
+2684191968,2684191975,NL
+2684191976,2684191999,US
+2684192000,2684192007,ES
+2684192008,2684192015,AE
+2684192016,2684192031,CN
+2684192032,2684192039,US
+2684192040,2684192047,AL
+2684192048,2684192055,US
+2684192056,2684192063,IN
+2684192064,2684192071,AL
+2684192072,2684192079,US
+2684192080,2684192087,IN
+2684192088,2684192095,SG
+2684192096,2684192103,CY
+2684192104,2684192107,GB
+2684192108,2684192109,CA
+2684192110,2684192111,TR
+2684192112,2684192119,CH
+2684192120,2684192127,DO
+2684192128,2684192135,IN
+2684192136,2684192143,GB
+2684192144,2684192159,NL
+2684192160,2684192175,IN
+2684192176,2684192191,JO
+2684192192,2684192199,US
+2684192200,2684192207,QA
+2684192208,2684192215,US
+2684192216,2684192223,CA
+2684192224,2684192231,TR
+2684192232,2684192239,US
+2684192240,2684192247,IN
+2684192248,2684192255,US
+2684192256,2684192263,NL
+2684192264,2684192265,TR
+2684192266,2684192266,EG
+2684192267,2684192267,SA
+2684192268,2684192271,NL
+2684192272,2684192279,US
+2684192280,2684192287,RU
+2684192288,2684192295,DK
+2684192296,2684192303,US
+2684192304,2684192319,NL
+2684192320,2684192327,US
+2684192328,2684192335,AE
+2684192336,2684192343,US
+2684192344,2684192347,AE
+2684192348,2684192351,SA
+2684192352,2684192359,NL
+2684192360,2684192371,US
+2684192372,2684192375,GB
+2684192376,2684192383,BM
+2684192384,2684192387,CA
+2684192388,2684192391,AE
+2684192392,2684192399,NL
+2684192400,2684192407,AU
+2684192408,2684192415,US
+2684192416,2684192423,CA
+2684192424,2684192427,CH
+2684192428,2684192431,NL
+2684192432,2684192439,BR
+2684192440,2684192447,NL
+2684192448,2684192459,TR
+2684192460,2684192463,CN
+2684192464,2684192471,US
+2684192472,2684192479,CN
+2684192480,2684192495,US
+2684192496,2684192503,GB
+2684192504,2684192507,HR
+2684192508,2684192509,CA
+2684192510,2684192510,BH
+2684192511,2684192511,RU
+2684192512,2684192545,US
+2684192546,2684192547,EG
+2684192548,2684192551,SA
+2684192552,2684192559,GB
+2684192560,2684192567,NL
+2684192568,2684192583,US
+2684192584,2684192591,DE
+2684192592,2684192599,US
+2684192600,2684192607,AE
+2684192608,2684192639,NL
+2684192640,2684192655,GR
+2684192656,2684192663,GB
+2684192664,2684192667,AE
+2684192668,2684192671,RU
+2684192672,2684192687,US
+2684192688,2684192695,NL
+2684192696,2684192703,IT
+2684192704,2684192711,BE
+2684192712,2684192715,NL
+2684192716,2684192719,CA
+2684192720,2684192727,NL
+2684192728,2684192731,BE
+2684192732,2684192735,IT
+2684192736,2684192767,US
+2684192768,2684192775,TR
+2684192776,2684192799,US
+2684192800,2684192807,GB
+2684192808,2684192823,PL
+2684192824,2684192831,CA
+2684192832,2684192839,NO
+2684192840,2684192867,US
+2684192868,2684192879,CN
+2684192880,2684192887,NL
+2684192888,2684192895,US
+2684192896,2684192927,LT
+2684192928,2684192939,ES
+2684192940,2684192951,US
+2684192952,2684192959,NL
+2684192960,2684192967,PL
+2684192968,2684192975,NL
+2684192976,2684192983,SA
+2684192984,2684192991,TR
+2684192992,2684192999,BR
+2684193000,2684193007,SA
+2684193008,2684193015,GB
+2684193016,2684193019,CN
+2684193020,2684193020,BH
+2684193021,2684193021,US
+2684193022,2684193022,ES
+2684193023,2684193023,NL
+2684193024,2684193031,TR
+2684193032,2684193039,GR
+2684193040,2684193055,BR
+2684193056,2684193059,TR
+2684193060,2684193063,GB
+2684193064,2684193071,US
+2684193072,2684193079,EG
+2684193080,2684193087,HR
+2684193088,2684193119,GB
+2684193120,2684193127,CN
+2684193128,2684193147,US
+2684193148,2684193151,GR
+2684193152,2684193159,NZ
+2684193160,2684193167,SA
+2684193168,2684193175,US
+2684193176,2684193183,NL
+2684193184,2684193195,TR
+2684193196,2684193199,CN
+2684193200,2684193215,BE
+2684193216,2684193223,US
+2684193224,2684193231,BR
+2684193232,2684193235,BM
+2684193236,2684193239,AE
+2684193240,2684193247,PK
+2684193248,2684193255,NL
+2684193256,2684193263,US
+2684193264,2684193271,NO
+2684193272,2684193279,CZ
+2684193280,2684193295,US
+2684193296,2684193303,NL
+2684193304,2684193311,HK
+2684193312,2684193319,IN
+2684193320,2684193327,AE
+2684193328,2684193335,BR
+2684193336,2684193375,US
+2684193376,2684193391,NL
+2684193392,2684193399,JO
+2684193400,2684193407,PL
+2684193408,2684193439,SA
+2684193440,2684193447,US
+2684193448,2684193455,NL
+2684193456,2684193467,US
+2684193468,2684193471,AE
+2684193472,2684193479,MX
+2684193480,2684193487,IN
+2684193488,2684193511,US
+2684193512,2684193519,NL
+2684193520,2684193527,US
+2684193528,2684193535,GB
+2684193536,2684193543,US
+2684193544,2684193551,NL
+2684193552,2684193559,SA
+2684193560,2684193567,CN
+2684193568,2684193575,NL
+2684193576,2684193583,CN
+2684193584,2684193591,RU
+2684193592,2684193599,ES
+2684193600,2684193607,IN
+2684193608,2684193615,CN
+2684193616,2684193623,IN
+2684193624,2684193631,GR
+2684193632,2684193647,IN
+2684193648,2684193655,AU
+2684193656,2684193659,CN
+2684193660,2684193663,US
+2684193664,2684193671,CH
+2684193672,2684193675,US
+2684193676,2684193679,NL
+2684193680,2684193687,DE
+2684193688,2684193691,US
+2684193692,2684193695,GR
+2684193696,2684193711,GB
+2684193712,2684193719,TR
+2684193720,2684193727,CN
+2684193728,2684193759,US
+2684193760,2684193767,GB
+2684193768,2684193775,AR
+2684193776,2684193789,US
+2684193790,2684193790,NL
+2684193791,2684193791,CH
+2684193792,2684193799,AE
+2684193800,2684193807,FR
+2684193808,2684193815,NL
+2684193816,2684193823,GB
+2684193824,2684193831,ES
+2684193832,2684193855,US
+2684193856,2684193871,GB
+2684193872,2684193911,US
+2684193912,2684193919,AT
+2684193920,2684193927,US
+2684193928,2684193931,AT
+2684193932,2684193935,GB
+2684193936,2684193951,US
+2684193952,2684193959,IN
+2684193960,2684193963,CN
+2684193964,2684193967,NL
+2684193968,2684193975,IL
+2684193976,2684193983,DK
+2684193984,2684193999,US
+2684194000,2684194007,NL
+2684194008,2684194039,US
+2684194040,2684194047,MT
+2684194048,2684194055,IT
+2684194056,2684194087,US
+2684194088,2684194095,GR
+2684194096,2684194103,NL
+2684194104,2684194119,US
+2684194120,2684194127,BG
+2684194128,2684194135,GB
+2684194136,2684194143,MX
+2684194144,2684194151,US
+2684194152,2684194159,EG
+2684194160,2684194167,IN
+2684194168,2684194171,NL
+2684194172,2684194175,IL
+2684194176,2684194207,LT
+2684194208,2684194215,AZ
+2684194216,2684194223,IL
+2684194224,2684194271,NL
+2684194272,2684194279,GB
+2684194280,2684194287,BZ
+2684194288,2684194295,NL
+2684194296,2684194303,CA
+2684194304,2684194311,SE
+2684194312,2684194319,IL
+2684194320,2684194327,SA
+2684194328,2684194335,TR
+2684194336,2684194343,LV
+2684194344,2684194351,IL
+2684194352,2684194367,US
+2684194368,2684194391,NL
+2684194392,2684194399,US
+2684194400,2684194407,GR
+2684194408,2684194423,NZ
+2684194424,2684194431,SA
+2684194432,2684194463,SG
+2684194464,2684194471,BR
+2684194472,2684194479,TR
+2684194480,2684194495,GB
+2684194496,2684194503,NG
+2684194504,2684194507,TR
+2684194508,2684194511,SE
+2684194512,2684194519,GB
+2684194520,2684194527,IT
+2684194528,2684194535,US
+2684194536,2684194539,NG
+2684194540,2684194543,CN
+2684194544,2684194551,NL
+2684194552,2684194559,IN
+2684194560,2684194679,US
+2684194680,2684194687,NL
+2684194688,2684194695,SG
+2684194696,2684194703,DK
+2684194704,2684194711,NL
+2684194712,2684194719,LV
+2684194720,2684194727,NL
+2684194728,2684194751,DK
+2684194752,2684194767,US
+2684194768,2684194815,DK
+2684194816,2684194823,US
+2684194824,2684194831,SA
+2684194832,2684194847,US
+2684194848,2684194855,IT
+2684194856,2684194863,UG
+2684194864,2684194871,US
+2684194872,2684194879,SA
+2684194880,2684194887,AE
+2684194888,2684194895,ES
+2684194896,2684194911,NL
+2684194912,2684194919,PT
+2684194920,2684194927,NL
+2684194928,2684194931,TR
+2684194932,2684194935,BM
+2684194936,2684194943,CN
+2684194944,2684194951,NL
+2684194952,2684194959,US
+2684194960,2684194967,MA
+2684194968,2684194975,PK
+2684194976,2684194983,NL
+2684194984,2684194991,US
+2684194992,2684194999,NL
+2684195000,2684195007,DK
+2684195008,2684195039,IN
+2684195040,2684195047,NL
+2684195048,2684195055,ES
+2684195056,2684195063,DK
+2684195064,2684195071,GR
+2684195072,2684195079,US
+2684195080,2684195087,ES
+2684195088,2684195095,NL
+2684195096,2684195111,US
+2684195112,2684195119,SA
+2684195120,2684195127,CA
+2684195128,2684195135,GB
+2684195136,2684195167,US
+2684195168,2684195199,CY
+2684195200,2684195295,US
+2684195296,2684195303,DE
+2684195304,2684195307,NL
+2684195308,2684195319,US
+2684195320,2684195323,GB
+2684195324,2684195351,US
+2684195352,2684195359,ES
+2684195360,2684195367,US
+2684195368,2684195371,ES
+2684195372,2684195375,MA
+2684195376,2684195383,IT
+2684195384,2684195391,NL
+2684195392,2684195407,US
+2684195408,2684195415,GB
+2684195416,2684195431,NL
+2684195432,2684195439,GB
+2684195440,2684195455,DK
+2684195456,2684195487,CN
+2684195488,2684195495,TW
+2684195496,2684195503,NL
+2684195504,2684195511,SA
+2684195512,2684195519,US
+2684195520,2684195551,NL
+2684195552,2684195559,BA
+2684195560,2684195567,CA
+2684195568,2684195575,US
+2684195576,2684195583,TR
+2684195584,2684195647,US
+2684195648,2684195655,BA
+2684195656,2684195663,US
+2684195664,2684195675,NL
+2684195676,2684195679,TR
+2684195680,2684195683,AE
+2684195684,2684195685,NL
+2684195686,2684195686,US
+2684195687,2684195687,SA
+2684195688,2684195695,GB
+2684195696,2684195703,US
+2684195704,2684195711,CN
+2684195712,2684195712,US
+2684195713,2684195715,NL
+2684195716,2684195719,US
+2684195720,2684195727,GB
+2684195728,2684195735,NL
+2684195736,2684195743,CA
+2684195744,2684195751,US
+2684195752,2684195759,BE
+2684195760,2684195767,US
+2684195768,2684195775,KW
+2684195776,2684195783,CN
+2684195784,2684195791,EG
+2684195792,2684195799,KW
+2684195800,2684195807,AF
+2684195808,2684195815,NL
+2684195816,2684195823,GB
+2684195824,2684195831,AF
+2684195832,2684195839,HR
+2684195840,2684195855,US
+2684195856,2684195863,GB
+2684195864,2684195867,UG
+2684195868,2684195871,ES
+2684195872,2684195879,AT
+2684195880,2684195887,US
+2684195888,2684195903,NL
+2684195904,2684195911,IN
+2684195912,2684195919,CN
+2684195920,2684195935,NL
+2684195936,2684195967,AF
+2684195968,2684195975,CN
+2684195976,2684195979,TR
+2684195980,2684195983,US
+2684195984,2684195991,BD
+2684195992,2684195999,IE
+2684196000,2684196007,US
+2684196008,2684196015,FR
+2684196016,2684196031,US
+2684196032,2684196047,MA
+2684196048,2684196055,AT
+2684196056,2684196063,ES
+2684196064,2684196071,US
+2684196072,2684196079,EG
+2684196080,2684196087,NL
+2684196088,2684196095,GB
+2684196096,2684196159,US
+2684196160,2684196191,AF
+2684196192,2684196199,SA
+2684196200,2684196207,ES
+2684196208,2684196255,NL
+2684196256,2684196271,US
+2684196272,2684196279,EG
+2684196280,2684196303,DK
+2684196304,2684196319,NL
+2684196320,2684196335,US
+2684196336,2684196343,CN
+2684196344,2684196347,TR
+2684196348,2684196351,US
+2684196352,2684196399,NL
+2684196400,2684196415,TR
+2684196416,2684196431,NL
+2684196432,2684196439,US
+2684196440,2684196447,DK
+2684196448,2684196463,NL
+2684196464,2684196511,DK
+2684196512,2684196527,NL
+2684196528,2684196535,DK
+2684196536,2684196543,US
+2684196544,2684196551,DK
+2684196552,2684196575,NL
+2684196576,2684196591,US
+2684196592,2684196607,NL
+2684196608,2684196639,EG
+2684196640,2684196671,GB
+2684196672,2684196703,EG
+2684196704,2684196783,NL
+2684196784,2684196791,TR
+2684196792,2684196799,US
+2684196800,2684196863,NL
+2684196864,2684196871,US
+2684196872,2684196879,MX
+2684196880,2684196895,NL
+2684196896,2684196903,RU
+2684196904,2684196911,NL
+2684196912,2684196919,US
+2684196920,2684196927,NL
+2684196928,2684196959,US
+2684196960,2684196963,NL
+2684196964,2684196967,US
+2684196968,2684196975,BR
+2684196976,2684196983,US
+2684196984,2684196987,DK
+2684196988,2684197071,NL
+2684197072,2684197079,MX
+2684197080,2684197087,NL
+2684197088,2684197103,US
+2684197104,2684197107,TR
+2684197108,2684197111,NL
+2684197112,2684197115,TR
+2684197116,2684197119,US
+2684197120,2684197211,NL
+2684197212,2684197215,US
+2684197216,2684197271,NL
+2684197272,2684197279,HR
+2684197280,2684197287,NL
+2684197288,2684197295,AU
+2684197296,2684197303,HR
+2684197304,2684197307,PL
+2684197308,2684197311,US
+2684197312,2684197319,NL
+2684197320,2684197327,SA
+2684197328,2684197335,BR
+2684197336,2684197359,NL
+2684197360,2684197367,TR
+2684197368,2684197371,PL
+2684197372,2684197375,NL
+2684197376,2684197887,GB
+2684197888,2684198911,NL
+2684198912,2684199423,GB
+2684199424,2684199679,EU
+2684199680,2684200959,GB
2684200960,2684203007,RU
-2684203008,2684204031,CZ
-2684204032,2684204543,HK
-2684204544,2684205055,GB
+2684203008,2684205055,GB
2684205056,2684207103,IT
2684207104,2684213247,GB
2684213248,2684215295,MK
-2684215296,2684217343,BE
+2684215296,2684216831,BE
+2684216832,2684217343,EU
2684217344,2684219391,CZ
2684219392,2684221439,PL
2684221440,2684223487,IL
@@ -67703,9 +78769,17 @@
2684338176,2684338303,NL
2684338304,2684338399,ES
2684338400,2684338687,NL
-2684338688,2684340223,ES
-2684342272,2684344319,GB
-2684344320,2684346367,NL
+2684338688,2684339103,ES
+2684339104,2684339119,NL
+2684339120,2684339135,ES
+2684339136,2684339199,NL
+2684339200,2684340223,ES
+2684340224,2684344319,GB
+2684344320,2684345343,NL
+2684345344,2684345471,US
+2684345472,2684345599,NL
+2684345600,2684345855,US
+2684345856,2684346367,NL
2684346368,2684354559,FI
2684354560,2684616703,US
2684616704,2684682239,NZ
@@ -67721,7 +78795,10 @@
2686910464,2686975999,US
2686976000,2687041535,GR
2687041536,2687238143,US
-2687238144,2687297824,DE
+2687238144,2687297231,DE
+2687297232,2687297239,GB
+2687297240,2687297247,SE
+2687297248,2687297824,DE
2687297825,2687297828,FR
2687297829,2687299119,DE
2687299120,2687299127,US
@@ -67801,7 +78878,6 @@
2698248192,2698313727,US
2698313728,2698379263,GB
2698379264,2698444799,ES
-2698444800,2698510335,JP
2698510336,2698706943,CZ
2698706944,2698772479,CH
2698772480,2698838015,IT
@@ -67811,7 +78887,8 @@
2699231232,2699296767,US
2699296768,2699362303,FR
2699362304,2699624447,US
-2699624448,2700935167,JP
+2699624448,2699689983,JP
+2699755520,2700935167,JP
2700935168,2701066239,US
2701197312,2701262847,US
2701262848,2701328383,GB
@@ -67884,7 +78961,6 @@
2708471808,2708537343,GB
2708537344,2708733951,US
2708733952,2708799487,ES
-2708799488,2708865023,AU
2708865024,2708930559,JP
2708930560,2709127167,US
2709127168,2709192703,KR
@@ -67933,9 +79009,7 @@
2717450240,2717646847,US
2717646848,2717712383,KW
2717712384,2717843455,US
-2717908992,2718171135,US
-2718171136,2718236671,JP
-2718236672,2718629887,US
+2717908992,2718629887,US
2718629888,2718695423,GB
2718695424,2718760959,US
2718760960,2718826495,GB
@@ -67994,7 +79068,6 @@
2742812672,2742878207,US
2742878208,2742943743,CN
2742943744,2743009279,US
-2743009280,2743140351,AU
2743140352,2743205887,US
2743205888,2743992319,JP
2743992320,2744057855,CN
@@ -68048,6 +79121,7 @@
2751070208,2751135743,CL
2751135744,2751397887,US
2751397888,2751463423,KR
+2751463424,2751528959,KZ
2751528960,2751660031,FR
2751660032,2751725567,AT
2751725568,2751791103,SE
@@ -68065,6 +79139,18 @@
2753822720,2753888255,GB
2753888256,2753953791,SE
2753953792,2754084863,GB
+2754084864,2754117631,KZ
+2754117632,2754125823,NL
+2754125824,2754127871,DE
+2754127872,2754129919,SK
+2754129920,2754131967,SE
+2754131968,2754134015,PL
+2754134016,2754138111,DE
+2754138112,2754142207,GB
+2754142208,2754144255,BA
+2754144256,2754146303,DE
+2754146304,2754148351,PL
+2754148352,2754150399,MK
2754150400,2754215935,BR
2754215936,2754281471,PR
2754281472,2754347007,JP
@@ -68078,7 +79164,9 @@
2755330048,2755395583,DE
2755395584,2755461119,FR
2755461120,2755526655,DE
-2755526656,2755985407,US
+2755526656,2755592191,US
+2755592192,2755657727,GB
+2755657728,2755985407,US
2755985408,2756182015,JP
2756182016,2756247551,US
2756247552,2756313087,UY
@@ -68112,6 +79200,7 @@
2759000064,2759065599,TH
2759065600,2759589887,US
2759589888,2759720959,KR
+2759720960,2759852031,PL
2759852032,2759883439,CH
2759883440,2759883443,LI
2759883444,2759883451,CH
@@ -68146,16 +79235,32 @@
2762276864,2762342399,US
2762342400,2762407935,CA
2762407936,2763063295,US
+2763063296,2763096063,FR
+2763096064,2763104255,GB
+2763104256,2763108351,DE
+2763108352,2763110399,RU
+2763110400,2763112447,NL
+2763112448,2763128831,BY
2763128832,2763194367,CA
-2763194368,2768240639,US
+2763194368,2765553663,US
+2765553664,2765561855,CY
+2765561856,2765563903,FI
+2765563904,2765565951,IR
+2765565952,2765567999,RU
+2765568000,2765570047,IR
+2765570048,2765578239,RU
+2765578240,2765580287,AZ
+2765580288,2765582335,GB
+2765582336,2765586431,CZ
+2765586432,2765619199,IR
+2765619200,2768240639,US
2768306176,2768437247,US
2768437248,2768633855,ZA
2768633856,2768764927,US
2768764928,2769027071,ZA
2769027072,2769092607,AU
2769092608,2769158143,US
-2769158144,2769289215,JP
-2769354752,2769485823,JP
+2769158144,2769223679,JP
2769485824,2769616895,US
2769616896,2769682431,SG
2769682432,2769747967,US
@@ -68199,7 +79304,8 @@
2778071040,2778333183,US
2778333184,2778398719,CA
2778398720,2779054079,US
-2779054080,2779119615,ZA
+2779054080,2779070463,SZ
+2779070464,2779119615,ZA
2779119616,2779906047,US
2779906048,2779971583,CA
2779971584,2780037119,US
@@ -68319,7 +79425,13 @@
2788230704,2788230719,GB
2788230720,2788230727,CH
2788230728,2788230735,GB
-2788230736,2788233263,US
+2788230736,2788231751,US
+2788231752,2788231759,SG
+2788231760,2788232583,US
+2788232584,2788232591,SG
+2788232592,2788232599,US
+2788232600,2788232607,SG
+2788232608,2788233263,US
2788233264,2788233271,GB
2788233272,2788234279,US
2788234280,2788234287,CA
@@ -68351,7 +79463,6 @@
2789998592,2790129663,US
2790195200,2790260735,KR
2790260736,2790326271,US
-2790326272,2790391807,HK
2790391808,2790410495,US
2790410496,2790410751,AQ
2790410752,2790457343,US
@@ -68365,7 +79476,6 @@
2791636992,2791768063,US
2791768064,2791899135,KR
2791899136,2791964671,US
-2791964672,2792030207,NZ
2792030208,2792226815,US
2792226816,2792292351,CL
2792292352,2792357887,CN
@@ -68473,7 +79583,9 @@
2816004352,2816004367,US
2816004368,2816004415,IL
2816004416,2816004479,US
-2816004480,2816008191,IL
+2816004480,2816004703,IL
+2816004704,2816004711,GB
+2816004712,2816008191,IL
2816008192,2816008207,IE
2816008208,2816010495,IL
2816010496,2816010751,US
@@ -68607,14 +79719,7 @@
2848522240,2848587775,AU
2848587776,2848653311,ZA
2848653312,2848980991,US
-2848980992,2849177855,KR
-2849177856,2849178111,CN
-2849178112,2849178623,KR
-2849178624,2849178879,ID
-2849178880,2849179135,VN
-2849179136,2849898495,KR
-2849898496,2849898751,AU
-2849898752,2849964031,KR
+2848980992,2849964031,KR
2849964032,2850029567,CN
2850029568,2851995647,US
2852126720,2853306367,US
@@ -68624,17 +79729,16 @@
2853830656,2854617087,US
2854617088,2854682623,MY
2854748160,2855469055,US
-2855469056,2855534591,AR
+2855469056,2855477247,AR
+2855477248,2855481343,PY
+2855481344,2855534591,AR
2855534592,2856058879,US
2856058880,2856124415,CH
2856124416,2856452095,US
2856452096,2856517631,BR
2856517632,2856714239,US
2856714240,2856779775,MX
-2856779776,2857369599,US
-2857631744,2858352639,US
-2858352640,2858418175,SG
-2858418176,2859007999,US
+2856779776,2859007999,US
2859008000,2859073535,JP
2859073536,2862284799,US
2862284800,2862350335,AR
@@ -68681,6 +79785,39 @@
2870542336,2870575103,CH
2870575104,2870583295,SE
2870583296,2870584319,NO
+2870584320,2870585343,RU
+2870585344,2870587391,UA
+2870587392,2870587647,CZ
+2870587648,2870587903,RU
+2870588160,2870588415,NL
+2870588416,2870588927,HU
+2870588928,2870589439,PL
+2870589440,2870590975,RU
+2870590976,2870591231,LV
+2870591232,2870591487,IT
+2870591488,2870591743,PL
+2870591744,2870591999,SE
+2870592000,2870592511,RU
+2870592512,2870593535,PL
+2870593536,2870594047,GB
+2870594048,2870594559,RU
+2870594560,2870595583,UA
+2870595584,2870596607,FR
+2870596608,2870597631,RU
+2870597632,2870597887,PL
+2870597888,2870598143,BE
+2870598144,2870598655,LV
+2870598656,2870599423,CZ
+2870599424,2870599679,RO
+2870599680,2870599935,KW
+2870599936,2870600191,DE
+2870600192,2870600703,PL
+2870600704,2870600959,DK
+2870600960,2870601215,BE
+2870601216,2870601727,PL
+2870601728,2870602751,RU
+2870602752,2870604287,UA
+2870604288,2870607871,RU
2870607872,2870673407,BE
2870673408,2870738943,CH
2870738944,2870935551,GB
@@ -68723,24 +79860,18 @@
2899378176,2899443711,GB
2899443712,2899574783,FR
2899574784,2899902463,GB
-2902458368,2902462463,A1
+2902458368,2902461439,A1
+2902461440,2902461695,US
+2902461696,2902462463,A1
2902462464,2902470775,US
2902470776,2902470777,BD
2902470778,2902470936,US
2902470937,2902470938,LK
2902470939,2902470986,US
2902470987,2902470989,BD
-2902470990,2902471468,US
-2902471469,2902471470,AU
-2902471471,2902471895,US
-2902471896,2902471897,AU
-2902471898,2902471960,US
-2902471961,2902471962,AU
-2902471963,2902472018,US
+2902470990,2902472018,US
2902472019,2902472021,AL
-2902472022,2902472037,US
-2902472038,2902472039,AU
-2902472040,2902472725,US
+2902472022,2902472725,US
2902472726,2902472728,BD
2902472729,2902472788,US
2902472789,2902472790,LK
@@ -68770,45 +79901,58 @@
2902507520,2902515711,CA
2902515712,2904555519,US
2904555520,2904817663,CA
-2904817664,2905350751,US
-2905350752,2905350783,RU
-2905350784,2905376767,US
+2904817664,2905376119,US
+2905376120,2905376127,MX
+2905376128,2905376207,US
+2905376208,2905376223,GB
+2905376224,2905376391,US
+2905376392,2905376399,PK
+2905376400,2905376415,US
+2905376416,2905376423,AZ
+2905376424,2905376431,TW
+2905376432,2905376447,US
+2905376448,2905376455,HK
+2905376456,2905376463,PK
+2905376464,2905376471,HK
+2905376472,2905376511,US
+2905376512,2905376575,HK
+2905376576,2905376607,CN
+2905376608,2905376615,CA
+2905376616,2905376767,US
2905376768,2905377535,CA
-2905377536,2905378303,US
-2905378304,2905378815,CA
+2905377536,2905378495,US
+2905378496,2905378559,GB
+2905378560,2905378815,CA
2905378816,2905379071,US
-2905379072,2905379583,CA
-2905379584,2905380607,US
+2905379072,2905379327,CA
+2905379328,2905380607,US
2905380608,2905380863,CA
-2905380864,2905381887,US
-2905381888,2905382016,CA
-2905382017,2905384959,US
-2905384960,2905385471,CA
-2905385472,2905385951,US
+2905380864,2905384959,US
+2905384960,2905385215,CA
+2905385216,2905385911,US
+2905385912,2905385919,VN
+2905385920,2905385927,US
+2905385928,2905385935,HK
+2905385936,2905385943,PK
+2905385944,2905385951,CN
2905385952,2905385983,CR
-2905385984,2905388031,US
-2905388032,2905388287,CA
-2905388288,2905391327,US
+2905385984,2905390879,US
+2905390880,2905390895,GB
+2905390896,2905390903,CN
+2905390904,2905390911,PK
+2905390912,2905391327,US
2905391328,2905391335,CR
-2905391336,2905391359,US
-2905391360,2905391391,CR
-2905391392,2905392895,US
-2905392896,2905393151,CA
-2905393152,2905394175,US
-2905394176,2905394943,CA
-2905394944,2905395455,US
-2905395456,2905396991,CA
-2905396992,2905399039,US
-2905399040,2905399295,CA
-2905399296,2905407743,US
+2905391336,2905391599,US
+2905391600,2905391615,GB
+2905391616,2905394175,US
+2905394176,2905394687,CA
+2905394688,2905407743,US
2905407744,2905407999,TW
-2905408000,2905428967,US
-2905428968,2905428975,AE
-2905428976,2905432975,US
+2905408000,2905415679,US
+2905415680,2905415935,GB
+2905415936,2905432975,US
2905432976,2905432983,AE
-2905432984,2905441535,US
-2905441536,2905441791,DE
-2905441792,2905446655,US
+2905432984,2905446655,US
2905446656,2905446911,DE
2905446912,2905449983,US
2905449984,2905451007,CA
@@ -68820,7 +79964,467 @@
2905473024,2905481215,CA
2905481216,2913992703,US
2913992704,2914516991,CA
-2914516992,2915250175,US
+2914516992,2915041343,US
+2915041344,2915041407,AU
+2915041408,2915041855,US
+2915041856,2915041887,SA
+2915041888,2915042239,US
+2915042240,2915042271,CO
+2915042272,2915042631,US
+2915042632,2915042639,GB
+2915042640,2915043231,US
+2915043232,2915043247,AU
+2915043248,2915043775,US
+2915043776,2915043807,AU
+2915043808,2915043839,US
+2915043840,2915043871,IN
+2915043872,2915044031,US
+2915044032,2915044063,AU
+2915044064,2915044159,US
+2915044160,2915044223,AU
+2915044224,2915044287,US
+2915044288,2915044319,AU
+2915044320,2915044383,US
+2915044384,2915044415,SA
+2915044416,2915044575,US
+2915044576,2915044583,GB
+2915044584,2915044591,US
+2915044592,2915044599,MX
+2915044600,2915044663,US
+2915044664,2915044671,IN
+2915044672,2915044927,US
+2915044928,2915044959,GB
+2915044960,2915045543,US
+2915045544,2915045551,SA
+2915045552,2915045695,US
+2915045696,2915045703,PS
+2915045704,2915046359,US
+2915046360,2915046367,SA
+2915046368,2915046591,US
+2915046592,2915046623,AU
+2915046624,2915046767,US
+2915046768,2915046775,AU
+2915046776,2915046783,US
+2915046784,2915046847,AU
+2915046848,2915046927,US
+2915046928,2915046943,VN
+2915046944,2915048223,US
+2915048224,2915048255,AU
+2915048256,2915048863,US
+2915048864,2915048871,IN
+2915048872,2915048967,US
+2915048968,2915048975,GB
+2915048976,2915049055,US
+2915049056,2915049063,AU
+2915049064,2915049223,US
+2915049224,2915049231,SA
+2915049232,2915049295,US
+2915049296,2915049303,SA
+2915049304,2915049343,US
+2915049344,2915049375,SA
+2915049376,2915050727,US
+2915050728,2915050735,AU
+2915050736,2915051551,US
+2915051552,2915051567,IN
+2915051568,2915051711,US
+2915051712,2915051743,AU
+2915051744,2915051759,US
+2915051760,2915051767,AU
+2915051768,2915052031,US
+2915052032,2915052039,DE
+2915052040,2915052447,US
+2915052448,2915052479,AU
+2915052480,2915052575,US
+2915052576,2915052583,PH
+2915052584,2915053423,US
+2915053424,2915053439,AF
+2915053440,2915053607,US
+2915053608,2915053615,AU
+2915053616,2915053703,US
+2915053704,2915053711,IN
+2915053712,2915053719,US
+2915053720,2915053727,AU
+2915053728,2915053903,US
+2915053904,2915053911,PA
+2915053912,2915054175,US
+2915054176,2915054183,SA
+2915054184,2915054207,US
+2915054208,2915054239,AU
+2915054240,2915054431,US
+2915054432,2915054439,UY
+2915054440,2915054623,US
+2915054624,2915054655,IN
+2915054656,2915054863,US
+2915054864,2915054879,LT
+2915054880,2915055295,US
+2915055296,2915055327,AR
+2915055328,2915056703,US
+2915056704,2915056735,IN
+2915056736,2915056959,US
+2915056960,2915057023,AU
+2915057024,2915057175,US
+2915057176,2915057183,IN
+2915057184,2915057215,US
+2915057216,2915057247,IN
+2915057248,2915059111,US
+2915059112,2915059119,GB
+2915059120,2915059167,US
+2915059168,2915059183,GB
+2915059184,2915059191,AU
+2915059192,2915059391,US
+2915059392,2915059423,AU
+2915059424,2915059471,US
+2915059472,2915059479,BR
+2915059480,2915060159,US
+2915060160,2915060191,AR
+2915060192,2915061503,US
+2915061504,2915061535,HK
+2915061536,2915062055,US
+2915062056,2915062063,GB
+2915062064,2915062143,US
+2915062144,2915062207,GB
+2915062208,2915063015,US
+2915063016,2915063023,TR
+2915063024,2915063103,US
+2915063104,2915063135,GB
+2915063136,2915063199,US
+2915063200,2915063207,CA
+2915063208,2915063647,US
+2915063648,2915063655,TR
+2915063656,2915063679,US
+2915063680,2915063711,TR
+2915063712,2915066999,US
+2915067000,2915067007,TR
+2915067008,2915073679,US
+2915073680,2915073687,BR
+2915073688,2915074063,US
+2915074064,2915074079,GB
+2915074080,2915074111,EG
+2915074112,2915074647,US
+2915074648,2915074655,ID
+2915074656,2915074719,US
+2915074720,2915074751,IN
+2915074752,2915075527,US
+2915075528,2915075535,CA
+2915075536,2915075631,US
+2915075632,2915075647,CN
+2915075648,2915076767,US
+2915076768,2915076799,CA
+2915076800,2915077143,US
+2915077144,2915077151,TH
+2915077152,2915077279,US
+2915077280,2915077311,IN
+2915077312,2915077911,US
+2915077912,2915077919,CN
+2915077920,2915077951,US
+2915077952,2915077983,CN
+2915077984,2915078495,US
+2915078496,2915078527,CA
+2915078528,2915078783,US
+2915078784,2915078815,BR
+2915078816,2915078847,US
+2915078848,2915078879,IN
+2915078880,2915079615,US
+2915079616,2915079623,CN
+2915079624,2915079719,US
+2915079720,2915079727,CN
+2915079728,2915080287,US
+2915080288,2915080319,IN
+2915080320,2915080511,US
+2915080512,2915080575,IN
+2915080576,2915081223,US
+2915081224,2915081231,EC
+2915081232,2915081415,US
+2915081416,2915081423,EG
+2915081424,2915081575,US
+2915081576,2915081583,CN
+2915081584,2915082895,US
+2915082896,2915082903,CA
+2915082904,2915083167,US
+2915083168,2915083183,ID
+2915083184,2915083879,US
+2915083880,2915083887,EG
+2915083888,2915083903,US
+2915083904,2915083911,EG
+2915083912,2915084423,US
+2915084424,2915084431,CN
+2915084432,2915084631,US
+2915084632,2915084639,CN
+2915084640,2915085071,US
+2915085072,2915085079,CN
+2915085080,2915087743,US
+2915087744,2915087759,IN
+2915087760,2915088759,US
+2915088760,2915088767,CA
+2915088768,2915088855,US
+2915088856,2915088863,CA
+2915088864,2915089015,US
+2915089016,2915089023,IN
+2915089024,2915089047,CA
+2915089048,2915089055,US
+2915089056,2915089063,CA
+2915089064,2915090479,US
+2915090480,2915090487,CL
+2915090488,2915090607,US
+2915090608,2915090623,KW
+2915090624,2915091135,US
+2915091136,2915091167,IN
+2915091168,2915091247,US
+2915091248,2915091255,RU
+2915091256,2915091327,US
+2915091328,2915091359,EG
+2915091360,2915091423,US
+2915091424,2915091431,KW
+2915091432,2915091719,US
+2915091720,2915091727,AF
+2915091728,2915092447,US
+2915092448,2915092455,MV
+2915092456,2915092495,US
+2915092496,2915092511,IN
+2915092512,2915092703,US
+2915092704,2915092719,SA
+2915092720,2915093407,US
+2915093408,2915093423,IN
+2915093424,2915093815,US
+2915093816,2915093823,CA
+2915093824,2915094255,US
+2915094256,2915094263,SA
+2915094264,2915094335,US
+2915094336,2915094367,SA
+2915094368,2915094607,US
+2915094608,2915094615,SA
+2915094616,2915094815,US
+2915094816,2915094823,SA
+2915094824,2915094879,US
+2915094880,2915094911,SA
+2915094912,2915095159,US
+2915095160,2915095167,IN
+2915095168,2915095359,US
+2915095360,2915095391,GB
+2915095392,2915095423,US
+2915095424,2915095455,TR
+2915095456,2915095711,US
+2915095712,2915095727,IN
+2915095728,2915095823,US
+2915095824,2915095839,AU
+2915095840,2915095847,IN
+2915095848,2915095951,US
+2915095952,2915095967,CN
+2915095968,2915095975,NZ
+2915095976,2915096111,US
+2915096112,2915096119,IT
+2915096120,2915096263,US
+2915096264,2915096271,IN
+2915096272,2915096543,US
+2915096544,2915096559,TR
+2915096560,2915096599,US
+2915096600,2915096607,GB
+2915096608,2915097071,US
+2915097072,2915097079,RS
+2915097080,2915097103,US
+2915097104,2915097111,AT
+2915097112,2915097167,US
+2915097168,2915097183,SA
+2915097184,2915097263,US
+2915097264,2915097271,SA
+2915097272,2915097351,US
+2915097352,2915097359,KW
+2915097360,2915097615,US
+2915097616,2915097623,SA
+2915097624,2915097631,US
+2915097632,2915097639,GB
+2915097640,2915097887,US
+2915097888,2915097919,VN
+2915097920,2915097951,BR
+2915097952,2915098015,US
+2915098016,2915098031,HK
+2915098032,2915098047,US
+2915098048,2915098063,HK
+2915098064,2915098143,US
+2915098144,2915098175,HK
+2915098176,2915098767,US
+2915098768,2915098775,SA
+2915098776,2915098823,US
+2915098824,2915098831,BZ
+2915098832,2915099519,US
+2915099520,2915099551,IN
+2915099552,2915099631,US
+2915099632,2915099639,SA
+2915099640,2915100271,US
+2915100272,2915100287,AR
+2915100288,2915100743,US
+2915100744,2915100751,RU
+2915100752,2915100799,US
+2915100800,2915100831,VN
+2915100832,2915100863,US
+2915100864,2915100879,LK
+2915100880,2915101423,US
+2915101424,2915101431,KW
+2915101432,2915101807,US
+2915101808,2915101815,GR
+2915101816,2915101919,US
+2915101920,2915101927,GR
+2915101928,2915101935,US
+2915101936,2915101943,KW
+2915101944,2915102335,US
+2915102336,2915102367,KW
+2915102368,2915107359,US
+2915107360,2915107391,SA
+2915107392,2915107647,US
+2915107648,2915107655,AU
+2915107656,2915108607,US
+2915108608,2915108615,AU
+2915108616,2915109087,US
+2915109088,2915109103,IN
+2915109104,2915110863,US
+2915110864,2915110871,AE
+2915110872,2915111103,US
+2915111104,2915111111,AU
+2915111112,2915111359,US
+2915111360,2915111391,BR
+2915111392,2915111487,US
+2915111488,2915111551,AU
+2915111552,2915111695,US
+2915111696,2915111703,CO
+2915111704,2915112207,US
+2915112208,2915112215,GB
+2915112216,2915112511,US
+2915112512,2915112575,AU
+2915112576,2915113055,US
+2915113056,2915113071,GB
+2915113072,2915113279,US
+2915113280,2915113343,IN
+2915113344,2915113791,US
+2915113792,2915113855,IN
+2915113856,2915114143,US
+2915114144,2915114175,LT
+2915114176,2915114911,US
+2915114912,2915114919,BR
+2915114920,2915115071,US
+2915115072,2915115135,AU
+2915115136,2915115647,US
+2915115648,2915115711,AU
+2915115712,2915115839,US
+2915115840,2915115967,AU
+2915115968,2915116159,US
+2915116160,2915116223,AU
+2915116224,2915117567,US
+2915117568,2915117599,SA
+2915117600,2915117951,US
+2915117952,2915118015,AU
+2915118016,2915118319,US
+2915118320,2915118327,IN
+2915118328,2915118351,US
+2915118352,2915118359,DE
+2915118360,2915118767,US
+2915118768,2915118775,SA
+2915118776,2915119519,US
+2915119520,2915119551,IN
+2915119552,2915122183,US
+2915122184,2915122191,ID
+2915122192,2915122271,US
+2915122272,2915122303,BR
+2915122304,2915122343,US
+2915122344,2915122351,PA
+2915122352,2915122751,US
+2915122752,2915122783,AU
+2915122784,2915122879,US
+2915122880,2915122911,AU
+2915122912,2915123103,US
+2915123104,2915123135,BR
+2915123136,2915134399,US
+2915134400,2915134431,MA
+2915134432,2915134463,US
+2915134464,2915134471,BD
+2915134472,2915135935,US
+2915135936,2915135943,MY
+2915135944,2915139647,US
+2915139648,2915139679,AU
+2915139680,2915140223,US
+2915140224,2915140231,AU
+2915140232,2915140415,US
+2915140416,2915140479,AU
+2915140480,2915140543,US
+2915140544,2915140575,AU
+2915140576,2915141631,US
+2915141632,2915141639,TR
+2915141640,2915141687,US
+2915141688,2915141695,CH
+2915141696,2915142407,US
+2915142408,2915142415,ID
+2915142416,2915143295,US
+2915143296,2915143327,BR
+2915143328,2915143871,US
+2915143872,2915143903,CV
+2915143904,2915144447,US
+2915144448,2915144455,AU
+2915144456,2915144735,US
+2915144736,2915144767,LT
+2915144768,2915145343,US
+2915145344,2915145375,AU
+2915145376,2915145599,US
+2915145600,2915145631,TR
+2915145632,2915146799,US
+2915146800,2915146807,UY
+2915146808,2915147615,US
+2915147616,2915147623,ZA
+2915147624,2915147695,US
+2915147696,2915147703,AR
+2915147704,2915147807,US
+2915147808,2915147815,BR
+2915147816,2915157407,US
+2915157408,2915157439,AU
+2915157440,2915158111,US
+2915158112,2915158143,TR
+2915158144,2915159935,US
+2915159936,2915159951,SG
+2915159952,2915159967,US
+2915159968,2915160031,IN
+2915160032,2915160295,US
+2915160296,2915160303,KW
+2915160304,2915160743,US
+2915160744,2915160751,BR
+2915160752,2915161431,US
+2915161432,2915161439,GB
+2915161440,2915161871,US
+2915161872,2915161879,IN
+2915161880,2915161895,US
+2915161896,2915161903,SG
+2915161904,2915162047,US
+2915162048,2915162055,SG
+2915162056,2915162847,US
+2915162848,2915162863,BR
+2915162864,2915162879,CA
+2915162880,2915162887,US
+2915162888,2915162895,BR
+2915162896,2915163775,US
+2915163776,2915163807,CA
+2915163808,2915164543,US
+2915164544,2915164575,TR
+2915164576,2915165535,US
+2915165536,2915165551,CA
+2915165552,2915165791,US
+2915165792,2915165807,LT
+2915165808,2915165887,US
+2915165888,2915165919,LT
+2915165920,2915166447,US
+2915166448,2915166455,PA
+2915166456,2915166783,US
+2915166784,2915166815,GB
+2915166816,2915166847,MA
+2915166848,2915168103,US
+2915168104,2915168111,PH
+2915168112,2915168351,US
+2915168352,2915168383,BR
+2915168384,2915169919,US
+2915169920,2915169983,GB
+2915169984,2915170143,US
+2915170144,2915170151,AF
+2915170152,2915171103,US
+2915171104,2915171135,IN
+2915171136,2915171967,US
+2915171968,2915171999,LT
+2915172000,2915250175,US
2915250176,2915254271,CA
2915254272,2915274751,US
2915274752,2915274815,PL
@@ -68837,7 +80441,13 @@
2915520512,2915521023,AU
2915521024,2915521279,JP
2915521280,2915521535,PL
-2915521536,2915765279,US
+2915521536,2915526911,US
+2915526912,2915527167,DE
+2915527168,2915527679,US
+2915527680,2915528715,NL
+2915528716,2915528719,US
+2915528720,2915528783,NL
+2915528784,2915765279,US
2915765280,2915765287,IN
2915765288,2915765367,US
2915765368,2915765375,ZA
@@ -68861,7 +80471,8 @@
2915767056,2915767063,GB
2915767064,2915767407,US
2915767408,2915767415,GB
-2915767416,2915767679,US
+2915767416,2915767663,US
+2915767664,2915767679,NZ
2915767680,2915767695,GB
2915767696,2915767743,US
2915767744,2915767775,GB
@@ -69112,15 +80723,11 @@
2915807440,2915807447,CA
2915807448,2915807455,US
2915807456,2915807463,PT
-2915807464,2915807519,US
-2915807520,2915807527,CA
-2915807528,2915807559,US
+2915807464,2915807559,US
2915807560,2915807567,CA
2915807568,2915807607,US
2915807608,2915807615,IL
-2915807616,2915807951,US
-2915807952,2915807959,CA
-2915807960,2915808095,US
+2915807616,2915808095,US
2915808096,2915808103,CA
2915808104,2915808183,US
2915808184,2915808191,CA
@@ -69128,9 +80735,7 @@
2915808248,2915808255,DE
2915808256,2915810471,US
2915810472,2915810479,GB
-2915810480,2915810647,US
-2915810648,2915810663,CA
-2915810664,2915811135,US
+2915810480,2915811135,US
2915811136,2915811199,IN
2915811200,2915821791,US
2915821792,2915821823,IL
@@ -69140,13 +80745,17 @@
2916101536,2916101543,CA
2916101544,2916101615,US
2916101616,2916101623,CA
-2916101624,2916118223,US
+2916101624,2916104703,US
+2916104704,2916104719,ZA
+2916104720,2916110399,US
+2916110400,2916110407,LK
+2916110408,2916118223,US
2916118224,2916118231,LK
2916118232,2916120823,US
2916120824,2916120831,CA
-2916120832,2916121087,US
-2916121088,2916121343,GB
-2916121344,2916163583,US
+2916120832,2916121367,US
+2916121368,2916121375,CA
+2916121376,2916163583,US
2916163584,2916171775,CA
2916171776,2916184063,US
2916184064,2916196351,CA
@@ -69156,11 +80765,9 @@
2916319232,2916335615,PR
2916335616,2916368383,US
2916368384,2916401151,CA
-2916401152,2916433919,US
-2916433920,2916434175,CA
-2916434176,2916434559,US
-2916434560,2916434591,CA
-2916434592,2916434623,US
+2916401152,2916410879,US
+2916410880,2916411135,GB
+2916411136,2916434623,US
2916434624,2916434655,CA
2916434656,2916436487,US
2916436488,2916436495,CA
@@ -69169,9 +80776,7 @@
2916436608,2916437039,US
2916437040,2916437047,DE
2916437048,2916437055,CN
-2916437056,2916437063,GB
-2916437064,2916437199,US
-2916437200,2916437207,GB
+2916437056,2916437207,US
2916437208,2916437215,TH
2916437216,2916437231,US
2916437232,2916437239,SG
@@ -69183,28 +80788,27 @@
2916440288,2916440295,CA
2916440296,2916441119,US
2916441120,2916441151,CA
-2916441152,2916441199,US
-2916441200,2916441207,MY
-2916441208,2916441343,US
+2916441152,2916441343,US
2916441344,2916442111,CA
-2916442112,2916442623,US
-2916442624,2916442879,CA
-2916442880,2916443614,US
+2916442112,2916443151,US
+2916443152,2916443159,GB
+2916443160,2916443614,US
2916443615,2916443647,CA
-2916443648,2916449279,US
-2916449280,2916450303,CA
-2916450304,2916478975,US
-2916478976,2916483071,A1
-2916483072,2916515839,US
+2916443648,2916515839,US
2916515840,2916519935,CA
-2916519936,2916530482,US
-2916530483,2916530552,AU
-2916530553,2916581375,US
+2916519936,2916528690,US
+2916528691,2916528715,CH
+2916528716,2916544927,US
+2916544928,2916544959,BZ
+2916544960,2916547839,US
+2916547840,2916547871,BZ
+2916547872,2916581375,US
2916581376,2916614143,PR
2916614144,2917167679,US
2917167680,2917167743,BR
-2917167744,2917167807,US
-2917167808,2917167839,RS
+2917167744,2917167775,US
+2917167776,2917167807,LT
+2917167808,2917167839,US
2917167840,2917167871,TR
2917167872,2917167903,US
2917167904,2917167935,TR
@@ -69227,30 +80831,26 @@
2917170016,2917170047,UA
2917170048,2917170079,BR
2917170080,2917170111,US
-2917170112,2917170143,RU
-2917170144,2917170239,US
-2917170240,2917170271,RU
+2917170112,2917170143,TR
+2917170144,2917170271,US
2917170272,2917170303,BR
-2917170304,2917193025,US
-2917193026,2917193087,SG
-2917193088,2917194145,US
-2917194146,2917194158,SG
-2917194159,2917194201,US
-2917194202,2917194206,SG
-2917194207,2917195775,US
-2917195776,2917196159,CA
+2917170304,2917195775,US
+2917195776,2917196031,A2
+2917196032,2917196159,CA
2917196160,2917196287,A2
2917196288,2917196415,CA
2917196416,2917199871,A2
2917199872,2917203967,CA
2917203968,2917210335,US
2917210336,2917210367,CA
-2917210368,2917210431,US
-2917210432,2917210463,HK
-2917210464,2917257215,US
+2917210368,2917257215,US
2917257216,2917261311,KY
2917261312,2917265407,US
-2917265408,2917269503,JM
+2917265408,2917267775,JM
+2917267776,2917267839,VG
+2917267840,2917268223,JM
+2917268224,2917268479,BB
+2917268480,2917269503,JM
2917269504,2917449727,US
2917449728,2917466111,PR
2917466112,2917572607,US
@@ -69311,14 +80911,11 @@
2917657856,2917657983,CN
2917657984,2917658367,US
2917658368,2917658495,CN
-2917658496,2917658879,US
-2917658880,2917659007,PH
-2917659008,2917659519,US
+2917658496,2917659519,US
2917659520,2917659647,HK
2917659648,2917659775,US
2917659776,2917659903,CN
-2917659904,2917660287,US
-2917660288,2917660415,MY
+2917659904,2917660415,US
2917660416,2917660543,CA
2917660544,2917660671,GI
2917660672,2917661183,GB
@@ -69329,45 +80926,25 @@
2917661952,2917662079,CN
2917662080,2917663231,US
2917663232,2917663487,CA
-2917663488,2917665791,US
-2917665792,2917666303,CA
-2917666304,2917667710,US
-2917667711,2917671935,CA
-2917671936,2917672191,US
+2917663488,2917672191,US
2917672192,2917672223,CA
-2917672224,2917675263,US
-2917675264,2917675775,CA
-2917675776,2917676031,US
-2917676032,2917677055,CA
-2917677056,2917680895,US
-2917680896,2917681407,CA
-2917681408,2917681919,US
-2917681920,2917682175,CA
-2917682176,2917682431,US
-2917682432,2917683455,CA
-2917683456,2917685503,US
-2917685504,2917686015,CA
-2917686016,2917690623,US
-2917690624,2917690879,CA
-2917690880,2917693183,US
-2917693184,2917693951,CA
-2917693952,2917695231,US
-2917695232,2917695487,CA
-2917695488,2917695743,US
-2917695744,2917696255,CA
-2917696256,2917702399,US
-2917702400,2917707007,CA
+2917672224,2917676031,US
+2917676032,2917676287,CA
+2917676288,2917699839,US
+2917699840,2917700351,CA
+2917700352,2917706239,US
+2917706240,2917707007,CA
2917707008,2917707519,US
2917707520,2917707775,CA
-2917707776,2917710591,US
-2917710592,2917710847,CA
-2917710848,2917714175,US
-2917714176,2917714431,CA
+2917707776,2917710079,US
+2917710080,2917710847,CA
+2917710848,2917713919,US
+2917713920,2917714431,CA
2917714432,2917715967,US
2917715968,2917716223,DE
-2917716224,2917718527,US
-2917718528,2917719039,CA
-2917719040,2917722367,US
+2917716224,2917718015,US
+2917718016,2917718527,CA
+2917718528,2917722367,US
2917722368,2917722623,CA
2917722624,2917724159,US
2917724160,2917724415,CA
@@ -69386,9 +80963,11 @@
2917802296,2917802303,CA
2917802304,2917802367,US
2917802368,2917802375,CA
-2917802376,2917802479,US
-2917802480,2917802487,CA
-2917802488,2917804911,US
+2917802376,2917804527,US
+2917804528,2917804535,LK
+2917804536,2917804879,US
+2917804880,2917804887,CA
+2917804888,2917804911,US
2917804912,2917804919,CA
2917804920,2917804935,US
2917804936,2917804943,CA
@@ -69401,8 +80980,10 @@
2917809936,2917811511,US
2917811512,2917811519,LK
2917811520,2917811583,US
-2917811584,2917811647,LK
-2917811648,2917815575,US
+2917811584,2917811711,LK
+2917811712,2917813679,US
+2917813680,2917813687,LK
+2917813688,2917815575,US
2917815576,2917815583,RO
2917815584,2917823871,US
2917823872,2917823887,CA
@@ -69414,19 +80995,23 @@
2917829728,2917829743,CA
2917829744,2917834143,US
2917834144,2917834151,CA
-2917834152,2917834751,US
-2917834752,2917835007,GB
-2917835008,2917835679,US
+2917834152,2917835679,US
2917835680,2917835687,CA
2917835688,2917842175,US
2917842176,2917842431,CA
-2917842432,2917853471,US
+2917842432,2917847063,US
+2917847064,2917847071,CA
+2917847072,2917853471,US
2917853472,2917853495,CA
2917853496,2917853519,US
2917853520,2917853535,CA
-2917853536,2917858047,US
-2917858048,2917858303,BE
-2917858304,2918014975,US
+2917853536,2917853567,US
+2917853568,2917853575,CA
+2917853576,2917853615,US
+2917853616,2917853623,CA
+2917853624,2917854591,US
+2917854592,2917854719,LK
+2917854720,2918014975,US
2918014976,2918023167,CA
2918023168,2918043647,US
2918043648,2918047743,CA
@@ -69440,7 +81025,9 @@
2918200288,2918200303,CA
2918200304,2918201551,US
2918201552,2918201567,CA
-2918201568,2918232063,US
+2918201568,2918202223,US
+2918202224,2918202239,CA
+2918202240,2918232063,US
2918232064,2918236159,CA
2918236160,2918260735,US
2918260736,2918264831,CA
@@ -69461,13 +81048,15 @@
2918404096,2918406911,PR
2918406912,2918407423,US
2918407424,2918408191,PR
-2918408192,2918416383,US
+2918408192,2918412903,US
+2918412904,2918412911,ES
+2918412912,2918412927,US
+2918412928,2918412935,ES
+2918412936,2918416383,US
2918416384,2918420479,CA
2918420480,2918432767,US
2918432768,2918436863,CA
-2918436864,2918460095,US
-2918460096,2918460159,GB
-2918460160,2918469631,US
+2918436864,2918469631,US
2918469632,2918471423,CA
2918471424,2918471679,US
2918471680,2918473727,CA
@@ -69476,8 +81065,8 @@
2918481920,2918514943,US
2918514944,2918515079,CA
2918515080,2918515199,US
-2918515200,2918515231,CA
-2918515232,2918532111,US
+2918515200,2918515327,CA
+2918515328,2918532111,US
2918532112,2918532119,CN
2918532120,2918532143,US
2918532144,2918532151,PK
@@ -69493,22 +81082,14 @@
2918533216,2918534687,US
2918534688,2918534695,CN
2918534696,2918534703,US
-2918534704,2918534735,CN
-2918534736,2918534751,US
-2918534752,2918534767,CN
-2918534768,2918534815,US
+2918534704,2918534719,CN
+2918534720,2918534815,US
2918534816,2918534879,CN
-2918534880,2918534911,US
-2918534912,2918534943,KR
+2918534880,2918534943,US
2918534944,2918534975,CN
2918534976,2918534983,US
2918534984,2918534991,ID
-2918534992,2918535807,US
-2918535808,2918535967,CN
-2918535968,2918535999,US
-2918536000,2918536127,CN
-2918536128,2918536167,US
-2918536168,2918536191,CN
+2918534992,2918536191,US
2918536192,2918536703,A1
2918536704,2918536719,US
2918536720,2918536727,CA
@@ -69520,8 +81101,8 @@
2918699008,2918703103,CA
2918703104,2918760447,US
2918760448,2918776831,CA
-2918776832,2918816000,US
-2918816001,2918817023,GB
+2918776832,2918815999,US
+2918816000,2918817023,GB
2918817024,2918828031,US
2918828032,2918828543,UA
2918828544,2918829055,ES
@@ -69538,22 +81119,26 @@
2918875136,2918973439,US
2918973440,2918989823,CA
2918989824,2919010303,US
-2919010304,2919010559,CA
-2919010560,2919020543,US
+2919010304,2919010687,CA
+2919010688,2919020543,US
2919020544,2919020575,CA
-2919020576,2919020591,US
-2919020592,2919020655,CA
+2919020576,2919020607,US
+2919020608,2919020655,CA
2919020656,2919020711,US
2919020712,2919020719,CA
2919020720,2919020727,US
-2919020728,2919020759,CA
-2919020760,2919020767,US
-2919020768,2919020799,CA
-2919020800,2919021343,US
-2919021344,2919021487,CA
-2919021488,2919021503,US
-2919021504,2919021567,CA
-2919021568,2919063551,US
+2919020728,2919020799,CA
+2919020800,2919021327,US
+2919021328,2919021335,CA
+2919021336,2919021343,US
+2919021344,2919021567,CA
+2919021568,2919022079,US
+2919022080,2919022175,CA
+2919022176,2919022287,US
+2919022288,2919022303,CA
+2919022304,2919022335,US
+2919022336,2919022415,CA
+2919022416,2919063551,US
2919063552,2919064063,MX
2919064064,2919067655,CN
2919067656,2919067695,US
@@ -69648,14 +81233,13 @@
2919068568,2919068575,IN
2919068576,2919068583,US
2919068584,2919068591,CN
-2919068592,2919068599,IN
+2919068592,2919068599,US
2919068600,2919068607,CM
2919068608,2919068615,MY
2919068616,2919068647,US
2919068648,2919068655,AU
2919068656,2919068663,CN
-2919068664,2919068671,MY
-2919068672,2919068703,US
+2919068664,2919068703,US
2919068704,2919068711,IN
2919068712,2919068719,JM
2919068720,2919068727,US
@@ -69733,7 +81317,8 @@
2919069488,2919069495,US
2919069496,2919069503,CN
2919069504,2919069511,AR
-2919069512,2919069527,US
+2919069512,2919069519,US
+2919069520,2919069527,IN
2919069528,2919069535,TR
2919069536,2919069543,US
2919069544,2919069559,CN
@@ -69771,89 +81356,9 @@
2919070944,2919070951,BR
2919070952,2919071143,US
2919071144,2919071151,CN
-2919071152,2919170327,US
-2919170328,2919170335,PE
-2919170336,2919170351,US
-2919170352,2919170359,PE
-2919170360,2919170367,AU
-2919170368,2919170383,BR
-2919170384,2919170391,US
-2919170392,2919170399,IN
-2919170400,2919170407,TR
-2919170408,2919170415,ES
-2919170416,2919170431,US
-2919170432,2919170439,JP
-2919170440,2919170447,IN
-2919170448,2919170463,TH
-2919170464,2919170487,US
-2919170488,2919170495,NL
-2919170496,2919170527,US
-2919170528,2919170535,BR
-2919170536,2919170551,US
-2919170552,2919170559,FR
-2919170560,2919170575,US
-2919170576,2919170583,FR
-2919170584,2919170599,US
-2919170600,2919170607,JP
-2919170608,2919170615,US
-2919170616,2919170623,CN
-2919170624,2919170639,US
-2919170640,2919170655,JP
-2919170656,2919170663,US
-2919170664,2919170671,PH
-2919170672,2919170679,JP
-2919170680,2919170695,US
-2919170696,2919170703,CN
-2919170704,2919170711,MX
-2919170712,2919170727,US
-2919170728,2919170735,IN
-2919170736,2919170751,US
-2919170752,2919170759,GB
-2919170760,2919170767,BR
-2919170768,2919170775,AR
-2919170776,2919170799,US
-2919170800,2919170815,SG
-2919170816,2919170863,US
-2919170864,2919170871,AU
-2919170872,2919170879,CH
-2919170880,2919170903,US
-2919170904,2919170911,GR
-2919170912,2919170919,BR
-2919170920,2919170935,US
-2919170936,2919170943,PH
-2919170944,2919170967,US
-2919170968,2919170975,NZ
-2919170976,2919171071,US
-2919171072,2919171079,IN
-2919171080,2919171087,CL
-2919171088,2919171095,TR
-2919171096,2919171103,US
-2919171104,2919171111,PL
-2919171112,2919171119,US
-2919171120,2919171127,CL
-2919171128,2919171135,BR
-2919171136,2919171143,AU
-2919171144,2919171151,TR
-2919171152,2919171159,US
-2919171160,2919171167,AU
-2919171168,2919171183,US
-2919171184,2919171191,ZA
-2919171192,2919171311,US
-2919171312,2919171319,IL
-2919171320,2919171327,TW
-2919171328,2919171343,US
-2919171344,2919171351,BR
-2919171352,2919171359,US
-2919171360,2919171367,BR
-2919171368,2919171391,US
-2919171392,2919171399,ES
-2919171400,2919171407,IT
-2919171408,2919171415,CN
-2919171416,2919171455,US
-2919171456,2919171463,BR
-2919171464,2919171479,US
-2919171480,2919171487,BR
-2919171488,2919174143,US
+2919071152,2919153695,US
+2919153696,2919153703,DE
+2919153704,2919174143,US
2919174144,2919178239,CA
2919178240,2919186431,US
2919186432,2919190527,CA
@@ -69861,7 +81366,7 @@
2919202080,2919202111,BE
2919202112,2919206911,US
2919206912,2919211007,CA
-2919219200,2919235583,US
+2919211008,2919235583,US
2919235584,2919759871,CA
2919759872,2921496895,US
2921496896,2921496903,IN
@@ -69871,7 +81376,9 @@
2921497416,2921497423,IN
2921497424,2921497471,US
2921497472,2921497599,IN
-2921497600,2921498031,US
+2921497600,2921497855,US
+2921497856,2921497863,CA
+2921497864,2921498031,US
2921498032,2921498039,CA
2921498040,2921498215,US
2921498216,2921498223,CA
@@ -69879,17 +81386,17 @@
2921498384,2921498391,ID
2921498392,2921498431,US
2921498432,2921498439,CA
-2921498440,2921500159,US
-2921500160,2921500415,GB
-2921500416,2921503607,US
-2921503608,2921503615,GB
-2921503616,2921503695,US
+2921498440,2921503695,US
2921503696,2921503703,ID
2921503704,2921504431,US
2921504432,2921504439,GB
-2921504440,2921507903,US
-2921507904,2921507911,CA
-2921507912,2921508719,US
+2921504440,2921505951,US
+2921505952,2921506015,IN
+2921506016,2921506343,US
+2921506344,2921506351,CA
+2921506352,2921506431,US
+2921506432,2921506463,IN
+2921506464,2921508719,US
2921508720,2921508727,SE
2921508728,2921509351,US
2921509352,2921509367,CA
@@ -69897,9 +81404,692 @@
2921511384,2921511391,CA
2921511392,2921512703,US
2921512704,2921512959,CA
-2921512960,2921562111,US
+2921512960,2921528319,US
+2921528320,2921528351,UA
+2921528352,2921528575,US
+2921528576,2921528607,UA
+2921528608,2921528927,US
+2921528928,2921528959,UA
+2921528960,2921562111,US
2921562112,2921594879,CA
-2921594880,2925002751,US
+2921594880,2921595263,US
+2921595264,2921595295,PL
+2921595296,2921596023,US
+2921596024,2921596031,TR
+2921596032,2921596047,PH
+2921596048,2921596335,US
+2921596336,2921596351,CK
+2921596352,2921596367,US
+2921596368,2921596375,SA
+2921596376,2921596671,US
+2921596672,2921596703,CN
+2921596704,2921596991,US
+2921596992,2921597023,IN
+2921597024,2921597631,US
+2921597632,2921597647,SA
+2921597648,2921597655,US
+2921597656,2921597663,KW
+2921597664,2921598671,US
+2921598672,2921598679,TW
+2921598680,2921598687,US
+2921598688,2921598695,TW
+2921598696,2921598703,US
+2921598704,2921598711,TW
+2921598712,2921598743,US
+2921598744,2921598751,CN
+2921598752,2921599007,US
+2921599008,2921599015,IN
+2921599016,2921599063,US
+2921599064,2921599071,CN
+2921599072,2921599119,US
+2921599120,2921599127,TW
+2921599128,2921599495,US
+2921599496,2921599503,SA
+2921599504,2921599847,US
+2921599848,2921599855,IN
+2921599856,2921599863,US
+2921599864,2921599871,EG
+2921599872,2921600207,US
+2921600208,2921600215,RO
+2921600216,2921601871,US
+2921601872,2921601879,SE
+2921601880,2921602295,US
+2921602296,2921602303,EG
+2921602304,2921602527,US
+2921602528,2921602543,CA
+2921602544,2921603343,US
+2921603344,2921603351,SA
+2921603352,2921603455,US
+2921603456,2921603519,AU
+2921603520,2921603679,US
+2921603680,2921603687,MY
+2921603688,2921604343,US
+2921604344,2921604351,CA
+2921604352,2921604359,MY
+2921604360,2921604455,US
+2921604456,2921604463,NL
+2921604464,2921604471,US
+2921604472,2921604479,CA
+2921604480,2921604655,US
+2921604656,2921604671,KW
+2921604672,2921604711,US
+2921604712,2921604719,CA
+2921604720,2921605631,US
+2921605632,2921605639,AU
+2921605640,2921606079,US
+2921606080,2921606095,AR
+2921606096,2921606127,US
+2921606128,2921606135,GB
+2921606136,2921606335,US
+2921606336,2921606367,AU
+2921606368,2921606559,US
+2921606560,2921606567,CN
+2921606568,2921607391,US
+2921607392,2921607399,AR
+2921607400,2921607423,US
+2921607424,2921607431,CN
+2921607432,2921607439,US
+2921607440,2921607455,CN
+2921607456,2921607535,US
+2921607536,2921607551,CN
+2921607552,2921607639,US
+2921607640,2921607647,SG
+2921607648,2921607959,US
+2921607960,2921607967,AU
+2921607968,2921608351,US
+2921608352,2921608383,MY
+2921608384,2921608703,US
+2921608704,2921608711,CA
+2921608712,2921608943,US
+2921608944,2921608959,CA
+2921608960,2921609095,US
+2921609096,2921609103,CN
+2921609104,2921609375,US
+2921609376,2921609391,NZ
+2921609392,2921609479,US
+2921609480,2921609487,IN
+2921609488,2921611191,US
+2921611192,2921611199,CA
+2921611200,2921611271,US
+2921611272,2921611279,IN
+2921611280,2921611487,US
+2921611488,2921611495,IN
+2921611496,2921613087,US
+2921613088,2921613119,CA
+2921613120,2921614495,US
+2921614496,2921614503,CN
+2921614504,2921614511,US
+2921614512,2921614519,CN
+2921614520,2921614855,US
+2921614856,2921614863,CN
+2921614864,2921616567,US
+2921616568,2921616575,CN
+2921616576,2921617215,US
+2921617216,2921617247,IN
+2921617248,2921617791,US
+2921617792,2921617823,IN
+2921617824,2921618215,US
+2921618216,2921618223,AU
+2921618224,2921618295,US
+2921618296,2921618303,CA
+2921618304,2921618495,US
+2921618496,2921618503,CN
+2921618504,2921618591,US
+2921618592,2921618599,GB
+2921618600,2921618655,US
+2921618656,2921618663,CN
+2921618664,2921619487,US
+2921619488,2921619495,CN
+2921619496,2921619503,US
+2921619504,2921619511,CN
+2921619512,2921619535,US
+2921619536,2921619543,CN
+2921619544,2921621607,US
+2921621608,2921621615,CN
+2921621616,2921621775,US
+2921621776,2921621783,KW
+2921621784,2921621871,US
+2921621872,2921621879,CN
+2921621880,2921622063,US
+2921622064,2921622071,AI
+2921622072,2921622431,US
+2921622432,2921622447,AI
+2921622448,2921624759,US
+2921624760,2921624767,NL
+2921624768,2921625015,US
+2921625016,2921625055,GB
+2921625056,2921625191,US
+2921625192,2921625199,KW
+2921625200,2921625887,US
+2921625888,2921625919,AU
+2921625920,2921627143,US
+2921627144,2921627151,CA
+2921627152,2921627279,US
+2921627280,2921627295,AR
+2921627296,2921628287,US
+2921628288,2921628295,CN
+2921628296,2921628871,US
+2921628872,2921628879,CN
+2921628880,2921629343,US
+2921629344,2921629359,AU
+2921629360,2921629407,US
+2921629408,2921629415,CN
+2921629416,2921630239,US
+2921630240,2921630255,ID
+2921630256,2921631095,US
+2921631096,2921631103,EG
+2921631104,2921631679,US
+2921631680,2921631711,IN
+2921631712,2921631743,US
+2921631744,2921631775,GB
+2921631776,2921632359,US
+2921632360,2921632367,CA
+2921632368,2921632391,US
+2921632392,2921632399,EG
+2921632400,2921632495,US
+2921632496,2921632503,ID
+2921632504,2921632639,US
+2921632640,2921632671,IN
+2921632672,2921633039,US
+2921633040,2921633055,CA
+2921633056,2921633119,US
+2921633120,2921633135,CA
+2921633136,2921633519,US
+2921633520,2921633527,CA
+2921633528,2921633663,US
+2921633664,2921633727,IN
+2921633728,2921634767,US
+2921634768,2921634775,SA
+2921634776,2921635511,US
+2921635512,2921635519,AU
+2921635520,2921635935,US
+2921635936,2921635951,BD
+2921635952,2921639407,US
+2921639408,2921639415,TW
+2921639416,2921639711,US
+2921639712,2921639743,IN
+2921639744,2921639775,TR
+2921639776,2921639943,US
+2921639944,2921639951,AU
+2921639952,2921639967,US
+2921639968,2921639983,PL
+2921639984,2921640047,US
+2921640048,2921640063,TW
+2921640064,2921640167,US
+2921640168,2921640175,EG
+2921640176,2921640455,US
+2921640456,2921640463,CN
+2921640464,2921640871,US
+2921640872,2921640879,CN
+2921640880,2921641279,US
+2921641280,2921641295,AU
+2921641296,2921641751,US
+2921641752,2921641759,AU
+2921641760,2921641775,US
+2921641776,2921641783,AU
+2921641784,2921641999,US
+2921642000,2921642015,CN
+2921642016,2921642151,US
+2921642152,2921642159,VN
+2921642160,2921642367,US
+2921642368,2921642431,AU
+2921642432,2921643215,US
+2921643216,2921643223,AU
+2921643224,2921643727,US
+2921643728,2921643735,CN
+2921643736,2921644079,US
+2921644080,2921644087,EC
+2921644088,2921644095,US
+2921644096,2921644127,NL
+2921644128,2921644143,US
+2921644144,2921644159,TR
+2921644160,2921644639,US
+2921644640,2921644671,TR
+2921644672,2921644687,IN
+2921644688,2921645135,US
+2921645136,2921645143,SA
+2921645144,2921645295,US
+2921645296,2921645303,SA
+2921645304,2921645455,US
+2921645456,2921645463,CY
+2921645464,2921645663,US
+2921645664,2921645671,NL
+2921645672,2921645679,US
+2921645680,2921645687,SA
+2921645688,2921645759,US
+2921645760,2921645775,UA
+2921645776,2921646423,US
+2921646424,2921646431,AU
+2921646432,2921646455,US
+2921646456,2921646463,CR
+2921646464,2921646879,US
+2921646880,2921646895,TR
+2921646896,2921647855,US
+2921647856,2921647863,KW
+2921647864,2921648407,US
+2921648408,2921648415,BR
+2921648416,2921648431,US
+2921648432,2921648447,GB
+2921648448,2921648471,US
+2921648472,2921648479,GB
+2921648480,2921649671,US
+2921649672,2921649679,CA
+2921649680,2921649687,SA
+2921649688,2921650079,US
+2921650080,2921650111,SA
+2921650112,2921650175,US
+2921650176,2921650207,CA
+2921650208,2921650303,US
+2921650304,2921650311,KW
+2921650312,2921650879,US
+2921650880,2921650895,AR
+2921650896,2921651039,US
+2921651040,2921651055,BR
+2921651056,2921652183,US
+2921652184,2921652191,TR
+2921652192,2921652255,US
+2921652256,2921652271,CA
+2921652272,2921652447,US
+2921652448,2921652455,GB
+2921652456,2921652711,US
+2921652712,2921652719,RU
+2921652720,2921652727,US
+2921652728,2921652735,GB
+2921652736,2921652839,US
+2921652840,2921652847,IT
+2921652848,2921652927,US
+2921652928,2921652959,GB
+2921652960,2921653599,US
+2921653600,2921653607,SA
+2921653608,2921653807,US
+2921653808,2921653815,AU
+2921653816,2921653991,US
+2921653992,2921653999,VN
+2921654000,2921654143,US
+2921654144,2921654151,GB
+2921654152,2921654271,US
+2921654272,2921654287,PA
+2921654288,2921654327,US
+2921654328,2921654335,NZ
+2921654336,2921654583,US
+2921654584,2921654591,BR
+2921654592,2921654791,US
+2921654792,2921654799,DE
+2921654800,2921656047,US
+2921656048,2921656055,SA
+2921656056,2921656367,US
+2921656368,2921656375,PT
+2921656376,2921656383,US
+2921656384,2921656391,JO
+2921656392,2921656495,US
+2921656496,2921656503,CA
+2921656504,2921657255,US
+2921657256,2921657263,CA
+2921657264,2921657311,US
+2921657312,2921657319,CA
+2921657320,2921657711,US
+2921657712,2921657719,GB
+2921657720,2921657775,US
+2921657776,2921657783,CA
+2921657784,2921657839,US
+2921657840,2921657847,KW
+2921657848,2921658079,US
+2921658080,2921658087,PK
+2921658088,2921658095,KW
+2921658096,2921658143,US
+2921658144,2921658159,NL
+2921658160,2921658575,US
+2921658576,2921658583,SA
+2921658584,2921659023,US
+2921659024,2921659031,LT
+2921659032,2921659063,US
+2921659064,2921659071,SA
+2921659072,2921659103,LT
+2921659104,2921659111,BR
+2921659112,2921659295,US
+2921659296,2921659303,FI
+2921659304,2921659407,US
+2921659408,2921659415,CA
+2921659416,2921659423,US
+2921659424,2921659455,IN
+2921659456,2921660015,US
+2921660016,2921660023,GB
+2921660024,2921660111,US
+2921660112,2921660119,KW
+2921660120,2921660415,US
+2921660416,2921660639,AU
+2921660640,2921660655,US
+2921660656,2921660671,AU
+2921660672,2921660927,CA
+2921660928,2921661535,US
+2921661536,2921661543,CN
+2921661544,2921661999,US
+2921662000,2921662007,CN
+2921662008,2921662143,US
+2921662144,2921662151,CN
+2921662152,2921662303,US
+2921662304,2921662311,EG
+2921662312,2921662351,US
+2921662352,2921662359,CN
+2921662360,2921663055,US
+2921663056,2921663063,SA
+2921663064,2921663247,US
+2921663248,2921663255,AU
+2921663256,2921664191,US
+2921664192,2921664223,SA
+2921664224,2921665375,US
+2921665376,2921665383,AU
+2921665384,2921665679,US
+2921665680,2921665687,CN
+2921665688,2921665759,US
+2921665760,2921665767,CN
+2921665768,2921665775,US
+2921665776,2921665783,PA
+2921665784,2921666271,US
+2921666272,2921666279,CN
+2921666280,2921666487,US
+2921666488,2921666495,PH
+2921666496,2921666511,US
+2921666512,2921666519,PH
+2921666520,2921666543,US
+2921666544,2921666551,CN
+2921666552,2921666751,US
+2921666752,2921666759,TW
+2921666760,2921666767,CN
+2921666768,2921666783,TW
+2921666784,2921666815,US
+2921666816,2921666943,BR
+2921666944,2921667007,US
+2921667008,2921667015,TW
+2921667016,2921667023,US
+2921667024,2921667031,TW
+2921667032,2921667335,US
+2921667336,2921667343,TW
+2921667344,2921667351,ES
+2921667352,2921667359,US
+2921667360,2921667367,TW
+2921667368,2921668159,US
+2921668160,2921668223,TR
+2921668224,2921669039,US
+2921669040,2921669047,CN
+2921669048,2921669199,US
+2921669200,2921669207,GB
+2921669208,2921669455,US
+2921669456,2921669463,TW
+2921669464,2921669807,US
+2921669808,2921669815,CN
+2921669816,2921669823,US
+2921669824,2921669855,IN
+2921669856,2921670735,US
+2921670736,2921670743,CN
+2921670744,2921671167,US
+2921671168,2921671423,CN
+2921671424,2921671535,US
+2921671536,2921671543,CN
+2921671544,2921671599,US
+2921671600,2921671607,CN
+2921671608,2921672255,US
+2921672256,2921672311,CA
+2921672312,2921672783,US
+2921672784,2921672791,CN
+2921672792,2921672799,US
+2921672800,2921672807,CN
+2921672808,2921672879,US
+2921672880,2921672887,CN
+2921672888,2921672975,US
+2921672976,2921672983,CA
+2921672984,2921672999,US
+2921673000,2921673015,CN
+2921673016,2921673087,US
+2921673088,2921673119,IN
+2921673120,2921673199,US
+2921673200,2921673207,CA
+2921673208,2921673399,US
+2921673400,2921673407,CN
+2921673408,2921673423,US
+2921673424,2921673431,CN
+2921673432,2921673495,US
+2921673496,2921673503,CN
+2921673504,2921673807,US
+2921673808,2921673815,TR
+2921673816,2921674271,US
+2921674272,2921674279,CN
+2921674280,2921674751,US
+2921674752,2921674759,GB
+2921674760,2921675135,US
+2921675136,2921675167,PS
+2921675168,2921675279,US
+2921675280,2921675287,CN
+2921675288,2921675567,US
+2921675568,2921675575,CA
+2921675576,2921675615,US
+2921675616,2921675631,ID
+2921675632,2921675751,US
+2921675752,2921675759,CN
+2921675760,2921676151,US
+2921676152,2921676159,GB
+2921676160,2921676543,US
+2921676544,2921676551,AF
+2921676552,2921676615,US
+2921676616,2921676631,CN
+2921676632,2921678399,US
+2921678400,2921678415,CH
+2921678416,2921678951,US
+2921678952,2921678959,PT
+2921678960,2921679055,US
+2921679056,2921679063,CN
+2921679064,2921679367,US
+2921679368,2921679375,CN
+2921679376,2921679663,US
+2921679664,2921679671,CN
+2921679672,2921679775,US
+2921679776,2921679807,AU
+2921679808,2921679887,US
+2921679888,2921679895,CN
+2921679896,2921680031,US
+2921680032,2921680039,CN
+2921680040,2921681303,US
+2921681304,2921681311,CN
+2921681312,2921681375,US
+2921681376,2921681383,CN
+2921681384,2921681503,US
+2921681504,2921681511,CN
+2921681512,2921682239,US
+2921682240,2921682255,AU
+2921682256,2921682263,CN
+2921682264,2921682607,US
+2921682608,2921682615,CN
+2921682616,2921682703,US
+2921682704,2921682719,NZ
+2921682720,2921682975,US
+2921682976,2921682991,CN
+2921682992,2921683071,US
+2921683072,2921683087,GB
+2921683088,2921684319,US
+2921684320,2921684335,GB
+2921684336,2921684911,US
+2921684912,2921684943,ID
+2921684944,2921685303,US
+2921685304,2921685311,CN
+2921685312,2921685319,MX
+2921685320,2921685559,US
+2921685560,2921685567,CN
+2921685568,2921685727,US
+2921685728,2921685735,CN
+2921685736,2921685743,US
+2921685744,2921685751,CN
+2921685752,2921685775,US
+2921685776,2921685783,CN
+2921685784,2921685911,US
+2921685912,2921685919,IN
+2921685920,2921686079,US
+2921686080,2921686111,SA
+2921686112,2921686719,US
+2921686720,2921686751,MA
+2921686752,2921687167,US
+2921687168,2921687199,ES
+2921687200,2921687415,US
+2921687416,2921687423,CN
+2921687424,2921687455,US
+2921687456,2921687463,SA
+2921687464,2921687567,US
+2921687568,2921687575,NZ
+2921687576,2921687647,US
+2921687648,2921687663,NZ
+2921687664,2921687727,US
+2921687728,2921687735,PA
+2921687736,2921687855,US
+2921687856,2921687863,CN
+2921687864,2921687967,US
+2921687968,2921687975,PA
+2921687976,2921688007,US
+2921688008,2921688015,CN
+2921688016,2921688023,US
+2921688024,2921688031,AU
+2921688032,2921688151,US
+2921688152,2921688159,CN
+2921688160,2921688415,US
+2921688416,2921688431,FI
+2921688432,2921688815,US
+2921688816,2921688823,CN
+2921688824,2921689471,US
+2921689472,2921689479,CA
+2921689480,2921690575,US
+2921690576,2921690583,CN
+2921690584,2921690607,US
+2921690608,2921690615,KW
+2921690616,2921691527,US
+2921691528,2921691535,ES
+2921691536,2921691551,US
+2921691552,2921691559,ES
+2921691560,2921691583,US
+2921691584,2921691615,ES
+2921691616,2921693199,US
+2921693200,2921693215,TW
+2921693216,2921693959,US
+2921693960,2921693967,TW
+2921693968,2921693999,US
+2921694000,2921694007,CN
+2921694008,2921694215,US
+2921694216,2921694223,ID
+2921694224,2921695151,US
+2921695152,2921695159,MX
+2921695160,2921695407,US
+2921695408,2921695415,ID
+2921695416,2921695807,US
+2921695808,2921695839,CN
+2921695840,2921696671,US
+2921696672,2921696703,RO
+2921696704,2921697039,US
+2921697040,2921697047,IT
+2921697048,2921697159,US
+2921697160,2921697167,AU
+2921697168,2921697215,US
+2921697216,2921697247,AU
+2921697248,2921697263,MX
+2921697264,2921698487,US
+2921698488,2921698495,IN
+2921698496,2921699183,US
+2921699184,2921699191,VN
+2921699192,2921699199,US
+2921699200,2921699263,FM
+2921699264,2921699471,US
+2921699472,2921699479,CN
+2921699480,2921699775,US
+2921699776,2921699783,RU
+2921699784,2921699999,US
+2921700000,2921700015,CN
+2921700016,2921700287,US
+2921700288,2921700319,SA
+2921700320,2921700735,US
+2921700736,2921700767,CN
+2921700768,2921701039,US
+2921701040,2921701047,ID
+2921701048,2921701359,US
+2921701360,2921701367,VN
+2921701368,2921702927,US
+2921702928,2921702943,IN
+2921702944,2921703295,US
+2921703296,2921703423,IN
+2921703424,2921704319,US
+2921704320,2921704351,AU
+2921704352,2921705167,US
+2921705168,2921705175,CN
+2921705176,2921705311,US
+2921705312,2921705319,IN
+2921705320,2921706935,US
+2921706936,2921706943,EG
+2921706944,2921707055,US
+2921707056,2921707071,HK
+2921707072,2921708199,US
+2921708200,2921708207,PL
+2921708208,2921708463,US
+2921708464,2921708471,HK
+2921708472,2921708655,US
+2921708656,2921708663,CN
+2921708664,2921708735,US
+2921708736,2921708767,TR
+2921708768,2921709807,US
+2921709808,2921709815,GB
+2921709816,2921710015,US
+2921710016,2921710047,TR
+2921710048,2921710415,US
+2921710416,2921710423,BR
+2921710424,2921711423,US
+2921711424,2921711431,GB
+2921711432,2921711479,US
+2921711480,2921711487,TR
+2921711488,2921712167,US
+2921712168,2921712175,GB
+2921712176,2921713287,US
+2921713288,2921713295,CA
+2921713296,2921714207,US
+2921714208,2921714239,BR
+2921714240,2921714303,US
+2921714304,2921714311,CA
+2921714312,2921714367,US
+2921714368,2921714375,SA
+2921714376,2921714535,US
+2921714536,2921714543,BR
+2921714544,2921714863,US
+2921714864,2921714871,AR
+2921714872,2921714879,US
+2921714880,2921714887,SA
+2921714888,2921715103,US
+2921715104,2921715111,GR
+2921715112,2921716759,US
+2921716760,2921716767,GB
+2921716768,2921716775,AU
+2921716776,2921717023,US
+2921717024,2921717031,CN
+2921717032,2921717575,US
+2921717576,2921717583,AF
+2921717584,2921717599,IN
+2921717600,2921717823,US
+2921717824,2921717855,IN
+2921717856,2921718815,US
+2921718816,2921718847,TR
+2921718848,2921720247,US
+2921720248,2921720255,CA
+2921720256,2921720279,US
+2921720280,2921720287,GB
+2921720288,2921720911,US
+2921720912,2921720919,BR
+2921720920,2921721615,US
+2921721616,2921721631,BR
+2921721632,2921722791,US
+2921722792,2921722799,SA
+2921722800,2921722919,US
+2921722920,2921722927,RU
+2921722928,2921723255,US
+2921723256,2921723263,MV
+2921723264,2921723359,US
+2921723360,2921723367,CA
+2921723368,2921724111,US
+2921724112,2921724119,SA
+2921724120,2921724287,US
+2921724288,2921724303,BR
+2921724304,2925002751,US
2925002752,2925527039,CA
2925527040,2926575615,US
2926575616,2927099903,CA
@@ -69913,49 +82103,31 @@
2927242752,2927243263,AE
2927243264,2927254527,US
2927254528,2927255039,AE
-2927255040,2927911183,US
+2927255040,2927606783,US
+2927606784,2927607295,CA
+2927607296,2927911183,US
2927911184,2927911191,CH
-2927911192,2928173103,US
-2928173104,2928173119,PH
-2928173120,2928173151,US
-2928173152,2928173159,RU
-2928173160,2928173223,US
+2927911192,2928173223,US
2928173224,2928173231,JP
2928173232,2928173343,US
2928173344,2928173351,NL
-2928173352,2928173519,US
-2928173520,2928173527,JP
-2928173528,2928173551,US
+2928173352,2928173551,US
2928173552,2928173559,CA
-2928173560,2928173671,US
-2928173672,2928173679,NZ
-2928173680,2928173695,JP
-2928173696,2928173711,US
+2928173560,2928173711,US
2928173712,2928173727,JP
2928173728,2928173903,US
2928173904,2928173919,NZ
2928173920,2928173959,US
2928173960,2928173967,CA
-2928173968,2928174087,US
-2928174088,2928174103,CA
-2928174104,2928174215,US
-2928174216,2928174223,MQ
+2928173968,2928174223,US
2928174224,2928174231,CA
-2928174232,2928174479,US
-2928174480,2928174487,SE
-2928174488,2928174911,US
+2928174232,2928174911,US
2928174912,2928174919,AU
-2928174920,2928175055,US
-2928175056,2928175063,MX
-2928175064,2928175143,US
-2928175144,2928175151,PH
-2928175152,2928175167,US
+2928174920,2928175167,US
2928175168,2928175175,RU
2928175176,2928175207,US
2928175208,2928175215,CA
-2928175216,2928175271,US
-2928175272,2928175279,NZ
-2928175280,2928175303,US
+2928175216,2928175303,US
2928175304,2928175311,CN
2928175312,2928175399,US
2928175400,2928175407,TR
@@ -69963,59 +82135,35 @@
2928175472,2928175479,JP
2928175480,2928175551,US
2928175552,2928175567,CA
-2928175568,2928175655,US
-2928175656,2928175663,AU
-2928175664,2928175775,US
+2928175568,2928175775,US
2928175776,2928175791,PH
-2928175792,2928175799,CA
-2928175800,2928175815,US
-2928175816,2928175823,CA
-2928175824,2928175967,US
+2928175792,2928175967,US
2928175968,2928175975,ZA
-2928175976,2928176007,US
-2928176008,2928176015,AU
-2928176016,2928176207,US
+2928175976,2928176207,US
2928176208,2928176223,ZA
2928176224,2928176231,JP
-2928176232,2928176383,US
-2928176384,2928176391,ES
-2928176392,2928176519,US
+2928176232,2928176327,US
+2928176328,2928176335,RU
+2928176336,2928176519,US
2928176520,2928176527,NL
-2928176528,2928176543,CN
-2928176544,2928176783,US
-2928176784,2928176799,MX
-2928176800,2928176895,US
-2928176896,2928176903,CA
-2928176904,2928176919,US
-2928176920,2928176927,CA
-2928176928,2928177151,US
+2928176528,2928177103,US
+2928177104,2928177111,AR
+2928177112,2928177151,US
2928177152,2928181247,CA
-2928181248,2928218127,US
+2928181248,2928186591,US
+2928186592,2928186623,CA
+2928186624,2928218127,US
2928218128,2928218143,CA
2928218144,2928218623,US
2928218624,2928219135,CA
2928219136,2928226303,US
-2928226304,2928226399,CA
-2928226400,2928226407,US
-2928226408,2928226415,CA
-2928226416,2928226423,US
-2928226424,2928226551,CA
-2928226552,2928226559,US
-2928226560,2928227583,CA
-2928227584,2928227783,US
-2928227784,2928228087,CA
-2928228088,2928228095,RU
-2928228096,2928228351,CA
-2928228352,2928228607,US
-2928228608,2928230399,CA
+2928226304,2928230399,CA
2928230400,2928261375,US
2928261376,2928261887,CA
2928261888,2928263167,US
2928263168,2928263679,CA
2928263680,2928263687,US
-2928263688,2928263703,CA
-2928263704,2928263711,US
-2928263712,2928263791,CA
+2928263688,2928263791,CA
2928263792,2928263799,US
2928263800,2928263823,CA
2928263824,2928263831,US
@@ -70029,17 +82177,13 @@
2928264064,2928264095,US
2928264096,2928264159,CA
2928264160,2928264167,US
-2928264168,2928264199,CA
-2928264200,2928264207,US
-2928264208,2928264215,CA
-2928264216,2928264223,US
-2928264224,2928264287,CA
+2928264168,2928264287,CA
2928264288,2928264303,US
2928264304,2928264327,CA
2928264328,2928264335,NL
2928264336,2928264359,CA
-2928264360,2928264375,US
-2928264376,2928264383,CA
+2928264360,2928264367,US
+2928264368,2928264383,CA
2928264384,2928264391,US
2928264392,2928264399,CA
2928264400,2928264423,US
@@ -70103,9 +82247,7 @@
2928270136,2928270143,US
2928270144,2928270175,CA
2928270176,2928270183,US
-2928270184,2928270327,CA
-2928270328,2928270335,US
-2928270336,2928270479,CA
+2928270184,2928270479,CA
2928270480,2928270487,NL
2928270488,2928270551,CA
2928270552,2928270559,US
@@ -70135,9 +82277,7 @@
2928271824,2928271871,US
2928271872,2928271943,CA
2928271944,2928271951,US
-2928271952,2928272591,CA
-2928272592,2928272599,US
-2928272600,2928272775,CA
+2928271952,2928272775,CA
2928272776,2928272783,US
2928272784,2928272839,CA
2928272840,2928272847,US
@@ -70217,12 +82357,10 @@
2928275816,2928275823,US
2928275824,2928276071,CA
2928276072,2928276079,US
-2928276080,2928276127,CA
-2928276128,2928276135,US
-2928276136,2928276191,CA
+2928276080,2928276191,CA
2928276192,2928276231,US
-2928276232,2928276271,CA
-2928276272,2928276319,US
+2928276232,2928276287,CA
+2928276288,2928276319,US
2928276320,2928276367,CA
2928276368,2928276455,US
2928276456,2928276463,CA
@@ -70239,9 +82377,7 @@
2928276744,2928276903,US
2928276904,2928276911,CA
2928276912,2928276919,US
-2928276920,2928277031,CA
-2928277032,2928277039,US
-2928277040,2928277167,CA
+2928276920,2928277167,CA
2928277168,2928277183,US
2928277184,2928277199,CA
2928277200,2928277215,US
@@ -70249,13 +82385,7 @@
2928277280,2928277303,US
2928277304,2928277335,CA
2928277336,2928277343,US
-2928277344,2928277367,CA
-2928277368,2928277415,US
-2928277416,2928277423,CA
-2928277424,2928277487,US
-2928277488,2928277495,CA
-2928277496,2928277503,US
-2928277504,2928277671,CA
+2928277344,2928277671,CA
2928277672,2928277679,US
2928277680,2928277695,CA
2928277696,2928277703,US
@@ -70265,17 +82395,13 @@
2928278336,2928278343,US
2928278344,2928278367,CA
2928278368,2928278375,US
-2928278376,2928278727,CA
-2928278728,2928278735,US
-2928278736,2928278791,CA
+2928278376,2928278791,CA
2928278792,2928278799,US
2928278800,2928278879,CA
2928278880,2928278887,US
2928278888,2928278895,CA
2928278896,2928278911,US
-2928278912,2928278959,CA
-2928278960,2928278991,US
-2928278992,2928279015,CA
+2928278912,2928279015,CA
2928279016,2928279023,US
2928279024,2928279383,CA
2928279384,2928279391,US
@@ -70290,8 +82416,7 @@
2928321064,2928321071,AU
2928321072,2928321311,US
2928321312,2928321327,GB
-2928321328,2928321343,CN
-2928321344,2928322639,US
+2928321328,2928322639,US
2928322640,2928322655,RU
2928322656,2928323135,US
2928323136,2928323143,RU
@@ -70299,26 +82424,3593 @@
2928323176,2928323183,AU
2928323184,2928323967,US
2928323968,2928323983,RU
-2928323984,2928328703,US
+2928323984,2928324519,US
+2928324520,2928324527,TR
+2928324528,2928328703,US
2928328704,2928336895,CA
-2928336896,2928374951,US
-2928374952,2928374967,CN
-2928374968,2928455679,US
+2928336896,2928455679,US
2928455680,2928459775,CA
2928459776,2928541695,US
-2928541696,2928553303,CA
+2928541696,2928542215,CA
+2928542216,2928542223,AE
+2928542224,2928542231,TR
+2928542232,2928542239,CA
+2928542240,2928542247,AE
+2928542248,2928542255,AU
+2928542256,2928542263,CA
+2928542264,2928542271,RO
+2928542272,2928542279,TR
+2928542280,2928542295,IL
+2928542296,2928542303,IR
+2928542304,2928542311,GB
+2928542312,2928542327,CA
+2928542328,2928542335,US
+2928542336,2928542343,CA
+2928542344,2928542351,PK
+2928542352,2928542367,US
+2928542368,2928542383,CA
+2928542384,2928542391,FR
+2928542392,2928542399,US
+2928542400,2928542415,CA
+2928542416,2928542423,AR
+2928542424,2928542431,CA
+2928542432,2928542439,US
+2928542440,2928542447,CA
+2928542448,2928542455,US
+2928542456,2928542463,PE
+2928542464,2928542471,DO
+2928542472,2928542479,RO
+2928542480,2928542487,EG
+2928542488,2928542511,CA
+2928542512,2928542519,US
+2928542520,2928542535,CA
+2928542536,2928542543,GR
+2928542544,2928542551,IL
+2928542552,2928542559,TR
+2928542560,2928542575,CA
+2928542576,2928542599,US
+2928542600,2928542607,BR
+2928542608,2928542615,CA
+2928542616,2928542623,RU
+2928542624,2928542631,US
+2928542632,2928542639,MX
+2928542640,2928542703,CA
+2928542704,2928542711,GR
+2928542712,2928542719,US
+2928542720,2928542735,MX
+2928542736,2928542743,US
+2928542744,2928542775,CA
+2928542776,2928542783,US
+2928542784,2928542791,CA
+2928542792,2928542799,US
+2928542800,2928542807,JP
+2928542808,2928542815,NL
+2928542816,2928542823,CA
+2928542824,2928542831,US
+2928542832,2928542839,CA
+2928542840,2928542847,EG
+2928542848,2928542855,CA
+2928542856,2928542863,GB
+2928542864,2928542879,CA
+2928542880,2928542887,US
+2928542888,2928542895,JP
+2928542896,2928542911,CA
+2928542912,2928542919,HU
+2928542920,2928542927,MX
+2928542928,2928542935,BR
+2928542936,2928542999,CA
+2928543000,2928543007,UY
+2928543008,2928543031,CA
+2928543032,2928543039,US
+2928543040,2928543047,SA
+2928543048,2928543055,EC
+2928543056,2928543087,CA
+2928543088,2928543095,SA
+2928543096,2928543103,CA
+2928543104,2928543119,US
+2928543120,2928543127,EG
+2928543128,2928543143,CA
+2928543144,2928543151,US
+2928543152,2928543167,CA
+2928543168,2928543175,GB
+2928543176,2928543183,CA
+2928543184,2928543191,IN
+2928543192,2928543199,CA
+2928543200,2928543207,BR
+2928543208,2928543215,CA
+2928543216,2928543223,IL
+2928543224,2928543239,CA
+2928543240,2928543247,EC
+2928543248,2928543271,CA
+2928543272,2928543279,BE
+2928543280,2928543287,CA
+2928543288,2928543295,US
+2928543296,2928543303,CA
+2928543304,2928543311,BR
+2928543312,2928543319,CA
+2928543320,2928543327,US
+2928543328,2928543359,CA
+2928543360,2928543367,BR
+2928543368,2928543375,CA
+2928543376,2928543383,YE
+2928543384,2928543391,US
+2928543392,2928543407,CA
+2928543408,2928543415,IN
+2928543416,2928543463,CA
+2928543464,2928543471,IT
+2928543472,2928543479,US
+2928543480,2928543487,RU
+2928543488,2928543495,CA
+2928543496,2928543503,US
+2928543504,2928543511,DE
+2928543512,2928543527,CA
+2928543528,2928543535,IL
+2928543536,2928543543,AE
+2928543544,2928543551,US
+2928543552,2928543567,CA
+2928543568,2928543575,AE
+2928543576,2928543583,CA
+2928543584,2928543591,DK
+2928543592,2928543599,VG
+2928543600,2928543615,CA
+2928543616,2928543623,IR
+2928543624,2928543631,CA
+2928543632,2928543639,ES
+2928543640,2928543647,DE
+2928543648,2928543655,CA
+2928543656,2928543663,US
+2928543664,2928543671,GR
+2928543672,2928543679,IN
+2928543680,2928543695,CA
+2928543696,2928543703,PK
+2928543704,2928543711,MX
+2928543712,2928543719,CA
+2928543720,2928543727,PK
+2928543728,2928543743,CA
+2928543744,2928543751,US
+2928543752,2928543759,CA
+2928543760,2928543767,US
+2928543768,2928543783,CA
+2928543784,2928543791,US
+2928543792,2928543799,LY
+2928543800,2928543807,CA
+2928543808,2928543815,US
+2928543816,2928543855,CA
+2928543856,2928543863,US
+2928543864,2928543871,CA
+2928543872,2928543879,TR
+2928543880,2928543887,AE
+2928543888,2928543895,CA
+2928543896,2928543903,FR
+2928543904,2928543911,CA
+2928543912,2928543919,MY
+2928543920,2928543927,EG
+2928543928,2928543951,CA
+2928543952,2928543959,QA
+2928543960,2928543967,IN
+2928543968,2928543975,US
+2928543976,2928543983,RU
+2928543984,2928543991,BF
+2928543992,2928543999,AR
+2928544000,2928544007,BR
+2928544008,2928544015,CA
+2928544016,2928544023,HR
+2928544024,2928544031,CR
+2928544032,2928544039,CA
+2928544040,2928544047,CN
+2928544048,2928544055,SY
+2928544056,2928544063,DZ
+2928544064,2928544071,RU
+2928544072,2928544087,CA
+2928544088,2928544095,CY
+2928544096,2928544103,US
+2928544104,2928544127,CA
+2928544128,2928544135,US
+2928544136,2928544183,CA
+2928544184,2928544191,FR
+2928544192,2928544199,RU
+2928544200,2928544223,CA
+2928544224,2928544231,US
+2928544232,2928544247,CA
+2928544248,2928544255,DE
+2928544256,2928544263,UA
+2928544264,2928544271,CA
+2928544272,2928544279,BR
+2928544280,2928544295,US
+2928544296,2928544303,IR
+2928544304,2928544311,DZ
+2928544312,2928544407,CA
+2928544408,2928544415,RU
+2928544416,2928544431,US
+2928544432,2928544439,CA
+2928544440,2928544447,DM
+2928544448,2928544455,NL
+2928544456,2928544463,CA
+2928544464,2928544471,IN
+2928544472,2928544479,NL
+2928544480,2928544487,MX
+2928544488,2928544495,CA
+2928544496,2928544503,CY
+2928544504,2928544511,US
+2928544512,2928544519,MX
+2928544520,2928544535,CA
+2928544536,2928544543,ES
+2928544544,2928544551,CA
+2928544552,2928544567,US
+2928544568,2928544575,NL
+2928544576,2928544591,CA
+2928544592,2928544599,US
+2928544600,2928544623,BR
+2928544624,2928544631,EG
+2928544632,2928544639,RO
+2928544640,2928544647,GR
+2928544648,2928544663,CA
+2928544664,2928544671,LB
+2928544672,2928544687,CA
+2928544688,2928544695,NL
+2928544696,2928544711,US
+2928544712,2928544727,CA
+2928544728,2928544735,RU
+2928544736,2928544743,CA
+2928544744,2928544751,GB
+2928544752,2928544775,CA
+2928544776,2928544791,RO
+2928544792,2928544799,FR
+2928544800,2928544831,CA
+2928544832,2928544839,BR
+2928544840,2928544855,CA
+2928544856,2928544863,IN
+2928544864,2928544871,BR
+2928544872,2928544887,CA
+2928544888,2928544895,BR
+2928544896,2928544911,CA
+2928544912,2928544919,US
+2928544920,2928544927,AE
+2928544928,2928544935,CA
+2928544936,2928544943,RU
+2928544944,2928544951,CN
+2928544952,2928544959,AU
+2928544960,2928544983,CA
+2928544984,2928544991,DK
+2928544992,2928545007,CA
+2928545008,2928545015,EG
+2928545016,2928545031,CA
+2928545032,2928545063,IL
+2928545064,2928545071,US
+2928545072,2928545079,NL
+2928545080,2928545087,RU
+2928545088,2928545095,IT
+2928545096,2928545119,CA
+2928545120,2928545127,ES
+2928545128,2928545135,PA
+2928545136,2928545143,CA
+2928545144,2928545151,LT
+2928545152,2928545159,BR
+2928545160,2928545167,CA
+2928545168,2928545175,SA
+2928545176,2928545199,CA
+2928545200,2928545215,IL
+2928545216,2928545223,AE
+2928545224,2928545231,ES
+2928545232,2928545239,IL
+2928545240,2928545247,US
+2928545248,2928545263,IL
+2928545264,2928545295,CA
+2928545296,2928545303,IR
+2928545304,2928545311,US
+2928545312,2928545319,AU
+2928545320,2928545335,CA
+2928545336,2928545343,AE
+2928545344,2928545375,CA
+2928545376,2928545383,PH
+2928545384,2928545391,CA
+2928545392,2928545399,GB
+2928545400,2928545407,CA
+2928545408,2928545423,US
+2928545424,2928545439,CA
+2928545440,2928545455,US
+2928545456,2928545471,CA
+2928545472,2928545479,ES
+2928545480,2928545487,BR
+2928545488,2928545511,CA
+2928545512,2928545519,NL
+2928545520,2928545527,IL
+2928545528,2928545543,CA
+2928545544,2928545551,IN
+2928545552,2928545559,CO
+2928545560,2928545567,US
+2928545568,2928545575,CA
+2928545576,2928545583,AM
+2928545584,2928545591,CU
+2928545592,2928545599,CA
+2928545600,2928545607,AT
+2928545608,2928545623,CA
+2928545624,2928545631,DO
+2928545632,2928545639,CA
+2928545640,2928545647,QA
+2928545648,2928545655,US
+2928545656,2928545663,SA
+2928545664,2928545679,DE
+2928545680,2928545695,CA
+2928545696,2928545711,US
+2928545712,2928545719,DE
+2928545720,2928545735,CA
+2928545736,2928545743,NL
+2928545744,2928545751,MX
+2928545752,2928545759,CA
+2928545760,2928545767,ZA
+2928545768,2928545775,CA
+2928545776,2928545783,MX
+2928545784,2928545791,US
+2928545792,2928545799,BR
+2928545800,2928545807,IR
+2928545808,2928545815,CA
+2928545816,2928545823,US
+2928545824,2928545831,DE
+2928545832,2928545839,PT
+2928545840,2928545847,US
+2928545848,2928545855,TR
+2928545856,2928545863,CA
+2928545864,2928545871,TR
+2928545872,2928545879,CA
+2928545880,2928545887,MX
+2928545888,2928545903,CA
+2928545904,2928545911,FR
+2928545912,2928545919,CA
+2928545920,2928545927,US
+2928545928,2928545943,CA
+2928545944,2928545951,RU
+2928545952,2928545959,CO
+2928545960,2928545967,MX
+2928545968,2928545975,CA
+2928545976,2928545983,CI
+2928545984,2928545999,CA
+2928546000,2928546007,US
+2928546008,2928546039,CA
+2928546040,2928546047,IL
+2928546048,2928546055,MY
+2928546056,2928546063,CA
+2928546064,2928546071,CR
+2928546072,2928546087,CA
+2928546088,2928546095,AR
+2928546096,2928546111,CA
+2928546112,2928546119,BE
+2928546120,2928546127,CA
+2928546128,2928546135,US
+2928546136,2928546159,CA
+2928546160,2928546167,AE
+2928546168,2928546175,CA
+2928546176,2928546183,US
+2928546184,2928546191,GB
+2928546192,2928546199,CA
+2928546200,2928546215,US
+2928546216,2928546223,AR
+2928546224,2928546231,UA
+2928546232,2928546247,AG
+2928546248,2928546255,CA
+2928546256,2928546263,GR
+2928546264,2928546279,CA
+2928546280,2928546287,GB
+2928546288,2928546295,CA
+2928546296,2928546303,BR
+2928546304,2928546311,EG
+2928546312,2928546319,CA
+2928546320,2928546327,LI
+2928546328,2928546335,CA
+2928546336,2928546343,MX
+2928546344,2928546351,CA
+2928546352,2928546359,RO
+2928546360,2928546367,BR
+2928546368,2928546375,FR
+2928546376,2928546391,CA
+2928546392,2928546399,CN
+2928546400,2928546407,BR
+2928546408,2928546415,AU
+2928546416,2928546423,CA
+2928546424,2928546431,DO
+2928546432,2928546439,UA
+2928546440,2928546447,BD
+2928546448,2928546455,RU
+2928546456,2928546479,CA
+2928546480,2928546495,BR
+2928546496,2928546519,CA
+2928546520,2928546527,US
+2928546528,2928546535,DE
+2928546536,2928546543,BR
+2928546544,2928546551,CA
+2928546552,2928546559,US
+2928546560,2928546575,MX
+2928546576,2928546607,PK
+2928546608,2928546623,BE
+2928546624,2928546655,CA
+2928546656,2928546687,RU
+2928546688,2928546751,CA
+2928546752,2928546783,BR
+2928546784,2928546823,CA
+2928546824,2928546831,CD
+2928546832,2928546839,PH
+2928546840,2928546847,BR
+2928546848,2928546871,CA
+2928546872,2928546879,GR
+2928546880,2928546887,CA
+2928546888,2928546895,US
+2928546896,2928546911,CA
+2928546912,2928546919,AR
+2928546920,2928546927,RU
+2928546928,2928546951,CA
+2928546952,2928546959,BR
+2928546960,2928546983,CA
+2928546984,2928546991,IN
+2928546992,2928547007,CA
+2928547008,2928547015,US
+2928547016,2928547023,CA
+2928547024,2928547031,MX
+2928547032,2928547039,CA
+2928547040,2928547047,MT
+2928547048,2928547071,CA
+2928547072,2928547079,US
+2928547080,2928547087,CA
+2928547088,2928547095,US
+2928547096,2928547103,CA
+2928547104,2928547111,AT
+2928547112,2928547127,US
+2928547128,2928547135,TR
+2928547136,2928547199,CA
+2928547200,2928547207,US
+2928547208,2928547231,CA
+2928547232,2928547239,TR
+2928547240,2928547247,FR
+2928547248,2928547255,CA
+2928547256,2928547263,RU
+2928547264,2928547271,SA
+2928547272,2928547359,CA
+2928547360,2928547367,DE
+2928547368,2928547375,CA
+2928547376,2928547383,RU
+2928547384,2928547391,US
+2928547392,2928547399,BR
+2928547400,2928547407,LV
+2928547408,2928547471,CA
+2928547472,2928547487,RU
+2928547488,2928547503,DE
+2928547504,2928547519,CA
+2928547520,2928547551,US
+2928547552,2928547559,BR
+2928547560,2928547567,CY
+2928547568,2928547591,CA
+2928547592,2928547599,GR
+2928547600,2928547607,AM
+2928547608,2928547663,CA
+2928547664,2928547671,SC
+2928547672,2928547679,CA
+2928547680,2928547695,US
+2928547696,2928547711,ZA
+2928547712,2928547719,DE
+2928547720,2928547727,AE
+2928547728,2928547735,ID
+2928547736,2928547751,CA
+2928547752,2928547759,AU
+2928547760,2928547767,CA
+2928547768,2928547775,ES
+2928547776,2928547783,IR
+2928547784,2928547791,CO
+2928547792,2928547807,CA
+2928547808,2928547815,NO
+2928547816,2928547839,CA
+2928547840,2928547847,VE
+2928547848,2928547855,ZA
+2928547856,2928547903,CA
+2928547904,2928547911,US
+2928547912,2928547935,CA
+2928547936,2928547943,RU
+2928547944,2928547951,CA
+2928547952,2928547959,US
+2928547960,2928547983,CA
+2928547984,2928547991,KW
+2928547992,2928547999,CA
+2928548000,2928548007,US
+2928548008,2928548031,CA
+2928548032,2928548039,US
+2928548040,2928548047,RU
+2928548048,2928548055,CA
+2928548056,2928548063,US
+2928548064,2928548071,CA
+2928548072,2928548079,BR
+2928548080,2928548087,CA
+2928548088,2928548095,US
+2928548096,2928548119,CA
+2928548120,2928548127,GB
+2928548128,2928548135,DE
+2928548136,2928548143,US
+2928548144,2928548159,CA
+2928548160,2928548175,UA
+2928548176,2928548183,CA
+2928548184,2928548191,US
+2928548192,2928548199,IL
+2928548200,2928548231,CA
+2928548232,2928548239,BG
+2928548240,2928548247,ES
+2928548248,2928548255,US
+2928548256,2928548263,CA
+2928548264,2928548271,DE
+2928548272,2928548287,US
+2928548288,2928548351,CA
+2928548352,2928548359,AU
+2928548360,2928548367,NL
+2928548368,2928548371,IN
+2928548372,2928548383,CA
+2928548384,2928548415,IR
+2928548416,2928548423,RO
+2928548424,2928548431,EG
+2928548432,2928548439,CA
+2928548440,2928548447,UA
+2928548448,2928548479,MT
+2928548480,2928548511,CA
+2928548512,2928548527,GR
+2928548528,2928548535,BG
+2928548536,2928548639,CA
+2928548640,2928548695,US
+2928548696,2928548703,CA
+2928548704,2928548735,BR
+2928548736,2928548767,CA
+2928548768,2928548775,BR
+2928548776,2928548783,HK
+2928548784,2928548791,CA
+2928548792,2928548831,PK
+2928548832,2928548943,CA
+2928548944,2928548959,US
+2928548960,2928548967,BR
+2928548968,2928548975,CA
+2928548976,2928548983,US
+2928548984,2928549007,CA
+2928549008,2928549015,IR
+2928549016,2928549023,CA
+2928549024,2928549031,UY
+2928549032,2928549039,CA
+2928549040,2928549047,IN
+2928549048,2928549055,CA
+2928549056,2928549063,US
+2928549064,2928549071,CA
+2928549072,2928549087,TR
+2928549088,2928549095,CA
+2928549096,2928549103,PK
+2928549104,2928549127,CA
+2928549128,2928549135,US
+2928549136,2928549143,AU
+2928549144,2928549151,CY
+2928549152,2928549159,CA
+2928549160,2928549167,US
+2928549168,2928549183,NL
+2928549184,2928549199,CA
+2928549200,2928549207,US
+2928549208,2928549215,IN
+2928549216,2928549247,BR
+2928549248,2928549263,CA
+2928549264,2928549271,US
+2928549272,2928549327,CA
+2928549328,2928549343,UA
+2928549344,2928549359,PL
+2928549360,2928549367,GB
+2928549368,2928549439,US
+2928549440,2928549455,CA
+2928549456,2928549471,GB
+2928549472,2928549503,CA
+2928549504,2928549511,US
+2928549512,2928549519,AE
+2928549520,2928549527,CA
+2928549528,2928549535,US
+2928549536,2928549567,CA
+2928549568,2928549575,CY
+2928549576,2928549583,CA
+2928549584,2928549591,CY
+2928549592,2928549599,US
+2928549600,2928549607,BR
+2928549608,2928549631,CA
+2928549632,2928549647,PK
+2928549648,2928549663,CA
+2928549664,2928549695,IR
+2928549696,2928549767,CA
+2928549768,2928549775,DE
+2928549776,2928549799,CA
+2928549800,2928549807,NL
+2928549808,2928549823,CA
+2928549824,2928549887,CN
+2928549888,2928550303,CA
+2928550304,2928550311,CY
+2928550312,2928550367,CA
+2928550368,2928550375,CY
+2928550376,2928550479,CA
+2928550480,2928550487,US
+2928550488,2928550495,CA
+2928550496,2928550503,TH
+2928550504,2928550543,CA
+2928550544,2928550551,PK
+2928550552,2928550559,CA
+2928550560,2928550567,FR
+2928550568,2928550591,CA
+2928550592,2928550599,MY
+2928550600,2928550607,CA
+2928550608,2928550615,US
+2928550616,2928550623,SA
+2928550624,2928550631,NO
+2928550632,2928550655,CA
+2928550656,2928550671,MX
+2928550672,2928550679,CA
+2928550680,2928550687,MX
+2928550688,2928550711,CA
+2928550712,2928550719,PT
+2928550720,2928550727,BR
+2928550728,2928550743,CA
+2928550744,2928550751,EG
+2928550752,2928550759,CA
+2928550760,2928550767,GB
+2928550768,2928550799,CA
+2928550800,2928550807,PK
+2928550808,2928550815,CA
+2928550816,2928550823,SA
+2928550824,2928550831,UA
+2928550832,2928550839,CA
+2928550840,2928550847,EG
+2928550848,2928550855,CA
+2928550856,2928550863,CO
+2928550864,2928550887,CA
+2928550888,2928550895,MX
+2928550896,2928550903,US
+2928550904,2928550911,CA
+2928550912,2928550919,BR
+2928550920,2928550927,BD
+2928550928,2928550935,MX
+2928550936,2928550951,CA
+2928550952,2928550959,US
+2928550960,2928550967,UA
+2928550968,2928550975,CL
+2928550976,2928550983,PL
+2928550984,2928551023,CA
+2928551024,2928551031,PA
+2928551032,2928551047,CA
+2928551048,2928551055,US
+2928551056,2928551063,PA
+2928551064,2928551071,IN
+2928551072,2928551079,BR
+2928551080,2928551087,CA
+2928551088,2928551095,GR
+2928551096,2928551103,TR
+2928551104,2928551111,KW
+2928551112,2928551119,DE
+2928551120,2928551127,IN
+2928551128,2928551135,CA
+2928551136,2928551143,EC
+2928551144,2928551159,US
+2928551160,2928551183,CA
+2928551184,2928551191,VE
+2928551192,2928551199,CA
+2928551200,2928551207,BR
+2928551208,2928551223,US
+2928551224,2928551231,CA
+2928551232,2928551239,ES
+2928551240,2928551247,US
+2928551248,2928551263,CA
+2928551264,2928551271,AR
+2928551272,2928551279,CA
+2928551280,2928551287,BR
+2928551288,2928551295,IE
+2928551296,2928551303,NL
+2928551304,2928551311,US
+2928551312,2928551319,CA
+2928551320,2928551327,US
+2928551328,2928551335,CA
+2928551336,2928551343,NL
+2928551344,2928551351,BR
+2928551352,2928551359,US
+2928551360,2928551487,CA
+2928551488,2928551495,US
+2928551496,2928551519,CA
+2928551520,2928551527,AO
+2928551528,2928551535,US
+2928551536,2928551543,PH
+2928551544,2928551551,IN
+2928551552,2928551583,CA
+2928551584,2928551591,US
+2928551592,2928551599,GB
+2928551600,2928551607,CA
+2928551608,2928551615,IN
+2928551616,2928551623,CA
+2928551624,2928551631,US
+2928551632,2928551639,BR
+2928551640,2928551647,CA
+2928551648,2928551655,US
+2928551656,2928551671,IN
+2928551672,2928551951,CA
+2928551952,2928551959,ID
+2928551960,2928551975,CO
+2928551976,2928551983,SE
+2928551984,2928551999,CA
+2928552000,2928552007,GR
+2928552008,2928552015,CA
+2928552016,2928552023,HR
+2928552024,2928552031,PE
+2928552032,2928552039,IR
+2928552040,2928552071,CA
+2928552072,2928552079,TR
+2928552080,2928552087,IL
+2928552088,2928552095,CA
+2928552096,2928552103,BR
+2928552104,2928552111,TR
+2928552112,2928552119,GB
+2928552120,2928552127,US
+2928552128,2928552135,CA
+2928552136,2928552151,US
+2928552152,2928552159,IT
+2928552160,2928552183,CA
+2928552184,2928552191,US
+2928552192,2928552223,CA
+2928552224,2928552231,GB
+2928552232,2928552247,CA
+2928552248,2928552263,IN
+2928552264,2928552279,CA
+2928552280,2928552287,US
+2928552288,2928552295,CA
+2928552296,2928552311,US
+2928552312,2928552319,CA
+2928552320,2928552327,US
+2928552328,2928552359,CA
+2928552360,2928552383,US
+2928552384,2928552391,BR
+2928552392,2928552399,CA
+2928552400,2928552407,JM
+2928552408,2928552415,CA
+2928552416,2928552423,LB
+2928552424,2928552431,US
+2928552432,2928552439,CA
+2928552440,2928552447,US
+2928552448,2928552479,CA
+2928552480,2928552487,DM
+2928552488,2928552495,US
+2928552496,2928552503,BR
+2928552504,2928552511,US
+2928552512,2928552519,QA
+2928552520,2928552535,CA
+2928552536,2928552543,QA
+2928552544,2928552551,US
+2928552552,2928552703,CA
+2928552704,2928552711,PK
+2928552712,2928552719,IR
+2928552720,2928552759,CA
+2928552760,2928552767,PK
+2928552768,2928552775,CA
+2928552776,2928552783,AR
+2928552784,2928552799,CA
+2928552800,2928552807,UA
+2928552808,2928552815,US
+2928552816,2928552831,CO
+2928552832,2928552839,US
+2928552840,2928552847,CA
+2928552848,2928552855,US
+2928552856,2928552871,MX
+2928552872,2928552887,CA
+2928552888,2928552895,GB
+2928552896,2928552903,US
+2928552904,2928552911,CA
+2928552912,2928552919,ZA
+2928552920,2928552927,ES
+2928552928,2928552935,CA
+2928552936,2928552943,BR
+2928552944,2928552951,UY
+2928552952,2928552975,CA
+2928552976,2928552983,US
+2928552984,2928553015,ME
+2928553016,2928553031,US
+2928553032,2928553047,CA
+2928553048,2928553055,US
+2928553056,2928553063,CA
+2928553064,2928553071,US
+2928553072,2928553103,CA
+2928553104,2928553111,US
+2928553112,2928553127,CA
+2928553128,2928553135,US
+2928553136,2928553151,EG
+2928553152,2928553159,SE
+2928553160,2928553175,CA
+2928553176,2928553183,BR
+2928553184,2928553207,CA
+2928553208,2928553215,AW
+2928553216,2928553239,CA
+2928553240,2928553255,IR
+2928553256,2928553271,ES
+2928553272,2928553279,TR
+2928553280,2928553287,EC
+2928553288,2928553295,CA
+2928553296,2928553303,GR
2928553304,2928553311,HU
-2928553312,2928558943,CA
+2928553312,2928553319,US
+2928553320,2928553327,CA
+2928553328,2928553335,LB
+2928553336,2928553343,US
+2928553344,2928553351,CA
+2928553352,2928553359,IT
+2928553360,2928553383,CA
+2928553384,2928553391,BR
+2928553392,2928553399,CA
+2928553400,2928553407,IN
+2928553408,2928553423,CA
+2928553424,2928553431,NO
+2928553432,2928553439,CH
+2928553440,2928553447,KY
+2928553448,2928553455,CA
+2928553456,2928553463,US
+2928553464,2928553471,DE
+2928553472,2928553727,CA
+2928553728,2928553735,US
+2928553736,2928553759,CA
+2928553760,2928553767,IN
+2928553768,2928553783,CA
+2928553784,2928553799,PK
+2928553800,2928553807,IR
+2928553808,2928553815,US
+2928553816,2928553823,SN
+2928553824,2928553831,CA
+2928553832,2928553847,US
+2928553848,2928553855,AE
+2928553856,2928553871,CA
+2928553872,2928553879,DE
+2928553880,2928553887,CA
+2928553888,2928553895,BB
+2928553896,2928553903,EG
+2928553904,2928553919,CA
+2928553920,2928553927,AU
+2928553928,2928553935,DE
+2928553936,2928553943,GB
+2928553944,2928553951,CA
+2928553952,2928553959,BR
+2928553960,2928553967,ES
+2928553968,2928553975,US
+2928553976,2928553991,CA
+2928553992,2928553999,BZ
+2928554000,2928554015,CA
+2928554016,2928554023,BR
+2928554024,2928554031,QA
+2928554032,2928554039,BR
+2928554040,2928554047,RO
+2928554048,2928554055,AR
+2928554056,2928554063,QA
+2928554064,2928554079,BR
+2928554080,2928554087,CA
+2928554088,2928554095,US
+2928554096,2928554103,CA
+2928554104,2928554111,SA
+2928554112,2928554119,AR
+2928554120,2928554127,CA
+2928554128,2928554135,TH
+2928554136,2928554143,US
+2928554144,2928554151,CA
+2928554152,2928554159,RU
+2928554160,2928554175,CA
+2928554176,2928554183,BR
+2928554184,2928554191,CA
+2928554192,2928554215,QA
+2928554216,2928554223,CA
+2928554224,2928554239,US
+2928554240,2928554255,BR
+2928554256,2928554263,CO
+2928554264,2928554287,CA
+2928554288,2928554295,PK
+2928554296,2928554327,CA
+2928554328,2928554335,US
+2928554336,2928554343,PA
+2928554344,2928554359,CA
+2928554360,2928554367,US
+2928554368,2928554383,CA
+2928554384,2928554391,GR
+2928554392,2928554399,CA
+2928554400,2928554407,DO
+2928554408,2928554415,CA
+2928554416,2928554431,US
+2928554432,2928554455,CA
+2928554456,2928554463,IN
+2928554464,2928554471,BR
+2928554472,2928554503,CA
+2928554504,2928554519,US
+2928554520,2928554535,CA
+2928554536,2928554543,DE
+2928554544,2928554551,CA
+2928554552,2928554559,DE
+2928554560,2928554567,AW
+2928554568,2928554575,MX
+2928554576,2928554599,CA
+2928554600,2928554607,EG
+2928554608,2928554615,DE
+2928554616,2928554623,CA
+2928554624,2928554631,BR
+2928554632,2928554639,AI
+2928554640,2928554655,CA
+2928554656,2928554663,RU
+2928554664,2928554671,RS
+2928554672,2928554679,CA
+2928554680,2928554687,HK
+2928554688,2928554695,CA
+2928554696,2928554703,BR
+2928554704,2928554711,AR
+2928554712,2928554719,CA
+2928554720,2928554727,US
+2928554728,2928554735,UY
+2928554736,2928554743,DE
+2928554744,2928554751,MX
+2928554752,2928554759,SY
+2928554760,2928554775,CA
+2928554776,2928554783,US
+2928554784,2928554799,BR
+2928554800,2928554807,EG
+2928554808,2928554815,IN
+2928554816,2928554823,CA
+2928554824,2928554839,IL
+2928554840,2928554855,CA
+2928554856,2928554863,FR
+2928554864,2928554871,US
+2928554872,2928554879,IR
+2928554880,2928555071,CA
+2928555072,2928555079,GT
+2928555080,2928555087,CA
+2928555088,2928555095,IN
+2928555096,2928555111,CA
+2928555112,2928555119,MX
+2928555120,2928555127,BE
+2928555128,2928555135,CA
+2928555136,2928555143,TR
+2928555144,2928555151,LB
+2928555152,2928555159,CA
+2928555160,2928555183,BZ
+2928555184,2928555191,CA
+2928555192,2928555199,TN
+2928555200,2928555215,CA
+2928555216,2928555223,US
+2928555224,2928555231,CA
+2928555232,2928555239,BR
+2928555240,2928555247,AE
+2928555248,2928555255,CA
+2928555256,2928555263,US
+2928555264,2928555527,CA
+2928555528,2928555535,US
+2928555536,2928555543,IL
+2928555544,2928555551,CA
+2928555552,2928555559,SY
+2928555560,2928555567,PT
+2928555568,2928555575,AU
+2928555576,2928555583,UA
+2928555584,2928555591,GB
+2928555592,2928555599,LB
+2928555600,2928555607,CA
+2928555608,2928555615,IL
+2928555616,2928555631,CA
+2928555632,2928555719,US
+2928555720,2928555735,CA
+2928555736,2928555743,IN
+2928555744,2928555751,JO
+2928555752,2928555759,US
+2928555760,2928555767,MX
+2928555768,2928555775,CA
+2928555776,2928555783,BR
+2928555784,2928555791,UY
+2928555792,2928555799,CA
+2928555800,2928555807,CO
+2928555808,2928555815,IN
+2928555816,2928555823,CO
+2928555824,2928555831,IR
+2928555832,2928555839,MX
+2928555840,2928555847,CA
+2928555848,2928555855,FR
+2928555856,2928555863,CA
+2928555864,2928555871,BZ
+2928555872,2928555879,SA
+2928555880,2928555887,KW
+2928555888,2928555895,AR
+2928555896,2928555903,CN
+2928555904,2928555975,US
+2928555976,2928555983,CA
+2928555984,2928555991,US
+2928555992,2928555999,RO
+2928556000,2928556015,CA
+2928556016,2928556023,IN
+2928556024,2928556031,CA
+2928556032,2928556039,US
+2928556040,2928556047,CA
+2928556048,2928556055,US
+2928556056,2928556103,CA
+2928556104,2928556111,DE
+2928556112,2928556135,CA
+2928556136,2928556143,RU
+2928556144,2928556151,MX
+2928556152,2928556175,CA
+2928556176,2928556183,SE
+2928556184,2928556191,DE
+2928556192,2928556199,PE
+2928556200,2928556207,AU
+2928556208,2928556231,CA
+2928556232,2928556239,GT
+2928556240,2928556255,CA
+2928556256,2928556263,KR
+2928556264,2928556271,CA
+2928556272,2928556279,US
+2928556280,2928556295,CA
+2928556296,2928556303,US
+2928556304,2928556311,IN
+2928556312,2928556335,CA
+2928556336,2928556343,SG
+2928556344,2928556351,CA
+2928556352,2928556359,IN
+2928556360,2928556375,US
+2928556376,2928556383,CA
+2928556384,2928556391,US
+2928556392,2928556399,CO
+2928556400,2928556407,EG
+2928556408,2928556423,CA
+2928556424,2928556431,MX
+2928556432,2928556463,CA
+2928556464,2928556471,AE
+2928556472,2928556543,CA
+2928556544,2928556551,US
+2928556552,2928556559,CY
+2928556560,2928556567,VN
+2928556568,2928556575,IN
+2928556576,2928556599,US
+2928556600,2928556615,CA
+2928556616,2928556623,NL
+2928556624,2928556631,SG
+2928556632,2928556639,YE
+2928556640,2928556663,CA
+2928556664,2928556671,BY
+2928556672,2928556687,CA
+2928556688,2928556695,SN
+2928556696,2928556719,CA
+2928556720,2928556727,BR
+2928556728,2928556735,PK
+2928556736,2928556743,CA
+2928556744,2928556751,GB
+2928556752,2928556775,CA
+2928556776,2928556783,US
+2928556784,2928556791,IN
+2928556792,2928556815,CA
+2928556816,2928556823,US
+2928556824,2928556831,KR
+2928556832,2928556839,IT
+2928556840,2928556847,AR
+2928556848,2928556855,CH
+2928556856,2928556863,FR
+2928556864,2928556871,CA
+2928556872,2928556919,IL
+2928556920,2928556935,CA
+2928556936,2928556943,IL
+2928556944,2928556951,BR
+2928556952,2928556959,IN
+2928556960,2928556975,CA
+2928556976,2928556983,AR
+2928556984,2928556991,US
+2928556992,2928556999,KW
+2928557000,2928557007,CO
+2928557008,2928557015,LB
+2928557016,2928557023,CY
+2928557024,2928557031,BR
+2928557032,2928557039,SA
+2928557040,2928557055,CA
+2928557056,2928557311,US
+2928557312,2928557615,CA
+2928557616,2928557623,BN
+2928557624,2928557631,IN
+2928557632,2928557711,CA
+2928557712,2928557719,AN
+2928557720,2928557775,CA
+2928557776,2928557783,US
+2928557784,2928557863,CA
+2928557864,2928557871,FR
+2928557872,2928557879,CA
+2928557880,2928557887,AE
+2928557888,2928557959,CA
+2928557960,2928557967,AU
+2928557968,2928557975,CA
+2928557976,2928557983,US
+2928557984,2928558007,CA
+2928558008,2928558015,US
+2928558016,2928558031,CA
+2928558032,2928558039,TR
+2928558040,2928558047,US
+2928558048,2928558103,CA
+2928558104,2928558111,US
+2928558112,2928558119,IN
+2928558120,2928558127,CA
+2928558128,2928558135,CY
+2928558136,2928558151,CA
+2928558152,2928558167,CN
+2928558168,2928558183,CA
+2928558184,2928558191,MX
+2928558192,2928558207,CA
+2928558208,2928558215,TW
+2928558216,2928558223,CA
+2928558224,2928558231,RS
+2928558232,2928558239,CA
+2928558240,2928558255,GB
+2928558256,2928558271,CA
+2928558272,2928558279,AR
+2928558280,2928558287,US
+2928558288,2928558295,CA
+2928558296,2928558303,CO
+2928558304,2928558319,CA
+2928558320,2928558327,MX
+2928558328,2928558351,BR
+2928558352,2928558359,CO
+2928558360,2928558367,IN
+2928558368,2928558383,GB
+2928558384,2928558399,US
+2928558400,2928558407,DE
+2928558408,2928558415,CA
+2928558416,2928558423,AO
+2928558424,2928558431,CA
+2928558432,2928558439,RO
+2928558440,2928558447,PE
+2928558448,2928558455,US
+2928558456,2928558463,NL
+2928558464,2928558471,CA
+2928558472,2928558479,US
+2928558480,2928558487,IR
+2928558488,2928558495,BR
+2928558496,2928558503,MK
+2928558504,2928558511,CA
+2928558512,2928558519,BE
+2928558520,2928558527,CA
+2928558528,2928558543,US
+2928558544,2928558551,BR
+2928558552,2928558559,MX
+2928558560,2928558567,AU
+2928558568,2928558575,CA
+2928558576,2928558583,RU
+2928558584,2928558591,HU
+2928558592,2928558631,CA
+2928558632,2928558639,BR
+2928558640,2928558647,CA
+2928558648,2928558663,MX
+2928558664,2928558679,SA
+2928558680,2928558687,CA
+2928558688,2928558695,GT
+2928558696,2928558703,US
+2928558704,2928558727,CA
+2928558728,2928558735,TR
+2928558736,2928558751,CA
+2928558752,2928558759,MX
+2928558760,2928558767,RS
+2928558768,2928558775,ES
+2928558776,2928558783,IT
+2928558784,2928558791,CN
+2928558792,2928558799,MX
+2928558800,2928558807,CN
+2928558808,2928558815,CA
+2928558816,2928558823,GB
+2928558824,2928558831,CA
+2928558832,2928558839,US
+2928558840,2928558847,GB
+2928558848,2928558855,SE
+2928558856,2928558863,MX
+2928558864,2928558871,SA
+2928558872,2928558879,CA
+2928558880,2928558887,JP
+2928558888,2928558903,CA
+2928558904,2928558911,US
+2928558912,2928558927,CA
+2928558928,2928558935,SE
+2928558936,2928558943,IR
2928558944,2928558951,PE
-2928558952,2928570671,CA
+2928558952,2928558959,US
+2928558960,2928558967,CA
+2928558968,2928558975,AR
+2928558976,2928558983,US
+2928558984,2928559015,LB
+2928559016,2928559023,TR
+2928559024,2928559031,US
+2928559032,2928559055,CA
+2928559056,2928559063,IN
+2928559064,2928559071,CA
+2928559072,2928559079,US
+2928559080,2928559087,CA
+2928559088,2928559095,SA
+2928559096,2928559359,CA
+2928559360,2928559375,DE
+2928559376,2928559383,PK
+2928559384,2928559391,CA
+2928559392,2928559399,MX
+2928559400,2928559407,SE
+2928559408,2928559423,QA
+2928559424,2928559431,BR
+2928559432,2928559471,CA
+2928559472,2928559479,BR
+2928559480,2928559487,US
+2928559488,2928559495,CA
+2928559496,2928559503,AE
+2928559504,2928559511,CA
+2928559512,2928559519,AU
+2928559520,2928559527,DE
+2928559528,2928559535,CA
+2928559536,2928559543,US
+2928559544,2928559551,IN
+2928559552,2928559567,BR
+2928559568,2928559575,CA
+2928559576,2928559583,UA
+2928559584,2928559591,CA
+2928559592,2928559599,GB
+2928559600,2928559607,KW
+2928559608,2928559615,IE
+2928559616,2928559623,BE
+2928559624,2928559631,TR
+2928559632,2928559639,CA
+2928559640,2928559647,US
+2928559648,2928559655,CA
+2928559656,2928559663,MX
+2928559664,2928559671,DE
+2928559672,2928559679,CA
+2928559680,2928559687,RO
+2928559688,2928559703,CA
+2928559704,2928559711,LT
+2928559712,2928559751,CA
+2928559752,2928559759,AU
+2928559760,2928559767,CA
+2928559768,2928559775,IN
+2928559776,2928559783,CA
+2928559784,2928559791,US
+2928559792,2928559799,RO
+2928559800,2928559807,CA
+2928559808,2928559815,AR
+2928559816,2928559831,CA
+2928559832,2928559839,CH
+2928559840,2928559855,CA
+2928559856,2928559863,AU
+2928559864,2928559871,CA
+2928559872,2928559879,BR
+2928559880,2928559887,GB
+2928559888,2928559895,CA
+2928559896,2928559903,BR
+2928559904,2928559935,CA
+2928559936,2928559959,LV
+2928559960,2928559975,CA
+2928559976,2928559983,MX
+2928559984,2928559991,IN
+2928559992,2928559999,TR
+2928560000,2928560007,PK
+2928560008,2928560015,US
+2928560016,2928560023,AU
+2928560024,2928560031,TT
+2928560032,2928560039,TR
+2928560040,2928560047,RU
+2928560048,2928560055,CY
+2928560056,2928560063,AR
+2928560064,2928560071,GB
+2928560072,2928560079,CA
+2928560080,2928560087,US
+2928560088,2928560103,CA
+2928560104,2928560111,IR
+2928560112,2928560119,BO
+2928560120,2928560127,AR
+2928560128,2928560135,MX
+2928560136,2928560143,US
+2928560144,2928560151,CA
+2928560152,2928560159,GB
+2928560160,2928560167,IR
+2928560168,2928560175,US
+2928560176,2928560183,CA
+2928560184,2928560191,EG
+2928560192,2928560231,CA
+2928560232,2928560239,US
+2928560240,2928560255,CA
+2928560256,2928560263,MA
+2928560264,2928560271,BR
+2928560272,2928560279,MX
+2928560280,2928560295,CA
+2928560296,2928560303,US
+2928560304,2928560311,CA
+2928560312,2928560335,US
+2928560336,2928560351,CA
+2928560352,2928560367,BR
+2928560368,2928560383,CA
+2928560384,2928560391,BG
+2928560392,2928560407,CA
+2928560408,2928560423,US
+2928560424,2928560439,CA
+2928560440,2928560447,US
+2928560448,2928560479,CA
+2928560480,2928560487,PY
+2928560488,2928560495,BR
+2928560496,2928560511,CA
+2928560512,2928560519,MX
+2928560520,2928560527,CA
+2928560528,2928560535,CR
+2928560536,2928560543,US
+2928560544,2928560551,LV
+2928560552,2928560559,AE
+2928560560,2928560567,CA
+2928560568,2928560575,BR
+2928560576,2928560583,MX
+2928560584,2928560607,CA
+2928560608,2928560615,BM
+2928560616,2928560631,CA
+2928560632,2928560639,CH
+2928560640,2928560647,US
+2928560648,2928560663,CA
+2928560664,2928560671,DE
+2928560672,2928560679,CA
+2928560680,2928560687,UA
+2928560688,2928560703,CA
+2928560704,2928560711,MA
+2928560712,2928560727,CN
+2928560728,2928560735,EG
+2928560736,2928560743,CA
+2928560744,2928560751,MX
+2928560752,2928560759,GR
+2928560760,2928560767,CA
+2928560768,2928560775,MY
+2928560776,2928560815,CA
+2928560816,2928560823,DK
+2928560824,2928560831,CA
+2928560832,2928560839,US
+2928560840,2928560847,HU
+2928560848,2928560863,CA
+2928560864,2928560871,BR
+2928560872,2928560879,EG
+2928560880,2928561151,CA
+2928561152,2928561159,VE
+2928561160,2928561175,CA
+2928561176,2928561183,DE
+2928561184,2928561191,US
+2928561192,2928561199,CA
+2928561200,2928561207,TR
+2928561208,2928561215,IT
+2928561216,2928561231,CA
+2928561232,2928561239,IT
+2928561240,2928561263,CA
+2928561264,2928561271,US
+2928561272,2928561279,CA
+2928561280,2928561287,BG
+2928561288,2928561295,AL
+2928561296,2928561303,MA
+2928561304,2928561311,RO
+2928561312,2928561319,CA
+2928561320,2928561327,AT
+2928561328,2928561335,AR
+2928561336,2928561359,CA
+2928561360,2928561367,BR
+2928561368,2928561375,EG
+2928561376,2928561383,IR
+2928561384,2928561423,CA
+2928561424,2928561431,GB
+2928561432,2928561439,DE
+2928561440,2928561447,CA
+2928561448,2928561455,EC
+2928561456,2928561463,ES
+2928561464,2928561471,CA
+2928561472,2928561479,GB
+2928561480,2928561487,MX
+2928561488,2928561495,UY
+2928561496,2928561503,NL
+2928561504,2928561511,GB
+2928561512,2928561519,CA
+2928561520,2928561527,DZ
+2928561528,2928561551,CA
+2928561552,2928561559,AU
+2928561560,2928561567,MX
+2928561568,2928561575,CO
+2928561576,2928561583,CA
+2928561584,2928561591,TR
+2928561592,2928561599,AE
+2928561600,2928561607,US
+2928561608,2928561615,CA
+2928561616,2928561623,ES
+2928561624,2928561631,CA
+2928561632,2928561639,IN
+2928561640,2928561647,TH
+2928561648,2928561655,TN
+2928561656,2928561663,CA
+2928561664,2928561671,AM
+2928561672,2928561679,PK
+2928561680,2928561695,CA
+2928561696,2928561703,GB
+2928561704,2928561711,AU
+2928561712,2928561719,MX
+2928561720,2928561735,US
+2928561736,2928561743,RU
+2928561744,2928561751,CA
+2928561752,2928561759,VG
+2928561760,2928561767,BR
+2928561768,2928561783,CA
+2928561784,2928561791,US
+2928561792,2928561799,DE
+2928561800,2928561807,CA
+2928561808,2928561823,US
+2928561824,2928561831,NL
+2928561832,2928561839,ZA
+2928561840,2928561847,CA
+2928561848,2928561855,BR
+2928561856,2928561863,PK
+2928561864,2928561871,CA
+2928561872,2928561879,AT
+2928561880,2928561887,QA
+2928561888,2928561903,CA
+2928561904,2928561911,DO
+2928561912,2928561919,US
+2928561920,2928561927,IR
+2928561928,2928561935,QA
+2928561936,2928561943,SG
+2928561944,2928561951,IN
+2928561952,2928561959,US
+2928561960,2928561967,HK
+2928561968,2928561975,CA
+2928561976,2928561983,EG
+2928561984,2928561991,CA
+2928561992,2928561999,MX
+2928562000,2928562007,NL
+2928562008,2928562015,IN
+2928562016,2928562023,CA
+2928562024,2928562031,US
+2928562032,2928562039,CA
+2928562040,2928562047,BE
+2928562048,2928562063,CA
+2928562064,2928562071,IN
+2928562072,2928562079,SY
+2928562080,2928562087,QA
+2928562088,2928562103,CA
+2928562104,2928562111,US
+2928562112,2928562127,CA
+2928562128,2928562135,QA
+2928562136,2928562159,CA
+2928562160,2928562167,IN
+2928562168,2928562175,CA
+2928562176,2928562183,IR
+2928562184,2928562191,CA
+2928562192,2928562199,BR
+2928562200,2928562207,AE
+2928562208,2928562215,AU
+2928562216,2928562223,US
+2928562224,2928562231,GB
+2928562232,2928562239,CA
+2928562240,2928562247,GB
+2928562248,2928562263,CA
+2928562264,2928562271,AM
+2928562272,2928562279,CO
+2928562280,2928562287,CA
+2928562288,2928562295,IN
+2928562296,2928562303,US
+2928562304,2928562319,BR
+2928562320,2928562335,CA
+2928562336,2928562343,US
+2928562344,2928562351,CA
+2928562352,2928562359,RO
+2928562360,2928562367,EG
+2928562368,2928562399,CA
+2928562400,2928562407,US
+2928562408,2928562423,CA
+2928562424,2928562431,BR
+2928562432,2928562463,CA
+2928562464,2928562471,IN
+2928562472,2928562479,CA
+2928562480,2928562487,TW
+2928562488,2928562495,UA
+2928562496,2928562511,CA
+2928562512,2928562519,AR
+2928562520,2928562527,MX
+2928562528,2928562535,UY
+2928562536,2928562543,BR
+2928562544,2928562567,CA
+2928562568,2928562575,US
+2928562576,2928562583,CA
+2928562584,2928562591,US
+2928562592,2928562599,CA
+2928562600,2928562607,ID
+2928562608,2928562615,GB
+2928562616,2928562623,US
+2928562624,2928562631,SE
+2928562632,2928562639,US
+2928562640,2928562663,CA
+2928562664,2928562671,TN
+2928562672,2928562679,CA
+2928562680,2928562687,SY
+2928562688,2928562951,CA
+2928562952,2928562967,US
+2928562968,2928562975,BR
+2928562976,2928562999,CA
+2928563000,2928563039,IL
+2928563040,2928563079,CA
+2928563080,2928563087,IN
+2928563088,2928563119,CA
+2928563120,2928563127,PK
+2928563128,2928563135,CA
+2928563136,2928563327,RU
+2928563328,2928563335,CA
+2928563336,2928563343,US
+2928563344,2928563359,CA
+2928563360,2928563367,IR
+2928563368,2928563375,MX
+2928563376,2928563383,IL
+2928563384,2928563399,CA
+2928563400,2928563407,EG
+2928563408,2928563415,CA
+2928563416,2928563423,PH
+2928563424,2928563431,BD
+2928563432,2928563439,US
+2928563440,2928563447,IR
+2928563448,2928563455,CA
+2928563456,2928563463,IN
+2928563464,2928563471,US
+2928563472,2928563479,IR
+2928563480,2928563487,RU
+2928563488,2928563567,CA
+2928563568,2928563575,CO
+2928563576,2928563591,CN
+2928563592,2928563607,CA
+2928563608,2928563615,BR
+2928563616,2928563623,CA
+2928563624,2928563631,US
+2928563632,2928563639,CH
+2928563640,2928563647,PH
+2928563648,2928563655,TR
+2928563656,2928563663,DE
+2928563664,2928563671,VE
+2928563672,2928563679,US
+2928563680,2928563687,CA
+2928563688,2928563695,US
+2928563696,2928563703,MX
+2928563704,2928563711,ES
+2928563712,2928565063,CA
+2928565064,2928565071,IL
+2928565072,2928565079,CA
+2928565080,2928565095,BR
+2928565096,2928565103,SA
+2928565104,2928565111,ES
+2928565112,2928565119,IN
+2928565120,2928565127,BR
+2928565128,2928565135,CA
+2928565136,2928565143,TR
+2928565144,2928565175,CA
+2928565176,2928565183,IN
+2928565184,2928565191,CA
+2928565192,2928565199,CH
+2928565200,2928565207,UY
+2928565208,2928565247,CA
+2928565248,2928565255,US
+2928565256,2928565271,CA
+2928565272,2928565279,MX
+2928565280,2928565287,CO
+2928565288,2928565295,BR
+2928565296,2928565303,GB
+2928565304,2928565311,DE
+2928565312,2928565335,CA
+2928565336,2928565343,IT
+2928565344,2928565375,US
+2928565376,2928565383,BD
+2928565384,2928565391,TH
+2928565392,2928565399,BR
+2928565400,2928565407,GB
+2928565408,2928565415,TR
+2928565416,2928565439,US
+2928565440,2928565447,IR
+2928565448,2928565463,CA
+2928565464,2928565471,NL
+2928565472,2928565495,CA
+2928565496,2928565503,BE
+2928565504,2928565511,CA
+2928565512,2928565519,MX
+2928565520,2928565527,CA
+2928565528,2928565535,US
+2928565536,2928565543,BR
+2928565544,2928565559,US
+2928565560,2928565567,ID
+2928565568,2928565575,BD
+2928565576,2928565583,CA
+2928565584,2928565591,GR
+2928565592,2928565599,US
+2928565600,2928565607,CA
+2928565608,2928565615,US
+2928565616,2928565623,CO
+2928565624,2928565631,CA
+2928565632,2928565639,CN
+2928565640,2928565647,US
+2928565648,2928565655,CA
+2928565656,2928565663,CN
+2928565664,2928565671,US
+2928565672,2928565695,CA
+2928565696,2928565703,US
+2928565704,2928565727,CA
+2928565728,2928565735,BR
+2928565736,2928565751,CA
+2928565752,2928565759,US
+2928565760,2928565767,CL
+2928565768,2928565815,CA
+2928565816,2928565823,PK
+2928565824,2928565831,US
+2928565832,2928565879,CA
+2928565880,2928565895,BR
+2928565896,2928565903,MX
+2928565904,2928565911,IN
+2928565912,2928565919,AR
+2928565920,2928565927,CN
+2928565928,2928565935,CA
+2928565936,2928565943,SA
+2928565944,2928565951,CA
+2928565952,2928565959,IN
+2928565960,2928565967,PK
+2928565968,2928565975,IN
+2928565976,2928565991,CA
+2928565992,2928565999,TR
+2928566000,2928566007,IN
+2928566008,2928566015,AE
+2928566016,2928566023,IL
+2928566024,2928566039,CA
+2928566040,2928566047,CO
+2928566048,2928566055,BR
+2928566056,2928566087,CA
+2928566088,2928566095,AU
+2928566096,2928566111,US
+2928566112,2928566127,CA
+2928566128,2928566135,US
+2928566136,2928566159,CA
+2928566160,2928566167,MX
+2928566168,2928566175,CA
+2928566176,2928566183,NG
+2928566184,2928566191,IN
+2928566192,2928566207,CA
+2928566208,2928566215,UA
+2928566216,2928566247,CA
+2928566248,2928566255,MX
+2928566256,2928566263,CA
+2928566264,2928566279,US
+2928566280,2928566295,CA
+2928566296,2928566303,DK
+2928566304,2928566311,SA
+2928566312,2928566343,CA
+2928566344,2928566351,US
+2928566352,2928566359,CA
+2928566360,2928566367,BR
+2928566368,2928566375,GR
+2928566376,2928566383,CA
+2928566384,2928566391,DE
+2928566392,2928566399,CA
+2928566400,2928566407,MY
+2928566408,2928566415,CA
+2928566416,2928566423,CO
+2928566424,2928566431,RU
+2928566432,2928566455,CA
+2928566456,2928566487,FR
+2928566488,2928566495,BR
+2928566496,2928566503,MX
+2928566504,2928566519,CA
+2928566520,2928566527,NG
+2928566528,2928566799,CA
+2928566800,2928566807,DK
+2928566808,2928566815,TW
+2928566816,2928566823,BR
+2928566824,2928566839,US
+2928566840,2928566863,CA
+2928566864,2928566871,RU
+2928566872,2928566879,CA
+2928566880,2928566887,BR
+2928566888,2928566895,PA
+2928566896,2928566903,CA
+2928566904,2928566911,YE
+2928566912,2928566919,PT
+2928566920,2928566927,GB
+2928566928,2928566935,CA
+2928566936,2928566943,IN
+2928566944,2928566951,US
+2928566952,2928566959,PL
+2928566960,2928566967,CA
+2928566968,2928566975,US
+2928566976,2928566983,CZ
+2928566984,2928566991,GB
+2928566992,2928567007,CA
+2928567008,2928567015,PH
+2928567016,2928567023,CA
+2928567024,2928567031,BR
+2928567032,2928567039,MX
+2928567040,2928567055,CA
+2928567056,2928567063,GB
+2928567064,2928567071,IR
+2928567072,2928567079,GB
+2928567080,2928567087,US
+2928567088,2928567103,CA
+2928567104,2928567111,EC
+2928567112,2928567119,US
+2928567120,2928567151,CA
+2928567152,2928567159,AU
+2928567160,2928567167,MX
+2928567168,2928567199,CA
+2928567200,2928567207,DK
+2928567208,2928567215,BR
+2928567216,2928567223,CH
+2928567224,2928567231,DK
+2928567232,2928567239,YE
+2928567240,2928567247,DK
+2928567248,2928567255,MC
+2928567256,2928567263,US
+2928567264,2928567271,PT
+2928567272,2928567279,CA
+2928567280,2928567287,ZA
+2928567288,2928567295,US
+2928567296,2928567319,CA
+2928567320,2928567327,UA
+2928567328,2928567335,RU
+2928567336,2928567343,US
+2928567344,2928567351,CA
+2928567352,2928567359,IN
+2928567360,2928567375,CN
+2928567376,2928567383,CA
+2928567384,2928567391,KW
+2928567392,2928567399,PA
+2928567400,2928567407,DE
+2928567408,2928567415,BR
+2928567416,2928567423,ES
+2928567424,2928567431,US
+2928567432,2928567447,CA
+2928567448,2928567455,AE
+2928567456,2928567471,CA
+2928567472,2928567479,BR
+2928567480,2928567487,CA
+2928567488,2928567495,US
+2928567496,2928567543,CA
+2928567544,2928567551,US
+2928567552,2928567743,RU
+2928567744,2928567751,BR
+2928567752,2928567759,GB
+2928567760,2928567775,BR
+2928567776,2928567783,CA
+2928567784,2928567791,MX
+2928567792,2928567799,UA
+2928567800,2928567815,CA
+2928567816,2928567871,YE
+2928567872,2928567879,CA
+2928567880,2928567887,BR
+2928567888,2928567903,YE
+2928567904,2928567911,US
+2928567912,2928567919,BD
+2928567920,2928567935,CA
+2928567936,2928567959,US
+2928567960,2928567967,CA
+2928567968,2928567975,VE
+2928567976,2928567999,CA
+2928568000,2928568023,GB
+2928568024,2928568031,CH
+2928568032,2928568583,CA
+2928568584,2928568591,BR
+2928568592,2928568615,CA
+2928568616,2928568623,US
+2928568624,2928568631,ZA
+2928568632,2928568639,CA
+2928568640,2928568647,YE
+2928568648,2928568655,MX
+2928568656,2928568671,US
+2928568672,2928568679,CA
+2928568680,2928568687,GB
+2928568688,2928568695,CA
+2928568696,2928568703,VG
+2928568704,2928568711,CA
+2928568712,2928568719,US
+2928568720,2928568727,BR
+2928568728,2928568735,AE
+2928568736,2928568767,CA
+2928568768,2928568775,VN
+2928568776,2928568783,US
+2928568784,2928568815,CA
+2928568816,2928568823,BE
+2928568824,2928568831,AR
+2928568832,2928568839,BD
+2928568840,2928568847,CA
+2928568848,2928568863,MT
+2928568864,2928568887,CA
+2928568888,2928568895,YE
+2928568896,2928568903,AE
+2928568904,2928568911,US
+2928568912,2928568919,CA
+2928568920,2928568927,DE
+2928568928,2928568935,CA
+2928568936,2928568943,IN
+2928568944,2928568951,CA
+2928568952,2928568959,US
+2928568960,2928568967,YE
+2928568968,2928568975,CA
+2928568976,2928568983,EE
+2928568984,2928568991,DE
+2928568992,2928568999,ES
+2928569000,2928569007,CA
+2928569008,2928569015,RU
+2928569016,2928569023,GR
+2928569024,2928569031,CA
+2928569032,2928569039,IL
+2928569040,2928569063,CA
+2928569064,2928569079,US
+2928569080,2928569087,RU
+2928569088,2928569103,CA
+2928569104,2928569111,ES
+2928569112,2928569119,AR
+2928569120,2928569159,CA
+2928569160,2928569167,US
+2928569168,2928569175,TH
+2928569176,2928569183,AU
+2928569184,2928569191,GB
+2928569192,2928569199,IT
+2928569200,2928569207,ES
+2928569208,2928569215,CA
+2928569216,2928569223,BR
+2928569224,2928569231,TN
+2928569232,2928569239,MX
+2928569240,2928569247,CN
+2928569248,2928569263,CA
+2928569264,2928569271,GR
+2928569272,2928569287,CA
+2928569288,2928569303,US
+2928569304,2928569311,TR
+2928569312,2928569343,CA
+2928569344,2928569351,GB
+2928569352,2928569359,MY
+2928569360,2928569383,CA
+2928569384,2928569391,NZ
+2928569392,2928569399,AU
+2928569400,2928569415,CA
+2928569416,2928569423,US
+2928569424,2928569431,CA
+2928569432,2928569439,US
+2928569440,2928569447,UM
+2928569448,2928569455,CA
+2928569456,2928569463,AR
+2928569464,2928569471,CA
+2928569472,2928569479,US
+2928569480,2928569487,DE
+2928569488,2928569495,BH
+2928569496,2928569503,CO
+2928569504,2928569511,RU
+2928569512,2928569519,IN
+2928569520,2928569551,CA
+2928569552,2928569559,AU
+2928569560,2928569575,CN
+2928569576,2928569591,US
+2928569592,2928569607,IN
+2928569608,2928569615,AU
+2928569616,2928569623,HU
+2928569624,2928569639,CA
+2928569640,2928569647,US
+2928569648,2928569655,CA
+2928569656,2928569663,US
+2928569664,2928569679,CA
+2928569680,2928569687,BR
+2928569688,2928569711,CA
+2928569712,2928569719,ID
+2928569720,2928569735,US
+2928569736,2928569743,NL
+2928569744,2928569751,AE
+2928569752,2928569767,MX
+2928569768,2928569775,MT
+2928569776,2928569783,US
+2928569784,2928569791,CA
+2928569792,2928569799,CN
+2928569800,2928569807,US
+2928569808,2928569815,CA
+2928569816,2928569823,EG
+2928569824,2928569831,CA
+2928569832,2928569839,BR
+2928569840,2928569847,CA
+2928569848,2928569855,AE
+2928569856,2928569863,CA
+2928569864,2928569871,MX
+2928569872,2928569879,YE
+2928569880,2928569887,CA
+2928569888,2928569903,US
+2928569904,2928569911,CA
+2928569912,2928569919,US
+2928569920,2928569999,RU
+2928570000,2928570007,TH
+2928570008,2928570023,CA
+2928570024,2928570031,US
+2928570032,2928570039,ID
+2928570040,2928570047,US
+2928570048,2928570071,CA
+2928570072,2928570079,BH
+2928570080,2928570087,CA
+2928570088,2928570095,RU
+2928570096,2928570103,MX
+2928570104,2928570175,CA
+2928570176,2928570191,NZ
+2928570192,2928570207,CA
+2928570208,2928570239,US
+2928570240,2928570431,CA
+2928570432,2928570495,FR
+2928570496,2928570559,CZ
+2928570560,2928570623,US
+2928570624,2928570639,CA
+2928570640,2928570655,US
+2928570656,2928570671,CA
2928570672,2928570687,FR
-2928570688,2928579543,CA
+2928570688,2928570703,CA
+2928570704,2928570719,US
+2928570720,2928570751,CA
+2928570752,2928570783,US
+2928570784,2928570815,CA
+2928570816,2928570831,UA
+2928570832,2928570847,CA
+2928570848,2928570879,IL
+2928570880,2928571007,CA
+2928571008,2928571023,AU
+2928571024,2928571167,CA
+2928571168,2928571199,US
+2928571200,2928571519,CA
+2928571520,2928571551,GB
+2928571552,2928571567,UA
+2928571568,2928571615,CA
+2928571616,2928571647,IT
+2928571648,2928572159,US
+2928572160,2928572447,CA
+2928572448,2928572479,IN
+2928572480,2928572511,US
+2928572512,2928572543,PK
+2928572544,2928572559,NL
+2928572560,2928572575,CY
+2928572576,2928572591,US
+2928572592,2928572607,GB
+2928572608,2928572623,MX
+2928572624,2928572655,CA
+2928572656,2928572671,MX
+2928572672,2928572815,CA
+2928572816,2928572831,AN
+2928572832,2928572847,FI
+2928572848,2928572863,GR
+2928572864,2928572879,BR
+2928572880,2928572895,US
+2928572896,2928572943,CA
+2928572944,2928572959,US
+2928572960,2928572975,MT
+2928572976,2928572991,CA
+2928572992,2928573007,CY
+2928573008,2928573023,US
+2928573024,2928573119,CA
+2928573120,2928573135,JO
+2928573136,2928573311,CA
+2928573312,2928573439,BD
+2928573440,2928573503,CA
+2928573504,2928573535,US
+2928573536,2928573567,CA
+2928573568,2928573631,US
+2928573632,2928574559,CA
+2928574560,2928574591,US
+2928574592,2928574623,CA
+2928574624,2928574655,BR
+2928574656,2928574663,DE
+2928574664,2928574671,US
+2928574672,2928574695,CA
+2928574696,2928574703,US
+2928574704,2928574719,CA
+2928574720,2928574727,US
+2928574728,2928574735,CA
+2928574736,2928574743,DE
+2928574744,2928574759,CA
+2928574760,2928574767,AU
+2928574768,2928574775,CA
+2928574776,2928574783,CY
+2928574784,2928574791,GB
+2928574792,2928574799,CA
+2928574800,2928574807,US
+2928574808,2928574815,CO
+2928574816,2928574823,TN
+2928574824,2928574831,AR
+2928574832,2928574839,CA
+2928574840,2928574847,AE
+2928574848,2928574855,RU
+2928574856,2928574863,BR
+2928574864,2928574927,CA
+2928574928,2928574935,US
+2928574936,2928574951,CA
+2928574952,2928574959,QA
+2928574960,2928574967,GB
+2928574968,2928574983,CA
+2928574984,2928574991,US
+2928574992,2928574999,CA
+2928575000,2928575015,US
+2928575016,2928575023,EG
+2928575024,2928575031,BN
+2928575032,2928575055,CA
+2928575056,2928575063,GB
+2928575064,2928575071,CA
+2928575072,2928575079,IL
+2928575080,2928575095,CA
+2928575096,2928575103,US
+2928575104,2928575111,IQ
+2928575112,2928575119,AR
+2928575120,2928575127,US
+2928575128,2928575135,AE
+2928575136,2928575159,CA
+2928575160,2928575167,IN
+2928575168,2928575175,RS
+2928575176,2928575183,CO
+2928575184,2928575191,TR
+2928575192,2928575199,CA
+2928575200,2928575207,ZA
+2928575208,2928575215,BR
+2928575216,2928575231,CA
+2928575232,2928575239,US
+2928575240,2928575247,CA
+2928575248,2928575263,US
+2928575264,2928575271,CA
+2928575272,2928575279,TR
+2928575280,2928575287,CA
+2928575288,2928575295,BR
+2928575296,2928575303,CA
+2928575304,2928575311,US
+2928575312,2928575327,CA
+2928575328,2928575335,PK
+2928575336,2928575343,US
+2928575344,2928575351,GB
+2928575352,2928575367,CA
+2928575368,2928575375,CY
+2928575376,2928575439,CA
+2928575440,2928575447,BR
+2928575448,2928575471,CA
+2928575472,2928575479,US
+2928575480,2928575487,CA
+2928575488,2928575495,IT
+2928575496,2928575503,CA
+2928575504,2928575511,SE
+2928575512,2928575527,CA
+2928575528,2928575543,BR
+2928575544,2928575559,CA
+2928575560,2928575567,IN
+2928575568,2928575575,HK
+2928575576,2928575583,KW
+2928575584,2928575591,BR
+2928575592,2928575599,RO
+2928575600,2928575607,CH
+2928575608,2928575615,AE
+2928575616,2928575631,US
+2928575632,2928575663,CA
+2928575664,2928575671,SG
+2928575672,2928575711,US
+2928575712,2928575719,VG
+2928575720,2928575727,NL
+2928575728,2928575735,US
+2928575736,2928575759,CA
+2928575760,2928575767,SY
+2928575768,2928575775,CA
+2928575776,2928575783,AE
+2928575784,2928575791,CA
+2928575792,2928575799,AR
+2928575800,2928575807,IN
+2928575808,2928575815,CA
+2928575816,2928575823,BS
+2928575824,2928575831,RO
+2928575832,2928575839,CA
+2928575840,2928575847,US
+2928575848,2928575887,CA
+2928575888,2928575919,IN
+2928575920,2928575935,CA
+2928575936,2928575951,IR
+2928575952,2928575975,CA
+2928575976,2928575983,US
+2928575984,2928575991,BR
+2928575992,2928576007,CA
+2928576008,2928576015,DE
+2928576016,2928576023,DK
+2928576024,2928576031,CA
+2928576032,2928576039,BR
+2928576040,2928576063,CA
+2928576064,2928576071,SA
+2928576072,2928576087,CA
+2928576088,2928576095,US
+2928576096,2928576111,IR
+2928576112,2928576127,US
+2928576128,2928576135,CA
+2928576136,2928576143,MX
+2928576144,2928576151,US
+2928576152,2928576159,CA
+2928576160,2928576167,GB
+2928576168,2928576175,JP
+2928576176,2928576183,US
+2928576184,2928576191,GB
+2928576192,2928576239,CA
+2928576240,2928576247,US
+2928576248,2928576279,CA
+2928576280,2928576287,US
+2928576288,2928576295,CA
+2928576296,2928576303,IN
+2928576304,2928576335,CA
+2928576336,2928576343,TH
+2928576344,2928576359,CA
+2928576360,2928576367,GR
+2928576368,2928576383,CA
+2928576384,2928576391,US
+2928576392,2928576431,CA
+2928576432,2928576439,GB
+2928576440,2928576447,CA
+2928576448,2928576463,ES
+2928576464,2928576479,CA
+2928576480,2928576487,AU
+2928576488,2928576495,MA
+2928576496,2928576511,CA
+2928576512,2928576527,MA
+2928576528,2928576559,BZ
+2928576560,2928576567,CA
+2928576568,2928576575,IL
+2928576576,2928576583,CA
+2928576584,2928576591,AR
+2928576592,2928576599,NO
+2928576600,2928576607,CA
+2928576608,2928576639,AN
+2928576640,2928576655,CA
+2928576656,2928576671,AE
+2928576672,2928576703,CA
+2928576704,2928576711,VE
+2928576712,2928576719,IT
+2928576720,2928576727,CO
+2928576728,2928576735,ZA
+2928576736,2928576751,IR
+2928576752,2928576759,EC
+2928576760,2928576767,CA
+2928576768,2928576783,MA
+2928576784,2928576799,QA
+2928576800,2928576807,CA
+2928576808,2928576815,UA
+2928576816,2928576823,TR
+2928576824,2928576831,RU
+2928576832,2928576839,US
+2928576840,2928576871,CA
+2928576872,2928576879,PK
+2928576880,2928576895,CA
+2928576896,2928576911,CH
+2928576912,2928576927,CA
+2928576928,2928576935,AE
+2928576936,2928576943,US
+2928576944,2928576959,CA
+2928576960,2928576991,CH
+2928576992,2928577023,BZ
+2928577024,2928577039,CA
+2928577040,2928577047,US
+2928577048,2928577055,CA
+2928577056,2928577063,IR
+2928577064,2928577087,US
+2928577088,2928577095,IL
+2928577096,2928577103,VE
+2928577104,2928577143,CA
+2928577144,2928577151,GB
+2928577152,2928577159,CA
+2928577160,2928577167,GB
+2928577168,2928577191,CA
+2928577192,2928577199,RU
+2928577200,2928577207,CA
+2928577208,2928577215,TR
+2928577216,2928577263,BZ
+2928577264,2928577799,CA
+2928577800,2928577807,CO
+2928577808,2928577815,US
+2928577816,2928577831,CA
+2928577832,2928577839,MA
+2928577840,2928577855,CA
+2928577856,2928577863,MX
+2928577864,2928577871,IR
+2928577872,2928577879,AE
+2928577880,2928577887,CA
+2928577888,2928577895,SA
+2928577896,2928577903,CA
+2928577904,2928577911,KR
+2928577912,2928577927,CA
+2928577928,2928577935,IR
+2928577936,2928577943,CA
+2928577944,2928577951,GR
+2928577952,2928577959,CA
+2928577960,2928577967,IN
+2928577968,2928577975,AR
+2928577976,2928577983,QA
+2928577984,2928577991,AU
+2928577992,2928577999,US
+2928578000,2928578007,CA
+2928578008,2928578015,IT
+2928578016,2928578023,CA
+2928578024,2928578031,IN
+2928578032,2928578039,US
+2928578040,2928578047,SK
+2928578048,2928578055,CA
+2928578056,2928578063,RU
+2928578064,2928578071,CA
+2928578072,2928578079,MX
+2928578080,2928578087,CA
+2928578088,2928578095,CI
+2928578096,2928578103,CO
+2928578104,2928578111,CA
+2928578112,2928578119,DE
+2928578120,2928578159,CA
+2928578160,2928578167,DE
+2928578168,2928578175,CA
+2928578176,2928578183,FR
+2928578184,2928578231,CA
+2928578232,2928578239,IN
+2928578240,2928578247,ES
+2928578248,2928578255,CA
+2928578256,2928578263,MX
+2928578264,2928578287,CA
+2928578288,2928578295,GR
+2928578296,2928578303,IN
+2928578304,2928578311,BR
+2928578312,2928578327,CA
+2928578328,2928578335,FR
+2928578336,2928578359,CA
+2928578360,2928578367,US
+2928578368,2928578375,ID
+2928578376,2928578383,CA
+2928578384,2928578391,ES
+2928578392,2928578399,BD
+2928578400,2928578407,NL
+2928578408,2928578423,CA
+2928578424,2928578431,AR
+2928578432,2928578439,YE
+2928578440,2928578447,BR
+2928578448,2928578463,CA
+2928578464,2928578471,PH
+2928578472,2928578479,PT
+2928578480,2928578503,CA
+2928578504,2928578511,CN
+2928578512,2928578519,BR
+2928578520,2928578535,CA
+2928578536,2928578543,BR
+2928578544,2928578559,CA
+2928578560,2928578567,US
+2928578568,2928578599,CA
+2928578600,2928578607,US
+2928578608,2928578615,PK
+2928578616,2928578631,CA
+2928578632,2928578647,US
+2928578648,2928578663,CA
+2928578664,2928578679,IN
+2928578680,2928578687,DE
+2928578688,2928578711,CA
+2928578712,2928578719,CH
+2928578720,2928578727,US
+2928578728,2928578735,TH
+2928578736,2928578743,CA
+2928578744,2928578751,US
+2928578752,2928578759,EG
+2928578760,2928578767,CA
+2928578768,2928578775,CN
+2928578776,2928578783,CA
+2928578784,2928578791,BR
+2928578792,2928578799,AR
+2928578800,2928578807,MX
+2928578808,2928578815,US
+2928578816,2928578823,CA
+2928578824,2928578831,AM
+2928578832,2928578839,MX
+2928578840,2928578847,US
+2928578848,2928578855,MA
+2928578856,2928578887,CA
+2928578888,2928578903,US
+2928578904,2928578919,CA
+2928578920,2928578927,MA
+2928578928,2928578951,CA
+2928578952,2928578959,AU
+2928578960,2928578967,IN
+2928578968,2928578983,CA
+2928578984,2928578991,IN
+2928578992,2928578999,IR
+2928579000,2928579007,MX
+2928579008,2928579015,CA
+2928579016,2928579023,US
+2928579024,2928579031,QA
+2928579032,2928579039,US
+2928579040,2928579063,CA
+2928579064,2928579071,AE
+2928579072,2928579095,CA
+2928579096,2928579103,ID
+2928579104,2928579111,IR
+2928579112,2928579127,CA
+2928579128,2928579135,IN
+2928579136,2928579159,CA
+2928579160,2928579167,ZA
+2928579168,2928579175,CA
+2928579176,2928579183,GB
+2928579184,2928579223,CA
+2928579224,2928579231,US
+2928579232,2928579239,CA
+2928579240,2928579247,US
+2928579248,2928579255,CA
+2928579256,2928579263,BR
+2928579264,2928579271,IR
+2928579272,2928579279,AE
+2928579280,2928579311,CA
+2928579312,2928579319,IR
+2928579320,2928579335,US
+2928579336,2928579343,BR
+2928579344,2928579351,CH
+2928579352,2928579359,CA
+2928579360,2928579367,IN
+2928579368,2928579375,CA
+2928579376,2928579383,SA
+2928579384,2928579391,BR
+2928579392,2928579407,US
+2928579408,2928579439,CA
+2928579440,2928579447,GB
+2928579448,2928579463,CA
+2928579464,2928579479,US
+2928579480,2928579535,CA
+2928579536,2928579543,US
2928579544,2928579551,HU
-2928579552,2928583735,CA
+2928579552,2928579567,CA
+2928579568,2928579575,GB
+2928579576,2928579583,VG
+2928579584,2928579615,CA
+2928579616,2928579623,SA
+2928579624,2928579639,CA
+2928579640,2928579647,SA
+2928579648,2928579655,CA
+2928579656,2928579663,RU
+2928579664,2928579671,US
+2928579672,2928579679,CA
+2928579680,2928579687,AU
+2928579688,2928579695,US
+2928579696,2928579703,BR
+2928579704,2928579711,GB
+2928579712,2928579719,CA
+2928579720,2928579727,GB
+2928579728,2928579735,CA
+2928579736,2928579743,US
+2928579744,2928579783,CA
+2928579784,2928579791,IN
+2928579792,2928579815,CA
+2928579816,2928579823,US
+2928579824,2928579831,CO
+2928579832,2928579839,CA
+2928579840,2928579847,PK
+2928579848,2928579855,CA
+2928579856,2928579863,AE
+2928579864,2928579871,SG
+2928579872,2928579879,TR
+2928579880,2928579895,GB
+2928579896,2928579903,SA
+2928579904,2928579911,CA
+2928579912,2928579919,IN
+2928579920,2928579983,CA
+2928579984,2928579991,PH
+2928579992,2928579999,MX
+2928580000,2928580007,CA
+2928580008,2928580015,IR
+2928580016,2928580039,CA
+2928580040,2928580047,BR
+2928580048,2928580055,US
+2928580056,2928580063,CA
+2928580064,2928580071,DE
+2928580072,2928580079,IN
+2928580080,2928580095,CA
+2928580096,2928580103,US
+2928580104,2928580111,CA
+2928580112,2928580119,US
+2928580120,2928580127,CA
+2928580128,2928580135,IN
+2928580136,2928580143,EC
+2928580144,2928580151,CA
+2928580152,2928580159,VE
+2928580160,2928580175,CA
+2928580176,2928580183,MC
+2928580184,2928580191,US
+2928580192,2928580207,CA
+2928580208,2928580215,PK
+2928580216,2928580231,US
+2928580232,2928580239,CA
+2928580240,2928580247,SA
+2928580248,2928580255,CA
+2928580256,2928580263,AR
+2928580264,2928580287,CA
+2928580288,2928580295,GB
+2928580296,2928580319,CA
+2928580320,2928580327,US
+2928580328,2928580343,CA
+2928580344,2928580351,EC
+2928580352,2928580359,SA
+2928580360,2928580367,BR
+2928580368,2928580375,PK
+2928580376,2928580391,CA
+2928580392,2928580399,IN
+2928580400,2928580447,CA
+2928580448,2928580455,US
+2928580456,2928580463,CA
+2928580464,2928580471,US
+2928580472,2928580479,SG
+2928580480,2928580495,US
+2928580496,2928580503,MX
+2928580504,2928580511,CA
+2928580512,2928580519,AE
+2928580520,2928580535,CA
+2928580536,2928580543,BR
+2928580544,2928580551,BD
+2928580552,2928580559,DO
+2928580560,2928580591,CA
+2928580592,2928580607,MX
+2928580608,2928580623,IN
+2928580624,2928580663,CA
+2928580664,2928580671,IT
+2928580672,2928580679,BM
+2928580680,2928580687,CG
+2928580688,2928580695,BR
+2928580696,2928580703,SE
+2928580704,2928580711,US
+2928580712,2928580719,RO
+2928580720,2928580735,CA
+2928580736,2928580743,IL
+2928580744,2928580775,CA
+2928580776,2928580783,US
+2928580784,2928580791,CA
+2928580792,2928580799,RU
+2928580800,2928580807,CA
+2928580808,2928580823,US
+2928580824,2928580831,ZA
+2928580832,2928580855,CA
+2928580856,2928580863,TN
+2928580864,2928580871,AL
+2928580872,2928580887,CA
+2928580888,2928580895,ES
+2928580896,2928580903,BR
+2928580904,2928580927,CA
+2928580928,2928580935,US
+2928580936,2928580943,BR
+2928580944,2928580983,CA
+2928580984,2928580991,DE
+2928580992,2928580999,US
+2928581000,2928581007,IR
+2928581008,2928581015,NL
+2928581016,2928581023,RU
+2928581024,2928581031,US
+2928581032,2928581039,CA
+2928581040,2928581047,PK
+2928581048,2928581055,CA
+2928581056,2928581063,US
+2928581064,2928581087,CA
+2928581088,2928581095,ES
+2928581096,2928581103,BR
+2928581104,2928581111,CA
+2928581112,2928581119,US
+2928581120,2928581127,ES
+2928581128,2928581135,AE
+2928581136,2928581143,US
+2928581144,2928581151,CA
+2928581152,2928581159,SA
+2928581160,2928581167,PK
+2928581168,2928581175,CA
+2928581176,2928581183,IN
+2928581184,2928581191,CA
+2928581192,2928581199,AU
+2928581200,2928581207,PK
+2928581208,2928581215,IN
+2928581216,2928581263,CA
+2928581264,2928581271,DE
+2928581272,2928581279,CA
+2928581280,2928581287,US
+2928581288,2928581295,CA
+2928581296,2928581303,CN
+2928581304,2928581311,CA
+2928581312,2928581319,US
+2928581320,2928581327,CA
+2928581328,2928581335,US
+2928581336,2928581343,CA
+2928581344,2928581351,IR
+2928581352,2928581399,CA
+2928581400,2928581407,MX
+2928581408,2928581415,GR
+2928581416,2928581423,GB
+2928581424,2928581431,ZA
+2928581432,2928581455,CA
+2928581456,2928581463,US
+2928581464,2928581471,NZ
+2928581472,2928581503,CA
+2928581504,2928581511,YE
+2928581512,2928581535,CA
+2928581536,2928581543,US
+2928581544,2928581551,CA
+2928581552,2928581559,US
+2928581560,2928581567,CA
+2928581568,2928581575,US
+2928581576,2928581583,BR
+2928581584,2928581599,US
+2928581600,2928581607,GB
+2928581608,2928581615,CA
+2928581616,2928581623,AE
+2928581624,2928581631,CA
+2928581632,2928581639,US
+2928581640,2928581655,CA
+2928581656,2928581663,CO
+2928581664,2928581671,US
+2928581672,2928581687,CA
+2928581688,2928581695,US
+2928581696,2928581703,CA
+2928581704,2928581711,UA
+2928581712,2928581719,PK
+2928581720,2928581727,DO
+2928581728,2928581735,AZ
+2928581736,2928581743,CA
+2928581744,2928581759,PK
+2928581760,2928581775,CA
+2928581776,2928581783,US
+2928581784,2928581791,CA
+2928581792,2928581799,IN
+2928581800,2928581815,US
+2928581816,2928581823,CH
+2928581824,2928581871,CA
+2928581872,2928581879,EG
+2928581880,2928581887,PK
+2928581888,2928581895,AU
+2928581896,2928581935,CA
+2928581936,2928581943,DE
+2928581944,2928581951,CA
+2928581952,2928581967,QA
+2928581968,2928581983,CA
+2928581984,2928581991,PT
+2928581992,2928581999,US
+2928582000,2928582031,CA
+2928582032,2928582039,IL
+2928582040,2928582047,CA
+2928582048,2928582055,US
+2928582056,2928582063,CA
+2928582064,2928582071,GR
+2928582072,2928582079,ID
+2928582080,2928582095,CA
+2928582096,2928582103,EC
+2928582104,2928582111,IR
+2928582112,2928582127,CA
+2928582128,2928582135,CN
+2928582136,2928582143,CA
+2928582144,2928582159,CN
+2928582160,2928582167,CA
+2928582168,2928582183,CN
+2928582184,2928582191,CA
+2928582192,2928582199,US
+2928582200,2928582207,CN
+2928582208,2928582215,US
+2928582216,2928582223,CA
+2928582224,2928582231,RU
+2928582232,2928582239,IL
+2928582240,2928582247,CA
+2928582248,2928582255,FR
+2928582256,2928582263,CA
+2928582264,2928582271,NL
+2928582272,2928582279,IR
+2928582280,2928582287,MX
+2928582288,2928582295,CA
+2928582296,2928582303,AE
+2928582304,2928582319,CA
+2928582320,2928582327,AE
+2928582328,2928582335,US
+2928582336,2928582351,CA
+2928582352,2928582359,AE
+2928582360,2928582367,BR
+2928582368,2928582375,GR
+2928582376,2928582383,CA
+2928582384,2928582391,AU
+2928582392,2928582423,CA
+2928582424,2928582431,RU
+2928582432,2928582439,CZ
+2928582440,2928582447,US
+2928582448,2928582455,CA
+2928582456,2928582463,US
+2928582464,2928582471,SE
+2928582472,2928582535,CA
+2928582536,2928582543,YE
+2928582544,2928582551,RU
+2928582552,2928582567,CA
+2928582568,2928582583,PK
+2928582584,2928582591,CH
+2928582592,2928582599,IN
+2928582600,2928582615,CA
+2928582616,2928582623,ES
+2928582624,2928582631,CU
+2928582632,2928582695,CA
+2928582696,2928582703,US
+2928582704,2928582719,VG
+2928582720,2928582727,BG
+2928582728,2928582735,AE
+2928582736,2928582743,BH
+2928582744,2928582751,BR
+2928582752,2928582759,CA
+2928582760,2928582767,US
+2928582768,2928582775,FR
+2928582776,2928582783,MX
+2928582784,2928582815,CA
+2928582816,2928582823,US
+2928582824,2928582831,GR
+2928582832,2928582839,PL
+2928582840,2928582847,AU
+2928582848,2928582855,US
+2928582856,2928582863,AR
+2928582864,2928582871,NG
+2928582872,2928582879,IR
+2928582880,2928582887,CA
+2928582888,2928582895,US
+2928582896,2928582903,AU
+2928582904,2928582911,MX
+2928582912,2928582919,CA
+2928582920,2928582927,US
+2928582928,2928582935,CA
+2928582936,2928582943,BH
+2928582944,2928582951,YE
+2928582952,2928582959,AU
+2928582960,2928582975,CA
+2928582976,2928582983,IT
+2928582984,2928582991,CA
+2928582992,2928582999,BR
+2928583000,2928583007,US
+2928583008,2928583023,CA
+2928583024,2928583031,BR
+2928583032,2928583039,CA
+2928583040,2928583047,QA
+2928583048,2928583063,CA
+2928583064,2928583071,IL
+2928583072,2928583095,CA
+2928583096,2928583103,DE
+2928583104,2928583111,DZ
+2928583112,2928583119,JP
+2928583120,2928583127,CA
+2928583128,2928583135,BS
+2928583136,2928583143,CA
+2928583144,2928583151,VE
+2928583152,2928583159,CA
+2928583160,2928583167,IN
+2928583168,2928583175,CA
+2928583176,2928583183,IN
+2928583184,2928583191,RU
+2928583192,2928583223,CA
+2928583224,2928583231,DE
+2928583232,2928583239,MX
+2928583240,2928583247,BR
+2928583248,2928583255,CA
+2928583256,2928583263,MT
+2928583264,2928583271,US
+2928583272,2928583279,TH
+2928583280,2928583287,EG
+2928583288,2928583295,CA
+2928583296,2928583303,MT
+2928583304,2928583327,CA
+2928583328,2928583335,US
+2928583336,2928583359,CA
+2928583360,2928583367,AT
+2928583368,2928583375,CA
+2928583376,2928583383,ES
+2928583384,2928583399,CA
+2928583400,2928583407,US
+2928583408,2928583423,CA
+2928583424,2928583431,AT
+2928583432,2928583447,CA
+2928583448,2928583455,GB
+2928583456,2928583479,CA
+2928583480,2928583487,PK
+2928583488,2928583495,DE
+2928583496,2928583503,AE
+2928583504,2928583535,CA
+2928583536,2928583543,BR
+2928583544,2928583559,CA
+2928583560,2928583567,IN
+2928583568,2928583575,US
+2928583576,2928583607,CA
+2928583608,2928583615,AR
+2928583616,2928583623,CA
+2928583624,2928583631,UY
+2928583632,2928583663,CA
+2928583664,2928583671,FR
+2928583672,2928583703,CA
+2928583704,2928583711,SA
+2928583712,2928583727,CA
+2928583728,2928583735,CZ
2928583736,2928583743,SY
-2928583744,2928595959,CA
+2928583744,2928583759,CA
+2928583760,2928583767,US
+2928583768,2928583775,CA
+2928583776,2928583783,GT
+2928583784,2928583791,CA
+2928583792,2928583799,BR
+2928583800,2928583807,IN
+2928583808,2928583863,CA
+2928583864,2928583871,IN
+2928583872,2928583879,CO
+2928583880,2928583895,CA
+2928583896,2928583903,IN
+2928583904,2928583911,CY
+2928583912,2928583951,CA
+2928583952,2928583959,BR
+2928583960,2928583967,CA
+2928583968,2928583975,DK
+2928583976,2928583983,IR
+2928583984,2928584023,CA
+2928584024,2928584031,DE
+2928584032,2928584055,CA
+2928584056,2928584063,BE
+2928584064,2928584071,MX
+2928584072,2928584111,CA
+2928584112,2928584119,PK
+2928584120,2928584127,CA
+2928584128,2928584135,SA
+2928584136,2928584143,GB
+2928584144,2928584151,IN
+2928584152,2928584159,CA
+2928584160,2928584167,MX
+2928584168,2928584175,US
+2928584176,2928584223,CA
+2928584224,2928584231,BR
+2928584232,2928584247,CA
+2928584248,2928584255,US
+2928584256,2928584263,BR
+2928584264,2928584287,CA
+2928584288,2928584295,GB
+2928584296,2928584303,CO
+2928584304,2928584335,CA
+2928584336,2928584343,IT
+2928584344,2928584359,CA
+2928584360,2928584367,US
+2928584368,2928584375,IL
+2928584376,2928584383,CA
+2928584384,2928584391,BR
+2928584392,2928584399,IL
+2928584400,2928584407,CA
+2928584408,2928584415,US
+2928584416,2928584423,CA
+2928584424,2928584431,IN
+2928584432,2928584439,CA
+2928584440,2928584455,US
+2928584456,2928584471,CA
+2928584472,2928584479,BR
+2928584480,2928584487,LB
+2928584488,2928584495,IT
+2928584496,2928584519,CA
+2928584520,2928584527,IR
+2928584528,2928584535,QA
+2928584536,2928584543,CA
+2928584544,2928584551,IL
+2928584552,2928584567,CA
+2928584568,2928584575,US
+2928584576,2928584583,CA
+2928584584,2928584591,US
+2928584592,2928584599,CA
+2928584600,2928584607,KN
+2928584608,2928584623,CA
+2928584624,2928584631,US
+2928584632,2928584639,EG
+2928584640,2928584663,CA
+2928584664,2928584671,RU
+2928584672,2928584751,CA
+2928584752,2928584759,US
+2928584760,2928584767,CA
+2928584768,2928584775,IR
+2928584776,2928584783,US
+2928584784,2928584815,CA
+2928584816,2928584823,US
+2928584824,2928584831,CA
+2928584832,2928584839,DE
+2928584840,2928584855,CA
+2928584856,2928584863,IN
+2928584864,2928584871,TR
+2928584872,2928584879,CA
+2928584880,2928584887,IN
+2928584888,2928584895,US
+2928584896,2928584903,CA
+2928584904,2928584911,US
+2928584912,2928584919,CH
+2928584920,2928584927,LB
+2928584928,2928584935,US
+2928584936,2928584943,CA
+2928584944,2928584951,US
+2928584952,2928584967,CA
+2928584968,2928584975,DE
+2928584976,2928584991,CA
+2928584992,2928585007,US
+2928585008,2928585015,IL
+2928585016,2928585071,CA
+2928585072,2928585079,SE
+2928585080,2928585127,CA
+2928585128,2928585135,US
+2928585136,2928585175,CA
+2928585176,2928585183,US
+2928585184,2928585295,CA
+2928585296,2928585303,FR
+2928585304,2928585311,US
+2928585312,2928585319,GD
+2928585320,2928585327,BD
+2928585328,2928585335,US
+2928585336,2928585359,CA
+2928585360,2928585367,MA
+2928585368,2928585463,CA
+2928585464,2928585471,IR
+2928585472,2928585479,CA
+2928585480,2928585487,US
+2928585488,2928585495,BR
+2928585496,2928585503,CD
+2928585504,2928585519,CA
+2928585520,2928585535,PK
+2928585536,2928585543,FR
+2928585544,2928585559,RU
+2928585560,2928585567,CA
+2928585568,2928585575,BR
+2928585576,2928585599,CA
+2928585600,2928585607,CN
+2928585608,2928585615,MX
+2928585616,2928585623,CA
+2928585624,2928585631,KW
+2928585632,2928585639,BE
+2928585640,2928585807,CA
+2928585808,2928585823,US
+2928585824,2928585831,IN
+2928585832,2928585839,US
+2928585840,2928585847,DE
+2928585848,2928585855,CA
+2928585856,2928585863,AE
+2928585864,2928585871,US
+2928585872,2928585903,CA
+2928585904,2928585911,AR
+2928585912,2928585919,CA
+2928585920,2928585927,MX
+2928585928,2928585935,BH
+2928585936,2928585943,MX
+2928585944,2928585951,GT
+2928585952,2928585967,CA
+2928585968,2928585975,IN
+2928585976,2928585983,DE
+2928585984,2928585991,CA
+2928585992,2928585999,LB
+2928586000,2928586007,CA
+2928586008,2928586015,IN
+2928586016,2928586023,CA
+2928586024,2928586031,TR
+2928586032,2928586039,CA
+2928586040,2928586047,BR
+2928586048,2928586063,CA
+2928586064,2928586071,RU
+2928586072,2928586079,FR
+2928586080,2928586087,CA
+2928586088,2928586095,CN
+2928586096,2928586103,IN
+2928586104,2928586111,PK
+2928586112,2928586127,CA
+2928586128,2928586135,SA
+2928586136,2928586151,US
+2928586152,2928586167,CA
+2928586168,2928586175,CN
+2928586176,2928586199,CA
+2928586200,2928586207,SA
+2928586208,2928586223,CA
+2928586224,2928586231,BR
+2928586232,2928586239,CN
+2928586240,2928586247,US
+2928586248,2928586255,PK
+2928586256,2928586263,JO
+2928586264,2928586271,CA
+2928586272,2928586287,US
+2928586288,2928586295,BR
+2928586296,2928586303,CA
+2928586304,2928586311,US
+2928586312,2928586319,PK
+2928586320,2928586327,MX
+2928586328,2928586335,IQ
+2928586336,2928586343,CN
+2928586344,2928586439,CA
+2928586440,2928586447,AM
+2928586448,2928586463,CA
+2928586464,2928586471,CH
+2928586472,2928586479,CA
+2928586480,2928586487,US
+2928586488,2928586495,CA
+2928586496,2928586503,RS
+2928586504,2928586511,CA
+2928586512,2928586519,IN
+2928586520,2928586527,DE
+2928586528,2928586543,US
+2928586544,2928586551,UA
+2928586552,2928586567,AR
+2928586568,2928586575,CA
+2928586576,2928586583,US
+2928586584,2928586599,CA
+2928586600,2928586607,IN
+2928586608,2928586615,CA
+2928586616,2928586623,US
+2928586624,2928586647,CA
+2928586648,2928586655,GB
+2928586656,2928586663,CO
+2928586664,2928586671,CA
+2928586672,2928586679,RU
+2928586680,2928586695,CA
+2928586696,2928586703,DE
+2928586704,2928586711,IL
+2928586712,2928586719,CA
+2928586720,2928586727,MX
+2928586728,2928586735,IR
+2928586736,2928586743,PK
+2928586744,2928586759,GT
+2928586760,2928586767,CA
+2928586768,2928586775,BR
+2928586776,2928586799,CA
+2928586800,2928586807,US
+2928586808,2928586815,CA
+2928586816,2928586823,CR
+2928586824,2928586831,US
+2928586832,2928586847,PK
+2928586848,2928586863,CA
+2928586864,2928586871,UA
+2928586872,2928586879,CA
+2928586880,2928586887,JP
+2928586888,2928586895,CA
+2928586896,2928586903,US
+2928586904,2928586911,CA
+2928586912,2928586919,MA
+2928586920,2928586927,US
+2928586928,2928586935,CA
+2928586936,2928586943,US
+2928586944,2928586951,FR
+2928586952,2928586959,BR
+2928586960,2928586967,CO
+2928586968,2928586983,CA
+2928586984,2928586991,KW
+2928586992,2928586999,IL
+2928587000,2928587007,PK
+2928587008,2928587207,CA
+2928587208,2928587215,US
+2928587216,2928587223,AE
+2928587224,2928587231,BR
+2928587232,2928587239,AE
+2928587240,2928587247,AR
+2928587248,2928587255,CO
+2928587256,2928587263,IL
+2928587264,2928587279,US
+2928587280,2928587287,BR
+2928587288,2928587295,BH
+2928587296,2928587303,DM
+2928587304,2928587319,US
+2928587320,2928587327,AE
+2928587328,2928587335,RU
+2928587336,2928587343,CA
+2928587344,2928587351,RU
+2928587352,2928587359,CA
+2928587360,2928587367,MX
+2928587368,2928587375,CA
+2928587376,2928587383,US
+2928587384,2928587431,CA
+2928587432,2928587439,CO
+2928587440,2928587447,US
+2928587448,2928587471,CA
+2928587472,2928587479,GB
+2928587480,2928587487,AM
+2928587488,2928587495,CA
+2928587496,2928587503,MX
+2928587504,2928587511,CA
+2928587512,2928587519,BR
+2928587520,2928587543,CA
+2928587544,2928587551,FR
+2928587552,2928587559,BR
+2928587560,2928587575,CA
+2928587576,2928587583,US
+2928587584,2928587623,CA
+2928587624,2928587631,LV
+2928587632,2928587655,CA
+2928587656,2928587663,FR
+2928587664,2928587671,LK
+2928587672,2928587679,CA
+2928587680,2928587727,US
+2928587728,2928587735,CH
+2928587736,2928587743,SG
+2928587744,2928587751,JO
+2928587752,2928587767,US
+2928587768,2928587775,GB
+2928587776,2928588087,CA
+2928588088,2928588095,IL
+2928588096,2928588111,CA
+2928588112,2928588119,CN
+2928588120,2928588127,IN
+2928588128,2928588143,CA
+2928588144,2928588151,CO
+2928588152,2928588191,CA
+2928588192,2928588199,GB
+2928588200,2928588215,CA
+2928588216,2928588255,US
+2928588256,2928588279,CA
+2928588280,2928588287,AU
+2928588288,2928588303,CA
+2928588304,2928588311,DE
+2928588312,2928588335,CA
+2928588336,2928588343,DE
+2928588344,2928588351,CA
+2928588352,2928588359,US
+2928588360,2928588367,CA
+2928588368,2928588375,UA
+2928588376,2928588391,CA
+2928588392,2928588399,UA
+2928588400,2928588415,CA
+2928588416,2928588423,IN
+2928588424,2928588431,US
+2928588432,2928588439,CA
+2928588440,2928588447,US
+2928588448,2928588463,CA
+2928588464,2928588471,US
+2928588472,2928588479,CA
+2928588480,2928588487,BR
+2928588488,2928588495,AU
+2928588496,2928588519,CA
+2928588520,2928588543,US
+2928588544,2928588607,CA
+2928588608,2928588623,MX
+2928588624,2928588639,CA
+2928588640,2928588655,BR
+2928588656,2928588671,CA
+2928588672,2928588799,US
+2928588800,2928588895,CA
+2928588896,2928588911,TR
+2928588912,2928588943,CA
+2928588944,2928588959,US
+2928588960,2928588975,AN
+2928588976,2928588991,CA
+2928588992,2928589023,US
+2928589024,2928589183,CA
+2928589184,2928589215,US
+2928589216,2928589279,CA
+2928589280,2928589311,KW
+2928589312,2928589375,CA
+2928589376,2928589439,BR
+2928589440,2928589503,DE
+2928589504,2928589519,HK
+2928589520,2928589823,CA
+2928589824,2928589887,RU
+2928589888,2928590031,CA
+2928590032,2928590047,GB
+2928590048,2928590063,CA
+2928590064,2928590079,US
+2928590080,2928590111,AU
+2928590112,2928590207,CA
+2928590208,2928590271,BR
+2928590272,2928591127,CA
+2928591128,2928591135,US
+2928591136,2928591159,CA
+2928591160,2928591167,MX
+2928591168,2928591239,CA
+2928591240,2928591247,GB
+2928591248,2928591255,US
+2928591256,2928591263,PE
+2928591264,2928591271,CA
+2928591272,2928591295,US
+2928591296,2928591335,CA
+2928591336,2928591343,GB
+2928591344,2928591351,MX
+2928591352,2928591359,CA
+2928591360,2928591375,FR
+2928591376,2928591399,CA
+2928591400,2928591407,BR
+2928591408,2928591423,CA
+2928591424,2928591431,BZ
+2928591432,2928591439,RU
+2928591440,2928591447,US
+2928591448,2928591455,GB
+2928591456,2928591463,CA
+2928591464,2928591471,US
+2928591472,2928591479,MY
+2928591480,2928591487,LV
+2928591488,2928591503,CA
+2928591504,2928591511,PK
+2928591512,2928591535,CA
+2928591536,2928591543,GB
+2928591544,2928591551,CA
+2928591552,2928591567,FR
+2928591568,2928591583,CA
+2928591584,2928591591,CY
+2928591592,2928591615,CA
+2928591616,2928591623,FR
+2928591624,2928591871,CA
+2928591872,2928591935,US
+2928591936,2928591943,GB
+2928591944,2928591951,BR
+2928591952,2928591991,US
+2928591992,2928592015,CA
+2928592016,2928592023,AU
+2928592024,2928592031,FR
+2928592032,2928592039,CA
+2928592040,2928592055,US
+2928592056,2928592071,CA
+2928592072,2928592079,US
+2928592080,2928592087,CL
+2928592088,2928592103,CA
+2928592104,2928592255,US
+2928592256,2928592335,CN
+2928592336,2928592343,PH
+2928592344,2928592367,CA
+2928592368,2928592375,RU
+2928592376,2928592383,SA
+2928592384,2928592423,CA
+2928592424,2928592431,GT
+2928592432,2928592439,MX
+2928592440,2928592447,US
+2928592448,2928592455,CA
+2928592456,2928592463,IN
+2928592464,2928592471,JO
+2928592472,2928592479,CO
+2928592480,2928592495,CA
+2928592496,2928592503,US
+2928592504,2928592511,GR
+2928592512,2928592519,MX
+2928592520,2928592527,IQ
+2928592528,2928592535,DE
+2928592536,2928592543,CA
+2928592544,2928592551,IT
+2928592552,2928592559,TR
+2928592560,2928592639,SG
+2928592640,2928595159,CA
+2928595160,2928595167,IN
+2928595168,2928595175,US
+2928595176,2928595183,DK
+2928595184,2928595191,EC
+2928595192,2928595199,CA
+2928595200,2928595207,IN
+2928595208,2928595223,CA
+2928595224,2928595231,IQ
+2928595232,2928595247,DK
+2928595248,2928595255,CA
+2928595256,2928595263,EG
+2928595264,2928595271,SA
+2928595272,2928595279,AE
+2928595280,2928595295,CA
+2928595296,2928595303,IN
+2928595304,2928595319,CA
+2928595320,2928595327,IL
+2928595328,2928595343,IN
+2928595344,2928595351,CA
+2928595352,2928595359,BR
+2928595360,2928595391,CA
+2928595392,2928595399,SA
+2928595400,2928595407,CA
+2928595408,2928595423,US
+2928595424,2928595431,UA
+2928595432,2928595439,CA
+2928595440,2928595455,US
+2928595456,2928595463,DE
+2928595464,2928595471,US
+2928595472,2928595479,CA
+2928595480,2928595487,US
+2928595488,2928595495,SA
+2928595496,2928595503,HK
+2928595504,2928595511,IN
+2928595512,2928595519,IT
+2928595520,2928595527,BR
+2928595528,2928595535,SE
+2928595536,2928595559,CA
+2928595560,2928595567,GB
+2928595568,2928595575,CO
+2928595576,2928595591,CA
+2928595592,2928595607,ZA
+2928595608,2928595623,CA
+2928595624,2928595631,EG
+2928595632,2928595639,IR
+2928595640,2928595647,CA
+2928595648,2928595655,AR
+2928595656,2928595663,KR
+2928595664,2928595679,SG
+2928595680,2928595687,AR
+2928595688,2928595695,CA
+2928595696,2928595703,PL
+2928595704,2928595711,MX
+2928595712,2928595727,US
+2928595728,2928595735,PT
+2928595736,2928595743,SC
+2928595744,2928595751,US
+2928595752,2928595767,CA
+2928595768,2928595775,TN
+2928595776,2928595783,MD
+2928595784,2928595799,US
+2928595800,2928595807,CA
+2928595808,2928595815,HU
+2928595816,2928595823,US
+2928595824,2928595831,DE
+2928595832,2928595839,IR
+2928595840,2928595847,SG
+2928595848,2928595871,CA
+2928595872,2928595879,NG
+2928595880,2928595903,CA
+2928595904,2928595911,IN
+2928595912,2928595919,BR
+2928595920,2928595927,IR
+2928595928,2928595935,CA
+2928595936,2928595943,IN
+2928595944,2928595951,BR
+2928595952,2928595959,MX
2928595960,2928595967,US
-2928595968,2928607231,CA
+2928595968,2928595983,CA
+2928595984,2928595991,BR
+2928595992,2928595999,CA
+2928596000,2928596007,RU
+2928596008,2928596015,EG
+2928596016,2928596031,CA
+2928596032,2928596039,AE
+2928596040,2928596047,CA
+2928596048,2928596055,AR
+2928596056,2928596063,DK
+2928596064,2928596071,MY
+2928596072,2928596079,GR
+2928596080,2928596087,CA
+2928596088,2928596095,ZA
+2928596096,2928596103,CA
+2928596104,2928596111,BR
+2928596112,2928596151,CA
+2928596152,2928596159,BR
+2928596160,2928596175,ZA
+2928596176,2928596183,US
+2928596184,2928596191,RU
+2928596192,2928596199,SA
+2928596200,2928596207,CA
+2928596208,2928596215,MX
+2928596216,2928596223,PK
+2928596224,2928596231,CA
+2928596232,2928596239,KW
+2928596240,2928596247,AE
+2928596248,2928596255,CA
+2928596256,2928596263,PA
+2928596264,2928596271,ES
+2928596272,2928596279,US
+2928596280,2928596287,GR
+2928596288,2928596295,CA
+2928596296,2928596303,IN
+2928596304,2928596311,CA
+2928596312,2928596319,MX
+2928596320,2928596335,FR
+2928596336,2928596383,CA
+2928596384,2928596391,UA
+2928596392,2928596399,IN
+2928596400,2928596407,CA
+2928596408,2928596415,US
+2928596416,2928596423,AE
+2928596424,2928596431,KR
+2928596432,2928596439,CA
+2928596440,2928596447,IR
+2928596448,2928596455,RU
+2928596456,2928596471,CA
+2928596472,2928596479,YE
+2928596480,2928596735,CA
+2928596736,2928596743,CO
+2928596744,2928596751,AE
+2928596752,2928596759,DE
+2928596760,2928596767,IN
+2928596768,2928596775,BD
+2928596776,2928596783,BR
+2928596784,2928596791,IN
+2928596792,2928596807,CA
+2928596808,2928596815,US
+2928596816,2928596855,CA
+2928596856,2928596863,BR
+2928596864,2928596879,US
+2928596880,2928596887,DE
+2928596888,2928596895,CO
+2928596896,2928596903,BR
+2928596904,2928596911,US
+2928596912,2928596919,CA
+2928596920,2928596927,AE
+2928596928,2928597567,CA
+2928597568,2928597575,US
+2928597576,2928598015,CA
+2928598016,2928598143,GB
+2928598144,2928598535,CA
+2928598536,2928598543,NL
+2928598544,2928598559,CA
+2928598560,2928598575,US
+2928598576,2928598583,CA
+2928598584,2928598591,DE
+2928598592,2928598599,EG
+2928598600,2928598607,CA
+2928598608,2928598615,NL
+2928598616,2928598679,CA
+2928598680,2928598687,BR
+2928598688,2928598719,CA
+2928598720,2928598727,PK
+2928598728,2928598735,CA
+2928598736,2928598743,CY
+2928598744,2928598751,PE
+2928598752,2928598783,CA
+2928598784,2928598815,US
+2928598816,2928598847,BR
+2928598848,2928598903,CA
+2928598904,2928598911,UY
+2928598912,2928598919,EG
+2928598920,2928598927,CA
+2928598928,2928598935,IL
+2928598936,2928598975,CA
+2928598976,2928599039,CN
+2928599040,2928599047,MA
+2928599048,2928599055,CN
+2928599056,2928599063,DE
+2928599064,2928599079,CA
+2928599080,2928599087,BH
+2928599088,2928599111,CA
+2928599112,2928599119,US
+2928599120,2928599127,CN
+2928599128,2928599135,BR
+2928599136,2928599143,IN
+2928599144,2928599151,US
+2928599152,2928599159,IL
+2928599160,2928599183,CA
+2928599184,2928599191,IN
+2928599192,2928599199,BR
+2928599200,2928599239,CA
+2928599240,2928599247,AE
+2928599248,2928599255,IN
+2928599256,2928599263,UA
+2928599264,2928599271,GB
+2928599272,2928599279,CA
+2928599280,2928599287,BH
+2928599288,2928599303,CA
+2928599304,2928599311,BA
+2928599312,2928599319,CA
+2928599320,2928599327,EG
+2928599328,2928599335,CA
+2928599336,2928599343,CH
+2928599344,2928599359,CA
+2928599360,2928599383,US
+2928599384,2928599447,CA
+2928599448,2928599455,IN
+2928599456,2928599559,CA
+2928599560,2928599575,US
+2928599576,2928599599,CA
+2928599600,2928599607,MX
+2928599608,2928599615,CA
+2928599616,2928599623,AE
+2928599624,2928599631,IR
+2928599632,2928599663,CA
+2928599664,2928599671,BR
+2928599672,2928599687,CA
+2928599688,2928599695,US
+2928599696,2928599719,CA
+2928599720,2928599727,IN
+2928599728,2928599735,CA
+2928599736,2928599743,US
+2928599744,2928599751,CA
+2928599752,2928599759,RU
+2928599760,2928599767,BD
+2928599768,2928599775,UA
+2928599776,2928599791,CA
+2928599792,2928599799,DE
+2928599800,2928599855,CA
+2928599856,2928599863,RU
+2928599864,2928599871,TH
+2928599872,2928599951,BZ
+2928599952,2928599967,CA
+2928599968,2928600031,BZ
+2928600032,2928600039,AE
+2928600040,2928600055,CA
+2928600056,2928600063,HR
+2928600064,2928600167,CA
+2928600168,2928600175,IN
+2928600176,2928600183,CZ
+2928600184,2928600223,CA
+2928600224,2928600231,US
+2928600232,2928600239,CA
+2928600240,2928600247,IN
+2928600248,2928600295,CA
+2928600296,2928600303,ES
+2928600304,2928600319,CA
+2928600320,2928600327,PK
+2928600328,2928600335,CA
+2928600336,2928600343,RU
+2928600344,2928600351,GB
+2928600352,2928600383,CA
+2928600384,2928600415,US
+2928600416,2928600431,CA
+2928600432,2928600439,AE
+2928600440,2928600447,PK
+2928600448,2928600479,CA
+2928600480,2928600487,MY
+2928600488,2928600495,US
+2928600496,2928600543,CA
+2928600544,2928600551,US
+2928600552,2928600559,CA
+2928600560,2928600567,IN
+2928600568,2928600575,DE
+2928600576,2928600831,CA
+2928600832,2928600847,IN
+2928600848,2928601023,CA
+2928601024,2928601087,US
+2928601088,2928601103,CA
+2928601104,2928601111,MC
+2928601112,2928601119,IR
+2928601120,2928601127,GB
+2928601128,2928601135,CR
+2928601136,2928601143,AR
+2928601144,2928601151,CA
+2928601152,2928601159,BR
+2928601160,2928601167,TW
+2928601168,2928601231,AZ
+2928601232,2928601279,CA
+2928601280,2928601287,US
+2928601288,2928601295,TR
+2928601296,2928601303,CA
+2928601304,2928601311,BR
+2928601312,2928601335,CA
+2928601336,2928601343,US
+2928601344,2928601351,CA
+2928601352,2928601359,IN
+2928601360,2928601367,BR
+2928601368,2928601383,US
+2928601384,2928601399,IN
+2928601400,2928601407,AE
+2928601408,2928601415,US
+2928601416,2928601423,PE
+2928601424,2928601439,CA
+2928601440,2928601447,US
+2928601448,2928601455,CA
+2928601456,2928601463,MX
+2928601464,2928601471,BR
+2928601472,2928601479,CA
+2928601480,2928601487,US
+2928601488,2928601495,CA
+2928601496,2928601503,CO
+2928601504,2928601519,CA
+2928601520,2928601527,FR
+2928601528,2928601535,US
+2928601536,2928601543,CO
+2928601544,2928601551,MX
+2928601552,2928601559,US
+2928601560,2928601591,CA
+2928601592,2928601599,BR
+2928601600,2928601607,SA
+2928601608,2928601687,CA
+2928601688,2928601695,MX
+2928601696,2928601855,CA
+2928601856,2928601863,US
+2928601864,2928601871,BG
+2928601872,2928601895,MA
+2928601896,2928601911,CA
+2928601912,2928601919,IL
+2928601920,2928601927,IR
+2928601928,2928601935,US
+2928601936,2928601943,GB
+2928601944,2928601951,CA
+2928601952,2928601959,IR
+2928601960,2928601967,DE
+2928601968,2928601975,CA
+2928601976,2928601999,US
+2928602000,2928602007,CA
+2928602008,2928602015,SA
+2928602016,2928602023,CL
+2928602024,2928602031,BR
+2928602032,2928602039,US
+2928602040,2928602047,CA
+2928602048,2928602055,BR
+2928602056,2928602063,AE
+2928602064,2928602087,CA
+2928602088,2928602095,US
+2928602096,2928602103,CA
+2928602104,2928602111,HR
+2928602112,2928602119,GR
+2928602120,2928602127,CA
+2928602128,2928602135,SA
+2928602136,2928602143,AE
+2928602144,2928602167,CA
+2928602168,2928602175,DE
+2928602176,2928602183,MX
+2928602184,2928602191,FR
+2928602192,2928602199,AE
+2928602200,2928602207,CL
+2928602208,2928602215,FR
+2928602216,2928602287,CA
+2928602288,2928602295,BO
+2928602296,2928602303,US
+2928602304,2928602367,CA
+2928602368,2928602383,PH
+2928602384,2928602511,CA
+2928602512,2928602519,AT
+2928602520,2928602583,CA
+2928602584,2928602591,MX
+2928602592,2928602599,AT
+2928602600,2928602607,ET
+2928602608,2928602631,CA
+2928602632,2928602639,GB
+2928602640,2928602647,VG
+2928602648,2928602655,CA
+2928602656,2928602663,DE
+2928602664,2928602687,CA
+2928602688,2928602695,RU
+2928602696,2928602887,CA
+2928602888,2928602895,US
+2928602896,2928602903,BR
+2928602904,2928602911,DK
+2928602912,2928602943,CA
+2928602944,2928602951,MX
+2928602952,2928602959,RU
+2928602960,2928602975,US
+2928602976,2928603015,CA
+2928603016,2928603023,BD
+2928603024,2928603039,US
+2928603040,2928603047,CA
+2928603048,2928603063,US
+2928603064,2928603071,CA
+2928603072,2928603079,DE
+2928603080,2928603095,CA
+2928603096,2928603103,AZ
+2928603104,2928603151,CA
+2928603152,2928603159,US
+2928603160,2928603167,CA
+2928603168,2928603175,US
+2928603176,2928603191,CA
+2928603192,2928603199,CO
+2928603200,2928603215,CA
+2928603216,2928603223,MX
+2928603224,2928603239,CA
+2928603240,2928603247,BR
+2928603248,2928603271,CA
+2928603272,2928603279,EG
+2928603280,2928603287,CN
+2928603288,2928603295,SE
+2928603296,2928603303,CA
+2928603304,2928603311,IL
+2928603312,2928603319,DE
+2928603320,2928603327,CA
+2928603328,2928603335,US
+2928603336,2928603391,CA
+2928603392,2928603663,US
+2928603664,2928603711,CA
+2928603712,2928603719,US
+2928603720,2928603727,AZ
+2928603728,2928603743,CA
+2928603744,2928603751,US
+2928603752,2928603775,CA
+2928603776,2928603791,CY
+2928603792,2928603807,CA
+2928603808,2928603823,US
+2928603824,2928603831,CA
+2928603832,2928603839,US
+2928603840,2928603847,CA
+2928603848,2928603855,NZ
+2928603856,2928603871,CA
+2928603872,2928603887,US
+2928603888,2928603943,CA
+2928603944,2928603951,TR
+2928603952,2928603967,CA
+2928603968,2928604007,US
+2928604008,2928604031,CA
+2928604032,2928604095,CN
+2928604096,2928604135,CA
+2928604136,2928604143,US
+2928604144,2928604287,CA
+2928604288,2928604415,US
+2928604416,2928604423,CA
+2928604424,2928604431,TR
+2928604432,2928604447,BR
+2928604448,2928604455,JM
+2928604456,2928604463,CN
+2928604464,2928604471,CA
+2928604472,2928604479,MX
+2928604480,2928604487,CA
+2928604488,2928604495,MY
+2928604496,2928604511,CA
+2928604512,2928604519,CY
+2928604520,2928604527,CA
+2928604528,2928604543,CY
+2928604544,2928604559,CA
+2928604560,2928604567,US
+2928604568,2928604575,CA
+2928604576,2928604583,DO
+2928604584,2928604591,JO
+2928604592,2928604631,CA
+2928604632,2928604639,US
+2928604640,2928604655,CA
+2928604656,2928604663,TR
+2928604664,2928604671,PL
+2928604672,2928604679,US
+2928604680,2928604687,BZ
+2928604688,2928604695,TR
+2928604696,2928604719,US
+2928604720,2928604751,CA
+2928604752,2928604759,PH
+2928604760,2928604767,IR
+2928604768,2928604775,GA
+2928604776,2928604783,DZ
+2928604784,2928604791,CN
+2928604792,2928604799,IN
+2928604800,2928604807,TR
+2928604808,2928604823,CA
+2928604824,2928604831,CL
+2928604832,2928604839,CA
+2928604840,2928604847,PE
+2928604848,2928604855,CA
+2928604856,2928604863,KW
+2928604864,2928604871,AR
+2928604872,2928604879,SA
+2928604880,2928604887,CA
+2928604888,2928604927,US
+2928604928,2928605183,CA
+2928605184,2928605247,BD
+2928605248,2928605311,AG
+2928605312,2928605727,CA
+2928605728,2928605759,US
+2928605760,2928606063,CA
+2928606064,2928606079,CY
+2928606080,2928607231,CA
2928607232,2928607287,US
2928607288,2928607303,NO
2928607304,2928607343,US
@@ -70331,9 +86023,7 @@
2928607816,2928607823,CA
2928607824,2928608751,US
2928608752,2928608783,GB
-2928608784,2928609071,US
-2928609072,2928609087,CA
-2928609088,2928609471,US
+2928608784,2928609471,US
2928609472,2928609983,BD
2928609984,2928610143,US
2928610144,2928610175,GB
@@ -70350,9 +86040,7 @@
2928610832,2928610839,GB
2928610840,2928610935,US
2928610936,2928610943,GB
-2928610944,2928611279,US
-2928611280,2928611287,CA
-2928611288,2928611303,US
+2928610944,2928611303,US
2928611304,2928611311,IL
2928611312,2928611351,US
2928611352,2928611359,ZA
@@ -70563,8 +86251,7 @@
2928629512,2928629519,MX
2928629520,2928629607,US
2928629608,2928629615,GB
-2928629616,2928629647,US
-2928629648,2928629655,GB
+2928629616,2928629655,US
2928629656,2928629663,IL
2928629664,2928629671,US
2928629672,2928629679,JP
@@ -70620,15 +86307,11 @@
2928632400,2928632407,CA
2928632408,2928632519,US
2928632520,2928632527,IN
-2928632528,2928633055,US
-2928633056,2928633071,CA
-2928633072,2928633087,US
+2928632528,2928633087,US
2928633088,2928633103,CA
2928633104,2928633119,US
2928633120,2928633135,CA
-2928633136,2928633199,US
-2928633200,2928633215,CA
-2928633216,2928633423,US
+2928633136,2928633423,US
2928633424,2928633439,IN
2928633440,2928633583,US
2928633584,2928633599,GB
@@ -70784,9 +86467,7 @@
2928657984,2928658015,NO
2928658016,2928662671,US
2928662672,2928662687,GB
-2928662688,2928662735,US
-2928662736,2928662751,CA
-2928662752,2928662879,US
+2928662688,2928662879,US
2928662880,2928662895,IL
2928662896,2928662959,US
2928662960,2928662975,IN
@@ -70849,7 +86530,6 @@
2939002880,2939004927,KR
2939004928,2939006975,JP
2939006976,2939007999,KP
-2939008000,2939009023,IN
2939009024,2939011071,ID
2939011072,2939027455,KR
2939027456,2942304255,CN
@@ -70918,7 +86598,9 @@
2947598336,2947602431,AU
2947602432,2947603455,NZ
2947603456,2947604479,TH
-2947604480,2947612671,HK
+2947604480,2947609855,HK
+2947609856,2947610111,AF
+2947610112,2947612671,HK
2947612672,2947678207,JP
2947678208,2947743743,CN
2947743744,2947809279,JP
@@ -70934,7 +86616,21 @@
2948595712,2952790015,KR
2952790016,2953314303,DE
2953314304,2953379839,UA
-2953379840,2953443031,DE
+2953379840,2953424959,DE
+2953424960,2953424975,ES
+2953424976,2953425183,DE
+2953425184,2953425199,ES
+2953425200,2953435071,DE
+2953435072,2953435079,IT
+2953435080,2953435855,DE
+2953435856,2953435863,IT
+2953435864,2953438191,DE
+2953438192,2953438199,ES
+2953438200,2953438231,DE
+2953438232,2953438239,CH
+2953438240,2953441263,DE
+2953441264,2953441279,IT
+2953441280,2953443031,DE
2953443032,2953443039,IT
2953443040,2953444183,DE
2953444184,2953444191,IT
@@ -70948,10 +86644,14 @@
2953465856,2953465991,GB
2953465992,2953466111,EU
2953466112,2953466127,GB
-2953466128,2953467903,EU
+2953466128,2953466367,EU
+2953466368,2953467135,GB
+2953467136,2953467903,EU
2953467904,2953469951,BE
2953469952,2953478143,CH
-2953478144,2953510911,SE
+2953478144,2953503551,SE
+2953503552,2953503559,NO
+2953503560,2953510911,SE
2953510912,2953576447,NO
2953576448,2953592831,BG
2953592832,2953596927,IR
@@ -70969,26 +86669,1525 @@
2954641408,2954643455,RU
2954643456,2954645503,IQ
2954645504,2954647551,AZ
-2954647552,2954657791,ES
+2954647552,2954650543,ES
+2954650544,2954650559,IT
+2954650560,2954657791,ES
2954657792,2954756095,JO
2954756096,2954821631,TR
-2954821632,2954854403,FR
+2954821632,2954821647,FR
+2954821648,2954821651,ES
+2954821652,2954821655,NL
+2954821656,2954821659,ES
+2954821660,2954821663,FR
+2954821664,2954821695,PT
+2954821696,2954821703,FR
+2954821704,2954821707,ES
+2954821708,2954821715,DE
+2954821716,2954821719,GB
+2954821720,2954821723,PL
+2954821724,2954821727,FR
+2954821728,2954821775,IE
+2954821776,2954821783,DE
+2954821784,2954821787,ES
+2954821788,2954821791,FR
+2954821792,2954821823,ES
+2954821824,2954821855,GB
+2954821856,2954821887,IT
+2954821888,2954821919,NL
+2954821920,2954821951,FR
+2954821952,2954821983,ES
+2954821984,2954822015,GB
+2954822016,2954822047,IT
+2954822048,2954822079,DE
+2954822080,2954822143,IE
+2954822144,2954822175,FR
+2954822176,2954822271,PL
+2954822272,2954822287,FR
+2954822288,2954822303,NL
+2954822304,2954822335,FR
+2954822336,2954822343,GB
+2954822344,2954822347,ES
+2954822348,2954822351,PL
+2954822352,2954822367,FR
+2954822368,2954822399,IT
+2954822400,2954822431,PL
+2954822432,2954822451,FR
+2954822452,2954822463,ES
+2954822464,2954822479,FR
+2954822480,2954822483,DE
+2954822484,2954822487,ES
+2954822488,2954822491,FR
+2954822492,2954822495,DE
+2954822496,2954822527,FR
+2954822528,2954822531,GB
+2954822532,2954822535,NL
+2954822536,2954822539,PL
+2954822540,2954822547,IT
+2954822548,2954822551,FR
+2954822552,2954822555,GB
+2954822556,2954822559,PL
+2954822560,2954822591,ES
+2954822592,2954822599,GB
+2954822600,2954822607,DE
+2954822608,2954822655,FR
+2954822656,2954822719,ES
+2954822720,2954822751,DE
+2954822752,2954822783,ES
+2954822784,2954822791,NL
+2954822792,2954822879,FR
+2954822880,2954822887,ES
+2954822888,2954822891,GB
+2954822892,2954822895,IE
+2954822896,2954822911,FR
+2954822912,2954822915,DE
+2954822916,2954822919,PL
+2954822920,2954822923,PT
+2954822924,2954822927,NL
+2954822928,2954822931,LT
+2954822932,2954822935,FR
+2954822936,2954822939,IT
+2954822940,2954822943,IE
+2954822944,2954822947,GB
+2954822948,2954822959,FR
+2954822960,2954822963,FI
+2954822964,2954822975,FR
+2954822976,2954822991,PL
+2954822992,2954823035,FR
+2954823036,2954823039,IT
+2954823040,2954823043,FR
+2954823044,2954823047,DE
+2954823048,2954823055,FR
+2954823056,2954823071,IE
+2954823072,2954823103,DE
+2954823104,2954823167,FR
+2954823168,2954823199,IE
+2954823200,2954823203,DE
+2954823204,2954823207,FR
+2954823208,2954823211,GB
+2954823212,2954823215,PL
+2954823216,2954823247,FR
+2954823248,2954823251,ES
+2954823252,2954823255,FR
+2954823256,2954823259,ES
+2954823260,2954823263,GB
+2954823264,2954823311,ES
+2954823312,2954823327,IE
+2954823328,2954823387,FR
+2954823388,2954823391,DE
+2954823392,2954823423,FR
+2954823424,2954823551,IE
+2954823552,2954823555,GB
+2954823556,2954823559,FR
+2954823560,2954823563,PL
+2954823564,2954823599,FR
+2954823600,2954823607,ES
+2954823608,2954823615,DE
+2954823616,2954823619,GB
+2954823620,2954823623,PL
+2954823624,2954823627,FR
+2954823628,2954823631,ES
+2954823632,2954823643,FR
+2954823644,2954823647,ES
+2954823648,2954823695,FR
+2954823696,2954823711,PT
+2954823712,2954823715,FR
+2954823716,2954823719,ES
+2954823720,2954823727,FR
+2954823728,2954823735,PT
+2954823736,2954823743,NL
+2954823744,2954823759,CZ
+2954823760,2954823767,IT
+2954823768,2954823775,FR
+2954823776,2954823779,NL
+2954823780,2954823783,CZ
+2954823784,2954823787,ES
+2954823788,2954823791,NL
+2954823792,2954823807,IE
+2954823808,2954823871,PL
+2954823872,2954823887,FR
+2954823888,2954823891,ES
+2954823892,2954823895,NL
+2954823896,2954823899,PL
+2954823900,2954823903,ES
+2954823904,2954823915,PL
+2954823916,2954823919,FR
+2954823920,2954823927,GB
+2954823928,2954823935,PL
+2954823936,2954823999,FR
+2954824000,2954824031,GB
+2954824032,2954824063,FR
+2954824064,2954824071,GB
+2954824072,2954824075,FI
+2954824076,2954824079,FR
+2954824080,2954824083,PL
+2954824084,2954824087,NL
+2954824088,2954824091,IE
+2954824092,2954824095,PL
+2954824096,2954824127,GB
+2954824128,2954824131,PL
+2954824132,2954824135,BE
+2954824136,2954824139,IE
+2954824140,2954824175,FR
+2954824176,2954824191,GB
+2954824192,2954824223,PL
+2954824224,2954824279,FR
+2954824280,2954824283,PL
+2954824284,2954824287,FR
+2954824288,2954824319,ES
+2954824320,2954824367,FR
+2954824368,2954824371,DE
+2954824372,2954824431,FR
+2954824432,2954824447,BE
+2954824448,2954824479,FR
+2954824480,2954824511,BE
+2954824512,2954824543,GB
+2954824544,2954824607,FR
+2954824608,2954824611,GB
+2954824612,2954824623,FR
+2954824624,2954824627,GB
+2954824628,2954824631,PL
+2954824632,2954824635,FR
+2954824636,2954824639,PL
+2954824640,2954824671,IT
+2954824672,2954824703,ES
+2954824704,2954824707,FR
+2954824708,2954824711,IT
+2954824712,2954824719,FR
+2954824720,2954824767,IE
+2954824768,2954824775,FR
+2954824776,2954824779,NL
+2954824780,2954824783,FI
+2954824784,2954824799,FR
+2954824800,2954824831,PT
+2954824832,2954824895,IE
+2954824896,2954824903,GB
+2954824904,2954824907,CH
+2954824908,2954824911,BE
+2954824912,2954824915,ES
+2954824916,2954824919,BE
+2954824920,2954824927,FR
+2954824928,2954824931,GB
+2954824932,2954824943,ES
+2954824944,2954824959,FR
+2954824960,2954824975,IE
+2954824976,2954825023,FR
+2954825024,2954825031,IE
+2954825032,2954825063,FR
+2954825064,2954825067,ES
+2954825068,2954825071,GB
+2954825072,2954825087,BE
+2954825088,2954825095,CZ
+2954825096,2954825099,FR
+2954825100,2954825103,PL
+2954825104,2954825119,DE
+2954825120,2954825151,PL
+2954825152,2954825159,FR
+2954825160,2954825163,DE
+2954825164,2954825167,GB
+2954825168,2954825171,DE
+2954825172,2954825175,NL
+2954825176,2954825179,IE
+2954825180,2954825183,GB
+2954825184,2954825187,DE
+2954825188,2954825191,NL
+2954825192,2954825199,GB
+2954825200,2954825203,ES
+2954825204,2954825207,IT
+2954825208,2954825211,GB
+2954825212,2954825215,DE
+2954825216,2954825231,FR
+2954825232,2954825239,NL
+2954825240,2954825243,ES
+2954825244,2954825247,CZ
+2954825248,2954825263,GB
+2954825264,2954825267,FR
+2954825268,2954825271,GB
+2954825272,2954825275,ES
+2954825276,2954825311,FR
+2954825312,2954825315,GB
+2954825316,2954825319,DE
+2954825320,2954825327,ES
+2954825328,2954825331,GB
+2954825332,2954825343,NL
+2954825344,2954825351,FR
+2954825352,2954825359,PT
+2954825360,2954825375,DE
+2954825376,2954825383,PT
+2954825384,2954825387,GB
+2954825388,2954825391,ES
+2954825392,2954825395,NL
+2954825396,2954825399,GB
+2954825400,2954825455,FR
+2954825456,2954825459,GB
+2954825460,2954825471,FR
+2954825472,2954825535,IE
+2954825536,2954825539,PL
+2954825540,2954825543,FI
+2954825544,2954825547,BE
+2954825548,2954825551,DE
+2954825552,2954825567,FR
+2954825568,2954825583,ES
+2954825584,2954825599,FR
+2954825600,2954825631,PL
+2954825632,2954825635,DE
+2954825636,2954825639,GB
+2954825640,2954825655,FR
+2954825656,2954825659,PL
+2954825660,2954825663,FR
+2954825664,2954825727,GB
+2954825728,2954825887,FR
+2954825888,2954825919,IT
+2954825920,2954825923,CH
+2954825924,2954825931,IT
+2954825932,2954825935,GB
+2954825936,2954825939,BE
+2954825940,2954825947,FR
+2954825948,2954825951,NL
+2954825952,2954825967,PL
+2954825968,2954825983,ES
+2954825984,2954826015,FR
+2954826016,2954826019,ES
+2954826020,2954826023,PL
+2954826024,2954826031,FR
+2954826032,2954826035,PL
+2954826036,2954826039,ES
+2954826040,2954826043,PL
+2954826044,2954826047,NL
+2954826048,2954826063,FR
+2954826064,2954826067,BE
+2954826068,2954826071,NL
+2954826072,2954826079,IE
+2954826080,2954826147,FR
+2954826148,2954826151,IE
+2954826152,2954826159,ES
+2954826160,2954826167,PL
+2954826168,2954826175,FR
+2954826176,2954826239,NL
+2954826240,2954826243,IT
+2954826244,2954826247,GB
+2954826248,2954826255,CH
+2954826256,2954826263,IE
+2954826264,2954826267,FR
+2954826268,2954826271,NL
+2954826272,2954826279,FR
+2954826280,2954826283,IT
+2954826284,2954826287,GB
+2954826288,2954826291,FI
+2954826292,2954826295,DE
+2954826296,2954826299,FR
+2954826300,2954826303,GB
+2954826304,2954826367,FR
+2954826368,2954826371,DE
+2954826372,2954826375,GB
+2954826376,2954826383,FR
+2954826384,2954826391,PL
+2954826392,2954826403,FR
+2954826404,2954826407,BE
+2954826408,2954826411,ES
+2954826412,2954826415,FR
+2954826416,2954826419,GB
+2954826420,2954826423,PT
+2954826424,2954826427,PL
+2954826428,2954826431,PT
+2954826432,2954826447,IT
+2954826448,2954826451,GB
+2954826452,2954826471,FR
+2954826472,2954826475,GB
+2954826476,2954826483,FR
+2954826484,2954826487,NL
+2954826488,2954826491,LT
+2954826492,2954826751,FR
+2954826752,2954826755,CH
+2954826756,2954826759,GB
+2954826760,2954826763,PL
+2954826764,2954826767,IE
+2954826768,2954826771,GB
+2954826772,2954826775,PL
+2954826776,2954826779,FR
+2954826780,2954826783,NL
+2954826784,2954826787,CH
+2954826788,2954826791,GB
+2954826792,2954826795,FR
+2954826796,2954826799,DE
+2954826800,2954826807,NL
+2954826808,2954826811,FR
+2954826812,2954826815,IT
+2954826816,2954826879,FR
+2954826880,2954827263,DE
+2954827264,2954827295,IE
+2954827296,2954827391,DE
+2954827392,2954827487,IE
+2954827488,2954827519,GB
+2954827520,2954827647,FR
+2954827648,2954827775,GB
+2954827776,2954827807,FR
+2954827808,2954827815,PL
+2954827816,2954827819,FR
+2954827820,2954827823,ES
+2954827824,2954827827,DE
+2954827828,2954827831,PT
+2954827832,2954827835,IE
+2954827836,2954827839,DE
+2954827840,2954827855,BE
+2954827856,2954827863,PT
+2954827864,2954827883,FR
+2954827884,2954827887,DE
+2954827888,2954827939,FR
+2954827940,2954827943,PT
+2954827944,2954827947,NL
+2954827948,2954827967,FR
+2954827968,2954827971,CZ
+2954827972,2954827975,CH
+2954827976,2954827979,FR
+2954827980,2954827983,IE
+2954827984,2954827987,DE
+2954827988,2954827999,PL
+2954828000,2954828031,IE
+2954828032,2954828287,FR
+2954828288,2954828291,CZ
+2954828292,2954828295,DE
+2954828296,2954828299,CH
+2954828300,2954828303,DE
+2954828304,2954828307,PL
+2954828308,2954828311,BE
+2954828312,2954828315,FR
+2954828316,2954828319,IE
+2954828320,2954828335,FR
+2954828336,2954828343,IE
+2954828344,2954828347,FI
+2954828348,2954828351,DE
+2954828352,2954828415,FR
+2954828416,2954828431,IT
+2954828432,2954828439,IE
+2954828440,2954828443,GB
+2954828444,2954828463,FR
+2954828464,2954828467,FI
+2954828468,2954828471,PL
+2954828472,2954828479,FR
+2954828480,2954828495,ES
+2954828496,2954828511,IT
+2954828512,2954828799,FR
+2954828800,2954828815,NL
+2954828816,2954828819,ES
+2954828820,2954828823,GB
+2954828824,2954828831,PT
+2954828832,2954828835,ES
+2954828836,2954828839,DE
+2954828840,2954828863,GB
+2954828864,2954828895,FR
+2954828896,2954828927,BE
+2954828928,2954828943,IE
+2954828944,2954828955,FR
+2954828956,2954828959,DE
+2954828960,2954828975,IE
+2954828976,2954828979,GB
+2954828980,2954828983,FR
+2954828984,2954828991,PL
+2954828992,2954829007,FR
+2954829008,2954829023,IE
+2954829024,2954829119,FR
+2954829120,2954829135,NL
+2954829136,2954829139,FR
+2954829140,2954829143,CZ
+2954829144,2954829151,GB
+2954829152,2954829167,CH
+2954829168,2954829171,NL
+2954829172,2954829175,IE
+2954829176,2954829179,NL
+2954829180,2954829183,GB
+2954829184,2954829215,BE
+2954829216,2954829247,NL
+2954829248,2954829311,PT
+2954829312,2954829319,ES
+2954829320,2954829323,DE
+2954829324,2954829327,BE
+2954829328,2954829331,IE
+2954829332,2954829335,CZ
+2954829336,2954829343,GB
+2954829344,2954829375,IT
+2954829376,2954829383,GB
+2954829384,2954829387,FR
+2954829388,2954829391,IE
+2954829392,2954829399,GB
+2954829400,2954829407,PL
+2954829408,2954829423,IE
+2954829424,2954829427,FR
+2954829428,2954829431,PL
+2954829432,2954829435,FR
+2954829436,2954829439,DE
+2954829440,2954829455,FR
+2954829456,2954829463,GB
+2954829464,2954829467,IE
+2954829468,2954829471,GB
+2954829472,2954829487,FR
+2954829488,2954829495,IT
+2954829496,2954829499,NL
+2954829500,2954829503,IT
+2954829504,2954829519,FR
+2954829520,2954829535,GB
+2954829536,2954829559,FR
+2954829560,2954829563,BE
+2954829564,2954829567,FI
+2954829568,2954829599,FR
+2954829600,2954829603,DE
+2954829604,2954829607,PT
+2954829608,2954829615,NL
+2954829616,2954829623,GB
+2954829624,2954829631,ES
+2954829632,2954829647,GB
+2954829648,2954829663,PL
+2954829664,2954829695,FR
+2954829696,2954829699,BE
+2954829700,2954829703,ES
+2954829704,2954829727,FR
+2954829728,2954829731,PL
+2954829732,2954829735,GB
+2954829736,2954829739,FI
+2954829740,2954829743,NL
+2954829744,2954829751,FR
+2954829752,2954829755,CH
+2954829756,2954829823,FR
+2954829824,2954829827,ES
+2954829828,2954829831,NL
+2954829832,2954829839,DE
+2954829840,2954829875,FR
+2954829876,2954829879,GB
+2954829880,2954829887,FR
+2954829888,2954829903,PL
+2954829904,2954829919,GB
+2954829920,2954829951,FR
+2954829952,2954829959,ES
+2954829960,2954829963,PT
+2954829964,2954829967,PL
+2954829968,2954829983,FR
+2954829984,2954830015,DE
+2954830016,2954830079,GB
+2954830080,2954830111,IT
+2954830112,2954830143,FR
+2954830144,2954830147,ES
+2954830148,2954830151,PL
+2954830152,2954830159,FR
+2954830160,2954830163,GB
+2954830164,2954830167,PT
+2954830168,2954830175,DE
+2954830176,2954830271,FR
+2954830272,2954830279,DE
+2954830280,2954830283,PL
+2954830284,2954830287,DE
+2954830288,2954830303,FR
+2954830304,2954830367,DE
+2954830368,2954830375,NL
+2954830376,2954830383,ES
+2954830384,2954830387,PL
+2954830388,2954830391,BE
+2954830392,2954830399,FR
+2954830400,2954830415,IT
+2954830416,2954830431,ES
+2954830432,2954830447,FR
+2954830448,2954830451,CZ
+2954830452,2954830455,BE
+2954830456,2954830463,CH
+2954830464,2954830591,PL
+2954830592,2954830847,GB
+2954830848,2954830855,PL
+2954830856,2954830859,FR
+2954830860,2954830863,GB
+2954830864,2954830879,FR
+2954830880,2954830887,GB
+2954830888,2954830891,FR
+2954830892,2954830895,ES
+2954830896,2954830931,FR
+2954830932,2954830935,IE
+2954830936,2954830975,FR
+2954830976,2954831103,PL
+2954831104,2954831167,PT
+2954831168,2954831231,FR
+2954831232,2954831263,DE
+2954831264,2954831267,FR
+2954831268,2954831271,PL
+2954831272,2954831275,FR
+2954831276,2954831279,IT
+2954831280,2954831295,CH
+2954831296,2954831327,FR
+2954831328,2954831331,PL
+2954831332,2954831335,FR
+2954831336,2954831339,PL
+2954831340,2954831343,GB
+2954831344,2954831359,DE
+2954831360,2954831391,FR
+2954831392,2954831399,CZ
+2954831400,2954831403,CH
+2954831404,2954831407,DE
+2954831408,2954831411,ES
+2954831412,2954831423,DE
+2954831424,2954831487,FR
+2954831488,2954831519,DE
+2954831520,2954831527,FR
+2954831528,2954831539,PT
+2954831540,2954831543,GB
+2954831544,2954831547,IT
+2954831548,2954831551,PT
+2954831552,2954831583,DE
+2954831584,2954831599,ES
+2954831600,2954831603,PT
+2954831604,2954831607,BE
+2954831608,2954831611,FR
+2954831612,2954831615,ES
+2954831616,2954831647,FR
+2954831648,2954831651,GB
+2954831652,2954831667,FR
+2954831668,2954831671,PL
+2954831672,2954831675,DE
+2954831676,2954831711,FR
+2954831712,2954831743,ES
+2954831744,2954831747,FR
+2954831748,2954831751,DE
+2954831752,2954831759,FR
+2954831760,2954831775,FI
+2954831776,2954831779,CH
+2954831780,2954831783,FR
+2954831784,2954831787,DE
+2954831788,2954831791,CZ
+2954831792,2954831799,NL
+2954831800,2954831807,FR
+2954831808,2954831839,GB
+2954831840,2954831919,FR
+2954831920,2954831923,PL
+2954831924,2954831927,PT
+2954831928,2954831983,FR
+2954831984,2954831999,BE
+2954832000,2954832023,FR
+2954832024,2954832063,PL
+2954832064,2954832071,FR
+2954832072,2954832079,IE
+2954832080,2954832127,FR
+2954832128,2954832135,GB
+2954832136,2954832143,PL
+2954832144,2954832159,FR
+2954832160,2954832167,ES
+2954832168,2954832175,IE
+2954832176,2954832207,FR
+2954832208,2954832211,PT
+2954832212,2954832215,FR
+2954832216,2954832219,DE
+2954832220,2954832223,FR
+2954832224,2954832255,BE
+2954832256,2954832335,FR
+2954832336,2954832343,DE
+2954832344,2954832347,FR
+2954832348,2954832351,ES
+2954832352,2954832383,FR
+2954832384,2954832639,NL
+2954832640,2954832643,DE
+2954832644,2954832647,FR
+2954832648,2954832651,ES
+2954832652,2954832655,GB
+2954832656,2954832671,FR
+2954832672,2954832675,DE
+2954832676,2954832679,FR
+2954832680,2954832687,PL
+2954832688,2954832691,GB
+2954832692,2954832695,FR
+2954832696,2954832699,GB
+2954832700,2954832703,CH
+2954832704,2954832799,FR
+2954832800,2954832815,ES
+2954832816,2954832823,FR
+2954832824,2954832831,ES
+2954832832,2954832847,FR
+2954832848,2954832851,IT
+2954832852,2954832855,PL
+2954832856,2954832859,DE
+2954832860,2954832863,ES
+2954832864,2954832887,FR
+2954832888,2954832891,PL
+2954832892,2954832895,IE
+2954832896,2954832959,FR
+2954832960,2954832975,IT
+2954832976,2954832991,FR
+2954832992,2954833023,GB
+2954833024,2954833047,FR
+2954833048,2954833055,ES
+2954833056,2954833071,FR
+2954833072,2954833075,PT
+2954833076,2954833079,ES
+2954833080,2954833083,GB
+2954833084,2954833087,PL
+2954833088,2954833095,FR
+2954833096,2954833099,GB
+2954833100,2954833103,FR
+2954833104,2954833111,CZ
+2954833112,2954833119,FR
+2954833120,2954833151,PL
+2954833152,2954833183,FR
+2954833184,2954833199,PL
+2954833200,2954833207,FR
+2954833208,2954833211,CH
+2954833212,2954833215,FR
+2954833216,2954833219,DE
+2954833220,2954833223,IT
+2954833224,2954833227,FR
+2954833228,2954833231,CH
+2954833232,2954833247,ES
+2954833248,2954833255,FR
+2954833256,2954833263,PL
+2954833264,2954833271,FR
+2954833272,2954833279,NL
+2954833280,2954833283,PL
+2954833284,2954833287,FR
+2954833288,2954833295,IE
+2954833296,2954833315,FR
+2954833316,2954833319,CZ
+2954833320,2954833343,FR
+2954833344,2954833407,GB
+2954833408,2954833415,FR
+2954833416,2954833419,ES
+2954833420,2954833423,IT
+2954833424,2954833439,GB
+2954833440,2954833443,FR
+2954833444,2954833447,PL
+2954833448,2954833455,PT
+2954833456,2954833471,ES
+2954833472,2954833487,FR
+2954833488,2954833503,BE
+2954833504,2954833535,GB
+2954833536,2954833539,PL
+2954833540,2954833543,FR
+2954833544,2954833547,ES
+2954833548,2954833551,DE
+2954833552,2954833555,FR
+2954833556,2954833559,IE
+2954833560,2954833563,IT
+2954833564,2954833571,PL
+2954833572,2954833575,FR
+2954833576,2954833583,PL
+2954833584,2954833587,FR
+2954833588,2954833591,IT
+2954833592,2954833595,GB
+2954833596,2954833599,FR
+2954833600,2954833603,FI
+2954833604,2954833607,FR
+2954833608,2954833611,PL
+2954833612,2954833615,ES
+2954833616,2954833631,GB
+2954833632,2954833635,FR
+2954833636,2954833639,CZ
+2954833640,2954833647,CH
+2954833648,2954833663,FI
+2954833664,2954833951,GB
+2954833952,2954833967,FR
+2954833968,2954833983,ES
+2954833984,2954833999,FR
+2954834000,2954834003,PL
+2954834004,2954834007,NL
+2954834008,2954834011,FR
+2954834012,2954834015,GB
+2954834016,2954834047,PL
+2954834048,2954834063,GB
+2954834064,2954834067,PL
+2954834068,2954834071,NL
+2954834072,2954834079,PL
+2954834080,2954834095,FR
+2954834096,2954834099,PL
+2954834100,2954834103,FR
+2954834104,2954834107,NL
+2954834108,2954834111,PT
+2954834112,2954834143,FR
+2954834144,2954834151,GB
+2954834152,2954834431,FR
+2954834432,2954834435,PL
+2954834436,2954834439,IE
+2954834440,2954834443,NL
+2954834444,2954834447,LT
+2954834448,2954834451,PL
+2954834452,2954834459,IT
+2954834460,2954834463,GB
+2954834464,2954834467,FR
+2954834468,2954834479,ES
+2954834480,2954834483,FR
+2954834484,2954834491,ES
+2954834492,2954834495,NL
+2954834496,2954834527,IT
+2954834528,2954834531,DE
+2954834532,2954834535,PL
+2954834536,2954834539,FR
+2954834540,2954834575,PL
+2954834576,2954834579,GB
+2954834580,2954834583,IT
+2954834584,2954834591,IE
+2954834592,2954834607,FR
+2954834608,2954834611,PT
+2954834612,2954834615,ES
+2954834616,2954834623,FR
+2954834624,2954834627,PL
+2954834628,2954834631,DE
+2954834632,2954834635,IT
+2954834636,2954834639,FR
+2954834640,2954834643,PT
+2954834644,2954834647,GB
+2954834648,2954834651,FR
+2954834652,2954834655,NL
+2954834656,2954834663,DE
+2954834664,2954834671,ES
+2954834672,2954834675,NL
+2954834676,2954834683,FR
+2954834684,2954834687,GB
+2954834688,2954834691,NL
+2954834692,2954834695,PL
+2954834696,2954834703,FR
+2954834704,2954834719,GB
+2954834720,2954834751,FR
+2954834752,2954834755,DE
+2954834756,2954834759,FR
+2954834760,2954834763,PL
+2954834764,2954834799,FR
+2954834800,2954834803,GB
+2954834804,2954834807,FR
+2954834808,2954834811,GB
+2954834812,2954834879,FR
+2954834880,2954834911,PL
+2954834912,2954835215,FR
+2954835216,2954835227,PT
+2954835228,2954835231,PL
+2954835232,2954835263,FR
+2954835264,2954835279,DE
+2954835280,2954835283,FR
+2954835284,2954835287,ES
+2954835288,2954835295,IT
+2954835296,2954835303,CH
+2954835304,2954835307,ES
+2954835308,2954835311,GB
+2954835312,2954835327,FR
+2954835328,2954835335,ES
+2954835336,2954835359,IE
+2954835360,2954835363,BE
+2954835364,2954835367,NL
+2954835368,2954835371,IT
+2954835372,2954835375,FR
+2954835376,2954835391,CH
+2954835392,2954835399,DE
+2954835400,2954835415,FR
+2954835416,2954835419,CH
+2954835420,2954835423,GB
+2954835424,2954835487,DE
+2954835488,2954835511,FR
+2954835512,2954835519,ES
+2954835520,2954835535,PL
+2954835536,2954835551,GB
+2954835552,2954835583,FR
+2954835584,2954835599,PL
+2954835600,2954835603,FR
+2954835604,2954835611,DE
+2954835612,2954835615,PL
+2954835616,2954835619,CZ
+2954835620,2954835623,ES
+2954835624,2954835627,DE
+2954835628,2954835635,ES
+2954835636,2954835643,PT
+2954835644,2954835647,ES
+2954835648,2954835655,FR
+2954835656,2954835659,PT
+2954835660,2954835663,FR
+2954835664,2954835679,PL
+2954835680,2954835687,DE
+2954835688,2954835699,FR
+2954835700,2954835711,ES
+2954835712,2954835967,IE
+2954835968,2954836223,FR
+2954836224,2954836287,DE
+2954836288,2954836319,ES
+2954836320,2954836343,FR
+2954836344,2954836351,PL
+2954836352,2954836367,FR
+2954836368,2954836383,CZ
+2954836384,2954836407,FR
+2954836408,2954836415,GB
+2954836416,2954836423,FR
+2954836424,2954836431,GB
+2954836432,2954836435,IT
+2954836436,2954836439,CH
+2954836440,2954836447,GB
+2954836448,2954836479,DE
+2954836480,2954836735,FR
+2954836736,2954836743,GB
+2954836744,2954836759,FR
+2954836760,2954836767,CH
+2954836768,2954836863,FR
+2954836864,2954836875,ES
+2954836876,2954836879,A1
+2954836880,2954836895,IT
+2954836896,2954836903,PL
+2954836904,2954836927,FR
+2954836928,2954836959,DE
+2954836960,2954836975,CH
+2954836976,2954836979,ES
+2954836980,2954836983,NL
+2954836984,2954836991,GB
+2954836992,2954837023,PT
+2954837024,2954837055,DE
+2954837056,2954837071,IT
+2954837072,2954837075,GB
+2954837076,2954837079,FR
+2954837080,2954837083,FI
+2954837084,2954837087,GB
+2954837088,2954837091,ES
+2954837092,2954837095,FR
+2954837096,2954837103,DE
+2954837104,2954837123,FR
+2954837124,2954837127,IE
+2954837128,2954837131,DE
+2954837132,2954837135,FI
+2954837136,2954837151,PL
+2954837152,2954837215,FR
+2954837216,2954837247,PL
+2954837248,2954837295,DE
+2954837296,2954837311,FR
+2954837312,2954837319,FI
+2954837320,2954837327,NL
+2954837328,2954837335,GB
+2954837336,2954837343,LT
+2954837344,2954837351,FR
+2954837352,2954837355,PL
+2954837356,2954837375,FR
+2954837376,2954837383,LT
+2954837384,2954837391,PL
+2954837392,2954837407,FR
+2954837408,2954837423,ES
+2954837424,2954837435,GB
+2954837436,2954837439,FR
+2954837440,2954837487,GB
+2954837488,2954837495,CH
+2954837496,2954837535,FR
+2954837536,2954837543,GB
+2954837544,2954837551,IT
+2954837552,2954837555,LT
+2954837556,2954837559,FR
+2954837560,2954837563,GB
+2954837564,2954837567,PT
+2954837568,2954837571,FR
+2954837572,2954837575,GB
+2954837576,2954837579,NL
+2954837580,2954837583,GB
+2954837584,2954837591,IE
+2954837592,2954837599,PL
+2954837600,2954837631,DE
+2954837632,2954837639,FR
+2954837640,2954837643,PL
+2954837644,2954837647,IE
+2954837648,2954837651,NL
+2954837652,2954837667,FR
+2954837668,2954837671,CZ
+2954837672,2954837679,BE
+2954837680,2954837687,FR
+2954837688,2954837695,NL
+2954837696,2954837727,FR
+2954837728,2954837743,GB
+2954837744,2954837775,FR
+2954837776,2954837791,DE
+2954837792,2954837823,FR
+2954837824,2954837827,ES
+2954837828,2954837831,DE
+2954837832,2954837839,PL
+2954837840,2954837843,DE
+2954837844,2954837851,FR
+2954837852,2954837855,IT
+2954837856,2954837887,DE
+2954837888,2954837903,IT
+2954837904,2954837919,FR
+2954837920,2954837951,DE
+2954837952,2954838015,FR
+2954838016,2954838019,PL
+2954838020,2954838047,FR
+2954838048,2954838055,DE
+2954838056,2954838071,FR
+2954838072,2954838075,CH
+2954838076,2954838079,PT
+2954838080,2954838087,FR
+2954838088,2954838091,IT
+2954838092,2954838095,FR
+2954838096,2954838099,ES
+2954838100,2954838111,FR
+2954838112,2954838115,CZ
+2954838116,2954838119,GB
+2954838120,2954838123,CZ
+2954838124,2954838127,IT
+2954838128,2954838135,FR
+2954838136,2954838139,ES
+2954838140,2954838143,CH
+2954838144,2954838151,FR
+2954838152,2954838159,BE
+2954838160,2954838163,FR
+2954838164,2954838167,GB
+2954838168,2954838171,NL
+2954838172,2954838175,IT
+2954838176,2954838179,GB
+2954838180,2954838183,DE
+2954838184,2954838191,IT
+2954838192,2954838199,GB
+2954838200,2954838211,ES
+2954838212,2954838215,IE
+2954838216,2954838219,GB
+2954838220,2954838223,ES
+2954838224,2954838239,FR
+2954838240,2954838263,PL
+2954838264,2954838271,IT
+2954838272,2954838279,DE
+2954838280,2954838287,IT
+2954838288,2954838303,BE
+2954838304,2954838351,FR
+2954838352,2954838367,DE
+2954838368,2954838375,FR
+2954838376,2954838379,NL
+2954838380,2954838383,PL
+2954838384,2954838387,FR
+2954838388,2954838391,CH
+2954838392,2954838395,GB
+2954838396,2954838399,IE
+2954838400,2954838431,DE
+2954838432,2954838435,CH
+2954838436,2954838467,FR
+2954838468,2954838471,GB
+2954838472,2954838475,PL
+2954838476,2954838479,IT
+2954838480,2954838511,FR
+2954838512,2954838519,IT
+2954838520,2954838523,DE
+2954838524,2954838527,IE
+2954838528,2954838531,IT
+2954838532,2954838535,GB
+2954838536,2954838539,PL
+2954838540,2954838543,CH
+2954838544,2954838559,PL
+2954838560,2954838575,FR
+2954838576,2954838583,IT
+2954838584,2954838591,BE
+2954838592,2954838599,DE
+2954838600,2954838607,GB
+2954838608,2954838615,NL
+2954838616,2954838623,FR
+2954838624,2954838639,IT
+2954838640,2954838643,GB
+2954838644,2954838647,DE
+2954838648,2954838655,PL
+2954838656,2954838719,IE
+2954838720,2954838751,FR
+2954838752,2954838767,BE
+2954838768,2954838911,FR
+2954838912,2954838915,ES
+2954838916,2954838927,GB
+2954838928,2954838931,FR
+2954838932,2954838935,GB
+2954838936,2954838939,FR
+2954838940,2954838943,IE
+2954838944,2954838991,FR
+2954838992,2954838995,DE
+2954838996,2954838999,ES
+2954839000,2954839007,GB
+2954839008,2954839023,FR
+2954839024,2954839039,CH
+2954839040,2954839107,GB
+2954839108,2954839111,BE
+2954839112,2954839119,ES
+2954839120,2954839127,NL
+2954839128,2954839135,GB
+2954839136,2954839167,DE
+2954839168,2954839199,PL
+2954839200,2954839231,DE
+2954839232,2954839247,IE
+2954839248,2954839251,GB
+2954839252,2954839263,FR
+2954839264,2954839267,PL
+2954839268,2954839271,FR
+2954839272,2954839279,GB
+2954839280,2954839303,FR
+2954839304,2954839311,GB
+2954839312,2954839319,PL
+2954839320,2954839343,GB
+2954839344,2954839347,ES
+2954839348,2954839351,IT
+2954839352,2954839355,NL
+2954839356,2954839359,ES
+2954839360,2954839363,IT
+2954839364,2954839367,FR
+2954839368,2954839371,GB
+2954839372,2954839375,FR
+2954839376,2954839383,GB
+2954839384,2954839391,FR
+2954839392,2954839395,PL
+2954839396,2954839399,GB
+2954839400,2954839407,FR
+2954839408,2954839423,IE
+2954839424,2954839455,GB
+2954839456,2954839471,PL
+2954839472,2954839479,BE
+2954839480,2954839483,DE
+2954839484,2954839487,FR
+2954839488,2954839519,ES
+2954839520,2954839523,GB
+2954839524,2954839527,PL
+2954839528,2954839535,GB
+2954839536,2954839543,FR
+2954839544,2954839551,ES
+2954839552,2954840063,DE
+2954840064,2954840095,FR
+2954840096,2954840103,ES
+2954840104,2954840107,IT
+2954840108,2954840111,ES
+2954840112,2954840115,FR
+2954840116,2954840119,PL
+2954840120,2954840123,ES
+2954840124,2954840127,PL
+2954840128,2954840135,FR
+2954840136,2954840139,IT
+2954840140,2954840143,PL
+2954840144,2954840159,IE
+2954840160,2954840179,FR
+2954840180,2954840183,IT
+2954840184,2954840187,DE
+2954840188,2954840191,PL
+2954840192,2954840223,GB
+2954840224,2954840479,PL
+2954840480,2954840495,FR
+2954840496,2954840499,DE
+2954840500,2954840503,ES
+2954840504,2954840507,FR
+2954840508,2954840519,PL
+2954840520,2954840523,FR
+2954840524,2954840527,ES
+2954840528,2954840543,FR
+2954840544,2954840575,ES
+2954840576,2954840591,FI
+2954840592,2954840607,ES
+2954840608,2954840623,FR
+2954840624,2954840631,NL
+2954840632,2954840639,ES
+2954840640,2954840647,FR
+2954840648,2954840655,PL
+2954840656,2954840663,FR
+2954840664,2954840671,PL
+2954840672,2954840703,IT
+2954840704,2954840719,FR
+2954840720,2954840727,GB
+2954840728,2954840731,ES
+2954840732,2954840743,DE
+2954840744,2954840751,GB
+2954840752,2954840755,FR
+2954840756,2954840763,ES
+2954840764,2954840767,PL
+2954840768,2954840775,GB
+2954840776,2954840779,FR
+2954840780,2954840783,NL
+2954840784,2954840831,FR
+2954840832,2954840847,NL
+2954840848,2954840851,CH
+2954840852,2954840855,BE
+2954840856,2954840859,DE
+2954840860,2954840863,ES
+2954840864,2954840903,FR
+2954840904,2954840907,PL
+2954840908,2954840911,ES
+2954840912,2954840919,DE
+2954840920,2954840927,FR
+2954840928,2954840931,IT
+2954840932,2954840939,FR
+2954840940,2954840943,ES
+2954840944,2954840959,FR
+2954840960,2954841023,IT
+2954841024,2954841091,ES
+2954841092,2954841095,PL
+2954841096,2954841103,GB
+2954841104,2954841111,ES
+2954841112,2954841151,FR
+2954841152,2954841183,ES
+2954841184,2954841199,FR
+2954841200,2954841203,CZ
+2954841204,2954841207,PL
+2954841208,2954841215,FI
+2954841216,2954841239,DE
+2954841240,2954841247,GB
+2954841248,2954841255,PL
+2954841256,2954841259,ES
+2954841260,2954841263,GB
+2954841264,2954841271,FR
+2954841272,2954841275,IT
+2954841276,2954841295,FR
+2954841296,2954841299,ES
+2954841300,2954841307,PL
+2954841308,2954841311,GB
+2954841312,2954841471,FR
+2954841472,2954841503,PL
+2954841504,2954841507,DE
+2954841508,2954841511,GB
+2954841512,2954841519,FR
+2954841520,2954841523,PL
+2954841524,2954841527,DE
+2954841528,2954841535,FR
+2954841536,2954841543,GB
+2954841544,2954841551,PL
+2954841552,2954841559,FR
+2954841560,2954841563,FI
+2954841564,2954841567,PL
+2954841568,2954841591,ES
+2954841592,2954841631,PL
+2954841632,2954841639,FR
+2954841640,2954841647,ES
+2954841648,2954841655,FR
+2954841656,2954841659,GB
+2954841660,2954841663,FR
+2954841664,2954841667,IE
+2954841668,2954841671,NL
+2954841672,2954841675,CH
+2954841676,2954841679,FR
+2954841680,2954841683,GB
+2954841684,2954841687,PT
+2954841688,2954841691,PL
+2954841692,2954841695,FR
+2954841696,2954841699,IT
+2954841700,2954841703,FR
+2954841704,2954841711,BE
+2954841712,2954841715,FR
+2954841716,2954841719,CZ
+2954841720,2954841759,FR
+2954841760,2954841783,PL
+2954841784,2954841787,CZ
+2954841788,2954841795,ES
+2954841796,2954841799,FR
+2954841800,2954841803,PL
+2954841804,2954841807,DE
+2954841808,2954841811,FR
+2954841812,2954841815,GB
+2954841816,2954841819,FR
+2954841820,2954841823,GB
+2954841824,2954841851,FR
+2954841852,2954841855,ES
+2954841856,2954841879,FR
+2954841880,2954841887,PL
+2954841888,2954841907,FR
+2954841908,2954841911,PL
+2954841912,2954841919,NL
+2954841920,2954841927,GB
+2954841928,2954841931,PL
+2954841932,2954841935,FI
+2954841936,2954841939,BE
+2954841940,2954841943,ES
+2954841944,2954841951,DE
+2954841952,2954841983,ES
+2954841984,2954842015,FR
+2954842016,2954842031,GB
+2954842032,2954842035,CH
+2954842036,2954842039,PL
+2954842040,2954842043,FR
+2954842044,2954842047,GB
+2954842048,2954842067,FR
+2954842068,2954842071,GB
+2954842072,2954842075,FR
+2954842076,2954842079,NL
+2954842080,2954842095,FR
+2954842096,2954842111,IE
+2954842112,2954842239,FR
+2954842240,2954842243,ES
+2954842244,2954842247,FR
+2954842248,2954842251,ES
+2954842252,2954842255,GB
+2954842256,2954842263,FR
+2954842264,2954842267,CZ
+2954842268,2954842271,FR
+2954842272,2954842275,IE
+2954842276,2954842279,FR
+2954842280,2954842291,PL
+2954842292,2954842295,CH
+2954842296,2954842299,GB
+2954842300,2954842367,ES
+2954842368,2954842375,IE
+2954842376,2954842403,FR
+2954842404,2954842407,IT
+2954842408,2954842411,DE
+2954842412,2954842415,GB
+2954842416,2954842419,NL
+2954842420,2954842423,FR
+2954842424,2954842427,ES
+2954842428,2954842439,FR
+2954842440,2954842443,IE
+2954842444,2954842447,BE
+2954842448,2954842451,GB
+2954842452,2954842455,CZ
+2954842456,2954842459,FR
+2954842460,2954842463,IE
+2954842464,2954842467,PL
+2954842468,2954842471,FR
+2954842472,2954842479,GB
+2954842480,2954842483,IT
+2954842484,2954842487,PL
+2954842488,2954842491,CH
+2954842492,2954842495,FR
+2954842496,2954842559,GB
+2954842560,2954842655,DE
+2954842656,2954842659,ES
+2954842660,2954842663,FI
+2954842664,2954842667,FR
+2954842668,2954842671,IE
+2954842672,2954842703,FR
+2954842704,2954842727,PL
+2954842728,2954842731,ES
+2954842732,2954842735,LT
+2954842736,2954842743,NL
+2954842744,2954842751,CH
+2954842752,2954842767,PL
+2954842768,2954842771,BE
+2954842772,2954842775,GB
+2954842776,2954842783,FR
+2954842784,2954842791,PT
+2954842792,2954842799,BE
+2954842800,2954842807,ES
+2954842808,2954842811,GB
+2954842812,2954842815,FI
+2954842816,2954842831,PL
+2954842832,2954842855,FR
+2954842856,2954842863,GB
+2954842864,2954842879,FR
+2954842880,2954842911,PL
+2954842912,2954842919,IT
+2954842920,2954842927,FR
+2954842928,2954842935,BE
+2954842936,2954842943,IE
+2954842944,2954842951,CH
+2954842952,2954842955,PL
+2954842956,2954842959,IT
+2954842960,2954842975,FR
+2954842976,2954842991,ES
+2954842992,2954843007,PL
+2954843008,2954843023,FI
+2954843024,2954843027,PL
+2954843028,2954843031,ES
+2954843032,2954843039,IT
+2954843040,2954843071,DE
+2954843072,2954843103,FR
+2954843104,2954843135,NL
+2954843136,2954843183,FR
+2954843184,2954843187,NL
+2954843188,2954843191,GB
+2954843192,2954843195,NL
+2954843196,2954843199,ES
+2954843200,2954843263,FR
+2954843264,2954843271,CZ
+2954843272,2954843275,GB
+2954843276,2954843311,FR
+2954843312,2954843315,ES
+2954843316,2954843319,FR
+2954843320,2954843323,DE
+2954843324,2954843327,NL
+2954843328,2954843335,IT
+2954843336,2954843339,GB
+2954843340,2954843343,NL
+2954843344,2954843347,DE
+2954843348,2954843351,GB
+2954843352,2954843375,FR
+2954843376,2954843391,ES
+2954843392,2954843407,FR
+2954843408,2954843415,CH
+2954843416,2954843419,PL
+2954843420,2954843423,FR
+2954843424,2954843439,NL
+2954843440,2954843459,FR
+2954843460,2954843463,NL
+2954843464,2954843471,FR
+2954843472,2954843487,GB
+2954843488,2954843519,DE
+2954843520,2954843535,PL
+2954843536,2954843595,FR
+2954843596,2954843599,DE
+2954843600,2954843603,IT
+2954843604,2954843607,PL
+2954843608,2954843631,FR
+2954843632,2954843639,CH
+2954843640,2954843643,IE
+2954843644,2954843647,CZ
+2954843648,2954843711,PL
+2954843712,2954843715,FR
+2954843716,2954843719,GB
+2954843720,2954843723,BE
+2954843724,2954843727,CZ
+2954843728,2954843839,FR
+2954843840,2954843871,DE
+2954843872,2954843887,PL
+2954843888,2954843895,BE
+2954843896,2954843899,PT
+2954843900,2954843903,ES
+2954843904,2954844031,FR
+2954844032,2954844063,DE
+2954844064,2954844095,BE
+2954844096,2954844127,IT
+2954844128,2954844143,FR
+2954844144,2954844147,NL
+2954844148,2954844151,FR
+2954844152,2954844155,DE
+2954844156,2954844175,FR
+2954844176,2954844179,DE
+2954844180,2954844183,NL
+2954844184,2954844187,GB
+2954844188,2954844191,ES
+2954844192,2954844223,IE
+2954844224,2954844263,FR
+2954844264,2954844267,DE
+2954844268,2954844271,NL
+2954844272,2954844275,FR
+2954844276,2954844279,GB
+2954844280,2954844287,PT
+2954844288,2954844351,PL
+2954844352,2954844447,FR
+2954844448,2954844455,CH
+2954844456,2954844463,NL
+2954844464,2954844467,ES
+2954844468,2954844471,PL
+2954844472,2954844479,NL
+2954844480,2954844483,DE
+2954844484,2954844487,GB
+2954844488,2954844495,FR
+2954844496,2954844499,CZ
+2954844500,2954844503,PL
+2954844504,2954844507,IE
+2954844508,2954844511,DE
+2954844512,2954844543,FR
+2954844544,2954844575,PL
+2954844576,2954844591,DE
+2954844592,2954844599,ES
+2954844600,2954844607,NL
+2954844608,2954844671,PL
+2954844672,2954844687,FR
+2954844688,2954844703,CH
+2954844704,2954844707,DE
+2954844708,2954844711,PL
+2954844712,2954844719,PT
+2954844720,2954844723,ES
+2954844724,2954844731,FR
+2954844732,2954844735,IE
+2954844736,2954844767,GB
+2954844768,2954844927,FR
+2954844928,2954844931,PT
+2954844932,2954844943,FR
+2954844944,2954844947,GB
+2954844948,2954844951,IT
+2954844952,2954844959,IE
+2954844960,2954844967,ES
+2954844968,2954844971,BE
+2954844972,2954844995,PL
+2954844996,2954844999,FR
+2954845000,2954845003,NL
+2954845004,2954845023,FR
+2954845024,2954845039,IE
+2954845040,2954845047,IT
+2954845048,2954845055,FI
+2954845056,2954845059,PT
+2954845060,2954845063,FR
+2954845064,2954845067,PL
+2954845068,2954845071,FR
+2954845072,2954845079,IE
+2954845080,2954845083,DE
+2954845084,2954845087,FR
+2954845088,2954845091,FI
+2954845092,2954845095,ES
+2954845096,2954845099,IT
+2954845100,2954845103,ES
+2954845104,2954845111,IE
+2954845112,2954845119,NL
+2954845120,2954845135,PL
+2954845136,2954845147,FR
+2954845148,2954845151,GB
+2954845152,2954845159,PL
+2954845160,2954845167,GB
+2954845168,2954845183,BE
+2954845184,2954845199,PL
+2954845200,2954845207,NL
+2954845208,2954845211,ES
+2954845212,2954845215,CH
+2954845216,2954845223,FR
+2954845224,2954845231,NL
+2954845232,2954845239,DE
+2954845240,2954845247,NL
+2954845248,2954845263,CH
+2954845264,2954845279,PL
+2954845280,2954845283,CZ
+2954845284,2954845287,FR
+2954845288,2954845291,GB
+2954845292,2954845295,ES
+2954845296,2954845299,IT
+2954845300,2954845303,ES
+2954845304,2954845311,PL
+2954845312,2954845315,CH
+2954845316,2954845319,BE
+2954845320,2954845327,LT
+2954845328,2954845343,FR
+2954845344,2954845359,FI
+2954845360,2954845363,FR
+2954845364,2954845367,ES
+2954845368,2954845371,NL
+2954845372,2954845375,DE
+2954845376,2954845407,PL
+2954845408,2954845439,FR
+2954845440,2954845695,GB
+2954845696,2954845951,IT
+2954845952,2954845967,ES
+2954845968,2954845999,FR
+2954846000,2954846015,PT
+2954846016,2954846047,FR
+2954846048,2954846051,CZ
+2954846052,2954846055,CH
+2954846056,2954846059,FR
+2954846060,2954846063,GB
+2954846064,2954846079,NL
+2954846080,2954846111,DE
+2954846112,2954846119,FR
+2954846120,2954846123,IE
+2954846124,2954846127,NL
+2954846128,2954846135,FR
+2954846136,2954846139,DE
+2954846140,2954846143,GB
+2954846144,2954846191,FR
+2954846192,2954846207,FI
+2954846208,2954854403,FR
2954854404,2954854407,IT
2954854408,2954854411,FR
2954854412,2954854415,PL
2954854416,2954854431,GB
2954854432,2954854495,FR
-2954854496,2954854527,ES
+2954854496,2954854511,GB
+2954854512,2954854527,ES
2954854528,2954854619,FR
-2954854620,2954854623,IT
-2954854624,2954854895,FR
+2954854620,2954854623,ES
+2954854624,2954854655,FR
+2954854656,2954854659,PL
+2954854660,2954854663,GB
+2954854664,2954854667,FI
+2954854668,2954854691,FR
+2954854692,2954854695,IT
+2954854696,2954854699,PL
+2954854700,2954854703,ES
+2954854704,2954854711,FR
+2954854712,2954854719,DE
+2954854720,2954854783,ES
+2954854784,2954854799,FR
+2954854800,2954854815,FI
+2954854816,2954854847,FR
+2954854848,2954854851,PL
+2954854852,2954854855,GB
+2954854856,2954854867,FR
+2954854868,2954854871,GB
+2954854872,2954854879,ES
+2954854880,2954854895,FR
2954854896,2954854903,PL
-2954854904,2954855039,FR
-2954855040,2954855043,ES
-2954855044,2954855047,FR
+2954854904,2954854919,FR
+2954854920,2954854927,PL
+2954854928,2954854943,FI
+2954854944,2954855007,FR
+2954855008,2954855023,IT
+2954855024,2954855027,GB
+2954855028,2954855031,PL
+2954855032,2954855039,GB
+2954855040,2954855043,FR
+2954855044,2954855047,IE
2954855048,2954855051,PL
2954855052,2954855055,ES
-2954855056,2954855059,PL
+2954855056,2954855059,FR
2954855060,2954855063,ES
2954855064,2954855067,BE
2954855068,2954855071,ES
@@ -70998,48 +88197,421 @@
2954855088,2954855103,FR
2954855104,2954855167,IE
2954855168,2954855199,GB
-2954855200,2954855231,IE
-2954855232,2954855295,FR
+2954855200,2954855207,FR
+2954855208,2954855211,NL
+2954855212,2954855215,CH
+2954855216,2954855295,FR
2954855296,2954855359,BE
2954855360,2954855439,FR
2954855440,2954855455,LT
2954855456,2954855479,FR
2954855480,2954855487,IT
-2954855488,2954855527,GB
+2954855488,2954855519,GB
+2954855520,2954855523,FR
+2954855524,2954855527,DE
2954855528,2954855535,PT
2954855536,2954855551,FR
2954855552,2954855567,GB
2954855568,2954855571,FR
-2954855572,2954855575,PT
-2954855576,2954855583,DE
+2954855572,2954855575,BE
+2954855576,2954855579,FR
+2954855580,2954855583,IT
2954855584,2954855615,FR
-2954855616,2954855619,DE
+2954855616,2954855619,PL
2954855620,2954855623,FR
2954855624,2954855627,IT
-2954855628,2954855631,GB
-2954855632,2954855639,FI
+2954855628,2954855635,GB
+2954855636,2954855639,FR
2954855640,2954855643,PL
2954855644,2954855655,GB
2954855656,2954855659,CH
-2954855660,2954855663,FR
+2954855660,2954855663,DE
2954855664,2954855679,ES
-2954855680,2954870783,FR
+2954855680,2954855695,NL
+2954855696,2954855703,FR
+2954855704,2954855707,ES
+2954855708,2954855711,GB
+2954855712,2954855743,PL
+2954855744,2954855807,FR
+2954855808,2954855871,IE
+2954855872,2954855879,FR
+2954855880,2954855887,ES
+2954855888,2954855903,FR
+2954855904,2954855919,PL
+2954855920,2954855999,FR
+2954856000,2954856071,PL
+2954856072,2954856079,FR
+2954856080,2954856083,DE
+2954856084,2954856087,FR
+2954856088,2954856095,ES
+2954856096,2954856167,FR
+2954856168,2954856175,ES
+2954856176,2954856187,PL
+2954856188,2954856447,FR
+2954856448,2954856511,ES
+2954856512,2954856551,FR
+2954856552,2954856555,ES
+2954856556,2954856559,BE
+2954856560,2954856563,ES
+2954856564,2954856567,LT
+2954856568,2954856571,FR
+2954856572,2954856575,PL
+2954856576,2954856583,ES
+2954856584,2954856587,FR
+2954856588,2954856591,ES
+2954856592,2954856607,PL
+2954856608,2954856611,BE
+2954856612,2954856615,FR
+2954856616,2954856619,ES
+2954856620,2954856623,GB
+2954856624,2954856627,IT
+2954856628,2954856631,FR
+2954856632,2954856635,GB
+2954856636,2954856639,DE
+2954856640,2954856671,IT
+2954856672,2954856675,FR
+2954856676,2954856679,ES
+2954856680,2954856683,FR
+2954856684,2954856687,ES
+2954856688,2954856691,BE
+2954856692,2954856699,FR
+2954856700,2954856959,PL
+2954856960,2954856975,FR
+2954856976,2954856979,PL
+2954856980,2954856983,IE
+2954856984,2954856987,GB
+2954856988,2954856991,FR
+2954856992,2954856995,PL
+2954856996,2954856999,ES
+2954857000,2954857007,PL
+2954857008,2954857087,FR
+2954857088,2954857091,PL
+2954857092,2954857095,CZ
+2954857096,2954857099,PL
+2954857100,2954857107,GB
+2954857108,2954857111,FR
+2954857112,2954857115,PL
+2954857116,2954857119,IE
+2954857120,2954857135,PT
+2954857136,2954857143,LT
+2954857144,2954857151,FR
+2954857152,2954857215,IE
+2954857216,2954857343,GB
+2954857344,2954857351,ES
+2954857352,2954857355,PT
+2954857356,2954857359,IT
+2954857360,2954857367,FR
+2954857368,2954857375,PT
+2954857376,2954857383,PL
+2954857384,2954857407,GB
+2954857408,2954857423,CH
+2954857424,2954857431,GB
+2954857432,2954857435,IT
+2954857436,2954857439,PL
+2954857440,2954857471,PT
+2954857472,2954857503,FR
+2954857504,2954857519,IT
+2954857520,2954857523,FR
+2954857524,2954857527,DE
+2954857528,2954857531,GB
+2954857532,2954857535,NL
+2954857536,2954857551,CH
+2954857552,2954857567,IT
+2954857568,2954857571,PL
+2954857572,2954857575,PT
+2954857576,2954857583,FR
+2954857584,2954857599,ES
+2954857600,2954857663,IE
+2954857664,2954857695,FR
+2954857696,2954857699,IE
+2954857700,2954857703,ES
+2954857704,2954857707,PL
+2954857708,2954857711,ES
+2954857712,2954857727,IE
+2954857728,2954857751,FR
+2954857752,2954857755,ES
+2954857756,2954857759,PL
+2954857760,2954857823,FR
+2954857824,2954857855,ES
+2954857856,2954857983,IE
+2954857984,2954857999,IT
+2954858000,2954858015,FR
+2954858016,2954858023,PL
+2954858024,2954858027,ES
+2954858028,2954858031,IT
+2954858032,2954858035,DE
+2954858036,2954858039,PL
+2954858040,2954858043,FR
+2954858044,2954858047,PT
+2954858048,2954858051,ES
+2954858052,2954858059,FR
+2954858060,2954858063,PL
+2954858064,2954858079,IE
+2954858080,2954858095,NL
+2954858096,2954858111,ES
+2954858112,2954858143,DE
+2954858144,2954858175,ES
+2954858176,2954858191,PL
+2954858192,2954858207,GB
+2954858208,2954858239,IT
+2954858240,2954858271,NL
+2954858272,2954858303,GB
+2954858304,2954858335,DE
+2954858336,2954858351,IE
+2954858352,2954858383,PL
+2954858384,2954858415,FR
+2954858416,2954858423,ES
+2954858424,2954858427,DE
+2954858428,2954858431,IE
+2954858432,2954858439,GB
+2954858440,2954858443,FR
+2954858444,2954858447,GB
+2954858448,2954858463,IT
+2954858464,2954858479,FR
+2954858480,2954858483,NL
+2954858484,2954858487,DE
+2954858488,2954858491,IT
+2954858492,2954858495,NL
+2954858496,2954858751,ES
+2954858752,2954858815,IE
+2954858816,2954858819,ES
+2954858820,2954858823,FR
+2954858824,2954858831,GB
+2954858832,2954858847,IE
+2954858848,2954858863,FR
+2954858864,2954858871,ES
+2954858872,2954858895,FR
+2954858896,2954858911,ES
+2954858912,2954858943,DE
+2954858944,2954858975,ES
+2954858976,2954858991,FR
+2954858992,2954859007,GB
+2954859008,2954859023,FR
+2954859024,2954859027,IT
+2954859028,2954859031,PT
+2954859032,2954859043,FR
+2954859044,2954859047,DE
+2954859048,2954859071,FR
+2954859072,2954859079,PL
+2954859080,2954859087,FR
+2954859088,2954859103,BE
+2954859104,2954859123,FR
+2954859124,2954859127,NL
+2954859128,2954859131,GB
+2954859132,2954859135,BE
+2954859136,2954859235,FR
+2954859236,2954859239,DE
+2954859240,2954859243,ES
+2954859244,2954859247,PL
+2954859248,2954859267,FR
+2954859268,2954859271,ES
+2954859272,2954859275,PL
+2954859276,2954859279,ES
+2954859280,2954859311,FR
+2954859312,2954859315,ES
+2954859316,2954859323,FR
+2954859324,2954859327,CZ
+2954859328,2954859343,GB
+2954859344,2954859391,FR
+2954859392,2954859423,IT
+2954859424,2954859455,GB
+2954859456,2954859487,NL
+2954859488,2954859495,FR
+2954859496,2954859503,IT
+2954859504,2954859519,GB
+2954859520,2954859551,DE
+2954859552,2954859559,FR
+2954859560,2954859575,IT
+2954859576,2954859583,DE
+2954859584,2954859647,FR
+2954859648,2954859655,ES
+2954859656,2954859663,NL
+2954859664,2954859679,FR
+2954859680,2954859695,CH
+2954859696,2954859703,FR
+2954859704,2954859707,GB
+2954859708,2954859711,DE
+2954859712,2954859775,FR
+2954859776,2954859807,PL
+2954859808,2954859839,GB
+2954859840,2954859903,FR
+2954859904,2954859935,DE
+2954859936,2954859951,FR
+2954859952,2954859955,PL
+2954859956,2954859959,GB
+2954859960,2954859963,ES
+2954859964,2954860031,PL
+2954860032,2954860063,DE
+2954860064,2954860095,FR
+2954860096,2954860103,GB
+2954860104,2954860111,FR
+2954860112,2954860127,GB
+2954860128,2954860131,ES
+2954860132,2954860135,FR
+2954860136,2954860151,PL
+2954860152,2954860167,IE
+2954860168,2954860171,PL
+2954860172,2954860175,IE
+2954860176,2954860183,DE
+2954860184,2954860187,FR
+2954860188,2954860191,ES
+2954860192,2954860223,FR
+2954860224,2954860231,BE
+2954860232,2954860243,NL
+2954860244,2954860247,ES
+2954860248,2954860255,FR
+2954860256,2954860271,IE
+2954860272,2954860275,GB
+2954860276,2954860319,FR
+2954860320,2954860327,DE
+2954860328,2954860335,FR
+2954860336,2954860351,CH
+2954860352,2954860415,FR
+2954860416,2954860423,PL
+2954860424,2954860427,FR
+2954860428,2954860431,IE
+2954860432,2954860439,FR
+2954860440,2954860443,IT
+2954860444,2954860447,FI
+2954860448,2954860479,PT
+2954860480,2954860483,GB
+2954860484,2954860487,FR
+2954860488,2954860491,GB
+2954860492,2954860535,FR
+2954860536,2954860539,GB
+2954860540,2954860543,ES
+2954860544,2954860799,CZ
+2954860800,2954860863,IE
+2954860864,2954861067,FR
+2954861068,2954861071,GB
+2954861072,2954861087,FR
+2954861088,2954861119,CH
+2954861120,2954861143,FR
+2954861144,2954861147,DE
+2954861148,2954861151,FR
+2954861152,2954861159,GB
+2954861160,2954861183,FR
+2954861184,2954861191,IT
+2954861192,2954861195,FR
+2954861196,2954861199,CZ
+2954861200,2954861215,GB
+2954861216,2954861231,FR
+2954861232,2954861239,PL
+2954861240,2954861247,FR
+2954861248,2954861311,PL
+2954861312,2954861323,FR
+2954861324,2954861327,IT
+2954861328,2954861343,NL
+2954861344,2954861359,FR
+2954861360,2954861363,IE
+2954861364,2954861367,FR
+2954861368,2954861371,ES
+2954861372,2954861375,PT
+2954861376,2954861407,DE
+2954861408,2954861423,FR
+2954861424,2954861431,CH
+2954861432,2954861439,GB
+2954861440,2954861571,FR
+2954861572,2954861575,GB
+2954861576,2954861623,FR
+2954861624,2954861631,IT
+2954861632,2954861635,NL
+2954861636,2954861639,GB
+2954861640,2954861647,PL
+2954861648,2954861655,GB
+2954861656,2954861663,FR
+2954861664,2954861671,ES
+2954861672,2954861675,NL
+2954861676,2954861687,PL
+2954861688,2954861691,GB
+2954861692,2954861695,ES
+2954861696,2954861763,GB
+2954861764,2954861767,PL
+2954861768,2954861775,FR
+2954861776,2954861779,PT
+2954861780,2954861783,DE
+2954861784,2954861787,FR
+2954861788,2954861791,PL
+2954861792,2954861823,GB
+2954861824,2954861827,PL
+2954861828,2954861831,GB
+2954861832,2954861835,DE
+2954861836,2954861839,PL
+2954861840,2954861843,GB
+2954861844,2954861847,PL
+2954861848,2954861863,FR
+2954861864,2954861867,NL
+2954861868,2954861871,FR
+2954861872,2954861887,IE
+2954861888,2954861919,PT
+2954861920,2954861923,PL
+2954861924,2954861927,ES
+2954861928,2954861935,FR
+2954861936,2954861943,DE
+2954861944,2954861955,FR
+2954861956,2954861967,GB
+2954861968,2954861975,ES
+2954861976,2954861983,DE
+2954861984,2954862015,GB
+2954862016,2954862047,FR
+2954862048,2954862063,IT
+2954862064,2954862079,FI
+2954862080,2954862143,FR
+2954862144,2954862207,ES
+2954862208,2954862211,PL
+2954862212,2954862215,PT
+2954862216,2954862219,FR
+2954862220,2954862223,DE
+2954862224,2954862239,FR
+2954862240,2954862247,IT
+2954862248,2954862251,DE
+2954862252,2954862255,CZ
+2954862256,2954862271,FR
+2954862272,2954862303,FI
+2954862304,2954862335,FR
+2954862336,2954862367,PL
+2954862368,2954862371,FR
+2954862372,2954862375,CH
+2954862376,2954862399,FR
+2954862400,2954862415,GB
+2954862416,2954862431,DE
+2954862432,2954862463,FR
+2954862464,2954862467,GB
+2954862468,2954862471,NL
+2954862472,2954862479,DE
+2954862480,2954862483,ES
+2954862484,2954862487,FR
+2954862488,2954862495,IT
+2954862496,2954862511,ES
+2954862512,2954862515,DE
+2954862516,2954862519,PT
+2954862520,2954862523,ES
+2954862524,2954862527,IT
+2954862528,2954862559,FR
+2954862560,2954862567,ES
+2954862568,2954862571,GB
+2954862572,2954862587,FR
+2954862588,2954862591,ES
+2954862592,2954870783,FR
2954870784,2954870787,DE
-2954870788,2954870799,GB
+2954870788,2954870791,GB
+2954870792,2954870795,FR
+2954870796,2954870799,PL
2954870800,2954870831,FR
2954870832,2954870835,PL
2954870836,2954870839,GB
2954870840,2954870843,DE
-2954870844,2954870847,GB
+2954870844,2954870847,FR
2954870848,2954870863,PL
-2954870864,2954870871,FR
-2954870872,2954870875,ES
+2954870864,2954870867,GB
+2954870868,2954870875,ES
2954870876,2954870879,PL
2954870880,2954870895,IE
2954870896,2954870903,FR
2954870904,2954870907,PL
2954870908,2954870911,ES
-2954870912,2954871583,FR
+2954870912,2954871551,FR
+2954871552,2954871583,DE
2954871584,2954871599,GB
2954871600,2954871603,FR
2954871604,2954871607,PL
@@ -71050,14 +88622,14 @@
2954871636,2954871639,ES
2954871640,2954871643,FR
2954871644,2954871647,IT
-2954871648,2954871663,FR
-2954871664,2954871671,IE
-2954871672,2954871695,FR
+2954871648,2954871671,FR
+2954871672,2954871675,GB
+2954871676,2954871695,FR
2954871696,2954871703,DE
2954871704,2954871707,CH
-2954871708,2954871711,IT
+2954871708,2954871711,GB
2954871712,2954871807,FR
-2954871808,2954871823,NL
+2954871808,2954871823,ES
2954871824,2954871831,FR
2954871832,2954871839,PL
2954871840,2954871887,FR
@@ -71072,7 +88644,8 @@
2954871948,2954871951,DE
2954871952,2954871955,ES
2954871956,2954871959,PT
-2954871960,2954871967,FR
+2954871960,2954871963,IE
+2954871964,2954871967,FR
2954871968,2954871999,PL
2954872000,2954872323,FR
2954872324,2954872327,PL
@@ -71080,9 +88653,20 @@
2954872336,2954872351,FR
2954872352,2954872383,DE
2954872384,2954872415,GB
-2954872416,2954872419,DE
+2954872416,2954872419,ES
2954872420,2954872435,PL
-2954872436,2954872587,FR
+2954872436,2954872439,ES
+2954872440,2954872479,PL
+2954872480,2954872543,DE
+2954872544,2954872547,FR
+2954872548,2954872551,CH
+2954872552,2954872555,GB
+2954872556,2954872559,CZ
+2954872560,2954872563,DE
+2954872564,2954872567,FR
+2954872568,2954872571,IE
+2954872572,2954872583,FR
+2954872584,2954872587,FI
2954872588,2954872591,DE
2954872592,2954872607,IT
2954872608,2954872639,FR
@@ -71109,14 +88693,18 @@
2954873632,2954873635,NL
2954873636,2954873639,PL
2954873640,2954873647,FR
-2954873648,2954873663,GB
-2954873664,2954873695,FR
+2954873648,2954873663,PL
+2954873664,2954873679,IT
+2954873680,2954873695,FR
2954873696,2954873727,ES
2954873728,2954873759,FR
2954873760,2954873791,DE
2954873792,2954873799,FR
-2954873800,2954873807,GB
-2954873808,2954873831,FR
+2954873800,2954873803,PL
+2954873804,2954873807,NL
+2954873808,2954873815,DE
+2954873816,2954873819,FI
+2954873820,2954873831,FR
2954873832,2954873835,IT
2954873836,2954873839,PL
2954873840,2954873847,IT
@@ -71124,12 +88712,13 @@
2954873852,2954873855,PL
2954873856,2954874111,GB
2954874112,2954874367,FR
-2954874368,2954874371,BE
-2954874372,2954874375,GB
-2954874376,2954874387,FR
+2954874368,2954874375,ES
+2954874376,2954874379,FR
+2954874380,2954874383,PL
+2954874384,2954874387,FR
2954874388,2954874391,PL
2954874392,2954874415,IE
-2954874416,2954874419,NL
+2954874416,2954874419,GB
2954874420,2954874423,FR
2954874424,2954874427,GB
2954874428,2954874431,ES
@@ -71140,31 +88729,37 @@
2954874592,2954874623,PT
2954874624,2954874627,BE
2954874628,2954874631,FR
-2954874632,2954874639,GB
+2954874632,2954874639,PL
2954874640,2954874647,ES
2954874648,2954874651,FR
2954874652,2954874655,PL
2954874656,2954874671,FR
2954874672,2954874675,PL
-2954874676,2954874679,GB
+2954874676,2954874679,CZ
2954874680,2954874687,FR
2954874688,2954874719,IE
2954874720,2954874751,FI
2954874752,2954874799,IE
2954874800,2954874815,GB
-2954874816,2954874827,FR
+2954874816,2954874819,DE
+2954874820,2954874823,ES
+2954874824,2954874827,FR
2954874828,2954874831,PL
2954874832,2954874855,FR
-2954874856,2954874859,GB
+2954874856,2954874859,DE
2954874860,2954874863,LT
-2954874864,2954874919,FR
+2954874864,2954874867,FR
+2954874868,2954874871,PL
+2954874872,2954874911,FR
+2954874912,2954874919,GB
2954874920,2954874923,PL
-2954874924,2954874927,GB
+2954874924,2954874927,FR
2954874928,2954874943,PL
2954874944,2954874975,IE
2954874976,2954874979,PL
2954874980,2954874983,DE
-2954874984,2954874991,GB
+2954874984,2954874987,GB
+2954874988,2954874991,PL
2954874992,2954875007,IE
2954875008,2954875039,FR
2954875040,2954875047,PL
@@ -71175,30 +88770,34 @@
2954875068,2954875071,FI
2954875072,2954875075,NL
2954875076,2954875079,GB
-2954875080,2954875099,FR
+2954875080,2954875095,FR
+2954875096,2954875099,GB
2954875100,2954875103,PL
-2954875104,2954875199,FR
+2954875104,2954875183,FR
+2954875184,2954875191,GB
+2954875192,2954875199,FR
2954875200,2954875203,PL
2954875204,2954875207,DE
2954875208,2954875215,NL
2954875216,2954875231,FR
-2954875232,2954875263,ES
+2954875232,2954875247,ES
+2954875248,2954875263,PL
2954875264,2954875295,FR
2954875296,2954875311,PL
-2954875312,2954875319,FR
-2954875320,2954875327,FI
+2954875312,2954875327,FR
2954875328,2954875359,PL
-2954875360,2954875367,NL
-2954875368,2954875375,DE
-2954875376,2954875383,FR
-2954875384,2954875391,DE
-2954875392,2954875455,ES
-2954875456,2954875463,GB
+2954875360,2954875375,FR
+2954875376,2954875379,PT
+2954875380,2954875383,FI
+2954875384,2954875391,GB
+2954875392,2954875463,ES
2954875464,2954875467,NL
2954875468,2954875471,GB
-2954875472,2954875487,FR
+2954875472,2954875475,NL
+2954875476,2954875483,DE
+2954875484,2954875487,ES
2954875488,2954875491,LT
-2954875492,2954875495,GB
+2954875492,2954875495,ES
2954875496,2954875503,IT
2954875504,2954875519,FR
2954875520,2954875543,PL
@@ -71224,12 +88823,13 @@
2954875776,2954875903,PT
2954875904,2954875907,IT
2954875908,2954875911,CH
-2954875912,2954875935,FR
+2954875912,2954875919,ES
+2954875920,2954875935,FR
2954875936,2954875951,PL
2954875952,2954875999,IE
2954876000,2954876031,GB
2954876032,2954876039,IT
-2954876040,2954876043,PT
+2954876040,2954876043,FR
2954876044,2954876047,GB
2954876048,2954876051,ES
2954876052,2954876055,NL
@@ -71239,14 +88839,11 @@
2954876080,2954876095,PL
2954876096,2954876111,FR
2954876112,2954876119,IE
-2954876120,2954876123,CZ
+2954876120,2954876123,FR
2954876124,2954876127,NL
2954876128,2954876147,FR
2954876148,2954876151,BE
-2954876152,2954876159,FR
-2954876160,2954876167,FI
-2954876168,2954876175,NL
-2954876176,2954876191,FR
+2954876152,2954876191,FR
2954876192,2954876223,PT
2954876224,2954876231,FR
2954876232,2954876235,PL
@@ -71278,72 +88875,81 @@
2954876728,2954876731,PL
2954876732,2954876735,DE
2954876736,2954876767,IT
-2954876768,2954876783,GB
-2954876784,2954876795,FR
+2954876768,2954876795,FR
2954876796,2954876799,DE
2954876800,2954876863,IE
2954876864,2954876895,DE
-2954876896,2954876903,GB
+2954876896,2954876899,GB
+2954876900,2954876903,IT
2954876904,2954876959,FR
2954876960,2954876975,DE
2954876976,2954876983,PL
2954876984,2954876987,FR
-2954876988,2954876991,CH
+2954876988,2954876991,ES
2954876992,2954877007,PL
2954877008,2954877023,CZ
2954877024,2954877027,ES
2954877028,2954877031,PL
2954877032,2954877035,FR
2954877036,2954877039,GB
-2954877040,2954877059,FR
+2954877040,2954877055,FR
+2954877056,2954877059,PL
2954877060,2954877063,GB
2954877064,2954877071,DE
2954877072,2954877087,CH
-2954877088,2954877119,GB
+2954877088,2954877103,DE
+2954877104,2954877107,PL
+2954877108,2954877119,FR
2954877120,2954877151,ES
2954877152,2954877159,NL
2954877160,2954877163,PL
-2954877164,2954877167,FR
+2954877164,2954877167,FI
2954877168,2954877183,DE
2954877184,2954877455,FR
-2954877456,2954877459,PL
+2954877456,2954877459,PT
2954877460,2954877463,FR
2954877464,2954877471,DE
2954877472,2954877503,FR
2954877504,2954877519,ES
2954877520,2954877523,BE
2954877524,2954877527,ES
-2954877528,2954877535,FI
+2954877528,2954877535,PT
2954877536,2954877539,PL
2954877540,2954877547,FR
2954877548,2954877551,PL
2954877552,2954877583,FR
-2954877584,2954877595,DE
+2954877584,2954877587,FI
+2954877588,2954877591,IT
+2954877592,2954877595,DE
2954877596,2954877599,PT
2954877600,2954877615,PL
2954877616,2954877631,NL
-2954877632,2954877663,FR
+2954877632,2954877651,FR
+2954877652,2954877655,CZ
+2954877656,2954877663,FR
2954877664,2954877667,GB
2954877668,2954877671,PL
2954877672,2954877675,FR
2954877676,2954877679,PL
2954877680,2954877727,FR
2954877728,2954877743,IE
-2954877744,2954877775,FR
-2954877776,2954877779,IT
-2954877780,2954877783,FR
+2954877744,2954877779,FR
+2954877780,2954877783,A1
2954877784,2954877791,IT
-2954877792,2954877815,FR
-2954877816,2954877819,GB
+2954877792,2954877811,FR
+2954877812,2954877815,IE
+2954877816,2954877819,FR
2954877820,2954877823,PL
2954877824,2954877963,FR
2954877964,2954877967,DE
2954877968,2954877983,PT
2954877984,2954877991,LT
-2954877992,2954877999,PL
+2954877992,2954877995,ES
+2954877996,2954877999,PL
2954878000,2954878007,FR
2954878008,2954878011,IT
-2954878012,2954878031,GB
+2954878012,2954878015,GB
+2954878016,2954878031,FR
2954878032,2954878035,NL
2954878036,2954878039,FR
2954878040,2954878047,PL
@@ -71363,7 +88969,7 @@
2954878512,2954878559,IE
2954878560,2954878575,FR
2954878576,2954878579,GB
-2954878580,2954878583,DE
+2954878580,2954878583,NL
2954878584,2954878591,GB
2954878592,2954878607,BE
2954878608,2954878623,FI
@@ -71382,15 +88988,20 @@
2954878768,2954878783,FR
2954878784,2954878847,IE
2954878848,2954878855,FR
-2954878856,2954878863,DE
-2954878864,2954878879,IT
-2954878880,2954878883,DE
+2954878856,2954878863,IE
+2954878864,2954878867,BE
+2954878868,2954878871,FI
+2954878872,2954878875,PL
+2954878876,2954878879,IE
+2954878880,2954878883,ES
2954878884,2954878887,PL
2954878888,2954878891,FR
2954878892,2954878895,GB
2954878896,2954878899,DE
2954878900,2954878903,GB
-2954878904,2954878915,FR
+2954878904,2954878907,NL
+2954878908,2954878911,PL
+2954878912,2954878915,DE
2954878916,2954878919,PL
2954878920,2954878931,FR
2954878932,2954878939,GB
@@ -71406,262 +89017,29 @@
2954905600,2954907647,IE
2954907648,2954909695,GB
2954909696,2954911743,DE
-2954911744,2954919935,IE
+2954911744,2954918911,IE
+2954918912,2954919423,NL
+2954919424,2954919935,EU
2954919936,2954928127,RU
2954928128,2954932223,PL
2954932224,2954936319,RU
2954936320,2954938367,AM
2954938368,2954940415,HU
-2954940416,2954940423,DE
-2954940424,2954940443,GR
-2954940444,2954940445,DE
-2954940446,2954940481,GR
-2954940482,2954940489,PL
-2954940490,2954940535,DE
-2954940536,2954940539,RO
-2954940540,2954940658,DE
-2954940659,2954940662,PL
-2954940663,2954940664,DE
-2954940665,2954940670,PL
-2954940671,2954940927,DE
-2954940928,2954940931,RO
-2954940932,2954940935,DE
-2954940936,2954940939,TR
-2954940940,2954940943,DE
-2954940944,2954940947,TR
-2954940948,2954940963,DE
-2954940964,2954940967,TR
-2954940968,2954940987,DE
-2954940988,2954940991,TR
-2954940992,2954941011,DE
-2954941012,2954941015,TR
-2954941016,2954941035,DE
-2954941036,2954941039,TR
-2954941040,2954941047,DE
-2954941048,2954941051,RO
-2954941052,2954941063,DE
-2954941064,2954941071,TR
-2954941072,2954941091,DE
-2954941092,2954941095,TR
-2954941096,2954941115,DE
-2954941116,2954941119,TR
-2954941120,2954941139,DE
-2954941140,2954941143,TR
-2954941144,2954941147,DE
-2954941148,2954941151,GR
-2954941152,2954941163,DE
-2954941164,2954941167,TR
-2954941168,2954941171,DE
-2954941172,2954941175,TR
-2954941176,2954941187,DE
-2954941188,2954941191,TR
-2954941192,2954941193,DE
-2954941194,2954941197,GR
-2954941198,2954941209,DE
-2954941210,2954941213,TR
-2954941214,2954941219,DE
-2954941220,2954941223,TR
-2954941224,2954941243,DE
-2954941244,2954941247,TR
-2954941248,2954941267,DE
-2954941268,2954941271,TR
-2954941272,2954941291,DE
-2954941292,2954941295,TR
-2954941296,2954941314,DE
-2954941315,2954941318,RO
-2954941319,2954941319,DE
-2954941320,2954941323,TR
-2954941324,2954941330,DE
-2954941331,2954941334,TR
-2954941335,2954941413,DE
-2954941414,2954941417,GR
-2954941418,2954941429,DE
-2954941430,2954941433,TR
-2954941434,2954941447,DE
-2954941448,2954941451,RO
-2954941452,2954941463,DE
-2954941464,2954941467,TR
-2954941468,2954941547,DE
-2954941548,2954941551,GR
-2954941552,2954941563,DE
-2954941564,2954941567,TR
-2954941568,2954941647,DE
-2954941648,2954941651,GR
-2954941652,2954941663,DE
-2954941664,2954941667,TR
-2954941668,2954941703,DE
-2954941704,2954941707,GR
-2954941708,2954941719,DE
-2954941720,2954941723,TR
-2954941724,2954941727,GR
-2954941728,2954941739,DE
-2954941740,2954941743,TR
-2954941744,2954941803,DE
-2954941804,2954941807,GR
-2954941808,2954941819,DE
-2954941820,2954941823,TR
-2954941824,2954941873,DE
-2954941874,2954941877,RO
-2954941878,2954941889,DE
-2954941890,2954941893,TR
-2954941894,2954941903,DE
-2954941904,2954941907,RO
-2954941908,2954941919,DE
-2954941920,2954941923,TR
-2954941924,2954941935,DE
-2954941936,2954941939,RO
-2954941940,2954941951,DE
-2954941952,2954941955,GR
-2954941956,2954941961,DE
-2954941962,2954941965,ES
-2954941966,2954941967,DE
-2954941968,2954941971,TR
-2954941972,2954942041,DE
-2954942042,2954942045,GR
-2954942046,2954942057,DE
-2954942058,2954942058,TR
-2954942059,2954942108,DE
-2954942109,2954942112,ES
-2954942113,2954942151,DE
-2954942152,2954942155,RO
-2954942156,2954942167,DE
-2954942168,2954942171,TR
-2954942172,2954942191,DE
-2954942192,2954942195,TR
-2954942196,2954942227,DE
-2954942228,2954942231,RO
-2954942232,2954942243,DE
-2954942244,2954942247,TR
-2954942248,2954942347,DE
-2954942348,2954942351,GR
-2954942352,2954942363,DE
-2954942364,2954942367,TR
-2954942368,2954942427,DE
-2954942428,2954942431,TR
-2954942432,2954942441,DE
-2954942442,2954942445,TR
-2954942446,2954942457,DE
-2954942458,2954942461,RO
-2954942462,2954942471,DE
-2954942472,2954942475,GR
-2954942476,2954942479,DE
-2954942480,2954942483,ES
-2954942484,2954942487,DE
-2954942488,2954942491,TR
-2954942492,2954942563,DE
-2954942564,2954942567,TR
-2954942568,2954942571,DE
-2954942572,2954942575,RO
-2954942576,2954942587,DE
-2954942588,2954942591,TR
-2954942592,2954942654,DE
-2954942655,2954942658,ES
-2954942659,2954942671,DE
-2954942672,2954942675,GR
-2954942676,2954942687,DE
-2954942688,2954942691,TR
-2954942692,2954942719,DE
-2954942720,2954942723,TR
-2954942724,2954942727,DE
-2954942728,2954942731,RO
-2954942732,2954942743,DE
-2954942744,2954942747,TR
-2954942748,2954942839,DE
-2954942840,2954942843,FR
-2954942844,2954942847,TR
-2954942848,2954942851,FR
-2954942852,2954942871,GB
-2954942872,2954942875,FR
-2954942876,2954942943,DE
-2954942944,2954942947,TR
-2954942948,2954942979,DE
-2954942980,2954942983,TR
-2954942984,2954943003,DE
-2954943004,2954943007,TR
-2954943008,2954943027,DE
-2954943028,2954943031,TR
-2954943032,2954943051,DE
-2954943052,2954943055,TR
-2954943056,2954943075,DE
-2954943076,2954943079,TR
-2954943080,2954943099,DE
-2954943100,2954943103,TR
-2954943104,2954943123,DE
-2954943124,2954943127,TR
-2954943128,2954943146,DE
-2954943147,2954943150,TR
-2954943151,2954943170,DE
-2954943171,2954943174,TR
-2954943175,2954943194,DE
-2954943195,2954943198,TR
-2954943199,2954943218,DE
-2954943219,2954943222,TR
-2954943223,2954943235,DE
-2954943236,2954943239,TR
-2954943240,2954943259,DE
-2954943260,2954943263,TR
-2954943264,2954943283,DE
-2954943284,2954943287,TR
-2954943288,2954943307,DE
-2954943308,2954943311,TR
-2954943312,2954943331,DE
-2954943332,2954943335,TR
-2954943336,2954943355,DE
-2954943356,2954943359,TR
-2954943360,2954943379,DE
-2954943380,2954943383,TR
-2954943384,2954943403,DE
-2954943404,2954943407,TR
-2954943408,2954943427,DE
-2954943428,2954943431,TR
-2954943432,2954943451,DE
-2954943452,2954943455,TR
-2954943456,2954943475,DE
-2954943476,2954943479,TR
-2954943480,2954943491,DE
-2954943492,2954943495,TR
-2954943496,2954943515,DE
-2954943516,2954943519,TR
-2954943520,2954943539,DE
-2954943540,2954943543,TR
-2954943544,2954943547,DE
-2954943548,2954943563,GB
-2954943564,2954943567,TR
-2954943568,2954943583,GB
-2954943584,2954943587,DE
-2954943588,2954943591,TR
-2954943592,2954943603,GB
-2954943604,2954943611,FR
-2954943612,2954943615,TR
-2954943616,2954943623,FR
-2954943624,2954943635,DE
-2954943636,2954943639,TR
-2954943640,2954943659,DE
-2954943660,2954943663,TR
-2954943664,2954943683,DE
-2954943684,2954943687,TR
-2954943688,2954943707,DE
-2954943708,2954943711,TR
-2954943712,2954943731,DE
-2954943732,2954943735,TR
-2954943736,2954943743,DE
-2954943744,2954943823,GB
-2954943824,2954943903,DE
-2954943904,2954943943,FR
-2954943944,2954943999,DE
-2954944000,2954944007,RO
-2954944008,2954944511,DE
+2954940416,2954944511,DE
2954944512,2954946559,GB
-2954946560,2954948607,DE
+2954946560,2954948095,DE
+2954948096,2954948351,NL
+2954948352,2954948607,DE
2954948608,2954950655,RU
2954950656,2954952703,ES
2954952704,2955018239,TR
2955018240,2955026431,FR
-2955026432,2955051007,IE
-2955051008,2955055103,NL
-2955055104,2955069439,IE
+2955026432,2955034623,NL
+2955034624,2955051007,IE
+2955051008,2955067391,NL
+2955067392,2955069439,IE
2955069440,2955071487,NL
-2955071488,2955073535,IE
+2955071488,2955073535,EU
2955073536,2955075583,FR
2955075584,2955083775,NL
2955083776,2955149311,GB
@@ -71684,7 +89062,11 @@
2956255232,2956259327,FR
2956259328,2956261375,DE
2956261376,2956263423,ES
-2956263424,2956296191,TR
+2956263424,2956279039,TR
+2956279040,2956279295,BG
+2956279296,2956293631,TR
+2956293632,2956293887,SY
+2956293888,2956296191,TR
2956296192,2956328959,RU
2956328960,2956460031,TR
2956460032,2956468223,RU
@@ -71695,13 +89077,21 @@
2956476416,2956492799,ES
2956492800,2956496895,CH
2956496896,2956500991,IR
-2956500992,2956507135,RU
+2956500992,2956503039,NL
+2956503040,2956504831,RU
+2956504832,2956505087,GB
+2956505088,2956506111,NL
+2956506112,2956506623,GB
+2956506624,2956506879,RU
+2956506880,2956507135,DE
2956507136,2956508159,NL
2956508160,2956508415,RU
2956508416,2956508671,FR
2956508672,2956509183,NL
2956509184,2956517375,GB
-2956517376,2956521471,NL
+2956517376,2956518095,NL
+2956518096,2956518111,FI
+2956518112,2956521471,NL
2956521472,2956525567,SE
2956525568,2956533759,JO
2956533760,2956535807,FR
@@ -71721,6 +89111,7 @@
2956587008,2956589055,FR
2956589056,2956593151,GB
2956593152,2956595199,ES
+2956595200,2956597247,PL
2956597248,2956599295,NL
2956599296,2956607487,RU
2956607488,2956611583,PS
@@ -71735,12 +89126,17 @@
2956722176,2956787711,BY
2956787712,2956820479,IE
2956820480,2956822527,NL
-2956822528,2956823551,SE
+2956822528,2956823039,SE
+2956823040,2956823168,GB
+2956823169,2956823551,SE
2956823552,2956824575,US
2956824576,2956826623,PT
2956826624,2956827647,US
2956827648,2956828671,DK
-2956828672,2956836863,AT
+2956828672,2956828958,BA
+2956828959,2956828959,AT
+2956828960,2956831743,BA
+2956831744,2956836863,AT
2956836864,2956853247,SK
2956853248,2956865535,HR
2956865536,2956869631,IT
@@ -71749,8 +89145,10 @@
2956888064,2956890111,BE
2956890112,2956892159,IR
2956892160,2956894207,IT
-2956894208,2956896255,BE
-2956896256,2956898303,NL
+2956894208,2956897279,BE
+2956897280,2956897535,NL
+2956897536,2956898047,BE
+2956898048,2956898303,NL
2956898304,2956902399,RU
2956902400,2956904447,NL
2956904448,2956906495,DK
@@ -71766,15 +89164,19 @@
2957068288,2957070335,LU
2957070336,2957074431,IT
2957074432,2957082623,RU
-2957082624,2957105912,DE
-2957105913,2957105918,AT
-2957105919,2957106168,DE
+2957082624,2957093887,DE
+2957093888,2957096959,CH
+2957096960,2957103615,DE
+2957103616,2957106168,GB
2957106169,2957106174,AT
-2957106175,2957106424,DE
+2957106175,2957106175,DE
+2957106176,2957106424,GB
2957106425,2957106430,AT
-2957106431,2957106680,DE
+2957106431,2957106431,DE
+2957106432,2957106680,GB
2957106681,2957106686,AT
-2957106687,2957106936,DE
+2957106687,2957106687,DE
+2957106688,2957106936,GB
2957106937,2957106942,AT
2957106943,2957107192,DE
2957107193,2957107198,AT
@@ -71958,7 +89360,8 @@
2957203120,2957203123,US
2957203124,2957203127,MT
2957203128,2957203131,RS
-2957203132,2957203199,US
+2957203132,2957203196,GB
+2957203197,2957203199,US
2957203200,2957203203,AU
2957203204,2957203207,US
2957203208,2957203211,SE
@@ -71967,7 +89370,8 @@
2957203220,2957203223,CH
2957203224,2957203227,DE
2957203228,2957203231,PL
-2957203232,2957203455,US
+2957203232,2957203263,GB
+2957203264,2957203455,US
2957203456,2957205503,FR
2957205504,2957213695,PS
2957213696,2957221887,FR
@@ -72003,7 +89407,7 @@
2957901824,2958032895,PT
2958032896,2958557183,ES
2958557184,2958819327,TR
-2958819328,2958884863,CY
+2958819328,2958884863,GR
2958884864,2958950399,FI
2958950400,2959081471,DE
2959081472,2959089663,RU
@@ -72034,9 +89438,149 @@
2959175680,2959179775,UA
2959179776,2959181823,RU
2959181824,2959183871,PL
-2959183872,2959185919,RO
+2959183872,2959187967,RO
2959187968,2959204351,RU
2959204352,2959208447,RO
+2959208448,2959210495,CZ
+2959210496,2959212543,PL
+2959212544,2959220735,UA
+2959220736,2959224831,RO
+2959224832,2959226879,UA
+2959226880,2959228927,RO
+2959228928,2959237119,UA
+2959237120,2959241215,CZ
+2959241216,2959245311,PL
+2959245312,2959253503,RU
+2959253504,2959255551,DE
+2959255552,2959261695,RU
+2959261696,2959278079,KZ
+2959343616,2959351807,UA
+2959351808,2959353855,DE
+2959353856,2959355903,RU
+2959355904,2959357951,RO
+2959357952,2959359999,UA
+2959360000,2959384575,RU
+2959384576,2959392767,UA
+2959392768,2959394815,PL
+2959394816,2959398911,ES
+2959398912,2959400959,RU
+2959400960,2959405055,ES
+2959405056,2959409151,RU
+2959409152,2959413247,UA
+2959413248,2959417343,ES
+2959417344,2959423487,IR
+2959423488,2959427583,RU
+2959427584,2959429631,ES
+2959429632,2959431679,PL
+2959431680,2959433727,RU
+2959433728,2959441919,UA
+2959441920,2959446015,PL
+2959446016,2959450111,CZ
+2959450112,2959452159,PL
+2959452160,2959454207,RO
+2959454208,2959456255,SK
+2959456256,2959466495,UA
+2959466496,2959474687,RU
+2959491072,2959493119,NL
+2959493120,2959495167,CZ
+2959495168,2959499263,PL
+2959499264,2959505407,SK
+2959505408,2959507455,RO
+2959507456,2959515647,CZ
+2959515648,2959517695,RU
+2959517696,2959519743,DE
+2959519744,2959523839,PL
+2959523840,2959532031,UA
+2959532032,2959540223,IR
+2959540224,2959548415,UA
+2959548416,2959552511,PL
+2959552512,2959558655,UA
+2959558656,2959560703,PL
+2959560704,2959568895,RU
+2959568896,2959570943,UA
+2959570944,2959572991,RO
+2959572992,2959581183,RU
+2959581184,2959585279,PL
+2959585280,2959591423,LV
+2959591424,2959595519,UA
+2959595520,2959597567,RS
+2959597568,2959601663,UA
+2959601664,2959603711,RO
+2959603712,2959605759,IT
+2959605760,2959632383,UA
+2959632384,2959634431,RS
+2959634432,2959636479,PL
+2959636480,2959648767,RU
+2959648768,2959650815,UA
+2959650816,2959652863,PL
+2959652864,2959654911,UA
+2959654912,2959663103,RU
+2959663104,2959704063,UA
+2959704064,2959708159,PL
+2959708160,2959712255,RO
+2959712256,2959728639,UA
+2959728640,2959736831,RO
+2959736832,2959738879,UA
+2959738880,2959745023,RU
+2959745024,2959747071,PL
+2959747072,2959749119,PS
+2959749120,2959753215,LV
+2959753216,2959761407,RU
+2959761408,2959763455,LV
+2959763456,2959765503,PL
+2959765504,2959767551,RU
+2959767552,2959769599,RS
+2959773696,2959777791,RU
+2959777792,2959783935,LV
+2959783936,2959785983,SK
+2959785984,2959794175,UA
+2959794176,2959796223,IL
+2959796224,2959804415,RU
+2959804416,2959806463,RO
+2959806464,2959810559,SK
+2959810560,2959814655,PL
+2959814656,2959818751,RU
+2959818752,2959822847,RO
+2959822848,2959824895,RU
+2959824896,2959826943,UA
+2959826944,2959828991,RU
+2959828992,2959833087,PL
+2959833088,2959835135,CZ
+2959835136,2959843327,UA
+2959843328,2959845375,RU
+2959845376,2959847423,PL
+2959847424,2959853567,UA
+2959853568,2959867903,RU
+2959867904,2959876095,UA
+2959876096,2959880191,RS
+2959880192,2959882239,RU
+2959882240,2959884287,BA
+2959884288,2959892479,KZ
+2959892480,2959900671,UA
+2959900672,2959902719,PL
+2959902720,2959915007,RU
+2959915008,2959917055,UA
+2959917056,2959925247,RU
+2959927296,2959929343,UA
+2959929344,2959935487,RU
+2959935488,2959937535,UA
+2959937536,2959945727,RU
+2959945728,2959947775,PL
+2959947776,2959949823,CZ
+2959949824,2959966207,RU
+2959966208,2959968255,PL
+2959968256,2959970303,RS
+2959970304,2959974399,RU
+2959974400,2959976447,PL
+2959976448,2959998975,UA
+2959998976,2960031743,NO
+2960031744,2960035839,RU
+2960035840,2960039935,PL
+2960039936,2960054271,RU
+2960054272,2960056319,RO
+2960056320,2960064511,RU
+2960064512,2960066559,RO
+2960066560,2960068607,RU
2961178624,2965372927,FR
2965372928,2965766143,RU
2965766144,2965897215,DE
@@ -72045,7 +89589,90 @@
2966159360,2966290431,AE
2966290432,2966421503,IT
2966421504,2966945791,RU
-2969567232,2977955839,BR
+2966945792,2967273471,TR
+2967273472,2967277567,RU
+2967277568,2967281663,IR
+2967281664,2967283711,PT
+2967283712,2967285759,DE
+2967285760,2967287807,UA
+2967287808,2967289855,GB
+2967289856,2967291903,IR
+2967291904,2967293951,RS
+2967293952,2967295999,SE
+2967296000,2967298047,NO
+2967298048,2967306239,PL
+2967306240,2967339007,GE
+2967339008,2967343103,BG
+2967343104,2967345151,RU
+2967345152,2967347199,ES
+2967347200,2967351295,HR
+2967351296,2967355391,FR
+2967355392,2967371775,RO
+2967371776,2967388159,KZ
+2967388160,2967392255,RU
+2967392256,2967394303,FR
+2967394304,2967396351,RU
+2967396352,2967398399,CZ
+2967398400,2967400447,DK
+2967400448,2967404543,RU
+2967404544,2967441407,RO
+2967441408,2967445503,MD
+2967445504,2967470079,RO
+2967470080,2967601151,SA
+2967601152,2967633919,HU
+2967633920,2967666687,RU
+2967666688,2967699455,TR
+2967699456,2967703551,GB
+2967703552,2967707647,ES
+2967707648,2967709695,PL
+2967709696,2967711743,IT
+2967711744,2967715839,RU
+2967715840,2967724031,GB
+2967724032,2967728127,CY
+2967728128,2967730175,GB
+2967730176,2967732223,CZ
+2967732224,2967994367,IL
+2967994368,2968584191,TR
+2968584192,2968600575,HU
+2968600576,2968602623,IQ
+2968602624,2968604671,PL
+2968604672,2968608767,IQ
+2968608768,2968610815,RU
+2968610816,2968612863,UA
+2968612864,2968614911,IL
+2968614912,2968616959,FR
+2968616960,2968625151,UA
+2968625152,2968629247,DE
+2968629248,2968631295,LB
+2968631296,2968633343,SA
+2968633344,2968643583,RU
+2968643584,2968645631,NO
+2968645632,2968647679,PL
+2968647680,2968647728,FR
+2968647729,2968647743,GB
+2968647744,2968647808,FR
+2968647809,2968647935,GB
+2968647936,2968647984,FR
+2968647985,2968647999,GB
+2968648000,2968648064,FR
+2968648065,2968648191,GB
+2968648192,2968648223,FR
+2968648224,2968648255,CH
+2968648256,2968648287,GB
+2968648288,2968648319,BE
+2968648320,2968648351,NL
+2968648352,2968648384,LU
+2968648385,2968648447,GB
+2968648448,2968648479,FR
+2968648480,2968648511,CH
+2968648512,2968648543,GB
+2968648544,2968648575,BE
+2968648576,2968648607,NL
+2968648608,2968648640,LU
+2968648641,2968649727,GB
+2968649728,2969042943,IT
+2969042944,2969567231,GB
+2969567232,2986344447,BR
2986344448,2987393023,DE
2987393024,2987397119,IM
2987397120,2987401215,LV
@@ -72063,12 +89690,10 @@
2987433336,2987433339,KZ
2987433340,2987433347,RU
2987433348,2987433359,KZ
-2987433360,2987433375,RU
-2987433376,2987433379,KZ
+2987433360,2987433367,RU
+2987433368,2987433379,KZ
2987433380,2987433383,RU
-2987433384,2987433391,KZ
-2987433392,2987433407,RU
-2987433408,2987433471,KZ
+2987433384,2987433471,KZ
2987433472,2987433983,RU
2987433984,2987438079,FR
2987438080,2987442175,FI
@@ -72101,8 +89726,15 @@
2987544576,2987548671,NL
2987548672,2987552767,RU
2987552768,2987556863,GB
-2987556864,2987560959,NL
-2987560960,2987565055,DE
+2987556864,2987557247,NL
+2987557248,2987557279,BE
+2987557280,2987557312,NL
+2987557313,2987557375,BE
+2987557376,2987560959,NL
+2987560960,2987562239,DE
+2987562240,2987562263,CY
+2987562264,2987562275,SE
+2987562276,2987565055,DE
2987565056,2987569151,AT
2987569152,2987573247,FR
2987573248,2987577343,TR
@@ -72121,7 +89753,9 @@
2987585872,2987585879,MX
2987585880,2987585887,BR
2987585888,2987585895,PL
-2987585896,2987589119,DE
+2987585896,2987587135,DE
+2987587136,2987587143,CN
+2987587144,2987589119,DE
2987589120,2987589631,US
2987589632,2987593727,FR
2987593728,2987597823,LT
@@ -72272,12 +89906,9 @@
2988179456,2988441599,SE
2988441600,2988441603,CH
2988441604,2988441607,GB
-2988441608,2988441611,DE
-2988441612,2988441615,CH
+2988441608,2988441615,CH
2988441616,2988441647,FR
-2988441648,2988441651,GB
-2988441652,2988441655,FR
-2988441656,2988441663,DE
+2988441648,2988441663,DE
2988441664,2988441695,IT
2988441696,2988441791,FR
2988441792,2988441807,PL
@@ -72302,23 +89933,35 @@
2988441972,2988441975,CH
2988441976,2988441979,DE
2988441980,2988441983,IT
-2988441984,2988441991,FR
+2988441984,2988441991,GB
2988441992,2988441995,ES
2988441996,2988441999,PT
-2988442000,2988442003,FR
+2988442000,2988442003,PL
2988442004,2988442007,ES
2988442008,2988442047,FR
2988442048,2988442063,GB
2988442064,2988442067,FR
2988442068,2988442071,BE
2988442072,2988442075,FR
-2988442076,2988442079,GB
-2988442080,2988442399,FR
-2988442400,2988442431,ES
+2988442076,2988442083,GB
+2988442084,2988442087,DE
+2988442088,2988442095,FR
+2988442096,2988442099,IT
+2988442100,2988442431,FR
2988442432,2988442439,CZ
2988442440,2988442447,ES
2988442448,2988442463,GB
-2988442464,2988442623,FR
+2988442464,2988442495,FR
+2988442496,2988442503,PL
+2988442504,2988442507,FR
+2988442508,2988442511,GB
+2988442512,2988442519,ES
+2988442520,2988442527,DE
+2988442528,2988442559,FR
+2988442560,2988442583,PL
+2988442584,2988442587,FR
+2988442588,2988442591,ES
+2988442592,2988442623,DE
2988442624,2988442647,PL
2988442648,2988442651,DE
2988442652,2988442655,GB
@@ -72335,7 +89978,7 @@
2988442912,2988442915,NL
2988442916,2988442919,IT
2988442920,2988442923,LT
-2988442924,2988442927,GB
+2988442924,2988442927,IE
2988442928,2988442975,FR
2988442976,2988442995,GB
2988442996,2988442999,IE
@@ -72372,7 +90015,9 @@
2988443924,2988443927,PL
2988443928,2988444167,FR
2988444168,2988444171,CZ
-2988444172,2988444199,FR
+2988444172,2988444175,FR
+2988444176,2988444191,PT
+2988444192,2988444199,FR
2988444200,2988444203,FI
2988444204,2988444207,NL
2988444208,2988444415,FR
@@ -72386,7 +90031,7 @@
2988444740,2988444755,BE
2988444756,2988444759,DE
2988444760,2988444767,IE
-2988444768,2988444771,DE
+2988444768,2988444771,PT
2988444772,2988444775,GB
2988444776,2988444783,CZ
2988444784,2988444799,FR
@@ -72394,7 +90039,9 @@
2988444928,2988444931,PL
2988444932,2988444943,DE
2988444944,2988444967,PL
-2988444968,2988444999,FR
+2988444968,2988444975,FR
+2988444976,2988444991,IE
+2988444992,2988444999,FR
2988445000,2988445007,PL
2988445008,2988445023,FR
2988445024,2988445027,PL
@@ -72414,7 +90061,9 @@
2988445984,2988446207,DE
2988446208,2988446271,PL
2988446272,2988446275,IT
-2988446276,2988446291,FR
+2988446276,2988446279,FR
+2988446280,2988446287,BE
+2988446288,2988446291,FR
2988446292,2988446295,ES
2988446296,2988446299,GB
2988446300,2988446307,FR
@@ -72436,7 +90085,7 @@
2988447944,2988447947,GB
2988447948,2988447959,FR
2988447960,2988447967,IT
-2988447968,2988447999,GB
+2988447968,2988447999,BE
2988448000,2988448127,DE
2988448128,2988448255,ES
2988448256,2988448511,DE
@@ -72452,29 +90101,34 @@
2988448608,2988448639,ES
2988448640,2988448671,GB
2988448672,2988448691,IT
-2988448692,2988448695,DE
-2988448696,2988448699,IT
-2988448700,2988448703,LT
+2988448692,2988448699,DE
+2988448700,2988448703,NL
2988448704,2988448767,GB
2988448768,2988448783,FR
2988448784,2988448815,PL
2988448816,2988448831,ES
2988448832,2988448895,FR
-2988448896,2988448899,PT
-2988448900,2988448903,PL
+2988448896,2988448903,IE
2988448904,2988448907,ES
2988448908,2988449007,FR
2988449008,2988449023,GB
2988449024,2988449055,PL
-2988449056,2988449087,ES
+2988449056,2988449087,FR
2988449088,2988449103,PL
2988449104,2988449119,DE
2988449120,2988449123,FR
2988449124,2988449127,DE
2988449128,2988449135,ES
2988449136,2988449151,FR
-2988449152,2988449279,PL
-2988449280,2988449535,GB
+2988449152,2988449167,PL
+2988449168,2988449175,GB
+2988449176,2988449183,FR
+2988449184,2988449199,PL
+2988449200,2988449203,FR
+2988449204,2988449207,PL
+2988449208,2988449215,ES
+2988449216,2988449247,FR
+2988449248,2988449535,GB
2988449536,2988449579,FR
2988449580,2988449583,PL
2988449584,2988449631,FR
@@ -72507,9 +90161,12 @@
2988458272,2988458275,GB
2988458276,2988458279,FI
2988458280,2988458283,ES
-2988458284,2988458295,FR
+2988458284,2988458287,FR
+2988458288,2988458291,BE
+2988458292,2988458295,DE
2988458296,2988458299,GB
-2988458300,2988458319,ES
+2988458300,2988458303,ES
+2988458304,2988458319,FR
2988458320,2988458323,CZ
2988458324,2988458331,FR
2988458332,2988458335,GB
@@ -72523,7 +90180,7 @@
2988458764,2988458767,ES
2988458768,2988459007,FR
2988459008,2988459015,PL
-2988459016,2988459019,DE
+2988459016,2988459019,FR
2988459020,2988459023,GB
2988459024,2988459039,IE
2988459040,2988459051,FR
@@ -72546,7 +90203,7 @@
2988459184,2988459199,PL
2988459200,2988459223,FR
2988459224,2988459231,DE
-2988459232,2988459235,FR
+2988459232,2988459235,GB
2988459236,2988459239,PL
2988459240,2988459243,FR
2988459244,2988459247,ES
@@ -72564,7 +90221,10 @@
2988459584,2988459599,ES
2988459600,2988459603,GB
2988459604,2988459615,FR
-2988459616,2988459631,CZ
+2988459616,2988459619,CZ
+2988459620,2988459623,IE
+2988459624,2988459627,NL
+2988459628,2988459631,IT
2988459632,2988459639,FR
2988459640,2988459643,IT
2988459644,2988459647,CH
@@ -72578,7 +90238,7 @@
2988459716,2988459719,FR
2988459720,2988459727,DE
2988459728,2988459731,FR
-2988459732,2988459735,BE
+2988459732,2988459735,ES
2988459736,2988459743,PL
2988459744,2988459747,ES
2988459748,2988459751,PL
@@ -72587,7 +90247,8 @@
2988459768,2988459771,NL
2988459772,2988459775,GB
2988459776,2988459839,FR
-2988459840,2988459859,GB
+2988459840,2988459855,IT
+2988459856,2988459859,GB
2988459860,2988459863,FR
2988459864,2988459871,ES
2988459872,2988459895,PL
@@ -72645,10 +90306,19 @@
2988460864,2988460927,FR
2988460928,2988460931,ES
2988460932,2988460943,PL
-2988460944,2988460959,DE
+2988460944,2988460959,ES
2988460960,2988460991,GB
-2988460992,2988461055,FR
-2988461056,2988461103,PL
+2988460992,2988460999,NL
+2988461000,2988461003,FR
+2988461004,2988461007,NL
+2988461008,2988461011,FR
+2988461012,2988461015,PL
+2988461016,2988461023,FR
+2988461024,2988461027,NL
+2988461028,2988461035,ES
+2988461036,2988461055,FR
+2988461056,2988461087,PL
+2988461088,2988461103,DE
2988461104,2988461255,FR
2988461256,2988461259,IT
2988461260,2988461263,PT
@@ -72679,20 +90349,20 @@
2988461496,2988461499,ES
2988461500,2988461503,PT
2988461504,2988461519,PL
-2988461520,2988461523,GB
+2988461520,2988461523,DE
2988461524,2988461559,FR
2988461560,2988461567,GB
2988461568,2988461583,FR
-2988461584,2988461587,ES
-2988461588,2988461591,GB
-2988461592,2988461595,ES
+2988461584,2988461587,PL
+2988461588,2988461591,IE
+2988461592,2988461595,IT
2988461596,2988461599,GB
-2988461600,2988461615,BE
+2988461600,2988461615,FR
2988461616,2988461623,IT
2988461624,2988461695,FR
2988461696,2988461699,DE
2988461700,2988461703,PL
-2988461704,2988461707,FR
+2988461704,2988461707,GB
2988461708,2988461711,BE
2988461712,2988461719,FR
2988461720,2988461723,DE
@@ -72704,15 +90374,14 @@
2988461752,2988461755,FR
2988461756,2988461759,NL
2988461760,2988461791,PL
-2988461792,2988461799,IT
-2988461800,2988461811,DE
+2988461792,2988461811,DE
2988461812,2988461815,FR
2988461816,2988461819,PL
2988461820,2988461823,GB
2988461824,2988461839,PL
2988461840,2988461851,FR
-2988461852,2988461859,PL
-2988461860,2988461871,DE
+2988461852,2988461855,PL
+2988461856,2988461871,DE
2988461872,2988461879,FR
2988461880,2988461883,ES
2988461884,2988461887,PL
@@ -72722,7 +90391,9 @@
2988461916,2988461919,NL
2988461920,2988461935,FR
2988461936,2988461951,GB
-2988461952,2988462087,PL
+2988461952,2988462079,PL
+2988462080,2988462083,GB
+2988462084,2988462087,PL
2988462088,2988462091,IT
2988462092,2988462095,PL
2988462096,2988462119,FR
@@ -72743,7 +90414,7 @@
2988462304,2988462307,DE
2988462308,2988462311,NL
2988462312,2988462319,FR
-2988462320,2988462323,IT
+2988462320,2988462323,PL
2988462324,2988462327,DE
2988462328,2988462331,GB
2988462332,2988462335,FR
@@ -72811,7 +90482,8 @@
2988463652,2988463659,GB
2988463660,2988463663,FR
2988463664,2988463679,PL
-2988463680,2988463743,FR
+2988463680,2988463711,DE
+2988463712,2988463743,FR
2988463744,2988463747,BE
2988463748,2988463759,FR
2988463760,2988463775,DE
@@ -72824,8 +90496,7 @@
2988463836,2988463839,FR
2988463840,2988463871,PL
2988463872,2988463907,FR
-2988463908,2988463911,PL
-2988463912,2988463915,FR
+2988463908,2988463915,PL
2988463916,2988463919,GB
2988463920,2988463939,FR
2988463940,2988463943,DE
@@ -72847,7 +90518,9 @@
2988464276,2988464279,PL
2988464280,2988464283,FR
2988464284,2988464287,PL
-2988464288,2988464303,FR
+2988464288,2988464295,FR
+2988464296,2988464299,DE
+2988464300,2988464303,GB
2988464304,2988464307,IT
2988464308,2988464311,PL
2988464312,2988464351,FR
@@ -72859,7 +90532,7 @@
2988464528,2988464543,DE
2988464544,2988464551,FR
2988464552,2988464555,IT
-2988464556,2988464559,DE
+2988464556,2988464559,NL
2988464560,2988464575,ES
2988464576,2988464591,GB
2988464592,2988464607,FR
@@ -72878,10 +90551,10 @@
2988464816,2988464819,FR
2988464820,2988464823,GB
2988464824,2988464827,ES
-2988464828,2988464831,GB
-2988464832,2988464895,ES
+2988464828,2988464831,PL
+2988464832,2988464895,FR
2988464896,2988464911,PL
-2988464912,2988464915,CH
+2988464912,2988464915,NL
2988464916,2988464919,DE
2988464920,2988464923,FI
2988464924,2988464927,FR
@@ -72894,7 +90567,10 @@
2988464964,2988464967,LT
2988464968,2988464971,PT
2988464972,2988464975,PL
-2988464976,2988465235,FR
+2988464976,2988465215,FR
+2988465216,2988465219,ES
+2988465220,2988465223,IE
+2988465224,2988465235,FR
2988465236,2988465239,ES
2988465240,2988465279,FR
2988465280,2988465295,DE
@@ -72910,8 +90586,8 @@
2988465404,2988465407,DE
2988465408,2988465423,CH
2988465424,2988465439,PT
-2988465440,2988465471,GB
-2988465472,2988465479,FR
+2988465440,2988465455,GB
+2988465456,2988465479,FR
2988465480,2988465483,NL
2988465484,2988465503,FR
2988465504,2988465507,DE
@@ -72939,7 +90615,8 @@
2988465620,2988465623,ES
2988465624,2988465631,FR
2988465632,2988465647,IT
-2988465648,2988465663,CZ
+2988465648,2988465655,CZ
+2988465656,2988465663,GB
2988465664,2988466047,FR
2988466048,2988466111,PL
2988466112,2988466115,FR
@@ -72950,7 +90627,282 @@
2988466144,2988466159,NL
2988466160,2988476415,FR
2988476416,2988478463,IT
-2988478464,2988482559,FR
+2988478464,2988478487,FR
+2988478488,2988478491,NL
+2988478492,2988478495,GB
+2988478496,2988478499,IT
+2988478500,2988478503,ES
+2988478504,2988478507,FR
+2988478508,2988478511,LT
+2988478512,2988478535,FR
+2988478536,2988478543,IT
+2988478544,2988478559,NL
+2988478560,2988478563,ES
+2988478564,2988478567,CZ
+2988478568,2988478571,PT
+2988478572,2988478575,FR
+2988478576,2988478579,PL
+2988478580,2988478583,DE
+2988478584,2988478587,ES
+2988478588,2988478591,DE
+2988478592,2988478623,FR
+2988478624,2988478639,GB
+2988478640,2988478643,DE
+2988478644,2988478647,CZ
+2988478648,2988478655,BE
+2988478656,2988478671,DE
+2988478672,2988478683,FR
+2988478684,2988478687,CZ
+2988478688,2988478751,FR
+2988478752,2988478783,GB
+2988478784,2988478787,CH
+2988478788,2988478791,PL
+2988478792,2988478795,FR
+2988478796,2988478799,DE
+2988478800,2988478803,NL
+2988478804,2988478807,PL
+2988478808,2988478811,DE
+2988478812,2988478815,GB
+2988478816,2988478847,PL
+2988478848,2988478855,DE
+2988478856,2988478859,LT
+2988478860,2988478863,PL
+2988478864,2988478867,CZ
+2988478868,2988478871,DE
+2988478872,2988478879,IT
+2988478880,2988478911,IE
+2988478912,2988478943,IT
+2988478944,2988478947,FR
+2988478948,2988478951,GB
+2988478952,2988478955,ES
+2988478956,2988478959,DE
+2988478960,2988478975,NL
+2988478976,2988478979,DE
+2988478980,2988478983,PL
+2988478984,2988478995,DE
+2988478996,2988478999,IE
+2988479000,2988479003,GB
+2988479004,2988479007,PL
+2988479008,2988479055,FR
+2988479056,2988479071,PL
+2988479072,2988479079,FR
+2988479080,2988479087,DE
+2988479088,2988479103,FR
+2988479104,2988479107,PL
+2988479108,2988479119,FR
+2988479120,2988479135,PT
+2988479136,2988479247,FR
+2988479248,2988479251,ES
+2988479252,2988479255,FR
+2988479256,2988479259,PL
+2988479260,2988479311,FR
+2988479312,2988479315,PT
+2988479316,2988479319,IT
+2988479320,2988479323,GB
+2988479324,2988479327,IT
+2988479328,2988479359,GB
+2988479360,2988479391,FR
+2988479392,2988479407,IE
+2988479408,2988479423,IT
+2988479424,2988479439,ES
+2988479440,2988479447,NL
+2988479448,2988479451,GB
+2988479452,2988479503,FR
+2988479504,2988479519,ES
+2988479520,2988479551,FR
+2988479552,2988479555,DE
+2988479556,2988479559,FR
+2988479560,2988479563,FI
+2988479564,2988479575,FR
+2988479576,2988479579,GB
+2988479580,2988479583,PT
+2988479584,2988479599,ES
+2988479600,2988479603,FR
+2988479604,2988479607,GB
+2988479608,2988479743,FR
+2988479744,2988479747,NL
+2988479748,2988479751,FR
+2988479752,2988479755,GB
+2988479756,2988479783,FR
+2988479784,2988479787,GB
+2988479788,2988479791,ES
+2988479792,2988479807,GB
+2988479808,2988479839,BE
+2988479840,2988479855,FR
+2988479856,2988479863,PL
+2988479864,2988479871,FR
+2988479872,2988479999,BE
+2988480000,2988480003,DE
+2988480004,2988480007,GB
+2988480008,2988480011,NL
+2988480012,2988480015,GB
+2988480016,2988480031,CH
+2988480032,2988480047,IE
+2988480048,2988480143,FR
+2988480144,2988480147,GB
+2988480148,2988480159,FR
+2988480160,2988480175,IE
+2988480176,2988480191,GB
+2988480192,2988480207,IT
+2988480208,2988480223,FR
+2988480224,2988480227,IT
+2988480228,2988480231,LT
+2988480232,2988480235,FR
+2988480236,2988480239,IT
+2988480240,2988480263,FR
+2988480264,2988480267,NL
+2988480268,2988480271,FR
+2988480272,2988480275,IE
+2988480276,2988480279,ES
+2988480280,2988480283,GB
+2988480284,2988480287,PL
+2988480288,2988480383,FR
+2988480384,2988480415,PL
+2988480416,2988480431,DE
+2988480432,2988480439,FR
+2988480440,2988480443,NL
+2988480444,2988480447,GB
+2988480448,2988480467,FR
+2988480468,2988480471,DE
+2988480472,2988480475,FR
+2988480476,2988480479,PT
+2988480480,2988480487,FR
+2988480488,2988480495,GB
+2988480496,2988480499,NL
+2988480500,2988480511,FR
+2988480512,2988480767,GB
+2988480768,2988480771,ES
+2988480772,2988480775,IT
+2988480776,2988480783,FR
+2988480784,2988480799,GB
+2988480800,2988480827,FR
+2988480828,2988480831,ES
+2988480832,2988480895,PL
+2988480896,2988480903,NL
+2988480904,2988480911,GB
+2988480912,2988480915,ES
+2988480916,2988480919,FR
+2988480920,2988480923,FI
+2988480924,2988480927,BE
+2988480928,2988480959,ES
+2988480960,2988480975,PL
+2988480976,2988480991,CH
+2988480992,2988481007,DE
+2988481008,2988481023,FI
+2988481024,2988481055,FR
+2988481056,2988481059,PL
+2988481060,2988481063,FI
+2988481064,2988481071,FR
+2988481072,2988481079,NL
+2988481080,2988481119,FR
+2988481120,2988481127,PL
+2988481128,2988481131,NL
+2988481132,2988481135,GB
+2988481136,2988481151,LT
+2988481152,2988481159,GB
+2988481160,2988481179,FR
+2988481180,2988481183,ES
+2988481184,2988481187,DE
+2988481188,2988481191,IT
+2988481192,2988481195,ES
+2988481196,2988481199,FR
+2988481200,2988481203,PL
+2988481204,2988481211,ES
+2988481212,2988481215,FR
+2988481216,2988481219,GB
+2988481220,2988481223,FR
+2988481224,2988481227,GB
+2988481228,2988481231,BE
+2988481232,2988481279,FR
+2988481280,2988481535,GB
+2988481536,2988481663,IE
+2988481664,2988481667,FR
+2988481668,2988481671,CH
+2988481672,2988481675,FR
+2988481676,2988481679,NL
+2988481680,2988481695,PL
+2988481696,2988481711,ES
+2988481712,2988481719,PL
+2988481720,2988481723,FR
+2988481724,2988481727,PL
+2988481728,2988481735,BE
+2988481736,2988481739,FR
+2988481740,2988481743,DE
+2988481744,2988481759,ES
+2988481760,2988481767,FR
+2988481768,2988481771,GB
+2988481772,2988481775,DE
+2988481776,2988481783,BE
+2988481784,2988481791,PL
+2988481792,2988481855,FR
+2988481856,2988481859,GB
+2988481860,2988481863,ES
+2988481864,2988481867,FR
+2988481868,2988481871,PL
+2988481872,2988481883,FR
+2988481884,2988481887,ES
+2988481888,2988481903,GB
+2988481904,2988481919,BE
+2988481920,2988481935,IT
+2988481936,2988481983,FR
+2988481984,2988481987,DE
+2988481988,2988481991,CZ
+2988481992,2988481995,FR
+2988481996,2988481999,DE
+2988482000,2988482007,ES
+2988482008,2988482015,DE
+2988482016,2988482023,IT
+2988482024,2988482031,GB
+2988482032,2988482043,FR
+2988482044,2988482079,PL
+2988482080,2988482095,BE
+2988482096,2988482099,GB
+2988482100,2988482103,FR
+2988482104,2988482111,GB
+2988482112,2988482115,DE
+2988482116,2988482119,ES
+2988482120,2988482123,NL
+2988482124,2988482127,CH
+2988482128,2988482131,IT
+2988482132,2988482135,ES
+2988482136,2988482139,FI
+2988482140,2988482143,PL
+2988482144,2988482159,CH
+2988482160,2988482163,ES
+2988482164,2988482167,PL
+2988482168,2988482175,ES
+2988482176,2988482191,CH
+2988482192,2988482195,ES
+2988482196,2988482199,NL
+2988482200,2988482203,CH
+2988482204,2988482207,LT
+2988482208,2988482235,FR
+2988482236,2988482239,GB
+2988482240,2988482255,ES
+2988482256,2988482287,FR
+2988482288,2988482291,DE
+2988482292,2988482295,PL
+2988482296,2988482307,FR
+2988482308,2988482319,PT
+2988482320,2988482335,IT
+2988482336,2988482351,ES
+2988482352,2988482367,FR
+2988482368,2988482399,ES
+2988482400,2988482415,GB
+2988482416,2988482431,ES
+2988482432,2988482447,FR
+2988482448,2988482455,CZ
+2988482456,2988482463,FR
+2988482464,2988482479,IE
+2988482480,2988482487,PL
+2988482488,2988482511,FR
+2988482512,2988482515,DE
+2988482516,2988482519,PL
+2988482520,2988482527,GB
+2988482528,2988482531,DE
+2988482532,2988482543,FR
+2988482544,2988482551,GB
+2988482552,2988482559,CH
2988482560,2988482567,ES
2988482568,2988482579,FR
2988482580,2988482591,ES
@@ -72960,7 +90912,10 @@
2988482640,2988482647,FR
2988482648,2988482651,CZ
2988482652,2988482655,GB
-2988482656,2988482763,FR
+2988482656,2988482687,FR
+2988482688,2988482695,ES
+2988482696,2988482699,NL
+2988482700,2988482763,FR
2988482764,2988482767,GB
2988482768,2988482775,PL
2988482776,2988482779,NL
@@ -72992,7 +90947,10 @@
2988482976,2988482979,DE
2988482980,2988482983,GB
2988482984,2988482987,DE
-2988482988,2988483091,FR
+2988482988,2988483031,FR
+2988483032,2988483035,DE
+2988483036,2988483039,LT
+2988483040,2988483091,FR
2988483092,2988483095,BE
2988483096,2988483099,FR
2988483100,2988483103,PL
@@ -73027,7 +90985,8 @@
2988483352,2988483359,FR
2988483360,2988483367,ES
2988483368,2988483375,PL
-2988483376,2988483383,ES
+2988483376,2988483379,GB
+2988483380,2988483383,PL
2988483384,2988483427,FR
2988483428,2988483431,BE
2988483432,2988483447,FR
@@ -73062,25 +91021,28 @@
2988484032,2988484039,IT
2988484040,2988484047,NL
2988484048,2988484051,ES
-2988484052,2988484055,GB
-2988484056,2988484063,FR
-2988484064,2988484095,GB
+2988484052,2988484095,GB
2988484096,2988484111,DE
2988484112,2988484127,FR
2988484128,2988484131,PT
2988484132,2988484135,PL
-2988484136,2988484143,NL
+2988484136,2988484139,FR
+2988484140,2988484143,ES
2988484144,2988484163,FR
2988484164,2988484167,PT
-2988484168,2988484191,ES
+2988484168,2988484175,ES
+2988484176,2988484187,FR
+2988484188,2988484191,PL
2988484192,2988484207,DE
2988484208,2988484223,FR
2988484224,2988484239,ES
-2988484240,2988484243,DE
+2988484240,2988484243,PL
2988484244,2988484287,FR
2988484288,2988484351,PL
2988484352,2988484383,GB
-2988484384,2988484399,PL
+2988484384,2988484391,CZ
+2988484392,2988484395,PT
+2988484396,2988484399,PL
2988484400,2988484403,PT
2988484404,2988484427,PL
2988484428,2988484431,GB
@@ -73088,7 +91050,8 @@
2988484440,2988484443,ES
2988484444,2988484447,FR
2988484448,2988484463,SN
-2988484464,2988484471,FR
+2988484464,2988484467,BE
+2988484468,2988484471,CH
2988484472,2988484475,PL
2988484476,2988484479,FR
2988484480,2988484511,PL
@@ -73150,11 +91113,11 @@
2988485592,2988485599,FR
2988485600,2988485607,PL
2988485608,2988485611,FR
-2988485612,2988485615,PL
-2988485616,2988485631,GB
+2988485612,2988485615,LT
+2988485616,2988485631,IE
2988485632,2988485663,ES
2988485664,2988485671,PL
-2988485672,2988485675,ES
+2988485672,2988485675,DE
2988485676,2988485683,FR
2988485684,2988485687,PL
2988485688,2988485691,GB
@@ -73173,11 +91136,12 @@
2988485840,2988485855,BE
2988485856,2988485871,FR
2988485872,2988485875,PL
-2988485876,2988485879,ES
+2988485876,2988485879,IE
2988485880,2988485887,FR
2988485888,2988485903,PL
2988485904,2988485911,GB
-2988485912,2988485951,FR
+2988485912,2988485919,PT
+2988485920,2988485951,FR
2988485952,2988485955,GB
2988485956,2988485959,CZ
2988485960,2988485967,FR
@@ -73193,12 +91157,15 @@
2988486076,2988486079,ES
2988486080,2988486083,BE
2988486084,2988486087,IT
-2988486088,2988486111,FR
+2988486088,2988486095,FR
+2988486096,2988486099,GB
+2988486100,2988486111,FR
2988486112,2988486135,PL
2988486136,2988486139,FR
2988486140,2988486143,GB
2988486144,2988486151,ES
-2988486152,2988486159,FR
+2988486152,2988486155,PL
+2988486156,2988486159,DE
2988486160,2988486175,IE
2988486176,2988486179,FR
2988486180,2988486183,DE
@@ -73223,7 +91190,9 @@
2988486344,2988486347,FR
2988486348,2988486351,ES
2988486352,2988486399,FR
-2988486400,2988486431,GB
+2988486400,2988486415,PL
+2988486416,2988486423,FR
+2988486424,2988486431,PT
2988486432,2988486447,FR
2988486448,2988486463,ES
2988486464,2988486471,BE
@@ -73231,7 +91200,8 @@
2988486476,2988486479,PL
2988486480,2988486495,IE
2988486496,2988486503,DE
-2988486504,2988486515,ES
+2988486504,2988486511,PL
+2988486512,2988486515,DE
2988486516,2988486527,PL
2988486528,2988486575,FR
2988486576,2988486579,PL
@@ -73255,9 +91225,11 @@
2988486696,2988486699,ES
2988486700,2988486711,PL
2988486712,2988486719,IT
-2988486720,2988486735,CZ
-2988486736,2988486751,FR
-2988486752,2988486759,GB
+2988486720,2988486735,FR
+2988486736,2988486743,ES
+2988486744,2988486747,FR
+2988486748,2988486751,GB
+2988486752,2988486759,FR
2988486760,2988486763,ES
2988486764,2988486767,FR
2988486768,2988486775,ES
@@ -73299,21 +91271,23 @@
2988488100,2988488103,PT
2988488104,2988488111,FR
2988488112,2988488127,PL
-2988488128,2988488159,FR
-2988488160,2988488175,ES
+2988488128,2988488175,FR
2988488176,2988488179,GB
2988488180,2988488183,FR
-2988488184,2988488187,IT
+2988488184,2988488187,IE
2988488188,2988488191,DE
2988488192,2988488479,FR
2988488480,2988488487,PL
2988488488,2988488491,FR
2988488492,2988488495,ES
-2988488496,2988488511,FR
-2988488512,2988488543,ES
-2988488544,2988488575,FR
-2988488576,2988488607,NL
-2988488608,2988488639,IT
+2988488496,2988488543,FR
+2988488544,2988488555,GB
+2988488556,2988488563,ES
+2988488564,2988488567,FR
+2988488568,2988488571,ES
+2988488572,2988488575,GB
+2988488576,2988488607,FR
+2988488608,2988488639,DE
2988488640,2988488647,ES
2988488648,2988488655,IT
2988488656,2988488663,PL
@@ -73328,8 +91302,8 @@
2988488992,2988489023,ES
2988489024,2988489055,FR
2988489056,2988489071,DE
-2988489072,2988489087,FR
-2988489088,2988489103,GB
+2988489072,2988489095,FR
+2988489096,2988489103,GB
2988489104,2988489119,FI
2988489120,2988489123,ES
2988489124,2988489127,IE
@@ -73414,28 +91388,30 @@
2988490180,2988490183,PL
2988490184,2988490191,ES
2988490192,2988490195,GB
-2988490196,2988490199,PT
+2988490196,2988490199,FR
2988490200,2988490203,DE
-2988490204,2988490207,ES
-2988490208,2988490223,FR
+2988490204,2988490223,FR
2988490224,2988490227,DE
2988490228,2988490231,GB
2988490232,2988490239,ES
2988490240,2988490247,PL
2988490248,2988490251,ES
-2988490252,2988490255,FR
+2988490252,2988490255,GB
2988490256,2988490271,PL
2988490272,2988490287,ES
2988490288,2988490295,FR
2988490296,2988490303,DE
2988490304,2988490319,ES
-2988490320,2988490335,FR
-2988490336,2988490367,PT
-2988490368,2988490379,FR
-2988490380,2988490383,ES
+2988490320,2988490351,FR
+2988490352,2988490355,IE
+2988490356,2988490367,DE
+2988490368,2988490371,ES
+2988490372,2988490375,NL
+2988490376,2988490383,GB
2988490384,2988490399,FR
2988490400,2988490407,GB
-2988490408,2988490415,NL
+2988490408,2988490411,NL
+2988490412,2988490415,ES
2988490416,2988490423,GB
2988490424,2988490463,FR
2988490464,2988490623,PL
@@ -73449,8 +91425,7 @@
2988498984,2988498991,FR
2988498992,2988499007,PL
2988499008,2988499051,DE
-2988499052,2988499055,IT
-2988499056,2988499063,FR
+2988499052,2988499063,FR
2988499064,2988499067,DE
2988499068,2988499071,FR
2988499072,2988499103,PL
@@ -73461,8 +91436,7 @@
2988499144,2988499151,DE
2988499152,2988499167,FR
2988499168,2988499199,ES
-2988499200,2988499327,FR
-2988499328,2988499343,NL
+2988499200,2988499343,FR
2988499344,2988499347,PL
2988499348,2988499351,FR
2988499352,2988499359,IT
@@ -73485,7 +91459,7 @@
2988499576,2988499579,FR
2988499580,2988499583,CH
2988499584,2988499599,IT
-2988499600,2988499615,PL
+2988499600,2988499615,FR
2988499616,2988499623,DE
2988499624,2988499631,ES
2988499632,2988499635,CH
@@ -73530,15 +91504,15 @@
2988499928,2988499935,FR
2988499936,2988499967,IE
2988499968,2988500223,FR
-2988500224,2988500255,NL
+2988500224,2988500255,ES
2988500256,2988500271,IT
2988500272,2988500287,BE
2988500288,2988500303,PL
2988500304,2988500307,FR
-2988500308,2988500311,IT
+2988500308,2988500311,NL
2988500312,2988500315,ES
2988500316,2988500319,DE
-2988500320,2988500335,IT
+2988500320,2988500335,BE
2988500336,2988500339,DE
2988500340,2988500343,IE
2988500344,2988500347,FR
@@ -73573,14 +91547,15 @@
2988500800,2988500815,ES
2988500816,2988500831,FR
2988500832,2988500847,ES
-2988500848,2988500863,DE
-2988500864,2988500867,GB
+2988500848,2988500851,FI
+2988500852,2988500855,PL
+2988500856,2988500859,IE
+2988500860,2988500867,FR
2988500868,2988500871,DE
2988500872,2988500879,NL
2988500880,2988500883,BE
2988500884,2988500887,PL
-2988500888,2988500895,DE
-2988500896,2988500919,FR
+2988500888,2988500919,FR
2988500920,2988500927,PL
2988500928,2988500935,FR
2988500936,2988500939,DE
@@ -73593,8 +91568,9 @@
2988500988,2988500991,PL
2988500992,2988501055,FR
2988501056,2988501119,PT
-2988501120,2988501135,NL
-2988501136,2988501183,FR
+2988501120,2988501123,PL
+2988501124,2988501127,GB
+2988501128,2988501183,FR
2988501184,2988501215,PL
2988501216,2988501219,DE
2988501220,2988501223,ES
@@ -73608,7 +91584,9 @@
2988501340,2988501359,PL
2988501360,2988501367,FR
2988501368,2988501375,ES
-2988501376,2988501407,FR
+2988501376,2988501383,FR
+2988501384,2988501391,PL
+2988501392,2988501407,FR
2988501408,2988501411,LT
2988501412,2988501415,NL
2988501416,2988501423,BE
@@ -73639,8 +91617,10 @@
2988502080,2988502095,IE
2988502096,2988502099,FI
2988502100,2988502103,CZ
-2988502104,2988502111,PT
-2988502112,2988502143,PL
+2988502104,2988502107,PL
+2988502108,2988502111,GB
+2988502112,2988502127,FR
+2988502128,2988502143,PL
2988502144,2988502207,FR
2988502208,2988502223,GB
2988502224,2988502255,FR
@@ -73650,8 +91630,9 @@
2988502272,2988502399,FR
2988502400,2988502407,NL
2988502408,2988502411,FR
-2988502412,2988502415,CH
-2988502416,2988502431,DE
+2988502412,2988502419,GB
+2988502420,2988502423,IE
+2988502424,2988502431,FI
2988502432,2988502447,FR
2988502448,2988502451,IE
2988502452,2988502455,IT
@@ -73684,7 +91665,8 @@
2988502752,2988502783,ES
2988502784,2988502795,FR
2988502796,2988502799,DE
-2988502800,2988502831,GB
+2988502800,2988502807,FR
+2988502808,2988502831,GB
2988502832,2988502839,DE
2988502840,2988502847,NL
2988502848,2988502851,FR
@@ -73705,15 +91687,16 @@
2988502920,2988502959,FR
2988502960,2988502975,IE
2988502976,2988502983,PL
-2988502984,2988502991,BE
+2988502984,2988502991,ES
2988502992,2988503015,DE
2988503016,2988503019,PL
-2988503020,2988503023,ES
+2988503020,2988503023,FR
2988503024,2988503031,GB
2988503032,2988503035,ES
2988503036,2988503039,GB
-2988503040,2988503079,FR
-2988503080,2988503103,GB
+2988503040,2988503071,FR
+2988503072,2988503075,NL
+2988503076,2988503103,GB
2988503104,2988503107,ES
2988503108,2988503111,NL
2988503112,2988503119,PL
@@ -73737,8 +91720,9 @@
2988503416,2988503423,PL
2988503424,2988503471,FR
2988503472,2988503487,NL
-2988503488,2988503503,DE
-2988503504,2988503519,FR
+2988503488,2988503495,IT
+2988503496,2988503499,PL
+2988503500,2988503519,FR
2988503520,2988503535,NL
2988503536,2988503551,FI
2988503552,2988503871,FR
@@ -73755,11 +91739,12 @@
2988503988,2988504007,PL
2988504008,2988504015,BE
2988504016,2988504019,FR
-2988504020,2988504023,BE
+2988504020,2988504023,ES
2988504024,2988504031,FR
2988504032,2988504063,ES
2988504064,2988504127,IE
-2988504128,2988504159,DE
+2988504128,2988504143,DE
+2988504144,2988504159,FR
2988504160,2988504191,PL
2988504192,2988504223,FR
2988504224,2988504227,PT
@@ -73771,7 +91756,18 @@
2988504304,2988504311,PL
2988504312,2988504315,FI
2988504316,2988504319,DE
-2988504320,2988504415,FR
+2988504320,2988504323,FR
+2988504324,2988504327,NL
+2988504328,2988504335,DE
+2988504336,2988504351,FR
+2988504352,2988504355,GB
+2988504356,2988504359,DE
+2988504360,2988504363,GB
+2988504364,2988504367,FI
+2988504368,2988504371,IE
+2988504372,2988504375,GB
+2988504376,2988504379,PT
+2988504380,2988504415,FR
2988504416,2988504419,PL
2988504420,2988504423,DE
2988504424,2988504427,ES
@@ -73779,7 +91775,11 @@
2988504432,2988504435,FR
2988504436,2988504439,ES
2988504440,2988504443,FR
-2988504444,2988504463,GB
+2988504444,2988504447,GB
+2988504448,2988504451,BE
+2988504452,2988504455,ES
+2988504456,2988504459,PL
+2988504460,2988504463,GB
2988504464,2988504467,DE
2988504468,2988504471,ES
2988504472,2988504479,PL
@@ -73797,11 +91797,13 @@
2988504672,2988504703,PT
2988504704,2988504735,FR
2988504736,2988504743,PL
-2988504744,2988504751,GB
-2988504752,2988504767,FR
+2988504744,2988504751,ES
+2988504752,2988504755,FI
+2988504756,2988504767,FR
2988504768,2988504799,ES
-2988504800,2988504815,PL
-2988504816,2988504863,FR
+2988504800,2988504823,PL
+2988504824,2988504827,IT
+2988504828,2988504863,FR
2988504864,2988504879,PL
2988504880,2988504959,FR
2988504960,2988504963,PT
@@ -73821,18 +91823,21 @@
2988505212,2988505215,PT
2988505216,2988505247,FR
2988505248,2988505255,PL
-2988505256,2988505279,FR
-2988505280,2988505311,BE
+2988505256,2988505263,FR
+2988505264,2988505267,IT
+2988505268,2988505271,FR
+2988505272,2988505275,CZ
+2988505276,2988505311,BE
2988505312,2988505315,DE
2988505316,2988505319,ES
2988505320,2988505323,PL
-2988505324,2988505327,FR
+2988505324,2988505327,ES
2988505328,2988505343,PL
2988505344,2988505375,DE
2988505376,2988505391,FR
2988505392,2988505399,PL
-2988505400,2988505407,ES
-2988505408,2988505439,FR
+2988505400,2988505403,ES
+2988505404,2988505439,FR
2988505440,2988505455,PL
2988505456,2988505459,FI
2988505460,2988505463,CH
@@ -73860,7 +91865,7 @@
2988505752,2988505755,CH
2988505756,2988505759,PL
2988505760,2988505775,FR
-2988505776,2988505791,ES
+2988505776,2988505791,GB
2988505792,2988505807,FR
2988505808,2988505811,PL
2988505812,2988505815,DE
@@ -73868,18 +91873,20 @@
2988505820,2988505823,PL
2988505824,2988505839,FR
2988505840,2988505843,CH
-2988505844,2988505851,FR
-2988505852,2988505855,PL
+2988505844,2988505847,FR
+2988505848,2988505855,PL
2988505856,2988505919,IE
2988505920,2988505935,GB
-2988505936,2988505951,PL
+2988505936,2988505943,ES
+2988505944,2988505947,GB
+2988505948,2988505951,FR
2988505952,2988505967,GB
2988505968,2988505971,BE
-2988505972,2988505975,GB
+2988505972,2988505975,ES
2988505976,2988506111,FR
2988506112,2988506143,BE
2988506144,2988506175,PT
-2988506176,2988506191,IT
+2988506176,2988506191,FR
2988506192,2988506207,GB
2988506208,2988506239,ES
2988506240,2988506255,BE
@@ -73900,7 +91907,8 @@
2988506460,2988506463,PL
2988506464,2988506495,FR
2988506496,2988506499,PL
-2988506500,2988506507,DE
+2988506500,2988506503,IT
+2988506504,2988506507,DE
2988506508,2988506511,ES
2988506512,2988506515,GB
2988506516,2988506519,FR
@@ -73913,7 +91921,8 @@
2988506564,2988506567,GB
2988506568,2988506571,PL
2988506572,2988506575,CH
-2988506576,2988506623,FR
+2988506576,2988506591,FR
+2988506592,2988506623,PT
2988506624,2988506687,PL
2988506688,2988506751,IE
2988506752,2988506763,ES
@@ -73947,9 +91956,11 @@
2988507264,2988507279,PL
2988507280,2988507283,FR
2988507284,2988507287,ES
-2988507288,2988507327,FR
+2988507288,2988507291,IE
+2988507292,2988507295,GB
+2988507296,2988507327,FR
2988507328,2988507335,DE
-2988507336,2988507339,FR
+2988507336,2988507339,ES
2988507340,2988507343,NL
2988507344,2988507391,FR
2988507392,2988507423,PT
@@ -73968,8 +91979,9 @@
2988507484,2988507487,IT
2988507488,2988507503,FR
2988507504,2988507519,IT
-2988507520,2988507527,PL
-2988507528,2988507535,DE
+2988507520,2988507523,PL
+2988507524,2988507531,FR
+2988507532,2988507535,DE
2988507536,2988507539,FR
2988507540,2988507543,PL
2988507544,2988507547,FR
@@ -73989,8 +92001,13 @@
2988507640,2988507643,FR
2988507644,2988507647,IT
2988507648,2988507711,DE
-2988507712,2988507743,FR
-2988507744,2988507759,IE
+2988507712,2988507715,GB
+2988507716,2988507719,FR
+2988507720,2988507727,CH
+2988507728,2988507731,FR
+2988507732,2988507735,GB
+2988507736,2988507739,ES
+2988507740,2988507759,IE
2988507760,2988507767,FR
2988507768,2988507839,PL
2988507840,2988507855,FR
@@ -74018,8 +92035,9 @@
2988508036,2988508039,CZ
2988508040,2988508047,FR
2988508048,2988508055,GB
-2988508056,2988508063,ES
-2988508064,2988508067,FR
+2988508056,2988508059,FR
+2988508060,2988508063,DE
+2988508064,2988508067,ES
2988508068,2988508071,PL
2988508072,2988508079,FR
2988508080,2988508095,ES
@@ -74030,8 +92048,8 @@
2988508136,2988508143,GB
2988508144,2988508151,FR
2988508152,2988508159,ES
-2988508160,2988508207,FR
-2988508208,2988508215,PL
+2988508160,2988508211,FR
+2988508212,2988508215,CZ
2988508216,2988508219,FR
2988508220,2988508223,DE
2988508224,2988508255,FR
@@ -74041,7 +92059,8 @@
2988508272,2988508287,FR
2988508288,2988508303,PL
2988508304,2988508307,PT
-2988508308,2988508315,FR
+2988508308,2988508311,ES
+2988508312,2988508315,FR
2988508316,2988508319,ES
2988508320,2988508343,FR
2988508344,2988508351,GB
@@ -74052,13 +92071,14 @@
2988508428,2988508431,CZ
2988508432,2988508435,FR
2988508436,2988508439,DE
-2988508440,2988508455,PL
+2988508440,2988508443,GB
+2988508444,2988508455,PL
2988508456,2988508479,FR
2988508480,2988508543,PT
2988508544,2988508607,GB
2988508608,2988508671,IT
2988508672,2988508679,DE
-2988508680,2988508683,CZ
+2988508680,2988508683,LT
2988508684,2988508687,DE
2988508688,2988508703,PL
2988508704,2988508711,GB
@@ -74070,7 +92090,7 @@
2988508800,2988508847,FR
2988508848,2988508855,GB
2988508856,2988508871,FR
-2988508872,2988508875,PL
+2988508872,2988508875,IT
2988508876,2988508879,PT
2988508880,2988508895,DE
2988508896,2988508911,PL
@@ -74080,7 +92100,8 @@
2988508944,2988508947,DE
2988508948,2988508951,FR
2988508952,2988508959,ES
-2988508960,2988508991,FR
+2988508960,2988508987,FR
+2988508988,2988508991,PL
2988508992,2988509055,NL
2988509056,2988509119,FR
2988509120,2988509151,IT
@@ -74107,16 +92128,19 @@
2988509420,2988509443,FR
2988509444,2988509447,FI
2988509448,2988509451,GB
-2988509452,2988509455,PL
-2988509456,2988509467,FR
-2988509468,2988509503,NL
-2988509504,2988509507,PL
-2988509508,2988509511,FR
+2988509452,2988509459,PL
+2988509460,2988509463,FR
+2988509464,2988509467,GB
+2988509468,2988509471,NL
+2988509472,2988509487,FR
+2988509488,2988509491,IT
+2988509492,2988509499,IE
+2988509500,2988509503,FR
+2988509504,2988509511,PL
2988509512,2988509515,GB
2988509516,2988509535,FR
2988509536,2988509543,ES
-2988509544,2988509547,PL
-2988509548,2988509551,GB
+2988509544,2988509551,PL
2988509552,2988509575,FR
2988509576,2988509583,PL
2988509584,2988509619,FR
@@ -74126,7 +92150,8 @@
2988509632,2988509711,FR
2988509712,2988509715,IE
2988509716,2988509719,GB
-2988509720,2988509727,IT
+2988509720,2988509723,ES
+2988509724,2988509727,LT
2988509728,2988509751,FR
2988509752,2988509759,DE
2988509760,2988509767,PL
@@ -74139,7 +92164,9 @@
2988509824,2988509839,FR
2988509840,2988509855,ES
2988509856,2988509859,FR
-2988509860,2988509875,DE
+2988509860,2988509863,DE
+2988509864,2988509871,FR
+2988509872,2988509875,DE
2988509876,2988509879,FR
2988509880,2988509887,DE
2988509888,2988509903,FR
@@ -74159,7 +92186,7 @@
2988509992,2988509995,FR
2988509996,2988509999,DE
2988510000,2988510015,PL
-2988510016,2988510023,GB
+2988510016,2988510023,ES
2988510024,2988510031,FR
2988510032,2988510079,PL
2988510080,2988510087,ES
@@ -74170,7 +92197,7 @@
2988510112,2988510143,CZ
2988510144,2988510175,NL
2988510176,2988510207,ES
-2988510208,2988510211,FR
+2988510208,2988510211,GB
2988510212,2988510215,ES
2988510216,2988510239,FR
2988510240,2988510243,IT
@@ -74187,13 +92214,16 @@
2988510312,2988510319,GB
2988510320,2988510323,FR
2988510324,2988510327,GB
-2988510328,2988510399,FR
+2988510328,2988510331,FR
+2988510332,2988510335,IT
+2988510336,2988510399,FR
2988510400,2988510403,DE
2988510404,2988510407,GB
2988510408,2988510415,PL
2988510416,2988510431,FR
2988510432,2988510435,IT
-2988510436,2988510463,FR
+2988510436,2988510439,BE
+2988510440,2988510463,FR
2988510464,2988510495,PL
2988510496,2988510507,FR
2988510508,2988510511,NL
@@ -74205,7 +92235,9 @@
2988510560,2988510591,IT
2988510592,2988510623,BE
2988510624,2988510655,IE
-2988510656,2988510719,PL
+2988510656,2988510687,PL
+2988510688,2988510703,FR
+2988510704,2988510719,PL
2988510720,2988510751,FR
2988510752,2988510759,PL
2988510760,2988510767,FR
@@ -74229,8 +92261,8 @@
2988511104,2988511167,PL
2988511168,2988511175,IE
2988511176,2988511179,GB
-2988511180,2988511183,FR
-2988511184,2988511191,GB
+2988511180,2988511187,FR
+2988511188,2988511191,GB
2988511192,2988511487,FR
2988511488,2988511551,PL
2988511552,2988511555,FR
@@ -74302,7 +92334,7 @@
2988512316,2988512319,DE
2988512320,2988512335,FR
2988512336,2988512339,PL
-2988512340,2988512343,DE
+2988512340,2988512343,IT
2988512344,2988512351,FR
2988512352,2988512383,IT
2988512384,2988512399,FR
@@ -74349,11 +92381,9 @@
2988512856,2988512879,FR
2988512880,2988512895,DE
2988512896,2988512899,PL
-2988512900,2988512903,GB
-2988512904,2988512907,PL
-2988512908,2988512911,ES
+2988512900,2988512911,ES
2988512912,2988512943,FR
-2988512944,2988512951,GB
+2988512944,2988512951,ES
2988512952,2988512955,FR
2988512956,2988512959,LT
2988512960,2988512963,ES
@@ -74378,8 +92408,8 @@
2988513196,2988513199,ES
2988513200,2988513207,PT
2988513208,2988513219,FR
-2988513220,2988513223,CZ
-2988513224,2988513227,NL
+2988513220,2988513223,NL
+2988513224,2988513227,GB
2988513228,2988513235,FR
2988513236,2988513239,ES
2988513240,2988513271,FR
@@ -74397,7 +92427,9 @@
2988513332,2988513343,FR
2988513344,2988513351,ES
2988513352,2988513359,IT
-2988513360,2988513375,GB
+2988513360,2988513363,PT
+2988513364,2988513367,FR
+2988513368,2988513375,ES
2988513376,2988513379,FR
2988513380,2988513383,PT
2988513384,2988513387,FR
@@ -74407,7 +92439,7 @@
2988513472,2988513503,FR
2988513504,2988513507,CH
2988513508,2988513511,DE
-2988513512,2988513515,FR
+2988513512,2988513515,IE
2988513516,2988513519,DE
2988513520,2988513551,GB
2988513552,2988513555,IT
@@ -74446,7 +92478,7 @@
2988514024,2988514027,CH
2988514028,2988514031,PL
2988514032,2988514047,FR
-2988514048,2988514079,ES
+2988514048,2988514079,GB
2988514080,2988514095,PL
2988514096,2988514099,DE
2988514100,2988514103,PL
@@ -74477,7 +92509,8 @@
2988514304,2988514335,FR
2988514336,2988514339,PL
2988514340,2988514343,FR
-2988514344,2988514359,PL
+2988514344,2988514351,PL
+2988514352,2988514359,FR
2988514360,2988514367,ES
2988514368,2988514399,FR
2988514400,2988514431,GB
@@ -74533,26 +92566,29 @@
2988523664,2988523667,DE
2988523668,2988523679,FR
2988523680,2988523711,ES
-2988523712,2988523731,GB
+2988523712,2988523727,FR
+2988523728,2988523731,PL
2988523732,2988523735,IT
2988523736,2988523739,DE
2988523740,2988523743,FR
2988523744,2988523775,PT
2988523776,2988524031,FR
-2988524032,2988524035,DE
-2988524036,2988524039,LT
-2988524040,2988524043,GB
-2988524044,2988524047,ES
+2988524032,2988524039,PL
+2988524040,2988524047,ES
2988524048,2988524055,FR
2988524056,2988524063,CZ
-2988524064,2988524067,NL
+2988524064,2988524067,PL
2988524068,2988524075,GB
2988524076,2988524079,ES
2988524080,2988524083,GB
2988524084,2988524087,IT
2988524088,2988524111,FR
2988524112,2988524127,IT
-2988524128,2988524159,FR
+2988524128,2988524143,FR
+2988524144,2988524147,GB
+2988524148,2988524151,IT
+2988524152,2988524155,PL
+2988524156,2988524159,PT
2988524160,2988524163,ES
2988524164,2988524167,FR
2988524168,2988524175,ES
@@ -74586,7 +92622,7 @@
2988524368,2988524383,GB
2988524384,2988524415,IE
2988524416,2988524447,FI
-2988524448,2988524479,GB
+2988524448,2988524479,FR
2988524480,2988524483,CZ
2988524484,2988524487,IT
2988524488,2988524495,FR
@@ -74596,7 +92632,7 @@
2988524592,2988524603,PL
2988524604,2988524607,ES
2988524608,2988524627,GB
-2988524628,2988524631,IE
+2988524628,2988524631,ES
2988524632,2988524635,DE
2988524636,2988524639,FR
2988524640,2988524671,DE
@@ -74610,16 +92646,25 @@
2988525648,2988525655,GB
2988525656,2988525659,FR
2988525660,2988525663,DE
-2988525664,2988525695,FR
-2988525696,2988525823,PL
-2988525824,2988525839,FR
-2988525840,2988525847,ES
+2988525664,2988525775,FR
+2988525776,2988525779,LT
+2988525780,2988525783,FR
+2988525784,2988525787,PL
+2988525788,2988525791,FR
+2988525792,2988525823,DE
+2988525824,2988525843,FR
+2988525844,2988525847,ES
2988525848,2988525851,IT
2988525852,2988525855,DE
2988525856,2988525887,FR
2988525888,2988525951,FI
2988525952,2988526079,ES
-2988526080,2988526143,PT
+2988526080,2988526083,IE
+2988526084,2988526087,FR
+2988526088,2988526091,PT
+2988526092,2988526095,PL
+2988526096,2988526135,FR
+2988526136,2988526143,DE
2988526144,2988526175,BE
2988526176,2988526239,ES
2988526240,2988526423,PL
@@ -74641,7 +92686,10 @@
2988526608,2988526615,DE
2988526616,2988526655,FR
2988526656,2988526663,PL
-2988526664,2988526687,FR
+2988526664,2988526671,FR
+2988526672,2988526679,IE
+2988526680,2988526683,ES
+2988526684,2988526687,FR
2988526688,2988526703,ES
2988526704,2988526711,FR
2988526712,2988526715,ES
@@ -74655,13 +92703,15 @@
2988526864,2988526867,GB
2988526868,2988526871,FR
2988526872,2988526875,DE
-2988526876,2988526911,FR
+2988526876,2988526879,PL
+2988526880,2988526911,FR
2988526912,2988526927,GB
2988526928,2988526935,DE
2988526936,2988526943,PL
2988526944,2988526951,DE
-2988526952,2988526955,IE
-2988526956,2988526975,FR
+2988526952,2988526955,FR
+2988526956,2988526959,IT
+2988526960,2988526975,FR
2988526976,2988526991,PL
2988526992,2988526995,DE
2988526996,2988527003,ES
@@ -74689,7 +92739,7 @@
2988527400,2988527407,DE
2988527408,2988527411,FR
2988527412,2988527415,PL
-2988527416,2988527423,GB
+2988527416,2988527423,ES
2988527424,2988527431,FR
2988527432,2988527439,IT
2988527440,2988527451,PL
@@ -74701,12 +92751,13 @@
2988527480,2988527487,FR
2988527488,2988527503,GB
2988527504,2988527523,FR
-2988527524,2988527531,DE
-2988527532,2988527535,FR
-2988527536,2988527551,GB
+2988527524,2988527527,PL
+2988527528,2988527531,DE
+2988527532,2988527547,FR
+2988527548,2988527551,DE
2988527552,2988527583,PL
2988527584,2988527591,GB
-2988527592,2988527595,IT
+2988527592,2988527595,IE
2988527596,2988527599,DE
2988527600,2988527603,NL
2988527604,2988527607,FR
@@ -74725,7 +92776,9 @@
2988527712,2988527747,FR
2988527748,2988527751,ES
2988527752,2988527755,DE
-2988527756,2988527823,FR
+2988527756,2988527759,PL
+2988527760,2988527775,ES
+2988527776,2988527823,FR
2988527824,2988527827,ES
2988527828,2988527831,DE
2988527832,2988527839,ES
@@ -74749,8 +92802,7 @@
2988528080,2988528095,ES
2988528096,2988528127,FR
2988528128,2988528159,GB
-2988528160,2988528175,ES
-2988528176,2988528179,CH
+2988528160,2988528179,ES
2988528180,2988528183,IT
2988528184,2988528187,PL
2988528188,2988528191,FR
@@ -74758,7 +92810,8 @@
2988528208,2988528215,FR
2988528216,2988528219,IE
2988528220,2988528223,DE
-2988528224,2988528231,CH
+2988528224,2988528227,FR
+2988528228,2988528231,IE
2988528232,2988528235,GB
2988528236,2988528239,FR
2988528240,2988528263,GB
@@ -74769,11 +92822,11 @@
2988528304,2988528351,FR
2988528352,2988528383,DE
2988528384,2988528399,GB
-2988528400,2988528415,FR
-2988528416,2988528423,GB
+2988528400,2988528419,FR
+2988528420,2988528423,DE
2988528424,2988528431,NL
2988528432,2988528435,PL
-2988528436,2988528439,FR
+2988528436,2988528439,PT
2988528440,2988528447,GB
2988528448,2988528451,DE
2988528452,2988528455,IT
@@ -74792,19 +92845,11 @@
2988528644,2988528647,PL
2988528648,2988528671,FR
2988528672,2988528703,DE
-2988528704,2988528715,ES
-2988528716,2988528723,IT
-2988528724,2988528727,GB
-2988528728,2988528731,FR
-2988528732,2988528735,DE
-2988528736,2988528739,FI
-2988528740,2988528743,IE
-2988528744,2988528747,NL
-2988528748,2988528751,PL
-2988528752,2988528755,FR
+2988528704,2988528735,IE
+2988528736,2988528751,FR
+2988528752,2988528755,CH
2988528756,2988528759,PL
-2988528760,2988528763,GB
-2988528764,2988528767,FR
+2988528760,2988528767,GB
2988528768,2988528771,DE
2988528772,2988528783,FR
2988528784,2988528787,ES
@@ -74823,7 +92868,8 @@
2988528928,2988528959,FR
2988528960,2988528995,FI
2988528996,2988528999,BE
-2988529000,2988529007,IE
+2988529000,2988529003,GB
+2988529004,2988529007,FR
2988529008,2988529023,FI
2988529024,2988529031,PL
2988529032,2988529047,FR
@@ -74832,7 +92878,7 @@
2988529056,2988529119,FR
2988529120,2988529151,NL
2988529152,2988529159,IT
-2988529160,2988529163,GB
+2988529160,2988529163,PL
2988529164,2988529167,DE
2988529168,2988529171,IE
2988529172,2988529175,PT
@@ -74842,8 +92888,12 @@
2988529208,2988529247,FR
2988529248,2988529251,GB
2988529252,2988529263,PL
-2988529264,2988529279,ES
-2988529280,2988529311,FR
+2988529264,2988529267,BE
+2988529268,2988529271,PL
+2988529272,2988529275,IT
+2988529276,2988529279,ES
+2988529280,2988529295,LT
+2988529296,2988529311,IT
2988529312,2988529315,PL
2988529316,2988529319,FR
2988529320,2988529323,ES
@@ -74852,12 +92902,15 @@
2988529340,2988529343,DE
2988529344,2988529351,PL
2988529352,2988529359,GB
-2988529360,2988529375,IE
+2988529360,2988529375,IT
2988529376,2988529383,GB
2988529384,2988529387,DE
2988529388,2988529391,FR
2988529392,2988529407,PL
-2988529408,2988529423,FR
+2988529408,2988529411,IT
+2988529412,2988529415,NL
+2988529416,2988529419,PT
+2988529420,2988529423,CH
2988529424,2988529431,DE
2988529432,2988529439,FR
2988529440,2988529455,PL
@@ -74910,7 +92963,7 @@
2988530048,2988530063,GB
2988530064,2988530079,IE
2988530080,2988530095,FR
-2988530096,2988530099,DE
+2988530096,2988530099,PL
2988530100,2988530191,FR
2988530192,2988530207,NL
2988530208,2988530239,PL
@@ -74958,7 +93011,8 @@
2988531020,2988531023,IE
2988531024,2988531027,ES
2988531028,2988531031,FR
-2988531032,2988531039,PL
+2988531032,2988531035,PL
+2988531036,2988531039,GB
2988531040,2988531047,FR
2988531048,2988531051,GB
2988531052,2988531055,PL
@@ -74990,7 +93044,8 @@
2988531328,2988531343,IE
2988531344,2988531351,CH
2988531352,2988531355,PL
-2988531356,2988531391,FR
+2988531356,2988531359,IE
+2988531360,2988531391,FR
2988531392,2988531399,PL
2988531400,2988531403,DE
2988531404,2988531427,PL
@@ -75016,15 +93071,17 @@
2988540212,2988540215,DE
2988540216,2988540219,FR
2988540220,2988540223,GB
-2988540224,2988540255,BE
+2988540224,2988540239,NL
+2988540240,2988540243,PL
+2988540244,2988540247,IT
+2988540248,2988540251,GB
+2988540252,2988540255,FR
2988540256,2988540271,PL
2988540272,2988540275,DE
2988540276,2988540279,PL
2988540280,2988540287,FR
2988540288,2988540303,BE
-2988540304,2988540319,FR
-2988540320,2988540351,PT
-2988540352,2988540363,FR
+2988540304,2988540363,FR
2988540364,2988540367,PL
2988540368,2988540375,FR
2988540376,2988540379,GB
@@ -75044,12 +93101,13 @@
2988540480,2988540483,FR
2988540484,2988540487,DE
2988540488,2988540491,ES
-2988540492,2988540503,FR
+2988540492,2988540499,FR
+2988540500,2988540503,CZ
2988540504,2988540507,DE
2988540508,2988540511,ES
2988540512,2988540543,FR
2988540544,2988540607,PL
-2988540608,2988540623,FR
+2988540608,2988540623,BE
2988540624,2988540631,GB
2988540632,2988540635,DE
2988540636,2988540639,PT
@@ -75075,7 +93133,8 @@
2988540800,2988540831,FR
2988540832,2988540839,PL
2988540840,2988540847,GB
-2988540848,2988540855,FR
+2988540848,2988540851,FR
+2988540852,2988540855,DE
2988540856,2988540863,IT
2988540864,2988540931,FR
2988540932,2988540935,DE
@@ -75093,15 +93152,14 @@
2988541136,2988541143,GB
2988541144,2988541215,FR
2988541216,2988541231,PT
-2988541232,2988541235,DE
-2988541236,2988541243,FR
+2988541232,2988541243,FR
2988541244,2988541247,GB
2988541248,2988541263,FR
2988541264,2988541279,IT
2988541280,2988541311,NL
-2988541312,2988541315,DE
+2988541312,2988541315,ES
2988541316,2988541319,CH
-2988541320,2988541327,DE
+2988541320,2988541327,FR
2988541328,2988541335,PL
2988541336,2988541343,FR
2988541344,2988541347,GB
@@ -75131,7 +93189,9 @@
2988541612,2988541615,IT
2988541616,2988541619,BE
2988541620,2988541623,CH
-2988541624,2988541655,FR
+2988541624,2988541647,FR
+2988541648,2988541651,IT
+2988541652,2988541655,FR
2988541656,2988541659,ES
2988541660,2988541663,PL
2988541664,2988541679,FR
@@ -75152,7 +93212,7 @@
2988541768,2988541775,PL
2988541776,2988541779,CH
2988541780,2988541783,FR
-2988541784,2988541787,NL
+2988541784,2988541787,ES
2988541788,2988541791,FR
2988541792,2988541807,ES
2988541808,2988541815,FR
@@ -75195,7 +93255,7 @@
2988542336,2988542367,DE
2988542368,2988542399,CZ
2988542400,2988542403,FI
-2988542404,2988542407,FR
+2988542404,2988542407,PL
2988542408,2988542411,LT
2988542412,2988542415,PL
2988542416,2988542431,FR
@@ -75204,8 +93264,7 @@
2988542444,2988542447,FR
2988542448,2988542455,PL
2988542456,2988542459,FR
-2988542460,2988542463,ES
-2988542464,2988542495,NL
+2988542460,2988542495,ES
2988542496,2988542527,FR
2988542528,2988542535,DE
2988542536,2988542539,NL
@@ -75221,7 +93280,8 @@
2988542628,2988542631,FR
2988542632,2988542635,CZ
2988542636,2988542639,GB
-2988542640,2988542651,FR
+2988542640,2988542647,FR
+2988542648,2988542651,GB
2988542652,2988542655,PL
2988542656,2988542719,BE
2988542720,2988542783,CH
@@ -75235,7 +93295,10 @@
2988542960,2988542963,FR
2988542964,2988542967,CH
2988542968,2988542975,DE
-2988542976,2988543007,FR
+2988542976,2988542983,CH
+2988542984,2988542987,FR
+2988542988,2988542991,PL
+2988542992,2988543007,FR
2988543008,2988543011,PL
2988543012,2988543015,LT
2988543016,2988543023,CH
@@ -75245,8 +93308,9 @@
2988543068,2988543071,PL
2988543072,2988543103,FR
2988543104,2988543183,GB
-2988543184,2988543199,FR
-2988543200,2988543203,GB
+2988543184,2988543191,CH
+2988543192,2988543195,PL
+2988543196,2988543203,GB
2988543204,2988543207,FR
2988543208,2988543211,PL
2988543212,2988543215,GB
@@ -75271,7 +93335,7 @@
2988543380,2988543383,PL
2988543384,2988543399,DE
2988543400,2988543403,GB
-2988543404,2988543407,NL
+2988543404,2988543407,ES
2988543408,2988543411,PL
2988543412,2988543415,FR
2988543416,2988543419,ES
@@ -75282,12 +93346,12 @@
2988543448,2988543451,BE
2988543452,2988543455,PL
2988543456,2988543463,FR
-2988543464,2988543471,GB
-2988543472,2988543487,FR
+2988543464,2988543467,NL
+2988543468,2988543487,FR
2988543488,2988543503,BE
2988543504,2988543527,FR
2988543528,2988543535,GB
-2988543536,2988543551,PL
+2988543536,2988543551,FR
2988543552,2988543555,CH
2988543556,2988543559,BE
2988543560,2988543563,PT
@@ -75299,9 +93363,12 @@
2988543744,2988543935,FR
2988543936,2988543947,PL
2988543948,2988543959,BE
-2988543960,2988543967,PL
-2988543968,2988543999,FR
-2988544000,2988544015,DE
+2988543960,2988543983,PL
+2988543984,2988543999,PT
+2988544000,2988544003,GB
+2988544004,2988544007,PL
+2988544008,2988544011,LT
+2988544012,2988544015,PT
2988544016,2988544023,GB
2988544024,2988544031,IE
2988544032,2988544035,PL
@@ -75316,8 +93383,9 @@
2988544164,2988544167,PL
2988544168,2988544175,GB
2988544176,2988544179,CH
-2988544180,2988544183,IT
-2988544184,2988544191,FR
+2988544180,2988544183,DE
+2988544184,2988544187,PL
+2988544188,2988544191,FR
2988544192,2988544227,ES
2988544228,2988544271,FR
2988544272,2988544275,PL
@@ -75327,14 +93395,13 @@
2988544288,2988544291,PL
2988544292,2988544295,GB
2988544296,2988544303,FR
-2988544304,2988544307,PL
-2988544308,2988544311,IT
-2988544312,2988544315,DE
-2988544316,2988544319,FR
+2988544304,2988544307,IT
+2988544308,2988544319,FR
2988544320,2988544323,PL
2988544324,2988544327,ES
2988544328,2988544331,PL
-2988544332,2988544351,FR
+2988544332,2988544335,A1
+2988544336,2988544351,FR
2988544352,2988544355,PL
2988544356,2988544359,DE
2988544360,2988544367,FR
@@ -75362,7 +93429,7 @@
2988544728,2988544767,FR
2988544768,2988544775,ES
2988544776,2988544783,PT
-2988544784,2988544787,GB
+2988544784,2988544787,CH
2988544788,2988544791,PL
2988544792,2988544799,PT
2988544800,2988544831,FI
@@ -75378,8 +93445,7 @@
2988544980,2988544983,FR
2988544984,2988544995,PL
2988544996,2988544999,FR
-2988545000,2988545003,DE
-2988545004,2988545007,ES
+2988545000,2988545007,DE
2988545008,2988545011,FR
2988545012,2988545019,DE
2988545020,2988545031,FR
@@ -75416,21 +93482,22 @@
2988545440,2988545443,DE
2988545444,2988545447,ES
2988545448,2988545455,PL
-2988545456,2988545471,FR
-2988545472,2988545503,ES
+2988545456,2988545503,FR
2988545504,2988545511,DE
2988545512,2988545515,IT
2988545516,2988545523,PL
2988545524,2988545527,FR
2988545528,2988545531,PL
2988545532,2988545551,FR
-2988545552,2988545555,PL
+2988545552,2988545555,ES
2988545556,2988545559,IT
2988545560,2988545563,FR
-2988545564,2988545575,DE
-2988545576,2988545579,FR
+2988545564,2988545571,DE
+2988545572,2988545579,FR
2988545580,2988545583,ES
-2988545584,2988545663,FR
+2988545584,2988545599,FR
+2988545600,2988545631,DE
+2988545632,2988545663,FR
2988545664,2988545695,ES
2988545696,2988545727,DE
2988545728,2988545791,FR
@@ -75450,8 +93517,8 @@
2988545928,2988545931,BE
2988545932,2988545935,DE
2988545936,2988545943,FR
-2988545944,2988545951,GB
-2988545952,2988545967,FR
+2988545944,2988545947,CZ
+2988545948,2988545967,FR
2988545968,2988545971,IT
2988545972,2988545975,DE
2988545976,2988545979,FR
@@ -75470,8 +93537,7 @@
2988546112,2988546115,ES
2988546116,2988546119,FR
2988546120,2988546123,IE
-2988546124,2988546127,ES
-2988546128,2988546143,GB
+2988546124,2988546143,GB
2988546144,2988546159,PL
2988546160,2988546175,ES
2988546176,2988546239,GB
@@ -75492,7 +93558,7 @@
2988546368,2988546439,FR
2988546440,2988546443,DE
2988546444,2988546447,FR
-2988546448,2988546451,IT
+2988546448,2988546451,IE
2988546452,2988546463,ES
2988546464,2988546527,FR
2988546528,2988546535,BE
@@ -75508,16 +93574,18 @@
2988546584,2988546591,FR
2988546592,2988546599,DE
2988546600,2988546603,PT
-2988546604,2988546615,GB
+2988546604,2988546607,GB
+2988546608,2988546615,NL
2988546616,2988546619,FI
2988546620,2988546623,IT
2988546624,2988546687,FI
2988546688,2988546695,PL
2988546696,2988546699,FR
2988546700,2988546703,IT
-2988546704,2988546751,FR
-2988546752,2988546783,ES
-2988546784,2988546815,FR
+2988546704,2988546727,FR
+2988546728,2988546731,PL
+2988546732,2988546735,DE
+2988546736,2988546815,FR
2988546816,2988546819,PT
2988546820,2988546823,NL
2988546824,2988546831,FR
@@ -75580,10 +93648,8 @@
2988547256,2988547263,FR
2988547264,2988547267,GB
2988547268,2988547271,ES
-2988547272,2988547279,NL
-2988547280,2988547295,FR
-2988547296,2988547303,BE
-2988547304,2988547311,FR
+2988547272,2988547275,GB
+2988547276,2988547311,FR
2988547312,2988547327,PL
2988547328,2988547423,FR
2988547424,2988547431,GB
@@ -75608,17 +93674,26 @@
2988547568,2988547583,DE
2988547584,2988547599,ES
2988547600,2988547615,FR
-2988547616,2988547647,PL
-2988547648,2988547655,FR
+2988547616,2988547619,GB
+2988547620,2988547623,PT
+2988547624,2988547627,FR
+2988547628,2988547631,PL
+2988547632,2988547655,FR
2988547656,2988547663,PL
2988547664,2988547679,FR
-2988547680,2988547711,CH
+2988547680,2988547683,PL
+2988547684,2988547687,FR
+2988547688,2988547691,PL
+2988547692,2988547695,CZ
+2988547696,2988547703,ES
+2988547704,2988547711,IT
2988547712,2988547743,FR
2988547744,2988547751,PT
2988547752,2988547759,ES
2988547760,2988547775,FR
2988547776,2988547807,ES
-2988547808,2988547823,GB
+2988547808,2988547815,GB
+2988547816,2988547823,CH
2988547824,2988547831,FR
2988547832,2988547835,DE
2988547836,2988547839,BE
@@ -75630,17 +93705,340 @@
2988547972,2988547975,DE
2988547976,2988547983,PL
2988547984,2988548015,FR
-2988548016,2988548031,ES
+2988548016,2988548019,ES
+2988548020,2988548023,LT
+2988548024,2988548031,PT
2988548032,2988548047,FR
2988548048,2988548055,ES
2988548056,2988548059,PL
-2988548060,2988548063,FR
-2988548064,2988548095,ES
-2988548096,2988556287,FR
+2988548060,2988548063,IE
+2988548064,2988550143,ES
+2988550144,2988550159,GB
+2988550160,2988550163,PT
+2988550164,2988550167,GB
+2988550168,2988550171,FR
+2988550172,2988550175,CH
+2988550176,2988550179,ES
+2988550180,2988550191,FR
+2988550192,2988550199,DE
+2988550200,2988550203,FR
+2988550204,2988550247,GB
+2988550248,2988550251,DE
+2988550252,2988550255,FR
+2988550256,2988550259,ES
+2988550260,2988550263,FR
+2988550264,2988550271,NL
+2988550272,2988550319,FR
+2988550320,2988550335,PL
+2988550336,2988550355,FR
+2988550356,2988550363,GB
+2988550364,2988550367,NL
+2988550368,2988550399,IT
+2988550400,2988550403,GB
+2988550404,2988550407,NL
+2988550408,2988550411,GB
+2988550412,2988550415,FR
+2988550416,2988550427,DE
+2988550428,2988550431,FR
+2988550432,2988550447,GB
+2988550448,2988550451,CH
+2988550452,2988550455,FR
+2988550456,2988550463,NL
+2988550464,2988550591,FR
+2988550592,2988550595,DE
+2988550596,2988550599,PT
+2988550600,2988550603,PL
+2988550604,2988550607,DE
+2988550608,2988550615,CH
+2988550616,2988550619,FR
+2988550620,2988550623,LT
+2988550624,2988550627,FR
+2988550628,2988550631,CH
+2988550632,2988550643,FR
+2988550644,2988550647,ES
+2988550648,2988550655,PL
+2988550656,2988550911,DE
+2988550912,2988551167,CH
+2988551168,2988551171,PL
+2988551172,2988551175,FI
+2988551176,2988551179,ES
+2988551180,2988551183,FR
+2988551184,2988551199,ES
+2988551200,2988551215,IT
+2988551216,2988551223,NL
+2988551224,2988551295,FR
+2988551296,2988551299,PL
+2988551300,2988551303,FR
+2988551304,2988551307,NL
+2988551308,2988551319,FR
+2988551320,2988551323,PL
+2988551324,2988551327,GB
+2988551328,2988551335,NL
+2988551336,2988551343,FR
+2988551344,2988551359,DE
+2988551360,2988551423,FR
+2988551424,2988551427,LT
+2988551428,2988551439,FR
+2988551440,2988551443,GB
+2988551444,2988551447,FR
+2988551448,2988551451,ES
+2988551452,2988551455,FR
+2988551456,2988551471,IE
+2988551472,2988551475,FR
+2988551476,2988551487,IE
+2988551488,2988551503,PL
+2988551504,2988551519,FR
+2988551520,2988551535,ES
+2988551536,2988551543,FR
+2988551544,2988551547,GB
+2988551548,2988551551,DE
+2988551552,2988551567,PL
+2988551568,2988551583,IE
+2988551584,2988551603,FR
+2988551604,2988551607,NL
+2988551608,2988551615,GB
+2988551616,2988551631,ES
+2988551632,2988551639,FR
+2988551640,2988551643,GB
+2988551644,2988551647,FR
+2988551648,2988551651,PL
+2988551652,2988551655,GB
+2988551656,2988551663,ES
+2988551664,2988551775,FR
+2988551776,2988551807,PL
+2988551808,2988551923,FR
+2988551924,2988551927,ES
+2988551928,2988551931,PL
+2988551932,2988551935,FR
+2988551936,2988552191,GB
+2988552192,2988552319,NL
+2988552320,2988552447,FR
+2988552448,2988552479,GB
+2988552480,2988552511,CH
+2988552512,2988552551,BE
+2988552552,2988552559,IE
+2988552560,2988552563,FR
+2988552564,2988552567,IE
+2988552568,2988552575,FR
+2988552576,2988552579,CH
+2988552580,2988552583,NL
+2988552584,2988552587,FR
+2988552588,2988552591,GB
+2988552592,2988552599,NL
+2988552600,2988552603,FR
+2988552604,2988552607,IE
+2988552608,2988552611,GB
+2988552612,2988552615,FR
+2988552616,2988552623,GB
+2988552624,2988552627,FR
+2988552628,2988552631,CZ
+2988552632,2988552635,IE
+2988552636,2988552639,FR
+2988552640,2988552647,PL
+2988552648,2988552651,PT
+2988552652,2988552703,FR
+2988552704,2988552711,ES
+2988552712,2988552715,PT
+2988552716,2988552719,FR
+2988552720,2988552735,DE
+2988552736,2988552751,FR
+2988552752,2988552767,ES
+2988552768,2988552771,DE
+2988552772,2988552779,FR
+2988552780,2988552783,PL
+2988552784,2988552787,GB
+2988552788,2988552795,FR
+2988552796,2988552799,PL
+2988552800,2988552831,ES
+2988552832,2988552839,BE
+2988552840,2988552847,DE
+2988552848,2988552863,FR
+2988552864,2988552879,NL
+2988552880,2988552887,FR
+2988552888,2988552891,PL
+2988552892,2988552895,FI
+2988552896,2988552911,CZ
+2988552912,2988552915,FR
+2988552916,2988552919,DE
+2988552920,2988552959,FR
+2988552960,2988552975,ES
+2988552976,2988552991,FR
+2988552992,2988552995,ES
+2988552996,2988552999,CH
+2988553000,2988553003,PT
+2988553004,2988553007,NL
+2988553008,2988553023,IE
+2988553024,2988553087,LT
+2988553088,2988553119,PL
+2988553120,2988553135,ES
+2988553136,2988553151,FR
+2988553152,2988553167,GB
+2988553168,2988553175,FR
+2988553176,2988553179,IT
+2988553180,2988553215,FR
+2988553216,2988553219,GB
+2988553220,2988553223,IT
+2988553224,2988553227,GB
+2988553228,2988553231,DE
+2988553232,2988553235,ES
+2988553236,2988553239,IE
+2988553240,2988553255,FR
+2988553256,2988553263,CH
+2988553264,2988553279,FR
+2988553280,2988553295,PL
+2988553296,2988553299,FR
+2988553300,2988553303,PL
+2988553304,2988553311,BE
+2988553312,2988553315,FR
+2988553316,2988553319,PL
+2988553320,2988553323,CH
+2988553324,2988553327,NL
+2988553328,2988553343,GB
+2988553344,2988553375,IE
+2988553376,2988553399,FR
+2988553400,2988553403,NL
+2988553404,2988553407,GB
+2988553408,2988553423,FR
+2988553424,2988553431,IE
+2988553432,2988553567,FR
+2988553568,2988553583,PT
+2988553584,2988553599,IE
+2988553600,2988553611,GB
+2988553612,2988553631,FR
+2988553632,2988553639,PL
+2988553640,2988553643,CH
+2988553644,2988553647,FR
+2988553648,2988553651,NL
+2988553652,2988553655,PL
+2988553656,2988553663,FR
+2988553664,2988553679,LT
+2988553680,2988553727,FR
+2988553728,2988553735,PL
+2988553736,2988553739,DE
+2988553740,2988553743,PL
+2988553744,2988553747,FR
+2988553748,2988553751,LT
+2988553752,2988553759,DE
+2988553760,2988553791,FR
+2988553792,2988553823,IE
+2988553824,2988553855,IT
+2988553856,2988553919,BE
+2988553920,2988553923,GB
+2988553924,2988553927,ES
+2988553928,2988553931,FR
+2988553932,2988553935,PL
+2988553936,2988553951,FR
+2988553952,2988553955,ES
+2988553956,2988553959,PL
+2988553960,2988553967,FR
+2988553968,2988553971,PL
+2988553972,2988553975,FR
+2988553976,2988554015,DE
+2988554016,2988554035,FR
+2988554036,2988554039,DE
+2988554040,2988554043,BE
+2988554044,2988554075,FR
+2988554076,2988554079,CH
+2988554080,2988554127,FR
+2988554128,2988554131,IE
+2988554132,2988554135,LT
+2988554136,2988554139,NL
+2988554140,2988554143,PL
+2988554144,2988554167,FR
+2988554168,2988554171,PL
+2988554172,2988554175,DE
+2988554176,2988554183,FR
+2988554184,2988554191,CH
+2988554192,2988554195,FR
+2988554196,2988554199,DE
+2988554200,2988554223,FR
+2988554224,2988554239,IT
+2988554240,2988554495,ES
+2988554496,2988554559,FR
+2988554560,2988554623,IT
+2988554624,2988554687,PL
+2988554688,2988554751,FR
+2988554752,2988554783,CH
+2988554784,2988554787,DE
+2988554788,2988554791,PL
+2988554792,2988554795,FR
+2988554796,2988554799,IT
+2988554800,2988554807,GB
+2988554808,2988554815,FR
+2988554816,2988554879,GB
+2988554880,2988554919,FR
+2988554920,2988554923,PL
+2988554924,2988554927,PT
+2988554928,2988554931,DE
+2988554932,2988554935,ES
+2988554936,2988554943,FR
+2988554944,2988555007,GB
+2988555008,2988555055,FR
+2988555056,2988555071,GB
+2988555072,2988555075,PT
+2988555076,2988555079,FR
+2988555080,2988555083,IT
+2988555084,2988555087,LT
+2988555088,2988555091,FI
+2988555092,2988555099,FR
+2988555100,2988555103,IT
+2988555104,2988555151,FR
+2988555152,2988555159,NL
+2988555160,2988555163,PL
+2988555164,2988555167,IE
+2988555168,2988555183,DE
+2988555184,2988555187,GB
+2988555188,2988555191,NL
+2988555192,2988555199,PL
+2988555200,2988555203,NL
+2988555204,2988555207,GB
+2988555208,2988555211,NL
+2988555212,2988555215,DE
+2988555216,2988555647,FR
+2988555648,2988555711,GB
+2988555712,2988555715,PL
+2988555716,2988555719,ES
+2988555720,2988555727,FR
+2988555728,2988555731,GB
+2988555732,2988555735,PL
+2988555736,2988555743,ES
+2988555744,2988556031,FR
+2988556032,2988556095,DE
+2988556096,2988556103,FR
+2988556104,2988556107,DE
+2988556108,2988556111,FR
+2988556112,2988556115,PL
+2988556116,2988556119,NL
+2988556120,2988556123,FR
+2988556124,2988556127,NL
+2988556128,2988556159,FR
+2988556160,2988556175,NL
+2988556176,2988556179,DE
+2988556180,2988556183,IT
+2988556184,2988556187,GB
+2988556188,2988556191,ES
+2988556192,2988556195,NL
+2988556196,2988556199,FR
+2988556200,2988556203,CZ
+2988556204,2988556207,FI
+2988556208,2988556223,IE
+2988556224,2988556231,FR
+2988556232,2988556235,DE
+2988556236,2988556239,PL
+2988556240,2988556251,FR
+2988556252,2988556255,CZ
+2988556256,2988556259,ES
+2988556260,2988556263,GB
+2988556264,2988556271,PT
+2988556272,2988556275,FR
+2988556276,2988556279,LT
+2988556280,2988556283,PL
+2988556284,2988556287,GB
2988556288,2988556295,PL
2988556296,2988556303,FR
2988556304,2988556311,PL
-2988556312,2988556319,FR
+2988556312,2988556315,FR
+2988556316,2988556319,DE
2988556320,2988556351,GB
2988556352,2988556355,DE
2988556356,2988556359,PL
@@ -75661,7 +94059,7 @@
2988556492,2988556495,DE
2988556496,2988556527,FR
2988556528,2988556535,PL
-2988556536,2988556539,GB
+2988556536,2988556539,FR
2988556540,2988556543,DE
2988556544,2988556831,FR
2988556832,2988556839,DE
@@ -75708,7 +94106,7 @@
2988557260,2988557263,DE
2988557264,2988557279,GB
2988557280,2988557287,ES
-2988557288,2988557291,IT
+2988557288,2988557291,PL
2988557292,2988557295,DE
2988557296,2988557299,BE
2988557300,2988557303,PL
@@ -75731,7 +94129,8 @@
2988557492,2988557495,FR
2988557496,2988557539,PL
2988557540,2988557599,FR
-2988557600,2988557635,GB
+2988557600,2988557631,DE
+2988557632,2988557635,GB
2988557636,2988557639,PT
2988557640,2988557643,IE
2988557644,2988557647,GB
@@ -75745,8 +94144,7 @@
2988557768,2988557771,PL
2988557772,2988557775,FR
2988557776,2988557791,BE
-2988557792,2988557823,FR
-2988557824,2988557951,DE
+2988557792,2988557951,FR
2988557952,2988557983,LT
2988557984,2988557999,FR
2988558000,2988558015,IE
@@ -75769,7 +94167,9 @@
2988558132,2988558135,PL
2988558136,2988558139,GB
2988558140,2988558143,DE
-2988558144,2988558207,PL
+2988558144,2988558175,IT
+2988558176,2988558191,IE
+2988558192,2988558207,PL
2988558208,2988558271,ES
2988558272,2988558335,FI
2988558336,2988558399,IE
@@ -75783,17 +94183,19 @@
2988558732,2988558735,PT
2988558736,2988558747,FR
2988558748,2988558751,GB
-2988558752,2988558767,FR
-2988558768,2988558783,CH
+2988558752,2988558783,CH
2988558784,2988558831,FR
2988558832,2988558847,IT
2988558848,2988558883,FR
2988558884,2988558887,BE
2988558888,2988558891,GB
2988558892,2988558895,NL
-2988558896,2988558903,FR
+2988558896,2988558899,CH
+2988558900,2988558903,FR
2988558904,2988558907,NL
-2988558908,2988558935,GB
+2988558908,2988558911,PL
+2988558912,2988558927,LT
+2988558928,2988558935,GB
2988558936,2988558939,PL
2988558940,2988558943,GB
2988558944,2988558975,FR
@@ -75801,16 +94203,15 @@
2988559008,2988559011,BE
2988559012,2988559015,PL
2988559016,2988559039,FR
-2988559040,2988559071,GB
+2988559040,2988559055,GB
+2988559056,2988559059,NL
+2988559060,2988559063,LT
+2988559064,2988559071,FR
2988559072,2988559103,ES
2988559104,2988559135,PL
2988559136,2988559139,DE
2988559140,2988559151,PL
-2988559152,2988559231,FR
-2988559232,2988559247,DE
-2988559248,2988559255,FR
-2988559256,2988559259,DE
-2988559260,2988559263,GB
+2988559152,2988559263,FR
2988559264,2988559295,LT
2988559296,2988559359,PL
2988559360,2988559631,FR
@@ -75818,8 +94219,7 @@
2988559664,2988559679,ES
2988559680,2988559691,FR
2988559692,2988559695,PL
-2988559696,2988559699,DE
-2988559700,2988559703,PL
+2988559696,2988559703,FR
2988559704,2988559707,DE
2988559708,2988559711,PL
2988559712,2988559723,FR
@@ -75832,7 +94232,8 @@
2988559872,2988560383,IT
2988560384,2988560387,FR
2988560388,2988560391,ES
-2988560392,2988560399,IT
+2988560392,2988560395,GB
+2988560396,2988560399,FR
2988560400,2988560415,IE
2988560416,2988560439,FR
2988560440,2988560443,DE
@@ -75840,15 +94241,13 @@
2988560448,2988560451,DE
2988560452,2988560455,PL
2988560456,2988560479,FR
-2988560480,2988560511,ES
-2988560512,2988560519,IT
+2988560480,2988560515,ES
+2988560516,2988560519,FI
2988560520,2988560523,DE
2988560524,2988560527,BE
-2988560528,2988560531,ES
-2988560532,2988560535,FR
+2988560528,2988560535,ES
2988560536,2988560543,IE
-2988560544,2988560575,GB
-2988560576,2988560591,ES
+2988560544,2988560591,GB
2988560592,2988560595,NL
2988560596,2988560599,IT
2988560600,2988560603,PL
@@ -75879,17 +94278,18 @@
2988560960,2988560975,FR
2988560976,2988560991,ES
2988560992,2988560995,FR
-2988560996,2988561007,DE
-2988561008,2988561023,FR
+2988560996,2988560999,DE
+2988561000,2988561023,FR
2988561024,2988561027,BE
-2988561028,2988561039,FR
+2988561028,2988561031,FR
+2988561032,2988561039,ES
2988561040,2988561043,GB
2988561044,2988561047,DE
2988561048,2988561051,PL
2988561052,2988561055,GB
2988561056,2988561059,FR
2988561060,2988561071,PL
-2988561072,2988561075,NL
+2988561072,2988561075,ES
2988561076,2988561079,LT
2988561080,2988561083,PL
2988561084,2988561087,GB
@@ -75912,8 +94312,11 @@
2988561232,2988561235,PT
2988561236,2988561239,GB
2988561240,2988561243,BE
-2988561244,2988561263,PL
-2988561264,2988561283,FR
+2988561244,2988561247,PL
+2988561248,2988561251,FI
+2988561252,2988561255,CH
+2988561256,2988561259,ES
+2988561260,2988561283,FR
2988561284,2988561287,NL
2988561288,2988561291,ES
2988561292,2988561295,PT
@@ -75946,7 +94349,8 @@
2988561848,2988561855,FR
2988561856,2988561871,IE
2988561872,2988561875,CH
-2988561876,2988561887,FR
+2988561876,2988561879,A1
+2988561880,2988561887,FR
2988561888,2988561903,PL
2988561904,2988561983,FR
2988561984,2988562015,DE
@@ -75954,7 +94358,7 @@
2988562028,2988562031,LT
2988562032,2988562047,PL
2988562048,2988562079,DE
-2988562080,2988562095,PL
+2988562080,2988562095,ES
2988562096,2988562111,IE
2988562112,2988562127,FR
2988562128,2988562143,PL
@@ -75962,7 +94366,10 @@
2988562152,2988562163,PL
2988562164,2988562167,DE
2988562168,2988562431,NL
-2988562432,2988562591,FR
+2988562432,2988562567,FR
+2988562568,2988562583,CH
+2988562584,2988562587,FR
+2988562588,2988562591,IT
2988562592,2988562599,GB
2988562600,2988562607,FR
2988562608,2988562611,PT
@@ -75971,7 +94378,7 @@
2988562688,2988562703,GB
2988562704,2988562707,PL
2988562708,2988562711,DE
-2988562712,2988562719,GB
+2988562712,2988562719,FR
2988562720,2988562815,BE
2988562816,2988562823,PL
2988562824,2988562831,PT
@@ -75979,8 +94386,7 @@
2988562836,2988562839,NL
2988562840,2988562843,LT
2988562844,2988562847,PL
-2988562848,2988562855,NL
-2988562856,2988562863,DE
+2988562848,2988562863,GB
2988562864,2988562911,FR
2988562912,2988562943,PL
2988562944,2988563011,FR
@@ -76002,7 +94408,7 @@
2988563152,2988563183,FR
2988563184,2988563187,CZ
2988563188,2988563191,PL
-2988563192,2988563199,CH
+2988563192,2988563199,FR
2988563200,2988563455,IE
2988563456,2988563487,FR
2988563488,2988563499,GB
@@ -76015,8 +94421,7 @@
2988563556,2988563559,BE
2988563560,2988563567,FR
2988563568,2988563571,NL
-2988563572,2988563575,GB
-2988563576,2988563583,IE
+2988563572,2988563583,GB
2988563584,2988563591,PT
2988563592,2988563599,GB
2988563600,2988563607,ES
@@ -76026,7 +94431,7 @@
2988563664,2988563667,FR
2988563668,2988563671,PL
2988563672,2988563675,FR
-2988563676,2988563679,PL
+2988563676,2988563679,NL
2988563680,2988563967,FR
2988563968,2988563999,BE
2988564000,2988564015,IE
@@ -76087,11 +94492,15 @@
2990276608,2990342143,ES
2990342144,2990407679,KW
2990407680,2990473215,RU
-2990473216,2990518015,DE
+2990473216,2990517655,DE
+2990517656,2990517663,IT
+2990517664,2990518015,DE
2990518016,2990518079,IT
-2990518080,2990525247,DE
-2990525248,2990525311,ES
-2990525312,2990528703,DE
+2990518080,2990518815,DE
+2990518816,2990518823,IT
+2990518824,2990528031,DE
+2990528032,2990528039,IT
+2990528040,2990528703,DE
2990528704,2990528735,RS
2990528736,2990534655,DE
2990534656,2990534687,EG
@@ -76111,9 +94520,12 @@
2991177728,2991178751,A1
2991178752,2991179263,SE
2991179264,2991179327,A1
-2991179328,2991180799,SE
-2991180800,2991182847,A1
-2991182848,2991185919,SE
+2991179328,2991181823,SE
+2991181824,2991182335,A1
+2991182336,2991182591,SE
+2991182592,2991182847,A1
+2991182848,2991183871,SE
+2991183872,2991185919,A1
2991185920,2991185951,GB
2991185952,2991185967,NL
2991185968,2991185983,DE
@@ -76299,8 +94711,15 @@
2991505408,2991521791,SE
2991521792,2991538175,RS
2991538176,2991554559,SI
-2991554560,2991571455,GB
-2991571456,2991587327,IT
+2991554560,2991570943,GB
+2991570944,2991571455,IT
+2991571456,2991571967,GB
+2991571968,2991572479,IT
+2991572480,2991572991,IL
+2991572992,2991573503,GB
+2991573504,2991574015,ES
+2991574016,2991574527,DE
+2991574528,2991587327,IT
2991587328,2991718399,SA
2991718400,2991849471,CH
2991849472,2991980543,NL
@@ -76320,17 +94739,22 @@
2991982608,2991982751,JP
2991982752,2991982759,UA
2991982760,2991982846,JP
-2991982847,2991983359,UA
-2991983360,2991983615,JP
+2991982847,2991983103,UA
+2991983104,2991983111,IN
+2991983112,2991983367,UA
+2991983368,2991983615,JP
2991983616,2991984383,UA
2991984384,2991984639,JP
-2991984640,2991985919,UA
-2991985920,2991986175,JP
-2991986176,2991986431,UA
-2991986432,2991986687,JP
-2991986688,2991988263,UA
-2991988264,2991988271,IN
-2991988272,2992111615,UA
+2991984640,2991985951,UA
+2991985952,2991985959,JP
+2991985960,2991985967,UA
+2991985968,2991986175,JP
+2991986176,2991986479,UA
+2991986480,2991986559,JP
+2991986560,2991986687,IN
+2991986688,2991987799,UA
+2991987800,2991987807,CA
+2991987808,2992111615,UA
2992111616,2992373759,KZ
2992373760,2992635903,UA
2992635904,2993684479,GB
@@ -76347,7 +94771,8 @@
2995007488,2995009535,TR
2995009536,2995011583,ES
2995011584,2995013631,DE
-2995013632,2995015679,SE
+2995013632,2995013887,MT
+2995013888,2995015679,SE
2995015680,2995017727,BG
2995017728,2995019775,IT
2995019776,2995021823,RU
@@ -76355,6 +94780,11 @@
2995023872,2995044351,MD
2995044352,2995046399,ES
2995046400,2995048447,RU
+2995048448,2995050495,NL
+2995050496,2995052543,AL
+2995052544,2995056639,DK
+2995056640,2995058687,DE
+2995058688,2995060735,SE
2995060736,2995126271,UA
2995126272,2995191807,GE
2995191808,2995257343,LB
@@ -76394,7 +94824,7 @@
2996809728,2996813823,UA
2996813824,2996817919,PL
2996817920,2996826111,UA
-2996826112,2996830207,RU
+2996826112,2996830207,BY
2996830208,2996862975,HR
2996862976,2996895743,AM
2996895744,2996928511,KW
@@ -76406,9 +94836,7 @@
2996995648,2996995711,BZ
2996995712,2996995775,BY
2996995776,2996995839,RU
-2996995840,2996996127,DE
-2996996128,2996996159,CA
-2996996160,2996996287,DE
+2996995840,2996996287,DE
2996996288,2996996351,RU
2996996352,2996996383,DE
2996996384,2996996447,RU
@@ -76420,8 +94848,7 @@
2996996864,2996997119,CN
2996997120,2996998143,DE
2996998144,2996998271,UA
-2996998272,2996998463,DE
-2996998464,2996998527,CA
+2996998272,2996998527,DE
2996998528,2996998655,UA
2996998656,2996998719,DE
2996998720,2996998911,RU
@@ -76432,9 +94859,7 @@
2996999680,2996999935,GB
2996999936,2997000447,DE
2997000448,2997000703,RU
-2997000704,2997000831,DE
-2997000832,2997000959,CA
-2997000960,2997001471,DE
+2997000704,2997001471,DE
2997001472,2997001727,BZ
2997001728,2997001983,TR
2997001984,2997003071,DE
@@ -76443,7 +94868,7 @@
2997003200,2997003263,RU
2997003264,2997003287,DE
2997003288,2997003295,NL
-2997003296,2997003327,CA
+2997003296,2997003327,DE
2997003328,2997003391,RU
2997003392,2997004031,DE
2997004032,2997004287,BZ
@@ -76474,9 +94899,7 @@
2997019136,2997019391,TR
2997019392,2997019711,DE
2997019712,2997019903,US
-2997019904,2997020415,DE
-2997020416,2997020671,CA
-2997020672,2997020719,DE
+2997019904,2997020719,DE
2997020720,2997020735,SE
2997020736,2997020799,DE
2997020800,2997020863,CA
@@ -76509,7 +94932,9 @@
2997452800,2997485567,BG
2997485568,2997486847,FR
2997486848,2997486911,BH
-2997486912,2997518335,FR
+2997486912,2997513343,FR
+2997513344,2997513359,IT
+2997513360,2997518335,FR
2997518336,2997528063,RU
2997528064,2997528319,UA
2997528320,2997583871,RU
@@ -76518,10 +94943,57 @@
2997649408,2997682175,BY
2997682176,2997714943,RU
2997714944,2997747711,IR
-2997747712,2997780479,DE
+2997747712,2997748479,DE
+2997748480,2997748575,AT
+2997748576,2997748607,DE
+2997748608,2997748735,AT
+2997748736,2997748991,CH
+2997748992,2997749119,GB
+2997749120,2997749247,IE
+2997749248,2997749375,FR
+2997749376,2997749503,ES
+2997749504,2997749631,PT
+2997749632,2997749759,IT
+2997749760,2997749887,PL
+2997749888,2997750015,CZ
+2997750016,2997750143,SK
+2997750144,2997750271,RU
+2997750272,2997750399,RO
+2997750400,2997750527,HU
+2997750528,2997750655,BA
+2997750656,2997750783,HR
+2997750784,2997750911,GR
+2997750912,2997751039,TR
+2997751040,2997751167,NO
+2997751168,2997751295,FI
+2997751296,2997751423,SE
+2997751424,2997751551,DK
+2997751552,2997751679,LI
+2997751680,2997751807,BE
+2997751808,2997751935,NL
+2997751936,2997752063,LU
+2997752064,2997752191,CA
+2997752192,2997752319,MX
+2997752320,2997752447,EE
+2997752448,2997752575,LV
+2997752576,2997752703,LT
+2997752704,2997752831,CN
+2997752832,2997752959,KR
+2997752960,2997753087,JP
+2997753088,2997753215,AU
+2997753216,2997753343,NZ
+2997753344,2997753471,VN
+2997753472,2997753599,BR
+2997753600,2997753727,TH
+2997753728,2997753855,IN
+2997753856,2997754655,US
+2997754656,2997754879,DE
+2997754880,2997754895,SG
+2997754896,2997780479,DE
2997780480,2997813247,SE
2997813248,2997846015,RS
-2997846016,2997878783,MD
+2997846016,2997878527,MD
+2997878528,2997878783,EU
2997878784,2998140927,RU
2998140928,2998403071,PL
2998403072,2998665215,RU
@@ -76537,7 +95009,8 @@
2999985744,2999985759,NL
2999985760,2999988991,BE
2999988992,2999988999,FR
-2999989000,2999989247,NL
+2999989000,2999989007,BE
+2999989008,2999989247,NL
2999989248,2999991039,BE
2999991040,2999992319,NL
2999992320,3000000511,RU
@@ -76634,7 +95107,7 @@
3000506368,3000508415,PL
3000508416,3000510463,UA
3000510464,3000512511,PL
-3000512512,3000514559,SE
+3000512512,3000514559,EE
3000514560,3000516607,SI
3000516608,3000520703,RU
3000520704,3000522751,CZ
@@ -76871,7 +95344,10 @@
3001886512,3001886527,US
3001886528,3001886543,IE
3001886544,3001886559,US
-3001886560,3001888767,NL
+3001886560,3001886567,NL
+3001886568,3001886575,CY
+3001886576,3001886583,GE
+3001886584,3001888767,NL
3001888768,3001892863,BH
3001892864,3001896959,AZ
3001896960,3001901055,CH
@@ -76889,16 +95365,9 @@
3001954304,3001958399,IT
3001958400,3001962495,KZ
3001962496,3001966591,GB
-3001966592,3001968639,NL
-3001968640,3001970687,BE
+3001966592,3001970687,NL
3001970688,3001974783,RU
-3001974784,3001975751,GB
-3001975752,3001975759,UA
-3001975760,3001977135,GB
-3001977136,3001977143,CN
-3001977144,3001978615,GB
-3001978616,3001978623,CN
-3001978624,3001982975,GB
+3001974784,3001982975,GB
3001982976,3001987071,CH
3001987072,3001991167,JO
3001991168,3001995263,IR
@@ -76907,9 +95376,9 @@
3002003456,3002011647,PL
3002011648,3002015743,BA
3002015744,3002019839,IT
-3002019840,3002020287,NL
-3002020288,3002020303,US
-3002020304,3002023935,NL
+3002019840,3002022143,NL
+3002022144,3002022399,EU
+3002022400,3002023935,NL
3002023936,3002028031,DE
3002028032,3002036223,GB
3002036224,3002040319,BG
@@ -76979,9 +95448,8 @@
3002673152,3002675199,GB
3002675200,3002677247,DK
3002677248,3002683391,RU
-3002683392,3002685183,DE
-3002685184,3002685439,CH
-3002685440,3002687487,MT
+3002683392,3002685439,DE
+3002685440,3002687487,PL
3002687488,3002688511,GB
3002688512,3002689535,NL
3002689536,3002691583,IL
@@ -77005,9 +95473,14 @@
3002730496,3002732543,DE
3002732544,3002734591,NL
3002734592,3002736639,CH
+3002736640,3002738687,LT
3002738688,3002740735,PL
3002740736,3002742783,GB
-3002742784,3002744831,LI
+3002742784,3002742927,LI
+3002742928,3002742943,CH
+3002742944,3002743071,LI
+3002743072,3002743103,US
+3002743104,3002744831,LI
3002744832,3002746879,IT
3002746880,3002748927,GB
3002748928,3002750975,DE
@@ -77020,7 +95493,9 @@
3002763264,3002765311,RS
3002765312,3002767359,NL
3002767360,3002769407,RU
-3002769408,3002771711,DE
+3002769408,3002771655,DE
+3002771656,3002771663,NL
+3002771664,3002771711,DE
3002771712,3002771719,NL
3002771720,3002773503,DE
3002773504,3002775551,GB
@@ -77051,9 +95526,12 @@
3002826752,3002828799,SE
3002828800,3002830847,RU
3002830848,3002834943,FI
-3002834944,3002835887,LU
+3002834944,3002834975,CH
+3002834976,3002835887,LU
3002835888,3002835903,US
-3002835904,3002836991,LU
+3002835904,3002836383,LU
+3002836384,3002836399,BE
+3002836400,3002836991,LU
3002836992,3002841087,GB
3002841088,3002843135,CZ
3002843136,3002845183,NL
@@ -77082,20 +95560,29 @@
3003058688,3003058751,EE
3003058752,3003058943,PH
3003058944,3003059199,IL
-3003059200,3003060223,EE
+3003059200,3003059711,EE
+3003059712,3003059967,GI
+3003059968,3003060223,EE
3003060224,3003062271,DE
3003062272,3003064319,NL
3003064320,3003066367,RO
-3003066368,3003066887,PL
-3003066888,3003066895,MX
+3003066368,3003066895,PL
3003066896,3003066903,RU
-3003066904,3003066911,UA
-3003066912,3003068415,PL
+3003066904,3003068415,PL
3003068416,3003070463,NL
3003070464,3003074559,GB
3003074560,3003076607,IT
-3003076608,3003080703,GB
-3003080704,3003082751,FR
+3003076608,3003077663,GB
+3003077664,3003077679,US
+3003077680,3003077695,GB
+3003077696,3003077711,US
+3003077712,3003077887,GB
+3003077888,3003077951,US
+3003077952,3003080703,GB
+3003080704,3003081152,FR
+3003081153,3003081156,GB
+3003081157,3003081157,ES
+3003081158,3003082751,FR
3003082752,3003084799,ES
3003084800,3003086847,IT
3003086848,3003088895,RU
@@ -77113,11 +95600,7 @@
3003099136,3003101183,CZ
3003101184,3003103231,UA
3003103232,3003105279,IT
-3003105280,3003107084,NL
-3003107085,3003107085,US
-3003107086,3003107091,NL
-3003107092,3003107093,US
-3003107094,3003107327,NL
+3003105280,3003107327,NL
3003107328,3003109375,RU
3003109376,3003111423,FR
3003111424,3003113471,IT
@@ -77157,7 +95640,6 @@
3026075648,3026083839,AF
3026083840,3026087935,CN
3026087936,3026089983,AU
-3026089984,3026092031,MN
3026092032,3026108415,MO
3026108416,3026114559,JP
3026114560,3026115583,SG
@@ -77232,7 +95714,6 @@
3031582720,3031584767,SG
3031584768,3031587839,JP
3031587840,3031592959,ID
-3031592960,3031595007,HK
3031595008,3031596031,AU
3031596032,3031597055,KH
3031597056,3031613439,PK
@@ -77362,10 +95843,17 @@
3039035392,3039166463,DO
3039297536,3039363071,PY
3039428608,3039494143,CL
+3039690752,3039821823,AR
3039821824,3040346111,CO
3040870400,3041001471,PE
+3041132544,3041263615,CO
+3041394688,3041656831,CL
3041918976,3042967551,AR
-3045064704,3045588991,CO
+3045064704,3047161855,CO
+3047161856,3047292927,CL
+3047424000,3047686143,AR
+3047948288,3048079359,CL
+3048210432,3048275967,PE
3053453312,3054501887,ID
3054501888,3054534655,HK
3054534656,3054537727,PH
@@ -77430,7 +95918,9 @@
3057041408,3057049599,MY
3057049600,3057050623,AU
3057050624,3057051647,SG
-3057051648,3057053695,AU
+3057051648,3057052415,AU
+3057052416,3057052671,ES
+3057052672,3057053695,AU
3057053696,3057054719,JP
3057054720,3057055743,HK
3057055744,3057057791,JP
@@ -77540,7 +96030,6 @@
3075577856,3075579903,ID
3075579904,3075581951,MY
3075581952,3075582975,MN
-3075582976,3075583999,TH
3075584000,3075585023,JP
3075585024,3075586047,CN
3075586048,3075588095,KH
@@ -77620,9 +96109,13 @@
3093246432,3093246439,AU
3093246440,3093247327,US
3093247328,3093247335,AU
-3093247336,3093247511,US
+3093247336,3093247431,US
+3093247432,3093247439,CA
+3093247440,3093247511,US
3093247512,3093247519,AU
-3093247520,3093248375,US
+3093247520,3093247967,US
+3093247968,3093247983,CA
+3093247984,3093248375,US
3093248376,3093248399,AU
3093248400,3093248415,US
3093248416,3093248431,AU
@@ -77640,13 +96133,9 @@
3093249680,3093249687,AU
3093249688,3093282815,US
3093282816,3093299199,CA
-3093299200,3093940991,US
-3093940992,3093941055,CN
-3093941056,3093941103,US
-3093941104,3093941119,CN
-3093941120,3093941191,US
-3093941192,3093941199,CN
-3093941200,3093954759,US
+3093299200,3093908991,US
+3093908992,3093909247,PR
+3093909248,3093954759,US
3093954760,3093954767,AR
3093954768,3093954975,US
3093954976,3093954983,AU
@@ -77665,10 +96154,7 @@
3093955368,3093955439,US
3093955440,3093955447,CA
3093955448,3093955455,GB
-3093955456,3093955567,US
-3093955568,3093955575,GB
-3093955576,3093955647,US
-3093955648,3093955663,GB
+3093955456,3093955663,US
3093955664,3093955679,CA
3093955680,3093956479,US
3093956480,3093956495,IE
@@ -77774,7 +96260,812 @@
3093986432,3093986463,US
3093986464,3093986495,GB
3093986496,3094020095,US
-3094020096,3094085631,CA
+3094020096,3094022911,CA
+3094022912,3094022919,GB
+3094022920,3094023487,CA
+3094023488,3094023495,UY
+3094023496,3094023511,CA
+3094023512,3094023519,GB
+3094023520,3094023527,CA
+3094023528,3094023535,PT
+3094023536,3094023559,CA
+3094023560,3094023567,CN
+3094023568,3094023607,CA
+3094023608,3094023615,AE
+3094023616,3094023623,MA
+3094023624,3094023735,CA
+3094023736,3094023743,TR
+3094023744,3094023751,BR
+3094023752,3094023759,US
+3094023760,3094023767,CA
+3094023768,3094023775,MX
+3094023776,3094023783,US
+3094023784,3094023791,IT
+3094023792,3094023807,CA
+3094023808,3094023815,SY
+3094023816,3094023847,CA
+3094023848,3094023855,DE
+3094023856,3094023935,CA
+3094023936,3094023943,BR
+3094023944,3094023951,PH
+3094023952,3094023959,BR
+3094023960,3094023967,CA
+3094023968,3094023975,CL
+3094023976,3094023991,CA
+3094023992,3094023999,RU
+3094024000,3094024007,DE
+3094024008,3094024015,CA
+3094024016,3094024023,AU
+3094024024,3094024031,RU
+3094024032,3094024039,CA
+3094024040,3094024047,IT
+3094024048,3094024055,BR
+3094024056,3094024071,CA
+3094024072,3094024079,FR
+3094024080,3094024087,CO
+3094024088,3094024143,CA
+3094024144,3094024175,RU
+3094024176,3094024191,CA
+3094024192,3094024199,FR
+3094024200,3094024207,CO
+3094024208,3094024215,BR
+3094024216,3094024231,CA
+3094024232,3094024247,SA
+3094024248,3094024287,CA
+3094024288,3094024295,EG
+3094024296,3094024303,CA
+3094024304,3094024311,RU
+3094024312,3094024319,MA
+3094024320,3094024327,KW
+3094024328,3094024335,IR
+3094024336,3094024343,CA
+3094024344,3094024351,MX
+3094024352,3094024359,CA
+3094024360,3094024367,US
+3094024368,3094024559,CA
+3094024560,3094024567,LV
+3094024568,3094024575,CA
+3094024576,3094024583,IL
+3094024584,3094024599,US
+3094024600,3094024607,ES
+3094024608,3094024615,US
+3094024616,3094024623,CA
+3094024624,3094024631,US
+3094024632,3094024639,BR
+3094024640,3094024647,CA
+3094024648,3094024655,US
+3094024656,3094024663,AR
+3094024664,3094024671,SA
+3094024672,3094024687,CA
+3094024688,3094024695,BR
+3094024696,3094024703,IT
+3094024704,3094024719,CA
+3094024720,3094024727,TR
+3094024728,3094024735,FR
+3094024736,3094024791,CA
+3094024792,3094024799,BR
+3094024800,3094024815,CA
+3094024816,3094024823,MX
+3094024824,3094024847,CA
+3094024848,3094024855,SA
+3094024856,3094024863,EC
+3094024864,3094024895,US
+3094024896,3094025071,CA
+3094025072,3094025079,US
+3094025080,3094025087,IN
+3094025088,3094025151,CA
+3094025152,3094025159,IL
+3094025160,3094025167,QA
+3094025168,3094025175,US
+3094025176,3094025183,IR
+3094025184,3094025191,CA
+3094025192,3094025199,PH
+3094025200,3094025231,CA
+3094025232,3094025239,US
+3094025240,3094025247,DO
+3094025248,3094025255,BR
+3094025256,3094025263,US
+3094025264,3094025271,CH
+3094025272,3094025335,CA
+3094025336,3094025343,IN
+3094025344,3094025351,CA
+3094025352,3094025359,AR
+3094025360,3094025375,CA
+3094025376,3094025383,PE
+3094025384,3094025391,CA
+3094025392,3094025399,AR
+3094025400,3094025407,MX
+3094025408,3094025415,US
+3094025416,3094025423,PT
+3094025424,3094025759,CA
+3094025760,3094025791,US
+3094025792,3094025823,CA
+3094025824,3094025919,US
+3094025920,3094026175,CA
+3094026176,3094026191,BR
+3094026192,3094026207,CA
+3094026208,3094026239,US
+3094026240,3094026271,AR
+3094026272,3094026335,BR
+3094026336,3094026351,PK
+3094026352,3094026367,CA
+3094026368,3094026375,GB
+3094026376,3094026495,CA
+3094026496,3094026503,GB
+3094026504,3094026527,CA
+3094026528,3094026535,FR
+3094026536,3094026551,CA
+3094026552,3094026559,SA
+3094026560,3094026623,CA
+3094026624,3094026631,US
+3094026632,3094026639,CA
+3094026640,3094026647,US
+3094026648,3094026695,CA
+3094026696,3094026703,JP
+3094026704,3094026719,CA
+3094026720,3094026727,DK
+3094026728,3094026743,CA
+3094026744,3094026751,US
+3094026752,3094026759,CA
+3094026760,3094026767,HK
+3094026768,3094026919,CA
+3094026920,3094026927,CO
+3094026928,3094026935,BN
+3094026936,3094026959,CA
+3094026960,3094026967,UY
+3094026968,3094026975,CA
+3094026976,3094026983,AE
+3094026984,3094026991,AR
+3094026992,3094027071,CA
+3094027072,3094027079,IL
+3094027080,3094027087,CA
+3094027088,3094027095,CO
+3094027096,3094027103,US
+3094027104,3094027111,NZ
+3094027112,3094027119,CY
+3094027120,3094027127,CA
+3094027128,3094027135,MX
+3094027136,3094027143,US
+3094027144,3094027151,FR
+3094027152,3094027159,AR
+3094027160,3094027167,PK
+3094027168,3094027175,CA
+3094027176,3094027183,BH
+3094027184,3094027191,CA
+3094027192,3094027199,IN
+3094027200,3094027207,US
+3094027208,3094027215,CA
+3094027216,3094027223,US
+3094027224,3094027231,CA
+3094027232,3094027239,IR
+3094027240,3094027247,CA
+3094027248,3094027263,US
+3094027264,3094027271,CA
+3094027272,3094027279,CO
+3094027280,3094027287,GB
+3094027288,3094027359,YE
+3094027360,3094027375,CA
+3094027376,3094027383,PT
+3094027384,3094027391,CA
+3094027392,3094027399,GT
+3094027400,3094027407,US
+3094027408,3094027415,BR
+3094027416,3094027423,JP
+3094027424,3094027431,IN
+3094027432,3094027455,CA
+3094027456,3094027487,AR
+3094027488,3094027519,CN
+3094027520,3094027551,US
+3094027552,3094027583,CA
+3094027584,3094027615,US
+3094027616,3094027911,CA
+3094027912,3094027919,TR
+3094027920,3094027927,CA
+3094027928,3094027935,IL
+3094027936,3094027943,SA
+3094027944,3094027951,KR
+3094027952,3094027959,CA
+3094027960,3094027967,GB
+3094027968,3094027975,CN
+3094027976,3094027983,AR
+3094027984,3094027991,US
+3094027992,3094027999,CA
+3094028000,3094028007,BR
+3094028008,3094028191,CA
+3094028192,3094028223,US
+3094028224,3094029119,CA
+3094029120,3094029151,US
+3094029152,3094029919,CA
+3094029920,3094029951,BM
+3094029952,3094029999,CA
+3094030000,3094030015,UA
+3094030016,3094030239,CA
+3094030240,3094030255,SM
+3094030256,3094030335,CA
+3094030336,3094030591,US
+3094030592,3094030847,CA
+3094030848,3094030855,IN
+3094030856,3094030863,US
+3094030864,3094030871,BR
+3094030872,3094030887,US
+3094030888,3094030903,MX
+3094030904,3094030911,TR
+3094030912,3094030919,AE
+3094030920,3094030935,CA
+3094030936,3094030943,AE
+3094030944,3094030967,CA
+3094030968,3094030975,BR
+3094030976,3094030983,CA
+3094030984,3094030991,TR
+3094030992,3094030999,US
+3094031000,3094031071,CA
+3094031072,3094031079,CL
+3094031080,3094031087,DE
+3094031088,3094031095,US
+3094031096,3094031103,HU
+3094031104,3094031111,IR
+3094031112,3094031119,US
+3094031120,3094031135,CA
+3094031136,3094031143,DE
+3094031144,3094031151,IQ
+3094031152,3094031159,IN
+3094031160,3094031167,US
+3094031168,3094031175,MX
+3094031176,3094031183,AR
+3094031184,3094031191,CA
+3094031192,3094031199,BD
+3094031200,3094031247,CA
+3094031248,3094031255,DE
+3094031256,3094031263,CA
+3094031264,3094031279,DE
+3094031280,3094031287,IN
+3094031288,3094031295,MX
+3094031296,3094031303,BD
+3094031304,3094031335,CA
+3094031336,3094031343,PH
+3094031344,3094031351,CA
+3094031352,3094031359,EG
+3094031360,3094031399,CA
+3094031400,3094031407,CO
+3094031408,3094031415,IN
+3094031416,3094031423,PK
+3094031424,3094031431,SY
+3094031432,3094031439,CU
+3094031440,3094031447,IL
+3094031448,3094031455,CA
+3094031456,3094031463,IN
+3094031464,3094031471,CA
+3094031472,3094031479,IN
+3094031480,3094031487,GB
+3094031488,3094031503,CA
+3094031504,3094031519,DE
+3094031520,3094031543,CA
+3094031544,3094031551,YE
+3094031552,3094031559,AE
+3094031560,3094031567,BR
+3094031568,3094031583,DE
+3094031584,3094031591,IR
+3094031592,3094031599,CA
+3094031600,3094031607,BR
+3094031608,3094031615,GB
+3094031616,3094031623,US
+3094031624,3094031631,BR
+3094031632,3094031647,US
+3094031648,3094031655,CA
+3094031656,3094031663,SY
+3094031664,3094031671,AU
+3094031672,3094031679,SY
+3094031680,3094031727,CA
+3094031728,3094031735,US
+3094031736,3094031743,DK
+3094031744,3094031751,CA
+3094031752,3094031759,AR
+3094031760,3094031775,CA
+3094031776,3094031783,US
+3094031784,3094031791,EG
+3094031792,3094031999,CA
+3094032000,3094032007,US
+3094032008,3094032015,CA
+3094032016,3094032047,US
+3094032048,3094032063,GB
+3094032064,3094032071,IN
+3094032072,3094032079,US
+3094032080,3094032087,ES
+3094032088,3094032135,CA
+3094032136,3094032143,PK
+3094032144,3094032151,CA
+3094032152,3094032159,JO
+3094032160,3094032167,IL
+3094032168,3094032175,IN
+3094032176,3094032183,BR
+3094032184,3094032191,DE
+3094032192,3094032199,CA
+3094032200,3094032207,US
+3094032208,3094032215,CL
+3094032216,3094032655,CA
+3094032656,3094032663,MA
+3094032664,3094032671,CA
+3094032672,3094032679,CO
+3094032680,3094032687,KW
+3094032688,3094032759,CA
+3094032760,3094032767,US
+3094032768,3094032775,EC
+3094032776,3094032791,CA
+3094032792,3094032807,LY
+3094032808,3094032815,US
+3094032816,3094032863,CA
+3094032864,3094032871,CN
+3094032872,3094032975,CA
+3094032976,3094032983,BR
+3094032984,3094032991,CA
+3094032992,3094032999,US
+3094033000,3094033007,CA
+3094033008,3094033015,RU
+3094033016,3094033023,BR
+3094033024,3094033031,IN
+3094033032,3094033055,CA
+3094033056,3094033063,US
+3094033064,3094033071,BO
+3094033072,3094033087,CA
+3094033088,3094033095,US
+3094033096,3094033103,TR
+3094033104,3094033119,US
+3094033120,3094033127,PK
+3094033128,3094033135,CA
+3094033136,3094033143,US
+3094033144,3094033255,CA
+3094033256,3094033263,PK
+3094033264,3094033271,IR
+3094033272,3094033279,US
+3094033280,3094033287,BR
+3094033288,3094033295,MX
+3094033296,3094033303,BR
+3094033304,3094033319,CA
+3094033320,3094033327,MX
+3094033328,3094033351,CA
+3094033352,3094033359,PK
+3094033360,3094033367,AE
+3094033368,3094033375,US
+3094033376,3094033383,CA
+3094033384,3094033391,US
+3094033392,3094033399,AR
+3094033400,3094033407,IR
+3094033408,3094033415,CA
+3094033416,3094033423,US
+3094033424,3094033471,CA
+3094033472,3094033479,GB
+3094033480,3094033487,US
+3094033488,3094033495,BR
+3094033496,3094033503,CA
+3094033504,3094033511,PK
+3094033512,3094033519,MX
+3094033520,3094033527,CN
+3094033528,3094033535,CA
+3094033536,3094033543,BR
+3094033544,3094033607,CA
+3094033608,3094033615,PH
+3094033616,3094033655,CA
+3094033656,3094033663,GB
+3094033664,3094033671,CA
+3094033672,3094033679,AR
+3094033680,3094033703,CA
+3094033704,3094033711,AL
+3094033712,3094033719,CA
+3094033720,3094033727,AE
+3094033728,3094033767,CA
+3094033768,3094033775,UA
+3094033776,3094033879,CA
+3094033880,3094033887,VN
+3094033888,3094033895,AE
+3094033896,3094033903,CA
+3094033904,3094033911,CO
+3094033912,3094033919,BR
+3094033920,3094033927,MD
+3094033928,3094033935,CA
+3094033936,3094033943,BR
+3094033944,3094033951,US
+3094033952,3094033959,MX
+3094033960,3094033967,LB
+3094033968,3094033975,US
+3094033976,3094033983,CA
+3094033984,3094033999,BR
+3094034000,3094034007,CA
+3094034008,3094034015,GR
+3094034016,3094034023,IT
+3094034024,3094034031,CA
+3094034032,3094034039,US
+3094034040,3094034047,CA
+3094034048,3094034055,BY
+3094034056,3094034063,BR
+3094034064,3094034071,CA
+3094034072,3094034079,US
+3094034080,3094034095,CA
+3094034096,3094034103,IN
+3094034104,3094034111,US
+3094034112,3094034119,CA
+3094034120,3094034127,US
+3094034128,3094034143,CA
+3094034144,3094034151,RU
+3094034152,3094034159,US
+3094034160,3094034167,PK
+3094034168,3094036479,CA
+3094036480,3094036487,US
+3094036488,3094036703,CA
+3094036704,3094036711,BR
+3094036712,3094037487,CA
+3094037488,3094037495,NZ
+3094037496,3094037527,CA
+3094037528,3094037535,US
+3094037536,3094039495,CA
+3094039496,3094039503,US
+3094039504,3094043631,CA
+3094043632,3094043639,AE
+3094043640,3094043711,CA
+3094043712,3094043743,AU
+3094043744,3094052903,CA
+3094052904,3094052911,ES
+3094052912,3094052919,CA
+3094052920,3094052927,BR
+3094052928,3094052935,VN
+3094052936,3094052951,CA
+3094052952,3094052959,AR
+3094052960,3094052967,US
+3094052968,3094052975,BR
+3094052976,3094052983,CZ
+3094052984,3094053007,CA
+3094053008,3094053015,US
+3094053016,3094053023,LB
+3094053024,3094053239,CA
+3094053240,3094053247,SY
+3094053248,3094053295,CA
+3094053296,3094053303,ID
+3094053304,3094053383,CA
+3094053384,3094053391,CN
+3094053392,3094053407,CA
+3094053408,3094053415,BR
+3094053416,3094053423,IT
+3094053424,3094053439,CA
+3094053440,3094053447,US
+3094053448,3094053495,CA
+3094053496,3094053503,CO
+3094053504,3094053511,GB
+3094053512,3094053519,VE
+3094053520,3094053743,CA
+3094053744,3094053751,EC
+3094053752,3094053951,CA
+3094053952,3094053959,GB
+3094053960,3094053967,US
+3094053968,3094054015,CA
+3094054016,3094054023,US
+3094054024,3094054031,CA
+3094054032,3094054039,US
+3094054040,3094054063,CA
+3094054064,3094054071,US
+3094054072,3094054079,IT
+3094054080,3094054103,CA
+3094054104,3094054119,US
+3094054120,3094054127,UY
+3094054128,3094054135,CA
+3094054136,3094054143,US
+3094054144,3094054159,CA
+3094054160,3094054167,BR
+3094054168,3094054183,CA
+3094054184,3094054191,US
+3094054192,3094054199,CA
+3094054200,3094054215,US
+3094054216,3094054223,RU
+3094054224,3094054231,US
+3094054232,3094054239,GB
+3094054240,3094054247,US
+3094054248,3094054255,CA
+3094054256,3094054263,BR
+3094054264,3094054311,CA
+3094054312,3094054319,BR
+3094054320,3094054327,US
+3094054328,3094054343,CA
+3094054344,3094054351,US
+3094054352,3094054359,HK
+3094054360,3094054367,CN
+3094054368,3094054375,PH
+3094054376,3094054383,TH
+3094054384,3094054391,US
+3094054392,3094054399,JO
+3094054400,3094054407,US
+3094054408,3094054415,RS
+3094054416,3094054423,CA
+3094054424,3094054431,US
+3094054432,3094054439,BR
+3094054440,3094054447,AU
+3094054448,3094054455,CA
+3094054456,3094054463,UA
+3094054464,3094054479,PH
+3094054480,3094054487,PK
+3094054488,3094054495,CA
+3094054496,3094054503,IN
+3094054504,3094054511,CR
+3094054512,3094054519,BD
+3094054520,3094054535,CA
+3094054536,3094054543,TR
+3094054544,3094054551,BR
+3094054552,3094054559,CO
+3094054560,3094054575,BR
+3094054576,3094054583,CA
+3094054584,3094054591,TR
+3094054592,3094054599,US
+3094054600,3094054607,CA
+3094054608,3094054615,AU
+3094054616,3094054623,IN
+3094054624,3094054639,IT
+3094054640,3094054647,AU
+3094054648,3094054655,CA
+3094054656,3094054663,MY
+3094054664,3094054671,CA
+3094054672,3094054679,CL
+3094054680,3094054735,CA
+3094054736,3094054743,VN
+3094054744,3094054751,AU
+3094054752,3094054759,BR
+3094054760,3094054767,IN
+3094054768,3094054775,US
+3094054776,3094054783,CA
+3094054784,3094054791,US
+3094054792,3094054799,CA
+3094054800,3094054807,IN
+3094054808,3094054831,US
+3094054832,3094054839,CA
+3094054840,3094054847,SA
+3094054848,3094054855,CA
+3094054856,3094054863,US
+3094054864,3094054871,CA
+3094054872,3094054887,RO
+3094054888,3094054919,CA
+3094054920,3094054927,US
+3094054928,3094054935,CA
+3094054936,3094054943,CO
+3094054944,3094054951,US
+3094054952,3094054959,PH
+3094054960,3094054967,CA
+3094054968,3094054983,US
+3094054984,3094054991,CA
+3094054992,3094055007,US
+3094055008,3094055015,CA
+3094055016,3094055031,US
+3094055032,3094055039,GB
+3094055040,3094055047,CA
+3094055048,3094055071,US
+3094055072,3094055079,CA
+3094055080,3094055087,PE
+3094055088,3094055103,US
+3094055104,3094055119,CA
+3094055120,3094055135,RU
+3094055136,3094055143,CA
+3094055144,3094055151,MY
+3094055152,3094055159,CA
+3094055160,3094055167,TR
+3094055168,3094055175,LT
+3094055176,3094055183,CA
+3094055184,3094055191,MX
+3094055192,3094055207,AE
+3094055208,3094055215,US
+3094055216,3094055223,UA
+3094055224,3094055239,US
+3094055240,3094055247,CA
+3094055248,3094055263,US
+3094055264,3094055287,CA
+3094055288,3094055295,US
+3094055296,3094055303,IN
+3094055304,3094055311,US
+3094055312,3094055319,FR
+3094055320,3094055327,IR
+3094055328,3094055335,CA
+3094055336,3094055343,BH
+3094055344,3094055351,US
+3094055352,3094055359,GB
+3094055360,3094055367,IN
+3094055368,3094055391,US
+3094055392,3094055399,BG
+3094055400,3094055407,CA
+3094055408,3094055415,CN
+3094055416,3094055423,CA
+3094055424,3094055431,MX
+3094055432,3094055439,MA
+3094055440,3094055447,CR
+3094055448,3094055455,MA
+3094055456,3094055463,CA
+3094055464,3094055471,BR
+3094055472,3094055479,EC
+3094055480,3094055495,CA
+3094055496,3094055503,US
+3094055504,3094055511,CA
+3094055512,3094055519,US
+3094055520,3094055527,TR
+3094055528,3094055535,CA
+3094055536,3094055551,IT
+3094055552,3094055567,CA
+3094055568,3094055575,NO
+3094055576,3094055583,CA
+3094055584,3094055591,PE
+3094055592,3094055599,CA
+3094055600,3094055607,US
+3094055608,3094055615,CA
+3094055616,3094055623,HK
+3094055624,3094055631,CA
+3094055632,3094055639,AE
+3094055640,3094055647,CA
+3094055648,3094055655,SN
+3094055656,3094055663,CA
+3094055664,3094055671,DE
+3094055672,3094055679,CA
+3094055680,3094055687,AR
+3094055688,3094055695,US
+3094055696,3094055719,CA
+3094055720,3094055727,MX
+3094055728,3094055783,CA
+3094055784,3094055791,ID
+3094055792,3094055799,CH
+3094055800,3094055807,AU
+3094055808,3094055815,CA
+3094055816,3094055823,GB
+3094055824,3094055831,HU
+3094055832,3094055879,CA
+3094055880,3094055887,IL
+3094055888,3094055895,US
+3094055896,3094055903,CA
+3094055904,3094055911,EC
+3094055912,3094055919,CA
+3094055920,3094055935,US
+3094055936,3094055943,MX
+3094055944,3094055951,CA
+3094055952,3094055959,MX
+3094055960,3094055975,CA
+3094055976,3094055983,AU
+3094055984,3094055991,PE
+3094055992,3094055999,RU
+3094056000,3094056007,BR
+3094056008,3094056055,CA
+3094056056,3094056063,PE
+3094056064,3094056079,LB
+3094056080,3094056087,CA
+3094056088,3094056095,US
+3094056096,3094056103,CA
+3094056104,3094056111,EC
+3094056112,3094056135,CA
+3094056136,3094056143,GT
+3094056144,3094056151,US
+3094056152,3094056159,CA
+3094056160,3094056167,ID
+3094056168,3094056183,US
+3094056184,3094056191,AU
+3094056192,3094056199,IN
+3094056200,3094056215,CA
+3094056216,3094056223,ID
+3094056224,3094056231,LB
+3094056232,3094056247,CA
+3094056248,3094056255,BR
+3094056256,3094056271,CA
+3094056272,3094056279,DE
+3094056280,3094056295,CA
+3094056296,3094056311,AU
+3094056312,3094056335,CA
+3094056336,3094056343,US
+3094056344,3094056391,CA
+3094056392,3094056399,US
+3094056400,3094056407,CA
+3094056408,3094056415,ID
+3094056416,3094056447,CA
+3094056448,3094056455,IN
+3094056456,3094056471,CA
+3094056472,3094056479,IN
+3094056480,3094056511,CA
+3094056512,3094056519,PY
+3094056520,3094056527,MX
+3094056528,3094056535,UY
+3094056536,3094056543,SG
+3094056544,3094056551,PH
+3094056552,3094056559,CA
+3094056560,3094056567,TR
+3094056568,3094056575,CA
+3094056576,3094056583,EG
+3094056584,3094056615,CA
+3094056616,3094056623,BR
+3094056624,3094056655,CA
+3094056656,3094056663,BE
+3094056664,3094056671,US
+3094056672,3094056679,CA
+3094056680,3094056695,US
+3094056696,3094056703,CA
+3094056704,3094056711,PY
+3094056712,3094056719,CA
+3094056720,3094056727,UA
+3094056728,3094056775,CA
+3094056776,3094056783,AU
+3094056784,3094056791,US
+3094056792,3094056799,GR
+3094056800,3094056807,CA
+3094056808,3094056815,MX
+3094056816,3094056847,CA
+3094056848,3094056871,US
+3094056872,3094056887,CA
+3094056888,3094056895,US
+3094056896,3094056903,CA
+3094056904,3094056911,US
+3094056912,3094056991,CA
+3094056992,3094056999,US
+3094057000,3094057007,CA
+3094057008,3094057031,US
+3094057032,3094057039,IT
+3094057040,3094057047,AR
+3094057048,3094057055,IT
+3094057056,3094057063,CA
+3094057064,3094057071,MX
+3094057072,3094057079,US
+3094057080,3094057087,CA
+3094057088,3094057111,EG
+3094057112,3094057119,CA
+3094057120,3094057127,IN
+3094057128,3094057135,TH
+3094057136,3094057143,EG
+3094057144,3094057151,BR
+3094057152,3094057175,CA
+3094057176,3094057183,CO
+3094057184,3094057191,CA
+3094057192,3094057199,FR
+3094057200,3094057223,CA
+3094057224,3094057231,AU
+3094057232,3094057239,BR
+3094057240,3094057247,IN
+3094057248,3094057255,CA
+3094057256,3094057263,ES
+3094057264,3094057287,CA
+3094057288,3094057295,MX
+3094057296,3094057319,CA
+3094057320,3094057327,SG
+3094057328,3094057351,CA
+3094057352,3094057359,MX
+3094057360,3094057375,CA
+3094057376,3094057383,ES
+3094057384,3094058495,CA
+3094058496,3094058503,MX
+3094058504,3094058679,CA
+3094058680,3094058687,BE
+3094058688,3094059391,CA
+3094059392,3094059399,IN
+3094059400,3094060287,CA
+3094060288,3094060295,DE
+3094060296,3094060815,CA
+3094060816,3094060823,CN
+3094060824,3094061263,CA
+3094061264,3094061271,BG
+3094061272,3094061279,IN
+3094061280,3094062935,CA
+3094062936,3094062943,BR
+3094062944,3094065687,CA
+3094065688,3094065695,US
+3094065696,3094067167,CA
+3094067168,3094067175,CO
+3094067176,3094067407,CA
+3094067408,3094067415,BR
+3094067416,3094069927,CA
+3094069928,3094069935,MX
+3094069936,3094070119,CA
+3094070120,3094070127,PE
+3094070128,3094070751,CA
+3094070752,3094070759,DE
+3094070760,3094072175,CA
+3094072176,3094072183,EC
+3094072184,3094072191,CA
+3094072192,3094072199,DE
+3094072200,3094073527,CA
+3094073528,3094073535,LK
+3094073536,3094073871,CA
+3094073872,3094073879,IN
+3094073880,3094075903,CA
+3094075904,3094075911,US
+3094075912,3094077367,CA
+3094077368,3094077375,IN
+3094077376,3094079287,CA
+3094079288,3094079295,IN
+3094079296,3094085631,CA
3094085632,3096444927,US
3096444928,3096969215,CA
3096969216,3097493503,US
@@ -77785,37 +97076,53 @@
3098148864,3098165247,JM
3098165248,3098181631,US
3098181632,3098185727,CA
-3098185728,3098255903,US
+3098185728,3098255399,US
+3098255400,3098255407,BR
+3098255408,3098255903,US
3098255904,3098255911,MV
3098255912,3098263551,US
3098263552,3098271743,CA
-3098271744,3098279943,US
-3098279944,3098279951,KW
-3098279952,3098280591,US
+3098271744,3098280591,US
3098280592,3098280599,PA
-3098280600,3098281503,US
+3098280600,3098281311,US
+3098281312,3098281343,EG
+3098281344,3098281503,US
3098281504,3098281511,PA
3098281512,3098281711,US
3098281712,3098281719,PA
-3098281720,3098286287,US
+3098281720,3098281943,US
+3098281944,3098281951,AU
+3098281952,3098282327,US
+3098282328,3098282335,BR
+3098282336,3098282415,US
+3098282416,3098282431,BR
+3098282432,3098282471,US
+3098282472,3098282479,BR
+3098282480,3098284311,US
+3098284312,3098284319,BR
+3098284320,3098285383,US
+3098285384,3098285391,BR
+3098285392,3098285495,US
+3098285496,3098285503,BR
+3098285504,3098286191,US
+3098286192,3098286199,BR
+3098286200,3098286287,US
3098286288,3098286295,IN
3098286296,3098286399,US
3098286400,3098286431,BR
-3098286432,3098288343,US
+3098286432,3098287711,US
+3098287712,3098287719,AU
+3098287720,3098288343,US
3098288344,3098288351,BR
3098288352,3098288775,US
3098288776,3098288783,BR
-3098288784,3098290223,US
-3098290224,3098290231,IN
-3098290232,3098291087,US
-3098291088,3098291095,IN
-3098291096,3098291119,US
-3098291120,3098291135,NL
-3098291136,3098291151,US
-3098291152,3098291159,NL
-3098291160,3098295751,US
-3098295752,3098295759,PL
-3098295760,3098321663,US
+3098288784,3098289495,US
+3098289496,3098289503,AU
+3098289504,3098294719,US
+3098294720,3098294775,BR
+3098294776,3098296151,US
+3098296152,3098296159,BR
+3098296160,3098321663,US
3098321664,3098321695,IN
3098321696,3098322367,US
3098322368,3098322375,BD
@@ -77823,66 +97130,108 @@
3098322384,3098322391,BD
3098322392,3098322695,US
3098322696,3098322703,BD
-3098322704,3098331151,US
+3098322704,3098323679,US
+3098323680,3098323711,EG
+3098323712,3098326511,US
+3098326512,3098326519,CN
+3098326520,3098331151,US
3098331152,3098331159,HK
3098331160,3098331471,US
3098331472,3098331479,CL
3098331480,3098333951,US
3098333952,3098333959,BD
-3098333960,3098336303,US
+3098333960,3098335119,US
+3098335120,3098335127,CA
+3098335128,3098336303,US
3098336304,3098336311,MY
3098336312,3098365535,US
3098365536,3098365551,IN
-3098365552,3098365951,US
-3098365952,3098365959,MX
-3098365960,3098371191,US
-3098371192,3098371199,BR
-3098371200,3098371303,US
-3098371304,3098371311,PE
-3098371312,3098371495,US
+3098365552,3098365631,US
+3098365632,3098365639,AU
+3098365640,3098366559,US
+3098366560,3098366575,BR
+3098366576,3098366839,US
+3098366840,3098366847,BR
+3098366848,3098366863,US
+3098366864,3098366879,BR
+3098366880,3098366991,US
+3098366992,3098367007,BR
+3098367008,3098367023,US
+3098367024,3098367063,BR
+3098367064,3098367087,US
+3098367088,3098367103,BR
+3098367104,3098370895,US
+3098370896,3098370903,BR
+3098370904,3098371495,US
3098371496,3098371503,JO
-3098371504,3098375583,US
+3098371504,3098373351,US
+3098373352,3098373359,BR
+3098373360,3098373927,US
+3098373928,3098373935,MX
+3098373936,3098375583,US
3098375584,3098375615,BR
3098375616,3098376863,US
3098376864,3098376895,BR
3098376896,3098377727,US
3098377728,3098377759,AR
-3098377760,3098381455,US
+3098377760,3098380047,US
+3098380048,3098380063,IN
+3098380064,3098381455,US
3098381456,3098381471,LT
-3098381472,3098388175,US
+3098381472,3098385727,US
+3098385728,3098385791,AF
+3098385792,3098388175,US
3098388176,3098388183,SA
-3098388184,3098476543,US
+3098388184,3098390271,US
+3098390272,3098390279,ES
+3098390280,3098395407,US
+3098395408,3098395415,BR
+3098395416,3098402799,US
+3098402800,3098402807,ES
+3098402808,3098408735,US
+3098408736,3098408743,AR
+3098408744,3098408927,US
+3098408928,3098408935,ES
+3098408936,3098476543,US
3098476544,3098492927,CA
-3098492928,3098495999,US
+3098492928,3098492991,US
+3098492992,3098493023,CA
+3098493024,3098494719,US
+3098494720,3098495743,CA
+3098495744,3098495999,US
3098496000,3098496255,CA
-3098496256,3098502143,US
-3098502144,3098502207,IN
-3098502208,3098507263,US
+3098496256,3098503423,US
+3098503424,3098503679,CA
+3098503680,3098507263,US
3098507264,3098507519,CA
-3098507520,3103784959,US
+3098507520,3098507807,US
+3098507808,3098507823,AU
+3098507824,3103784959,US
3103784960,3107979263,EU
3120562176,3120594943,CO
3120594944,3120599039,AR
3120599040,3120601087,EC
3120601088,3120602111,AR
3120602112,3120603135,BO
-3120603136,3120608255,AR
-3120609280,3120610303,AR
+3120603136,3120610303,AR
3120610304,3120611327,PY
3120611328,3120627711,AR
3120627712,3120644095,NI
3120644096,3120660479,DO
3120660480,3120668671,PA
+3120668672,3120676863,CO
3120676864,3120680959,HT
3120680960,3120691199,AR
3120691200,3120693247,CO
3120693248,3120726015,BO
3120726016,3120734207,HN
-3120742400,3120750591,PY
+3120742400,3120758783,PY
3120758784,3120824319,EC
3120824320,3120840703,CR
3120840704,3120857087,AR
3120857088,3120922623,EC
+3120922624,3120930815,PA
+3120939008,3120947199,AR
3120955392,3121086463,DO
3121086464,3121151999,UY
3121152000,3121348607,CL
@@ -77897,20 +97246,23 @@
3122282496,3122294783,AR
3122294784,3122298879,CR
3122298880,3122331647,VE
-3122331648,3122348031,BO
-3122397184,3122659327,CO
-3122659328,3122675711,CR
-3122675712,3122700287,GT
-3122700288,3122716671,CR
-3122716672,3122724863,GT
+3122331648,3122364415,BO
+3122364416,3122659327,CO
+3122659328,3122675711,GT
+3122675712,3122683903,SV
+3122683904,3122724863,GT
+3122724864,3122741247,AR
+3122757632,3122774015,EC
+3122774016,3122790399,AR
3122790400,3123052543,CL
3123052544,3123183615,AR
3123183616,3123314687,CL
3123314688,3123380223,EC
3123380224,3123412991,CO
+3123412992,3123429375,EC
3123445760,3123576831,TT
-3123576832,3123642367,EC
-3123707904,3123970047,UY
+3123576832,3123707903,EC
+3123707904,3124232191,UY
3124232192,3124789247,AR
3124789248,3124822015,CR
3124822016,3124838399,EC
@@ -77918,20 +97270,26 @@
3124887552,3124953087,EC
3124953088,3125018623,CL
3125018624,3125280767,EC
-3125280768,3125542911,PA
+3125280768,3125346303,CO
+3125346304,3125542911,PA
+3125542912,3125673983,NI
3125673984,3125805055,CL
3125805056,3126329343,CO
3126329344,3126853631,VE
-3126853632,3126919167,AR
+3126853632,3126870015,AR
+3126870016,3126874111,VE
+3126878208,3126886399,PA
+3126886400,3126919167,AR
3126919168,3127115775,CO
3127115776,3127181311,AR
3127181312,3127246847,EC
-3127246848,3127377919,CO
-3127377920,3127640063,CL
+3127246848,3127345151,CO
+3127345152,3127640063,CL
3127640064,3127902207,AR
3127902208,3128426495,CO
3128426496,3128492031,DO
3128492032,3128524799,CO
+3128541184,3128557567,BO
3128557568,3128950783,AR
3128950784,3129016319,UY
3129016320,3129999359,AR
@@ -77939,6 +97297,7 @@
3130261504,3130277887,CL
3130294272,3130302463,AR
3130302464,3130312703,PA
+3130312704,3130314751,AR
3130314752,3130315775,CL
3130315776,3130316799,CR
3130316800,3130318847,AN
@@ -77949,11 +97308,17 @@
3130654720,3130720255,CO
3130785792,3130818559,CL
3130851328,3130916863,AR
+3130982400,3131006975,CO
+3131006976,3131011071,AN
+3131011072,3131012095,CO
+3131012096,3131013119,PA
+3131013120,3131015167,AR
+3131015168,3131047935,CR
3131047936,3131310079,PE
3131310080,3131572223,VE
3131572224,3131834367,CO
3131834368,3132096511,CL
-3132096512,3132162047,CR
+3132096512,3132227583,CR
3132227584,3132293119,EC
3132358656,3132489727,CO
3132489728,3132555263,AR
@@ -78002,14 +97367,19 @@
3156672512,3156738047,GB
3156738048,3156791439,DE
3156791440,3156791455,NL
-3156791456,3156802271,DE
-3156802272,3156802303,US
-3156802304,3156803327,DE
+3156791456,3156793751,DE
+3156793752,3156793759,IT
+3156793760,3156803327,DE
3156803328,3156803359,CH
3156803360,3156803583,DE
3156803584,3156869119,TR
3156869120,3156934655,LU
3156934656,3157000191,RU
+3157000192,3157008383,MK
+3157008384,3157016575,RU
+3157016576,3157024767,BE
+3157024768,3157032959,RU
+3157032960,3157065727,HU
3157065728,3157131263,AT
3157131264,3157196799,DE
3157196800,3157262335,PL
@@ -78030,7 +97400,7 @@
3158325248,3158327295,DE
3158327296,3158329343,NL
3158329344,3158331391,BE
-3158331392,3158333439,GB
+3158331392,3158333439,PL
3158333440,3158335487,IT
3158335488,3158337535,IL
3158337536,3158339583,SI
@@ -78061,9 +97431,7 @@
3158392832,3158394879,RU
3158394880,3158395007,AT
3158395008,3158395135,GB
-3158395136,3158395151,AT
-3158395152,3158395159,DE
-3158395160,3158395167,AT
+3158395136,3158395167,AT
3158395168,3158395175,DE
3158395176,3158395191,AT
3158395192,3158395199,DE
@@ -78080,8 +97448,8 @@
3158395696,3158395711,AT
3158395712,3158395743,DE
3158395744,3158396287,AT
-3158396288,3158396319,DE
-3158396320,3158396927,AT
+3158396288,3158396327,DE
+3158396328,3158396927,AT
3158396928,3158398975,IT
3158398976,3158401023,ES
3158401024,3158403071,GB
@@ -78217,14 +97585,10 @@
3160190976,3160193023,RU
3160193024,3160193279,A2
3160193280,3160193535,DE
-3160193536,3160193791,A2
-3160193792,3160193871,LY
-3160193872,3160194047,A2
-3160194048,3160194175,LY
-3160194176,3160194543,A2
+3160193536,3160194543,A2
3160194544,3160194551,IT
-3160194552,3160194735,A2
-3160194736,3160194815,IT
+3160194552,3160194655,A2
+3160194656,3160194815,IT
3160194816,3160195071,A2
3160195072,3160197119,RU
3160197120,3160199167,DE
@@ -78247,7 +97611,9 @@
3160227840,3160229887,IR
3160229888,3160231935,ES
3160231936,3160233983,BE
-3160233984,3160236031,GE
+3160233984,3160235519,GE
+3160235520,3160235775,DE
+3160235776,3160236031,GE
3160236032,3160238079,BE
3160238080,3160240127,RU
3160240128,3160242175,BE
@@ -78359,14 +97725,10 @@
3161784320,3161800703,FI
3161800704,3161817087,SA
3161817088,3161833471,PL
-3161833472,3161835519,MK
-3161835520,3161835775,AT
-3161835776,3161837567,MK
+3161833472,3161837567,MK
3161837568,3161837695,AT
-3161837696,3161840639,MK
-3161840640,3161840895,AT
-3161840896,3161844735,MK
-3161844736,3161849855,AT
+3161837696,3161847551,MK
+3161847552,3161849855,AT
3161849856,3161866239,BE
3161866240,3161882623,IR
3161882624,3161899007,DE
@@ -78382,7 +97744,8 @@
3162013696,3162021887,IL
3162021888,3162030079,SE
3162030080,3162038271,CZ
-3162038272,3162046463,RU
+3162038272,3162045951,RU
+3162045952,3162046463,US
3162046464,3162054655,PL
3162054656,3162062847,NL
3162062848,3162071039,SE
@@ -78394,19 +97757,7 @@
3162110976,3162111103,FR
3162111104,3162111167,NL
3162111168,3162111231,FR
-3162111232,3162111295,CA
-3162111296,3162111359,NL
-3162111360,3162111391,CA
-3162111392,3162111471,NL
-3162111472,3162111487,BE
-3162111488,3162111519,CA
-3162111520,3162111599,NL
-3162111600,3162111615,BE
-3162111616,3162111727,NL
-3162111728,3162111775,CH
-3162111776,3162111871,NL
-3162111872,3162111903,CH
-3162111904,3162111999,NL
+3162111232,3162111999,NL
3162112000,3162120191,PL
3162120192,3162128383,GB
3162128384,3162129407,NL
@@ -78448,8 +97799,10 @@
3162365952,3162374143,PL
3162374144,3162382335,BG
3162382336,3162390527,RU
-3162390528,3162391551,SE
-3162391552,3162398719,A1
+3162390528,3162394623,SE
+3162394624,3162394881,A1
+3162394882,3162395080,SE
+3162395081,3162398719,A1
3162398720,3162406911,BE
3162406912,3162415103,IR
3162415104,3162423295,DE
@@ -78471,11 +97824,76 @@
3162636288,3162669055,FR
3162669056,3162681343,RU
3162681344,3162682367,UA
-3162682368,3162685439,RU
+3162682368,3162682879,RU
+3162682880,3162683391,LV
+3162683392,3162685439,RU
3162685440,3162693631,UA
3162693632,3162700031,RU
3162700032,3162700287,UZ
-3162700288,3162700543,RU
+3162700288,3162700291,AL
+3162700292,3162700295,AG
+3162700296,3162700299,AR
+3162700300,3162700303,AM
+3162700304,3162700307,AU
+3162700308,3162700311,BS
+3162700312,3162700315,BY
+3162700316,3162700319,BZ
+3162700320,3162700323,BM
+3162700324,3162700327,BA
+3162700328,3162700331,BR
+3162700332,3162700335,VG
+3162700336,3162700339,BN
+3162700340,3162700343,BG
+3162700344,3162700347,CA
+3162700348,3162700351,KY
+3162700352,3162700355,CL
+3162700356,3162700359,CO
+3162700360,3162700363,CR
+3162700364,3162700367,HR
+3162700368,3162700371,CY
+3162700372,3162700375,DK
+3162700376,3162700379,EG
+3162700380,3162700383,FR
+3162700384,3162700387,DE
+3162700388,3162700391,GR
+3162700392,3162700395,HK
+3162700396,3162700399,HU
+3162700400,3162700403,IN
+3162700404,3162700407,ID
+3162700408,3162700411,IL
+3162700412,3162700415,IT
+3162700416,3162700419,JP
+3162700420,3162700423,KR
+3162700424,3162700427,LV
+3162700428,3162700431,LB
+3162700432,3162700435,LI
+3162700436,3162700439,MY
+3162700440,3162700443,MT
+3162700444,3162700447,MX
+3162700448,3162700451,NZ
+3162700452,3162700455,NO
+3162700456,3162700459,PK
+3162700460,3162700463,PA
+3162700464,3162700467,PE
+3162700468,3162700471,PH
+3162700472,3162700475,RO
+3162700476,3162700479,RU
+3162700480,3162700483,RS
+3162700484,3162700487,SG
+3162700488,3162700491,SK
+3162700492,3162700495,ZA
+3162700496,3162700499,ES
+3162700500,3162700503,KN
+3162700504,3162700507,CH
+3162700508,3162700511,TW
+3162700512,3162700515,TH
+3162700516,3162700519,TR
+3162700520,3162700523,UA
+3162700524,3162700527,GB
+3162700528,3162700531,US
+3162700532,3162700535,UY
+3162700536,3162700539,UZ
+3162700540,3162700543,VE
3162700544,3162700799,UA
3162700800,3162701823,RU
3162701824,3162734591,MD
@@ -78491,13 +97909,13 @@
3163062272,3163095039,IR
3163095040,3163127807,PL
3163127808,3163160575,BH
-3163160576,3163161631,DE
+3163160576,3163161599,DE
+3163161600,3163161631,IN
3163161632,3163161663,DK
3163161664,3163161695,US
3163161696,3163161727,BG
-3163161728,3163161759,DE
-3163161760,3163161791,BR
-3163161792,3163161823,DE
+3163161728,3163161759,IN
+3163161760,3163161823,BR
3163161824,3163161855,US
3163161856,3163161887,BR
3163161888,3163161951,US
@@ -78506,38 +97924,45 @@
3163162048,3163162079,NL
3163162080,3163162111,RU
3163162112,3163162143,TR
-3163162144,3163162271,DE
+3163162144,3163162207,DE
+3163162208,3163162239,UA
+3163162240,3163162271,MA
3163162272,3163162303,NL
3163162304,3163162335,TH
-3163162336,3163162367,DE
-3163162368,3163162399,TR
-3163162400,3163162431,DE
+3163162336,3163162367,RU
+3163162368,3163162399,DE
+3163162400,3163162431,MA
3163162432,3163162463,CY
3163162464,3163162495,DE
3163162496,3163162527,BR
3163162528,3163162559,DE
3163162560,3163162623,US
-3163162624,3163163711,DE
+3163162624,3163163647,DE
+3163163648,3163163679,DK
+3163163680,3163163711,RU
3163163712,3163163743,BR
-3163163744,3163163807,DE
+3163163744,3163163807,US
3163163808,3163163839,CY
3163163840,3163163871,PL
3163163872,3163163903,RU
3163163904,3163163935,GR
-3163163936,3163163967,DE
+3163163936,3163163967,BR
3163163968,3163163999,US
-3163164000,3163164063,DE
+3163164000,3163164031,MA
+3163164032,3163164063,US
3163164064,3163164095,AM
3163164096,3163164127,RU
-3163164128,3163164159,DE
+3163164128,3163164159,MA
3163164160,3163164191,US
3163164192,3163164223,MA
-3163164224,3163164287,DE
+3163164224,3163164255,LT
+3163164256,3163164287,DE
3163164288,3163164319,CL
3163164320,3163164351,RU
-3163164352,3163164415,DE
+3163164352,3163164383,DE
+3163164384,3163164415,US
3163164416,3163164447,PL
-3163164448,3163164479,RU
+3163164448,3163164479,US
3163164480,3163164511,DE
3163164512,3163164543,HU
3163164544,3163164575,RU
@@ -78546,30 +97971,35 @@
3163164640,3163164671,US
3163164672,3163165695,DE
3163165696,3163165727,US
-3163165728,3163165759,DE
+3163165728,3163165759,RU
3163165760,3163165791,PL
3163165792,3163165823,RU
3163165824,3163165855,BR
-3163165856,3163166015,DE
+3163165856,3163165887,DE
+3163165888,3163165919,AR
+3163165920,3163165983,DE
+3163165984,3163166015,AR
3163166016,3163166047,US
3163166048,3163166079,BR
-3163166080,3163166175,DE
+3163166080,3163166111,MA
+3163166112,3163166143,AR
+3163166144,3163166175,DE
3163166176,3163166207,RU
3163166208,3163166239,TR
3163166240,3163166271,IT
3163166272,3163166335,DE
3163166336,3163166399,US
3163166400,3163166431,DE
-3163166432,3163166463,BR
-3163166464,3163166495,DE
+3163166432,3163166495,BR
3163166496,3163166527,RO
3163166528,3163166559,DE
3163166560,3163166591,HU
-3163166592,3163166623,DE
-3163166624,3163166655,US
+3163166592,3163166623,IN
+3163166624,3163166655,AR
3163166656,3163166687,DE
3163166688,3163166719,RU
-3163166720,3163167775,DE
+3163166720,3163167743,DE
+3163167744,3163167775,RU
3163167776,3163167807,GR
3163167808,3163167839,US
3163167840,3163167871,BR
@@ -78577,7 +98007,7 @@
3163167904,3163167935,UA
3163167936,3163167967,US
3163167968,3163167999,TR
-3163168000,3163168031,DE
+3163168000,3163168031,BR
3163168032,3163168095,RU
3163168096,3163168127,TR
3163168128,3163168159,SA
@@ -78585,7 +98015,7 @@
3163168192,3163168223,AT
3163168224,3163168255,DE
3163168256,3163168287,US
-3163168288,3163168319,DE
+3163168288,3163168319,BR
3163168320,3163168351,DK
3163168352,3163168383,RU
3163168384,3163168415,TR
@@ -78601,65 +98031,81 @@
3163168736,3163169823,DE
3163169824,3163169855,RU
3163169856,3163169887,US
-3163169888,3163170015,DE
+3163169888,3163169951,DE
+3163169952,3163169983,HR
+3163169984,3163170015,DE
3163170016,3163170047,ES
3163170048,3163170079,RU
-3163170080,3163170111,TR
-3163170112,3163170143,DE
+3163170080,3163170111,DE
+3163170112,3163170143,CZ
3163170144,3163170175,ZA
3163170176,3163170207,DE
3163170208,3163170239,RU
-3163170240,3163170303,DE
+3163170240,3163170271,DE
+3163170272,3163170303,US
3163170304,3163170335,IT
3163170336,3163170367,RO
-3163170368,3163170495,DE
+3163170368,3163170399,TR
+3163170400,3163170431,BR
+3163170432,3163170463,DE
+3163170464,3163170495,US
3163170496,3163170527,BG
-3163170528,3163170591,DE
+3163170528,3163170559,HR
+3163170560,3163170591,DE
3163170592,3163170623,BR
3163170624,3163170655,GR
-3163170656,3163170751,DE
+3163170656,3163170687,BR
+3163170688,3163170719,DE
+3163170720,3163170751,MA
3163170752,3163170783,CH
3163170784,3163170815,US
-3163170816,3163171871,DE
+3163170816,3163171839,DE
+3163171840,3163171871,NL
3163171872,3163171903,RO
-3163171904,3163171935,BZ
+3163171904,3163171935,BR
3163171936,3163171967,DE
3163171968,3163171999,US
-3163172000,3163172063,BR
-3163172064,3163172095,DE
-3163172096,3163172127,BR
+3163172000,3163172031,BR
+3163172032,3163172063,LT
+3163172064,3163172127,BR
3163172128,3163172159,US
3163172160,3163172191,TR
-3163172192,3163172223,US
+3163172192,3163172223,LT
3163172224,3163172255,FR
3163172256,3163172287,US
3163172288,3163172319,DE
3163172320,3163172351,NL
-3163172352,3163172383,GB
-3163172384,3163172415,US
+3163172352,3163172383,FR
+3163172384,3163172415,GB
3163172416,3163172447,DE
-3163172448,3163172511,US
+3163172448,3163172479,US
+3163172480,3163172511,MA
3163172512,3163172543,RU
-3163172544,3163172575,DE
+3163172544,3163172575,AR
3163172576,3163172607,MA
3163172608,3163172639,DK
3163172640,3163172671,LV
3163172672,3163172703,BR
3163172704,3163172735,DE
3163172736,3163172767,GR
-3163172768,3163174015,DE
+3163172768,3163172799,US
+3163172800,3163172831,RU
+3163172832,3163172863,BR
+3163172864,3163173951,DE
+3163173952,3163173983,IN
+3163173984,3163174015,GB
3163174016,3163174047,RU
3163174048,3163174079,DK
-3163174080,3163174111,DE
+3163174080,3163174111,BR
3163174112,3163174143,BE
3163174144,3163174175,BD
-3163174176,3163174239,DE
-3163174240,3163174271,TW
+3163174176,3163174207,MA
+3163174208,3163174239,RU
+3163174240,3163174271,MA
3163174272,3163174303,DE
-3163174304,3163174335,IL
+3163174304,3163174335,US
3163174336,3163174367,RU
-3163174368,3163174399,US
-3163174400,3163174431,DE
+3163174368,3163174431,DE
3163174432,3163174463,BR
3163174464,3163174495,DE
3163174496,3163174527,US
@@ -78670,7 +98116,7 @@
3163174656,3163174687,RU
3163174688,3163174719,DE
3163174720,3163174751,NL
-3163174752,3163174783,TR
+3163174752,3163174783,BR
3163174784,3163174815,TW
3163174816,3163174847,CA
3163174848,3163174879,TR
@@ -78681,19 +98127,45 @@
3163176064,3163176095,RU
3163176096,3163176127,CY
3163176128,3163176159,US
-3163176160,3163176255,DE
+3163176160,3163176191,DE
+3163176192,3163176223,US
+3163176224,3163176255,DE
3163176256,3163176287,UG
-3163176288,3163176479,DE
-3163176480,3163176511,GB
-3163176512,3163176543,DE
-3163176544,3163176575,US
+3163176288,3163176319,RU
+3163176320,3163176351,HU
+3163176352,3163176383,BR
+3163176384,3163176415,IN
+3163176416,3163176479,DE
+3163176480,3163176511,FR
+3163176512,3163176543,RU
+3163176544,3163176575,UG
3163176576,3163176607,GR
-3163176608,3163176767,DE
+3163176608,3163176671,MA
+3163176672,3163176735,BR
+3163176736,3163176767,DE
3163176768,3163176799,PL
3163176800,3163176831,EG
3163176832,3163176895,BR
3163176896,3163176927,SE
-3163176928,3163193343,DE
+3163176928,3163176959,TH
+3163176960,3163181853,DE
+3163181854,3163181854,BD
+3163181855,3163181855,DK
+3163181856,3163181856,TR
+3163181857,3163181857,IN
+3163181858,3163181858,US
+3163181859,3163181861,TR
+3163181862,3163181862,GB
+3163181863,3163181863,DE
+3163181864,3163181865,US
+3163181866,3163181866,IN
+3163181867,3163184471,DE
+3163184472,3163184472,BE
+3163184473,3163184496,DE
+3163184497,3163184499,RU
+3163184500,3163184500,NL
+3163184501,3163184501,NO
+3163184502,3163193343,DE
3163193344,3163226111,MD
3163226112,3163258879,SA
3163258880,3163291647,SY
@@ -78756,16 +98228,33 @@
3164947636,3164947639,DE
3164947640,3164947643,IT
3164947644,3164947647,FR
-3164947648,3164947651,BE
+3164947648,3164947651,CZ
3164947652,3164947655,PL
3164947656,3164947743,FR
3164947744,3164947747,ES
3164947748,3164947751,BE
-3164947752,3164947839,FR
+3164947752,3164947759,PL
+3164947760,3164947839,FR
3164947840,3164947967,GB
3164947968,3164948479,BE
3164948480,3164948735,FR
-3164948736,3164949087,GB
+3164948736,3164948739,DE
+3164948740,3164948743,CZ
+3164948744,3164948747,GB
+3164948748,3164948787,FR
+3164948788,3164948791,ES
+3164948792,3164948795,DE
+3164948796,3164948799,PL
+3164948800,3164948839,FR
+3164948840,3164948843,GB
+3164948844,3164948847,PL
+3164948848,3164948851,PT
+3164948852,3164948855,DE
+3164948856,3164948863,FR
+3164948864,3164948927,GB
+3164948928,3164948943,FR
+3164948944,3164948991,IE
+3164948992,3164949087,GB
3164949088,3164949095,FR
3164949096,3164949103,IT
3164949104,3164949107,DE
@@ -78773,14 +98262,19 @@
3164949112,3164949119,FR
3164949120,3164949123,PT
3164949124,3164949131,DE
-3164949132,3164949151,FR
+3164949132,3164949135,CZ
+3164949136,3164949151,FR
3164949152,3164949155,NL
3164949156,3164949159,DE
3164949160,3164949163,PL
-3164949164,3164949175,FR
+3164949164,3164949167,FR
+3164949168,3164949171,IT
+3164949172,3164949175,FR
3164949176,3164949179,ES
3164949180,3164949183,FR
-3164949184,3164949199,GB
+3164949184,3164949191,PT
+3164949192,3164949195,DE
+3164949196,3164949199,NL
3164949200,3164949215,FR
3164949216,3164949219,PL
3164949220,3164949223,FR
@@ -78795,9 +98289,9 @@
3164949328,3164949335,PL
3164949336,3164949339,IT
3164949340,3164949343,GB
-3164949344,3164949359,FR
-3164949360,3164949363,BE
-3164949364,3164949371,FR
+3164949344,3164949363,FR
+3164949364,3164949367,DE
+3164949368,3164949371,NL
3164949372,3164949375,GB
3164949376,3164949391,FR
3164949392,3164949395,ES
@@ -78867,7 +98361,8 @@
3164951688,3164951691,FR
3164951692,3164951695,CH
3164951696,3164951711,PL
-3164951712,3164951775,FR
+3164951712,3164951743,FR
+3164951744,3164951775,PL
3164951776,3164951807,DE
3164951808,3164951823,NL
3164951824,3164951831,CH
@@ -78887,7 +98382,7 @@
3164951936,3164951999,DE
3164952000,3164952015,ES
3164952016,3164952031,FR
-3164952032,3164952063,PL
+3164952032,3164952063,PT
3164952064,3164952191,FR
3164952192,3164952207,ES
3164952208,3164952215,FR
@@ -78910,9 +98405,7 @@
3164953216,3164953247,FR
3164953248,3164953255,CH
3164953256,3164953263,CZ
-3164953264,3164953311,FR
-3164953312,3164953319,CZ
-3164953320,3164953327,BE
+3164953264,3164953327,FR
3164953328,3164953375,PL
3164953376,3164953379,NL
3164953380,3164953383,GB
@@ -78947,21 +98440,31 @@
3164954280,3164954287,FR
3164954288,3164954303,ES
3164954304,3164954367,DE
-3164954368,3164954431,FR
+3164954368,3164954371,FR
+3164954372,3164954375,IE
+3164954376,3164954399,FR
+3164954400,3164954407,PL
+3164954408,3164954415,CH
+3164954416,3164954423,ES
+3164954424,3164954431,PL
3164954432,3164954439,ES
3164954440,3164954443,NL
3164954444,3164954447,PL
3164954448,3164954479,FR
3164954480,3164954495,GB
3164954496,3164954499,PL
-3164954500,3164954503,ES
-3164954504,3164954507,FR
+3164954500,3164954507,FR
3164954508,3164954511,ES
3164954512,3164954515,PL
3164954516,3164954519,IT
3164954520,3164954543,GB
3164954544,3164954559,LT
-3164954560,3164954591,FR
+3164954560,3164954567,PT
+3164954568,3164954571,FR
+3164954572,3164954575,CH
+3164954576,3164954579,FR
+3164954580,3164954583,ES
+3164954584,3164954591,DE
3164954592,3164954623,PL
3164954624,3164956383,FR
3164956384,3164956399,DE
@@ -78972,7 +98475,9 @@
3164958912,3164958927,CH
3164958928,3164958955,FR
3164958956,3164958959,GB
-3164958960,3164959039,FR
+3164958960,3164959007,FR
+3164959008,3164959023,PL
+3164959024,3164959039,FR
3164959040,3164959135,DE
3164959136,3164959231,ES
3164959232,3164959247,FR
@@ -78985,12 +98490,23 @@
3164959312,3164959327,ES
3164959328,3164959343,BE
3164959344,3164959359,PL
-3164959360,3164959375,ES
+3164959360,3164959375,FR
3164959376,3164959383,DE
3164959384,3164959387,PL
-3164959388,3164959487,FR
+3164959388,3164959455,FR
+3164959456,3164959463,DE
+3164959464,3164959471,GB
+3164959472,3164959487,NL
3164959488,3164959743,ES
-3164959744,3164959887,FR
+3164959744,3164959763,FR
+3164959764,3164959767,GB
+3164959768,3164959771,FR
+3164959772,3164959775,PL
+3164959776,3164959807,DE
+3164959808,3164959823,IE
+3164959824,3164959839,FI
+3164959840,3164959855,BE
+3164959856,3164959887,FR
3164959888,3164959891,CH
3164959892,3164959895,LT
3164959896,3164959903,PL
@@ -79020,7 +98536,7 @@
3164960396,3164960399,DE
3164960400,3164960415,PL
3164960416,3164960435,FR
-3164960436,3164960439,ES
+3164960436,3164960439,PL
3164960440,3164960443,CH
3164960444,3164960447,IT
3164960448,3164960463,PL
@@ -79032,7 +98548,8 @@
3164960576,3164960591,DE
3164960592,3164960599,ES
3164960600,3164960623,DE
-3164960624,3164960639,FR
+3164960624,3164960627,FR
+3164960628,3164960639,PL
3164960640,3164960643,LT
3164960644,3164960647,FR
3164960648,3164960651,CH
@@ -79052,11 +98569,12 @@
3164960832,3164960911,FR
3164960912,3164960919,PL
3164960920,3164960927,FR
-3164960928,3164960935,ES
-3164960936,3164960939,GB
+3164960928,3164960931,ES
+3164960932,3164960935,FR
+3164960936,3164960939,CH
3164960940,3164960943,DE
3164960944,3164960959,PL
-3164960960,3164960963,DE
+3164960960,3164960963,ES
3164960964,3164960967,PT
3164960968,3164960975,PL
3164960976,3164960991,GB
@@ -79074,7 +98592,8 @@
3164961328,3164961331,CZ
3164961332,3164961363,FR
3164961364,3164961367,ES
-3164961368,3164961375,FR
+3164961368,3164961371,FR
+3164961372,3164961375,GB
3164961376,3164961379,DE
3164961380,3164961387,IT
3164961388,3164961399,FR
@@ -79104,10 +98623,15 @@
3164961768,3164961775,BE
3164961776,3164961783,PL
3164961784,3164961791,ES
-3164961792,3164961855,FR
+3164961792,3164961807,PL
+3164961808,3164961815,FR
+3164961816,3164961819,CZ
+3164961820,3164961823,DE
+3164961824,3164961827,ES
+3164961828,3164961855,FR
3164961856,3164961859,PL
3164961860,3164961863,ES
-3164961864,3164961871,FI
+3164961864,3164961871,FR
3164961872,3164961887,IE
3164961888,3164961903,ES
3164961904,3164961919,GB
@@ -79115,7 +98639,7 @@
3164961952,3164961967,ES
3164961968,3164961971,FR
3164961972,3164961975,ES
-3164961976,3164961979,GB
+3164961976,3164961979,FR
3164961980,3164961999,DE
3164962000,3164962007,BE
3164962008,3164962011,DE
@@ -79128,7 +98652,8 @@
3164962112,3164962143,GB
3164962144,3164962151,ES
3164962152,3164962159,DE
-3164962160,3164962199,FR
+3164962160,3164962191,FR
+3164962192,3164962199,DE
3164962200,3164962203,GB
3164962204,3164962207,PT
3164962208,3164962211,FI
@@ -79189,7 +98714,9 @@
3164967312,3164967343,IT
3164967344,3164967351,ES
3164967352,3164967359,PL
-3164967360,3164967423,FR
+3164967360,3164967375,FR
+3164967376,3164967391,GB
+3164967392,3164967423,IE
3164967424,3164967679,ES
3164967680,3164967935,FR
3164967936,3164967967,DE
@@ -79197,14 +98724,28 @@
3164967972,3164967975,DE
3164967976,3164967983,FR
3164967984,3164967999,PL
-3164968000,3164968063,ES
-3164968064,3164968191,FR
+3164968000,3164968015,GB
+3164968016,3164968191,FR
3164968192,3164968703,PL
3164968704,3164968831,FR
-3164968832,3164968863,DE
-3164968864,3164968895,FR
-3164968896,3164968927,GB
-3164968928,3164968959,IT
+3164968832,3164968835,PL
+3164968836,3164968839,NL
+3164968840,3164968843,ES
+3164968844,3164968847,IT
+3164968848,3164968851,GB
+3164968852,3164968855,FR
+3164968856,3164968859,IE
+3164968860,3164968863,LT
+3164968864,3164968895,DE
+3164968896,3164968899,PT
+3164968900,3164968903,CZ
+3164968904,3164968907,PL
+3164968908,3164968911,GB
+3164968912,3164968927,DE
+3164968928,3164968947,FR
+3164968948,3164968951,PL
+3164968952,3164968955,CZ
+3164968956,3164968959,DE
3164968960,3164968991,GB
3164968992,3164969007,IE
3164969008,3164969015,PT
@@ -79219,13 +98760,14 @@
3164969100,3164969103,DE
3164969104,3164969135,FR
3164969136,3164969143,ES
-3164969144,3164969147,PT
+3164969144,3164969147,FR
3164969148,3164969183,GB
3164969184,3164969199,FR
3164969200,3164969203,LT
3164969204,3164969207,ES
3164969208,3164969211,PL
-3164969212,3164969471,FR
+3164969212,3164969215,DE
+3164969216,3164969471,FR
3164969472,3164969727,PL
3164969728,3164969743,DE
3164969744,3164969759,FR
@@ -79241,8 +98783,7 @@
3164969984,3164970047,IE
3164970048,3164970079,GB
3164970080,3164970111,DE
-3164970112,3164970211,FR
-3164970212,3164970215,GB
+3164970112,3164970215,FR
3164970216,3164970219,PL
3164970220,3164970223,FR
3164970224,3164970239,GB
@@ -79265,7 +98806,8 @@
3164970376,3164970379,FR
3164970380,3164970383,PL
3164970384,3164970399,IT
-3164970400,3164970407,CH
+3164970400,3164970403,FR
+3164970404,3164970407,CH
3164970408,3164970411,IT
3164970412,3164970415,GB
3164970416,3164970423,FR
@@ -79297,7 +98839,11 @@
3164970832,3164970835,IT
3164970836,3164970839,PL
3164970840,3164970847,GB
-3164970848,3164970887,FR
+3164970848,3164970867,FR
+3164970868,3164970871,NL
+3164970872,3164970875,BE
+3164970876,3164970879,NL
+3164970880,3164970887,FR
3164970888,3164970891,GB
3164970892,3164970911,FR
3164970912,3164970915,NL
@@ -79307,7 +98853,7 @@
3164970928,3164970991,FR
3164970992,3164971007,BE
3164971008,3164971011,IT
-3164971012,3164971015,FR
+3164971012,3164971015,IE
3164971016,3164971023,PL
3164971024,3164971071,FR
3164971072,3164971135,DE
@@ -79316,9 +98862,9 @@
3164971456,3164971459,FR
3164971460,3164971463,IT
3164971464,3164971467,CH
-3164971468,3164971471,FR
+3164971468,3164971471,DE
3164971472,3164971479,NL
-3164971480,3164971483,FR
+3164971480,3164971483,FI
3164971484,3164971487,PL
3164971488,3164971503,ES
3164971504,3164971511,PL
@@ -79334,18 +98880,21 @@
3164971984,3164971999,ES
3164972000,3164972015,CH
3164972016,3164972019,ES
-3164972020,3164972027,FR
+3164972020,3164972023,FR
+3164972024,3164972027,IT
3164972028,3164972031,CH
3164972032,3164972287,GB
3164972288,3164972319,FR
3164972320,3164972351,DE
3164972352,3164972415,NL
3164972416,3164972479,BE
-3164972480,3164972499,FR
-3164972500,3164972511,DE
+3164972480,3164972495,FR
+3164972496,3164972511,DE
3164972512,3164972527,GB
3164972528,3164972531,DE
-3164972532,3164972559,FR
+3164972532,3164972535,FR
+3164972536,3164972539,NL
+3164972540,3164972559,FR
3164972560,3164972575,IT
3164972576,3164972579,CZ
3164972580,3164972583,GB
@@ -79355,7 +98904,8 @@
3164972596,3164972599,PL
3164972600,3164972607,FR
3164972608,3164972639,PL
-3164972640,3164972671,FR
+3164972640,3164972655,IT
+3164972656,3164972671,FR
3164972672,3164972679,PL
3164972680,3164972691,FR
3164972692,3164972695,FI
@@ -79380,7 +98930,7 @@
3164973560,3164973563,BE
3164973564,3164973575,CZ
3164973576,3164973583,GB
-3164973584,3164973599,FR
+3164973584,3164973599,DE
3164973600,3164973615,IE
3164973616,3164973623,BE
3164973624,3164973627,PL
@@ -79390,7 +98940,9 @@
3164973696,3164973727,DE
3164973728,3164973743,GB
3164973744,3164973759,FR
-3164973760,3164973815,GB
+3164973760,3164973791,GB
+3164973792,3164973807,DE
+3164973808,3164973815,GB
3164973816,3164973823,FR
3164973824,3164973855,DE
3164973856,3164973863,PL
@@ -79398,14 +98950,14 @@
3164973868,3164973871,ES
3164973872,3164973875,PL
3164973876,3164973879,GB
-3164973880,3164973883,FR
+3164973880,3164973883,IT
3164973884,3164973887,DE
3164973888,3164973903,GB
3164973904,3164973911,FR
3164973912,3164973915,DE
3164973916,3164973935,FR
3164973936,3164973939,GB
-3164973940,3164973943,FR
+3164973940,3164973943,BE
3164973944,3164973951,PL
3164973952,3164974591,FR
3164974592,3164974623,PL
@@ -79413,7 +98965,7 @@
3164974644,3164974647,PL
3164974648,3164974651,PT
3164974652,3164974655,DE
-3164974656,3164974659,BE
+3164974656,3164974659,FR
3164974660,3164974667,GB
3164974668,3164974671,DE
3164974672,3164974675,FR
@@ -79428,14 +98980,15 @@
3164974848,3164975103,GB
3164975104,3164975167,CH
3164975168,3164975231,GB
-3164975232,3164975299,IT
+3164975232,3164975295,IT
+3164975296,3164975299,BE
3164975300,3164975343,ES
3164975344,3164975351,GB
3164975352,3164975355,NL
3164975356,3164975359,FR
3164975360,3164975615,ES
3164975616,3164975663,FI
-3164975664,3164975679,DE
+3164975664,3164975679,PL
3164975680,3164975695,GB
3164975696,3164975699,PL
3164975700,3164975703,DE
@@ -79488,7 +99041,7 @@
3164976288,3164976295,ES
3164976296,3164976303,IT
3164976304,3164976307,FR
-3164976308,3164976311,DE
+3164976308,3164976311,IE
3164976312,3164976315,GB
3164976316,3164976319,FR
3164976320,3164976327,DE
@@ -79508,10 +99061,14 @@
3164976448,3164976459,FR
3164976460,3164976479,DE
3164976480,3164976511,PL
-3164976512,3164976767,FR
+3164976512,3164976655,FR
+3164976656,3164976671,ES
+3164976672,3164976687,FR
+3164976688,3164976703,PL
+3164976704,3164976767,FR
3164976768,3164976783,DE
3164976784,3164976799,CZ
-3164976800,3164976815,DE
+3164976800,3164976815,PT
3164976816,3164976831,CZ
3164976832,3164976835,IT
3164976836,3164976839,ES
@@ -79533,8 +99090,8 @@
3164977792,3164977823,FR
3164977824,3164977839,GB
3164977840,3164977871,FR
-3164977872,3164977875,DE
-3164977876,3164977879,ES
+3164977872,3164977875,GB
+3164977876,3164977879,NL
3164977880,3164977883,DE
3164977884,3164977887,GB
3164977888,3164977903,IT
@@ -79545,10 +99102,9 @@
3164977920,3164978047,DE
3164978048,3164978055,FR
3164978056,3164978063,NL
-3164978064,3164978067,FR
+3164978064,3164978067,BE
3164978068,3164978079,ES
-3164978080,3164978111,IT
-3164978112,3164978127,GB
+3164978080,3164978127,GB
3164978128,3164978143,FR
3164978144,3164978147,DE
3164978148,3164978151,ES
@@ -79560,28 +99116,36 @@
3164978560,3164978563,PT
3164978564,3164978567,PL
3164978568,3164978571,GB
-3164978572,3164978575,FR
+3164978572,3164978575,IT
3164978576,3164978591,ES
3164978592,3164978607,FR
3164978608,3164978623,IE
-3164978624,3164978687,FR
-3164978688,3164978943,PL
+3164978624,3164978655,ES
+3164978656,3164978659,IT
+3164978660,3164978663,FI
+3164978664,3164978667,PL
+3164978668,3164978671,FR
+3164978672,3164978679,PT
+3164978680,3164978943,PL
3164978944,3164978951,PT
3164978952,3164978955,PL
3164978956,3164978959,GB
3164978960,3164978975,FR
-3164978976,3164978991,ES
-3164978992,3164978999,PL
+3164978976,3164978983,ES
+3164978984,3164978999,PL
3164979000,3164979003,FR
3164979004,3164979007,DE
3164979008,3164979023,GB
3164979024,3164979047,FR
3164979048,3164979051,BE
3164979052,3164979103,FR
-3164979104,3164979111,GB
+3164979104,3164979107,PL
+3164979108,3164979111,GB
3164979112,3164979119,PL
3164979120,3164979135,NL
-3164979136,3164979159,FR
+3164979136,3164979151,FR
+3164979152,3164979155,PT
+3164979156,3164979159,FR
3164979160,3164979167,PL
3164979168,3164979175,DE
3164979176,3164979183,FR
@@ -79632,16 +99196,9 @@
3167875072,3167879167,MD
3167879168,3167940095,RO
3167940096,3167940351,CY
-3167940352,3168092159,RO
-3168092160,3168096255,GB
+3167940352,3168096255,RO
3168096256,3168100351,MD
-3168100352,3168104447,RO
-3168104448,3168108543,GB
-3168108544,3168112639,RO
-3168112640,3168116735,GB
-3168116736,3168120831,RO
-3168120832,3168124927,GB
-3168124928,3168195583,RO
+3168100352,3168195583,RO
3168195584,3168196095,DE
3168196096,3168207103,RO
3168207104,3168207359,CY
@@ -79713,7 +99270,9 @@
3169873920,3169878015,MD
3169878016,3169905151,RO
3169905152,3169905407,GB
-3169905408,3169976319,RO
+3169905408,3169920767,RO
+3169920768,3169921023,SE
+3169921024,3169976319,RO
3169976320,3170111487,RU
3170111488,3170115583,MD
3170115584,3170119679,RU
@@ -79730,13 +99289,17 @@
3170263040,3170271231,CZ
3170271232,3170279423,PL
3170279424,3170287615,RU
-3170287616,3170295807,GB
+3170287616,3170289151,GB
+3170289152,3170289167,BA
+3170289168,3170295807,GB
3170295808,3170303999,RU
3170304000,3170312191,SY
3170312192,3170320383,RU
3170320384,3170328575,JO
3170328576,3170336767,UA
-3170336768,3170369535,RO
+3170336768,3170363391,RO
+3170363392,3170363647,SK
+3170363648,3170369535,RO
3170369536,3170500607,SA
3170500608,3170631679,PT
3170631680,3170664447,PL
@@ -79774,6 +99337,7 @@
3187834880,3187851263,AN
3187851264,3187855359,PY
3187855360,3187857407,PA
+3187857408,3187859455,CR
3187859456,3187863551,PA
3187863552,3187908607,AR
3187908608,3187910655,CO
@@ -79787,6 +99351,7 @@
3187953664,3187955711,CL
3187955712,3187957759,CR
3187957760,3187961855,CL
+3187961856,3187965951,AR
3187965952,3187982335,AN
3187982336,3187998719,CL
3187998720,3188006911,AR
@@ -79806,19 +99371,23 @@
3188125696,3188146175,AR
3188146176,3188170751,CO
3188170752,3188174847,CR
+3188174848,3188178943,AR
3188178944,3188187135,CR
3188187136,3188203519,AR
3188203520,3188207615,DO
+3188207616,3188211711,AR
3188211712,3188228095,CL
3188228096,3188236287,PE
3188236288,3188237311,PA
-3188237312,3188238335,VE
+3188237312,3188239359,VE
3188240384,3188241407,CO
3188241408,3188242431,EC
3188242432,3188244479,AR
3188244480,3188260863,CO
3188260864,3188269055,AR
-3188269056,3188273151,VE
+3188269056,3188269439,VE
+3188269440,3188269567,CO
+3188269568,3188273151,VE
3188273152,3188275199,PA
3188275200,3188277247,CL
3188277248,3188293631,CO
@@ -79832,13 +99401,19 @@
3188416512,3188445183,AR
3188445184,3188449279,PE
3188449280,3188453375,HN
-3188457472,3188473855,EC
+3188453376,3188473855,EC
3188473856,3188482047,PE
3188482048,3188490239,AR
3188490240,3188498431,CO
-3188498432,3188513279,AR
+3188498432,3188509695,AR
+3188509696,3188510207,US
+3188510208,3188513279,AR
3188513280,3188513535,US
-3188513536,3188523007,AR
+3188513536,3188516351,AR
+3188516352,3188516607,US
+3188516608,3188517119,AR
+3188517120,3188517375,US
+3188517376,3188523007,AR
3188523008,3188539391,CO
3188539392,3188543487,CL
3188543488,3188545535,PA
@@ -79892,6 +99467,7 @@
3191107584,3191111679,PE
3191111680,3191128063,PY
3191128064,3191132159,EC
+3191132160,3191136255,AR
3191136256,3191144447,DO
3191144448,3191153407,SV
3191153408,3191154687,NI
@@ -79916,7 +99492,9 @@
3191603200,3191608319,MX
3191608320,3191608831,CO
3191608832,3191609087,MX
-3191609088,3191635967,CO
+3191609088,3191611391,CO
+3191611392,3191619583,VE
+3191619584,3191635967,CO
3191635968,3191637503,AR
3191637504,3191638095,CO
3191638096,3191638103,AR
@@ -79942,7 +99520,7 @@
3193438208,3193569279,AN
3193569280,3193634815,CO
3193634816,3193700351,CL
-3193700352,3193716735,HN
+3193700352,3193733119,HN
3193733120,3193765887,AR
3193765888,3193774079,TT
3193774080,3193775103,PA
@@ -79958,16 +99536,24 @@
3193823232,3193827327,CL
3193831424,3193864191,DO
3193864192,3193872383,EC
+3193872384,3193880575,AR
3193880576,3193896959,VE
3193896960,3193929727,CL
3193929728,3193962495,EC
3193962496,3193987071,CL
-3193987072,3193989119,EC
+3193987072,3193991167,EC
+3193991168,3193995263,AR
3193995264,3194028031,CO
3194028032,3194044415,AR
3194044416,3194052607,CO
3194052608,3194056703,TT
-3194060800,3194093567,CO
+3194056704,3194058751,AN
+3194058752,3194060799,AR
+3194060800,3194068991,CO
+3194068992,3194071039,PA
+3194071040,3194073087,CL
+3194073088,3194077183,HN
+3194077184,3194085375,CO
3194093568,3194126335,SR
3194126336,3194127359,GT
3194127360,3194128383,AR
@@ -79977,7 +99563,8 @@
3194134528,3194142719,AR
3194142720,3194159103,CL
3194159104,3194163199,NI
-3194163200,3194175487,GT
+3194163200,3194167295,GT
+3194167296,3194175487,SV
3194175488,3194177535,AR
3194177536,3194179583,EC
3194179584,3194181631,AR
@@ -79991,17 +99578,25 @@
3194368000,3194370047,BO
3194370048,3194372095,PA
3194372096,3194380287,HT
+3194380288,3194388479,BZ
3194388480,3194396671,PE
-3194404864,3194413055,CO
+3194396672,3194413055,CO
3194413056,3194421247,CL
-3194421248,3194425343,AR
-3194429440,3194437631,VE
+3194421248,3194428415,AR
+3194428416,3194437631,VE
3194437632,3194441727,BO
+3194441728,3194445823,AR
3194445824,3194454015,CO
-3194454016,3194486783,AR
+3194454016,3194458111,AR
+3194465280,3194467327,AR
+3194467328,3194468351,DO
+3194468352,3194469375,US
+3194469376,3194470399,CR
+3194470400,3194486783,AR
3194486784,3194494975,BO
3194503168,3194507263,AR
3194511360,3194515455,AW
+3194515456,3194519551,GT
3194519552,3194535935,PY
3194552320,3194585087,AR
3194585088,3194589183,HN
@@ -80017,13 +99612,19 @@
3194609664,3194613759,AR
3194613760,3194617855,PE
3194617856,3194626047,NI
+3194626048,3194628095,AR
+3194630144,3194634239,NI
3194634240,3194638335,CR
3194642432,3194646527,AR
3194650624,3194653439,AR
3194653440,3194653695,US
-3194653696,3194665983,AR
+3194653696,3194663167,AR
+3194663168,3194663423,US
+3194663424,3194665983,AR
3194665984,3194666239,US
3194666240,3194667007,AR
+3194667008,3194675199,GT
+3194675200,3194679295,PA
3194683392,3194687487,CU
3194691584,3194699775,BO
3194699776,3194703871,EC
@@ -80036,12 +99637,13 @@
3194746880,3194748927,AN
3194748928,3194757119,UY
3194765312,3194767359,EC
-3194769408,3194771455,PE
+3194767360,3194768383,CR
+3194768384,3194769407,AR
+3194769408,3194773503,PE
3194781696,3194798079,CL
3194798080,3194799103,AR
3194799104,3194802175,GY
-3194806272,3194814463,AR
-3194818560,3194822655,AR
+3194806272,3194830847,AR
3194830848,3194839039,PA
3194847232,3194863615,CO
3194863616,3194871807,HN
@@ -80050,8 +99652,9 @@
3194912768,3194925055,CL
3194925056,3194929151,AR
3194929152,3194937343,EC
+3194937344,3194945535,AR
3194945536,3194953727,GT
-3194961920,3194966015,EC
+3194961920,3194970111,EC
3194970112,3194974207,PA
3194974208,3194976255,AR
3194976256,3194977279,VE
@@ -80074,6 +99677,8 @@
3195191296,3195199487,AR
3195199488,3195201535,PY
3195203584,3195205631,VE
+3195205632,3195206655,PE
+3195206656,3195207679,CL
3195207680,3195211775,GT
3195215872,3195224063,AR
3195224064,3195232255,PA
@@ -80131,7 +99736,8 @@
3196125184,3196190719,BO
3196190720,3196207103,HN
3196207104,3196223487,CO
-3196223488,3196321791,EC
+3196223488,3196305407,EC
+3196305408,3196321791,CO
3196321792,3196583935,UY
3196583936,3196690687,AR
3196690688,3196690943,UY
@@ -80139,7 +99745,7 @@
3196846080,3196977151,PA
3196977152,3197042687,VE
3197042688,3197075455,CO
-3197075456,3197091839,GT
+3197075456,3197108223,GT
3197108224,3197370367,CO
3197370368,3197501439,GT
3197501440,3197566975,SV
@@ -80162,13 +99768,19 @@
3198910464,3198926847,CL
3198943232,3199500799,AR
3199500800,3199501311,US
-3199501312,3199516671,AR
+3199501312,3199533055,AR
3199533056,3199549439,BO
3199549440,3199565823,AR
3199565824,3199582207,NI
3199598592,3199631359,CO
-3199664128,3199729663,AR
+3199631360,3199729663,AR
3199729664,3199762431,NI
+3199778816,3199779839,AR
+3199779840,3199780863,CR
+3199780864,3199782911,CO
+3199782912,3199784959,AR
+3199784960,3199785983,EC
+3199785984,3199795199,AR
3199795200,3199827967,AN
3199827968,3199860735,AR
3199860736,3199926271,BO
@@ -80187,6 +99799,7 @@
3201522688,3201531903,CR
3201531904,3201533951,AR
3201533952,3201534975,HN
+3201534976,3201535999,CO
3201536000,3201540095,AR
3201540096,3201544191,CL
3201548288,3201556479,AR
@@ -80216,8 +99829,18 @@
3203476736,3203476991,CR
3203476992,3203477375,CO
3203477376,3203530751,CR
-3203530752,3203538943,NI
-3203538944,3203661823,CO
+3203530752,3203531519,NI
+3203531520,3203531775,PA
+3203531776,3203532287,NI
+3203532288,3203532543,PA
+3203532544,3203532799,NI
+3203532800,3203534847,PA
+3203534848,3203535871,NI
+3203535872,3203536383,PA
+3203536384,3203538943,NI
+3203538944,3203547135,CO
+3203547136,3203549183,PA
+3203549184,3203661823,CO
3203661824,3203923967,AR
3203923968,3204448255,CO
3221233664,3221237759,US
@@ -80298,9 +99921,7 @@
3222075136,3222075391,CH
3222075392,3222274047,US
3222290432,3222305535,US
-3222305536,3222309119,SE
-3222309120,3222309375,EU
-3222309376,3222313727,SE
+3222305536,3222313727,SE
3222313728,3222316799,CH
3222316800,3222319615,US
3222319616,3222320127,JP
@@ -80339,15 +99960,14 @@
3222979072,3222983167,US
3222983168,3222983935,CA
3222983936,3222984447,US
-3222984448,3222988543,AU
+3222984704,3222988543,AU
3222988544,3222988799,PT
3222988800,3222989055,AU
3222989056,3222989311,US
3222989312,3222989567,GB
3222989568,3222989823,CA
3222989824,3222990079,PT
-3222990080,3222990335,EU
-3222990336,3222990591,AT
+3222990080,3222990591,AT
3222990592,3222990847,PT
3222990848,3223224319,US
3223227904,3223228159,CA
@@ -80479,9 +100099,16 @@
3223582464,3223582719,NL
3223582720,3223582975,AU
3223583488,3223584767,US
-3223584768,3223589119,SE
+3223584768,3223585023,GB
+3223585024,3223585791,SE
+3223585792,3223586047,GB
+3223586048,3223586303,SE
+3223586304,3223586559,GB
+3223586560,3223589119,SE
3223589120,3223589375,US
-3223589376,3223606527,SE
+3223589376,3223601663,SE
+3223601664,3223602175,GB
+3223602176,3223606527,SE
3223606528,3223606783,GB
3223606784,3223607551,SE
3223607552,3223607807,GB
@@ -80492,12 +100119,13 @@
3223611136,3223611647,SE
3223611648,3223611903,GB
3223611904,3223615743,SE
-3223615744,3223615999,GB
-3223616000,3223617535,SE
+3223615744,3223616767,GB
+3223616768,3223617535,SE
3223617536,3223617791,NO
3223617792,3223620863,SE
3223620864,3223621119,DK
-3223621120,3223627775,SE
+3223621120,3223621375,GB
+3223621376,3223627775,SE
3223627776,3223628031,DE
3223628032,3223628287,SE
3223628288,3223628543,ES
@@ -80505,18 +100133,32 @@
3223630592,3223630847,GB
3223630848,3223634431,SE
3223634432,3223634687,US
-3223634688,3223646207,SE
+3223634688,3223634943,SE
+3223634944,3223635455,GB
+3223635456,3223637247,SE
+3223637248,3223637503,GB
+3223637504,3223638271,SE
+3223638272,3223638527,GB
+3223638528,3223640831,SE
+3223640832,3223641087,GB
+3223641088,3223646207,SE
3223646208,3223646463,IT
3223646464,3223646975,SE
3223646976,3223647231,IT
-3223647232,3223650303,SE
+3223647232,3223648511,SE
+3223648512,3223648767,GB
+3223648768,3223650047,SE
+3223650048,3223650303,GB
3223650304,3223715839,CH
3223715840,3223781375,DK
3223781376,3223823871,US
3223823872,3223824127,AT
3223824128,3223863295,US
3223863552,3223863807,US
+3223864576,3223864831,AE
+3223864832,3223865343,HR
3223865344,3223867391,FI
+3223867392,3223867647,GB
3223871488,3223887871,US
3223898368,3223898623,US
3223902464,3223902719,CA
@@ -80546,6 +100188,7 @@
3223965440,3223966207,US
3223966208,3223966463,GB
3223966464,3223967743,US
+3223967744,3223967999,FR
3223968000,3223968255,US
3223968256,3223968511,IT
3223968512,3223970303,US
@@ -80557,7 +100200,6 @@
3223979776,3223988735,US
3223988736,3223990271,CH
3223990272,3223991295,US
-3223991296,3223991551,AU
3223991552,3223991807,GB
3223991808,3223992063,CA
3223992064,3223993343,US
@@ -80568,7 +100210,6 @@
3223995392,3223995647,CA
3223995648,3223996159,US
3223996416,3223999487,US
-3223999488,3224000255,JP
3224000256,3224000511,GB
3224000512,3224001023,US
3224001024,3224001279,CA
@@ -80597,19 +100238,13 @@
3224043008,3224043263,US
3224043520,3224084991,US
3224084992,3224087551,SE
-3224087552,3224088063,US
-3224088064,3224088319,JP
-3224088320,3224090879,US
+3224087552,3224090879,US
3224090880,3224091135,AU
-3224091648,3224091903,US
-3224091904,3224092159,JP
-3224092416,3224092671,US
+3224091648,3224092671,US
3224092672,3224093951,CH
3224093952,3224094207,US
3224094208,3224094463,AU
-3224094464,3224094975,US
-3224094976,3224095487,JP
-3224095488,3224096255,US
+3224094464,3224096255,US
3224096512,3224097279,AU
3224097280,3224097535,NL
3224097536,3224097791,US
@@ -80659,9 +100294,7 @@
3224431104,3224431359,CA
3224431360,3224431615,US
3224432128,3224432383,US
-3224432640,3224434687,US
-3224434688,3224434943,AU
-3224434944,3224435967,US
+3224432640,3224435967,US
3224435968,3224436223,ZA
3224436224,3224436479,US
3224436736,3224502271,FI
@@ -80673,9 +100306,7 @@
3224651776,3224652287,AU
3224652800,3224660991,US
3224660992,3224661247,CA
-3224661504,3224662527,US
-3224663040,3224663551,US
-3224663808,3224671999,JP
+3224661504,3224664063,US
3224672000,3224672255,US
3224672256,3224672511,NL
3224672512,3224673791,US
@@ -80684,12 +100315,8 @@
3224675072,3224675839,US
3224676864,3224677119,US
3224677120,3224678655,AU
-3224678656,3224680703,US
-3224680704,3224680959,AU
-3224680960,3224681471,US
-3224682496,3224683519,US
-3224683520,3224684031,AU
-3224684032,3224689919,US
+3224678656,3224681471,US
+3224682496,3224689919,US
3224689920,3224690687,NL
3224690688,3224692735,US
3224692736,3224692991,DZ
@@ -80707,9 +100334,7 @@
3224725760,3224739071,US
3224739072,3224739327,FI
3224739328,3224772351,US
-3224772352,3224781311,DE
-3224781312,3224781567,EU
-3224781568,3224785151,DE
+3224772352,3224785151,DE
3224785152,3224791039,US
3224791040,3224791295,DE
3224791296,3224791807,AU
@@ -80727,12 +100352,10 @@
3224798208,3224798463,CH
3224798464,3224798975,US
3224798976,3224799231,AU
-3224799488,3224799743,AU
3224799744,3224799999,US
3224800000,3224800255,DE
-3224800256,3224816639,FR
-3224816640,3224816895,EU
-3224816896,3224820735,FR
+3224800256,3224820735,FR
+3224820736,3224820991,PL
3224820992,3224821247,DE
3224821248,3224822015,US
3224822016,3224822271,SE
@@ -80743,7 +100366,6 @@
3224826880,3224827135,CH
3224827136,3224827391,GB
3224827392,3224827647,US
-3224827648,3224827903,JP
3224827904,3224828671,US
3224828672,3224828927,AU
3224829184,3224829439,US
@@ -80759,10 +100381,7 @@
3224855808,3224856063,IT
3224856064,3224856575,US
3224856832,3224857087,NL
-3224857088,3224857855,US
-3224857856,3224858111,EU
-3224858112,3224858367,JP
-3224858368,3224858623,US
+3224857088,3224858623,US
3224858624,3224858879,AU
3224858880,3224859391,US
3224859392,3224859647,NL
@@ -80783,9 +100402,7 @@
3224880640,3224880895,AU
3224880896,3224882431,US
3224882688,3224882943,CA
-3224882944,3224883455,US
-3224883456,3224883711,AU
-3224883712,3224884223,US
+3224882944,3224884223,US
3224884224,3224884479,GB
3224884480,3224884991,US
3224885248,3224885503,CA
@@ -80796,9 +100413,7 @@
3224887296,3224887551,CA
3224887808,3224889343,US
3224889344,3224889599,AU
-3224889600,3224890879,US
-3224890880,3224891135,JP
-3224891136,3224891647,US
+3224889600,3224891647,US
3224892160,3224892415,CA
3224892416,3224892671,DE
3224892928,3224893183,US
@@ -80819,10 +100434,12 @@
3225028864,3225031423,JP
3225031424,3225033727,US
3225033728,3225033983,LU
+3225033984,3225034239,AE
+3225034240,3225034751,FI
+3225034752,3225035775,BG
3225035776,3225037055,US
3225037056,3225051135,FI
-3225051136,3225052671,JP
-3225052672,3225057535,US
+3225051136,3225057535,US
3225057536,3225057791,CA
3225057792,3225060351,US
3225060352,3225061631,AU
@@ -80843,7 +100460,6 @@
3225423872,3225424383,US
3225426944,3225427199,AT
3225429504,3225429759,CA
-3225431040,3225431551,EU
3225431552,3225433087,US
3225436160,3225444607,US
3225445376,3225446399,BE
@@ -80882,13 +100498,8 @@
3225540864,3225541119,AU
3225541120,3225541375,US
3225541376,3225544703,GB
-3225547776,3225548799,US
-3225548800,3225549055,NZ
-3225549056,3225549311,US
-3225549312,3225549567,AU
-3225549568,3225550847,US
+3225546752,3225550847,US
3225550848,3225616383,DK
-3225616640,3225616895,AU
3225617152,3225617407,IE
3225617408,3225617663,GB
3225617920,3225618175,US
@@ -80917,7 +100528,7 @@
3225636096,3225636607,US
3225636608,3225636863,ES
3225636864,3225637887,US
-3225637888,3225638399,AU
+3225637888,3225638143,AU
3225638400,3225638655,US
3225638656,3225638911,GB
3225639424,3225640447,US
@@ -80930,13 +100541,11 @@
3225651200,3225657343,US
3225658624,3225659135,US
3225659136,3225659391,DE
-3225659392,3225659647,NZ
3225659904,3225660159,DE
3225660160,3225660415,AU
3225660416,3225664511,US
3225664512,3225669887,DE
3225669888,3225671935,US
-3225671936,3225672191,AU
3225672192,3225672447,DE
3225672448,3225672703,US
3225672704,3225673215,NL
@@ -80952,21 +100561,18 @@
3225687808,3225688063,GB
3225688064,3225689343,US
3225689600,3225689855,US
-3225689856,3225694975,NL
-3225694976,3225695231,EU
+3225689856,3225695231,NL
3225695232,3225695487,US
3225695488,3225701119,CA
3225701120,3225701375,US
3225701376,3225709567,NO
3225709568,3225710079,US
-3225710080,3225710591,JP
3225710592,3225714687,US
3225715456,3225715711,CA
3225715712,3225715967,AU
3225715968,3225716991,US
3225716992,3225717247,CA
3225717248,3225717503,TN
-3225717504,3225717759,AU
3225717760,3225720063,US
3225720576,3225721343,GB
3225721344,3225723903,US
@@ -80978,7 +100584,6 @@
3225726720,3225726975,US
3225726976,3225727231,IT
3225727232,3225727487,US
-3225727744,3225727999,AU
3225728000,3225728511,US
3225728512,3225728767,NL
3225728768,3225729023,US
@@ -81032,7 +100637,7 @@
3225857792,3225858047,US
3225858048,3225858559,CA
3225858560,3225858815,US
-3225858816,3225860095,JP
+3225858816,3225859583,JP
3225860096,3225868287,US
3225868288,3225868543,AU
3225868544,3225869055,US
@@ -81075,7 +100680,9 @@
3225937408,3225937663,US
3225937664,3225938431,SE
3225938432,3225938687,US
-3225938688,3225944063,SE
+3225938688,3225941247,SE
+3225941248,3225941503,IT
+3225941504,3225944063,SE
3225944064,3226008831,TW
3226008832,3226009343,US
3226009600,3226010879,US
@@ -81107,9 +100714,7 @@
3226191360,3226191615,US
3226191872,3226201855,CA
3226201856,3226202111,US
-3226202112,3226205439,CA
-3226205440,3226205695,AE
-3226205696,3226205951,CA
+3226202112,3226206207,CA
3226206208,3226215423,GB
3226215424,3226236927,US
3226237184,3226237439,US
@@ -81125,15 +100730,10 @@
3226268416,3226268927,AT
3226268928,3226269951,DE
3226269952,3226270719,US
-3226270720,3226271743,JP
3226271744,3226273791,US
-3226273792,3226274047,AU
3226274048,3226274559,US
3226274560,3226274815,CH
-3226274816,3226276095,US
-3226276096,3226276351,AU
-3226276352,3226276863,US
-3226277632,3226283519,US
+3226274816,3226283519,US
3226283520,3226291199,CA
3226291200,3226300927,US
3226300928,3226301439,DE
@@ -81206,7 +100806,6 @@
3226631424,3226631935,US
3226631936,3226632191,PT
3226632192,3226633215,CA
-3226633216,3226633471,JP
3226635008,3226635263,US
3226635264,3226635519,AU
3226635520,3226635775,US
@@ -81225,25 +100824,21 @@
3226654464,3226655743,US
3226655744,3226656255,IT
3226656256,3226656511,AU
-3226656512,3226658303,US
-3226658304,3226658559,AU
-3226658560,3226661119,US
+3226656512,3226661119,US
3226661120,3226661375,DE
3226661888,3226662143,US
3226664960,3226690815,FI
3226690816,3226691071,CA
3226691072,3226691327,GB
-3226691584,3226691839,JP
-3226691840,3226695167,US
+3226691584,3226695167,US
3226695168,3226695679,AU
3226695680,3226695935,US
3226695936,3226696191,CA
-3226696192,3226696447,CN
3226696448,3226696703,AU
-3226705152,3226705407,JP
3226705408,3226705919,US
3226705920,3226706175,FR
3226706176,3226706943,US
+3226707200,3226707455,PL
3226707456,3226715391,TW
3226715392,3226715647,US
3226715648,3226715903,AU
@@ -81253,13 +100848,13 @@
3226716928,3226717439,US
3226717696,3226717951,US
3226717952,3226720511,GB
-3226720512,3226721279,JP
+3226720768,3226721279,JP
3226721280,3226721791,US
3226722048,3226722303,CH
3226722304,3226722559,AU
3226722560,3226723583,US
3226723584,3226723839,DE
-3226723840,3226724095,JP
+3226723840,3226724095,US
3226724096,3226724351,AU
3226724352,3226725631,US
3226725632,3226726143,AU
@@ -81282,8 +100877,7 @@
3226740736,3226742783,US
3226744576,3226746367,US
3226746368,3226746623,PT
-3226746624,3226748671,US
-3226748672,3226749439,JP
+3226746624,3226748927,US
3226749440,3226749695,US
3226749696,3226752255,GB
3226752256,3226752767,US
@@ -81315,7 +100909,7 @@
3226789632,3226791167,US
3226791168,3226791679,AU
3226791680,3226792191,US
-3226792192,3226792703,AU
+3226792448,3226792703,AU
3226792704,3226792959,US
3226792960,3226793215,ZA
3226793216,3226793983,DE
@@ -81332,7 +100926,6 @@
3226861824,3226862079,CA
3226862080,3226864383,US
3226864384,3226864639,RU
-3226864640,3226864895,NZ
3226864896,3226865151,US
3226865152,3226865407,PL
3226865408,3226866175,US
@@ -81346,10 +100939,7 @@
3226884608,3226893567,US
3226893568,3226894079,NL
3226894080,3226894335,GB
-3226894336,3226894591,US
-3226894592,3226894847,AU
-3226895104,3226895359,US
-3226895360,3226895871,SG
+3226894336,3226895359,US
3226895872,3226896127,GB
3226896128,3226896639,US
3226896640,3226896895,GB
@@ -81378,19 +100968,16 @@
3226998016,3226998527,US
3226998528,3226999039,AT
3226999040,3227013119,US
-3227013120,3227013375,JP
3227013376,3227013887,US
3227013888,3227014399,GB
3227014400,3227014655,NZ
3227014656,3227014911,FI
3227014912,3227017215,US
3227017472,3227017983,DE
-3227018752,3227019007,JP
3227019008,3227020287,US
3227020288,3227020543,DE
3227020800,3227022847,US
3227022848,3227023103,GB
-3227023104,3227023359,NZ
3227023360,3227023615,US
3227023872,3227024127,US
3227024128,3227024383,PT
@@ -81408,26 +100995,16 @@
3227041536,3227042815,US
3227042816,3227043071,IT
3227043072,3227043327,US
-3227043584,3227053567,US
+3227043584,3227044863,US
+3227044864,3227045119,PL
+3227045120,3227053567,US
3227053568,3227053823,GB
3227053824,3227054079,DE
3227054080,3227056639,US
3227056640,3227058175,PT
-3227058176,3227058951,FI
-3227058952,3227058955,AX
-3227058956,3227060735,FI
-3227060736,3227060799,AX
-3227060800,3227071999,FI
-3227072000,3227072127,AX
-3227072128,3227072171,FI
-3227072172,3227072175,AX
-3227072176,3227083519,FI
+3227058176,3227083519,FI
3227083520,3227083775,ES
-3227083776,3227119679,FI
-3227119680,3227119711,AX
-3227119712,3227123199,FI
-3227123200,3227123455,AX
-3227123456,3227123711,FI
+3227083776,3227123711,FI
3227123712,3227225087,US
3227225088,3227225599,LU
3227225600,3227234559,US
@@ -81449,15 +101026,10 @@
3227243008,3227243263,CA
3227243264,3227243519,GB
3227243520,3227243775,US
-3227243776,3227244031,AU
3227244032,3227249151,SE
3227249408,3227249663,US
3227249664,3227252735,CH
-3227252736,3227254271,US
-3227254272,3227254527,HK
-3227256832,3227258623,US
-3227258624,3227258879,NZ
-3227258880,3227273983,US
+3227252736,3227273983,US
3227273984,3227274239,FI
3227274240,3227274495,US
3227274496,3227274751,NL
@@ -81534,25 +101106,20 @@
3227430144,3227430399,US
3227430400,3227430655,HK
3227430656,3227437055,FR
-3227437056,3227437311,AU
-3227437312,3227437823,US
-3227438848,3227439103,US
+3227437056,3227439103,US
3227439104,3227439615,AU
3227439616,3227439871,ZA
3227439872,3227440127,US
3227440128,3227440383,IT
3227440384,3227442175,US
-3227442176,3227442431,JP
3227442432,3227442687,RU
3227442688,3227443711,US
3227443712,3227443967,EU
3227443968,3227444223,AU
3227444224,3227445503,US
-3227445504,3227445759,CH
3227445760,3227446015,US
3227446016,3227446271,GB
3227446272,3227446783,US
-3227446784,3227447039,JP
3227447040,3227447295,AT
3227447296,3227447807,ZA
3227447808,3227448063,US
@@ -81601,7 +101168,9 @@
3227806464,3227806495,FI
3227806496,3227806527,GB
3227806528,3227806719,FI
-3227806720,3227807743,US
+3227806720,3227806975,US
+3227806976,3227807039,SG
+3227807040,3227807743,US
3227807744,3227809023,FI
3227809024,3227809279,IN
3227809280,3227813375,FI
@@ -81660,6 +101229,7 @@
3227909632,3227909887,AU
3227910400,3227910655,AT
3227910656,3227911679,US
+3227911680,3227912191,UA
3227912192,3227912447,GB
3227912448,3227912703,ZA
3227912704,3227912959,US
@@ -81677,7 +101247,7 @@
3227933184,3227933695,US
3227933696,3227933951,NZ
3227933952,3227934463,US
-3227934464,3227934719,EU
+3227934464,3227934719,CH
3227934720,3227947519,US
3227947520,3227955711,DE
3227955712,3227964927,US
@@ -81709,15 +101279,11 @@
3227982848,3227985919,GB
3227985920,3227986175,DE
3227986176,3227986431,US
-3227986432,3227986943,JP
-3227986944,3227987455,US
-3227987456,3227987711,AU
-3227987712,3227997439,US
+3227986688,3227997439,US
3227997440,3228005631,FI
3228005632,3228008959,US
3228008960,3228009215,AU
-3228009472,3228009727,AU
-3228009728,3228010751,US
+3228009472,3228010751,US
3228010752,3228011519,GB
3228011520,3228013311,US
3228013312,3228013567,PT
@@ -81731,7 +101297,6 @@
3228048896,3228050175,US
3228050176,3228050943,PT
3228051200,3228051455,US
-3228051456,3228051711,JP
3228051712,3228051967,CH
3228051968,3228052223,US
3228052224,3228052991,AU
@@ -81747,7 +101312,6 @@
3228060160,3228060927,US
3228060928,3228061183,DE
3228061184,3228061695,US
-3228061696,3228061951,JP
3228061952,3228062207,US
3228062208,3228062463,GB
3228062464,3228069887,US
@@ -81775,9 +101339,7 @@
3228104704,3228104959,DK
3228104960,3228105471,US
3228105472,3228105727,CH
-3228105728,3228105983,NZ
-3228105984,3228106495,US
-3228106752,3228109311,US
+3228105728,3228109311,US
3228109312,3228109567,NZ
3228109568,3228125951,US
3228125952,3228126207,RU
@@ -81797,7 +101359,6 @@
3228238848,3228239359,GB
3228239616,3228240127,US
3228240128,3228240383,AU
-3228240384,3228240639,NZ
3228240640,3228241407,GB
3228241408,3228250367,US
3228250624,3228250879,US
@@ -81807,7 +101368,7 @@
3228264448,3228264703,NI
3228264704,3228265983,US
3228265984,3228266239,IE
-3228266496,3228267007,NZ
+3228266752,3228267007,NZ
3228267008,3228267263,NO
3228267264,3228268543,US
3228269056,3228269311,PT
@@ -81842,7 +101403,6 @@
3228329472,3228330751,US
3228330752,3228331263,SE
3228331264,3228332287,US
-3228332288,3228332543,AU
3228332544,3228332799,GR
3228332800,3228334079,FR
3228334080,3228334335,GB
@@ -81888,15 +101448,11 @@
3228421376,3228423679,DE
3228423680,3228424191,CH
3228424192,3228434431,DE
-3228434432,3228443903,US
-3228443904,3228444159,CA
-3228444160,3228456191,US
+3228434432,3228456191,US
3228456192,3228456447,CA
3228456448,3228457471,US
3228457472,3228457727,CA
-3228457728,3228458751,US
-3228458752,3228459007,CA
-3228459008,3228461567,US
+3228457728,3228461567,US
3228461568,3228461823,CA
3228461824,3228464127,US
3228464128,3228464383,CA
@@ -81993,15 +101549,34 @@
3229120768,3229151487,US
3229151488,3229151743,SE
3229151744,3229155327,US
-3229155328,3229155839,SE
+3229155328,3229155583,GB
+3229155584,3229155839,SE
3229155840,3229156095,ES
-3229156096,3229171455,SE
+3229156096,3229161727,SE
+3229161728,3229161983,GB
+3229161984,3229164543,SE
+3229164544,3229165055,GB
+3229165056,3229168895,SE
+3229168896,3229169151,JP
+3229169152,3229171455,SE
3229171456,3229171711,MT
-3229171712,3229200895,SE
+3229171712,3229172223,GB
+3229172224,3229182463,SE
+3229182464,3229182975,GB
+3229182976,3229189119,SE
+3229189120,3229189375,GB
+3229189376,3229191167,SE
+3229191168,3229191423,GB
+3229191424,3229192191,SE
+3229192192,3229192447,FI
+3229192448,3229200383,SE
+3229200384,3229200895,GB
3229200896,3229201151,DE
3229201152,3229201663,SE
3229201664,3229201919,DK
-3229201920,3229205503,SE
+3229201920,3229203199,SE
+3229203200,3229203967,GB
+3229203968,3229205503,SE
3229205504,3229206015,GB
3229206016,3229219583,SE
3229219584,3229219839,EE
@@ -82020,9 +101595,7 @@
3229265920,3229266175,AU
3229266176,3229266943,US
3229266944,3229267199,NZ
-3229267200,3229274623,US
-3229274624,3229274879,AU
-3229274880,3229275647,US
+3229267200,3229275647,US
3229275648,3229275903,GB
3229276160,3229281023,IE
3229281024,3229281791,US
@@ -82032,8 +101605,7 @@
3229286400,3229354495,US
3229354496,3229355775,AU
3229355776,3229358079,US
-3229358080,3229358335,NZ
-3229358336,3229359359,DE
+3229358080,3229359359,DE
3229359872,3229360127,US
3229360128,3229360383,AT
3229360384,3229361919,US
@@ -82062,9 +101634,7 @@
3229548544,3229679615,US
3229679872,3229680383,DE
3229680384,3229680895,RO
-3229680896,3229693183,DE
-3229693184,3229693439,NL
-3229693440,3229695487,DE
+3229680896,3229695487,DE
3229695488,3229700095,US
3229700096,3229700351,AT
3229700352,3229701887,US
@@ -82074,11 +101644,7 @@
3229705216,3229708287,US
3229745152,3229749759,FI
3229749760,3229750015,BE
-3229750016,3229764063,FI
-3229764064,3229764095,AX
-3229764096,3229808639,FI
-3229808640,3229808647,AX
-3229808648,3229810687,FI
+3229750016,3229810687,FI
3229810688,3229814015,US
3229814016,3229814271,AU
3229814272,3229815807,US
@@ -82090,8 +101656,7 @@
3229830912,3229831167,GB
3229831168,3229833215,US
3229833472,3229833727,GB
-3229833728,3229834239,IN
-3229834240,3229834495,AU
+3229833728,3229834495,AU
3229834496,3229834751,US
3229834752,3229835007,CA
3229835008,3229835263,US
@@ -82133,9 +101698,7 @@
3229900032,3229900287,AU
3229900288,3229901567,US
3229901568,3229901823,GB
-3229901824,3229902335,US
-3229902336,3229902591,AU
-3229902592,3229937407,US
+3229901824,3229937407,US
3229937408,3229937663,GB
3229937664,3229937919,US
3229937920,3229938175,CA
@@ -82147,10 +101710,7 @@
3229940736,3229940991,CH
3229940992,3229941247,AU
3229941248,3229941503,US
-3229941760,3229944319,US
-3229944320,3229944575,TH
-3229944576,3229945343,US
-3229945344,3229945599,AU
+3229941760,3229945343,US
3229945600,3229945855,PT
3229945856,3229947135,US
3229947136,3229947391,AU
@@ -82171,7 +101731,6 @@
3229956864,3229958143,US
3229958144,3229958399,NO
3229958400,3229958655,US
-3229958656,3229958911,NZ
3229958912,3229959167,SG
3229959168,3229961215,US
3229962240,3229967615,US
@@ -82226,7 +101785,7 @@
3230109952,3230115071,CH
3230115072,3230115327,IT
3230115328,3230115583,GR
-3230115584,3230116095,BE
+3230115584,3230116095,EU
3230116096,3230117631,US
3230117632,3230117887,FR
3230117888,3230120191,US
@@ -82237,7 +101796,6 @@
3230125312,3230125567,US
3230125824,3230126335,AU
3230126336,3230126591,US
-3230126592,3230126847,AU
3230126848,3230128639,US
3230128896,3230129151,PT
3230129152,3230129663,US
@@ -82276,8 +101834,7 @@
3230151424,3230151679,NL
3230151680,3230151935,PT
3230152192,3230152447,FR
-3230152448,3230152959,BF
-3230152960,3230153215,NE
+3230152448,3230153215,BF
3230153216,3230153471,FR
3230153472,3230153727,PF
3230153728,3230153983,US
@@ -82286,9 +101843,7 @@
3230156544,3230164991,FI
3230164992,3230167295,US
3230167552,3230168063,CA
-3230168832,3230174463,US
-3230174464,3230175231,IN
-3230175232,3230177791,US
+3230168832,3230177791,US
3230177792,3230178303,GB
3230178304,3230178559,CH
3230203904,3230210047,US
@@ -82333,8 +101888,7 @@
3230245120,3230246143,SE
3230246144,3230246911,US
3230246912,3230247167,CH
-3230247168,3230247679,US
-3230247680,3230247935,SE
+3230247168,3230247935,US
3230247936,3230248191,AU
3230248192,3230251007,US
3230251008,3230251263,CH
@@ -82361,8 +101915,7 @@
3230295040,3230295295,AU
3230295296,3230296319,US
3230296320,3230297343,NO
-3230297344,3230299647,SE
-3230299648,3230301695,SG
+3230297344,3230300159,SE
3230301696,3230302207,US
3230302208,3230302975,CA
3230302976,3230309119,US
@@ -82372,9 +101925,7 @@
3230316288,3230316543,IT
3230316544,3230316799,US
3230316800,3230317311,CA
-3230317312,3230317567,US
-3230317568,3230317823,SG
-3230317824,3230318591,US
+3230317312,3230318591,US
3230318592,3230318847,GB
3230318848,3230321663,US
3230321664,3230321919,PT
@@ -82405,7 +101956,9 @@
3230827520,3230827775,AT
3230827776,3230828031,NZ
3230828032,3230828543,HU
-3230828544,3230828799,GB
+3230828544,3230829055,GB
+3230829056,3230829567,RO
+3230829568,3230830079,RU
3230830080,3230832127,US
3230832128,3230832383,NZ
3230832384,3230832639,US
@@ -82423,9 +101976,7 @@
3230840832,3230841087,JP
3230841088,3230841343,DE
3230841600,3230841855,ES
-3230841856,3230842111,US
-3230842112,3230842367,AU
-3230842624,3230843135,US
+3230841856,3230843135,US
3230843136,3230843391,NO
3230843392,3230844927,US
3230844928,3230845183,AU
@@ -82437,7 +101988,6 @@
3230851840,3230852095,NO
3230852096,3230852351,GB
3230852352,3230852607,BR
-3230853120,3230853375,AU
3230853376,3230853887,FR
3230853888,3230854399,US
3230854400,3230854655,UY
@@ -82465,7 +102015,6 @@
3230895616,3230897151,US
3230897408,3230897663,US
3230897664,3230897919,GB
-3230897920,3230898687,NZ
3230898688,3230898943,US
3230898944,3230899199,PT
3230899200,3230913023,US
@@ -82488,10 +102037,7 @@
3230922496,3230922751,IT
3230922752,3230923519,US
3230923520,3230923775,EU
-3230923776,3230924031,US
-3230924032,3230924287,AU
-3230924288,3230924543,US
-3230924800,3230933247,US
+3230923776,3230933247,US
3230933248,3230948607,SE
3230948608,3230951167,US
3230951168,3230951423,PT
@@ -82572,9 +102118,7 @@
3231021824,3231022079,CA
3231022080,3231022591,US
3231022592,3231022847,DE
-3231022848,3231028479,US
-3231028480,3231028735,AU
-3231028736,3231042047,US
+3231022848,3231042047,US
3231042048,3231042303,GU
3231042304,3231043839,US
3231043840,3231044095,JP
@@ -82585,24 +102129,18 @@
3231049984,3231050239,US
3231050496,3231051263,US
3231051264,3231051519,GB
-3231051520,3231051775,HK
3231051776,3231070463,US
-3231070720,3231077119,SE
-3231077120,3231077375,EU
-3231077376,3231077631,SE
+3231070720,3231077631,SE
3231078144,3231078655,US
3231078656,3231078911,GB
3231078912,3231079423,CA
3231079424,3231079679,GB
3231079680,3231079935,US
3231079936,3231080191,NL
-3231080192,3231080447,US
-3231080448,3231080703,AU
-3231080704,3231082495,US
+3231080192,3231082495,US
3231082496,3231082751,PL
3231082752,3231083007,US
3231083008,3231083263,GB
-3231083264,3231083519,AU
3231083520,3231087615,US
3231087616,3231087871,NO
3231087872,3231088127,US
@@ -82612,7 +102150,6 @@
3231091712,3231091967,GB
3231091968,3231092223,US
3231092480,3231092735,US
-3231092736,3231092991,NZ
3231092992,3231093247,US
3231093248,3231093503,IT
3231093504,3231094783,US
@@ -82627,7 +102164,6 @@
3231106304,3231106559,NO
3231106560,3231106815,GB
3231106816,3231107071,US
-3231107072,3231107327,AU
3231107328,3231107583,US
3231107584,3231107839,AU
3231107840,3231108095,AT
@@ -82639,7 +102175,7 @@
3231109632,3231109887,US
3231110144,3231110399,US
3231111168,3231111679,US
-3231111680,3231112447,NZ
+3231111680,3231112191,NZ
3231112448,3231112959,US
3231112960,3231113215,NO
3231113216,3231113983,US
@@ -82658,7 +102194,6 @@
3231121408,3231149311,US
3231149312,3231149567,CA
3231149568,3231154431,US
-3231154432,3231154687,IN
3231186944,3231188479,US
3231188480,3231188735,NO
3231188736,3231190527,US
@@ -82686,7 +102221,6 @@
3231204864,3231207935,US
3231207936,3231208191,DE
3231208192,3231208959,US
-3231208960,3231209471,AU
3231209472,3231211775,US
3231211776,3231212031,CA
3231212032,3231212287,CH
@@ -82703,11 +102237,7 @@
3231218688,3231218943,BE
3231218944,3231223039,US
3231223040,3231223295,IT
-3231223296,3231223807,US
-3231223808,3231224063,AU
-3231224064,3231224319,US
-3231224320,3231224575,AU
-3231224576,3231225599,US
+3231223296,3231225599,US
3231225600,3231225855,DE
3231226368,3231226879,US
3231226880,3231227135,GB
@@ -82723,9 +102253,7 @@
3231235072,3231236095,US
3231236608,3231236863,US
3231236864,3231237119,CA
-3231237120,3231237375,US
-3231237376,3231237631,AU
-3231237632,3231241215,US
+3231237120,3231241215,US
3231241216,3231241471,JP
3231241984,3231248639,US
3231248640,3231248895,GB
@@ -82738,9 +102266,7 @@
3231251968,3231252223,AT
3231252736,3231252991,US
3231252992,3231253503,GB
-3231253504,3231254783,US
-3231254784,3231255039,AU
-3231255040,3231255551,US
+3231253504,3231255551,US
3231255552,3231255807,GB
3231255808,3231256063,PT
3231256064,3231257087,US
@@ -82787,8 +102313,7 @@
3231308032,3231308287,CA
3231308288,3231308799,US
3231308800,3231309055,CA
-3231309056,3231311103,PH
-3231311104,3231316735,US
+3231309824,3231316735,US
3231316736,3231316991,NZ
3231316992,3231322111,US
3231322112,3231326207,SG
@@ -82812,12 +102337,14 @@
3231499520,3231500031,US
3231500032,3231500287,BM
3231500288,3231502079,US
-3231502080,3231502591,AU
+3231502080,3231502335,AU
3231502592,3231502847,US
3231502848,3231503103,PT
3231503104,3231503615,US
3231503616,3231503871,IT
-3231503872,3231506687,US
+3231503872,3231504383,US
+3231504640,3231504895,RU
+3231504896,3231506687,US
3231506688,3231506943,NZ
3231506944,3231507199,US
3231507200,3231507455,BE
@@ -82826,7 +102353,6 @@
3231510272,3231510527,GB
3231510528,3231511551,US
3231512576,3231512831,LU
-3231512832,3231513087,AU
3231513088,3231513343,US
3231513600,3231514623,US
3231514624,3231515647,NO
@@ -82847,7 +102373,6 @@
3231553792,3231554047,CH
3231554048,3231555327,DE
3231555328,3231556095,CA
-3231556096,3231556351,HK
3231556352,3231556863,US
3231556864,3231557119,AT
3231557120,3231557887,US
@@ -82865,7 +102390,6 @@
3231562752,3231563007,US
3231563008,3231563263,CH
3231563264,3231563519,ZA
-3231563520,3231563775,HK
3231580160,3231649791,US
3231649792,3231653887,SG
3231653888,3231655935,US
@@ -82899,7 +102423,9 @@
3231678464,3231682559,US
3231711232,3231713023,US
3231713024,3231713279,CA
-3231713280,3231715071,US
+3231713280,3231713791,US
+3231713792,3231714047,GB
+3231714048,3231715071,US
3231715072,3231715327,SI
3231715328,3231715583,AU
3231715584,3231716095,US
@@ -82910,9 +102436,7 @@
3231717120,3231717375,NO
3231717632,3231718143,US
3231718144,3231718399,IT
-3231718400,3231718655,US
-3231718656,3231718911,PG
-3231718912,3231719679,US
+3231718400,3231719679,US
3231719680,3231719935,ES
3231720192,3231720703,US
3231720704,3231720959,IT
@@ -82946,7 +102470,6 @@
3231748096,3231750143,US
3231750144,3231750399,NL
3231750400,3231750911,US
-3231750912,3231751167,AU
3231751168,3231751423,IT
3231751424,3231752191,US
3231752192,3231752447,IT
@@ -82966,9 +102489,7 @@
3231761408,3231763711,US
3231763712,3231763967,AU
3231763968,3231768575,US
-3231768576,3231768831,EU
3231768832,3231769087,NO
-3231769088,3231769343,NZ
3231769344,3231769855,US
3231769856,3231770111,AU
3231770112,3231770367,US
@@ -83110,9 +102631,7 @@
3232301056,3232309247,US
3232309248,3232313343,SG
3232317440,3232317951,US
-3232366592,3232381439,US
-3232381440,3232382207,AU
-3232382208,3232399615,US
+3232366592,3232432127,US
3232432128,3232433663,EU
3232433920,3232436735,US
3232448512,3232464895,US
@@ -83135,7 +102654,11 @@
3232645120,3232647167,AT
3232661504,3232694271,JP
3232694272,3232702463,US
-3232702464,3232706559,FI
+3232702464,3232703743,FI
+3232703744,3232703999,FR
+3232704000,3232704511,CH
+3232704512,3232705535,GB
+3232705536,3232706559,FI
3232706560,3232706815,US
3232710656,3232718847,US
3232727040,3232759807,US
@@ -83194,7 +102717,6 @@
3233578240,3233578495,GB
3233578496,3233578751,US
3233578752,3233579007,IE
-3233579008,3233579263,AU
3233579264,3233579519,GB
3233579520,3233580031,US
3233580032,3233580287,GB
@@ -83210,8 +102732,6 @@
3233588224,3233589247,GA
3233589248,3233589759,CA
3233589760,3233590015,CN
-3233590016,3233590271,TW
-3233590272,3233590527,TH
3233590528,3233590783,PR
3233590784,3233591039,PH
3233591040,3233591295,ID
@@ -83261,9 +102781,7 @@
3233630976,3233631231,ZA
3233631232,3233631487,DE
3233631488,3233631743,US
-3233632000,3233635839,US
-3233635840,3233636095,AU
-3233636096,3233642239,US
+3233632000,3233642239,US
3233642240,3233642495,GB
3233642496,3233646591,US
3233646592,3233646847,AU
@@ -83277,7 +102795,6 @@
3233651456,3233651967,US
3233651968,3233652223,GB
3233652224,3233652479,US
-3233652480,3233652735,AU
3233652736,3233652991,GB
3233652992,3233654271,US
3233654272,3233655551,GB
@@ -83288,8 +102805,8 @@
3233666048,3233668863,US
3233668864,3233669119,PH
3233669120,3233670399,US
-3233670400,3233671679,AU
-3233671680,3233675263,US
+3233670400,3233670655,AU
+3233671168,3233675263,US
3233675520,3233676031,US
3233676032,3233676287,DE
3233676288,3233684991,US
@@ -83379,9 +102896,7 @@
3233793024,3233793279,PR
3233793280,3233794047,US
3233794048,3233794303,CA
-3233794304,3233798399,US
-3233798400,3233798655,CA
-3233798656,3233800447,US
+3233794304,3233800447,US
3233800448,3233800703,CA
3233800704,3233800959,US
3233800960,3233801215,CA
@@ -83391,26 +102906,18 @@
3233802496,3233802751,CA
3233802752,3233803007,US
3233803008,3233803263,CA
-3233803264,3233803519,US
-3233803520,3233803775,CA
-3233803776,3233808383,US
+3233803264,3233808383,US
3233808384,3233873919,TW
3233873920,3233939455,US
3233939456,3233980671,FI
3233980672,3233980927,GB
3233980928,3233991167,FI
3233991168,3233991423,DE
-3233991424,3233994351,FI
-3233994352,3233994367,AX
-3233994368,3234001739,FI
-3234001740,3234001743,AX
-3234001744,3234004991,FI
+3233991424,3234004991,FI
3234005248,3234005503,GB
-3234005504,3234005759,AU
3234006528,3234007039,US
3234007040,3234007295,RU
3234007296,3234007551,US
-3234007552,3234007807,AU
3234007808,3234008063,US
3234008064,3234008831,NZ
3234008832,3234013183,US
@@ -83450,16 +102957,13 @@
3234051840,3234052095,NL
3234052096,3234052351,DE
3234052352,3234052607,US
-3234052608,3234052863,NZ
3234052864,3234054911,US
3234054912,3234055167,PT
3234055168,3234055423,US
3234055424,3234055679,AU
3234055680,3234061055,US
3234061056,3234061311,NZ
-3234061312,3234064639,US
-3234064640,3234064895,AU
-3234064896,3234065407,US
+3234061312,3234065407,US
3234065408,3234065663,GB
3234065664,3234065919,BR
3234065920,3234070527,US
@@ -83472,9 +102976,7 @@
3234176000,3234177279,US
3234177280,3234187007,CA
3234187008,3234187519,US
-3234187520,3234190463,CA
-3234190464,3234190719,A1
-3234190720,3234192383,CA
+3234187520,3234192383,CA
3234192384,3234193663,US
3234193664,3234201599,CA
3234202624,3234203647,US
@@ -83492,13 +102994,9 @@
3234400680,3234400687,NA
3234400688,3234401511,US
3234401512,3234401519,NA
-3234401520,3234538751,US
-3234539008,3234539519,AU
-3234539520,3234549759,US
+3234401520,3234549759,US
3234549760,3234550015,RU
-3234550016,3234553855,NZ
3234553856,3234554367,US
-3234554624,3234554879,NZ
3234555904,3234556415,US
3234556416,3234556927,CA
3234556928,3234557439,FI
@@ -83507,21 +103005,15 @@
3234566912,3234568703,US
3234568704,3234568959,NZ
3234568960,3234569215,US
-3234569216,3234569727,AU
3234569728,3234569983,CL
3234569984,3234574335,US
3234574336,3234574591,AU
3234574592,3234574847,MX
-3234574848,3234576127,US
-3234576128,3234576895,HK
-3234576896,3234578687,US
-3234578688,3234578943,AU
-3234578944,3234579711,US
+3234574848,3234579711,US
3234579712,3234579967,CA
3234579968,3234581247,US
3234581248,3234581503,CA
3234581504,3234582527,US
-3234582528,3234583039,NZ
3234583040,3234583807,US
3234583808,3234584063,AU
3234584064,3234584575,US
@@ -83549,14 +103041,7 @@
3234747904,3234748159,IL
3234748160,3234749439,US
3234749440,3234750463,CA
-3234750464,3234751999,US
-3234752000,3234752255,HK
-3234752256,3234753535,US
-3234753536,3234753791,AU
-3234753792,3234754047,US
-3234754560,3234755839,US
-3234755840,3234756095,AU
-3234756096,3234762751,US
+3234750464,3234762751,US
3234762752,3234764799,CA
3234764800,3234766335,NZ
3234766336,3234772223,US
@@ -83566,7 +103051,10 @@
3234781440,3234781951,CA
3234781952,3234782719,US
3234782720,3234783999,IL
-3234784000,3234799359,US
+3234784000,3234794495,US
+3234794752,3234795007,US
+3234795008,3234795263,GB
+3234795264,3234799359,US
3234799360,3234799615,NL
3234799616,3234799871,US
3234799872,3234800127,AU
@@ -83597,7 +103085,8 @@
3234828288,3234828799,US
3234828800,3234829055,CL
3234829056,3234830079,US
-3234830080,3234832127,AU
+3234830080,3234830847,AU
+3234831360,3234832127,AU
3234832128,3234832639,US
3234832640,3234832895,AU
3234832896,3234833663,US
@@ -83620,7 +103109,6 @@
3234854912,3234855167,AU
3234855168,3234855935,US
3234856192,3234856447,US
-3234856448,3234856703,TH
3234856960,3234861055,CA
3234861056,3234897919,US
3234922496,3234988031,US
@@ -83628,9 +103116,7 @@
3234996224,3235000319,US
3235004416,3235020799,CA
3235053568,3235086335,US
-3235119104,3235184639,US
-3235184640,3235184895,CA
-3235184896,3235389439,US
+3235119104,3235389439,US
3235389440,3235389951,VE
3235389952,3235417215,US
3235417216,3235417223,BR
@@ -83658,9 +103144,7 @@
3235919360,3235919615,CA
3235919616,3235921151,US
3235921152,3235921407,PR
-3235921408,3235925503,US
-3235925504,3235925759,CA
-3235925760,3235926271,US
+3235921408,3235926271,US
3235926272,3235926527,CA
3235926528,3235927295,US
3235927296,3235927807,CA
@@ -83669,10 +103153,10 @@
3235929344,3235929599,US
3235929600,3235929855,CA
3235929856,3235932159,US
-3235932160,3235932927,CA
-3235932928,3235936511,US
-3235936512,3235936767,CA
-3235936768,3235937023,US
+3235932160,3235932415,CA
+3235932416,3235932671,US
+3235932672,3235932927,CA
+3235932928,3235937023,US
3235937024,3235937535,CA
3235937536,3235937791,US
3235937792,3235938047,CA
@@ -83681,8 +103165,8 @@
3235941888,3235945983,US
3235945984,3235946239,CA
3235946240,3235946751,US
-3235946752,3235947263,CA
-3235947264,3235949311,US
+3235946752,3235947007,CA
+3235947008,3235949311,US
3235949312,3235950335,CA
3235950336,3235950591,US
3235950592,3235950847,CA
@@ -83696,9 +103180,7 @@
3235959552,3235959807,CA
3235959808,3235960319,US
3235960320,3235960575,CA
-3235960576,3235961599,US
-3235961600,3235961855,CA
-3235961856,3235962111,US
+3235960576,3235962111,US
3235962112,3235962367,CA
3235962368,3235963647,US
3235963648,3235963903,CA
@@ -83720,7 +103202,6 @@
3236200448,3236233215,MY
3236233216,3236249599,US
3236298752,3236302847,US
-3236302848,3236306943,NZ
3236364288,3236368127,US
3236368128,3236368383,NZ
3236368384,3236372991,US
@@ -83730,9 +103211,7 @@
3236379648,3236380927,US
3236381184,3236381439,CA
3236381440,3236381695,AT
-3236381696,3236383999,US
-3236384000,3236384255,AU
-3236384256,3236385279,US
+3236381696,3236385279,US
3236385280,3236385535,DE
3236385536,3236385791,US
3236386304,3236387071,US
@@ -83746,45 +103225,30 @@
3236395520,3236396799,US
3236396800,3236397055,AU
3236397056,3236398591,US
-3236398848,3236399615,AU
+3236398848,3236399359,AU
3236399616,3236400127,US
3236400128,3236400383,CL
-3236400384,3236401151,US
-3236401152,3236401407,AU
-3236401408,3236406783,US
+3236400384,3236406783,US
3236406784,3236407551,AU
3236407552,3236408063,SG
3236408064,3236408319,US
3236408320,3236409087,CA
3236409088,3236409599,BR
-3236409600,3236411135,US
-3236411136,3236411391,NZ
-3236411392,3236413695,US
+3236409600,3236413695,US
3236413696,3236413951,AU
3236413952,3236416255,US
3236416256,3236416511,AU
-3236416512,3236418303,US
-3236418304,3236418815,AU
-3236418816,3236419583,US
-3236419584,3236419839,AU
-3236419840,3236420095,US
-3236420096,3236420351,AU
-3236420352,3236424959,US
-3236424960,3236425215,MZ
-3236425216,3236427519,US
+3236416512,3236418559,US
+3236418560,3236418815,AU
+3236418816,3236427519,US
3236427520,3236427775,CA
-3236427776,3236428031,NZ
3236428800,3236429311,US
3236429312,3236429567,ZA
-3236429824,3236438015,US
-3236438016,3236446207,AU
-3236446208,3236462591,US
+3236429824,3236462591,US
3236462592,3236470783,AU
3236495360,3236566783,US
3236566784,3236567039,CA
-3236567040,3236575743,US
-3236575744,3236575999,JP
-3236576000,3236585983,US
+3236567040,3236585983,US
3236585984,3236586239,CA
3236586240,3236604671,US
3236604672,3236604927,CA
@@ -83792,7 +103256,6 @@
3236617728,3236617983,US
3236617984,3236619775,CA
3236619776,3236620031,US
-3236620032,3236620287,AU
3236620288,3236623615,US
3236623616,3236623871,AU
3236623872,3236625919,US
@@ -83851,27 +103314,20 @@
3237158912,3237160959,US
3237183488,3237216255,US
3237216256,3237281791,JP
-3237281792,3237284607,US
-3237284608,3237284863,AU
-3237284864,3237285119,US
+3237281792,3237285119,US
3237285120,3237285631,AU
3237285632,3237287935,US
3237287936,3237288191,CA
3237288192,3237290495,US
-3237290496,3237291007,AU
3237291008,3237291263,NZ
3237291264,3237294847,US
3237294848,3237295103,CA
3237295104,3237296639,US
3237296640,3237297151,SG
3237297152,3237297407,CL
-3237297408,3237300479,US
-3237300480,3237302527,NZ
-3237302528,3237305087,US
+3237297408,3237305087,US
3237305088,3237305343,CA
-3237305344,3237305855,US
-3237305856,3237306111,NZ
-3237306112,3237308671,US
+3237305344,3237308671,US
3237308672,3237310719,AU
3237310720,3237312767,US
3237312768,3237313023,BO
@@ -83880,7 +103336,6 @@
3237319936,3237320703,US
3237320704,3237320959,UA
3237320960,3237321471,US
-3237321472,3237321727,HK
3237321728,3237321983,US
3237322752,3237325055,US
3237325056,3237325311,PL
@@ -83900,9 +103355,7 @@
3237335296,3237335551,US
3237335552,3237337599,AU
3237337600,3237337855,US
-3237337856,3237338111,AU
-3237338112,3237338367,NZ
-3237338368,3237339391,US
+3237338112,3237339391,US
3237339392,3237339647,GB
3237339648,3237340159,US
3237340160,3237340415,CA
@@ -83910,9 +103363,7 @@
3237345536,3237346303,KR
3237346304,3237349119,US
3237349120,3237349375,AU
-3237349376,3237366015,US
-3237366016,3237366271,AU
-3237366272,3237412863,US
+3237349376,3237412863,US
3237412864,3237416959,GB
3237416960,3237437439,US
3237445632,3237478399,US
@@ -83934,9 +103385,7 @@
3237690624,3237691903,SA
3237691904,3237698303,US
3237698304,3237698559,CA
-3237698560,3237712895,US
-3237712896,3237713151,AU
-3237713152,3237716991,US
+3237698560,3237716991,US
3237716992,3237717247,CA
3237717248,3237717503,US
3237717504,3237717759,CA
@@ -83944,14 +103393,11 @@
3237724928,3237725183,AU
3237725184,3237725439,CA
3237725440,3237725695,US
-3237726464,3237726719,AU
3237726720,3237726975,GH
3237726976,3237727231,US
3237727232,3237728255,AU
3237728256,3237732863,US
3237732864,3237733119,DE
-3237733120,3237733631,TH
-3237733632,3237733887,AU
3237734144,3237734399,CA
3237734400,3237736447,US
3237740544,3238002687,US
@@ -83964,7 +103410,6 @@
3238018560,3238018815,FR
3238018816,3238019071,DE
3238019072,3238035455,PL
-3238035456,3238060031,FR
3238060032,3238060287,CH
3238060288,3238060543,RO
3238060544,3238060799,HU
@@ -84009,7 +103454,8 @@
3238502400,3238504447,RU
3238504448,3238526975,DE
3238526976,3238527231,RU
-3238527232,3238541567,CH
+3238527232,3238535167,CH
+3238537216,3238541567,CH
3238541568,3238541823,PL
3238541824,3238542591,CH
3238542592,3238542847,PL
@@ -84025,7 +103471,9 @@
3238562560,3238562815,IR
3238562816,3238573567,CH
3238573568,3238574079,PL
-3238574080,3238578943,CH
+3238574080,3238578431,CH
+3238578432,3238578687,UA
+3238578688,3238578943,CH
3238578944,3238579199,RU
3238579200,3238589951,CH
3238589952,3238590207,LT
@@ -84055,7 +103503,7 @@
3238606592,3238607359,NL
3238607360,3238607871,SE
3238607872,3238608895,NL
-3238608896,3238621183,EU
+3238608896,3238621183,SE
3238621184,3238621439,FI
3238621440,3238621695,FR
3238621696,3238621951,IT
@@ -84094,11 +103542,11 @@
3239051520,3239062271,DE
3239062272,3239062527,ES
3239062528,3239062783,CH
-3239062784,3239063551,UA
+3239062784,3239063039,UA
+3239063296,3239063551,UA
3239063552,3239075839,DE
3239075840,3239076095,MT
-3239076096,3239076351,SE
-3239076352,3239076607,DE
+3239076096,3239076607,DE
3239076608,3239076863,PL
3239076864,3239077119,NL
3239077120,3239077375,UA
@@ -84142,7 +103590,6 @@
3239108096,3239109887,DE
3239109888,3239110143,PL
3239110144,3239110655,DE
-3239110656,3239110911,RU
3239110912,3239111167,UA
3239111168,3239111423,NL
3239111424,3239111935,DE
@@ -84159,6 +103606,7 @@
3239114752,3239116543,DE
3239116544,3239116799,PL
3239116800,3239117055,PT
+3239117056,3239117311,SI
3239117312,3239119871,DE
3239119872,3239120127,GB
3239120128,3239120383,CZ
@@ -84171,7 +103619,7 @@
3239127296,3239127551,PL
3239127552,3239127807,IL
3239127808,3239128063,RU
-3239128064,3239128319,AT
+3239128064,3239128319,UA
3239128320,3239128575,IT
3239128576,3239128831,UA
3239128832,3239129087,CZ
@@ -84205,6 +103653,7 @@
3239160576,3239160831,DE
3239160832,3239161087,PL
3239161088,3239161343,BY
+3239161344,3239161599,PL
3239161600,3239161855,HU
3239161856,3239162623,DE
3239162624,3239162879,BE
@@ -84221,7 +103670,8 @@
3239166976,3239167231,FR
3239167232,3239167487,DE
3239167488,3239167743,FR
-3239167744,3239168511,CH
+3239167744,3239167999,CH
+3239168256,3239168511,CH
3239168512,3239168767,SE
3239168768,3239169023,PL
3239169024,3239169535,DE
@@ -84297,7 +103747,7 @@
3239292928,3239293951,CZ
3239293952,3239294975,DE
3239294976,3239295999,UA
-3239296000,3239297023,SA
+3239296000,3239297023,GB
3239297024,3239298047,RO
3239298048,3239299071,GB
3239299072,3239301119,UA
@@ -84494,7 +103944,7 @@
3239682560,3239683071,BG
3239683072,3239683583,PT
3239683584,3239684607,PL
-3239685120,3239686143,DE
+3239684608,3239686143,DE
3239686144,3239686655,UA
3239686656,3239687167,IT
3239687168,3239687679,UA
@@ -84534,7 +103984,7 @@
3239710720,3239710975,RU
3239710976,3239711231,SE
3239711232,3239711487,BY
-3239711488,3239711743,FR
+3239711488,3239711743,EU
3239711744,3239711999,UA
3239712000,3239712255,PL
3239712256,3239712511,DE
@@ -84612,6 +104062,7 @@
3239796736,3239821311,DE
3239821312,3239821823,SE
3239821824,3239822335,FR
+3239822336,3239822847,UA
3239822848,3239823359,PL
3239823360,3239823871,SE
3239823872,3239824383,IT
@@ -84658,7 +104109,6 @@
3239859712,3239859967,HU
3239859968,3239860223,CA
3239860224,3239860479,DE
-3239860480,3239860735,GB
3239860736,3239860991,DE
3239860992,3239861247,AT
3239861248,3239861503,UA
@@ -84681,11 +104131,13 @@
3239877632,3239877887,UA
3239877888,3239878143,IT
3239878144,3239878399,PL
-3239878400,3239882751,DE
+3239878400,3239878655,SE
+3239878656,3239882751,DE
3239882752,3239883007,GB
3239883008,3239883263,UA
-3239883264,3239883775,GB
+3239883264,3239883519,GB
3239883776,3239884031,DE
+3239884032,3239884287,IR
3239884288,3239884543,GB
3239884544,3239884799,FR
3239884800,3239885055,UA
@@ -84815,8 +104267,7 @@
3240109056,3240109567,PL
3240109568,3240125439,GB
3240125440,3240125695,RO
-3240125696,3240125951,IE
-3240125952,3240165375,GB
+3240125696,3240165375,GB
3240165376,3240165887,IT
3240165888,3240166399,ES
3240166400,3240166911,PL
@@ -84843,16 +104294,13 @@
3240178176,3240178687,NL
3240178688,3240179199,BE
3240179200,3240179711,UA
-3240179712,3240180223,RO
3240180224,3240180735,PL
3240180736,3240181247,NL
3240181248,3240181759,RU
3240181760,3240182271,UA
3240182272,3240182783,RO
3240182784,3240183295,RU
-3240183296,3240183615,NL
-3240183616,3240183647,CR
-3240183648,3240183807,NL
+3240183296,3240183807,NL
3240183808,3240184319,GB
3240184320,3240184831,RU
3240184832,3240185343,GB
@@ -84896,7 +104344,6 @@
3240205824,3240206335,DE
3240206336,3240206847,RU
3240206848,3240207871,RO
-3240207872,3240208383,RU
3240208384,3240208895,FR
3240208896,3240209407,GB
3240209408,3240209919,AE
@@ -84992,8 +104439,8 @@
3240278016,3240278527,RU
3240278528,3240279039,GB
3240279040,3240279551,CH
-3240279552,3240280063,RO
3240280064,3240280191,DE
+3240280192,3240280319,SE
3240280320,3240280447,PL
3240280448,3240280575,UA
3240280576,3240280703,GB
@@ -85009,6 +104456,7 @@
3240282112,3240282239,DE
3240282240,3240282367,UA
3240282368,3240282495,RO
+3240282496,3240282623,RU
3240282624,3240282879,SE
3240282880,3240283007,UA
3240283008,3240283391,PL
@@ -85102,7 +104550,11 @@
3240488192,3240488447,GB
3240488448,3240488703,BG
3240488704,3240488959,NL
-3240488960,3240575487,GB
+3240488960,3240493055,GB
+3240493056,3240501247,SE
+3240501248,3240505343,GB
+3240505344,3240505599,PL
+3240505600,3240575487,GB
3240575488,3240575743,RO
3240575744,3240575999,GB
3240576000,3240576255,DE
@@ -85119,7 +104571,7 @@
3240587264,3240587519,NL
3240587520,3240587775,RU
3240587776,3240588031,UA
-3240588032,3240588287,DE
+3240588032,3240588287,US
3240588288,3240588543,RU
3240588544,3240588799,RO
3240588800,3240589055,UA
@@ -85163,7 +104615,8 @@
3240705024,3240706047,UA
3240706048,3240707071,BG
3240707072,3240707839,NL
-3240707840,3240709119,FR
+3240707840,3240708095,GB
+3240708096,3240709119,FR
3240709120,3240710143,RU
3240710144,3240710399,UA
3240710400,3240710655,LT
@@ -85177,7 +104630,6 @@
3240712704,3240712959,CH
3240712960,3240713215,IT
3240713216,3240713471,GB
-3240713472,3240713727,DE
3240713728,3240713983,AT
3240713984,3240714239,FR
3240714240,3240716287,GB
@@ -85205,7 +104657,7 @@
3240730624,3240731647,ES
3240731648,3240732671,GB
3240732672,3240733695,SE
-3240733696,3240734719,UA
+3240733696,3240734719,PL
3240734720,3240735743,IT
3240735744,3240736255,FR
3240736256,3240736767,BG
@@ -85227,6 +104679,7 @@
3240742400,3240742655,RO
3240742656,3240742911,AT
3240742912,3240743423,IL
+3240743424,3240743935,PL
3240743936,3240744447,DE
3240744448,3240744959,SE
3240744960,3240745471,RO
@@ -85255,6 +104708,7 @@
3240791552,3240791807,RU
3240791808,3240792063,ES
3240792064,3240792319,GB
+3240792320,3240792575,RU
3240792576,3240792831,CH
3240792832,3240793087,PL
3240793088,3240793343,UA
@@ -85273,7 +104727,6 @@
3240809472,3240809727,NL
3240809728,3240809983,FR
3240809984,3240810239,GR
-3240810240,3240810495,SA
3240810496,3240810751,TR
3240810752,3240811007,GB
3240811008,3240811263,PL
@@ -85286,8 +104739,9 @@
3240813568,3240814591,PL
3240814592,3240818687,IT
3240818688,3240820735,NL
-3240820800,3240820831,RU
-3240820832,3240827135,IT
+3240820736,3240823807,IT
+3240823808,3240824319,PL
+3240824320,3240827135,IT
3240827136,3240827391,FR
3240827392,3240827647,BG
3240827648,3240827903,CH
@@ -85327,11 +104781,10 @@
3240861696,3240866815,IT
3240866816,3240867071,RU
3240867072,3240867327,PL
-3240867328,3240867583,RU
3240867584,3240867839,CH
3240867840,3240873983,IT
3240873984,3240874495,RU
-3240874496,3240875007,UA
+3240874496,3240875007,CZ
3240875008,3240875519,AT
3240875520,3240876031,FR
3240876032,3240876543,DK
@@ -85359,9 +104812,7 @@
3240968960,3240988159,SE
3240988160,3240988167,PL
3240988168,3241017343,SE
-3241017344,3241017855,AT
-3241017856,3241018111,DE
-3241018112,3241029119,AT
+3241017344,3241029119,AT
3241029120,3241029375,UA
3241029376,3241029631,PL
3241029632,3241032703,AT
@@ -85412,7 +104863,6 @@
3241070848,3241071103,AT
3241071104,3241071359,UA
3241071360,3241071615,RU
-3241071616,3241071871,MD
3241071872,3241072127,RU
3241072128,3241072383,BE
3241072384,3241072639,DE
@@ -85459,7 +104909,7 @@
3241119232,3241119487,DK
3241119488,3241119743,BE
3241119744,3241119999,RO
-3241120000,3241120255,UA
+3241120000,3241120255,ES
3241120256,3241120511,RU
3241120512,3241120767,GB
3241120768,3241121023,RU
@@ -85518,17 +104968,14 @@
3241501440,3241501951,EU
3241501952,3241502975,BE
3241502976,3241503231,GR
-3241503232,3241503487,FR
+3241503232,3241503487,RS
3241503488,3241508095,BE
3241508096,3241508351,NL
3241508352,3241541375,BE
3241541376,3241541631,PL
3241541632,3241803775,FR
-3241803776,3241803815,GB
-3241803816,3241803823,RU
3241803824,3241803831,EU
3241803832,3241803839,GB
-3241803840,3241803903,PT
3241804032,3241820159,BE
3241820160,3241821695,GB
3241821696,3241822207,GR
@@ -85669,7 +105116,6 @@
3243537152,3243537407,RO
3243537408,3243544063,CZ
3243544064,3243544319,GB
-3243544320,3243544575,CH
3243544576,3243552767,CZ
3243552768,3243553023,NL
3243553024,3243553279,FR
@@ -85755,9 +105201,7 @@
3244158976,3244159999,DE
3244160000,3244161023,RU
3244161024,3244163071,NO
-3244163072,3244167039,FI
-3244167040,3244167103,AX
-3244167104,3244228607,FI
+3244163072,3244228607,FI
3244228608,3244261375,TN
3244261376,3244265823,IE
3244265824,3244265831,ES
@@ -85781,7 +105225,9 @@
3244277760,3244294143,SI
3244294144,3244408575,DE
3244408576,3244408831,GB
-3244408832,3244592127,DE
+3244408832,3244498943,DE
+3244498944,3244499455,EU
+3244499456,3244592127,DE
3244592128,3244592639,CH
3244592640,3244794367,DE
3244794368,3244794879,CA
@@ -85849,7 +105295,6 @@
3244834048,3244834303,CH
3244834304,3244834559,IL
3244834560,3244834815,GB
-3244834816,3244835071,RU
3244835072,3244835327,AT
3244835328,3244835583,DE
3244835584,3244835839,UA
@@ -85858,7 +105303,6 @@
3244836608,3244836863,PL
3244836864,3244837119,FR
3244837120,3244837375,RO
-3244837376,3244837631,ES
3244837632,3244837887,RU
3244837888,3244838143,CY
3244838144,3244838399,IL
@@ -85921,16 +105365,18 @@
3244853760,3244854015,TR
3244854016,3244854271,NL
3244854272,3244854527,GB
-3244854528,3244855295,RU
+3244854528,3244854783,CZ
+3244854784,3244855295,RU
3244855296,3244855551,GB
3244855552,3244855807,UA
+3244855808,3244856063,DE
3244856064,3244856319,IL
3244856320,3244856575,CH
3244856576,3244856831,RU
3244856832,3244857087,RO
3244857088,3244857343,IT
3244857344,3244857599,GB
-3244857600,3244857855,MC
+3244857600,3244857855,EU
3244857856,3244858111,PL
3244858112,3244858367,DE
3244858368,3244858623,PL
@@ -85994,6 +105440,7 @@
3244875008,3244875263,PL
3244875264,3244875519,LI
3244875520,3244875775,IT
+3244875776,3244876799,RU
3244876800,3244877055,GB
3244877056,3244877311,JO
3244877312,3244877567,RU
@@ -86009,7 +105456,7 @@
3244879872,3244880127,SI
3244880128,3244880383,RU
3244880384,3244880639,UA
-3244880640,3244880895,RU
+3244880640,3244880895,CZ
3244880896,3244881151,PL
3244881152,3244881407,RU
3244881408,3244881663,DK
@@ -86019,6 +105466,7 @@
3244882432,3244882687,IT
3244882688,3244882943,PL
3244882944,3244883199,NL
+3244883200,3244883455,KZ
3244883456,3244883711,CZ
3244883712,3244883967,NL
3244883968,3244884223,DE
@@ -86032,10 +105480,11 @@
3244886016,3244886271,LB
3244886272,3244886527,CH
3244886528,3244886783,DK
+3244886784,3244887039,RU
3244887040,3244887295,NL
3244887296,3244887551,GB
+3244887552,3244887807,RU
3244887808,3244888063,BE
-3244888064,3244888319,RU
3244888320,3244888575,DE
3244888576,3244888831,FR
3244888832,3244889087,DE
@@ -86144,7 +105593,6 @@
3244916992,3244917247,PL
3244917248,3244917503,SE
3244917504,3244917759,AT
-3244917760,3244918015,UA
3244918016,3244918271,BE
3244918272,3244918527,SE
3244918528,3244918783,UA
@@ -86184,7 +105632,7 @@
3244927744,3244927999,US
3244928000,3244928255,GB
3244928256,3244928511,US
-3244928768,3244929023,RU
+3244928512,3244929023,RU
3244929024,3244929535,RO
3244929536,3244929791,PL
3244929792,3244930047,RU
@@ -86373,7 +105821,8 @@
3245084928,3245085183,BE
3245085184,3245085439,GB
3245085440,3245085695,DE
-3245085696,3245086207,FR
+3245085696,3245085951,FR
+3245085952,3245086207,GB
3245086208,3245086463,AT
3245086464,3245086719,GH
3245086720,3245086975,BG
@@ -86462,7 +105911,6 @@
3245135872,3245136127,FR
3245136128,3245136383,DE
3245136384,3245136639,GB
-3245136640,3245136895,EU
3245136896,3245137151,PL
3245137152,3245137407,GB
3245137408,3245137663,DE
@@ -86490,7 +105938,6 @@
3245159424,3245159935,CH
3245159936,3245160447,BG
3245160448,3245160959,DK
-3245160960,3245161471,LU
3245161472,3245161983,SE
3245161984,3245162495,BE
3245162496,3245163007,DE
@@ -86583,7 +106030,6 @@
3245211136,3245211647,GB
3245211648,3245212159,RU
3245212160,3245212671,NG
-3245212672,3245213183,RU
3245213184,3245213695,DE
3245213696,3245214207,LV
3245214208,3245214719,AT
@@ -86610,7 +106056,6 @@
3245234176,3245234431,GB
3245234432,3245234687,UA
3245234688,3245234943,DE
-3245234944,3245235199,GB
3245235200,3245235455,BE
3245235456,3245235711,GB
3245235712,3245235967,AT
@@ -86726,6 +106171,7 @@
3245298688,3245298943,GB
3245298944,3245299199,UA
3245299200,3245299455,GB
+3245299456,3245299711,AT
3245299712,3245299967,DE
3245299968,3245300223,BG
3245300224,3245300479,FR
@@ -86806,11 +106252,17 @@
3245894392,3245894399,GB
3245894400,3245894719,IE
3245894720,3245894751,US
-3245894752,3245896311,IE
+3245894752,3245895399,IE
+3245895400,3245895407,US
+3245895408,3245896311,IE
3245896312,3245896319,GB
3245896320,3245896991,IE
3245896992,3245897007,US
-3245897008,3245899343,IE
+3245897008,3245898951,IE
+3245898952,3245898959,GB
+3245898960,3245898967,IE
+3245898968,3245898975,GB
+3245898976,3245899343,IE
3245899344,3245899351,GB
3245899352,3245901831,IE
3245901832,3245901839,GB
@@ -86834,7 +106286,11 @@
3245909568,3245909631,US
3245909632,3245910831,IE
3245910832,3245910847,GB
-3245910848,3245919456,IE
+3245910848,3245914879,IE
+3245914880,3245915135,LU
+3245915136,3245917951,IE
+3245917952,3245918207,LU
+3245918208,3245919456,IE
3245919457,3245919462,IN
3245919463,3245921279,IE
3245921280,3245921535,BE
@@ -86863,13 +106319,9 @@
3246141440,3246141695,UA
3246141696,3246142975,RU
3246142976,3246143231,UA
-3246143232,3246144511,RU
-3246144512,3246144767,UA
-3246144768,3246147839,RU
+3246143232,3246147839,RU
3246147840,3246148095,UA
-3246148096,3246148607,RU
-3246148608,3246148863,UA
-3246148864,3246260223,RU
+3246148096,3246260223,RU
3246260224,3246325759,PT
3246325760,3246328831,ES
3246328832,3246329087,EU
@@ -86918,7 +106370,6 @@
3247065600,3247065855,SE
3247065856,3247066111,GB
3247066112,3247066367,DK
-3247066368,3247066623,UA
3247066624,3247066879,CZ
3247066880,3247067135,RU
3247067136,3247067647,DE
@@ -86951,7 +106402,6 @@
3247074816,3247075071,PL
3247075072,3247075327,IE
3247075328,3247075839,DE
-3247075840,3247076095,UA
3247076096,3247076351,DK
3247076352,3247076607,RU
3247076608,3247076863,DE
@@ -87002,7 +106452,9 @@
3247244368,3247244375,DE
3247244376,3247244927,NL
3247244928,3247244935,DE
-3247244936,3247246015,NL
+3247244936,3247245959,NL
+3247245960,3247245967,DE
+3247245968,3247246015,NL
3247246016,3247246023,DE
3247246024,3247246039,NL
3247246040,3247246047,DE
@@ -87130,7 +106582,9 @@
3247281664,3247281671,DE
3247281672,3247281855,NL
3247281856,3247281863,DE
-3247281864,3247282999,NL
+3247281864,3247282311,NL
+3247282312,3247282319,DE
+3247282320,3247282999,NL
3247283000,3247283007,DE
3247283008,3247283263,NL
3247283264,3247283271,DE
@@ -87220,7 +106674,9 @@
3247307592,3247307599,DE
3247307600,3247307871,NL
3247307872,3247307879,DE
-3247307880,3247307991,NL
+3247307880,3247307959,NL
+3247307960,3247307967,DE
+3247307968,3247307991,NL
3247307992,3247307999,DE
3247308000,3247308111,NL
3247308112,3247308119,DE
@@ -87295,11 +106751,19 @@
3247366144,3247371007,FI
3247371008,3247371263,PL
3247371264,3247371519,SE
-3247372032,3247374335,FI
+3247371520,3247371775,GB
+3247371776,3247372031,RU
+3247372032,3247372287,FI
+3247372288,3247372543,RO
+3247372544,3247372799,RU
+3247372800,3247373055,RO
+3247373056,3247374335,FI
3247374336,3247374591,RU
3247374592,3247394047,FI
3247394048,3247394303,PL
-3247394304,3247399423,FI
+3247394304,3247397887,FI
+3247397888,3247398143,RU
+3247398144,3247399423,FI
3247399424,3247399679,RU
3247399680,3247404799,FI
3247404800,3247405055,RU
@@ -87314,6 +106778,7 @@
3247439872,3247702015,ES
3247702016,3247702271,RO
3247702272,3247703551,ES
+3247703552,3247704063,FR
3247704064,3247704831,ES
3247704832,3247705087,GB
3247705088,3247705855,ES
@@ -87350,6 +106815,59 @@
3247825920,3247826943,BE
3247826944,3247828991,CH
3247828992,3247833087,BE
+3247833088,3247833599,RU
+3247833600,3247834111,PL
+3247834112,3247834623,DE
+3247834624,3247835135,UA
+3247835136,3247836159,GB
+3247836160,3247837183,CZ
+3247837184,3247838207,ES
+3247838208,3247838719,CH
+3247838720,3247839231,NO
+3247839232,3247839743,CZ
+3247839744,3247840255,GB
+3247840256,3247841279,UA
+3247841280,3247841791,RU
+3247841792,3247842047,GB
+3247842048,3247842303,CZ
+3247842304,3247842815,PL
+3247842816,3247843327,CZ
+3247843328,3247843583,LT
+3247843584,3247845375,PL
+3247845376,3247845631,CH
+3247845632,3247845887,UA
+3247845888,3247846399,PL
+3247846400,3247847423,RU
+3247847424,3247848447,UA
+3247848448,3247849471,IT
+3247849472,3247849727,DE
+3247849728,3247849983,RU
+3247849984,3247850239,GB
+3247850240,3247850495,BG
+3247850496,3247850751,RU
+3247850752,3247851007,PL
+3247851008,3247851519,RU
+3247851520,3247852543,SK
+3247852544,3247853567,PL
+3247853568,3247854591,RU
+3247854592,3247855615,DK
+3247855616,3247856127,UA
+3247856128,3247856639,ES
+3247856640,3247857663,RU
+3247857664,3247858175,UA
+3247858176,3247858687,EU
+3247858688,3247859711,RU
+3247859712,3247859967,SE
+3247859968,3247861759,RU
+3247861760,3247862015,IT
+3247862016,3247862271,UA
+3247862272,3247864063,RU
+3247864064,3247864319,NO
+3247864320,3247864575,UA
+3247864576,3247864831,PL
+3247864832,3247865343,RU
+3247865344,3247865599,MT
+3247865600,3247865855,IL
3247865856,3247871999,GB
3247872000,3247875327,NL
3247875328,3247875583,PL
@@ -87404,9 +106922,7 @@
3248226304,3248235007,NO
3248235008,3248235263,PK
3248235264,3248357375,NO
-3248357376,3248371743,DE
-3248371744,3248371751,PL
-3248371752,3248372239,DE
+3248357376,3248372239,DE
3248372240,3248372247,AT
3248372248,3248372255,CH
3248372256,3248372263,AT
@@ -87429,7 +106945,12 @@
3248522240,3248525311,NO
3248525312,3248525567,DE
3248525568,3248525823,DK
-3248525824,3248545791,NO
+3248525824,3248528895,NO
+3248528896,3248529151,RU
+3248529152,3248529407,BG
+3248529408,3248540671,NO
+3248540672,3248541183,RU
+3248541184,3248545791,NO
3248545792,3248546815,UA
3248546816,3248547839,RU
3248547840,3248553727,NO
@@ -87439,9 +106960,14 @@
3248557056,3248558079,UA
3248558080,3248575487,NO
3248575488,3248576511,CZ
-3248576512,3248619263,NO
+3248576512,3248603135,NO
+3248603136,3248603391,BG
+3248603392,3248603647,RU
+3248603648,3248619263,NO
3248619264,3248619519,UA
-3248619520,3248638463,DK
+3248619520,3248623615,DK
+3248623616,3248626687,EU
+3248626688,3248638463,DK
3248638464,3248638719,GB
3248638720,3248750591,DK
3248750592,3248750847,PT
@@ -87479,8 +107005,8 @@
3248790784,3248791039,PL
3248791040,3248791295,BE
3248791296,3248791551,DE
-3248791552,3248792527,GB
-3248792528,3248796607,EU
+3248791552,3248792559,GB
+3248792560,3248796607,EU
3248796608,3248796863,GB
3248796864,3248798975,EU
3248798976,3248799231,GB
@@ -87506,7 +107032,6 @@
3248808960,3248810079,FR
3248810080,3248810111,UA
3248810112,3248810143,RU
-3248810144,3248810175,HR
3248810176,3248810207,FR
3248810208,3248810239,GB
3248810240,3248810495,CH
@@ -87521,14 +107046,18 @@
3248881664,3249012735,FI
3249012736,3249012991,DE
3249012992,3249014271,LU
+3249014272,3249014783,DE
3249014784,3249025535,LU
3249025536,3249025791,FR
-3249025792,3249045503,LU
+3249025792,3249026559,LU
+3249026560,3249026815,PL
+3249026816,3249045503,LU
3249045504,3249078271,DE
3249078272,3249078783,RU
3249078784,3249079295,CH
3249079296,3249079807,RU
-3249079808,3249080831,RO
+3249079808,3249080319,RO
+3249080320,3249080831,EU
3249080832,3249081343,DE
3249081344,3249081855,LV
3249081856,3249082367,GB
@@ -87543,12 +107072,13 @@
3249089536,3249090047,RU
3249090048,3249090559,FR
3249090560,3249091071,SI
-3249091072,3249091583,RO
+3249091072,3249091583,EU
3249091584,3249092095,RU
3249092096,3249092607,DE
3249092608,3249093119,IT
3249093120,3249093631,GB
-3249093632,3249094655,RU
+3249093632,3249094143,CZ
+3249094144,3249094655,RU
3249094656,3249095679,FR
3249095680,3249096191,NL
3249096192,3249096703,IL
@@ -87685,8 +107215,7 @@
3249702400,3249702655,FR
3249702656,3249702911,RU
3249702912,3249703679,FR
-3249703680,3249703935,GB
-3249703936,3249704191,FR
+3249703680,3249704191,GB
3249704192,3249704447,RO
3249704448,3249704703,DE
3249704704,3249704959,PL
@@ -87726,9 +107255,10 @@
3249720320,3249721343,IT
3249721344,3249721599,AT
3249721600,3249721855,BE
-3249721856,3249722623,FR
+3249721856,3249722111,FR
+3249722112,3249722367,GB
+3249722368,3249722623,FR
3249722624,3249723135,PL
-3249723136,3249723391,GB
3249723392,3249723647,IT
3249723648,3249723903,GB
3249723904,3249724159,TR
@@ -87750,13 +107280,33 @@
3249731584,3249732607,UA
3249732608,3249733631,IT
3249733632,3249799167,CZ
-3249799168,3249829887,SE
+3249799168,3249802239,SE
+3249802240,3249802751,DE
+3249802752,3249828607,SE
+3249828608,3249828863,AT
+3249828864,3249829375,DE
+3249829376,3249829631,AT
+3249829632,3249829887,SE
3249829888,3249830143,GB
3249830144,3249830399,SE
3249830400,3249830655,IT
-3249830656,3249850623,SE
+3249830656,3249844479,SE
+3249844480,3249844735,AT
+3249844736,3249844991,AU
+3249844992,3249845759,SE
+3249845760,3249846271,DE
+3249846272,3249850623,SE
3249850624,3249850879,GB
-3249850880,3249863679,SE
+3249850880,3249859583,SE
+3249859584,3249860095,DE
+3249860096,3249861375,SE
+3249861376,3249861631,BE
+3249861632,3249862143,DE
+3249862144,3249862399,BE
+3249862400,3249862655,SE
+3249862656,3249863167,DE
+3249863168,3249863423,BE
+3249863424,3249863679,SE
3249863680,3249863935,ES
3249863936,3249865471,SE
3249865472,3249866751,GB
@@ -87774,20 +107324,29 @@
3249926144,3249926399,AU
3249926400,3249926655,SE
3249926656,3249926911,AU
-3249926912,3249931007,SE
+3249926912,3249929471,SE
+3249929472,3249929983,CA
+3249929984,3249931007,SE
3249931008,3249931263,GB
3249931264,3249932031,SE
3249932032,3249932287,GB
3249932288,3249934335,US
-3249934336,3249961471,SE
+3249934336,3249960447,SE
+3249960448,3249960959,DE
+3249960960,3249961215,CA
+3249961216,3249961471,SE
3249961472,3249961727,NL
3249961728,3249967615,SE
3249967616,3249967871,GB
3249967872,3249968127,SE
3249968128,3249969151,FR
-3249969152,3249971199,SE
+3249969152,3249969663,SE
+3249969664,3249970175,DE
+3249970176,3249971199,SE
3249971200,3249971455,IT
-3249971456,3249974527,SE
+3249971456,3249971711,SE
+3249971712,3249972735,DE
+3249972736,3249974527,SE
3249974528,3249974783,ES
3249974784,3249976063,SE
3249976064,3249976319,FR
@@ -87797,7 +107356,10 @@
3249991680,3249991935,US
3249991936,3249993215,SE
3249993216,3249993471,NL
-3249993472,3249995263,SE
+3249993472,3249993727,SE
+3249993728,3249994239,DE
+3249994240,3249994495,CH
+3249994496,3249995263,SE
3249995264,3249995519,GB
3249995520,3249997055,SE
3249997056,3249997311,US
@@ -87805,30 +107367,27 @@
3250000128,3250000383,GB
3250000384,3250007295,SE
3250007296,3250007551,GB
-3250007552,3250031359,SE
+3250007552,3250010367,SE
+3250010368,3250010879,CH
+3250010880,3250030335,SE
+3250030336,3250030591,DK
+3250030592,3250031103,DE
+3250031104,3250031359,DK
3250031360,3250031615,US
-3250031616,3250035455,SE
+3250031616,3250032639,SE
+3250032640,3250032895,HK
+3250032896,3250035455,SE
3250035456,3250035711,US
-3250035712,3250061311,SE
-3250061312,3250061635,FI
-3250061636,3250061639,AX
-3250061640,3250083643,FI
-3250083644,3250083647,AX
-3250083648,3250124711,FI
-3250124712,3250124715,AX
-3250124716,3250144011,FI
-3250144012,3250144015,AX
-3250144016,3250144071,FI
-3250144072,3250144075,AX
-3250144076,3250183199,FI
+3250035712,3250038271,SE
+3250038272,3250039295,ES
+3250039296,3250042623,SE
+3250042624,3250043135,FR
+3250043136,3250061311,SE
+3250061312,3250183199,FI
3250183200,3250183215,SE
-3250183216,3250187455,FI
-3250187456,3250187487,AX
-3250187488,3250187583,FI
+3250183216,3250187583,FI
3250187584,3250187647,SE
-3250187648,3250191783,FI
-3250191784,3250191787,AX
-3250191788,3250192383,FI
+3250187648,3250192383,FI
3250192384,3250192639,AT
3250192640,3250192895,RU
3250192896,3250193151,IL
@@ -87847,6 +107406,9 @@
3250200832,3250201087,RO
3250201088,3250201343,RU
3250201344,3250201599,DK
+3250201600,3250202111,NL
+3250202112,3250202367,BG
+3250202368,3250202623,PL
3250202624,3250233855,AT
3250233856,3250234111,GB
3250234112,3250234367,GR
@@ -87878,6 +107440,7 @@
3250357872,3250357879,CH
3250357880,3250357887,SE
3250357888,3250357895,DK
+3250357904,3250357919,FR
3250357920,3250357927,PL
3250357952,3250358015,GB
3250358016,3250358527,LB
@@ -87972,6 +107535,7 @@
3250589440,3250589471,IE
3250589472,3250589503,NL
3250589504,3250589567,HR
+3250589568,3250589631,RU
3250589632,3250589695,NO
3250589696,3250593791,CH
3250593792,3250594815,GB
@@ -88045,9 +107609,7 @@
3250752512,3250753023,BG
3250753024,3250754047,DE
3250754048,3250754303,AT
-3250754304,3250754479,GB
-3250754480,3250754495,IE
-3250754496,3250754559,GB
+3250754304,3250754559,GB
3250754560,3250755071,DE
3250755072,3250755583,GB
3250755584,3250755839,FR
@@ -88061,9 +107623,7 @@
3250765824,3250782207,SE
3250782208,3250847743,GB
3250847744,3250978815,DE
-3250978816,3250989311,HR
-3250989312,3250989343,BA
-3250989344,3251044351,HR
+3250978816,3251044351,HR
3251044352,3251109887,FI
3251109888,3251110143,SI
3251110144,3251110655,BG
@@ -88236,7 +107796,6 @@
3251169280,3251170047,PL
3251170048,3251170303,NO
3251170304,3251170559,CH
-3251170560,3251170815,DE
3251170816,3251171071,RU
3251171072,3251171327,UA
3251171328,3251171839,DE
@@ -88252,7 +107811,6 @@
3251174144,3251174399,RU
3251174400,3251174655,RO
3251174656,3251174911,DE
-3251174912,3251175167,AT
3251175168,3251175423,UA
3251175424,3251177471,IT
3251177472,3251179519,DE
@@ -88301,11 +107859,13 @@
3251201536,3251201791,AT
3251201792,3251202047,FR
3251202048,3251202303,NL
-3251202304,3251202559,PL
+3251202304,3251202559,UA
3251202560,3251202815,AT
-3251202816,3251203327,ES
+3251202816,3251203071,ES
+3251203072,3251203327,GB
3251203328,3251203583,SI
3251203584,3251203839,CZ
+3251203840,3251204095,RU
3251204096,3251204607,DE
3251204608,3251205119,BG
3251205120,3251205631,UA
@@ -88327,7 +107887,6 @@
3251213120,3251213151,NL
3251213152,3251213183,FR
3251213184,3251213215,UA
-3251213216,3251213247,CH
3251213248,3251213311,GB
3251213312,3251213439,DE
3251213440,3251213503,GB
@@ -88353,7 +107912,6 @@
3251215488,3251215615,SE
3251215616,3251215743,TR
3251215744,3251215871,GB
-3251216000,3251216127,LI
3251216128,3251216255,FI
3251216256,3251216383,RU
3251216384,3251216639,GB
@@ -88434,8 +107992,7 @@
3251272960,3251273471,FR
3251273472,3251290111,DE
3251290112,3251302399,GB
-3251302400,3251306239,LI
-3251306240,3251306495,CH
+3251302400,3251306495,LI
3251306496,3251306751,AT
3251306752,3251307007,MK
3251307008,3251307519,RS
@@ -88522,9 +108079,7 @@
3251734528,3251734783,NL
3251734784,3251765247,FI
3251765248,3251765503,NL
-3251765504,3251766663,FI
-3251766664,3251766671,AX
-3251766672,3251774207,FI
+3251765504,3251774207,FI
3251774208,3251774463,DE
3251774464,3251783423,FI
3251783424,3251783679,GB
@@ -88574,17 +108129,16 @@
3252223232,3252223743,SE
3252223744,3252223999,NO
3252224000,3252233215,SE
-3252233216,3252240383,NO
-3252240384,3252244479,SE
-3252244480,3252246527,NO
-3252246528,3252276223,SE
+3252233216,3252248575,NO
+3252248576,3252276223,SE
3252276224,3252277759,NO
3252277760,3252279295,SE
3252279296,3252279807,NO
3252279808,3252286463,SE
3252286464,3252286975,NO
3252286976,3252289535,SE
-3252289536,3252291327,GR
+3252289536,3252289791,BG
+3252289792,3252291327,GR
3252291328,3252291583,SK
3252291584,3252293631,FR
3252293632,3252297983,DE
@@ -88602,7 +108156,9 @@
3252318976,3252319231,PL
3252319232,3252319743,AT
3252319744,3252319999,UA
-3252320000,3252321791,GR
+3252320000,3252320255,GR
+3252320256,3252320511,CZ
+3252320512,3252321791,GR
3252321792,3252322303,PL
3252322304,3252323327,NO
3252323328,3252324351,PL
@@ -88613,13 +108169,13 @@
3252330496,3252334591,GB
3252334592,3252336639,RU
3252336640,3252337663,UA
-3252337664,3252338687,RU
3252338688,3252340735,BE
3252340736,3252340991,TR
-3252340992,3252342015,GR
+3252340992,3252341247,GR
+3252341248,3252341503,DE
+3252341504,3252342015,GR
3252342016,3252342079,GB
3252342080,3252342143,IR
-3252342144,3252342207,LU
3252342208,3252342239,GB
3252342240,3252342271,CH
3252342272,3252342527,SE
@@ -88632,8 +108188,7 @@
3252346624,3252355071,GR
3252355072,3252355327,GB
3252355328,3252358911,LT
-3252358912,3252358927,GB
-3252358928,3252359167,DE
+3252358912,3252359167,DE
3252359168,3252362239,DK
3252362240,3252362495,PL
3252362496,3252362751,IT
@@ -88672,13 +108227,11 @@
3252387840,3252404223,LT
3252404224,3252406783,NO
3252406784,3252407295,LT
-3252407296,3252407583,NO
-3252407584,3252407599,NG
+3252407296,3252407599,NO
3252407600,3252407615,BJ
3252407616,3252407711,NO
3252407712,3252407743,NG
-3252407744,3252407751,NO
-3252407752,3252407759,AO
+3252407744,3252407759,NO
3252407760,3252407775,CD
3252407776,3252407791,GH
3252407792,3252407807,NO
@@ -88706,9 +108259,7 @@
3252408672,3252408703,SO
3252408704,3252408735,NG
3252408736,3252408751,SO
-3252408752,3252408767,LT
-3252408768,3252408783,NG
-3252408784,3252408799,LT
+3252408752,3252408799,LT
3252408800,3252408831,SO
3252408832,3252408839,NG
3252408840,3252408847,KE
@@ -88719,11 +108270,8 @@
3252408880,3252409023,LT
3252409024,3252409039,TZ
3252409040,3252409047,MR
-3252409048,3252409103,LT
-3252409104,3252409111,SD
-3252409112,3252409151,LT
-3252409152,3252409159,KE
-3252409160,3252409167,LT
+3252409048,3252409151,LT
+3252409152,3252409167,KE
3252409168,3252409175,UG
3252409176,3252409183,LT
3252409184,3252409191,UG
@@ -88743,16 +108291,21 @@
3252409472,3252409503,LT
3252409504,3252409511,GH
3252409512,3252409519,BF
-3252409520,3252409527,NG
-3252409528,3252409599,LT
+3252409520,3252409535,CD
+3252409536,3252409599,LT
3252409600,3252409615,MA
3252409616,3252409631,LT
3252409632,3252409647,AO
3252409648,3252409727,LT
3252409728,3252409735,LR
-3252409736,3252409759,LT
+3252409736,3252409751,NG
+3252409752,3252409759,LT
3252409760,3252409775,BI
-3252409776,3252410383,LT
+3252409776,3252409791,LT
+3252409792,3252409823,BI
+3252409824,3252409855,LT
+3252409856,3252409919,SO
+3252409920,3252410383,LT
3252410384,3252410391,BW
3252410392,3252410431,LT
3252410432,3252410463,BI
@@ -88769,17 +108322,18 @@
3252411712,3252411743,NG
3252411744,3252411775,LT
3252411776,3252411783,GH
-3252411784,3252411791,LT
-3252411792,3252411823,NG
+3252411784,3252411807,LT
+3252411808,3252411823,NG
3252411824,3252411839,LT
3252411840,3252411855,MR
3252411856,3252411879,LT
3252411880,3252411887,CD
3252411888,3252411895,LT
3252411896,3252411903,CD
-3252411904,3252414463,LT
-3252414464,3252414479,GH
-3252414480,3252414511,LT
+3252411904,3252411967,GN
+3252411968,3252414463,LT
+3252414464,3252414471,GH
+3252414472,3252414511,LT
3252414512,3252414527,MR
3252414528,3252414591,LT
3252414592,3252414599,GH
@@ -88789,18 +108343,14 @@
3252414640,3252414647,GH
3252414648,3252414655,NE
3252414656,3252414975,LT
-3252414976,3252414999,IQ
-3252415000,3252415015,LT
-3252415016,3252415031,IQ
-3252415032,3252415039,LT
-3252415040,3252415095,IQ
+3252414976,3252415095,IQ
3252415096,3252415103,LT
-3252415104,3252415159,IQ
+3252415104,3252415135,IQ
+3252415136,3252415151,LT
+3252415152,3252415159,IQ
3252415160,3252415167,BE
3252415168,3252415231,IQ
-3252415232,3252415743,LT
-3252415744,3252415775,GB
-3252415776,3252415967,LT
+3252415232,3252415967,LT
3252415968,3252415999,CM
3252416000,3252416895,LT
3252416896,3252416927,GN
@@ -88810,11 +108360,8 @@
3252417280,3252417287,IQ
3252417288,3252417463,AF
3252417464,3252417471,LT
-3252417472,3252417503,AF
-3252417504,3252417791,LT
-3252417792,3252417855,NG
-3252417856,3252417919,LT
-3252417920,3252417935,MW
+3252417472,3252417519,AF
+3252417520,3252417935,LT
3252417936,3252417951,ZM
3252417952,3252418239,LT
3252418240,3252418303,JO
@@ -88847,7 +108394,8 @@
3252420032,3252420055,IQ
3252420056,3252420063,LT
3252420064,3252420071,IQ
-3252420072,3252420111,LT
+3252420072,3252420095,LT
+3252420096,3252420111,IQ
3252420112,3252420119,GB
3252420120,3252420143,IQ
3252420144,3252420191,LT
@@ -88855,8 +108403,8 @@
3252420224,3252420351,LT
3252420352,3252420415,IQ
3252420416,3252420431,GB
-3252420432,3252420447,LT
-3252420448,3252420463,IQ
+3252420432,3252420455,LT
+3252420456,3252420463,IQ
3252420464,3252420471,AF
3252420472,3252420583,LT
3252420584,3252420591,IQ
@@ -88879,8 +108427,7 @@
3252425728,3252425983,A2
3252425984,3252426751,LT
3252426752,3252427263,MZ
-3252427264,3252427519,NG
-3252427520,3252427775,LT
+3252427264,3252427775,LT
3252427776,3252428287,MW
3252428288,3252428303,AO
3252428304,3252428351,LT
@@ -88914,21 +108461,26 @@
3252434704,3252434711,TZ
3252434712,3252434719,LT
3252434720,3252434743,GH
-3252434744,3252435199,LT
+3252434744,3252434751,ML
+3252434752,3252434759,GN
+3252434760,3252434767,SL
+3252434768,3252434783,LT
+3252434784,3252434791,ZM
+3252434792,3252435199,LT
3252435200,3252435231,TZ
3252435232,3252435247,LT
3252435248,3252435263,BW
3252435264,3252435279,ML
-3252435280,3252435295,LT
-3252435296,3252435311,TZ
+3252435280,3252435287,GN
+3252435288,3252435295,GH
+3252435296,3252435303,TZ
+3252435304,3252435311,SN
3252435312,3252435319,CF
3252435320,3252435327,MZ
3252435328,3252435343,CD
3252435344,3252435375,BF
3252435376,3252435415,GN
-3252435416,3252435423,LT
-3252435424,3252435447,CD
-3252435448,3252435455,LT
+3252435416,3252435455,CD
3252435456,3252435711,TZ
3252435712,3252435855,GH
3252435856,3252435871,MR
@@ -88936,11 +108488,10 @@
3252435888,3252435903,CD
3252435904,3252435919,BW
3252435920,3252435935,BF
-3252435936,3252435967,LT
+3252435936,3252435967,CD
3252435968,3252436223,TZ
3252436224,3252436239,GN
-3252436240,3252436255,LT
-3252436256,3252436271,ML
+3252436240,3252436271,ML
3252436272,3252436287,BF
3252436288,3252436303,LT
3252436304,3252436319,ZM
@@ -88991,7 +108542,9 @@
3252450848,3252450863,IQ
3252450864,3252450879,LT
3252450880,3252450911,NO
-3252450912,3252451071,LT
+3252450912,3252450943,LT
+3252450944,3252450959,CH
+3252450960,3252451071,LT
3252451072,3252451327,CH
3252451328,3252451583,LT
3252451584,3252451607,GM
@@ -89011,7 +108564,7 @@
3252452160,3252452175,NL
3252452176,3252452191,NO
3252452192,3252452215,NL
-3252452216,3252452223,NO
+3252452216,3252452223,LT
3252452224,3252452227,NL
3252452228,3252452231,LT
3252452232,3252452239,NL
@@ -89033,11 +108586,7 @@
3252455168,3252455295,NG
3252455296,3252455679,LT
3252455680,3252455807,BI
-3252455808,3252455935,LT
-3252455936,3252456191,MW
-3252456192,3252456959,LT
-3252456960,3252457471,NG
-3252457472,3252460799,LT
+3252455808,3252460799,LT
3252460800,3252460831,AF
3252460832,3252460847,US
3252460848,3252460863,LT
@@ -89053,28 +108602,16 @@
3252466048,3252466175,GH
3252466176,3252473855,LT
3252473856,3252474879,SO
-3252474880,3252475903,LT
-3252475904,3252476415,NG
-3252476416,3252481023,LT
+3252474880,3252481023,LT
3252481024,3252481535,MZ
3252481536,3252483071,LT
3252483072,3252483583,KW
3252483584,3252484095,LT
3252484096,3252486143,KW
3252486144,3252490239,BE
-3252490240,3252495871,SE
-3252495872,3252496127,HU
-3252496128,3252500991,SE
-3252500992,3252501247,DE
-3252501248,3252505343,SE
-3252505344,3252505855,US
-3252505856,3252507135,SE
-3252507136,3252507647,EU
-3252507648,3252508415,GB
-3252508416,3252508671,BE
-3252508672,3252508927,GB
-3252508928,3252509183,BE
-3252509184,3252509951,GB
+3252490240,3252507135,SE
+3252507136,3252507647,RO
+3252507648,3252509951,GB
3252509952,3252510719,CH
3252510720,3252514815,FR
3252514816,3252515071,SI
@@ -89101,6 +108638,11 @@
3252541952,3252542207,CI
3252542208,3252551679,BE
3252551680,3252563967,CH
+3252563968,3252564991,RO
+3252564992,3252566015,UA
+3252566016,3252566271,DE
+3252566272,3252566527,RO
+3252566528,3252566783,RU
3252566784,3252567295,CH
3252567296,3252567551,GB
3252567552,3252567807,RU
@@ -89132,7 +108674,9 @@
3252616704,3252616959,ES
3252616960,3252617215,CH
3252617216,3252617471,PL
-3252617472,3252636671,CH
+3252617472,3252634623,CH
+3252634624,3252634879,RU
+3252634880,3252636671,CH
3252636672,3252636927,TR
3252636928,3252637183,DE
3252637184,3252637695,GB
@@ -89237,7 +108781,6 @@
3252984576,3252984831,GB
3252984832,3252985087,FR
3252985088,3252985343,SE
-3252985344,3252985599,AT
3252985600,3252985855,RU
3252985856,3252989439,AT
3252989440,3252989695,PL
@@ -89262,7 +108805,21 @@
3253380864,3253381119,IT
3253381120,3253383935,SE
3253383936,3253384191,NO
-3253384192,3253403647,SE
+3253384192,3253388287,SE
+3253388288,3253388799,FR
+3253388800,3253389055,SE
+3253389056,3253389823,FR
+3253389824,3253398271,SE
+3253398272,3253398783,FR
+3253398784,3253399039,SE
+3253399040,3253399295,FR
+3253399296,3253399551,IT
+3253399552,3253400575,SE
+3253400576,3253401087,IT
+3253401088,3253402111,SE
+3253402112,3253402367,IT
+3253402368,3253402623,JP
+3253402624,3253403647,SE
3253403648,3253403903,PL
3253403904,3253409791,SE
3253409792,3253410047,GB
@@ -89270,11 +108827,14 @@
3253411328,3253411583,NO
3253411584,3253412351,SE
3253412352,3253412607,US
-3253412608,3253416447,SE
-3253416448,3253416703,GB
-3253416704,3253428223,SE
+3253412608,3253412863,SE
+3253412864,3253413887,EU
+3253413888,3253416447,SE
+3253416448,3253416959,GB
+3253416960,3253428223,SE
3253428224,3253428479,DE
-3253428480,3253429759,SE
+3253428480,3253429247,SE
+3253429248,3253429759,JP
3253429760,3253430015,ES
3253430016,3253433087,SE
3253433088,3253433343,DE
@@ -89283,15 +108843,30 @@
3253434368,3253434623,IT
3253434624,3253434879,SE
3253434880,3253435135,IT
-3253435136,3253440511,SE
+3253435136,3253435903,SE
+3253435904,3253436159,NL
+3253436160,3253436415,NO
+3253436416,3253440511,SE
3253440512,3253440767,FR
-3253440768,3253453311,SE
+3253440768,3253443839,SE
+3253443840,3253444351,NO
+3253444352,3253453311,SE
3253453312,3253453567,NO
3253453568,3253454079,SE
3253454080,3253454335,GB
-3253454336,3253460735,SE
+3253454336,3253455615,SE
+3253455616,3253455871,US
+3253455872,3253456383,SE
+3253456384,3253456639,US
+3253456640,3253460735,SE
3253460736,3253460991,IT
-3253460992,3253469183,SE
+3253460992,3253461247,US
+3253461248,3253461759,SE
+3253461760,3253462015,PL
+3253462016,3253462527,SE
+3253462528,3253463039,US
+3253463040,3253464063,GB
+3253464064,3253469183,SE
3253469184,3253471231,AO
3253471232,3253534719,PT
3253534720,3253600255,GB
@@ -89300,7 +108875,6 @@
3253602304,3253603327,DE
3253603328,3253605375,PL
3253605376,3253606399,UA
-3253606400,3253607423,NL
3253607424,3253608447,NG
3253608448,3253610495,UA
3253610496,3253611519,PL
@@ -89345,7 +108919,7 @@
3253653504,3253654527,IL
3253654528,3253657599,LV
3253657600,3253658623,UA
-3253658624,3253659647,FR
+3253658624,3253659647,DE
3253659648,3253660671,GB
3253660672,3253661695,NO
3253661696,3253662719,NL
@@ -89383,6 +108957,8 @@
3253697536,3253698559,PL
3253698560,3253699071,UA
3253699072,3253699583,RO
+3253699584,3253699839,NL
+3253699840,3253700095,RU
3253700096,3253700607,RO
3253700608,3253701119,PL
3253701120,3253702143,RO
@@ -89506,11 +109082,7 @@
3253975040,3253977087,DE
3253977088,3253985279,TR
3253985280,3253993471,GB
-3253993472,3254067199,BE
-3254067200,3254069247,CZ
-3254069248,3254077439,BE
-3254077440,3254083583,HU
-3254083584,3254124543,BE
+3253993472,3254124543,BE
3254124544,3254156799,CH
3254156800,3254157055,LI
3254157056,3254177279,CH
@@ -89728,6 +109300,8 @@
3254788096,3254788351,BG
3254788352,3254789119,ES
3254789120,3254789375,FR
+3254789632,3254790655,TK
+3254790656,3254790911,LU
3254796288,3254797311,SE
3254797312,3254798335,RU
3254798336,3254799359,AT
@@ -89872,17 +109446,15 @@
3254884608,3254884863,PL
3254884864,3254885119,SE
3254885120,3254885375,DE
-3254885376,3254885887,SK
+3254885632,3254885887,SK
3254885888,3254886143,AT
-3254886144,3254886399,SK
3254886400,3254886655,IT
3254886656,3254886911,RU
3254886912,3254887423,CH
3254887424,3254888191,GB
3254888192,3254888447,RO
-3254888448,3254888703,SK
3254888704,3254888959,RO
-3254888960,3254890495,SK
+3254889472,3254890495,SK
3254890496,3254890751,DE
3254890752,3254891007,UA
3254891008,3254891519,RO
@@ -89890,7 +109462,8 @@
3254891776,3254892031,DE
3254892032,3254892287,GB
3254892288,3254892543,BE
-3254892544,3254894079,SK
+3254892544,3254892799,RU
+3254892800,3254893567,SK
3254894080,3254894335,CH
3254894336,3254894591,SK
3254894592,3254894847,DK
@@ -89913,11 +109486,11 @@
3254898944,3254899199,EE
3254899200,3254899455,GB
3254899456,3254899967,SE
-3254899968,3254901759,SK
+3254900480,3254901759,SK
3254901760,3254902271,UA
-3254902272,3254908415,SK
+3254902272,3254904831,SK
+3254907904,3254908159,SK
3254908416,3254908671,PL
-3254908672,3254910719,SK
3254910720,3254910975,HR
3254910976,3254926279,FR
3254926280,3254926287,GB
@@ -89933,13 +109506,13 @@
3255006720,3255006975,A2
3255006976,3255017648,FR
3255017649,3255017649,LB
-3255017650,3255087103,FR
-3255087104,3255087359,SG
-3255087360,3255120639,FR
+3255017650,3255120639,FR
3255120640,3255120895,DE
3255120896,3255123711,FR
3255123712,3255123967,DE
-3255123968,3255172351,FR
+3255123968,3255129855,FR
+3255129856,3255130111,HR
+3255130112,3255172351,FR
3255172352,3255172607,DE
3255172608,3255173119,FR
3255173120,3255173631,GB
@@ -90072,9 +109645,7 @@
3255247648,3255247663,LU
3255247664,3255248127,BE
3255248128,3255248383,LU
-3255248384,3255248735,BE
-3255248736,3255248767,LU
-3255248768,3255249295,BE
+3255248384,3255249295,BE
3255249296,3255249311,LU
3255249312,3255249935,BE
3255249936,3255249951,LU
@@ -90086,15 +109657,11 @@
3255252488,3255252495,FR
3255252496,3255252527,BE
3255252528,3255252543,LU
-3255252544,3255252559,BE
-3255252560,3255252575,LU
-3255252576,3255254847,BE
+3255252544,3255252799,BE
+3255252800,3255252863,LU
+3255252864,3255254847,BE
3255254848,3255254879,LU
-3255254880,3255255559,BE
-3255255560,3255255567,LU
-3255255568,3255255599,BE
-3255255600,3255255607,LU
-3255255608,3255255711,BE
+3255254880,3255255711,BE
3255255712,3255255743,LU
3255255744,3255255751,BE
3255255752,3255255759,DK
@@ -90193,9 +109760,7 @@
3255291400,3255291423,LU
3255291424,3255291615,BE
3255291616,3255291623,LU
-3255291624,3255291871,BE
-3255291872,3255291887,LU
-3255291888,3255291983,BE
+3255291624,3255291983,BE
3255291984,3255291999,LU
3255292000,3255292311,BE
3255292312,3255292319,LU
@@ -90205,7 +109770,9 @@
3255300804,3255300807,LU
3255300808,3255304191,BE
3255304192,3255304447,DE
-3255304448,3255307775,LV
+3255304448,3255305215,LV
+3255305216,3255305471,BG
+3255305472,3255307775,LV
3255307776,3255308031,PL
3255308032,3255308287,CH
3255308288,3255311359,LV
@@ -90260,6 +109827,7 @@
3255366144,3255367167,DK
3255367168,3255367679,RU
3255367680,3255368191,UA
+3255368192,3255368703,FR
3255368704,3255369215,CZ
3255369216,3255369727,GB
3255369728,3255370239,LU
@@ -90295,8 +109863,9 @@
3255385088,3255385599,RO
3255385600,3255386111,FR
3255386112,3255386623,KE
-3255386624,3255387135,PL
-3255387136,3255388159,UA
+3255386624,3255387391,PL
+3255387392,3255387647,RU
+3255387648,3255388159,UA
3255388160,3255388671,DE
3255388672,3255389183,SE
3255389184,3255389695,GB
@@ -90323,7 +109892,9 @@
3255416832,3255417855,FR
3255417856,3255418879,GB
3255418880,3255422975,DE
-3255422976,3255426047,GB
+3255422976,3255423999,RO
+3255424000,3255425023,LV
+3255425024,3255426047,RO
3255426048,3255426559,IT
3255426560,3255426815,FR
3255426816,3255427071,PL
@@ -90416,15 +109987,11 @@
3255508480,3255544319,CH
3255544320,3255544575,DE
3255544576,3255544831,AT
-3255544832,3255551999,CH
-3255552000,3255552511,DE
-3255552512,3255558143,CH
+3255544832,3255558143,CH
3255558144,3255558399,BE
-3255558400,3255564031,CH
+3255558656,3255564031,CH
3255564032,3255564287,RU
-3255564288,3255565567,CH
-3255565568,3255566079,DE
-3255566080,3255566335,CH
+3255564288,3255566335,CH
3255566336,3255574527,SE
3255574528,3255578623,CZ
3255578624,3255582719,SE
@@ -90437,14 +110004,22 @@
3255660544,3255666431,NL
3255666432,3255666687,DE
3255666688,3255697407,NL
-3255697408,3255710719,SE
+3255697408,3255698687,SE
+3255698688,3255698943,GB
+3255698944,3255710719,SE
3255710720,3255710975,ES
-3255710976,3255724543,SE
+3255710976,3255711743,SE
+3255711744,3255711999,EU
+3255712000,3255724543,SE
3255724544,3255725055,US
3255725056,3255725311,ES
-3255725312,3255739647,SE
+3255725312,3255730943,SE
+3255730944,3255731199,GB
+3255731200,3255739647,SE
3255739648,3255739903,GB
-3255739904,3255743231,SE
+3255739904,3255742719,SE
+3255742720,3255742975,SG
+3255742976,3255743231,SE
3255743232,3255743487,IT
3255743488,3255743743,DE
3255743744,3255745535,SE
@@ -90479,7 +110054,11 @@
3256075008,3256076287,DK
3256076288,3256076799,SE
3256076800,3256082431,DK
-3256082432,3256090623,LV
+3256082432,3256088063,LV
+3256088064,3256088095,RU
+3256088096,3256088103,LV
+3256088104,3256088319,RU
+3256088320,3256090623,LV
3256090624,3256164863,IT
3256164864,3256165375,SE
3256165376,3256187391,IT
@@ -90493,9 +110072,7 @@
3256229888,3256233983,DE
3256233984,3256238079,SE
3256238080,3256246271,NO
-3256246272,3256345343,SE
-3256345344,3256345599,DE
-3256345600,3256352767,SE
+3256246272,3256352767,SE
3256352768,3256385535,CH
3256385536,3256393727,AT
3256393728,3256394239,DE
@@ -90528,9 +110105,7 @@
3256416768,3256417279,GB
3256417280,3256417791,NO
3256417792,3256418303,GB
-3256418304,3256427503,DE
-3256427504,3256427511,GB
-3256427512,3256443727,DE
+3256418304,3256443727,DE
3256443728,3256443735,GB
3256443736,3256446855,DE
3256446856,3256446863,US
@@ -90538,12 +110113,8 @@
3256448576,3256448591,ES
3256448592,3256448935,DE
3256448936,3256448943,IT
-3256448944,3256452063,DE
-3256452064,3256452071,BE
-3256452072,3256483839,DE
-3256483840,3256487151,NL
-3256487152,3256487159,FR
-3256487160,3256489471,NL
+3256448944,3256483839,DE
+3256483840,3256489471,NL
3256489472,3256489983,GR
3256489984,3256490239,BE
3256490240,3256490495,DE
@@ -90624,11 +110195,11 @@
3256699136,3256699391,NL
3256699392,3256700415,GB
3256700416,3256700671,NL
-3256700672,3256700927,FR
-3256700928,3256701183,EU
+3256700672,3256700927,EU
+3256700928,3256701183,DE
3256701184,3256701439,BE
-3256701440,3256701695,GB
-3256701696,3256705279,EU
+3256701440,3256701951,GB
+3256701952,3256705279,EU
3256705280,3256705791,BE
3256705792,3256706047,AT
3256706048,3256706559,GR
@@ -90640,7 +110211,9 @@
3256711168,3256711423,DE
3256711424,3256713215,EU
3256713216,3256727551,PL
-3256727552,3256728575,UA
+3256727552,3256727807,DE
+3256727808,3256728063,HU
+3256728064,3256728575,RU
3256728576,3256729599,DE
3256729600,3256731647,FI
3256731648,3256732671,NO
@@ -90670,7 +110243,6 @@
3256790784,3256791039,NL
3256791040,3256791295,CH
3256791296,3256791551,RO
-3256791552,3256791807,DE
3256791808,3256792063,PL
3256792064,3256792319,DE
3256792320,3256792575,CH
@@ -90685,7 +110257,24 @@
3256794624,3256794879,RU
3256794880,3256795135,AT
3256795136,3256811519,GR
-3256811520,3256864511,DE
+3256811520,3256819711,DE
+3256819712,3256821503,PL
+3256821504,3256821759,NO
+3256821760,3256822271,PL
+3256822272,3256822527,MD
+3256822528,3256822783,PL
+3256822784,3256823807,UA
+3256823808,3256824319,PL
+3256824320,3256824831,GB
+3256824832,3256826111,RO
+3256826112,3256826367,KW
+3256826368,3256826623,IL
+3256826624,3256826879,RU
+3256826880,3256827135,PL
+3256827136,3256827391,IS
+3256827392,3256827647,GB
+3256827648,3256827903,PL
+3256827904,3256864511,DE
3256864512,3256864767,CH
3256864768,3256870911,DE
3256870912,3256871167,RU
@@ -90699,10 +110288,13 @@
3256946432,3256946687,UA
3256946688,3256946943,GB
3256946944,3256947711,DE
-3256947712,3256988671,GB
-3256988672,3256989183,UA
+3256947712,3256958975,GB
+3256975360,3256988671,GB
+3256988672,3256988927,RU
+3256988928,3256989183,UA
3256989184,3256989439,FR
3256989440,3256989695,GB
+3256989696,3256989951,HU
3256989952,3256990207,PL
3256990208,3256990463,CH
3256990464,3256990719,PL
@@ -90715,7 +110307,8 @@
3257058816,3257059071,PL
3257059072,3257139199,GB
3257139200,3257139455,DK
-3257139456,3257144831,GB
+3257139456,3257143295,GB
+3257144576,3257144831,GB
3257144832,3257145087,FR
3257145088,3257180159,GB
3257180160,3257180415,TR
@@ -90763,7 +110356,7 @@
3257468928,3257469183,EU
3257469184,3257469439,IT
3257469440,3257469951,GB
-3257469952,3257470975,BE
+3257469952,3257470975,PL
3257470976,3257475071,FI
3257475072,3257475327,ES
3257475328,3257475583,FI
@@ -90785,9 +110378,7 @@
3257491456,3257495551,BE
3257495552,3257497855,CH
3257497856,3257499647,NL
-3257499648,3257525495,CH
-3257525496,3257525503,DK
-3257525504,3257532415,CH
+3257499648,3257532415,CH
3257532416,3257542655,CY
3257542656,3257542911,PL
3257542912,3257543423,IT
@@ -90801,7 +110392,6 @@
3257545216,3257546495,GR
3257546496,3257546527,DE
3257546528,3257546623,CH
-3257546624,3257546655,ES
3257546656,3257546687,SE
3257546688,3257546719,DE
3257546720,3257546751,DK
@@ -90899,9 +110489,7 @@
3257748464,3257748479,NL
3257748480,3257749503,DE
3257749504,3257749663,NL
-3257749664,3257749671,DE
-3257749672,3257749679,NL
-3257749680,3257749687,DE
+3257749664,3257749687,DE
3257749688,3257749743,NL
3257749744,3257749751,DE
3257749752,3257749759,NL
@@ -91634,9 +111222,7 @@
3257827840,3257829375,GB
3257829376,3257830399,IE
3257830400,3257835519,GB
-3257835520,3257844223,IE
-3257844224,3257851903,GB
-3257851904,3257860095,IE
+3257835520,3257860095,IE
3257860096,3257925631,SE
3257925632,3257925887,AT
3257925888,3257926143,SE
@@ -91747,7 +111333,6 @@
3258085632,3258085887,DE
3258085888,3258086143,UA
3258086144,3258086399,AT
-3258086400,3258086655,UA
3258086656,3258086911,PL
3258086912,3258087167,GB
3258087168,3258087423,UA
@@ -91759,7 +111344,18 @@
3258088704,3258088959,UA
3258088960,3258089215,RO
3258089216,3258089471,FR
-3258089472,3258097663,CZ
+3258089472,3258090495,RU
+3258090496,3258091519,PL
+3258091520,3258092287,SI
+3258092288,3258092543,RU
+3258092544,3258092799,SE
+3258092800,3258093567,RU
+3258093568,3258094591,UA
+3258094592,3258095359,RU
+3258095360,3258095615,AT
+3258095616,3258095871,RU
+3258095872,3258096383,GB
+3258096384,3258097663,PL
3258097664,3258097919,DE
3258097920,3258098175,UA
3258098176,3258098431,DE
@@ -91854,9 +111450,7 @@
3258384384,3258427647,DE
3258427648,3258427903,RO
3258427904,3258449919,DE
-3258449920,3258502682,CH
-3258502683,3258502683,FR
-3258502684,3258503935,CH
+3258449920,3258503935,CH
3258503936,3258504191,PL
3258504192,3258504703,CH
3258504704,3258504959,DE
@@ -91865,9 +111459,7 @@
3258506496,3258506751,DE
3258506752,3258515455,CH
3258515456,3258580991,FR
-3258580992,3258625791,RU
-3258625792,3258626047,UA
-3258626048,3258646527,RU
+3258580992,3258646527,RU
3258646528,3258691583,DE
3258691584,3258691839,RU
3258691840,3258692351,AT
@@ -91903,12 +111495,23 @@
3258746880,3258748927,DE
3258748928,3258764287,GB
3258764288,3258764543,DE
-3258764544,3258764799,RU
+3258764544,3258764799,GB
3258764800,3258765055,BE
3258765056,3258765311,NL
3258765312,3258767615,GB
3258767616,3258767871,CH
3258767872,3258769919,GB
+3258769920,3258770431,PL
+3258770432,3258771455,IR
+3258771456,3258772479,KZ
+3258772480,3258773503,RU
+3258773504,3258774015,FR
+3258774016,3258774271,RU
+3258774272,3258774527,DK
+3258774528,3258776063,RU
+3258776064,3258776319,GE
+3258776320,3258776575,PL
+3258776576,3258777599,UA
3258777600,3258802175,GB
3258802176,3258806271,LU
3258806272,3258818047,GB
@@ -91955,7 +111558,9 @@
3259034320,3259034327,GB
3259034328,3259035447,DE
3259035448,3259035455,IT
-3259035456,3259036031,DE
+3259035456,3259035535,DE
+3259035536,3259035551,FR
+3259035552,3259036031,DE
3259036032,3259036035,ES
3259036036,3259039743,DE
3259039744,3259105279,PT
@@ -91977,17 +111582,33 @@
3259236864,3259237119,CH
3259237120,3259237887,SE
3259237888,3259238143,FR
-3259238144,3259248127,SE
+3259238144,3259243519,SE
+3259243520,3259244543,US
+3259244544,3259248127,SE
3259248128,3259248383,GB
3259248384,3259258623,SE
3259258624,3259258879,ES
3259258880,3259262719,SE
3259262720,3259262975,DK
-3259262976,3259269375,SE
+3259262976,3259266047,SE
+3259266048,3259266303,SG
+3259266304,3259269375,SE
3259269376,3259269631,FR
3259269632,3259276287,SE
3259276288,3259276543,ES
-3259276544,3259285759,SE
+3259276544,3259279615,SE
+3259279616,3259279871,JP
+3259279872,3259280639,SE
+3259280640,3259280895,US
+3259280896,3259281407,SE
+3259281408,3259282431,US
+3259282432,3259282687,SE
+3259282688,3259282943,JP
+3259282944,3259283711,SE
+3259283712,3259283967,US
+3259283968,3259284479,SE
+3259284480,3259284735,US
+3259284736,3259285759,SE
3259285760,3259286015,GB
3259286016,3259290879,SE
3259290880,3259291135,US
@@ -92072,7 +111693,8 @@
3259338752,3259339519,GB
3259339520,3259339775,JP
3259339776,3259340031,US
-3259340032,3259342847,GB
+3259340032,3259340287,EU
+3259340288,3259342847,GB
3259342848,3259344895,CH
3259344896,3259345151,GB
3259345152,3259345407,IE
@@ -92109,7 +111731,9 @@
3259461376,3259461631,GB
3259461632,3259465215,SE
3259465216,3259465471,KH
-3259465472,3259479807,SE
+3259465472,3259470847,SE
+3259470848,3259471871,US
+3259471872,3259479807,SE
3259479808,3259480063,DK
3259480064,3259480831,SE
3259480832,3259481087,ES
@@ -92190,22 +111814,33 @@
3259641344,3259642367,GB
3259642368,3259642623,BE
3259642624,3259650047,GB
-3259650048,3259652095,NL
-3259652096,3259656959,GB
+3259650048,3259650559,NL
+3259650560,3259650815,EU
+3259650816,3259652095,NL
+3259652096,3259656191,GB
+3259656192,3259656959,EU
3259656960,3259657215,BE
-3259657216,3259657727,GB
+3259657216,3259657727,EU
3259657728,3259657887,BE
-3259657888,3259657919,GB
+3259657888,3259657919,EU
3259657920,3259657983,BE
-3259657984,3259660543,GB
+3259657984,3259660543,EU
3259660544,3259660799,CH
-3259660800,3259695871,GB
+3259660800,3259661311,EU
+3259661312,3259664383,GB
+3259664384,3259666431,EU
+3259666432,3259695103,GB
+3259695104,3259695871,EU
3259695872,3259695903,ES
-3259695904,3259696639,GB
+3259695904,3259696639,EU
3259696640,3259696895,ES
-3259696896,3259701759,GB
+3259696896,3259701759,EU
3259701760,3259702303,DE
-3259702304,3259752191,GB
+3259702304,3259703295,EU
+3259703296,3259709999,GB
+3259710000,3259710007,JE
+3259710008,3259751423,GB
+3259751424,3259752191,EU
3259752192,3259752447,FR
3259752448,3259760639,GB
3259760640,3259814399,DE
@@ -92251,9 +111886,7 @@
3260322048,3260322303,BY
3260322304,3260353535,RU
3260353536,3260353791,AZ
-3260353792,3260354559,RU
-3260354560,3260355839,KZ
-3260355840,3260415487,RU
+3260353792,3260415487,RU
3260415488,3260415999,BY
3260416000,3260481535,FI
3260481536,3260547071,RU
@@ -92343,14 +111976,14 @@
3260800256,3260800271,BE
3260800272,3260809215,IT
3260809216,3260874751,PL
-3260874752,3260875775,DK
-3260875776,3260876031,GB
-3260876032,3260893439,DK
+3260874752,3260893439,DK
3260893440,3260894207,SE
3260894208,3260895231,AT
3260895232,3260898303,SE
3260898304,3260899327,ES
-3260899328,3260900351,CH
+3260899328,3260900095,CH
+3260900096,3260900351,RU
+3260900352,3260900607,RO
3260900608,3260901119,NL
3260901120,3260903423,DE
3260903424,3260906239,CH
@@ -92374,16 +112007,20 @@
3261297664,3261297919,RU
3261297920,3261298175,PL
3261298176,3261333503,DE
-3261333504,3261346047,FI
-3261346048,3261346175,AX
-3261346176,3261399039,FI
+3261333504,3261399039,FI
3261399040,3261472767,GB
3261472768,3261503487,RO
3261503488,3261503935,MD
3261503936,3261530111,RO
3261530112,3261531903,SE
3261531904,3261532159,GB
-3261532160,3261570303,SE
+3261532160,3261532671,SE
+3261532672,3261532927,US
+3261532928,3261533439,SE
+3261533440,3261533695,US
+3261533696,3261539327,SE
+3261539328,3261540351,SG
+3261540352,3261570303,SE
3261570304,3261570559,IT
3261570560,3261595647,SE
3261595648,3261661183,NL
@@ -92410,7 +112047,6 @@
3261697024,3261698047,RO
3261698048,3261698559,UA
3261698560,3261699071,DE
-3261699072,3261699583,SA
3261699584,3261700095,NL
3261700096,3261700607,FR
3261700608,3261701119,GB
@@ -92428,6 +112064,7 @@
3261775872,3261776383,PL
3261776384,3261777407,RU
3261777408,3261777663,IR
+3261777664,3261777919,GB
3261777920,3261778431,PL
3261778432,3261778943,RU
3261778944,3261779455,RO
@@ -92461,7 +112098,8 @@
3261822464,3261822719,GB
3261822720,3261822975,SE
3261822976,3261823231,PL
-3261823232,3261823743,NL
+3261823232,3261823487,NL
+3261823488,3261823743,RO
3261823744,3261823999,BE
3261824000,3261824255,PL
3261824256,3261824511,RU
@@ -92473,14 +112111,17 @@
3261867956,3261923327,CZ
3261923328,3261988863,NL
3261988864,3261989119,SE
-3261989120,3261993471,FI
+3261989120,3261990399,FI
+3261990400,3261990655,UA
+3261990656,3261993471,FI
3261993472,3261993727,RU
3261993728,3261995263,FI
3261995264,3261995519,DE
3261995520,3261995775,PL
3261995776,3261996031,FI
3261996032,3261996287,NL
-3261996288,3262005759,FI
+3261996288,3262005247,FI
+3262005248,3262005759,PL
3262005760,3262006015,RU
3262006016,3262006271,NL
3262006272,3262006527,RO
@@ -92511,20 +112152,21 @@
3262023936,3262027263,FI
3262027264,3262027519,TR
3262027520,3262027775,BE
-3262027776,3262029823,FI
+3262027776,3262028287,RU
+3262028288,3262028543,FR
+3262028544,3262028799,AE
+3262028800,3262029823,DE
3262029824,3262030847,US
3262030848,3262031871,FR
-3262031872,3262034047,FI
-3262034048,3262034119,AX
+3262031872,3262034111,FI
+3262034112,3262034119,AX
3262034120,3262034123,FI
3262034124,3262034127,AX
3262034128,3262034143,FI
3262034144,3262034191,AX
3262034192,3262034239,FI
3262034240,3262034287,AX
-3262034288,3262034431,FI
-3262034432,3262034447,AX
-3262034448,3262034455,FI
+3262034288,3262034455,FI
3262034456,3262034463,AX
3262034464,3262034527,FI
3262034528,3262034567,AX
@@ -92532,19 +112174,15 @@
3262034576,3262034591,AX
3262034592,3262034687,FI
3262034688,3262034723,AX
-3262034724,3262034783,FI
-3262034784,3262034791,AX
-3262034792,3262034799,FI
+3262034724,3262034799,FI
3262034800,3262034807,AX
3262034808,3262034815,FI
3262034816,3262034831,AX
-3262034832,3262034839,FI
-3262034840,3262034847,AX
-3262034848,3262034943,FI
+3262034832,3262034943,FI
3262034944,3262035455,AX
3262035456,3262035487,FI
-3262035488,3262035551,AX
-3262035552,3262035711,FI
+3262035488,3262035519,AX
+3262035520,3262035711,FI
3262035712,3262035967,AX
3262035968,3262036127,FI
3262036128,3262036139,AX
@@ -92615,9 +112253,7 @@
3262053632,3262053887,RU
3262053888,3262054143,UA
3262054144,3262054399,RU
-3262054400,3262096127,FI
-3262096128,3262096383,AX
-3262096384,3262099199,FI
+3262054400,3262099199,FI
3262099200,3262099455,NL
3262099456,3262108671,FI
3262108672,3262108927,RU
@@ -92632,7 +112268,9 @@
3262121600,3262121663,FI
3262121664,3262122007,AX
3262122008,3262122015,FI
-3262122016,3262122047,AX
+3262122016,3262122031,AX
+3262122032,3262122039,FI
+3262122040,3262122047,AX
3262122048,3262122143,FI
3262122144,3262122159,AX
3262122160,3262122167,FI
@@ -92716,6 +112354,9 @@
3262283776,3262284799,RU
3262284800,3262286847,UA
3262286848,3262287871,SE
+3262287872,3262288127,MD
+3262288128,3262288383,FR
+3262288384,3262288895,IL
3262288896,3262289919,PL
3262289920,3262316543,SE
3262316544,3262348799,DE
@@ -92740,6 +112381,8 @@
3262424064,3262424575,IT
3262424576,3262424831,PL
3262424832,3262425087,GB
+3262425088,3262425343,GR
+3262425344,3262425599,RU
3262425600,3262426111,UA
3262426112,3262426623,DE
3262426624,3262427135,GB
@@ -92810,8 +112453,7 @@
3262472292,3262472295,FR
3262472296,3262472311,DE
3262472312,3262472315,NL
-3262472316,3262472331,DE
-3262472332,3262472335,SE
+3262472316,3262472335,DE
3262472336,3262472339,US
3262472340,3262472351,DE
3262472352,3262472355,NL
@@ -92871,8 +112513,7 @@
3262472620,3262472623,TR
3262472624,3262472631,DE
3262472632,3262472635,ES
-3262472636,3262472651,DE
-3262472652,3262472655,FR
+3262472636,3262472655,DE
3262472656,3262472659,GB
3262472660,3262472663,IT
3262472664,3262472667,ES
@@ -93030,9 +112671,7 @@
3262473736,3262473736,CA
3262473737,3262473771,US
3262473772,3262473772,DE
-3262473773,3262473781,US
-3262473782,3262473782,PR
-3262473783,3262473785,US
+3262473773,3262473785,US
3262473786,3262473855,DE
3262473856,3262473859,US
3262473860,3262473903,DE
@@ -93254,9 +112893,7 @@
3262475043,3262475043,DE
3262475044,3262475044,US
3262475045,3262475045,BR
-3262475046,3262475057,US
-3262475058,3262475058,PR
-3262475059,3262475065,US
+3262475046,3262475065,US
3262475066,3262475068,MX
3262475069,3262475072,US
3262475073,3262475075,BR
@@ -93876,8 +113513,7 @@
3262478147,3262478147,FR
3262478148,3262478148,KZ
3262478149,3262478149,UA
-3262478150,3262478150,SA
-3262478151,3262478151,DE
+3262478150,3262478151,DE
3262478152,3262478152,PL
3262478153,3262478153,TR
3262478154,3262478154,DE
@@ -93984,7 +113620,7 @@
3262478385,3262478385,ZA
3262478386,3262478386,DE
3262478387,3262478387,IT
-3262478388,3262478388,GR
+3262478388,3262478388,DE
3262478389,3262478389,CH
3262478390,3262478390,ES
3262478391,3262478391,HU
@@ -94031,9 +113667,7 @@
3262478443,3262478443,DE
3262478444,3262478444,AT
3262478445,3262478445,PT
-3262478446,3262478447,DE
-3262478448,3262478448,ZA
-3262478449,3262478449,DE
+3262478446,3262478449,DE
3262478450,3262478450,TR
3262478451,3262478451,FR
3262478452,3262478452,IL
@@ -94382,9 +114016,7 @@
3262478947,3262478947,DE
3262478948,3262478948,IT
3262478949,3262478949,SE
-3262478950,3262478952,DE
-3262478953,3262478953,AT
-3262478954,3262478954,DE
+3262478950,3262478954,DE
3262478955,3262478955,FR
3262478956,3262478956,DE
3262478957,3262478957,PT
@@ -94407,7 +114039,7 @@
3262478983,3262478983,NL
3262478984,3262478984,CH
3262478985,3262478985,PT
-3262478986,3262478986,NL
+3262478986,3262478986,DE
3262478987,3262478987,GB
3262478988,3262478988,IE
3262478989,3262478989,NL
@@ -94464,7 +114096,8 @@
3262479059,3262479059,IT
3262479060,3262479062,DE
3262479063,3262479063,CH
-3262479064,3262479065,FR
+3262479064,3262479064,FR
+3262479065,3262479065,DE
3262479066,3262479066,IT
3262479067,3262479067,DE
3262479068,3262479068,ES
@@ -95107,9 +114740,7 @@
3262479988,3262479988,FR
3262479989,3262479989,DE
3262479990,3262479990,NL
-3262479991,3262479993,DE
-3262479994,3262479994,CH
-3262479995,3262479995,DE
+3262479991,3262479995,DE
3262479996,3262479996,NL
3262479997,3262480001,DE
3262480002,3262480002,BE
@@ -95220,9 +114851,7 @@
3262480179,3262480179,DE
3262480180,3262480180,FR
3262480181,3262480181,ES
-3262480182,3262480182,DE
-3262480183,3262480183,SE
-3262480184,3262480184,DE
+3262480182,3262480184,DE
3262480185,3262480185,FR
3262480186,3262480186,PT
3262480187,3262480187,DE
@@ -95374,6 +115003,7 @@
3262510080,3262511103,FR
3262511104,3262511615,GB
3262511616,3262512127,DE
+3262512128,3262512639,UA
3262512640,3262513151,DE
3262513152,3262578687,AT
3262578688,3262611455,FR
@@ -95600,18 +115230,28 @@
3263430656,3263436543,SE
3263436544,3263436799,ES
3263436800,3263437311,GB
-3263437312,3263458047,SE
+3263437312,3263443967,SE
+3263443968,3263444479,EU
+3263444480,3263458047,SE
3263458048,3263458303,DE
3263458304,3263459583,SE
3263459584,3263459839,FR
3263459840,3263461631,SE
3263461632,3263461887,AE
-3263461888,3263477759,SE
+3263461888,3263469567,SE
+3263469568,3263470591,SG
+3263470592,3263472127,SE
+3263472128,3263472383,SG
+3263472384,3263475711,SE
+3263475712,3263476735,JP
+3263476736,3263477759,SE
3263477760,3263478015,JP
3263478016,3263478271,AU
3263478272,3263478527,SE
3263478528,3263478783,ES
-3263478784,3263496191,SE
+3263478784,3263480831,SE
+3263480832,3263481855,JP
+3263481856,3263496191,SE
3263496192,3263497983,EU
3263497984,3263498239,GB
3263498240,3263498751,EU
@@ -95711,20 +115351,7 @@
3263561216,3263561231,TR
3263561232,3263561727,EU
3263561728,3263627263,NL
-3263627264,3263657471,RU
-3263657472,3263657727,KZ
-3263657728,3263684351,RU
-3263684352,3263684607,UA
-3263684608,3263688959,RU
-3263688960,3263689215,UA
-3263689216,3263689471,RU
-3263689472,3263689727,UA
-3263689728,3263689983,RU
-3263689984,3263690239,UA
-3263690240,3263691775,RU
-3263691776,3263692031,UA
-3263692032,3263692287,RU
-3263692288,3263692799,UA
+3263627264,3263692799,RU
3263692800,3263760127,FI
3263760128,3263760383,SE
3263760384,3263764991,FI
@@ -95739,9 +115366,7 @@
3263792352,3263792367,SE
3263792368,3263793151,FI
3263793152,3263793407,BE
-3263793408,3263815123,FI
-3263815124,3263815127,AX
-3263815128,3263816703,FI
+3263793408,3263816703,FI
3263816704,3263816959,ES
3263816960,3263817215,NL
3263817216,3263823871,FI
@@ -95780,18 +115405,14 @@
3264019968,3264020223,AT
3264020224,3264020479,PL
3264020480,3264086015,BG
-3264086016,3264092287,FI
-3264092288,3264092295,AX
-3264092296,3264099839,FI
+3264086016,3264099839,FI
3264099840,3264100095,GB
3264100096,3264124927,FI
3264124928,3264125183,DE
3264125184,3264125439,NL
3264125440,3264125695,FI
3264125696,3264125951,BE
-3264125952,3264129271,FI
-3264129272,3264129279,AX
-3264129280,3264133375,FI
+3264125952,3264133375,FI
3264133376,3264133631,SE
3264133632,3264151551,FI
3264151552,3264184319,NO
@@ -95866,7 +115487,6 @@
3264334336,3264334847,UA
3264334848,3264335359,PL
3264335360,3264335871,SK
-3264335872,3264336383,CY
3264336384,3264336895,GB
3264336896,3264337407,RU
3264337408,3264338431,UA
@@ -95907,7 +115527,8 @@
3264378880,3264379135,PL
3264379136,3264379391,BE
3264379392,3264379647,RU
-3264379648,3264380159,DE
+3264379648,3264379903,PL
+3264379904,3264380159,DE
3264380160,3264380415,RO
3264380416,3264380671,CH
3264380672,3264380927,NL
@@ -95942,7 +115563,9 @@
3264411648,3264413695,PL
3264413696,3264431103,CH
3264431104,3264431615,LI
-3264431616,3264446207,CH
+3264431616,3264441343,CH
+3264441344,3264441599,PL
+3264441600,3264446207,CH
3264446208,3264446463,FR
3264446464,3264447743,CH
3264447744,3264447999,DE
@@ -95992,24 +115615,70 @@
3264613312,3264613375,GB
3264613376,3264613887,NL
3264613888,3264613895,GB
-3264613896,3264613903,NL
-3264613904,3264614399,GB
+3264613896,3264613919,NL
+3264613920,3264613935,GB
+3264613936,3264613943,NL
+3264613944,3264614399,GB
3264614400,3264614655,NL
3264614656,3264614911,SE
-3264614912,3264615423,GB
+3264614912,3264615167,GB
+3264615168,3264615423,SE
3264615424,3264615735,CH
-3264615736,3264616447,GB
-3264616448,3264616463,DE
-3264616464,3264616575,GB
+3264615736,3264615743,GB
+3264615744,3264615775,CH
+3264615776,3264615807,GB
+3264615808,3264615823,CH
+3264615824,3264615839,GB
+3264615840,3264615871,CH
+3264615872,3264615879,GB
+3264615880,3264615887,CH
+3264615888,3264615903,GB
+3264615904,3264615935,CH
+3264615936,3264616191,GB
+3264616192,3264616447,CH
+3264616448,3264616479,DE
+3264616480,3264616503,GB
+3264616504,3264616511,DE
+3264616512,3264616575,GB
3264616576,3264616703,DE
3264616704,3264616959,GB
3264616960,3264617471,DE
-3264617472,3264618239,GB
+3264617472,3264617727,US
+3264617728,3264618239,GB
3264618240,3264618495,US
3264618496,3264618751,PL
-3264618752,3264622847,GB
+3264618752,3264619007,GB
+3264619008,3264619311,BE
+3264619312,3264619327,GB
+3264619328,3264619359,BE
+3264619360,3264620543,GB
+3264620544,3264620607,FR
+3264620608,3264620631,GB
+3264620632,3264620679,FR
+3264620680,3264620687,ES
+3264620688,3264620695,FR
+3264620696,3264620703,GB
+3264620704,3264620735,FR
+3264620736,3264620799,GB
+3264620800,3264621567,FR
+3264621568,3264621583,DE
+3264621584,3264621823,GB
+3264621824,3264622079,DE
+3264622080,3264622335,GB
+3264622336,3264622591,DE
+3264622592,3264622847,GB
3264622848,3264623103,FR
-3264623104,3264626687,GB
+3264623104,3264623615,BG
+3264623616,3264623871,BE
+3264623872,3264624127,GB
+3264624128,3264624143,GI
+3264624144,3264624383,GB
+3264624384,3264624639,MT
+3264624640,3264624671,NL
+3264624672,3264624895,GB
+3264624896,3264625151,NL
+3264625152,3264626431,GB
+3264626432,3264626687,NL
3264626688,3264627711,EE
3264627712,3264628735,GR
3264628736,3264630783,UA
@@ -96077,11 +115746,10 @@
3264751104,3264751615,DK
3264751616,3264752127,GB
3264752128,3264752639,RO
-3264752640,3264753151,NL
+3264752640,3264753151,AE
3264753152,3264753663,PL
3264753664,3264754175,IT
3264754176,3264754687,PL
-3264754688,3264755199,RU
3264755200,3264755711,DE
3264755712,3264756223,PL
3264756224,3264756735,FI
@@ -96113,7 +115781,6 @@
3264831232,3264831487,PL
3264831488,3264831743,CH
3264831744,3264831999,FR
-3264832000,3264832255,AT
3264832256,3264832511,IT
3264832512,3264832767,DE
3264832768,3264833023,IL
@@ -96149,7 +115816,6 @@
3264846592,3264846719,US
3264846720,3264846847,RU
3264846848,3264846911,DK
-3264847040,3264847103,GB
3264847104,3264847135,FR
3264847136,3264847167,ES
3264847168,3264847199,IE
@@ -96168,7 +115834,8 @@
3264850688,3264850943,LV
3264850944,3264851967,IT
3264851968,3264854015,CH
-3264854016,3264854783,DE
+3264854272,3264854527,DE
+3264854528,3264854783,EU
3264854784,3264855039,IT
3264855040,3264855551,CH
3264855552,3264856063,DE
@@ -96186,9 +115853,7 @@
3264905216,3264908799,CY
3264908800,3264909055,GB
3264909056,3264913407,CY
-3264913408,3264917247,GB
-3264917248,3264917375,NL
-3264917376,3264921599,GB
+3264913408,3264921599,GB
3264921600,3264922303,LU
3264922304,3264922319,SA
3264922320,3264929791,LU
@@ -96267,11 +115932,7 @@
3265386496,3265387519,NL
3265387520,3265388543,EU
3265388544,3265396735,GB
-3265396736,3265417919,DE
-3265417920,3265417927,A2
-3265417928,3265418503,DE
-3265418504,3265418511,A2
-3265418512,3265464847,DE
+3265396736,3265464847,DE
3265464848,3265464863,AT
3265464864,3265465343,DE
3265465344,3265465599,AT
@@ -96281,7 +115942,9 @@
3265527056,3265527059,ES
3265527060,3265527063,DE
3265527064,3265527071,SE
-3265527072,3265527807,DE
+3265527072,3265527087,DE
+3265527088,3265527095,SE
+3265527096,3265527807,DE
3265527808,3265569279,GB
3265569280,3265569791,AE
3265569792,3265582335,GB
@@ -96306,7 +115969,6 @@
3265603328,3265603583,MD
3265603584,3265603839,DE
3265603840,3265604095,PL
-3265604096,3265604351,SA
3265604352,3265604607,FR
3265604608,3265604863,CH
3265604864,3265605119,RU
@@ -96314,6 +115976,7 @@
3265605376,3265605631,CZ
3265605632,3265605887,PL
3265605888,3265606143,FR
+3265606144,3265606399,RU
3265606400,3265606655,NL
3265606656,3265606911,AT
3265606912,3265607167,RU
@@ -96477,7 +116140,9 @@
3266420736,3266428927,GB
3266428928,3266437119,GR
3266437120,3266445311,GL
-3266445312,3266510847,NL
+3266445312,3266473807,NL
+3266473808,3266473823,GB
+3266473824,3266510847,NL
3266510848,3266543615,ES
3266543616,3266576383,IT
3266576384,3266617327,DE
@@ -96492,17 +116157,24 @@
3266789376,3266796543,SM
3266796544,3266796799,IT
3266796800,3266797567,SM
-3266797568,3266799103,GB
+3266797568,3266797823,ES
+3266797824,3266798591,GB
+3266798592,3266798847,CZ
+3266798848,3266799103,GB
3266799104,3266799615,NL
-3266799616,3266800895,GB
-3266800896,3266801151,NL
-3266801152,3266801487,GB
+3266799616,3266801487,GB
3266801488,3266801503,NL
-3266801504,3266803815,GB
+3266801504,3266801663,GB
+3266801664,3266801919,BG
+3266801920,3266802687,GB
+3266802688,3266802943,FR
+3266802944,3266803815,GB
3266803816,3266803823,NL
3266803824,3266804223,GB
3266804224,3266804479,NL
-3266804480,3266805759,GB
+3266804480,3266804735,GB
+3266804736,3266804991,DK
+3266804992,3266805759,GB
3266805760,3266813951,AT
3266813952,3266822143,UA
3266822144,3266830335,FR
@@ -96542,7 +116214,7 @@
3267059712,3267060735,NL
3267060736,3267061759,LV
3267061760,3267063807,UA
-3267063808,3267064831,DE
+3267063808,3267064831,BE
3267064832,3267065855,PL
3267065856,3267066879,RO
3267066880,3267067903,IT
@@ -96576,9 +116248,7 @@
3267097600,3267098623,KZ
3267098624,3267099647,GB
3267099648,3267100671,IT
-3267100672,3267117311,FI
-3267117312,3267118079,AX
-3267118080,3267166207,FI
+3267100672,3267166207,FI
3267166208,3267231743,GB
3267231744,3267297279,RU
3267297280,3267362815,CH
@@ -96669,7 +116339,9 @@
3267557888,3267558399,IL
3267558400,3267558911,CH
3267558912,3267559423,AT
-3267559424,3267622527,DE
+3267559424,3267561727,DE
+3267561728,3267561759,GB
+3267561760,3267622527,DE
3267622528,3267622559,GB
3267622560,3267624959,DE
3267624960,3267625471,GB
@@ -96703,8 +116375,7 @@
3267630080,3267630591,GB
3267630592,3267630847,SK
3267630848,3267630863,IT
-3267630864,3267630879,EU
-3267630880,3267630943,FR
+3267630864,3267630943,FR
3267630944,3267630959,EU
3267630960,3267631055,IT
3267631056,3267631071,GB
@@ -96839,21 +116510,17 @@
3267659520,3267659775,IT
3267659776,3267660287,EU
3267660288,3267660543,CH
-3267660544,3267660575,ES
-3267660576,3267660591,EU
-3267660592,3267660671,ES
+3267660544,3267660671,ES
3267660672,3267661311,EU
3267661312,3267661567,SK
-3267661568,3267661583,GB
-3267661584,3267661599,EU
-3267661600,3267661679,GB
+3267661568,3267661679,GB
3267661680,3267661695,EU
3267661696,3267661823,GB
-3267661824,3267661847,ES
-3267661848,3267661855,EU
+3267661824,3267661851,ES
+3267661852,3267661855,EU
3267661856,3267661887,ES
-3267661888,3267662023,EU
-3267662024,3267662039,ES
+3267661888,3267662015,EU
+3267662016,3267662039,ES
3267662040,3267662047,EU
3267662048,3267662079,ES
3267662080,3267662847,EU
@@ -96996,7 +116663,9 @@
3267685376,3267685887,NL
3267685888,3267686399,CH
3267686400,3267687935,EU
-3267687936,3267688191,IE
+3267687936,3267687999,IE
+3267688000,3267688063,EU
+3267688064,3267688191,IE
3267688192,3267688703,DE
3267688704,3267688959,SE
3267688960,3267689215,EU
@@ -97017,21 +116686,16 @@
3267710972,3267710975,SE
3267710976,3267711999,FI
3267712000,3267712255,SE
-3267712256,3267729311,FI
-3267729312,3267729343,AX
-3267729344,3267741439,FI
+3267712256,3267741439,FI
3267741440,3267741695,BE
3267741696,3267741759,FI
3267741760,3267741791,SE
3267741792,3267741855,FI
3267741856,3267741919,SE
-3267741920,3267743743,FI
-3267743744,3267743999,AX
+3267741920,3267743999,FI
3267744000,3267744255,DE
3267744256,3267744511,BE
-3267744512,3267745615,FI
-3267745616,3267745619,AX
-3267745620,3267746303,FI
+3267744512,3267746303,FI
3267746304,3267746559,NL
3267746560,3267756031,FI
3267756032,3267760639,SE
@@ -97141,8 +116805,8 @@
3268236608,3268236671,EU
3268236672,3268236799,GB
3268236800,3268237823,EU
-3268237824,3268237847,GB
-3268237848,3268237855,EU
+3268237824,3268237839,GB
+3268237840,3268237855,EU
3268237856,3268237887,GB
3268237888,3268238335,EU
3268238336,3268238359,GB
@@ -97308,8 +116972,8 @@
3268271936,3268272703,EU
3268272704,3268272711,GB
3268272712,3268272727,EU
-3268272728,3268272743,GB
-3268272744,3268273023,EU
+3268272728,3268272735,GB
+3268272736,3268273023,EU
3268273024,3268273151,GB
3268273152,3268274111,EU
3268274112,3268274175,GB
@@ -97422,9 +117086,7 @@
3268881152,3268881407,SE
3268881408,3268881919,FI
3268881920,3268882175,SE
-3268882176,3268897519,FI
-3268897520,3268897535,AX
-3268897536,3268916223,FI
+3268882176,3268916223,FI
3268916224,3268916479,GB
3268916480,3268920575,FI
3268920576,3268920831,SE
@@ -97442,13 +117104,7 @@
3269131556,3269131559,NO
3269131560,3269132287,SE
3269132288,3269197823,GR
-3269197824,3269200639,RU
-3269200640,3269200895,UA
-3269200896,3269212671,RU
-3269212672,3269213183,UA
-3269213184,3269239039,RU
-3269239040,3269239295,UA
-3269239296,3269263359,RU
+3269197824,3269263359,RU
3269263360,3269264639,EU
3269264640,3269264895,DE
3269264896,3269265855,EU
@@ -97486,7 +117142,8 @@
3269280128,3269280767,NL
3269280768,3269281023,GB
3269281024,3269281279,DE
-3269281280,3269282047,EU
+3269281280,3269281343,FR
+3269281344,3269282047,EU
3269282048,3269282303,DE
3269282304,3269282559,GB
3269282560,3269282815,FR
@@ -97519,8 +117176,8 @@
3269290736,3269290743,DE
3269290744,3269291263,EU
3269291264,3269291519,DE
-3269291520,3269291559,GB
-3269291560,3269291583,EU
+3269291520,3269291567,GB
+3269291568,3269291583,EU
3269291584,3269291647,GB
3269291648,3269291775,EU
3269291776,3269292287,ES
@@ -97586,9 +117243,7 @@
3269322240,3269322495,DE
3269322496,3269322655,EU
3269322656,3269322671,DE
-3269322672,3269322679,EU
-3269322680,3269322683,DE
-3269322684,3269322751,EU
+3269322672,3269322751,EU
3269322752,3269323263,DE
3269323264,3269326847,EU
3269326848,3269326855,DE
@@ -97629,7 +117284,9 @@
3270062192,3270062195,ES
3270062196,3270078391,DE
3270078392,3270078395,ES
-3270078396,3270115327,DE
+3270078396,3270100735,DE
+3270100736,3270100767,GB
+3270100768,3270115327,DE
3270115328,3270117503,EU
3270117504,3270117631,DK
3270117632,3270122239,EU
@@ -97785,9 +117442,7 @@
3270369928,3270377471,SE
3270377472,3270443007,GB
3270443008,3270508543,DK
-3270508544,3270522367,FI
-3270522368,3270522623,AX
-3270522624,3270639615,FI
+3270508544,3270639615,FI
3270639616,3270640127,PL
3270640128,3270642175,RU
3270642176,3270642687,NO
@@ -97827,7 +117482,8 @@
3270655232,3270655487,IT
3270655488,3270655743,PL
3270655744,3270655999,CH
-3270656000,3270664191,NL
+3270656000,3270660095,EU
+3270660096,3270664191,NL
3270664192,3270666239,UA
3270666240,3270667263,PL
3270667264,3270668287,SE
@@ -97838,7 +117494,9 @@
3270680576,3270688767,FR
3270688768,3270772079,IT
3270772080,3270772087,NL
-3270772088,3270781343,IT
+3270772088,3270775039,IT
+3270775040,3270775295,EU
+3270775296,3270781343,IT
3270781344,3270781359,RO
3270781360,3270808127,IT
3270808128,3270808159,LU
@@ -97848,7 +117506,12 @@
3270911872,3270911935,DE
3270911936,3270911967,PL
3270911968,3270911999,NL
-3270912000,3270926335,DE
+3270912000,3270920703,DE
+3270920704,3270921215,UA
+3270921216,3270921471,DK
+3270921472,3270921727,UA
+3270921728,3270922239,GB
+3270922240,3270926335,DE
3270926336,3270926591,US
3270926592,3270926847,CH
3270926848,3270927103,PL
@@ -97920,7 +117583,7 @@
3271010816,3271011327,GB
3271011328,3271013375,UA
3271013376,3271013887,FR
-3271013888,3271014399,UA
+3271013888,3271014399,CZ
3271014400,3271014911,RU
3271014912,3271015423,RO
3271015424,3271015935,DK
@@ -97936,9 +117599,7 @@
3271163904,3271200767,FR
3271200768,3271200775,GB
3271200776,3271229439,FR
-3271229440,3271244191,FI
-3271244192,3271244223,AX
-3271244224,3271247867,FI
+3271229440,3271247867,FI
3271247868,3271247871,AX
3271247872,3271249919,FI
3271249920,3271250175,SE
@@ -97950,15 +117611,9 @@
3271280720,3271280735,SE
3271280736,3271290623,FI
3271290624,3271290879,BE
-3271290880,3271299071,FI
-3271299072,3271299199,AX
-3271299200,3271301631,FI
-3271301632,3271302143,AX
-3271302144,3271310079,FI
+3271290880,3271310079,FI
3271310080,3271310335,DE
-3271310336,3271324031,FI
-3271324032,3271324063,AX
-3271324064,3271360511,FI
+3271310336,3271360511,FI
3271360512,3271363407,GB
3271363408,3271363415,AT
3271363416,3271363423,GB
@@ -98093,19 +117748,23 @@
3271426304,3271491583,FR
3271491584,3271495679,DK
3271495680,3271495807,SE
-3271495808,3271501567,DK
+3271495808,3271497087,DK
+3271497088,3271497215,SE
+3271497216,3271501567,DK
3271501568,3271501575,SE
3271501576,3271501663,DK
3271501664,3271501679,DE
3271501680,3271501695,SE
-3271501696,3271557119,DK
+3271501696,3271501783,DK
+3271501784,3271501791,SE
+3271501792,3271557119,DK
3271557120,3271589887,BE
3271589888,3271688191,NO
3271688192,3271691775,EU
3271691776,3271692031,US
3271692032,3271692287,GB
-3271692288,3271694847,EU
-3271694848,3271695103,GB
+3271692288,3271694591,EU
+3271694592,3271695103,GB
3271695104,3271696383,EU
3271696384,3271698431,GB
3271698432,3271704575,EU
@@ -98136,8 +117795,7 @@
3271748608,3271749119,UA
3271749120,3271750143,RU
3271750144,3271750655,UA
-3271750656,3271750783,NL
-3271750784,3271751167,GB
+3271750656,3271751167,GB
3271751168,3271751679,RO
3271751680,3271752191,NL
3271752192,3271752703,GB
@@ -98177,9 +117835,7 @@
3271818240,3271819263,RU
3271819264,3271821246,DE
3271821247,3271821247,AT
-3271821248,3271847487,DE
-3271847488,3271847495,US
-3271847496,3271884799,DE
+3271821248,3271884799,DE
3271884800,3271901183,UA
3271901184,3271909375,ES
3271909376,3271909887,RO
@@ -98188,7 +117844,6 @@
3271910912,3271911423,LV
3271911424,3271911935,LI
3271911936,3271912959,UA
-3271912960,3271913471,NL
3271913472,3271913983,NO
3271913984,3271914495,RO
3271914496,3271915007,ES
@@ -98215,7 +117870,6 @@
3271929856,3271930111,PL
3271930112,3271930367,HU
3271930368,3271930623,RU
-3271930624,3271930879,GB
3271930880,3271931135,CH
3271931136,3271931647,PL
3271931648,3271931903,NO
@@ -98309,7 +117963,7 @@
3272111872,3272112383,RO
3272112384,3272113151,DE
3272113152,3272113407,FR
-3272113664,3272113919,GB
+3272113408,3272113919,GB
3272113920,3272114175,AT
3272114176,3272122367,PL
3272122368,3272131071,GB
@@ -98329,11 +117983,7 @@
3272137728,3272138239,PL
3272138240,3272138751,BG
3272138752,3272146943,DE
-3272146944,3272161023,RU
-3272161024,3272161279,KZ
-3272161280,3272178559,RU
-3272178560,3272178623,UA
-3272178624,3272212479,RU
+3272146944,3272212479,RU
3272212480,3272212991,GB
3272212992,3272213375,ES
3272213376,3272213391,IT
@@ -98342,8 +117992,8 @@
3272213408,3272213415,NL
3272213416,3272213423,ES
3272213424,3272213431,NL
-3272213432,3272213455,GB
-3272213456,3272213471,ES
+3272213432,3272213439,GB
+3272213440,3272213471,ES
3272213472,3272213487,CY
3272213488,3272213495,GB
3272213496,3272213503,ES
@@ -98444,8 +118094,7 @@
3272219904,3272220159,DE
3272220160,3272220415,FR
3272220416,3272221183,GB
-3272221184,3272221375,NL
-3272221376,3272221439,EU
+3272221184,3272221439,NL
3272221440,3272221447,SE
3272221448,3272221455,NO
3272221456,3272221463,SE
@@ -98472,12 +118121,11 @@
3272224384,3272224511,EU
3272224512,3272225279,GB
3272225280,3272225535,IT
-3272225536,3272225591,GB
-3272225592,3272225791,IT
+3272225536,3272225791,GB
3272225792,3272226047,EU
3272226048,3272226815,FR
3272226816,3272227071,GB
-3272227072,3272227327,NL
+3272227072,3272227327,FR
3272227328,3272227359,US
3272227360,3272227511,GB
3272227512,3272227519,EU
@@ -98487,7 +118135,7 @@
3272228096,3272228223,GB
3272228224,3272228351,ES
3272228352,3272228607,FR
-3272228608,3272228623,NL
+3272228608,3272228623,EU
3272228624,3272228631,CY
3272228632,3272228639,NL
3272228640,3272228671,IT
@@ -98517,7 +118165,9 @@
3272241296,3272241303,GB
3272241304,3272241311,IM
3272241312,3272241335,GB
-3272241336,3272241407,IM
+3272241336,3272241343,IM
+3272241344,3272241375,GB
+3272241376,3272241407,IM
3272241408,3272241518,GB
3272241519,3272241599,IM
3272241600,3272241663,GB
@@ -98540,9 +118190,7 @@
3272243232,3272243263,IM
3272243264,3272243327,GB
3272243328,3272243455,IM
-3272243456,3272243967,GB
-3272243968,3272244007,IM
-3272244008,3272244015,GB
+3272243456,3272244015,GB
3272244016,3272244031,IM
3272244032,3272244039,GB
3272244040,3272244047,IM
@@ -98601,8 +118249,8 @@
3272376320,3272376447,SK
3272376448,3272376479,SR
3272376480,3272376495,SK
-3272376496,3272376519,SR
-3272376520,3272376535,SK
+3272376496,3272376527,SR
+3272376528,3272376535,SK
3272376536,3272376543,SR
3272376544,3272376607,SK
3272376608,3272376639,SR
@@ -98615,15 +118263,15 @@
3272378202,3272384511,SK
3272384512,3272392703,LT
3272392704,3272400895,AT
-3272400896,3272400903,EU
-3272400904,3272400927,GB
+3272400896,3272400911,EU
+3272400912,3272400927,GB
3272400928,3272401023,EU
3272401024,3272401087,GB
3272401088,3272401279,EU
3272401280,3272401407,NL
-3272401408,3272401919,ES
+3272401408,3272401919,EU
3272401920,3272401951,GB
-3272401952,3272401967,EU
+3272401952,3272401967,SE
3272401968,3272401983,GB
3272401984,3272402031,DE
3272402032,3272402039,GB
@@ -98850,7 +118498,8 @@
3272896512,3272897535,DE
3272897536,3272898047,FI
3272898048,3272898559,UA
-3272898560,3272899071,DE
+3272898560,3272899327,DE
+3272899328,3272899583,PL
3272899584,3272900095,UA
3272900096,3272900607,LV
3272900608,3272900863,RU
@@ -98904,14 +118553,10 @@
3272923648,3272924159,PL
3272924160,3272924671,DE
3272924672,3272925183,GB
-3272925184,3272931135,DE
-3272931136,3272931151,GB
-3272931152,3272933375,DE
+3272925184,3272933375,DE
3272933376,3272940287,GB
3272940288,3272940543,DE
-3272940544,3272964351,GB
-3272964352,3272964607,DE
-3272964608,3272998911,GB
+3272940544,3272998911,GB
3272998912,3273007103,PT
3273007104,3273015295,CZ
3273015296,3273023487,SE
@@ -99015,6 +118660,7 @@
3273265152,3273266175,UA
3273266176,3273266687,LV
3273266688,3273267455,PL
+3273267456,3273267711,CZ
3273267712,3273268223,GB
3273268224,3273268735,SE
3273268736,3273269247,RU
@@ -99044,11 +118690,15 @@
3273327424,3273327511,GB
3273327512,3273327519,EU
3273327520,3273327551,IE
-3273327552,3273328511,EU
+3273327552,3273327583,GB
+3273327584,3273327615,IE
+3273327616,3273328511,EU
3273328512,3273328639,DE
3273328640,3273329199,GB
3273329200,3273329215,DE
-3273329216,3273329327,GB
+3273329216,3273329279,GB
+3273329280,3273329311,EU
+3273329312,3273329327,GB
3273329328,3273329407,EU
3273329408,3273329423,GB
3273329424,3273329439,DE
@@ -99185,9 +118835,7 @@
3273371872,3273371875,DE
3273371876,3273371999,EU
3273372000,3273372055,DE
-3273372056,3273372143,EU
-3273372144,3273372151,DE
-3273372152,3273372671,EU
+3273372056,3273372671,EU
3273372672,3273372927,GB
3273372928,3273373183,NL
3273373184,3273373455,GB
@@ -99255,7 +118903,7 @@
3273391104,3273391359,DE
3273391360,3273391871,EU
3273391872,3273392127,DE
-3273392128,3273392639,UA
+3273392128,3273392639,PL
3273392640,3273393663,RO
3273393664,3273394175,BG
3273394176,3273394687,RO
@@ -99283,14 +118931,13 @@
3273437184,3273437695,RO
3273437696,3273438207,PL
3273438208,3273438719,IL
-3273438720,3273439231,PL
3273439232,3273439743,RO
3273439744,3273440255,DE
3273440256,3273440767,RO
3273440768,3273441279,AT
3273441280,3273443327,GB
-3273443328,3273443839,FR
-3273443840,3273449471,GB
+3273443328,3273444095,FR
+3273444096,3273449471,GB
3273449472,3273457663,CH
3273457664,3273523199,HR
3273523200,3273588735,DE
@@ -99311,7 +118958,8 @@
3273727152,3273727999,GB
3273728000,3273728255,NL
3273728256,3273728511,GB
-3273728512,3273732095,NL
+3273728512,3273729023,NL
+3273729024,3273732095,EU
3273732096,3273736191,GB
3273736192,3273743359,FR
3273743360,3273743615,JO
@@ -99380,9 +119028,9 @@
3273878016,3273878271,FR
3273878272,3273878527,LV
3273878528,3273879039,DE
-3273879040,3273879551,EU
+3273879040,3273879551,BE
3273879552,3273880063,GB
-3273880064,3273880575,LV
+3273880064,3273880575,NL
3273880576,3273881087,RU
3273881088,3273881343,RO
3273881344,3273881599,CH
@@ -99439,6 +119087,8 @@
3274172416,3274172927,UA
3274172928,3274173439,DE
3274173440,3274173951,GR
+3274173952,3274174207,GB
+3274174208,3274174463,CZ
3274174464,3274175487,UA
3274175488,3274175999,BE
3274176000,3274176511,DE
@@ -99452,9 +119102,7 @@
3274227200,3274227455,A2
3274227456,3274244095,GB
3274244096,3274309631,DK
-3274309632,3274318031,FR
-3274318032,3274318047,RU
-3274318048,3274326015,FR
+3274309632,3274326015,FR
3274326016,3274334719,RU
3274334720,3274335231,PL
3274335232,3274335743,DE
@@ -99518,7 +119166,7 @@
3274398208,3274399231,RU
3274399232,3274399743,SC
3274399744,3274407935,LU
-3274407936,3274408191,ES
+3274407936,3274408191,RU
3274408192,3274408447,IT
3274408448,3274408703,NL
3274408704,3274408959,SI
@@ -99719,7 +119367,7 @@
3274506240,3274571775,IT
3274571776,3274579967,GR
3274579968,3274580991,UA
-3274580992,3274582015,NL
+3274581504,3274581759,NL
3274582016,3274583039,PL
3274583040,3274584063,DE
3274584064,3274585087,GB
@@ -99764,6 +119412,7 @@
3274692864,3274693119,AT
3274693120,3274693375,LT
3274693376,3274693631,UA
+3274693632,3274693887,KZ
3274693888,3274694143,IT
3274694144,3274694399,DK
3274694400,3274694655,GB
@@ -100062,14 +119711,12 @@
3275423752,3275423775,EU
3275423776,3275423807,GB
3275423808,3275423871,EU
-3275423872,3275425067,GB
-3275425068,3275425071,EU
-3275425072,3275425143,GB
-3275425144,3275425791,EU
-3275425792,3275427639,GB
-3275427640,3275427647,EU
-3275427648,3275428399,GB
-3275428400,3275428415,EU
+3275423872,3275425263,GB
+3275425264,3275425279,EU
+3275425280,3275425303,GB
+3275425304,3275425791,EU
+3275425792,3275428407,GB
+3275428408,3275428415,EU
3275428416,3275428447,GB
3275428448,3275429887,EU
3275429888,3275430143,GB
@@ -100082,16 +119729,18 @@
3275430912,3275431935,EU
3275431936,3275432831,GB
3275432832,3275433983,EU
-3275433984,3275439359,GB
-3275439360,3275440127,EU
+3275433984,3275439695,GB
+3275439696,3275439711,EU
+3275439712,3275439935,GB
+3275439936,3275440127,EU
3275440128,3275440639,GB
3275440640,3275442175,EU
3275442176,3275442719,GB
3275442720,3275444223,EU
3275444224,3275444735,GB
3275444736,3275446271,EU
-3275446272,3275447135,GB
-3275447136,3275448319,EU
+3275446272,3275447151,GB
+3275447152,3275448319,EU
3275448320,3275449519,GB
3275449520,3275449527,FR
3275449528,3275450879,GB
@@ -100100,13 +119749,12 @@
3275451264,3275452415,EU
3275452416,3275454127,GB
3275454128,3275454143,EU
-3275454144,3275456383,GB
-3275456384,3275456391,EU
-3275456392,3275457023,GB
+3275454144,3275457023,GB
3275457024,3275457791,FK
3275457792,3275458559,GB
3275458560,3275460095,IE
-3275460096,3275460607,EU
+3275460096,3275460223,GB
+3275460224,3275460607,EU
3275460608,3275460863,HK
3275460864,3275463523,GB
3275463524,3275463527,EU
@@ -100120,12 +119768,24 @@
3275468768,3275468799,IE
3275468800,3275469071,GB
3275469072,3275469087,IE
-3275469088,3275473343,GB
-3275473344,3275476991,EU
-3275476992,3275477015,GB
-3275477016,3275477023,EU
-3275477024,3275477039,GB
-3275477040,3275489279,EU
+3275469088,3275474095,GB
+3275474096,3275474111,EU
+3275474112,3275474303,GB
+3275474304,3275474431,EU
+3275474432,3275474687,GB
+3275474688,3275474943,EU
+3275474944,3275475055,GB
+3275475056,3275475071,EU
+3275475072,3275475327,GB
+3275475328,3275476991,EU
+3275476992,3275477103,GB
+3275477104,3275477111,EU
+3275477112,3275477439,GB
+3275477440,3275477503,EU
+3275477504,3275477567,GB
+3275477568,3275478783,EU
+3275478784,3275479039,GB
+3275479040,3275489279,EU
3275489280,3275497471,GB
3275497472,3275505663,DE
3275505664,3275506175,PL
@@ -100151,12 +119811,10 @@
3275510656,3275510687,FR
3275510720,3275510751,GB
3275510752,3275510783,NL
-3275510784,3275510911,RU
3275510912,3275511167,GB
3275511168,3275511295,LV
3275511296,3275511551,GB
3275511552,3275511679,NL
-3275511680,3275511807,GB
3275511808,3275511935,CH
3275511936,3275512063,FR
3275512064,3275512191,CZ
@@ -100174,17 +119832,14 @@
3275513280,3275513343,DK
3275513344,3275513471,PL
3275513472,3275513599,FR
-3275513600,3275513727,PL
3275513728,3275513855,GB
-3275513856,3275514615,DE
-3275514616,3275514623,CH
-3275514624,3275522047,DE
+3275513856,3275522047,DE
3275522048,3275530239,IT
3275530240,3275530751,DK
3275530752,3275531263,AT
3275531264,3275531775,GB
3275531776,3275532287,IE
-3275532288,3275532799,CH
+3275532288,3275532799,UA
3275532800,3275533823,GB
3275533824,3275534335,UA
3275534336,3275534847,IL
@@ -100202,7 +119857,7 @@
3275543552,3275544575,NL
3275544576,3275545599,PL
3275545600,3275546623,RU
-3275546624,3275547647,UA
+3275546624,3275548671,UA
3275548672,3275549695,IL
3275549696,3275550719,SY
3275550720,3275551743,PL
@@ -100386,7 +120041,7 @@
3275627008,3275627519,AT
3275627520,3275628031,GB
3275628032,3275628543,IL
-3275628544,3275629567,RU
+3275628544,3275629055,RU
3275629568,3275630079,UA
3275630080,3275630591,RU
3275630592,3275631103,PL
@@ -100435,13 +120090,12 @@
3275789824,3275790335,PL
3275790336,3275790847,MD
3275790848,3275791359,UA
-3275791360,3275791871,RU
3275791872,3275792383,PL
3275792384,3275792895,BG
3275792896,3275793407,UA
3275793408,3275793919,FR
3275793920,3275794431,UA
-3275794432,3275794943,IT
+3275794432,3275794943,EU
3275794944,3275795455,RS
3275795456,3275795967,GR
3275795968,3275796479,PL
@@ -100539,9 +120193,7 @@
3275926288,3275926303,RS
3275926304,3275926527,ME
3275926528,3275926783,RS
-3275926784,3275928927,ME
-3275928928,3275928943,RS
-3275928944,3275929151,ME
+3275926784,3275929151,ME
3275929152,3275929159,RS
3275929160,3275929167,ME
3275929168,3275929183,RS
@@ -100581,17 +120233,13 @@
3276014192,3276014207,GB
3276014208,3276014255,FR
3276014256,3276014263,GB
-3276014264,3276014335,FR
-3276014336,3276014343,GB
-3276014344,3276014471,FR
-3276014472,3276014495,GB
-3276014496,3276014775,FR
-3276014776,3276014783,GB
-3276014784,3276014887,FR
+3276014264,3276014471,FR
+3276014472,3276014479,GB
+3276014480,3276014487,FR
+3276014488,3276014495,GB
+3276014496,3276014887,FR
3276014888,3276014895,IE
-3276014896,3276014943,FR
-3276014944,3276014951,GB
-3276014952,3276015103,FR
+3276014896,3276015103,FR
3276015104,3276015119,GB
3276015120,3276015199,FR
3276015200,3276015231,GB
@@ -100605,9 +120253,7 @@
3276015416,3276015423,GB
3276015424,3276015559,FR
3276015560,3276015599,GB
-3276015600,3276015855,FR
-3276015856,3276015863,GB
-3276015864,3276015879,FR
+3276015600,3276015879,FR
3276015880,3276015887,GB
3276015888,3276016391,FR
3276016392,3276016399,GB
@@ -100653,8 +120299,8 @@
3276018240,3276018271,GB
3276018272,3276018375,FR
3276018376,3276018383,GB
-3276018384,3276018431,FR
-3276018432,3276018447,GB
+3276018384,3276018423,FR
+3276018424,3276018447,GB
3276018448,3276018495,FR
3276018496,3276018527,GB
3276018528,3276018543,FR
@@ -100667,11 +120313,7 @@
3276019024,3276019071,GB
3276019072,3276019135,FR
3276019136,3276019151,GB
-3276019152,3276019479,FR
-3276019480,3276019487,GB
-3276019488,3276019503,FR
-3276019504,3276019511,GB
-3276019512,3276019535,FR
+3276019152,3276019535,FR
3276019536,3276019543,GB
3276019544,3276019559,FR
3276019560,3276019599,GB
@@ -100681,8 +120323,8 @@
3276019680,3276019687,GB
3276019688,3276019695,FR
3276019696,3276019703,GB
-3276019704,3276019719,FR
-3276019720,3276019743,GB
+3276019704,3276019727,FR
+3276019728,3276019743,GB
3276019744,3276019823,FR
3276019824,3276019831,GB
3276019832,3276019839,FR
@@ -100693,25 +120335,19 @@
3276019920,3276019927,GB
3276019928,3276019959,FR
3276019960,3276019967,GB
-3276019968,3276020407,FR
-3276020408,3276020415,GB
-3276020416,3276020503,FR
+3276019968,3276020503,FR
3276020504,3276020511,GB
3276020512,3276020623,FR
3276020624,3276020631,GB
3276020632,3276020679,FR
3276020680,3276020687,GB
-3276020688,3276020703,FR
-3276020704,3276020735,GB
-3276020736,3276020879,FR
-3276020880,3276020887,GB
-3276020888,3276020943,FR
-3276020944,3276020991,GB
-3276020992,3276021591,FR
+3276020688,3276021591,FR
3276021592,3276021599,GB
-3276021600,3276021815,FR
-3276021816,3276021823,GB
-3276021824,3276022031,FR
+3276021600,3276021639,FR
+3276021640,3276021647,GB
+3276021648,3276021695,FR
+3276021696,3276021727,GB
+3276021728,3276022031,FR
3276022032,3276022039,GB
3276022040,3276022127,FR
3276022128,3276022143,GB
@@ -100727,15 +120363,17 @@
3276022504,3276022511,GB
3276022512,3276022519,FR
3276022520,3276022527,GB
-3276022528,3276022567,FR
-3276022568,3276022639,GB
+3276022528,3276022559,FR
+3276022560,3276022639,GB
3276022640,3276022655,FR
3276022656,3276022687,GB
3276022688,3276022751,FR
3276022752,3276022783,GB
3276022784,3276022791,FR
3276022792,3276022799,GB
-3276022800,3276022983,FR
+3276022800,3276022967,FR
+3276022968,3276022975,GB
+3276022976,3276022983,FR
3276022984,3276022991,GB
3276022992,3276023031,FR
3276023032,3276023039,GB
@@ -100743,15 +120381,13 @@
3276023072,3276023079,GB
3276023080,3276023103,FR
3276023104,3276023279,GB
-3276023280,3276023727,FR
-3276023728,3276023743,GB
+3276023280,3276023735,FR
+3276023736,3276023743,GB
3276023744,3276023759,FR
3276023760,3276023767,GB
3276023768,3276023871,FR
3276023872,3276023887,GB
-3276023888,3276023903,FR
-3276023904,3276023919,GB
-3276023920,3276023943,FR
+3276023888,3276023943,FR
3276023944,3276023951,GB
3276023952,3276023959,FR
3276023960,3276023967,GB
@@ -100767,13 +120403,9 @@
3276025184,3276025191,GB
3276025192,3276025207,FR
3276025208,3276025215,GB
-3276025216,3276025247,FR
-3276025248,3276025279,GB
-3276025280,3276025295,FR
-3276025296,3276025327,GB
-3276025328,3276026143,FR
-3276026144,3276026159,GB
-3276026160,3276026167,FR
+3276025216,3276025295,FR
+3276025296,3276025335,GB
+3276025336,3276026167,FR
3276026168,3276026175,GB
3276026176,3276026191,FR
3276026192,3276026199,GB
@@ -100877,7 +120509,9 @@
3276030464,3276030495,GB
3276030496,3276030543,FR
3276030544,3276030559,GB
-3276030560,3276031255,FR
+3276030560,3276030719,FR
+3276030720,3276030975,GB
+3276030976,3276031255,FR
3276031256,3276031263,GB
3276031264,3276031375,FR
3276031376,3276031383,GB
@@ -100939,23 +120573,27 @@
3276033880,3276033887,GB
3276033888,3276033927,FR
3276033928,3276033951,GB
-3276033952,3276036271,FR
+3276033952,3276036095,FR
+3276036096,3276036103,GB
+3276036104,3276036151,FR
+3276036152,3276036159,GB
+3276036160,3276036247,FR
+3276036248,3276036255,GB
+3276036256,3276036271,FR
3276036272,3276036279,DE
3276036280,3276036383,FR
3276036384,3276036415,GB
-3276036416,3276036591,FR
-3276036592,3276036607,GB
-3276036608,3276036639,FR
-3276036640,3276036863,GB
+3276036416,3276036671,FR
+3276036672,3276036863,GB
3276036864,3276037127,FR
-3276037128,3276037135,GB
-3276037136,3276037199,FR
+3276037128,3276037151,GB
+3276037152,3276037199,FR
3276037200,3276037215,GB
3276037216,3276037359,FR
3276037360,3276037375,GB
3276037376,3276037703,FR
-3276037704,3276037743,GB
-3276037744,3276037887,FR
+3276037704,3276037759,GB
+3276037760,3276037887,FR
3276037888,3276037903,GB
3276037904,3276037959,FR
3276037960,3276037983,GB
@@ -100989,15 +120627,11 @@
3276040064,3276040095,GB
3276040096,3276040159,FR
3276040160,3276040175,GB
-3276040176,3276040199,FR
-3276040200,3276040215,GB
-3276040216,3276040231,FR
+3276040176,3276040231,FR
3276040232,3276040239,GB
3276040240,3276040319,FR
3276040320,3276040327,GB
-3276040328,3276040335,FR
-3276040336,3276040367,GB
-3276040368,3276040391,FR
+3276040328,3276040391,FR
3276040392,3276040399,GB
3276040400,3276040439,FR
3276040440,3276040495,GB
@@ -101033,8 +120667,8 @@
3276041920,3276041951,GB
3276041952,3276041967,FR
3276041968,3276041983,GB
-3276041984,3276042047,FR
-3276042048,3276042143,GB
+3276041984,3276042055,FR
+3276042056,3276042143,GB
3276042144,3276042175,FR
3276042176,3276042191,GB
3276042192,3276042207,FR
@@ -101071,9 +120705,7 @@
3276044992,3276044999,GB
3276045000,3276045023,FR
3276045024,3276045039,GB
-3276045040,3276045111,FR
-3276045112,3276045151,GB
-3276045152,3276045191,FR
+3276045040,3276045191,FR
3276045192,3276045199,GB
3276045200,3276045223,FR
3276045224,3276045239,GB
@@ -101169,6 +120801,7 @@
3276127232,3276128255,UZ
3276128256,3276129279,AT
3276129280,3276131327,UA
+3276131328,3276132351,RU
3276132352,3276133375,PL
3276133376,3276134399,GB
3276134400,3276135423,RU
@@ -101203,7 +120836,9 @@
3276250096,3276275711,DE
3276275712,3276283903,SK
3276283904,3276292095,GB
-3276292096,3276300287,BE
+3276292096,3276294655,BE
+3276294656,3276294663,LU
+3276294664,3276300287,BE
3276300288,3276304383,DE
3276304384,3276304639,BG
3276304640,3276305407,GB
@@ -101219,8 +120854,8 @@
3276316672,3276324863,GB
3276324864,3276333055,IT
3276333056,3276341247,RU
-3276341248,3276341263,NL
-3276341264,3276341279,DE
+3276341248,3276341271,NL
+3276341272,3276341279,DE
3276341280,3276341535,NL
3276341536,3276341543,DE
3276341544,3276341655,NL
@@ -103284,8 +122919,8 @@
3276472320,3276472575,EU
3276472576,3276472831,AT
3276472832,3276472863,EU
-3276472864,3276472895,AT
-3276472896,3276473103,EU
+3276472864,3276472879,AT
+3276472880,3276473103,EU
3276473104,3276473111,AT
3276473112,3276473119,EU
3276473120,3276473135,AT
@@ -103303,14 +122938,13 @@
3276474320,3276474367,AT
3276474368,3276474623,EU
3276474624,3276474879,GB
-3276474880,3276475015,EU
-3276475016,3276475039,IT
+3276474880,3276475007,EU
+3276475008,3276475023,IT
+3276475024,3276475039,FR
3276475040,3276475055,EU
3276475056,3276475071,IT
3276475072,3276475903,EU
-3276475904,3276476039,IT
-3276476040,3276476047,EU
-3276476048,3276476111,IT
+3276475904,3276476111,IT
3276476112,3276476119,GB
3276476120,3276476159,IT
3276476160,3276476415,EU
@@ -103375,9 +123009,9 @@
3276491392,3276491775,CZ
3276491776,3276491847,GB
3276491848,3276491855,EU
-3276491856,3276492047,GB
-3276492048,3276492095,EU
-3276492096,3276492127,GB
+3276491856,3276492055,GB
+3276492056,3276492063,EU
+3276492064,3276492127,GB
3276492128,3276492143,EU
3276492144,3276492151,GB
3276492152,3276492287,EU
@@ -103417,8 +123051,8 @@
3276497648,3276497663,EU
3276497664,3276497919,DE
3276497920,3276498047,GB
-3276498048,3276498303,EU
-3276498304,3276498431,GB
+3276498048,3276498175,EU
+3276498176,3276498431,GB
3276498432,3276499199,DE
3276499200,3276499455,EU
3276499456,3276499503,DE
@@ -103529,7 +123163,9 @@
3276518336,3276518351,EU
3276518352,3276518367,NL
3276518368,3276518399,EU
-3276518400,3276518527,BE
+3276518400,3276518407,BE
+3276518408,3276518415,EU
+3276518416,3276518527,BE
3276518528,3276518591,EU
3276518592,3276518655,BE
3276518656,3276518911,EU
@@ -103538,8 +123174,8 @@
3276519680,3276520191,DK
3276520192,3276520223,BE
3276520224,3276520255,GB
-3276520256,3276520415,BE
-3276520416,3276520423,EU
+3276520256,3276520407,BE
+3276520408,3276520423,EU
3276520424,3276520447,BE
3276520448,3276520463,EU
3276520464,3276520591,SE
@@ -103624,9 +123260,7 @@
3276528832,3276528895,BE
3276528896,3276528927,IE
3276528928,3276528935,EU
-3276528936,3276528943,IE
-3276528944,3276528959,EU
-3276528960,3276529151,IE
+3276528936,3276529151,IE
3276529152,3276529167,TR
3276529168,3276529183,EU
3276529184,3276529279,TR
@@ -103637,9 +123271,9 @@
3276529376,3276529391,EU
3276529392,3276529407,TR
3276529408,3276529663,EU
-3276529664,3276530447,NL
-3276530448,3276530455,EU
-3276530456,3276530495,NL
+3276529664,3276530439,NL
+3276530440,3276530447,EU
+3276530448,3276530495,NL
3276530496,3276530559,EU
3276530560,3276532735,NL
3276532736,3276532775,TR
@@ -103676,9 +123310,7 @@
3276534720,3276534783,EU
3276534784,3276534879,NL
3276534880,3276534887,EU
-3276534888,3276534895,NL
-3276534896,3276534911,EU
-3276534912,3276534919,NL
+3276534888,3276534919,NL
3276534920,3276535015,EU
3276535016,3276535039,GB
3276535040,3276535063,RU
@@ -103697,21 +123329,21 @@
3276535808,3276536063,FI
3276536064,3276536319,EU
3276536320,3276536430,ES
-3276536431,3276536439,EU
-3276536440,3276536511,ES
+3276536431,3276536431,EU
+3276536432,3276536511,ES
3276536512,3276536583,EU
3276536584,3276536591,HR
3276536592,3276536639,EU
-3276536640,3276536671,HU
-3276536672,3276536687,EU
+3276536640,3276536675,HU
+3276536676,3276536687,EU
3276536688,3276536711,HU
3276536712,3276536735,EU
3276536736,3276536743,HU
3276536744,3276536831,EU
3276536832,3276536895,ES
3276536896,3276536959,EU
-3276536960,3276536991,ES
-3276536992,3276537151,EU
+3276536960,3276537007,ES
+3276537008,3276537151,EU
3276537152,3276537215,AT
3276537216,3276537343,EU
3276537344,3276537599,AT
@@ -104149,6 +123781,7 @@
3276835840,3276836351,UA
3276836352,3276836863,RO
3276836864,3276837887,RU
+3276837888,3276838911,PL
3276838912,3276840959,FR
3276840960,3276849151,SK
3276849152,3276857343,DE
@@ -104181,7 +123814,9 @@
3276867072,3276868606,IT
3276868607,3276868607,GB
3276868608,3276868863,NL
-3276868864,3276869695,IT
+3276868864,3276869119,IT
+3276869120,3276869631,GB
+3276869632,3276869695,IT
3276869696,3276869727,A2
3276869728,3276869855,IT
3276869856,3276869887,GB
@@ -104194,7 +123829,9 @@
3276872512,3276872703,DE
3276872704,3276873727,GB
3276873728,3276874367,ES
-3276874368,3276874495,GB
+3276874368,3276874383,GB
+3276874384,3276874399,ES
+3276874400,3276874495,GB
3276874496,3276874559,ES
3276874560,3276874751,GB
3276874752,3276875007,NL
@@ -104207,11 +123844,13 @@
3276876432,3276876541,NL
3276876542,3276877535,GB
3276877536,3276877551,AT
-3276877552,3276878079,GB
+3276877552,3276877567,GB
+3276877568,3276877823,AT
+3276877824,3276878079,GB
3276878080,3276878335,BG
3276878336,3276878399,GB
3276878400,3276878431,FR
-3276878432,3276878463,GB
+3276878432,3276878463,ES
3276878464,3276878559,FR
3276878560,3276878591,GB
3276878592,3276878847,FR
@@ -104220,15 +123859,15 @@
3276879424,3276879615,GB
3276879616,3276879871,TR
3276879872,3276880895,DK
-3276880896,3276881151,DE
-3276881152,3276881279,GB
+3276880896,3276881215,DE
+3276881216,3276881279,GB
3276881280,3276881407,DE
3276881408,3276881919,FR
3276881920,3276883327,IT
3276883328,3276883391,GB
3276883392,3276883967,IT
-3276883968,3276884495,PL
-3276884496,3276884735,GB
+3276883968,3276884519,PL
+3276884520,3276884735,GB
3276884736,3276884991,PL
3276884992,3276886015,GB
3276886016,3276886271,RO
@@ -104236,16 +123875,14 @@
3276886944,3276886959,GB
3276886960,3276886991,DE
3276886992,3276887047,GB
-3276887048,3276887055,DE
-3276887056,3276887071,GB
-3276887072,3276888063,DE
+3276887048,3276888063,DE
3276888064,3276888575,GB
-3276888576,3276888831,IT
-3276888832,3276890111,GB
+3276888576,3276889087,IT
+3276889088,3276890111,GB
3276890112,3276890135,US
3276890136,3276890143,GB
-3276890144,3276890207,US
-3276890208,3276890367,GB
+3276890144,3276890223,US
+3276890224,3276890367,GB
3276890368,3276890623,US
3276890624,3276891135,IT
3276891136,3276891391,BE
@@ -104255,19 +123892,31 @@
3276893952,3276895999,IT
3276896000,3276896255,CZ
3276896256,3276896767,BE
-3276896768,3276896831,GB
+3276896768,3276896775,GB
+3276896776,3276896831,BE
3276896832,3276896847,SE
-3276896848,3276896895,GB
+3276896848,3276896863,BE
+3276896864,3276896895,GB
3276896896,3276896927,BE
3276896928,3276897023,GB
3276897024,3276897663,BE
-3276897664,3276897919,GB
+3276897664,3276897727,GB
+3276897728,3276897759,BE
+3276897760,3276897919,GB
3276897920,3276898303,CZ
-3276898304,3276898655,CH
+3276898304,3276898383,CH
+3276898384,3276898407,GB
+3276898408,3276898431,CH
+3276898432,3276898479,GB
+3276898480,3276898527,CH
+3276898528,3276898559,GB
+3276898560,3276898655,CH
3276898656,3276898671,GB
3276898672,3276898775,CH
3276898776,3276898783,GB
-3276898784,3276900039,CH
+3276898784,3276899071,CH
+3276899072,3276899087,GB
+3276899088,3276900039,CH
3276900040,3276900047,GB
3276900048,3276900351,CH
3276900352,3276900607,GB
@@ -104291,11 +123940,15 @@
3276903360,3276903935,SE
3276903936,3276903999,GB
3276904000,3276904079,SE
-3276904080,3276904191,GB
-3276904192,3276904447,SE
+3276904080,3276904095,GB
+3276904096,3276904143,SE
+3276904144,3276904159,GB
+3276904160,3276904447,SE
3276904448,3276905311,GB
3276905312,3276905319,ES
-3276905320,3276905471,GB
+3276905320,3276905327,BE
+3276905328,3276905335,NL
+3276905336,3276905471,GB
3276905472,3276905727,SE
3276905728,3276905983,BE
3276905984,3276905999,GB
@@ -104304,7 +123957,11 @@
3276906240,3276906279,SE
3276906280,3276906287,GB
3276906288,3276906295,SE
-3276906296,3276906495,GB
+3276906296,3276906303,GB
+3276906304,3276906319,SE
+3276906320,3276906335,GB
+3276906336,3276906391,SE
+3276906392,3276906495,GB
3276906496,3276906623,NL
3276906624,3276906751,GB
3276906752,3276906823,NL
@@ -104322,22 +123979,33 @@
3276908160,3276908175,CH
3276908176,3276908183,NL
3276908184,3276908191,GB
-3276908192,3276909055,NL
+3276908192,3276908607,NL
+3276908608,3276908639,DE
+3276908640,3276908646,NL
+3276908647,3276908671,GB
+3276908672,3276908687,NL
+3276908688,3276908711,GB
+3276908712,3276908735,SE
+3276908736,3276908767,NL
+3276908768,3276908799,GB
+3276908800,3276909055,NL
3276909056,3276909567,GB
3276909568,3276910591,NL
3276910592,3276912615,IT
3276912616,3276912623,GB
-3276912624,3276913183,IT
-3276913184,3276913215,GB
-3276913216,3276913359,IT
-3276913360,3276913375,GB
+3276912624,3276913199,IT
+3276913200,3276913215,GB
+3276913216,3276913279,IT
+3276913280,3276913295,GB
+3276913296,3276913359,IT
+3276913360,3276913360,GB
+3276913361,3276913374,IT
+3276913375,3276913375,GB
3276913376,3276913919,IT
3276913920,3276913983,US
3276913984,3276914079,IT
3276914080,3276914095,GB
-3276914096,3276914143,IT
-3276914144,3276914159,GB
-3276914160,3276914687,IT
+3276914096,3276914687,IT
3276914688,3276915567,ES
3276915568,3276915583,NL
3276915584,3276915711,GB
@@ -104346,7 +124014,7 @@
3276916096,3276916175,ES
3276916176,3276916183,GB
3276916184,3276917231,ES
-3276917232,3276917247,GB
+3276917232,3276917247,FR
3276917248,3276917279,ES
3276917280,3276917287,GB
3276917288,3276917327,ES
@@ -104354,7 +124022,11 @@
3276917344,3276917887,ES
3276917888,3276918015,GB
3276918016,3276918783,ES
-3276918784,3276920551,DE
+3276918784,3276919479,DE
+3276919480,3276919487,GB
+3276919488,3276920447,DE
+3276920448,3276920479,GB
+3276920480,3276920551,DE
3276920552,3276920559,GB
3276920560,3276921183,DE
3276921184,3276921187,GB
@@ -104406,7 +124078,7 @@
3277180160,3277180415,NL
3277180416,3277180671,RU
3277180672,3277180927,FR
-3277180928,3277181183,DE
+3277180928,3277181183,UA
3277181184,3277181439,PL
3277181440,3277181695,DE
3277181696,3277181951,RO
@@ -104433,6 +124105,7 @@
3277187072,3277187327,GB
3277187328,3277187583,UA
3277187584,3277188351,RU
+3277188352,3277188607,DE
3277188608,3277188863,RU
3277188864,3277189119,RO
3277189120,3277189375,DE
@@ -104519,9 +124192,10 @@
3277359616,3277360127,UA
3277360128,3277360639,BG
3277360640,3277361151,CZ
+3277361152,3277361663,PL
3277361664,3277362175,RU
3277362176,3277362687,ES
-3277362688,3277363199,IE
+3277362688,3277363199,GB
3277363200,3277363711,ES
3277363712,3277364223,RU
3277364224,3277364735,NL
@@ -104535,6 +124209,8 @@
3277368320,3277369343,RO
3277369344,3277369855,CY
3277369856,3277370367,RU
+3277370368,3277370623,PL
+3277370624,3277370879,RU
3277370880,3277371391,RO
3277371392,3277371903,RU
3277371904,3277372415,PL
@@ -104563,13 +124239,14 @@
3277386240,3277386751,UA
3277386752,3277387263,SA
3277387264,3277388287,RU
+3277388288,3277388543,RO
+3277388544,3277388799,HU
3277388800,3277389311,RU
3277389312,3277389823,AM
3277389824,3277394943,GB
3277394944,3277395455,US
-3277395456,3277395951,GB
-3277395952,3277395967,IE
-3277395968,3277452647,GB
+3277395456,3277452639,GB
+3277452640,3277452647,IE
3277452648,3277452655,DK
3277452656,3277455359,GB
3277455360,3277456895,DE
@@ -104644,8 +124321,7 @@
3277700608,3277701119,UA
3277701120,3277701631,DK
3277701632,3277702143,AT
-3277702144,3277702655,EU
-3277702656,3277703167,RO
+3277702144,3277703167,EU
3277703168,3277703679,DE
3277703680,3277704191,PL
3277704192,3277704703,UA
@@ -104681,8 +124357,7 @@
3277783040,3277815807,BE
3277815808,3277816063,RO
3277816064,3277816319,PL
-3277816320,3277816575,CM
-3277816576,3277816831,GB
+3277816320,3277816831,GB
3277816832,3277817087,CH
3277817088,3277817343,GB
3277817344,3277817855,FR
@@ -104747,7 +124422,7 @@
3277836288,3277836799,FI
3277836800,3277837311,UA
3277837312,3277839103,RU
-3277839104,3277839359,AE
+3277839104,3277839359,CH
3277839360,3277839871,DE
3277839872,3277840383,UA
3277840384,3277840895,FR
@@ -104775,9 +124450,7 @@
3277885696,3277885727,LB
3277885728,3277885951,A2
3277885952,3277886463,LB
-3277886464,3277886719,IQ
-3277886720,3277886975,IR
-3277886976,3277887487,IQ
+3277886464,3277887487,IQ
3277887488,3277888255,A2
3277888256,3277888319,LB
3277888320,3277889023,A2
@@ -104796,20 +124469,29 @@
3278020608,3278028799,RU
3278028800,3278036991,DE
3278036992,3278045183,FR
-3278045184,3278054911,GB
+3278045184,3278047231,GB
+3278047232,3278049279,EU
+3278049280,3278053375,GB
+3278053376,3278054911,EU
3278054912,3278055423,NL
3278055424,3278061567,GB
3278061568,3278065663,NL
-3278065664,3278103039,GB
+3278065664,3278067967,GB
+3278067968,3278069759,EU
+3278069760,3278102527,GB
+3278102528,3278103039,EU
3278103040,3278103295,FR
-3278103296,3278110719,GB
+3278103296,3278106623,EU
+3278106624,3278110719,GB
3278110720,3278110751,SE
3278110752,3278110767,ES
3278110768,3278115327,SE
3278115328,3278116607,ES
3278116608,3278116863,SE
3278116864,3278118399,ES
-3278118400,3278119935,SE
+3278118400,3278118911,SE
+3278118912,3278118975,NL
+3278118976,3278119935,SE
3278119936,3278119943,DE
3278119944,3278120151,SE
3278120152,3278120159,DE
@@ -105104,9 +124786,7 @@
3278939136,3278939147,US
3278939148,3278939151,AR
3278939152,3278939155,ES
-3278939156,3278939183,US
-3278939184,3278939187,GU
-3278939188,3278939195,US
+3278939156,3278939195,US
3278939196,3278939199,CL
3278939200,3278939259,US
3278939260,3278939263,BR
@@ -105207,10 +124887,10 @@
3278939752,3278939755,GR
3278939756,3278939759,DE
3278939760,3278939763,FR
-3278939764,3278939767,GR
+3278939764,3278939767,DE
3278939768,3278939771,ES
3278939772,3278939775,IT
-3278939776,3278939779,GR
+3278939776,3278939779,DE
3278939780,3278939783,FR
3278939784,3278939787,BE
3278939788,3278939791,DE
@@ -105426,8 +125106,7 @@
3278940856,3278940859,PT
3278940860,3278940863,NL
3278940864,3278940867,CH
-3278940868,3278940871,GB
-3278940872,3278940875,DE
+3278940868,3278940875,DE
3278940876,3278940879,IT
3278940880,3278940883,CH
3278940884,3278940887,ES
@@ -105486,7 +125165,7 @@
3278941136,3278941139,GB
3278941140,3278941143,DE
3278941144,3278941151,IT
-3278941152,3278941155,PT
+3278941152,3278941155,DE
3278941156,3278941159,SE
3278941160,3278941167,DE
3278941168,3278941171,GB
@@ -105495,8 +125174,7 @@
3278941180,3278941183,FR
3278941184,3278941191,US
3278941192,3278941195,BR
-3278941196,3278941211,US
-3278941212,3278941215,GU
+3278941196,3278941215,US
3278941216,3278941219,BR
3278941220,3278941243,US
3278941244,3278941247,CO
@@ -105943,7 +125621,8 @@
3278943049,3278943049,GB
3278943050,3278943050,IT
3278943051,3278943051,AT
-3278943052,3278943053,IT
+3278943052,3278943052,DE
+3278943053,3278943053,IT
3278943054,3278943056,DE
3278943057,3278943057,CH
3278943058,3278943058,FR
@@ -106146,7 +125825,7 @@
3278943324,3278943324,GB
3278943325,3278943326,DE
3278943327,3278943328,IT
-3278943329,3278943329,PT
+3278943329,3278943329,DE
3278943330,3278943330,ES
3278943331,3278943331,PL
3278943332,3278943333,DE
@@ -106305,7 +125984,8 @@
3278943526,3278943526,FR
3278943527,3278943527,DE
3278943528,3278943528,CH
-3278943529,3278943530,AT
+3278943529,3278943529,DE
+3278943530,3278943530,AT
3278943531,3278943531,DE
3278943532,3278943532,NL
3278943533,3278943533,ES
@@ -106813,9 +126493,7 @@
3278944150,3278944150,IE
3278944151,3278944151,IT
3278944152,3278944152,IS
-3278944153,3278944156,DE
-3278944157,3278944157,FR
-3278944158,3278944158,DE
+3278944153,3278944158,DE
3278944159,3278944159,CH
3278944160,3278944160,FR
3278944161,3278944161,DE
@@ -106930,8 +126608,8 @@
3278944402,3278944402,CA
3278944403,3278944412,US
3278944413,3278944413,CA
-3278944414,3278944418,US
-3278944419,3278944419,DE
+3278944414,3278944417,US
+3278944418,3278944419,DE
3278944420,3278944420,CA
3278944421,3278944421,DE
3278944422,3278944432,US
@@ -106956,9 +126634,7 @@
3278944527,3278944527,CA
3278944528,3278944528,US
3278944529,3278944529,CA
-3278944530,3278944535,US
-3278944536,3278944536,GU
-3278944537,3278944537,US
+3278944530,3278944537,US
3278944538,3278944538,AR
3278944539,3278944544,US
3278944545,3278944545,CA
@@ -107023,7 +126699,7 @@
3278944688,3278944688,AR
3278944689,3278944693,US
3278944694,3278944695,DE
-3278944696,3278944696,AS
+3278944696,3278944696,US
3278944697,3278944697,CA
3278944698,3278944706,US
3278944707,3278944707,DE
@@ -107282,7 +126958,9 @@
3278946062,3278946062,DE
3278946063,3278946067,US
3278946068,3278946068,DE
-3278946069,3278946084,US
+3278946069,3278946074,US
+3278946075,3278946075,DE
+3278946076,3278946084,US
3278946085,3278946085,DE
3278946086,3278946091,US
3278946092,3278946092,DE
@@ -107290,11 +126968,11 @@
3278946109,3278946109,GB
3278946110,3278946142,US
3278946143,3278946143,DE
-3278946144,3278946166,US
-3278946167,3278946167,DE
-3278946168,3278946190,US
-3278946191,3278946191,PR
-3278946192,3278946208,US
+3278946144,3278946147,US
+3278946148,3278946148,DE
+3278946149,3278946166,US
+3278946167,3278946168,DE
+3278946169,3278946208,US
3278946209,3278946213,DE
3278946214,3278946214,US
3278946215,3278946221,DE
@@ -107312,8 +126990,7 @@
3278946280,3278946283,DE
3278946284,3278946287,US
3278946288,3278946291,DE
-3278946292,3278946295,PR
-3278946296,3278946299,US
+3278946292,3278946299,US
3278946300,3278946303,DE
3278946304,3278954495,LB
3278954496,3278962687,RU
@@ -107358,8 +127035,7 @@
3279078656,3279078911,FR
3279078912,3279084543,ES
3279084544,3279085567,IT
-3279085568,3279093503,NL
-3279093504,3279093759,DE
+3279085568,3279089663,NL
3279093760,3279103103,FR
3279103104,3279103135,GB
3279103136,3279119295,FR
@@ -107526,13 +127202,15 @@
3279568896,3279577087,IT
3279577088,3279585279,BE
3279585280,3279585919,DE
-3279585920,3279585983,GB
-3279585984,3279585991,DE
+3279585920,3279585951,GB
+3279585952,3279585991,DE
3279585992,3279585999,GB
3279586000,3279586303,DE
3279586304,3279586559,GB
3279586560,3279588095,DE
-3279588096,3279588607,GB
+3279588096,3279588255,GB
+3279588256,3279588287,DE
+3279588288,3279588607,GB
3279588608,3279588863,DE
3279588864,3279589375,GB
3279589376,3279589887,DE
@@ -107574,11 +127252,15 @@
3279618048,3279683583,UA
3279683584,3279723215,DE
3279723216,3279723223,A2
-3279723224,3279744391,DE
+3279723224,3279729327,DE
+3279729328,3279729343,EU
+3279729344,3279744391,DE
3279744392,3279744399,PL
3279744400,3279752959,DE
3279752960,3279753215,CH
-3279753216,3279840663,DE
+3279753216,3279789439,DE
+3279789440,3279789455,PL
+3279789456,3279840663,DE
3279840664,3279840671,A2
3279840672,3279897583,DE
3279897584,3279897591,GB
@@ -107768,12 +127450,13 @@
3280347136,3280355327,NO
3280355328,3280371711,GR
3280371712,3280379903,CH
-3280379904,3280388095,FR
3280388096,3280390719,GB
3280390720,3280390751,FR
3280390752,3280392703,GB
3280392704,3280392831,FR
-3280392832,3280396287,GB
+3280392832,3280395263,GB
+3280395264,3280395519,FR
+3280395520,3280396287,GB
3280396288,3280404479,FI
3280404480,3280437247,IT
3280437248,3280453631,DE
@@ -107848,7 +127531,6 @@
3280595968,3280596479,DK
3280596480,3280596991,AT
3280596992,3280597503,UA
-3280597504,3280598015,FR
3280598016,3280598527,UA
3280598528,3280599039,PL
3280599040,3280599551,FR
@@ -107876,7 +127558,6 @@
3280653056,3280653311,CH
3280653312,3280653823,GB
3280653824,3280654079,RU
-3280654080,3280654335,CH
3280654336,3280654591,PL
3280654592,3280654847,ES
3280654848,3280655103,RU
@@ -107927,1403 +127608,261 @@
3280810784,3280810799,DE
3280810800,3280863231,CH
3280863232,3280928767,TR
-3280928768,3280928768,GB
-3280928769,3280928769,DE
-3280928770,3280928771,GB
-3280928772,3280928791,DE
-3280928792,3280928799,GB
-3280928800,3280928815,DE
-3280928816,3280928831,GB
-3280928832,3280928843,DE
-3280928844,3280928847,GB
-3280928848,3280928849,DE
-3280928850,3280928854,GB
-3280928855,3280928859,DE
-3280928860,3280928895,GB
-3280928896,3280928906,DE
-3280928907,3280928907,GB
-3280928908,3280928927,DE
-3280928928,3280928960,GB
-3280928961,3280928961,DE
-3280928962,3280928962,GB
-3280928963,3280928963,DE
-3280928964,3280928964,GB
-3280928965,3280928965,DE
-3280928966,3280928991,GB
-3280928992,3280928998,DE
-3280928999,3280929007,GB
-3280929008,3280929015,DE
-3280929016,3280929055,GB
-3280929056,3280929096,DE
-3280929097,3280929098,GB
-3280929099,3280929099,DE
-3280929100,3280929100,GB
-3280929101,3280929101,DE
-3280929102,3280929119,GB
-3280929120,3280929151,DE
-3280929152,3280929183,GB
-3280929184,3280929247,DE
-3280929248,3280929255,GB
-3280929256,3280929259,DE
-3280929260,3280929263,GB
-3280929264,3280929271,DE
-3280929272,3280929272,GB
-3280929273,3280929273,DE
-3280929274,3280929274,GB
-3280929275,3280929276,DE
-3280929277,3280929277,GB
-3280929278,3280929278,DE
-3280929279,3280929343,GB
-3280929344,3280929367,DE
-3280929368,3280929375,GB
-3280929376,3280929395,DE
-3280929396,3280929399,GB
-3280929400,3280929403,DE
-3280929404,3280929404,GB
-3280929405,3280929406,DE
-3280929407,3280929455,GB
-3280929456,3280929487,DE
-3280929488,3280929503,GB
-3280929504,3280929527,DE
-3280929528,3280929531,GB
-3280929532,3280929534,DE
-3280929535,3280929551,GB
-3280929552,3280929583,DE
-3280929584,3280929599,GB
-3280929600,3280929615,DE
-3280929616,3280929639,GB
-3280929640,3280929641,DE
-3280929642,3280929642,GB
-3280929643,3280929645,DE
-3280929646,3280929647,GB
-3280929648,3280929655,DE
-3280929656,3280929663,GB
-3280929664,3280929695,DE
-3280929696,3280929696,GB
-3280929697,3280929697,DE
-3280929698,3280929698,GB
-3280929699,3280929699,DE
-3280929700,3280929700,GB
-3280929701,3280929703,DE
-3280929704,3280929711,GB
-3280929712,3280929727,DE
-3280929728,3280929792,GB
-3280929793,3280929799,DE
-3280929800,3280929827,GB
-3280929828,3280929839,DE
-3280929840,3280929855,GB
-3280929856,3280929887,DE
-3280929888,3280929888,GB
-3280929889,3280929889,DE
-3280929890,3280930047,GB
-3280930048,3280930079,DE
-3280930080,3280930087,GB
-3280930088,3280930091,DE
-3280930092,3280930095,GB
-3280930096,3280930111,DE
-3280930112,3280930127,GB
-3280930128,3280930155,DE
-3280930156,3280930175,GB
-3280930176,3280930177,DE
-3280930178,3280930180,GB
-3280930181,3280930182,DE
-3280930183,3280930190,GB
-3280930191,3280930191,DE
-3280930192,3280930197,GB
-3280930198,3280930198,DE
-3280930199,3280930199,GB
-3280930200,3280930239,DE
-3280930240,3280930351,GB
-3280930352,3280930367,DE
-3280930368,3280930383,GB
-3280930384,3280930391,DE
-3280930392,3280930407,GB
-3280930408,3280930420,DE
-3280930421,3280930421,GB
-3280930422,3280930431,DE
-3280930432,3280930464,GB
-3280930465,3280930465,DE
-3280930466,3280930466,GB
-3280930467,3280930495,DE
-3280930496,3280930511,GB
-3280930512,3280930515,DE
-3280930516,3280930524,GB
-3280930525,3280930535,DE
-3280930536,3280930537,GB
-3280930538,3280930541,DE
-3280930542,3280930561,GB
-3280930562,3280930562,DE
-3280930563,3280930563,GB
-3280930564,3280930575,DE
-3280930576,3280930579,GB
-3280930580,3280930591,DE
-3280930592,3280930639,GB
-3280930640,3280930655,DE
-3280930656,3280930671,GB
-3280930672,3280930687,DE
-3280930688,3280930719,GB
-3280930720,3280930731,DE
-3280930732,3280930735,GB
-3280930736,3280930743,DE
-3280930744,3280930747,GB
-3280930748,3280930759,DE
-3280930760,3280930767,GB
-3280930768,3280930771,DE
-3280930772,3280930779,GB
-3280930780,3280930783,DE
-3280930784,3280930807,GB
-3280930808,3280930812,DE
-3280930813,3280930818,GB
-3280930819,3280930819,DE
-3280930820,3280930822,GB
-3280930823,3280930823,DE
-3280930824,3280930863,GB
-3280930864,3280930868,DE
-3280930869,3280930869,GB
-3280930870,3280930870,DE
-3280930871,3280930879,GB
-3280930880,3280930911,DE
-3280930912,3280930919,GB
-3280930920,3280930927,DE
-3280930928,3280930959,GB
-3280930960,3280930983,DE
-3280930984,3280931103,GB
-3280931104,3280931119,DE
-3280931120,3280931135,GB
-3280931136,3280931143,DE
-3280931144,3280931154,GB
-3280931155,3280931155,DE
-3280931156,3280931157,GB
-3280931158,3280931158,DE
-3280931159,3280931159,GB
-3280931160,3280931167,DE
-3280931168,3280931175,GB
-3280931176,3280931180,DE
-3280931181,3280931191,GB
-3280931192,3280931193,DE
-3280931194,3280931194,GB
-3280931195,3280931199,DE
-3280931200,3280931327,GB
-3280931328,3280931631,DE
-3280931632,3280931633,GB
-3280931634,3280931634,DE
-3280931635,3280931635,GB
-3280931636,3280931639,DE
-3280931640,3280931649,GB
-3280931650,3280931650,DE
-3280931651,3280931655,GB
-3280931656,3280931663,DE
-3280931664,3280931815,GB
-3280931816,3280931819,DE
-3280931820,3280931825,GB
-3280931826,3280931826,DE
-3280931827,3280931935,GB
-3280931936,3280931943,DE
-3280931944,3280931951,GB
-3280931952,3280931983,DE
-3280931984,3280932015,GB
-3280932016,3280932031,DE
-3280932032,3280932351,GB
-3280932352,3280932367,DE
-3280932368,3280932383,GB
-3280932384,3280932399,DE
-3280932400,3280932431,GB
-3280932432,3280932455,DE
-3280932456,3280932463,GB
-3280932464,3280932472,DE
-3280932473,3280932474,GB
-3280932475,3280932477,DE
-3280932478,3280932479,GB
-3280932480,3280932495,DE
-3280932496,3280932543,GB
-3280932544,3280932559,DE
-3280932560,3280932567,GB
-3280932568,3280932575,DE
-3280932576,3280932591,GB
-3280932592,3280932607,DE
-3280932608,3280932655,GB
-3280932656,3280932663,DE
-3280932664,3280932671,GB
-3280932672,3280932687,DE
-3280932688,3280932711,GB
-3280932712,3280932735,DE
-3280932736,3280932831,GB
-3280932832,3280932847,DE
-3280932848,3280932976,GB
-3280932977,3280932983,DE
-3280932984,3280932984,GB
-3280932985,3280932985,DE
-3280932986,3280932988,GB
-3280932989,3280932989,DE
-3280932990,3280932990,GB
-3280932991,3280932991,DE
-3280932992,3280933023,GB
-3280933024,3280933039,DE
-3280933040,3280933071,GB
-3280933072,3280933087,DE
-3280933088,3280933103,GB
-3280933104,3280933119,DE
-3280933120,3280933175,GB
-3280933176,3280933215,DE
-3280933216,3280933311,GB
-3280933312,3280933375,DE
-3280933376,3280933439,GB
-3280933440,3280933451,DE
-3280933452,3280933487,GB
-3280933488,3280933519,DE
-3280933520,3280933539,GB
-3280933540,3280933551,DE
-3280933552,3280933567,GB
-3280933568,3280933599,DE
-3280933600,3280933615,GB
-3280933616,3280933616,DE
-3280933617,3280933618,GB
-3280933619,3280933620,DE
-3280933621,3280933631,GB
-3280933632,3280933647,DE
-3280933648,3280933687,GB
-3280933688,3280933699,DE
-3280933700,3280933711,GB
-3280933712,3280933759,DE
-3280933760,3280933775,GB
-3280933776,3280933791,DE
-3280933792,3280933823,GB
-3280933824,3280933855,DE
-3280933856,3280934219,GB
-3280934220,3280934243,DE
-3280934244,3280934655,GB
-3280934656,3280934863,DE
-3280934864,3280934911,GB
-3280934912,3280934943,DE
-3280934944,3280935007,GB
-3280935008,3280935015,DE
-3280935016,3280935053,GB
-3280935054,3280935055,DE
-3280935056,3280935059,GB
-3280935060,3280935063,DE
-3280935064,3280935119,GB
-3280935120,3280935127,DE
-3280935128,3280935135,GB
-3280935136,3280935167,DE
-3280935168,3280935247,GB
-3280935248,3280935263,DE
-3280935264,3280935344,GB
-3280935345,3280935345,DE
-3280935346,3280935347,GB
-3280935348,3280935351,DE
-3280935352,3280935807,GB
-3280935808,3280935823,DE
-3280935824,3280935856,GB
-3280935857,3280935858,DE
-3280935859,3280935859,GB
-3280935860,3280935863,DE
-3280935864,3280935887,GB
-3280935888,3280935903,DE
-3280935904,3280936039,GB
-3280936040,3280936048,DE
-3280936049,3280936052,GB
-3280936053,3280936053,DE
-3280936054,3280936054,GB
-3280936055,3280936063,DE
-3280936064,3280936143,GB
-3280936144,3280936159,DE
-3280936160,3280936191,GB
+3280928768,3280928831,RU
+3280928832,3280930303,GB
+3280930304,3280930559,DE
+3280930560,3280930959,GB
+3280930960,3280930975,DE
+3280930976,3280933175,GB
+3280933176,3280933183,DE
+3280933184,3280933359,GB
+3280933360,3280933375,DE
+3280933376,3280933631,GB
+3280933632,3280934399,DE
+3280934400,3280936191,GB
3280936192,3280936319,DE
-3280936320,3280936463,GB
-3280936464,3280936479,DE
-3280936480,3280936495,GB
-3280936496,3280936498,DE
-3280936499,3280936500,GB
-3280936501,3280936501,DE
-3280936502,3280936504,GB
-3280936505,3280936505,DE
-3280936506,3280936506,GB
-3280936507,3280936510,DE
-3280936511,3280936511,GB
-3280936512,3280936512,DE
-3280936513,3280936519,GB
-3280936520,3280936523,DE
-3280936524,3280936559,GB
-3280936560,3280936567,DE
-3280936568,3280936575,GB
-3280936576,3280936583,DE
-3280936584,3280936591,GB
-3280936592,3280936655,DE
-3280936656,3280936999,GB
-3280937000,3280937003,DE
-3280937004,3280937007,GB
-3280937008,3280937023,DE
-3280937024,3280937639,GB
-3280937640,3280937643,DE
-3280937644,3280937919,GB
-3280937920,3280937935,DE
-3280937936,3280937999,GB
-3280938000,3280938003,DE
-3280938004,3280938167,GB
-3280938168,3280938175,DE
-3280938176,3280938207,GB
-3280938208,3280938223,DE
-3280938224,3280938236,GB
-3280938237,3280938237,DE
-3280938238,3280938271,GB
-3280938272,3280938279,DE
-3280938280,3280938283,GB
-3280938284,3280938284,DE
-3280938285,3280938285,GB
-3280938286,3280938286,DE
-3280938287,3280938303,GB
-3280938304,3280938367,DE
-3280938368,3280938400,GB
-3280938401,3280938401,DE
-3280938402,3280938402,GB
-3280938403,3280938407,DE
-3280938408,3280938543,GB
-3280938544,3280938591,DE
-3280938592,3280938619,GB
-3280938620,3280938623,DE
-3280938624,3280938668,GB
-3280938669,3280938669,DE
-3280938670,3280938723,GB
-3280938724,3280938751,DE
-3280938752,3280938767,GB
-3280938768,3280938815,DE
-3280938816,3280938919,GB
-3280938920,3280938931,DE
-3280938932,3280939167,GB
-3280939168,3280939175,DE
-3280939176,3280939179,GB
-3280939180,3280939183,DE
-3280939184,3280939839,GB
-3280939840,3280939871,DE
-3280939872,3280939896,GB
-3280939897,3280939900,DE
-3280939901,3280939901,GB
-3280939902,3280939902,DE
-3280939903,3280939923,GB
-3280939924,3280939924,DE
-3280939925,3280939925,GB
-3280939926,3280939926,DE
-3280939927,3280939975,GB
-3280939976,3280939977,DE
-3280939978,3280939978,GB
-3280939979,3280939979,DE
-3280939980,3280939983,GB
-3280939984,3280939999,DE
-3280940000,3280940015,GB
-3280940016,3280940023,DE
-3280940024,3280940095,GB
-3280940096,3280940103,DE
-3280940104,3280940132,GB
-3280940133,3280940135,DE
-3280940136,3280940143,GB
-3280940144,3280940151,DE
-3280940152,3280940487,GB
-3280940488,3280940495,DE
-3280940496,3280940503,GB
-3280940504,3280940511,DE
-3280940512,3280940575,GB
-3280940576,3280940599,DE
-3280940600,3280940703,GB
-3280940704,3280940719,DE
-3280940720,3280940735,GB
-3280940736,3280940767,DE
-3280940768,3280940832,GB
-3280940833,3280940833,DE
-3280940834,3280940834,GB
-3280940835,3280940835,DE
-3280940836,3280940836,GB
-3280940837,3280940837,DE
-3280940838,3280940959,GB
-3280940960,3280940967,DE
-3280940968,3280941124,GB
-3280941125,3280941127,DE
-3280941128,3280941183,GB
-3280941184,3280941199,DE
-3280941200,3280941312,GB
-3280941313,3280941314,DE
-3280941315,3280941335,GB
-3280941336,3280941343,DE
-3280941344,3280941359,GB
-3280941360,3280941367,DE
-3280941368,3280941369,GB
-3280941370,3280941370,DE
-3280941371,3280941371,GB
-3280941372,3280941373,DE
-3280941374,3280941423,GB
-3280941424,3280941439,DE
-3280941440,3280941479,GB
-3280941480,3280941484,DE
-3280941485,3280941485,GB
-3280941486,3280941523,DE
-3280941524,3280941527,GB
-3280941528,3280941551,DE
-3280941552,3280941655,GB
-3280941656,3280941663,DE
-3280941664,3280941672,GB
-3280941673,3280941675,DE
-3280941676,3280941887,GB
-3280941888,3280941888,DE
-3280941889,3280941894,GB
-3280941895,3280941895,DE
-3280941896,3280941901,GB
-3280941902,3280941902,DE
-3280941903,3280941912,GB
-3280941913,3280941919,DE
-3280941920,3280941952,GB
-3280941953,3280941953,DE
-3280941954,3280941957,GB
-3280941958,3280941958,DE
-3280941959,3280941964,GB
-3280941965,3280941967,DE
-3280941968,3280941994,GB
-3280941995,3280941996,DE
-3280941997,3280941998,GB
-3280941999,3280942000,DE
-3280942001,3280942008,GB
-3280942009,3280942009,DE
-3280942010,3280942010,GB
-3280942011,3280942011,DE
-3280942012,3280942031,GB
-3280942032,3280942047,DE
-3280942048,3280942335,GB
-3280942336,3280942351,DE
-3280942352,3280942383,GB
-3280942384,3280942399,DE
-3280942400,3280942431,GB
-3280942432,3280942471,DE
-3280942472,3280943103,GB
-3280943104,3280943359,DE
-3280943360,3280943615,GB
-3280943616,3280943679,DE
-3280943680,3280943711,GB
-3280943712,3280943743,DE
-3280943744,3280943935,GB
-3280943936,3280943943,DE
-3280943944,3280943967,GB
-3280943968,3280943983,DE
-3280943984,3280944191,GB
-3280944192,3280944199,DE
-3280944200,3280944215,GB
-3280944216,3280944219,DE
-3280944220,3280944223,GB
-3280944224,3280944225,DE
-3280944226,3280944243,GB
-3280944244,3280944247,DE
-3280944248,3280944447,GB
-3280944448,3280944527,DE
-3280944528,3280944543,GB
-3280944544,3280944575,DE
-3280944576,3280944591,GB
-3280944592,3280944607,DE
-3280944608,3280944623,GB
-3280944624,3280944639,DE
-3280944640,3280945186,GB
-3280945187,3280945189,DE
-3280945190,3280945312,GB
-3280945313,3280945313,DE
-3280945314,3280945315,GB
-3280945316,3280945317,DE
-3280945318,3280945319,GB
-3280945320,3280945323,DE
-3280945324,3280945327,GB
-3280945328,3280945335,DE
-3280945336,3280945439,GB
-3280945440,3280945503,DE
-3280945504,3280945535,GB
-3280945536,3280945551,DE
-3280945552,3280945679,GB
-3280945680,3280945695,DE
-3280945696,3280945715,GB
-3280945716,3280945719,DE
-3280945720,3280945743,GB
-3280945744,3280945751,DE
-3280945752,3280945759,GB
-3280945760,3280945767,DE
-3280945768,3280945776,GB
-3280945777,3280945777,DE
-3280945778,3280945812,GB
-3280945813,3280945814,DE
-3280945815,3280945817,GB
-3280945818,3280945818,DE
-3280945819,3280945819,GB
-3280945820,3280945820,DE
-3280945821,3280945821,GB
-3280945822,3280945823,DE
-3280945824,3280945835,GB
-3280945836,3280945840,DE
-3280945841,3280945842,GB
-3280945843,3280945843,DE
-3280945844,3280945847,GB
-3280945848,3280945853,DE
-3280945854,3280945855,GB
-3280945856,3280945919,DE
-3280945920,3280946721,GB
-3280946722,3280946722,DE
-3280946723,3280946723,GB
-3280946724,3280946724,DE
-3280946725,3280948623,GB
-3280948624,3280948639,DE
-3280948640,3280948719,GB
-3280948720,3280948735,DE
-3280948736,3280949503,GB
-3280949504,3280949759,DE
-3280949760,3280950655,GB
+3280936320,3280938767,GB
+3280938768,3280938783,DE
+3280938784,3280938799,GB
+3280938800,3280938815,DE
+3280938816,3280950655,GB
3280950656,3280950687,DE
3280950688,3280951039,GB
-3280951040,3280952063,DE
-3280952064,3280952067,GB
-3280952068,3280952079,DE
-3280952080,3280952087,GB
-3280952088,3280952095,DE
-3280952096,3280952111,GB
-3280952112,3280952119,DE
-3280952120,3280952127,GB
-3280952128,3280952159,DE
-3280952160,3280952183,GB
-3280952184,3280952191,DE
-3280952192,3280952207,GB
-3280952208,3280952223,DE
-3280952224,3280952319,GB
-3280952320,3280952323,DE
+3280951040,3280951295,DE
+3280951296,3280951807,GB
+3280951808,3280952323,DE
3280952324,3280952327,GB
3280952328,3280952343,DE
3280952344,3280952351,GB
-3280952352,3280952359,DE
-3280952360,3280952415,GB
-3280952416,3280952463,DE
-3280952464,3280952511,GB
-3280952512,3280952559,DE
-3280952560,3280952591,GB
-3280952592,3280952607,DE
-3280952608,3280952615,GB
+3280952352,3280952375,DE
+3280952376,3280952383,GB
+3280952384,3280952455,DE
+3280952456,3280952463,GB
+3280952464,3280952575,DE
+3280952576,3280952615,GB
3280952616,3280952623,DE
3280952624,3280952631,GB
-3280952632,3280952687,DE
+3280952632,3280952643,DE
+3280952644,3280952671,GB
+3280952672,3280952687,DE
3280952688,3280952695,GB
-3280952696,3280952703,DE
-3280952704,3280952743,GB
-3280952744,3280952767,DE
+3280952696,3280952767,DE
3280952768,3280952783,GB
-3280952784,3280952815,DE
-3280952816,3280953104,GB
-3280953105,3280953135,DE
-3280953136,3280953343,GB
-3280953344,3280953371,DE
-3280953372,3280953375,GB
-3280953376,3280953383,DE
-3280953384,3280953423,GB
-3280953424,3280953431,DE
-3280953432,3280953443,GB
-3280953444,3280953444,DE
-3280953445,3280953451,GB
-3280953452,3280953454,DE
-3280953455,3280953455,GB
-3280953456,3280953463,DE
-3280953464,3280953471,GB
-3280953472,3280953475,DE
-3280953476,3280953479,GB
-3280953480,3280953487,DE
-3280953488,3280953491,GB
-3280953492,3280953492,DE
-3280953493,3280953493,GB
-3280953494,3280953494,DE
-3280953495,3280953495,GB
-3280953496,3280953503,DE
-3280953504,3280953519,GB
-3280953520,3280953527,DE
-3280953528,3280953599,GB
-3280953600,3280953663,DE
-3280953664,3280953807,GB
-3280953808,3280953823,DE
-3280953824,3280954063,GB
-3280954064,3280954079,DE
-3280954080,3280954119,GB
-3280954120,3280954127,DE
-3280954128,3280954367,GB
-3280954368,3280954495,DE
-3280954496,3280955391,GB
-3280955392,3280955419,DE
-3280955420,3280955487,GB
-3280955488,3280955503,DE
-3280955504,3280955519,GB
-3280955520,3280955647,DE
-3280955648,3280955663,GB
-3280955664,3280955791,DE
+3280952784,3280952791,DE
+3280952792,3280952799,GB
+3280952800,3280952831,DE
+3280952832,3280955407,GB
+3280955408,3280955419,DE
+3280955420,3280955503,GB
+3280955504,3280955791,DE
3280955792,3280955799,GB
-3280955800,3280956143,DE
+3280955800,3280955999,DE
+3280956000,3280956007,GB
+3280956008,3280956015,DE
+3280956016,3280956023,GB
+3280956024,3280956039,DE
+3280956040,3280956047,GB
+3280956048,3280956095,DE
+3280956096,3280956103,GB
+3280956104,3280956143,DE
3280956144,3280956415,GB
3280956416,3280956927,DE
-3280956928,3280956991,GB
-3280956992,3280957007,DE
-3280957008,3280957015,GB
-3280957016,3280957019,DE
-3280957020,3280957151,GB
-3280957152,3280957167,DE
-3280957168,3280957183,GB
-3280957184,3280957199,DE
-3280957200,3280957215,GB
-3280957216,3280957231,DE
-3280957232,3280957247,GB
-3280957248,3280957249,DE
-3280957250,3280957255,GB
+3280956928,3280957255,GB
3280957256,3280957263,DE
3280957264,3280957311,GB
3280957312,3280957503,DE
-3280957504,3280957743,GB
-3280957744,3280957791,DE
-3280957792,3280957823,GB
-3280957824,3280957839,DE
-3280957840,3280957871,GB
-3280957872,3280957887,DE
-3280957888,3280957935,GB
-3280957936,3280957943,DE
-3280957944,3280958207,GB
-3280958208,3280958223,DE
-3280958224,3280958287,GB
-3280958288,3280958335,DE
-3280958336,3280958343,GB
-3280958344,3280958350,DE
-3280958351,3280958463,GB
-3280958464,3280958851,DE
-3280958852,3280958863,GB
+3280957504,3280957831,GB
+3280957832,3280957839,DE
+3280957840,3280958463,GB
+3280958464,3280958807,DE
+3280958808,3280958863,GB
3280958864,3280958871,DE
3280958872,3280958879,GB
-3280958880,3280958915,DE
-3280958916,3280958919,GB
-3280958920,3280958927,DE
-3280958928,3280958943,GB
-3280958944,3280959111,DE
+3280958880,3280958911,DE
+3280958912,3280958919,GB
+3280958920,3280959111,DE
3280959112,3280959119,GB
-3280959120,3280959199,DE
-3280959200,3280959263,GB
-3280959264,3280959279,DE
-3280959280,3280959487,GB
-3280959488,3280959711,DE
-3280959712,3280959743,GB
-3280959744,3280959935,DE
-3280959936,3280960015,GB
+3280959120,3280959279,DE
+3280959280,3280959743,GB
+3280959744,3280959775,DE
+3280959776,3280960015,GB
3280960016,3280960023,DE
3280960024,3280960031,GB
3280960032,3280960039,DE
-3280960040,3280960255,GB
-3280960256,3280960287,DE
-3280960288,3280960511,GB
-3280960512,3280961279,DE
-3280961280,3280961791,GB
-3280961792,3280961807,DE
-3280961808,3280961855,GB
-3280961856,3280961863,DE
-3280961864,3280961869,GB
-3280961870,3280961871,DE
-3280961872,3280961887,GB
-3280961888,3280961919,DE
-3280961920,3280962111,GB
-3280962112,3280962175,DE
-3280962176,3280962815,GB
+3280960040,3280962815,GB
3280962816,3280962831,DE
-3280962832,3280962847,GB
-3280962848,3280962887,DE
-3280962888,3280963199,GB
-3280963200,3280963263,DE
-3280963264,3280963303,GB
-3280963304,3280963311,DE
-3280963312,3280963327,GB
-3280963328,3280963343,DE
-3280963344,3280963359,GB
-3280963360,3280963423,DE
+3280962832,3280963343,GB
+3280963344,3280963367,DE
+3280963368,3280963375,GB
+3280963376,3280963391,DE
+3280963392,3280963407,GB
+3280963408,3280963423,DE
3280963424,3280963487,GB
3280963488,3280963495,DE
-3280963496,3280963511,GB
-3280963512,3280963515,DE
-3280963516,3280963519,GB
+3280963496,3280963519,GB
3280963520,3280963527,DE
-3280963528,3280963590,GB
-3280963591,3280963591,DE
-3280963592,3280963593,GB
-3280963594,3280963595,DE
-3280963596,3280963603,GB
-3280963604,3280963604,DE
-3280963605,3280963615,GB
-3280963616,3280963616,DE
-3280963617,3280963623,GB
-3280963624,3280963631,DE
-3280963632,3280963711,GB
-3280963712,3280963719,DE
-3280963720,3280963727,GB
-3280963728,3280963735,DE
-3280963736,3280963751,GB
-3280963752,3280963767,DE
-3280963768,3280963775,GB
-3280963776,3280963791,DE
-3280963792,3280963823,GB
-3280963824,3280963839,DE
-3280963840,3280964095,GB
-3280964096,3280964351,DE
-3280964352,3280965631,GB
-3280965632,3280965887,DE
-3280965888,3280965951,GB
-3280965952,3280965967,DE
-3280965968,3280966015,GB
-3280966016,3280966079,DE
-3280966080,3280966127,GB
-3280966128,3280966143,DE
-3280966144,3280967167,GB
-3280967168,3280967455,DE
-3280967456,3280967535,GB
-3280967536,3280967551,DE
-3280967552,3280968447,GB
+3280963528,3280963535,GB
+3280963536,3280963551,DE
+3280963552,3280968447,GB
3280968448,3280968703,DE
-3280968704,3280969039,GB
-3280969040,3280969087,DE
-3280969088,3280969599,GB
-3280969600,3280969603,DE
-3280969604,3280969631,GB
-3280969632,3280969647,DE
-3280969648,3280970239,GB
-3280970240,3280970399,DE
-3280970400,3280970431,GB
-3280970432,3280970463,DE
-3280970464,3280970507,GB
-3280970508,3280970511,DE
-3280970512,3280970575,GB
-3280970576,3280970579,DE
-3280970580,3280970671,GB
-3280970672,3280970687,DE
-3280970688,3280970775,GB
-3280970776,3280970783,DE
-3280970784,3280970799,GB
-3280970800,3280970815,DE
-3280970816,3280970847,GB
-3280970848,3280970863,DE
-3280970864,3280970975,GB
-3280970976,3280970991,DE
-3280970992,3280971039,GB
+3280968704,3280970239,GB
+3280970240,3280970495,DE
+3280970496,3280971039,GB
3280971040,3280971055,DE
-3280971056,3280971295,GB
-3280971296,3280971327,DE
-3280971328,3280971343,GB
-3280971344,3280971351,DE
-3280971352,3280971359,GB
-3280971360,3280971391,DE
-3280971392,3280971599,GB
-3280971600,3280971615,DE
-3280971616,3280971647,GB
-3280971648,3280971743,DE
-3280971744,3280971799,GB
-3280971800,3280971807,DE
-3280971808,3280971815,GB
-3280971816,3280971819,DE
-3280971820,3280971823,GB
-3280971824,3280971839,DE
-3280971840,3280972031,GB
-3280972032,3280972063,DE
-3280972064,3280972071,GB
-3280972072,3280972079,DE
-3280972080,3280972319,GB
-3280972320,3280972335,DE
-3280972336,3280972351,GB
-3280972352,3280972415,DE
-3280972416,3280974079,GB
+3280971056,3280974079,GB
3280974080,3280974335,DE
3280974336,3280974399,GB
3280974400,3280974415,DE
3280974416,3280974591,GB
3280974592,3280974847,DE
-3280974848,3280976695,GB
-3280976696,3280976719,DE
-3280976720,3280976831,GB
-3280976832,3280976847,DE
-3280976848,3280976895,GB
-3280976896,3280977023,DE
+3280974848,3280976911,GB
+3280976912,3280976927,DE
+3280976928,3280976935,GB
+3280976936,3280976951,DE
+3280976952,3280976991,GB
+3280976992,3280977023,DE
3280977024,3280977031,GB
-3280977032,3280977119,DE
-3280977120,3280977135,GB
-3280977136,3280977407,DE
-3280977408,3280977439,GB
-3280977440,3280977479,DE
-3280977480,3280977487,GB
-3280977488,3280977495,DE
-3280977496,3280977935,GB
-3280977936,3280977936,DE
-3280977937,3280977937,GB
-3280977938,3280977938,DE
-3280977939,3280977941,GB
-3280977942,3280977942,DE
-3280977943,3280977947,GB
-3280977948,3280977959,DE
-3280977960,3280977967,GB
-3280977968,3280977969,DE
-3280977970,3280977974,GB
-3280977975,3280977975,DE
-3280977976,3280977983,GB
-3280977984,3280978007,DE
-3280978008,3280978063,GB
-3280978064,3280978079,DE
-3280978080,3280978127,GB
-3280978128,3280978143,DE
-3280978144,3280978175,GB
-3280978176,3280978191,DE
-3280978192,3280978225,GB
-3280978226,3280978226,DE
-3280978227,3280978231,GB
+3280977032,3280977111,DE
+3280977112,3280977119,GB
+3280977120,3280977407,DE
+3280977408,3280977951,GB
+3280977952,3280977955,DE
+3280977956,3280977999,GB
+3280978000,3280978007,DE
+3280978008,3280978191,GB
+3280978192,3280978195,DE
+3280978196,3280978231,GB
3280978232,3280978239,DE
-3280978240,3280978271,GB
-3280978272,3280978279,DE
-3280978280,3280978335,GB
+3280978240,3280978335,GB
3280978336,3280978367,DE
3280978368,3280978383,GB
-3280978384,3280978415,DE
-3280978416,3280978433,GB
-3280978434,3280978441,DE
-3280978442,3280978442,GB
-3280978443,3280978443,DE
-3280978444,3280978445,GB
-3280978446,3280978479,DE
-3280978480,3280978503,GB
-3280978504,3280978507,DE
-3280978508,3280978543,GB
-3280978544,3280978552,DE
-3280978553,3280978575,GB
-3280978576,3280978591,DE
-3280978592,3280978783,GB
-3280978784,3280978799,DE
-3280978800,3280978847,GB
-3280978848,3280978863,DE
-3280978864,3280978887,GB
-3280978888,3280978891,DE
-3280978892,3280979003,GB
-3280979004,3280979007,DE
-3280979008,3280979023,GB
-3280979024,3280979044,DE
-3280979045,3280979049,GB
-3280979050,3280979051,DE
-3280979052,3280979052,GB
-3280979053,3280979053,DE
-3280979054,3280979103,GB
+3280978384,3280978399,DE
+3280978400,3280978495,GB
+3280978496,3280978499,DE
+3280978500,3280978623,GB
+3280978624,3280978631,DE
+3280978632,3280979023,GB
+3280979024,3280979039,DE
+3280979040,3280979103,GB
3280979104,3280979111,DE
-3280979112,3280979141,GB
-3280979142,3280979142,DE
-3280979143,3280979143,GB
-3280979144,3280979147,DE
-3280979148,3280979151,GB
+3280979112,3280979151,GB
3280979152,3280979159,DE
3280979160,3280979167,GB
3280979168,3280979183,DE
-3280979184,3280979199,GB
-3280979200,3280979215,DE
-3280979216,3280979231,GB
-3280979232,3280979247,DE
-3280979248,3280979311,GB
+3280979184,3280979311,GB
3280979312,3280979327,DE
-3280979328,3280979344,GB
-3280979345,3280979345,DE
-3280979346,3280979348,GB
-3280979349,3280979350,DE
-3280979351,3280979363,GB
-3280979364,3280979364,DE
-3280979365,3280979419,GB
-3280979420,3280979420,DE
-3280979421,3280979431,GB
-3280979432,3280979435,DE
-3280979436,3280979471,GB
-3280979472,3280979479,DE
-3280979480,3280979503,GB
-3280979504,3280979519,DE
-3280979520,3280979527,GB
-3280979528,3280979535,DE
-3280979536,3280979555,GB
+3280979328,3280979555,GB
3280979556,3280979559,DE
-3280979560,3280979567,GB
-3280979568,3280979568,DE
-3280979569,3280979569,GB
-3280979570,3280979571,DE
-3280979572,3280979573,GB
-3280979574,3280979574,DE
-3280979575,3280979576,GB
+3280979560,3280979576,GB
3280979577,3280979577,DE
-3280979578,3280979631,GB
-3280979632,3280979647,DE
-3280979648,3280979679,GB
-3280979680,3280979695,DE
-3280979696,3280979711,GB
-3280979712,3280979743,DE
-3280979744,3280979839,GB
+3280979578,3280979839,GB
3280979840,3280979975,DE
-3280979976,3280980031,GB
-3280980032,3280980039,DE
-3280980040,3280980047,GB
-3280980048,3280980071,DE
-3280980072,3280980079,GB
-3280980080,3280980081,DE
-3280980082,3280980085,GB
-3280980086,3280980086,DE
-3280980087,3280980089,GB
-3280980090,3280980090,DE
-3280980091,3280980092,GB
-3280980093,3280980093,DE
-3280980094,3280980094,GB
-3280980095,3280980095,DE
-3280980096,3280980103,GB
-3280980104,3280980111,DE
-3280980112,3280980135,GB
-3280980136,3280980143,DE
-3280980144,3280980147,GB
-3280980148,3280980151,DE
-3280980152,3280980168,GB
-3280980169,3280980170,DE
-3280980171,3280980175,GB
-3280980176,3280980183,DE
-3280980184,3280980191,GB
-3280980192,3280980199,DE
-3280980200,3280980298,GB
-3280980299,3280980299,DE
-3280980300,3280980300,GB
-3280980301,3280980304,DE
-3280980305,3280980305,GB
-3280980306,3280980307,DE
-3280980308,3280980310,GB
-3280980311,3280980311,DE
-3280980312,3280980312,GB
-3280980313,3280980313,DE
-3280980314,3280980351,GB
+3280979976,3280980080,GB
+3280980081,3280980081,DE
+3280980082,3280980351,GB
3280980352,3280980367,DE
-3280980368,3280980383,GB
-3280980384,3280980399,DE
-3280980400,3280980471,GB
+3280980368,3280980423,GB
+3280980424,3280980431,DE
+3280980432,3280980471,GB
3280980472,3280980479,DE
-3280980480,3280980503,GB
-3280980504,3280980508,DE
-3280980509,3280980592,GB
-3280980593,3280980594,DE
-3280980595,3280980601,GB
-3280980602,3280980602,DE
-3280980603,3280980603,GB
-3280980604,3280980606,DE
-3280980607,3280980639,GB
-3280980640,3280980647,DE
-3280980648,3280980683,GB
-3280980684,3280980703,DE
-3280980704,3280980759,GB
-3280980760,3280980767,DE
-3280980768,3280980823,GB
-3280980824,3280980827,DE
-3280980828,3280980831,GB
-3280980832,3280980847,DE
-3280980848,3280980927,GB
-3280980928,3280980991,DE
-3280980992,3280980993,GB
-3280980994,3280980996,DE
-3280980997,3280981000,GB
-3280981001,3280981001,DE
-3280981002,3280981039,GB
+3280980480,3280981039,GB
3280981040,3280981055,DE
-3280981056,3280981095,GB
-3280981096,3280981111,DE
-3280981112,3280981135,GB
-3280981136,3280981151,DE
-3280981152,3280981179,GB
-3280981180,3280981183,DE
-3280981184,3280981199,GB
-3280981200,3280981207,DE
-3280981208,3280981215,GB
+3280981056,3280981215,GB
3280981216,3280981231,DE
-3280981232,3280981247,GB
-3280981248,3280981375,DE
-3280981376,3280981407,GB
-3280981408,3280981415,DE
-3280981416,3280981487,GB
+3280981232,3280981487,GB
3280981488,3280981503,DE
-3280981504,3280981555,GB
-3280981556,3280981556,DE
-3280981557,3280981557,GB
-3280981558,3280981558,DE
-3280981559,3280981559,GB
-3280981560,3280981561,DE
-3280981562,3280981599,GB
-3280981600,3280981615,DE
-3280981616,3280981623,GB
-3280981624,3280981647,DE
-3280981648,3280981983,GB
+3280981504,3280981607,GB
+3280981608,3280981615,DE
+3280981616,3280981839,GB
+3280981840,3280981847,DE
+3280981848,3280981983,GB
3280981984,3280981999,DE
3280982000,3280982015,GB
3280982016,3280982023,DE
-3280982024,3280982047,GB
-3280982048,3280982051,DE
-3280982052,3280982052,GB
-3280982053,3280982053,DE
-3280982054,3280982079,GB
-3280982080,3280982095,DE
-3280982096,3280982167,GB
-3280982168,3280982175,DE
-3280982176,3280982239,GB
-3280982240,3280982263,DE
-3280982264,3280982269,GB
-3280982270,3280982270,DE
-3280982271,3280982271,GB
-3280982272,3280982287,DE
-3280982288,3280982399,GB
-3280982400,3280982431,DE
-3280982432,3280982528,GB
-3280982529,3280982529,DE
-3280982530,3280982530,GB
-3280982531,3280982531,DE
-3280982532,3280982536,GB
-3280982537,3280982537,DE
-3280982538,3280982580,GB
-3280982581,3280982582,DE
-3280982583,3280982607,GB
-3280982608,3280982671,DE
-3280982672,3280982676,GB
-3280982677,3280982677,DE
-3280982678,3280982678,GB
-3280982679,3280982679,DE
-3280982680,3280982680,GB
-3280982681,3280982686,DE
-3280982687,3280982767,GB
-3280982768,3280982783,DE
-3280982784,3280982799,GB
-3280982800,3280982815,DE
-3280982816,3280982863,GB
-3280982864,3280982864,DE
-3280982865,3280982866,GB
-3280982867,3280982867,DE
-3280982868,3280982879,GB
-3280982880,3280982895,DE
-3280982896,3280982911,GB
-3280982912,3280982931,DE
-3280982932,3280982943,GB
-3280982944,3280982975,DE
-3280982976,3280983072,GB
-3280983073,3280983073,DE
-3280983074,3280983103,GB
-3280983104,3280983104,DE
-3280983105,3280983112,GB
+3280982024,3280982255,GB
+3280982256,3280982263,DE
+3280982264,3280982607,GB
+3280982608,3280982623,DE
+3280982624,3280982655,GB
+3280982656,3280982671,DE
+3280982672,3280982951,GB
+3280982952,3280982959,DE
+3280982960,3280983112,GB
3280983113,3280983113,DE
-3280983114,3280983114,GB
-3280983115,3280983183,DE
-3280983184,3280983199,GB
-3280983200,3280983215,DE
-3280983216,3280983343,GB
-3280983344,3280983375,DE
-3280983376,3280983391,GB
-3280983392,3280983407,DE
-3280983408,3280983423,GB
+3280983114,3280983119,GB
+3280983120,3280983167,DE
+3280983168,3280983359,GB
+3280983360,3280983375,DE
+3280983376,3280983423,GB
3280983424,3280983431,DE
-3280983432,3280983455,GB
-3280983456,3280983471,DE
-3280983472,3280983487,GB
-3280983488,3280983515,DE
-3280983516,3280983516,GB
-3280983517,3280983517,DE
-3280983518,3280983518,GB
-3280983519,3280983527,DE
-3280983528,3280983695,GB
-3280983696,3280983711,DE
-3280983712,3280983783,GB
-3280983784,3280983791,DE
-3280983792,3280983807,GB
-3280983808,3280983815,DE
-3280983816,3280983887,GB
-3280983888,3280983919,DE
-3280983920,3280983927,GB
-3280983928,3280983939,DE
-3280983940,3280983951,GB
-3280983952,3280983975,DE
-3280983976,3280983999,GB
-3280984000,3280984007,DE
-3280984008,3280984013,GB
-3280984014,3280984014,DE
-3280984015,3280984015,GB
-3280984016,3280984031,DE
-3280984032,3280984319,GB
-3280984320,3280984335,DE
-3280984336,3280984367,GB
-3280984368,3280984399,DE
-3280984400,3280984431,GB
-3280984432,3280984443,DE
-3280984444,3280984445,GB
-3280984446,3280984495,DE
-3280984496,3280984503,GB
-3280984504,3280984511,DE
-3280984512,3280984527,GB
-3280984528,3280984535,DE
-3280984536,3280984559,GB
-3280984560,3280984567,DE
-3280984568,3280984639,GB
-3280984640,3280984640,DE
-3280984641,3280984642,GB
-3280984643,3280984643,DE
-3280984644,3280984646,GB
-3280984647,3280984647,DE
-3280984648,3280984661,GB
-3280984662,3280984662,DE
-3280984663,3280984663,GB
-3280984664,3280984671,DE
-3280984672,3280984984,GB
-3280984985,3280984985,DE
-3280984986,3280984987,GB
-3280984988,3280984988,DE
-3280984989,3280984991,GB
-3280984992,3280985007,DE
-3280985008,3280985047,GB
-3280985048,3280985055,DE
-3280985056,3280985079,GB
-3280985080,3280985087,DE
-3280985088,3280985343,GB
-3280985344,3280985415,DE
-3280985416,3280985431,GB
-3280985432,3280985435,DE
-3280985436,3280985471,GB
-3280985472,3280985631,DE
-3280985632,3280985635,GB
-3280985636,3280985647,DE
-3280985648,3280985663,GB
-3280985664,3280985679,DE
-3280985680,3280985695,GB
-3280985696,3280985703,DE
-3280985704,3280985727,GB
-3280985728,3280985735,DE
-3280985736,3280985791,GB
-3280985792,3280985823,DE
-3280985824,3280985831,GB
-3280985832,3280985832,DE
-3280985833,3280985833,GB
-3280985834,3280985834,DE
-3280985835,3280986263,GB
+3280983432,3280983887,GB
+3280983888,3280983895,DE
+3280983896,3280984495,GB
+3280984496,3280984503,DE
+3280984504,3280985639,GB
+3280985640,3280985647,DE
+3280985648,3280986263,GB
3280986264,3280986267,DE
-3280986268,3280986271,GB
-3280986272,3280986303,DE
-3280986304,3280986336,GB
-3280986337,3280986337,DE
-3280986338,3280986338,GB
-3280986339,3280986339,DE
-3280986340,3280986342,GB
-3280986343,3280986343,DE
-3280986344,3280986356,GB
-3280986357,3280986357,DE
-3280986358,3280986364,GB
-3280986365,3280986365,DE
-3280986366,3280986527,GB
-3280986528,3280986541,DE
-3280986542,3280986583,GB
-3280986584,3280986599,DE
-3280986600,3280986615,GB
-3280986616,3280986619,DE
-3280986620,3280986767,GB
-3280986768,3280986775,DE
-3280986776,3280986783,GB
-3280986784,3280986799,DE
-3280986800,3280986867,GB
-3280986868,3280986871,DE
-3280986872,3280987343,GB
-3280987344,3280987359,DE
-3280987360,3280987385,GB
-3280987386,3280987387,DE
-3280987388,3280987647,GB
-3280987648,3280987679,DE
-3280987680,3280987696,GB
-3280987697,3280987697,DE
-3280987698,3280987698,GB
-3280987699,3280987699,DE
-3280987700,3280987711,GB
-3280987712,3280987727,DE
-3280987728,3280987775,GB
-3280987776,3280987855,DE
-3280987856,3280987919,GB
-3280987920,3280987935,DE
-3280987936,3280987936,GB
-3280987937,3280987939,DE
-3280987940,3280987940,GB
-3280987941,3280987942,DE
-3280987943,3280988111,GB
-3280988112,3280988127,DE
-3280988128,3280988171,GB
-3280988172,3280988175,DE
-3280988176,3280988207,GB
-3280988208,3280988215,DE
-3280988216,3280988303,GB
+3280986268,3280987135,GB
+3280987136,3280987391,CH
+3280987392,3280987647,NL
+3280987648,3280987983,GB
+3280987984,3280987999,DE
+3280988000,3280988303,GB
3280988304,3280988311,DE
3280988312,3280988383,GB
3280988384,3280988391,DE
3280988392,3280988399,GB
3280988400,3280988431,DE
-3280988432,3280988671,GB
-3280988672,3280988679,DE
-3280988680,3280988703,GB
-3280988704,3280988719,DE
-3280988720,3280988740,GB
-3280988741,3280988741,DE
-3280988742,3280988747,GB
-3280988748,3280988751,DE
-3280988752,3280988815,GB
+3280988432,3280988815,GB
3280988816,3280988831,DE
3280988832,3280988855,GB
-3280988856,3280988879,DE
-3280988880,3280988895,GB
-3280988896,3280988903,DE
-3280988904,3280988915,GB
-3280988916,3280988916,DE
-3280988917,3280988917,GB
-3280988918,3280988918,DE
-3280988919,3280988923,GB
-3280988924,3280988943,DE
-3280988944,3280989007,GB
-3280989008,3280989010,DE
-3280989011,3280989011,GB
-3280989012,3280989012,DE
-3280989013,3280989023,GB
-3280989024,3280989039,DE
-3280989040,3280989055,GB
-3280989056,3280989063,DE
-3280989064,3280989067,GB
-3280989068,3280989071,DE
-3280989072,3280989135,GB
-3280989136,3280989151,DE
-3280989152,3280989183,GB
-3280989184,3280989187,DE
-3280989188,3280989195,GB
-3280989196,3280989199,DE
-3280989200,3280989239,GB
-3280989240,3280989243,DE
-3280989244,3280989255,GB
-3280989256,3280989263,DE
-3280989264,3280989270,GB
-3280989271,3280989279,DE
-3280989280,3280989303,GB
-3280989304,3280989311,DE
-3280989312,3280989351,GB
-3280989352,3280989359,DE
-3280989360,3280989367,GB
-3280989368,3280989371,DE
-3280989372,3280989373,GB
-3280989374,3280989391,DE
-3280989392,3280989406,GB
-3280989407,3280989407,DE
-3280989408,3280989427,GB
-3280989428,3280989439,DE
-3280989440,3280989446,GB
-3280989447,3280989447,DE
-3280989448,3280989535,GB
+3280988856,3280988863,DE
+3280988864,3280989015,GB
+3280989016,3280989039,DE
+3280989040,3280989063,GB
+3280989064,3280989067,DE
+3280989068,3280989335,GB
+3280989336,3280989343,DE
+3280989344,3280989375,GB
+3280989376,3280989391,DE
+3280989392,3280989463,GB
+3280989464,3280989471,DE
+3280989472,3280989535,GB
3280989536,3280989551,DE
-3280989552,3280989575,GB
-3280989576,3280989583,DE
-3280989584,3280989607,GB
-3280989608,3280989615,DE
-3280989616,3280989623,GB
-3280989624,3280989631,DE
-3280989632,3280989807,GB
-3280989808,3280989811,DE
-3280989812,3280989814,GB
-3280989815,3280989815,DE
-3280989816,3280989820,GB
+3280989552,3280989631,GB
+3280989632,3280989647,DE
+3280989648,3280989820,GB
3280989821,3280989821,DE
-3280989822,3280989839,GB
-3280989840,3280989847,DE
-3280989848,3280990047,GB
-3280990048,3280990079,DE
-3280990080,3280990119,GB
-3280990120,3280990143,DE
-3280990144,3280990191,GB
+3280989822,3280990047,GB
+3280990048,3280990063,DE
+3280990064,3280990191,GB
3280990192,3280990223,DE
3280990224,3280990231,GB
3280990232,3280990239,DE
3280990240,3280990271,GB
3280990272,3280990287,DE
-3280990288,3280990335,GB
-3280990336,3280990367,DE
-3280990368,3280990377,GB
-3280990378,3280990379,DE
-3280990380,3280990491,GB
-3280990492,3280990495,DE
-3280990496,3280990511,GB
-3280990512,3280990527,DE
-3280990528,3280990575,GB
-3280990576,3280990599,DE
-3280990600,3280990607,GB
-3280990608,3280990623,DE
-3280990624,3280990647,GB
-3280990648,3280990687,DE
-3280990688,3280990703,GB
+3280990288,3280990479,GB
+3280990480,3280990487,DE
+3280990488,3280990575,GB
+3280990576,3280990591,DE
+3280990592,3280990703,GB
3280990704,3280990719,DE
-3280990720,3280990751,GB
-3280990752,3280990767,DE
-3280990768,3280990847,GB
-3280990848,3280990871,DE
-3280990872,3280990872,GB
-3280990873,3280990873,DE
-3280990874,3280990875,GB
-3280990876,3280990879,DE
-3280990880,3280990901,GB
-3280990902,3280990902,DE
-3280990903,3280990903,GB
-3280990904,3280990905,DE
-3280990906,3280990908,GB
-3280990909,3280990910,DE
-3280990911,3280990911,GB
-3280990912,3280990927,DE
-3280990928,3280990963,GB
-3280990964,3280990964,DE
-3280990965,3280990968,GB
-3280990969,3280990969,DE
-3280990970,3280990975,GB
-3280990976,3280990983,DE
-3280990984,3280991027,GB
-3280991028,3280991028,DE
-3280991029,3280991031,GB
-3280991032,3280991055,DE
-3280991056,3280991199,GB
-3280991200,3280991211,DE
-3280991212,3280991359,GB
-3280991360,3280991375,DE
-3280991376,3280991391,GB
+3280990720,3280990863,GB
+3280990864,3280990871,DE
+3280990872,3280991391,GB
3280991392,3280991407,DE
-3280991408,3280991422,GB
-3280991423,3280991423,DE
-3280991424,3280991743,GB
-3280991744,3280992007,DE
-3280992008,3280992095,GB
-3280992096,3280992111,DE
-3280992112,3280992131,GB
-3280992132,3280992135,DE
-3280992136,3280992159,GB
-3280992160,3280992207,DE
-3280992208,3280992219,GB
-3280992220,3280992223,DE
-3280992224,3280992231,GB
+3280991408,3280992231,GB
3280992232,3280992239,DE
-3280992240,3280992319,GB
-3280992320,3280992335,DE
-3280992336,3280992367,GB
-3280992368,3280992383,DE
-3280992384,3280992391,GB
-3280992392,3280992415,DE
-3280992416,3280992495,GB
-3280992496,3280992503,DE
-3280992504,3280992508,GB
-3280992509,3280992509,DE
-3280992510,3280992543,GB
-3280992544,3280992551,DE
-3280992552,3280992575,GB
-3280992576,3280992591,DE
-3280992592,3280992767,GB
-3280992768,3280992775,DE
-3280992776,3280992783,GB
-3280992784,3280992799,DE
-3280992800,3280992847,GB
+3280992240,3280992399,GB
+3280992400,3280992415,DE
+3280992416,3280992799,GB
+3280992800,3280992815,DE
+3280992816,3280992847,GB
3280992848,3280992863,DE
-3280992864,3280992871,GB
-3280992872,3280992879,DE
-3280992880,3280993119,GB
-3280993120,3280993135,DE
-3280993136,3280993159,GB
-3280993160,3280993175,DE
-3280993176,3280993199,GB
-3280993200,3280993215,DE
-3280993216,3280993247,GB
-3280993248,3280993263,DE
-3280993264,3280993535,GB
-3280993536,3280994303,DE
-3280994304,3280994559,GB
+3280992864,3280993535,GB
+3280993536,3280993791,DE
+3280993792,3280994559,GB
3280994560,3280994815,RU
3280994816,3280995071,NL
3280995072,3280995327,DE
@@ -109335,7 +127874,6 @@
3280996608,3280996863,PL
3280996864,3280997119,NL
3280997120,3280997375,FR
-3280997376,3280997631,BE
3280997632,3280997887,SE
3280997888,3280998143,UA
3280998144,3280998399,DE
@@ -109378,8 +127916,8 @@
3281027808,3281027839,EU
3281027840,3281027903,GB
3281027904,3281028063,EU
-3281028064,3281028223,GB
-3281028224,3281028991,EU
+3281028064,3281028159,GB
+3281028160,3281028991,EU
3281028992,3281029055,GB
3281029056,3281030399,EU
3281030400,3281035263,GB
@@ -109498,9 +128036,7 @@
3281712192,3281712255,US
3281712256,3281715199,FR
3281715200,3281780735,TR
-3281780736,3281836543,FI
-3281836544,3281836799,AX
-3281836800,3281846271,FI
+3281780736,3281846271,FI
3281846272,3281861407,GB
3281861408,3281861423,FR
3281861424,3281868271,GB
@@ -109598,9 +128134,9 @@
3282206720,3282223103,CH
3282223104,3282231295,BE
3282231296,3282239487,DE
-3282239488,3282284567,SE
-3282284568,3282284579,FI
-3282284580,3282284591,SE
+3282239488,3282284559,SE
+3282284560,3282284583,FI
+3282284584,3282284591,SE
3282284592,3282284595,FI
3282284596,3282284599,SE
3282284600,3282284603,FI
@@ -109610,15 +128146,11 @@
3282287616,3282287759,FI
3282287760,3282305023,SE
3282305024,3282370559,PL
-3282370560,3282388095,FI
-3282388096,3282388159,AX
-3282388160,3282388175,FI
+3282370560,3282388175,FI
3282388176,3282388191,SE
3282388192,3282390015,FI
3282390016,3282390271,NL
-3282390272,3282408527,FI
-3282408528,3282408535,AX
-3282408536,3282416383,FI
+3282390272,3282416383,FI
3282416384,3282416511,RU
3282416512,3282429279,FI
3282429280,3282429311,SE
@@ -109626,7 +128158,8 @@
3282429344,3282436095,FI
3282436096,3282444159,GB
3282444160,3282444223,US
-3282444224,3282449023,GB
+3282444224,3282444287,EU
+3282444288,3282449023,GB
3282449024,3282449151,NL
3282449152,3282452479,GB
3282452480,3282452735,DE
@@ -109638,7 +128171,8 @@
3282464768,3282465023,SE
3282465024,3282465279,DE
3282465280,3282465535,IT
-3282465536,3282466047,GB
+3282465536,3282465919,EU
+3282465920,3282466047,GB
3282466048,3282466111,US
3282466112,3282466643,GB
3282466644,3282466655,IT
@@ -109698,12 +128232,17 @@
3282747392,3282763775,RU
3282763776,3282772991,GB
3282772992,3282773119,BE
-3282773120,3282844855,GB
+3282773120,3282774015,EU
+3282774016,3282779647,GB
+3282779648,3282780159,EU
+3282780160,3282844855,GB
3282844856,3282844863,A2
3282844864,3282952191,GB
3282952192,3282960383,NL
3282960384,3283091455,TR
-3283091456,3283156991,CH
+3283091456,3283111935,CH
+3283111936,3283113471,LI
+3283113472,3283156991,CH
3283156992,3283158215,DE
3283158216,3283158219,EE
3283158220,3283173375,DE
@@ -109762,7 +128301,6 @@
3283226624,3283227135,RU
3283227136,3283227647,UA
3283227648,3283228159,RU
-3283228160,3283228671,RO
3283228672,3283229183,RU
3283229184,3283229695,PL
3283229696,3283230207,IT
@@ -109774,7 +128312,6 @@
3283248128,3283248639,DE
3283248640,3283249151,RO
3283249152,3283249663,UA
-3283249664,3283250175,GB
3283250176,3283250687,RU
3283250688,3283251199,RO
3283251200,3283251711,FR
@@ -109822,7 +128359,7 @@
3283484672,3283484927,UA
3283484928,3283485183,NL
3283485184,3283485439,DE
-3283485440,3283485695,UA
+3283485440,3283485695,RU
3283485696,3283485951,GB
3283485952,3283486207,US
3283486208,3283486463,AT
@@ -109864,13 +128401,13 @@
3283496448,3283496703,HR
3283496704,3283496959,LV
3283496960,3283497215,DE
-3283497216,3283497471,GB
3283497472,3283497727,DE
3283497728,3283498239,PL
3283498240,3283498495,CH
3283498496,3283498751,PL
3283498752,3283499007,AT
3283499008,3283499263,DE
+3283499264,3283499519,RU
3283499520,3283499775,DE
3283499776,3283500031,GB
3283500032,3283500287,DE
@@ -109919,8 +128456,7 @@
3283540992,3283541503,RO
3283541504,3283542015,CH
3283542016,3283550207,IT
-3283550208,3283550239,AT
-3283550240,3283550287,EU
+3283550208,3283550287,EU
3283550288,3283550319,AT
3283550320,3283550463,EU
3283550464,3283550623,AT
@@ -109929,9 +128465,7 @@
3283550720,3283552255,AT
3283552256,3283552319,IT
3283552320,3283552351,EU
-3283552352,3283552431,IT
-3283552432,3283552447,EU
-3283552448,3283552575,IT
+3283552352,3283552575,IT
3283552576,3283552639,DE
3283552640,3283552671,IT
3283552672,3283552703,CH
@@ -110104,9 +128638,7 @@
3283585696,3283585727,FR
3283585728,3283585791,ES
3283585792,3283586047,IE
-3283586048,3283586335,ES
-3283586336,3283586343,EU
-3283586344,3283586351,ES
+3283586048,3283586351,ES
3283586352,3283586367,EU
3283586368,3283586407,ES
3283586408,3283586415,EU
@@ -110509,7 +129041,7 @@
3284044032,3284044287,FR
3284044288,3284044799,DE
3284044800,3284045055,CZ
-3284045056,3284045311,LT
+3284045056,3284045311,EE
3284045312,3284045567,DE
3284045568,3284045823,AT
3284045824,3284046079,UA
@@ -110590,7 +129122,7 @@
3284105728,3284106239,FI
3284106240,3284106751,RO
3284106752,3284107263,UA
-3284107264,3284108287,RU
+3284107776,3284108287,RU
3284108288,3284108799,CH
3284108800,3284109311,FR
3284109312,3284109823,RU
@@ -110623,8 +129155,7 @@
3284124672,3284125183,DE
3284125184,3284125695,RO
3284125696,3284126207,UA
-3284126208,3284127231,CZ
-3284127232,3284127743,HK
+3284126208,3284127743,CZ
3284127744,3284128255,RU
3284128256,3284128767,GB
3284128768,3284129279,SE
@@ -110651,9 +129182,7 @@
3284205568,3284271103,NL
3284271104,3284402175,GB
3284402176,3284467711,SE
-3284467712,3284485155,FI
-3284485156,3284485159,AX
-3284485160,3284531775,FI
+3284467712,3284531775,FI
3284531776,3284531779,NL
3284531780,3284533247,FI
3284533248,3284598783,SE
@@ -110670,7 +129199,7 @@
3284684288,3284684799,FR
3284684800,3284685311,DE
3284685312,3284685823,NL
-3284685824,3284686335,US
+3284685824,3284686335,DE
3284686336,3284686847,RO
3284686848,3284687359,PL
3284687360,3284687871,UA
@@ -110689,7 +129218,6 @@
3284714752,3284715007,AT
3284715008,3284715263,GB
3284715264,3284715519,PL
-3284715520,3284715775,RO
3284715776,3284716031,BE
3284716032,3284716287,IT
3284716288,3284716543,RU
@@ -110738,13 +129266,16 @@
3284844544,3284860927,CH
3284860928,3284863743,DE
3284863744,3284863999,FR
-3284864000,3284868863,DE
+3284864000,3284867231,EU
+3284867232,3284868863,DE
3284868864,3284869375,FR
3284869376,3284869631,DE
3284869632,3284869887,IT
3284869888,3284872959,DE
3284872960,3284873471,IT
-3284873472,3284913919,DE
+3284873472,3284875263,DE
+3284875264,3284878591,EU
+3284878592,3284913919,DE
3284913920,3284914175,GB
3284914176,3284926463,DE
3284926464,3284991999,NO
@@ -110766,9 +129297,7 @@
3285082112,3285084159,AT
3285084160,3285085183,LU
3285085184,3285086207,GB
-3285086208,3285088255,PL
-3285088256,3285089279,RU
-3285089280,3285090303,PL
+3285086208,3285090303,PL
3285090304,3285098495,DE
3285098496,3285114879,GB
3285114880,3285115903,RU
@@ -110884,9 +129413,7 @@
3285455888,3285455895,EU
3285455896,3285455903,GB
3285455904,3285455935,EU
-3285455936,3285456023,DE
-3285456024,3285456031,EU
-3285456032,3285456255,DE
+3285455936,3285456255,DE
3285456256,3285456287,EU
3285456288,3285456351,DE
3285456352,3285456383,EU
@@ -110911,8 +129438,8 @@
3285457664,3285457759,IT
3285457760,3285457791,EU
3285457792,3285457919,IT
-3285457920,3285458151,GB
-3285458152,3285458175,EU
+3285457920,3285458167,GB
+3285458168,3285458175,EU
3285458176,3285458943,GB
3285458944,3285458975,DK
3285458976,3285459007,EU
@@ -110940,18 +129467,22 @@
3285461448,3285461455,DE
3285461456,3285461535,NL
3285461536,3285461567,EU
-3285461568,3285461807,NL
+3285461568,3285461791,NL
+3285461792,3285461799,EU
+3285461800,3285461807,NL
3285461808,3285461855,EU
3285461856,3285461877,NL
3285461878,3285461879,EU
-3285461880,3285461991,NL
+3285461880,3285461967,NL
+3285461968,3285461975,EU
+3285461976,3285461991,NL
3285461992,3285461999,GB
3285462000,3285462007,NL
3285462008,3285462015,EU
3285462016,3285462207,DE
3285462208,3285462223,GB
-3285462224,3285462367,DE
-3285462368,3285462399,EU
+3285462224,3285462383,DE
+3285462384,3285462399,EU
3285462400,3285462527,DE
3285462528,3285462543,EU
3285462544,3285462655,DE
@@ -110961,8 +129492,8 @@
3285462952,3285462959,AT
3285462960,3285463007,EU
3285463008,3285463039,AT
-3285463040,3285463079,LU
-3285463080,3285463103,EU
+3285463040,3285463087,LU
+3285463088,3285463103,EU
3285463104,3285463135,LU
3285463136,3285463295,EU
3285463296,3285463311,FR
@@ -111000,9 +129531,7 @@
3285465344,3285465631,EU
3285465632,3285465727,DE
3285465728,3285465855,EU
-3285465856,3285465903,DE
-3285465904,3285465911,EU
-3285465912,3285465951,DE
+3285465856,3285465951,DE
3285465952,3285465983,EU
3285465984,3285466367,DE
3285466368,3285466447,CH
@@ -111015,8 +129544,8 @@
3285466880,3285466895,BG
3285466896,3285466911,EU
3285466912,3285466959,BG
-3285466960,3285466983,EU
-3285466984,3285467007,BG
+3285466960,3285466975,EU
+3285466976,3285467007,BG
3285467008,3285467015,EU
3285467016,3285467023,BG
3285467024,3285467135,EU
@@ -111027,7 +129556,9 @@
3285467712,3285467823,DE
3285467824,3285467831,EU
3285467832,3285467839,DE
-3285467840,3285467935,EU
+3285467840,3285467871,EU
+3285467872,3285467903,DE
+3285467904,3285467935,EU
3285467936,3285467951,DE
3285467952,3285467959,GB
3285467960,3285467967,EU
@@ -111055,8 +129586,8 @@
3285472224,3285472255,EU
3285472256,3285472287,DE
3285472288,3285472319,EU
-3285472320,3285472351,DE
-3285472352,3285472367,EU
+3285472320,3285472355,DE
+3285472356,3285472367,EU
3285472368,3285472511,DE
3285472512,3285473327,EU
3285473328,3285473343,DE
@@ -111088,9 +129619,7 @@
3285475216,3285475327,DE
3285475328,3285475623,EU
3285475624,3285475647,AT
-3285475648,3285475679,EU
-3285475680,3285475695,AT
-3285475696,3285475703,EU
+3285475648,3285475703,EU
3285475704,3285475711,AT
3285475712,3285475775,EU
3285475776,3285475783,AT
@@ -111111,15 +129640,15 @@
3285477152,3285477343,IT
3285477344,3285477359,EU
3285477360,3285477375,IT
-3285477376,3285477631,FR
-3285477632,3285477887,EU
-3285477888,3285477919,FR
+3285477376,3285477919,FR
3285477920,3285477951,EU
3285477952,3285477983,FR
3285477984,3285477999,EU
3285478000,3285478655,FR
3285478656,3285478911,EU
-3285478912,3285479391,FR
+3285478912,3285479311,FR
+3285479312,3285479359,EU
+3285479360,3285479391,FR
3285479392,3285479399,EU
3285479400,3285479407,GB
3285479408,3285479423,EU
@@ -111140,8 +129669,7 @@
3285481792,3285481983,EU
3285481984,3285481999,FR
3285482000,3285482007,CY
-3285482008,3285482015,EU
-3285482016,3285482087,FR
+3285482008,3285482087,FR
3285482088,3285482095,EU
3285482096,3285482239,FR
3285482240,3285482495,EU
@@ -111212,9 +129740,9 @@
3285496448,3285496471,ES
3285496472,3285496495,EU
3285496496,3285496527,FR
-3285496528,3285496543,EU
+3285496528,3285496543,ES
3285496544,3285496575,FR
-3285496576,3285496607,EU
+3285496576,3285496607,GB
3285496608,3285497855,DE
3285497856,3285497887,EU
3285497888,3285498079,DE
@@ -112176,9 +130704,7 @@
3285911552,3285912575,EU
3285912576,3285913087,GB
3285913088,3285913215,ES
-3285913216,3285913231,GB
-3285913232,3285913247,EU
-3285913248,3285913279,GB
+3285913216,3285913279,GB
3285913280,3285913343,ES
3285913344,3285913599,GB
3285913600,3285915647,EU
@@ -112190,8 +130716,12 @@
3285916704,3285916711,DE
3285916712,3285916719,CY
3285916720,3285916735,ES
-3285916736,3285916799,GB
-3285916800,3285916927,EU
+3285916736,3285916831,GB
+3285916832,3285916845,DE
+3285916846,3285916847,EU
+3285916848,3285916855,IT
+3285916856,3285916863,GB
+3285916864,3285916927,EU
3285916928,3285917183,GB
3285917184,3285917439,ES
3285917440,3285917695,YE
@@ -112223,34 +130753,30 @@
3285926408,3285926415,ES
3285926416,3285926431,GB
3285926432,3285926463,CH
-3285926464,3285926511,GB
-3285926512,3285926623,EU
+3285926464,3285926527,GB
+3285926528,3285926591,EU
+3285926592,3285926623,FR
3285926624,3285926631,US
-3285926632,3285926639,EU
-3285926640,3285926671,GB
-3285926672,3285926687,EU
+3285926632,3285926687,GB
3285926688,3285926719,IN
3285926720,3285926783,EU
-3285926784,3285926815,GB
-3285926816,3285926847,EU
-3285926848,3285926911,GB
+3285926784,3285926911,GB
3285926912,3285927423,DE
3285927424,3285927679,GB
3285927680,3285927935,IR
-3285927936,3285928063,EU
+3285927936,3285927967,GB
+3285927968,3285928063,EU
3285928064,3285928191,ES
3285928192,3285928207,PL
3285928208,3285928223,GB
3285928224,3285928255,DE
3285928256,3285928271,GB
3285928272,3285928287,DE
-3285928288,3285928319,GB
-3285928320,3285928447,EU
+3285928288,3285928351,GB
+3285928352,3285928447,EU
3285928448,3285928959,ES
3285928960,3285929983,EU
-3285929984,3285930511,GB
-3285930512,3285930527,EU
-3285930528,3285930559,GB
+3285929984,3285930559,GB
3285930560,3285930575,ES
3285930576,3285930623,GB
3285930624,3285930631,BE
@@ -112259,9 +130785,7 @@
3285930656,3285930671,NL
3285930672,3285930679,BE
3285930680,3285930687,DE
-3285930688,3285930719,GB
-3285930720,3285930751,EU
-3285930752,3285931007,GB
+3285930688,3285931007,GB
3285931008,3285932031,EU
3285932032,3285932287,NL
3285932288,3285932799,GB
@@ -112272,9 +130796,12 @@
3285934080,3285934591,GB
3285934592,3285934847,ES
3285934848,3285935615,GB
-3285935616,3285938175,EU
+3285935616,3285935631,EU
+3285935632,3285935647,GB
+3285935648,3285938175,EU
3285938176,3285938431,ES
-3285938432,3285938559,EU
+3285938432,3285938463,GB
+3285938464,3285938559,EU
3285938560,3285938607,GB
3285938608,3285938623,FR
3285938624,3285938631,NG
@@ -112286,12 +130813,19 @@
3285938952,3285938959,NL
3285938960,3285938975,US
3285938976,3285939071,ES
-3285939072,3285939199,EU
+3285939072,3285939087,EU
+3285939088,3285939103,FR
+3285939104,3285939199,EU
3285939200,3285939711,ES
-3285939712,3285940223,EU
+3285939712,3285939727,EU
+3285939728,3285939743,GB
+3285939744,3285940223,EU
3285940224,3285940479,ES
3285940480,3285941247,GB
-3285941248,3285942655,EU
+3285941248,3285942287,EU
+3285942288,3285942303,NL
+3285942304,3285942527,EU
+3285942528,3285942655,PT
3285942656,3285942783,IR
3285942784,3285943039,ES
3285943040,3285943295,SE
@@ -112299,18 +130833,19 @@
3285943552,3285943567,GB
3285943568,3285943575,ES
3285943576,3285943583,DE
-3285943584,3285943631,GB
-3285943632,3285943647,EU
+3285943584,3285943647,GB
3285943648,3285943679,NG
3285943680,3285943807,GB
3285943808,3285944319,EU
3285944320,3285944831,US
3285944832,3285945343,DK
3285945344,3285945599,ES
-3285945600,3285945663,EU
+3285945600,3285945615,EU
+3285945616,3285945631,GB
+3285945632,3285945663,EU
3285945664,3285945695,FR
-3285945696,3285945743,GB
-3285945744,3285945855,EU
+3285945696,3285945759,GB
+3285945760,3285945855,EU
3285945856,3285946111,GB
3285946112,3285946367,ES
3285946368,3285946879,GB
@@ -112331,17 +130866,17 @@
3285949952,3285950463,ES
3285950464,3285950719,GB
3285950720,3285950783,US
-3285950784,3285950799,GB
-3285950800,3285950943,EU
+3285950784,3285950815,GB
+3285950816,3285950943,EU
3285950944,3285950975,GB
3285950976,3285951231,NL
3285951232,3285951487,IT
-3285951488,3285951503,GB
-3285951504,3285951615,EU
+3285951488,3285951519,GB
+3285951520,3285951615,EU
3285951616,3285951647,GB
3285951648,3285951679,ES
-3285951680,3285951695,GB
-3285951696,3285951743,EU
+3285951680,3285951711,GB
+3285951712,3285951743,EU
3285951744,3285951999,GB
3285952000,3285952255,IT
3285952256,3285952511,SA
@@ -112356,10 +130891,10 @@
3285957632,3285957887,PL
3285957888,3285958143,GB
3285958144,3285958655,EU
-3285958656,3285958671,GB
-3285958672,3285958783,EU
-3285958784,3285958799,GB
-3285958800,3285958847,EU
+3285958656,3285958687,GB
+3285958688,3285958783,EU
+3285958784,3285958815,GB
+3285958816,3285958847,EU
3285958848,3285958895,NL
3285958896,3285959039,GB
3285959040,3285959167,DE
@@ -112381,9 +130916,9 @@
3285968384,3285968639,ES
3285968640,3285968895,PL
3285968896,3285971007,EU
-3285971008,3285971023,GB
-3285971024,3285971183,EU
-3285971184,3285971199,GB
+3285971008,3285971039,GB
+3285971040,3285971167,EU
+3285971168,3285971199,GB
3285971200,3285971455,FR
3285971456,3285971711,DE
3285971712,3285971967,GB
@@ -112400,8 +130935,8 @@
3285974016,3285975039,GB
3285975040,3286106111,FR
3286106112,3286106687,EE
-3286106688,3286106691,FI
-3286106692,3286114303,EE
+3286106688,3286106689,FI
+3286106690,3286114303,EE
3286114304,3286122495,BA
3286122496,3286130687,BY
3286130688,3286131711,RS
@@ -112571,14 +131106,15 @@
3286661376,3286661631,SI
3286661632,3286661887,GB
3286661888,3286662143,RU
-3286662144,3286662399,DE
3286662400,3286662655,UA
3286662656,3286662911,DE
3286662912,3286671359,UA
3286671360,3286679551,AT
3286679552,3286681631,IT
3286681632,3286681647,DE
-3286681648,3286681659,IT
+3286681648,3286681651,IT
+3286681652,3286681655,TN
+3286681656,3286681659,IT
3286681660,3286681663,ES
3286681664,3286681695,FR
3286681696,3286681699,ES
@@ -112670,7 +131206,7 @@
3286907392,3286907647,AT
3286907648,3286907903,ES
3286907904,3286908159,CH
-3286908160,3286908415,UA
+3286908160,3286908415,ES
3286908416,3286908671,FR
3286908672,3286908927,PL
3286908928,3286909951,CH
@@ -112764,9 +131300,7 @@
3286956032,3286957055,A2
3286957056,3286958079,EG
3286958080,3287023615,ES
-3287023616,3287097343,FI
-3287097344,3287097599,AX
-3287097600,3287154687,FI
+3287023616,3287154687,FI
3287154688,3287162879,BE
3287162880,3287171071,US
3287171072,3287171583,LT
@@ -112806,7 +131340,8 @@
3287213312,3287213567,FR
3287213568,3287214079,RU
3287214080,3287214335,GB
-3287214336,3287214847,DE
+3287214336,3287214591,DE
+3287214592,3287214847,NO
3287214848,3287215103,IT
3287215104,3287215359,PL
3287215360,3287215615,GB
@@ -112983,12 +131518,12 @@
3287638528,3287639039,DE
3287639040,3287639551,GB
3287639552,3287640063,RU
-3287640064,3287640575,DE
+3287640064,3287640575,PL
3287640576,3287641087,SI
3287641088,3287641599,A2
3287641600,3287642111,FI
3287642112,3287642623,UA
-3287642624,3287643135,BE
+3287642624,3287643135,NL
3287643136,3287643647,IT
3287643648,3287644671,UA
3287644672,3287645183,NL
@@ -113014,7 +131549,6 @@
3287667456,3287667711,RU
3287667712,3287667967,ES
3287667968,3287668223,PL
-3287668224,3287668479,RO
3287668480,3287668735,UA
3287668736,3287668991,SI
3287668992,3287669247,PL
@@ -113062,7 +131596,7 @@
3287703552,3287704063,CZ
3287704064,3287704575,NL
3287704576,3287705087,LU
-3287705088,3287705599,RU
+3287705088,3287705599,TJ
3287705600,3287706111,SA
3287706112,3287706623,RU
3287706624,3287707135,GB
@@ -113204,6 +131738,7 @@
3287955712,3287955967,DE
3287955968,3287956223,SI
3287956224,3287956479,RO
+3287956480,3287956735,BG
3287956736,3287956991,SE
3287956992,3287957247,UA
3287957248,3287957503,GB
@@ -113223,7 +131758,17 @@
3288143872,3288145663,DE
3288145664,3288146175,CH
3288146176,3288150015,DE
-3288150016,3288151551,NL
+3288150016,3288150103,NL
+3288150104,3288150271,DE
+3288150272,3288150359,NL
+3288150360,3288150495,DE
+3288150496,3288150591,NL
+3288150592,3288150783,DE
+3288150784,3288150871,NL
+3288150872,3288150911,DE
+3288150912,3288150975,NL
+3288150976,3288151039,DE
+3288151040,3288151551,NL
3288151552,3288236031,DE
3288236032,3288236543,LI
3288236544,3288237055,FR
@@ -113286,8 +131831,9 @@
3288429568,3288430335,GH
3288430336,3288430591,EG
3288430592,3288432639,SC
-3288432640,3288433151,ZA
-3288433152,3288434175,BW
+3288432640,3288433407,ZA
+3288433408,3288433919,KE
+3288433920,3288434175,NG
3288434176,3288434431,IN
3288434432,3288434687,CU
3288434688,3288434943,JM
@@ -113306,16 +131852,17 @@
3288444928,3288449023,NG
3288449024,3288465407,SD
3288465408,3288465919,JM
+3288465920,3288466175,BW
3288466176,3288466431,MU
3288466432,3288467455,SY
3288467456,3288469503,BI
3288469504,3288485887,ZA
3288485888,3288489983,MA
3288489984,3288514559,ZA
-3288514560,3288530943,EG
+3288514560,3288522751,EG
3288530944,3288532991,JM
3288532992,3288534527,PR
-3288534528,3288535039,EG
+3288534528,3288535039,MG
3288535040,3288539135,AN
3288539136,3288545535,US
3288545536,3288545791,ZA
@@ -113354,10 +131901,14 @@
3288616960,3288617215,ZW
3288617216,3288661759,ZA
3288661760,3288662015,LS
-3288662016,3289070335,ZA
+3288662016,3288727551,ZA
+3288727552,3288727807,MU
+3288727808,3289063423,ZA
+3289069568,3289070335,ZA
3289070336,3289070591,ZW
3289070592,3289070847,NA
-3289070848,3289086975,ZA
+3289070848,3289071103,ZA
+3289071616,3289086975,ZA
3289086976,3289087231,SZ
3289087232,3289120767,ZA
3289120768,3289123327,PR
@@ -113368,7 +131919,9 @@
3289128960,3289137151,IN
3289137152,3289153535,BM
3289153536,3289161727,RW
-3289161728,3289169631,PR
+3289161728,3289163263,PR
+3289163264,3289163519,US
+3289163520,3289169631,PR
3289169632,3289169663,US
3289169664,3289169919,PR
3289169920,3289186303,MA
@@ -113376,12 +131929,10 @@
3289229312,3289229567,SZ
3289229824,3289230591,ZA
3289233408,3289320191,ZA
-3289320192,3289320447,NA
+3289320192,3289320447,MU
3289321472,3289325567,IN
3289325568,3289333759,SA
-3289333760,3289376767,ZA
-3289376768,3289378815,SZ
-3289378816,3289645055,ZA
+3289333760,3289645055,ZA
3289645056,3289653247,NA
3289653248,3289661439,EG
3289661440,3289677823,DZ
@@ -113394,9 +131945,7 @@
3289779200,3289780223,GW
3289780224,3289788415,ZA
3289788416,3289792511,MZ
-3289792512,3289796607,ZA
-3289796608,3289796863,SZ
-3289796864,3289809407,ZA
+3289792512,3289809407,ZA
3289809408,3289809663,EG
3289809664,3289809919,KE
3289809920,3289812991,ZA
@@ -113447,7 +131996,24 @@
3290171904,3290172159,NG
3290172160,3290172415,KE
3290172416,3290181631,ZA
-3290181632,3290185727,PR
+3290181632,3290181887,US
+3290181888,3290181951,PR
+3290181952,3290181959,US
+3290181960,3290181967,PR
+3290181968,3290182031,US
+3290182032,3290182032,PR
+3290182033,3290182047,US
+3290182048,3290182078,PR
+3290182079,3290182143,US
+3290182144,3290182335,PR
+3290182336,3290182655,US
+3290182656,3290182911,PR
+3290182912,3290183199,US
+3290183200,3290183230,PR
+3290183231,3290183294,US
+3290183295,3290183326,PR
+3290183327,3290185215,US
+3290185216,3290185727,PR
3290185728,3290226687,ZA
3290226688,3290230783,MZ
3290230784,3290234879,BF
@@ -113479,18 +132045,18 @@
3290488832,3290489343,NG
3290489344,3290489855,KE
3290489856,3290490367,EG
-3290490880,3290492927,ZA
+3290490368,3290492927,ZA
3290492928,3290494975,TZ
3290497024,3290955775,ZA
3290955776,3290980351,CR
3290980352,3290984447,ZA
-3290988544,3291004927,KE
+3290988544,3290992639,KE
3291004928,3291021311,NG
3291021312,3291029503,ZA
3291029504,3291033343,TZ
3291033344,3291033599,KE
3291033600,3291037695,TZ
-3291037696,3291078655,ZA
+3291045888,3291078655,ZA
3291078656,3291086847,DZ
3291086848,3291103231,PR
3291152384,3291168767,ZA
@@ -113525,6 +132091,14 @@
3291209472,3291209727,AO
3291209728,3291209983,NG
3291209984,3291210239,GH
+3291210240,3291210495,UG
+3291210496,3291210751,ZA
+3291210752,3291211007,KE
+3291211008,3291211263,SL
+3291211264,3291211519,TZ
+3291211520,3291211775,ZA
+3291211776,3291212031,NG
+3291216896,3291217919,MU
3291217920,3291230207,ZA
3291230208,3291234303,GH
3291234304,3291242495,ZA
@@ -113549,7 +132123,9 @@
3291326464,3291330559,ZA
3291330560,3291331583,TZ
3291331584,3291332607,MW
-3291332608,3291348991,NG
+3291332608,3291332615,ZA
+3291332616,3291332863,NG
+3291332864,3291348991,ZA
3291348992,3291353087,MZ
3291353088,3291353343,KE
3291353344,3291353599,EG
@@ -113570,7 +132146,8 @@
3291367424,3291369471,AO
3291369472,3291373567,GH
3291373568,3291377663,TZ
-3291377664,3291379711,ZA
+3291377664,3291378687,CD
+3291378688,3291379711,ZA
3291379712,3291380735,TZ
3291380736,3291381759,ZM
3291381760,3291383807,TZ
@@ -113596,13 +132173,69 @@
3291435520,3291436543,NA
3291436544,3291437567,ZA
3291437568,3291437823,NA
-3291437824,3291439103,ZA
+3291437824,3291438079,ZA
+3291438080,3291438335,NA
+3291438336,3291439103,ZA
3291447296,3291463679,CI
3291480064,3292528639,ZA
3300917248,3300921343,MU
3300925440,3300929535,MG
3300933632,3300950015,MU
-3301441536,3301445631,NG
+3301441536,3301441567,ZA
+3301441568,3301441575,NG
+3301441576,3301441655,ZA
+3301441656,3301441663,NG
+3301441664,3301441815,ZA
+3301441816,3301441823,NG
+3301441824,3301441879,ZA
+3301441880,3301441887,NG
+3301441888,3301441911,ZA
+3301441912,3301441919,NG
+3301441920,3301441999,ZA
+3301442000,3301442007,NG
+3301442008,3301442351,ZA
+3301442352,3301442359,NG
+3301442360,3301442391,ZA
+3301442392,3301442399,NG
+3301442400,3301442415,ZA
+3301442416,3301442423,NG
+3301442424,3301442599,ZA
+3301442600,3301442607,NG
+3301442608,3301442679,ZA
+3301442680,3301442687,NG
+3301442688,3301442727,ZA
+3301442728,3301442735,NG
+3301442736,3301442823,ZA
+3301442824,3301442831,NG
+3301442832,3301443007,ZA
+3301443008,3301443015,NG
+3301443016,3301443295,ZA
+3301443296,3301443303,NG
+3301443304,3301443519,ZA
+3301443520,3301443527,NG
+3301443528,3301443591,ZA
+3301443592,3301443599,NG
+3301443600,3301443655,ZA
+3301443656,3301443663,NG
+3301443664,3301443695,ZA
+3301443696,3301443703,NG
+3301443704,3301443847,ZA
+3301443848,3301443855,NG
+3301443856,3301444383,ZA
+3301444384,3301444391,NG
+3301444392,3301444415,ZA
+3301444416,3301444431,NG
+3301444432,3301444599,ZA
+3301444600,3301444607,NG
+3301444608,3301445047,ZA
+3301445048,3301445055,NG
+3301445056,3301445063,ZA
+3301445064,3301445071,NG
+3301445072,3301445175,ZA
+3301445176,3301445183,NG
+3301445184,3301445255,ZA
+3301445256,3301445263,NG
+3301445264,3301445631,ZA
3301445632,3301453823,KE
3301453824,3301457919,ML
3301457920,3301462015,NG
@@ -113610,10 +132243,8 @@
3301466112,3301470207,ER
3301470208,3301474303,NG
3301474304,3301490687,MA
-3301490688,3301494783,DZ
-3301494784,3301498879,NG
-3301498880,3301507071,GH
-3301507328,3301507583,US
+3301494784,3301498879,TZ
+3301507328,3301507583,ZW
3301507584,3301507839,GH
3301507840,3301508095,EG
3301508096,3301508607,MW
@@ -113631,9 +132262,7 @@
3301570560,3301572607,KE
3301572608,3301605375,EG
3301605376,3301613567,SD
-3301613568,3301621759,NG
3301621760,3301629951,KE
-3301629952,3301631999,NG
3301632000,3301634047,CM
3301634048,3301636095,LS
3301636096,3301637119,ZA
@@ -113647,17 +132276,15 @@
3301904384,3301908479,KE
3301908480,3301912575,ZA
3301912576,3301916671,MU
-3301933056,3301949439,NG
3301949440,3301965823,SN
3301965824,3302490111,ZA
3302490368,3302490623,US
-3302490624,3302492159,MU
+3302490624,3302491135,MU
3302492160,3302494207,MW
3302494208,3302496255,ZA
3302498304,3302506495,NA
3302506496,3302514687,KE
-3302522880,3302524927,KE
-3302524928,3302525951,AO
+3302522880,3302523903,KE
3302525952,3302526975,EG
3302526976,3302529023,NG
3302529024,3302530047,ZA
@@ -113675,6 +132302,7 @@
3302536192,3302537215,GH
3302537216,3302538239,NG
3302538240,3302539263,GH
+3302539264,3302540287,ZA
3302551552,3302552063,EG
3302552064,3302552575,KE
3302552576,3302552831,TZ
@@ -113692,9 +132320,7 @@
3302621184,3302684671,EG
3302684672,3302686719,JO
3302686720,3302752255,EG
-3302752256,3302753031,NG
-3302753032,3302753039,MA
-3302753040,3302753359,NG
+3302752256,3302753359,NG
3302753360,3302753363,CM
3302753364,3302753607,NG
3302753608,3302753615,GH
@@ -113704,9 +132330,9 @@
3302776832,3302785023,ZW
3302801408,3302805503,NG
3302805504,3302809599,MW
-3302813696,3302817791,NG
+3302809600,3302817791,NG
3302817792,3302883327,EG
-3302883328,3302948863,MA
+3302883328,3302948863,NG
3302948864,3302949119,MU
3302949120,3302949375,AO
3302949376,3302949631,ZM
@@ -113741,13 +132367,28 @@
3314286592,3314548735,DZ
3315335168,3315351551,ZA
3315351552,3315367935,ET
+3315367936,3315384319,KE
+3315384320,3315400703,NG
+3315400704,3315417087,UG
+3315417088,3315425279,ZA
+3315466240,3315482623,MZ
+3315531776,3315539967,CM
+3315539968,3315548159,ZA
+3315548160,3315552255,NG
+3315552256,3315556351,GW
+3315556352,3315560447,KE
+3315560448,3315564543,TZ
3315564544,3315568639,GH
+3315568640,3315572735,MG
+3315572736,3315580927,ST
3315580928,3315589119,CI
+3315589120,3315597311,CM
3315597312,3316121599,EG
3316121600,3316645887,ZA
3316645888,3317170175,KE
3317694464,3318218751,EG
3318218752,3318743039,DZ
+3319267328,3319398399,AO
3319398400,3319529471,MZ
3319529472,3319537663,ZM
3319537664,3319545855,MW
@@ -113767,14 +132408,19 @@
3319791616,3320053759,MU
3320578048,3320643583,ZA
3320643584,3320709119,KE
-3320709120,3320840191,ZA
+3320709120,3320774655,ZA
+3320840192,3320905727,NG
+3321036800,3321069567,RW
+3321069568,3321102335,NA
3321102336,3321167871,NG
3321167872,3321233407,ZA
3321233408,3321298943,EG
+3321298944,3321364479,MA
3321364480,3321430015,KE
3321430016,3321495551,MZ
3321495552,3321561087,TZ
3321561088,3321593855,SD
+3321593856,3321626623,GH
3321626624,3321692159,SD
3321692160,3321708543,NG
3321708544,3321724927,GH
@@ -113783,7 +132429,7 @@
3321790464,3321806847,LS
3321806848,3321823231,SD
3321823232,3321839615,NG
-3321839616,3321855999,GH
+3321839616,3321855999,MU
3321856000,3321860095,CV
3321860096,3321864191,ZA
3321864192,3321868287,NG
@@ -113815,13 +132461,11 @@
3322740736,3322773503,US
3322806272,3322871807,US
3322873856,3322875903,US
-3322875904,3322888191,AU
+3322880000,3322888191,AU
3322937344,3322945535,US
3323003136,3323003391,JP
3323003392,3323003647,US
-3323004160,3323004671,US
-3323004672,3323004927,CN
-3323004928,3323013631,US
+3323003904,3323013631,US
3323013888,3323014143,CA
3323014144,3323017727,US
3323017728,3323017983,CA
@@ -113830,10 +132474,7 @@
3323020800,3323021055,SG
3323021056,3323022591,US
3323022592,3323022847,GB
-3323022848,3323030015,US
-3323030016,3323030271,AU
-3323030272,3323031039,US
-3323031552,3323032575,AU
+3323022848,3323031551,US
3323032576,3323032831,US
3323032832,3323033087,IT
3323033088,3323033343,JP
@@ -113843,24 +132484,17 @@
3323038976,3323048959,US
3323048960,3323049727,NL
3323049728,3323061247,US
-3323061248,3323061503,SG
3323061504,3323062015,US
3323062016,3323062527,BR
-3323062784,3323064319,US
-3323064320,3323064831,AU
-3323064832,3323068415,US
+3323062784,3323068415,US
3323201536,3323203583,CA
3323203584,3323207679,US
3323207680,3323215871,CA
3323265024,3323297791,US
3323330816,3323331071,US
3323331072,3323331839,CA
-3323331840,3323339263,US
-3323339264,3323339519,AU
-3323339520,3323339775,TH
-3323340032,3323340287,NZ
-3323340288,3323342335,US
-3323342592,3323343615,AU
+3323331840,3323342335,US
+3323342592,3323342847,AU
3323343616,3323343871,DE
3323343872,3323345919,US
3323346176,3323346431,AU
@@ -113880,9 +132514,15 @@
3323662336,3323674623,US
3323723776,3324011007,US
3324011008,3324011263,KN
-3324011264,3324036351,US
-3324036352,3324047615,KN
-3324047616,3324051455,US
+3324011264,3324030463,US
+3324030464,3324030719,KN
+3324030720,3324033791,US
+3324033792,3324034047,KN
+3324034048,3324035583,US
+3324035584,3324035839,KN
+3324035840,3324036351,US
+3324036352,3324036607,KN
+3324036608,3324051455,US
3324051456,3324182527,CA
3324182528,3324256255,US
3324256256,3324259327,SA
@@ -113894,26 +132534,23 @@
3324380160,3324391423,US
3324395520,3324399615,US
3324411904,3324470271,US
-3324470272,3324471295,GB
-3324471296,3324579839,US
-3324579840,3324583935,NZ
+3324470272,3324473599,GB
+3324473600,3324473855,US
+3324473856,3324474367,GB
+3324474368,3324579839,US
3324583936,3324588031,CL
3324592128,3324596223,US
3324641280,3324642303,US
3324642304,3324642559,CA
3324642560,3324645887,US
3324645888,3324646143,CA
-3324646144,3324646911,US
-3324646912,3324647167,CA
-3324647168,3324647679,US
+3324646144,3324647679,US
3324647680,3324647935,CA
3324647936,3324650495,US
3324650496,3324650751,CA
3324650752,3324653311,US
3324653312,3324653567,CA
-3324653568,3324655359,US
-3324655360,3324655615,CA
-3324655616,3324655871,US
+3324653568,3324655871,US
3324655872,3324656127,CA
3324656128,3324659967,US
3324659968,3324660223,CA
@@ -113935,9 +132572,7 @@
3324674816,3324675327,CA
3324675328,3324676351,US
3324676352,3324676863,CA
-3324676864,3324678143,US
-3324678144,3324678399,CA
-3324678400,3324678911,US
+3324676864,3324678911,US
3324678912,3324679167,CA
3324679168,3324679423,US
3324679424,3324679935,CA
@@ -113955,12 +132590,12 @@
3324692992,3324693247,CA
3324693248,3324693503,US
3324693504,3324693759,CA
-3324693760,3324694015,US
-3324694016,3324694271,CA
-3324694272,3324694527,US
+3324693760,3324694527,US
3324694528,3324695039,CA
3324695040,3324695551,US
-3324695552,3324696575,CA
+3324695552,3324695807,CA
+3324695808,3324696063,US
+3324696064,3324696575,CA
3324696576,3324696831,US
3324696832,3324697087,CA
3324697088,3324698623,US
@@ -113968,7 +132603,9 @@
3324699136,3324699391,US
3324699392,3324699647,CA
3324699648,3324701183,US
-3324701184,3324702207,CA
+3324701184,3324701695,CA
+3324701696,3324701951,US
+3324701952,3324702207,CA
3324702208,3324703999,US
3324704000,3324704255,CA
3324704256,3324706303,US
@@ -113977,15 +132614,8 @@
3325034496,3325035519,NZ
3325035520,3325046783,US
3325050880,3325059071,US
-3325100288,3325100543,US
-3325100544,3325100799,HK
-3325100800,3325101055,NZ
-3325101056,3325108223,US
-3325108224,3325110271,AU
-3325110272,3325112319,US
-3325120512,3325122047,US
-3325122304,3325122559,AU
-3325122560,3325128703,US
+3325100032,3325116415,US
+3325120512,3325128703,US
3325128704,3325129215,TH
3325129216,3325131775,US
3325131776,3325132031,AU
@@ -114003,16 +132633,11 @@
3325169664,3325171711,BR
3325173760,3325190143,US
3325231104,3325232127,US
-3325232128,3325233151,AU
3325233152,3325234175,US
3325234176,3325234431,SA
3325234432,3325249279,US
3325249280,3325249535,CO
-3325249536,3325256447,US
-3325256448,3325256703,HK
-3325256960,3325257215,ID
-3325257216,3325257727,US
-3325258752,3325259775,US
+3325249536,3325259775,US
3325259776,3325261311,CA
3325261312,3325264895,US
3325267200,3325267711,US
@@ -114022,13 +132647,10 @@
3325270016,3325271039,US
3325271040,3325271295,CA
3325271296,3325271551,US
-3325271808,3325278719,US
-3325278720,3325278975,AU
-3325278976,3325281023,US
+3325271808,3325281023,US
3325281024,3325281279,NZ
-3325281280,3325281535,AU
-3325281536,3325284863,US
-3325284864,3325285375,AU
+3325281280,3325284863,US
+3325284864,3325285119,AU
3325285376,3325304831,US
3325304832,3325307647,CA
3325307648,3325307903,BB
@@ -114043,9 +132665,7 @@
3325497344,3325501439,PR
3325501440,3325505535,US
3325509632,3325517823,US
-3325526016,3325562879,US
-3325562880,3325566975,PH
-3325566976,3325591551,US
+3325526016,3325591551,US
3325624320,3325640703,US
3325640704,3325644799,CA
3325689856,3325690367,JM
@@ -114053,12 +132673,7 @@
3325691904,3325693951,BR
3325693952,3325700095,US
3325706240,3325708287,US
-3325755392,3325886463,US
-3325886464,3325887487,NZ
-3325887488,3325888511,US
-3325888512,3325890559,AU
-3325890560,3325911039,US
-3325952000,3325956095,US
+3325755392,3325956095,US
3325956096,3325960191,CA
3325960192,3325976063,US
3325976064,3325976319,CA
@@ -114082,9 +132697,7 @@
3326349824,3326350335,EC
3326350336,3326390527,US
3326390528,3326390535,CA
-3326390536,3326400639,US
-3326400640,3326400655,PR
-3326400656,3326402111,US
+3326390536,3326402111,US
3326402112,3326402119,PR
3326402120,3326406655,US
3326406656,3326408703,CO
@@ -114138,18 +132751,17 @@
3327996928,3328028671,US
3328028672,3328030719,AN
3328030720,3328180223,US
-3328180224,3328210175,CA
-3328210176,3328210943,AE
-3328210944,3328214783,CA
+3328180224,3328214783,CA
3328214784,3328215295,GB
-3328215296,3328233983,CA
-3328233984,3328234239,AE
-3328234240,3328235007,CA
+3328215296,3328235007,CA
3328235008,3328235263,US
3328235520,3328241663,CA
-3328241664,3328243199,US
+3328241664,3328242943,US
+3328242944,3328243199,GB
3328243200,3328245759,CA
-3328245760,3328414719,US
+3328245760,3328394239,US
+3328394240,3328394495,GB
+3328394496,3328414719,US
3328414720,3328414975,CH
3328414976,3328420351,US
3328420352,3328420607,CA
@@ -114182,8 +132794,8 @@
3330613248,3330614783,CA
3330614784,3330617087,US
3330617088,3330617343,CA
-3330617344,3330621183,US
-3330621184,3330623743,CA
+3330617344,3330621439,US
+3330621440,3330623743,CA
3330623744,3330624255,US
3330624512,3330625535,US
3330625536,3330627071,GB
@@ -114195,9 +132807,7 @@
3330647296,3330647807,US
3330648064,3330649343,US
3330649600,3330649855,CA
-3330649856,3330657791,US
-3330657792,3330658047,JP
-3330658048,3330662911,US
+3330649856,3330662911,US
3330662912,3330663167,GB
3330663168,3330664191,US
3330664192,3330664447,CA
@@ -114255,18 +132865,24 @@
3331647232,3331647487,CA
3331647488,3331649279,US
3331649280,3331649535,CA
-3331649536,3331818495,US
+3331649536,3331798271,US
+3331798272,3331798527,AU
+3331798528,3331818495,US
3331818496,3331818751,MX
3331818752,3332440063,US
3332440064,3332460543,CA
3332460544,3332460799,US
3332460800,3332461311,CA
-3332461568,3332554751,CA
+3332461568,3332503039,CA
+3332503040,3332503551,US
+3332503552,3332554751,CA
3332558848,3332562943,CA
3332562944,3332563455,US
3332563456,3332590079,CA
3332590080,3332590591,US
-3332590592,3332618239,CA
+3332590592,3332616191,CA
+3332616192,3332616959,US
+3332616960,3332617471,CA
3332618240,3332624383,US
3332624384,3332724735,CA
3332724736,3332726783,PM
@@ -114317,9 +132933,7 @@
3333717248,3333717503,FR
3333717504,3333717759,SG
3333717760,3333718015,NL
-3333718016,3333723647,US
-3333723648,3333724671,JP
-3333724672,3333859839,US
+3333718016,3333859839,US
3333859840,3333860095,BM
3333860096,3333988607,US
3333988608,3333988863,BR
@@ -114349,28 +132963,20 @@
3335480192,3335480319,IT
3335480320,3335860991,US
3335860992,3335861247,MX
-3335861248,3337043967,US
-3337043968,3337044223,CA
-3337044224,3337044479,US
-3337044480,3337044735,CA
-3337044736,3337044991,US
-3337044992,3337046015,CA
-3337046016,3337046527,US
-3337046528,3337047551,CA
+3335861248,3337047039,US
+3337047040,3337047551,CA
3337047552,3337050111,US
3337050112,3337051647,CA
3337051648,3337051903,US
3337051904,3337052159,CA
-3337052160,3337053183,US
-3337053184,3337054463,CA
-3337054464,3337054719,US
-3337054720,3337054975,CA
-3337054976,3337055231,US
+3337052160,3337055231,US
3337055232,3337060351,CA
3337060352,3337289727,US
3337289728,3337297919,CA
3337297920,3337302015,US
-3337302016,3337335295,CA
+3337302016,3337304319,CA
+3337304320,3337305599,US
+3337305600,3337335295,CA
3337335296,3337335807,US
3337335808,3337355263,CA
3337355264,3337650175,US
@@ -114395,9 +133001,7 @@
3338207488,3338207743,CA
3338207744,3338208511,US
3338208512,3338208767,CA
-3338208768,3338211071,US
-3338211072,3338211327,CA
-3338211328,3338211583,US
+3338208768,3338211583,US
3338211584,3338212095,CA
3338212096,3338215423,US
3338215424,3338215935,CA
@@ -114409,9 +133013,7 @@
3338220544,3338221055,CA
3338221056,3338222847,US
3338222848,3338223359,CA
-3338223360,3338225151,US
-3338225152,3338225407,CA
-3338225408,3338228735,US
+3338223360,3338228735,US
3338228736,3338228991,CA
3338228992,3338229759,US
3338229760,3338230015,CA
@@ -114462,8 +133064,8 @@
3338258688,3338259455,US
3338259456,3338259711,CA
3338259712,3338260735,US
-3338260736,3338262015,CA
-3338262016,3338262527,US
+3338260736,3338261759,CA
+3338261760,3338262527,US
3338262528,3338263039,CA
3338263040,3338264063,US
3338264064,3338264575,CA
@@ -114472,7 +133074,9 @@
3338266624,3338267647,US
3338267648,3338268159,CA
3338268160,3338269183,US
-3338269184,3338270207,CA
+3338269184,3338269439,CA
+3338269440,3338269695,US
+3338269696,3338270207,CA
3338270208,3338270719,US
3338270720,3338271231,CA
3338271232,3338271487,US
@@ -114481,9 +133085,7 @@
3338272000,3338272255,CA
3338272256,3338686463,US
3338686464,3338688511,AW
-3338688512,3338689535,US
-3338689536,3338689791,SL
-3338689792,3338770431,US
+3338688512,3338770431,US
3338770432,3338772479,PR
3338772480,3338825727,US
3338825728,3338827775,AW
@@ -114493,7 +133095,7 @@
3338916352,3338916479,CN
3338916480,3339075583,US
3339075584,3339076863,GB
-3339076864,3339077631,NO
+3339076864,3339077631,JP
3339077632,3339077887,SG
3339077888,3339079167,US
3339079168,3339079423,DK
@@ -114535,9 +133137,24 @@
3339184896,3339186175,CA
3339186176,3339327999,US
3339328512,3339329535,CA
-3339329536,3339669503,US
+3339329536,3339337727,US
+3339337984,3339338239,US
+3339338240,3339338495,CA
+3339338496,3339669503,US
3339669504,3339671807,CA
-3339672576,3339747327,US
+3339672576,3339678721,US
+3339678722,3339678782,CN
+3339678783,3339678785,US
+3339678786,3339678846,CN
+3339678847,3339679487,US
+3339679488,3339679743,CN
+3339679744,3339727343,US
+3339727344,3339727351,CA
+3339727352,3339728895,US
+3339728896,3339729919,AG
+3339729920,3339743231,US
+3339743232,3339744255,CA
+3339744256,3339747327,US
3339747328,3339747583,CA
3339747584,3339747839,FR
3339747840,3339748351,CA
@@ -114545,22 +133162,26 @@
3339753472,3339754495,CA
3339754496,3339760639,US
3339760640,3339761663,CA
-3339761664,3339778431,US
-3339778432,3339778447,CY
-3339778448,3339778455,US
-3339778456,3339778471,CY
-3339778472,3339778479,US
-3339778480,3339778495,CY
-3339778496,3339923455,US
+3339761664,3339923455,US
3339923456,3339927551,CA
-3339943936,3339952127,US
+3339927552,3339934719,US
+3339934720,3339935743,CA
+3339935744,3339952127,US
3339952128,3339956223,CA
3339956224,3339965439,US
3339965440,3339969311,CA
3339969312,3339969327,AU
3339969328,3339969375,CA
-3339969376,3340058623,US
-3340075008,3340080127,US
+3339969376,3339969407,US
+3339969408,3339969535,CA
+3339969536,3340071055,US
+3340071056,3340071063,VE
+3340071064,3340071071,ES
+3340071072,3340071119,US
+3340071120,3340071135,ES
+3340071136,3340071679,US
+3340071680,3340071743,ES
+3340071744,3340080127,US
3340080128,3340081151,CA
3340081152,3340084223,US
3340084224,3340085247,KN
@@ -114573,20 +133194,34 @@
3340369920,3340386559,US
3340387328,3340388351,CA
3340388352,3340390399,US
-3340394496,3340429823,US
+3340390400,3340391423,CA
+3340391424,3340429823,US
3340429824,3340430079,PA
-3340430080,3340451839,US
-3340468224,3340481535,US
+3340430080,3340460031,US
+3340460032,3340462079,PR
+3340462080,3340466175,US
+3340466176,3340467199,A2
+3340467200,3340481535,US
3340481536,3340482559,CA
3340482560,3340490751,US
3340490752,3340492799,CA
3340492800,3340584703,US
3340584704,3340584959,KW
-3340584960,3340648447,US
+3340584960,3340664831,US
3340664832,3340665855,CA
3340665856,3340677119,US
3340677120,3340679167,CA
-3340679168,3340898047,US
+3340679168,3340694783,US
+3340694784,3340695039,CA
+3340695040,3340845567,US
+3340846080,3340846111,US
+3340846112,3340846119,CA
+3340846120,3340846127,GB
+3340846128,3340846131,MX
+3340846132,3340846139,BR
+3340846140,3340857343,US
+3340857344,3340857599,CA
+3340857600,3340898047,US
3340898048,3340898303,CA
3340898304,3340925071,US
3340925072,3340925079,CA
@@ -114606,8 +133241,7 @@
3340925608,3340925615,AU
3340925616,3340925631,US
3340925632,3340925639,BR
-3340925640,3340925647,CO
-3340925648,3340925703,US
+3340925640,3340925703,US
3340925704,3340925711,FR
3340925712,3340925719,US
3340925720,3340925727,CA
@@ -114624,9 +133258,7 @@
3340926000,3340926007,RU
3340926008,3340926015,US
3340926016,3340926023,RU
-3340926024,3340926079,US
-3340926080,3340926087,CA
-3340926088,3340926095,US
+3340926024,3340926095,US
3340926096,3340926103,AU
3340926104,3340926111,CA
3340926112,3340926143,US
@@ -114646,9 +133278,7 @@
3340926320,3340926327,RU
3340926328,3340926343,US
3340926344,3340926351,GB
-3340926352,3340926359,US
-3340926360,3340926367,DE
-3340926368,3340926407,US
+3340926352,3340926407,US
3340926408,3340926415,GB
3340926416,3340926439,US
3340926440,3340926447,NO
@@ -114672,19 +133302,80 @@
3340926688,3340926791,US
3340926792,3340926799,GB
3340926800,3340926815,US
-3340926816,3340926831,CA
-3340926832,3340926903,US
+3340926816,3340926823,CA
+3340926824,3340926903,US
3340926904,3340926911,IL
3340926912,3340926927,US
3340926928,3340926935,ES
-3340926936,3340926951,US
-3340926952,3340926959,BR
-3340926960,3341041663,US
-3341058048,3341082623,US
+3340926936,3341056079,US
+3341056080,3341056095,CH
+3341056096,3341056223,IN
+3341056224,3341056239,AU
+3341056240,3341056255,US
+3341056256,3341056271,IN
+3341056272,3341056287,US
+3341056288,3341056415,IN
+3341056416,3341056767,US
+3341056768,3341056895,CA
+3341056896,3341082623,US
3341082624,3341084671,CA
-3341084672,3341444863,US
+3341084672,3341180927,US
+3341180928,3341182975,CA
+3341182976,3341205503,US
+3341205504,3341207551,VC
+3341207552,3341216767,US
+3341216768,3341217791,CA
+3341217792,3341217807,US
+3341217808,3341217823,IN
+3341217824,3341217839,PH
+3341217840,3341217847,US
+3341217848,3341217855,PH
+3341217856,3341217863,US
+3341217864,3341217871,AU
+3341217872,3341217887,PH
+3341217888,3341217935,US
+3341217936,3341217951,AU
+3341217952,3341217967,NL
+3341217968,3341218015,IN
+3341218016,3341218023,PH
+3341218024,3341218039,US
+3341218040,3341218047,PH
+3341218048,3341218055,JP
+3341218056,3341218063,US
+3341218064,3341218071,SG
+3341218072,3341218151,US
+3341218152,3341218167,PH
+3341218168,3341218223,US
+3341218224,3341218231,AU
+3341218232,3341218247,US
+3341218248,3341218255,PH
+3341218256,3341218271,US
+3341218272,3341218287,IN
+3341218288,3341218319,US
+3341218320,3341218335,SG
+3341218336,3341218351,US
+3341218352,3341218367,PH
+3341218368,3341218431,US
+3341218432,3341218559,IN
+3341218560,3341218591,US
+3341218592,3341218719,IN
+3341218720,3341218815,US
+3341218816,3341219007,CA
+3341219008,3341219071,US
+3341219072,3341219103,IN
+3341219104,3341219167,US
+3341219168,3341219263,IN
+3341219264,3341219583,US
+3341219584,3341219615,IN
+3341219616,3341219647,US
+3341219648,3341219711,CA
+3341219712,3341444863,US
3341444864,3341445631,DE
-3341445632,3341479935,US
+3341445632,3341464575,US
+3341464576,3341464831,GB
+3341464832,3341470207,US
+3341470208,3341470463,GB
+3341470464,3341479935,US
3341479936,3341480447,DE
3341480448,3341484287,US
3341484288,3341485055,CA
@@ -114706,21 +133397,27 @@
3341634816,3341635071,CA
3341635072,3341641727,US
3341641728,3341643007,CA
-3341643008,3341643519,US
-3341643520,3341643775,CA
-3341643776,3341644287,US
+3341643008,3341644287,US
3341644288,3341644799,CA
3341644800,3341645055,US
3341645056,3341645567,CA
3341645568,3341646079,US
3341646080,3341646591,CA
-3341646592,3341762559,US
+3341646592,3341709311,US
+3341709312,3341710335,CA
+3341710336,3341758463,US
+3341758464,3341759487,CA
+3341759488,3341760511,BB
+3341760512,3341762559,CA
+3341762560,3341777919,US
+3341777920,3341778943,CA
3341778944,3341807615,US
3341807616,3341808639,CA
3341808640,3341828095,US
-3341844480,3341854079,US
-3341854080,3341854207,SG
-3341854208,3341854551,US
+3341828096,3341829119,CA
+3341829120,3341837311,US
+3341837312,3341838335,CA
+3341838336,3341854551,US
3341854552,3341854559,SG
3341854560,3341863935,US
3341863936,3341864959,AG
@@ -114730,7 +133427,17 @@
3341873152,3341875199,A1
3341875200,3342139391,US
3342139392,3342204927,CH
-3342204928,3342483455,US
+3342204928,3342487551,US
+3342487552,3342488575,CA
+3342488576,3342488639,US
+3342488640,3342488703,GB
+3342488704,3342488831,US
+3342488832,3342488863,GB
+3342488864,3342493759,US
+3342493760,3342493791,CA
+3342493792,3342496767,US
+3342496768,3342497791,CA
+3342497792,3342499839,GD
3342499840,3342505983,US
3342505984,3342507007,BB
3342507008,3342510079,US
@@ -114739,11 +133446,17 @@
3342516224,3342517247,CA
3342517248,3342526463,US
3342526464,3342528511,CA
-3342528512,3342548991,US
+3342528512,3342548167,US
+3342548168,3342548175,GB
+3342548176,3342548183,US
+3342548184,3342548191,TN
+3342548192,3342548575,US
+3342548576,3342548607,GB
+3342548608,3342552063,US
+3342552064,3342553087,CA
+3342553088,3342565375,US
3342565376,3342567423,CA
-3342567424,3342569471,US
-3342569472,3342569727,CR
-3342569728,3342579711,US
+3342567424,3342579711,US
3342579712,3342581759,CA
3342581760,3342595071,US
3342595072,3342595839,CA
@@ -114754,51 +133467,31 @@
3342604800,3342605311,CA
3342605312,3342605567,US
3342605568,3342663679,CA
-3342663680,3343007743,US
-3343024128,3343046915,US
-3343046916,3343046919,GB
-3343046920,3343046927,IT
-3343046928,3343046939,US
+3342663680,3343013887,US
+3343013888,3343015935,CA
+3343015936,3343046919,US
+3343046920,3343046923,IT
+3343046924,3343046939,US
3343046940,3343046943,RU
-3343046944,3343046947,KW
-3343046948,3343046951,PT
-3343046952,3343046955,US
+3343046944,3343046955,US
3343046956,3343046959,IT
3343046960,3343046963,BE
3343046964,3343046967,US
3343046968,3343046971,NL
-3343046972,3343046979,US
-3343046980,3343046983,GB
-3343046984,3343046987,US
+3343046972,3343046987,US
3343046988,3343046991,CA
-3343046992,3343046999,US
-3343047000,3343047003,RU
-3343047004,3343047011,US
-3343047012,3343047015,AU
-3343047016,3343047039,US
-3343047040,3343047047,CA
-3343047048,3343047079,US
-3343047080,3343047087,GR
-3343047088,3343047111,US
+3343046992,3343047111,US
3343047112,3343047127,SG
3343047128,3343047143,US
-3343047144,3343047159,IT
-3343047160,3343047327,US
+3343047144,3343047151,IT
+3343047152,3343047327,US
3343047328,3343047343,IT
3343047344,3343047423,US
3343047424,3343047439,RU
3343047440,3343047455,UA
-3343047456,3343047471,IE
-3343047472,3343047519,US
+3343047456,3343047519,US
3343047520,3343047535,IN
-3343047536,3343047599,US
-3343047600,3343047615,GB
-3343047616,3343047687,US
-3343047688,3343047695,CA
-3343047696,3343047727,US
-3343047728,3343047735,CA
-3343047736,3343047743,US
-3343047744,3343047751,AU
+3343047536,3343047751,US
3343047752,3343047759,BR
3343047760,3343047791,US
3343047792,3343047799,PL
@@ -114806,14 +133499,13 @@
3343047848,3343047855,IT
3343047856,3343047863,US
3343047864,3343047871,RU
-3343047872,3343047879,AU
-3343047880,3343047903,US
-3343047904,3343047911,AR
-3343047912,3343047935,US
+3343047872,3343047935,US
3343047936,3343047967,CA
3343047968,3343055871,US
3343055872,3343056895,CA
-3343056896,3343167487,US
+3343056896,3343153151,US
+3343153152,3343155199,CA
+3343155200,3343167487,US
3343167488,3343169535,CA
3343169536,3343171583,US
3343171584,3343172607,BM
@@ -114821,13 +133513,19 @@
3343319296,3343364095,CA
3343364096,3343365119,US
3343365632,3343372543,CA
-3343373312,3343376383,US
+3343373312,3343380479,US
3343380480,3343384575,CA
-3343384576,3343922975,US
+3343384576,3343465471,US
+3343465472,3343466495,JM
+3343466496,3343858687,US
+3343858688,3343859711,VG
+3343859712,3343922975,US
3343922976,3343923007,PA
-3343923008,3343923135,US
-3343923136,3343923199,HK
-3343923200,3344140287,US
+3343923008,3343923071,US
+3343923072,3343923199,HK
+3343923200,3344126975,US
+3344126976,3344127999,CA
+3344128000,3344140287,US
3344140288,3344141311,CA
3344141312,3344144383,US
3344144384,3344146431,CA
@@ -114840,7 +133538,7 @@
3344166912,3344168959,CA
3344168960,3344171007,US
3344171008,3344255999,CA
-3344256000,3344257023,US
+3344256000,3344261119,US
3344261120,3344268543,CA
3344268544,3344269311,US
3344269312,3344288767,CA
@@ -114854,9 +133552,14 @@
3344299776,3344300543,CA
3344300544,3344300799,US
3344300800,3344302079,CA
-3344302080,3344406527,US
+3344302080,3344379903,US
+3344379904,3344380927,CA
+3344380928,3344406527,US
3344406528,3344408575,CA
-3344408576,3344429055,US
+3344408576,3344415679,US
+3344415680,3344415743,AR
+3344415744,3344415999,ES
+3344416000,3344429055,US
3344429056,3344429343,CA
3344429344,3344429375,US
3344429376,3344431103,CA
@@ -114864,10 +133567,16 @@
3344486400,3344488447,NL
3344488448,3344633855,US
3344633856,3344637951,CH
-3344637952,3344642047,US
-3344662528,3344670719,US
+3344637952,3344649215,US
+3344649216,3344650239,PR
+3344650240,3344652287,CA
+3344652288,3344658431,US
+3344658432,3344660479,CA
+3344660480,3344670719,US
3344670720,3344671743,GP
-3344671744,3344676863,US
+3344671744,3344673983,US
+3344673984,3344673991,SC
+3344673992,3344676863,US
3344676864,3344678911,CA
3344678912,3344681983,US
3344681984,3344685055,CA
@@ -114881,25 +133590,37 @@
3344955392,3344955647,GB
3344955648,3344964607,US
3344964608,3344965631,CA
-3344965632,3344969727,US
-3344990208,3345007615,US
+3344965632,3344973823,US
+3344973824,3344974847,BM
+3344974848,3344979967,US
+3344979968,3344982015,CA
+3344982016,3345007615,US
3345007616,3345008639,CA
3345008640,3345010687,US
3345010688,3345011711,CA
-3345011712,3345301503,US
-3345317888,3345327103,US
+3345011712,3345299455,US
+3345299456,3345301503,CA
+3345301504,3345318943,US
+3345318944,3345318975,HK
+3345318976,3345321471,US
+3345321472,3345321727,CA
+3345321728,3345327103,US
3345327104,3345328127,CA
-3345328128,3345333247,US
-3345333248,3345334271,MF
-3345334272,3345339391,US
+3345328128,3345339391,US
3345339392,3345340415,CA
-3345340416,3345367039,US
+3345340416,3345375231,US
+3345375232,3345377279,CA
+3345377280,3345383423,US
3345383424,3345384447,CA
3345384448,3345390591,US
3345390592,3345391615,CA
-3345391616,3345398783,US
+3345391616,3345393151,US
+3345393152,3345393279,AU
+3345393280,3345393407,US
+3345393408,3345393535,AU
+3345393536,3345398783,US
3345398784,3345399807,BS
-3345399808,3345401855,PR
+3345399808,3345401855,US
3345401856,3345403903,CA
3345403904,3345408005,US
3345408006,3345408009,CZ
@@ -114921,9 +133642,7 @@
3345408236,3345408239,CN
3345408240,3345408319,US
3345408320,3345408323,GB
-3345408324,3345408335,US
-3345408336,3345408339,GB
-3345408340,3345408386,US
+3345408324,3345408386,US
3345408387,3345408394,GB
3345408395,3345408415,US
3345408416,3345408420,AU
@@ -114931,9 +133650,7 @@
3345408425,3345408428,GB
3345408429,3345408460,US
3345408461,3345408464,IN
-3345408465,3345408479,US
-3345408480,3345408483,GB
-3345408484,3345408534,US
+3345408465,3345408534,US
3345408535,3345408538,AU
3345408539,3345408542,CA
3345408543,3345408569,US
@@ -114950,7 +133667,9 @@
3345408698,3345408701,GB
3345408702,3345408784,US
3345408785,3345408788,CA
-3345408789,3345408903,US
+3345408789,3345408888,US
+3345408889,3345408892,MX
+3345408893,3345408903,US
3345408904,3345408907,GB
3345408908,3345408949,US
3345408950,3345408993,IN
@@ -114960,10 +133679,7 @@
3345409086,3345409089,CA
3345409090,3345409093,US
3345409094,3345409097,CA
-3345409098,3345409101,US
-3345409102,3345409105,GB
-3345409106,3345409171,US
-3345409172,3345409175,GB
+3345409098,3345409175,US
3345409176,3345409179,CN
3345409180,3345409204,US
3345409205,3345409212,AU
@@ -114975,21 +133691,24 @@
3345409559,3345409562,CA
3345409563,3345409576,US
3345409577,3345409580,GB
-3345409581,3345409722,US
-3345409723,3345409727,GB
-3345409728,3345409782,US
+3345409581,3345409706,US
+3345409707,3345409718,IN
+3345409719,3345409782,US
3345409783,3345409786,SG
-3345409787,3345409895,US
-3345409896,3345409899,PR
+3345409787,3345409816,US
+3345409817,3345409820,GB
+3345409821,3345409887,US
+3345409888,3345409891,GB
+3345409892,3345409899,US
3345409900,3345409903,CA
3345409904,3345409911,US
3345409912,3345409915,CA
3345409916,3345409919,AU
3345409920,3345409945,US
3345409946,3345409949,SG
-3345409950,3345409957,US
-3345409958,3345409961,CA
-3345409962,3345418239,US
+3345409950,3345410032,US
+3345410033,3345410036,GB
+3345410037,3345418239,US
3345418240,3345419519,NL
3345419520,3345422847,US
3345423360,3345424383,TC
@@ -115031,8 +133750,15 @@
3345666592,3345666639,NO
3345666640,3345667103,US
3345667104,3345667119,IN
-3345667120,3346219007,US
-3346235392,3346241535,US
+3345667120,3346196479,US
+3346196480,3346197503,CA
+3346197504,3346201599,US
+3346201600,3346202623,CA
+3346202624,3346219007,US
+3346219008,3346221055,CA
+3346221056,3346225151,US
+3346225152,3346227199,CA
+3346227200,3346241535,US
3346241536,3346243583,CA
3346243584,3346282495,US
3346282496,3346284543,PR
@@ -115044,23 +133770,52 @@
3346497536,3346498559,CA
3346498560,3346499583,US
3346499584,3346501631,VI
-3346501632,3346506039,US
-3346506040,3346506055,CA
-3346506056,3346506119,US
+3346501632,3346505783,US
+3346505784,3346505791,GB
+3346505792,3346505895,US
+3346505896,3346505903,AU
+3346505904,3346505951,US
+3346505952,3346505959,CA
+3346505960,3346506007,US
+3346506008,3346506015,EG
+3346506016,3346506023,US
+3346506024,3346506031,CA
+3346506032,3346506039,US
+3346506040,3346506047,CA
+3346506048,3346506111,US
+3346506112,3346506119,JM
3346506120,3346506127,MX
-3346506128,3346510271,US
-3346510272,3346510335,IL
-3346510336,3346520063,US
+3346506128,3346506159,US
+3346506160,3346506167,VE
+3346506168,3346506271,US
+3346506272,3346506279,GB
+3346506280,3346506287,CA
+3346506288,3346506311,US
+3346506312,3346506319,CO
+3346506320,3346506391,US
+3346506392,3346506399,GB
+3346506400,3346506415,US
+3346506416,3346506423,IN
+3346506424,3346506447,US
+3346506448,3346506455,CA
+3346506456,3346506487,US
+3346506488,3346506495,CA
+3346506496,3346506527,US
+3346506528,3346506535,GB
+3346506536,3346506559,US
+3346506560,3346506567,CA
+3346506568,3346506575,TR
+3346506576,3346506743,US
+3346506744,3346506751,GB
+3346506752,3346520063,US
3346520064,3346521087,CA
3346521088,3346522347,US
3346522348,3346522350,BD
3346522351,3346522401,US
3346522402,3346522404,IN
-3346522405,3346522691,US
-3346522692,3346522704,PT
-3346522705,3346522773,US
-3346522774,3346522783,PT
-3346522784,3346523113,US
+3346522405,3346522411,US
+3346522412,3346522413,AE
+3346522414,3346523113,US
3346523114,3346523121,TH
3346523122,3346523135,US
3346523136,3346523391,BO
@@ -115081,11 +133836,11 @@
3347033088,3347034111,CA
3347034112,3347039231,US
3347039232,3347040255,DM
-3347040256,3349268479,US
+3347040256,3347044351,US
+3347044352,3347044607,IN
+3347044608,3349268479,US
3349268480,3349268991,CA
-3349268992,3349273087,US
-3349273088,3349273343,CA
-3349273344,3349341695,US
+3349268992,3349341695,US
3349341696,3349341951,CA
3349341952,3349446911,US
3349446912,3349447167,CA
@@ -115098,18 +133853,32 @@
3349608448,3349609215,US
3349609216,3349610495,CA
3349610496,3349614591,US
-3349643264,3349644287,CA
-3349644288,3349645311,US
+3349643264,3349643487,CA
+3349643488,3349643503,US
+3349643504,3349644287,CA
+3349644288,3349644656,US
+3349644657,3349644672,GB
+3349644673,3349645215,US
+3349645216,3349645231,ID
+3349645232,3349645311,US
3349645312,3349647359,CA
3349647360,3349649407,US
3349649408,3349653503,CA
3349653504,3349692415,US
-3349708800,3349723996,US
+3349708800,3349723260,US
+3349723261,3349723265,CA
+3349723266,3349723360,US
+3349723361,3349723367,CA
+3349723368,3349723996,US
3349723997,3349724000,LK
-3349724001,3349731327,US
+3349724001,3349724985,US
+3349724986,3349724999,PK
+3349725000,3349731327,US
3349731328,3349733375,CA
3349733376,3349739519,US
-3349739520,3349740543,CA
+3349739520,3349739551,CA
+3349739552,3349739559,US
+3349739560,3349740543,CA
3349740544,3349987327,US
3349987328,3349996543,BM
3349996544,3349997055,KY
@@ -115127,13 +133896,19 @@
3350470656,3350475775,US
3350475776,3350476799,CA
3350476800,3350478847,US
-3350495232,3350495602,US
+3350495232,3350495577,US
+3350495578,3350495585,GB
+3350495586,3350495602,US
3350495603,3350495604,BD
3350495605,3350495873,US
3350495874,3350495874,IN
3350495875,3350495881,US
3350495882,3350495882,IN
-3350495883,3350496532,US
+3350495883,3350496305,US
+3350496306,3350496317,PT
+3350496318,3350496447,US
+3350496448,3350496455,PT
+3350496456,3350496532,US
3350496533,3350496533,IN
3350496534,3350496721,US
3350496722,3350496723,IN
@@ -115153,15 +133928,24 @@
3350980608,3350994943,US
3350994944,3350998015,CA
3350998016,3350999039,US
-3351019520,3351030783,US
+3351019520,3351026439,US
+3351026440,3351026447,CA
+3351026448,3351030783,US
3351030784,3351031807,CA
3351031808,3351034879,US
3351034880,3351035903,CA
3351035904,3351036927,US
3351036928,3351037951,CA
3351037952,3351043071,US
-3351043072,3351044095,CA
-3351044096,3351068671,US
+3351043072,3351043327,FR
+3351043328,3351044095,CA
+3351044096,3351045311,US
+3351045312,3351045343,RU
+3351045344,3351045439,US
+3351045440,3351045471,CA
+3351045472,3351045631,US
+3351045632,3351045695,TW
+3351045696,3351068671,US
3351085056,3351086079,US
3351086080,3351087103,CA
3351087104,3351103487,US
@@ -115179,7 +133963,9 @@
3351303168,3351304191,CA
3351304192,3351306239,US
3351306240,3351307263,VC
-3351307264,3351308287,US
+3351307264,3351307295,US
+3351307296,3351307311,MX
+3351307312,3351308287,US
3351308288,3351310335,CA
3351310336,3351330815,US
3351347200,3351357439,US
@@ -115198,9 +133984,7 @@
3351384320,3351384575,CA
3351384576,3351385343,US
3351385344,3351385599,CA
-3351385600,3351386111,US
-3351386112,3351386367,PR
-3351386368,3351386623,US
+3351385600,3351386623,US
3351386624,3351386879,CA
3351386880,3351387135,US
3351387136,3351387391,CA
@@ -115210,11 +133994,7 @@
3351388928,3351389439,CA
3351389440,3351390463,US
3351390464,3351390975,CA
-3351390976,3351392511,US
-3351392512,3351392767,CA
-3351392768,3351393279,US
-3351393280,3351393535,CA
-3351393536,3351394815,US
+3351390976,3351394815,US
3351394816,3351395071,CA
3351395072,3351396095,US
3351396096,3351396351,CA
@@ -115245,8 +134025,8 @@
3351406080,3351407103,US
3351407104,3351407359,CA
3351407360,3351407615,US
-3351407616,3351408127,CA
-3351408128,3351408895,US
+3351407616,3351407871,CA
+3351407872,3351408895,US
3351408896,3351409407,CA
3351409408,3351410687,US
3351410688,3351410943,CA
@@ -115266,15 +134046,11 @@
3351415808,3351416063,CA
3351416064,3351417087,US
3351417088,3351417599,CA
-3351417600,3351417855,US
-3351417856,3351418111,CA
-3351418112,3351419647,US
+3351417600,3351419647,US
3351419648,3351419903,CA
3351419904,3351423743,US
3351423744,3351423999,PR
-3351424000,3351427071,US
-3351427072,3351427327,CA
-3351427328,3351428351,US
+3351424000,3351428351,US
3351428352,3351428607,CA
3351428608,3351436031,US
3351436032,3351436287,CA
@@ -115305,7 +134081,17 @@
3351927808,3351959551,CA
3351959552,3351961599,US
3351961600,3351969791,CA
-3351969792,3352035327,IL
+3351969792,3351970047,IL
+3351970048,3351970815,US
+3351970816,3351987199,IL
+3351987200,3351987455,US
+3351987456,3351996671,IL
+3351996672,3351996927,US
+3351996928,3352002303,IL
+3352002304,3352002559,US
+3352002560,3352006911,IL
+3352006912,3352007167,US
+3352007168,3352035327,IL
3352035328,3352036351,CA
3352036352,3352046591,US
3352046592,3352049663,CA
@@ -115317,7 +134103,9 @@
3352068096,3352069119,CA
3352069120,3352069919,US
3352069920,3352069935,CO
-3352069936,3352082431,US
+3352069936,3352069943,US
+3352069944,3352069951,BD
+3352069952,3352082431,US
3352082432,3352083455,JM
3352083456,3352088575,US
3352088576,3352090623,CA
@@ -115334,7 +134122,20 @@
3353722624,3353729023,US
3353729024,3353729279,HK
3353729280,3353730047,US
-3353739264,3353979647,US
+3353739264,3353752581,US
+3353752582,3353752585,FR
+3353752586,3353752589,BE
+3353752590,3353752677,US
+3353752678,3353752681,ES
+3353752682,3353752716,US
+3353752717,3353752720,IT
+3353752721,3353752828,US
+3353752829,3353752830,FR
+3353752831,3353752987,US
+3353752988,3353752991,GB
+3353752992,3353753055,US
+3353753056,3353753059,BR
+3353753060,3353979647,US
3353979648,3353979903,CA
3353979904,3353982719,US
3353982720,3353983231,CA
@@ -115373,14 +134174,17 @@
3355351040,3355351295,CA
3355351296,3355372287,US
3355372288,3355372543,CA
-3355372544,3355384831,US
+3355372544,3355384095,US
+3355384096,3355384127,AR
+3355384128,3355384831,US
3355384832,3355385855,CA
3355385856,3355407359,US
3355407360,3355408383,PR
3355408384,3355412479,US
3355412480,3355412991,BE
3355412992,3355430911,US
-3355430912,3355432959,A1
+3355430912,3355431423,SC
+3355431424,3355432959,A1
3355432960,3355443199,US
3355443200,3355445247,CO
3355445248,3355447295,BR
@@ -115435,7 +134239,9 @@
3355488768,3355489023,PA
3355489024,3355489279,CR
3355489280,3355489535,SV
-3355489536,3355494655,AR
+3355489536,3355491071,AR
+3355491072,3355491327,CO
+3355491328,3355494655,AR
3355494656,3355494911,CO
3355494912,3355495423,PA
3355495424,3355496447,UY
@@ -115644,7 +134450,8 @@
3356089088,3356089343,AR
3356089344,3356090623,BR
3356090624,3356090879,CL
-3356090880,3356091391,BR
+3356090880,3356091135,BR
+3356091136,3356091391,AR
3356091392,3356091647,CL
3356091648,3356091903,BR
3356091904,3356092927,CL
@@ -115785,15 +134592,14 @@
3356287072,3356287087,SV
3356287088,3356287103,US
3356287104,3356287151,GT
-3356287152,3356287231,US
-3356287232,3356287487,GT
-3356287488,3356287999,AN
-3356288000,3356288255,NI
-3356288256,3356288511,TT
-3356288512,3356288767,SV
-3356288768,3356289023,NI
-3356289024,3356289535,SV
-3356289536,3356289791,NI
+3356287152,3356287359,US
+3356287360,3356287367,GT
+3356287368,3356287487,US
+3356287488,3356287743,SV
+3356287744,3356288255,HN
+3356288256,3356288767,SV
+3356288768,3356289023,GT
+3356289024,3356289791,SV
3356289792,3356289799,US
3356289800,3356289807,GT
3356289808,3356289823,SV
@@ -115802,7 +134608,7 @@
3356289920,3356289951,US
3356289952,3356289983,GT
3356289984,3356290303,US
-3356290304,3356290559,NI
+3356290304,3356290559,SV
3356290560,3356291071,CR
3356291072,3356293119,TT
3356293120,3356295167,AW
@@ -115834,8 +134640,8 @@
3356341808,3356341863,SV
3356341864,3356341871,HN
3356341872,3356343295,SV
-3356343296,3356343423,HN
-3356343424,3356344319,SV
+3356343296,3356343551,HN
+3356343552,3356344319,SV
3356344320,3356360703,CO
3356360704,3356362751,CL
3356362752,3356364799,VE
@@ -115853,6 +134659,7 @@
3356380928,3356381183,DO
3356381184,3356381439,CL
3356381440,3356381695,PA
+3356381696,3356381951,CL
3356381952,3356382207,EC
3356382208,3356389375,CL
3356389376,3356389887,CO
@@ -115862,9 +134669,11 @@
3356391168,3356391423,PA
3356391424,3356393471,CO
3356393472,3356413183,CL
-3356413184,3356413951,CO
-3356413952,3356419839,CL
-3356419840,3356422143,CO
+3356413184,3356413823,CO
+3356413824,3356420095,CL
+3356420096,3356421247,CO
+3356421248,3356421375,CL
+3356421376,3356422143,CO
3356422144,3356426239,CL
3356426240,3356491775,US
3356491776,3356493823,PE
@@ -115892,18 +134701,8 @@
3356819456,3356884991,CO
3356884992,3356950527,CL
3356950528,3357016063,MX
-3357016064,3357032447,CO
-3357032448,3357032703,EC
-3357032704,3357048831,CO
-3357048832,3357050879,PA
-3357050880,3357050895,CR
-3357050896,3357054463,PA
-3357054464,3357054719,BZ
-3357054720,3357054975,PA
-3357054976,3357055087,BZ
-3357055088,3357055103,PA
-3357055104,3357055231,BZ
-3357055232,3357057023,PA
+3357016064,3357048831,CO
+3357048832,3357057023,PA
3357057024,3357065215,PE
3357065216,3357073407,EC
3357073408,3357077503,CL
@@ -115981,12 +134780,21 @@
3357455360,3357458431,GT
3357458432,3357474815,CL
3357474816,3357475071,PR
-3357475072,3357475839,AR
-3357475840,3357476351,VE
+3357475072,3357475887,AR
+3357475888,3357475903,VE
+3357475904,3357475999,AR
+3357476000,3357476015,VE
+3357476016,3357476031,AR
+3357476032,3357476047,VE
+3357476048,3357476095,AR
+3357476096,3357476351,VE
3357476352,3357476607,US
3357476608,3357476863,PR
-3357476864,3357477631,EC
-3357477632,3357477887,AR
+3357476864,3357476991,AR
+3357476992,3357477375,EC
+3357477376,3357477423,AR
+3357477424,3357477431,EC
+3357477432,3357477887,AR
3357477888,3357480959,CO
3357480960,3357483007,EC
3357483008,3357491199,CL
@@ -115999,11 +134807,10 @@
3357540352,3357556735,AR
3357556736,3357556991,VE
3357556992,3357557759,MX
-3357557760,3357558015,EC
-3357558016,3357558047,AR
-3357558048,3357559295,EC
-3357559296,3357560063,CL
-3357560064,3357560319,HN
+3357557760,3357559295,EC
+3357559296,3357559551,CA
+3357559552,3357559807,AR
+3357559808,3357560319,VE
3357560320,3357560575,MX
3357560576,3357560831,PR
3357560832,3357561855,CO
@@ -116024,53 +134831,49 @@
3357868032,3357933567,PE
3357933568,3358064639,MX
3358064640,3358130175,UY
-3358130176,3358131199,EC
-3358131200,3358131391,CO
-3358131392,3358131415,GT
-3358131416,3358131983,CO
-3358131984,3358131991,GT
-3358131992,3358132223,CO
+3358130176,3358130303,EC
+3358130304,3358130431,AR
+3358130432,3358131199,EC
+3358131200,3358132223,CO
3358132224,3358132479,AR
3358132480,3358132735,CO
3358132736,3358133247,EC
-3358133248,3358133503,VE
-3358133504,3358133759,CO
+3358133248,3358133759,VE
3358133760,3358142719,AR
3358142720,3358143231,CO
3358143232,3358143487,VE
-3358143488,3358143743,CL
-3358143744,3358143999,HN
-3358144000,3358144255,SV
+3358143488,3358143999,US
+3358144000,3358144255,AR
3358144256,3358144511,CL
-3358144512,3358144767,HN
-3358144768,3358145023,VE
+3358144512,3358145023,VE
3358145024,3358149631,AR
3358149632,3358150655,CO
3358150656,3358151167,EC
-3358151168,3358151423,PY
-3358151424,3358151679,CO
-3358151680,3358152703,GT
-3358152704,3358152735,AR
-3358152736,3358152767,VE
-3358152768,3358152831,US
+3358151168,3358151263,AR
+3358151264,3358151271,EC
+3358151272,3358151423,AR
+3358151424,3358151551,EC
+3358151552,3358151679,AR
+3358151680,3358152191,PE
+3358152192,3358152559,AR
+3358152560,3358152575,PE
+3358152576,3358152735,AR
+3358152736,3358152831,US
3358152832,3358153279,AR
3358153280,3358153311,US
3358153312,3358153343,AR
3358153344,3358153535,US
3358153536,3358153599,AR
3358153600,3358153663,PR
-3358153664,3358153727,US
-3358153728,3358153983,EC
-3358153984,3358154239,VE
-3358154240,3358154495,CL
-3358154496,3358154751,SV
-3358154752,3358155775,PE
-3358155776,3358156031,HN
-3358156032,3358158847,PE
-3358158848,3358159159,VE
+3358153664,3358153855,AR
+3358153856,3358153983,EC
+3358153984,3358154239,US
+3358154240,3358154751,CL
+3358154752,3358158847,PE
+3358158848,3358159159,AR
3358159160,3358159167,US
-3358159168,3358159359,VE
-3358159360,3358159615,EC
+3358159168,3358159487,AR
+3358159488,3358159615,EC
3358159616,3358159871,US
3358159872,3358160895,VE
3358160896,3358191615,AR
@@ -116097,7 +134900,9 @@
3358560256,3358561791,AR
3358561792,3358562303,VE
3358562304,3358563327,PE
-3358563328,3358564095,CO
+3358563328,3358563839,CO
+3358563840,3358563967,AR
+3358563968,3358564095,CO
3358564096,3358564351,MX
3358564352,3358567423,AR
3358567424,3358568447,CO
@@ -116137,16 +134942,7 @@
3358717952,3358719999,AR
3358720000,3358720075,PR
3358720076,3358720083,DO
-3358720084,3358722047,PR
-3358722048,3358722671,DO
-3358722672,3358722687,PR
-3358722688,3358723071,DO
-3358723072,3358723327,PR
-3358723328,3358723583,AN
-3358723584,3358724095,PR
-3358724096,3358725119,DO
-3358725120,3358725375,AN
-3358725376,3358728191,PR
+3358720084,3358728191,PR
3358728192,3358736383,CL
3358736384,3358737111,BB
3358737112,3358737119,CA
@@ -116183,11 +134979,19 @@
3359244288,3359248383,US
3359248384,3359248399,BR
3359248400,3359249679,US
-3359249680,3359249759,AR
+3359249680,3359249695,AR
+3359249696,3359249727,BR
+3359249728,3359249759,US
3359249760,3359249791,BR
3359249792,3359249887,AR
-3359249888,3359250175,US
-3359250176,3359252031,AR
+3359249888,3359250431,US
+3359250432,3359250815,AR
+3359250816,3359250879,US
+3359250880,3359250943,AR
+3359250944,3359251455,US
+3359251456,3359251711,AR
+3359251712,3359251967,US
+3359251968,3359252031,AR
3359252032,3359252039,US
3359252040,3359252047,IT
3359252048,3359252063,US
@@ -116207,9 +135011,7 @@
3359257248,3359257263,BR
3359257264,3359257279,US
3359257280,3359257311,AR
-3359257312,3359257327,US
-3359257328,3359257343,AR
-3359257344,3359260671,US
+3359257312,3359260671,US
3359260672,3359268863,BO
3359268864,3359277055,AR
3359277056,3359285247,UY
@@ -116231,77 +135033,21 @@
3359457488,3359457503,EC
3359457504,3359457695,AR
3359457696,3359457727,BO
-3359457728,3359457791,AR
-3359457792,3359459327,EC
-3359459328,3359459583,PY
-3359459584,3359460847,AR
-3359460848,3359461119,UY
-3359461120,3359461375,AR
-3359461376,3359461887,EC
-3359461888,3359461951,AR
+3359457728,3359461951,AR
3359461952,3359462015,HN
3359462016,3359462271,AR
3359462272,3359462335,UY
-3359462336,3359462399,AR
-3359462400,3359462655,UY
-3359462656,3359463399,AR
+3359462336,3359463399,AR
3359463400,3359463407,CO
-3359463408,3359463663,AR
-3359463664,3359463679,PY
+3359463408,3359463679,AR
3359463680,3359463743,HN
-3359463744,3359463935,AR
-3359463936,3359464127,EC
-3359464128,3359464191,AR
-3359464192,3359464447,EC
+3359463744,3359464447,AR
3359464448,3359465471,UY
-3359465472,3359465983,CO
-3359465984,3359466495,AR
+3359465472,3359466495,AR
3359466496,3359466751,BO
-3359466752,3359467263,AR
-3359467264,3359467519,UY
-3359467520,3359468031,BO
-3359468032,3359468543,UY
-3359468544,3359468799,AR
-3359468800,3359469567,UY
-3359469568,3359470591,AR
-3359470592,3359471615,PY
-3359471616,3359472127,AR
-3359472128,3359472639,BO
+3359466752,3359472639,AR
3359472640,3359473663,PY
-3359473664,3359475359,CO
-3359475360,3359475367,AR
-3359475368,3359475519,CO
-3359475520,3359475551,AR
-3359475552,3359475615,CO
-3359475616,3359475623,AR
-3359475624,3359478687,CO
-3359478688,3359478719,AR
-3359478720,3359479295,CO
-3359479296,3359479303,AR
-3359479304,3359479327,CO
-3359479328,3359479343,AR
-3359479344,3359479375,CO
-3359479376,3359479383,AR
-3359479384,3359479487,CO
-3359479488,3359479551,AR
-3359479552,3359480575,CO
-3359480576,3359480815,AR
-3359480816,3359480871,CO
-3359480872,3359480887,AR
-3359480888,3359480911,CO
-3359480912,3359480915,AR
-3359480916,3359480927,CO
-3359480928,3359480935,AR
-3359480936,3359480959,CO
-3359480960,3359480975,AR
-3359480976,3359481599,CO
-3359481600,3359481663,AR
-3359481664,3359481727,CO
-3359481728,3359481743,AR
-3359481744,3359481823,CO
-3359481824,3359481839,AR
-3359481840,3359481855,CO
-3359481856,3359498239,AR
+3359473664,3359498239,AR
3359498240,3359501311,PY
3359501312,3359502335,SR
3359502336,3359505407,AR
@@ -116310,7 +135056,7 @@
3359505920,3359506431,AR
3359506432,3359508479,US
3359508480,3359514623,VE
-3359514624,3359516671,GT
+3359514624,3359516671,US
3359516672,3359516927,VG
3359516928,3359517183,US
3359517184,3359517439,VG
@@ -116336,9 +135082,9 @@
3359789600,3359899647,MX
3359899648,3359916031,CL
3359916032,3359932415,AR
-3359932416,3359945471,CO
-3359945472,3359945727,EC
-3359945728,3359948799,CO
+3359932416,3359945599,CO
+3359945600,3359945663,EC
+3359945664,3359948799,CO
3359948800,3359969663,AR
3359969664,3359969791,UY
3359969792,3359989759,AR
@@ -116359,35 +135105,27 @@
3360161792,3360227327,CL
3360227328,3360228191,CO
3360228192,3360228223,CL
-3360228224,3360228639,CO
-3360228640,3360228663,CL
-3360228664,3360229119,CO
-3360229120,3360231423,CL
-3360231424,3360231455,CO
-3360231456,3360231463,CL
-3360231464,3360231487,CO
-3360231488,3360231519,CL
-3360231520,3360231599,CO
-3360231600,3360231607,CL
-3360231608,3360231679,CO
-3360231680,3360234751,CL
+3360228224,3360228351,CO
+3360228352,3360228863,CL
+3360228864,3360229375,CO
+3360229376,3360231935,CL
+3360231936,3360232447,CO
+3360232448,3360234751,CL
3360234752,3360235263,CO
3360235264,3360235271,CL
-3360235272,3360235519,CO
+3360235272,3360235487,CO
+3360235488,3360235495,CL
+3360235496,3360235519,CO
3360235520,3360236287,CL
3360236288,3360236303,CO
3360236304,3360236311,CL
3360236312,3360236423,CO
-3360236424,3360236439,CL
-3360236440,3360236487,CO
+3360236424,3360236431,CL
+3360236432,3360236487,CO
3360236488,3360236503,CL
-3360236504,3360236527,CO
-3360236528,3360236543,CL
-3360236544,3360236799,CO
-3360236800,3360238079,CL
-3360238080,3360239103,CO
-3360239104,3360239615,CL
-3360239616,3360240895,CO
+3360236504,3360236799,CO
+3360236800,3360237567,CL
+3360237568,3360240895,CO
3360240896,3360243967,CL
3360243968,3360248319,CO
3360248320,3360248575,CL
@@ -116407,7 +135145,9 @@
3360342016,3360354303,VE
3360354304,3360356351,PA
3360356352,3360358399,CR
-3360358400,3360366591,CL
+3360358400,3360358911,CL
+3360358912,3360358919,CO
+3360358920,3360366591,CL
3360366592,3360382975,CO
3360382976,3360399359,VE
3360399360,3360403455,BO
@@ -116423,16 +135163,20 @@
3360689152,3360689407,CO
3360689408,3360689535,AR
3360689536,3360689663,CO
-3360689664,3360689919,AR
-3360689920,3360690175,CO
+3360689664,3360689791,AR
+3360689792,3360690175,CO
3360690176,3360690303,AR
3360690304,3360690431,CO
-3360690432,3360690719,AR
+3360690432,3360690687,AR
+3360690688,3360690703,CO
+3360690704,3360690719,AR
3360690720,3360690751,CO
-3360690752,3360690943,AR
-3360690944,3360691711,CO
-3360691712,3360692351,AR
-3360692352,3360692367,CO
+3360690752,3360690815,AR
+3360690816,3360690847,CO
+3360690848,3360690863,AR
+3360690864,3360691711,CO
+3360691712,3360692287,AR
+3360692288,3360692367,CO
3360692368,3360692607,AR
3360692608,3360692735,CO
3360692736,3360693247,AR
@@ -116440,13 +135184,11 @@
3360693312,3360693343,AR
3360693344,3360693503,CO
3360693504,3360693791,AR
-3360693792,3360693823,CO
-3360693824,3360694015,AR
+3360693792,3360693887,CO
+3360693888,3360694015,AR
3360694016,3360694079,CO
3360694080,3360694143,AR
-3360694144,3360694271,CO
-3360694272,3360694303,AR
-3360694304,3360694463,CO
+3360694144,3360694463,CO
3360694464,3360695071,AR
3360695072,3360695087,CO
3360695088,3360695167,AR
@@ -116461,8 +135203,8 @@
3360696768,3360696831,CO
3360696832,3360698111,AR
3360698112,3360699391,CO
-3360699392,3360700159,AR
-3360700160,3360700415,CO
+3360699392,3360699903,AR
+3360699904,3360700415,CO
3360700416,3360701311,AR
3360701312,3360701439,CO
3360701440,3360710655,AR
@@ -116470,23 +135212,9 @@
3360718848,3360763903,AR
3360763904,3360765951,GT
3360765952,3360767999,CO
-3360768000,3360770047,PY
-3360770048,3360771327,EC
-3360771328,3360771839,AR
-3360771840,3360772095,EC
-3360772096,3360772351,AR
+3360768000,3360772351,AR
3360772352,3360772479,BO
-3360772480,3360772607,AR
-3360772608,3360773119,EC
-3360773120,3360774143,BO
-3360774144,3360774399,EC
-3360774400,3360774655,AR
-3360774656,3360774911,EC
-3360774912,3360775087,AR
-3360775088,3360775099,EC
-3360775100,3360775167,AR
-3360775168,3360775679,BO
-3360775680,3360788479,AR
+3360772480,3360788479,AR
3360788480,3360790527,CL
3360792576,3360849919,AR
3360849920,3360882687,VE
@@ -116539,7 +135267,9 @@
3362328576,3362330623,CO
3362330624,3362332671,MX
3362332672,3362336767,PA
-3362336768,3362338815,CO
+3362336768,3362337279,CO
+3362337280,3362337535,US
+3362337536,3362338815,CO
3362338816,3362339839,AR
3362339840,3362341887,CO
3362341888,3362342143,GT
@@ -116592,7 +135322,7 @@
3362516992,3362519039,BO
3362519040,3362521087,EC
3362521088,3362529279,TT
-3362529280,3362533375,PA
+3362529280,3362537471,PA
3362537472,3362545663,AR
3362545664,3362549759,PE
3362549760,3362553855,AR
@@ -116649,8 +135379,9 @@
3362717696,3362815999,CL
3362816000,3362832383,AR
3362832384,3362836479,BO
+3362836480,3362838527,CO
3362840576,3362897919,CL
-3362897920,3362906111,HT
+3362897920,3362914303,HT
3362914304,3362934783,CO
3362934784,3362936831,AR
3362936832,3362938879,CL
@@ -116675,12 +135406,18 @@
3363504128,3363512319,PE
3363512320,3363553791,AR
3363553792,3363554047,PE
-3363554048,3363557375,AR
+3363554048,3363554175,US
+3363554176,3363557375,AR
3363561472,3363565567,CO
3363569664,3363577855,PA
3363577856,3363586047,CL
3363586048,3363594239,BZ
-3363594240,3363598335,AR
+3363594240,3363600383,AR
+3363600384,3363600639,PY
+3363600640,3363600895,VE
+3363600896,3363601407,AR
+3363601408,3363601919,CO
+3363601920,3363602175,AR
3363602432,3363610623,AN
3363610624,3363614719,CO
3363618816,3363622911,UY
@@ -116692,8 +135429,9 @@
3363678208,3363680255,NI
3363680256,3363682303,GT
3363682304,3363684351,VE
-3363684352,3363700735,EC
-3363700736,3363708927,CU
+3363684352,3363700991,EC
+3363700992,3363701247,CU
+3363701248,3363708927,EC
3363708928,3363713023,CL
3363717120,3363733503,CL
3363733504,3363831807,AR
@@ -116701,11 +135439,14 @@
3378511872,3383754751,MX
3383754752,3384147967,AR
3384147968,3384213503,PA
+3384213504,3384279039,EC
3384279040,3384410111,CO
3384410112,3384672255,CL
3384672256,3384688639,HN
3384688640,3384705023,CO
-3384705024,3384737791,PA
+3384705024,3384721407,PA
+3384721408,3384725503,US
+3384725504,3384737791,PA
3384737792,3385851903,CR
3385851904,3386114047,VE
3386114048,3386245119,AR
@@ -116726,9 +135467,11 @@
3386540032,3386548223,CL
3386556416,3386572799,PA
3386572800,3386589183,EC
-3386589184,3386597375,AR
+3386589184,3386605567,AR
3386605568,3386613759,CL
+3386613760,3386621951,AR
3386621952,3386630143,CO
+3386630144,3386632191,UY
3386638336,3386642431,AN
3386646528,3386662911,CO
3386662912,3386671103,CL
@@ -116799,50 +135542,53 @@
3389016064,3389016575,JP
3389016576,3389017087,AU
3389017088,3389017343,JP
-3389017344,3389017855,HK
+3389017344,3389017599,HK
+3389017600,3389017855,AU
3389017856,3389018111,VN
3389018112,3389018367,PG
-3389018368,3389018623,ID
-3389018624,3389019135,AU
+3389018368,3389019135,AU
3389019136,3389019391,NZ
3389019392,3389020159,AU
-3389020160,3389020671,SG
+3389020160,3389020671,ID
3389020672,3389020927,AU
3389020928,3389021183,PH
-3389021184,3389021439,AU
-3389021440,3389021695,JP
-3389021696,3389021951,MY
-3389021952,3389022463,AU
-3389022464,3389022719,NZ
-3389022720,3389023231,AU
-3389023232,3389023487,HK
-3389023488,3389023999,AU
-3389024000,3389024255,ID
-3389024256,3389024511,HK
-3389024512,3389025791,AU
-3389025792,3389026047,CN
+3389021184,3389021695,ID
+3389021952,3389023231,AU
+3389023232,3389023743,CN
+3389023744,3389023999,AU
+3389024000,3389024255,IN
+3389024256,3389024511,SG
+3389024512,3389025023,AU
+3389025024,3389025279,ID
+3389025280,3389025535,AU
+3389025536,3389025791,IN
+3389025792,3389026047,PK
3389026048,3389026303,TH
-3389026304,3389026559,HK
-3389026560,3389027327,AU
-3389027328,3389027583,ID
+3389026304,3389026559,IN
+3389026560,3389027071,AU
+3389027072,3389027583,IN
3389027584,3389028607,TH
3389028608,3389028863,NZ
-3389028864,3389029375,HK
+3389028864,3389029375,CN
3389029376,3389029887,NZ
3389029888,3389030399,SG
-3389030400,3389035519,HK
-3389035520,3389035775,AU
-3389035776,3389036287,SG
+3389030400,3389034495,HK
+3389034496,3389035519,PH
+3389035776,3389036031,SG
3389036288,3389036543,NZ
3389036544,3389036799,SG
-3389036800,3389037055,NZ
+3389036800,3389037055,IN
3389037056,3389037567,AU
3389037568,3389038591,NC
-3389038592,3389044735,HK
-3389044736,3389045759,AU
-3389045760,3389046783,FR
+3389038592,3389042687,HK
+3389042688,3389043711,CN
+3389043712,3389044735,HK
+3389044736,3389046783,AU
3389046784,3389063167,US
-3389063168,3389064447,AU
+3389063168,3389063679,AU
+3389063680,3389063935,HK
+3389063936,3389064191,AU
+3389064192,3389064447,IN
3389064448,3389064703,SG
3389064704,3389065215,HK
3389065216,3389067263,NZ
@@ -116856,7 +135602,6 @@
3389104128,3389112319,SB
3389112320,3389116415,MV
3389116416,3389120511,JP
-3389120512,3389122559,AU
3389122560,3389122815,HK
3389122816,3389123583,AU
3389123584,3389123839,ID
@@ -116871,23 +135616,17 @@
3389143040,3389145087,AU
3389145088,3389151231,HK
3389151232,3389152255,JP
-3389152256,3389153279,ID
+3389152256,3389153279,AU
3389153280,3389161471,TV
-3389161472,3389163791,JP
-3389163792,3389163795,AU
-3389163796,3389165286,JP
-3389165287,3389165287,SG
-3389165288,3389165631,JP
-3389165632,3389165695,CN
-3389165696,3389194239,JP
+3389161472,3389194239,JP
3389194240,3389195775,AU
3389195776,3389196287,HK
3389196288,3389197567,AU
3389197568,3389197823,IN
3389197824,3389198079,ID
3389198080,3389198335,IN
-3389198336,3389202431,NZ
-3389202432,3389210623,AU
+3389198336,3389202431,KR
+3389202432,3389210623,NZ
3389210624,3389210879,IN
3389210880,3389211135,AU
3389211136,3389211391,IN
@@ -116895,12 +135634,12 @@
3389211648,3389212671,TH
3389212672,3389213439,AU
3389213440,3389214207,IN
-3389214208,3389214719,AU
-3389214720,3389218815,IN
+3389214208,3389214463,SG
+3389214464,3389214719,AU
+3389214720,3389218815,NZ
3389218816,3389222911,AU
3389222912,3389227007,IN
-3389227008,3389227263,PF
-3389227264,3389227519,TW
+3389227008,3389227519,CN
3389227520,3389228031,PK
3389228032,3389228799,AU
3389228800,3389229055,SG
@@ -116942,7 +135681,7 @@
3389306624,3389306879,AU
3389306880,3389307135,FJ
3389307136,3389307647,ID
-3389307648,3389307903,HK
+3389307648,3389307903,JP
3389307904,3389308159,AU
3389308160,3389308415,KH
3389308416,3389308671,AU
@@ -116956,29 +135695,36 @@
3389326336,3389326847,TW
3389326848,3389327359,AU
3389327360,3389329407,TW
-3389329408,3389333503,HK
+3389329408,3389333503,PH
3389333504,3389341695,BD
3389341696,3389345791,JP
3389345792,3389349887,TH
3389349888,3389358079,AU
3389358080,3389366271,PK
3389366272,3389374463,AU
-3389374464,3389382655,MN
+3389374464,3389378559,MN
3389382656,3389390847,TW
3389390848,3389391359,HK
3389391360,3389391615,VN
3389391616,3389392127,AU
-3389392128,3389392895,NZ
-3389392896,3389411327,AU
+3389392128,3389392383,NZ
+3389392384,3389392895,CN
+3389392896,3389394943,JP
+3389394944,3389399039,TH
+3389399040,3389407743,AU
+3389407744,3389408255,CN
+3389408256,3389409279,JP
+3389409280,3389409791,CN
+3389409792,3389411327,AU
3389411328,3389411583,IN
3389411584,3389412351,AU
-3389412352,3389412863,NZ
+3389412352,3389412607,NZ
+3389412608,3389412863,PH
3389412864,3389413119,AU
-3389413120,3389413375,NZ
-3389413376,3389413887,CN
+3389413120,3389413887,CN
3389413888,3389414143,TH
-3389414144,3389414655,AU
-3389414656,3389414911,CN
+3389414144,3389414399,AU
+3389414400,3389414911,CN
3389414912,3389415167,HK
3389415168,3389415423,KR
3389415424,3389415935,VN
@@ -116986,21 +135732,23 @@
3389416192,3389416447,IN
3389416448,3389416959,TH
3389416960,3389417215,SG
-3389417216,3389417471,JP
+3389417216,3389417471,CN
3389417472,3389417983,TW
3389417984,3389418239,AU
3389418240,3389418495,TH
-3389418496,3389418751,AU
-3389418752,3389419263,NZ
-3389419264,3389419519,TH
-3389419520,3389420543,AU
+3389418496,3389418751,CN
+3389418752,3389419007,NZ
+3389419008,3389419519,CN
+3389419520,3389420031,AU
+3389420032,3389420287,CN
+3389420288,3389420543,AU
3389420544,3389421055,NZ
3389421056,3389421311,AU
3389421312,3389421567,JP
3389421568,3389422591,KI
3389422592,3389431807,AU
3389431808,3389435903,SG
-3389435904,3389439999,BD
+3389435904,3389439999,CN
3389440000,3389444095,HK
3389444096,3389452287,ID
3389452288,3389453311,SG
@@ -117019,11 +135767,16 @@
3389480960,3389489151,JP
3389489152,3389493247,HK
3389493248,3389521919,AU
-3389521920,3389523455,SG
+3389521920,3389522175,CN
+3389522176,3389522431,SG
+3389522432,3389523455,CN
3389523456,3389523967,JP
-3389523968,3389525503,NZ
+3389523968,3389524991,AU
+3389524992,3389525247,CN
+3389525248,3389525503,NZ
3389525504,3389526015,TW
-3389526016,3389528319,AU
+3389526016,3389528063,JP
+3389528064,3389528319,CN
3389528320,3389528575,TH
3389528576,3389529087,JP
3389529088,3389529599,ID
@@ -117037,7 +135790,7 @@
3389538560,3389540351,TH
3389540352,3389541375,KH
3389541376,3389541631,AU
-3389541632,3389541887,JP
+3389541632,3389541887,CN
3389541888,3389542399,TH
3389542400,3389543423,JP
3389543424,3389544447,TH
@@ -117045,13 +135798,23 @@
3389545472,3389545727,AU
3389545728,3389545983,HK
3389545984,3389546495,SG
-3389546496,3389554687,AU
3389554688,3389562879,CN
-3389562880,3389571071,TW
-3389571072,3389575167,LK
+3389562880,3389571071,KR
+3389571072,3389575167,CN
3389575168,3389579263,JP
3389579264,3389587455,PH
-3389587456,3389604351,AU
+3389587456,3389595647,AU
+3389595648,3389595903,CN
+3389595904,3389596159,AU
+3389596160,3389596671,CN
+3389596672,3389597695,MY
+3389597696,3389599743,MN
+3389599744,3389600255,CN
+3389600256,3389600511,AU
+3389600512,3389601791,CN
+3389601792,3389602047,AU
+3389602048,3389602815,CN
+3389603840,3389604351,AU
3389604352,3389604863,SG
3389604864,3389605119,HK
3389605120,3389605375,ID
@@ -117075,69 +135838,75 @@
3389610752,3389611519,IN
3389611520,3389612031,AU
3389612032,3389616127,MY
-3389616128,3389640703,IN
+3389620224,3389640703,IN
3389640704,3389644799,JP
3389644800,3389652991,NZ
3389652992,3389661183,AU
-3389661184,3389669375,ID
+3389661184,3389669375,IN
3389669376,3389673471,CN
3389673472,3389677567,AU
3389677568,3389685759,JP
3389685760,3389718527,AU
3389718528,3389784063,JP
3389784064,3389784319,NZ
-3389784320,3389784575,AU
-3389784576,3389784831,SG
+3389784320,3389784831,CN
3389784832,3389785087,NZ
3389785088,3389786111,HK
3389786112,3389788159,JP
3389788160,3389788415,IN
-3389788416,3389788927,PH
-3389788928,3389789695,US
+3389788416,3389789183,CN
+3389789184,3389789695,TH
3389789696,3389790719,AU
3389790720,3389790975,BN
3389790976,3389791231,JP
3389791232,3389791743,AU
3389791744,3389791999,JP
-3389792000,3389801983,AU
+3389792000,3389800447,AU
+3389800448,3389801471,JP
+3389801472,3389801983,AU
3389801984,3389802239,NZ
-3389802240,3389802751,AU
+3389802240,3389802495,AU
+3389802496,3389802751,CN
3389802752,3389803263,TH
3389803264,3389803519,ID
-3389803520,3389806079,NZ
+3389804544,3389805567,IN
+3389805568,3389806079,CN
3389806080,3389807359,AU
3389807360,3389807615,NZ
3389807616,3389808127,AU
3389808128,3389808639,SG
-3389808640,3389808895,NZ
+3389808640,3389808895,CN
3389808896,3389809151,TH
-3389809152,3389809919,AU
+3389809152,3389809663,CN
+3389809664,3389809919,AU
3389809920,3389810175,IN
3389810176,3389810431,AU
3389810432,3389810687,IN
3389810688,3389811199,NZ
-3389811200,3389811711,AU
+3389811200,3389811455,CN
+3389811456,3389811711,AU
3389811712,3389811967,NZ
-3389811968,3389813759,AU
-3389813760,3389814527,TH
-3389814528,3389815295,AU
-3389815296,3389816063,NZ
-3389816064,3389816575,AU
-3389816576,3389816831,US
-3389816832,3389846271,AU
+3389811968,3389812479,AU
+3389812480,3389812735,CN
+3389812736,3389813759,AU
+3389813760,3389814015,CN
+3389814016,3389814527,TH
+3389814528,3389846271,AU
3389846272,3389847551,JP
3389847552,3389849599,NZ
3389849600,3389915135,JP
-3389915136,3389917183,AU
-3389917184,3389919231,TW
+3389915136,3389916159,AU
+3389917184,3389919231,SG
3389919232,3389931519,NZ
-3389931520,3389932287,AU
+3389931520,3389932031,CN
+3389932032,3389932287,AU
3389932288,3389932799,HK
-3389932800,3389933055,IN
+3389932800,3389933055,CN
3389933056,3389933567,PK
3389933568,3389933823,IN
-3389933824,3389934591,NZ
-3389934592,3389935615,AU
+3389933824,3389934847,CN
+3389934848,3389935103,AU
+3389935104,3389935615,CN
3389935616,3389935871,HK
3389935872,3389936127,AU
3389936128,3389936895,NZ
@@ -117147,106 +135916,138 @@
3389938176,3389938687,KR
3389938688,3389939199,ID
3389939200,3389939711,AU
-3389939712,3389940223,NZ
+3389939712,3389939967,NZ
+3389939968,3389940223,CN
3389940224,3389940479,AU
3389940480,3389940991,NZ
3389940992,3389941247,AU
3389941248,3389941503,NZ
3389941504,3389941759,KR
-3389941760,3389942271,AU
-3389942272,3389943295,NZ
-3389943296,3389944319,AU
-3389944320,3389944831,NZ
-3389944832,3389945087,HK
+3389941760,3389942271,CN
+3389942272,3389942783,NZ
+3389942784,3389943295,CN
+3389943296,3389943551,AU
+3389943552,3389943807,CN
+3389943808,3389944319,AU
+3389944320,3389944831,CN
+3389944832,3389945087,AU
3389945088,3389945343,TH
-3389945344,3389947647,AU
-3389947648,3389947903,NZ
-3389947904,3389949695,AU
-3389949696,3389950207,NZ
+3389945344,3389945855,CN
+3389946880,3389947391,CN
+3389947392,3389947647,AU
+3389947648,3389947903,CN
+3389947904,3389948159,AU
+3389948160,3389948415,CN
+3389948416,3389949695,AU
+3389949696,3389950207,CN
3389950208,3389950975,AU
3389950976,3389951743,NZ
3389951744,3389953279,AU
-3389953280,3389953535,NZ
-3389953536,3389954303,AU
+3389953280,3389953535,CN
+3389953536,3389953791,AU
+3389953792,3389954047,CN
+3389954048,3389954303,AU
3389954304,3389954815,SG
-3389954816,3389956607,AU
-3389956608,3389957375,TH
+3389954816,3389955327,AU
+3389955328,3389956095,CN
+3389956096,3389957119,IN
+3389957120,3389957375,TH
3389957376,3389957631,KR
3389957632,3389957887,AU
3389957888,3389958399,NZ
-3389958400,3389969663,AU
+3389958400,3389959167,CN
+3389960192,3389960447,CN
+3389960448,3389962239,AU
+3389962240,3389962751,CN
+3389962752,3389963007,AU
+3389963264,3389966335,AU
+3389966336,3389968383,SG
+3389968384,3389968895,CN
+3389968896,3389969663,AU
3389969664,3389969919,CN
3389969920,3389970431,AU
3389970432,3389971199,NZ
-3389971200,3389971967,AU
-3389971968,3389972223,HK
-3389972224,3389972479,AU
+3389971200,3389971711,CN
+3389971712,3389971967,AU
+3389971968,3389972479,CN
3389972480,3389972735,IN
-3389972736,3389973759,NZ
-3389973760,3389975295,AU
-3389975296,3389976319,CN
-3389976320,3389979647,AU
+3389972736,3389973503,CN
+3389973504,3389973759,NZ
+3389973760,3389974271,AU
+3389974272,3389974527,CN
+3389974528,3389975295,AU
+3389975296,3389976575,CN
+3389976576,3389978111,AU
+3389978112,3389978367,CN
+3389978368,3389979391,AU
+3389979392,3389979647,CN
3389979648,3389980415,NZ
3389980416,3389980671,ID
3389980672,3390308351,JP
3390308352,3390310399,NZ
3390310400,3390316543,AU
3390316544,3390325247,NZ
-3390325248,3390325503,HK
+3390325248,3390325503,CN
3390325504,3390327807,AU
-3390327808,3390329087,NZ
+3390327808,3390328575,NZ
+3390328576,3390328831,CN
+3390328832,3390329087,NZ
3390329088,3390329343,AU
3390329344,3390330623,KR
-3390330624,3390330879,TH
-3390330880,3390331391,HK
-3390331392,3390331647,JP
+3390330624,3390331647,CN
3390331648,3390332415,NZ
-3390332416,3390332927,HK
+3390332416,3390332927,CN
3390332928,3390333439,NZ
-3390333440,3390333695,AP
+3390333440,3390333695,HK
3390333696,3390333951,KR
3390333952,3390334463,HK
3390334464,3390335231,NZ
3390335232,3390335487,TH
-3390335488,3390336511,ID
+3390335488,3390335999,ID
+3390336256,3390336511,ID
3390336512,3390336767,JP
-3390336768,3390337023,AP
+3390336768,3390337023,HK
3390337024,3390337279,GU
3390337280,3390337535,NZ
-3390337536,3390338303,SG
-3390338304,3390338815,HK
+3390337536,3390337791,CN
+3390337792,3390338303,SG
+3390338304,3390338559,CN
+3390338560,3390338815,HK
3390338816,3390339071,KR
3390339072,3390339327,CN
3390339328,3390339839,NZ
3390339840,3390340351,JP
-3390340352,3390341119,HK
+3390340352,3390340607,CN
+3390340608,3390340863,IN
+3390340864,3390341119,CN
3390341120,3390375935,KR
3390375936,3390377983,AU
3390377984,3390382079,NZ
-3390382080,3390390271,LK
-3390390272,3390402559,NZ
-3390402560,3390406655,JP
+3390382080,3390384127,LK
+3390390272,3390398463,NZ
+3390398464,3390406655,MN
3390406656,3390406911,NZ
-3390406912,3390407167,IN
-3390407168,3390408191,NZ
+3390406912,3390407167,SG
+3390407168,3390407423,NZ
+3390407424,3390407935,CN
+3390407936,3390408191,NZ
3390408192,3390408703,IN
3390408704,3390409727,NZ
3390409728,3390409983,TH
-3390409984,3390410751,NZ
+3390409984,3390410495,CN
+3390410496,3390410751,NZ
3390410752,3390411007,TH
3390411008,3390411519,SG
-3390411520,3390411775,IN
-3390411776,3390412031,MY
+3390411520,3390412031,CN
3390412032,3390412287,TH
-3390412288,3390413311,JP
-3390413312,3390413567,SG
-3390413568,3390414335,NZ
+3390412288,3390413567,CN
+3390413568,3390413823,NZ
+3390413824,3390414079,CN
+3390414080,3390414335,NZ
3390414336,3390414847,SG
3390414848,3390418943,JP
3390418944,3390423039,MV
-3390423040,3390429439,SG
-3390429440,3390429951,HK
-3390429952,3390439423,SG
+3390423040,3390439423,SG
3390439424,3390441471,NZ
3390441472,3390443519,TH
3390443520,3390447359,NZ
@@ -117265,13 +136066,10 @@
3390767104,3390769407,NZ
3390769408,3390769663,IN
3390769664,3390770175,TH
-3390770176,3390770687,AU
-3390770688,3390770943,JP
-3390770944,3390771199,AU
-3390771200,3390775295,SG
-3390775296,3390790399,NZ
-3390790400,3390790655,AU
-3390790656,3390832639,NZ
+3390770176,3390771199,AU
+3390771200,3390801919,NZ
+3390801920,3390802431,CN
+3390802432,3390832639,NZ
3390832640,3390963711,TH
3390963712,3391094783,KR
3391094784,3391356927,JP
@@ -117283,65 +136081,80 @@
3391444480,3391444991,VN
3391444992,3391453183,NZ
3391453184,3391453439,ID
-3391453440,3391469055,NZ
-3391469056,3391469311,AU
-3391469312,3391487999,NZ
-3391488000,3391492095,CN
+3391453440,3391487999,NZ
+3391488000,3391489023,CN
+3391489024,3391490047,NP
+3391490048,3391492095,CN
3391492096,3391496191,HK
3391496192,3391500287,SG
-3391500288,3391504383,PK
-3391504384,3391523583,CN
+3391500288,3391523583,CN
3391523584,3391523839,AU
3391523840,3391524863,CN
3391524864,3391525375,AU
3391525376,3391525887,CN
3391525888,3391526143,AU
-3391526144,3391526655,CN
-3391526656,3391526911,SG
-3391526912,3391528191,CN
+3391526144,3391528191,CN
3391528192,3391528447,AU
3391528448,3391529471,CN
3391529472,3391529983,AU
-3391529984,3391533567,CN
+3391529984,3391532031,CN
+3391532032,3391533055,IN
+3391533056,3391533567,CN
3391533568,3391534079,HK
3391534080,3391535103,IN
3391535104,3391553535,CN
3391553536,3391619071,TW
-3391619072,3391620607,HK
+3391619072,3391620095,AU
+3391620096,3391620607,CN
3391620608,3391620863,IN
-3391620864,3391660799,HK
-3391660800,3391661055,AU
-3391661056,3391663103,HK
+3391620864,3391621119,CN
+3391621120,3391622911,HK
+3391622912,3391623167,CN
+3391623168,3391653631,HK
+3391653632,3391654143,CN
+3391654144,3391654911,HK
+3391654912,3391655167,CN
+3391655168,3391655679,HK
+3391655680,3391656447,CN
+3391656448,3391657471,HK
+3391657472,3391657727,CN
+3391657728,3391658751,HK
+3391658752,3391659263,CN
+3391659264,3391659519,HK
+3391659520,3391660031,CN
+3391660032,3391660543,HK
+3391660544,3391660799,CN
+3391660800,3391662079,AU
+3391662080,3391663103,HK
3391663104,3391664127,PH
3391664128,3391668223,BD
3391668224,3391676415,HK
3391676416,3391684607,SG
-3391684608,3391688191,IN
+3391684608,3391685631,IN
+3391685632,3391686655,AU
+3391686656,3391687167,CN
+3391687168,3391687423,IN
+3391687424,3391688191,CN
3391688192,3391688703,AU
-3391688704,3391717887,IN
-3391717888,3391718143,US
-3391718144,3391718911,IN
-3391718912,3391719167,JP
-3391719168,3391719423,AU
-3391719424,3391720703,NZ
-3391720704,3391720959,SG
-3391720960,3391721215,CN
-3391721216,3391721471,HK
-3391721472,3391721727,AU
-3391721728,3391721983,KR
+3391688704,3391717375,IN
+3391717376,3391717631,CN
+3391717632,3391717887,IN
+3391717888,3391718399,CN
+3391718400,3391718911,IN
+3391718912,3391719423,JP
+3391719424,3391721471,NZ
+3391721472,3391721983,AU
3391721984,3391722239,TW
3391722240,3391722495,PH
3391722496,3391723519,IN
3391723520,3391725567,CN
3391725568,3391733759,TH
-3391733760,3391734015,IN
+3391733760,3391734015,CN
3391734016,3391734783,AU
3391735808,3391736831,JP
3391736832,3391737855,IN
3391737856,3391741951,JP
-3391741952,3391744959,IN
-3391744960,3391744991,SG
-3391744992,3391746047,IN
+3391741952,3391746047,HK
3391746048,3391750143,CN
3391750144,3391815679,SG
3391815680,3391817727,AU
@@ -117372,35 +136185,42 @@
3391848448,3391852543,AU
3391852544,3391856639,CN
3391856640,3391864831,ID
-3391864832,3391868927,US
-3391868928,3391870975,SG
-3391870976,3391873023,US
+3391864832,3391873023,HK
3391873024,3391877119,AU
3391877120,3391879167,JP
3391879168,3391881215,ID
-3391881216,3391895551,TH
+3391881216,3391885311,TH
+3391885312,3391889407,CN
+3391889408,3391893503,TH
+3391894528,3391895551,TH
3391895552,3391896575,IN
3391896576,3391897599,NZ
-3391897600,3391900415,TH
+3391897600,3391898367,TH
+3391898368,3391898623,CN
+3391898624,3391900159,TH
+3391900160,3391900415,CN
3391900416,3391901695,AU
3391901696,3391905791,PK
3391905792,3391906047,TH
-3391906048,3391906303,JP
3391906304,3391906815,AU
3391906816,3391907839,PH
3391907840,3391909887,BD
3391909888,3391910911,IO
3391910912,3391911935,AU
3391911936,3391913983,HK
-3391913984,3391915519,TH
+3391913984,3391914239,TH
+3391914240,3391914495,CN
+3391914496,3391915007,TH
+3391915008,3391915519,CN
3391915520,3391915775,AU
3391915776,3391916287,TH
3391916288,3391916543,VN
-3391916544,3391920127,TH
+3391916544,3391918591,TH
+3391918592,3391919103,CN
+3391919104,3391920127,TH
3391920128,3391930367,AU
3391930368,3391946751,TH
-3391946752,3391947007,DE
-3391947008,3391947519,HK
+3391946752,3391947519,CN
3391947520,3391947775,AU
3391947776,3391948287,HK
3391948288,3391948799,IN
@@ -117408,7 +136228,9 @@
3391949312,3391949823,IN
3391949824,3391950079,JP
3391950080,3391950335,AU
-3391950336,3391971327,HK
+3391950336,3391950591,HK
+3391950592,3391954943,CN
+3391954944,3391971327,HK
3391971328,3391979519,AU
3391979520,3391979775,HK
3391979776,3391980031,JP
@@ -117421,19 +136243,19 @@
3391986688,3391987199,PK
3391987200,3391987455,AU
3391987456,3391987711,BD
-3391987712,3391988607,JP
-3391988608,3391988735,SG
-3391988736,3391991807,JP
+3391987712,3391991807,JP
3391991808,3392012287,HK
-3392012288,3392017151,ID
+3392012288,3392016383,ID
+3392016384,3392017151,CN
3392017152,3392017407,IN
-3392017408,3392017919,ID
+3392017408,3392017919,CN
3392017920,3392018431,IN
3392018432,3392020479,ID
3392020480,3392028671,CN
3392028672,3392040959,ID
3392040960,3392045055,MY
-3392045056,3392046079,ID
+3392045056,3392045311,CN
+3392045312,3392046079,ID
3392046080,3392049151,AU
3392049152,3392053247,ID
3392053248,3392061439,NZ
@@ -117441,8 +136263,7 @@
3392069632,3392073727,CN
3392073728,3392077823,ID
3392077824,3392079871,AU
-3392079872,3392081919,TH
-3392081920,3392086015,JP
+3392079872,3392086015,JP
3392086016,3392094207,AU
3392094208,3392098559,ID
3392098560,3392098815,AU
@@ -117455,29 +136276,29 @@
3392101888,3392102143,PK
3392102144,3392102399,AU
3392102400,3392106495,KH
-3392106496,3392109567,AU
+3392106496,3392108543,IN
+3392108544,3392109567,AU
3392109568,3392109823,IN
-3392109824,3392110335,PH
+3392109824,3392110079,PH
+3392110080,3392110335,CN
3392110336,3392110591,IN
-3392110592,3392111103,PH
-3392111104,3392111359,DE
-3392111360,3392112127,PH
+3392110592,3392110847,CN
+3392110848,3392111103,PH
+3392111104,3392111615,CN
+3392111616,3392112127,PH
3392112128,3392112639,AU
-3392112640,3392114175,PH
+3392112640,3392113663,JP
+3392113664,3392114175,PH
3392114176,3392114431,VN
3392114432,3392114687,KR
3392114688,3392118783,GU
3392118784,3392126975,MY
-3392126976,3392135167,ID
+3392126976,3392135167,HK
3392135168,3392143359,TH
3392143360,3392208895,JP
-3392208896,3392286975,NZ
-3392286976,3392287231,US
-3392287232,3392287743,NZ
+3392208896,3392287743,NZ
3392287744,3392288767,NP
-3392288768,3392295935,NZ
-3392295936,3392296191,AU
-3392296192,3392324607,NZ
+3392288768,3392324607,NZ
3392324608,3392325119,AU
3392325120,3392325631,NZ
3392325632,3392326655,ID
@@ -117523,11 +136344,7 @@
3392420864,3392421119,AU
3392421120,3392421375,MY
3392421376,3392421887,IN
-3392421888,3392430271,SG
-3392430272,3392430303,TW
-3392430304,3392432511,SG
-3392432512,3392432543,TW
-3392432544,3392438271,SG
+3392421888,3392438271,SG
3392438272,3392438527,IN
3392438528,3392438783,AU
3392438784,3392439039,IN
@@ -117570,8 +136387,8 @@
3392520192,3392524287,AU
3392524288,3392528383,JP
3392528384,3392536575,ID
-3392536576,3392610303,IN
-3392610304,3392618495,HK
+3392536576,3392602111,IN
+3392602112,3392618495,HK
3392618496,3392626687,SG
3392626688,3392630783,NZ
3392630784,3392634879,JP
@@ -117583,18 +136400,10 @@
3392643072,3392647167,ID
3392647168,3392651263,MN
3392651264,3392659455,JP
-3392659456,3392660831,TW
-3392660832,3392660847,SG
-3392660848,3392660911,TW
-3392660912,3392660927,SG
-3392660928,3392667647,TW
+3392659456,3392667647,TW
3392667648,3392668671,IN
3392668672,3392669695,BD
-3392669696,3392670783,HK
-3392670784,3392670799,US
-3392670800,3392670815,HK
-3392670816,3392670847,US
-3392670848,3392671743,HK
+3392669696,3392671743,HK
3392671744,3392675839,JP
3392675840,3392681983,NZ
3392681984,3392682239,SG
@@ -117607,21 +136416,18 @@
3392700416,3392708607,SG
3392708608,3392712703,ID
3392712704,3392716799,AF
-3392716800,3392733183,IN
-3392733184,3392741375,ID
+3392716800,3392734207,IN
+3392734208,3392741375,ID
3392741376,3392765951,PH
3392765952,3392782335,TH
-3392782336,3392790527,HK
+3392789504,3392790527,HK
3392790528,3392794623,JP
-3392794624,3392798719,CN
-3392798720,3392798975,LA
+3392794624,3392798975,CN
3392798976,3392799231,JP
3392799232,3392799487,PH
3392799488,3392799743,AU
3392799744,3392800767,JP
-3392800768,3392801375,SG
-3392801376,3392801391,HK
-3392801392,3392802815,SG
+3392800768,3392802815,SG
3392802816,3392806911,JP
3392806912,3392815103,AU
3392815104,3392819199,ID
@@ -117644,8 +136450,20 @@
3392839680,3392845823,ID
3392845824,3392847871,HK
3392847872,3392856063,ID
-3392856064,3392864255,PH
-3392864256,3392864511,TO
+3392856064,3392857087,AU
+3392857088,3392857343,IN
+3392857344,3392858111,AU
+3392858112,3392858623,IN
+3392858624,3392858879,JP
+3392858880,3392859135,AU
+3392859136,3392859647,PH
+3392859648,3392860159,ID
+3392860160,3392860671,AU
+3392860672,3392861183,ID
+3392861184,3392861439,TH
+3392861440,3392861695,VN
+3392861696,3392862207,AU
+3392864256,3392864511,CN
3392864512,3392864767,AU
3392864768,3392865279,IN
3392865280,3392866303,NU
@@ -117659,7 +136477,9 @@
3392905216,3392909311,ID
3392909312,3392913407,JP
3392913408,3392917503,ID
-3392917504,3392921599,BD
+3392917504,3392918527,BD
+3392918528,3392919551,CN
+3392919552,3392921599,KR
3392921600,3392921855,NZ
3392921856,3392922623,AU
3392922624,3392922879,IN
@@ -117668,7 +136488,6 @@
3392923392,3392923647,IN
3392923648,3392924159,CN
3392924160,3392924671,JP
-3392924672,3392924927,PH
3392924928,3392925183,AU
3392925184,3392925695,VN
3392925696,3392926719,AU
@@ -117683,14 +136502,15 @@
3392929792,3392931839,MU
3392931840,3392933887,PH
3392933888,3392942079,JP
-3392942080,3392944127,AU
+3392942080,3392944127,CN
3392944128,3392945151,MY
3392945152,3392946175,IN
3392946176,3392954367,AU
3392954368,3392956415,CN
3392956416,3392958463,VN
3392958464,3392962559,CN
-3392962560,3392970751,IN
+3392962560,3392963583,IN
+3392963584,3392970751,CN
3392970752,3392978943,JP
3392978944,3392983039,TH
3392983040,3392987135,IN
@@ -117703,7 +136523,6 @@
3392998400,3392999423,AU
3392999424,3393003519,JP
3393003520,3393011711,PK
-3393011712,3393019903,PH
3393019904,3393020159,ID
3393020160,3393020415,MN
3393020416,3393021439,ID
@@ -117721,11 +136540,8 @@
3393025280,3393025535,IN
3393025536,3393025791,PH
3393025792,3393026047,AU
-3393026048,3393026559,HK
3393026560,3393026815,AU
-3393026816,3393027071,PK
-3393027072,3393027839,ID
-3393027840,3393028095,PH
+3393027072,3393028095,ID
3393028096,3393060863,AU
3393060864,3393062911,FJ
3393062912,3393069055,ID
@@ -117743,24 +136559,25 @@
3393123328,3393123583,IN
3393123584,3393123839,NZ
3393123840,3393124351,IN
-3393124352,3393125375,CN
-3393125376,3393125631,IN
+3393124352,3393125631,CN
3393125632,3393125887,JP
3393125888,3393126143,AU
3393126144,3393126399,CN
3393126400,3393134591,HK
3393134592,3393146879,AU
-3393146880,3393150975,PK
+3393146880,3393147135,PK
+3393147136,3393150975,CN
3393150976,3393159167,IN
-3393159168,3393167359,SG
-3393167360,3393175551,IN
+3393159168,3393167359,HK
+3393167360,3393175551,CN
3393175552,3393183743,PK
3393183744,3393187839,SG
3393187840,3393189887,NP
3393189888,3393190911,CN
-3393190912,3393191423,IN
+3393190912,3393191167,IN
3393191424,3393191935,SB
-3393191936,3393260031,HK
+3393191936,3393257471,HK
+3393257472,3393260031,CN
3393260032,3393260543,BD
3393260544,3393265663,AU
3393265664,3393273855,CK
@@ -117774,7 +136591,8 @@
3393306624,3393314815,HK
3393314816,3393318911,ID
3393318912,3393320959,SG
-3393320960,3393389567,HK
+3393320960,3393388543,HK
+3393388544,3393389567,CN
3393389568,3393390591,IN
3393390592,3393392639,ID
3393392640,3393396735,JP
@@ -117784,7 +136602,7 @@
3393421312,3393470463,HK
3393470464,3393474559,AU
3393474560,3393478655,NZ
-3393478656,3393486847,HK
+3393478656,3393486847,AU
3393486848,3393495039,IN
3393495040,3393499135,AU
3393499136,3393503231,SG
@@ -117824,12 +136642,11 @@
3393620992,3393621247,JP
3393621248,3393622015,AU
3393622016,3393626111,PK
-3393626112,3393626367,HK
-3393626368,3393630207,CN
+3393626112,3393630207,HK
3393630208,3393634303,JP
-3393634304,3393638399,IN
+3393634304,3393638399,CN
3393638400,3393650687,JP
-3393650688,3393658879,HK
+3393650688,3393658879,IN
3393658880,3393662975,KH
3393662976,3393675263,JP
3393675264,3393679359,MY
@@ -117839,32 +136656,13 @@
3393695744,3393699839,PH
3393699840,3393724415,HK
3393724416,3393726463,AU
-3393726464,3393728511,BD
+3393726464,3393728511,CN
3393728512,3393736703,JP
-3393736704,3393740799,HK
-3393740800,3393741055,KH
-3393741056,3393741311,BD
-3393741312,3393741567,NP
-3393741568,3393741575,BD
-3393741576,3393741823,US
-3393741824,3393742847,SC
-3393742848,3393743871,TL
-3393743872,3393744127,US
-3393744128,3393744143,TK
-3393744144,3393744159,US
-3393744160,3393744175,TK
-3393744176,3393744383,US
-3393744384,3393744415,SC
-3393744416,3393744447,US
-3393744448,3393744479,MG
-3393744480,3393744511,BD
-3393744512,3393744575,PK
-3393744576,3393744639,US
-3393744640,3393744895,KH
+3393736704,3393740799,CN
+3393740800,3393744895,US
3393744896,3393748991,PH
3393748992,3393765375,AU
3393765376,3393773567,ID
-3393773568,3393775615,AU
3393775616,3393777663,BD
3393777664,3393779711,MN
3393779712,3393780735,IN
@@ -117875,7 +136673,7 @@
3393789952,3393798143,SG
3393798144,3393806335,JP
3393806336,3393814527,ID
-3393814528,3393815551,HK
+3393814528,3393815551,CN
3393815552,3393816575,KR
3393816576,3393818623,JP
3393818624,3393822719,AU
@@ -117910,15 +136708,16 @@
3393863168,3393863679,HK
3393863680,3393865727,AU
3393865728,3393867775,ID
-3393867776,3393880063,HK
+3393867776,3393871871,CN
+3393871872,3393880063,HK
3393880064,3393896447,AU
3393896448,3393906687,NZ
-3393906688,3393908735,PK
3393908736,3393910783,BD
3393910784,3393911807,PH
3393911808,3393912063,AU
3393912064,3393912319,JP
-3393912320,3393913855,HK
+3393912320,3393912831,CN
+3393912832,3393913855,HK
3393913856,3393914879,MY
3393914880,3393916927,JP
3393916928,3393921023,ID
@@ -117932,24 +136731,26 @@
3393970176,3393974271,JP
3393974272,3393976319,MY
3393976320,3393977343,MO
-3393977344,3394011135,HK
+3393977344,3393978367,CN
+3393978368,3394011135,HK
3394011136,3394027519,AU
3394027520,3394035711,JP
3394035712,3394039807,MY
-3394039808,3394041855,US
+3394039808,3394041855,SG
3394041856,3394042879,AU
-3394042880,3394060287,HK
+3394042880,3394043903,CN
+3394043904,3394060287,HK
3394060288,3394064383,ID
-3394064384,3394068479,AU
+3394064384,3394066431,CN
+3394066432,3394067455,AU
+3394067456,3394068479,CN
3394068480,3394076671,ID
3394076672,3394078719,HK
3394078720,3394078975,AU
3394078976,3394079231,IN
3394079232,3394079743,PH
-3394079744,3394087471,HK
-3394087472,3394087487,CN
-3394087488,3394111487,HK
-3394111488,3394113535,TH
+3394079744,3394111487,HK
+3394111488,3394113535,CN
3394113536,3394117631,SG
3394117632,3394121727,AU
3394121728,3394125823,SG
@@ -117973,10 +136774,10 @@
3394207744,3394215935,JP
3394215936,3394220031,AU
3394220032,3394232319,SG
-3394232320,3394234367,AU
+3394232320,3394234367,CN
3394234368,3394236415,VN
3394236416,3394238463,JP
-3394238464,3394239487,IN
+3394238464,3394239487,CN
3394239488,3394248703,HK
3394248704,3394252799,VU
3394252800,3394256895,IN
@@ -117987,17 +136788,12 @@
3394273280,3394277375,HK
3394277376,3394279423,AU
3394279424,3394281471,PH
-3394281472,3394283775,SG
-3394283776,3394284031,BD
-3394284032,3394284287,SG
-3394284288,3394284351,SO
-3394284352,3394285567,SG
+3394281472,3394285567,SG
3394285568,3394289663,AU
-3394289664,3394290687,HK
-3394290688,3394293759,CN
+3394289664,3394293759,CN
3394293760,3394297855,ID
3394297856,3394306047,TH
-3394306048,3394307071,HK
+3394306048,3394307071,CN
3394307072,3394308095,SG
3394308096,3394310143,JP
3394310144,3394314239,AU
@@ -118006,7 +136802,7 @@
3394326528,3394330623,JP
3394330624,3394338815,AU
3394338816,3394347007,IN
-3394347008,3394355199,PH
+3394347008,3394351103,PH
3394355200,3394359295,IN
3394359296,3394363391,AU
3394363392,3394441215,HK
@@ -118014,7 +136810,6 @@
3394453504,3394461695,AU
3394461696,3394465791,SG
3394465792,3394467839,AU
-3394467840,3394469887,MY
3394469888,3394478079,JP
3394478080,3394482175,PK
3394482176,3394484223,AU
@@ -118023,9 +136818,12 @@
3394494464,3394498559,JP
3394498560,3394500607,HK
3394500608,3394501631,SG
-3394501632,3394507263,HK
+3394501632,3394502655,CN
+3394502656,3394503679,HK
+3394503680,3394506751,CN
+3394506752,3394507263,HK
3394507264,3394507775,JP
-3394507776,3394508799,PH
+3394508544,3394508799,PH
3394508800,3394510847,CN
3394510848,3394514943,BD
3394514944,3394519039,JP
@@ -118033,14 +136831,7 @@
3394521088,3394523135,KH
3394523136,3394527231,JP
3394527232,3394535423,PH
-3394535424,3394559487,HK
-3394559488,3394559999,A2
-3394560000,3394564095,HK
-3394564096,3394564607,A2
-3394564608,3394565631,HK
-3394565632,3394565887,PK
-3394565888,3394566143,A2
-3394566144,3394621439,HK
+3394535424,3394621439,HK
3394621440,3394625535,CN
3394625536,3394629631,HK
3394629632,3394631679,AU
@@ -118048,20 +136839,19 @@
3394634752,3394635775,IN
3394635776,3394637823,KR
3394637824,3394641919,AF
-3394641920,3394648063,AU
+3394646016,3394648063,AU
3394648064,3394650111,JP
3394650112,3394658303,HK
3394658304,3394662399,NZ
3394662400,3394664447,AU
3394664448,3394666495,JP
-3394666496,3394682367,MO
-3394682368,3394682879,HK
+3394666496,3394682879,MO
3394682880,3394686975,PH
3394686976,3394689023,AU
3394689024,3394691071,BD
3394691072,3394697215,JP
3394697216,3394697471,SG
-3394697472,3394697727,PK
+3394697472,3394697727,CN
3394697728,3394697983,AU
3394697984,3394698239,IN
3394698240,3394699263,CN
@@ -118069,7 +136859,8 @@
3394700288,3394707455,AU
3394707456,3394715647,IN
3394715648,3394719743,JP
-3394719744,3394732031,PK
+3394719744,3394723839,CN
+3394723840,3394732031,MY
3394732032,3394740223,NC
3394740224,3394744319,AU
3394744320,3394752511,ID
@@ -118089,20 +136880,8 @@
3394818048,3394830335,IN
3394830336,3394831359,HK
3394831360,3394832383,NZ
-3394832384,3394834431,PH
-3394834432,3394834687,HK
-3394834688,3394834943,JP
-3394834944,3394834959,HK
-3394834960,3394834975,JP
-3394834976,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
+3394832384,3394834431,CN
+3394834432,3394836479,HK
3394836480,3394838527,BT
3394838528,3394846719,NZ
3394846720,3394850815,IN
@@ -118124,7 +136903,6 @@
3394895872,3394896895,CN
3394896896,3394897919,TH
3394897920,3394899967,JP
-3394899968,3394904063,SG
3394904064,3394904319,AU
3394904320,3394904575,IN
3394904576,3394905087,AU
@@ -118135,17 +136913,17 @@
3394906624,3394907135,IN
3394907136,3394908159,NZ
3394908160,3394910207,AU
-3394910208,3394912255,PH
+3394910208,3394912255,NZ
3394912256,3394920447,PF
3394920448,3394924543,IN
-3394924544,3394928639,TH
+3394924544,3394928639,CN
3394928640,3394936831,PH
3394936832,3394940927,AU
3394940928,3394945023,JP
3394945024,3394945279,IN
-3394945280,3394945535,AU
3394945536,3394946047,ID
-3394946048,3394946559,AU
+3394946048,3394946303,CN
+3394946304,3394946559,AU
3394946560,3394947071,ID
3394947072,3394948095,BD
3394948096,3394948351,IN
@@ -118153,16 +136931,15 @@
3394948608,3394949119,AU
3394949120,3394953215,JP
3394953216,3394957311,CN
-3394957312,3394959359,AP
+3394957312,3394959359,AU
3394959360,3394960383,HK
-3394960384,3394962431,CN
+3394960384,3394961407,PH
+3394961408,3394962431,CN
3394962432,3394963455,AU
3394963456,3394965503,ID
3394965504,3394967551,TH
3394967552,3394969599,ID
-3394969600,3394971391,SG
-3394971392,3394971647,AU
-3394971648,3394973695,SG
+3394969600,3394973695,SG
3394973696,3394977791,JP
3394977792,3394985983,IN
3394985984,3394990079,CN
@@ -118176,10 +136953,10 @@
3395014656,3395018751,JP
3395018752,3395027967,CN
3395027968,3395028991,VN
-3395028992,3395031039,IN
+3395028992,3395031039,CN
3395031040,3395035135,PK
3395035136,3395039231,AU
-3395039232,3395043327,BD
+3395039232,3395043327,CN
3395043328,3395059711,AU
3395059712,3395067903,PH
3395067904,3395076095,HK
@@ -118238,21 +137015,17 @@
3395219456,3395223551,TH
3395223552,3395231743,CN
3395231744,3395239935,JP
-3395239936,3395254751,SG
-3395254752,3395254767,JP
-3395254768,3395256319,SG
+3395239936,3395256319,SG
3395256320,3395264511,ID
3395264512,3395272703,JP
3395272704,3395276799,PG
3395276800,3395280895,JP
3395280896,3395284991,PH
-3395284992,3395287039,AU
+3395284992,3395287039,CN
3395287040,3395287551,JP
3395287552,3395287807,NZ
3395287808,3395288063,IN
-3395288064,3396868319,CN
-3396868320,3396868351,SG
-3396868352,3396995071,CN
+3395288064,3396995071,CN
3396995072,3396997119,ID
3396997120,3396999167,IN
3396999168,3397001215,JP
@@ -118261,12 +137034,10 @@
3397005312,3397009407,JP
3397009408,3397017599,CN
3397017600,3397021695,HK
-3397021696,3397023743,CN
-3397023744,3397025791,BD
-3397025792,3397026047,CN
+3397021696,3397026047,CN
3397026048,3397026303,AU
3397026304,3397026815,TH
-3397026816,3397027071,AU
+3397026816,3397027071,CN
3397027072,3397027327,PH
3397027328,3397027839,IN
3397027840,3397029887,JP
@@ -118308,7 +137079,7 @@
3397177344,3397181439,JP
3397181440,3397185535,PW
3397185536,3397187583,AU
-3397187584,3397189631,AP
+3397187584,3397189631,IN
3397189632,3397201919,AU
3397201920,3397206015,JP
3397206016,3397210111,BD
@@ -118329,27 +137100,13 @@
3397217280,3397217791,AU
3397217792,3397218047,NZ
3397218048,3397218303,AU
-3397218304,3397230591,PK
+3397218304,3397222399,CN
+3397222400,3397230591,PK
3397230592,3397234687,AU
3397234688,3397238783,CN
3397238784,3397255167,HK
-3397255168,3397255607,JP
-3397255608,3397255615,SG
-3397255616,3397255711,JP
-3397255712,3397255727,SG
-3397255728,3397255807,JP
-3397255808,3397255823,HK
-3397255824,3397256655,JP
-3397256656,3397256671,HK
-3397256672,3397256975,JP
-3397256976,3397256983,SG
-3397256984,3397257327,JP
-3397257328,3397257343,SG
-3397257344,3397257983,JP
-3397257984,3397258007,SG
-3397258008,3397258015,JP
-3397258016,3397258063,SG
-3397258064,3397263359,JP
+3397255168,3397259263,SG
+3397259264,3397263359,JP
3397263360,3397267455,PH
3397267456,3397271551,HK
3397271552,3397275647,TW
@@ -118358,7 +137115,7 @@
3397279744,3397283839,AU
3397283840,3397285887,KR
3397285888,3397287935,BD
-3397287936,3397304319,SG
+3397287936,3397304319,HK
3397304320,3397308415,NZ
3397308416,3397312511,HK
3397312512,3397320703,JP
@@ -118390,11 +137147,7 @@
3397413888,3397414399,NZ
3397414400,3397414911,IN
3397414912,3397419007,AU
-3397419008,3397419535,HK
-3397419536,3397419551,KR
-3397419552,3397419871,HK
-3397419872,3397419904,KR
-3397419905,3397427199,HK
+3397419008,3397427199,HK
3397427200,3397443583,SG
3397443584,3397451775,HK
3397451776,3397468159,TH
@@ -118405,8 +137158,7 @@
3397500928,3397501951,BD
3397501952,3397503999,IN
3397504000,3397505023,TH
-3397505024,3397505279,NZ
-3397505280,3397506559,IN
+3397505024,3397506559,IN
3397506560,3397506815,AU
3397506816,3397507071,IN
3397507072,3397507583,ID
@@ -118436,11 +137188,7 @@
3397530624,3397531647,ID
3397531648,3397532671,SG
3397532672,3397533695,JP
-3397533696,3397555903,HK
-3397555904,3397555935,JP
-3397555936,3397566263,HK
-3397566264,3397566271,TW
-3397566272,3397566463,HK
+3397533696,3397566463,HK
3397566464,3397574655,AU
3397574656,3397582847,CN
3397582848,3397584895,MN
@@ -118459,44 +137207,15 @@
3397640192,3397648383,MN
3397648384,3397713919,TW
3397713920,3397715967,ID
-3397715968,3397716431,HK
-3397716432,3397716447,ID
-3397716448,3397716463,HK
-3397716464,3397716479,AF
-3397716480,3397717247,HK
-3397717248,3397717255,BD
-3397717256,3397717279,AF
-3397717280,3397717287,ID
-3397717288,3397717295,AF
-3397717296,3397717303,HK
-3397717304,3397717311,AF
-3397717312,3397717343,HK
-3397717344,3397717359,AF
-3397717360,3397717711,HK
-3397717712,3397717727,BD
-3397717728,3397718015,HK
+3397715968,3397718015,HK
3397718016,3397722111,KR
-3397722112,3397726207,PK
+3397722112,3397726207,CN
3397726208,3397730303,IN
-3397730304,3397734399,PK
-3397734400,3397738495,ID
3397738496,3397742591,MY
3397742592,3397746687,JP
3397746688,3397763071,TH
3397763072,3397771263,PH
-3397771264,3397775887,TW
-3397775888,3397775919,HK
-3397775920,3397777535,TW
-3397777536,3397777551,CR
-3397777552,3397777583,TW
-3397777584,3397777599,CR
-3397777600,3397777791,TW
-3397777792,3397777807,CR
-3397777808,3397777839,TW
-3397777840,3397777855,CR
-3397777856,3397778175,TW
-3397778176,3397778191,US
-3397778192,3397779455,TW
+3397771264,3397779455,TW
3397779456,3397781503,ID
3397781504,3397783551,BD
3397783552,3397785599,VN
@@ -118509,35 +137228,23 @@
3397793280,3397793535,VN
3397793536,3397793791,HK
3397793792,3397794303,PH
-3397794304,3397794559,AU
+3397794304,3397794559,CN
3397794560,3397794815,IN
3397794816,3397812223,HK
-3397812224,3397816319,PK
+3397812224,3397816319,CN
3397816320,3397832703,IN
3397832704,3397836799,JP
3397836800,3397844991,AU
-3397844992,3397853951,JP
-3397853952,3397854207,HK
-3397854208,3397855231,JP
-3397855232,3397855239,HK
-3397855240,3397881503,JP
-3397881504,3397881535,NZ
-3397881536,3397903103,JP
-3397903104,3397903359,HK
-3397903360,3397910015,JP
-3397910016,3397910271,SG
-3397910272,3397910527,JP
+3397844992,3397910527,JP
3397910528,3397918719,SG
3397918720,3397922815,AU
3397922816,3397926911,CN
-3397926912,3397935103,ID
3397935104,3397939199,AU
3397939200,3397951487,KR
3397951488,3397959679,SG
3397959680,3397963775,JP
3397963776,3397971967,CN
3397971968,3397974015,LA
-3397974016,3397975039,IN
3397975040,3397976063,AU
3397976064,3397984255,ID
3397984256,3397992447,JP
@@ -118570,16 +137277,15 @@
3398172672,3398180863,JP
3398180864,3398189055,IN
3398189056,3398205439,HK
-3398205440,3398213631,IN
-3398213632,3398221823,HK
+3398207488,3398208511,IN
+3398213632,3398221823,TW
3398221824,3398230015,JP
-3398230016,3398238207,HK
+3398230016,3398238207,AU
3398238208,3398279167,IN
3398279168,3398287359,CN
3398287360,3398291455,JP
3398291456,3398295551,AU
-3398295552,3398303743,PK
-3398303744,3398305791,IN
+3398295552,3398305791,IN
3398305792,3398307839,JP
3398307840,3398311935,CN
3398311936,3398320127,AU
@@ -118590,13 +137296,12 @@
3398361088,3398369279,JP
3398369280,3398369791,IN
3398369792,3398370303,JP
-3398370304,3398371327,IN
+3398370304,3398371327,CN
3398371328,3398373375,JP
-3398373376,3398377471,CN
-3398377472,3398381567,ID
-3398381568,3398385663,AU
+3398373376,3398381567,CN
+3398381568,3398383615,AU
+3398383616,3398385663,CN
3398385664,3398393855,JP
-3398393856,3398397951,ID
3398397952,3398402047,PK
3398402048,3398418431,TH
3398418432,3398434815,JP
@@ -118613,150 +137318,22 @@
3398565888,3398567423,ID
3398567424,3398569983,AU
3398569984,3398572031,JP
-3398572032,3398574079,AP
+3398572032,3398574079,AU
3398574080,3398582271,ID
3398582272,3398590463,MY
3398590464,3398598655,HK
3398598656,3398606847,ID
-3398606848,3398610943,AU
+3398606848,3398610943,CN
3398610944,3398612991,ID
3398612992,3398613503,PH
-3398613504,3398613759,NZ
3398613760,3398614015,AU
3398614016,3398615039,CN
-3398615040,3398619135,IN
+3398615040,3398616063,IN
+3398616064,3398619135,CN
3398619136,3398621183,AU
3398621184,3398623231,HK
3398623232,3398631423,ID
-3398631424,3398631935,AP
-3398631936,3398632015,JP
-3398632016,3398632023,AP
-3398632024,3398632143,JP
-3398632144,3398632175,AP
-3398632176,3398632383,JP
-3398632384,3398632391,AP
-3398632392,3398632623,JP
-3398632624,3398632639,AP
-3398632640,3398632959,JP
-3398632960,3398633983,AP
-3398633984,3398634111,KR
-3398634112,3398634303,AP
-3398634304,3398634335,KR
-3398634336,3398634343,AP
-3398634344,3398634479,KR
-3398634480,3398634495,AP
-3398634496,3398634591,KR
-3398634592,3398634607,AP
-3398634608,3398634623,KR
-3398634624,3398634751,AP
-3398634752,3398634783,KR
-3398634784,3398635263,AP
-3398635264,3398635391,KR
-3398635392,3398636039,AP
-3398636040,3398636127,HK
-3398636128,3398636351,AP
-3398636352,3398636383,HK
-3398636384,3398636447,AP
-3398636448,3398636527,HK
-3398636528,3398636543,AP
-3398636544,3398636583,HK
-3398636584,3398636591,AP
-3398636592,3398636735,HK
-3398636736,3398636767,AP
-3398636768,3398636775,HK
-3398636776,3398636783,AP
-3398636784,3398636799,HK
-3398636800,3398637183,AP
-3398637184,3398637215,HK
-3398637216,3398637247,AP
-3398637248,3398637311,HK
-3398637312,3398637375,JP
-3398637376,3398637519,HK
-3398637520,3398637551,AP
-3398637552,3398637567,HK
-3398637568,3398638095,AP
-3398638096,3398638111,PH
-3398638112,3398638159,AP
-3398638160,3398638167,PH
-3398638168,3398638191,TW
-3398638192,3398638207,PH
-3398638208,3398638367,AP
-3398638368,3398638383,TW
-3398638384,3398638399,AP
-3398638400,3398638431,TW
-3398638432,3398638447,PH
-3398638448,3398638479,AP
-3398638480,3398638495,TW
-3398638496,3398638719,AP
-3398638720,3398638847,PH
-3398638848,3398638879,AP
-3398638880,3398638911,PH
-3398638912,3398639007,AP
-3398639008,3398639231,PH
-3398639232,3398639247,AP
-3398639248,3398639263,PH
-3398639264,3398639271,TW
-3398639272,3398639423,AP
-3398639424,3398639455,PH
-3398639456,3398640127,AP
-3398640128,3398640159,SG
-3398640160,3398640191,AP
-3398640192,3398640207,MY
-3398640208,3398640639,AP
-3398640640,3398640695,SG
-3398640696,3398640783,AP
-3398640784,3398640799,SG
-3398640800,3398640895,AP
-3398640896,3398640911,MY
-3398640912,3398640959,SG
-3398640960,3398641007,AP
-3398641008,3398641039,SG
-3398641040,3398641055,AP
-3398641056,3398641087,SG
-3398641088,3398641095,AP
-3398641096,3398641103,SG
-3398641104,3398641119,AP
-3398641120,3398641311,SG
-3398641312,3398641423,AP
-3398641424,3398641431,SG
-3398641432,3398641447,MY
-3398641448,3398641455,AP
-3398641456,3398641503,SG
-3398641504,3398641535,AP
-3398641536,3398641543,SG
-3398641544,3398641567,AP
-3398641568,3398641631,MY
-3398641632,3398642463,AP
-3398642464,3398642511,AU
-3398642512,3398642527,NZ
-3398642528,3398642559,AU
-3398642560,3398642623,AP
-3398642624,3398642639,AU
-3398642640,3398642655,AP
-3398642656,3398642815,AU
-3398642816,3398642975,AP
-3398642976,3398643007,AU
-3398643008,3398643023,AP
-3398643024,3398643039,AU
-3398643040,3398643047,AP
-3398643048,3398643071,AU
-3398643072,3398643199,AP
-3398643200,3398643223,AU
-3398643224,3398643247,NZ
-3398643248,3398643263,AU
-3398643264,3398643343,AP
-3398643344,3398643359,AU
-3398643360,3398643375,AP
-3398643376,3398643383,NZ
-3398643384,3398643519,AP
-3398643520,3398643583,AU
-3398643584,3398643711,AP
-3398643712,3398643967,SG
-3398643968,3398645759,AP
-3398645760,3398646271,AU
-3398646272,3398647295,AP
-3398647296,3398647551,TW
-3398647552,3398647807,AP
+3398631424,3398647807,JP
3398647808,3398668287,AU
3398668288,3398672383,CN
3398672384,3398680575,PK
@@ -118765,7 +137342,6 @@
3398688768,3398705151,ID
3398705152,3398709247,CN
3398709248,3398711295,AU
-3398711296,3398713343,BD
3398713344,3398729727,CN
3398729728,3398737919,AU
3398737920,3398742015,SG
@@ -118775,7 +137351,7 @@
3398754304,3398758399,AU
3398758400,3398768639,JP
3398768640,3398770687,TH
-3398770688,3398778879,IN
+3398770688,3398778879,CN
3398778880,3398787071,ID
3398787072,3398795263,TH
3398795264,3398803455,ID
@@ -118786,10 +137362,9 @@
3398829056,3398830079,IN
3398830080,3398831103,KH
3398831104,3398832127,JP
-3398832128,3398836223,CN
-3398836224,3398840319,ID
+3398832128,3398840319,CN
3398840320,3398842367,JP
-3398842368,3398843391,HK
+3398842368,3398843391,CN
3398843392,3398844415,AU
3398844416,3398852607,ID
3398852608,3398860799,NZ
@@ -118797,7 +137372,7 @@
3398873088,3398877183,KR
3398877184,3398881279,CN
3398881280,3398885375,SG
-3398885376,3398894591,ID
+3398885376,3398894591,CN
3398894592,3398895615,TH
3398895616,3398897663,ID
3398897664,3398901759,FJ
@@ -118809,7 +137384,7 @@
3398905856,3398909951,TW
3398909952,3398918143,GU
3398918144,3398926335,JP
-3398926336,3398934527,IN
+3398926336,3398934527,CN
3398934528,3398938623,VN
3398938624,3398942719,TH
3398942720,3398959103,MY
@@ -118821,8 +137396,7 @@
3399008256,3399012351,ID
3399012352,3399016447,JP
3399016448,3399024639,ID
-3399024640,3399025663,TH
-3399025664,3399026175,JP
+3399024640,3399025663,CN
3399026176,3399026431,SG
3399026432,3399026687,AU
3399026688,3399028735,HK
@@ -118833,45 +137407,9 @@
3399045120,3399047167,MV
3399047168,3399057407,HK
3399057408,3399065599,ID
-3399065600,3399074495,TW
-3399074496,3399074527,CN
-3399074528,3399075487,TW
-3399075488,3399075503,CR
-3399075504,3399076431,TW
-3399076432,3399076447,CR
-3399076448,3399076607,TW
-3399076608,3399076639,HK
-3399076640,3399076687,TW
-3399076688,3399076703,HK
-3399076704,3399077079,TW
-3399077080,3399077087,HK
-3399077088,3399077359,TW
-3399077360,3399077375,CR
-3399077376,3399077887,TW
+3399065600,3399077887,TW
3399077888,3399081983,AU
-3399081984,3399099647,ID
-3399099648,3399099903,AU
-3399099904,3399100719,ID
-3399100720,3399100735,AU
-3399100736,3399100751,ID
-3399100752,3399100799,AU
-3399100800,3399100863,ID
-3399100864,3399100879,AU
-3399100880,3399100895,ID
-3399100896,3399100927,AU
-3399100928,3399101951,ID
-3399101952,3399101983,AU
-3399101984,3399102079,ID
-3399102080,3399102111,AU
-3399102112,3399102127,ID
-3399102128,3399102207,AU
-3399102208,3399102287,ID
-3399102288,3399102399,AU
-3399102400,3399102431,ID
-3399102432,3399102463,AU
-3399102464,3399102719,ID
-3399102720,3399102975,AU
-3399102976,3399106559,ID
+3399081984,3399106559,ID
3399106560,3399122943,AU
3399122944,3399131135,NZ
3399131136,3399135231,IN
@@ -118885,12 +137423,7 @@
3399286784,3399303167,JP
3399303168,3399311359,IN
3399311360,3399319551,JP
-3399319552,3399331839,SG
-3399331840,3399332351,MY
-3399332352,3399332863,AU
-3399332864,3399333375,HK
-3399333376,3399335423,MY
-3399335424,3399335935,IN
+3399319552,3399335935,SG
3399335936,3399344127,CN
3399344128,3399352319,JP
3399352320,3399389183,ID
@@ -118898,16 +137431,15 @@
3399393280,3399401471,CN
3399401472,3399409663,AU
3399409664,3399413759,JP
-3399413760,3399414015,NL
+3399413760,3399414015,SG
3399414016,3399414271,AU
-3399414272,3399414527,JP
3399414528,3399414783,AU
3399414784,3399415807,VN
3399415808,3399416831,SG
3399416832,3399417087,ID
3399417088,3399417855,AU
3399417856,3399450623,ID
-3399450624,3399467007,TW
+3399450624,3399467007,AU
3399467008,3399483391,IN
3399483392,3399495679,BN
3399495680,3399499775,NZ
@@ -118916,22 +137448,14 @@
3399512064,3399514111,NZ
3399514112,3399515135,SG
3399515136,3399515647,VN
-3399515648,3399524351,AU
+3399515648,3399516159,AU
3399524352,3399528447,IN
3399528448,3399532543,CN
3399532544,3399548927,SG
3399548928,3399557119,AU
3399557120,3399565311,SG
3399565312,3399581695,AU
-3399581696,3399583487,US
-3399583488,3399583743,NP
-3399583744,3399584255,US
-3399584256,3399584511,BD
-3399584512,3399587839,US
-3399587840,3399588095,BD
-3399588096,3399589631,US
-3399589632,3399589887,NP
-3399589888,3399593983,HK
+3399581696,3399593983,HK
3399593984,3399598079,BD
3399598080,3399614463,JP
3399614464,3399622655,MY
@@ -118961,7 +137485,8 @@
3399729152,3399745535,PH
3399745536,3399749631,CN
3399749632,3399751679,AU
-3399751680,3399752191,IN
+3399751680,3399751935,IN
+3399751936,3399752191,CN
3399752192,3399752447,AU
3399752448,3399752703,HK
3399752704,3399753727,NZ
@@ -118981,20 +137506,21 @@
3399826432,3399826943,PH
3399826944,3399827455,IN
3399827456,3399835647,AU
-3399835648,3399839743,AP
+3399835648,3399839743,CN
3399839744,3399841791,JP
-3399841792,3399846399,TW
-3399846400,3399846407,US
-3399846408,3399846919,TW
-3399846920,3399846935,US
-3399846936,3399847247,TW
-3399847248,3399847263,US
-3399847264,3399852031,TW
+3399841792,3399852031,TW
3399852032,3399856127,JP
3399856128,3399860223,CN
3399860224,3399864319,PG
3399864320,3399868415,CN
-3399868416,3399876607,PK
+3399868416,3399872255,PK
+3399872256,3399873023,CN
+3399873024,3399873279,PK
+3399873280,3399873535,CN
+3399873536,3399873791,PK
+3399873792,3399874047,CN
+3399874048,3399875327,PK
+3399875328,3399876607,CN
3399876608,3399917567,SG
3399917568,3399921663,PK
3399921664,3399923711,NC
@@ -119003,48 +137529,22 @@
3399924224,3399924735,AU
3399924736,3399925759,PH
3399925760,3399933951,NP
-3399933952,3399942143,TW
-3399942144,3399950335,AP
-3399950336,3399952639,US
-3399952640,3399952703,AU
-3399952704,3399967871,US
-3399967872,3399967999,HK
-3399968000,3399974911,US
-3399974912,3399979007,AP
-3399979008,3399982959,US
-3399982960,3399982975,SG
-3399982976,3399995391,US
+3399933952,3399942143,CN
+3399942144,3399958527,MY
+3399958528,3399974911,US
+3399974912,3399995391,MY
3399995392,3399999487,KR
-3399999488,3400001279,SG
-3400001280,3400001535,AU
-3400001536,3400002047,SG
-3400002048,3400002559,HK
-3400002560,3400003583,JP
-3400003584,3400004671,SG
-3400004672,3400004703,AU
-3400004704,3400006911,SG
-3400006912,3400006943,AU
-3400006944,3400007679,SG
+3399999488,3400007679,SG
3400007680,3400024063,AU
3400024064,3400028159,MY
-3400028160,3400030207,AU
3400030208,3400031231,IN
3400031232,3400031743,SG
3400031744,3400031999,IN
3400032000,3400032255,HK
-3400032256,3400048639,AU
+3400032256,3400040447,AU
3400048640,3400056831,CN
3400056832,3400060927,TW
-3400060928,3400061695,HK
-3400061696,3400061759,US
-3400061760,3400061791,PR
-3400061792,3400061983,HK
-3400061984,3400061999,US
-3400062000,3400062015,HK
-3400062016,3400062047,MO
-3400062048,3400062079,HK
-3400062080,3400062207,AU
-3400062208,3400062975,HK
+3400060928,3400062975,HK
3400062976,3400065023,JP
3400065024,3400073215,BD
3400073216,3400077311,HK
@@ -119055,7 +137555,7 @@
3400097792,3400105983,AU
3400105984,3400114175,JP
3400114176,3400118271,TW
-3400118272,3400120319,AP
+3400118272,3400120319,AU
3400120320,3400122367,JP
3400122368,3400130559,NZ
3400130560,3400138751,ID
@@ -119068,14 +137568,12 @@
3400171520,3400179711,CN
3400179712,3400183807,NZ
3400183808,3400187903,JP
-3400187904,3400191999,AU
+3400187904,3400189951,AU
3400192000,3400194047,JP
3400194048,3400204287,CN
3400204288,3400212479,ID
3400212480,3400220671,MY
-3400220672,3400221055,NC
-3400221056,3400221119,NZ
-3400221120,3400224767,NC
+3400220672,3400224767,NC
3400224768,3400228863,JP
3400228864,3400232959,AU
3400232960,3400245247,JP
@@ -119093,7 +137591,8 @@
3400265472,3400265727,IN
3400265728,3400267775,PG
3400267776,3400268799,KR
-3400268800,3400270847,MO
+3400268800,3400269823,MO
+3400269824,3400270847,CN
3400270848,3400271359,VN
3400271360,3400271615,AU
3400271616,3400271871,IN
@@ -119104,7 +137603,7 @@
3400286208,3400294399,JP
3400294400,3400310783,AU
3400310784,3400335359,SG
-3400335360,3400336383,MO
+3400335360,3400336383,CN
3400336384,3400336639,PH
3400336640,3400336895,JP
3400336896,3400337151,AU
@@ -119122,11 +137621,11 @@
3400401920,3400402175,TW
3400402176,3400402431,IN
3400402432,3400402943,NZ
-3400402944,3400404991,AP
+3400402944,3400404991,HK
3400404992,3400409087,TW
3400409088,3400413183,AU
3400413184,3400417279,JP
-3400417280,3400421375,SG
+3400417280,3400421375,CN
3400421376,3400423423,AU
3400423424,3400424447,KR
3400424448,3400425471,IN
@@ -119134,228 +137633,10 @@
3400429568,3400431615,NZ
3400431616,3400431871,IN
3400431872,3400432127,HK
-3400432128,3400433663,IN
-3400433664,3400434175,HK
-3400434176,3400434463,MY
-3400434464,3400434471,HK
-3400434472,3400434479,MY
-3400434480,3400434487,HK
-3400434488,3400434519,MY
-3400434520,3400434527,MV
-3400434528,3400434535,HK
-3400434536,3400434543,KZ
-3400434544,3400434551,MY
-3400434552,3400434559,KZ
-3400434560,3400434567,MV
-3400434568,3400434575,MY
-3400434576,3400434583,MV
-3400434584,3400434599,MY
-3400434600,3400434607,HK
-3400434608,3400434647,MV
-3400434648,3400434655,KZ
-3400434656,3400434663,MV
-3400434664,3400434679,MY
-3400434680,3400434687,HK
-3400434688,3400434895,MY
-3400434896,3400434911,MV
-3400434912,3400434927,KZ
-3400434928,3400434935,MV
-3400434936,3400434951,HK
-3400434952,3400434959,AF
-3400434960,3400434975,HK
-3400434976,3400434991,AF
-3400434992,3400435007,MA
-3400435008,3400435071,MY
-3400435072,3400435087,MA
-3400435088,3400435095,AF
-3400435096,3400435119,MA
-3400435120,3400435143,HK
-3400435144,3400435151,MA
-3400435152,3400435159,HK
-3400435160,3400435175,MA
-3400435176,3400435183,MY
-3400435184,3400435199,MV
-3400435200,3400435207,AF
-3400435208,3400435239,HK
-3400435240,3400435263,ID
-3400435264,3400435391,MY
-3400435392,3400435423,HK
-3400435424,3400435439,ID
-3400435440,3400435455,KZ
-3400435456,3400435575,MY
-3400435576,3400435639,HK
-3400435640,3400435647,MY
-3400435648,3400435663,HK
-3400435664,3400435711,MY
-3400435712,3400436479,HK
-3400436480,3400436735,NP
-3400436736,3400437247,BD
-3400437248,3400437375,PK
-3400437376,3400437439,BD
-3400437440,3400437527,HK
-3400437528,3400437543,MY
-3400437544,3400437551,HK
-3400437552,3400437591,MY
-3400437592,3400437599,BD
-3400437600,3400437607,MN
-3400437608,3400437615,MY
-3400437616,3400437631,HK
-3400437632,3400437647,MY
-3400437648,3400437655,HK
-3400437656,3400437663,MY
-3400437664,3400437671,MN
-3400437672,3400437679,HK
-3400437680,3400437687,MN
-3400437688,3400437703,ID
-3400437704,3400437711,HK
-3400437712,3400437719,MY
-3400437720,3400437727,HK
-3400437728,3400437759,ID
-3400437760,3400437767,AF
-3400437768,3400437775,MY
-3400437776,3400437783,HK
-3400437784,3400437807,NP
-3400437808,3400437815,MN
-3400437816,3400437823,ID
-3400437824,3400437831,MY
-3400437832,3400437847,ID
-3400437848,3400437887,MY
-3400437888,3400437895,HK
-3400437896,3400437903,MY
-3400437904,3400437911,ID
-3400437912,3400437927,MY
-3400437928,3400437935,ID
-3400437936,3400437951,BD
-3400437952,3400437959,MN
-3400437960,3400437967,ID
-3400437968,3400437975,MY
-3400437976,3400437983,AF
-3400437984,3400438015,HK
-3400438016,3400438079,LK
-3400438080,3400438111,BD
-3400438112,3400438143,HK
-3400438144,3400438175,BD
-3400438176,3400438399,HK
-3400438400,3400438527,BD
+3400432128,3400432639,IN
+3400433664,3400438527,HK
3400438528,3400438783,AF
-3400438784,3400438815,KZ
-3400438816,3400438831,PK
-3400438832,3400438839,AF
-3400438840,3400438847,ID
-3400438848,3400438863,BD
-3400438864,3400438871,HK
-3400438872,3400438879,ID
-3400438880,3400438911,NP
-3400438912,3400438919,AF
-3400438920,3400438927,IN
-3400438928,3400438943,BD
-3400438944,3400438959,HK
-3400438960,3400438991,ID
-3400438992,3400438999,HK
-3400439000,3400439007,PK
-3400439008,3400439023,BD
-3400439024,3400439039,ID
-3400439040,3400439295,HK
-3400439296,3400439551,PK
-3400439552,3400439615,BD
-3400439616,3400439679,HK
-3400439680,3400439711,BD
-3400439712,3400439743,KZ
-3400439744,3400439807,BD
-3400439808,3400439871,HK
-3400439872,3400439935,NP
-3400439936,3400440063,HK
-3400440064,3400440079,NP
-3400440080,3400440087,MN
-3400440088,3400440095,MY
-3400440096,3400440111,MN
-3400440112,3400440127,MY
-3400440128,3400440135,MN
-3400440136,3400440143,HK
-3400440144,3400440159,MY
-3400440160,3400440167,BD
-3400440168,3400440175,MY
-3400440176,3400440191,BD
-3400440192,3400440199,KZ
-3400440200,3400440207,MN
-3400440208,3400440223,MY
-3400440224,3400440239,BD
-3400440240,3400440247,ID
-3400440248,3400440255,AF
-3400440256,3400440263,ID
-3400440264,3400440271,MN
-3400440272,3400440295,ID
-3400440296,3400440303,BD
-3400440304,3400440319,MY
-3400440320,3400440327,AF
-3400440328,3400440335,ID
-3400440336,3400440343,NP
-3400440344,3400440351,AF
-3400440352,3400440359,HK
-3400440360,3400440367,ID
-3400440368,3400440375,HK
-3400440376,3400440383,ID
-3400440384,3400440391,MN
-3400440392,3400440415,ID
-3400440416,3400440431,AF
-3400440432,3400440439,MY
-3400440440,3400440447,HK
-3400440448,3400440455,AF
-3400440456,3400440463,BD
-3400440464,3400440467,ID
-3400440468,3400440475,HK
-3400440476,3400440479,NP
-3400440480,3400440487,AF
-3400440488,3400440495,MY
-3400440496,3400440499,LK
-3400440500,3400440507,AF
-3400440508,3400440519,HK
-3400440520,3400440531,ID
-3400440532,3400440535,AF
-3400440536,3400440539,ID
-3400440540,3400440543,HK
-3400440544,3400440551,MN
-3400440552,3400440575,NP
-3400440576,3400440583,ID
-3400440584,3400440591,HK
-3400440592,3400440607,PK
-3400440608,3400440623,HK
-3400440624,3400440639,ID
-3400440640,3400440703,HK
-3400440704,3400440712,AF
-3400440713,3400440719,ID
-3400440720,3400440727,AF
-3400440728,3400440735,KZ
-3400440736,3400440743,BD
-3400440744,3400440750,ID
-3400440751,3400440751,HK
-3400440752,3400440759,ID
-3400440760,3400440767,MY
-3400440768,3400440775,ID
-3400440776,3400440783,HK
-3400440784,3400440792,MN
-3400440793,3400440799,AF
-3400440800,3400440808,BD
-3400440809,3400440815,MY
-3400440816,3400440823,AF
-3400440824,3400440831,MY
-3400440832,3400440895,BD
-3400440896,3400440959,AF
-3400440960,3400441023,VN
-3400441024,3400441047,AF
-3400441048,3400441055,BD
-3400441056,3400441063,PK
-3400441064,3400441071,HK
-3400441072,3400441079,ID
-3400441080,3400441087,AF
-3400441088,3400441151,PK
-3400441152,3400441215,BD
-3400441216,3400441279,HK
-3400441280,3400441311,AF
-3400441312,3400441319,LK
-3400441320,3400441327,AF
-3400441328,3400441335,LK
-3400441336,3400441855,HK
+3400438784,3400441855,HK
3400441856,3400450047,NZ
3400450048,3400458239,JP
3400458240,3400466431,AU
@@ -119364,7 +137645,6 @@
3400503296,3400507391,JP
3400507392,3400515583,MO
3400515584,3400531967,PH
-3400531968,3400534015,AU
3400534016,3400535039,JP
3400535040,3400535551,MY
3400535552,3400536063,AU
@@ -119378,29 +137658,7 @@
3400608768,3400609791,IN
3400609792,3400630271,JP
3400630272,3400646655,IN
-3400646656,3400647775,SG
-3400647776,3400647791,AU
-3400647792,3400649191,SG
-3400649192,3400649199,HK
-3400649200,3400649983,SG
-3400649984,3400650047,HK
-3400650048,3400650407,SG
-3400650408,3400650415,AU
-3400650416,3400652031,SG
-3400652032,3400652287,AU
-3400652288,3400652439,SG
-3400652440,3400652447,AU
-3400652448,3400652479,SG
-3400652480,3400652543,AU
-3400652544,3400654103,SG
-3400654104,3400654111,AU
-3400654112,3400654207,SG
-3400654208,3400654335,AU
-3400654336,3400654695,SG
-3400654696,3400654703,AU
-3400654704,3400654719,SG
-3400654720,3400654735,AU
-3400654736,3400654847,SG
+3400646656,3400654847,SG
3400654848,3400663039,IN
3400663040,3400683519,MY
3400683520,3400691711,JP
@@ -119410,8 +137668,6 @@
3400736768,3400744959,JP
3400744960,3400753151,IN
3400753152,3400761343,MY
-3400761344,3400769535,PK
-3400769536,3400773631,JP
3400773632,3400775679,KR
3400775680,3400777727,ID
3400777728,3400790015,JP
@@ -119426,7 +137682,8 @@
3400839168,3400847359,JP
3400847360,3400849407,CN
3400849408,3400851455,MN
-3400851456,3400884223,AU
+3400851456,3400859647,AU
+3400867840,3400884223,AU
3400884224,3400888319,JP
3400888320,3400892415,CN
3400892416,3400925183,HK
@@ -119457,7 +137714,7 @@
3401433088,3401441279,JP
3401441280,3401449471,IN
3401449472,3401515007,MY
-3401515008,3401515263,DE
+3401515008,3401515263,CN
3401515264,3401515519,AU
3401515520,3401516031,ID
3401516032,3401519103,AU
@@ -119466,437 +137723,1581 @@
3401527296,3401529343,AU
3401529344,3401530367,VN
3401530368,3401531391,AU
-3401531392,3401539583,IN
+3401531392,3401532415,IN
+3401532416,3401539583,CN
3401539584,3401543679,AU
3401543680,3401545727,JP
3401545728,3401547775,BD
-3401547776,3401580543,MY
-3401580544,3401642495,CN
-3401642496,3401642751,TW
-3401642752,3402629119,CN
+3401547776,3401580543,IN
+3401580544,3402629119,CN
3402629120,3404857954,JP
3404857955,3404857955,ID
3404857956,3404857966,JP
3404857967,3404857967,IN
3404857968,3405774847,JP
-3405774848,3405795583,AU
-3405795584,3405796095,CN
-3405796096,3405846783,AU
+3405774848,3405775871,AU
+3405775872,3405776895,CN
+3405776896,3405777407,AU
+3405777408,3405777919,CN
+3405777920,3405779455,AU
+3405779456,3405779711,CN
+3405779712,3405780991,AU
+3405780992,3405781247,CN
+3405781248,3405785599,AU
+3405785600,3405786111,CN
+3405786112,3405786367,AU
+3405786368,3405787135,CN
+3405787136,3405795583,AU
+3405795584,3405796351,CN
+3405796352,3405797887,AU
+3405797888,3405798399,CN
+3405798400,3405799423,AU
+3405799424,3405799935,CN
+3405799936,3405801471,AU
+3405801472,3405803519,CN
+3405803520,3405803775,AU
+3405804032,3405804543,CN
+3405804544,3405806079,AU
+3405806080,3405806335,CN
+3405806336,3405807615,AU
+3405807616,3405807871,CN
+3405807872,3405808127,AU
+3405808128,3405809663,CN
+3405809664,3405809919,AU
+3405809920,3405810175,CN
+3405810176,3405811199,AU
+3405811200,3405811455,CN
+3405811456,3405811711,AU
+3405811712,3405811967,CN
+3405811968,3405812223,AU
+3405812224,3405812479,CN
+3405812480,3405812735,AU
+3405812736,3405812991,CN
+3405812992,3405813247,AU
+3405813248,3405814015,CN
+3405814016,3405820159,AU
+3405820160,3405820415,CN
+3405820416,3405832191,AU
+3405832192,3405832447,CN
+3405832448,3405841407,AU
+3405841408,3405842431,CN
+3405842432,3405844991,AU
+3405844992,3405845247,CN
+3405845248,3405846783,AU
3405846784,3405847039,ID
-3405847040,3405934591,AU
+3405847040,3405847551,CN
+3405847552,3405857023,AU
+3405857024,3405857791,CN
+3405857792,3405858303,AU
+3405858304,3405858815,CN
+3405858816,3405859839,AU
+3405859840,3405860351,CN
+3405860352,3405863423,AU
+3405863424,3405863679,CN
+3405863680,3405865215,AU
+3405865216,3405867007,CN
+3405867008,3405868031,AU
+3405868032,3405868287,CN
+3405868288,3405905151,AU
+3405905152,3405905663,CN
+3405905664,3405922303,AU
+3405922304,3405924351,CN
+3405924352,3405924607,AU
+3405924608,3405924863,CN
+3405924864,3405934591,AU
3405934592,3405936639,CN
-3405936640,3406005247,AU
+3405936640,3405938175,AU
+3405938176,3405938687,CN
+3405938688,3405941759,AU
+3405941760,3405942015,CN
+3405942016,3405944319,AU
+3405944320,3405944575,CN
+3405944576,3405944831,AU
+3405944832,3405946367,CN
+3405946368,3405946879,AU
+3405946880,3405948927,CN
+3405948928,3405951999,AU
+3405952000,3405952511,CN
+3405952512,3405956095,AU
+3405956096,3405956607,CN
+3405956608,3405959423,AU
+3405959424,3405959679,CN
+3405959680,3405960703,AU
+3405960704,3405961215,CN
+3405961216,3405963775,AU
+3405963776,3405964287,CN
+3405964288,3405964543,AU
+3405964544,3405964799,CN
+3405964800,3405966335,AU
+3405966336,3405966847,CN
+3405966848,3405988863,AU
+3405988864,3405989119,CN
+3405989120,3405989887,AU
+3405989888,3405990399,CN
+3405990400,3405990655,AU
+3405990656,3405990911,CN
+3405990912,3405991935,AU
+3405991936,3405993983,CN
+3405993984,3405996031,AU
+3405996032,3405997055,CN
+3405997056,3405998335,AU
+3405998336,3405998591,CN
+3405998592,3406000127,AU
+3406000128,3406002431,CN
+3406002432,3406002943,AU
+3406002944,3406003199,CN
+3406003200,3406005247,AU
3406005248,3406005503,HK
-3406005504,3406071807,AU
-3406071808,3406073855,US
-3406073856,3406077951,AU
+3406005504,3406006015,AU
+3406006016,3406006271,CN
+3406006272,3406007039,AU
+3406007040,3406007295,CN
+3406007296,3406008063,AU
+3406008064,3406008319,CN
+3406008320,3406070783,AU
+3406070784,3406071551,CN
+3406071552,3406075647,AU
+3406075648,3406076927,CN
+3406076928,3406077951,AU
3406077952,3406078207,TH
-3406078208,3406109695,AU
+3406078208,3406081535,AU
+3406081536,3406082047,CN
+3406082048,3406083071,AU
+3406083072,3406083327,CN
+3406083328,3406084607,AU
+3406084608,3406084863,CN
+3406084864,3406089471,AU
+3406089472,3406089727,CN
+3406089728,3406090239,AU
+3406090240,3406091263,CN
+3406091264,3406095103,AU
+3406095104,3406095359,CN
+3406095360,3406095871,AU
+3406095872,3406096383,CN
+3406096384,3406103551,AU
+3406103552,3406104063,CN
+3406104064,3406104319,AU
+3406104320,3406105087,CN
+3406105088,3406105343,AU
+3406105344,3406105599,CN
+3406105600,3406107903,AU
+3406107904,3406108415,CN
+3406108416,3406109695,AU
3406109696,3406109951,NZ
-3406109952,3406205951,AU
+3406109952,3406113791,AU
+3406113792,3406114047,CN
+3406114048,3406114303,AU
+3406114304,3406114815,CN
+3406114816,3406115839,AU
+3406115840,3406117375,CN
+3406117376,3406117887,AU
+3406117888,3406118399,CN
+3406118400,3406131711,AU
+3406131712,3406132223,CN
+3406132224,3406132735,AU
+3406132736,3406132991,CN
+3406132992,3406133247,AU
+3406133248,3406133503,CN
+3406133504,3406146559,AU
+3406146560,3406146815,CN
+3406146816,3406148607,AU
+3406148608,3406149375,CN
+3406149376,3406149887,AU
+3406149888,3406150399,CN
+3406150400,3406150655,AU
+3406150656,3406151423,CN
+3406151424,3406152447,AU
+3406152448,3406152703,CN
+3406152704,3406157311,AU
+3406157312,3406157823,CN
+3406157824,3406158335,AU
+3406158336,3406158847,CN
+3406158848,3406201599,AU
+3406201600,3406201855,CN
+3406201856,3406202879,AU
+3406202880,3406203135,CN
+3406203136,3406203391,AU
+3406203392,3406203903,CN
+3406203904,3406204415,AU
+3406204416,3406204671,CN
+3406204672,3406205951,AU
3406205952,3406206463,ID
-3406206464,3406271231,AU
+3406206464,3406206975,CN
+3406206976,3406208255,AU
+3406208256,3406208511,CN
+3406208512,3406208767,AU
+3406208768,3406209023,CN
+3406209024,3406221311,AU
+3406221312,3406223359,IN
+3406223360,3406225407,AU
+3406225408,3406229503,CN
+3406229504,3406231551,AU
+3406231552,3406232063,CN
+3406232064,3406266623,AU
+3406266624,3406266879,CN
+3406266880,3406268927,AU
+3406268928,3406269439,CN
+3406269440,3406271231,AU
3406271232,3406271487,CN
-3406271488,3406277375,AU
+3406271488,3406271999,AU
+3406272000,3406272511,CN
+3406272512,3406274047,AU
+3406274048,3406274303,CN
+3406274304,3406274559,AU
+3406274560,3406276607,HK
+3406276608,3406277375,AU
3406277376,3406277631,ID
-3406277632,3406327039,AU
+3406277632,3406282751,AU
+3406282752,3406283263,CN
+3406283264,3406284799,AU
+3406284800,3406285055,CN
+3406285056,3406299135,AU
+3406299136,3406299391,CN
+3406299392,3406301183,AU
+3406301184,3406301439,CN
+3406301440,3406305023,AU
+3406305024,3406307327,CN
+3406307328,3406317055,AU
+3406317056,3406317311,CN
+3406317312,3406320127,AU
+3406320128,3406320383,CN
+3406320384,3406321151,AU
+3406321152,3406321663,CN
+3406321664,3406322431,AU
+3406322432,3406322687,CN
+3406322688,3406327039,AU
3406327040,3406327295,IN
3406327296,3406327807,CN
-3406327808,3406328831,AU
+3406327808,3406328575,AU
+3406328576,3406328831,CN
3406328832,3406329343,IN
3406329344,3406331647,AU
3406331648,3406331903,VN
-3406331904,3406343167,AU
+3406331904,3406341631,AU
+3406341632,3406342143,CN
+3406342144,3406342399,AU
+3406342400,3406342655,CN
+3406342656,3406343167,AU
3406343168,3406343423,VN
-3406343424,3406350591,AU
+3406343424,3406343679,CN
+3406343680,3406346239,AU
+3406346240,3406346495,CN
+3406346496,3406346751,AU
+3406346752,3406347263,CN
+3406347264,3406347775,AU
+3406347776,3406348543,CN
+3406348544,3406349567,AU
+3406349568,3406350335,CN
+3406350336,3406350591,AU
3406350592,3406350847,IN
-3406350848,3406380799,AU
+3406350848,3406351103,AU
+3406351104,3406351359,CN
+3406351360,3406352639,AU
+3406352640,3406354431,CN
+3406354432,3406354687,AU
+3406354688,3406354943,CN
+3406354944,3406355455,AU
+3406355456,3406355711,CN
+3406355712,3406372863,AU
+3406372864,3406373119,CN
+3406373120,3406373887,AU
+3406373888,3406374399,CN
+3406374400,3406379263,AU
+3406379264,3406379519,CN
+3406379520,3406380799,AU
3406380800,3406381055,CN
-3406381056,3406382591,AU
-3406382592,3406383103,CN
-3406383104,3406384639,AU
+3406381056,3406381311,AU
+3406381312,3406381567,CN
+3406381568,3406382591,AU
+3406382592,3406383359,CN
+3406383360,3406383871,AU
+3406383872,3406384639,CN
3406384640,3406385151,SG
-3406385152,3406409727,AU
+3406385152,3406389247,AU
+3406389248,3406390783,CN
+3406390784,3406392319,AU
+3406392320,3406392575,CN
+3406392576,3406405119,AU
+3406405120,3406405375,CN
+3406405376,3406409727,AU
3406409728,3406411775,NZ
3406411776,3406434303,AU
3406434304,3406436351,MY
-3406436352,3406445055,AU
+3406436352,3406438911,AU
+3406438912,3406439167,CN
+3406439168,3406444543,AU
+3406444544,3406444799,CN
+3406444800,3406445055,AU
3406445056,3406445311,MY
-3406445312,3406512383,AU
+3406445312,3406449151,AU
+3406449152,3406449663,CN
+3406449664,3406451711,AU
+3406451712,3406452991,CN
+3406452992,3406454527,AU
+3406454528,3406454783,CN
+3406454784,3406462207,AU
+3406462208,3406462463,CN
+3406462464,3406512383,AU
3406512384,3406512639,IN
-3406512640,3406514687,AU
+3406512640,3406513663,AU
+3406513664,3406513919,CN
+3406513920,3406514687,AU
3406514688,3406514943,TH
-3406514944,3406521343,AU
+3406514944,3406515199,AU
+3406515200,3406516223,CN
+3406516224,3406516735,AU
+3406516736,3406516991,CN
+3406516992,3406517247,AU
+3406517248,3406518271,CN
+3406518272,3406521343,AU
3406521344,3406522367,CN
-3406522368,3406542847,AU
-3406542848,3406543103,SG
-3406543104,3406565887,AU
+3406522368,3406523647,AU
+3406523648,3406523903,CN
+3406523904,3406525695,AU
+3406525696,3406525951,CN
+3406525952,3406526975,AU
+3406526976,3406527231,CN
+3406527232,3406527999,AU
+3406528000,3406528255,CN
+3406528256,3406530559,AU
+3406530560,3406531583,CN
+3406531584,3406531839,AU
+3406531840,3406532607,CN
+3406532608,3406541823,AU
+3406541824,3406542847,CN
+3406542848,3406548991,AU
+3406548992,3406550015,CN
+3406550016,3406565375,AU
+3406565376,3406565631,CN
+3406565632,3406565887,AU
3406565888,3406566143,PH
-3406566144,3406566399,AU
+3406566144,3406566399,CN
3406566400,3406566911,ID
-3406566912,3406591487,AU
-3406591488,3406591743,NP
-3406591744,3406617599,AU
+3406566912,3406567423,AU
+3406567424,3406567679,CN
+3406567680,3406575871,AU
+3406575872,3406576127,CN
+3406576128,3406577919,AU
+3406577920,3406578431,CN
+3406578432,3406579199,AU
+3406579200,3406579711,CN
+3406579712,3406583551,AU
+3406583552,3406585855,CN
+3406585856,3406586879,AU
+3406586880,3406587391,CN
+3406587392,3406587647,AU
+3406587648,3406587903,CN
+3406587904,3406590463,AU
+3406590464,3406590719,CN
+3406590720,3406591487,AU
+3406591488,3406591743,CN
+3406591744,3406594559,AU
+3406594560,3406594815,CN
+3406594816,3406596351,AU
+3406596352,3406596607,CN
+3406596608,3406611455,AU
+3406611456,3406614527,CN
+3406614528,3406615295,AU
+3406615296,3406615551,CN
+3406615552,3406617343,AU
+3406617344,3406617599,CN
3406617600,3406617855,MY
3406617856,3406618111,AU
3406618112,3406618623,IN
-3406618624,3406625023,AU
+3406618624,3406619135,AU
+3406619136,3406619391,CN
+3406619392,3406622719,AU
+3406622720,3406623743,CN
+3406623744,3406625023,AU
3406625024,3406625279,NF
-3406625280,3406637055,AU
+3406625280,3406631423,AU
+3406631424,3406631679,CN
+3406631680,3406632959,AU
+3406632960,3406633215,CN
+3406633216,3406637055,AU
3406637056,3406637311,IN
-3406637312,3406669823,AU
+3406637312,3406638079,AU
+3406638080,3406638591,CN
+3406638592,3406647295,AU
+3406647296,3406649855,CN
+3406649856,3406650367,AU
+3406650368,3406651391,CN
+3406651392,3406669823,AU
3406669824,3406670847,IN
-3406670848,3406696959,AU
+3406670848,3406671103,AU
+3406671104,3406671359,CN
+3406671360,3406684159,AU
+3406684160,3406684671,CN
+3406684672,3406684927,AU
+3406684928,3406685183,CN
+3406685184,3406686463,AU
+3406686464,3406686719,CN
+3406686720,3406696959,AU
3406696960,3406697215,IN
-3406697216,3406734847,AU
-3406734848,3406735103,AP
+3406697216,3406698495,AU
+3406698496,3406699519,CN
+3406699520,3406700799,AU
+3406700800,3406701055,CN
+3406701056,3406706687,AU
+3406706688,3406706943,CN
+3406706944,3406707967,AU
+3406707968,3406708479,CN
+3406708480,3406718975,AU
+3406718976,3406719231,CN
+3406719232,3406721535,AU
+3406721536,3406722047,CN
+3406722048,3406722559,AU
+3406722560,3406722815,CN
+3406722816,3406733823,AU
+3406733824,3406734079,CN
+3406734080,3406734847,AU
+3406734848,3406735103,HK
3406735104,3406737407,AU
3406737408,3406737663,ID
3406737664,3406739199,AU
3406739200,3406739455,ID
-3406739456,3406746623,AU
-3406746624,3406746879,HK
-3406746880,3406832127,AU
+3406739456,3406741759,CN
+3406741760,3406742015,AU
+3406742016,3406742527,CN
+3406742528,3406746623,AU
+3406746624,3406746879,JP
+3406746880,3406747135,AU
+3406747136,3406747391,CN
+3406747392,3406751487,AU
+3406751488,3406751743,CN
+3406751744,3406755327,AU
+3406755328,3406755583,CN
+3406755584,3406757887,AU
+3406757888,3406761983,CN
+3406761984,3406763007,AU
+3406763008,3406763775,CN
+3406763776,3406780159,AU
+3406780160,3406780927,CN
+3406780928,3406784767,AU
+3406784768,3406785023,CN
+3406785024,3406786559,AU
+3406786560,3406788607,CN
+3406788608,3406791167,AU
+3406791168,3406791679,CN
+3406791680,3406796031,AU
+3406796032,3406796287,CN
+3406796288,3406796543,AU
+3406796544,3406796799,CN
+3406796800,3406797823,AU
+3406797824,3406798847,CN
+3406798848,3406802431,AU
+3406802432,3406802687,CN
+3406802688,3406815999,AU
+3406816000,3406816255,CN
+3406816256,3406817279,AU
+3406817280,3406819839,CN
+3406819840,3406820863,AU
+3406820864,3406821119,CN
+3406821120,3406825983,AU
+3406825984,3406826239,CN
+3406826496,3406827007,CN
+3406827008,3406827519,AU
+3406827520,3406829567,CN
+3406829568,3406830335,AU
+3406830336,3406830591,CN
+3406830592,3406832127,AU
3406832128,3406832383,PK
-3406832384,3406865663,AU
+3406832384,3406833151,AU
+3406833152,3406833407,CN
+3406833408,3406835967,AU
+3406835968,3406836735,CN
+3406836736,3406838271,AU
+3406838272,3406838527,CN
+3406838528,3406839551,AU
+3406839552,3406839807,CN
+3406839808,3406857471,AU
+3406857472,3406857727,CN
+3406857728,3406864639,AU
+3406864640,3406865151,CN
+3406865152,3406865663,AU
3406865664,3406865919,IN
-3406865920,3406884607,AU
+3406865920,3406871039,AU
+3406871040,3406871551,CN
+3406871552,3406881791,AU
+3406881792,3406882047,CN
+3406882048,3406884351,AU
+3406884352,3406884607,CN
3406884608,3406884863,HK
-3406884864,3406894335,AU
+3406884864,3406885119,CN
+3406885120,3406886143,AU
+3406886144,3406886399,CN
+3406886400,3406889471,AU
+3406889472,3406889727,CN
+3406889728,3406893567,AU
+3406893568,3406893823,CN
+3406893824,3406894335,AU
3406894336,3406894591,ID
-3406894592,3406896895,AU
+3406894592,3406896127,AU
+3406896128,3406896383,CN
+3406896384,3406896895,AU
3406896896,3406897151,IN
-3406897152,3406923775,AU
+3406897152,3406898943,AU
+3406898944,3406899199,CN
+3406899200,3406903295,AU
+3406903296,3406903551,CN
+3406903552,3406907903,AU
+3406907904,3406908415,CN
+3406908416,3406911487,AU
+3406911488,3406911999,CN
+3406912000,3406923775,AU
3406923776,3406924031,CN
-3406924032,3406938623,AU
+3406924032,3406930943,AU
+3406930944,3406931199,CN
+3406931200,3406936831,AU
+3406936832,3406937087,CN
+3406937088,3406937599,AU
+3406937600,3406938111,CN
+3406938112,3406938623,AU
3406938624,3406938879,IN
3406938880,3406946815,AU
3406946816,3406947071,KR
-3406947072,3406950399,AU
+3406947072,3406948095,AU
+3406948096,3406948351,CN
+3406948352,3406948607,AU
+3406948608,3406948863,CN
+3406948864,3406950399,AU
3406950400,3406951423,NF
-3406951424,3406952703,AU
+3406951424,3406952447,AU
+3406952448,3406952703,CN
3406952704,3406952959,PH
-3406952960,3406961151,AU
+3406952960,3406954239,AU
+3406954240,3406954495,CN
+3406954496,3406955007,AU
+3406955008,3406955775,CN
+3406955776,3406956287,AU
+3406956288,3406956543,CN
+3406956544,3406961151,AU
3406961152,3406961407,IN
-3406961408,3406967295,AU
-3406967296,3406967551,CN
+3406961408,3406962431,AU
+3406962432,3406962687,CN
+3406962688,3406963967,AU
+3406963968,3406964223,CN
+3406964224,3406966783,AU
+3406966784,3406967551,CN
3406967552,3406967807,IN
-3406967808,3406989567,AU
+3406967808,3406968063,CN
+3406968064,3406972927,AU
+3406972928,3406973951,CN
+3406973952,3406974975,AU
+3406974976,3406975487,CN
+3406975488,3406976767,AU
+3406976768,3406977023,CN
+3406977024,3406980095,AU
+3406980096,3406980607,CN
+3406980608,3406981375,AU
+3406981376,3406981631,CN
+3406981632,3406981887,AU
+3406981888,3406982143,CN
+3406982144,3406982655,AU
+3406982656,3406982911,CN
+3406983168,3406987519,AU
+3406987520,3406987775,CN
+3406987776,3406988031,AU
+3406988032,3406988799,CN
+3406988800,3406989567,AU
3406989568,3406989823,IN
-3406989824,3407020287,AU
-3407020288,3407020543,SG
+3406989824,3406991359,AU
+3406991360,3406991615,CN
+3406991616,3406993663,AU
+3406993664,3406993919,CN
+3406993920,3406994431,AU
+3406995456,3407005439,AU
+3407005440,3407005695,CN
+3407005696,3407007743,AU
+3407007744,3407007999,CN
+3407008000,3407008511,AU
+3407008512,3407008767,CN
+3407008768,3407009535,AU
+3407009536,3407009791,CN
+3407009792,3407020287,AU
3407020544,3407020799,AU
3407020800,3407021055,IN
3407021056,3407021311,ID
-3407021312,3407027711,AU
+3407021312,3407024639,AU
+3407024640,3407024895,CN
+3407024896,3407026175,AU
+3407026176,3407026431,CN
+3407026432,3407027711,AU
3407027712,3407027967,CN
-3407027968,3407045887,AU
-3407045888,3407046143,HK
-3407046144,3407057663,AU
-3407057664,3407057919,JP
+3407027968,3407028223,AU
+3407028224,3407030271,CN
+3407030272,3407030527,AU
+3407030528,3407030783,CN
+3407030784,3407031295,AU
+3407031296,3407032063,CN
+3407032064,3407034879,AU
+3407034880,3407035135,CN
+3407035136,3407035391,AU
+3407035392,3407035903,CN
+3407035904,3407036415,AU
+3407036416,3407036671,CN
+3407036672,3407037439,AU
+3407037440,3407037695,CN
+3407037696,3407038463,AU
+3407038464,3407038719,CN
+3407038720,3407045887,AU
+3407045888,3407046143,CN
+3407046144,3407048447,AU
+3407048448,3407048703,CN
+3407048704,3407053567,AU
+3407053568,3407053823,CN
+3407053824,3407054079,AU
+3407054080,3407054335,CN
+3407054336,3407056895,AU
+3407056896,3407057151,CN
+3407057152,3407057663,AU
3407057920,3407058175,AU
3407058176,3407058431,CN
3407058432,3407059967,AU
3407059968,3407060223,CN
-3407060224,3407078399,AU
+3407060224,3407065087,AU
+3407065088,3407065343,CN
+3407065344,3407065599,AU
+3407065600,3407066111,CN
+3407066112,3407073279,AU
+3407073280,3407073535,CN
+3407073536,3407078399,AU
3407078400,3407079423,CN
-3407079424,3407085311,AU
+3407079424,3407079679,AU
+3407079680,3407079935,CN
+3407079936,3407081471,AU
+3407081728,3407081983,AU
+3407081984,3407082239,CN
+3407082240,3407083519,AU
+3407083520,3407084031,CN
+3407084032,3407085311,AU
3407085312,3407085567,CN
-3407085568,3407096831,AU
+3407085568,3407089919,AU
+3407089920,3407090175,CN
+3407090176,3407095807,AU
+3407095808,3407096319,CN
+3407096320,3407096831,AU
3407096832,3407097087,JP
-3407097088,3407101183,AU
+3407097088,3407097855,AU
+3407097856,3407098111,CN
+3407098112,3407101183,AU
3407101184,3407101439,CN
-3407101440,3407112447,AU
+3407101440,3407101695,AU
+3407101952,3407102207,AU
+3407102208,3407102463,CN
+3407102464,3407107071,AU
+3407107072,3407107583,CN
+3407107584,3407108351,AU
+3407108352,3407108607,CN
+3407108608,3407112447,AU
3407112448,3407112703,SG
-3407112704,3407152895,AU
+3407112704,3407113215,CN
+3407113216,3407115007,AU
+3407115008,3407115263,CN
+3407115264,3407115519,AU
+3407115520,3407116287,CN
+3407116288,3407116799,AU
+3407116800,3407117055,CN
+3407117056,3407117823,AU
+3407117824,3407118335,CN
+3407118336,3407120127,AU
+3407120128,3407122431,CN
+3407122432,3407123967,AU
+3407123968,3407124223,CN
+3407124224,3407144447,AU
+3407144448,3407144703,CN
+3407144704,3407144959,AU
+3407144960,3407145215,CN
+3407145216,3407145983,AU
+3407145984,3407146239,CN
+3407146240,3407147263,AU
+3407147264,3407147519,NZ
+3407147520,3407151103,AU
+3407151104,3407151871,CN
+3407151872,3407152895,AU
3407152896,3407153151,IN
-3407153152,3407157559,AU
-3407157560,3407157563,NZ
-3407157564,3407157579,AU
-3407157580,3407157583,NZ
-3407157584,3407157611,AU
-3407157612,3407157615,NZ
-3407157616,3407157643,AU
-3407157644,3407157647,NZ
-3407157648,3407157703,AU
-3407157704,3407157711,NZ
-3407157712,3407158015,AU
-3407158016,3407158047,NZ
-3407158048,3407158051,AU
-3407158052,3407158055,NZ
-3407158056,3407158111,AU
-3407158112,3407158127,NZ
-3407158128,3407158143,AU
-3407158144,3407158151,NZ
-3407158152,3407158167,AU
-3407158168,3407158175,NZ
-3407158176,3407158207,AU
-3407158208,3407158223,NZ
-3407158224,3407158239,AU
-3407158240,3407158271,NZ
-3407158272,3407159091,AU
-3407159092,3407159095,NZ
-3407159096,3407159111,AU
-3407159112,3407159151,NZ
-3407159152,3407159191,AU
-3407159192,3407159195,NZ
-3407159196,3407159207,AU
-3407159208,3407159215,NZ
-3407159216,3407159231,AU
-3407159232,3407159239,NZ
-3407159240,3407159263,AU
-3407159264,3407159295,NZ
-3407159296,3407161599,AU
+3407153152,3407153407,CN
+3407153408,3407153663,AU
+3407153664,3407153919,CN
+3407153920,3407155711,AU
+3407155712,3407155967,CN
+3407155968,3407159551,AU
+3407159552,3407160063,CN
+3407160064,3407161599,AU
3407161600,3407161855,CN
3407161856,3407162367,TH
-3407162368,3407170047,AU
+3407162368,3407162623,CN
+3407162624,3407168511,AU
+3407168512,3407168767,CN
+3407168768,3407170047,AU
3407170048,3407170559,ID
-3407170560,3407240959,AU
-3407240960,3407241215,CN
-3407241216,3407243263,AU
-3407243264,3407243775,HK
-3407243776,3407250175,AU
+3407170560,3407172095,AU
+3407172096,3407172351,CN
+3407172352,3407175679,AU
+3407175680,3407176703,CN
+3407176704,3407182847,AU
+3407182848,3407183103,CN
+3407183104,3407185919,AU
+3407185920,3407186431,CN
+3407186432,3407188223,AU
+3407188224,3407188479,CN
+3407188480,3407203839,AU
+3407203840,3407204095,CN
+3407204096,3407222783,AU
+3407222784,3407223039,CN
+3407223040,3407223807,AU
+3407223808,3407224319,CN
+3407224320,3407224575,AU
+3407224576,3407224831,CN
+3407224832,3407234047,AU
+3407234048,3407234303,CN
+3407234304,3407236095,AU
+3407236096,3407236351,CN
+3407236352,3407236607,AU
+3407236608,3407236863,CN
+3407236864,3407238143,AU
+3407238144,3407238399,CN
+3407238400,3407238911,AU
+3407238912,3407239167,CN
+3407239168,3407240191,AU
+3407240192,3407241215,CN
+3407241216,3407241983,AU
+3407241984,3407242239,CN
+3407242240,3407243775,AU
+3407243776,3407244031,CN
+3407244032,3407247871,AU
+3407247872,3407248383,CN
+3407248384,3407250175,AU
3407250176,3407250431,CN
-3407250432,3407268863,AU
-3407268864,3407269119,US
-3407269120,3407294207,AU
+3407250432,3407258367,AU
+3407258368,3407258623,CN
+3407258624,3407259135,AU
+3407259136,3407259391,CN
+3407259392,3407260159,AU
+3407260160,3407260415,CN
+3407260416,3407261695,AU
+3407261696,3407263743,CN
+3407263744,3407266303,AU
+3407266304,3407266559,CN
+3407266560,3407278591,AU
+3407278592,3407279103,CN
+3407279104,3407279359,AU
+3407279360,3407279871,CN
+3407279872,3407281151,AU
+3407281152,3407281663,CN
+3407281664,3407282175,AU
+3407282176,3407282431,CN
+3407282688,3407294207,AU
3407294208,3407294463,CN
-3407294464,3407310847,AU
+3407294464,3407297791,AU
+3407297792,3407298559,CN
+3407298560,3407300863,AU
+3407300864,3407301119,CN
+3407301120,3407303935,AU
+3407303936,3407304191,CN
+3407304192,3407305727,AU
+3407305728,3407306751,CN
+3407306752,3407307263,AU
+3407307264,3407307519,CN
+3407307520,3407309567,AU
+3407309568,3407309823,CN
+3407309824,3407310847,AU
3407310848,3407311103,CN
3407311104,3407315455,AU
3407315456,3407315711,CN
-3407315712,3407326207,AU
+3407315712,3407318015,AU
+3407318016,3407318527,CN
+3407318528,3407326207,AU
3407326208,3407326463,CN
3407326464,3407328767,AU
3407328768,3407329023,CN
3407329024,3407329791,AU
-3407330048,3407330303,CN
-3407330304,3407360511,AU
+3407329792,3407330303,CN
+3407330304,3407331327,AU
+3407331328,3407331583,CN
+3407331584,3407332607,AU
+3407332608,3407333119,CN
+3407333120,3407334399,AU
+3407334400,3407335423,CN
+3407335424,3407339519,AU
+3407339520,3407339775,CN
+3407339776,3407340543,AU
+3407340544,3407341567,CN
+3407341568,3407345919,AU
+3407345920,3407346175,CN
+3407346176,3407346431,AU
+3407346432,3407346687,CN
+3407346688,3407351039,AU
+3407351040,3407351295,CN
+3407351296,3407352319,AU
+3407352320,3407352575,CN
+3407352576,3407354623,AU
+3407354624,3407354879,CN
+3407354880,3407358719,AU
+3407358720,3407358975,CN
+3407358976,3407360511,AU
3407360512,3407361023,ID
3407361024,3407362047,AU
3407362048,3407362303,CN
-3407362304,3407367167,AU
+3407362304,3407362559,AU
+3407362560,3407362815,CN
+3407362816,3407364863,AU
+3407364864,3407365119,CN
+3407365120,3407366655,AU
+3407366656,3407366911,CN
+3407366912,3407367167,AU
3407367168,3407367679,ID
3407367680,3407367935,AU
-3407367936,3407368447,CN
-3407368448,3407369983,AU
+3407367936,3407368703,CN
+3407368704,3407369215,AU
+3407369216,3407369983,CN
3407369984,3407370239,IN
3407370240,3407370751,AU
3407370752,3407371007,CN
-3407371008,3407386623,AU
-3407386624,3407386879,CN
-3407386880,3407388927,AU
+3407371008,3407376127,AU
+3407376128,3407376639,CN
+3407376640,3407377407,AU
+3407377408,3407377663,CN
+3407377664,3407378943,AU
+3407378944,3407379455,CN
+3407379456,3407384831,AU
+3407384832,3407385087,CN
+3407385088,3407386623,AU
+3407386624,3407387135,CN
+3407387136,3407387903,AU
+3407387904,3407388159,CN
+3407388160,3407388927,AU
3407388928,3407389183,CN
-3407389184,3407398655,AU
+3407389184,3407390463,AU
+3407390464,3407390719,CN
+3407390720,3407395327,AU
+3407395328,3407395839,CN
+3407395840,3407398655,AU
3407398656,3407398911,CN
-3407398912,3407440383,AU
+3407398912,3407399423,AU
+3407399424,3407399679,CN
+3407399680,3407401983,AU
+3407401984,3407402495,CN
+3407402496,3407403263,AU
+3407403264,3407403519,CN
+3407403520,3407403775,AU
+3407403776,3407404031,CN
+3407404032,3407410175,AU
+3407410176,3407410431,CN
+3407410432,3407418111,AU
+3407418112,3407418879,CN
+3407418880,3407425023,AU
+3407425024,3407425279,CN
+3407425280,3407425535,AU
+3407425536,3407427583,CN
+3407427584,3407429631,AU
+3407429632,3407430143,CN
+3407430144,3407436543,AU
+3407436544,3407436799,CN
+3407436800,3407438591,AU
+3407438592,3407439103,CN
+3407439104,3407440383,AU
3407440384,3407440639,CN
-3407440640,3407464191,AU
-3407464192,3407464447,CN
-3407464448,3407466495,AU
+3407440640,3407446783,AU
+3407446784,3407447039,CN
+3407447040,3407447807,AU
+3407447808,3407448063,CN
+3407448320,3407448575,AU
+3407448576,3407448831,CN
+3407448832,3407450879,AU
+3407450880,3407451135,CN
+3407451136,3407452415,AU
+3407452416,3407453183,CN
+3407453184,3407455231,AU
+3407455232,3407455487,CN
+3407455488,3407455743,AU
+3407455744,3407455999,CN
+3407456000,3407457791,AU
+3407457792,3407458303,CN
+3407458304,3407459327,AU
+3407459328,3407459583,CN
+3407459584,3407459839,AU
+3407459840,3407460095,CN
+3407460096,3407462143,AU
+3407462144,3407462399,CN
+3407462400,3407464191,AU
+3407464192,3407464703,CN
+3407464704,3407464959,AU
+3407464960,3407465471,CN
+3407465472,3407466495,AU
3407466496,3407470591,CN
-3407470592,3407475199,AU
+3407470592,3407471871,AU
+3407471872,3407472127,CN
+3407472128,3407473407,AU
+3407473408,3407473919,CN
+3407473920,3407475199,AU
3407475200,3407475455,CN
-3407475456,3407495423,AU
+3407475456,3407481855,AU
+3407481856,3407482111,CN
+3407482112,3407487487,AU
+3407487488,3407487743,CN
+3407487744,3407491327,AU
+3407491328,3407491839,CN
+3407491840,3407492863,AU
+3407492864,3407493631,CN
+3407493632,3407494143,AU
+3407494144,3407494399,CN
+3407494400,3407495423,AU
3407495424,3407495679,CN
-3407495680,3407498495,AU
+3407495680,3407496191,AU
+3407496192,3407496447,CN
+3407496448,3407498239,AU
+3407498240,3407498495,CN
3407498496,3407498751,PK
3407498752,3407499263,AU
3407499264,3407499519,CN
-3407499520,3407504895,AU
+3407499520,3407500287,AU
+3407500288,3407500543,CN
+3407500544,3407503615,AU
+3407503616,3407503871,CN
+3407503872,3407504895,AU
3407504896,3407505407,CN
3407505408,3407508223,AU
-3407508224,3407508479,CN
-3407508480,3407523071,AU
+3407508224,3407508735,CN
+3407508736,3407511807,AU
+3407511808,3407512063,CN
+3407512064,3407515391,AU
+3407515392,3407515903,CN
+3407515904,3407516671,AU
+3407516672,3407517183,CN
+3407517184,3407518207,AU
+3407518208,3407518463,CN
+3407518464,3407519231,AU
+3407519232,3407519743,CN
+3407519744,3407522303,AU
+3407522304,3407522559,CN
+3407522560,3407523071,AU
3407523072,3407523327,CN
-3407523328,3407524607,AU
-3407524608,3407524863,NZ
-3407524864,3407545855,AU
+3407523328,3407523839,AU
+3407523840,3407524095,CN
+3407524096,3407526143,AU
+3407526144,3407526399,CN
+3407526400,3407530495,AU
+3407530496,3407531007,CN
+3407531008,3407532543,AU
+3407532544,3407532799,CN
+3407532800,3407533567,AU
+3407533568,3407533823,CN
+3407533824,3407535615,AU
+3407535616,3407535871,CN
+3407535872,3407536127,AU
+3407536128,3407536383,CN
+3407536384,3407537151,AU
+3407537152,3407537407,CN
+3407537408,3407538175,AU
+3407538176,3407538431,CN
+3407538432,3407544319,AU
+3407544320,3407544575,CN
+3407544576,3407545855,AU
3407545856,3407546367,ID
3407546368,3407546879,AU
3407546880,3407547135,CN
-3407547136,3407574271,AU
+3407547136,3407548159,AU
+3407548160,3407548671,CN
+3407548672,3407549439,AU
+3407549440,3407549695,CN
+3407549696,3407549951,AU
+3407549952,3407550463,CN
+3407550464,3407554559,AU
+3407554560,3407554815,CN
+3407554816,3407555839,AU
+3407555840,3407556095,CN
+3407556096,3407557887,AU
+3407557888,3407558143,CN
+3407558144,3407560959,AU
+3407560960,3407561471,CN
+3407561472,3407561727,NZ
+3407561728,3407565055,AU
+3407565056,3407565311,CN
+3407565312,3407566847,AU
+3407566848,3407567103,CN
+3407567104,3407570431,AU
+3407570432,3407570687,CN
+3407570688,3407572223,AU
+3407572224,3407572479,CN
+3407572480,3407574271,AU
3407574272,3407574527,CN
-3407574528,3407575807,AU
-3407575808,3407576063,CN
-3407576064,3407602943,AU
-3407602944,3407603199,JP
-3407603200,3407604479,AU
+3407574528,3407575295,AU
+3407575296,3407576063,CN
+3407576064,3407576319,AU
+3407576320,3407576575,CN
+3407576576,3407595519,AU
+3407595520,3407595775,CN
+3407595776,3407596031,AU
+3407596032,3407596287,CN
+3407596288,3407603967,AU
+3407603968,3407604223,CN
+3407604224,3407604479,AU
3407604480,3407604735,IN
-3407604736,3407608715,AU
-3407608716,3407608736,JP
-3407608737,3407642623,AU
+3407604736,3407606015,AU
+3407606016,3407606271,CN
+3407606272,3407608319,AU
+3407608320,3407608575,CN
+3407608576,3407612415,AU
+3407612416,3407612671,CN
+3407612672,3407612927,AU
+3407612928,3407613183,CN
+3407613184,3407618303,AU
+3407618304,3407619071,CN
+3407619072,3407620863,AU
+3407620864,3407621375,CN
+3407621376,3407623679,AU
+3407623680,3407623935,CN
+3407623936,3407624191,AU
+3407624192,3407624447,CN
+3407624448,3407628543,AU
+3407628544,3407629055,CN
+3407629056,3407629311,AU
+3407629312,3407629567,CN
+3407629568,3407631871,AU
+3407631872,3407632127,CN
+3407632128,3407632383,AU
+3407632384,3407632639,CN
+3407632640,3407638527,AU
+3407638528,3407638783,CN
+3407638784,3407642623,AU
3407642624,3407643135,TH
-3407643136,3407675903,AU
+3407643136,3407643391,AU
+3407643392,3407643647,CN
+3407643648,3407644671,AU
+3407644672,3407644927,CN
+3407644928,3407645695,AU
+3407645696,3407645951,CN
+3407645952,3407646975,AU
+3407646976,3407647231,CN
+3407647232,3407652095,AU
+3407652096,3407652351,CN
+3407652352,3407653119,AU
+3407653120,3407653631,CN
+3407653632,3407655423,AU
+3407655424,3407655935,CN
+3407655936,3407657215,AU
+3407657216,3407657471,CN
+3407657472,3407657727,AU
+3407657728,3407657983,CN
+3407657984,3407660031,AU
+3407660032,3407660287,CN
+3407660288,3407667711,AU
+3407667712,3407668223,CN
+3407668224,3407671039,AU
+3407671040,3407671295,CN
+3407671296,3407675903,AU
3407675904,3407676159,CN
-3407676160,3407678975,AU
-3407678976,3407679231,CN
+3407676160,3407677439,AU
+3407677440,3407677951,CN
+3407677952,3407678719,AU
+3407678720,3407679231,CN
3407679232,3407682047,AU
3407682048,3407682559,ID
3407682560,3407682815,CN
-3407682816,3407701759,AU
+3407682816,3407687167,AU
+3407687168,3407687423,CN
+3407687424,3407689983,AU
+3407689984,3407690239,CN
+3407690240,3407691007,AU
+3407691008,3407691263,CN
+3407691264,3407691519,AU
+3407691520,3407691775,CN
+3407691776,3407693055,AU
+3407693056,3407693311,CN
+3407693312,3407694079,AU
+3407694080,3407694335,CN
+3407694336,3407696127,AU
+3407696128,3407696383,CN
+3407696384,3407698431,AU
+3407698432,3407698687,CN
+3407698688,3407699711,AU
+3407699712,3407699967,CN
+3407699968,3407700991,AU
+3407700992,3407701247,CN
+3407701248,3407701759,AU
3407701760,3407702015,CN
3407702016,3407704063,AU
3407704064,3407704319,CN
-3407704320,3407727871,AU
+3407704320,3407706111,AU
+3407706112,3407707135,CN
+3407707136,3407721983,AU
+3407721984,3407722495,CN
+3407722496,3407723263,AU
+3407723264,3407723519,CN
+3407723520,3407723775,AU
+3407723776,3407724287,CN
+3407724288,3407727871,AU
3407727872,3407728127,CN
3407728128,3407729151,AU
3407729152,3407729407,CN
-3407729408,3407732223,AU
+3407729408,3407730943,AU
+3407730944,3407731199,CN
+3407731200,3407732223,AU
3407732224,3407732479,HK
-3407732480,3407747839,AU
+3407732480,3407733503,AU
+3407733504,3407733759,CN
+3407733760,3407734527,AU
+3407734528,3407734783,CN
+3407734784,3407735039,AU
+3407735040,3407735551,CN
+3407735552,3407738879,AU
+3407738880,3407739135,CN
+3407739136,3407740415,AU
+3407740416,3407740927,CN
+3407740928,3407745023,AU
+3407745024,3407745535,CN
+3407745536,3407747327,AU
+3407747328,3407747583,CN
+3407747584,3407747839,AU
3407747840,3407748095,CN
-3407748096,3407750655,AU
+3407748096,3407748351,AU
+3407748352,3407748607,CN
+3407748608,3407750655,AU
3407750656,3407751167,SG
3407751168,3407753215,AU
-3407753216,3407753727,HK
-3407753728,3407779839,AU
+3407753216,3407753727,SG
+3407753728,3407757823,AU
+3407757824,3407758079,CN
+3407758080,3407761663,AU
+3407761664,3407761919,CN
+3407761920,3407763199,AU
+3407763200,3407763455,CN
+3407763456,3407769343,AU
+3407769344,3407769599,CN
+3407769600,3407771903,AU
+3407771904,3407772159,CN
+3407772160,3407772415,AU
+3407772416,3407772671,CN
+3407772672,3407779839,AU
3407779840,3407780095,CN
3407780096,3407780863,AU
3407780864,3407781119,CN
-3407781120,3407785471,AU
+3407781120,3407782399,AU
+3407782400,3407782655,CN
+3407782656,3407785215,AU
+3407785216,3407785471,CN
3407785472,3407785727,NZ
-3407785728,3407790591,AU
+3407785728,3407785983,CN
+3407785984,3407788799,AU
+3407788800,3407789055,CN
+3407789056,3407790591,AU
3407790592,3407790847,CN
-3407790848,3407797247,AU
+3407790848,3407796479,AU
+3407796480,3407796735,CN
+3407796736,3407797247,AU
3407797248,3407797503,CN
-3407797504,3407801087,AU
+3407797760,3407798015,CN
+3407798016,3407800319,AU
+3407800320,3407800831,CN
+3407800832,3407801087,AU
3407801088,3407801343,CN
3407801344,3407801855,ID
-3407801856,3407805951,AU
+3407801856,3407802367,AU
+3407802368,3407802879,CN
+3407802880,3407803903,AU
+3407803904,3407804159,CN
+3407804160,3407804927,AU
+3407804928,3407805439,CN
+3407805440,3407805951,AU
3407805952,3407806463,ID
3407806464,3407808511,AU
3407808512,3407809023,IN
3407809024,3407814655,AU
3407814656,3407815167,HK
-3407815168,3407824127,AU
+3407815168,3407817983,AU
+3407817984,3407818495,CN
+3407818496,3407819007,AU
+3407819008,3407819263,CN
+3407819264,3407819519,AU
+3407819520,3407819775,CN
+3407819776,3407820287,AU
+3407820288,3407820799,CN
+3407820800,3407824127,AU
3407824128,3407824383,CN
-3407824384,3407828991,AU
-3407828992,3407829503,US
-3407829504,3407837183,AU
-3407837184,3407837439,US
-3407837440,3407847935,AU
+3407824384,3407824895,AU
+3407824896,3407825151,CN
+3407825152,3407826943,AU
+3407826944,3407827199,CN
+3407827200,3407828223,AU
+3407828224,3407828479,CN
+3407828480,3407831295,AU
+3407831296,3407831551,CN
+3407831552,3407833343,AU
+3407833344,3407833855,CN
+3407833856,3407834111,AU
+3407834112,3407834623,CN
+3407834624,3407838207,AU
+3407838208,3407838463,CN
+3407838464,3407847935,AU
3407847936,3407848191,CN
3407848192,3407848447,AU
3407848448,3407848959,ID
-3407848960,3407862783,AU
+3407848960,3407851007,AU
+3407851008,3407851263,CN
+3407851264,3407851775,AU
+3407851776,3407852031,CN
+3407852032,3407852799,AU
+3407852800,3407853055,CN
+3407853056,3407854335,AU
+3407854336,3407854591,CN
+3407854592,3407854847,AU
+3407854848,3407855103,CN
+3407855104,3407858687,AU
+3407858688,3407858943,CN
+3407858944,3407862783,AU
3407862784,3407863039,CN
-3407863040,3407866367,AU
+3407863040,3407863295,AU
+3407863296,3407863807,CN
+3407863808,3407864063,AU
+3407864064,3407864319,CN
+3407864320,3407865087,AU
+3407865088,3407865343,CN
+3407865344,3407866367,AU
3407866368,3407866623,GB
-3407866624,3407873023,AU
+3407866624,3407869951,AU
+3407869952,3407870463,CN
+3407870464,3407871231,AU
+3407871232,3407871487,CN
+3407871488,3407873023,AU
3407873024,3407873535,IN
3407873536,3407877119,AU
3407877120,3407877375,CN
-3407877376,3407887871,AU
+3407877376,3407884287,AU
+3407884288,3407884799,CN
+3407884800,3407886335,AU
+3407886336,3407886591,CN
+3407886592,3407887359,AU
+3407887360,3407887615,CN
+3407887616,3407887871,AU
3407887872,3407888127,CN
-3407888128,3407905279,AU
+3407888128,3407889407,AU
+3407889408,3407889919,CN
+3407889920,3407891455,AU
+3407891456,3407891711,CN
+3407891712,3407892735,AU
+3407892736,3407892991,CN
+3407892992,3407893503,AU
+3407893504,3407894015,CN
+3407894528,3407896319,AU
+3407896320,3407896575,CN
+3407896576,3407898111,AU
+3407898112,3407898367,CN
+3407898368,3407898879,AU
+3407898880,3407899135,CN
+3407899136,3407905279,AU
3407905280,3407905535,CN
-3407905536,3407907839,AU
+3407905536,3407906047,AU
+3407906048,3407906303,CN
+3407906304,3407907839,AU
3407907840,3407908095,CN
-3407908096,3407919615,AU
+3407908096,3407910911,AU
+3407910912,3407911167,CN
+3407911168,3407919615,AU
3407919616,3407920127,CN
-3407920128,3407928575,AU
+3407920128,3407921151,AU
+3407921152,3407921407,CN
+3407921408,3407922175,AU
+3407922176,3407922431,CN
+3407922432,3407923967,AU
+3407923968,3407924735,CN
+3407924736,3407926271,AU
+3407926272,3407926527,CN
+3407926528,3407928575,AU
3407928576,3407928831,IN
-3407928832,3407977471,AU
+3407928832,3407938559,AU
+3407938560,3407938815,CN
+3407938816,3407939327,AU
+3407939328,3407941631,CN
+3407941632,3407942911,AU
+3407942912,3407943167,CN
+3407943168,3407944191,AU
+3407944192,3407944447,CN
+3407944448,3407945727,AU
+3407945728,3407945983,CN
+3407945984,3407953663,AU
+3407953664,3407954175,CN
+3407954176,3407954687,AU
+3407954688,3407955199,CN
+3407955200,3407956223,AU
+3407956224,3407956479,CN
+3407956480,3407957759,AU
+3407957760,3407958015,CN
+3407958016,3407963135,AU
+3407963136,3407963391,CN
+3407963392,3407968767,AU
+3407968768,3407969023,CN
+3407969024,3407970559,AU
+3407970560,3407970815,CN
+3407970816,3407971071,AU
+3407971072,3407971327,CN
+3407971328,3407974655,AU
+3407974656,3407974911,CN
+3407974912,3407977471,AU
3407977472,3407977727,CN
-3407977728,3407985919,AU
+3407977728,3407977983,AU
+3407977984,3407978495,CN
+3407978496,3407982079,AU
+3407982080,3407982335,CN
+3407982336,3407984895,AU
+3407984896,3407985151,CN
+3407985152,3407985919,AU
3407985920,3407986175,KH
3407986176,3407987711,AU
3407987712,3407987967,PH
3407987968,3407988223,AU
3407988224,3407988735,IN
-3407988736,3407989759,AU
-3407989760,3407990015,CN
-3407990016,3407994879,AU
-3407994880,3407995135,CN
-3407995136,3407997183,AU
+3407988736,3407988991,CN
+3407988992,3407989247,AU
+3407989248,3407990015,CN
+3407990016,3407990271,AU
+3407990272,3407990783,CN
+3407990784,3407992319,AU
+3407992320,3407992831,CN
+3407992832,3407994879,AU
+3407994880,3407995647,CN
+3407995648,3407997183,AU
3407997184,3407997439,CN
3407997440,3407998975,AU
3407998976,3407999231,TH
-3407999232,3408009983,AU
+3407999232,3407999743,AU
+3407999744,3407999999,CN
+3408000000,3408001535,AU
+3408001536,3408001791,CN
+3408001792,3408004095,AU
+3408004096,3408004351,CN
+3408004352,3408008447,AU
+3408008448,3408008703,CN
+3408008704,3408009983,AU
3408009984,3408010239,CN
3408010240,3408012543,AU
3408012544,3408012799,MN
-3408012800,3408020735,AU
+3408012800,3408013055,AU
+3408013056,3408013311,CN
+3408013312,3408015359,AU
+3408015360,3408015871,CN
+3408015872,3408016895,AU
+3408016896,3408017151,CN
+3408017152,3408017407,AU
+3408017408,3408017919,CN
+3408017920,3408020223,AU
+3408020224,3408020479,CN
+3408020480,3408020735,AU
3408020736,3408020991,CN
-3408020992,3408023807,AU
+3408020992,3408022527,AU
+3408022528,3408022783,CN
+3408022784,3408023807,AU
3408023808,3408024063,JP
-3408024064,3408031999,AU
+3408024320,3408026623,AU
+3408026624,3408026879,CN
+3408026880,3408030207,AU
+3408030208,3408030463,CN
+3408030464,3408031999,AU
3408032000,3408032255,CN
3408032256,3408032767,AU
-3408032768,3408033279,IN
+3408032768,3408033023,LK
+3408033024,3408033279,IN
3408033280,3408033791,ID
3408033792,3408039935,AU
3408039936,3408040191,VN
3408040192,3408040703,AU
3408040704,3408040959,CN
-3408040960,3408041983,AU
-3408041984,3408042495,SG
+3408040960,3408041471,AU
+3408041472,3408041727,CN
+3408041728,3408041983,AU
+3408041984,3408042495,CN
3408042496,3408042751,HK
-3408042752,3408064511,AU
+3408042752,3408044287,AU
+3408044288,3408044799,CN
+3408044800,3408050943,AU
+3408050944,3408051199,CN
+3408051200,3408052223,AU
+3408052224,3408054271,CN
+3408054272,3408055295,AU
+3408055296,3408056319,CN
+3408056320,3408062463,AU
+3408062464,3408062719,CN
+3408062720,3408064511,AU
3408064512,3408064767,CN
-3408064768,3408066047,AU
+3408065024,3408065279,CN
+3408065280,3408065791,AU
+3408065792,3408066047,CN
3408066048,3408066303,PH
-3408066304,3409396479,AU
+3408066304,3408067327,AU
+3408067328,3408067583,CN
+3408067584,3409379839,AU
+3409379840,3409380607,CN
+3409380608,3409381887,AU
+3409381888,3409382143,CN
+3409382144,3409382655,AU
+3409382656,3409382911,CN
+3409382912,3409384959,AU
+3409384960,3409385215,CN
+3409385216,3409387007,AU
+3409387008,3409387263,CN
+3409387264,3409396479,AU
3409396480,3409396735,PH
-3409396736,3409409023,AU
+3409396736,3409403135,AU
+3409403136,3409403391,CN
+3409403392,3409405183,AU
+3409405184,3409405439,CN
+3409405440,3409407231,AU
+3409407232,3409407743,CN
+3409407744,3409409023,AU
3409409024,3409409535,CN
-3409409536,3409418495,AU
-3409418496,3409418751,PL
-3409418752,3409420287,AU
+3409409536,3409409791,AU
+3409409792,3409410047,CN
+3409410048,3409412095,AU
+3409412096,3409412607,CN
+3409412608,3409416703,AU
+3409416704,3409417215,CN
+3409417216,3409420287,AU
3409420288,3409420543,IN
3409420544,3409423615,AU
3409423616,3409423871,IN
-3409423872,3409425663,AU
-3409425664,3409425919,AP
-3409425920,3409429503,AU
+3409423872,3409428479,AU
+3409428480,3409428735,CN
+3409428736,3409429503,AU
3409429504,3409429759,CN
3409429760,3409435135,AU
-3409435136,3409435391,CN
-3409435392,3409466623,AU
-3409466624,3409466879,CN
-3409466880,3409475839,AU
+3409435136,3409435647,CN
+3409435648,3409435903,AU
+3409435904,3409436159,CN
+3409436160,3409436671,AU
+3409436672,3409436927,CN
+3409436928,3409445119,AU
+3409445120,3409445375,CN
+3409445376,3409445887,AU
+3409445888,3409446143,CN
+3409446144,3409447935,AU
+3409447936,3409448191,CN
+3409448192,3409451007,AU
+3409451008,3409451263,CN
+3409451264,3409453055,AU
+3409453056,3409453567,NZ
+3409453568,3409454591,AU
+3409454592,3409454847,CN
+3409454848,3409455103,AU
+3409455104,3409455359,CN
+3409455360,3409456639,AU
+3409456640,3409456895,CN
+3409456896,3409457151,AU
+3409457152,3409459199,CN
+3409459200,3409462271,AU
+3409462272,3409462783,CN
+3409462784,3409465855,AU
+3409465856,3409466879,CN
+3409466880,3409469183,AU
+3409469184,3409469439,CN
+3409469440,3409473023,AU
+3409473024,3409473279,CN
+3409473280,3409475839,AU
3409475840,3409476095,CN
-3409476096,3409488127,AU
+3409476096,3409486079,AU
+3409486080,3409486335,CN
+3409486336,3409488127,AU
3409488128,3409488383,CN
-3409488384,3409491711,AU
-3409491712,3409491967,SG
-3409491968,3409498111,AU
+3409488384,3409488895,AU
+3409488896,3409489407,CN
+3409489408,3409489663,AU
+3409489664,3409489919,CN
+3409489920,3409491711,AU
+3409491712,3409491967,CN
+3409491968,3409492223,AU
+3409492224,3409492479,CN
+3409492480,3409492735,AU
+3409492736,3409492991,CN
+3409492992,3409494015,AU
+3409494016,3409494271,CN
+3409494272,3409495551,AU
+3409495552,3409495807,CN
+3409495808,3409496319,AU
+3409496320,3409496575,CN
+3409496576,3409498111,AU
3409498112,3409498879,CN
-3409498880,3409503999,AU
-3409504000,3409504255,HK
-3409504256,3409505023,AU
-3409505024,3409505279,US
-3409505280,3409506559,AU
-3409506560,3409506815,IN
-3409506816,3409509631,AU
+3409498880,3409499647,AU
+3409499648,3409499903,CN
+3409499904,3409500159,AU
+3409500160,3409500415,CN
+3409500416,3409502975,AU
+3409502976,3409503487,CN
+3409503488,3409503999,AU
+3409504256,3409504511,CN
+3409504512,3409506303,AU
+3409506304,3409506559,CN
+3409506560,3409506815,PH
+3409506816,3409509375,AU
+3409509376,3409509631,CN
3409509632,3409509887,HK
-3409509888,3409510367,AU
-3409510368,3409510383,IN
-3409510384,3409516543,AU
+3409509888,3409510143,CN
+3409510144,3409511679,AU
+3409511680,3409512191,CN
+3409512192,3409513471,AU
+3409513472,3409513983,CN
+3409513984,3409516543,AU
3409516544,3409517055,ID
-3409517056,3409520383,AU
+3409517056,3409517567,AU
+3409517568,3409517823,CN
+3409517824,3409520383,AU
3409520384,3409520639,CN
3409520640,3409522175,AU
3409522176,3409522431,CN
-3409522432,3409547519,AU
+3409522432,3409525247,AU
+3409525248,3409525503,CN
+3409525504,3409526015,AU
+3409526016,3409526271,CN
+3409526272,3409527295,AU
+3409527296,3409527551,CN
+3409527552,3409528063,AU
+3409528064,3409528831,CN
+3409528832,3409529087,AU
+3409529088,3409529343,CN
+3409529344,3409533439,AU
+3409533440,3409533695,CN
+3409533696,3409536255,AU
+3409536256,3409536511,CN
+3409536512,3409538303,AU
+3409538304,3409538559,CN
+3409538560,3409541887,AU
+3409541888,3409542143,CN
+3409542144,3409547519,AU
3409547520,3409547775,NZ
3409547776,3409550591,AU
3409550592,3409550847,CN
-3409550848,3409567231,AU
+3409550848,3409561599,AU
+3409561600,3409561855,CN
+3409561856,3409562111,AU
+3409562112,3409562367,CN
+3409562368,3409563135,AU
+3409563136,3409563391,CN
+3409563392,3409567231,AU
3409567232,3409567487,CN
-3409567488,3409574143,AU
+3409567488,3409567743,AU
+3409567744,3409571839,CN
+3409571840,3409573375,AU
+3409573376,3409573887,CN
+3409573888,3409574143,AU
3409574144,3409574399,CN
-3409574400,3409838335,AU
+3409574400,3409575167,AU
+3409575168,3409575935,CN
+3409575936,3409838335,AU
3409838336,3409838591,MY
3409838592,3409838847,CN
-3409838848,3409876991,AU
+3409838848,3409871615,AU
+3409871616,3409871871,CN
+3409871872,3409873663,AU
+3409873664,3409873919,CN
+3409873920,3409876991,AU
3409876992,3409878015,TH
-3409878016,3409882111,AU
+3409878016,3409879295,AU
+3409879296,3409879551,CN
+3409879552,3409882111,AU
3409882112,3409883135,IN
3409883136,3409887999,AU
3409888000,3409888255,SG
-3409888256,3409896447,AU
+3409888256,3409888511,AU
+3409888512,3409888767,CN
+3409888768,3409896447,AU
3409896448,3409897471,CN
3409897472,3409897983,AU
3409897984,3409898239,CN
@@ -119914,7 +139315,7 @@
3410798592,3410799615,CN
3410799616,3410800639,SG
3410800640,3410804735,IN
-3410804736,3410821119,PH
+3410804736,3410808831,PH
3410821120,3410853887,TW
3410853888,3410862079,HK
3410862080,3410866175,AU
@@ -119922,8 +139323,8 @@
3410866432,3410866687,IN
3410866688,3410866943,VN
3410866944,3410867199,AU
-3410867200,3410868223,HK
-3410868224,3410870271,US
+3410867200,3410868223,CN
+3410868224,3410870271,JP
3410870272,3410874367,IN
3410874368,3410886655,ID
3410886656,3410887679,TW
@@ -119949,12 +139350,12 @@
3410959360,3410959615,VN
3410959616,3410959871,ID
3410959872,3410960383,AU
-3410960384,3410964479,GB
+3410960384,3410964479,CN
3410964480,3410968575,JP
3410968576,3410984959,NZ
3410984960,3411017727,TW
3411017728,3411018751,HK
-3411018752,3411019263,AU
+3411018752,3411019263,CN
3411019264,3411019775,JP
3411019776,3411021823,ID
3411021824,3411023871,MY
@@ -119966,13 +139367,10 @@
3411032576,3411033087,AU
3411033088,3411034111,NZ
3411034112,3411050495,HK
-3411050496,3411052543,PK
-3411052544,3411054591,PH
-3411054592,3411058687,CN
+3411050496,3411051519,PK
+3411051520,3411058687,CN
3411058688,3411062783,AU
-3411062784,3411063231,HK
-3411063232,3411063295,PK
-3411063296,3411083263,HK
+3411062784,3411083263,HK
3411083264,3411085311,CN
3411085312,3411086335,KR
3411086336,3411087359,JP
@@ -119987,17 +139385,17 @@
3411130368,3411132415,ID
3411132416,3411144703,PK
3411146752,3411147775,ID
-3411147776,3411149311,HK
+3411147776,3411148799,HK
+3411148800,3411149311,CN
3411149312,3411149823,MV
3411149824,3411150847,IN
3411150848,3411152895,HK
3411152896,3411154943,CN
-3411154944,3411156991,JP
3411156992,3411161087,PH
3411161088,3411165183,PK
3411165184,3411173375,MY
3411173376,3411177471,AU
-3411177472,3411189759,JP
+3411181568,3411189759,SG
3411189760,3411197951,AU
3411197952,3411202047,BD
3411202048,3411204607,AU
@@ -120006,9 +139404,9 @@
3411205632,3411206143,HK
3411206144,3411210239,KH
3411210240,3411212287,KR
-3411212288,3411212799,PH
-3411212800,3411213311,IN
-3411213312,3411215359,HK
+3411212288,3411213311,IN
+3411213312,3411214335,HK
+3411214336,3411215359,CN
3411215360,3411216383,AU
3411218432,3411220479,PG
3411220480,3411226623,ID
@@ -120018,38 +139416,37 @@
3411247104,3411255295,KR
3411255296,3411263487,BD
3411263488,3411269631,AU
-3411269632,3411270143,TW
+3411269632,3411270143,HK
3411270144,3411270399,NZ
3411270400,3411270655,AU
-3411270656,3411271679,JP
-3411271680,3411275775,AU
+3411270656,3411271679,SG
+3411271680,3411275775,CN
3411275776,3411277823,JP
-3411277824,3411278335,IN
+3411277824,3411278335,HK
3411278336,3411278591,SG
3411278592,3411278847,FJ
3411278848,3411296255,HK
3411296256,3411312639,AU
3411312640,3411313151,HK
3411313152,3411313663,TW
-3411313664,3411313919,AP
+3411313664,3411313919,AU
3411313920,3411314175,HK
3411314176,3411314687,NZ
3411314688,3411316735,ID
3411316736,3411318783,TW
3411318784,3411320831,ID
3411320832,3411329023,PH
-3411329024,3411337215,AP
+3411329024,3411337215,HK
3411337216,3411341311,AU
3411341312,3411345407,KR
3411345408,3411410943,HK
-3411410944,3411435519,CN
-3411435520,3411443711,IN
+3411410944,3411443711,CN
3411443712,3411460095,HK
3411460096,3411464191,NZ
3411464192,3411468287,AU
3411468288,3411470335,JP
3411470336,3411472383,HK
-3411472384,3411475199,JP
+3411472384,3411474943,JP
3411475200,3411475455,AU
3411475456,3411475967,HK
3411475968,3411476479,CN
@@ -120057,105 +139454,7 @@
3411509248,3411542015,PH
3411542016,3411550207,IN
3411550208,3411558399,CN
-3411558400,3411558911,HK
-3411558912,3411558927,ID
-3411558928,3411558943,HK
-3411558944,3411558959,ID
-3411558960,3411558975,HK
-3411558976,3411558983,AF
-3411558984,3411559007,HK
-3411559008,3411559015,MY
-3411559016,3411559023,HK
-3411559024,3411559031,ID
-3411559032,3411559035,NP
-3411559036,3411559039,PK
-3411559040,3411559063,ID
-3411559064,3411559071,MY
-3411559072,3411559079,AF
-3411559080,3411559087,MY
-3411559088,3411559095,ID
-3411559096,3411559103,PK
-3411559104,3411559111,MY
-3411559112,3411559135,PK
-3411559136,3411559143,HK
-3411559144,3411559167,MY
-3411559168,3411559199,BD
-3411559200,3411559231,HK
-3411559232,3411559295,BD
-3411559296,3411559303,ID
-3411559304,3411559311,HK
-3411559312,3411559327,NP
-3411559328,3411559343,HK
-3411559344,3411559359,ID
-3411559360,3411559423,BD
-3411559424,3411559455,HK
-3411559456,3411559487,BD
-3411559488,3411559551,HK
-3411559552,3411559679,BD
-3411559680,3411559935,ID
-3411559936,3411560031,BD
-3411560032,3411560063,HK
-3411560064,3411560319,BD
-3411560320,3411560447,HK
-3411560448,3411560703,NP
-3411560704,3411562047,BD
-3411562048,3411562111,PK
-3411562112,3411562239,BD
-3411562240,3411562559,HK
-3411562560,3411562591,MA
-3411562592,3411562607,PK
-3411562608,3411562623,MA
-3411562624,3411562751,HK
-3411562752,3411563015,MY
-3411563016,3411563023,TH
-3411563024,3411563047,ID
-3411563048,3411563055,LK
-3411563056,3411563135,ID
-3411563136,3411563143,TH
-3411563144,3411563183,ID
-3411563184,3411563191,HK
-3411563192,3411563247,ID
-3411563248,3411563255,AF
-3411563256,3411563263,ID
-3411563264,3411563519,HK
-3411563520,3411563775,BD
-3411563776,3411564031,HK
-3411564032,3411564055,ID
-3411564056,3411564071,HK
-3411564072,3411564087,ID
-3411564088,3411564095,HK
-3411564096,3411564119,ID
-3411564120,3411564191,HK
-3411564192,3411564199,ID
-3411564200,3411564239,HK
-3411564240,3411564247,ID
-3411564248,3411564255,HK
-3411564256,3411564263,ID
-3411564264,3411564287,HK
-3411564288,3411564543,BD
-3411564544,3411564551,HK
-3411564552,3411564559,PK
-3411564560,3411564567,HK
-3411564568,3411564587,AF
-3411564588,3411564623,HK
-3411564624,3411564639,MY
-3411564640,3411564647,ID
-3411564648,3411564663,MY
-3411564664,3411564671,ID
-3411564672,3411564695,HK
-3411564696,3411564703,ID
-3411564704,3411564711,AF
-3411564712,3411564743,HK
-3411564744,3411564751,MY
-3411564752,3411564767,HK
-3411564768,3411564775,AF
-3411564776,3411565055,HK
-3411565056,3411565063,BD
-3411565064,3411565119,HK
-3411565120,3411565247,BD
-3411565248,3411565279,HK
-3411565280,3411565311,BD
-3411565312,3411566591,HK
+3411558400,3411566591,HK
3411566592,3411570687,BD
3411570688,3411574783,AU
3411574784,3411582975,IN
@@ -120188,7 +139487,6 @@
3411674112,3411674623,IN
3411674624,3411675135,HK
3411675136,3411676159,CN
-3411676160,3411677183,PK
3411677184,3411679231,JP
3411679232,3411681279,AU
3411681280,3411689471,KR
@@ -120201,17 +139499,7 @@
3411763200,3411767295,CN
3411767296,3411769343,MN
3411769344,3411771391,CN
-3411771392,3411773439,HK
-3411773440,3411773695,SC
-3411773696,3411773951,HK
-3411773952,3411774463,BD
-3411774464,3411776511,HK
-3411776512,3411776767,SC
-3411776768,3411777663,HK
-3411777664,3411777791,BD
-3411777792,3411779519,HK
-3411779520,3411779535,ID
-3411779536,3411779583,HK
+3411771392,3411779583,HK
3411779584,3411787775,JP
3411787776,3411795967,IN
3411795968,3411804159,AU
@@ -120229,19 +139517,7 @@
3411836928,3411845119,MY
3411845120,3411853311,CN
3411853312,3411857407,IN
-3411857408,3411857663,TW
-3411857664,3411857919,JP
-3411857920,3411858175,SG
-3411858176,3411858431,HK
-3411858432,3411858687,JP
-3411858688,3411858943,NZ
-3411858944,3411859199,JP
-3411859200,3411859455,SG
-3411859456,3411860991,HK
-3411860992,3411861247,AU
-3411861248,3411861375,JP
-3411861376,3411861487,HK
-3411861488,3411861503,JP
+3411857408,3411861503,JP
3411861504,3411869695,AU
3411869696,3411943423,CN
3411943424,3411951615,AU
@@ -120252,112 +139528,12 @@
3412002816,3412004863,GU
3412004864,3412017151,JP
3412017152,3412025343,SG
-3412025344,3412033535,CN
-3412033536,3412066303,TW
+3412025344,3412066303,CN
3412066304,3412213759,NZ
3412213760,3412221951,AU
3412221952,3412230143,IN
3412230144,3412246527,HK
-3412246528,3412246783,AU
-3412246784,3412246799,HK
-3412246800,3412246847,AU
-3412246848,3412246911,IN
-3412246912,3412246927,SG
-3412246928,3412246951,AU
-3412246952,3412246959,CN
-3412246960,3412246967,JP
-3412246968,3412246975,AU
-3412246976,3412247007,JP
-3412247008,3412247023,IN
-3412247024,3412247031,CN
-3412247032,3412247039,NZ
-3412247040,3412247055,HK
-3412247056,3412247071,CN
-3412247072,3412247103,JP
-3412247104,3412247167,AU
-3412247168,3412247319,IN
-3412247320,3412247327,AU
-3412247328,3412247335,IN
-3412247336,3412247343,SG
-3412247344,3412247359,CN
-3412247360,3412247375,AU
-3412247376,3412247391,MY
-3412247392,3412247399,SG
-3412247400,3412247423,AU
-3412247424,3412247439,HK
-3412247440,3412248831,AU
-3412248832,3412249087,CN
-3412249088,3412249103,HK
-3412249104,3412249855,AU
-3412249856,3412249863,SG
-3412249864,3412249871,AU
-3412249872,3412249879,HK
-3412249880,3412249887,JP
-3412249888,3412249903,CN
-3412249904,3412249983,SG
-3412249984,3412250015,IN
-3412250016,3412250023,HK
-3412250024,3412250031,CN
-3412250032,3412250063,IN
-3412250064,3412250079,AU
-3412250080,3412250087,KR
-3412250088,3412250367,HK
-3412250368,3412250375,CN
-3412250376,3412250383,TW
-3412250384,3412250399,SG
-3412250400,3412250431,KR
-3412250432,3412250447,IN
-3412250448,3412250479,CN
-3412250480,3412250495,HK
-3412250496,3412250503,JP
-3412250504,3412250511,HK
-3412250512,3412250527,TW
-3412250528,3412250559,IN
-3412250560,3412250575,SG
-3412250576,3412250599,HK
-3412250600,3412250607,AU
-3412250608,3412250615,KR
-3412250616,3412250623,AU
-3412250624,3412250879,JP
-3412250880,3412250927,AU
-3412250928,3412250959,SG
-3412250960,3412250991,JP
-3412250992,3412251007,HK
-3412251008,3412251071,CN
-3412251072,3412251103,AU
-3412251104,3412251119,PH
-3412251120,3412251135,AU
-3412251136,3412251151,CN
-3412251152,3412251167,AU
-3412251168,3412251231,HK
-3412251232,3412251239,CN
-3412251240,3412251247,AU
-3412251248,3412251263,IN
-3412251264,3412251391,AU
-3412251392,3412251647,TW
-3412251648,3412251903,AU
-3412251904,3412251919,HK
-3412251920,3412251927,AU
-3412251928,3412251935,CN
-3412251936,3412251967,HK
-3412251968,3412252031,SG
-3412252032,3412252079,HK
-3412252080,3412252087,CN
-3412252088,3412252095,HK
-3412252096,3412252103,JP
-3412252104,3412252111,HK
-3412252112,3412252159,IN
-3412252160,3412252415,KR
-3412252416,3412252671,JP
-3412252672,3412252927,HK
-3412252928,3412253087,AU
-3412253088,3412253091,JP
-3412253092,3412253099,AU
-3412253100,3412253103,HK
-3412253104,3412253183,AU
-3412253184,3412253439,SG
-3412253440,3412253695,KR
-3412253696,3412254719,JP
+3412246528,3412254719,AU
3412254720,3412262911,NR
3412262912,3412264959,JP
3412264960,3412271103,CN
@@ -120389,19 +139565,18 @@
3412336640,3412342783,CN
3412342784,3412343039,AU
3412343040,3412343295,IN
-3412343296,3412343551,AP
-3412343552,3412344319,AU
+3412343296,3412344319,AU
3412344320,3412344575,SG
3412344576,3412344831,CN
3412344832,3412348927,IN
3412348928,3412361215,CN
-3412361216,3412369407,AP
+3412361216,3412369407,HK
3412369408,3412377599,KR
3412377600,3412381695,CN
3412381696,3412385791,NZ
3412385792,3412393983,AU
3412393984,3412426751,IN
-3412426752,3412434943,TH
+3412426752,3412434943,HK
3412434944,3412443135,PK
3412443136,3412451327,SG
3412451328,3412594687,AU
@@ -120418,8 +139593,7 @@
3412705280,3412713471,AU
3412713472,3412721663,TW
3412721664,3412787199,MY
-3412787200,3412803583,TW
-3412803584,3412819967,CN
+3412787200,3412819967,CN
3412819968,3412852735,TH
3412852736,3412918271,AU
3412918272,3412926463,KR
@@ -120432,12 +139606,11 @@
3413016576,3413024767,AU
3413024768,3413032959,CN
3413032960,3413037055,AU
-3413037056,3413041151,IN
+3413037056,3413041151,CN
3413041152,3413043199,JP
-3413043200,3413043711,AU
-3413043712,3413043967,CN
+3413043200,3413043967,CN
3413043968,3413044223,AU
-3413044224,3413045247,AP
+3413044224,3413045247,HK
3413045248,3413047295,IN
3413047296,3413098495,AU
3413098496,3413102591,JP
@@ -120452,11 +139625,11 @@
3413147648,3413155839,IN
3413155840,3413164031,SG
3413164032,3413172223,BD
-3413172224,3413180415,MY
+3413172224,3413180415,HK
3413180416,3413213183,TH
3413213184,3413229567,VN
3413229568,3413245951,AU
-3413245952,3413262335,MY
+3413245952,3413262335,SG
3413262336,3413270527,PH
3413270528,3413278719,TH
3413278720,3413295103,NZ
@@ -120494,7 +139667,8 @@
3413576704,3413576959,AU
3413576960,3413577215,ID
3413577216,3413577727,AU
-3413577728,3413579007,AP
+3413577728,3413578751,JP
+3413578752,3413579007,PK
3413579008,3413579263,AU
3413579264,3413579775,JP
3413579776,3413582847,CN
@@ -120505,7 +139679,7 @@
3413584896,3413585919,VN
3413585920,3413586175,ID
3413586176,3413586687,IN
-3413586688,3413586943,AP
+3413586688,3413586943,FJ
3413586944,3413587967,ID
3413587968,3413588223,NZ
3413588224,3413588479,MY
@@ -120551,13 +139725,7 @@
3413934080,3413946367,IN
3413946368,3413950463,AU
3413950464,3413966847,IN
-3413966848,3414050303,SG
-3414050304,3414050815,US
-3414050816,3414098175,SG
-3414098176,3414098191,ID
-3414098192,3414155519,SG
-3414155520,3414155775,PH
-3414155776,3414163455,SG
+3413966848,3414163455,SG
3414163456,3414171647,PK
3414171648,3414179839,CN
3414179840,3414188031,ID
@@ -120609,7 +139777,7 @@
3414605824,3414616063,IN
3414616064,3414618111,ID
3414618112,3414620159,CN
-3414620160,3414621183,IN
+3414620672,3414621183,IN
3414621184,3414638591,PK
3414638592,3414646783,TW
3414646784,3414654975,CN
@@ -120621,15 +139789,7 @@
3414670592,3414670847,SG
3414670848,3414671359,MY
3414671360,3415080959,JP
-3415080960,3415083007,MY
-3415083008,3415083519,AU
-3415083520,3415084031,HK
-3415084032,3415084543,CN
-3415084544,3415085055,US
-3415085056,3415087615,SG
-3415087616,3415087871,US
-3415087872,3415088127,SG
-3415088128,3415089151,HK
+3415080960,3415089151,SG
3415089152,3415097343,MY
3415097344,3415103487,ID
3415103488,3415113727,HK
@@ -120638,10 +139798,10 @@
3415130112,3415136255,JP
3415136256,3415136767,KR
3415136768,3415137023,AU
-3415137024,3415137279,CN
3415137280,3415137535,IN
3415137536,3415137791,NF
-3415137792,3415146495,AU
+3415137792,3415138303,AU
+3415138304,3415146495,CN
3415146496,3415162879,LK
3415162880,3415171071,AU
3415171072,3415179263,JP
@@ -120652,12 +139812,12 @@
3415220224,3415224319,NZ
3415224320,3415228415,US
3415228416,3415236607,KH
-3415236608,3415244799,IN
+3415236608,3415244799,CN
3415244800,3415277567,TH
3415277568,3415285759,CN
3415285760,3415293951,AU
3415293952,3415302143,HK
-3415302144,3415306239,AU
+3415302144,3415306239,JP
3415306240,3415308287,TH
3415308288,3415310335,JP
3415310336,3415326719,IN
@@ -120668,13 +139828,11 @@
3415431168,3415432191,IN
3415432192,3415435263,AU
3415435264,3415436287,PH
-3415436288,3415436799,AP
+3415436288,3415436799,AU
3415436800,3415437311,HK
-3415437312,3415441407,SE
+3415437312,3415441407,JP
3415441408,3415474175,AU
-3415474176,3415490559,CN
-3415490560,3415491583,PK
-3415491584,3415495679,CN
+3415474176,3415495679,CN
3415495680,3415496191,ID
3415496192,3415496703,CN
3415496704,3415497727,MY
@@ -120683,18 +139841,19 @@
3415498752,3415506943,JP
3415506944,3415556095,TH
3415556096,3415563263,AU
-3415563264,3415564287,SG
+3415563264,3415564287,CN
3415564288,3415568383,JP
3415568384,3415572479,KR
3415572480,3415605247,SG
-3415605248,3415752703,TH
+3415605248,3415736319,TH
+3415736320,3415752703,SG
3415752704,3415760895,CN
3415760896,3415769087,NZ
3415769088,3415777279,CN
3415777280,3415785471,KR
3415785472,3415793663,JP
3415793664,3415801855,AU
-3415801856,3415802879,ID
+3415801856,3415802879,CN
3415802880,3415803391,HK
3415803392,3415805951,PH
3415805952,3415807999,MY
@@ -120705,7 +139864,7 @@
3415815168,3415816191,IN
3415816192,3415817215,JP
3415817216,3415817727,ID
-3415818240,3415822335,HK
+3415818240,3415822335,JP
3415822336,3415826431,MY
3415826432,3415834623,ID
3415834624,3415838719,TH
@@ -120741,7 +139900,6 @@
3416293376,3416293631,ID
3416293632,3416293887,CN
3416293888,3416294399,PH
-3416294400,3416295423,AU
3416295424,3416295679,IN
3416295680,3416295935,TH
3416295936,3416296447,IN
@@ -120750,14 +139908,11 @@
3416301568,3416309759,PH
3416309760,3416317951,CN
3416317952,3416326143,TW
-3416326144,3416327167,VN
+3416326144,3416327167,CN
3416327168,3416328191,HK
3416328192,3416330239,AU
3416330240,3416334335,ID
-3416334336,3416338431,SG
-3416338432,3416338687,MY
-3416338688,3416339967,SG
-3416339968,3416342527,IN
+3416334336,3416342527,MY
3416342528,3416371199,AU
3416371200,3416371711,PH
3416371712,3416371967,VN
@@ -120765,7 +139920,6 @@
3416372224,3416372479,CN
3416372480,3416372735,SG
3416372736,3416372991,AU
-3416372992,3416373247,SG
3416373248,3416373503,AU
3416373504,3416373759,SG
3416373760,3416374271,AU
@@ -120775,223 +139929,15 @@
3416375296,3416383487,CN
3416383488,3416391679,HK
3416391680,3416457215,VN
-3416457216,3416460799,JP
-3416460800,3416461055,SG
-3416461056,3416465663,JP
-3416465664,3416465919,HK
-3416465920,3416471039,JP
-3416471040,3416471295,NZ
-3416471296,3416473727,JP
-3416473728,3416473855,PH
-3416473856,3416473871,JP
-3416473872,3416473983,AU
-3416473984,3416474047,JP
-3416474048,3416474111,AU
-3416474112,3416474239,ID
-3416474240,3416474375,JP
-3416474376,3416474383,AU
-3416474384,3416474407,JP
-3416474408,3416474415,AU
-3416474416,3416474639,JP
-3416474640,3416474671,NZ
-3416474672,3416474687,JP
-3416474688,3416474740,NZ
-3416474741,3416474743,JP
-3416474744,3416474759,NZ
-3416474760,3416474775,JP
-3416474776,3416474783,NZ
-3416474784,3416474847,JP
-3416474848,3416474855,NZ
-3416474856,3416475199,JP
-3416475200,3416475263,NZ
-3416475264,3416475455,JP
-3416475456,3416475487,NZ
-3416475488,3416475615,JP
-3416475616,3416475647,NZ
-3416475648,3416475903,TW
-3416475904,3416475919,SG
-3416475920,3416475951,JP
-3416475952,3416475959,SG
-3416475960,3416476031,JP
-3416476032,3416476063,SG
-3416476064,3416476071,JP
-3416476072,3416476079,SG
-3416476080,3416476111,JP
-3416476112,3416476127,SG
-3416476128,3416476159,JP
-3416476160,3416476167,AU
-3416476168,3416476207,JP
-3416476208,3416476255,AU
-3416476256,3416476367,JP
-3416476368,3416476375,AU
-3416476376,3416476863,JP
-3416476864,3416477183,TW
-3416477184,3416477199,JP
-3416477200,3416477207,MY
-3416477208,3416477215,JP
-3416477216,3416477239,MY
-3416477240,3416477247,SG
-3416477248,3416477263,MY
-3416477264,3416477759,JP
-3416477760,3416477823,SG
-3416477824,3416477887,JP
-3416477888,3416477951,SG
-3416477952,3416477983,ID
-3416477984,3416478143,JP
-3416478144,3416478175,ID
-3416478176,3416478239,JP
-3416478240,3416478271,HK
-3416478272,3416478303,JP
-3416478304,3416478335,HK
-3416478336,3416478463,JP
-3416478464,3416478479,TW
-3416478480,3416478527,JP
-3416478528,3416478543,TW
-3416478544,3416478655,JP
-3416478656,3416478671,HK
-3416478672,3416478703,TW
-3416478704,3416478783,JP
-3416478784,3416478799,KR
-3416478800,3416478847,JP
-3416478848,3416478911,TW
-3416478912,3416478927,KR
-3416478928,3416479103,JP
-3416479104,3416479231,AU
-3416479232,3416480255,JP
-3416480256,3416480383,TW
-3416480384,3416481559,JP
-3416481560,3416481567,IN
-3416481568,3416481575,JP
-3416481576,3416481583,AU
-3416481584,3416481807,JP
-3416481808,3416481815,HK
-3416481816,3416481823,JP
-3416481824,3416481839,HK
-3416481840,3416481855,JP
-3416481856,3416481871,HK
-3416481872,3416481887,JP
-3416481888,3416481919,HK
-3416481920,3416481967,JP
-3416481968,3416481983,HK
-3416481984,3416482047,JP
-3416482048,3416482079,SG
-3416482080,3416482159,JP
-3416482160,3416482191,SG
-3416482192,3416482255,JP
-3416482256,3416482287,SG
-3416482288,3416482591,JP
-3416482592,3416482607,KR
-3416482608,3416482671,JP
-3416482672,3416482687,KR
-3416482688,3416482703,JP
-3416482704,3416482719,AU
-3416482720,3416482784,SG
-3416482785,3416482815,HK
-3416482816,3416482879,KR
-3416482880,3416483167,JP
-3416483168,3416483199,SG
-3416483200,3416483231,JP
-3416483232,3416483327,SG
-3416483328,3416483391,HK
-3416483392,3416483407,JP
-3416483408,3416483423,HK
-3416483424,3416483567,JP
-3416483568,3416483583,HK
-3416483584,3416483663,SG
-3416483664,3416483671,JP
-3416483672,3416483775,SG
-3416483776,3416483863,JP
-3416483864,3416483871,KR
-3416483872,3416483903,JP
-3416483904,3416483911,KR
-3416483912,3416483919,HK
-3416483920,3416483943,JP
-3416483944,3416483951,KR
-3416483952,3416483959,HK
-3416483960,3416483967,AU
-3416483968,3416483975,JP
-3416483976,3416484031,HK
-3416484032,3416484039,JP
-3416484040,3416484055,KR
-3416484056,3416484143,JP
-3416484144,3416484159,MY
-3416484160,3416484175,JP
-3416484176,3416484183,MY
-3416484184,3416484191,JP
-3416484192,3416484223,MY
-3416484224,3416484255,JP
-3416484256,3416484271,AU
-3416484272,3416484319,JP
-3416484320,3416484335,HK
-3416484336,3416484351,JP
-3416484352,3416484607,SG
-3416484608,3416484671,JP
-3416484672,3416484735,HK
-3416484736,3416485823,JP
-3416485824,3416485903,SG
-3416485904,3416485911,JP
-3416485912,3416485927,SG
-3416485928,3416485935,JP
-3416485936,3416485943,SG
-3416485944,3416485967,JP
-3416485968,3416485975,SG
-3416485976,3416486023,JP
-3416486024,3416486039,AU
-3416486040,3416486047,SG
-3416486048,3416486063,JP
-3416486064,3416486103,SG
-3416486104,3416486111,JP
-3416486112,3416486119,SG
-3416486120,3416486127,HK
-3416486128,3416486143,SG
-3416486144,3416487167,JP
-3416487168,3416487175,HK
-3416487176,3416487183,JP
-3416487184,3416487191,HK
-3416487192,3416487255,JP
-3416487256,3416487263,HK
-3416487264,3416487271,JP
-3416487272,3416487279,HK
-3416487280,3416487303,JP
-3416487304,3416487343,HK
-3416487344,3416487359,JP
-3416487360,3416487383,HK
-3416487384,3416487391,JP
-3416487392,3416487415,HK
-3416487416,3416487423,JP
-3416487424,3416487487,PH
-3416487488,3416488451,JP
-3416488452,3416488453,AU
-3416488454,3416488578,JP
-3416488579,3416488579,TW
-3416488580,3416488580,SG
-3416488581,3416488581,JP
-3416488582,3416488582,HK
-3416488583,3416488583,AU
-3416488584,3416489471,JP
+3416457216,3416489471,JP
3416489472,3416489727,AU
-3416489728,3416489731,JP
-3416489732,3416489735,AU
-3416489736,3416489751,JP
-3416489752,3416489759,AU
-3416489760,3416489763,JP
-3416489764,3416489773,AU
-3416489774,3416489774,JP
-3416489775,3416489783,AU
-3416489784,3416489787,JP
-3416489788,3416489983,AU
+3416489728,3416489983,JP
3416489984,3416506367,VN
3416506368,3416514559,TW
3416514560,3416522751,IN
3416522752,3416588287,AU
3416588288,3416653823,JP
-3416653824,3416666111,AU
-3416666112,3416666239,HK
-3416666240,3416667135,AU
-3416667136,3416668159,US
-3416668160,3416684175,AU
-3416684176,3416684183,NZ
-3416684184,3416686591,AU
+3416653824,3416686591,AU
3416686592,3416694783,SG
3416694784,3416702975,CN
3416702976,3416707071,ID
@@ -121017,20 +139963,7 @@
3416856576,3416858623,BD
3416858624,3416862719,HK
3416862720,3416864767,MN
-3416864768,3416864895,JP
-3416864896,3416865023,SG
-3416865024,3416865151,HK
-3416865152,3416865279,SG
-3416865280,3416865287,JP
-3416865288,3416865295,AP
-3416865296,3416865303,AU
-3416865304,3416865407,AP
-3416865408,3416865599,JP
-3416865600,3416865607,HK
-3416865608,3416865655,AP
-3416865656,3416865791,JP
-3416865792,3416866047,HK
-3416866048,3416866815,AP
+3416864768,3416866815,HK
3416866816,3416883199,SG
3416883200,3416915967,HK
3416915968,3416920063,AU
@@ -121057,7 +139990,7 @@
3416939520,3416940543,AU
3416940544,3416948735,KR
3416948736,3416981503,TH
-3416981504,3416982527,PH
+3416981504,3416982527,CN
3416982528,3416982783,NZ
3416982784,3416983039,AU
3416983040,3416983551,PH
@@ -121111,7 +140044,6 @@
3417251840,3417260031,KR
3417260032,3417264127,PK
3417264128,3417268223,JP
-3417268224,3417272319,PK
3417272320,3417274367,NZ
3417274368,3417275391,AU
3417275392,3417276415,PH
@@ -121145,11 +140077,7 @@
3417357824,3417358335,PK
3417358336,3417374719,HK
3417374720,3417440255,PH
-3417440256,3417706095,JP
-3417706096,3417706099,HK
-3417706100,3417716655,JP
-3417716656,3417716659,HK
-3417716660,3417833471,JP
+3417440256,3417833471,JP
3417833472,3417849855,NZ
3417849856,3417853951,AU
3417853952,3417858047,CN
@@ -121165,7 +140093,7 @@
3417948160,3417964543,AU
3417964544,3418030079,HK
3418030080,3418062847,TW
-3418062848,3418071039,IN
+3418062848,3418071039,US
3418071040,3418079231,CN
3418079232,3418095615,IN
3418095616,3418111999,TH
@@ -121177,7 +140105,8 @@
3418150912,3418152959,AU
3418152960,3418155007,IN
3418155008,3418157055,MY
-3418157056,3418161663,BD
+3418157056,3418161151,BD
+3418161152,3418161663,CN
3418161664,3418162431,AU
3418162432,3418162687,IN
3418162688,3418163199,CN
@@ -121193,7 +140122,7 @@
3418183680,3418184191,ID
3418184192,3418184959,IN
3418184960,3418185727,AU
-3418185728,3418189823,PK
+3418185728,3418189823,JP
3418189824,3418190847,CN
3418190848,3418191871,TH
3418191872,3418192895,ID
@@ -121204,20 +140133,17 @@
3418208256,3418210303,LK
3418210304,3418218495,CN
3418218496,3418227711,BD
-3418227712,3418228735,TW
+3418227712,3418228735,KR
3418228736,3418230783,BD
3418230784,3418232831,TW
3418232832,3418233343,AU
3418233344,3418233855,KR
3418233856,3418234879,JP
-3418234880,3418235903,BD
3418235904,3418236415,ID
-3418236416,3418236927,AP
+3418236416,3418236927,HK
3418236928,3418241023,ID
3418241024,3418243071,JP
-3418243072,3418246015,PH
-3418246016,3418246023,SG
-3418246024,3418251263,PH
+3418243072,3418251263,HK
3418251264,3418255359,CN
3418255360,3418257407,ID
3418257408,3418259455,HK
@@ -121231,29 +140157,18 @@
3418282240,3418282495,AU
3418282496,3418283519,PH
3418283520,3418284031,AU
-3418284032,3418285055,SG
-3418285056,3418285567,JP
-3418285568,3418286111,SG
-3418286112,3418286143,AU
-3418286144,3418286227,SG
-3418286228,3418286235,AU
-3418286236,3418286239,SG
-3418286240,3418286255,AU
-3418286256,3418286927,SG
-3418286928,3418286943,AU
-3418286944,3418288127,SG
+3418284032,3418288127,SG
3418288128,3418290175,ID
3418290176,3418290431,IN
-3418290432,3418290687,HK
+3418290432,3418290687,CN
3418290688,3418291199,TH
3418291200,3418291711,AU
-3418291712,3418292735,BD
-3418292736,3418292991,JP
-3418292992,3418293247,HK
-3418293248,3418293503,JP
+3418291712,3418292223,BD
+3418292224,3418292735,CN
+3418292736,3418292991,AU
+3418292992,3418293503,HK
3418293504,3418293759,IN
3418293760,3418294015,AU
-3418294016,3418294271,NZ
3418294272,3418296319,VN
3418296320,3418300415,CN
3418300416,3418300927,BD
@@ -121263,7 +140178,7 @@
3418304512,3418306559,VN
3418306560,3418308607,MN
3418308608,3418324991,CN
-3418324992,3418326015,BD
+3418324992,3418326015,VU
3418326016,3418326527,AU
3418326528,3418327039,PH
3418327040,3418329087,JP
@@ -121274,192 +140189,14 @@
3418365952,3418374143,TH
3418374144,3418382335,AU
3418382336,3418390527,JP
-3418390528,3418392319,AP
-3418392320,3418392575,HK
-3418392576,3418392831,AU
-3418392832,3418393087,HK
-3418393088,3418393103,SG
-3418393104,3418393111,AP
-3418393112,3418393159,SG
-3418393160,3418393183,AP
-3418393184,3418393247,SG
-3418393248,3418393279,AP
-3418393280,3418393343,SG
-3418393344,3418393599,AP
-3418393600,3418393607,JP
-3418393608,3418393679,AP
-3418393680,3418393791,JP
-3418393792,3418393855,AP
-3418393856,3418393983,AU
-3418393984,3418394015,SG
-3418394016,3418394047,AU
-3418394048,3418394063,MY
-3418394064,3418394079,NZ
-3418394080,3418394111,AU
-3418394112,3418394367,KR
-3418394368,3418394623,TW
-3418394624,3418394879,AP
-3418394880,3418395135,JP
-3418395136,3418395391,AP
-3418395392,3418395407,JP
-3418395408,3418395423,AP
-3418395424,3418395439,JP
-3418395440,3418395455,AP
-3418395456,3418395520,JP
-3418395521,3418395679,AP
-3418395680,3418395695,KR
-3418395696,3418395839,AP
-3418395840,3418395903,KR
-3418395904,3418396415,JP
-3418396416,3418396719,AP
-3418396720,3418396735,TW
-3418396736,3418397823,AP
-3418397824,3418397831,HK
-3418397832,3418397847,AP
-3418397848,3418397911,HK
-3418397912,3418398079,AP
-3418398080,3418398207,KR
-3418398208,3418398719,JP
-3418398720,3418399231,AP
-3418399232,3418399359,PH
-3418399360,3418399439,AP
-3418399440,3418399455,PH
-3418399456,3418399471,AP
-3418399472,3418399487,TW
-3418399488,3418401535,AP
-3418401536,3418401599,PH
-3418401600,3418401631,AP
-3418401632,3418401647,PH
-3418401648,3418401719,AP
-3418401720,3418401727,PH
-3418401728,3418401791,TW
-3418401792,3418401887,AP
-3418401888,3418401903,PH
-3418401904,3418401919,TW
-3418401920,3418401935,AP
-3418401936,3418401951,TW
-3418401952,3418403071,AP
-3418403072,3418403103,MY
-3418403104,3418403583,AP
-3418403584,3418403591,AU
-3418403592,3418403599,AP
-3418403600,3418403615,AU
-3418403616,3418403623,AP
-3418403624,3418403679,AU
-3418403680,3418403711,AP
-3418403712,3418403775,AU
-3418403776,3418403783,NZ
-3418403784,3418403807,AU
-3418403808,3418403815,AP
-3418403816,3418403839,AU
-3418403840,3418403991,HK
-3418403992,3418403999,AP
-3418404000,3418404063,HK
-3418404064,3418404159,AP
-3418404160,3418404175,TW
-3418404176,3418404351,AP
-3418404352,3418404479,KR
-3418404480,3418405375,AP
-3418405376,3418405503,AU
-3418405504,3418405631,AP
-3418405632,3418405663,HK
-3418405664,3418405855,AP
-3418405856,3418405887,SG
-3418405888,3418406143,AP
-3418406144,3418406399,SG
-3418406400,3418406911,AP
+3418390528,3418406911,AP
3418406912,3418423295,IN
-3418423296,3418435711,HK
-3418435712,3418435743,JP
-3418435744,3418448639,HK
-3418448640,3418448895,SG
-3418448896,3418453064,HK
-3418453065,3418453065,AS
-3418453066,3418453071,US
-3418453072,3418453087,HK
-3418453088,3418453091,US
-3418453092,3418453247,HK
-3418453248,3418453375,AS
-3418453376,3418453407,US
-3418453408,3418453411,HK
-3418453412,3418453412,KR
-3418453413,3418453415,HK
-3418453416,3418453423,KR
-3418453424,3418453631,HK
-3418453632,3418453759,US
-3418453760,3418456063,HK
+3418423296,3418456063,HK
3418456064,3418472447,IN
3418472448,3418480639,AU
3418480640,3418488831,CN
3418488832,3418505215,AU
-3418505216,3418506831,JP
-3418506832,3418506879,ID
-3418506880,3418506895,AU
-3418506896,3418506911,NZ
-3418506912,3418507043,JP
-3418507044,3418507047,ID
-3418507048,3418507071,JP
-3418507072,3418507075,ID
-3418507076,3418507295,JP
-3418507296,3418507335,HK
-3418507336,3418507903,JP
-3418507904,3418507919,MY
-3418507920,3418507927,JP
-3418507928,3418507971,MY
-3418507972,3418508543,JP
-3418508544,3418508607,HK
-3418508608,3418508639,JP
-3418508640,3418508671,HK
-3418508672,3418508927,JP
-3418508928,3418509024,SG
-3418509025,3418509055,JP
-3418509056,3418509119,TW
-3418509120,3418509327,JP
-3418509328,3418509455,HK
-3418509456,3418510271,JP
-3418510272,3418510279,TW
-3418510280,3418510287,JP
-3418510288,3418510303,HK
-3418510304,3418510591,JP
-3418510592,3418510847,TW
-3418510848,3418510927,JP
-3418510928,3418510943,HK
-3418510944,3418510951,AU
-3418510952,3418510991,JP
-3418510992,3418511007,HK
-3418511008,3418511023,JP
-3418511024,3418511039,HK
-3418511040,3418511087,JP
-3418511088,3418511103,HK
-3418511104,3418511107,JP
-3418511108,3418511115,SG
-3418511116,3418511116,JP
-3418511117,3418511117,SG
-3418511118,3418511119,JP
-3418511120,3418511359,SG
-3418511360,3418511383,JP
-3418511384,3418511399,TW
-3418511400,3418511407,SG
-3418511408,3418511415,TW
-3418511416,3418511423,SG
-3418511424,3418511439,TW
-3418511440,3418512191,JP
-3418512192,3418512255,AU
-3418512256,3418512703,JP
-3418512704,3418512735,AU
-3418512736,3418512951,JP
-3418512952,3418512959,AU
-3418512960,3418512983,JP
-3418512984,3418513031,AU
-3418513032,3418513039,HK
-3418513040,3418513055,AU
-3418513056,3418513063,JP
-3418513064,3418513071,AU
-3418513072,3418513087,JP
-3418513088,3418513127,AU
-3418513128,3418513215,JP
-3418513216,3418513231,TW
-3418513232,3418513407,JP
+3418505216,3418513407,JP
3418513408,3418517503,IN
3418517504,3418519551,MN
3418519552,3418521599,CN
@@ -121468,10 +140205,9 @@
3418570752,3418578943,CN
3418578944,3418583039,TH
3418583040,3418585087,CN
-3418585088,3418586111,TH
+3418585088,3418586111,SG
3418586112,3418586367,AU
-3418586368,3418586623,SG
-3418586624,3418586879,PK
+3418586368,3418586879,SG
3418586880,3418587135,AU
3418587136,3418623999,CN
3418624000,3418626047,JP
@@ -121481,49 +140217,7 @@
3418642944,3418643199,ID
3418643200,3418643455,JP
3418643456,3418644479,AU
-3418644480,3418644735,JP
-3418644736,3418644991,AU
-3418644992,3418645247,TW
-3418645248,3418645503,SG
-3418645504,3418645759,JP
-3418645760,3418646271,NZ
-3418646272,3418646527,HK
-3418646528,3418646783,JP
-3418646784,3418647039,TW
-3418647040,3418648063,JP
-3418648064,3418648575,SG
-3418648576,3418648591,AU
-3418648592,3418648639,JP
-3418648640,3418648783,AU
-3418648784,3418648799,SG
-3418648800,3418648815,NZ
-3418648816,3418648831,HK
-3418648832,3418649439,JP
-3418649440,3418649503,SG
-3418649504,3418649519,JP
-3418649520,3418649567,SG
-3418649568,3418649583,JP
-3418649584,3418649599,SG
-3418649600,3418649887,JP
-3418649888,3418649951,PH
-3418649952,3418650751,JP
-3418650752,3418650808,HK
-3418650809,3418650823,JP
-3418650824,3418650839,HK
-3418650840,3418650846,JP
-3418650847,3418650879,HK
-3418650880,3418651039,NZ
-3418651040,3418651135,JP
-3418651136,3418651391,SG
-3418651392,3418651903,JP
-3418651904,3418652159,HK
-3418652160,3418652163,PH
-3418652164,3418652167,JP
-3418652168,3418652171,PH
-3418652172,3418652183,JP
-3418652184,3418652207,PH
-3418652208,3418652415,JP
-3418652416,3418652671,HK
+3418644480,3418652671,JP
3418652672,3418750975,IN
3418750976,3418816511,HK
3418816512,3418947583,IN
@@ -121536,7 +140230,8 @@
3418962944,3418963967,IN
3418963968,3418988543,AU
3418988544,3418992639,ID
-3418992640,3418993919,SG
+3418992640,3418993663,SG
+3418993664,3418993919,PH
3418994176,3418994431,MY
3418994432,3418994687,AU
3418994688,3418995711,MY
@@ -121544,16 +140239,16 @@
3418996736,3419013119,IN
3419013120,3419062271,AU
3419062272,3419070463,JP
-3419070464,3419071999,HK
-3419072000,3419072255,ID
-3419072256,3419072511,HK
-3419072512,3419073023,JP
+3419070464,3419072511,HK
3419073024,3419073279,SG
3419073280,3419073535,FJ
-3419073536,3419074559,SG
+3419073536,3419074559,CN
3419074560,3419078655,BD
3419078656,3419209727,TW
-3419209728,3419275263,JP
+3419209728,3419226111,VN
+3419226112,3419234303,CN
+3419234304,3419242495,JP
+3419242496,3419275263,CN
3419275264,3419340799,AU
3419340800,3419344895,TW
3419344896,3419348991,KR
@@ -121570,15 +140265,7 @@
3419412480,3419414527,PH
3419414528,3419422719,CN
3419422720,3419439103,AU
-3419439104,3419448703,SG
-3419448704,3419448735,NP
-3419448736,3419449023,SG
-3419449024,3419449055,BD
-3419449056,3419456911,SG
-3419456912,3419456927,JP
-3419456928,3419459007,SG
-3419459008,3419459071,AF
-3419459072,3419459407,SG
+3419439104,3419459407,SG
3419459408,3419459423,GB
3419459424,3419471871,SG
3419471872,3419504639,TH
@@ -121633,18 +140320,7 @@
3419879424,3419880447,JP
3419880448,3419881471,MM
3419881472,3419897855,PH
-3419897856,3419899903,JP
-3419899904,3419900159,FR
-3419900160,3419900415,BE
-3419900416,3419901439,AU
-3419901440,3419901951,NZ
-3419901952,3419902207,AU
-3419902208,3419902463,HK
-3419902464,3419902719,CN
-3419902720,3419902975,HK
-3419902976,3419903231,AU
-3419903232,3419903487,JP
-3419903488,3419906047,AU
+3419897856,3419906047,AU
3419906048,3419914239,PK
3419914240,3419922431,KR
3419922432,3419924479,JP
@@ -121664,7 +140340,7 @@
3420033024,3420034047,IN
3420034048,3420036095,AU
3420036096,3420037119,JP
-3420037120,3420039167,AU
+3420037120,3420038143,AU
3420039168,3420040191,KH
3420040192,3420040703,ID
3420040704,3420040959,IN
@@ -121677,154 +140353,12 @@
3420061696,3420127231,HK
3420127232,3420323839,AU
3420323840,3420332031,TW
-3420332032,3420334591,AU
-3420334592,3420334623,HK
-3420334624,3420334639,AU
-3420334640,3420334643,SG
-3420334644,3420334647,AU
-3420334648,3420334687,HK
-3420334688,3420334695,SG
-3420334696,3420334703,JP
-3420334704,3420334719,HK
-3420334720,3420334847,SG
-3420334848,3420335271,HK
-3420335272,3420335279,CN
-3420335280,3420335615,HK
-3420335616,3420335623,KR
-3420335624,3420335631,SG
-3420335632,3420335640,JP
-3420335641,3420335647,AU
-3420335648,3420335871,JP
-3420335872,3420336127,SG
-3420336128,3420336183,JP
-3420336184,3420336199,SG
-3420336200,3420336207,JP
-3420336208,3420336223,HK
-3420336224,3420336255,SG
-3420336256,3420336287,JP
-3420336288,3420336319,SG
-3420336320,3420336351,JP
-3420336352,3420336367,KR
-3420336368,3420336383,SG
-3420336384,3420336655,JP
-3420336656,3420336671,AU
-3420336672,3420336895,JP
-3420336896,3420337151,HK
-3420337152,3420337167,SG
-3420337168,3420337171,AU
-3420337172,3420337175,SG
-3420337176,3420337183,AU
-3420337184,3420337599,SG
-3420337600,3420337631,HK
-3420337632,3420337635,AU
-3420337636,3420337643,SG
-3420337644,3420337647,AU
-3420337648,3420337663,SG
-3420337664,3420337727,AU
-3420337728,3420337743,NZ
-3420337744,3420337835,AU
-3420337836,3420337839,NZ
-3420337840,3420340019,AU
-3420340020,3420340023,NZ
-3420340024,3420340143,AU
-3420340144,3420340159,NZ
-3420340160,3420365847,AU
-3420365848,3420365855,TW
-3420365856,3420365887,AU
-3420365888,3420366047,HK
-3420366048,3420366055,TW
-3420366056,3420366059,HK
-3420366060,3420366063,AU
-3420366064,3420366079,TW
-3420366080,3420366335,HK
-3420366336,3420366431,SG
-3420366432,3420366439,CN
-3420366440,3420366447,SG
-3420366448,3420366463,US
-3420366464,3420366471,SG
-3420366472,3420366479,IN
-3420366480,3420366495,SG
-3420366496,3420366511,HK
-3420366512,3420366527,SG
-3420366528,3420366591,CN
-3420366592,3420366639,HK
-3420366640,3420366647,TW
-3420366648,3420366655,CN
-3420366656,3420366719,HK
-3420366720,3420366735,CN
-3420366736,3420366751,KR
-3420366752,3420366847,HK
-3420366848,3420366871,JP
-3420366872,3420366879,KR
-3420366880,3420366911,AU
-3420366912,3420366959,JP
-3420366960,3420366975,KR
-3420366976,3420367039,JP
-3420367040,3420367055,KR
-3420367056,3420367103,JP
-3420367104,3420367359,HK
-3420367360,3420367383,JP
-3420367384,3420367423,KR
-3420367424,3420367495,JP
-3420367496,3420367503,KR
-3420367504,3420367519,AU
-3420367520,3420367631,JP
-3420367632,3420367647,AU
-3420367648,3420367663,JP
-3420367664,3420367679,KR
-3420367680,3420367743,JP
-3420367744,3420367775,AU
-3420367776,3420367791,TW
-3420367792,3420367807,IN
-3420367808,3420367871,JP
-3420367872,3420368015,AU
-3420368016,3420368031,NZ
-3420368032,3420368063,AU
-3420368064,3420368067,NZ
-3420368068,3420368583,AU
-3420368584,3420368591,CN
-3420368592,3420368639,AU
-3420368640,3420368895,NZ
-3420368896,3420368935,HK
-3420368936,3420368943,TW
-3420368944,3420368991,HK
-3420368992,3420369007,AU
-3420369008,3420369055,HK
-3420369056,3420369087,AU
-3420369088,3420369139,HK
-3420369140,3420369223,CN
-3420369224,3420369239,HK
-3420369240,3420369255,TW
-3420369256,3420369263,CN
-3420369264,3420369279,AU
-3420369280,3420369343,HK
-3420369344,3420369407,CN
-3420369408,3420370431,AU
-3420370432,3420370527,HK
-3420370528,3420370543,CN
-3420370544,3420370559,HK
-3420370560,3420370575,JP
-3420370576,3420370591,CN
-3420370592,3420370623,AU
-3420370624,3420370943,HK
-3420370944,3420371199,JP
-3420371200,3420371455,AU
-3420371456,3420371775,JP
-3420371776,3420371807,KR
-3420371808,3420371823,HK
-3420371824,3420371839,KR
-3420371840,3420371879,IN
-3420371880,3420371887,SG
-3420371888,3420371895,CN
-3420371896,3420371903,AU
-3420371904,3420371967,IN
-3420371968,3420372223,AU
-3420372224,3420372735,HK
-3420372736,3420372991,AU
-3420372992,3420377087,HK
+3420332032,3420369007,AU
+3420369008,3420369023,HK
+3420369024,3420372991,AU
+3420372992,3420377087,CN
3420377088,3420389375,JP
-3420389376,3420393471,US
-3420393472,3420395519,CN
+3420389376,3420395519,CN
3420395520,3420397567,JP
3420397568,3420401663,KH
3420401664,3420411903,JP
@@ -121859,15 +140393,11 @@
3423143936,3423145983,CA
3423145984,3423161031,US
3423161032,3423161039,CA
-3423161040,3423161479,US
-3423161480,3423161487,HK
-3423161488,3423161613,US
+3423161040,3423161613,US
3423161614,3423161621,CA
3423161622,3423162159,US
3423162160,3423162167,MX
-3423162168,3423162303,US
-3423162304,3423162311,GB
-3423162312,3423162367,US
+3423162168,3423162367,US
3423162368,3423163391,CA
3423163392,3423182847,US
3423182848,3423183199,CA
@@ -121887,11 +140417,7 @@
3423184320,3423184895,CA
3423184896,3423204095,US
3423204096,3423204351,CA
-3423204352,3423207663,US
-3423207664,3423207671,AN
-3423207672,3423208193,US
-3423208194,3423208383,AN
-3423208384,3423221759,US
+3423204352,3423221759,US
3423221760,3423222783,CA
3423222784,3423235543,US
3423235544,3423235551,TR
@@ -121901,9 +140427,7 @@
3423235712,3423235743,CA
3423235744,3423235807,US
3423235808,3423235823,IN
-3423235824,3423235871,US
-3423235872,3423235903,CA
-3423235904,3423235975,US
+3423235824,3423235975,US
3423235976,3423235983,IL
3423235984,3423236095,US
3423236096,3423238143,JM
@@ -121916,8 +140440,7 @@
3423265264,3423266815,US
3423268864,3423269887,CA
3423269888,3423285247,US
-3423285248,3423285527,CA
-3423285528,3423285535,NL
+3423285248,3423285535,CA
3423285536,3423285543,JP
3423285544,3423285551,CA
3423285552,3423285559,US
@@ -121933,9 +140456,7 @@
3423285792,3423285807,CR
3423285808,3423286175,CA
3423286176,3423286207,US
-3423286208,3423286527,CA
-3423286528,3423286655,GB
-3423286656,3423287295,CA
+3423286208,3423287295,CA
3423287296,3423291983,US
3423291984,3423291991,IL
3423291992,3423303679,US
@@ -121945,7 +140466,9 @@
3423313152,3423313407,US
3423313408,3423313919,VI
3423313920,3423329567,US
-3423329568,3423329615,IL
+3423329568,3423329599,IL
+3423329600,3423329607,US
+3423329608,3423329615,IL
3423329616,3423338527,US
3423338528,3423338535,AE
3423338536,3423338927,US
@@ -122199,13 +140722,13 @@
3423370552,3423370559,IE
3423370560,3423370719,US
3423370720,3423370727,VG
-3423370728,3423370775,US
-3423370776,3423370783,LB
-3423370784,3423370871,US
+3423370728,3423370871,US
3423370872,3423370879,VG
3423370880,3423371263,US
3423371264,3423375359,ZA
-3423375360,3423378175,CA
+3423375360,3423377151,CA
+3423377152,3423377407,US
+3423377408,3423378175,CA
3423378176,3423378303,US
3423378304,3423378431,CA
3423378432,3423378943,US
@@ -122228,9 +140751,7 @@
3423402944,3423402951,RU
3423402952,3423416319,US
3423416320,3423417343,CA
-3423417344,3423417470,US
-3423417471,3423417480,AU
-3423417481,3423462655,US
+3423417344,3423462655,US
3423462656,3423462671,CA
3423462672,3423473663,US
3423473664,3423474655,CA
@@ -122251,7 +140772,8 @@
3423481056,3423481535,A2
3423481536,3423481551,NG
3423481552,3423481855,A2
-3423481856,3423493631,US
+3423481856,3423487999,US
+3423490048,3423493631,US
3423493632,3423493887,RU
3423493888,3423493903,ID
3423493904,3423493911,US
@@ -122265,11 +140787,7 @@
3423540096,3423540175,US
3423540176,3423540183,HN
3423540184,3423543295,US
-3423543296,3423544495,CA
-3423544496,3423544511,US
-3423544512,3423544543,CA
-3423544544,3423544551,US
-3423544552,3423545343,CA
+3423543296,3423545343,CA
3423545344,3423554183,US
3423554184,3423554191,CA
3423554192,3423554271,US
@@ -122286,13 +140804,13 @@
3423584352,3423584359,AU
3423584360,3423584367,CA
3423584368,3423584375,US
-3423584376,3423584423,CA
+3423584376,3423584407,CA
+3423584408,3423584415,US
+3423584416,3423584423,CA
3423584424,3423584431,US
3423584432,3423584447,CA
3423584448,3423584455,US
-3423584456,3423584687,CA
-3423584688,3423584703,US
-3423584704,3423584719,CA
+3423584456,3423584719,CA
3423584720,3423584735,US
3423584736,3423584751,CA
3423584752,3423584767,US
@@ -122300,9 +140818,7 @@
3423585536,3423585551,MY
3423585552,3423585775,CA
3423585776,3423585791,MY
-3423585792,3423585895,CA
-3423585896,3423585903,NL
-3423585904,3423585911,CA
+3423585792,3423585911,CA
3423585912,3423585919,ES
3423585920,3423585927,CA
3423585928,3423585935,NZ
@@ -122328,15 +140844,12 @@
3423592740,3423592755,CA
3423592756,3423592895,US
3423592896,3423592911,IL
-3423592912,3423598719,US
-3423598720,3423598783,CA
-3423598784,3423600241,US
-3423600242,3423600251,GB
-3423600252,3423602687,US
+3423592912,3423602687,US
3423602688,3423603711,KN
3423603712,3423604967,US
3423604968,3423604975,BZ
-3423604976,3423626239,US
+3423604976,3423605759,US
+3423606784,3423626239,US
3423626240,3423627263,CA
3423627264,3423629311,US
3423632384,3423633407,A2
@@ -122394,16 +140907,22 @@
3425830816,3425830831,US
3425830832,3425850519,CA
3425850520,3425850527,US
-3425850528,3425855231,CA
-3425855232,3425855487,US
-3425855488,3425864711,CA
+3425850528,3425864583,CA
+3425864584,3425864591,US
+3425864592,3425864711,CA
3425864712,3425864719,US
-3425864720,3425869167,CA
+3425864720,3425865327,CA
+3425865328,3425865335,US
+3425865336,3425869167,CA
3425869168,3425869183,US
3425869184,3425875391,CA
3425875392,3425875407,US
3425875408,3425894399,CA
-3425894400,3425912815,US
+3425894400,3425911967,US
+3425911968,3425911983,IL
+3425911984,3425911999,US
+3425912000,3425912031,CA
+3425912032,3425912815,US
3425912816,3425912831,DO
3425912832,3425912847,US
3425912848,3425912863,BB
@@ -122415,39 +140934,51 @@
3425916480,3425916543,DK
3425916544,3426013183,US
3426013184,3426013439,IL
-3426013440,3426387967,US
+3426013440,3426369023,US
+3426369024,3426369535,CA
+3426369536,3426387967,US
3426387968,3426388991,MX
3426388992,3426400255,US
3426400256,3426400511,CA
3426400512,3426617855,US
-3426618368,3426618687,US
+3426617856,3426618367,CA
+3426618368,3426618439,US
+3426618440,3426618447,NZ
+3426618448,3426618551,US
+3426618552,3426618591,NZ
+3426618592,3426618687,US
3426618688,3426618703,NZ
3426618704,3426618735,US
3426618736,3426618751,NZ
-3426618752,3426618911,US
+3426618752,3426618871,US
+3426618872,3426618879,NZ
+3426618880,3426618911,US
3426618912,3426619071,NZ
-3426619072,3426619167,US
+3426619072,3426619103,US
+3426619104,3426619135,NZ
+3426619136,3426619167,US
3426619168,3426619247,NZ
3426619248,3426619263,US
3426619264,3426619295,NZ
-3426619296,3426646015,US
+3426619296,3426619335,US
+3426619336,3426619359,NZ
+3426619360,3426646015,US
3426646016,3426647039,CA
3426647040,3426729471,US
3426729472,3426729983,CA
3426729984,3426744319,US
3426744320,3426746367,CA
-3426746368,3427033087,US
-3427033088,3427041279,A1
-3427041280,3427117055,US
+3426746368,3427117055,US
3427117056,3427117311,CA
3427117312,3427127295,US
3427127296,3427127551,CA
-3427127552,3427127807,US
-3427128064,3427618303,US
+3427127552,3427618303,US
3427618304,3427618559,CA
-3427618560,3427647743,US
+3427618560,3427647999,US
3427648000,3427648511,CA
-3427648512,3427729407,US
+3427648512,3427651071,US
+3427651072,3427651327,CA
+3427651328,3427729407,US
3427729408,3427729663,CA
3427729664,3427730431,US
3427730432,3427730687,BE
@@ -122508,7 +141039,8 @@
3427757312,3427757567,FR
3427757568,3427757823,JP
3427757824,3427758079,DE
-3427758080,3427758591,BE
+3427758080,3427758335,BE
+3427758336,3427758591,US
3427758592,3427758847,IT
3427758848,3427759103,US
3427759104,3427759359,BE
@@ -122602,11 +141134,21 @@
3428286720,3428286975,CA
3428286976,3428296959,US
3428296960,3428297215,CL
-3428297472,3428299519,US
+3428297216,3428299519,US
3428299520,3428299775,ZA
-3428299776,3428306175,US
+3428299776,3428302079,US
+3428302080,3428302335,CA
+3428302336,3428306175,US
3428306176,3428306431,MX
-3428306432,3428437503,US
+3428306432,3428318975,US
+3428318976,3428319231,CA
+3428319232,3428399359,US
+3428399360,3428399615,CA
+3428399616,3428433919,US
+3428433920,3428434175,CA
+3428434176,3428434943,US
+3428434944,3428435199,CA
+3428435200,3428437503,US
3428437504,3428437759,MX
3428437760,3428496639,US
3428496640,3428497151,NL
@@ -122675,7 +141217,9 @@
3428592248,3428592255,US
3428592256,3428592271,CA
3428592272,3428592343,US
-3428592344,3428593663,CA
+3428592344,3428592359,CA
+3428592360,3428592367,US
+3428592368,3428593663,CA
3428593664,3428593919,US
3428593920,3428594303,CA
3428594304,3428594431,US
@@ -122717,7 +141261,9 @@
3428597728,3428597759,US
3428597760,3428598271,CA
3428598272,3428598527,US
-3428598528,3428598687,CA
+3428598528,3428598623,CA
+3428598624,3428598655,US
+3428598656,3428598687,CA
3428598688,3428598719,US
3428598720,3428598751,CA
3428598752,3428598783,US
@@ -122743,7 +141289,9 @@
3428605184,3428605695,US
3428605696,3428605823,CA
3428605824,3428605855,US
-3428605856,3428606023,CA
+3428605856,3428605951,CA
+3428605952,3428605959,US
+3428605960,3428606023,CA
3428606024,3428606031,US
3428606032,3428606039,CA
3428606040,3428606111,US
@@ -122766,9 +141314,7 @@
3428608000,3428609023,CA
3428609024,3428610047,US
3428610048,3428611071,CA
-3428611072,3428611583,US
-3428611584,3428611839,CA
-3428611840,3428612607,US
+3428611072,3428612607,US
3428612608,3428613887,CA
3428613888,3428614143,US
3428614144,3428620095,CA
@@ -122809,7 +141355,9 @@
3428639488,3428640255,US
3428640256,3428640511,CA
3428640512,3428640767,US
-3428640768,3428643327,CA
+3428640768,3428642815,CA
+3428642816,3428643071,US
+3428643072,3428643327,CA
3428643328,3428643583,US
3428643584,3428643855,CA
3428643856,3428643871,US
@@ -122832,13 +141380,12 @@
3428646016,3428646079,CA
3428646080,3428646143,US
3428646144,3428646911,CA
-3428679680,3428739327,US
-3428739328,3428739343,GB
-3428739344,3428743167,US
+3428646912,3428661247,US
+3428661248,3428661503,CA
+3428661504,3428671487,US
+3428679680,3428743167,US
3428743168,3428744191,CA
-3428744192,3428751103,US
-3428751104,3428751231,PR
-3428751232,3428752383,US
+3428744192,3428752383,US
3428752384,3428753407,GH
3428753408,3428756479,US
3428756480,3428756487,SE
@@ -122849,7 +141396,9 @@
3428894048,3428958207,US
3428958208,3428962303,CO
3428962304,3429171199,US
-3429171200,3429236735,CA
+3429171200,3429235007,CA
+3429235008,3429235039,BM
+3429235040,3429236735,CA
3429236736,3429381887,US
3429381888,3429382143,DE
3429382144,3429396223,US
@@ -122878,8 +141427,7 @@
3430354944,3430356991,PR
3430356992,3430468607,US
3430468608,3430468863,AQ
-3430468864,3430468871,PR
-3430468872,3430701055,US
+3430468864,3430701055,US
3430701056,3430702079,CA
3430702080,3430703871,US
3430703872,3430704127,PR
@@ -122892,8 +141440,8 @@
3430748160,3430749951,US
3430749952,3430750207,CA
3430750208,3430767615,US
-3430767616,3430768383,CA
-3430768384,3430768895,US
+3430767616,3430768127,CA
+3430768128,3430768895,US
3430768896,3430769151,CA
3430769152,3430769407,US
3430769408,3430769663,CA
@@ -122917,13 +141465,9 @@
3430780672,3430780927,CA
3430780928,3430782463,US
3430782464,3430782719,CA
-3430782720,3430793983,US
-3430793984,3430794239,PR
-3430794240,3430795007,US
+3430782720,3430795007,US
3430795008,3430795263,CA
-3430795264,3430797823,US
-3430797824,3430798079,CA
-3430798080,3430805759,US
+3430795264,3430805759,US
3430805760,3430806015,CA
3430806016,3430807295,US
3430807296,3430807551,CA
@@ -122961,7 +141505,20 @@
3431642624,3431657471,CA
3431657472,3431658495,US
3431658496,3431661311,CA
-3431661312,3431745023,US
+3431661312,3431731199,US
+3431731200,3431731207,ES
+3431731208,3431731211,CO
+3431731212,3431731215,US
+3431731216,3431731231,CO
+3431731232,3431731247,US
+3431731248,3431731263,CO
+3431731264,3431732755,US
+3431732756,3431732759,BE
+3431732760,3431732803,US
+3431732804,3431732807,RO
+3431732808,3431732895,US
+3431732896,3431732927,RO
+3431732928,3431745023,US
3431745024,3431745279,BE
3431745280,3431745791,US
3431745792,3431746047,GB
@@ -122971,11 +141528,14 @@
3431747072,3431747327,LU
3431747328,3431748607,US
3431748608,3431749119,FR
-3431749120,3431752703,IT
+3431749120,3431751423,US
+3431751424,3431752703,IT
3431752704,3431753215,US
3431753216,3431753471,SG
-3431753472,3431755007,CA
-3431755008,3431759615,NL
+3431753472,3431753727,US
+3431753728,3431755007,CA
+3431755008,3431755775,NL
+3431755776,3431759615,CA
3431759616,3431759871,DE
3431759872,3431783431,US
3431783432,3431783435,NL
@@ -123059,7 +141619,9 @@
3434133760,3434133791,IL
3434133792,3434134015,US
3434134016,3434134079,CA
-3434134080,3434423295,US
+3434134080,3434299391,US
+3434299392,3434303487,VE
+3434303488,3434423295,US
3434423296,3434423303,CA
3434423304,3434427391,US
3434427392,3434428415,HR
@@ -123076,12 +141638,42 @@
3434584064,3434807551,US
3434807552,3434810111,CA
3434810112,3434810367,US
-3434810368,3434831359,CA
+3434810368,3434810670,CA
+3434810671,3434810673,US
+3434810674,3434810879,CA
+3434810880,3434810895,GB
+3434810896,3434810911,US
+3434810912,3434810943,CA
+3434810944,3434810959,US
+3434810960,3434810975,AE
+3434810976,3434811007,CA
+3434811008,3434811023,US
+3434811024,3434811039,ZA
+3434811040,3434811071,US
+3434811072,3434811135,CA
+3434811136,3434811151,US
+3434811152,3434811167,CA
+3434811168,3434811199,US
+3434811200,3434811215,AU
+3434811216,3434811311,US
+3434811312,3434811327,GB
+3434811328,3434811359,US
+3434811360,3434811375,CA
+3434811376,3434811383,US
+3434811384,3434831359,CA
3434831360,3434831615,US
3434831616,3434872575,CA
3434872576,3434907647,US
-3434907648,3434909695,PA
-3434909696,3434913791,US
+3434907648,3434908063,PA
+3434908064,3434908079,US
+3434908080,3434908511,PA
+3434908512,3434908527,US
+3434908528,3434908767,PA
+3434908768,3434908783,US
+3434908784,3434909327,PA
+3434909328,3434909343,US
+3434909344,3434909679,PA
+3434909680,3434913791,US
3434913792,3434914047,AG
3434914048,3434914303,DM
3434914304,3434914559,VG
@@ -123139,9 +141731,7 @@
3437281280,3437281535,CA
3437281536,3437292799,US
3437292800,3437293055,CA
-3437293056,3437296639,US
-3437296640,3437296895,CA
-3437296896,3437297919,US
+3437293056,3437297919,US
3437297920,3437307391,CA
3437307392,3437307903,US
3437307904,3437310975,CA
@@ -123193,8 +141783,7 @@
3437708032,3437708287,US
3437708288,3437708799,FI
3437708800,3437709311,CA
-3437709312,3437709823,FR
-3437709824,3437710079,US
+3437709312,3437710079,US
3437710080,3437710335,GB
3437710336,3437712639,US
3437712640,3437713663,GB
@@ -123315,9 +141904,7 @@
3437800216,3437800223,CN
3437800224,3437800231,US
3437800232,3437800239,CA
-3437800240,3437800767,US
-3437800768,3437800783,CA
-3437800784,3437800831,US
+3437800240,3437800831,US
3437800832,3437800847,PH
3437800848,3437800959,US
3437800960,3437800975,FR
@@ -123344,9 +141931,7 @@
3437802880,3437802887,GB
3437802888,3437803055,US
3437803056,3437803071,EC
-3437803072,3437803319,US
-3437803320,3437803327,CA
-3437803328,3437803383,US
+3437803072,3437803383,US
3437803384,3437803391,BR
3437803392,3437803535,US
3437803536,3437803543,GB
@@ -123454,7 +142039,9 @@
3438545424,3438545431,US
3438545432,3438545471,CA
3438545472,3438545479,US
-3438545480,3438550071,CA
+3438545480,3438546175,CA
+3438546176,3438546183,US
+3438546184,3438550071,CA
3438550072,3438550079,US
3438550080,3438550447,CA
3438550448,3438550463,US
@@ -123509,9 +142096,7 @@
3448173440,3448173567,CA
3448173568,3448173647,US
3448173648,3448173655,CA
-3448173656,3448173695,US
-3448173696,3448173823,CA
-3448173824,3448173855,US
+3448173656,3448173855,US
3448173856,3448173863,CA
3448173864,3448173919,US
3448173920,3448173935,UY
@@ -123626,7 +142211,9 @@
3448546432,3448546455,AU
3448546456,3448547583,US
3448547584,3448547599,SG
-3448547600,3448556671,US
+3448547600,3448547615,US
+3448547616,3448547639,SG
+3448547640,3448556671,US
3448556672,3448556735,GB
3448556736,3448556799,US
3448556800,3448556815,GB
@@ -123640,7 +142227,10 @@
3448569056,3448569087,MX
3448569088,3448569735,US
3448569736,3448569743,GB
-3448569744,3449001245,US
+3448569744,3448983807,US
+3448983808,3448983871,GB
+3448983872,3448985599,US
+3448987648,3449001245,US
3449001246,3449001246,MC
3449001247,3449159679,US
3449159680,3449160703,CA
@@ -123672,10 +142262,10 @@
3449178624,3449179967,CA
3449179968,3449180031,US
3449180032,3449180095,CA
-3449180096,3449180671,US
-3449180672,3449181951,CA
-3449181952,3449181983,US
-3449181984,3449181999,CA
+3449180096,3449180927,US
+3449180928,3449181951,CA
+3449181952,3449181967,US
+3449181968,3449181999,CA
3449182000,3449182015,US
3449182016,3449182031,CA
3449182032,3449182047,US
@@ -123685,7 +142275,9 @@
3449182096,3449182111,US
3449182112,3449182159,CA
3449182160,3449182207,US
-3449182208,3449186303,CA
+3449182208,3449182975,CA
+3449182976,3449183231,US
+3449183232,3449186303,CA
3449186304,3449186559,US
3449186560,3449186815,CA
3449186816,3449187071,US
@@ -123693,9 +142285,13 @@
3449187648,3449187711,US
3449187712,3449188159,CA
3449188160,3449188223,US
-3449188224,3449188831,CA
+3449188224,3449188671,CA
+3449188672,3449188703,US
+3449188704,3449188831,CA
3449188832,3449188863,US
-3449188864,3449189599,CA
+3449188864,3449189471,CA
+3449189472,3449189503,US
+3449189504,3449189599,CA
3449189600,3449189631,US
3449189632,3449189647,CA
3449189648,3449189663,US
@@ -123724,14 +142320,16 @@
3449191744,3449195775,CA
3449195776,3449196031,US
3449196032,3449196287,CA
-3449196288,3449198687,US
-3449198688,3449198783,CA
+3449196288,3449198719,US
+3449198720,3449198783,CA
3449198784,3449198879,US
3449198880,3449199103,CA
3449199104,3449199647,US
3449199648,3449199695,CA
3449199696,3449199711,US
-3449199712,3449199871,CA
+3449199712,3449199823,CA
+3449199824,3449199839,US
+3449199840,3449199871,CA
3449199872,3449202767,US
3449202768,3449202847,CA
3449202848,3449202863,US
@@ -123749,7 +142347,9 @@
3449203120,3449203127,US
3449203128,3449203263,CA
3449203264,3449203295,US
-3449203296,3449203527,CA
+3449203296,3449203479,CA
+3449203480,3449203487,US
+3449203488,3449203527,CA
3449203528,3449203543,US
3449203544,3449203599,CA
3449203600,3449203607,US
@@ -123759,8 +142359,10 @@
3449203656,3449203663,US
3449203664,3449203687,CA
3449203688,3449203695,US
-3449203696,3449203775,CA
-3449203776,3449203903,US
+3449203696,3449203711,CA
+3449203712,3449203775,US
+3449203776,3449203839,GB
+3449203840,3449203903,US
3449203904,3449203967,CA
3449203968,3449204031,US
3449204032,3449204479,CA
@@ -123771,13 +142373,17 @@
3449206336,3449206367,US
3449206368,3449206591,CA
3449206592,3449206655,US
-3449206656,3449207007,CA
+3449206656,3449206879,CA
+3449206880,3449206911,US
+3449206912,3449207007,CA
3449207008,3449208575,US
3449208576,3449208767,CA
3449208768,3449208831,US
3449208832,3449208879,CA
3449208880,3449208895,US
-3449208896,3449208975,CA
+3449208896,3449208927,CA
+3449208928,3449208943,US
+3449208944,3449208975,CA
3449208976,3449209007,US
3449209008,3449209023,CA
3449209024,3449209039,US
@@ -123785,7 +142391,9 @@
3449209600,3449209855,US
3449209856,3449209983,CA
3449209984,3449210015,US
-3449210016,3449212415,CA
+3449210016,3449210111,CA
+3449210112,3449210367,US
+3449210368,3449212415,CA
3449212416,3449212671,US
3449212672,3449212927,CA
3449212928,3449213183,US
@@ -123793,7 +142401,8 @@
3449213696,3449213951,US
3449213952,3449214079,CA
3449214080,3449214143,US
-3449214144,3449214583,CA
+3449214144,3449214575,CA
+3449214576,3449214583,US
3449214584,3449214591,SE
3449214592,3449214623,CA
3449214624,3449214647,US
@@ -123808,11 +142417,34 @@
3449220352,3449221375,CA
3449221376,3449222655,US
3449222656,3449224959,CA
-3449224960,3449225215,US
-3449225216,3449290751,CA
+3449224960,3449225471,US
+3449225472,3449290751,CA
3449290752,3449598207,US
3449598208,3449598463,GB
-3449598464,3449769727,US
+3449598464,3449638911,US
+3449638912,3449639359,GB
+3449639360,3449639361,US
+3449639362,3449639362,BE
+3449639363,3449639363,CH
+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,PL
+3449639373,3449639373,RO
+3449639374,3449639423,US
+3449639424,3449639679,GB
+3449639680,3449639935,US
+3449639936,3449640191,GB
+3449640192,3449640447,NL
+3449640448,3449640959,GB
+3449640960,3449641215,NL
+3449641216,3449641471,GB
+3449641472,3449769727,US
3449769728,3449769983,ZA
3449769984,3449823231,US
3449823232,3449824255,CO
@@ -123826,22 +142458,41 @@
3449910720,3449910783,CA
3449910784,3449923583,US
3449923584,3449923839,ES
-3449923840,3449974783,US
+3449923840,3449960127,US
+3449960128,3449960159,CA
+3449960160,3449974783,US
3449974784,3449976831,CA
3449976832,3449980159,US
3449980160,3449980415,AN
3449980416,3449994239,US
3449994240,3449994495,MX
-3449994496,3450217215,US
+3449994496,3450213887,US
+3450213888,3450214143,CA
+3450214144,3450217215,US
3450217216,3450217471,LC
-3450217472,3450272511,US
+3450217472,3450254079,US
+3450254080,3450254335,CA
+3450254336,3450272511,US
3450272512,3450272767,MX
3450272768,3450345231,US
3450345232,3450345247,FR
3450345248,3450345263,IT
-3450345264,3450345439,US
+3450345264,3450345279,US
+3450345280,3450345311,NE
+3450345312,3450345327,GE
+3450345328,3450345343,DE
+3450345344,3450345391,US
+3450345392,3450345399,BG
+3450345400,3450345407,GE
+3450345408,3450345439,US
3450345440,3450345471,GE
-3450345472,3450731519,US
+3450345472,3450612479,US
+3450612480,3450612735,CA
+3450612736,3450685183,US
+3450685184,3450685439,CA
+3450685440,3450699007,US
+3450699008,3450699263,CA
+3450699776,3450731519,US
3450731520,3450732543,CA
3450732544,3450773503,US
3450773504,3450774783,CA
@@ -123864,20 +142515,33 @@
3451236608,3451371519,US
3451371520,3451371775,GB
3451371776,3451482111,US
-3451482112,3451486207,CA
+3451482112,3451482439,CA
+3451482440,3451482447,AR
+3451482448,3451486207,CA
3451486208,3451506687,US
3451506688,3451507711,BR
-3451507712,3451715583,US
-3451715584,3451737343,CA
+3451507712,3451715839,US
+3451715840,3451724543,CA
+3451724544,3451724799,US
+3451725312,3451725567,US
+3451725568,3451737343,CA
3451737344,3451737599,US
-3451737600,3451744255,CA
+3451737600,3451740927,CA
+3451740928,3451741183,US
+3451741184,3451741695,CA
+3451741696,3451742207,US
+3451742208,3451744255,CA
3451744256,3451745535,US
-3451745536,3451781119,CA
-3451781120,3451783935,US
+3451745536,3451766783,CA
+3451766784,3451767295,US
+3451767296,3451767551,CA
+3451767552,3451767807,US
+3451767808,3451780863,CA
+3451780864,3451783935,US
3451783936,3451784191,CA
3451784192,3451786751,US
-3451786752,3451787263,CA
-3451787264,3451788031,US
+3451786752,3451787007,CA
+3451787008,3451788031,US
3451788032,3451788287,CA
3451788288,3451798783,US
3451798784,3451799039,CA
@@ -123893,11 +142557,7 @@
3451821568,3451821823,PR
3451821824,3451824127,US
3451824128,3451824383,CA
-3451824384,3451827455,US
-3451827456,3451827711,PR
-3451827712,3451828479,US
-3451828480,3451828735,CA
-3451828736,3451828991,US
+3451824384,3451828991,US
3451828992,3451829247,CA
3451829248,3451835903,US
3451835904,3451836159,CA
@@ -123915,18 +142575,62 @@
3451896320,3451896575,DE
3451896576,3451912191,US
3451912192,3452174335,CA
-3452174336,3452178719,US
-3452178720,3452178751,CA
-3452178752,3452179391,US
-3452179392,3452179399,CA
-3452179400,3452179940,US
-3452179941,3452179941,CA
-3452179942,3452436479,US
+3452174336,3452436479,US
3452436480,3452502015,CA
3452502016,3452678143,US
3452678144,3452682239,BE
-3452682240,3452715007,US
-3452715008,3452723199,CA
+3452682240,3452715015,US
+3452715016,3452715055,CA
+3452715056,3452715063,CH
+3452715064,3452715087,CA
+3452715088,3452715095,CN
+3452715096,3452715199,CA
+3452715200,3452715207,RU
+3452715208,3452715247,CA
+3452715248,3452715255,US
+3452715256,3452715263,RU
+3452715264,3452715327,CA
+3452715328,3452715391,US
+3452715392,3452715663,CA
+3452715664,3452715671,US
+3452715672,3452715679,CA
+3452715680,3452715695,SK
+3452715696,3452715775,CA
+3452715776,3452715903,US
+3452715904,3452716127,CA
+3452716128,3452716159,US
+3452716160,3452716255,CA
+3452716256,3452716271,LB
+3452716272,3452716343,CA
+3452716344,3452716351,US
+3452716352,3452716463,CA
+3452716464,3452716479,US
+3452716480,3452716487,CA
+3452716488,3452716495,BD
+3452716496,3452716503,MA
+3452716504,3452717087,CA
+3452717088,3452717119,US
+3452717120,3452717311,CA
+3452717312,3452717567,US
+3452717568,3452717847,CA
+3452717848,3452717855,US
+3452717856,3452717871,CA
+3452717872,3452717879,MA
+3452717880,3452717895,US
+3452717896,3452717903,CA
+3452717904,3452717911,MA
+3452717912,3452717919,CA
+3452717920,3452717927,US
+3452717928,3452717967,CA
+3452717968,3452717975,SN
+3452717976,3452717983,BD
+3452717984,3452720383,CA
+3452720384,3452720639,US
+3452720640,3452720959,CA
+3452720960,3452721151,US
+3452721152,3452721919,CA
+3452721920,3452721983,US
+3452721984,3452723199,CA
3452723200,3452764159,US
3452764160,3452764439,CA
3452764440,3452764447,US
@@ -123970,15 +142674,30 @@
3452818640,3452818647,US
3452818648,3452824575,CA
3452824576,3452824607,US
-3452824608,3452914175,CA
+3452824608,3452895231,CA
+3452895232,3452895487,US
+3452895488,3452902399,CA
+3452902400,3452902655,US
+3452902656,3452914175,CA
3452914176,3452914431,US
-3452914432,3452920831,CA
+3452914432,3452919551,CA
+3452919552,3452919807,US
+3452919808,3452920831,CA
3452920832,3452922879,US
-3452923392,3452934911,CA
+3452923392,3452931327,CA
+3452931328,3452931583,US
+3452931584,3452934911,CA
3452934912,3452936191,US
-3452936192,3452960767,CA
-3452960768,3453026303,US
-3453026304,3453028607,CA
+3452936192,3452942847,CA
+3452942848,3452943103,US
+3452943104,3452953087,CA
+3452953088,3452953343,US
+3452953344,3452960511,CA
+3452960512,3453026559,US
+3453026560,3453028095,CA
+3453028096,3453028351,US
+3453028352,3453028607,CA
+3453028608,3453028863,US
3453029376,3453039167,US
3453039168,3453039183,AU
3453039184,3453039199,US
@@ -123987,16 +142706,32 @@
3453039624,3453039631,AU
3453039632,3453039919,US
3453039920,3453039935,AU
-3453039936,3453091839,US
-3453091840,3453101055,CA
+3453039936,3453092095,US
+3453092096,3453101055,CA
3453101056,3453101311,US
-3453101312,3453139455,CA
+3453101312,3453123839,CA
+3453123840,3453124095,US
+3453124096,3453128959,CA
+3453128960,3453129215,US
+3453129216,3453129983,CA
+3453129984,3453130239,US
+3453130240,3453139455,CA
3453139968,3453140991,US
3453140992,3453149183,CA
3453149184,3453149439,US
-3453149440,3453159423,CA
+3453149440,3453151743,CA
+3453151744,3453151999,US
+3453152000,3453155327,CA
+3453155328,3453155583,US
+3453155584,3453157119,CA
+3453157120,3453157631,US
+3453157632,3453159423,CA
3453159424,3453159935,BM
-3453159936,3453206527,CA
+3453159936,3453180671,CA
+3453180672,3453180927,US
+3453180928,3453195263,CA
+3453195264,3453195519,US
+3453195520,3453206527,CA
3453206528,3453207551,HN
3453207552,3453207807,NI
3453207808,3453208575,HN
@@ -124026,9 +142761,7 @@
3453371192,3453371199,CA
3453371200,3453371215,US
3453371216,3453371223,MY
-3453371224,3453371463,US
-3453371464,3453371471,CZ
-3453371472,3453371639,US
+3453371224,3453371639,US
3453371640,3453371663,CA
3453371664,3453371671,US
3453371672,3453371679,CA
@@ -124046,13 +142779,7 @@
3453372064,3453372183,US
3453372184,3453372191,JP
3453372192,3453372199,CH
-3453372200,3453372231,US
-3453372232,3453372247,CA
-3453372248,3453372263,US
-3453372264,3453372271,PT
-3453372272,3453372287,US
-3453372288,3453372327,CA
-3453372328,3453372415,US
+3453372200,3453372415,US
3453372416,3453372439,UA
3453372440,3453372535,US
3453372536,3453372543,HK
@@ -124072,30 +142799,11 @@
3453373008,3453373023,IN
3453373024,3453373095,US
3453373096,3453373127,SA
-3453373128,3453373135,US
-3453373136,3453373143,PH
-3453373144,3453373239,US
-3453373240,3453373271,CA
-3453373272,3453374519,US
-3453374520,3453374527,AT
-3453374528,3453374551,US
-3453374552,3453374559,CA
-3453374560,3453374567,US
-3453374568,3453374583,PH
+3453373128,3453374583,US
3453374584,3453374591,CY
-3453374592,3453374639,US
-3453374640,3453374647,CA
-3453374648,3453374791,US
-3453374792,3453374807,PH
-3453374808,3453374815,US
-3453374816,3453374823,CA
-3453374824,3453374871,US
+3453374592,3453374871,US
3453374872,3453374879,UA
-3453374880,3453374927,US
-3453374928,3453374935,GB
-3453374936,3453374983,US
-3453374984,3453374999,GB
-3453375000,3453375023,US
+3453374880,3453375023,US
3453375024,3453375047,SA
3453375048,3453375095,US
3453375096,3453375135,SA
@@ -124103,8 +142811,8 @@
3453375144,3453375167,US
3453375168,3453375191,SA
3453375192,3453375215,US
-3453375216,3453375239,GB
-3453375240,3453375255,US
+3453375216,3453375231,GB
+3453375232,3453375255,US
3453375256,3453375263,IN
3453375264,3453375279,GB
3453375280,3453375319,TK
@@ -124114,34 +142822,18 @@
3453375384,3453375407,SA
3453375408,3453375415,GB
3453375416,3453375447,FR
-3453375448,3453375487,AU
-3453375488,3453375551,US
-3453375552,3453375559,NZ
-3453375560,3453375575,US
+3453375448,3453375575,US
3453375576,3453375583,RU
-3453375584,3453375591,US
-3453375592,3453375599,NZ
-3453375600,3453375639,US
-3453375640,3453375647,NZ
-3453375648,3453375783,US
-3453375784,3453375791,NZ
-3453375792,3453375807,US
+3453375584,3453375807,US
3453375808,3453375887,SA
3453375888,3453375999,US
3453376000,3453376255,CA
-3453376256,3453376535,US
-3453376536,3453376543,GB
-3453376544,3453376719,US
+3453376256,3453376719,US
3453376720,3453376727,GB
3453376728,3453376743,US
3453376744,3453376751,GB
3453376752,3453376759,UA
-3453376760,3453376783,US
-3453376784,3453376791,GB
-3453376792,3453376823,US
-3453376824,3453376831,AU
-3453376832,3453376839,SA
-3453376840,3453376847,US
+3453376760,3453376847,US
3453376848,3453376887,KW
3453376888,3453376919,US
3453376920,3453376927,GB
@@ -124149,37 +142841,23 @@
3453376952,3453376959,GB
3453376960,3453376975,US
3453376976,3453376983,SA
-3453376984,3453377031,US
-3453377032,3453377039,CA
-3453377040,3453377159,US
+3453376984,3453377159,US
3453377160,3453377167,GB
-3453377168,3453377183,US
-3453377184,3453377191,AU
-3453377192,3453377319,US
+3453377168,3453377319,US
3453377320,3453377327,GB
-3453377328,3453377607,US
-3453377608,3453377615,SA
-3453377616,3453377671,US
-3453377672,3453377679,NL
-3453377680,3453377815,US
-3453377816,3453377823,HN
-3453377824,3453377887,US
-3453377888,3453377903,CA
+3453377328,3453377895,US
+3453377896,3453377903,CA
3453377904,3453377999,US
3453378000,3453378007,SA
3453378008,3453378015,US
-3453378016,3453378031,GB
-3453378032,3453378047,US
-3453378048,3453378055,GB
-3453378056,3453378143,US
+3453378016,3453378023,GB
+3453378024,3453378143,US
3453378144,3453378151,SA
3453378152,3453378271,US
3453378272,3453378279,DK
3453378280,3453378503,US
3453378504,3453378511,BE
-3453378512,3453378519,CA
-3453378520,3453378535,GB
-3453378536,3453403135,US
+3453378512,3453403135,US
3453403136,3453405951,BB
3453405952,3453406207,KN
3453406208,3453406463,TC
@@ -124214,9 +142892,7 @@
3453553920,3453553983,GB
3453553984,3453554063,US
3453554064,3453554095,GB
-3453554096,3453554159,US
-3453554160,3453554175,GB
-3453554176,3453554207,US
+3453554096,3453554207,US
3453554208,3453554215,GB
3453554216,3453554239,US
3453554240,3453554255,GB
@@ -124228,7 +142904,13 @@
3453555712,3453555767,GB
3453555768,3453583615,US
3453583616,3453583695,SG
-3453583696,3453599999,US
+3453583696,3453595527,US
+3453595528,3453595551,CA
+3453595552,3453595583,US
+3453595584,3453595623,CA
+3453595624,3453595775,US
+3453595776,3453595807,CA
+3453595808,3453599999,US
3453600000,3453600767,GB
3453600768,3453601863,US
3453601864,3453601871,GB
@@ -124251,7 +142933,9 @@
3453615104,3453615359,AG
3453615360,3453615615,KN
3453615616,3453616127,AG
-3453616128,3454003013,US
+3453616128,3453681943,US
+3453681944,3453681951,IN
+3453681952,3454003013,US
3454003014,3454003014,ES
3454003015,3454004997,US
3454004998,3454004998,GB
@@ -124261,25 +142945,34 @@
3454497792,3454498815,MX
3454498816,3454563623,US
3454563624,3454563631,NC
-3454563632,3454599167,US
-3454599168,3454601215,CA
+3454563632,3454599423,US
+3454599424,3454601215,CA
3454601216,3454602239,US
-3454603008,3454604799,CA
+3454602752,3454603007,US
+3454603008,3454603519,CA
+3454603520,3454604031,US
+3454604032,3454604799,CA
3454604800,3454607359,US
3454607360,3454608127,CA
3454608128,3454608383,US
-3454608384,3454609407,CA
-3454609408,3454611455,US
-3454611456,3454618623,CA
-3454618624,3454619647,US
-3454619648,3454635007,CA
-3454635008,3454636031,US
+3454608384,3454609151,CA
+3454609152,3454611455,US
+3454611456,3454617343,CA
+3454617344,3454617599,US
+3454617600,3454617855,CA
+3454617856,3454618111,US
+3454618112,3454618367,CA
+3454618368,3454619647,US
+3454619648,3454634751,CA
+3454634752,3454636031,US
3454636032,3454636799,CA
3454636800,3454637055,US
-3454637056,3454661631,CA
+3454637056,3454652159,CA
+3454652160,3454652415,US
+3454652416,3454661631,CA
3454661632,3454662655,US
-3454662656,3454664703,CA
-3454664704,3454672895,US
+3454662656,3454664447,CA
+3454664448,3454672895,US
3454672896,3454681087,CA
3454681088,3454698823,US
3454698824,3454698839,CA
@@ -124291,9 +142984,22 @@
3454703256,3454703263,CA
3454703264,3454703647,US
3454703648,3454703663,CA
-3454703664,3454705151,US
+3454703664,3454703951,US
+3454703952,3454703959,AF
+3454703960,3454704047,US
+3454704048,3454704055,CA
+3454704056,3454704063,US
+3454704064,3454704079,CA
+3454704080,3454704087,AE
+3454704088,3454704103,US
+3454704104,3454704111,GB
+3454704112,3454705151,US
3454705152,3454705215,GB
-3454705216,3454708927,US
+3454705216,3454705439,US
+3454705440,3454705447,GB
+3454705448,3454705511,US
+3454705512,3454705519,CA
+3454705520,3454708927,US
3454708928,3454708991,IN
3454708992,3454710551,US
3454710552,3454710559,SO
@@ -124301,7 +143007,9 @@
3454710672,3454710679,IN
3454710680,3454711487,US
3454711488,3454711519,HK
-3454711520,3454717551,US
+3454711520,3454716735,US
+3454716736,3454716743,CR
+3454716744,3454717551,US
3454717552,3454717559,CA
3454717560,3454718623,US
3454718624,3454718655,HK
@@ -124314,22 +143022,32 @@
3454721184,3454721191,EG
3454721192,3454725759,US
3454725760,3454725767,DE
-3454725768,3454726631,US
-3454726632,3454726639,NL
-3454726640,3454727799,US
+3454725768,3454727799,US
3454727800,3454727807,CA
3454727808,3454730239,US
3454730240,3454732287,EC
-3454732288,3454795775,US
-3454795776,3454808831,CA
+3454732288,3454796031,US
+3454796032,3454808831,CA
3454808832,3454809087,US
-3454809088,3454814975,CA
+3454809088,3454810111,CA
+3454810112,3454810367,US
+3454810368,3454814975,CA
3454814976,3454815231,US
3454815232,3454815743,CA
-3454816256,3454883839,CA
+3454816256,3454816511,CA
+3454816512,3454816767,US
+3454816768,3454828287,CA
+3454828288,3454828543,US
+3454828544,3454861055,CA
+3454861056,3454861567,US
+3454861568,3454867711,CA
+3454867712,3454867967,US
+3454867968,3454881535,CA
+3454881536,3454881791,US
+3454881792,3454883839,CA
3454883840,3454914559,US
-3454914560,3454926847,CA
-3454926848,3455096831,US
+3454914560,3454926591,CA
+3454926592,3455096831,US
3455096832,3455097855,EC
3455097856,3455109119,US
3455109120,3455111167,HN
@@ -124354,9 +143072,7 @@
3455333888,3455334399,NL
3455334400,3455359231,US
3455359232,3455359487,ES
-3455359488,3455360671,US
-3455360672,3455360687,PR
-3455360688,3455418367,US
+3455359488,3455418367,US
3455418368,3455418879,KY
3455418880,3455421439,US
3455421440,3455421951,BE
@@ -124373,16 +143089,13 @@
3455588864,3455589119,FR
3455589120,3455589375,US
3455589376,3455589631,BE
-3455589632,3455591679,US
-3455591680,3455591935,NL
-3455591936,3455592191,US
+3455589632,3455592191,US
3455592192,3455592447,IE
3455592448,3455592703,KR
3455592704,3455594239,US
3455594240,3455594495,DE
3455594496,3455594751,TW
-3455594752,3455595007,DE
-3455595008,3455595519,US
+3455594752,3455595519,US
3455595520,3455595775,KR
3455595776,3455596031,FR
3455596032,3455596543,CH
@@ -124401,9 +143114,7 @@
3455601408,3455601919,GB
3455601920,3455602175,US
3455602176,3455602687,GB
-3455602688,3455615487,US
-3455615488,3455616255,JP
-3455616256,3455616511,US
+3455602688,3455616511,US
3455616512,3455616767,CA
3455616768,3455617279,US
3455617280,3455619071,GB
@@ -124551,8 +143262,7 @@
3458823790,3458823813,IL
3458823814,3458823846,US
3458823847,3458823862,GB
-3458823863,3458823871,US
-3458823872,3458823903,ID
+3458823863,3458823903,US
3458823904,3458823919,JP
3458823920,3458823935,US
3458823936,3458823967,CA
@@ -124656,7 +143366,9 @@
3459345920,3459346431,US
3459346432,3459346687,LK
3459346688,3459346943,US
-3459346944,3459348223,PR
+3459346944,3459347455,PR
+3459347456,3459347711,US
+3459347712,3459348223,PR
3459348224,3459348479,AG
3459348480,3459348735,CO
3459348736,3459348991,BW
@@ -124730,9 +143442,7 @@
3460108896,3460108903,FI
3460108904,3460111871,US
3460111872,3460111887,CA
-3460111888,3460113039,US
-3460113040,3460113047,PR
-3460113048,3460114431,US
+3460111888,3460114431,US
3460114432,3460116479,SR
3460116480,3460161535,US
3460161536,3460165631,PR
@@ -124742,11 +143452,9 @@
3460453632,3460453887,BS
3460453888,3460507647,US
3460507648,3460507903,MX
-3460507904,3460800511,US
-3460800512,3460808703,A1
-3460808704,3460854439,US
-3460854440,3460854447,CA
-3460854448,3460854831,US
+3460507904,3460785151,US
+3460785152,3460785919,CA
+3460785920,3460854831,US
3460854832,3460854847,VE
3460854848,3460854911,US
3460854912,3460854943,GB
@@ -124754,8 +143462,7 @@
3460855016,3460855031,AU
3460855032,3460855195,US
3460855196,3460855199,AU
-3460855200,3460855247,US
-3460855248,3460855255,AU
+3460855200,3460855255,US
3460855256,3460855263,VE
3460855264,3460855271,US
3460855272,3460855279,GB
@@ -124764,9 +143471,7 @@
3460855312,3460855319,NL
3460855320,3460855463,US
3460855464,3460855471,SA
-3460855472,3460855495,US
-3460855496,3460855503,CA
-3460855504,3460855535,US
+3460855472,3460855535,US
3460855536,3460855543,MX
3460855544,3460855551,AU
3460855552,3460855631,US
@@ -124818,9 +143523,7 @@
3460857376,3460857383,GB
3460857384,3460857431,US
3460857432,3460857439,VE
-3460857440,3460857463,US
-3460857464,3460857471,GB
-3460857472,3460857599,US
+3460857440,3460857599,US
3460857600,3460857855,AU
3460857856,3460891135,US
3460891136,3460891199,CL
@@ -125076,8 +143779,7 @@
3460945920,3460946687,US
3460946688,3460946943,DE
3460946944,3460946975,CH
-3460946976,3460947199,US
-3460947200,3460947455,BE
+3460946976,3460947455,US
3460947456,3460947711,DE
3460947712,3460947967,SE
3460947968,3460948095,US
@@ -125201,9 +143903,7 @@
3461514752,3461516287,CA
3461516288,3461516543,IL
3461516544,3461517055,CA
-3461517056,3461532607,US
-3461532608,3461532623,CA
-3461532624,3461554175,US
+3461517056,3461554175,US
3461554176,3461556223,CA
3461558272,3461597887,US
3461597888,3461597951,CO
@@ -125235,21 +143935,15 @@
3461972224,3461972479,CA
3461972480,3461977855,US
3461977856,3461978111,CA
-3461978112,3461984767,US
-3461984768,3461985023,CA
-3461985024,3461992703,US
+3461978112,3461992703,US
3461992704,3461992959,CA
-3461992960,3461999871,US
-3461999872,3462000127,PR
-3462000128,3462000895,US
+3461992960,3462000895,US
3462000896,3462001151,CA
3462001152,3462001919,US
3462001920,3462002431,CA
3462002432,3462148607,US
3462148608,3462148863,CA
-3462148864,3462160895,US
-3462160896,3462161151,PR
-3462161152,3462163967,US
+3462148864,3462163967,US
3462163968,3462164223,CA
3462164224,3462168319,US
3462168320,3462168575,CA
@@ -125266,10 +143960,8 @@
3462174720,3462179839,US
3462179840,3462180095,CA
3462180096,3462181375,US
-3462181376,3462182143,CA
-3462182144,3462191871,US
-3462191872,3462192127,PR
-3462192128,3462194175,US
+3462181376,3462181887,CA
+3462181888,3462194175,US
3462194176,3462194431,CA
3462194432,3462231039,US
3462231040,3462231295,CA
@@ -125277,9 +143969,7 @@
3462231808,3462232063,CA
3462232064,3462268415,US
3462268416,3462268671,CA
-3462268672,3462276863,US
-3462276864,3462277119,CA
-3462277120,3462290175,US
+3462268672,3462290175,US
3462290176,3462290431,CA
3462290432,3462314239,US
3462314240,3462314495,CA
@@ -125295,11 +143985,7 @@
3462340608,3462340863,CA
3462340864,3462350847,US
3462350848,3462351103,CA
-3462351104,3462571095,US
-3462571096,3462571103,CA
-3462571104,3462571663,US
-3462571664,3462571671,CA
-3462571672,3462593791,US
+3462351104,3462593791,US
3462593792,3462594559,GN
3462594560,3462633471,US
3462633472,3462633727,SG
@@ -125343,8 +144029,8 @@
3463215104,3463229327,CA
3463229328,3463229335,US
3463229336,3463243775,CA
-3463243776,3463244799,US
-3463244800,3463249919,CA
+3463243776,3463245055,US
+3463245056,3463249919,CA
3463249920,3463480063,US
3463480064,3463480319,CA
3463480320,3463502335,US
@@ -125368,30 +144054,25 @@
3464128256,3464129535,US
3464129536,3464130047,DE
3464130048,3464167679,US
-3464167680,3464171775,CA
+3464167680,3464169215,CA
+3464169216,3464169471,US
+3464169472,3464171775,CA
3464171776,3464172031,US
3464172032,3464180735,CA
3464180736,3464184487,US
3464184488,3464184495,GB
3464184496,3464184511,CA
-3464184512,3464185759,US
-3464185760,3464185791,PR
-3464185792,3464190463,US
+3464184512,3464190463,US
3464190464,3464190719,CA
-3464190720,3464191775,US
-3464191776,3464191783,ES
-3464191784,3464191799,US
+3464190720,3464191783,US
+3464191784,3464191791,MY
+3464191792,3464191799,US
3464191800,3464191807,AF
-3464191808,3464191815,US
-3464191816,3464191823,CA
-3464191824,3464191911,US
+3464191808,3464191911,US
3464191912,3464191919,ES
-3464191920,3464191927,SG
-3464191928,3464195543,US
+3464191920,3464195543,US
3464195544,3464195551,IT
-3464195552,3464195887,US
-3464195888,3464195895,PR
-3464195896,3464195943,US
+3464195552,3464195943,US
3464195944,3464195951,AU
3464195952,3464195959,IT
3464195960,3464196151,US
@@ -125412,29 +144093,22 @@
3464341504,3464341759,US
3464341760,3464341775,JP
3464341776,3464341783,AU
-3464341784,3464341807,US
+3464341784,3464341799,US
+3464341800,3464341807,CA
3464341808,3464341815,JP
3464341816,3464341823,US
3464341824,3464341831,PT
-3464341832,3464341871,US
-3464341872,3464341879,VN
-3464341880,3464341895,US
-3464341896,3464341903,GB
-3464341904,3464341927,US
+3464341832,3464341895,US
+3464341896,3464341903,ID
+3464341904,3464341911,US
+3464341912,3464341919,IE
+3464341920,3464341927,US
3464341928,3464341935,CV
-3464341936,3464342543,US
-3464342544,3464342559,SE
-3464342560,3464342567,US
-3464342568,3464342575,PT
-3464342576,3464342703,US
-3464342704,3464342711,JP
-3464342712,3464342879,US
+3464341936,3464342007,US
+3464342008,3464342015,PL
+3464342016,3464342879,US
3464342880,3464342887,GB
-3464342888,3464343215,US
-3464343216,3464343223,CA
-3464343224,3464343239,US
-3464343240,3464343247,MX
-3464343248,3464343271,US
+3464342888,3464343271,US
3464343272,3464343279,CA
3464343280,3464343423,US
3464343424,3464343431,SG
@@ -125442,43 +144116,16 @@
3464384512,3464388607,CA
3464388608,3464394751,US
3464394752,3464396799,VC
-3464396800,3464548367,US
-3464548368,3464548375,AG
-3464548376,3464548391,US
-3464548392,3464548399,AG
-3464548400,3464548415,US
-3464548416,3464548431,AG
-3464548432,3464548479,US
-3464548480,3464548599,AG
-3464548600,3464548607,US
+3464396800,3464548351,US
+3464548352,3464548607,AG
3464548608,3464548863,LC
3464548864,3464549119,KN
3464549120,3464549375,VG
-3464549376,3464549391,US
-3464549392,3464549399,AG
-3464549400,3464549415,US
-3464549416,3464549439,AG
+3464549376,3464549439,AG
3464549440,3464549503,MS
-3464549504,3464549519,AG
-3464549520,3464549551,US
-3464549552,3464549567,AG
-3464549568,3464549639,US
-3464549640,3464549679,AG
-3464549680,3464549687,US
-3464549688,3464549727,AG
+3464549504,3464549727,AG
3464549728,3464549759,KN
-3464549760,3464549855,AG
-3464549856,3464549863,US
-3464549864,3464549871,AG
-3464549872,3464549919,US
-3464549920,3464549927,AG
-3464549928,3464549935,US
-3464549936,3464549943,AG
-3464549944,3464549951,US
-3464549952,3464550015,AG
-3464550016,3464550047,US
-3464550048,3464550127,AG
-3464550128,3464550143,US
+3464549760,3464550143,AG
3464550144,3464550399,LC
3464550400,3464626175,US
3464626432,3464626687,CA
@@ -125488,7 +144135,9 @@
3464631296,3464650751,CA
3464650752,3464664063,US
3464664064,3464691711,CA
-3464691712,3464768607,US
+3464691712,3464766143,US
+3464766144,3464766207,IN
+3464766208,3464768607,US
3464768608,3464768623,IT
3464768624,3464768767,US
3464768768,3464768895,CA
@@ -125531,17 +144180,27 @@
3465468936,3465468943,SG
3465468944,3465469183,US
3465469184,3465469215,GB
-3465469216,3465510911,US
+3465469216,3465469503,US
+3465469504,3465469519,GB
+3465469520,3465510911,US
3465510912,3465543679,JP
3465543680,3465953503,US
3465953504,3465953535,CA
3465953536,3465954175,US
3465954176,3465954303,CA
-3465954304,3465961607,US
+3465954304,3465954495,US
+3465954496,3465954511,CA
+3465954512,3465954559,US
+3465954560,3465954575,CA
+3465954576,3465961607,US
3465961608,3465961615,CA
3465961616,3465961631,US
3465961632,3465961663,CA
-3465961664,3465982991,US
+3465961664,3465961783,US
+3465961784,3465961791,CA
+3465961792,3465961983,US
+3465961984,3465962015,CA
+3465962016,3465982991,US
3465982992,3465983007,GB
3465983008,3465983023,US
3465983024,3465983127,GB
@@ -125557,9 +144216,7 @@
3466044904,3466044911,PH
3466044912,3466067967,US
3466067968,3466068247,CA
-3466068248,3466158079,US
-3466158080,3466166271,PA
-3466166272,3466282111,US
+3466068248,3466282111,US
3466282112,3466282119,GB
3466282120,3466282727,US
3466282728,3466282743,CA
@@ -125569,7 +144226,11 @@
3466286104,3466286111,DE
3466286112,3466290687,US
3466290688,3466290943,CH
-3466290944,3466313727,US
+3466290944,3466294271,US
+3466294272,3466294319,CA
+3466294320,3466295263,US
+3466295264,3466295279,CA
+3466295280,3466313727,US
3466313728,3466317823,CA
3466317824,3466489855,US
3466489856,3466490111,CA
@@ -125581,9 +144242,7 @@
3466560256,3466560511,GH
3466560512,3466627007,US
3466627008,3466627039,PR
-3466627040,3466647039,US
-3466647040,3466647047,PR
-3466647048,3466734847,US
+3466627040,3466734847,US
3466734848,3466735103,RU
3466735104,3466756095,US
3466756096,3466772479,CA
@@ -125749,12 +144408,10 @@
3468066240,3468066271,IE
3468066272,3468066319,US
3468066320,3468066327,FR
-3468066328,3468066367,US
-3468066368,3468066399,FR
-3468066400,3468066463,US
+3468066328,3468066463,US
3468066464,3468066495,SE
3468066496,3468066527,CH
-3468066528,3468066559,FR
+3468066528,3468066559,US
3468066560,3468066623,IT
3468066624,3468067199,US
3468067200,3468067231,CA
@@ -125829,8 +144486,7 @@
3468085376,3468085439,CN
3468085440,3468085503,BR
3468085504,3468085535,JP
-3468085536,3468085551,US
-3468085552,3468085567,PH
+3468085536,3468085567,US
3468085568,3468085599,HK
3468085600,3468085607,US
3468085608,3468085623,HK
@@ -125919,11 +144575,7 @@
3468099584,3468127999,US
3468128000,3468128255,IN
3468128256,3468296191,US
-3468296192,3468309503,CA
-3468309504,3468309759,US
-3468309760,3468320351,CA
-3468320352,3468320383,US
-3468320384,3468361727,CA
+3468296192,3468361727,CA
3468361728,3468427359,US
3468427360,3468427375,IL
3468427376,3468427935,US
@@ -125944,9 +144596,7 @@
3468430496,3468430527,CA
3468430528,3468431999,US
3468432000,3468432063,CA
-3468432064,3468432671,US
-3468432672,3468432687,ES
-3468432688,3468433167,US
+3468432064,3468433167,US
3468433168,3468433183,CA
3468433184,3468433215,US
3468433216,3468433279,SE
@@ -125966,9 +144616,7 @@
3468619264,3468623871,US
3468623872,3468624527,CA
3468624528,3468624543,US
-3468624544,3468624551,CA
-3468624552,3468624559,US
-3468624560,3468625727,CA
+3468624544,3468625727,CA
3468625728,3468625743,US
3468625744,3468627015,CA
3468627016,3468627023,US
@@ -125994,9 +144642,9 @@
3468631680,3468631695,US
3468631696,3468632143,CA
3468632144,3468632159,US
-3468632160,3468632287,CA
-3468632288,3468632295,US
-3468632296,3468632975,CA
+3468632160,3468632735,CA
+3468632736,3468632743,US
+3468632744,3468632975,CA
3468632976,3468632991,US
3468632992,3468633759,CA
3468633760,3468633791,US
@@ -126029,20 +144677,19 @@
3470137344,3470139391,VG
3470139392,3470148095,US
3470148096,3470148351,CA
-3470148352,3470148863,US
-3470148864,3470149119,CA
-3470149120,3470150655,US
-3470150656,3470150911,CA
-3470150912,3470151295,US
+3470148352,3470148607,US
+3470148608,3470149119,CA
+3470149120,3470151295,US
3470151296,3470151359,CA
3470151360,3470151679,US
3470151680,3470152703,CA
3470152704,3470152959,US
3470152960,3470152975,CA
-3470152976,3470184454,US
+3470152976,3470153727,US
+3470153728,3470153983,CA
+3470153984,3470184454,US
3470184455,3470184458,LK
-3470184459,3470184460,RU
-3470184461,3470184476,US
+3470184459,3470184476,US
3470184477,3470184480,CN
3470184481,3470184484,US
3470184485,3470184488,IN
@@ -126111,9 +144758,7 @@
3470184870,3470184873,HK
3470184874,3470184881,US
3470184882,3470184884,AU
-3470184885,3470184885,US
-3470184886,3470184889,CA
-3470184890,3470184905,US
+3470184885,3470184905,US
3470184906,3470184907,SG
3470184908,3470184919,US
3470184920,3470184923,MX
@@ -126121,9 +144766,7 @@
3470184930,3470184933,AU
3470184934,3470184957,US
3470184958,3470184958,LK
-3470184959,3470184969,US
-3470184970,3470184971,RU
-3470184972,3470184975,US
+3470184959,3470184975,US
3470184976,3470184976,MY
3470184977,3470184990,US
3470184991,3470184994,NZ
@@ -126175,8 +144818,7 @@
3470185345,3470185348,EC
3470185349,3470185352,US
3470185353,3470185353,NZ
-3470185354,3470185357,AR
-3470185358,3470185365,US
+3470185354,3470185365,US
3470185366,3470185367,AU
3470185368,3470185371,PH
3470185372,3470185379,US
@@ -126199,9 +144841,7 @@
3470186004,3470186007,MX
3470186008,3470186015,CA
3470186016,3470186019,AU
-3470186020,3470186048,US
-3470186049,3470186052,PY
-3470186053,3470186060,US
+3470186020,3470186060,US
3470186061,3470186064,CN
3470186065,3470186068,AU
3470186069,3470186072,US
@@ -126234,9 +144874,7 @@
3470186518,3470186525,US
3470186526,3470186529,ID
3470186530,3470186537,GB
-3470186538,3470186545,US
-3470186546,3470186549,MY
-3470186550,3470186573,US
+3470186538,3470186573,US
3470186574,3470186577,CH
3470186578,3470186593,US
3470186594,3470186597,CA
@@ -126249,9 +144887,7 @@
3470186622,3470186625,BR
3470186626,3470186637,US
3470186638,3470186641,BR
-3470186642,3470186645,US
-3470186646,3470186649,ES
-3470186650,3470186669,US
+3470186642,3470186669,US
3470186670,3470186673,AU
3470186674,3470186677,US
3470186678,3470186681,CA
@@ -126307,7 +144943,7 @@
3470186964,3470186967,TR
3470186968,3470186989,US
3470186990,3470186993,PE
-3470186994,3470186997,RU
+3470186994,3470186997,US
3470186998,3470187001,GB
3470187002,3470187041,US
3470187042,3470187045,GB
@@ -126354,7 +144990,7 @@
3470187344,3470187356,US
3470187357,3470187360,GB
3470187361,3470187364,BG
-3470187365,3470187368,SA
+3470187365,3470187368,US
3470187369,3470187372,GR
3470187373,3470187380,US
3470187381,3470187384,AR
@@ -126397,14 +145033,13 @@
3470187619,3470187622,IT
3470187623,3470187634,US
3470187635,3470187638,SG
-3470187639,3470187642,US
-3470187643,3470187646,AU
+3470187639,3470187646,US
3470187647,3470187650,IT
3470187651,3470187654,AR
3470187655,3470187666,US
3470187667,3470187670,IN
3470187671,3470187674,RS
-3470187675,3470187678,ES
+3470187675,3470187678,US
3470187679,3470187682,PT
3470187683,3470187686,US
3470187687,3470187690,JP
@@ -126451,37 +145086,28 @@
3470188029,3470188041,US
3470188042,3470188045,TH
3470188046,3470188049,GB
-3470188050,3470188053,CA
-3470188054,3470188057,US
-3470188058,3470188061,GB
-3470188062,3470188069,US
+3470188050,3470188069,US
3470188070,3470188073,NZ
3470188074,3470188095,US
3470188096,3470188099,GB
3470188100,3470188103,US
3470188104,3470188107,CA
-3470188108,3470188111,US
-3470188112,3470188115,CA
-3470188116,3470188131,US
+3470188108,3470188131,US
3470188132,3470188135,AU
3470188136,3470188151,US
3470188152,3470188155,KW
-3470188156,3470188159,US
-3470188160,3470188163,BE
+3470188156,3470188163,US
3470188164,3470188167,ID
3470188168,3470188171,US
3470188172,3470188175,NL
-3470188176,3470188187,US
-3470188188,3470188191,ES
-3470188192,3470188199,US
+3470188176,3470188199,US
3470188200,3470188203,AR
3470188204,3470188207,US
3470188208,3470188211,ES
3470188212,3470188215,TR
3470188216,3470188227,US
3470188228,3470188231,GB
-3470188232,3470188243,US
-3470188244,3470188247,CA
+3470188232,3470188247,US
3470188248,3470188251,BE
3470188252,3470188255,US
3470188256,3470188259,CA
@@ -126490,16 +145116,13 @@
3470188280,3470188283,GR
3470188284,3470188293,US
3470188294,3470188295,RU
-3470188296,3470188299,US
-3470188300,3470188303,ES
-3470188304,3470188347,US
+3470188296,3470188347,US
3470188348,3470188351,HU
3470188352,3470188393,US
3470188394,3470188397,GB
3470188398,3470188405,US
3470188406,3470188409,GR
-3470188410,3470188421,US
-3470188422,3470188425,GB
+3470188410,3470188425,US
3470188426,3470188433,ES
3470188434,3470188437,AR
3470188438,3470188483,US
@@ -126514,8 +145137,8 @@
3470188542,3470192639,US
3470192640,3470196735,CA
3470196736,3470360623,US
-3470360624,3470360639,CA
-3470360640,3470360687,US
+3470360624,3470360631,CA
+3470360632,3470360687,US
3470360688,3470360695,AF
3470360696,3470360799,US
3470360800,3470360807,CA
@@ -126523,11 +145146,13 @@
3470360896,3470360911,CA
3470360912,3470360927,US
3470360928,3470360935,CA
-3470360936,3470361039,US
-3470361040,3470361055,CA
-3470361056,3470361487,US
-3470361488,3470361495,SG
-3470361496,3470361663,US
+3470360936,3470360943,US
+3470360944,3470360959,GB
+3470360960,3470361039,US
+3470361040,3470361055,SE
+3470361056,3470361471,US
+3470361472,3470361479,JP
+3470361480,3470361663,US
3470361664,3470361671,CA
3470361672,3470361703,US
3470361704,3470361711,AF
@@ -126535,52 +145160,42 @@
3470361772,3470361775,AE
3470361776,3470362099,US
3470362100,3470362103,AE
-3470362104,3470362111,US
-3470362112,3470362119,CA
+3470362104,3470362119,US
3470362120,3470362127,AU
-3470362128,3470362135,US
-3470362136,3470362143,NL
-3470362144,3470362159,US
+3470362128,3470362159,US
3470362160,3470362167,AF
-3470362168,3470362175,US
-3470362176,3470362191,CA
-3470362192,3470362263,US
+3470362168,3470362263,US
3470362264,3470362271,NZ
-3470362272,3470362319,US
-3470362320,3470362335,AF
-3470362336,3470362455,US
-3470362456,3470362471,CA
-3470362472,3470362543,US
+3470362272,3470362355,US
+3470362356,3470362359,AU
+3470362360,3470362543,US
3470362544,3470362559,SE
3470362560,3470362623,CA
3470362624,3470362731,US
3470362732,3470362735,AE
-3470362736,3470362791,US
-3470362792,3470362799,SG
-3470362800,3470362847,US
-3470362848,3470362855,AR
-3470362856,3470362895,US
+3470362736,3470362895,US
3470362896,3470362911,AU
-3470362912,3470363423,US
-3470363424,3470363439,CA
-3470363440,3470363535,US
+3470362912,3470363535,US
3470363536,3470363543,CA
-3470363544,3470363555,AF
-3470363556,3470363559,US
-3470363560,3470363567,CA
-3470363568,3470363903,US
+3470363544,3470363551,US
+3470363552,3470363555,AF
+3470363556,3470363615,US
+3470363616,3470363631,ES
+3470363632,3470363759,US
+3470363760,3470363767,CA
+3470363768,3470363903,US
3470363904,3470363919,CA
3470363920,3470363967,US
3470363968,3470363983,CA
-3470363984,3470364047,US
-3470364048,3470364063,CA
-3470364064,3470364095,US
+3470363984,3470364095,US
3470364096,3470364103,AU
-3470364104,3470364415,US
+3470364104,3470364255,US
+3470364256,3470364287,IN
+3470364288,3470364415,US
3470364416,3470364479,CA
-3470364480,3470364655,US
-3470364656,3470364663,CA
-3470364664,3470458879,US
+3470364480,3470364559,US
+3470364560,3470364575,HN
+3470364576,3470458879,US
3470458880,3470475263,KR
3470475264,3470558207,US
3470558208,3470559231,HK
@@ -126588,178 +145203,47 @@
3470573568,3470575615,CA
3470575616,3470610431,US
3470610432,3470614527,BR
-3470614528,3470643639,US
-3470643640,3470643647,IL
-3470643648,3470645511,US
-3470645512,3470645519,GB
-3470645520,3470645527,FR
-3470645528,3470645559,US
-3470645560,3470645567,RU
-3470645568,3470645575,CA
-3470645576,3470645583,US
-3470645584,3470645591,FR
-3470645592,3470645623,US
-3470645624,3470645631,BR
-3470645632,3470645655,US
-3470645656,3470645663,RU
-3470645664,3470645687,US
-3470645688,3470645695,ES
-3470645696,3470645703,NL
-3470645704,3470645731,US
-3470645732,3470645735,AU
-3470645736,3470645739,CN
-3470645740,3470645743,US
-3470645744,3470645747,ES
-3470645748,3470645751,US
-3470645752,3470645759,BR
-3470645760,3470646015,US
-3470646016,3470646019,BR
-3470646020,3470646035,US
-3470646036,3470646039,VI
-3470646040,3470646055,US
-3470646056,3470646063,ES
-3470646064,3470646087,US
-3470646088,3470646095,ES
-3470646096,3470646103,US
-3470646104,3470646119,BR
-3470646120,3470646135,US
-3470646136,3470646143,AU
-3470646144,3470646151,CA
-3470646152,3470646167,AU
-3470646168,3470646175,BR
-3470646176,3470646215,US
-3470646216,3470646223,BR
-3470646224,3470646231,IL
-3470646232,3470646239,US
-3470646240,3470646247,IL
-3470646248,3470646255,DE
-3470646256,3470646263,AU
-3470646264,3470646271,AR
-3470646272,3470646359,US
-3470646360,3470646367,ZA
-3470646368,3470646375,US
-3470646376,3470646383,BR
-3470646384,3470646415,US
-3470646416,3470646423,CA
-3470646424,3470646431,FR
-3470646432,3470646455,US
-3470646456,3470646463,DK
-3470646464,3470646487,US
-3470646488,3470646495,PL
-3470646496,3470646503,BR
-3470646504,3470646511,US
-3470646512,3470646519,BR
-3470646520,3470646527,US
-3470646528,3470646543,FR
-3470646544,3470646567,US
-3470646568,3470646575,BR
-3470646576,3470646583,US
+3470614528,3470646583,US
3470646584,3470646591,LK
-3470646592,3470646599,CN
-3470646600,3470646607,US
-3470646608,3470646623,ZA
-3470646624,3470646631,DE
-3470646632,3470646639,BR
-3470646640,3470646671,US
-3470646672,3470646679,BR
-3470646680,3470646687,CA
-3470646688,3470646703,US
-3470646704,3470646711,CN
-3470646712,3470646719,UY
-3470646720,3470646727,US
-3470646728,3470646735,GB
-3470646736,3470646743,US
-3470646744,3470646751,BR
-3470646752,3470646767,FR
-3470646768,3470646775,US
-3470646776,3470646783,IT
-3470646784,3470646791,US
-3470646792,3470646799,CZ
-3470646800,3470646807,BR
-3470646808,3470646831,US
-3470646832,3470646847,IL
-3470646848,3470646903,US
-3470646904,3470646911,SG
-3470646912,3470646919,RU
-3470646920,3470646935,US
-3470646936,3470646943,CA
-3470646944,3470646951,BR
-3470646952,3470646983,US
-3470646984,3470646991,AR
-3470646992,3470646999,CN
-3470647000,3470651391,US
+3470646592,3470651391,US
3470651392,3470655487,CA
3470655488,3470656063,US
3470656064,3470656095,IL
-3470656096,3470656191,US
-3470656192,3470656199,IL
-3470656200,3470656383,US
+3470656096,3470656383,US
3470656384,3470656415,IL
-3470656416,3470656471,US
-3470656472,3470656479,IL
-3470656480,3470656791,US
-3470656792,3470656799,CA
-3470656800,3470657095,US
+3470656416,3470657095,US
3470657096,3470657103,IN
-3470657104,3470657383,US
-3470657384,3470657391,CA
-3470657392,3470657503,US
-3470657504,3470657511,IN
-3470657512,3470657695,US
+3470657104,3470657695,US
3470657696,3470657711,RU
-3470657712,3470657887,US
-3470657888,3470657895,PK
-3470657896,3470658599,US
+3470657712,3470658599,US
3470658600,3470658607,JP
3470658608,3470658615,US
3470658616,3470658623,ZA
-3470658624,3470658703,US
-3470658704,3470658711,SG
-3470658712,3470658751,US
+3470658624,3470658751,US
3470658752,3470658759,IE
-3470658760,3470658871,US
-3470658872,3470658879,RU
-3470658880,3470659183,US
+3470658760,3470659183,US
3470659184,3470659191,BE
3470659192,3470659199,US
3470659200,3470659207,TR
-3470659208,3470659271,US
-3470659272,3470659279,CO
-3470659280,3470659471,US
+3470659208,3470659471,US
3470659472,3470659487,ES
3470659488,3470659519,IL
3470659520,3470659567,US
3470659568,3470659575,BR
-3470659576,3470659711,US
-3470659712,3470659719,BD
-3470659720,3470659735,US
+3470659576,3470659735,US
3470659736,3470659743,AU
-3470659744,3470659783,US
-3470659784,3470659791,CA
-3470659792,3470659951,US
+3470659744,3470659951,US
3470659952,3470659959,MY
-3470659960,3470659975,IN
-3470659976,3470660079,US
+3470659960,3470659967,IN
+3470659968,3470660079,US
3470660080,3470660087,CA
3470660088,3470660103,US
3470660104,3470660111,HK
-3470660112,3470660199,US
-3470660200,3470660215,AU
-3470660216,3470660223,US
+3470660112,3470660223,US
3470660224,3470660255,PH
-3470660256,3470660327,US
-3470660328,3470660335,NL
-3470660336,3470660647,US
+3470660256,3470660647,US
3470660648,3470660655,IE
-3470660656,3470660831,US
-3470660832,3470660847,TR
-3470660848,3470660911,US
-3470660912,3470660919,ID
-3470660920,3470660935,US
-3470660936,3470660943,IR
-3470660944,3470661039,US
-3470661040,3470661047,GB
-3470661048,3470661167,US
+3470660656,3470661167,US
3470661168,3470661175,IE
3470661176,3470661191,US
3470661192,3470661207,CA
@@ -126767,33 +145251,20 @@
3470661216,3470661223,IN
3470661224,3470661231,US
3470661232,3470661239,ES
-3470661240,3470661295,US
-3470661296,3470661303,SA
-3470661304,3470661319,US
+3470661240,3470661319,US
3470661320,3470661327,BD
-3470661328,3470661543,US
-3470661544,3470661551,IR
-3470661552,3470661567,US
-3470661568,3470661575,RO
-3470661576,3470661727,US
+3470661328,3470661727,US
3470661728,3470661735,AU
3470661736,3470662167,US
3470662168,3470662175,IL
3470662176,3470662183,CN
-3470662184,3470662215,US
-3470662216,3470662223,DK
-3470662224,3470662663,US
+3470662184,3470662663,US
3470662664,3470662671,AE
-3470662672,3470662711,US
-3470662712,3470662719,NL
-3470662720,3470662863,US
+3470662672,3470662863,US
3470662864,3470662871,IN
3470662872,3470662911,US
3470662912,3470662919,GB
-3470662920,3470662959,US
-3470662960,3470662967,AU
-3470662968,3470663047,US
-3470663048,3470663055,PH
+3470662920,3470663055,US
3470663056,3470663063,NL
3470663064,3470663095,US
3470663096,3470663103,GB
@@ -126802,11 +145273,7 @@
3470663128,3470663287,US
3470663288,3470663295,TH
3470663296,3470663311,IE
-3470663312,3470663463,US
-3470663464,3470663471,EG
-3470663472,3470663527,US
-3470663528,3470663535,GR
-3470663536,3470671871,US
+3470663312,3470671871,US
3470671872,3470680063,CA
3470680064,3470744063,US
3470744064,3470744575,CA
@@ -126832,11 +145299,7 @@
3470794752,3470802943,PA
3470802944,3470873288,US
3470873289,3470873296,MX
-3470873297,3470875817,US
-3470875818,3470875827,JP
-3470875828,3470876402,US
-3470876403,3470876410,IN
-3470876411,3470884863,US
+3470873297,3470884863,US
3470884864,3470885887,HK
3470885888,3471057919,US
3471057920,3471058943,VE
@@ -126846,9 +145309,7 @@
3471060992,3471061247,NL
3471061248,3471061503,US
3471061504,3471061759,NL
-3471061760,3471204679,US
-3471204680,3471204687,PR
-3471204688,3471262719,US
+3471061760,3471262719,US
3471262720,3471263743,EC
3471263744,3471265791,CO
3471265792,3471529215,US
@@ -126860,11 +145321,7 @@
3471572992,3472375807,US
3472375808,3472392191,PR
3472392192,3472408575,CA
-3472408576,3472613375,US
-3472613376,3472621567,A1
-3472621568,3472990207,US
-3472990208,3472990463,AS
-3472990464,3473039359,US
+3472408576,3473039359,US
3473039360,3473040639,BM
3473040640,3473040895,US
3473040896,3473041407,BM
@@ -126880,15 +145337,9 @@
3473703552,3473703679,CA
3473703680,3473755391,US
3473755392,3473755647,HN
-3473755648,3473764799,US
-3473764800,3473764815,PR
-3473764816,3473764823,US
-3473764824,3473764831,PR
-3473764832,3473765887,US
+3473755648,3473765887,US
3473765888,3473766399,EC
-3473766400,3473786111,US
-3473786112,3473786127,PR
-3473786128,3473813567,US
+3473766400,3473813567,US
3473813568,3473813599,CA
3473813600,3473901055,US
3473901056,3473901311,EC
@@ -126928,15 +145379,15 @@
3474548224,3474548479,JP
3474548480,3474623599,US
3474623600,3474623615,CA
-3474623616,3475029927,US
-3475029928,3475029935,CA
-3475029936,3475112191,US
+3474623616,3475112191,US
3475112192,3475113215,CA
3475113216,3475115007,US
3475115008,3475120127,CA
3475120128,3475124223,US
3475124224,3475243007,CA
-3475243008,3475589887,US
+3475243008,3475406527,US
+3475406528,3475406591,BR
+3475406592,3475589887,US
3475589888,3475590143,EC
3475590144,3475670015,US
3475670016,3475670047,AG
@@ -126970,8 +145421,8 @@
3475888384,3475890175,CA
3475890176,3475996671,US
3475996672,3476029439,CA
-3476029440,3476041551,US
-3476041552,3476041583,MX
+3476029440,3476041567,US
+3476041568,3476041583,MX
3476041584,3476076319,US
3476076320,3476076351,JO
3476076352,3476111359,US
@@ -126981,15 +145432,7 @@
3476265920,3476348927,US
3476348928,3476349183,CA
3476349184,3476418559,US
-3476418560,3476419839,CA
-3476419840,3476419959,US
-3476419960,3476420095,CA
-3476420096,3476420351,US
-3476420352,3476420607,CA
-3476420608,3476420863,US
-3476420864,3476421887,CA
-3476421888,3476422143,US
-3476422144,3476422655,CA
+3476418560,3476422655,CA
3476422656,3476447231,US
3476447232,3476451343,CA
3476451344,3476451375,US
@@ -127000,9 +145443,7 @@
3476720126,3476720126,GB
3476720127,3476720363,US
3476720364,3476720367,LV
-3476720368,3476720377,US
-3476720378,3476720381,PT
-3476720382,3476721159,US
+3476720368,3476721159,US
3476721160,3476721167,IT
3476721168,3476721319,US
3476721320,3476721327,GB
@@ -127010,9 +145451,7 @@
3476721680,3476721687,IT
3476721688,3476721743,US
3476721744,3476721759,CA
-3476721760,3476721799,US
-3476721800,3476721807,GB
-3476721808,3476721823,US
+3476721760,3476721823,US
3476721824,3476721831,GB
3476721832,3476721895,US
3476721896,3476721903,CA
@@ -127023,7 +145462,9 @@
3476722240,3476722255,SA
3476722256,3476722287,US
3476722288,3476722319,IT
-3476722320,3476722527,US
+3476722320,3476722495,US
+3476722496,3476722511,AU
+3476722512,3476722527,US
3476722528,3476722543,AU
3476722544,3476722591,US
3476722592,3476722607,GB
@@ -127031,9 +145472,7 @@
3476722720,3476722727,CO
3476722728,3476722759,US
3476722760,3476722767,IN
-3476722768,3476722775,US
-3476722776,3476722783,GB
-3476722784,3476723263,US
+3476722768,3476723263,US
3476723264,3476723271,NL
3476723272,3476723670,US
3476723671,3476723674,GB
@@ -127059,15 +145498,7 @@
3476732074,3476732077,IN
3476732078,3476732113,US
3476732114,3476732117,IN
-3476732118,3476732341,US
-3476732342,3476732345,MX
-3476732346,3476732373,US
-3476732374,3476732377,MX
-3476732378,3476733603,US
-3476733604,3476733604,MX
-3476733605,3476733913,US
-3476733914,3476733914,MX
-3476733915,3476881407,US
+3476732118,3476881407,US
3476881408,3476946943,CA
3476946944,3477161503,US
3477161504,3477161519,TN
@@ -127075,15 +145506,15 @@
3477161552,3477161567,TN
3477161568,3477161615,US
3477161616,3477161623,TN
-3477161624,3477161775,US
-3477161776,3477161791,TN
-3477161792,3477311871,US
+3477161624,3477311871,US
3477311872,3477312255,A1
3477312256,3477312511,US
3477312512,3477313023,A1
3477313024,3477313279,US
3477313280,3477313535,A1
-3477313536,3478114303,US
+3477313536,3477548287,US
+3477548288,3477548295,GB
+3477548296,3478114303,US
3478114304,3478118399,PE
3478118400,3478192127,US
3478192128,3478257663,CA
@@ -127093,7 +145524,9 @@
3478261904,3478261935,SG
3478261936,3478262271,US
3478262272,3478262279,SG
-3478262280,3478294527,US
+3478262280,3478262655,US
+3478262656,3478262671,SG
+3478262672,3478294527,US
3478294528,3478294543,GB
3478294544,3478323391,US
3478323392,3478323399,CA
@@ -127131,15 +145564,15 @@
3479290368,3479290431,BD
3479290432,3479290487,US
3479290488,3479290495,GB
-3479290496,3479290583,US
-3479290584,3479290591,CA
-3479290592,3479290631,US
+3479290496,3479290631,US
3479290632,3479290639,GB
3479290640,3479290743,US
3479290744,3479290751,EC
3479290752,3479290767,US
3479290768,3479290783,CA
-3479290784,3479291071,US
+3479290784,3479290869,US
+3479290870,3479290871,CA
+3479290872,3479291071,US
3479291072,3479291087,CA
3479291088,3479291263,US
3479291264,3479291287,CA
@@ -127153,9 +145586,7 @@
3479291848,3479291855,JM
3479291856,3479291871,US
3479291872,3479291879,CA
-3479291880,3479291911,US
-3479291912,3479291919,IE
-3479291920,3479292007,US
+3479291880,3479292007,US
3479292008,3479292015,CA
3479292016,3479292223,US
3479292224,3479292231,UY
@@ -127168,11 +145599,7 @@
3479292816,3479292823,IL
3479292824,3479293007,US
3479293008,3479293023,AU
-3479293024,3479293031,US
-3479293032,3479293039,CO
-3479293040,3479293255,US
-3479293256,3479293263,GB
-3479293264,3479293311,US
+3479293024,3479293311,US
3479293312,3479293319,CA
3479293320,3479293583,US
3479293584,3479293591,GB
@@ -127180,7 +145607,9 @@
3479294032,3479294039,BD
3479294040,3479294223,US
3479294224,3479294231,TH
-3479294232,3479294419,US
+3479294232,3479294401,US
+3479294402,3479294403,BG
+3479294404,3479294419,US
3479294420,3479294423,CA
3479294424,3479294425,US
3479294426,3479294427,CA
@@ -127188,9 +145617,7 @@
3479294488,3479294495,MX
3479294496,3479294527,US
3479294528,3479294543,BD
-3479294544,3479294559,US
-3479294560,3479294567,GB
-3479294568,3479294663,US
+3479294544,3479294663,US
3479294664,3479294671,AU
3479294672,3479294775,US
3479294776,3479294783,CA
@@ -127198,8 +145625,7 @@
3479295016,3479295023,MY
3479295024,3479295071,US
3479295072,3479295079,CR
-3479295080,3479295095,US
-3479295096,3479295103,PR
+3479295080,3479295103,US
3479295104,3479295111,CA
3479295112,3479295359,US
3479295360,3479295367,AU
@@ -127211,10 +145637,7 @@
3479295704,3479295735,MY
3479295736,3479295767,US
3479295768,3479295775,MY
-3479295776,3479296007,US
-3479296008,3479296015,CA
-3479296016,3479296071,US
-3479296072,3479296079,GB
+3479295776,3479296079,US
3479296080,3479296095,MY
3479296096,3479296319,US
3479296320,3479296335,BD
@@ -127241,8 +145664,7 @@
3479298400,3479298407,IN
3479298408,3479298463,US
3479298464,3479298471,CA
-3479298472,3479298583,US
-3479298584,3479298591,JP
+3479298472,3479298591,US
3479298592,3479298599,AU
3479298600,3479298759,US
3479298760,3479298767,CA
@@ -127268,7 +145690,9 @@
3479301784,3479303759,US
3479303760,3479303767,ZA
3479303768,3479303951,US
-3479303952,3479303975,NL
+3479303952,3479303959,NL
+3479303960,3479303967,US
+3479303968,3479303975,NL
3479303976,3479303983,US
3479303984,3479303991,CA
3479303992,3479304319,US
@@ -127278,9 +145702,7 @@
3479304456,3479304463,MX
3479304464,3479304863,US
3479304864,3479304871,PK
-3479304872,3479305055,US
-3479305056,3479305071,JP
-3479305072,3479305175,US
+3479304872,3479305175,US
3479305176,3479305183,BM
3479305184,3479305215,US
3479305216,3479305231,EG
@@ -127299,9 +145721,9 @@
3479633920,3479789343,US
3479789344,3479789360,UY
3479789361,3479896063,US
-3479896064,3479923071,CA
-3479923072,3479923079,US
-3479923080,3479961599,CA
+3479896064,3479956479,CA
+3479956480,3479956735,US
+3479956736,3479961599,CA
3479961600,3480223743,US
3480223744,3480226415,CA
3480226416,3480226423,US
@@ -127385,14 +145807,10 @@
3480575232,3480575487,IL
3480575488,3480575743,US
3480575744,3480577023,IT
-3480577024,3480579327,US
-3480579328,3480579583,IT
-3480579584,3480579711,US
+3480577024,3480579711,US
3480579712,3480579775,BG
3480579776,3480579839,AU
-3480579840,3480580095,HK
-3480580096,3480580351,JP
-3480580352,3480580607,KR
+3480579840,3480580607,US
3480580608,3480580863,SE
3480580864,3480581119,DK
3480581120,3480581247,US
@@ -127456,7 +145874,7 @@
3480606208,3480606463,MX
3480606464,3480606719,BE
3480606720,3480606975,GR
-3480606976,3480607231,CA
+3480606976,3480607231,US
3480607232,3480607487,IT
3480607488,3480610303,US
3480610304,3480610559,ES
@@ -127475,9 +145893,7 @@
3480907264,3480907775,FR
3480907776,3480968191,US
3480968192,3480968447,AU
-3480968448,3481169151,US
-3481169152,3481169407,NZ
-3481169408,3481182503,US
+3480968448,3481182503,US
3481182504,3481182511,CA
3481182512,3481665535,US
3481665536,3481731071,CA
@@ -127488,9 +145904,7 @@
3481829376,3481993215,US
3481993216,3481993783,CA
3481993784,3481993791,US
-3481993792,3481993887,CA
-3481993888,3481993895,US
-3481993896,3481995279,CA
+3481993792,3481995279,CA
3481995280,3481995287,US
3481995288,3481995303,CA
3481995304,3481995311,US
@@ -127513,15 +145927,114 @@
3482048256,3482058751,CA
3482058752,3482583039,US
3482583040,3482632191,CA
-3482632192,3482775551,US
+3482632192,3482755081,US
+3482755082,3482755091,MX
+3482755092,3482755101,US
+3482755102,3482755111,CN
+3482755112,3482755211,US
+3482755212,3482755221,CA
+3482755222,3482755377,US
+3482755378,3482755387,RU
+3482755388,3482755593,US
+3482755594,3482755603,ES
+3482755604,3482755623,US
+3482755624,3482755633,AQ
+3482755634,3482755653,US
+3482755654,3482755683,RU
+3482755684,3482755693,US
+3482755694,3482755703,RU
+3482755704,3482755733,US
+3482755734,3482755743,GB
+3482755744,3482755753,US
+3482755754,3482755763,FI
+3482755764,3482755849,US
+3482755850,3482755859,UA
+3482755860,3482755949,US
+3482755950,3482755959,AU
+3482755960,3482756175,US
+3482756176,3482756185,TR
+3482756186,3482756255,US
+3482756256,3482756265,ES
+3482756266,3482756285,US
+3482756286,3482756295,IL
+3482756296,3482756305,US
+3482756306,3482756335,IN
+3482756336,3482756361,US
+3482756362,3482756371,RU
+3482756372,3482756381,BR
+3482756382,3482756401,US
+3482756402,3482756411,ES
+3482756412,3482756421,US
+3482756422,3482756431,AZ
+3482756432,3482756501,US
+3482756502,3482756511,DM
+3482756512,3482756531,US
+3482756532,3482756541,LK
+3482756542,3482756677,US
+3482756678,3482756687,BR
+3482756688,3482756757,US
+3482756758,3482756767,TR
+3482756768,3482756893,US
+3482756894,3482756903,BR
+3482756904,3482756913,FR
+3482756914,3482757169,US
+3482757170,3482757179,SE
+3482757180,3482757269,US
+3482757270,3482757279,AR
+3482757280,3482757309,US
+3482757310,3482757319,JP
+3482757320,3482757425,US
+3482757426,3482757435,AT
+3482757436,3482757455,US
+3482757456,3482757465,RU
+3482757466,3482757505,US
+3482757506,3482757515,ES
+3482757516,3482757555,US
+3482757556,3482757565,TR
+3482757566,3482757575,US
+3482757576,3482757585,CN
+3482757586,3482757741,US
+3482757742,3482757751,JO
+3482757752,3482758499,US
+3482758500,3482758527,VE
+3482758528,3482759275,US
+3482759276,3482759285,SG
+3482759286,3482759295,US
+3482759296,3482759305,SG
+3482759306,3482759823,US
+3482759824,3482759831,BR
+3482759832,3482760049,US
+3482760050,3482760062,NL
+3482760063,3482760319,US
+3482760320,3482760335,NL
+3482760336,3482760385,US
+3482760386,3482760423,EG
+3482760424,3482760447,US
+3482760448,3482760703,AI
+3482760704,3482760799,US
+3482760800,3482760815,BR
+3482760816,3482761335,US
+3482761336,3482761343,BY
+3482761344,3482761503,US
+3482761504,3482761519,IL
+3482761520,3482761599,US
+3482761600,3482761727,IT
+3482761728,3482761935,US
+3482761936,3482761951,AT
+3482761952,3482762360,US
+3482762361,3482762368,TR
+3482762369,3482762437,US
+3482762438,3482762445,TR
+3482762446,3482762463,GB
+3482762464,3482762479,US
+3482762480,3482762489,AU
+3482762490,3482775551,US
3482775552,3482778375,PR
3482778376,3482778383,US
3482778384,3482779647,PR
3482779648,3482910719,US
3482910720,3482927103,CA
-3482927104,3483238399,US
-3483238400,3483254783,A1
-3483254784,3483296004,US
+3482927104,3483296004,US
3483296005,3483296005,BE
3483296006,3483435007,US
3483435008,3483533311,CA
@@ -127529,23 +146042,50 @@
3483552512,3483552607,GB
3483552608,3483631615,US
3483631616,3483697151,CA
-3483697152,3483791359,US
-3483791360,3483791407,PR
-3483791408,3483791415,VI
-3483791416,3483791423,US
-3483791424,3483791599,PR
-3483791600,3483791607,VI
-3483791608,3483791735,PR
-3483791736,3483791743,VI
-3483791744,3483791831,PR
-3483791832,3483791839,VI
-3483791840,3483791983,PR
+3483697152,3483791375,US
+3483791376,3483791407,PR
+3483791408,3483791423,US
+3483791424,3483791431,PR
+3483791432,3483791471,US
+3483791472,3483791479,PR
+3483791480,3483791495,US
+3483791496,3483791503,PR
+3483791504,3483791511,US
+3483791512,3483791519,PR
+3483791520,3483791535,US
+3483791536,3483791543,PR
+3483791544,3483791551,US
+3483791552,3483791599,PR
+3483791600,3483791607,US
+3483791608,3483791623,PR
+3483791624,3483791631,US
+3483791632,3483791639,PR
+3483791640,3483791647,US
+3483791648,3483791663,PR
+3483791664,3483791679,US
+3483791680,3483791695,PR
+3483791696,3483791743,US
+3483791744,3483791751,PR
+3483791752,3483791767,US
+3483791768,3483791799,PR
+3483791800,3483791823,US
+3483791824,3483791831,PR
+3483791832,3483791855,US
+3483791856,3483791887,PR
+3483791888,3483791895,US
+3483791896,3483791951,PR
+3483791952,3483791967,US
+3483791968,3483791983,PR
3483791984,3483791999,US
3483792000,3483792015,PR
3483792016,3483792031,IL
-3483792032,3483792111,PR
+3483792032,3483792047,PR
+3483792048,3483792079,US
+3483792080,3483792111,PR
3483792112,3483792119,US
-3483792120,3483795455,PR
+3483792120,3483793919,PR
+3483793920,3483794431,US
+3483794432,3483795455,PR
3483795456,3483828223,US
3483828224,3483836415,CA
3483836416,3483877375,US
@@ -127559,7 +146099,9 @@
3484439808,3484450815,US
3484450816,3484451839,CA
3484451840,3484451871,US
-3484451872,3484455263,CA
+3484451872,3484453695,CA
+3484453696,3484453759,US
+3484453760,3484455263,CA
3484455264,3484455295,US
3484455296,3484455807,CA
3484455808,3484455871,US
@@ -127593,14 +146135,16 @@
3484460288,3484460543,US
3484460544,3484460575,CA
3484460576,3484460591,US
-3484460592,3484460703,CA
-3484460704,3484460719,US
+3484460592,3484460687,CA
+3484460688,3484460719,US
3484460720,3484460783,CA
3484460784,3484460799,US
3484460800,3484461079,CA
3484461080,3484461095,US
3484461096,3484461103,CA
-3484461104,3484461135,US
+3484461104,3484461111,US
+3484461112,3484461119,CA
+3484461120,3484461135,US
3484461136,3484461143,CA
3484461144,3484461199,US
3484461200,3484461231,CA
@@ -127611,7 +146155,9 @@
3484461376,3484461439,US
3484461440,3484461503,CA
3484461504,3484461631,US
-3484461632,3484462103,CA
+3484461632,3484461759,CA
+3484461760,3484461823,US
+3484461824,3484462103,CA
3484462104,3484462143,US
3484462144,3484462159,CA
3484462160,3484462175,US
@@ -127623,16 +146169,16 @@
3484462976,3484463039,US
3484463040,3484463151,CA
3484463152,3484463183,US
-3484463184,3484464143,CA
+3484463184,3484463871,CA
+3484463872,3484464127,US
+3484464128,3484464143,CA
3484464144,3484464159,US
3484464160,3484464175,CA
3484464176,3484464191,US
3484464192,3484464223,CA
3484464224,3484464287,US
3484464288,3484464303,CA
-3484464304,3484464319,US
-3484464320,3484464335,CA
-3484464336,3484464383,US
+3484464304,3484464383,US
3484464384,3484464703,CA
3484464704,3484464735,US
3484464736,3484465151,CA
@@ -127656,8 +146202,8 @@
3484472168,3484472183,CA
3484472184,3484472199,US
3484472200,3484472223,CA
-3484472224,3484472263,US
-3484472264,3484472839,CA
+3484472224,3484472279,US
+3484472280,3484472839,CA
3484472840,3484472855,US
3484472856,3484473007,CA
3484473008,3484473015,US
@@ -127681,10 +146227,14 @@
3484479488,3484479743,US
3484479744,3484479999,CA
3484480000,3484480255,US
-3484480256,3484482047,CA
+3484480256,3484481279,CA
+3484481280,3484481343,US
+3484481344,3484482047,CA
3484482048,3484482559,US
3484482560,3484483583,CA
-3484483584,3484647423,US
+3484483584,3484604039,US
+3484604040,3484604047,AU
+3484604048,3484647423,US
3484647424,3484663807,CA
3484663808,3484746815,US
3484746816,3484746943,GB
@@ -127696,7 +146246,9 @@
3484777696,3484778495,CA
3484778496,3484884991,US
3484884992,3484893183,CA
-3484893184,3485220863,US
+3484893184,3484937103,US
+3484937104,3484937111,SE
+3484937112,3485220863,US
3485220864,3485229055,CA
3485229056,3485290463,US
3485290464,3485290479,GB
@@ -127706,7 +146258,9 @@
3485442048,3485446143,VE
3485446144,3485458847,US
3485458848,3485458863,FR
-3485458864,3485462527,US
+3485458864,3485460559,US
+3485460560,3485460575,IN
+3485460576,3485462527,US
3485462528,3485464575,VC
3485464576,3485466623,LC
3485466624,3485597695,US
@@ -127715,8 +146269,8 @@
3485671616,3485672543,CA
3485672544,3485672551,US
3485672552,3485695999,CA
-3485696000,3485724671,US
-3485724672,3485728767,A1
+3485696000,3485725695,US
+3485725696,3485728767,A1
3485728768,3485885127,US
3485885128,3485885141,CA
3485885142,3485886917,US
@@ -127821,8 +146375,7 @@
3486603424,3486603455,US
3486603456,3486603519,AR
3486603520,3486603775,JP
-3486603776,3486604031,US
-3486604032,3486604287,AU
+3486603776,3486604287,US
3486604288,3486604543,BE
3486604544,3486604575,US
3486604576,3486604607,SG
@@ -127984,21 +146537,19 @@
3486700440,3486700447,IT
3486700448,3486701311,US
3486701312,3486701567,CA
-3486701568,3486711551,US
+3486701568,3486707519,US
+3486707520,3486707535,SE
+3486707536,3486707559,US
+3486707560,3486707567,HN
+3486707568,3486711551,US
3486711552,3486711807,CA
3486711808,3487039487,US
3487039488,3487105023,CA
-3487105024,3487187199,US
-3487187200,3487187215,GB
-3487187216,3487189247,US
+3487105024,3487189247,US
3487189248,3487189503,DK
-3487189504,3487193599,US
-3487193600,3487193855,DK
-3487193856,3487197183,US
+3487189504,3487197183,US
3487197184,3487197439,DK
-3487197440,3487203071,US
-3487203072,3487203327,DK
-3487203328,3487236095,US
+3487197440,3487236095,US
3487236096,3487301631,CA
3487301632,3487507327,US
3487507328,3487507335,CA
@@ -128006,9 +146557,9 @@
3487507344,3487507359,CA
3487507360,3487507375,US
3487507376,3487507391,CA
-3487507392,3487559711,US
-3487559712,3487559743,AU
-3487559744,3487559839,US
+3487507392,3487559719,US
+3487559720,3487559727,AU
+3487559728,3487559839,US
3487559840,3487559871,AU
3487559872,3487560167,US
3487560168,3487560175,AU
@@ -128025,8 +146576,8 @@
3487875072,3487891455,US
3487891456,3487907839,CA
3487907840,3487912959,US
-3487912960,3487913087,CA
-3487913088,3487969791,US
+3487912960,3487913215,CA
+3487913216,3487969791,US
3487969792,3487970047,KW
3487970048,3488014335,US
3488014336,3488022527,CA
@@ -128044,7 +146595,11 @@
3488116872,3488118559,CA
3488118560,3488118567,US
3488118568,3488120831,CA
-3488120832,3488300287,US
+3488120832,3488285823,US
+3488285824,3488285855,DE
+3488285856,3488286279,US
+3488286280,3488286287,SG
+3488286288,3488300287,US
3488300288,3488300543,A2
3488300544,3488350207,US
3488350208,3488361215,CA
@@ -128082,9 +146637,7 @@
3489464320,3489529855,CA
3489529856,3489562623,US
3489562624,3489566719,JM
-3489566720,3489673471,US
-3489673472,3489673727,PR
-3489673728,3489717759,US
+3489566720,3489717759,US
3489717760,3489718015,PR
3489718016,3489718271,US
3489718272,3489718527,DM
@@ -128101,9 +146654,7 @@
3489741784,3489741791,CA
3489741792,3489749503,US
3489749504,3489749519,CA
-3489749520,3489753151,US
-3489753152,3489753167,PR
-3489753168,3489756119,US
+3489749520,3489756119,US
3489756120,3489756127,DE
3489756128,3489761743,US
3489761744,3489761759,CA
@@ -128111,21 +146662,15 @@
3489774832,3489774839,GB
3489774840,3489775103,US
3489775104,3489775359,BO
-3489775360,3489969151,US
-3489969152,3489969663,PR
-3489969664,3490041503,US
+3489775360,3490041503,US
3490041504,3490041535,CA
3490041536,3490228735,US
3490228736,3490229247,CO
3490229248,3490263039,US
3490263040,3490267135,CO
-3490267136,3490488319,US
-3490488320,3490489343,PR
-3490489344,3490653871,US
+3490267136,3490653871,US
3490653872,3490653887,CA
-3490653888,3490702847,US
-3490702848,3490703103,AS
-3490703104,3490703615,US
+3490653888,3490703615,US
3490703616,3490703871,PR
3490703872,3490732431,US
3490732432,3490732447,CA
@@ -128133,11 +146678,7 @@
3490786048,3490786303,PR
3490786304,3490879231,US
3490879232,3490879487,PR
-3490879488,3490922495,US
-3490922496,3490924543,CO
-3490924544,3490974719,US
-3490974720,3490975743,PR
-3490975744,3491219183,US
+3490879488,3491219183,US
3491219184,3491219191,PR
3491219192,3491226687,US
3491226688,3491226719,CA
@@ -128157,31 +146698,21 @@
3491506632,3491506639,DK
3491506640,3491508223,US
3491508224,3491512319,CA
-3491512320,3491594239,US
-3491594240,3491596287,CO
-3491596288,3491637247,US
+3491512320,3491637247,US
3491637248,3491637759,CO
-3491637760,3491651583,US
+3491637760,3491639807,US
+3491639808,3491639823,DK
+3491639824,3491651583,US
3491651584,3491659775,VI
3491659776,3491712927,US
3491712928,3491712959,TW
-3491712960,3491736063,US
-3491736064,3491736319,PR
-3491736320,3491743743,US
+3491712960,3491743743,US
3491743744,3491745791,CO
3491745792,3491764783,US
3491764784,3491764791,PR
3491764792,3491826687,US
3491826688,3491826943,AN
-3491826944,3491832575,US
-3491832576,3491832583,PR
-3491832584,3491921663,US
-3491921664,3491921919,PR
-3491921920,3491955711,US
-3491955712,3491956735,CO
-3491956736,3491959807,US
-3491959808,3491960319,CO
-3491960320,3491968423,US
+3491826944,3491968423,US
3491968424,3491968431,PR
3491968432,3491968447,AF
3491968448,3491969023,US
@@ -128194,11 +146725,7 @@
3491971952,3491971967,HK
3491971968,3491973151,US
3491973152,3491973159,VE
-3491973160,3491979263,US
-3491979264,3491981823,CO
-3491981824,3491983359,US
-3491983360,3491987455,CO
-3491987456,3492005375,US
+3491973160,3492005375,US
3492005376,3492005391,DK
3492005392,3492005439,US
3492005440,3492005447,DK
@@ -128210,7 +146737,714 @@
3492188800,3492188831,CH
3492188832,3492472039,US
3492472040,3492472047,GB
-3492472048,3492576143,US
+3492472048,3492479063,US
+3492479064,3492479071,SA
+3492479072,3492479087,US
+3492479088,3492479095,IN
+3492479096,3492479167,US
+3492479168,3492479183,CY
+3492479184,3492479231,US
+3492479232,3492479239,PH
+3492479240,3492479247,TR
+3492479248,3492479279,US
+3492479280,3492479287,IN
+3492479288,3492479295,AU
+3492479296,3492479351,US
+3492479352,3492479359,CA
+3492479360,3492480207,US
+3492480208,3492480223,CA
+3492480224,3492480303,US
+3492480304,3492480311,PH
+3492480312,3492480671,US
+3492480672,3492480687,PH
+3492480688,3492480815,US
+3492480816,3492480823,TR
+3492480824,3492480991,US
+3492480992,3492480999,BR
+3492481000,3492481055,US
+3492481056,3492481087,SG
+3492481088,3492481695,US
+3492481696,3492481703,AU
+3492481704,3492482063,US
+3492482064,3492482071,SA
+3492482072,3492482079,CA
+3492482080,3492482303,US
+3492482304,3492482319,CA
+3492482320,3492482735,US
+3492482736,3492482743,TR
+3492482744,3492483295,US
+3492483296,3492483303,TH
+3492483304,3492483311,GB
+3492483312,3492483447,US
+3492483448,3492483455,SA
+3492483456,3492484383,US
+3492484384,3492484415,AU
+3492484416,3492484543,US
+3492484544,3492484575,AU
+3492484576,3492485111,US
+3492485112,3492485119,SA
+3492485120,3492485199,US
+3492485200,3492485207,MX
+3492485208,3492485951,US
+3492485952,3492485983,CV
+3492485984,3492486015,US
+3492486016,3492486031,SA
+3492486032,3492486271,US
+3492486272,3492486279,AU
+3492486280,3492486287,US
+3492486288,3492486295,NZ
+3492486296,3492486559,US
+3492486560,3492486567,TR
+3492486568,3492486759,US
+3492486760,3492486767,CH
+3492486768,3492486799,US
+3492486800,3492486807,BR
+3492486808,3492486935,US
+3492486936,3492486943,TR
+3492486944,3492487263,US
+3492487264,3492487295,AU
+3492487296,3492487615,US
+3492487616,3492487647,AU
+3492487648,3492487903,US
+3492487904,3492487919,CA
+3492487920,3492488031,US
+3492488032,3492488063,SA
+3492488064,3492489311,US
+3492489312,3492489319,AU
+3492489320,3492489383,US
+3492489384,3492489391,SA
+3492489392,3492489519,US
+3492489520,3492489527,BR
+3492489528,3492489991,US
+3492489992,3492489999,SA
+3492490000,3492490543,US
+3492490544,3492490551,GB
+3492490552,3492490855,US
+3492490856,3492490863,CH
+3492490864,3492490967,US
+3492490968,3492490975,AU
+3492490976,3492491095,US
+3492491096,3492491103,CA
+3492491104,3492491167,US
+3492491168,3492491183,CA
+3492491184,3492491263,US
+3492491264,3492491327,CA
+3492491328,3492491567,US
+3492491568,3492491575,SG
+3492491576,3492491591,US
+3492491592,3492491599,GB
+3492491600,3492491847,US
+3492491848,3492491855,CA
+3492491856,3492491871,US
+3492491872,3492491879,SA
+3492491880,3492492071,US
+3492492072,3492492079,GB
+3492492080,3492492431,US
+3492492432,3492492439,SG
+3492492440,3492492743,US
+3492492744,3492492751,SG
+3492492752,3492492831,US
+3492492832,3492492839,SA
+3492492840,3492492999,US
+3492493000,3492493007,SA
+3492493008,3492493167,US
+3492493168,3492493175,AU
+3492493176,3492493591,US
+3492493592,3492493599,GB
+3492493600,3492493719,US
+3492493720,3492493727,GB
+3492493728,3492493839,US
+3492493840,3492493847,AE
+3492493848,3492493895,US
+3492493896,3492493903,IN
+3492493904,3492494159,US
+3492494160,3492494167,PH
+3492494168,3492494367,US
+3492494368,3492494375,BR
+3492494376,3492494487,US
+3492494488,3492494495,CH
+3492494496,3492494591,US
+3492494592,3492494599,SA
+3492494600,3492494607,TR
+3492494608,3492494719,US
+3492494720,3492494735,SA
+3492494736,3492494767,US
+3492494768,3492494775,MX
+3492494776,3492494911,US
+3492494912,3492494943,PH
+3492494944,3492495007,US
+3492495008,3492495015,CY
+3492495016,3492495375,US
+3492495376,3492495383,GB
+3492495384,3492495391,TR
+3492495392,3492495583,US
+3492495584,3492495591,KW
+3492495592,3492495679,US
+3492495680,3492495695,RO
+3492495696,3492495727,US
+3492495728,3492495735,IT
+3492495736,3492495919,US
+3492495920,3492495927,IL
+3492495928,3492495991,US
+3492495992,3492495999,BR
+3492496000,3492496247,US
+3492496248,3492496255,GB
+3492496256,3492496399,US
+3492496400,3492496407,BR
+3492496408,3492496567,US
+3492496568,3492496575,AU
+3492496576,3492496583,US
+3492496584,3492496591,RU
+3492496592,3492496639,US
+3492496640,3492496655,RO
+3492496656,3492496695,US
+3492496696,3492496703,PK
+3492496704,3492496927,US
+3492496928,3492496935,GB
+3492496936,3492497087,US
+3492497088,3492497095,KW
+3492497096,3492497231,US
+3492497232,3492497239,NZ
+3492497240,3492497407,US
+3492497408,3492497471,TR
+3492497472,3492497599,US
+3492497600,3492497607,TR
+3492497608,3492497615,US
+3492497616,3492497623,NZ
+3492497624,3492497895,US
+3492497896,3492497903,RU
+3492497904,3492498031,US
+3492498032,3492498039,AU
+3492498040,3492498191,US
+3492498192,3492498199,IT
+3492498200,3492498319,US
+3492498320,3492498327,IN
+3492498328,3492498495,US
+3492498496,3492498503,GB
+3492498504,3492499007,US
+3492499008,3492499015,BS
+3492499016,3492499039,US
+3492499040,3492499047,IN
+3492499048,3492499055,US
+3492499056,3492499063,TH
+3492499064,3492499071,US
+3492499072,3492499079,NG
+3492499080,3492499119,US
+3492499120,3492499127,SA
+3492499128,3492499199,US
+3492499200,3492499215,NP
+3492499216,3492499311,US
+3492499312,3492499319,CH
+3492499320,3492499327,US
+3492499328,3492499359,SA
+3492499360,3492499367,RO
+3492499368,3492499503,US
+3492499504,3492499511,TR
+3492499512,3492499815,US
+3492499816,3492499823,SA
+3492499824,3492499911,US
+3492499912,3492499919,BR
+3492499920,3492500119,US
+3492500120,3492500127,PK
+3492500128,3492500135,SA
+3492500136,3492500295,US
+3492500296,3492500303,MU
+3492500304,3492500335,US
+3492500336,3492500343,SC
+3492500344,3492500431,US
+3492500432,3492500439,SA
+3492500440,3492500999,US
+3492501000,3492501007,IL
+3492501008,3492501015,TR
+3492501016,3492501359,US
+3492501360,3492501367,BR
+3492501368,3492501383,US
+3492501384,3492501399,GB
+3492501400,3492501423,US
+3492501424,3492501431,GB
+3492501432,3492501615,US
+3492501616,3492501631,GB
+3492501632,3492501823,US
+3492501824,3492501831,IN
+3492501832,3492501951,US
+3492501952,3492501967,GB
+3492501968,3492502327,US
+3492502328,3492502335,KW
+3492502336,3492502423,US
+3492502424,3492502431,RU
+3492502432,3492502559,US
+3492502560,3492502567,SA
+3492502568,3492502711,US
+3492502712,3492502719,BR
+3492502720,3492502815,US
+3492502816,3492502823,IN
+3492502824,3492502831,SA
+3492502832,3492503343,US
+3492503344,3492503351,GB
+3492503352,3492503551,US
+3492503552,3492503583,CA
+3492503584,3492503591,US
+3492503592,3492503599,RO
+3492503600,3492503775,US
+3492503776,3492503783,BR
+3492503784,3492503807,US
+3492503808,3492503839,SA
+3492503840,3492503863,US
+3492503864,3492503871,EG
+3492503872,3492503903,SA
+3492503904,3492504303,US
+3492504304,3492504311,SA
+3492504312,3492504319,US
+3492504320,3492504327,CA
+3492504328,3492504335,US
+3492504336,3492504343,PT
+3492504344,3492504383,US
+3492504384,3492504391,SG
+3492504392,3492504423,US
+3492504424,3492504431,GB
+3492504432,3492504439,BR
+3492504440,3492504511,US
+3492504512,3492504519,AU
+3492504520,3492504623,US
+3492504624,3492504631,BD
+3492504632,3492504863,US
+3492504864,3492504871,RU
+3492504872,3492504919,US
+3492504920,3492504927,TR
+3492504928,3492505183,US
+3492505184,3492505199,AU
+3492505200,3492505279,US
+3492505280,3492505287,TR
+3492505288,3492505295,US
+3492505296,3492505343,TR
+3492505344,3492505399,US
+3492505400,3492505407,GB
+3492505408,3492505439,SA
+3492505440,3492505447,US
+3492505448,3492505463,SA
+3492505464,3492505503,US
+3492505504,3492505511,BR
+3492505512,3492505663,US
+3492505664,3492505679,PL
+3492505680,3492505687,TR
+3492505688,3492505759,US
+3492505760,3492505767,TR
+3492505768,3492505967,US
+3492505968,3492505975,BR
+3492505976,3492505999,US
+3492506000,3492506007,PA
+3492506008,3492506335,US
+3492506336,3492506343,YE
+3492506344,3492506415,US
+3492506416,3492506423,GR
+3492506424,3492506447,US
+3492506448,3492506455,RS
+3492506456,3492506463,US
+3492506464,3492506471,GB
+3492506472,3492506623,US
+3492506624,3492506639,SA
+3492506640,3492506943,US
+3492506944,3492506975,IN
+3492506976,3492507071,US
+3492507072,3492507079,AE
+3492507080,3492507375,US
+3492507376,3492507383,RU
+3492507384,3492507415,US
+3492507416,3492507423,GB
+3492507424,3492507431,US
+3492507432,3492507439,AU
+3492507440,3492507551,US
+3492507552,3492507559,NZ
+3492507560,3492507727,US
+3492507728,3492507735,PL
+3492507736,3492507759,US
+3492507760,3492507767,UA
+3492507768,3492507839,US
+3492507840,3492507847,KW
+3492507848,3492507895,US
+3492507896,3492507903,NP
+3492507904,3492508063,US
+3492508064,3492508079,NP
+3492508080,3492508247,US
+3492508248,3492508255,AT
+3492508256,3492508319,US
+3492508320,3492508327,NO
+3492508328,3492508439,US
+3492508440,3492508447,PT
+3492508448,3492508607,US
+3492508608,3492508639,AT
+3492508640,3492508647,NO
+3492508648,3492508727,US
+3492508728,3492508735,SA
+3492508736,3492508855,US
+3492508856,3492508863,CO
+3492508864,3492509759,US
+3492509760,3492509791,UA
+3492509792,3492510071,US
+3492510072,3492510079,EG
+3492510080,3492510111,US
+3492510112,3492510119,IN
+3492510120,3492510183,US
+3492510184,3492510191,NZ
+3492510192,3492510447,US
+3492510448,3492510455,SC
+3492510456,3492510887,US
+3492510888,3492510895,BR
+3492510896,3492510919,US
+3492510920,3492510927,KW
+3492510928,3492511183,US
+3492511184,3492511191,BR
+3492511192,3492511351,US
+3492511352,3492511359,SA
+3492511360,3492511487,US
+3492511488,3492511495,BR
+3492511496,3492511527,US
+3492511528,3492511535,EG
+3492511536,3492511543,US
+3492511544,3492511551,IN
+3492511552,3492511871,US
+3492511872,3492511887,AU
+3492511888,3492511935,US
+3492511936,3492511967,IN
+3492511968,3492512015,US
+3492512016,3492512023,SG
+3492512024,3492512031,CN
+3492512032,3492512223,US
+3492512224,3492512231,AU
+3492512232,3492512239,CN
+3492512240,3492512319,US
+3492512320,3492512335,NP
+3492512336,3492512351,US
+3492512352,3492512383,CN
+3492512384,3492512399,US
+3492512400,3492512407,CN
+3492512408,3492512415,US
+3492512416,3492512431,NP
+3492512432,3492512599,US
+3492512600,3492512607,AU
+3492512608,3492512623,US
+3492512624,3492512639,SG
+3492512640,3492512695,US
+3492512696,3492512703,SA
+3492512704,3492513071,US
+3492513072,3492513079,AT
+3492513080,3492513119,US
+3492513120,3492513135,NP
+3492513136,3492513191,US
+3492513192,3492513199,CN
+3492513200,3492513279,US
+3492513280,3492513287,CN
+3492513288,3492513471,US
+3492513472,3492513487,NP
+3492513488,3492513495,US
+3492513496,3492513503,MX
+3492513504,3492513535,US
+3492513536,3492513551,NP
+3492513552,3492513559,AU
+3492513560,3492513583,US
+3492513584,3492513599,NP
+3492513600,3492513615,CN
+3492513616,3492513831,US
+3492513832,3492513839,CN
+3492513840,3492513951,US
+3492513952,3492513959,CA
+3492513960,3492513967,US
+3492513968,3492513975,CN
+3492513976,3492513983,US
+3492513984,3492513999,NP
+3492514000,3492514047,US
+3492514048,3492514063,AU
+3492514064,3492514815,US
+3492514816,3492514879,CA
+3492514880,3492514983,US
+3492514984,3492514991,CN
+3492514992,3492515583,US
+3492515584,3492515591,CN
+3492515592,3492515599,US
+3492515600,3492515607,PL
+3492515608,3492515615,US
+3492515616,3492515623,CN
+3492515624,3492515695,US
+3492515696,3492515711,NP
+3492515712,3492515951,US
+3492515952,3492515959,CA
+3492515960,3492516031,US
+3492516032,3492516047,NP
+3492516048,3492516055,US
+3492516056,3492516063,AU
+3492516064,3492516319,US
+3492516320,3492516335,CA
+3492516336,3492516519,US
+3492516520,3492516527,RO
+3492516528,3492516751,US
+3492516752,3492516759,EG
+3492516760,3492516799,US
+3492516800,3492516815,NP
+3492516816,3492517055,US
+3492517056,3492517071,NP
+3492517072,3492517487,US
+3492517488,3492517495,CA
+3492517496,3492517503,US
+3492517504,3492517519,CA
+3492517520,3492517551,US
+3492517552,3492517559,GB
+3492517560,3492517567,US
+3492517568,3492517575,MX
+3492517576,3492517743,US
+3492517744,3492517751,IE
+3492517752,3492517823,US
+3492517824,3492517831,CN
+3492517832,3492517839,US
+3492517840,3492517847,MX
+3492517848,3492517871,US
+3492517872,3492517887,NP
+3492517888,3492517895,US
+3492517896,3492517903,NL
+3492517904,3492518079,US
+3492518080,3492518095,CA
+3492518096,3492518103,TW
+3492518104,3492518111,CA
+3492518112,3492518127,IE
+3492518128,3492518271,US
+3492518272,3492518335,FM
+3492518336,3492518599,US
+3492518600,3492518607,IL
+3492518608,3492518687,US
+3492518688,3492518703,AU
+3492518704,3492518719,US
+3492518720,3492518735,AU
+3492518736,3492518863,US
+3492518864,3492518871,CA
+3492518872,3492518879,US
+3492518880,3492518887,NG
+3492518888,3492519135,US
+3492519136,3492519143,CN
+3492519144,3492519967,US
+3492519968,3492519999,AU
+3492520000,3492520351,US
+3492520352,3492520359,CA
+3492520360,3492520367,US
+3492520368,3492520375,LY
+3492520376,3492520543,US
+3492520544,3492520551,CN
+3492520552,3492520863,US
+3492520864,3492520871,PL
+3492520872,3492520919,US
+3492520920,3492520927,PL
+3492520928,3492521279,US
+3492521280,3492521295,CY
+3492521296,3492521311,US
+3492521312,3492521319,RU
+3492521320,3492521647,US
+3492521648,3492521655,CN
+3492521656,3492521695,US
+3492521696,3492521703,RU
+3492521704,3492521783,US
+3492521784,3492521791,PL
+3492521792,3492521855,US
+3492521856,3492521863,CN
+3492521864,3492521903,US
+3492521904,3492521927,CN
+3492521928,3492521935,US
+3492521936,3492521943,CN
+3492521944,3492522031,US
+3492522032,3492522039,CN
+3492522040,3492522047,US
+3492522048,3492522055,PH
+3492522056,3492522079,US
+3492522080,3492522095,CA
+3492522096,3492522367,US
+3492522368,3492522399,CA
+3492522400,3492522503,US
+3492522504,3492522511,CA
+3492522512,3492522559,US
+3492522560,3492522567,AU
+3492522568,3492522607,US
+3492522608,3492522615,CN
+3492522616,3492522687,US
+3492522688,3492522719,QA
+3492522720,3492522783,US
+3492522784,3492522791,VN
+3492522792,3492522799,US
+3492522800,3492522815,CA
+3492522816,3492523103,US
+3492523104,3492523111,PS
+3492523112,3492523327,US
+3492523328,3492523391,VN
+3492523392,3492523679,US
+3492523680,3492523695,IN
+3492523696,3492523719,US
+3492523720,3492523727,RU
+3492523728,3492524063,US
+3492524064,3492524079,PH
+3492524080,3492524087,EG
+3492524088,3492524495,US
+3492524496,3492524511,IN
+3492524512,3492524959,US
+3492524960,3492524991,AU
+3492524992,3492528143,US
+3492528144,3492528151,SA
+3492528152,3492528223,US
+3492528224,3492528231,GB
+3492528232,3492528239,SA
+3492528240,3492528591,US
+3492528592,3492528599,MX
+3492528600,3492528607,US
+3492528608,3492528615,EG
+3492528616,3492528639,US
+3492528640,3492528703,BR
+3492528704,3492528751,US
+3492528752,3492528759,CH
+3492528760,3492528975,US
+3492528976,3492528983,VE
+3492528984,3492529119,US
+3492529120,3492529127,GB
+3492529128,3492529183,US
+3492529184,3492529199,AU
+3492529200,3492529759,US
+3492529760,3492529791,CN
+3492529792,3492530191,US
+3492530192,3492530199,PH
+3492530200,3492530239,US
+3492530240,3492530247,ID
+3492530248,3492530951,US
+3492530952,3492530959,TR
+3492530960,3492531007,US
+3492531008,3492531015,BR
+3492531016,3492531167,US
+3492531168,3492531175,CO
+3492531176,3492531295,US
+3492531296,3492531303,LB
+3492531304,3492531599,US
+3492531600,3492531607,IN
+3492531608,3492531831,US
+3492531832,3492531839,IN
+3492531840,3492532047,US
+3492532048,3492532055,SA
+3492532056,3492532079,US
+3492532080,3492532087,SA
+3492532088,3492532543,US
+3492532544,3492532551,CA
+3492532552,3492532655,US
+3492532656,3492532663,AU
+3492532664,3492532991,US
+3492532992,3492533015,SA
+3492533016,3492533135,US
+3492533136,3492533143,SG
+3492533144,3492533303,US
+3492533304,3492533311,SA
+3492533312,3492533343,US
+3492533344,3492533351,BR
+3492533352,3492533375,US
+3492533376,3492533391,NG
+3492533392,3492533919,US
+3492533920,3492533951,CH
+3492533952,3492534391,US
+3492534392,3492534399,CN
+3492534400,3492534431,US
+3492534432,3492534439,BR
+3492534440,3492535167,US
+3492535168,3492535183,MX
+3492535184,3492535255,US
+3492535256,3492535263,CH
+3492535264,3492535423,US
+3492535424,3492535455,SA
+3492535456,3492535511,US
+3492535512,3492535519,NL
+3492535520,3492535679,US
+3492535680,3492535711,SA
+3492535712,3492535727,US
+3492535728,3492535735,CA
+3492535736,3492535791,US
+3492535792,3492535799,SA
+3492535800,3492536247,US
+3492536248,3492536255,ID
+3492536256,3492536391,US
+3492536392,3492536399,BR
+3492536400,3492536479,US
+3492536480,3492536519,SA
+3492536520,3492536527,GB
+3492536528,3492536591,US
+3492536592,3492536599,GB
+3492536600,3492536719,US
+3492536720,3492536735,RO
+3492536736,3492536911,US
+3492536912,3492536919,GB
+3492536920,3492536927,EG
+3492536928,3492536959,US
+3492536960,3492536991,TR
+3492536992,3492537223,US
+3492537224,3492537231,IN
+3492537232,3492537335,US
+3492537336,3492537343,IN
+3492537344,3492537663,US
+3492537664,3492537671,BR
+3492537672,3492537695,US
+3492537696,3492537703,AR
+3492537704,3492537863,US
+3492537864,3492537871,AR
+3492537872,3492537903,US
+3492537904,3492537911,EG
+3492537912,3492537983,US
+3492537984,3492538015,SA
+3492538016,3492538143,US
+3492538144,3492538159,EG
+3492538160,3492538223,US
+3492538224,3492538239,TR
+3492538240,3492538255,KW
+3492538256,3492538303,US
+3492538304,3492538311,SA
+3492538312,3492538335,US
+3492538336,3492538343,EG
+3492538344,3492538463,US
+3492538464,3492538471,BR
+3492538472,3492538479,NL
+3492538480,3492538607,US
+3492538608,3492538615,KW
+3492538616,3492538839,US
+3492538840,3492538847,NL
+3492538848,3492538991,US
+3492538992,3492539007,GR
+3492539008,3492539087,US
+3492539088,3492539095,TR
+3492539096,3492539119,US
+3492539120,3492539127,KW
+3492539128,3492539623,US
+3492539624,3492539631,IN
+3492539632,3492539871,US
+3492539872,3492539887,IN
+3492539888,3492539903,US
+3492539904,3492539935,DK
+3492539936,3492539943,KW
+3492539944,3492540071,US
+3492540072,3492540079,MX
+3492540080,3492541679,US
+3492541680,3492541695,BR
+3492541696,3492541887,US
+3492541888,3492541895,IN
+3492541896,3492542303,US
+3492542304,3492542311,BR
+3492542312,3492542567,US
+3492542568,3492542575,SA
+3492542576,3492542655,US
+3492542656,3492542671,AR
+3492542672,3492542991,US
+3492542992,3492542999,GB
+3492543000,3492543471,US
+3492543472,3492543479,CA
+3492543480,3492543607,US
+3492543608,3492543615,BR
+3492543616,3492543679,US
+3492543680,3492543687,HK
+3492543688,3492543759,US
+3492543760,3492543767,IN
+3492543768,3492544039,US
+3492544040,3492544047,UA
+3492544048,3492544351,US
+3492544352,3492544359,BR
+3492544360,3492544399,US
+3492544400,3492544407,NL
+3492544408,3492576143,US
3492576144,3492576151,CN
3492576152,3492646623,US
3492646624,3492646639,IL
@@ -128254,13 +147488,20 @@
3493081600,3493082623,PY
3493082624,3493089023,US
3493089024,3493089279,A2
-3493089280,3493138207,US
-3493138208,3493138239,DE
-3493138240,3493140223,US
+3493089280,3493136639,US
+3493136640,3493136895,GB
+3493136896,3493137663,US
+3493137664,3493137919,CH
+3493137920,3493139455,US
+3493139456,3493139711,AU
+3493139712,3493139967,US
+3493139968,3493140223,JM
3493140224,3493140479,DE
-3493140480,3493141279,US
-3493141280,3493141311,CY
-3493141312,3493244927,US
+3493140480,3493141503,US
+3493141504,3493141759,GB
+3493141760,3493142271,US
+3493142272,3493142527,ID
+3493142528,3493244927,US
3493244928,3493249023,PR
3493249024,3493866495,US
3493866496,3493867519,VG
@@ -128281,7 +147522,9 @@
3493901760,3493901767,AE
3493901768,3493901791,US
3493901792,3493901823,AE
-3493901824,3493901951,US
+3493901824,3493901847,US
+3493901848,3493901851,CA
+3493901852,3493901951,US
3493901952,3493901983,CA
3493901984,3493902215,US
3493902216,3493902223,CA
@@ -128295,7 +147538,9 @@
3493918720,3493936127,US
3493936128,3493937151,CA
3493937152,3493980159,US
-3493980160,3493981183,CA
+3493980160,3493980447,CA
+3493980448,3493980455,US
+3493980456,3493981183,CA
3493981184,3493982207,US
3493982208,3493984255,CA
3493984256,3493986303,US
@@ -128324,9 +147569,7 @@
3494088704,3494090751,CA
3494090752,3494094847,US
3494094848,3494095871,CA
-3494095872,3494101089,US
-3494101090,3494101097,JM
-3494101098,3494101319,US
+3494095872,3494101319,US
3494101320,3494101327,GB
3494101328,3494101377,US
3494101378,3494101385,JM
@@ -128340,9 +147583,7 @@
3494102624,3494102639,SB
3494102640,3494102687,US
3494102688,3494102701,PE
-3494102702,3494102703,US
-3494102704,3494102711,CA
-3494102712,3494102735,US
+3494102702,3494102735,US
3494102736,3494102743,VI
3494102744,3494109925,US
3494109926,3494109942,CA
@@ -128371,9 +147612,7 @@
3494122496,3494135807,US
3494135808,3494136831,CA
3494136832,3494139903,US
-3494139904,3494141735,CA
-3494141736,3494141743,US
-3494141744,3494141951,CA
+3494139904,3494141951,CA
3494141952,3494143999,US
3494144000,3494145023,CA
3494145024,3494159039,US
@@ -128411,9 +147650,7 @@
3494228032,3494228095,AU
3494228096,3494228319,US
3494228320,3494228335,RU
-3494228336,3494228495,US
-3494228496,3494228511,CA
-3494228512,3494228863,US
+3494228336,3494228863,US
3494228864,3494228927,IN
3494228928,3494229375,US
3494229376,3494229407,BZ
@@ -128423,9 +147660,7 @@
3494241928,3494241935,AU
3494241936,3494241951,US
3494241952,3494241959,IN
-3494241960,3494242175,US
-3494242176,3494242207,GB
-3494242208,3494242247,US
+3494241960,3494242247,US
3494242248,3494242255,CO
3494242256,3494244351,US
3494244352,3494246399,CA
@@ -128448,13 +147683,9 @@
3494272000,3494273023,KN
3494273024,3494275071,US
3494275072,3494277119,CA
-3494277120,3494290943,US
-3494290944,3494291455,GB
-3494291456,3494291743,US
+3494277120,3494291743,US
3494291744,3494291751,GB
-3494291752,3494291903,US
-3494291904,3494291967,GB
-3494291968,3494299663,US
+3494291752,3494299663,US
3494299664,3494299679,TH
3494299680,3494299687,US
3494299688,3494299695,SC
@@ -128472,13 +147703,11 @@
3494310912,3494311935,CA
3494311936,3494313135,US
3494313136,3494313143,GB
-3494313144,3494313151,RO
-3494313152,3494313327,US
+3494313144,3494313327,US
3494313328,3494313343,CO
3494313344,3494313359,US
3494313360,3494313375,MX
-3494313376,3494313383,ES
-3494313384,3494316031,US
+3494313376,3494316031,US
3494316032,3494317055,CA
3494317056,3494336511,US
3494336512,3494337023,CA
@@ -128490,9 +147719,7 @@
3494342656,3494344703,CA
3494344704,3494349223,US
3494349224,3494349231,GB
-3494349232,3494350079,US
-3494350080,3494350087,AU
-3494350088,3494350095,US
+3494349232,3494350095,US
3494350096,3494350103,CA
3494350104,3494359039,US
3494359040,3494360063,CA
@@ -128520,9 +147747,7 @@
3494418864,3494418871,CA
3494418872,3494418951,US
3494418952,3494418959,CA
-3494418960,3494419007,US
-3494419008,3494419039,ID
-3494419040,3494419095,US
+3494418960,3494419095,US
3494419096,3494419103,JO
3494419104,3494419111,US
3494419112,3494419119,BR
@@ -128543,9 +147768,7 @@
3494419384,3494419399,US
3494419400,3494419407,RU
3494419408,3494419411,ES
-3494419412,3494420223,US
-3494420224,3494420239,BO
-3494420240,3494420415,US
+3494419412,3494420415,US
3494420416,3494420447,CA
3494420448,3494422527,US
3494422528,3494425599,CA
@@ -128566,29 +147789,19 @@
3494438144,3494438399,DM
3494438400,3494438655,KN
3494438656,3494438911,DM
-3494438912,3494449287,US
-3494449288,3494449311,CA
-3494449312,3494449439,US
-3494449440,3494449663,CA
-3494449664,3494449695,US
-3494449696,3494450431,CA
-3494450432,3494450471,US
+3494438912,3494449151,US
+3494449152,3494450431,CA
+3494450432,3494450455,US
+3494450456,3494450463,CA
+3494450464,3494450471,US
3494450472,3494450479,CA
3494450480,3494450495,US
3494450496,3494451199,CA
-3494451200,3494454128,US
-3494454129,3494454158,PH
-3494454159,3494455295,US
+3494451200,3494455295,US
3494455296,3494456319,CA
-3494456320,3494457368,US
-3494457369,3494457379,GB
-3494457380,3494457779,US
+3494456320,3494457779,US
3494457780,3494457787,GB
-3494457788,3494458201,US
-3494458202,3494458211,FR
-3494458212,3494458231,US
-3494458232,3494458255,DE
-3494458256,3494459391,US
+3494457788,3494459391,US
3494459392,3494460415,CA
3494460416,3494464511,US
3494464512,3494465535,CA
@@ -128597,28 +147810,18 @@
3494501040,3494510591,US
3494510592,3494512639,CA
3494512640,3494512895,US
-3494512896,3494512911,NO
-3494512912,3494512919,US
-3494512920,3494513151,NO
+3494512896,3494513151,NO
3494513152,3494516735,US
3494516736,3494517759,CA
3494517760,3494539263,US
3494539264,3494540287,A2
-3494540288,3494554440,US
-3494554441,3494554448,GB
-3494554449,3494554453,US
+3494540288,3494554453,US
3494554454,3494554461,ES
-3494554462,3494554534,US
-3494554535,3494554542,GB
-3494554543,3494554554,US
+3494554462,3494554554,US
3494554555,3494554562,ES
3494554563,3494554655,US
3494554656,3494554687,TR
-3494554688,3494555053,US
-3494555054,3494555074,CA
-3494555075,3494555107,US
-3494555108,3494555116,CA
-3494555117,3494555167,US
+3494554688,3494555167,US
3494555168,3494555199,TR
3494555200,3494555263,US
3494555264,3494555295,TR
@@ -128638,7 +147841,9 @@
3494627328,3494628351,BM
3494628352,3494651903,US
3494651904,3494652927,CA
-3494652928,3494660095,US
+3494652928,3494655807,US
+3494655808,3494655871,GB
+3494655872,3494660095,US
3494660096,3494661119,CA
3494661120,3494668287,US
3494668288,3494669375,CA
@@ -128679,8 +147884,8 @@
3494701056,3494705319,US
3494705320,3494705327,MX
3494705328,3494712319,US
-3494712320,3494713343,CA
-3494713344,3494727679,US
+3494712320,3494712575,CA
+3494712576,3494727679,US
3494727680,3494729727,CA
3494729728,3494730751,US
3494730752,3494731775,CA
@@ -128694,11 +147899,7 @@
3494745152,3494745159,AU
3494745160,3494745303,US
3494745304,3494745311,AU
-3494745312,3494745879,US
-3494745880,3494745887,GB
-3494745888,3494745919,US
-3494745920,3494745927,CN
-3494745928,3494745951,US
+3494745312,3494745951,US
3494745952,3494745959,GB
3494745960,3494746019,US
3494746020,3494746023,AU
@@ -128706,17 +147907,13 @@
3494747136,3494748159,CA
3494748160,3494757375,US
3494757376,3494758399,CA
-3494758400,3494763007,US
-3494763008,3494763015,ES
-3494763016,3494763047,US
+3494758400,3494763047,US
3494763048,3494763055,JP
3494763056,3494763063,AU
3494763064,3494763071,MX
3494763072,3494763119,US
3494763120,3494763127,DE
-3494763128,3494763143,US
-3494763144,3494763151,ES
-3494763152,3494763199,US
+3494763128,3494763199,US
3494763200,3494763207,KY
3494763208,3494763903,US
3494763904,3494763919,AU
@@ -128728,15 +147925,13 @@
3494764344,3494764351,GB
3494764352,3494764375,US
3494764376,3494764383,AU
-3494764384,3494764391,GB
-3494764392,3494764447,US
-3494764448,3494764463,GB
-3494764464,3494764527,US
+3494764384,3494764447,US
+3494764448,3494764455,GB
+3494764456,3494764527,US
3494764528,3494764535,ES
3494764536,3494776831,US
3494776832,3494777855,CA
3494777856,3494785023,US
-3494785024,3494787071,MF
3494787072,3494787199,A2
3494787200,3494787231,GB
3494787232,3494789119,A2
@@ -128748,15 +147943,14 @@
3494861576,3494861583,CH
3494861584,3494861615,US
3494861616,3494861623,AU
-3494861624,3494861839,US
-3494861840,3494861855,AU
-3494861856,3494861935,US
-3494861936,3494861943,AU
-3494861944,3494861999,US
+3494861624,3494861991,US
+3494861992,3494861999,GB
3494862000,3494862007,CA
-3494862008,3494862255,US
-3494862256,3494862263,CZ
-3494862264,3494862639,US
+3494862008,3494862095,US
+3494862096,3494862103,DO
+3494862104,3494862143,US
+3494862144,3494862151,FR
+3494862152,3494862639,US
3494862640,3494862647,JP
3494862648,3494862847,US
3494862848,3494863871,DM
@@ -128774,20 +147968,34 @@
3494917120,3494917631,CA
3494917632,3494928383,US
3494928384,3494930431,CA
-3494930432,3494935746,US
+3494930432,3494935684,US
+3494935685,3494935685,AU
+3494935686,3494935746,US
3494935747,3494935747,GB
-3494935748,3494936002,US
+3494935748,3494935752,US
+3494935753,3494935753,AU
+3494935754,3494935940,US
+3494935941,3494935941,AU
+3494935942,3494936002,US
3494936003,3494936003,GB
-3494936004,3494936258,US
+3494936004,3494936008,US
+3494936009,3494936009,AU
+3494936010,3494936196,US
+3494936197,3494936197,AU
+3494936198,3494936258,US
3494936259,3494936259,GB
-3494936260,3494936514,US
+3494936260,3494936264,US
+3494936265,3494936265,AU
+3494936266,3494936452,US
+3494936453,3494936453,AU
+3494936454,3494936514,US
3494936515,3494936515,GB
-3494936516,3494938623,US
+3494936516,3494936520,US
+3494936521,3494936521,AU
+3494936522,3494938623,US
3494938624,3494939647,CA
3494939648,3494949889,US
-3494949890,3494949952,GB
-3494949953,3494949972,US
-3494949973,3494950142,GB
+3494949890,3494950142,GB
3494950143,3494950655,US
3494950656,3494950911,PH
3494950912,3494964223,US
@@ -128840,43 +148048,46 @@
3495153664,3495155711,CA
3495155712,3495157039,US
3495157040,3495157047,SE
-3495157048,3495159807,US
-3495159808,3495159815,ES
-3495159816,3495159839,US
+3495157048,3495159839,US
3495159840,3495159847,BR
3495159848,3495159871,US
3495159872,3495159879,AE
-3495159880,3495159887,BD
+3495159880,3495159887,US
3495159888,3495159895,GB
-3495159896,3495159903,IN
+3495159896,3495159903,PE
3495159904,3495159927,US
3495159928,3495159935,IN
3495159936,3495160071,US
3495160072,3495160079,HK
3495160080,3495160111,US
-3495160112,3495160119,NZ
-3495160120,3495160303,US
+3495160112,3495160119,RU
+3495160120,3495160255,US
+3495160256,3495160263,PE
+3495160264,3495160271,FR
+3495160272,3495160303,US
3495160304,3495160319,TR
-3495160320,3495160367,US
-3495160368,3495160383,ZA
-3495160384,3495160447,US
-3495160448,3495160455,BR
-3495160456,3495160463,US
-3495160464,3495160479,TR
-3495160480,3495160511,CA
-3495160512,3495160535,US
-3495160536,3495160543,BR
-3495160544,3495160863,US
-3495160864,3495160895,TR
-3495160896,3495161055,US
+3495160320,3495160359,US
+3495160360,3495160367,GB
+3495160368,3495160383,US
+3495160384,3495160391,PE
+3495160392,3495161055,US
3495161056,3495161087,TR
-3495161088,3495161151,US
-3495161152,3495161167,TR
-3495161168,3495161359,US
-3495161360,3495161367,IT
-3495161368,3495164239,US
+3495161088,3495161351,US
+3495161352,3495161359,RU
+3495161360,3495161367,CY
+3495161368,3495161375,US
+3495161376,3495161383,UY
+3495161384,3495161399,US
+3495161400,3495161407,FI
+3495161408,3495161415,US
+3495161416,3495161423,EG
+3495161424,3495164191,US
+3495164192,3495164199,CA
+3495164200,3495164239,US
3495164240,3495164247,CA
-3495164248,3495187199,US
+3495164248,3495164335,US
+3495164336,3495164343,CO
+3495164344,3495187199,US
3495187200,3495187455,IM
3495187456,3495192575,US
3495192576,3495193599,CA
@@ -128888,21 +148099,13 @@
3495235696,3495235703,FR
3495235704,3495235783,US
3495235784,3495235791,HR
-3495235792,3495235823,US
-3495235824,3495235831,GB
-3495235832,3495235903,US
-3495235904,3495235911,CA
-3495235912,3495235975,US
+3495235792,3495235975,US
3495235976,3495235983,VN
-3495235984,3495235999,US
-3495236000,3495236007,HK
-3495236008,3495236015,US
+3495235984,3495236015,US
3495236016,3495236031,GB
3495236032,3495236247,US
3495236248,3495236255,AZ
-3495236256,3495236367,US
-3495236368,3495236375,CA
-3495236376,3495236423,US
+3495236256,3495236423,US
3495236424,3495236431,SG
3495236432,3495236439,IN
3495236440,3495251967,US
@@ -128956,7 +148159,9 @@
3495363020,3495363023,AR
3495363024,3495363399,US
3495363400,3495363407,BD
-3495363408,3495367679,US
+3495363408,3495363439,US
+3495363440,3495363455,BD
+3495363456,3495367679,US
3495367680,3495368703,CA
3495368704,3495370239,US
3495370240,3495370495,CA
@@ -129035,9 +148240,7 @@
3495520572,3495520579,KE
3495520580,3495520667,US
3495520668,3495520706,BR
-3495520707,3495520707,US
-3495520708,3495520715,CH
-3495520716,3495526399,US
+3495520707,3495526399,US
3495526400,3495527423,CA
3495527424,3495542783,US
3495542784,3495544831,A2
@@ -129049,9 +148252,7 @@
3495547427,3495547427,BD
3495547428,3495547445,US
3495547446,3495547447,BD
-3495547448,3495547471,US
-3495547472,3495547479,GB
-3495547480,3495547605,US
+3495547448,3495547605,US
3495547606,3495547606,BD
3495547607,3495547633,US
3495547634,3495547635,CO
@@ -129074,17 +148275,11 @@
3495548636,3495548637,BD
3495548638,3495548640,US
3495548641,3495548648,BD
-3495548649,3495549238,US
-3495549239,3495549302,CA
-3495549303,3495549366,US
-3495549367,3495549430,CA
-3495549431,3495549809,US
+3495548649,3495549809,US
3495549810,3495549813,IN
3495549814,3495549917,US
3495549918,3495549923,CA
-3495549924,3495550031,US
-3495550032,3495550039,CA
-3495550040,3495550207,US
+3495549924,3495550207,US
3495550208,3495550463,CA
3495550464,3495551999,US
3495552000,3495553023,BM
@@ -129105,8 +148300,7 @@
3495657568,3495658527,US
3495658528,3495658559,FR
3495658560,3495673855,US
-3495673856,3495674623,GP
-3495674624,3495674879,MF
+3495673856,3495674879,GP
3495674880,3495675903,VG
3495675904,3495688191,US
3495688192,3495689215,CA
@@ -129125,34 +148319,22 @@
3495727104,3495740415,US
3495740416,3495741439,CA
3495741440,3495749631,US
-3495749632,3495749735,CA
-3495749736,3495749745,US
-3495749746,3495749785,CA
-3495749786,3495749829,GB
-3495749830,3495749908,CA
-3495749909,3495749933,GB
-3495749934,3495749959,CA
-3495749960,3495749990,GB
-3495749991,3495749991,CA
-3495749992,3495750021,GB
-3495750022,3495750026,CA
+3495749632,3495749846,CA
+3495749847,3495749856,US
+3495749857,3495750026,CA
3495750027,3495750051,US
3495750052,3495750189,CA
3495750190,3495750204,PA
3495750205,3495750267,CA
3495750268,3495750277,US
-3495750278,3495750302,CA
-3495750303,3495750327,US
-3495750328,3495750343,CA
+3495750278,3495750343,CA
3495750344,3495750378,AU
3495750379,3495750434,CA
3495750435,3495750444,AU
3495750445,3495750655,CA
3495750656,3495781311,US
3495781312,3495781375,CA
-3495781376,3495812879,US
-3495812880,3495812895,GB
-3495812896,3495815167,US
+3495781376,3495815167,US
3495815168,3495815407,CA
3495815408,3495815411,US
3495815412,3495815615,CA
@@ -129160,16 +148342,26 @@
3495815620,3495817215,CA
3495817216,3495828479,US
3495828480,3495829503,CA
-3495829504,3495847935,US
+3495829504,3495837695,US
+3495837696,3495838463,CA
+3495838464,3495847935,US
3495847936,3495849983,CA
-3495849984,3495859394,US
+3495849984,3495859332,US
+3495859333,3495859333,AU
+3495859334,3495859394,US
3495859395,3495859395,GB
-3495859396,3495859650,US
+3495859396,3495859400,US
+3495859401,3495859401,AU
+3495859402,3495859588,US
+3495859589,3495859589,AU
+3495859590,3495859650,US
3495859651,3495859651,GB
-3495859652,3495862271,US
+3495859652,3495859656,US
+3495859657,3495859657,AU
+3495859658,3495862271,US
3495862272,3495864319,CA
3495864320,3495864831,DM
-3495864832,3495865343,MF
+3495864832,3495865343,GP
3495865344,3495865439,CA
3495865440,3495865471,BD
3495865472,3495866047,CA
@@ -129207,11 +148399,92 @@
3496202304,3496205839,US
3496205840,3496205855,ID
3496205856,3496205871,CA
-3496205872,3496220995,US
-3496220996,3496220997,GB
-3496220998,3496221014,US
+3496205872,3496221014,US
3496221015,3496221016,GB
-3496221017,3496296447,US
+3496221017,3496280287,US
+3496280288,3496280303,GB
+3496280304,3496280863,US
+3496280864,3496280871,CN
+3496280872,3496281023,US
+3496281024,3496281055,AU
+3496281056,3496281663,US
+3496281664,3496281679,KW
+3496281680,3496282335,US
+3496282336,3496282343,CN
+3496282344,3496283063,US
+3496283064,3496283071,HK
+3496283072,3496283599,US
+3496283600,3496283607,TR
+3496283608,3496283647,US
+3496283648,3496283655,GB
+3496283656,3496283751,US
+3496283752,3496283759,CN
+3496283760,3496283775,US
+3496283776,3496283783,CA
+3496283784,3496284343,US
+3496284344,3496284351,GB
+3496284352,3496284383,US
+3496284384,3496284391,CA
+3496284392,3496284543,US
+3496284544,3496284551,CN
+3496284552,3496285327,US
+3496285328,3496285335,CN
+3496285336,3496286031,US
+3496286032,3496286047,CA
+3496286048,3496286767,US
+3496286768,3496286775,CN
+3496286776,3496286911,US
+3496286912,3496286919,MX
+3496286920,3496287983,US
+3496287984,3496287991,CA
+3496287992,3496288167,US
+3496288168,3496288175,ES
+3496288176,3496288559,US
+3496288560,3496288567,CN
+3496288568,3496289503,US
+3496289504,3496289511,SA
+3496289512,3496289623,US
+3496289624,3496289631,CA
+3496289632,3496289807,US
+3496289808,3496289815,CN
+3496289816,3496290127,US
+3496290128,3496290135,GB
+3496290136,3496290751,US
+3496290752,3496290759,NL
+3496290760,3496290767,US
+3496290768,3496290775,CA
+3496290776,3496291079,US
+3496291080,3496291087,GB
+3496291088,3496291127,US
+3496291128,3496291135,ZA
+3496291136,3496291215,US
+3496291216,3496291223,CA
+3496291224,3496291591,US
+3496291592,3496291599,CA
+3496291600,3496291703,US
+3496291704,3496291711,IN
+3496291712,3496291999,US
+3496292000,3496292007,GB
+3496292008,3496292095,US
+3496292096,3496292103,CN
+3496292104,3496292319,US
+3496292320,3496292335,PH
+3496292336,3496292343,IT
+3496292344,3496292511,US
+3496292512,3496292519,AR
+3496292520,3496292807,US
+3496292808,3496292815,EG
+3496292816,3496294447,US
+3496294448,3496294455,GB
+3496294456,3496294495,US
+3496294496,3496294503,GB
+3496294504,3496295087,US
+3496295088,3496295095,SA
+3496295096,3496295375,US
+3496295376,3496295383,CA
+3496295384,3496295839,US
+3496295840,3496295871,AR
+3496295872,3496296447,US
3496296448,3496312831,CA
3496312832,3496468479,US
3496468480,3496476671,CA
@@ -129221,13 +148494,11 @@
3496882176,3496886399,US
3496886400,3496886407,TR
3496886408,3496886423,US
-3496886424,3496886431,TR
-3496886432,3496886447,US
-3496886448,3496886463,TR
+3496886424,3496886463,TR
3496886464,3496886495,US
3496886496,3496886503,CA
-3496886504,3496886607,US
-3496886608,3496886623,CA
+3496886504,3496886615,US
+3496886616,3496886623,CA
3496886624,3496886655,US
3496886656,3496886671,IN
3496886672,3496886711,US
@@ -129240,9 +148511,7 @@
3496887136,3496887167,AU
3496887168,3496887399,US
3496887400,3496887407,PK
-3496887408,3496887439,US
-3496887440,3496887447,AU
-3496887448,3496887471,US
+3496887408,3496887471,US
3496887472,3496887503,AU
3496887504,3496887511,US
3496887512,3496887519,CA
@@ -129253,8 +148522,7 @@
3496887552,3496887559,TR
3496887560,3496887575,US
3496887576,3496887583,AU
-3496887584,3496887623,US
-3496887624,3496887631,MY
+3496887584,3496887631,US
3496887632,3496887639,RU
3496887640,3496887655,US
3496887656,3496887663,AU
@@ -129266,17 +148534,13 @@
3496887976,3496887983,AU
3496887984,3496888063,US
3496888064,3496888095,AU
-3496888096,3496888103,PT
-3496888104,3496888111,GB
-3496888112,3496888127,US
+3496888096,3496888127,US
3496888128,3496888159,TR
3496888160,3496888207,US
3496888208,3496888223,AU
3496888224,3496888231,US
3496888232,3496888239,BR
-3496888240,3496888279,US
-3496888280,3496888287,DE
-3496888288,3496888319,US
+3496888240,3496888319,US
3496888320,3496888335,AU
3496888336,3496888343,US
3496888344,3496888351,AU
@@ -129300,9 +148564,7 @@
3496893992,3496893999,TR
3496894000,3496894463,US
3496894464,3496902655,CA
-3496902656,3496943775,US
-3496943776,3496943807,JP
-3496943808,3496951807,US
+3496902656,3496951807,US
3496951808,3496959999,CA
3496960000,3497001247,US
3497001248,3497001263,AU
@@ -129423,9 +148685,7 @@
3497163040,3497163047,ES
3497163048,3497163103,US
3497163104,3497163111,NO
-3497163112,3497163135,US
-3497163136,3497163151,GB
-3497163152,3497163167,US
+3497163112,3497163167,US
3497163168,3497163175,GB
3497163176,3497163311,US
3497163312,3497163319,NO
@@ -129467,7 +148727,46 @@
3497227600,3497227615,CA
3497227616,3497233407,US
3497233408,3497233663,CN
-3497233664,3497263815,US
+3497233664,3497248959,US
+3497248960,3497248975,BR
+3497248976,3497249055,US
+3497249056,3497249087,BR
+3497249088,3497250815,US
+3497250816,3497250831,BR
+3497250832,3497251503,US
+3497251504,3497251519,BR
+3497251520,3497251527,US
+3497251528,3497251535,IN
+3497251536,3497251823,US
+3497251824,3497251839,BR
+3497251840,3497252207,US
+3497252208,3497252223,SA
+3497252224,3497252839,US
+3497252840,3497252847,CL
+3497252848,3497252863,BR
+3497252864,3497253287,US
+3497253288,3497253295,IN
+3497253296,3497254287,US
+3497254288,3497254295,GB
+3497254296,3497255087,US
+3497255088,3497255103,BR
+3497255104,3497255135,US
+3497255136,3497255167,IN
+3497255168,3497256167,US
+3497256168,3497256191,JO
+3497256192,3497256239,US
+3497256240,3497256255,BR
+3497256256,3497259263,US
+3497259264,3497259295,AR
+3497259296,3497259375,US
+3497259376,3497259391,BR
+3497259392,3497259791,US
+3497259792,3497259807,BR
+3497259808,3497259967,US
+3497259968,3497259983,BR
+3497259984,3497260015,US
+3497260016,3497260031,BR
+3497260032,3497263815,US
3497263816,3497263823,GB
3497263824,3497264127,US
3497264128,3497264159,CA
@@ -129485,19 +148784,13 @@
3497273920,3497273927,CA
3497273928,3497274175,US
3497274176,3497274207,CA
-3497274208,3497276951,US
-3497276952,3497276959,IN
-3497276960,3497277159,US
-3497277160,3497277167,IN
-3497277168,3497410559,US
+3497274208,3497410559,US
3497410560,3497431039,CA
3497431040,3497447423,US
3497447424,3497451519,CA
3497451520,3497713415,US
3497713416,3497713423,EC
-3497713424,3497713543,US
-3497713544,3497713551,CA
-3497713552,3497717759,US
+3497713424,3497717759,US
3497717760,3497719807,A2
3497719808,3497719839,MR
3497719840,3497721343,A2
@@ -129523,9 +148816,7 @@
3498429952,3498430207,CR
3498430208,3498505343,US
3498505344,3498505375,SG
-3498505376,3498509055,US
-3498509056,3498510335,PR
-3498510336,3498513151,US
+3498505376,3498513151,US
3498513152,3498513407,CL
3498513408,3498513919,US
3498513920,3498514431,CL
@@ -129534,12 +148825,12 @@
3498588160,3498599935,US
3498599936,3498600191,WS
3498600192,3498708991,US
-3498708992,3498713639,JM
-3498713640,3498713647,CA
-3498713648,3498717183,JM
+3498708992,3498717183,JM
3498717184,3498760191,US
-3498760192,3498762239,PR
-3498762240,3498812415,US
+3498760192,3498761215,PR
+3498761216,3498761727,US
+3498761728,3498761983,PR
+3498761984,3498812415,US
3498812416,3498812671,PF
3498812672,3499186591,US
3499186592,3499186623,MX
@@ -129588,31 +148879,7 @@
3500486656,3500490751,CR
3500490752,3500613631,US
3500613632,3500614655,MZ
-3500614656,3500663545,US
-3500663546,3500663546,CA
-3500663547,3500664319,US
-3500664320,3500664375,CA
-3500664376,3500664383,US
-3500664384,3500664431,CA
-3500664432,3500664511,US
-3500664512,3500664535,CA
-3500664536,3500664573,US
-3500664574,3500664574,CA
-3500664575,3500664575,US
-3500664576,3500664591,CA
-3500664592,3500664831,US
-3500664832,3500665103,CA
-3500665104,3500665119,US
-3500665120,3500665343,CA
-3500665344,3500665855,US
-3500665856,3500665871,CA
-3500665872,3500665887,US
-3500665888,3500665935,CA
-3500665936,3500665983,US
-3500665984,3500666111,CA
-3500666112,3500669951,US
-3500669952,3500670463,CA
-3500670464,3500689407,US
+3500614656,3500689407,US
3500689408,3500689919,CL
3500689920,3500707327,US
3500707328,3500707839,CA
@@ -129629,7 +148896,11 @@
3500809992,3500809999,CA
3500810000,3500810247,US
3500810248,3500810255,CA
-3500810256,3500812175,US
+3500810256,3500811567,US
+3500811568,3500811583,AU
+3500811584,3500811591,US
+3500811592,3500811631,AU
+3500811632,3500812175,US
3500812176,3500812183,GB
3500812184,3500921279,US
3500921280,3500921311,AU
@@ -129666,37 +148937,7 @@
3501809152,3501809407,CA
3501809408,3501817983,US
3501817984,3501818015,HK
-3501818016,3502002807,US
-3502002808,3502002815,PR
-3502002816,3502013919,US
-3502013920,3502013927,PR
-3502013928,3502013935,US
-3502013936,3502013943,PR
-3502013944,3502045679,US
-3502045680,3502045687,PR
-3502045688,3502070775,US
-3502070776,3502070783,PR
-3502070784,3502082383,US
-3502082384,3502082391,PR
-3502082392,3502100255,US
-3502100256,3502100263,PR
-3502100264,3502144759,US
-3502144760,3502144767,PR
-3502144768,3502146927,US
-3502146928,3502146935,PR
-3502146936,3502159391,US
-3502159392,3502159399,PR
-3502159400,3502159407,US
-3502159408,3502159415,PR
-3502159416,3502202159,US
-3502202160,3502202167,PR
-3502202168,3502202287,US
-3502202288,3502202295,PR
-3502202296,3502202647,US
-3502202648,3502202655,PR
-3502202656,3502207535,US
-3502207536,3502207543,PR
-3502207544,3502439167,US
+3501818016,3502439167,US
3502439168,3502439423,PK
3502439424,3502470143,US
3502470144,3502471167,MX
@@ -129726,14 +148967,9 @@
3503250432,3503250943,PK
3503250944,3503323135,US
3503323136,3503323647,KE
-3503323648,3503323903,A2
-3503323904,3503372031,US
-3503372032,3503372287,A2
-3503372288,3503386111,US
+3503323648,3503386111,US
3503386112,3503386367,CH
-3503386368,3503413871,US
-3503413872,3503413887,PR
-3503413888,3503454719,US
+3503386368,3503454719,US
3503454720,3503454975,AZ
3503454976,3503478783,US
3503478784,3503479039,DE
@@ -129798,9 +149034,7 @@
3505664800,3505664831,UA
3505664832,3505818623,US
3505818624,3505819647,BS
-3505819648,3505999359,US
-3505999360,3506000127,PR
-3506000128,3506043135,US
+3505819648,3506043135,US
3506043136,3506044927,PA
3506044928,3506052543,US
3506052544,3506052559,DE
@@ -129824,8 +149058,14 @@
3506384000,3506384031,CA
3506384032,3506421983,US
3506421984,3506422015,PR
-3506422016,3506765823,US
-3506765824,3506831359,CA
+3506422016,3506580863,US
+3506580864,3506580927,PL
+3506580928,3506765823,US
+3506765824,3506794503,CA
+3506794504,3506794511,US
+3506794512,3506806719,CA
+3506806720,3506806727,US
+3506806728,3506831359,CA
3506831360,3507025407,US
3507025408,3507025663,IQ
3507025664,3507101919,US
@@ -129842,9 +149082,7 @@
3507598944,3507601407,CA
3507601408,3507634335,US
3507634336,3507634351,IQ
-3507634352,3507634383,US
-3507634384,3507634399,ES
-3507634400,3507634623,US
+3507634352,3507634623,US
3507634624,3507634655,CA
3507634656,3507635391,US
3507635392,3507635407,AU
@@ -129856,16 +149094,13 @@
3507639190,3507639199,IT
3507639200,3507639385,US
3507639386,3507639395,BE
-3507639396,3507639515,US
-3507639516,3507639525,IN
-3507639526,3507639671,US
+3507639396,3507639671,US
3507639672,3507639681,SY
3507639682,3507639711,US
3507639712,3507639721,BE
3507639722,3507639741,US
3507639742,3507639751,NZ
-3507639752,3507639761,LB
-3507639762,3507642527,US
+3507639752,3507642527,US
3507642528,3507642559,IL
3507642560,3507642591,CA
3507642592,3507643007,US
@@ -129880,9 +149115,7 @@
3507643316,3507643325,JP
3507643326,3507643461,US
3507643462,3507643471,AU
-3507643472,3507643521,US
-3507643522,3507643531,LB
-3507643532,3507643601,US
+3507643472,3507643601,US
3507643602,3507643611,IT
3507643612,3507644031,US
3507644032,3507644063,IL
@@ -129892,9 +149125,7 @@
3507644512,3507644543,NO
3507644544,3507644591,US
3507644592,3507644607,GB
-3507644608,3507644639,US
-3507644640,3507644671,FR
-3507644672,3507645017,US
+3507644608,3507645017,US
3507645018,3507645027,AU
3507645028,3507645037,UA
3507645038,3507645117,US
@@ -129910,9 +149141,7 @@
3507645424,3507645433,GB
3507645434,3507645479,US
3507645480,3507645489,GR
-3507645490,3507646127,US
-3507646128,3507646143,ES
-3507646144,3507647807,US
+3507645490,3507647807,US
3507647808,3507647871,AU
3507647872,3507649263,US
3507649264,3507649279,QA
@@ -129942,9 +149171,7 @@
3508118528,3508118559,AU
3508118560,3508118911,US
3508118912,3508118943,CA
-3508118944,3508123935,US
-3508123936,3508123951,CA
-3508123952,3508126239,US
+3508118944,3508126239,US
3508126240,3508126255,GB
3508126256,3508130815,US
3508130816,3508130831,RU
@@ -130064,16 +149291,13 @@
3508292416,3508292447,CL
3508292448,3508292863,US
3508292864,3508294143,DE
-3508294144,3508294271,US
-3508294272,3508294335,VI
-3508294336,3508295439,US
+3508294144,3508295439,US
3508295440,3508295487,BR
3508295488,3508295519,GB
3508295520,3508295551,US
3508295552,3508295615,BR
3508295616,3508295631,ES
-3508295632,3508295647,US
-3508295648,3508295679,BE
+3508295632,3508295679,US
3508295680,3508295935,GB
3508295936,3508295999,US
3508296000,3508296015,BR
@@ -130152,8 +149376,7 @@
3508303616,3508303871,DE
3508303872,3508303903,US
3508303904,3508303935,CL
-3508303936,3508303950,PR
-3508303951,3508303951,US
+3508303936,3508303951,US
3508303952,3508303967,CO
3508303968,3508303983,US
3508303984,3508303999,BR
@@ -130337,9 +149560,167 @@
3509327712,3509327807,US
3509327808,3509327871,CA
3509327872,3509346303,US
-3509346304,3509350711,CA
-3509350712,3509350719,US
-3509350720,3509354495,CA
+3509346304,3509346327,CA
+3509346328,3509346335,US
+3509346336,3509346815,CA
+3509346816,3509346823,US
+3509346824,3509346975,CA
+3509346976,3509347007,AU
+3509347008,3509347103,CA
+3509347104,3509347119,US
+3509347120,3509347135,CA
+3509347136,3509347151,DE
+3509347152,3509347167,CA
+3509347168,3509347175,US
+3509347176,3509347207,CA
+3509347208,3509347215,LB
+3509347216,3509347263,CA
+3509347264,3509347279,MT
+3509347280,3509347311,CA
+3509347312,3509347327,US
+3509347328,3509347375,CA
+3509347376,3509347383,TR
+3509347384,3509347391,US
+3509347392,3509347607,CA
+3509347608,3509347615,US
+3509347616,3509347623,CA
+3509347624,3509347631,KW
+3509347632,3509347647,CA
+3509347648,3509347655,US
+3509347656,3509347663,BY
+3509347664,3509347671,US
+3509347672,3509347679,CA
+3509347680,3509347703,US
+3509347704,3509347711,BD
+3509347712,3509347743,CA
+3509347744,3509347759,US
+3509347760,3509347807,CA
+3509347808,3509347815,SG
+3509347816,3509347839,CA
+3509347840,3509347903,US
+3509347904,3509347967,CA
+3509347968,3509347975,FR
+3509347976,3509348031,CA
+3509348032,3509348095,US
+3509348096,3509348383,CA
+3509348384,3509348415,LB
+3509348416,3509348479,CA
+3509348480,3509348495,IN
+3509348496,3509348511,CA
+3509348512,3509348543,LB
+3509348544,3509348575,CA
+3509348576,3509348607,US
+3509348608,3509348863,CA
+3509348864,3509348991,US
+3509348992,3509349023,CA
+3509349024,3509349119,US
+3509349120,3509349279,CA
+3509349280,3509349311,US
+3509349312,3509349359,CA
+3509349360,3509349367,US
+3509349368,3509349655,CA
+3509349656,3509349663,AU
+3509349664,3509349695,CA
+3509349696,3509349703,US
+3509349704,3509349727,CA
+3509349728,3509349735,US
+3509349736,3509349767,CA
+3509349768,3509349775,US
+3509349776,3509349783,CA
+3509349784,3509349791,US
+3509349792,3509349799,CA
+3509349800,3509349803,US
+3509349804,3509349815,CA
+3509349816,3509349823,AU
+3509349824,3509349847,CA
+3509349848,3509349855,US
+3509349856,3509350223,CA
+3509350224,3509350239,IL
+3509350240,3509350255,BY
+3509350256,3509350263,CN
+3509350264,3509350327,CA
+3509350328,3509350351,US
+3509350352,3509350359,PR
+3509350360,3509350367,US
+3509350368,3509350663,CA
+3509350664,3509350671,BD
+3509350672,3509350679,DE
+3509350680,3509350703,CA
+3509350704,3509350719,US
+3509350720,3509350743,CA
+3509350744,3509350751,BY
+3509350752,3509350775,CA
+3509350776,3509350783,US
+3509350784,3509350799,CA
+3509350800,3509350807,ES
+3509350808,3509350815,CA
+3509350816,3509350823,US
+3509350824,3509350879,CA
+3509350880,3509350887,US
+3509350888,3509350895,BY
+3509350896,3509350903,GB
+3509350904,3509350919,CA
+3509350920,3509350927,BD
+3509350928,3509350935,US
+3509350936,3509350951,CA
+3509350952,3509350959,US
+3509350960,3509351023,CA
+3509351024,3509351031,SG
+3509351032,3509351039,US
+3509351040,3509351055,CA
+3509351056,3509351063,FR
+3509351064,3509351095,CA
+3509351096,3509351103,US
+3509351104,3509351111,PA
+3509351112,3509351119,MT
+3509351120,3509351135,CA
+3509351136,3509351143,PL
+3509351144,3509351167,US
+3509351168,3509351439,CA
+3509351440,3509351455,MT
+3509351456,3509351535,CA
+3509351536,3509351679,US
+3509351680,3509351791,CA
+3509351792,3509351807,MT
+3509351808,3509351815,US
+3509351816,3509351823,FR
+3509351824,3509351871,CA
+3509351872,3509351903,US
+3509351904,3509351951,CA
+3509351952,3509351967,US
+3509351968,3509352039,CA
+3509352040,3509352071,US
+3509352072,3509352079,MD
+3509352080,3509352223,CA
+3509352224,3509352239,US
+3509352240,3509352431,CA
+3509352432,3509352439,US
+3509352440,3509352447,AU
+3509352448,3509352743,CA
+3509352744,3509352751,US
+3509352752,3509352767,CA
+3509352768,3509352783,US
+3509352784,3509352799,CA
+3509352800,3509352815,US
+3509352816,3509352839,CA
+3509352840,3509352863,US
+3509352864,3509352871,BS
+3509352872,3509352903,CA
+3509352904,3509352911,US
+3509352912,3509352943,CA
+3509352944,3509352959,US
+3509352960,3509353223,CA
+3509353224,3509353231,US
+3509353232,3509353343,CA
+3509353344,3509353407,US
+3509353408,3509353727,CA
+3509353728,3509353983,CN
+3509353984,3509354047,MX
+3509354048,3509354079,CA
+3509354080,3509354239,MX
+3509354240,3509354335,CA
+3509354336,3509354367,US
+3509354368,3509354495,CA
3509354496,3509387263,US
3509387264,3509420031,PE
3509420032,3509518591,US
@@ -130349,7 +149730,9 @@
3509519360,3509519423,US
3509519424,3509519647,CA
3509519648,3509519679,US
-3509519680,3509520511,CA
+3509519680,3509519711,CA
+3509519712,3509519727,US
+3509519728,3509520511,CA
3509520512,3509520639,US
3509520640,3509520831,CA
3509520832,3509520895,US
@@ -130365,11 +149748,13 @@
3509523328,3509523391,US
3509523392,3509523455,CA
3509523456,3509523471,US
-3509523472,3509523775,CA
+3509523472,3509523679,CA
+3509523680,3509523695,US
+3509523696,3509523775,CA
3509523776,3509523839,US
3509523840,3509523903,CA
-3509523904,3509524223,US
-3509524224,3509524735,CA
+3509523904,3509524479,US
+3509524480,3509524735,CA
3509524736,3509524991,US
3509524992,3509525823,CA
3509525824,3509525887,US
@@ -130407,7 +149792,9 @@
3509534368,3509534719,US
3509534720,3509535535,CA
3509535536,3509535551,US
-3509535552,3509536895,CA
+3509535552,3509535663,CA
+3509535664,3509535679,US
+3509535680,3509536895,CA
3509536896,3509537023,US
3509537024,3509538335,CA
3509538336,3509538351,US
@@ -130421,7 +149808,9 @@
3509539328,3509539583,US
3509539584,3509539679,CA
3509539680,3509539695,US
-3509539696,3509539823,CA
+3509539696,3509539727,CA
+3509539728,3509539743,US
+3509539744,3509539823,CA
3509539824,3509539839,US
3509539840,3509539903,CA
3509539904,3509539967,US
@@ -130429,7 +149818,9 @@
3509540096,3509540127,US
3509540128,3509540351,CA
3509540352,3509540607,US
-3509540608,3509541663,CA
+3509540608,3509541375,CA
+3509541376,3509541503,US
+3509541504,3509541663,CA
3509541664,3509541695,US
3509541696,3509541951,CA
3509541952,3509541999,US
@@ -130445,7 +149836,11 @@
3509546000,3509546015,US
3509546016,3509546031,CA
3509546032,3509546063,US
-3509546064,3509546207,CA
+3509546064,3509546095,CA
+3509546096,3509546111,US
+3509546112,3509546159,CA
+3509546160,3509546175,US
+3509546176,3509546207,CA
3509546208,3509546223,US
3509546224,3509549823,CA
3509549824,3509550079,US
@@ -130455,9 +149850,15 @@
3509553856,3509553919,US
3509553920,3509554047,CA
3509554048,3509554111,US
-3509554112,3509555119,CA
+3509554112,3509554943,CA
+3509554944,3509554959,US
+3509554960,3509555071,CA
+3509555072,3509555087,US
+3509555088,3509555119,CA
3509555120,3509555135,US
-3509555136,3509557439,CA
+3509555136,3509556479,CA
+3509556480,3509556735,US
+3509556736,3509557439,CA
3509557440,3509557759,US
3509557760,3509558367,CA
3509558368,3509558399,US
@@ -130487,14 +149888,18 @@
3509566944,3509567151,CA
3509567152,3509567167,US
3509567168,3509567199,CA
-3509567200,3509567215,US
-3509567216,3509569023,CA
+3509567200,3509567231,US
+3509567232,3509567999,CA
+3509568000,3509568511,US
+3509568512,3509569023,CA
3509569024,3509569535,US
3509569536,3509569663,CA
3509569664,3509569791,US
3509569792,3509569919,CA
3509569920,3509570047,US
-3509570048,3509570431,CA
+3509570048,3509570079,CA
+3509570080,3509570111,US
+3509570112,3509570431,CA
3509570432,3509570687,US
3509570688,3509571327,CA
3509571328,3509571647,US
@@ -130502,17 +149907,15 @@
3509571664,3509571839,US
3509571840,3509572095,CA
3509572096,3509572223,US
-3509572224,3509573487,CA
+3509572224,3509573439,CA
+3509573440,3509573455,US
+3509573456,3509573487,CA
3509573488,3509573503,US
3509573504,3509573887,CA
3509573888,3509573919,US
-3509573920,3509573951,CA
-3509573952,3509573983,US
-3509573984,3509575695,CA
-3509575696,3509575999,US
-3509576000,3509576063,CA
-3509576064,3509576191,US
-3509576192,3509576255,CA
+3509573920,3509575695,CA
+3509575696,3509575935,US
+3509575936,3509576255,CA
3509576256,3509576271,US
3509576272,3509576703,CA
3509576704,3509576959,US
@@ -130544,13 +149947,13 @@
3509581232,3509581247,US
3509581248,3509581263,CA
3509581264,3509581279,US
-3509581280,3509581295,CA
-3509581296,3509581311,US
-3509581312,3509581375,CA
+3509581280,3509581375,CA
3509581376,3509581407,US
3509581408,3509581503,CA
3509581504,3509581567,US
-3509581568,3509582847,CA
+3509581568,3509581823,CA
+3509581824,3509582335,US
+3509582336,3509582847,CA
3509582848,3509583615,US
3509583616,3509583871,CA
3509583872,3509731327,US
@@ -130571,8 +149974,7 @@
3509775105,3509775120,CA
3509775121,3509775296,US
3509775297,3509775312,GB
-3509775313,3509775328,CA
-3509775329,3509775444,US
+3509775313,3509775444,US
3509775445,3509775454,TH
3509775455,3509775477,US
3509775478,3509775492,CA
@@ -130610,9 +150012,9 @@
3509777450,3509777545,ID
3509777546,3509777584,US
3509777585,3509777648,ID
-3509777649,3509778399,US
-3509778400,3509778431,NL
-3509778432,3509778703,US
+3509777649,3509778239,US
+3509778240,3509778271,IN
+3509778272,3509778703,US
3509778704,3509778711,CA
3509778712,3509778847,US
3509778848,3509778855,CO
@@ -130643,16 +150045,12 @@
3509831744,3509831807,US
3509831808,3509831815,IN
3509831816,3509831823,CA
-3509831824,3509831831,US
-3509831832,3509831839,GB
-3509831840,3509833103,US
+3509831824,3509833103,US
3509833104,3509833111,IN
3509833112,3509833535,US
3509833536,3509833543,CA
3509833544,3509833551,IN
-3509833552,3509833567,US
-3509833568,3509833599,PH
-3509833600,3509833703,US
+3509833552,3509833703,US
3509833704,3509833711,ZA
3509833712,3509834111,US
3509834112,3509834143,IL
@@ -130674,11 +150072,19 @@
3509837752,3509837759,GB
3509837760,3509846015,US
3509846016,3509977087,CA
-3509977088,3509993471,US
+3509977088,3509985793,US
+3509985794,3509986303,ES
+3509986304,3509988864,US
+3509988865,3509989119,IN
+3509989120,3509989120,US
+3509989121,3509989375,IN
+3509989376,3509993471,US
3509993472,3509997567,CA
3509997568,3510005759,US
3510005760,3510009855,CA
-3510009856,3510239231,US
+3510009856,3510010311,US
+3510010312,3510010319,CA
+3510010320,3510239231,US
3510239232,3510240703,CA
3510240704,3510240735,AM
3510240736,3510240767,CA
@@ -130690,15 +150096,17 @@
3510242560,3510245375,CA
3510245376,3510245631,BD
3510245632,3510246735,CA
-3510246736,3510246767,US
-3510246768,3510249471,CA
+3510246736,3510246775,US
+3510246776,3510249471,CA
3510249472,3510249983,QA
3510249984,3510251519,CA
3510251520,3510252799,DO
3510252800,3510253311,CA
3510253312,3510253567,NC
3510253568,3510253631,US
-3510253632,3510255439,CA
+3510253632,3510253759,CA
+3510253760,3510253775,US
+3510253776,3510255439,CA
3510255440,3510255447,US
3510255448,3510261503,CA
3510261504,3510261759,ZM
@@ -130715,8 +150123,8 @@
3510270976,3510271999,CA
3510272000,3510284423,US
3510284424,3510284431,CA
-3510284432,3510312959,US
-3510312960,3510321151,A1
+3510284432,3510317055,US
+3510317056,3510321151,A1
3510321152,3510321663,VG
3510321664,3510321919,AG
3510321920,3510322175,KN
@@ -130746,16 +150154,13 @@
3510335744,3510335999,VG
3510336000,3510337279,AG
3510337280,3510337535,LC
-3510337536,3510338436,US
-3510338437,3510338452,ES
-3510338453,3510468631,US
+3510337536,3510468631,US
3510468632,3510468639,GB
3510468640,3510468719,US
3510468720,3510468727,MX
3510468728,3510468847,US
3510468848,3510468855,MX
-3510468856,3510468863,NZ
-3510468864,3510468895,US
+3510468856,3510468895,US
3510468896,3510468903,CA
3510468904,3510468911,ID
3510468912,3510469023,US
@@ -130789,9 +150194,7 @@
3510469488,3510469495,CA
3510469496,3510469519,US
3510469520,3510469527,IN
-3510469528,3510469567,US
-3510469568,3510469575,MY
-3510469576,3510469599,US
+3510469528,3510469599,US
3510469600,3510469607,CA
3510469608,3510469615,VG
3510469616,3510469623,US
@@ -130829,8 +150232,7 @@
3510470184,3510470295,US
3510470296,3510470319,CA
3510470320,3510470327,TW
-3510470328,3510470351,US
-3510470352,3510470359,IL
+3510470328,3510470359,US
3510470360,3510470367,TH
3510470368,3510470375,US
3510470376,3510470383,CH
@@ -130841,9 +150243,7 @@
3510470624,3510470631,BR
3510470632,3510470647,US
3510470648,3510470655,IN
-3510470656,3510470743,US
-3510470744,3510470751,SE
-3510470752,3510470775,US
+3510470656,3510470775,US
3510470776,3510470783,GR
3510470784,3510470799,US
3510470800,3510470807,GB
@@ -130864,9 +150264,7 @@
3510471120,3510471135,GB
3510471136,3510471183,US
3510471184,3510471199,CA
-3510471200,3510471207,US
-3510471208,3510471215,HR
-3510471216,3510471223,US
+3510471200,3510471223,US
3510471224,3510471231,DE
3510471232,3510471311,US
3510471312,3510471319,IE
@@ -130920,9 +150318,7 @@
3510472736,3510472743,AR
3510472744,3510472751,US
3510472752,3510472767,AR
-3510472768,3510472791,US
-3510472792,3510472799,CA
-3510472800,3510472800,US
+3510472768,3510472800,US
3510472801,3510472831,DE
3510472832,3510472919,US
3510472920,3510472927,NL
@@ -130941,8 +150337,7 @@
3510473216,3510473223,IN
3510473224,3510473231,US
3510473232,3510473239,FR
-3510473240,3510473247,RU
-3510473248,3510473343,US
+3510473240,3510473343,US
3510473344,3510473383,DE
3510473384,3510473407,US
3510473408,3510473447,DE
@@ -130952,13 +150347,7 @@
3510473512,3510473607,US
3510473608,3510473615,ID
3510473616,3510473623,AU
-3510473624,3510473647,US
-3510473648,3510473655,GB
-3510473656,3510473695,US
-3510473696,3510473703,BY
-3510473704,3510474039,US
-3510474040,3510474047,MX
-3510474048,3510474431,US
+3510473624,3510474431,US
3510474432,3510474447,TC
3510474448,3510474479,US
3510474480,3510474495,AU
@@ -131030,9 +150419,7 @@
3510478952,3510479095,US
3510479096,3510479103,GB
3510479104,3510479359,GU
-3510479360,3510479367,US
-3510479368,3510479375,ID
-3510479376,3510479407,US
+3510479360,3510479407,US
3510479408,3510479415,CA
3510479416,3510479439,US
3510479440,3510479447,CA
@@ -131104,12 +150491,11 @@
3510481712,3510481719,CA
3510481720,3510481727,JP
3510481728,3510481743,AU
-3510481744,3510481855,US
-3510481856,3510481871,CA
+3510481744,3510481863,US
+3510481864,3510481871,CA
3510481872,3510481919,US
3510481920,3510481927,MX
-3510481928,3510481935,RU
-3510481936,3510482111,US
+3510481928,3510482111,US
3510482112,3510482143,CA
3510482144,3510482151,AR
3510482152,3510831527,US
@@ -131147,9 +150533,7 @@
3511335296,3511335423,RU
3511335424,3511419951,US
3511419952,3511419959,UA
-3511419960,3511611135,US
-3511611136,3511611391,CA
-3511611392,3511812095,US
+3511419960,3511812095,US
3511812096,3511844863,CA
3511844864,3512011311,US
3512011312,3512011327,UM
@@ -131214,8 +150598,7 @@
3512021504,3512021759,GB
3512021760,3512022335,US
3512022336,3512022399,ES
-3512022400,3512022431,US
-3512022432,3512022447,IN
+3512022400,3512022447,US
3512022448,3512022463,GB
3512022464,3512023807,US
3512023808,3512023839,CA
@@ -131259,9 +150642,7 @@
3512156160,3512172543,US
3512172544,3512176639,CA
3512176640,3512197119,US
-3512197120,3512200159,CA
-3512200160,3512200175,US
-3512200176,3512205311,CA
+3512197120,3512205311,CA
3512205312,3512205567,US
3512205568,3512205823,CL
3512205824,3512206079,AW
@@ -131356,18 +150737,38 @@
3512269824,3512270847,US
3512270848,3512336383,CA
3512336384,3512369151,US
-3512369152,3512377231,CA
+3512369152,3512371343,CA
+3512371344,3512371351,US
+3512371352,3512377231,CA
3512377232,3512377239,US
3512377240,3512378435,CA
3512378436,3512378436,US
-3512378437,3512385535,CA
+3512378437,3512378983,CA
+3512378984,3512378991,US
+3512378992,3512385535,CA
3512385536,3512397823,US
3512397824,3512399375,CA
3512399376,3512399383,US
3512399384,3512401919,CA
3512401920,3512418303,US
3512418304,3512451071,CA
-3512451072,3512467455,PR
+3512451072,3512459519,PR
+3512459520,3512459775,US
+3512459776,3512460031,PR
+3512460032,3512460287,US
+3512460288,3512460543,PR
+3512460544,3512462079,US
+3512462080,3512463103,PR
+3512463104,3512463359,US
+3512463360,3512464639,PR
+3512464640,3512465151,US
+3512465152,3512465407,PR
+3512465408,3512465663,US
+3512465664,3512465919,PR
+3512465920,3512466175,US
+3512466176,3512466687,PR
+3512466688,3512466943,US
+3512466944,3512467455,PR
3512467456,3512534015,US
3512534016,3512534079,BR
3512534080,3512535679,US
@@ -131472,14 +150873,11 @@
3512547328,3512547359,SE
3512547360,3512547391,US
3512547392,3512547455,ZA
-3512547456,3512547583,US
-3512547584,3512547839,GB
+3512547456,3512547839,US
3512547840,3512547871,PT
3512547872,3512548095,US
3512548096,3512548143,CH
-3512548144,3512548351,US
-3512548352,3512548479,ES
-3512548480,3512548671,US
+3512548144,3512548671,US
3512548672,3512548703,NL
3512548704,3512548735,US
3512548736,3512548863,NL
@@ -131770,29 +151168,7 @@
3512699648,3512699903,US
3512699904,3512705023,SE
3512705024,3512844287,US
-3512844288,3512844543,CA
-3512844544,3512844607,A1
-3512844608,3512845567,CA
-3512845568,3512845695,A1
-3512845696,3512845697,CA
-3512845698,3512845745,A1
-3512845746,3512845747,CA
-3512845748,3512845758,A1
-3512845759,3512845759,CA
-3512845760,3512845823,A1
-3512845824,3512847487,CA
-3512847488,3512847615,A1
-3512847616,3512847999,CA
-3512848000,3512848127,A1
-3512848128,3512848360,CA
-3512848361,3512848361,A1
-3512848362,3512848959,CA
-3512848960,3512849023,A1
-3512849024,3512849697,CA
-3512849698,3512849699,A1
-3512849700,3512852459,CA
-3512852460,3512852461,A1
-3512852462,3512852479,CA
+3512844288,3512852479,CA
3512852480,3512891135,US
3512891136,3512891167,BE
3512891168,3512891199,AU
@@ -131826,9 +151202,7 @@
3513670912,3513671167,A2
3513671168,3513778175,US
3513778176,3513794559,CA
-3513794560,3513839615,US
-3513839616,3513843711,A1
-3513843712,3514007551,US
+3513794560,3514007551,US
3514007552,3514040319,CA
3514040320,3514367999,US
3514368000,3514433535,CA
@@ -131884,30 +151258,35 @@
3515688192,3515695103,CA
3515695104,3515711487,US
3515711488,3515731967,CA
-3515731968,3515736063,US
-3515744256,3515793351,US
+3515731968,3515793351,US
3515793352,3515793359,MO
-3515793360,3515867151,US
+3515793360,3515860351,US
+3515860352,3515860431,IN
+3515860432,3515867151,US
3515867152,3515867167,AU
3515867168,3515867391,US
3515867392,3515867519,AU
3515867520,3515868463,US
3515868464,3515868479,IT
-3515868480,3515913631,US
+3515868480,3515882319,US
+3515882320,3515882327,MX
+3515882328,3515882375,US
+3515882376,3515882383,AU
+3515882384,3515882391,US
+3515882392,3515882399,GB
+3515882400,3515913631,US
3515913632,3515913663,CA
3515913664,3515916519,US
3515916520,3515916527,AU
-3515916528,3515955375,US
+3515916528,3515932895,US
+3515932896,3515932903,CA
+3515932904,3515955375,US
3515955376,3515955391,GB
-3515955392,3515955503,US
-3515955504,3515955519,CA
-3515955520,3515955551,US
+3515955392,3515955551,US
3515955552,3515955567,ES
3515955568,3515956319,US
3515956320,3515956335,NL
-3515956336,3515956383,US
-3515956384,3515956399,GB
-3515956400,3515965439,US
+3515956336,3515965439,US
3515965440,3515973631,CA
3515973632,3515990015,US
3515990016,3516006399,CA
@@ -131916,9 +151295,10 @@
3516071936,3516139007,US
3516139008,3516139263,GB
3516139264,3516153855,US
-3516153856,3516162047,CA
3516162048,3516170239,US
-3516170240,3516203007,CA
+3516170240,3516193943,CA
+3516193944,3516193951,US
+3516193952,3516203007,CA
3516203008,3516334079,US
3516334080,3516342271,CA
3516342272,3516351055,US
@@ -131931,8 +151311,8 @@
3516355664,3516355679,CA
3516355680,3516357631,US
3516357632,3516357887,MY
-3516357888,3516358399,CA
-3516358400,3516366847,US
+3516357888,3516358143,CA
+3516358144,3516366847,US
3516366848,3516370943,CA
3516370944,3516394239,US
3516394240,3516394247,IS
@@ -131951,8 +151331,7 @@
3516900352,3516900607,NG
3516900608,3516900863,A2
3516900864,3516901119,NG
-3516901120,3516901887,A2
-3516901888,3516902399,NG
+3516901120,3516902399,US
3516902400,3516902655,A2
3516902656,3516902911,NG
3516902912,3516903167,A2
@@ -131962,59 +151341,149 @@
3517038592,3517054975,CA
3517054976,3517095935,US
3517095936,3517100031,CA
-3517100032,3517100137,US
-3517100138,3517100153,CA
-3517100154,3517100213,US
+3517100032,3517100213,US
3517100214,3517100223,NZ
-3517100224,3517100569,US
-3517100570,3517100585,NE
-3517100586,3517100619,US
-3517100620,3517100635,CA
-3517100636,3517100648,US
-3517100649,3517100668,CA
-3517100669,3517100720,US
+3517100224,3517100720,US
3517100721,3517100730,CA
-3517100731,3517100811,US
-3517100812,3517100829,GB
-3517100830,3517101597,US
-3517101598,3517101613,GB
-3517101614,3517103316,US
+3517100731,3517103316,US
3517103317,3517103330,NZ
3517103331,3517112319,US
3517112320,3517116159,CA
3517116160,3517116415,US
3517116416,3517120511,CA
-3517120512,3517233151,US
+3517120512,3517179903,US
+3517179904,3517179935,DE
+3517179936,3517179943,US
+3517179944,3517179951,MX
+3517179952,3517180079,US
+3517180080,3517180087,GI
+3517180088,3517180135,US
+3517180136,3517180143,CA
+3517180144,3517180207,US
+3517180208,3517180223,GB
+3517180224,3517180295,US
+3517180296,3517180303,RU
+3517180304,3517180575,US
+3517180576,3517180583,IN
+3517180584,3517180591,CA
+3517180592,3517180935,US
+3517180936,3517180943,GB
+3517180944,3517180951,AU
+3517180952,3517180959,GB
+3517180960,3517180975,PT
+3517180976,3517181055,US
+3517181056,3517181071,DE
+3517181072,3517181095,US
+3517181096,3517181103,TR
+3517181104,3517181111,US
+3517181112,3517181119,BR
+3517181120,3517181263,US
+3517181264,3517181279,JP
+3517181280,3517181311,US
+3517181312,3517181319,IN
+3517181320,3517181343,US
+3517181344,3517181351,SG
+3517181352,3517181375,US
+3517181376,3517181383,IL
+3517181384,3517181431,US
+3517181432,3517181439,NL
+3517181440,3517181519,US
+3517181520,3517181527,DE
+3517181528,3517181543,US
+3517181544,3517181551,SI
+3517181552,3517181559,US
+3517181560,3517181567,DE
+3517181568,3517181639,US
+3517181640,3517181648,DE
+3517181649,3517181679,US
+3517181680,3517181687,AU
+3517181688,3517181855,US
+3517181856,3517181887,VG
+3517181888,3517181895,CA
+3517181896,3517181919,US
+3517181920,3517181927,IN
+3517181928,3517181935,US
+3517181936,3517181943,FR
+3517181944,3517183039,US
+3517183040,3517183055,DE
+3517183056,3517183087,US
+3517183088,3517183103,AU
+3517183104,3517183175,US
+3517183176,3517183183,MY
+3517183184,3517183223,US
+3517183224,3517183359,AU
+3517183360,3517183455,US
+3517183456,3517183487,DE
+3517183488,3517183535,US
+3517183536,3517183551,CA
+3517183552,3517183559,RU
+3517183560,3517183567,DE
+3517183568,3517183607,US
+3517183608,3517183615,BR
+3517183616,3517183631,DE
+3517183632,3517183663,US
+3517183664,3517183671,NO
+3517183672,3517183679,US
+3517183680,3517183711,CA
+3517183712,3517183839,US
+3517183840,3517183871,DE
+3517183872,3517183999,US
+3517184000,3517184031,DE
+3517184032,3517184047,US
+3517184048,3517184063,GE
+3517184064,3517184151,US
+3517184152,3517184159,NL
+3517184160,3517184207,US
+3517184208,3517184223,CA
+3517184224,3517184231,AR
+3517184232,3517184239,US
+3517184240,3517184255,AT
+3517184256,3517184383,ID
+3517184384,3517184559,US
+3517184560,3517184575,MX
+3517184576,3517184655,US
+3517184656,3517184663,MH
+3517184664,3517184703,US
+3517184704,3517184711,IN
+3517184712,3517184847,US
+3517184848,3517184855,PY
+3517184856,3517184863,FR
+3517184864,3517184879,DK
+3517184880,3517184951,US
+3517184952,3517184959,IN
+3517184960,3517233151,US
3517233152,3517235199,GU
3517235200,3517382655,US
-3517382656,3517383679,CA
-3517383680,3517383935,US
-3517383936,3517384447,CA
-3517384448,3517385215,US
+3517382656,3517384703,CA
+3517384704,3517385215,US
3517385216,3517385311,CA
3517385312,3517385375,US
3517385376,3517387775,CA
3517387776,3517388031,US
-3517388032,3517388255,CA
+3517388032,3517388223,CA
+3517388224,3517388239,US
+3517388240,3517388255,CA
3517388256,3517388271,US
3517388272,3517388799,CA
-3517388800,3517389311,US
-3517389312,3517389567,CA
-3517389568,3517390079,US
-3517390080,3517390335,CA
+3517388800,3517389823,US
+3517389824,3517390335,CA
3517390336,3517390591,US
-3517390592,3517391471,CA
+3517390592,3517391375,CA
+3517391376,3517391391,US
+3517391392,3517391471,CA
3517391472,3517391487,US
3517391488,3517391535,CA
3517391536,3517391551,US
-3517391552,3517392127,CA
-3517392128,3517392383,US
+3517391552,3517391871,CA
+3517391872,3517392383,US
3517392384,3517392639,CA
3517392640,3517392655,US
3517392656,3517392719,CA
3517392720,3517392735,US
-3517392736,3517392863,CA
-3517392864,3517392879,US
+3517392736,3517392815,CA
+3517392816,3517392831,US
+3517392832,3517392847,CA
+3517392848,3517392879,US
3517392880,3517393407,CA
3517393408,3517393439,US
3517393440,3517393471,CA
@@ -132029,8 +151498,8 @@
3517395872,3517395903,US
3517395904,3517396095,CA
3517396096,3517396111,US
-3517396112,3517396143,CA
-3517396144,3517396175,US
+3517396112,3517396127,CA
+3517396128,3517396175,US
3517396176,3517396911,CA
3517396912,3517396927,US
3517396928,3517397503,CA
@@ -132038,8 +151507,7 @@
3517397760,3517398015,CA
3517398016,3517398527,US
3517398528,3517399551,CA
-3517399552,3517399807,US
-3517399808,3517399871,CA
+3517399552,3517399871,US
3517399872,3517399935,IL
3517399936,3517400831,CA
3517400832,3517400847,US
@@ -132053,13 +151521,17 @@
3517402880,3517403391,US
3517403392,3517403455,CA
3517403456,3517403519,US
-3517403520,3517404927,CA
+3517403520,3517404159,CA
+3517404160,3517404415,US
+3517404416,3517404927,CA
3517404928,3517405183,US
3517405184,3517406751,CA
3517406752,3517406783,US
3517406784,3517407359,CA
3517407360,3517407487,US
-3517407488,3517408583,CA
+3517407488,3517407999,CA
+3517408000,3517408255,US
+3517408256,3517408583,CA
3517408584,3517408591,US
3517408592,3517408703,CA
3517408704,3517408711,US
@@ -132074,14 +151546,12 @@
3517408912,3517408991,CA
3517408992,3517409007,US
3517409008,3517409279,CA
-3517409280,3517409791,US
-3517409792,3517411071,CA
+3517409280,3517410047,US
+3517410048,3517411071,CA
3517411072,3517411327,US
3517411328,3517414463,CA
3517414464,3517414495,US
-3517414496,3517414751,CA
-3517414752,3517414767,US
-3517414768,3517415983,CA
+3517414496,3517415983,CA
3517415984,3517415999,GB
3517416000,3517416063,CA
3517416064,3517416079,US
@@ -132101,7 +151571,9 @@
3517416792,3517416799,US
3517416800,3517416823,CA
3517416824,3517416839,US
-3517416840,3517417535,CA
+3517416840,3517416871,CA
+3517416872,3517416879,US
+3517416880,3517417535,CA
3517417536,3517417567,US
3517417568,3517417631,CA
3517417632,3517417663,US
@@ -132109,9 +151581,11 @@
3517417696,3517417855,US
3517417856,3517418367,CA
3517418368,3517418399,US
-3517418400,3517419103,CA
-3517419104,3517419135,US
-3517419136,3517420159,CA
+3517418400,3517419071,CA
+3517419072,3517419135,US
+3517419136,3517419519,CA
+3517419520,3517419527,US
+3517419528,3517420159,CA
3517420160,3517420287,US
3517420288,3517420303,CA
3517420304,3517420311,US
@@ -132139,13 +151613,19 @@
3517422720,3517422759,US
3517422760,3517422783,CA
3517422784,3517422791,US
-3517422792,3517424319,CA
+3517422792,3517423423,CA
+3517423424,3517423455,US
+3517423456,3517423807,CA
+3517423808,3517423871,US
+3517423872,3517424319,CA
3517424320,3517424335,SE
3517424336,3517424511,CA
3517424512,3517424543,US
3517424544,3517424623,CA
3517424624,3517424639,US
-3517424640,3517426047,CA
+3517424640,3517425023,CA
+3517425024,3517425087,US
+3517425088,3517426047,CA
3517426048,3517426111,US
3517426112,3517426687,CA
3517426688,3517426751,US
@@ -132157,7 +151637,9 @@
3517428432,3517428447,US
3517428448,3517429759,CA
3517429760,3517429791,US
-3517429792,3517430015,CA
+3517429792,3517429919,CA
+3517429920,3517429951,US
+3517429952,3517430015,CA
3517430016,3517430031,US
3517430032,3517430127,CA
3517430128,3517430143,US
@@ -132169,35 +151651,41 @@
3517430240,3517430255,US
3517430256,3517430783,CA
3517430784,3517431039,US
-3517431040,3517431599,CA
+3517431040,3517431295,CA
+3517431296,3517431359,US
+3517431360,3517431599,CA
3517431600,3517431615,US
3517431616,3517431663,CA
3517431664,3517431679,US
3517431680,3517431695,CA
3517431696,3517431711,NL
-3517431712,3517431759,CA
+3517431712,3517431727,CA
+3517431728,3517431743,US
+3517431744,3517431759,CA
3517431760,3517431775,US
3517431776,3517431807,CA
3517431808,3517431823,US
3517431824,3517431919,CA
-3517431920,3517431935,US
-3517431936,3517431967,CA
+3517431920,3517431951,US
+3517431952,3517431967,CA
3517431968,3517431983,US
3517431984,3517432191,CA
3517432192,3517432319,US
3517432320,3517433919,CA
3517433920,3517433983,US
-3517433984,3517434375,CA
-3517434376,3517434383,US
-3517434384,3517434503,CA
+3517433984,3517434367,CA
+3517434368,3517434375,US
+3517434376,3517434503,CA
3517434504,3517434527,US
3517434528,3517434567,CA
3517434568,3517434583,US
-3517434584,3517434607,CA
-3517434608,3517434615,US
+3517434584,3517434599,CA
+3517434600,3517434615,US
3517434616,3517435007,CA
3517435008,3517435135,US
-3517435136,3517436935,CA
+3517435136,3517436607,CA
+3517436608,3517436671,US
+3517436672,3517436935,CA
3517436936,3517436943,US
3517436944,3517436975,CA
3517436976,3517436983,US
@@ -132235,7 +151723,11 @@
3517442384,3517442399,US
3517442400,3517442431,CA
3517442432,3517442447,US
-3517442448,3517443647,CA
+3517442448,3517442559,CA
+3517442560,3517442687,US
+3517442688,3517443327,CA
+3517443328,3517443335,US
+3517443336,3517443647,CA
3517443648,3517443679,US
3517443680,3517444223,CA
3517444224,3517444351,US
@@ -132262,14 +151754,9 @@
3517523168,3517523183,BS
3517523184,3517523671,US
3517523672,3517523679,KY
-3517523680,3517523935,US
-3517523936,3517523943,BZ
-3517523944,3517524175,US
-3517524176,3517524183,GT
+3517523680,3517524183,US
3517524184,3517524191,VI
-3517524192,3517524431,US
-3517524432,3517524439,GT
-3517524440,3517546495,US
+3517524192,3517546495,US
3517546496,3517562879,CA
3517562880,3517596671,US
3517596672,3517596927,NO
@@ -132281,7 +151768,8 @@
3517598464,3517598527,SE
3517598528,3517598559,FR
3517598560,3517598591,SE
-3517598592,3517599231,US
+3517598592,3517598719,US
+3517598720,3517599231,SE
3517599232,3517599263,BG
3517599264,3517599359,SE
3517599360,3517599487,US
@@ -132290,15 +151778,15 @@
3517601280,3517602047,SE
3517602048,3517602303,DE
3517602304,3517602559,US
-3517602560,3517602623,SE
-3517602624,3517602815,US
+3517602560,3517602575,SE
+3517602576,3517602591,US
+3517602592,3517602687,SE
+3517602688,3517602815,US
3517602816,3517603071,SE
3517603072,3517603615,US
3517603616,3517603647,DE
3517603648,3517603711,US
-3517603712,3517603775,SE
-3517603776,3517603839,US
-3517603840,3517603967,SE
+3517603712,3517603967,SE
3517603968,3517604031,DE
3517604032,3517604095,SE
3517604096,3517604351,US
@@ -132319,11 +151807,12 @@
3517609744,3517609759,SE
3517609760,3517609791,US
3517609792,3517609855,SE
-3517609856,3517610047,US
-3517610048,3517610191,SE
+3517609856,3517610015,US
+3517610016,3517610111,SE
+3517610112,3517610143,NO
+3517610144,3517610191,SE
3517610192,3517610199,US
-3517610200,3517610239,SE
-3517610240,3517610495,US
+3517610200,3517610495,SE
3517610496,3517611263,IE
3517611264,3517611295,SE
3517611296,3517611303,DE
@@ -132336,7 +151825,264 @@
3517612032,3517644799,US
3517644800,3517710335,CA
3517710336,3517718527,US
-3517718528,3517726719,CA
+3517718528,3517718943,CA
+3517718944,3517718975,FR
+3517718976,3517719295,CA
+3517719296,3517719311,BR
+3517719312,3517719567,CA
+3517719568,3517719591,PA
+3517719592,3517719639,CA
+3517719640,3517719647,AR
+3517719648,3517719655,CA
+3517719656,3517719659,IR
+3517719660,3517719671,CA
+3517719672,3517719679,CN
+3517719680,3517719683,US
+3517719684,3517719695,CA
+3517719696,3517719703,PK
+3517719704,3517719711,AE
+3517719712,3517719727,CA
+3517719728,3517719731,US
+3517719732,3517719735,CA
+3517719736,3517719743,IN
+3517719744,3517719759,CA
+3517719760,3517719767,BE
+3517719768,3517719775,CN
+3517719776,3517719847,CA
+3517719848,3517719855,US
+3517719856,3517719863,CL
+3517719864,3517719871,CA
+3517719872,3517719875,US
+3517719876,3517719879,IT
+3517719880,3517719883,US
+3517719884,3517719887,IN
+3517719888,3517719903,CA
+3517719904,3517719907,JO
+3517719908,3517719911,CA
+3517719912,3517719919,US
+3517719920,3517719927,CA
+3517719928,3517719931,US
+3517719932,3517719951,CA
+3517719952,3517719959,MX
+3517719960,3517719975,CA
+3517719976,3517719979,GB
+3517719980,3517719983,CA
+3517719984,3517719991,UA
+3517719992,3517720003,CA
+3517720004,3517720007,US
+3517720008,3517720011,CA
+3517720012,3517720015,US
+3517720016,3517720027,CA
+3517720028,3517720031,IN
+3517720032,3517720039,MX
+3517720040,3517720047,TR
+3517720048,3517720207,CA
+3517720208,3517720223,SE
+3517720224,3517720323,CA
+3517720324,3517720327,AN
+3517720328,3517720335,CA
+3517720336,3517720343,SE
+3517720344,3517720347,CA
+3517720348,3517720351,BR
+3517720352,3517720383,CA
+3517720384,3517720391,DE
+3517720392,3517720407,CA
+3517720408,3517720411,IN
+3517720412,3517720451,CA
+3517720452,3517720455,GB
+3517720456,3517720459,CA
+3517720460,3517720463,US
+3517720464,3517720499,CA
+3517720500,3517720503,TR
+3517720504,3517720519,CA
+3517720520,3517720523,UY
+3517720524,3517720647,CA
+3517720648,3517720655,US
+3517720656,3517721343,CA
+3517721344,3517721359,SE
+3517721360,3517721363,CN
+3517721364,3517721375,CA
+3517721376,3517721383,BZ
+3517721384,3517721399,CA
+3517721400,3517721403,IN
+3517721404,3517721415,CA
+3517721416,3517721423,IN
+3517721424,3517721431,US
+3517721432,3517721439,BR
+3517721440,3517721443,US
+3517721444,3517721447,BR
+3517721448,3517721463,CA
+3517721464,3517721467,BR
+3517721468,3517721479,CA
+3517721480,3517721487,UA
+3517721488,3517721503,HK
+3517721504,3517721507,CA
+3517721508,3517721511,CN
+3517721512,3517721519,CA
+3517721520,3517721527,PE
+3517721528,3517721535,BR
+3517721536,3517721855,CA
+3517721856,3517722111,CR
+3517722112,3517722151,CA
+3517722152,3517722159,MX
+3517722160,3517722175,CA
+3517722176,3517722191,US
+3517722192,3517722215,CA
+3517722216,3517722223,RU
+3517722224,3517722231,CA
+3517722232,3517722239,HK
+3517722240,3517722247,IN
+3517722248,3517722259,CA
+3517722260,3517722267,IN
+3517722268,3517722271,NL
+3517722272,3517722275,SA
+3517722276,3517722295,CA
+3517722296,3517722299,SA
+3517722300,3517722303,CA
+3517722304,3517722307,US
+3517722308,3517722895,CA
+3517722896,3517722903,US
+3517722904,3517722907,CA
+3517722908,3517722911,CN
+3517722912,3517722919,US
+3517722920,3517722931,CA
+3517722932,3517722935,MX
+3517722936,3517722943,CA
+3517722944,3517722951,BR
+3517722952,3517722959,US
+3517722960,3517722963,AE
+3517722964,3517722967,DE
+3517722968,3517722979,CA
+3517722980,3517722983,CO
+3517722984,3517722987,US
+3517722988,3517723039,CA
+3517723040,3517723047,ES
+3517723048,3517723103,CA
+3517723104,3517723107,US
+3517723108,3517723111,CA
+3517723112,3517723119,RU
+3517723120,3517723127,BR
+3517723128,3517723135,BE
+3517723136,3517723759,CA
+3517723760,3517723763,US
+3517723764,3517723807,CA
+3517723808,3517723815,BD
+3517723816,3517723839,CA
+3517723840,3517723879,US
+3517723880,3517723895,BR
+3517723896,3517723911,CA
+3517723912,3517723919,GB
+3517723920,3517723927,CA
+3517723928,3517723935,AU
+3517723936,3517723943,CA
+3517723944,3517723951,CN
+3517723952,3517723959,CA
+3517723960,3517723963,IT
+3517723964,3517723967,CN
+3517723968,3517723975,US
+3517723976,3517723983,CA
+3517723984,3517723991,EC
+3517723992,3517723999,CA
+3517724000,3517724007,SA
+3517724008,3517724035,CA
+3517724036,3517724039,US
+3517724040,3517724051,CA
+3517724052,3517724055,MX
+3517724056,3517724063,US
+3517724064,3517724071,KR
+3517724072,3517724087,CA
+3517724088,3517724095,CO
+3517724096,3517724111,CA
+3517724112,3517724119,BR
+3517724120,3517724127,US
+3517724128,3517724131,AE
+3517724132,3517724135,CA
+3517724136,3517724143,PK
+3517724144,3517724151,RO
+3517724152,3517724159,AR
+3517724160,3517724175,CA
+3517724176,3517724191,US
+3517724192,3517724195,CA
+3517724196,3517724199,IN
+3517724200,3517724203,CA
+3517724204,3517724207,BR
+3517724208,3517724231,CA
+3517724232,3517724235,BE
+3517724236,3517724239,AR
+3517724240,3517724255,US
+3517724256,3517724271,CA
+3517724272,3517724287,IN
+3517724288,3517724319,CA
+3517724320,3517724327,US
+3517724328,3517724335,IN
+3517724336,3517724347,CA
+3517724348,3517724351,AU
+3517724352,3517724375,CA
+3517724376,3517724383,GB
+3517724384,3517724407,CA
+3517724408,3517724415,TW
+3517724416,3517724679,CA
+3517724680,3517724687,US
+3517724688,3517724711,CA
+3517724712,3517724719,GB
+3517724720,3517724731,US
+3517724732,3517724735,AN
+3517724736,3517724751,LT
+3517724752,3517724755,BR
+3517724756,3517724759,GB
+3517724760,3517724783,CA
+3517724784,3517724787,US
+3517724788,3517724799,CA
+3517724800,3517724803,FR
+3517724804,3517724815,CA
+3517724816,3517724823,US
+3517724824,3517724867,CA
+3517724868,3517724871,CO
+3517724872,3517724887,CA
+3517724888,3517724895,RU
+3517724896,3517724899,CA
+3517724900,3517724903,SE
+3517724904,3517725039,CA
+3517725040,3517725055,PK
+3517725056,3517725247,CA
+3517725248,3517725279,US
+3517725280,3517725439,CA
+3517725440,3517725447,US
+3517725448,3517725455,CA
+3517725456,3517725463,CN
+3517725464,3517725467,IT
+3517725468,3517725471,MX
+3517725472,3517725487,CA
+3517725488,3517725503,PK
+3517725504,3517725519,BR
+3517725520,3517725575,CA
+3517725576,3517725583,GB
+3517725584,3517725591,CA
+3517725592,3517725599,IR
+3517725600,3517725607,KW
+3517725608,3517725615,MX
+3517725616,3517725631,CA
+3517725632,3517725639,NL
+3517725640,3517725647,CA
+3517725648,3517725655,RO
+3517725656,3517725663,CA
+3517725664,3517725671,US
+3517725672,3517725679,SY
+3517725680,3517725687,CA
+3517725688,3517725695,HK
+3517725696,3517726463,CA
+3517726464,3517726467,ES
+3517726468,3517726511,CA
+3517726512,3517726519,US
+3517726520,3517726527,AU
+3517726528,3517726535,CA
+3517726536,3517726543,BR
+3517726544,3517726551,CA
+3517726552,3517726559,MX
+3517726560,3517726567,AE
+3517726568,3517726607,CA
+3517726608,3517726623,PL
+3517726624,3517726719,CA
3517726720,3517838927,US
3517838928,3517838938,LB
3517838939,3517979103,US
@@ -132360,9 +152106,7 @@
3518076080,3518076087,AU
3518076088,3518076671,US
3518076672,3518076927,PA
-3518076928,3518077103,US
-3518077104,3518077111,GB
-3518077112,3518374719,US
+3518076928,3518374719,US
3518374720,3518374783,IN
3518374784,3518380223,US
3518380224,3518380287,DE
@@ -132371,15 +152115,11 @@
3518381312,3518381439,US
3518381440,3518381567,IN
3518381568,3518381631,DE
-3518381632,3518381823,US
-3518381824,3518382079,SG
-3518382080,3518431231,US
+3518381632,3518431231,US
3518431232,3518439423,CA
3518439424,3518463999,US
3518464000,3518472191,CA
-3518472192,3518758911,US
-3518758912,3518758975,CY
-3518758976,3518759407,US
+3518472192,3518759407,US
3518759408,3518759423,CY
3518759424,3518760511,US
3518760512,3518760575,AU
@@ -132395,8 +152135,7 @@
3518892416,3518892423,GB
3518892424,3518894439,US
3518894440,3518894447,TR
-3518894448,3518895775,US
-3518895776,3518895783,CA
+3518894448,3518895783,US
3518895784,3518895791,TH
3518895792,3518896215,US
3518896216,3518896223,CA
@@ -132416,9 +152155,7 @@
3518929536,3518929599,CA
3518929600,3518995695,US
3518995696,3518995703,GB
-3518995704,3519061295,US
-3519061296,3519061311,GB
-3519061312,3519234047,US
+3518995704,3519234047,US
3519234048,3519250431,CA
3519250432,3519320975,US
3519320976,3519320983,GR
@@ -132434,65 +152171,42 @@
3519406080,3519406143,IT
3519406144,3519406255,US
3519406256,3519406263,SA
-3519406264,3519406295,US
-3519406296,3519406303,TH
-3519406304,3519406335,US
-3519406336,3519406351,DE
-3519406352,3519406375,US
+3519406264,3519406375,US
3519406376,3519406383,IT
3519406384,3519406391,IN
3519406392,3519406407,GB
-3519406408,3519406479,US
-3519406480,3519406487,AU
-3519406488,3519406503,US
+3519406408,3519406503,US
3519406504,3519406511,CA
-3519406512,3519406527,GB
-3519406528,3519406559,CA
-3519406560,3519406695,US
+3519406512,3519406695,US
3519406696,3519406831,SA
-3519406832,3519406847,US
-3519406848,3519407103,CA
-3519407104,3519407151,US
+3519406832,3519407151,US
3519407152,3519407199,MY
-3519407200,3519407215,AR
+3519407200,3519407215,US
3519407216,3519407351,AE
-3519407352,3519407359,US
-3519407360,3519407583,AR
-3519407584,3519407591,US
+3519407352,3519407591,US
3519407592,3519407599,AE
3519407600,3519407607,US
3519407608,3519407615,RU
-3519407616,3519407623,AR
-3519407624,3519409111,US
+3519407616,3519409111,US
3519409112,3519409119,MY
3519409120,3519409135,OM
3519409136,3519409295,US
3519409296,3519409303,CA
-3519409304,3519409327,US
-3519409328,3519409335,AR
-3519409336,3519409407,US
+3519409304,3519409407,US
3519409408,3519409423,AE
-3519409424,3519409439,US
-3519409440,3519409455,GB
+3519409424,3519409455,US
3519409456,3519409599,MY
-3519409600,3519409615,AR
-3519409616,3519409807,US
+3519409600,3519409807,US
3519409808,3519409815,GB
-3519409816,3519409919,US
-3519409920,3519409927,AR
+3519409816,3519409927,US
3519409928,3519409943,MY
3519409944,3519409951,US
3519409952,3519410175,MY
3519410176,3519410279,US
3519410280,3519410287,AU
-3519410288,3519410943,US
-3519410944,3519411199,AR
-3519411200,3519411327,US
+3519410288,3519411327,US
3519411328,3519411391,RU
-3519411392,3519411711,US
-3519411712,3519411967,AR
-3519411968,3519412223,DE
-3519412224,3519412519,US
+3519411392,3519412519,US
3519412520,3519412527,RU
3519412528,3519412735,US
3519412736,3519412751,RU
@@ -132500,17 +152214,9 @@
3519412800,3519412815,RU
3519412816,3519412999,US
3519413000,3519413007,CY
-3519413008,3519413759,US
-3519413760,3519414271,CA
-3519414272,3519417071,US
-3519417072,3519417075,PT
-3519417076,3519417087,US
+3519413008,3519417087,US
3519417088,3519417151,IT
-3519417152,3519420767,US
-3519420768,3519420775,HK
-3519420776,3519422495,US
-3519422496,3519422527,CA
-3519422528,3519466895,US
+3519417152,3519466895,US
3519466896,3519466911,SZ
3519466912,3519467519,US
3519469568,3519475711,US
@@ -132532,9 +152238,7 @@
3519590656,3519590911,CA
3519590912,3519603204,US
3519603205,3519603212,VN
-3519603213,3519603255,US
-3519603256,3519603265,BR
-3519603266,3519603271,US
+3519603213,3519603271,US
3519603272,3519603286,CA
3519603287,3519603772,US
3519603773,3519603781,IN
@@ -132546,25 +152250,24 @@
3519700608,3519702319,CA
3519702320,3519702327,US
3519702328,3519709183,CA
-3519709184,3519709311,US
-3519709312,3519709343,CA
-3519709344,3519712447,US
+3519709184,3519712447,US
3519712448,3519712511,CA
3519712512,3519715295,US
3519715296,3519715327,GB
3519715328,3519716863,US
-3519716864,3519716991,CA
-3519716992,3519723519,US
+3519716864,3519716999,CA
+3519717000,3519723519,US
3519723520,3519724031,CA
3519724032,3519741951,US
3519741952,3519758335,ZA
-3519758336,3519791103,US
-3519799296,3519799871,US
+3519758336,3519799871,US
3519799872,3519799903,IN
3519799904,3519805119,US
3519805120,3519805183,GB
3519805184,3519873023,US
-3519873024,3519879679,CA
+3519873024,3519877295,CA
+3519877296,3519877311,US
+3519877312,3519879679,CA
3519879680,3519879687,US
3519879688,3519879767,CA
3519879768,3519879775,US
@@ -132650,9 +152353,7 @@
3520023880,3520023887,US
3520023888,3520023911,CA
3520023912,3520023919,US
-3520023920,3520024215,CA
-3520024216,3520024231,US
-3520024232,3520024487,CA
+3520023920,3520024487,CA
3520024488,3520024495,US
3520024496,3520024807,CA
3520024808,3520024815,US
@@ -132660,9 +152361,7 @@
3520025192,3520025199,US
3520025200,3520025295,CA
3520025296,3520025303,US
-3520025304,3520025343,CA
-3520025344,3520025359,US
-3520025360,3520025503,CA
+3520025304,3520025503,CA
3520025504,3520025511,US
3520025512,3520025591,CA
3520025592,3520025599,NL
@@ -132678,9 +152377,7 @@
3520026704,3520026711,US
3520026712,3520026783,CA
3520026784,3520026791,US
-3520026792,3520026895,CA
-3520026896,3520026903,US
-3520026904,3520026991,CA
+3520026792,3520026991,CA
3520026992,3520026999,US
3520027000,3520027047,CA
3520027048,3520027055,US
@@ -132716,9 +152413,7 @@
3520028696,3520028711,US
3520028712,3520029167,CA
3520029168,3520029175,IL
-3520029176,3520030719,CA
-3520030720,3520030727,US
-3520030728,3520030799,CA
+3520029176,3520030799,CA
3520030800,3520030807,US
3520030808,3520030951,CA
3520030952,3520030959,US
@@ -132786,12 +152481,9 @@
3520034488,3520034495,US
3520034496,3520034559,CA
3520034560,3520034567,US
-3520034568,3520034623,CA
-3520034624,3520034639,US
+3520034568,3520034639,CA
3520034640,3520034647,GH
-3520034648,3520034663,CA
-3520034664,3520034751,US
-3520034752,3520034775,CA
+3520034648,3520034775,CA
3520034776,3520034791,US
3520034792,3520034951,CA
3520034952,3520034959,US
@@ -132803,30 +152495,24 @@
3520035280,3520035287,US
3520035288,3520035327,CA
3520035328,3520035335,US
-3520035336,3520035487,CA
-3520035488,3520035503,US
+3520035336,3520035495,CA
+3520035496,3520035503,US
3520035504,3520035519,CA
3520035520,3520035543,US
-3520035544,3520035583,CA
-3520035584,3520035631,US
-3520035632,3520036191,CA
+3520035544,3520036191,CA
3520036192,3520036199,US
-3520036200,3520036255,CA
-3520036256,3520036271,US
-3520036272,3520036287,CA
+3520036200,3520036287,CA
3520036288,3520036295,US
3520036296,3520036327,CA
3520036328,3520036343,US
3520036344,3520036351,CA
3520036352,3520036359,US
3520036360,3520036863,CA
-3520036864,3520071823,US
-3520071824,3520071839,NL
-3520071840,3520072751,US
+3520036864,3520072751,US
3520072752,3520072767,AR
-3520072768,3520073967,US
-3520073968,3520073975,CA
-3520073976,3520074671,US
+3520072768,3520073039,US
+3520073040,3520073055,CA
+3520073056,3520074671,US
3520074672,3520074687,GB
3520074688,3520074783,US
3520074784,3520074815,NL
@@ -132875,7 +152561,9 @@
3520121520,3520121535,GB
3520121536,3520356351,US
3520356352,3520364543,ZA
-3520364544,3520450943,US
+3520364544,3520369096,US
+3520369097,3520369097,A1
+3520369098,3520450943,US
3520450944,3520450959,GB
3520450960,3520454655,US
3520454656,3520462847,CA
@@ -132883,9 +152571,7 @@
3520527872,3520528383,A2
3520528384,3520626687,US
3520626688,3520634879,CA
-3520634880,3520643071,US
-3520643072,3520659455,A1
-3520659456,3520675839,US
+3520634880,3520675839,US
3520675840,3520675991,CA
3520675992,3520675999,US
3520676000,3520679439,CA
@@ -132894,9 +152580,7 @@
3520683248,3520683263,US
3520683264,3520683743,CA
3520683744,3520683759,US
-3520683760,3520684407,CA
-3520684408,3520684415,US
-3520684416,3520688399,CA
+3520683760,3520688399,CA
3520688400,3520688431,US
3520688432,3520689799,CA
3520689800,3520689807,US
@@ -132921,11 +152605,20 @@
3520999424,3521003519,CA
3521003520,3521003583,US
3521003584,3521003647,IL
-3521003648,3521005311,US
+3521003648,3521004031,US
+3521004032,3521004039,MY
+3521004040,3521004063,US
+3521004064,3521004071,RO
+3521004072,3521004159,US
+3521004160,3521004175,FR
+3521004176,3521005311,US
3521005312,3521005319,MY
-3521005320,3521005327,GB
-3521005328,3521005335,DE
-3521005336,3521011719,US
+3521005320,3521005335,GB
+3521005336,3521005367,US
+3521005368,3521005375,AZ
+3521005376,3521009679,US
+3521009680,3521009687,MY
+3521009688,3521011719,US
3521011720,3521011727,BR
3521011728,3521011735,AU
3521011736,3521011743,US
@@ -132934,21 +152627,15 @@
3521011760,3521011767,GB
3521011768,3521011791,US
3521011792,3521011799,NZ
-3521011800,3521011807,BR
-3521011808,3521011967,US
+3521011800,3521011967,US
3521011968,3521011975,IL
-3521011976,3521013951,US
-3521013952,3521013959,AU
-3521013960,3521014127,US
+3521011976,3521014127,US
3521014128,3521014135,GR
-3521014136,3521014143,CA
-3521014144,3521014655,US
+3521014136,3521014655,US
3521014656,3521014671,HK
3521014672,3521014687,US
3521014688,3521014703,GB
-3521014704,3521018495,US
-3521018496,3521018511,IN
-3521018512,3521028095,US
+3521014704,3521028095,US
3521028096,3521032191,CA
3521032192,3521044479,US
3521044480,3521048575,CA
@@ -132959,9 +152646,7 @@
3521074736,3521074751,AU
3521074752,3521086207,US
3521086208,3521086463,AU
-3521086464,3521098551,US
-3521098552,3521098559,MX
-3521098560,3521103231,US
+3521086464,3521103231,US
3521103232,3521103263,CA
3521103264,3521106527,US
3521106528,3521106543,CA
@@ -133003,9 +152688,7 @@
3521372096,3521372159,CA
3521372160,3521377407,US
3521377408,3521377439,IT
-3521377440,3521835567,US
-3521835568,3521835575,CH
-3521835576,3521835903,US
+3521377440,3521835903,US
3521835904,3521835967,CA
3521835968,3521836687,US
3521836688,3521836703,GB
@@ -133014,17 +152697,15 @@
3521921024,3521933321,US
3521933322,3521933329,PK
3521933330,3521933345,MA
-3521933346,3521933357,US
-3521933358,3521933365,AE
-3521933366,3521933389,US
+3521933346,3521933389,US
3521933390,3521933397,AE
-3521933398,3521933413,US
+3521933398,3521933405,US
+3521933406,3521933413,VE
3521933414,3521933421,IN
-3521933422,3521933429,MA
-3521933430,3521933437,CA
-3521933438,3521933485,US
-3521933486,3521933493,EG
-3521933494,3521933497,US
+3521933422,3521933429,US
+3521933430,3521933437,EG
+3521933438,3521933445,VE
+3521933446,3521933497,US
3521933498,3521933505,EG
3521933506,3521933537,GB
3521933538,3521933577,US
@@ -133033,11 +152714,7 @@
3521933606,3521933613,AE
3521933614,3521933621,US
3521933622,3521933629,IN
-3521933630,3521933645,US
-3521933646,3521933653,PE
-3521933654,3521933661,US
-3521933662,3521933669,MA
-3521933670,3521933725,US
+3521933630,3521933725,US
3521933726,3521933733,GB
3521933734,3521933741,US
3521933742,3521933785,GB
@@ -133045,20 +152722,19 @@
3521933834,3521933841,EG
3521933842,3521933929,US
3521933930,3521933937,IN
-3521933938,3521933945,GB
+3521933938,3521933945,US
3521933946,3521933953,EG
3521933954,3521933981,US
3521933982,3521933989,IN
-3521933990,3521934089,US
+3521933990,3521933997,EG
+3521933998,3521934089,US
3521934090,3521934097,EG
3521934098,3521934121,US
3521934122,3521934129,ID
3521934130,3521934137,US
3521934138,3521934145,GR
3521934146,3521934161,ID
-3521934162,3521934169,US
-3521934170,3521934177,EG
-3521934178,3521934185,US
+3521934162,3521934185,US
3521934186,3521934201,LK
3521934202,3521934233,US
3521934234,3521934241,ID
@@ -133074,37 +152750,31 @@
3521934769,3521934776,MA
3521934777,3521935310,US
3521935311,3521935318,EG
-3521935319,3521935717,US
-3521935718,3521935725,IN
+3521935319,3521935553,US
+3521935554,3521935561,VE
+3521935562,3521935685,US
+3521935686,3521935693,EG
+3521935694,3521935709,US
+3521935710,3521935725,IN
3521935726,3521935993,US
3521935994,3521936025,EG
-3521936026,3521936049,US
-3521936050,3521936065,CA
-3521936066,3521936243,US
+3521936026,3521936243,US
3521936244,3521936251,IN
3521936252,3521936291,US
3521936292,3521936299,IN
3521936300,3521936393,US
3521936394,3521936425,EG
-3521936426,3521936669,US
-3521936670,3521936677,PK
-3521936678,3521936739,US
+3521936426,3521936739,US
3521936740,3521936747,ID
-3521936748,3521936766,US
-3521936767,3521936774,PE
-3521936775,3521936827,US
+3521936748,3521936758,US
+3521936759,3521936766,IN
+3521936767,3521936827,US
3521936828,3521936860,EG
-3521936861,3521936957,US
-3521936958,3521936965,PE
-3521936966,3521936969,US
-3521936970,3521936977,PK
-3521936978,3521936993,US
+3521936861,3521936874,US
+3521936875,3521936882,IN
+3521936883,3521936993,US
3521936994,3521937001,LK
-3521937002,3521937005,US
-3521937006,3521937009,EG
-3521937010,3521937011,US
-3521937012,3521937013,EG
-3521937014,3521937017,US
+3521937002,3521937017,US
3521937018,3521937025,SG
3521937026,3521937161,US
3521937162,3521937252,EG
@@ -133117,9 +152787,7 @@
3521989888,3522029439,US
3522029440,3522029503,FI
3522029504,3522029567,CA
-3522029568,3522029823,US
-3522029824,3522029855,A1
-3522029856,3522034447,US
+3522029568,3522034447,US
3522034448,3522034463,GB
3522034464,3522101247,US
3522101248,3522109439,CA
@@ -133136,9 +152804,9 @@
3522131616,3522131647,BR
3522131648,3522131711,US
3522131712,3522131743,GB
-3522131744,3522132479,US
-3522132480,3522132543,CO
-3522132544,3522132607,US
+3522131744,3522131775,US
+3522131776,3522131807,TR
+3522131808,3522132607,US
3522132608,3522132639,CA
3522132640,3522132671,BO
3522132672,3522132703,BR
@@ -133162,12 +152830,12 @@
3522759600,3522854911,US
3522854912,3522859999,CA
3522860000,3522860031,IN
-3522860032,3522871295,CA
+3522860032,3522861279,CA
+3522861280,3522861287,US
+3522861288,3522871295,CA
3522871296,3522902015,US
3522902016,3522903039,CA
-3522903040,3522937855,US
-3522937856,3522938367,GB
-3522938368,3523215359,US
+3522903040,3523215359,US
3523215360,3523223551,AU
3523223552,3523231743,KR
3523231744,3523248127,AU
@@ -133202,202 +152870,25 @@
3523551232,3523553279,AU
3523553280,3523555327,MY
3523555328,3523557375,NZ
-3523557376,3523575807,PH
+3523557376,3523559423,CN
+3523559424,3523575807,PH
3523575808,3523583999,CN
-3523584000,3523592479,HK
-3523592480,3523592495,YE
-3523592496,3523592511,HK
-3523592512,3523592575,PK
-3523592576,3523592703,LB
-3523592704,3523593215,HK
-3523593216,3523593231,KW
-3523593232,3523593239,AE
-3523593240,3523593279,HK
-3523593280,3523593343,IR
-3523593344,3523593535,HK
-3523593536,3523593599,IR
-3523593600,3523593743,HK
-3523593744,3523593751,IQ
-3523593752,3523593759,HK
-3523593760,3523593767,IR
-3523593768,3523593775,HK
-3523593776,3523593791,IQ
-3523593792,3523593807,IR
-3523593808,3523593823,HK
-3523593824,3523593951,IR
-3523593952,3523593959,HK
-3523593960,3523593983,IQ
-3523593984,3523594239,PK
-3523594240,3523595263,IN
-3523595264,3523595391,IR
-3523595392,3523595519,PK
-3523595520,3523595583,IR
-3523595584,3523595591,HK
-3523595592,3523595599,KE
-3523595600,3523595631,IQ
-3523595632,3523595647,LB
-3523595648,3523596287,PK
-3523596288,3523596351,IR
-3523596352,3523596359,HK
-3523596360,3523596375,PK
-3523596376,3523596415,HK
-3523596416,3523596671,IR
-3523596672,3523596735,PK
-3523596736,3523596751,IN
-3523596752,3523596759,US
-3523596760,3523596767,HK
-3523596768,3523596775,IN
-3523596776,3523596783,HK
-3523596784,3523596791,PK
-3523596792,3523596815,HK
-3523596816,3523596831,IQ
-3523596832,3523596863,HK
-3523596864,3523596927,IQ
-3523596928,3523597127,PK
-3523597128,3523597311,HK
-3523597312,3523597823,PK
-3523597824,3523597951,TZ
-3523597952,3523597959,IR
-3523597960,3523597983,IQ
-3523597984,3523597991,KZ
-3523597992,3523597999,US
-3523598000,3523598015,HK
-3523598016,3523598079,IR
-3523598080,3523598207,TZ
-3523598208,3523598335,HK
-3523598336,3523598591,AE
-3523598592,3523598847,PK
-3523598848,3523598911,HK
-3523598912,3523599103,IR
-3523599104,3523599359,AE
-3523599360,3523599615,HK
-3523599616,3523599623,PK
-3523599624,3523599631,HK
-3523599632,3523599647,PK
-3523599648,3523599871,HK
-3523599872,3523600383,AE
-3523600384,3523600895,HK
-3523600896,3523601151,AF
-3523601152,3523602431,HK
-3523602432,3523602559,IR
-3523602560,3523602687,TR
-3523602688,3523602879,IR
-3523602880,3523602895,IQ
-3523602896,3523602903,HK
-3523602904,3523602943,IQ
-3523602944,3523603207,HK
-3523603208,3523603247,IQ
-3523603248,3523603255,HK
-3523603256,3523603263,IQ
-3523603264,3523603279,HK
-3523603280,3523603311,IQ
-3523603312,3523603319,HK
-3523603320,3523603343,IQ
-3523603344,3523603383,HK
-3523603384,3523603415,IQ
-3523603416,3523603495,HK
-3523603496,3523603503,IQ
-3523603504,3523603535,HK
-3523603536,3523603559,IQ
-3523603560,3523603575,HK
-3523603576,3523603583,IQ
-3523603584,3523603607,HK
-3523603608,3523603615,IQ
-3523603616,3523603647,HK
-3523603648,3523603663,IQ
-3523603664,3523603679,HK
-3523603680,3523603695,IQ
-3523603696,3523603703,HK
-3523603704,3523603711,IQ
-3523603712,3523604223,HK
-3523604224,3523604479,AE
-3523604480,3523604991,HK
-3523604992,3523605503,AE
-3523605504,3523606015,HK
-3523606016,3523606527,AE
-3523606528,3523606783,AU
-3523606784,3523607039,HK
-3523607040,3523608319,AU
-3523608320,3523608575,QA
-3523608576,3523674111,HK
+3523584000,3523592495,HK
+3523592496,3523592503,IQ
+3523592504,3523603303,HK
+3523603304,3523603311,IQ
+3523603312,3523603343,HK
+3523603344,3523603351,AF
+3523603352,3523674111,HK
3523674112,3523682303,FJ
3523682304,3523686399,NZ
3523686400,3523690495,AU
3523690496,3523698687,IN
-3523698688,3523698863,HK
-3523698864,3523698879,AP
-3523698880,3523698943,HK
-3523698944,3523698975,AP
-3523698976,3523699007,HK
-3523699008,3523699071,AP
-3523699072,3523699199,HK
+3523698688,3523699199,JP
3523699200,3523699711,US
-3523699712,3523700223,AP
-3523700224,3523700287,US
-3523700288,3523700351,AP
-3523700352,3523700415,US
-3523700416,3523700671,AP
-3523700672,3523700679,HK
-3523700680,3523700735,AP
-3523700736,3523701759,HK
-3523701760,3523702783,AP
-3523702784,3523702799,SG
-3523702800,3523702807,SN
-3523702808,3523702847,SG
-3523702848,3523702871,AP
-3523702872,3523702911,SG
-3523702912,3523703039,AP
-3523703040,3523703103,SG
-3523703104,3523704703,AP
-3523704704,3523704719,SG
-3523704720,3523704751,AP
-3523704752,3523704783,SG
-3523704784,3523704791,AP
-3523704792,3523704831,SG
-3523704832,3523704839,HK
-3523704840,3523706879,AP
-3523706880,3523707039,AU
-3523707040,3523707071,AP
-3523707072,3523707103,AU
-3523707104,3523707119,AP
-3523707120,3523707135,AU
-3523707136,3523707903,GB
-3523707904,3523708159,AU
-3523708160,3523708287,AP
-3523708288,3523708319,AU
-3523708320,3523708351,AP
-3523708352,3523708415,AU
-3523708416,3523708927,AP
-3523708928,3523708975,AU
-3523708976,3523708991,AP
-3523708992,3523709183,AU
-3523709184,3523713023,AP
-3523713024,3523713135,AU
-3523713136,3523713279,AP
+3523699712,3523713279,JP
3523713280,3523713535,NL
-3523713536,3523714047,AP
-3523714048,3523714719,AU
-3523714720,3523714799,AP
-3523714800,3523714943,AU
-3523714944,3523715007,GB
-3523715008,3523715031,AP
-3523715032,3523715071,AU
-3523715072,3523723263,AP
-3523723264,3523725311,US
-3523725312,3523731455,AP
-3523731456,3523731503,JP
-3523731504,3523731519,AP
-3523731520,3523731567,JP
-3523731568,3523731583,AP
-3523731584,3523731615,JP
-3523731616,3523737599,AP
-3523737600,3523738111,US
-3523738112,3523739135,AP
-3523739136,3523739455,JP
-3523739456,3523739519,AP
-3523739520,3523739551,JP
-3523739552,3523739575,AP
-3523739576,3523739647,JP
+3523713536,3523739647,JP
3523739648,3524001791,AU
3524001792,3524132863,CN
3524132864,3524145151,PH
@@ -133406,11 +152897,7 @@
3524157440,3524161535,AU
3524161536,3524247551,CN
3524247552,3524263935,AU
-3524263936,3524266495,PH
-3524266496,3524266751,SG
-3524266752,3524274175,PH
-3524274176,3524274431,SG
-3524274432,3524296703,PH
+3524263936,3524296703,PH
3524296704,3524313087,CN
3524313088,3524329471,KR
3524329472,3524362239,TW
@@ -133425,15 +152912,13 @@
3524739072,3524743167,ID
3524743168,3524747263,MP
3524747264,3524755455,PH
-3524755456,3524763647,AU
-3524763648,3524781791,PH
-3524781792,3524781823,SG
-3524781824,3524788223,PH
+3524755456,3524763647,SG
+3524763648,3524788223,PH
3524788224,3524853759,SG
3524853760,3526361087,CN
3526361088,3526393855,NZ
3526393856,3526395903,JP
-3526395904,3526397951,KH
+3526395904,3526397951,CN
3526397952,3526402047,MY
3526402048,3526410239,NZ
3526410240,3526414335,MY
@@ -133449,12 +152934,13 @@
3526901760,3526909951,AU
3526909952,3526918143,IN
3526918144,3526922239,SG
-3526922240,3526924287,BD
3526924288,3526926335,AU
3526926336,3526934527,JP
3526934528,3526942719,CN
3526942720,3526950911,AU
-3526950912,3527004159,JP
+3526950912,3526967295,HK
+3526967296,3526983679,JP
+3526983680,3527004159,HK
3527004160,3527008255,ID
3527008256,3527016447,KR
3527016448,3527933951,TW
@@ -133465,23 +152951,13 @@
3528404992,3528407039,NZ
3528407040,3528409087,AU
3528409088,3528425471,CN
-3528425472,3528445951,JP
+3528441856,3528445951,JP
3528445952,3528450047,ID
3528450048,3528458239,CN
-3528458240,3528460575,AP
-3528460576,3528460591,AU
-3528460592,3528464895,AP
-3528464896,3528465151,HK
-3528465152,3528470015,AP
-3528470016,3528470271,AU
-3528470272,3528474623,AP
+3528458240,3528474623,AF
3528474624,3528482815,TW
3528482816,3528491007,KR
-3528491008,3528505007,AU
-3528505008,3528505023,HK
-3528505024,3528506543,AU
-3528506544,3528506559,NZ
-3528506560,3528507391,AU
+3528491008,3528507391,AU
3528507392,3528589311,JP
3528589312,3528720383,CN
3528720384,3528785919,AU
@@ -133494,9 +152970,7 @@
3528966144,3528974335,KR
3528974336,3528978431,JP
3528978432,3528982527,HK
-3528982528,3529011135,JP
-3529011136,3529011151,NZ
-3529011152,3529056255,JP
+3528982528,3529056255,JP
3529056256,3529064447,IN
3529064448,3529072639,HK
3529072640,3529080831,JP
@@ -133505,13 +152979,7 @@
3529097216,3529113599,JP
3529113600,3531603967,KR
3531603968,3534749695,JP
-3534749696,3534757919,HK
-3534757920,3534757951,IN
-3534757952,3534757983,HK
-3534757984,3534761023,IN
-3534761024,3534761119,HK
-3534761120,3534761983,IN
-3534761984,3534880767,HK
+3534749696,3534880767,HK
3534880768,3535273983,KR
3535273984,3535339519,HK
3535339520,3535355903,NZ
@@ -133519,9 +152987,7 @@
3535372288,3535380479,JP
3535380480,3535388671,PH
3535388672,3535405055,CN
-3535405056,3535480703,MY
-3535480704,3535480831,TH
-3535480832,3535536127,MY
+3535405056,3535536127,MY
3535536128,3535798271,JP
3535798272,3535814655,TW
3535814656,3535822847,KR
@@ -133616,14 +153082,22 @@
3556984640,3556984647,DE
3556984648,3556984651,FR
3556984652,3556984655,DE
-3556984656,3556984719,FR
-3556984720,3556985119,DE
+3556984656,3556984743,FR
+3556984744,3556984747,DE
+3556984748,3556984751,FR
+3556984752,3556985119,DE
3556985120,3556985135,ES
-3556985136,3556985207,DE
+3556985136,3556985143,DE
+3556985144,3556985151,ES
+3556985152,3556985155,DE
+3556985156,3556985159,ES
+3556985160,3556985207,DE
3556985208,3556985215,ES
3556985216,3556985663,DE
3556985664,3556985671,HU
-3556985672,3556990975,DE
+3556985672,3556986143,DE
+3556986144,3556986155,DK
+3556986156,3556990975,DE
3556990976,3556999167,UA
3556999168,3557007359,RU
3557007360,3557015551,IT
@@ -133670,10 +153144,13 @@
3557056512,3557064703,ES
3557064704,3557072895,CZ
3557072896,3557081087,DE
-3557081088,3557086015,NL
+3557081088,3557083199,NL
+3557083200,3557083263,EU
+3557083264,3557086015,NL
3557086016,3557086047,DE
3557086048,3557086079,GB
-3557086080,3557086719,NL
+3557086080,3557086143,EU
+3557086144,3557086719,NL
3557086720,3557086783,CH
3557086784,3557086847,IT
3557086848,3557089279,NL
@@ -133700,9 +153177,7 @@
3557176576,3557176619,NE
3557176620,3557176831,A2
3557176832,3557177023,IQ
-3557177024,3557177199,A2
-3557177200,3557177215,IR
-3557177216,3557177343,A2
+3557177024,3557177343,A2
3557177344,3557177599,IT
3557177600,3557179135,A2
3557179136,3557179391,IT
@@ -133736,16 +153211,18 @@
3557336192,3557336255,EU
3557336256,3557336319,BE
3557336320,3557336575,EU
-3557336576,3557336671,BE
-3557336672,3557336703,EU
-3557336704,3557336831,BE
+3557336576,3557336647,BE
+3557336648,3557336655,EU
+3557336656,3557336831,BE
3557336832,3557338111,EU
3557338112,3557338367,BE
3557338368,3557338495,EU
-3557338496,3557339175,BE
+3557338496,3557338615,BE
+3557338616,3557338623,EU
+3557338624,3557339175,BE
3557339176,3557339183,EU
-3557339184,3557339199,BE
-3557339200,3557339215,EU
+3557339184,3557339191,BE
+3557339192,3557339215,EU
3557339216,3557339223,BE
3557339224,3557339239,EU
3557339240,3557339247,BE
@@ -133765,32 +153242,31 @@
3557341664,3557341695,BE
3557341696,3557341951,EU
3557341952,3557342511,BE
-3557342512,3557342527,EU
-3557342528,3557342543,BE
-3557342544,3557342559,EU
+3557342512,3557342559,EU
3557342560,3557342623,BE
3557342624,3557342719,EU
3557342720,3557343231,BE
3557343232,3557351423,DE
3557351424,3557359615,RU
-3557359616,3557359647,GB
-3557359648,3557359655,JE
+3557359616,3557359655,JE
3557359656,3557359671,GB
3557359672,3557359695,JE
3557359696,3557359703,GB
3557359704,3557359871,JE
-3557359872,3557360055,GB
+3557359872,3557360035,GB
+3557360036,3557360039,JE
+3557360040,3557360045,GB
+3557360046,3557360047,JE
+3557360048,3557360055,GB
3557360056,3557360063,JE
-3557360064,3557360406,GB
-3557360407,3557360407,JE
-3557360408,3557360415,GB
-3557360416,3557360431,JE
-3557360432,3557360471,GB
-3557360472,3557360487,JE
-3557360488,3557360495,GB
-3557360496,3557360527,JE
-3557360528,3557360535,GB
-3557360536,3557360543,JE
+3557360064,3557360231,GB
+3557360232,3557360247,JE
+3557360248,3557360391,GB
+3557360392,3557360399,JE
+3557360400,3557360406,GB
+3557360407,3557360439,JE
+3557360440,3557360455,GB
+3557360456,3557360543,JE
3557360544,3557360559,GB
3557360560,3557360575,JE
3557360576,3557360680,GB
@@ -133802,47 +153278,45 @@
3557360968,3557361055,GB
3557361056,3557361087,JE
3557361088,3557361159,GB
-3557361160,3557361167,JE
-3557361168,3557361183,GB
-3557361184,3557361215,JE
-3557361216,3557361247,GB
-3557361248,3557361279,JE
-3557361280,3557361375,GB
+3557361160,3557361279,JE
+3557361280,3557361295,GB
+3557361296,3557361311,JE
+3557361312,3557361343,GB
+3557361344,3557361359,JE
+3557361360,3557361375,GB
3557361376,3557361391,JE
3557361392,3557361415,GB
3557361416,3557361423,JE
-3557361424,3557361607,GB
+3557361424,3557361479,GB
+3557361480,3557361487,JE
+3557361488,3557361607,GB
3557361608,3557361615,JE
3557361616,3557361663,GB
3557361664,3557361983,JE
3557361984,3557362047,GB
3557362048,3557362431,JE
-3557362432,3557362687,GB
-3557362688,3557363199,JE
-3557363200,3557363471,GB
+3557362432,3557362439,GB
+3557362440,3557363455,JE
+3557363456,3557363471,GB
3557363472,3557363479,JE
3557363480,3557363655,GB
3557363656,3557363663,JE
3557363664,3557363671,GB
3557363672,3557363679,JE
-3557363680,3557364103,GB
+3557363680,3557363711,GB
+3557363712,3557364095,JE
+3557364096,3557364103,GB
3557364104,3557364107,JE
-3557364108,3557364147,GB
-3557364148,3557364151,JE
-3557364152,3557364183,GB
-3557364184,3557364223,JE
-3557364224,3557364479,GB
-3557364480,3557364495,JE
+3557364108,3557364187,GB
+3557364188,3557364199,JE
+3557364200,3557364223,GB
+3557364224,3557364495,JE
3557364496,3557364527,GB
-3557364528,3557364559,JE
-3557364560,3557364575,GB
-3557364576,3557364607,JE
-3557364608,3557364631,GB
-3557364632,3557364639,JE
-3557364640,3557364703,GB
-3557364704,3557364719,JE
-3557364720,3557364727,GB
-3557364728,3557364735,JE
+3557364528,3557364615,JE
+3557364616,3557364631,GB
+3557364632,3557364655,JE
+3557364656,3557364671,GB
+3557364672,3557364735,JE
3557364736,3557364751,GB
3557364752,3557364759,JE
3557364760,3557364791,GB
@@ -133857,12 +153331,12 @@
3557365112,3557365119,JE
3557365120,3557365183,GB
3557365184,3557365375,JE
-3557365376,3557365423,GB
-3557365424,3557365503,JE
+3557365376,3557365415,GB
+3557365416,3557365503,JE
3557365504,3557365511,GB
3557365512,3557365519,JE
-3557365520,3557365551,GB
-3557365552,3557365567,JE
+3557365520,3557365535,GB
+3557365536,3557365567,JE
3557365568,3557365631,GB
3557365632,3557365695,JE
3557365696,3557365807,GB
@@ -133873,15 +153347,14 @@
3557365888,3557365895,JE
3557365896,3557365911,GB
3557365912,3557365919,JE
-3557365920,3557365935,GB
-3557365936,3557366015,JE
+3557365920,3557365927,GB
+3557365928,3557366015,JE
3557366016,3557366055,GB
3557366056,3557366063,JE
3557366064,3557366263,GB
3557366264,3557366271,JE
-3557366272,3557366279,GB
-3557366280,3557366287,JE
-3557366288,3557367807,GB
+3557366272,3557366527,GB
+3557366528,3557367807,JE
3557367808,3557375999,DE
3557376000,3557384191,ES
3557384192,3557392383,GB
@@ -133964,11 +153437,19 @@
3557860832,3557860847,FI
3557860848,3557860863,SE
3557860864,3557861119,NO
-3557861120,3557862015,SE
+3557861120,3557861943,SE
+3557861944,3557861947,FI
+3557861948,3557862015,SE
3557862016,3557862031,BE
3557862032,3557862399,SE
3557862400,3557862911,FI
-3557862912,3557863487,SE
+3557862912,3557863295,SE
+3557863296,3557863327,FI
+3557863328,3557863351,SE
+3557863352,3557863359,FI
+3557863360,3557863391,SE
+3557863392,3557863399,FI
+3557863400,3557863487,SE
3557863488,3557863503,NO
3557863504,3557863519,DK
3557863520,3557863887,SE
@@ -134125,8 +153606,8 @@
3558196360,3558196367,ES
3558196368,3558196415,IT
3558196416,3558196543,ES
-3558196544,3558196607,IT
-3558196608,3558196735,ES
+3558196544,3558196599,IT
+3558196600,3558196735,ES
3558196736,3558203391,US
3558203392,3558211583,ES
3558211584,3558219775,GB
@@ -134172,15 +153653,18 @@
3558288672,3558288687,DE
3558288688,3558288895,BE
3558288896,3558289103,FR
-3558289104,3558289119,GB
+3558289104,3558289111,IT
+3558289112,3558289119,GB
3558289120,3558289151,FR
3558289152,3558289407,GB
-3558289408,3558289663,NL
+3558289408,3558289503,NL
+3558289504,3558289535,GB
+3558289536,3558289663,NL
3558289664,3558289747,IT
3558289748,3558289751,GB
3558289752,3558289775,IT
-3558289776,3558289783,GB
-3558289784,3558289919,IT
+3558289776,3558289791,GB
+3558289792,3558289919,IT
3558289920,3558290175,CZ
3558290176,3558290431,GB
3558290432,3558290575,BE
@@ -134201,8 +153685,7 @@
3558290992,3558291023,DE
3558291024,3558291031,SE
3558291032,3558291135,DE
-3558291136,3558291199,GB
-3558291200,3558291215,CH
+3558291136,3558291215,GB
3558291216,3558291231,AT
3558291232,3558291239,CH
3558291240,3558291247,GB
@@ -134313,8 +153796,7 @@
3558514688,3558522879,SK
3558522880,3558531071,NL
3558531072,3558539263,RU
-3558539264,3558543359,SE
-3558543360,3558547455,DK
+3558539264,3558547455,DK
3558547456,3558555647,FR
3558555648,3558572031,AT
3558572032,3558580223,DE
@@ -134525,9 +154007,7 @@
3558856576,3558856639,ES
3558856640,3558856703,NL
3558856704,3558858751,US
-3558858752,3558860967,IT
-3558860968,3558860975,IE
-3558860976,3558864695,IT
+3558858752,3558864695,IT
3558864696,3558864703,GB
3558864704,3558866943,IT
3558866944,3558899711,GB
@@ -134572,9 +154052,7 @@
3559089024,3559089027,GB
3559089028,3559089079,BE
3559089080,3559089087,GB
-3559089088,3559089143,BE
-3559089144,3559089151,GB
-3559089152,3559089351,BE
+3559089088,3559089351,BE
3559089352,3559089359,GB
3559089360,3559089407,BE
3559089408,3559089411,GB
@@ -134596,7 +154074,9 @@
3559089656,3559089659,GB
3559089660,3559090071,BE
3559090072,3559090079,NL
-3559090080,3559090439,BE
+3559090080,3559090111,BE
+3559090112,3559090127,GB
+3559090128,3559090439,BE
3559090440,3559090443,GB
3559090444,3559090463,BE
3559090464,3559090467,GB
@@ -134604,16 +154084,14 @@
3559090484,3559090487,GB
3559090488,3559090587,BE
3559090588,3559090591,GB
-3559090592,3559090751,BE
-3559090752,3559090755,GB
-3559090756,3559090775,BE
+3559090592,3559090775,BE
3559090776,3559090779,GB
3559090780,3559090803,BE
3559090804,3559090807,GB
3559090808,3559090863,BE
3559090864,3559090871,GB
-3559090872,3559090895,BE
-3559090896,3559090899,GB
+3559090872,3559090887,BE
+3559090888,3559090899,GB
3559090900,3559090903,BE
3559090904,3559090907,GB
3559090908,3559090923,BE
@@ -134622,7 +154100,9 @@
3559091012,3559091015,GB
3559091016,3559091087,BE
3559091088,3559091091,GB
-3559091092,3559091203,BE
+3559091092,3559091175,BE
+3559091176,3559091183,GB
+3559091184,3559091203,BE
3559091204,3559091207,GB
3559091208,3559091211,BE
3559091212,3559091215,GB
@@ -134648,15 +154128,17 @@
3559091632,3559091639,LU
3559091640,3559091815,BE
3559091816,3559091823,GB
-3559091824,3559091871,BE
-3559091872,3559091903,GB
-3559091904,3559092159,BE
+3559091824,3559092159,BE
3559092160,3559092160,GB
3559092161,3559092222,BE
3559092223,3559092223,GB
-3559092224,3559092359,BE
+3559092224,3559092239,BE
+3559092240,3559092247,GB
+3559092248,3559092359,BE
3559092360,3559092367,GB
-3559092368,3559092735,BE
+3559092368,3559092407,BE
+3559092408,3559092415,GB
+3559092416,3559092735,BE
3559092736,3559092739,GB
3559092740,3559092799,BE
3559092800,3559092803,GB
@@ -134673,7 +154155,9 @@
3559093000,3559093007,BE
3559093008,3559093015,GB
3559093016,3559093023,FR
-3559093024,3559093047,BE
+3559093024,3559093031,BE
+3559093032,3559093039,GB
+3559093040,3559093047,BE
3559093048,3559093055,GB
3559093056,3559093063,BE
3559093064,3559093071,FR
@@ -134694,15 +154178,19 @@
3559093216,3559093219,GB
3559093220,3559093239,BE
3559093240,3559093243,GB
-3559093244,3559093511,BE
-3559093512,3559093535,GB
-3559093536,3559093567,BE
-3559093568,3559093599,IT
-3559093600,3559093663,BE
+3559093244,3559093519,BE
+3559093520,3559093535,GB
+3559093536,3559093663,BE
3559093664,3559093671,GB
3559093672,3559093687,BE
3559093688,3559093699,GB
-3559093700,3559094019,BE
+3559093700,3559093703,BE
+3559093704,3559093711,GB
+3559093712,3559093743,BE
+3559093744,3559093759,GB
+3559093760,3559093975,BE
+3559093976,3559093983,GB
+3559093984,3559094019,BE
3559094020,3559094023,GB
3559094024,3559094031,BE
3559094032,3559094039,FR
@@ -134745,7 +154233,9 @@
3559095168,3559095231,GB
3559095232,3559095263,BE
3559095264,3559095303,GB
-3559095304,3559095439,BE
+3559095304,3559095359,BE
+3559095360,3559095423,GB
+3559095424,3559095439,BE
3559095440,3559095455,GB
3559095456,3559095487,BE
3559095488,3559095551,GB
@@ -134881,10 +154371,9 @@
3559491728,3559491735,ES
3559491736,3559491871,NL
3559491872,3559491903,GB
-3559491904,3559491999,ES
-3559492000,3559492003,NL
-3559492004,3559492007,ES
-3559492008,3559492013,NL
+3559491904,3559491935,BE
+3559491936,3559491999,ES
+3559492000,3559492013,NL
3559492014,3559492015,ES
3559492016,3559492023,NL
3559492024,3559492031,ES
@@ -134932,13 +154421,7 @@
3559686144,3559694335,RU
3559694336,3559702655,DE
3559702656,3559702719,RU
-3559702720,3559703039,DE
-3559703040,3559703551,UA
-3559703552,3559703679,IR
-3559703680,3559703807,DE
-3559703808,3559704063,IR
-3559704064,3559710463,DE
-3559710464,3559710719,IR
+3559702720,3559710719,DE
3559710720,3559718911,FR
3559718912,3559727103,RU
3559727104,3559735295,NL
@@ -134981,8 +154464,8 @@
3559899960,3559899991,RU
3559899992,3559900275,UA
3559900276,3559900279,EE
-3559900280,3559900423,UA
-3559900424,3559900432,EE
+3559900280,3559900431,UA
+3559900432,3559900432,EE
3559900433,3559900439,UA
3559900440,3559900447,EE
3559900448,3559900483,UA
@@ -134993,8 +154476,8 @@
3559900504,3559900511,EE
3559900512,3559900611,UA
3559900612,3559900624,EE
-3559900625,3559900927,UA
-3559900928,3559900951,EE
+3559900625,3559900671,UA
+3559900672,3559900951,EE
3559900952,3559900959,DE
3559900960,3559900975,SE
3559900976,3559900983,PL
@@ -135008,28 +154491,28 @@
3559902048,3559902055,EE
3559902056,3559902071,UA
3559902072,3559902079,EE
-3559902080,3559902175,UA
-3559902176,3559902183,EE
-3559902184,3559902191,UA
-3559902192,3559902215,EE
+3559902080,3559902151,UA
+3559902152,3559902159,EE
+3559902160,3559902175,UA
+3559902176,3559902215,EE
3559902216,3559902223,UA
-3559902224,3559902239,EE
-3559902240,3559902431,UA
-3559902432,3559902463,EE
+3559902224,3559902271,EE
+3559902272,3559902399,UA
+3559902400,3559902463,EE
3559902464,3559902975,UA
-3559902976,3559903631,EE
-3559903632,3559903679,UA
+3559902976,3559903647,EE
+3559903648,3559903679,UA
3559903680,3559904003,EE
-3559904004,3559904015,UA
-3559904016,3559904043,EE
-3559904044,3559904127,UA
-3559904128,3559904767,EE
+3559904004,3559904007,UA
+3559904008,3559904043,EE
+3559904044,3559904047,UA
+3559904048,3559904767,EE
3559904768,3559904799,UA
3559904800,3559904815,EE
-3559904816,3559905019,UA
-3559905020,3559905031,EE
-3559905032,3559905047,UA
-3559905048,3559905051,EE
+3559904816,3559904831,UA
+3559904832,3559905027,EE
+3559905028,3559905029,UA
+3559905030,3559905051,EE
3559905052,3559905055,UA
3559905056,3559905139,EE
3559905140,3559905143,DE
@@ -135051,20 +154534,12 @@
3559905332,3559905347,UA
3559905348,3559905349,EE
3559905350,3559905535,UA
-3559905536,3559905615,EE
-3559905616,3559905631,UA
-3559905632,3559905903,EE
-3559905904,3559905911,UA
-3559905912,3559906239,EE
-3559906240,3559906247,UA
-3559906248,3559906257,EE
+3559905536,3559906257,EE
3559906258,3559906263,UA
3559906264,3559906267,EE
3559906268,3559906271,UA
-3559906272,3559906287,EE
-3559906288,3559906303,UA
-3559906304,3559906975,EE
-3559906976,3559907071,UA
+3559906272,3559906815,EE
+3559906816,3559907071,UA
3559907072,3559907327,EE
3559907328,3559915519,FR
3559915520,3559923711,IT
@@ -135074,9 +154549,7 @@
3559945472,3559945727,US
3559945728,3559948287,DE
3559948288,3559956479,RU
-3559956480,3559956543,IT
-3559956544,3559956551,NL
-3559956552,3559957567,IT
+3559956480,3559957567,IT
3559957568,3559957599,NL
3559957600,3559964159,IT
3559964160,3559964415,HU
@@ -135112,7 +154585,9 @@
3560235008,3560243199,DE
3560243200,3560247295,BE
3560247296,3560251391,NL
-3560251392,3560253439,RU
+3560251392,3560252159,RU
+3560252160,3560252415,CZ
+3560252416,3560253439,RU
3560253440,3560253695,CZ
3560253696,3560259583,RU
3560259584,3560267775,GB
@@ -135188,9 +154663,7 @@
3560841216,3560849407,RS
3560849408,3560849663,DE
3560849664,3560849727,NL
-3560849728,3560852911,DE
-3560852912,3560852919,TH
-3560852920,3560852959,DE
+3560849728,3560852959,DE
3560852960,3560852967,GB
3560852968,3560857599,DE
3560857600,3560865791,SA
@@ -135219,9 +154692,7 @@
3560939588,3560939591,BE
3560939592,3560939607,DE
3560939608,3560939611,IT
-3560939612,3560939627,DE
-3560939628,3560939631,CH
-3560939632,3560939643,DE
+3560939612,3560939643,DE
3560939644,3560939647,BE
3560939648,3560939655,DE
3560939656,3560939659,CH
@@ -135631,8 +155102,7 @@
3560941692,3560941695,IT
3560941696,3560941699,FR
3560941700,3560941703,GB
-3560941704,3560941707,DE
-3560941708,3560941711,CH
+3560941704,3560941711,DE
3560941712,3560941715,FR
3560941716,3560941723,DE
3560941724,3560941727,FR
@@ -135758,7 +155228,7 @@
3560942328,3560942339,PT
3560942340,3560942343,DE
3560942344,3560942347,FR
-3560942348,3560942351,GR
+3560942348,3560942351,DE
3560942352,3560942355,ES
3560942356,3560942359,IT
3560942360,3560942363,AT
@@ -135838,9 +155308,7 @@
3560942744,3560942751,GB
3560942752,3560942763,DE
3560942764,3560942767,FR
-3560942768,3560942771,DE
-3560942772,3560942775,ES
-3560942776,3560942779,DE
+3560942768,3560942779,DE
3560942780,3560942783,CH
3560942784,3560942787,DE
3560942788,3560942791,HU
@@ -135884,9 +155352,7 @@
3560942952,3560942955,ES
3560942956,3560942959,DE
3560942960,3560942963,GB
-3560942964,3560942975,DE
-3560942976,3560942979,IT
-3560942980,3560942983,DE
+3560942964,3560942983,DE
3560942984,3560942987,BE
3560942988,3560942999,IT
3560943000,3560943003,PL
@@ -135982,8 +155448,7 @@
3560943200,3560943200,AT
3560943201,3560943201,IT
3560943202,3560943202,IL
-3560943203,3560943203,DE
-3560943204,3560943204,CH
+3560943203,3560943204,DE
3560943205,3560943205,IT
3560943206,3560943207,DE
3560943208,3560943208,AT
@@ -136046,7 +155511,7 @@
3560943277,3560943277,IT
3560943278,3560943278,DE
3560943279,3560943279,FR
-3560943280,3560943280,GR
+3560943280,3560943280,DE
3560943281,3560943281,ES
3560943282,3560943282,FR
3560943283,3560943283,ES
@@ -136157,7 +155622,7 @@
3560943419,3560943419,FR
3560943420,3560943420,DE
3560943421,3560943421,HU
-3560943422,3560943422,CH
+3560943422,3560943422,DE
3560943423,3560943423,FR
3560943424,3560943424,DE
3560943425,3560943425,ES
@@ -136379,7 +155844,7 @@
3560943692,3560943692,SE
3560943693,3560943693,DE
3560943694,3560943694,FR
-3560943695,3560943695,GR
+3560943695,3560943695,DE
3560943696,3560943697,CH
3560943698,3560943698,DE
3560943699,3560943699,IT
@@ -136508,7 +155973,7 @@
3560943861,3560943865,DE
3560943866,3560943866,BE
3560943867,3560943867,ES
-3560943868,3560943868,FR
+3560943868,3560943868,DE
3560943869,3560943869,LU
3560943870,3560943871,DE
3560943872,3560943875,BR
@@ -136642,8 +156107,7 @@
3560944672,3560944675,KZ
3560944676,3560944679,GR
3560944680,3560944687,TR
-3560944688,3560944691,DE
-3560944692,3560944695,SA
+3560944688,3560944695,DE
3560944696,3560944699,TR
3560944700,3560944703,CU
3560944704,3560944707,ZW
@@ -136929,14 +156393,11 @@
3560946235,3560946235,CL
3560946236,3560946237,US
3560946238,3560946238,AR
-3560946239,3560946246,US
-3560946247,3560946247,PR
-3560946248,3560946253,US
+3560946239,3560946253,US
3560946254,3560946254,SG
3560946255,3560946256,US
3560946257,3560946257,MX
-3560946258,3560946258,US
-3560946259,3560946259,VI
+3560946258,3560946259,US
3560946260,3560946260,AR
3560946261,3560946262,US
3560946263,3560946263,AR
@@ -136994,7 +156455,7 @@
3560946376,3560946398,DE
3560946399,3560946399,US
3560946400,3560946408,DE
-3560946409,3560946409,PR
+3560946409,3560946409,US
3560946410,3560946419,DE
3560946420,3560946420,US
3560946421,3560946431,DE
@@ -137004,8 +156465,7 @@
3560946452,3560946455,BO
3560946456,3560946467,US
3560946468,3560946471,BR
-3560946472,3560946475,GU
-3560946476,3560946483,US
+3560946472,3560946483,US
3560946484,3560946487,MX
3560946488,3560946491,US
3560946492,3560946495,BR
@@ -137094,9 +156554,7 @@
3560946988,3560946991,US
3560946992,3560946995,DE
3560946996,3560946999,UY
-3560947000,3560947007,US
-3560947008,3560947011,PR
-3560947012,3560947015,US
+3560947000,3560947015,US
3560947016,3560947019,AR
3560947020,3560947027,US
3560947028,3560947031,CO
@@ -137310,9 +156768,7 @@
3561214976,3561215231,ES
3561215232,3561218047,GB
3561218048,3561226239,AT
-3561226240,3561228663,FI
-3561228664,3561228671,AX
-3561228672,3561234431,FI
+3561226240,3561234431,FI
3561234432,3561242623,TR
3561242624,3561259007,DE
3561259008,3561267199,IL
@@ -137445,7 +156901,9 @@
3561607776,3561610239,FR
3561610240,3561610495,US
3561610496,3561610527,FR
-3561610528,3561610719,GB
+3561610528,3561610559,GB
+3561610560,3561610575,FR
+3561610576,3561610719,GB
3561610720,3561611311,FR
3561611312,3561611559,GB
3561611560,3561611567,FR
@@ -137453,7 +156911,11 @@
3561612288,3561612415,FR
3561612416,3561613311,GB
3561613312,3561613319,FR
-3561613320,3561614175,GB
+3561613320,3561613343,GB
+3561613344,3561613407,FR
+3561613408,3561613439,GB
+3561613440,3561613471,FR
+3561613472,3561614175,GB
3561614176,3561614199,FR
3561614200,3561614335,GB
3561614336,3561614591,FR
@@ -137540,15 +157002,13 @@
3561923424,3561923551,NL
3561923552,3561923647,GB
3561923648,3561923679,NL
-3561923680,3561923711,GB
-3561923712,3561923743,FR
-3561923744,3561923839,GB
+3561923680,3561923839,GB
3561923840,3561924351,NL
3561924352,3561924607,GB
-3561924608,3561924647,NL
-3561924648,3561924655,GB
-3561924656,3561924671,NL
-3561924672,3561924679,GB
+3561924608,3561924639,NL
+3561924640,3561924655,GB
+3561924656,3561924663,NL
+3561924664,3561924679,GB
3561924680,3561924687,NL
3561924688,3561924703,GB
3561924704,3561924719,NL
@@ -137599,7 +157059,9 @@
3561939833,3561939835,GB
3561939836,3561940991,IE
3561940992,3561942015,GB
-3561942016,3561947135,IE
+3561942016,3561942847,IE
+3561942848,3561942911,GB
+3561942912,3561947135,IE
3561947136,3561963519,DE
3561963520,3561971711,BE
3561971712,3561975807,CZ
@@ -137615,11 +157077,13 @@
3562020864,3562029055,UA
3562029056,3562037247,CZ
3562037248,3562045439,CH
-3562045440,3562056711,ES
+3562045440,3562056703,ES
+3562056704,3562056711,EU
3562056712,3562056719,NL
-3562056720,3562056911,ES
+3562056720,3562056911,EU
3562056912,3562056927,FR
-3562056928,3562057215,ES
+3562056928,3562056959,EU
+3562056960,3562057215,ES
3562057216,3562057247,NL
3562057248,3562057263,BE
3562057264,3562057471,ES
@@ -137705,9 +157169,7 @@
3562321232,3562321239,BE
3562321240,3562322743,GB
3562322744,3562322751,GG
-3562322752,3562323087,GB
-3562323088,3562323095,ES
-3562323096,3562323135,GB
+3562322752,3562323135,GB
3562323136,3562323143,BE
3562323144,3562323951,GB
3562323952,3562323959,GG
@@ -137720,8 +157182,11 @@
3562373120,3562381311,FR
3562381312,3562389503,SI
3562389504,3562395647,GH
-3562395648,3562396159,TZ
-3562396160,3562397695,SZ
+3562395648,3562395903,BR
+3562395904,3562396159,TZ
+3562396160,3562396927,SZ
+3562396928,3562397183,GH
+3562397184,3562397695,SZ
3562397696,3562405887,GB
3562405888,3562414079,FI
3562414080,3562422271,DE
@@ -137827,15 +157292,10 @@
3563036672,3563044863,BG
3563044864,3563053055,ES
3563053056,3563061247,GB
-3563061248,3563061759,GH
-3563061760,3563062527,NG
-3563062528,3563067391,GH
-3563067392,3563067519,MZ
-3563067520,3563067647,GH
-3563067648,3563067903,MZ
-3563067904,3563068415,GH
-3563068416,3563069183,NG
-3563069184,3563069439,GH
+3563061248,3563065343,GH
+3563065344,3563067391,NG
+3563067392,3563068415,MZ
+3563068416,3563069439,NG
3563069440,3563077631,HU
3563077632,3563085823,KZ
3563085824,3563094015,RU
@@ -137864,7 +157324,11 @@
3563175936,3563192319,DK
3563192320,3563200511,TR
3563200512,3563208703,CH
-3563208704,3563225087,DK
+3563208704,3563209727,DK
+3563209728,3563209983,EU
+3563209984,3563210751,DK
+3563210752,3563211007,DE
+3563211008,3563225087,DK
3563225088,3563233279,LB
3563233280,3563241471,BY
3563241472,3563257855,TR
@@ -138040,28 +157504,22 @@
3563848704,3563848979,NL
3563848980,3563848983,ES
3563848984,3563848987,NL
-3563848988,3563849007,ES
-3563849008,3563849151,NL
+3563848988,3563848991,ES
+3563848992,3563849151,NL
3563849152,3563849183,ES
3563849184,3563849191,NL
3563849192,3563849215,ES
3563849216,3563849727,GB
3563849728,3563849999,NL
3563850000,3563850007,FI
-3563850008,3563850015,NL
-3563850016,3563850047,ES
-3563850048,3563850111,NL
+3563850008,3563850111,NL
3563850112,3563850239,ES
3563850240,3563850751,GB
3563850752,3563850815,NL
3563850816,3563850831,ES
-3563850832,3563850847,NL
-3563850848,3563850879,ES
-3563850880,3563851007,NL
+3563850832,3563851007,NL
3563851008,3563851135,ES
-3563851136,3563851839,NL
-3563851840,3563851903,ES
-3563851904,3563852031,NL
+3563851136,3563852031,NL
3563852032,3563852071,ES
3563852072,3563852079,NL
3563852080,3563852095,ES
@@ -138069,9 +157527,7 @@
3563852192,3563852207,GB
3563852208,3563852216,NL
3563852217,3563852223,ES
-3563852224,3563852543,NL
-3563852544,3563852799,ES
-3563852800,3563853319,NL
+3563852224,3563853319,NL
3563853320,3563853327,ES
3563853328,3563853375,NL
3563853376,3563853439,ES
@@ -138105,7 +157561,6 @@
3563929600,3563937791,CH
3563937792,3563945983,TR
3563945984,3563954175,PL
-3563954176,3563962367,IT
3563962368,3563970559,RU
3563970560,3563978751,TR
3563978752,3563995135,IT
@@ -138157,13 +157612,13 @@
3564153200,3564153207,NL
3564153208,3564156415,SE
3564156416,3564156419,NO
-3564156420,3564156815,SE
-3564156816,3564156819,FI
-3564156820,3564156919,SE
+3564156420,3564156919,SE
3564156920,3564156927,FI
3564156928,3564157207,SE
3564157208,3564157215,NO
-3564157216,3564158951,SE
+3564157216,3564158831,SE
+3564158832,3564158839,FI
+3564158840,3564158951,SE
3564158952,3564158955,NO
3564158956,3564158975,SE
3564158976,3564161855,DE
@@ -138208,9 +157663,7 @@
3564349616,3564349631,NL
3564349632,3564350399,GB
3564350400,3564350431,NL
-3564350432,3564351439,GB
-3564351440,3564351455,NL
-3564351456,3564351551,GB
+3564350432,3564351551,GB
3564351552,3564351615,NL
3564351616,3564353207,GB
3564353208,3564353215,NL
@@ -138300,14 +157753,12 @@
3564544000,3564560383,DE
3564560384,3564560391,US
3564560392,3564560399,CA
-3564560400,3564560431,US
-3564560432,3564560511,GB
+3564560400,3564560455,US
+3564560456,3564560511,GB
3564560512,3564560527,US
-3564560528,3564560543,GB
-3564560544,3564560607,US
-3564560608,3564561071,GB
-3564561072,3564561087,US
-3564561088,3564561151,GB
+3564560528,3564560575,GB
+3564560576,3564560607,US
+3564560608,3564561151,GB
3564561152,3564561407,US
3564561408,3564561663,GB
3564561664,3564561671,US
@@ -138316,17 +157767,20 @@
3564561688,3564561695,GB
3564561696,3564561919,US
3564561920,3564562431,CH
-3564562432,3564562687,GB
+3564562432,3564562687,A1
3564562688,3564562831,US
3564562832,3564562847,GB
3564562848,3564562943,US
3564562944,3564563711,GB
-3564563712,3564563967,US
+3564563712,3564563967,A1
3564563968,3564564223,GB
3564564224,3564564239,US
3564564240,3564564351,GB
3564564352,3564564415,US
-3564564416,3564565231,GB
+3564564416,3564564419,GB
+3564564420,3564564427,US
+3564564428,3564565119,GB
+3564565120,3564565231,EU
3564565232,3564565239,US
3564565240,3564565247,GB
3564565248,3564565279,US
@@ -138336,13 +157790,16 @@
3564565568,3564565631,US
3564565632,3564565663,GB
3564565664,3564565679,US
-3564565680,3564566047,GB
+3564565680,3564565695,GB
+3564565696,3564565711,US
+3564565712,3564566047,GB
3564566048,3564566079,US
3564566080,3564566143,GB
3564566144,3564566175,US
3564566176,3564566239,GB
3564566240,3564566527,US
-3564566528,3564567047,GB
+3564566528,3564567039,GB
+3564567040,3564567047,EU
3564567048,3564567055,US
3564567056,3564567079,GB
3564567080,3564567095,US
@@ -138358,7 +157815,8 @@
3564567808,3564567935,US
3564567936,3564568039,GB
3564568040,3564568063,US
-3564568064,3564568223,GB
+3564568064,3564568183,EU
+3564568184,3564568223,GB
3564568224,3564568231,US
3564568232,3564568255,GB
3564568256,3564568319,US
@@ -138444,7 +157902,9 @@
3564736968,3564736975,GB
3564736976,3564736991,DE
3564736992,3564737023,GB
-3564737024,3564739383,DE
+3564737024,3564739335,DE
+3564739336,3564739343,GB
+3564739344,3564739383,DE
3564739384,3564739391,ES
3564739392,3564739495,DE
3564739496,3564739503,GB
@@ -138513,9 +157973,7 @@
3564882000,3564882079,NL
3564882080,3564882095,GB
3564882096,3564882119,NL
-3564882120,3564882127,GB
-3564882128,3564882135,NL
-3564882136,3564882143,GB
+3564882120,3564882143,GB
3564882144,3564882239,NL
3564882240,3564883007,GB
3564883008,3564883039,NL
@@ -138531,9 +157989,7 @@
3564884336,3564884343,NL
3564884344,3564884359,GB
3564884360,3564884367,NL
-3564884368,3564884383,GB
-3564884384,3564884399,NL
-3564884400,3564884407,GB
+3564884368,3564884407,GB
3564884408,3564884415,NL
3564884416,3564884431,GB
3564884432,3564884439,NL
@@ -138581,8 +158037,8 @@
3564886064,3564886079,NL
3564886080,3564886127,GB
3564886128,3564886143,NL
-3564886144,3564886159,GB
-3564886160,3564886207,NL
+3564886144,3564886175,GB
+3564886176,3564886207,NL
3564886208,3564886271,GB
3564886272,3564886279,NL
3564886280,3564886287,GB
@@ -138732,7 +158188,8 @@
3564954432,3564956160,GB
3564956161,3564956671,AT
3564956672,3564956687,GB
-3564956688,3564956719,AT
+3564956688,3564956711,AT
+3564956712,3564956719,EU
3564956720,3564956735,GB
3564956736,3564956751,AT
3564956752,3564956767,US
@@ -138760,7 +158217,9 @@
3564957448,3564957455,CH
3564957456,3564957459,AT
3564957460,3564957471,GB
-3564957472,3564957499,AT
+3564957472,3564957483,AT
+3564957484,3564957487,EU
+3564957488,3564957499,AT
3564957500,3564957503,GB
3564957504,3564957507,AT
3564957508,3564957511,GB
@@ -138917,10 +158376,14 @@
3565038664,3565038687,GB
3565038688,3565038719,IE
3565038720,3565038727,GB
-3565038728,3565038799,IE
-3565038800,3565039615,GB
-3565039616,3565042175,IE
-3565042176,3565043711,GB
+3565038728,3565038859,IE
+3565038860,3565038863,GB
+3565038864,3565038871,IE
+3565038872,3565038879,GB
+3565038880,3565038895,IE
+3565038896,3565039615,GB
+3565039616,3565042191,IE
+3565042192,3565043711,GB
3565043712,3565047807,AT
3565047808,3565048063,LI
3565048064,3565051903,AT
@@ -138953,11 +158416,13 @@
3565487872,3565488127,SK
3565488128,3565488383,GB
3565488384,3565488639,ES
-3565488640,3565488895,GB
+3565488640,3565488895,EU
3565488896,3565489535,DE
3565489536,3565489791,GB
3565489792,3565489823,DE
-3565489824,3565490175,GB
+3565489824,3565489855,GB
+3565489856,3565489919,EU
+3565489920,3565490175,GB
3565490176,3565490431,NL
3565490432,3565491199,GB
3565491200,3565491215,FR
@@ -139046,14 +158511,18 @@
3565500592,3565500599,DE
3565500600,3565500607,GB
3565500608,3565500623,FR
-3565500624,3565501095,GB
+3565500624,3565501055,GB
+3565501056,3565501087,EU
+3565501088,3565501095,GB
3565501096,3565501103,FR
3565501104,3565501119,FI
-3565501120,3565501231,GB
+3565501120,3565501215,GB
+3565501216,3565501231,EU
3565501232,3565501247,DE
-3565501248,3565501311,GB
+3565501248,3565501311,EU
3565501312,3565501439,DE
-3565501440,3565501679,GB
+3565501440,3565501663,GB
+3565501664,3565501679,EU
3565501680,3565501695,IE
3565501696,3565502207,GB
3565502208,3565502239,IT
@@ -139061,13 +158530,16 @@
3565502464,3565503487,NL
3565503488,3565503999,GB
3565504000,3565504511,NL
-3565504512,3565510655,GB
+3565504512,3565505023,GB
+3565505024,3565505279,EU
+3565505280,3565510655,GB
3565510656,3565511679,NL
3565511680,3565512191,CH
3565512192,3565512703,DE
3565512704,3565512767,GB
3565512768,3565512959,DE
-3565512960,3565514111,GB
+3565512960,3565513983,GB
+3565513984,3565514111,EU
3565514112,3565514239,DE
3565514240,3565514495,DK
3565514496,3565518847,GB
@@ -139080,15 +158552,7 @@
3565682688,3565688063,NL
3565688064,3565688319,GB
3565688320,3565748223,NL
-3565748224,3565752407,GB
-3565752408,3565752415,EU
-3565752416,3565752463,GB
-3565752464,3565752471,EU
-3565752472,3565752479,GB
-3565752480,3565752487,EU
-3565752488,3565752535,GB
-3565752536,3565752543,EU
-3565752544,3565752839,GB
+3565748224,3565752839,GB
3565752840,3565752855,EU
3565752856,3565752879,GB
3565752880,3565752887,EU
@@ -139287,9 +158751,7 @@
3566993408,3567058943,TR
3567058944,3567103047,FR
3567103048,3567103055,IT
-3567103056,3567108255,FR
-3567108256,3567108263,SE
-3567108264,3567124479,FR
+3567103056,3567124479,FR
3567124480,3567124991,EU
3567124992,3567125023,GB
3567125024,3567125247,EU
@@ -139467,7 +158929,9 @@
3567388160,3567388399,DE
3567388400,3567388415,GB
3567388416,3567388607,DE
-3567388608,3567388671,GB
+3567388608,3567388639,GB
+3567388640,3567388647,DE
+3567388648,3567388671,GB
3567388672,3567388927,CZ
3567388928,3567389183,DE
3567389184,3567389311,GB
@@ -139480,7 +158944,8 @@
3567391148,3567391151,DE
3567391152,3567391231,GB
3567391232,3567391743,DE
-3567391744,3567391807,GB
+3567391744,3567391767,PL
+3567391768,3567391807,GB
3567391808,3567391839,DE
3567391840,3567392767,GB
3567392768,3567393023,DE
@@ -139509,8 +158974,8 @@
3567399032,3567399039,GB
3567399040,3567399047,DE
3567399048,3567399071,GB
-3567399072,3567399103,DE
-3567399104,3567399167,GB
+3567399072,3567399135,DE
+3567399136,3567399167,GB
3567399168,3567399391,DE
3567399392,3567399423,GB
3567399424,3567399439,DE
@@ -139519,11 +158984,7 @@
3567399648,3567399679,GB
3567399680,3567399807,DE
3567399808,3567399935,GB
-3567399936,3567400703,DE
-3567400704,3567400735,GB
-3567400736,3567400751,DE
-3567400752,3567400959,GB
-3567400960,3567401471,DE
+3567399936,3567401471,DE
3567401472,3567401503,GB
3567401504,3567401519,DE
3567401520,3567401543,GB
@@ -139569,7 +159030,9 @@
3567599616,3567615999,NL
3567616000,3567616255,CG
3567616256,3567616263,CD
-3567616264,3567616527,A2
+3567616264,3567616351,A2
+3567616352,3567616383,GQ
+3567616384,3567616527,A2
3567616528,3567616535,GB
3567616536,3567616575,A2
3567616576,3567616583,GB
@@ -139579,7 +159042,7 @@
3567617152,3567617279,NG
3567617280,3567617535,IN
3567617536,3567617791,KE
-3567617792,3567618047,NG
+3567617792,3567618047,CD
3567618048,3567619071,IN
3567619072,3567619075,NG
3567619076,3567619087,A2
@@ -139737,22 +159200,26 @@
3568848872,3568848879,GB
3568848880,3568915791,DE
3568915792,3568915807,LU
-3568915808,3568916399,DE
-3568916400,3568916407,IT
-3568916408,3568938311,DE
+3568915808,3568938311,DE
3568938312,3568938319,FI
3568938320,3568939519,DE
3568939520,3568939527,IT
-3568939528,3568959487,DE
+3568939528,3568943199,DE
+3568943200,3568943207,A2
+3568943208,3568959487,DE
3568959488,3569025023,AT
3569025024,3569057791,NL
-3569057792,3569068543,GB
+3569057792,3569060863,GB
+3569060864,3569060879,IE
+3569060880,3569068543,GB
3569068544,3569068671,BG
3569068672,3569068951,GB
3569068952,3569068991,DE
3569068992,3569074879,GB
3569074880,3569074887,IE
-3569074888,3569075711,GB
+3569074888,3569074895,GB
+3569074896,3569074943,IE
+3569074944,3569075711,GB
3569075712,3569075839,FR
3569075840,3569083903,GB
3569083904,3569084159,US
@@ -139800,9 +159267,7 @@
3569255072,3569255103,LU
3569255104,3569258975,BE
3569258976,3569259007,LU
-3569259008,3569271871,BE
-3569271872,3569271903,NL
-3569271904,3569271911,BE
+3569259008,3569271911,BE
3569271912,3569271919,DE
3569271920,3569271935,BE
3569271936,3569271943,IT
@@ -139822,9 +159287,13 @@
3569277184,3569277439,LU
3569277440,3569278703,BE
3569278704,3569278719,NL
-3569278720,3569279223,BE
+3569278720,3569278879,BE
+3569278880,3569278911,LU
+3569278912,3569279039,BE
+3569279040,3569279071,LU
+3569279072,3569279223,BE
3569279224,3569279231,US
-3569279232,3569279263,BE
+3569279232,3569279263,LU
3569279264,3569279279,US
3569279280,3569287167,BE
3569287168,3569352703,PL
@@ -140097,7 +159566,9 @@
3569839192,3569839359,IL
3569839360,3569839475,A2
3569839476,3569839479,IL
-3569839480,3569839615,A2
+3569839480,3569839608,A2
+3569839609,3569839610,IL
+3569839611,3569839615,A2
3569839616,3569846527,IL
3569846528,3569846783,A2
3569846784,3569851935,IL
@@ -140138,7 +159609,9 @@
3570270208,3570335743,NL
3570335744,3570401279,GB
3570401280,3570466815,FR
-3570466816,3570507439,SE
+3570466816,3570500351,SE
+3570500352,3570500863,EU
+3570500864,3570507439,SE
3570507440,3570507455,CH
3570507456,3570532351,SE
3570532352,3570597887,IT
@@ -140157,17 +159630,11 @@
3570663424,3570728959,GB
3570728960,3570729983,FI
3570729984,3570731007,SE
-3570731008,3570751427,FI
-3570751428,3570751431,AX
-3570751432,3570753311,FI
-3570753312,3570753327,AX
-3570753328,3570756191,FI
+3570731008,3570756191,FI
3570756192,3570756223,RU
3570756224,3570760543,FI
3570760544,3570760575,RU
-3570760576,3570783007,FI
-3570783008,3570783023,AX
-3570783024,3570794495,FI
+3570760576,3570794495,FI
3570794496,3570860031,SE
3570860032,3570892799,CH
3570892800,3570925567,SA
@@ -140308,11 +159775,11 @@
3571425696,3571425727,ES
3571425728,3571426895,DE
3571426896,3571426899,ES
-3571426900,3571426931,DE
-3571426932,3571426935,ES
-3571426936,3571456575,DE
+3571426900,3571456575,DE
3571456576,3571456591,GB
-3571456592,3571473151,DE
+3571456592,3571468367,DE
+3571468368,3571468383,ES
+3571468384,3571473151,DE
3571473152,3571473407,NL
3571473408,3571482367,DE
3571482368,3571482623,CH
@@ -140322,13 +159789,7 @@
3571515392,3571548159,GB
3571548160,3571580927,ES
3571580928,3571646463,FI
-3571646464,3571655560,DE
-3571655561,3571655561,RO
-3571655562,3571675679,DE
-3571675680,3571675687,GB
-3571675688,3571710207,DE
-3571710208,3571710463,GB
-3571710464,3571711999,DE
+3571646464,3571711999,DE
3571712000,3571843071,GB
3571843072,3571974143,ES
3571974144,3571978239,RU
@@ -140383,8 +159844,7 @@
3572715776,3572760575,CH
3572760576,3572826111,PL
3572826112,3572891647,IT
-3572891648,3572957175,FI
-3572957176,3572957183,AX
+3572891648,3572957183,FI
3572957184,3573022719,SE
3573022720,3573055487,RU
3573055488,3573088255,GB
@@ -140538,9 +159998,13 @@
3574838016,3574838271,GB
3574838272,3574838527,NL
3574838528,3574857727,GB
-3574857728,3574917375,DE
+3574857728,3574915455,DE
+3574915456,3574915487,CH
+3574915488,3574917375,DE
3574917376,3574917631,CH
-3574917632,3574919359,DE
+3574917632,3574918751,DE
+3574918752,3574918783,CH
+3574918784,3574919359,DE
3574919360,3574919391,FR
3574919392,3574920223,DE
3574920224,3574920239,LU
@@ -140561,11 +160025,15 @@
3575351680,3575351687,NL
3575351688,3575351943,ES
3575351944,3575351951,FR
-3575351952,3575354599,ES
+3575351952,3575353703,ES
+3575353704,3575353711,GB
+3575353712,3575354599,ES
3575354600,3575354607,GB
3575354608,3575355231,ES
3575355232,3575355247,GB
-3575355248,3575360199,ES
+3575355248,3575358799,ES
+3575358800,3575358815,FR
+3575358816,3575360199,ES
3575360200,3575360207,FR
3575360208,3575366135,ES
3575366136,3575366143,GB
@@ -140575,14 +160043,14 @@
3575372240,3575372247,PT
3575372248,3575373183,ES
3575373184,3575373191,GB
-3575373192,3575382015,ES
+3575373192,3575374319,ES
+3575374320,3575374327,GB
+3575374328,3575376191,ES
+3575376192,3575376199,US
+3575376200,3575382015,ES
3575382016,3575412991,FI
3575412992,3575413119,RU
-3575413120,3575419903,FI
-3575419904,3575419919,AX
-3575419920,3575420127,FI
-3575420128,3575420159,AX
-3575420160,3575447551,FI
+3575413120,3575447551,FI
3575447552,3575513087,CZ
3575513088,3575545855,PT
3575545856,3575562239,FR
@@ -140629,9 +160097,10 @@
3575596288,3575596415,GB
3575596416,3575596543,BE
3575596544,3575596799,FR
-3575596800,3575622607,BE
+3575596800,3575622399,BE
+3575622400,3575622607,EU
3575622608,3575622611,GB
-3575622612,3575622655,BE
+3575622612,3575622655,EU
3575622656,3575622815,GB
3575622816,3575622847,BE
3575622848,3575622879,IT
@@ -141088,8 +160557,8 @@
3576042688,3576042695,GB
3576042696,3576042751,EU
3576042752,3576042815,GB
-3576042816,3576045567,EU
-3576045568,3576045599,GB
+3576042816,3576045583,EU
+3576045584,3576045599,GB
3576045600,3576045663,EU
3576045664,3576045679,GB
3576045680,3576045711,EU
@@ -141118,8 +160587,8 @@
3576055208,3576055215,GB
3576055216,3576055279,EU
3576055280,3576055551,GB
-3576055552,3576055679,EU
-3576055680,3576055871,GB
+3576055552,3576055807,EU
+3576055808,3576055871,GB
3576055872,3576055935,EU
3576055936,3576055999,GB
3576056000,3576056191,EU
@@ -141250,17 +160719,13 @@
3576077440,3576077471,GB
3576077472,3576077567,EU
3576077568,3576077695,GB
-3576077696,3576077871,EU
-3576077872,3576077887,GB
-3576077888,3576077935,EU
+3576077696,3576077935,EU
3576077936,3576077967,GB
3576077968,3576078143,EU
3576078144,3576078175,GB
3576078176,3576078463,EU
3576078464,3576078591,GB
-3576078592,3576079615,EU
-3576079616,3576079871,GB
-3576079872,3576079999,EU
+3576078592,3576079999,EU
3576080000,3576080127,GB
3576080128,3576080223,EU
3576080224,3576080255,GB
@@ -141384,8 +160849,8 @@
3576236744,3576236751,GB
3576236752,3576236775,FR
3576236776,3576236783,GB
-3576236784,3576236887,FR
-3576236888,3576236927,GB
+3576236784,3576236895,FR
+3576236896,3576236927,GB
3576236928,3576237063,FR
3576237064,3576237071,GB
3576237072,3576237087,FR
@@ -141406,9 +160871,9 @@
3576238152,3576238159,GB
3576238160,3576238305,FR
3576238306,3576238335,GB
-3576238336,3576238559,FR
-3576238560,3576238575,GB
-3576238576,3576238863,FR
+3576238336,3576238543,FR
+3576238544,3576238551,GB
+3576238552,3576238863,FR
3576238864,3576238879,GB
3576238880,3576238895,FR
3576238896,3576238911,GB
@@ -141420,9 +160885,7 @@
3576239040,3576239071,GB
3576239072,3576239087,FR
3576239088,3576239103,GB
-3576239104,3576239623,FR
-3576239624,3576239631,IT
-3576239632,3576240039,FR
+3576239104,3576240039,FR
3576240040,3576240047,GB
3576240048,3576240111,FR
3576240112,3576240127,GB
@@ -141440,9 +160903,7 @@
3576241384,3576241399,GB
3576241400,3576241855,FR
3576241856,3576241887,GB
-3576241888,3576241935,FR
-3576241936,3576241943,GB
-3576241944,3576241951,FR
+3576241888,3576241951,FR
3576241952,3576241991,GB
3576241992,3576242007,FR
3576242008,3576242031,GB
@@ -141470,7 +160931,9 @@
3576249360,3576249367,GB
3576249368,3576249463,FR
3576249464,3576249471,GB
-3576249472,3576249527,FR
+3576249472,3576249503,FR
+3576249504,3576249511,GB
+3576249512,3576249527,FR
3576249528,3576249567,GB
3576249568,3576249743,FR
3576249744,3576249791,GB
@@ -141506,9 +160969,7 @@
3576255152,3576255199,GB
3576255200,3576255215,FR
3576255216,3576255231,GB
-3576255232,3576255239,FR
-3576255240,3576255247,GB
-3576255248,3576255375,FR
+3576255232,3576255375,FR
3576255376,3576255383,GB
3576255384,3576255407,FR
3576255408,3576255423,GB
@@ -141524,7 +160985,9 @@
3576255544,3576255551,GB
3576255552,3576255575,FR
3576255576,3576255583,GB
-3576255584,3576255631,FR
+3576255584,3576255615,FR
+3576255616,3576255623,GB
+3576255624,3576255631,FR
3576255632,3576255647,GB
3576255648,3576255671,FR
3576255672,3576255679,GB
@@ -141545,21 +161008,13 @@
3576256368,3576256383,FR
3576256384,3576256415,GB
3576256416,3576256431,FR
-3576256432,3576256527,GB
-3576256528,3576256543,FR
-3576256544,3576256559,GB
-3576256560,3576256607,FR
-3576256608,3576256623,GB
-3576256624,3576256639,FR
-3576256640,3576256671,GB
-3576256672,3576256687,FR
-3576256688,3576256767,GB
-3576256768,3576256895,FR
+3576256432,3576256511,GB
+3576256512,3576256895,FR
3576256896,3576256959,GB
3576256960,3576256991,FR
3576256992,3576257007,GB
-3576257008,3576257111,FR
-3576257112,3576257119,GB
+3576257008,3576257103,FR
+3576257104,3576257119,GB
3576257120,3576257135,FR
3576257136,3576257151,GB
3576257152,3576257159,FR
@@ -141575,8 +161030,8 @@
3576257472,3576257487,FR
3576257488,3576257535,GB
3576257536,3576257551,FR
-3576257552,3576257583,GB
-3576257584,3576257631,FR
+3576257552,3576257599,GB
+3576257600,3576257631,FR
3576257632,3576257647,GB
3576257648,3576257727,FR
3576257728,3576257807,GB
@@ -141606,9 +161061,7 @@
3576258672,3576258687,GB
3576258688,3576258703,FR
3576258704,3576258783,GB
-3576258784,3576258823,FR
-3576258824,3576258847,GB
-3576258848,3576258863,FR
+3576258784,3576258863,FR
3576258864,3576258895,GB
3576258896,3576258943,FR
3576258944,3576259007,GB
@@ -141685,11 +161138,10 @@
3576263528,3576263567,FR
3576263568,3576263575,GB
3576263576,3576263583,FR
-3576263584,3576263599,GB
-3576263600,3576263615,FR
-3576263616,3576263623,GB
+3576263584,3576263623,GB
3576263624,3576263679,FR
-3576263680,3576263743,GB
+3576263680,3576263695,ES
+3576263696,3576263743,GB
3576263744,3576263751,FR
3576263752,3576263759,GB
3576263760,3576263791,FR
@@ -141700,27 +161152,21 @@
3576264296,3576264319,GB
3576264320,3576264383,FR
3576264384,3576264399,GB
-3576264400,3576264447,FR
-3576264448,3576264527,GB
+3576264400,3576264455,FR
+3576264456,3576264527,GB
3576264528,3576264543,FR
3576264544,3576264559,GB
-3576264560,3576264575,FR
-3576264576,3576264623,GB
-3576264624,3576264639,FR
+3576264560,3576264639,FR
3576264640,3576264687,GB
3576264688,3576265319,FR
3576265320,3576265327,GB
-3576265328,3576265399,FR
-3576265400,3576265407,GB
-3576265408,3576265423,FR
+3576265328,3576265423,FR
3576265424,3576265431,GB
3576265432,3576265463,FR
3576265464,3576265471,GB
3576265472,3576265759,FR
3576265760,3576265775,GB
-3576265776,3576265807,FR
-3576265808,3576265823,GB
-3576265824,3576265831,FR
+3576265776,3576265831,FR
3576265832,3576265839,GB
3576265840,3576265847,FR
3576265848,3576265863,GB
@@ -141728,11 +161174,9 @@
3576265880,3576265903,GB
3576265904,3576265919,FR
3576265920,3576265935,GB
-3576265936,3576266255,FR
-3576266256,3576266495,GB
-3576266496,3576266671,FR
-3576266672,3576266751,GB
-3576266752,3576299519,FR
+3576265936,3576266271,FR
+3576266272,3576266367,GB
+3576266368,3576299519,FR
3576299520,3576365055,AE
3576365056,3576430591,TR
3576430592,3576496127,FR
@@ -141768,9 +161212,12 @@
3576889344,3576954879,NL
3576954880,3576987647,NO
3576987648,3577000959,GB
-3577000960,3577001343,NL
+3577000960,3577001215,A2
+3577001216,3577001343,NL
3577001344,3577001983,GB
-3577001984,3577003643,NL
+3577001984,3577002751,NL
+3577002752,3577003519,A2
+3577003520,3577003643,NL
3577003644,3577003711,GB
3577003712,3577004031,NL
3577004032,3577020415,GB
@@ -141816,15 +161263,19 @@
3577571392,3577571399,DK
3577571400,3577577231,DE
3577577232,3577577247,US
-3577577248,3577592431,DE
+3577577248,3577583919,DE
+3577583920,3577583935,BE
+3577583936,3577585807,DE
+3577585808,3577585815,GB
+3577585816,3577586343,DE
+3577586344,3577586351,US
+3577586352,3577592431,DE
3577592432,3577592447,FR
3577592448,3577592743,DE
3577592744,3577592751,IE
3577592752,3577607559,DE
3577607560,3577607567,NL
-3577607568,3577608743,DE
-3577608744,3577608751,ES
-3577608752,3577610367,DE
+3577607568,3577610367,DE
3577610368,3577610495,GB
3577610496,3577610751,DE
3577610752,3577611199,CH
@@ -141890,7 +161341,9 @@
3577628000,3577628671,FR
3577628672,3577630719,CH
3577630720,3577632255,GB
-3577632256,3577633791,EU
+3577632256,3577632511,EU
+3577632512,3577632767,GB
+3577632768,3577633791,EU
3577633792,3577633951,CZ
3577633952,3577633959,EU
3577633960,3577633967,CZ
@@ -141908,8 +161361,8 @@
3577638960,3577638967,EU
3577638968,3577639239,FR
3577639240,3577639247,EU
-3577639248,3577639679,FR
-3577639680,3577639767,EU
+3577639248,3577639743,FR
+3577639744,3577639767,EU
3577639768,3577639783,FR
3577639784,3577639799,EU
3577639800,3577639807,FR
@@ -141926,15 +161379,11 @@
3577641392,3577641399,EU
3577641400,3577641439,FR
3577641440,3577641983,EU
-3577641984,3577642007,GB
-3577642008,3577642015,EU
-3577642016,3577642055,GB
+3577641984,3577642055,GB
3577642056,3577642063,EU
3577642064,3577642239,GB
3577642240,3577642495,EU
-3577642496,3577642623,FR
-3577642624,3577642751,EU
-3577642752,3577643007,FR
+3577642496,3577643007,FR
3577643008,3577643231,NL
3577643232,3577643247,GB
3577643248,3577643263,NL
@@ -142036,11 +161485,17 @@
3577741312,3578003455,SE
3578003456,3578049023,DE
3578049024,3578049055,CH
-3578049056,3578208127,DE
+3578049056,3578119167,DE
+3578119168,3578119183,EU
+3578119184,3578204671,DE
+3578204672,3578204703,EU
+3578204704,3578208127,DE
3578208128,3578208191,PK
3578208192,3578234759,DE
3578234760,3578234767,US
-3578234768,3578265599,DE
+3578234768,3578244287,DE
+3578244288,3578244319,EU
+3578244320,3578265599,DE
3578265600,3578331135,GB
3578331136,3578339327,PL
3578339328,3578347519,ES
@@ -142083,10 +161538,14 @@
3579188240,3579188255,BE
3579188256,3579188415,GB
3579188416,3579188431,IS
-3579188432,3579191759,GB
+3579188432,3579189071,GB
+3579189072,3579189087,CH
+3579189088,3579191759,GB
3579191760,3579191775,DE
3579191776,3579193599,GB
-3579193600,3579193703,NL
+3579193600,3579193647,NL
+3579193648,3579193655,GB
+3579193656,3579193703,NL
3579193704,3579193704,GB
3579193705,3579193705,NL
3579193706,3579193711,GB
@@ -142333,26 +161792,36 @@
3579740160,3579772927,IE
3579772928,3579838463,DE
3579838464,3580100607,ES
-3580100608,3580198911,SE
+3580100608,3580150783,SE
+3580150784,3580151039,NL
+3580151040,3580162047,SE
+3580162048,3580164095,EE
+3580164096,3580165887,SE
+3580165888,3580166143,NL
+3580166144,3580198911,SE
3580198912,3580199423,LV
-3580199424,3580199935,SE
-3580199936,3580200447,EE
-3580200448,3580200959,SE
-3580200960,3580201983,LT
-3580201984,3580203519,SE
+3580199424,3580200959,EE
+3580200960,3580203007,LT
+3580203008,3580203135,HR
+3580203136,3580203519,SE
3580203520,3580204543,RU
3580204544,3580205055,NL
3580205056,3580207103,HR
3580207104,3580208127,SE
3580208128,3580209151,EE
-3580209152,3580213247,SE
+3580209152,3580211199,SE
+3580211200,3580213247,HR
3580213248,3580214271,CH
3580214272,3580214783,LV
-3580214784,3580215295,SE
-3580215296,3580216319,EE
-3580216320,3580216831,SE
-3580216832,3580217087,EE
-3580217088,3580223487,SE
+3580214784,3580215295,HR
+3580215296,3580217343,EE
+3580217344,3580221439,SE
+3580221440,3580221951,HR
+3580221952,3580222207,EE
+3580222208,3580222335,SE
+3580222336,3580222719,HR
+3580222720,3580222975,SE
+3580222976,3580223487,HR
3580223488,3580231679,DE
3580231680,3580231935,LT
3580231936,3580232447,LV
@@ -142364,22 +161833,24 @@
3580237568,3580237823,LT
3580237824,3580239359,SE
3580239360,3580239871,LV
-3580239872,3580241919,SE
+3580239872,3580241919,EE
3580241920,3580243967,CH
3580243968,3580248063,NL
-3580248064,3580252671,SE
-3580252672,3580254207,EE
+3580248064,3580254207,EE
3580254208,3580260351,DE
3580260352,3580265727,AT
-3580265728,3580268543,SE
+3580265728,3580268543,EE
3580268544,3580272639,LV
-3580272640,3580280831,SE
+3580272640,3580276735,SE
+3580276736,3580280831,NL
3580280832,3580329983,RU
3580329984,3580338175,SE
3580338176,3580339711,HR
-3580339712,3580340223,SE
+3580339712,3580340223,EE
3580340224,3580344319,LT
-3580344320,3580354559,SE
+3580344320,3580345343,SE
+3580345344,3580345855,EE
+3580345856,3580354559,SE
3580354560,3580362751,LT
3580362752,3580473375,GB
3580473376,3580473391,IE
@@ -142421,8 +161892,7 @@
3580624896,3580626943,RU
3580626944,3580628991,PL
3580628992,3580631039,RU
-3580631040,3580632575,NL
-3580632576,3580632831,DE
+3580631040,3580632831,NL
3580632832,3580633087,GB
3580633088,3580635135,RU
3580635136,3580637183,UA
@@ -142528,11 +161998,12 @@
3582077112,3582077439,GB
3582077440,3582077471,DE
3582077472,3582077503,GB
-3582077504,3582077759,DE
-3582077760,3582078631,GB
+3582077504,3582077791,DE
+3582077792,3582078631,GB
3582078632,3582078639,DE
-3582078640,3582081023,GB
-3582081024,3582081535,ES
+3582078640,3582081055,GB
+3582081056,3582081087,ES
+3582081088,3582081535,GB
3582081536,3582081791,DE
3582081792,3582083071,GB
3582083072,3582091263,BG
@@ -142543,14 +162014,11 @@
3582116096,3582116351,EE
3582116352,3582116863,NO
3582116864,3582117887,EE
-3582117888,3582119423,LT
-3582119424,3582120447,SE
+3582117888,3582120447,LT
3582120448,3582120959,NO
3582120960,3582121983,EE
3582121984,3582124031,LT
-3582124032,3582125383,FI
-3582125384,3582125391,AX
-3582125392,3582132223,FI
+3582124032,3582132223,FI
3582132224,3582140415,RU
3582140416,3582148607,GE
3582148608,3582156799,EG
@@ -142569,21 +162037,21 @@
3582197760,3582205951,DK
3582205952,3582214143,AE
3582214144,3582222335,RU
-3582222336,3582222511,SE
+3582222336,3582222383,SE
+3582222384,3582222391,NO
+3582222392,3582222511,SE
3582222512,3582222527,DK
3582222528,3582222863,SE
3582222864,3582222879,NO
3582222880,3582223087,SE
3582223088,3582223095,NL
-3582223096,3582223967,SE
-3582223968,3582223975,NO
-3582223976,3582224375,SE
-3582224376,3582224379,FI
-3582224380,3582225719,SE
+3582223096,3582225719,SE
3582225720,3582225727,FI
3582225728,3582226599,SE
3582226600,3582226607,FI
-3582226608,3582230527,SE
+3582226608,3582227391,SE
+3582227392,3582227455,FI
+3582227456,3582230527,SE
3582230528,3582238719,BE
3582238720,3582255103,NL
3582255104,3582263295,KW
@@ -142869,8 +162337,8 @@
3582570400,3582570431,FR
3582570432,3582570463,EU
3582570464,3582570471,FR
-3582570472,3582570483,EU
-3582570484,3582570487,FR
+3582570472,3582570479,EU
+3582570480,3582570487,FR
3582570488,3582570751,EU
3582570752,3582570823,FR
3582570824,3582570847,EU
@@ -142895,9 +162363,7 @@
3582571456,3582571487,FR
3582571488,3582571647,EU
3582571648,3582571687,IE
-3582571688,3582571691,EU
-3582571692,3582571695,IE
-3582571696,3582571707,EU
+3582571688,3582571707,EU
3582571708,3582571719,IE
3582571720,3582571751,EU
3582571752,3582571839,IE
@@ -142974,8 +162440,7 @@
3582722048,3582730239,IT
3582730240,3582736383,ES
3582736384,3582737407,DZ
-3582737408,3582737919,MA
-3582737920,3582738431,ES
+3582737408,3582738431,ES
3582738432,3582746623,DK
3582746624,3582754815,RU
3582754816,3582763007,GR
@@ -143063,14 +162528,12 @@
3583157280,3583157439,GB
3583157440,3583157471,IE
3583157472,3583157487,GB
-3583157488,3583157759,IE
-3583157760,3583158511,GB
+3583157488,3583158015,IE
+3583158016,3583158511,GB
3583158512,3583158527,IE
3583158528,3583158783,GB
3583158784,3583159039,DE
-3583159040,3583159359,GB
-3583159360,3583159375,DE
-3583159376,3583160319,GB
+3583159040,3583160319,GB
3583160320,3583161343,DE
3583161344,3583162271,GB
3583162272,3583162303,IE
@@ -143121,7 +162584,9 @@
3583346688,3583346943,MK
3583346944,3583350271,BG
3583350272,3583351039,MK
-3583351040,3583352319,BG
+3583351040,3583351807,BG
+3583351808,3583352063,MK
+3583352064,3583352319,BG
3583352320,3583352831,MK
3583352832,3583361023,CY
3583361024,3583369215,IT
@@ -143165,9 +162630,7 @@
3583680512,3583688703,RU
3583688704,3583696895,UA
3583696896,3583705087,NL
-3583705088,3583705239,UA
-3583705240,3583705247,NA
-3583705248,3583705255,UA
+3583705088,3583705255,UA
3583705256,3583705263,NA
3583705264,3583705303,UA
3583705304,3583705319,NA
@@ -143203,17 +162666,13 @@
3583706496,3583706511,NA
3583706512,3583706519,UA
3583706520,3583706527,NA
-3583706528,3583706535,UA
-3583706536,3583706543,NA
-3583706544,3583706575,UA
+3583706528,3583706575,UA
3583706576,3583706583,NA
3583706584,3583706591,UA
3583706592,3583706607,NA
3583706608,3583706615,UA
3583706616,3583706623,NA
-3583706624,3583706679,UA
-3583706680,3583706687,NA
-3583706688,3583706695,UA
+3583706624,3583706695,UA
3583706696,3583706711,NA
3583706712,3583706743,UA
3583706744,3583706767,NA
@@ -143245,9 +162704,7 @@
3583707216,3583707223,NA
3583707224,3583707519,UA
3583707520,3583707535,NA
-3583707536,3583707663,UA
-3583707664,3583707671,NA
-3583707672,3583707751,UA
+3583707536,3583707751,UA
3583707752,3583707759,NA
3583707760,3583707807,UA
3583707808,3583707815,NA
@@ -143282,10 +162739,10 @@
3583709744,3583709759,UA
3583709760,3583709767,NA
3583709768,3583709847,UA
-3583709848,3583709863,NA
+3583709848,3583709855,NA
+3583709856,3583709863,UA
3583709864,3583709871,RU
-3583709872,3583709879,NA
-3583709880,3583709887,UA
+3583709872,3583709887,UA
3583709888,3583709911,NA
3583709912,3583709927,UA
3583709928,3583709943,NA
@@ -143344,22 +162801,15 @@
3583712472,3583712479,NA
3583712480,3583712527,UA
3583712528,3583712535,IN
-3583712536,3583712775,UA
-3583712776,3583712783,NA
-3583712784,3583712927,UA
-3583712928,3583712935,IN
-3583712936,3583712943,NA
-3583712944,3583713007,UA
+3583712536,3583713007,UA
3583713008,3583713015,RU
-3583713016,3583713079,UA
-3583713080,3583713087,IN
-3583713088,3583713279,UA
+3583713016,3583713279,UA
3583713280,3583721471,CZ
3583721472,3583729663,DE
3583729664,3583737855,TR
3583737856,3583740671,EU
-3583740672,3583740927,GB
-3583740928,3583741439,EU
+3583740672,3583741183,GB
+3583741184,3583741439,EU
3583741440,3583741695,GB
3583741696,3583741951,NL
3583741952,3583742719,EU
@@ -143384,7 +162834,10 @@
3583744288,3583744303,GB
3583744304,3583744319,EU
3583744320,3583744447,GB
-3583744448,3583744511,EU
+3583744448,3583744471,EU
+3583744472,3583744479,FR
+3583744480,3583744487,GB
+3583744488,3583744511,EU
3583744512,3583744767,GB
3583744768,3583744831,DE
3583744832,3583744927,EU
@@ -143401,9 +162854,11 @@
3583745724,3583745799,EU
3583745800,3583745807,NL
3583745808,3583745823,GB
-3583745824,3583745919,EU
+3583745824,3583745855,EU
+3583745856,3583745919,SE
3583745920,3583745951,GB
-3583745952,3583746047,EU
+3583745952,3583745983,EU
+3583745984,3583746047,CH
3583746048,3583754239,PL
3583754240,3583762431,RU
3583762432,3583770623,CZ
@@ -143428,7 +162883,9 @@
3583854727,3583854727,FI
3583854728,3583854871,GB
3583854872,3583854879,FI
-3583854880,3583855103,GB
+3583854880,3583854927,GB
+3583854928,3583854943,FI
+3583854944,3583855103,GB
3583855104,3583855167,US
3583855168,3583855175,FI
3583855176,3583855183,US
@@ -143439,10 +162896,10 @@
3583855248,3583855311,FI
3583855312,3583855327,US
3583855328,3583856383,FI
-3583856384,3583856463,SG
-3583856464,3583856511,FI
-3583856512,3583856543,SG
-3583856544,3583856615,FI
+3583856384,3583856510,SG
+3583856511,3583856511,FI
+3583856512,3583856590,SG
+3583856591,3583856615,FI
3583856616,3583856639,SG
3583856640,3583860735,FI
3583860736,3583868927,HU
@@ -143494,13 +162951,15 @@
3584090888,3584090895,NL
3584090896,3584090943,NO
3584090944,3584090959,NL
-3584090960,3584093783,NO
+3584090960,3584091135,NO
+3584091136,3584091391,NL
+3584091392,3584093783,NO
3584093784,3584093791,NL
3584093792,3584094893,NO
3584094894,3584094895,NL
3584094896,3584095807,NO
-3584095808,3584095839,NL
-3584095840,3584095935,NO
+3584095808,3584095855,NL
+3584095856,3584095935,NO
3584095936,3584095999,NL
3584096000,3584096255,NO
3584096256,3584098303,NL
@@ -143522,13 +162981,28 @@
3584221184,3584229375,NO
3584229376,3584245759,HU
3584245760,3584253951,NL
-3584253952,3584262143,RS
+3584253952,3584260095,AL
+3584260096,3584260135,ME
+3584260136,3584260139,RS
+3584260140,3584260151,ME
+3584260152,3584260155,RS
+3584260156,3584260231,ME
+3584260232,3584260239,RS
+3584260240,3584260247,ME
+3584260248,3584260255,RS
+3584260256,3584260351,ME
+3584260352,3584260415,RS
+3584260416,3584260511,ME
+3584260512,3584260607,AL
+3584260608,3584260863,ME
+3584260864,3584260991,RS
+3584260992,3584261119,AL
+3584261120,3584261375,ME
+3584261376,3584262143,AL
3584262144,3584270335,SE
3584270336,3584278527,FR
3584278528,3584286719,GB
-3584286720,3584295719,AT
-3584295720,3584295727,NL
-3584295728,3584295759,AT
+3584286720,3584295759,AT
3584295760,3584295767,PT
3584295768,3584295807,AT
3584295808,3584295815,PT
@@ -143617,11 +163091,13 @@
3584663552,3584671743,FR
3584671744,3584688127,NL
3584688128,3584696319,GB
-3584696320,3584701751,ES
+3584696320,3584701695,ES
+3584701696,3584701751,EU
3584701752,3584701823,NL
-3584701824,3584701991,ES
+3584701824,3584701991,EU
3584701992,3584702007,CH
-3584702008,3584703095,ES
+3584702008,3584702207,EU
+3584702208,3584703095,ES
3584703096,3584703103,BE
3584703104,3584704511,ES
3584704512,3584720895,RU
@@ -143640,7 +163116,6 @@
3584827392,3584835583,ES
3584835584,3584843775,AZ
3584843776,3584851967,DE
-3584851968,3584860159,GH
3584860160,3584868351,PL
3584868352,3584876543,NO
3584876544,3584884735,SI
@@ -143649,18 +163124,25 @@
3584901120,3584909311,AT
3584909312,3584917503,IT
3584917504,3584925695,FI
-3584925696,3584928275,CH
+3584925696,3584927039,CH
+3584927040,3584927047,DE
+3584927048,3584928275,CH
3584928276,3584928279,IT
3584928280,3584929599,CH
3584929600,3584929727,DE
3584929728,3584931375,CH
3584931376,3584931391,ES
-3584931392,3584933887,CH
+3584931392,3584932295,CH
+3584932296,3584932303,DE
+3584932304,3584933887,CH
3584933888,3584942079,NO
3584942080,3584950271,DK
3584950272,3584958463,UA
3584958464,3584966655,DE
-3584966656,3584974847,DK
+3584966656,3584972799,DK
+3584972800,3584973823,SE
+3584973824,3584974591,DK
+3584974592,3584974847,SE
3584974848,3584983039,FR
3584983040,3584988575,US
3584988576,3584988591,UA
@@ -143683,12 +163165,9 @@
3585015808,3585023999,IT
3585024000,3585032191,CZ
3585032192,3585048575,LV
-3585048576,3585050623,IQ
-3585050624,3585056767,GB
+3585048576,3585056767,GB
3585056768,3585064959,LB
-3585064960,3585071405,GB
-3585071406,3585071409,IN
-3585071410,3585081343,GB
+3585064960,3585081343,GB
3585081344,3585114111,IR
3585114112,3585122303,IS
3585122304,3585130495,ES
@@ -143714,7 +163193,26 @@
3585261568,3585269759,IT
3585269760,3585277951,SY
3585277952,3585286143,SE
-3585286144,3585294335,NO
+3585286144,3585289095,NO
+3585289096,3585289111,EU
+3585289112,3585289215,GB
+3585289216,3585289552,NO
+3585289553,3585289599,GB
+3585289600,3585289631,NO
+3585289632,3585290751,GB
+3585290752,3585290759,NO
+3585290760,3585290783,GB
+3585290784,3585290975,NO
+3585290976,3585291007,GB
+3585291008,3585293023,NO
+3585293024,3585293055,GB
+3585293056,3585293215,NO
+3585293216,3585293263,GB
+3585293264,3585293271,ZA
+3585293272,3585293327,GB
+3585293328,3585293335,SE
+3585293336,3585293343,NL
+3585293344,3585294335,GB
3585294336,3585302527,DE
3585302528,3585310719,ES
3585310720,3585318911,DE
@@ -143835,9 +163333,7 @@
3585703936,3585712127,DE
3585712128,3585716335,AT
3585716336,3585716351,DE
-3585716352,3585716415,AT
-3585716416,3585716423,DE
-3585716424,3585720319,AT
+3585716352,3585720319,AT
3585720320,3585728511,GB
3585728512,3585736703,SE
3585736704,3585744895,HR
@@ -143852,7 +163348,9 @@
3585750352,3585750367,DE
3585750368,3585750383,ES
3585750384,3585750399,PT
-3585750400,3585753087,FR
+3585750400,3585750447,FR
+3585750448,3585750463,DE
+3585750464,3585753087,FR
3585753088,3585761279,PL
3585761280,3585769471,UA
3585769472,3585777663,TR
@@ -143864,9 +163362,7 @@
3585818624,3585826815,DE
3585826816,3585835007,RU
3585835008,3585835023,GB
-3585835024,3585835583,NL
-3585835584,3585835647,IQ
-3585835648,3585835775,NL
+3585835024,3585835775,NL
3585835776,3585835839,GQ
3585835840,3585835847,AO
3585835848,3585835871,NL
@@ -143875,14 +163371,7 @@
3585835896,3585835903,IQ
3585835904,3585835911,NL
3585835912,3585835919,KE
-3585835920,3585835927,SO
-3585835928,3585835935,SC
-3585835936,3585835943,SD
-3585835944,3585835951,DJ
-3585835952,3585835959,SO
-3585835960,3585835967,TD
-3585835968,3585835983,ER
-3585835984,3585836287,NL
+3585835920,3585836287,NL
3585836288,3585836543,CH
3585836544,3585837055,DZ
3585837056,3585837567,IQ
@@ -143901,7 +163390,7 @@
3585838912,3585838975,NG
3585838976,3585839103,DZ
3585839104,3585840127,NL
-3585840128,3585841151,IQ
+3585840128,3585841151,US
3585841152,3585841407,NL
3585841408,3585841411,NG
3585841412,3585841919,NL
@@ -143909,7 +163398,7 @@
3585842176,3585842199,IQ
3585842200,3585842207,NL
3585842208,3585842687,IQ
-3585842688,3585842943,NG
+3585842688,3585842943,US
3585842944,3585843199,NL
3585843200,3585851391,NO
3585851392,3585859583,SE
@@ -144063,13 +163552,10 @@
3586476032,3586476063,TR
3586476064,3586476287,HU
3586476288,3586476295,SK
-3586476296,3586476311,HU
-3586476312,3586476319,AT
-3586476320,3586476351,HU
+3586476296,3586476351,HU
3586476352,3586476383,AT
3586476384,3586476407,UA
-3586476408,3586476415,BG
-3586476416,3586476431,HU
+3586476408,3586476431,HU
3586476432,3586476439,SK
3586476440,3586478079,HU
3586478080,3586478591,SK
@@ -144137,17 +163623,18 @@
3586678784,3586679039,IT
3586679040,3586679103,FR
3586679104,3586679167,DE
-3586679168,3586679327,FR
+3586679168,3586679295,FR
+3586679296,3586679327,BE
3586679328,3586679343,DK
-3586679344,3586679359,FR
+3586679344,3586679359,BE
3586679360,3586679423,DE
3586679424,3586679583,FR
3586679584,3586679599,IT
3586679600,3586679647,FR
3586679648,3586679711,IT
3586679712,3586679727,FR
-3586679728,3586679743,IT
-3586679744,3586680319,FR
+3586679728,3586679807,IT
+3586679808,3586680319,FR
3586680320,3586680447,ES
3586680448,3586680463,FR
3586680464,3586680543,ES
@@ -144155,8 +163642,8 @@
3586680560,3586680575,ES
3586680576,3586680607,FR
3586680608,3586680615,ES
-3586680616,3586680767,FR
-3586680768,3586680831,ES
+3586680616,3586680703,FR
+3586680704,3586680831,ES
3586680832,3586682239,FR
3586682240,3586682367,US
3586682368,3586682399,AT
@@ -144168,7 +163655,9 @@
3586752512,3586785279,NL
3586785280,3586793471,OM
3586793472,3586801663,CH
-3586801664,3586804751,HR
+3586801664,3586803487,HR
+3586803488,3586803519,DE
+3586803520,3586804751,HR
3586804752,3586804767,HU
3586804768,3586818047,HR
3586818048,3586834431,IE
@@ -144178,9 +163667,9 @@
3586850816,3586867199,NO
3586867200,3586883583,FR
3586883584,3586899967,IT
-3586899968,3586900287,DE
-3586900288,3586900351,NL
-3586900352,3586904831,DE
+3586899968,3586901311,DE
+3586901312,3586901375,ES
+3586901376,3586904831,DE
3586904832,3586904839,VG
3586904840,3586905199,DE
3586905200,3586905215,GB
@@ -144189,7 +163678,8 @@
3586905296,3586910559,DE
3586910560,3586910567,NL
3586910568,3586910575,CY
-3586910576,3586910587,NL
+3586910576,3586910583,DE
+3586910584,3586910587,NL
3586910588,3586910591,DE
3586910592,3586910623,NL
3586910624,3586910655,DE
@@ -144218,12 +163708,8 @@
3586924984,3586925055,AX
3586925056,3586925103,FI
3586925104,3586925135,AX
-3586925136,3586925247,FI
-3586925248,3586925263,AX
-3586925264,3586925311,FI
-3586925312,3586925375,AX
-3586925376,3586925439,FI
-3586925440,3586925503,AX
+3586925136,3586925471,FI
+3586925472,3586925503,AX
3586925504,3586925535,FI
3586925536,3586925567,AX
3586925568,3586925695,FI
@@ -144243,17 +163729,11 @@
3586926592,3586926847,SE
3586926848,3586927103,FI
3586927104,3586927999,AX
-3586928000,3586928127,FI
-3586928128,3586928143,AX
-3586928144,3586928159,FI
+3586928000,3586928159,FI
3586928160,3586928175,AX
-3586928176,3586928223,FI
-3586928224,3586928239,AX
-3586928240,3586928287,FI
-3586928288,3586928319,AX
-3586928320,3586928335,FI
-3586928336,3586928351,AX
-3586928352,3586928639,FI
+3586928176,3586928303,FI
+3586928304,3586928319,AX
+3586928320,3586928639,FI
3586928640,3586932735,AX
3586932736,3586949119,LB
3586949120,3586965503,SE
@@ -144286,8 +163766,7 @@
3587178800,3587179439,AT
3587179440,3587179455,GB
3587179456,3587186687,AT
-3587186688,3587186815,DE
-3587186816,3587187199,A2
+3587186688,3587187199,A2
3587187200,3587187455,GB
3587187456,3587188479,A2
3587188480,3587188735,DE
@@ -144306,16 +163785,16 @@
3587227680,3587227759,NL
3587227760,3587227775,GB
3587227776,3587227903,NL
-3587227904,3587227967,GB
-3587227968,3587227983,DE
-3587227984,3587228047,GB
+3587227904,3587228047,GB
3587228048,3587228087,NL
3587228088,3587228127,GB
3587228128,3587228271,NL
3587228272,3587228287,GB
3587228288,3587228351,NL
3587228352,3587228367,GB
-3587228368,3587228591,NL
+3587228368,3587228447,NL
+3587228448,3587228463,GB
+3587228464,3587228591,NL
3587228592,3587228607,GB
3587228608,3587228640,NL
3587228641,3587228647,GB
@@ -144360,7 +163839,9 @@
3587232912,3587232927,GB
3587232928,3587233103,NL
3587233104,3587233119,GB
-3587233120,3587233295,NL
+3587233120,3587233167,NL
+3587233168,3587233175,GB
+3587233176,3587233295,NL
3587233296,3587233319,GB
3587233320,3587233343,NL
3587233344,3587233359,GB
@@ -144406,19 +163887,29 @@
3587237472,3587237487,GB
3587237488,3587237495,NL
3587237496,3587237519,GB
-3587237520,3587237567,NL
+3587237520,3587237535,NL
+3587237536,3587237551,GB
+3587237552,3587237567,NL
3587237568,3587237887,GB
3587237888,3587238463,NL
3587238464,3587238479,GB
-3587238480,3587238527,NL
+3587238480,3587238511,NL
+3587238512,3587238519,GB
+3587238520,3587238527,NL
3587238528,3587238543,GB
3587238544,3587238567,NL
3587238568,3587238583,GB
3587238584,3587238607,NL
3587238608,3587238911,GB
-3587238912,3587239303,NL
+3587238912,3587239279,NL
+3587239280,3587239287,GB
+3587239288,3587239303,NL
3587239304,3587239311,GB
-3587239312,3587239911,NL
+3587239312,3587239367,NL
+3587239368,3587239391,GB
+3587239392,3587239631,NL
+3587239632,3587239639,GB
+3587239640,3587239911,NL
3587239912,3587239919,GB
3587239920,3587240063,NL
3587240064,3587240071,BE
@@ -144429,14 +163920,14 @@
3587240280,3587240359,NL
3587240360,3587240367,GB
3587240368,3587240519,NL
-3587240520,3587240575,GB
-3587240576,3587240607,NL
-3587240608,3587240623,GB
-3587240624,3587241039,NL
-3587241040,3587241047,GB
-3587241048,3587241071,NL
-3587241072,3587241087,GB
-3587241088,3587241143,NL
+3587240520,3587240527,GB
+3587240528,3587240543,NL
+3587240544,3587240559,IE
+3587240560,3587240567,BE
+3587240568,3587240575,GB
+3587240576,3587240615,NL
+3587240616,3587240623,GB
+3587240624,3587241143,NL
3587241144,3587241151,GB
3587241152,3587241223,NL
3587241224,3587241247,GB
@@ -144451,16 +163942,27 @@
3587242112,3587242271,NL
3587242272,3587242287,GB
3587242288,3587242463,NL
-3587242464,3587242471,GB
-3587242472,3587243407,NL
+3587242464,3587242495,GB
+3587242496,3587243311,NL
+3587243312,3587243327,GB
+3587243328,3587243407,NL
3587243408,3587243415,GB
-3587243416,3587243935,NL
+3587243416,3587243431,NL
+3587243432,3587243439,GB
+3587243440,3587243455,NL
+3587243456,3587243471,GB
+3587243472,3587243903,NL
+3587243904,3587243919,GB
+3587243920,3587243935,NL
3587243936,3587243951,GB
3587243952,3587243967,NL
3587243968,3587243975,GB
3587243976,3587243983,NL
3587243984,3587243991,GB
-3587243992,3587244031,NL
+3587243992,3587244007,NL
+3587244008,3587244015,GB
+3587244016,3587244023,NL
+3587244024,3587244031,GB
3587244032,3587260415,IT
3587260416,3587284991,DE
3587284992,3587285135,A2
@@ -144601,9 +164103,7 @@
3587440640,3587457023,SE
3587457024,3587459263,GB
3587459264,3587459295,DE
-3587459296,3587465359,GB
-3587465360,3587465367,US
-3587465368,3587473407,GB
+3587459296,3587473407,GB
3587473408,3587489791,IT
3587489792,3587506175,EG
3587506176,3587538943,IT
@@ -144618,21 +164118,20 @@
3587620864,3587637247,SE
3587637248,3587653631,FR
3587653632,3587670015,SK
-3587670016,3587683327,IT
-3587683328,3587683359,FR
-3587683360,3587686031,IT
+3587670016,3587686031,IT
3587686032,3587686039,FR
3587686040,3587687591,IT
3587687592,3587687599,NL
-3587687600,3587699255,IT
+3587687600,3587689151,IT
+3587689152,3587689159,FR
+3587689160,3587689167,GB
+3587689168,3587699255,IT
3587699256,3587699263,A2
3587699264,3587699559,IT
3587699560,3587699567,GB
3587699568,3587700031,IT
3587700032,3587700039,GB
-3587700040,3587701271,IT
-3587701272,3587701279,DE
-3587701280,3587701295,IT
+3587700040,3587701295,IT
3587701296,3587701303,FR
3587701304,3587702783,IT
3587702784,3587710975,DE
@@ -144707,9 +164206,9 @@
3588521984,3588538367,PT
3588538368,3588544383,GB
3588544384,3588544391,IE
-3588544392,3588550447,GB
-3588550448,3588550463,IE
-3588550464,3588553983,GB
+3588544392,3588552447,GB
+3588552448,3588552479,EU
+3588552480,3588553983,GB
3588553984,3588554239,IE
3588554240,3588554687,GB
3588554688,3588554751,IE
@@ -144731,7 +164230,9 @@
3588628480,3588636671,CH
3588636672,3588653055,UZ
3588653056,3588661247,IT
-3588661248,3588669439,NO
+3588661248,3588667391,NO
+3588667392,3588668415,SG
+3588668416,3588669439,HK
3588669440,3588685823,GB
3588685824,3588702207,UA
3588702208,3588718591,ES
@@ -144793,7 +164294,11 @@
3589037560,3589037567,NL
3589037568,3589038079,ES
3589038080,3589046271,NL
-3589046272,3589079039,NO
+3589046272,3589066527,NO
+3589066528,3589066531,SE
+3589066532,3589066703,NO
+3589066704,3589066711,SE
+3589066712,3589079039,NO
3589079040,3589092223,DK
3589092224,3589092227,SE
3589092228,3589128191,DK
@@ -144840,7 +164345,8 @@
3589424640,3589425151,ES
3589425152,3589425663,CH
3589425664,3589426175,GB
-3589426176,3589426303,FR
+3589426176,3589426239,FR
+3589426240,3589426303,IT
3589426304,3589427199,GB
3589427200,3589427247,FR
3589427248,3589428223,GB
@@ -144852,10 +164358,13 @@
3589430544,3589430559,ES
3589430560,3589431295,GB
3589431296,3589431343,FR
-3589431344,3589432319,GB
+3589431344,3589431807,GB
+3589431808,3589432063,CH
+3589432064,3589432319,GB
3589432320,3589432575,CH
3589432576,3589432895,FR
-3589432896,3589433343,GB
+3589432896,3589432927,CH
+3589432928,3589433343,GB
3589433344,3589433375,IT
3589433376,3589433407,CH
3589433408,3589433439,SE
@@ -144894,9 +164403,15 @@
3589545984,3589554175,DE
3589554176,3589570559,PS
3589570560,3589570655,NL
-3589570656,3589571071,GB
+3589570656,3589570671,GB
+3589570672,3589570679,NL
+3589570680,3589570783,GB
+3589570784,3589570815,NL
+3589570816,3589571071,GB
3589571072,3589571135,NL
-3589571136,3589578751,GB
+3589571136,3589571583,GB
+3589571584,3589571839,NL
+3589571840,3589578751,GB
3589578752,3589579391,NL
3589579392,3589579775,GB
3589579776,3589580799,NL
@@ -144934,7 +164449,9 @@
3589680752,3589680767,MQ
3589680768,3589685247,FR
3589685248,3589718015,GB
-3589718016,3589719343,BE
+3589718016,3589719279,BE
+3589719280,3589719287,FR
+3589719288,3589719343,BE
3589719344,3589719347,LU
3589719348,3589719383,BE
3589719384,3589719391,GB
@@ -145057,7 +164574,9 @@
3589724200,3589724207,ES
3589724208,3589724271,BE
3589724272,3589724287,NL
-3589724288,3589724671,BE
+3589724288,3589724351,BE
+3589724352,3589724367,ES
+3589724368,3589724671,BE
3589724672,3589724679,FR
3589724680,3589724695,GB
3589724696,3589724703,BE
@@ -145145,7 +164664,7 @@
3589828160,3589828607,FR
3589828608,3589828639,SE
3589828640,3589828671,NL
-3589828672,3589828735,EU
+3589828672,3589828735,SE
3589828736,3589828991,NL
3589828992,3589829119,ES
3589829120,3589829183,GB
@@ -145158,8 +164677,8 @@
3589849088,3589865471,GB
3589865472,3589881855,GR
3589881856,3589890047,NL
-3589890048,3589890175,BE
-3589890176,3589890303,GB
+3589890048,3589890191,BE
+3589890192,3589890303,GB
3589890304,3589890367,BE
3589890368,3589890431,GB
3589890432,3589890559,BE
@@ -145168,7 +164687,9 @@
3589891328,3589891615,GB
3589891616,3589891631,BE
3589891632,3589931007,GB
-3589931008,3589947391,SI
+3589931008,3589937647,SI
+3589937648,3589937663,AT
+3589937664,3589947391,SI
3589947392,3589963775,FI
3589963776,3589971231,ES
3589971232,3589971247,CA
@@ -145193,27 +164714,25 @@
3590127616,3590143999,GB
3590144000,3590151143,SI
3590151144,3590151151,HR
-3590151152,3590154047,SI
-3590154048,3590154063,HR
-3590154064,3590155775,SI
+3590151152,3590155775,SI
3590155776,3590155807,HR
3590155808,3590155815,SI
3590155816,3590155823,HR
3590155824,3590155871,SI
-3590155872,3590156359,HR
-3590156360,3590156367,SI
-3590156368,3590156431,HR
+3590155872,3590156407,HR
+3590156408,3590156415,RS
+3590156416,3590156431,HR
3590156432,3590156447,SI
-3590156448,3590156543,HR
-3590156544,3590156575,SI
-3590156576,3590156599,HR
+3590156448,3590156599,HR
3590156600,3590156607,SI
3590156608,3590156671,HR
3590156672,3590156687,SI
3590156688,3590156719,HR
-3590156720,3590156727,SI
-3590156728,3590156991,HR
-3590156992,3590157039,SI
+3590156720,3590156735,SI
+3590156736,3590156943,HR
+3590156944,3590156951,SI
+3590156952,3590156959,HR
+3590156960,3590157039,SI
3590157040,3590157311,HR
3590157312,3590157343,RS
3590157344,3590157351,SI
@@ -145223,17 +164742,13 @@
3590157472,3590157487,SI
3590157488,3590157567,RS
3590157568,3590157631,SI
-3590157632,3590157679,RS
-3590157680,3590157687,SI
-3590157688,3590157711,RS
-3590157712,3590157743,SI
+3590157632,3590157727,RS
+3590157728,3590157743,SI
3590157744,3590157751,RS
3590157752,3590157759,SI
-3590157760,3590157767,RS
-3590157768,3590157775,SI
-3590157776,3590157783,RS
-3590157784,3590157823,SI
-3590157824,3590157839,RS
+3590157760,3590157783,RS
+3590157784,3590157791,SI
+3590157792,3590157839,RS
3590157840,3590157855,SI
3590157856,3590157951,RS
3590157952,3590158079,SI
@@ -145242,14 +164757,10 @@
3590158360,3590158367,RS
3590158368,3590158407,SI
3590158408,3590158415,RS
-3590158416,3590158431,SI
-3590158432,3590158439,RS
-3590158440,3590158447,SI
-3590158448,3590158479,RS
-3590158480,3590158527,SI
-3590158528,3590158535,RS
-3590158536,3590158591,SI
-3590158592,3590159359,RS
+3590158416,3590158431,ME
+3590158432,3590158503,RS
+3590158504,3590158527,SI
+3590158528,3590159359,RS
3590159360,3590160383,SI
3590160384,3590176767,GB
3590176768,3590178615,HU
@@ -145263,7 +164774,7 @@
3590242304,3590244351,US
3590244352,3590244607,DE
3590244608,3590244863,IT
-3590244864,3590245119,FR
+3590244864,3590245119,US
3590245120,3590245135,BE
3590245136,3590245143,FR
3590245144,3590245183,BE
@@ -145304,9 +164815,7 @@
3590251520,3590251583,FR
3590251584,3590251647,US
3590251648,3590251775,NL
-3590251776,3590251839,FR
-3590251840,3590251903,ES
-3590251904,3590251967,FR
+3590251776,3590251967,FR
3590251968,3590252287,ES
3590252288,3590252543,FR
3590252544,3590253055,GB
@@ -145321,14 +164830,12 @@
3590254144,3590254271,US
3590254272,3590254463,FR
3590254464,3590254591,ES
-3590254592,3590254847,FR
-3590254848,3590254879,ES
-3590254880,3590254911,FR
+3590254592,3590254911,FR
3590254912,3590254975,ES
3590254976,3590255039,DE
3590255040,3590255047,FR
3590255048,3590255071,ES
-3590255072,3590255103,FR
+3590255072,3590255103,DE
3590255104,3590255359,ES
3590255360,3590255871,FR
3590255872,3590256127,US
@@ -145351,61 +164858,61 @@
3590258688,3590291455,IT
3590291456,3590299647,EG
3590299648,3590307839,FI
-3590307840,3590307903,A2
+3590307840,3590307903,GB
3590307904,3590307935,UA
-3590307936,3590307951,A2
+3590307936,3590307951,GB
3590307952,3590307967,NG
-3590307968,3590307991,A2
+3590307968,3590307991,GB
3590307992,3590307995,SO
-3590307996,3590308031,A2
+3590307996,3590308031,GB
3590308032,3590308047,UG
3590308048,3590308055,NG
-3590308056,3590308063,A2
+3590308056,3590308063,GB
3590308064,3590308071,SO
3590308072,3590308079,RW
3590308080,3590308087,IQ
-3590308088,3590308095,A2
+3590308088,3590308095,GB
3590308096,3590308103,IQ
-3590308104,3590308119,A2
+3590308104,3590308119,GB
3590308120,3590308127,IQ
-3590308128,3590308135,A2
+3590308128,3590308135,GB
3590308136,3590308143,IQ
-3590308144,3590308175,A2
+3590308144,3590308175,GB
3590308176,3590308191,IQ
-3590308192,3590308199,A2
+3590308192,3590308199,GB
3590308200,3590308238,IQ
-3590308239,3590308247,A2
+3590308239,3590308247,GB
3590308248,3590308287,IQ
-3590308288,3590308303,A2
+3590308288,3590308303,GB
3590308304,3590308311,SO
3590308312,3590308319,IQ
-3590308320,3590308327,A2
+3590308320,3590308327,GB
3590308328,3590308343,IQ
-3590308344,3590308351,A2
+3590308344,3590308351,GB
3590308352,3590308367,IQ
-3590308368,3590308375,A2
+3590308368,3590308375,GB
3590308376,3590308391,IQ
-3590308392,3590308399,A2
+3590308392,3590308399,GB
3590308400,3590308407,IQ
-3590308408,3590308415,A2
+3590308408,3590308415,GB
3590308416,3590308431,IQ
-3590308432,3590308439,A2
+3590308432,3590308439,GB
3590308440,3590308455,IQ
-3590308456,3590308479,A2
+3590308456,3590308479,GB
3590308480,3590308487,IQ
-3590308488,3590308519,A2
+3590308488,3590308519,GB
3590308520,3590308527,IQ
-3590308528,3590308535,A2
+3590308528,3590308535,GB
3590308536,3590308543,IQ
-3590308544,3590308551,A2
+3590308544,3590308551,GB
3590308552,3590308559,IQ
-3590308560,3590308567,A2
+3590308560,3590308567,GB
3590308568,3590308583,IQ
-3590308584,3590308607,A2
+3590308584,3590308607,GB
3590308608,3590308735,NG
-3590308736,3590308743,A2
+3590308736,3590308743,GB
3590308744,3590308747,SO
-3590308748,3590308767,A2
+3590308748,3590308767,GB
3590308768,3590308775,RW
3590308776,3590308783,ZA
3590308784,3590308799,ZW
@@ -145413,102 +164920,101 @@
3590308808,3590308815,ZM
3590308816,3590308823,KE
3590308824,3590308831,SO
-3590308832,3590308855,A2
+3590308832,3590308855,GB
3590308856,3590308863,NG
-3590308864,3590308951,A2
+3590308864,3590308951,GB
3590308952,3590308959,GH
-3590308960,3590308999,A2
+3590308960,3590308999,GB
3590309000,3590309007,UG
-3590309008,3590309039,A2
+3590309008,3590309039,GB
3590309040,3590309055,ZW
3590309056,3590309063,CD
-3590309064,3590309071,A2
+3590309064,3590309071,GB
3590309072,3590309079,MW
3590309080,3590309103,NG
3590309104,3590309111,ZW
-3590309112,3590309251,A2
+3590309112,3590309251,GB
3590309252,3590309255,SO
-3590309256,3590309511,A2
+3590309256,3590309511,GB
3590309512,3590309519,AO
3590309520,3590309527,NG
3590309528,3590309535,CM
3590309536,3590309543,SO
3590309544,3590309551,AM
-3590309552,3590309575,A2
+3590309552,3590309575,GB
3590309576,3590309583,US
-3590309584,3590309615,A2
+3590309584,3590309615,GB
3590309616,3590309623,UG
-3590309624,3590309631,A2
+3590309624,3590309631,GB
3590309632,3590309647,IQ
-3590309648,3590309671,A2
+3590309648,3590309671,GB
3590309672,3590309687,IQ
-3590309688,3590309711,A2
+3590309688,3590309711,GB
3590309712,3590309719,IQ
-3590309720,3590309727,A2
+3590309720,3590309727,GB
3590309728,3590309759,IQ
-3590309760,3590309775,A2
+3590309760,3590309775,GB
3590309776,3590309791,IQ
-3590309792,3590309799,A2
+3590309792,3590309799,GB
3590309800,3590309807,IQ
-3590309808,3590309815,A2
+3590309808,3590309815,GB
3590309816,3590309839,IQ
-3590309840,3590309863,A2
+3590309840,3590309863,GB
3590309864,3590309871,IQ
-3590309872,3590309879,A2
+3590309872,3590309879,GB
3590309880,3590309887,IQ
-3590309888,3590310143,A2
+3590309888,3590310143,BF
3590310144,3590310175,IQ
3590310176,3590310183,LR
-3590310184,3590310191,A2
+3590310184,3590310191,GB
3590310192,3590310215,IQ
-3590310216,3590310223,A2
+3590310216,3590310223,GB
3590310224,3590310255,IQ
-3590310256,3590310271,A2
+3590310256,3590310271,GB
3590310272,3590310279,IQ
-3590310280,3590310287,A2
+3590310280,3590310287,GB
3590310288,3590310303,IQ
-3590310304,3590310311,A2
+3590310304,3590310311,GB
3590310312,3590310319,IQ
-3590310320,3590310327,A2
+3590310320,3590310327,GB
3590310328,3590310335,NG
-3590310336,3590310359,A2
+3590310336,3590310359,GB
3590310360,3590310367,IQ
-3590310368,3590310375,A2
-3590310376,3590310391,IQ
-3590310392,3590310655,A2
-3590310656,3590310911,GB
+3590310368,3590310383,GB
+3590310384,3590310391,IQ
+3590310392,3590310911,GB
3590310912,3590310919,IQ
-3590310920,3590310951,A2
+3590310920,3590310951,GB
3590310952,3590310959,IQ
-3590310960,3590310967,A2
+3590310960,3590310967,GB
3590310968,3590311007,IQ
-3590311008,3590311031,A2
+3590311008,3590311031,GB
3590311032,3590311039,IQ
-3590311040,3590311055,A2
+3590311040,3590311055,GB
3590311056,3590311063,IQ
-3590311064,3590311079,A2
+3590311064,3590311079,GB
3590311080,3590311087,IQ
-3590311088,3590311103,A2
+3590311088,3590311103,GB
3590311104,3590311111,IQ
-3590311112,3590311119,A2
+3590311112,3590311119,GB
3590311120,3590311135,IQ
-3590311136,3590311143,A2
+3590311136,3590311143,GB
3590311144,3590311167,IQ
-3590311168,3590311175,A2
+3590311168,3590311175,GB
3590311176,3590311183,CD
-3590311184,3590311199,A2
+3590311184,3590311199,GB
3590311200,3590311207,SD
3590311208,3590311215,CD
-3590311216,3590311223,A2
+3590311216,3590311223,GB
3590311224,3590311231,CD
-3590311232,3590311255,A2
+3590311232,3590311255,GB
3590311256,3590311263,ZW
-3590311264,3590311271,A2
+3590311264,3590311271,GB
3590311272,3590311279,SD
3590311280,3590311287,NG
-3590311288,3590311295,A2
+3590311288,3590311295,GB
3590311296,3590311303,LR
-3590311304,3590311311,A2
+3590311304,3590311311,GB
3590311312,3590311319,CD
3590311320,3590311327,CI
3590311328,3590311335,CD
@@ -145518,143 +165024,142 @@
3590311360,3590311367,LY
3590311368,3590311383,CD
3590311384,3590311391,NG
-3590311392,3590311423,A2
-3590311424,3590311679,GB
+3590311392,3590311679,GB
3590311680,3590311935,YT
-3590311936,3590312703,MW
-3590312704,3590312799,A2
+3590311936,3590312447,GB
+3590312448,3590312703,MW
+3590312704,3590312799,GB
3590312800,3590312807,KE
-3590312808,3590312895,A2
+3590312808,3590312895,GB
3590312896,3590312903,ZA
3590312904,3590312911,AO
3590312912,3590312919,NG
-3590312920,3590312927,A2
+3590312920,3590312927,GB
3590312928,3590312943,UG
-3590312944,3590312951,A2
+3590312944,3590312951,GB
3590312952,3590312959,KE
-3590312960,3590314623,A2
+3590312960,3590314623,GB
3590314624,3590314639,ET
3590314640,3590314655,GH
-3590314656,3590314671,A2
+3590314656,3590314671,GB
3590314672,3590314679,UG
-3590314680,3590314687,A2
-3590314688,3590314719,GB
+3590314680,3590314719,GB
3590314720,3590314727,TG
3590314728,3590314735,UG
3590314736,3590314743,NG
-3590314744,3590314887,A2
+3590314744,3590314887,GB
3590314888,3590314895,NG
-3590314896,3590314903,A2
+3590314896,3590314903,GB
3590314904,3590314911,KE
-3590314912,3590314927,A2
+3590314912,3590314927,GB
3590314928,3590314943,NG
-3590314944,3590314967,A2
+3590314944,3590314967,GB
3590314968,3590314973,YT
-3590314974,3590314975,A2
+3590314974,3590314975,GB
3590314976,3590314983,UG
-3590314984,3590316031,A2
+3590314984,3590316031,GB
3590316032,3590316039,TZ
-3590316040,3590316047,A2
+3590316040,3590316047,GB
3590316048,3590316055,GH
3590316056,3590316071,IQ
-3590316072,3590316079,A2
+3590316072,3590316079,GB
3590316080,3590316087,LB
-3590316088,3590316127,A2
+3590316088,3590316127,GB
3590316128,3590316151,NG
-3590316152,3590316191,A2
+3590316152,3590316191,GB
3590316192,3590316199,IQ
-3590316200,3590316231,A2
+3590316200,3590316231,GB
3590316232,3590316239,LB
-3590316240,3590316271,A2
+3590316240,3590316271,GB
3590316272,3590316279,IQ
-3590316280,3590316567,A2
+3590316280,3590316567,GB
3590316568,3590316575,IQ
-3590316576,3590316591,A2
+3590316576,3590316591,GB
3590316592,3590316599,IQ
-3590316600,3590316663,A2
+3590316600,3590316663,GB
3590316664,3590316671,LY
-3590316672,3590316727,A2
+3590316672,3590316727,GB
3590316728,3590316735,LB
-3590316736,3590317055,A2
+3590316736,3590317055,GB
3590317056,3590317311,NG
3590317312,3590317343,AO
-3590317344,3590317439,A2
+3590317344,3590317439,GB
3590317440,3590317447,AM
3590317448,3590317455,LB
3590317456,3590317463,IQ
-3590317464,3590317471,A2
+3590317464,3590317471,GB
3590317472,3590317479,MW
-3590317480,3590317495,A2
+3590317480,3590317495,GB
3590317496,3590317503,LB
-3590317504,3590317527,A2
+3590317504,3590317527,GB
3590317528,3590317543,IQ
-3590317544,3590317951,A2
+3590317544,3590317951,GB
3590317952,3590318047,UA
-3590318048,3590319167,A2
+3590318048,3590319167,GB
3590319168,3590319231,AE
-3590319232,3590319335,A2
+3590319232,3590319335,GB
3590319336,3590319359,AE
-3590319360,3590319423,A2
+3590319360,3590319423,GB
3590319424,3590319455,AE
-3590319456,3590319967,A2
+3590319456,3590319967,GB
3590319968,3590319999,AE
-3590320000,3590320199,A2
+3590320000,3590320199,GB
3590320200,3590320207,IQ
-3590320208,3590320231,A2
+3590320208,3590320231,GB
3590320232,3590320239,IQ
-3590320240,3590320303,A2
+3590320240,3590320303,GB
3590320304,3590320319,IQ
-3590320320,3590320335,A2
+3590320320,3590320335,GB
3590320336,3590320343,UG
-3590320344,3590320351,A2
+3590320344,3590320351,GB
3590320352,3590320359,IQ
-3590320360,3590320375,A2
+3590320360,3590320375,GB
3590320376,3590320383,IQ
-3590320384,3590321679,A2
+3590320384,3590321679,GB
3590321680,3590321687,CM
-3590321688,3590321695,A2
+3590321688,3590321695,GB
3590321696,3590321711,ZW
-3590321712,3590321943,A2
+3590321712,3590321943,GB
3590321944,3590321959,IQ
-3590321960,3590321967,A2
+3590321960,3590321967,GB
3590321968,3590321983,TR
-3590321984,3590322007,A2
+3590321984,3590322007,GB
3590322008,3590322015,IQ
-3590322016,3590322063,A2
+3590322016,3590322063,GB
3590322064,3590322071,IQ
-3590322072,3590322111,A2
+3590322072,3590322111,GB
3590322112,3590322119,BJ
-3590322120,3590322151,A2
+3590322120,3590322151,GB
3590322152,3590322159,LY
-3590322160,3590322175,A2
+3590322160,3590322175,GB
3590322176,3590322239,IQ
-3590322240,3590322335,A2
+3590322240,3590322335,GB
3590322336,3590322351,MG
-3590322352,3590322391,A2
+3590322352,3590322391,GB
3590322392,3590322399,IQ
3590322400,3590322415,AO
-3590322416,3590322423,A2
+3590322416,3590322423,GB
3590322424,3590322431,NG
3590322432,3590322559,LB
-3590322560,3590322607,A2
+3590322560,3590322607,GB
3590322608,3590322687,LB
3590322688,3590323199,IQ
3590323200,3590323711,MW
-3590323712,3590323903,A2
+3590323712,3590323903,GB
3590323904,3590323911,CD
-3590323912,3590323983,A2
+3590323912,3590323983,GB
3590323984,3590323991,NG
-3590323992,3590323999,A2
+3590323992,3590323999,GB
3590324000,3590324007,LR
-3590324008,3590324015,A2
+3590324008,3590324015,GB
3590324016,3590324023,NG
3590324024,3590324031,ZW
-3590324032,3590324167,A2
+3590324032,3590324167,GB
3590324168,3590324175,BW
3590324176,3590324183,LR
3590324184,3590324191,SD
3590324192,3590324199,VG
-3590324200,3590324207,A2
+3590324200,3590324207,TZ
3590324208,3590324215,CD
3590324216,3590324223,NG
3590324224,3623890943,US
@@ -145686,8 +165191,7 @@
3624283136,3624284159,US
3624284160,3624288255,CA
3624288256,3624290303,IN
-3624290304,3624292351,CA
-3624292352,3624292607,MF
+3624290304,3624292607,CA
3624292608,3624292863,US
3624292864,3624294143,CA
3624294144,3624294399,US
@@ -145723,15 +165227,13 @@
3624374544,3624374551,ES
3624374552,3624374559,US
3624374560,3624374599,ES
-3624374600,3624374679,US
-3624374680,3624374687,CY
-3624374688,3624375871,US
+3624374600,3624375871,US
3624375872,3624375879,NL
3624375880,3624376023,US
3624376024,3624376031,GB
3624376032,3624376247,US
3624376248,3624376263,ES
-3624376264,3624376279,CY
+3624376264,3624376279,US
3624376280,3624376303,GB
3624376304,3624376335,US
3624376336,3624376343,AU
@@ -145757,54 +165259,23 @@
3624378000,3624378007,ES
3624378008,3624378039,US
3624378040,3624378047,GB
-3624378048,3624378055,US
-3624378056,3624378063,GB
-3624378064,3624378087,US
-3624378088,3624378095,GB
-3624378096,3624379391,US
-3624379392,3624379399,SG
-3624379400,3624380423,US
-3624380424,3624380447,CA
-3624380448,3624380455,GB
-3624380456,3624380511,US
-3624380512,3624380519,HK
-3624380520,3624380527,US
-3624380528,3624380535,BE
-3624380536,3624380543,US
-3624380544,3624380551,CA
-3624380552,3624380687,US
-3624380688,3624380695,AU
-3624380696,3624380751,US
-3624380752,3624380759,CA
-3624380760,3624380767,CY
-3624380768,3624380799,US
-3624380800,3624380807,GB
-3624380808,3624380831,US
+3624378048,3624380831,US
3624380832,3624380839,OM
-3624380840,3624380855,US
-3624380856,3624380863,AR
-3624380864,3624380935,US
+3624380840,3624380935,US
3624380936,3624380943,SA
-3624380944,3624380967,GB
-3624380968,3624380983,TW
-3624380984,3624381567,US
+3624380944,3624381567,US
3624381568,3624381583,MY
3624381584,3624381631,US
3624381632,3624381647,GB
3624381648,3624381807,US
3624381808,3624381823,IN
-3624381824,3624381855,US
-3624381856,3624381887,AU
-3624381888,3624381903,US
+3624381824,3624381903,US
3624381904,3624381919,CA
3624381920,3624382031,US
3624382032,3624382047,RO
3624382048,3624383071,US
3624383072,3624383087,GB
-3624383088,3624383103,PT
-3624383104,3624384767,US
-3624384768,3624385023,CA
-3624385024,3624386559,US
+3624383088,3624386559,US
3624386560,3624394751,CA
3624394752,3624435711,US
3624435712,3624438664,CA
@@ -145826,7 +165297,9 @@
3624534016,3624534271,PA
3624534272,3624536063,CA
3624536064,3624546559,US
-3624546560,3624546815,A2
+3624546560,3624546687,A2
+3624546688,3624546695,CA
+3624546696,3624546815,A2
3624546816,3624546943,US
3624546944,3624546991,A2
3624546992,3624547007,US
@@ -145845,9 +165318,7 @@
3624547240,3624547255,A2
3624547256,3624547263,AS
3624547264,3624547327,US
-3624547328,3624547583,A2
-3624547584,3624547591,US
-3624547592,3624547647,A2
+3624547328,3624547647,A2
3624547648,3624547711,US
3624547712,3624547743,A2
3624547744,3624547839,US
@@ -145880,7 +165351,13 @@
3624549080,3624549087,A2
3624549088,3624549103,US
3624549104,3624549111,A2
-3624549112,3624549383,US
+3624549112,3624549119,US
+3624549120,3624549311,A2
+3624549312,3624549327,US
+3624549328,3624549335,A2
+3624549336,3624549343,US
+3624549344,3624549375,A2
+3624549376,3624549383,US
3624549384,3624549471,A2
3624549472,3624549479,US
3624549480,3624549583,A2
@@ -145888,19 +165365,39 @@
3624549616,3624550143,A2
3624550144,3624587263,US
3624587264,3624591359,JM
-3624591360,3624730623,US
+3624591360,3624714239,US
+3624714240,3624715551,SG
+3624715552,3624715559,ID
+3624715560,3624715743,SG
+3624715744,3624715751,US
+3624715752,3624715927,SG
+3624715928,3624715935,GB
+3624715936,3624716223,SG
+3624716224,3624716255,AU
+3624716256,3624716287,SG
+3624716288,3624718335,US
+3624718336,3624718591,SG
+3624718592,3624718847,US
+3624718848,3624718911,SG
+3624718912,3624718943,US
+3624718944,3624719143,SG
+3624719144,3624719151,US
+3624719152,3624719423,SG
+3624719424,3624719431,US
+3624719432,3624719503,SG
+3624719504,3624719511,ID
+3624719512,3624719863,SG
+3624719864,3624720895,US
+3624720896,3624721151,SG
+3624721152,3624721407,US
+3624721408,3624721919,SG
+3624721920,3624730623,US
3624730624,3624796159,CA
-3624796160,3624817679,US
-3624817680,3624817687,CA
-3624817688,3624820735,US
+3624796160,3624820735,US
3624820736,3624820799,CY
3624820800,3624821695,US
3624821696,3624821703,GB
-3624821704,3624825097,US
-3624825098,3624825102,BR
-3624825103,3624827296,US
-3624827297,3624827299,RS
-3624827300,3624828927,US
+3624821704,3624828927,US
3624828928,3624833023,CA
3624833024,3624845311,US
3624845312,3624849407,AU
@@ -145920,8 +165417,7 @@
3624896000,3624896255,CA
3624896256,3624896383,US
3624896384,3624896415,IN
-3624896416,3624896447,AT
-3624896448,3624896767,US
+3624896416,3624896767,US
3624896768,3624896831,IN
3624896832,3624897279,US
3624897280,3624897407,CA
@@ -146062,7 +165558,9 @@
3624912680,3624912687,IN
3624912688,3624912727,US
3624912728,3624912735,TT
-3624912736,3624912959,US
+3624912736,3624912759,US
+3624912760,3624912767,MY
+3624912768,3624912959,US
3624912960,3624913087,IN
3624913088,3624913247,US
3624913248,3624913279,CA
@@ -146154,7 +165652,8 @@
3624924896,3624924927,CA
3624924928,3624925054,US
3624925055,3624925695,CA
-3624925696,3624926463,US
+3624925696,3624926335,US
+3624926336,3624926463,TZ
3624926464,3624926527,CA
3624926528,3624926591,US
3624926592,3624926655,IN
@@ -146241,9 +165740,7 @@
3625327749,3625327812,ID
3625327813,3625327814,US
3625327815,3625327824,GB
-3625327825,3625327907,US
-3625327908,3625327917,ID
-3625327918,3625333383,US
+3625327825,3625333383,US
3625333384,3625333391,GB
3625333392,3625333455,US
3625333456,3625333463,GB
@@ -146323,8 +165820,8 @@
3625512960,3625528541,US
3625528542,3625528551,AU
3625528552,3625574399,US
-3625574400,3625578495,A2
-3625578496,3625581631,US
+3625574400,3625578239,A2
+3625578240,3625581631,US
3625581632,3625581647,NL
3625581648,3625631743,US
3625631744,3625639935,CA
@@ -146372,7 +165869,9 @@
3626227168,3626227199,AR
3626227200,3626228463,US
3626228464,3626228479,AE
-3626228480,3626270719,US
+3626228480,3626230815,US
+3626230816,3626230847,DE
+3626230848,3626270719,US
3626270720,3626287103,CA
3626287104,3626332159,US
3626332160,3626336255,CA
@@ -146384,9 +165883,7 @@
3626381338,3626381341,IL
3626381342,3626381349,US
3626381350,3626381353,QA
-3626381354,3626381357,US
-3626381358,3626381361,IN
-3626381362,3626381373,US
+3626381354,3626381373,US
3626381374,3626381377,AU
3626381378,3626381401,US
3626381402,3626381405,MX
@@ -146410,8 +165907,7 @@
3626381521,3626381524,IN
3626381525,3626381528,US
3626381529,3626381532,IT
-3626381533,3626381537,US
-3626381538,3626381541,CA
+3626381533,3626381541,US
3626381542,3626381545,CL
3626381546,3626381549,US
3626381550,3626381553,GB
@@ -146434,9 +165930,7 @@
3626381650,3626381653,AU
3626381654,3626381657,US
3626381658,3626381661,BE
-3626381662,3626381665,US
-3626381666,3626381669,CA
-3626381670,3626381675,US
+3626381662,3626381675,US
3626381676,3626381679,GB
3626381680,3626381702,US
3626381703,3626381706,LB
@@ -146470,12 +165964,9 @@
3626381875,3626381882,IN
3626381883,3626381894,US
3626381895,3626381898,CA
-3626381899,3626381902,US
-3626381903,3626381906,CA
-3626381907,3626381920,US
+3626381899,3626381920,US
3626381921,3626381924,NL
-3626381925,3626381932,US
-3626381933,3626381936,MX
+3626381925,3626381936,US
3626381937,3626381940,GB
3626381941,3626381944,US
3626381945,3626381948,CA
@@ -146491,9 +165982,7 @@
3626382002,3626382025,US
3626382026,3626382029,CO
3626382030,3626382033,RO
-3626382034,3626382049,US
-3626382050,3626382053,JP
-3626382054,3626382069,US
+3626382034,3626382069,US
3626382070,3626382073,CA
3626382074,3626382074,US
3626382075,3626382078,IN
@@ -146516,9 +166005,7 @@
3626382182,3626382185,ES
3626382186,3626382193,US
3626382194,3626382197,IN
-3626382198,3626382201,US
-3626382202,3626382205,GB
-3626382206,3626382207,US
+3626382198,3626382207,US
3626382208,3626382211,IN
3626382212,3626382223,US
3626382224,3626382227,CN
@@ -146569,7 +166056,8 @@
3626382483,3626382486,US
3626382487,3626382490,IL
3626382491,3626382494,MY
-3626382495,3626382502,GB
+3626382495,3626382498,GB
+3626382499,3626382502,US
3626382503,3626382506,BR
3626382507,3626382518,US
3626382519,3626382522,GR
@@ -146582,8 +166070,7 @@
3626382571,3626382574,IT
3626382575,3626382578,US
3626382579,3626382582,IN
-3626382583,3626382586,AU
-3626382587,3626382597,US
+3626382583,3626382597,US
3626382598,3626382601,IN
3626382602,3626382635,US
3626382636,3626382639,TH
@@ -146606,8 +166093,7 @@
3626382792,3626382795,PT
3626382796,3626382815,US
3626382816,3626382819,AU
-3626382820,3626382823,CA
-3626382824,3626382835,US
+3626382820,3626382835,US
3626382836,3626382839,NL
3626382840,3626382843,US
3626382844,3626382845,IN
@@ -146653,8 +166139,7 @@
3626383136,3626383139,CO
3626383140,3626383147,US
3626383148,3626383151,BR
-3626383152,3626383200,US
-3626383201,3626383204,PE
+3626383152,3626383204,US
3626383205,3626383208,AE
3626383209,3626383220,US
3626383221,3626383225,TR
@@ -146706,15 +166191,13 @@
3626384902,3626384905,MX
3626384906,3626384921,US
3626384922,3626384925,IN
-3626384926,3626384937,US
-3626384938,3626384945,CA
+3626384926,3626384941,US
+3626384942,3626384945,CA
3626384946,3626384949,US
3626384950,3626384953,IN
3626384954,3626384957,US
3626384958,3626384961,GB
-3626384962,3626384969,US
-3626384970,3626384973,AU
-3626384974,3626384977,GB
+3626384962,3626384977,US
3626384978,3626384981,SG
3626384982,3626384985,US
3626384986,3626384989,CA
@@ -146745,17 +166228,11 @@
3626385138,3626385141,GB
3626385142,3626385145,IN
3626385146,3626385149,RO
-3626385150,3626385179,US
-3626385180,3626385183,IT
-3626385184,3626385187,US
+3626385150,3626385187,US
3626385188,3626385191,CA
-3626385192,3626385195,US
-3626385196,3626385199,CA
-3626385200,3626385207,US
+3626385192,3626385207,US
3626385208,3626385209,NZ
-3626385210,3626385217,US
-3626385218,3626385221,CA
-3626385222,3626385225,US
+3626385210,3626385225,US
3626385226,3626385229,CA
3626385230,3626385237,US
3626385238,3626385241,BE
@@ -146959,9 +166436,7 @@
3627330528,3627330559,SE
3627330560,3627350127,US
3627350128,3627350135,IL
-3627350136,3627387903,US
-3627387904,3627388415,BR
-3627388416,3627399935,US
+3627350136,3627399935,US
3627399936,3627399967,GE
3627399968,3627399999,US
3627400000,3627400063,DE
@@ -146989,8 +166464,8 @@
3627662016,3627663359,CA
3627663360,3627665407,US
3627665408,3627665439,CA
-3627665440,3627666255,US
-3627666256,3627666271,CA
+3627665440,3627666239,US
+3627666240,3627666271,CA
3627666272,3627666719,US
3627666720,3627666751,CA
3627666752,3627667519,US
@@ -147008,9 +166483,7 @@
3627746400,3627746431,CA
3627746432,3627747159,US
3627747160,3627747167,IN
-3627747168,3627747583,US
-3627747584,3627747615,FR
-3627747616,3627753471,US
+3627747168,3627753471,US
3627753472,3627753727,AR
3627753728,3627755007,US
3627755008,3627755135,IE
@@ -147021,32 +166494,14 @@
3627758864,3627759071,US
3627759072,3627759103,GB
3627759104,3627759359,US
-3627759360,3627759375,NL
-3627759376,3627759551,US
-3627759552,3627759615,NL
-3627759616,3627802623,US
+3627759360,3627759615,NL
+3627759616,3627759871,US
+3627759872,3627760127,NL
+3627760128,3627802623,US
3627802624,3627810815,CA
3627810816,3627842047,US
3627842048,3627842303,IS
-3627842304,3627896935,US
-3627896936,3627896943,PR
-3627896944,3627897279,US
-3627897280,3627897287,PR
-3627897288,3627897391,US
-3627897392,3627897399,PR
-3627897400,3627912367,US
-3627912368,3627912375,PR
-3627912376,3627970103,US
-3627970104,3627970111,PR
-3627970112,3627970487,US
-3627970488,3627970495,PR
-3627970496,3627970519,US
-3627970520,3627970527,PR
-3627970528,3628001399,US
-3628001400,3628001407,PR
-3628001408,3628005167,US
-3628005168,3628005175,PR
-3628005176,3628123615,US
+3627842304,3628123615,US
3628123616,3628123647,CA
3628123648,3628123711,BM
3628123712,3628123903,US
@@ -147111,9 +166566,9 @@
3628169472,3628169599,IT
3628169600,3628179455,US
3628179456,3628187647,CA
-3628187648,3628208127,US
-3628208128,3628208383,IT
-3628208384,3628223983,US
+3628187648,3628215191,US
+3628215192,3628215199,ES
+3628215200,3628223983,US
3628223984,3628223999,CA
3628224000,3628224735,US
3628224736,3628224743,IT
@@ -147121,11 +166576,7 @@
3628236800,3628257279,CA
3628257280,3628328559,US
3628328560,3628328567,MY
-3628328568,3628332383,US
-3628332384,3628332391,IN
-3628332392,3628332423,US
-3628332424,3628332431,IN
-3628332432,3628598271,US
+3628328568,3628598271,US
3628598272,3628599295,CO
3628599296,3628603391,CL
3628603392,3628604415,US
@@ -147244,35 +166695,29 @@
3629201888,3629201903,CA
3629201904,3629201919,US
3629201920,3629201935,CA
-3629201936,3629201951,US
-3629201952,3629201959,CA
+3629201936,3629201939,US
+3629201940,3629201959,CA
3629201960,3629201971,US
3629201972,3629201983,CA
3629201984,3629201991,US
3629201992,3629201999,CA
3629202000,3629202003,US
3629202004,3629202007,CA
-3629202008,3629202015,US
-3629202016,3629202047,CA
-3629202048,3629202175,US
+3629202008,3629202011,US
+3629202012,3629202079,CA
+3629202080,3629202175,US
3629202176,3629202203,CA
-3629202204,3629202223,US
-3629202224,3629202239,CA
+3629202204,3629202227,US
+3629202228,3629202239,CA
3629202240,3629202263,US
3629202264,3629202271,CA
-3629202272,3629202311,US
-3629202312,3629202367,CA
+3629202272,3629202331,US
+3629202332,3629202367,CA
3629202368,3629202431,US
3629202432,3629203199,CA
3629203200,3629318143,US
3629318144,3629326335,CA
-3629326336,3629327527,US
-3629327528,3629327535,HK
-3629327536,3629327551,US
-3629327552,3629327559,CN
-3629327560,3629327567,US
-3629327568,3629327575,HK
-3629327576,3629539327,US
+3629326336,3629539327,US
3629539328,3629547519,CA
3629547520,3629662207,US
3629662208,3629662463,GB
@@ -147312,9 +166757,21 @@
3629876256,3629876263,CA
3629876264,3629876279,US
3629876280,3629876287,CA
-3629876288,3630035215,US
-3630035216,3630035231,UG
-3630035232,3630039039,US
+3629876288,3630035231,US
+3630035232,3630035247,GB
+3630035248,3630035695,US
+3630035696,3630035711,GB
+3630035712,3630036095,US
+3630036096,3630036111,GB
+3630036112,3630037279,US
+3630037280,3630037295,GB
+3630037296,3630037791,US
+3630037792,3630037823,GB
+3630037824,3630038335,US
+3630038336,3630038351,GB
+3630038352,3630038367,US
+3630038368,3630038399,GB
+3630038400,3630039039,US
3630039040,3630039359,CA
3630039360,3630039391,US
3630039392,3630039455,CA
@@ -147322,8 +166779,8 @@
3630039488,3630039551,CA
3630039552,3630039583,US
3630039584,3630039599,CA
-3630039600,3630039631,US
-3630039632,3630039807,CA
+3630039600,3630039615,US
+3630039616,3630039807,CA
3630039808,3630039815,US
3630039816,3630039823,CA
3630039824,3630039831,US
@@ -147333,9 +166790,7 @@
3630040336,3630040351,US
3630040352,3630040383,CA
3630040384,3630040399,US
-3630040400,3630040415,CA
-3630040416,3630040431,US
-3630040432,3630040447,CA
+3630040400,3630040447,CA
3630040448,3630040463,US
3630040464,3630040479,CA
3630040480,3630040495,US
@@ -147347,8 +166802,8 @@
3630041024,3630041087,US
3630041088,3630041215,CA
3630041216,3630041279,US
-3630041280,3630041903,CA
-3630041904,3630041911,US
+3630041280,3630041895,CA
+3630041896,3630041911,US
3630041912,3630041927,CA
3630041928,3630041935,US
3630041936,3630042015,CA
@@ -147377,7 +166832,9 @@
3630044000,3630044015,US
3630044016,3630044063,CA
3630044064,3630044079,US
-3630044080,3630044287,CA
+3630044080,3630044111,CA
+3630044112,3630044143,US
+3630044144,3630044287,CA
3630044288,3630044351,US
3630044352,3630044415,CA
3630044416,3630044671,US
@@ -147385,7 +166842,9 @@
3630046368,3630046399,US
3630046400,3630047791,CA
3630047792,3630047807,US
-3630047808,3630049791,CA
+3630047808,3630049535,CA
+3630049536,3630049599,US
+3630049600,3630049791,CA
3630049792,3630050047,US
3630050048,3630050391,CA
3630050392,3630050399,US
@@ -147393,15 +166852,11 @@
3630050488,3630050495,US
3630050496,3630050543,CA
3630050544,3630050559,US
-3630050560,3630050847,CA
-3630050848,3630050879,US
-3630050880,3630051135,CA
+3630050560,3630051135,CA
3630051136,3630051327,US
3630051328,3630051583,CA
3630051584,3630051599,US
-3630051600,3630051959,CA
-3630051960,3630052019,US
-3630052020,3630052863,CA
+3630051600,3630052863,CA
3630052864,3630052927,US
3630052928,3630053183,CA
3630053184,3630053247,US
@@ -147413,7 +166868,11 @@
3630054240,3630054335,US
3630054336,3630054495,CA
3630054496,3630054511,US
-3630054512,3630055519,CA
+3630054512,3630054911,CA
+3630054912,3630054919,US
+3630054920,3630055423,CA
+3630055424,3630055455,US
+3630055456,3630055519,CA
3630055520,3630055551,US
3630055552,3630055679,CA
3630055680,3630055935,US
@@ -147423,7 +166882,9 @@
3630057040,3630057055,US
3630057056,3630057087,CA
3630057088,3630057103,US
-3630057104,3630057151,CA
+3630057104,3630057119,CA
+3630057120,3630057135,US
+3630057136,3630057151,CA
3630057152,3630057167,US
3630057168,3630057183,CA
3630057184,3630057199,US
@@ -147473,9 +166934,7 @@
3630063952,3630063983,US
3630063984,3630063999,CA
3630064000,3630064015,US
-3630064016,3630064191,CA
-3630064192,3630064255,US
-3630064256,3630064383,CA
+3630064016,3630064383,CA
3630064384,3630064511,US
3630064512,3630065199,CA
3630065200,3630065215,US
@@ -147503,12 +166962,14 @@
3630071552,3630071807,US
3630071808,3630071871,CA
3630071872,3630072063,US
-3630072064,3630074159,CA
-3630074160,3630074191,US
-3630074192,3630074255,CA
+3630072064,3630072223,CA
+3630072224,3630072255,US
+3630072256,3630074159,CA
+3630074160,3630074207,US
+3630074208,3630074255,CA
3630074256,3630074287,US
-3630074288,3630074335,CA
-3630074336,3630074367,US
+3630074288,3630074319,CA
+3630074320,3630074367,US
3630074368,3630074375,CA
3630074376,3630074383,US
3630074384,3630074415,CA
@@ -147519,31 +166980,41 @@
3630074528,3630074543,US
3630074544,3630075183,CA
3630075184,3630075199,US
-3630075200,3630075375,CA
+3630075200,3630075311,CA
+3630075312,3630075327,US
+3630075328,3630075375,CA
3630075376,3630075391,US
3630075392,3630075647,CA
3630075648,3630076223,US
3630076224,3630076287,CA
3630076288,3630076351,US
3630076352,3630076415,CA
-3630076416,3630076671,US
-3630076672,3630076831,CA
+3630076416,3630076703,US
+3630076704,3630076831,CA
3630076832,3630076863,US
3630076864,3630077823,CA
3630077824,3630077887,US
3630077888,3630078847,CA
3630078848,3630078879,US
-3630078880,3630079263,CA
+3630078880,3630078975,CA
+3630078976,3630079039,US
+3630079040,3630079263,CA
3630079264,3630079279,US
-3630079280,3630079439,CA
+3630079280,3630079407,CA
+3630079408,3630079423,US
+3630079424,3630079439,CA
3630079440,3630079455,AG
3630079456,3630079487,CA
3630079488,3630080511,US
3630080512,3630080895,CA
3630080896,3630081023,US
-3630081024,3630081791,CA
+3630081024,3630081151,CA
+3630081152,3630081279,US
+3630081280,3630081791,CA
3630081792,3630082047,US
-3630082048,3630083071,CA
+3630082048,3630082751,CA
+3630082752,3630082815,US
+3630082816,3630083071,CA
3630083072,3630083103,CH
3630083104,3630083327,CA
3630083328,3630083391,US
@@ -147551,7 +167022,9 @@
3630083520,3630083583,US
3630083584,3630083727,CA
3630083728,3630083743,US
-3630083744,3630083839,CA
+3630083744,3630083807,CA
+3630083808,3630083823,US
+3630083824,3630083839,CA
3630083840,3630084159,US
3630084160,3630084351,CA
3630084352,3630084607,US
@@ -147563,16 +167036,18 @@
3630086144,3630086287,US
3630086288,3630086295,CA
3630086296,3630086319,US
-3630086320,3630086399,CA
+3630086320,3630086375,CA
+3630086376,3630086383,US
+3630086384,3630086399,CA
3630086400,3630086655,US
3630086656,3630086847,CA
3630086848,3630086911,US
3630086912,3630087935,CA
3630087936,3630088447,US
3630088448,3630088959,CA
-3630088960,3630089471,US
-3630089472,3630090271,CA
-3630090272,3630090287,US
+3630088960,3630089727,US
+3630089728,3630090255,CA
+3630090256,3630090287,US
3630090288,3630090319,CA
3630090320,3630090335,US
3630090336,3630090751,CA
@@ -147593,19 +167068,15 @@
3630093496,3630093503,US
3630093504,3630093823,CA
3630093824,3630094079,US
-3630094080,3630094335,CA
-3630094336,3630094367,US
-3630094368,3630094495,CA
+3630094080,3630094495,CA
3630094496,3630094559,US
3630094560,3630094847,CA
3630094848,3630094855,US
3630094856,3630094863,CA
3630094864,3630094871,US
-3630094872,3630094879,CA
-3630094880,3630094887,US
-3630094888,3630094903,CA
-3630094904,3630094919,US
-3630094920,3630094935,CA
+3630094872,3630094903,CA
+3630094904,3630094927,US
+3630094928,3630094935,CA
3630094936,3630094943,US
3630094944,3630094999,CA
3630095000,3630095015,US
@@ -147615,10 +167086,10 @@
3630095048,3630095055,US
3630095056,3630095103,CA
3630095104,3630095359,US
-3630095360,3630095487,CA
-3630095488,3630095743,US
-3630095744,3630096943,CA
-3630096944,3630097151,US
+3630095360,3630095615,CA
+3630095616,3630095743,US
+3630095744,3630096927,CA
+3630096928,3630097151,US
3630097152,3630097663,CA
3630097664,3630098175,KW
3630098176,3630098495,CA
@@ -147653,10 +167124,10 @@
3630145024,3630145039,GB
3630145040,3630145247,CA
3630145248,3630145535,US
-3630145536,3630147647,CA
-3630147648,3630147711,US
-3630147712,3630147775,CA
-3630147776,3630147839,US
+3630145536,3630146815,CA
+3630146816,3630147071,US
+3630147072,3630147647,CA
+3630147648,3630147839,US
3630147840,3630147903,CA
3630147904,3630147935,US
3630147936,3630147999,CA
@@ -147665,7 +167136,9 @@
3630148624,3630148639,US
3630148640,3630148655,CA
3630148656,3630148671,US
-3630148672,3630148815,CA
+3630148672,3630148751,CA
+3630148752,3630148799,US
+3630148800,3630148815,CA
3630148816,3630148863,US
3630148864,3630149151,CA
3630149152,3630149183,US
@@ -147675,9 +167148,9 @@
3630149440,3630149471,US
3630149472,3630149503,CA
3630149504,3630149535,US
-3630149536,3630151487,CA
-3630151488,3630151519,US
-3630151520,3630153119,CA
+3630149536,3630152447,CA
+3630152448,3630152703,US
+3630152704,3630153119,CA
3630153120,3630153151,US
3630153152,3630153407,CA
3630153408,3630153727,US
@@ -147689,9 +167162,11 @@
3630155584,3630155599,US
3630155600,3630155615,CA
3630155616,3630155631,US
-3630155632,3630158135,CA
-3630158136,3630158143,US
-3630158144,3630158159,CA
+3630155632,3630155759,CA
+3630155760,3630155775,US
+3630155776,3630158135,CA
+3630158136,3630158151,US
+3630158152,3630158159,CA
3630158160,3630158167,US
3630158168,3630158175,CA
3630158176,3630158183,US
@@ -147699,7 +167174,9 @@
3630158272,3630158279,US
3630158280,3630158591,CA
3630158592,3630158847,US
-3630158848,3630158975,CA
+3630158848,3630158911,CA
+3630158912,3630158943,US
+3630158944,3630158975,CA
3630158976,3630159007,US
3630159008,3630159487,CA
3630159488,3630159551,US
@@ -147725,20 +167202,22 @@
3630161984,3630162047,US
3630162048,3630162303,CA
3630162304,3630162367,US
-3630162368,3630163455,CA
+3630162368,3630162687,CA
+3630162688,3630162943,US
+3630162944,3630163455,CA
3630163456,3630163711,US
3630163712,3630163719,CA
3630163720,3630163727,US
3630163728,3630163759,CA
3630163760,3630163767,US
-3630163768,3630163927,CA
+3630163768,3630163879,CA
+3630163880,3630163887,US
+3630163888,3630163927,CA
3630163928,3630163959,US
-3630163960,3630164735,CA
-3630164736,3630164751,US
-3630164752,3630164847,CA
+3630163960,3630164847,CA
3630164848,3630164863,US
-3630164864,3630164911,CA
-3630164912,3630164927,US
+3630164864,3630164895,CA
+3630164896,3630164927,US
3630164928,3630164975,CA
3630164976,3630164991,US
3630164992,3630166719,CA
@@ -147749,7 +167228,9 @@
3630166864,3630166879,US
3630166880,3630166975,CA
3630166976,3630166991,US
-3630166992,3630167295,CA
+3630166992,3630167007,CA
+3630167008,3630167023,US
+3630167024,3630167295,CA
3630167296,3630167359,US
3630167360,3630167487,CA
3630167488,3630167551,US
@@ -147770,8 +167251,8 @@
3630309376,3630317567,CA
3630317568,3630330287,US
3630330288,3630330303,JP
-3630330304,3630374911,US
-3630374912,3630383103,CA
+3630330304,3630375423,US
+3630375424,3630383103,CA
3630383104,3630391295,US
3630391296,3630395391,CA
3630395392,3630718975,US
@@ -147780,34 +167261,23 @@
3630746880,3630747391,TZ
3630747392,3630780415,US
3630780416,3630784511,CA
-3630784512,3630787568,US
-3630787569,3630787576,IE
-3630787577,3630850047,US
+3630784512,3630850047,US
3630850048,3630854143,CA
3630854144,3630956543,US
3630956544,3631005695,CA
-3631005696,3631013925,US
-3631013926,3631013941,GB
-3631013942,3631013963,US
-3631013964,3631013979,MX
-3631013980,3631014021,US
-3631014022,3631014053,BR
-3631014054,3631014915,US
+3631005696,3631014915,US
3631014916,3631015011,HU
3631015012,3631015075,US
3631015076,3631015111,HU
3631015112,3631015139,US
3631015140,3631015147,CN
-3631015148,3631015253,US
-3631015254,3631015269,CA
-3631015270,3631015295,US
+3631015148,3631015295,US
3631015296,3631015311,CN
3631015312,3631015887,US
3631015888,3631015903,CN
3631015904,3631016555,US
3631016556,3631016571,CN
-3631016572,3631016581,US
-3631016582,3631016613,BD
+3631016572,3631016613,US
3631016614,3631016645,UA
3631016646,3631017175,US
3631017176,3631017191,CN
@@ -147835,7 +167305,134 @@
3631058582,3631058591,CA
3631058592,3631059229,US
3631059230,3631059239,NO
-3631059240,3631112191,US
+3631059240,3631095823,US
+3631095824,3631095839,CH
+3631095840,3631095855,CA
+3631095856,3631095967,US
+3631095968,3631095999,CA
+3631096000,3631096023,US
+3631096024,3631096031,IT
+3631096032,3631096039,DE
+3631096040,3631096063,US
+3631096064,3631096071,CA
+3631096072,3631096111,US
+3631096112,3631096119,AU
+3631096120,3631096127,DE
+3631096128,3631096143,US
+3631096144,3631096151,GB
+3631096152,3631096159,NL
+3631096160,3631096167,CA
+3631096168,3631096175,GB
+3631096176,3631096183,AU
+3631096184,3631096191,AE
+3631096192,3631096287,US
+3631096288,3631096295,ES
+3631096296,3631096415,US
+3631096416,3631096423,CN
+3631096424,3631096431,IN
+3631096432,3631096439,US
+3631096440,3631096447,MX
+3631096448,3631096471,US
+3631096472,3631096479,MH
+3631096480,3631096495,US
+3631096496,3631096503,FR
+3631096504,3631096519,US
+3631096520,3631096527,DK
+3631096528,3631096543,GB
+3631096544,3631096671,US
+3631096672,3631096679,AU
+3631096680,3631096687,US
+3631096688,3631096695,AR
+3631096696,3631096767,US
+3631096768,3631096799,RU
+3631096800,3631096815,US
+3631096816,3631096823,IN
+3631096824,3631097127,US
+3631097128,3631097135,CK
+3631097136,3631097351,US
+3631097352,3631097359,DE
+3631097360,3631097367,US
+3631097368,3631097375,MT
+3631097376,3631097391,US
+3631097392,3631097415,MX
+3631097416,3631097423,DE
+3631097424,3631097431,US
+3631097432,3631097439,SI
+3631097440,3631097575,US
+3631097576,3631097583,DE
+3631097584,3631097599,IE
+3631097600,3631097607,US
+3631097608,3631097615,CO
+3631097616,3631097623,PT
+3631097624,3631097631,US
+3631097632,3631097647,CA
+3631097648,3631097727,US
+3631097728,3631097743,CA
+3631097744,3631097775,US
+3631097776,3631097783,IE
+3631097784,3631097887,US
+3631097888,3631097895,DE
+3631097896,3631097903,US
+3631097904,3631097911,BZ
+3631097912,3631097999,US
+3631098000,3631098007,RU
+3631098008,3631098015,BY
+3631098016,3631098031,US
+3631098032,3631098039,NL
+3631098040,3631098047,DE
+3631098048,3631098063,FI
+3631098064,3631098095,US
+3631098096,3631098110,DE
+3631098111,3631098111,US
+3631098112,3631098119,FR
+3631098120,3631098127,BH
+3631098128,3631098143,US
+3631098144,3631098159,FI
+3631098160,3631098239,US
+3631098240,3631098255,DK
+3631098256,3631098263,SE
+3631098264,3631098271,FR
+3631098272,3631098335,US
+3631098336,3631098351,DE
+3631098352,3631098366,IN
+3631098367,3631098383,US
+3631098384,3631098391,DK
+3631098392,3631098399,NL
+3631098400,3631098423,US
+3631098424,3631098431,SG
+3631098432,3631098439,GB
+3631098440,3631098679,US
+3631098680,3631098687,GB
+3631098688,3631098703,US
+3631098704,3631098719,CA
+3631098720,3631098735,US
+3631098736,3631098751,AG
+3631098752,3631098791,US
+3631098792,3631098799,MX
+3631098800,3631098807,US
+3631098808,3631098815,RO
+3631098816,3631098831,CA
+3631098832,3631098863,US
+3631098864,3631098879,AG
+3631098880,3631099087,US
+3631099088,3631099095,FR
+3631099096,3631099103,PK
+3631099104,3631099111,US
+3631099112,3631099119,MX
+3631099120,3631099391,US
+3631099392,3631099407,GB
+3631099408,3631099471,US
+3631099472,3631099487,GB
+3631099488,3631099527,US
+3631099528,3631099535,RU
+3631099536,3631099551,CA
+3631099552,3631099567,US
+3631099568,3631099575,SE
+3631099576,3631099631,US
+3631099632,3631099646,FR
+3631099647,3631099647,US
+3631099648,3631099775,GB
+3631099776,3631112191,US
3631112192,3631112385,BB
3631112386,3631112386,VC
3631112387,3631112387,BB
@@ -147875,9 +167472,7 @@
3631415296,3631419391,A2
3631419392,3631435007,US
3631435008,3631435263,GB
-3631435264,3631480831,US
-3631482880,3631484927,CA
-3631484928,3631644671,US
+3631435264,3631644671,US
3631644672,3631652863,CA
3631652864,3631663151,US
3631663152,3631663159,CA
@@ -147919,21 +167514,18 @@
3631712288,3631712295,AR
3631712296,3631712303,US
3631712304,3631712311,CA
-3631712312,3631712327,US
-3631712328,3631712335,VE
-3631712336,3631712407,US
+3631712312,3631712407,US
3631712408,3631712415,GB
3631712416,3631712423,US
3631712424,3631712431,PT
3631712432,3631712439,US
3631712440,3631712447,IN
-3631712448,3631712463,US
-3631712464,3631712471,CA
-3631712472,3631712495,US
+3631712448,3631712455,US
+3631712456,3631712463,UA
+3631712464,3631712495,US
3631712496,3631712503,UY
3631712504,3631712511,DE
-3631712512,3631712527,US
-3631712528,3631712535,MX
+3631712512,3631712535,US
3631712536,3631712543,JP
3631712544,3631712551,CY
3631712552,3631712559,US
@@ -147941,8 +167533,12 @@
3631712568,3631712695,US
3631712696,3631712703,NZ
3631712704,3631712751,US
-3631712752,3631712759,CA
-3631712760,3631712895,US
+3631712752,3631712767,CA
+3631712768,3631712799,US
+3631712800,3631712807,CN
+3631712808,3631712823,US
+3631712824,3631712831,IL
+3631712832,3631712895,US
3631712896,3631712903,MX
3631712904,3631712911,CA
3631712912,3631712927,US
@@ -147951,7 +167547,16 @@
3631712952,3631713031,US
3631713032,3631713039,BR
3631713040,3631713047,IN
-3631713048,3631841279,US
+3631713048,3631713063,US
+3631713064,3631713071,ZA
+3631713072,3631713079,US
+3631713080,3631713087,BR
+3631713088,3631713095,GT
+3631713096,3631713111,US
+3631713112,3631713119,MX
+3631713120,3631713135,US
+3631713136,3631713143,UA
+3631713144,3631841279,US
3631841280,3631874047,CA
3631874048,3631879199,US
3631879200,3631879231,CA
@@ -147967,11 +167572,7 @@
3632232448,3632232703,A2
3632232704,3632244223,US
3632244224,3632244479,CA
-3632244480,3632270025,US
-3632270026,3632270058,CA
-3632270059,3632273645,US
-3632273646,3632273657,AU
-3632273658,3632284879,US
+3632244480,3632284879,US
3632284880,3632284895,CA
3632284896,3632286479,US
3632286480,3632286495,CA
@@ -147990,14 +167591,13 @@
3632455680,3632480319,US
3632480320,3632480335,GB
3632480336,3632480367,US
-3632480368,3632480383,GB
+3632480368,3632480375,GB
+3632480376,3632480383,US
3632480384,3632480391,DK
3632480392,3632480415,US
3632480416,3632480423,NL
3632480424,3632480431,RU
-3632480432,3632480439,US
-3632480440,3632480447,VE
-3632480448,3632480463,US
+3632480432,3632480463,US
3632480464,3632480471,GB
3632480472,3632480487,US
3632480488,3632480495,FR
@@ -148012,9 +167612,7 @@
3632480616,3632480647,US
3632480648,3632480655,CA
3632480656,3632480671,GB
-3632480672,3632480703,US
-3632480704,3632480767,CA
-3632480768,3632481023,US
+3632480672,3632481023,US
3632481024,3632481087,IO
3632481088,3632481183,US
3632481184,3632481199,TH
@@ -148041,8 +167639,7 @@
3632481760,3632481767,KW
3632481768,3632481775,US
3632481776,3632481783,CA
-3632481784,3632481791,GB
-3632481792,3632481999,US
+3632481784,3632481999,US
3632482000,3632482007,BZ
3632482008,3632482015,CA
3632482016,3632482039,US
@@ -148083,15 +167680,12 @@
3632483888,3632483895,TR
3632483896,3632483903,CA
3632483904,3632483919,AU
-3632483920,3632483935,TW
-3632483936,3632483951,US
+3632483920,3632483951,US
3632483952,3632483959,NL
3632483960,3632483967,US
3632483968,3632483983,SR
3632483984,3632483991,GI
-3632483992,3632483999,GB
-3632484000,3632484063,US
-3632484064,3632484079,CA
+3632483992,3632484079,US
3632484080,3632484087,GB
3632484088,3632484383,US
3632484384,3632484391,GB
@@ -148103,7 +167697,7 @@
3632484688,3632484695,GI
3632484696,3632484727,US
3632484728,3632484735,HK
-3632484736,3632484743,IL
+3632484736,3632484743,US
3632484744,3632484751,CA
3632484752,3632484767,US
3632484768,3632484783,CA
@@ -148116,9 +167710,7 @@
3632484832,3632484839,HK
3632484840,3632484855,US
3632484856,3632484863,GB
-3632484864,3632485055,US
-3632485056,3632485087,TW
-3632485088,3632485103,US
+3632484864,3632485103,US
3632485104,3632485111,GB
3632485112,3632485119,US
3632485120,3632485135,GB
@@ -148154,7 +167746,8 @@
3632485680,3632485687,BR
3632485688,3632485727,US
3632485728,3632485735,CA
-3632485736,3632485751,US
+3632485736,3632485743,GB
+3632485744,3632485751,US
3632485752,3632485759,CA
3632485760,3632485767,US
3632485768,3632485775,KW
@@ -148162,7 +167755,8 @@
3632485848,3632485855,CA
3632485856,3632485863,US
3632485864,3632485871,BZ
-3632485872,3632485887,US
+3632485872,3632485879,US
+3632485880,3632485887,GR
3632485888,3632485895,GB
3632485896,3632485903,KW
3632485904,3632486087,US
@@ -148202,9 +167796,7 @@
3632486752,3632486759,NL
3632486760,3632486783,US
3632486784,3632486815,DE
-3632486816,3632486879,US
-3632486880,3632486895,TH
-3632486896,3632487023,US
+3632486816,3632487023,US
3632487024,3632487031,TH
3632487032,3632487039,CZ
3632487040,3632487135,US
@@ -148215,8 +167807,7 @@
3632487784,3632487791,CA
3632487792,3632487807,US
3632487808,3632487815,BZ
-3632487816,3632487823,IL
-3632487824,3632487855,US
+3632487816,3632487855,US
3632487856,3632487863,GB
3632487864,3632487895,US
3632487896,3632487903,GB
@@ -148230,8 +167821,8 @@
3632489888,3632489895,TK
3632489896,3632489903,US
3632489904,3632489911,NL
-3632489912,3632489919,US
-3632489920,3632489943,GB
+3632489912,3632489927,US
+3632489928,3632489943,GB
3632489944,3632490535,US
3632490536,3632490543,CA
3632490544,3632490551,TH
@@ -148262,16 +167853,14 @@
3632491248,3632491263,US
3632491264,3632491327,DM
3632491328,3632491343,FR
-3632491344,3632491359,BR
+3632491344,3632491359,NL
3632491360,3632491391,IN
3632491392,3632491471,US
3632491472,3632491487,TH
3632491488,3632491503,ZA
3632491504,3632491519,US
3632491520,3632491527,GB
-3632491528,3632491535,US
-3632491536,3632491543,GB
-3632491544,3632491583,US
+3632491528,3632491583,US
3632491584,3632491591,TH
3632491592,3632491639,US
3632491640,3632491647,CA
@@ -148297,7 +167886,9 @@
3632492368,3632492375,GB
3632492376,3632492455,US
3632492456,3632492463,TH
-3632492464,3632492543,US
+3632492464,3632492511,US
+3632492512,3632492527,GB
+3632492528,3632492543,US
3632492544,3632492551,FR
3632492552,3632492775,US
3632492776,3632492791,GB
@@ -148316,7 +167907,8 @@
3632493088,3632493119,IO
3632493120,3632493151,US
3632493152,3632493159,GR
-3632493160,3632493191,US
+3632493160,3632493183,US
+3632493184,3632493191,BZ
3632493192,3632493199,CA
3632493200,3632493215,US
3632493216,3632493223,DE
@@ -148353,9 +167945,7 @@
3632494016,3632494023,GB
3632494024,3632494031,CA
3632494032,3632494039,SK
-3632494040,3632494071,US
-3632494072,3632494079,CA
-3632494080,3632494399,US
+3632494040,3632494399,US
3632494400,3632494415,IO
3632494416,3632494431,US
3632494432,3632494439,CA
@@ -148391,9 +167981,7 @@
3632496064,3632496135,US
3632496136,3632496143,NL
3632496144,3632496159,GB
-3632496160,3632496191,US
-3632496192,3632496223,IE
-3632496224,3632652559,US
+3632496160,3632652559,US
3632652560,3632652575,GB
3632652576,3632719303,US
3632719304,3632719311,SG
@@ -148423,7 +168011,9 @@
3632972064,3632973087,CA
3632973088,3632973119,US
3632973120,3632988159,CA
-3632988160,3633029119,US
+3632988160,3633028047,US
+3633028048,3633028051,CZ
+3633028052,3633029119,US
3633029120,3633029631,PY
3633029632,3633030143,NI
3633030144,3633030159,US
@@ -148517,9 +168107,7 @@
3633035552,3633035599,A2
3633035600,3633036031,US
3633036032,3633036287,HT
-3633036288,3633036479,US
-3633036480,3633036511,TT
-3633036512,3633036607,US
+3633036288,3633036607,US
3633036608,3633036671,A2
3633036672,3633039503,US
3633039504,3633039519,CA
@@ -148531,7 +168119,15 @@
3633336480,3633340415,KY
3633340416,3633344511,US
3633344512,3633348607,CA
-3633348608,3633405951,US
+3633348608,3633377279,US
+3633377280,3633377295,BR
+3633377296,3633380975,US
+3633380976,3633380983,PK
+3633380984,3633381071,US
+3633381072,3633381087,BR
+3633381088,3633381343,US
+3633381344,3633381359,BR
+3633381360,3633405951,US
3633405952,3633410047,CA
3633410048,3633479679,US
3633479680,3633483775,CA
@@ -148575,19 +168171,35 @@
3633776416,3633776463,US
3633776464,3633776479,CN
3633776480,3633815551,US
-3633815552,3633815843,CA
-3633815844,3633815847,US
-3633815848,3633816079,CA
-3633816080,3633816095,US
-3633816096,3633816119,CA
+3633815552,3633815807,CA
+3633815808,3633815839,US
+3633815840,3633815843,GB
+3633815844,3633815847,CA
+3633815848,3633815851,GB
+3633815852,3633815879,US
+3633815880,3633815883,EG
+3633815884,3633815887,CA
+3633815888,3633815931,US
+3633815932,3633815935,CA
+3633815936,3633815943,US
+3633815944,3633815951,CA
+3633815952,3633815967,US
+3633815968,3633816031,CA
+3633816032,3633816035,US
+3633816036,3633816039,GB
+3633816040,3633816047,US
+3633816048,3633816051,CA
+3633816052,3633816055,US
+3633816056,3633816079,CA
+3633816080,3633816087,US
+3633816088,3633816119,CA
3633816120,3633816127,IN
3633816128,3633816143,US
3633816144,3633816151,CA
3633816152,3633816159,IN
3633816160,3633816175,ZA
-3633816176,3633816207,US
-3633816208,3633816215,CA
-3633816216,3633816223,US
+3633816176,3633816191,US
+3633816192,3633816223,CA
3633816224,3633816231,IN
3633816232,3633816247,US
3633816248,3633816255,IN
@@ -148613,18 +168225,72 @@
3633816536,3633816543,US
3633816544,3633816559,ZA
3633816560,3633816567,IN
-3633816568,3633818703,CA
+3633816568,3633818663,CA
+3633818664,3633818667,US
+3633818668,3633818703,CA
3633818704,3633818711,US
-3633818712,3633818751,CA
-3633818752,3633818767,US
-3633818768,3633818863,CA
-3633818864,3633818879,US
-3633818880,3633819135,CA
+3633818712,3633818799,CA
+3633818800,3633818807,US
+3633818808,3633818847,CA
+3633818848,3633818855,US
+3633818856,3633818911,CA
+3633818912,3633818919,US
+3633818920,3633818939,CA
+3633818940,3633818943,US
+3633818944,3633818951,CA
+3633818952,3633818959,US
+3633818960,3633818967,CA
+3633818968,3633818983,US
+3633818984,3633818991,CA
+3633818992,3633818999,US
+3633819000,3633819071,CA
+3633819072,3633819079,US
+3633819080,3633819083,CA
+3633819084,3633819103,US
+3633819104,3633819107,CA
+3633819108,3633819111,US
+3633819112,3633819123,CA
+3633819124,3633819127,US
+3633819128,3633819131,CA
+3633819132,3633819135,EG
3633819136,3633819199,IN
-3633819200,3633819391,CA
+3633819200,3633819231,US
+3633819232,3633819263,CA
+3633819264,3633819275,US
+3633819276,3633819279,CA
+3633819280,3633819291,US
+3633819292,3633819295,GB
+3633819296,3633819303,US
+3633819304,3633819307,AM
+3633819308,3633819315,CA
+3633819316,3633819331,US
+3633819332,3633819343,CA
+3633819344,3633819347,US
+3633819348,3633819351,CA
+3633819352,3633819391,US
3633819392,3633819423,IN
-3633819424,3633819647,CA
-3633819648,3633821279,US
+3633819424,3633819427,CA
+3633819428,3633819439,US
+3633819440,3633819443,CA
+3633819444,3633819451,US
+3633819452,3633819455,CA
+3633819456,3633819463,US
+3633819464,3633819467,CA
+3633819468,3633819487,US
+3633819488,3633819491,CA
+3633819492,3633819499,US
+3633819500,3633819511,CA
+3633819512,3633819515,US
+3633819516,3633819519,AR
+3633819520,3633819539,US
+3633819540,3633819547,CA
+3633819548,3633819555,US
+3633819556,3633819559,GB
+3633819560,3633819563,US
+3633819564,3633819583,CA
+3633819584,3633819615,US
+3633819616,3633819639,CA
+3633819640,3633821279,US
3633821280,3633821311,BB
3633821312,3633822175,US
3633822176,3633822191,GB
@@ -148691,14 +168357,17 @@
3634367024,3634367031,CA
3634367032,3634511871,US
3634511872,3634515967,CA
-3634515968,3634552831,US
+3634515968,3634524159,US
+3634528256,3634552831,US
3634552832,3634556927,CA
3634556928,3634741247,US
3634741248,3634749439,CA
3634749440,3634880511,US
3634880512,3634888703,CA
3634888704,3634913279,US
-3634913280,3634915663,CA
+3634913280,3634914175,CA
+3634914176,3634914207,US
+3634914208,3634915663,CA
3634915664,3634915679,US
3634915680,3634921471,CA
3634921472,3634925567,US
@@ -148750,48 +168419,48 @@
3635533000,3635533007,NO
3635533008,3635533535,US
3635533536,3635533551,IN
-3635533552,3635650559,US
-3635650560,3635650815,JP
-3635650816,3635651071,US
-3635651072,3635651327,JP
-3635651328,3635651583,US
-3635651584,3635651839,JP
-3635651840,3635652607,US
-3635652608,3635652639,HK
-3635652640,3635652815,US
-3635652816,3635652831,HK
-3635652832,3635653071,US
-3635653072,3635653119,HK
-3635653120,3635653151,US
-3635653152,3635653183,HK
-3635653184,3635653631,US
-3635653632,3635653695,JP
-3635653696,3635653727,US
-3635653728,3635653743,JP
-3635653744,3635653775,US
-3635653776,3635653791,JP
-3635653792,3635653887,US
-3635653888,3635653983,JP
-3635653984,3635654015,US
-3635654016,3635654143,JP
-3635654144,3635654303,US
-3635654304,3635654335,JP
-3635654336,3635654655,US
-3635654656,3635654911,JP
-3635654912,3635655167,US
-3635655168,3635655935,JP
-3635655936,3635656191,US
-3635656192,3635656223,JP
-3635656224,3635656319,US
-3635656320,3635656447,JP
-3635656448,3635656703,CA
-3635656704,3635659263,US
-3635659264,3635660031,ID
-3635660032,3635660287,CN
+3635533552,3635643391,US
+3635643392,3635645439,JP
+3635645440,3635645951,HK
+3635645952,3635646463,TL
+3635646464,3635646975,US
+3635646976,3635647007,GB
+3635647008,3635647103,US
+3635647104,3635647135,GB
+3635647136,3635647199,US
+3635647200,3635647231,GB
+3635647232,3635647743,US
+3635647744,3635647807,CA
+3635647808,3635647904,US
+3635647905,3635647936,CA
+3635647937,3635647999,US
+3635648000,3635648127,TW
+3635648128,3635648223,US
+3635648224,3635648255,TW
+3635648256,3635648257,ML
+3635648258,3635648270,US
+3635648271,3635648272,ML
+3635648273,3635648320,US
+3635648321,3635648321,ML
+3635648322,3635648336,US
+3635648337,3635648352,ML
+3635648353,3635648767,US
+3635648768,3635649023,JP
+3635649024,3635650559,US
+3635650560,3635653631,HK
+3635653632,3635654655,JP
+3635654656,3635656447,HK
+3635656448,3635656703,US
+3635656704,3635657727,JP
+3635657728,3635659263,US
+3635659264,3635660287,ID
3635660288,3635660799,US
-3635660800,3635661823,HK
-3635661824,3635662847,JP
-3635662848,3635847791,US
+3635660800,3635662847,HK
+3635662848,3635670527,US
+3635670528,3635671039,TL
+3635671040,3635674623,US
+3635674624,3635675135,HK
+3635675136,3635847791,US
3635847792,3635847807,CA
3635847808,3635856511,US
3635856512,3635856543,CA
@@ -148815,13 +168484,37 @@
3636019200,3636021775,CA
3636021776,3636021791,US
3636021792,3636027391,CA
-3636027392,3636064255,US
+3636027392,3636027647,US
+3636027648,3636028095,SG
+3636028096,3636028127,MY
+3636028128,3636028783,SG
+3636028784,3636028791,ID
+3636028792,3636028927,SG
+3636028928,3636029183,US
+3636029184,3636029439,SG
+3636029440,3636029695,US
+3636029696,3636029951,SG
+3636029952,3636030207,US
+3636030208,3636031231,SG
+3636031232,3636031999,US
+3636032000,3636032063,SG
+3636032064,3636032071,BR
+3636032072,3636032511,SG
+3636032512,3636032767,US
+3636032768,3636033471,SG
+3636033472,3636033479,US
+3636033480,3636033519,SG
+3636033520,3636033791,US
+3636033792,3636034303,SG
+3636034304,3636035327,US
+3636035328,3636035583,SG
+3636035584,3636064255,US
3636064256,3636068351,CA
3636068352,3636150495,US
3636150496,3636150527,CA
3636150528,3636150783,US
-3636150784,3636150839,CA
-3636150840,3636150911,US
+3636150784,3636150831,CA
+3636150832,3636150911,US
3636150912,3636150935,CA
3636150936,3636150943,US
3636150944,3636150991,CA
@@ -148833,20 +168526,28 @@
3636151456,3636151479,US
3636151480,3636151488,CA
3636151489,3636151535,US
-3636151536,3636151759,CA
+3636151536,3636151551,CA
+3636151552,3636151561,US
+3636151562,3636151563,CA
+3636151564,3636151583,US
+3636151584,3636151759,CA
3636151760,3636151775,US
3636151776,3636152303,CA
3636152304,3636152319,US
3636152320,3636152575,CA
3636152576,3636152591,US
-3636152592,3636152639,CA
-3636152640,3636152647,US
+3636152592,3636152607,CA
+3636152608,3636152615,US
+3636152616,3636152623,CA
+3636152624,3636152647,US
3636152648,3636152655,CA
3636152656,3636152703,US
3636152704,3636152767,CA
3636152768,3636152775,MX
-3636152776,3636152783,US
-3636152784,3636152855,CA
+3636152776,3636152791,US
+3636152792,3636152799,CA
+3636152800,3636152831,US
+3636152832,3636152855,CA
3636152856,3636152895,US
3636152896,3636153023,CA
3636153024,3636153055,KN
@@ -148907,23 +168608,27 @@
3636160416,3636160431,US
3636160432,3636160831,CA
3636160832,3636160895,US
-3636160896,3636160927,CA
-3636160928,3636160975,US
+3636160896,3636160943,CA
+3636160944,3636160975,US
3636160976,3636161279,CA
3636161280,3636161327,US
-3636161328,3636161535,CA
+3636161328,3636161407,CA
+3636161408,3636161439,US
+3636161440,3636161535,CA
3636161536,3636161791,US
3636161792,3636161871,CA
3636161872,3636161885,US
3636161886,3636161943,CA
3636161944,3636161951,US
-3636161952,3636161983,CN
-3636161984,3636162015,US
+3636161952,3636161967,CA
+3636161968,3636162015,US
3636162016,3636162559,CA
3636162560,3636163583,US
3636163584,3636164095,CA
3636164096,3636164111,BV
-3636164112,3636164319,CA
+3636164112,3636164143,CA
+3636164144,3636164159,US
+3636164160,3636164319,CA
3636164320,3636164327,US
3636164328,3636164335,CA
3636164336,3636164351,US
@@ -148967,9 +168672,7 @@
3636904544,3636904575,IN
3636904576,3636904607,US
3636904608,3636904671,IN
-3636904672,3636904703,US
-3636904704,3636904959,MY
-3636904960,3636905471,US
+3636904672,3636905471,US
3636905472,3636905727,CA
3636905728,3636905791,US
3636905792,3636905823,IN
@@ -148998,7 +168701,8 @@
3636907232,3636907775,US
3636907776,3636908031,CA
3636908032,3636908543,US
-3636908544,3636908863,IN
+3636908544,3636908799,IN
+3636908800,3636908863,US
3636908864,3636908991,CA
3636908992,3636909055,US
3636909056,3636909311,CA
@@ -149019,9 +168723,7 @@
3636910496,3636910527,BE
3636910528,3636910591,US
3636910592,3636910719,CA
-3636910720,3636910847,US
-3636910848,3636911103,AU
-3636911104,3636911295,US
+3636910720,3636911295,US
3636911296,3636911359,CA
3636911360,3636911423,US
3636911424,3636911455,BE
@@ -149034,14 +168736,11 @@
3636912384,3636912447,JP
3636912448,3636912959,US
3636912960,3636912991,BE
-3636912992,3636913279,US
-3636913280,3636913407,CA
-3636913408,3636913535,US
+3636912992,3636913535,US
3636913536,3636913663,CA
3636913664,3636913919,US
3636913920,3636914687,CA
-3636914688,3636914815,US
-3636914816,3636914879,IN
+3636914688,3636914879,US
3636914880,3636914943,CA
3636914944,3636915103,US
3636915104,3636915135,IN
@@ -149069,9 +168768,13 @@
3636917296,3636917303,IN
3636917304,3636917359,US
3636917360,3636917367,AU
-3636917368,3636917447,US
+3636917368,3636917399,US
+3636917400,3636917407,CR
+3636917408,3636917447,US
3636917448,3636917455,HK
-3636917456,3636917503,US
+3636917456,3636917479,US
+3636917480,3636917487,CR
+3636917488,3636917503,US
3636917504,3636919039,CA
3636919040,3636919071,IN
3636919072,3636919103,US
@@ -149083,8 +168786,7 @@
3636919712,3636919743,BE
3636919744,3636919807,US
3636919808,3636919871,GB
-3636919872,3636919999,US
-3636920000,3636920127,IN
+3636919872,3636920127,US
3636920128,3636920191,CA
3636920192,3637071887,US
3637071888,3637071903,AD
@@ -149125,13 +168827,9 @@
3637074944,3637074959,CA
3637074960,3637075967,US
3637075968,3637080063,CA
-3637080064,3637389335,US
-3637389336,3637389343,CA
-3637389344,3637427711,US
+3637080064,3637427711,US
3637427712,3637427743,CA
-3637427744,3637443103,US
-3637443104,3637443135,JP
-3637443136,3637469439,US
+3637427744,3637469439,US
3637469440,3637469695,GE
3637469696,3637510143,US
3637510144,3637520127,CA
@@ -149143,9 +168841,7 @@
3637667519,3637669887,CA
3637669888,3637706751,US
3637706752,3637739519,CA
-3637739520,3637827327,US
-3637827328,3637827583,VI
-3637827584,3638165503,US
+3637739520,3638165503,US
3638165504,3638181887,CA
3638181888,3638198951,US
3638198952,3638198959,BM
@@ -149153,10 +168849,7 @@
3638198984,3638198991,ES
3638198992,3638199711,US
3638199712,3638199743,DE
-3638199744,3638199807,US
-3638199808,3638199815,CN
-3638199816,3638199823,AU
-3638199824,3638200007,US
+3638199744,3638200007,US
3638200008,3638200015,JP
3638200016,3638206407,US
3638206408,3638206415,LU
@@ -149251,8 +168944,7 @@
3638250864,3638250871,GB
3638250872,3638250895,US
3638250896,3638250911,GB
-3638250912,3638250919,CH
-3638250920,3638250983,US
+3638250912,3638250983,US
3638250984,3638250991,GB
3638250992,3638304767,US
3638304768,3638312959,CA
@@ -149265,12 +168957,20 @@
3638398992,3638399007,CH
3638399008,3638399487,US
3638399488,3638399615,CH
-3638399616,3638399743,US
+3638399616,3638399647,BM
+3638399648,3638399679,US
+3638399680,3638399743,CA
3638399744,3638399999,CH
3638400000,3638400063,CA
3638400064,3638400271,US
3638400272,3638400279,CA
-3638400280,3638509295,US
+3638400280,3638400559,US
+3638400560,3638400567,PA
+3638400568,3638400575,US
+3638400576,3638400607,CA
+3638400608,3638400639,US
+3638400640,3638400767,CA
+3638400768,3638509295,US
3638509296,3638509311,GB
3638509312,3638509567,US
3638509568,3638526911,CA
@@ -149289,7 +168989,9 @@
3638706176,3638707199,A2
3638707200,3638707455,VC
3638707456,3638710271,A2
-3638710272,3638874111,US
+3638710272,3638749183,US
+3638749184,3638749439,AI
+3638749440,3638874111,US
3638874112,3638878207,CA
3638878208,3638960383,US
3638960384,3638960639,BR
@@ -149307,9 +169009,7 @@
3639279616,3639283711,CA
3639283712,3639342703,US
3639342704,3639342711,GB
-3639342712,3639343135,US
-3639343136,3639343167,GB
-3639343168,3639343231,US
+3639342712,3639343231,US
3639343232,3639343263,GB
3639343264,3639344447,US
3639344448,3639344463,MA
@@ -149379,8 +169079,8 @@
3639401656,3639401687,A2
3639401688,3639401727,PK
3639401728,3639402015,A2
-3639402016,3639402031,PK
-3639402032,3639402047,A2
+3639402016,3639402039,PK
+3639402040,3639402047,A2
3639402048,3639402055,US
3639402056,3639402071,PK
3639402072,3639402079,A2
@@ -149396,16 +169096,21 @@
3639439632,3639439639,RO
3639439640,3639440767,US
3639440768,3639440895,IN
-3639440896,3639498767,US
+3639440896,3639492607,US
+3639492608,3639492615,GB
+3639492616,3639492767,US
+3639492768,3639492799,MD
+3639492800,3639498767,US
3639498768,3639498783,SI
3639498784,3639498791,US
3639498792,3639498799,NL
-3639498800,3639533567,US
+3639498800,3639513239,US
+3639513240,3639513243,AE
+3639513244,3639533567,US
3639533568,3639537663,CA
3639537664,3639558143,US
3639558144,3639566335,CA
-3639566336,3639582719,US
-3639590912,3639593983,US
+3639566336,3639593983,US
3639593984,3639595007,GB
3639595008,3639607295,US
3639607296,3639611391,CA
@@ -149419,12 +169124,12 @@
3639675392,3639676159,CO
3639676160,3639676415,CL
3639676416,3639676543,CO
-3639676544,3639676575,CL
-3639676576,3639676639,CO
+3639676544,3639676607,CL
+3639676608,3639676639,CO
3639676640,3639676655,CL
-3639676656,3639676695,CO
-3639676696,3639676703,CL
-3639676704,3639676959,CO
+3639676656,3639676671,CO
+3639676672,3639676799,CL
+3639676800,3639676959,CO
3639676960,3639676967,CL
3639676968,3639676983,CO
3639676984,3639676999,CL
@@ -149512,16 +169217,52 @@
3639892376,3639892383,ID
3639892384,3639892415,US
3639892416,3639892431,MX
-3639892432,3639892815,US
-3639892816,3639892831,MX
-3639892832,3639893207,US
-3639893208,3639893215,DE
-3639893216,3639893503,US
+3639892432,3639893503,US
3639893504,3639893519,ID
3639893520,3639902207,US
3639902208,3639918591,PE
3639918592,3639934975,AR
-3639934976,3640001751,US
+3639934976,3639984735,US
+3639984736,3639984743,JO
+3639984744,3639986103,US
+3639986104,3639986111,BR
+3639986112,3639986207,US
+3639986208,3639986215,BR
+3639986216,3639986807,US
+3639986808,3639986815,BR
+3639986816,3639986831,US
+3639986832,3639986839,SA
+3639986840,3639986991,US
+3639986992,3639987007,BR
+3639987008,3639987111,US
+3639987112,3639987119,JO
+3639987120,3639987575,US
+3639987576,3639987583,BR
+3639987584,3639988327,US
+3639988328,3639988335,SG
+3639988336,3639989311,US
+3639989312,3639989327,AR
+3639989328,3639989359,US
+3639989360,3639989375,SA
+3639989376,3639989487,US
+3639989488,3639989495,GB
+3639989496,3639989567,US
+3639989568,3639989599,GB
+3639989600,3639990207,US
+3639990208,3639990223,SA
+3639990224,3639990527,US
+3639990528,3639990559,GB
+3639990560,3639990623,US
+3639990624,3639990639,BR
+3639990640,3639991351,US
+3639991352,3639991359,ID
+3639991360,3639991511,US
+3639991512,3639991519,BR
+3639991520,3639991983,US
+3639991984,3639991991,BR
+3639991992,3639992255,US
+3639992256,3639992263,SA
+3639992264,3640001751,US
3640001752,3640001759,IL
3640001760,3640003239,US
3640003240,3640003247,TR
@@ -149543,16 +169284,15 @@
3640027416,3640027423,GB
3640027424,3640028207,US
3640028208,3640028215,GB
-3640028216,3640028247,US
-3640028248,3640028255,IN
-3640028256,3640028295,US
+3640028216,3640028295,US
3640028296,3640028303,CA
-3640028304,3640028311,GB
-3640028312,3640028335,US
+3640028304,3640028335,US
3640028336,3640028343,CA
3640028344,3640028447,US
3640028448,3640028455,GB
-3640028456,3640028591,US
+3640028456,3640028495,US
+3640028496,3640028503,MY
+3640028504,3640028591,US
3640028592,3640028599,CA
3640028600,3640057855,US
3640057856,3640066047,CA
@@ -149608,9 +169348,7 @@
3640345424,3640345431,MX
3640345432,3640345455,US
3640345456,3640345503,MX
-3640345504,3640345663,US
-3640345664,3640345711,MX
-3640345712,3640345743,US
+3640345504,3640345743,US
3640345744,3640345854,MX
3640345855,3640346815,US
3640346816,3640346847,MX
@@ -149747,7 +169485,10 @@
3641353856,3641353879,NG
3641353880,3641353983,A2
3641353984,3641354239,AF
-3641354240,3641354311,A2
+3641354240,3641354255,A2
+3641354256,3641354272,GB
+3641354273,3641354303,A2
+3641354304,3641354311,US
3641354312,3641354319,GB
3641354320,3641354327,A2
3641354328,3641354335,GB
@@ -149763,16 +169504,16 @@
3641355776,3641356031,LB
3641356032,3641356191,A2
3641356192,3641356207,NG
-3641356208,3641357823,A2
-3641357824,3641357831,NG
-3641357832,3641357855,A2
+3641356208,3641356351,A2
+3641356352,3641356415,NG
+3641356416,3641356535,A2
+3641356536,3641356543,CM
+3641356544,3641357855,A2
3641357856,3641357879,GB
3641357880,3641357887,A2
3641357888,3641357927,GB
3641357928,3641358335,A2
-3641358336,3641358591,GB
-3641358592,3641358847,A2
-3641358848,3641359359,GB
+3641358336,3641359359,GB
3641359360,3641359615,IQ
3641359616,3641359639,GB
3641359640,3641359871,A2
@@ -149830,11 +169571,7 @@
3641559136,3641560959,DE
3641560960,3641561087,NL
3641561088,3641565183,RU
-3641565184,3641567343,SE
-3641567344,3641567351,FI
-3641567352,3641568967,SE
-3641568968,3641568975,DK
-3641568976,3641573375,SE
+3641565184,3641573375,SE
3641573376,3641577471,NO
3641577472,3641581567,RU
3641581568,3641585663,ES
@@ -149864,9 +169601,24 @@
3641670656,3641670783,SO
3641670784,3641670791,NG
3641670792,3641670911,GB
-3641670912,3641671679,LS
+3641670912,3641671167,LS
+3641671168,3641671423,ZW
+3641671424,3641671679,GB
3641671680,3641679871,RU
-3641679872,3641683967,A1
+3641679872,3641680127,DK
+3641680128,3641681151,GB
+3641681152,3641681407,SE
+3641681408,3641681663,FR
+3641681664,3641682431,A1
+3641682432,3641683727,EU
+3641683728,3641683743,A1
+3641683744,3641683751,EU
+3641683752,3641683775,A1
+3641683776,3641683791,EU
+3641683792,3641683807,A1
+3641683808,3641683840,EU
+3641683841,3641683959,A1
+3641683960,3641683967,EU
3641683968,3641688063,KZ
3641688064,3641692159,RU
3641692160,3641696255,IT
@@ -149957,10 +169709,14 @@
3641937920,3641942015,IT
3641942016,3641947495,DE
3641947496,3641947503,US
-3641947504,3641950207,DE
+3641947504,3641947652,DE
+3641947653,3641947653,CH
+3641947654,3641950207,DE
3641950208,3641954303,FR
3641954304,3641956863,MD
-3641956864,3641957631,GB
+3641956864,3641956927,GB
+3641956928,3641957119,MD
+3641957120,3641957631,GB
3641957632,3641957887,MD
3641957888,3641958399,GB
3641958400,3641960447,BE
@@ -149978,7 +169734,9 @@
3641978880,3641982975,DK
3641982976,3641991167,RU
3641991168,3641995263,SE
-3641995264,3641999359,DE
+3641995264,3641998335,DE
+3641998336,3641998847,EU
+3641998848,3641999359,DE
3641999360,3642003455,HU
3642003456,3642007551,RU
3642007552,3642015743,UA
@@ -150163,7 +169921,6 @@
3642376192,3642380287,RS
3642380288,3642384383,IT
3642384384,3642392575,NL
-3642392576,3642396671,AM
3642396672,3642404863,MD
3642404864,3642408959,RU
3642408960,3642413055,FR
@@ -150246,18 +170003,25 @@
3642552688,3642552831,UA
3642552832,3642552847,EE
3642552848,3642553087,UA
-3642553088,3642553091,LV
-3642553092,3642553095,UA
-3642553096,3642553099,LV
+3642553088,3642553099,LV
3642553100,3642553103,UA
3642553104,3642553161,LV
3642553162,3642553163,UA
-3642553164,3642553175,LV
+3642553164,3642553165,LV
+3642553166,3642553167,UA
+3642553168,3642553175,LV
3642553176,3642553183,UA
3642553184,3642553223,LV
-3642553224,3642553279,UA
-3642553280,3642553343,LV
-3642553344,3642553371,RU
+3642553224,3642553231,UA
+3642553232,3642553247,EE
+3642553248,3642553285,LV
+3642553286,3642553289,UA
+3642553290,3642553295,LV
+3642553296,3642553311,UA
+3642553312,3642553343,LV
+3642553344,3642553363,RU
+3642553364,3642553367,UA
+3642553368,3642553371,RU
3642553372,3642553379,UA
3642553380,3642553383,RU
3642553384,3642553407,UA
@@ -150272,8 +170036,7 @@
3642553472,3642553519,RU
3642553520,3642553523,UA
3642553524,3642553535,RU
-3642553536,3642553543,DE
-3642553544,3642553547,UA
+3642553536,3642553547,UA
3642553548,3642553567,RU
3642553568,3642553571,UA
3642553572,3642553575,RU
@@ -150282,33 +170045,37 @@
3642553590,3642553591,UA
3642553592,3642553599,RU
3642553600,3642553855,UA
-3642553856,3642553929,RU
-3642553930,3642553935,UA
+3642553856,3642553925,RU
+3642553926,3642553935,UA
3642553936,3642553959,RU
3642553960,3642554111,UA
3642554112,3642554119,RU
3642554120,3642554127,UA
3642554128,3642554159,RU
3642554160,3642554187,UA
-3642554188,3642554207,RU
+3642554188,3642554193,RU
+3642554194,3642554195,UA
+3642554196,3642554203,RU
+3642554204,3642554205,UA
+3642554206,3642554207,RU
3642554208,3642554219,UA
3642554220,3642554223,RU
3642554224,3642554367,UA
-3642554368,3642554427,LT
-3642554428,3642554431,UA
-3642554432,3642554447,LT
+3642554368,3642554387,LT
+3642554388,3642554391,UA
+3642554392,3642554447,LT
3642554448,3642554463,UA
-3642554464,3642554573,LT
-3642554574,3642554575,UA
-3642554576,3642554623,LT
-3642554624,3642554631,UA
+3642554464,3642554591,LT
+3642554592,3642554631,UA
3642554632,3642554671,LV
3642554672,3642554675,UA
-3642554676,3642554703,LV
-3642554704,3642554751,UA
+3642554676,3642554719,LV
+3642554720,3642554751,UA
3642554752,3642554795,LV
3642554796,3642554807,UA
-3642554808,3642554831,LV
+3642554808,3642554811,LV
+3642554812,3642554815,UA
+3642554816,3642554831,LV
3642554832,3642554851,UA
3642554852,3642554879,LV
3642554880,3642554911,DE
@@ -150316,8 +170083,7 @@
3642554920,3642554931,DE
3642554932,3642554959,UA
3642554960,3642554963,DE
-3642554964,3642554967,UA
-3642554968,3642554971,LV
+3642554964,3642554971,UA
3642554972,3642554975,DE
3642554976,3642554977,CZ
3642554978,3642554979,FR
@@ -150325,7 +170091,8 @@
3642554984,3642554987,UA
3642554988,3642554989,FR
3642554990,3642554991,UA
-3642554992,3642555015,DE
+3642554992,3642555007,DE
+3642555008,3642555015,UA
3642555016,3642555017,NL
3642555018,3642555023,DE
3642555024,3642555039,NL
@@ -150338,8 +170105,9 @@
3642555070,3642555071,DE
3642555072,3642555087,GE
3642555088,3642555103,DE
-3642555104,3642555107,CZ
-3642555108,3642555135,UA
+3642555104,3642555111,CZ
+3642555112,3642555119,UA
+3642555120,3642555135,DE
3642555136,3642555153,LT
3642555154,3642555167,UA
3642555168,3642555183,LT
@@ -150355,25 +170123,27 @@
3642555432,3642555437,UA
3642555438,3642555439,PL
3642555440,3642555443,UA
-3642555444,3642555463,PL
+3642555444,3642555445,PL
+3642555446,3642555447,UA
+3642555448,3642555463,PL
3642555464,3642555475,UA
-3642555476,3642555493,PL
-3642555494,3642555495,UA
-3642555496,3642555503,PL
-3642555504,3642555647,UA
+3642555476,3642555503,PL
+3642555504,3642555519,UA
+3642555520,3642555567,PL
+3642555568,3642555647,UA
3642555648,3642555683,SE
3642555684,3642555685,GB
3642555686,3642555691,UA
3642555692,3642555695,SE
3642555696,3642555703,UA
-3642555704,3642555707,FI
+3642555704,3642555705,FI
+3642555706,3642555707,UA
3642555708,3642555711,SE
3642555712,3642555727,RU
3642555728,3642555735,SE
3642555736,3642555743,GB
3642555744,3642555759,SE
-3642555760,3642555767,UA
-3642555768,3642555771,GB
+3642555760,3642555771,UA
3642555772,3642555775,SE
3642555776,3642555783,UA
3642555784,3642555787,GB
@@ -150382,9 +170152,7 @@
3642555792,3642555795,CZ
3642555796,3642556159,UA
3642556160,3642556415,LV
-3642556416,3642558975,CZ
-3642558976,3642559487,HR
-3642559488,3642560511,CZ
+3642556416,3642560511,CZ
3642560512,3642564607,KG
3642564608,3642568703,DE
3642568704,3642572799,RU
@@ -150397,7 +170165,6 @@
3642597376,3642601471,IT
3642601472,3642605567,RU
3642605568,3642609663,GB
-3642609664,3642613759,DZ
3642613760,3642615583,FI
3642615584,3642615615,AX
3642615616,3642617855,FI
@@ -150417,7 +170184,9 @@
3642675200,3642679295,BG
3642679296,3642683391,DE
3642683392,3642687487,RU
-3642687488,3642691583,GB
+3642687488,3642691071,GB
+3642691072,3642691327,LU
+3642691328,3642691583,GB
3642691584,3642695679,DE
3642695680,3642699775,SK
3642699776,3642703871,CZ
@@ -150452,9 +170221,7 @@
3644882944,3644887039,RU
3644887040,3644891135,IR
3644891136,3644895231,DE
-3644895232,3644899047,FI
-3644899048,3644899055,AX
-3644899056,3644899327,FI
+3644895232,3644899327,FI
3644899328,3644903423,IT
3644903424,3644907519,TR
3644907520,3644908983,GB
@@ -150533,19 +170300,11 @@
3645145088,3645149183,GB
3645149184,3645149487,DE
3645149488,3645149495,GB
-3645149496,3645149887,DE
-3645149888,3645149951,HK
-3645149952,3645150559,DE
-3645150560,3645150591,HK
-3645150592,3645150615,DE
+3645149496,3645150615,DE
3645150616,3645150639,US
3645150640,3645150975,DE
3645150976,3645151231,US
-3645151232,3645151487,DE
-3645151488,3645151615,MT
-3645151616,3645152767,DE
-3645152768,3645152799,HK
-3645152800,3645161471,DE
+3645151232,3645161471,DE
3645161472,3645165567,AT
3645165568,3645169663,TR
3645169664,3645173759,CH
@@ -150616,11 +170375,11 @@
3645337088,3645337599,DE
3645337600,3645337631,FR
3645337632,3645337663,BE
-3645337664,3645339295,FR
+3645337664,3645338111,FR
+3645338112,3645338367,EU
+3645338368,3645339295,FR
3645339296,3645339359,BE
-3645339360,3645339391,FR
-3645339392,3645339647,NL
-3645339648,3645339903,FR
+3645339360,3645339903,FR
3645339904,3645339967,BE
3645339968,3645340415,FR
3645340416,3645340447,NL
@@ -150655,8 +170414,12 @@
3645435904,3645439999,GB
3645440000,3645444095,SE
3645444096,3645448191,SK
-3645448192,3645455487,DE
-3645455488,3645456383,RU
+3645448192,3645454335,DE
+3645454336,3645455359,RU
+3645455360,3645455487,DE
+3645455488,3645455503,RU
+3645455504,3645455615,DE
+3645455616,3645456383,RU
3645456384,3645460479,GB
3645460480,3645464575,UA
3645464576,3645468671,SE
@@ -150684,11 +170447,9 @@
3645521920,3645526015,PL
3645526016,3645530111,SE
3645530112,3645534207,FR
-3645534208,3645544959,RU
-3645544960,3645544991,KZ
-3645544992,3645545087,RU
-3645545088,3645545215,TJ
-3645545216,3645550591,RU
+3645534208,3645538303,RU
+3645538304,3645546495,DK
+3645546496,3645550591,RU
3645550592,3645558783,DE
3645558784,3645562879,DK
3645562880,3645563135,ZW
@@ -150708,7 +170469,9 @@
3645594712,3645594719,SR
3645594720,3645594743,SK
3645594744,3645594751,SR
-3645594752,3645594863,SK
+3645594752,3645594799,SK
+3645594800,3645594815,SR
+3645594816,3645594863,SK
3645594864,3645594871,SR
3645594872,3645595647,SK
3645595648,3645597751,SE
@@ -150720,7 +170483,8 @@
3645601508,3645601759,SE
3645601760,3645601775,FR
3645601776,3645601779,GB
-3645601780,3645601799,SE
+3645601780,3645601783,US
+3645601784,3645601799,SE
3645601800,3645601803,GB
3645601804,3645603839,SE
3645603840,3645612031,BG
@@ -150832,9 +170596,7 @@
3645763671,3645763671,FR
3645763672,3645763672,DE
3645763673,3645763673,BE
-3645763674,3645763674,DE
-3645763675,3645763675,NL
-3645763676,3645763676,DE
+3645763674,3645763676,DE
3645763677,3645763678,HU
3645763679,3645763679,IT
3645763680,3645763680,DE
@@ -151026,7 +170788,7 @@
3645763935,3645763935,FR
3645763936,3645763936,DE
3645763937,3645763937,FR
-3645763938,3645763938,ES
+3645763938,3645763938,DE
3645763939,3645763939,NL
3645763940,3645763941,DE
3645763942,3645763942,CH
@@ -151144,9 +170906,7 @@
3645764087,3645764087,CH
3645764088,3645764091,DE
3645764092,3645764092,FR
-3645764093,3645764093,DE
-3645764094,3645764094,IT
-3645764095,3645764097,DE
+3645764093,3645764097,DE
3645764098,3645764098,IT
3645764099,3645764099,DE
3645764100,3645764100,BE
@@ -151256,7 +171016,8 @@
3645764220,3645764220,NL
3645764221,3645764221,IT
3645764222,3645764222,BE
-3645764223,3645764224,ES
+3645764223,3645764223,DE
+3645764224,3645764224,ES
3645764225,3645764226,GB
3645764227,3645764227,CH
3645764228,3645764228,FR
@@ -151477,8 +171238,8 @@
3645764516,3645764516,NL
3645764517,3645764518,DE
3645764519,3645764522,NL
-3645764523,3645764523,DE
-3645764524,3645764531,NL
+3645764523,3645764524,DE
+3645764525,3645764531,NL
3645764532,3645764533,DE
3645764534,3645764535,NL
3645764536,3645764536,IT
@@ -151518,7 +171279,8 @@
3645765196,3645765199,CH
3645765200,3645765207,GB
3645765208,3645765211,FR
-3645765212,3645765219,ES
+3645765212,3645765215,DE
+3645765216,3645765219,ES
3645765220,3645765223,PL
3645765224,3645765227,BE
3645765228,3645765231,GB
@@ -151651,7 +171413,6 @@
3645767680,3645771775,IE
3645771776,3645779967,SE
3645779968,3645784063,PS
-3645784064,3645788159,NG
3645788160,3645792255,GB
3645792256,3645796351,TR
3645796352,3645800447,CH
@@ -151684,14 +171445,14 @@
3645888144,3645888159,DE
3645888160,3645888191,AT
3645888192,3645888223,SG
-3645888224,3645889791,DE
+3645888224,3645888959,DE
+3645888960,3645888991,EU
+3645888992,3645889791,DE
3645889792,3645889919,US
3645889920,3645890559,DE
3645890560,3645894655,RU
3645894656,3645898751,NL
-3645898752,3646501711,DE
-3646501712,3646501719,US
-3646501720,3646513103,DE
+3645898752,3646513103,DE
3646513104,3646513111,CA
3646513112,3646947327,DE
3646947328,3647209471,PL
@@ -151706,17 +171467,17 @@
3647733760,3647814855,FR
3647814856,3647814863,A2
3647814864,3647864831,FR
-3647864832,3647886111,DE
-3647886112,3647886119,GB
-3647886120,3647886175,DE
+3647864832,3647876639,DE
+3647876640,3647876647,BE
+3647876648,3647878487,DE
+3647878488,3647878495,BE
+3647878496,3647886175,DE
3647886176,3647886183,GB
3647886184,3647886187,DE
3647886188,3647886207,GB
-3647886208,3647886271,DE
-3647886272,3647886303,GB
-3647886304,3647888143,DE
-3647888144,3647888151,IT
-3647888152,3647889663,DE
+3647886208,3647886283,DE
+3647886284,3647886303,GB
+3647886304,3647889663,DE
3647889664,3647889671,BE
3647889672,3647890463,DE
3647890464,3647890471,FR
@@ -151730,7 +171491,9 @@
3647922960,3647922975,GB
3647922976,3647936871,DE
3647936872,3647936879,FR
-3647936880,3647954231,DE
+3647936880,3647953055,DE
+3647953056,3647953063,FR
+3647953064,3647954231,DE
3647954232,3647954239,GB
3647954240,3647954783,DE
3647954784,3647954815,CH
@@ -151775,7 +171538,9 @@
3647965432,3647965439,DE
3647965440,3647965695,ES
3647965696,3647966207,CH
-3647966208,3647966575,GB
+3647966208,3647966519,GB
+3647966520,3647966527,DE
+3647966528,3647966575,GB
3647966576,3647966583,DE
3647966584,3647967231,GB
3647967232,3647968255,BE
@@ -151785,7 +171550,9 @@
3647970304,3647971327,FR
3647971328,3647971671,GB
3647971672,3647971679,DE
-3647971680,3647972191,GB
+3647971680,3647972143,GB
+3647972144,3647972151,DE
+3647972152,3647972191,GB
3647972192,3647972199,DE
3647972200,3647972259,GB
3647972260,3647972263,DE
@@ -151798,13 +171565,18 @@
3647973736,3647973743,DE
3647973744,3647973783,IT
3647973784,3647973791,DE
-3647973792,3647973967,IT
+3647973792,3647973919,IT
+3647973920,3647973927,DE
+3647973928,3647973967,IT
3647973968,3647973975,DE
-3647973976,3647974047,IT
+3647973976,3647973983,IT
+3647973984,3647973991,DE
+3647973992,3647974047,IT
3647974048,3647974055,DE
3647974056,3647974399,IT
3647974400,3647976447,ES
-3647976448,3647976463,DE
+3647976448,3647976455,BE
+3647976456,3647976463,DE
3647976464,3647976559,BE
3647976560,3647976575,FR
3647976576,3647976647,BE
@@ -151817,7 +171589,9 @@
3647976768,3647976783,DE
3647976784,3647976791,BE
3647976792,3647976799,DE
-3647976800,3647976927,BE
+3647976800,3647976831,BE
+3647976832,3647976847,DE
+3647976848,3647976927,BE
3647976928,3647976935,DE
3647976936,3647977119,BE
3647977120,3647977135,DE
@@ -151836,13 +171610,15 @@
3647978912,3647979007,NL
3647979008,3647979136,IT
3647979137,3647979519,DE
-3647979520,3647980215,FR
+3647979520,3647980063,FR
+3647980064,3647980071,DE
+3647980072,3647980103,FR
+3647980104,3647980111,DE
+3647980112,3647980215,FR
3647980216,3647980223,DE
3647980224,3647980239,FR
3647980240,3647980247,DE
-3647980248,3647980255,FR
-3647980256,3647980271,DE
-3647980272,3647980471,FR
+3647980248,3647980471,FR
3647980472,3647980479,DE
3647980480,3647980495,FR
3647980496,3647980503,DE
@@ -151871,16 +171647,25 @@
3647987184,3647987191,DE
3647987192,3647987199,ES
3647987200,3647987455,DE
-3647987456,3647987527,ES
+3647987456,3647987487,ES
+3647987488,3647987495,DE
+3647987496,3647987527,ES
3647987528,3647987535,GB
3647987536,3647987543,DE
3647987544,3647987711,ES
3647987712,3647988735,IT
-3647988736,3647988991,DE
-3647988992,3647989759,BE
+3647988736,3647989759,BE
3647989760,3647990271,DE
-3647990272,3647990527,ES
-3647990528,3647995903,DE
+3647990272,3647990759,ES
+3647990760,3647990767,IT
+3647990768,3647991807,ES
+3647991808,3647993855,DE
+3647993856,3647994135,BE
+3647994136,3647994143,FR
+3647994144,3647994255,BE
+3647994256,3647994263,FR
+3647994264,3647994367,BE
+3647994368,3647995903,DE
3647995904,3648004223,RU
3648004224,3648004607,GB
3648004608,3648006271,RU
@@ -151892,9 +171677,7 @@
3648020480,3648024575,IT
3648024576,3648028671,NL
3648028672,3648032767,HU
-3648032768,3648033023,IE
-3648033024,3648033039,EU
-3648033040,3648033087,IE
+3648032768,3648033087,IE
3648033088,3648033103,EU
3648033104,3648033119,IE
3648033120,3648033535,EU
@@ -151903,11 +171686,12 @@
3648034048,3648034303,IE
3648034304,3648034815,EU
3648034816,3648034847,DE
-3648034848,3648034887,EU
-3648034888,3648034895,IE
+3648034848,3648034879,EU
+3648034880,3648034895,IE
3648034896,3648034943,EU
-3648034944,3648035023,IE
-3648035024,3648035039,EU
+3648034944,3648035007,IE
+3648035008,3648035023,EU
+3648035024,3648035039,IE
3648035040,3648035071,NL
3648035072,3648036863,EU
3648036864,3648040959,CZ
@@ -151930,8 +171714,7 @@
3648078496,3648078527,BE
3648078528,3648078591,BF
3648078592,3648078847,CG
-3648078848,3648079103,BE
-3648079104,3648080383,UG
+3648078848,3648080383,BE
3648080384,3648080511,TZ
3648080512,3648080543,BF
3648080544,3648080639,TZ
@@ -151952,7 +171735,7 @@
3648082432,3648082479,ZM
3648082480,3648084991,BE
3648084992,3648085759,GB
-3648085760,3648086015,LR
+3648085760,3648086015,ZM
3648086016,3648090111,AT
3648090112,3648094207,RU
3648094208,3648102399,PL
@@ -151989,7 +171772,8 @@
3648180768,3648180799,AT
3648180800,3648180991,DE
3648180992,3648181007,CY
-3648181008,3648181023,DE
+3648181008,3648181015,DK
+3648181016,3648181023,DE
3648181024,3648181055,AT
3648181056,3648181063,DE
3648181064,3648181071,DK
@@ -152023,14 +171807,15 @@
3648182624,3648182655,CH
3648182656,3648182783,DE
3648182784,3648182799,IT
-3648182800,3648182815,AT
+3648182800,3648182815,DE
3648182816,3648182823,US
3648182824,3648182831,RU
3648182832,3648182847,DE
3648182848,3648182879,AT
3648182880,3648183551,DE
3648183552,3648183679,BR
-3648183680,3648183871,DE
+3648183680,3648183807,DK
+3648183808,3648183871,DE
3648183872,3648183935,GB
3648183936,3648184319,DE
3648184320,3648192511,RU
@@ -152150,14 +171935,8 @@
3648450560,3648454655,IT
3648454656,3648458751,NL
3648458752,3648462847,RU
-3648462848,3648465255,FI
-3648465256,3648465271,AX
-3648465272,3648465823,FI
-3648465824,3648465855,AX
-3648465856,3648466943,FI
-3648466944,3648469263,DE
-3648469264,3648469271,NL
-3648469272,3648469295,DE
+3648462848,3648466943,FI
+3648466944,3648469295,DE
3648469296,3648469311,AT
3648469312,3648471039,DE
3648471040,3648475135,PL
@@ -152178,11 +171957,7 @@
3649175552,3649241087,ES
3649241088,3649306623,TR
3649306624,3649372159,IL
-3649372160,3649415439,IT
-3649415440,3649415455,A2
-3649415456,3649417279,IT
-3649417280,3649417287,A2
-3649417288,3649437695,IT
+3649372160,3649437695,IT
3649437696,3649512191,GB
3649512192,3649512447,FR
3649512448,3649568767,GB
@@ -152203,8 +171978,15 @@
3649709824,3649765375,GB
3649765376,3649830911,EG
3649830912,3649835007,NL
-3649835008,3649839103,ES
-3649839104,3649847295,GB
+3649835008,3649838079,ES
+3649838080,3649839103,NL
+3649839104,3649840127,GB
+3649840128,3649840383,NL
+3649840384,3649843455,GB
+3649843456,3649845247,NL
+3649845248,3649845759,GB
+3649845760,3649847039,NL
+3649847040,3649847295,GB
3649847296,3649855487,DE
3649855488,3649856511,GB
3649856512,3649857023,US
@@ -152224,9 +172006,7 @@
3650113536,3650117631,GB
3650117632,3650121727,RU
3650121728,3650125823,FR
-3650125824,3650129743,DE
-3650129744,3650129751,IE
-3650129752,3650129919,DE
+3650125824,3650129919,DE
3650129920,3650134015,GB
3650134016,3650142207,RU
3650142208,3650150399,PL
@@ -152255,7 +172035,8 @@
3650232320,3650233343,RU
3650233344,3650233599,CY
3650233600,3650236415,RU
-3650236416,3650240511,GB
+3650236416,3650238463,EU
+3650238464,3650240511,GB
3650240512,3650244607,EE
3650244608,3650256895,GB
3650256896,3650265087,DE
@@ -152295,8 +172076,7 @@
3650344560,3650344575,AT
3650344576,3650344879,CH
3650344880,3650344911,PT
-3650344912,3650345879,CH
-3650345880,3650345887,IM
+3650344912,3650345887,CH
3650345888,3650345903,AT
3650345904,3650345935,CH
3650345936,3650345951,PT
@@ -152322,9 +172102,11 @@
3650351992,3650351999,HU
3650352000,3650352007,GB
3650352008,3650352015,IE
-3650352016,3650352127,GB
+3650352016,3650352075,GB
+3650352076,3650352079,CH
+3650352080,3650352127,GB
3650352128,3650352247,DE
-3650352248,3650352255,IE
+3650352248,3650352255,CH
3650352256,3650352263,GB
3650352264,3650352271,DE
3650352272,3650352279,NL
@@ -152379,7 +172161,7 @@
3650484640,3650484671,US
3650484672,3650486271,PL
3650486272,3650502655,RU
-3650502656,3650510847,SE
+3650502656,3650506751,SE
3650510848,3650519039,GB
3650519040,3650523135,HU
3650523136,3650527231,DE
@@ -152390,7 +172172,7 @@
3650543616,3650551807,CH
3650551808,3650555903,FR
3650555904,3650559999,RU
-3650560000,3650564095,GB
+3650560000,3650564095,HK
3650564096,3650568191,SE
3650568192,3650572287,RU
3650572288,3650576383,DE
@@ -152414,11 +172196,7 @@
3650610944,3650611711,DE
3650611712,3650612735,KZ
3650612736,3650617343,DE
-3650617344,3650619275,FI
-3650619276,3650619279,AX
-3650619280,3650621023,FI
-3650621024,3650621027,AX
-3650621028,3650682879,FI
+3650617344,3650682879,FI
3650682880,3650748415,PL
3650748416,3650789375,GB
3650789376,3650790143,NL
@@ -152428,13 +172206,25 @@
3650879488,3650912255,RO
3650912256,3650912639,GB
3650912640,3650912671,FR
-3650912672,3650923103,GB
+3650912672,3650913791,GB
+3650913792,3650914047,EU
+3650914048,3650923103,GB
3650923104,3650923135,FR
3650923136,3650926591,GB
3650926592,3650929663,ES
3650929664,3650931967,GB
3650931968,3650932223,ES
-3650932224,3650945023,GB
+3650932224,3650935839,GB
+3650935840,3650935855,FR
+3650935856,3650935871,GB
+3650935872,3650935903,FR
+3650935904,3650935967,GB
+3650935968,3650935983,FR
+3650935984,3650935999,GB
+3650936000,3650936063,NL
+3650936064,3650939935,GB
+3650939936,3650939967,FR
+3650939968,3650945023,GB
3650945024,3651010559,DK
3651010560,3651076095,GB
3651076096,3651077375,DE
@@ -152506,34 +172296,7 @@
3651108480,3651108543,ES
3651108544,3651108863,DE
3651108864,3651141631,EE
-3651141632,3651173375,DE
-3651173376,3651173631,ES
-3651173632,3651198975,DE
-3651198976,3651199231,GB
-3651199232,3651199487,ES
-3651199488,3651199743,GB
-3651199744,3651200255,ES
-3651200256,3651201023,PL
-3651201024,3651201279,ES
-3651201280,3651201535,PL
-3651201536,3651201791,ES
-3651201792,3651201919,FR
-3651201920,3651202047,ES
-3651202048,3651202175,FR
-3651202176,3651202303,GB
-3651202304,3651202815,ES
-3651202816,3651203583,GB
-3651203584,3651203839,FR
-3651203840,3651204095,DE
-3651204096,3651204223,ES
-3651204224,3651204351,DE
-3651204352,3651204607,PL
-3651204608,3651205119,ES
-3651205120,3651205375,GB
-3651205376,3651205887,ES
-3651205888,3651206143,DE
-3651206144,3651206399,PL
-3651206400,3651207167,DE
+3651141632,3651207167,DE
3651207168,3651207199,GB
3651207200,3651207223,EU
3651207224,3651207295,GB
@@ -152581,9 +172344,7 @@
3651232448,3651232511,GB
3651232512,3651233791,EU
3651233792,3651233855,GB
-3651233856,3651236031,EU
-3651236032,3651236063,GB
-3651236064,3651236863,EU
+3651233856,3651236863,EU
3651236864,3651237631,SC
3651237632,3651237887,EU
3651237888,3651238399,SC
@@ -152625,9 +172386,7 @@
3651747840,3651751935,FI
3651751936,3651756031,RU
3651756032,3651764223,IT
-3651764224,3651764679,CH
-3651764680,3651764687,FR
-3651764688,3651772415,CH
+3651764224,3651772415,CH
3651772416,3651776511,GB
3651776512,3651780607,CZ
3651780608,3651784703,TR
@@ -152650,7 +172409,6 @@
3651866624,3651870719,FR
3651870720,3651874815,IT
3651874816,3651878911,PL
-3651878912,3651883007,RU
3651883008,3651885871,CD
3651885872,3651885895,BE
3651885896,3651885899,CD
@@ -152684,7 +172442,9 @@
3651895296,3651899391,GB
3651899392,3651903487,RU
3651903488,3651907583,IT
-3651907584,3651908991,IQ
+3651907584,3651908095,IQ
+3651908096,3651908863,DE
+3651908864,3651908991,IQ
3651908992,3651909311,DE
3651909312,3651909375,IQ
3651909376,3651909631,DE
@@ -152915,153 +172675,155 @@
3653386240,3653390335,DE
3653390336,3653394431,FR
3653394432,3653402623,NL
-3653402624,3653403135,A2
+3653402624,3653403135,GB
3653403136,3653403647,CD
3653403648,3653403903,ZW
-3653403904,3653403911,A2
+3653403904,3653403911,GB
3653403912,3653403919,IQ
-3653403920,3653403927,A2
+3653403920,3653403927,GB
3653403928,3653403931,UA
-3653403932,3653403943,A2
+3653403932,3653403943,GB
3653403944,3653403951,LB
3653403952,3653403959,IQ
3653403960,3653403967,MW
3653403968,3653403975,NG
-3653403976,3653403983,A2
+3653403976,3653403983,GB
3653403984,3653403999,UA
3653404000,3653404008,LB
3653404009,3653404015,ZM
-3653404016,3653404039,A2
+3653404016,3653404039,GB
3653404040,3653404047,IQ
-3653404048,3653404063,A2
+3653404048,3653404063,GB
3653404064,3653404071,LB
3653404072,3653404079,AO
3653404080,3653404087,UA
-3653404088,3653404127,A2
+3653404088,3653404127,GB
3653404128,3653404135,RS
-3653404136,3653404159,A2
+3653404136,3653404159,GB
3653404160,3653404415,AT
-3653404416,3653404543,A2
+3653404416,3653404543,GB
3653404544,3653404559,NG
-3653404560,3653404639,A2
+3653404560,3653404639,GB
3653404640,3653404655,UA
-3653404656,3653404671,A2
+3653404656,3653404671,GB
3653404672,3653404679,TR
-3653404680,3653404707,A2
+3653404680,3653404707,GB
3653404708,3653404713,IQ
-3653404714,3653404719,A2
+3653404714,3653404719,GB
3653404720,3653404735,LB
-3653404736,3653404823,A2
+3653404736,3653404823,GB
3653404824,3653404831,LB
3653404832,3653404847,NG
-3653404848,3653404855,A2
+3653404848,3653404855,GB
3653404856,3653404863,SL
-3653404864,3653404903,A2
+3653404864,3653404903,GB
3653404904,3653404911,IQ
3653404912,3653404919,LY
-3653404920,3653404959,A2
+3653404920,3653404959,GB
3653404960,3653404975,UA
-3653404976,3653405039,A2
+3653404976,3653405039,GB
3653405040,3653405047,LB
3653405048,3653405055,IQ
-3653405056,3653405063,A2
+3653405056,3653405063,GB
3653405064,3653405071,IQ
-3653405072,3653405095,A2
+3653405072,3653405095,GB
3653405096,3653405103,NG
-3653405104,3653405135,A2
+3653405104,3653405135,GB
3653405136,3653405143,CD
-3653405144,3653405167,A2
+3653405144,3653405167,GB
3653405168,3653405183,UA
3653405184,3653405439,AT
-3653405440,3653407015,A2
+3653405440,3653407015,GB
3653407016,3653407023,UG
-3653407024,3653407031,A2
+3653407024,3653407031,GB
3653407032,3653407039,ZW
3653407040,3653407071,NG
-3653407072,3653407103,A2
+3653407072,3653407103,GB
3653407104,3653407111,UG
3653407112,3653407119,ZM
-3653407120,3653407167,A2
+3653407120,3653407135,GB
+3653407136,3653407151,MZ
+3653407152,3653407167,GB
3653407168,3653407231,NG
-3653407232,3653407391,A2
+3653407232,3653407391,GB
3653407392,3653407399,NG
-3653407400,3653407615,A2
+3653407400,3653407615,GB
3653407616,3653407639,NG
3653407640,3653407647,ZM
-3653407648,3653407679,A2
+3653407648,3653407679,GB
3653407680,3653407695,UG
3653407696,3653407703,CD
3653407704,3653407711,NG
-3653407712,3653407743,A2
+3653407712,3653407743,GB
3653407744,3653407999,AT
-3653408000,3653408023,A2
+3653408000,3653408023,GB
3653408024,3653408031,UG
-3653408032,3653408063,A2
+3653408032,3653408063,GB
3653408064,3653408071,ZM
3653408072,3653408079,NG
-3653408080,3653408119,A2
+3653408080,3653408119,GB
3653408120,3653408127,NG
-3653408128,3653408143,A2
+3653408128,3653408143,GB
3653408144,3653408151,NG
-3653408152,3653408175,A2
+3653408152,3653408175,GB
3653408176,3653408183,US
3653408184,3653408191,MW
-3653408192,3653408199,A2
+3653408192,3653408199,GB
3653408200,3653408207,NG
-3653408208,3653408231,A2
+3653408208,3653408231,GB
3653408232,3653408239,KE
3653408240,3653408247,BF
-3653408248,3653408271,A2
+3653408248,3653408271,GB
3653408272,3653408279,IQ
-3653408280,3653408319,A2
+3653408280,3653408319,GB
3653408320,3653408327,IQ
-3653408328,3653408767,A2
+3653408328,3653408767,GB
3653408768,3653409023,CD
-3653409024,3653409039,A2
+3653409024,3653409039,GB
3653409040,3653409047,NG
-3653409048,3653409063,A2
+3653409048,3653409063,GB
3653409064,3653409071,CD
-3653409072,3653409087,A2
+3653409072,3653409087,GB
3653409088,3653409095,CD
-3653409096,3653409127,A2
+3653409096,3653409127,GB
3653409128,3653409135,CD
-3653409136,3653409223,A2
+3653409136,3653409223,GB
3653409224,3653409231,NG
-3653409232,3653409279,A2
+3653409232,3653409279,GB
3653409280,3653409311,TZ
3653409312,3653409319,IQ
3653409320,3653409535,TZ
3653409536,3653409559,UA
3653409560,3653409567,CM
3653409568,3653409575,UA
-3653409576,3653409615,A2
+3653409576,3653409615,GB
3653409616,3653409623,IQ
3653409624,3653409639,NG
-3653409640,3653409647,A2
+3653409640,3653409647,GB
3653409648,3653409663,NG
3653409664,3653409791,CM
-3653409792,3653409919,A2
+3653409792,3653409919,GB
3653409920,3653410047,NG
3653410048,3653410063,YT
3653410064,3653410079,UG
-3653410080,3653410087,A2
+3653410080,3653410087,GB
3653410088,3653410095,IQ
3653410096,3653410111,ZW
-3653410112,3653410119,A2
+3653410112,3653410119,GB
3653410120,3653410127,NG
-3653410128,3653410151,A2
+3653410128,3653410151,GB
3653410152,3653410159,KE
3653410160,3653410175,NG
3653410176,3653410183,US
3653410184,3653410191,MZ
3653410192,3653410199,ZW
-3653410200,3653410247,A2
+3653410200,3653410247,GB
3653410248,3653410255,ZM
-3653410256,3653410263,A2
+3653410256,3653410263,GB
3653410264,3653410271,NG
-3653410272,3653410279,A2
+3653410272,3653410279,GB
3653410280,3653410287,IQ
-3653410288,3653410295,A2
+3653410288,3653410295,GB
3653410296,3653410303,MW
3653410304,3653410815,GB
3653410816,3653414911,CZ
@@ -153090,11 +172852,7 @@
3653472592,3653472767,AF
3653472768,3653472775,NL
3653472776,3653472791,AF
-3653472792,3653472799,NL
-3653472800,3653472807,AF
-3653472808,3653472815,NL
-3653472816,3653472823,AF
-3653472824,3653472831,NL
+3653472792,3653472831,NL
3653472832,3653472871,AF
3653472872,3653472879,NL
3653472880,3653472915,AF
@@ -153147,7 +172905,6 @@
3653539040,3653541887,AT
3653541888,3653545983,UA
3653545984,3653550079,CH
-3653550080,3653554175,GB
3653554176,3653558271,CZ
3653558272,3653559671,GB
3653559672,3653559679,US
@@ -153179,12 +172936,11 @@
3653664768,3653664895,DE
3653664896,3653664911,FR
3653664912,3653665023,NL
-3653665024,3653665071,DE
-3653665072,3653665151,NL
+3653665024,3653665087,DE
+3653665088,3653665151,NL
3653665152,3653665279,DE
-3653665280,3653666815,NL
-3653666816,3653667327,DE
-3653667328,3653668863,NL
+3653665280,3653665791,NL
+3653665792,3653668863,DE
3653668864,3653672959,SE
3653672960,3653681151,RU
3653681152,3653685247,ES
@@ -153260,11 +173016,7 @@
3654811648,3654942719,ES
3654942720,3655073791,IR
3655073792,3655335935,IT
-3655335936,3656229703,DE
-3656229704,3656229711,ES
-3656229712,3656233999,DE
-3656234000,3656234007,NL
-3656234008,3656633487,DE
+3655335936,3656633487,DE
3656633488,3656633495,GB
3656633496,3656633503,US
3656633504,3656650583,DE
@@ -153303,8 +173055,8 @@
3663992064,3663992319,NZ
3663992320,3663992575,MY
3663992576,3663993599,NZ
-3663993600,3663996159,ID
-3663996160,3663996415,BD
+3663993600,3663995903,ID
+3663995904,3663996415,AU
3663996416,3663996671,TH
3663996672,3663997183,AU
3663997184,3663997439,ID
@@ -153328,7 +173080,6 @@
3664003328,3664003583,NZ
3664003584,3664003839,TH
3664003840,3664004095,JP
-3664004096,3664004351,NZ
3664004352,3664004607,MY
3664004608,3664004863,SG
3664004864,3664005119,KH
@@ -153360,12 +173111,10 @@
3669606400,3669614591,CN
3669614592,3669616639,NZ
3669616640,3669618687,AU
-3669618688,3669620735,BD
+3669618688,3669620735,CN
3669622784,3669688319,SG
3669688320,3669753855,TW
-3669753856,3669822719,HK
-3669822720,3669822735,US
-3669822736,3670015999,HK
+3669753856,3670015999,HK
3670016000,3671064575,CN
3671064576,3671130111,MY
3671130112,3671195647,KR
@@ -153394,11 +173143,11 @@
3679453184,3679584255,TW
3679584256,3679649791,CN
3679649792,3679682559,ID
-3679682560,3679715327,IN
+3679682560,3679715327,CN
3679715328,3679977471,TW
3679977472,3680108543,NZ
3680108544,3680124927,TW
-3680124928,3680133119,PH
+3680129024,3680133119,PH
3680133120,3680137215,IN
3680137216,3680141311,HK
3680141312,3680174079,AU
@@ -153461,7 +173210,9 @@
3706978304,3707109375,AU
3707109376,3707174911,HK
3707174912,3707207679,JP
-3707207680,3707215871,TW
+3707208704,3707209727,WS
+3707209728,3707211775,CN
+3707211776,3707215871,AU
3707215872,3707217919,BD
3707217920,3707219967,ID
3707219968,3707222015,AU
@@ -153494,8 +173245,7 @@
3715891200,3716153343,HK
3716153344,3716169727,SG
3716169728,3716186111,TH
-3716186112,3716218879,IN
-3716218880,3716415487,CN
+3716186112,3716415487,CN
3716415488,3716431871,VN
3716431872,3716440063,KR
3716440064,3716444159,JP
@@ -153507,22 +173257,7 @@
3716493312,3716497407,KR
3716497408,3716513791,JP
3716513792,3716530175,KR
-3716530176,3716536372,AU
-3716536373,3716536373,AS
-3716536374,3716537111,AU
-3716537112,3716537119,AS
-3716537120,3716537151,AU
-3716537152,3716537183,AS
-3716537184,3716537199,AU
-3716537200,3716537215,AS
-3716537216,3716537279,AU
-3716537280,3716537343,AS
-3716537344,3716537407,AU
-3716537408,3716537471,AS
-3716537472,3716537535,AU
-3716537536,3716537567,HK
-3716537568,3716537599,JP
-3716537600,3716538367,AU
+3716530176,3716538367,AU
3716538368,3716546559,CN
3716546560,3716677631,IN
3716677632,3716808703,CN
@@ -153556,7 +173291,7 @@
3735552000,3739222015,CN
3739222016,3739570175,JP
3739570176,3739572223,ID
-3739572224,3739574271,TH
+3739572224,3739574271,AU
3739574272,3739680767,JP
3739680768,3739697151,KR
3739697152,3739746303,JP
@@ -153617,15 +173352,12 @@
3743281152,3743282175,AU
3743282176,3743283199,JP
3743283200,3743284223,HK
-3743284224,3743285247,PK
3743285248,3743416319,IN
3743416320,3745513471,KR
3745513472,3749838847,CN
3749838848,3749839871,SG
3749839872,3749840895,IN
-3749841920,3749842943,AU
-3749843968,3749846015,AU
-3749846016,3749847039,IN
+3749841920,3749847039,AU
3749847040,3749855231,HK
3749855232,3749969919,KR
3749969920,3750232063,JP
diff --git a/src/config/torrc.sample.in b/src/config/torrc.sample.in
index f0c78ce5a..1ea5d9ff4 100644
--- a/src/config/torrc.sample.in
+++ b/src/config/torrc.sample.in
@@ -1,16 +1,16 @@
## Configuration file for a typical Tor user
-## Last updated 16 July 2009 for Tor 0.2.2.1-alpha.
-## (May or may not work for much older or much newer versions of Tor.)
+## Last updated 8 February 2012 for Tor 0.2.3.12-alpha.
+## (may or may not work for much older or much newer versions of Tor.)
##
## Lines that begin with "## " try to explain what's going on. Lines
## that begin with just "#" are disabled commands: you can enable them
## by removing the "#" symbol.
##
-## See 'man tor', or https://www.torproject.org/tor-manual.html,
+## See 'man tor', or https://www.torproject.org/docs/tor-manual.html,
## for more options you can use in this file.
##
## Tor will look for this file in various places based on your platform:
-## https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#torrc
+## https://www.torproject.org/docs/faq#torrc
## Replace this with "SocksPort 0" if you plan to run Tor only as a
@@ -21,7 +21,9 @@ SocksListenAddress 127.0.0.1 # accept connections only from localhost
## Entry policies to allow/deny SOCKS requests based on IP address.
## First entry that matches wins. If no SocksPolicy is set, we accept
-## all (and only) requests from SocksListenAddress.
+## all (and only) requests from SocksListenAddress. Untrusted users who
+## can access your SocksPort may be able to learn about the connections
+## you make.
#SocksPolicy accept 192.168.0.0/16
#SocksPolicy reject *
@@ -86,13 +88,17 @@ SocksListenAddress 127.0.0.1 # accept connections only from localhost
## yourself to make this work.
#ORListenAddress 0.0.0.0:9090
+## The IP address or full DNS name for incoming connections to your
+## relay. Leave commented out and Tor will guess.
+#Address noname.example.com
+
+## If you have multiple network interfaces, you can specify one for
+## outgoing traffic to use.
+# OutboundBindAddress 10.0.0.5
+
## A handle for your relay, so people don't have to refer to it by key.
#Nickname ididnteditheconfig
-## The IP address or full DNS name for your relay. Leave commented out
-## and Tor will guess.
-#Address noname.example.com
-
## Define these to limit how much relayed traffic you will allow. Your
## own traffic is still unthrottled. Note that RelayBandwidthRate must
## be at least 20 KB.
@@ -100,9 +106,9 @@ SocksListenAddress 127.0.0.1 # accept connections only from localhost
#RelayBandwidthBurst 200 KB # But allow bursts up to 200KB/s (1600Kbps)
## Use these to restrict the maximum traffic per day, week, or month.
-## Note that this threshold applies to sent _and_ to received bytes,
-## not to their sum: Setting "4 GB" may allow up to 8 GB
-## total before hibernating.
+## Note that this threshold applies separately to sent and received bytes,
+## not to their sum: setting "4 GB" may allow up to 8 GB total before
+## hibernating.
##
## Set a maximum of 4 gigabytes each way per period.
#AccountingMax 4 GB
@@ -117,7 +123,7 @@ SocksListenAddress 127.0.0.1 # accept connections only from localhost
## indexes this, so spammers might also collect it.
#ContactInfo Random Person <nobody AT example dot com>
## You might also include your PGP or GPG fingerprint if you have one:
-#ContactInfo 1234D/FFFFFFFF Random Person <nobody AT example dot com>
+#ContactInfo 0xFFFFFFFF Random Person <nobody AT example dot com>
## Uncomment this to mirror directory information for others. Please do
## if you have enough bandwidth.
@@ -137,7 +143,7 @@ SocksListenAddress 127.0.0.1 # accept connections only from localhost
## key fingerprint of each Tor relay you control, even if they're on
## different networks. You declare it here so Tor clients can avoid
## using more than one of your relays in a single circuit. See
-## https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ#MultipleServers
+## https://www.torproject.org/docs/faq#MultipleRelays
#MyFamily $keyid,$keyid,...
## A comma-separated list of exit policies. They're considered first
@@ -155,16 +161,24 @@ SocksListenAddress 127.0.0.1 # accept connections only from localhost
## you should update your exit policy to reflect this -- otherwise Tor
## users will be told that those destinations are down.
##
+## For security, by default Tor rejects connections to private (local)
+## networks, including to your public IP address. See the man page entry
+## for ExitPolicyRejectPrivate if you want to allow "exit enclaving".
+##
#ExitPolicy accept *:6660-6667,reject *:* # allow irc ports but no more
#ExitPolicy accept *:119 # accept nntp as well as default exit policy
#ExitPolicy reject *:* # no exits allowed
-#
+
## Bridge relays (or "bridges") are Tor relays that aren't listed in the
-## main directory. Since there is no complete public list of them, even if an
-## ISP is filtering connections to all the known Tor relays, they probably
+## main directory. Since there is no complete public list of them, even an
+## ISP that filters connections to all the known Tor relays probably
## won't be able to block all the bridges. Also, websites won't treat you
## differently because they won't know you're running Tor. If you can
## be a real relay, please do; but if not, be a bridge!
#BridgeRelay 1
-#ExitPolicy reject *:*
+## By default, Tor will advertise your bridge to users through various
+## mechanisms like https://bridges.torproject.org/. If you want to run
+## a private bridge, for example because you'll give out your bridge
+## address manually to your friends, uncomment this line:
+#PublishServerDescriptor 0
diff --git a/src/or/Makefile.am b/src/or/Makefile.am
index 67adf504d..3cc789a1b 100644
--- a/src/or/Makefile.am
+++ b/src/or/Makefile.am
@@ -74,7 +74,7 @@ AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \
tor_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ @TOR_LDFLAGS_libevent@
tor_LDADD = ./libtor.a ../common/libor.a ../common/libor-crypto.a \
../common/libor-event.a \
- @TOR_ZLIB_LIBS@ -lm @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
+ @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
@TOR_LIB_WS32@ @TOR_LIB_GDI@
noinst_HEADERS = \
@@ -126,8 +126,9 @@ tor_main.o: micro-revision.i
micro-revision.i: FORCE
@rm -f micro-revision.tmp; \
- if test -d ../../.git && test -x "`which git 2>&1;true`"; then \
- HASH="`git rev-parse --short=16 HEAD`"; \
+ if test -d "$(top_srcdir)/.git" && \
+ test -x "`which git 2>&1;true`"; then \
+ HASH="`cd "$(top_srcdir)" && git rev-parse --short=16 HEAD`"; \
echo \"$$HASH\" > micro-revision.tmp; \
fi; \
if test ! -f micro-revision.tmp ; then \
@@ -141,11 +142,11 @@ micro-revision.i: FORCE
or_sha1.i: $(tor_SOURCES) $(libtor_a_SOURCES)
if test "@SHA1SUM@" != none; then \
- @SHA1SUM@ $(tor_SOURCES) $(libtor_a_SOURCES) | \
- @SED@ -n 's/^\(.*\)$$/"\1\\n"/p' > or_sha1.i; \
+ (cd "$(srcdir)" && "@SHA1SUM@" $(tor_SOURCES) $(libtor_a_SOURCES)) | \
+ "@SED@" -n 's/^\(.*\)$$/"\1\\n"/p' > or_sha1.i; \
elif test "@OPENSSL@" != none; then \
- @OPENSSL@ sha1 $(tor_SOURCES) $(libtor_a_SOURCES) | \
- @SED@ -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > or_sha1.i; \
+ (cd "$(srcdir)" && "@OPENSSL@" sha1 $(tor_SOURCES) $(libtor_a_SOURCES)) | \
+ "@SED@" -n 's/SHA1(\(.*\))= \(.*\)/"\2 \1\\n"/p' > or_sha1.i; \
else \
rm or_sha1.i; \
touch or_sha1.i; \
diff --git a/src/or/buffers.c b/src/or/buffers.c
index f4aac0f0e..d4fc44ba9 100644
--- a/src/or/buffers.c
+++ b/src/or/buffers.c
@@ -401,9 +401,10 @@ buf_pullup(buf_t *buf, size_t bytes, int nulterminate)
if (buf->head->memlen >= capacity) {
/* We don't need to grow the first chunk, but we might need to repack it.*/
- if (CHUNK_REMAINING_CAPACITY(buf->head) < capacity-buf->datalen)
+ size_t needed = capacity - buf->head->datalen;
+ if (CHUNK_REMAINING_CAPACITY(buf->head) < needed)
chunk_repack(buf->head);
- tor_assert(CHUNK_REMAINING_CAPACITY(buf->head) >= capacity-buf->datalen);
+ tor_assert(CHUNK_REMAINING_CAPACITY(buf->head) >= needed);
} else {
chunk_t *newhead;
size_t newsize;
@@ -632,7 +633,7 @@ read_to_chunk(buf_t *buf, chunk_t *chunk, tor_socket_t fd, size_t at_most,
if (read_result < 0) {
int e = tor_socket_errno(fd);
if (!ERRNO_IS_EAGAIN(e)) { /* it's a real error */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
if (e == WSAENOBUFS)
log_warn(LD_NET,"recv() failed: WSAENOBUFS. Not enough ram?");
#endif
@@ -689,7 +690,7 @@ read_to_buf(tor_socket_t s, size_t at_most, buf_t *buf, int *reached_eof,
check();
tor_assert(reached_eof);
- tor_assert(s >= 0);
+ tor_assert(SOCKET_OK(s));
while (at_most > total_read) {
size_t readlen = at_most - total_read;
@@ -789,7 +790,7 @@ flush_chunk(tor_socket_t s, buf_t *buf, chunk_t *chunk, size_t sz,
if (write_result < 0) {
int e = tor_socket_errno(s);
if (!ERRNO_IS_EAGAIN(e)) { /* it's a real error */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
if (e == WSAENOBUFS)
log_warn(LD_NET,"write() failed: WSAENOBUFS. Not enough ram?");
#endif
@@ -857,7 +858,7 @@ flush_buf(tor_socket_t s, buf_t *buf, size_t sz, size_t *buf_flushlen)
int r;
size_t flushed = 0;
tor_assert(buf_flushlen);
- tor_assert(s >= 0);
+ tor_assert(SOCKET_OK(s));
tor_assert(*buf_flushlen <= buf->datalen);
tor_assert(sz <= *buf_flushlen);
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index c4b697c9a..7c404e63c 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -675,8 +675,7 @@ circuit_build_times_update_state(circuit_build_times_t *cbt,
if (histogram[i] == 0) continue;
*next = line = tor_malloc_zero(sizeof(config_line_t));
line->key = tor_strdup("CircuitBuildTimeBin");
- line->value = tor_malloc(25);
- tor_snprintf(line->value, 25, "%d %d",
+ tor_asprintf(&line->value, "%d %d",
CBT_BIN_TO_MS(i), histogram[i]);
next = &(line->next);
}
@@ -794,7 +793,7 @@ circuit_build_times_parse_state(circuit_build_times_t *cbt,
loaded_times = tor_malloc_zero(sizeof(build_time_t)*state->TotalBuildTimes);
for (line = state->BuildtimeHistogram; line; line = line->next) {
- smartlist_t *args = smartlist_create();
+ smartlist_t *args = smartlist_new();
smartlist_split_string(args, line->value, " ",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
if (smartlist_len(args) < 2) {
@@ -1541,19 +1540,17 @@ circuit_list_path_impl(origin_circuit_t *circ, int verbose, int verbose_names)
const char *states[] = {"closed", "waiting for keys", "open"};
char *s;
- elements = smartlist_create();
+ elements = smartlist_new();
if (verbose) {
const char *nickname = build_state_get_exit_nickname(circ->build_state);
- char *cp;
- tor_asprintf(&cp, "%s%s circ (length %d%s%s):",
+ smartlist_add_asprintf(elements, "%s%s circ (length %d%s%s):",
circ->build_state->is_internal ? "internal" : "exit",
circ->build_state->need_uptime ? " (high-uptime)" : "",
circ->build_state->desired_path_len,
circ->_base.state == CIRCUIT_STATE_OPEN ? "" : ", last hop ",
circ->_base.state == CIRCUIT_STATE_OPEN ? "" :
(nickname?nickname:"*unnamed*"));
- smartlist_add(elements, cp);
}
hop = circ->cpath;
@@ -1594,11 +1591,8 @@ circuit_list_path_impl(origin_circuit_t *circ, int verbose, int verbose_names)
}
tor_assert(elt);
if (verbose) {
- size_t len = strlen(elt)+2+strlen(states[hop->state])+1;
- char *v = tor_malloc(len);
tor_assert(hop->state <= 2);
- tor_snprintf(v,len,"%s(%s)",elt,states[hop->state]);
- smartlist_add(elements, v);
+ smartlist_add_asprintf(elements,"%s(%s)",elt,states[hop->state]);
tor_free(elt);
} else {
smartlist_add(elements, elt);
@@ -1831,7 +1825,7 @@ circuit_n_conn_done(or_connection_t *or_conn, int status)
or_conn->nickname ? or_conn->nickname : "NULL",
or_conn->_base.address, status);
- pending_circs = smartlist_create();
+ pending_circs = smartlist_new();
circuit_get_all_pending_on_or_conn(pending_circs, or_conn);
SMARTLIST_FOREACH_BEGIN(pending_circs, circuit_t *, circ)
@@ -2326,17 +2320,17 @@ int
circuit_init_cpath_crypto(crypt_path_t *cpath, const char *key_data,
int reverse)
{
- crypto_digest_env_t *tmp_digest;
- crypto_cipher_env_t *tmp_crypto;
+ crypto_digest_t *tmp_digest;
+ crypto_cipher_t *tmp_crypto;
tor_assert(cpath);
tor_assert(key_data);
tor_assert(!(cpath->f_crypto || cpath->b_crypto ||
cpath->f_digest || cpath->b_digest));
- cpath->f_digest = crypto_new_digest_env();
+ cpath->f_digest = crypto_digest_new();
crypto_digest_add_bytes(cpath->f_digest, key_data, DIGEST_LEN);
- cpath->b_digest = crypto_new_digest_env();
+ cpath->b_digest = crypto_digest_new();
crypto_digest_add_bytes(cpath->b_digest, key_data+DIGEST_LEN, DIGEST_LEN);
if (!(cpath->f_crypto =
@@ -2524,7 +2518,8 @@ onionskin_answer(or_circuit_t *circ, uint8_t cell_type, const char *payload,
append_cell_to_circuit_queue(TO_CIRCUIT(circ),
circ->p_conn, &cell, CELL_DIRECTION_IN, 0);
- log_debug(LD_CIRC,"Finished sending 'created' cell.");
+ log_debug(LD_CIRC,"Finished sending '%s' cell.",
+ circ->is_first_hop ? "created_fast" : "created");
if (!is_local_addr(&circ->p_conn->_base.addr) &&
!connection_or_nonopen_was_started_here(circ->p_conn)) {
@@ -2798,7 +2793,7 @@ choose_good_exit_server_general(int need_uptime, int need_capacity)
/* If any routers definitely support any pending connections, choose one
* at random. */
if (best_support > 0) {
- smartlist_t *supporting = smartlist_create();
+ smartlist_t *supporting = smartlist_new();
SMARTLIST_FOREACH(the_nodes, const node_t *, node, {
if (n_supported[node_sl_idx] == best_support)
@@ -2829,7 +2824,7 @@ choose_good_exit_server_general(int need_uptime, int need_capacity)
"choosing a doomed exit at random.",
options->_ExcludeExitNodesUnion ? " or are Excluded" : "");
}
- supporting = smartlist_create();
+ supporting = smartlist_new();
needed_ports = circuit_get_unhandled_ports(time(NULL));
for (attempt = 0; attempt < 2; attempt++) {
/* try once to pick only from routers that satisfy a needed port,
@@ -3012,7 +3007,7 @@ onion_pick_cpath_exit(origin_circuit_t *circ, extend_info_t *exit)
log_warn(LD_CIRC,"failed to choose an exit server");
return -1;
}
- exit = extend_info_from_node(node);
+ exit = extend_info_from_node(node, 0);
tor_assert(exit);
}
state->chosen_exit = exit;
@@ -3131,7 +3126,7 @@ choose_good_middle_server(uint8_t purpose,
purpose <= _CIRCUIT_PURPOSE_MAX);
log_debug(LD_CIRC, "Contemplating intermediate hop: random choice.");
- excluded = smartlist_create();
+ excluded = smartlist_new();
if ((r = build_state_get_exit_node(state))) {
nodelist_add_node_and_family(excluded, r);
}
@@ -3176,7 +3171,7 @@ choose_good_entry_server(uint8_t purpose, cpath_build_state_t *state)
return choose_random_entry(state);
}
- excluded = smartlist_create();
+ excluded = smartlist_new();
if (state && (node = build_state_get_exit_node(state))) {
/* Exclude the exit node from the state, if we have one. Also exclude its
@@ -3254,14 +3249,19 @@ onion_extend_cpath(origin_circuit_t *circ)
} else if (cur_len == 0) { /* picking first node */
const node_t *r = choose_good_entry_server(purpose, state);
if (r) {
- info = extend_info_from_node(r);
+ /* If we're extending to a bridge, use the preferred address
+ rather than the primary, for potentially extending to an IPv6
+ bridge. */
+ int use_pref_addr = (r->ri != NULL &&
+ r->ri->purpose == ROUTER_PURPOSE_BRIDGE);
+ info = extend_info_from_node(r, use_pref_addr);
tor_assert(info);
}
} else {
const node_t *r =
choose_good_middle_server(purpose, state, circ->cpath, cur_len);
if (r) {
- info = extend_info_from_node(r);
+ info = extend_info_from_node(r, 0);
tor_assert(info);
}
}
@@ -3306,7 +3306,7 @@ onion_append_hop(crypt_path_t **head_ptr, extend_info_t *choice)
/** Allocate a new extend_info object based on the various arguments. */
extend_info_t *
extend_info_alloc(const char *nickname, const char *digest,
- crypto_pk_env_t *onion_key,
+ crypto_pk_t *onion_key,
const tor_addr_t *addr, uint16_t port)
{
extend_info_t *info = tor_malloc_zero(sizeof(extend_info_t));
@@ -3320,28 +3320,36 @@ extend_info_alloc(const char *nickname, const char *digest,
return info;
}
-/** Allocate and return a new extend_info_t that can be used to build a
- * circuit to or through the router <b>r</b>. */
+/** Allocate and return a new extend_info_t that can be used to build
+ * a circuit to or through the router <b>r</b>. Use the primary
+ * address of the router unless <b>for_direct_connect</b> is true, in
+ * which case the preferred address is used instead. */
extend_info_t *
-extend_info_from_router(const routerinfo_t *r)
+extend_info_from_router(const routerinfo_t *r, int for_direct_connect)
{
- tor_addr_t addr;
+ tor_addr_port_t ap;
tor_assert(r);
- tor_addr_from_ipv4h(&addr, r->addr);
+
+ if (for_direct_connect)
+ router_get_pref_orport(r, &ap);
+ else
+ router_get_prim_orport(r, &ap);
return extend_info_alloc(r->nickname, r->cache_info.identity_digest,
- r->onion_pkey, &addr, r->or_port);
+ r->onion_pkey, &ap.addr, ap.port);
}
-/** Allocate and return a new extend_info that can be used to build a ircuit
- * to or through the node <b>node</b>. May return NULL if there is not
- * enough info about <b>node</b> to extend to it--for example, if there
- * is no routerinfo_t or microdesc_t.
+/** Allocate and return a new extend_info that can be used to build a
+ * circuit to or through the node <b>node</b>. Use the primary address
+ * of the node unless <b>for_direct_connect</b> is true, in which case
+ * the preferred address is used instead. May return NULL if there is
+ * not enough info about <b>node</b> to extend to it--for example, if
+ * there is no routerinfo_t or microdesc_t.
**/
extend_info_t *
-extend_info_from_node(const node_t *node)
+extend_info_from_node(const node_t *node, int for_direct_connect)
{
if (node->ri) {
- return extend_info_from_router(node->ri);
+ return extend_info_from_router(node->ri, for_direct_connect);
} else if (node->rs && node->md) {
tor_addr_t addr;
tor_addr_from_ipv4h(&addr, node->rs->addr);
@@ -3361,7 +3369,7 @@ extend_info_free(extend_info_t *info)
{
if (!info)
return;
- crypto_free_pk_env(info->onion_key);
+ crypto_pk_free(info->onion_key);
tor_free(info);
}
@@ -3579,25 +3587,23 @@ is_an_entry_guard(const char *digest)
static void
log_entry_guards(int severity)
{
- smartlist_t *elements = smartlist_create();
+ smartlist_t *elements = smartlist_new();
char *s;
SMARTLIST_FOREACH_BEGIN(entry_guards, entry_guard_t *, e)
{
const char *msg = NULL;
- char *cp;
if (entry_is_live(e, 0, 1, 0, &msg))
- tor_asprintf(&cp, "%s [%s] (up %s)",
+ smartlist_add_asprintf(elements, "%s [%s] (up %s)",
e->nickname,
hex_str(e->identity, DIGEST_LEN),
e->made_contact ? "made-contact" : "never-contacted");
else
- tor_asprintf(&cp, "%s [%s] (%s, %s)",
+ smartlist_add_asprintf(elements, "%s [%s] (%s, %s)",
e->nickname,
hex_str(e->identity, DIGEST_LEN),
msg,
e->made_contact ? "made-contact" : "never-contacted");
- smartlist_add(elements, cp);
}
SMARTLIST_FOREACH_END(e);
@@ -3741,9 +3747,8 @@ remove_obsolete_entry_guards(time_t now)
msg = "does not seem to be from any recognized version of Tor";
version_is_bad = 1;
} else {
- size_t len = strlen(ver)+5;
- char *tor_ver = tor_malloc(len);
- tor_snprintf(tor_ver, len, "Tor %s", ver);
+ char *tor_ver = NULL;
+ tor_asprintf(&tor_ver, "Tor %s", ver);
if ((tor_version_as_new_as(tor_ver, "0.1.0.10-alpha") &&
!tor_version_as_new_as(tor_ver, "0.1.2.16-dev")) ||
(tor_version_as_new_as(tor_ver, "0.2.0.0-alpha") &&
@@ -3901,14 +3906,14 @@ entry_guard_register_connect_status(const char *digest, int succeeded,
if (! entry_guards)
return 0;
- SMARTLIST_FOREACH(entry_guards, entry_guard_t *, e,
- {
- if (tor_memeq(e->identity, digest, DIGEST_LEN)) {
- entry = e;
- idx = e_sl_idx;
- break;
- }
- });
+ SMARTLIST_FOREACH_BEGIN(entry_guards, entry_guard_t *, e) {
+ tor_assert(e);
+ if (tor_memeq(e->identity, digest, DIGEST_LEN)) {
+ entry = e;
+ idx = e_sl_idx;
+ break;
+ }
+ } SMARTLIST_FOREACH_END(e);
if (!entry)
return 0;
@@ -4036,11 +4041,11 @@ entry_guards_set_from_config(const or_options_t *options)
tor_free(string);
}
- entry_nodes = smartlist_create();
- worse_entry_nodes = smartlist_create();
- entry_fps = smartlist_create();
- old_entry_guards_on_list = smartlist_create();
- old_entry_guards_not_on_list = smartlist_create();
+ entry_nodes = smartlist_new();
+ worse_entry_nodes = smartlist_new();
+ entry_fps = smartlist_new();
+ old_entry_guards_on_list = smartlist_new();
+ old_entry_guards_not_on_list = smartlist_new();
/* Split entry guards into those on the list and those not. */
@@ -4126,8 +4131,8 @@ const node_t *
choose_random_entry(cpath_build_state_t *state)
{
const or_options_t *options = get_options();
- smartlist_t *live_entry_guards = smartlist_create();
- smartlist_t *exit_family = smartlist_create();
+ smartlist_t *live_entry_guards = smartlist_new();
+ smartlist_t *exit_family = smartlist_new();
const node_t *chosen_exit =
state?build_state_get_exit_node(state) : NULL;
const node_t *node = NULL;
@@ -4141,7 +4146,7 @@ choose_random_entry(cpath_build_state_t *state)
}
if (!entry_guards)
- entry_guards = smartlist_create();
+ entry_guards = smartlist_new();
if (should_add_entry_nodes)
entry_guards_set_from_config(options);
@@ -4268,7 +4273,7 @@ int
entry_guards_parse_state(or_state_t *state, int set, char **msg)
{
entry_guard_t *node = NULL;
- smartlist_t *new_entry_guards = smartlist_create();
+ smartlist_t *new_entry_guards = smartlist_new();
config_line_t *line;
time_t now = time(NULL);
const char *state_version = state->TorVersion;
@@ -4277,7 +4282,7 @@ entry_guards_parse_state(or_state_t *state, int set, char **msg)
*msg = NULL;
for (line = state->EntryGuards; line; line = line->next) {
if (!strcasecmp(line->key, "EntryGuard")) {
- smartlist_t *args = smartlist_create();
+ smartlist_t *args = smartlist_new();
node = tor_malloc_zero(sizeof(entry_guard_t));
/* all entry guards on disk have been contacted */
node->made_contact = 1;
@@ -4423,7 +4428,7 @@ entry_guards_update_state(or_state_t *state)
next = &state->EntryGuards;
*next = NULL;
if (!entry_guards)
- entry_guards = smartlist_create();
+ entry_guards = smartlist_new();
SMARTLIST_FOREACH(entry_guards, entry_guard_t *, e,
{
char dbuf[HEX_DIGEST_LEN+1];
@@ -4431,10 +4436,8 @@ entry_guards_update_state(or_state_t *state)
continue; /* don't write this one to disk */
*next = line = tor_malloc_zero(sizeof(config_line_t));
line->key = tor_strdup("EntryGuard");
- line->value = tor_malloc(HEX_DIGEST_LEN+MAX_NICKNAME_LEN+2);
base16_encode(dbuf, sizeof(dbuf), e->identity, DIGEST_LEN);
- tor_snprintf(line->value,HEX_DIGEST_LEN+MAX_NICKNAME_LEN+2,
- "%s %s", e->nickname, dbuf);
+ tor_asprintf(&line->value, "%s %s", e->nickname, dbuf);
next = &(line->next);
if (e->unreachable_since) {
*next = line = tor_malloc_zero(sizeof(config_line_t));
@@ -4458,15 +4461,11 @@ entry_guards_update_state(or_state_t *state)
!strchr(e->chosen_by_version, ' ')) {
char d[HEX_DIGEST_LEN+1];
char t[ISO_TIME_LEN+1];
- size_t val_len;
*next = line = tor_malloc_zero(sizeof(config_line_t));
line->key = tor_strdup("EntryGuardAddedBy");
- val_len = (HEX_DIGEST_LEN+1+strlen(e->chosen_by_version)
- +1+ISO_TIME_LEN+1);
- line->value = tor_malloc(val_len);
base16_encode(d, sizeof(d), e->identity, DIGEST_LEN);
format_iso_time(t, e->chosen_on_date);
- tor_snprintf(line->value, val_len, "%s %s %s",
+ tor_asprintf(&line->value, "%s %s %s",
d, e->chosen_by_version, t);
next = &(line->next);
}
@@ -4492,14 +4491,12 @@ getinfo_helper_entry_guards(control_connection_t *conn,
if (!strcmp(question,"entry-guards") ||
!strcmp(question,"helper-nodes")) {
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
char tbuf[ISO_TIME_LEN+1];
char nbuf[MAX_VERBOSE_NICKNAME_LEN+1];
if (!entry_guards)
- entry_guards = smartlist_create();
+ entry_guards = smartlist_new();
SMARTLIST_FOREACH_BEGIN(entry_guards, entry_guard_t *, e) {
- size_t len = MAX_VERBOSE_NICKNAME_LEN+ISO_TIME_LEN+32;
- char *c = tor_malloc(len);
const char *status = NULL;
time_t when = 0;
const node_t *node;
@@ -4525,11 +4522,10 @@ getinfo_helper_entry_guards(control_connection_t *conn,
if (when) {
format_iso_time(tbuf, when);
- tor_snprintf(c, len, "%s %s %s\n", nbuf, status, tbuf);
+ smartlist_add_asprintf(sl, "%s %s %s\n", nbuf, status, tbuf);
} else {
- tor_snprintf(c, len, "%s %s\n", nbuf, status);
+ smartlist_add_asprintf(sl, "%s %s\n", nbuf, status);
}
- smartlist_add(sl, c);
} SMARTLIST_FOREACH_END(e);
*answer = smartlist_join_strings(sl, "", 0, NULL);
SMARTLIST_FOREACH(sl, char *, c, tor_free(c));
@@ -4550,7 +4546,7 @@ void
mark_bridge_list(void)
{
if (!bridge_list)
- bridge_list = smartlist_create();
+ bridge_list = smartlist_new();
SMARTLIST_FOREACH(bridge_list, bridge_info_t *, b,
b->marked_for_removal = 1);
}
@@ -4561,7 +4557,7 @@ void
sweep_bridge_list(void)
{
if (!bridge_list)
- bridge_list = smartlist_create();
+ bridge_list = smartlist_new();
SMARTLIST_FOREACH_BEGIN(bridge_list, bridge_info_t *, b) {
if (b->marked_for_removal) {
SMARTLIST_DEL_CURRENT(bridge_list, b);
@@ -4575,7 +4571,7 @@ static void
clear_bridge_list(void)
{
if (!bridge_list)
- bridge_list = smartlist_create();
+ bridge_list = smartlist_new();
SMARTLIST_FOREACH(bridge_list, bridge_info_t *, b, bridge_free(b));
smartlist_clear(bridge_list);
}
@@ -4600,7 +4596,7 @@ void
mark_transport_list(void)
{
if (!transport_list)
- transport_list = smartlist_create();
+ transport_list = smartlist_new();
SMARTLIST_FOREACH(transport_list, transport_t *, t,
t->marked_for_removal = 1);
}
@@ -4611,7 +4607,7 @@ void
sweep_transport_list(void)
{
if (!transport_list)
- transport_list = smartlist_create();
+ transport_list = smartlist_new();
SMARTLIST_FOREACH_BEGIN(transport_list, transport_t *, t) {
if (t->marked_for_removal) {
SMARTLIST_DEL_CURRENT(transport_list, t);
@@ -4626,7 +4622,7 @@ void
clear_transport_list(void)
{
if (!transport_list)
- transport_list = smartlist_create();
+ transport_list = smartlist_new();
SMARTLIST_FOREACH(transport_list, transport_t *, t, transport_free(t));
smartlist_clear(transport_list);
}
@@ -4664,7 +4660,7 @@ transport_get_by_name(const char *name)
protocol <b>name</b> listening at <b>addr</b>:<b>port</b> using
SOCKS version <b>socks_ver</b>. */
transport_t *
-transport_create(const tor_addr_t *addr, uint16_t port,
+transport_new(const tor_addr_t *addr, uint16_t port,
const char *name, int socks_ver)
{
transport_t *t = tor_malloc_zero(sizeof(transport_t));
@@ -4747,7 +4743,7 @@ transport_add(transport_t *t)
switch (r) {
case 0: /* should register transport */
if (!transport_list)
- transport_list = smartlist_create();
+ transport_list = smartlist_new();
smartlist_add(transport_list, t);
return 0;
default: /* let our caller know the return code */
@@ -4762,7 +4758,7 @@ int
transport_add_from_config(const tor_addr_t *addr, uint16_t port,
const char *name, int socks_ver)
{
- transport_t *t = transport_create(addr, port, name, socks_ver);
+ transport_t *t = transport_new(addr, port, name, socks_ver);
int r = transport_add(t);
@@ -4841,10 +4837,11 @@ get_configured_bridge_by_addr_port_digest(const tor_addr_t *addr,
static bridge_info_t *
get_configured_bridge_by_routerinfo(const routerinfo_t *ri)
{
- tor_addr_t addr;
- tor_addr_from_ipv4h(&addr, ri->addr);
- return get_configured_bridge_by_addr_port_digest(&addr,
- ri->or_port, ri->cache_info.identity_digest);
+ tor_addr_port_t ap;
+
+ router_get_pref_orport(ri, &ap);
+ return get_configured_bridge_by_addr_port_digest(&ap.addr, ap.port,
+ ri->cache_info.identity_digest);
}
/** Return 1 if <b>ri</b> is one of our known bridges, else 0. */
@@ -4858,18 +4855,31 @@ routerinfo_is_a_configured_bridge(const routerinfo_t *ri)
int
node_is_a_configured_bridge(const node_t *node)
{
- tor_addr_t addr;
- uint16_t orport;
+ int retval = 0; /* Negative. */
+ smartlist_t *orports = NULL;
+
if (!node)
- return 0;
- if (node_get_addr(node, &addr) < 0)
- return 0;
- orport = node_get_orport(node);
- if (orport == 0)
- return 0;
+ goto out;
+
+ orports = node_get_all_orports(node);
+ if (orports == NULL)
+ goto out;
- return get_configured_bridge_by_addr_port_digest(
- &addr, orport, node->identity) != NULL;
+ SMARTLIST_FOREACH_BEGIN(orports, tor_addr_port_t *, orport) {
+ if (get_configured_bridge_by_addr_port_digest(&orport->addr, orport->port,
+ node->identity) != NULL) {
+ retval = 1;
+ goto out;
+ }
+ } SMARTLIST_FOREACH_END(orport);
+
+ out:
+ if (orports != NULL) {
+ SMARTLIST_FOREACH(orports, tor_addr_port_t *, p, tor_free(p));
+ smartlist_free(orports);
+ orports = NULL;
+ }
+ return retval;
}
/** We made a connection to a router at <b>addr</b>:<b>port</b>
@@ -4914,7 +4924,7 @@ bridge_add_from_config(const tor_addr_t *addr, uint16_t port,
b->transport_name = tor_strdup(transport_name);
b->fetch_status.schedule = DL_SCHED_BRIDGE;
if (!bridge_list)
- bridge_list = smartlist_create();
+ bridge_list = smartlist_new();
smartlist_add(bridge_list, b);
}
@@ -4997,7 +5007,6 @@ launch_direct_bridge_descriptor_fetch(bridge_info_t *bridge)
DIR_PURPOSE_FETCH_SERVERDESC))
return; /* it's already on the way */
- address = tor_dup_addr(&bridge->addr);
if (routerset_contains_bridge(options->ExcludeNodes, bridge)) {
download_status_mark_impossible(&bridge->fetch_status);
log_warn(LD_APP, "Not using bridge at %s: it is in ExcludeNodes.",
@@ -5005,6 +5014,8 @@ launch_direct_bridge_descriptor_fetch(bridge_info_t *bridge)
return;
}
+ address = tor_dup_addr(&bridge->addr);
+
directory_initiate_command(address, &bridge->addr,
bridge->port, 0,
0, /* does not matter */
@@ -5122,18 +5133,52 @@ rewrite_node_address_for_bridge(const bridge_info_t *bridge, node_t *node)
routerinfo_t *ri = node->ri;
tor_addr_from_ipv4h(&addr, ri->addr);
- if (!tor_addr_compare(&bridge->addr, &addr, CMP_EXACT) &&
- bridge->port == ri->or_port) {
+ if ((!tor_addr_compare(&bridge->addr, &addr, CMP_EXACT) &&
+ bridge->port == ri->or_port) ||
+ (!tor_addr_compare(&bridge->addr, &ri->ipv6_addr, CMP_EXACT) &&
+ bridge->port == ri->ipv6_orport)) {
/* they match, so no need to do anything */
} else {
- ri->addr = tor_addr_to_ipv4h(&bridge->addr);
- tor_free(ri->address);
- ri->address = tor_dup_ip(ri->addr);
- ri->or_port = bridge->port;
- log_info(LD_DIR,
- "Adjusted bridge routerinfo for '%s' to match configured "
- "address %s:%d.",
- ri->nickname, ri->address, ri->or_port);
+ if (tor_addr_family(&bridge->addr) == AF_INET) {
+ ri->addr = tor_addr_to_ipv4h(&bridge->addr);
+ tor_free(ri->address);
+ ri->address = tor_dup_ip(ri->addr);
+ ri->or_port = bridge->port;
+ log_info(LD_DIR,
+ "Adjusted bridge routerinfo for '%s' to match configured "
+ "address %s:%d.",
+ ri->nickname, ri->address, ri->or_port);
+ } else if (tor_addr_family(&bridge->addr) == AF_INET6) {
+ tor_addr_copy(&ri->ipv6_addr, &bridge->addr);
+ ri->ipv6_orport = bridge->port;
+ log_info(LD_DIR,
+ "Adjusted bridge routerinfo for '%s' to match configured "
+ "address %s:%d.",
+ ri->nickname, fmt_addr(&ri->ipv6_addr), ri->ipv6_orport);
+ } else {
+ log_err(LD_BUG, "Address family not supported: %d.",
+ tor_addr_family(&bridge->addr));
+ return;
+ }
+ }
+
+ /* Indicate that we prefer connecting to this bridge over the
+ protocol that the bridge address indicates. Last bridge
+ descriptor handled wins. */
+ ri->ipv6_preferred = tor_addr_family(&bridge->addr) == AF_INET6;
+
+ /* XXXipv6 we lack support for falling back to another address for
+ the same relay, warn the user */
+ if (!tor_addr_is_null(&ri->ipv6_addr))
+ {
+ tor_addr_port_t ap;
+ router_get_pref_orport(ri, &ap);
+ log_notice(LD_CONFIG,
+ "Bridge '%s' has both an IPv4 and an IPv6 address. "
+ "Will prefer using its %s address (%s:%d).",
+ ri->nickname,
+ ri->ipv6_preferred ? "IPv6" : "IPv4",
+ fmt_addr(&ap.addr), ap.port);
}
}
if (node->rs) {
@@ -5178,8 +5223,8 @@ learned_bridge_descriptor(routerinfo_t *ri, int from_cache)
rewrite_node_address_for_bridge(bridge, node);
add_an_entry_guard(node, 1, 1);
- log_notice(LD_DIR, "new bridge descriptor '%s' (%s)", ri->nickname,
- from_cache ? "cached" : "fresh");
+ log_notice(LD_DIR, "new bridge descriptor '%s' (%s): %s", ri->nickname,
+ from_cache ? "cached" : "fresh", router_describe(ri));
/* set entry->made_contact so if it goes down we don't drop it from
* our entry node list */
entry_guard_register_connect_status(ri->cache_info.identity_digest,
@@ -5237,7 +5282,7 @@ entries_retry_helper(const or_options_t *options, int act)
int any_running = 0;
int need_bridges = options->UseBridges != 0;
if (!entry_guards)
- entry_guards = smartlist_create();
+ entry_guards = smartlist_new();
SMARTLIST_FOREACH_BEGIN(entry_guards, entry_guard_t *, e) {
node = node_get_by_id(e->identity);
if (node && node_has_descriptor(node) &&
@@ -5283,6 +5328,34 @@ entries_retry_all(const or_options_t *options)
entries_retry_helper(options, 1);
}
+/** Return true if we've ever had a bridge running a Tor version that can't
+ * provide microdescriptors to us. In that case fall back to asking for
+ * full descriptors. Eventually all bridges will support microdescriptors
+ * and we can take this check out; see bug 4013. */
+int
+any_bridges_dont_support_microdescriptors(void)
+{
+ const node_t *node;
+ static int ever_answered_yes = 0;
+ if (!get_options()->UseBridges || !entry_guards)
+ return 0;
+ if (ever_answered_yes)
+ return 1; /* if we ever answer 'yes', always answer 'yes' */
+ SMARTLIST_FOREACH_BEGIN(entry_guards, entry_guard_t *, e) {
+ node = node_get_by_id(e->identity);
+ if (node && node->ri &&
+ node_is_bridge(node) && node_is_a_configured_bridge(node) &&
+ !tor_version_supports_microdescriptors(node->ri->platform)) {
+ /* This is one of our current bridges, and we know enough about
+ * it to know that it won't be able to answer our microdescriptor
+ * questions. */
+ ever_answered_yes = 1;
+ return 1;
+ }
+ } SMARTLIST_FOREACH_END(e);
+ return 0;
+}
+
/** Release all storage held by the list of entry guards and related
* memory structs. */
void
diff --git a/src/or/circuitbuild.h b/src/or/circuitbuild.h
index 1052db615..a7fd20830 100644
--- a/src/or/circuitbuild.h
+++ b/src/or/circuitbuild.h
@@ -57,10 +57,12 @@ int circuit_append_new_exit(origin_circuit_t *circ, extend_info_t *info);
int circuit_extend_to_new_exit(origin_circuit_t *circ, extend_info_t *info);
void onion_append_to_cpath(crypt_path_t **head_ptr, crypt_path_t *new_hop);
extend_info_t *extend_info_alloc(const char *nickname, const char *digest,
- crypto_pk_env_t *onion_key,
+ crypto_pk_t *onion_key,
const tor_addr_t *addr, uint16_t port);
-extend_info_t *extend_info_from_router(const routerinfo_t *r);
-extend_info_t *extend_info_from_node(const node_t *node);
+extend_info_t *extend_info_from_router(const routerinfo_t *r,
+ int for_direct_connect);
+extend_info_t *extend_info_from_node(const node_t *node,
+ int for_direct_connect);
extend_info_t *extend_info_dup(extend_info_t *info);
void extend_info_free(extend_info_t *info);
const node_t *build_state_get_exit_node(cpath_build_state_t *state);
@@ -98,6 +100,8 @@ int any_pending_bridge_descriptor_fetches(void);
int entries_known_but_down(const or_options_t *options);
void entries_retry_all(const or_options_t *options);
+int any_bridges_dont_support_microdescriptors(void);
+
void entry_guards_free_all(void);
extern circuit_build_times_t circ_times;
@@ -150,7 +154,7 @@ int transport_add_from_config(const tor_addr_t *addr, uint16_t port,
const char *name, int socks_ver);
int transport_add(transport_t *t);
void transport_free(transport_t *transport);
-transport_t *transport_create(const tor_addr_t *addr, uint16_t port,
+transport_t *transport_new(const tor_addr_t *addr, uint16_t port,
const char *name, int socks_ver);
int find_transport_by_bridge_addrport(const tor_addr_t *addr, uint16_t port,
diff --git a/src/or/circuitlist.c b/src/or/circuitlist.c
index 25b80f11f..85f529194 100644
--- a/src/or/circuitlist.c
+++ b/src/or/circuitlist.c
@@ -39,6 +39,7 @@ static smartlist_t *circuits_pending_or_conns=NULL;
static void circuit_free(circuit_t *circ);
static void circuit_free_cpath(crypt_path_t *cpath);
static void circuit_free_cpath_node(crypt_path_t *victim);
+static void cpath_ref_decref(crypt_path_reference_t *cpath_ref);
/********* END VARIABLES ************/
@@ -201,7 +202,7 @@ circuit_set_state(circuit_t *circ, uint8_t state)
if (state == circ->state)
return;
if (!circuits_pending_or_conns)
- circuits_pending_or_conns = smartlist_create();
+ circuits_pending_or_conns = smartlist_new();
if (circ->state == CIRCUIT_STATE_OR_WAIT) {
/* remove from waiting-circuit list. */
smartlist_remove(circuits_pending_or_conns, circ);
@@ -268,7 +269,7 @@ int
circuit_count_pending_on_or_conn(or_connection_t *or_conn)
{
int cnt;
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
circuit_get_all_pending_on_or_conn(sl, or_conn);
cnt = smartlist_len(sl);
smartlist_free(sl);
@@ -378,6 +379,63 @@ circuit_purpose_to_controller_string(uint8_t purpose)
}
}
+/** Return a string specifying the state of the hidden-service circuit
+ * purpose <b>purpose</b>, or NULL if <b>purpose</b> is not a
+ * hidden-service-related circuit purpose. */
+const char *
+circuit_purpose_to_controller_hs_state_string(uint8_t purpose)
+{
+ switch (purpose)
+ {
+ default:
+ log_fn(LOG_WARN, LD_BUG,
+ "Unrecognized circuit purpose: %d",
+ (int)purpose);
+ tor_fragile_assert();
+ /* fall through */
+
+ case CIRCUIT_PURPOSE_OR:
+ case CIRCUIT_PURPOSE_C_GENERAL:
+ case CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT:
+ case CIRCUIT_PURPOSE_TESTING:
+ case CIRCUIT_PURPOSE_CONTROLLER:
+ return NULL;
+
+ case CIRCUIT_PURPOSE_INTRO_POINT:
+ return "OR_HSSI_ESTABLISHED";
+ case CIRCUIT_PURPOSE_REND_POINT_WAITING:
+ return "OR_HSCR_ESTABLISHED";
+ case CIRCUIT_PURPOSE_REND_ESTABLISHED:
+ return "OR_HS_R_JOINED";
+
+ case CIRCUIT_PURPOSE_C_INTRODUCING:
+ return "HSCI_CONNECTING";
+ case CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT:
+ return "HSCI_INTRO_SENT";
+ case CIRCUIT_PURPOSE_C_INTRODUCE_ACKED:
+ return "HSCI_DONE";
+
+ case CIRCUIT_PURPOSE_C_ESTABLISH_REND:
+ return "HSCR_CONNECTING";
+ case CIRCUIT_PURPOSE_C_REND_READY:
+ return "HSCR_ESTABLISHED_IDLE";
+ case CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED:
+ return "HSCR_ESTABLISHED_WAITING";
+ case CIRCUIT_PURPOSE_C_REND_JOINED:
+ return "HSCR_JOINED";
+
+ case CIRCUIT_PURPOSE_S_ESTABLISH_INTRO:
+ return "HSSI_CONNECTING";
+ case CIRCUIT_PURPOSE_S_INTRO:
+ return "HSSI_ESTABLISHED";
+
+ case CIRCUIT_PURPOSE_S_CONNECT_REND:
+ return "HSSR_CONNECTING";
+ case CIRCUIT_PURPOSE_S_REND_JOINED:
+ return "HSSR_JOINED";
+ }
+}
+
/** Return a human-readable string for the circuit purpose <b>purpose</b>. */
const char *
circuit_purpose_to_string(uint8_t purpose)
@@ -543,12 +601,13 @@ circuit_free(circuit_t *circ)
if (ocirc->build_state) {
extend_info_free(ocirc->build_state->chosen_exit);
circuit_free_cpath_node(ocirc->build_state->pending_final_cpath);
+ cpath_ref_decref(ocirc->build_state->service_pending_final_cpath_ref);
}
tor_free(ocirc->build_state);
circuit_free_cpath(ocirc->cpath);
- crypto_free_pk_env(ocirc->intro_key);
+ crypto_pk_free(ocirc->intro_key);
rend_data_free(ocirc->rend_data);
tor_free(ocirc->dest_address);
@@ -569,10 +628,10 @@ circuit_free(circuit_t *circ)
memlen = sizeof(or_circuit_t);
tor_assert(circ->magic == OR_CIRCUIT_MAGIC);
- crypto_free_cipher_env(ocirc->p_crypto);
- crypto_free_digest_env(ocirc->p_digest);
- crypto_free_cipher_env(ocirc->n_crypto);
- crypto_free_digest_env(ocirc->n_digest);
+ crypto_cipher_free(ocirc->p_crypto);
+ crypto_digest_free(ocirc->p_digest);
+ crypto_cipher_free(ocirc->n_crypto);
+ crypto_digest_free(ocirc->n_digest);
if (ocirc->rend_splice) {
or_circuit_t *other = ocirc->rend_splice;
@@ -655,10 +714,10 @@ circuit_free_cpath_node(crypt_path_t *victim)
if (!victim)
return;
- crypto_free_cipher_env(victim->f_crypto);
- crypto_free_cipher_env(victim->b_crypto);
- crypto_free_digest_env(victim->f_digest);
- crypto_free_digest_env(victim->b_digest);
+ crypto_cipher_free(victim->f_crypto);
+ crypto_cipher_free(victim->b_crypto);
+ crypto_digest_free(victim->f_digest);
+ crypto_digest_free(victim->b_digest);
crypto_dh_free(victim->dh_handshake_state);
extend_info_free(victim->extend_info);
@@ -666,6 +725,18 @@ circuit_free_cpath_node(crypt_path_t *victim)
tor_free(victim);
}
+/** Release a crypt_path_reference_t*, which may be NULL. */
+static void
+cpath_ref_decref(crypt_path_reference_t *cpath_ref)
+{
+ if (cpath_ref != NULL) {
+ if (--(cpath_ref->refcount) == 0) {
+ circuit_free_cpath_node(cpath_ref->cpath);
+ tor_free(cpath_ref);
+ }
+ }
+}
+
/** A helper function for circuit_dump_by_conn() below. Log a bunch
* of information about circuit <b>circ</b>.
*/
@@ -873,26 +944,30 @@ circuit_unlink_all_from_or_conn(or_connection_t *conn, int reason)
}
}
-/** Return a circ such that:
- * - circ-\>rend_data-\>onion_address is equal to <b>rend_query</b>, and
- * - circ-\>purpose is equal to <b>purpose</b>.
+/** Return a circ such that
+ * - circ-\>rend_data-\>onion_address is equal to
+ * <b>rend_data</b>-\>onion_address,
+ * - circ-\>rend_data-\>rend_cookie is equal to
+ * <b>rend_data</b>-\>rend_cookie, and
+ * - circ-\>purpose is equal to CIRCUIT_PURPOSE_C_REND_READY.
*
* Return NULL if no such circuit exists.
*/
origin_circuit_t *
-circuit_get_by_rend_query_and_purpose(const char *rend_query, uint8_t purpose)
+circuit_get_ready_rend_circ_by_rend_data(const rend_data_t *rend_data)
{
circuit_t *circ;
- tor_assert(CIRCUIT_PURPOSE_IS_ORIGIN(purpose));
-
for (circ = global_circuitlist; circ; circ = circ->next) {
if (!circ->marked_for_close &&
- circ->purpose == purpose) {
+ circ->purpose == CIRCUIT_PURPOSE_C_REND_READY) {
origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ);
if (ocirc->rend_data &&
- !rend_cmp_service_ids(rend_query,
- ocirc->rend_data->onion_address))
+ !rend_cmp_service_ids(rend_data->onion_address,
+ ocirc->rend_data->onion_address) &&
+ tor_memeq(ocirc->rend_data->rend_cookie,
+ rend_data->rend_cookie,
+ REND_COOKIE_LEN))
return ocirc;
}
}
@@ -1011,6 +1086,7 @@ circuit_find_to_cannibalize(uint8_t purpose, extend_info_t *info,
(!need_capacity || circ->build_state->need_capacity) &&
(internal == circ->build_state->is_internal) &&
circ->remaining_relay_early_cells &&
+ circ->build_state->desired_path_len == DEFAULT_ROUTE_LEN &&
!circ->build_state->onehop_tunnel &&
!circ->isolation_values_set) {
if (info) {
@@ -1218,16 +1294,16 @@ _circuit_mark_for_close(circuit_t *circ, int reason, int line,
} else if (circ->purpose == CIRCUIT_PURPOSE_C_INTRODUCING &&
reason != END_CIRC_REASON_TIMEOUT) {
origin_circuit_t *ocirc = TO_ORIGIN_CIRCUIT(circ);
- tor_assert(ocirc->build_state->chosen_exit);
- tor_assert(ocirc->rend_data);
- log_info(LD_REND, "Failed intro circ %s to %s "
- "(building circuit to intro point). "
- "Marking intro point as possibly unreachable.",
- safe_str_client(ocirc->rend_data->onion_address),
+ if (ocirc->build_state->chosen_exit && ocirc->rend_data) {
+ log_info(LD_REND, "Failed intro circ %s to %s "
+ "(building circuit to intro point). "
+ "Marking intro point as possibly unreachable.",
+ safe_str_client(ocirc->rend_data->onion_address),
safe_str_client(build_state_get_exit_nickname(ocirc->build_state)));
- rend_client_report_intro_point_failure(ocirc->build_state->chosen_exit,
- ocirc->rend_data,
- INTRO_POINT_FAILURE_UNREACHABLE);
+ rend_client_report_intro_point_failure(ocirc->build_state->chosen_exit,
+ ocirc->rend_data,
+ INTRO_POINT_FAILURE_UNREACHABLE);
+ }
}
if (circ->n_conn) {
circuit_clear_cell_queue(circ, circ->n_conn);
diff --git a/src/or/circuitlist.h b/src/or/circuitlist.h
index 7b01ca3ae..e2298c69a 100644
--- a/src/or/circuitlist.h
+++ b/src/or/circuitlist.h
@@ -15,6 +15,7 @@
circuit_t * _circuit_get_global_list(void);
const char *circuit_state_to_string(int state);
const char *circuit_purpose_to_controller_string(uint8_t purpose);
+const char *circuit_purpose_to_controller_hs_state_string(uint8_t purpose);
const char *circuit_purpose_to_string(uint8_t purpose);
void circuit_dump_by_conn(connection_t *conn, int severity);
void circuit_set_p_circid_orconn(or_circuit_t *circ, circid_t id,
@@ -32,8 +33,8 @@ int circuit_id_in_use_on_orconn(circid_t circ_id, or_connection_t *conn);
circuit_t *circuit_get_by_edge_conn(edge_connection_t *conn);
void circuit_unlink_all_from_or_conn(or_connection_t *conn, int reason);
origin_circuit_t *circuit_get_by_global_id(uint32_t id);
-origin_circuit_t *circuit_get_by_rend_query_and_purpose(const char *rend_query,
- uint8_t purpose);
+origin_circuit_t *circuit_get_ready_rend_circ_by_rend_data(
+ const rend_data_t *rend_data);
origin_circuit_t *circuit_get_next_by_pk_and_purpose(origin_circuit_t *start,
const char *digest, uint8_t purpose);
or_circuit_t *circuit_get_rendezvous(const char *cookie);
diff --git a/src/or/circuituse.c b/src/or/circuituse.c
index 23efe0534..de0aa7da2 100644
--- a/src/or/circuituse.c
+++ b/src/or/circuituse.c
@@ -75,6 +75,11 @@ circuit_is_acceptable(const origin_circuit_t *origin_circ,
return 0;
}
+ /* If this is a timed-out hidden service circuit, skip it. */
+ if (origin_circ->hs_circ_has_timed_out) {
+ return 0;
+ }
+
if (purpose == CIRCUIT_PURPOSE_C_GENERAL ||
purpose == CIRCUIT_PURPOSE_C_REND_JOINED)
if (circ->timestamp_dirty &&
@@ -351,7 +356,9 @@ circuit_expire_building(void)
* circuit_build_times_get_initial_timeout() if we haven't computed
* custom timeouts yet */
struct timeval general_cutoff, begindir_cutoff, fourhop_cutoff,
- cannibalize_cutoff, close_cutoff, extremely_old_cutoff;
+ cannibalize_cutoff, close_cutoff, extremely_old_cutoff,
+ hs_extremely_old_cutoff;
+ const or_options_t *options = get_options();
struct timeval now;
cpath_build_state_t *build_state;
@@ -371,6 +378,10 @@ circuit_expire_building(void)
SET_CUTOFF(close_cutoff, circ_times.close_ms);
SET_CUTOFF(extremely_old_cutoff, circ_times.close_ms*2 + 1000);
+ SET_CUTOFF(hs_extremely_old_cutoff,
+ MAX(circ_times.close_ms*2 + 1000,
+ options->SocksTimeout * 1000));
+
while (next_circ) {
struct timeval cutoff;
victim = next_circ;
@@ -392,6 +403,9 @@ circuit_expire_building(void)
else
cutoff = general_cutoff;
+ if (TO_ORIGIN_CIRCUIT(victim)->hs_circ_has_timed_out)
+ cutoff = hs_extremely_old_cutoff;
+
if (timercmp(&victim->timestamp_created, &cutoff, >))
continue; /* it's still young, leave it alone */
@@ -467,7 +481,7 @@ circuit_expire_building(void)
control_event_circuit_status(TO_ORIGIN_CIRCUIT(victim),
CIRC_EVENT_FAILED,
END_CIRC_REASON_TIMEOUT);
- victim->purpose = CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT;
+ circuit_change_purpose(victim, CIRCUIT_PURPOSE_C_MEASURE_TIMEOUT);
/* Record this failure to check for too many timeouts
* in a row. This function does not record a time value yet
* (we do that later); it only counts the fact that we did
@@ -497,6 +511,60 @@ circuit_expire_building(void)
}
}
+ /* If this is a hidden service client circuit which is far enough
+ * along in connecting to its destination, and we haven't already
+ * flagged it as 'timed out', and the user has not told us to
+ * close such circs immediately on timeout, flag it as 'timed out'
+ * so we'll launch another intro or rend circ, but don't mark it
+ * for close yet.
+ *
+ * (Circs flagged as 'timed out' are given a much longer timeout
+ * period above, so we won't close them in the next call to
+ * circuit_expire_building.) */
+ if (!(options->CloseHSClientCircuitsImmediatelyOnTimeout) &&
+ !(TO_ORIGIN_CIRCUIT(victim)->hs_circ_has_timed_out)) {
+ switch (victim->purpose) {
+ case CIRCUIT_PURPOSE_C_REND_READY:
+ /* We only want to spare a rend circ if it has been specified in
+ * an INTRODUCE1 cell sent to a hidden service. A circ's
+ * pending_final_cpath field is non-NULL iff it is a rend circ
+ * and we have tried to send an INTRODUCE1 cell specifying it.
+ * Thus, if the pending_final_cpath field *is* NULL, then we
+ * want to not spare it. */
+ if (TO_ORIGIN_CIRCUIT(victim)->build_state->pending_final_cpath ==
+ NULL)
+ break;
+ case CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT:
+ case CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED:
+ /* If we have reached this line, we want to spare the circ for now. */
+ log_info(LD_CIRC,"Marking circ %d (state %d:%s, purpose %d) "
+ "as timed-out HS circ",
+ victim->n_circ_id,
+ victim->state, circuit_state_to_string(victim->state),
+ victim->purpose);
+ TO_ORIGIN_CIRCUIT(victim)->hs_circ_has_timed_out = 1;
+ continue;
+ default:
+ break;
+ }
+ }
+
+ /* If this is a service-side rendezvous circuit which is far
+ * enough along in connecting to its destination, consider sparing
+ * it. */
+ if (!(options->CloseHSServiceRendCircuitsImmediatelyOnTimeout) &&
+ !(TO_ORIGIN_CIRCUIT(victim)->hs_circ_has_timed_out) &&
+ victim->purpose == CIRCUIT_PURPOSE_S_CONNECT_REND) {
+ log_info(LD_CIRC,"Marking circ %d (state %d:%s, purpose %d) "
+ "as timed-out HS circ; relaunching rendezvous attempt.",
+ victim->n_circ_id,
+ victim->state, circuit_state_to_string(victim->state),
+ victim->purpose);
+ TO_ORIGIN_CIRCUIT(victim)->hs_circ_has_timed_out = 1;
+ rend_service_relaunch_rendezvous(TO_ORIGIN_CIRCUIT(victim));
+ continue;
+ }
+
if (victim->n_conn)
log_info(LD_CIRC,"Abandoning circ %s:%d:%d (state %d:%s, purpose %d)",
victim->n_conn->_base.address, victim->n_conn->_base.port,
@@ -1004,7 +1072,6 @@ circuit_testing_failed(origin_circuit_t *circ, int at_last_hop)
void
circuit_has_opened(origin_circuit_t *circ)
{
- int can_try_clearing_isolation = 0, tried_clearing_isolation = 0;
control_event_circuit_status(circ, CIRC_EVENT_BUILT, 0);
/* Remember that this circuit has finished building. Now if we start
@@ -1012,13 +1079,18 @@ circuit_has_opened(origin_circuit_t *circ)
* to consider its build time. */
circ->has_opened = 1;
- again:
-
switch (TO_CIRCUIT(circ)->purpose) {
case CIRCUIT_PURPOSE_C_ESTABLISH_REND:
rend_client_rendcirc_has_opened(circ);
- can_try_clearing_isolation = 1;
+ /* Start building an intro circ if we don't have one yet. */
connection_ap_attach_pending();
+ /* This isn't a call to circuit_try_attaching_streams because a
+ * circuit in _C_ESTABLISH_REND state isn't connected to its
+ * hidden service yet, thus we can't attach streams to it yet,
+ * thus circuit_try_attaching_streams would always clear the
+ * circuit's isolation state. circuit_try_attaching_streams is
+ * called later, when the rend circ enters _C_REND_JOINED
+ * state. */
break;
case CIRCUIT_PURPOSE_C_INTRODUCING:
rend_client_introcirc_has_opened(circ);
@@ -1026,8 +1098,7 @@ circuit_has_opened(origin_circuit_t *circ)
case CIRCUIT_PURPOSE_C_GENERAL:
/* Tell any AP connections that have been waiting for a new
* circuit that one is ready. */
- can_try_clearing_isolation = 1;
- connection_ap_attach_pending();
+ circuit_try_attaching_streams(circ);
break;
case CIRCUIT_PURPOSE_S_ESTABLISH_INTRO:
/* at Bob, waiting for introductions */
@@ -1044,12 +1115,15 @@ circuit_has_opened(origin_circuit_t *circ)
* This won't happen in normal operation, but might happen if the
* controller did it. Just let it slide. */
}
+}
+/** If the stream-isolation state of <b>circ</b> can be cleared, clear
+ * it. Return non-zero iff <b>circ</b>'s isolation state was cleared. */
+static int
+circuit_try_clearing_isolation_state(origin_circuit_t *circ)
+{
if (/* The circuit may have become non-open if it was cannibalized.*/
circ->_base.state == CIRCUIT_STATE_OPEN &&
- /* Only if the purpose is clearable, and only if we haven't tried
- * to clear isolation yet, do we try. */
- can_try_clearing_isolation && !tried_clearing_isolation &&
/* If !isolation_values_set, there is nothing to clear. */
circ->isolation_values_set &&
/* It's not legal to clear a circuit's isolation info if it's ever had
@@ -1059,8 +1133,26 @@ circuit_has_opened(origin_circuit_t *circ)
* we didn't manage to attach any streams to it, then we can
* and should clear it and try again. */
circuit_clear_isolation(circ);
- tried_clearing_isolation = 1;
- goto again;
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+/** Called when a circuit becomes ready for streams to be attached to
+ * it. */
+void
+circuit_try_attaching_streams(origin_circuit_t *circ)
+{
+ /* Attach streams to this circuit if we can. */
+ connection_ap_attach_pending();
+
+ /* The call to circuit_try_clearing_isolation_state here will do
+ * nothing and return 0 if we didn't attach any streams to circ
+ * above. */
+ if (circuit_try_clearing_isolation_state(circ)) {
+ /* Maybe *now* we can attach some streams to this circuit. */
+ connection_ap_attach_pending();
}
}
@@ -1215,14 +1307,22 @@ circuit_launch_by_extend_info(uint8_t purpose,
* internal circs rather than exit circs? -RD */
circ = circuit_find_to_cannibalize(purpose, extend_info, flags);
if (circ) {
+ uint8_t old_purpose = circ->_base.purpose;
+ struct timeval old_timestamp_created;
+
log_info(LD_CIRC,"Cannibalizing circ '%s' for purpose %d (%s)",
build_state_get_exit_nickname(circ->build_state), purpose,
circuit_purpose_to_string(purpose));
- circ->_base.purpose = purpose;
+
+ circuit_change_purpose(TO_CIRCUIT(circ), purpose);
/* reset the birth date of this circ, else expire_building
* will see it and think it's been trying to build since it
* began. */
tor_gettimeofday(&circ->_base.timestamp_created);
+
+ control_event_circuit_cannibalized(circ, old_purpose,
+ &old_timestamp_created);
+
switch (purpose) {
case CIRCUIT_PURPOSE_C_ESTABLISH_REND:
case CIRCUIT_PURPOSE_S_ESTABLISH_INTRO:
@@ -1439,7 +1539,10 @@ circuit_get_open_circ_or_launch(entry_connection_t *conn,
int opt = conn->chosen_exit_optional;
r = node_get_by_nickname(conn->chosen_exit_name, 1);
if (r && node_has_descriptor(r)) {
- extend_info = extend_info_from_node(r);
+ /* We might want to connect to an IPv6 bridge for loading
+ descriptors so we use the preferred address rather than
+ the primary. */
+ extend_info = extend_info_from_node(r, conn->want_onehop ? 1 : 0);
} else {
log_debug(LD_DIR, "considering %d, %s",
want_onehop, conn->chosen_exit_name);
@@ -1489,6 +1592,12 @@ circuit_get_open_circ_or_launch(entry_connection_t *conn,
else
new_circ_purpose = desired_circuit_purpose;
+ if (options->Tor2webMode &&
+ (new_circ_purpose == CIRCUIT_PURPOSE_C_ESTABLISH_REND ||
+ new_circ_purpose == CIRCUIT_PURPOSE_C_INTRODUCING)) {
+ want_onehop = 1;
+ }
+
{
int flags = CIRCLAUNCH_NEED_CAPACITY;
if (want_onehop) flags |= CIRCLAUNCH_ONEHOP_TUNNEL;
@@ -1684,7 +1793,7 @@ consider_recording_trackhost(const entry_connection_t *conn,
addressmap_register(conn->socks_request->address, new_address,
time(NULL) + options->TrackHostExitsExpire,
- ADDRMAPSRC_TRACKEXIT);
+ ADDRMAPSRC_TRACKEXIT, 0, 0);
}
/** Attempt to attach the connection <b>conn</b> to <b>circ</b>, and send a
@@ -1925,3 +2034,39 @@ connection_ap_handshake_attach_circuit(entry_connection_t *conn)
}
}
+/** Change <b>circ</b>'s purpose to <b>new_purpose</b>. */
+void
+circuit_change_purpose(circuit_t *circ, uint8_t new_purpose)
+{
+ uint8_t old_purpose;
+ /* Don't allow an OR circ to become an origin circ or vice versa. */
+ tor_assert(!!(CIRCUIT_IS_ORIGIN(circ)) ==
+ !!(CIRCUIT_PURPOSE_IS_ORIGIN(new_purpose)));
+
+ if (circ->purpose == new_purpose) return;
+
+ if (CIRCUIT_IS_ORIGIN(circ)) {
+ char old_purpose_desc[80] = "";
+
+ strncpy(old_purpose_desc, circuit_purpose_to_string(circ->purpose), 80-1);
+ old_purpose_desc[80-1] = '\0';
+
+ log_debug(LD_CIRC,
+ "changing purpose of origin circ %d "
+ "from \"%s\" (%d) to \"%s\" (%d)",
+ TO_ORIGIN_CIRCUIT(circ)->global_identifier,
+ old_purpose_desc,
+ circ->purpose,
+ circuit_purpose_to_string(new_purpose),
+ new_purpose);
+ }
+
+ old_purpose = circ->purpose;
+ circ->purpose = new_purpose;
+
+ if (CIRCUIT_IS_ORIGIN(circ)) {
+ control_event_circuit_purpose_changed(TO_ORIGIN_CIRCUIT(circ),
+ old_purpose);
+ }
+}
+
diff --git a/src/or/circuituse.h b/src/or/circuituse.h
index 9867fd820..78948b5f9 100644
--- a/src/or/circuituse.h
+++ b/src/or/circuituse.h
@@ -29,6 +29,7 @@ void reset_bandwidth_test(void);
int circuit_enough_testing_circs(void);
void circuit_has_opened(origin_circuit_t *circ);
+void circuit_try_attaching_streams(origin_circuit_t *circ);
void circuit_build_failed(origin_circuit_t *circ);
/** Flag to set when a circuit should have only a single hop. */
@@ -50,6 +51,8 @@ int connection_ap_handshake_attach_chosen_circuit(entry_connection_t *conn,
crypt_path_t *cpath);
int connection_ap_handshake_attach_circuit(entry_connection_t *conn);
+void circuit_change_purpose(circuit_t *circ, uint8_t new_purpose);
+
int hostname_in_track_host_exits(const or_options_t *options,
const char *address);
diff --git a/src/or/command.c b/src/or/command.c
index e61fef7c2..fb281a7f9 100644
--- a/src/or/command.c
+++ b/src/or/command.c
@@ -49,11 +49,13 @@ uint64_t stats_n_netinfo_cells_processed = 0;
/** How many CELL_VPADDING cells have we received, ever? */
uint64_t stats_n_vpadding_cells_processed = 0;
/** How many CELL_CERTS cells have we received, ever? */
-uint64_t stats_n_cert_cells_processed = 0;
+uint64_t stats_n_certs_cells_processed = 0;
/** How many CELL_AUTH_CHALLENGE cells have we received, ever? */
uint64_t stats_n_auth_challenge_cells_processed = 0;
/** How many CELL_AUTHENTICATE cells have we received, ever? */
uint64_t stats_n_authenticate_cells_processed = 0;
+/** How many CELL_AUTHORIZE cells have we received, ever? */
+uint64_t stats_n_authorize_cells_processed = 0;
/* These are the main functions for processing cells */
static void command_process_create_cell(cell_t *cell, or_connection_t *conn);
@@ -63,12 +65,14 @@ static void command_process_destroy_cell(cell_t *cell, or_connection_t *conn);
static void command_process_versions_cell(var_cell_t *cell,
or_connection_t *conn);
static void command_process_netinfo_cell(cell_t *cell, or_connection_t *conn);
-static void command_process_cert_cell(var_cell_t *cell,
+static void command_process_certs_cell(var_cell_t *cell,
or_connection_t *conn);
static void command_process_auth_challenge_cell(var_cell_t *cell,
or_connection_t *conn);
static void command_process_authenticate_cell(var_cell_t *cell,
or_connection_t *conn);
+static int enter_v3_handshake_with_cell(var_cell_t *cell,
+ or_connection_t *conn);
#ifdef KEEP_TIMING_STATS
/** This is a wrapper function around the actual function that processes the
@@ -203,6 +207,21 @@ command_process_cell(cell_t *cell, or_connection_t *conn)
}
}
+/** Return true if <b>command</b> is a cell command that's allowed to start a
+ * V3 handshake. */
+static int
+command_allowed_before_handshake(uint8_t command)
+{
+ switch (command) {
+ case CELL_VERSIONS:
+ case CELL_VPADDING:
+ case CELL_AUTHORIZE:
+ return 1;
+ default:
+ return 0;
+ }
+}
+
/** Process a <b>cell</b> that was just received on <b>conn</b>. Keep internal
* statistics about how many of each cell we've processed so far
* this second, and the total number of microseconds it took to
@@ -214,19 +233,19 @@ command_process_var_cell(var_cell_t *cell, or_connection_t *conn)
#ifdef KEEP_TIMING_STATS
/* how many of each cell have we seen so far this second? needs better
* name. */
- static int num_versions=0, num_cert=0;
+ static int num_versions=0, num_certs=0;
time_t now = time(NULL);
if (now > current_second) { /* the second has rolled over */
/* print stats */
log_info(LD_OR,
- "At end of second: %d versions (%d ms), %d cert (%d ms)",
+ "At end of second: %d versions (%d ms), %d certs (%d ms)",
num_versions, versions_time/1000,
- cert, cert_time/1000);
+ num_certs, certs_time/1000);
- num_versions = num_cert = 0;
- versions_time = cert_time = 0;
+ num_versions = num_certs = 0;
+ versions_time = certs_time = 0;
/* remember which second it is, for next time */
current_second = now;
@@ -250,13 +269,16 @@ command_process_var_cell(var_cell_t *cell, or_connection_t *conn)
/* fall through */
case OR_CONN_STATE_TLS_SERVER_RENEGOTIATING:
- if (cell->command != CELL_VERSIONS) {
+ if (! command_allowed_before_handshake(cell->command)) {
log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
- "Received a non-VERSIONS cell with command %d in state %s; "
+ "Received a cell with command %d in state %s; "
"ignoring it.",
(int)cell->command,
conn_state_to_string(CONN_TYPE_OR,conn->_base.state));
return;
+ } else {
+ if (enter_v3_handshake_with_cell(cell, conn)<0)
+ return;
}
break;
case OR_CONN_STATE_OR_HANDSHAKING_V3:
@@ -293,9 +315,9 @@ command_process_var_cell(var_cell_t *cell, or_connection_t *conn)
++stats_n_vpadding_cells_processed;
/* Do nothing */
break;
- case CELL_CERT:
- ++stats_n_cert_cells_processed;
- PROCESS_CELL(cert, cell, conn);
+ case CELL_CERTS:
+ ++stats_n_certs_cells_processed;
+ PROCESS_CELL(certs, cell, conn);
break;
case CELL_AUTH_CHALLENGE:
++stats_n_auth_challenge_cells_processed;
@@ -305,6 +327,10 @@ command_process_var_cell(var_cell_t *cell, or_connection_t *conn)
++stats_n_authenticate_cells_processed;
PROCESS_CELL(authenticate, cell, conn);
break;
+ case CELL_AUTHORIZE:
+ ++stats_n_authorize_cells_processed;
+ /* Ignored so far. */
+ break;
default:
log_fn(LOG_INFO, LD_PROTOCOL,
"Variable-length cell of unknown type (%d) received.",
@@ -592,6 +618,35 @@ command_process_destroy_cell(cell_t *cell, or_connection_t *conn)
}
}
+/** Called when we as a server receive an appropriate cell while waiting
+ * either for a cell or a TLS handshake. Set the connection's state to
+ * "handshaking_v3', initializes the or_handshake_state field as needed,
+ * and add the cell to the hash of incoming cells.)
+ *
+ * Return 0 on success; return -1 and mark the connection on failure.
+ */
+static int
+enter_v3_handshake_with_cell(var_cell_t *cell, or_connection_t *conn)
+{
+ const int started_here = connection_or_nonopen_was_started_here(conn);
+
+ tor_assert(conn->_base.state == OR_CONN_STATE_TLS_HANDSHAKING ||
+ conn->_base.state == OR_CONN_STATE_TLS_SERVER_RENEGOTIATING);
+
+ if (started_here) {
+ log_fn(LOG_PROTOCOL_WARN, LD_OR,
+ "Received a cell while TLS-handshaking, not in "
+ "OR_HANDSHAKING_V3, on a connection we originated.");
+ }
+ conn->_base.state = OR_CONN_STATE_OR_HANDSHAKING_V3;
+ if (connection_init_or_handshake_state(conn, started_here) < 0) {
+ connection_mark_for_close(TO_CONN(conn));
+ return -1;
+ }
+ or_handshake_state_record_var_cell(conn->handshake_state, cell, 1);
+ return 0;
+}
+
/** Process a 'versions' cell. The current link protocol version must be 0
* to indicate that no version has yet been negotiated. We compare the
* versions in the cell to the list of versions we support, pick the
@@ -614,23 +669,10 @@ command_process_versions_cell(var_cell_t *cell, or_connection_t *conn)
switch (conn->_base.state)
{
case OR_CONN_STATE_OR_HANDSHAKING_V2:
+ case OR_CONN_STATE_OR_HANDSHAKING_V3:
break;
case OR_CONN_STATE_TLS_HANDSHAKING:
case OR_CONN_STATE_TLS_SERVER_RENEGOTIATING:
- if (started_here) {
- log_fn(LOG_PROTOCOL_WARN, LD_OR,
- "Received a versions cell while TLS-handshaking not in "
- "OR_HANDSHAKING_V3 on a connection we originated.");
- }
- conn->_base.state = OR_CONN_STATE_OR_HANDSHAKING_V3;
- if (connection_init_or_handshake_state(conn, started_here) < 0) {
- connection_mark_for_close(TO_CONN(conn));
- return;
- }
- or_handshake_state_record_var_cell(conn->handshake_state, cell, 1);
- break;
- case OR_CONN_STATE_OR_HANDSHAKING_V3:
- break;
default:
log_fn(LOG_PROTOCOL_WARN, LD_OR,
"VERSIONS cell while in unexpected state");
@@ -718,8 +760,8 @@ command_process_versions_cell(var_cell_t *cell, or_connection_t *conn)
}
}
if (send_certs) {
- if (connection_or_send_cert_cell(conn) < 0) {
- log_warn(LD_OR, "Couldn't send cert cell");
+ if (connection_or_send_certs_cell(conn) < 0) {
+ log_warn(LD_OR, "Couldn't send certs cell");
connection_mark_for_close(TO_CONN(conn));
return;
}
@@ -886,9 +928,9 @@ command_process_netinfo_cell(cell_t *cell, or_connection_t *conn)
assert_connection_ok(TO_CONN(conn),time(NULL));
}
-/** Process a CERT cell from an OR connection.
+/** Process a CERTS cell from an OR connection.
*
- * If the other side should not have sent us a CERT cell, or the cell is
+ * If the other side should not have sent us a CERTS cell, or the cell is
* malformed, or it is supposed to authenticate the TLS key but it doesn't,
* then mark the connection.
*
@@ -898,12 +940,12 @@ command_process_netinfo_cell(cell_t *cell, or_connection_t *conn)
* If it's the server side, wait for an AUTHENTICATE cell.
*/
static void
-command_process_cert_cell(var_cell_t *cell, or_connection_t *conn)
+command_process_certs_cell(var_cell_t *cell, or_connection_t *conn)
{
#define ERR(s) \
do { \
log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL, \
- "Received a bad CERT cell from %s:%d: %s", \
+ "Received a bad CERTS cell from %s:%d: %s", \
safe_str(conn->_base.address), conn->_base.port, (s)); \
connection_mark_for_close(TO_CONN(conn)); \
goto err; \
@@ -921,7 +963,7 @@ command_process_cert_cell(var_cell_t *cell, or_connection_t *conn)
ERR("We're not doing a v3 handshake!");
if (conn->link_proto < 3)
ERR("We're not using link protocol >= 3");
- if (conn->handshake_state->received_cert_cell)
+ if (conn->handshake_state->received_certs_cell)
ERR("We already got one");
if (conn->handshake_state->authenticated) {
/* Should be unreachable, but let's make sure. */
@@ -951,7 +993,7 @@ command_process_cert_cell(var_cell_t *cell, or_connection_t *conn)
tor_cert_t *cert = tor_cert_decode(ptr + 3, cert_len);
if (!cert) {
log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
- "Received undecodable certificate in CERT cell from %s:%d",
+ "Received undecodable certificate in CERTS cell from %s:%d",
safe_str(conn->_base.address), conn->_base.port);
} else {
if (cert_type == OR_CERT_TYPE_TLS_LINK) {
@@ -985,21 +1027,30 @@ command_process_cert_cell(var_cell_t *cell, or_connection_t *conn)
}
if (conn->handshake_state->started_here) {
+ int severity;
if (! (id_cert && link_cert))
ERR("The certs we wanted were missing");
/* Okay. We should be able to check the certificates now. */
if (! tor_tls_cert_matches_key(conn->tls, link_cert)) {
ERR("The link certificate didn't match the TLS public key");
}
- if (! tor_tls_cert_is_valid(link_cert, id_cert, 0))
+ /* Note that this warns more loudly about time and validity if we were
+ * _trying_ to connect to an authority, not necessarily if we _did_ connect
+ * to one. */
+ if (router_digest_is_trusted_dir(conn->identity_digest))
+ severity = LOG_WARN;
+ else
+ severity = LOG_PROTOCOL_WARN;
+
+ if (! tor_tls_cert_is_valid(severity, link_cert, id_cert, 0))
ERR("The link certificate was not valid");
- if (! tor_tls_cert_is_valid(id_cert, id_cert, 1))
+ if (! tor_tls_cert_is_valid(severity, id_cert, id_cert, 1))
ERR("The ID certificate was not valid");
conn->handshake_state->authenticated = 1;
{
const digests_t *id_digests = tor_cert_get_id_digests(id_cert);
- crypto_pk_env_t *identity_rcvd;
+ crypto_pk_t *identity_rcvd;
if (!id_digests)
ERR("Couldn't compute digests for key in ID cert");
@@ -1009,7 +1060,7 @@ command_process_cert_cell(var_cell_t *cell, or_connection_t *conn)
memcpy(conn->handshake_state->authenticated_peer_id,
id_digests->d[DIGEST_SHA1], DIGEST_LEN);
connection_or_set_circid_type(conn, identity_rcvd);
- crypto_free_pk_env(identity_rcvd);
+ crypto_pk_free(identity_rcvd);
}
if (connection_or_client_learned_peer_id(conn,
@@ -1033,9 +1084,9 @@ command_process_cert_cell(var_cell_t *cell, or_connection_t *conn)
ERR("The certs we wanted were missing");
/* Remember these certificates so we can check an AUTHENTICATE cell */
- if (! tor_tls_cert_is_valid(auth_cert, id_cert, 1))
+ if (! tor_tls_cert_is_valid(LOG_PROTOCOL_WARN, auth_cert, id_cert, 1))
ERR("The authentication certificate was not valid");
- if (! tor_tls_cert_is_valid(id_cert, id_cert, 1))
+ if (! tor_tls_cert_is_valid(LOG_PROTOCOL_WARN, id_cert, id_cert, 1))
ERR("The ID certificate was not valid");
log_info(LD_OR, "Got some good certificates from %s:%d: "
@@ -1048,7 +1099,7 @@ command_process_cert_cell(var_cell_t *cell, or_connection_t *conn)
id_cert = auth_cert = NULL;
}
- conn->handshake_state->received_cert_cell = 1;
+ conn->handshake_state->received_certs_cell = 1;
if (send_netinfo) {
if (connection_or_send_netinfo(conn) < 0) {
@@ -1071,7 +1122,7 @@ command_process_cert_cell(var_cell_t *cell, or_connection_t *conn)
* originator of the connection), or it's ill-formed, or we aren't doing a v3
* handshake, mark the connection. If the cell is well-formed but we don't
* want to authenticate, just drop it. If the cell is well-formed *and* we
- * want to authenticate, send an AUTHENTICATE cell. */
+ * want to authenticate, send an AUTHENTICATE cell and then a NETINFO cell. */
static void
command_process_auth_challenge_cell(var_cell_t *cell, or_connection_t *conn)
{
@@ -1095,7 +1146,7 @@ command_process_auth_challenge_cell(var_cell_t *cell, or_connection_t *conn)
ERR("We didn't originate this connection");
if (conn->handshake_state->received_auth_challenge)
ERR("We already received one");
- if (! conn->handshake_state->received_cert_cell)
+ if (! conn->handshake_state->received_certs_cell)
ERR("We haven't gotten a CERTS cell yet");
if (cell->payload_len < OR_AUTH_CHALLENGE_LEN + 2)
ERR("It was too short");
@@ -1116,7 +1167,14 @@ command_process_auth_challenge_cell(var_cell_t *cell, or_connection_t *conn)
conn->handshake_state->received_auth_challenge = 1;
- if (use_type && public_server_mode(get_options())) {
+ if (! public_server_mode(get_options())) {
+ /* If we're not a public server then we don't want to authenticate on a
+ connection we originated, and we already sent a NETINFO cell when we
+ got the CERTS cell. We have nothing more to do. */
+ return;
+ }
+
+ if (use_type >= 0) {
log_info(LD_OR, "Got an AUTH_CHALLENGE cell from %s:%d: Sending "
"authentication",
safe_str(conn->_base.address), conn->_base.port);
@@ -1126,16 +1184,18 @@ command_process_auth_challenge_cell(var_cell_t *cell, or_connection_t *conn)
connection_mark_for_close(TO_CONN(conn));
return;
}
- if (connection_or_send_netinfo(conn) < 0) {
- log_warn(LD_OR, "Couldn't send netinfo cell");
- connection_mark_for_close(TO_CONN(conn));
- return;
- }
} else {
- log_info(LD_OR, "Got an AUTH_CHALLENGE cell from %s:%d: Not "
- "authenticating",
+ log_info(LD_OR, "Got an AUTH_CHALLENGE cell from %s:%d, but we don't "
+ "know any of its authentication types. Not authenticating.",
safe_str(conn->_base.address), conn->_base.port);
}
+
+ if (connection_or_send_netinfo(conn) < 0) {
+ log_warn(LD_OR, "Couldn't send netinfo cell");
+ connection_mark_for_close(TO_CONN(conn));
+ return;
+ }
+
#undef ERR
}
@@ -1144,7 +1204,7 @@ command_process_auth_challenge_cell(var_cell_t *cell, or_connection_t *conn)
* If it's ill-formed or we weren't supposed to get one or we're not doing a
* v3 handshake, then mark the connection. If it does not authenticate the
* other side of the connection successfully (because it isn't signed right,
- * we didn't get a CERT cell, etc) mark the connection. Otherwise, accept
+ * we didn't get a CERTS cell, etc) mark the connection. Otherwise, accept
* the identity of the router on the other side of the connection.
*/
static void
@@ -1175,8 +1235,8 @@ command_process_authenticate_cell(var_cell_t *cell, or_connection_t *conn)
/* Should be impossible given other checks */
ERR("The peer is already authenticated");
}
- if (! conn->handshake_state->received_cert_cell)
- ERR("We never got a cert cell");
+ if (! conn->handshake_state->received_certs_cell)
+ ERR("We never got a certs cell");
if (conn->handshake_state->auth_cert == NULL)
ERR("We never got an authentication certificate");
if (conn->handshake_state->id_cert == NULL)
@@ -1209,7 +1269,7 @@ command_process_authenticate_cell(var_cell_t *cell, or_connection_t *conn)
ERR("Some field in the AUTHENTICATE cell body was not as expected");
{
- crypto_pk_env_t *pk = tor_tls_cert_get_key(
+ crypto_pk_t *pk = tor_tls_cert_get_key(
conn->handshake_state->auth_cert);
char d[DIGEST256_LEN];
char *signed_data;
@@ -1225,7 +1285,7 @@ command_process_authenticate_cell(var_cell_t *cell, or_connection_t *conn)
signed_len = crypto_pk_public_checksig(pk, signed_data, keysize,
(char*)auth + V3_AUTH_BODY_LEN,
authlen - V3_AUTH_BODY_LEN);
- crypto_free_pk_env(pk);
+ crypto_pk_free(pk);
if (signed_len < 0) {
tor_free(signed_data);
ERR("Signature wasn't valid");
@@ -1248,7 +1308,7 @@ command_process_authenticate_cell(var_cell_t *cell, or_connection_t *conn)
conn->handshake_state->authenticated = 1;
conn->handshake_state->digest_received_data = 0;
{
- crypto_pk_env_t *identity_rcvd =
+ crypto_pk_t *identity_rcvd =
tor_tls_cert_get_key(conn->handshake_state->id_cert);
const digests_t *id_digests =
tor_cert_get_id_digests(conn->handshake_state->id_cert);
@@ -1260,7 +1320,7 @@ command_process_authenticate_cell(var_cell_t *cell, or_connection_t *conn)
id_digests->d[DIGEST_SHA1], DIGEST_LEN);
connection_or_set_circid_type(conn, identity_rcvd);
- crypto_free_pk_env(identity_rcvd);
+ crypto_pk_free(identity_rcvd);
connection_or_init_conn_from_address(conn,
&conn->_base.addr,
diff --git a/src/or/config.c b/src/or/config.c
index 1b9f9fb47..3a7bf65e3 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -36,7 +36,7 @@
#include "util.h"
#include "routerlist.h"
#include "transports.h"
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#include <shlobj.h>
#endif
@@ -89,6 +89,10 @@ typedef struct config_abbrev_t {
/** A list of abbreviations and aliases to map command-line options, obsolete
* option names, or alternative option names, to their current values. */
static config_abbrev_t _option_abbrevs[] = {
+ PLURAL(AuthDirBadDirCC),
+ PLURAL(AuthDirBadExitCC),
+ PLURAL(AuthDirInvalidCC),
+ PLURAL(AuthDirRejectCC),
PLURAL(ExitNode),
PLURAL(EntryNode),
PLURAL(ExcludeNode),
@@ -182,9 +186,15 @@ static config_var_t _option_vars[] = {
V(AlternateHSAuthority, LINELIST, NULL),
V(AssumeReachable, BOOL, "0"),
V(AuthDirBadDir, LINELIST, NULL),
+ V(AuthDirBadDirCCs, CSV, ""),
V(AuthDirBadExit, LINELIST, NULL),
+ V(AuthDirBadExitCCs, CSV, ""),
V(AuthDirInvalid, LINELIST, NULL),
+ V(AuthDirInvalidCCs, CSV, ""),
+ V(AuthDirFastGuarantee, MEMUNIT, "100 KB"),
+ V(AuthDirGuardBWGuarantee, MEMUNIT, "250 KB"),
V(AuthDirReject, LINELIST, NULL),
+ V(AuthDirRejectCCs, CSV, ""),
V(AuthDirRejectUnlisted, BOOL, "0"),
V(AuthDirListBadDirs, BOOL, "0"),
V(AuthDirListBadExits, BOOL, "0"),
@@ -218,7 +228,7 @@ static config_var_t _option_vars[] = {
V(ConstrainedSockSize, MEMUNIT, "8192"),
V(ContactInfo, STRING, NULL),
V(ControlListenAddress, LINELIST, NULL),
- V(ControlPort, PORT, "0"),
+ V(ControlPort, LINELIST, NULL),
V(ControlPortFileGroupReadable,BOOL, "0"),
V(ControlPortWriteToFile, FILENAME, NULL),
V(ControlSocket, LINELIST, NULL),
@@ -229,12 +239,13 @@ static config_var_t _option_vars[] = {
V(CountPrivateBandwidth, BOOL, "0"),
V(DataDirectory, FILENAME, NULL),
OBSOLETE("DebugLogFile"),
- V(DirAllowPrivateAddresses, BOOL, NULL),
+ V(DisableNetwork, BOOL, "0"),
+ V(DirAllowPrivateAddresses, BOOL, "0"),
V(TestingAuthDirTimeToLearnReachability, INTERVAL, "30 minutes"),
V(DirListenAddress, LINELIST, NULL),
OBSOLETE("DirFetchPeriod"),
V(DirPolicy, LINELIST, NULL),
- V(DirPort, PORT, "0"),
+ V(DirPort, LINELIST, NULL),
V(DirPortFrontPage, FILENAME, NULL),
OBSOLETE("DirPostPeriod"),
OBSOLETE("DirRecordUsageByCountry"),
@@ -244,7 +255,9 @@ static config_var_t _option_vars[] = {
V(DirReqStatistics, BOOL, "1"),
VAR("DirServer", LINELIST, DirServers, NULL),
V(DisableAllSwap, BOOL, "0"),
+ V(DisableDebuggerAttachment, BOOL, "1"),
V(DisableIOCP, BOOL, "1"),
+ V(DynamicDHGroups, BOOL, "1"),
V(DNSPort, LINELIST, NULL),
V(DNSListenAddress, LINELIST, NULL),
V(DownloadExtraInfo, BOOL, "0"),
@@ -276,7 +289,7 @@ static config_var_t _option_vars[] = {
V(FetchHidServDescriptors, BOOL, "1"),
V(FetchUselessDescriptors, BOOL, "0"),
V(FetchV2Networkstatus, BOOL, "0"),
-#ifdef WIN32
+#ifdef _WIN32
V(GeoIPFile, FILENAME, "<default>"),
#else
V(GeoIPFile, FILENAME,
@@ -301,6 +314,8 @@ static config_var_t _option_vars[] = {
V(HidServAuth, LINELIST, NULL),
V(HSAuthoritativeDir, BOOL, "0"),
OBSOLETE("HSAuthorityRecordStats"),
+ V(CloseHSClientCircuitsImmediatelyOnTimeout, BOOL, "0"),
+ V(CloseHSServiceRendCircuitsImmediatelyOnTimeout, BOOL, "0"),
V(HTTPProxy, STRING, NULL),
V(HTTPProxyAuthenticator, STRING, NULL),
V(HTTPSProxy, STRING, NULL),
@@ -338,7 +353,7 @@ static config_var_t _option_vars[] = {
V(NumCPUs, UINT, "0"),
V(NumEntryGuards, UINT, "3"),
V(ORListenAddress, LINELIST, NULL),
- V(ORPort, PORT, "0"),
+ V(ORPort, LINELIST, NULL),
V(OutboundBindAddress, STRING, NULL),
OBSOLETE("PathlenCoinWeight"),
V(PerConnBWBurst, MEMUNIT, "0"),
@@ -392,6 +407,7 @@ static config_var_t _option_vars[] = {
V(TestSocks, BOOL, "0"),
OBSOLETE("TestVia"),
V(TokenBucketRefillInterval, MSEC_INTERVAL, "100 msec"),
+ V(Tor2webMode, BOOL, "0"),
V(TrackHostExits, CSV, NULL),
V(TrackHostExitsExpire, INTERVAL, "30 minutes"),
OBSOLETE("TrafficShaping"),
@@ -403,6 +419,7 @@ static config_var_t _option_vars[] = {
V(UseEntryGuards, BOOL, "1"),
V(UseMicrodescriptors, AUTOBOOL, "auto"),
V(User, STRING, NULL),
+ V(UserspaceIOCPBuffers, BOOL, "0"),
VAR("V1AuthoritativeDirectory",BOOL, V1AuthoritativeDir, "0"),
VAR("V2AuthoritativeDirectory",BOOL, V2AuthoritativeDir, "0"),
VAR("V3AuthoritativeDirectory",BOOL, V3AuthoritativeDir, "0"),
@@ -556,7 +573,7 @@ typedef struct {
*(uint32_t*)STRUCT_VAR_P(cfg,fmt->magic_offset)); \
STMT_END
-#ifdef MS_WINDOWS
+#ifdef _WIN32
static char *get_windows_conf_root(void);
#endif
static void config_line_append(config_line_t **lst,
@@ -594,8 +611,11 @@ static int parse_dir_server_line(const char *line,
dirinfo_type_t required_type,
int validate_only);
static void port_cfg_free(port_cfg_t *port);
-static int parse_client_ports(const or_options_t *options, int validate_only,
+static int parse_ports(const or_options_t *options, int validate_only,
char **msg_out, int *n_ports_out);
+static int check_server_ports(const smartlist_t *ports,
+ const or_options_t *options);
+
static int validate_data_directory(or_options_t *options);
static int write_configuration_file(const char *fname,
const or_options_t *options);
@@ -608,9 +628,6 @@ static int or_state_validate(or_state_t *old_options, or_state_t *options,
static int or_state_load(void);
static int options_init_logs(or_options_t *options, int validate_only);
-static int is_listening_on_low_port(int port_option,
- const config_line_t *listen_options);
-
static uint64_t config_parse_memunit(const char *s, int *ok);
static int config_parse_msec_interval(const char *s, int *ok);
static int config_parse_interval(const char *s, int *ok);
@@ -657,16 +674,20 @@ static const config_format_t state_format = {
/** Command-line and config-file options. */
static or_options_t *global_options = NULL;
+/** DOCDOC */
+static or_options_t *global_default_options = NULL;
/** Name of most recently read torrc file. */
static char *torrc_fname = NULL;
+/** DOCDOC */
+static char *torrc_defaults_fname;
/** Persistent serialized state. */
static or_state_t *global_state = NULL;
/** Configuration Options set by command line. */
static config_line_t *global_cmdline_options = NULL;
/** Contents of most recently read DirPortFrontPage file. */
static char *global_dirfrontpagecontents = NULL;
-/** List of port_cfg_t for client-level (SOCKS, DNS, Trans, NATD) ports. */
-static smartlist_t *configured_client_ports = NULL;
+/** List of port_cfg_t for all configured ports. */
+static smartlist_t *configured_ports = NULL;
/** Return the contents of our frontpage string, or NULL if not configured. */
const char *
@@ -727,7 +748,7 @@ set_options(or_options_t *new_val, char **msg)
/* Issues a CONF_CHANGED event to notify controller of the change. If Tor is
* just starting up then the old_options will be undefined. */
if (old_options) {
- elements = smartlist_create();
+ elements = smartlist_new();
for (i=0; options_format.vars[i].name; ++i) {
const config_var_t *var = &options_format.vars[i];
const char *var_name = var->name;
@@ -760,22 +781,20 @@ set_options(or_options_t *new_val, char **msg)
extern const char tor_git_revision[]; /* from tor_main.c */
/** The version of this Tor process, as parsed. */
-static char *_version = NULL;
+static char *the_tor_version = NULL;
/** Return the current Tor version. */
const char *
get_version(void)
{
- if (_version == NULL) {
+ if (the_tor_version == NULL) {
if (strlen(tor_git_revision)) {
- size_t len = strlen(VERSION)+strlen(tor_git_revision)+16;
- _version = tor_malloc(len);
- tor_snprintf(_version, len, "%s (git-%s)", VERSION, tor_git_revision);
+ tor_asprintf(&the_tor_version, "%s (git-%s)", VERSION, tor_git_revision);
} else {
- _version = tor_strdup(VERSION);
+ the_tor_version = tor_strdup(VERSION);
}
}
- return _version;
+ return the_tor_version;
}
/** Release additional memory allocated in options
@@ -802,6 +821,8 @@ config_free_all(void)
{
or_options_free(global_options);
global_options = NULL;
+ or_options_free(global_default_options);
+ global_default_options = NULL;
config_free(&state_format, global_state);
global_state = NULL;
@@ -809,15 +830,16 @@ config_free_all(void)
config_free_lines(global_cmdline_options);
global_cmdline_options = NULL;
- if (configured_client_ports) {
- SMARTLIST_FOREACH(configured_client_ports,
+ if (configured_ports) {
+ SMARTLIST_FOREACH(configured_ports,
port_cfg_t *, p, tor_free(p));
- smartlist_free(configured_client_ports);
- configured_client_ports = NULL;
+ smartlist_free(configured_ports);
+ configured_ports = NULL;
}
tor_free(torrc_fname);
- tor_free(_version);
+ tor_free(torrc_defaults_fname);
+ tor_free(the_tor_version);
tor_free(global_dirfrontpagecontents);
}
@@ -906,7 +928,7 @@ add_default_trusted_dir_authorities(dirinfo_type_t type)
"208.83.223.34:443 0AD3 FA88 4D18 F89E EA2D 89C0 1937 9E0E 7FD9 4417",
"maatuska orport=80 no-v2 "
"v3ident=49015F787433103580E3B66A1707A00E60F2D15B "
- "213.115.239.118:443 BD6A 8292 55CB 08E6 6FBE 7D37 4836 3586 E46B 3810",
+ "171.25.193.9:443 BD6A 8292 55CB 08E6 6FBE 7D37 4836 3586 E46B 3810",
NULL
};
for (i=0; dirservers[i]; i++) {
@@ -1030,8 +1052,8 @@ consider_adding_dir_authorities(const or_options_t *options,
static int
options_act_reversible(const or_options_t *old_options, char **msg)
{
- smartlist_t *new_listeners = smartlist_create();
- smartlist_t *replaced_listeners = smartlist_create();
+ smartlist_t *new_listeners = smartlist_new();
+ smartlist_t *replaced_listeners = smartlist_new();
static int libevent_initialized = 0;
or_options_t *options = get_options_mutable();
int running_tor = options->command == CMD_RUN_TOR;
@@ -1062,7 +1084,7 @@ options_act_reversible(const or_options_t *old_options, char **msg)
#endif
if (running_tor) {
- int n_client_ports=0;
+ int n_ports=0;
/* We need to set the connection limit before we can open the listeners. */
if (set_max_file_descriptors((unsigned)options->ConnLimit,
&options->_ConnLimit) < 0) {
@@ -1078,10 +1100,10 @@ options_act_reversible(const or_options_t *old_options, char **msg)
libevent_initialized = 1;
}
- /* Adjust the client port configuration so we can launch listeners. */
- if (parse_client_ports(options, 0, msg, &n_client_ports)) {
+ /* Adjust the port configuration so we can launch listeners. */
+ if (parse_ports(options, 0, msg, &n_ports)) {
if (!*msg)
- *msg = tor_strdup("Unexpected problem parsing client port config");
+ *msg = tor_strdup("Unexpected problem parsing port config");
goto rollback;
}
@@ -1089,13 +1111,22 @@ options_act_reversible(const or_options_t *old_options, char **msg)
consider_hibernation(time(NULL));
/* Launch the listeners. (We do this before we setuid, so we can bind to
- * ports under 1024.) We don't want to rebind if we're hibernating. */
+ * ports under 1024.) We don't want to rebind if we're hibernating. If
+ * networking is disabled, this will close all but the control listeners,
+ * but disable those. */
if (!we_are_hibernating()) {
if (retry_all_listeners(replaced_listeners, new_listeners) < 0) {
*msg = tor_strdup("Failed to bind one of the listener ports.");
goto rollback;
}
}
+ if (options->DisableNetwork) {
+ /* Aggressively close non-controller stuff, NOW */
+ log_notice(LD_NET, "DisableNetwork is set. Tor will not make or accept "
+ "non-control network connections. Shutting down all existing "
+ "connections.");
+ connection_mark_all_noncontrol_connections();
+ }
}
#if defined(HAVE_NET_IF_H) && defined(HAVE_NET_PFVAR_H)
@@ -1141,9 +1172,8 @@ options_act_reversible(const or_options_t *old_options, char **msg)
control_ports_write_to_file();
if (directory_caches_v2_dir_info(options)) {
- size_t len = strlen(options->DataDirectory)+32;
- char *fn = tor_malloc(len);
- tor_snprintf(fn, len, "%s"PATH_SEPARATOR"cached-status",
+ char *fn = NULL;
+ tor_asprintf(&fn, "%s"PATH_SEPARATOR"cached-status",
options->DataDirectory);
if (check_private_dir(fn, running_tor ? CPD_CREATE : CPD_CHECK,
options->User) < 0) {
@@ -1264,6 +1294,24 @@ get_effective_bwburst(const or_options_t *options)
return (uint32_t)bw;
}
+/** Return True if any changes from <b>old_options</b> to
+ * <b>new_options</b> needs us to refresh our TLS context. */
+static int
+options_transition_requires_fresh_tls_context(const or_options_t *old_options,
+ const or_options_t *new_options)
+{
+ tor_assert(new_options);
+
+ if (!old_options)
+ return 0;
+
+ if ((old_options->DynamicDHGroups != new_options->DynamicDHGroups)) {
+ return 1;
+ }
+
+ return 0;
+}
+
/** Fetch the active option list, and take actions based on it. All of the
* things we do should survive being done repeatedly. If present,
* <b>old_options</b> contains the previous value of the options.
@@ -1283,6 +1331,28 @@ options_act(const or_options_t *old_options)
const int transition_affects_workers =
old_options && options_transition_affects_workers(old_options, options);
+ /* disable ptrace and later, other basic debugging techniques */
+ {
+ /* Remember if we already disabled debugger attachment */
+ static int disabled_debugger_attach = 0;
+ /* Remember if we already warned about being configured not to disable
+ * debugger attachment */
+ static int warned_debugger_attach = 0;
+ if (options->DisableDebuggerAttachment && !disabled_debugger_attach) {
+ int ok = tor_disable_debugger_attach();
+ if (warned_debugger_attach && ok == 1) {
+ log_notice(LD_CONFIG, "Disabled attaching debuggers for unprivileged "
+ "users.");
+ }
+ disabled_debugger_attach = (ok == 1);
+ } else if (!options->DisableDebuggerAttachment &&
+ !warned_debugger_attach) {
+ log_notice(LD_CONFIG, "Not disabling debugger attaching for "
+ "unprivileged users.");
+ warned_debugger_attach = 1;
+ }
+ }
+
if (running_tor && !have_lockfile()) {
if (try_locking(options, 1) < 0)
return -1;
@@ -1291,6 +1361,28 @@ options_act(const or_options_t *old_options)
if (consider_adding_dir_authorities(options, old_options) < 0)
return -1;
+#ifdef NON_ANONYMOUS_MODE_ENABLED
+ log(LOG_WARN, LD_GENERAL, "This copy of Tor was compiled to run in a "
+ "non-anonymous mode. It will provide NO ANONYMITY.");
+#endif
+
+#ifdef ENABLE_TOR2WEB_MODE
+ if (!options->Tor2webMode) {
+ log_err(LD_CONFIG, "This copy of Tor was compiled to run in "
+ "'tor2web mode'. It can only be run with the Tor2webMode torrc "
+ "option enabled.");
+ return -1;
+ }
+#else
+ if (options->Tor2webMode) {
+ log_err(LD_CONFIG, "This copy of Tor was not compiled to run in "
+ "'tor2web mode'. It cannot be run with the Tor2webMode torrc "
+ "option enabled. To enable Tor2webMode recompile with the "
+ "--enable-tor2webmode option.");
+ return -1;
+ }
+#endif
+
if (options->Bridges) {
mark_bridge_list();
for (cl = options->Bridges; cl; cl = cl->next) {
@@ -1359,6 +1451,29 @@ options_act(const or_options_t *old_options)
finish_daemon(options->DataDirectory);
}
+ /* If needed, generate a new TLS DH prime according to the current torrc. */
+ if (server_mode(options)) {
+ if (!old_options) {
+ if (options->DynamicDHGroups) {
+ char *fname = get_datadir_fname2("keys", "dynamic_dh_params");
+ crypto_set_tls_dh_prime(fname);
+ tor_free(fname);
+ } else {
+ crypto_set_tls_dh_prime(NULL);
+ }
+ } else {
+ if (options->DynamicDHGroups && !old_options->DynamicDHGroups) {
+ char *fname = get_datadir_fname2("keys", "dynamic_dh_params");
+ crypto_set_tls_dh_prime(fname);
+ tor_free(fname);
+ } else if (!options->DynamicDHGroups && old_options->DynamicDHGroups) {
+ crypto_set_tls_dh_prime(NULL);
+ }
+ }
+ } else { /* clients don't need a dynamic DH prime. */
+ crypto_set_tls_dh_prime(NULL);
+ }
+
/* 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 ||
@@ -1368,6 +1483,13 @@ options_act(const or_options_t *old_options)
log_warn(LD_BUG,"Error initializing keys; exiting");
return -1;
}
+ } else if (old_options &&
+ options_transition_requires_fresh_tls_context(old_options,
+ options)) {
+ if (router_initialize_tls_context() < 0) {
+ log_warn(LD_BUG,"Error initializing TLS context.");
+ return -1;
+ }
}
/* Write our PID to the PID file. If we do not have write permissions we
@@ -1477,7 +1599,7 @@ options_act(const or_options_t *old_options)
int was_relay = 0;
if (options->BridgeRelay) {
time_t int_start = time(NULL);
- if (old_options->ORPort == options->ORPort) {
+ if (config_lines_eq(old_options->ORPort, options->ORPort)) {
int_start += RELAY_BRIDGE_STATS_DELAY;
was_relay = 1;
}
@@ -1522,13 +1644,11 @@ options_act(const or_options_t *old_options)
* understand prefixes somehow. -NM */
/* XXXX023 Reload GeoIPFile on SIGHUP. -NM */
char *actual_fname = tor_strdup(options->GeoIPFile);
-#ifdef WIN32
+#ifdef _WIN32
if (!strcmp(actual_fname, "<default>")) {
const char *conf_root = get_windows_conf_root();
- size_t len = strlen(conf_root)+16;
tor_free(actual_fname);
- actual_fname = tor_malloc(len+1);
- tor_snprintf(actual_fname, len, "%s\\geoip", conf_root);
+ tor_asprintf(&actual_fname, "%s\\geoip", conf_root);
}
#endif
geoip_load_file(actual_fname, options);
@@ -1541,6 +1661,15 @@ options_act(const or_options_t *old_options)
options->BridgeAuthoritativeDir) {
time_t now = time(NULL);
int print_notice = 0;
+
+ /* If we aren't acting as a server, we can't collect stats anyway. */
+ if (!server_mode(options)) {
+ options->CellStatistics = 0;
+ options->DirReqStatistics = 0;
+ options->EntryStatistics = 0;
+ options->ExitPortStatistics = 0;
+ }
+
if ((!old_options || !old_options->CellStatistics) &&
options->CellStatistics) {
rep_hist_buffer_stats_init(now);
@@ -1707,7 +1836,11 @@ config_get_commandlines(int argc, char **argv, config_line_t **result)
int i = 1;
while (i < argc) {
+ unsigned command = CONFIG_LINE_NORMAL;
+ int want_arg = 1;
+
if (!strcmp(argv[i],"-f") ||
+ !strcmp(argv[i],"--defaults-torrc") ||
!strcmp(argv[i],"--hash-password")) {
i += 2; /* command-line option with argument. ignore them. */
continue;
@@ -1724,13 +1857,6 @@ config_get_commandlines(int argc, char **argv, config_line_t **result)
continue;
}
- if (i == argc-1) {
- log_warn(LD_CONFIG,"Command-line option '%s' with no value. Failing.",
- argv[i]);
- config_free_lines(front);
- return -1;
- }
-
*new = tor_malloc_zero(sizeof(config_line_t));
s = argv[i];
@@ -1739,15 +1865,33 @@ config_get_commandlines(int argc, char **argv, config_line_t **result)
s++;
if (*s == '-')
s++;
+ /* Figure out the command, if any. */
+ if (*s == '+') {
+ s++;
+ command = CONFIG_LINE_APPEND;
+ } else if (*s == '/') {
+ s++;
+ command = CONFIG_LINE_CLEAR;
+ /* A 'clear' command has no argument. */
+ want_arg = 0;
+ }
+
+ if (want_arg && i == argc-1) {
+ log_warn(LD_CONFIG,"Command-line option '%s' with no value. Failing.",
+ argv[i]);
+ config_free_lines(front);
+ return -1;
+ }
(*new)->key = tor_strdup(expand_abbrev(&options_format, s, 1, 1));
- (*new)->value = tor_strdup(argv[i+1]);
+ (*new)->value = want_arg ? tor_strdup(argv[i+1]) : tor_strdup("");
+ (*new)->command = command;
(*new)->next = NULL;
log(LOG_DEBUG, LD_CONFIG, "command line: parsed keyword '%s', value '%s'",
(*new)->key, (*new)->value);
new = &((*new)->next);
- i += 2;
+ i += want_arg ? 2 : 1;
}
*result = front;
return 0;
@@ -1762,7 +1906,7 @@ config_line_append(config_line_t **lst,
{
config_line_t *newline;
- newline = tor_malloc(sizeof(config_line_t));
+ newline = tor_malloc_zero(sizeof(config_line_t));
newline->key = tor_strdup(key);
newline->value = tor_strdup(val);
newline->next = NULL;
@@ -1775,9 +1919,12 @@ config_line_append(config_line_t **lst,
/** Helper: parse the config string and strdup into key/value
* strings. Set *result to the list, or NULL if parsing the string
* failed. Return 0 on success, -1 on failure. Warn and ignore any
- * misformatted lines. */
+ * misformatted lines.
+ *
+ * If <b>extended</b> is set, then treat keys beginning with / and with + as
+ * indicating "clear" and "append" respectively. */
int
-config_get_lines(const char *string, config_line_t **result)
+config_get_lines(const char *string, config_line_t **result, int extended)
{
config_line_t *list = NULL, **next;
char *k, *v;
@@ -1793,13 +1940,30 @@ config_get_lines(const char *string, config_line_t **result)
return -1;
}
if (k && v) {
+ unsigned command = CONFIG_LINE_NORMAL;
+ if (extended) {
+ if (k[0] == '+') {
+ char *k_new = tor_strdup(k+1);
+ tor_free(k);
+ k = k_new;
+ command = CONFIG_LINE_APPEND;
+ } else if (k[0] == '/') {
+ char *k_new = tor_strdup(k+1);
+ tor_free(k);
+ k = k_new;
+ tor_free(v);
+ v = tor_strdup("");
+ command = CONFIG_LINE_CLEAR;
+ }
+ }
/* This list can get long, so we keep a pointer to the end of it
* rather than using config_line_append over and over and getting
* n^2 performance. */
- *next = tor_malloc(sizeof(config_line_t));
+ *next = tor_malloc_zero(sizeof(config_line_t));
(*next)->key = k;
(*next)->value = v;
(*next)->next = NULL;
+ (*next)->command = command;
next = &((*next)->next);
} else {
tor_free(k);
@@ -2018,7 +2182,7 @@ config_assign_value(const config_format_t *fmt, or_options_t *options,
SMARTLIST_FOREACH(*(smartlist_t**)lvalue, char *, cp, tor_free(cp));
smartlist_clear(*(smartlist_t**)lvalue);
} else {
- *(smartlist_t**)lvalue = smartlist_create();
+ *(smartlist_t**)lvalue = smartlist_new();
}
smartlist_split_string(*(smartlist_t**)lvalue, c->value, ",",
@@ -2027,7 +2191,19 @@ config_assign_value(const config_format_t *fmt, or_options_t *options,
case CONFIG_TYPE_LINELIST:
case CONFIG_TYPE_LINELIST_S:
- config_line_append((config_line_t**)lvalue, c->key, c->value);
+ {
+ config_line_t *lastval = *(config_line_t**)lvalue;
+ if (lastval && lastval->fragile) {
+ if (c->command != CONFIG_LINE_APPEND) {
+ config_free_lines(lastval);
+ *(config_line_t**)lvalue = NULL;
+ } else {
+ lastval->fragile = 0;
+ }
+ }
+
+ config_line_append((config_line_t**)lvalue, c->key, c->value);
+ }
break;
case CONFIG_TYPE_OBSOLETE:
log_warn(LD_CONFIG, "Skipping obsolete configuration option '%s'", c->key);
@@ -2043,6 +2219,28 @@ config_assign_value(const config_format_t *fmt, or_options_t *options,
return 0;
}
+/** Mark every linelist in <b>options<b> "fragile", so that fresh assignments
+ * to it will replace old ones. */
+static void
+config_mark_lists_fragile(const config_format_t *fmt, or_options_t *options)
+{
+ int i;
+ tor_assert(fmt);
+ tor_assert(options);
+
+ for (i = 0; fmt->vars[i].name; ++i) {
+ const config_var_t *var = &fmt->vars[i];
+ config_line_t *list;
+ if (var->type != CONFIG_TYPE_LINELIST &&
+ var->type != CONFIG_TYPE_LINELIST_V)
+ continue;
+
+ list = *(config_line_t **)STRUCT_VAR_P(options, var->var_offset);
+ if (list)
+ list->fragile = 1;
+ }
+}
+
/** If <b>c</b> is a syntactically valid configuration line, update
* <b>options</b> with its value and return 0. Otherwise return -1 for bad
* key, -2 for bad value.
@@ -2085,8 +2283,9 @@ config_assign_line(const config_format_t *fmt, or_options_t *options,
if (!strlen(c->value)) {
/* reset or clear it, then return */
if (!clear_first) {
- if (var->type == CONFIG_TYPE_LINELIST ||
- var->type == CONFIG_TYPE_LINELIST_S) {
+ if ((var->type == CONFIG_TYPE_LINELIST ||
+ var->type == CONFIG_TYPE_LINELIST_S) &&
+ c->command != CONFIG_LINE_CLEAR) {
/* We got an empty linelist from the torrc or command line.
As a special case, call this an error. Warn and ignore. */
log_warn(LD_CONFIG,
@@ -2096,6 +2295,8 @@ config_assign_line(const config_format_t *fmt, or_options_t *options,
}
}
return 0;
+ } else if (c->command == CONFIG_LINE_CLEAR && !clear_first) {
+ option_reset(fmt, options, var, use_defaults);
}
if (options_seen && (var->type != CONFIG_TYPE_LINELIST &&
@@ -2190,7 +2391,7 @@ config_lines_dup(const config_line_t *inp)
config_line_t *result = NULL;
config_line_t **next_out = &result;
while (inp) {
- *next_out = tor_malloc(sizeof(config_line_t));
+ *next_out = tor_malloc_zero(sizeof(config_line_t));
(*next_out)->key = tor_strdup(inp->key);
(*next_out)->value = tor_strdup(inp->value);
inp = inp->next;
@@ -2427,6 +2628,12 @@ config_assign(const config_format_t *fmt, void *options, config_line_t *list,
list = list->next;
}
bitarray_free(options_seen);
+
+ /** Now we're done assigning a group of options to the configuration.
+ * Subsequent group assignments should _replace_ linelists, not extend
+ * them. */
+ config_mark_lists_fragile(fmt, options);
+
return 0;
}
@@ -2572,7 +2779,7 @@ static void
list_torrc_options(void)
{
int i;
- smartlist_t *lines = smartlist_create();
+ smartlist_t *lines = smartlist_new();
for (i = 0; _option_vars[i].name; ++i) {
const config_var_t *var = &_option_vars[i];
if (var->type == CONFIG_TYPE_OBSOLETE ||
@@ -2869,37 +3076,6 @@ options_init(or_options_t *options)
config_init(&options_format, options);
}
-/* Check if the port number given in <b>port_option</b> in combination with
- * the specified port in <b>listen_options</b> will result in Tor actually
- * opening a low port (meaning a port lower than 1024). Return 1 if
- * it is, or 0 if it isn't or the concept of a low port isn't applicable for
- * the platform we're on. */
-static int
-is_listening_on_low_port(int port_option,
- const config_line_t *listen_options)
-{
-#ifdef MS_WINDOWS
- (void) port_option;
- (void) listen_options;
- return 0; /* No port is too low for windows. */
-#else
- const config_line_t *l;
- uint16_t p;
- if (port_option == 0)
- return 0; /* We're not listening */
- if (listen_options == NULL)
- return (port_option < 1024);
-
- for (l = listen_options; l; l = l->next) {
- addr_port_lookup(LOG_WARN, l->value, NULL, NULL, &p);
- if (p<1024) {
- return 1;
- }
- }
- return 0;
-#endif
-}
-
/** Set all vars in the configuration object <b>options</b> to their default
* values. */
static void
@@ -2922,27 +3098,33 @@ config_init(const config_format_t *fmt, void *options)
* Else, if comment_defaults, write default values as comments.
*/
static char *
-config_dump(const config_format_t *fmt, const void *options, int minimal,
+config_dump(const config_format_t *fmt, const void *default_options,
+ const void *options, int minimal,
int comment_defaults)
{
smartlist_t *elements;
- or_options_t *defaults;
+ const or_options_t *defaults = default_options;
+ void *defaults_tmp = NULL;
config_line_t *line, *assigned;
char *result;
int i;
char *msg = NULL;
- defaults = config_alloc(fmt);
- config_init(fmt, defaults);
+ if (defaults == NULL) {
+ defaults = defaults_tmp = config_alloc(fmt);
+ config_init(fmt, defaults_tmp);
+ }
/* XXX use a 1 here so we don't add a new log line while dumping */
- if (fmt->validate_fn(NULL,defaults, 1, &msg) < 0) {
- log_err(LD_BUG, "Failed to validate default config.");
- tor_free(msg);
- tor_assert(0);
+ if (default_options == NULL) {
+ if (fmt->validate_fn(NULL, defaults_tmp, 1, &msg) < 0) {
+ log_err(LD_BUG, "Failed to validate default config.");
+ tor_free(msg);
+ tor_assert(0);
+ }
}
- elements = smartlist_create();
+ elements = smartlist_new();
for (i=0; fmt->vars[i].name; ++i) {
int comment_option = 0;
if (fmt->vars[i].type == CONFIG_TYPE_OBSOLETE ||
@@ -2960,11 +3142,9 @@ config_dump(const config_format_t *fmt, const void *options, int minimal,
line = assigned = get_assigned_option(fmt, options, fmt->vars[i].name, 1);
for (; line; line = line->next) {
- char *tmp;
- tor_asprintf(&tmp, "%s%s %s\n",
+ smartlist_add_asprintf(elements, "%s%s %s\n",
comment_option ? "# " : "",
line->key, line->value);
- smartlist_add(elements, tmp);
}
config_free_lines(assigned);
}
@@ -2972,16 +3152,15 @@ config_dump(const config_format_t *fmt, const void *options, int minimal,
if (fmt->extra) {
line = *(config_line_t**)STRUCT_VAR_P(options, fmt->extra->var_offset);
for (; line; line = line->next) {
- char *tmp;
- tor_asprintf(&tmp, "%s %s\n", line->key, line->value);
- smartlist_add(elements, tmp);
+ smartlist_add_asprintf(elements, "%s %s\n", line->key, line->value);
}
}
result = smartlist_join_strings(elements, "", 0, NULL);
SMARTLIST_FOREACH(elements, char *, cp, tor_free(cp));
smartlist_free(elements);
- config_free(fmt, defaults);
+ if (defaults_tmp)
+ config_free(fmt, defaults_tmp);
return result;
}
@@ -2992,7 +3171,8 @@ config_dump(const config_format_t *fmt, const void *options, int minimal,
char *
options_dump(const or_options_t *options, int minimal)
{
- return config_dump(&options_format, options, minimal, 0);
+ return config_dump(&options_format, global_default_options,
+ options, minimal, 0);
}
/** Return 0 if every element of sl is a string holding a decimal
@@ -3117,7 +3297,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
int i;
config_line_t *cl;
const char *uname = get_uname();
- int n_client_ports=0;
+ int n_ports=0;
#define REJECT(arg) \
STMT_BEGIN *msg = tor_strdup(arg); return -1; STMT_END
#define COMPLAIN(arg) STMT_BEGIN log(LOG_WARN, LD_CONFIG, arg); STMT_END
@@ -3135,13 +3315,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
"for details.", uname);
}
- if (options->ORPort == 0 && options->ORListenAddress != NULL)
- REJECT("ORPort must be defined if ORListenAddress is defined.");
-
- if (options->DirPort == 0 && options->DirListenAddress != NULL)
- REJECT("DirPort must be defined if DirListenAddress is defined.");
-
- if (parse_client_ports(options, 1, msg, &n_client_ports) < 0)
+ if (parse_ports(options, 1, msg, &n_ports) < 0)
return -1;
if (validate_data_directory(options)<0)
@@ -3183,12 +3357,14 @@ options_validate(or_options_t *old_options, or_options_t *options,
REJECT("Failed to resolve/guess local address. See logs for details.");
}
-#ifndef MS_WINDOWS
+#ifndef _WIN32
if (options->RunAsDaemon && torrc_fname && path_is_relative(torrc_fname))
REJECT("Can't use a relative path to torrc when RunAsDaemon is set.");
#endif
- if (n_client_ports == 0 && options->ORPort == 0 && !options->RendConfigLines)
+ /* XXXX require that the only port not be DirPort? */
+ /* XXXX require that at least one port be listened-upon. */
+ if (n_ports == 0 && !options->RendConfigLines)
log(LOG_WARN, LD_CONFIG,
"SocksPort, TransPort, NATDPort, DNSPort, and ORPort are all "
"undefined, and there aren't any hidden services configured. "
@@ -3204,19 +3380,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
REJECT("TokenBucketRefillInterval must be between 1 and 1000 inclusive.");
}
- if (options->AccountingMax &&
- (is_listening_on_low_port(options->ORPort, options->ORListenAddress) ||
- is_listening_on_low_port(options->DirPort, options->DirListenAddress)))
- {
- log(LOG_WARN, LD_CONFIG,
- "You have set AccountingMax to use hibernation. You have also "
- "chosen a low DirPort or OrPort. This combination can make Tor stop "
- "working when it tries to re-attach the port after a period of "
- "hibernation. Please choose a different port or turn off "
- "hibernation unless you know this combination will work on your "
- "platform.");
- }
-
if (options->ExcludeExitNodes || options->ExcludeNodes) {
options->_ExcludeExitNodesUnion = routerset_new();
routerset_union(options->_ExcludeExitNodesUnion,options->ExcludeExitNodes);
@@ -3224,7 +3387,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
}
if (options->NodeFamilies) {
- options->NodeFamilySets = smartlist_create();
+ options->NodeFamilySets = smartlist_new();
for (cl = options->NodeFamilies; cl; cl = cl->next) {
routerset_t *rs = routerset_new();
if (routerset_parse(rs, cl->value, cl->key) == 0) {
@@ -3330,7 +3493,7 @@ options_validate(or_options_t *old_options, or_options_t *options,
/* We already have firewall ports set, so migrate them to
* ReachableAddresses, which will set ReachableORAddresses and
* ReachableDirAddresses if they aren't set explicitly. */
- smartlist_t *instead = smartlist_create();
+ smartlist_t *instead = smartlist_new();
config_line_t *new_line = tor_malloc_zero(sizeof(config_line_t));
new_line->key = tor_strdup("ReachableAddresses");
/* If we're configured with the old format, we need to prepend some
@@ -3338,11 +3501,8 @@ options_validate(or_options_t *old_options, or_options_t *options,
SMARTLIST_FOREACH(options->FirewallPorts, const char *, portno,
{
int p = atoi(portno);
- char *s;
if (p<0) continue;
- s = tor_malloc(16);
- tor_snprintf(s, 16, "*:%d", p);
- smartlist_add(instead, s);
+ smartlist_add_asprintf(instead, "*:%d", p);
});
new_line->value = smartlist_join_strings(instead,",",0,NULL);
/* These have been deprecated since 0.1.1.5-alpha-cvs */
@@ -3418,6 +3578,10 @@ options_validate(or_options_t *old_options, or_options_t *options,
if (options->UseBridges && options->EntryNodes)
REJECT("You cannot set both UseBridges and EntryNodes.");
+ if (options->EntryNodes && !options->UseEntryGuards)
+ log_warn(LD_CONFIG, "EntryNodes is set, but UseEntryGuards is disabled. "
+ "EntryNodes will be ignored.");
+
options->_AllowInvalid = 0;
if (options->AllowInvalidNodes) {
SMARTLIST_FOREACH(options->AllowInvalidNodes, const char *, cp, {
@@ -3470,7 +3634,8 @@ options_validate(or_options_t *old_options, or_options_t *options,
if (options->BridgeRelay && options->DirPort) {
log_warn(LD_CONFIG, "Can't set a DirPort on a bridge relay; disabling "
"DirPort");
- options->DirPort = 0;
+ config_free_lines(options->DirPort);
+ options->DirPort = NULL;
}
if (options->MinUptimeHidServDirectoryV2 < 0) {
@@ -3491,6 +3656,24 @@ options_validate(or_options_t *old_options, or_options_t *options,
options->RendPostPeriod = MAX_DIR_PERIOD;
}
+ if (options->Tor2webMode && options->LearnCircuitBuildTimeout) {
+ /* LearnCircuitBuildTimeout and Tor2webMode are incompatible in
+ * two ways:
+ *
+ * - LearnCircuitBuildTimeout results in a low CBT, which
+ * Tor2webMode's use of one-hop rendezvous circuits lowers
+ * much further, producing *far* too many timeouts.
+ *
+ * - The adaptive CBT code does not update its timeout estimate
+ * using build times for single-hop circuits.
+ *
+ * If we fix both of these issues someday, we should test
+ * Tor2webMode with LearnCircuitBuildTimeout on again. */
+ log_notice(LD_CONFIG,"Tor2webMode is enabled; turning "
+ "LearnCircuitBuildTimeout off.");
+ options->LearnCircuitBuildTimeout = 0;
+ }
+
if (options->MaxCircuitDirtiness < MIN_MAX_CIRCUIT_DIRTINESS) {
log_warn(LD_CONFIG, "MaxCircuitDirtiness option is too short; "
"raising to %d seconds.", MIN_MAX_CIRCUIT_DIRTINESS);
@@ -3535,6 +3718,12 @@ options_validate(or_options_t *old_options, or_options_t *options,
if (ensure_bandwidth_cap(&options->PerConnBWBurst,
"PerConnBWBurst", msg) < 0)
return -1;
+ if (ensure_bandwidth_cap(&options->AuthDirFastGuarantee,
+ "AuthDirFastGuarantee", msg) < 0)
+ return -1;
+ if (ensure_bandwidth_cap(&options->AuthDirGuardBWGuarantee,
+ "AuthDirGuardBWGuarantee", msg) < 0)
+ return -1;
if (options->RelayBandwidthRate && !options->RelayBandwidthBurst)
options->RelayBandwidthBurst = options->RelayBandwidthRate;
@@ -3687,39 +3876,6 @@ options_validate(or_options_t *old_options, or_options_t *options,
}
}
- if (options->ControlListenAddress) {
- int all_are_local = 1;
- config_line_t *ln;
- for (ln = options->ControlListenAddress; ln; ln = ln->next) {
- if (strcmpstart(ln->value, "127."))
- all_are_local = 0;
- }
- if (!all_are_local) {
- if (!options->HashedControlPassword &&
- !options->HashedControlSessionPassword &&
- !options->CookieAuthentication) {
- log_warn(LD_CONFIG,
- "You have a ControlListenAddress set to accept "
- "unauthenticated connections from a non-local address. "
- "This means that programs not running on your computer "
- "can reconfigure your Tor, without even having to guess a "
- "password. That's so bad that I'm closing your ControlPort "
- "for you. If you need to control your Tor remotely, try "
- "enabling authentication and using a tool like stunnel or "
- "ssh to encrypt remote access.");
- options->ControlPort = 0;
- } else {
- log_warn(LD_CONFIG, "You have a ControlListenAddress set to accept "
- "connections from a non-local address. This means that "
- "programs not running on your computer can reconfigure your "
- "Tor. That's pretty bad, since the controller "
- "protocol isn't encrypted! Maybe you should just listen on "
- "127.0.0.1 and use a tool like stunnel or ssh to encrypt "
- "remote connections to your control port.");
- }
- }
- }
-
if (options->ControlPort && !options->HashedControlPassword &&
!options->HashedControlSessionPassword &&
!options->CookieAuthentication) {
@@ -3942,8 +4098,9 @@ options_validate(or_options_t *old_options, or_options_t *options,
}
});
- if (options->BridgeRelay == 1 && options->ORPort == 0)
- REJECT("BridgeRelay is 1, ORPort is 0. This is an invalid combination.");
+ if (options->BridgeRelay == 1 && ! options->ORPort)
+ REJECT("BridgeRelay is 1, ORPort is not set. This is an invalid "
+ "combination.");
return 0;
#undef REJECT
@@ -4023,6 +4180,13 @@ options_transition_allowed(const or_options_t *old,
return -1;
}
+ if (old->DisableDebuggerAttachment &&
+ !new_val->DisableDebuggerAttachment) {
+ *msg = tor_strdup("While Tor is running, disabling "
+ "DisableDebuggerAttachment is not allowed.");
+ return -1;
+ }
+
return 0;
}
@@ -4034,7 +4198,7 @@ options_transition_affects_workers(const or_options_t *old_options,
{
if (!opt_streq(old_options->DataDirectory, new_options->DataDirectory) ||
old_options->NumCPUs != new_options->NumCPUs ||
- old_options->ORPort != new_options->ORPort ||
+ !config_lines_eq(old_options->ORPort, new_options->ORPort) ||
old_options->ServerDNSSearchDomains !=
new_options->ServerDNSSearchDomains ||
old_options->_SafeLogging != new_options->_SafeLogging ||
@@ -4064,9 +4228,10 @@ options_transition_affects_descriptor(const or_options_t *old_options,
!config_lines_eq(old_options->ExitPolicy,new_options->ExitPolicy) ||
old_options->ExitPolicyRejectPrivate !=
new_options->ExitPolicyRejectPrivate ||
- old_options->ORPort != new_options->ORPort ||
- old_options->DirPort != new_options->DirPort ||
+ !config_lines_eq(old_options->ORPort, new_options->ORPort) ||
+ !config_lines_eq(old_options->DirPort, new_options->DirPort) ||
old_options->ClientOnly != new_options->ClientOnly ||
+ old_options->DisableNetwork != new_options->DisableNetwork ||
old_options->_PublishServerDescriptor !=
new_options->_PublishServerDescriptor ||
get_effective_bwrate(old_options) != get_effective_bwrate(new_options) ||
@@ -4082,7 +4247,7 @@ options_transition_affects_descriptor(const or_options_t *old_options,
return 0;
}
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/** Return the directory on windows where we expect to find our application
* data. */
static char *
@@ -4140,17 +4305,25 @@ get_windows_conf_root(void)
}
#endif
-/** Return the default location for our torrc file. */
+/** Return the default location for our torrc file.
+ * DOCDOC defaults_file */
static const char *
-get_default_conf_file(void)
+get_default_conf_file(int defaults_file)
{
-#ifdef MS_WINDOWS
- static char path[MAX_PATH+1];
- strlcpy(path, get_windows_conf_root(), MAX_PATH);
- strlcat(path,"\\torrc",MAX_PATH);
- return path;
+#ifdef _WIN32
+ if (defaults_file) {
+ static char defaults_path[MAX_PATH+1];
+ tor_snprintf(defaults_path, MAX_PATH, "%s\\torrc-defaults",
+ get_windows_conf_root());
+ return defaults_path;
+ } else {
+ static char path[MAX_PATH+1];
+ tor_snprintf(path, MAX_PATH, "%s\\torrc",
+ get_windows_conf_root());
+ return path;
+ }
#else
- return (CONFDIR "/torrc");
+ return defaults_file ? CONFDIR "/torrc-defaults" : CONFDIR "/torrc";
#endif
}
@@ -4165,7 +4338,7 @@ check_nickname_list(const char *lst, const char *name, char **msg)
if (!lst)
return 0;
- sl = smartlist_create();
+ sl = smartlist_new();
smartlist_split_string(sl, lst, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK|SPLIT_STRIP_SPACE, 0);
@@ -4183,37 +4356,54 @@ check_nickname_list(const char *lst, const char *name, char **msg)
return r;
}
-/** Learn config file name from command line arguments, or use the default */
+/** Learn config file name from command line arguments, or use the default,
+ * DOCDOC defaults_file */
static char *
find_torrc_filename(int argc, char **argv,
+ int defaults_file,
int *using_default_torrc, int *ignore_missing_torrc)
{
char *fname=NULL;
int i;
+ const char *fname_opt = defaults_file ? "--defaults-torrc" : "-f";
+ const char *ignore_opt = defaults_file ? NULL : "--ignore-missing-torrc";
+
+ if (defaults_file)
+ *ignore_missing_torrc = 1;
for (i = 1; i < argc; ++i) {
- if (i < argc-1 && !strcmp(argv[i],"-f")) {
+ if (i < argc-1 && !strcmp(argv[i],fname_opt)) {
if (fname) {
- log(LOG_WARN, LD_CONFIG, "Duplicate -f options on command line.");
+ log(LOG_WARN, LD_CONFIG, "Duplicate %s options on command line.",
+ fname_opt);
tor_free(fname);
}
fname = expand_filename(argv[i+1]);
+
+ {
+ char *absfname;
+ absfname = make_path_absolute(fname);
+ tor_free(fname);
+ fname = absfname;
+ }
+
*using_default_torrc = 0;
++i;
- } else if (!strcmp(argv[i],"--ignore-missing-torrc")) {
+ } else if (ignore_opt && !strcmp(argv[i],ignore_opt)) {
*ignore_missing_torrc = 1;
}
}
if (*using_default_torrc) {
/* didn't find one, try CONFDIR */
- const char *dflt = get_default_conf_file();
+ const char *dflt = get_default_conf_file(defaults_file);
if (dflt && file_status(dflt) == FN_FILE) {
fname = tor_strdup(dflt);
} else {
-#ifndef MS_WINDOWS
- char *fn;
- fn = expand_filename("~/.torrc");
+#ifndef _WIN32
+ char *fn = NULL;
+ if (!defaults_file)
+ fn = expand_filename("~/.torrc");
if (fn && file_status(fn) == FN_FILE) {
fname = fn;
} else {
@@ -4228,31 +4418,34 @@ find_torrc_filename(int argc, char **argv,
return fname;
}
-/** Load torrc from disk, setting torrc_fname if successful */
+/** Load torrc from disk, setting torrc_fname if successful.
+ * DOCDOC defaults_file */
static char *
-load_torrc_from_disk(int argc, char **argv)
+load_torrc_from_disk(int argc, char **argv, int defaults_file)
{
char *fname=NULL;
char *cf = NULL;
int using_default_torrc = 1;
int ignore_missing_torrc = 0;
+ char **fname_var = defaults_file ? &torrc_defaults_fname : &torrc_fname;
- fname = find_torrc_filename(argc, argv,
+ fname = find_torrc_filename(argc, argv, defaults_file,
&using_default_torrc, &ignore_missing_torrc);
tor_assert(fname);
log(LOG_DEBUG, LD_CONFIG, "Opening config file \"%s\"", fname);
- tor_free(torrc_fname);
- torrc_fname = fname;
+ tor_free(*fname_var);
+ *fname_var = fname;
/* Open config file */
if (file_status(fname) != FN_FILE ||
!(cf = read_file_to_str(fname,0,NULL))) {
- if (using_default_torrc == 1 || ignore_missing_torrc ) {
- log(LOG_NOTICE, LD_CONFIG, "Configuration file \"%s\" not present, "
- "using reasonable defaults.", fname);
+ if (using_default_torrc == 1 || ignore_missing_torrc) {
+ if (!defaults_file)
+ log(LOG_NOTICE, LD_CONFIG, "Configuration file \"%s\" not present, "
+ "using reasonable defaults.", fname);
tor_free(fname); /* sets fname to NULL */
- torrc_fname = NULL;
+ *fname_var = NULL;
cf = tor_strdup("");
} else {
log(LOG_WARN, LD_CONFIG,
@@ -4266,7 +4459,7 @@ load_torrc_from_disk(int argc, char **argv)
return cf;
err:
tor_free(fname);
- torrc_fname = NULL;
+ *fname_var = NULL;
return NULL;
}
@@ -4277,8 +4470,9 @@ load_torrc_from_disk(int argc, char **argv)
int
options_init_from_torrc(int argc, char **argv)
{
- char *cf=NULL;
- int i, retval, command;
+ char *cf=NULL, *cf_defaults=NULL;
+ int i, command;
+ int retval = -1;
static char **backup_argv;
static int backup_argc;
char *command_arg = NULL;
@@ -4337,24 +4531,24 @@ options_init_from_torrc(int argc, char **argv)
if (command == CMD_HASH_PASSWORD) {
cf = tor_strdup("");
} else {
- cf = load_torrc_from_disk(argc, argv);
+ cf_defaults = load_torrc_from_disk(argc, argv, 1);
+ cf = load_torrc_from_disk(argc, argv, 0);
if (!cf)
goto err;
}
- retval = options_init_from_string(cf, command, command_arg, &errmsg);
- tor_free(cf);
- if (retval < 0)
- goto err;
-
- return 0;
+ retval = options_init_from_string(cf_defaults, cf, command, command_arg,
+ &errmsg);
err:
+
+ tor_free(cf);
+ tor_free(cf_defaults);
if (errmsg) {
log(LOG_WARN,LD_CONFIG,"%s", errmsg);
tor_free(errmsg);
}
- return -1;
+ return retval < 0 ? -1 : 0;
}
/** Load the options from the configuration in <b>cf</b>, validate
@@ -4367,13 +4561,13 @@ options_init_from_torrc(int argc, char **argv)
* * -4 for error while setting the new options
*/
setopt_err_t
-options_init_from_string(const char *cf,
+options_init_from_string(const char *cf_defaults, const char *cf,
int command, const char *command_arg,
char **msg)
{
- or_options_t *oldoptions, *newoptions;
+ or_options_t *oldoptions, *newoptions, *newdefaultoptions=NULL;
config_line_t *cl;
- int retval;
+ int retval, i;
setopt_err_t err = SETOPT_ERR_MISC;
tor_assert(msg);
@@ -4386,17 +4580,24 @@ options_init_from_string(const char *cf,
newoptions->command = command;
newoptions->command_arg = command_arg;
- /* get config lines, assign them */
- retval = config_get_lines(cf, &cl);
- if (retval < 0) {
- err = SETOPT_ERR_PARSE;
- goto err;
- }
- retval = config_assign(&options_format, newoptions, cl, 0, 0, msg);
- config_free_lines(cl);
- if (retval < 0) {
- err = SETOPT_ERR_PARSE;
- goto err;
+ for (i = 0; i < 2; ++i) {
+ const char *body = i==0 ? cf_defaults : cf;
+ if (!body)
+ continue;
+ /* get config lines, assign them */
+ retval = config_get_lines(body, &cl, 1);
+ if (retval < 0) {
+ err = SETOPT_ERR_PARSE;
+ goto err;
+ }
+ retval = config_assign(&options_format, newoptions, cl, 0, 0, msg);
+ config_free_lines(cl);
+ if (retval < 0) {
+ err = SETOPT_ERR_PARSE;
+ goto err;
+ }
+ if (i==0)
+ newdefaultoptions = options_dup(&options_format, newoptions);
}
/* Go through command-line variables too */
@@ -4431,6 +4632,8 @@ options_init_from_string(const char *cf,
/* Clear newoptions and re-initialize them with new defaults. */
config_free(&options_format, newoptions);
+ config_free(&options_format, newdefaultoptions);
+ newdefaultoptions = NULL;
newoptions = tor_malloc_zero(sizeof(or_options_t));
newoptions->_magic = OR_OPTIONS_MAGIC;
options_init(newoptions);
@@ -4438,22 +4641,24 @@ options_init_from_string(const char *cf,
newoptions->command_arg = command_arg;
/* Assign all options a second time. */
- retval = config_get_lines(cf, &cl);
- if (retval < 0) {
- err = SETOPT_ERR_PARSE;
- goto err;
- }
- retval = config_assign(&options_format, newoptions, cl, 0, 0, msg);
- config_free_lines(cl);
- if (retval < 0) {
- err = SETOPT_ERR_PARSE;
- goto err;
- }
- retval = config_assign(&options_format, newoptions,
- global_cmdline_options, 0, 0, msg);
- if (retval < 0) {
- err = SETOPT_ERR_PARSE;
- goto err;
+ for (i = 0; i < 2; ++i) {
+ const char *body = i==0 ? cf_defaults : cf;
+ if (!body)
+ continue;
+ /* get config lines, assign them */
+ retval = config_get_lines(body, &cl, 1);
+ if (retval < 0) {
+ err = SETOPT_ERR_PARSE;
+ goto err;
+ }
+ retval = config_assign(&options_format, newoptions, cl, 0, 0, msg);
+ config_free_lines(cl);
+ if (retval < 0) {
+ err = SETOPT_ERR_PARSE;
+ goto err;
+ }
+ if (i==0)
+ newdefaultoptions = options_dup(&options_format, newoptions);
}
}
@@ -4472,11 +4677,14 @@ options_init_from_string(const char *cf,
err = SETOPT_ERR_SETTING;
goto err; /* frees and replaces old options */
}
+ config_free(&options_format, global_default_options);
+ global_default_options = newdefaultoptions;
return SETOPT_OK;
err:
config_free(&options_format, newoptions);
+ config_free(&options_format, newdefaultoptions);
if (*msg) {
char *old_msg = *msg;
tor_asprintf(msg, "Failed to parse/validate config: %s", old_msg);
@@ -4488,12 +4696,14 @@ options_init_from_string(const char *cf,
/** Return the location for our configuration file.
*/
const char *
-get_torrc_fname(void)
+get_torrc_fname(int defaults_fname)
{
- if (torrc_fname)
- return torrc_fname;
+ const char *fname = defaults_fname ? torrc_defaults_fname : torrc_fname;
+
+ if (fname)
+ return fname;
else
- return get_default_conf_file();
+ return get_default_conf_file(defaults_fname);
}
/** Adjust the address map based on the MapAddress elements in the
@@ -4507,26 +4717,62 @@ config_register_addressmaps(const or_options_t *options)
char *from, *to;
addressmap_clear_configured();
- elts = smartlist_create();
+ elts = smartlist_new();
for (opt = options->AddressMap; opt; opt = opt->next) {
+ int from_wildcard = 0, to_wildcard = 0;
smartlist_split_string(elts, opt->value, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 2);
- if (smartlist_len(elts) >= 2) {
- from = smartlist_get(elts,0);
- to = smartlist_get(elts,1);
- if (address_is_invalid_destination(to, 1)) {
- log_warn(LD_CONFIG,
- "Skipping invalid argument '%s' to MapAddress", to);
- } else {
- addressmap_register(from, tor_strdup(to), 0, ADDRMAPSRC_TORRC);
- if (smartlist_len(elts)>2) {
- log_warn(LD_CONFIG,"Ignoring extra arguments to MapAddress.");
- }
- }
- } else {
+ if (smartlist_len(elts) < 2) {
log_warn(LD_CONFIG,"MapAddress '%s' has too few arguments. Ignoring.",
opt->value);
+ goto cleanup;
+ }
+
+ from = smartlist_get(elts,0);
+ to = smartlist_get(elts,1);
+
+ if (to[0] == '.' || from[0] == '.') {
+ log_warn(LD_CONFIG,"MapAddress '%s' is ambiguous - address starts with a"
+ "'.'. Ignoring.",opt->value);
+ goto cleanup;
+ }
+
+ if (!strcmp(to, "*") || !strcmp(from, "*")) {
+ log_warn(LD_CONFIG,"MapAddress '%s' is unsupported - can't remap from "
+ "or to *. Ignoring.",opt->value);
+ goto cleanup;
+ }
+ /* Detect asterisks in expressions of type: '*.example.com' */
+ if (!strncmp(from,"*.",2)) {
+ from += 2;
+ from_wildcard = 1;
+ }
+ if (!strncmp(to,"*.",2)) {
+ to += 2;
+ to_wildcard = 1;
+ }
+
+ if (to_wildcard && !from_wildcard) {
+ log_warn(LD_CONFIG,
+ "Skipping invalid argument '%s' to MapAddress: "
+ "can only use wildcard (i.e. '*.') if 'from' address "
+ "uses wildcard also", opt->value);
+ goto cleanup;
}
+
+ if (address_is_invalid_destination(to, 1)) {
+ log_warn(LD_CONFIG,
+ "Skipping invalid argument '%s' to MapAddress", opt->value);
+ goto cleanup;
+ }
+
+ addressmap_register(from, tor_strdup(to), 0, ADDRMAPSRC_TORRC,
+ from_wildcard, to_wildcard);
+
+ if (smartlist_len(elts) > 2)
+ log_warn(LD_CONFIG,"Ignoring extra arguments to MapAddress.");
+
+ cleanup:
SMARTLIST_FOREACH(elts, char*, cp, tor_free(cp));
smartlist_clear(elts);
}
@@ -4543,7 +4789,7 @@ options_init_logs(or_options_t *options, int validate_only)
int ok;
smartlist_t *elts;
int daemon =
-#ifdef MS_WINDOWS
+#ifdef _WIN32
0;
#else
options->RunAsDaemon;
@@ -4579,7 +4825,7 @@ options_init_logs(or_options_t *options, int validate_only)
}
ok = 1;
- elts = smartlist_create();
+ elts = smartlist_new();
for (opt = options->Logs; opt; opt = opt->next) {
log_severity_list_t *severity;
@@ -4673,7 +4919,7 @@ parse_bridge_line(const char *line, int validate_only)
uint16_t port = 0;
char digest[DIGEST_LEN];
- items = smartlist_create();
+ items = smartlist_new();
smartlist_split_string(items, line, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
if (smartlist_len(items) < 1) {
@@ -4775,7 +5021,7 @@ parse_client_transport_line(const char *line, int validate_only)
int line_length;
- items = smartlist_create();
+ items = smartlist_new();
smartlist_split_string(items, line, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
@@ -4789,7 +5035,7 @@ parse_client_transport_line(const char *line, int validate_only)
transport_list (in case it's multiple transports) and validate
the transport names. */
transports = smartlist_get(items, 0);
- transport_list = smartlist_create();
+ transport_list = smartlist_new();
smartlist_split_string(transport_list, transports, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
SMARTLIST_FOREACH_BEGIN(transport_list, const char *, transport_name) {
@@ -4903,7 +5149,7 @@ parse_server_transport_line(const char *line, int validate_only)
int line_length;
- items = smartlist_create();
+ items = smartlist_new();
smartlist_split_string(items, line, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
@@ -4917,7 +5163,7 @@ parse_server_transport_line(const char *line, int validate_only)
transport_list (in case it's multiple transports) and validate
the transport names. */
transports = smartlist_get(items, 0);
- transport_list = smartlist_create();
+ transport_list = smartlist_new();
smartlist_split_string(transport_list, transports, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
SMARTLIST_FOREACH_BEGIN(transport_list, const char *, transport_name) {
@@ -5017,7 +5263,7 @@ parse_dir_server_line(const char *line, dirinfo_type_t required_type,
dirinfo_type_t type = V2_DIRINFO;
int is_not_hidserv_authority = 0, is_not_v2_authority = 0;
- items = smartlist_create();
+ items = smartlist_new();
smartlist_split_string(items, line, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
if (smartlist_len(items) < 1) {
@@ -5098,7 +5344,7 @@ parse_dir_server_line(const char *line, dirinfo_type_t required_type,
* clause once Tor 0.1.2.17 is obsolete. */
log_warn(LD_CONFIG, "Dangerous dirserver line. To correct, erase your "
"torrc file (%s), or reinstall Tor and use the default torrc.",
- get_torrc_fname());
+ get_torrc_fname(0));
goto err;
}
if (base16_decode(digest, DIGEST_LEN, fingerprint, HEX_DIGEST_LEN)<0) {
@@ -5162,12 +5408,53 @@ warn_nonlocal_client_ports(const smartlist_t *ports, const char *portname)
} SMARTLIST_FOREACH_END(port);
}
-#define CL_PORT_NO_OPTIONS (1u<<0)
+/** DOCDOC */
+static void
+warn_nonlocal_controller_ports(smartlist_t *ports, unsigned forbid)
+{
+ int warned = 0;
+ SMARTLIST_FOREACH_BEGIN(ports, port_cfg_t *, port) {
+ if (port->type != CONN_TYPE_CONTROL_LISTENER)
+ continue;
+ if (port->is_unix_addr)
+ continue;
+ if (!tor_addr_is_loopback(&port->addr)) {
+ if (forbid) {
+ if (!warned)
+ log_warn(LD_CONFIG,
+ "You have a ControlPort set to accept "
+ "unauthenticated connections from a non-local address. "
+ "This means that programs not running on your computer "
+ "can reconfigure your Tor, without even having to guess a "
+ "password. That's so bad that I'm closing your ControlPort "
+ "for you. If you need to control your Tor remotely, try "
+ "enabling authentication and using a tool like stunnel or "
+ "ssh to encrypt remote access.");
+ warned = 1;
+ port_cfg_free(port);
+ SMARTLIST_DEL_CURRENT(ports, port);
+ } else {
+ log_warn(LD_CONFIG, "You have a ControlPort set to accept "
+ "connections from a non-local address. This means that "
+ "programs not running on your computer can reconfigure your "
+ "Tor. That's pretty bad, since the controller "
+ "protocol isn't encrypted! Maybe you should just listen on "
+ "127.0.0.1 and use a tool like stunnel or ssh to encrypt "
+ "remote connections to your control port.");
+ return; /* No point in checking the rest */
+ }
+ }
+ } SMARTLIST_FOREACH_END(port);
+}
+
+#define CL_PORT_NO_OPTIONS (1u<<0)
#define CL_PORT_WARN_NONLOCAL (1u<<1)
#define CL_PORT_ALLOW_EXTRA_LISTENADDR (1u<<2)
+#define CL_PORT_SERVER_OPTIONS (1u<<3)
+#define CL_PORT_FORBID_NONLOCAL (1u<<4)
/**
- * Parse port configuration for a single client port type.
+ * Parse port configuration for a single port type.
*
* Read entries of the "FooPort" type from the list <b>ports</b>, and
* entries of the "FooListenAddress" type from the list
@@ -5187,17 +5474,22 @@ warn_nonlocal_client_ports(const smartlist_t *ports, const char *portname)
* isolation options in the FooPort entries.
*
* If CL_PORT_WARN_NONLOCAL is set in <b>flags</b>, warn if any of the
- * ports are not on a local address.
+ * ports are not on a local address. If CL_PORT_FORBID_NONLOCAL is set,
+ * this is a contrl port with no password set: don't even allow it.
*
* Unless CL_PORT_ALLOW_EXTRA_LISTENADDR is set in <b>flags</b>, warn
* if FooListenAddress is set but FooPort is 0.
*
+ * If CL_PORT_SERVER_OPTIONS is set in <b>flags</b>, do not allow stream
+ * isolation options in the FooPort entries; instead allow the
+ * server-port option set.
+ *
* On success, if <b>out</b> is given, add a new port_cfg_t entry to
* <b>out</b> for every port that the client should listen on. Return 0
* on success, -1 on failure.
*/
static int
-parse_client_port_config(smartlist_t *out,
+parse_port_config(smartlist_t *out,
const config_line_t *ports,
const config_line_t *listenaddrs,
const char *portname,
@@ -5208,8 +5500,11 @@ parse_client_port_config(smartlist_t *out,
{
smartlist_t *elts;
int retval = -1;
- const unsigned allow_client_options = !(flags & CL_PORT_NO_OPTIONS);
+ const unsigned is_control = (listener_type == CONN_TYPE_CONTROL_LISTENER);
+ const unsigned allow_no_options = flags & CL_PORT_NO_OPTIONS;
+ const unsigned use_server_options = flags & CL_PORT_SERVER_OPTIONS;
const unsigned warn_nonlocal = flags & CL_PORT_WARN_NONLOCAL;
+ const unsigned forbid_nonlocal = flags & CL_PORT_FORBID_NONLOCAL;
const unsigned allow_spurious_listenaddr =
flags & CL_PORT_ALLOW_EXTRA_LISTENADDR;
@@ -5245,6 +5540,17 @@ parse_client_port_config(smartlist_t *out,
return -1;
}
+ if (use_server_options && out) {
+ /* Add a no_listen port. */
+ port_cfg_t *cfg = tor_malloc_zero(sizeof(port_cfg_t));
+ cfg->type = listener_type;
+ cfg->port = mainport;
+ tor_addr_make_unspec(&cfg->addr); /* Server ports default to 0.0.0.0 */
+ cfg->no_listen = 1;
+ cfg->ipv4_only = 1;
+ smartlist_add(out, cfg);
+ }
+
for (; listenaddrs; listenaddrs = listenaddrs->next) {
tor_addr_t addr;
uint16_t port = 0;
@@ -5260,12 +5566,17 @@ parse_client_port_config(smartlist_t *out,
tor_addr_copy(&cfg->addr, &addr);
cfg->session_group = SESSION_GROUP_UNSET;
cfg->isolation_flags = ISO_DEFAULT;
+ cfg->no_advertise = 1;
smartlist_add(out, cfg);
}
}
- if (warn_nonlocal && out)
- warn_nonlocal_client_ports(out, portname);
+ if (warn_nonlocal && out) {
+ if (is_control)
+ warn_nonlocal_controller_ports(out, forbid_nonlocal);
+ else
+ warn_nonlocal_client_ports(out, portname);
+ }
return 0;
} /* end if (listenaddrs) */
@@ -5286,7 +5597,7 @@ parse_client_port_config(smartlist_t *out,
/* At last we can actually parse the FooPort lines. The syntax is:
* [Addr:](Port|auto) [Options].*/
- elts = smartlist_create();
+ elts = smartlist_new();
for (; ports; ports = ports->next) {
tor_addr_t addr;
@@ -5297,6 +5608,8 @@ parse_client_port_config(smartlist_t *out,
char *addrport;
uint16_t ptmp=0;
int ok;
+ int no_listen = 0, no_advertise = 0, all_addrs = 0,
+ ipv4_only = 0, ipv6_only = 0;
smartlist_split_string(elts, ports->value, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
@@ -5305,7 +5618,7 @@ parse_client_port_config(smartlist_t *out,
goto err;
}
- if (!allow_client_options && smartlist_len(elts) > 1) {
+ if (allow_no_options && smartlist_len(elts) > 1) {
log_warn(LD_CONFIG, "Too many options on %sPort line", portname);
goto err;
}
@@ -5344,56 +5657,107 @@ parse_client_port_config(smartlist_t *out,
}
/* Now parse the rest of the options, if any. */
- SMARTLIST_FOREACH_BEGIN(elts, char *, elt) {
- int no = 0, isoflag = 0;
- const char *elt_orig = elt;
- if (elt_sl_idx == 0)
- continue; /* Skip addr:port */
- if (!strcasecmpstart(elt, "SessionGroup=")) {
- int group = (int)tor_parse_long(elt+strlen("SessionGroup="),
- 10, 0, INT_MAX, &ok, NULL);
- if (!ok) {
- log_warn(LD_CONFIG, "Invalid %sPort option '%s'",
+ if (use_server_options) {
+ /* This is a server port; parse advertising options */
+ SMARTLIST_FOREACH_BEGIN(elts, char *, elt) {
+ if (elt_sl_idx == 0)
+ continue; /* Skip addr:port */
+
+ if (!strcasecmp(elt, "NoAdvertise")) {
+ no_advertise = 1;
+ } else if (!strcasecmp(elt, "NoListen")) {
+ no_listen = 1;
+#if 0
+ /* not implemented yet. */
+ } else if (!strcasecmp(elt, "AllAddrs")) {
+
+ all_addrs = 1;
+#endif
+ } else if (!strcasecmp(elt, "IPv4Only")) {
+ ipv4_only = 1;
+ } else if (!strcasecmp(elt, "IPv6Only")) {
+ ipv6_only = 1;
+ } else {
+ log_warn(LD_CONFIG, "Unrecognized %sPort option '%s'",
portname, escaped(elt));
- goto err;
- }
- if (sessiongroup >= 0) {
- log_warn(LD_CONFIG, "Multiple SessionGroup options on %sPort",
- portname);
- goto err;
}
- sessiongroup = group;
- continue;
- }
+ } SMARTLIST_FOREACH_END(elt);
- if (!strcasecmpstart(elt, "No")) {
- no = 1;
- elt += 2;
+ if (no_advertise && no_listen) {
+ log_warn(LD_CONFIG, "Tried to set both NoListen and NoAdvertise "
+ "on %sPort line '%s'",
+ portname, escaped(ports->value));
+ goto err;
}
- if (!strcasecmpend(elt, "s"))
- elt[strlen(elt)-1] = '\0'; /* kill plurals. */
-
- if (!strcasecmp(elt, "IsolateDestPort")) {
- isoflag = ISO_DESTPORT;
- } else if (!strcasecmp(elt, "IsolateDestAddr")) {
- isoflag = ISO_DESTADDR;
- } else if (!strcasecmp(elt, "IsolateSOCKSAuth")) {
- isoflag = ISO_SOCKSAUTH;
- } else if (!strcasecmp(elt, "IsolateClientProtocol")) {
- isoflag = ISO_CLIENTPROTO;
- } else if (!strcasecmp(elt, "IsolateClientAddr")) {
- isoflag = ISO_CLIENTADDR;
- } else {
- log_warn(LD_CONFIG, "Unrecognized %sPort option '%s'",
- portname, escaped(elt_orig));
+ if (ipv4_only && ipv6_only) {
+ log_warn(LD_CONFIG, "Tried to set both IPv4Only and IPv6Only "
+ "on %sPort line '%s'",
+ portname, escaped(ports->value));
+ goto err;
}
-
- if (no) {
- isolation &= ~isoflag;
- } else {
- isolation |= isoflag;
+ if (ipv4_only && tor_addr_family(&addr) == AF_INET6) {
+ log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv6",
+ portname);
+ goto err;
+ }
+ if (ipv6_only && tor_addr_family(&addr) == AF_INET) {
+ log_warn(LD_CONFIG, "Could not interpret %sPort address as IPv4",
+ portname);
+ goto err;
}
- } SMARTLIST_FOREACH_END(elt);
+ } else {
+ /* This is a client port; parse isolation options */
+ SMARTLIST_FOREACH_BEGIN(elts, char *, elt) {
+ int no = 0, isoflag = 0;
+ const char *elt_orig = elt;
+ if (elt_sl_idx == 0)
+ continue; /* Skip addr:port */
+ if (!strcasecmpstart(elt, "SessionGroup=")) {
+ int group = (int)tor_parse_long(elt+strlen("SessionGroup="),
+ 10, 0, INT_MAX, &ok, NULL);
+ if (!ok) {
+ log_warn(LD_CONFIG, "Invalid %sPort option '%s'",
+ portname, escaped(elt));
+ goto err;
+ }
+ if (sessiongroup >= 0) {
+ log_warn(LD_CONFIG, "Multiple SessionGroup options on %sPort",
+ portname);
+ goto err;
+ }
+ sessiongroup = group;
+ continue;
+ }
+
+ if (!strcasecmpstart(elt, "No")) {
+ no = 1;
+ elt += 2;
+ }
+ if (!strcasecmpend(elt, "s"))
+ elt[strlen(elt)-1] = '\0'; /* kill plurals. */
+
+ if (!strcasecmp(elt, "IsolateDestPort")) {
+ isoflag = ISO_DESTPORT;
+ } else if (!strcasecmp(elt, "IsolateDestAddr")) {
+ isoflag = ISO_DESTADDR;
+ } else if (!strcasecmp(elt, "IsolateSOCKSAuth")) {
+ isoflag = ISO_SOCKSAUTH;
+ } else if (!strcasecmp(elt, "IsolateClientProtocol")) {
+ isoflag = ISO_CLIENTPROTO;
+ } else if (!strcasecmp(elt, "IsolateClientAddr")) {
+ isoflag = ISO_CLIENTADDR;
+ } else {
+ log_warn(LD_CONFIG, "Unrecognized %sPort option '%s'",
+ portname, escaped(elt_orig));
+ }
+
+ if (no) {
+ isolation &= ~isoflag;
+ } else {
+ isolation |= isoflag;
+ }
+ } SMARTLIST_FOREACH_END(elt);
+ }
if (out && port) {
port_cfg_t *cfg = tor_malloc_zero(sizeof(port_cfg_t));
@@ -5402,14 +5766,24 @@ parse_client_port_config(smartlist_t *out,
tor_addr_copy(&cfg->addr, &addr);
cfg->session_group = sessiongroup;
cfg->isolation_flags = isolation;
+ cfg->no_listen = no_listen;
+ cfg->no_listen = no_advertise;
+ cfg->all_addrs = all_addrs;
+ cfg->ipv4_only = ipv4_only;
+ cfg->ipv6_only = ipv6_only;
+
smartlist_add(out, cfg);
}
SMARTLIST_FOREACH(elts, char *, cp, tor_free(cp));
smartlist_clear(elts);
}
- if (warn_nonlocal && out)
- warn_nonlocal_client_ports(out, portname);
+ if (warn_nonlocal && out) {
+ if (is_control)
+ warn_nonlocal_controller_ports(out, forbid_nonlocal);
+ else
+ warn_nonlocal_client_ports(out, portname);
+ }
retval = 0;
err:
@@ -5418,6 +5792,27 @@ parse_client_port_config(smartlist_t *out,
return retval;
}
+/** DOCDOC */
+static int
+parse_socket_config(smartlist_t *out, const config_line_t *cfg,
+ int listener_type)
+{
+
+ if (!out)
+ return 0;
+
+ for ( ; cfg; cfg = cfg->next) {
+ size_t len = strlen(cfg->value);
+ port_cfg_t *port = tor_malloc_zero(sizeof(port_cfg_t) + len + 1);
+ port->is_unix_addr = 1;
+ memcpy(port->unix_addr, cfg->value, len+1);
+ port->type = listener_type;
+ smartlist_add(out, port);
+ }
+
+ return 0;
+}
+
/** Parse all client port types (Socks, DNS, Trans, NATD) from
* <b>options</b>. On success, set *<b>n_ports_out</b> to the number of
* ports that are listed and return 0. On failure, set *<b>msg</b> to a
@@ -5427,17 +5822,17 @@ parse_client_port_config(smartlist_t *out,
* new list of ports parsed from <b>options</b>.
**/
static int
-parse_client_ports(const or_options_t *options, int validate_only,
- char **msg, int *n_ports_out)
+parse_ports(const or_options_t *options, int validate_only,
+ char **msg, int *n_ports_out)
{
smartlist_t *ports;
int retval = -1;
- ports = smartlist_create();
+ ports = smartlist_new();
*n_ports_out = 0;
- if (parse_client_port_config(ports,
+ if (parse_port_config(ports,
options->SocksPort, options->SocksListenAddress,
"Socks", CONN_TYPE_AP_LISTENER,
"127.0.0.1", 9050,
@@ -5445,7 +5840,7 @@ parse_client_ports(const or_options_t *options, int validate_only,
*msg = tor_strdup("Invalid SocksPort/SocksListenAddress configuration");
goto err;
}
- if (parse_client_port_config(ports,
+ if (parse_port_config(ports,
options->DNSPort, options->DNSListenAddress,
"DNS", CONN_TYPE_AP_DNS_LISTENER,
"127.0.0.1", 0,
@@ -5453,7 +5848,7 @@ parse_client_ports(const or_options_t *options, int validate_only,
*msg = tor_strdup("Invalid DNSPort/DNSListenAddress configuration");
goto err;
}
- if (parse_client_port_config(ports,
+ if (parse_port_config(ports,
options->TransPort, options->TransListenAddress,
"Trans", CONN_TYPE_AP_TRANS_LISTENER,
"127.0.0.1", 0,
@@ -5461,7 +5856,7 @@ parse_client_ports(const or_options_t *options, int validate_only,
*msg = tor_strdup("Invalid TransPort/TransListenAddress configuration");
goto err;
}
- if (parse_client_port_config(ports,
+ if (parse_port_config(ports,
options->NATDPort, options->NATDListenAddress,
"NATD", CONN_TYPE_AP_NATD_LISTENER,
"127.0.0.1", 0,
@@ -5469,16 +5864,63 @@ parse_client_ports(const or_options_t *options, int validate_only,
*msg = tor_strdup("Invalid NatdPort/NatdListenAddress configuration");
goto err;
}
+ {
+ unsigned control_port_flags = CL_PORT_NO_OPTIONS | CL_PORT_WARN_NONLOCAL;
+ const int any_passwords = (options->HashedControlPassword ||
+ options->HashedControlSessionPassword ||
+ options->CookieAuthentication);
+ if (! any_passwords)
+ control_port_flags |= CL_PORT_FORBID_NONLOCAL;
+
+ if (parse_port_config(ports,
+ options->ControlPort, options->ControlListenAddress,
+ "Control", CONN_TYPE_CONTROL_LISTENER,
+ "127.0.0.1", 0,
+ control_port_flags) < 0) {
+ *msg = tor_strdup("Invalid ControlPort/ControlListenAddress "
+ "configuration");
+ goto err;
+ }
+ if (parse_socket_config(ports,
+ options->ControlSocket,
+ CONN_TYPE_CONTROL_LISTENER) < 0) {
+ *msg = tor_strdup("Invalid ControlSocket configuration");
+ goto err;
+ }
+ }
+ if (! options->ClientOnly) {
+ if (parse_port_config(ports,
+ options->ORPort, options->ORListenAddress,
+ "OR", CONN_TYPE_OR_LISTENER,
+ "0.0.0.0", 0,
+ CL_PORT_SERVER_OPTIONS) < 0) {
+ *msg = tor_strdup("Invalid ORPort/ORListenAddress configuration");
+ goto err;
+ }
+ if (parse_port_config(ports,
+ options->DirPort, options->DirListenAddress,
+ "Dir", CONN_TYPE_DIR_LISTENER,
+ "0.0.0.0", 0,
+ CL_PORT_SERVER_OPTIONS) < 0) {
+ *msg = tor_strdup("Invalid DirPort/DirListenAddress configuration");
+ goto err;
+ }
+ }
+
+ if (check_server_ports(ports, options) < 0) {
+ *msg = tor_strdup("Misconfigured server ports");
+ goto err;
+ }
*n_ports_out = smartlist_len(ports);
if (!validate_only) {
- if (configured_client_ports) {
- SMARTLIST_FOREACH(configured_client_ports,
+ if (configured_ports) {
+ SMARTLIST_FOREACH(configured_ports,
port_cfg_t *, p, port_cfg_free(p));
- smartlist_free(configured_client_ports);
+ smartlist_free(configured_ports);
}
- configured_client_ports = ports;
+ configured_ports = ports;
ports = NULL; /* prevent free below. */
}
@@ -5491,14 +5933,107 @@ parse_client_ports(const or_options_t *options, int validate_only,
return retval;
}
+/** DOCDOC */
+static int
+check_server_ports(const smartlist_t *ports,
+ const or_options_t *options)
+{
+ int n_orport_advertised = 0;
+ int n_orport_advertised_ipv4 = 0;
+ int n_orport_listeners = 0;
+ int n_dirport_advertised = 0;
+ int n_dirport_listeners = 0;
+ int n_low_port = 0;
+ int r = 0;
+
+ SMARTLIST_FOREACH_BEGIN(ports, const port_cfg_t *, port) {
+ if (port->type == CONN_TYPE_DIR_LISTENER) {
+ if (! port->no_advertise)
+ ++n_dirport_advertised;
+ if (! port->no_listen)
+ ++n_dirport_listeners;
+ } else if (port->type == CONN_TYPE_OR_LISTENER) {
+ if (! port->no_advertise) {
+ ++n_orport_advertised;
+ if (tor_addr_family(&port->addr) == AF_INET ||
+ (tor_addr_family(&port->addr) == AF_UNSPEC && !port->ipv6_only))
+ ++n_orport_advertised_ipv4;
+ }
+ if (! port->no_listen)
+ ++n_orport_listeners;
+ } else {
+ continue;
+ }
+#ifndef _WIN32
+ if (!port->no_advertise && port->port < 1024)
+ ++n_low_port;
+#endif
+ } SMARTLIST_FOREACH_END(port);
+
+ if (n_orport_advertised && !n_orport_listeners) {
+ log_warn(LD_CONFIG, "We are advertising an ORPort, but not actually "
+ "listening on one.");
+ r = -1;
+ }
+ if (n_dirport_advertised && !n_dirport_listeners) {
+ log_warn(LD_CONFIG, "We are advertising a DirPort, but not actually "
+ "listening on one.");
+ r = -1;
+ }
+ if (n_dirport_advertised > 1) {
+ log_warn(LD_CONFIG, "Can't advertise more than one DirPort.");
+ r = -1;
+ }
+ if (n_orport_advertised && !n_orport_advertised_ipv4 &&
+ !options->BridgeRelay) {
+ log_warn(LD_CONFIG, "Configured non-bridge only to listen on an IPv6 "
+ "address.");
+ r = -1;
+ }
+
+ if (n_low_port && options->AccountingMax) {
+ log(LOG_WARN, LD_CONFIG,
+ "You have set AccountingMax to use hibernation. You have also "
+ "chosen a low DirPort or OrPort. This combination can make Tor stop "
+ "working when it tries to re-attach the port after a period of "
+ "hibernation. Please choose a different port or turn off "
+ "hibernation unless you know this combination will work on your "
+ "platform.");
+ }
+
+ return r;
+}
+
/** Return a list of port_cfg_t for client ports parsed from the
* options. */
const smartlist_t *
-get_configured_client_ports(void)
+get_configured_ports(void)
+{
+ if (!configured_ports)
+ configured_ports = smartlist_new();
+ return configured_ports;
+}
+
+/** Return the first advertised port of type <b>listener_type</b> in
+ <b>address_family</b>. */
+int
+get_first_advertised_port_by_type_af(int listener_type, int address_family)
{
- if (!configured_client_ports)
- configured_client_ports = smartlist_create();
- return configured_client_ports;
+ if (!configured_ports)
+ return 0;
+ SMARTLIST_FOREACH_BEGIN(configured_ports, const port_cfg_t *, cfg) {
+ if (cfg->type == listener_type &&
+ !cfg->no_advertise &&
+ (tor_addr_family(&cfg->addr) == address_family ||
+ tor_addr_family(&cfg->addr) == AF_UNSPEC)) {
+ if (tor_addr_family(&cfg->addr) != AF_UNSPEC ||
+ (address_family == AF_INET && !cfg->ipv6_only) ||
+ (address_family == AF_INET6 && !cfg->ipv4_only)) {
+ return cfg->port;
+ }
+ }
+ } SMARTLIST_FOREACH_END(cfg);
+ return 0;
}
/** Adjust the value of options->DataDirectory, or fill it in if it's
@@ -5506,7 +6041,7 @@ get_configured_client_ports(void)
static int
normalize_data_directory(or_options_t *options)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
char *p;
if (options->DataDirectory)
return 0; /* all set */
@@ -5607,18 +6142,12 @@ write_configuration_file(const char *fname, const or_options_t *options)
if (rename_old) {
int i = 1;
- size_t fn_tmp_len = strlen(fname)+32;
- char *fn_tmp;
- tor_assert(fn_tmp_len > strlen(fname)); /*check for overflow*/
- fn_tmp = tor_malloc(fn_tmp_len);
+ char *fn_tmp = NULL;
while (1) {
- if (tor_snprintf(fn_tmp, fn_tmp_len, "%s.orig.%d", fname, i)<0) {
- log_warn(LD_BUG, "tor_snprintf failed inexplicably");
- tor_free(fn_tmp);
- goto err;
- }
+ tor_asprintf(&fn_tmp, "%s.orig.%d", fname, i);
if (file_status(fn_tmp) == FN_NOENT)
break;
+ tor_free(fn_tmp);
++i;
}
log_notice(LD_CONFIG, "Renaming old configuration file to \"%s\"", fn_tmp);
@@ -5657,7 +6186,7 @@ options_save_current(void)
* If we try falling back to datadirectory or something, we have a better
* chance of saving the configuration, but a better chance of doing
* something the user never expected. */
- return write_configuration_file(get_torrc_fname(), get_options());
+ return write_configuration_file(get_torrc_fname(0), get_options());
}
/** Mapping from a unit name to a multiplier for converting that unit into a
@@ -5876,7 +6405,7 @@ init_libevent(const or_options_t *options)
suppress_libevent_log_msg(NULL);
tor_check_libevent_version(tor_libevent_get_method(),
- get_options()->ORPort != 0,
+ get_options()->ORPort != NULL,
&badness);
if (badness) {
const char *v = tor_libevent_get_version_str();
@@ -5956,7 +6485,7 @@ state_transport_line_is_valid(const char *line)
uint16_t port = 0;
int r;
- items = smartlist_create();
+ items = smartlist_new();
smartlist_split_string(items, line, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
@@ -6065,13 +6594,13 @@ or_state_save_broken(char *fname)
{
int i;
file_status_t status;
- size_t len = strlen(fname)+16;
- char *fname2 = tor_malloc(len);
+ char *fname2 = NULL;
for (i = 0; i < 100; ++i) {
- tor_snprintf(fname2, len, "%s.%d", fname, i);
+ tor_asprintf(&fname2, "%s.%d", fname, i);
status = file_status(fname2);
if (status == FN_NOENT)
break;
+ tor_free(fname2);
}
if (i == 100) {
log_warn(LD_BUG, "Unable to parse state in \"%s\"; too many saved bad "
@@ -6123,7 +6652,7 @@ or_state_load(void)
if (contents) {
config_line_t *lines=NULL;
int assign_retval;
- if (config_get_lines(contents, &lines)<0)
+ if (config_get_lines(contents, &lines, 0)<0)
goto done;
assign_retval = config_assign(&state_format, new_state,
lines, 0, 0, &errmsg);
@@ -6227,7 +6756,7 @@ or_state_save(time_t now)
tor_free(global_state->TorVersion);
tor_asprintf(&global_state->TorVersion, "Tor %s", get_version());
- state = config_dump(&state_format, global_state, 1, 0);
+ state = config_dump(&state_format, NULL, global_state, 1, 0);
format_local_iso_time(tbuf, now);
tor_asprintf(&contents,
"# Tor state file last generated on %s local time\n"
@@ -6274,7 +6803,7 @@ get_transport_in_state_by_name(const char *transport)
for (line = or_state->TransportProxies ; line ; line = line->next) {
tor_assert(!strcmp(line->key, "TransportProxy"));
- items = smartlist_create();
+ items = smartlist_new();
smartlist_split_string(items, line->value, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
if (smartlist_len(items) != 2) /* broken state */
@@ -6324,21 +6853,29 @@ get_transport_bindaddr(const char *line, const char *transport)
return NULL;
}
-/** Return a static string containing the address:port a proxy
- * transport should bind on. */
-const char *
-get_bindaddr_for_transport(const char *transport)
+/** Return a string containing the address:port that a proxy transport
+ * should bind on. The string is stored on the heap and must be freed
+ * by the caller of this function. */
+char *
+get_stored_bindaddr_for_server_transport(const char *transport)
{
- static const char default_addrport[] = "127.0.0.1:0";
- const char *bindaddr = NULL;
+ char *default_addrport = NULL;
+ const char *stored_bindaddr = NULL;
config_line_t *line = get_transport_in_state_by_name(transport);
- if (!line)
- return default_addrport;
-
- bindaddr = get_transport_bindaddr(line->value, transport);
-
- return bindaddr ? bindaddr : default_addrport;
+ if (!line) /* Found no references in state for this transport. */
+ goto no_bindaddr_found;
+
+ stored_bindaddr = get_transport_bindaddr(line->value, transport);
+ if (stored_bindaddr) /* found stored bindaddr in state file. */
+ return tor_strdup(stored_bindaddr);
+
+ no_bindaddr_found:
+ /** If we didn't find references for this pluggable transport in the
+ state file, we should instruct the pluggable transport proxy to
+ listen on INADDR_ANY on a random ephemeral port. */
+ tor_asprintf(&default_addrport, "%s:%s", fmt_addr32(INADDR_ANY), "0");
+ return default_addrport;
}
/** Save <b>transport</b> listening on <b>addr</b>:<b>port</b> to
@@ -6434,12 +6971,11 @@ getinfo_helper_config(control_connection_t *conn,
(void) conn;
(void) errmsg;
if (!strcmp(question, "config/names")) {
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
int i;
for (i = 0; _option_vars[i].name; ++i) {
const config_var_t *var = &_option_vars[i];
const char *type;
- char *line;
switch (var->type) {
case CONFIG_TYPE_STRING: type = "String"; break;
case CONFIG_TYPE_FILENAME: type = "Filename"; break;
@@ -6463,8 +6999,7 @@ getinfo_helper_config(control_connection_t *conn,
}
if (!type)
continue;
- tor_asprintf(&line, "%s %s\n",var->name,type);
- smartlist_add(sl, line);
+ smartlist_add_asprintf(sl, "%s %s\n",var->name,type);
}
*answer = smartlist_join_strings(sl, "", 0, NULL);
SMARTLIST_FOREACH(sl, char *, c, tor_free(c));
diff --git a/src/or/config.h b/src/or/config.h
index 76f6841d7..0f7c61886 100644
--- a/src/or/config.h
+++ b/src/or/config.h
@@ -23,24 +23,24 @@ const char *escaped_safe_str_client(const char *address);
const char *escaped_safe_str(const char *address);
const char *get_version(void);
-int config_get_lines(const char *string, config_line_t **result);
+int config_get_lines(const char *string, config_line_t **result, int extended);
void config_free_lines(config_line_t *front);
setopt_err_t options_trial_assign(config_line_t *list, int use_defaults,
int clear_first, char **msg);
int resolve_my_address(int warn_severity, const or_options_t *options,
uint32_t *addr, char **hostname_out);
-int is_local_addr(const tor_addr_t *addr) ATTR_PURE;
+int is_local_addr(const tor_addr_t *addr);
void options_init(or_options_t *options);
char *options_dump(const or_options_t *options, int minimal);
int options_init_from_torrc(int argc, char **argv);
-setopt_err_t options_init_from_string(const char *cf,
+setopt_err_t options_init_from_string(const char *cf_defaults, const char *cf,
int command, const char *command_arg, char **msg);
int option_is_recognized(const char *key);
const char *option_get_canonical_name(const char *key);
config_line_t *option_get_assignment(const or_options_t *options,
const char *key);
int options_save_current(void);
-const char *get_torrc_fname(void);
+const char *get_torrc_fname(int defaults_fname);
char *options_get_datadir_fname2_suffix(const or_options_t *options,
const char *sub1, const char *sub2,
const char *suffix);
@@ -64,14 +64,20 @@ or_state_t *get_or_state(void);
int did_last_state_file_write_fail(void);
int or_state_save(time_t now);
-const smartlist_t *get_configured_client_ports(void);
+const smartlist_t *get_configured_ports(void);
+int get_first_advertised_port_by_type_af(int listener_type,
+ int address_family);
+#define get_primary_or_port() \
+ (get_first_advertised_port_by_type_af(CONN_TYPE_OR_LISTENER, AF_INET))
+#define get_primary_dir_port() \
+ (get_first_advertised_port_by_type_af(CONN_TYPE_DIR_LISTENER, AF_INET))
int options_need_geoip_info(const or_options_t *options,
const char **reason_out);
void save_transport_to_state(const char *transport_name,
const tor_addr_t *addr, uint16_t port);
-const char *get_bindaddr_for_transport(const char *transport);
+char *get_stored_bindaddr_for_server_transport(const char *transport);
int getinfo_helper_config(control_connection_t *conn,
const char *question, char **answer,
diff --git a/src/or/connection.c b/src/or/connection.c
index bf39a5cb9..cbc6091e3 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -44,7 +44,7 @@
#include <pwd.h>
#endif
-static connection_t *connection_create_listener(
+static connection_t *connection_listener_new(
const struct sockaddr *listensockaddr,
socklen_t listensocklen, int type,
const char *address,
@@ -244,7 +244,7 @@ or_connection_new(int socket_family)
or_conn->timestamp_last_added_nonpadding = time(NULL);
or_conn->next_circ_id = crypto_rand_int(1<<15);
- or_conn->active_circuit_pqueue = smartlist_create();
+ or_conn->active_circuit_pqueue = smartlist_new();
or_conn->active_circuit_pqueue_last_recalibrated = cell_ewma_get_tick();
return or_conn;
@@ -372,7 +372,7 @@ connection_init(time_t now, connection_t *conn, int type, int socket_family)
break;
}
- conn->s = -1; /* give it a default of 'not used' */
+ conn->s = TOR_INVALID_SOCKET; /* give it a default of 'not used' */
conn->conn_array_index = -1; /* also default to 'not used' */
conn->global_identifier = n_connections_allocated++;
@@ -395,8 +395,8 @@ connection_init(time_t now, connection_t *conn, int type, int socket_family)
void
connection_link_connections(connection_t *conn_a, connection_t *conn_b)
{
- tor_assert(conn_a->s < 0);
- tor_assert(conn_b->s < 0);
+ tor_assert(! SOCKET_OK(conn_a->s));
+ tor_assert(! SOCKET_OK(conn_b->s));
conn_a->linked = 1;
conn_b->linked = 1;
@@ -540,7 +540,7 @@ _connection_free(connection_t *conn)
if (SOCKET_OK(conn->s)) {
log_debug(LD_NET,"closing fd %d.",(int)conn->s);
tor_close_socket(conn->s);
- conn->s = -1;
+ conn->s = TOR_INVALID_SOCKET;
}
if (conn->type == CONN_TYPE_OR &&
@@ -625,7 +625,7 @@ connection_about_to_close_connection(connection_t *conn)
/** Return true iff connection_close_immediate() has been called on this
* connection. */
#define CONN_IS_CLOSED(c) \
- ((c)->linked ? ((c)->linked_conn_is_closed) : ((c)->s < 0))
+ ((c)->linked ? ((c)->linked_conn_is_closed) : (! SOCKET_OK(c->s)))
/** Close the underlying socket for <b>conn</b>, so we don't try to
* flush it. Must be used in conjunction with (right before)
@@ -651,7 +651,7 @@ connection_close_immediate(connection_t *conn)
if (SOCKET_OK(conn->s))
tor_close_socket(conn->s);
- conn->s = -1;
+ conn->s = TOR_INVALID_SOCKET;
if (conn->linked)
conn->linked_conn_is_closed = 1;
if (conn->outbuf)
@@ -817,7 +817,7 @@ check_location_for_unix_socket(const or_options_t *options, const char *path)
log_warn(LD_GENERAL, "Before Tor can create a control socket in %s, the "
"directory %s needs to exist, and to be accessible only by the "
"user%s account that is running Tor. (On some Unix systems, "
- "anybody who can list a socket can conect to it, so Tor is "
+ "anybody who can list a socket can connect to it, so Tor is "
"being careful.)", escpath, escdir,
options->ControlSocketsGroupWritable ? " and group" : "");
tor_free(escpath);
@@ -837,7 +837,7 @@ check_location_for_unix_socket(const or_options_t *options, const char *path)
static void
make_socket_reuseable(tor_socket_t sock)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
(void) sock;
#else
int one=1;
@@ -858,7 +858,7 @@ make_socket_reuseable(tor_socket_t sock)
* to the conn.
*/
static connection_t *
-connection_create_listener(const struct sockaddr *listensockaddr,
+connection_listener_new(const struct sockaddr *listensockaddr,
socklen_t socklen,
int type, const char *address,
const port_cfg_t *port_cfg)
@@ -880,7 +880,8 @@ connection_create_listener(const struct sockaddr *listensockaddr,
return NULL;
}
- if (listensockaddr->sa_family == AF_INET) {
+ if (listensockaddr->sa_family == AF_INET ||
+ listensockaddr->sa_family == AF_INET6) {
int is_tcp = (type != CONN_TYPE_AP_DNS_LISTENER);
if (is_tcp)
start_reading = 1;
@@ -890,7 +891,7 @@ connection_create_listener(const struct sockaddr *listensockaddr,
log_notice(LD_NET, "Opening %s on %s:%d",
conn_type_to_string(type), fmt_addr(&addr), usePort);
- s = tor_open_socket(PF_INET,
+ s = tor_open_socket(tor_addr_family(&addr),
is_tcp ? SOCK_STREAM : SOCK_DGRAM,
is_tcp ? IPPROTO_TCP: IPPROTO_UDP);
if (!SOCKET_OK(s)) {
@@ -901,6 +902,25 @@ connection_create_listener(const struct sockaddr *listensockaddr,
make_socket_reuseable(s);
+#ifdef IPV6_V6ONLY
+ if (listensockaddr->sa_family == AF_INET6) {
+#ifdef _WIN32
+ /* In Redmond, this kind of thing passes for standards-conformance. */
+ DWORD one = 1;
+#else
+ int one = 1;
+#endif
+ /* We need to set IPV6_V6ONLY so that this socket can't get used for
+ * IPv4 connections. */
+ if (setsockopt(s,IPPROTO_IPV6, IPV6_V6ONLY, (void*)&one, sizeof(one))<0) {
+ int e = tor_socket_errno(s);
+ log_warn(LD_NET, "Error setting IPV6_V6ONLY flag: %s",
+ tor_socket_strerror(e));
+ /* Keep going; probably not harmful. */
+ }
+ }
+#endif
+
if (bind(s,listensockaddr,socklen) < 0) {
const char *helpfulhint = "";
int e = tor_socket_errno(s);
@@ -957,7 +977,7 @@ connection_create_listener(const struct sockaddr *listensockaddr,
goto err;
}
s = tor_open_socket(AF_UNIX, SOCK_STREAM, 0);
- if (s < 0) {
+ if (! SOCKET_OK(s)) {
log_warn(LD_NET,"Socket creation failed: %s.", strerror(errno));
goto err;
}
@@ -996,6 +1016,8 @@ connection_create_listener(const struct sockaddr *listensockaddr,
tor_close_socket(s);
goto err;
}
+#else
+ (void)options;
#endif /* HAVE_SYS_UN_H */
} else {
log_err(LD_BUG,"Got unexpected address family %d.",
@@ -1048,7 +1070,12 @@ connection_create_listener(const struct sockaddr *listensockaddr,
}
/** Do basic sanity checking on a newly received socket. Return 0
- * if it looks ok, else return -1. */
+ * if it looks ok, else return -1.
+ *
+ * Notably, some TCP stacks can erroneously have accept() return successfully
+ * with socklen 0, when the client sends an RST before the accept call (as
+ * nmap does). We want to detect that, and not go on with the connection.
+ */
static int
check_sockaddr(struct sockaddr *sa, int len, int level)
{
@@ -1114,14 +1141,14 @@ connection_handle_listener_read(connection_t *conn, int new_type)
tor_socket_t news; /* the new socket */
connection_t *newconn;
/* information about the remote peer when connecting to other routers */
- char addrbuf[256];
- struct sockaddr *remote = (struct sockaddr*)addrbuf;
+ struct sockaddr_storage addrbuf;
+ struct sockaddr *remote = (struct sockaddr*)&addrbuf;
/* length of the remote address. Must be whatever accept() needs. */
socklen_t remotelen = (socklen_t)sizeof(addrbuf);
const or_options_t *options = get_options();
tor_assert((size_t)remotelen >= sizeof(struct sockaddr_in));
- memset(addrbuf, 0, sizeof(addrbuf));
+ memset(&addrbuf, 0, sizeof(addrbuf));
news = tor_accept_socket(conn->s,remote,&remotelen);
if (!SOCKET_OK(news)) { /* accept() error */
@@ -1158,21 +1185,9 @@ connection_handle_listener_read(connection_t *conn, int new_type)
uint16_t port;
if (check_sockaddr(remote, remotelen, LOG_INFO)<0) {
log_info(LD_NET,
- "accept() returned a strange address; trying getsockname().");
- remotelen=sizeof(addrbuf);
- memset(addrbuf, 0, sizeof(addrbuf));
- if (getsockname(news, remote, &remotelen)<0) {
- int e = tor_socket_errno(news);
- log_warn(LD_NET, "getsockname() for new connection failed: %s",
- tor_socket_strerror(e));
- } else {
- if (check_sockaddr((struct sockaddr*)addrbuf, remotelen,
- LOG_WARN) < 0) {
- log_warn(LD_NET,"Something's wrong with this conn. Closing it.");
- tor_close_socket(news);
- return 0;
- }
- }
+ "accept() returned a strange address; closing connection.");
+ tor_close_socket(news);
+ return 0;
}
if (check_sockaddr_family_match(remote->sa_family, conn) < 0) {
@@ -1300,7 +1315,7 @@ connection_connect(connection_t *conn, const char *address,
{
tor_socket_t s;
int inprogress = 0;
- char addrbuf[256];
+ struct sockaddr_storage addrbuf;
struct sockaddr *dest_addr;
int dest_addr_len;
const or_options_t *options = get_options();
@@ -1316,14 +1331,34 @@ connection_connect(connection_t *conn, const char *address,
else
protocol_family = PF_INET;
+ if (get_options()->DisableNetwork) {
+ /* We should never even try to connect anyplace if DisableNetwork is set.
+ * Warn if we do, and refuse to make the connection. */
+ static ratelim_t disablenet_violated = RATELIM_INIT(30*60);
+ char *m;
+#ifdef _WIN32
+ *socket_error = WSAENETUNREACH;
+#else
+ *socket_error = ENETUNREACH;
+#endif
+ if ((m = rate_limit_log(&disablenet_violated, approx_time()))) {
+ log_warn(LD_BUG, "Tried to open a socket with DisableNetwork set.%s", m);
+ tor_free(m);
+ }
+ tor_fragile_assert();
+ return -1;
+ }
+
s = tor_open_socket(protocol_family,SOCK_STREAM,IPPROTO_TCP);
- if (s < 0) {
+ if (! SOCKET_OK(s)) {
*socket_error = tor_socket_errno(-1);
log_warn(LD_NET,"Error creating network socket: %s",
tor_socket_strerror(*socket_error));
return -1;
}
+ make_socket_reuseable(s);
+
if (options->OutboundBindAddress && !tor_addr_is_loopback(addr)) {
struct sockaddr_in ext_addr;
@@ -1350,16 +1385,14 @@ connection_connect(connection_t *conn, const char *address,
if (options->ConstrainedSockets)
set_constrained_socket_buffers(s, (int)options->ConstrainedSockSize);
- memset(addrbuf,0,sizeof(addrbuf));
- dest_addr = (struct sockaddr*) addrbuf;
+ memset(&addrbuf,0,sizeof(addrbuf));
+ dest_addr = (struct sockaddr*) &addrbuf;
dest_addr_len = tor_addr_to_sockaddr(addr, port, dest_addr, sizeof(addrbuf));
tor_assert(dest_addr_len > 0);
log_debug(LD_NET, "Connecting to %s:%u.",
escaped_safe_str_client(address), port);
- make_socket_reuseable(s);
-
if (connect(s, dest_addr, (socklen_t)dest_addr_len) < 0) {
int e = tor_socket_errno(s);
if (!ERRNO_IS_CONN_EINPROGRESS(e)) {
@@ -1776,7 +1809,7 @@ retry_listener_ports(smartlist_t *old_conns,
const smartlist_t *ports,
smartlist_t *new_conns)
{
- smartlist_t *launch = smartlist_create();
+ smartlist_t *launch = smartlist_new();
int r = 0;
smartlist_add_all(launch, ports);
@@ -1794,6 +1827,9 @@ retry_listener_ports(smartlist_t *old_conns,
(conn->socket_family == AF_UNIX && ! wanted->is_unix_addr))
continue;
+ if (wanted->no_listen)
+ continue; /* We don't want to open a listener for this one */
+
if (wanted->is_unix_addr) {
if (conn->socket_family == AF_UNIX &&
!strcmp(wanted->unix_addr, conn->address)) {
@@ -1832,6 +1868,8 @@ retry_listener_ports(smartlist_t *old_conns,
connection_t *conn;
int real_port = port->port == CFG_AUTO_PORT ? 0 : port->port;
tor_assert(real_port <= UINT16_MAX);
+ if (port->no_listen)
+ continue;
if (port->is_unix_addr) {
listensockaddr = (struct sockaddr *)
@@ -1847,7 +1885,7 @@ retry_listener_ports(smartlist_t *old_conns,
}
if (listensockaddr) {
- conn = connection_create_listener(listensockaddr, listensocklen,
+ conn = connection_listener_new(listensockaddr, listensocklen,
port->type, address, port);
tor_free(listensockaddr);
tor_free(address);
@@ -1868,82 +1906,6 @@ retry_listener_ports(smartlist_t *old_conns,
return r;
}
-/**
- * Launch any configured listener connections of type <b>type</b>. (A
- * listener is configured if <b>port_option</b> is non-zero. If any
- * ListenAddress configuration options are given in <b>cfg</b>, create a
- * connection binding to each one. Otherwise, create a single
- * connection binding to the address <b>default_addr</b>.)
- *
- * We assume that we're starting with a list of existing listener connection_t
- * pointers in <b>old_conns</b>: we do not launch listeners that are already
- * in that list. Instead, we just remove them from the list.
- *
- * All new connections we launch are added to <b>new_conns</b>.
- */
-static int
-retry_listeners(smartlist_t *old_conns,
- int type, const config_line_t *cfg,
- int port_option, const char *default_addr,
- smartlist_t *new_conns,
- int is_sockaddr_un)
-{
- smartlist_t *ports = smartlist_create();
- tor_addr_t dflt_addr;
- int retval = 0;
-
- if (default_addr) {
- tor_addr_parse(&dflt_addr, default_addr);
- } else {
- tor_addr_make_unspec(&dflt_addr);
- }
-
- if (port_option) {
- if (!cfg) {
- port_cfg_t *port = tor_malloc_zero(sizeof(port_cfg_t));
- tor_addr_copy(&port->addr, &dflt_addr);
- port->port = port_option;
- port->type = type;
- smartlist_add(ports, port);
- } else {
- const config_line_t *c;
- for (c = cfg; c; c = c->next) {
- port_cfg_t *port;
- tor_addr_t addr;
- uint16_t portval = 0;
- if (is_sockaddr_un) {
- size_t len = strlen(c->value);
- port = tor_malloc_zero(sizeof(port_cfg_t) + len + 1);
- port->is_unix_addr = 1;
- memcpy(port->unix_addr, c->value, len+1);
- } else {
- if (tor_addr_port_lookup(c->value, &addr, &portval) < 0) {
- log_warn(LD_CONFIG, "Can't parse/resolve %s %s",
- c->key, c->value);
- retval = -1;
- continue;
- }
- port = tor_malloc_zero(sizeof(port_cfg_t));
- tor_addr_copy(&port->addr, &addr);
- }
- port->type = type;
- port->port = portval ? portval : port_option;
- smartlist_add(ports, port);
- }
- }
- }
-
- if (retval == -1)
- goto cleanup;
-
- retval = retry_listener_ports(old_conns, ports, new_conns);
-
- cleanup:
- SMARTLIST_FOREACH(ports, port_cfg_t *, p, tor_free(p));
- smartlist_free(ports);
- return retval;
-}
-
/** Launch listeners for each port you should have open. Only launch
* listeners who are not already open, and only close listeners we no longer
* want.
@@ -1955,7 +1917,7 @@ int
retry_all_listeners(smartlist_t *replaced_conns,
smartlist_t *new_conns)
{
- smartlist_t *listeners = smartlist_create();
+ smartlist_t *listeners = smartlist_new();
const or_options_t *options = get_options();
int retval = 0;
const uint16_t old_or_port = router_get_advertised_or_port(options);
@@ -1966,35 +1928,10 @@ retry_all_listeners(smartlist_t *replaced_conns,
smartlist_add(listeners, conn);
} SMARTLIST_FOREACH_END(conn);
- if (! options->ClientOnly) {
- if (retry_listeners(listeners,
- CONN_TYPE_OR_LISTENER, options->ORListenAddress,
- options->ORPort, "0.0.0.0",
- new_conns, 0) < 0)
- retval = -1;
- if (retry_listeners(listeners,
- CONN_TYPE_DIR_LISTENER, options->DirListenAddress,
- options->DirPort, "0.0.0.0",
- new_conns, 0) < 0)
- retval = -1;
- }
-
if (retry_listener_ports(listeners,
- get_configured_client_ports(),
+ get_configured_ports(),
new_conns) < 0)
retval = -1;
- if (retry_listeners(listeners,
- CONN_TYPE_CONTROL_LISTENER,
- options->ControlListenAddress,
- options->ControlPort, "127.0.0.1",
- new_conns, 0) < 0)
- retval = -1;
- if (retry_listeners(listeners,
- CONN_TYPE_CONTROL_LISTENER,
- options->ControlSocket,
- options->ControlSocket ? 1 : 0, NULL,
- new_conns, 1) < 0)
- retval = -1;
/* Any members that were still in 'listeners' don't correspond to
* any configured port. Kill 'em. */
@@ -2011,6 +1948,7 @@ retry_all_listeners(smartlist_t *replaced_conns,
smartlist_free(listeners);
+ /* XXXprop186 should take all advertised ports into account */
if (old_or_port != router_get_advertised_or_port(options) ||
old_dir_port != router_get_advertised_dir_port(options, 0)) {
/* Our chosen ORPort or DirPort is not what it used to be: the
@@ -2023,6 +1961,43 @@ retry_all_listeners(smartlist_t *replaced_conns,
return retval;
}
+/** Mark every listener of type other than CONTROL_LISTENER to be closed. */
+void
+connection_mark_all_noncontrol_listeners(void)
+{
+ SMARTLIST_FOREACH_BEGIN(get_connection_array(), connection_t *, conn) {
+ if (conn->marked_for_close)
+ continue;
+ if (conn->type == CONN_TYPE_CONTROL_LISTENER)
+ continue;
+ if (connection_is_listener(conn))
+ connection_mark_for_close(conn);
+ } SMARTLIST_FOREACH_END(conn);
+}
+
+/** Mark every external connection not used for controllers for close. */
+void
+connection_mark_all_noncontrol_connections(void)
+{
+ SMARTLIST_FOREACH_BEGIN(get_connection_array(), connection_t *, conn) {
+ if (conn->marked_for_close)
+ continue;
+ switch (conn->type) {
+ case CONN_TYPE_CPUWORKER:
+ case CONN_TYPE_CONTROL_LISTENER:
+ case CONN_TYPE_CONTROL:
+ break;
+ case CONN_TYPE_AP:
+ connection_mark_unattached_ap(TO_ENTRY_CONN(conn),
+ END_STREAM_REASON_HIBERNATING);
+ break;
+ default:
+ connection_mark_for_close(conn);
+ break;
+ }
+ } SMARTLIST_FOREACH_END(conn);
+}
+
/** Return 1 if we should apply rate limiting to <b>conn</b>, and 0
* otherwise.
* Right now this just checks if it's an internal IP address or an
@@ -2620,10 +2595,6 @@ connection_consider_empty_read_buckets(connection_t *conn)
/** Read bytes from conn-\>s and process them.
*
- * This function gets called from conn_read() in main.c, either
- * when poll() has declared that conn wants to read, or (for OR conns)
- * when there are pending TLS bytes.
- *
* It calls connection_read_to_buf() to bring in any new bytes,
* and then calls connection_process_inbuf() to process them.
*
@@ -2997,6 +2968,9 @@ connection_handle_event_cb(struct bufferevent *bufev, short event, void *arg)
{
connection_t *conn = arg;
(void) bufev;
+ if (conn->marked_for_close)
+ return;
+
if (event & BEV_EVENT_CONNECTED) {
tor_assert(connection_state_is_connecting(conn));
if (connection_finished_connecting(conn)<0)
@@ -3174,8 +3148,7 @@ connection_handle_write_impl(connection_t *conn, int force)
/* Sometimes, "writable" means "connected". */
if (connection_state_is_connecting(conn)) {
if (getsockopt(conn->s, SOL_SOCKET, SO_ERROR, (void*)&e, &len) < 0) {
- log_warn(LD_BUG,
- "getsockopt() syscall failed?! Please report to tor-ops.");
+ log_warn(LD_BUG, "getsockopt() syscall failed");
if (CONN_IS_EDGE(conn))
connection_edge_end_errno(TO_EDGE_CONN(conn));
connection_mark_for_close(conn);
@@ -3724,7 +3697,7 @@ client_check_address_changed(tor_socket_t sock)
if (!last_interface_ip)
get_interface_address(LOG_INFO, &last_interface_ip);
if (!outgoing_addrs)
- outgoing_addrs = smartlist_create();
+ outgoing_addrs = smartlist_new();
if (getsockname(sock, (struct sockaddr*)&out_addr, &out_addr_len)<0) {
int e = tor_socket_errno(sock);
diff --git a/src/or/connection.h b/src/or/connection.h
index 9f1148972..c4b8bf8ab 100644
--- a/src/or/connection.h
+++ b/src/or/connection.h
@@ -66,6 +66,9 @@ int get_proxy_addrport(tor_addr_t *addr, uint16_t *port, int *proxy_type,
int retry_all_listeners(smartlist_t *replaced_conns,
smartlist_t *new_conns);
+void connection_mark_all_noncontrol_listeners(void);
+void connection_mark_all_noncontrol_connections(void);
+
ssize_t connection_bucket_write_limit(connection_t *conn, time_t now);
int global_write_bucket_low(connection_t *conn, size_t attempt, int priority);
void connection_bucket_init(void);
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index efaad79b6..dd772b22c 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -803,11 +803,18 @@ connection_ap_detach_retriable(entry_connection_t *conn,
* the configuration file, "1" for mappings set from the control
* interface, and other values for DNS and TrackHostExit mappings that can
* expire.)
+ *
+ * A mapping may be 'wildcarded'. If "src_wildcard" is true, then
+ * any address that ends with a . followed by the key for this entry will
+ * get remapped by it. If "dst_wildcard" is also true, then only the
+ * matching suffix of such addresses will get replaced by new_address.
*/
typedef struct {
char *new_address;
time_t expires;
addressmap_entry_source_t source:3;
+ unsigned src_wildcard:1;
+ unsigned dst_wildcard:1;
short num_resolve_failures;
} addressmap_entry_t;
@@ -902,13 +909,10 @@ addressmap_ent_remove(const char *address, addressmap_entry_t *ent)
static void
clear_trackexithost_mappings(const char *exitname)
{
- char *suffix;
- size_t suffix_len;
+ char *suffix = NULL;
if (!addressmap || !exitname)
return;
- suffix_len = strlen(exitname) + 16;
- suffix = tor_malloc(suffix_len);
- tor_snprintf(suffix, suffix_len, ".%s.exit", exitname);
+ tor_asprintf(&suffix, ".%s.exit", exitname);
tor_strlower(suffix);
STRMAP_FOREACH_MODIFY(addressmap, address, addressmap_entry_t *, ent) {
@@ -1054,6 +1058,37 @@ addressmap_free_all(void)
virtaddress_reversemap = NULL;
}
+/** Try to find a match for AddressMap expressions that use
+ * wildcard notation such as '*.c.d *.e.f' (so 'a.c.d' will map to 'a.e.f') or
+ * '*.c.d a.b.c' (so 'a.c.d' will map to a.b.c).
+ * Return the matching entry in AddressMap or NULL if no match is found.
+ * For expressions such as '*.c.d *.e.f', truncate <b>address</b> 'a.c.d'
+ * to 'a' before we return the matching AddressMap entry.
+ *
+ * This function does not handle the case where a pattern of the form "*.c.d"
+ * matches the address c.d -- that's done by the main addressmap_rewrite
+ * function.
+ */
+static addressmap_entry_t *
+addressmap_match_superdomains(char *address)
+{
+ addressmap_entry_t *val;
+ char *cp;
+
+ cp = address;
+ while ((cp = strchr(cp, '.'))) {
+ /* cp now points to a suffix of address that begins with a . */
+ val = strmap_get_lc(addressmap, cp+1);
+ if (val && val->src_wildcard) {
+ if (val->dst_wildcard)
+ *cp = '\0';
+ return val;
+ }
+ ++cp;
+ }
+ return NULL;
+}
+
/** Look at address, and rewrite it until it doesn't want any
* more rewrites; but don't get into an infinite loop.
* Don't write more than maxlen chars into address. Return true if the
@@ -1066,25 +1101,49 @@ addressmap_rewrite(char *address, size_t maxlen, time_t *expires_out)
{
addressmap_entry_t *ent;
int rewrites;
- char *cp;
time_t expires = TIME_MAX;
for (rewrites = 0; rewrites < 16; rewrites++) {
+ int exact_match = 0;
+ char *addr_orig = tor_strdup(escaped_safe_str_client(address));
+
ent = strmap_get(addressmap, address);
if (!ent || !ent->new_address) {
+ ent = addressmap_match_superdomains(address);
+ } else {
+ if (ent->src_wildcard && !ent->dst_wildcard &&
+ !strcasecmp(address, ent->new_address)) {
+ /* This is a rule like *.example.com example.com, and we just got
+ * "example.com" */
+ tor_free(addr_orig);
+ if (expires_out)
+ *expires_out = expires;
+ return rewrites > 0;
+ }
+
+ exact_match = 1;
+ }
+
+ if (!ent || !ent->new_address) {
+ tor_free(addr_orig);
if (expires_out)
*expires_out = expires;
return (rewrites > 0); /* done, no rewrite needed */
}
- cp = tor_strdup(escaped_safe_str_client(ent->new_address));
+ if (ent->dst_wildcard && !exact_match) {
+ strlcat(address, ".", maxlen);
+ strlcat(address, ent->new_address, maxlen);
+ } else {
+ strlcpy(address, ent->new_address, maxlen);
+ }
+
log_info(LD_APP, "Addressmap: rewriting %s to %s",
- escaped_safe_str_client(address), cp);
+ addr_orig, escaped_safe_str_client(address));
if (ent->expires > 1 && ent->expires < expires)
expires = ent->expires;
- tor_free(cp);
- strlcpy(address, ent->new_address, maxlen);
+ tor_free(addr_orig);
}
log_warn(LD_CONFIG,
"Loop detected: we've rewritten %s 16 times! Using it as-is.",
@@ -1103,11 +1162,10 @@ addressmap_rewrite(char *address, size_t maxlen, time_t *expires_out)
static int
addressmap_rewrite_reverse(char *address, size_t maxlen, time_t *expires_out)
{
- size_t len = maxlen + 16;
- char *s = tor_malloc(len), *cp;
+ char *s, *cp;
addressmap_entry_t *ent;
int r = 0;
- tor_snprintf(s, len, "REVERSE[%s]", address);
+ tor_asprintf(&s, "REVERSE[%s]", address);
ent = strmap_get(addressmap, s);
if (ent) {
cp = tor_strdup(escaped_safe_str_client(ent->new_address));
@@ -1148,17 +1206,34 @@ addressmap_have_mapping(const char *address, int update_expiry)
* <b>new_address</b> should be a newly dup'ed string, which we'll use or
* free as appropriate. We will leave address alone.
*
- * If <b>new_address</b> is NULL, or equal to <b>address</b>, remove
- * any mappings that exist from <b>address</b>.
- */
+ * If <b>wildcard_addr</b> is true, then the mapping will match any address
+ * equal to <b>address</b>, or any address ending with a period followed by
+ * <b>address</b>. If <b>wildcard_addr</b> and <b>wildcard_new_addr</b> are
+ * both true, the mapping will rewrite addresses that end with
+ * ".<b>address</b>" into ones that end with ".<b>new_address</b>."
+ *
+ * If <b>new_address</b> is NULL, or <b>new_address</b> is equal to
+ * <b>address</b> and <b>wildcard_addr</b> is equal to
+ * <b>wildcard_new_addr</b>, remove any mappings that exist from
+ * <b>address</b>.
+ *
+ *
+ * It is an error to set <b>wildcard_new_addr</b> if <b>wildcard_addr</b> is
+ * not set. */
void
addressmap_register(const char *address, char *new_address, time_t expires,
- addressmap_entry_source_t source)
+ addressmap_entry_source_t source,
+ const int wildcard_addr,
+ const int wildcard_new_addr)
{
addressmap_entry_t *ent;
+ if (wildcard_new_addr)
+ tor_assert(wildcard_addr);
+
ent = strmap_get(addressmap, address);
- if (!new_address || !strcasecmp(address,new_address)) {
+ if (!new_address || (!strcasecmp(address,new_address) &&
+ wildcard_addr == wildcard_new_addr)) {
/* Remove the mapping, if any. */
tor_free(new_address);
if (ent) {
@@ -1193,6 +1268,8 @@ addressmap_register(const char *address, char *new_address, time_t expires,
ent->expires = expires==2 ? 1 : expires;
ent->num_resolve_failures = 0;
ent->source = source;
+ ent->src_wildcard = wildcard_addr ? 1 : 0;
+ ent->dst_wildcard = wildcard_new_addr ? 1 : 0;
log_info(LD_CONFIG, "Addressmap: (re)mapped '%s' to '%s'",
safe_str_client(address),
@@ -1277,7 +1354,7 @@ client_dns_set_addressmap_impl(const char *address, const char *name,
"%s", name);
}
addressmap_register(extendedaddress, tor_strdup(extendedval),
- time(NULL) + ttl, ADDRMAPSRC_DNS);
+ time(NULL) + ttl, ADDRMAPSRC_DNS, 0, 0);
}
/** Record the fact that <b>address</b> resolved to <b>val</b>.
@@ -1322,9 +1399,8 @@ client_dns_set_reverse_addressmap(const char *address, const char *v,
const char *exitname,
int ttl)
{
- size_t len = strlen(address) + 16;
- char *s = tor_malloc(len);
- tor_snprintf(s, len, "REVERSE[%s]", address);
+ char *s = NULL;
+ tor_asprintf(&s, "REVERSE[%s]", address);
client_dns_set_addressmap_impl(s, v, exitname, ttl);
tor_free(s);
}
@@ -1529,7 +1605,7 @@ addressmap_register_virtual_address(int type, char *new_address)
log_info(LD_APP, "Registering map from %s to %s", *addrp, new_address);
if (vent_needs_to_be_added)
strmap_set(virtaddress_reversemap, new_address, vent);
- addressmap_register(*addrp, new_address, 2, ADDRMAPSRC_AUTOMAP);
+ addressmap_register(*addrp, new_address, 2, ADDRMAPSRC_AUTOMAP, 0, 0);
#if 0
{
@@ -1608,21 +1684,18 @@ addressmap_get_mappings(smartlist_t *sl, time_t min_expires,
addressmap_ent_remove(key, val);
continue;
} else if (val->new_address) {
- size_t len = strlen(key)+strlen(val->new_address)+ISO_TIME_LEN+5;
- char *line = tor_malloc(len);
if (want_expiry) {
if (val->expires < 3 || val->expires == TIME_MAX)
- tor_snprintf(line, len, "%s %s NEVER", key, val->new_address);
+ smartlist_add_asprintf(sl, "%s %s NEVER", key, val->new_address);
else {
char time[ISO_TIME_LEN+1];
format_iso_time(time, val->expires);
- tor_snprintf(line, len, "%s %s \"%s\"", key, val->new_address,
+ smartlist_add_asprintf(sl, "%s %s \"%s\"", key, val->new_address,
time);
}
} else {
- tor_snprintf(line, len, "%s %s", key, val->new_address);
+ smartlist_add_asprintf(sl, "%s %s", key, val->new_address);
}
- smartlist_add(sl, line);
}
}
iter = strmap_iter_next(addressmap,iter);
@@ -1813,8 +1886,6 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
remapped_to_exit || options->AllowDotExit);
if (addresstype == BAD_HOSTNAME) {
- log_warn(LD_APP, "Invalid onion hostname %s; rejecting",
- safe_str_client(socks->address));
control_event_client_status(LOG_WARN, "SOCKS_BAD_HOSTNAME HOSTNAME=%s",
escaped(socks->address));
connection_mark_unattached_ap(conn, END_STREAM_REASON_TORPROTOCOL);
@@ -1892,6 +1963,14 @@ connection_ap_handshake_rewrite_and_attach(entry_connection_t *conn,
return -1;
}
+ if (options->Tor2webMode) {
+ log_warn(LD_APP, "Refusing to connect to non-hidden-service hostname %s "
+ "because tor2web mode is enabled.",
+ safe_str_client(socks->address));
+ connection_mark_unattached_ap(conn, END_STREAM_REASON_ENTRYPOLICY);
+ return -1;
+ }
+
if (socks->command == SOCKS_COMMAND_RESOLVE) {
uint32_t answer;
struct in_addr in;
@@ -2453,7 +2532,9 @@ connection_ap_handshake_send_begin(entry_connection_t *ap_conn)
begin_type = ap_conn->use_begindir ?
RELAY_COMMAND_BEGIN_DIR : RELAY_COMMAND_BEGIN;
if (begin_type == RELAY_COMMAND_BEGIN) {
+#ifndef NON_ANONYMOUS_MODE_ENABLED
tor_assert(circ->build_state->onehop_tunnel == 0);
+#endif
}
if (connection_edge_send_command(edge_conn, begin_type,
@@ -2593,7 +2674,7 @@ connection_ap_make_link(connection_t *partner,
want_onehop ? "direct" : "anonymized",
safe_str_client(address), port);
- conn = entry_connection_new(CONN_TYPE_AP, AF_INET);
+ conn = entry_connection_new(CONN_TYPE_AP, tor_addr_family(&partner->addr));
base_conn = ENTRY_TO_CONN(conn);
base_conn->linked = 1; /* so that we can add it safely below. */
@@ -3199,7 +3280,7 @@ connection_exit_connect_dir(edge_connection_t *exitconn)
exitconn->_base.state = EXIT_CONN_STATE_OPEN;
- dirconn = dir_connection_new(AF_INET);
+ dirconn = dir_connection_new(tor_addr_family(&exitconn->_base.addr));
tor_addr_copy(&dirconn->_base.addr, &exitconn->_base.addr);
dirconn->_base.port = 0;
@@ -3319,9 +3400,15 @@ connection_ap_can_use_exit(const entry_connection_t *conn, const node_t *exit)
/** If address is of the form "y.onion" with a well-formed handle y:
* Put a NUL after y, lower-case it, and return ONION_HOSTNAME.
*
+ * If address is of the form "y.onion" with a badly-formed handle y:
+ * Return BAD_HOSTNAME and log a message.
+ *
* If address is of the form "y.exit" and <b>allowdotexit</b> is true:
* Put a NUL after y and return EXIT_HOSTNAME.
*
+ * If address is of the form "y.exit" and <b>allowdotexit</b> is false:
+ * Return BAD_HOSTNAME and log a message.
+ *
* Otherwise:
* Return NORMAL_HOSTNAME and change nothing.
*/
@@ -3360,6 +3447,8 @@ parse_extended_hostname(char *address, int allowdotexit)
failed:
/* otherwise, return to previous state and return 0 */
*s = '.';
+ log_warn(LD_APP, "Invalid onion hostname %s; rejecting",
+ safe_str_client(address));
return BAD_HOSTNAME;
}
diff --git a/src/or/connection_edge.h b/src/or/connection_edge.h
index 830667e60..47c9c45b1 100644
--- a/src/or/connection_edge.h
+++ b/src/or/connection_edge.h
@@ -78,7 +78,8 @@ int addressmap_rewrite(char *address, size_t maxlen, time_t *expires_out);
int addressmap_have_mapping(const char *address, int update_timeout);
void addressmap_register(const char *address, char *new_address,
- time_t expires, addressmap_entry_source_t source);
+ time_t expires, addressmap_entry_source_t source,
+ int address_wildcard, int new_address_wildcard);
int parse_virtual_addr_network(const char *val, int validate_only,
char **msg);
int client_dns_incr_failures(const char *address);
diff --git a/src/or/connection_or.c b/src/or/connection_or.c
index 202548a6b..a815928f6 100644
--- a/src/or/connection_or.c
+++ b/src/or/connection_or.c
@@ -257,7 +257,7 @@ connection_or_report_broken_states(int severity, int domain)
if (!broken_connection_counts || disable_broken_connection_counts)
return;
- items = smartlist_create();
+ items = smartlist_new();
STRMAP_FOREACH(broken_connection_counts, state, void *, countptr) {
broken_state_count_t *c = tor_malloc(sizeof(broken_state_count_t));
c->count = (intptr_t)countptr;
@@ -626,7 +626,9 @@ connection_or_update_token_buckets(smartlist_t *conns,
/** If we don't necessarily know the router we're connecting to, but we
* have an addr/port/id_digest, then fill in as much as we can. Start
- * by checking to see if this describes a router we know. */
+ * by checking to see if this describes a router we know.
+ * <b>started_here</b> is 1 if we are the initiator of <b>conn</b> and
+ * 0 if it's an incoming connection. */
void
connection_or_init_conn_from_address(or_connection_t *conn,
const tor_addr_t *addr, uint16_t port,
@@ -641,10 +643,11 @@ connection_or_init_conn_from_address(or_connection_t *conn,
tor_addr_copy(&conn->_base.addr, addr);
tor_addr_copy(&conn->real_addr, addr);
if (r) {
- tor_addr_t node_addr;
- node_get_addr(r, &node_addr);
- /* XXXX proposal 118 will make this more complex. */
- if (tor_addr_eq(&conn->_base.addr, &node_addr))
+ tor_addr_port_t node_ap;
+ node_get_pref_orport(r, &node_ap);
+ /* XXXX proposal 186 is making this more complex. For now, a conn
+ is canonical when it uses the _preferred_ address. */
+ if (tor_addr_eq(&conn->_base.addr, &node_ap.addr))
conn->is_canonical = 1;
if (!started_here) {
/* Override the addr/port, so our log messages will make sense.
@@ -657,12 +660,12 @@ connection_or_init_conn_from_address(or_connection_t *conn,
* right IP address and port 56244, that wouldn't be as helpful. now we
* log the "right" port too, so we know if it's moria1 or moria2.
*/
- tor_addr_copy(&conn->_base.addr, &node_addr);
- conn->_base.port = node_get_orport(r);
+ tor_addr_copy(&conn->_base.addr, &node_ap.addr);
+ conn->_base.port = node_ap.port;
}
conn->nickname = tor_strdup(node_get_nickname(r));
tor_free(conn->_base.address);
- conn->_base.address = tor_dup_addr(&node_addr);
+ conn->_base.address = tor_dup_addr(&node_ap.addr);
} else {
const char *n;
/* If we're an authoritative directory server, we may know a
@@ -1029,7 +1032,7 @@ connection_or_connect(const tor_addr_t *_addr, uint16_t port,
return NULL;
}
- conn = or_connection_new(AF_INET);
+ conn = or_connection_new(tor_addr_family(&addr));
/* set up conn so it's got all the data we need to remember */
connection_or_init_conn_from_address(conn, &addr, port, id_digest, 1);
@@ -1096,12 +1099,13 @@ connection_tls_start_handshake(or_connection_t *conn, int receiving)
conn->_base.state = OR_CONN_STATE_TLS_HANDSHAKING;
tor_assert(!conn->tls);
conn->tls = tor_tls_new(conn->_base.s, receiving);
- tor_tls_set_logged_address(conn->tls, // XXX client and relay?
- escaped_safe_str(conn->_base.address));
if (!conn->tls) {
log_warn(LD_BUG,"tor_tls_new failed. Closing.");
return -1;
}
+ tor_tls_set_logged_address(conn->tls, // XXX client and relay?
+ escaped_safe_str(conn->_base.address));
+
#ifdef USE_BUFFEREVENTS
if (connection_type_uses_bufferevent(TO_CONN(conn))) {
const int filtering = get_options()->_UseFilteringSSLBufferevents;
@@ -1325,10 +1329,10 @@ connection_or_nonopen_was_started_here(or_connection_t *conn)
* <b>identity_rcvd</b> */
void
connection_or_set_circid_type(or_connection_t *conn,
- crypto_pk_env_t *identity_rcvd)
+ crypto_pk_t *identity_rcvd)
{
const int started_here = connection_or_nonopen_was_started_here(conn);
- crypto_pk_env_t *our_identity =
+ crypto_pk_t *our_identity =
started_here ? get_tlsclient_identity_key() :
get_server_identity_key();
@@ -1373,7 +1377,7 @@ connection_or_check_valid_tls_handshake(or_connection_t *conn,
int started_here,
char *digest_rcvd_out)
{
- crypto_pk_env_t *identity_rcvd=NULL;
+ crypto_pk_t *identity_rcvd=NULL;
const or_options_t *options = get_options();
int severity = server_mode(options) ? LOG_PROTOCOL_WARN : LOG_WARN;
const char *safe_address =
@@ -1421,7 +1425,7 @@ connection_or_check_valid_tls_handshake(or_connection_t *conn,
}
connection_or_set_circid_type(conn, identity_rcvd);
- crypto_free_pk_env(identity_rcvd);
+ crypto_pk_free(identity_rcvd);
if (started_here)
return connection_or_client_learned_peer_id(conn,
@@ -1435,7 +1439,7 @@ connection_or_check_valid_tls_handshake(or_connection_t *conn,
* side of <b>conn</b> is <b>peer_id</b>. For v1 and v2 handshakes,
* this is right after we get a certificate chain in a TLS handshake
* or renegotiation. For v3 handshakes, this is right after we get a
- * certificate chain in a CERT cell.
+ * certificate chain in a CERTS cell.
*
* If we want any particular ID before, record the one we got.
*
@@ -1485,7 +1489,9 @@ connection_or_client_learned_peer_id(or_connection_t *conn,
control_event_or_conn_status(conn, OR_CONN_EVENT_FAILED,
END_OR_CONN_REASON_OR_IDENTITY);
if (!authdir_mode_tests_reachability(options))
- control_event_bootstrap_problem("foo", END_OR_CONN_REASON_OR_IDENTITY);
+ control_event_bootstrap_problem(
+ "Unexpected identity in router certificate",
+ END_OR_CONN_REASON_OR_IDENTITY);
as_expected = 0;
}
if (authdir_mode_tests_reachability(options)) {
@@ -1577,6 +1583,10 @@ int
connection_init_or_handshake_state(or_connection_t *conn, int started_here)
{
or_handshake_state_t *s;
+ if (conn->handshake_state) {
+ log_warn(LD_BUG, "Duplicate call to connection_init_or_handshake_state!");
+ return 0;
+ }
s = conn->handshake_state = tor_malloc_zero(sizeof(or_handshake_state_t));
s->started_here = started_here ? 1 : 0;
s->digest_sent_data = 1;
@@ -1590,8 +1600,8 @@ or_handshake_state_free(or_handshake_state_t *state)
{
if (!state)
return;
- crypto_free_digest_env(state->digest_sent);
- crypto_free_digest_env(state->digest_received);
+ crypto_digest_free(state->digest_sent);
+ crypto_digest_free(state->digest_received);
tor_cert_free(state->auth_cert);
tor_cert_free(state->id_cert);
memset(state, 0xBE, sizeof(or_handshake_state_t));
@@ -1612,7 +1622,7 @@ or_handshake_state_record_cell(or_handshake_state_t *state,
const cell_t *cell,
int incoming)
{
- crypto_digest_env_t *d, **dptr;
+ crypto_digest_t *d, **dptr;
packed_cell_t packed;
if (incoming) {
if (!state->digest_received_data)
@@ -1628,7 +1638,7 @@ or_handshake_state_record_cell(or_handshake_state_t *state,
}
dptr = incoming ? &state->digest_received : &state->digest_sent;
if (! *dptr)
- *dptr = crypto_new_digest256_env(DIGEST_SHA256);
+ *dptr = crypto_digest256_new(DIGEST_SHA256);
d = *dptr;
/* Re-packing like this is a little inefficient, but we don't have to do
@@ -1651,7 +1661,7 @@ or_handshake_state_record_var_cell(or_handshake_state_t *state,
const var_cell_t *cell,
int incoming)
{
- crypto_digest_env_t *d, **dptr;
+ crypto_digest_t *d, **dptr;
char buf[VAR_CELL_HEADER_SIZE];
if (incoming) {
if (!state->digest_received_data)
@@ -1662,7 +1672,7 @@ or_handshake_state_record_var_cell(or_handshake_state_t *state,
}
dptr = incoming ? &state->digest_received : &state->digest_sent;
if (! *dptr)
- *dptr = crypto_new_digest256_env(DIGEST_SHA256);
+ *dptr = crypto_digest256_new(DIGEST_SHA256);
d = *dptr;
@@ -1923,7 +1933,11 @@ connection_or_send_netinfo(or_connection_t *conn)
/* Their address. */
out = cell.payload + 4;
- len = append_address_to_payload(out, &conn->_base.addr);
+ /* We use &conn->real_addr below, unless it hasn't yet been set. If it
+ * hasn't yet been set, we know that _base.addr hasn't been tampered with
+ * yet either. */
+ len = append_address_to_payload(out, !tor_addr_is_null(&conn->real_addr)
+ ? &conn->real_addr : &conn->_base.addr);
if (len<0)
return -1;
out += len;
@@ -1950,10 +1964,10 @@ connection_or_send_netinfo(or_connection_t *conn)
return 0;
}
-/** Send a CERT cell on the connection <b>conn</b>. Return 0 on success, -1
+/** Send a CERTS cell on the connection <b>conn</b>. Return 0 on success, -1
* on failure. */
int
-connection_or_send_cert_cell(or_connection_t *conn)
+connection_or_send_certs_cell(or_connection_t *conn)
{
const tor_cert_t *link_cert = NULL, *id_cert = NULL;
const uint8_t *link_encoded = NULL, *id_encoded = NULL;
@@ -1977,7 +1991,7 @@ connection_or_send_cert_cell(or_connection_t *conn)
2 * ( 1 + 2 ) /* For each cert: 1 byte for type, 2 for length */ +
link_len + id_len;
cell = var_cell_new(cell_len);
- cell->command = CELL_CERT;
+ cell->command = CELL_CERTS;
cell->payload[0] = 2;
pos = 1;
@@ -2051,7 +2065,7 @@ connection_or_send_auth_challenge_cell(or_connection_t *conn)
int
connection_or_compute_authenticate_cell_body(or_connection_t *conn,
uint8_t *out, size_t outlen,
- crypto_pk_env_t *signing_key,
+ crypto_pk_t *signing_key,
int server)
{
uint8_t *ptr;
@@ -2094,7 +2108,7 @@ connection_or_compute_authenticate_cell_body(or_connection_t *conn,
}
{
- crypto_digest_env_t *server_d, *client_d;
+ crypto_digest_t *server_d, *client_d;
if (server) {
server_d = conn->handshake_state->digest_sent;
client_d = conn->handshake_state->digest_received;
@@ -2181,7 +2195,7 @@ int
connection_or_send_authenticate_cell(or_connection_t *conn, int authtype)
{
var_cell_t *cell;
- crypto_pk_env_t *pk = tor_tls_get_my_client_auth_key();
+ crypto_pk_t *pk = tor_tls_get_my_client_auth_key();
int authlen;
size_t cell_maxlen;
/* XXXX make sure we're actually supposed to send this! */
diff --git a/src/or/connection_or.h b/src/or/connection_or.h
index df009ab39..e5093f5ea 100644
--- a/src/or/connection_or.h
+++ b/src/or/connection_or.h
@@ -51,7 +51,7 @@ void connection_or_init_conn_from_address(or_connection_t *conn,
int connection_or_client_learned_peer_id(or_connection_t *conn,
const uint8_t *peer_id);
void connection_or_set_circid_type(or_connection_t *conn,
- crypto_pk_env_t *identity_rcvd);
+ crypto_pk_t *identity_rcvd);
void or_handshake_state_free(or_handshake_state_t *state);
void or_handshake_state_record_cell(or_handshake_state_t *state,
const cell_t *cell,
@@ -69,11 +69,11 @@ int connection_or_send_destroy(circid_t circ_id, or_connection_t *conn,
int reason);
int connection_or_send_versions(or_connection_t *conn, int v3_plus);
int connection_or_send_netinfo(or_connection_t *conn);
-int connection_or_send_cert_cell(or_connection_t *conn);
+int connection_or_send_certs_cell(or_connection_t *conn);
int connection_or_send_auth_challenge_cell(or_connection_t *conn);
int connection_or_compute_authenticate_cell_body(or_connection_t *conn,
uint8_t *out, size_t outlen,
- crypto_pk_env_t *signing_key,
+ crypto_pk_t *signing_key,
int server);
int connection_or_send_authenticate_cell(or_connection_t *conn, int type);
diff --git a/src/or/control.c b/src/or/control.c
index 1fdbac281..9a07777a7 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -34,7 +34,7 @@
#include "routerlist.h"
#include "routerparse.h"
-#ifndef MS_WINDOWS
+#ifndef _WIN32
#include <pwd.h>
#include <sys/resource.h>
#endif
@@ -54,7 +54,7 @@
#define EVENT_STREAM_STATUS 0x0002
#define EVENT_OR_CONN_STATUS 0x0003
#define EVENT_BANDWIDTH_USED 0x0004
-#define EVENT_LOG_OBSOLETE 0x0005 /* Can reclaim this. */
+#define EVENT_CIRCUIT_STATUS_MINOR 0x0005
#define EVENT_NEW_DESC 0x0006
#define EVENT_DEBUG_MSG 0x0007
#define EVENT_INFO_MSG 0x0008
@@ -272,8 +272,7 @@ control_adjust_event_log_severity(void)
break;
}
}
- if (EVENT_IS_INTERESTING(EVENT_LOG_OBSOLETE) ||
- EVENT_IS_INTERESTING(EVENT_STATUS_GENERAL)) {
+ if (EVENT_IS_INTERESTING(EVENT_STATUS_GENERAL)) {
if (min_log_event > EVENT_NOTICE_MSG)
min_log_event = EVENT_NOTICE_MSG;
if (max_log_event < EVENT_ERR_MSG)
@@ -523,21 +522,18 @@ control_ports_write_to_file(void)
if (!options->ControlPortWriteToFile)
return;
- lines = smartlist_create();
+ lines = smartlist_new();
SMARTLIST_FOREACH_BEGIN(get_connection_array(), const connection_t *, conn) {
- char *port_str = NULL;
if (conn->type != CONN_TYPE_CONTROL_LISTENER || conn->marked_for_close)
continue;
#ifdef AF_UNIX
if (conn->socket_family == AF_UNIX) {
- tor_asprintf(&port_str, "UNIX_PORT=%s\n", conn->address);
- smartlist_add(lines, port_str);
+ smartlist_add_asprintf(lines, "UNIX_PORT=%s\n", conn->address);
continue;
}
#endif
- tor_asprintf(&port_str, "PORT=%s:%d\n", conn->address, conn->port);
- smartlist_add(lines, port_str);
+ smartlist_add_asprintf(lines, "PORT=%s:%d\n", conn->address, conn->port);
} SMARTLIST_FOREACH_END(conn);
joined = smartlist_join_strings(lines, "", 0, NULL);
@@ -546,7 +542,7 @@ control_ports_write_to_file(void)
log_warn(LD_CONTROL, "Writing %s failed: %s",
options->ControlPortWriteToFile, strerror(errno));
}
-#ifndef MS_WINDOWS
+#ifndef _WIN32
if (options->ControlPortFileGroupReadable) {
if (chmod(options->ControlPortWriteToFile, 0640)) {
log_warn(LD_FS,"Unable to make %s group-readable.",
@@ -686,7 +682,7 @@ control_setconf_helper(control_connection_t *conn, uint32_t len, char *body,
const int clear_first = 1;
char *config;
- smartlist_t *entries = smartlist_create();
+ smartlist_t *entries = smartlist_new();
/* We have a string, "body", of the format '(key(=val|="val")?)' entries
* separated by space. break it into a list of configuration entries. */
@@ -701,7 +697,6 @@ control_setconf_helper(control_connection_t *conn, uint32_t len, char *body,
if (*eq == '=') {
char *val=NULL;
size_t val_len=0;
- size_t ent_len;
if (*body != '\"') {
char *val_start = body;
while (!TOR_ISSPACE(*body))
@@ -719,9 +714,7 @@ control_setconf_helper(control_connection_t *conn, uint32_t len, char *body,
return 0;
}
}
- ent_len = strlen(key)+val_len+3;
- entry = tor_malloc(ent_len+1);
- tor_snprintf(entry, ent_len, "%s %s", key, val);
+ tor_asprintf(&entry, "%s %s", key, val);
tor_free(key);
tor_free(val);
} else {
@@ -737,7 +730,7 @@ control_setconf_helper(control_connection_t *conn, uint32_t len, char *body,
SMARTLIST_FOREACH(entries, char *, cp, tor_free(cp));
smartlist_free(entries);
- if (config_get_lines(config, &lines) < 0) {
+ if (config_get_lines(config, &lines, 0) < 0) {
log_warn(LD_CONTROL,"Controller gave us config lines we can't parse.");
connection_write_str_to_buf("551 Couldn't parse configuration\r\n",
conn);
@@ -802,9 +795,9 @@ static int
handle_control_getconf(control_connection_t *conn, uint32_t body_len,
const char *body)
{
- smartlist_t *questions = smartlist_create();
- smartlist_t *answers = smartlist_create();
- smartlist_t *unrecognized = smartlist_create();
+ smartlist_t *questions = smartlist_new();
+ smartlist_t *answers = smartlist_new();
+ smartlist_t *unrecognized = smartlist_new();
char *msg = NULL;
size_t msg_len;
const or_options_t *options = get_options();
@@ -821,19 +814,13 @@ handle_control_getconf(control_connection_t *conn, uint32_t body_len,
config_line_t *answer = option_get_assignment(options,q);
if (!answer) {
const char *name = option_get_canonical_name(q);
- size_t alen = strlen(name)+8;
- char *astr = tor_malloc(alen);
- tor_snprintf(astr, alen, "250-%s\r\n", name);
- smartlist_add(answers, astr);
+ smartlist_add_asprintf(answers, "250-%s\r\n", name);
}
while (answer) {
config_line_t *next;
- size_t alen = strlen(answer->key)+strlen(answer->value)+8;
- char *astr = tor_malloc(alen);
- tor_snprintf(astr, alen, "250-%s=%s\r\n",
+ smartlist_add_asprintf(answers, "250-%s=%s\r\n",
answer->key, answer->value);
- smartlist_add(answers, astr);
next = answer->next;
tor_free(answer->key);
@@ -883,7 +870,7 @@ handle_control_loadconf(control_connection_t *conn, uint32_t len,
const char *msg = NULL;
(void) len;
- retval = options_init_from_string(body, CMD_RUN_TOR, NULL, &errstring);
+ retval = options_init_from_string(NULL, body, CMD_RUN_TOR, NULL, &errstring);
if (retval != SETOPT_OK)
log_warn(LD_CONTROL,
@@ -925,6 +912,7 @@ struct control_event_t {
};
static const struct control_event_t control_event_table[] = {
{ EVENT_CIRCUIT_STATUS, "CIRC" },
+ { EVENT_CIRCUIT_STATUS_MINOR, "CIRC_MINOR" },
{ EVENT_STREAM_STATUS, "STREAM" },
{ EVENT_OR_CONN_STATUS, "ORCONN" },
{ EVENT_BANDWIDTH_USED, "BW" },
@@ -959,7 +947,7 @@ handle_control_setevents(control_connection_t *conn, uint32_t len,
{
int event_code = -1;
uint32_t event_mask = 0;
- smartlist_t *events = smartlist_create();
+ smartlist_t *events = smartlist_new();
(void) len;
@@ -1008,7 +996,7 @@ decode_hashed_passwords(config_line_t *passwords)
{
char decoded[64];
config_line_t *cl;
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
tor_assert(passwords);
@@ -1055,7 +1043,10 @@ handle_control_authenticate(control_connection_t *conn, uint32_t len,
int bad_cookie=0, bad_password=0;
smartlist_t *sl = NULL;
- if (TOR_ISXDIGIT(body[0])) {
+ if (!len) {
+ password = tor_strdup("");
+ password_len = 0;
+ } else if (TOR_ISXDIGIT(body[0])) {
cp = body;
while (TOR_ISXDIGIT(*cp))
++cp;
@@ -1072,9 +1063,6 @@ handle_control_authenticate(control_connection_t *conn, uint32_t len,
tor_free(password);
return 0;
}
- } else if (TOR_ISSPACE(body[0])) {
- password = tor_strdup("");
- password_len = 0;
} else {
if (!decode_escaped_string(body, len, &password, &password_len)) {
connection_write_str_to_buf("551 Invalid quoted string. You need "
@@ -1121,7 +1109,7 @@ handle_control_authenticate(control_connection_t *conn, uint32_t len,
smartlist_t *sl_tmp;
char received[DIGEST_LEN];
int also_cookie = options->CookieAuthentication;
- sl = smartlist_create();
+ sl = smartlist_new();
if (options->HashedControlPassword) {
sl_tmp = decode_hashed_passwords(options->HashedControlPassword);
if (!sl_tmp)
@@ -1295,9 +1283,9 @@ handle_control_mapaddress(control_connection_t *conn, uint32_t len,
size_t sz;
(void) len; /* body is NUL-terminated, so it's safe to ignore the length. */
- lines = smartlist_create();
- elts = smartlist_create();
- reply = smartlist_create();
+ lines = smartlist_new();
+ elts = smartlist_new();
+ reply = smartlist_new();
smartlist_split_string(lines, body, " ",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
SMARTLIST_FOREACH(lines, char *, line,
@@ -1307,12 +1295,9 @@ handle_control_mapaddress(control_connection_t *conn, uint32_t len,
if (smartlist_len(elts) == 2) {
const char *from = smartlist_get(elts,0);
const char *to = smartlist_get(elts,1);
- size_t anslen = strlen(line)+512;
- char *ans = tor_malloc(anslen);
if (address_is_invalid_destination(to, 1)) {
- tor_snprintf(ans, anslen,
+ smartlist_add_asprintf(reply,
"512-syntax error: invalid address '%s'", to);
- smartlist_add(reply, ans);
log_warn(LD_CONTROL,
"Skipping invalid argument '%s' in MapAddress msg", to);
} else if (!strcmp(from, ".") || !strcmp(from, "0.0.0.0")) {
@@ -1320,27 +1305,22 @@ handle_control_mapaddress(control_connection_t *conn, uint32_t len,
!strcmp(from,".") ? RESOLVED_TYPE_HOSTNAME : RESOLVED_TYPE_IPV4,
tor_strdup(to));
if (!address) {
- tor_snprintf(ans, anslen,
+ smartlist_add_asprintf(reply,
"451-resource exhausted: skipping '%s'", line);
- smartlist_add(reply, ans);
log_warn(LD_CONTROL,
"Unable to allocate address for '%s' in MapAddress msg",
safe_str_client(line));
} else {
- tor_snprintf(ans, anslen, "250-%s=%s", address, to);
- smartlist_add(reply, ans);
+ smartlist_add_asprintf(reply, "250-%s=%s", address, to);
}
} else {
- addressmap_register(from, tor_strdup(to), 1, ADDRMAPSRC_CONTROLLER);
- tor_snprintf(ans, anslen, "250-%s", line);
- smartlist_add(reply, ans);
+ addressmap_register(from, tor_strdup(to), 1,
+ ADDRMAPSRC_CONTROLLER, 0, 0);
+ smartlist_add_asprintf(reply, "250-%s", line);
}
} else {
- size_t anslen = strlen(line)+256;
- char *ans = tor_malloc(anslen);
- tor_snprintf(ans, anslen, "512-syntax error: mapping '%s' is "
+ smartlist_add_asprintf(reply, "512-syntax error: mapping '%s' is "
"not of expected form 'foo=bar'.", line);
- smartlist_add(reply, ans);
log_info(LD_CONTROL, "Skipping MapAddress '%s': wrong "
"number of items.",
safe_str_client(line));
@@ -1378,14 +1358,16 @@ getinfo_helper_misc(control_connection_t *conn, const char *question,
if (!strcmp(question, "version")) {
*answer = tor_strdup(get_version());
} else if (!strcmp(question, "config-file")) {
- *answer = tor_strdup(get_torrc_fname());
+ *answer = tor_strdup(get_torrc_fname(0));
+ } else if (!strcmp(question, "config-defaults-file")) {
+ *answer = tor_strdup(get_torrc_fname(1));
} else if (!strcmp(question, "config-text")) {
*answer = options_dump(get_options(), 1);
} else if (!strcmp(question, "info/names")) {
*answer = list_getinfo_options();
} else if (!strcmp(question, "events/names")) {
int i;
- smartlist_t *event_names = smartlist_create();
+ smartlist_t *event_names = smartlist_new();
for (i = 0; control_event_table[i].event_name != NULL; ++i) {
smartlist_add(event_names, (char *)control_event_table[i].event_name);
@@ -1410,7 +1392,7 @@ getinfo_helper_misc(control_connection_t *conn, const char *question,
} else if (!strcmp(question, "process/pid")) {
int myPid = -1;
- #ifdef MS_WINDOWS
+ #ifdef _WIN32
myPid = _getpid();
#else
myPid = getpid();
@@ -1418,14 +1400,14 @@ getinfo_helper_misc(control_connection_t *conn, const char *question,
tor_asprintf(answer, "%d", myPid);
} else if (!strcmp(question, "process/uid")) {
- #ifdef MS_WINDOWS
+ #ifdef _WIN32
*answer = tor_strdup("-1");
#else
int myUid = geteuid();
tor_asprintf(answer, "%d", myUid);
#endif
} else if (!strcmp(question, "process/user")) {
- #ifdef MS_WINDOWS
+ #ifdef _WIN32
*answer = tor_strdup("");
#else
int myUid = geteuid();
@@ -1453,7 +1435,7 @@ getinfo_helper_misc(control_connection_t *conn, const char *question,
}
#elif defined(CYGWIN) || defined(__CYGWIN__)
*answer = tor_strdup("3200");
- #elif defined(MS_WINDOWS)
+ #elif defined(_WIN32)
*answer = tor_strdup("15000");
#else
*answer = tor_strdup("15000");
@@ -1461,7 +1443,7 @@ getinfo_helper_misc(control_connection_t *conn, const char *question,
} else if (!strcmp(question, "dir-usage")) {
*answer = directory_dump_request_log();
} else if (!strcmp(question, "fingerprint")) {
- crypto_pk_env_t *server_key;
+ crypto_pk_t *server_key;
if (!server_mode(get_options())) {
*errmsg = "Not running in server mode";
return -1;
@@ -1553,9 +1535,8 @@ getinfo_helper_listeners(control_connection_t *control_conn,
else
return 0; /* unknown key */
- res = smartlist_create();
+ res = smartlist_new();
SMARTLIST_FOREACH_BEGIN(get_connection_array(), connection_t *, conn) {
- char *addr;
struct sockaddr_storage ss;
socklen_t ss_len = sizeof(ss);
@@ -1563,14 +1544,13 @@ getinfo_helper_listeners(control_connection_t *control_conn,
continue;
if (getsockname(conn->s, (struct sockaddr *)&ss, &ss_len) < 0) {
- tor_asprintf(&addr, "%s:%d", conn->address, (int)conn->port);
+ smartlist_add_asprintf(res, "%s:%d", conn->address, (int)conn->port);
} else {
char *tmp = tor_sockaddr_to_str((struct sockaddr *)&ss);
- addr = esc_for_log(tmp);
+ smartlist_add(res, esc_for_log(tmp));
tor_free(tmp);
}
- if (addr)
- smartlist_add(res, addr);
+
} SMARTLIST_FOREACH_END(conn);
*answer = smartlist_join_strings(res, " ", 0, NULL);
@@ -1597,6 +1577,8 @@ getinfo_helper_dir(control_connection_t *control_conn,
*answer = tor_strndup(body, ri->cache_info.signed_descriptor_len);
}
} else if (!strcmpstart(question, "desc/name/")) {
+ /* XXX023 Setting 'warn_if_unnamed' here is a bit silly -- the
+ * warning goes to the user, not to the controller. */
ri = router_get_by_nickname(question+strlen("desc/name/"),1);
if (ri) {
const char *body = signed_descriptor_get_body(&ri->cache_info);
@@ -1605,7 +1587,7 @@ getinfo_helper_dir(control_connection_t *control_conn,
}
} else if (!strcmp(question, "desc/all-recent")) {
routerlist_t *routerlist = router_get_routerlist();
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
if (routerlist && routerlist->routers) {
SMARTLIST_FOREACH(routerlist->routers, const routerinfo_t *, ri,
{
@@ -1621,7 +1603,7 @@ getinfo_helper_dir(control_connection_t *control_conn,
} else if (!strcmp(question, "desc/all-recent-extrainfo-hack")) {
/* XXXX Remove this once Torstat asks for extrainfos. */
routerlist_t *routerlist = router_get_routerlist();
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
if (routerlist && routerlist->routers) {
SMARTLIST_FOREACH(routerlist->routers, const routerinfo_t *, ri,
{
@@ -1640,6 +1622,25 @@ getinfo_helper_dir(control_connection_t *control_conn,
*answer = smartlist_join_strings(sl, "", 0, NULL);
SMARTLIST_FOREACH(sl, char *, c, tor_free(c));
smartlist_free(sl);
+ } else if (!strcmpstart(question, "md/id/")) {
+ const node_t *node = node_get_by_hex_id(question+strlen("md/id/"));
+ const microdesc_t *md = NULL;
+ if (node) md = node->md;
+ if (md) {
+ tor_assert(md->body);
+ *answer = tor_strndup(md->body, md->bodylen);
+ }
+ } else if (!strcmpstart(question, "md/name/")) {
+ /* XXX023 Setting 'warn_if_unnamed' here is a bit silly -- the
+ * warning goes to the user, not to the controller. */
+ const node_t *node = node_get_by_nickname(question+strlen("md/name/"), 1);
+ /* XXXX duplicated code */
+ const microdesc_t *md = NULL;
+ if (node) md = node->md;
+ if (md) {
+ tor_assert(md->body);
+ *answer = tor_strndup(md->body, md->bodylen);
+ }
} else if (!strcmpstart(question, "desc-annotations/id/")) {
ri = router_get_by_hexdigest(question+
strlen("desc-annotations/id/"));
@@ -1651,13 +1652,13 @@ getinfo_helper_dir(control_connection_t *control_conn,
ri->cache_info.annotations_len);
}
} else if (!strcmpstart(question, "dir/server/")) {
- size_t answer_len = 0, url_len = strlen(question)+2;
- char *url = tor_malloc(url_len);
- smartlist_t *descs = smartlist_create();
+ size_t answer_len = 0;
+ char *url = NULL;
+ smartlist_t *descs = smartlist_new();
const char *msg;
int res;
char *cp;
- tor_snprintf(url, url_len, "/tor/%s", question+4);
+ tor_asprintf(&url, "/tor/%s", question+4);
res = dirserv_get_routerdescs(descs, url, &msg);
if (res) {
log_warn(LD_CONTROL, "getinfo '%s': %s", question, msg);
@@ -1682,7 +1683,7 @@ getinfo_helper_dir(control_connection_t *control_conn,
if (directory_permits_controller_requests(get_options())) {
size_t len=0;
char *cp;
- smartlist_t *status_list = smartlist_create();
+ smartlist_t *status_list = smartlist_new();
dirserv_get_networkstatus_v2(status_list,
question+strlen("dir/status/"));
SMARTLIST_FOREACH(status_list, cached_dir_t *, d, len += d->dir_len);
@@ -1694,8 +1695,8 @@ getinfo_helper_dir(control_connection_t *control_conn,
*cp = '\0';
smartlist_free(status_list);
} else {
- smartlist_t *fp_list = smartlist_create();
- smartlist_t *status_list = smartlist_create();
+ smartlist_t *fp_list = smartlist_new();
+ smartlist_t *status_list = smartlist_new();
dirserv_get_networkstatus_v2_fingerprints(
fp_list, question+strlen("dir/status/"));
SMARTLIST_FOREACH(fp_list, const char *, fp, {
@@ -1756,6 +1757,81 @@ getinfo_helper_dir(control_connection_t *control_conn,
return 0;
}
+/** Allocate and return a description of <b>circ</b>'s current status,
+ * including its path (if any). */
+static char *
+circuit_describe_status_for_controller(origin_circuit_t *circ)
+{
+ char *rv;
+ smartlist_t *descparts = smartlist_new();
+
+ {
+ char *vpath = circuit_list_path_for_controller(circ);
+ if (*vpath) {
+ smartlist_add(descparts, vpath);
+ } else {
+ tor_free(vpath); /* empty path; don't put an extra space in the result */
+ }
+ }
+
+ {
+ cpath_build_state_t *build_state = circ->build_state;
+ smartlist_t *flaglist = smartlist_new();
+ char *flaglist_joined;
+
+ if (build_state->onehop_tunnel)
+ smartlist_add(flaglist, (void *)"ONEHOP_TUNNEL");
+ if (build_state->is_internal)
+ smartlist_add(flaglist, (void *)"IS_INTERNAL");
+ if (build_state->need_capacity)
+ smartlist_add(flaglist, (void *)"NEED_CAPACITY");
+ if (build_state->need_uptime)
+ smartlist_add(flaglist, (void *)"NEED_UPTIME");
+
+ /* Only emit a BUILD_FLAGS argument if it will have a non-empty value. */
+ if (smartlist_len(flaglist)) {
+ flaglist_joined = smartlist_join_strings(flaglist, ",", 0, NULL);
+
+ smartlist_add_asprintf(descparts, "BUILD_FLAGS=%s", flaglist_joined);
+
+ tor_free(flaglist_joined);
+ }
+
+ smartlist_free(flaglist);
+ }
+
+ smartlist_add_asprintf(descparts, "PURPOSE=%s",
+ circuit_purpose_to_controller_string(circ->_base.purpose));
+
+ {
+ const char *hs_state =
+ circuit_purpose_to_controller_hs_state_string(circ->_base.purpose);
+
+ if (hs_state != NULL) {
+ smartlist_add_asprintf(descparts, "HS_STATE=%s", hs_state);
+ }
+ }
+
+ if (circ->rend_data != NULL) {
+ smartlist_add_asprintf(descparts, "REND_QUERY=%s",
+ circ->rend_data->onion_address);
+ }
+
+ {
+ char tbuf[ISO_TIME_USEC_LEN+1];
+ format_iso_time_nospace_usec(tbuf, &circ->_base.timestamp_created);
+
+ smartlist_add_asprintf(descparts, "TIME_CREATED=%s", tbuf);
+ }
+
+ rv = smartlist_join_strings(descparts, " ", 0, NULL);
+
+ SMARTLIST_FOREACH(descparts, char *, cp, tor_free(cp));
+ smartlist_free(descparts);
+
+ return rv;
+}
+
/** Implementation helper for GETINFO: knows how to generate summaries of the
* current states of things we send events about. */
static int
@@ -1765,46 +1841,40 @@ getinfo_helper_events(control_connection_t *control_conn,
{
(void) control_conn;
if (!strcmp(question, "circuit-status")) {
- circuit_t *circ;
- smartlist_t *status = smartlist_create();
- for (circ = _circuit_get_global_list(); circ; circ = circ->next) {
- char *s, *path;
- size_t slen;
+ circuit_t *circ_;
+ smartlist_t *status = smartlist_new();
+ for (circ_ = _circuit_get_global_list(); circ_; circ_ = circ_->next) {
+ origin_circuit_t *circ;
+ char *circdesc;
const char *state;
- const char *purpose;
- if (! CIRCUIT_IS_ORIGIN(circ) || circ->marked_for_close)
+ if (! CIRCUIT_IS_ORIGIN(circ_) || circ_->marked_for_close)
continue;
+ circ = TO_ORIGIN_CIRCUIT(circ_);
- path = circuit_list_path_for_controller(TO_ORIGIN_CIRCUIT(circ));
-
- if (circ->state == CIRCUIT_STATE_OPEN)
+ if (circ->_base.state == CIRCUIT_STATE_OPEN)
state = "BUILT";
- else if (strlen(path))
+ else if (circ->cpath)
state = "EXTENDED";
else
state = "LAUNCHED";
- purpose = circuit_purpose_to_controller_string(circ->purpose);
- slen = strlen(path)+strlen(state)+strlen(purpose)+30;
- s = tor_malloc(slen+1);
- tor_snprintf(s, slen, "%lu %s%s%s PURPOSE=%s",
- (unsigned long)TO_ORIGIN_CIRCUIT(circ)->global_identifier,
- state, *path ? " " : "", path, purpose);
- smartlist_add(status, s);
- tor_free(path);
+ circdesc = circuit_describe_status_for_controller(circ);
+
+ smartlist_add_asprintf(status, "%lu %s%s%s",
+ (unsigned long)circ->global_identifier,
+ state, *circdesc ? " " : "", circdesc);
+ tor_free(circdesc);
}
*answer = smartlist_join_strings(status, "\r\n", 0, NULL);
SMARTLIST_FOREACH(status, char *, cp, tor_free(cp));
smartlist_free(status);
} else if (!strcmp(question, "stream-status")) {
smartlist_t *conns = get_connection_array();
- smartlist_t *status = smartlist_create();
+ smartlist_t *status = smartlist_new();
char buf[256];
SMARTLIST_FOREACH_BEGIN(conns, connection_t *, base_conn) {
const char *state;
entry_connection_t *conn;
- char *s;
- size_t slen;
circuit_t *circ;
origin_circuit_t *origin_circ = NULL;
if (base_conn->type != CONN_TYPE_AP ||
@@ -1839,26 +1909,21 @@ getinfo_helper_events(control_connection_t *control_conn,
if (circ && CIRCUIT_IS_ORIGIN(circ))
origin_circ = TO_ORIGIN_CIRCUIT(circ);
write_stream_target_to_buf(conn, buf, sizeof(buf));
- slen = strlen(buf)+strlen(state)+32;
- s = tor_malloc(slen+1);
- tor_snprintf(s, slen, "%lu %s %lu %s",
+ smartlist_add_asprintf(status, "%lu %s %lu %s",
(unsigned long) base_conn->global_identifier,state,
origin_circ?
(unsigned long)origin_circ->global_identifier : 0ul,
buf);
- smartlist_add(status, s);
} SMARTLIST_FOREACH_END(base_conn);
*answer = smartlist_join_strings(status, "\r\n", 0, NULL);
SMARTLIST_FOREACH(status, char *, cp, tor_free(cp));
smartlist_free(status);
} else if (!strcmp(question, "orconn-status")) {
smartlist_t *conns = get_connection_array();
- smartlist_t *status = smartlist_create();
+ smartlist_t *status = smartlist_new();
SMARTLIST_FOREACH_BEGIN(conns, connection_t *, base_conn) {
const char *state;
- char *s;
char name[128];
- size_t slen;
or_connection_t *conn;
if (base_conn->type != CONN_TYPE_OR || base_conn->marked_for_close)
continue;
@@ -1870,10 +1935,7 @@ getinfo_helper_events(control_connection_t *control_conn,
else
state = "NEW";
orconn_target_get_name(name, sizeof(name), conn);
- slen = strlen(name)+strlen(state)+2;
- s = tor_malloc(slen+1);
- tor_snprintf(s, slen, "%s %s", name, state);
- smartlist_add(status, s);
+ smartlist_add_asprintf(status, "%s %s", name, state);
} SMARTLIST_FOREACH_END(base_conn);
*answer = smartlist_join_strings(status, "\r\n", 0, NULL);
SMARTLIST_FOREACH(status, char *, cp, tor_free(cp));
@@ -1893,7 +1955,7 @@ getinfo_helper_events(control_connection_t *control_conn,
} else {
return 0;
}
- mappings = smartlist_create();
+ mappings = smartlist_new();
addressmap_get_mappings(mappings, min_e, max_e, 1);
*answer = smartlist_join_strings(mappings, "\r\n", 0, NULL);
SMARTLIST_FOREACH(mappings, char *, cp, tor_free(cp));
@@ -1917,8 +1979,7 @@ getinfo_helper_events(control_connection_t *control_conn,
} else if (!strcmp(question, "status/reachability-succeeded/dir")) {
*answer = tor_strdup(check_whether_dirport_reachable() ? "1" : "0");
} else if (!strcmp(question, "status/reachability-succeeded")) {
- *answer = tor_malloc(16);
- tor_snprintf(*answer, 16, "OR=%d DIR=%d",
+ tor_asprintf(answer, "OR=%d DIR=%d",
check_whether_orport_reachable() ? 1 : 0,
check_whether_dirport_reachable() ? 1 : 0);
} else if (!strcmp(question, "status/bootstrap-phase")) {
@@ -1954,9 +2015,7 @@ getinfo_helper_events(control_connection_t *control_conn,
}
} else if (!strcmp(question, "status/version/num-versioning") ||
!strcmp(question, "status/version/num-concurring")) {
- char s[33];
- tor_snprintf(s, sizeof(s), "%d", get_n_authorities(V3_DIRINFO));
- *answer = tor_strdup(s);
+ tor_asprintf(answer, "%d", get_n_authorities(V3_DIRINFO));
log_warn(LD_GENERAL, "%s is deprecated; it no longer gives useful "
"information", question);
}
@@ -2003,6 +2062,7 @@ typedef struct getinfo_item_t {
static const getinfo_item_t getinfo_items[] = {
ITEM("version", misc, "The current version of Tor."),
ITEM("config-file", misc, "Current location of the \"torrc\" file."),
+ ITEM("config-defaults-file", misc, "Current location of the defaults file."),
ITEM("config-text", misc,
"Return the string that would be written by a saveconf command."),
ITEM("accounting/bytes", accounting,
@@ -2034,6 +2094,8 @@ static const getinfo_item_t getinfo_items[] = {
ITEM("desc/all-recent", dir,
"All non-expired, non-superseded router descriptors."),
ITEM("desc/all-recent-extrainfo-hack", dir, NULL), /* Hack. */
+ PREFIX("md/id/", dir, "Microdescriptors by ID"),
+ PREFIX("md/name/", dir, "Microdescriptors by name"),
PREFIX("extra-info/digest/", dir, "Extra-info documents by digest."),
PREFIX("net/listeners/", listeners, "Bound addresses by type"),
ITEM("ns/all", networkstatus,
@@ -2099,18 +2161,16 @@ static char *
list_getinfo_options(void)
{
int i;
- char *buf=NULL;
- smartlist_t *lines = smartlist_create();
+ smartlist_t *lines = smartlist_new();
char *ans;
for (i = 0; getinfo_items[i].varname; ++i) {
if (!getinfo_items[i].desc)
continue;
- tor_asprintf(&buf, "%s%s -- %s\n",
+ smartlist_add_asprintf(lines, "%s%s -- %s\n",
getinfo_items[i].varname,
getinfo_items[i].is_prefix ? "*" : "",
getinfo_items[i].desc);
- smartlist_add(lines, buf);
}
smartlist_sort_strings(lines);
@@ -2154,9 +2214,9 @@ static int
handle_control_getinfo(control_connection_t *conn, uint32_t len,
const char *body)
{
- smartlist_t *questions = smartlist_create();
- smartlist_t *answers = smartlist_create();
- smartlist_t *unrecognized = smartlist_create();
+ smartlist_t *questions = smartlist_new();
+ smartlist_t *answers = smartlist_new();
+ smartlist_t *unrecognized = smartlist_new();
char *msg = NULL, *ans = NULL;
int i;
(void) len; /* body is NUL-terminated, so it's safe to ignore the length. */
@@ -2242,7 +2302,7 @@ static smartlist_t *
getargs_helper(const char *command, control_connection_t *conn,
const char *body, int min_args, int max_args)
{
- smartlist_t *args = smartlist_create();
+ smartlist_t *args = smartlist_new();
smartlist_split_string(args, body, " ",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
if (smartlist_len(args) < min_args) {
@@ -2297,7 +2357,7 @@ handle_control_extendcircuit(control_connection_t *conn, uint32_t len,
smartlist_t *args;
(void) len;
- router_nicknames = smartlist_create();
+ router_nicknames = smartlist_new();
args = getargs_helper("EXTENDCIRCUIT", conn, body, 1, -1);
if (!args)
@@ -2349,7 +2409,7 @@ handle_control_extendcircuit(control_connection_t *conn, uint32_t len,
SMARTLIST_FOREACH(args, char *, cp, tor_free(cp));
smartlist_free(args);
- nodes = smartlist_create();
+ nodes = smartlist_new();
SMARTLIST_FOREACH(router_nicknames, const char *, n,
{
const node_t *node = node_get_by_nickname(n, 1);
@@ -2376,7 +2436,7 @@ handle_control_extendcircuit(control_connection_t *conn, uint32_t len,
/* now circ refers to something that is ready to be extended */
SMARTLIST_FOREACH(nodes, const node_t *, node,
{
- extend_info_t *info = extend_info_from_node(node);
+ extend_info_t *info = extend_info_from_node(node, 0);
tor_assert(info); /* True, since node_has_descriptor(node) == true */
circuit_append_new_exit(circ, info);
extend_info_free(info);
@@ -2445,7 +2505,7 @@ handle_control_setcircuitpurpose(control_connection_t *conn,
}
}
- circ->_base.purpose = new_purpose;
+ circuit_change_purpose(TO_CIRCUIT(circ), new_purpose);
connection_write_str_to_buf("250 OK\r\n", conn);
done:
@@ -2576,7 +2636,7 @@ handle_control_postdescriptor(control_connection_t *conn, uint32_t len,
int cache = 0; /* eventually, we may switch this to 1 */
char *cp = memchr(body, '\n', len);
- smartlist_t *args = smartlist_create();
+ smartlist_t *args = smartlist_new();
tor_assert(cp);
*cp++ = '\0';
@@ -2775,7 +2835,7 @@ handle_control_resolve(control_connection_t *conn, uint32_t len,
"isn't listening for ADDRMAP events. It probably won't see "
"the answer.");
}
- args = smartlist_create();
+ args = smartlist_new();
smartlist_split_string(args, body, " ",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
{
@@ -2783,7 +2843,7 @@ handle_control_resolve(control_connection_t *conn, uint32_t len,
if (modearg && !strcasecmp(modearg, "mode=reverse"))
is_reverse = 1;
}
- failed = smartlist_create();
+ failed = smartlist_new();
SMARTLIST_FOREACH(args, const char *, arg, {
if (!is_keyval_pair(arg)) {
if (dnsserv_launch_request(arg, is_reverse)<0)
@@ -2813,7 +2873,7 @@ handle_control_protocolinfo(control_connection_t *conn, uint32_t len,
(void)len;
conn->have_sent_protocolinfo = 1;
- args = smartlist_create();
+ args = smartlist_new();
smartlist_split_string(args, body, " ",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
SMARTLIST_FOREACH(args, const char *, arg, {
@@ -2835,12 +2895,15 @@ handle_control_protocolinfo(control_connection_t *conn, uint32_t len,
const or_options_t *options = get_options();
int cookies = options->CookieAuthentication;
char *cfile = get_cookie_file();
- char *esc_cfile = esc_for_log(cfile);
+ char *abs_cfile;
+ char *esc_cfile;
char *methods;
+ abs_cfile = make_path_absolute(cfile);
+ esc_cfile = esc_for_log(abs_cfile);
{
int passwd = (options->HashedControlPassword != NULL ||
options->HashedControlSessionPassword != NULL);
- smartlist_t *mlist = smartlist_create();
+ smartlist_t *mlist = smartlist_new();
if (cookies)
smartlist_add(mlist, (char*)"COOKIE");
if (passwd)
@@ -2862,6 +2925,7 @@ handle_control_protocolinfo(control_connection_t *conn, uint32_t len,
escaped(VERSION));
tor_free(methods);
tor_free(cfile);
+ tor_free(abs_cfile);
tor_free(esc_cfile);
}
done:
@@ -2880,7 +2944,7 @@ handle_control_usefeature(control_connection_t *conn,
smartlist_t *args;
int bad = 0;
(void) len; /* body is nul-terminated; it's safe to ignore the length */
- args = smartlist_create();
+ args = smartlist_new();
smartlist_split_string(args, body, " ",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
SMARTLIST_FOREACH(args, const char *, arg, {
@@ -3095,7 +3159,7 @@ connection_control_process_inbuf(control_connection_t *conn)
args = conn->incoming_cmd+cmd_len+1;
tor_assert(data_len>(size_t)cmd_len);
data_len -= (cmd_len+1); /* skip the command and NUL we added after it */
- while (*args == ' ' || *args == '\t') {
+ while (TOR_ISSPACE(*args)) {
++args;
--data_len;
}
@@ -3203,14 +3267,14 @@ connection_control_process_inbuf(control_connection_t *conn)
goto again;
}
-/** Something has happened to circuit <b>circ</b>: tell any interested
- * control connections. */
+/** Something major has happened to circuit <b>circ</b>: tell any
+ * interested control connections. */
int
control_event_circuit_status(origin_circuit_t *circ, circuit_status_event_t tp,
int reason_code)
{
const char *status;
- char extended_buf[96];
+ char reasons[64] = "";
if (!EVENT_IS_INTERESTING(EVENT_CIRCUIT_STATUS))
return 0;
tor_assert(circ);
@@ -3224,44 +3288,141 @@ control_event_circuit_status(origin_circuit_t *circ, circuit_status_event_t tp,
case CIRC_EVENT_CLOSED: status = "CLOSED"; break;
default:
log_warn(LD_BUG, "Unrecognized status code %d", (int)tp);
+ tor_fragile_assert();
return 0;
}
- tor_snprintf(extended_buf, sizeof(extended_buf), "PURPOSE=%s",
- circuit_purpose_to_controller_string(circ->_base.purpose));
-
if (tp == CIRC_EVENT_FAILED || tp == CIRC_EVENT_CLOSED) {
const char *reason_str = circuit_end_reason_to_control_string(reason_code);
- char *reason = NULL;
- size_t n=strlen(extended_buf);
+ char unk_reason_buf[16];
if (!reason_str) {
- reason = tor_malloc(16);
- tor_snprintf(reason, 16, "UNKNOWN_%d", reason_code);
- reason_str = reason;
+ tor_snprintf(unk_reason_buf, 16, "UNKNOWN_%d", reason_code);
+ reason_str = unk_reason_buf;
}
if (reason_code > 0 && reason_code & END_CIRC_REASON_FLAG_REMOTE) {
- tor_snprintf(extended_buf+n, sizeof(extended_buf)-n,
+ tor_snprintf(reasons, sizeof(reasons),
" REASON=DESTROYED REMOTE_REASON=%s", reason_str);
} else {
- tor_snprintf(extended_buf+n, sizeof(extended_buf)-n,
+ tor_snprintf(reasons, sizeof(reasons),
" REASON=%s", reason_str);
}
- tor_free(reason);
}
{
- char *vpath = circuit_list_path_for_controller(circ);
- const char *sp = strlen(vpath) ? " " : "";
+ char *circdesc = circuit_describe_status_for_controller(circ);
+ const char *sp = strlen(circdesc) ? " " : "";
send_control_event(EVENT_CIRCUIT_STATUS, ALL_FORMATS,
- "650 CIRC %lu %s%s%s %s\r\n",
+ "650 CIRC %lu %s%s%s%s\r\n",
(unsigned long)circ->global_identifier,
- status, sp, vpath, extended_buf);
- tor_free(vpath);
+ status, sp,
+ circdesc,
+ reasons);
+ tor_free(circdesc);
}
return 0;
}
+/** Something minor has happened to circuit <b>circ</b>: tell any
+ * interested control connections. */
+static int
+control_event_circuit_status_minor(origin_circuit_t *circ,
+ circuit_status_minor_event_t e,
+ int purpose, const struct timeval *tv)
+{
+ const char *event_desc;
+ char event_tail[160] = "";
+ if (!EVENT_IS_INTERESTING(EVENT_CIRCUIT_STATUS_MINOR))
+ return 0;
+ tor_assert(circ);
+
+ switch (e)
+ {
+ case CIRC_MINOR_EVENT_PURPOSE_CHANGED:
+ event_desc = "PURPOSE_CHANGED";
+
+ {
+ /* event_tail can currently be up to 68 chars long */
+ const char *hs_state_str =
+ circuit_purpose_to_controller_hs_state_string(purpose);
+ tor_snprintf(event_tail, sizeof(event_tail),
+ " OLD_PURPOSE=%s%s%s",
+ circuit_purpose_to_controller_string(purpose),
+ (hs_state_str != NULL) ? " OLD_HS_STATE=" : "",
+ (hs_state_str != NULL) ? hs_state_str : "");
+ }
+
+ break;
+ case CIRC_MINOR_EVENT_CANNIBALIZED:
+ event_desc = "CANNIBALIZED";
+
+ {
+ /* event_tail can currently be up to 130 chars long */
+ const char *hs_state_str =
+ circuit_purpose_to_controller_hs_state_string(purpose);
+ const struct timeval *old_timestamp_created = tv;
+ char tbuf[ISO_TIME_USEC_LEN+1];
+ format_iso_time_nospace_usec(tbuf, old_timestamp_created);
+
+ tor_snprintf(event_tail, sizeof(event_tail),
+ " OLD_PURPOSE=%s%s%s OLD_TIME_CREATED=%s",
+ circuit_purpose_to_controller_string(purpose),
+ (hs_state_str != NULL) ? " OLD_HS_STATE=" : "",
+ (hs_state_str != NULL) ? hs_state_str : "",
+ tbuf);
+ }
+
+ break;
+ default:
+ log_warn(LD_BUG, "Unrecognized status code %d", (int)e);
+ tor_fragile_assert();
+ return 0;
+ }
+
+ {
+ char *circdesc = circuit_describe_status_for_controller(circ);
+ const char *sp = strlen(circdesc) ? " " : "";
+ send_control_event(EVENT_CIRCUIT_STATUS_MINOR, ALL_FORMATS,
+ "650 CIRC_MINOR %lu %s%s%s%s\r\n",
+ (unsigned long)circ->global_identifier,
+ event_desc, sp,
+ circdesc,
+ event_tail);
+ tor_free(circdesc);
+ }
+
+ return 0;
+}
+
+/**
+ * <b>circ</b> has changed its purpose from <b>old_purpose</b>: tell any
+ * interested controllers.
+ */
+int
+control_event_circuit_purpose_changed(origin_circuit_t *circ,
+ int old_purpose)
+{
+ return control_event_circuit_status_minor(circ,
+ CIRC_MINOR_EVENT_PURPOSE_CHANGED,
+ old_purpose,
+ NULL);
+}
+
+/**
+ * <b>circ</b> has changed its purpose from <b>old_purpose</b>, and its
+ * created-time from <b>old_tv_created</b>: tell any interested controllers.
+ */
+int
+control_event_circuit_cannibalized(origin_circuit_t *circ,
+ int old_purpose,
+ const struct timeval *old_tv_created)
+{
+ return control_event_circuit_status_minor(circ,
+ CIRC_MINOR_EVENT_CANNIBALIZED,
+ old_purpose,
+ old_tv_created);
+}
+
/** Given an AP connection <b>conn</b> and a <b>len</b>-character buffer
* <b>buf</b>, determine the address:port combination requested on
* <b>conn</b>, and write it to <b>buf</b>. Return 0 on success, -1 on
@@ -3331,8 +3492,7 @@ control_event_stream_status(entry_connection_t *conn, stream_status_event_t tp,
const char *reason_str = stream_end_reason_to_control_string(reason_code);
char *r = NULL;
if (!reason_str) {
- r = tor_malloc(16);
- tor_snprintf(r, 16, " UNKNOWN_%d", reason_code);
+ tor_asprintf(&r, " UNKNOWN_%d", reason_code);
reason_str = r;
}
if (reason_code & END_STREAM_REASON_FLAG_REMOTE)
@@ -3615,18 +3775,15 @@ control_event_descriptors_changed(smartlist_t *routers)
return 0;
{
- smartlist_t *names = smartlist_create();
+ smartlist_t *names = smartlist_new();
char *ids;
- size_t names_len;
SMARTLIST_FOREACH(routers, routerinfo_t *, ri, {
char *b = tor_malloc(MAX_VERBOSE_NICKNAME_LEN+1);
router_get_verbose_nickname(b, ri);
smartlist_add(names, b);
});
- ids = smartlist_join_strings(names, " ", 0, &names_len);
- names_len = strlen(ids)+32;
- msg = tor_malloc(names_len);
- tor_snprintf(msg, names_len, "650 NEWDESC %s\r\n", ids);
+ ids = smartlist_join_strings(names, " ", 0, NULL);
+ tor_asprintf(&msg, "650 NEWDESC %s\r\n", ids);
send_control_event_string(EVENT_NEW_DESC, ALL_FORMATS, msg);
tor_free(ids);
tor_free(msg);
@@ -3723,7 +3880,7 @@ control_event_networkstatus_changed_helper(smartlist_t *statuses,
if (!EVENT_IS_INTERESTING(event) || !smartlist_len(statuses))
return 0;
- strs = smartlist_create();
+ strs = smartlist_new();
smartlist_add(strs, tor_strdup("650+"));
smartlist_add(strs, tor_strdup(event_string));
smartlist_add(strs, tor_strdup("\r\n"));
@@ -3862,7 +4019,7 @@ control_event_networkstatus_changed_single(const routerstatus_t *rs)
if (!EVENT_IS_INTERESTING(EVENT_NS))
return 0;
- statuses = smartlist_create();
+ statuses = smartlist_new();
smartlist_add(statuses, (void*)rs);
r = control_event_networkstatus_changed(statuses);
smartlist_free(statuses);
@@ -4014,14 +4171,14 @@ control_event_conf_changed(smartlist_t *elements)
smartlist_len(elements) == 0) {
return 0;
}
- lines = smartlist_create();
+ lines = smartlist_new();
for (i = 0; i < smartlist_len(elements); i += 2) {
char *k = smartlist_get(elements, i);
char *v = smartlist_get(elements, i+1);
if (v == NULL) {
- smartlist_asprintf_add(lines, "650-%s", k);
+ smartlist_add_asprintf(lines, "650-%s", k);
} else {
- smartlist_asprintf_add(lines, "650-%s=%s", k, v);
+ smartlist_add_asprintf(lines, "650-%s=%s", k, v);
}
}
result = smartlist_join_strings(lines, "\r\n", 0, NULL);
@@ -4074,7 +4231,7 @@ init_cookie_authentication(int enabled)
tor_free(fname);
return -1;
}
-#ifndef MS_WINDOWS
+#ifndef _WIN32
if (get_options()->CookieAuthFileGroupReadable) {
if (chmod(fname, 0640)) {
log_warn(LD_FS,"Unable to make %s group-readable.", escaped(fname));
diff --git a/src/or/control.h b/src/or/control.h
index 0d9acd26e..7af4449d4 100644
--- a/src/or/control.h
+++ b/src/or/control.h
@@ -37,6 +37,11 @@ int control_event_is_interesting(int event);
int control_event_circuit_status(origin_circuit_t *circ,
circuit_status_event_t e, int reason);
+int control_event_circuit_purpose_changed(origin_circuit_t *circ,
+ int old_purpose);
+int control_event_circuit_cannibalized(origin_circuit_t *circ,
+ int old_purpose,
+ const struct timeval *old_tv_created);
int control_event_stream_status(entry_connection_t *conn,
stream_status_event_t e,
int reason);
diff --git a/src/or/cpuworker.c b/src/or/cpuworker.c
index bf8964c29..411d9bbb5 100644
--- a/src/or/cpuworker.c
+++ b/src/or/cpuworker.c
@@ -233,7 +233,7 @@ cpuworker_main(void *data)
char reply_to_proxy[ONIONSKIN_REPLY_LEN];
char buf[LEN_ONION_RESPONSE];
char tag[TAG_LEN];
- crypto_pk_env_t *onion_key = NULL, *last_onion_key = NULL;
+ crypto_pk_t *onion_key = NULL, *last_onion_key = NULL;
fd = fdarray[1]; /* this side is ours */
#ifndef TOR_IS_MULTITHREADED
@@ -303,9 +303,9 @@ cpuworker_main(void *data)
}
end:
if (onion_key)
- crypto_free_pk_env(onion_key);
+ crypto_pk_free(onion_key);
if (last_onion_key)
- crypto_free_pk_env(last_onion_key);
+ crypto_pk_free(last_onion_key);
tor_close_socket(fd);
crypto_thread_cleanup();
spawn_exit();
@@ -329,8 +329,8 @@ spawn_cpuworker(void)
return -1;
}
- tor_assert(fdarray[0] >= 0);
- tor_assert(fdarray[1] >= 0);
+ tor_assert(SOCKET_OK(fdarray[0]));
+ tor_assert(SOCKET_OK(fdarray[1]));
fd = fdarray[0];
spawn_func(cpuworker_main, (void*)fdarray);
@@ -347,6 +347,7 @@ spawn_cpuworker(void)
/* set up conn so it's got all the data we need to remember */
conn->s = fd;
conn->address = tor_strdup("localhost");
+ tor_addr_make_unspec(&conn->addr);
if (connection_add(conn) < 0) { /* no space, forget it */
log_warn(LD_NET,"connection_add for cpuworker failed. Giving up.");
@@ -445,9 +446,19 @@ assign_onionskin_to_cpuworker(connection_t *cpuworker,
{
char qbuf[1];
char tag[TAG_LEN];
+ time_t now = approx_time();
+ static time_t last_culled_cpuworkers = 0;
- cull_wedged_cpuworkers();
- spawn_enough_cpuworkers();
+ /* Checking for wedged cpuworkers requires a linear search over all
+ * connections, so let's do it only once a minute.
+ */
+#define CULL_CPUWORKERS_INTERVAL 60
+
+ if (last_culled_cpuworkers + CULL_CPUWORKERS_INTERVAL <= now) {
+ cull_wedged_cpuworkers();
+ spawn_enough_cpuworkers();
+ last_culled_cpuworkers = now;
+ }
if (1) {
if (num_cpuworkers_busy == num_cpuworkers) {
diff --git a/src/or/directory.c b/src/or/directory.c
index 776b7a25f..c6a527cb3 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -153,7 +153,7 @@ static char *
authdir_type_to_string(dirinfo_type_t auth)
{
char *result;
- smartlist_t *lst = smartlist_create();
+ smartlist_t *lst = smartlist_new();
if (auth & V1_DIRINFO)
smartlist_add(lst, (void*)"V1");
if (auth & V2_DIRINFO)
@@ -410,7 +410,7 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose,
} else {
/* Otherwise it might be a consensus we don't parse, but which we
* do cache. Look at the cached copy, perhaps. */
- cached_dir_t *cd = dirserv_get_consensus(resource ? resource : "ns");
+ cached_dir_t *cd = dirserv_get_consensus(resource);
if (cd)
if_modified_since = cd->published + 180;
}
@@ -421,11 +421,15 @@ directory_get_from_dirserver(uint8_t dir_purpose, uint8_t router_purpose,
if (!get_via_tor) {
if (options->UseBridges && type != BRIDGE_DIRINFO) {
- /* want to ask a running bridge for which we have a descriptor. */
- /* XXX023 we assume that all of our bridges can answer any
- * possible directory question. This won't be true forever. -RD */
- /* It certainly is not true with conditional consensus downloading,
- * so, for now, never assume the server supports that. */
+ /* We want to ask a running bridge for which we have a descriptor.
+ *
+ * Be careful here: we should only ask questions that we know our
+ * bridges can answer. So far we're solving that by backing off to
+ * the behavior supported by our oldest bridge; see for example
+ * any_bridges_dont_support_microdescriptors().
+ */
+ /* XXX024 Not all bridges handle conditional consensus downloading,
+ * so, for now, never assume the server supports that. -PP */
const node_t *node = choose_random_entry(NULL);
if (node && node->ri) {
/* every bridge has a routerinfo. */
@@ -714,7 +718,7 @@ connection_dir_download_v2_networkstatus_failed(dir_connection_t *conn,
} else if (!strcmpstart(conn->requested_resource, "fp/")) {
/* We were trying to download by fingerprint; mark them all as having
* failed, and possibly retry them later.*/
- smartlist_t *failed = smartlist_create();
+ smartlist_t *failed = smartlist_new();
dir_split_resource_into_fingerprints(conn->requested_resource+3,
failed, NULL, 0);
if (smartlist_len(failed)) {
@@ -775,7 +779,7 @@ connection_dir_bridge_routerdesc_failed(dir_connection_t *conn)
if (!conn->requested_resource || strcmpstart(conn->requested_resource,"fp/"))
return;
- which = smartlist_create();
+ which = smartlist_new();
dir_split_resource_into_fingerprints(conn->requested_resource
+ strlen("fp/"),
which, NULL, 0);
@@ -797,7 +801,7 @@ connection_dir_download_cert_failed(dir_connection_t *conn, int status)
if (!conn->requested_resource)
return;
- failed = smartlist_create();
+ failed = smartlist_new();
dir_split_resource_into_fingerprints(conn->requested_resource+3,
failed, NULL, DSR_HEX);
SMARTLIST_FOREACH(failed, char *, cp,
@@ -907,8 +911,12 @@ directory_initiate_command_rend(const char *address, const tor_addr_t *_addr,
log_debug(LD_DIR, "Initiating %s", dir_conn_purpose_to_string(dir_purpose));
+#ifndef NON_ANONYMOUS_MODE_ENABLED
tor_assert(!(is_sensitive_dir_purpose(dir_purpose) &&
!anonymized_connection));
+#else
+ (void)is_sensitive_dir_purpose;
+#endif
/* ensure that we don't make direct connections when a SOCKS server is
* configured. */
@@ -919,7 +927,7 @@ directory_initiate_command_rend(const char *address, const tor_addr_t *_addr,
return;
}
- conn = dir_connection_new(AF_INET);
+ conn = dir_connection_new(tor_addr_family(&addr));
/* set up conn so it's got all the data we need to remember */
tor_addr_copy(&conn->_base.addr, &addr);
@@ -1074,7 +1082,7 @@ directory_get_consensus_url(int supports_conditional_consensus,
if (supports_conditional_consensus) {
char *authority_id_list;
- smartlist_t *authority_digests = smartlist_create();
+ smartlist_t *authority_digests = smartlist_new();
SMARTLIST_FOREACH(router_get_trusted_dir_servers(),
trusted_dir_server_t *, ds,
@@ -1117,12 +1125,10 @@ directory_send_command(dir_connection_t *conn,
{
char proxystring[256];
char hoststring[128];
- smartlist_t *headers = smartlist_create();
+ smartlist_t *headers = smartlist_new();
char *url;
char request[8192];
- char *header;
const char *httpcommand = NULL;
- size_t len;
tor_assert(conn);
tor_assert(conn->_base.type == CONN_TYPE_DIR);
@@ -1143,8 +1149,7 @@ directory_send_command(dir_connection_t *conn,
if (if_modified_since) {
char b[RFC1123_TIME_LEN+1];
format_rfc1123_time(b, if_modified_since);
- tor_asprintf(&header, "If-Modified-Since: %s\r\n", b);
- smartlist_add(headers, header);
+ smartlist_add_asprintf(headers, "If-Modified-Since: %s\r\n", b);
}
/* come up with some proxy lines, if we're using one. */
@@ -1159,11 +1164,10 @@ directory_send_command(dir_connection_t *conn,
log_warn(LD_BUG, "Encoding http authenticator failed");
}
if (base64_authenticator) {
- tor_asprintf(&header,
+ smartlist_add_asprintf(headers,
"Proxy-Authorization: Basic %s\r\n",
base64_authenticator);
tor_free(base64_authenticator);
- smartlist_add(headers, header);
}
} else {
proxystring[0] = 0;
@@ -1173,9 +1177,7 @@ directory_send_command(dir_connection_t *conn,
case DIR_PURPOSE_FETCH_V2_NETWORKSTATUS:
tor_assert(resource);
httpcommand = "GET";
- len = strlen(resource)+32;
- url = tor_malloc(len);
- tor_snprintf(url, len, "/tor/status/%s", resource);
+ tor_asprintf(&url, "/tor/status/%s", resource);
break;
case DIR_PURPOSE_FETCH_CONSENSUS:
/* resource is optional. If present, it's a flavor name */
@@ -1190,17 +1192,13 @@ directory_send_command(dir_connection_t *conn,
tor_assert(resource);
tor_assert(!payload);
httpcommand = "GET";
- len = strlen(resource)+32;
- url = tor_malloc(len);
- tor_snprintf(url, len, "/tor/keys/%s", resource);
+ tor_asprintf(&url, "/tor/keys/%s", resource);
break;
case DIR_PURPOSE_FETCH_STATUS_VOTE:
tor_assert(resource);
tor_assert(!payload);
httpcommand = "GET";
- len = strlen(resource)+32;
- url = tor_malloc(len);
- tor_snprintf(url, len, "/tor/status-vote/next/%s.z", resource);
+ tor_asprintf(&url, "/tor/status-vote/next/%s.z", resource);
break;
case DIR_PURPOSE_FETCH_DETACHED_SIGNATURES:
tor_assert(!resource);
@@ -1211,16 +1209,12 @@ directory_send_command(dir_connection_t *conn,
case DIR_PURPOSE_FETCH_SERVERDESC:
tor_assert(resource);
httpcommand = "GET";
- len = strlen(resource)+32;
- url = tor_malloc(len);
- tor_snprintf(url, len, "/tor/server/%s", resource);
+ tor_asprintf(&url, "/tor/server/%s", resource);
break;
case DIR_PURPOSE_FETCH_EXTRAINFO:
tor_assert(resource);
httpcommand = "GET";
- len = strlen(resource)+32;
- url = tor_malloc(len);
- tor_snprintf(url, len, "/tor/extra/%s", resource);
+ tor_asprintf(&url, "/tor/extra/%s", resource);
break;
case DIR_PURPOSE_FETCH_MICRODESC:
tor_assert(resource);
@@ -1234,8 +1228,7 @@ directory_send_command(dir_connection_t *conn,
httpcommand = "POST";
url = tor_strdup("/tor/");
if (why) {
- tor_asprintf(&header, "X-Desc-Gen-Reason: %s\r\n", why);
- smartlist_add(headers, header);
+ smartlist_add_asprintf(headers, "X-Desc-Gen-Reason: %s\r\n", why);
}
break;
}
@@ -1256,9 +1249,7 @@ directory_send_command(dir_connection_t *conn,
tor_assert(strlen(resource) <= REND_DESC_ID_V2_LEN_BASE32);
tor_assert(!payload);
httpcommand = "GET";
- len = strlen(resource) + 32;
- url = tor_malloc(len);
- tor_snprintf(url, len, "/tor/rendezvous2/%s", resource);
+ tor_asprintf(&url, "/tor/rendezvous2/%s", resource);
break;
case DIR_PURPOSE_UPLOAD_RENDDESC:
tor_assert(!resource);
@@ -1290,15 +1281,16 @@ directory_send_command(dir_connection_t *conn,
tor_free(url);
if (!strcmp(httpcommand, "POST") || payload) {
- tor_asprintf(&header, "Content-Length: %lu\r\n",
+ smartlist_add_asprintf(headers, "Content-Length: %lu\r\n",
payload ? (unsigned long)payload_len : 0);
- smartlist_add(headers, header);
}
- header = smartlist_join_strings(headers, "", 0, NULL);
- tor_snprintf(request, sizeof(request), " HTTP/1.0\r\nHost: %s\r\n%s\r\n",
- hoststring, header);
- tor_free(header);
+ {
+ char *header = smartlist_join_strings(headers, "", 0, NULL);
+ tor_snprintf(request, sizeof(request), " HTTP/1.0\r\nHost: %s\r\n%s\r\n",
+ hoststring, header);
+ tor_free(header);
+ }
connection_write_to_buf(request, strlen(request), TO_CONN(conn));
@@ -1444,11 +1436,11 @@ parse_http_response(const char *headers, int *code, time_t *date,
}
*code = n2;
- parsed_headers = smartlist_create();
+ parsed_headers = smartlist_new();
smartlist_split_string(parsed_headers, headers, "\n",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
if (reason) {
- smartlist_t *status_line_elements = smartlist_create();
+ smartlist_t *status_line_elements = smartlist_new();
tor_assert(smartlist_len(parsed_headers));
smartlist_split_string(status_line_elements,
smartlist_get(parsed_headers, 0),
@@ -1619,9 +1611,11 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
if (!reason) reason = tor_strdup("[no reason given]");
log_debug(LD_DIR,
- "Received response from directory server '%s:%d': %d %s",
+ "Received response from directory server '%s:%d': %d %s "
+ "(purpose: %d)",
conn->_base.address, conn->_base.port, status_code,
- escaped(reason));
+ escaped(reason),
+ conn->_base.purpose);
/* now check if it's got any hints for us about our IP address. */
if (conn->dirconn_direct) {
@@ -1765,13 +1759,13 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
if (conn->requested_resource &&
!strcmpstart(conn->requested_resource,"fp/")) {
source = NS_FROM_DIR_BY_FP;
- which = smartlist_create();
+ which = smartlist_new();
dir_split_resource_into_fingerprints(conn->requested_resource+3,
which, NULL, 0);
} else if (conn->requested_resource &&
!strcmpstart(conn->requested_resource, "all")) {
source = NS_FROM_DIR_ALL;
- which = smartlist_create();
+ which = smartlist_new();
SMARTLIST_FOREACH(router_get_trusted_dir_servers(),
trusted_dir_server_t *, ds,
{
@@ -1920,7 +1914,7 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
if (conn->requested_resource &&
(!strcmpstart(conn->requested_resource,"d/") ||
!strcmpstart(conn->requested_resource,"fp/"))) {
- which = smartlist_create();
+ which = smartlist_new();
dir_split_resource_into_fingerprints(conn->requested_resource +
(descriptor_digests ? 2 : 3),
which, NULL, 0);
@@ -1997,7 +1991,7 @@ connection_dir_client_reached_eof(dir_connection_t *conn)
conn->_base.port);
tor_assert(conn->requested_resource &&
!strcmpstart(conn->requested_resource, "d/"));
- which = smartlist_create();
+ which = smartlist_new();
dir_split_resource_into_fingerprints(conn->requested_resource+2,
which, NULL,
DSR_DIGEST256|DSR_BASE64);
@@ -2473,11 +2467,9 @@ note_client_request(int purpose, int compressed, size_t bytes)
case DIR_PURPOSE_UPLOAD_RENDDESC_V2: kind = "dl/ul-rend2"; break;
}
if (kind) {
- key = tor_malloc(256);
- tor_snprintf(key, 256, "%s%s", kind, compressed?".z":"");
+ tor_asprintf(&key, "%s%s", kind, compressed?".z":"");
} else {
- key = tor_malloc(256);
- tor_snprintf(key, 256, "unknown purpose (%d)%s",
+ tor_asprintf(&key, "unknown purpose (%d)%s",
purpose, compressed?".z":"");
}
note_request(key, bytes);
@@ -2516,13 +2508,12 @@ char *
directory_dump_request_log(void)
{
smartlist_t *lines;
- char tmp[256];
char *result;
strmap_iter_t *iter;
ensure_request_map_initialized();
- lines = smartlist_create();
+ lines = smartlist_new();
for (iter = strmap_iter_init(request_map);
!strmap_iter_done(iter);
@@ -2532,9 +2523,8 @@ directory_dump_request_log(void)
request_t *r;
strmap_iter_get(iter, &key, &val);
r = val;
- tor_snprintf(tmp, sizeof(tmp), "%s "U64_FORMAT" "U64_FORMAT"\n",
+ smartlist_add_asprintf(lines, "%s "U64_FORMAT" "U64_FORMAT"\n",
key, U64_PRINTF_ARG(r->bytes), U64_PRINTF_ARG(r->count));
- smartlist_add(lines, tor_strdup(tmp));
}
smartlist_sort_strings(lines);
result = smartlist_join_strings(lines, "", 0, NULL);
@@ -2582,7 +2572,7 @@ directory_dump_request_log(void)
int
client_likes_consensus(networkstatus_t *v, const char *want_url)
{
- smartlist_t *want_authorities = smartlist_create();
+ smartlist_t *want_authorities = smartlist_new();
int need_at_least;
int have = 0;
@@ -2756,7 +2746,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
if (!strcmpstart(url,"/tor/status/")
|| !strcmpstart(url, "/tor/status-vote/current/consensus")) {
/* v2 or v3 network status fetch. */
- smartlist_t *dir_fps = smartlist_create();
+ smartlist_t *dir_fps = smartlist_new();
int is_v3 = !strcmpstart(url, "/tor/status-vote");
geoip_client_action_t act =
is_v3 ? GEOIP_CLIENT_NETWORKSTATUS : GEOIP_CLIENT_NETWORKSTATUS_V2;
@@ -2891,8 +2881,8 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
int current;
ssize_t body_len = 0;
ssize_t estimated_len = 0;
- smartlist_t *items = smartlist_create();
- smartlist_t *dir_items = smartlist_create();
+ smartlist_t *items = smartlist_new();
+ smartlist_t *dir_items = smartlist_new();
int lifetime = 60; /* XXXX023 should actually use vote intervals. */
url += strlen("/tor/status-vote/");
current = !strcmpstart(url, "current/");
@@ -2920,7 +2910,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
smartlist_add(dir_items, (cached_dir_t*)d);
} else {
const cached_dir_t *d;
- smartlist_t *fps = smartlist_create();
+ smartlist_t *fps = smartlist_new();
int flags;
if (!strcmpstart(url, "d/")) {
url += 2;
@@ -2984,7 +2974,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
}
if (!strcmpstart(url, "/tor/micro/d/")) {
- smartlist_t *fps = smartlist_create();
+ smartlist_t *fps = smartlist_new();
dir_split_resource_into_fingerprints(url+strlen("/tor/micro/d/"),
fps, NULL,
@@ -3027,7 +3017,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
int cache_lifetime = 0;
int is_extra = !strcmpstart(url,"/tor/extra/");
url += is_extra ? strlen("/tor/extra/") : strlen("/tor/server/");
- conn->fingerprint_stack = smartlist_create();
+ conn->fingerprint_stack = smartlist_new();
res = dirserv_get_routerdesc_fingerprints(conn->fingerprint_stack, url,
&msg,
!connection_dir_is_encrypted(conn),
@@ -3088,7 +3078,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
}
if (!strcmpstart(url,"/tor/keys/")) {
- smartlist_t *certs = smartlist_create();
+ smartlist_t *certs = smartlist_new();
ssize_t len = -1;
if (!strcmp(url, "/tor/keys/all")) {
authority_cert_get_all(certs);
@@ -3097,7 +3087,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
if (cert)
smartlist_add(certs, cert);
} else if (!strcmpstart(url, "/tor/keys/fp/")) {
- smartlist_t *fps = smartlist_create();
+ smartlist_t *fps = smartlist_new();
dir_split_resource_into_fingerprints(url+strlen("/tor/keys/fp/"),
fps, NULL,
DSR_HEX|DSR_SORT_UNIQ);
@@ -3108,7 +3098,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
});
smartlist_free(fps);
} else if (!strcmpstart(url, "/tor/keys/sk/")) {
- smartlist_t *fps = smartlist_create();
+ smartlist_t *fps = smartlist_new();
dir_split_resource_into_fingerprints(url+strlen("/tor/keys/sk/"),
fps, NULL,
DSR_HEX|DSR_SORT_UNIQ);
@@ -3119,7 +3109,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
});
smartlist_free(fps);
} else if (!strcmpstart(url, "/tor/keys/fp-sk/")) {
- smartlist_t *fp_sks = smartlist_create();
+ smartlist_t *fp_sks = smartlist_new();
dir_split_resource_into_fingerprint_pairs(url+strlen("/tor/keys/fp-sk/"),
fp_sks);
SMARTLIST_FOREACH(fp_sks, fp_pair_t *, pair, {
@@ -3288,8 +3278,7 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
#if defined(EXPORTMALLINFO) && defined(HAVE_MALLOC_H) && defined(HAVE_MALLINFO)
#define ADD_MALLINFO_LINE(x) do { \
- tor_snprintf(tmp, sizeof(tmp), "%s %d\n", #x, mi.x); \
- smartlist_add(lines, tor_strdup(tmp)); \
+ smartlist_add_asprintf(lines, "%s %d\n", #x, mi.x); \
}while(0);
if (!strcmp(url,"/tor/mallinfo.txt") &&
@@ -3298,11 +3287,10 @@ directory_handle_command_get(dir_connection_t *conn, const char *headers,
size_t len;
struct mallinfo mi;
smartlist_t *lines;
- char tmp[256];
memset(&mi, 0, sizeof(mi));
mi = mallinfo();
- lines = smartlist_create();
+ lines = smartlist_new();
ADD_MALLINFO_LINE(arena)
ADD_MALLINFO_LINE(ordblks)
@@ -3729,7 +3717,7 @@ download_status_reset(download_status_t *dls)
const int *schedule;
size_t schedule_len;
- find_dl_schedule_and_len(dls, get_options()->DirPort,
+ find_dl_schedule_and_len(dls, get_options()->DirPort != NULL,
&schedule, &schedule_len);
dls->n_download_failures = 0;
@@ -3839,8 +3827,8 @@ int
dir_split_resource_into_fingerprint_pairs(const char *res,
smartlist_t *pairs_out)
{
- smartlist_t *pairs_tmp = smartlist_create();
- smartlist_t *pairs_result = smartlist_create();
+ smartlist_t *pairs_tmp = smartlist_new();
+ smartlist_t *pairs_result = smartlist_new();
smartlist_split_string(pairs_tmp, res, "+", 0, 0);
if (smartlist_len(pairs_tmp)) {
@@ -3908,7 +3896,7 @@ dir_split_resource_into_fingerprints(const char *resource,
HEX_DIGEST256_LEN : HEX_DIGEST_LEN;
const int base64_digest_len = digests_are_256 ?
BASE64_DIGEST256_LEN : BASE64_DIGEST_LEN;
- smartlist_t *fp_tmp = smartlist_create();
+ smartlist_t *fp_tmp = smartlist_new();
tor_assert(!(decode_hex && decode_base64));
tor_assert(fp_out);
diff --git a/src/or/directory.h b/src/or/directory.h
index 8c63bb5df..5050f700d 100644
--- a/src/or/directory.h
+++ b/src/or/directory.h
@@ -80,7 +80,7 @@ time_t download_status_increment_failure(download_status_t *dls,
* the optional status code <b>sc</b>. */
#define download_status_failed(dls, sc) \
download_status_increment_failure((dls), (sc), NULL, \
- get_options()->DirPort, time(NULL))
+ get_options()->DirPort!=NULL, time(NULL))
void download_status_reset(download_status_t *dls);
static int download_status_is_ready(download_status_t *dls, time_t now,
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 58ceeda83..a7bbe983c 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -185,7 +185,7 @@ add_fingerprint_to_dir(const char *nickname, const char *fp,
/** Add the nickname and fingerprint for this OR to the
* global list of recognized identity key fingerprints. */
int
-dirserv_add_own_fingerprint(const char *nickname, crypto_pk_env_t *pk)
+dirserv_add_own_fingerprint(const char *nickname, crypto_pk_t *pk)
{
char fp[FINGERPRINT_LEN+1];
if (crypto_pk_get_fingerprint(pk, fp, 0)<0) {
@@ -232,7 +232,7 @@ dirserv_load_fingerprint_file(void)
}
tor_free(fname);
- result = config_get_lines(cf, &front);
+ result = config_get_lines(cf, &front, 0);
tor_free(cf);
if (result < 0) {
log_warn(LD_CONFIG, "Error reading from fingerprint file");
@@ -388,19 +388,20 @@ dirserv_get_status_impl(const char *id_digest, const char *nickname,
strmap_size(fingerprint_list->fp_by_name),
digestmap_size(fingerprint_list->status_by_digest));
- /* Tor 0.2.0.26-rc is the oldest version that currently caches the right
- * directory information. Once more of them die off, we should raise this
- * minimum. */
- if (platform && !tor_version_as_new_as(platform,"0.2.0.26-rc")) {
+ /* Versions before Tor 0.2.1.30 have known security issues that
+ * make them unsuitable for the current network. */
+ if (platform && !tor_version_as_new_as(platform,"0.2.1.30")) {
if (msg)
- *msg = "Tor version is far too old to work.";
- return FP_REJECT;
- } else if (platform && tor_version_as_new_as(platform,"0.2.1.3-alpha")
- && !tor_version_as_new_as(platform, "0.2.1.19")) {
- /* These versions mishandled RELAY_EARLY cells on rend circuits. */
- if (msg)
- *msg = "Tor version is too buggy to work.";
+ *msg = "Tor version is insecure. Please upgrade!";
return FP_REJECT;
+ } else if (platform && tor_version_as_new_as(platform,"0.2.2.1-alpha")) {
+ /* Versions from 0.2.2.1-alpha...0.2.2.20-alpha have known security
+ * issues that make them unusable for the current network */
+ if (!tor_version_as_new_as(platform, "0.2.2.21-alpha")) {
+ if (msg)
+ *msg = "Tor version is insecure. Please upgrade!";
+ return FP_REJECT;
+ }
}
result = dirserv_get_name_status(id_digest, nickname);
@@ -644,7 +645,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose,
}
s = desc;
- list = smartlist_create();
+ list = smartlist_new();
if (!router_parse_list_from_string(&s, NULL, list, SAVED_NOWHERE, 0, 0,
annotation_buf)) {
SMARTLIST_FOREACH(list, routerinfo_t *, ri, {
@@ -767,7 +768,7 @@ dirserv_add_descriptor(routerinfo_t *ri, const char **msg, const char *source)
smartlist_t *changed;
control_event_or_authdir_new_descriptor("ACCEPTED", desc, desclen, *msg);
- changed = smartlist_create();
+ changed = smartlist_new();
smartlist_add(changed, ri);
routerlist_descriptors_added(changed, 0);
smartlist_free(changed);
@@ -829,7 +830,7 @@ directory_remove_invalid(void)
{
int changed = 0;
routerlist_t *rl = router_get_routerlist();
- smartlist_t *nodes = smartlist_create();
+ smartlist_t *nodes = smartlist_new();
smartlist_add_all(nodes, nodelist_get_list());
SMARTLIST_FOREACH_BEGIN(nodes, node_t *, node) {
@@ -1039,7 +1040,7 @@ list_server_status_v1(smartlist_t *routers, char **router_status_out,
int authdir = authdir_mode_publishes_statuses(options);
tor_assert(router_status_out);
- rs_entries = smartlist_create();
+ rs_entries = smartlist_new();
SMARTLIST_FOREACH_BEGIN(routers, routerinfo_t *, ri) {
const node_t *node = node_get_by_id(ri->cache_info.identity_digest);
@@ -1079,7 +1080,7 @@ format_versions_list(config_line_t *ln)
{
smartlist_t *versions;
char *result;
- versions = smartlist_create();
+ versions = smartlist_new();
for ( ; ln; ln = ln->next) {
smartlist_split_string(versions, ln->value, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
@@ -1113,7 +1114,7 @@ router_is_active(const routerinfo_t *ri, const node_t *node, time_t now)
*/
int
dirserv_dump_directory_to_string(char **dir_out,
- crypto_pk_env_t *private_key)
+ crypto_pk_t *private_key)
{
char *cp;
char *identity_pkey; /* Identity key, DER64-encoded. */
@@ -1212,7 +1213,7 @@ directory_fetches_from_authorities(const or_options_t *options)
return 1; /* we don't know our IP address; ask an authority. */
refuseunknown = ! router_my_exit_policy_is_reject_star() &&
should_refuse_unknown_exits(options);
- if (options->DirPort == 0 && !refuseunknown)
+ if (options->DirPort == NULL && !refuseunknown)
return 0;
if (!server_mode(options) || !advertised_server_mode())
return 0;
@@ -1248,7 +1249,7 @@ directory_fetches_dir_info_later(const or_options_t *options)
int
directory_caches_v2_dir_info(const or_options_t *options)
{
- return options->DirPort != 0;
+ return options->DirPort != NULL;
}
/** Return 1 if we want to keep descriptors, networkstatuses, etc around
@@ -1273,7 +1274,7 @@ directory_caches_dir_info(const or_options_t *options)
int
directory_permits_begindir_requests(const or_options_t *options)
{
- return options->BridgeRelay != 0 || options->DirPort != 0;
+ return options->BridgeRelay != 0 || options->DirPort != NULL;
}
/** Return 1 if we want to allow controllers to ask us directory
@@ -1282,7 +1283,7 @@ directory_permits_begindir_requests(const or_options_t *options)
int
directory_permits_controller_requests(const or_options_t *options)
{
- return options->DirPort != 0;
+ return options->DirPort != NULL;
}
/** Return 1 if we have no need to fetch new descriptors. This generally
@@ -1635,7 +1636,7 @@ generate_runningrouters(void)
char digest[DIGEST_LEN];
char published[ISO_TIME_LEN+1];
size_t len;
- crypto_pk_env_t *private_key = get_server_identity_key();
+ crypto_pk_t *private_key = get_server_identity_key();
char *identity_pkey; /* Identity key, DER64-encoded. */
size_t identity_pkey_len;
@@ -1720,12 +1721,6 @@ should_generate_v2_networkstatus(void)
/** If a router's MTBF is at least this value, then it is always stable.
* See above. (Corresponds to about 7 days for current decay rates.) */
#define MTBF_TO_GUARANTEE_STABLE (60*60*24*5)
-/** Similarly, we protect sufficiently fast nodes from being pushed
- * out of the set of Fast nodes. */
-#define BANDWIDTH_TO_GUARANTEE_FAST ROUTER_REQUIRED_MIN_BANDWIDTH
-/** Similarly, every node with sufficient bandwidth can be considered
- * for Guard status. */
-#define BANDWIDTH_TO_GUARANTEE_GUARD (250*1024)
/** Similarly, every node with at least this much weighted time known can be
* considered familiar enough to be a guard. Corresponds to about 20 days for
* current decay rates.
@@ -1870,6 +1865,7 @@ dirserv_compute_performance_thresholds(routerlist_t *rl)
long *tks;
double *mtbfs, *wfus;
time_t now = time(NULL);
+ const or_options_t *options = get_options();
/* initialize these all here, in case there are no routers */
stable_uptime = 0;
@@ -1942,8 +1938,23 @@ dirserv_compute_performance_thresholds(routerlist_t *rl)
if (guard_tk > TIME_KNOWN_TO_GUARANTEE_FAMILIAR)
guard_tk = TIME_KNOWN_TO_GUARANTEE_FAMILIAR;
- if (fast_bandwidth > BANDWIDTH_TO_GUARANTEE_FAST)
- fast_bandwidth = BANDWIDTH_TO_GUARANTEE_FAST;
+ {
+ /* We can vote on a parameter for the minimum and maximum. */
+ int32_t min_fast, max_fast;
+ min_fast = networkstatus_get_param(NULL, "FastFlagMinThreshold",
+ 0, 0, INT32_MAX);
+ max_fast = networkstatus_get_param(NULL, "FastFlagMaxThreshold",
+ INT32_MAX, min_fast, INT32_MAX);
+ if (fast_bandwidth < (uint32_t)min_fast)
+ fast_bandwidth = min_fast;
+ if (fast_bandwidth > (uint32_t)max_fast)
+ fast_bandwidth = max_fast;
+ }
+ /* Protect sufficiently fast nodes from being pushed out of the set
+ * of Fast nodes. */
+ if (options->AuthDirFastGuarantee &&
+ fast_bandwidth > options->AuthDirFastGuarantee)
+ fast_bandwidth = (uint32_t)options->AuthDirFastGuarantee;
/* Now that we have a time-known that 7/8 routers are known longer than,
* fill wfus with the wfu of every such "familiar" router. */
@@ -2254,7 +2265,7 @@ get_possible_sybil_list(const smartlist_t *routers)
{
const or_options_t *options = get_options();
digestmap_t *omit_as_sybil;
- smartlist_t *routers_by_ip = smartlist_create();
+ smartlist_t *routers_by_ip = smartlist_new();
uint32_t last_addr;
int addr_count;
/* Allow at most this number of Tor servers on a single IP address, ... */
@@ -2375,6 +2386,8 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
const or_options_t *options = get_options();
int unstable_version =
!tor_version_as_new_as(ri->platform,"0.1.1.16-rc-cvs");
+ uint32_t routerbw = router_get_advertised_bandwidth(ri);
+
memset(rs, 0, sizeof(routerstatus_t));
rs->is_authority =
@@ -2400,10 +2413,10 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs,
rs->is_valid = node->is_valid;
if (node->is_fast &&
- (router_get_advertised_bandwidth(ri) >= BANDWIDTH_TO_GUARANTEE_GUARD ||
- router_get_advertised_bandwidth(ri) >=
- MIN(guard_bandwidth_including_exits,
- guard_bandwidth_excluding_exits)) &&
+ ((options->AuthDirGuardBWGuarantee &&
+ routerbw >= options->AuthDirGuardBWGuarantee) ||
+ routerbw >= MIN(guard_bandwidth_including_exits,
+ guard_bandwidth_excluding_exits)) &&
(options->GiveGuardFlagTo_CVE_2011_2768_VulnerableRelays ||
is_router_version_good_for_possible_guard(ri->platform))) {
long tk = rep_hist_get_weighted_time_known(
@@ -2624,7 +2637,7 @@ dirserv_read_measured_bandwidths(const char *from_file,
/** Return a new networkstatus_t* containing our current opinion. (For v3
* authorities) */
networkstatus_t *
-dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
+dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key,
authority_cert_t *cert)
{
const or_options_t *options = get_options();
@@ -2685,13 +2698,13 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
dirserv_compute_performance_thresholds(rl);
- routers = smartlist_create();
+ routers = smartlist_new();
smartlist_add_all(routers, rl->routers);
routers_sort_by_identity(routers);
omit_as_sybil = get_possible_sybil_list(routers);
- routerstatuses = smartlist_create();
- microdescriptors = smartlist_create();
+ routerstatuses = smartlist_new();
+ microdescriptors = smartlist_new();
SMARTLIST_FOREACH_BEGIN(routers, routerinfo_t *, ri) {
if (ri->cache_info.published_on >= cutoff) {
@@ -2781,7 +2794,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
v3_out->client_versions = client_versions;
v3_out->server_versions = server_versions;
- v3_out->known_flags = smartlist_create();
+ v3_out->known_flags = smartlist_new();
smartlist_split_string(v3_out->known_flags,
"Authority Exit Fast Guard Stable V2Dir Valid",
0, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
@@ -2800,7 +2813,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
smartlist_sort_strings(v3_out->known_flags);
if (options->ConsensusParams) {
- v3_out->net_params = smartlist_create();
+ v3_out->net_params = smartlist_new();
smartlist_split_string(v3_out->net_params,
options->ConsensusParams, NULL, 0, 0);
smartlist_sort_strings(v3_out->net_params);
@@ -2809,7 +2822,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
voter = tor_malloc_zero(sizeof(networkstatus_voter_info_t));
voter->nickname = tor_strdup(options->Nickname);
memcpy(voter->identity_digest, identity_digest, DIGEST_LEN);
- voter->sigs = smartlist_create();
+ voter->sigs = smartlist_new();
voter->address = hostname;
voter->addr = addr;
voter->dir_port = router_get_advertised_dir_port(options, 0);
@@ -2825,7 +2838,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
}
}
- v3_out->voters = smartlist_create();
+ v3_out->voters = smartlist_new();
smartlist_add(v3_out->voters, voter);
v3_out->cert = authority_cert_dup(cert);
v3_out->routerstatus_list = routerstatuses;
@@ -2851,7 +2864,7 @@ generate_v2_networkstatus_opinion(void)
char published[ISO_TIME_LEN+1];
char digest[DIGEST_LEN];
uint32_t addr;
- crypto_pk_env_t *private_key;
+ crypto_pk_t *private_key;
routerlist_t *rl = router_get_routerlist();
time_t now = time(NULL);
time_t cutoff = now - ROUTER_MAX_AGE_TO_PUBLISH;
@@ -2888,14 +2901,12 @@ generate_v2_networkstatus_opinion(void)
goto done;
}
- contact = get_options()->ContactInfo;
+ contact = options->ContactInfo;
if (!contact)
contact = "(none)";
if (versioning) {
- size_t v_len = 64+strlen(client_versions)+strlen(server_versions);
- version_lines = tor_malloc(v_len);
- tor_snprintf(version_lines, v_len,
+ tor_asprintf(&version_lines,
"client-versions %s\nserver-versions %s\n",
client_versions, server_versions);
} else {
@@ -2938,7 +2949,7 @@ generate_v2_networkstatus_opinion(void)
dirserv_compute_performance_thresholds(rl);
- routers = smartlist_create();
+ routers = smartlist_new();
smartlist_add_all(routers, rl->routers);
routers_sort_by_identity(routers);
@@ -2971,7 +2982,7 @@ generate_v2_networkstatus_opinion(void)
});
if (tor_snprintf(outp, endp-outp, "directory-signature %s\n",
- get_options()->Nickname)<0) {
+ options->Nickname)<0) {
log_warn(LD_BUG, "Unable to write signature line.");
goto done;
}
@@ -3079,7 +3090,7 @@ dirserv_get_networkstatus_v2(smartlist_t *result,
const char *key)
{
cached_dir_t *cached;
- smartlist_t *fingerprints = smartlist_create();
+ smartlist_t *fingerprints = smartlist_new();
tor_assert(result);
if (!cached_v2_networkstatus)
@@ -3200,7 +3211,7 @@ dirserv_get_routerdescs(smartlist_t *descs_out, const char *key,
if (ri)
smartlist_add(descs_out, (void*) &(ri->cache_info));
} else if (!strcmpstart(key, "/tor/server/d/")) {
- smartlist_t *digests = smartlist_create();
+ smartlist_t *digests = smartlist_new();
key += strlen("/tor/server/d/");
dir_split_resource_into_fingerprints(key, digests, NULL,
DSR_HEX|DSR_SORT_UNIQ);
@@ -3213,7 +3224,7 @@ dirserv_get_routerdescs(smartlist_t *descs_out, const char *key,
SMARTLIST_FOREACH(digests, char *, d, tor_free(d));
smartlist_free(digests);
} else if (!strcmpstart(key, "/tor/server/fp/")) {
- smartlist_t *digests = smartlist_create();
+ smartlist_t *digests = smartlist_new();
time_t cutoff = time(NULL) - ROUTER_MAX_AGE_TO_PUBLISH;
key += strlen("/tor/server/fp/");
dir_split_resource_into_fingerprints(key, digests, NULL,
diff --git a/src/or/dirserv.h b/src/or/dirserv.h
index d3fd90ceb..6a86b944e 100644
--- a/src/or/dirserv.h
+++ b/src/or/dirserv.h
@@ -54,7 +54,7 @@
int connection_dirserv_flushed_some(dir_connection_t *conn);
-int dirserv_add_own_fingerprint(const char *nickname, crypto_pk_env_t *pk);
+int dirserv_add_own_fingerprint(const char *nickname, crypto_pk_t *pk);
int dirserv_load_fingerprint_file(void);
void dirserv_free_fingerprint_list(void);
const char *dirserv_get_nickname_by_digest(const char *digest);
@@ -69,7 +69,7 @@ void dirserv_set_router_is_running(routerinfo_t *router, time_t now);
int list_server_status_v1(smartlist_t *routers, char **router_status_out,
int for_controller);
int dirserv_dump_directory_to_string(char **dir_out,
- crypto_pk_env_t *private_key);
+ crypto_pk_t *private_key);
int directory_fetches_from_authorities(const or_options_t *options);
int directory_fetches_dir_info_early(const or_options_t *options);
diff --git a/src/or/dirvote.c b/src/or/dirvote.c
index bf34c62af..cddb65824 100644
--- a/src/or/dirvote.c
+++ b/src/or/dirvote.c
@@ -35,10 +35,13 @@ typedef struct pending_consensus_t {
static int dirvote_add_signatures_to_all_pending_consensuses(
const char *detached_signatures_body,
+ const char *source,
const char **msg_out);
static int dirvote_add_signatures_to_pending_consensus(
pending_consensus_t *pc,
ns_detached_signatures_t *sigs,
+ const char *source,
+ int severity,
const char **msg_out);
static char *list_v3_auth_ids(void);
static void dirvote_fetch_missing_votes(void);
@@ -50,7 +53,7 @@ static int dirvote_publish_consensus(void);
static char *make_consensus_method_list(int low, int high, const char *sep);
/** The highest consensus method that we currently support. */
-#define MAX_SUPPORTED_CONSENSUS_METHOD 11
+#define MAX_SUPPORTED_CONSENSUS_METHOD 12
/** Lowest consensus method that contains a 'directory-footer' marker */
#define MIN_METHOD_FOR_FOOTER 9
@@ -64,6 +67,10 @@ static char *make_consensus_method_list(int low, int high, const char *sep);
/** Lowest consensus method that generates microdescriptors */
#define MIN_METHOD_FOR_MICRODESC 8
+/** Lowest consensus method that ensures a majority of authorities voted
+ * for a param. */
+#define MIN_METHOD_FOR_MAJORITY_PARAMS 12
+
/* =====
* Voting
* =====*/
@@ -75,7 +82,7 @@ static char *make_consensus_method_list(int low, int high, const char *sep);
* <b>v3_ns</b>, signed with our v3 signing key <b>private_signing_key</b>.
* For v3 authorities. */
char *
-format_networkstatus_vote(crypto_pk_env_t *private_signing_key,
+format_networkstatus_vote(crypto_pk_t *private_signing_key,
networkstatus_t *v3_ns)
{
size_t len;
@@ -465,7 +472,7 @@ compute_routerstatus_consensus(smartlist_t *votes, int consensus_method,
if (consensus_method >= MIN_METHOD_FOR_MICRODESC &&
microdesc_digest256_out) {
- smartlist_t *digests = smartlist_create();
+ smartlist_t *digests = smartlist_new();
const char *best_microdesc_digest;
SMARTLIST_FOREACH_BEGIN(votes, vote_routerstatus_t *, rs) {
char d[DIGEST256_LEN];
@@ -493,15 +500,15 @@ static void
hash_list_members(char *digest_out, size_t len_out,
smartlist_t *lst, digest_algorithm_t alg)
{
- crypto_digest_env_t *d;
+ crypto_digest_t *d;
if (alg == DIGEST_SHA1)
- d = crypto_new_digest_env();
+ d = crypto_digest_new();
else
- d = crypto_new_digest256_env(alg);
+ d = crypto_digest256_new(alg);
SMARTLIST_FOREACH(lst, const char *, cp,
crypto_digest_add_bytes(d, cp, strlen(cp)));
crypto_digest_get_digest(d, digest_out, len_out);
- crypto_free_digest_env(d);
+ crypto_digest_free(d);
}
/** Sorting helper: compare two strings based on their values as base-ten
@@ -529,9 +536,9 @@ _cmp_int_strings(const void **_a, const void **_b)
static int
compute_consensus_method(smartlist_t *votes)
{
- smartlist_t *all_methods = smartlist_create();
- smartlist_t *acceptable_methods = smartlist_create();
- smartlist_t *tmp = smartlist_create();
+ smartlist_t *all_methods = smartlist_new();
+ smartlist_t *acceptable_methods = smartlist_new();
+ smartlist_t *tmp = smartlist_new();
int min = (smartlist_len(votes) * 2) / 3;
int n_ok;
int result;
@@ -574,15 +581,13 @@ make_consensus_method_list(int low, int high, const char *separator)
{
char *list;
- char b[32];
int i;
smartlist_t *lst;
- lst = smartlist_create();
+ lst = smartlist_new();
for (i = low; i <= high; ++i) {
if (!consensus_method_is_supported(i))
continue;
- tor_snprintf(b, sizeof(b), "%d", i);
- smartlist_add(lst, tor_strdup(b));
+ smartlist_add_asprintf(lst, "%d", i);
}
list = smartlist_join_strings(lst, separator, 0, NULL);
tor_assert(list);
@@ -599,7 +604,7 @@ static char *
compute_consensus_versions_list(smartlist_t *lst, int n_versioning)
{
int min = n_versioning / 2;
- smartlist_t *good = smartlist_create();
+ smartlist_t *good = smartlist_new();
char *result;
sort_version_list(lst, 0);
get_frequent_members(good, lst, min);
@@ -608,11 +613,16 @@ compute_consensus_versions_list(smartlist_t *lst, int n_versioning)
return result;
}
+/** Minimum number of directory authorities voting for a parameter to
+ * include it in the consensus, if consensus method 12 or later is to be
+ * used. See proposal 178 for details. */
+#define MIN_VOTES_FOR_PARAM 3
+
/** Helper: given a list of valid networkstatus_t, return a new string
* containing the contents of the consensus network parameter set.
*/
/* private */ char *
-dirvote_compute_params(smartlist_t *votes)
+dirvote_compute_params(smartlist_t *votes, int method, int total_authorities)
{
int i;
int32_t *vals;
@@ -624,7 +634,7 @@ dirvote_compute_params(smartlist_t *votes)
const int n_votes = smartlist_len(votes);
smartlist_t *output;
- smartlist_t *param_list = smartlist_create();
+ smartlist_t *param_list = smartlist_new();
/* We require that the parameter lists in the votes are well-formed: that
is, that their keywords are unique and sorted, and that their values are
@@ -652,7 +662,7 @@ dirvote_compute_params(smartlist_t *votes)
tor_assert(eq);
cur_param_len = (int)(eq+1 - cur_param);
- output = smartlist_create();
+ output = smartlist_new();
SMARTLIST_FOREACH_BEGIN(param_list, const char *, param) {
const char *next_param;
@@ -669,11 +679,17 @@ dirvote_compute_params(smartlist_t *votes)
next_param = smartlist_get(param_list, param_sl_idx+1);
if (!next_param || strncmp(next_param, param, cur_param_len)) {
/* We've reached the end of a series. */
- int32_t median = median_int32(vals, i);
- char *out_string = tor_malloc(64+cur_param_len);
- memcpy(out_string, param, cur_param_len);
- tor_snprintf(out_string+cur_param_len,64, "%ld", (long)median);
- smartlist_add(output, out_string);
+ /* Make sure enough authorities voted on this param, unless the
+ * the consensus method we use is too old for that. */
+ if (method < MIN_METHOD_FOR_MAJORITY_PARAMS ||
+ i > total_authorities/2 ||
+ i >= MIN_VOTES_FOR_PARAM) {
+ int32_t median = median_int32(vals, i);
+ char *out_string = tor_malloc(64+cur_param_len);
+ memcpy(out_string, param, cur_param_len);
+ tor_snprintf(out_string+cur_param_len,64, "%ld", (long)median);
+ smartlist_add(output, out_string);
+ }
i = 0;
if (next_param) {
@@ -792,8 +808,6 @@ networkstatus_compute_bw_weights_v10(smartlist_t *chunks, int64_t G,
int64_t Wmg = -1, Wme = -1, Wmd = -1;
int64_t Wed = -1, Wee = -1;
const char *casename;
- char buf[512];
- int r;
if (G <= 0 || M <= 0 || E <= 0 || D <= 0) {
log_warn(LD_DIR, "Consensus with empty bandwidth: "
@@ -1001,7 +1015,7 @@ networkstatus_compute_bw_weights_v10(smartlist_t *chunks, int64_t G,
*
* NOTE: This list is sorted.
*/
- r = tor_snprintf(buf, sizeof(buf),
+ smartlist_add_asprintf(chunks,
"bandwidth-weights Wbd=%d Wbe=%d Wbg=%d Wbm=%d "
"Wdb=%d "
"Web=%d Wed=%d Wee=%d Weg=%d Wem=%d "
@@ -1012,13 +1026,6 @@ networkstatus_compute_bw_weights_v10(smartlist_t *chunks, int64_t G,
(int)weight_scale, (int)Wed, (int)Wee, (int)Wed, (int)Wee,
(int)weight_scale, (int)Wgd, (int)Wgg, (int)Wgg,
(int)weight_scale, (int)Wmd, (int)Wme, (int)Wmg, (int)weight_scale);
- if (r<0) {
- log_warn(LD_BUG,
- "Not enough space in buffer for bandwidth-weights line.");
- *buf = '\0';
- return 0;
- }
- smartlist_add(chunks, tor_strdup(buf));
log_notice(LD_CIRC, "Computed bandwidth weights for %s with v10: "
"G="I64_FORMAT" M="I64_FORMAT" E="I64_FORMAT" D="I64_FORMAT
@@ -1042,8 +1049,6 @@ networkstatus_compute_bw_weights_v9(smartlist_t *chunks, int64_t G, int64_t M,
int64_t Wmg = -1, Wme = -1, Wmd = -1;
int64_t Wed = -1, Wee = -1;
const char *casename;
- char buf[512];
- int r;
if (G <= 0 || M <= 0 || E <= 0 || D <= 0) {
log_warn(LD_DIR, "Consensus with empty bandwidth: "
@@ -1305,7 +1310,7 @@ networkstatus_compute_bw_weights_v9(smartlist_t *chunks, int64_t G, int64_t M,
*
* NOTE: This list is sorted.
*/
- r = tor_snprintf(buf, sizeof(buf),
+ smartlist_add_asprintf(chunks,
"Wbd=%d Wbe=%d Wbg=%d Wbm=%d "
"Wdb=%d "
"Web=%d Wed=%d Wee=%d Weg=%d Wem=%d "
@@ -1316,12 +1321,7 @@ networkstatus_compute_bw_weights_v9(smartlist_t *chunks, int64_t G, int64_t M,
(int)weight_scale, (int)Wed, (int)Wee, (int)Wed, (int)Wee,
(int)weight_scale, (int)Wgd, (int)Wgg, (int)Wgg,
(int)weight_scale, (int)Wmd, (int)Wme, (int)Wmg, (int)weight_scale);
- if (r<0) {
- log_warn(LD_BUG,
- "Not enough space in buffer for bandwidth-weights line.");
- *buf = '\0';
- }
- smartlist_add(chunks, tor_strdup(buf));
+
log_notice(LD_CIRC, "Computed bandwidth weights for %s with v9: "
"G="I64_FORMAT" M="I64_FORMAT" E="I64_FORMAT" D="I64_FORMAT
" T="I64_FORMAT,
@@ -1341,10 +1341,10 @@ networkstatus_compute_bw_weights_v9(smartlist_t *chunks, int64_t G, int64_t M,
char *
networkstatus_compute_consensus(smartlist_t *votes,
int total_authorities,
- crypto_pk_env_t *identity_key,
- crypto_pk_env_t *signing_key,
+ crypto_pk_t *identity_key,
+ crypto_pk_t *signing_key,
const char *legacy_id_key_digest,
- crypto_pk_env_t *legacy_signing_key,
+ crypto_pk_t *legacy_signing_key,
consensus_flavor_t flavor)
{
smartlist_t *chunks;
@@ -1369,7 +1369,7 @@ networkstatus_compute_consensus(smartlist_t *votes,
log_warn(LD_DIR, "Can't compute a consensus from no votes.");
return NULL;
}
- flags = smartlist_create();
+ flags = smartlist_new();
consensus_method = compute_consensus_method(votes);
if (consensus_method_is_supported(consensus_method)) {
@@ -1392,8 +1392,8 @@ networkstatus_compute_consensus(smartlist_t *votes,
int *votesec_list = tor_malloc(n_votes * sizeof(int));
int *distsec_list = tor_malloc(n_votes * sizeof(int));
int n_versioning_clients = 0, n_versioning_servers = 0;
- smartlist_t *combined_client_versions = smartlist_create();
- smartlist_t *combined_server_versions = smartlist_create();
+ smartlist_t *combined_client_versions = smartlist_new();
+ smartlist_t *combined_server_versions = smartlist_new();
SMARTLIST_FOREACH_BEGIN(votes, networkstatus_t *, v) {
tor_assert(v->type == NS_TYPE_VOTE);
@@ -1403,7 +1403,7 @@ networkstatus_compute_consensus(smartlist_t *votes,
votesec_list[v_sl_idx] = v->vote_seconds;
distsec_list[v_sl_idx] = v->dist_seconds;
if (v->client_versions) {
- smartlist_t *cv = smartlist_create();
+ smartlist_t *cv = smartlist_new();
++n_versioning_clients;
smartlist_split_string(cv, v->client_versions, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
@@ -1412,7 +1412,7 @@ networkstatus_compute_consensus(smartlist_t *votes,
smartlist_free(cv); /* elements get freed later. */
}
if (v->server_versions) {
- smartlist_t *sv = smartlist_create();
+ smartlist_t *sv = smartlist_new();
++n_versioning_servers;
smartlist_split_string(sv, v->server_versions, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
@@ -1454,10 +1454,9 @@ networkstatus_compute_consensus(smartlist_t *votes,
tor_free(distsec_list);
}
- chunks = smartlist_create();
+ chunks = smartlist_new();
{
- char *buf=NULL;
char va_buf[ISO_TIME_LEN+1], fu_buf[ISO_TIME_LEN+1],
vu_buf[ISO_TIME_LEN+1];
char *flaglist;
@@ -1466,20 +1465,17 @@ networkstatus_compute_consensus(smartlist_t *votes,
format_iso_time(vu_buf, valid_until);
flaglist = smartlist_join_strings(flags, " ", 0, NULL);
- tor_asprintf(&buf, "network-status-version 3%s%s\n"
+ smartlist_add_asprintf(chunks, "network-status-version 3%s%s\n"
"vote-status consensus\n",
flavor == FLAV_NS ? "" : " ",
flavor == FLAV_NS ? "" : flavor_name);
- smartlist_add(chunks, buf);
-
if (consensus_method >= 2) {
- tor_asprintf(&buf, "consensus-method %d\n",
+ smartlist_add_asprintf(chunks, "consensus-method %d\n",
consensus_method);
- smartlist_add(chunks, buf);
}
- tor_asprintf(&buf,
+ smartlist_add_asprintf(chunks,
"valid-after %s\n"
"fresh-until %s\n"
"valid-until %s\n"
@@ -1490,13 +1486,13 @@ networkstatus_compute_consensus(smartlist_t *votes,
va_buf, fu_buf, vu_buf,
vote_seconds, dist_seconds,
client_versions, server_versions, flaglist);
- smartlist_add(chunks, buf);
tor_free(flaglist);
}
if (consensus_method >= MIN_METHOD_FOR_PARAMS) {
- params = dirvote_compute_params(votes);
+ params = dirvote_compute_params(votes, consensus_method,
+ total_authorities);
if (params) {
smartlist_add(chunks, tor_strdup("params "));
smartlist_add(chunks, params);
@@ -1508,7 +1504,7 @@ networkstatus_compute_consensus(smartlist_t *votes,
smartlist_sort(votes, _compare_votes_by_authority_id);
/* Add the authority sections. */
{
- smartlist_t *dir_sources = smartlist_create();
+ smartlist_t *dir_sources = smartlist_new();
SMARTLIST_FOREACH_BEGIN(votes, networkstatus_t *, v) {
dir_src_ent_t *e = tor_malloc_zero(sizeof(dir_src_ent_t));
e->v = v;
@@ -1531,7 +1527,6 @@ networkstatus_compute_consensus(smartlist_t *votes,
char votedigest[HEX_DIGEST_LEN+1];
networkstatus_t *v = e->v;
networkstatus_voter_info_t *voter = get_voter(v);
- char *buf = NULL;
if (e->is_legacy)
tor_assert(consensus_method >= 2);
@@ -1540,20 +1535,18 @@ networkstatus_compute_consensus(smartlist_t *votes,
base16_encode(votedigest, sizeof(votedigest), voter->vote_digest,
DIGEST_LEN);
- tor_asprintf(&buf,
+ smartlist_add_asprintf(chunks,
"dir-source %s%s %s %s %s %d %d\n",
voter->nickname, e->is_legacy ? "-legacy" : "",
fingerprint, voter->address, fmt_addr32(voter->addr),
voter->dir_port,
voter->or_port);
- smartlist_add(chunks, buf);
if (! e->is_legacy) {
- tor_asprintf(&buf,
+ smartlist_add_asprintf(chunks,
"contact %s\n"
"vote-digest %s\n",
voter->contact,
votedigest);
- smartlist_add(chunks, buf);
}
} SMARTLIST_FOREACH_END(e);
SMARTLIST_FOREACH(dir_sources, dir_src_ent_t *, e, tor_free(e));
@@ -1567,10 +1560,10 @@ networkstatus_compute_consensus(smartlist_t *votes,
int *flag_counts; /* The number of voters that list flag[j] for the
* currently considered router. */
int i;
- smartlist_t *matching_descs = smartlist_create();
- smartlist_t *chosen_flags = smartlist_create();
- smartlist_t *versions = smartlist_create();
- smartlist_t *exitsummaries = smartlist_create();
+ smartlist_t *matching_descs = smartlist_new();
+ smartlist_t *chosen_flags = smartlist_new();
+ smartlist_t *versions = smartlist_new();
+ smartlist_t *exitsummaries = smartlist_new();
uint32_t *bandwidths = tor_malloc(sizeof(uint32_t) * smartlist_len(votes));
uint32_t *measured_bws = tor_malloc(sizeof(uint32_t) *
smartlist_len(votes));
@@ -1690,7 +1683,6 @@ networkstatus_compute_consensus(smartlist_t *votes,
int naming_conflict = 0;
int n_listing = 0;
int i;
- char *buf=NULL;
char microdesc_digest[DIGEST256_LEN];
/* Of the next-to-be-considered digest in each voter, which is first? */
@@ -1958,10 +1950,9 @@ networkstatus_compute_consensus(smartlist_t *votes,
/* Now an m line, if applicable. */
if (flavor == FLAV_MICRODESC &&
!tor_digest256_is_zero(microdesc_digest)) {
- char m[BASE64_DIGEST256_LEN+1], *cp;
+ char m[BASE64_DIGEST256_LEN+1];
digest256_to_base64(m, microdesc_digest);
- tor_asprintf(&cp, "m %s\n", m);
- smartlist_add(chunks, cp);
+ smartlist_add_asprintf(chunks, "m %s\n", m);
}
/* Next line is all flags. The "\n" is missing. */
smartlist_add(chunks,
@@ -1974,15 +1965,12 @@ networkstatus_compute_consensus(smartlist_t *votes,
smartlist_add(chunks, tor_strdup("\n"));
/* Now the weight line. */
if (rs_out.has_bandwidth) {
- char *cp=NULL;
- tor_asprintf(&cp, "w Bandwidth=%d\n", rs_out.bandwidth);
- smartlist_add(chunks, cp);
+ smartlist_add_asprintf(chunks, "w Bandwidth=%d\n", rs_out.bandwidth);
}
/* Now the exitpolicy summary line. */
if (rs_out.has_exitsummary && flavor == FLAV_NS) {
- tor_asprintf(&buf, "p %s\n", rs_out.exitsummary);
- smartlist_add(chunks, buf);
+ smartlist_add_asprintf(chunks, "p %s\n", rs_out.exitsummary);
}
/* And the loop is over and we move on to the next router */
@@ -2064,7 +2052,6 @@ networkstatus_compute_consensus(smartlist_t *votes,
size_t digest_len =
flavor == FLAV_NS ? DIGEST_LEN : DIGEST256_LEN;
const char *algname = crypto_digest_algorithm_get_name(digest_alg);
- char *buf = NULL;
char sigbuf[4096];
smartlist_add(chunks, tor_strdup("directory-signature "));
@@ -2078,14 +2065,13 @@ networkstatus_compute_consensus(smartlist_t *votes,
/* add the junk that will go at the end of the line. */
if (flavor == FLAV_NS) {
- tor_asprintf(&buf, "%s %s\n", fingerprint,
+ smartlist_add_asprintf(chunks, "%s %s\n", fingerprint,
signing_key_fingerprint);
} else {
- tor_asprintf(&buf, "%s %s %s\n",
+ smartlist_add_asprintf(chunks, "%s %s %s\n",
algname, fingerprint,
signing_key_fingerprint);
}
- smartlist_add(chunks, buf);
/* And the signature. */
sigbuf[0] = '\0';
if (router_append_dirobj_signature(sigbuf, sizeof(sigbuf),
@@ -2103,14 +2089,13 @@ networkstatus_compute_consensus(smartlist_t *votes,
crypto_pk_get_fingerprint(legacy_signing_key,
signing_key_fingerprint, 0);
if (flavor == FLAV_NS) {
- tor_asprintf(&buf, "%s %s\n", fingerprint,
+ smartlist_add_asprintf(chunks, "%s %s\n", fingerprint,
signing_key_fingerprint);
} else {
- tor_asprintf(&buf, "%s %s %s\n",
+ smartlist_add_asprintf(chunks, "%s %s %s\n",
algname, fingerprint,
signing_key_fingerprint);
}
- smartlist_add(chunks, buf);
sigbuf[0] = '\0';
if (router_append_dirobj_signature(sigbuf, sizeof(sigbuf),
digest, digest_len,
@@ -2161,6 +2146,8 @@ networkstatus_compute_consensus(smartlist_t *votes,
int
networkstatus_add_detached_signatures(networkstatus_t *target,
ns_detached_signatures_t *sigs,
+ const char *source,
+ int severity,
const char **msg_out)
{
int r = 0;
@@ -2263,6 +2250,8 @@ networkstatus_add_detached_signatures(networkstatus_t *target,
if (sig->good_signature || !old_sig || old_sig->bad_signature) {
log_info(LD_DIR, "Adding signature from %s with %s", voter_identity,
algorithm);
+ log(severity, LD_DIR, "Added a signature for %s from %s.",
+ target_voter->nickname, source);
++r;
if (old_sig) {
smartlist_remove(target_voter->sigs, old_sig);
@@ -2299,7 +2288,7 @@ networkstatus_format_signatures(networkstatus_t *consensus,
else
keyword = "directory-signature";
- elements = smartlist_create();
+ elements = smartlist_new();
SMARTLIST_FOREACH_BEGIN(consensus->voters, networkstatus_voter_info_t *, v) {
SMARTLIST_FOREACH_BEGIN(v->sigs, document_signature_t *, sig) {
@@ -2311,20 +2300,19 @@ networkstatus_format_signatures(networkstatus_t *consensus,
base16_encode(sk, sizeof(sk), sig->signing_key_digest, DIGEST_LEN);
base16_encode(id, sizeof(id), sig->identity_digest, DIGEST_LEN);
if (flavor == FLAV_NS) {
- tor_snprintf(buf, sizeof(buf),
+ smartlist_add_asprintf(elements,
"%s %s %s\n-----BEGIN SIGNATURE-----\n",
keyword, id, sk);
} else {
const char *digest_name =
crypto_digest_algorithm_get_name(sig->alg);
- tor_snprintf(buf, sizeof(buf),
+ smartlist_add_asprintf(elements,
"%s%s%s %s %s %s\n-----BEGIN SIGNATURE-----\n",
keyword,
for_detached_signatures ? " " : "",
for_detached_signatures ? flavor_name : "",
digest_name, id, sk);
}
- smartlist_add(elements, tor_strdup(buf));
base64_encode(buf, sizeof(buf), sig->signature, sig->signature_len);
strlcat(buf, "-----END SIGNATURE-----\n", sizeof(buf));
smartlist_add(elements, tor_strdup(buf));
@@ -2347,7 +2335,6 @@ char *
networkstatus_get_detached_signatures(smartlist_t *consensuses)
{
smartlist_t *elements;
- char buf[4096];
char *result = NULL, *sigs = NULL;
networkstatus_t *consensus_ns = NULL;
tor_assert(consensuses);
@@ -2363,7 +2350,7 @@ networkstatus_get_detached_signatures(smartlist_t *consensuses)
return NULL;
}
- elements = smartlist_create();
+ elements = smartlist_new();
{
char va_buf[ISO_TIME_LEN+1], fu_buf[ISO_TIME_LEN+1],
@@ -2376,12 +2363,11 @@ networkstatus_get_detached_signatures(smartlist_t *consensuses)
format_iso_time(fu_buf, consensus_ns->fresh_until);
format_iso_time(vu_buf, consensus_ns->valid_until);
- tor_snprintf(buf, sizeof(buf),
+ smartlist_add_asprintf(elements,
"consensus-digest %s\n"
"valid-after %s\n"
"fresh-until %s\n"
"valid-until %s\n", d, va_buf, fu_buf, vu_buf);
- smartlist_add(elements, tor_strdup(buf));
}
/* Get all the digests for the non-FLAV_NS consensuses */
@@ -2400,9 +2386,8 @@ networkstatus_get_detached_signatures(smartlist_t *consensuses)
if (tor_mem_is_zero(ns->digests.d[alg], DIGEST256_LEN))
continue;
base16_encode(d, sizeof(d), ns->digests.d[alg], DIGEST256_LEN);
- tor_snprintf(buf, sizeof(buf), "additional-digest %s %s %s\n",
+ smartlist_add_asprintf(elements, "additional-digest %s %s %s\n",
flavor_name, alg_name, d);
- smartlist_add(elements, tor_strdup(buf));
}
} SMARTLIST_FOREACH_END(ns);
@@ -2441,7 +2426,7 @@ get_detached_signatures_from_pending_consensuses(pending_consensus_t *pending,
{
int flav;
char *signatures;
- smartlist_t *c = smartlist_create();
+ smartlist_t *c = smartlist_new();
for (flav = 0; flav < n_flavors; ++flav) {
if (pending[flav].consensus)
smartlist_add(c, pending[flav].consensus);
@@ -2709,7 +2694,7 @@ static smartlist_t *pending_consensus_signature_list = NULL;
static int
dirvote_perform_vote(void)
{
- crypto_pk_env_t *key = get_my_v3_authority_signing_key();
+ crypto_pk_t *key = get_my_v3_authority_signing_key();
authority_cert_t *cert = get_my_v3_authority_cert();
networkstatus_t *ns;
char *contents;
@@ -2757,7 +2742,7 @@ dirvote_perform_vote(void)
static void
dirvote_fetch_missing_votes(void)
{
- smartlist_t *missing_fps = smartlist_create();
+ smartlist_t *missing_fps = smartlist_new();
char *resource;
SMARTLIST_FOREACH(router_get_trusted_dir_servers(),
@@ -2778,8 +2763,13 @@ dirvote_fetch_missing_votes(void)
smartlist_free(missing_fps);
return;
}
- log_notice(LOG_NOTICE, "We're missing votes from %d authorities. Asking "
- "every other authority for a copy.", smartlist_len(missing_fps));
+ {
+ char *tmp = smartlist_join_strings(missing_fps, " ", 0, NULL);
+ log_notice(LOG_NOTICE, "We're missing votes from %d authorities (%s). "
+ "Asking every other authority for a copy.",
+ smartlist_len(missing_fps), tmp);
+ tor_free(tmp);
+ }
resource = smartlist_join_strings(missing_fps, "+", 0, NULL);
directory_get_from_all_authorities(DIR_PURPOSE_FETCH_STATUS_VOTE,
0, resource);
@@ -2831,9 +2821,9 @@ static void
dirvote_clear_votes(int all_votes)
{
if (!previous_vote_list)
- previous_vote_list = smartlist_create();
+ previous_vote_list = smartlist_new();
if (!pending_vote_list)
- pending_vote_list = smartlist_create();
+ pending_vote_list = smartlist_new();
/* All "previous" votes are now junk. */
SMARTLIST_FOREACH(previous_vote_list, pending_vote_t *, v, {
@@ -2872,7 +2862,7 @@ dirvote_clear_votes(int all_votes)
static char *
list_v3_auth_ids(void)
{
- smartlist_t *known_v3_keys = smartlist_create();
+ smartlist_t *known_v3_keys = smartlist_new();
char *keys;
SMARTLIST_FOREACH(router_get_trusted_dir_servers(),
trusted_dir_server_t *, ds,
@@ -2905,7 +2895,7 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out)
tor_assert(status_out);
if (!pending_vote_list)
- pending_vote_list = smartlist_create();
+ pending_vote_list = smartlist_new();
*status_out = 0;
*msg_out = NULL;
@@ -3069,7 +3059,7 @@ dirvote_compute_consensuses(void)
memset(pending, 0, sizeof(pending));
if (!pending_vote_list)
- pending_vote_list = smartlist_create();
+ pending_vote_list = smartlist_new();
n_voters = get_n_authorities(V3_DIRINFO);
n_votes = smartlist_len(pending_vote_list);
@@ -3097,8 +3087,8 @@ dirvote_compute_consensuses(void)
goto err;
}
- votes = smartlist_create();
- votestrings = smartlist_create();
+ votes = smartlist_new();
+ votestrings = smartlist_new();
SMARTLIST_FOREACH(pending_vote_list, pending_vote_t *, v,
{
sized_chunk_t *c = tor_malloc(sizeof(sized_chunk_t));
@@ -3117,7 +3107,7 @@ dirvote_compute_consensuses(void)
{
char legacy_dbuf[DIGEST_LEN];
- crypto_pk_env_t *legacy_sign=NULL;
+ crypto_pk_t *legacy_sign=NULL;
char *legacy_id_digest = NULL;
int n_generated = 0;
if (get_options()->V3AuthUseLegacyKey) {
@@ -3191,7 +3181,8 @@ dirvote_compute_consensuses(void)
SMARTLIST_FOREACH(pending_consensus_signature_list, char *, sig,
{
const char *msg = NULL;
- int r = dirvote_add_signatures_to_all_pending_consensuses(sig, &msg);
+ int r = dirvote_add_signatures_to_all_pending_consensuses(sig,
+ "pending", &msg);
if (r >= 0)
n_sigs += r;
else
@@ -3233,6 +3224,8 @@ static int
dirvote_add_signatures_to_pending_consensus(
pending_consensus_t *pc,
ns_detached_signatures_t *sigs,
+ const char *source,
+ int severity,
const char **msg_out)
{
const char *flavor_name;
@@ -3251,7 +3244,8 @@ dirvote_add_signatures_to_pending_consensus(
log_info(LD_DIR, "Have %d signatures for adding to %s consensus.",
sig_list ? smartlist_len(sig_list) : 0, flavor_name);
}
- r = networkstatus_add_detached_signatures(pc->consensus, sigs, msg_out);
+ r = networkstatus_add_detached_signatures(pc->consensus, sigs,
+ source, severity, msg_out);
log_info(LD_DIR,"Added %d signatures to consensus.", r);
if (r >= 1) {
@@ -3300,6 +3294,7 @@ dirvote_add_signatures_to_pending_consensus(
static int
dirvote_add_signatures_to_all_pending_consensuses(
const char *detached_signatures_body,
+ const char *source,
const char **msg_out)
{
int r=0, i, n_added = 0, errors = 0;
@@ -3316,10 +3311,12 @@ dirvote_add_signatures_to_all_pending_consensuses(
for (i = 0; i < N_CONSENSUS_FLAVORS; ++i) {
int res;
+ int severity = i == FLAV_NS ? LOG_NOTICE : LOG_INFO;
pending_consensus_t *pc = &pending_consensuses[i];
if (!pc->consensus)
continue;
- res = dirvote_add_signatures_to_pending_consensus(pc, sigs, msg_out);
+ res = dirvote_add_signatures_to_pending_consensus(pc, sigs, source,
+ severity, msg_out);
if (res < 0)
errors++;
else
@@ -3366,12 +3363,12 @@ dirvote_add_signatures(const char *detached_signatures_body,
log_notice(LD_DIR, "Got a signature from %s. "
"Adding it to the pending consensus.", source);
return dirvote_add_signatures_to_all_pending_consensuses(
- detached_signatures_body, msg);
+ detached_signatures_body, source, msg);
} else {
log_notice(LD_DIR, "Got a signature from %s. "
"Queuing it for the next consensus.", source);
if (!pending_consensus_signature_list)
- pending_consensus_signature_list = smartlist_create();
+ pending_consensus_signature_list = smartlist_new();
smartlist_add(pending_consensus_signature_list,
tor_strdup(detached_signatures_body));
*msg = "Signature queued";
diff --git a/src/or/dirvote.h b/src/or/dirvote.h
index d19635173..9248d47dc 100644
--- a/src/or/dirvote.h
+++ b/src/or/dirvote.h
@@ -24,13 +24,15 @@ void dirvote_free_all(void);
/* vote manipulation */
char *networkstatus_compute_consensus(smartlist_t *votes,
int total_authorities,
- crypto_pk_env_t *identity_key,
- crypto_pk_env_t *signing_key,
+ crypto_pk_t *identity_key,
+ crypto_pk_t *signing_key,
const char *legacy_identity_key_digest,
- crypto_pk_env_t *legacy_signing_key,
+ crypto_pk_t *legacy_signing_key,
consensus_flavor_t flavor);
int networkstatus_add_detached_signatures(networkstatus_t *target,
ns_detached_signatures_t *sigs,
+ const char *source,
+ int severity,
const char **msg_out);
char *networkstatus_get_detached_signatures(smartlist_t *consensuses);
void ns_detached_signatures_free(ns_detached_signatures_t *s);
@@ -66,7 +68,7 @@ void set_routerstatus_from_routerinfo(routerstatus_t *rs,
int listbaddirs, int vote_on_hsdirs);
void router_clear_status_flags(routerinfo_t *ri);
networkstatus_t *
-dirserv_generate_networkstatus_vote_obj(crypto_pk_env_t *private_key,
+dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key,
authority_cert_t *cert);
microdesc_t *dirvote_create_microdescriptor(const routerinfo_t *ri);
@@ -82,9 +84,10 @@ document_signature_t *voter_get_sig_by_algorithm(
digest_algorithm_t alg);
#ifdef DIRVOTE_PRIVATE
-char *format_networkstatus_vote(crypto_pk_env_t *private_key,
+char *format_networkstatus_vote(crypto_pk_t *private_key,
networkstatus_t *v3_ns);
-char *dirvote_compute_params(smartlist_t *votes);
+char *dirvote_compute_params(smartlist_t *votes, int method,
+ int total_authorities);
#endif
#endif
diff --git a/src/or/dns.c b/src/or/dns.c
index 8ed953690..2b7d3e350 100644
--- a/src/or/dns.c
+++ b/src/or/dns.c
@@ -376,7 +376,7 @@ set_expiry(cached_resolve_t *resolve, time_t expires)
{
tor_assert(resolve && resolve->expire == 0);
if (!cached_resolve_pqueue)
- cached_resolve_pqueue = smartlist_create();
+ cached_resolve_pqueue = smartlist_new();
resolve->expire = expires;
smartlist_pqueue_add(cached_resolve_pqueue,
_compare_cached_resolves_by_expiry,
@@ -454,7 +454,7 @@ purge_expired_resolves(time_t now)
pend = resolve->pending_connections;
resolve->pending_connections = pend->next;
/* Connections should only be pending if they have no socket. */
- tor_assert(pend->conn->_base.s == -1);
+ tor_assert(!SOCKET_OK(pend->conn->_base.s));
pendconn = pend->conn;
connection_edge_end(pendconn, END_STREAM_REASON_TIMEOUT);
circuit_detach_stream(circuit_get_by_edge_conn(pendconn), pendconn);
@@ -681,7 +681,7 @@ dns_resolve_impl(edge_connection_t *exitconn, int is_resolve,
uint8_t is_reverse = 0;
int r;
assert_connection_ok(TO_CONN(exitconn), 0);
- tor_assert(exitconn->_base.s == -1);
+ tor_assert(!SOCKET_OK(exitconn->_base.s));
assert_cache_ok();
tor_assert(oncirc);
@@ -849,7 +849,7 @@ assert_all_pending_dns_resolves_ok(void)
pend;
pend = pend->next) {
assert_connection_ok(TO_CONN(pend->conn), 0);
- tor_assert(pend->conn->_base.s == -1);
+ tor_assert(!SOCKET_OK(pend->conn->_base.s));
tor_assert(!connection_in_array(TO_CONN(pend->conn)));
}
}
@@ -955,7 +955,7 @@ dns_cancel_pending_resolve(const char *address)
pend->conn->_base.state = EXIT_CONN_STATE_RESOLVEFAILED;
pendconn = pend->conn;
assert_connection_ok(TO_CONN(pendconn), 0);
- tor_assert(pendconn->_base.s == -1);
+ tor_assert(!SOCKET_OK(pendconn->_base.s));
if (!pendconn->_base.marked_for_close) {
connection_edge_end(pendconn, END_STREAM_REASON_RESOLVEFAILED);
}
@@ -1183,7 +1183,7 @@ configure_nameservers(int force)
int r;
options = get_options();
conf_fname = options->ServerDNSResolvConfFile;
-#ifndef MS_WINDOWS
+#ifndef _WIN32
if (!conf_fname)
conf_fname = "/etc/resolv.conf";
#endif
@@ -1251,7 +1251,7 @@ configure_nameservers(int force)
if (nameservers_configured)
evdns_base_resume(the_evdns_base);
}
-#ifdef MS_WINDOWS
+#ifdef _WIN32
else {
if (nameservers_configured) {
evdns_base_search_clear(the_evdns_base);
@@ -1395,6 +1395,10 @@ launch_resolve(edge_connection_t *exitconn)
int r;
int options = get_options()->ServerDNSSearchDomains ? 0
: DNS_QUERY_NO_SEARCH;
+
+ if (get_options()->DisableNetwork)
+ return -1;
+
/* What? Nameservers not configured? Sounds like a bug. */
if (!nameservers_configured) {
log_warn(LD_EXIT, "(Harmless.) Nameservers not configured, but resolve "
@@ -1485,7 +1489,7 @@ wildcard_increment_answer(const char *id)
++*ip;
if (*ip > 5 && n_wildcard_requests > 10) {
- if (!dns_wildcard_list) dns_wildcard_list = smartlist_create();
+ if (!dns_wildcard_list) dns_wildcard_list = smartlist_new();
if (!smartlist_string_isin(dns_wildcard_list, id)) {
log(dns_wildcard_notice_given ? LOG_INFO : LOG_NOTICE, LD_EXIT,
"Your DNS provider has given \"%s\" as an answer for %d different "
@@ -1507,7 +1511,7 @@ add_wildcarded_test_address(const char *address)
{
int n, n_test_addrs;
if (!dns_wildcarded_test_address_list)
- dns_wildcarded_test_address_list = smartlist_create();
+ dns_wildcarded_test_address_list = smartlist_new();
if (smartlist_string_isin_case(dns_wildcarded_test_address_list, address))
return;
@@ -1601,6 +1605,9 @@ launch_test_addresses(int fd, short event, void *args)
(void)event;
(void)args;
+ if (options->DisableNetwork)
+ return;
+
log_info(LD_EXIT, "Launching checks to see whether our nameservers like to "
"hijack *everything*.");
/* This situation is worse than the failure-hijacking situation. When this
diff --git a/src/or/eventdns.c b/src/or/eventdns.c
index 29e2d3afb..61a28361a 100644
--- a/src/or/eventdns.c
+++ b/src/or/eventdns.c
@@ -1,12 +1,18 @@
-/* The original version of this module was written by Adam Langley; for
- * a history of modifications, check out the subversion logs.
+/* READ THIS COMMENT BEFORE HACKING THIS FILE.
*
- * When editing this module, try to keep it re-mergeable by Adam. Don't
- * reformat the whitespace, add Tor dependencies, or so on.
+ * This eventdns.c copy has diverged a bit from Libevent's version, and it's
+ * no longer easy to resynchronize them. Once Tor requires Libevent 2.0, we
+ * will just dump this file and use Libevent's evdns code.
*
- * TODO:
- * - Replace all externally visible magic numbers with #defined constants.
- * - Write documentation for APIs of all external functions.
+ * Therefore, you probably shouldn't make any change here without making it to
+ * Libevent as well: it's not good for the implementation to diverge even
+ * more. Also, we can't shouldn't wantonly the API here (since Libevent APIs
+ * can't change in ways that break user behavior). Also, we shouldn't bother
+ * with cosmetic changes: the whole module is slated for demolition, so
+ * there's no point dusting the linebreaks or re-painting the parser.
+ *
+ * (We can't just drop the Libevent 2.0 evdns implementation in here instead,
+ * since it depends pretty heavily on parts of Libevent 2.0.)
*/
/* Async DNS Library
@@ -90,7 +96,7 @@
#include "eventdns.h"
-#ifdef WIN32
+#ifdef _WIN32
#include <windows.h>
#include <winsock2.h>
#include <iphlpapi.h>
@@ -104,7 +110,7 @@
#include <netinet/in6.h>
#endif
-#ifdef WIN32
+#ifdef _WIN32
typedef int socklen_t;
#endif
@@ -337,7 +343,7 @@ static void server_port_ready_callback(int fd, short events, void *arg);
static int strtoint(const char *const str);
-#ifdef WIN32
+#ifdef _WIN32
static int
last_error(int sock)
{
@@ -426,7 +432,7 @@ _evdns_log(int warn, const char *fmt, ...)
if (!evdns_log_fn)
return;
va_start(args,fmt);
-#ifdef WIN32
+#ifdef _WIN32
_vsnprintf(buf, sizeof(buf), fmt, args);
#else
vsnprintf(buf, sizeof(buf), fmt, args);
@@ -2292,7 +2298,7 @@ _evdns_nameserver_add_impl(const struct sockaddr *address,
ns->socket = tor_open_socket(address->sa_family, SOCK_DGRAM, 0);
if (ns->socket < 0) { err = 1; goto out1; }
-#ifdef WIN32
+#ifdef _WIN32
{
u_long nonblocking = 1;
ioctlsocket(ns->socket, FIONBIO, &nonblocking);
@@ -3095,7 +3101,7 @@ out1:
return err;
}
-#ifdef WIN32
+#ifdef _WIN32
/* Add multiple nameservers from a space-or-comma-separated list. */
static int
evdns_nameserver_ip_add_line(const char *ips) {
@@ -3303,7 +3309,7 @@ int
evdns_init(void)
{
int res = 0;
-#ifdef WIN32
+#ifdef _WIN32
evdns_config_windows_nameservers();
#else
res = evdns_resolv_conf_parse(DNS_OPTIONS_ALL, "/etc/resolv.conf");
diff --git a/src/or/eventdns.h b/src/or/eventdns.h
index 3ff8bba4b..1c130b2a1 100644
--- a/src/or/eventdns.h
+++ b/src/or/eventdns.h
@@ -273,7 +273,7 @@ int evdns_resolve_reverse(const struct in_addr *in, int flags, evdns_callback_ty
int evdns_resolve_reverse_ipv6(const struct in6_addr *in, int flags, evdns_callback_type callback, void *ptr);
int evdns_set_option(const char *option, const char *val, int flags);
int evdns_resolv_conf_parse(int flags, const char *);
-#ifdef MS_WINDOWS
+#ifdef _WIN32
int evdns_config_windows_nameservers(void);
#endif
void evdns_search_clear(void);
diff --git a/src/or/eventdns_tor.h b/src/or/eventdns_tor.h
index 6a178938b..c75cff2d1 100644
--- a/src/or/eventdns_tor.h
+++ b/src/or/eventdns_tor.h
@@ -9,16 +9,11 @@ typedef unsigned int uint;
#ifndef HAVE_U_CHAR
typedef unsigned char u_char;
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#define inline __inline
#endif
#include "torint.h"
-#if defined(MS_WINDOWS) && !defined(WIN32)
-/* How did _this_ happen? */
-#define WIN32
-#endif
-
/* These are for debugging possible memory leaks. */
#include "util.h"
#include "compat.h"
diff --git a/src/or/geoip.c b/src/or/geoip.c
index 73194ae9c..6d33c3965 100644
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@ -110,7 +110,7 @@ geoip_parse_entry(const char *line)
if (!geoip_countries)
init_geoip_countries();
if (!geoip_entries)
- geoip_entries = smartlist_create();
+ geoip_entries = smartlist_new();
while (TOR_ISSPACE(*line))
++line;
@@ -174,7 +174,7 @@ static void
init_geoip_countries(void)
{
geoip_country_t *geoip_unresolved;
- geoip_countries = smartlist_create();
+ geoip_countries = smartlist_new();
/* Add a geoip_country_t for requests that could not be resolved to a
* country as first element (index 0) to geoip_countries. */
geoip_unresolved = tor_malloc_zero(sizeof(geoip_country_t));
@@ -204,7 +204,7 @@ geoip_load_file(const char *filename, const or_options_t *options)
FILE *f;
const char *msg = "";
int severity = options_need_geoip_info(options, &msg) ? LOG_WARN : LOG_INFO;
- crypto_digest_env_t *geoip_digest_env = NULL;
+ crypto_digest_t *geoip_digest_env = NULL;
clear_geoip_db();
if (!(f = tor_fopen_cloexec(filename, "r"))) {
log_fn(severity, LD_GENERAL, "Failed to open GEOIP file %s. %s",
@@ -217,8 +217,8 @@ geoip_load_file(const char *filename, const or_options_t *options)
SMARTLIST_FOREACH(geoip_entries, geoip_entry_t *, e, tor_free(e));
smartlist_free(geoip_entries);
}
- geoip_entries = smartlist_create();
- geoip_digest_env = crypto_new_digest_env();
+ geoip_entries = smartlist_new();
+ geoip_digest_env = crypto_digest_new();
log_notice(LD_GENERAL, "Parsing GEOIP file %s.", filename);
while (!feof(f)) {
char buf[512];
@@ -240,7 +240,7 @@ geoip_load_file(const char *filename, const or_options_t *options)
/* Remember file digest so that we can include it in our extra-info
* descriptors. */
crypto_digest_get_digest(geoip_digest_env, geoip_digest, DIGEST_LEN);
- crypto_free_digest_env(geoip_digest_env);
+ crypto_digest_free(geoip_digest_env);
return 0;
}
@@ -714,7 +714,7 @@ geoip_get_dirreq_history(geoip_client_action_t action,
if (action != GEOIP_CLIENT_NETWORKSTATUS &&
action != GEOIP_CLIENT_NETWORKSTATUS_V2)
return NULL;
- dirreq_completed = smartlist_create();
+ dirreq_completed = smartlist_new();
for (ptr = HT_START(dirreqmap, &dirreq_map); ptr; ptr = next) {
ent = *ptr;
if (ent->action != action || ent->type != type) {
@@ -834,7 +834,7 @@ geoip_get_client_history(geoip_client_action_t action)
if (total < MIN_IPS_TO_NOTE_ANYTHING)
goto done;
/* Make a list of c_hist_t */
- entries = smartlist_create();
+ entries = smartlist_new();
for (i = 0; i < n_countries; ++i) {
unsigned c = counts[i];
const char *countrycode;
@@ -854,11 +854,9 @@ geoip_get_client_history(geoip_client_action_t action)
smartlist_sort(entries, _c_hist_compare);
/* Build the result. */
- chunks = smartlist_create();
+ chunks = smartlist_new();
SMARTLIST_FOREACH(entries, c_hist_t *, ch, {
- char *buf=NULL;
- tor_asprintf(&buf, "%s=%u", ch->country, ch->total);
- smartlist_add(chunks, buf);
+ smartlist_add_asprintf(chunks, "%s=%u", ch->country, ch->total);
});
result = smartlist_join_strings(chunks, ",", 0, NULL);
done:
@@ -890,7 +888,7 @@ geoip_get_request_history(geoip_client_action_t action)
if (!geoip_countries)
return NULL;
- entries = smartlist_create();
+ entries = smartlist_new();
SMARTLIST_FOREACH(geoip_countries, geoip_country_t *, c, {
uint32_t tot = 0;
c_hist_t *ent;
@@ -905,12 +903,10 @@ geoip_get_request_history(geoip_client_action_t action)
});
smartlist_sort(entries, _c_hist_compare);
- strings = smartlist_create();
+ strings = smartlist_new();
SMARTLIST_FOREACH(entries, c_hist_t *, ent, {
- char *buf = NULL;
- tor_asprintf(&buf, "%s=%u", ent->country, ent->total);
- smartlist_add(strings, buf);
- });
+ smartlist_add_asprintf(strings, "%s=%u", ent->country, ent->total);
+ });
result = smartlist_join_strings(strings, ",", 0, NULL);
SMARTLIST_FOREACH(strings, char *, cp, tor_free(cp));
SMARTLIST_FOREACH(entries, c_hist_t *, ent, tor_free(ent));
diff --git a/src/or/hibernate.c b/src/or/hibernate.c
index 6fd2b4f19..bdf407d3b 100644
--- a/src/or/hibernate.c
+++ b/src/or/hibernate.c
@@ -140,7 +140,7 @@ accounting_parse_options(const or_options_t *options, int validate_only)
return 0;
}
- items = smartlist_create();
+ items = smartlist_new();
smartlist_split_string(items, v, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK,0);
if (smartlist_len(items)<2) {
@@ -242,6 +242,14 @@ accounting_is_enabled(const or_options_t *options)
return 0;
}
+/** If accounting is enabled, return how long (in seconds) this
+ * interval lasts. */
+int
+accounting_get_interval_length(void)
+{
+ return (int)(interval_end_time - interval_start_time);
+}
+
/** Called from main.c to tell us that <b>seconds</b> seconds have
* passed, <b>n_read</b> bytes have been read, and <b>n_written</b>
* bytes have been written. */
@@ -503,8 +511,7 @@ static void
accounting_set_wakeup_time(void)
{
char digest[DIGEST_LEN];
- crypto_digest_env_t *d_env;
- int time_in_interval;
+ crypto_digest_t *d_env;
uint64_t time_to_exhaust_bw;
int time_to_consider;
@@ -521,11 +528,11 @@ accounting_set_wakeup_time(void)
crypto_pk_get_digest(get_server_identity_key(), digest);
- d_env = crypto_new_digest_env();
+ d_env = crypto_digest_new();
crypto_digest_add_bytes(d_env, buf, ISO_TIME_LEN);
crypto_digest_add_bytes(d_env, digest, DIGEST_LEN);
crypto_digest_get_digest(d_env, digest, DIGEST_LEN);
- crypto_free_digest_env(d_env);
+ crypto_digest_free(d_env);
} else {
crypto_rand(digest, DIGEST_LEN);
}
@@ -538,22 +545,21 @@ accounting_set_wakeup_time(void)
interval_wakeup_time = interval_start_time;
log_notice(LD_ACCT,
- "Configured hibernation. This interval begins at %s "
- "and ends at %s. We have no prior estimate for bandwidth, so "
+ "Configured hibernation. This interval begins at %s "
+ "and ends at %s. We have no prior estimate for bandwidth, so "
"we will start out awake and hibernate when we exhaust our quota.",
buf1, buf2);
return;
}
- time_in_interval = (int)(interval_end_time - interval_start_time);
-
time_to_exhaust_bw =
(get_options()->AccountingMax/expected_bandwidth_usage)*60;
if (time_to_exhaust_bw > INT_MAX) {
time_to_exhaust_bw = INT_MAX;
time_to_consider = 0;
} else {
- time_to_consider = time_in_interval - (int)time_to_exhaust_bw;
+ time_to_consider = accounting_get_interval_length() -
+ (int)time_to_exhaust_bw;
}
if (time_to_consider<=0) {
@@ -735,7 +741,6 @@ hibernate_soft_limit_reached(void)
static void
hibernate_begin(hibernate_state_t new_state, time_t now)
{
- connection_t *conn;
const or_options_t *options = get_options();
if (new_state == HIBERNATE_STATE_EXITING &&
@@ -756,15 +761,7 @@ hibernate_begin(hibernate_state_t new_state, time_t now)
}
/* close listeners. leave control listener(s). */
- while ((conn = connection_get_by_type(CONN_TYPE_OR_LISTENER)) ||
- (conn = connection_get_by_type(CONN_TYPE_AP_LISTENER)) ||
- (conn = connection_get_by_type(CONN_TYPE_AP_TRANS_LISTENER)) ||
- (conn = connection_get_by_type(CONN_TYPE_AP_DNS_LISTENER)) ||
- (conn = connection_get_by_type(CONN_TYPE_AP_NATD_LISTENER)) ||
- (conn = connection_get_by_type(CONN_TYPE_DIR_LISTENER))) {
- log_info(LD_NET,"Closing listener type %d", conn->type);
- connection_mark_for_close(conn);
- }
+ connection_mark_all_noncontrol_listeners();
/* XXX kill intro point circs */
/* XXX upload rendezvous service descriptors with no intro points */
@@ -979,8 +976,7 @@ getinfo_helper_accounting(control_connection_t *conn,
else
*answer = tor_strdup("awake");
} else if (!strcmp(question, "accounting/bytes")) {
- *answer = tor_malloc(32);
- tor_snprintf(*answer, 32, U64_FORMAT" "U64_FORMAT,
+ tor_asprintf(answer, U64_FORMAT" "U64_FORMAT,
U64_PRINTF_ARG(n_bytes_read_in_interval),
U64_PRINTF_ARG(n_bytes_written_in_interval));
} else if (!strcmp(question, "accounting/bytes-left")) {
@@ -990,8 +986,7 @@ getinfo_helper_accounting(control_connection_t *conn,
read_left = limit - n_bytes_read_in_interval;
if (n_bytes_written_in_interval < limit)
write_left = limit - n_bytes_written_in_interval;
- *answer = tor_malloc(64);
- tor_snprintf(*answer, 64, U64_FORMAT" "U64_FORMAT,
+ tor_asprintf(answer, U64_FORMAT" "U64_FORMAT,
U64_PRINTF_ARG(read_left), U64_PRINTF_ARG(write_left));
} else if (!strcmp(question, "accounting/interval-start")) {
*answer = tor_malloc(ISO_TIME_LEN+1);
diff --git a/src/or/hibernate.h b/src/or/hibernate.h
index 78e7bb75e..d77e946d4 100644
--- a/src/or/hibernate.h
+++ b/src/or/hibernate.h
@@ -14,6 +14,7 @@
int accounting_parse_options(const or_options_t *options, int validate_only);
int accounting_is_enabled(const or_options_t *options);
+int accounting_get_interval_length(void);
void configure_accounting(time_t now);
void accounting_run_housekeeping(time_t now);
void accounting_add_bytes(size_t n_read, size_t n_written, int seconds);
diff --git a/src/or/main.c b/src/or/main.c
index c1a7015e6..9022f2eb8 100644
--- a/src/or/main.c
+++ b/src/or/main.c
@@ -196,6 +196,26 @@ free_old_inbuf(connection_t *conn)
}
#endif
+#if defined(_WIN32) && defined(USE_BUFFEREVENTS)
+/** Remove the kernel-space send and receive buffers for <b>s</b>. For use
+ * with IOCP only. */
+static int
+set_buffer_lengths_to_zero(tor_socket_t s)
+{
+ int zero = 0;
+ int r = 0;
+ if (setsockopt(s, SOL_SOCKET, SO_SNDBUF, (void*)&zero, sizeof(zero))) {
+ log_warn(LD_NET, "Unable to clear SO_SNDBUF");
+ r = -1;
+ }
+ if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, (void*)&zero, sizeof(zero))) {
+ log_warn(LD_NET, "Unable to clear SO_RCVBUF");
+ r = -1;
+ }
+ return r;
+}
+#endif
+
/** Add <b>conn</b> to the array of connections that we can poll on. The
* connection's socket must be set; the connection starts out
* non-reading and non-writing.
@@ -216,6 +236,14 @@ connection_add_impl(connection_t *conn, int is_connecting)
#ifdef USE_BUFFEREVENTS
if (connection_type_uses_bufferevent(conn)) {
if (SOCKET_OK(conn->s) && !conn->linked) {
+
+#ifdef _WIN32
+ if (tor_libevent_using_iocp_bufferevents() &&
+ get_options()->UserspaceIOCPBuffers) {
+ set_buffer_lengths_to_zero(conn->s);
+ }
+#endif
+
conn->bufev = bufferevent_socket_new(
tor_libevent_get_base(),
conn->s,
@@ -403,7 +431,7 @@ smartlist_t *
get_connection_array(void)
{
if (!connection_array)
- connection_array = smartlist_create();
+ connection_array = smartlist_new();
return connection_array;
}
@@ -673,7 +701,7 @@ conn_read_callback(evutil_socket_t fd, short event, void *_conn)
if (connection_handle_read(conn) < 0) {
if (!conn->marked_for_close) {
-#ifndef MS_WINDOWS
+#ifndef _WIN32
log_warn(LD_BUG,"Unhandled error on read for %s connection "
"(fd %d); removing",
conn_type_to_string(conn->type), (int)conn->s);
@@ -906,7 +934,7 @@ directory_info_has_arrived(time_t now, int from_cache)
update_extrainfo_downloads(now);
}
- if (server_mode(options) && !we_are_hibernating() && !from_cache &&
+ if (server_mode(options) && !net_is_disabled() && !from_cache &&
(can_complete_circuit || !any_predicted_circuits(now)))
consider_testing_reachability(1, 1);
}
@@ -1133,11 +1161,11 @@ run_scheduled_events(time_t now)
if (router_rebuild_descriptor(1)<0) {
log_info(LD_CONFIG, "Couldn't rebuild router descriptor");
}
- if (advertised_server_mode())
+ if (advertised_server_mode() & !options->DisableNetwork)
router_upload_dir_desc_to_dirservers(0);
}
- if (time_to_try_getting_descriptors < now) {
+ if (!options->DisableNetwork && time_to_try_getting_descriptors < now) {
update_all_descriptor_downloads(now);
update_extrainfo_downloads(now);
if (router_have_minimum_dir_info())
@@ -1161,10 +1189,7 @@ run_scheduled_events(time_t now)
last_rotated_x509_certificate = now;
if (last_rotated_x509_certificate+MAX_SSL_KEY_LIFETIME_INTERNAL < now) {
log_info(LD_GENERAL,"Rotating tls context.");
- if (tor_tls_context_init(public_server_mode(options),
- get_tlsclient_identity_key(),
- is_server ? get_server_identity_key() : NULL,
- MAX_SSL_KEY_LIFETIME_ADVERTISED) < 0) {
+ if (router_initialize_tls_context() < 0) {
log_warn(LD_BUG, "Error reinitializing TLS context");
/* XXX is it a bug here, that we just keep going? -RD */
}
@@ -1191,7 +1216,7 @@ run_scheduled_events(time_t now)
if (time_to_launch_reachability_tests < now &&
(authdir_mode_tests_reachability(options)) &&
- !we_are_hibernating()) {
+ !net_is_disabled()) {
time_to_launch_reachability_tests = now + REACHABILITY_TEST_INTERVAL;
/* try to determine reachability of the other Tor relays */
dirserv_test_reachability(now);
@@ -1327,7 +1352,7 @@ run_scheduled_events(time_t now)
/* 2b. Once per minute, regenerate and upload the descriptor if the old
* one is inaccurate. */
- if (time_to_check_descriptor < now) {
+ if (time_to_check_descriptor < now && !options->DisableNetwork) {
static int dirport_reachability_count = 0;
time_to_check_descriptor = now + CHECK_DESCRIPTOR_INTERVAL;
check_descriptor_bandwidth_changed(now);
@@ -1402,7 +1427,7 @@ run_scheduled_events(time_t now)
connection_expire_held_open();
/** 3d. And every 60 seconds, we relaunch listeners if any died. */
- if (!we_are_hibernating() && time_to_check_listeners < now) {
+ if (!net_is_disabled() && time_to_check_listeners < now) {
retry_all_listeners(NULL, NULL);
time_to_check_listeners = now+60;
}
@@ -1413,7 +1438,7 @@ run_scheduled_events(time_t now)
* and we make a new circ if there are no clean circuits.
*/
have_dir_info = router_have_minimum_dir_info();
- if (have_dir_info && !we_are_hibernating())
+ if (have_dir_info && !net_is_disabled())
circuit_build_needed_circs(now);
/* every 10 seconds, but not at the same second as other such events */
@@ -1444,7 +1469,7 @@ run_scheduled_events(time_t now)
circuit_close_all_marked();
/** 7. And upload service descriptors if necessary. */
- if (can_complete_circuit && !we_are_hibernating()) {
+ if (can_complete_circuit && !net_is_disabled()) {
rend_consider_services_upload(now);
rend_consider_descriptor_republication();
}
@@ -1461,7 +1486,8 @@ run_scheduled_events(time_t now)
/** 9. and if we're a server, check whether our DNS is telling stories to
* us. */
- if (public_server_mode(options) && time_to_check_for_correct_dns < now) {
+ if (!net_is_disabled() &&
+ public_server_mode(options) && time_to_check_for_correct_dns < now) {
if (!time_to_check_for_correct_dns) {
time_to_check_for_correct_dns = now + 60 + crypto_rand_int(120);
} else {
@@ -1480,19 +1506,21 @@ run_scheduled_events(time_t now)
}
/** 11. check the port forwarding app */
- if (time_to_check_port_forwarding < now &&
+ if (!net_is_disabled() &&
+ time_to_check_port_forwarding < now &&
options->PortForwarding &&
is_server) {
#define PORT_FORWARDING_CHECK_INTERVAL 5
+ /* XXXXX this should take a list of ports, not just two! */
tor_check_port_forwarding(options->PortForwardingHelper,
- options->DirPort,
- options->ORPort,
+ get_primary_dir_port(),
+ get_primary_or_port(),
now);
time_to_check_port_forwarding = now+PORT_FORWARDING_CHECK_INTERVAL;
}
/** 11b. check pending unconfigured managed proxies */
- if (pt_proxies_configuration_pending())
+ if (!net_is_disabled() && pt_proxies_configuration_pending())
pt_configure_remaining_proxies();
/** 11c. validate pluggable transports configuration if we need to */
@@ -1505,7 +1533,7 @@ run_scheduled_events(time_t now)
/** 12. write the heartbeat message */
if (options->HeartbeatPeriod &&
- time_to_next_heartbeat < now) {
+ time_to_next_heartbeat <= now) {
log_heartbeat(now);
time_to_next_heartbeat = now+options->HeartbeatPeriod;
}
@@ -1564,7 +1592,7 @@ second_elapsed_callback(periodic_timer_t *timer, void *arg)
control_event_stream_bandwidth_used();
if (server_mode(options) &&
- !we_are_hibernating() &&
+ !net_is_disabled() &&
seconds_elapsed > 0 &&
can_complete_circuit &&
stats_n_seconds_working / TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT !=
@@ -1661,7 +1689,7 @@ refill_callback(periodic_timer_t *timer, void *arg)
}
#endif
-#ifndef MS_WINDOWS
+#ifndef _WIN32
/** Called when a possibly ignorable libevent error occurs; ensures that we
* don't get into an infinite loop by ignoring too many errors from
* libevent. */
@@ -1765,7 +1793,8 @@ do_hup(void)
/* retry appropriate downloads */
router_reset_status_download_failures();
router_reset_descriptor_download_failures();
- update_networkstatus_downloads(time(NULL));
+ if (!options->DisableNetwork)
+ update_networkstatus_downloads(time(NULL));
/* We'll retry routerstatus downloads in about 10 seconds; no need to
* force a retry there. */
@@ -1879,7 +1908,7 @@ do_main_loop(void)
if (nt_service_is_stopping())
return 0;
-#ifndef MS_WINDOWS
+#ifndef _WIN32
/* Make it easier to tell whether libevent failure is our fault or not. */
errno = 0;
#endif
@@ -1903,7 +1932,7 @@ do_main_loop(void)
log_err(LD_NET,"libevent call with %s failed: %s [%d]",
tor_libevent_get_method(), tor_socket_strerror(e), e);
return -1;
-#ifndef MS_WINDOWS
+#ifndef _WIN32
} else if (e == EINVAL) {
log_warn(LD_NET, "EINVAL from libevent: should you upgrade libevent?");
if (got_libevent_error())
@@ -1922,7 +1951,7 @@ do_main_loop(void)
}
}
-#ifndef MS_WINDOWS /* Only called when we're willing to use signals */
+#ifndef _WIN32 /* Only called when we're willing to use signals */
/** Libevent callback: invoked when we get a signal.
*/
static void
@@ -2139,7 +2168,7 @@ 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 MS_WINDOWS
+#ifdef _WIN32
WSACleanup();
#endif
}
@@ -2148,7 +2177,7 @@ exit_function(void)
void
handle_signals(int is_parent)
{
-#ifndef MS_WINDOWS /* do signal stuff only on Unix */
+#ifndef _WIN32 /* do signal stuff only on Unix */
int i;
static const int signals[] = {
SIGINT, /* do a controlled slow shutdown */
@@ -2201,11 +2230,11 @@ tor_init(int argc, char *argv[])
int i, quiet = 0;
time_of_process_start = time(NULL);
if (!connection_array)
- connection_array = smartlist_create();
+ connection_array = smartlist_new();
if (!closeable_connection_lst)
- closeable_connection_lst = smartlist_create();
+ closeable_connection_lst = smartlist_new();
if (!active_linked_connection_lst)
- active_linked_connection_lst = smartlist_create();
+ active_linked_connection_lst = smartlist_new();
/* Have the log set up with our application name. */
tor_snprintf(buf, sizeof(buf), "Tor %s", get_version());
log_set_application_name(buf);
@@ -2237,14 +2266,28 @@ tor_init(int argc, char *argv[])
}
quiet_level = quiet;
- log(LOG_NOTICE, LD_GENERAL, "Tor v%s%s. This is experimental software. "
- "Do not rely on it for strong anonymity. (Running on %s)", get_version(),
+ {
+ const char *version = get_version();
#ifdef USE_BUFFEREVENTS
- " (with bufferevents)",
+ log_notice(LD_GENERAL, "Tor v%s (with bufferevents) running on %s.",
+ version, get_uname());
#else
- "",
+ log_notice(LD_GENERAL, "Tor v%s running on %s.", version, get_uname());
+#endif
+
+ log_notice(LD_GENERAL, "Tor can't help you if you use it wrong! "
+ "Learn how to be safe at "
+ "https://www.torproject.org/download/download#warning");
+
+ if (strstr(version, "alpha") || strstr(version, "beta"))
+ log_notice(LD_GENERAL, "This version is not a stable Tor release. "
+ "Expect more bugs than usual.");
+ }
+
+#ifdef NON_ANONYMOUS_MODE_ENABLED
+ log(LOG_WARN, LD_GENERAL, "This copy of Tor was compiled to run in a "
+ "non-anonymous mode. It will provide NO ANONYMITY.");
#endif
- get_uname());
if (network_init()<0) {
log_err(LD_BUG,"Error initializing network; exiting.");
@@ -2257,7 +2300,7 @@ tor_init(int argc, char *argv[])
return -1;
}
-#ifndef MS_WINDOWS
+#ifndef _WIN32
if (geteuid()==0)
log_warn(LD_GENERAL,"You are running Tor as root. You don't need to, "
"and you probably shouldn't.");
@@ -2299,7 +2342,7 @@ try_locking(const or_options_t *options, int err_if_locked)
log_warn(LD_GENERAL, "It looks like another Tor process is running "
"with the same data directory. Waiting 5 seconds to see "
"if it goes away.");
-#ifndef WIN32
+#ifndef _WIN32
sleep(5);
#else
Sleep(5000);
@@ -2434,7 +2477,7 @@ tor_cleanup(void)
do_list_fingerprint(void)
{
char buf[FINGERPRINT_LEN+1];
- crypto_pk_env_t *k;
+ crypto_pk_t *k;
const char *nickname = get_options()->Nickname;
if (!server_mode(get_options())) {
log_err(LD_GENERAL,
@@ -2535,7 +2578,7 @@ tor_main(int argc, char *argv[])
}
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/* Call SetProcessDEPPolicy to permanently enable DEP.
The function will not resolve on earlier versions of Windows,
and failure is not dangerous. */
diff --git a/src/or/microdesc.c b/src/or/microdesc.c
index 92f5c0358..be9b99759 100644
--- a/src/or/microdesc.c
+++ b/src/or/microdesc.c
@@ -2,6 +2,7 @@
/* See LICENSE for licensing information */
#include "or.h"
+#include "circuitbuild.h"
#include "config.h"
#include "directory.h"
#include "dirserv.h"
@@ -206,7 +207,7 @@ microdescs_add_list_to_cache(microdesc_cache_t *cache,
}
}
- added = smartlist_create();
+ added = smartlist_new();
SMARTLIST_FOREACH_BEGIN(descriptors, microdesc_t *, md) {
microdesc_t *md2;
md2 = HT_FIND(microdesc_map, &cache->map, md);
@@ -428,7 +429,7 @@ microdesc_cache_rebuild(microdesc_cache_t *cache, int force)
if (!f)
return -1;
- wrote = smartlist_create();
+ wrote = smartlist_new();
HT_FOREACH(mdp, microdesc_map, &cache->map) {
microdesc_t *md = *mdp;
@@ -566,7 +567,7 @@ microdesc_free(microdesc_t *md)
//tor_assert(md->held_by_nodes == 0);
if (md->onion_pkey)
- crypto_free_pk_env(md->onion_pkey);
+ crypto_pk_free(md->onion_pkey);
if (md->body && md->saved_location != SAVED_IN_CACHE)
tor_free(md->body);
@@ -624,7 +625,7 @@ smartlist_t *
microdesc_list_missing_digest256(networkstatus_t *ns, microdesc_cache_t *cache,
int downloadable_only, digestmap_t *skip)
{
- smartlist_t *result = smartlist_create();
+ smartlist_t *result = smartlist_new();
time_t now = time(NULL);
tor_assert(ns->flavor == FLAV_MICRODESC);
SMARTLIST_FOREACH_BEGIN(ns->routerstatus_list, routerstatus_t *, rs) {
@@ -720,8 +721,14 @@ we_use_microdescriptors_for_circuits(const or_options_t *options)
int ret = options->UseMicrodescriptors;
if (ret == -1) {
/* UseMicrodescriptors is "auto"; we need to decide: */
- /* So we decide that we'll use microdescriptors iff we are not a server,
- * and we're not autofetching everything. */
+ /* If we are configured to use bridges and one of our bridges doesn't
+ * know what a microdescriptor is, the answer is no. */
+ if (options->UseBridges && any_bridges_dont_support_microdescriptors())
+ return 0;
+ /* Otherwise, we decide that we'll use microdescriptors iff we are
+ * not a server, and we're not autofetching everything. */
+ /* XXX023 what does not being a server have to do with it? also there's
+ * a partitioning issue here where bridges differ from clients. */
ret = !server_mode(options) && !options->FetchUselessDescriptors;
}
return ret;
diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c
index 7cd9d02c3..44c2f2671 100644
--- a/src/or/networkstatus.c
+++ b/src/or/networkstatus.c
@@ -161,7 +161,7 @@ router_reload_v2_networkstatus(void)
int maybe_delete = !directory_caches_v2_dir_info(get_options());
time_t now = time(NULL);
if (!networkstatus_v2_list)
- networkstatus_v2_list = smartlist_create();
+ networkstatus_v2_list = smartlist_new();
entries = tor_listdir(filename);
if (!entries) { /* dir doesn't exist */
@@ -326,7 +326,7 @@ networkstatus_v2_free(networkstatus_v2_t *ns)
tor_free(ns->source_address);
tor_free(ns->contact);
if (ns->signing_key)
- crypto_free_pk_env(ns->signing_key);
+ crypto_pk_free(ns->signing_key);
tor_free(ns->client_versions);
tor_free(ns->server_versions);
if (ns->entries) {
@@ -486,9 +486,11 @@ networkstatus_check_consensus_signature(networkstatus_t *consensus,
int n_no_signature = 0;
int n_v3_authorities = get_n_authorities(V3_DIRINFO);
int n_required = n_v3_authorities/2 + 1;
- smartlist_t *need_certs_from = smartlist_create();
- smartlist_t *unrecognized = smartlist_create();
- smartlist_t *missing_authorities = smartlist_create();
+ smartlist_t *list_good = smartlist_new();
+ smartlist_t *list_no_signature = smartlist_new();
+ smartlist_t *need_certs_from = smartlist_new();
+ smartlist_t *unrecognized = smartlist_new();
+ smartlist_t *missing_authorities = smartlist_new();
int severity;
time_t now = time(NULL);
@@ -536,11 +538,13 @@ networkstatus_check_consensus_signature(networkstatus_t *consensus,
else if (sig->bad_signature)
++bad_here;
} SMARTLIST_FOREACH_END(sig);
- if (good_here)
+
+ if (good_here) {
++n_good;
- else if (bad_here)
+ smartlist_add(list_good, voter->nickname);
+ } else if (bad_here) {
++n_bad;
- else if (missing_key_here) {
+ } else if (missing_key_here) {
++n_missing_key;
if (dl_failed_key_here)
++n_dl_failed_key;
@@ -548,6 +552,7 @@ networkstatus_check_consensus_signature(networkstatus_t *consensus,
++n_unknown;
} else {
++n_no_signature;
+ smartlist_add(list_no_signature, voter->nickname);
}
} SMARTLIST_FOREACH_END(voter);
@@ -593,40 +598,45 @@ networkstatus_check_consensus_signature(networkstatus_t *consensus,
hex_str(ds->v3_identity_digest, DIGEST_LEN));
});
{
- smartlist_t *sl = smartlist_create();
- char *cp;
- tor_asprintf(&cp, "A consensus needs %d good signatures from recognized "
- "authorities for us to accept it. This one has %d.",
- n_required, n_good);
- smartlist_add(sl,cp);
+ char *joined;
+ smartlist_t *sl = smartlist_new();
+ char *tmp = smartlist_join_strings(list_good, " ", 0, NULL);
+ smartlist_add_asprintf(sl,
+ "A consensus needs %d good signatures from recognized "
+ "authorities for us to accept it. This one has %d (%s).",
+ n_required, n_good, tmp);
+ tor_free(tmp);
if (n_no_signature) {
- tor_asprintf(&cp, "%d of the authorities we know didn't sign it.",
- n_no_signature);
- smartlist_add(sl,cp);
+ tmp = smartlist_join_strings(list_no_signature, " ", 0, NULL);
+ smartlist_add_asprintf(sl,
+ "%d (%s) of the authorities we know didn't sign it.",
+ n_no_signature, tmp);
+ tor_free(tmp);
}
if (n_unknown) {
- tor_asprintf(&cp, "It has %d signatures from authorities we don't "
+ smartlist_add_asprintf(sl,
+ "It has %d signatures from authorities we don't "
"recognize.", n_unknown);
- smartlist_add(sl,cp);
}
if (n_bad) {
- tor_asprintf(&cp, "%d of the signatures on it didn't verify "
+ smartlist_add_asprintf(sl, "%d of the signatures on it didn't verify "
"correctly.", n_bad);
- smartlist_add(sl,cp);
}
if (n_missing_key) {
- tor_asprintf(&cp, "We were unable to check %d of the signatures, "
+ smartlist_add_asprintf(sl,
+ "We were unable to check %d of the signatures, "
"because we were missing the keys.", n_missing_key);
- smartlist_add(sl,cp);
}
- cp = smartlist_join_strings(sl, " ", 0, NULL);
- log(severity, LD_DIR, "%s", cp);
- tor_free(cp);
+ joined = smartlist_join_strings(sl, " ", 0, NULL);
+ log(severity, LD_DIR, "%s", joined);
+ tor_free(joined);
SMARTLIST_FOREACH(sl, char *, c, tor_free(c));
smartlist_free(sl);
}
}
+ smartlist_free(list_good);
+ smartlist_free(list_no_signature);
smartlist_free(unrecognized);
smartlist_free(need_certs_from);
smartlist_free(missing_authorities);
@@ -768,7 +778,7 @@ router_set_networkstatus_v2(const char *s, time_t arrived_at,
}
if (!networkstatus_v2_list)
- networkstatus_v2_list = smartlist_create();
+ networkstatus_v2_list = smartlist_new();
if ( (source == NS_FROM_DIR_BY_FP || source == NS_FROM_DIR_ALL) &&
router_digest_is_me(ns->identity_digest)) {
@@ -992,7 +1002,7 @@ const smartlist_t *
networkstatus_get_v2_list(void)
{
if (!networkstatus_v2_list)
- networkstatus_v2_list = smartlist_create();
+ networkstatus_v2_list = smartlist_new();
return networkstatus_v2_list;
}
@@ -1521,7 +1531,7 @@ notify_control_networkstatus_changed(const networkstatus_t *old_c,
control_event_networkstatus_changed(new_c->routerstatus_list);
return;
}
- changed = smartlist_create();
+ changed = smartlist_new();
SMARTLIST_FOREACH_JOIN(
old_c->routerstatus_list, const routerstatus_t *, rs_old,
@@ -2001,7 +2011,7 @@ routers_update_status_from_consensus_networkstatus(smartlist_t *routers,
if (!ns || !smartlist_len(ns->routerstatus_list))
return;
if (!networkstatus_v2_list)
- networkstatus_v2_list = smartlist_create();
+ networkstatus_v2_list = smartlist_new();
routers_sort_by_identity(routers);
@@ -2121,7 +2131,7 @@ networkstatus_getinfo_by_purpose(const char *purpose_string, time_t now)
return NULL;
}
- statuses = smartlist_create();
+ statuses = smartlist_new();
SMARTLIST_FOREACH(rl->routers, routerinfo_t *, ri, {
node_t *node = node_get_mutable_by_id(ri->cache_info.identity_digest);
if (!node)
@@ -2149,9 +2159,8 @@ networkstatus_dump_bridge_status_to_file(time_t now)
{
char *status = networkstatus_getinfo_by_purpose("bridge", now);
const or_options_t *options = get_options();
- size_t len = strlen(options->DataDirectory) + 32;
- char *fname = tor_malloc(len);
- tor_snprintf(fname, len, "%s"PATH_SEPARATOR"networkstatus-bridges",
+ char *fname = NULL;
+ tor_asprintf(&fname, "%s"PATH_SEPARATOR"networkstatus-bridges",
options->DataDirectory);
write_str_to_file(fname,status,0);
tor_free(fname);
@@ -2290,7 +2299,7 @@ getinfo_helper_networkstatus(control_connection_t *conn,
}
if (!strcmp(question, "ns/all")) {
- smartlist_t *statuses = smartlist_create();
+ smartlist_t *statuses = smartlist_new();
SMARTLIST_FOREACH(current_consensus->routerstatus_list,
const routerstatus_t *, rs,
{
diff --git a/src/or/nodelist.c b/src/or/nodelist.c
index b93b919c1..4654f307e 100644
--- a/src/or/nodelist.c
+++ b/src/or/nodelist.c
@@ -64,7 +64,7 @@ init_nodelist(void)
if (PREDICT_UNLIKELY(the_nodelist == NULL)) {
the_nodelist = tor_malloc_zero(sizeof(nodelist_t));
HT_INIT(nodelist_map, &the_nodelist->nodes_by_id);
- the_nodelist->nodes = smartlist_create();
+ the_nodelist->nodes = smartlist_new();
}
}
@@ -494,7 +494,7 @@ node_get_by_nickname(const char *nickname, int warn_if_unnamed)
/* Okay, so the name is not canonical for anybody. */
{
- smartlist_t *matches = smartlist_create();
+ smartlist_t *matches = smartlist_new();
const node_t *choice = NULL;
SMARTLIST_FOREACH_BEGIN(the_nodelist->nodes, node_t *, node) {
@@ -646,24 +646,70 @@ node_exit_policy_rejects_all(const node_t *node)
return 1;
}
-/** Copy the address for <b>node</b> into *<b>addr_out</b>. */
-int
-node_get_addr(const node_t *node, tor_addr_t *addr_out)
+/** Return list of tor_addr_port_t with all OR ports (in the sense IP
+ * addr + TCP port) for <b>node</b>. Caller must free all elements
+ * using tor_free() and free the list using smartlist_free().
+ *
+ * XXX this is potentially a memory fragmentation hog -- if on
+ * critical path consider the option of having the caller allocate the
+ * memory
+ */
+smartlist_t *
+node_get_all_orports(const node_t *node)
+{
+ smartlist_t *sl = smartlist_new();
+
+ if (node->ri != NULL) {
+ if (node->ri->addr != 0) {
+ tor_addr_port_t *ap = tor_malloc(sizeof(tor_addr_port_t));
+ tor_addr_from_ipv4h(&ap->addr, node->ri->addr);
+ ap->port = node->ri->or_port;
+ smartlist_add(sl, ap);
+ }
+ if (!tor_addr_is_null(&node->ri->ipv6_addr)) {
+ tor_addr_port_t *ap = tor_malloc(sizeof(tor_addr_port_t));
+ tor_addr_copy(&ap->addr, &node->ri->ipv6_addr);
+ ap->port = node->ri->or_port;
+ smartlist_add(sl, ap);
+ }
+ } else if (node->rs != NULL) {
+ tor_addr_port_t *ap = tor_malloc(sizeof(tor_addr_port_t));
+ tor_addr_from_ipv4h(&ap->addr, node->rs->addr);
+ ap->port = node->rs->or_port;
+ smartlist_add(sl, ap);
+ }
+
+ return sl;
+}
+
+/** Copy the primary (IPv4) OR port (IP address and TCP port) for
+ * <b>node</b> into *<b>ap_out</b>. */
+void
+node_get_prim_orport(const node_t *node, tor_addr_port_t *ap_out)
{
if (node->ri) {
- tor_addr_from_ipv4h(addr_out, node->ri->addr);
- return 0;
- } else if (node->rs) {
- tor_addr_from_ipv4h(addr_out, node->rs->addr);
- return 0;
+ router_get_prim_orport(node->ri, ap_out);
}
- return -1;
+ else if (node->rs) {
+ tor_addr_from_ipv4h(&ap_out->addr, node->rs->addr);
+ ap_out->port = node->rs->or_port;
+ }
+}
+
+/** Wrapper around node_get_prim_orport for backward
+ compatibility. */
+void
+node_get_addr(const node_t *node, tor_addr_t *addr_out)
+{
+ tor_addr_port_t ap;
+ node_get_prim_orport(node, &ap);
+ tor_addr_copy(addr_out, &ap.addr);
}
/** Return the host-order IPv4 address for <b>node</b>, or 0 if it doesn't
* seem to have one. */
uint32_t
-node_get_addr_ipv4h(const node_t *node)
+node_get_prim_addr_ipv4h(const node_t *node)
{
if (node->ri) {
return node->ri->addr;
@@ -673,9 +719,38 @@ node_get_addr_ipv4h(const node_t *node)
return 0;
}
-/** Copy a string representation of the IP address for <b>node</b> into the
- * <b>len</b>-byte buffer at <b>buf</b>.
- */
+/** Copy the preferred OR port (IP address and TCP port) for
+ * <b>node</b> into <b>ap_out</b>. */
+void
+node_get_pref_orport(const node_t *node, tor_addr_port_t *ap_out)
+{
+ if (node->ri) {
+ router_get_pref_orport(node->ri, ap_out);
+ } else if (node->rs) {
+ /* No IPv6 in routerstatus_t yet. XXXprop186 ok for private
+ bridges but needs fixing */
+ tor_addr_from_ipv4h(&ap_out->addr, node->rs->addr);
+ ap_out->port = node->rs->or_port;
+ }
+}
+
+/** Copy the preferred IPv6 OR port (address and TCP port) for
+ * <b>node</b> into *<b>ap_out</b>. */
+void
+node_get_pref_ipv6_orport(const node_t *node, tor_addr_port_t *ap_out)
+{
+ if (node->ri) {
+ router_get_pref_ipv6_orport(node->ri, ap_out);
+ } else if (node->rs) {
+ /* No IPv6 in routerstatus_t yet. XXXprop186 ok for private
+ bridges but needs fixing */
+ tor_addr_make_unspec(&ap_out->addr);
+ ap_out->port = 0;
+ }
+}
+
+/** Copy a string representation of an IP address for <b>node</b> into
+ * the <b>len</b>-byte buffer at <b>buf</b>. */
void
node_get_address_string(const node_t *node, char *buf, size_t len)
{
@@ -701,18 +776,6 @@ node_get_declared_uptime(const node_t *node)
return -1;
}
-/** Return <b>node</b>'s declared or_port */
-uint16_t
-node_get_orport(const node_t *node)
-{
- if (node->ri)
- return node->ri->or_port;
- else if (node->rs)
- return node->rs->or_port;
- else
- return 0;
-}
-
/** Return <b>node</b>'s platform string, or NULL if we don't know it. */
const char *
node_get_platform(const node_t *node)
diff --git a/src/or/nodelist.h b/src/or/nodelist.h
index bd2e63953..1b7549dad 100644
--- a/src/or/nodelist.h
+++ b/src/or/nodelist.h
@@ -37,10 +37,13 @@ int node_get_purpose(const node_t *node);
(node_get_purpose((node)) == ROUTER_PURPOSE_BRIDGE)
int node_is_me(const node_t *node);
int node_exit_policy_rejects_all(const node_t *node);
-int node_get_addr(const node_t *node, tor_addr_t *addr_out);
-uint32_t node_get_addr_ipv4h(const node_t *node);
+smartlist_t *node_get_all_orports(const node_t *node);
+void node_get_prim_orport(const node_t *node, tor_addr_port_t *addr_port_out);
+void node_get_pref_orport(const node_t *node, tor_addr_port_t *addr_port_out);
+void node_get_pref_ipv6_orport(const node_t *node,
+ tor_addr_port_t *addr_port_out);
+uint32_t node_get_prim_addr_ipv4h(const node_t *node);
int node_allows_single_hop_exits(const node_t *node);
-uint16_t node_get_orport(const node_t *node);
const char *node_get_nickname(const node_t *node);
const char *node_get_platform(const node_t *node);
void node_get_address_string(const node_t *node, char *cp, size_t len);
@@ -50,6 +53,10 @@ const smartlist_t *node_get_declared_family(const node_t *node);
smartlist_t *nodelist_get_list(void);
+/* Temporary during transition to multiple addresses. */
+void node_get_addr(const node_t *node, tor_addr_t *addr_out);
+#define node_get_addr_ipv4h(n) node_get_prim_addr_ipv4h((n))
+
/* XXXX These need to move out of routerlist.c */
void nodelist_refresh_countries(void);
void node_set_country(node_t *node);
diff --git a/src/or/ntmain.c b/src/or/ntmain.c
index 4eb487e97..bd07df1b3 100644
--- a/src/or/ntmain.c
+++ b/src/or/ntmain.c
@@ -456,9 +456,9 @@ nt_service_command_line(int *using_default_torrc)
{
TCHAR tor_exe[MAX_PATH+1];
char tor_exe_ascii[MAX_PATH+1];
- char *command, *options=NULL;
+ char *command=NULL, *options=NULL;
smartlist_t *sl;
- int i, cmdlen;
+ int i;
*using_default_torrc = 1;
/* Get the location of tor.exe */
@@ -466,7 +466,7 @@ nt_service_command_line(int *using_default_torrc)
return NULL;
/* Get the service arguments */
- sl = smartlist_create();
+ sl = smartlist_new();
for (i = 1; i < backup_argc; ++i) {
if (!strcmp(backup_argv[i], "--options") ||
!strcmp(backup_argv[i], "-options")) {
@@ -487,21 +487,13 @@ nt_service_command_line(int *using_default_torrc)
strlcpy(tor_exe_ascii, tor_exe, sizeof(tor_exe_ascii));
#endif
- /* Allocate a string for the NT service command line */
- cmdlen = strlen(tor_exe_ascii) + (options?strlen(options):0) + 32;
- command = tor_malloc(cmdlen);
-
+ /* Allocate a string for the NT service command line and */
/* Format the service command */
if (options) {
- if (tor_snprintf(command, cmdlen, "\"%s\" --nt-service \"%s\"",
- tor_exe_ascii, options)<0) {
- tor_free(command); /* sets command to NULL. */
- }
+ tor_asprintf(&command, "\"%s\" --nt-service \"%s\"",
+ tor_exe_ascii, options);
} else { /* ! options */
- if (tor_snprintf(command, cmdlen, "\"%s\" --nt-service",
- tor_exe_ascii)<0) {
- tor_free(command); /* sets command to NULL. */
- }
+ tor_asprintf(&command, "\"%s\" --nt-service", tor_exe_ascii);
}
tor_free(options);
@@ -727,6 +719,7 @@ nt_service_parse_options(int argc, char **argv, int *should_exit)
if ((argc >= 3) &&
(!strcmp(argv[1], "-service") || !strcmp(argv[1], "--service"))) {
nt_service_loadlibrary();
+ *should_exit = 1;
if (!strcmp(argv[2], "install"))
return nt_service_install(argc, argv);
if (!strcmp(argv[2], "remove"))
@@ -736,7 +729,6 @@ nt_service_parse_options(int argc, char **argv, int *should_exit)
if (!strcmp(argv[2], "stop"))
return nt_service_cmd_stop();
printf("Unrecognized service command '%s'\n", argv[2]);
- *should_exit = 1;
return 1;
}
if (argc >= 2) {
diff --git a/src/or/ntmain.h b/src/or/ntmain.h
index acd0e1d7e..6d95a0987 100644
--- a/src/or/ntmain.h
+++ b/src/or/ntmain.h
@@ -12,7 +12,7 @@
#ifndef _TOR_NTMAIN_H
#define _TOR_NTMAIN_H
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#if !defined (WINCE)
#define NT_SERVICE
#endif
diff --git a/src/or/onion.c b/src/or/onion.c
index 211d14c1e..09349a4d2 100644
--- a/src/or/onion.c
+++ b/src/or/onion.c
@@ -170,12 +170,12 @@ onion_pending_remove(or_circuit_t *circ)
* The meeting point/cookies and auth are zeroed out for now.
*/
int
-onion_skin_create(crypto_pk_env_t *dest_router_key,
- crypto_dh_env_t **handshake_state_out,
+onion_skin_create(crypto_pk_t *dest_router_key,
+ crypto_dh_t **handshake_state_out,
char *onion_skin_out) /* ONIONSKIN_CHALLENGE_LEN bytes */
{
char challenge[DH_KEY_LEN];
- crypto_dh_env_t *dh = NULL;
+ crypto_dh_t *dh = NULL;
int dhbytes, pkbytes;
tor_assert(dest_router_key);
@@ -221,19 +221,19 @@ onion_skin_create(crypto_pk_env_t *dest_router_key,
*/
int
onion_skin_server_handshake(const char *onion_skin, /*ONIONSKIN_CHALLENGE_LEN*/
- crypto_pk_env_t *private_key,
- crypto_pk_env_t *prev_private_key,
+ crypto_pk_t *private_key,
+ crypto_pk_t *prev_private_key,
char *handshake_reply_out, /*ONIONSKIN_REPLY_LEN*/
char *key_out,
size_t key_out_len)
{
char challenge[ONIONSKIN_CHALLENGE_LEN];
- crypto_dh_env_t *dh = NULL;
+ crypto_dh_t *dh = NULL;
ssize_t len;
char *key_material=NULL;
size_t key_material_len=0;
int i;
- crypto_pk_env_t *k;
+ crypto_pk_t *k;
len = -1;
for (i=0;i<2;++i) {
@@ -310,7 +310,7 @@ onion_skin_server_handshake(const char *onion_skin, /*ONIONSKIN_CHALLENGE_LEN*/
* After the invocation, call crypto_dh_free on handshake_state.
*/
int
-onion_skin_client_handshake(crypto_dh_env_t *handshake_state,
+onion_skin_client_handshake(crypto_dh_t *handshake_state,
const char *handshake_reply, /* ONIONSKIN_REPLY_LEN bytes */
char *key_out,
size_t key_out_len)
diff --git a/src/or/onion.h b/src/or/onion.h
index 7f603b814..4b2de792a 100644
--- a/src/or/onion.h
+++ b/src/or/onion.h
@@ -16,18 +16,18 @@ int onion_pending_add(or_circuit_t *circ, char *onionskin);
or_circuit_t *onion_next_task(char **onionskin_out);
void onion_pending_remove(or_circuit_t *circ);
-int onion_skin_create(crypto_pk_env_t *router_key,
- crypto_dh_env_t **handshake_state_out,
+int onion_skin_create(crypto_pk_t *router_key,
+ crypto_dh_t **handshake_state_out,
char *onion_skin_out);
int onion_skin_server_handshake(const char *onion_skin,
- crypto_pk_env_t *private_key,
- crypto_pk_env_t *prev_private_key,
+ crypto_pk_t *private_key,
+ crypto_pk_t *prev_private_key,
char *handshake_reply_out,
char *key_out,
size_t key_out_len);
-int onion_skin_client_handshake(crypto_dh_env_t *handshake_state,
+int onion_skin_client_handshake(crypto_dh_t *handshake_state,
const char *handshake_reply,
char *key_out,
size_t key_out_len);
diff --git a/src/or/or.h b/src/or/or.h
index e4f9b9b2b..33324f50b 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -22,7 +22,7 @@
#endif
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#ifndef WIN32_WINNT
#define WIN32_WINNT 0x400
#endif
@@ -79,7 +79,7 @@
#include <time.h>
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#include <io.h>
#include <process.h>
#include <direct.h>
@@ -130,6 +130,10 @@
#define cell_t tor_cell_t
#endif
+#ifdef ENABLE_TOR2WEB_MODE
+#define NON_ANONYMOUS_MODE_ENABLED 1
+#endif
+
/** Length of longest allowable configured nickname. */
#define MAX_NICKNAME_LEN 19
/** Length of a router identity encoded as a hexadecimal digest, plus
@@ -789,10 +793,10 @@ typedef struct rend_data_t {
char rend_cookie[REND_COOKIE_LEN];
} rend_data_t;
-/** Time interval for tracking possible replays of INTRODUCE2 cells.
- * Incoming cells with timestamps half of this interval in the past or
- * future are dropped immediately. */
-#define REND_REPLAY_TIME_INTERVAL (60 * 60)
+/** Time interval for tracking replays of DH public keys received in
+ * INTRODUCE2 cells. Used only to avoid launching multiple
+ * simultaneous attempts to connect to the same rendezvous point. */
+#define REND_REPLAY_TIME_INTERVAL (5 * 60)
/** Used to indicate which way a cell is going on a circuit. */
typedef enum {
@@ -826,9 +830,10 @@ typedef enum {
#define CELL_RELAY_EARLY 9
#define CELL_VPADDING 128
-#define CELL_CERT 129
+#define CELL_CERTS 129
#define CELL_AUTH_CHALLENGE 130
#define CELL_AUTHENTICATE 131
+#define CELL_AUTHORIZE 132
/** How long to test reachability before complaining to the user. */
#define TIMEOUT_UNTIL_UNREACHABILITY_COMPLAINT (20*60)
@@ -1015,7 +1020,8 @@ typedef struct connection_t {
/** CONNECT/SOCKS proxy client handshake state (for outgoing connections). */
unsigned int proxy_state:4;
- /** Our socket; -1 if this connection is closed, or has no socket. */
+ /** Our socket; set to TOR_INVALID_SOCKET if this connection is closed,
+ * or has no socket. */
tor_socket_t s;
int conn_array_index; /**< Index into the global connection array. */
@@ -1088,10 +1094,10 @@ typedef struct listener_connection_t {
#define OR_AUTH_CHALLENGE_LEN 32
/**
- * @name Certificate types for CERT cells.
+ * @name Certificate types for CERTS cells.
*
* These values are defined by the protocol, and affect how an X509
- * certificate in a CERT cell is interpreted and used.
+ * certificate in a CERTS cell is interpreted and used.
*
* @{ */
/** A certificate that authenticates a TLS link key. The subject key
@@ -1137,8 +1143,8 @@ typedef struct or_handshake_state_t {
unsigned int received_versions : 1;
/** True iff we have received and processed an AUTH_CHALLENGE cell */
unsigned int received_auth_challenge : 1;
- /** True iff we have received and processed a CERT cell. */
- unsigned int received_cert_cell : 1;
+ /** True iff we have received and processed a CERTS cell. */
+ unsigned int received_certs_cell : 1;
/** True iff we have received and processed an AUTHENTICATE cell */
unsigned int received_authenticate : 1;
@@ -1167,11 +1173,11 @@ typedef struct or_handshake_state_t {
*
* @{
*/
- crypto_digest_env_t *digest_sent;
- crypto_digest_env_t *digest_received;
+ crypto_digest_t *digest_sent;
+ crypto_digest_t *digest_received;
/** @} */
- /** Certificates that a connection initiator sent us in a CERT cell; we're
+ /** Certificates that a connection initiator sent us in a CERTS cell; we're
* holding on to them until we get an AUTHENTICATE cell.
*
* @{
@@ -1720,8 +1726,15 @@ typedef struct {
uint16_t or_port; /**< Port for TLS connections. */
uint16_t dir_port; /**< Port for HTTP directory connections. */
- crypto_pk_env_t *onion_pkey; /**< Public RSA key for onions. */
- crypto_pk_env_t *identity_pkey; /**< Public RSA key for signing. */
+ /* DOCDOC */
+ /* XXXXX187 Actually these should probably be part of a list of addresses,
+ * not just a special case. Use abstractions to access these; don't do it
+ * directly. */
+ tor_addr_t ipv6_addr;
+ uint16_t ipv6_orport;
+
+ crypto_pk_t *onion_pkey; /**< Public RSA key for onions. */
+ crypto_pk_t *identity_pkey; /**< Public RSA key for signing. */
char *platform; /**< What software/operating system is this OR using? */
@@ -1751,6 +1764,8 @@ typedef struct {
/** True if, after we have added this router, we should re-launch
* tests for it. */
unsigned int needs_retest_if_added:1;
+ /** True if ipv6_addr:ipv6_orport is preferred. */
+ unsigned int ipv6_preferred:1;
/** Tor can use this router for general positions in circuits; we got it
* from a directory server as usual, or we're an authority and a server
@@ -1947,7 +1962,7 @@ typedef struct microdesc_t {
/* Fields in the microdescriptor. */
/** As routerinfo_t.onion_pkey */
- crypto_pk_env_t *onion_pkey;
+ crypto_pk_t *onion_pkey;
/** As routerinfo_t.family */
smartlist_t *family;
/** Exit policy summary */
@@ -2055,7 +2070,7 @@ typedef struct networkstatus_v2_t {
char identity_digest[DIGEST_LEN]; /**< Digest of signing key. */
char *contact; /**< How to contact directory admin? (may be NULL). */
- crypto_pk_env_t *signing_key; /**< Key used to sign this directory. */
+ crypto_pk_t *signing_key; /**< Key used to sign this directory. */
char *client_versions; /**< comma-separated list of recommended client
* versions. */
char *server_versions; /**< comma-separated list of recommended server
@@ -2284,7 +2299,7 @@ typedef struct extend_info_t {
char identity_digest[DIGEST_LEN]; /**< Hash of this router's identity key. */
uint16_t port; /**< OR port. */
tor_addr_t addr; /**< IP address. */
- crypto_pk_env_t *onion_key; /**< Current onionskin key. */
+ crypto_pk_t *onion_key; /**< Current onionskin key. */
} extend_info_t;
/** Certificate for v3 directory protocol: binds long-term authority identity
@@ -2293,9 +2308,9 @@ typedef struct authority_cert_t {
/** Information relating to caching this cert on disk and looking it up. */
signed_descriptor_t cache_info;
/** This authority's long-term authority identity key. */
- crypto_pk_env_t *identity_key;
+ crypto_pk_t *identity_key;
/** This authority's medium-term signing key. */
- crypto_pk_env_t *signing_key;
+ crypto_pk_t *signing_key;
/** The digest of <b>signing_key</b> */
char signing_key_digest[DIGEST_LEN];
/** The listed expiration time of this certificate. */
@@ -2347,19 +2362,19 @@ typedef struct crypt_path_t {
/* crypto environments */
/** Encryption key and counter for cells heading towards the OR at this
* step. */
- crypto_cipher_env_t *f_crypto;
+ crypto_cipher_t *f_crypto;
/** Encryption key and counter for cells heading back from the OR at this
* step. */
- crypto_cipher_env_t *b_crypto;
+ crypto_cipher_t *b_crypto;
/** Digest state for cells heading towards the OR at this step. */
- crypto_digest_env_t *f_digest; /* for integrity checking */
+ crypto_digest_t *f_digest; /* for integrity checking */
/** Digest state for cells heading away from the OR at this step. */
- crypto_digest_env_t *b_digest;
+ crypto_digest_t *b_digest;
/** Current state of Diffie-Hellman key negotiation with the OR at this
* step. */
- crypto_dh_env_t *dh_handshake_state;
+ crypto_dh_t *dh_handshake_state;
/** Current state of 'fast' (non-PK) key negotiation with the OR at this
* step. Used to save CPU when TLS is already providing all the
* authentication, secrecy, and integrity we need, and we're already
@@ -2393,6 +2408,18 @@ typedef struct crypt_path_t {
* at this step? */
} crypt_path_t;
+/** A reference-counted pointer to a crypt_path_t, used only to share
+ * the final rendezvous cpath to be used on a service-side rendezvous
+ * circuit among multiple circuits built in parallel to the same
+ * destination rendezvous point. */
+typedef struct {
+ /** The reference count. */
+ unsigned int refcount;
+ /** The pointer. Set to NULL when the crypt_path_t is put into use
+ * on an opened rendezvous circuit. */
+ crypt_path_t *cpath;
+} crypt_path_reference_t;
+
#define CPATH_KEY_MATERIAL_LEN (20*2+16*2)
#define DH_KEY_LEN DH_BYTES
@@ -2419,6 +2446,9 @@ typedef struct {
unsigned int onehop_tunnel : 1;
/** The crypt_path_t to append after rendezvous: used for rendezvous. */
crypt_path_t *pending_final_cpath;
+ /** A ref-counted reference to the crypt_path_t to append after
+ * rendezvous; used on the service side. */
+ crypt_path_reference_t *service_pending_final_cpath_ref;
/** How many times has building a circuit for this task failed? */
int failure_count;
/** At what time should we give up on this task? */
@@ -2594,6 +2624,30 @@ typedef struct origin_circuit_t {
* cannibalized circuits. */
unsigned int has_opened : 1;
+ /** Set iff this is a hidden-service circuit which has timed out
+ * according to our current circuit-build timeout, but which has
+ * been kept around because it might still succeed in connecting to
+ * its destination, and which is not a fully-connected rendezvous
+ * circuit.
+ *
+ * (We clear this flag for client-side rendezvous circuits when they
+ * are 'joined' to the other side's rendezvous circuit, so that
+ * connection_ap_handshake_attach_circuit can put client streams on
+ * the circuit. We also clear this flag for service-side rendezvous
+ * circuits when they are 'joined' to a client's rend circ, but only
+ * for symmetry with the client case. Client-side introduction
+ * circuits are closed when we get a joined rend circ, and
+ * service-side introduction circuits never have this flag set.) */
+ unsigned int hs_circ_has_timed_out : 1;
+
+ /** Set iff this is a service-side rendezvous circuit for which a
+ * new connection attempt has been launched. We consider launching
+ * a new service-side rend circ to a client when the previous one
+ * fails; now that we don't necessarily close a service-side rend
+ * circ when we launch a new one to the same client, this flag keeps
+ * us from launching two retries for the same failed rend circ. */
+ unsigned int hs_service_side_rend_circ_has_been_relaunched : 1;
+
/** What commands were sent over this circuit that decremented the
* RELAY_EARLY counter? This is for debugging task 878. */
uint8_t relay_early_commands[MAX_RELAY_EARLY_CELLS_PER_CIRCUIT];
@@ -2609,7 +2663,7 @@ typedef struct origin_circuit_t {
/* The intro key replaces the hidden service's public key if purpose is
* S_ESTABLISH_INTRO or S_INTRO, provided that no unversioned rendezvous
* descriptor is used. */
- crypto_pk_env_t *intro_key;
+ crypto_pk_t *intro_key;
/** Quasi-global identifier for this circuit; used for control.c */
/* XXXX NM This can get re-used after 2**32 circuits. */
@@ -2693,19 +2747,19 @@ typedef struct or_circuit_t {
edge_connection_t *resolving_streams;
/** The cipher used by intermediate hops for cells heading toward the
* OP. */
- crypto_cipher_env_t *p_crypto;
+ crypto_cipher_t *p_crypto;
/** The cipher used by intermediate hops for cells heading away from
* the OP. */
- crypto_cipher_env_t *n_crypto;
+ crypto_cipher_t *n_crypto;
/** The integrity-checking digest used by intermediate hops, for
* cells packaged here and heading towards the OP.
*/
- crypto_digest_env_t *p_digest;
+ crypto_digest_t *p_digest;
/** The integrity-checking digest used by intermediate hops, for
* cells packaged at the OP and arriving here.
*/
- crypto_digest_env_t *n_digest;
+ crypto_digest_t *n_digest;
/** Points to spliced circuit if purpose is REND_ESTABLISHED, and circuit
* is not marked for close. */
@@ -2831,16 +2885,37 @@ typedef struct port_cfg_t {
int session_group; /**< A session group, or -1 if this port is not in a
* session group. */
+ /* Server port types (or, dir) only: */
+ unsigned int no_advertise : 1;
+ unsigned int no_listen : 1;
+ unsigned int all_addrs : 1;
+ unsigned int ipv4_only : 1;
+ unsigned int ipv6_only : 1;
+
/* Unix sockets only: */
/** Path for an AF_UNIX address */
char unix_addr[FLEXIBLE_ARRAY_MEMBER];
} port_cfg_t;
+/** Ordinary configuration line. */
+#define CONFIG_LINE_NORMAL 0
+/** Appends to previous configuration for the same option, even if we
+ * would ordinary replace it. */
+#define CONFIG_LINE_APPEND 1
+/* Removes all previous configuration for an option. */
+#define CONFIG_LINE_CLEAR 2
+
/** A linked list of lines in a config file. */
typedef struct config_line_t {
char *key;
char *value;
struct config_line_t *next;
+ /** What special treatment (if any) does this line require? */
+ unsigned int command:2;
+ /** If true, subsequent assignments to this linelist should replace
+ * it, not extend it. Set only on the first item in a linelist in an
+ * or_options_t. */
+ unsigned int fragile:1;
} config_line_t;
typedef struct routerset_t routerset_t;
@@ -2873,6 +2948,8 @@ typedef struct {
char *Address; /**< OR only: configured address for this onion router. */
char *PidFile; /**< Where to store PID of Tor process. */
+ int DynamicDHGroups; /**< Dynamic generation of prime moduli for use in DH.*/
+
routerset_t *ExitNodes; /**< Structure containing nicknames, digests,
* country codes and IP address patterns of ORs to
* consider as exits. */
@@ -2930,17 +3007,18 @@ typedef struct {
int DirAllowPrivateAddresses;
char *User; /**< Name of user to run Tor as. */
char *Group; /**< Name of group to run Tor as. */
- int ORPort; /**< Port to listen on for OR connections. */
+ config_line_t *ORPort; /**< Ports to listen on for OR connections. */
config_line_t *SocksPort; /**< Ports to listen on for SOCKS connections. */
/** Ports to listen on for transparent pf/netfilter connections. */
config_line_t *TransPort;
config_line_t *NATDPort; /**< Ports to listen on for transparent natd
* connections. */
- int ControlPort; /**< Port to listen on for control connections. */
+ config_line_t *ControlPort; /**< Port to listen on for control
+ * connections. */
config_line_t *ControlSocket; /**< List of Unix Domain Sockets to listen on
* for control connections. */
int ControlSocketsGroupWritable; /**< Boolean: Are control sockets g+rw? */
- int DirPort; /**< Port to listen on for directory connections. */
+ config_line_t *DirPort; /**< Port to listen on for directory connections. */
config_line_t *DNSPort; /**< Port to listen on for DNS requests. */
int AssumeReachable; /**< Whether to publish our descriptor regardless. */
int AuthoritativeDir; /**< Boolean: is this an authoritative directory? */
@@ -3008,6 +3086,20 @@ typedef struct {
int AllDirActionsPrivate; /**< Should every directory action be sent
* through a Tor circuit? */
+ /** Run in 'tor2web mode'? (I.e. only make client connections to hidden
+ * services, and use a single hop for all hidden-service-related
+ * circuits.) */
+ int Tor2webMode;
+
+ /** Close hidden service client circuits immediately when they reach
+ * the normal circuit-build timeout, even if they have already sent
+ * an INTRODUCE1 cell on its way to the service. */
+ int CloseHSClientCircuitsImmediatelyOnTimeout;
+
+ /** Close hidden-service-side rendezvous circuits immediately when
+ * they reach the normal circuit-build timeout. */
+ int CloseHSServiceRendCircuitsImmediatelyOnTimeout;
+
int ConnLimit; /**< Demanded minimum number of simultaneous connections. */
int _ConnLimit; /**< Maximum allowed number of simultaneous connections. */
int RunAsDaemon; /**< If true, run in the background. (Unix only) */
@@ -3146,6 +3238,19 @@ typedef struct {
* reject. */
config_line_t *AuthDirInvalid; /**< Address policy for descriptors to
* never mark as valid. */
+ /** @name AuthDir...CC
+ *
+ * Lists of country codes to mark as BadDir, BadExit, or Invalid, or to
+ * reject entirely.
+ *
+ * @{
+ */
+ smartlist_t *AuthDirBadDirCCs;
+ smartlist_t *AuthDirBadExitCCs;
+ smartlist_t *AuthDirInvalidCCs;
+ smartlist_t *AuthDirRejectCCs;
+ /**@}*/
+
int AuthDirListBadDirs; /**< True iff we should list bad dirs,
* and vote for all other dir mirrors as good. */
int AuthDirListBadExits; /**< True iff we should list bad exits,
@@ -3162,6 +3267,14 @@ typedef struct {
* exploitation of CVE-2011-2768 against their clients? */
int GiveGuardFlagTo_CVE_2011_2768_VulnerableRelays;
+ /** If non-zero, always vote the Fast flag for any relay advertising
+ * this amount of capacity or more. */
+ uint64_t AuthDirFastGuarantee;
+
+ /** If non-zero, this advertised capacity or more is always sufficient
+ * to satisfy the bandwidth requirement for the Guard flag. */
+ uint64_t AuthDirGuardBWGuarantee;
+
char *AccountingStart; /**< How long is the accounting interval, and when
* does it start? */
uint64_t AccountingMax; /**< How many bytes do we allow per accounting
@@ -3240,6 +3353,8 @@ typedef struct {
disclaimer. This allows a server administrator to show
that they're running Tor and anyone visiting their server
will know this without any specialized knowledge. */
+ int DisableDebuggerAttachment; /**< Currently Linux only specific attempt to
+ disable ptrace; needs BSD testing. */
/** Boolean: if set, we start even if our resolv.conf file is missing
* or broken. */
int ServerDNSAllowBrokenConfig;
@@ -3424,6 +3539,15 @@ typedef struct {
* never use it. If -1, we do what the consensus says. */
int OptimisticData;
+ /** If 1, and we are using IOCP, we set the kernel socket SNDBUF and RCVBUF
+ * to 0 to try to save kernel memory and avoid the dread "Out of buffers"
+ * issue. */
+ int UserspaceIOCPBuffers;
+
+ /** If 1, we accept and launch no external network connections, except on
+ * control ports. */
+ int DisableNetwork;
+
} or_options_t;
/** Persistent state for an onion router, as saved to disk. */
@@ -3743,6 +3867,13 @@ typedef enum circuit_status_event_t {
CIRC_EVENT_CLOSED = 4,
} circuit_status_event_t;
+/** Used to indicate the type of a CIRC_MINOR event passed to the controller.
+ * The various types are defined in control-spec.txt . */
+typedef enum circuit_status_minor_event_t {
+ CIRC_MINOR_EVENT_PURPOSE_CHANGED,
+ CIRC_MINOR_EVENT_CANNIBALIZED,
+} circuit_status_minor_event_t;
+
/** Used to indicate the type of a stream event passed to the controller.
* The various types are defined in control-spec.txt */
typedef enum stream_status_event_t {
@@ -3995,7 +4126,7 @@ typedef enum {
typedef struct rend_authorized_client_t {
char *client_name;
char descriptor_cookie[REND_DESC_COOKIE_LEN];
- crypto_pk_env_t *client_key;
+ crypto_pk_t *client_key;
} rend_authorized_client_t;
/** ASCII-encoded v2 hidden service descriptor. */
@@ -4009,12 +4140,32 @@ typedef struct rend_encoded_v2_service_descriptor_t {
* introduction point. See also rend_intro_point_t.unreachable_count. */
#define MAX_INTRO_POINT_REACHABILITY_FAILURES 5
+/** The maximum number of distinct INTRODUCE2 cells which a hidden
+ * service's introduction point will receive before it begins to
+ * expire.
+ *
+ * XXX023 Is this number at all sane? */
+#define INTRO_POINT_LIFETIME_INTRODUCTIONS 16384
+
+/** The minimum number of seconds that an introduction point will last
+ * before expiring due to old age. (If it receives
+ * INTRO_POINT_LIFETIME_INTRODUCTIONS INTRODUCE2 cells, it may expire
+ * sooner.)
+ *
+ * XXX023 Should this be configurable? */
+#define INTRO_POINT_LIFETIME_MIN_SECONDS 18*60*60
+/** The maximum number of seconds that an introduction point will last
+ * before expiring due to old age.
+ *
+ * XXX023 Should this be configurable? */
+#define INTRO_POINT_LIFETIME_MAX_SECONDS 24*60*60
+
/** Introduction point information. Used both in rend_service_t (on
* the service side) and in rend_service_descriptor_t (on both the
* client and service side). */
typedef struct rend_intro_point_t {
extend_info_t *extend_info; /**< Extend info of this introduction point. */
- crypto_pk_env_t *intro_key; /**< Introduction key that replaces the service
+ crypto_pk_t *intro_key; /**< Introduction key that replaces the service
* key, if this descriptor is V2. */
/** (Client side only) Flag indicating that a timeout has occurred
@@ -4028,12 +4179,48 @@ typedef struct rend_intro_point_t {
* circuit to this intro point for some reason other than our
* circuit-build timeout. See also MAX_INTRO_POINT_REACHABILITY_FAILURES. */
unsigned int unreachable_count : 3;
+
+ /** (Service side only) Flag indicating that this intro point was
+ * included in the last HS descriptor we generated. */
+ unsigned int listed_in_last_desc : 1;
+
+ /** (Service side only) Flag indicating that
+ * rend_service_note_removing_intro_point has been called for this
+ * intro point. */
+ unsigned int rend_service_note_removing_intro_point_called : 1;
+
+ /** (Service side only) A digestmap recording the INTRODUCE2 cells
+ * this intro point's circuit has received. Each key is the digest
+ * of the RSA-encrypted part of a received INTRODUCE2 cell; each
+ * value is a pointer to the time_t at which the cell was received.
+ * This digestmap is used to prevent replay attacks. */
+ digestmap_t *accepted_intro_rsa_parts;
+
+ /** (Service side only) The time at which this intro point was first
+ * published, or -1 if this intro point has not yet been
+ * published. */
+ time_t time_published;
+
+ /** (Service side only) The time at which this intro point should
+ * (start to) expire, or -1 if we haven't decided when this intro
+ * point should expire. */
+ time_t time_to_expire;
+
+ /** (Service side only) The time at which we decided that this intro
+ * point should start expiring, or -1 if this intro point is not yet
+ * expiring.
+ *
+ * This field also serves as a flag to indicate that we have decided
+ * to expire this intro point, in case intro_point_should_expire_now
+ * flaps (perhaps due to a clock jump; perhaps due to other
+ * weirdness, or even a (present or future) bug). */
+ time_t time_expiring;
} rend_intro_point_t;
/** Information used to connect to a hidden service. Used on both the
* service side and the client side. */
typedef struct rend_service_descriptor_t {
- crypto_pk_env_t *pk; /**< This service's public key. */
+ crypto_pk_t *pk; /**< This service's public key. */
int version; /**< Version of the descriptor format: 0 or 2. */
time_t timestamp; /**< Time when the descriptor was generated. */
uint16_t protocols; /**< Bitmask: which rendezvous protocols are supported?
diff --git a/src/or/policies.c b/src/or/policies.c
index 40e527747..5eaebfaf1 100644
--- a/src/or/policies.c
+++ b/src/or/policies.c
@@ -14,6 +14,7 @@
#include "nodelist.h"
#include "policies.h"
#include "routerparse.h"
+#include "geoip.h"
#include "ht.h"
/** Policy that addresses for incoming SOCKS connections must match. */
@@ -74,7 +75,7 @@ policy_expand_private(smartlist_t **policy)
if (!*policy) /*XXXX disallow NULL policies? */
return;
- tmp = smartlist_create();
+ tmp = smartlist_new();
SMARTLIST_FOREACH(*policy, addr_policy_t *, p,
{
@@ -121,8 +122,8 @@ parse_addr_policy(config_line_t *cfg, smartlist_t **dest,
if (!cfg)
return 0;
- result = smartlist_create();
- entries = smartlist_create();
+ result = smartlist_new();
+ entries = smartlist_new();
for (; cfg; cfg = cfg->next) {
smartlist_split_string(entries, cfg->value, ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
@@ -313,13 +314,29 @@ socks_policy_permits_address(const tor_addr_t *addr)
return addr_policy_permits_tor_addr(addr, 1, socks_policy);
}
+/** Return true iff the address <b>addr</b> is in a country listed in the
+ * case-insensitive list of country codes <b>cc_list</b>. */
+static int
+addr_is_in_cc_list(uint32_t addr, const smartlist_t *cc_list)
+{
+ country_t country;
+ const char *name;
+ if (!cc_list)
+ return 0;
+ country = geoip_get_country_by_ip(addr);
+ name = geoip_get_country_name(country);
+ return smartlist_string_isin_case(cc_list, name);
+}
+
/** Return 1 if <b>addr</b>:<b>port</b> is permitted to publish to our
* directory, based on <b>authdir_reject_policy</b>. Else return 0.
*/
int
authdir_policy_permits_address(uint32_t addr, uint16_t port)
{
- return addr_policy_permits_address(addr, port, authdir_reject_policy);
+ if (! addr_policy_permits_address(addr, port, authdir_reject_policy))
+ return 0;
+ return !addr_is_in_cc_list(addr, get_options()->AuthDirRejectCCs);
}
/** Return 1 if <b>addr</b>:<b>port</b> is considered valid in our
@@ -328,7 +345,9 @@ authdir_policy_permits_address(uint32_t addr, uint16_t port)
int
authdir_policy_valid_address(uint32_t addr, uint16_t port)
{
- return addr_policy_permits_address(addr, port, authdir_invalid_policy);
+ if (! addr_policy_permits_address(addr, port, authdir_invalid_policy))
+ return 0;
+ return !addr_is_in_cc_list(addr, get_options()->AuthDirInvalidCCs);
}
/** Return 1 if <b>addr</b>:<b>port</b> should be marked as a bad dir,
@@ -337,7 +356,9 @@ authdir_policy_valid_address(uint32_t addr, uint16_t port)
int
authdir_policy_baddir_address(uint32_t addr, uint16_t port)
{
- return ! addr_policy_permits_address(addr, port, authdir_baddir_policy);
+ if (! addr_policy_permits_address(addr, port, authdir_baddir_policy))
+ return 1;
+ return addr_is_in_cc_list(addr, get_options()->AuthDirBadDirCCs);
}
/** Return 1 if <b>addr</b>:<b>port</b> should be marked as a bad exit,
@@ -346,7 +367,9 @@ authdir_policy_baddir_address(uint32_t addr, uint16_t port)
int
authdir_policy_badexit_address(uint32_t addr, uint16_t port)
{
- return ! addr_policy_permits_address(addr, port, authdir_badexit_policy);
+ if (! addr_policy_permits_address(addr, port, authdir_badexit_policy))
+ return 1;
+ return addr_is_in_cc_list(addr, get_options()->AuthDirBadExitCCs);
}
#define REJECT(arg) \
@@ -646,7 +669,7 @@ compare_unknown_tor_addr_to_addr_policy(uint16_t port,
SMARTLIST_FOREACH_BEGIN(policy, addr_policy_t *, tmpe) {
if (tmpe->prt_min <= port && port <= tmpe->prt_max) {
- if (tmpe->maskbits == 0) {
+ if (tmpe->maskbits == 0) {
/* Definitely matches, since it covers all addresses. */
if (tmpe->policy_type == ADDR_POLICY_ACCEPT) {
/* If we already hit a clause that might trigger a 'reject', than we
@@ -1041,7 +1064,7 @@ policy_summary_create(void)
item->reject_count = 0;
item->accepted = 0;
- summary = smartlist_create();
+ summary = smartlist_new();
smartlist_add(summary, item);
return summary;
@@ -1195,7 +1218,7 @@ policy_summarize(smartlist_t *policy)
smartlist_t *summary = policy_summary_create();
smartlist_t *accepts, *rejects;
int i, last, start_prt;
- size_t accepts_len, rejects_len, shorter_len, final_size;
+ size_t accepts_len, rejects_len;
char *accepts_str = NULL, *rejects_str = NULL, *shorter_str, *result;
const char *prefix;
@@ -1213,8 +1236,8 @@ policy_summarize(smartlist_t *policy)
*/
i = 0;
start_prt = 1;
- accepts = smartlist_create();
- rejects = smartlist_create();
+ accepts = smartlist_new();
+ rejects = smartlist_new();
while (1) {
last = i == smartlist_len(summary)-1;
if (last ||
@@ -1267,21 +1290,15 @@ policy_summarize(smartlist_t *policy)
tor_assert(*c == ',');
*c = '\0';
- shorter_len = strlen(shorter_str);
} else if (rejects_len < accepts_len) {
shorter_str = rejects_str;
- shorter_len = rejects_len;
prefix = "reject";
} else {
shorter_str = accepts_str;
- shorter_len = accepts_len;
prefix = "accept";
}
- final_size = strlen(prefix)+1+shorter_len+1;
- tor_assert(final_size <= MAX_EXITPOLICY_SUMMARY_LEN+1);
- result = tor_malloc(final_size);
- tor_snprintf(result, final_size, "%s %s", prefix, shorter_str);
+ tor_asprintf(&result, "%s %s", prefix, shorter_str);
cleanup:
/* cleanup */
@@ -1435,7 +1452,17 @@ compare_tor_addr_to_short_policy(const tor_addr_t *addr, uint16_t port,
else
accept = ! policy->is_accept;
- /* ???? are these right? */
+ /* ???? are these right? -NM */
+ /* We should be sure not to return ADDR_POLICY_ACCEPTED in the accept
+ * case here, because it would cause clients to believe that the node
+ * allows exit enclaving. Trying it anyway would open up a cool attack
+ * where the node refuses due to exitpolicy, the client reacts in
+ * surprise by rewriting the node's exitpolicy to reject *:*, and then
+ * a bad guy targets users by causing them to attempt such connections
+ * to 98% of the exits.
+ *
+ * Once microdescriptors can handle addresses in special cases (e.g. if
+ * we ever solve ticket 1774), we can provide certainty here. -RD */
if (accept)
return ADDR_POLICY_PROBABLY_ACCEPTED;
else
diff --git a/src/or/reasons.c b/src/or/reasons.c
index 319e6c055..bcf15ff8f 100644
--- a/src/or/reasons.c
+++ b/src/or/reasons.c
@@ -143,7 +143,7 @@ stream_end_reason_to_socks5_response(int reason)
* E_CASE is for errors where windows has both a EFOO and a WSAEFOO
* version, and S_CASE is for errors where windows has only a WSAEFOO
* version. (The E is for 'error', the S is for 'socket'). */
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#define E_CASE(s) case s: case WSA ## s
#define S_CASE(s) case WSA ## s
#else
diff --git a/src/or/relay.c b/src/or/relay.c
index 51a29a20e..38a563fec 100644
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@ -11,6 +11,7 @@
**/
#include <math.h>
+#define RELAY_PRIVATE
#include "or.h"
#include "buffers.h"
#include "circuitbuild.h"
@@ -33,9 +34,6 @@
#include "routerlist.h"
#include "routerparse.h"
-static int relay_crypt(circuit_t *circ, cell_t *cell,
- cell_direction_t cell_direction,
- crypt_path_t **layer_hint, char *recognized);
static edge_connection_t *relay_lookup_conn(circuit_t *circ, cell_t *cell,
cell_direction_t cell_direction,
crypt_path_t *layer_hint);
@@ -94,7 +92,7 @@ uint64_t stats_n_relay_cells_delivered = 0;
* cell.
*/
static void
-relay_set_digest(crypto_digest_env_t *digest, cell_t *cell)
+relay_set_digest(crypto_digest_t *digest, cell_t *cell)
{
char integrity[4];
relay_header_t rh;
@@ -115,11 +113,11 @@ relay_set_digest(crypto_digest_env_t *digest, cell_t *cell)
* and cell to their original state and return 0.
*/
static int
-relay_digest_matches(crypto_digest_env_t *digest, cell_t *cell)
+relay_digest_matches(crypto_digest_t *digest, cell_t *cell)
{
char received_integrity[4], calculated_integrity[4];
relay_header_t rh;
- crypto_digest_env_t *backup_digest=NULL;
+ crypto_digest_t *backup_digest=NULL;
backup_digest = crypto_digest_dup(digest);
@@ -143,10 +141,10 @@ relay_digest_matches(crypto_digest_env_t *digest, cell_t *cell)
/* restore the relay header */
memcpy(rh.integrity, received_integrity, 4);
relay_header_pack(cell->payload, &rh);
- crypto_free_digest_env(backup_digest);
+ crypto_digest_free(backup_digest);
return 0;
}
- crypto_free_digest_env(backup_digest);
+ crypto_digest_free(backup_digest);
return 1;
}
@@ -158,7 +156,7 @@ relay_digest_matches(crypto_digest_env_t *digest, cell_t *cell)
* Return -1 if the crypto fails, else return 0.
*/
static int
-relay_crypt_one_payload(crypto_cipher_env_t *cipher, uint8_t *in,
+relay_crypt_one_payload(crypto_cipher_t *cipher, uint8_t *in,
int encrypt_mode)
{
int r;
@@ -297,7 +295,7 @@ circuit_receive_relay_cell(cell_t *cell, circuit_t *circ,
* Return -1 to indicate that we should mark the circuit for close,
* else return 0.
*/
-static int
+int
relay_crypt(circuit_t *circ, cell_t *cell, cell_direction_t cell_direction,
crypt_path_t **layer_hint, char *recognized)
{
@@ -609,7 +607,7 @@ relay_send_command_from_edge(streamid_t stream_id, circuit_t *circ,
/* If no RELAY_EARLY cells can be sent over this circuit, log which
* commands have been sent as RELAY_EARLY cells before; helps debug
* task 878. */
- smartlist_t *commands_list = smartlist_create();
+ smartlist_t *commands_list = smartlist_new();
int i = 0;
char *commands = NULL;
for (; i < origin_circ->relay_early_cells_sent; i++)
@@ -926,6 +924,7 @@ connection_edge_process_relay_cell_not_open(
}
circuit_log_path(LOG_INFO,LD_APP,TO_ORIGIN_CIRCUIT(circ));
/* don't send a socks reply to transparent conns */
+ tor_assert(entry_conn->socks_request != NULL);
if (!entry_conn->socks_request->has_finished)
connection_ap_handshake_socks_reply(entry_conn, NULL, 0, 0);
@@ -1189,13 +1188,40 @@ connection_edge_process_relay_cell(cell_t *cell, circuit_t *circ,
connection_mark_and_flush(TO_CONN(conn));
}
return 0;
- case RELAY_COMMAND_EXTEND:
+ case RELAY_COMMAND_EXTEND: {
+ static uint64_t total_n_extend=0, total_nonearly=0;
+ total_n_extend++;
if (conn) {
log_fn(LOG_PROTOCOL_WARN, domain,
"'extend' cell received for non-zero stream. Dropping.");
return 0;
}
+ if (cell->command != CELL_RELAY_EARLY &&
+ !networkstatus_get_param(NULL,"AllowNonearlyExtend",0,0,1)) {
+#define EARLY_WARNING_INTERVAL 3600
+ static ratelim_t early_warning_limit =
+ RATELIM_INIT(EARLY_WARNING_INTERVAL);
+ char *m;
+ if (cell->command == CELL_RELAY) {
+ ++total_nonearly;
+ if ((m = rate_limit_log(&early_warning_limit, approx_time()))) {
+ double percentage = ((double)total_nonearly)/total_n_extend;
+ percentage *= 100;
+ log_fn(LOG_PROTOCOL_WARN, domain, "EXTEND cell received, "
+ "but not via RELAY_EARLY. Dropping.%s", m);
+ log_fn(LOG_PROTOCOL_WARN, domain, " (We have dropped %.02f%% of "
+ "all EXTEND cells for this reason)", percentage);
+ tor_free(m);
+ }
+ } else {
+ log_fn(LOG_WARN, domain,
+ "EXTEND cell received, in a cell with type %d! Dropping.",
+ cell->command);
+ }
+ return 0;
+ }
return circuit_extend(cell, circ);
+ }
case RELAY_COMMAND_EXTENDED:
if (!layer_hint) {
log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
@@ -2496,10 +2522,6 @@ append_cell_to_circuit_queue(circuit_t *circ, or_connection_t *orconn,
queue = &orcirc->p_conn_cells;
streams_blocked = circ->streams_blocked_on_p_conn;
}
- if (cell->command == CELL_RELAY_EARLY && orconn->link_proto < 2) {
- /* V1 connections don't understand RELAY_EARLY. */
- cell->command = CELL_RELAY;
- }
cell_queue_append_packed_copy(queue, cell);
diff --git a/src/or/relay.h b/src/or/relay.h
index 7fce8edca..1cd4008bb 100644
--- a/src/or/relay.h
+++ b/src/or/relay.h
@@ -66,5 +66,10 @@ void circuit_clear_cell_queue(circuit_t *circ, or_connection_t *orconn);
void tor_gettimeofday_cache_clear(void);
+#ifdef RELAY_PRIVATE
+int relay_crypt(circuit_t *circ, cell_t *cell, cell_direction_t cell_direction,
+ crypt_path_t **layer_hint, char *recognized);
+#endif
+
#endif
diff --git a/src/or/rendclient.c b/src/or/rendclient.c
index 1038378de..da32791f0 100644
--- a/src/or/rendclient.c
+++ b/src/or/rendclient.c
@@ -131,7 +131,7 @@ rend_client_send_introduction(origin_circuit_t *introcirc,
rend_cache_entry_t *entry;
crypt_path_t *cpath;
off_t dh_offset;
- crypto_pk_env_t *intro_key = NULL;
+ crypto_pk_t *intro_key = NULL;
tor_assert(introcirc->_base.purpose == CIRCUIT_PURPOSE_C_INTRODUCING);
tor_assert(rendcirc->_base.purpose == CIRCUIT_PURPOSE_C_REND_READY);
@@ -139,8 +139,10 @@ rend_client_send_introduction(origin_circuit_t *introcirc,
tor_assert(rendcirc->rend_data);
tor_assert(!rend_cmp_service_ids(introcirc->rend_data->onion_address,
rendcirc->rend_data->onion_address));
+#ifndef NON_ANONYMOUS_MODE_ENABLED
tor_assert(!(introcirc->build_state->onehop_tunnel));
tor_assert(!(rendcirc->build_state->onehop_tunnel));
+#endif
if (rend_cache_lookup_entry(introcirc->rend_data->onion_address, -1,
&entry) < 1) {
@@ -273,6 +275,12 @@ rend_client_send_introduction(origin_circuit_t *introcirc,
payload_len = DIGEST_LEN + r;
tor_assert(payload_len <= RELAY_PAYLOAD_SIZE); /* we overran something */
+ /* Copy the rendezvous cookie from rendcirc to introcirc, so that
+ * when introcirc gets an ack, we can change the state of the right
+ * rendezvous circuit. */
+ memcpy(introcirc->rend_data->rend_cookie, rendcirc->rend_data->rend_cookie,
+ REND_COOKIE_LEN);
+
log_info(LD_REND, "Sending an INTRODUCE1 cell");
if (relay_send_command_from_edge(0, TO_CIRCUIT(introcirc),
RELAY_COMMAND_INTRODUCE1,
@@ -284,7 +292,8 @@ rend_client_send_introduction(origin_circuit_t *introcirc,
}
/* Now, we wait for an ACK or NAK on this circuit. */
- introcirc->_base.purpose = CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT;
+ circuit_change_purpose(TO_CIRCUIT(introcirc),
+ CIRCUIT_PURPOSE_C_INTRODUCE_ACK_WAIT);
/* Set timestamp_dirty, because circuit_expire_building expects it
* to specify when a circuit entered the _C_INTRODUCE_ACK_WAIT
* state. */
@@ -331,7 +340,9 @@ rend_client_introduction_acked(origin_circuit_t *circ,
}
tor_assert(circ->build_state->chosen_exit);
+#ifndef NON_ANONYMOUS_MODE_ENABLED
tor_assert(!(circ->build_state->onehop_tunnel));
+#endif
tor_assert(circ->rend_data);
if (request_len == 0) {
@@ -340,11 +351,13 @@ rend_client_introduction_acked(origin_circuit_t *circ,
* and tell it.
*/
log_info(LD_REND,"Received ack. Telling rend circ...");
- rendcirc = circuit_get_by_rend_query_and_purpose(
- circ->rend_data->onion_address, CIRCUIT_PURPOSE_C_REND_READY);
+ rendcirc = circuit_get_ready_rend_circ_by_rend_data(circ->rend_data);
if (rendcirc) { /* remember the ack */
+#ifndef NON_ANONYMOUS_MODE_ENABLED
tor_assert(!(rendcirc->build_state->onehop_tunnel));
- rendcirc->_base.purpose = CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED;
+#endif
+ circuit_change_purpose(TO_CIRCUIT(rendcirc),
+ CIRCUIT_PURPOSE_C_REND_READY_INTRO_ACKED);
/* Set timestamp_dirty, because circuit_expire_building expects
* it to specify when a circuit entered the
* _C_REND_READY_INTRO_ACKED state. */
@@ -353,11 +366,12 @@ rend_client_introduction_acked(origin_circuit_t *circ,
log_info(LD_REND,"...Found no rend circ. Dropping on the floor.");
}
/* close the circuit: we won't need it anymore. */
- circ->_base.purpose = CIRCUIT_PURPOSE_C_INTRODUCE_ACKED;
+ circuit_change_purpose(TO_CIRCUIT(circ),
+ CIRCUIT_PURPOSE_C_INTRODUCE_ACKED);
circuit_mark_for_close(TO_CIRCUIT(circ), END_CIRC_REASON_FINISHED);
} else {
/* It's a NAK; the introduction point didn't relay our request. */
- circ->_base.purpose = CIRCUIT_PURPOSE_C_INTRODUCING;
+ circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_C_INTRODUCING);
/* Remove this intro point from the set of viable introduction
* points. If any remain, extend to a new one and try again.
* If none remain, refetch the service descriptor.
@@ -524,11 +538,12 @@ rend_client_purge_last_hid_serv_requests(void)
static int
directory_get_from_hs_dir(const char *desc_id, const rend_data_t *rend_query)
{
- smartlist_t *responsible_dirs = smartlist_create();
+ smartlist_t *responsible_dirs = smartlist_new();
routerstatus_t *hs_dir;
char desc_id_base32[REND_DESC_ID_V2_LEN_BASE32 + 1];
time_t now = time(NULL);
char descriptor_cookie_base64[3*REND_DESC_COOKIE_LEN_BASE64];
+ int tor2web_mode = get_options()->Tor2webMode;
tor_assert(desc_id);
tor_assert(rend_query);
/* Determine responsible dirs. Even if we can't get all we want,
@@ -587,7 +602,8 @@ directory_get_from_hs_dir(const char *desc_id, const rend_data_t *rend_query)
directory_initiate_command_routerstatus_rend(hs_dir,
DIR_PURPOSE_FETCH_RENDDESC_V2,
ROUTER_PURPOSE_GENERAL,
- 1, desc_id_base32, NULL, 0, 0,
+ !tor2web_mode, desc_id_base32,
+ NULL, 0, 0,
rend_query);
log_info(LD_REND, "Sending fetch request for v2 descriptor for "
"service '%s' with descriptor ID '%s', auth type %d, "
@@ -810,7 +826,7 @@ rend_client_rendezvous_acked(origin_circuit_t *circ, const uint8_t *request,
}
log_info(LD_REND,"Got rendezvous ack. This circuit is now ready for "
"rendezvous.");
- circ->_base.purpose = CIRCUIT_PURPOSE_C_REND_READY;
+ circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_C_REND_READY);
/* Set timestamp_dirty, because circuit_expire_building expects it
* to specify when a circuit entered the _C_REND_READY state. */
circ->_base.timestamp_dirty = time(NULL);
@@ -874,7 +890,7 @@ rend_client_receive_rendezvous(origin_circuit_t *circ, const uint8_t *request,
hop->dh_handshake_state = NULL;
/* All is well. Extend the circuit. */
- circ->_base.purpose = CIRCUIT_PURPOSE_C_REND_JOINED;
+ circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_C_REND_JOINED);
hop->state = CPATH_STATE_OPEN;
/* set the windows to default. these are the windows
* that alice thinks bob has.
@@ -882,12 +898,16 @@ rend_client_receive_rendezvous(origin_circuit_t *circ, const uint8_t *request,
hop->package_window = circuit_initial_package_window();
hop->deliver_window = CIRCWINDOW_START;
+ /* Now that this circuit has finished connecting to its destination,
+ * make sure circuit_get_open_circ_or_launch is willing to return it
+ * so we can actually use it. */
+ circ->hs_circ_has_timed_out = 0;
+
onion_append_to_cpath(&circ->cpath, hop);
circ->build_state->pending_final_cpath = NULL; /* prevent double-free */
- /* XXXX023 This is a pretty brute-force approach. It'd be better to
- * attach only the connections that are waiting on this circuit, rather
- * than trying to attach them all. See comments bug 743. */
- connection_ap_attach_pending();
+
+ circuit_try_attaching_streams(circ);
+
memset(keys, 0, sizeof(keys));
return 0;
err:
@@ -1020,7 +1040,7 @@ rend_client_get_random_intro_impl(const rend_cache_entry_t *entry,
/* We'll keep a separate list of the usable nodes. If this becomes empty,
* no nodes are usable. */
- usable_nodes = smartlist_create();
+ usable_nodes = smartlist_new();
smartlist_add_all(usable_nodes, entry->parsed->intro_nodes);
/* Remove the intro points that have timed out during this HS
@@ -1048,6 +1068,7 @@ rend_client_get_random_intro_impl(const rend_cache_entry_t *entry,
/* Do we need to look up the router or is the extend info complete? */
if (!intro->extend_info->onion_key) {
const node_t *node;
+ extend_info_t *new_extend_info;
if (tor_digest_is_zero(intro->extend_info->identity_digest))
node = node_get_by_hex_id(intro->extend_info->nickname);
else
@@ -1058,8 +1079,18 @@ rend_client_get_random_intro_impl(const rend_cache_entry_t *entry,
smartlist_del(usable_nodes, i);
goto again;
}
- extend_info_free(intro->extend_info);
- intro->extend_info = extend_info_from_node(node);
+ new_extend_info = extend_info_from_node(node, 0);
+ if (!new_extend_info) {
+ log_info(LD_REND, "We don't have a descriptor for the intro-point relay "
+ "'%s'; trying another.",
+ extend_info_describe(intro->extend_info));
+ smartlist_del(usable_nodes, i);
+ goto again;
+ } else {
+ extend_info_free(intro->extend_info);
+ intro->extend_info = new_extend_info;
+ }
+ tor_assert(intro->extend_info != NULL);
}
/* Check if we should refuse to talk to this router. */
if (strict &&
@@ -1079,8 +1110,13 @@ rend_client_get_random_intro_impl(const rend_cache_entry_t *entry,
int
rend_client_any_intro_points_usable(const rend_cache_entry_t *entry)
{
- return rend_client_get_random_intro_impl(
- entry, get_options()->StrictNodes, 0) != NULL;
+ extend_info_t *extend_info =
+ rend_client_get_random_intro_impl(entry, get_options()->StrictNodes, 0);
+
+ int rv = (extend_info != NULL);
+
+ extend_info_free(extend_info);
+ return rv;
}
/** Client-side authorizations for hidden services; map of onion address to
@@ -1134,7 +1170,7 @@ rend_parse_service_authorization(const or_options_t *options,
config_line_t *line;
int res = -1;
strmap_t *parsed = strmap_new();
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
rend_service_authorization_t *auth = NULL;
for (line = options->HidServAuth; line; line = line->next) {
diff --git a/src/or/rendcommon.c b/src/or/rendcommon.c
index 94bb00221..9c7bf518d 100644
--- a/src/or/rendcommon.c
+++ b/src/or/rendcommon.c
@@ -34,7 +34,7 @@ rend_service_descriptor_free(rend_service_descriptor_t *desc)
if (!desc)
return;
if (desc->pk)
- crypto_free_pk_env(desc->pk);
+ crypto_pk_free(desc->pk);
if (desc->intro_nodes) {
SMARTLIST_FOREACH(desc->intro_nodes, rend_intro_point_t *, intro,
rend_intro_point_free(intro););
@@ -64,11 +64,11 @@ rend_get_descriptor_id_bytes(char *descriptor_id_out,
const char *service_id,
const char *secret_id_part)
{
- crypto_digest_env_t *digest = crypto_new_digest_env();
+ crypto_digest_t *digest = crypto_digest_new();
crypto_digest_add_bytes(digest, service_id, REND_SERVICE_ID_LEN);
crypto_digest_add_bytes(digest, secret_id_part, DIGEST_LEN);
crypto_digest_get_digest(digest, descriptor_id_out, DIGEST_LEN);
- crypto_free_digest_env(digest);
+ crypto_digest_free(digest);
}
/** Compute the secret ID part for time_period,
@@ -80,7 +80,7 @@ static void
get_secret_id_part_bytes(char *secret_id_part, uint32_t time_period,
const char *descriptor_cookie, uint8_t replica)
{
- crypto_digest_env_t *digest = crypto_new_digest_env();
+ crypto_digest_t *digest = crypto_digest_new();
time_period = htonl(time_period);
crypto_digest_add_bytes(digest, (char*)&time_period, sizeof(uint32_t));
if (descriptor_cookie) {
@@ -89,7 +89,7 @@ get_secret_id_part_bytes(char *secret_id_part, uint32_t time_period,
}
crypto_digest_add_bytes(digest, (const char *)&replica, REND_REPLICA_LEN);
crypto_digest_get_digest(digest, secret_id_part, DIGEST_LEN);
- crypto_free_digest_env(digest);
+ crypto_digest_free(digest);
}
/** Return the time period for time <b>now</b> plus a potentially
@@ -181,7 +181,7 @@ rend_encode_v2_intro_points(char **encoded, rend_service_descriptor_t *desc)
char id_base32[REND_INTRO_POINT_ID_LEN_BASE32 + 1];
char *onion_key = NULL;
size_t onion_key_len;
- crypto_pk_env_t *intro_key;
+ crypto_pk_t *intro_key;
char *service_key = NULL;
char *address = NULL;
size_t service_key_len;
@@ -262,8 +262,8 @@ rend_encrypt_v2_intro_points_basic(char **encrypted_out,
char *enc = NULL, iv[CIPHER_IV_LEN], *client_part = NULL,
session_key[CIPHER_KEY_LEN];
smartlist_t *encrypted_session_keys = NULL;
- crypto_digest_env_t *digest;
- crypto_cipher_env_t *cipher;
+ crypto_digest_t *digest;
+ crypto_cipher_t *cipher;
tor_assert(encoded);
tor_assert(client_cookies && smartlist_len(client_cookies) > 0);
@@ -294,7 +294,7 @@ rend_encrypt_v2_intro_points_basic(char **encrypted_out,
enclen = crypto_cipher_encrypt_with_iv(cipher,
enc + 2 + client_entries_len,
CIPHER_IV_LEN + strlen(encoded), encoded, strlen(encoded));
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
if (enclen < 0) {
log_warn(LD_REND, "Could not encrypt introduction point string.");
goto done;
@@ -303,7 +303,7 @@ rend_encrypt_v2_intro_points_basic(char **encrypted_out,
/* Encrypt session key for cookies, determine client IDs, and put both
* in a smartlist. */
- encrypted_session_keys = smartlist_create();
+ encrypted_session_keys = smartlist_new();
SMARTLIST_FOREACH_BEGIN(client_cookies, const char *, cookie) {
client_part = tor_malloc_zero(REND_BASIC_AUTH_CLIENT_ENTRY_LEN);
/* Encrypt session key. */
@@ -312,19 +312,19 @@ rend_encrypt_v2_intro_points_basic(char **encrypted_out,
REND_BASIC_AUTH_CLIENT_ID_LEN,
session_key, CIPHER_KEY_LEN) < 0) {
log_warn(LD_REND, "Could not encrypt session key for client.");
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
tor_free(client_part);
goto done;
}
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
/* Determine client ID. */
- digest = crypto_new_digest_env();
+ digest = crypto_digest_new();
crypto_digest_add_bytes(digest, cookie, REND_DESC_COOKIE_LEN);
crypto_digest_add_bytes(digest, iv, CIPHER_IV_LEN);
crypto_digest_get_digest(digest, client_part,
REND_BASIC_AUTH_CLIENT_ID_LEN);
- crypto_free_digest_env(digest);
+ crypto_digest_free(digest);
/* Put both together. */
smartlist_add(encrypted_session_keys, client_part);
@@ -374,7 +374,7 @@ rend_encrypt_v2_intro_points_stealth(char **encrypted_out,
const char *descriptor_cookie)
{
int r = -1, enclen;
- crypto_cipher_env_t *cipher;
+ crypto_cipher_t *cipher;
char *enc;
tor_assert(encoded);
tor_assert(descriptor_cookie);
@@ -385,7 +385,7 @@ rend_encrypt_v2_intro_points_stealth(char **encrypted_out,
enclen = crypto_cipher_encrypt_with_iv(cipher, enc + 1,
CIPHER_IV_LEN+strlen(encoded),
encoded, strlen(encoded));
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
if (enclen < 0) {
log_warn(LD_REND, "Could not encrypt introduction point string.");
goto done;
@@ -439,7 +439,12 @@ rend_intro_point_free(rend_intro_point_t *intro)
return;
extend_info_free(intro->extend_info);
- crypto_free_pk_env(intro->intro_key);
+ crypto_pk_free(intro->intro_key);
+
+ if (intro->accepted_intro_rsa_parts != NULL) {
+ digestmap_free(intro->accepted_intro_rsa_parts, _tor_free);
+ }
+
tor_free(intro);
}
@@ -455,7 +460,7 @@ int
rend_encode_v2_descriptors(smartlist_t *descs_out,
rend_service_descriptor_t *desc, time_t now,
uint8_t period, rend_auth_type_t auth_type,
- crypto_pk_env_t *client_key,
+ crypto_pk_t *client_key,
smartlist_t *client_cookies)
{
char service_id[DIGEST_LEN];
@@ -465,7 +470,7 @@ rend_encode_v2_descriptors(smartlist_t *descs_out,
size_t ipos_len = 0, ipos_encrypted_len = 0;
int k;
uint32_t seconds_valid;
- crypto_pk_env_t *service_key;
+ crypto_pk_t *service_key;
if (!desc) {
log_warn(LD_BUG, "Could not encode v2 descriptor: No desc given.");
return -1;
@@ -703,7 +708,7 @@ rend_parse_service_descriptor(const char *str, size_t len)
n_intro_points = ntohs(get_uint16(cp));
cp += 2;
- result->intro_nodes = smartlist_create();
+ result->intro_nodes = smartlist_new();
for (i=0;i<n_intro_points;++i) {
if (end-cp < 2) goto truncated;
eos = (const char *)memchr(cp,'\0',end-cp);
@@ -748,7 +753,7 @@ rend_parse_service_descriptor(const char *str, size_t len)
* identify services in directory requests and .onion URLs.)
*/
int
-rend_get_service_id(crypto_pk_env_t *pk, char *out)
+rend_get_service_id(crypto_pk_t *pk, char *out)
{
char buf[DIGEST_LEN];
tor_assert(pk);
@@ -1314,7 +1319,7 @@ rend_cache_store_v2_desc_as_client(const char *desc,
}
} else {
log_info(LD_REND, "Descriptor does not contain any introduction points.");
- parsed->intro_nodes = smartlist_create();
+ parsed->intro_nodes = smartlist_new();
}
/* We don't need the encoded/encrypted introduction points any longer. */
tor_free(intro_content);
diff --git a/src/or/rendcommon.h b/src/or/rendcommon.h
index 0d64466db..e63315503 100644
--- a/src/or/rendcommon.h
+++ b/src/or/rendcommon.h
@@ -28,7 +28,7 @@ void rend_process_relay_cell(circuit_t *circ, const crypt_path_t *layer_hint,
void rend_service_descriptor_free(rend_service_descriptor_t *desc);
rend_service_descriptor_t *rend_parse_service_descriptor(const char *str,
size_t len);
-int rend_get_service_id(crypto_pk_env_t *pk, char *out);
+int rend_get_service_id(crypto_pk_t *pk, char *out);
void rend_encoded_v2_service_descriptor_free(
rend_encoded_v2_service_descriptor_t *desc);
void rend_intro_point_free(rend_intro_point_t *intro);
@@ -53,7 +53,7 @@ int rend_cache_size(void);
int rend_encode_v2_descriptors(smartlist_t *descs_out,
rend_service_descriptor_t *desc, time_t now,
uint8_t period, rend_auth_type_t auth_type,
- crypto_pk_env_t *client_key,
+ crypto_pk_t *client_key,
smartlist_t *client_cookies);
int rend_compute_v2_desc_id(char *desc_id_out, const char *service_id,
const char *descriptor_cookie,
diff --git a/src/or/rendmid.c b/src/or/rendmid.c
index 04edd8e3e..2742c351b 100644
--- a/src/or/rendmid.c
+++ b/src/or/rendmid.c
@@ -9,6 +9,7 @@
#include "or.h"
#include "circuitlist.h"
+#include "circuituse.h"
#include "config.h"
#include "relay.h"
#include "rendmid.h"
@@ -21,7 +22,7 @@ int
rend_mid_establish_intro(or_circuit_t *circ, const uint8_t *request,
size_t request_len)
{
- crypto_pk_env_t *pk = NULL;
+ crypto_pk_t *pk = NULL;
char buf[DIGEST_LEN+9];
char expected_digest[DIGEST_LEN];
char pk_digest[DIGEST_LEN];
@@ -85,7 +86,7 @@ rend_mid_establish_intro(or_circuit_t *circ, const uint8_t *request,
goto err;
}
- crypto_free_pk_env(pk); /* don't need it anymore */
+ crypto_pk_free(pk); /* don't need it anymore */
pk = NULL; /* so we don't free it again if err */
base32_encode(serviceid, REND_SERVICE_ID_LEN_BASE32+1,
@@ -109,7 +110,7 @@ rend_mid_establish_intro(or_circuit_t *circ, const uint8_t *request,
}
/* Now, set up this circuit. */
- circ->_base.purpose = CIRCUIT_PURPOSE_INTRO_POINT;
+ circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_INTRO_POINT);
memcpy(circ->rend_token, pk_digest, DIGEST_LEN);
log_info(LD_REND,
@@ -121,7 +122,7 @@ rend_mid_establish_intro(or_circuit_t *circ, const uint8_t *request,
log_warn(LD_PROTOCOL, "Rejecting truncated ESTABLISH_INTRO cell.");
reason = END_CIRC_REASON_TORPROTOCOL;
err:
- if (pk) crypto_free_pk_env(pk);
+ if (pk) crypto_pk_free(pk);
circuit_mark_for_close(TO_CIRCUIT(circ), reason);
return -1;
}
@@ -249,7 +250,7 @@ rend_mid_establish_rendezvous(or_circuit_t *circ, const uint8_t *request,
goto err;
}
- circ->_base.purpose = CIRCUIT_PURPOSE_REND_POINT_WAITING;
+ circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_REND_POINT_WAITING);
memcpy(circ->rend_token, request, REND_COOKIE_LEN);
base16_encode(hexid,9,(char*)request,4);
@@ -324,8 +325,9 @@ rend_mid_rendezvous(or_circuit_t *circ, const uint8_t *request,
"Completing rendezvous: circuit %d joins circuit %d (cookie %s)",
circ->p_circ_id, rend_circ->p_circ_id, hexid);
- circ->_base.purpose = CIRCUIT_PURPOSE_REND_ESTABLISHED;
- rend_circ->_base.purpose = CIRCUIT_PURPOSE_REND_ESTABLISHED;
+ circuit_change_purpose(TO_CIRCUIT(circ), CIRCUIT_PURPOSE_REND_ESTABLISHED);
+ circuit_change_purpose(TO_CIRCUIT(rend_circ),
+ CIRCUIT_PURPOSE_REND_ESTABLISHED);
memset(circ->rend_token, 0, REND_COOKIE_LEN);
rend_circ->rend_splice = circ;
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index d582d71f6..30b0d88af 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -26,6 +26,11 @@
static origin_circuit_t *find_intro_circuit(rend_intro_point_t *intro,
const char *pk_digest);
+static rend_intro_point_t *find_intro_point(origin_circuit_t *circ);
+
+static int intro_point_accepted_intro_count(rend_intro_point_t *intro);
+static int intro_point_should_expire_now(rend_intro_point_t *intro,
+ time_t now);
/** Represents the mapping from a virtual port of a rendezvous service to
* a real port on some IP.
@@ -36,8 +41,10 @@ typedef struct rend_service_port_config_t {
tor_addr_t real_addr;
} rend_service_port_config_t;
-/** Try to maintain this many intro points per service if possible. */
-#define NUM_INTRO_POINTS 3
+/** Try to maintain this many intro points per service by default. */
+#define NUM_INTRO_POINTS_DEFAULT 3
+/** Maintain no more than this many intro points per hidden service. */
+#define NUM_INTRO_POINTS_MAX 10
/** If we can't build our intro circuits, don't retry for this long. */
#define INTRO_CIRC_RETRY_PERIOD (60*5)
@@ -51,6 +58,10 @@ typedef struct rend_service_port_config_t {
* rendezvous point before giving up? */
#define MAX_REND_TIMEOUT 30
+/** How many seconds should we wait for new HS descriptors to reach
+ * our clients before we close an expiring intro point? */
+#define INTRO_POINT_EXPIRATION_GRACE_PERIOD 5*60
+
/** Represents a single hidden service running at this OP. */
typedef struct rend_service_t {
/* Fields specified in config file */
@@ -62,7 +73,7 @@ typedef struct rend_service_t {
* clients that may access our service. Can be NULL
* if no client authorization is performed. */
/* Other fields */
- crypto_pk_env_t *private_key; /**< Permanent hidden-service key. */
+ crypto_pk_t *private_key; /**< Permanent hidden-service key. */
char service_id[REND_SERVICE_ID_LEN_BASE32+1]; /**< Onion address without
* '.onion' */
char pk_digest[DIGEST_LEN]; /**< Hash of permanent hidden-service key. */
@@ -72,17 +83,24 @@ typedef struct rend_service_t {
* introduction points. */
int n_intro_circuits_launched; /**< Count of intro circuits we have
* established in this period. */
+ unsigned int n_intro_points_wanted; /**< Number of intro points this
+ * service wants to have open. */
rend_service_descriptor_t *desc; /**< Current hidden service descriptor. */
time_t desc_is_dirty; /**< Time at which changes to the hidden service
* descriptor content occurred, or 0 if it's
* up-to-date. */
time_t next_upload_time; /**< Scheduled next hidden service descriptor
* upload time. */
- /** Map from digests of Diffie-Hellman values INTRODUCE2 to time_t of when
- * they were received; used to prevent replays. */
- digestmap_t *accepted_intros;
- /** Time at which we last removed expired values from accepted_intros. */
- time_t last_cleaned_accepted_intros;
+ /** Map from digests of Diffie-Hellman values INTRODUCE2 to time_t
+ * of when they were received. Clients may send INTRODUCE1 cells
+ * for the same rendezvous point through two or more different
+ * introduction points; when they do, this digestmap keeps us from
+ * launching multiple simultaneous attempts to connect to the same
+ * rend point. */
+ digestmap_t *accepted_intro_dh_parts;
+ /** Time at which we last removed expired values from
+ * accepted_intro_dh_parts. */
+ time_t last_cleaned_accepted_intro_dh_parts;
} rend_service_t;
/** A list of rend_service_t's for services run on this OP.
@@ -98,6 +116,17 @@ num_rend_services(void)
return smartlist_len(rend_service_list);
}
+/** Return a string identifying <b>service</b>, suitable for use in a
+ * log message. The result does not need to be freed, but may be
+ * overwritten by the next call to this function. */
+static const char *
+rend_service_describe_for_log(rend_service_t *service)
+{
+ /* XXX024 Use this function throughout rendservice.c. */
+ /* XXX024 Return a more useful description? */
+ return safe_str_client(service->service_id);
+}
+
/** Helper: free storage held by a single service authorized client entry. */
static void
rend_authorized_client_free(rend_authorized_client_t *client)
@@ -105,7 +134,7 @@ rend_authorized_client_free(rend_authorized_client_t *client)
if (!client)
return;
if (client->client_key)
- crypto_free_pk_env(client->client_key);
+ crypto_pk_free(client->client_key);
tor_free(client->client_name);
tor_free(client);
}
@@ -129,7 +158,7 @@ rend_service_free(rend_service_t *service)
SMARTLIST_FOREACH(service->ports, void*, p, tor_free(p));
smartlist_free(service->ports);
if (service->private_key)
- crypto_free_pk_env(service->private_key);
+ crypto_pk_free(service->private_key);
if (service->intro_nodes) {
SMARTLIST_FOREACH(service->intro_nodes, rend_intro_point_t *, intro,
rend_intro_point_free(intro););
@@ -142,7 +171,7 @@ rend_service_free(rend_service_t *service)
rend_authorized_client_free(c););
smartlist_free(service->clients);
}
- digestmap_free(service->accepted_intros, _tor_free);
+ digestmap_free(service->accepted_intro_dh_parts, _tor_free);
tor_free(service);
}
@@ -168,18 +197,21 @@ rend_add_service(rend_service_t *service)
int i;
rend_service_port_config_t *p;
- service->intro_nodes = smartlist_create();
+ service->intro_nodes = smartlist_new();
if (service->auth_type != REND_NO_AUTH &&
smartlist_len(service->clients) == 0) {
- log_warn(LD_CONFIG, "Hidden service with client authorization but no "
- "clients; ignoring.");
+ log_warn(LD_CONFIG, "Hidden service (%s) with client authorization but no "
+ "clients; ignoring.",
+ escaped(service->directory));
rend_service_free(service);
return;
}
if (!smartlist_len(service->ports)) {
- log_warn(LD_CONFIG, "Hidden service with no ports configured; ignoring.");
+ log_warn(LD_CONFIG, "Hidden service (%s) with no ports configured; "
+ "ignoring.",
+ escaped(service->directory));
rend_service_free(service);
} else {
int dupe = 0;
@@ -236,7 +268,7 @@ parse_port_config(const char *string)
const char *addrport;
rend_service_port_config_t *result = NULL;
- sl = smartlist_create();
+ sl = smartlist_new();
smartlist_split_string(sl, string, " ",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
if (smartlist_len(sl) < 1 || smartlist_len(sl) > 2) {
@@ -301,7 +333,7 @@ rend_config_services(const or_options_t *options, int validate_only)
if (!validate_only) {
old_service_list = rend_service_list;
- rend_service_list = smartlist_create();
+ rend_service_list = smartlist_new();
}
for (line = options->RendConfigLines; line; line = line->next) {
@@ -314,8 +346,9 @@ rend_config_services(const or_options_t *options, int validate_only)
}
service = tor_malloc_zero(sizeof(rend_service_t));
service->directory = tor_strdup(line->value);
- service->ports = smartlist_create();
+ service->ports = smartlist_new();
service->intro_period_started = time(NULL);
+ service->n_intro_points_wanted = NUM_INTRO_POINTS_DEFAULT;
continue;
}
if (!service) {
@@ -344,7 +377,7 @@ rend_config_services(const or_options_t *options, int validate_only)
rend_service_free(service);
return -1;
}
- type_names_split = smartlist_create();
+ type_names_split = smartlist_new();
smartlist_split_string(type_names_split, line->value, " ", 0, 2);
if (smartlist_len(type_names_split) < 1) {
log_warn(LD_BUG, "HiddenServiceAuthorizeClient has no value. This "
@@ -369,7 +402,7 @@ rend_config_services(const or_options_t *options, int validate_only)
rend_service_free(service);
return -1;
}
- service->clients = smartlist_create();
+ service->clients = smartlist_new();
if (smartlist_len(type_names_split) < 2) {
log_warn(LD_CONFIG, "HiddenServiceAuthorizeClient contains "
"auth-type '%s', but no client names.",
@@ -378,7 +411,7 @@ rend_config_services(const or_options_t *options, int validate_only)
smartlist_free(type_names_split);
continue;
}
- clients = smartlist_create();
+ clients = smartlist_new();
smartlist_split_string(clients, smartlist_get(type_names_split, 1),
",", SPLIT_SKIP_SPACE, 0);
SMARTLIST_FOREACH(type_names_split, char *, cp, tor_free(cp));
@@ -461,7 +494,7 @@ rend_config_services(const or_options_t *options, int validate_only)
* keep the introduction points that are still needed and close the
* other ones. */
if (old_service_list && !validate_only) {
- smartlist_t *surviving_services = smartlist_create();
+ smartlist_t *surviving_services = smartlist_new();
circuit_t *circ;
/* Copy introduction points to new services. */
@@ -532,23 +565,45 @@ rend_service_update_descriptor(rend_service_t *service)
d = service->desc = tor_malloc_zero(sizeof(rend_service_descriptor_t));
d->pk = crypto_pk_dup_key(service->private_key);
d->timestamp = time(NULL);
- d->intro_nodes = smartlist_create();
+ d->intro_nodes = smartlist_new();
/* Support intro protocols 2 and 3. */
d->protocols = (1 << 2) + (1 << 3);
for (i = 0; i < smartlist_len(service->intro_nodes); ++i) {
rend_intro_point_t *intro_svc = smartlist_get(service->intro_nodes, i);
rend_intro_point_t *intro_desc;
+
+ /* This intro point won't be listed in the descriptor... */
+ intro_svc->listed_in_last_desc = 0;
+
+ if (intro_svc->time_expiring != -1) {
+ /* This intro point is expiring. Don't list it. */
+ continue;
+ }
+
circ = find_intro_circuit(intro_svc, service->pk_digest);
- if (!circ || circ->_base.purpose != CIRCUIT_PURPOSE_S_INTRO)
+ if (!circ || circ->_base.purpose != CIRCUIT_PURPOSE_S_INTRO) {
+ /* This intro point's circuit isn't finished yet. Don't list it. */
continue;
+ }
+
+ /* ...unless this intro point is listed in the descriptor. */
+ intro_svc->listed_in_last_desc = 1;
- /* We have an entirely established intro circuit. */
+ /* We have an entirely established intro circuit. Publish it in
+ * our descriptor. */
intro_desc = tor_malloc_zero(sizeof(rend_intro_point_t));
intro_desc->extend_info = extend_info_dup(intro_svc->extend_info);
if (intro_svc->intro_key)
intro_desc->intro_key = crypto_pk_dup_key(intro_svc->intro_key);
smartlist_add(d->intro_nodes, intro_desc);
+
+ if (intro_svc->time_published == -1) {
+ /* We are publishing this intro point in a descriptor for the
+ * first time -- note the current time in the service's copy of
+ * the intro point. */
+ intro_svc->time_published = time(NULL);
+ }
}
}
@@ -679,19 +734,19 @@ rend_service_load_keys(void)
client->client_key = crypto_pk_dup_key(parsed->client_key);
} else if (s->auth_type == REND_STEALTH_AUTH) {
/* Create private key for client. */
- crypto_pk_env_t *prkey = NULL;
- if (!(prkey = crypto_new_pk_env())) {
+ crypto_pk_t *prkey = NULL;
+ if (!(prkey = crypto_pk_new())) {
log_warn(LD_BUG,"Error constructing client key");
goto err;
}
if (crypto_pk_generate_key(prkey)) {
log_warn(LD_BUG,"Error generating client key");
- crypto_free_pk_env(prkey);
+ crypto_pk_free(prkey);
goto err;
}
if (crypto_pk_check_key(prkey) <= 0) {
log_warn(LD_BUG,"Generated client key seems invalid");
- crypto_free_pk_env(prkey);
+ crypto_pk_free(prkey);
goto err;
}
client->client_key = prkey;
@@ -854,15 +909,16 @@ rend_check_authorization(rend_service_t *service,
/** Remove elements from <b>service</b>'s replay cache that are old enough to
* be noticed by timestamp checking. */
static void
-clean_accepted_intros(rend_service_t *service, time_t now)
+clean_accepted_intro_dh_parts(rend_service_t *service, time_t now)
{
const time_t cutoff = now - REND_REPLAY_TIME_INTERVAL;
- service->last_cleaned_accepted_intros = now;
- if (!service->accepted_intros)
+ service->last_cleaned_accepted_intro_dh_parts = now;
+ if (!service->accepted_intro_dh_parts)
return;
- DIGESTMAP_FOREACH_MODIFY(service->accepted_intros, digest, time_t *, t) {
+ DIGESTMAP_FOREACH_MODIFY(service->accepted_intro_dh_parts, digest,
+ time_t *, t) {
if (*t < cutoff) {
tor_free(t);
MAP_DEL_CURRENT(digest);
@@ -870,6 +926,106 @@ clean_accepted_intros(rend_service_t *service, time_t now)
} DIGESTMAP_FOREACH_END;
}
+/** Called when <b>intro</b> will soon be removed from
+ * <b>service</b>'s list of intro points. */
+static void
+rend_service_note_removing_intro_point(rend_service_t *service,
+ rend_intro_point_t *intro)
+{
+ time_t now = time(NULL);
+
+ /* Don't process an intro point twice here. */
+ if (intro->rend_service_note_removing_intro_point_called) {
+ return;
+ } else {
+ intro->rend_service_note_removing_intro_point_called = 1;
+ }
+
+ /* Update service->n_intro_points_wanted based on how long intro
+ * lasted and how many introductions it handled. */
+ if (intro->time_published == -1) {
+ /* This intro point was never used. Don't change
+ * n_intro_points_wanted. */
+ } else {
+ /* We want to increase the number of introduction points service
+ * operates if intro was heavily used, or decrease the number of
+ * intro points if intro was lightly used.
+ *
+ * We consider an intro point's target 'usage' to be
+ * INTRO_POINT_LIFETIME_INTRODUCTIONS introductions in
+ * INTRO_POINT_LIFETIME_MIN_SECONDS seconds. To calculate intro's
+ * fraction of target usage, we divide the fraction of
+ * _LIFETIME_INTRODUCTIONS introductions that it has handled by
+ * the fraction of _LIFETIME_MIN_SECONDS for which it existed.
+ *
+ * Then we multiply that fraction of desired usage by a fudge
+ * factor of 1.5, to decide how many new introduction points
+ * should ideally replace intro (which is now closed or soon to be
+ * closed). In theory, assuming that introduction load is
+ * distributed equally across all intro points and ignoring the
+ * fact that different intro points are established and closed at
+ * different times, that number of intro points should bring all
+ * of our intro points exactly to our target usage.
+ *
+ * Then we clamp that number to a number of intro points we might
+ * be willing to replace this intro point with and turn it into an
+ * integer. then we clamp it again to the number of new intro
+ * points we could establish now, then we adjust
+ * service->n_intro_points_wanted and let rend_services_introduce
+ * create the new intro points we want (if any).
+ */
+ const double intro_point_usage =
+ intro_point_accepted_intro_count(intro) /
+ (double)(now - intro->time_published);
+ const double intro_point_target_usage =
+ INTRO_POINT_LIFETIME_INTRODUCTIONS /
+ (double)INTRO_POINT_LIFETIME_MIN_SECONDS;
+ const double fractional_n_intro_points_wanted_to_replace_this_one =
+ (1.5 * (intro_point_usage / intro_point_target_usage));
+ unsigned int n_intro_points_wanted_to_replace_this_one;
+ unsigned int n_intro_points_wanted_now;
+ unsigned int n_intro_points_really_wanted_now;
+ int n_intro_points_really_replacing_this_one;
+
+ if (fractional_n_intro_points_wanted_to_replace_this_one >
+ NUM_INTRO_POINTS_MAX) {
+ n_intro_points_wanted_to_replace_this_one = NUM_INTRO_POINTS_MAX;
+ } else if (fractional_n_intro_points_wanted_to_replace_this_one < 0) {
+ n_intro_points_wanted_to_replace_this_one = 0;
+ } else {
+ n_intro_points_wanted_to_replace_this_one = (unsigned)
+ fractional_n_intro_points_wanted_to_replace_this_one;
+ }
+
+ n_intro_points_wanted_now =
+ service->n_intro_points_wanted +
+ n_intro_points_wanted_to_replace_this_one - 1;
+
+ if (n_intro_points_wanted_now < NUM_INTRO_POINTS_DEFAULT) {
+ /* XXXX This should be NUM_INTRO_POINTS_MIN instead. Perhaps
+ * another use of NUM_INTRO_POINTS_DEFAULT should be, too. */
+ n_intro_points_really_wanted_now = NUM_INTRO_POINTS_DEFAULT;
+ } else if (n_intro_points_wanted_now > NUM_INTRO_POINTS_MAX) {
+ n_intro_points_really_wanted_now = NUM_INTRO_POINTS_MAX;
+ } else {
+ n_intro_points_really_wanted_now = n_intro_points_wanted_now;
+ }
+
+ n_intro_points_really_replacing_this_one =
+ n_intro_points_really_wanted_now - service->n_intro_points_wanted + 1;
+
+ log_info(LD_REND, "Replacing closing intro point for service %s "
+ "with %d new intro points (wanted %g replacements); "
+ "service will now try to have %u intro points",
+ rend_service_describe_for_log(service),
+ n_intro_points_really_replacing_this_one,
+ fractional_n_intro_points_wanted_to_replace_this_one,
+ n_intro_points_really_wanted_now);
+
+ service->n_intro_points_wanted = n_intro_points_really_wanted_now;
+ }
+}
+
/******
* Handle cells
******/
@@ -887,27 +1043,30 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
char buf[RELAY_PAYLOAD_SIZE];
char keys[DIGEST_LEN+CPATH_KEY_MATERIAL_LEN]; /* Holds KH, Df, Db, Kf, Kb */
rend_service_t *service;
+ rend_intro_point_t *intro_point;
int r, i, v3_shift = 0;
size_t len, keylen;
- crypto_dh_env_t *dh = NULL;
+ crypto_dh_t *dh = NULL;
origin_circuit_t *launched = NULL;
crypt_path_t *cpath = NULL;
char serviceid[REND_SERVICE_ID_LEN_BASE32+1];
char hexcookie[9];
int circ_needs_uptime;
int reason = END_CIRC_REASON_TORPROTOCOL;
- crypto_pk_env_t *intro_key;
+ crypto_pk_t *intro_key;
char intro_key_digest[DIGEST_LEN];
int auth_type;
size_t auth_len = 0;
char auth_data[REND_DESC_COOKIE_LEN];
- crypto_digest_env_t *digest = NULL;
+ crypto_digest_t *digest = NULL;
time_t now = time(NULL);
char diffie_hellman_hash[DIGEST_LEN];
time_t *access_time;
const or_options_t *options = get_options();
+#ifndef NON_ANONYMOUS_MODE_ENABLED
tor_assert(!(circuit->build_state->onehop_tunnel));
+#endif
tor_assert(circuit->rend_data);
base32_encode(serviceid, REND_SERVICE_ID_LEN_BASE32+1,
@@ -934,7 +1093,8 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
service = rend_service_get_by_pk_digest(
circuit->rend_data->rend_pk_digest);
if (!service) {
- log_warn(LD_REND, "Got an INTRODUCE2 cell for an unrecognized service %s.",
+ log_warn(LD_BUG, "Internal error: Got an INTRODUCE2 cell on an intro "
+ "circ for an unrecognized service %s.",
escaped(serviceid));
return -1;
}
@@ -959,17 +1119,26 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
return -1;
}
- if (!service->accepted_intros)
- service->accepted_intros = digestmap_new();
+ intro_point = find_intro_point(circuit);
+ if (intro_point == NULL) {
+ log_warn(LD_BUG, "Internal error: Got an INTRODUCE2 cell on an intro circ "
+ "(for service %s) with no corresponding rend_intro_point_t.",
+ escaped(serviceid));
+ return -1;
+ }
+
+ if (!service->accepted_intro_dh_parts)
+ service->accepted_intro_dh_parts = digestmap_new();
+
+ if (!intro_point->accepted_intro_rsa_parts)
+ intro_point->accepted_intro_rsa_parts = digestmap_new();
{
char pkpart_digest[DIGEST_LEN];
- /* Check for replay of PK-encrypted portion. It is slightly naughty to
- use the same digestmap to check for this and for g^x replays, but
- collisions are tremendously unlikely.
- */
+ /* Check for replay of PK-encrypted portion. */
crypto_digest(pkpart_digest, (char*)request+DIGEST_LEN, keylen);
- access_time = digestmap_get(service->accepted_intros, pkpart_digest);
+ access_time = digestmap_get(intro_point->accepted_intro_rsa_parts,
+ pkpart_digest);
if (access_time != NULL) {
log_warn(LD_REND, "Possible replay detected! We received an "
"INTRODUCE2 cell with same PK-encrypted part %d seconds ago. "
@@ -978,7 +1147,8 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
}
access_time = tor_malloc(sizeof(time_t));
*access_time = now;
- digestmap_set(service->accepted_intros, pkpart_digest, access_time);
+ digestmap_set(intro_point->accepted_intro_rsa_parts,
+ pkpart_digest, access_time);
}
/* Next N bytes is encrypted with service key */
@@ -994,7 +1164,6 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
len = r;
if (*buf == 3) {
/* Version 3 INTRODUCE2 cell. */
- time_t ts = 0;
v3_shift = 1;
auth_type = buf[1];
switch (auth_type) {
@@ -1016,17 +1185,8 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
log_info(LD_REND, "Unknown authorization type '%d'", auth_type);
}
- /* Check timestamp. */
- ts = ntohl(get_uint32(buf+1+v3_shift));
+ /* Skip the timestamp field. We no longer use it. */
v3_shift += 4;
- if ((now - ts) < -1 * REND_REPLAY_TIME_INTERVAL / 2 ||
- (now - ts) > REND_REPLAY_TIME_INTERVAL / 2) {
- /* This is far more likely to mean that a client's clock is
- * skewed than that a replay attack is in progress. */
- log_info(LD_REND, "INTRODUCE2 cell is too %s. Discarding.",
- (now - ts) < 0 ? "old" : "new");
- return -1;
- }
}
if (*buf == 2 || *buf == 3) {
/* Version 2 INTRODUCE2 cell. */
@@ -1096,7 +1256,7 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
goto err;
}
- extend_info = extend_info_from_node(node);
+ extend_info = extend_info_from_node(node, 0);
}
if (len != REND_COOKIE_LEN+DH_KEY_LEN) {
@@ -1118,14 +1278,15 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
base16_encode(hexcookie,9,r_cookie,4);
/* Determine hash of Diffie-Hellman, part 1 to detect replays. */
- digest = crypto_new_digest_env();
+ digest = crypto_digest_new();
crypto_digest_add_bytes(digest, ptr+REND_COOKIE_LEN, DH_KEY_LEN);
crypto_digest_get_digest(digest, diffie_hellman_hash, DIGEST_LEN);
- crypto_free_digest_env(digest);
+ crypto_digest_free(digest);
/* Check whether there is a past request with the same Diffie-Hellman,
* part 1. */
- access_time = digestmap_get(service->accepted_intros, diffie_hellman_hash);
+ access_time = digestmap_get(service->accepted_intro_dh_parts,
+ diffie_hellman_hash);
if (access_time != NULL) {
/* A Tor client will send a new INTRODUCE1 cell with the same rend
* cookie and DH public key as its previous one if its intro circ
@@ -1147,9 +1308,11 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
* one hour. */
access_time = tor_malloc(sizeof(time_t));
*access_time = now;
- digestmap_set(service->accepted_intros, diffie_hellman_hash, access_time);
- if (service->last_cleaned_accepted_intros + REND_REPLAY_TIME_INTERVAL < now)
- clean_accepted_intros(service, now);
+ digestmap_set(service->accepted_intro_dh_parts,
+ diffie_hellman_hash, access_time);
+ if (service->last_cleaned_accepted_intro_dh_parts + REND_REPLAY_TIME_INTERVAL
+ < now)
+ clean_accepted_intro_dh_parts(service, now);
/* If the service performs client authorization, check included auth data. */
if (service->clients) {
@@ -1224,7 +1387,12 @@ rend_service_introduce(origin_circuit_t *circuit, const uint8_t *request,
memcpy(launched->rend_data->rend_cookie, r_cookie, REND_COOKIE_LEN);
strlcpy(launched->rend_data->onion_address, service->service_id,
sizeof(launched->rend_data->onion_address));
- launched->build_state->pending_final_cpath = cpath =
+
+ launched->build_state->service_pending_final_cpath_ref =
+ tor_malloc_zero(sizeof(crypt_path_reference_t));
+ launched->build_state->service_pending_final_cpath_ref->refcount = 1;
+
+ launched->build_state->service_pending_final_cpath_ref->cpath = cpath =
tor_malloc_zero(sizeof(crypt_path_t));
cpath->magic = CRYPT_PATH_MAGIC;
launched->build_state->expiry_time = now + MAX_REND_TIMEOUT;
@@ -1258,6 +1426,17 @@ rend_service_relaunch_rendezvous(origin_circuit_t *oldcirc)
tor_assert(oldcirc->_base.purpose == CIRCUIT_PURPOSE_S_CONNECT_REND);
+ /* Don't relaunch the same rend circ twice. */
+ if (oldcirc->hs_service_side_rend_circ_has_been_relaunched) {
+ log_info(LD_REND, "Rendezvous circuit to %s has already been relaunched; "
+ "not relaunching it again.",
+ oldcirc->build_state ?
+ safe_str(extend_info_describe(oldcirc->build_state->chosen_exit))
+ : "*unknown*");
+ return;
+ }
+ oldcirc->hs_service_side_rend_circ_has_been_relaunched = 1;
+
if (!oldcirc->build_state ||
oldcirc->build_state->failure_count > MAX_REND_FAILURES ||
oldcirc->build_state->expiry_time < time(NULL)) {
@@ -1273,7 +1452,7 @@ rend_service_relaunch_rendezvous(origin_circuit_t *oldcirc)
oldstate = oldcirc->build_state;
tor_assert(oldstate);
- if (oldstate->pending_final_cpath == NULL) {
+ if (oldstate->service_pending_final_cpath_ref == NULL) {
log_info(LD_REND,"Skipping relaunch of circ that failed on its first hop. "
"Initiator will retry.");
return;
@@ -1295,8 +1474,9 @@ rend_service_relaunch_rendezvous(origin_circuit_t *oldcirc)
tor_assert(newstate);
newstate->failure_count = oldstate->failure_count+1;
newstate->expiry_time = oldstate->expiry_time;
- newstate->pending_final_cpath = oldstate->pending_final_cpath;
- oldstate->pending_final_cpath = NULL;
+ newstate->service_pending_final_cpath_ref =
+ oldstate->service_pending_final_cpath_ref;
+ ++(newstate->service_pending_final_cpath_ref->refcount);
newcirc->rend_data = rend_data_dup(oldcirc->rend_data);
}
@@ -1388,10 +1568,12 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
char auth[DIGEST_LEN + 9];
char serviceid[REND_SERVICE_ID_LEN_BASE32+1];
int reason = END_CIRC_REASON_TORPROTOCOL;
- crypto_pk_env_t *intro_key;
+ crypto_pk_t *intro_key;
tor_assert(circuit->_base.purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO);
+#ifndef NON_ANONYMOUS_MODE_ENABLED
tor_assert(!(circuit->build_state->onehop_tunnel));
+#endif
tor_assert(circuit->cpath);
tor_assert(circuit->rend_data);
@@ -1409,7 +1591,8 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
/* If we already have enough introduction circuits for this service,
* redefine this one as a general circuit or close it, depending. */
- if (count_established_intro_points(serviceid) > NUM_INTRO_POINTS) {
+ if (count_established_intro_points(serviceid) >
+ (int)service->n_intro_points_wanted) { /* XXX023 remove cast */
const or_options_t *options = get_options();
if (options->ExcludeNodes) {
/* XXXX in some future version, we can test whether the transition is
@@ -1425,7 +1608,7 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
"circuit, but we already have enough. Redefining purpose to "
"general; leaving as internal.");
- TO_CIRCUIT(circuit)->purpose = CIRCUIT_PURPOSE_C_GENERAL;
+ circuit_change_purpose(TO_CIRCUIT(circuit), CIRCUIT_PURPOSE_C_GENERAL);
{
rend_data_t *rend_data = circuit->rend_data;
@@ -1433,9 +1616,9 @@ rend_service_intro_has_opened(origin_circuit_t *circuit)
rend_data_free(rend_data);
}
{
- crypto_pk_env_t *intro_key = circuit->intro_key;
+ crypto_pk_t *intro_key = circuit->intro_key;
circuit->intro_key = NULL;
- crypto_free_pk_env(intro_key);
+ crypto_pk_free(intro_key);
}
circuit_has_opened(circuit);
@@ -1517,7 +1700,7 @@ rend_service_intro_established(origin_circuit_t *circuit,
goto err;
}
service->desc_is_dirty = time(NULL);
- circuit->_base.purpose = CIRCUIT_PURPOSE_S_INTRO;
+ circuit_change_purpose(TO_CIRCUIT(circuit), CIRCUIT_PURPOSE_S_INTRO);
base32_encode(serviceid, REND_SERVICE_ID_LEN_BASE32 + 1,
circuit->rend_data->rend_pk_digest, REND_SERVICE_ID_LEN);
@@ -1547,10 +1730,11 @@ rend_service_rendezvous_has_opened(origin_circuit_t *circuit)
tor_assert(circuit->_base.purpose == CIRCUIT_PURPOSE_S_CONNECT_REND);
tor_assert(circuit->cpath);
tor_assert(circuit->build_state);
+#ifndef NON_ANONYMOUS_MODE_ENABLED
tor_assert(!(circuit->build_state->onehop_tunnel));
+#endif
tor_assert(circuit->rend_data);
- hop = circuit->build_state->pending_final_cpath;
- tor_assert(hop);
+ hop = circuit->build_state->service_pending_final_cpath_ref->cpath;
base16_encode(hexcookie,9,circuit->rend_data->rend_cookie,4);
base32_encode(serviceid, REND_SERVICE_ID_LEN_BASE32+1,
@@ -1561,11 +1745,32 @@ rend_service_rendezvous_has_opened(origin_circuit_t *circuit)
"cookie %s for service %s",
circuit->_base.n_circ_id, hexcookie, serviceid);
+ /* Clear the 'in-progress HS circ has timed out' flag for
+ * consistency with what happens on the client side; this line has
+ * no effect on Tor's behaviour. */
+ circuit->hs_circ_has_timed_out = 0;
+
+ /* If hop is NULL, another rend circ has already connected to this
+ * rend point. Close this circ. */
+ if (hop == NULL) {
+ log_info(LD_REND, "Another rend circ has already reached this rend point; "
+ "closing this rend circ.");
+ reason = END_CIRC_REASON_NONE;
+ goto err;
+ }
+
+ /* Remove our final cpath element from the reference, so that no
+ * other circuit will try to use it. Store it in
+ * pending_final_cpath for now to ensure that it will be freed if
+ * our rendezvous attempt fails. */
+ circuit->build_state->pending_final_cpath = hop;
+ circuit->build_state->service_pending_final_cpath_ref->cpath = NULL;
+
service = rend_service_get_by_pk_digest(
circuit->rend_data->rend_pk_digest);
if (!service) {
log_warn(LD_GENERAL, "Internal error: unrecognized service ID on "
- "introduction circuit.");
+ "rendezvous circuit.");
reason = END_CIRC_REASON_INTERNAL;
goto err;
}
@@ -1606,7 +1811,7 @@ rend_service_rendezvous_has_opened(origin_circuit_t *circuit)
circuit->build_state->pending_final_cpath = NULL; /* prevent double-free */
/* Change the circuit purpose. */
- circuit->_base.purpose = CIRCUIT_PURPOSE_S_REND_JOINED;
+ circuit_change_purpose(TO_CIRCUIT(circuit), CIRCUIT_PURPOSE_S_REND_JOINED);
return;
err:
@@ -1649,6 +1854,35 @@ find_intro_circuit(rend_intro_point_t *intro, const char *pk_digest)
return NULL;
}
+/** Return a pointer to the rend_intro_point_t corresponding to the
+ * service-side introduction circuit <b>circ</b>. */
+static rend_intro_point_t *
+find_intro_point(origin_circuit_t *circ)
+{
+ const char *serviceid;
+ rend_service_t *service = NULL;
+
+ tor_assert(TO_CIRCUIT(circ)->purpose == CIRCUIT_PURPOSE_S_ESTABLISH_INTRO ||
+ TO_CIRCUIT(circ)->purpose == CIRCUIT_PURPOSE_S_INTRO);
+ tor_assert(circ->rend_data);
+ serviceid = circ->rend_data->onion_address;
+
+ SMARTLIST_FOREACH(rend_service_list, rend_service_t *, s,
+ if (tor_memeq(s->service_id, serviceid, REND_SERVICE_ID_LEN_BASE32)) {
+ service = s;
+ break;
+ });
+
+ if (service == NULL) return NULL;
+
+ SMARTLIST_FOREACH(service->intro_nodes, rend_intro_point_t *, intro_point,
+ if (crypto_pk_cmp_keys(intro_point->intro_key, circ->intro_key) == 0) {
+ return intro_point;
+ });
+
+ return NULL;
+}
+
/** Determine the responsible hidden service directories for the
* rend_encoded_v2_service_descriptor_t's in <b>descs</b> and upload them;
* <b>service_id</b> and <b>seconds_valid</b> are only passed for logging
@@ -1659,8 +1893,8 @@ directory_post_to_hs_dir(rend_service_descriptor_t *renddesc,
int seconds_valid)
{
int i, j, failed_upload = 0;
- smartlist_t *responsible_dirs = smartlist_create();
- smartlist_t *successful_uploads = smartlist_create();
+ smartlist_t *responsible_dirs = smartlist_new();
+ smartlist_t *successful_uploads = smartlist_new();
routerstatus_t *hs_dir;
for (i = 0; i < smartlist_len(descs); i++) {
rend_encoded_v2_service_descriptor_t *desc = smartlist_get(descs, i);
@@ -1728,7 +1962,7 @@ directory_post_to_hs_dir(rend_service_descriptor_t *renddesc,
/* Remember which routers worked this time, so that we don't upload the
* descriptor to them again. */
if (!renddesc->successful_uploads)
- renddesc->successful_uploads = smartlist_create();
+ renddesc->successful_uploads = smartlist_new();
SMARTLIST_FOREACH(successful_uploads, const char *, c, {
if (!smartlist_digest_isin(renddesc->successful_uploads, c)) {
char *hsdir_id = tor_memdup(c, DIGEST_LEN);
@@ -1758,15 +1992,15 @@ upload_service_descriptor(rend_service_t *service)
networkstatus_t *c = networkstatus_get_latest_consensus();
if (c && smartlist_len(c->routerstatus_list) > 0) {
int seconds_valid, i, j, num_descs;
- smartlist_t *descs = smartlist_create();
- smartlist_t *client_cookies = smartlist_create();
+ smartlist_t *descs = smartlist_new();
+ smartlist_t *client_cookies = smartlist_new();
/* Either upload a single descriptor (including replicas) or one
* descriptor for each authorized client in case of authorization
* type 'stealth'. */
num_descs = service->auth_type == REND_STEALTH_AUTH ?
smartlist_len(service->clients) : 1;
for (j = 0; j < num_descs; j++) {
- crypto_pk_env_t *client_key = NULL;
+ crypto_pk_t *client_key = NULL;
rend_authorized_client_t *client = NULL;
smartlist_clear(client_cookies);
switch (service->auth_type) {
@@ -1852,6 +2086,64 @@ upload_service_descriptor(rend_service_t *service)
service->desc_is_dirty = 0;
}
+/** Return the number of INTRODUCE2 cells this hidden service has received
+ * from this intro point. */
+static int
+intro_point_accepted_intro_count(rend_intro_point_t *intro)
+{
+ if (intro->accepted_intro_rsa_parts == NULL) {
+ return 0;
+ } else {
+ return digestmap_size(intro->accepted_intro_rsa_parts);
+ }
+}
+
+/** Return non-zero iff <b>intro</b> should 'expire' now (i.e. we
+ * should stop publishing it in new descriptors and eventually close
+ * it). */
+static int
+intro_point_should_expire_now(rend_intro_point_t *intro,
+ time_t now)
+{
+ tor_assert(intro != NULL);
+
+ if (intro->time_published == -1) {
+ /* Don't expire an intro point if we haven't even published it yet. */
+ return 0;
+ }
+
+ if (intro->time_expiring != -1) {
+ /* We've already started expiring this intro point. *Don't* let
+ * this function's result 'flap'. */
+ return 1;
+ }
+
+ if (intro_point_accepted_intro_count(intro) >=
+ INTRO_POINT_LIFETIME_INTRODUCTIONS) {
+ /* This intro point has been used too many times. Expire it now. */
+ return 1;
+ }
+
+ if (intro->time_to_expire == -1) {
+ /* This intro point has been published, but we haven't picked an
+ * expiration time for it. Pick one now. */
+ int intro_point_lifetime_seconds =
+ INTRO_POINT_LIFETIME_MIN_SECONDS +
+ crypto_rand_int(INTRO_POINT_LIFETIME_MAX_SECONDS -
+ INTRO_POINT_LIFETIME_MIN_SECONDS);
+
+ /* Start the expiration timer now, rather than when the intro
+ * point was first published. There shouldn't be much of a time
+ * difference. */
+ intro->time_to_expire = now + intro_point_lifetime_seconds;
+
+ return 0;
+ }
+
+ /* This intro point has a time to expire set already. Use it. */
+ return (now >= intro->time_to_expire);
+}
+
/** For every service, check how many intro points it currently has, and:
* - Pick new intro points as necessary.
* - Launch circuits to any new intro points.
@@ -1863,12 +2155,14 @@ rend_services_introduce(void)
const node_t *node;
rend_service_t *service;
rend_intro_point_t *intro;
- int changed, prev_intro_nodes;
+ int intro_point_set_changed, prev_intro_nodes;
+ unsigned int n_intro_points_unexpired;
+ unsigned int n_intro_points_to_open;
smartlist_t *intro_nodes;
time_t now;
const or_options_t *options = get_options();
- intro_nodes = smartlist_create();
+ intro_nodes = smartlist_new();
now = time(NULL);
for (i=0; i < smartlist_len(rend_service_list); ++i) {
@@ -1876,7 +2170,16 @@ rend_services_introduce(void)
service = smartlist_get(rend_service_list, i);
tor_assert(service);
- changed = 0;
+
+ /* intro_point_set_changed becomes non-zero iff the set of intro
+ * points to be published in service's descriptor has changed. */
+ intro_point_set_changed = 0;
+
+ /* n_intro_points_unexpired collects the number of non-expiring
+ * intro points we have, so that we know how many new intro
+ * circuits we need to launch for this service. */
+ n_intro_points_unexpired = 0;
+
if (now > service->intro_period_started+INTRO_CIRC_RETRY_PERIOD) {
/* One period has elapsed; we can try building circuits again. */
service->intro_period_started = now;
@@ -1890,59 +2193,119 @@ rend_services_introduce(void)
/* Find out which introduction points we have in progress for this
service. */
- for (j=0; j < smartlist_len(service->intro_nodes); ++j) {
- intro = smartlist_get(service->intro_nodes, j);
+ SMARTLIST_FOREACH_BEGIN(service->intro_nodes, rend_intro_point_t *,
+ intro) {
+ origin_circuit_t *intro_circ =
+ find_intro_circuit(intro, service->pk_digest);
+
+ if (intro->time_expiring + INTRO_POINT_EXPIRATION_GRACE_PERIOD > now) {
+ /* This intro point has completely expired. Remove it, and
+ * mark the circuit for close if it's still alive. */
+ if (intro_circ != NULL) {
+ circuit_mark_for_close(TO_CIRCUIT(intro_circ),
+ END_CIRC_REASON_FINISHED);
+ }
+ rend_intro_point_free(intro);
+ intro = NULL; /* SMARTLIST_DEL_CURRENT takes a name, not a value. */
+ SMARTLIST_DEL_CURRENT(service->intro_nodes, intro);
+ /* We don't need to set intro_point_set_changed here, because
+ * this intro point wouldn't have been published in a current
+ * descriptor anyway. */
+ continue;
+ }
+
node = node_get_by_id(intro->extend_info->identity_digest);
- if (!node || !find_intro_circuit(intro, service->pk_digest)) {
- log_info(LD_REND,"Giving up on %s as intro point for %s.",
+ if (!node || !intro_circ) {
+ int removing_this_intro_point_changes_the_intro_point_set = 1;
+ log_info(LD_REND, "Giving up on %s as intro point for %s"
+ " (circuit disappeared).",
safe_str_client(extend_info_describe(intro->extend_info)),
safe_str_client(service->service_id));
- if (service->desc) {
- SMARTLIST_FOREACH(service->desc->intro_nodes, rend_intro_point_t *,
- dintro, {
- if (tor_memeq(dintro->extend_info->identity_digest,
- intro->extend_info->identity_digest, DIGEST_LEN)) {
- log_info(LD_REND, "The intro point we are giving up on was "
- "included in the last published descriptor. "
- "Marking current descriptor as dirty.");
- service->desc_is_dirty = now;
- }
- });
+ rend_service_note_removing_intro_point(service, intro);
+ if (intro->time_expiring != -1) {
+ log_info(LD_REND, "We were already expiring the intro point; "
+ "no need to mark the HS descriptor as dirty over this.");
+ removing_this_intro_point_changes_the_intro_point_set = 0;
+ } else if (intro->listed_in_last_desc) {
+ log_info(LD_REND, "The intro point we are giving up on was "
+ "included in the last published descriptor. "
+ "Marking current descriptor as dirty.");
+ service->desc_is_dirty = now;
}
rend_intro_point_free(intro);
- smartlist_del(service->intro_nodes,j--);
- changed = 1;
+ intro = NULL; /* SMARTLIST_DEL_CURRENT takes a name, not a value. */
+ SMARTLIST_DEL_CURRENT(service->intro_nodes, intro);
+ if (removing_this_intro_point_changes_the_intro_point_set)
+ intro_point_set_changed = 1;
+ }
+
+ if (intro != NULL && intro_point_should_expire_now(intro, now)) {
+ log_info(LD_REND, "Expiring %s as intro point for %s.",
+ safe_str_client(extend_info_describe(intro->extend_info)),
+ safe_str_client(service->service_id));
+
+ rend_service_note_removing_intro_point(service, intro);
+
+ /* The polite (and generally Right) way to expire an intro
+ * point is to establish a new one to replace it, publish a
+ * new descriptor that doesn't list any expiring intro points,
+ * and *then*, once our upload attempts for the new descriptor
+ * have ended (whether in success or failure), close the
+ * expiring intro points.
+ *
+ * Unfortunately, we can't find out when the new descriptor
+ * has actually been uploaded, so we'll have to settle for a
+ * five-minute timer. Start it. XXX023 This sucks. */
+ intro->time_expiring = now;
+
+ intro_point_set_changed = 1;
}
+
+ if (intro != NULL && intro->time_expiring == -1)
+ ++n_intro_points_unexpired;
+
if (node)
smartlist_add(intro_nodes, (void*)node);
- }
-
- /* We have enough intro points, and the intro points we thought we had were
- * all connected.
- */
- if (!changed && smartlist_len(service->intro_nodes) >= NUM_INTRO_POINTS) {
- /* We have all our intro points! Start a fresh period and reset the
- * circuit count. */
+ } SMARTLIST_FOREACH_END(intro);
+
+ if (!intro_point_set_changed &&
+ (n_intro_points_unexpired >= service->n_intro_points_wanted)) {
+ /* We have enough intro circuits in progress, and none of our
+ * intro circuits have died since the last call to
+ * rend_services_introduce! Start a fresh period and reset the
+ * circuit count.
+ *
+ * XXXX WTF? */
service->intro_period_started = now;
service->n_intro_circuits_launched = 0;
continue;
}
- /* Remember how many introduction circuits we started with. */
+ /* Remember how many introduction circuits we started with.
+ *
+ * prev_intro_nodes serves a different purpose than
+ * n_intro_points_unexpired -- this variable tells us where our
+ * previously-created intro points end and our new ones begin in
+ * the intro-point list, so we don't have to launch the circuits
+ * at the same time as we create the intro points they correspond
+ * to. XXXX This is daft. */
prev_intro_nodes = smartlist_len(service->intro_nodes);
+
/* We have enough directory information to start establishing our
- * intro points. We want to end up with three intro points, but if
- * we're just starting, we launch five and pick the first three that
- * complete.
+ * intro points. We want to end up with n_intro_points_wanted
+ * intro points, but if we're just starting, we launch two extra
+ * circuits and use the first n_intro_points_wanted that complete.
*
* The ones after the first three will be converted to 'general'
* internal circuits in rend_service_intro_has_opened(), and then
* we'll drop them from the list of intro points next time we
* go through the above "find out which introduction points we have
* in progress" loop. */
-#define NUM_INTRO_POINTS_INIT (NUM_INTRO_POINTS + 2)
- for (j=prev_intro_nodes; j < (prev_intro_nodes == 0 ?
- NUM_INTRO_POINTS_INIT : NUM_INTRO_POINTS); ++j) {
+ n_intro_points_to_open = (service->n_intro_points_wanted +
+ (prev_intro_nodes == 0 ? 2 : 0));
+ for (j = (int)n_intro_points_unexpired;
+ j < (int)n_intro_points_to_open;
+ ++j) { /* XXXX remove casts */
router_crn_flags_t flags = CRN_NEED_UPTIME|CRN_NEED_DESC;
if (get_options()->_AllowInvalid & ALLOW_INVALID_INTRODUCTION)
flags |= CRN_ALLOW_INVALID;
@@ -1950,16 +2313,21 @@ rend_services_introduce(void)
options->ExcludeNodes, flags);
if (!node) {
log_warn(LD_REND,
- "Could only establish %d introduction points for %s.",
- smartlist_len(service->intro_nodes), service->service_id);
+ "Could only establish %d introduction points for %s; "
+ "wanted %u.",
+ smartlist_len(service->intro_nodes), service->service_id,
+ n_intro_points_to_open);
break;
}
- changed = 1;
+ intro_point_set_changed = 1;
smartlist_add(intro_nodes, (void*)node);
intro = tor_malloc_zero(sizeof(rend_intro_point_t));
- intro->extend_info = extend_info_from_node(node);
- intro->intro_key = crypto_new_pk_env();
+ intro->extend_info = extend_info_from_node(node, 0);
+ intro->intro_key = crypto_pk_new();
tor_assert(!crypto_pk_generate_key(intro->intro_key));
+ intro->time_published = -1;
+ intro->time_to_expire = -1;
+ intro->time_expiring = -1;
smartlist_add(service->intro_nodes, intro);
log_info(LD_REND, "Picked router %s as an intro point for %s.",
safe_str_client(node_describe(node)),
@@ -1967,7 +2335,7 @@ rend_services_introduce(void)
}
/* If there's no need to launch new circuits, stop here. */
- if (!changed)
+ if (!intro_point_set_changed)
continue;
/* Establish new introduction points. */
@@ -2121,7 +2489,7 @@ rend_service_set_connection_addr_port(edge_connection_t *conn,
serviceid, circ->_base.n_circ_id);
return -1;
}
- matching_ports = smartlist_create();
+ matching_ports = smartlist_new();
SMARTLIST_FOREACH(service->ports, rend_service_port_config_t *, p,
{
if (conn->_base.port == p->virtual_port) {
diff --git a/src/or/rephist.c b/src/or/rephist.c
index 6bbb93b82..3d5000ccf 100644
--- a/src/or/rephist.c
+++ b/src/or/rephist.c
@@ -930,7 +930,7 @@ rep_hist_get_router_stability_doc(time_t now)
return NULL;
tor_free(last_stability_doc);
- chunks = smartlist_create();
+ chunks = smartlist_new();
if (rep_hist_have_measured_enough_stability()) {
smartlist_add(chunks, tor_strdup("we-have-enough-measurements\n"));
@@ -941,7 +941,6 @@ rep_hist_get_router_stability_doc(time_t now)
DIGESTMAP_FOREACH(history_map, id, or_history_t *, hist) {
const node_t *node;
char dbuf[BASE64_DIGEST_LEN+1];
- char header_buf[512];
char *info;
digest_to_base64(dbuf, id);
node = node_get_by_id(id);
@@ -954,7 +953,7 @@ rep_hist_get_router_stability_doc(time_t now)
format_iso_time(tbuf, published);
else
strlcpy(tbuf, "???", sizeof(tbuf));
- tor_snprintf(header_buf, sizeof(header_buf),
+ smartlist_add_asprintf(chunks,
"router %s %s %s\n"
"published %s\n"
"relevant-flags %s%s%s\n"
@@ -966,10 +965,9 @@ rep_hist_get_router_stability_doc(time_t now)
node->ri && node->ri->is_hibernating ? "Hibernating " : "",
node_get_declared_uptime(node));
} else {
- tor_snprintf(header_buf, sizeof(header_buf),
+ smartlist_add_asprintf(chunks,
"router %s {no descriptor}\n", dbuf);
}
- smartlist_add(chunks, tor_strdup(header_buf));
info = rep_hist_format_router_status(hist, now);
if (info)
smartlist_add(chunks, info);
@@ -1063,7 +1061,7 @@ rep_hist_load_mtbf_data(time_t now)
tor_free(filename);
if (!d)
return -1;
- lines = smartlist_create();
+ lines = smartlist_new();
smartlist_split_string(lines, d, "\n", SPLIT_SKIP_SPACE, 0);
tor_free(d);
}
@@ -1588,7 +1586,6 @@ rep_hist_update_bwhist_state_section(or_state_t *state,
time_t *s_begins,
int *s_interval)
{
- char *cp;
int i,j;
uint64_t maxval;
@@ -1612,31 +1609,31 @@ rep_hist_update_bwhist_state_section(or_state_t *state,
}
*s_begins = 0;
*s_interval = 900;
- *s_values = smartlist_create();
- *s_maxima = smartlist_create();
+ *s_values = smartlist_new();
+ *s_maxima = smartlist_new();
return;
}
*s_begins = b->next_period;
*s_interval = NUM_SECS_BW_SUM_INTERVAL;
- *s_values = smartlist_create();
- *s_maxima = smartlist_create();
+ *s_values = smartlist_new();
+ *s_maxima = smartlist_new();
/* Set i to first position in circular array */
i = (b->num_maxes_set <= b->next_max_idx) ? 0 : b->next_max_idx;
for (j=0; j < b->num_maxes_set; ++j,++i) {
if (i >= NUM_TOTALS)
i = 0;
- tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(b->totals[i] & ~0x3ff));
- smartlist_add(*s_values, cp);
+ smartlist_add_asprintf(*s_values, U64_FORMAT,
+ U64_PRINTF_ARG(b->totals[i] & ~0x3ff));
maxval = b->maxima[i] / NUM_SECS_ROLLING_MEASURE;
- tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(maxval & ~0x3ff));
- smartlist_add(*s_maxima, cp);
+ smartlist_add_asprintf(*s_maxima, U64_FORMAT,
+ U64_PRINTF_ARG(maxval & ~0x3ff));
}
- tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(b->total_in_period & ~0x3ff));
- smartlist_add(*s_values, cp);
+ smartlist_add_asprintf(*s_values, U64_FORMAT,
+ U64_PRINTF_ARG(b->total_in_period & ~0x3ff));
maxval = b->max_total / NUM_SECS_ROLLING_MEASURE;
- tor_asprintf(&cp, U64_FORMAT, U64_PRINTF_ARG(maxval & ~0x3ff));
- smartlist_add(*s_maxima, cp);
+ smartlist_add_asprintf(*s_maxima, U64_FORMAT,
+ U64_PRINTF_ARG(maxval & ~0x3ff));
}
/** Update <b>state</b> with the newest bandwidth history. Done before
@@ -1804,7 +1801,7 @@ add_predicted_port(time_t now, uint16_t port)
static void
predicted_ports_init(void)
{
- predicted_ports_list = smartlist_create();
+ predicted_ports_list = smartlist_new();
add_predicted_port(time(NULL), 80); /* add one to kickstart us */
}
@@ -1853,7 +1850,7 @@ rep_hist_note_used_port(time_t now, uint16_t port)
smartlist_t *
rep_hist_get_predicted_ports(time_t now)
{
- smartlist_t *out = smartlist_create();
+ smartlist_t *out = smartlist_new();
tor_assert(predicted_ports_list);
/* clean out obsolete entries */
@@ -2125,7 +2122,6 @@ rep_hist_format_exit_stats(time_t now)
uint64_t cur_bytes = 0, other_read = 0, other_written = 0,
total_read = 0, total_written = 0;
uint32_t total_streams = 0, other_streams = 0;
- char *buf;
smartlist_t *written_strings, *read_strings, *streams_strings;
char *written_string, *read_string, *streams_string;
char t[ISO_TIME_LEN+1];
@@ -2188,9 +2184,9 @@ rep_hist_format_exit_stats(time_t now)
}
/* Add observations of top ports to smartlists. */
- written_strings = smartlist_create();
- read_strings = smartlist_create();
- streams_strings = smartlist_create();
+ written_strings = smartlist_new();
+ read_strings = smartlist_new();
+ streams_strings = smartlist_new();
other_read = total_read;
other_written = total_written;
other_streams = total_streams;
@@ -2204,9 +2200,8 @@ rep_hist_format_exit_stats(time_t now)
exit_bytes_written[cur_port],
EXIT_STATS_ROUND_UP_BYTES);
num /= 1024;
- buf = NULL;
- tor_asprintf(&buf, "%d="U64_FORMAT, cur_port, U64_PRINTF_ARG(num));
- smartlist_add(written_strings, buf);
+ smartlist_add_asprintf(written_strings, "%d="U64_FORMAT,
+ cur_port, U64_PRINTF_ARG(num));
other_written -= exit_bytes_written[cur_port];
}
if (exit_bytes_read[cur_port] > 0) {
@@ -2214,18 +2209,15 @@ rep_hist_format_exit_stats(time_t now)
exit_bytes_read[cur_port],
EXIT_STATS_ROUND_UP_BYTES);
num /= 1024;
- buf = NULL;
- tor_asprintf(&buf, "%d="U64_FORMAT, cur_port, U64_PRINTF_ARG(num));
- smartlist_add(read_strings, buf);
+ smartlist_add_asprintf(read_strings, "%d="U64_FORMAT,
+ cur_port, U64_PRINTF_ARG(num));
other_read -= exit_bytes_read[cur_port];
}
if (exit_streams[cur_port] > 0) {
uint32_t num = round_uint32_to_next_multiple_of(
exit_streams[cur_port],
EXIT_STATS_ROUND_UP_STREAMS);
- buf = NULL;
- tor_asprintf(&buf, "%d=%u", cur_port, num);
- smartlist_add(streams_strings, buf);
+ smartlist_add_asprintf(streams_strings, "%d=%u", cur_port, num);
other_streams -= exit_streams[cur_port];
}
}
@@ -2234,20 +2226,16 @@ rep_hist_format_exit_stats(time_t now)
other_written = round_uint64_to_next_multiple_of(other_written,
EXIT_STATS_ROUND_UP_BYTES);
other_written /= 1024;
- buf = NULL;
- tor_asprintf(&buf, "other="U64_FORMAT, U64_PRINTF_ARG(other_written));
- smartlist_add(written_strings, buf);
+ smartlist_add_asprintf(written_strings, "other="U64_FORMAT,
+ U64_PRINTF_ARG(other_written));
other_read = round_uint64_to_next_multiple_of(other_read,
EXIT_STATS_ROUND_UP_BYTES);
other_read /= 1024;
- buf = NULL;
- tor_asprintf(&buf, "other="U64_FORMAT, U64_PRINTF_ARG(other_read));
- smartlist_add(read_strings, buf);
+ smartlist_add_asprintf(read_strings, "other="U64_FORMAT,
+ U64_PRINTF_ARG(other_read));
other_streams = round_uint32_to_next_multiple_of(other_streams,
EXIT_STATS_ROUND_UP_STREAMS);
- buf = NULL;
- tor_asprintf(&buf, "other=%u", other_streams);
- smartlist_add(streams_strings, buf);
+ smartlist_add_asprintf(streams_strings, "other=%u", other_streams);
/* Join all observations in single strings. */
written_string = smartlist_join_strings(written_strings, ",", 0, NULL);
@@ -2382,7 +2370,7 @@ rep_hist_add_buffer_stats(double mean_num_cells_in_queue,
stat->mean_time_cells_in_queue = mean_time_cells_in_queue;
stat->processed_cells = processed_cells;
if (!circuits_for_buffer_stats)
- circuits_for_buffer_stats = smartlist_create();
+ circuits_for_buffer_stats = smartlist_new();
smartlist_add(circuits_for_buffer_stats, stat);
}
@@ -2451,7 +2439,7 @@ void
rep_hist_reset_buffer_stats(time_t now)
{
if (!circuits_for_buffer_stats)
- circuits_for_buffer_stats = smartlist_create();
+ circuits_for_buffer_stats = smartlist_new();
SMARTLIST_FOREACH(circuits_for_buffer_stats, circ_buffer_stats_t *,
stat, tor_free(stat));
smartlist_clear(circuits_for_buffer_stats);
@@ -2468,7 +2456,6 @@ rep_hist_format_buffer_stats(time_t now)
int processed_cells[SHARES], circs_in_share[SHARES],
number_of_circuits, i;
double queued_cells[SHARES], time_in_queue[SHARES];
- char *buf = NULL;
smartlist_t *processed_cells_strings, *queued_cells_strings,
*time_in_queue_strings;
char *processed_cells_string, *queued_cells_string,
@@ -2487,7 +2474,7 @@ rep_hist_format_buffer_stats(time_t now)
memset(queued_cells, 0, SHARES * sizeof(double));
memset(time_in_queue, 0, SHARES * sizeof(double));
if (!circuits_for_buffer_stats)
- circuits_for_buffer_stats = smartlist_create();
+ circuits_for_buffer_stats = smartlist_new();
number_of_circuits = smartlist_len(circuits_for_buffer_stats);
if (number_of_circuits > 0) {
smartlist_sort(circuits_for_buffer_stats,
@@ -2506,23 +2493,23 @@ rep_hist_format_buffer_stats(time_t now)
}
/* Write deciles to strings. */
- processed_cells_strings = smartlist_create();
- queued_cells_strings = smartlist_create();
- time_in_queue_strings = smartlist_create();
+ processed_cells_strings = smartlist_new();
+ queued_cells_strings = smartlist_new();
+ time_in_queue_strings = smartlist_new();
for (i = 0; i < SHARES; i++) {
- tor_asprintf(&buf,"%d", !circs_in_share[i] ? 0 :
- processed_cells[i] / circs_in_share[i]);
- smartlist_add(processed_cells_strings, buf);
+ smartlist_add_asprintf(processed_cells_strings,
+ "%d", !circs_in_share[i] ? 0 :
+ processed_cells[i] / circs_in_share[i]);
}
for (i = 0; i < SHARES; i++) {
- tor_asprintf(&buf, "%.2f", circs_in_share[i] == 0 ? 0.0 :
- queued_cells[i] / (double) circs_in_share[i]);
- smartlist_add(queued_cells_strings, buf);
+ smartlist_add_asprintf(queued_cells_strings, "%.2f",
+ circs_in_share[i] == 0 ? 0.0 :
+ queued_cells[i] / (double) circs_in_share[i]);
}
for (i = 0; i < SHARES; i++) {
- tor_asprintf(&buf, "%.0f", circs_in_share[i] == 0 ? 0.0 :
- time_in_queue[i] / (double) circs_in_share[i]);
- smartlist_add(time_in_queue_strings, buf);
+ smartlist_add_asprintf(time_in_queue_strings, "%.0f",
+ circs_in_share[i] == 0 ? 0.0 :
+ time_in_queue[i] / (double) circs_in_share[i]);
}
/* Join all observations in single strings. */
diff --git a/src/or/router.c b/src/or/router.c
index c9f141b7f..d86c5f3e3 100644
--- a/src/or/router.c
+++ b/src/or/router.c
@@ -47,28 +47,28 @@ extern long stats_n_seconds_working;
static tor_mutex_t *key_lock=NULL;
static time_t onionkey_set_at=0; /**< When was onionkey last changed? */
/** Current private onionskin decryption key: used to decode CREATE cells. */
-static crypto_pk_env_t *onionkey=NULL;
+static crypto_pk_t *onionkey=NULL;
/** Previous private onionskin decryption key: used to decode CREATE cells
* generated by clients that have an older version of our descriptor. */
-static crypto_pk_env_t *lastonionkey=NULL;
+static crypto_pk_t *lastonionkey=NULL;
/** Private server "identity key": used to sign directory info and TLS
* certificates. Never changes. */
-static crypto_pk_env_t *server_identitykey=NULL;
+static crypto_pk_t *server_identitykey=NULL;
/** Digest of server_identitykey. */
static char server_identitykey_digest[DIGEST_LEN];
/** Private client "identity key": used to sign bridges' and clients'
* outbound TLS certificates. Regenerated on startup and on IP address
* change. */
-static crypto_pk_env_t *client_identitykey=NULL;
+static crypto_pk_t *client_identitykey=NULL;
/** Signing key used for v3 directory material; only set for authorities. */
-static crypto_pk_env_t *authority_signing_key = NULL;
+static crypto_pk_t *authority_signing_key = NULL;
/** Key certificate to authenticate v3 directory material; only set for
* authorities. */
static authority_cert_t *authority_key_certificate = NULL;
/** For emergency V3 authority key migration: An extra signing key that we use
* with our old (obsolete) identity key for a while. */
-static crypto_pk_env_t *legacy_signing_key = NULL;
+static crypto_pk_t *legacy_signing_key = NULL;
/** For emergency V3 authority key migration: An extra certificate to
* authenticate legacy_signing_key with our obsolete identity key.*/
static authority_cert_t *legacy_key_certificate = NULL;
@@ -82,15 +82,15 @@ static authority_cert_t *legacy_key_certificate = NULL;
* lastonionkey; to update lastonionkey correctly, call rotate_onion_key().
*/
static void
-set_onion_key(crypto_pk_env_t *k)
+set_onion_key(crypto_pk_t *k)
{
if (onionkey && !crypto_pk_cmp_keys(onionkey, k)) {
/* k is already our onion key; free it and return */
- crypto_free_pk_env(k);
+ crypto_pk_free(k);
return;
}
tor_mutex_acquire(key_lock);
- crypto_free_pk_env(onionkey);
+ crypto_pk_free(onionkey);
onionkey = k;
tor_mutex_release(key_lock);
mark_my_descriptor_dirty("set onion key");
@@ -98,7 +98,7 @@ set_onion_key(crypto_pk_env_t *k)
/** Return the current onion key. Requires that the onion key has been
* loaded or generated. */
-crypto_pk_env_t *
+crypto_pk_t *
get_onion_key(void)
{
tor_assert(onionkey);
@@ -109,7 +109,7 @@ get_onion_key(void)
* copy of the most recent onion key into *<b>last</b>.
*/
void
-dup_onion_keys(crypto_pk_env_t **key, crypto_pk_env_t **last)
+dup_onion_keys(crypto_pk_t **key, crypto_pk_t **last)
{
tor_assert(key);
tor_assert(last);
@@ -136,9 +136,9 @@ get_onion_key_set_at(void)
/** Set the current server identity key to <b>k</b>.
*/
void
-set_server_identity_key(crypto_pk_env_t *k)
+set_server_identity_key(crypto_pk_t *k)
{
- crypto_free_pk_env(server_identitykey);
+ crypto_pk_free(server_identitykey);
server_identitykey = k;
crypto_pk_get_digest(server_identitykey, server_identitykey_digest);
}
@@ -164,7 +164,7 @@ assert_identity_keys_ok(void)
/** Returns the current server identity key; requires that the key has
* been set, and that we are running as a Tor server.
*/
-crypto_pk_env_t *
+crypto_pk_t *
get_server_identity_key(void)
{
tor_assert(server_identitykey);
@@ -183,16 +183,16 @@ server_identity_key_is_set(void)
/** Set the current client identity key to <b>k</b>.
*/
void
-set_client_identity_key(crypto_pk_env_t *k)
+set_client_identity_key(crypto_pk_t *k)
{
- crypto_free_pk_env(client_identitykey);
+ crypto_pk_free(client_identitykey);
client_identitykey = k;
}
/** Returns the current client identity key for use on outgoing TLS
* connections; requires that the key has been set.
*/
-crypto_pk_env_t *
+crypto_pk_t *
get_tlsclient_identity_key(void)
{
tor_assert(client_identitykey);
@@ -217,7 +217,7 @@ get_my_v3_authority_cert(void)
/** Return the v3 signing key for this v3 (voting) authority, or NULL
* if we have no such key. */
-crypto_pk_env_t *
+crypto_pk_t *
get_my_v3_authority_signing_key(void)
{
return authority_signing_key;
@@ -234,7 +234,7 @@ get_my_v3_legacy_cert(void)
/** If we're an authority, and we're using a legacy authority identity key for
* emergency migration purposes, return that key. */
-crypto_pk_env_t *
+crypto_pk_t *
get_my_v3_legacy_signing_key(void)
{
return legacy_signing_key;
@@ -251,12 +251,12 @@ void
rotate_onion_key(void)
{
char *fname, *fname_prev;
- crypto_pk_env_t *prkey;
+ crypto_pk_t *prkey;
or_state_t *state = get_or_state();
time_t now;
fname = get_datadir_fname2("keys", "secret_onion_key");
fname_prev = get_datadir_fname2("keys", "secret_onion_key.old");
- if (!(prkey = crypto_new_pk_env())) {
+ if (!(prkey = crypto_pk_new())) {
log_err(LD_GENERAL,"Error constructing rotated onion key");
goto error;
}
@@ -274,7 +274,7 @@ rotate_onion_key(void)
}
log_info(LD_GENERAL, "Rotating onion key");
tor_mutex_acquire(key_lock);
- crypto_free_pk_env(lastonionkey);
+ crypto_pk_free(lastonionkey);
lastonionkey = onionkey;
onionkey = prkey;
now = time(NULL);
@@ -286,7 +286,7 @@ rotate_onion_key(void)
error:
log_warn(LD_GENERAL, "Couldn't rotate onion key.");
if (prkey)
- crypto_free_pk_env(prkey);
+ crypto_pk_free(prkey);
done:
tor_free(fname);
tor_free(fname_prev);
@@ -297,12 +297,12 @@ rotate_onion_key(void)
* <b>fname</b>. Return the read/created key, or NULL on error. Log all
* errors at level <b>severity</b>.
*/
-crypto_pk_env_t *
+crypto_pk_t *
init_key_from_file(const char *fname, int generate, int severity)
{
- crypto_pk_env_t *prkey = NULL;
+ crypto_pk_t *prkey = NULL;
- if (!(prkey = crypto_new_pk_env())) {
+ if (!(prkey = crypto_pk_new())) {
log(severity, LD_GENERAL,"Error constructing key");
goto error;
}
@@ -357,7 +357,7 @@ init_key_from_file(const char *fname, int generate, int severity)
error:
if (prkey)
- crypto_free_pk_env(prkey);
+ crypto_pk_free(prkey);
return NULL;
}
@@ -367,13 +367,13 @@ init_key_from_file(const char *fname, int generate, int severity)
* key/cert set. On success, store them into *<b>key_out</b> and
* *<b>cert_out</b> respectively, and return 0. On failure, return -1. */
static int
-load_authority_keyset(int legacy, crypto_pk_env_t **key_out,
+load_authority_keyset(int legacy, crypto_pk_t **key_out,
authority_cert_t **cert_out)
{
int r = -1;
char *fname = NULL, *cert = NULL;
const char *eos = NULL;
- crypto_pk_env_t *signing_key = NULL;
+ crypto_pk_t *signing_key = NULL;
authority_cert_t *parsed = NULL;
fname = get_datadir_fname2("keys",
@@ -403,7 +403,7 @@ load_authority_keyset(int legacy, crypto_pk_env_t **key_out,
goto done;
}
- crypto_free_pk_env(*key_out);
+ crypto_pk_free(*key_out);
authority_cert_free(*cert_out);
*key_out = signing_key;
@@ -415,7 +415,7 @@ load_authority_keyset(int legacy, crypto_pk_env_t **key_out,
done:
tor_free(fname);
tor_free(cert);
- crypto_free_pk_env(signing_key);
+ crypto_pk_free(signing_key);
authority_cert_free(parsed);
return r;
}
@@ -484,6 +484,16 @@ v3_authority_check_key_expiry(void)
last_warned = now;
}
+int
+router_initialize_tls_context(void)
+{
+ return tor_tls_context_init(public_server_mode(get_options()),
+ get_tlsclient_identity_key(),
+ server_mode(get_options()) ?
+ get_server_identity_key() : NULL,
+ MAX_SSL_KEY_LIFETIME_ADVERTISED);
+}
+
/** Initialize all OR private keys, and the TLS context, as necessary.
* On OPs, this only initializes the tls context. Return 0 on success,
* or -1 if Tor should die.
@@ -496,7 +506,7 @@ init_keys(void)
/*nickname<space>fp\n\0 */
char fingerprint_line[MAX_NICKNAME_LEN+FINGERPRINT_LEN+3];
const char *mydesc;
- crypto_pk_env_t *prkey;
+ crypto_pk_t *prkey;
char digest[DIGEST_LEN];
char v3_digest[DIGEST_LEN];
char *cp;
@@ -522,18 +532,15 @@ init_keys(void)
/* OP's don't need persistent keys; just make up an identity and
* initialize the TLS context. */
if (!server_mode(options)) {
- if (!(prkey = crypto_new_pk_env()))
+ if (!(prkey = crypto_pk_new()))
return -1;
if (crypto_pk_generate_key(prkey)) {
- crypto_free_pk_env(prkey);
+ crypto_pk_free(prkey);
return -1;
}
set_client_identity_key(prkey);
/* Create a TLS context. */
- if (tor_tls_context_init(0,
- get_tlsclient_identity_key(),
- NULL,
- MAX_SSL_KEY_LIFETIME_ADVERTISED) < 0) {
+ if (router_initialize_tls_context() < 0) {
log_err(LD_GENERAL,"Error creating TLS context for Tor client.");
return -1;
}
@@ -582,10 +589,10 @@ init_keys(void)
if (public_server_mode(options)) {
set_client_identity_key(crypto_pk_dup_key(prkey)); /* set above */
} else {
- if (!(prkey = crypto_new_pk_env()))
+ if (!(prkey = crypto_pk_new()))
return -1;
if (crypto_pk_generate_key(prkey)) {
- crypto_free_pk_env(prkey);
+ crypto_pk_free(prkey);
return -1;
}
set_client_identity_key(prkey);
@@ -626,13 +633,11 @@ init_keys(void)
tor_free(keydir);
/* 3. Initialize link key and TLS context. */
- if (tor_tls_context_init(public_server_mode(options),
- get_tlsclient_identity_key(),
- get_server_identity_key(),
- MAX_SSL_KEY_LIFETIME_ADVERTISED) < 0) {
+ if (router_initialize_tls_context() < 0) {
log_err(LD_GENERAL,"Error initializing TLS context");
return -1;
}
+
/* 4. Build our router descriptor. */
/* Must be called after keys are initialized. */
mydesc = router_get_my_descriptor();
@@ -780,7 +785,7 @@ check_whether_dirport_reachable(void)
const or_options_t *options = get_options();
return !options->DirPort ||
options->AssumeReachable ||
- we_are_hibernating() ||
+ net_is_disabled() ||
can_reach_dir_port;
}
@@ -806,7 +811,7 @@ decide_to_advertise_dirport(const or_options_t *options, uint16_t dir_port)
return 0;
if (authdir_mode(options)) /* always publish */
return dir_port;
- if (we_are_hibernating())
+ if (net_is_disabled())
return 0;
if (!check_whether_dirport_reachable())
return 0;
@@ -818,9 +823,26 @@ decide_to_advertise_dirport(const or_options_t *options, uint16_t dir_port)
* make us choose not to publish. */
if (accounting_is_enabled(options)) {
- /* if we might potentially hibernate */
- new_choice = 0;
- reason = "AccountingMax enabled";
+ /* Don't spend bytes for directory traffic if we could end up hibernating,
+ * but allow DirPort otherwise. Some people set AccountingMax because
+ * they're confused or to get statistics. */
+ int interval_length = accounting_get_interval_length();
+ uint32_t effective_bw = get_effective_bwrate(options);
+ if (!interval_length) {
+ log_warn(LD_BUG, "An accounting interval is not allowed to be zero "
+ "seconds long. Raising to 1.");
+ interval_length = 1;
+ }
+ log_info(LD_GENERAL, "Calculating whether to disable dirport: effective "
+ "bwrate: %u, AccountingMax: "U64_FORMAT", "
+ "accounting interval length %d", effective_bw,
+ U64_PRINTF_ARG(options->AccountingMax),
+ interval_length);
+ if (effective_bw >=
+ options->AccountingMax / interval_length) {
+ new_choice = 0;
+ reason = "AccountingMax enabled";
+ }
#define MIN_BW_TO_ADVERTISE_DIRPORT 51200
} else if (options->BandwidthRate < MIN_BW_TO_ADVERTISE_DIRPORT ||
(options->RelayBandwidthRate > 0 &&
@@ -888,7 +910,8 @@ consider_testing_reachability(int test_or, int test_dir)
log_info(LD_CIRC, "Testing %s of my ORPort: %s:%d.",
!orport_reachable ? "reachability" : "bandwidth",
me->address, me->or_port);
- ei = extend_info_from_router(me);
+ /* XXX IPv6 self testing IPv6 orports will need pref_addr */
+ ei = extend_info_from_router(me, 0);
circuit_launch_by_extend_info(CIRCUIT_PURPOSE_TESTING, ei,
CIRCLAUNCH_NEED_CAPACITY|CIRCLAUNCH_IS_INTERNAL);
extend_info_free(ei);
@@ -974,6 +997,14 @@ router_perform_bandwidth_test(int num_circs, time_t now)
}
}
+/** Return true iff our network is in some sense disabled: either we're
+ * hibernating, entering hibernation, or */
+int
+net_is_disabled(void)
+{
+ return get_options()->DisableNetwork || we_are_hibernating();
+}
+
/** Return true iff we believe ourselves to be an authoritative
* directory server.
*/
@@ -1024,7 +1055,7 @@ authdir_mode_any_nonhidserv(const or_options_t *options)
}
/** Return true iff we are an authoritative directory server that is
* authoritative about receiving and serving descriptors of type
- * <b>purpose</b> its dirport. Use -1 for "any purpose". */
+ * <b>purpose</b> on its dirport. Use -1 for "any purpose". */
int
authdir_mode_handles_descs(const or_options_t *options, int purpose)
{
@@ -1070,7 +1101,7 @@ int
server_mode(const or_options_t *options)
{
if (options->ClientOnly) return 0;
- return (options->ORPort != 0 || options->ORListenAddress);
+ return (options->ORPort || options->ORListenAddress);
}
/** Return true iff we are trying to be a non-bridge server.
@@ -1121,7 +1152,14 @@ int
proxy_mode(const or_options_t *options)
{
(void)options;
- return smartlist_len(get_configured_client_ports()) > 0;
+ SMARTLIST_FOREACH_BEGIN(get_configured_ports(), const port_cfg_t *, p) {
+ if (p->type == CONN_TYPE_AP_LISTENER ||
+ p->type == CONN_TYPE_AP_TRANS_LISTENER ||
+ p->type == CONN_TYPE_AP_DNS_LISTENER ||
+ p->type == CONN_TYPE_AP_NATD_LISTENER)
+ return 1;
+ } SMARTLIST_FOREACH_END(p);
+ return 0;
}
/** Decide if we're a publishable server. We are a publishable server if:
@@ -1180,17 +1218,21 @@ consider_publishable_server(int force)
/** Return the port that we should advertise as our ORPort; this is either
* the one configured in the ORPort option, or the one we actually bound to
- * if ORPort is "auto". */
+ * if ORPort is "auto".
+ */
uint16_t
router_get_advertised_or_port(const or_options_t *options)
{
- if (options->ORPort == CFG_AUTO_PORT) {
+ int port = get_primary_or_port();
+ (void)options;
+
+ if (port == CFG_AUTO_PORT) {
connection_t *c = connection_get_by_type(CONN_TYPE_OR_LISTENER);
if (c)
return c->port;
return 0;
}
- return options->ORPort;
+ return port;
}
/** Return the port that we should advertise as our DirPort;
@@ -1201,15 +1243,18 @@ router_get_advertised_or_port(const or_options_t *options)
uint16_t
router_get_advertised_dir_port(const or_options_t *options, uint16_t dirport)
{
- if (!options->DirPort)
+ int dirport_configured = get_primary_dir_port();
+ (void)options;
+
+ if (!dirport_configured)
return dirport;
- if (options->DirPort == CFG_AUTO_PORT) {
+ if (dirport_configured == CFG_AUTO_PORT) {
connection_t *c = connection_get_by_type(CONN_TYPE_DIR_LISTENER);
if (c)
return c->port;
return 0;
}
- return options->DirPort;
+ return dirport_configured;
}
/*
@@ -1466,6 +1511,24 @@ router_rebuild_descriptor(int force)
ri->cache_info.published_on = time(NULL);
ri->onion_pkey = crypto_pk_dup_key(get_onion_key()); /* must invoke from
* main thread */
+ if (options->BridgeRelay) {
+ /* For now, only bridges advertise an ipv6 or-address. And only one. */
+ const port_cfg_t *ipv6_orport = NULL;
+ SMARTLIST_FOREACH_BEGIN(get_configured_ports(), const port_cfg_t *, p) {
+ if (p->type == CONN_TYPE_OR_LISTENER &&
+ ! p->no_advertise &&
+ ! p->ipv4_only &&
+ tor_addr_family(&p->addr) == AF_INET6 &&
+ ! tor_addr_is_internal(&p->addr, 1)) {
+ ipv6_orport = p;
+ break;
+ }
+ } SMARTLIST_FOREACH_END(p);
+ if (ipv6_orport) {
+ tor_addr_copy(&ri->ipv6_addr, &ipv6_orport->addr);
+ ri->ipv6_orport = ipv6_orport->port;
+ }
+ }
ri->identity_pkey = crypto_pk_dup_key(get_server_identity_key());
if (crypto_pk_get_digest(ri->identity_pkey,
ri->cache_info.identity_digest)<0) {
@@ -1503,9 +1566,9 @@ router_rebuild_descriptor(int force)
if (options->MyFamily) {
smartlist_t *family;
if (!warned_nonexistent_family)
- warned_nonexistent_family = smartlist_create();
- family = smartlist_create();
- ri->declared_family = smartlist_create();
+ warned_nonexistent_family = smartlist_new();
+ family = smartlist_new();
+ ri->declared_family = smartlist_new();
smartlist_split_string(family, options->MyFamily, ",",
SPLIT_SKIP_SPACE|SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
SMARTLIST_FOREACH_BEGIN(family, char *, name) {
@@ -1861,7 +1924,7 @@ get_platform_str(char *platform, size_t len)
*/
int
router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
- crypto_pk_env_t *ident_key)
+ crypto_pk_t *ident_key)
{
char *onion_pkey; /* Onion key, PEM-encoded. */
char *identity_pkey; /* Identity key, PEM-encoded. */
@@ -1875,6 +1938,7 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
int result=0;
addr_policy_t *tmpe;
char *family_line;
+ char *extra_or_address = NULL;
const or_options_t *options = get_options();
/* Make sure the identity key matches the one in the routerinfo. */
@@ -1909,11 +1973,9 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
format_iso_time(published, router->cache_info.published_on);
if (router->declared_family && smartlist_len(router->declared_family)) {
- size_t n;
- char *family = smartlist_join_strings(router->declared_family, " ", 0, &n);
- n += strlen("family ") + 2; /* 1 for \n, 1 for \0. */
- family_line = tor_malloc(n);
- tor_snprintf(family_line, n, "family %s\n", family);
+ char *family = smartlist_join_strings(router->declared_family,
+ " ", 0, NULL);
+ tor_asprintf(&family_line, "family %s\n", family);
tor_free(family);
} else {
family_line = tor_strdup("");
@@ -1927,9 +1989,22 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
router->cache_info.extra_info_digest, DIGEST_LEN);
}
+ if (router->ipv6_orport &&
+ tor_addr_family(&router->ipv6_addr) == AF_INET6) {
+ char addr[TOR_ADDR_BUF_LEN];
+ const char *a;
+ a = tor_addr_to_str(addr, &router->ipv6_addr, sizeof(addr), 1);
+ if (a) {
+ tor_asprintf(&extra_or_address,
+ "or-address %s:%d\n", a, router->ipv6_orport);
+ log_notice(LD_OR, "My line is <%s>", extra_or_address);
+ }
+ }
+
/* Generate the easy portion of the router descriptor. */
result = tor_snprintf(s, maxlen,
"router %s %s %d 0 %d\n"
+ "%s"
"platform %s\n"
"opt protocols Link 1 2 Circuit 1\n"
"published %s\n"
@@ -1944,6 +2019,7 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
router->address,
router->or_port,
decide_to_advertise_dirport(options, router->dir_port),
+ extra_or_address ? extra_or_address : "",
router->platform,
published,
fingerprint,
@@ -1964,6 +2040,7 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
tor_free(family_line);
tor_free(onion_pkey);
tor_free(identity_pkey);
+ tor_free(extra_or_address);
if (result < 0) {
log_warn(LD_BUG,"descriptor snprintf #1 ran out of room!");
@@ -2059,6 +2136,52 @@ router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
return (int)written+1;
}
+/** Copy the primary (IPv4) OR port (IP address and TCP port) for
+ * <b>router</b> into *<b>ap_out</b>. */
+void
+router_get_prim_orport(const routerinfo_t *router, tor_addr_port_t *ap_out)
+{
+ tor_assert(ap_out != NULL);
+ tor_addr_from_ipv4h(&ap_out->addr, router->addr);
+ ap_out->port = router->or_port;
+}
+
+/** Return 1 if we prefer the IPv6 address and OR TCP port of
+ * <b>router</b>, else 0.
+ *
+ * We prefer the IPv6 address if the router has one and
+ * i) the routerinfo_t says so
+ * or
+ * ii) the router has no IPv4 address. */
+int
+router_ipv6_preferred(const routerinfo_t *router)
+{
+ return (!tor_addr_is_null(&router->ipv6_addr)
+ && (router->ipv6_preferred || router->addr == 0));
+}
+
+/** Copy the preferred OR port (IP address and TCP port) for
+ * <b>router</b> into *<b>addr_out</b>. */
+void
+router_get_pref_orport(const routerinfo_t *router, tor_addr_port_t *ap_out)
+{
+ if (router_ipv6_preferred(router))
+ router_get_pref_ipv6_orport(router, ap_out);
+ else
+ router_get_prim_orport(router, ap_out);
+}
+
+/** Copy the preferred IPv6 OR port (IP address and TCP port) for
+ * <b>router</b> into *<b>ap_out</b>. */
+void
+router_get_pref_ipv6_orport(const routerinfo_t *router,
+ tor_addr_port_t *ap_out)
+{
+ tor_assert(ap_out != NULL);
+ tor_addr_copy(&ap_out->addr, &router->ipv6_addr);
+ ap_out->port = router->ipv6_orport;
+}
+
/** Load the contents of <b>filename</b>, find the last line starting with
* <b>end_line</b>, ensure that its timestamp is not more than 25 hours in
* the past or more than 1 hour in the future with respect to <b>now</b>,
@@ -2115,7 +2238,7 @@ load_stats_file(const char *filename, const char *end_line, time_t now,
* success, negative on failure. */
int
extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo,
- crypto_pk_env_t *ident_key)
+ crypto_pk_t *ident_key)
{
const or_options_t *options = get_options();
char identity[HEX_DIGEST_LEN+1];
@@ -2127,7 +2250,7 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo,
char sig[DIROBJ_MAX_SIG_LEN+1];
char *s, *pre, *contents, *cp, *s_dup = NULL;
time_t now = time(NULL);
- smartlist_t *chunks = smartlist_create();
+ smartlist_t *chunks = smartlist_new();
extrainfo_t *ei_tmp = NULL;
base16_encode(identity, sizeof(identity),
@@ -2142,9 +2265,7 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo,
smartlist_add(chunks, pre);
if (geoip_is_loaded()) {
- char *chunk=NULL;
- tor_asprintf(&chunk, "geoip-db-digest %s\n", geoip_db_digest());
- smartlist_add(chunks, chunk);
+ smartlist_add_asprintf(chunks, "geoip-db-digest %s\n", geoip_db_digest());
}
if (options->ExtraInfoStatistics && write_stats_to_extrainfo) {
@@ -2567,16 +2688,16 @@ router_purpose_from_string(const char *s)
void
router_free_all(void)
{
- crypto_free_pk_env(onionkey);
- crypto_free_pk_env(lastonionkey);
- crypto_free_pk_env(server_identitykey);
- crypto_free_pk_env(client_identitykey);
+ crypto_pk_free(onionkey);
+ crypto_pk_free(lastonionkey);
+ crypto_pk_free(server_identitykey);
+ crypto_pk_free(client_identitykey);
tor_mutex_free(key_lock);
routerinfo_free(desc_routerinfo);
extrainfo_free(desc_extrainfo);
- crypto_free_pk_env(authority_signing_key);
+ crypto_pk_free(authority_signing_key);
authority_cert_free(authority_key_certificate);
- crypto_free_pk_env(legacy_signing_key);
+ crypto_pk_free(legacy_signing_key);
authority_cert_free(legacy_key_certificate);
if (warned_nonexistent_family) {
diff --git a/src/or/router.h b/src/or/router.h
index f9d156cb0..fb914349f 100644
--- a/src/or/router.h
+++ b/src/or/router.h
@@ -12,24 +12,25 @@
#ifndef _TOR_ROUTER_H
#define _TOR_ROUTER_H
-crypto_pk_env_t *get_onion_key(void);
+crypto_pk_t *get_onion_key(void);
time_t get_onion_key_set_at(void);
-void set_server_identity_key(crypto_pk_env_t *k);
-crypto_pk_env_t *get_server_identity_key(void);
+void set_server_identity_key(crypto_pk_t *k);
+crypto_pk_t *get_server_identity_key(void);
int server_identity_key_is_set(void);
-void set_client_identity_key(crypto_pk_env_t *k);
-crypto_pk_env_t *get_tlsclient_identity_key(void);
+void set_client_identity_key(crypto_pk_t *k);
+crypto_pk_t *get_tlsclient_identity_key(void);
int client_identity_key_is_set(void);
authority_cert_t *get_my_v3_authority_cert(void);
-crypto_pk_env_t *get_my_v3_authority_signing_key(void);
+crypto_pk_t *get_my_v3_authority_signing_key(void);
authority_cert_t *get_my_v3_legacy_cert(void);
-crypto_pk_env_t *get_my_v3_legacy_signing_key(void);
-void dup_onion_keys(crypto_pk_env_t **key, crypto_pk_env_t **last);
+crypto_pk_t *get_my_v3_legacy_signing_key(void);
+void dup_onion_keys(crypto_pk_t **key, crypto_pk_t **last);
void rotate_onion_key(void);
-crypto_pk_env_t *init_key_from_file(const char *fname, int generate,
+crypto_pk_t *init_key_from_file(const char *fname, int generate,
int severity);
void v3_authority_check_key_expiry(void);
+int router_initialize_tls_context(void);
int init_keys(void);
int check_whether_orport_reachable(void);
@@ -39,6 +40,8 @@ void router_orport_found_reachable(void);
void router_dirport_found_reachable(void);
void router_perform_bandwidth_test(int num_circs, time_t now);
+int net_is_disabled(void);
+
int authdir_mode(const or_options_t *options);
int authdir_mode_v1(const or_options_t *options);
int authdir_mode_v2(const or_options_t *options);
@@ -81,9 +84,16 @@ int router_fingerprint_is_me(const char *fp);
int router_pick_published_address(const or_options_t *options, uint32_t *addr);
int router_rebuild_descriptor(int force);
int router_dump_router_to_string(char *s, size_t maxlen, routerinfo_t *router,
- crypto_pk_env_t *ident_key);
+ crypto_pk_t *ident_key);
+void router_get_prim_orport(const routerinfo_t *router,
+ tor_addr_port_t *addr_port_out);
+void router_get_pref_orport(const routerinfo_t *router,
+ tor_addr_port_t *addr_port_out);
+void router_get_pref_ipv6_orport(const routerinfo_t *router,
+ tor_addr_port_t *addr_port_out);
+int router_ipv6_preferred(const routerinfo_t *router);
int extrainfo_dump_to_string(char **s, extrainfo_t *extrainfo,
- crypto_pk_env_t *ident_key);
+ crypto_pk_t *ident_key);
int is_legal_nickname(const char *s);
int is_legal_nickname_or_hexdigest(const char *s);
int is_legal_hexdigest(const char *s);
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index d97b978f4..d0ef662ca 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -136,7 +136,7 @@ get_cert_list(const char *id_digest)
if (!cl) {
cl = tor_malloc_zero(sizeof(cert_list_t));
cl->dl_status.schedule = DL_SCHED_CONSENSUS;
- cl->certs = smartlist_create();
+ cl->certs = smartlist_new();
digestmap_set(trusted_dir_certs, id_digest, cl);
}
return cl;
@@ -285,7 +285,7 @@ trusted_dirs_flush_certs_to_disk(void)
if (!trusted_dir_servers_certs_changed || !trusted_dir_certs)
return;
- chunks = smartlist_create();
+ chunks = smartlist_new();
DIGESTMAP_FOREACH(trusted_dir_certs, key, cert_list_t *, cl) {
SMARTLIST_FOREACH(cl->certs, authority_cert_t *, cert,
{
@@ -486,7 +486,7 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now)
return;
pending = digestmap_new();
- missing_digests = smartlist_create();
+ missing_digests = smartlist_new();
list_pending_downloads(pending, DIR_PURPOSE_FETCH_CERTIFICATE, "fp/");
if (status) {
@@ -510,9 +510,9 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now)
if (download_status_is_ready(&cl->dl_status, now,
MAX_CERT_DL_FAILURES) &&
!digestmap_get(pending, voter->identity_digest)) {
- log_notice(LD_DIR, "We're missing a certificate from authority "
- "with signing key %s: launching request.",
- hex_str(sig->signing_key_digest, DIGEST_LEN));
+ log_info(LD_DIR, "We're missing a certificate from authority "
+ "with signing key %s: launching request.",
+ hex_str(sig->signing_key_digest, DIGEST_LEN));
smartlist_add(missing_digests, sig->identity_digest);
}
} SMARTLIST_FOREACH_END(sig);
@@ -546,7 +546,7 @@ authority_certs_fetch_missing(networkstatus_t *status, time_t now)
if (!smartlist_len(missing_digests)) {
goto done;
} else {
- smartlist_t *fps = smartlist_create();
+ smartlist_t *fps = smartlist_new();
smartlist_add(fps, tor_strdup("fp/"));
SMARTLIST_FOREACH(missing_digests, const char *, d, {
char *fp;
@@ -695,10 +695,10 @@ router_rebuild_store(int flags, desc_store_t *store)
fname = get_datadir_fname(store->fname_base);
fname_tmp = get_datadir_fname_suffix(store->fname_base, ".tmp");
- chunk_list = smartlist_create();
+ chunk_list = smartlist_new();
/* We sort the routers by age to enhance locality on disk. */
- signed_descriptors = smartlist_create();
+ signed_descriptors = smartlist_new();
if (store->type == EXTRAINFO_STORE) {
eimap_iter_t *iter;
for (iter = eimap_iter_init(routerlist->extra_info_map);
@@ -912,7 +912,7 @@ smartlist_t *
router_get_trusted_dir_servers(void)
{
if (!trusted_dir_servers)
- trusted_dir_servers = smartlist_create();
+ trusted_dir_servers = smartlist_new();
return trusted_dir_servers;
}
@@ -1094,12 +1094,12 @@ router_pick_directory_server_impl(dirinfo_type_t type, int flags)
retry_without_exclude:
- direct = smartlist_create();
- tunnel = smartlist_create();
- trusted_direct = smartlist_create();
- trusted_tunnel = smartlist_create();
- overloaded_direct = smartlist_create();
- overloaded_tunnel = smartlist_create();
+ direct = smartlist_new();
+ tunnel = smartlist_new();
+ trusted_direct = smartlist_new();
+ trusted_tunnel = smartlist_new();
+ overloaded_direct = smartlist_new();
+ overloaded_tunnel = smartlist_new();
/* Find all the running dirservers we know about. */
SMARTLIST_FOREACH_BEGIN(nodelist_get_list(), const node_t *, node) {
@@ -1219,10 +1219,10 @@ router_pick_trusteddirserver_impl(dirinfo_type_t type, int flags,
retry_without_exclude:
- direct = smartlist_create();
- tunnel = smartlist_create();
- overloaded_direct = smartlist_create();
- overloaded_tunnel = smartlist_create();
+ direct = smartlist_new();
+ tunnel = smartlist_new();
+ overloaded_direct = smartlist_new();
+ overloaded_tunnel = smartlist_new();
SMARTLIST_FOREACH_BEGIN(trusted_dir_servers, trusted_dir_server_t *, d)
{
@@ -1517,7 +1517,7 @@ router_nickname_is_in_list(const routerinfo_t *router, const char *list)
return 0; /* definitely not */
tor_assert(router);
- nickname_list = smartlist_create();
+ nickname_list = smartlist_new();
smartlist_split_string(nickname_list, list, ",",
SPLIT_SKIP_SPACE|SPLIT_STRIP_SPACE|SPLIT_IGNORE_BLANK, 0);
SMARTLIST_FOREACH(nickname_list, const char *, cp,
@@ -2165,8 +2165,8 @@ router_choose_random_node(smartlist_t *excludedsmartlist,
const int weight_for_exit = (flags & CRN_WEIGHT_AS_EXIT) != 0;
const int need_desc = (flags & CRN_NEED_DESC) != 0;
- smartlist_t *sl=smartlist_create(),
- *excludednodes=smartlist_create();
+ smartlist_t *sl=smartlist_new(),
+ *excludednodes=smartlist_new();
const node_t *choice = NULL;
const routerinfo_t *r;
bandwidth_weight_rule_t rule;
@@ -2404,12 +2404,10 @@ router_get_by_nickname(const char *nickname, int warn_if_unnamed)
if (best_match) {
if (warn_if_unnamed && n_matches > 1) {
- smartlist_t *fps = smartlist_create();
+ smartlist_t *fps = smartlist_new();
int any_unwarned = 0;
SMARTLIST_FOREACH_BEGIN(routerlist->routers, routerinfo_t *, router) {
routerstatus_t *rs;
- char *desc;
- size_t dlen;
char fp[HEX_DIGEST_LEN+1];
if (strcasecmp(router->nickname, nickname))
continue;
@@ -2421,11 +2419,8 @@ router_get_by_nickname(const char *nickname, int warn_if_unnamed)
}
base16_encode(fp, sizeof(fp),
router->cache_info.identity_digest, DIGEST_LEN);
- dlen = 32 + HEX_DIGEST_LEN + strlen(router->address);
- desc = tor_malloc(dlen);
- tor_snprintf(desc, dlen, "\"$%s\" for the one at %s:%d",
+ smartlist_add_asprintf(fps, "\"$%s\" for the one at %s:%d",
fp, router->address, router->or_port);
- smartlist_add(fps, desc);
} SMARTLIST_FOREACH_END(router);
if (any_unwarned) {
char *alternatives = smartlist_join_strings(fps, "; ",0,NULL);
@@ -2657,8 +2652,8 @@ router_get_routerlist(void)
{
if (PREDICT_UNLIKELY(!routerlist)) {
routerlist = tor_malloc_zero(sizeof(routerlist_t));
- routerlist->routers = smartlist_create();
- routerlist->old_routers = smartlist_create();
+ routerlist->routers = smartlist_new();
+ routerlist->old_routers = smartlist_new();
routerlist->identity_map = rimap_new();
routerlist->desc_digest_map = sdmap_new();
routerlist->desc_by_eid_map = sdmap_new();
@@ -2690,9 +2685,9 @@ routerinfo_free(routerinfo_t *router)
tor_free(router->platform);
tor_free(router->contact_info);
if (router->onion_pkey)
- crypto_free_pk_env(router->onion_pkey);
+ crypto_pk_free(router->onion_pkey);
if (router->identity_pkey)
- crypto_free_pk_env(router->identity_pkey);
+ crypto_pk_free(router->identity_pkey);
if (router->declared_family) {
SMARTLIST_FOREACH(router->declared_family, char *, s, tor_free(s));
smartlist_free(router->declared_family);
@@ -3219,7 +3214,7 @@ void
routerlist_reset_warnings(void)
{
if (!warned_nicknames)
- warned_nicknames = smartlist_create();
+ warned_nicknames = smartlist_new();
SMARTLIST_FOREACH(warned_nicknames, char *, cp, tor_free(cp));
smartlist_clear(warned_nicknames); /* now the list is empty. */
@@ -3244,7 +3239,7 @@ router_set_status(const char *digest, int up)
log_debug(LD_DIR,"Marking router %s as %s.",
node_describe(node), up ? "up" : "down");
#endif
- if (!up && node_is_me(node) && !we_are_hibernating())
+ if (!up && node_is_me(node) && !net_is_disabled())
log_warn(LD_NET, "We just marked ourself as down. Are your external "
"addresses reachable?");
node->is_running = up;
@@ -3619,6 +3614,7 @@ routerlist_remove_old_routers(void)
const networkstatus_t *consensus = networkstatus_get_latest_consensus();
const smartlist_t *networkstatus_v2_list = networkstatus_get_v2_list();
int have_enough_v2;
+ const or_options_t *options = get_options();
trusted_dirs_remove_old_certs();
@@ -3680,6 +3676,7 @@ routerlist_remove_old_routers(void)
* routers.) */
/* we set this to true iff we don't care about v2 info, or we have enough. */
have_enough_v2 = !caches ||
+ !(authdir_mode_any_main(options) || options->FetchV2Networkstatus) ||
(networkstatus_v2_list &&
smartlist_len(networkstatus_v2_list) > get_n_v2_authorities() / 2);
@@ -3826,7 +3823,7 @@ router_load_single_router(const char *s, uint8_t purpose, int cache,
if (!cache) /* obey the preference of the controller */
ri->cache_info.do_not_cache = 1;
- lst = smartlist_create();
+ lst = smartlist_new();
smartlist_add(lst, ri);
routers_update_status_from_consensus_networkstatus(lst, 0);
@@ -3868,7 +3865,7 @@ router_load_routers_from_string(const char *s, const char *eos,
int descriptor_digests,
const char *prepend_annotations)
{
- smartlist_t *routers = smartlist_create(), *changed = smartlist_create();
+ smartlist_t *routers = smartlist_new(), *changed = smartlist_new();
char fp[HEX_DIGEST_LEN+1];
const char *msg;
int from_cache = (saved_location != SAVED_NOWHERE);
@@ -3943,7 +3940,7 @@ router_load_extrainfo_from_string(const char *s, const char *eos,
smartlist_t *requested_fingerprints,
int descriptor_digests)
{
- smartlist_t *extrainfo_list = smartlist_create();
+ smartlist_t *extrainfo_list = smartlist_new();
const char *msg;
int from_cache = (saved_location != SAVED_NOWHERE);
@@ -4009,6 +4006,8 @@ signed_desc_digest_is_recognized(signed_descriptor_t *desc)
void
update_all_descriptor_downloads(time_t now)
{
+ if (get_options()->DisableNetwork)
+ return;
update_router_descriptor_downloads(now);
update_microdesc_downloads(now);
launch_dummy_descriptor_download_as_needed(now, get_options());
@@ -4021,6 +4020,8 @@ routerlist_retry_directory_downloads(time_t now)
{
router_reset_status_download_failures();
router_reset_descriptor_download_failures();
+ if (get_options()->DisableNetwork)
+ return;
update_networkstatus_downloads(now);
update_all_descriptor_downloads(now);
}
@@ -4067,9 +4068,8 @@ add_trusted_dir_server(const char *nickname, const char *address,
trusted_dir_server_t *ent;
uint32_t a;
char *hostname = NULL;
- size_t dlen;
if (!trusted_dir_servers)
- trusted_dir_servers = smartlist_create();
+ trusted_dir_servers = smartlist_new();
if (!address) { /* The address is us; we should guess. */
if (resolve_my_address(LOG_WARN, get_options(), &a, &hostname) < 0) {
@@ -4100,13 +4100,11 @@ add_trusted_dir_server(const char *nickname, const char *address,
if (v3_auth_digest && (type & V3_DIRINFO))
memcpy(ent->v3_identity_digest, v3_auth_digest, DIGEST_LEN);
- dlen = 64 + strlen(hostname) + (nickname?strlen(nickname):0);
- ent->description = tor_malloc(dlen);
if (nickname)
- tor_snprintf(ent->description, dlen, "directory server \"%s\" at %s:%d",
+ tor_asprintf(&ent->description, "directory server \"%s\" at %s:%d",
nickname, hostname, (int)dir_port);
else
- tor_snprintf(ent->description, dlen, "directory server at %s:%d",
+ tor_asprintf(&ent->description, "directory server at %s:%d",
hostname, (int)dir_port);
ent->fake_status.addr = ent->addr;
@@ -4137,8 +4135,8 @@ authority_cert_free(authority_cert_t *cert)
return;
tor_free(cert->cache_info.signed_descriptor_body);
- crypto_free_pk_env(cert->signing_key);
- crypto_free_pk_env(cert->identity_key);
+ crypto_pk_free(cert->signing_key);
+ crypto_pk_free(cert->identity_key);
tor_free(cert);
}
@@ -4165,7 +4163,7 @@ clear_trusted_dir_servers(void)
trusted_dir_server_free(ent));
smartlist_clear(trusted_dir_servers);
} else {
- trusted_dir_servers = smartlist_create();
+ trusted_dir_servers = smartlist_new();
}
router_dir_info_changed();
}
@@ -4192,7 +4190,7 @@ list_pending_downloads(digestmap_t *result,
int purpose, const char *prefix)
{
const size_t p_len = strlen(prefix);
- smartlist_t *tmp = smartlist_create();
+ smartlist_t *tmp = smartlist_new();
smartlist_t *conns = get_connection_array();
int flags = DSR_HEX;
if (purpose == DIR_PURPOSE_FETCH_MICRODESC)
@@ -4495,8 +4493,8 @@ update_router_descriptor_cache_downloads_v2(time_t now)
{
trusted_dir_server_t *ds;
smartlist_t *dl;
- dl = downloadable[ns_sl_idx] = smartlist_create();
- download_from[ns_sl_idx] = smartlist_create();
+ dl = downloadable[ns_sl_idx] = smartlist_new();
+ download_from[ns_sl_idx] = smartlist_new();
if (ns->published_on + MAX_NETWORKSTATUS_AGE+10*60 < now) {
/* Don't download if the networkstatus is almost ancient. */
/* Actually, I suspect what's happening here is that we ask
@@ -4608,8 +4606,8 @@ update_consensus_router_descriptor_downloads(time_t now, int is_vote,
{
const or_options_t *options = get_options();
digestmap_t *map = NULL;
- smartlist_t *no_longer_old = smartlist_create();
- smartlist_t *downloadable = smartlist_create();
+ smartlist_t *no_longer_old = smartlist_new();
+ smartlist_t *downloadable = smartlist_new();
routerstatus_t *source = NULL;
int authdir = authdir_mode(options);
int n_delayed=0, n_have=0, n_would_reject=0, n_wouldnt_use=0,
@@ -4792,7 +4790,7 @@ update_extrainfo_downloads(time_t now)
pending = digestmap_new();
list_pending_descriptor_downloads(pending, 1);
rl = router_get_routerlist();
- wanted = smartlist_create();
+ wanted = smartlist_new();
for (old_routers = 0; old_routers < 2; ++old_routers) {
smartlist_t *lst = old_routers ? rl->old_routers : rl->routers;
for (i = 0; i < smartlist_len(lst); ++i) {
@@ -5329,7 +5327,6 @@ esc_router_info(const routerinfo_t *router)
{
static char *info=NULL;
char *esc_contact, *esc_platform;
- size_t len;
tor_free(info);
if (!router)
@@ -5338,10 +5335,7 @@ esc_router_info(const routerinfo_t *router)
esc_contact = esc_for_log(router->contact_info);
esc_platform = esc_for_log(router->platform);
- len = strlen(esc_contact)+strlen(esc_platform)+32;
- info = tor_malloc(len);
- tor_snprintf(info, len, "Contact %s, Platform %s", esc_contact,
- esc_platform);
+ tor_asprintf(&info, "Contact %s, Platform %s", esc_contact, esc_platform);
tor_free(esc_contact);
tor_free(esc_platform);
@@ -5404,11 +5398,11 @@ routerset_t *
routerset_new(void)
{
routerset_t *result = tor_malloc_zero(sizeof(routerset_t));
- result->list = smartlist_create();
+ result->list = smartlist_new();
result->names = strmap_new();
result->digests = digestmap_new();
- result->policies = smartlist_create();
- result->country_names = smartlist_create();
+ result->policies = smartlist_new();
+ result->country_names = smartlist_new();
return result;
}
@@ -5469,7 +5463,7 @@ routerset_parse(routerset_t *target, const char *s, const char *description)
int r = 0;
int added_countries = 0;
char *countryname;
- smartlist_t *list = smartlist_create();
+ smartlist_t *list = smartlist_new();
smartlist_split_string(list, s, ",",
SPLIT_SKIP_SPACE | SPLIT_IGNORE_BLANK, 0);
SMARTLIST_FOREACH_BEGIN(list, char *, nick) {
@@ -5888,7 +5882,7 @@ hid_serv_responsible_for_desc_id(const char *query)
if (!(me = router_get_my_routerinfo()))
return 0; /* This is redundant, but let's be paranoid. */
my_id = me->cache_info.identity_digest;
- responsible = smartlist_create();
+ responsible = smartlist_new();
if (hid_serv_get_responsible_directories(responsible, query) < 0) {
smartlist_free(responsible);
return 0;
diff --git a/src/or/routerparse.c b/src/or/routerparse.c
index e8b2dd7d2..95cef9352 100644
--- a/src/or/routerparse.c
+++ b/src/or/routerparse.c
@@ -64,6 +64,7 @@ typedef enum {
K_DIR_OPTIONS,
K_CLIENT_VERSIONS,
K_SERVER_VERSIONS,
+ K_OR_ADDRESS,
K_P,
K_R,
K_S,
@@ -177,7 +178,7 @@ typedef struct directory_token_t {
size_t object_size; /**< Bytes in object_body */
char *object_body; /**< Contents of object, base64-decoded. */
- crypto_pk_env_t *key; /**< For public keys only. Heap-allocated. */
+ crypto_pk_t *key; /**< For public keys only. Heap-allocated. */
char *error; /**< For _ERR tokens only. */
} directory_token_t;
@@ -286,6 +287,7 @@ static token_rule_t routerdesc_token_table[] = {
T01("family", K_FAMILY, ARGS, NO_OBJ ),
T01("caches-extra-info", K_CACHES_EXTRA_INFO, NO_ARGS, NO_OBJ ),
+ T0N("or-address", K_OR_ADDRESS, GE(1), NO_OBJ ),
T0N("opt", K_OPT, CONCAT_ARGS, OBJ_OK ),
T1( "bandwidth", K_BANDWIDTH, GE(3), NO_OBJ ),
@@ -541,6 +543,7 @@ static int router_get_hashes_impl(const char *s, size_t s_len,
const char *start_str, const char *end_str,
char end_char);
static void token_clear(directory_token_t *tok);
+static smartlist_t *find_all_by_keyword(smartlist_t *s, directory_keyword k);
static smartlist_t *find_all_exitpolicy(smartlist_t *s);
static directory_token_t *_find_by_keyword(smartlist_t *s,
directory_keyword keyword,
@@ -566,10 +569,10 @@ static directory_token_t *get_next_token(memarea_t *area,
static int check_signature_token(const char *digest,
ssize_t digest_len,
directory_token_t *tok,
- crypto_pk_env_t *pkey,
+ crypto_pk_t *pkey,
int flags,
const char *doctype);
-static crypto_pk_env_t *find_dir_signing_key(const char *str, const char *eos);
+static crypto_pk_t *find_dir_signing_key(const char *str, const char *eos);
#undef DEBUG_AREA_ALLOC
@@ -697,7 +700,7 @@ router_get_extrainfo_hash(const char *s, char *digest)
*/
int
router_append_dirobj_signature(char *buf, size_t buf_len, const char *digest,
- size_t digest_len, crypto_pk_env_t *private_key)
+ size_t digest_len, crypto_pk_t *private_key)
{
char *signature;
size_t i, keysize;
@@ -763,7 +766,7 @@ tor_version_is_obsolete(const char *myversion, const char *versionlist)
log_err(LD_BUG,"I couldn't parse my own version (%s)", myversion);
tor_assert(0);
}
- version_sl = smartlist_create();
+ version_sl = smartlist_new();
smartlist_split_string(version_sl, versionlist, ",", SPLIT_SKIP_SPACE, 0);
if (!strlen(versionlist)) { /* no authorities cared or agreed */
@@ -824,7 +827,7 @@ router_parse_directory(const char *str)
int r;
const char *end, *cp, *str_dup = str;
smartlist_t *tokens = NULL;
- crypto_pk_env_t *declared_key = NULL;
+ crypto_pk_t *declared_key = NULL;
memarea_t *area = memarea_new();
/* XXXX This could be simplified a lot, but it will all go away
@@ -845,7 +848,7 @@ router_parse_directory(const char *str)
log_warn(LD_DIR, "No signature found on directory."); goto err;
}
++cp;
- tokens = smartlist_create();
+ tokens = smartlist_new();
if (tokenize_string(area,cp,strchr(cp,'\0'),tokens,dir_token_table,0)) {
log_warn(LD_DIR, "Error tokenizing directory signature"); goto err;
}
@@ -898,7 +901,7 @@ router_parse_directory(const char *str)
dump_desc(str_dup, "v1 directory");
r = -1;
done:
- if (declared_key) crypto_free_pk_env(declared_key);
+ if (declared_key) crypto_pk_free(declared_key);
if (tokens) {
SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_clear(t));
smartlist_free(tokens);
@@ -920,7 +923,7 @@ router_parse_runningrouters(const char *str)
directory_token_t *tok;
time_t published_on;
int r = -1;
- crypto_pk_env_t *declared_key = NULL;
+ crypto_pk_t *declared_key = NULL;
smartlist_t *tokens = NULL;
const char *eos = str + strlen(str), *str_dup = str;
memarea_t *area = NULL;
@@ -930,7 +933,7 @@ router_parse_runningrouters(const char *str)
goto err;
}
area = memarea_new();
- tokens = smartlist_create();
+ tokens = smartlist_new();
if (tokenize_string(area,str,eos,tokens,dir_token_table,0)) {
log_warn(LD_DIR, "Error tokenizing running-routers"); goto err;
}
@@ -964,7 +967,7 @@ router_parse_runningrouters(const char *str)
r = 0;
err:
dump_desc(str_dup, "v1 running-routers");
- if (declared_key) crypto_free_pk_env(declared_key);
+ if (declared_key) crypto_pk_free(declared_key);
if (tokens) {
SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_clear(t));
smartlist_free(tokens);
@@ -979,12 +982,12 @@ router_parse_runningrouters(const char *str)
/** Given a directory or running-routers string in <b>str</b>, try to
* find the its dir-signing-key token (if any). If this token is
* present, extract and return the key. Return NULL on failure. */
-static crypto_pk_env_t *
+static crypto_pk_t *
find_dir_signing_key(const char *str, const char *eos)
{
const char *cp;
directory_token_t *tok;
- crypto_pk_env_t *key = NULL;
+ crypto_pk_t *key = NULL;
memarea_t *area = NULL;
tor_assert(str);
tor_assert(eos);
@@ -1027,7 +1030,7 @@ find_dir_signing_key(const char *str, const char *eos)
/** Return true iff <b>key</b> is allowed to sign directories.
*/
static int
-dir_signing_key_is_trusted(crypto_pk_env_t *key)
+dir_signing_key_is_trusted(crypto_pk_t *key)
{
char digest[DIGEST_LEN];
if (!key) return 0;
@@ -1054,7 +1057,7 @@ static int
check_signature_token(const char *digest,
ssize_t digest_len,
directory_token_t *tok,
- crypto_pk_env_t *pkey,
+ crypto_pk_t *pkey,
int flags,
const char *doctype)
{
@@ -1295,7 +1298,7 @@ router_parse_entry_from_string(const char *s, const char *end,
--end;
area = memarea_new();
- tokens = smartlist_create();
+ tokens = smartlist_new();
if (prepend_annotations) {
if (tokenize_string(area,prepend_annotations,NULL,tokens,
routerdesc_token_table,TS_NOCHECK)) {
@@ -1506,6 +1509,27 @@ router_parse_entry_from_string(const char *s, const char *end,
"older Tors.");
goto err;
}
+ {
+ smartlist_t *or_addresses = find_all_by_keyword(tokens, K_OR_ADDRESS);
+ if (or_addresses) {
+ SMARTLIST_FOREACH_BEGIN(or_addresses, directory_token_t *, t) {
+ tor_addr_t a;
+ maskbits_t bits;
+ uint16_t port_min, port_max;
+ /* XXXX Prop186 the full spec allows much more than this. */
+ if (tor_addr_parse_mask_ports(t->args[0], &a, &bits, &port_min,
+ &port_max) == AF_INET6 &&
+ bits == 128 &&
+ port_min == port_max) {
+ /* Okay, this is one we can understand. */
+ tor_addr_copy(&router->ipv6_addr, &a);
+ router->ipv6_orport = port_min;
+ break;
+ }
+ } SMARTLIST_FOREACH_END(t);
+ smartlist_free(or_addresses);
+ }
+ }
exit_policy_tokens = find_all_exitpolicy(tokens);
if (!smartlist_len(exit_policy_tokens)) {
log_warn(LD_DIR, "No exit policy tokens in descriptor.");
@@ -1522,7 +1546,7 @@ router_parse_entry_from_string(const char *s, const char *end,
if ((tok = find_opt_by_keyword(tokens, K_FAMILY)) && tok->n_args) {
int i;
- router->declared_family = smartlist_create();
+ router->declared_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",
@@ -1606,7 +1630,7 @@ extrainfo_parse_entry_from_string(const char *s, const char *end,
char digest[128];
smartlist_t *tokens = NULL;
directory_token_t *tok;
- crypto_pk_env_t *key = NULL;
+ crypto_pk_t *key = NULL;
routerinfo_t *router = NULL;
memarea_t *area = NULL;
const char *s_dup = s;
@@ -1623,7 +1647,7 @@ extrainfo_parse_entry_from_string(const char *s, const char *end,
log_warn(LD_DIR, "Couldn't compute router hash.");
goto err;
}
- tokens = smartlist_create();
+ tokens = smartlist_new();
area = memarea_new();
if (tokenize_string(area,s,end,tokens,extrainfo_token_table,0)) {
log_warn(LD_DIR, "Error tokenizing extra-info document.");
@@ -1756,7 +1780,7 @@ authority_cert_parse_from_string(const char *s, const char **end_of_string)
return NULL;
}
- tokens = smartlist_create();
+ tokens = smartlist_new();
area = memarea_new();
if (tokenize_string(area,s, eos, tokens, dir_key_certificate_table, 0) < 0) {
log_warn(LD_DIR, "Error tokenizing key certificate");
@@ -2101,14 +2125,8 @@ routerstatus_parse_entry_from_string(memarea_t *area,
tor_version_as_new_as(tok->args[0], "0.2.0.8-alpha");
rs->version_supports_conditional_consensus =
tor_version_as_new_as(tok->args[0], "0.2.1.1-alpha");
- /* XXXX023 NM microdescs: 0.2.3.1-alpha isn't widely used yet, but
- * not all 0.2.3.0-alpha "versions" actually support microdesc cacheing
- * right. There's a compromise here. Since this is 5 May, let's
- * err on the side of having some possible caches to use. Once more
- * caches are running 0.2.3.1-alpha, we can bump this version number.
- */
rs->version_supports_microdesc_cache =
- tor_version_as_new_as(tok->args[0], "0.2.3.0-alpha");
+ tor_version_supports_microdescriptors(tok->args[0]);
rs->version_supports_optimistic_data =
tor_version_as_new_as(tok->args[0], "0.2.3.1-alpha");
}
@@ -2233,8 +2251,8 @@ networkstatus_v2_t *
networkstatus_v2_parse_from_string(const char *s)
{
const char *eos, *s_dup = s;
- smartlist_t *tokens = smartlist_create();
- smartlist_t *footer_tokens = smartlist_create();
+ smartlist_t *tokens = smartlist_new();
+ smartlist_t *footer_tokens = smartlist_new();
networkstatus_v2_t *ns = NULL;
char ns_digest[DIGEST_LEN];
char tmp_digest[DIGEST_LEN];
@@ -2344,7 +2362,7 @@ networkstatus_v2_parse_from_string(const char *s)
goto err;
}
- ns->entries = smartlist_create();
+ ns->entries = smartlist_new();
s = eos;
SMARTLIST_FOREACH(tokens, directory_token_t *, t, token_clear(t));
smartlist_clear(tokens);
@@ -2791,7 +2809,7 @@ networkstatus_t *
networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
networkstatus_type_t ns_type)
{
- smartlist_t *tokens = smartlist_create();
+ smartlist_t *tokens = smartlist_new();
smartlist_t *rs_tokens = NULL, *footer_tokens = NULL;
networkstatus_voter_info_t *voter = NULL;
networkstatus_t *ns = NULL;
@@ -2876,7 +2894,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
if (parse_iso_time(tok->args[0], &ns->published))
goto err;
- ns->supported_methods = smartlist_create();
+ ns->supported_methods = smartlist_new();
tok = find_opt_by_keyword(tokens, K_CONSENSUS_METHODS);
if (tok) {
for (i=0; i < tok->n_args; ++i)
@@ -2943,7 +2961,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
}
tok = find_by_keyword(tokens, K_KNOWN_FLAGS);
- ns->known_flags = smartlist_create();
+ ns->known_flags = smartlist_new();
inorder = 1;
for (i = 0; i < tok->n_args; ++i) {
smartlist_add(ns->known_flags, tor_strdup(tok->args[i]));
@@ -2960,7 +2978,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
tok = find_opt_by_keyword(tokens, K_PARAMS);
if (tok) {
inorder = 1;
- ns->net_params = smartlist_create();
+ ns->net_params = smartlist_new();
for (i = 0; i < tok->n_args; ++i) {
int ok=0;
char *eq = strchr(tok->args[i], '=');
@@ -2985,7 +3003,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
}
}
- ns->voters = smartlist_create();
+ ns->voters = smartlist_new();
SMARTLIST_FOREACH_BEGIN(tokens, directory_token_t *, _tok) {
tok = _tok;
@@ -2995,7 +3013,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
if (voter)
smartlist_add(ns->voters, voter);
voter = tor_malloc_zero(sizeof(networkstatus_voter_info_t));
- voter->sigs = smartlist_create();
+ voter->sigs = smartlist_new();
if (ns->type != NS_TYPE_CONSENSUS)
memcpy(voter->vote_digest, ns_digests.d[DIGEST_SHA1], DIGEST_LEN);
@@ -3080,10 +3098,10 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
}
/* Parse routerstatus lines. */
- rs_tokens = smartlist_create();
+ rs_tokens = smartlist_new();
rs_area = memarea_new();
s = end_of_header;
- ns->routerstatus_list = smartlist_create();
+ ns->routerstatus_list = smartlist_new();
while (!strcmpstart(s, "r ")) {
if (ns->type != NS_TYPE_CONSENSUS) {
@@ -3123,7 +3141,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
}
/* Parse footer; check signature. */
- footer_tokens = smartlist_create();
+ footer_tokens = smartlist_new();
if ((end_of_footer = strstr(s, "\nnetwork-status-version ")))
++end_of_footer;
else
@@ -3156,7 +3174,7 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out,
tok = find_opt_by_keyword(footer_tokens, K_BW_WEIGHTS);
if (tok) {
- ns->weight_params = smartlist_create();
+ ns->weight_params = smartlist_new();
for (i = 0; i < tok->n_args; ++i) {
int ok=0;
char *eq = strchr(tok->args[i], '=');
@@ -3348,7 +3366,7 @@ detached_get_signatures(ns_detached_signatures_t *sigs,
{
smartlist_t *sl = strmap_get(sigs->signatures, flavor_name);
if (!sl) {
- sl = smartlist_create();
+ sl = smartlist_new();
strmap_set(sigs->signatures, flavor_name, sl);
}
return sl;
@@ -3365,7 +3383,7 @@ networkstatus_parse_detached_signatures(const char *s, const char *eos)
memarea_t *area = NULL;
digests_t *digests;
- smartlist_t *tokens = smartlist_create();
+ smartlist_t *tokens = smartlist_new();
ns_detached_signatures_t *sigs =
tor_malloc_zero(sizeof(ns_detached_signatures_t));
sigs->digests = strmap_new();
@@ -3620,7 +3638,7 @@ router_add_exit_policy(routerinfo_t *router, directory_token_t *tok)
if (!newe)
return -1;
if (! router->exit_policy)
- router->exit_policy = smartlist_create();
+ router->exit_policy = smartlist_new();
if (((tok->tp == K_ACCEPT6 || tok->tp == K_REJECT6) &&
tor_addr_family(&newe->addr) == AF_INET)
@@ -3728,7 +3746,7 @@ static void
token_clear(directory_token_t *tok)
{
if (tok->key)
- crypto_free_pk_env(tok->key);
+ crypto_pk_free(tok->key);
}
#define ALLOC_ZERO(sz) memarea_alloc_zero(area,sz)
@@ -3974,11 +3992,11 @@ get_next_token(memarea_t *area,
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_new_pk_env();
+ 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_new_pk_env();
+ 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 */
@@ -4134,13 +4152,27 @@ _find_by_keyword(smartlist_t *s, directory_keyword keyword,
return tok;
}
+/** DOCDOC */
+static smartlist_t *
+find_all_by_keyword(smartlist_t *s, directory_keyword k)
+{
+ smartlist_t *out = NULL;
+ SMARTLIST_FOREACH(s, directory_token_t *, t,
+ if (t->tp == k) {
+ if (!out)
+ out = smartlist_new();
+ smartlist_add(out, t);
+ });
+ return out;
+}
+
/** Return a newly allocated smartlist of all accept or reject tokens in
* <b>s</b>.
*/
static smartlist_t *
find_all_exitpolicy(smartlist_t *s)
{
- smartlist_t *out = smartlist_create();
+ smartlist_t *out = smartlist_new();
SMARTLIST_FOREACH(s, directory_token_t *, t,
if (t->tp == K_ACCEPT || t->tp == K_ACCEPT6 ||
t->tp == K_REJECT || t->tp == K_REJECT6)
@@ -4312,8 +4344,8 @@ microdescs_parse_from_string(const char *s, const char *eos,
s = eat_whitespace_eos(s, eos);
area = memarea_new();
- result = smartlist_create();
- tokens = smartlist_create();
+ result = smartlist_new();
+ tokens = smartlist_new();
while (s < eos) {
start_of_next_microdesc = find_start_of_next_microdesc(s, eos);
@@ -4358,7 +4390,7 @@ microdescs_parse_from_string(const char *s, const char *eos,
if ((tok = find_opt_by_keyword(tokens, K_FAMILY))) {
int i;
- md->family = smartlist_create();
+ 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",
@@ -4393,6 +4425,14 @@ microdescs_parse_from_string(const char *s, const char *eos,
return result;
}
+/** Return true iff this Tor version can answer directory questions
+ * about microdescriptors. */
+int
+tor_version_supports_microdescriptors(const char *platform)
+{
+ return tor_version_as_new_as(platform, "0.2.3.1-alpha");
+}
+
/** Parse the Tor version of the platform string <b>platform</b>,
* and compare it to the version in <b>cutoff</b>. Return 1 if
* the router is at least as new as the cutoff, else return 0.
@@ -4633,7 +4673,7 @@ rend_parse_v2_service_descriptor(rend_service_descriptor_t **parsed_out,
tor_malloc_zero(sizeof(rend_service_descriptor_t));
char desc_hash[DIGEST_LEN];
const char *eos;
- smartlist_t *tokens = smartlist_create();
+ smartlist_t *tokens = smartlist_new();
directory_token_t *tok;
char secret_id_part[DIGEST_LEN];
int i, version, num_ok=1;
@@ -4742,7 +4782,7 @@ rend_parse_v2_service_descriptor(rend_service_descriptor_t **parsed_out,
/* Parse protocol versions. */
tok = find_by_keyword(tokens, R_PROTOCOL_VERSIONS);
tor_assert(tok->n_args == 1);
- versions = smartlist_create();
+ versions = smartlist_new();
smartlist_split_string(versions, tok->args[0], ",",
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
for (i = 0; i < smartlist_len(versions); i++) {
@@ -4825,8 +4865,8 @@ rend_decrypt_introduction_points(char **ipos_decrypted,
session_key[CIPHER_KEY_LEN], *dec;
int declen, client_blocks;
size_t pos = 0, len, client_entries_len;
- crypto_digest_env_t *digest;
- crypto_cipher_env_t *cipher;
+ crypto_digest_t *digest;
+ crypto_cipher_t *cipher;
client_blocks = (int) ipos_encrypted[1];
client_entries_len = client_blocks * REND_BASIC_AUTH_CLIENT_MULTIPLE *
REND_BASIC_AUTH_CLIENT_ENTRY_LEN;
@@ -4836,12 +4876,12 @@ rend_decrypt_introduction_points(char **ipos_decrypted,
return -1;
}
memcpy(iv, ipos_encrypted + 2 + client_entries_len, CIPHER_IV_LEN);
- digest = crypto_new_digest_env();
+ digest = crypto_digest_new();
crypto_digest_add_bytes(digest, descriptor_cookie, REND_DESC_COOKIE_LEN);
crypto_digest_add_bytes(digest, iv, CIPHER_IV_LEN);
crypto_digest_get_digest(digest, client_id,
REND_BASIC_AUTH_CLIENT_ID_LEN);
- crypto_free_digest_env(digest);
+ crypto_digest_free(digest);
for (pos = 2; pos < 2 + client_entries_len;
pos += REND_BASIC_AUTH_CLIENT_ENTRY_LEN) {
if (tor_memeq(ipos_encrypted + pos, client_id,
@@ -4852,17 +4892,17 @@ rend_decrypt_introduction_points(char **ipos_decrypted,
+ pos + REND_BASIC_AUTH_CLIENT_ID_LEN,
CIPHER_KEY_LEN) < 0) {
log_warn(LD_REND, "Could not decrypt session key for client.");
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
return -1;
}
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = crypto_create_init_cipher(session_key, 0);
len = ipos_encrypted_size - 2 - client_entries_len - CIPHER_IV_LEN;
dec = tor_malloc(len);
declen = crypto_cipher_decrypt_with_iv(cipher, dec, len,
ipos_encrypted + 2 + client_entries_len,
ipos_encrypted_size - 2 - client_entries_len);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
if (declen < 0) {
log_warn(LD_REND, "Could not decrypt introduction point string.");
tor_free(dec);
@@ -4883,9 +4923,14 @@ rend_decrypt_introduction_points(char **ipos_decrypted,
"check your authorization for this service!");
return -1;
} else if (ipos_encrypted[0] == (int)REND_STEALTH_AUTH) {
- crypto_cipher_env_t *cipher;
+ crypto_cipher_t *cipher;
char *dec;
int declen;
+ if (ipos_encrypted_size < CIPHER_IV_LEN + 2) {
+ log_warn(LD_REND, "Size of encrypted introduction points is too "
+ "small.");
+ return -1;
+ }
dec = tor_malloc_zero(ipos_encrypted_size - CIPHER_IV_LEN - 1);
cipher = crypto_create_init_cipher(descriptor_cookie, 0);
declen = crypto_cipher_decrypt_with_iv(cipher, dec,
@@ -4893,7 +4938,7 @@ rend_decrypt_introduction_points(char **ipos_decrypted,
CIPHER_IV_LEN - 1,
ipos_encrypted + 1,
ipos_encrypted_size - 1);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
if (declen < 0) {
log_warn(LD_REND, "Decrypting introduction points failed!");
tor_free(dec);
@@ -4933,8 +4978,8 @@ rend_parse_introduction_points(rend_service_descriptor_t *parsed,
/* Consider one intro point after the other. */
current_ipo = intro_points_encoded;
end_of_intro_points = intro_points_encoded + intro_points_encoded_size;
- tokens = smartlist_create();
- parsed->intro_nodes = smartlist_create();
+ tokens = smartlist_new();
+ parsed->intro_nodes = smartlist_new();
area = memarea_new();
while (!fast_memcmpstart(current_ipo, end_of_intro_points-current_ipo,
@@ -5055,7 +5100,7 @@ rend_parse_client_keys(strmap_t *parsed_clients, const char *ckstr)
memarea_t *area = NULL;
if (!ckstr || strlen(ckstr) == 0)
return -1;
- tokens = smartlist_create();
+ tokens = smartlist_new();
/* Begin parsing with first entry, skipping comments or whitespace at the
* beginning. */
area = memarea_new();
diff --git a/src/or/routerparse.h b/src/or/routerparse.h
index 527de5dc8..b274d2196 100644
--- a/src/or/routerparse.h
+++ b/src/or/routerparse.h
@@ -24,7 +24,7 @@ int router_get_extrainfo_hash(const char *s, char *digest);
int router_append_dirobj_signature(char *buf, size_t buf_len,
const char *digest,
size_t digest_len,
- crypto_pk_env_t *private_key);
+ crypto_pk_t *private_key);
int router_parse_list_from_string(const char **s, const char *eos,
smartlist_t *dest,
saved_location_t saved_location,
@@ -44,8 +44,9 @@ addr_policy_t *router_parse_addr_policy_item_from_string(const char *s,
int assume_action);
version_status_t tor_version_is_obsolete(const char *myversion,
const char *versionlist);
-int tor_version_parse(const char *s, tor_version_t *out);
+int tor_version_supports_microdescriptors(const char *platform);
int tor_version_as_new_as(const char *platform, const char *cutoff);
+int tor_version_parse(const char *s, tor_version_t *out);
int tor_version_compare(tor_version_t *a, tor_version_t *b);
int tor_version_same_series(tor_version_t *a, tor_version_t *b);
void sort_version_list(smartlist_t *lst, int remove_duplicates);
diff --git a/src/or/transports.c b/src/or/transports.c
index 6e8200f40..564603e1f 100644
--- a/src/or/transports.c
+++ b/src/or/transports.c
@@ -4,6 +4,83 @@
/**
* \file transports.c
* \brief Pluggable Transports related code.
+ *
+ * \details
+ * Each managed proxy is represented by a <b>managed_proxy_t</b>.
+ * Each managed proxy can support multiple transports.
+ * Each managed proxy gets configured through a multistep process.
+ *
+ * ::managed_proxy_list contains all the managed proxies this tor
+ * instance is supporting.
+ * In the ::managed_proxy_list there are ::unconfigured_proxies_n
+ * managed proxies that are still unconfigured.
+ *
+ * In every run_scheduled_event() tick, we attempt to launch and then
+ * configure the unconfiged managed proxies, using the configuration
+ * protocol defined in the 180_pluggable_transport.txt proposal. A
+ * managed proxy might need several ticks to get fully configured.
+ *
+ * When a managed proxy is fully configured, we register all its
+ * transports to the circuitbuild.c subsystem. At that point the
+ * transports are owned by the circuitbuild.c subsystem.
+ *
+ * When a managed proxy fails to follow the 180 configuration
+ * protocol, it gets marked as broken and gets destroyed.
+ *
+ * <b>In a little more detail:</b>
+ *
+ * While we are serially parsing torrc, we store all the transports
+ * that a proxy should spawn in its <em>transports_to_launch</em>
+ * element.
+ *
+ * When we finish reading the torrc, we spawn the managed proxy and
+ * expect {S,C}METHOD lines from its output. We add transports
+ * described by METHOD lines to its <em>transports</em> element, as
+ * transport_t structs.
+ *
+ * When the managed proxy stops spitting METHOD lines (signified by a
+ * '{S,C}METHODS DONE' message) we register all the transports
+ * collected to the circuitbuild.c subsystem. At this point, the
+ * pointers to transport_t can be transformed into dangling pointers
+ * at any point by the circuitbuild.c subsystem, and so we replace all
+ * transport_t pointers with strings describing the transport names.
+ * We can still go from a transport name to a transport_t using the
+ * fact that each transport name uniquely identifies a transport_t.
+ *
+ * <b>In even more detail, this is what happens when a SIGHUP
+ * occurs:</b>
+ *
+ * We immediately destroy all unconfigured proxies (We shouldn't have
+ * unconfigured proxies in the first place, except when SIGHUP rings
+ * immediately after tor is launched.).
+ *
+ * We mark all managed proxies and transports to signify that they
+ * must be removed if they don't contribute by the new torrc
+ * (we mark using the <b>marked_for_removal</b> element).
+ * We also mark all managed proxies to signify that they might need to
+ * be restarted so that they end up supporting all the transports the
+ * new torrc wants them to support (using the <b>got_hup</b> element).
+ * We also clear their <b>transports_to_launch</b> list so that we can
+ * put there the transports we need to launch according to the new
+ * torrc.
+ *
+ * We then start parsing torrc again.
+ *
+ * Everytime we encounter a transport line using a known pre-SIGHUP
+ * managed proxy, we cleanse that proxy from the removal mark.
+ * We also mark it as unconfigured so that on the next scheduled
+ * events tick, we investigate whether we need to restart the proxy
+ * so that it also spawns the new transports.
+ * If the post-SIGHUP <b>transports_to_launch</b> list is identical to
+ * the pre-SIGHUP one, it means that no changes were introduced to
+ * this proxy during the SIGHUP and no restart has to take place.
+ *
+ * During the post-SIGHUP torrc parsing, we unmark all transports
+ * spawned by managed proxies that we find in our torrc.
+ * We do that so that if we don't need to restart a managed proxy, we
+ * can continue using its old transports normally.
+ * If we end up restarting the proxy, we destroy and unregister all
+ * old transports from the circuitbuild.c subsystem.
**/
#define PT_PRIVATE
@@ -12,12 +89,15 @@
#include "circuitbuild.h"
#include "transports.h"
#include "util.h"
+#include "router.h"
+
+static process_environment_t *
+create_managed_proxy_environment(const managed_proxy_t *mp);
-static void set_managed_proxy_environment(char ***envp,
- const managed_proxy_t *mp);
static INLINE int proxy_configuration_finished(const managed_proxy_t *mp);
-static void managed_proxy_destroy(managed_proxy_t *mp);
+static void managed_proxy_destroy(managed_proxy_t *mp,
+ int also_terminate_process);
static void handle_finished_proxy(managed_proxy_t *mp);
static void configure_proxy(managed_proxy_t *mp);
@@ -44,8 +124,8 @@ static INLINE void free_execve_args(char **arg);
#define SMALLEST_MANAGED_LINE_SIZE 9
/** Number of environment variables for managed proxy clients/servers. */
-#define ENVIRON_SIZE_CLIENT 5
-#define ENVIRON_SIZE_SERVER 8
+#define ENVIRON_SIZE_CLIENT 3
+#define ENVIRON_SIZE_SERVER 7 /* XXX known to be too high, but that's ok */
/** The first and only supported - at the moment - configuration
protocol version. */
@@ -55,90 +135,35 @@ static INLINE void free_execve_args(char **arg);
static smartlist_t *managed_proxy_list = NULL;
/** Number of still unconfigured proxies. */
static int unconfigured_proxies_n = 0;
+/** Boolean: True iff we might need to restart some proxies. */
+static int check_if_restarts_needed = 0;
-/** "The main idea is:"
-
- Each managed proxy is represented by a 'managed_proxy_t'.
- Each managed proxy can support multiple transports.
- Each managed proxy gets configured through a multistep process.
-
- 'managed_proxy_list' contains all the managed proxies this tor
- instance is supporting.
- In the 'managed_proxy_list' there are 'unconfigured_proxies_n'
- managed proxies that are still unconfigured.
-
- In every run_scheduled_event() tick, we attempt to launch and then
- configure the unconfiged managed proxies, using the configuration
- protocol defined in the 180_pluggable_transport.txt proposal. A
- managed proxy might need several ticks to get fully configured.
-
- When a managed proxy is fully configured, we register all its
- transports to the circuitbuild.c subsystem. At that point the
- transports are owned by the circuitbuild.c subsystem.
-
- When a managed proxy fails to follow the 180 configuration
- protocol, it gets marked as broken and gets destroyed.
-
- "In a little more technical detail:"
-
- While we are serially parsing torrc, we store all the transports
- that a proxy should spawn in its 'transports_to_launch' element.
-
- When we finish reading the torrc, we spawn the managed proxy and
- expect {S,C}METHOD lines from its output. We add transports
- described by METHOD lines to its 'transports' element, as
- 'transport_t' structs.
-
- When the managed proxy stops spitting METHOD lines (signified by a
- '{S,C}METHODS DONE' message) we register all the transports
- collected to the circuitbuild.c subsystem. At this point, the
- 'transport_t's can be transformed into dangling pointers at any
- point by the circuitbuild.c subsystem, and so we replace all
- 'transport_t's with strings describing the transport names. We
- can still go from a transport name to a 'transport_t' using the
- fact that transport names uniquely identify 'transport_t's.
-
- "In even more technical detail I shall describe what happens when
- the SIGHUP bell tolls:"
-
- We immediately destroy all unconfigured proxies (We shouldn't have
- unconfigured proxies in the first place, except when SIGHUP rings
- immediately after tor is launched.).
-
- We mark all managed proxies and transports to signify that they
- must be removed if they don't contribute by the new torrc
- (marked_for_removal).
- We also mark all managed proxies to signify that they might need
- to be restarted so that they end up supporting all the transports
- the new torrc wants them to support (got_hup).
- We also clear their 'transports_to_launch' list so that we can put
- there the transports we need to launch according to the new torrc.
-
- We then start parsing torrc again.
-
- Everytime we encounter a transport line using a known pre-SIGHUP
- managed proxy, we cleanse that proxy from the removal mark.
-
- We also mark it as unconfigured so that on the next scheduled
- events tick, we investigate whether we need to restart the proxy
- so that it also spawns the new transports.
- If the post-SIGHUP 'transports_to_launch' list is identical to the
- pre-SIGHUP one, it means that no changes were introduced to this
- proxy during the SIGHUP and no restart has to take place.
-
- During the post-SIGHUP torrc parsing, we unmark all transports
- spawned by managed proxies that we find in our torrc.
- We do that so that if we don't need to restart a managed proxy, we
- can continue using its old transports normally.
- If we end up restarting the proxy, we destroy and unregister all
- old transports from the circuitbuild.c subsystem.
-*/
-
-/** Return true if there are still unconfigured managed proxies. */
+/** Return true if there are still unconfigured managed proxies, or proxies
+ * that need restarting. */
int
pt_proxies_configuration_pending(void)
{
- return !! unconfigured_proxies_n;
+ return unconfigured_proxies_n || check_if_restarts_needed;
+}
+
+/** Assert that the unconfigured_proxies_n value correctly matches the number
+ * of proxies in a state other than PT_PROTO_COMPLETE. */
+static void
+assert_unconfigured_count_ok(void)
+{
+ int n_completed = 0;
+ if (!managed_proxy_list) {
+ tor_assert(unconfigured_proxies_n == 0);
+ return;
+ }
+
+ SMARTLIST_FOREACH(managed_proxy_list, managed_proxy_t *, mp, {
+ if (mp->conf_state == PT_PROTO_COMPLETED)
+ ++n_completed;
+ });
+
+ tor_assert(n_completed + unconfigured_proxies_n ==
+ smartlist_len(managed_proxy_list));
}
/** Return true if <b>mp</b> has the same argv as <b>proxy_argv</b> */
@@ -229,12 +254,10 @@ proxy_prepare_for_restart(managed_proxy_t *mp)
transport_t *t_tmp = NULL;
tor_assert(mp->conf_state == PT_PROTO_COMPLETED);
- tor_assert(mp->pid);
- /* kill the old obfsproxy process */
- tor_terminate_process(mp->pid);
- mp->pid = 0;
- fclose(mp->_stdout);
+ /* destroy the process handle and terminate the process. */
+ tor_process_handle_destroy(mp->process_handle, 1);
+ mp->process_handle = NULL;
/* destroy all its old transports. we no longer use them. */
SMARTLIST_FOREACH_BEGIN(mp->transports, const char *, t_name) {
@@ -250,58 +273,43 @@ proxy_prepare_for_restart(managed_proxy_t *mp)
/* flag it as an infant proxy so that it gets launched on next tick */
mp->conf_state = PT_PROTO_INFANT;
+ unconfigured_proxies_n++;
}
/** Launch managed proxy <b>mp</b>. */
static int
launch_managed_proxy(managed_proxy_t *mp)
{
- (void) mp;
- (void) set_managed_proxy_environment;
- return -1;
-#if 0
- /* XXXX023 we must reenable this code for managed proxies to work.
- * "All it needs" is revision to work with the new tor_spawn_background
- * API. */
- char **envp=NULL;
- int pid;
- process_handle_t proc;
- FILE *stdout_read = NULL;
- int stdout_pipe=-1, stderr_pipe=-1;
-
- /* prepare the environment variables for the managed proxy */
- set_managed_proxy_environment(&envp, mp);
-
- pid = tor_spawn_background(mp->argv[0], (const char **)mp->argv,
- (const char **)envp, &proc);
- if (pid < 0) {
- log_warn(LD_GENERAL, "Managed proxy at '%s' failed at launch.",
- mp->argv[0]);
- return -1;
- }
+ int retval;
- /* free the memory allocated by set_managed_proxy_environment(). */
- free_execve_args(envp);
+ process_environment_t *env = create_managed_proxy_environment(mp);
- /* Set stdout/stderr pipes to be non-blocking */
#ifdef _WIN32
- {
- u_long nonblocking = 1;
- ioctlsocket(stdout_pipe, FIONBIO, &nonblocking);
- }
+ /* Passing NULL as lpApplicationName makes Windows search for the .exe */
+ retval = tor_spawn_background(NULL,
+ (const char **)mp->argv,
+ env,
+ &mp->process_handle);
#else
- fcntl(stdout_pipe, F_SETFL, O_NONBLOCK);
+ retval = tor_spawn_background(mp->argv[0],
+ (const char **)mp->argv,
+ env,
+ &mp->process_handle);
#endif
- /* Open the buffered IO streams */
- stdout_read = fdopen(stdout_pipe, "r");
+ process_environment_free(env);
- log_info(LD_CONFIG, "Managed proxy has spawned at PID %d.", pid);
+ if (retval == PROCESS_STATUS_ERROR) {
+ log_warn(LD_GENERAL, "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));
mp->conf_state = PT_PROTO_LAUNCHED;
- mp->_stdout = stdout_read;
- mp->pid = pid;
-#endif
+
return 0;
}
@@ -311,25 +319,32 @@ launch_managed_proxy(managed_proxy_t *mp)
void
pt_configure_remaining_proxies(void)
{
+ smartlist_t *tmp = smartlist_new();
+
log_debug(LD_CONFIG, "Configuring remaining managed proxies (%d)!",
unconfigured_proxies_n);
- SMARTLIST_FOREACH_BEGIN(managed_proxy_list, managed_proxy_t *, mp) {
- tor_assert(mp->conf_state != PT_PROTO_BROKEN);
+
+ /* Iterate over tmp, not managed_proxy_list, since configure_proxy can
+ * remove elements from managed_proxy_list. */
+ smartlist_add_all(tmp, managed_proxy_list);
+
+ assert_unconfigured_count_ok();
+
+ SMARTLIST_FOREACH_BEGIN(tmp, managed_proxy_t *, mp) {
+ tor_assert(mp->conf_state != PT_PROTO_BROKEN ||
+ mp->conf_state != PT_PROTO_FAILED_LAUNCH);
if (mp->got_hup) {
mp->got_hup = 0;
- /* This proxy is marked by a SIGHUP. Check whether we need to
- restart it. */
+ /* This proxy is marked by a SIGHUP. Check whether we need to
+ restart it. */
if (proxy_needs_restart(mp)) {
log_info(LD_GENERAL, "Preparing managed proxy for restart.");
proxy_prepare_for_restart(mp);
- continue;
} else { /* it doesn't need to be restarted. */
log_info(LD_GENERAL, "Nothing changed for managed proxy after HUP: "
"not restarting.");
- unconfigured_proxies_n--;
- tor_assert(unconfigured_proxies_n >= 0);
}
continue;
@@ -341,8 +356,71 @@ pt_configure_remaining_proxies(void)
configure_proxy(mp);
} SMARTLIST_FOREACH_END(mp);
+
+ smartlist_free(tmp);
+ check_if_restarts_needed = 0;
+ assert_unconfigured_count_ok();
}
+#ifdef _WIN32
+
+/** Attempt to continue configuring managed proxy <b>mp</b>. */
+static void
+configure_proxy(managed_proxy_t *mp)
+{
+ int pos;
+ char stdout_buf[200];
+ smartlist_t *lines = NULL;
+
+ /* 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 */
+ mp->conf_state = PT_PROTO_FAILED_LAUNCH;
+ handle_finished_proxy(mp);
+ }
+ return;
+ }
+
+ tor_assert(mp->conf_state != PT_PROTO_INFANT);
+ tor_assert(mp->process_handle);
+
+ pos = tor_read_all_handle(tor_process_get_stdout_pipe(mp->process_handle),
+ stdout_buf, sizeof(stdout_buf) - 1, NULL);
+ if (pos < 0) {
+ log_notice(LD_GENERAL, "Failed to read data from managed proxy");
+ mp->conf_state = PT_PROTO_BROKEN;
+ goto done;
+ }
+
+ if (pos == 0) /* proxy has nothing interesting to say. */
+ return;
+
+ /* 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);
+
+ /* Handle lines. */
+ SMARTLIST_FOREACH_BEGIN(lines, 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);
+
+ if (lines)
+ smartlist_free(lines);
+}
+
+#else /* _WIN32 */
+
/** Attempt to continue configuring managed proxy <b>mp</b>. */
static void
configure_proxy(managed_proxy_t *mp)
@@ -352,15 +430,19 @@ configure_proxy(managed_proxy_t *mp)
/* if we haven't launched the proxy yet, do it now */
if (mp->conf_state == PT_PROTO_INFANT) {
- launch_managed_proxy(mp);
+ if (launch_managed_proxy(mp) < 0) { /* launch fail */
+ mp->conf_state = PT_PROTO_FAILED_LAUNCH;
+ handle_finished_proxy(mp);
+ }
return;
}
tor_assert(mp->conf_state != PT_PROTO_INFANT);
+ tor_assert(mp->process_handle);
while (1) {
- r = get_string_from_pipe(mp->_stdout, stdout_buf,
- sizeof(stdout_buf) - 1);
+ r = get_string_from_pipe(tor_process_get_stdout_pipe(mp->process_handle),
+ stdout_buf, sizeof(stdout_buf) - 1);
if (r == IO_STREAM_OKAY) { /* got a line; handle it! */
handle_proxy_line((const char *)stdout_buf, mp);
@@ -382,6 +464,8 @@ configure_proxy(managed_proxy_t *mp)
}
}
+#endif /* _WIN32 */
+
/** Register server managed proxy <b>mp</b> transports to state */
static void
register_server_proxy(managed_proxy_t *mp)
@@ -389,11 +473,13 @@ register_server_proxy(managed_proxy_t *mp)
/* After we register this proxy's transports, we switch its
mp->transports to a list containing strings of its transport
names. (See transports.h) */
- smartlist_t *sm_tmp = smartlist_create();
+ smartlist_t *sm_tmp = smartlist_new();
tor_assert(mp->conf_state != PT_PROTO_COMPLETED);
SMARTLIST_FOREACH_BEGIN(mp->transports, transport_t *, t) {
save_transport_to_state(t->name, &t->addr, t->port);
+ log_notice(LD_GENERAL, "Registered server transport '%s' at '%s:%d'",
+ t->name, fmt_addr(&t->addr), (int)t->port);
smartlist_add(sm_tmp, tor_strdup(t->name));
} SMARTLIST_FOREACH_END(t);
@@ -415,7 +501,7 @@ register_client_proxy(managed_proxy_t *mp)
/* After we register this proxy's transports, we switch its
mp->transports to a list containing strings of its transport
names. (See transports.h) */
- smartlist_t *sm_tmp = smartlist_create();
+ smartlist_t *sm_tmp = smartlist_new();
tor_assert(mp->conf_state != PT_PROTO_COMPLETED);
SMARTLIST_FOREACH_BEGIN(mp->transports, transport_t *, t) {
@@ -453,7 +539,8 @@ register_proxy(managed_proxy_t *mp)
/** Free memory allocated by managed proxy <b>mp</b>. */
static void
-managed_proxy_destroy(managed_proxy_t *mp)
+managed_proxy_destroy(managed_proxy_t *mp,
+ int also_terminate_process)
{
if (mp->conf_state != PT_PROTO_COMPLETED)
SMARTLIST_FOREACH(mp->transports, transport_t *, t, transport_free(t));
@@ -470,15 +557,11 @@ managed_proxy_destroy(managed_proxy_t *mp)
/* remove it from the list of managed proxies */
smartlist_remove(managed_proxy_list, mp);
- /* close its stdout stream */
- if (mp->_stdout)
- fclose(mp->_stdout);
-
/* free the argv */
free_execve_args(mp->argv);
- if (mp->pid)
- tor_terminate_process(mp->pid);
+ tor_process_handle_destroy(mp->process_handle, also_terminate_process);
+ mp->process_handle = NULL;
tor_free(mp);
}
@@ -489,7 +572,10 @@ handle_finished_proxy(managed_proxy_t *mp)
{
switch (mp->conf_state) {
case PT_PROTO_BROKEN: /* if broken: */
- managed_proxy_destroy(mp); /* annihilate it. */
+ managed_proxy_destroy(mp, 1); /* annihilate it. */
+ break;
+ case PT_PROTO_FAILED_LAUNCH: /* if it failed before launching: */
+ managed_proxy_destroy(mp, 0); /* destroy it but don't terminate */
break;
case PT_PROTO_CONFIGURED: /* if configured correctly: */
register_proxy(mp); /* register its transports */
@@ -515,7 +601,8 @@ static INLINE int
proxy_configuration_finished(const managed_proxy_t *mp)
{
return (mp->conf_state == PT_PROTO_CONFIGURED ||
- mp->conf_state == PT_PROTO_BROKEN);
+ mp->conf_state == PT_PROTO_BROKEN ||
+ mp->conf_state == PT_PROTO_FAILED_LAUNCH);
}
/** This function is called when a proxy sends an {S,C}METHODS DONE message. */
@@ -537,7 +624,7 @@ handle_methods_done(const managed_proxy_t *mp)
void
handle_proxy_line(const char *line, managed_proxy_t *mp)
{
- log_debug(LD_GENERAL, "Got a line from managed proxy: %s\n", line);
+ log_debug(LD_GENERAL, "Got a line from managed proxy: %s", line);
if (strlen(line) < SMALLEST_MANAGED_LINE_SIZE) {
log_warn(LD_GENERAL, "Managed proxy configuration line is too small. "
@@ -614,14 +701,16 @@ handle_proxy_line(const char *line, managed_proxy_t *mp)
return;
} else if (!strcmpstart(line, SPAWN_ERROR_MESSAGE)) {
log_warn(LD_GENERAL, "Could not launch managed proxy executable!");
- goto err;
+ mp->conf_state = PT_PROTO_FAILED_LAUNCH;
+ return;
}
log_warn(LD_CONFIG, "Unknown line received by managed proxy. (%s)", line);
err:
mp->conf_state = PT_PROTO_BROKEN;
- return;
+ log_warn(LD_CONFIG, "Managed proxy at '%s' failed the configuration protocol"
+ " and will be destroyed.", mp->argv ? mp->argv[0] : "");
}
/** Parses an ENV-ERROR <b>line</b> and warns the user accordingly. */
@@ -696,7 +785,7 @@ parse_smethod_line(const char *line, managed_proxy_t *mp)
transport_t *transport=NULL;
- items = smartlist_create();
+ items = smartlist_new();
smartlist_split_string(items, line, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
if (smartlist_len(items) < 3) {
@@ -727,7 +816,7 @@ parse_smethod_line(const char *line, managed_proxy_t *mp)
goto err;
}
- transport = transport_create(&addr, port, method_name, PROXY_NONE);
+ transport = transport_new(&addr, port, method_name, PROXY_NONE);
if (!transport)
goto err;
@@ -769,7 +858,7 @@ parse_cmethod_line(const char *line, managed_proxy_t *mp)
transport_t *transport=NULL;
- items = smartlist_create();
+ items = smartlist_new();
smartlist_split_string(items, line, NULL,
SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, -1);
if (smartlist_len(items) < 4) {
@@ -812,7 +901,7 @@ parse_cmethod_line(const char *line, managed_proxy_t *mp)
goto err;
}
- transport = transport_create(&addr, port, method_name, socks_ver);
+ transport = transport_new(&addr, port, method_name, socks_ver);
if (!transport)
goto err;
@@ -834,71 +923,107 @@ parse_cmethod_line(const char *line, managed_proxy_t *mp)
return r;
}
-/** Return a string containing the address:port that <b>transport</b>
- * should use. It's the responsibility of the caller to free() the
- * received string. */
+/** Return the string that tor should place in TOR_PT_SERVER_BINDADDR
+ * while configuring the server managed proxy in <b>mp</b>. The
+ * string is stored in the heap, and it's the the responsibility of
+ * the caller to deallocate it after its use. */
static char *
-get_bindaddr_for_proxy(const managed_proxy_t *mp)
+get_bindaddr_for_server_proxy(const managed_proxy_t *mp)
{
- char *bindaddr = NULL;
- smartlist_t *string_tmp = smartlist_create();
+ char *bindaddr_result = NULL;
+ char *bindaddr_tmp = NULL;
+ smartlist_t *string_tmp = smartlist_new();
tor_assert(mp->is_server);
SMARTLIST_FOREACH_BEGIN(mp->transports_to_launch, char *, t) {
- tor_asprintf(&bindaddr, "%s-%s", t, get_bindaddr_for_transport(t));
- smartlist_add(string_tmp, bindaddr);
+ bindaddr_tmp = get_stored_bindaddr_for_server_transport(t);
+
+ smartlist_add_asprintf(string_tmp, "%s-%s", t, bindaddr_tmp);
+
+ tor_free(bindaddr_tmp);
} SMARTLIST_FOREACH_END(t);
- bindaddr = smartlist_join_strings(string_tmp, ",", 0, NULL);
+ bindaddr_result = smartlist_join_strings(string_tmp, ",", 0, NULL);
SMARTLIST_FOREACH(string_tmp, char *, t, tor_free(t));
smartlist_free(string_tmp);
- return bindaddr;
+ return bindaddr_result;
}
-/** Prepare the <b>envp</b> of managed proxy <b>mp</b> */
-static void
-set_managed_proxy_environment(char ***envp, const managed_proxy_t *mp)
+/** Return a newly allocated process_environment_t * for <b>mp</b>'s
+ * process. */
+static process_environment_t *
+create_managed_proxy_environment(const managed_proxy_t *mp)
{
const or_options_t *options = get_options();
- char **tmp=NULL;
- char *state_loc=NULL;
- char *transports_to_launch=NULL;
- char *bindaddr=NULL;
- int n_envs = mp->is_server ? ENVIRON_SIZE_SERVER : ENVIRON_SIZE_CLIENT;
+ /* Environment variables to be added to or set in mp's environment. */
+ smartlist_t *envs = smartlist_new();
+ /* XXXX The next time someone touches this code, shorten the name of
+ * set_environment_variable_in_smartlist, add a
+ * set_env_var_in_smartlist_asprintf function, and get rid of the
+ * silly extra envs smartlist. */
- /* allocate enough space for our env. vars and a NULL pointer */
- *envp = tor_malloc(sizeof(char*)*(n_envs+1));
- tmp = *envp;
+ /* The final environment to be passed to mp. */
+ smartlist_t *merged_env_vars = get_current_process_environment_variables();
- state_loc = get_datadir_fname("pt_state/"); /* XXX temp */
- transports_to_launch =
- smartlist_join_strings(mp->transports_to_launch, ",", 0, NULL);
+ 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);
+ tor_free(state_tmp);
+ }
+
+ smartlist_add(envs, tor_strdup("TOR_PT_MANAGED_TRANSPORT_VER=1"));
+
+ {
+ char *transports_to_launch =
+ smartlist_join_strings(mp->transports_to_launch, ",", 0, NULL);
+
+ smartlist_add_asprintf(envs,
+ mp->is_server ?
+ "TOR_PT_SERVER_TRANSPORTS=%s" :
+ "TOR_PT_CLIENT_TRANSPORTS=%s",
+ transports_to_launch);
+
+ tor_free(transports_to_launch);
+ }
- tor_asprintf(tmp++, "HOME=%s", getenv("HOME"));
- tor_asprintf(tmp++, "PATH=%s", getenv("PATH"));
- tor_asprintf(tmp++, "TOR_PT_STATE_LOCATION=%s", state_loc);
- tor_asprintf(tmp++, "TOR_PT_MANAGED_TRANSPORT_VER=1"); /* temp */
if (mp->is_server) {
- bindaddr = get_bindaddr_for_proxy(mp);
-
- /* XXX temp */
- tor_asprintf(tmp++, "TOR_PT_ORPORT=127.0.0.1:%d", options->ORPort);
- tor_asprintf(tmp++, "TOR_PT_SERVER_BINDADDR=%s", bindaddr);
- tor_asprintf(tmp++, "TOR_PT_SERVER_TRANSPORTS=%s", transports_to_launch);
- /* XXX temp*/
- tor_asprintf(tmp++, "TOR_PT_EXTENDED_SERVER_PORT=127.0.0.1:4200");
- } else {
- tor_asprintf(tmp++, "TOR_PT_CLIENT_TRANSPORTS=%s", transports_to_launch);
+ smartlist_add_asprintf(envs, "TOR_PT_ORPORT=127.0.0.1:%s",
+ options->ORPort->value);
+
+ {
+ char *bindaddr_tmp = get_bindaddr_for_server_proxy(mp);
+ smartlist_add_asprintf(envs, "TOR_PT_SERVER_BINDADDR=%s", bindaddr_tmp);
+ tor_free(bindaddr_tmp);
+ }
+
+ /* XXX023 Remove the '=' here once versions of obfsproxy which
+ * assert that this env var exists are sufficiently dead.
+ *
+ * (If we remove this line entirely, some joker will stick this
+ * variable in Tor's environment and crash PTs that try to parse
+ * it even when not run in server mode.) */
+ smartlist_add(envs, tor_strdup("TOR_PT_EXTENDED_SERVER_PORT="));
}
- *tmp = NULL;
- tor_free(state_loc);
- tor_free(transports_to_launch);
- tor_free(bindaddr);
+ SMARTLIST_FOREACH_BEGIN(envs, const char *, env_var) {
+ set_environment_variable_in_smartlist(merged_env_vars, env_var,
+ _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;
}
/** Create and return a new managed proxy for <b>transport</b> using
@@ -912,23 +1037,25 @@ managed_proxy_create(const smartlist_t *transport_list,
mp->conf_state = PT_PROTO_INFANT;
mp->is_server = is_server;
mp->argv = proxy_argv;
- mp->transports = smartlist_create();
+ mp->transports = smartlist_new();
- mp->transports_to_launch = smartlist_create();
+ mp->transports_to_launch = smartlist_new();
SMARTLIST_FOREACH(transport_list, const char *, transport,
add_transport_to_proxy(transport, mp));
/* register the managed proxy */
if (!managed_proxy_list)
- managed_proxy_list = smartlist_create();
+ managed_proxy_list = smartlist_new();
smartlist_add(managed_proxy_list, mp);
unconfigured_proxies_n++;
+ assert_unconfigured_count_ok();
+
return mp;
}
-/** Register <b>transport</b> using proxy with <b>proxy_argv</b> to
- * the managed proxy subsystem.
+/** Register proxy with <b>proxy_argv</b>, supporting transports in
+ * <b>transport_list</b>, to the managed proxy subsystem.
* If <b>is_server</b> is true, then the proxy is a server proxy. */
void
pt_kickstart_proxy(const smartlist_t *transport_list,
@@ -953,7 +1080,7 @@ pt_kickstart_proxy(const smartlist_t *transport_list,
it. */
if (mp->marked_for_removal) {
mp->marked_for_removal = 0;
- unconfigured_proxies_n++;
+ check_if_restarts_needed = 1;
}
SMARTLIST_FOREACH_BEGIN(transport_list, const char *, transport) {
@@ -992,12 +1119,14 @@ pt_prepare_proxy_list_for_config_read(void)
if (!managed_proxy_list)
return;
+ assert_unconfigured_count_ok();
SMARTLIST_FOREACH_BEGIN(managed_proxy_list, managed_proxy_t *, mp) {
/* Destroy unconfigured proxies. */
if (mp->conf_state != PT_PROTO_COMPLETED) {
- managed_proxy_destroy(mp);
- unconfigured_proxies_n--;
- continue;
+ SMARTLIST_DEL_CURRENT(managed_proxy_list, mp);
+ managed_proxy_destroy(mp, 1);
+ unconfigured_proxies_n--;
+ continue;
}
tor_assert(mp->conf_state == PT_PROTO_COMPLETED);
@@ -1008,6 +1137,8 @@ pt_prepare_proxy_list_for_config_read(void)
smartlist_clear(mp->transports_to_launch);
} SMARTLIST_FOREACH_END(mp);
+ assert_unconfigured_count_ok();
+
tor_assert(unconfigured_proxies_n == 0);
}
@@ -1020,13 +1151,14 @@ sweep_proxy_list(void)
{
if (!managed_proxy_list)
return;
-
+ assert_unconfigured_count_ok();
SMARTLIST_FOREACH_BEGIN(managed_proxy_list, managed_proxy_t *, mp) {
if (mp->marked_for_removal) {
SMARTLIST_DEL_CURRENT(managed_proxy_list, mp);
- managed_proxy_destroy(mp);
+ managed_proxy_destroy(mp, 1);
}
} SMARTLIST_FOREACH_END(mp);
+ assert_unconfigured_count_ok();
}
/** Release all storage held by the pluggable transports subsystem. */
@@ -1038,8 +1170,10 @@ pt_free_all(void)
transports and it's the duty of the circuitbuild.c subsystem to
free them. Otherwise, it hasn't registered its transports yet
and we should free them here. */
- SMARTLIST_FOREACH(managed_proxy_list, managed_proxy_t *, mp,
- managed_proxy_destroy(mp));
+ SMARTLIST_FOREACH(managed_proxy_list, managed_proxy_t *, mp, {
+ SMARTLIST_DEL_CURRENT(managed_proxy_list, mp);
+ managed_proxy_destroy(mp, 1);
+ });
smartlist_free(managed_proxy_list);
managed_proxy_list=NULL;
diff --git a/src/or/transports.h b/src/or/transports.h
index 4a9338759..314af2b3a 100644
--- a/src/or/transports.h
+++ b/src/or/transports.h
@@ -36,7 +36,8 @@ enum pt_proto_state {
PT_PROTO_ACCEPTING_METHODS, /* accepting methods */
PT_PROTO_CONFIGURED, /* configured successfully */
PT_PROTO_COMPLETED, /* configure and registered its transports */
- PT_PROTO_BROKEN
+ PT_PROTO_BROKEN, /* broke during the protocol */
+ PT_PROTO_FAILED_LAUNCH /* failed while launching */
};
/** Structure containing information of a managed proxy. */
@@ -47,8 +48,8 @@ typedef struct {
int is_server; /* is it a server proxy? */
- FILE *_stdout; /* a stream to its stdout
- (closed in managed_proxy_destroy()) */
+ /* A pointer to the process handle of this managed proxy. */
+ process_handle_t *process_handle;
int pid; /* The Process ID this managed proxy is using. */
diff --git a/src/test/Makefile.am b/src/test/Makefile.am
index 301452b4e..31a464ee7 100644
--- a/src/test/Makefile.am
+++ b/src/test/Makefile.am
@@ -1,6 +1,6 @@
TESTS = test
-noinst_PROGRAMS = test test-child
+noinst_PROGRAMS = test test-child bench
AM_CPPFLAGS = -DSHARE_DATADIR="\"$(datadir)\"" \
-DLOCALSTATEDIR="\"$(localstatedir)\"" \
@@ -21,14 +21,25 @@ test_SOURCES = \
test_microdesc.c \
test_pt.c \
test_util.c \
+ test_config.c \
tinytest.c
+bench_SOURCES = \
+ bench.c
+
test_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
@TOR_LDFLAGS_libevent@
test_LDADD = ../or/libtor.a ../common/libor.a ../common/libor-crypto.a \
../common/libor-event.a \
- @TOR_ZLIB_LIBS@ -lm @TOR_LIBEVENT_LIBS@ @TOR_OPENSSL_LIBS@ \
- @TOR_LIB_WS32@ @TOR_LIB_GDI@
+ @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
+ @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@
+
+bench_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@ \
+ @TOR_LDFLAGS_libevent@
+bench_LDADD = ../or/libtor.a ../common/libor.a ../common/libor-crypto.a \
+ ../common/libor-event.a \
+ @TOR_ZLIB_LIBS@ @TOR_LIB_MATH@ @TOR_LIBEVENT_LIBS@ \
+ @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@
noinst_HEADERS = \
tinytest.h \
diff --git a/src/test/bench.c b/src/test/bench.c
new file mode 100644
index 000000000..a662bd23e
--- /dev/null
+++ b/src/test/bench.c
@@ -0,0 +1,327 @@
+/* Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2011, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+/* Ordinarily defined in tor_main.c; this bit is just here to provide one
+ * since we're not linking to tor_main.c */
+const char tor_git_revision[] = "";
+
+/**
+ * \file bench.c
+ * \brief Benchmarks for lower level Tor modules.
+ **/
+
+#include "orconfig.h"
+
+#define RELAY_PRIVATE
+
+#include "or.h"
+#include "relay.h"
+
+#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID)
+static uint64_t nanostart;
+static inline uint64_t
+timespec_to_nsec(const struct timespec *ts)
+{
+ return ((uint64_t)ts->tv_sec)*1000000000 + ts->tv_nsec;
+}
+
+static void
+reset_perftime(void)
+{
+ struct timespec ts;
+ int r;
+ r = clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts);
+ tor_assert(r == 0);
+ nanostart = timespec_to_nsec(&ts);
+}
+
+static uint64_t
+perftime(void)
+{
+ struct timespec ts;
+ int r;
+ r = clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts);
+ tor_assert(r == 0);
+ return timespec_to_nsec(&ts) - nanostart;
+}
+
+#else
+static struct timeval tv_start = { 0, 0 };
+static void
+reset_perftime(void)
+{
+ tor_gettimeofday(&tv_start);
+}
+static uint64_t
+perftime(void)
+{
+ struct timeval now, out;
+ tor_gettimeofday(&now);
+ timersub(&now, &tv_start, &out);
+ return ((uint64_t)out.tv_sec)*1000000000 + out.tv_usec*1000;
+}
+#endif
+
+#define NANOCOUNT(start,end,iters) \
+ ( ((double)((end)-(start))) / (iters) )
+
+/** Run AES performance benchmarks. */
+static void
+bench_aes(void)
+{
+ int len, i;
+ char *b1, *b2;
+ crypto_cipher_t *c;
+ uint64_t start, end;
+ const int bytes_per_iter = (1<<24);
+ reset_perftime();
+ c = crypto_cipher_new();
+ crypto_cipher_generate_key(c);
+ crypto_cipher_encrypt_init_cipher(c);
+ for (len = 1; len <= 8192; len *= 2) {
+ int iters = bytes_per_iter / len;
+ b1 = tor_malloc_zero(len);
+ b2 = tor_malloc_zero(len);
+ start = perftime();
+ for (i = 0; i < iters; ++i) {
+ crypto_cipher_encrypt(c, b1, b2, len);
+ }
+ end = perftime();
+ tor_free(b1);
+ tor_free(b2);
+ printf("%d bytes: %.2f nsec per byte\n", len,
+ NANOCOUNT(start, end, iters*len));
+ }
+ crypto_cipher_free(c);
+}
+
+static void
+bench_cell_aes(void)
+{
+ uint64_t start, end;
+ const int len = 509;
+ const int iters = (1<<16);
+ const int max_misalign = 15;
+ char *b = tor_malloc(len+max_misalign);
+ crypto_cipher_t *c;
+ int i, misalign;
+
+ c = crypto_cipher_new();
+ crypto_cipher_generate_key(c);
+ crypto_cipher_encrypt_init_cipher(c);
+
+ reset_perftime();
+ for (misalign = 0; misalign <= max_misalign; ++misalign) {
+ start = perftime();
+ for (i = 0; i < iters; ++i) {
+ crypto_cipher_crypt_inplace(c, b+misalign, len);
+ }
+ end = perftime();
+ printf("%d bytes, misaligned by %d: %.2f nsec per byte\n", len, misalign,
+ NANOCOUNT(start, end, iters*len));
+ }
+
+ crypto_cipher_free(c);
+ tor_free(b);
+}
+
+/** Run digestmap_t performance benchmarks. */
+static void
+bench_dmap(void)
+{
+ smartlist_t *sl = smartlist_new();
+ smartlist_t *sl2 = smartlist_new();
+ uint64_t start, end, pt2, pt3, pt4;
+ int iters = 8192;
+ const int elts = 4000;
+ const int fpostests = 100000;
+ char d[20];
+ int i,n=0, fp = 0;
+ digestmap_t *dm = digestmap_new();
+ digestset_t *ds = digestset_new(elts);
+
+ for (i = 0; i < elts; ++i) {
+ crypto_rand(d, 20);
+ smartlist_add(sl, tor_memdup(d, 20));
+ }
+ for (i = 0; i < elts; ++i) {
+ crypto_rand(d, 20);
+ smartlist_add(sl2, tor_memdup(d, 20));
+ }
+ printf("nbits=%d\n", ds->mask+1);
+
+ reset_perftime();
+
+ start = perftime();
+ for (i = 0; i < iters; ++i) {
+ SMARTLIST_FOREACH(sl, const char *, cp, digestmap_set(dm, cp, (void*)1));
+ }
+ pt2 = perftime();
+ printf("digestmap_set: %.2f ns per element\n",
+ NANOCOUNT(start, pt2, iters*elts));
+
+ for (i = 0; i < iters; ++i) {
+ SMARTLIST_FOREACH(sl, const char *, cp, digestmap_get(dm, cp));
+ SMARTLIST_FOREACH(sl2, const char *, cp, digestmap_get(dm, cp));
+ }
+ pt3 = perftime();
+ printf("digestmap_get: %.2f ns per element\n",
+ NANOCOUNT(pt2, pt3, iters*elts*2));
+
+ for (i = 0; i < iters; ++i) {
+ SMARTLIST_FOREACH(sl, const char *, cp, digestset_add(ds, cp));
+ }
+ pt4 = perftime();
+ printf("digestset_add: %.2f ns per element\n",
+ NANOCOUNT(pt3, pt4, iters*elts));
+
+ for (i = 0; i < iters; ++i) {
+ SMARTLIST_FOREACH(sl, const char *, cp, n += digestset_isin(ds, cp));
+ SMARTLIST_FOREACH(sl2, const char *, cp, n += digestset_isin(ds, cp));
+ }
+ end = perftime();
+ printf("digestset_isin: %.2f ns per element.\n",
+ NANOCOUNT(pt4, end, iters*elts*2));
+ /* We need to use this, or else the whole loop gets optimized out. */
+ printf("Hits == %d\n", n);
+
+ for (i = 0; i < fpostests; ++i) {
+ crypto_rand(d, 20);
+ if (digestset_isin(ds, d)) ++fp;
+ }
+ printf("False positive rate on digestset: %.2f%%\n",
+ (fp/(double)fpostests)*100);
+
+ digestmap_free(dm, NULL);
+ digestset_free(ds);
+ SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
+ SMARTLIST_FOREACH(sl2, char *, cp, tor_free(cp));
+ smartlist_free(sl);
+ smartlist_free(sl2);
+}
+
+static void
+bench_cell_ops(void)
+{
+ const int iters = 1<<16;
+ int i;
+
+ /* benchmarks for cell ops at relay. */
+ or_circuit_t *or_circ = tor_malloc_zero(sizeof(or_circuit_t));
+ cell_t *cell = tor_malloc(sizeof(cell_t));
+ int outbound;
+ uint64_t start, end;
+
+ crypto_rand((char*)cell->payload, sizeof(cell->payload));
+
+ /* Mock-up or_circuit_t */
+ or_circ->_base.magic = OR_CIRCUIT_MAGIC;
+ or_circ->_base.purpose = CIRCUIT_PURPOSE_OR;
+
+ /* Initialize crypto */
+ or_circ->p_crypto = crypto_cipher_new();
+ crypto_cipher_generate_key(or_circ->p_crypto);
+ crypto_cipher_encrypt_init_cipher(or_circ->p_crypto);
+ or_circ->n_crypto = crypto_cipher_new();
+ crypto_cipher_generate_key(or_circ->n_crypto);
+ crypto_cipher_encrypt_init_cipher(or_circ->n_crypto);
+ or_circ->p_digest = crypto_digest_new();
+ or_circ->n_digest = crypto_digest_new();
+
+ reset_perftime();
+
+ for (outbound = 0; outbound <= 1; ++outbound) {
+ cell_direction_t d = outbound ? CELL_DIRECTION_OUT : CELL_DIRECTION_IN;
+ start = perftime();
+ for (i = 0; i < iters; ++i) {
+ char recognized = 0;
+ crypt_path_t *layer_hint = NULL;
+ relay_crypt(TO_CIRCUIT(or_circ), cell, d, &layer_hint, &recognized);
+ }
+ end = perftime();
+ printf("%sbound cells: %.2f ns per cell. (%.2f ns per byte of payload)\n",
+ outbound?"Out":" In",
+ NANOCOUNT(start,end,iters),
+ NANOCOUNT(start,end,iters*CELL_PAYLOAD_SIZE));
+ }
+
+ crypto_digest_free(or_circ->p_digest);
+ crypto_digest_free(or_circ->n_digest);
+ crypto_cipher_free(or_circ->p_crypto);
+ crypto_cipher_free(or_circ->n_crypto);
+ tor_free(or_circ);
+ tor_free(cell);
+}
+
+typedef void (*bench_fn)(void);
+
+typedef struct benchmark_t {
+ const char *name;
+ bench_fn fn;
+ int enabled;
+} benchmark_t;
+
+#define ENT(s) { #s , bench_##s, 0 }
+
+static struct benchmark_t benchmarks[] = {
+ ENT(dmap),
+ ENT(aes),
+ ENT(cell_aes),
+ ENT(cell_ops),
+ {NULL,NULL,0}
+};
+
+static benchmark_t *
+find_benchmark(const char *name)
+{
+ benchmark_t *b;
+ for (b = benchmarks; b->name; ++b) {
+ if (!strcmp(name, b->name)) {
+ return b;
+ }
+ }
+ return NULL;
+}
+
+/** Main entry point for benchmark code: parse the command line, and run
+ * some benchmarks. */
+int
+main(int argc, const char **argv)
+{
+ int i;
+ int list=0, n_enabled=0;
+ benchmark_t *b;
+
+ tor_threads_init();
+
+ for (i = 1; i < argc; ++i) {
+ if (!strcmp(argv[i], "--list")) {
+ list = 1;
+ } else {
+ benchmark_t *b = find_benchmark(argv[i]);
+ ++n_enabled;
+ if (b) {
+ b->enabled = 1;
+ } else {
+ printf("No such benchmark as %s\n", argv[i]);
+ }
+ }
+ }
+
+ reset_perftime();
+
+ crypto_seed_rng(1);
+
+ for (b = benchmarks; b->name; ++b) {
+ if (b->enabled || n_enabled == 0) {
+ printf("===== %s =====\n", b->name);
+ if (!list)
+ b->fn();
+ }
+ }
+
+ return 0;
+}
+
diff --git a/src/test/test-child.c b/src/test/test-child.c
index 1b9c5e3d5..b57d8caa9 100644
--- a/src/test/test-child.c
+++ b/src/test/test-child.c
@@ -1,6 +1,6 @@
#include <stdio.h>
#include "orconfig.h"
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#define WINDOWS_LEAN_AND_MEAN
#include <windows.h>
#else
@@ -23,13 +23,13 @@ main(int argc, char **argv)
succeed. Otherwise ReadFile() will get the entire output in one */
// XXX: Can we make stdio flush on newline?
fflush(stdout);
-#ifdef MS_WINDOWS
+#ifdef _WIN32
Sleep(1000);
#else
sleep(1);
#endif
fprintf(stdout, "DONE\n");
-#ifdef MS_WINDOWS
+#ifdef _WIN32
Sleep(1000);
#else
sleep(1);
diff --git a/src/test/test.c b/src/test/test.c
index aca7f10e6..2ecf6ff6c 100644
--- a/src/test/test.c
+++ b/src/test/test.c
@@ -19,7 +19,7 @@ const char tor_git_revision[] = "";
#include <fcntl.h>
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/* For mkdir() */
#include <direct.h>
#else
@@ -83,7 +83,7 @@ setup_directory(void)
int r;
if (is_setup) return;
-#ifdef MS_WINDOWS
+#ifdef _WIN32
{
char buf[MAX_PATH];
const char *tmp = buf;
@@ -164,27 +164,27 @@ remove_directory(void)
/** Define this if unit tests spend too much time generating public keys*/
#undef CACHE_GENERATED_KEYS
-static crypto_pk_env_t *pregen_keys[5] = {NULL, NULL, NULL, NULL, NULL};
+static crypto_pk_t *pregen_keys[5] = {NULL, NULL, NULL, NULL, NULL};
#define N_PREGEN_KEYS ((int)(sizeof(pregen_keys)/sizeof(pregen_keys[0])))
/** Generate and return a new keypair for use in unit tests. If we're using
* the key cache optimization, we might reuse keys: we only guarantee that
* keys made with distinct values for <b>idx</b> are different. The value of
* <b>idx</b> must be at least 0, and less than N_PREGEN_KEYS. */
-crypto_pk_env_t *
+crypto_pk_t *
pk_generate(int idx)
{
#ifdef CACHE_GENERATED_KEYS
tor_assert(idx < N_PREGEN_KEYS);
if (! pregen_keys[idx]) {
- pregen_keys[idx] = crypto_new_pk_env();
+ pregen_keys[idx] = crypto_pk_new();
tor_assert(!crypto_pk_generate_key(pregen_keys[idx]));
}
return crypto_pk_dup_key(pregen_keys[idx]);
#else
- crypto_pk_env_t *result;
+ crypto_pk_t *result;
(void) idx;
- result = crypto_new_pk_env();
+ result = crypto_pk_new();
tor_assert(!crypto_pk_generate_key(result));
return result;
#endif
@@ -197,7 +197,7 @@ free_pregenerated_keys(void)
unsigned idx;
for (idx = 0; idx < N_PREGEN_KEYS; ++idx) {
if (pregen_keys[idx]) {
- crypto_free_pk_env(pregen_keys[idx]);
+ crypto_pk_free(pregen_keys[idx]);
pregen_keys[idx] = NULL;
}
}
@@ -812,7 +812,7 @@ static void
test_onion_handshake(void)
{
/* client-side */
- crypto_dh_env_t *c_dh = NULL;
+ crypto_dh_t *c_dh = NULL;
char c_buf[ONIONSKIN_CHALLENGE_LEN];
char c_keys[40];
@@ -821,7 +821,7 @@ test_onion_handshake(void)
char s_keys[40];
/* shared */
- crypto_pk_env_t *pk = NULL;
+ crypto_pk_t *pk = NULL;
pk = pk_generate(0);
@@ -851,7 +851,7 @@ test_onion_handshake(void)
if (c_dh)
crypto_dh_free(c_dh);
if (pk)
- crypto_free_pk_env(pk);
+ crypto_pk_free(pk);
}
static void
@@ -1010,7 +1010,7 @@ test_policy_summary_helper(const char *policy_str,
const char *expected_summary)
{
config_line_t line;
- smartlist_t *policy = smartlist_create();
+ smartlist_t *policy = smartlist_new();
char *summary = NULL;
int r;
short_policy_t *short_policy = NULL;
@@ -1050,7 +1050,7 @@ test_policies(void)
smartlist_t *sm = NULL;
char *policy_str = NULL;
- policy = smartlist_create();
+ policy = smartlist_new();
p = router_parse_addr_policy_item_from_string("reject 192.168.0.0/16:*",-1);
test_assert(p != NULL);
@@ -1076,7 +1076,7 @@ test_policies(void)
test_assert(0 == policies_parse_exit_policy(NULL, &policy2, 1, NULL, 1));
test_assert(policy2);
- policy3 = smartlist_create();
+ policy3 = smartlist_new();
p = router_parse_addr_policy_item_from_string("reject *:*",-1);
test_assert(p != NULL);
smartlist_add(policy3, p);
@@ -1084,7 +1084,7 @@ test_policies(void)
test_assert(p != NULL);
smartlist_add(policy3, p);
- policy4 = smartlist_create();
+ policy4 = smartlist_new();
p = router_parse_addr_policy_item_from_string("accept *:443",-1);
test_assert(p != NULL);
smartlist_add(policy4, p);
@@ -1092,7 +1092,7 @@ test_policies(void)
test_assert(p != NULL);
smartlist_add(policy4, p);
- policy5 = smartlist_create();
+ policy5 = smartlist_new();
p = router_parse_addr_policy_item_from_string("reject 0.0.0.0/8:*",-1);
test_assert(p != NULL);
smartlist_add(policy5, p);
@@ -1124,12 +1124,12 @@ test_policies(void)
test_assert(p != NULL);
smartlist_add(policy5, p);
- policy6 = smartlist_create();
+ policy6 = smartlist_new();
p = router_parse_addr_policy_item_from_string("accept 43.3.0.0/9:*",-1);
test_assert(p != NULL);
smartlist_add(policy6, p);
- policy7 = smartlist_create();
+ policy7 = smartlist_new();
p = router_parse_addr_policy_item_from_string("accept 0.0.0.0/8:*",-1);
test_assert(p != NULL);
smartlist_add(policy7, p);
@@ -1226,7 +1226,7 @@ test_policies(void)
"reject 1,3,5,7");
/* truncation ports */
- sm = smartlist_create();
+ sm = smartlist_new();
for (i=1; i<2000; i+=2) {
char buf[POLICY_BUF_LEN];
tor_snprintf(buf, sizeof(buf), "reject *:%d", i);
@@ -1265,102 +1265,6 @@ test_policies(void)
}
}
-/** Run AES performance benchmarks. */
-static void
-bench_aes(void)
-{
- int len, i;
- char *b1, *b2;
- crypto_cipher_env_t *c;
- struct timeval start, end;
- const int iters = 100000;
- uint64_t nsec;
- c = crypto_new_cipher_env();
- crypto_cipher_generate_key(c);
- crypto_cipher_encrypt_init_cipher(c);
- for (len = 1; len <= 8192; len *= 2) {
- b1 = tor_malloc_zero(len);
- b2 = tor_malloc_zero(len);
- tor_gettimeofday(&start);
- for (i = 0; i < iters; ++i) {
- crypto_cipher_encrypt(c, b1, b2, len);
- }
- tor_gettimeofday(&end);
- tor_free(b1);
- tor_free(b2);
- nsec = (uint64_t) tv_udiff(&start,&end);
- nsec *= 1000;
- nsec /= (iters*len);
- printf("%d bytes: "U64_FORMAT" nsec per byte\n", len,
- U64_PRINTF_ARG(nsec));
- }
- crypto_free_cipher_env(c);
-}
-
-/** Run digestmap_t performance benchmarks. */
-static void
-bench_dmap(void)
-{
- smartlist_t *sl = smartlist_create();
- smartlist_t *sl2 = smartlist_create();
- struct timeval start, end, pt2, pt3, pt4;
- const int iters = 10000;
- const int elts = 4000;
- const int fpostests = 1000000;
- char d[20];
- int i,n=0, fp = 0;
- digestmap_t *dm = digestmap_new();
- digestset_t *ds = digestset_new(elts);
-
- for (i = 0; i < elts; ++i) {
- crypto_rand(d, 20);
- smartlist_add(sl, tor_memdup(d, 20));
- }
- for (i = 0; i < elts; ++i) {
- crypto_rand(d, 20);
- smartlist_add(sl2, tor_memdup(d, 20));
- }
- printf("nbits=%d\n", ds->mask+1);
-
- tor_gettimeofday(&start);
- for (i = 0; i < iters; ++i) {
- SMARTLIST_FOREACH(sl, const char *, cp, digestmap_set(dm, cp, (void*)1));
- }
- tor_gettimeofday(&pt2);
- for (i = 0; i < iters; ++i) {
- SMARTLIST_FOREACH(sl, const char *, cp, digestmap_get(dm, cp));
- SMARTLIST_FOREACH(sl2, const char *, cp, digestmap_get(dm, cp));
- }
- tor_gettimeofday(&pt3);
- for (i = 0; i < iters; ++i) {
- SMARTLIST_FOREACH(sl, const char *, cp, digestset_add(ds, cp));
- }
- tor_gettimeofday(&pt4);
- for (i = 0; i < iters; ++i) {
- SMARTLIST_FOREACH(sl, const char *, cp, n += digestset_isin(ds, cp));
- SMARTLIST_FOREACH(sl2, const char *, cp, n += digestset_isin(ds, cp));
- }
- tor_gettimeofday(&end);
-
- for (i = 0; i < fpostests; ++i) {
- crypto_rand(d, 20);
- if (digestset_isin(ds, d)) ++fp;
- }
-
- printf("%ld\n",(unsigned long)tv_udiff(&start, &pt2));
- printf("%ld\n",(unsigned long)tv_udiff(&pt2, &pt3));
- printf("%ld\n",(unsigned long)tv_udiff(&pt3, &pt4));
- printf("%ld\n",(unsigned long)tv_udiff(&pt4, &end));
- printf("-- %d\n", n);
- printf("++ %f\n", fp/(double)fpostests);
- digestmap_free(dm, NULL);
- digestset_free(ds);
- SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
- SMARTLIST_FOREACH(sl2, char *, cp, tor_free(cp));
- smartlist_free(sl);
- smartlist_free(sl2);
-}
-
/** Test encoding and parsing of rendezvous service descriptors. */
static void
test_rend_fns(void)
@@ -1369,10 +1273,10 @@ test_rend_fns(void)
char service_id[DIGEST_LEN];
char service_id_base32[REND_SERVICE_ID_LEN_BASE32+1];
const char *next_desc;
- smartlist_t *descs = smartlist_create();
+ smartlist_t *descs = smartlist_new();
char computed_desc_id[DIGEST_LEN];
char parsed_desc_id[DIGEST_LEN];
- crypto_pk_env_t *pk1 = NULL, *pk2 = NULL;
+ crypto_pk_t *pk1 = NULL, *pk2 = NULL;
time_t now;
char *intro_points_encrypted = NULL;
size_t intro_points_size;
@@ -1399,11 +1303,11 @@ test_rend_fns(void)
generated->timestamp = now;
generated->version = 2;
generated->protocols = 42;
- generated->intro_nodes = smartlist_create();
+ generated->intro_nodes = smartlist_new();
for (i = 0; i < 3; i++) {
rend_intro_point_t *intro = tor_malloc_zero(sizeof(rend_intro_point_t));
- crypto_pk_env_t *okey = pk_generate(2 + i);
+ crypto_pk_t *okey = pk_generate(2 + i);
intro->extend_info = tor_malloc_zero(sizeof(extend_info_t));
intro->extend_info->onion_key = okey;
crypto_pk_get_digest(intro->extend_info->onion_key,
@@ -1470,9 +1374,9 @@ test_rend_fns(void)
if (generated)
rend_service_descriptor_free(generated);
if (pk1)
- crypto_free_pk_env(pk1);
+ crypto_pk_free(pk1);
if (pk2)
- crypto_free_pk_env(pk2);
+ crypto_pk_free(pk2);
tor_free(intro_points_encrypted);
}
@@ -1899,7 +1803,7 @@ const struct testcase_setup_t legacy_setup = {
{ #group "_" #name, legacy_test_helper, 0, &legacy_setup, \
test_ ## group ## _ ## name }
#define DISABLED(name) \
- { #name, legacy_test_helper, TT_SKIP, &legacy_setup, name }
+ { #name, legacy_test_helper, TT_SKIP, &legacy_setup, test_ ## name }
#define FORK(name) \
{ #name, legacy_test_helper, TT_FORK, &legacy_setup, test_ ## name }
@@ -1913,8 +1817,6 @@ static struct testcase_t test_array[] = {
ENT(geoip),
FORK(stats),
- DISABLED(bench_aes),
- DISABLED(bench_dmap),
END_OF_TESTCASES
};
@@ -1942,6 +1844,7 @@ extern struct testcase_t util_tests[];
extern struct testcase_t dir_tests[];
extern struct testcase_t microdesc_tests[];
extern struct testcase_t pt_tests[];
+extern struct testcase_t config_tests[];
static struct testgroup_t testgroups[] = {
{ "", test_array },
@@ -1953,6 +1856,7 @@ static struct testgroup_t testgroups[] = {
{ "dir/", dir_tests },
{ "dir/md/", microdesc_tests },
{ "pt/", pt_tests },
+ { "config/", config_tests },
END_OF_GROUPS
};
@@ -2005,6 +1909,7 @@ main(int c, const char **v)
printf("Can't initialize crypto subsystem; exiting.\n");
return 1;
}
+ crypto_set_tls_dh_prime(NULL);
rep_hist_init();
network_init();
setup_directory();
diff --git a/src/test/test.h b/src/test/test.h
index a053a7ac4..1aa59f150 100644
--- a/src/test/test.h
+++ b/src/test/test.h
@@ -39,13 +39,13 @@
#define test_mem_op(expr1, op, expr2, len) \
tt_assert_test_fmt_type(expr1,expr2,#expr1" "#op" "#expr2, \
const char *, \
- (memcmp(_val1, _val2, len) op 0), \
+ (memcmp(val1_, val2_, len) op 0), \
char *, "%s", \
{ size_t printlen = (len)*2+1; \
- _print = tor_malloc(printlen); \
- base16_encode(_print, printlen, _value, \
+ print_ = tor_malloc(printlen); \
+ base16_encode(print_, printlen, value_, \
(len)); }, \
- { tor_free(_print); }, \
+ { tor_free(print_); }, \
TT_EXIT_TEST_FUNCTION \
);
@@ -67,7 +67,7 @@
#define test_memeq_hex(expr1, hex) test_mem_op_hex(expr1, ==, hex)
const char *get_fname(const char *name);
-crypto_pk_env_t *pk_generate(int idx);
+crypto_pk_t *pk_generate(int idx);
void legacy_test_helper(void *data);
extern const struct testcase_setup_t legacy_setup;
diff --git a/src/test/test_addr.c b/src/test/test_addr.c
index 58e3e3dac..3838b8072 100644
--- a/src/test/test_addr.c
+++ b/src/test/test_addr.c
@@ -53,9 +53,17 @@ test_addr_basic(void)
char tmpbuf[TOR_ADDR_BUF_LEN];
const char *ip = "176.192.208.224";
struct in_addr in;
- tor_inet_pton(AF_INET, ip, &in);
- tor_inet_ntop(AF_INET, &in, tmpbuf, sizeof(tmpbuf));
+
+ /* good round trip */
+ test_eq(tor_inet_pton(AF_INET, ip, &in), 1);
+ test_eq_ptr(tor_inet_ntop(AF_INET, &in, tmpbuf, sizeof(tmpbuf)), &tmpbuf);
test_streq(tmpbuf, ip);
+
+ /* just enough buffer length */
+ test_streq(tor_inet_ntop(AF_INET, &in, tmpbuf, strlen(ip) + 1), ip);
+
+ /* too short buffer */
+ test_eq_ptr(tor_inet_ntop(AF_INET, &in, tmpbuf, strlen(ip)), NULL);
}
done:
@@ -65,17 +73,17 @@ test_addr_basic(void)
#define _test_op_ip6(a,op,b,e1,e2) \
STMT_BEGIN \
tt_assert_test_fmt_type(a,b,e1" "#op" "e2,struct in6_addr*, \
- (memcmp(_val1->s6_addr, _val2->s6_addr, 16) op 0), \
+ (memcmp(val1_->s6_addr, val2_->s6_addr, 16) op 0), \
char *, "%s", \
{ int i; char *cp; \
- cp = _print = tor_malloc(64); \
+ cp = print_ = tor_malloc(64); \
for (i=0;i<16;++i) { \
- tor_snprintf(cp, 3,"%02x", (unsigned)_value->s6_addr[i]);\
+ tor_snprintf(cp, 3,"%02x", (unsigned)value_->s6_addr[i]);\
cp += 2; \
if (i != 15) *cp++ = ':'; \
} \
}, \
- { tor_free(_print); }, \
+ { tor_free(print_); }, \
TT_EXIT_TEST_FUNCTION \
); \
STMT_END
@@ -167,6 +175,7 @@ static void
test_addr_ip6_helpers(void)
{
char buf[TOR_ADDR_BUF_LEN], bug[TOR_ADDR_BUF_LEN];
+ char rbuf[REVERSE_LOOKUP_NAME_BUF_LEN];
struct in6_addr a1, a2;
tor_addr_t t1, t2;
int r, i;
@@ -177,8 +186,30 @@ test_addr_ip6_helpers(void)
struct sockaddr_in *sin;
struct sockaddr_in6 *sin6;
- // struct in_addr b1, b2;
/* Test tor_inet_ntop and tor_inet_pton: IPv6 */
+ {
+ const char *ip = "2001::1234";
+ const char *ip_ffff = "::ffff:192.168.1.2";
+
+ /* good round trip */
+ test_eq(tor_inet_pton(AF_INET6, ip, &a1), 1);
+ test_eq_ptr(tor_inet_ntop(AF_INET6, &a1, buf, sizeof(buf)), &buf);
+ test_streq(buf, ip);
+
+ /* good round trip - ::ffff:0:0 style */
+ test_eq(tor_inet_pton(AF_INET6, ip_ffff, &a2), 1);
+ test_eq_ptr(tor_inet_ntop(AF_INET6, &a2, buf, sizeof(buf)), &buf);
+ test_streq(buf, ip_ffff);
+
+ /* just long enough buffer (remember \0) */
+ test_streq(tor_inet_ntop(AF_INET6, &a1, buf, strlen(ip)+1), ip);
+ test_streq(tor_inet_ntop(AF_INET6, &a2, buf, strlen(ip_ffff)+1),
+ ip_ffff);
+
+ /* too short buffer (remember \0) */
+ test_eq_ptr(tor_inet_ntop(AF_INET6, &a1, buf, strlen(ip)), NULL);
+ test_eq_ptr(tor_inet_ntop(AF_INET6, &a2, buf, strlen(ip_ffff)), NULL);
+ }
/* ==== Converting to and from sockaddr_t. */
sin = (struct sockaddr_in *)&sa_storage;
@@ -270,12 +301,23 @@ test_addr_ip6_helpers(void)
test_ntop6_reduces("1000:0001:0000:0007:0000:0000:0000:0000",
"1000:1:0:7::");
+ /* Bad af param */
+ test_eq(tor_inet_pton(AF_UNSPEC, 0, 0), -1);
+
/* === Test pton: invalid in6. */
test_pton6_bad("foobar.");
+ test_pton6_bad("-1::");
+ test_pton6_bad("00001::");
+ test_pton6_bad("10000::");
+ test_pton6_bad("::10000");
test_pton6_bad("55555::");
test_pton6_bad("9:-60::");
+ test_pton6_bad("9:+60::");
+ test_pton6_bad("9|60::");
+ test_pton6_bad("0x60::");
+ test_pton6_bad("::0x60");
+ test_pton6_bad("9:0x60::");
test_pton6_bad("1:2:33333:4:0002:3::");
- //test_pton6_bad("1:2:3333:4:00002:3::");// BAD, but glibc doesn't say so.
test_pton6_bad("1:2:3333:4:fish:3::");
test_pton6_bad("1:2:3:4:5:6:7:8:9");
test_pton6_bad("1:2:3:4:5:6:7");
@@ -283,8 +325,14 @@ test_addr_ip6_helpers(void)
test_pton6_bad("1:2:3:4:5:6:1.2.3");
test_pton6_bad("::1.2.3");
test_pton6_bad("::1.2.3.4.5");
+ test_pton6_bad("::ffff:0xff.0.0.0");
+ test_pton6_bad("::ffff:ff.0.0.0");
+ test_pton6_bad("::ffff:256.0.0.0");
+ test_pton6_bad("::ffff:-1.0.0.0");
test_pton6_bad("99");
test_pton6_bad("");
+ test_pton6_bad(".");
+ test_pton6_bad(":");
test_pton6_bad("1::2::3:4");
test_pton6_bad("a:::b:c");
test_pton6_bad(":::a:b:c");
@@ -293,6 +341,9 @@ test_addr_ip6_helpers(void)
/* test internal checking */
test_external_ip("fbff:ffff::2:7", 0);
test_internal_ip("fc01::2:7", 0);
+ test_internal_ip("fc01::02:7", 0);
+ test_internal_ip("fc01::002:7", 0);
+ test_internal_ip("fc01::0002:7", 0);
test_internal_ip("fdff:ffff::f:f", 0);
test_external_ip("fe00::3:f", 0);
@@ -363,7 +414,15 @@ test_addr_ip6_helpers(void)
test_addr_compare_masked("0::2:2:1", <, "0::8000:2:1", 81);
test_addr_compare_masked("0::2:2:1", ==, "0::8000:2:1", 80);
- /* Test decorated addr_to_string. */
+ /* Test undecorated tor_addr_to_str */
+ test_eq(AF_INET6, tor_addr_parse(&t1, "[123:45:6789::5005:11]"));
+ p1 = tor_addr_to_str(buf, &t1, sizeof(buf), 0);
+ test_streq(p1, "123:45:6789::5005:11");
+ test_eq(AF_INET, tor_addr_parse(&t1, "18.0.0.1"));
+ p1 = tor_addr_to_str(buf, &t1, sizeof(buf), 0);
+ test_streq(p1, "18.0.0.1");
+
+ /* Test decorated tor_addr_to_str */
test_eq(AF_INET6, tor_addr_parse(&t1, "[123:45:6789::5005:11]"));
p1 = tor_addr_to_str(buf, &t1, sizeof(buf), 1);
test_streq(p1, "[123:45:6789::5005:11]");
@@ -371,6 +430,32 @@ test_addr_ip6_helpers(void)
p1 = tor_addr_to_str(buf, &t1, sizeof(buf), 1);
test_streq(p1, "18.0.0.1");
+ /* Test buffer bounds checking of tor_addr_to_str */
+ test_eq(AF_INET6, tor_addr_parse(&t1, "::")); /* 2 + \0 */
+ test_eq_ptr(tor_addr_to_str(buf, &t1, 2, 0), NULL); /* too short buf */
+ test_streq(tor_addr_to_str(buf, &t1, 3, 0), "::");
+ test_eq_ptr(tor_addr_to_str(buf, &t1, 4, 1), NULL); /* too short buf */
+ test_streq(tor_addr_to_str(buf, &t1, 5, 1), "[::]");
+
+ test_eq(AF_INET6, tor_addr_parse(&t1, "2000::1337")); /* 10 + \0 */
+ test_eq_ptr(tor_addr_to_str(buf, &t1, 10, 0), NULL); /* too short buf */
+ test_streq(tor_addr_to_str(buf, &t1, 11, 0), "2000::1337");
+ test_eq_ptr(tor_addr_to_str(buf, &t1, 12, 1), NULL); /* too short buf */
+ test_streq(tor_addr_to_str(buf, &t1, 13, 1), "[2000::1337]");
+
+ test_eq(AF_INET, tor_addr_parse(&t1, "1.2.3.4")); /* 7 + \0 */
+ test_eq_ptr(tor_addr_to_str(buf, &t1, 7, 0), NULL); /* too short buf */
+ test_streq(tor_addr_to_str(buf, &t1, 8, 0), "1.2.3.4");
+
+ test_eq(AF_INET, tor_addr_parse(&t1, "255.255.255.255")); /* 15 + \0 */
+ test_eq_ptr(tor_addr_to_str(buf, &t1, 15, 0), NULL); /* too short buf */
+ test_streq(tor_addr_to_str(buf, &t1, 16, 0), "255.255.255.255");
+ test_eq_ptr(tor_addr_to_str(buf, &t1, 15, 1), NULL); /* too short buf */
+ test_streq(tor_addr_to_str(buf, &t1, 16, 1), "255.255.255.255");
+
+ t1.family = AF_UNSPEC;
+ test_eq_ptr(tor_addr_to_str(buf, &t1, sizeof(buf), 0), NULL);
+
/* Test tor_addr_parse_PTR_name */
i = tor_addr_parse_PTR_name(&t1, "Foobar.baz", AF_UNSPEC, 0);
test_eq(0, i);
@@ -435,6 +520,54 @@ test_addr_ip6_helpers(void)
AF_INET, 0);
test_eq(i, -1);
+ /* === Test tor_addr_to_PTR_name */
+
+ /* Stage IPv4 addr */
+ memset(&sa_storage, 0, sizeof(sa_storage));
+ sin = (struct sockaddr_in *)&sa_storage;
+ sin->sin_family = AF_INET;
+ sin->sin_addr.s_addr = htonl(0x7f010203); /* 127.1.2.3 */
+ tor_addr_from_sockaddr(&t1, (struct sockaddr *)sin, NULL);
+
+ /* Check IPv4 PTR - too short buffer */
+ test_eq(tor_addr_to_PTR_name(rbuf, 1, &t1), -1);
+ test_eq(tor_addr_to_PTR_name(rbuf,
+ strlen("3.2.1.127.in-addr.arpa") - 1,
+ &t1), -1);
+
+ /* Check IPv4 PTR - valid addr */
+ test_eq(tor_addr_to_PTR_name(rbuf, sizeof(rbuf), &t1),
+ strlen("3.2.1.127.in-addr.arpa"));
+ test_streq(rbuf, "3.2.1.127.in-addr.arpa");
+
+ /* Invalid addr family */
+ t1.family = AF_UNSPEC;
+ test_eq(tor_addr_to_PTR_name(rbuf, sizeof(rbuf), &t1), -1);
+
+ /* Stage IPv6 addr */
+ memset(&sa_storage, 0, sizeof(sa_storage));
+ sin6 = (struct sockaddr_in6 *)&sa_storage;
+ sin6->sin6_family = AF_INET6;
+ sin6->sin6_addr.s6_addr[0] = 0x80; /* 8000::abcd */
+ sin6->sin6_addr.s6_addr[14] = 0xab;
+ sin6->sin6_addr.s6_addr[15] = 0xcd;
+
+ tor_addr_from_sockaddr(&t1, (struct sockaddr *)sin6, NULL);
+
+ {
+ const char* addr_PTR = "d.c.b.a.0.0.0.0.0.0.0.0.0.0.0.0."
+ "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.ip6.arpa";
+
+ /* Check IPv6 PTR - too short buffer */
+ test_eq(tor_addr_to_PTR_name(rbuf, 0, &t1), -1);
+ test_eq(tor_addr_to_PTR_name(rbuf, strlen(addr_PTR) - 1, &t1), -1);
+
+ /* Check IPv6 PTR - valid addr */
+ test_eq(tor_addr_to_PTR_name(rbuf, sizeof(rbuf), &t1),
+ strlen(addr_PTR));
+ test_streq(rbuf, addr_PTR);
+ }
+
/* test tor_addr_parse_mask_ports */
test_addr_mask_ports_parse("[::f]/17:47-95", AF_INET6,
0, 0, 0, 0x0000000f, 17, 47, 95);
@@ -480,12 +613,11 @@ test_addr_ip6_helpers(void)
/* get interface addresses */
r = get_interface_address6(LOG_DEBUG, AF_INET, &t1);
i = get_interface_address6(LOG_DEBUG, AF_INET6, &t2);
-#if 0
- tor_inet_ntop(AF_INET, &t1.sa.sin_addr, buf, sizeof(buf));
- printf("\nv4 address: %s (family=%d)", buf, IN_FAMILY(&t1));
- tor_inet_ntop(AF_INET6, &t2.sa6.sin6_addr, buf, sizeof(buf));
- printf("\nv6 address: %s (family=%d)", buf, IN_FAMILY(&t2));
-#endif
+
+ TT_BLATHER(("v4 address: %s (family=%d)", fmt_addr(&t1),
+ tor_addr_family(&t1)));
+ TT_BLATHER(("v6 address: %s (family=%d)", fmt_addr(&t2),
+ tor_addr_family(&t2)));
done:
;
diff --git a/src/test/test_config.c b/src/test/test_config.c
new file mode 100644
index 000000000..d8161de14
--- /dev/null
+++ b/src/test/test_config.c
@@ -0,0 +1,170 @@
+/* Copyright (c) 2001-2004, Roger Dingledine.
+ * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
+ * Copyright (c) 2007-2010, The Tor Project, Inc. */
+/* See LICENSE for licensing information */
+
+#include "orconfig.h"
+#include "or.h"
+#include "config.h"
+#include "connection_edge.h"
+#include "test.h"
+
+static void
+test_config_addressmap(void *arg)
+{
+ char buf[1024];
+ char address[256];
+ time_t expires = TIME_MAX;
+ (void)arg;
+
+ strlcpy(buf, "MapAddress .invalidwildcard.com *.torserver.exit\n" // invalid
+ "MapAddress *invalidasterisk.com *.torserver.exit\n" // invalid
+ "MapAddress *.google.com *.torserver.exit\n"
+ "MapAddress *.yahoo.com *.google.com.torserver.exit\n"
+ "MapAddress *.cn.com www.cnn.com\n"
+ "MapAddress *.cnn.com www.cnn.com\n"
+ "MapAddress ex.com www.cnn.com\n"
+ "MapAddress ey.com *.cnn.com\n"
+ "MapAddress www.torproject.org 1.1.1.1\n"
+ "MapAddress other.torproject.org "
+ "this.torproject.org.otherserver.exit\n"
+ "MapAddress test.torproject.org 2.2.2.2\n"
+ "MapAddress www.google.com 3.3.3.3\n"
+ "MapAddress www.example.org 4.4.4.4\n"
+ "MapAddress 4.4.4.4 7.7.7.7\n"
+ "MapAddress 4.4.4.4 5.5.5.5\n"
+ "MapAddress www.infiniteloop.org 6.6.6.6\n"
+ "MapAddress 6.6.6.6 www.infiniteloop.org\n"
+ , sizeof(buf));
+
+ config_get_lines(buf, &(get_options_mutable()->AddressMap), 0);
+ config_register_addressmaps(get_options());
+
+ /* MapAddress .invalidwildcard.com .torserver.exit - no match */
+ strlcpy(address, "www.invalidwildcard.com", sizeof(address));
+ test_assert(!addressmap_rewrite(address, sizeof(address), &expires));
+
+ /* MapAddress *invalidasterisk.com .torserver.exit - no match */
+ strlcpy(address, "www.invalidasterisk.com", sizeof(address));
+ test_assert(!addressmap_rewrite(address, sizeof(address), &expires));
+
+ /* Where no mapping for FQDN match on top-level domain */
+ /* MapAddress .google.com .torserver.exit */
+ strlcpy(address, "reader.google.com", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "reader.torserver.exit");
+
+ /* MapAddress *.yahoo.com *.google.com.torserver.exit */
+ strlcpy(address, "reader.yahoo.com", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "reader.google.com.torserver.exit");
+
+ /*MapAddress *.cnn.com www.cnn.com */
+ strlcpy(address, "cnn.com", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "www.cnn.com");
+
+ /* MapAddress .cn.com www.cnn.com */
+ strlcpy(address, "www.cn.com", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "www.cnn.com");
+
+ /* MapAddress ex.com www.cnn.com - no match */
+ strlcpy(address, "www.ex.com", sizeof(address));
+ test_assert(!addressmap_rewrite(address, sizeof(address), &expires));
+
+ /* MapAddress ey.com *.cnn.com - invalid expression */
+ strlcpy(address, "ey.com", sizeof(address));
+ test_assert(!addressmap_rewrite(address, sizeof(address), &expires));
+
+ /* Where mapping for FQDN match on FQDN */
+ strlcpy(address, "www.google.com", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "3.3.3.3");
+
+ strlcpy(address, "www.torproject.org", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "1.1.1.1");
+
+ strlcpy(address, "other.torproject.org", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "this.torproject.org.otherserver.exit");
+
+ strlcpy(address, "test.torproject.org", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "2.2.2.2");
+
+ /* Test a chain of address mappings and the order in which they were added:
+ "MapAddress www.example.org 4.4.4.4"
+ "MapAddress 4.4.4.4 7.7.7.7"
+ "MapAddress 4.4.4.4 5.5.5.5"
+ */
+ strlcpy(address, "www.example.org", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "5.5.5.5");
+
+ /* Test infinite address mapping results in no change */
+ strlcpy(address, "www.infiniteloop.org", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "www.infiniteloop.org");
+
+ /* Test we don't find false positives */
+ strlcpy(address, "www.example.com", sizeof(address));
+ test_assert(!addressmap_rewrite(address, sizeof(address), &expires));
+
+ /* Test top-level-domain matching a bit harder */
+ addressmap_clear_configured();
+ strlcpy(buf, "MapAddress *.com *.torserver.exit\n"
+ "MapAddress *.torproject.org 1.1.1.1\n"
+ "MapAddress *.net 2.2.2.2\n"
+ , sizeof(buf));
+ config_get_lines(buf, &(get_options_mutable()->AddressMap), 0);
+ config_register_addressmaps(get_options());
+
+ strlcpy(address, "www.abc.com", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "www.abc.torserver.exit");
+
+ strlcpy(address, "www.def.com", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "www.def.torserver.exit");
+
+ strlcpy(address, "www.torproject.org", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "1.1.1.1");
+
+ strlcpy(address, "test.torproject.org", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "1.1.1.1");
+
+ strlcpy(address, "torproject.net", sizeof(address));
+ test_assert(addressmap_rewrite(address, sizeof(address), &expires));
+ test_streq(address, "2.2.2.2");
+
+ /* We don't support '*' as a mapping directive */
+ addressmap_clear_configured();
+ strlcpy(buf, "MapAddress * *.torserver.exit\n", sizeof(buf));
+ config_get_lines(buf, &(get_options_mutable()->AddressMap), 0);
+ config_register_addressmaps(get_options());
+
+ strlcpy(address, "www.abc.com", sizeof(address));
+ test_assert(!addressmap_rewrite(address, sizeof(address), &expires));
+
+ strlcpy(address, "www.def.net", sizeof(address));
+ test_assert(!addressmap_rewrite(address, sizeof(address), &expires));
+
+ strlcpy(address, "www.torproject.org", sizeof(address));
+ test_assert(!addressmap_rewrite(address, sizeof(address), &expires));
+
+ done:
+ ;
+}
+
+#define CONFIG_TEST(name, flags) \
+ { #name, test_config_ ## name, flags, NULL, NULL }
+
+struct testcase_t config_tests[] = {
+ CONFIG_TEST(addressmap, 0),
+ END_OF_TESTCASES
+};
+
diff --git a/src/test/test_containers.c b/src/test/test_containers.c
index af9fb1c5c..b5b0ef36e 100644
--- a/src/test/test_containers.c
+++ b/src/test/test_containers.c
@@ -34,7 +34,7 @@ test_container_smartlist_basic(void)
/* XXXX test sort_digests, uniq_strings, uniq_digests */
/* Test smartlist add, del_keeporder, insert, get. */
- sl = smartlist_create();
+ sl = smartlist_new();
smartlist_add(sl, (void*)1);
smartlist_add(sl, (void*)2);
smartlist_add(sl, (void*)3);
@@ -68,7 +68,7 @@ test_container_smartlist_basic(void)
static void
test_container_smartlist_strings(void)
{
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
char *cp=NULL, *cp_alloc=NULL;
size_t sz;
@@ -298,11 +298,11 @@ test_container_smartlist_strings(void)
static void
test_container_smartlist_overlap(void)
{
- smartlist_t *sl = smartlist_create();
- smartlist_t *ints = smartlist_create();
- smartlist_t *odds = smartlist_create();
- smartlist_t *evens = smartlist_create();
- smartlist_t *primes = smartlist_create();
+ smartlist_t *sl = smartlist_new();
+ smartlist_t *ints = smartlist_new();
+ smartlist_t *odds = smartlist_new();
+ smartlist_t *evens = smartlist_new();
+ smartlist_t *primes = smartlist_new();
int i;
for (i=1; i < 10; i += 2)
smartlist_add(odds, (void*)(uintptr_t)i);
@@ -351,7 +351,7 @@ test_container_smartlist_overlap(void)
static void
test_container_smartlist_digests(void)
{
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
/* digest_isin. */
smartlist_add(sl, tor_memdup("AAAAAAAAAAAAAAAAAAAA", DIGEST_LEN));
@@ -384,9 +384,9 @@ test_container_smartlist_digests(void)
static void
test_container_smartlist_join(void)
{
- smartlist_t *sl = smartlist_create();
- smartlist_t *sl2 = smartlist_create(), *sl3 = smartlist_create(),
- *sl4 = smartlist_create();
+ smartlist_t *sl = smartlist_new();
+ smartlist_t *sl2 = smartlist_new(), *sl3 = smartlist_new(),
+ *sl4 = smartlist_new();
char *joined=NULL;
/* unique, sorted. */
smartlist_split_string(sl,
@@ -479,7 +479,7 @@ test_container_bitarray(void)
static void
test_container_digestset(void)
{
- smartlist_t *included = smartlist_create();
+ smartlist_t *included = smartlist_new();
char d[DIGEST_LEN];
int i;
int ok = 1;
@@ -532,7 +532,7 @@ _compare_strings_for_pqueue(const void *p1, const void *p2)
static void
test_container_pqueue(void)
{
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
int (*cmp)(const void *, const void*);
const int offset = STRUCT_OFFSET(pq_entry_t, idx);
#define ENTRY(s) pq_entry_t s = { #s, -1 }
@@ -669,7 +669,7 @@ test_container_strmap(void)
/* Test iterator. */
iter = strmap_iter_init(map);
- found_keys = smartlist_create();
+ found_keys = smartlist_new();
while (!strmap_iter_done(iter)) {
strmap_iter_get(iter,&k,&v);
smartlist_add(found_keys, tor_strdup(k));
diff --git a/src/test/test_crypto.c b/src/test/test_crypto.c
index 1b338a29a..bf0962e98 100644
--- a/src/test/test_crypto.c
+++ b/src/test/test_crypto.c
@@ -7,13 +7,14 @@
#define CRYPTO_PRIVATE
#include "or.h"
#include "test.h"
+#include "aes.h"
/** Run unit tests for Diffie-Hellman functionality. */
static void
test_crypto_dh(void)
{
- crypto_dh_env_t *dh1 = crypto_dh_new(DH_TYPE_CIRCUIT);
- crypto_dh_env_t *dh2 = crypto_dh_new(DH_TYPE_CIRCUIT);
+ crypto_dh_t *dh1 = crypto_dh_new(DH_TYPE_CIRCUIT);
+ crypto_dh_t *dh2 = crypto_dh_new(DH_TYPE_CIRCUIT);
char p1[DH_BYTES];
char p2[DH_BYTES];
char s1[DH_BYTES];
@@ -95,13 +96,17 @@ test_crypto_rng(void)
/** Run unit tests for our AES functionality */
static void
-test_crypto_aes(void)
+test_crypto_aes(void *arg)
{
char *data1 = NULL, *data2 = NULL, *data3 = NULL;
- crypto_cipher_env_t *env1 = NULL, *env2 = NULL;
+ crypto_cipher_t *env1 = NULL, *env2 = NULL;
int i, j;
char *mem_op_hex_tmp=NULL;
+ int use_evp = !strcmp(arg,"evp");
+ evaluate_evp_for_aes(use_evp);
+ evaluate_ctr_for_aes();
+
data1 = tor_malloc(1024);
data2 = tor_malloc(1024);
data3 = tor_malloc(1024);
@@ -113,9 +118,9 @@ test_crypto_aes(void)
memset(data2, 0, 1024);
memset(data3, 0, 1024);
- env1 = crypto_new_cipher_env();
+ env1 = crypto_cipher_new();
test_neq(env1, 0);
- env2 = crypto_new_cipher_env();
+ env2 = crypto_cipher_new();
test_neq(env2, 0);
j = crypto_cipher_generate_key(env1);
crypto_cipher_set_key(env2, crypto_cipher_get_key(env1));
@@ -146,11 +151,11 @@ test_crypto_aes(void)
test_memeq(data1, data3, 1024-5);
/* Now make sure that when we encrypt with different chunk sizes, we get
the same results. */
- crypto_free_cipher_env(env2);
+ crypto_cipher_free(env2);
env2 = NULL;
memset(data3, 0, 1024);
- env2 = crypto_new_cipher_env();
+ env2 = crypto_cipher_new();
test_neq(env2, 0);
crypto_cipher_set_key(env2, crypto_cipher_get_key(env1));
crypto_cipher_encrypt_init_cipher(env2);
@@ -163,13 +168,13 @@ test_crypto_aes(void)
}
}
test_memeq(data2, data3, 1024-16);
- crypto_free_cipher_env(env1);
+ crypto_cipher_free(env1);
env1 = NULL;
- crypto_free_cipher_env(env2);
+ crypto_cipher_free(env2);
env2 = NULL;
/* NIST test vector for aes. */
- env1 = crypto_new_cipher_env(); /* IV starts at 0 */
+ env1 = crypto_cipher_new(); /* IV starts at 0 */
crypto_cipher_set_key(env1, "\x80\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00");
crypto_cipher_encrypt_init_cipher(env1);
@@ -217,9 +222,9 @@ test_crypto_aes(void)
done:
tor_free(mem_op_hex_tmp);
if (env1)
- crypto_free_cipher_env(env1);
+ crypto_cipher_free(env1);
if (env2)
- crypto_free_cipher_env(env2);
+ crypto_cipher_free(env2);
tor_free(data1);
tor_free(data2);
tor_free(data3);
@@ -229,7 +234,7 @@ test_crypto_aes(void)
static void
test_crypto_sha(void)
{
- crypto_digest_env_t *d1 = NULL, *d2 = NULL;
+ crypto_digest_t *d1 = NULL, *d2 = NULL;
int i;
char key[160];
char digest[32];
@@ -346,7 +351,7 @@ test_crypto_sha(void)
"bfdc63644f0713938a7f51535c3a35e2");
/* Incremental digest code. */
- d1 = crypto_new_digest_env();
+ d1 = crypto_digest_new();
test_assert(d1);
crypto_digest_add_bytes(d1, "abcdef", 6);
d2 = crypto_digest_dup(d1);
@@ -363,11 +368,11 @@ test_crypto_sha(void)
crypto_digest_get_digest(d1, d_out1, sizeof(d_out1));
crypto_digest(d_out2, "abcdef", 6);
test_memeq(d_out1, d_out2, DIGEST_LEN);
- crypto_free_digest_env(d1);
- crypto_free_digest_env(d2);
+ crypto_digest_free(d1);
+ crypto_digest_free(d2);
/* Incremental digest code with sha256 */
- d1 = crypto_new_digest256_env(DIGEST_SHA256);
+ d1 = crypto_digest256_new(DIGEST_SHA256);
test_assert(d1);
crypto_digest_add_bytes(d1, "abcdef", 6);
d2 = crypto_digest_dup(d1);
@@ -387,9 +392,9 @@ test_crypto_sha(void)
done:
if (d1)
- crypto_free_digest_env(d1);
+ crypto_digest_free(d1);
if (d2)
- crypto_free_digest_env(d2);
+ crypto_digest_free(d2);
tor_free(mem_op_hex_tmp);
}
@@ -397,7 +402,7 @@ test_crypto_sha(void)
static void
test_crypto_pk(void)
{
- crypto_pk_env_t *pk1 = NULL, *pk2 = NULL;
+ crypto_pk_t *pk1 = NULL, *pk2 = NULL;
char *encoded = NULL;
char data1[1024], data2[1024], data3[1024];
size_t size;
@@ -405,7 +410,7 @@ test_crypto_pk(void)
/* Public-key ciphers */
pk1 = pk_generate(0);
- pk2 = crypto_new_pk_env();
+ pk2 = crypto_pk_new();
test_assert(pk1 && pk2);
test_assert(! crypto_pk_write_public_key_to_string(pk1, &encoded, &size));
test_assert(! crypto_pk_read_public_key_from_string(pk2, encoded, size));
@@ -471,7 +476,7 @@ test_crypto_pk(void)
/*XXXX test failed signing*/
/* Try encoding */
- crypto_free_pk_env(pk2);
+ crypto_pk_free(pk2);
pk2 = NULL;
i = crypto_pk_asn1_encode(pk1, data1, 1024);
test_assert(i>0);
@@ -499,7 +504,7 @@ test_crypto_pk(void)
}
/* Try copy_full */
- crypto_free_pk_env(pk2);
+ crypto_pk_free(pk2);
pk2 = crypto_pk_copy_full(pk1);
test_assert(pk2 != NULL);
test_neq_ptr(pk1, pk2);
@@ -507,9 +512,9 @@ test_crypto_pk(void)
done:
if (pk1)
- crypto_free_pk_env(pk1);
+ crypto_pk_free(pk1);
if (pk2)
- crypto_free_pk_env(pk2);
+ crypto_pk_free(pk2);
tor_free(encoded);
}
@@ -670,14 +675,17 @@ test_crypto_s2k(void)
/** Test AES-CTR encryption and decryption with IV. */
static void
-test_crypto_aes_iv(void)
+test_crypto_aes_iv(void *arg)
{
- crypto_cipher_env_t *cipher;
+ crypto_cipher_t *cipher;
char *plain, *encrypted1, *encrypted2, *decrypted1, *decrypted2;
char plain_1[1], plain_15[15], plain_16[16], plain_17[17];
char key1[16], key2[16];
ssize_t encrypted_size, decrypted_size;
+ int use_evp = !strcmp(arg,"evp");
+ evaluate_evp_for_aes(use_evp);
+
plain = tor_malloc(4095);
encrypted1 = tor_malloc(4095 + 1 + 16);
encrypted2 = tor_malloc(4095 + 1 + 16);
@@ -696,7 +704,7 @@ test_crypto_aes_iv(void)
cipher = crypto_create_init_cipher(key1, 1);
encrypted_size = crypto_cipher_encrypt_with_iv(cipher, encrypted1, 16 + 4095,
plain, 4095);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(encrypted_size, 16 + 4095);
tt_assert(encrypted_size > 0); /* This is obviously true, since 4111 is
@@ -705,7 +713,7 @@ test_crypto_aes_iv(void)
cipher = crypto_create_init_cipher(key1, 0);
decrypted_size = crypto_cipher_decrypt_with_iv(cipher, decrypted1, 4095,
encrypted1, encrypted_size);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(decrypted_size, 4095);
tt_assert(decrypted_size > 0);
@@ -714,14 +722,14 @@ test_crypto_aes_iv(void)
cipher = crypto_create_init_cipher(key1, 1);
encrypted_size = crypto_cipher_encrypt_with_iv(cipher, encrypted2, 16 + 4095,
plain, 4095);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(encrypted_size, 16 + 4095);
tt_assert(encrypted_size > 0);
cipher = crypto_create_init_cipher(key1, 0);
decrypted_size = crypto_cipher_decrypt_with_iv(cipher, decrypted2, 4095,
encrypted2, encrypted_size);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(decrypted_size, 4095);
tt_assert(decrypted_size > 0);
@@ -731,7 +739,7 @@ test_crypto_aes_iv(void)
cipher = crypto_create_init_cipher(key2, 0);
decrypted_size = crypto_cipher_decrypt_with_iv(cipher, decrypted2, 4095,
encrypted1, encrypted_size);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_memneq(plain, decrypted2, encrypted_size);
/* Alter the initialization vector. */
@@ -739,21 +747,21 @@ test_crypto_aes_iv(void)
cipher = crypto_create_init_cipher(key1, 0);
decrypted_size = crypto_cipher_decrypt_with_iv(cipher, decrypted1, 4095,
encrypted1, encrypted_size);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_memneq(plain, decrypted2, 4095);
/* Special length case: 1. */
cipher = crypto_create_init_cipher(key1, 1);
encrypted_size = crypto_cipher_encrypt_with_iv(cipher, encrypted1, 16 + 1,
plain_1, 1);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(encrypted_size, 16 + 1);
tt_assert(encrypted_size > 0);
cipher = crypto_create_init_cipher(key1, 0);
decrypted_size = crypto_cipher_decrypt_with_iv(cipher, decrypted1, 1,
encrypted1, encrypted_size);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(decrypted_size, 1);
tt_assert(decrypted_size > 0);
@@ -762,14 +770,14 @@ test_crypto_aes_iv(void)
cipher = crypto_create_init_cipher(key1, 1);
encrypted_size = crypto_cipher_encrypt_with_iv(cipher, encrypted1, 16 + 15,
plain_15, 15);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(encrypted_size, 16 + 15);
tt_assert(encrypted_size > 0);
cipher = crypto_create_init_cipher(key1, 0);
decrypted_size = crypto_cipher_decrypt_with_iv(cipher, decrypted1, 15,
encrypted1, encrypted_size);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(decrypted_size, 15);
tt_assert(decrypted_size > 0);
@@ -778,14 +786,14 @@ test_crypto_aes_iv(void)
cipher = crypto_create_init_cipher(key1, 1);
encrypted_size = crypto_cipher_encrypt_with_iv(cipher, encrypted1, 16 + 16,
plain_16, 16);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(encrypted_size, 16 + 16);
tt_assert(encrypted_size > 0);
cipher = crypto_create_init_cipher(key1, 0);
decrypted_size = crypto_cipher_decrypt_with_iv(cipher, decrypted1, 16,
encrypted1, encrypted_size);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(decrypted_size, 16);
tt_assert(decrypted_size > 0);
@@ -794,7 +802,7 @@ test_crypto_aes_iv(void)
cipher = crypto_create_init_cipher(key1, 1);
encrypted_size = crypto_cipher_encrypt_with_iv(cipher, encrypted1, 16 + 17,
plain_17, 17);
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
cipher = NULL;
test_eq(encrypted_size, 16 + 17);
tt_assert(encrypted_size > 0);
@@ -813,7 +821,7 @@ test_crypto_aes_iv(void)
tor_free(decrypted1);
tor_free(decrypted2);
if (cipher)
- crypto_free_cipher_env(cipher);
+ crypto_cipher_free(cipher);
}
/** Test base32 decoding. */
@@ -851,18 +859,36 @@ test_crypto_base32_decode(void)
;
}
+static void *
+pass_data_setup_fn(const struct testcase_t *testcase)
+{
+ return testcase->setup_data;
+}
+static int
+pass_data_cleanup_fn(const struct testcase_t *testcase, void *ptr)
+{
+ (void)ptr;
+ (void)testcase;
+ return 1;
+}
+static const struct testcase_setup_t pass_data = {
+ pass_data_setup_fn, pass_data_cleanup_fn
+};
+
#define CRYPTO_LEGACY(name) \
{ #name, legacy_test_helper, 0, &legacy_setup, test_crypto_ ## name }
struct testcase_t crypto_tests[] = {
CRYPTO_LEGACY(formats),
CRYPTO_LEGACY(rng),
- CRYPTO_LEGACY(aes),
+ { "aes_AES", test_crypto_aes, TT_FORK, &pass_data, (void*)"aes" },
+ { "aes_EVP", test_crypto_aes, TT_FORK, &pass_data, (void*)"evp" },
CRYPTO_LEGACY(sha),
CRYPTO_LEGACY(pk),
CRYPTO_LEGACY(dh),
CRYPTO_LEGACY(s2k),
- CRYPTO_LEGACY(aes_iv),
+ { "aes_iv_AES", test_crypto_aes_iv, TT_FORK, &pass_data, (void*)"aes" },
+ { "aes_iv_EVP", test_crypto_aes_iv, TT_FORK, &pass_data, (void*)"evp" },
CRYPTO_LEGACY(base32_decode),
END_OF_TESTCASES
};
diff --git a/src/test/test_dir.c b/src/test/test_dir.c
index 205d7b577..0ed54c33d 100644
--- a/src/test/test_dir.c
+++ b/src/test/test_dir.c
@@ -76,7 +76,7 @@ test_dir_formats(void)
char *pk1_str = NULL, *pk2_str = NULL, *pk3_str = NULL, *cp;
size_t pk1_str_len, pk2_str_len, pk3_str_len;
routerinfo_t *r1=NULL, *r2=NULL;
- crypto_pk_env_t *pk1 = NULL, *pk2 = NULL, *pk3 = NULL;
+ crypto_pk_t *pk1 = NULL, *pk2 = NULL, *pk3 = NULL;
routerinfo_t *rp1 = NULL;
addr_policy_t *ex1, *ex2;
routerlist_t *dir1 = NULL, *dir2 = NULL;
@@ -96,6 +96,8 @@ test_dir_formats(void)
r1->cache_info.published_on = 0;
r1->or_port = 9000;
r1->dir_port = 9003;
+ tor_addr_parse(&r1->ipv6_addr, "1:2:3:4::");
+ r1->ipv6_orport = 9999;
r1->onion_pkey = crypto_pk_dup_key(pk1);
r1->identity_pkey = crypto_pk_dup_key(pk2);
r1->bandwidthrate = 1000;
@@ -125,7 +127,7 @@ test_dir_formats(void)
r2->onion_pkey = crypto_pk_dup_key(pk2);
r2->identity_pkey = crypto_pk_dup_key(pk1);
r2->bandwidthrate = r2->bandwidthburst = r2->bandwidthcapacity = 3000;
- r2->exit_policy = smartlist_create();
+ r2->exit_policy = smartlist_new();
smartlist_add(r2->exit_policy, ex2);
smartlist_add(r2->exit_policy, ex1);
r2->nickname = tor_strdup("Fred");
@@ -141,6 +143,7 @@ test_dir_formats(void)
test_assert(router_dump_router_to_string(buf, 2048, r1, pk2)>0);
strlcpy(buf2, "router Magri 18.244.0.1 9000 0 9003\n"
+ "or-address [1:2:3:4::]:9999\n"
"platform Tor "VERSION" on ", sizeof(buf2));
strlcat(buf2, get_uname(), sizeof(buf2));
strlcat(buf2, "\n"
@@ -210,7 +213,7 @@ test_dir_formats(void)
/* Okay, now for the directories. */
{
- fingerprint_list = smartlist_create();
+ fingerprint_list = smartlist_new();
crypto_pk_get_fingerprint(pk2, buf, 1);
add_fingerprint_to_dir("Magri", buf, fingerprint_list);
crypto_pk_get_fingerprint(pk1, buf, 1);
@@ -247,9 +250,9 @@ test_dir_formats(void)
tor_free(pk1_str);
tor_free(pk2_str);
tor_free(pk3_str);
- if (pk1) crypto_free_pk_env(pk1);
- if (pk2) crypto_free_pk_env(pk2);
- if (pk3) crypto_free_pk_env(pk3);
+ if (pk1) crypto_pk_free(pk1);
+ if (pk2) crypto_pk_free(pk2);
+ if (pk3) crypto_pk_free(pk3);
if (rp1) routerinfo_free(rp1);
tor_free(dir1); /* XXXX And more !*/
tor_free(dir2); /* And more !*/
@@ -302,7 +305,7 @@ test_dir_versions(void)
#define tt_versionstatus_op(vs1, op, vs2) \
tt_assert_test_type(vs1,vs2,#vs1" "#op" "#vs2,version_status_t, \
- (_val1 op _val2),"%d",TT_EXIT_TEST_FUNCTION)
+ (val1_ op val2_),"%d",TT_EXIT_TEST_FUNCTION)
#define test_v_i_o(val, ver, lst) \
tt_versionstatus_op(val, ==, tor_version_is_obsolete(ver, lst))
@@ -375,7 +378,7 @@ test_dir_versions(void)
static void
test_dir_fp_pairs(void)
{
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
fp_pair_t *pair;
dir_split_resource_into_fingerprint_pairs(
@@ -403,7 +406,7 @@ test_dir_fp_pairs(void)
static void
test_dir_split_fps(void *testdata)
{
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
char *mem_op_hex_tmp = NULL;
(void)testdata;
@@ -591,7 +594,7 @@ static void
test_dir_param_voting(void)
{
networkstatus_t vote1, vote2, vote3, vote4;
- smartlist_t *votes = smartlist_create();
+ smartlist_t *votes = smartlist_new();
char *res = NULL;
/* dirvote_compute_params only looks at the net_params field of the votes,
@@ -601,10 +604,10 @@ test_dir_param_voting(void)
memset(&vote2, 0, sizeof(vote2));
memset(&vote3, 0, sizeof(vote3));
memset(&vote4, 0, sizeof(vote4));
- vote1.net_params = smartlist_create();
- vote2.net_params = smartlist_create();
- vote3.net_params = smartlist_create();
- vote4.net_params = smartlist_create();
+ vote1.net_params = smartlist_new();
+ vote2.net_params = smartlist_new();
+ vote3.net_params = smartlist_new();
+ vote4.net_params = smartlist_new();
smartlist_split_string(vote1.net_params,
"ab=90 abcd=20 cw=50 x-yz=-99", NULL, 0, 0);
smartlist_split_string(vote2.net_params,
@@ -620,13 +623,81 @@ test_dir_param_voting(void)
test_eq(0, networkstatus_get_param(&vote4, "foobar", 0, -100, 8));
smartlist_add(votes, &vote1);
+
+ /* Do the first tests without adding all the other votes, for
+ * networks without many dirauths. */
+
+ res = dirvote_compute_params(votes, 11, 6);
+ test_streq(res, "ab=90 abcd=20 cw=50 x-yz=-99");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 2);
+ test_streq(res, "");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 1);
+ test_streq(res, "ab=90 abcd=20 cw=50 x-yz=-99");
+ tor_free(res);
+
smartlist_add(votes, &vote2);
+
+ res = dirvote_compute_params(votes, 11, 2);
+ test_streq(res, "ab=27 abcd=20 cw=5 x-yz=-99");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 2);
+ test_streq(res, "ab=27 cw=5 x-yz=-99");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 3);
+ test_streq(res, "ab=27 cw=5 x-yz=-99");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 6);
+ test_streq(res, "");
+ tor_free(res);
+
smartlist_add(votes, &vote3);
+
+ res = dirvote_compute_params(votes, 11, 3);
+ test_streq(res, "ab=27 abcd=20 c=60 cw=50 x-yz=-9 zzzzz=101");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 3);
+ test_streq(res, "ab=27 abcd=20 cw=50 x-yz=-9");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 5);
+ test_streq(res, "cw=50 x-yz=-9");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 9);
+ test_streq(res, "cw=50 x-yz=-9");
+ tor_free(res);
+
smartlist_add(votes, &vote4);
- res = dirvote_compute_params(votes);
- test_streq(res,
- "ab=90 abcd=20 c=1 cw=50 x-yz=-9 zzzzz=101");
+ res = dirvote_compute_params(votes, 11, 4);
+ test_streq(res, "ab=90 abcd=20 c=1 cw=50 x-yz=-9 zzzzz=101");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 4);
+ test_streq(res, "ab=90 abcd=20 cw=50 x-yz=-9");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 5);
+ test_streq(res, "ab=90 abcd=20 cw=50 x-yz=-9");
+ tor_free(res);
+
+ /* Test that the special-cased "at least three dirauths voted for
+ * this param" logic works as expected. */
+ res = dirvote_compute_params(votes, 12, 6);
+ test_streq(res, "ab=90 abcd=20 cw=50 x-yz=-9");
+ tor_free(res);
+
+ res = dirvote_compute_params(votes, 12, 10);
+ test_streq(res, "ab=90 abcd=20 cw=50 x-yz=-9");
+ tor_free(res);
done:
tor_free(res);
@@ -688,7 +759,7 @@ generate_ri_from_rs(const vote_routerstatus_t *vrs)
tor_strdup("123456789012345678901234567890123");
r->cache_info.signed_descriptor_len =
strlen(r->cache_info.signed_descriptor_body);
- r->exit_policy = smartlist_create();
+ r->exit_policy = smartlist_new();
r->cache_info.published_on = ++published + time(NULL);
return r;
}
@@ -701,7 +772,7 @@ get_detached_sigs(networkstatus_t *ns, networkstatus_t *ns2)
char *r;
smartlist_t *sl;
tor_assert(ns && ns->flavor == FLAV_NS);
- sl = smartlist_create();
+ sl = smartlist_new();
smartlist_add(sl,ns);
if (ns2)
smartlist_add(sl,ns2);
@@ -716,8 +787,8 @@ static void
test_dir_v3_networkstatus(void)
{
authority_cert_t *cert1=NULL, *cert2=NULL, *cert3=NULL;
- crypto_pk_env_t *sign_skey_1=NULL, *sign_skey_2=NULL, *sign_skey_3=NULL;
- crypto_pk_env_t *sign_skey_leg1=NULL;
+ crypto_pk_t *sign_skey_1=NULL, *sign_skey_2=NULL, *sign_skey_3=NULL;
+ crypto_pk_t *sign_skey_leg1=NULL;
const char *msg=NULL;
time_t now = time(NULL);
@@ -728,7 +799,7 @@ test_dir_v3_networkstatus(void)
vote_routerstatus_t *vrs;
routerstatus_t *rs;
char *v1_text=NULL, *v2_text=NULL, *v3_text=NULL, *consensus_text=NULL, *cp;
- smartlist_t *votes = smartlist_create();
+ smartlist_t *votes = smartlist_new();
/* For generating the two other consensuses. */
char *detached_text1=NULL, *detached_text2=NULL;
@@ -746,9 +817,9 @@ test_dir_v3_networkstatus(void)
test_assert(cert2);
cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, NULL);
test_assert(cert3);
- sign_skey_1 = crypto_new_pk_env();
- sign_skey_2 = crypto_new_pk_env();
- sign_skey_3 = crypto_new_pk_env();
+ sign_skey_1 = crypto_pk_new();
+ sign_skey_2 = crypto_pk_new();
+ sign_skey_3 = crypto_pk_new();
sign_skey_leg1 = pk_generate(4);
test_assert(!crypto_pk_read_private_key_from_string(sign_skey_1,
@@ -772,15 +843,15 @@ test_dir_v3_networkstatus(void)
vote->valid_until = now+3000;
vote->vote_seconds = 100;
vote->dist_seconds = 200;
- vote->supported_methods = smartlist_create();
+ vote->supported_methods = smartlist_new();
smartlist_split_string(vote->supported_methods, "1 2 3", NULL, 0, -1);
vote->client_versions = tor_strdup("0.1.2.14,0.1.2.15");
vote->server_versions = tor_strdup("0.1.2.14,0.1.2.15,0.1.2.16");
- vote->known_flags = smartlist_create();
+ vote->known_flags = smartlist_new();
smartlist_split_string(vote->known_flags,
"Authority Exit Fast Guard Running Stable V2Dir Valid",
0, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0);
- vote->voters = smartlist_create();
+ vote->voters = smartlist_new();
voter = tor_malloc_zero(sizeof(networkstatus_voter_info_t));
voter->nickname = tor_strdup("Voter1");
voter->address = tor_strdup("1.2.3.4");
@@ -791,10 +862,10 @@ test_dir_v3_networkstatus(void)
crypto_pk_get_digest(cert1->identity_key, voter->identity_digest);
smartlist_add(vote->voters, voter);
vote->cert = authority_cert_dup(cert1);
- vote->net_params = smartlist_create();
+ vote->net_params = smartlist_new();
smartlist_split_string(vote->net_params, "circuitwindow=101 foo=990",
NULL, 0, 0);
- vote->routerstatus_list = smartlist_create();
+ vote->routerstatus_list = smartlist_new();
/* add the first routerstatus. */
vrs = tor_malloc_zero(sizeof(vote_routerstatus_t));
rs = &vrs->status;
@@ -936,7 +1007,7 @@ test_dir_v3_networkstatus(void)
vote->dist_seconds = 300;
authority_cert_free(vote->cert);
vote->cert = authority_cert_dup(cert2);
- vote->net_params = smartlist_create();
+ vote->net_params = smartlist_new();
smartlist_split_string(vote->net_params, "bar=2000000000 circuitwindow=20",
NULL, 0, 0);
tor_free(vote->client_versions);
@@ -977,7 +1048,7 @@ test_dir_v3_networkstatus(void)
vote->dist_seconds = 250;
authority_cert_free(vote->cert);
vote->cert = authority_cert_dup(cert3);
- vote->net_params = smartlist_create();
+ vote->net_params = smartlist_new();
smartlist_split_string(vote->net_params, "circuitwindow=80 foo=660",
NULL, 0, 0);
smartlist_add(vote->supported_methods, tor_strdup("4"));
@@ -1049,7 +1120,7 @@ test_dir_v3_networkstatus(void)
"Running:Stable:V2Dir:Valid");
tor_free(cp);
cp = smartlist_join_strings(con->net_params, ":", 0, NULL);
- test_streq(cp, "bar=2000000000:circuitwindow=80:foo=660");
+ test_streq(cp, "circuitwindow=80:foo=660");
tor_free(cp);
test_eq(4, smartlist_len(con->voters)); /*3 voters, 1 legacy key.*/
@@ -1213,9 +1284,11 @@ test_dir_v3_networkstatus(void)
/* Try adding it to con2. */
detached_text2 = get_detached_sigs(con2,con_md2);
- test_eq(1, networkstatus_add_detached_signatures(con2, dsig1, &msg));
+ test_eq(1, networkstatus_add_detached_signatures(con2, dsig1, "test",
+ LOG_INFO, &msg));
tor_free(detached_text2);
- test_eq(1, networkstatus_add_detached_signatures(con_md2, dsig1, &msg));
+ test_eq(1, networkstatus_add_detached_signatures(con_md2, dsig1, "test",
+ LOG_INFO, &msg));
tor_free(detached_text2);
detached_text2 = get_detached_sigs(con2,con_md2);
//printf("\n<%s>\n", detached_text2);
@@ -1236,10 +1309,12 @@ test_dir_v3_networkstatus(void)
"microdesc")));
/* Try adding to con2 twice; verify that nothing changes. */
- test_eq(0, networkstatus_add_detached_signatures(con2, dsig1, &msg));
+ test_eq(0, networkstatus_add_detached_signatures(con2, dsig1, "test",
+ LOG_INFO, &msg));
/* Add to con. */
- test_eq(2, networkstatus_add_detached_signatures(con, dsig2, &msg));
+ test_eq(2, networkstatus_add_detached_signatures(con, dsig2, "test",
+ LOG_INFO, &msg));
/* Check signatures */
voter = smartlist_get(con->voters, 1);
sig = smartlist_get(voter->sigs, 0);
@@ -1272,13 +1347,13 @@ test_dir_v3_networkstatus(void)
if (con_md)
networkstatus_vote_free(con_md);
if (sign_skey_1)
- crypto_free_pk_env(sign_skey_1);
+ crypto_pk_free(sign_skey_1);
if (sign_skey_2)
- crypto_free_pk_env(sign_skey_2);
+ crypto_pk_free(sign_skey_2);
if (sign_skey_3)
- crypto_free_pk_env(sign_skey_3);
+ crypto_pk_free(sign_skey_3);
if (sign_skey_leg1)
- crypto_free_pk_env(sign_skey_leg1);
+ crypto_pk_free(sign_skey_leg1);
if (cert1)
authority_cert_free(cert1);
if (cert2)
diff --git a/src/test/test_microdesc.c b/src/test/test_microdesc.c
index b807265c8..9326c035f 100644
--- a/src/test/test_microdesc.c
+++ b/src/test/test_microdesc.c
@@ -9,7 +9,7 @@
#include "test.h"
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/* For mkdir() */
#include <direct.h>
#else
@@ -66,7 +66,7 @@ test_md_cache(void *data)
/* Possibly, turn this into a test setup/cleanup pair */
tor_free(options->DataDirectory);
options->DataDirectory = tor_strdup(get_fname("md_datadir_test"));
-#ifdef MS_WINDOWS
+#ifdef _WIN32
tt_int_op(0, ==, mkdir(options->DataDirectory));
#else
tt_int_op(0, ==, mkdir(options->DataDirectory, 0700));
@@ -88,7 +88,7 @@ test_md_cache(void *data)
smartlist_free(added);
added = NULL;
- wanted = smartlist_create();
+ wanted = smartlist_new();
added = microdescs_add_to_cache(mc, test_md2, NULL, SAVED_NOWHERE, 0,
time2, wanted);
/* Should fail, since we didn't list test_md2's digest in wanted */
diff --git a/src/test/test_pt.c b/src/test/test_pt.c
index f97b21fa0..9d6aa09f0 100644
--- a/src/test/test_pt.c
+++ b/src/test/test_pt.c
@@ -25,7 +25,7 @@ test_pt_parsing(void)
managed_proxy_t *mp = tor_malloc(sizeof(managed_proxy_t));
mp->conf_state = PT_PROTO_INFANT;
- mp->transports = smartlist_create();
+ mp->transports = smartlist_new();
/* incomplete cmethod */
strcpy(line,"CMETHOD trebuchet");
@@ -91,9 +91,9 @@ test_pt_protocol(void)
{
char line[200];
- managed_proxy_t *mp = tor_malloc(sizeof(managed_proxy_t));
+ managed_proxy_t *mp = tor_malloc_zero(sizeof(managed_proxy_t));
mp->conf_state = PT_PROTO_LAUNCHED;
- mp->transports = smartlist_create();
+ mp->transports = smartlist_new();
/* various wrong protocol runs: */
diff --git a/src/test/test_util.c b/src/test/test_util.c
index 6603ab00d..c7540e81a 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -19,9 +19,10 @@ test_util_time(void)
{
struct timeval start, end;
struct tm a_time;
- char timestr[RFC1123_TIME_LEN+1];
+ char timestr[128];
time_t t_res;
int i;
+ struct timeval tv;
start.tv_sec = 5;
start.tv_usec = 5000;
@@ -83,6 +84,24 @@ test_util_time(void)
/* We might've timewarped a little. */
tt_int_op(tv_udiff(&start, &end), >=, -5000);
+ /* Now let's check some format_iso_time variants */
+ tv.tv_sec = (time_t)1326296338;
+ tv.tv_usec = 3060;
+ format_iso_time(timestr, tv.tv_sec);
+ test_streq("2012-01-11 15:38:58", timestr);
+ /* The output of format_local_iso_time will vary by timezone, and setting
+ our timezone for testing purposes would be a nontrivial flaky pain.
+ Skip this test for now.
+ format_local_iso_time(timestr, tv.tv_sec);
+ test_streq("2012-01-11 10:38:58", timestr);
+ */
+ format_iso_time_nospace(timestr, tv.tv_sec);
+ test_streq("2012-01-11T15:38:58", timestr);
+ test_eq(strlen(timestr), ISO_TIME_LEN);
+ format_iso_time_nospace_usec(timestr, &tv);
+ test_streq("2012-01-11T15:38:58.003060", timestr);
+ test_eq(strlen(timestr), ISO_TIME_USEC_LEN);
+
done:
;
}
@@ -363,16 +382,6 @@ test_util_strmisc(void)
test_assert(!tor_strisprint(cp));
tor_free(cp);
- /* Test eat_whitespace. */
- {
- const char *s = " \n a";
- test_eq_ptr(eat_whitespace(s), s+4);
- s = "abcd";
- test_eq_ptr(eat_whitespace(s), s);
- s = "#xyz\nab";
- test_eq_ptr(eat_whitespace(s), s+5);
- }
-
/* Test memmem and memstr */
{
const char *haystack = "abcde";
@@ -388,7 +397,7 @@ test_util_strmisc(void)
/* Test wrap_string */
{
- smartlist_t *sl = smartlist_create();
+ smartlist_t *sl = smartlist_new();
wrap_string(sl, "This is a test of string wrapping functionality: woot.",
10, "", "");
cp = smartlist_join_strings(sl, "", 0, NULL);
@@ -409,6 +418,20 @@ test_util_strmisc(void)
SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp));
smartlist_free(sl);
}
+
+ /* Test hex_str */
+ {
+ char binary_data[64];
+ size_t i;
+ for (i = 0; i < sizeof(binary_data); ++i)
+ binary_data[i] = i;
+ test_streq(hex_str(binary_data, 0), "");
+ test_streq(hex_str(binary_data, 1), "00");
+ test_streq(hex_str(binary_data, 17), "000102030405060708090A0B0C0D0E0F10");
+ test_streq(hex_str(binary_data, 32),
+ "000102030405060708090A0B0C0D0E0F"
+ "101112131415161718191A1B1C1D1E1F");
+ }
done:
;
}
@@ -507,7 +530,7 @@ test_util_threads(void)
char *s1 = NULL, *s2 = NULL;
int done = 0, timedout = 0;
time_t started;
-#ifndef MS_WINDOWS
+#ifndef _WIN32
struct timeval tv;
tv.tv_sec=0;
tv.tv_usec=10;
@@ -541,7 +564,7 @@ test_util_threads(void)
timedout = done = 1;
}
tor_mutex_release(_thread_test_mutex);
-#ifndef MS_WINDOWS
+#ifndef _WIN32
/* Prevent the main thread from starving the worker threads. */
select(0, NULL, NULL, NULL, &tv);
#endif
@@ -712,7 +735,7 @@ test_util_mmap(void)
test_assert(mapping);
test_eq(mapping->size, strlen("Short file."));
test_streq(mapping->data, "Short file.");
-#ifdef MS_WINDOWS
+#ifdef _WIN32
tor_munmap_file(mapping);
mapping = NULL;
test_assert(unlink(fname1) == 0);
@@ -905,7 +928,7 @@ test_util_mempool(void)
test_eq(pool->item_alloc_size & 0x03, 0);
test_assert(pool->new_chunk_capacity < 60);
- allocated = smartlist_create();
+ allocated = smartlist_new();
for (i = 0; i < 20000; ++i) {
if (smartlist_len(allocated) < 20 || crypto_rand_int(2)) {
void *m = mp_pool_get(pool);
@@ -1237,7 +1260,7 @@ test_util_parent_dir(void *ptr)
tor_free(cp);
}
-#ifdef MS_WINDOWS
+#ifdef _WIN32
static void
test_util_load_win_lib(void *ptr)
{
@@ -1289,7 +1312,7 @@ test_util_exit_status(void *ptr)
;
}
-#ifndef MS_WINDOWS
+#ifndef _WIN32
/** Check that fgets waits until a full line, and not return a partial line, on
* a EAGAIN with a non-blocking pipe */
static void
@@ -1384,27 +1407,29 @@ run_util_spawn_background(const char *argv[], const char *expected_out,
{
int retval, exit_code;
ssize_t pos;
- process_handle_t process_handle;
+ process_handle_t *process_handle=NULL;
char stdout_buf[100], stderr_buf[100];
+ int status;
/* Start the program */
-#ifdef MS_WINDOWS
- tor_spawn_background(NULL, argv, NULL, &process_handle);
+#ifdef _WIN32
+ status = tor_spawn_background(NULL, argv, NULL, &process_handle);
#else
- tor_spawn_background(argv[0], argv, NULL, &process_handle);
+ status = tor_spawn_background(argv[0], argv, NULL, &process_handle);
#endif
- tt_int_op(process_handle.status, ==, expected_status);
-
- /* If the process failed to start, don't bother continuing */
- if (process_handle.status == PROCESS_STATUS_ERROR)
+ tt_int_op(status, ==, expected_status);
+ if (status == PROCESS_STATUS_ERROR)
return;
- tt_int_op(process_handle.stdout_pipe, >, 0);
- tt_int_op(process_handle.stderr_pipe, >, 0);
+ tt_assert(process_handle != NULL);
+ tt_int_op(process_handle->status, ==, expected_status);
+
+ tt_int_op(process_handle->stdout_pipe, >, 0);
+ tt_int_op(process_handle->stderr_pipe, >, 0);
/* Check stdout */
- pos = tor_read_all_from_process_stdout(&process_handle, stdout_buf,
+ pos = tor_read_all_from_process_stdout(process_handle, stdout_buf,
sizeof(stdout_buf) - 1);
tt_assert(pos >= 0);
stdout_buf[pos] = '\0';
@@ -1418,7 +1443,7 @@ run_util_spawn_background(const char *argv[], const char *expected_out,
// TODO: Make test-child exit with something other than 0
/* Check stderr */
- pos = tor_read_all_from_process_stderr(&process_handle, stderr_buf,
+ pos = tor_read_all_from_process_stderr(process_handle, stderr_buf,
sizeof(stderr_buf) - 1);
tt_assert(pos >= 0);
stderr_buf[pos] = '\0';
@@ -1426,14 +1451,15 @@ run_util_spawn_background(const char *argv[], const char *expected_out,
tt_int_op(pos, ==, strlen(expected_err));
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)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
const char *argv[] = {"test-child.exe", "--test", NULL};
const char *expected_out = "OUT\r\n--test\r\nSLEEPING\r\nDONE\r\n";
const char *expected_err = "ERR\r\n";
@@ -1453,17 +1479,13 @@ test_util_spawn_background_ok(void *ptr)
static void
test_util_spawn_background_fail(void *ptr)
{
-#ifdef MS_WINDOWS
const char *argv[] = {BUILDDIR "/src/test/no-such-file", "--test", NULL};
- const char *expected_out = "ERR: Failed to spawn background process "
- "- code 9/2\n";
const char *expected_err = "";
+ char expected_out[1024];
+ char code[32];
+#ifdef _WIN32
const int expected_status = PROCESS_STATUS_ERROR;
#else
- const char *argv[] = {BUILDDIR "/src/test/no-such-file", "--test", NULL};
- const char *expected_out = "ERR: Failed to spawn background process "
- "- code 9/2\n";
- const char *expected_err = "";
/* TODO: Once we can signal failure to exec, set this to be
* PROCESS_STATUS_ERROR */
const int expected_status = PROCESS_STATUS_RUNNING;
@@ -1471,6 +1493,11 @@ test_util_spawn_background_fail(void *ptr)
(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 %12s\n", code);
+
run_util_spawn_background(argv, expected_out, expected_err, 255,
expected_status);
}
@@ -1485,9 +1512,10 @@ test_util_spawn_background_partial_read(void *ptr)
int retval, exit_code;
ssize_t pos = -1;
- process_handle_t process_handle;
+ process_handle_t *process_handle=NULL;
+ int status;
char stdout_buf[100], stderr_buf[100];
-#ifdef MS_WINDOWS
+#ifdef _WIN32
const char *argv[] = {"test-child.exe", "--test", NULL};
const char *expected_out[] = { "OUT\r\n--test\r\nSLEEPING\r\n",
"DONE\r\n",
@@ -1505,22 +1533,24 @@ test_util_spawn_background_partial_read(void *ptr)
(void)ptr;
/* Start the program */
-#ifdef MS_WINDOWS
- tor_spawn_background(NULL, argv, NULL, &process_handle);
+#ifdef _WIN32
+ status = tor_spawn_background(NULL, argv, NULL, &process_handle);
#else
- tor_spawn_background(argv[0], argv, NULL, &process_handle);
+ status = tor_spawn_background(argv[0], argv, NULL, &process_handle);
#endif
- tt_int_op(process_handle.status, ==, expected_status);
+ tt_int_op(status, ==, expected_status);
+ tt_assert(process_handle);
+ tt_int_op(process_handle->status, ==, expected_status);
/* Check stdout */
- for (expected_out_ctr =0; expected_out[expected_out_ctr] != NULL;) {
-#ifdef MS_WINDOWS
- pos = tor_read_all_handle(process_handle.stdout_pipe, stdout_buf,
+ 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_handle, stdout_buf,
+ pos = tor_read_all_handle(process_handle->stdout_handle, stdout_buf,
sizeof(stdout_buf) - 1, NULL, &eof);
#endif
log_info(LD_GENERAL, "tor_read_all_handle() returned %d", (int)pos);
@@ -1537,17 +1567,17 @@ test_util_spawn_background_partial_read(void *ptr)
}
/* The process should have exited without writing more */
-#ifdef MS_WINDOWS
- pos = tor_read_all_handle(process_handle.stdout_pipe, stdout_buf,
+#ifdef _WIN32
+ pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf,
sizeof(stdout_buf) - 1,
- &process_handle);
+ process_handle);
tt_int_op(pos, ==, 0);
#else
if (!eof) {
/* We should have got all the data, but maybe not the EOF flag */
- pos = tor_read_all_handle(process_handle.stdout_handle, stdout_buf,
+ pos = tor_read_all_handle(process_handle->stdout_handle, stdout_buf,
sizeof(stdout_buf) - 1,
- &process_handle, &eof);
+ process_handle, &eof);
tt_int_op(pos, ==, 0);
tt_assert(eof);
}
@@ -1562,7 +1592,7 @@ test_util_spawn_background_partial_read(void *ptr)
// TODO: Make test-child exit with something other than 0
/* Check stderr */
- pos = tor_read_all_from_process_stderr(&process_handle, stderr_buf,
+ pos = tor_read_all_from_process_stderr(process_handle, stderr_buf,
sizeof(stderr_buf) - 1);
tt_assert(pos >= 0);
stderr_buf[pos] = '\0';
@@ -1570,7 +1600,7 @@ test_util_spawn_background_partial_read(void *ptr)
tt_int_op(pos, ==, strlen(expected_err));
done:
- ;
+ tor_process_handle_destroy(process_handle, 1);
}
/**
@@ -1593,7 +1623,7 @@ test_util_join_win_cmdline(void *ptr)
{"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
- {} // Terminator
+ { NULL } // Terminator
};
const char *cmdlines[] = {
@@ -1645,17 +1675,17 @@ test_util_split_lines(void *ptr)
{"\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}},
- {NULL, 0, {}}
+ {NULL, 0, { NULL }}
};
int i, j;
- char *orig_line;
- smartlist_t *sl;
+ char *orig_line=NULL;
+ smartlist_t *sl=NULL;
(void)ptr;
for (i=0; tests[i].orig_line; i++) {
- sl = smartlist_create();
+ 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);
@@ -1679,10 +1709,12 @@ test_util_split_lines(void *ptr)
tt_assert(tests[i].split_line[j] == NULL);
tor_free(orig_line);
smartlist_free(sl);
+ sl = NULL;
}
done:
- ;
+ tor_free(orig_line);
+ smartlist_free(sl);
}
static void
@@ -1738,6 +1770,332 @@ test_util_di_ops(void)
;
}
+/**
+ * Test counting high bits
+ */
+static void
+test_util_n_bits_set(void *ptr)
+{
+ (void)ptr;
+ test_eq(n_bits_set_u8(0), 0);
+ test_eq(n_bits_set_u8(1), 1);
+ test_eq(n_bits_set_u8(129), 2);
+ test_eq(n_bits_set_u8(255), 8);
+ done:
+ ;
+}
+
+/**
+ * Test LHS whitespace (and comment) eater
+ */
+static void
+test_util_eat_whitespace(void *ptr)
+{
+ const char ws[] = { ' ', '\t', '\r' }; /* Except NL */
+ char str[80];
+ size_t i;
+
+ (void)ptr;
+
+ /* Try one leading ws */
+ strcpy(str, "fuubaar");
+ for (i = 0; i < sizeof(ws); ++i) {
+ str[0] = ws[i];
+ test_streq(eat_whitespace(str), str + 1);
+ test_streq(eat_whitespace_eos(str, str + strlen(str)), str + 1);
+ test_streq(eat_whitespace_eos_no_nl(str, str + strlen(str)), str + 1);
+ test_streq(eat_whitespace_no_nl(str), str + 1);
+ }
+ str[0] = '\n';
+ test_streq(eat_whitespace(str), str + 1);
+ test_streq(eat_whitespace_eos(str, str + strlen(str)), str + 1);
+
+ /* Empty string */
+ strcpy(str, "");
+ test_eq_ptr(eat_whitespace(str), str);
+ test_eq_ptr(eat_whitespace_eos(str, str), str);
+ test_eq_ptr(eat_whitespace_eos_no_nl(str, str), str);
+ test_eq_ptr(eat_whitespace_no_nl(str), str);
+
+ /* Only ws */
+ strcpy(str, " \t\r\n");
+ test_eq_ptr(eat_whitespace(str), str + strlen(str));
+ test_eq_ptr(eat_whitespace_eos(str, str + strlen(str)), str + strlen(str));
+
+ strcpy(str, " \t\r ");
+ test_eq_ptr(eat_whitespace_no_nl(str), str + strlen(str));
+ test_eq_ptr(eat_whitespace_eos_no_nl(str, str + strlen(str)),
+ str + strlen(str));
+
+ /* Multiple ws */
+ strcpy(str, "fuubaar");
+ for (i = 0; i < sizeof(ws); ++i)
+ str[i] = ws[i];
+ test_streq(eat_whitespace(str), str + sizeof(ws));
+ test_streq(eat_whitespace_eos(str, str + strlen(str)), str + sizeof(ws));
+ test_streq(eat_whitespace_no_nl(str), str + sizeof(ws));
+ test_streq(eat_whitespace_eos_no_nl(str, str + strlen(str)),
+ str + sizeof(ws));
+
+ /* Eat comment */
+ strcpy(str, "# Comment \n No Comment");
+ test_streq(eat_whitespace(str), "No Comment");
+ test_streq(eat_whitespace_eos(str, str + strlen(str)), "No Comment");
+
+ /* Eat comment & ws mix */
+ strcpy(str, " # \t Comment \n\t\nNo Comment");
+ test_streq(eat_whitespace(str), "No Comment");
+ test_streq(eat_whitespace_eos(str, str + strlen(str)), "No Comment");
+
+ /* Eat entire comment */
+ strcpy(str, "#Comment");
+ test_eq_ptr(eat_whitespace(str), str + strlen(str));
+ test_eq_ptr(eat_whitespace_eos(str, str + strlen(str)), str + strlen(str));
+
+ done:
+ ;
+}
+
+/** Return a newly allocated smartlist containing the lines of text in
+ * <b>lines</b>. The returned strings are heap-allocated, and must be
+ * freed by the caller.
+ *
+ * XXXX? Move to container.[hc] ? */
+static smartlist_t *
+smartlist_new_from_text_lines(const char *lines)
+{
+ smartlist_t *sl = smartlist_new();
+ char *last_line;
+
+ smartlist_split_string(sl, lines, "\n", 0, 0);
+
+ last_line = smartlist_pop_last(sl);
+ if (last_line != NULL && *last_line != '\0') {
+ smartlist_add(sl, last_line);
+ }
+
+ return sl;
+}
+
+/** Test smartlist_new_from_text_lines */
+static void
+test_util_sl_new_from_text_lines(void *ptr)
+{
+ (void)ptr;
+
+ { /* Normal usage */
+ smartlist_t *sl = smartlist_new_from_text_lines("foo\nbar\nbaz\n");
+ int sl_len = smartlist_len(sl);
+
+ tt_want_int_op(sl_len, ==, 3);
+
+ if (sl_len > 0) tt_want_str_op(smartlist_get(sl, 0), ==, "foo");
+ if (sl_len > 1) tt_want_str_op(smartlist_get(sl, 1), ==, "bar");
+ if (sl_len > 2) tt_want_str_op(smartlist_get(sl, 2), ==, "baz");
+
+ SMARTLIST_FOREACH(sl, void *, x, tor_free(x));
+ smartlist_free(sl);
+ }
+
+ { /* No final newline */
+ smartlist_t *sl = smartlist_new_from_text_lines("foo\nbar\nbaz");
+ int sl_len = smartlist_len(sl);
+
+ tt_want_int_op(sl_len, ==, 3);
+
+ if (sl_len > 0) tt_want_str_op(smartlist_get(sl, 0), ==, "foo");
+ if (sl_len > 1) tt_want_str_op(smartlist_get(sl, 1), ==, "bar");
+ if (sl_len > 2) tt_want_str_op(smartlist_get(sl, 2), ==, "baz");
+
+ SMARTLIST_FOREACH(sl, void *, x, tor_free(x));
+ smartlist_free(sl);
+ }
+
+ { /* No newlines */
+ smartlist_t *sl = smartlist_new_from_text_lines("foo");
+ int sl_len = smartlist_len(sl);
+
+ tt_want_int_op(sl_len, ==, 1);
+
+ if (sl_len > 0) tt_want_str_op(smartlist_get(sl, 0), ==, "foo");
+
+ SMARTLIST_FOREACH(sl, void *, x, tor_free(x));
+ smartlist_free(sl);
+ }
+
+ { /* No text at all */
+ smartlist_t *sl = smartlist_new_from_text_lines("");
+ int sl_len = smartlist_len(sl);
+
+ tt_want_int_op(sl_len, ==, 0);
+
+ SMARTLIST_FOREACH(sl, void *, x, tor_free(x));
+ smartlist_free(sl);
+ }
+}
+
+/** Test process_environment_make */
+static void
+test_util_make_environment(void *ptr)
+{
+ const char *env_vars_string =
+ "PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin\n"
+ "HOME=/home/foozer\n";
+ const char expected_windows_env_block[] =
+ "HOME=/home/foozer\000"
+ "PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin\000"
+ "\000";
+ size_t expected_windows_env_block_len =
+ sizeof(expected_windows_env_block) - 1;
+
+ smartlist_t *env_vars = smartlist_new_from_text_lines(env_vars_string);
+ smartlist_t *env_vars_sorted = smartlist_new();
+ smartlist_t *env_vars_in_unixoid_env_block_sorted = smartlist_new();
+
+ process_environment_t *env;
+
+ (void)ptr;
+
+ env = process_environment_make(env_vars);
+
+ /* Check that the Windows environment block is correct. */
+ tt_want(tor_memeq(expected_windows_env_block, env->windows_environment_block,
+ expected_windows_env_block_len));
+
+ /* Now for the Unixoid environment block. We don't care which order
+ * these environment variables are in, so we sort both lists first. */
+
+ smartlist_add_all(env_vars_sorted, env_vars);
+
+ {
+ char **v;
+ for (v = env->unixoid_environment_block; *v; ++v) {
+ smartlist_add(env_vars_in_unixoid_env_block_sorted, *v);
+ }
+ }
+
+ smartlist_sort_strings(env_vars_sorted);
+ smartlist_sort_strings(env_vars_in_unixoid_env_block_sorted);
+
+ tt_want_int_op(smartlist_len(env_vars_sorted), ==,
+ smartlist_len(env_vars_in_unixoid_env_block_sorted));
+ {
+ int len = smartlist_len(env_vars_sorted);
+ int i;
+
+ if (smartlist_len(env_vars_in_unixoid_env_block_sorted) < len) {
+ len = smartlist_len(env_vars_in_unixoid_env_block_sorted);
+ }
+
+ for (i = 0; i < len; ++i) {
+ tt_want_str_op(smartlist_get(env_vars_sorted, i), ==,
+ smartlist_get(env_vars_in_unixoid_env_block_sorted, i));
+ }
+ }
+
+ /* Clean up. */
+ smartlist_free(env_vars_in_unixoid_env_block_sorted);
+ smartlist_free(env_vars_sorted);
+
+ SMARTLIST_FOREACH(env_vars, char *, x, tor_free(x));
+ smartlist_free(env_vars);
+
+ process_environment_free(env);
+}
+
+/** Test set_environment_variable_in_smartlist */
+static void
+test_util_set_env_var_in_sl(void *ptr)
+{
+ /* The environment variables in these strings are in arbitrary
+ * order; we sort the resulting lists before comparing them.
+ *
+ * (They *will not* end up in the order shown in
+ * expected_resulting_env_vars_string.) */
+
+ const char *base_env_vars_string =
+ "PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin\n"
+ "HOME=/home/foozer\n"
+ "TERM=xterm\n"
+ "SHELL=/bin/ksh\n"
+ "USER=foozer\n"
+ "LOGNAME=foozer\n"
+ "USERNAME=foozer\n"
+ "LANG=en_US.utf8\n"
+ ;
+
+ const char *new_env_vars_string =
+ "TERM=putty\n"
+ "DISPLAY=:18.0\n"
+ ;
+
+ const char *expected_resulting_env_vars_string =
+ "PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/bin\n"
+ "HOME=/home/foozer\n"
+ "TERM=putty\n"
+ "SHELL=/bin/ksh\n"
+ "USER=foozer\n"
+ "LOGNAME=foozer\n"
+ "USERNAME=foozer\n"
+ "LANG=en_US.utf8\n"
+ "DISPLAY=:18.0\n"
+ ;
+
+ smartlist_t *merged_env_vars =
+ smartlist_new_from_text_lines(base_env_vars_string);
+ smartlist_t *new_env_vars =
+ smartlist_new_from_text_lines(new_env_vars_string);
+ smartlist_t *expected_resulting_env_vars =
+ smartlist_new_from_text_lines(expected_resulting_env_vars_string);
+
+ /* Elements of merged_env_vars are heap-allocated, and must be
+ * freed. Some of them are (or should) be freed by
+ * set_environment_variable_in_smartlist.
+ *
+ * Elements of new_env_vars are heap-allocated, but are copied into
+ * merged_env_vars, so they are not freed separately at the end of
+ * the function.
+ *
+ * Elements of expected_resulting_env_vars are heap-allocated, and
+ * must be freed. */
+
+ (void)ptr;
+
+ SMARTLIST_FOREACH(new_env_vars, char *, env_var,
+ set_environment_variable_in_smartlist(merged_env_vars,
+ env_var,
+ _tor_free,
+ 1));
+
+ smartlist_sort_strings(merged_env_vars);
+ smartlist_sort_strings(expected_resulting_env_vars);
+
+ tt_want_int_op(smartlist_len(merged_env_vars), ==,
+ smartlist_len(expected_resulting_env_vars));
+ {
+ int len = smartlist_len(merged_env_vars);
+ int i;
+
+ if (smartlist_len(expected_resulting_env_vars) < len) {
+ len = smartlist_len(expected_resulting_env_vars);
+ }
+
+ for (i = 0; i < len; ++i) {
+ tt_want_str_op(smartlist_get(merged_env_vars, i), ==,
+ smartlist_get(expected_resulting_env_vars, i));
+ }
+ }
+
+ /* Clean up. */
+ SMARTLIST_FOREACH(merged_env_vars, char *, x, tor_free(x));
+ smartlist_free(merged_env_vars);
+
+ smartlist_free(new_env_vars);
+
+ SMARTLIST_FOREACH(expected_resulting_env_vars, char *, x, tor_free(x));
+ smartlist_free(expected_resulting_env_vars);
+}
+
#define UTIL_LEGACY(name) \
{ #name, legacy_test_helper, 0, &legacy_setup, test_util_ ## name }
@@ -1763,11 +2121,11 @@ struct testcase_t util_tests[] = {
UTIL_TEST(asprintf, 0),
UTIL_TEST(listdir, 0),
UTIL_TEST(parent_dir, 0),
-#ifdef MS_WINDOWS
+#ifdef _WIN32
UTIL_TEST(load_win_lib, 0),
#endif
UTIL_TEST(exit_status, 0),
-#ifndef MS_WINDOWS
+#ifndef _WIN32
UTIL_TEST(fgets_eagain, TT_SKIP),
#endif
UTIL_TEST(spawn_background_ok, 0),
@@ -1775,6 +2133,11 @@ struct testcase_t util_tests[] = {
UTIL_TEST(spawn_background_partial_read, 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),
+ UTIL_TEST(make_environment, 0),
+ UTIL_TEST(set_env_var_in_sl, 0),
END_OF_TESTCASES
};
diff --git a/src/test/tinytest.c b/src/test/tinytest.c
index 8caa4f545..4d9afacce 100644
--- a/src/test/tinytest.c
+++ b/src/test/tinytest.c
@@ -1,4 +1,4 @@
-/* tinytest.c -- Copyright 2009-2010 Nick Mathewson
+/* tinytest.c -- Copyright 2009-2012 Nick Mathewson
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -22,16 +22,15 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifdef TINYTEST_LOCAL
+#include "tinytest_local.h"
+#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
-#ifdef TINYTEST_LOCAL
-#include "tinytest_local.h"
-#endif
-
#ifdef _WIN32
#include <windows.h>
#else
@@ -66,15 +65,15 @@ const char *cur_test_prefix = NULL; /**< prefix of the current test group */
const char *cur_test_name = NULL;
#ifdef _WIN32
-/** Pointer to argv[0] for win32. */
-static const char *commandname = NULL;
+/* Copy of argv[0] for win32. */
+static char commandname[MAX_PATH+1];
#endif
static void usage(struct testgroup_t *groups, int list_groups)
__attribute__((noreturn));
static enum outcome
-_testcase_run_bare(const struct testcase_t *testcase)
+testcase_run_bare_(const struct testcase_t *testcase)
{
void *env = NULL;
int outcome;
@@ -101,7 +100,7 @@ _testcase_run_bare(const struct testcase_t *testcase)
#define MAGIC_EXITCODE 42
static enum outcome
-_testcase_run_forked(const struct testgroup_t *group,
+testcase_run_forked_(const struct testgroup_t *group,
const struct testcase_t *testcase)
{
#ifdef _WIN32
@@ -120,7 +119,7 @@ _testcase_run_forked(const struct testgroup_t *group,
DWORD exitcode;
if (!in_tinytest_main) {
- printf("\nERROR. On Windows, _testcase_run_forked must be"
+ printf("\nERROR. On Windows, testcase_run_forked_ must be"
" called from within tinytest_main.\n");
abort();
}
@@ -166,7 +165,7 @@ _testcase_run_forked(const struct testgroup_t *group,
int test_r, write_r;
char b[1];
close(outcome_pipe[0]);
- test_r = _testcase_run_bare(testcase);
+ test_r = testcase_run_bare_(testcase);
assert(0<=(int)test_r && (int)test_r<=2);
b[0] = "NYS"[test_r];
write_r = (int)write(outcome_pipe[1], b, 1);
@@ -220,9 +219,9 @@ testcase_run_one(const struct testgroup_t *group,
}
if ((testcase->flags & TT_FORK) && !(opt_forked||opt_nofork)) {
- outcome = _testcase_run_forked(group, testcase);
+ outcome = testcase_run_forked_(group, testcase);
} else {
- outcome = _testcase_run_bare(testcase);
+ outcome = testcase_run_bare_(testcase);
}
if (outcome == OK) {
@@ -248,7 +247,7 @@ testcase_run_one(const struct testgroup_t *group,
}
int
-_tinytest_set_flag(struct testgroup_t *groups, const char *arg, unsigned long flag)
+tinytest_set_flag_(struct testgroup_t *groups, const char *arg, unsigned long flag)
{
int i, j;
size_t length = LONGEST_TEST_NAME;
@@ -280,7 +279,7 @@ usage(struct testgroup_t *groups, int list_groups)
puts(" Use --list-tests for a list of tests.");
if (list_groups) {
puts("Known tests are:");
- _tinytest_set_flag(groups, "..", 0);
+ tinytest_set_flag_(groups, "..", 0);
}
exit(0);
}
@@ -291,7 +290,12 @@ tinytest_main(int c, const char **v, struct testgroup_t *groups)
int i, j, n=0;
#ifdef _WIN32
- commandname = v[0];
+ const char *sp = strrchr(v[0], '.');
+ const char *extension = "";
+ if (!sp || stricmp(sp, ".exe"))
+ extension = ".exe"; /* Add an exe so CreateProcess will work */
+ snprintf(commandname, sizeof(commandname), "%s%s", v[0], extension);
+ commandname[MAX_PATH]='\0';
#endif
for (i=1; i<c; ++i) {
if (v[i][0] == '-') {
@@ -318,28 +322,28 @@ tinytest_main(int c, const char **v, struct testgroup_t *groups)
}
} else {
const char *test = v[i];
- int flag = _TT_ENABLED;
+ int flag = TT_ENABLED_;
if (test[0] == ':') {
++test;
flag = TT_SKIP;
} else {
++n;
}
- if (!_tinytest_set_flag(groups, test, flag)) {
+ if (!tinytest_set_flag_(groups, test, flag)) {
printf("No such test as %s!\n", v[i]);
return -1;
}
}
}
if (!n)
- _tinytest_set_flag(groups, "..", _TT_ENABLED);
+ tinytest_set_flag_(groups, "..", TT_ENABLED_);
setvbuf(stdout, NULL, _IONBF, 0);
++in_tinytest_main;
for (i=0; groups[i].prefix; ++i)
for (j=0; groups[i].cases[j].name; ++j)
- if (groups[i].cases[j].flags & _TT_ENABLED)
+ if (groups[i].cases[j].flags & TT_ENABLED_)
testcase_run_one(&groups[i],
&groups[i].cases[j]);
@@ -358,13 +362,13 @@ tinytest_main(int c, const char **v, struct testgroup_t *groups)
}
int
-_tinytest_get_verbosity(void)
+tinytest_get_verbosity_(void)
{
return opt_verbosity;
}
void
-_tinytest_set_test_failed(void)
+tinytest_set_test_failed_(void)
{
if (opt_verbosity <= 0 && cur_test_name) {
if (opt_verbosity==0) puts("");
@@ -375,7 +379,7 @@ _tinytest_set_test_failed(void)
}
void
-_tinytest_set_test_skipped(void)
+tinytest_set_test_skipped_(void)
{
if (cur_test_outcome==OK)
cur_test_outcome = SKIP;
diff --git a/src/test/tinytest.h b/src/test/tinytest.h
index cbe28b7f5..bcac9f079 100644
--- a/src/test/tinytest.h
+++ b/src/test/tinytest.h
@@ -1,4 +1,4 @@
-/* tinytest.h -- Copyright 2009-2010 Nick Mathewson
+/* tinytest.h -- Copyright 2009-2012 Nick Mathewson
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,15 +23,15 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef _TINYTEST_H
-#define _TINYTEST_H
+#ifndef TINYTEST_H_INCLUDED_
+#define TINYTEST_H_INCLUDED_
/** Flag for a test that needs to run in a subprocess. */
#define TT_FORK (1<<0)
/** Runtime flag for a test we've decided to skip. */
#define TT_SKIP (1<<1)
/** Internal runtime flag for a test we've decided to run. */
-#define _TT_ENABLED (1<<2)
+#define TT_ENABLED_ (1<<2)
/** If you add your own flags, make them start at this point. */
#define TT_FIRST_USER_FLAG (1<<3)
@@ -65,18 +65,18 @@ struct testgroup_t {
#define END_OF_GROUPS { NULL, NULL}
/** Implementation: called from a test to indicate failure, before logging. */
-void _tinytest_set_test_failed(void);
+void tinytest_set_test_failed_(void);
/** Implementation: called from a test to indicate that we're skipping. */
-void _tinytest_set_test_skipped(void);
+void tinytest_set_test_skipped_(void);
/** Implementation: return 0 for quiet, 1 for normal, 2 for loud. */
-int _tinytest_get_verbosity(void);
+int tinytest_get_verbosity_(void);
/** Implementation: Set a flag on tests matching a name; returns number
* of tests that matched. */
-int _tinytest_set_flag(struct testgroup_t *, const char *, unsigned long);
+int tinytest_set_flag_(struct testgroup_t *, const char *, unsigned long);
/** Set all tests in 'groups' matching the name 'named' to be skipped. */
#define tinytest_skip(groups, named) \
- _tinytest_set_flag(groups, named, TT_SKIP)
+ tinytest_set_flag_(groups, named, TT_SKIP)
/** Run a single testcase in a single group. */
int testcase_run_one(const struct testgroup_t *,const struct testcase_t *);
diff --git a/src/test/tinytest_demo.c b/src/test/tinytest_demo.c
index 98cb773d1..be95ce4c1 100644
--- a/src/test/tinytest_demo.c
+++ b/src/test/tinytest_demo.c
@@ -1,4 +1,4 @@
-/* tinytest_demo.c -- Copyright 2009-2010 Nick Mathewson
+/* tinytest_demo.c -- Copyright 2009-2012 Nick Mathewson
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
diff --git a/src/test/tinytest_macros.h b/src/test/tinytest_macros.h
index 032393ccf..9ff69b1d5 100644
--- a/src/test/tinytest_macros.h
+++ b/src/test/tinytest_macros.h
@@ -1,4 +1,4 @@
-/* tinytest_macros.h -- Copyright 2009-2010 Nick Mathewson
+/* tinytest_macros.h -- Copyright 2009-2012 Nick Mathewson
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,8 +23,8 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef _TINYTEST_MACROS_H
-#define _TINYTEST_MACROS_H
+#ifndef TINYTEST_MACROS_H_INCLUDED_
+#define TINYTEST_MACROS_H_INCLUDED_
/* Helpers for defining statement-like macros */
#define TT_STMT_BEGIN do {
@@ -51,19 +51,19 @@
/* Announce a non-failure if we're verbose. */
#define TT_BLATHER(args) \
TT_STMT_BEGIN \
- if (_tinytest_get_verbosity()>1) TT_DECLARE(" OK", args); \
+ if (tinytest_get_verbosity_()>1) TT_DECLARE(" OK", args); \
TT_STMT_END
#define TT_DIE(args) \
TT_STMT_BEGIN \
- _tinytest_set_test_failed(); \
+ tinytest_set_test_failed_(); \
TT_GRIPE(args); \
TT_EXIT_TEST_FUNCTION; \
TT_STMT_END
#define TT_FAIL(args) \
TT_STMT_BEGIN \
- _tinytest_set_test_failed(); \
+ tinytest_set_test_failed_(); \
TT_GRIPE(args); \
TT_STMT_END
@@ -74,7 +74,7 @@
#define tt_abort() TT_DIE(("%s", "(Failed.)"))
/* Fail but do not abort the current test for the reason in msg. */
-#define tt_fail_printf(msg) TT_FAIL(msg)
+#define tt_failprint_f(msg) TT_FAIL(msg)
#define tt_fail_perror(op) TT_FAIL(("%s: %s [%d]",(op),strerror(errno), errno))
#define tt_fail_msg(msg) TT_FAIL(("%s", msg))
#define tt_fail() TT_FAIL(("%s", "(Failed.)"))
@@ -82,14 +82,14 @@
/* End the current test, and indicate we are skipping it. */
#define tt_skip() \
TT_STMT_BEGIN \
- _tinytest_set_test_skipped(); \
+ tinytest_set_test_skipped_(); \
TT_EXIT_TEST_FUNCTION; \
TT_STMT_END
-#define _tt_want(b, msg, fail) \
+#define tt_want_(b, msg, fail) \
TT_STMT_BEGIN \
if (!(b)) { \
- _tinytest_set_test_failed(); \
+ tinytest_set_test_failed_(); \
TT_GRIPE(("%s",msg)); \
fail; \
} else { \
@@ -99,11 +99,11 @@
/* Assert b, but do not stop the test if b fails. Log msg on failure. */
#define tt_want_msg(b, msg) \
- _tt_want(b, msg, );
+ tt_want_(b, msg, );
/* Assert b and stop the test if b fails. Log msg on failure. */
#define tt_assert_msg(b, msg) \
- _tt_want(b, msg, TT_EXIT_TEST_FUNCTION);
+ tt_want_(b, msg, TT_EXIT_TEST_FUNCTION);
/* Assert b, but do not stop the test if b fails. */
#define tt_want(b) tt_want_msg( (b), "want("#b")")
@@ -113,28 +113,28 @@
#define tt_assert_test_fmt_type(a,b,str_test,type,test,printf_type,printf_fmt, \
setup_block,cleanup_block,die_on_fail) \
TT_STMT_BEGIN \
- type _val1 = (type)(a); \
- type _val2 = (type)(b); \
- int _tt_status = (test); \
- if (!_tt_status || _tinytest_get_verbosity()>1) { \
- printf_type _print; \
- printf_type _print1; \
- printf_type _print2; \
- type _value = _val1; \
+ type val1_ = (type)(a); \
+ type val2_ = (type)(b); \
+ int tt_status_ = (test); \
+ if (!tt_status_ || tinytest_get_verbosity_()>1) { \
+ printf_type print_; \
+ printf_type print1_; \
+ printf_type print2_; \
+ type value_ = val1_; \
setup_block; \
- _print1 = _print; \
- _value = _val2; \
+ print1_ = print_; \
+ value_ = val2_; \
setup_block; \
- _print2 = _print; \
- TT_DECLARE(_tt_status?" OK":"FAIL", \
+ print2_ = print_; \
+ TT_DECLARE(tt_status_?" OK":"FAIL", \
("assert(%s): "printf_fmt" vs "printf_fmt, \
- str_test, _print1, _print2)); \
- _print = _print1; \
+ str_test, print1_, print2_)); \
+ print_ = print1_; \
cleanup_block; \
- _print = _print2; \
+ print_ = print2_; \
cleanup_block; \
- if (!_tt_status) { \
- _tinytest_set_test_failed(); \
+ if (!tt_status_) { \
+ tinytest_set_test_failed_(); \
die_on_fail ; \
} \
} \
@@ -142,43 +142,43 @@
#define tt_assert_test_type(a,b,str_test,type,test,fmt,die_on_fail) \
tt_assert_test_fmt_type(a,b,str_test,type,test,type,fmt, \
- {_print=_value;},{},die_on_fail)
+ {print_=value_;},{},die_on_fail)
/* Helper: assert that a op b, when cast to type. Format the values with
* printf format fmt on failure. */
#define tt_assert_op_type(a,op,b,type,fmt) \
- tt_assert_test_type(a,b,#a" "#op" "#b,type,(_val1 op _val2),fmt, \
+ tt_assert_test_type(a,b,#a" "#op" "#b,type,(val1_ op val2_),fmt, \
TT_EXIT_TEST_FUNCTION)
#define tt_int_op(a,op,b) \
- tt_assert_test_type(a,b,#a" "#op" "#b,long,(_val1 op _val2), \
+ tt_assert_test_type(a,b,#a" "#op" "#b,long,(val1_ op val2_), \
"%ld",TT_EXIT_TEST_FUNCTION)
#define tt_uint_op(a,op,b) \
tt_assert_test_type(a,b,#a" "#op" "#b,unsigned long, \
- (_val1 op _val2),"%lu",TT_EXIT_TEST_FUNCTION)
+ (val1_ op val2_),"%lu",TT_EXIT_TEST_FUNCTION)
#define tt_ptr_op(a,op,b) \
tt_assert_test_type(a,b,#a" "#op" "#b,void*, \
- (_val1 op _val2),"%p",TT_EXIT_TEST_FUNCTION)
+ (val1_ op val2_),"%p",TT_EXIT_TEST_FUNCTION)
#define tt_str_op(a,op,b) \
tt_assert_test_type(a,b,#a" "#op" "#b,const char *, \
- (strcmp(_val1,_val2) op 0),"<%s>",TT_EXIT_TEST_FUNCTION)
+ (strcmp(val1_,val2_) op 0),"<%s>",TT_EXIT_TEST_FUNCTION)
#define tt_want_int_op(a,op,b) \
- tt_assert_test_type(a,b,#a" "#op" "#b,long,(_val1 op _val2),"%ld",(void)0)
+ tt_assert_test_type(a,b,#a" "#op" "#b,long,(val1_ op val2_),"%ld",(void)0)
#define tt_want_uint_op(a,op,b) \
tt_assert_test_type(a,b,#a" "#op" "#b,unsigned long, \
- (_val1 op _val2),"%lu",(void)0)
+ (val1_ op val2_),"%lu",(void)0)
#define tt_want_ptr_op(a,op,b) \
tt_assert_test_type(a,b,#a" "#op" "#b,void*, \
- (_val1 op _val2),"%p",(void)0)
+ (val1_ op val2_),"%p",(void)0)
#define tt_want_str_op(a,op,b) \
tt_assert_test_type(a,b,#a" "#op" "#b,const char *, \
- (strcmp(_val1,_val2) op 0),"<%s>",(void)0)
+ (strcmp(val1_,val2_) op 0),"<%s>",(void)0)
#endif
diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am
index a9a619757..35b0a41f5 100644
--- a/src/tools/Makefile.am
+++ b/src/tools/Makefile.am
@@ -3,17 +3,19 @@ noinst_PROGRAMS = tor-checkkey
tor_resolve_SOURCES = tor-resolve.c
tor_resolve_LDFLAGS =
-tor_resolve_LDADD = ../common/libor.a -lm @TOR_LIB_WS32@
+tor_resolve_LDADD = ../common/libor.a @TOR_LIB_MATH@ @TOR_LIB_WS32@
tor_gencert_SOURCES = tor-gencert.c
tor_gencert_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
tor_gencert_LDADD = ../common/libor.a ../common/libor-crypto.a \
- -lm @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@
+ @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \
+ @TOR_LIB_WS32@ @TOR_LIB_GDI@
tor_checkkey_SOURCES = tor-checkkey.c
tor_checkkey_LDFLAGS = @TOR_LDFLAGS_zlib@ @TOR_LDFLAGS_openssl@
tor_checkkey_LDADD = ../common/libor.a ../common/libor-crypto.a \
- -lm @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ @TOR_LIB_WS32@ @TOR_LIB_GDI@
+ @TOR_LIB_MATH@ @TOR_ZLIB_LIBS@ @TOR_OPENSSL_LIBS@ \
+ @TOR_LIB_WS32@ @TOR_LIB_GDI@
SUBDIRS = tor-fw-helper
DIST_SUBDIRS = tor-fw-helper
diff --git a/src/tools/tor-checkkey.c b/src/tools/tor-checkkey.c
index 94c8cbd44..21de48d01 100644
--- a/src/tools/tor-checkkey.c
+++ b/src/tools/tor-checkkey.c
@@ -15,7 +15,7 @@
int
main(int c, char **v)
{
- crypto_pk_env_t *env;
+ crypto_pk_t *env;
char *str;
RSA *rsa;
int wantdigest=0;
@@ -56,7 +56,7 @@ main(int c, char **v)
return 1;
}
- env = crypto_new_pk_env();
+ env = crypto_pk_new();
if (crypto_pk_read_public_key_from_string(env, str, strlen(str))<0) {
fprintf(stderr, "Couldn't parse key.\n");
return 1;
@@ -69,7 +69,7 @@ main(int c, char **v)
return 1;
printf("%s\n",digest);
} else {
- rsa = _crypto_pk_env_get_rsa(env);
+ rsa = _crypto_pk_get_rsa(env);
str = BN_bn2hex(rsa->n);
printf("%s\n", str);
diff --git a/src/tools/tor-fw-helper/Makefile.am b/src/tools/tor-fw-helper/Makefile.am
index 8f64ad2ba..393562db0 100644
--- a/src/tools/tor-fw-helper/Makefile.am
+++ b/src/tools/tor-fw-helper/Makefile.am
@@ -15,7 +15,7 @@ noinst_HEADERS = \
if NAT_PMP
nat_pmp_ldflags = @TOR_LDFLAGS_libnatpmp@
-nat_pmp_ldadd = -lnatpmp
+nat_pmp_ldadd = -lnatpmp @TOR_LIB_IPHLPAPI@
nat_pmp_cppflags = @TOR_CPPFLAGS_libnatpmp@
else
nat_pmp_ldflags =
diff --git a/src/tools/tor-fw-helper/tor-fw-helper-natpmp.c b/src/tools/tor-fw-helper/tor-fw-helper-natpmp.c
index f9d5d0d58..eb739db7f 100644
--- a/src/tools/tor-fw-helper/tor-fw-helper-natpmp.c
+++ b/src/tools/tor-fw-helper/tor-fw-helper-natpmp.c
@@ -9,15 +9,22 @@
#include "orconfig.h"
#ifdef NAT_PMP
+#ifdef _WIN32
+#define STATICLIB
+#endif
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
+#ifndef _WIN32
#include <arpa/inet.h>
+#endif
// debugging stuff
#include <assert.h>
+#include "compat.h"
+
#include "tor-fw-helper.h"
#include "tor-fw-helper-natpmp.h"
@@ -82,7 +89,7 @@ tor_natpmp_cleanup(tor_fw_options_t *tor_fw_options, void *backend_state)
/** Use select() to wait until we can read on fd. */
static int
-wait_until_fd_readable(int fd, struct timeval *timeout)
+wait_until_fd_readable(tor_socket_t fd, struct timeval *timeout)
{
int r;
fd_set fds;
diff --git a/src/tools/tor-fw-helper/tor-fw-helper-upnp.c b/src/tools/tor-fw-helper/tor-fw-helper-upnp.c
index c4b14a84e..442eae514 100644
--- a/src/tools/tor-fw-helper/tor-fw-helper-upnp.c
+++ b/src/tools/tor-fw-helper/tor-fw-helper-upnp.c
@@ -9,7 +9,7 @@
#include "orconfig.h"
#ifdef MINIUPNPC
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#define STATICLIB
#endif
#include <stdint.h>
diff --git a/src/tools/tor-fw-helper/tor-fw-helper.c b/src/tools/tor-fw-helper/tor-fw-helper.c
index 002239745..ea5ae7ffa 100644
--- a/src/tools/tor-fw-helper/tor-fw-helper.c
+++ b/src/tools/tor-fw-helper/tor-fw-helper.c
@@ -21,7 +21,7 @@
#include <time.h>
#include <string.h>
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#include <winsock2.h>
#endif
@@ -229,7 +229,7 @@ tor_fw_add_dir_port(tor_fw_options_t *tor_fw_options,
static int
network_init(void)
{
-#ifdef MS_WINDOWS
+#ifdef _WIN32
/* This silly exercise is necessary before windows will allow
* gethostbyname to work. */
WSADATA WSAData;
diff --git a/src/tools/tor-gencert.c b/src/tools/tor-gencert.c
index 974a58bec..b5c96e556 100644
--- a/src/tools/tor-gencert.c
+++ b/src/tools/tor-gencert.c
@@ -153,7 +153,7 @@ parse_commandline(int argc, char **argv)
}
months_lifetime = atoi(argv[++i]);
if (months_lifetime > 24 || months_lifetime < 0) {
- fprintf(stderr, "Lifetime (in months) was out of range.");
+ fprintf(stderr, "Lifetime (in months) was out of range.\n");
return 1;
}
} else if (!strcmp(argv[i], "-r") || !strcmp(argv[i], "--reuse")) {
@@ -222,13 +222,13 @@ static RSA *
generate_key(int bits)
{
RSA *rsa = NULL;
- crypto_pk_env_t *env = crypto_new_pk_env();
+ crypto_pk_t *env = crypto_pk_new();
if (crypto_pk_generate_key_with_bits(env,bits)<0)
goto done;
- rsa = _crypto_pk_env_get_rsa(env);
+ rsa = _crypto_pk_get_rsa(env);
rsa = RSAPrivateKey_dup(rsa);
done:
- crypto_free_pk_env(env);
+ crypto_pk_free(env);
return rsa;
}
@@ -399,10 +399,10 @@ static int
get_fingerprint(EVP_PKEY *pkey, char *out)
{
int r = 1;
- crypto_pk_env_t *pk = _crypto_new_pk_env_rsa(EVP_PKEY_get1_RSA(pkey));
+ crypto_pk_t *pk = _crypto_new_pk_from_rsa(EVP_PKEY_get1_RSA(pkey));
if (pk) {
r = crypto_pk_get_fingerprint(pk, out, 0);
- crypto_free_pk_env(pk);
+ crypto_pk_free(pk);
}
return r;
}
@@ -412,10 +412,10 @@ static int
get_digest(EVP_PKEY *pkey, char *out)
{
int r = 1;
- crypto_pk_env_t *pk = _crypto_new_pk_env_rsa(EVP_PKEY_get1_RSA(pkey));
+ crypto_pk_t *pk = _crypto_new_pk_from_rsa(EVP_PKEY_get1_RSA(pkey));
if (pk) {
r = crypto_pk_get_digest(pk, out);
- crypto_free_pk_env(pk);
+ crypto_pk_free(pk);
}
return r;
}
diff --git a/src/tools/tor-resolve.c b/src/tools/tor-resolve.c
index f1220d9d8..73352feac 100644
--- a/src/tools/tor-resolve.c
+++ b/src/tools/tor-resolve.c
@@ -32,7 +32,7 @@
#include <errno.h>
#endif
-#ifdef MS_WINDOWS
+#ifdef _WIN32
#if defined(_MSC_VER) && (_MSC_VER <= 1300)
#include <winsock.h>
#else
diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h
index 7460d4fb9..52883cca1 100644
--- a/src/win32/orconfig.h
+++ b/src/win32/orconfig.h
@@ -3,8 +3,7 @@
*/
/* Windows-only defines. */
-#define MS_WINDOWS
-#define MS_WIN32
+#define _WIN32
#define CONFDIR ""
/* Define to 1 if you have the <arpa/inet.h> header file. */
@@ -234,7 +233,7 @@
#define USING_TWOS_COMPLEMENT
/* Version number of package */
-#define VERSION "0.2.3.7-alpha"
+#define VERSION "0.2.3.12-alpha-dev"