<?php

namespace Cocur\Domain;

use Cocur\Domain\Connection\ConnectionFactory;
use Cocur\Domain\Data\DataLoader;
use Cocur\Domain\Whois\Client as WhoisClient;
use Cocur\Domain\Whois\QuotaExceededException;
use Cocur\Domain\Whois\WhoisException;
use Cocur\Domain\Availability\Client as AvailabilityClient;

/**
 * AvailabilityCheckTest
 *
 * @group functional
 */
class AvailabilityCheckTest extends \PHPUnit_Framework_TestCase
{
    /** @var AvailabilityClient */
    private $client;

    public function setUp()
    {
        $factory = new ConnectionFactory();
        $dataLoader = new DataLoader();
        $data = $dataLoader->load(__DIR__.'/../data/tld.json');

        $this->client = new AvailabilityClient(new WhoisClient($factory, $data), $data);
    }

    /**
     * @test
     * @dataProvider domainProvider
     */
    public function checkAvailable($domain, $isAvailable)
    {
        try {
            $result = $this->client->isAvailable($domain);
            if ($result !== $isAvailable) {
                echo "\n$domain\n";
                print_r($this->client->getLastWhoisResult());
                echo "\n";
            }
            $this->assertEquals($isAvailable, $result);
        } catch (QuotaExceededException $e) {
            $this->markTestSkipped(sprintf('Quota for WHOIS server exceeded: %s', $domain));
        } catch (WhoisException $e) {
            $this->markTestSkipped(sprintf('WHOIS failed for: %s', $domain));
        }
    }

    public function domainProvider()
    {
        return [
            [ 'nic.aero', false ], [ 'nicabcdefgh.aero', true ],
            [ 'nic.amsterdam', false ], [ 'nicabcdefgh.amsterdam', true ],
            [ 'nic.asia', false ], [ 'nicabcdefgh.asia', true ],
            [ 'nic.biz', false ], [ 'nicabcdefgh.biz', true ],
            [ 'nic.cat', false ], [ 'nicabcdefgh.cat', true ],
            [ 'nic.com', false ], [ 'nicabcdefgh.com', true ],
            [ 'nic.coop', false ], [ 'nicabcdefgh.coop', true ],
            [ 'nic.info', false ], [ 'nicabcdefgh.info', true ],
            [ 'nic.jobs', false ], [ 'nicabcdefgh.jobs', true ],
            [ 'nic.mobi', false ], [ 'nicabcdefgh.mobi', true ],
            [ 'nic.museum', false ], [ 'nicabcdefgh.museum', true ],
            [ 'nic.name', false ], [ 'nicabcdefgh.name', true ],
            [ 'nic.net', false ], [ 'nicabcdefgh.net', true ],
            [ 'nic.org', false ], [ 'nicabcdefgh.org', true ],
            [ 'nic.pro', false ], [ 'nicabcdefgh.pro', true ],
            [ 'nic.tel', false ], [ 'nicabcdefgh.tel', true ],
            [ 'nic.travel', false ], [ 'nicabcdefgh.travel', true ],
            [ 'nic.xxx', false ], [ 'nicabcdefgh.xxx', true ],
            [ 'nic.edu', false ], [ 'nicabcdefgh.edu', true ],
            [ 'nic.gov', false ], [ 'nicabcdefgh.gov', true ],
            [ 'nic.ac', false ], [ 'nicabcdefgh.ac', true ],
            [ 'nic.ae', false ], [ 'nicabcdefgh.ae', true ],
            [ 'nic.af', false ], [ 'nicabcdefgh.af', true ],
            [ 'nic.ag', false ], [ 'nicabcdefgh.ag', true ],
            [ 'nic.ai', false ], [ 'nicabcdefgh.ai', true ],
            [ 'nic.am', false ], [ 'nicabcdefgh.am', true ],
            [ 'nic.as', false ], [ 'nicabcdefgh.as', true ],
            [ 'nic.at', false ], [ 'nicabcdefgh.at', true ],
            [ 'audns.net.au', false ], [ 'nicabcdefgh.au', true ],
            [ 'dns.be', false ], [ 'nicabcdefgh.be', true ],
            [ 'nic.bg', false ], [ 'nicabcdefgh.bg', true ],
            // [ 'nic.bi', false ], [ 'nicabcdefgh.bi', true ],
            // [ 'nic.bo', false ], [ 'nicabcdefgh.bo', true ],
            [ 'nic.br', false ], [ 'nicabcdefgh.br', true ],
            [ 'nic.by', false ], [ 'nicabcdefgh.by', true ],
            [ 'nic.ca', false ], [ 'nicabcdefgh.ca', true ],
            [ 'nic.cc', false ], [ 'nicabcdefgh.cc', true ],
            [ 'nic.ch', false ], [ 'nicabcdefgh.ch', true ],
            [ 'nic.ci', false ], [ 'nicabcdefgh.ci', true ],
            // [ 'nic.cl', false ], [ 'nicabcdefgh.cl', true ],
            [ 'nic.cn', false ], [ 'nicabcdefgh.cn', true ],
            [ 'nic.co', false ], [ 'nicabcdefgh.co', true ],
            [ 'nic.cx', false ], [ 'nicabcdefgh.cx', true ],
            [ 'nic.cz', false ], [ 'nicabcdefgh.cz', true ],
            [ 'nic.de', false ], [ 'nicabcdefgh.de', true ],
            [ 'nic.dk', false ], [ 'nicabcdefgh.dk', true ],
            [ 'nic.dm', false ], [ 'nicabcdefgh.dm', true ],
            [ 'nic.ec', false ], [ 'nicabcdefgh.ec', true ],
            [ 'nic.ee', false ], [ 'nicabcdefgh.ee', true ],
            [ 'nic.eu', false ], [ 'nicabcdefgh.eu', true ],
            [ 'nic.fi', false ], [ 'nicabcdefgh.fi', true ],
            [ 'nic.fo', false ], [ 'nicabcdefgh.fo', true ],
            [ 'nic.fr', false ], [ 'nicabcdefgh.fr', true ],
            [ 'nic.frl', false ], [ 'nicabcdefgh.frl', true ],
            [ 'nic.gd', false ], [ 'nicabcdefgh.gd', true ],
            [ 'nic.gg', false ], [ 'nicabcdefgh.gg', true ],
            [ 'nic.gl', false ], [ 'nicabcdefgh.gl', true ],
            [ 'nic.gs', false ], [ 'nicabcdefgh.gs', true ],
            [ 'nic.gy', false ], [ 'nicabcdefgh.gy', true ],
            [ 'nic.hk', false ], [ 'nicabcdefgh.hk', true ],
            [ 'nic.hn', false ], [ 'nicabcdefgh.hn', true ],
            // [ 'dns.hr', false ], [ 'nicabcdefgh.hr', true ],
            // [ 'nic.ht', false ], [ 'nicabcdefgh.ht', true ],
            [ 'nic.ie', false ], [ 'nicabcdefgh.ie', true ],
            [ 'isoc.org.il', false ], [ 'nicabcdefgh.il', true ],
            [ 'nic.im', false ], [ 'nicabcdefgh.im', true ],
            [ 'nic.in', false ], [ 'nicabcdefgh.in', true ],
            [ 'nic.io', false ], [ 'nicabcdefgh.io', true ],
            [ 'nic.iq', false ], [ 'nicabcdefgh.iq', true ],
            [ 'nic.ir', false ], [ 'nicabcdefgh.ir', true ],
            [ 'nic.is', false ], [ 'nicabcdefgh.is', true ],
            [ 'nic.it', false ], [ 'nicabcdefgh.it', true ],
            [ 'nic.je', false ], [ 'nicabcdefgh.je', true ],
            [ 'nic.jp', false ], [ 'nicabcdefgh.jp', true ],
            [ 'kenic.or.ke', false ], [ 'nicabcdefgh.ke', true ],
            [ 'nic.kg', false ], [ 'nicabcdefgh.kg', true ],
            [ 'nic.ki', false ], [ 'nicabcdefgh.ki', true ],
            [ 'nic.kr', false ], [ 'nicabcdefgh.kr', true ],
            [ 'nic.kz', false ], [ 'nicabcdefgh.kz', true ],
            [ 'nic.la', false ], [ 'nicabcdefgh.la', true ],
            [ 'nic.li', false ], [ 'nicabcdefgh.li', true ],
            [ 'domreg.lt', false ], [ 'nicabcdefgh.lt', true ],
            [ 'nic.lu', false ], [ 'nicabcdefgh.lu', true ],
            [ 'nic.lv', false ], [ 'nicabcdefgh.lv', true ],
            [ 'nic.ly', false ], [ 'nicabcdefgh.ly', true ],
            [ 'nic.ma', false ], [ 'nicabcdefgh.ma', true ],
            [ 'nic.md', false ], [ 'nicabcdefgh.md', true ],
            [ 'nic.me', false ], [ 'nicabcdefgh.me', true ],
            [ 'nic.mg', false ], [ 'nicabcdefgh.mg', true ],
            [ 'nic.ms', false ], [ 'nicabcdefgh.ms', true ],
            [ 'nic.mu', false ], [ 'nicabcdefgh.mu', true ],
            [ 'nic.mx', false ], [ 'nicabcdefgh.mx', true ],
            [ 'nic.my', false ], [ 'nicabcdefgh.my', true ],
            [ 'nic.na', false ], [ 'nicabcdefgh.na', true ],
            [ 'whois.nc', false ], [ 'nicabcdefgh.nc', true ],
            [ 'nic.nf', false ], [ 'nicabcdefgh.nf', true ],
            [ 'nic.ng', false ], [ 'nicabcdefgh.ng', true ],
            [ 'nic.nl', false ], [ 'nicabcdefgh.nl', true ],
            [ 'nic.no', false ], [ 'nicabcdefgh.no', true ],
            [ 'nic.nu', false ], [ 'nicabcdefgh.nu', true ],
            [ 'whois.nc', false ], [ 'nicabcdefgh.co.nz', true ],
            [ 'nic.om', false ], [ 'nicabcdefgh.om', true ],
            [ 'nic.pe', false ], [ 'nicabcdefgh.pe', true ],
            [ 'nic.pl', false ], [ 'nicabcdefgh.pl', true ],
            [ 'nic.pm', false ], [ 'nicabcdefgh.pm', true ],
            // [ 'nic.ps', false ], [ 'nicabcdefgh.ps', true ],
            [ 'nic.pt', false ], [ 'nicabcdefgh.pt', true ],
            [ 'nic.qa', false ], [ 'nicabcdefgh.qa', true ],
            [ 'nic.re', false ], [ 'nicabcdefgh.re', true ],
            [ 'nic.ro', false ], [ 'nicabcdefgh.ro', true ],
            [ 'nic.rs', false ], [ 'nicabcdefgh.rs', true ],
            [ 'nic.ru', false ], [ 'nicabcdefgh.ru', true ],
            [ 'nic.sa', false ], [ 'nicabcdefgh.sa', true ],
            // [ 'nic.sb', false ], [ 'nicabcdefgh.sb', true ],
            [ 'nic.sc', false ], [ 'nicabcdefgh.sc', true ],
            [ 'nic.se', false ], [ 'nicabcdefgh.se', true ],
            [ 'nic.sg', false ], [ 'nicabcdefgh.sg', true ],
            [ 'nic.sh', false ], [ 'nicabcdefgh.sh', true ],
            [ 'nic.si', false ], [ 'nicabcdefgh.si', true ],
            [ 'nic.sk', false ], [ 'nicabcdefgh.sk', true ],
            [ 'nic.sm', false ], [ 'nicabcdefgh.sm', true ],
            [ 'nic.so', false ], [ 'nicabcdefgh.so', true ],
            [ 'nic.st', false ], [ 'nicabcdefgh.st', true ],
            [ 'nic.su', false ], [ 'nicabcdefgh.su', true ],
            [ 'nic.tc', false ], [ 'nicabcdefgh.tc', true ],
            [ 'nic.tf', false ], [ 'nicabcdefgh.tf', true ],
            [ 'thnic.co.th', false ], [ 'nicabcdefgh.th', true ],
            [ 'nic.tk', false ], [ 'nicabcdefgh.tk', true ],
            [ 'nic.tl', false ], [ 'nicabcdefgh.tl', true ],
            [ 'nic.tm', false ], [ 'nicabcdefgh.tm', true ],
            [ 'nic.to', false ], [ 'nicabcdefgh.to', true ],
            [ 'nic.tr', false ], [ 'nicabcdefgh.com.tr', true ],
            [ 'nic.tv', false ], [ 'nicabcdefgh.tv', true ],
            [ 'nic.tw', false ], [ 'nicabcdefgh.tw', true ],
            [ 'tznic.or.tz', false ], [ 'nicabcdefgh.tz', true ],
            [ 'nic.ua', false ], [ 'nicabcdefgh.ua', true ],
            [ 'registry.co.ug', false ], [ 'nicabcdefgh.ug', true ],
            [ 'nic.uk', false ], [ 'nicabcdefgh.co.uk', true ],
            [ 'nic.us', false ], [ 'nicabcdefgh.us', true ],
            [ 'nic.uy', false ], [ 'nicabcdefgh.uy', true ],
            [ 'nic.uz', false ], [ 'nicabcdefgh.uz', true ],
            [ 'nic.vc', false ], [ 'nicabcdefgh.vc', true ],
            // [ 'nic.ve', false ], [ 'nicabcdefgh.ve', true ],
            [ 'nic.vg', false ], [ 'nicabcdefgh.co.vg', true ],
            [ 'nic.wf', false ], [ 'nicabcdefgh.wf', true ],
            // [ 'nic.ws', false ], [ 'nicabcdefgh.ws', true ],
            [ 'nic.yt', false ], [ 'nicabcdefgh.yt', true ],
            [ 'nic.academy', false], [ 'nicabcdefgh.academy', true ],
            [ 'nic.accountants', false ], [ 'nicabcdefgh.accountants', true ],
            [ 'nic.actor', false ], [ 'nicabcdefgh.actor', true ],
            [ 'nic.agency', false ], [ 'nicabcdefgh.agency', true ],
            [ 'nic.airforce', false ], [ 'nicabcdefgh.airforce', true ],
            [ 'nic.archi', false ], [ 'nicabcdefgh.archi', true ],
            [ 'nic.associates', false ], [ 'nicabcdefgh.associates', true ],
            [ 'nic.audio', false ], [ 'nicabcdefgh.audio', true ],
            [ 'nic.bar', false ], [ 'nicabcdefgh.bar', true ],
            [ 'nic.bargains', false ], [ 'nicabcdefgh.bargains', true ],
            [ 'nic.bayern', false ], [ 'nicabcdefgh.bayern', true ],
            [ 'nic.beer', false ], [ 'nicabcdefgh.beer', true ],
            [ 'nic.berlin', false ], [ 'nicabcdefgh.berlin', true ],
            [ 'nic.bike', false ], [ 'nicabcdefgh.bike', true ],
            [ 'nic.black', false ], [ 'nicabcdefgh.black', true ],
            [ 'nic.blackfriday', false ], [ 'nicabcdefgh.blackfriday', true ],
            [ 'nic.blue', false ], [ 'nicabcdefgh.blue', true ],
            [ 'nic.boutique', false ], [ 'nicabcdefgh.boutique', true ],
            [ 'nic.build', false ], [ 'nicabcdefgh.build', true ],
            [ 'nic.builders', false ], [ 'nicabcdefgh.builders', true ],
            [ 'nic.cab', false ], [ 'nicabcdefgh.cab', true ],
            [ 'nic.camera', false ], [ 'nicabcdefgh.camera', true ],
            [ 'nic.camp', false ], [ 'nicabcdefgh.camp', true ],
            [ 'nic.capital', false ], [ 'nicabcdefgh.capital', true ],
            [ 'nic.cards', false ], [ 'nicabcdefgh.cards', true ],
            [ 'nic.care', false ], [ 'nicabcdefgh.care', true ],
            [ 'nic.careers', false ], [ 'nicabcdefgh.careers', true ],
            [ 'nic.cash', false ], [ 'nicabcdefgh.cash', true ],
            [ 'nic.catering', false ], [ 'nicabcdefgh.catering', true ],
            [ 'nic.center', false], [ 'nicabcdefgh.center', true ],
            [ 'nic.ceo', false ], [ 'nicabcdefgh.ceo', true ],
            [ 'nic.cheap', false ], [ 'nicabcdefgh.cheap', true ],
            [ 'nic.christmas', false ], [ 'nicabcdefgh.christmas', true ],
            [ 'nic.church', false ], [ 'nicabcdefgh.church', true ],
            [ 'nic.claims', false ], [ 'nicabcdefgh.claims', true ],
            [ 'nic.cleaning', false ], [ 'nicabcdefgh.cleaning', true ],
            [ 'nic.clinic', false ], [ 'nicabcdefgh.clinic', true ],
            [ 'nic.clothing', false ], [ 'nicabcdefgh.clothing', true ],
            [ 'nic.club', false ], [ 'nicabcdefgh.club', true ],
            [ 'nic.codes', false], [ 'nicabcdefgh.codes', true ],
            [ 'nic.coffee', false ], [ 'nicabcdefgh.coffee', true ],
            [ 'nic.college', false ], [ 'nicabcdefgh.college', true ],
            [ 'nic.cologne', false ], [ 'nicabcdefgh.cologne', true ],
            [ 'nic.community', false ], [ 'nicabcdefgh.community', true ],
            [ 'nic.company', false ], [ 'nicabcdefgh.company', true ],
            [ 'nic.computer', false ], [ 'nicabcdefgh.computer', true ],
            [ 'nic.construction', false ], [ 'nicabcdefgh.construction', true ],
            [ 'nic.contractors', false ], [ 'nicabcdefgh.contractors', true ],
            [ 'nic.cooking', false ], [ 'nicabcdefgh.cooking', true ],
            [ 'nic.cool', false ], [ 'nicabcdefgh.cool', true ],
            [ 'nic.country', false], [ 'nicabcdefgh.country', true ],
            [ 'nic.credit', false ], [ 'nicabcdefgh.credit', true ],
            [ 'nic.creditcard', false ], [ 'nicabcdefgh.creditcard', true ],
            [ 'nic.cruises', false ], [ 'nicabcdefgh.cruises', true ],
            [ 'nic.dance', false ], [ 'nicabcdefgh.dance', true ],
            [ 'nic.dating', false ], [ 'nicabcdefgh.dating', true ],
            [ 'nic.democrat', false ], [ 'nicabcdefgh.democrat', true ],
            [ 'nic.dental', false ], [ 'nicabcdefgh.dental', true ],
            [ 'nic.desi', false ], [ 'nicabcdefgh.desi', true ],
            [ 'nic.diamonds', false ], [ 'nicabcdefgh.diamonds', true ],
            [ 'nic.digital', false ], [ 'nicabcdefgh.digital', true ],
            [ 'nic.directory', false ], [ 'nicabcdefgh.directory', true ],
            [ 'nic.discount', false ], [ 'nicabcdefgh.discount', true ],
            [ 'nic.domains', false ], [ 'nicabcdefgh.domains', true ],
            [ 'nic.education', false ], [ 'nicabcdefgh.education', true ],
            [ 'nic.email', false ], [ 'nicabcdefgh.email', true ],
            [ 'nic.engineering', false ], [ 'nicabcdefgh.engineering', true ],
            [ 'nic.enterprises', false ], [ 'nicabcdefgh.enterprises', true ],
            [ 'nic.equipment', false ], [ 'nicabcdefgh.equipment', true ],
            [ 'nic.estate', false ], [ 'nicabcdefgh.estate', true ],
            [ 'nic.events', false ], [ 'nicabcdefgh.events', true ],
            [ 'nic.exchange', false ], [ 'nicabcdefgh.exchange', true ],
            [ 'nic.expert', false ], [ 'nicabcdefgh.expert', true ],
            [ 'nic.exposed', false ], [ 'nicabcdefgh.exposed', true ],
            [ 'nic.fail', false ], [ 'nicabcdefgh.fail', true ],
            [ 'nic.farm', false ], [ 'nicabcdefgh.farm', true ],
            [ 'nic.feedback', false ], [ 'nicabcdefgh.feedback', true ],
            [ 'nic.finance', false ], [ 'nicabcdefgh.finance', true ],
            [ 'nic.financial', false ], [ 'nicabcdefgh.financial', true ],
            [ 'nic.fish', false ], [ 'nicabcdefgh.fish', true ],
            [ 'nic.fishing', false ], [ 'nicabcdefgh.fishing', true ],
            [ 'nic.fitness', false ], [ 'nicabcdefgh.fitness', true ],
            [ 'nic.flights', false ], [ 'nicabcdefgh.flights', true ],
            [ 'nic.florist', false ], [ 'nicabcdefgh.florist', true ],
            [ 'nic.foo', false ], [ 'nicabcdefgh.foo', true ],
            [ 'nic.foundation', false ], [ 'nicabcdefgh.foundation', true ],
            [ 'nic.frogans', false ], [ 'nicabcdefgh.frogans', true ],
            [ 'nic.fund', false ], [ 'nicabcdefgh.fund', true ],
            [ 'nic.furniture', false ], [ 'nicabcdefgh.furniture', true ],
            [ 'nic.futbol', false ], [ 'nicabcdefgh.futbol', true ],
            [ 'nic.gal', false ], [ 'nicabcdefgh.gal', true ],
            [ 'nic.gallery', false ], [ 'nicabcdefgh.gallery',true ],
            [ 'nic.gift', false ], [ 'nicabcdefgh.gift', true ],
            [ 'nic.glass', false ], [ 'nicabcdefgh.glass', true ],
            [ 'nic.globo', false ], [ 'nicabcdefgh.globo', true ],
            // [ 'nic.gop', false ], [ 'nicabcdefgh.gop', true ],
            [ 'nic.graphics', false ], [ 'nicabcdefgh.graphics', true ],
            [ 'nic.gratis', false ], [ 'nicabcdefgh.gratis', true ],
            [ 'nic.gripe', false ], [ 'nicabcdefgh.gripe', true ],
            [ 'nic.guide', false ], [ 'nicabcdefgh.guide', true ],
            [ 'nic.guitars', false ], [ 'nicabcdefgh.guitars', true ],
            [ 'nic.guru', false ], [ 'nicabcdefgh.guru', true ],
            [ 'nic.haus', false ], [ 'nicabcdefgh.haus', true ],
            [ 'nic.hiphop', false ], [ 'nicabcdefgh.hiphop', true ],
            [ 'nic.holdings', false ], [ 'nicabcdefgh.holdings', true ],
            [ 'nic.holiday', false ], [ 'nicabcdefgh.holiday', true ],
            [ 'nic.horse', false ], [ 'nicabcdefgh.horse', true ],
            [ 'nic.house', false ], [ 'nicabcdefgh.house', true ],
            [ 'nic.immobilien', false ], [ 'nicabcdefgh.immobilien', true ],
            [ 'nic.industries', false ], [ 'nicabcdefgh.industries', true ],
            [ 'nic.institute', false ], [ 'nicabcdefgh.institute', true ],
            [ 'nic.insure', false ], [ 'nicabcdefgh.insure', true ],
            [ 'nic.international', false ], [ 'nicabcdefgh.international', true ],
            [ 'nic.investments', false ], [ 'nicabcdefgh.investments', true ],
            [ 'nic.juegos', false ], [ 'nicabcdefgh.juegos', true ],
            [ 'nic.kaufen', false ], [ 'nicabcdefgh.kaufen', true ],
            [ 'nic.kim', false ], [ 'nicabcdefgh.kim', true ],
            [ 'nic.kitchen', false ], [ 'nicabcdefgh.kitchen', true ],
            [ 'nic.kiwi', false ], [ 'nicabcdefgh.kiwi', true ],
            // [ 'nic.koeln', false ], [ 'nicabcdefgh.koeln', true ],
            [ 'nic.land', false ], [ 'nicabcdefgh.land', true ],
            [ 'nic.lease', false ], [ 'nicabcdefgh.lease', true ],
            [ 'nic.life', false ], [ 'nicabcdefgh.life', true ],
            [ 'nic.lighting', false ], [ 'nicabcdefgh.lighting', true ],
            [' nic.limited', false ], [ 'nicabcdefgh.limited', true ],
            [ 'nic.limo', false ], [ 'nicabcdefgh.limo', true ],
            [ 'nic.link', false ], [ 'nicabcdefgh.link', true ],
            [ 'nic.loans', false ], [ 'nicabcdefgh.loans', true ],
            // [ 'nic.london', false ], [ 'nicabcdefgh.london', true ],
            [ 'nic.luxe', false ], [ 'nicabcdefgh.luxe', true ],
            [ 'nic.luxury', false ], [ 'nicabcdefgh.luxury', true ],
            [ 'nic.management', false ], [ 'nicabcdefgh.management', true ],
            [ 'nic.mango', false ], [ 'nicabcdefgh.mango', true ],
            [ 'nic.marketing', false ], [ 'nicabcdefgh.marketing', true ],
            [ 'nic.media', false ], [ 'nicabcdefgh.media', true ],
            [ 'nic.meet', false ], [ 'nicabcdefgh.meet', true ],
            [ 'nic.menu', false ], [ 'nicabcdefgh.menu', true ],
            [ 'nic.miami', false ], [ 'nicabcdefgh.miami', true ],
            [ 'nic.moda', false ], [ 'nicabcdefgh.moda', true ],
            [ 'nic.monash', false ], [ 'nicabcdefgh.monash', true ],
            [ 'nic.moscow', false ], [ 'nicabcdefgh.moscow', true ],
            [ 'nic.ninja', false ], [ 'nicabcdefgh.ninja', true ],
            [ 'nic.onl', false ], [ 'nicabcdefgh.onl', true ],
            [ 'nic.paris', false ], [ 'nicabcdefgh.paris', true ],
            [ 'nic.partners', false ], [ 'nicabcdefgh.partners', true ],
            [ 'nic.parts', false ], [ 'nicabcdefgh.parts', true ],
            [ 'nic.photo', false ], [ 'nicabcdefgh.photo', true ],
            [ 'nic.photography', false ], [ 'nicabcdefgh.photography', true ],
            [ 'nic.photos', false ], [ 'nicabcdefgh.photos', true ],
            [ 'nic.pics', false ], [ 'nicabcdefgh.pics', true ],
            [ 'nic.pictures', false ], [ 'nicabcdefgh.pictures', true ],
            [ 'nic.pink', false ], [ 'nicabcdefgh.pink', true ],
            [ 'nic.plumbing', false ], [ 'nicabcdefgh.plumbing', true ],
            [ 'nic.post', false ], [ 'nicabcdefgh.post', true ],
            [ 'nic.productions', false ], [ 'nicabcdefgh.productions', true ],
            [ 'nic.properties', false ], [ 'nicabcdefgh.properties', true ],
            [ 'nic.pub', false ], [ 'nicabcdefgh.pub', true ],
            [ 'nic.quebec', false ], [ 'nicabcdefgh.quebec', true ],
            [ 'nic.recipes', false ], [ 'nicabcdefgh.recipes', true ],
            [ 'nic.red', false ], [ 'nicabcdefgh.red', true ],
            [ 'nic.reisen', false ], [ 'nicabcdefgh.reisen', true ],
            [ 'nic.rentals', false ], [ 'nicabcdefgh.rentals', true ],
            [ 'nic.repair', false ], [ 'nicabcdefgh.repair', true ],
            [ 'nic.report', false ], [ 'nicabcdefgh.report', true ],
            [ 'nic.rest', false ], [ 'nicabcdefgh.rest', true ],
            [ 'nic.reviews', false ], [ 'nicabcdefgh.reviews', true ],
            [ 'nic.rich', false ], [ 'nicabcdefgh.rich', true ],
            [ 'nic.rocks', false ], [ 'nicabcdefgh.rocks', true ],
            [ 'nic.rodeo', false ], [ 'nicabcdefgh.rodeo', true ],
            [ 'nic.ruhr', false ], [ 'nicabcdefgh.ruhr', true ],
            [ 'nic.saarland', false ], [ 'nicabcdefgh.saarland', true ],
            [ 'nic.schule', false ], [ 'nicabcdefgh.schule', true ],
            [ 'nic.services', false ], [ 'nicabcdefgh.services', true ],
            [ 'nic.sexy', false ], [ 'nicabcdefgh.sexy', true ],
            [ 'nic.shiksha', false ], [ 'nicabcdefgh.shiksha', true ],
            [ 'nic.shoes', false ], [ 'nicabcdefgh.shoes', true ],
            [ 'nic.singles', false ], [ 'nicabcdefgh.singles', true ],
            [ 'nic.social', false ], [ 'nicabcdefgh.social', true ],
            [ 'nic.solar', false ], [ 'nicabcdefgh.solar', true ],
            [ 'nic.solutions', false ], [ 'nicabcdefgh.solutions', true ],
            [ 'nic.soy', false ], [ 'nicabcdefgh.soy', true ],
            [ 'nic.supplies', false ], [ 'nicabcdefgh.supplies', true ],
            [ 'nic.supply', false ], [ 'nicabcdefgh.supply', true ],
            [ 'nic.support', false ], [ 'nicabcdefgh.support', true ],
            [ 'nic.surgery', false ], [ 'nicabcdefgh.surgery', true ],
            [ 'nic.systems', false ], [ 'nicabcdefgh.systems', true ],
            [ 'nic.tattoo', false ], [ 'nicabcdefgh.tattoo', true ],
            [ 'nic.tax', false ], [ 'nicabcdefgh.tax', true ],
            [ 'nic.technology', false ], [ 'nicabcdefgh.technology', true ],
            [ 'nic.tienda', false ], [ 'nicabcdefgh.tienda', true ],
            [ 'nic.tips', false ], [ 'nicabcdefgh.tips', true ],
            [ 'nic.today', false ], [ 'nicabcdefgh.today', true ],
            [ 'nic.tools', false ], [ 'nicabcdefgh.tools', true ],
            [ 'nic.town', false ], [ 'nicabcdefgh.town', true ],
            [ 'nic.toys', false ], [ 'nicabcdefgh.toys', true ],
            [ 'nic.training', false ], [ 'nicabcdefgh.training', true ],
            [ 'nic.university', false ], [ 'nicabcdefgh.university', true ],
            [ 'nic.vacations', false ], [ 'nicabcdefgh.vacations', true ],
            [ 'nic.vegas', false ], [ 'nicabcdefgh.vegas', true ],
            [ 'nic.ventures', false ], [ 'nicabcdefgh.ventures', true ],
            [ 'nic.viajes', false ], [ 'nicabcdefgh.viajes', true ],
            [ 'nic.villas', false ], [ 'nicabcdefgh.villas', true ],
            [ 'nic.vision', false ], [ 'nicabcdefgh.vision', true ],
            [ 'nic.vodka', false ], [ 'nicabcdefgh.vodka', true ],
            [ 'nic.vote', false ], [ 'nicabcdefgh.vote', true ],
            [ 'nic.voting', false ], [ 'nicabcdefgh.voting', true ],
            [ 'nic.voto', false ], [ 'nicabcdefgh.voto', true ],
            [ 'nic.voyage', false ], [ 'nicabcdefgh.voyage', true ],
            [ 'nic.wang', false ], [ 'nicabcdefgh.wang', true ],
            [ 'nic.watch', false ], [ 'nicabcdefgh.watch', true ],
            [ 'nic.wed', false ], [ 'nicabcdefgh.wed', true ],
            [ 'nic.wien', false ], [ 'nicabcdefgh.wien', true ],
            [ 'nic.wiki', false ], [ 'nicabcdefgh.wiki', true ],
            [ 'nic.works', false ], [ 'nicabcdefgh.works', true ],
            [ 'nic.wtc', false ], [ 'nicabcdefgh.wtc', true ],
            [ 'nic.wtf', false ], [ 'nicabcdefgh.wtf', true ],
            [ 'nic.xyz', false ], [ 'nicabcdefgh.xyz', true ],
            [ 'nic.zone', false ], [ 'nicabcdef.zone', true ]
        ];
    }
}
