Skip to content

back to Reference (Gold) summary

Reference (Gold): mimesis

Pytest Summary for test tests

status count
passed 6159
total 6159
collected 6159

Failed pytests:

Patch diff

diff --git a/mimesis/builtins/da.py b/mimesis/builtins/da.py
index 09340999..c6792576 100644
--- a/mimesis/builtins/da.py
+++ b/mimesis/builtins/da.py
@@ -1,28 +1,44 @@
 """Specific data provider for Denmark (da)."""
 import operator
+
 from mimesis import Datetime
 from mimesis.locales import Locale
 from mimesis.providers import BaseDataProvider
 from mimesis.types import MissingSeed, Seed
-__all__ = ['DenmarkSpecProvider']
+
+__all__ = ["DenmarkSpecProvider"]


 class DenmarkSpecProvider(BaseDataProvider):
     """Class that provides special data for Denmark (da)."""

-    def __init__(self, seed: Seed=MissingSeed) ->None:
+    def __init__(self, seed: Seed = MissingSeed) -> None:
         """Initialize attributes."""
         super().__init__(locale=Locale.DA, seed=seed)
-        self._datetime = Datetime(locale=Locale.DA, seed=seed, random=self.
-            random)
-        self._checksum_factors = 4, 3, 2, 7, 6, 5, 4, 3, 2
-
+        self._datetime = Datetime(
+            locale=Locale.DA,
+            seed=seed,
+            random=self.random,
+        )
+        self._checksum_factors = (4, 3, 2, 7, 6, 5, 4, 3, 2)

     class Meta:
-        name = 'denmark_provider'
+        name = "denmark_provider"
         datafile = None

-    def _calculate_checksum(self, cpr_nr_no_checksum: str) ->int:
+    def _calculate_century_selector(self, year: int) -> int:
+        if 1858 <= year < 1900:
+            return self.random.randint(5, 8)
+        elif 1900 <= year < 1937:
+            return self.random.randint(0, 3)
+        elif 1937 <= year < 2000:
+            return self.random.choice([4, 9])
+        elif 2000 <= year < 2037:
+            return self.random.randint(4, 9)
+
+        raise ValueError("Invalid year")
+
+    def _calculate_checksum(self, cpr_nr_no_checksum: str) -> int:
         """Calculate the CPR number checksum.

         The CPR checksum can be checked by:
@@ -44,13 +60,30 @@ class DenmarkSpecProvider(BaseDataProvider):
         Note: This method does not handle checksum == 10 case.
               It is handled by recursion in _generate_serial_checksum.
         """
-        pass
+        cpr_digits = map(int, cpr_nr_no_checksum)
+        cpr_digit_products = list(
+            map(
+                operator.mul,
+                cpr_digits,
+                self._checksum_factors,
+            )
+        )
+        remainder: int = sum(cpr_digit_products) % 11
+        if remainder == 0:
+            return 0
+        return 11 - remainder

-    def _generate_serial_checksum(self, cpr_century: str) ->tuple[str, int]:
+    def _generate_serial_checksum(self, cpr_century: str) -> tuple[str, int]:
         """Generate a serial number and checksum from cpr_century."""
-        pass
+        serial_number = f"{self.random.randint(0, 99):02d}"
+
+        cpr_nr_no_checksum = f"{cpr_century}{serial_number}"
+        checksum = self._calculate_checksum(cpr_nr_no_checksum)
+        if checksum == 10:
+            return self._generate_serial_checksum(cpr_century)
+        return serial_number, checksum

-    def cpr(self) ->str:
+    def cpr(self) -> str:
         """Generate a random CPR number (Central Person Registry).

         :return: CPR number.
@@ -58,4 +91,10 @@ class DenmarkSpecProvider(BaseDataProvider):
         :Example:
             0405420694
         """
-        pass
+        date = self._datetime.date(start=1858, end=2021)
+        cpr_date = f"{date:%d%m%y}"
+        century_selector = self._calculate_century_selector(date.year)
+        cpr_century = f"{cpr_date}{century_selector}"
+        serial_number, checksum = self._generate_serial_checksum(cpr_century)
+        cpr_nr = f"{cpr_century}{serial_number}{checksum}"
+        return cpr_nr
diff --git a/mimesis/builtins/en.py b/mimesis/builtins/en.py
index eb5e4db4..b054822b 100644
--- a/mimesis/builtins/en.py
+++ b/mimesis/builtins/en.py
@@ -1,23 +1,25 @@
 """Specific data provider for the USA (en)."""
+
+
 from mimesis.locales import Locale
 from mimesis.providers import BaseDataProvider
 from mimesis.types import MissingSeed, Seed
-__all__ = ['USASpecProvider']
+
+__all__ = ["USASpecProvider"]


 class USASpecProvider(BaseDataProvider):
     """Class that provides special data for the USA (en)."""

-    def __init__(self, seed: Seed=MissingSeed) ->None:
+    def __init__(self, seed: Seed = MissingSeed) -> None:
         """Initialize attributes."""
         super().__init__(locale=Locale.EN, seed=seed)

-
     class Meta:
-        name = 'usa_provider'
+        name = "usa_provider"
         datafile = None

-    def tracking_number(self, service: str='usps') ->str:
+    def tracking_number(self, service: str = "usps") -> str:
         """Generate random tracking number.

         Supported services: USPS, FedEx and UPS.
@@ -25,9 +27,26 @@ class USASpecProvider(BaseDataProvider):
         :param str service: Post service.
         :return: Tracking number.
         """
-        pass
+        service = service.lower()

-    def ssn(self) ->str:
+        if service not in ("usps", "fedex", "ups"):
+            raise ValueError("Unsupported post service")
+
+        services = {
+            "usps": (
+                "#### #### #### #### ####",
+                "@@ ### ### ### US",
+            ),
+            "fedex": (
+                "#### #### ####",
+                "#### #### #### ###",
+            ),
+            "ups": ("1Z@####@##########",),
+        }
+        mask = self.random.choice(services[service])
+        return self.random.generate_string_by_mask(mask=mask)
+
+    def ssn(self) -> str:
         """Generate a random, but valid SSN.

         :returns: SSN.
@@ -35,4 +54,12 @@ class USASpecProvider(BaseDataProvider):
         :Example:
             569-66-5801
         """
-        pass
+        area = self.random.randint(1, 899)
+        if area == 666:
+            area = 665
+
+        return "{:03}-{:02}-{:04}".format(
+            area,
+            self.random.randint(1, 99),
+            self.random.randint(1, 9999),
+        )
diff --git a/mimesis/builtins/it.py b/mimesis/builtins/it.py
index 3a689787..a89e24e6 100644
--- a/mimesis/builtins/it.py
+++ b/mimesis/builtins/it.py
@@ -1,25 +1,27 @@
 """Specific data provider for Italy (it)."""
+
 import string
+
 from mimesis.enums import Gender
 from mimesis.locales import Locale
 from mimesis.providers import BaseDataProvider
 from mimesis.types import MissingSeed, Seed
-__all__ = ['ItalySpecProvider']
+
+__all__ = ["ItalySpecProvider"]


 class ItalySpecProvider(BaseDataProvider):
     """Specific-provider of misc data for Italy."""

-    def __init__(self, seed: Seed=MissingSeed) ->None:
+    def __init__(self, seed: Seed = MissingSeed) -> None:
         """Initialize attributes."""
         super().__init__(locale=Locale.IT, seed=seed)

-
     class Meta:
-        name = 'italy_provider'
-        datafile = 'builtin.json'
+        name = "italy_provider"
+        datafile = "builtin.json"

-    def fiscal_code(self, gender: (Gender | None)=None) ->str:
+    def fiscal_code(self, gender: Gender | None = None) -> str:
         """Return a random fiscal code.

         :param gender: Gender's enum object.
@@ -28,4 +30,21 @@ class ItalySpecProvider(BaseDataProvider):
         Example:
             RSSMRA66R05D612U
         """
-        pass
+        code = "".join(self.random.choices(string.ascii_uppercase, k=6))
+
+        code += self.random.generate_string_by_mask(mask="##")
+
+        month_codes = self._extract(["fiscal_code", "month_codes"])
+        code += self.random.choice(month_codes)
+
+        birth_day = self.random.randint(101, 131)
+        self.validate_enum(gender, Gender)
+        if gender == Gender.FEMALE:
+            birth_day += 40
+        code += str(birth_day)[1:]
+
+        city_letters = self._extract(["fiscal_code", "city_letters"])
+        code += self.random.choice(city_letters)
+        code += self.random.generate_string_by_mask(mask="###@")
+
+        return code
diff --git a/mimesis/builtins/nl.py b/mimesis/builtins/nl.py
index 914a0a07..1079a174 100644
--- a/mimesis/builtins/nl.py
+++ b/mimesis/builtins/nl.py
@@ -1,23 +1,25 @@
 """Specific data provider for the Netherlands (nl)."""
+
+
 from mimesis.locales import Locale
 from mimesis.providers import BaseDataProvider
 from mimesis.types import MissingSeed, Seed
-__all__ = ['NetherlandsSpecProvider']
+
+__all__ = ["NetherlandsSpecProvider"]


 class NetherlandsSpecProvider(BaseDataProvider):
     """Class that provides special data for the Netherlands (nl)."""

-    def __init__(self, seed: Seed=MissingSeed) ->None:
+    def __init__(self, seed: Seed = MissingSeed) -> None:
         """Initialize attributes."""
         super().__init__(locale=Locale.NL, seed=seed)

-
     class Meta:
-        name = 'netherlands_provider'
+        name = "netherlands_provider"
         datafile = None

-    def bsn(self) ->str:
+    def bsn(self) -> str:
         """Generate a random, but valid ``Burgerservicenummer``.

         :returns: Random BSN.
@@ -25,11 +27,30 @@ class NetherlandsSpecProvider(BaseDataProvider):
         :Example:
             255159705
         """
-        pass

-    def burgerservicenummer(self) ->str:
+        def _is_valid_bsn(number: str) -> bool:
+            total = 0
+            multiplier = 9
+
+            for char in number:
+                multiplier = -multiplier if multiplier == 1 else multiplier
+                total += int(char) * multiplier
+                multiplier -= 1
+
+            result = total % 11 == 0
+            return result
+
+        a, b = (100000000, 999999999)
+        sample = str(self.random.randint(a, b))
+
+        while not _is_valid_bsn(sample):
+            sample = str(self.random.randint(a, b))
+
+        return sample
+
+    def burgerservicenummer(self) -> str:
         """Generate a random, but valid ``Burgerservicenummer``.

         An alias for self.bsn()
         """
-        pass
+        return self.bsn()
diff --git a/mimesis/builtins/pl.py b/mimesis/builtins/pl.py
index af19b5cb..9f4f08e3 100644
--- a/mimesis/builtins/pl.py
+++ b/mimesis/builtins/pl.py
@@ -1,43 +1,99 @@
 """Specific data provider for Poland (pl)."""
+
 from mimesis.enums import Gender
 from mimesis.locales import Locale
 from mimesis.providers import BaseDataProvider, Datetime
 from mimesis.types import DateTime, MissingSeed, Seed
-__all__ = ['PolandSpecProvider']
+
+__all__ = ["PolandSpecProvider"]


 class PolandSpecProvider(BaseDataProvider):
     """Class that provides special data for Poland (pl)."""

-    def __init__(self, seed: Seed=MissingSeed) ->None:
+    def __init__(self, seed: Seed = MissingSeed) -> None:
         """Initialize attributes."""
         super().__init__(locale=Locale.PL, seed=seed)

-
     class Meta:
-        name = 'poland_provider'
+        name = "poland_provider"
         datafile = None

-    def nip(self) ->str:
+    def nip(self) -> str:
         """Generate random valid 10-digit NIP.

         :return: Valid 10-digit NIP
         """
-        pass
+        nip_digits = [int(d) for d in str(self.random.randint(101, 998))]
+        nip_digits += [self.random.randint(0, 9) for _ in range(6)]
+        nip_coefficients = (6, 5, 7, 2, 3, 4, 5, 6, 7)
+        sum_v = sum(nc * nd for nc, nd in zip(nip_coefficients, nip_digits))

-    def pesel(self, birth_date: (DateTime | None)=None, gender: (Gender |
-        None)=None) ->str:
+        checksum_digit = sum_v % 11
+        if checksum_digit > 9:
+            return self.nip()
+        nip_digits.append(checksum_digit)
+        return "".join(map(str, nip_digits))
+
+    def pesel(
+        self,
+        birth_date: DateTime | None = None,
+        gender: Gender | None = None,
+    ) -> str:
         """Generate random 11-digit PESEL.

         :param birth_date: Initial birthdate (optional)
         :param gender: Gender of the person.
         :return: Valid 11-digit PESEL
         """
-        pass
+        date_object = birth_date
+        if not date_object:
+            date_object = Datetime().datetime(1940, 2018)
+
+        date = date_object.date()
+        year = date.year % 100
+        month = date.month
+        day = date.day
+
+        if 1800 <= year <= 1899:
+            month += 80
+        elif 2000 <= year <= 2099:
+            month += 20
+        elif 2100 <= year <= 2199:
+            month += 40
+        elif 2200 <= year <= 2299:
+            month += 60
+
+        series_number = self.random.randint(0, 999)
+
+        pesel_digits = list(
+            map(int, f"{year:02d}{month:02d}{day:02d}{series_number:03d}")
+        )
+
+        if gender == Gender.MALE:
+            gender_digit = self.random.choice((1, 3, 5, 7, 9))
+        elif gender == Gender.FEMALE:
+            gender_digit = self.random.choice((0, 2, 4, 6, 8))
+        else:
+            gender_digit = self.random.choice(range(10))
+
+        pesel_digits.append(gender_digit)
+        pesel_coeffs = (9, 7, 3, 1, 9, 7, 3, 1, 9, 7)
+        sum_v = sum(nc * nd for nc, nd in zip(pesel_coeffs, pesel_digits))
+        checksum_digit = sum_v % 10
+        pesel_digits.append(checksum_digit)
+        return "".join(map(str, pesel_digits))

-    def regon(self) ->str:
+    def regon(self) -> str:
         """Generate random valid 9-digit REGON.

         :return: Valid 9-digit REGON
         """
-        pass
+        regon_coeffs = (8, 9, 2, 3, 4, 5, 6, 7)
+        regon_digits = [self.random.randint(0, 9) for _ in range(8)]
+        sum_v = sum(nc * nd for nc, nd in zip(regon_coeffs, regon_digits))
+        checksum_digit = sum_v % 11
+        if checksum_digit > 9:
+            checksum_digit = 0
+        regon_digits.append(checksum_digit)
+        return "".join(map(str, regon_digits))
diff --git a/mimesis/builtins/pt_br.py b/mimesis/builtins/pt_br.py
index 0ac1b934..e3739900 100644
--- a/mimesis/builtins/pt_br.py
+++ b/mimesis/builtins/pt_br.py
@@ -1,33 +1,44 @@
 """Specific data provider for Brazil (pt-br)."""
+
 from mimesis.locales import Locale
 from mimesis.providers import BaseDataProvider
 from mimesis.types import MissingSeed, Seed
-__all__ = ['BrazilSpecProvider']
+
+__all__ = ["BrazilSpecProvider"]


 class BrazilSpecProvider(BaseDataProvider):
     """Class that provides special data for Brazil (pt-br)."""

-    def __init__(self, seed: Seed=MissingSeed) ->None:
+    def __init__(self, seed: Seed = MissingSeed) -> None:
         """Initialize attributes."""
         super().__init__(locale=Locale.PT_BR, seed=seed)

-
     class Meta:
-        name = 'brazil_provider'
+        name = "brazil_provider"
         datafile = None

     @staticmethod
-    def __get_verifying_digit_cpf(cpf: list[int], weight: int) ->int:
+    def __get_verifying_digit_cpf(cpf: list[int], weight: int) -> int:
         """Calculate the verifying digit for the CPF.

         :param cpf: List of integers with the CPF.
         :param weight: Integer with the weight for the modulo 11 calculate.
         :returns: The verifying digit for the CPF.
         """
-        pass
+        total = 0
+
+        for index, digit in enumerate(cpf):
+            total += digit * (weight - index)
+
+        remainder = total % 11

-    def cpf(self, with_mask: bool=True) ->str:
+        if remainder == 0 or remainder == 1 or remainder >= 11:
+            return 0
+
+        return 11 - remainder
+
+    def cpf(self, with_mask: bool = True) -> str:
         """Get a random CPF.

         :param with_mask: Use CPF mask (###.###.###-##).
@@ -36,19 +47,42 @@ class BrazilSpecProvider(BaseDataProvider):
         :Example:
             001.137.297-40
         """
-        pass
+
+        cpf_without_dv = [self.random.randint(0, 9) for _ in range(9)]
+        first_dv = self.__get_verifying_digit_cpf(cpf_without_dv, 10)
+
+        cpf_without_dv.append(first_dv)
+        second_dv = self.__get_verifying_digit_cpf(cpf_without_dv, 11)
+        cpf_without_dv.append(second_dv)
+
+        cpf = "".join(str(i) for i in cpf_without_dv)
+
+        if with_mask:
+            return f"{cpf[:3]}.{cpf[3:6]}.{cpf[6:9]}-{cpf[9:]}"
+        return cpf

     @staticmethod
-    def __get_verifying_digit_cnpj(cnpj: list[int], weight: int) ->int:
+    def __get_verifying_digit_cnpj(cnpj: list[int], weight: int) -> int:
         """Calculate the verifying digit for the CNPJ.

         :param cnpj: List of integers with the CNPJ.
         :param weight: Integer with the weight for the modulo 11 calculate.
         :returns: The verifying digit for the CNPJ.
         """
-        pass
+        total = 0
+        weights_dict = {
+            5: [5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2],
+            6: [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2],
+        }
+        weights = weights_dict[weight]
+
+        for i, _ in enumerate(cnpj):
+            total += weights[i] * cnpj[i]

-    def cnpj(self, with_mask: bool=True) ->str:
+        remainder = total % 11
+        return 0 if (remainder < 2) else (11 - remainder)
+
+    def cnpj(self, with_mask: bool = True) -> str:
         """Get a random CNPJ.

         :param with_mask: Use cnpj mask (###.###.###-##)
@@ -57,4 +91,19 @@ class BrazilSpecProvider(BaseDataProvider):
         :Example:
             77.732.230/0001-70
         """
-        pass
+
+        cnpj_without_dv = [self.random.randint(0, 9) for _ in range(12)]
+
+        first_dv = self.__get_verifying_digit_cnpj(cnpj_without_dv, 5)
+        cnpj_without_dv.append(first_dv)
+
+        second_dv = self.__get_verifying_digit_cnpj(cnpj_without_dv, 6)
+        cnpj_without_dv.append(second_dv)
+
+        cnpj = "".join(str(i) for i in cnpj_without_dv)
+
+        if with_mask:
+            return "{}.{}.{}/{}-{}".format(
+                cnpj[:2], cnpj[2:5], cnpj[5:8], cnpj[8:12], cnpj[12:]
+            )
+        return cnpj
diff --git a/mimesis/builtins/ru.py b/mimesis/builtins/ru.py
index a799dafb..77bd6512 100644
--- a/mimesis/builtins/ru.py
+++ b/mimesis/builtins/ru.py
@@ -1,34 +1,41 @@
 """Specific data provider for Russia (ru)."""
+
 from datetime import datetime
+
 from mimesis.enums import Gender
 from mimesis.locales import Locale
 from mimesis.providers import BaseDataProvider
 from mimesis.types import MissingSeed, Seed
-__all__ = ['RussiaSpecProvider']
+
+__all__ = ["RussiaSpecProvider"]


 class RussiaSpecProvider(BaseDataProvider):
     """Class that provides special data for Russia (ru)."""

-    def __init__(self, seed: Seed=MissingSeed) ->None:
+    def __init__(self, seed: Seed = MissingSeed) -> None:
         """Initialize attributes."""
         super().__init__(locale=Locale.RU, seed=seed)
         self._current_year = str(datetime.now().year)

-
     class Meta:
         """The name of the provider."""
-        name = 'russia_provider'
-        datafile = 'builtin.json'

-    def generate_sentence(self) ->str:
+        name = "russia_provider"
+        datafile = "builtin.json"
+
+    def generate_sentence(self) -> str:
         """Generate sentence from the parts.

         :return: Sentence.
         """
-        pass
+        sentences = self._extract(["sentence"])
+        sentence = [
+            self.random.choice(sentences[k]) for k in ("head", "p1", "p2", "tail")
+        ]
+        return " ".join(sentence)

-    def patronymic(self, gender: (Gender | None)=None) ->str:
+    def patronymic(self, gender: Gender | None = None) -> str:
         """Generate random patronymic name.

         :param gender: Gender of person.
@@ -37,9 +44,11 @@ class RussiaSpecProvider(BaseDataProvider):
         :Example:
             Алексеевна.
         """
-        pass
+        gender = self.validate_enum(gender, Gender)
+        patronymics: list[str] = self._extract(["patronymic", str(gender)])
+        return self.random.choice(patronymics)

-    def passport_series(self, year: (int | None)=None) ->str:
+    def passport_series(self, year: int | None = None) -> str:
         """Generate random series of passport.

         :param year: Year of manufacture.
@@ -49,9 +58,13 @@ class RussiaSpecProvider(BaseDataProvider):
         :Example:
             02 15.
         """
-        pass
+        if not year:
+            year = self.random.randint(10, int(self._current_year[2:]))
+
+        region = self.random.randint(1, 99)
+        return f"{region:02d} {year}"

-    def passport_number(self) ->int:
+    def passport_number(self) -> int:
         """Generate random passport number.

         :return: Number.
@@ -59,9 +72,9 @@ class RussiaSpecProvider(BaseDataProvider):
         :Example:
             560430
         """
-        pass
+        return self.random.randint(100000, 999999)

-    def series_and_number(self) ->str:
+    def series_and_number(self) -> str:
         """Generate a random passport number and series.

         :return: Series and number.
@@ -69,9 +82,11 @@ class RussiaSpecProvider(BaseDataProvider):
         :Example:
             57 16 805199.
         """
-        pass
+        series = self.passport_series()
+        number = self.passport_number()
+        return f"{series} {number}"

-    def snils(self) ->str:
+    def snils(self) -> str:
         """Generate snils with a special algorithm.

         :return: SNILS.
@@ -79,16 +94,63 @@ class RussiaSpecProvider(BaseDataProvider):
         :Example:
             41917492600.
         """
-        pass
+        numbers = []
+        control_codes = []
+
+        for i in range(0, 9):
+            numbers.append(self.random.randint(0, 9))
+
+        for i in range(9, 0, -1):
+            control_codes.append(numbers[9 - i] * i)

-    def inn(self) ->str:
+        control_code = sum(control_codes)
+        code = "".join(map(str, numbers))
+
+        if control_code in (100, 101):
+            _snils = code + "00"
+            return _snils
+
+        if control_code < 100:
+            _snils = code + str(control_code)
+            return _snils
+
+        if control_code > 101:
+            control_code = control_code % 101
+            if control_code == 100:
+                control_code = 0
+            _snils = code + f"{control_code:02}"
+            return _snils
+        raise RuntimeError("Must not be reached")
+
+    def inn(self) -> str:
         """Generate random, but valid ``INN``.

         :return: INN.
         """
-        pass

-    def ogrn(self) ->str:
+        def control_sum(nums: list[int], t: str) -> int:
+            digits_dict = {
+                "n2": [7, 2, 4, 10, 3, 5, 9, 4, 6, 8],
+                "n1": [3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8],
+            }
+            number = 0
+            digits = digits_dict[t]
+
+            for i, _ in enumerate(digits, start=0):
+                number += nums[i] * digits[i]
+            return number % 11 % 10
+
+        numbers = []
+        for x in range(0, 10):
+            numbers.append(self.random.randint(1 if x == 0 else 0, 9))
+
+        n2 = control_sum(numbers, "n2")
+        numbers.append(n2)
+        n1 = control_sum(numbers, "n1")
+        numbers.append(n1)
+        return "".join(map(str, numbers))
+
+    def ogrn(self) -> str:
         """Generate random valid ``OGRN``.

         :return: OGRN.
@@ -96,9 +158,16 @@ class RussiaSpecProvider(BaseDataProvider):
         :Example:
             4715113303725.
         """
-        pass
+        numbers = []
+        for _ in range(0, 12):
+            numbers.append(self.random.randint(1 if _ == 0 else 0, 9))

-    def bic(self) ->str:
+        _ogrn = "".join(str(i) for i in numbers)
+        check_sum = str(int(_ogrn) % 11 % 10)
+
+        return f"{_ogrn}{check_sum}"
+
+    def bic(self) -> str:
         """Generate random ``BIC`` (Bank ID Code).

         :return: BIC.
@@ -106,9 +175,14 @@ class RussiaSpecProvider(BaseDataProvider):
         :Example:
             044025575.
         """
-        pass
-
-    def kpp(self) ->str:
+        country_code = "04"
+        code = f"{self.random.randint(1, 10):02}"
+        bank_number = f"{self.random.randint(0, 99):02}"
+        bank_office = f"{self.random.randint(50, 999):03}"
+        bic = country_code + code + bank_number + bank_office
+        return bic
+
+    def kpp(self) -> str:
         """Generate random ``KPP``.

         :return: 'KPP'.
@@ -116,4 +190,9 @@ class RussiaSpecProvider(BaseDataProvider):
         :Example:
             560058652.
         """
-        pass
+        tax_codes: list[str] = self._extract(["tax_codes"])
+        tax_code = tax_codes[self.random.randint(0, len(tax_codes) - 1)]
+        reg_code = f"{self.random.randint(1, 99):02}"
+        reg_number = f"{self.random.randint(1, 999):03}"
+        kpp = tax_code + reg_code + reg_number
+        return kpp
diff --git a/mimesis/builtins/uk.py b/mimesis/builtins/uk.py
index 8164a9f1..fe06934a 100644
--- a/mimesis/builtins/uk.py
+++ b/mimesis/builtins/uk.py
@@ -1,28 +1,31 @@
 """Specific data provider for Ukraine (uk)."""
+
 from mimesis.enums import Gender
 from mimesis.locales import Locale
 from mimesis.providers import BaseDataProvider
 from mimesis.types import MissingSeed, Seed
-__all__ = ['UkraineSpecProvider']
+
+__all__ = ["UkraineSpecProvider"]


 class UkraineSpecProvider(BaseDataProvider):
     """Class that provides special data for Ukraine (uk)."""

-    def __init__(self, seed: Seed=MissingSeed) ->None:
+    def __init__(self, seed: Seed = MissingSeed) -> None:
         """Initialize attributes."""
         super().__init__(locale=Locale.UK, seed=seed)

-
     class Meta:
-        name = 'ukraine_provider'
-        datafile = 'builtin.json'
+        name = "ukraine_provider"
+        datafile = "builtin.json"

-    def patronymic(self, gender: (Gender | None)=None) ->str:
+    def patronymic(self, gender: Gender | None = None) -> str:
         """Generate random patronymic name.

         :param gender: Gender of person.
         :type gender: str or int
         :return: Patronymic name.
         """
-        pass
+        gender = self.validate_enum(gender, Gender)
+        patronymics: list[str] = self._extract(["patronymic", str(gender)])
+        return self.random.choice(patronymics)
diff --git a/mimesis/compat.py b/mimesis/compat.py
index 4fed9f7d..c51478ed 100644
--- a/mimesis/compat.py
+++ b/mimesis/compat.py
@@ -1,5 +1,6 @@
 """Import optional dependencies only when needed."""
+
 try:
     import pytz
 except ImportError:
-    pytz = None
+    pytz = None  # type: ignore
diff --git a/mimesis/constants.py b/mimesis/constants.py
index d33bb294..00c9968a 100644
--- a/mimesis/constants.py
+++ b/mimesis/constants.py
@@ -1,5 +1,9 @@
 from pathlib import Path
 from typing import Final
-__all__ = ['DATADIR', 'LOCALE_SEP']
-DATADIR: Final[Path] = Path(__file__).parent / 'datasets'
-LOCALE_SEP: Final[str] = '-'
+
+__all__ = ["DATADIR", "LOCALE_SEP"]
+
+# This is the path to the data directory in the mimesis package.
+DATADIR: Final[Path] = Path(__file__).parent / "datasets"
+
+LOCALE_SEP: Final[str] = "-"
diff --git a/mimesis/datasets/int/address.py b/mimesis/datasets/int/address.py
index b32225a9..254ad2bc 100644
--- a/mimesis/datasets/int/address.py
+++ b/mimesis/datasets/int/address.py
@@ -1,149 +1,1476 @@
 """Provides all the generic data related to the address."""
-COUNTRY_CODES = {'a2': ['AD', 'AE', 'AF', 'AG', 'AI', 'AL', 'AM', 'AO',
-    'AQ', 'AR', 'AS', 'AT', 'AU', 'AW', 'AX', 'AZ', 'BA', 'BB', 'BD', 'BE',
-    'BF', 'BG', 'BH', 'BI', 'BJ', 'BL', 'BM', 'BN', 'BO', 'BR', 'BS', 'BT',
-    'BV', 'BW', 'BY', 'BZ', 'CA', 'CC', 'CD', 'CF', 'CG', 'CH', 'CI', 'CK',
-    'CL', 'CM', 'CN', 'CO', 'CR', 'CU', 'CV', 'CX', 'CY', 'CZ', 'DE', 'DJ',
-    'DK', 'DM', 'DO', 'DZ', 'EC', 'EE', 'EG', 'EH', 'ER', 'ES', 'ET', 'FI',
-    'FJ', 'FK', 'FM', 'FO', 'FR', 'GA', 'GB', 'GD', 'GE', 'GF', 'GG', 'GH',
-    'GI', 'GL', 'GM', 'GN', 'GP', 'GQ', 'GR', 'GS', 'GT', 'GU', 'GW', 'GY',
-    'HK', 'HM', 'HN', 'HR', 'HT', 'HU', 'ID', 'IE', 'IL', 'IM', 'IN', 'IO',
-    'IQ', 'IR', 'IS', 'IT', 'JE', 'JM', 'JO', 'JP', 'KE', 'KG', 'KH', 'KI',
-    'KM', 'KN', 'KP', 'KR', 'KW', 'KY', 'KZ', 'LA', 'LB', 'LC', 'LI', 'LK',
-    'LR', 'LS', 'LT', 'LU', 'LV', 'LY', 'MA', 'MC', 'MD', 'ME', 'MF', 'MG',
-    'MH', 'MK', 'ML', 'MM', 'MN', 'MO', 'MP', 'MQ', 'MR', 'MS', 'MT', 'MU',
-    'MV', 'MW', 'MX', 'MY', 'MZ', 'NA', 'NC', 'NE', 'NF', 'NG', 'NI', 'NL',
-    'NO', 'NP', 'NR', 'NU', 'NZ', 'OM', 'PA', 'PE', 'PF', 'PG', 'PH', 'PK',
-    'PL', 'PM', 'PN', 'PR', 'PS', 'PT', 'PW', 'PY', 'QA', 'RE', 'RO', 'RS',
-    'RU', 'RW', 'SA', 'SB', 'SC', 'SD', 'SE', 'SG', 'SH', 'SI', 'SJ', 'SK',
-    'SL', 'SM', 'SN', 'SO', 'SR', 'SS', 'ST', 'SV', 'SY', 'SZ', 'TC', 'TD',
-    'TF', 'TG', 'TH', 'TJ', 'TK', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TV',
-    'TW', 'TZ', 'UA', 'UG', 'UM', 'US', 'UY', 'UZ', 'VA', 'VC', 'VE', 'VG',
-    'VI', 'VN', 'VU', 'WF', 'WS', 'YE', 'YT', 'ZA', 'ZM', 'ZW'], 'a3': [
-    'AND', 'ARE', 'AFG', 'ATG', 'AIA', 'ALB', 'ARM', 'ANT', 'AGO', 'ATA',
-    'ARG', 'ASM', 'AUT', 'AUS', 'ABW', 'ALA', 'AZE', 'BIH', 'BRB', 'BGD',
-    'BEL', 'BFA', 'BGR', 'BHR', 'BDI', 'BEN', 'BLM', 'BMU', 'BRN', 'BOL',
-    'BRA', 'BHS', 'BTN', 'BVT', 'BWA', 'BLR', 'BLZ', 'CAN', 'CCK', 'COD',
-    'CAF', 'COG', 'CHE', 'CIV', 'COK', 'CHL', 'CMR', 'CHN', 'COL', 'CRI',
-    'CUB', 'CPV', 'CXR', 'CYP', 'CZE', 'DEU', 'DJI', 'DNK', 'DMA', 'DOM',
-    'DZA', 'ECU', 'EST', 'EGY', 'ESH', 'ERI', 'ESP', 'ETH', 'FIN', 'FJI',
-    'FLK', 'FSM', 'FRO', 'FRA', 'GAB', 'GBR', 'GRD', 'GEO', 'GUF', 'GGY',
-    'GHA', 'GIB', 'GRL', 'GMB', 'GIN', 'GLP', 'GNQ', 'GRC', 'SGS', 'GTM',
-    'GUM', 'GNB', 'GUY', 'HKG', 'HMD', 'HND', 'HRV', 'HTI', 'HUN', 'IDN',
-    'IRL', 'ISR', 'IMN', 'IND', 'IOT', 'IRQ', 'IRN', 'ISL', 'ITA', 'JEY',
-    'JAM', 'JOR', 'JPN', 'KEN', 'KGZ', 'KHM', 'KIR', 'COM', 'KNA', 'PRK',
-    'KOR', 'KWT', 'CYM', 'KAZ', 'LAO', 'LBN', 'LCA', 'LIE', 'LKA', 'LBR',
-    'LSO', 'LTU', 'LUX', 'LVA', 'LBY', 'MAR', 'MCO', 'MDA', 'MNE', 'MAF',
-    'MDG', 'MHL', 'MKD', 'MLI', 'MMR', 'MNG', 'MAC', 'MNP', 'MTQ', 'MRT',
-    'MSR', 'MLT', 'MUS', 'MDV', 'MWI', 'MEX', 'MYS', 'MOZ', 'NAM', 'NCL',
-    'NER', 'NFK', 'NGA', 'NIC', 'NLD', 'NOR', 'NPL', 'NRU', 'NIU', 'NZL',
-    'OMN', 'PAN', 'PER', 'PYF', 'PNG', 'PHL', 'PAK', 'POL', 'SPM', 'PCN',
-    'PRI', 'PSE', 'PRT', 'PLW', 'PRY', 'QAT', 'REU', 'ROU', 'SRB', 'RUS',
-    'RWA', 'SAU', 'SLB', 'SYC', 'SDN', 'SWE', 'SGP', 'SHN', 'SVN', 'SJM',
-    'SVK', 'SLE', 'SMR', 'SEN', 'SOM', 'SUR', 'SSD', 'STP', 'SLV', 'SYR',
-    'SWZ', 'TCA', 'TCD', 'ATF', 'TGO', 'THA', 'TJK', 'TKL', 'TLS', 'TKM',
-    'TUN', 'TON', 'TUR', 'TTO', 'TUV', 'TWN', 'TZA', 'UKR', 'UGA', 'UMI',
-    'USA', 'URY', 'UZB', 'VAT', 'VCT', 'VEN', 'VGB', 'VIR', 'VNM', 'VUT',
-    'WLF', 'WSM', 'YEM', 'MYT', 'ZAF', 'ZMB', 'ZWE'], 'fifa': ['AFG', 'AIA',
-    'ALB', 'ALG', 'AND', 'ANG', 'ARG', 'ARM', 'ARU', 'ARU', 'ASA', 'ATG',
-    'AUT', 'AZE', 'BAH', 'BAN', 'BDI', 'BEL', 'BEN', 'BER', 'BFA', 'BHR',
-    'BHU', 'BIH', 'BLR', 'BLZ', 'BOE', 'BOL', 'BOT', 'BRA', 'BRB', 'BRU',
-    'BUL', 'CAM', 'CAN', 'CAY', 'CGO', 'CHA', 'CHI', 'CHN', 'CIV', 'CMR',
-    'COD', 'COK', 'COL', 'COM', 'CPV', 'CRC', 'CRO', 'CTA', 'CUB', 'CUW',
-    'CYP', 'CZE', 'DEN', 'DJI', 'DMA', 'DOM', 'ECU', 'EGY', 'ENG', 'EQG',
-    'ERI', 'ESP', 'EST', 'ETH', 'FIJ', 'FIN', 'FRA', 'FRO', 'GAB', 'GAM',
-    'GEO', 'GER', 'GHA', 'GIB', 'GNB', 'GPE', 'GRE', 'GRN', 'GUA', 'GUI',
-    'GUM', 'GUY', 'GYF', 'HAI', 'HKG', 'HON', 'HUN', 'IDN', 'IND', 'IRL',
-    'IRN', 'IRQ', 'ISL', 'ISR', 'ITA', 'JAM', 'JOR', 'JPN', 'KAZ', 'KEN',
-    'KGZ', 'KIR', 'KOR', 'KSA', 'KUW', 'LAO', 'LBR', 'LBY', 'LCA', 'LES',
-    'LIB', 'LIE', 'LTU', 'LUX', 'LVA', 'MAC', 'MAD', 'MAR', 'MAS', 'MDA',
-    'MDV', 'MEX', 'MKD', 'MLI', 'MLT', 'MNE', 'MNG', 'MOZ', 'MRI', 'MSR',
-    'MTN', 'MTQ', 'MWI', 'MYA', 'NAM', 'NCA', 'NCL', 'NED', 'NEP', 'NGA',
-    'NIG', 'NIR', 'NIU', 'NMI', 'NOR', 'NZL', 'OMA', 'PAK', 'PAN', 'PAR',
-    'PER', 'PHI', 'PLE', 'PNG', 'POL', 'POR', 'PRK', 'PUR', 'QAT', 'REU',
-    'ROU', 'RSA', 'RUS', 'RWA', 'SAM', 'SCO', 'SDN', 'SEN', 'SEY', 'SIN',
-    'SKN', 'SLE', 'SLV', 'SMR', 'SMT', 'SOL', 'SOM', 'SRB', 'SRI', 'SSD',
-    'STP', 'SUI', 'SUR', 'SVK', 'SVN', 'SWE', 'SWZ', 'SXM', 'SYR', 'TAH',
-    'TAN', 'TCA', 'TGA', 'THA', 'TJK', 'TKM', 'TLS', 'TOG', 'TPE', 'TRI',
-    'TUN', 'TUR', 'TUV', 'UAE', 'UGA', 'UKR', 'URU', 'USA', 'UZB', 'VAN',
-    'VEN', 'VGB', 'VIE', 'VIN', 'VIR', 'WAL', 'YEM', 'ZAM', 'ZAN', 'ZIM'],
-    'ioc': ['AFG', 'ALB', 'ALG', 'AND', 'ANG', 'ANT', 'ARG', 'ARM', 'ARU',
-    'ASA', 'AUS', 'AUT', 'AZE', 'BAH', 'BAN', 'BAR', 'BDI', 'BEL', 'BEN',
-    'BER', 'BHU', 'BIH', 'BIZ', 'BLR', 'BOL', 'BOT', 'BRA', 'BRN', 'BRU',
-    'BUL', 'BUR', 'CAF', 'CAM', 'CAN', 'CAY', 'CGO', 'CHA', 'CHI', 'CHN',
-    'CIV', 'CMR', 'COD', 'COK', 'COL', 'COM', 'CPV', 'CRC', 'CRO', 'CUB',
-    'CYP', 'CZE', 'DEN', 'DJI', 'DMA', 'DOM', 'ECU', 'EGY', 'ERI', 'ESA',
-    'ESP', 'EST', 'ETH', 'FIJ', 'FIN', 'FRA', 'FSM', 'GAB', 'GAM', 'GBR',
-    'GBS', 'GEO', 'GEQ', 'GER', 'GHA', 'GRE', 'GRN', 'GUA', 'GUI', 'GUM',
-    'GUY', 'HAI', 'HKG', 'HON', 'HUN', 'INA', 'IND', 'IRI', 'IRL', 'IRQ',
-    'ISL', 'ISR', 'ISV', 'ITA', 'IVB', 'JAM', 'JOR', 'JPN', 'KAZ', 'KEN',
-    'KGZ', 'KIR', 'KOR', 'KSA', 'KUW', 'LAO', 'LAT', 'LBA', 'LBR', 'LCA',
-    'LES', 'LIB', 'LIE', 'LTU', 'LUX', 'MAD', 'MAR', 'MAS', 'MAW', 'MDA',
-    'MDV', 'MEX', 'MGL', 'MHL', 'MKD', 'MLI', 'MLT', 'MNE', 'MON', 'MOZ',
-    'MRI', 'MTN', 'MYA', 'NAM', 'NCA', 'NED', 'NEP', 'NGR', 'NIG', 'NOR',
-    'NRU', 'NZL', 'OMA', 'PAK', 'PAN', 'PAR', 'PER', 'PHI', 'PLE', 'PLW',
-    'PNG', 'POL', 'POR', 'PRK', 'PUR', 'QAT', 'ROU', 'RSA', 'RUS', 'RWA',
-    'SAM', 'SEN', 'SEY', 'SIN', 'SKN', 'SLE', 'SLO', 'SMR', 'SOL', 'SOM',
-    'SRB', 'SRI', 'STP', 'SUD', 'SUI', 'SUR', 'SVK', 'SWE', 'SWZ', 'SYR',
-    'TAN', 'TGA', 'THA', 'TJK', 'TKM', 'TLS', 'TOG', 'TPE', 'TTO', 'TUN',
-    'TUR', 'TUV', 'UAE', 'UGA', 'UKR', 'URU', 'USA', 'UZB', 'VAN', 'VEN',
-    'VIE', 'VIN', 'YEM', 'ZAM', 'ZIM'], 'numeric': ['020', '784', '004',
-    '028', '660', '008', '051', '530', '024', '010', '032', '016', '040',
-    '036', '533', '248', '031', '070', '052', '050', '056', '854', '100',
-    '048', '108', '204', '652', '060', '096', '068', '076', '044', '064',
-    '074', '072', '112', '084', '124', '166', '180', '140', '178', '756',
-    '384', '184', '152', '120', '156', '170', '188', '192', '132', '162',
-    '196', '203', '276', '262', '208', '212', '214', '012', '218', '233',
-    '818', '732', '232', '724', '231', '246', '242', '238', '583', '234',
-    '250', '266', '826', '308', '268', '254', '831', '288', '292', '304',
-    '270', '324', '312', '226', '300', '239', '320', '316', '624', '328',
-    '344', '334', '340', '191', '332', '348', '360', '372', '376', '833',
-    '356', '086', '368', '364', '352', '380', '832', '388', '400', '392',
-    '404', '417', '116', '296', '174', '659', '408', '410', '414', '136',
-    '398', '418', '422', '662', '438', '144', '430', '426', '440', '442',
-    '428', '434', '504', '492', '498', '499', '663', '450', '584', '807',
-    '466', '104', '496', '446', '580', '474', '478', '500', '470', '480',
-    '462', '454', '484', '458', '508', '516', '540', '562', '574', '566',
-    '558', '528', '578', '524', '520', '570', '554', '512', '591', '604',
-    '258', '598', '608', '586', '616', '666', '612', '630', '275', '620',
-    '585', '600', '634', '638', '642', '688', '643', '646', '682', '090',
-    '690', '736', '752', '702', '654', '705', '744', '703', '694', '674',
-    '686', '706', '740', '728', '678', '222', '760', '748', '796', '148',
-    '260', '768', '764', '762', '772', '626', '795', '788', '776', '792',
-    '780', '798', '158', '834', '804', '800', '581', '840', '858', '860',
-    '336', '670', '862', '092', '850', '704', '548', '876', '882', '887',
-    '175', '710', '894', '716']}
-SHORTENED_ADDRESS_FMT = ['cs', 'da', 'de', 'de-at', 'de-ch', 'el', 'es',
-    'fi', 'is', 'nl', 'nl-be', 'no', 'sk', 'sv']
-CONTINENT_CODES = ['AF', 'NA', 'OC', 'AN', 'AS', 'EU', 'SA']
-CALLING_CODES = ['+1', '+7', '+20', '+27', '+30', '+31', '+32', '+33',
-    '+34', '+36', '+39', '+40', '+41', '+43', '+44', '+44', '+44', '+44',
-    '+45', '+46', '+47', '+48', '+49', '+51', '+52', '+53', '+54', '+55',
-    '+56', '+56', '+57', '+58', '+60', '+61', '+61', '+61', '+62', '+63',
-    '+64', '+64', '+64', '+65', '+66', '+77', '+81', '+82', '+84', '+86',
-    '+90', '+91', '+92', '+93', '+94', '+95', '+98', '+211', '+212', '+213',
-    '+216', '+218', '+220', '+221', '+222', '+223', '+224', '+225', '+226',
-    '+227', '+228', '+229', '+230', '+231', '+232', '+233', '+234', '+235',
-    '+236', '+237', '+238', '+239', '+240', '+241', '+242', '+243', '+244',
-    '+245', '+246', '+246', '+247', '+248', '+249', '+250', '+251', '+252',
-    '+253', '+254', '+255', '+255', '+256', '+257', '+258', '+260', '+261',
-    '+262', '+262', '+263', '+264', '+265', '+266', '+267', '+268', '+269',
-    '+290', '+291', '+297', '+298', '+299', '+350', '+351', '+352', '+353',
-    '+354', '+355', '+356', '+357', '+358', '+359', '+370', '+371', '+372',
-    '+373', '+374', '+375', '+376', '+377', '+378', '+379', '+380', '+381',
-    '+382', '+383', '+385', '+386', '+387', '+389', '+420', '+421', '+423',
-    '+500', '+500', '+501', '+502', '+503', '+504', '+505', '+506', '+507',
-    '+508', '+509', '+590', '+590', '+590', '+591', '+592', '+593', '+594',
-    '+595', '+596', '+596', '+597', '+598', '+670', '+672', '+672', '+673',
-    '+674', '+675', '+676', '+677', '+678', '+679', '+680', '+681', '+682',
-    '+683', '+685', '+686', '+687', '+688', '+689', '+690', '+691', '+692',
-    '+800', '+808', '+850', '+852', '+853', '+855', '+856', '+870', '+878',
-    '+880', '+881', '+886', '+960', '+961', '+962', '+963', '+964', '+965',
-    '+966', '+967', '+968', '+970', '+971', '+972', '+973', '+974', '+975',
-    '+976', '+977', '+992', '+993', '+994', '+995', '+996', '+998', '+1242',
-    '+1246', '+1264', '+1268', '+1268', '+1284', '+1340', '+1345', '+1441',
-    '+1473', '+1649', '+1664', '+1670', '+1671', '+1684', '+1721', '+1758',
-    '+1767', '+1784', '+1808', '+1808', '+1849', '+1868', '+1869', '+1869',
-    '+1876', '+1939', '+2908', '+4779', '+4779', '+5399', '+5993', '+5994',
-    '+5997', '+5997', '+5999', '+8810', '+8813', '+8817', '+8818', '+35818',
-    '+88213', '+88216', '+90392', '+99534', '+99544']
+
+COUNTRY_CODES = {
+    "a2": [
+        "AD",
+        "AE",
+        "AF",
+        "AG",
+        "AI",
+        "AL",
+        "AM",
+        "AO",
+        "AQ",
+        "AR",
+        "AS",
+        "AT",
+        "AU",
+        "AW",
+        "AX",
+        "AZ",
+        "BA",
+        "BB",
+        "BD",
+        "BE",
+        "BF",
+        "BG",
+        "BH",
+        "BI",
+        "BJ",
+        "BL",
+        "BM",
+        "BN",
+        "BO",
+        "BR",
+        "BS",
+        "BT",
+        "BV",
+        "BW",
+        "BY",
+        "BZ",
+        "CA",
+        "CC",
+        "CD",
+        "CF",
+        "CG",
+        "CH",
+        "CI",
+        "CK",
+        "CL",
+        "CM",
+        "CN",
+        "CO",
+        "CR",
+        "CU",
+        "CV",
+        "CX",
+        "CY",
+        "CZ",
+        "DE",
+        "DJ",
+        "DK",
+        "DM",
+        "DO",
+        "DZ",
+        "EC",
+        "EE",
+        "EG",
+        "EH",
+        "ER",
+        "ES",
+        "ET",
+        "FI",
+        "FJ",
+        "FK",
+        "FM",
+        "FO",
+        "FR",
+        "GA",
+        "GB",
+        "GD",
+        "GE",
+        "GF",
+        "GG",
+        "GH",
+        "GI",
+        "GL",
+        "GM",
+        "GN",
+        "GP",
+        "GQ",
+        "GR",
+        "GS",
+        "GT",
+        "GU",
+        "GW",
+        "GY",
+        "HK",
+        "HM",
+        "HN",
+        "HR",
+        "HT",
+        "HU",
+        "ID",
+        "IE",
+        "IL",
+        "IM",
+        "IN",
+        "IO",
+        "IQ",
+        "IR",
+        "IS",
+        "IT",
+        "JE",
+        "JM",
+        "JO",
+        "JP",
+        "KE",
+        "KG",
+        "KH",
+        "KI",
+        "KM",
+        "KN",
+        "KP",
+        "KR",
+        "KW",
+        "KY",
+        "KZ",
+        "LA",
+        "LB",
+        "LC",
+        "LI",
+        "LK",
+        "LR",
+        "LS",
+        "LT",
+        "LU",
+        "LV",
+        "LY",
+        "MA",
+        "MC",
+        "MD",
+        "ME",
+        "MF",
+        "MG",
+        "MH",
+        "MK",
+        "ML",
+        "MM",
+        "MN",
+        "MO",
+        "MP",
+        "MQ",
+        "MR",
+        "MS",
+        "MT",
+        "MU",
+        "MV",
+        "MW",
+        "MX",
+        "MY",
+        "MZ",
+        "NA",
+        "NC",
+        "NE",
+        "NF",
+        "NG",
+        "NI",
+        "NL",
+        "NO",
+        "NP",
+        "NR",
+        "NU",
+        "NZ",
+        "OM",
+        "PA",
+        "PE",
+        "PF",
+        "PG",
+        "PH",
+        "PK",
+        "PL",
+        "PM",
+        "PN",
+        "PR",
+        "PS",
+        "PT",
+        "PW",
+        "PY",
+        "QA",
+        "RE",
+        "RO",
+        "RS",
+        "RU",
+        "RW",
+        "SA",
+        "SB",
+        "SC",
+        "SD",
+        "SE",
+        "SG",
+        "SH",
+        "SI",
+        "SJ",
+        "SK",
+        "SL",
+        "SM",
+        "SN",
+        "SO",
+        "SR",
+        "SS",
+        "ST",
+        "SV",
+        "SY",
+        "SZ",
+        "TC",
+        "TD",
+        "TF",
+        "TG",
+        "TH",
+        "TJ",
+        "TK",
+        "TL",
+        "TM",
+        "TN",
+        "TO",
+        "TR",
+        "TT",
+        "TV",
+        "TW",
+        "TZ",
+        "UA",
+        "UG",
+        "UM",
+        "US",
+        "UY",
+        "UZ",
+        "VA",
+        "VC",
+        "VE",
+        "VG",
+        "VI",
+        "VN",
+        "VU",
+        "WF",
+        "WS",
+        "YE",
+        "YT",
+        "ZA",
+        "ZM",
+        "ZW",
+    ],
+    "a3": [
+        "AND",
+        "ARE",
+        "AFG",
+        "ATG",
+        "AIA",
+        "ALB",
+        "ARM",
+        "ANT",
+        "AGO",
+        "ATA",
+        "ARG",
+        "ASM",
+        "AUT",
+        "AUS",
+        "ABW",
+        "ALA",
+        "AZE",
+        "BIH",
+        "BRB",
+        "BGD",
+        "BEL",
+        "BFA",
+        "BGR",
+        "BHR",
+        "BDI",
+        "BEN",
+        "BLM",
+        "BMU",
+        "BRN",
+        "BOL",
+        "BRA",
+        "BHS",
+        "BTN",
+        "BVT",
+        "BWA",
+        "BLR",
+        "BLZ",
+        "CAN",
+        "CCK",
+        "COD",
+        "CAF",
+        "COG",
+        "CHE",
+        "CIV",
+        "COK",
+        "CHL",
+        "CMR",
+        "CHN",
+        "COL",
+        "CRI",
+        "CUB",
+        "CPV",
+        "CXR",
+        "CYP",
+        "CZE",
+        "DEU",
+        "DJI",
+        "DNK",
+        "DMA",
+        "DOM",
+        "DZA",
+        "ECU",
+        "EST",
+        "EGY",
+        "ESH",
+        "ERI",
+        "ESP",
+        "ETH",
+        "FIN",
+        "FJI",
+        "FLK",
+        "FSM",
+        "FRO",
+        "FRA",
+        "GAB",
+        "GBR",
+        "GRD",
+        "GEO",
+        "GUF",
+        "GGY",
+        "GHA",
+        "GIB",
+        "GRL",
+        "GMB",
+        "GIN",
+        "GLP",
+        "GNQ",
+        "GRC",
+        "SGS",
+        "GTM",
+        "GUM",
+        "GNB",
+        "GUY",
+        "HKG",
+        "HMD",
+        "HND",
+        "HRV",
+        "HTI",
+        "HUN",
+        "IDN",
+        "IRL",
+        "ISR",
+        "IMN",
+        "IND",
+        "IOT",
+        "IRQ",
+        "IRN",
+        "ISL",
+        "ITA",
+        "JEY",
+        "JAM",
+        "JOR",
+        "JPN",
+        "KEN",
+        "KGZ",
+        "KHM",
+        "KIR",
+        "COM",
+        "KNA",
+        "PRK",
+        "KOR",
+        "KWT",
+        "CYM",
+        "KAZ",
+        "LAO",
+        "LBN",
+        "LCA",
+        "LIE",
+        "LKA",
+        "LBR",
+        "LSO",
+        "LTU",
+        "LUX",
+        "LVA",
+        "LBY",
+        "MAR",
+        "MCO",
+        "MDA",
+        "MNE",
+        "MAF",
+        "MDG",
+        "MHL",
+        "MKD",
+        "MLI",
+        "MMR",
+        "MNG",
+        "MAC",
+        "MNP",
+        "MTQ",
+        "MRT",
+        "MSR",
+        "MLT",
+        "MUS",
+        "MDV",
+        "MWI",
+        "MEX",
+        "MYS",
+        "MOZ",
+        "NAM",
+        "NCL",
+        "NER",
+        "NFK",
+        "NGA",
+        "NIC",
+        "NLD",
+        "NOR",
+        "NPL",
+        "NRU",
+        "NIU",
+        "NZL",
+        "OMN",
+        "PAN",
+        "PER",
+        "PYF",
+        "PNG",
+        "PHL",
+        "PAK",
+        "POL",
+        "SPM",
+        "PCN",
+        "PRI",
+        "PSE",
+        "PRT",
+        "PLW",
+        "PRY",
+        "QAT",
+        "REU",
+        "ROU",
+        "SRB",
+        "RUS",
+        "RWA",
+        "SAU",
+        "SLB",
+        "SYC",
+        "SDN",
+        "SWE",
+        "SGP",
+        "SHN",
+        "SVN",
+        "SJM",
+        "SVK",
+        "SLE",
+        "SMR",
+        "SEN",
+        "SOM",
+        "SUR",
+        "SSD",
+        "STP",
+        "SLV",
+        "SYR",
+        "SWZ",
+        "TCA",
+        "TCD",
+        "ATF",
+        "TGO",
+        "THA",
+        "TJK",
+        "TKL",
+        "TLS",
+        "TKM",
+        "TUN",
+        "TON",
+        "TUR",
+        "TTO",
+        "TUV",
+        "TWN",
+        "TZA",
+        "UKR",
+        "UGA",
+        "UMI",
+        "USA",
+        "URY",
+        "UZB",
+        "VAT",
+        "VCT",
+        "VEN",
+        "VGB",
+        "VIR",
+        "VNM",
+        "VUT",
+        "WLF",
+        "WSM",
+        "YEM",
+        "MYT",
+        "ZAF",
+        "ZMB",
+        "ZWE",
+    ],
+    "fifa": [
+        "AFG",
+        "AIA",
+        "ALB",
+        "ALG",
+        "AND",
+        "ANG",
+        "ARG",
+        "ARM",
+        "ARU",
+        "ARU",
+        "ASA",
+        "ATG",
+        "AUT",
+        "AZE",
+        "BAH",
+        "BAN",
+        "BDI",
+        "BEL",
+        "BEN",
+        "BER",
+        "BFA",
+        "BHR",
+        "BHU",
+        "BIH",
+        "BLR",
+        "BLZ",
+        "BOE",
+        "BOL",
+        "BOT",
+        "BRA",
+        "BRB",
+        "BRU",
+        "BUL",
+        "CAM",
+        "CAN",
+        "CAY",
+        "CGO",
+        "CHA",
+        "CHI",
+        "CHN",
+        "CIV",
+        "CMR",
+        "COD",
+        "COK",
+        "COL",
+        "COM",
+        "CPV",
+        "CRC",
+        "CRO",
+        "CTA",
+        "CUB",
+        "CUW",
+        "CYP",
+        "CZE",
+        "DEN",
+        "DJI",
+        "DMA",
+        "DOM",
+        "ECU",
+        "EGY",
+        "ENG",
+        "EQG",
+        "ERI",
+        "ESP",
+        "EST",
+        "ETH",
+        "FIJ",
+        "FIN",
+        "FRA",
+        "FRO",
+        "GAB",
+        "GAM",
+        "GEO",
+        "GER",
+        "GHA",
+        "GIB",
+        "GNB",
+        "GPE",
+        "GRE",
+        "GRN",
+        "GUA",
+        "GUI",
+        "GUM",
+        "GUY",
+        "GYF",
+        "HAI",
+        "HKG",
+        "HON",
+        "HUN",
+        "IDN",
+        "IND",
+        "IRL",
+        "IRN",
+        "IRQ",
+        "ISL",
+        "ISR",
+        "ITA",
+        "JAM",
+        "JOR",
+        "JPN",
+        "KAZ",
+        "KEN",
+        "KGZ",
+        "KIR",
+        "KOR",
+        "KSA",
+        "KUW",
+        "LAO",
+        "LBR",
+        "LBY",
+        "LCA",
+        "LES",
+        "LIB",
+        "LIE",
+        "LTU",
+        "LUX",
+        "LVA",
+        "MAC",
+        "MAD",
+        "MAR",
+        "MAS",
+        "MDA",
+        "MDV",
+        "MEX",
+        "MKD",
+        "MLI",
+        "MLT",
+        "MNE",
+        "MNG",
+        "MOZ",
+        "MRI",
+        "MSR",
+        "MTN",
+        "MTQ",
+        "MWI",
+        "MYA",
+        "NAM",
+        "NCA",
+        "NCL",
+        "NED",
+        "NEP",
+        "NGA",
+        "NIG",
+        "NIR",
+        "NIU",
+        "NMI",
+        "NOR",
+        "NZL",
+        "OMA",
+        "PAK",
+        "PAN",
+        "PAR",
+        "PER",
+        "PHI",
+        "PLE",
+        "PNG",
+        "POL",
+        "POR",
+        "PRK",
+        "PUR",
+        "QAT",
+        "REU",
+        "ROU",
+        "RSA",
+        "RUS",
+        "RWA",
+        "SAM",
+        "SCO",
+        "SDN",
+        "SEN",
+        "SEY",
+        "SIN",
+        "SKN",
+        "SLE",
+        "SLV",
+        "SMR",
+        "SMT",
+        "SOL",
+        "SOM",
+        "SRB",
+        "SRI",
+        "SSD",
+        "STP",
+        "SUI",
+        "SUR",
+        "SVK",
+        "SVN",
+        "SWE",
+        "SWZ",
+        "SXM",
+        "SYR",
+        "TAH",
+        "TAN",
+        "TCA",
+        "TGA",
+        "THA",
+        "TJK",
+        "TKM",
+        "TLS",
+        "TOG",
+        "TPE",
+        "TRI",
+        "TUN",
+        "TUR",
+        "TUV",
+        "UAE",
+        "UGA",
+        "UKR",
+        "URU",
+        "USA",
+        "UZB",
+        "VAN",
+        "VEN",
+        "VGB",
+        "VIE",
+        "VIN",
+        "VIR",
+        "WAL",
+        "YEM",
+        "ZAM",
+        "ZAN",
+        "ZIM",
+    ],
+    "ioc": [
+        "AFG",
+        "ALB",
+        "ALG",
+        "AND",
+        "ANG",
+        "ANT",
+        "ARG",
+        "ARM",
+        "ARU",
+        "ASA",
+        "AUS",
+        "AUT",
+        "AZE",
+        "BAH",
+        "BAN",
+        "BAR",
+        "BDI",
+        "BEL",
+        "BEN",
+        "BER",
+        "BHU",
+        "BIH",
+        "BIZ",
+        "BLR",
+        "BOL",
+        "BOT",
+        "BRA",
+        "BRN",
+        "BRU",
+        "BUL",
+        "BUR",
+        "CAF",
+        "CAM",
+        "CAN",
+        "CAY",
+        "CGO",
+        "CHA",
+        "CHI",
+        "CHN",
+        "CIV",
+        "CMR",
+        "COD",
+        "COK",
+        "COL",
+        "COM",
+        "CPV",
+        "CRC",
+        "CRO",
+        "CUB",
+        "CYP",
+        "CZE",
+        "DEN",
+        "DJI",
+        "DMA",
+        "DOM",
+        "ECU",
+        "EGY",
+        "ERI",
+        "ESA",
+        "ESP",
+        "EST",
+        "ETH",
+        "FIJ",
+        "FIN",
+        "FRA",
+        "FSM",
+        "GAB",
+        "GAM",
+        "GBR",
+        "GBS",
+        "GEO",
+        "GEQ",
+        "GER",
+        "GHA",
+        "GRE",
+        "GRN",
+        "GUA",
+        "GUI",
+        "GUM",
+        "GUY",
+        "HAI",
+        "HKG",
+        "HON",
+        "HUN",
+        "INA",
+        "IND",
+        "IRI",
+        "IRL",
+        "IRQ",
+        "ISL",
+        "ISR",
+        "ISV",
+        "ITA",
+        "IVB",
+        "JAM",
+        "JOR",
+        "JPN",
+        "KAZ",
+        "KEN",
+        "KGZ",
+        "KIR",
+        "KOR",
+        "KSA",
+        "KUW",
+        "LAO",
+        "LAT",
+        "LBA",
+        "LBR",
+        "LCA",
+        "LES",
+        "LIB",
+        "LIE",
+        "LTU",
+        "LUX",
+        "MAD",
+        "MAR",
+        "MAS",
+        "MAW",
+        "MDA",
+        "MDV",
+        "MEX",
+        "MGL",
+        "MHL",
+        "MKD",
+        "MLI",
+        "MLT",
+        "MNE",
+        "MON",
+        "MOZ",
+        "MRI",
+        "MTN",
+        "MYA",
+        "NAM",
+        "NCA",
+        "NED",
+        "NEP",
+        "NGR",
+        "NIG",
+        "NOR",
+        "NRU",
+        "NZL",
+        "OMA",
+        "PAK",
+        "PAN",
+        "PAR",
+        "PER",
+        "PHI",
+        "PLE",
+        "PLW",
+        "PNG",
+        "POL",
+        "POR",
+        "PRK",
+        "PUR",
+        "QAT",
+        "ROU",
+        "RSA",
+        "RUS",
+        "RWA",
+        "SAM",
+        "SEN",
+        "SEY",
+        "SIN",
+        "SKN",
+        "SLE",
+        "SLO",
+        "SMR",
+        "SOL",
+        "SOM",
+        "SRB",
+        "SRI",
+        "STP",
+        "SUD",
+        "SUI",
+        "SUR",
+        "SVK",
+        "SWE",
+        "SWZ",
+        "SYR",
+        "TAN",
+        "TGA",
+        "THA",
+        "TJK",
+        "TKM",
+        "TLS",
+        "TOG",
+        "TPE",
+        "TTO",
+        "TUN",
+        "TUR",
+        "TUV",
+        "UAE",
+        "UGA",
+        "UKR",
+        "URU",
+        "USA",
+        "UZB",
+        "VAN",
+        "VEN",
+        "VIE",
+        "VIN",
+        "YEM",
+        "ZAM",
+        "ZIM",
+    ],
+    "numeric": [
+        "020",
+        "784",
+        "004",
+        "028",
+        "660",
+        "008",
+        "051",
+        "530",
+        "024",
+        "010",
+        "032",
+        "016",
+        "040",
+        "036",
+        "533",
+        "248",
+        "031",
+        "070",
+        "052",
+        "050",
+        "056",
+        "854",
+        "100",
+        "048",
+        "108",
+        "204",
+        "652",
+        "060",
+        "096",
+        "068",
+        "076",
+        "044",
+        "064",
+        "074",
+        "072",
+        "112",
+        "084",
+        "124",
+        "166",
+        "180",
+        "140",
+        "178",
+        "756",
+        "384",
+        "184",
+        "152",
+        "120",
+        "156",
+        "170",
+        "188",
+        "192",
+        "132",
+        "162",
+        "196",
+        "203",
+        "276",
+        "262",
+        "208",
+        "212",
+        "214",
+        "012",
+        "218",
+        "233",
+        "818",
+        "732",
+        "232",
+        "724",
+        "231",
+        "246",
+        "242",
+        "238",
+        "583",
+        "234",
+        "250",
+        "266",
+        "826",
+        "308",
+        "268",
+        "254",
+        "831",
+        "288",
+        "292",
+        "304",
+        "270",
+        "324",
+        "312",
+        "226",
+        "300",
+        "239",
+        "320",
+        "316",
+        "624",
+        "328",
+        "344",
+        "334",
+        "340",
+        "191",
+        "332",
+        "348",
+        "360",
+        "372",
+        "376",
+        "833",
+        "356",
+        "086",
+        "368",
+        "364",
+        "352",
+        "380",
+        "832",
+        "388",
+        "400",
+        "392",
+        "404",
+        "417",
+        "116",
+        "296",
+        "174",
+        "659",
+        "408",
+        "410",
+        "414",
+        "136",
+        "398",
+        "418",
+        "422",
+        "662",
+        "438",
+        "144",
+        "430",
+        "426",
+        "440",
+        "442",
+        "428",
+        "434",
+        "504",
+        "492",
+        "498",
+        "499",
+        "663",
+        "450",
+        "584",
+        "807",
+        "466",
+        "104",
+        "496",
+        "446",
+        "580",
+        "474",
+        "478",
+        "500",
+        "470",
+        "480",
+        "462",
+        "454",
+        "484",
+        "458",
+        "508",
+        "516",
+        "540",
+        "562",
+        "574",
+        "566",
+        "558",
+        "528",
+        "578",
+        "524",
+        "520",
+        "570",
+        "554",
+        "512",
+        "591",
+        "604",
+        "258",
+        "598",
+        "608",
+        "586",
+        "616",
+        "666",
+        "612",
+        "630",
+        "275",
+        "620",
+        "585",
+        "600",
+        "634",
+        "638",
+        "642",
+        "688",
+        "643",
+        "646",
+        "682",
+        "090",
+        "690",
+        "736",
+        "752",
+        "702",
+        "654",
+        "705",
+        "744",
+        "703",
+        "694",
+        "674",
+        "686",
+        "706",
+        "740",
+        "728",
+        "678",
+        "222",
+        "760",
+        "748",
+        "796",
+        "148",
+        "260",
+        "768",
+        "764",
+        "762",
+        "772",
+        "626",
+        "795",
+        "788",
+        "776",
+        "792",
+        "780",
+        "798",
+        "158",
+        "834",
+        "804",
+        "800",
+        "581",
+        "840",
+        "858",
+        "860",
+        "336",
+        "670",
+        "862",
+        "092",
+        "850",
+        "704",
+        "548",
+        "876",
+        "882",
+        "887",
+        "175",
+        "710",
+        "894",
+        "716",
+    ],
+}
+
+SHORTENED_ADDRESS_FMT = [
+    "cs",
+    "da",
+    "de",
+    "de-at",
+    "de-ch",
+    "el",
+    "es",
+    "fi",
+    "is",
+    "nl",
+    "nl-be",
+    "no",
+    "sk",
+    "sv",
+]
+
+CONTINENT_CODES = ["AF", "NA", "OC", "AN", "AS", "EU", "SA"]
+
+CALLING_CODES = [
+    "+1",
+    "+7",
+    "+20",
+    "+27",
+    "+30",
+    "+31",
+    "+32",
+    "+33",
+    "+34",
+    "+36",
+    "+39",
+    "+40",
+    "+41",
+    "+43",
+    "+44",
+    "+44",
+    "+44",
+    "+44",
+    "+45",
+    "+46",
+    "+47",
+    "+48",
+    "+49",
+    "+51",
+    "+52",
+    "+53",
+    "+54",
+    "+55",
+    "+56",
+    "+56",
+    "+57",
+    "+58",
+    "+60",
+    "+61",
+    "+61",
+    "+61",
+    "+62",
+    "+63",
+    "+64",
+    "+64",
+    "+64",
+    "+65",
+    "+66",
+    "+77",
+    "+81",
+    "+82",
+    "+84",
+    "+86",
+    "+90",
+    "+91",
+    "+92",
+    "+93",
+    "+94",
+    "+95",
+    "+98",
+    "+211",
+    "+212",
+    "+213",
+    "+216",
+    "+218",
+    "+220",
+    "+221",
+    "+222",
+    "+223",
+    "+224",
+    "+225",
+    "+226",
+    "+227",
+    "+228",
+    "+229",
+    "+230",
+    "+231",
+    "+232",
+    "+233",
+    "+234",
+    "+235",
+    "+236",
+    "+237",
+    "+238",
+    "+239",
+    "+240",
+    "+241",
+    "+242",
+    "+243",
+    "+244",
+    "+245",
+    "+246",
+    "+246",
+    "+247",
+    "+248",
+    "+249",
+    "+250",
+    "+251",
+    "+252",
+    "+253",
+    "+254",
+    "+255",
+    "+255",
+    "+256",
+    "+257",
+    "+258",
+    "+260",
+    "+261",
+    "+262",
+    "+262",
+    "+263",
+    "+264",
+    "+265",
+    "+266",
+    "+267",
+    "+268",
+    "+269",
+    "+290",
+    "+291",
+    "+297",
+    "+298",
+    "+299",
+    "+350",
+    "+351",
+    "+352",
+    "+353",
+    "+354",
+    "+355",
+    "+356",
+    "+357",
+    "+358",
+    "+359",
+    "+370",
+    "+371",
+    "+372",
+    "+373",
+    "+374",
+    "+375",
+    "+376",
+    "+377",
+    "+378",
+    "+379",
+    "+380",
+    "+381",
+    "+382",
+    "+383",
+    "+385",
+    "+386",
+    "+387",
+    "+389",
+    "+420",
+    "+421",
+    "+423",
+    "+500",
+    "+500",
+    "+501",
+    "+502",
+    "+503",
+    "+504",
+    "+505",
+    "+506",
+    "+507",
+    "+508",
+    "+509",
+    "+590",
+    "+590",
+    "+590",
+    "+591",
+    "+592",
+    "+593",
+    "+594",
+    "+595",
+    "+596",
+    "+596",
+    "+597",
+    "+598",
+    "+670",
+    "+672",
+    "+672",
+    "+673",
+    "+674",
+    "+675",
+    "+676",
+    "+677",
+    "+678",
+    "+679",
+    "+680",
+    "+681",
+    "+682",
+    "+683",
+    "+685",
+    "+686",
+    "+687",
+    "+688",
+    "+689",
+    "+690",
+    "+691",
+    "+692",
+    "+800",
+    "+808",
+    "+850",
+    "+852",
+    "+853",
+    "+855",
+    "+856",
+    "+870",
+    "+878",
+    "+880",
+    "+881",
+    "+886",
+    "+960",
+    "+961",
+    "+962",
+    "+963",
+    "+964",
+    "+965",
+    "+966",
+    "+967",
+    "+968",
+    "+970",
+    "+971",
+    "+972",
+    "+973",
+    "+974",
+    "+975",
+    "+976",
+    "+977",
+    "+992",
+    "+993",
+    "+994",
+    "+995",
+    "+996",
+    "+998",
+    "+1242",
+    "+1246",
+    "+1264",
+    "+1268",
+    "+1268",
+    "+1284",
+    "+1340",
+    "+1345",
+    "+1441",
+    "+1473",
+    "+1649",
+    "+1664",
+    "+1670",
+    "+1671",
+    "+1684",
+    "+1721",
+    "+1758",
+    "+1767",
+    "+1784",
+    "+1808",
+    "+1808",
+    "+1849",
+    "+1868",
+    "+1869",
+    "+1869",
+    "+1876",
+    "+1939",
+    "+2908",
+    "+4779",
+    "+4779",
+    "+5399",
+    "+5993",
+    "+5994",
+    "+5997",
+    "+5997",
+    "+5999",
+    "+8810",
+    "+8813",
+    "+8817",
+    "+8818",
+    "+35818",
+    "+88213",
+    "+88216",
+    "+90392",
+    "+99534",
+    "+99544",
+]
diff --git a/mimesis/datasets/int/code.py b/mimesis/datasets/int/code.py
index 1719d7a8..389e52c3 100644
--- a/mimesis/datasets/int/code.py
+++ b/mimesis/datasets/int/code.py
@@ -1,29 +1,208 @@
 """Provides all data related to the codes."""
-IMEI_TACS = ['01124500', '01161200', '01194800', '01233600', '01300600',
-    '01332700', '35875505', '35881505', '35925406', '35325807', '35391805',
-    '35824005', '35896704', '35803106', '35838706', '35929005', '35089080',
-    '35154900', '35920605', '35699601', '35316004', '35909205', '35328504',
-    '35332705', '35316605', '35744105', '32930400', '35171005', '35511405']
-ISBN_GROUPS = {'cs': '80', 'da': '87', 'de': '3', 'de-at': '3', 'de-ch':
-    '3', 'el': '618', 'en': '1', 'en-au': '1', 'en-ca': '1', 'en-gb': '1',
-    'es': '84', 'es-mx': '607', 'et': '9949', 'fa': '600', 'fi': '951',
-    'fr': '2', 'hr': '385', 'hu': '615', 'is': '9935', 'it': '88', 'ja':
-    '4', 'kk': '601', 'ko': '89', 'nl': '90', 'nl-be': '90', 'no': '82',
-    'pl': '83', 'pt': '972', 'pt-br': '85', 'ru': '5', 'sk': '80', 'sv':
-    '91', 'tr': '605', 'uk': '966', 'zh': '7', 'default': '#'}
-ISBN_MASKS = {'isbn-13': '###-{0}-#####-###-#', 'isbn-10': '{0}-#####-###-#'}
-EAN_MASKS = {'ean-8': '########', 'ean-13': '#############'}
-LOCALE_CODES = ['af', 'ar-ae', 'ar-bh', 'ar-dz', 'ar-eg', 'ar-iq', 'ar-jo',
-    'ar-kw', 'ar-lb', 'ar-ly', 'ar-ma', 'ar-om', 'ar-qa', 'ar-sa', 'ar-sy',
-    'ar-tn', 'ar-ye', 'be', 'bg', 'ca', 'cs', 'da', 'de', 'de-at', 'de-ch',
-    'de-li', 'de-lu', 'el', 'en', 'en-au', 'en-bz', 'en-ca', 'en-gb',
-    'en-ie', 'en-jm', 'en-nz', 'en-tt', 'en-us', 'en-za', 'es', 'es-ar',
-    'es-bo', 'es-cl', 'es-co', 'es-cr', 'es-do', 'es-ec', 'es-gt', 'es-hn',
-    'es-mx', 'es-ni', 'es-pa', 'es-pe', 'es-pr', 'es-py', 'es-sv', 'es-uy',
-    'es-ve', 'et', 'eu', 'fa', 'fi', 'fo', 'fr', 'fr-be', 'fr-ca', 'fr-ch',
-    'fr-lu', 'ga', 'gd', 'he', 'hi', 'hr', 'hu', 'id', 'is', 'it', 'it-ch',
-    'ja', 'ji', 'ko', 'ko', 'lt', 'lv', 'mk', 'ms', 'mt', 'nl', 'nl-be',
-    'no', 'no', 'pl', 'pt', 'pt-br', 'rm', 'ro', 'ro-mo', 'ru', 'ru-mo',
-    'sb', 'sk', 'sl', 'sq', 'sr', 'sr', 'sv', 'sv-fi', 'sx', 'sz', 'th',
-    'tn', 'tr', 'ts', 'uk', 'ur', 've', 'vi', 'xh', 'zh-cn', 'zh-hk',
-    'zh-sg', 'zh-tw', 'zu']
+
+IMEI_TACS = [
+    "01124500",
+    "01161200",
+    "01194800",
+    "01233600",
+    "01300600",
+    "01332700",
+    "35875505",
+    "35881505",
+    "35925406",
+    "35325807",
+    "35391805",
+    "35824005",
+    "35896704",
+    "35803106",
+    "35838706",
+    "35929005",
+    "35089080",
+    "35154900",
+    "35920605",
+    "35699601",
+    "35316004",
+    "35909205",
+    "35328504",
+    "35332705",
+    "35316605",
+    "35744105",
+    "32930400",
+    "35171005",
+    "35511405",
+]
+
+ISBN_GROUPS = {
+    "cs": "80",
+    "da": "87",
+    "de": "3",
+    "de-at": "3",
+    "de-ch": "3",
+    "el": "618",
+    "en": "1",
+    "en-au": "1",
+    "en-ca": "1",
+    "en-gb": "1",
+    "es": "84",
+    "es-mx": "607",
+    "et": "9949",
+    "fa": "600",
+    "fi": "951",
+    "fr": "2",
+    "hr": "385",
+    "hu": "615",
+    "is": "9935",
+    "it": "88",
+    "ja": "4",
+    "kk": "601",
+    "ko": "89",
+    "nl": "90",
+    "nl-be": "90",
+    "no": "82",
+    "pl": "83",
+    "pt": "972",
+    "pt-br": "85",
+    "ru": "5",
+    "sk": "80",
+    "sv": "91",
+    "tr": "605",
+    "uk": "966",
+    "zh": "7",
+    "default": "#",
+}
+
+ISBN_MASKS = {
+    "isbn-13": "###-{0}-#####-###-#",
+    "isbn-10": "{0}-#####-###-#",
+}
+
+EAN_MASKS = {
+    "ean-8": "########",
+    "ean-13": "#############",
+}
+
+LOCALE_CODES = [
+    "af",
+    "ar-ae",
+    "ar-bh",
+    "ar-dz",
+    "ar-eg",
+    "ar-iq",
+    "ar-jo",
+    "ar-kw",
+    "ar-lb",
+    "ar-ly",
+    "ar-ma",
+    "ar-om",
+    "ar-qa",
+    "ar-sa",
+    "ar-sy",
+    "ar-tn",
+    "ar-ye",
+    "be",
+    "bg",
+    "ca",
+    "cs",
+    "da",
+    "de",
+    "de-at",
+    "de-ch",
+    "de-li",
+    "de-lu",
+    "el",
+    "en",
+    "en-au",
+    "en-bz",
+    "en-ca",
+    "en-gb",
+    "en-ie",
+    "en-jm",
+    "en-nz",
+    "en-tt",
+    "en-us",
+    "en-za",
+    "es",
+    "es-ar",
+    "es-bo",
+    "es-cl",
+    "es-co",
+    "es-cr",
+    "es-do",
+    "es-ec",
+    "es-gt",
+    "es-hn",
+    "es-mx",
+    "es-ni",
+    "es-pa",
+    "es-pe",
+    "es-pr",
+    "es-py",
+    "es-sv",
+    "es-uy",
+    "es-ve",
+    "et",
+    "eu",
+    "fa",
+    "fi",
+    "fo",
+    "fr",
+    "fr-be",
+    "fr-ca",
+    "fr-ch",
+    "fr-lu",
+    "ga",
+    "gd",
+    "he",
+    "hi",
+    "hr",
+    "hu",
+    "id",
+    "is",
+    "it",
+    "it-ch",
+    "ja",
+    "ji",
+    "ko",
+    "ko",
+    "lt",
+    "lv",
+    "mk",
+    "ms",
+    "mt",
+    "nl",
+    "nl-be",
+    "no",
+    "no",
+    "pl",
+    "pt",
+    "pt-br",
+    "rm",
+    "ro",
+    "ro-mo",
+    "ru",
+    "ru-mo",
+    "sb",
+    "sk",
+    "sl",
+    "sq",
+    "sr",
+    "sr",
+    "sv",
+    "sv-fi",
+    "sx",
+    "sz",
+    "th",
+    "tn",
+    "tr",
+    "ts",
+    "uk",
+    "ur",
+    "ve",
+    "vi",
+    "xh",
+    "zh-cn",
+    "zh-hk",
+    "zh-sg",
+    "zh-tw",
+    "zu",
+]
diff --git a/mimesis/datasets/int/common.py b/mimesis/datasets/int/common.py
index 88a3a833..46d87218 100644
--- a/mimesis/datasets/int/common.py
+++ b/mimesis/datasets/int/common.py
@@ -1,19 +1,131 @@
 """Provides all data related to decorators."""
-COMMON_LETTERS = {'\t': '\t', ' ': ' ', 'А': 'A', 'Б': 'B', 'В': 'V', 'Д':
-    'D', 'Е': 'E', 'Ж': 'Zh', 'З': 'Z', 'К': 'K', 'Л': 'L', 'М': 'M', 'Н':
-    'N', 'О': 'O', 'П': 'P', 'Р': 'R', 'С': 'S', 'Т': 'T', 'У': 'U', 'Ф':
-    'F', 'Х': 'Kh', 'Ц': 'Ts', 'Ч': 'Ch', 'Ш': 'Sh', 'Щ': 'Shch', 'Ю': 'Yu',
-    'Я': 'Ja', 'а': 'a', 'б': 'b', 'в': 'v', 'д': 'd', 'е': 'e', 'ж': 'zh',
-    'з': 'z', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o', 'п': 'p',
-    'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'kh', 'ц': 'ts',
-    'ч': 'ch', 'ш': 'sh', 'щ': 'shch', 'ю': 'yu', 'я': 'ja'}
-ROMANIZATION_DICT = {'kk': {'Ё': 'Yo', 'І': 'I', 'Г': 'G', 'И': 'I', 'Й':
-    'Ye', 'Ъ': '', 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'г': 'g', 'и': 'i', 'й':
-    'ye', 'ъ': '', 'ы': 'y', 'ь': '', 'э': 'e', 'ё': 'yo', 'і': 'i', 'Ғ':
-    'Ğ', 'ғ': 'ğ', 'Қ': 'Q', 'қ': 'q', 'Ң': 'Ñ', 'ң': 'ñ', 'Ү': 'Ü', 'ү':
-    'ü', 'Ұ': 'U', 'ұ': 'u', 'Һ': 'H', 'һ': 'h', 'Ә': 'Ä', 'ә': 'ä', 'Ө':
-    'Ö', 'ө': 'ö'}, 'ru': {'Ё': 'Yo', 'Г': 'G', 'И': 'I', 'Й': 'Ye', 'Ъ':
-    '', 'Ы': 'Y', 'Ь': '', 'Э': 'E', 'г': 'g', 'и': 'i', 'й': 'ye', 'ъ': '',
-    'ы': 'y', 'ь': '', 'э': 'e', 'ё': 'yo'}, 'uk': {'Є': 'Ye', 'І': 'I',
-    'Ї': 'Yi', 'Г': 'H', 'И': 'Y', 'Й': 'Y', 'Ь': '’', 'г': 'h', 'и': 'y',
-    'й': 'y', 'ь': '’', 'є': 'ye', 'і': 'i', 'ї': 'yi', 'Ґ': 'G', 'ґ': 'g'}}
+
+COMMON_LETTERS = {
+    "\t": "\t",
+    " ": " ",
+    "А": "A",
+    "Б": "B",
+    "В": "V",
+    "Д": "D",
+    "Е": "E",
+    "Ж": "Zh",
+    "З": "Z",
+    "К": "K",
+    "Л": "L",
+    "М": "M",
+    "Н": "N",
+    "О": "O",
+    "П": "P",
+    "Р": "R",
+    "С": "S",
+    "Т": "T",
+    "У": "U",
+    "Ф": "F",
+    "Х": "Kh",
+    "Ц": "Ts",
+    "Ч": "Ch",
+    "Ш": "Sh",
+    "Щ": "Shch",
+    "Ю": "Yu",
+    "Я": "Ja",
+    "а": "a",
+    "б": "b",
+    "в": "v",
+    "д": "d",
+    "е": "e",
+    "ж": "zh",
+    "з": "z",
+    "к": "k",
+    "л": "l",
+    "м": "m",
+    "н": "n",
+    "о": "o",
+    "п": "p",
+    "р": "r",
+    "с": "s",
+    "т": "t",
+    "у": "u",
+    "ф": "f",
+    "х": "kh",
+    "ц": "ts",
+    "ч": "ch",
+    "ш": "sh",
+    "щ": "shch",
+    "ю": "yu",
+    "я": "ja",
+}
+
+ROMANIZATION_DICT = {
+    "kk": {
+        "Ё": "Yo",
+        "І": "I",
+        "Г": "G",
+        "И": "I",
+        "Й": "Ye",
+        "Ъ": "",
+        "Ы": "Y",
+        "Ь": "",
+        "Э": "E",
+        "г": "g",
+        "и": "i",
+        "й": "ye",
+        "ъ": "",
+        "ы": "y",
+        "ь": "",
+        "э": "e",
+        "ё": "yo",
+        "і": "i",
+        "Ғ": "Ğ",
+        "ғ": "ğ",
+        "Қ": "Q",
+        "қ": "q",
+        "Ң": "Ñ",
+        "ң": "ñ",
+        "Ү": "Ü",
+        "ү": "ü",
+        "Ұ": "U",
+        "ұ": "u",
+        "Һ": "H",
+        "һ": "h",
+        "Ә": "Ä",
+        "ә": "ä",
+        "Ө": "Ö",
+        "ө": "ö",
+    },
+    "ru": {
+        "Ё": "Yo",
+        "Г": "G",
+        "И": "I",
+        "Й": "Ye",
+        "Ъ": "",
+        "Ы": "Y",
+        "Ь": "",
+        "Э": "E",
+        "г": "g",
+        "и": "i",
+        "й": "ye",
+        "ъ": "",
+        "ы": "y",
+        "ь": "",
+        "э": "e",
+        "ё": "yo",
+    },
+    "uk": {
+        "Є": "Ye",
+        "І": "I",
+        "Ї": "Yi",
+        "Г": "H",
+        "И": "Y",
+        "Й": "Y",
+        "Ь": "’",
+        "г": "h",
+        "и": "y",
+        "й": "y",
+        "ь": "’",
+        "є": "ye",
+        "і": "i",
+        "ї": "yi",
+        "Ґ": "G",
+        "ґ": "g",
+    },
+}
diff --git a/mimesis/datasets/int/cryptographic.py b/mimesis/datasets/int/cryptographic.py
index fbc540c9..b7debe71 100644
--- a/mimesis/datasets/int/cryptographic.py
+++ b/mimesis/datasets/int/cryptographic.py
@@ -1,282 +1,2054 @@
 """Provides all the data related to text."""
-__all__ = ['WORDLIST']
-WORDLIST = ['abandon', 'ability', 'able', 'about', 'above', 'absent',
-    'absorb', 'abstract', 'absurd', 'abuse', 'access', 'accident',
-    'account', 'accuse', 'achieve', 'acid', 'acoustic', 'acquire', 'across',
-    'act', 'action', 'actor', 'actress', 'actual', 'adapt', 'add', 'addict',
-    'address', 'adjust', 'admit', 'adult', 'advance', 'advice', 'aerobic',
-    'affair', 'afford', 'afraid', 'again', 'age', 'agent', 'agree', 'ahead',
-    'aim', 'air', 'airport', 'aisle', 'alarm', 'album', 'alcohol', 'alert',
-    'alien', 'all', 'alley', 'allow', 'almost', 'alone', 'alpha', 'already',
-    'also', 'alter', 'always', 'amateur', 'amazing', 'among', 'amount',
-    'amused', 'analyst', 'anchor', 'ancient', 'anger', 'angle', 'angry',
-    'animal', 'ankle', 'announce', 'annual', 'another', 'answer', 'antenna',
-    'antique', 'anxiety', 'any', 'apart', 'apology', 'appear', 'apple',
-    'approve', 'april', 'arch', 'arctic', 'area', 'arena', 'argue', 'arm',
-    'armed', 'armor', 'army', 'around', 'arrange', 'arrest', 'arrive',
-    'arrow', 'art', 'artefact', 'artist', 'artwork', 'ask', 'aspect',
-    'assault', 'asset', 'assist', 'assume', 'asthma', 'athlete', 'atom',
-    'attack', 'attend', 'attitude', 'attract', 'auction', 'audit', 'august',
-    'aunt', 'author', 'auto', 'autumn', 'average', 'avocado', 'avoid',
-    'awake', 'aware', 'away', 'awesome', 'awful', 'awkward', 'axis', 'baby',
-    'bachelor', 'bacon', 'badge', 'bag', 'balance', 'balcony', 'ball',
-    'bamboo', 'banana', 'banner', 'bar', 'barely', 'bargain', 'barrel',
-    'base', 'basic', 'basket', 'battle', 'beach', 'bean', 'beauty',
-    'because', 'become', 'beef', 'before', 'begin', 'behave', 'behind',
-    'believe', 'below', 'belt', 'bench', 'benefit', 'best', 'betray',
-    'better', 'between', 'beyond', 'bicycle', 'bid', 'bike', 'bind',
-    'biology', 'bird', 'birth', 'bitter', 'black', 'blade', 'blame',
-    'blanket', 'blast', 'bleak', 'bless', 'blind', 'blood', 'blossom',
-    'blouse', 'blue', 'blur', 'blush', 'board', 'boat', 'body', 'boil',
-    'bomb', 'bone', 'bonus', 'book', 'boost', 'border', 'boring', 'borrow',
-    'boss', 'bottom', 'bounce', 'box', 'boy', 'bracket', 'brain', 'brand',
-    'brass', 'brave', 'bread', 'breeze', 'brick', 'bridge', 'brief',
-    'bright', 'bring', 'brisk', 'broccoli', 'broken', 'bronze', 'broom',
-    'brother', 'brown', 'brush', 'bubble', 'buddy', 'budget', 'buffalo',
-    'build', 'bulb', 'bulk', 'bullet', 'bundle', 'bunker', 'burden',
-    'burger', 'burst', 'bus', 'business', 'busy', 'butter', 'buyer', 'buzz',
-    'cabbage', 'cabin', 'cable', 'cactus', 'cage', 'cake', 'call', 'calm',
-    'camera', 'camp', 'can', 'canal', 'cancel', 'candy', 'cannon', 'canoe',
-    'canvas', 'canyon', 'capable', 'capital', 'captain', 'car', 'carbon',
-    'card', 'cargo', 'carpet', 'carry', 'cart', 'case', 'cash', 'casino',
-    'castle', 'casual', 'cat', 'catalog', 'catch', 'category', 'cattle',
-    'caught', 'cause', 'caution', 'cave', 'ceiling', 'celery', 'cement',
-    'census', 'century', 'cereal', 'certain', 'chair', 'chalk', 'champion',
-    'change', 'chaos', 'chapter', 'charge', 'chase', 'chat', 'cheap',
-    'check', 'cheese', 'chef', 'cherry', 'chest', 'chicken', 'chief',
-    'child', 'chimney', 'choice', 'choose', 'chronic', 'chuckle', 'chunk',
-    'churn', 'cigar', 'cinnamon', 'circle', 'citizen', 'city', 'civil',
-    'claim', 'clap', 'clarify', 'claw', 'clay', 'clean', 'clerk', 'clever',
-    'click', 'client', 'cliff', 'climb', 'clinic', 'clip', 'clock', 'clog',
-    'close', 'cloth', 'cloud', 'clown', 'club', 'clump', 'cluster',
-    'clutch', 'coach', 'coast', 'coconut', 'code', 'coffee', 'coil', 'coin',
-    'collect', 'color', 'column', 'combine', 'come', 'comfort', 'comic',
-    'common', 'company', 'concert', 'conduct', 'confirm', 'congress',
-    'connect', 'consider', 'control', 'convince', 'cook', 'cool', 'copper',
-    'copy', 'coral', 'core', 'corn', 'correct', 'cost', 'cotton', 'couch',
-    'country', 'couple', 'course', 'cousin', 'cover', 'coyote', 'crack',
-    'cradle', 'craft', 'cram', 'crane', 'crash', 'crater', 'crawl', 'crazy',
-    'cream', 'credit', 'creek', 'crew', 'cricket', 'crime', 'crisp',
-    'critic', 'crop', 'cross', 'crouch', 'crowd', 'crucial', 'cruel',
-    'cruise', 'crumble', 'crunch', 'crush', 'cry', 'crystal', 'cube',
-    'culture', 'cup', 'cupboard', 'curious', 'current', 'curtain', 'curve',
-    'cushion', 'custom', 'cute', 'cycle', 'dad', 'damage', 'damp', 'dance',
-    'danger', 'daring', 'dash', 'daughter', 'dawn', 'day', 'deal', 'debate',
-    'debris', 'decade', 'december', 'decide', 'decline', 'decorate',
-    'decrease', 'deer', 'defense', 'define', 'defy', 'degree', 'delay',
-    'deliver', 'demand', 'demise', 'denial', 'dentist', 'deny', 'depart',
-    'depend', 'deposit', 'depth', 'deputy', 'derive', 'describe', 'desert',
-    'design', 'desk', 'despair', 'destroy', 'detail', 'detect', 'develop',
-    'device', 'devote', 'diagram', 'dial', 'diamond', 'diary', 'dice',
-    'diesel', 'diet', 'differ', 'digital', 'dignity', 'dilemma', 'dinner',
-    'dinosaur', 'direct', 'dirt', 'disagree', 'discover', 'disease', 'dish',
-    'dismiss', 'disorder', 'display', 'distance', 'divert', 'divide',
-    'divorce', 'dizzy', 'doctor', 'document', 'dog', 'doll', 'dolphin',
-    'domain', 'donate', 'donkey', 'donor', 'door', 'dose', 'double', 'dove',
-    'draft', 'dragon', 'drama', 'drastic', 'draw', 'dream', 'dress',
-    'drift', 'drill', 'drink', 'drip', 'drive', 'drop', 'drum', 'dry',
-    'duck', 'dumb', 'dune', 'during', 'dust', 'dutch', 'duty', 'dwarf',
-    'dynamic', 'eager', 'eagle', 'early', 'earn', 'earth', 'easily', 'east',
-    'easy', 'echo', 'ecology', 'economy', 'edge', 'edit', 'educate',
-    'effort', 'egg', 'eight', 'either', 'elbow', 'elder', 'electric',
-    'elegant', 'element', 'elephant', 'elevator', 'elite', 'else', 'embark',
-    'embody', 'embrace', 'emerge', 'emotion', 'employ', 'empower', 'empty',
-    'enable', 'enact', 'end', 'endless', 'endorse', 'enemy', 'energy',
-    'enforce', 'engage', 'engine', 'enhance', 'enjoy', 'enlist', 'enough',
-    'enrich', 'enroll', 'ensure', 'enter', 'entire', 'entry', 'envelope',
-    'episode', 'equal', 'equip', 'era', 'erase', 'erode', 'erosion',
-    'error', 'erupt', 'escape', 'essay', 'essence', 'estate', 'eternal',
-    'ethics', 'evidence', 'evil', 'evoke', 'evolve', 'exact', 'example',
-    'excess', 'exchange', 'excite', 'exclude', 'excuse', 'execute',
-    'exercise', 'exhaust', 'exhibit', 'exile', 'exist', 'exit', 'exotic',
-    'expand', 'expect', 'expire', 'explain', 'expose', 'express', 'extend',
-    'extra', 'eye', 'eyebrow', 'fabric', 'face', 'faculty', 'fade', 'faint',
-    'faith', 'fall', 'false', 'fame', 'family', 'famous', 'fan', 'fancy',
-    'fantasy', 'farm', 'fashion', 'fat', 'fatal', 'father', 'fatigue',
-    'fault', 'favorite', 'feature', 'february', 'federal', 'fee', 'feed',
-    'feel', 'female', 'fence', 'festival', 'fetch', 'fever', 'few', 'fiber',
-    'fiction', 'field', 'figure', 'file', 'film', 'filter', 'final', 'find',
-    'fine', 'finger', 'finish', 'fire', 'firm', 'first', 'fiscal', 'fish',
-    'fit', 'fitness', 'fix', 'flag', 'flame', 'flash', 'flat', 'flavor',
-    'flee', 'flight', 'flip', 'float', 'flock', 'floor', 'flower', 'fluid',
-    'flush', 'fly', 'foam', 'focus', 'fog', 'foil', 'fold', 'follow',
-    'food', 'foot', 'force', 'forest', 'forget', 'fork', 'fortune', 'forum',
-    'forward', 'fossil', 'foster', 'found', 'fox', 'fragile', 'frame',
-    'frequent', 'fresh', 'friend', 'fringe', 'frog', 'front', 'frost',
-    'frown', 'frozen', 'fruit', 'fuel', 'fun', 'funny', 'furnace', 'fury',
-    'future', 'gadget', 'gain', 'galaxy', 'gallery', 'game', 'gap',
-    'garage', 'garbage', 'garden', 'garlic', 'garment', 'gas', 'gasp',
-    'gate', 'gather', 'gauge', 'gaze', 'general', 'genius', 'genre',
-    'gentle', 'genuine', 'gesture', 'ghost', 'giant', 'gift', 'giggle',
-    'ginger', 'giraffe', 'girl', 'give', 'glad', 'glance', 'glare', 'glass',
-    'glide', 'glimpse', 'globe', 'gloom', 'glory', 'glove', 'glow', 'glue',
-    'goat', 'goddess', 'gold', 'good', 'goose', 'gorilla', 'gospel',
-    'gossip', 'govern', 'gown', 'grab', 'grace', 'grain', 'grant', 'grape',
-    'grass', 'gravity', 'great', 'green', 'grid', 'grief', 'grit',
-    'grocery', 'group', 'grow', 'grunt', 'guard', 'guess', 'guide', 'guilt',
-    'guitar', 'gun', 'gym', 'habit', 'hair', 'half', 'hammer', 'hamster',
-    'hand', 'happy', 'harbor', 'hard', 'harsh', 'harvest', 'hat', 'have',
-    'hawk', 'hazard', 'head', 'health', 'heart', 'heavy', 'hedgehog',
-    'height', 'hello', 'helmet', 'help', 'hen', 'hero', 'hidden', 'high',
-    'hill', 'hint', 'hip', 'hire', 'history', 'hobby', 'hockey', 'hold',
-    'hole', 'holiday', 'hollow', 'home', 'honey', 'hood', 'hope', 'horn',
-    'horror', 'horse', 'hospital', 'host', 'hotel', 'hour', 'hover', 'hub',
-    'huge', 'human', 'humble', 'humor', 'hundred', 'hungry', 'hunt',
-    'hurdle', 'hurry', 'hurt', 'husband', 'hybrid', 'ice', 'icon', 'idea',
-    'identify', 'idle', 'ignore', 'ill', 'illegal', 'illness', 'image',
-    'imitate', 'immense', 'immune', 'impact', 'impose', 'improve',
-    'impulse', 'inch', 'include', 'income', 'increase', 'index', 'indicate',
-    'indoor', 'industry', 'infant', 'inflict', 'inform', 'inhale',
-    'inherit', 'initial', 'inject', 'injury', 'inmate', 'inner', 'innocent',
-    'input', 'inquiry', 'insane', 'insect', 'inside', 'inspire', 'install',
-    'intact', 'interest', 'into', 'invest', 'invite', 'involve', 'iron',
-    'island', 'isolate', 'issue', 'item', 'ivory', 'jacket', 'jaguar',
-    'jar', 'jazz', 'jealous', 'jeans', 'jelly', 'jewel', 'job', 'join',
-    'joke', 'journey', 'joy', 'judge', 'juice', 'jump', 'jungle', 'junior',
-    'junk', 'just', 'kangaroo', 'keen', 'keep', 'ketchup', 'key', 'kick',
-    'kid', 'kidney', 'kind', 'kingdom', 'kiss', 'kit', 'kitchen', 'kite',
-    'kitten', 'kiwi', 'knee', 'knife', 'knock', 'know', 'lab', 'label',
-    'labor', 'ladder', 'lady', 'lake', 'lamp', 'language', 'laptop',
-    'large', 'later', 'latin', 'laugh', 'laundry', 'lava', 'law', 'lawn',
-    'lawsuit', 'layer', 'lazy', 'leader', 'leaf', 'learn', 'leave',
-    'lecture', 'left', 'leg', 'legal', 'legend', 'leisure', 'lemon', 'lend',
-    'length', 'lens', 'leopard', 'lesson', 'letter', 'level', 'liar',
-    'liberty', 'library', 'license', 'life', 'lift', 'light', 'like',
-    'limb', 'limit', 'link', 'lion', 'liquid', 'list', 'little', 'live',
-    'lizard', 'load', 'loan', 'lobster', 'local', 'lock', 'logic', 'lonely',
-    'long', 'loop', 'lottery', 'loud', 'lounge', 'love', 'loyal', 'lucky',
-    'luggage', 'lumber', 'lunar', 'lunch', 'luxury', 'lyrics', 'machine',
-    'mad', 'magic', 'magnet', 'maid', 'mail', 'main', 'major', 'make',
-    'mammal', 'man', 'manage', 'mandate', 'mango', 'mansion', 'manual',
-    'maple', 'marble', 'march', 'margin', 'marine', 'market', 'marriage',
-    'mask', 'mass', 'master', 'match', 'material', 'math', 'matrix',
-    'matter', 'maximum', 'maze', 'meadow', 'mean', 'measure', 'meat',
-    'mechanic', 'medal', 'media', 'melody', 'melt', 'member', 'memory',
-    'mention', 'menu', 'mercy', 'merge', 'merit', 'merry', 'mesh',
-    'message', 'metal', 'method', 'middle', 'midnight', 'milk', 'million',
-    'mimic', 'mind', 'minimum', 'minor', 'minute', 'miracle', 'mirror',
-    'misery', 'miss', 'mistake', 'mix', 'mixed', 'mixture', 'mobile',
-    'model', 'modify', 'mom', 'moment', 'monitor', 'monkey', 'monster',
-    'month', 'moon', 'moral', 'more', 'morning', 'mosquito', 'mother',
-    'motion', 'motor', 'mountain', 'mouse', 'move', 'movie', 'much',
-    'muffin', 'mule', 'multiply', 'muscle', 'museum', 'mushroom', 'music',
-    'must', 'mutual', 'myself', 'mystery', 'myth', 'naive', 'name',
-    'napkin', 'narrow', 'nasty', 'nation', 'nature', 'near', 'neck', 'need',
-    'negative', 'neglect', 'neither', 'nephew', 'nerve', 'nest', 'net',
-    'network', 'neutral', 'never', 'news', 'next', 'nice', 'night', 'noble',
-    'noise', 'nominee', 'noodle', 'normal', 'north', 'nose', 'notable',
-    'note', 'nothing', 'notice', 'novel', 'now', 'nuclear', 'number',
-    'nurse', 'nut', 'oak', 'obey', 'object', 'oblige', 'obscure', 'observe',
-    'obtain', 'obvious', 'occur', 'ocean', 'october', 'odor', 'off',
-    'offer', 'office', 'often', 'oil', 'okay', 'old', 'olive', 'olympic',
-    'omit', 'once', 'one', 'onion', 'online', 'only', 'open', 'opera',
-    'opinion', 'oppose', 'option', 'orange', 'orbit', 'orchard', 'order',
-    'ordinary', 'organ', 'orient', 'original', 'orphan', 'ostrich', 'other',
-    'outdoor', 'outer', 'output', 'outside', 'oval', 'oven', 'over', 'own',
-    'owner', 'oxygen', 'oyster', 'ozone', 'pact', 'paddle', 'page', 'pair',
-    'palace', 'palm', 'panda', 'panel', 'panic', 'panther', 'paper',
-    'parade', 'parent', 'park', 'parrot', 'party', 'pass', 'patch', 'path',
-    'patient', 'patrol', 'pattern', 'pause', 'pave', 'payment', 'peace',
-    'peanut', 'pear', 'peasant', 'pelican', 'pen', 'penalty', 'pencil',
-    'people', 'pepper', 'perfect', 'permit', 'person', 'pet', 'phone',
-    'photo', 'phrase', 'physical', 'piano', 'picnic', 'picture', 'piece',
-    'pig', 'pigeon', 'pill', 'pilot', 'pink', 'pioneer', 'pipe', 'pistol',
-    'pitch', 'pizza', 'place', 'planet', 'plastic', 'plate', 'play',
-    'please', 'pledge', 'pluck', 'plug', 'plunge', 'poem', 'poet', 'point',
-    'polar', 'pole', 'police', 'pond', 'pony', 'pool', 'popular', 'portion',
-    'position', 'possible', 'post', 'potato', 'pottery', 'poverty',
-    'powder', 'power', 'practice', 'praise', 'predict', 'prefer', 'prepare',
-    'present', 'pretty', 'prevent', 'price', 'pride', 'primary', 'print',
-    'priority', 'prison', 'private', 'prize', 'problem', 'process',
-    'produce', 'profit', 'program', 'project', 'promote', 'proof',
-    'property', 'prosper', 'protect', 'proud', 'provide', 'public',
-    'pudding', 'pull', 'pulp', 'pulse', 'pumpkin', 'punch', 'pupil',
-    'puppy', 'purchase', 'purity', 'purpose', 'purse', 'push', 'put',
-    'puzzle', 'pyramid', 'quality', 'quantum', 'quarter', 'question',
-    'quick', 'quit', 'quiz', 'quote', 'rabbit', 'raccoon', 'race', 'rack',
-    'radar', 'radio', 'rail', 'rain', 'raise', 'rally', 'ramp', 'ranch',
-    'random', 'range', 'rapid', 'rare', 'rate', 'rather', 'raven', 'raw',
-    'razor', 'ready', 'real', 'reason', 'rebel', 'rebuild', 'recall',
-    'receive', 'recipe', 'record', 'recycle', 'reduce', 'reflect', 'reform',
-    'refuse', 'region', 'regret', 'regular', 'reject', 'relax', 'release',
-    'relief', 'rely', 'remain', 'remember', 'remind', 'remove', 'render',
-    'renew', 'rent', 'reopen', 'repair', 'repeat', 'replace', 'report',
-    'require', 'rescue', 'resemble', 'resist', 'resource', 'response',
-    'result', 'retire', 'retreat', 'return', 'reunion', 'reveal', 'review',
-    'reward', 'rhythm', 'rib', 'ribbon', 'rice', 'rich', 'ride', 'ridge',
-    'rifle', 'right', 'rigid', 'ring', 'riot', 'ripple', 'risk', 'ritual',
-    'rival', 'river', 'road', 'roast', 'robot', 'robust', 'rocket',
-    'romance', 'roof', 'rookie', 'room', 'rose', 'rotate', 'rough', 'round',
-    'route', 'royal', 'rubber', 'rude', 'rug', 'rule', 'run', 'runway',
-    'rural', 'sad', 'saddle', 'sadness', 'safe', 'sail', 'salad', 'salmon',
-    'salon', 'salt', 'salute', 'same', 'sample', 'sand', 'satisfy',
-    'satoshi', 'sauce', 'sausage', 'save', 'say', 'scale', 'scan', 'scare',
-    'scatter', 'scene', 'scheme', 'school', 'science', 'scissors',
-    'scorpion', 'scout', 'scrap', 'screen', 'script', 'scrub', 'sea',
-    'search', 'season', 'seat', 'second', 'secret', 'section', 'security',
-    'seed', 'seek', 'segment', 'select', 'sell', 'seminar', 'senior',
-    'sense', 'sentence', 'series', 'service', 'session', 'settle', 'setup',
-    'seven', 'shadow', 'shaft', 'shallow', 'share', 'shed', 'shell',
-    'sheriff', 'shield', 'shift', 'shine', 'ship', 'shiver', 'shock',
-    'shoe', 'shoot', 'shop', 'short', 'shoulder', 'shove', 'shrimp',
-    'shrug', 'shuffle', 'shy', 'sibling', 'sick', 'side', 'siege', 'sight',
-    'sign', 'silent', 'silk', 'silly', 'silver', 'similar', 'simple',
-    'since', 'sing', 'siren', 'sister', 'situate', 'six', 'size', 'skate',
-    'sketch', 'ski', 'skill', 'skin', 'skirt', 'skull', 'slab', 'slam',
-    'sleep', 'slender', 'slice', 'slide', 'slight', 'slim', 'slogan',
-    'slot', 'slow', 'slush', 'small', 'smart', 'smile', 'smoke', 'smooth',
-    'snack', 'snake', 'snap', 'sniff', 'snow', 'soap', 'soccer', 'social',
-    'sock', 'soda', 'soft', 'solar', 'soldier', 'solid', 'solution',
-    'solve', 'someone', 'song', 'soon', 'sorry', 'sort', 'soul', 'sound',
-    'soup', 'source', 'south', 'space', 'spare', 'spatial', 'spawn',
-    'speak', 'special', 'speed', 'spell', 'spend', 'sphere', 'spice',
-    'spider', 'spike', 'spin', 'spirit', 'split', 'spoil', 'sponsor',
-    'spoon', 'sport', 'spot', 'spray', 'spread', 'spring', 'spy', 'square',
-    'squeeze', 'squirrel', 'stable', 'stadium', 'staff', 'stage', 'stairs',
-    'stamp', 'stand', 'start', 'state', 'stay', 'steak', 'steel', 'stem',
-    'step', 'stereo', 'stick', 'still', 'sting', 'stock', 'stomach',
-    'stone', 'stool', 'story', 'stove', 'strategy', 'street', 'strike',
-    'strong', 'struggle', 'student', 'stuff', 'stumble', 'style', 'subject',
-    'submit', 'subway', 'success', 'such', 'sudden', 'suffer', 'sugar',
-    'suggest', 'suit', 'summer', 'sun', 'sunny', 'sunset', 'super',
-    'supply', 'supreme', 'sure', 'surface', 'surge', 'surprise', 'surround',
-    'survey', 'suspect', 'sustain', 'swallow', 'swamp', 'swap', 'swarm',
-    'swear', 'sweet', 'swift', 'swim', 'swing', 'switch', 'sword', 'symbol',
-    'symptom', 'syrup', 'system', 'table', 'tackle', 'tag', 'tail',
-    'talent', 'talk', 'tank', 'tape', 'target', 'task', 'taste', 'tattoo',
-    'taxi', 'teach', 'team', 'tell', 'ten', 'tenant', 'tennis', 'tent',
-    'term', 'test', 'text', 'thank', 'that', 'theme', 'then', 'theory',
-    'there', 'they', 'thing', 'this', 'thought', 'three', 'thrive', 'throw',
-    'thumb', 'thunder', 'ticket', 'tide', 'tiger', 'tilt', 'timber', 'time',
-    'tiny', 'tip', 'tired', 'tissue', 'title', 'toast', 'tobacco', 'today',
-    'toddler', 'toe', 'together', 'toilet', 'token', 'tomato', 'tomorrow',
-    'tone', 'tongue', 'tonight', 'tool', 'tooth', 'top', 'topic', 'topple',
-    'torch', 'tornado', 'tortoise', 'toss', 'total', 'tourist', 'toward',
-    'tower', 'town', 'toy', 'track', 'trade', 'traffic', 'tragic', 'train',
-    'transfer', 'trap', 'trash', 'travel', 'tray', 'treat', 'tree', 'trend',
-    'trial', 'tribe', 'trick', 'trigger', 'trim', 'trip', 'trophy',
-    'trouble', 'truck', 'true', 'truly', 'trumpet', 'trust', 'truth', 'try',
-    'tube', 'tuition', 'tumble', 'tuna', 'tunnel', 'turkey', 'turn',
-    'turtle', 'twelve', 'twenty', 'twice', 'twin', 'twist', 'two', 'type',
-    'typical', 'ugly', 'umbrella', 'unable', 'unaware', 'uncle', 'uncover',
-    'under', 'undo', 'unfair', 'unfold', 'unhappy', 'uniform', 'unique',
-    'unit', 'universe', 'unknown', 'unlock', 'until', 'unusual', 'unveil',
-    'update', 'upgrade', 'uphold', 'upon', 'upper', 'upset', 'urban',
-    'urge', 'usage', 'use', 'used', 'useful', 'useless', 'usual', 'utility',
-    'vacant', 'vacuum', 'vague', 'valid', 'valley', 'valve', 'van',
-    'vanish', 'vapor', 'various', 'vast', 'vault', 'vehicle', 'velvet',
-    'vendor', 'venture', 'venue', 'verb', 'verify', 'version', 'very',
-    'vessel', 'veteran', 'viable', 'vibrant', 'vicious', 'victory', 'video',
-    'view', 'village', 'vintage', 'violin', 'virtual', 'virus', 'visa',
-    'visit', 'visual', 'vital', 'vivid', 'vocal', 'voice', 'void',
-    'volcano', 'volume', 'vote', 'voyage', 'wage', 'wagon', 'wait', 'walk',
-    'wall', 'walnut', 'want', 'warfare', 'warm', 'warrior', 'wash', 'wasp',
-    'waste', 'water', 'wave', 'way', 'wealth', 'weapon', 'wear', 'weasel',
-    'weather', 'web', 'wedding', 'weekend', 'weird', 'welcome', 'west',
-    'wet', 'whale', 'what', 'wheat', 'wheel', 'when', 'where', 'whip',
-    'whisper', 'wide', 'width', 'wife', 'wild', 'will', 'win', 'window',
-    'wine', 'wing', 'wink', 'winner', 'winter', 'wire', 'wisdom', 'wise',
-    'wish', 'witness', 'wolf', 'woman', 'wonder', 'wood', 'wool', 'word',
-    'work', 'world', 'worry', 'worth', 'wrap', 'wreck', 'wrestle', 'wrist',
-    'write', 'wrong', 'yard', 'year', 'yellow', 'you', 'young', 'youth',
-    'zebra', 'zero', 'zone', 'zoo']
+
+__all__ = ["WORDLIST"]
+
+WORDLIST = [
+    "abandon",
+    "ability",
+    "able",
+    "about",
+    "above",
+    "absent",
+    "absorb",
+    "abstract",
+    "absurd",
+    "abuse",
+    "access",
+    "accident",
+    "account",
+    "accuse",
+    "achieve",
+    "acid",
+    "acoustic",
+    "acquire",
+    "across",
+    "act",
+    "action",
+    "actor",
+    "actress",
+    "actual",
+    "adapt",
+    "add",
+    "addict",
+    "address",
+    "adjust",
+    "admit",
+    "adult",
+    "advance",
+    "advice",
+    "aerobic",
+    "affair",
+    "afford",
+    "afraid",
+    "again",
+    "age",
+    "agent",
+    "agree",
+    "ahead",
+    "aim",
+    "air",
+    "airport",
+    "aisle",
+    "alarm",
+    "album",
+    "alcohol",
+    "alert",
+    "alien",
+    "all",
+    "alley",
+    "allow",
+    "almost",
+    "alone",
+    "alpha",
+    "already",
+    "also",
+    "alter",
+    "always",
+    "amateur",
+    "amazing",
+    "among",
+    "amount",
+    "amused",
+    "analyst",
+    "anchor",
+    "ancient",
+    "anger",
+    "angle",
+    "angry",
+    "animal",
+    "ankle",
+    "announce",
+    "annual",
+    "another",
+    "answer",
+    "antenna",
+    "antique",
+    "anxiety",
+    "any",
+    "apart",
+    "apology",
+    "appear",
+    "apple",
+    "approve",
+    "april",
+    "arch",
+    "arctic",
+    "area",
+    "arena",
+    "argue",
+    "arm",
+    "armed",
+    "armor",
+    "army",
+    "around",
+    "arrange",
+    "arrest",
+    "arrive",
+    "arrow",
+    "art",
+    "artefact",
+    "artist",
+    "artwork",
+    "ask",
+    "aspect",
+    "assault",
+    "asset",
+    "assist",
+    "assume",
+    "asthma",
+    "athlete",
+    "atom",
+    "attack",
+    "attend",
+    "attitude",
+    "attract",
+    "auction",
+    "audit",
+    "august",
+    "aunt",
+    "author",
+    "auto",
+    "autumn",
+    "average",
+    "avocado",
+    "avoid",
+    "awake",
+    "aware",
+    "away",
+    "awesome",
+    "awful",
+    "awkward",
+    "axis",
+    "baby",
+    "bachelor",
+    "bacon",
+    "badge",
+    "bag",
+    "balance",
+    "balcony",
+    "ball",
+    "bamboo",
+    "banana",
+    "banner",
+    "bar",
+    "barely",
+    "bargain",
+    "barrel",
+    "base",
+    "basic",
+    "basket",
+    "battle",
+    "beach",
+    "bean",
+    "beauty",
+    "because",
+    "become",
+    "beef",
+    "before",
+    "begin",
+    "behave",
+    "behind",
+    "believe",
+    "below",
+    "belt",
+    "bench",
+    "benefit",
+    "best",
+    "betray",
+    "better",
+    "between",
+    "beyond",
+    "bicycle",
+    "bid",
+    "bike",
+    "bind",
+    "biology",
+    "bird",
+    "birth",
+    "bitter",
+    "black",
+    "blade",
+    "blame",
+    "blanket",
+    "blast",
+    "bleak",
+    "bless",
+    "blind",
+    "blood",
+    "blossom",
+    "blouse",
+    "blue",
+    "blur",
+    "blush",
+    "board",
+    "boat",
+    "body",
+    "boil",
+    "bomb",
+    "bone",
+    "bonus",
+    "book",
+    "boost",
+    "border",
+    "boring",
+    "borrow",
+    "boss",
+    "bottom",
+    "bounce",
+    "box",
+    "boy",
+    "bracket",
+    "brain",
+    "brand",
+    "brass",
+    "brave",
+    "bread",
+    "breeze",
+    "brick",
+    "bridge",
+    "brief",
+    "bright",
+    "bring",
+    "brisk",
+    "broccoli",
+    "broken",
+    "bronze",
+    "broom",
+    "brother",
+    "brown",
+    "brush",
+    "bubble",
+    "buddy",
+    "budget",
+    "buffalo",
+    "build",
+    "bulb",
+    "bulk",
+    "bullet",
+    "bundle",
+    "bunker",
+    "burden",
+    "burger",
+    "burst",
+    "bus",
+    "business",
+    "busy",
+    "butter",
+    "buyer",
+    "buzz",
+    "cabbage",
+    "cabin",
+    "cable",
+    "cactus",
+    "cage",
+    "cake",
+    "call",
+    "calm",
+    "camera",
+    "camp",
+    "can",
+    "canal",
+    "cancel",
+    "candy",
+    "cannon",
+    "canoe",
+    "canvas",
+    "canyon",
+    "capable",
+    "capital",
+    "captain",
+    "car",
+    "carbon",
+    "card",
+    "cargo",
+    "carpet",
+    "carry",
+    "cart",
+    "case",
+    "cash",
+    "casino",
+    "castle",
+    "casual",
+    "cat",
+    "catalog",
+    "catch",
+    "category",
+    "cattle",
+    "caught",
+    "cause",
+    "caution",
+    "cave",
+    "ceiling",
+    "celery",
+    "cement",
+    "census",
+    "century",
+    "cereal",
+    "certain",
+    "chair",
+    "chalk",
+    "champion",
+    "change",
+    "chaos",
+    "chapter",
+    "charge",
+    "chase",
+    "chat",
+    "cheap",
+    "check",
+    "cheese",
+    "chef",
+    "cherry",
+    "chest",
+    "chicken",
+    "chief",
+    "child",
+    "chimney",
+    "choice",
+    "choose",
+    "chronic",
+    "chuckle",
+    "chunk",
+    "churn",
+    "cigar",
+    "cinnamon",
+    "circle",
+    "citizen",
+    "city",
+    "civil",
+    "claim",
+    "clap",
+    "clarify",
+    "claw",
+    "clay",
+    "clean",
+    "clerk",
+    "clever",
+    "click",
+    "client",
+    "cliff",
+    "climb",
+    "clinic",
+    "clip",
+    "clock",
+    "clog",
+    "close",
+    "cloth",
+    "cloud",
+    "clown",
+    "club",
+    "clump",
+    "cluster",
+    "clutch",
+    "coach",
+    "coast",
+    "coconut",
+    "code",
+    "coffee",
+    "coil",
+    "coin",
+    "collect",
+    "color",
+    "column",
+    "combine",
+    "come",
+    "comfort",
+    "comic",
+    "common",
+    "company",
+    "concert",
+    "conduct",
+    "confirm",
+    "congress",
+    "connect",
+    "consider",
+    "control",
+    "convince",
+    "cook",
+    "cool",
+    "copper",
+    "copy",
+    "coral",
+    "core",
+    "corn",
+    "correct",
+    "cost",
+    "cotton",
+    "couch",
+    "country",
+    "couple",
+    "course",
+    "cousin",
+    "cover",
+    "coyote",
+    "crack",
+    "cradle",
+    "craft",
+    "cram",
+    "crane",
+    "crash",
+    "crater",
+    "crawl",
+    "crazy",
+    "cream",
+    "credit",
+    "creek",
+    "crew",
+    "cricket",
+    "crime",
+    "crisp",
+    "critic",
+    "crop",
+    "cross",
+    "crouch",
+    "crowd",
+    "crucial",
+    "cruel",
+    "cruise",
+    "crumble",
+    "crunch",
+    "crush",
+    "cry",
+    "crystal",
+    "cube",
+    "culture",
+    "cup",
+    "cupboard",
+    "curious",
+    "current",
+    "curtain",
+    "curve",
+    "cushion",
+    "custom",
+    "cute",
+    "cycle",
+    "dad",
+    "damage",
+    "damp",
+    "dance",
+    "danger",
+    "daring",
+    "dash",
+    "daughter",
+    "dawn",
+    "day",
+    "deal",
+    "debate",
+    "debris",
+    "decade",
+    "december",
+    "decide",
+    "decline",
+    "decorate",
+    "decrease",
+    "deer",
+    "defense",
+    "define",
+    "defy",
+    "degree",
+    "delay",
+    "deliver",
+    "demand",
+    "demise",
+    "denial",
+    "dentist",
+    "deny",
+    "depart",
+    "depend",
+    "deposit",
+    "depth",
+    "deputy",
+    "derive",
+    "describe",
+    "desert",
+    "design",
+    "desk",
+    "despair",
+    "destroy",
+    "detail",
+    "detect",
+    "develop",
+    "device",
+    "devote",
+    "diagram",
+    "dial",
+    "diamond",
+    "diary",
+    "dice",
+    "diesel",
+    "diet",
+    "differ",
+    "digital",
+    "dignity",
+    "dilemma",
+    "dinner",
+    "dinosaur",
+    "direct",
+    "dirt",
+    "disagree",
+    "discover",
+    "disease",
+    "dish",
+    "dismiss",
+    "disorder",
+    "display",
+    "distance",
+    "divert",
+    "divide",
+    "divorce",
+    "dizzy",
+    "doctor",
+    "document",
+    "dog",
+    "doll",
+    "dolphin",
+    "domain",
+    "donate",
+    "donkey",
+    "donor",
+    "door",
+    "dose",
+    "double",
+    "dove",
+    "draft",
+    "dragon",
+    "drama",
+    "drastic",
+    "draw",
+    "dream",
+    "dress",
+    "drift",
+    "drill",
+    "drink",
+    "drip",
+    "drive",
+    "drop",
+    "drum",
+    "dry",
+    "duck",
+    "dumb",
+    "dune",
+    "during",
+    "dust",
+    "dutch",
+    "duty",
+    "dwarf",
+    "dynamic",
+    "eager",
+    "eagle",
+    "early",
+    "earn",
+    "earth",
+    "easily",
+    "east",
+    "easy",
+    "echo",
+    "ecology",
+    "economy",
+    "edge",
+    "edit",
+    "educate",
+    "effort",
+    "egg",
+    "eight",
+    "either",
+    "elbow",
+    "elder",
+    "electric",
+    "elegant",
+    "element",
+    "elephant",
+    "elevator",
+    "elite",
+    "else",
+    "embark",
+    "embody",
+    "embrace",
+    "emerge",
+    "emotion",
+    "employ",
+    "empower",
+    "empty",
+    "enable",
+    "enact",
+    "end",
+    "endless",
+    "endorse",
+    "enemy",
+    "energy",
+    "enforce",
+    "engage",
+    "engine",
+    "enhance",
+    "enjoy",
+    "enlist",
+    "enough",
+    "enrich",
+    "enroll",
+    "ensure",
+    "enter",
+    "entire",
+    "entry",
+    "envelope",
+    "episode",
+    "equal",
+    "equip",
+    "era",
+    "erase",
+    "erode",
+    "erosion",
+    "error",
+    "erupt",
+    "escape",
+    "essay",
+    "essence",
+    "estate",
+    "eternal",
+    "ethics",
+    "evidence",
+    "evil",
+    "evoke",
+    "evolve",
+    "exact",
+    "example",
+    "excess",
+    "exchange",
+    "excite",
+    "exclude",
+    "excuse",
+    "execute",
+    "exercise",
+    "exhaust",
+    "exhibit",
+    "exile",
+    "exist",
+    "exit",
+    "exotic",
+    "expand",
+    "expect",
+    "expire",
+    "explain",
+    "expose",
+    "express",
+    "extend",
+    "extra",
+    "eye",
+    "eyebrow",
+    "fabric",
+    "face",
+    "faculty",
+    "fade",
+    "faint",
+    "faith",
+    "fall",
+    "false",
+    "fame",
+    "family",
+    "famous",
+    "fan",
+    "fancy",
+    "fantasy",
+    "farm",
+    "fashion",
+    "fat",
+    "fatal",
+    "father",
+    "fatigue",
+    "fault",
+    "favorite",
+    "feature",
+    "february",
+    "federal",
+    "fee",
+    "feed",
+    "feel",
+    "female",
+    "fence",
+    "festival",
+    "fetch",
+    "fever",
+    "few",
+    "fiber",
+    "fiction",
+    "field",
+    "figure",
+    "file",
+    "film",
+    "filter",
+    "final",
+    "find",
+    "fine",
+    "finger",
+    "finish",
+    "fire",
+    "firm",
+    "first",
+    "fiscal",
+    "fish",
+    "fit",
+    "fitness",
+    "fix",
+    "flag",
+    "flame",
+    "flash",
+    "flat",
+    "flavor",
+    "flee",
+    "flight",
+    "flip",
+    "float",
+    "flock",
+    "floor",
+    "flower",
+    "fluid",
+    "flush",
+    "fly",
+    "foam",
+    "focus",
+    "fog",
+    "foil",
+    "fold",
+    "follow",
+    "food",
+    "foot",
+    "force",
+    "forest",
+    "forget",
+    "fork",
+    "fortune",
+    "forum",
+    "forward",
+    "fossil",
+    "foster",
+    "found",
+    "fox",
+    "fragile",
+    "frame",
+    "frequent",
+    "fresh",
+    "friend",
+    "fringe",
+    "frog",
+    "front",
+    "frost",
+    "frown",
+    "frozen",
+    "fruit",
+    "fuel",
+    "fun",
+    "funny",
+    "furnace",
+    "fury",
+    "future",
+    "gadget",
+    "gain",
+    "galaxy",
+    "gallery",
+    "game",
+    "gap",
+    "garage",
+    "garbage",
+    "garden",
+    "garlic",
+    "garment",
+    "gas",
+    "gasp",
+    "gate",
+    "gather",
+    "gauge",
+    "gaze",
+    "general",
+    "genius",
+    "genre",
+    "gentle",
+    "genuine",
+    "gesture",
+    "ghost",
+    "giant",
+    "gift",
+    "giggle",
+    "ginger",
+    "giraffe",
+    "girl",
+    "give",
+    "glad",
+    "glance",
+    "glare",
+    "glass",
+    "glide",
+    "glimpse",
+    "globe",
+    "gloom",
+    "glory",
+    "glove",
+    "glow",
+    "glue",
+    "goat",
+    "goddess",
+    "gold",
+    "good",
+    "goose",
+    "gorilla",
+    "gospel",
+    "gossip",
+    "govern",
+    "gown",
+    "grab",
+    "grace",
+    "grain",
+    "grant",
+    "grape",
+    "grass",
+    "gravity",
+    "great",
+    "green",
+    "grid",
+    "grief",
+    "grit",
+    "grocery",
+    "group",
+    "grow",
+    "grunt",
+    "guard",
+    "guess",
+    "guide",
+    "guilt",
+    "guitar",
+    "gun",
+    "gym",
+    "habit",
+    "hair",
+    "half",
+    "hammer",
+    "hamster",
+    "hand",
+    "happy",
+    "harbor",
+    "hard",
+    "harsh",
+    "harvest",
+    "hat",
+    "have",
+    "hawk",
+    "hazard",
+    "head",
+    "health",
+    "heart",
+    "heavy",
+    "hedgehog",
+    "height",
+    "hello",
+    "helmet",
+    "help",
+    "hen",
+    "hero",
+    "hidden",
+    "high",
+    "hill",
+    "hint",
+    "hip",
+    "hire",
+    "history",
+    "hobby",
+    "hockey",
+    "hold",
+    "hole",
+    "holiday",
+    "hollow",
+    "home",
+    "honey",
+    "hood",
+    "hope",
+    "horn",
+    "horror",
+    "horse",
+    "hospital",
+    "host",
+    "hotel",
+    "hour",
+    "hover",
+    "hub",
+    "huge",
+    "human",
+    "humble",
+    "humor",
+    "hundred",
+    "hungry",
+    "hunt",
+    "hurdle",
+    "hurry",
+    "hurt",
+    "husband",
+    "hybrid",
+    "ice",
+    "icon",
+    "idea",
+    "identify",
+    "idle",
+    "ignore",
+    "ill",
+    "illegal",
+    "illness",
+    "image",
+    "imitate",
+    "immense",
+    "immune",
+    "impact",
+    "impose",
+    "improve",
+    "impulse",
+    "inch",
+    "include",
+    "income",
+    "increase",
+    "index",
+    "indicate",
+    "indoor",
+    "industry",
+    "infant",
+    "inflict",
+    "inform",
+    "inhale",
+    "inherit",
+    "initial",
+    "inject",
+    "injury",
+    "inmate",
+    "inner",
+    "innocent",
+    "input",
+    "inquiry",
+    "insane",
+    "insect",
+    "inside",
+    "inspire",
+    "install",
+    "intact",
+    "interest",
+    "into",
+    "invest",
+    "invite",
+    "involve",
+    "iron",
+    "island",
+    "isolate",
+    "issue",
+    "item",
+    "ivory",
+    "jacket",
+    "jaguar",
+    "jar",
+    "jazz",
+    "jealous",
+    "jeans",
+    "jelly",
+    "jewel",
+    "job",
+    "join",
+    "joke",
+    "journey",
+    "joy",
+    "judge",
+    "juice",
+    "jump",
+    "jungle",
+    "junior",
+    "junk",
+    "just",
+    "kangaroo",
+    "keen",
+    "keep",
+    "ketchup",
+    "key",
+    "kick",
+    "kid",
+    "kidney",
+    "kind",
+    "kingdom",
+    "kiss",
+    "kit",
+    "kitchen",
+    "kite",
+    "kitten",
+    "kiwi",
+    "knee",
+    "knife",
+    "knock",
+    "know",
+    "lab",
+    "label",
+    "labor",
+    "ladder",
+    "lady",
+    "lake",
+    "lamp",
+    "language",
+    "laptop",
+    "large",
+    "later",
+    "latin",
+    "laugh",
+    "laundry",
+    "lava",
+    "law",
+    "lawn",
+    "lawsuit",
+    "layer",
+    "lazy",
+    "leader",
+    "leaf",
+    "learn",
+    "leave",
+    "lecture",
+    "left",
+    "leg",
+    "legal",
+    "legend",
+    "leisure",
+    "lemon",
+    "lend",
+    "length",
+    "lens",
+    "leopard",
+    "lesson",
+    "letter",
+    "level",
+    "liar",
+    "liberty",
+    "library",
+    "license",
+    "life",
+    "lift",
+    "light",
+    "like",
+    "limb",
+    "limit",
+    "link",
+    "lion",
+    "liquid",
+    "list",
+    "little",
+    "live",
+    "lizard",
+    "load",
+    "loan",
+    "lobster",
+    "local",
+    "lock",
+    "logic",
+    "lonely",
+    "long",
+    "loop",
+    "lottery",
+    "loud",
+    "lounge",
+    "love",
+    "loyal",
+    "lucky",
+    "luggage",
+    "lumber",
+    "lunar",
+    "lunch",
+    "luxury",
+    "lyrics",
+    "machine",
+    "mad",
+    "magic",
+    "magnet",
+    "maid",
+    "mail",
+    "main",
+    "major",
+    "make",
+    "mammal",
+    "man",
+    "manage",
+    "mandate",
+    "mango",
+    "mansion",
+    "manual",
+    "maple",
+    "marble",
+    "march",
+    "margin",
+    "marine",
+    "market",
+    "marriage",
+    "mask",
+    "mass",
+    "master",
+    "match",
+    "material",
+    "math",
+    "matrix",
+    "matter",
+    "maximum",
+    "maze",
+    "meadow",
+    "mean",
+    "measure",
+    "meat",
+    "mechanic",
+    "medal",
+    "media",
+    "melody",
+    "melt",
+    "member",
+    "memory",
+    "mention",
+    "menu",
+    "mercy",
+    "merge",
+    "merit",
+    "merry",
+    "mesh",
+    "message",
+    "metal",
+    "method",
+    "middle",
+    "midnight",
+    "milk",
+    "million",
+    "mimic",
+    "mind",
+    "minimum",
+    "minor",
+    "minute",
+    "miracle",
+    "mirror",
+    "misery",
+    "miss",
+    "mistake",
+    "mix",
+    "mixed",
+    "mixture",
+    "mobile",
+    "model",
+    "modify",
+    "mom",
+    "moment",
+    "monitor",
+    "monkey",
+    "monster",
+    "month",
+    "moon",
+    "moral",
+    "more",
+    "morning",
+    "mosquito",
+    "mother",
+    "motion",
+    "motor",
+    "mountain",
+    "mouse",
+    "move",
+    "movie",
+    "much",
+    "muffin",
+    "mule",
+    "multiply",
+    "muscle",
+    "museum",
+    "mushroom",
+    "music",
+    "must",
+    "mutual",
+    "myself",
+    "mystery",
+    "myth",
+    "naive",
+    "name",
+    "napkin",
+    "narrow",
+    "nasty",
+    "nation",
+    "nature",
+    "near",
+    "neck",
+    "need",
+    "negative",
+    "neglect",
+    "neither",
+    "nephew",
+    "nerve",
+    "nest",
+    "net",
+    "network",
+    "neutral",
+    "never",
+    "news",
+    "next",
+    "nice",
+    "night",
+    "noble",
+    "noise",
+    "nominee",
+    "noodle",
+    "normal",
+    "north",
+    "nose",
+    "notable",
+    "note",
+    "nothing",
+    "notice",
+    "novel",
+    "now",
+    "nuclear",
+    "number",
+    "nurse",
+    "nut",
+    "oak",
+    "obey",
+    "object",
+    "oblige",
+    "obscure",
+    "observe",
+    "obtain",
+    "obvious",
+    "occur",
+    "ocean",
+    "october",
+    "odor",
+    "off",
+    "offer",
+    "office",
+    "often",
+    "oil",
+    "okay",
+    "old",
+    "olive",
+    "olympic",
+    "omit",
+    "once",
+    "one",
+    "onion",
+    "online",
+    "only",
+    "open",
+    "opera",
+    "opinion",
+    "oppose",
+    "option",
+    "orange",
+    "orbit",
+    "orchard",
+    "order",
+    "ordinary",
+    "organ",
+    "orient",
+    "original",
+    "orphan",
+    "ostrich",
+    "other",
+    "outdoor",
+    "outer",
+    "output",
+    "outside",
+    "oval",
+    "oven",
+    "over",
+    "own",
+    "owner",
+    "oxygen",
+    "oyster",
+    "ozone",
+    "pact",
+    "paddle",
+    "page",
+    "pair",
+    "palace",
+    "palm",
+    "panda",
+    "panel",
+    "panic",
+    "panther",
+    "paper",
+    "parade",
+    "parent",
+    "park",
+    "parrot",
+    "party",
+    "pass",
+    "patch",
+    "path",
+    "patient",
+    "patrol",
+    "pattern",
+    "pause",
+    "pave",
+    "payment",
+    "peace",
+    "peanut",
+    "pear",
+    "peasant",
+    "pelican",
+    "pen",
+    "penalty",
+    "pencil",
+    "people",
+    "pepper",
+    "perfect",
+    "permit",
+    "person",
+    "pet",
+    "phone",
+    "photo",
+    "phrase",
+    "physical",
+    "piano",
+    "picnic",
+    "picture",
+    "piece",
+    "pig",
+    "pigeon",
+    "pill",
+    "pilot",
+    "pink",
+    "pioneer",
+    "pipe",
+    "pistol",
+    "pitch",
+    "pizza",
+    "place",
+    "planet",
+    "plastic",
+    "plate",
+    "play",
+    "please",
+    "pledge",
+    "pluck",
+    "plug",
+    "plunge",
+    "poem",
+    "poet",
+    "point",
+    "polar",
+    "pole",
+    "police",
+    "pond",
+    "pony",
+    "pool",
+    "popular",
+    "portion",
+    "position",
+    "possible",
+    "post",
+    "potato",
+    "pottery",
+    "poverty",
+    "powder",
+    "power",
+    "practice",
+    "praise",
+    "predict",
+    "prefer",
+    "prepare",
+    "present",
+    "pretty",
+    "prevent",
+    "price",
+    "pride",
+    "primary",
+    "print",
+    "priority",
+    "prison",
+    "private",
+    "prize",
+    "problem",
+    "process",
+    "produce",
+    "profit",
+    "program",
+    "project",
+    "promote",
+    "proof",
+    "property",
+    "prosper",
+    "protect",
+    "proud",
+    "provide",
+    "public",
+    "pudding",
+    "pull",
+    "pulp",
+    "pulse",
+    "pumpkin",
+    "punch",
+    "pupil",
+    "puppy",
+    "purchase",
+    "purity",
+    "purpose",
+    "purse",
+    "push",
+    "put",
+    "puzzle",
+    "pyramid",
+    "quality",
+    "quantum",
+    "quarter",
+    "question",
+    "quick",
+    "quit",
+    "quiz",
+    "quote",
+    "rabbit",
+    "raccoon",
+    "race",
+    "rack",
+    "radar",
+    "radio",
+    "rail",
+    "rain",
+    "raise",
+    "rally",
+    "ramp",
+    "ranch",
+    "random",
+    "range",
+    "rapid",
+    "rare",
+    "rate",
+    "rather",
+    "raven",
+    "raw",
+    "razor",
+    "ready",
+    "real",
+    "reason",
+    "rebel",
+    "rebuild",
+    "recall",
+    "receive",
+    "recipe",
+    "record",
+    "recycle",
+    "reduce",
+    "reflect",
+    "reform",
+    "refuse",
+    "region",
+    "regret",
+    "regular",
+    "reject",
+    "relax",
+    "release",
+    "relief",
+    "rely",
+    "remain",
+    "remember",
+    "remind",
+    "remove",
+    "render",
+    "renew",
+    "rent",
+    "reopen",
+    "repair",
+    "repeat",
+    "replace",
+    "report",
+    "require",
+    "rescue",
+    "resemble",
+    "resist",
+    "resource",
+    "response",
+    "result",
+    "retire",
+    "retreat",
+    "return",
+    "reunion",
+    "reveal",
+    "review",
+    "reward",
+    "rhythm",
+    "rib",
+    "ribbon",
+    "rice",
+    "rich",
+    "ride",
+    "ridge",
+    "rifle",
+    "right",
+    "rigid",
+    "ring",
+    "riot",
+    "ripple",
+    "risk",
+    "ritual",
+    "rival",
+    "river",
+    "road",
+    "roast",
+    "robot",
+    "robust",
+    "rocket",
+    "romance",
+    "roof",
+    "rookie",
+    "room",
+    "rose",
+    "rotate",
+    "rough",
+    "round",
+    "route",
+    "royal",
+    "rubber",
+    "rude",
+    "rug",
+    "rule",
+    "run",
+    "runway",
+    "rural",
+    "sad",
+    "saddle",
+    "sadness",
+    "safe",
+    "sail",
+    "salad",
+    "salmon",
+    "salon",
+    "salt",
+    "salute",
+    "same",
+    "sample",
+    "sand",
+    "satisfy",
+    "satoshi",
+    "sauce",
+    "sausage",
+    "save",
+    "say",
+    "scale",
+    "scan",
+    "scare",
+    "scatter",
+    "scene",
+    "scheme",
+    "school",
+    "science",
+    "scissors",
+    "scorpion",
+    "scout",
+    "scrap",
+    "screen",
+    "script",
+    "scrub",
+    "sea",
+    "search",
+    "season",
+    "seat",
+    "second",
+    "secret",
+    "section",
+    "security",
+    "seed",
+    "seek",
+    "segment",
+    "select",
+    "sell",
+    "seminar",
+    "senior",
+    "sense",
+    "sentence",
+    "series",
+    "service",
+    "session",
+    "settle",
+    "setup",
+    "seven",
+    "shadow",
+    "shaft",
+    "shallow",
+    "share",
+    "shed",
+    "shell",
+    "sheriff",
+    "shield",
+    "shift",
+    "shine",
+    "ship",
+    "shiver",
+    "shock",
+    "shoe",
+    "shoot",
+    "shop",
+    "short",
+    "shoulder",
+    "shove",
+    "shrimp",
+    "shrug",
+    "shuffle",
+    "shy",
+    "sibling",
+    "sick",
+    "side",
+    "siege",
+    "sight",
+    "sign",
+    "silent",
+    "silk",
+    "silly",
+    "silver",
+    "similar",
+    "simple",
+    "since",
+    "sing",
+    "siren",
+    "sister",
+    "situate",
+    "six",
+    "size",
+    "skate",
+    "sketch",
+    "ski",
+    "skill",
+    "skin",
+    "skirt",
+    "skull",
+    "slab",
+    "slam",
+    "sleep",
+    "slender",
+    "slice",
+    "slide",
+    "slight",
+    "slim",
+    "slogan",
+    "slot",
+    "slow",
+    "slush",
+    "small",
+    "smart",
+    "smile",
+    "smoke",
+    "smooth",
+    "snack",
+    "snake",
+    "snap",
+    "sniff",
+    "snow",
+    "soap",
+    "soccer",
+    "social",
+    "sock",
+    "soda",
+    "soft",
+    "solar",
+    "soldier",
+    "solid",
+    "solution",
+    "solve",
+    "someone",
+    "song",
+    "soon",
+    "sorry",
+    "sort",
+    "soul",
+    "sound",
+    "soup",
+    "source",
+    "south",
+    "space",
+    "spare",
+    "spatial",
+    "spawn",
+    "speak",
+    "special",
+    "speed",
+    "spell",
+    "spend",
+    "sphere",
+    "spice",
+    "spider",
+    "spike",
+    "spin",
+    "spirit",
+    "split",
+    "spoil",
+    "sponsor",
+    "spoon",
+    "sport",
+    "spot",
+    "spray",
+    "spread",
+    "spring",
+    "spy",
+    "square",
+    "squeeze",
+    "squirrel",
+    "stable",
+    "stadium",
+    "staff",
+    "stage",
+    "stairs",
+    "stamp",
+    "stand",
+    "start",
+    "state",
+    "stay",
+    "steak",
+    "steel",
+    "stem",
+    "step",
+    "stereo",
+    "stick",
+    "still",
+    "sting",
+    "stock",
+    "stomach",
+    "stone",
+    "stool",
+    "story",
+    "stove",
+    "strategy",
+    "street",
+    "strike",
+    "strong",
+    "struggle",
+    "student",
+    "stuff",
+    "stumble",
+    "style",
+    "subject",
+    "submit",
+    "subway",
+    "success",
+    "such",
+    "sudden",
+    "suffer",
+    "sugar",
+    "suggest",
+    "suit",
+    "summer",
+    "sun",
+    "sunny",
+    "sunset",
+    "super",
+    "supply",
+    "supreme",
+    "sure",
+    "surface",
+    "surge",
+    "surprise",
+    "surround",
+    "survey",
+    "suspect",
+    "sustain",
+    "swallow",
+    "swamp",
+    "swap",
+    "swarm",
+    "swear",
+    "sweet",
+    "swift",
+    "swim",
+    "swing",
+    "switch",
+    "sword",
+    "symbol",
+    "symptom",
+    "syrup",
+    "system",
+    "table",
+    "tackle",
+    "tag",
+    "tail",
+    "talent",
+    "talk",
+    "tank",
+    "tape",
+    "target",
+    "task",
+    "taste",
+    "tattoo",
+    "taxi",
+    "teach",
+    "team",
+    "tell",
+    "ten",
+    "tenant",
+    "tennis",
+    "tent",
+    "term",
+    "test",
+    "text",
+    "thank",
+    "that",
+    "theme",
+    "then",
+    "theory",
+    "there",
+    "they",
+    "thing",
+    "this",
+    "thought",
+    "three",
+    "thrive",
+    "throw",
+    "thumb",
+    "thunder",
+    "ticket",
+    "tide",
+    "tiger",
+    "tilt",
+    "timber",
+    "time",
+    "tiny",
+    "tip",
+    "tired",
+    "tissue",
+    "title",
+    "toast",
+    "tobacco",
+    "today",
+    "toddler",
+    "toe",
+    "together",
+    "toilet",
+    "token",
+    "tomato",
+    "tomorrow",
+    "tone",
+    "tongue",
+    "tonight",
+    "tool",
+    "tooth",
+    "top",
+    "topic",
+    "topple",
+    "torch",
+    "tornado",
+    "tortoise",
+    "toss",
+    "total",
+    "tourist",
+    "toward",
+    "tower",
+    "town",
+    "toy",
+    "track",
+    "trade",
+    "traffic",
+    "tragic",
+    "train",
+    "transfer",
+    "trap",
+    "trash",
+    "travel",
+    "tray",
+    "treat",
+    "tree",
+    "trend",
+    "trial",
+    "tribe",
+    "trick",
+    "trigger",
+    "trim",
+    "trip",
+    "trophy",
+    "trouble",
+    "truck",
+    "true",
+    "truly",
+    "trumpet",
+    "trust",
+    "truth",
+    "try",
+    "tube",
+    "tuition",
+    "tumble",
+    "tuna",
+    "tunnel",
+    "turkey",
+    "turn",
+    "turtle",
+    "twelve",
+    "twenty",
+    "twice",
+    "twin",
+    "twist",
+    "two",
+    "type",
+    "typical",
+    "ugly",
+    "umbrella",
+    "unable",
+    "unaware",
+    "uncle",
+    "uncover",
+    "under",
+    "undo",
+    "unfair",
+    "unfold",
+    "unhappy",
+    "uniform",
+    "unique",
+    "unit",
+    "universe",
+    "unknown",
+    "unlock",
+    "until",
+    "unusual",
+    "unveil",
+    "update",
+    "upgrade",
+    "uphold",
+    "upon",
+    "upper",
+    "upset",
+    "urban",
+    "urge",
+    "usage",
+    "use",
+    "used",
+    "useful",
+    "useless",
+    "usual",
+    "utility",
+    "vacant",
+    "vacuum",
+    "vague",
+    "valid",
+    "valley",
+    "valve",
+    "van",
+    "vanish",
+    "vapor",
+    "various",
+    "vast",
+    "vault",
+    "vehicle",
+    "velvet",
+    "vendor",
+    "venture",
+    "venue",
+    "verb",
+    "verify",
+    "version",
+    "very",
+    "vessel",
+    "veteran",
+    "viable",
+    "vibrant",
+    "vicious",
+    "victory",
+    "video",
+    "view",
+    "village",
+    "vintage",
+    "violin",
+    "virtual",
+    "virus",
+    "visa",
+    "visit",
+    "visual",
+    "vital",
+    "vivid",
+    "vocal",
+    "voice",
+    "void",
+    "volcano",
+    "volume",
+    "vote",
+    "voyage",
+    "wage",
+    "wagon",
+    "wait",
+    "walk",
+    "wall",
+    "walnut",
+    "want",
+    "warfare",
+    "warm",
+    "warrior",
+    "wash",
+    "wasp",
+    "waste",
+    "water",
+    "wave",
+    "way",
+    "wealth",
+    "weapon",
+    "wear",
+    "weasel",
+    "weather",
+    "web",
+    "wedding",
+    "weekend",
+    "weird",
+    "welcome",
+    "west",
+    "wet",
+    "whale",
+    "what",
+    "wheat",
+    "wheel",
+    "when",
+    "where",
+    "whip",
+    "whisper",
+    "wide",
+    "width",
+    "wife",
+    "wild",
+    "will",
+    "win",
+    "window",
+    "wine",
+    "wing",
+    "wink",
+    "winner",
+    "winter",
+    "wire",
+    "wisdom",
+    "wise",
+    "wish",
+    "witness",
+    "wolf",
+    "woman",
+    "wonder",
+    "wood",
+    "wool",
+    "word",
+    "work",
+    "world",
+    "worry",
+    "worth",
+    "wrap",
+    "wreck",
+    "wrestle",
+    "wrist",
+    "write",
+    "wrong",
+    "yard",
+    "year",
+    "yellow",
+    "you",
+    "young",
+    "youth",
+    "zebra",
+    "zero",
+    "zone",
+    "zoo",
+]
diff --git a/mimesis/datasets/int/datetime.py b/mimesis/datasets/int/datetime.py
index 3727e2fc..9bd89a6f 100644
--- a/mimesis/datasets/int/datetime.py
+++ b/mimesis/datasets/int/datetime.py
@@ -1,153 +1,527 @@
 """Provides all the data related to the data and time."""
-ROMAN_NUMS = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X',
-    'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'XVII', 'XVIII', 'XIX', 'XX',
-    'XXI']
-TIMEZONES = ['Africa/Abidjan', 'Africa/Accra', 'Africa/Addis_Ababa',
-    'Africa/Algiers', 'Africa/Asmara', 'Africa/Bamako', 'Africa/Bangui',
-    'Africa/Banjul', 'Africa/Bissau', 'Africa/Blantyre',
-    'Africa/Brazzaville', 'Africa/Bujumbura', 'Africa/Cairo',
-    'Africa/Casablanca', 'Africa/Ceuta', 'Africa/Conakry', 'Africa/Dakar',
-    'Africa/Dar_es_Salaam', 'Africa/Djibouti', 'Africa/Douala',
-    'Africa/El_Aaiun', 'Africa/Freetown', 'Africa/Gaborone',
-    'Africa/Harare', 'Africa/Johannesburg', 'Africa/Juba', 'Africa/Kampala',
-    'Africa/Khartoum', 'Africa/Kigali', 'Africa/Kinshasa', 'Africa/Lagos',
-    'Africa/Libreville', 'Africa/Lome', 'Africa/Luanda',
-    'Africa/Lubumbashi', 'Africa/Lusaka', 'Africa/Malabo', 'Africa/Maputo',
-    'Africa/Maseru', 'Africa/Mbabane', 'Africa/Mogadishu',
-    'Africa/Monrovia', 'Africa/Nairobi', 'Africa/Ndjamena', 'Africa/Niamey',
-    'Africa/Nouakchott', 'Africa/Ouagadougou', 'Africa/Porto-Novo',
-    'Africa/Sao_Tome', 'Africa/Tripoli', 'Africa/Tunis', 'Africa/Windhoek',
-    'America/Adak', 'America/Anchorage', 'America/Anguilla',
-    'America/Antigua', 'America/Araguaina',
-    'America/Argentina/Buenos_Aires', 'America/Argentina/Catamarca',
-    'America/Argentina/Cordoba', 'America/Argentina/Jujuy',
-    'America/Argentina/La_Rioja', 'America/Argentina/Mendoza',
-    'America/Argentina/Rio_Gallegos', 'America/Argentina/Salta',
-    'America/Argentina/San_Juan', 'America/Argentina/San_Luis',
-    'America/Argentina/Tucuman', 'America/Argentina/Ushuaia',
-    'America/Aruba', 'America/Asuncion', 'America/Atikokan',
-    'America/Bahia', 'America/Bahia_Banderas', 'America/Barbados',
-    'America/Belem', 'America/Belize', 'America/Blanc-Sablon',
-    'America/Boa_Vista', 'America/Bogota', 'America/Boise',
-    'America/Cambridge_Bay', 'America/Campo_Grande', 'America/Cancun',
-    'America/Caracas', 'America/Cayenne', 'America/Cayman',
-    'America/Chicago', 'America/Chihuahua', 'America/Costa_Rica',
-    'America/Creston', 'America/Cuiaba', 'America/Curacao',
-    'America/Danmarkshavn', 'America/Dawson', 'America/Dawson_Creek',
-    'America/Denver', 'America/Detroit', 'America/Dominica',
-    'America/Edmonton', 'America/Eirunepe', 'America/El_Salvador',
-    'America/Fort_Nelson', 'America/Fortaleza', 'America/Glace_Bay',
-    'America/Godthab', 'America/Goose_Bay', 'America/Grand_Turk',
-    'America/Grenada', 'America/Guadeloupe', 'America/Guatemala',
-    'America/Guayaquil', 'America/Guyana', 'America/Halifax',
-    'America/Havana', 'America/Hermosillo', 'America/Indiana/Indianapolis',
-    'America/Indiana/Knox', 'America/Indiana/Marengo',
-    'America/Indiana/Petersburg', 'America/Indiana/Tell_City',
-    'America/Indiana/Vevay', 'America/Indiana/Vincennes',
-    'America/Indiana/Winamac', 'America/Inuvik', 'America/Iqaluit',
-    'America/Jamaica', 'America/Juneau', 'America/Kentucky/Louisville',
-    'America/Kentucky/Monticello', 'America/Kralendijk', 'America/La_Paz',
-    'America/Lima', 'America/Los_Angeles', 'America/Lower_Princes',
-    'America/Maceio', 'America/Managua', 'America/Manaus',
-    'America/Marigot', 'America/Martinique', 'America/Matamoros',
-    'America/Mazatlan', 'America/Menominee', 'America/Merida',
-    'America/Metlakatla', 'America/Mexico_City', 'America/Miquelon',
-    'America/Moncton', 'America/Monterrey', 'America/Montevideo',
-    'America/Montserrat', 'America/Nassau', 'America/New_York',
-    'America/Nipigon', 'America/Nome', 'America/Noronha',
-    'America/North_Dakota/Beulah', 'America/North_Dakota/Center',
-    'America/North_Dakota/New_Salem', 'America/Ojinaga', 'America/Panama',
-    'America/Pangnirtung', 'America/Paramaribo', 'America/Phoenix',
-    'America/Port-au-Prince', 'America/Port_of_Spain',
-    'America/Porto_Velho', 'America/Puerto_Rico', 'America/Punta_Arenas',
-    'America/Rainy_River', 'America/Rankin_Inlet', 'America/Recife',
-    'America/Regina', 'America/Resolute', 'America/Rio_Branco',
-    'America/Santarem', 'America/Santiago', 'America/Santo_Domingo',
-    'America/Sao_Paulo', 'America/Scoresbysund', 'America/Sitka',
-    'America/St_Barthelemy', 'America/St_Johns', 'America/St_Kitts',
-    'America/St_Lucia', 'America/St_Thomas', 'America/St_Vincent',
-    'America/Swift_Current', 'America/Tegucigalpa', 'America/Thule',
-    'America/Thunder_Bay', 'America/Tijuana', 'America/Toronto',
-    'America/Tortola', 'America/Vancouver', 'America/Whitehorse',
-    'America/Winnipeg', 'America/Yakutat', 'America/Yellowknife',
-    'Antarctica/Casey', 'Antarctica/Davis', 'Antarctica/DumontDUrville',
-    'Antarctica/Macquarie', 'Antarctica/Mawson', 'Antarctica/McMurdo',
-    'Antarctica/Palmer', 'Antarctica/Rothera', 'Antarctica/Syowa',
-    'Antarctica/Troll', 'Antarctica/Vostok', 'Arctic/Longyearbyen',
-    'Asia/Aden', 'Asia/Almaty', 'Asia/Amman', 'Asia/Anadyr', 'Asia/Aqtau',
-    'Asia/Aqtobe', 'Asia/Ashgabat', 'Asia/Atyrau', 'Asia/Baghdad',
-    'Asia/Bahrain', 'Asia/Baku', 'Asia/Bangkok', 'Asia/Barnaul',
-    'Asia/Beirut', 'Asia/Bishkek', 'Asia/Brunei', 'Asia/Chita',
-    'Asia/Choibalsan', 'Asia/Colombo', 'Asia/Damascus', 'Asia/Dhaka',
-    'Asia/Dili', 'Asia/Dubai', 'Asia/Dushanbe', 'Asia/Famagusta',
-    'Asia/Gaza', 'Asia/Hebron', 'Asia/Ho_Chi_Minh', 'Asia/Hong_Kong',
-    'Asia/Hovd', 'Asia/Irkutsk', 'Asia/Jakarta', 'Asia/Jayapura',
-    'Asia/Jerusalem', 'Asia/Kabul', 'Asia/Kamchatka', 'Asia/Karachi',
-    'Asia/Kathmandu', 'Asia/Khandyga', 'Asia/Kolkata', 'Asia/Krasnoyarsk',
-    'Asia/Kuala_Lumpur', 'Asia/Kuching', 'Asia/Kuwait', 'Asia/Macau',
-    'Asia/Magadan', 'Asia/Makassar', 'Asia/Manila', 'Asia/Muscat',
-    'Asia/Nicosia', 'Asia/Novokuznetsk', 'Asia/Novosibirsk', 'Asia/Omsk',
-    'Asia/Oral', 'Asia/Phnom_Penh', 'Asia/Pontianak', 'Asia/Pyongyang',
-    'Asia/Qatar', 'Asia/Qyzylorda', 'Asia/Riyadh', 'Asia/Sakhalin',
-    'Asia/Samarkand', 'Asia/Seoul', 'Asia/Shanghai', 'Asia/Singapore',
-    'Asia/Srednekolymsk', 'Asia/Taipei', 'Asia/Tashkent', 'Asia/Tbilisi',
-    'Asia/Tehran', 'Asia/Thimphu', 'Asia/Tokyo', 'Asia/Tomsk',
-    'Asia/Ulaanbaatar', 'Asia/Urumqi', 'Asia/Ust-Nera', 'Asia/Vientiane',
-    'Asia/Vladivostok', 'Asia/Yakutsk', 'Asia/Yangon', 'Asia/Yekaterinburg',
-    'Asia/Yerevan', 'Atlantic/Azores', 'Atlantic/Bermuda',
-    'Atlantic/Canary', 'Atlantic/Cape_Verde', 'Atlantic/Faroe',
-    'Atlantic/Madeira', 'Atlantic/Reykjavik', 'Atlantic/South_Georgia',
-    'Atlantic/St_Helena', 'Atlantic/Stanley', 'Australia/Adelaide',
-    'Australia/Brisbane', 'Australia/Broken_Hill', 'Australia/Currie',
-    'Australia/Darwin', 'Australia/Eucla', 'Australia/Hobart',
-    'Australia/Lindeman', 'Australia/Lord_Howe', 'Australia/Melbourne',
-    'Australia/Perth', 'Australia/Sydney', 'Europe/Amsterdam',
-    'Europe/Andorra', 'Europe/Astrakhan', 'Europe/Athens',
-    'Europe/Belgrade', 'Europe/Berlin', 'Europe/Bratislava',
-    'Europe/Brussels', 'Europe/Bucharest', 'Europe/Budapest',
-    'Europe/Busingen', 'Europe/Chisinau', 'Europe/Copenhagen',
-    'Europe/Dublin', 'Europe/Gibraltar', 'Europe/Guernsey',
-    'Europe/Helsinki', 'Europe/Isle_of_Man', 'Europe/Istanbul',
-    'Europe/Jersey', 'Europe/Kaliningrad', 'Europe/Kiev', 'Europe/Kirov',
-    'Europe/Lisbon', 'Europe/Ljubljana', 'Europe/London',
-    'Europe/Luxembourg', 'Europe/Madrid', 'Europe/Malta',
-    'Europe/Mariehamn', 'Europe/Minsk', 'Europe/Monaco', 'Europe/Moscow',
-    'Europe/Oslo', 'Europe/Paris', 'Europe/Podgorica', 'Europe/Prague',
-    'Europe/Riga', 'Europe/Rome', 'Europe/Samara', 'Europe/San_Marino',
-    'Europe/Sarajevo', 'Europe/Saratov', 'Europe/Simferopol',
-    'Europe/Skopje', 'Europe/Sofia', 'Europe/Stockholm', 'Europe/Tallinn',
-    'Europe/Tirane', 'Europe/Ulyanovsk', 'Europe/Uzhgorod', 'Europe/Vaduz',
-    'Europe/Vatican', 'Europe/Vienna', 'Europe/Vilnius', 'Europe/Volgograd',
-    'Europe/Warsaw', 'Europe/Zagreb', 'Europe/Zaporozhye', 'Europe/Zurich',
-    'Indian/Antananarivo', 'Indian/Chagos', 'Indian/Christmas',
-    'Indian/Cocos', 'Indian/Comoro', 'Indian/Kerguelen', 'Indian/Mahe',
-    'Indian/Maldives', 'Indian/Mauritius', 'Indian/Mayotte',
-    'Indian/Reunion', 'Pacific/Apia', 'Pacific/Auckland',
-    'Pacific/Bougainville', 'Pacific/Chatham', 'Pacific/Chuuk',
-    'Pacific/Easter', 'Pacific/Efate', 'Pacific/Enderbury',
-    'Pacific/Fakaofo', 'Pacific/Fiji', 'Pacific/Funafuti',
-    'Pacific/Galapagos', 'Pacific/Gambier', 'Pacific/Guadalcanal',
-    'Pacific/Guam', 'Pacific/Honolulu', 'Pacific/Kiritimati',
-    'Pacific/Kosrae', 'Pacific/Kwajalein', 'Pacific/Majuro',
-    'Pacific/Marquesas', 'Pacific/Midway', 'Pacific/Nauru', 'Pacific/Niue',
-    'Pacific/Norfolk', 'Pacific/Noumea', 'Pacific/Pago_Pago',
-    'Pacific/Palau', 'Pacific/Pitcairn', 'Pacific/Pohnpei',
-    'Pacific/Port_Moresby', 'Pacific/Rarotonga', 'Pacific/Saipan',
-    'Pacific/Tahiti', 'Pacific/Tarawa', 'Pacific/Tongatapu', 'Pacific/Wake',
-    'Pacific/Wallis']
-GMT_OFFSETS = ['UTC', 'UTC +04:30', 'UTC +02:00', 'UTC +01:00',
-    'UTC -11:00', 'UTC -04:00', 'UTC +11:00', 'UTC +07:00', 'UTC +10:00',
-    'UTC +05:00', 'UTC +13:00', 'UTC -03:00', 'UTC +03:00', 'UTC +06:00',
-    'UTC +04:00', 'UTC +10:30', 'UTC +09:30', 'UTC +08:45', 'UTC +08:00',
-    'UTC -05:00', 'UTC -06:00', 'UTC -02:00', 'UTC -07:00', 'UTC -08:00',
-    'UTC -03:30', 'UTC -01:00', 'UTC +06:30', 'UTC -10:00', 'UTC +09:00',
-    'UTC -09:00', 'UTC -09:30', 'UTC +05:30', 'UTC +03:30', 'UTC +14:00',
-    'UTC +12:00', 'UTC +05:45', 'UTC +13:45', 'UTC +08:30']
-DATETIME_LOCALES = {'da': 'da_DK', 'de': 'de_DE', 'de-at': 'de_AT', 'de-ch':
-    'de_CH', 'el': 'el_GR', 'en': 'en_US', 'en-au': 'en_AU', 'en-ca':
-    'en_CA', 'en-gb': 'en_GB', 'es': 'es_ES', 'es-mx': 'es_ES', 'et':
-    'et_EE', 'fr': 'fr_FR', 'hu': 'hu_HU', 'is': 'is_IS', 'it': 'it_IT',
-    'ja': 'ja_JP', 'kk': 'kk_KZ', 'ko': 'ko_KR', 'nl': 'nl_NL', 'nl-be':
-    'nl_BE', 'no': 'no_NO', 'pl': 'pl_PL', 'pt': 'pt_PT', 'pt-br': 'pt_BR',
-    'ru': 'ru_RU.utf-8', 'sk': 'sk_SK', 'sv': 'sv_SE', 'tr': 'tr_TR', 'uk':
-    'uk_UA', 'zh': 'zh_CN'}
+
+ROMAN_NUMS = [
+    "I",
+    "II",
+    "III",
+    "IV",
+    "V",
+    "VI",
+    "VII",
+    "VIII",
+    "IX",
+    "X",
+    "XI",
+    "XII",
+    "XIII",
+    "XIV",
+    "XV",
+    "XVI",
+    "XVII",
+    "XVIII",
+    "XIX",
+    "XX",
+    "XXI",
+]
+
+TIMEZONES = [
+    "Africa/Abidjan",
+    "Africa/Accra",
+    "Africa/Addis_Ababa",
+    "Africa/Algiers",
+    "Africa/Asmara",
+    "Africa/Bamako",
+    "Africa/Bangui",
+    "Africa/Banjul",
+    "Africa/Bissau",
+    "Africa/Blantyre",
+    "Africa/Brazzaville",
+    "Africa/Bujumbura",
+    "Africa/Cairo",
+    "Africa/Casablanca",
+    "Africa/Ceuta",
+    "Africa/Conakry",
+    "Africa/Dakar",
+    "Africa/Dar_es_Salaam",
+    "Africa/Djibouti",
+    "Africa/Douala",
+    "Africa/El_Aaiun",
+    "Africa/Freetown",
+    "Africa/Gaborone",
+    "Africa/Harare",
+    "Africa/Johannesburg",
+    "Africa/Juba",
+    "Africa/Kampala",
+    "Africa/Khartoum",
+    "Africa/Kigali",
+    "Africa/Kinshasa",
+    "Africa/Lagos",
+    "Africa/Libreville",
+    "Africa/Lome",
+    "Africa/Luanda",
+    "Africa/Lubumbashi",
+    "Africa/Lusaka",
+    "Africa/Malabo",
+    "Africa/Maputo",
+    "Africa/Maseru",
+    "Africa/Mbabane",
+    "Africa/Mogadishu",
+    "Africa/Monrovia",
+    "Africa/Nairobi",
+    "Africa/Ndjamena",
+    "Africa/Niamey",
+    "Africa/Nouakchott",
+    "Africa/Ouagadougou",
+    "Africa/Porto-Novo",
+    "Africa/Sao_Tome",
+    "Africa/Tripoli",
+    "Africa/Tunis",
+    "Africa/Windhoek",
+    "America/Adak",
+    "America/Anchorage",
+    "America/Anguilla",
+    "America/Antigua",
+    "America/Araguaina",
+    "America/Argentina/Buenos_Aires",
+    "America/Argentina/Catamarca",
+    "America/Argentina/Cordoba",
+    "America/Argentina/Jujuy",
+    "America/Argentina/La_Rioja",
+    "America/Argentina/Mendoza",
+    "America/Argentina/Rio_Gallegos",
+    "America/Argentina/Salta",
+    "America/Argentina/San_Juan",
+    "America/Argentina/San_Luis",
+    "America/Argentina/Tucuman",
+    "America/Argentina/Ushuaia",
+    "America/Aruba",
+    "America/Asuncion",
+    "America/Atikokan",
+    "America/Bahia",
+    "America/Bahia_Banderas",
+    "America/Barbados",
+    "America/Belem",
+    "America/Belize",
+    "America/Blanc-Sablon",
+    "America/Boa_Vista",
+    "America/Bogota",
+    "America/Boise",
+    "America/Cambridge_Bay",
+    "America/Campo_Grande",
+    "America/Cancun",
+    "America/Caracas",
+    "America/Cayenne",
+    "America/Cayman",
+    "America/Chicago",
+    "America/Chihuahua",
+    "America/Costa_Rica",
+    "America/Creston",
+    "America/Cuiaba",
+    "America/Curacao",
+    "America/Danmarkshavn",
+    "America/Dawson",
+    "America/Dawson_Creek",
+    "America/Denver",
+    "America/Detroit",
+    "America/Dominica",
+    "America/Edmonton",
+    "America/Eirunepe",
+    "America/El_Salvador",
+    "America/Fort_Nelson",
+    "America/Fortaleza",
+    "America/Glace_Bay",
+    "America/Godthab",
+    "America/Goose_Bay",
+    "America/Grand_Turk",
+    "America/Grenada",
+    "America/Guadeloupe",
+    "America/Guatemala",
+    "America/Guayaquil",
+    "America/Guyana",
+    "America/Halifax",
+    "America/Havana",
+    "America/Hermosillo",
+    "America/Indiana/Indianapolis",
+    "America/Indiana/Knox",
+    "America/Indiana/Marengo",
+    "America/Indiana/Petersburg",
+    "America/Indiana/Tell_City",
+    "America/Indiana/Vevay",
+    "America/Indiana/Vincennes",
+    "America/Indiana/Winamac",
+    "America/Inuvik",
+    "America/Iqaluit",
+    "America/Jamaica",
+    "America/Juneau",
+    "America/Kentucky/Louisville",
+    "America/Kentucky/Monticello",
+    "America/Kralendijk",
+    "America/La_Paz",
+    "America/Lima",
+    "America/Los_Angeles",
+    "America/Lower_Princes",
+    "America/Maceio",
+    "America/Managua",
+    "America/Manaus",
+    "America/Marigot",
+    "America/Martinique",
+    "America/Matamoros",
+    "America/Mazatlan",
+    "America/Menominee",
+    "America/Merida",
+    "America/Metlakatla",
+    "America/Mexico_City",
+    "America/Miquelon",
+    "America/Moncton",
+    "America/Monterrey",
+    "America/Montevideo",
+    "America/Montserrat",
+    "America/Nassau",
+    "America/New_York",
+    "America/Nipigon",
+    "America/Nome",
+    "America/Noronha",
+    "America/North_Dakota/Beulah",
+    "America/North_Dakota/Center",
+    "America/North_Dakota/New_Salem",
+    "America/Ojinaga",
+    "America/Panama",
+    "America/Pangnirtung",
+    "America/Paramaribo",
+    "America/Phoenix",
+    "America/Port-au-Prince",
+    "America/Port_of_Spain",
+    "America/Porto_Velho",
+    "America/Puerto_Rico",
+    "America/Punta_Arenas",
+    "America/Rainy_River",
+    "America/Rankin_Inlet",
+    "America/Recife",
+    "America/Regina",
+    "America/Resolute",
+    "America/Rio_Branco",
+    "America/Santarem",
+    "America/Santiago",
+    "America/Santo_Domingo",
+    "America/Sao_Paulo",
+    "America/Scoresbysund",
+    "America/Sitka",
+    "America/St_Barthelemy",
+    "America/St_Johns",
+    "America/St_Kitts",
+    "America/St_Lucia",
+    "America/St_Thomas",
+    "America/St_Vincent",
+    "America/Swift_Current",
+    "America/Tegucigalpa",
+    "America/Thule",
+    "America/Thunder_Bay",
+    "America/Tijuana",
+    "America/Toronto",
+    "America/Tortola",
+    "America/Vancouver",
+    "America/Whitehorse",
+    "America/Winnipeg",
+    "America/Yakutat",
+    "America/Yellowknife",
+    "Antarctica/Casey",
+    "Antarctica/Davis",
+    "Antarctica/DumontDUrville",
+    "Antarctica/Macquarie",
+    "Antarctica/Mawson",
+    "Antarctica/McMurdo",
+    "Antarctica/Palmer",
+    "Antarctica/Rothera",
+    "Antarctica/Syowa",
+    "Antarctica/Troll",
+    "Antarctica/Vostok",
+    "Arctic/Longyearbyen",
+    "Asia/Aden",
+    "Asia/Almaty",
+    "Asia/Amman",
+    "Asia/Anadyr",
+    "Asia/Aqtau",
+    "Asia/Aqtobe",
+    "Asia/Ashgabat",
+    "Asia/Atyrau",
+    "Asia/Baghdad",
+    "Asia/Bahrain",
+    "Asia/Baku",
+    "Asia/Bangkok",
+    "Asia/Barnaul",
+    "Asia/Beirut",
+    "Asia/Bishkek",
+    "Asia/Brunei",
+    "Asia/Chita",
+    "Asia/Choibalsan",
+    "Asia/Colombo",
+    "Asia/Damascus",
+    "Asia/Dhaka",
+    "Asia/Dili",
+    "Asia/Dubai",
+    "Asia/Dushanbe",
+    "Asia/Famagusta",
+    "Asia/Gaza",
+    "Asia/Hebron",
+    "Asia/Ho_Chi_Minh",
+    "Asia/Hong_Kong",
+    "Asia/Hovd",
+    "Asia/Irkutsk",
+    "Asia/Jakarta",
+    "Asia/Jayapura",
+    "Asia/Jerusalem",
+    "Asia/Kabul",
+    "Asia/Kamchatka",
+    "Asia/Karachi",
+    "Asia/Kathmandu",
+    "Asia/Khandyga",
+    "Asia/Kolkata",
+    "Asia/Krasnoyarsk",
+    "Asia/Kuala_Lumpur",
+    "Asia/Kuching",
+    "Asia/Kuwait",
+    "Asia/Macau",
+    "Asia/Magadan",
+    "Asia/Makassar",
+    "Asia/Manila",
+    "Asia/Muscat",
+    "Asia/Nicosia",
+    "Asia/Novokuznetsk",
+    "Asia/Novosibirsk",
+    "Asia/Omsk",
+    "Asia/Oral",
+    "Asia/Phnom_Penh",
+    "Asia/Pontianak",
+    "Asia/Pyongyang",
+    "Asia/Qatar",
+    "Asia/Qyzylorda",
+    "Asia/Riyadh",
+    "Asia/Sakhalin",
+    "Asia/Samarkand",
+    "Asia/Seoul",
+    "Asia/Shanghai",
+    "Asia/Singapore",
+    "Asia/Srednekolymsk",
+    "Asia/Taipei",
+    "Asia/Tashkent",
+    "Asia/Tbilisi",
+    "Asia/Tehran",
+    "Asia/Thimphu",
+    "Asia/Tokyo",
+    "Asia/Tomsk",
+    "Asia/Ulaanbaatar",
+    "Asia/Urumqi",
+    "Asia/Ust-Nera",
+    "Asia/Vientiane",
+    "Asia/Vladivostok",
+    "Asia/Yakutsk",
+    "Asia/Yangon",
+    "Asia/Yekaterinburg",
+    "Asia/Yerevan",
+    "Atlantic/Azores",
+    "Atlantic/Bermuda",
+    "Atlantic/Canary",
+    "Atlantic/Cape_Verde",
+    "Atlantic/Faroe",
+    "Atlantic/Madeira",
+    "Atlantic/Reykjavik",
+    "Atlantic/South_Georgia",
+    "Atlantic/St_Helena",
+    "Atlantic/Stanley",
+    "Australia/Adelaide",
+    "Australia/Brisbane",
+    "Australia/Broken_Hill",
+    "Australia/Currie",
+    "Australia/Darwin",
+    "Australia/Eucla",
+    "Australia/Hobart",
+    "Australia/Lindeman",
+    "Australia/Lord_Howe",
+    "Australia/Melbourne",
+    "Australia/Perth",
+    "Australia/Sydney",
+    "Europe/Amsterdam",
+    "Europe/Andorra",
+    "Europe/Astrakhan",
+    "Europe/Athens",
+    "Europe/Belgrade",
+    "Europe/Berlin",
+    "Europe/Bratislava",
+    "Europe/Brussels",
+    "Europe/Bucharest",
+    "Europe/Budapest",
+    "Europe/Busingen",
+    "Europe/Chisinau",
+    "Europe/Copenhagen",
+    "Europe/Dublin",
+    "Europe/Gibraltar",
+    "Europe/Guernsey",
+    "Europe/Helsinki",
+    "Europe/Isle_of_Man",
+    "Europe/Istanbul",
+    "Europe/Jersey",
+    "Europe/Kaliningrad",
+    "Europe/Kiev",
+    "Europe/Kirov",
+    "Europe/Lisbon",
+    "Europe/Ljubljana",
+    "Europe/London",
+    "Europe/Luxembourg",
+    "Europe/Madrid",
+    "Europe/Malta",
+    "Europe/Mariehamn",
+    "Europe/Minsk",
+    "Europe/Monaco",
+    "Europe/Moscow",
+    "Europe/Oslo",
+    "Europe/Paris",
+    "Europe/Podgorica",
+    "Europe/Prague",
+    "Europe/Riga",
+    "Europe/Rome",
+    "Europe/Samara",
+    "Europe/San_Marino",
+    "Europe/Sarajevo",
+    "Europe/Saratov",
+    "Europe/Simferopol",
+    "Europe/Skopje",
+    "Europe/Sofia",
+    "Europe/Stockholm",
+    "Europe/Tallinn",
+    "Europe/Tirane",
+    "Europe/Ulyanovsk",
+    "Europe/Uzhgorod",
+    "Europe/Vaduz",
+    "Europe/Vatican",
+    "Europe/Vienna",
+    "Europe/Vilnius",
+    "Europe/Volgograd",
+    "Europe/Warsaw",
+    "Europe/Zagreb",
+    "Europe/Zaporozhye",
+    "Europe/Zurich",
+    "Indian/Antananarivo",
+    "Indian/Chagos",
+    "Indian/Christmas",
+    "Indian/Cocos",
+    "Indian/Comoro",
+    "Indian/Kerguelen",
+    "Indian/Mahe",
+    "Indian/Maldives",
+    "Indian/Mauritius",
+    "Indian/Mayotte",
+    "Indian/Reunion",
+    "Pacific/Apia",
+    "Pacific/Auckland",
+    "Pacific/Bougainville",
+    "Pacific/Chatham",
+    "Pacific/Chuuk",
+    "Pacific/Easter",
+    "Pacific/Efate",
+    "Pacific/Enderbury",
+    "Pacific/Fakaofo",
+    "Pacific/Fiji",
+    "Pacific/Funafuti",
+    "Pacific/Galapagos",
+    "Pacific/Gambier",
+    "Pacific/Guadalcanal",
+    "Pacific/Guam",
+    "Pacific/Honolulu",
+    "Pacific/Kiritimati",
+    "Pacific/Kosrae",
+    "Pacific/Kwajalein",
+    "Pacific/Majuro",
+    "Pacific/Marquesas",
+    "Pacific/Midway",
+    "Pacific/Nauru",
+    "Pacific/Niue",
+    "Pacific/Norfolk",
+    "Pacific/Noumea",
+    "Pacific/Pago_Pago",
+    "Pacific/Palau",
+    "Pacific/Pitcairn",
+    "Pacific/Pohnpei",
+    "Pacific/Port_Moresby",
+    "Pacific/Rarotonga",
+    "Pacific/Saipan",
+    "Pacific/Tahiti",
+    "Pacific/Tarawa",
+    "Pacific/Tongatapu",
+    "Pacific/Wake",
+    "Pacific/Wallis",
+]
+
+GMT_OFFSETS = [
+    "UTC",
+    "UTC +04:30",
+    "UTC +02:00",
+    "UTC +01:00",
+    "UTC -11:00",
+    "UTC -04:00",
+    "UTC +11:00",
+    "UTC +07:00",
+    "UTC +10:00",
+    "UTC +05:00",
+    "UTC +13:00",
+    "UTC -03:00",
+    "UTC +03:00",
+    "UTC +06:00",
+    "UTC +04:00",
+    "UTC +10:30",
+    "UTC +09:30",
+    "UTC +08:45",
+    "UTC +08:00",
+    "UTC -05:00",
+    "UTC -06:00",
+    "UTC -02:00",
+    "UTC -07:00",
+    "UTC -08:00",
+    "UTC -03:30",
+    "UTC -01:00",
+    "UTC +06:30",
+    "UTC -10:00",
+    "UTC +09:00",
+    "UTC -09:00",
+    "UTC -09:30",
+    "UTC +05:30",
+    "UTC +03:30",
+    "UTC +14:00",
+    "UTC +12:00",
+    "UTC +05:45",
+    "UTC +13:45",
+    "UTC +08:30",
+]
+
+DATETIME_LOCALES = {
+    "da": "da_DK",
+    "de": "de_DE",
+    "de-at": "de_AT",
+    "de-ch": "de_CH",
+    "el": "el_GR",
+    "en": "en_US",
+    "en-au": "en_AU",
+    "en-ca": "en_CA",
+    "en-gb": "en_GB",
+    "es": "es_ES",
+    "es-mx": "es_ES",
+    "et": "et_EE",
+    "fr": "fr_FR",
+    "hu": "hu_HU",
+    "is": "is_IS",
+    "it": "it_IT",
+    "ja": "ja_JP",
+    "kk": "kk_KZ",
+    "ko": "ko_KR",
+    "nl": "nl_NL",
+    "nl-be": "nl_BE",
+    "no": "no_NO",
+    "pl": "pl_PL",
+    "pt": "pt_PT",
+    "pt-br": "pt_BR",
+    "ru": "ru_RU.utf-8",
+    "sk": "sk_SK",
+    "sv": "sv_SE",
+    "tr": "tr_TR",
+    "uk": "uk_UA",
+    "zh": "zh_CN",
+}
diff --git a/mimesis/datasets/int/development.py b/mimesis/datasets/int/development.py
index 5be8e37d..7912962e 100644
--- a/mimesis/datasets/int/development.py
+++ b/mimesis/datasets/int/development.py
@@ -1,117 +1,532 @@
 """Provides all the data related to the development."""
-LICENSES = ['Apache License, 2.0 (Apache-2.0)', 'The BSD 3-Clause License',
-    'The BSD 2-Clause License', 'GNU General Public License (GPL)',
-    'General Public License (LGPL)', 'MIT License (MIT)',
-    'Mozilla Public License 2.0 (MPL-2.0)',
-    'Common Development and Distribution License (CDDL-1.0)',
-    'Eclipse Public License (EPL-1.0)']
-PROGRAMMING_LANGS = ['ASP', 'Assembly', 'AutoIt', 'Awk', 'Bash', 'C',
-    'C Shell', 'C#', 'C++', 'Caml', 'Ceylon', 'Clojure', 'CoffeeScript',
-    'Common Lisp', 'D', 'Dart', 'Delphi', 'Dylan', 'ECMAScript', 'Elixir',
-    'Emacs Lisp', 'Erlang', 'F#', 'Falcon', 'Fortran', 'GNU Octave', 'Go',
-    'Groovy', 'Haskell', 'haXe', 'Io', 'J#', 'Java', 'JavaScript', 'Julia',
-    'Kotlin', 'Lisp', 'Lua', 'Mathematica', 'Objective-C', 'OCaml', 'Perl',
-    'PHP', 'PL-I', 'PL-SQL', 'PowerShell', 'Prolog', 'Python', 'R',
-    'Racket', 'Ruby', 'Rust', 'Scala', 'Scheme', 'Smalltalk', 'Tcl', 'Tex',
-    'Transact-SQL', 'TypeScript', 'Z shell']
-OS = ['Arch', 'CentOS', 'Debian', 'Fedora', 'FreeBSD', 'Gentoo', 'Kali',
-    'Lubuntu', 'Manjaro', 'Mint', 'OS X', 'macOS', 'OpenBSD', 'Slackware',
-    'Ubuntu', 'Windows 10', 'Windows 7', 'Windows 8', 'Windows 8.1',
-    'Windows 11', 'elementaryOS', 'macOS', 'openSUSE']
-FOLDERS = ['Development', 'Downloads', 'Documents', 'Music', 'Video',
-    'Movies', 'Work', 'Books', 'Pictures', 'Desktop', 'Study']
-PROJECT_NAMES = ['aardonyx', 'abelisaurus', 'achelousaurus', 'achillobator',
-    'acrocanthosaurus', 'aegyptosaurus', 'afrovenator', 'agilisaurus',
-    'alamosaurus', 'albertaceratops', 'albertosaurus', 'alectrosaurus',
-    'alioramus', 'allosaurus', 'alvarezsaurus', 'amargasaurus',
-    'ammosaurus', 'ampelosaurus', 'amygdalodon', 'anatotitan',
-    'anchiceratops', 'anchisaurus', 'ankylosaurus', 'anserimimus',
-    'antarctopelta', 'antarctosaurus', 'apatosaurus', 'aragosaurus',
-    'aralosaurus', 'archaeoceratops', 'archaeopteryx', 'archaeornithomimus',
-    'argentinosaurus', 'arrhinoceratops', 'atlascopcosaurus', 'aucasaurus',
-    'austrosaurus', 'avaceratops', 'avalonia', 'avimimus', 'azendohsaurus',
-    'bactrosaurus', 'bagaceratops', 'bambiraptor', 'barapasaurus',
-    'barosaurus', 'baryonyx', 'becklespinax', 'beipiaosaurus',
-    'bellusaurus', 'borogovia', 'brachiosaurus', 'brachyceratops',
-    'bugenasaura', 'buitreraptor', 'camarasaurus', 'camptosaurus',
-    'carnotaurus', 'caudipteryx', 'cedarpelta', 'centrosaurus',
-    'ceratosaurus', 'cetiosauriscus', 'cetiosaurus', 'chaoyangsaurus',
-    'chasmosaurus', 'chialingosaurus', 'chindesaurus',
-    'chinshakiangosaurus', 'chirostenotes', 'chubutisaurus',
-    'chungkingosaurus', 'citipati', 'coelophysis', 'coelurus',
-    'coloradisaurus', 'compsognathus', 'conchoraptor', 'confuciusornis',
-    'corythosaurus', 'cryolophosaurus', 'dacentrurus', 'daspletosaurus',
-    'datousaurus', 'deinocheirus', 'deinonychus', 'deltadromeus',
-    'diceratops', 'dicraeosaurus', 'dilophosaurus', 'diplodocus',
-    'dracorex', 'dravidosaurus', 'dromaeosaurus', 'dromiceiomimus',
-    'dryosaurus', 'dryptosaurus', 'dubreuillosaurus', 'edmontonia',
-    'edmontosaurus', 'einiosaurus', 'elaphrosaurus', 'emausaurus',
-    'eolambia', 'eoraptor', 'eotyrannus', 'equijubus', 'erketu',
-    'erlikosaurus', 'euhelopus', 'euoplocephalus', 'europasaurus',
-    'euskelosaurus', 'eustreptospondylus', 'fukuiraptor', 'fukuisaurus',
-    'gallimimus', 'gargoyleosaurus', 'garudimimus', 'gasosaurus',
-    'gasparinisaura', 'gastonia', 'giganotosaurus', 'gilmoreosaurus',
-    'giraffatitan', 'gobisaurus', 'gorgosaurus', 'goyocephale',
-    'graciliceratops', 'gryposaurus', 'guaibasaurus', 'guanlong',
-    'hadrosaurus', 'hagryphus', 'haplocanthosaurus', 'harpymimus',
-    'herrerasaurus', 'hesperosaurus', 'heterodontosaurus', 'homalocephale',
-    'huayangosaurus', 'hylaeosaurus', 'hypacrosaurus', 'hypselosaurus',
-    'hypsilophodon', 'iguanodon', 'indosuchus', 'ingenia', 'irritator',
-    'isisaurus', 'janenschia', 'jaxartosaurus', 'jingshanosaurus',
-    'jinzhousaurus', 'jobaria', 'juravenator', 'kentrosaurus', 'khaan',
-    'kotasaurus', 'kritosaurus', 'lamaceratops', 'lambeosaurus',
-    'lapparentosaurus', 'leaellynasaura', 'leptoceratops', 'lesothosaurus',
-    'lexovisaurus', 'liaoceratops', 'liaoxiornis', 'ligabuesaurus',
-    'liliensternus', 'lophorhothon', 'lophostropheus', 'lufengosaurus',
-    'lurdusaurus', 'lycorhinus', 'magyarosaurus', 'maiasaura',
-    'majungatholus', 'malawisaurus', 'mamenchisaurus', 'mapusaurus',
-    'marshosaurus', 'masiakasaurus', 'massospondylus', 'maxakalisaurus',
-    'megalosaurus', 'melanorosaurus', 'metriacanthosaurus', 'microceratops',
-    'micropachycephalosaurus', 'microraptor', 'minmi', 'monolophosaurus',
-    'mononykus', 'mussaurus', 'muttaburrasaurus', 'nanotyrannus',
-    'nanshiungosaurus', 'nemegtosaurus', 'neovenator', 'neuquenosaurus',
-    'nigersaurus', 'nipponosaurus', 'noasaurus', 'nodosaurus', 'nomingia',
-    'nothronychus', 'nqwebasaurus', 'omeisaurus', 'ornitholestes',
-    'ornithomimus', 'orodromeus', 'oryctodromeus', 'othnielia',
-    'ouranosaurus', 'oviraptor', 'rebbachisaurus', 'rhabdodon',
-    'rhoetosaurus', 'rinchenia', 'riojasaurus', 'rugops', 'saichania',
-    'saltasaurus', 'saltopus', 'sarcosaurus', 'saurolophus', 'sauropelta',
-    'saurophaganax', 'saurornithoides', 'scelidosaurus', 'scutellosaurus',
-    'secernosaurus', 'segisaurus', 'segnosaurus', 'seismosaurus',
-    'shamosaurus', 'shanag', 'shantungosaurus', 'shunosaurus', 'shuvuuia',
-    'silvisaurus', 'sinocalliopteryx', 'sinornithosaurus',
-    'sinosauropteryx', 'sinraptor', 'sinvenator', 'zalmoxes',
-    'zephyrosaurus', 'zuniceratops', 'byzantine', 'svengali', 'accolade',
-    'acrimony', 'angst', 'anomaly', 'antidote', 'baroque', 'bona_fide',
-    'bourgeois', 'bravado', 'brogue', 'brusque', 'cacophony', 'caustic',
-    'charisma', 'cloying', 'deja-vu', 'dichotomy', 'elan', 'ennui',
-    'epitome', 'esoteric', 'euphemism', 'faux pas', 'fiasco', 'finagle',
-    'glib', 'harbinger', 'hedonist', 'heresy', 'idyllic', 'insidious',
-    'junket', 'kitsch', 'litany', 'lurid', 'malaise', 'malinger', 'mantra',
-    'maudlin', 'mercenary', 'misnomer', 'nirvana', 'oblivion', 'ogle',
-    'ostracize', 'panacea', 'paradox', 'peevish', 'propriety', 'revel',
-    'rhetoric', 'spartan', 'stigma', 'stoic', 'suave', 'sycophant',
-    'tirade', 'tryst', 'untenable', 'vicarious', 'vile', 'waft', 'zealous']
-SYSTEM_QUALITY_ATTRIBUTES = ('accessibility', 'accountability', 'accuracy',
-    'adaptability', 'administrability', 'affordability', 'agility',
-    'auditability', 'autonomy', 'availability', 'compatibility',
-    'composability', 'confidentiality', 'configurability', 'correctness',
-    'credibility', 'customizability', 'debuggability', 'degradability',
-    'demonstrability', 'dependability', 'deployability', 'determinability',
-    'discoverability', 'distributability', 'durability', 'effectiveness',
-    'efficiency', 'evolvability', 'extensibility', 'failure transparency',
-    'fault-tolerance', 'fidelity', 'flexibility', 'inspectability',
-    'installability', 'integrity', 'interchangeability', 'interoperability',
-    'learnability', 'localizability', 'maintainability', 'manageability',
-    'mobility', 'modifiability', 'modularity', 'observability',
-    'operability', 'orthogonality', 'portability', 'precision',
-    'predictability', 'process capabilities', 'producibility',
-    'provability', 'recoverability', 'redundancy', 'relevance',
-    'reliability', 'repeatability', 'reproducibility', 'resilience',
-    'responsiveness', 'reusability', 'robustness', 'safety', 'scalability',
-    'seamlessness', 'securability', 'self-sustainability', 'serviceability',
-    'simplicity', 'stability', 'standards compliance', 'survivability',
-    'sustainability', 'tailorability', 'testability', 'timeliness',
-    'traceability', 'transparency', 'ubiquity', 'understandability',
-    'upgradability', 'usability', 'vulnerability')
-STAGES = 'Pre-alpha', 'Alpha', 'Beta', 'RC', 'Stable'
+
+LICENSES = [
+    "Apache License, 2.0 (Apache-2.0)",
+    "The BSD 3-Clause License",
+    "The BSD 2-Clause License",
+    "GNU General Public License (GPL)",
+    "General Public License (LGPL)",
+    "MIT License (MIT)",
+    "Mozilla Public License 2.0 (MPL-2.0)",
+    "Common Development and Distribution License (CDDL-1.0)",
+    "Eclipse Public License (EPL-1.0)",
+]
+
+PROGRAMMING_LANGS = [
+    "ASP",
+    "Assembly",
+    "AutoIt",
+    "Awk",
+    "Bash",
+    "C",
+    "C Shell",
+    "C#",
+    "C++",
+    "Caml",
+    "Ceylon",
+    "Clojure",
+    "CoffeeScript",
+    "Common Lisp",
+    "D",
+    "Dart",
+    "Delphi",
+    "Dylan",
+    "ECMAScript",
+    "Elixir",
+    "Emacs Lisp",
+    "Erlang",
+    "F#",
+    "Falcon",
+    "Fortran",
+    "GNU Octave",
+    "Go",
+    "Groovy",
+    "Haskell",
+    "haXe",
+    "Io",
+    "J#",
+    "Java",
+    "JavaScript",
+    "Julia",
+    "Kotlin",
+    "Lisp",
+    "Lua",
+    "Mathematica",
+    "Objective-C",
+    "OCaml",
+    "Perl",
+    "PHP",
+    "PL-I",
+    "PL-SQL",
+    "PowerShell",
+    "Prolog",
+    "Python",
+    "R",
+    "Racket",
+    "Ruby",
+    "Rust",
+    "Scala",
+    "Scheme",
+    "Smalltalk",
+    "Tcl",
+    "Tex",
+    "Transact-SQL",
+    "TypeScript",
+    "Z shell",
+]
+
+OS = [
+    "Arch",
+    "CentOS",
+    "Debian",
+    "Fedora",
+    "FreeBSD",
+    "Gentoo",
+    "Kali",
+    "Lubuntu",
+    "Manjaro",
+    "Mint",
+    "OS X",
+    "macOS",
+    "OpenBSD",
+    "Slackware",
+    "Ubuntu",
+    "Windows 10",
+    "Windows 7",
+    "Windows 8",
+    "Windows 8.1",
+    "Windows 11",
+    "elementaryOS",
+    "macOS",
+    "openSUSE",
+]
+
+FOLDERS = [
+    "Development",
+    "Downloads",
+    "Documents",
+    "Music",
+    "Video",
+    "Movies",
+    "Work",
+    "Books",
+    "Pictures",
+    "Desktop",
+    "Study",
+]
+
+PROJECT_NAMES = [
+    "aardonyx",
+    "abelisaurus",
+    "achelousaurus",
+    "achillobator",
+    "acrocanthosaurus",
+    "aegyptosaurus",
+    "afrovenator",
+    "agilisaurus",
+    "alamosaurus",
+    "albertaceratops",
+    "albertosaurus",
+    "alectrosaurus",
+    "alioramus",
+    "allosaurus",
+    "alvarezsaurus",
+    "amargasaurus",
+    "ammosaurus",
+    "ampelosaurus",
+    "amygdalodon",
+    "anatotitan",
+    "anchiceratops",
+    "anchisaurus",
+    "ankylosaurus",
+    "anserimimus",
+    "antarctopelta",
+    "antarctosaurus",
+    "apatosaurus",
+    "aragosaurus",
+    "aralosaurus",
+    "archaeoceratops",
+    "archaeopteryx",
+    "archaeornithomimus",
+    "argentinosaurus",
+    "arrhinoceratops",
+    "atlascopcosaurus",
+    "aucasaurus",
+    "austrosaurus",
+    "avaceratops",
+    "avalonia",
+    "avimimus",
+    "azendohsaurus",
+    "bactrosaurus",
+    "bagaceratops",
+    "bambiraptor",
+    "barapasaurus",
+    "barosaurus",
+    "baryonyx",
+    "becklespinax",
+    "beipiaosaurus",
+    "bellusaurus",
+    "borogovia",
+    "brachiosaurus",
+    "brachyceratops",
+    "bugenasaura",
+    "buitreraptor",
+    "camarasaurus",
+    "camptosaurus",
+    "carnotaurus",
+    "caudipteryx",
+    "cedarpelta",
+    "centrosaurus",
+    "ceratosaurus",
+    "cetiosauriscus",
+    "cetiosaurus",
+    "chaoyangsaurus",
+    "chasmosaurus",
+    "chialingosaurus",
+    "chindesaurus",
+    "chinshakiangosaurus",
+    "chirostenotes",
+    "chubutisaurus",
+    "chungkingosaurus",
+    "citipati",
+    "coelophysis",
+    "coelurus",
+    "coloradisaurus",
+    "compsognathus",
+    "conchoraptor",
+    "confuciusornis",
+    "corythosaurus",
+    "cryolophosaurus",
+    "dacentrurus",
+    "daspletosaurus",
+    "datousaurus",
+    "deinocheirus",
+    "deinonychus",
+    "deltadromeus",
+    "diceratops",
+    "dicraeosaurus",
+    "dilophosaurus",
+    "diplodocus",
+    "dracorex",
+    "dravidosaurus",
+    "dromaeosaurus",
+    "dromiceiomimus",
+    "dryosaurus",
+    "dryptosaurus",
+    "dubreuillosaurus",
+    "edmontonia",
+    "edmontosaurus",
+    "einiosaurus",
+    "elaphrosaurus",
+    "emausaurus",
+    "eolambia",
+    "eoraptor",
+    "eotyrannus",
+    "equijubus",
+    "erketu",
+    "erlikosaurus",
+    "euhelopus",
+    "euoplocephalus",
+    "europasaurus",
+    "euskelosaurus",
+    "eustreptospondylus",
+    "fukuiraptor",
+    "fukuisaurus",
+    "gallimimus",
+    "gargoyleosaurus",
+    "garudimimus",
+    "gasosaurus",
+    "gasparinisaura",
+    "gastonia",
+    "giganotosaurus",
+    "gilmoreosaurus",
+    "giraffatitan",
+    "gobisaurus",
+    "gorgosaurus",
+    "goyocephale",
+    "graciliceratops",
+    "gryposaurus",
+    "guaibasaurus",
+    "guanlong",
+    "hadrosaurus",
+    "hagryphus",
+    "haplocanthosaurus",
+    "harpymimus",
+    "herrerasaurus",
+    "hesperosaurus",
+    "heterodontosaurus",
+    "homalocephale",
+    "huayangosaurus",
+    "hylaeosaurus",
+    "hypacrosaurus",
+    "hypselosaurus",
+    "hypsilophodon",
+    "iguanodon",
+    "indosuchus",
+    "ingenia",
+    "irritator",
+    "isisaurus",
+    "janenschia",
+    "jaxartosaurus",
+    "jingshanosaurus",
+    "jinzhousaurus",
+    "jobaria",
+    "juravenator",
+    "kentrosaurus",
+    "khaan",
+    "kotasaurus",
+    "kritosaurus",
+    "lamaceratops",
+    "lambeosaurus",
+    "lapparentosaurus",
+    "leaellynasaura",
+    "leptoceratops",
+    "lesothosaurus",
+    "lexovisaurus",
+    "liaoceratops",
+    "liaoxiornis",
+    "ligabuesaurus",
+    "liliensternus",
+    "lophorhothon",
+    "lophostropheus",
+    "lufengosaurus",
+    "lurdusaurus",
+    "lycorhinus",
+    "magyarosaurus",
+    "maiasaura",
+    "majungatholus",
+    "malawisaurus",
+    "mamenchisaurus",
+    "mapusaurus",
+    "marshosaurus",
+    "masiakasaurus",
+    "massospondylus",
+    "maxakalisaurus",
+    "megalosaurus",
+    "melanorosaurus",
+    "metriacanthosaurus",
+    "microceratops",
+    "micropachycephalosaurus",
+    "microraptor",
+    "minmi",
+    "monolophosaurus",
+    "mononykus",
+    "mussaurus",
+    "muttaburrasaurus",
+    "nanotyrannus",
+    "nanshiungosaurus",
+    "nemegtosaurus",
+    "neovenator",
+    "neuquenosaurus",
+    "nigersaurus",
+    "nipponosaurus",
+    "noasaurus",
+    "nodosaurus",
+    "nomingia",
+    "nothronychus",
+    "nqwebasaurus",
+    "omeisaurus",
+    "ornitholestes",
+    "ornithomimus",
+    "orodromeus",
+    "oryctodromeus",
+    "othnielia",
+    "ouranosaurus",
+    "oviraptor",
+    "rebbachisaurus",
+    "rhabdodon",
+    "rhoetosaurus",
+    "rinchenia",
+    "riojasaurus",
+    "rugops",
+    "saichania",
+    "saltasaurus",
+    "saltopus",
+    "sarcosaurus",
+    "saurolophus",
+    "sauropelta",
+    "saurophaganax",
+    "saurornithoides",
+    "scelidosaurus",
+    "scutellosaurus",
+    "secernosaurus",
+    "segisaurus",
+    "segnosaurus",
+    "seismosaurus",
+    "shamosaurus",
+    "shanag",
+    "shantungosaurus",
+    "shunosaurus",
+    "shuvuuia",
+    "silvisaurus",
+    "sinocalliopteryx",
+    "sinornithosaurus",
+    "sinosauropteryx",
+    "sinraptor",
+    "sinvenator",
+    "zalmoxes",
+    "zephyrosaurus",
+    "zuniceratops",
+    "byzantine",
+    "svengali",
+    "accolade",
+    "acrimony",
+    "angst",
+    "anomaly",
+    "antidote",
+    "baroque",
+    "bona_fide",
+    "bourgeois",
+    "bravado",
+    "brogue",
+    "brusque",
+    "cacophony",
+    "caustic",
+    "charisma",
+    "cloying",
+    "deja-vu",
+    "dichotomy",
+    "elan",
+    "ennui",
+    "epitome",
+    "esoteric",
+    "euphemism",
+    "faux pas",
+    "fiasco",
+    "finagle",
+    "glib",
+    "harbinger",
+    "hedonist",
+    "heresy",
+    "idyllic",
+    "insidious",
+    "junket",
+    "kitsch",
+    "litany",
+    "lurid",
+    "malaise",
+    "malinger",
+    "mantra",
+    "maudlin",
+    "mercenary",
+    "misnomer",
+    "nirvana",
+    "oblivion",
+    "ogle",
+    "ostracize",
+    "panacea",
+    "paradox",
+    "peevish",
+    "propriety",
+    "revel",
+    "rhetoric",
+    "spartan",
+    "stigma",
+    "stoic",
+    "suave",
+    "sycophant",
+    "tirade",
+    "tryst",
+    "untenable",
+    "vicarious",
+    "vile",
+    "waft",
+    "zealous",
+]
+
+SYSTEM_QUALITY_ATTRIBUTES = (
+    "accessibility",
+    "accountability",
+    "accuracy",
+    "adaptability",
+    "administrability",
+    "affordability",
+    "agility",
+    "auditability",
+    "autonomy",
+    "availability",
+    "compatibility",
+    "composability",
+    "confidentiality",
+    "configurability",
+    "correctness",
+    "credibility",
+    "customizability",
+    "debuggability",
+    "degradability",
+    "demonstrability",
+    "dependability",
+    "deployability",
+    "determinability",
+    "discoverability",
+    "distributability",
+    "durability",
+    "effectiveness",
+    "efficiency",
+    "evolvability",
+    "extensibility",
+    "failure transparency",
+    "fault-tolerance",
+    "fidelity",
+    "flexibility",
+    "inspectability",
+    "installability",
+    "integrity",
+    "interchangeability",
+    "interoperability",
+    "learnability",
+    "localizability",
+    "maintainability",
+    "manageability",
+    "mobility",
+    "modifiability",
+    "modularity",
+    "observability",
+    "operability",
+    "orthogonality",
+    "portability",
+    "precision",
+    "predictability",
+    "process capabilities",
+    "producibility",
+    "provability",
+    "recoverability",
+    "redundancy",
+    "relevance",
+    "reliability",
+    "repeatability",
+    "reproducibility",
+    "resilience",
+    "responsiveness",
+    "reusability",
+    "robustness",
+    "safety",
+    "scalability",
+    "seamlessness",
+    "securability",
+    "self-sustainability",
+    "serviceability",
+    "simplicity",
+    "stability",
+    "standards compliance",
+    "survivability",
+    "sustainability",
+    "tailorability",
+    "testability",
+    "timeliness",
+    "traceability",
+    "transparency",
+    "ubiquity",
+    "understandability",
+    "upgradability",
+    "usability",
+    "vulnerability",
+)
+
+STAGES = (
+    "Pre-alpha",
+    "Alpha",
+    "Beta",
+    "RC",
+    "Stable",
+)
diff --git a/mimesis/datasets/int/file.py b/mimesis/datasets/int/file.py
index 2df2726a..cba970e8 100644
--- a/mimesis/datasets/int/file.py
+++ b/mimesis/datasets/int/file.py
@@ -1,895 +1,2517 @@
 """Provides all the data related to the files."""
-EXTENSIONS = {'source': ['.a', '.asm', '.asp', '.awk', '.c', '.class',
-    '.cpp', '.pl', '.js', '.java', '.clj', '.py', '.rb', '.hs', '.erl',
-    '.rs', '.swift', '.html', '.json', '.xml', '.css', '.php', '.jl', '.r',
-    '.cs', 'd', '.lisp', '.cl', '.go', '.h', '.scala', '.sc', '.ts', '.sql'
-    ], 'text': ['.doc', '.docx', '.log', '.rtf', '.md', '.pdf', '.odt',
-    '.txt'], 'data': ['.csv', '.dat', '.ged', '.pps', '.ppt', '.pptx'],
-    'audio': ['.flac', '.mp3', '.m3u', '.m4a', '.wav', '.wma'], 'video': [
-    '.3gp', '.mp4', '.abi', '.m4v', '.mov', '.mpg', '.wmv'], 'image': [
-    '.bmp', '.jpg', '.jpeg', '.png', '.svg'], 'executable': ['.apk', '.app',
-    '.bat', '.jar', '.com', '.exe'], 'compressed': ['.7z', '.war', '.zip',
-    '.tar.gz', '.tar.xz', '.rar']}
-MIME_TYPES = {'application': ['application/1d-interleaved-parityfec',
-    'application/3gpdash-qoe-report+xml', 'application/3gpp-ims+xml',
-    'application/A2L', 'application/activemessage',
-    'application/alto-costmap+json', 'application/alto-costmapfilter+json',
-    'application/alto-directory+json', 'application/alto-endpointcost+json',
-    'application/alto-endpointcostparams+json',
-    'application/alto-endpointprop+json',
-    'application/alto-endpointpropparams+json',
-    'application/alto-error+json', 'application/alto-networkmap+json',
-    'application/alto-networkmapfilter+json', 'application/AML',
-    'application/andrew-inset', 'application/applefile', 'application/ATF',
-    'application/ATFX', 'application/atom+xml', 'application/atomcat+xml',
-    'application/atomdeleted+xml', 'application/atomicmail',
-    'application/atomsvc+xml', 'application/ATXML',
-    'application/auth-policy+xml', 'application/bacnet-xdd+zip',
-    'application/batch-SMTP', 'application/beep+xml',
-    'application/calendar+json', 'application/calendar+xml',
-    'application/call-completion', 'application/cals-1840',
-    'application/cbor', 'application/ccmp+xml', 'application/ccxml+xml',
-    'application/CDFX+XML', 'application/cdmi-capability',
-    'application/cdmi-container', 'application/cdmi-domain',
-    'application/cdmi-object', 'application/cdmi-queue', 'application/CEA',
-    'application/cea-2018+xml', 'application/cellml+xml', 'application/cfw',
-    'application/cms', 'application/cnrp+xml',
-    'application/coap-group+json', 'application/commonground',
-    'application/conference-info+xml', 'application/cpl+xml',
-    'application/csrattrs', 'application/csta+xml',
-    'application/CSTAdata+xml', 'application/cybercash',
-    'application/dash+xml', 'application/dashdelta',
-    'application/davmount+xml', 'application/dca-rft', 'application/DCD',
-    'application/dec-dx', 'application/dialog-info+xml',
-    'application/dicom', 'application/DII', 'application/DIT',
-    'application/dns', 'application/dskpp+xml', 'application/dssc+der',
-    'application/dssc+xml', 'application/dvcs', 'application/ecmascript',
-    'application/EDI-consent', 'application/EDI-X12', 'application/EDIFACT',
-    'application/emma+xml', 'application/emotionml+xml',
-    'application/encaprtp', 'application/epp+xml', 'application/epub+zip',
-    'application/eshop', 'application/example', 'application/exi',
-    'application/fastinfoset', 'application/fastsoap',
-    'application/fdt+xml', 'application/fits', 'application/font-sfnt',
-    'application/font-tdpfr', 'application/font-woff',
-    'application/framework-attributes+xml', 'application/gzip',
-    'application/H224', 'application/held+xml', 'application/http',
-    'application/hyperstudio', 'application/ibe-key-request+xml',
-    'application/ibe-pkg-reply+xml', 'application/ibe-pp-data',
-    'application/iges', 'application/im-iscomposing+xml',
-    'application/index', 'application/index.cmd', 'application/index.obj',
-    'application/index.response', 'application/index.vnd',
-    'application/inkml+xml', 'application/iotp', 'application/ipfix',
-    'application/ipp', 'application/isup', 'application/its+xml',
-    'application/javascript', 'application/jose', 'application/jose+json',
-    'application/jrd+json', 'application/json',
-    'application/json-patch+json', 'application/json-seq',
-    'application/jwk-set+json', 'application/jwk+json', 'application/jwt',
-    'application/kpml-request+xml', 'application/kpml-response+xml',
-    'application/ld+json', 'application/link-format',
-    'application/load-control+xml', 'application/lost+xml',
-    'application/lostsync+xml', 'application/LXF',
-    'application/mac-binhex40', 'application/macwriteii',
-    'application/mads+xml', 'application/marc', 'application/marcxml+xml',
-    'application/mathematica', 'application/mathml-content+xml',
-    'application/mathml-presentation+xml', 'application/mathml+xml',
-    'application/mbms-associated-procedure-description+xml',
-    'application/mbms-deregister+xml', 'application/mbms-envelope+xml',
-    'application/mbms-msk-response+xml', 'application/mbms-msk+xml',
-    'application/mbms-protection-description+xml',
-    'application/mbms-reception-report+xml',
-    'application/mbms-register-response+xml',
-    'application/mbms-register+xml', 'application/mbms-schedule+xml',
-    'application/mbms-user-service-description+xml', 'application/mbox',
-    'application/media_control+xml', 'application/media-policy-dataset+xml',
-    'application/mediaservercontrol+xml', 'application/merge-patch+json',
-    'application/metalink4+xml', 'application/mets+xml', 'application/MF4',
-    'application/mikey', 'application/mods+xml', 'application/moss-keys',
-    'application/moss-signature', 'application/mosskey-data',
-    'application/mosskey-request', 'application/mp21', 'application/mp4',
-    'application/mpeg4-generic', 'application/mpeg4-iod',
-    'application/mpeg4-iod-xmt', 'application/mrb-consumer+xml',
-    'application/mrb-publish+xml', 'application/msc-ivr+xml',
-    'application/msc-mixer+xml', 'application/msword', 'application/mxf',
-    'application/nasdata', 'application/news-checkgroups',
-    'application/news-groupinfo', 'application/news-transmission',
-    'application/nlsml+xml', 'application/nss', 'application/ocsp-request',
-    'application/ocsp-response', 'application/octet-stream',
-    'application/oda', 'application/ODX', 'application/oebps-package+xml',
-    'application/ogg', 'application/oxps', 'application/p2p-overlay+xml',
-    'application/parityfec', 'application/patch-ops-error+xml',
-    'application/pdf', 'application/PDX', 'application/pgp-encrypted',
-    'application/pgp-keys', 'application/pgp-signature',
-    'application/pidf-diff+xml', 'application/pidf+xml',
-    'application/pkcs10', 'application/pkcs7-mime',
-    'application/pkcs7-signature', 'application/pkcs8',
-    'application/pkix-attr-cert', 'application/pkix-cert',
-    'application/pkix-crl', 'application/pkix-pkipath',
-    'application/pkixcmp', 'application/pls+xml',
-    'application/poc-settings+xml', 'application/postscript',
-    'application/provenance+xml', 'application/prs.alvestrand.titrax-sheet',
-    'application/prs.cww', 'application/prs.hpub+zip',
-    'application/prs.nprend', 'application/prs.plucker',
-    'application/prs.rdf-xml-crypt', 'application/prs.xsf+xml',
-    'application/pskc+xml', 'application/qsig', 'application/raptorfec',
-    'application/rdap+json', 'application/rdf+xml',
-    'application/reginfo+xml', 'application/relax-ng-compact-syntax',
-    'application/remote-printing', 'application/reputon+json',
-    'application/resource-lists-diff+xml', 'application/resource-lists+xml',
-    'application/riscos', 'application/rlmi+xml',
-    'application/rls-services+xml', 'application/rpki-ghostbusters',
-    'application/rpki-manifest', 'application/rpki-roa',
-    'application/rpki-updown', 'application/rtf', 'application/rtploopback',
-    'application/rtx', 'application/samlassertion+xml',
-    'application/samlmetadata+xml', 'application/sbml+xml',
-    'application/scaip+xml', 'application/scvp-cv-request',
-    'application/scvp-cv-response', 'application/scvp-vp-request',
-    'application/scvp-vp-response', 'application/sdp',
-    'application/sep-exi', 'application/sep+xml',
-    'application/session-info', 'application/set-payment',
-    'application/set-payment-initiation', 'application/set-registration',
-    'application/set-registration-initiation', 'application/sgml',
-    'application/sgml-open-catalog', 'application/shf+xml',
-    'application/sieve', 'application/simple-filter+xml',
-    'application/simple-message-summary',
-    'application/simpleSymbolContainer', 'application/slate',
-    'application/smil - OBSOLETED in favor of application/smil+xml',
-    'application/smil+xml', 'application/smpte336m',
-    'application/soap+fastinfoset', 'application/soap+xml',
-    'application/sparql-query', 'application/sparql-results+xml',
-    'application/spirits-event+xml', 'application/sql', 'application/srgs',
-    'application/srgs+xml', 'application/sru+xml', 'application/ssml+xml',
-    'application/tamp-apex-update', 'application/tamp-apex-update-confirm',
-    'application/tamp-community-update',
-    'application/tamp-community-update-confirm', 'application/tamp-error',
-    'application/tamp-sequence-adjust',
-    'application/tamp-sequence-adjust-confirm',
-    'application/tamp-status-query', 'application/tamp-status-response',
-    'application/tamp-update', 'application/tamp-update-confirm',
-    'application/tei+xml', 'application/thraud+xml',
-    'application/timestamp-query', 'application/timestamp-reply',
-    'application/timestamped-data', 'application/ttml+xml',
-    'application/tve-trigger', 'application/ulpfec',
-    'application/urc-grpsheet+xml', 'application/urc-ressheet+xml',
-    'application/urc-targetdesc+xml', 'application/urc-uisocketdesc+xml',
-    'application/vcard+json', 'application/vcard+xml', 'application/vemmi',
-    'application/vnd.3gpp.bsf+xml', 'application/vnd.3gpp.pic-bw-large',
-    'application/vnd.3gpp.pic-bw-small', 'application/vnd.3gpp.pic-bw-var',
-    'application/vnd.3gpp.sms', 'application/vnd.3gpp2.bcmcsinfo+xml',
-    'application/vnd.3gpp2.sms', 'application/vnd.3gpp2.tcap',
-    'application/vnd.3M.Post-it-Notes', 'application/vnd.accpac.simply.aso',
-    'application/vnd.accpac.simply.imp', 'application/vnd.acucobol',
-    'application/vnd.acucorp', 'application/vnd.adobe.flash.movie',
-    'application/vnd.adobe.formscentral.fcdt', 'application/vnd.adobe.fxp',
-    'application/vnd.adobe.partial-upload', 'application/vnd.adobe.xdp+xml',
-    'application/vnd.adobe.xfdf', 'application/vnd.aether.imp',
-    'application/vnd.ah-barcode', 'application/vnd.ahead.space',
-    'application/vnd.airzip.filesecure.azf',
-    'application/vnd.airzip.filesecure.azs',
-    'application/vnd.americandynamics.acc', 'application/vnd.amiga.ami',
-    'application/vnd.amundsen.maze+xml',
-    'application/vnd.anser-web-certificate-issue-initiation',
-    'application/vnd.antix.game-component',
-    'application/vnd.apache.thrift.binary',
-    'application/vnd.apache.thrift.compact',
-    'application/vnd.apache.thrift.json', 'application/vnd.api+json',
-    'application/vnd.apple.installer+xml', 'application/vnd.apple.mpegurl',
-    'application/vnd.aristanetworks.swi', 'application/vnd.artsquare',
-    'application/vnd.astraea-software.iota', 'application/vnd.audiograph',
-    'application/vnd.autopackage', 'application/vnd.avistar+xml',
-    'application/vnd.balsamiq.bmml+xml',
-    'application/vnd.bekitzur-stech+json',
-    'application/vnd.blueice.multipass', 'application/vnd.bluetooth.ep.oob',
-    'application/vnd.bluetooth.le.oob', 'application/vnd.bmi',
-    'application/vnd.businessobjects', 'application/vnd.cab-jscript',
-    'application/vnd.canon-cpdl', 'application/vnd.canon-lips',
-    'application/vnd.cendio.thinlinc.clientconf',
-    'application/vnd.century-systems.tcp_stream',
-    'application/vnd.chemdraw+xml', 'application/vnd.chipnuts.karaoke-mmd',
-    'application/vnd.cinderella', 'application/vnd.cirpack.isdn-ext',
-    'application/vnd.citationstyles.style+xml', 'application/vnd.claymore',
-    'application/vnd.cloanto.rp9', 'application/vnd.clonk.c4group',
-    'application/vnd.cluetrust.cartomobile-config',
-    'application/vnd.cluetrust.cartomobile-config-pkg',
-    'application/vnd.coffeescript', 'application/vnd.collection.doc+json',
-    'application/vnd.collection.next+json',
-    'application/vnd.collection+json', 'application/vnd.commerce-battelle',
-    'application/vnd.commonspace', 'application/vnd.contact.cmsg',
-    'application/vnd.cosmocaller', 'application/vnd.crick.clicker',
-    'application/vnd.crick.clicker.keyboard',
-    'application/vnd.crick.clicker.palette',
-    'application/vnd.crick.clicker.template',
-    'application/vnd.crick.clicker.wordbank',
-    'application/vnd.criticaltools.wbs+xml', 'application/vnd.ctc-posml',
-    'application/vnd.ctct.ws+xml', 'application/vnd.cups-pdf',
-    'application/vnd.cups-postscript', 'application/vnd.cups-ppd',
-    'application/vnd.cups-raster', 'application/vnd.cups-raw',
-    'application/vnd.curl', 'application/vnd.cyan.dean.root+xml',
-    'application/vnd.cybank', 'application/vnd.dart',
-    'application/vnd.data-vision.rdz',
-    'application/vnd.debian.binary-package', 'application/vnd.dece.data',
-    'application/vnd.dece.ttml+xml', 'application/vnd.dece.unspecified',
-    'application/vnd.dece.zip', 'application/vnd.denovo.fcselayout-link',
-    'application/vnd.desmume.movie',
-    'application/vnd.dir-bi.plate-dl-nosuffix',
-    'application/vnd.dm.delegation+xml', 'application/vnd.dna_sequence',
-    'application/vnd.document+json', 'application/vnd.dolby.mobile.1',
-    'application/vnd.dolby.mobile.2',
-    'application/vnd.doremir.scorecloud-binary-document',
-    'application/vnd.dpgraph', 'application/vnd.dreamfactory',
-    'application/vnd.dtg.local', 'application/vnd.dtg.local.flash',
-    'application/vnd.dtg.local.html', 'application/vnd.dvb.ait',
-    'application/vnd.dvb.dvbj', 'application/vnd.dvb.esgcontainer',
-    'application/vnd.dvb.ipdcdftnotifaccess',
-    'application/vnd.dvb.ipdcesgaccess',
-    'application/vnd.dvb.ipdcesgaccess2', 'application/vnd.dvb.ipdcesgpdd',
-    'application/vnd.dvb.ipdcroaming',
-    'application/vnd.dvb.iptv.alfec-base',
-    'application/vnd.dvb.iptv.alfec-enhancement',
-    'application/vnd.dvb.notif-aggregate-root+xml',
-    'application/vnd.dvb.notif-container+xml',
-    'application/vnd.dvb.notif-generic+xml',
-    'application/vnd.dvb.notif-ia-msglist+xml',
-    'application/vnd.dvb.notif-ia-registration-request+xml',
-    'application/vnd.dvb.notif-ia-registration-response+xml',
-    'application/vnd.dvb.notif-init+xml', 'application/vnd.dvb.pfr',
-    'application/vnd.dvb.service', 'application/vnd.dxr',
-    'application/vnd.dynageo', 'application/vnd.dzr',
-    'application/vnd.easykaraoke.cdgdownload',
-    'application/vnd.ecdis-update', 'application/vnd.ecowin.chart',
-    'application/vnd.ecowin.filerequest',
-    'application/vnd.ecowin.fileupdate', 'application/vnd.ecowin.series',
-    'application/vnd.ecowin.seriesrequest',
-    'application/vnd.ecowin.seriesupdate',
-    'application/vnd.emclient.accessrequest+xml', 'application/vnd.enliven',
-    'application/vnd.enphase.envoy', 'application/vnd.eprints.data+xml',
-    'application/vnd.epson.esf', 'application/vnd.epson.msf',
-    'application/vnd.epson.quickanime', 'application/vnd.epson.salt',
-    'application/vnd.epson.ssf', 'application/vnd.ericsson.quickcall',
-    'application/vnd.eszigno3+xml', 'application/vnd.etsi.aoc+xml',
-    'application/vnd.etsi.asic-e+zip', 'application/vnd.etsi.asic-s+zip',
-    'application/vnd.etsi.cug+xml', 'application/vnd.etsi.iptvcommand+xml',
-    'application/vnd.etsi.iptvdiscovery+xml',
-    'application/vnd.etsi.iptvprofile+xml',
-    'application/vnd.etsi.iptvsad-bc+xml',
-    'application/vnd.etsi.iptvsad-cod+xml',
-    'application/vnd.etsi.iptvsad-npvr+xml',
-    'application/vnd.etsi.iptvservice+xml',
-    'application/vnd.etsi.iptvsync+xml',
-    'application/vnd.etsi.iptvueprofile+xml',
-    'application/vnd.etsi.mcid+xml', 'application/vnd.etsi.mheg5',
-    'application/vnd.etsi.overload-control-policy-dataset+xml',
-    'application/vnd.etsi.pstn+xml', 'application/vnd.etsi.sci+xml',
-    'application/vnd.etsi.simservs+xml',
-    'application/vnd.etsi.timestamp-token', 'application/vnd.etsi.tsl.der',
-    'application/vnd.etsi.tsl+xml', 'application/vnd.eudora.data',
-    'application/vnd.ezpix-album', 'application/vnd.ezpix-package',
-    'application/vnd.f-secure.mobile', 'application/vnd.fdf',
-    'application/vnd.fdsn.mseed', 'application/vnd.fdsn.seed',
-    'application/vnd.ffsns', 'application/vnd.fints',
-    'application/vnd.FloGraphIt', 'application/vnd.fluxtime.clip',
-    'application/vnd.font-fontforge-sfd', 'application/vnd.framemaker',
-    'application/vnd.frogans.fnc', 'application/vnd.frogans.ltf',
-    'application/vnd.fsc.weblaunch', 'application/vnd.fujitsu.oasys',
-    'application/vnd.fujitsu.oasys2', 'application/vnd.fujitsu.oasys3',
-    'application/vnd.fujitsu.oasysgp', 'application/vnd.fujitsu.oasysprs',
-    'application/vnd.fujixerox.ART-EX', 'application/vnd.fujixerox.ART4',
-    'application/vnd.fujixerox.ddd', 'application/vnd.fujixerox.docuworks',
-    'application/vnd.fujixerox.docuworks.binder',
-    'application/vnd.fujixerox.docuworks.container',
-    'application/vnd.fujixerox.HBPL', 'application/vnd.fut-misnet',
-    'application/vnd.fuzzysheet', 'application/vnd.genomatix.tuxedo',
-    'application/vnd.geo+json',
-    'application/vnd.geocube+xml - OBSOLETED by request',
-    'application/vnd.geogebra.file', 'application/vnd.geogebra.tool',
-    'application/vnd.geometry-explorer', 'application/vnd.geonext',
-    'application/vnd.geoplan', 'application/vnd.geospace',
-    'application/vnd.gerber',
-    'application/vnd.globalplatform.card-content-mgt',
-    'application/vnd.globalplatform.card-content-mgt-response',
-    'application/vnd.gmx - DEPRECATED',
-    'application/vnd.google-earth.kml+xml',
-    'application/vnd.google-earth.kmz', 'application/vnd.gov.sk.e-form+xml',
-    'application/vnd.gov.sk.e-form+zip',
-    'application/vnd.gov.sk.xmldatacontainer+xml', 'application/vnd.grafeq',
-    'application/vnd.gridmp', 'application/vnd.groove-account',
-    'application/vnd.groove-help',
-    'application/vnd.groove-identity-message',
-    'application/vnd.groove-injector',
-    'application/vnd.groove-tool-message',
-    'application/vnd.groove-tool-template', 'application/vnd.groove-vcard',
-    'application/vnd.hal+json', 'application/vnd.hal+xml',
-    'application/vnd.HandHeld-Entertainment+xml', 'application/vnd.hbci',
-    'application/vnd.hcl-bireports', 'application/vnd.heroku+json',
-    'application/vnd.hhe.lesson-player', 'application/vnd.hp-HPGL',
-    'application/vnd.hp-hpid', 'application/vnd.hp-hps',
-    'application/vnd.hp-jlyt', 'application/vnd.hp-PCL',
-    'application/vnd.hp-PCLXL', 'application/vnd.httphone',
-    'application/vnd.hydrostatix.sof-data',
-    'application/vnd.hzn-3d-crossword', 'application/vnd.ibm.afplinedata',
-    'application/vnd.ibm.electronic-media', 'application/vnd.ibm.MiniPay',
-    'application/vnd.ibm.modcap', 'application/vnd.ibm.rights-management',
-    'application/vnd.ibm.secure-container', 'application/vnd.iccprofile',
-    'application/vnd.ieee.1905', 'application/vnd.igloader',
-    'application/vnd.immervision-ivp', 'application/vnd.immervision-ivu',
-    'application/vnd.ims.imsccv1p1', 'application/vnd.ims.imsccv1p2',
-    'application/vnd.ims.imsccv1p3',
-    'application/vnd.ims.lis.v2.result+json',
-    'application/vnd.ims.lti.v2.toolconsumerprofile+json',
-    'application/vnd.ims.lti.v2.toolproxy.id+json',
-    'application/vnd.ims.lti.v2.toolproxy+json',
-    'application/vnd.ims.lti.v2.toolsettings.simple+json',
-    'application/vnd.ims.lti.v2.toolsettings+json',
-    'application/vnd.informedcontrol.rms+xml',
-    'application/vnd.informix-visionary',
-    'application/vnd.infotech.project',
-    'application/vnd.infotech.project+xml',
-    'application/vnd.innopath.wamp.notification',
-    'application/vnd.insors.igm', 'application/vnd.intercon.formnet',
-    'application/vnd.intergeo', 'application/vnd.intertrust.digibox',
-    'application/vnd.intertrust.nncp', 'application/vnd.intu.qbo',
-    'application/vnd.intu.qfx', 'application/vnd.iptc.g2.catalogitem+xml',
-    'application/vnd.iptc.g2.conceptitem+xml',
-    'application/vnd.iptc.g2.knowledgeitem+xml',
-    'application/vnd.iptc.g2.newsitem+xml',
-    'application/vnd.iptc.g2.newsmessage+xml',
-    'application/vnd.iptc.g2.packageitem+xml',
-    'application/vnd.iptc.g2.planningitem+xml',
-    'application/vnd.ipunplugged.rcprofile',
-    'application/vnd.irepository.package+xml', 'application/vnd.is-xpr',
-    'application/vnd.isac.fcs', 'application/vnd.jam',
-    'application/vnd.japannet-directory-service',
-    'application/vnd.japannet-jpnstore-wakeup',
-    'application/vnd.japannet-payment-wakeup',
-    'application/vnd.japannet-registration',
-    'application/vnd.japannet-registration-wakeup',
-    'application/vnd.japannet-setstore-wakeup',
-    'application/vnd.japannet-verification',
-    'application/vnd.japannet-verification-wakeup',
-    'application/vnd.jcp.javame.midlet-rms', 'application/vnd.jisp',
-    'application/vnd.joost.joda-archive', 'application/vnd.jsk.isdn-ngn',
-    'application/vnd.kahootz', 'application/vnd.kde.karbon',
-    'application/vnd.kde.kchart', 'application/vnd.kde.kformula',
-    'application/vnd.kde.kivio', 'application/vnd.kde.kontour',
-    'application/vnd.kde.kpresenter', 'application/vnd.kde.kspread',
-    'application/vnd.kde.kword', 'application/vnd.kenameaapp',
-    'application/vnd.kidspiration', 'application/vnd.Kinar',
-    'application/vnd.koan', 'application/vnd.kodak-descriptor',
-    'application/vnd.las.las+xml', 'application/vnd.liberty-request+xml',
-    'application/vnd.llamagraphics.life-balance.desktop',
-    'application/vnd.llamagraphics.life-balance.exchange+xml',
-    'application/vnd.lotus-1-2-3', 'application/vnd.lotus-approach',
-    'application/vnd.lotus-freelance', 'application/vnd.lotus-notes',
-    'application/vnd.lotus-organizer', 'application/vnd.lotus-screencam',
-    'application/vnd.lotus-wordpro', 'application/vnd.macports.portpkg',
-    'application/vnd.marlin.drm.actiontoken+xml',
-    'application/vnd.marlin.drm.conftoken+xml',
-    'application/vnd.marlin.drm.license+xml',
-    'application/vnd.marlin.drm.mdcf', 'application/vnd.mason+json',
-    'application/vnd.maxmind.maxmind-db', 'application/vnd.mcd',
-    'application/vnd.medcalcdata', 'application/vnd.mediastation.cdkey',
-    'application/vnd.meridian-slingshot', 'application/vnd.MFER',
-    'application/vnd.mfmp', 'application/vnd.micro+json',
-    'application/vnd.micrografx.flo', 'application/vnd.micrografx.igx',
-    'application/vnd.microsoft.portable-executable',
-    'application/vnd.miele+json', 'application/vnd.mif',
-    'application/vnd.minisoft-hp3000-save',
-    'application/vnd.mitsubishi.misty-guard.trustweb',
-    'application/vnd.Mobius.DAF', 'application/vnd.Mobius.DIS',
-    'application/vnd.Mobius.MBK', 'application/vnd.Mobius.MQY',
-    'application/vnd.Mobius.MSL', 'application/vnd.Mobius.PLC',
-    'application/vnd.Mobius.TXF', 'application/vnd.mophun.application',
-    'application/vnd.mophun.certificate',
-    'application/vnd.motorola.flexsuite',
-    'application/vnd.motorola.flexsuite.adsi',
-    'application/vnd.motorola.flexsuite.fis',
-    'application/vnd.motorola.flexsuite.gotap',
-    'application/vnd.motorola.flexsuite.kmr',
-    'application/vnd.motorola.flexsuite.ttc',
-    'application/vnd.motorola.flexsuite.wem',
-    'application/vnd.motorola.iprm', 'application/vnd.mozilla.xul+xml',
-    'application/vnd.ms-3mfdocument', 'application/vnd.ms-artgalry',
-    'application/vnd.ms-asf', 'application/vnd.ms-cab-compressed',
-    'application/vnd.ms-excel',
-    'application/vnd.ms-excel.addin.macroEnabled.12',
-    'application/vnd.ms-excel.sheet.binary.macroEnabled.12',
-    'application/vnd.ms-excel.sheet.macroEnabled.12',
-    'application/vnd.ms-excel.template.macroEnabled.12',
-    'application/vnd.ms-fontobject', 'application/vnd.ms-htmlhelp',
-    'application/vnd.ms-ims', 'application/vnd.ms-lrm',
-    'application/vnd.ms-office.activeX+xml',
-    'application/vnd.ms-officetheme',
-    'application/vnd.ms-playready.initiator+xml',
-    'application/vnd.ms-powerpoint',
-    'application/vnd.ms-powerpoint.addin.macroEnabled.12',
-    'application/vnd.ms-powerpoint.presentation.macroEnabled.12',
-    'application/vnd.ms-powerpoint.slide.macroEnabled.12',
-    'application/vnd.ms-powerpoint.slideshow.macroEnabled.12',
-    'application/vnd.ms-powerpoint.template.macroEnabled.12',
-    'application/vnd.ms-project', 'application/vnd.ms-tnef',
-    'application/vnd.ms-windows.printerpairing',
-    'application/vnd.ms-wmdrm.lic-chlg-req',
-    'application/vnd.ms-wmdrm.lic-resp',
-    'application/vnd.ms-wmdrm.meter-chlg-req',
-    'application/vnd.ms-wmdrm.meter-resp',
-    'application/vnd.ms-word.document.macroEnabled.12',
-    'application/vnd.ms-word.template.macroEnabled.12',
-    'application/vnd.ms-works', 'application/vnd.ms-wpl',
-    'application/vnd.ms-xpsdocument', 'application/vnd.msa-disk-image',
-    'application/vnd.mseq', 'application/vnd.msign',
-    'application/vnd.multiad.creator',
-    'application/vnd.multiad.creator.cif', 'application/vnd.music-niff',
-    'application/vnd.musician', 'application/vnd.muvee.style',
-    'application/vnd.mynfc', 'application/vnd.ncd.control',
-    'application/vnd.ncd.reference', 'application/vnd.nervana',
-    'application/vnd.netfpx', 'application/vnd.neurolanguage.nlu',
-    'application/vnd.nintendo.nitro.rom',
-    'application/vnd.nintendo.snes.rom', 'application/vnd.nitf',
-    'application/vnd.noblenet-directory', 'application/vnd.noblenet-sealer',
-    'application/vnd.noblenet-web', 'application/vnd.nokia.catalogs',
-    'application/vnd.nokia.conml+wbxml', 'application/vnd.nokia.conml+xml',
-    'application/vnd.nokia.iptv.config+xml',
-    'application/vnd.nokia.iSDS-radio-presets',
-    'application/vnd.nokia.landmark+wbxml',
-    'application/vnd.nokia.landmark+xml',
-    'application/vnd.nokia.landmarkcollection+xml',
-    'application/vnd.nokia.n-gage.ac+xml',
-    'application/vnd.nokia.n-gage.data',
-    'application/vnd.nokia.n-gage.symbian.install',
-    'application/vnd.nokia.ncd', 'application/vnd.nokia.pcd+wbxml',
-    'application/vnd.nokia.pcd+xml', 'application/vnd.nokia.radio-preset',
-    'application/vnd.nokia.radio-presets', 'application/vnd.novadigm.EDM',
-    'application/vnd.novadigm.EDX', 'application/vnd.novadigm.EXT',
-    'application/vnd.ntt-local.content-share',
-    'application/vnd.ntt-local.file-transfer',
-    'application/vnd.ntt-local.ogw_remote-access',
-    'application/vnd.ntt-local.sip-ta_remote',
-    'application/vnd.ntt-local.sip-ta_tcp_stream',
-    'application/vnd.oasis.opendocument.chart',
-    'application/vnd.oasis.opendocument.chart-template',
-    'application/vnd.oasis.opendocument.database',
-    'application/vnd.oasis.opendocument.formula',
-    'application/vnd.oasis.opendocument.formula-template',
-    'application/vnd.oasis.opendocument.graphics',
-    'application/vnd.oasis.opendocument.graphics-template',
-    'application/vnd.oasis.opendocument.image',
-    'application/vnd.oasis.opendocument.image-template',
-    'application/vnd.oasis.opendocument.presentation',
-    'application/vnd.oasis.opendocument.presentation-template',
-    'application/vnd.oasis.opendocument.spreadsheet',
-    'application/vnd.oasis.opendocument.spreadsheet-template',
-    'application/vnd.oasis.opendocument.text',
-    'application/vnd.oasis.opendocument.text-master',
-    'application/vnd.oasis.opendocument.text-template',
-    'application/vnd.oasis.opendocument.text-web', 'application/vnd.obn',
-    'application/vnd.oftn.l10n+json',
-    'application/vnd.oipf.contentaccessdownload+xml',
-    'application/vnd.oipf.contentaccessstreaming+xml',
-    'application/vnd.oipf.cspg-hexbinary',
-    'application/vnd.oipf.dae.svg+xml',
-    'application/vnd.oipf.dae.xhtml+xml',
-    'application/vnd.oipf.mippvcontrolmessage+xml',
-    'application/vnd.oipf.pae.gem', 'application/vnd.oipf.spdiscovery+xml',
-    'application/vnd.oipf.spdlist+xml',
-    'application/vnd.oipf.ueprofile+xml',
-    'application/vnd.oipf.userprofile+xml', 'application/vnd.olpc-sugar',
-    'application/vnd.oma-scws-config',
-    'application/vnd.oma-scws-http-request',
-    'application/vnd.oma-scws-http-response',
-    'application/vnd.oma.bcast.associated-procedure-parameter+xml',
-    'application/vnd.oma.bcast.drm-trigger+xml',
-    'application/vnd.oma.bcast.imd+xml', 'application/vnd.oma.bcast.ltkm',
-    'application/vnd.oma.bcast.notification+xml',
-    'application/vnd.oma.bcast.provisioningtrigger',
-    'application/vnd.oma.bcast.sgboot',
-    'application/vnd.oma.bcast.sgdd+xml', 'application/vnd.oma.bcast.sgdu',
-    'application/vnd.oma.bcast.simple-symbol-container',
-    'application/vnd.oma.bcast.smartcard-trigger+xml',
-    'application/vnd.oma.bcast.sprov+xml', 'application/vnd.oma.bcast.stkm',
-    'application/vnd.oma.cab-address-book+xml',
-    'application/vnd.oma.cab-feature-handler+xml',
-    'application/vnd.oma.cab-pcc+xml',
-    'application/vnd.oma.cab-subs-invite+xml',
-    'application/vnd.oma.cab-user-prefs+xml', 'application/vnd.oma.dcd',
-    'application/vnd.oma.dcdc', 'application/vnd.oma.dd2+xml',
-    'application/vnd.oma.drm.risd+xml',
-    'application/vnd.oma.group-usage-list+xml',
-    'application/vnd.oma.pal+xml',
-    'application/vnd.oma.poc.detailed-progress-report+xml',
-    'application/vnd.oma.poc.final-report+xml',
-    'application/vnd.oma.poc.groups+xml',
-    'application/vnd.oma.poc.invocation-descriptor+xml',
-    'application/vnd.oma.poc.optimized-progress-report+xml',
-    'application/vnd.oma.push', 'application/vnd.oma.scidm.messages+xml',
-    'application/vnd.oma.xcap-directory+xml',
-    'application/vnd.omads-email+xml', 'application/vnd.omads-file+xml',
-    'application/vnd.omads-folder+xml', 'application/vnd.omaloc-supl-init',
-    'application/vnd.openeye.oeb', 'application/vnd.oracle.resource+json',
-    'application/vnd.orange.indata', 'application/vnd.osa.netdeploy',
-    'application/vnd.osgeo.mapguide.package', 'application/vnd.osgi.bundle',
-    'application/vnd.osgi.dp', 'application/vnd.osgi.subsystem',
-    'application/vnd.otps.ct-kip+xml', 'application/vnd.palm',
-    'application/vnd.panoply', 'application/vnd.paos.xml',
-    'application/vnd.pawaafile', 'application/vnd.pcos',
-    'application/vnd.pg.format', 'application/vnd.pg.osasli',
-    'application/vnd.piaccess.application-licence',
-    'application/vnd.picsel', 'application/vnd.pmi.widget',
-    'application/vnd.poc.group-advertisement+xml',
-    'application/vnd.pocketlearn', 'application/vnd.powerbuilder6',
-    'application/vnd.powerbuilder6-s', 'application/vnd.powerbuilder7',
-    'application/vnd.powerbuilder7-s', 'application/vnd.powerbuilder75',
-    'application/vnd.powerbuilder75-s', 'application/vnd.preminet',
-    'application/vnd.previewsystems.box',
-    'application/vnd.proteus.magazine',
-    'application/vnd.publishare-delta-tree', 'application/vnd.pvi.ptid1',
-    'application/vnd.pwg-multiplexed',
-    'application/vnd.pwg-xhtml-print+xml',
-    'application/vnd.qualcomm.brew-app-res',
-    'application/vnd.Quark.QuarkXPress',
-    'application/vnd.quobject-quoxdocument',
-    'application/vnd.radisys.moml+xml',
-    'application/vnd.radisys.msml-audit-conf+xml',
-    'application/vnd.radisys.msml-audit-conn+xml',
-    'application/vnd.radisys.msml-audit-dialog+xml',
-    'application/vnd.radisys.msml-audit-stream+xml',
-    'application/vnd.radisys.msml-audit+xml',
-    'application/vnd.radisys.msml-conf+xml',
-    'application/vnd.radisys.msml-dialog-base+xml',
-    'application/vnd.radisys.msml-dialog-fax-detect+xml',
-    'application/vnd.radisys.msml-dialog-fax-sendrecv+xml',
-    'application/vnd.radisys.msml-dialog-group+xml',
-    'application/vnd.radisys.msml-dialog-speech+xml',
-    'application/vnd.radisys.msml-dialog-transform+xml',
-    'application/vnd.radisys.msml-dialog+xml',
-    'application/vnd.radisys.msml+xml', 'application/vnd.rainstor.data',
-    'application/vnd.rapid', 'application/vnd.realvnc.bed',
-    'application/vnd.recordare.musicxml',
-    'application/vnd.recordare.musicxml+xml',
-    'application/vnd.RenLearn.rlprint', 'application/vnd.rig.cryptonote',
-    'application/vnd.route66.link66+xml', 'application/vnd.rs-274x',
-    'application/vnd.ruckus.download', 'application/vnd.s3sms',
-    'application/vnd.sailingtracker.track', 'application/vnd.sbm.cid',
-    'application/vnd.sbm.mid2', 'application/vnd.scribus',
-    'application/vnd.sealed.3df', 'application/vnd.sealed.csf',
-    'application/vnd.sealed.doc', 'application/vnd.sealed.eml',
-    'application/vnd.sealed.mht', 'application/vnd.sealed.net',
-    'application/vnd.sealed.ppt', 'application/vnd.sealed.tiff',
-    'application/vnd.sealed.xls',
-    'application/vnd.sealedmedia.softseal.html',
-    'application/vnd.sealedmedia.softseal.pdf', 'application/vnd.seemail',
-    'application/vnd.sema', 'application/vnd.semd', 'application/vnd.semf',
-    'application/vnd.shana.informed.formdata',
-    'application/vnd.shana.informed.formtemplate',
-    'application/vnd.shana.informed.interchange',
-    'application/vnd.shana.informed.package',
-    'application/vnd.SimTech-MindMapper', 'application/vnd.siren+json',
-    'application/vnd.smaf', 'application/vnd.smart.notebook',
-    'application/vnd.smart.teacher',
-    'application/vnd.software602.filler.form-xml-zip',
-    'application/vnd.software602.filler.form+xml',
-    'application/vnd.solent.sdkm+xml', 'application/vnd.spotfire.dxp',
-    'application/vnd.spotfire.sfs', 'application/vnd.sss-cod',
-    'application/vnd.sss-dtf', 'application/vnd.sss-ntf',
-    'application/vnd.stepmania.package',
-    'application/vnd.stepmania.stepchart', 'application/vnd.street-stream',
-    'application/vnd.sun.wadl+xml', 'application/vnd.sus-calendar',
-    'application/vnd.svd', 'application/vnd.swiftview-ics',
-    'application/vnd.syncml.dm.notification',
-    'application/vnd.syncml.dm+wbxml', 'application/vnd.syncml.dm+xml',
-    'application/vnd.syncml.dmddf+wbxml',
-    'application/vnd.syncml.dmddf+xml',
-    'application/vnd.syncml.dmtnds+wbxml',
-    'application/vnd.syncml.dmtnds+xml',
-    'application/vnd.syncml.ds.notification', 'application/vnd.syncml+xml',
-    'application/vnd.tao.intent-module-archive',
-    'application/vnd.tcpdump.pcap', 'application/vnd.tmd.mediaflex.api+xml',
-    'application/vnd.tmobile-livetv', 'application/vnd.trid.tpt',
-    'application/vnd.triscape.mxs', 'application/vnd.trueapp',
-    'application/vnd.truedoc', 'application/vnd.ubisoft.webplayer',
-    'application/vnd.ufdl', 'application/vnd.uiq.theme',
-    'application/vnd.umajin', 'application/vnd.unity',
-    'application/vnd.uoml+xml', 'application/vnd.uplanet.alert',
-    'application/vnd.uplanet.alert-wbxml',
-    'application/vnd.uplanet.bearer-choice',
-    'application/vnd.uplanet.bearer-choice-wbxml',
-    'application/vnd.uplanet.cacheop',
-    'application/vnd.uplanet.cacheop-wbxml',
-    'application/vnd.uplanet.channel',
-    'application/vnd.uplanet.channel-wbxml', 'application/vnd.uplanet.list',
-    'application/vnd.uplanet.list-wbxml', 'application/vnd.uplanet.listcmd',
-    'application/vnd.uplanet.listcmd-wbxml',
-    'application/vnd.uplanet.signal',
-    'application/vnd.valve.source.material', 'application/vnd.vcx',
-    'application/vnd.vd-study', 'application/vnd.vectorworks',
-    'application/vnd.verimatrix.vcas',
-    'application/vnd.vidsoft.vidconference', 'application/vnd.visio',
-    'application/vnd.visionary', 'application/vnd.vividence.scriptfile',
-    'application/vnd.vsf', 'application/vnd.wap.sic',
-    'application/vnd.wap.slc', 'application/vnd.wap.wbxml',
-    'application/vnd.wap.wmlc', 'application/vnd.wap.wmlscriptc',
-    'application/vnd.webturbo', 'application/vnd.wfa.p2p',
-    'application/vnd.wfa.wsc', 'application/vnd.windows.devicepairing',
-    'application/vnd.wmc', 'application/vnd.wmf.bootstrap',
-    'application/vnd.wolfram.mathematica',
-    'application/vnd.wolfram.mathematica.package',
-    'application/vnd.wolfram.player', 'application/vnd.wordperfect',
-    'application/vnd.wqd', 'application/vnd.wrq-hp3000-labelled',
-    'application/vnd.wt.stf', 'application/vnd.wv.csp+wbxml',
-    'application/vnd.wv.csp+xml', 'application/vnd.wv.ssp+xml',
-    'application/vnd.xacml+json', 'application/vnd.xara',
-    'application/vnd.xfdl', 'application/vnd.xfdl.webform',
-    'application/vnd.xmi+xml', 'application/vnd.xmpie.cpkg',
-    'application/vnd.xmpie.dpkg', 'application/vnd.xmpie.plan',
-    'application/vnd.xmpie.ppkg', 'application/vnd.xmpie.xlim',
-    'application/vnd.yamaha.hv-dic', 'application/vnd.yamaha.hv-script',
-    'application/vnd.yamaha.hv-voice',
-    'application/vnd.yamaha.openscoreformat',
-    'application/vnd.yamaha.openscoreformat.osfpvg+xml',
-    'application/vnd.yamaha.remote-setup',
-    'application/vnd.yamaha.smaf-audio',
-    'application/vnd.yamaha.smaf-phrase',
-    'application/vnd.yamaha.through-ngn',
-    'application/vnd.yamaha.tunnel-udpencap', 'application/vnd.yaoweme',
-    'application/vnd.yellowriver-custom-menu', 'application/vnd.zul',
-    'application/vnd.zzazz.deck+xml', 'application/voicexml+xml',
-    'application/vq-rtcpxr', 'application/watcherinfo+xml',
-    'application/whoispp-query', 'application/whoispp-response',
-    'application/widget', 'application/wita', 'application/wordperfect5.1',
-    'application/wsdl+xml', 'application/wspolicy+xml',
-    'application/x-www-form-urlencoded', 'application/x400-bp',
-    'application/xacml+xml', 'application/xcap-att+xml',
-    'application/xcap-caps+xml', 'application/xcap-diff+xml',
-    'application/xcap-el+xml', 'application/xcap-error+xml',
-    'application/xcap-ns+xml', 'application/xcon-conference-info-diff+xml',
-    'application/xcon-conference-info+xml', 'application/xenc+xml',
-    'application/xhtml-voice+xml', 'application/xhtml+xml',
-    'application/xml', 'application/xml-dtd',
-    'application/xml-external-parsed-entity', 'application/xml-patch+xml',
-    'application/xmpp+xml', 'application/xop+xml', 'application/xslt+xml',
-    'application/xv+xml', 'application/yang', 'application/yin+xml',
-    'application/zip', 'application/zlib'], 'audio': [
-    'audio/1d-interleaved-parityfec', 'audio/32kadpcm', 'audio/3gpp',
-    'audio/3gpp2', 'audio/ac3', 'audio/AMR', 'audio/AMR-WB',
-    'audio/amr-wb+', 'audio/aptx', 'audio/asc',
-    'audio/ATRAC-ADVANCED-LOSSLESS', 'audio/ATRAC-X', 'audio/ATRAC3',
-    'audio/basic', 'audio/BV16', 'audio/BV32', 'audio/clearmode',
-    'audio/CN', 'audio/DAT12', 'audio/dls', 'audio/dsr-es201108',
-    'audio/dsr-es202050', 'audio/dsr-es202211', 'audio/dsr-es202212',
-    'audio/DV', 'audio/DVI4', 'audio/eac3', 'audio/encaprtp', 'audio/EVRC',
-    'audio/EVRC-QCP', 'audio/EVRC0', 'audio/EVRC1', 'audio/EVRCB',
-    'audio/EVRCB0', 'audio/EVRCB1', 'audio/EVRCNW', 'audio/EVRCNW0',
-    'audio/EVRCNW1', 'audio/EVRCWB', 'audio/EVRCWB0', 'audio/EVRCWB1',
-    'audio/example', 'audio/fwdred', 'audio/G719', 'audio/G722',
-    'audio/G7221', 'audio/G723', 'audio/G726-16', 'audio/G726-24',
-    'audio/G726-32', 'audio/G726-40', 'audio/G728', 'audio/G729',
-    'audio/G7291', 'audio/G729D', 'audio/G729E', 'audio/GSM',
-    'audio/GSM-EFR', 'audio/GSM-HR-08', 'audio/iLBC', 'audio/ip-mr_v2.5',
-    'audio/L16', 'audio/L20', 'audio/L24', 'audio/L8', 'audio/LPC',
-    'audio/mobile-xmf', 'audio/mp4', 'audio/MP4A-LATM', 'audio/MPA',
-    'audio/mpa-robust', 'audio/mpeg', 'audio/mpeg4-generic', 'audio/ogg',
-    'audio/opus', 'audio/parityfec', 'audio/PCMA', 'audio/PCMA-WB',
-    'audio/PCMU', 'audio/PCMU-WB', 'audio/prs.sid', 'audio/QCELP',
-    'audio/raptorfec', 'audio/RED', 'audio/rtp-enc-aescm128',
-    'audio/rtp-midi', 'audio/rtploopback', 'audio/rtx', 'audio/SMV',
-    'audio/SMV-QCP', 'audio/SMV0', 'audio/sp-midi', 'audio/speex',
-    'audio/t140c', 'audio/t38', 'audio/telephone-event', 'audio/tone',
-    'audio/UEMCLIP', 'audio/ulpfec', 'audio/VDVI', 'audio/VMR-WB',
-    'audio/vnd.3gpp.iufp', 'audio/vnd.4SB', 'audio/vnd.audiokoz',
-    'audio/vnd.CELP', 'audio/vnd.cisco.nse', 'audio/vnd.cmles.radio-events',
-    'audio/vnd.cns.anp1', 'audio/vnd.cns.inf1', 'audio/vnd.dece.audio',
-    'audio/vnd.digital-winds', 'audio/vnd.dlna.adts',
-    'audio/vnd.dolby.heaac.1', 'audio/vnd.dolby.heaac.2',
-    'audio/vnd.dolby.mlp', 'audio/vnd.dolby.mps', 'audio/vnd.dolby.pl2',
-    'audio/vnd.dolby.pl2x', 'audio/vnd.dolby.pl2z',
-    'audio/vnd.dolby.pulse.1', 'audio/vnd.dra', 'audio/vnd.dts',
-    'audio/vnd.dts.hd', 'audio/vnd.dvb.file', 'audio/vnd.everad.plj',
-    'audio/vnd.hns.audio', 'audio/vnd.lucent.voice',
-    'audio/vnd.ms-playready.media.pya', 'audio/vnd.nokia.mobile-xmf',
-    'audio/vnd.nortel.vbk', 'audio/vnd.nuera.ecelp4800',
-    'audio/vnd.nuera.ecelp7470', 'audio/vnd.nuera.ecelp9600',
-    'audio/vnd.octel.sbc', 'audio/vnd.qcelp', 'audio/vnd.rhetorex.32kadpcm',
-    'audio/vnd.rip', 'audio/vnd.sealedmedia.softseal.mpeg',
-    'audio/vnd.vmx.cvsd', 'audio/vorbis', 'audio/vorbis-config'], 'image':
-    ['image/cgm', 'image/example', 'image/fits', 'image/g3fax', 'image/gif',
-    'image/ief', 'image/jp2', 'image/jpeg', 'image/jpm', 'image/jpx',
-    'image/ktx', 'image/naplps', 'image/png', 'image/prs.btif',
-    'image/prs.pti', 'image/pwg-raster', 'image/svg+xml', 'image/t38',
-    'image/tiff', 'image/tiff-fx', 'image/vnd.adobe.photoshop',
-    'image/vnd.airzip.accelerator.azv', 'image/vnd.cns.inf2',
-    'image/vnd.dece.graphic', 'image/vnd.djvu', 'image/vnd.dvb.subtitle',
-    'image/vnd.dwg', 'image/vnd.dxf', 'image/vnd.fastbidsheet',
-    'image/vnd.fpx', 'image/vnd.fst', 'image/vnd.fujixerox.edmics-mmr',
-    'image/vnd.fujixerox.edmics-rlc', 'image/vnd.globalgraphics.pgb',
-    'image/vnd.microsoft.icon', 'image/vnd.mix', 'image/vnd.ms-modi',
-    'image/vnd.net-fpx', 'image/vnd.radiance', 'image/vnd.sealed.png',
-    'image/vnd.sealedmedia.softseal.gif',
-    'image/vnd.sealedmedia.softseal.jpg', 'image/vnd.svf',
-    'image/vnd.tencent.tap', 'image/vnd.valve.source.texture',
-    'image/vnd.wap.wbmp', 'image/vnd.xiff', 'image/vnd.zbrush.pcx'],
-    'message': ['message/CPIM', 'message/delivery-status',
-    'message/disposition-notification', 'message/example',
-    'message/external-body', 'message/feedback-report', 'message/global',
-    'message/global-delivery-status',
-    'message/global-disposition-notification', 'message/global-headers',
-    'message/http', 'message/imdn+xml', 'message/news', 'message/partial',
-    'message/rfc822', 'message/s-http', 'message/sip', 'message/sipfrag',
-    'message/tracking-status', 'message/vnd.si.simp', 'message/vnd.wfa.wsc'
-    ], 'text': ['text/1d-interleaved-parityfec', 'text/cache-manifest',
-    'text/calendar', 'text/css', 'text/csv', 'text/csv-schema', 'text/dns',
-    'text/ecmascript', 'text/encaprtp', 'text/enriched', 'text/example',
-    'text/fwdred', 'text/grammar-ref-list', 'text/html', 'text/javascript',
-    'text/jcr-cnd', 'text/mizar', 'text/n3', 'text/parameters',
-    'text/parityfec', 'text/plain', 'text/provenance-notation',
-    'text/prs.fallenstein.rst', 'text/prs.lines.tag', 'text/raptorfec',
-    'text/RED', 'text/rfc822-headers', 'text/richtext', 'text/rtf',
-    'text/rtp-enc-aescm128', 'text/rtploopback', 'text/rtx', 'text/sgml',
-    'text/t140', 'text/tab-separated-values', 'text/troff', 'text/turtle',
-    'text/ulpfec', 'text/uri-list', 'text/vcard', 'text/vnd.a',
-    'text/vnd.abc', 'text/vnd.curl', 'text/vnd.debian.copyright',
-    'text/vnd.DMClientScript', 'text/vnd.dvb.subtitle',
-    'text/vnd.esmertec.theme-descriptor', 'text/vnd.fly',
-    'text/vnd.fmi.flexstor', 'text/vnd.graphviz', 'text/vnd.in3d.3dml',
-    'text/vnd.in3d.spot', 'text/vnd.IPTC.NewsML', 'text/vnd.IPTC.NITF',
-    'text/vnd.latex-z', 'text/vnd.motorola.reflex',
-    'text/vnd.ms-mediapackage', 'text/vnd.net2phone.commcenter.command',
-    'text/vnd.radisys.msml-basic-layout',
-    'text/vnd.si.uricatalogue - OBSOLETED by request',
-    'text/vnd.sun.j2me.app-descriptor', 'text/vnd.trolltech.linguist',
-    'text/vnd.wap.si', 'text/vnd.wap.sl', 'text/vnd.wap.wml',
-    'text/vnd.wap.wmlscript', 'text/xml', 'text/xml-external-parsed-entity'
-    ], 'video': ['video/1d-interleaved-parityfec', 'video/3gpp',
-    'video/3gpp-tt', 'video/3gpp2', 'video/BMPEG', 'video/BT656',
-    'video/CelB', 'video/DV', 'video/encaprtp', 'video/example',
-    'video/H261', 'video/H263', 'video/H263-1998', 'video/H263-2000',
-    'video/H264', 'video/H264-RCDO', 'video/H264-SVC', 'video/iso.segment',
-    'video/JPEG', 'video/jpeg2000', 'video/mj2', 'video/MP1S', 'video/MP2P',
-    'video/MP2T', 'video/mp4', 'video/MP4V-ES', 'video/mpeg',
-    'video/mpeg4-generic', 'video/MPV', 'video/nv', 'video/ogg',
-    'video/parityfec', 'video/pointer', 'video/quicktime',
-    'video/raptorfec', 'video/raw', 'video/rtp-enc-aescm128',
-    'video/rtploopback', 'video/rtx', 'video/SMPTE292M', 'video/ulpfec',
-    'video/vc1', 'video/vnd.CCTV', 'video/vnd.dece.hd',
-    'video/vnd.dece.mobile', 'video/vnd.dece.mp4', 'video/vnd.dece.pd',
-    'video/vnd.dece.sd', 'video/vnd.dece.video', 'video/vnd.directv.mpeg',
-    'video/vnd.directv.mpeg-tts', 'video/vnd.dlna.mpeg-tts',
-    'video/vnd.dvb.file', 'video/vnd.fvt', 'video/vnd.hns.video',
-    'video/vnd.iptvforum.1dparityfec-1010',
-    'video/vnd.iptvforum.1dparityfec-2005',
-    'video/vnd.iptvforum.2dparityfec-1010',
-    'video/vnd.iptvforum.2dparityfec-2005', 'video/vnd.iptvforum.ttsavc',
-    'video/vnd.iptvforum.ttsmpeg2', 'video/vnd.motorola.video',
-    'video/vnd.motorola.videop', 'video/vnd.mpegurl',
-    'video/vnd.ms-playready.media.pyv',
-    'video/vnd.nokia.interleaved-multimedia', 'video/vnd.nokia.videovoip',
-    'video/vnd.objectvideo', 'video/vnd.radgamettools.bink',
-    'video/vnd.radgamettools.smacker', 'video/vnd.sealed.mpeg1',
-    'video/vnd.sealed.mpeg4', 'video/vnd.sealed.swf',
-    'video/vnd.sealedmedia.softseal.mov', 'video/vnd.uvvu.mp4',
-    'video/vnd.vivo']}
-FILENAMES = ['as', 'his', 'that', 'he', 'was', 'for', 'on', 'are', 'with',
-    'they', 'be', 'at', 'one', 'have', 'this', 'from', 'by', 'hot', 'word',
-    'but', 'what', 'some', 'is', 'it', 'you', 'or', 'had', 'the', 'of',
-    'to', 'and', 'in', 'we', 'can', 'out', 'other', 'were', 'which', 'do',
-    'their', 'time', 'if', 'will', 'how', 'said', 'an', 'each', 'tell',
-    'does', 'set', 'three', 'want', 'air', 'well', 'also', 'play', 'small',
-    'end', 'put', 'home', 'read', 'hand', 'port', 'large', 'spell', 'add',
-    'even', 'land', 'here', 'must', 'big', 'high', 'such', 'follow', 'act',
-    'why', 'ask', 'men', 'change', 'went', 'light', 'kind', 'off', 'need',
-    'house', 'picture', 'try', 'us', 'again', 'animal', 'point', 'mother',
-    'world', 'near', 'build', 'self', 'earth', 'father', 'any', 'new',
-    'work', 'part', 'take', 'get', 'place', 'made', 'live', 'where',
-    'after', 'back', 'little', 'only', 'round', 'man', 'year', 'came',
-    'show', 'every', 'good', 'me', 'give', 'our', 'under', 'name', 'very',
-    'through', 'just', 'form', 'sentence', 'great', 'think', 'say', 'help',
-    'low', 'line', 'differ', 'turn', 'cause', 'much', 'mean', 'before',
-    'move', 'right', 'boy', 'old', 'too', 'same', 'she', 'all', 'there',
-    'when', 'up', 'use', 'your', 'way', 'about', 'many', 'then', 'them',
-    'write', 'would', 'like', 'so', 'these', 'her', 'long', 'make', 'thing',
-    'see', 'him', 'two', 'has', 'look', 'more', 'day', 'could', 'go',
-    'come', 'did', 'number', 'sound', 'no', 'most', 'people', 'my', 'over',
-    'know', 'water', 'than', 'call', 'first', 'who', 'may', 'down', 'side',
-    'been', 'now', 'find', 'head', 'stand', 'own', 'page', 'should',
-    'country', 'found', 'answer', 'school', 'grow', 'study', 'still',
-    'learn', 'plant', 'cover', 'food', 'sun', 'four', 'between', 'state',
-    'keep', 'eye', 'never', 'last', 'let', 'thought', 'city', 'tree',
-    'cross', 'farm', 'hard', 'start', 'might', 'story', 'saw', 'far', 'sea',
-    'draw', 'left', 'late', 'run', 'don’t', 'while', 'press', 'close',
-    'night', 'real', 'life', 'few', 'north', 'book', 'carry', 'took',
-    'science', 'eat', 'room', 'friend', 'began', 'idea', 'fish', 'mountain',
-    'stop', 'once', 'base', 'hear', 'horse', 'cut', 'sure', 'watch',
-    'color', 'face', 'wood', 'main', 'open', 'seem', 'together', 'next',
-    'white', 'children', 'begin', 'got', 'walk', 'example', 'ease', 'paper',
-    'group', 'always', 'music', 'those', 'both', 'mark', 'often', 'letter',
-    'until', 'mile', 'river', 'car', 'feet', 'care', 'second', 'enough',
-    'plain', 'girl', 'usual', 'young', 'ready', 'above', 'ever', 'red',
-    'list', 'though', 'feel', 'talk', 'bird', 'soon', 'body', 'dog',
-    'family', 'direct', 'pose', 'leave', 'song', 'measure', 'door',
-    'product', 'black', 'short', 'numeral', 'class', 'wind', 'question',
-    'happen', 'complete', 'ship', 'area', 'half', 'rock', 'order', 'fire',
-    'south', 'problem', 'piece', 'told', 'knew', 'pass', 'since', 'top',
-    'whole', 'king', 'street', 'inch', 'multiply', 'nothing', 'course',
-    'stay', 'wheel', 'full', 'force', 'blue', 'object', 'decide', 'surface',
-    'deep', 'moon', 'island', 'foot', 'system', 'busy', 'test', 'record',
-    'boat', 'common', 'gold', 'possible', 'plane', 'stead', 'dry', 'wonder',
-    'laugh', 'thousand', 'ago', 'ran', 'check', 'game', 'shape', 'equate',
-    'hot', 'miss', 'brought', 'heat', 'snow', 'tire', 'bring', 'yes',
-    'distant', 'fill', 'east', 'paint', 'language', 'among', 'unit',
-    'power', 'town', 'fine', 'certain', 'fly', 'fall', 'lead', 'cry',
-    'dark', 'machine', 'note', 'wait', 'plan', 'figure', 'star', 'box',
-    'noun', 'field', 'rest', 'correct', 'able', 'pound', 'done', 'beauty',
-    'drive', 'stood', 'contain', 'front', 'teach', 'week', 'final', 'gave',
-    'green', 'oh', 'quick', 'develop', 'ocean', 'warm', 'free', 'minute',
-    'strong', 'special', 'mind', 'behind', 'clear', 'tail', 'produce',
-    'fact', 'space', 'heard', 'best', 'hour', 'better', 'true', 'during',
-    'hundred', 'five', 'remember', 'step', 'early', 'hold', 'west',
-    'ground', 'interest', 'reach', 'fast', 'verb', 'sing', 'listen', 'six',
-    'table', 'travel', 'less', 'morning', 'ten', 'simple', 'several',
-    'vowel', 'toward', 'war', 'lay', 'against', 'pattern', 'slow', 'center',
-    'love', 'person', 'money', 'serve', 'appear', 'road', 'map', 'rain',
-    'rule', 'govern', 'pull', 'cold', 'notice', 'voice', 'energy', 'hunt',
-    'probable', 'bed', 'brother', 'egg', 'ride', 'cell', 'believe',
-    'perhaps', 'pick', 'sudden', 'count', 'square', 'reason', 'length',
-    'represent', 'art', 'subject', 'region', 'size', 'vary', 'settle',
-    'speak', 'weight', 'general', 'ice', 'matter', 'circle', 'pair',
-    'include', 'divide', 'syllable', 'felt', 'grand', 'ball', 'yet', 'wave',
-    'drop', 'heart', 'am', 'present', 'heavy', 'dance', 'engine',
-    'position', 'arm', 'wide', 'sail', 'material', 'fraction', 'forest',
-    'sit', 'race', 'window', 'store', 'summer', 'train', 'sleep', 'prove',
-    'lone', 'leg', 'exercise', 'wall', 'catch', 'mount', 'wish', 'sky',
-    'board', 'joy', 'winter', 'sat', 'written', 'wild', 'instrument',
-    'kept', 'glass', 'grass', 'cow', 'job', 'edge', 'sign', 'visit', 'past',
-    'soft', 'fun', 'bright', 'gas', 'weather', 'month', 'million', 'bear',
-    'finish', 'happy', 'hope', 'flower', 'clothe', 'strange', 'gone',
-    'trade', 'melody', 'trip', 'office', 'receive', 'row', 'mouth', 'exact',
-    'symbol', 'die', 'least', 'trouble', 'shout', 'except', 'wrote', 'seed',
-    'tone', 'join', 'suggest', 'clean', 'break', 'lady', 'yard', 'rise',
-    'bad', 'blow', 'oil', 'blood', 'touch', 'grew', 'cent', 'mix', 'team',
-    'wire', 'cost', 'lost', 'brown', 'wear', 'garden', 'equal', 'sent',
-    'choose', 'fell', 'fit', 'flow', 'fair', 'bank', 'collect', 'save',
-    'control', 'decimal', 'ear', 'else', 'quite', 'broke', 'case', 'middle',
-    'kill', 'son', 'lake', 'moment', 'scale', 'loud', 'spring', 'observe',
-    'child', 'straight', 'consonant', 'nation', 'dictionary', 'milk',
-    'speed', 'method', 'organ', 'pay', 'age', 'section', 'dress', 'cloud',
-    'surprise', 'quiet', 'stone', 'tiny', 'climb', 'cool', 'design', 'poor',
-    'lot', 'experiment', 'bottom', 'key', 'iron', 'single', 'stick', 'flat',
-    'twenty', 'skin', 'smile', 'crease', 'hole', 'jump', 'baby', 'eight',
-    'village', 'meet', 'root', 'buy', 'raise', 'solve', 'metal', 'whether',
-    'push', 'seven', 'paragraph', 'third', 'shall', 'held', 'hair',
-    'describe', 'cook', 'floor', 'either', 'result', 'burn', 'hill', 'safe',
-    'cat', 'century', 'consider', 'type', 'law', 'bit', 'coast', 'copy',
-    'phrase', 'silent', 'tall', 'sand', 'soil', 'roll', 'temperature',
-    'finger', 'industry', 'value', 'fight', 'lie', 'beat', 'excite',
-    'natural', 'view', 'sense', 'capital', 'won’t', 'chair', 'danger',
-    'fruit', 'rich', 'thick', 'soldier', 'process', 'operate', 'practice',
-    'separate', 'difficult', 'doctor', 'please', 'protect', 'noon', 'crop',
-    'modern', 'element', 'hit', 'student', 'corner', 'party', 'supply',
-    'whose', 'locate', 'ring', 'character', 'insect', 'caught', 'period',
-    'indicate', 'radio', 'spoke', 'atom', 'human', 'history', 'effect',
-    'electric', 'expect', 'bone', 'rail', 'imagine', 'provide', 'agree',
-    'thus', 'gentle', 'woman', 'captain', 'guess', 'necessary', 'sharp',
-    'wing', 'create', 'neighbor', 'wash', 'bat', 'rather', 'crowd', 'corn',
-    'compare', 'poem', 'string', 'bell', 'depend', 'meat', 'rub', 'tube',
-    'famous', 'dollar', 'stream', 'fear', 'sight', 'thin', 'triangle',
-    'planet', 'hurry', 'chief', 'colony', 'clock', 'mine', 'tie', 'enter',
-    'major', 'fresh', 'search', 'send', 'yellow', 'gun', 'allow', 'print',
-    'dead', 'spot', 'desert', 'suit', 'current', 'lift', 'rose', 'arrive',
-    'master', 'track', 'parent', 'shore', 'division', 'sheet', 'substance',
-    'favor', 'connect', 'post', 'spend', 'chord', 'fat', 'glad', 'original',
-    'share', 'station', 'dad', 'bread', 'charge', 'proper', 'bar', 'offer',
-    'segment', 'slave', 'duck', 'instant', 'market', 'degree', 'populate',
-    'chick', 'dear', 'enemy', 'reply', 'drink', 'occur', 'support',
-    'speech', 'nature', 'range', 'steam', 'motion', 'path', 'liquid', 'log',
-    'meant', 'quotient', 'teeth', 'shell', 'neck', 'oxygen', 'sugar',
-    'death', 'pretty', 'skill', 'women', 'season', 'solution', 'magnet',
-    'silver', 'thank', 'branch', 'match', 'suffix', 'especially', 'fig',
-    'afraid', 'huge', 'sister', 'steel', 'discuss', 'forward', 'similar',
-    'guide', 'experience', 'score', 'apple', 'bought', 'led', 'pitch',
-    'coat', 'mass', 'card', 'band', 'rope', 'slip', 'win', 'dream',
-    'evening', 'condition', 'feed', 'tool', 'total', 'basic', 'smell',
-    'valley', 'nor', 'double', 'seat', 'continue', 'block', 'chart', 'hat',
-    'sell', 'success', 'company', 'subtract', 'event', 'particular', 'deal',
-    'swim', 'term', 'opposite', 'wife', 'shoe', 'shoulder', 'spread',
-    'arrange', 'camp', 'invent', 'cotton', 'born', 'determine', 'quart',
-    'nine', 'truck', 'noise', 'level', 'chance', 'gather', 'shop',
-    'stretch', 'throw', 'shine', 'property', 'column', 'molecule', 'select',
-    'wrong', 'gray', 'repeat', 'require', 'broad', 'prepare', 'salt',
-    'nose', 'plural', 'anger', 'claim', 'continent']
+
+EXTENSIONS = {
+    "source": [
+        ".a",
+        ".asm",
+        ".asp",
+        ".awk",
+        ".c",
+        ".class",
+        ".cpp",
+        ".pl",
+        ".js",
+        ".java",
+        ".clj",
+        ".py",
+        ".rb",
+        ".hs",
+        ".erl",
+        ".rs",
+        ".swift",
+        ".html",
+        ".json",
+        ".xml",
+        ".css",
+        ".php",
+        ".jl",
+        ".r",
+        ".cs",
+        "d",
+        ".lisp",
+        ".cl",
+        ".go",
+        ".h",
+        ".scala",
+        ".sc",
+        ".ts",
+        ".sql",
+    ],
+    "text": [
+        ".doc",
+        ".docx",
+        ".log",
+        ".rtf",
+        ".md",
+        ".pdf",
+        ".odt",
+        ".txt",
+    ],
+    "data": [
+        ".csv",
+        ".dat",
+        ".ged",
+        ".pps",
+        ".ppt",
+        ".pptx",
+    ],
+    "audio": [
+        ".flac",
+        ".mp3",
+        ".m3u",
+        ".m4a",
+        ".wav",
+        ".wma",
+    ],
+    "video": [
+        ".3gp",
+        ".mp4",
+        ".abi",
+        ".m4v",
+        ".mov",
+        ".mpg",
+        ".wmv",
+    ],
+    "image": [
+        ".bmp",
+        ".jpg",
+        ".jpeg",
+        ".png",
+        ".svg",
+    ],
+    "executable": [
+        ".apk",
+        ".app",
+        ".bat",
+        ".jar",
+        ".com",
+        ".exe",
+    ],
+    "compressed": [
+        ".7z",
+        ".war",
+        ".zip",
+        ".tar.gz",
+        ".tar.xz",
+        ".rar",
+    ],
+}
+
+MIME_TYPES = {
+    "application": [
+        "application/1d-interleaved-parityfec",
+        "application/3gpdash-qoe-report+xml",
+        "application/3gpp-ims+xml",
+        "application/A2L",
+        "application/activemessage",
+        "application/alto-costmap+json",
+        "application/alto-costmapfilter+json",
+        "application/alto-directory+json",
+        "application/alto-endpointcost+json",
+        "application/alto-endpointcostparams+json",
+        "application/alto-endpointprop+json",
+        "application/alto-endpointpropparams+json",
+        "application/alto-error+json",
+        "application/alto-networkmap+json",
+        "application/alto-networkmapfilter+json",
+        "application/AML",
+        "application/andrew-inset",
+        "application/applefile",
+        "application/ATF",
+        "application/ATFX",
+        "application/atom+xml",
+        "application/atomcat+xml",
+        "application/atomdeleted+xml",
+        "application/atomicmail",
+        "application/atomsvc+xml",
+        "application/ATXML",
+        "application/auth-policy+xml",
+        "application/bacnet-xdd+zip",
+        "application/batch-SMTP",
+        "application/beep+xml",
+        "application/calendar+json",
+        "application/calendar+xml",
+        "application/call-completion",
+        "application/cals-1840",
+        "application/cbor",
+        "application/ccmp+xml",
+        "application/ccxml+xml",
+        "application/CDFX+XML",
+        "application/cdmi-capability",
+        "application/cdmi-container",
+        "application/cdmi-domain",
+        "application/cdmi-object",
+        "application/cdmi-queue",
+        "application/CEA",
+        "application/cea-2018+xml",
+        "application/cellml+xml",
+        "application/cfw",
+        "application/cms",
+        "application/cnrp+xml",
+        "application/coap-group+json",
+        "application/commonground",
+        "application/conference-info+xml",
+        "application/cpl+xml",
+        "application/csrattrs",
+        "application/csta+xml",
+        "application/CSTAdata+xml",
+        "application/cybercash",
+        "application/dash+xml",
+        "application/dashdelta",
+        "application/davmount+xml",
+        "application/dca-rft",
+        "application/DCD",
+        "application/dec-dx",
+        "application/dialog-info+xml",
+        "application/dicom",
+        "application/DII",
+        "application/DIT",
+        "application/dns",
+        "application/dskpp+xml",
+        "application/dssc+der",
+        "application/dssc+xml",
+        "application/dvcs",
+        "application/ecmascript",
+        "application/EDI-consent",
+        "application/EDI-X12",
+        "application/EDIFACT",
+        "application/emma+xml",
+        "application/emotionml+xml",
+        "application/encaprtp",
+        "application/epp+xml",
+        "application/epub+zip",
+        "application/eshop",
+        "application/example",
+        "application/exi",
+        "application/fastinfoset",
+        "application/fastsoap",
+        "application/fdt+xml",
+        "application/fits",
+        "application/font-sfnt",
+        "application/font-tdpfr",
+        "application/font-woff",
+        "application/framework-attributes+xml",
+        "application/gzip",
+        "application/H224",
+        "application/held+xml",
+        "application/http",
+        "application/hyperstudio",
+        "application/ibe-key-request+xml",
+        "application/ibe-pkg-reply+xml",
+        "application/ibe-pp-data",
+        "application/iges",
+        "application/im-iscomposing+xml",
+        "application/index",
+        "application/index.cmd",
+        "application/index.obj",
+        "application/index.response",
+        "application/index.vnd",
+        "application/inkml+xml",
+        "application/iotp",
+        "application/ipfix",
+        "application/ipp",
+        "application/isup",
+        "application/its+xml",
+        "application/javascript",
+        "application/jose",
+        "application/jose+json",
+        "application/jrd+json",
+        "application/json",
+        "application/json-patch+json",
+        "application/json-seq",
+        "application/jwk-set+json",
+        "application/jwk+json",
+        "application/jwt",
+        "application/kpml-request+xml",
+        "application/kpml-response+xml",
+        "application/ld+json",
+        "application/link-format",
+        "application/load-control+xml",
+        "application/lost+xml",
+        "application/lostsync+xml",
+        "application/LXF",
+        "application/mac-binhex40",
+        "application/macwriteii",
+        "application/mads+xml",
+        "application/marc",
+        "application/marcxml+xml",
+        "application/mathematica",
+        "application/mathml-content+xml",
+        "application/mathml-presentation+xml",
+        "application/mathml+xml",
+        "application/mbms-associated-procedure-description+xml",
+        "application/mbms-deregister+xml",
+        "application/mbms-envelope+xml",
+        "application/mbms-msk-response+xml",
+        "application/mbms-msk+xml",
+        "application/mbms-protection-description+xml",
+        "application/mbms-reception-report+xml",
+        "application/mbms-register-response+xml",
+        "application/mbms-register+xml",
+        "application/mbms-schedule+xml",
+        "application/mbms-user-service-description+xml",
+        "application/mbox",
+        "application/media_control+xml",
+        "application/media-policy-dataset+xml",
+        "application/mediaservercontrol+xml",
+        "application/merge-patch+json",
+        "application/metalink4+xml",
+        "application/mets+xml",
+        "application/MF4",
+        "application/mikey",
+        "application/mods+xml",
+        "application/moss-keys",
+        "application/moss-signature",
+        "application/mosskey-data",
+        "application/mosskey-request",
+        "application/mp21",
+        "application/mp4",
+        "application/mpeg4-generic",
+        "application/mpeg4-iod",
+        "application/mpeg4-iod-xmt",
+        "application/mrb-consumer+xml",
+        "application/mrb-publish+xml",
+        "application/msc-ivr+xml",
+        "application/msc-mixer+xml",
+        "application/msword",
+        "application/mxf",
+        "application/nasdata",
+        "application/news-checkgroups",
+        "application/news-groupinfo",
+        "application/news-transmission",
+        "application/nlsml+xml",
+        "application/nss",
+        "application/ocsp-request",
+        "application/ocsp-response",
+        "application/octet-stream",
+        "application/oda",
+        "application/ODX",
+        "application/oebps-package+xml",
+        "application/ogg",
+        "application/oxps",
+        "application/p2p-overlay+xml",
+        "application/parityfec",
+        "application/patch-ops-error+xml",
+        "application/pdf",
+        "application/PDX",
+        "application/pgp-encrypted",
+        "application/pgp-keys",
+        "application/pgp-signature",
+        "application/pidf-diff+xml",
+        "application/pidf+xml",
+        "application/pkcs10",
+        "application/pkcs7-mime",
+        "application/pkcs7-signature",
+        "application/pkcs8",
+        "application/pkix-attr-cert",
+        "application/pkix-cert",
+        "application/pkix-crl",
+        "application/pkix-pkipath",
+        "application/pkixcmp",
+        "application/pls+xml",
+        "application/poc-settings+xml",
+        "application/postscript",
+        "application/provenance+xml",
+        "application/prs.alvestrand.titrax-sheet",
+        "application/prs.cww",
+        "application/prs.hpub+zip",
+        "application/prs.nprend",
+        "application/prs.plucker",
+        "application/prs.rdf-xml-crypt",
+        "application/prs.xsf+xml",
+        "application/pskc+xml",
+        "application/qsig",
+        "application/raptorfec",
+        "application/rdap+json",
+        "application/rdf+xml",
+        "application/reginfo+xml",
+        "application/relax-ng-compact-syntax",
+        "application/remote-printing",
+        "application/reputon+json",
+        "application/resource-lists-diff+xml",
+        "application/resource-lists+xml",
+        "application/riscos",
+        "application/rlmi+xml",
+        "application/rls-services+xml",
+        "application/rpki-ghostbusters",
+        "application/rpki-manifest",
+        "application/rpki-roa",
+        "application/rpki-updown",
+        "application/rtf",
+        "application/rtploopback",
+        "application/rtx",
+        "application/samlassertion+xml",
+        "application/samlmetadata+xml",
+        "application/sbml+xml",
+        "application/scaip+xml",
+        "application/scvp-cv-request",
+        "application/scvp-cv-response",
+        "application/scvp-vp-request",
+        "application/scvp-vp-response",
+        "application/sdp",
+        "application/sep-exi",
+        "application/sep+xml",
+        "application/session-info",
+        "application/set-payment",
+        "application/set-payment-initiation",
+        "application/set-registration",
+        "application/set-registration-initiation",
+        "application/sgml",
+        "application/sgml-open-catalog",
+        "application/shf+xml",
+        "application/sieve",
+        "application/simple-filter+xml",
+        "application/simple-message-summary",
+        "application/simpleSymbolContainer",
+        "application/slate",
+        "application/smil - OBSOLETED in favor of application/smil+xml",
+        "application/smil+xml",
+        "application/smpte336m",
+        "application/soap+fastinfoset",
+        "application/soap+xml",
+        "application/sparql-query",
+        "application/sparql-results+xml",
+        "application/spirits-event+xml",
+        "application/sql",
+        "application/srgs",
+        "application/srgs+xml",
+        "application/sru+xml",
+        "application/ssml+xml",
+        "application/tamp-apex-update",
+        "application/tamp-apex-update-confirm",
+        "application/tamp-community-update",
+        "application/tamp-community-update-confirm",
+        "application/tamp-error",
+        "application/tamp-sequence-adjust",
+        "application/tamp-sequence-adjust-confirm",
+        "application/tamp-status-query",
+        "application/tamp-status-response",
+        "application/tamp-update",
+        "application/tamp-update-confirm",
+        "application/tei+xml",
+        "application/thraud+xml",
+        "application/timestamp-query",
+        "application/timestamp-reply",
+        "application/timestamped-data",
+        "application/ttml+xml",
+        "application/tve-trigger",
+        "application/ulpfec",
+        "application/urc-grpsheet+xml",
+        "application/urc-ressheet+xml",
+        "application/urc-targetdesc+xml",
+        "application/urc-uisocketdesc+xml",
+        "application/vcard+json",
+        "application/vcard+xml",
+        "application/vemmi",
+        "application/vnd.3gpp.bsf+xml",
+        "application/vnd.3gpp.pic-bw-large",
+        "application/vnd.3gpp.pic-bw-small",
+        "application/vnd.3gpp.pic-bw-var",
+        "application/vnd.3gpp.sms",
+        "application/vnd.3gpp2.bcmcsinfo+xml",
+        "application/vnd.3gpp2.sms",
+        "application/vnd.3gpp2.tcap",
+        "application/vnd.3M.Post-it-Notes",
+        "application/vnd.accpac.simply.aso",
+        "application/vnd.accpac.simply.imp",
+        "application/vnd.acucobol",
+        "application/vnd.acucorp",
+        "application/vnd.adobe.flash.movie",
+        "application/vnd.adobe.formscentral.fcdt",
+        "application/vnd.adobe.fxp",
+        "application/vnd.adobe.partial-upload",
+        "application/vnd.adobe.xdp+xml",
+        "application/vnd.adobe.xfdf",
+        "application/vnd.aether.imp",
+        "application/vnd.ah-barcode",
+        "application/vnd.ahead.space",
+        "application/vnd.airzip.filesecure.azf",
+        "application/vnd.airzip.filesecure.azs",
+        "application/vnd.americandynamics.acc",
+        "application/vnd.amiga.ami",
+        "application/vnd.amundsen.maze+xml",
+        "application/vnd.anser-web-certificate-issue-initiation",
+        "application/vnd.antix.game-component",
+        "application/vnd.apache.thrift.binary",
+        "application/vnd.apache.thrift.compact",
+        "application/vnd.apache.thrift.json",
+        "application/vnd.api+json",
+        "application/vnd.apple.installer+xml",
+        "application/vnd.apple.mpegurl",
+        "application/vnd.aristanetworks.swi",
+        "application/vnd.artsquare",
+        "application/vnd.astraea-software.iota",
+        "application/vnd.audiograph",
+        "application/vnd.autopackage",
+        "application/vnd.avistar+xml",
+        "application/vnd.balsamiq.bmml+xml",
+        "application/vnd.bekitzur-stech+json",
+        "application/vnd.blueice.multipass",
+        "application/vnd.bluetooth.ep.oob",
+        "application/vnd.bluetooth.le.oob",
+        "application/vnd.bmi",
+        "application/vnd.businessobjects",
+        "application/vnd.cab-jscript",
+        "application/vnd.canon-cpdl",
+        "application/vnd.canon-lips",
+        "application/vnd.cendio.thinlinc.clientconf",
+        "application/vnd.century-systems.tcp_stream",
+        "application/vnd.chemdraw+xml",
+        "application/vnd.chipnuts.karaoke-mmd",
+        "application/vnd.cinderella",
+        "application/vnd.cirpack.isdn-ext",
+        "application/vnd.citationstyles.style+xml",
+        "application/vnd.claymore",
+        "application/vnd.cloanto.rp9",
+        "application/vnd.clonk.c4group",
+        "application/vnd.cluetrust.cartomobile-config",
+        "application/vnd.cluetrust.cartomobile-config-pkg",
+        "application/vnd.coffeescript",
+        "application/vnd.collection.doc+json",
+        "application/vnd.collection.next+json",
+        "application/vnd.collection+json",
+        "application/vnd.commerce-battelle",
+        "application/vnd.commonspace",
+        "application/vnd.contact.cmsg",
+        "application/vnd.cosmocaller",
+        "application/vnd.crick.clicker",
+        "application/vnd.crick.clicker.keyboard",
+        "application/vnd.crick.clicker.palette",
+        "application/vnd.crick.clicker.template",
+        "application/vnd.crick.clicker.wordbank",
+        "application/vnd.criticaltools.wbs+xml",
+        "application/vnd.ctc-posml",
+        "application/vnd.ctct.ws+xml",
+        "application/vnd.cups-pdf",
+        "application/vnd.cups-postscript",
+        "application/vnd.cups-ppd",
+        "application/vnd.cups-raster",
+        "application/vnd.cups-raw",
+        "application/vnd.curl",
+        "application/vnd.cyan.dean.root+xml",
+        "application/vnd.cybank",
+        "application/vnd.dart",
+        "application/vnd.data-vision.rdz",
+        "application/vnd.debian.binary-package",
+        "application/vnd.dece.data",
+        "application/vnd.dece.ttml+xml",
+        "application/vnd.dece.unspecified",
+        "application/vnd.dece.zip",
+        "application/vnd.denovo.fcselayout-link",
+        "application/vnd.desmume.movie",
+        "application/vnd.dir-bi.plate-dl-nosuffix",
+        "application/vnd.dm.delegation+xml",
+        "application/vnd.dna_sequence",
+        "application/vnd.document+json",
+        "application/vnd.dolby.mobile.1",
+        "application/vnd.dolby.mobile.2",
+        "application/vnd.doremir.scorecloud-binary-document",
+        "application/vnd.dpgraph",
+        "application/vnd.dreamfactory",
+        "application/vnd.dtg.local",
+        "application/vnd.dtg.local.flash",
+        "application/vnd.dtg.local.html",
+        "application/vnd.dvb.ait",
+        "application/vnd.dvb.dvbj",
+        "application/vnd.dvb.esgcontainer",
+        "application/vnd.dvb.ipdcdftnotifaccess",
+        "application/vnd.dvb.ipdcesgaccess",
+        "application/vnd.dvb.ipdcesgaccess2",
+        "application/vnd.dvb.ipdcesgpdd",
+        "application/vnd.dvb.ipdcroaming",
+        "application/vnd.dvb.iptv.alfec-base",
+        "application/vnd.dvb.iptv.alfec-enhancement",
+        "application/vnd.dvb.notif-aggregate-root+xml",
+        "application/vnd.dvb.notif-container+xml",
+        "application/vnd.dvb.notif-generic+xml",
+        "application/vnd.dvb.notif-ia-msglist+xml",
+        "application/vnd.dvb.notif-ia-registration-request+xml",
+        "application/vnd.dvb.notif-ia-registration-response+xml",
+        "application/vnd.dvb.notif-init+xml",
+        "application/vnd.dvb.pfr",
+        "application/vnd.dvb.service",
+        "application/vnd.dxr",
+        "application/vnd.dynageo",
+        "application/vnd.dzr",
+        "application/vnd.easykaraoke.cdgdownload",
+        "application/vnd.ecdis-update",
+        "application/vnd.ecowin.chart",
+        "application/vnd.ecowin.filerequest",
+        "application/vnd.ecowin.fileupdate",
+        "application/vnd.ecowin.series",
+        "application/vnd.ecowin.seriesrequest",
+        "application/vnd.ecowin.seriesupdate",
+        "application/vnd.emclient.accessrequest+xml",
+        "application/vnd.enliven",
+        "application/vnd.enphase.envoy",
+        "application/vnd.eprints.data+xml",
+        "application/vnd.epson.esf",
+        "application/vnd.epson.msf",
+        "application/vnd.epson.quickanime",
+        "application/vnd.epson.salt",
+        "application/vnd.epson.ssf",
+        "application/vnd.ericsson.quickcall",
+        "application/vnd.eszigno3+xml",
+        "application/vnd.etsi.aoc+xml",
+        "application/vnd.etsi.asic-e+zip",
+        "application/vnd.etsi.asic-s+zip",
+        "application/vnd.etsi.cug+xml",
+        "application/vnd.etsi.iptvcommand+xml",
+        "application/vnd.etsi.iptvdiscovery+xml",
+        "application/vnd.etsi.iptvprofile+xml",
+        "application/vnd.etsi.iptvsad-bc+xml",
+        "application/vnd.etsi.iptvsad-cod+xml",
+        "application/vnd.etsi.iptvsad-npvr+xml",
+        "application/vnd.etsi.iptvservice+xml",
+        "application/vnd.etsi.iptvsync+xml",
+        "application/vnd.etsi.iptvueprofile+xml",
+        "application/vnd.etsi.mcid+xml",
+        "application/vnd.etsi.mheg5",
+        "application/vnd.etsi.overload-control-policy-dataset+xml",
+        "application/vnd.etsi.pstn+xml",
+        "application/vnd.etsi.sci+xml",
+        "application/vnd.etsi.simservs+xml",
+        "application/vnd.etsi.timestamp-token",
+        "application/vnd.etsi.tsl.der",
+        "application/vnd.etsi.tsl+xml",
+        "application/vnd.eudora.data",
+        "application/vnd.ezpix-album",
+        "application/vnd.ezpix-package",
+        "application/vnd.f-secure.mobile",
+        "application/vnd.fdf",
+        "application/vnd.fdsn.mseed",
+        "application/vnd.fdsn.seed",
+        "application/vnd.ffsns",
+        "application/vnd.fints",
+        "application/vnd.FloGraphIt",
+        "application/vnd.fluxtime.clip",
+        "application/vnd.font-fontforge-sfd",
+        "application/vnd.framemaker",
+        "application/vnd.frogans.fnc",
+        "application/vnd.frogans.ltf",
+        "application/vnd.fsc.weblaunch",
+        "application/vnd.fujitsu.oasys",
+        "application/vnd.fujitsu.oasys2",
+        "application/vnd.fujitsu.oasys3",
+        "application/vnd.fujitsu.oasysgp",
+        "application/vnd.fujitsu.oasysprs",
+        "application/vnd.fujixerox.ART-EX",
+        "application/vnd.fujixerox.ART4",
+        "application/vnd.fujixerox.ddd",
+        "application/vnd.fujixerox.docuworks",
+        "application/vnd.fujixerox.docuworks.binder",
+        "application/vnd.fujixerox.docuworks.container",
+        "application/vnd.fujixerox.HBPL",
+        "application/vnd.fut-misnet",
+        "application/vnd.fuzzysheet",
+        "application/vnd.genomatix.tuxedo",
+        "application/vnd.geo+json",
+        "application/vnd.geocube+xml - OBSOLETED by request",
+        "application/vnd.geogebra.file",
+        "application/vnd.geogebra.tool",
+        "application/vnd.geometry-explorer",
+        "application/vnd.geonext",
+        "application/vnd.geoplan",
+        "application/vnd.geospace",
+        "application/vnd.gerber",
+        "application/vnd.globalplatform.card-content-mgt",
+        "application/vnd.globalplatform.card-content-mgt-response",
+        "application/vnd.gmx - DEPRECATED",
+        "application/vnd.google-earth.kml+xml",
+        "application/vnd.google-earth.kmz",
+        "application/vnd.gov.sk.e-form+xml",
+        "application/vnd.gov.sk.e-form+zip",
+        "application/vnd.gov.sk.xmldatacontainer+xml",
+        "application/vnd.grafeq",
+        "application/vnd.gridmp",
+        "application/vnd.groove-account",
+        "application/vnd.groove-help",
+        "application/vnd.groove-identity-message",
+        "application/vnd.groove-injector",
+        "application/vnd.groove-tool-message",
+        "application/vnd.groove-tool-template",
+        "application/vnd.groove-vcard",
+        "application/vnd.hal+json",
+        "application/vnd.hal+xml",
+        "application/vnd.HandHeld-Entertainment+xml",
+        "application/vnd.hbci",
+        "application/vnd.hcl-bireports",
+        "application/vnd.heroku+json",
+        "application/vnd.hhe.lesson-player",
+        "application/vnd.hp-HPGL",
+        "application/vnd.hp-hpid",
+        "application/vnd.hp-hps",
+        "application/vnd.hp-jlyt",
+        "application/vnd.hp-PCL",
+        "application/vnd.hp-PCLXL",
+        "application/vnd.httphone",
+        "application/vnd.hydrostatix.sof-data",
+        "application/vnd.hzn-3d-crossword",
+        "application/vnd.ibm.afplinedata",
+        "application/vnd.ibm.electronic-media",
+        "application/vnd.ibm.MiniPay",
+        "application/vnd.ibm.modcap",
+        "application/vnd.ibm.rights-management",
+        "application/vnd.ibm.secure-container",
+        "application/vnd.iccprofile",
+        "application/vnd.ieee.1905",
+        "application/vnd.igloader",
+        "application/vnd.immervision-ivp",
+        "application/vnd.immervision-ivu",
+        "application/vnd.ims.imsccv1p1",
+        "application/vnd.ims.imsccv1p2",
+        "application/vnd.ims.imsccv1p3",
+        "application/vnd.ims.lis.v2.result+json",
+        "application/vnd.ims.lti.v2.toolconsumerprofile+json",
+        "application/vnd.ims.lti.v2.toolproxy.id+json",
+        "application/vnd.ims.lti.v2.toolproxy+json",
+        "application/vnd.ims.lti.v2.toolsettings.simple+json",
+        "application/vnd.ims.lti.v2.toolsettings+json",
+        "application/vnd.informedcontrol.rms+xml",
+        "application/vnd.informix-visionary",
+        "application/vnd.infotech.project",
+        "application/vnd.infotech.project+xml",
+        "application/vnd.innopath.wamp.notification",
+        "application/vnd.insors.igm",
+        "application/vnd.intercon.formnet",
+        "application/vnd.intergeo",
+        "application/vnd.intertrust.digibox",
+        "application/vnd.intertrust.nncp",
+        "application/vnd.intu.qbo",
+        "application/vnd.intu.qfx",
+        "application/vnd.iptc.g2.catalogitem+xml",
+        "application/vnd.iptc.g2.conceptitem+xml",
+        "application/vnd.iptc.g2.knowledgeitem+xml",
+        "application/vnd.iptc.g2.newsitem+xml",
+        "application/vnd.iptc.g2.newsmessage+xml",
+        "application/vnd.iptc.g2.packageitem+xml",
+        "application/vnd.iptc.g2.planningitem+xml",
+        "application/vnd.ipunplugged.rcprofile",
+        "application/vnd.irepository.package+xml",
+        "application/vnd.is-xpr",
+        "application/vnd.isac.fcs",
+        "application/vnd.jam",
+        "application/vnd.japannet-directory-service",
+        "application/vnd.japannet-jpnstore-wakeup",
+        "application/vnd.japannet-payment-wakeup",
+        "application/vnd.japannet-registration",
+        "application/vnd.japannet-registration-wakeup",
+        "application/vnd.japannet-setstore-wakeup",
+        "application/vnd.japannet-verification",
+        "application/vnd.japannet-verification-wakeup",
+        "application/vnd.jcp.javame.midlet-rms",
+        "application/vnd.jisp",
+        "application/vnd.joost.joda-archive",
+        "application/vnd.jsk.isdn-ngn",
+        "application/vnd.kahootz",
+        "application/vnd.kde.karbon",
+        "application/vnd.kde.kchart",
+        "application/vnd.kde.kformula",
+        "application/vnd.kde.kivio",
+        "application/vnd.kde.kontour",
+        "application/vnd.kde.kpresenter",
+        "application/vnd.kde.kspread",
+        "application/vnd.kde.kword",
+        "application/vnd.kenameaapp",
+        "application/vnd.kidspiration",
+        "application/vnd.Kinar",
+        "application/vnd.koan",
+        "application/vnd.kodak-descriptor",
+        "application/vnd.las.las+xml",
+        "application/vnd.liberty-request+xml",
+        "application/vnd.llamagraphics.life-balance.desktop",
+        "application/vnd.llamagraphics.life-balance.exchange+xml",
+        "application/vnd.lotus-1-2-3",
+        "application/vnd.lotus-approach",
+        "application/vnd.lotus-freelance",
+        "application/vnd.lotus-notes",
+        "application/vnd.lotus-organizer",
+        "application/vnd.lotus-screencam",
+        "application/vnd.lotus-wordpro",
+        "application/vnd.macports.portpkg",
+        "application/vnd.marlin.drm.actiontoken+xml",
+        "application/vnd.marlin.drm.conftoken+xml",
+        "application/vnd.marlin.drm.license+xml",
+        "application/vnd.marlin.drm.mdcf",
+        "application/vnd.mason+json",
+        "application/vnd.maxmind.maxmind-db",
+        "application/vnd.mcd",
+        "application/vnd.medcalcdata",
+        "application/vnd.mediastation.cdkey",
+        "application/vnd.meridian-slingshot",
+        "application/vnd.MFER",
+        "application/vnd.mfmp",
+        "application/vnd.micro+json",
+        "application/vnd.micrografx.flo",
+        "application/vnd.micrografx.igx",
+        "application/vnd.microsoft.portable-executable",
+        "application/vnd.miele+json",
+        "application/vnd.mif",
+        "application/vnd.minisoft-hp3000-save",
+        "application/vnd.mitsubishi.misty-guard.trustweb",
+        "application/vnd.Mobius.DAF",
+        "application/vnd.Mobius.DIS",
+        "application/vnd.Mobius.MBK",
+        "application/vnd.Mobius.MQY",
+        "application/vnd.Mobius.MSL",
+        "application/vnd.Mobius.PLC",
+        "application/vnd.Mobius.TXF",
+        "application/vnd.mophun.application",
+        "application/vnd.mophun.certificate",
+        "application/vnd.motorola.flexsuite",
+        "application/vnd.motorola.flexsuite.adsi",
+        "application/vnd.motorola.flexsuite.fis",
+        "application/vnd.motorola.flexsuite.gotap",
+        "application/vnd.motorola.flexsuite.kmr",
+        "application/vnd.motorola.flexsuite.ttc",
+        "application/vnd.motorola.flexsuite.wem",
+        "application/vnd.motorola.iprm",
+        "application/vnd.mozilla.xul+xml",
+        "application/vnd.ms-3mfdocument",
+        "application/vnd.ms-artgalry",
+        "application/vnd.ms-asf",
+        "application/vnd.ms-cab-compressed",
+        "application/vnd.ms-excel",
+        "application/vnd.ms-excel.addin.macroEnabled.12",
+        "application/vnd.ms-excel.sheet.binary.macroEnabled.12",
+        "application/vnd.ms-excel.sheet.macroEnabled.12",
+        "application/vnd.ms-excel.template.macroEnabled.12",
+        "application/vnd.ms-fontobject",
+        "application/vnd.ms-htmlhelp",
+        "application/vnd.ms-ims",
+        "application/vnd.ms-lrm",
+        "application/vnd.ms-office.activeX+xml",
+        "application/vnd.ms-officetheme",
+        "application/vnd.ms-playready.initiator+xml",
+        "application/vnd.ms-powerpoint",
+        "application/vnd.ms-powerpoint.addin.macroEnabled.12",
+        "application/vnd.ms-powerpoint.presentation.macroEnabled.12",
+        "application/vnd.ms-powerpoint.slide.macroEnabled.12",
+        "application/vnd.ms-powerpoint.slideshow.macroEnabled.12",
+        "application/vnd.ms-powerpoint.template.macroEnabled.12",
+        "application/vnd.ms-project",
+        "application/vnd.ms-tnef",
+        "application/vnd.ms-windows.printerpairing",
+        "application/vnd.ms-wmdrm.lic-chlg-req",
+        "application/vnd.ms-wmdrm.lic-resp",
+        "application/vnd.ms-wmdrm.meter-chlg-req",
+        "application/vnd.ms-wmdrm.meter-resp",
+        "application/vnd.ms-word.document.macroEnabled.12",
+        "application/vnd.ms-word.template.macroEnabled.12",
+        "application/vnd.ms-works",
+        "application/vnd.ms-wpl",
+        "application/vnd.ms-xpsdocument",
+        "application/vnd.msa-disk-image",
+        "application/vnd.mseq",
+        "application/vnd.msign",
+        "application/vnd.multiad.creator",
+        "application/vnd.multiad.creator.cif",
+        "application/vnd.music-niff",
+        "application/vnd.musician",
+        "application/vnd.muvee.style",
+        "application/vnd.mynfc",
+        "application/vnd.ncd.control",
+        "application/vnd.ncd.reference",
+        "application/vnd.nervana",
+        "application/vnd.netfpx",
+        "application/vnd.neurolanguage.nlu",
+        "application/vnd.nintendo.nitro.rom",
+        "application/vnd.nintendo.snes.rom",
+        "application/vnd.nitf",
+        "application/vnd.noblenet-directory",
+        "application/vnd.noblenet-sealer",
+        "application/vnd.noblenet-web",
+        "application/vnd.nokia.catalogs",
+        "application/vnd.nokia.conml+wbxml",
+        "application/vnd.nokia.conml+xml",
+        "application/vnd.nokia.iptv.config+xml",
+        "application/vnd.nokia.iSDS-radio-presets",
+        "application/vnd.nokia.landmark+wbxml",
+        "application/vnd.nokia.landmark+xml",
+        "application/vnd.nokia.landmarkcollection+xml",
+        "application/vnd.nokia.n-gage.ac+xml",
+        "application/vnd.nokia.n-gage.data",
+        "application/vnd.nokia.n-gage.symbian.install",
+        "application/vnd.nokia.ncd",
+        "application/vnd.nokia.pcd+wbxml",
+        "application/vnd.nokia.pcd+xml",
+        "application/vnd.nokia.radio-preset",
+        "application/vnd.nokia.radio-presets",
+        "application/vnd.novadigm.EDM",
+        "application/vnd.novadigm.EDX",
+        "application/vnd.novadigm.EXT",
+        "application/vnd.ntt-local.content-share",
+        "application/vnd.ntt-local.file-transfer",
+        "application/vnd.ntt-local.ogw_remote-access",
+        "application/vnd.ntt-local.sip-ta_remote",
+        "application/vnd.ntt-local.sip-ta_tcp_stream",
+        "application/vnd.oasis.opendocument.chart",
+        "application/vnd.oasis.opendocument.chart-template",
+        "application/vnd.oasis.opendocument.database",
+        "application/vnd.oasis.opendocument.formula",
+        "application/vnd.oasis.opendocument.formula-template",
+        "application/vnd.oasis.opendocument.graphics",
+        "application/vnd.oasis.opendocument.graphics-template",
+        "application/vnd.oasis.opendocument.image",
+        "application/vnd.oasis.opendocument.image-template",
+        "application/vnd.oasis.opendocument.presentation",
+        "application/vnd.oasis.opendocument.presentation-template",
+        "application/vnd.oasis.opendocument.spreadsheet",
+        "application/vnd.oasis.opendocument.spreadsheet-template",
+        "application/vnd.oasis.opendocument.text",
+        "application/vnd.oasis.opendocument.text-master",
+        "application/vnd.oasis.opendocument.text-template",
+        "application/vnd.oasis.opendocument.text-web",
+        "application/vnd.obn",
+        "application/vnd.oftn.l10n+json",
+        "application/vnd.oipf.contentaccessdownload+xml",
+        "application/vnd.oipf.contentaccessstreaming+xml",
+        "application/vnd.oipf.cspg-hexbinary",
+        "application/vnd.oipf.dae.svg+xml",
+        "application/vnd.oipf.dae.xhtml+xml",
+        "application/vnd.oipf.mippvcontrolmessage+xml",
+        "application/vnd.oipf.pae.gem",
+        "application/vnd.oipf.spdiscovery+xml",
+        "application/vnd.oipf.spdlist+xml",
+        "application/vnd.oipf.ueprofile+xml",
+        "application/vnd.oipf.userprofile+xml",
+        "application/vnd.olpc-sugar",
+        "application/vnd.oma-scws-config",
+        "application/vnd.oma-scws-http-request",
+        "application/vnd.oma-scws-http-response",
+        "application/vnd.oma.bcast.associated-procedure-parameter+xml",
+        "application/vnd.oma.bcast.drm-trigger+xml",
+        "application/vnd.oma.bcast.imd+xml",
+        "application/vnd.oma.bcast.ltkm",
+        "application/vnd.oma.bcast.notification+xml",
+        "application/vnd.oma.bcast.provisioningtrigger",
+        "application/vnd.oma.bcast.sgboot",
+        "application/vnd.oma.bcast.sgdd+xml",
+        "application/vnd.oma.bcast.sgdu",
+        "application/vnd.oma.bcast.simple-symbol-container",
+        "application/vnd.oma.bcast.smartcard-trigger+xml",
+        "application/vnd.oma.bcast.sprov+xml",
+        "application/vnd.oma.bcast.stkm",
+        "application/vnd.oma.cab-address-book+xml",
+        "application/vnd.oma.cab-feature-handler+xml",
+        "application/vnd.oma.cab-pcc+xml",
+        "application/vnd.oma.cab-subs-invite+xml",
+        "application/vnd.oma.cab-user-prefs+xml",
+        "application/vnd.oma.dcd",
+        "application/vnd.oma.dcdc",
+        "application/vnd.oma.dd2+xml",
+        "application/vnd.oma.drm.risd+xml",
+        "application/vnd.oma.group-usage-list+xml",
+        "application/vnd.oma.pal+xml",
+        "application/vnd.oma.poc.detailed-progress-report+xml",
+        "application/vnd.oma.poc.final-report+xml",
+        "application/vnd.oma.poc.groups+xml",
+        "application/vnd.oma.poc.invocation-descriptor+xml",
+        "application/vnd.oma.poc.optimized-progress-report+xml",
+        "application/vnd.oma.push",
+        "application/vnd.oma.scidm.messages+xml",
+        "application/vnd.oma.xcap-directory+xml",
+        "application/vnd.omads-email+xml",
+        "application/vnd.omads-file+xml",
+        "application/vnd.omads-folder+xml",
+        "application/vnd.omaloc-supl-init",
+        "application/vnd.openeye.oeb",
+        "application/vnd.oracle.resource+json",
+        "application/vnd.orange.indata",
+        "application/vnd.osa.netdeploy",
+        "application/vnd.osgeo.mapguide.package",
+        "application/vnd.osgi.bundle",
+        "application/vnd.osgi.dp",
+        "application/vnd.osgi.subsystem",
+        "application/vnd.otps.ct-kip+xml",
+        "application/vnd.palm",
+        "application/vnd.panoply",
+        "application/vnd.paos.xml",
+        "application/vnd.pawaafile",
+        "application/vnd.pcos",
+        "application/vnd.pg.format",
+        "application/vnd.pg.osasli",
+        "application/vnd.piaccess.application-licence",
+        "application/vnd.picsel",
+        "application/vnd.pmi.widget",
+        "application/vnd.poc.group-advertisement+xml",
+        "application/vnd.pocketlearn",
+        "application/vnd.powerbuilder6",
+        "application/vnd.powerbuilder6-s",
+        "application/vnd.powerbuilder7",
+        "application/vnd.powerbuilder7-s",
+        "application/vnd.powerbuilder75",
+        "application/vnd.powerbuilder75-s",
+        "application/vnd.preminet",
+        "application/vnd.previewsystems.box",
+        "application/vnd.proteus.magazine",
+        "application/vnd.publishare-delta-tree",
+        "application/vnd.pvi.ptid1",
+        "application/vnd.pwg-multiplexed",
+        "application/vnd.pwg-xhtml-print+xml",
+        "application/vnd.qualcomm.brew-app-res",
+        "application/vnd.Quark.QuarkXPress",
+        "application/vnd.quobject-quoxdocument",
+        "application/vnd.radisys.moml+xml",
+        "application/vnd.radisys.msml-audit-conf+xml",
+        "application/vnd.radisys.msml-audit-conn+xml",
+        "application/vnd.radisys.msml-audit-dialog+xml",
+        "application/vnd.radisys.msml-audit-stream+xml",
+        "application/vnd.radisys.msml-audit+xml",
+        "application/vnd.radisys.msml-conf+xml",
+        "application/vnd.radisys.msml-dialog-base+xml",
+        "application/vnd.radisys.msml-dialog-fax-detect+xml",
+        "application/vnd.radisys.msml-dialog-fax-sendrecv+xml",
+        "application/vnd.radisys.msml-dialog-group+xml",
+        "application/vnd.radisys.msml-dialog-speech+xml",
+        "application/vnd.radisys.msml-dialog-transform+xml",
+        "application/vnd.radisys.msml-dialog+xml",
+        "application/vnd.radisys.msml+xml",
+        "application/vnd.rainstor.data",
+        "application/vnd.rapid",
+        "application/vnd.realvnc.bed",
+        "application/vnd.recordare.musicxml",
+        "application/vnd.recordare.musicxml+xml",
+        "application/vnd.RenLearn.rlprint",
+        "application/vnd.rig.cryptonote",
+        "application/vnd.route66.link66+xml",
+        "application/vnd.rs-274x",
+        "application/vnd.ruckus.download",
+        "application/vnd.s3sms",
+        "application/vnd.sailingtracker.track",
+        "application/vnd.sbm.cid",
+        "application/vnd.sbm.mid2",
+        "application/vnd.scribus",
+        "application/vnd.sealed.3df",
+        "application/vnd.sealed.csf",
+        "application/vnd.sealed.doc",
+        "application/vnd.sealed.eml",
+        "application/vnd.sealed.mht",
+        "application/vnd.sealed.net",
+        "application/vnd.sealed.ppt",
+        "application/vnd.sealed.tiff",
+        "application/vnd.sealed.xls",
+        "application/vnd.sealedmedia.softseal.html",
+        "application/vnd.sealedmedia.softseal.pdf",
+        "application/vnd.seemail",
+        "application/vnd.sema",
+        "application/vnd.semd",
+        "application/vnd.semf",
+        "application/vnd.shana.informed.formdata",
+        "application/vnd.shana.informed.formtemplate",
+        "application/vnd.shana.informed.interchange",
+        "application/vnd.shana.informed.package",
+        "application/vnd.SimTech-MindMapper",
+        "application/vnd.siren+json",
+        "application/vnd.smaf",
+        "application/vnd.smart.notebook",
+        "application/vnd.smart.teacher",
+        "application/vnd.software602.filler.form-xml-zip",
+        "application/vnd.software602.filler.form+xml",
+        "application/vnd.solent.sdkm+xml",
+        "application/vnd.spotfire.dxp",
+        "application/vnd.spotfire.sfs",
+        "application/vnd.sss-cod",
+        "application/vnd.sss-dtf",
+        "application/vnd.sss-ntf",
+        "application/vnd.stepmania.package",
+        "application/vnd.stepmania.stepchart",
+        "application/vnd.street-stream",
+        "application/vnd.sun.wadl+xml",
+        "application/vnd.sus-calendar",
+        "application/vnd.svd",
+        "application/vnd.swiftview-ics",
+        "application/vnd.syncml.dm.notification",
+        "application/vnd.syncml.dm+wbxml",
+        "application/vnd.syncml.dm+xml",
+        "application/vnd.syncml.dmddf+wbxml",
+        "application/vnd.syncml.dmddf+xml",
+        "application/vnd.syncml.dmtnds+wbxml",
+        "application/vnd.syncml.dmtnds+xml",
+        "application/vnd.syncml.ds.notification",
+        "application/vnd.syncml+xml",
+        "application/vnd.tao.intent-module-archive",
+        "application/vnd.tcpdump.pcap",
+        "application/vnd.tmd.mediaflex.api+xml",
+        "application/vnd.tmobile-livetv",
+        "application/vnd.trid.tpt",
+        "application/vnd.triscape.mxs",
+        "application/vnd.trueapp",
+        "application/vnd.truedoc",
+        "application/vnd.ubisoft.webplayer",
+        "application/vnd.ufdl",
+        "application/vnd.uiq.theme",
+        "application/vnd.umajin",
+        "application/vnd.unity",
+        "application/vnd.uoml+xml",
+        "application/vnd.uplanet.alert",
+        "application/vnd.uplanet.alert-wbxml",
+        "application/vnd.uplanet.bearer-choice",
+        "application/vnd.uplanet.bearer-choice-wbxml",
+        "application/vnd.uplanet.cacheop",
+        "application/vnd.uplanet.cacheop-wbxml",
+        "application/vnd.uplanet.channel",
+        "application/vnd.uplanet.channel-wbxml",
+        "application/vnd.uplanet.list",
+        "application/vnd.uplanet.list-wbxml",
+        "application/vnd.uplanet.listcmd",
+        "application/vnd.uplanet.listcmd-wbxml",
+        "application/vnd.uplanet.signal",
+        "application/vnd.valve.source.material",
+        "application/vnd.vcx",
+        "application/vnd.vd-study",
+        "application/vnd.vectorworks",
+        "application/vnd.verimatrix.vcas",
+        "application/vnd.vidsoft.vidconference",
+        "application/vnd.visio",
+        "application/vnd.visionary",
+        "application/vnd.vividence.scriptfile",
+        "application/vnd.vsf",
+        "application/vnd.wap.sic",
+        "application/vnd.wap.slc",
+        "application/vnd.wap.wbxml",
+        "application/vnd.wap.wmlc",
+        "application/vnd.wap.wmlscriptc",
+        "application/vnd.webturbo",
+        "application/vnd.wfa.p2p",
+        "application/vnd.wfa.wsc",
+        "application/vnd.windows.devicepairing",
+        "application/vnd.wmc",
+        "application/vnd.wmf.bootstrap",
+        "application/vnd.wolfram.mathematica",
+        "application/vnd.wolfram.mathematica.package",
+        "application/vnd.wolfram.player",
+        "application/vnd.wordperfect",
+        "application/vnd.wqd",
+        "application/vnd.wrq-hp3000-labelled",
+        "application/vnd.wt.stf",
+        "application/vnd.wv.csp+wbxml",
+        "application/vnd.wv.csp+xml",
+        "application/vnd.wv.ssp+xml",
+        "application/vnd.xacml+json",
+        "application/vnd.xara",
+        "application/vnd.xfdl",
+        "application/vnd.xfdl.webform",
+        "application/vnd.xmi+xml",
+        "application/vnd.xmpie.cpkg",
+        "application/vnd.xmpie.dpkg",
+        "application/vnd.xmpie.plan",
+        "application/vnd.xmpie.ppkg",
+        "application/vnd.xmpie.xlim",
+        "application/vnd.yamaha.hv-dic",
+        "application/vnd.yamaha.hv-script",
+        "application/vnd.yamaha.hv-voice",
+        "application/vnd.yamaha.openscoreformat",
+        "application/vnd.yamaha.openscoreformat.osfpvg+xml",
+        "application/vnd.yamaha.remote-setup",
+        "application/vnd.yamaha.smaf-audio",
+        "application/vnd.yamaha.smaf-phrase",
+        "application/vnd.yamaha.through-ngn",
+        "application/vnd.yamaha.tunnel-udpencap",
+        "application/vnd.yaoweme",
+        "application/vnd.yellowriver-custom-menu",
+        "application/vnd.zul",
+        "application/vnd.zzazz.deck+xml",
+        "application/voicexml+xml",
+        "application/vq-rtcpxr",
+        "application/watcherinfo+xml",
+        "application/whoispp-query",
+        "application/whoispp-response",
+        "application/widget",
+        "application/wita",
+        "application/wordperfect5.1",
+        "application/wsdl+xml",
+        "application/wspolicy+xml",
+        "application/x-www-form-urlencoded",
+        "application/x400-bp",
+        "application/xacml+xml",
+        "application/xcap-att+xml",
+        "application/xcap-caps+xml",
+        "application/xcap-diff+xml",
+        "application/xcap-el+xml",
+        "application/xcap-error+xml",
+        "application/xcap-ns+xml",
+        "application/xcon-conference-info-diff+xml",
+        "application/xcon-conference-info+xml",
+        "application/xenc+xml",
+        "application/xhtml-voice+xml",
+        "application/xhtml+xml",
+        "application/xml",
+        "application/xml-dtd",
+        "application/xml-external-parsed-entity",
+        "application/xml-patch+xml",
+        "application/xmpp+xml",
+        "application/xop+xml",
+        "application/xslt+xml",
+        "application/xv+xml",
+        "application/yang",
+        "application/yin+xml",
+        "application/zip",
+        "application/zlib",
+    ],
+    "audio": [
+        "audio/1d-interleaved-parityfec",
+        "audio/32kadpcm",
+        "audio/3gpp",
+        "audio/3gpp2",
+        "audio/ac3",
+        "audio/AMR",
+        "audio/AMR-WB",
+        "audio/amr-wb+",
+        "audio/aptx",
+        "audio/asc",
+        "audio/ATRAC-ADVANCED-LOSSLESS",
+        "audio/ATRAC-X",
+        "audio/ATRAC3",
+        "audio/basic",
+        "audio/BV16",
+        "audio/BV32",
+        "audio/clearmode",
+        "audio/CN",
+        "audio/DAT12",
+        "audio/dls",
+        "audio/dsr-es201108",
+        "audio/dsr-es202050",
+        "audio/dsr-es202211",
+        "audio/dsr-es202212",
+        "audio/DV",
+        "audio/DVI4",
+        "audio/eac3",
+        "audio/encaprtp",
+        "audio/EVRC",
+        "audio/EVRC-QCP",
+        "audio/EVRC0",
+        "audio/EVRC1",
+        "audio/EVRCB",
+        "audio/EVRCB0",
+        "audio/EVRCB1",
+        "audio/EVRCNW",
+        "audio/EVRCNW0",
+        "audio/EVRCNW1",
+        "audio/EVRCWB",
+        "audio/EVRCWB0",
+        "audio/EVRCWB1",
+        "audio/example",
+        "audio/fwdred",
+        "audio/G719",
+        "audio/G722",
+        "audio/G7221",
+        "audio/G723",
+        "audio/G726-16",
+        "audio/G726-24",
+        "audio/G726-32",
+        "audio/G726-40",
+        "audio/G728",
+        "audio/G729",
+        "audio/G7291",
+        "audio/G729D",
+        "audio/G729E",
+        "audio/GSM",
+        "audio/GSM-EFR",
+        "audio/GSM-HR-08",
+        "audio/iLBC",
+        "audio/ip-mr_v2.5",
+        "audio/L16",
+        "audio/L20",
+        "audio/L24",
+        "audio/L8",
+        "audio/LPC",
+        "audio/mobile-xmf",
+        "audio/mp4",
+        "audio/MP4A-LATM",
+        "audio/MPA",
+        "audio/mpa-robust",
+        "audio/mpeg",
+        "audio/mpeg4-generic",
+        "audio/ogg",
+        "audio/opus",
+        "audio/parityfec",
+        "audio/PCMA",
+        "audio/PCMA-WB",
+        "audio/PCMU",
+        "audio/PCMU-WB",
+        "audio/prs.sid",
+        "audio/QCELP",
+        "audio/raptorfec",
+        "audio/RED",
+        "audio/rtp-enc-aescm128",
+        "audio/rtp-midi",
+        "audio/rtploopback",
+        "audio/rtx",
+        "audio/SMV",
+        "audio/SMV-QCP",
+        "audio/SMV0",
+        "audio/sp-midi",
+        "audio/speex",
+        "audio/t140c",
+        "audio/t38",
+        "audio/telephone-event",
+        "audio/tone",
+        "audio/UEMCLIP",
+        "audio/ulpfec",
+        "audio/VDVI",
+        "audio/VMR-WB",
+        "audio/vnd.3gpp.iufp",
+        "audio/vnd.4SB",
+        "audio/vnd.audiokoz",
+        "audio/vnd.CELP",
+        "audio/vnd.cisco.nse",
+        "audio/vnd.cmles.radio-events",
+        "audio/vnd.cns.anp1",
+        "audio/vnd.cns.inf1",
+        "audio/vnd.dece.audio",
+        "audio/vnd.digital-winds",
+        "audio/vnd.dlna.adts",
+        "audio/vnd.dolby.heaac.1",
+        "audio/vnd.dolby.heaac.2",
+        "audio/vnd.dolby.mlp",
+        "audio/vnd.dolby.mps",
+        "audio/vnd.dolby.pl2",
+        "audio/vnd.dolby.pl2x",
+        "audio/vnd.dolby.pl2z",
+        "audio/vnd.dolby.pulse.1",
+        "audio/vnd.dra",
+        "audio/vnd.dts",
+        "audio/vnd.dts.hd",
+        "audio/vnd.dvb.file",
+        "audio/vnd.everad.plj",
+        "audio/vnd.hns.audio",
+        "audio/vnd.lucent.voice",
+        "audio/vnd.ms-playready.media.pya",
+        "audio/vnd.nokia.mobile-xmf",
+        "audio/vnd.nortel.vbk",
+        "audio/vnd.nuera.ecelp4800",
+        "audio/vnd.nuera.ecelp7470",
+        "audio/vnd.nuera.ecelp9600",
+        "audio/vnd.octel.sbc",
+        "audio/vnd.qcelp",
+        "audio/vnd.rhetorex.32kadpcm",
+        "audio/vnd.rip",
+        "audio/vnd.sealedmedia.softseal.mpeg",
+        "audio/vnd.vmx.cvsd",
+        "audio/vorbis",
+        "audio/vorbis-config",
+    ],
+    "image": [
+        "image/cgm",
+        "image/example",
+        "image/fits",
+        "image/g3fax",
+        "image/gif",
+        "image/ief",
+        "image/jp2",
+        "image/jpeg",
+        "image/jpm",
+        "image/jpx",
+        "image/ktx",
+        "image/naplps",
+        "image/png",
+        "image/prs.btif",
+        "image/prs.pti",
+        "image/pwg-raster",
+        "image/svg+xml",
+        "image/t38",
+        "image/tiff",
+        "image/tiff-fx",
+        "image/vnd.adobe.photoshop",
+        "image/vnd.airzip.accelerator.azv",
+        "image/vnd.cns.inf2",
+        "image/vnd.dece.graphic",
+        "image/vnd.djvu",
+        "image/vnd.dvb.subtitle",
+        "image/vnd.dwg",
+        "image/vnd.dxf",
+        "image/vnd.fastbidsheet",
+        "image/vnd.fpx",
+        "image/vnd.fst",
+        "image/vnd.fujixerox.edmics-mmr",
+        "image/vnd.fujixerox.edmics-rlc",
+        "image/vnd.globalgraphics.pgb",
+        "image/vnd.microsoft.icon",
+        "image/vnd.mix",
+        "image/vnd.ms-modi",
+        "image/vnd.net-fpx",
+        "image/vnd.radiance",
+        "image/vnd.sealed.png",
+        "image/vnd.sealedmedia.softseal.gif",
+        "image/vnd.sealedmedia.softseal.jpg",
+        "image/vnd.svf",
+        "image/vnd.tencent.tap",
+        "image/vnd.valve.source.texture",
+        "image/vnd.wap.wbmp",
+        "image/vnd.xiff",
+        "image/vnd.zbrush.pcx",
+    ],
+    "message": [
+        "message/CPIM",
+        "message/delivery-status",
+        "message/disposition-notification",
+        "message/example",
+        "message/external-body",
+        "message/feedback-report",
+        "message/global",
+        "message/global-delivery-status",
+        "message/global-disposition-notification",
+        "message/global-headers",
+        "message/http",
+        "message/imdn+xml",
+        "message/news",
+        "message/partial",
+        "message/rfc822",
+        "message/s-http",
+        "message/sip",
+        "message/sipfrag",
+        "message/tracking-status",
+        "message/vnd.si.simp",
+        "message/vnd.wfa.wsc",
+    ],
+    "text": [
+        "text/1d-interleaved-parityfec",
+        "text/cache-manifest",
+        "text/calendar",
+        "text/css",
+        "text/csv",
+        "text/csv-schema",
+        "text/dns",
+        "text/ecmascript",
+        "text/encaprtp",
+        "text/enriched",
+        "text/example",
+        "text/fwdred",
+        "text/grammar-ref-list",
+        "text/html",
+        "text/javascript",
+        "text/jcr-cnd",
+        "text/mizar",
+        "text/n3",
+        "text/parameters",
+        "text/parityfec",
+        "text/plain",
+        "text/provenance-notation",
+        "text/prs.fallenstein.rst",
+        "text/prs.lines.tag",
+        "text/raptorfec",
+        "text/RED",
+        "text/rfc822-headers",
+        "text/richtext",
+        "text/rtf",
+        "text/rtp-enc-aescm128",
+        "text/rtploopback",
+        "text/rtx",
+        "text/sgml",
+        "text/t140",
+        "text/tab-separated-values",
+        "text/troff",
+        "text/turtle",
+        "text/ulpfec",
+        "text/uri-list",
+        "text/vcard",
+        "text/vnd.a",
+        "text/vnd.abc",
+        "text/vnd.curl",
+        "text/vnd.debian.copyright",
+        "text/vnd.DMClientScript",
+        "text/vnd.dvb.subtitle",
+        "text/vnd.esmertec.theme-descriptor",
+        "text/vnd.fly",
+        "text/vnd.fmi.flexstor",
+        "text/vnd.graphviz",
+        "text/vnd.in3d.3dml",
+        "text/vnd.in3d.spot",
+        "text/vnd.IPTC.NewsML",
+        "text/vnd.IPTC.NITF",
+        "text/vnd.latex-z",
+        "text/vnd.motorola.reflex",
+        "text/vnd.ms-mediapackage",
+        "text/vnd.net2phone.commcenter.command",
+        "text/vnd.radisys.msml-basic-layout",
+        "text/vnd.si.uricatalogue - OBSOLETED by request",
+        "text/vnd.sun.j2me.app-descriptor",
+        "text/vnd.trolltech.linguist",
+        "text/vnd.wap.si",
+        "text/vnd.wap.sl",
+        "text/vnd.wap.wml",
+        "text/vnd.wap.wmlscript",
+        "text/xml",
+        "text/xml-external-parsed-entity",
+    ],
+    "video": [
+        "video/1d-interleaved-parityfec",
+        "video/3gpp",
+        "video/3gpp-tt",
+        "video/3gpp2",
+        "video/BMPEG",
+        "video/BT656",
+        "video/CelB",
+        "video/DV",
+        "video/encaprtp",
+        "video/example",
+        "video/H261",
+        "video/H263",
+        "video/H263-1998",
+        "video/H263-2000",
+        "video/H264",
+        "video/H264-RCDO",
+        "video/H264-SVC",
+        "video/iso.segment",
+        "video/JPEG",
+        "video/jpeg2000",
+        "video/mj2",
+        "video/MP1S",
+        "video/MP2P",
+        "video/MP2T",
+        "video/mp4",
+        "video/MP4V-ES",
+        "video/mpeg",
+        "video/mpeg4-generic",
+        "video/MPV",
+        "video/nv",
+        "video/ogg",
+        "video/parityfec",
+        "video/pointer",
+        "video/quicktime",
+        "video/raptorfec",
+        "video/raw",
+        "video/rtp-enc-aescm128",
+        "video/rtploopback",
+        "video/rtx",
+        "video/SMPTE292M",
+        "video/ulpfec",
+        "video/vc1",
+        "video/vnd.CCTV",
+        "video/vnd.dece.hd",
+        "video/vnd.dece.mobile",
+        "video/vnd.dece.mp4",
+        "video/vnd.dece.pd",
+        "video/vnd.dece.sd",
+        "video/vnd.dece.video",
+        "video/vnd.directv.mpeg",
+        "video/vnd.directv.mpeg-tts",
+        "video/vnd.dlna.mpeg-tts",
+        "video/vnd.dvb.file",
+        "video/vnd.fvt",
+        "video/vnd.hns.video",
+        "video/vnd.iptvforum.1dparityfec-1010",
+        "video/vnd.iptvforum.1dparityfec-2005",
+        "video/vnd.iptvforum.2dparityfec-1010",
+        "video/vnd.iptvforum.2dparityfec-2005",
+        "video/vnd.iptvforum.ttsavc",
+        "video/vnd.iptvforum.ttsmpeg2",
+        "video/vnd.motorola.video",
+        "video/vnd.motorola.videop",
+        "video/vnd.mpegurl",
+        "video/vnd.ms-playready.media.pyv",
+        "video/vnd.nokia.interleaved-multimedia",
+        "video/vnd.nokia.videovoip",
+        "video/vnd.objectvideo",
+        "video/vnd.radgamettools.bink",
+        "video/vnd.radgamettools.smacker",
+        "video/vnd.sealed.mpeg1",
+        "video/vnd.sealed.mpeg4",
+        "video/vnd.sealed.swf",
+        "video/vnd.sealedmedia.softseal.mov",
+        "video/vnd.uvvu.mp4",
+        "video/vnd.vivo",
+    ],
+}
+
+FILENAMES = [
+    "as",
+    "his",
+    "that",
+    "he",
+    "was",
+    "for",
+    "on",
+    "are",
+    "with",
+    "they",
+    "be",
+    "at",
+    "one",
+    "have",
+    "this",
+    "from",
+    "by",
+    "hot",
+    "word",
+    "but",
+    "what",
+    "some",
+    "is",
+    "it",
+    "you",
+    "or",
+    "had",
+    "the",
+    "of",
+    "to",
+    "and",
+    "in",
+    "we",
+    "can",
+    "out",
+    "other",
+    "were",
+    "which",
+    "do",
+    "their",
+    "time",
+    "if",
+    "will",
+    "how",
+    "said",
+    "an",
+    "each",
+    "tell",
+    "does",
+    "set",
+    "three",
+    "want",
+    "air",
+    "well",
+    "also",
+    "play",
+    "small",
+    "end",
+    "put",
+    "home",
+    "read",
+    "hand",
+    "port",
+    "large",
+    "spell",
+    "add",
+    "even",
+    "land",
+    "here",
+    "must",
+    "big",
+    "high",
+    "such",
+    "follow",
+    "act",
+    "why",
+    "ask",
+    "men",
+    "change",
+    "went",
+    "light",
+    "kind",
+    "off",
+    "need",
+    "house",
+    "picture",
+    "try",
+    "us",
+    "again",
+    "animal",
+    "point",
+    "mother",
+    "world",
+    "near",
+    "build",
+    "self",
+    "earth",
+    "father",
+    "any",
+    "new",
+    "work",
+    "part",
+    "take",
+    "get",
+    "place",
+    "made",
+    "live",
+    "where",
+    "after",
+    "back",
+    "little",
+    "only",
+    "round",
+    "man",
+    "year",
+    "came",
+    "show",
+    "every",
+    "good",
+    "me",
+    "give",
+    "our",
+    "under",
+    "name",
+    "very",
+    "through",
+    "just",
+    "form",
+    "sentence",
+    "great",
+    "think",
+    "say",
+    "help",
+    "low",
+    "line",
+    "differ",
+    "turn",
+    "cause",
+    "much",
+    "mean",
+    "before",
+    "move",
+    "right",
+    "boy",
+    "old",
+    "too",
+    "same",
+    "she",
+    "all",
+    "there",
+    "when",
+    "up",
+    "use",
+    "your",
+    "way",
+    "about",
+    "many",
+    "then",
+    "them",
+    "write",
+    "would",
+    "like",
+    "so",
+    "these",
+    "her",
+    "long",
+    "make",
+    "thing",
+    "see",
+    "him",
+    "two",
+    "has",
+    "look",
+    "more",
+    "day",
+    "could",
+    "go",
+    "come",
+    "did",
+    "number",
+    "sound",
+    "no",
+    "most",
+    "people",
+    "my",
+    "over",
+    "know",
+    "water",
+    "than",
+    "call",
+    "first",
+    "who",
+    "may",
+    "down",
+    "side",
+    "been",
+    "now",
+    "find",
+    "head",
+    "stand",
+    "own",
+    "page",
+    "should",
+    "country",
+    "found",
+    "answer",
+    "school",
+    "grow",
+    "study",
+    "still",
+    "learn",
+    "plant",
+    "cover",
+    "food",
+    "sun",
+    "four",
+    "between",
+    "state",
+    "keep",
+    "eye",
+    "never",
+    "last",
+    "let",
+    "thought",
+    "city",
+    "tree",
+    "cross",
+    "farm",
+    "hard",
+    "start",
+    "might",
+    "story",
+    "saw",
+    "far",
+    "sea",
+    "draw",
+    "left",
+    "late",
+    "run",
+    "don’t",
+    "while",
+    "press",
+    "close",
+    "night",
+    "real",
+    "life",
+    "few",
+    "north",
+    "book",
+    "carry",
+    "took",
+    "science",
+    "eat",
+    "room",
+    "friend",
+    "began",
+    "idea",
+    "fish",
+    "mountain",
+    "stop",
+    "once",
+    "base",
+    "hear",
+    "horse",
+    "cut",
+    "sure",
+    "watch",
+    "color",
+    "face",
+    "wood",
+    "main",
+    "open",
+    "seem",
+    "together",
+    "next",
+    "white",
+    "children",
+    "begin",
+    "got",
+    "walk",
+    "example",
+    "ease",
+    "paper",
+    "group",
+    "always",
+    "music",
+    "those",
+    "both",
+    "mark",
+    "often",
+    "letter",
+    "until",
+    "mile",
+    "river",
+    "car",
+    "feet",
+    "care",
+    "second",
+    "enough",
+    "plain",
+    "girl",
+    "usual",
+    "young",
+    "ready",
+    "above",
+    "ever",
+    "red",
+    "list",
+    "though",
+    "feel",
+    "talk",
+    "bird",
+    "soon",
+    "body",
+    "dog",
+    "family",
+    "direct",
+    "pose",
+    "leave",
+    "song",
+    "measure",
+    "door",
+    "product",
+    "black",
+    "short",
+    "numeral",
+    "class",
+    "wind",
+    "question",
+    "happen",
+    "complete",
+    "ship",
+    "area",
+    "half",
+    "rock",
+    "order",
+    "fire",
+    "south",
+    "problem",
+    "piece",
+    "told",
+    "knew",
+    "pass",
+    "since",
+    "top",
+    "whole",
+    "king",
+    "street",
+    "inch",
+    "multiply",
+    "nothing",
+    "course",
+    "stay",
+    "wheel",
+    "full",
+    "force",
+    "blue",
+    "object",
+    "decide",
+    "surface",
+    "deep",
+    "moon",
+    "island",
+    "foot",
+    "system",
+    "busy",
+    "test",
+    "record",
+    "boat",
+    "common",
+    "gold",
+    "possible",
+    "plane",
+    "stead",
+    "dry",
+    "wonder",
+    "laugh",
+    "thousand",
+    "ago",
+    "ran",
+    "check",
+    "game",
+    "shape",
+    "equate",
+    "hot",
+    "miss",
+    "brought",
+    "heat",
+    "snow",
+    "tire",
+    "bring",
+    "yes",
+    "distant",
+    "fill",
+    "east",
+    "paint",
+    "language",
+    "among",
+    "unit",
+    "power",
+    "town",
+    "fine",
+    "certain",
+    "fly",
+    "fall",
+    "lead",
+    "cry",
+    "dark",
+    "machine",
+    "note",
+    "wait",
+    "plan",
+    "figure",
+    "star",
+    "box",
+    "noun",
+    "field",
+    "rest",
+    "correct",
+    "able",
+    "pound",
+    "done",
+    "beauty",
+    "drive",
+    "stood",
+    "contain",
+    "front",
+    "teach",
+    "week",
+    "final",
+    "gave",
+    "green",
+    "oh",
+    "quick",
+    "develop",
+    "ocean",
+    "warm",
+    "free",
+    "minute",
+    "strong",
+    "special",
+    "mind",
+    "behind",
+    "clear",
+    "tail",
+    "produce",
+    "fact",
+    "space",
+    "heard",
+    "best",
+    "hour",
+    "better",
+    "true",
+    "during",
+    "hundred",
+    "five",
+    "remember",
+    "step",
+    "early",
+    "hold",
+    "west",
+    "ground",
+    "interest",
+    "reach",
+    "fast",
+    "verb",
+    "sing",
+    "listen",
+    "six",
+    "table",
+    "travel",
+    "less",
+    "morning",
+    "ten",
+    "simple",
+    "several",
+    "vowel",
+    "toward",
+    "war",
+    "lay",
+    "against",
+    "pattern",
+    "slow",
+    "center",
+    "love",
+    "person",
+    "money",
+    "serve",
+    "appear",
+    "road",
+    "map",
+    "rain",
+    "rule",
+    "govern",
+    "pull",
+    "cold",
+    "notice",
+    "voice",
+    "energy",
+    "hunt",
+    "probable",
+    "bed",
+    "brother",
+    "egg",
+    "ride",
+    "cell",
+    "believe",
+    "perhaps",
+    "pick",
+    "sudden",
+    "count",
+    "square",
+    "reason",
+    "length",
+    "represent",
+    "art",
+    "subject",
+    "region",
+    "size",
+    "vary",
+    "settle",
+    "speak",
+    "weight",
+    "general",
+    "ice",
+    "matter",
+    "circle",
+    "pair",
+    "include",
+    "divide",
+    "syllable",
+    "felt",
+    "grand",
+    "ball",
+    "yet",
+    "wave",
+    "drop",
+    "heart",
+    "am",
+    "present",
+    "heavy",
+    "dance",
+    "engine",
+    "position",
+    "arm",
+    "wide",
+    "sail",
+    "material",
+    "fraction",
+    "forest",
+    "sit",
+    "race",
+    "window",
+    "store",
+    "summer",
+    "train",
+    "sleep",
+    "prove",
+    "lone",
+    "leg",
+    "exercise",
+    "wall",
+    "catch",
+    "mount",
+    "wish",
+    "sky",
+    "board",
+    "joy",
+    "winter",
+    "sat",
+    "written",
+    "wild",
+    "instrument",
+    "kept",
+    "glass",
+    "grass",
+    "cow",
+    "job",
+    "edge",
+    "sign",
+    "visit",
+    "past",
+    "soft",
+    "fun",
+    "bright",
+    "gas",
+    "weather",
+    "month",
+    "million",
+    "bear",
+    "finish",
+    "happy",
+    "hope",
+    "flower",
+    "clothe",
+    "strange",
+    "gone",
+    "trade",
+    "melody",
+    "trip",
+    "office",
+    "receive",
+    "row",
+    "mouth",
+    "exact",
+    "symbol",
+    "die",
+    "least",
+    "trouble",
+    "shout",
+    "except",
+    "wrote",
+    "seed",
+    "tone",
+    "join",
+    "suggest",
+    "clean",
+    "break",
+    "lady",
+    "yard",
+    "rise",
+    "bad",
+    "blow",
+    "oil",
+    "blood",
+    "touch",
+    "grew",
+    "cent",
+    "mix",
+    "team",
+    "wire",
+    "cost",
+    "lost",
+    "brown",
+    "wear",
+    "garden",
+    "equal",
+    "sent",
+    "choose",
+    "fell",
+    "fit",
+    "flow",
+    "fair",
+    "bank",
+    "collect",
+    "save",
+    "control",
+    "decimal",
+    "ear",
+    "else",
+    "quite",
+    "broke",
+    "case",
+    "middle",
+    "kill",
+    "son",
+    "lake",
+    "moment",
+    "scale",
+    "loud",
+    "spring",
+    "observe",
+    "child",
+    "straight",
+    "consonant",
+    "nation",
+    "dictionary",
+    "milk",
+    "speed",
+    "method",
+    "organ",
+    "pay",
+    "age",
+    "section",
+    "dress",
+    "cloud",
+    "surprise",
+    "quiet",
+    "stone",
+    "tiny",
+    "climb",
+    "cool",
+    "design",
+    "poor",
+    "lot",
+    "experiment",
+    "bottom",
+    "key",
+    "iron",
+    "single",
+    "stick",
+    "flat",
+    "twenty",
+    "skin",
+    "smile",
+    "crease",
+    "hole",
+    "jump",
+    "baby",
+    "eight",
+    "village",
+    "meet",
+    "root",
+    "buy",
+    "raise",
+    "solve",
+    "metal",
+    "whether",
+    "push",
+    "seven",
+    "paragraph",
+    "third",
+    "shall",
+    "held",
+    "hair",
+    "describe",
+    "cook",
+    "floor",
+    "either",
+    "result",
+    "burn",
+    "hill",
+    "safe",
+    "cat",
+    "century",
+    "consider",
+    "type",
+    "law",
+    "bit",
+    "coast",
+    "copy",
+    "phrase",
+    "silent",
+    "tall",
+    "sand",
+    "soil",
+    "roll",
+    "temperature",
+    "finger",
+    "industry",
+    "value",
+    "fight",
+    "lie",
+    "beat",
+    "excite",
+    "natural",
+    "view",
+    "sense",
+    "capital",
+    "won’t",
+    "chair",
+    "danger",
+    "fruit",
+    "rich",
+    "thick",
+    "soldier",
+    "process",
+    "operate",
+    "practice",
+    "separate",
+    "difficult",
+    "doctor",
+    "please",
+    "protect",
+    "noon",
+    "crop",
+    "modern",
+    "element",
+    "hit",
+    "student",
+    "corner",
+    "party",
+    "supply",
+    "whose",
+    "locate",
+    "ring",
+    "character",
+    "insect",
+    "caught",
+    "period",
+    "indicate",
+    "radio",
+    "spoke",
+    "atom",
+    "human",
+    "history",
+    "effect",
+    "electric",
+    "expect",
+    "bone",
+    "rail",
+    "imagine",
+    "provide",
+    "agree",
+    "thus",
+    "gentle",
+    "woman",
+    "captain",
+    "guess",
+    "necessary",
+    "sharp",
+    "wing",
+    "create",
+    "neighbor",
+    "wash",
+    "bat",
+    "rather",
+    "crowd",
+    "corn",
+    "compare",
+    "poem",
+    "string",
+    "bell",
+    "depend",
+    "meat",
+    "rub",
+    "tube",
+    "famous",
+    "dollar",
+    "stream",
+    "fear",
+    "sight",
+    "thin",
+    "triangle",
+    "planet",
+    "hurry",
+    "chief",
+    "colony",
+    "clock",
+    "mine",
+    "tie",
+    "enter",
+    "major",
+    "fresh",
+    "search",
+    "send",
+    "yellow",
+    "gun",
+    "allow",
+    "print",
+    "dead",
+    "spot",
+    "desert",
+    "suit",
+    "current",
+    "lift",
+    "rose",
+    "arrive",
+    "master",
+    "track",
+    "parent",
+    "shore",
+    "division",
+    "sheet",
+    "substance",
+    "favor",
+    "connect",
+    "post",
+    "spend",
+    "chord",
+    "fat",
+    "glad",
+    "original",
+    "share",
+    "station",
+    "dad",
+    "bread",
+    "charge",
+    "proper",
+    "bar",
+    "offer",
+    "segment",
+    "slave",
+    "duck",
+    "instant",
+    "market",
+    "degree",
+    "populate",
+    "chick",
+    "dear",
+    "enemy",
+    "reply",
+    "drink",
+    "occur",
+    "support",
+    "speech",
+    "nature",
+    "range",
+    "steam",
+    "motion",
+    "path",
+    "liquid",
+    "log",
+    "meant",
+    "quotient",
+    "teeth",
+    "shell",
+    "neck",
+    "oxygen",
+    "sugar",
+    "death",
+    "pretty",
+    "skill",
+    "women",
+    "season",
+    "solution",
+    "magnet",
+    "silver",
+    "thank",
+    "branch",
+    "match",
+    "suffix",
+    "especially",
+    "fig",
+    "afraid",
+    "huge",
+    "sister",
+    "steel",
+    "discuss",
+    "forward",
+    "similar",
+    "guide",
+    "experience",
+    "score",
+    "apple",
+    "bought",
+    "led",
+    "pitch",
+    "coat",
+    "mass",
+    "card",
+    "band",
+    "rope",
+    "slip",
+    "win",
+    "dream",
+    "evening",
+    "condition",
+    "feed",
+    "tool",
+    "total",
+    "basic",
+    "smell",
+    "valley",
+    "nor",
+    "double",
+    "seat",
+    "continue",
+    "block",
+    "chart",
+    "hat",
+    "sell",
+    "success",
+    "company",
+    "subtract",
+    "event",
+    "particular",
+    "deal",
+    "swim",
+    "term",
+    "opposite",
+    "wife",
+    "shoe",
+    "shoulder",
+    "spread",
+    "arrange",
+    "camp",
+    "invent",
+    "cotton",
+    "born",
+    "determine",
+    "quart",
+    "nine",
+    "truck",
+    "noise",
+    "level",
+    "chance",
+    "gather",
+    "shop",
+    "stretch",
+    "throw",
+    "shine",
+    "property",
+    "column",
+    "molecule",
+    "select",
+    "wrong",
+    "gray",
+    "repeat",
+    "require",
+    "broad",
+    "prepare",
+    "salt",
+    "nose",
+    "plural",
+    "anger",
+    "claim",
+    "continent",
+]
diff --git a/mimesis/datasets/int/finance.py b/mimesis/datasets/int/finance.py
index 2f1982d8..fdcc2451 100644
--- a/mimesis/datasets/int/finance.py
+++ b/mimesis/datasets/int/finance.py
@@ -1,3525 +1,13060 @@
 """Provides all the generic data related to the business."""
-CURRENCY_ISO_CODES = ['AED', 'AFN', 'ALL', 'AMD', 'ANG', 'AOA', 'ARS',
-    'AUD', 'AWG', 'AZN', 'BAM', 'BBD', 'BDT', 'BGN', 'BHD', 'BIF', 'BMD',
-    'BND', 'BOB', 'BOV', 'BRL', 'BSD', 'BTN', 'BWP', 'BYN', 'BYR', 'BZD',
-    'CAD', 'CDF', 'CHE', 'CHF', 'CHW', 'CLF', 'CLP', 'CNY', 'COP', 'COU',
-    'CRC', 'CUC', 'CUP', 'CVE', 'CZK', 'DJF', 'DKK', 'DOP', 'DZD', 'EGP',
-    'ERN', 'ETB', 'EUR', 'FJD', 'FKP', 'GBP', 'GEL', 'GHS', 'GIP', 'GMD',
-    'GNF', 'GTQ', 'GYD', 'HKD', 'HNL', 'HRK', 'HTG', 'HUF', 'IDR', 'ILS',
-    'INR', 'IQD', 'IRR', 'ISK', 'JMD', 'JOD', 'JPY', 'KES', 'KGS', 'KHR',
-    'KMF', 'KPW', 'KRW', 'KWD', 'KYD', 'KZT', 'LAK', 'LBP', 'LKR', 'LRD',
-    'LSL', 'LYD', 'MAD', 'MDL', 'MGA', 'MKD', 'MMK', 'MNT', 'MOP', 'MRO',
-    'MUR', 'MVR', 'MWK', 'MXN', 'MXV', 'MYR', 'MZN', 'NAD', 'NGN', 'NIO',
-    'NOK', 'NPR', 'NZD', 'OMR', 'PAB', 'PEN', 'PGK', 'PHP', 'PKR', 'PLN',
-    'PYG', 'QAR', 'RON', 'RSD', 'RUB', 'RWF', 'SAR', 'SBD', 'SCR', 'SDG',
-    'SEK', 'SGD', 'SHP', 'SLL', 'SOS', 'SRD', 'SSP', 'STD', 'SVC', 'SYP',
-    'SZL', 'THB', 'TJS', 'TMT', 'TND', 'TOP', 'TRY', 'TTD', 'TWD', 'TZS',
-    'UAH', 'UGX', 'USD', 'USN', 'UYI', 'UYU', 'UZS', 'VEF', 'VND', 'VUV',
-    'WST', 'XAF', 'XAG', 'XAU', 'XBA', 'XBB', 'XBC', 'XBD', 'XCD', 'XDR',
-    'XOF', 'XPD', 'XPF', 'XPT', 'XSU', 'XTS', 'XUA', 'XXX', 'YER', 'ZAR',
-    'ZMW', 'ZWL']
-CRYPTOCURRENCY_ISO_CODES = ['BCH', 'BNB', 'BTC', 'DASH', 'DOT', 'EOS',
-    'ETH', 'IOT', 'LTC', 'USDT', 'VTC', 'WBTC', 'XBC', 'XBT', 'XLM', 'XMR',
-    'XRP', 'XZC', 'ZEC']
-CURRENCY_SYMBOLS = {'cs': 'Kč', 'da': 'kr', 'de': '€', 'de-at': '€',
-    'de-ch': 'Fr.', 'el': '€', 'en': '$', 'en-ca': '$', 'en-gb': '£',
-    'en-au': '$', 'es': '€', 'es-mx': '$', 'et': '€', 'fa': '﷼', 'fi': '€',
-    'fr': '€', 'hr': '€', 'hu': 'Ft', 'is': 'kr', 'it': '€', 'ja': '¥',
-    'kk': '₸', 'ko': '₩', 'nl': '€', 'nl-be': '€', 'no': 'kr', 'pl': 'zł',
-    'pt': '€', 'pt-br': 'R$', 'ru': '₽', 'sk': '€', 'sv': 'kr', 'tr': '₺',
-    'uk': '₴', 'zh': '¥', 'default': '$'}
-CRYPTOCURRENCY_SYMBOLS = ['₿', 'Ł', 'Ξ']
-STOCK_EXCHANGES = ['NYSE', 'NASDAQ', 'AMEX', 'JPX', 'SSE', 'HKEX', 'Euronext']
-STOCK_TICKERS = ['A', 'AA', 'AABA', 'AAC', 'AAL', 'AAMC', 'AAME', 'AAN',
-    'AAOI', 'AAON', 'AAP', 'AAPL', 'AAT', 'AAU', 'AAWW', 'AAXJ', 'AAXN',
-    'AB', 'ABB', 'ABBV', 'ABC', 'ABCB', 'ABDC', 'ABEO', 'ABEOW', 'ABEV',
-    'ABG', 'ABIL', 'ABIO', 'ABM', 'ABMD', 'ABR', 'ABR^A', 'ABR^B', 'ABR^C',
-    'ABT', 'ABTX', 'ABUS', 'AC', 'ACA', 'ACAD', 'ACAM', 'ACAMU', 'ACAMW',
-    'ACB', 'ACBI', 'ACC', 'ACCO', 'ACCP', 'ACER', 'ACGL', 'ACGLO', 'ACGLP',
-    'ACH', 'ACHC', 'ACHN', 'ACHV', 'ACIA', 'ACIU', 'ACIW', 'ACLS', 'ACM',
-    'ACMR', 'ACN', 'ACNB', 'ACOR', 'ACP', 'ACRE', 'ACRS', 'ACRX', 'ACST',
-    'ACT', 'ACTG', 'ACTT', 'ACTTU', 'ACTTW', 'ACU', 'ACV', 'ACWI', 'ACWX',
-    'ACY', 'ADAP', 'ADBE', 'ADC', 'ADES', 'ADI', 'ADIL', 'ADILW', 'ADM',
-    'ADMA', 'ADMP', 'ADMS', 'ADNT', 'ADP', 'ADPT', 'ADRA', 'ADRD', 'ADRE',
-    'ADRO', 'ADRU', 'ADS', 'ADSK', 'ADSW', 'ADT', 'ADTN', 'ADUS', 'ADVM',
-    'ADX', 'ADXS', 'AE', 'AEB', 'AEE', 'AEF', 'AEG', 'AEGN', 'AEH', 'AEHR',
-    'AEIS', 'AEL', 'AEM', 'AEMD', 'AEO', 'AEP', 'AEP^B', 'AER', 'AERI',
-    'AES', 'AESE', 'AEY', 'AEYE', 'AEZS', 'AFB', 'AFC', 'AFG', 'AFGB',
-    'AFGE', 'AFGH', 'AFH', 'AFHBL', 'AFI', 'AFIN', 'AFINP', 'AFL', 'AFMD',
-    'AFT', 'AFYA', 'AG', 'AGBA', 'AGBAR', 'AGBAU', 'AGBAW', 'AGCO', 'AGD',
-    'AGE', 'AGEN', 'AGFS', 'AGFSW', 'AGI', 'AGIO', 'AGLE', 'AGM', 'AGM.A',
-    'AGMH', 'AGM^A', 'AGM^C', 'AGM^D', 'AGN', 'AGNC', 'AGNCB', 'AGNCM',
-    'AGNCN', 'AGND', 'AGO', 'AGO^B', 'AGO^E', 'AGO^F', 'AGR', 'AGRO',
-    'AGRX', 'AGS', 'AGTC', 'AGX', 'AGYS', 'AGZD', 'AHC', 'AHH', 'AHH^A',
-    'AHL^C', 'AHL^D', 'AHL^E', 'AHPI', 'AHT', 'AHT^D', 'AHT^F', 'AHT^G',
-    'AHT^H', 'AHT^I', 'AI', 'AIA', 'AIC', 'AIF', 'AIG', 'AIG.WS', 'AIG^A',
-    'AIHS', 'AIM', 'AIMC', 'AIMT', 'AIN', 'AINC', 'AINV', 'AIQ', 'AIR',
-    'AIRG', 'AIRI', 'AIRR', 'AIRT', 'AIRTP', 'AIRTW', 'AIT', 'AIV', 'AIW',
-    'AIZ', 'AIZP', 'AI^B', 'AI^C', 'AJG', 'AJRD', 'AJX', 'AJXA', 'AKAM',
-    'AKBA', 'AKCA', 'AKER', 'AKG', 'AKO.A', 'AKO.B', 'AKR', 'AKRO', 'AKRX',
-    'AKS', 'AKTS', 'AKTX', 'AL', 'ALAC', 'ALACR', 'ALACU', 'ALACW', 'ALB',
-    'ALBO', 'ALC', 'ALCO', 'ALDR', 'ALDX', 'ALE', 'ALEC', 'ALEX', 'ALG',
-    'ALGN', 'ALGR', 'ALGRR', 'ALGRU', 'ALGRW', 'ALGT', 'ALIM', 'ALIT',
-    'ALJJ', 'ALK', 'ALKS', 'ALL', 'ALLE', 'ALLK', 'ALLO', 'ALLT', 'ALLY',
-    'ALLY^A', 'ALL^A', 'ALL^B', 'ALL^D.CL', 'ALL^E.CL', 'ALL^F.CL', 'ALL^G',
-    'ALL^H', 'ALNA', 'ALNY', 'ALO', 'ALOT', 'ALPN', 'ALP^Q', 'ALRM', 'ALRN',
-    'ALRS', 'ALSK', 'ALSN', 'ALT', 'ALTM', 'ALTR', 'ALTY', 'ALV', 'ALX',
-    'ALXN', 'ALYA', 'AL^A', 'AM', 'AMAG', 'AMAL', 'AMAT', 'AMBA', 'AMBC',
-    'AMBCW', 'AMBO', 'AMC', 'AMCA', 'AMCI', 'AMCIU', 'AMCIW', 'AMCR',
-    'AMCX', 'AMD', 'AME', 'AMED', 'AMEH', 'AMG', 'AMGN', 'AMH', 'AMH^D',
-    'AMH^E', 'AMH^F', 'AMH^G', 'AMH^H', 'AMK', 'AMKR', 'AMN', 'AMNB',
-    'AMOT', 'AMOV', 'AMP', 'AMPE', 'AMPH', 'AMPY', 'AMR', 'AMRB', 'AMRC',
-    'AMRH', 'AMRHW', 'AMRK', 'AMRN', 'AMRS', 'AMRWW', 'AMRX', 'AMS', 'AMSC',
-    'AMSF', 'AMSWA', 'AMT', 'AMTB', 'AMTBB', 'AMTD', 'AMTX', 'AMWD', 'AMX',
-    'AMZN', 'AN', 'ANAB', 'ANAT', 'ANCN', 'ANDA', 'ANDAR', 'ANDAU', 'ANDAW',
-    'ANDE', 'ANET', 'ANF', 'ANFI', 'ANGI', 'ANGO', 'ANH', 'ANH^A', 'ANH^B',
-    'ANH^C', 'ANIK', 'ANIP', 'ANIX', 'ANSS', 'ANTE', 'ANTM', 'ANY', 'AOBC',
-    'AOD', 'AON', 'AOS', 'AOSL', 'AP', 'APA', 'APAM', 'APD', 'APDN',
-    'APDNW', 'APEI', 'APEN', 'APEX', 'APH', 'APHA', 'APLE', 'APLS', 'APLT',
-    'APM', 'APO', 'APOG', 'APOP', 'APOPW', 'APO^A', 'APO^B', 'APPF', 'APPN',
-    'APPS', 'APRN', 'APT', 'APTO', 'APTS', 'APTV', 'APTX', 'APVO', 'APWC',
-    'APY', 'APYX', 'AQ', 'AQB', 'AQMS', 'AQN', 'AQNA', 'AQNB', 'AQST',
-    'AQUA', 'AR', 'ARA', 'ARAV', 'ARAY', 'ARC', 'ARCB', 'ARCC', 'ARCE',
-    'ARCH', 'ARCO', 'ARCT', 'ARD', 'ARDC', 'ARDS', 'ARDX', 'ARE', 'AREC',
-    'ARES', 'ARES^A', 'AREX', 'ARE^D', 'ARGD', 'ARGO', 'ARGX', 'ARI',
-    'ARKR', 'ARL', 'ARLO', 'ARLP', 'ARMK', 'ARMP', 'ARNA', 'ARNC', 'ARNC^',
-    'AROC', 'AROW', 'ARPO', 'ARQL', 'ARR', 'ARR^B', 'ARTL', 'ARTLW',
-    'ARTNA', 'ARTW', 'ARTX', 'ARVN', 'ARW', 'ARWR', 'ARYA', 'ARYAU',
-    'ARYAW', 'ASA', 'ASB', 'ASB^C', 'ASB^D', 'ASB^E', 'ASC', 'ASET', 'ASFI',
-    'ASG', 'ASGN', 'ASH', 'ASIX', 'ASLN', 'ASM', 'ASMB', 'ASML', 'ASNA',
-    'ASND', 'ASPN', 'ASPS', 'ASPU', 'ASR', 'ASRT', 'ASRV', 'ASRVP', 'ASTC',
-    'ASTE', 'ASUR', 'ASX', 'ASYS', 'AT', 'ATAI', 'ATAX', 'ATEC', 'ATEN',
-    'ATEST', 'ATEST.A', 'ATEST.B', 'ATEST.C', 'ATEX', 'ATGE', 'ATH', 'ATHE',
-    'ATHM', 'ATHX', 'ATH^A', 'ATI', 'ATIF', 'ATIS', 'ATISW', 'ATKR', 'ATLC',
-    'ATLO', 'ATNI', 'ATNM', 'ATNX', 'ATO', 'ATOM', 'ATOS', 'ATR', 'ATRA',
-    'ATRC', 'ATRI', 'ATRO', 'ATRS', 'ATSG', 'ATTO', 'ATU', 'ATUS', 'ATV',
-    'ATVI', 'ATXI', 'AU', 'AUB', 'AUBN', 'AUDC', 'AUG', 'AUMN', 'AUO',
-    'AUPH', 'AUTL', 'AUTO', 'AUY', 'AVA', 'AVAL', 'AVAV', 'AVB', 'AVCO',
-    'AVD', 'AVDL', 'AVDR', 'AVEO', 'AVGO', 'AVGR', 'AVH', 'AVID', 'AVK',
-    'AVLR', 'AVNS', 'AVNW', 'AVP', 'AVRO', 'AVT', 'AVTR', 'AVTR^A', 'AVX',
-    'AVXL', 'AVY', 'AVYA', 'AWF', 'AWI', 'AWK', 'AWP', 'AWR', 'AWRE',
-    'AWSM', 'AWX', 'AX', 'AXAS', 'AXDX', 'AXE', 'AXGN', 'AXGT', 'AXL',
-    'AXLA', 'AXNX', 'AXO', 'AXP', 'AXR', 'AXS', 'AXSM', 'AXS^D', 'AXS^E',
-    'AXTA', 'AXTI', 'AXU', 'AY', 'AYI', 'AYR', 'AYTU', 'AYX', 'AZN', 'AZO',
-    'AZPN', 'AZRE', 'AZRX', 'AZUL', 'AZZ', 'B', 'BA', 'BABA', 'BAC',
-    'BAC^A', 'BAC^B', 'BAC^C', 'BAC^E', 'BAC^K', 'BAC^L', 'BAC^M', 'BAC^Y',
-    'BAF', 'BAH', 'BAM', 'BANC', 'BANC^D', 'BANC^E', 'BAND', 'BANF',
-    'BANFP', 'BANR', 'BANX', 'BAP', 'BAS', 'BASI', 'BATRA', 'BATRK', 'BAX',
-    'BB', 'BBAR', 'BBBY', 'BBC', 'BBCP', 'BBD', 'BBDC', 'BBDO', 'BBF',
-    'BBGI', 'BBH', 'BBI', 'BBIO', 'BBK', 'BBL', 'BBN', 'BBP', 'BBRX',
-    'BBSI', 'BBT', 'BBT^F', 'BBT^G', 'BBT^H', 'BBU', 'BBVA', 'BBW', 'BBX',
-    'BBY', 'BC', 'BCBP', 'BCC', 'BCDA', 'BCDAW', 'BCE', 'BCEI', 'BCEL',
-    'BCH', 'BCLI', 'BCML', 'BCNA', 'BCO', 'BCOM', 'BCOR', 'BCOV', 'BCOW',
-    'BCPC', 'BCRH', 'BCRX', 'BCS', 'BCSF', 'BCTF', 'BCV', 'BCV^A', 'BCX',
-    'BCYC', 'BC^A', 'BC^B', 'BC^C', 'BDC', 'BDGE', 'BDJ', 'BDL', 'BDN',
-    'BDR', 'BDSI', 'BDX', 'BDXA', 'BE', 'BEAT', 'BECN', 'BEDU', 'BELFA',
-    'BELFB', 'BEN', 'BEP', 'BERY', 'BEST', 'BF.A', 'BF.B', 'BFAM', 'BFC',
-    'BFIN', 'BFIT', 'BFK', 'BFO', 'BFRA', 'BFS', 'BFST', 'BFS^C', 'BFS^D',
-    'BFY', 'BFZ', 'BG', 'BGB', 'BGCP', 'BGFV', 'BGG', 'BGH', 'BGI', 'BGIO',
-    'BGNE', 'BGR', 'BGRN', 'BGS', 'BGSF', 'BGT', 'BGX', 'BGY', 'BH', 'BH.A',
-    'BHAT', 'BHB', 'BHC', 'BHE', 'BHF', 'BHFAL', 'BHFAP', 'BHGE', 'BHK',
-    'BHLB', 'BHP', 'BHR', 'BHR^B', 'BHR^D', 'BHTG', 'BHV', 'BHVN', 'BIB',
-    'BICK', 'BID', 'BIDU', 'BIF', 'BIG', 'BIIB', 'BILI', 'BIMI', 'BIO',
-    'BIO.B', 'BIOC', 'BIOL', 'BIOS', 'BIOX', 'BIOX.WS', 'BIP', 'BIS', 'BIT',
-    'BITA', 'BIVI', 'BJ', 'BJRI', 'BK', 'BKCC', 'BKCH', 'BKD', 'BKE',
-    'BKEP', 'BKEPP', 'BKH', 'BKI', 'BKJ', 'BKK', 'BKN', 'BKNG', 'BKSC',
-    'BKT', 'BKTI', 'BKU', 'BKYI', 'BK^C', 'BL', 'BLBD', 'BLCM', 'BLCN',
-    'BLD', 'BLDP', 'BLDR', 'BLE', 'BLFS', 'BLIN          ', 'BLK', 'BLKB',
-    'BLL', 'BLMN', 'BLNK', 'BLNKW', 'BLPH', 'BLRX', 'BLU', 'BLUE', 'BLW',
-    'BLX', 'BMA', 'BMCH', 'BME', 'BMI', 'BMLP', 'BML^G', 'BML^H', 'BML^J',
-    'BML^L', 'BMO', 'BMRA', 'BMRC', 'BMRN', 'BMTC', 'BMY', 'BND', 'BNDW',
-    'BNDX', 'BNED', 'BNFT', 'BNGO', 'BNGOW', 'BNKL', 'BNS', 'BNSO', 'BNTC',
-    'BNTCW', 'BNY', 'BOCH', 'BOE', 'BOH', 'BOKF', 'BOKFL', 'BOLD', 'BOMN',
-    'BOOM', 'BOOT', 'BORR', 'BOSC', 'BOTJ', 'BOTZ', 'BOX', 'BOXL', 'BP',
-    'BPFH', 'BPL', 'BPMC', 'BPMP', 'BPMX', 'BPOP', 'BPOPM', 'BPOPN', 'BPR',
-    'BPRAP', 'BPRN', 'BPT', 'BPTH', 'BPY', 'BPYPO', 'BPYPP', 'BQH', 'BR',
-    'BRC', 'BREW', 'BRFS', 'BRG', 'BRG^A', 'BRG^C', 'BRG^D', 'BRID',
-    'BRK.A', 'BRK.B', 'BRKL', 'BRKR', 'BRKS', 'BRN', 'BRO', 'BROG', 'BROGR',
-    'BROGU', 'BROGW', 'BRPA', 'BRPAR', 'BRPAU', 'BRPAW', 'BRPM', 'BRPM.U',
-    'BRPM.WS', 'BRQS', 'BRT', 'BRX', 'BRY', 'BSA', 'BSAC', 'BSBR', 'BSD',
-    'BSE', 'BSET', 'BSGM', 'BSIG', 'BSL', 'BSM', 'BSMX', 'BSQR', 'BSRR',
-    'BST', 'BSTC', 'BSTZ', 'BSVN', 'BSX', 'BT', 'BTA', 'BTAI', 'BTE',
-    'BTEC', 'BTG', 'BTI', 'BTN', 'BTO', 'BTT', 'BTU', 'BTZ', 'BUD', 'BUI',
-    'BURG', 'BURL', 'BUSE', 'BV', 'BVN', 'BVSN', 'BVXV', 'BVXVW', 'BW',
-    'BWA', 'BWAY', 'BWB', 'BWEN', 'BWFG', 'BWG', 'BWL.A', 'BWMC', 'BWMCU',
-    'BWMCW', 'BWXT', 'BX', 'BXC', 'BXG', 'BXMT', 'BXMX', 'BXP', 'BXP^B',
-    'BXS', 'BY', 'BYD', 'BYFC', 'BYM', 'BYND', 'BYSI', 'BZH', 'BZM', 'BZUN',
-    'C', 'CAAP', 'CAAS', 'CABO', 'CAC', 'CACC', 'CACG', 'CACI', 'CADE',
-    'CAE', 'CAF', 'CAG', 'CAH', 'CAI', 'CAI^A', 'CAI^B', 'CAJ', 'CAKE',
-    'CAL', 'CALA', 'CALM', 'CALX', 'CAMP', 'CAMT', 'CANF', 'CANG', 'CAPL',
-    'CAPR', 'CAR', 'CARA', 'CARB', 'CARE', 'CARG', 'CARO', 'CARS', 'CART',
-    'CARV', 'CARZ', 'CASA', 'CASH', 'CASI', 'CASS', 'CASY', 'CAT', 'CATB',
-    'CATC', 'CATH', 'CATM', 'CATO', 'CATS', 'CATY', 'CB', 'CBAN', 'CBAT',
-    'CBAY', 'CBB', 'CBB^B', 'CBD', 'CBFV', 'CBH', 'CBIO', 'CBL', 'CBLI',
-    'CBLK', 'CBL^D', 'CBL^E', 'CBM', 'CBMB', 'CBMG', 'CBNK', 'CBO', 'CBOE',
-    'CBPO', 'CBPX', 'CBRE', 'CBRL', 'CBS', 'CBS.A', 'CBSH', 'CBSHP', 'CBT',
-    'CBTX', 'CBU', 'CBUS', 'CBX', 'CBZ', 'CC', 'CCB', 'CCBG', 'CCC',
-    'CCC.WS', 'CCCL', 'CCD', 'CCEP', 'CCF', 'CCH', 'CCH.U', 'CCH.WS', 'CCI',
-    'CCI^A', 'CCJ', 'CCK', 'CCL', 'CCLP', 'CCM', 'CCMP', 'CCNE', 'CCO',
-    'CCOI', 'CCR', 'CCRC', 'CCRN', 'CCS', 'CCU', 'CCX', 'CCX.U', 'CCX.WS',
-    'CCXI', 'CCZ', 'CDAY', 'CDC', 'CDE', 'CDEV', 'CDK', 'CDL', 'CDLX',
-    'CDMO', 'CDMOP', 'CDNA', 'CDNS', 'CDOR', 'CDR', 'CDR^B', 'CDR^C',
-    'CDTX', 'CDW', 'CDXC', 'CDXS', 'CDZI', 'CE', 'CEA', 'CECE', 'CECO',
-    'CEE', 'CEI', 'CEIX', 'CEL', 'CELC', 'CELG', 'CELGZ', 'CELH', 'CELP',
-    'CEM', 'CEMI', 'CEN', 'CENT', 'CENTA', 'CENX', 'CEO', 'CEPU', 'CEQP',
-    'CEQP^', 'CERC', 'CERN', 'CERS', 'CET', 'CETV', 'CETX', 'CETXP',
-    'CETXW', 'CEV', 'CEVA', 'CEY', 'CEZ', 'CF', 'CFA', 'CFB', 'CFBI',
-    'CFBK', 'CFFA', 'CFFAU', 'CFFAW', 'CFFI', 'CFFN', 'CFG', 'CFG^D',
-    'CFMS', 'CFO', 'CFR', 'CFRX', 'CFR^A', 'CFX', 'CFXA', 'CG', 'CGA',
-    'CGBD', 'CGC', 'CGEN', 'CGIX', 'CGNX', 'CGO', 'CHA', 'CHAC', 'CHAC.U',
-    'CHAC.WS', 'CHAP', 'CHCI', 'CHCO', 'CHCT', 'CHD', 'CHDN', 'CHE', 'CHEF',
-    'CHEK', 'CHEKW', 'CHEKZ', 'CHFS', 'CHGG', 'CHH', 'CHI', 'CHIC', 'CHK',
-    'CHKP', 'CHKR', 'CHK^D', 'CHL', 'CHMA', 'CHMG', 'CHMI', 'CHMI^A',
-    'CHMI^B', 'CHN', 'CHNA', 'CHNG', 'CHNGU', 'CHNR', 'CHRA', 'CHRS',
-    'CHRW', 'CHS', 'CHSCL', 'CHSCM', 'CHSCN', 'CHSCO', 'CHSCP', 'CHSP',
-    'CHT', 'CHTR', 'CHU', 'CHUY', 'CHW', 'CHWY', 'CHY', 'CI', 'CIA', 'CIB',
-    'CIBR', 'CID', 'CIDM', 'CIEN', 'CIF', 'CIFS', 'CIG', 'CIG.C', 'CIGI',
-    'CIH', 'CII', 'CIK', 'CIL', 'CIM', 'CIM^A', 'CIM^B', 'CIM^C', 'CIM^D',
-    'CINF', 'CINR', 'CIO', 'CIO^A', 'CIR', 'CISN', 'CIT', 'CIVB', 'CIVBP',
-    'CIX', 'CIZ', 'CIZN', 'CJ', 'CJJD', 'CKH', 'CKPT', 'CKX', 'CL', 'CLAR',
-    'CLB', 'CLBK', 'CLBS', 'CLCT', 'CLDB', 'CLDR', 'CLDT', 'CLDX', 'CLF',
-    'CLFD', 'CLGN', 'CLGX', 'CLH', 'CLI', 'CLIR', 'CLLS', 'CLM', 'CLMT',
-    'CLNC', 'CLNE', 'CLNY', 'CLNY^B', 'CLNY^E', 'CLNY^G', 'CLNY^H',
-    'CLNY^I', 'CLNY^J', 'CLOU', 'CLPR', 'CLPS', 'CLR', 'CLRB', 'CLRBZ',
-    'CLRG', 'CLRO', 'CLS', 'CLSD', 'CLSN', 'CLUB', 'CLVS', 'CLW', 'CLWT',
-    'CLX', 'CLXT', 'CM', 'CMA', 'CMBM', 'CMC', 'CMCL', 'CMCM', 'CMCO',
-    'CMCSA', 'CMCT', 'CMCTP', 'CMD', 'CME', 'CMFNL', 'CMG', 'CMI', 'CMLS',
-    'CMO', 'CMO^E', 'CMP', 'CMPR', 'CMRE', 'CMRE^B', 'CMRE^C', 'CMRE^D',
-    'CMRE^E', 'CMRX', 'CMS', 'CMSA', 'CMSC', 'CMSD', 'CMS^B', 'CMT', 'CMTL',
-    'CMU', 'CNA', 'CNAT', 'CNBKA', 'CNC', 'CNCE', 'CNCR', 'CNDT', 'CNET',
-    'CNF', 'CNFR', 'CNFRL', 'CNHI', 'CNI', 'CNK', 'CNMD', 'CNNE', 'CNO',
-    'CNOB', 'CNP', 'CNP^B', 'CNQ', 'CNR', 'CNS', 'CNSL', 'CNST', 'CNTF',
-    'CNTX', 'CNTY', 'CNX', 'CNXM', 'CNXN', 'CO', 'COCP', 'CODA', 'CODI',
-    'CODI^A', 'CODI^B', 'CODX', 'COE', 'COF', 'COF^C', 'COF^D', 'COF^F',
-    'COF^G', 'COF^H', 'COF^P', 'COG', 'COHN', 'COHR', 'COHU', 'COKE',
-    'COLB', 'COLD', 'COLL', 'COLM', 'COMM', 'COMT', 'CONE', 'CONN', 'COO',
-    'COOP', 'COP', 'COR', 'CORE', 'CORR', 'CORR^A', 'CORT', 'CORV', 'COST',
-    'COT', 'COTY', 'COUP', 'COWN', 'COWNL', 'COWNZ', 'CP', 'CPA', 'CPAA',
-    'CPAAU', 'CPAAW', 'CPAC', 'CPAH', 'CPB', 'CPE', 'CPF', 'CPG', 'CPHC',
-    'CPHI', 'CPIX', 'CPK', 'CPL', 'CPLG', 'CPLP', 'CPRI', 'CPRT', 'CPRX',
-    'CPS', 'CPSH', 'CPSI', 'CPSS', 'CPST', 'CPT', 'CPTA', 'CPTAG', 'CPTAL',
-    'CPTI', 'CQP', 'CR', 'CRAI', 'CRAY', 'CRBP', 'CRC', 'CRCM', 'CRD.A',
-    'CRD.B', 'CREE', 'CREG', 'CRESY', 'CREX', 'CREXW', 'CRF', 'CRH', 'CRHM',
-    'CRI', 'CRIS', 'CRK', 'CRL', 'CRM', 'CRMD', 'CRMT', 'CRNT', 'CRNX',
-    'CRON', 'CROX', 'CRR', 'CRS', 'CRSA', 'CRSAU', 'CRSAW', 'CRSP', 'CRT',
-    'CRTO', 'CRTX', 'CRUS', 'CRVL', 'CRVS', 'CRWD', 'CRWS', 'CRY', 'CRZO',
-    'CS', 'CSA', 'CSB', 'CSBR', 'CSCO', 'CSF', 'CSFL', 'CSGP', 'CSGS',
-    'CSII', 'CSIQ', 'CSL', 'CSLT', 'CSML', 'CSOD', 'CSPI', 'CSQ', 'CSS',
-    'CSSE', 'CSSEP', 'CSTE', 'CSTL', 'CSTM', 'CSTR', 'CSU', 'CSV', 'CSWC',
-    'CSWCL', 'CSWI', 'CSX', 'CTAA', 'CTAC', 'CTACU', 'CTACW', 'CTAS',
-    'CTA^A', 'CTA^B', 'CTB', 'CTBB', 'CTBI', 'CTDD', 'CTEK', 'CTEST',
-    'CTEST.E', 'CTEST.G', 'CTEST.L', 'CTEST.O', 'CTEST.S', 'CTEST.V', 'CTG',
-    'CTHR', 'CTIB', 'CTIC', 'CTK', 'CTL', 'CTLT', 'CTMX', 'CTO', 'CTR',
-    'CTRA', 'CTRC', 'CTRE', 'CTRM', 'CTRN', 'CTRP', 'CTS', 'CTSH', 'CTSO',
-    'CTST', 'CTT           ', 'CTV', 'CTVA', 'CTWS', 'CTXR', 'CTXRW',
-    'CTXS', 'CTY', 'CTZ', 'CUB', 'CUBA', 'CUBE', 'CUBI', 'CUBI^C', 'CUBI^D',
-    'CUBI^E', 'CUBI^F', 'CUE', 'CUI', 'CUK', 'CULP', 'CUO', 'CUR', 'CURO',
-    'CUTR', 'CUZ', 'CVA', 'CVBF', 'CVCO', 'CVCY', 'CVE', 'CVEO', 'CVET',
-    'CVGI', 'CVGW', 'CVI', 'CVIA', 'CVLT', 'CVLY', 'CVM', 'CVNA', 'CVR',
-    'CVRS', 'CVS', 'CVTI', 'CVU', 'CVV', 'CVX', 'CW', 'CWBC', 'CWBR',
-    'CWCO', 'CWEN', 'CWEN.A', 'CWH', 'CWK', 'CWST', 'CWT', 'CX', 'CXDC',
-    'CXE', 'CXH', 'CXO', 'CXP', 'CXSE', 'CXW', 'CY', 'CYAD', 'CYAN', 'CYBE',
-    'CYBR', 'CYCC', 'CYCCP', 'CYCN', 'CYD', 'CYH', 'CYOU', 'CYRN', 'CYRX',
-    'CYRXW', 'CYTK', 'CZNC', 'CZR', 'CZWI', 'CZZ', 'C^J', 'C^K', 'C^N',
-    'C^S', 'D', 'DAC', 'DAIO', 'DAKT', 'DAL', 'DALI', 'DAN', 'DAR', 'DARE',
-    'DAVA', 'DAVE', 'DAX', 'DB', 'DBD', 'DBI', 'DBL', 'DBVT', 'DBX', 'DCAR',
-    'DCF', 'DCI', 'DCIX', 'DCO', 'DCOM', 'DCP', 'DCPH', 'DCP^B', 'DCP^C',
-    'DCUE', 'DD', 'DDD', 'DDF', 'DDIV', 'DDMX', 'DDMXU', 'DDMXW', 'DDOC',
-    'DDS', 'DDT', 'DE', 'DEA', 'DEAC', 'DEACU', 'DEACW', 'DECK', 'DEI',
-    'DELL', 'DENN', 'DEO', 'DERM', 'DESP', 'DEST', 'DEX', 'DF', 'DFBH',
-    'DFBHU', 'DFBHW', 'DFFN', 'DFIN', 'DFNL', 'DFP', 'DFRG', 'DFS', 'DFVL',
-    'DFVS', 'DG', 'DGICA', 'DGICB', 'DGII', 'DGLD', 'DGLY', 'DGRE', 'DGRS',
-    'DGRW', 'DGSE', 'DGX', 'DHF', 'DHI', 'DHIL', 'DHR', 'DHR^A', 'DHT',
-    'DHX', 'DHXM', 'DHY', 'DIAX', 'DIN', 'DINT', 'DIOD', 'DIS', 'DISCA',
-    'DISCB', 'DISCK', 'DISH', 'DIT', 'DJCO', 'DK', 'DKL', 'DKS', 'DKT',
-    'DL', 'DLA', 'DLB', 'DLBS', 'DLHC', 'DLNG', 'DLNG^A', 'DLNG^B', 'DLPH',
-    'DLPN', 'DLPNW', 'DLR', 'DLR^C', 'DLR^G', 'DLR^I', 'DLR^J', 'DLR^K',
-    'DLTH', 'DLTR', 'DLX', 'DMAC', 'DMB', 'DMF', 'DMLP', 'DMO', 'DMPI',
-    'DMRC', 'DMTK', 'DMTKW', 'DNBF', 'DNI', 'DNJR', 'DNKN', 'DNLI', 'DNN',
-    'DNOW', 'DNP', 'DNR', 'DO', 'DOC', 'DOCU', 'DOGZ', 'DOMO', 'DOOO',
-    'DOOR', 'DORM', 'DOV', 'DOVA', 'DOW', 'DOX', 'DOYU', 'DPG', 'DPHC',
-    'DPHCU', 'DPHCW', 'DPLO', 'DPW', 'DPZ', 'DQ', 'DRAD', 'DRADP', 'DRD',
-    'DRE', 'DRH', 'DRI', 'DRIO', 'DRIOW', 'DRIV', 'DRMT', 'DRNA', 'DRQ',
-    'DRRX', 'DRUA', 'DRYS', 'DS', 'DSE', 'DSGX', 'DSKE', 'DSKEW', 'DSL',
-    'DSLV', 'DSM', 'DSPG', 'DSS', 'DSSI', 'DSU', 'DSWL', 'DSX', 'DSX^B',
-    'DS^B', 'DS^C', 'DS^D', 'DT', 'DTE', 'DTEA', 'DTF', 'DTIL', 'DTJ',
-    'DTLA^', 'DTQ', 'DTSS', 'DTUL', 'DTUS', 'DTV', 'DTW', 'DTY', 'DTYL',
-    'DTYS', 'DUC', 'DUK', 'DUKB', 'DUKH', 'DUK^A', 'DUSA', 'DVA', 'DVAX',
-    'DVD', 'DVLU', 'DVN', 'DVOL', 'DVY', 'DWAQ', 'DWAS', 'DWAT', 'DWCR',
-    'DWFI', 'DWIN', 'DWLD', 'DWMC', 'DWPP', 'DWSH', 'DWSN', 'DWTR', 'DX',
-    'DXB', 'DXC', 'DXCM', 'DXF', 'DXGE', 'DXJS', 'DXLG', 'DXPE', 'DXR',
-    'DXYN', 'DX^A', 'DX^B', 'DY', 'DYAI', 'DYNT', 'DZSI', 'E', 'EA', 'EAB',
-    'EAD', 'EAE', 'EAF', 'EAI', 'EARN', 'EARS', 'EAST', 'EAT', 'EB', 'EBAY',
-    'EBAYL', 'EBF', 'EBIX', 'EBIZ', 'EBMT', 'EBR', 'EBR.B', 'EBS', 'EBSB',
-    'EBTC', 'EC', 'ECA', 'ECC           ', 'ECCA', 'ECCB', 'ECCX', 'ECCY',
-    'ECF', 'ECF^A', 'ECHO', 'ECL', 'ECOL', 'ECOM          ', 'ECOR', 'ECOW',
-    'ECPG', 'ECT', 'ED', 'EDAP', 'EDD', 'EDF', 'EDI', 'EDIT', 'EDN', 'EDNT',
-    'EDRY', 'EDSA', 'EDTX', 'EDTXU', 'EDTXW', 'EDU', 'EDUC', 'EE', 'EEA',
-    'EEFT', 'EEI', 'EEMA', 'EEX', 'EFAS', 'EFBI', 'EFC', 'EFF', 'EFL',
-    'EFOI', 'EFR', 'EFSC', 'EFT', 'EFX', 'EGAN', 'EGBN', 'EGF', 'EGHT',
-    'EGI', 'EGIF', 'EGLE', 'EGO', 'EGOV', 'EGP', 'EGRX', 'EGY', 'EHC',
-    'EHI', 'EHR', 'EHT', 'EHTH', 'EIC', 'EIDX', 'EIG', 'EIGI', 'EIGR',
-    'EIM', 'EIX', 'EKSO', 'EL', 'ELAN', 'ELC', 'ELF', 'ELGX', 'ELJ', 'ELLO',
-    'ELMD', 'ELOX', 'ELP', 'ELS', 'ELSE', 'ELTK', 'ELU', 'ELVT', 'ELY',
-    'EMAN', 'EMB', 'EMCB', 'EMCF', 'EMCG', 'EMCI', 'EMD', 'EME', 'EMF',
-    'EMIF', 'EMKR', 'EML', 'EMMS', 'EMN', 'EMO', 'EMP', 'EMR', 'EMX',
-    'EMXC', 'ENB', 'ENBA', 'ENBL', 'ENDP', 'ENFC', 'ENG', 'ENIA', 'ENIC',
-    'ENJ', 'ENLC', 'ENLV', 'ENO', 'ENOB', 'ENPH', 'ENR', 'ENR^A', 'ENS',
-    'ENSG', 'ENSV', 'ENT', 'ENTA', 'ENTG', 'ENTX', 'ENTXW', 'ENV', 'ENVA',
-    'ENX', 'ENZ', 'ENZL', 'EOD', 'EOG', 'EOI', 'EOLS', 'EOS', 'EOT', 'EPAM',
-    'EPAY', 'EPC', 'EPD', 'EPIX', 'EPM', 'EPR', 'EPRT', 'EPR^C', 'EPR^E',
-    'EPR^G', 'EPSN', 'EPZM', 'EP^C', 'EQ', 'EQBK', 'EQC', 'EQC^D', 'EQH',
-    'EQIX', 'EQM', 'EQNR', 'EQR', 'EQRR', 'EQS', 'EQT', 'ERA', 'ERC', 'ERF',
-    'ERH', 'ERI', 'ERIC', 'ERIE', 'ERII', 'ERJ', 'EROS', 'ERYP', 'ES',
-    'ESBK', 'ESCA', 'ESE', 'ESEA', 'ESG', 'ESGD', 'ESGE', 'ESGG', 'ESGR',
-    'ESGRO', 'ESGRP', 'ESGU', 'ESI', 'ESLT', 'ESNT', 'ESP', 'ESPR', 'ESQ',
-    'ESRT', 'ESS', 'ESSA', 'ESTA', 'ESTC', 'ESTE', 'ESTR', 'ESTRW', 'ESXB',
-    'ET', 'ETB', 'ETFC', 'ETG', 'ETH', 'ETI^', 'ETJ', 'ETM', 'ETN', 'ETO',
-    'ETON', 'ETP^C', 'ETP^D', 'ETP^E', 'ETR', 'ETRN', 'ETSY', 'ETTX', 'ETV',
-    'ETW', 'ETX           ', 'ETY', 'EUFN', 'EURN', 'EV', 'EVA', 'EVBG',
-    'EVBN', 'EVC', 'EVER', 'EVF', 'EVFM', 'EVG', 'EVGBC', 'EVGN', 'EVH',
-    'EVI', 'EVK', 'EVLMC', 'EVLO', 'EVM', 'EVN', 'EVOK', 'EVOL', 'EVOP',
-    'EVR', 'EVRG', 'EVRI', 'EVSI', 'EVSIW', 'EVSTC', 'EVT', 'EVTC', 'EVV',
-    'EVY', 'EW', 'EWBC', 'EWJE', 'EWJV', 'EWZS', 'EXAS', 'EXC', 'EXD',
-    'EXEL', 'EXFO', 'EXG', 'EXK', 'EXLS', 'EXP', 'EXPC', 'EXPCU', 'EXPD',
-    'EXPE', 'EXPI', 'EXPO', 'EXPR', 'EXR', 'EXTN', 'EXTR', 'EYE', 'EYEG',
-    'EYEGW', 'EYEN', 'EYES', 'EYESW', 'EYPT', 'EZPW', 'EZT', 'F', 'FAAR',
-    'FAB', 'FAD', 'FAF', 'FALN', 'FAM', 'FAMI', 'FANG', 'FANH', 'FARM',
-    'FARO', 'FAST', 'FAT', 'FATE', 'FAX', 'FB', 'FBC', 'FBHS', 'FBIO',
-    'FBIOP', 'FBIZ', 'FBK', 'FBM', 'FBMS', 'FBNC', 'FBP', 'FBSS', 'FBZ',
-    'FC', 'FCA', 'FCAL', 'FCAN', 'FCAP', 'FCAU', 'FCBC', 'FCBP', 'FCCO',
-    'FCCY', 'FCEF', 'FCEL', 'FCF', 'FCFS', 'FCN', 'FCNCA', 'FCO', 'FCPT',
-    'FCSC', 'FCT', 'FCVT', 'FCX', 'FDBC', 'FDEF', 'FDEU', 'FDIV', 'FDNI',
-    'FDP', 'FDS', 'FDT', 'FDTS', 'FDUS', 'FDUSL', 'FDUSZ', 'FDX', 'FE',
-    'FEDU', 'FEI           ', 'FEIM', 'FELE', 'FELP', 'FEM', 'FEMB', 'FEMS',
-    'FEN', 'FENC', 'FENG', 'FEO', 'FEP', 'FET', 'FEUZ', 'FEX', 'FEYE', 'FF',
-    'FFA', 'FFBC', 'FFBW', 'FFC', 'FFG', 'FFHL', 'FFIC', 'FFIN', 'FFIV',
-    'FFNW', 'FFWM', 'FG', 'FG.WS', 'FGB', 'FGBI', 'FGEN', 'FGM', 'FGP',
-    'FHB', 'FHK', 'FHL', 'FHN', 'FHN^A', 'FI', 'FIBK', 'FICO', 'FID', 'FIF',
-    'FII', 'FINS', 'FINX', 'FIS', 'FISI', 'FISV', 'FIT', 'FITB', 'FITBI',
-    'FITBP', 'FIV', 'FIVE', 'FIVN', 'FIX', 'FIXD', 'FIXX', 'FIZZ', 'FJP',
-    'FKLY', 'FKO', 'FKU', 'FL', 'FLAG', 'FLAT', 'FLC', 'FLDM', 'FLEX',
-    'FLGT', 'FLIC', 'FLIR', 'FLL', 'FLLCU', 'FLMN', 'FLMNW', 'FLN', 'FLNG',
-    'FLNT', 'FLO', 'FLOW', 'FLR', 'FLS', 'FLT', 'FLUX', 'FLWR', 'FLWS',
-    'FLXN', 'FLXS', 'FLY', 'FMAO', 'FMAX', 'FMB', 'FMBH', 'FMBI', 'FMC',
-    'FMCI', 'FMCIU', 'FMCIW', 'FMHI', 'FMK', 'FMN', 'FMNB', 'FMO', 'FMS',
-    'FMX', 'FMY', 'FN', 'FNB', 'FNB^E', 'FNCB', 'FND', 'FNF', 'FNHC',
-    'FNJN', 'FNK', 'FNKO', 'FNLC', 'FNSR', 'FNV', 'FNWB', 'FNX', 'FNY',
-    'FOCS', 'FOE', 'FOF', 'FOLD', 'FOMX', 'FONR', 'FOR', 'FORD', 'FORK',
-    'FORM', 'FORR', 'FORTY', 'FOSL', 'FOX', 'FOXA', 'FOXF', 'FPA', 'FPAC',
-    'FPAC.U', 'FPAC.WS', 'FPAY', 'FPAYW', 'FPF', 'FPH', 'FPI', 'FPI^B',
-    'FPL', 'FPRX', 'FPXE', 'FPXI', 'FR', 'FRA', 'FRAC', 'FRAF', 'FRAN',
-    'FRBA', 'FRBK', 'FRC', 'FRC^D', 'FRC^F', 'FRC^G', 'FRC^H', 'FRC^I',
-    'FRD', 'FRED', 'FRGI', 'FRME', 'FRO', 'FRPH', 'FRPT', 'FRSX', 'FRT',
-    'FRTA', 'FRT^C', 'FSB', 'FSBC', 'FSBW', 'FSCT', 'FSD', 'FSEA', 'FSFG',
-    'FSI', 'FSK', 'FSLR', 'FSLY', 'FSM', 'FSP', 'FSS', 'FSTR', 'FSV', 'FSZ',
-    'FT', 'FTA', 'FTAC', 'FTACU', 'FTACW', 'FTAG', 'FTAI', 'FTC', 'FTCH',
-    'FTCS', 'FTDR', 'FTEK', 'FTEO', 'FTF', 'FTFT', 'FTGC', 'FTHI', 'FTI',
-    'FTK', 'FTLB', 'FTNT', 'FTNW', 'FTR', 'FTRI', 'FTS', 'FTSI', 'FTSL',
-    'FTSM', 'FTSV', 'FTV', 'FTV^A', 'FTXD', 'FTXG', 'FTXH', 'FTXL', 'FTXN',
-    'FTXO', 'FTXR', 'FUL', 'FULC', 'FULT', 'FUN', 'FUNC', 'FUND', 'FUSB',
-    'FUV', 'FV', 'FVC', 'FVCB', 'FVE', 'FVRR', 'FWONA', 'FWONK', 'FWP',
-    'FWRD', 'FXNC', 'FYC', 'FYT', 'FYX', 'F^B', 'G', 'GAB', 'GABC', 'GAB^D',
-    'GAB^G', 'GAB^H', 'GAB^J', 'GAIA', 'GAIN', 'GAINL', 'GAINM', 'GALT',
-    'GAM', 'GAM^B', 'GARS', 'GASS', 'GATX', 'GBAB', 'GBCI', 'GBDC', 'GBL',
-    'GBLI', 'GBLIL', 'GBLIZ', 'GBLK', 'GBR', 'GBT', 'GBX', 'GCAP', 'GCBC',
-    'GCI', 'GCO', 'GCP', 'GCV', 'GCVRZ', 'GCV^B', 'GD', 'GDDY', 'GDEN',
-    'GDI', 'GDL', 'GDL^C', 'GDO', 'GDOT', 'GDP', 'GDS', 'GDV', 'GDV^A',
-    'GDV^D', 'GDV^G', 'GDV^H', 'GE', 'GEC', 'GECC', 'GECCL', 'GECCM',
-    'GECCN', 'GEF', 'GEF.B', 'GEL', 'GEMP', 'GEN           ', 'GENC',
-    'GENE', 'GENY', 'GEO', 'GEOS', 'GER', 'GERN', 'GES', 'GEVO', 'GF',
-    'GFED', 'GFF', 'GFI', 'GFN', 'GFNCP', 'GFNSL', 'GFY', 'GGAL', 'GGB',
-    'GGG', 'GGM', 'GGN', 'GGN^B', 'GGO', 'GGO^A', 'GGT', 'GGT^B', 'GGT^E',
-    'GGZ', 'GGZ^A', 'GH', 'GHC', 'GHDX', 'GHG', 'GHL', 'GHM', 'GHSI', 'GHY',
-    'GIB', 'GIFI', 'GIG', 'GIG.U', 'GIG.WS', 'GIGE', 'GIGM', 'GIG~', 'GIII',
-    'GIL', 'GILD', 'GILT', 'GIM', 'GIS', 'GIX', 'GIX.U', 'GIX.WS', 'GIX~',
-    'GJH', 'GJO', 'GJP', 'GJR', 'GJS', 'GJT', 'GJV', 'GKOS', 'GL', 'GLAC',
-    'GLACR', 'GLACU', 'GLACW', 'GLAD', 'GLADD', 'GLADN', 'GLBS', 'GLBZ',
-    'GLDD', 'GLDI', 'GLG', 'GLIBA', 'GLIBP', 'GLMD', 'GLNG', 'GLO', 'GLOB',
-    'GLOG', 'GLOG^A', 'GLOP', 'GLOP^A', 'GLOP^B', 'GLOP^C', 'GLOW', 'GLP',
-    'GLPG', 'GLPI', 'GLP^A', 'GLQ', 'GLRE', 'GLT', 'GLU', 'GLUU', 'GLU^A',
-    'GLU^B', 'GLV', 'GLW', 'GLYC', 'GL^C', 'GM', 'GMAB', 'GMDA', 'GME',
-    'GMED', 'GMHI', 'GMHIU', 'GMHIW', 'GMLP', 'GMLPP', 'GMO', 'GMRE',
-    'GMRE^A', 'GMS', 'GMTA', 'GMZ', 'GNC', 'GNCA', 'GNE', 'GNE^A', 'GNFT',
-    'GNK', 'GNL', 'GNLN', 'GNL^A', 'GNMA', 'GNMK', 'GNMX', 'GNOM', 'GNPX',
-    'GNRC', 'GNST', 'GNT', 'GNTX', 'GNTY', 'GNT^A', 'GNUS', 'GNW', 'GO',
-    'GOF', 'GOGL', 'GOGO', 'GOL', 'GOLD', 'GOLF', 'GOOD', 'GOODM', 'GOODO',
-    'GOODP', 'GOOG', 'GOOGL', 'GOOS', 'GORO', 'GOSS', 'GPAQ', 'GPAQU',
-    'GPAQW', 'GPC', 'GPI', 'GPJA', 'GPK', 'GPL', 'GPM', 'GPMT', 'GPN',
-    'GPOR', 'GPP', 'GPRE', 'GPRK', 'GPRO', 'GPS', 'GPX', 'GRA', 'GRAF',
-    'GRAF.U', 'GRAF.WS', 'GRAM', 'GRBK', 'GRC', 'GRF', 'GRFS', 'GRID',
-    'GRIF', 'GRIN', 'GRMN', 'GRNQ', 'GROW', 'GRP.U', 'GRPN', 'GRSH',
-    'GRSHU', 'GRSHW', 'GRTS', 'GRUB', 'GRVY', 'GRX', 'GRX^A', 'GRX^B', 'GS',
-    'GSAH', 'GSAH.U', 'GSAH.WS', 'GSAT', 'GSB', 'GSBC', 'GSBD', 'GSH',
-    'GSHD', 'GSIT', 'GSK', 'GSKY', 'GSL', 'GSL^B', 'GSM', 'GSS', 'GSUM',
-    'GSV', 'GSX', 'GS^A', 'GS^C', 'GS^D', 'GS^J', 'GS^K', 'GS^N', 'GT',
-    'GTE', 'GTES', 'GTHX', 'GTIM', 'GTLS', 'GTN', 'GTN.A', 'GTS', 'GTT',
-    'GTX', 'GTY', 'GTYH', 'GULF', 'GURE', 'GUT', 'GUT^A', 'GUT^C', 'GV',
-    'GVA', 'GVP', 'GWB', 'GWGH', 'GWPH', 'GWR', 'GWRE', 'GWRS', 'GWW',
-    'GXGX', 'GXGXU', 'GXGXW', 'GYB', 'GYC', 'GYRO', 'H', 'HA', 'HABT',
-    'HAE', 'HAFC', 'HAIN', 'HAIR', 'HAL', 'HALL', 'HALO', 'HARP', 'HAS',
-    'HASI', 'HAYN', 'HBAN', 'HBANN', 'HBANO', 'HBB', 'HBCP', 'HBI', 'HBIO',
-    'HBM', 'HBMD', 'HBNC', 'HBP', 'HCA', 'HCAC', 'HCACU', 'HCACW', 'HCAP',
-    'HCAPZ', 'HCAT', 'HCC', 'HCCH', 'HCCHR', 'HCCHU', 'HCCHW', 'HCCI',
-    'HCFT', 'HCHC', 'HCI', 'HCKT', 'HCM', 'HCP', 'HCR', 'HCSG', 'HCXY',
-    'HCXZ', 'HD', 'HDB', 'HDS', 'HDSN', 'HE', 'HEAR', 'HEBT', 'HEES', 'HEI',
-    'HEI.A', 'HELE', 'HEP', 'HEPA', 'HEQ', 'HERD', 'HES', 'HESM', 'HEWG',
-    'HEXO', 'HFBL', 'HFC', 'HFFG', 'HFRO', 'HFRO^A', 'HFWA', 'HGH', 'HGLB',
-    'HGSH', 'HGV', 'HHC', 'HHHH', 'HHHHR', 'HHHHU', 'HHHHW', 'HHR', 'HHS',
-    'HHT', 'HI', 'HIBB', 'HIE', 'HIFS', 'HIG', 'HIG^G', 'HIHO', 'HII',
-    'HIIQ', 'HIL', 'HIMX', 'HIO', 'HIW', 'HIX', 'HJLI', 'HJLIW', 'HJV',
-    'HKIB', 'HL', 'HLAL', 'HLF', 'HLG', 'HLI', 'HLIO', 'HLIT', 'HLM^',
-    'HLNE', 'HLT', 'HLX', 'HL^B', 'HMC', 'HMG', 'HMHC', 'HMI', 'HMLP',
-    'HMLP^A', 'HMN', 'HMNF', 'HMST', 'HMSY', 'HMTV', 'HMY', 'HNDL', 'HNGR',
-    'HNI', 'HNNA', 'HNP', 'HNRG', 'HNW', 'HOFT', 'HOG', 'HOLI', 'HOLX',
-    'HOMB', 'HOME', 'HON', 'HONE', 'HOOK', 'HOPE', 'HOS', 'HOTH', 'HOV',
-    'HOVNP', 'HP', 'HPE', 'HPF', 'HPI', 'HPJ', 'HPP', 'HPQ', 'HPR', 'HPS',
-    'HPT', 'HQH', 'HQI', 'HQL', 'HQY', 'HR', 'HRB', 'HRC', 'HRI', 'HRL',
-    'HROW', 'HRTG', 'HRTX', 'HRZN', 'HSAC', 'HSACU', 'HSACW', 'HSBC',
-    'HSBC^A', 'HSC', 'HSDT', 'HSGX', 'HSIC', 'HSII', 'HSKA', 'HSON', 'HST',
-    'HSTM', 'HSY', 'HT', 'HTA', 'HTBI', 'HTBK', 'HTBX', 'HTD', 'HTFA',
-    'HTGC', 'HTGM', 'HTH', 'HTHT', 'HTLD', 'HTLF', 'HTY', 'HTZ', 'HT^C',
-    'HT^D', 'HT^E', 'HUBB', 'HUBG', 'HUBS', 'HUD', 'HUM', 'HUN', 'HURC',
-    'HURN', 'HUSA', 'HUYA', 'HVBC', 'HVT', 'HVT.A', 'HWBK', 'HWC', 'HWCC',
-    'HWCPL', 'HWKN', 'HX', 'HXL', 'HY', 'HYAC', 'HYACU', 'HYACW', 'HYB',
-    'HYI', 'HYLS', 'HYND', 'HYRE', 'HYT', 'HYXE', 'HYZD', 'HZN', 'HZNP',
-    'HZO', 'I', 'IAA', 'IAC', 'IAE', 'IAF', 'IAG', 'IART', 'IBA', 'IBB',
-    'IBCP', 'IBEX', 'IBIO', 'IBKC', 'IBKCN', 'IBKCO', 'IBKCP', 'IBM', 'IBN',
-    'IBO', 'IBOC', 'IBP', 'IBTX', 'IBUY', 'ICAD', 'ICBK', 'ICCC', 'ICCH',
-    'ICD', 'ICE', 'ICFI', 'ICHR', 'ICL', 'ICLK', 'ICLN', 'ICLR', 'ICMB',
-    'ICON', 'ICPT', 'ICUI', 'IDA', 'IDCC', 'IDE', 'IDEX', 'IDLB', 'IDN',
-    'IDRA', 'IDSA', 'IDSY', 'IDT', 'IDXG', 'IDXX', 'IDYA', 'IEA', 'IEAWW',
-    'IEC', 'IEF', 'IEI', 'IEP', 'IESC', 'IEUS', 'IEX', 'IFEU', 'IFF',
-    'IFFT', 'IFGL', 'IFMK', 'IFN', 'IFRX', 'IFS', 'IFV', 'IGA', 'IGC',
-    'IGD', 'IGF', 'IGI', 'IGIB', 'IGLD', 'IGLE', 'IGOV', 'IGR', 'IGSB',
-    'IGT', 'IHC', 'IHD', 'IHG', 'IHIT', 'IHRT', 'IHT', 'IHTA', 'IID', 'IIF',
-    'III', 'IIIN', 'IIIV', 'IIM', 'IIN', 'IIPR', 'IIPR^A', 'IIVI', 'IJT',
-    'IKNX', 'ILMN', 'ILPT', 'IMAC', 'IMACW', 'IMAX', 'IMBI', 'IMGN', 'IMH',
-    'IMI', 'IMKTA', 'IMMP', 'IMMR', 'IMMU', 'IMO', 'IMOS', 'IMRN', 'IMRNW',
-    'IMTE', 'IMUX', 'IMV', 'IMXI', 'INAP', 'INB', 'INBK', 'INBKL', 'INBKZ',
-    'INCY', 'INDB', 'INDY', 'INF', 'INFI', 'INFN', 'INFO', 'INFR', 'INFU',
-    'INFY', 'ING', 'INGN', 'INGR', 'INMB', 'INMD', 'INN', 'INNT', 'INN^D',
-    'INN^E', 'INO', 'INOD', 'INOV', 'INPX', 'INS', 'INSE', 'INSG', 'INSI',
-    'INSM', 'INSP', 'INST', 'INSU', 'INSUU', 'INSUW', 'INSW', 'INSW^A',
-    'INT', 'INTC', 'INTG', 'INTL', 'INTT', 'INTU', 'INUV', 'INVA', 'INVE',
-    'INVH', 'INWK', 'INXN', 'IO', 'IONS', 'IOR', 'IOSP', 'IOTS', 'IOVA',
-    'IP', 'IPAR', 'IPB', 'IPDN', 'IPG', 'IPGP', 'IPHI', 'IPHS', 'IPI',
-    'IPKW', 'IPLDP', 'IPOA', 'IPOA.U', 'IPOA.WS', 'IPWR', 'IQ', 'IQI',
-    'IQV', 'IR', 'IRBT', 'IRCP', 'IRDM', 'IRET', 'IRET^C', 'IRIX', 'IRL',
-    'IRM', 'IRMD', 'IROQ', 'IRR', 'IRS', 'IRT', 'IRTC', 'IRWD', 'ISBC',
-    'ISCA', 'ISD', 'ISDR', 'ISDS', 'ISDX', 'ISEE', 'ISEM', 'ISG', 'ISHG',
-    'ISIG', 'ISNS', 'ISR', 'ISRG', 'ISRL', 'ISSC', 'ISTB', 'ISTR', 'IT',
-    'ITCB', 'ITCI', 'ITEQ', 'ITGR', 'ITI', 'ITIC', 'ITMR', 'ITP', 'ITRI',
-    'ITRM', 'ITRN', 'ITT', 'ITUB', 'ITW', 'IUS', 'IUSB', 'IUSG', 'IUSS',
-    'IUSV', 'IVAC', 'IVC', 'IVH', 'IVR', 'IVR^A', 'IVR^B', 'IVR^C', 'IVZ',
-    'IX', 'IXUS', 'IZEA', 'JACK', 'JAG', 'JAGX', 'JAKK', 'JAN', 'JASN',
-    'JAX', 'JAZZ', 'JBGS', 'JBHT', 'JBK', 'JBL', 'JBLU', 'JBN', 'JBR',
-    'JBSS', 'JBT', 'JCAP', 'JCAP^B', 'JCE', 'JCI', 'JCO', 'JCOM', 'JCP',
-    'JCS', 'JCTCF', 'JD', 'JDD', 'JE', 'JEC', 'JEF', 'JELD', 'JEMD', 'JEQ',
-    'JE^A', 'JFIN', 'JFK', 'JFKKR', 'JFKKU', 'JFKKW', 'JFR', 'JFU', 'JG',
-    'JGH', 'JHAA', 'JHB', 'JHD', 'JHG', 'JHI', 'JHS', 'JHX', 'JHY', 'JILL',
-    'JJSF', 'JKHY', 'JKI', 'JKS', 'JLL', 'JLS', 'JMEI', 'JMF', 'JMIA',
-    'JMLP', 'JMM', 'JMP', 'JMPB', 'JMPD', 'JMT', 'JMU', 'JNCE', 'JNJ',
-    'JNPR', 'JOB', 'JOBS', 'JOE', 'JOF', 'JOUT', 'JP', 'JPC', 'JPI', 'JPM',
-    'JPM^A', 'JPM^C', 'JPM^D', 'JPM^F', 'JPM^G', 'JPM^H', 'JPS', 'JPT',
-    'JQC', 'JRI', 'JRJC', 'JRO', 'JRS', 'JRSH', 'JRVR', 'JSD', 'JSM',
-    'JSMD', 'JSML', 'JT', 'JTA', 'JTD', 'JVA', 'JW.A', 'JW.B', 'JWN',
-    'JYNT', 'K', 'KAI', 'KALA', 'KALU', 'KALV', 'KAMN', 'KAR', 'KB', 'KBAL',
-    'KBH', 'KBLM', 'KBLMR', 'KBLMU', 'KBLMW', 'KBR', 'KBSF', 'KBWB', 'KBWD',
-    'KBWP', 'KBWR', 'KBWY', 'KCAPL', 'KDMN', 'KDP', 'KE', 'KEG', 'KELYA',
-    'KELYB', 'KEM', 'KEN', 'KEP', 'KEQU', 'KERN', 'KERNW', 'KEX', 'KEY',
-    'KEYS', 'KEY^I', 'KEY^J', 'KEY^K', 'KF', 'KFFB', 'KFRC', 'KFS', 'KFY',
-    'KGC', 'KGJI', 'KHC', 'KIDS', 'KIM', 'KIM^I.CL', 'KIM^J', 'KIM^K.CL',
-    'KIM^L', 'KIM^M', 'KIN', 'KINS', 'KIO', 'KIQ', 'KIRK', 'KKR', 'KKR^A',
-    'KKR^B', 'KL', 'KLAC', 'KLDO', 'KLIC', 'KLXE', 'KMB', 'KMDA', 'KMF',
-    'KMI', 'KMPH', 'KMPR', 'KMT', 'KMX', 'KN', 'KNDI', 'KNL', 'KNOP',
-    'KNSA', 'KNSL', 'KNX', 'KO', 'KOD', 'KODK', 'KOF', 'KOOL', 'KOP',
-    'KOPN', 'KOS', 'KOSS', 'KPTI', 'KR', 'KRA', 'KRC', 'KREF', 'KRG',
-    'KRMA', 'KRNT', 'KRNY', 'KRO', 'KRP', 'KRTX', 'KRUS', 'KRYS', 'KSM',
-    'KSS', 'KSU', 'KSU^', 'KT', 'KTB', 'KTCC', 'KTF', 'KTH', 'KTN', 'KTOS',
-    'KTOV', 'KTOVW', 'KTP', 'KURA', 'KVHI', 'KW', 'KWEB', 'KWR', 'KXIN',
-    'KYN', 'KYN^F', 'KZIA', 'KZR', 'L', 'LAC', 'LACQ', 'LACQU', 'LACQW',
-    'LAD', 'LADR', 'LAIX', 'LAKE', 'LAMR', 'LANC', 'LAND', 'LANDP', 'LARK',
-    'LASR', 'LAUR', 'LAWS', 'LAZ', 'LAZY', 'LB', 'LBAI', 'LBC', 'LBRDA',
-    'LBRDK', 'LBRT', 'LBTYA', 'LBTYB', 'LBTYK', 'LBY', 'LBYAV', 'LBYKV',
-    'LC', 'LCA', 'LCAHU', 'LCAHW', 'LCI', 'LCII', 'LCNB', 'LCTX', 'LCUT',
-    'LDL', 'LDOS', 'LDP', 'LDRI', 'LDSF', 'LE', 'LEA', 'LEAF', 'LECO',
-    'LEDS', 'LEE', 'LEG', 'LEGH', 'LEGR', 'LEJU', 'LEN', 'LEN.B', 'LEO',
-    'LEU', 'LEVI', 'LEVL', 'LFAC', 'LFACU', 'LFACW', 'LFC', 'LFUS', 'LFVN',
-    'LGC', 'LGC.U', 'LGC.WS', 'LGF.A', 'LGF.B', 'LGI', 'LGIH', 'LGL',
-    'LGND', 'LH', 'LHC', 'LHC.U', 'LHC.WS', 'LHCG', 'LHX', 'LIFE', 'LII',
-    'LILA', 'LILAK', 'LIN', 'LINC', 'LIND', 'LINX', 'LIQT', 'LITB', 'LITE',
-    'LIVE', 'LIVN', 'LIVX', 'LJPC', 'LK', 'LKCO', 'LKFN', 'LKOR', 'LKQ',
-    'LKSD', 'LL', 'LLEX', 'LLIT', 'LLNW', 'LLY', 'LM', 'LMAT', 'LMB',
-    'LMBS', 'LMFA', 'LMFAW', 'LMHA', 'LMHB', 'LMNR', 'LMNX', 'LMRK',
-    'LMRKN', 'LMRKO', 'LMRKP', 'LMST', 'LMT', 'LN', 'LNC', 'LND', 'LNDC',
-    'LNG', 'LNGR', 'LNN', 'LNT', 'LNTH', 'LOAC', 'LOACR', 'LOACU', 'LOACW',
-    'LOAN', 'LOB', 'LOCO', 'LODE', 'LOGC', 'LOGI', 'LOGM', 'LOMA', 'LONE',
-    'LOOP', 'LOPE', 'LOR', 'LORL', 'LOV', 'LOVE', 'LOW', 'LPCN', 'LPG',
-    'LPI', 'LPL', 'LPLA', 'LPSN', 'LPT', 'LPTH', 'LPTX', 'LPX', 'LQDA',
-    'LQDT', 'LRAD', 'LRCX', 'LRGE', 'LRN', 'LSBK', 'LSCC', 'LSI', 'LSTR',
-    'LSXMA', 'LSXMB', 'LSXMK', 'LTBR', 'LTC', 'LTHM', 'LTM', 'LTRPA',
-    'LTRPB', 'LTRX', 'LTS', 'LTSF', 'LTSH', 'LTSK', 'LTSL', 'LTS^A', 'LTXB',
-    'LUB', 'LULU', 'LUNA', 'LUNG', 'LUV', 'LVGO', 'LVHD', 'LVS', 'LW',
-    'LWAY', 'LX', 'LXFR', 'LXP', 'LXP^C', 'LXRX', 'LXU', 'LYB', 'LYFT',
-    'LYG', 'LYL', 'LYTS', 'LYV', 'LZB', 'M', 'MA', 'MAA', 'MAA^I', 'MAC',
-    'MACK', 'MAG', 'MAGS', 'MAIN', 'MAMS', 'MAN', 'MANH', 'MANT', 'MANU',
-    'MAR', 'MARA', 'MARK', 'MARPS', 'MAS', 'MASI', 'MAT', 'MATW', 'MATX',
-    'MAV', 'MAXR', 'MAYS', 'MBB', 'MBCN', 'MBI', 'MBII', 'MBIN', 'MBINO',
-    'MBINP', 'MBIO', 'MBOT', 'MBRX', 'MBSD', 'MBT', 'MBUU', 'MBWM', 'MC',
-    'MCA', 'MCB', 'MCBC', 'MCC', 'MCD', 'MCEF', 'MCEP', 'MCF', 'MCFT',
-    'MCHI', 'MCHP', 'MCHX', 'MCI', 'MCK', 'MCN', 'MCO', 'MCR', 'MCRB',
-    'MCRI', 'MCRN', 'MCS', 'MCV', 'MCX', 'MCY', 'MD', 'MDB', 'MDC', 'MDCA',
-    'MDCO', 'MDGL', 'MDGS', 'MDGSW', 'MDIV', 'MDJH', 'MDLA', 'MDLQ', 'MDLX',
-    'MDLY', 'MDLZ', 'MDP', 'MDR', 'MDRR', 'MDRX', 'MDSO', 'MDT', 'MDU',
-    'MDWD', 'MEC', 'MED', 'MEDP', 'MEET', 'MEI', 'MEIP', 'MELI', 'MEN',
-    'MEOH', 'MERC', 'MER^K', 'MESA', 'MESO', 'MET', 'METC', 'MET^A',
-    'MET^E', 'MFA', 'MFAC', 'MFAC.U', 'MFAC.WS', 'MFA^B', 'MFC', 'MFD',
-    'MFG', 'MFGP', 'MFIN', 'MFINL', 'MFL', 'MFM', 'MFNC', 'MFO', 'MFSF',
-    'MFT', 'MFV', 'MG', 'MGA', 'MGEE', 'MGEN', 'MGF', 'MGI', 'MGIC', 'MGLN',
-    'MGM', 'MGNX', 'MGP', 'MGPI', 'MGR', 'MGRC', 'MGTA', 'MGTX', 'MGU',
-    'MGY', 'MGYR', 'MHD', 'MHE', 'MHF', 'MHH', 'MHI', 'MHK', 'MHLA', 'MHLD',
-    'MHN', 'MHNC', 'MHO', 'MH^A', 'MH^C', 'MH^D', 'MIC', 'MICR', 'MICT',
-    'MIDD', 'MIE', 'MIK', 'MILN', 'MIME', 'MIN', 'MIND', 'MINDP', 'MINI',
-    'MIRM', 'MIST', 'MITK', 'MITO', 'MITT', 'MITT^A', 'MITT^B', 'MIXT',
-    'MIY', 'MJCO', 'MKC', 'MKC.V', 'MKGI', 'MKL', 'MKSI', 'MKTX', 'MLAB',
-    'MLCO', 'MLHR', 'MLI', 'MLM', 'MLND', 'MLNT', 'MLNX', 'MLP', 'MLR',
-    'MLSS', 'MLVF', 'MMAC', 'MMC', 'MMD', 'MMI', 'MMLP', 'MMM', 'MMP',
-    'MMS', 'MMSI', 'MMT', 'MMU', 'MMX', 'MMYT', 'MN', 'MNCL', 'MNCLU',
-    'MNCLW', 'MNDO', 'MNE', 'MNI', 'MNK', 'MNKD', 'MNLO', 'MNOV', 'MNP',
-    'MNR', 'MNRL', 'MNRO', 'MNR^C', 'MNSB', 'MNST', 'MNTA', 'MNTX', 'MO',
-    'MOBL', 'MOD', 'MODN', 'MOFG', 'MOG.A', 'MOG.B', 'MOGO', 'MOGU', 'MOH',
-    'MOMO', 'MOR', 'MORF', 'MORN', 'MOS', 'MOSC', 'MOSC.U', 'MOSC.WS',
-    'MOSY', 'MOTA', 'MOTS', 'MOV', 'MOXC', 'MPA', 'MPAA', 'MPB', 'MPC',
-    'MPLX', 'MPV', 'MPVD', 'MPW', 'MPWR', 'MPX', 'MQT', 'MQY', 'MR', 'MRAM',
-    'MRBK', 'MRC', 'MRCC', 'MRCCL', 'MRCY', 'MREO', 'MRIC', 'MRIN', 'MRK',
-    'MRKR', 'MRLN', 'MRNA', 'MRNS', 'MRO', 'MRSN', 'MRTN', 'MRTX', 'MRUS',
-    'MRVL', 'MS', 'MSA', 'MSB', 'MSBF', 'MSBI', 'MSC', 'MSCI', 'MSD',
-    'MSEX', 'MSFT', 'MSG', 'MSGN', 'MSI', 'MSL', 'MSM', 'MSN', 'MSON',
-    'MSTR', 'MSVB', 'MS^A', 'MS^E', 'MS^F', 'MS^G', 'MS^I', 'MS^K', 'MT',
-    'MTB', 'MTBC', 'MTBCP', 'MTC', 'MTCH', 'MTD', 'MTDR', 'MTEM', 'MTEX',
-    'MTFB', 'MTFBW', 'MTG', 'MTH', 'MTL', 'MTLS', 'MTL^', 'MTN', 'MTNB',
-    'MTOR', 'MTP', 'MTR', 'MTRN', 'MTRX', 'MTSC', 'MTSI', 'MTSL', 'MTT',
-    'MTW', 'MTX', 'MTZ', 'MU', 'MUA', 'MUC', 'MUDS', 'MUDSU', 'MUDSW',
-    'MUE', 'MUFG', 'MUH', 'MUI', 'MUJ', 'MUR', 'MUS', 'MUSA', 'MUX', 'MVBF',
-    'MVC', 'MVCD', 'MVF', 'MVIS', 'MVO', 'MVT', 'MWA', 'MWK', 'MX', 'MXC',
-    'MXE', 'MXF', 'MXIM', 'MXL', 'MYC', 'MYD', 'MYE', 'MYF', 'MYFW', 'MYGN',
-    'MYI', 'MYJ', 'MYL', 'MYN', 'MYO', 'MYOK', 'MYOS', 'MYOV', 'MYRG',
-    'MYSZ', 'MYT', 'MZA', 'NAC', 'NAD', 'NAII', 'NAK', 'NAKD', 'NAN',
-    'NANO', 'NAOV', 'NAT', 'NATH', 'NATI', 'NATR', 'NAV', 'NAVB', 'NAVI',
-    'NAV^D', 'NAZ', 'NBB', 'NBCP', 'NBEV', 'NBH', 'NBHC', 'NBIX', 'NBL',
-    'NBLX', 'NBN', 'NBO', 'NBR', 'NBRV', 'NBR^A', 'NBSE', 'NBTB', 'NBW',
-    'NBY', 'NC', 'NCA', 'NCB', 'NCBS', 'NCI', 'NCLH', 'NCMI', 'NCNA', 'NCR',
-    'NCSM', 'NCTY', 'NCV', 'NCV^A', 'NCZ', 'NCZ^A', 'NDAQ', 'NDLS', 'NDP',
-    'NDRA', 'NDRAW', 'NDSN', 'NE', 'NEA', 'NEBU', 'NEBUU', 'NEBUW', 'NEE',
-    'NEE^I', 'NEE^J', 'NEE^K', 'NEE^N', 'NEE^O', 'NEM', 'NEN', 'NEO',
-    'NEOG', 'NEON', 'NEOS', 'NEP', 'NEPH', 'NEPT', 'NERV', 'NES', 'NESR',
-    'NESRW', 'NETE', 'NEU', 'NEV', 'NEW', 'NEWA', 'NEWM', 'NEWR', 'NEWT',
-    'NEWTI', 'NEWTL', 'NEXA', 'NEXT', 'NFBK', 'NFC', 'NFC.U', 'NFC.WS',
-    'NFE', 'NFG', 'NFIN', 'NFINU', 'NFINW', 'NFJ', 'NFLX', 'NFTY', 'NG',
-    'NGD', 'NGG', 'NGHC', 'NGHCN', 'NGHCO', 'NGHCP', 'NGHCZ', 'NGL',
-    'NGLS^A', 'NGL^B', 'NGL^C', 'NGM', 'NGS', 'NGVC', 'NGVT', 'NH', 'NHA',
-    'NHC', 'NHF', 'NHI', 'NHLD', 'NHLDW', 'NHS', 'NHTC', 'NI', 'NICE',
-    'NICK', 'NID', 'NIE', 'NIHD', 'NIM', 'NINE', 'NIO', 'NIQ', 'NIU',
-    'NI^B', 'NJR', 'NJV', 'NK', 'NKE', 'NKG', 'NKSH', 'NKTR', 'NKX', 'NL',
-    'NLNK', 'NLS', 'NLSN', 'NLTX', 'NLY', 'NLY^D', 'NLY^F', 'NLY^G',
-    'NLY^I', 'NM', 'NMCI', 'NMFC', 'NMFX', 'NMI', 'NMIH', 'NMK^B', 'NMK^C',
-    'NML', 'NMM', 'NMR', 'NMRD', 'NMRK', 'NMS', 'NMT', 'NMY', 'NMZ', 'NM^G',
-    'NM^H', 'NNA', 'NNBR', 'NNC', 'NNDM', 'NNI', 'NNN', 'NNN^E.CL', 'NNN^F',
-    'NNVC', 'NNY', 'NOA', 'NOAH', 'NOC', 'NODK', 'NOG', 'NOK', 'NOM',
-    'NOMD', 'NOV', 'NOVA', 'NOVN', 'NOVT', 'NOW', 'NP', 'NPAUU', 'NPK',
-    'NPN', 'NPO', 'NPTN', 'NPV', 'NQP', 'NR', 'NRC', 'NRCG', 'NRCG.WS',
-    'NRE', 'NRG', 'NRGX', 'NRIM', 'NRK', 'NRO', 'NRP', 'NRT', 'NRUC', 'NRZ',
-    'NRZ^A', 'NRZ^B', 'NS', 'NSA', 'NSA^A', 'NSC', 'NSCO', 'NSCO.WS',
-    'NSEC', 'NSIT', 'NSL', 'NSP', 'NSPR', 'NSPR.WS', 'NSPR.WS.B', 'NSS',
-    'NSSC', 'NSTG', 'NSYS', 'NS^A', 'NS^B', 'NS^C', 'NTAP', 'NTB', 'NTC',
-    'NTCT', 'NTEC', 'NTES', 'NTEST', 'NTEST.A', 'NTEST.B', 'NTEST.C', 'NTG',
-    'NTGN', 'NTGR', 'NTIC', 'NTIP', 'NTLA', 'NTN', 'NTNX', 'NTP', 'NTR',
-    'NTRA', 'NTRP', 'NTRS', 'NTRSP', 'NTUS', 'NTWK', 'NTX', 'NTZ', 'NUAN',
-    'NUE', 'NUM', 'NUO', 'NURO', 'NUROW', 'NUS', 'NUV', 'NUVA', 'NUW',
-    'NVAX', 'NVCN', 'NVCR', 'NVDA', 'NVEC', 'NVEE', 'NVFY', 'NVG', 'NVGS',
-    'NVIV', 'NVLN', 'NVMI', 'NVO', 'NVR', 'NVRO', 'NVS', 'NVT', 'NVTA',
-    'NVTR', 'NVUS', 'NWBI', 'NWE', 'NWFL', 'NWHM', 'NWL', 'NWLI', 'NWN',
-    'NWPX', 'NWS', 'NWSA', 'NX', 'NXC', 'NXE', 'NXGN', 'NXJ', 'NXMD', 'NXN',
-    'NXP', 'NXPI', 'NXQ', 'NXR', 'NXRT', 'NXST', 'NXTC', 'NXTD', 'NXTG',
-    'NYCB', 'NYCB^A', 'NYCB^U', 'NYMT', 'NYMTN', 'NYMTO', 'NYMTP', 'NYMX',
-    'NYNY', 'NYT', 'NYV', 'NZF', 'O', 'OAC', 'OAC.U', 'OAC.WS', 'OAK',
-    'OAK^A', 'OAK^B', 'OAS', 'OBAS', 'OBCI', 'OBE', 'OBLN', 'OBNK', 'OBSV',
-    'OC', 'OCC', 'OCCI', 'OCCIP', 'OCFC', 'OCN', 'OCSI', 'OCSL', 'OCSLL',
-    'OCUL', 'OCX', 'ODC', 'ODFL', 'ODP', 'ODT', 'OEC', 'OESX', 'OFC',
-    'OFED', 'OFG', 'OFG^A', 'OFG^B', 'OFG^D', 'OFIX', 'OFLX', 'OFS',
-    'OFSSL', 'OFSSZ', 'OGE', 'OGEN', 'OGI', 'OGS', 'OHAI', 'OHI', 'OI',
-    'OIA', 'OIBR.C', 'OII', 'OIIM', 'OIS', 'OKE', 'OKTA', 'OLBK', 'OLD',
-    'OLED', 'OLLI', 'OLN', 'OLP', 'OMAB', 'OMC', 'OMCL', 'OMER', 'OMEX',
-    'OMF', 'OMI', 'OMN', 'OMP', 'ON', 'ONB', 'ONCE', 'ONCS', 'ONCT', 'ONCY',
-    'ONDK', 'ONE', 'ONEQ', 'ONTX', 'ONTXW', 'ONVO', 'OOMA', 'OPB', 'OPBK',
-    'OPES', 'OPESU', 'OPESW', 'OPGN', 'OPGNW', 'OPHC', 'OPI', 'OPINI',
-    'OPK', 'OPNT', 'OPOF', 'OPP', 'OPRA', 'OPRX', 'OPTN', 'OPTT', 'OPY',
-    'OR', 'ORA', 'ORAN', 'ORBC', 'ORC', 'ORCC', 'ORCL', 'ORG', 'ORGO',
-    'ORGS', 'ORI', 'ORIT', 'ORLY', 'ORMP', 'ORN', 'ORRF', 'ORSNU', 'ORTX',
-    'OSB', 'OSBC', 'OSBCP', 'OSG', 'OSIS', 'OSK', 'OSLE', 'OSMT', 'OSN',
-    'OSPN', 'OSS', 'OSTK', 'OSUR', 'OSW', 'OTEL', 'OTEX', 'OTG', 'OTIC',
-    'OTIV', 'OTLK', 'OTLKW', 'OTTR', 'OTTW', 'OUT', 'OVBC', 'OVID', 'OVLY',
-    'OXBR', 'OXBRW', 'OXFD', 'OXLC', 'OXLCM', 'OXLCO', 'OXM', 'OXSQ',
-    'OXSQL', 'OXSQZ', 'OXY', 'OZK', 'PAA', 'PAAC', 'PAACR', 'PAACU',
-    'PAACW', 'PAAS', 'PAC', 'PACB', 'PACD', 'PACK', 'PACK.WS', 'PACQ',
-    'PACQU', 'PACQW', 'PACW', 'PAG', 'PAGP', 'PAGS', 'PAHC', 'PAI', 'PAM',
-    'PANL', 'PANW', 'PAR', 'PARR', 'PATI', 'PATK', 'PAVM', 'PAVMW', 'PAVMZ',
-    'PAYC', 'PAYS', 'PAYX', 'PB', 'PBA', 'PBB', 'PBBI', 'PBC', 'PBCT',
-    'PBCTP', 'PBF', 'PBFS', 'PBFX', 'PBH', 'PBHC', 'PBI', 'PBIO', 'PBIP',
-    'PBI^B', 'PBPB', 'PBR', 'PBR.A', 'PBT', 'PBTS', 'PBY', 'PBYI', 'PCAR',
-    'PCB', 'PCF', 'PCG', 'PCG^A', 'PCG^B', 'PCG^C', 'PCG^D', 'PCG^E',
-    'PCG^G', 'PCG^H', 'PCG^I', 'PCH', 'PCI', 'PCIM', 'PCK', 'PCM', 'PCN',
-    'PCOM', 'PCQ', 'PCRX', 'PCSB', 'PCTI', 'PCTY', 'PCYG', 'PCYO', 'PD',
-    'PDBC', 'PDCE', 'PDCO', 'PDD', 'PDEV', 'PDEX', 'PDFS', 'PDI', 'PDLB',
-    'PDLI', 'PDM', 'PDP', 'PDS', 'PDSB', 'PDT', 'PE', 'PEB', 'PEBK', 'PEBO',
-    'PEB^C', 'PEB^D', 'PEB^E', 'PEB^F', 'PECK', 'PED', 'PEER', 'PEG',
-    'PEGA', 'PEGI', 'PEI', 'PEIX', 'PEI^B', 'PEI^C', 'PEI^D', 'PEN', 'PENN',
-    'PEO', 'PEP', 'PER', 'PERI', 'PESI', 'PETQ', 'PETS', 'PETZ', 'PEY',
-    'PEZ', 'PFBC', 'PFBI', 'PFD', 'PFE', 'PFF', 'PFG', 'PFGC', 'PFH', 'PFI',
-    'PFIE', 'PFIN', 'PFIS', 'PFL', 'PFLT', 'PFM', 'PFMT', 'PFN', 'PFNX',
-    'PFO', 'PFPT', 'PFS', 'PFSI', 'PFSW', 'PG', 'PGC', 'PGJ', 'PGNX', 'PGP',
-    'PGR', 'PGRE', 'PGTI', 'PGZ', 'PH', 'PHAS', 'PHCF', 'PHD', 'PHG', 'PHI',
-    'PHIO', 'PHIOW', 'PHK', 'PHM', 'PHO', 'PHR', 'PHT', 'PHUN', 'PHUNW',
-    'PHX', 'PI', 'PIC', 'PIC.U', 'PIC.WS', 'PICO', 'PID', 'PIE', 'PIH',
-    'PIHPP', 'PII', 'PIM', 'PINC', 'PINS', 'PIO', 'PIR', 'PIRS', 'PIXY',
-    'PIY', 'PIZ', 'PJC', 'PJH', 'PJT', 'PK', 'PKBK', 'PKD', 'PKE', 'PKG',
-    'PKI', 'PKO', 'PKOH', 'PKW', 'PKX', 'PLAB', 'PLAG', 'PLAN', 'PLAY',
-    'PLBC', 'PLC', 'PLCE', 'PLD', 'PLG', 'PLIN', 'PLL', 'PLM', 'PLMR',
-    'PLNT', 'PLOW', 'PLPC', 'PLSE', 'PLT', 'PLUG', 'PLUS', 'PLW', 'PLX',
-    'PLXP', 'PLXS', 'PLYA', 'PLYM', 'PLYM^A', 'PM', 'PMBC', 'PMD', 'PME',
-    'PMF', 'PML', 'PMM', 'PMO', 'PMOM', 'PMT', 'PMTS', 'PMT^A', 'PMT^B',
-    'PMX', 'PNBK', 'PNC', 'PNC^P', 'PNC^Q', 'PNF', 'PNFP', 'PNI', 'PNM',
-    'PNNT', 'PNQI', 'PNR', 'PNRG', 'PNRL', 'PNTR', 'PNW', 'POAI', 'PODD',
-    'POL', 'POLA', 'POLY', 'POOL', 'POPE', 'POR', 'POST', 'POWI', 'POWL',
-    'PPBI', 'PPC', 'PPDF', 'PPG', 'PPH', 'PPHI', 'PPIH', 'PPL', 'PPR',
-    'PPSI', 'PPT', 'PPX', 'PQG', 'PRA', 'PRAA', 'PRAH', 'PRCP', 'PRE^F',
-    'PRE^G', 'PRE^H', 'PRE^I', 'PRFT', 'PRFZ', 'PRGO', 'PRGS', 'PRGX',
-    'PRH', 'PRI', 'PRIF^A', 'PRIF^B', 'PRIF^C', 'PRIF^D', 'PRIM', 'PRK',
-    'PRLB', 'PRMW', 'PRN', 'PRNB', 'PRO', 'PROS', 'PROV', 'PRPH', 'PRPL',
-    'PRPO', 'PRQR', 'PRS', 'PRSC', 'PRSP', 'PRT', 'PRTA', 'PRTH', 'PRTK',
-    'PRTO', 'PRTS', 'PRTY', 'PRU', 'PRVB', 'PRVL', 'PS', 'PSA', 'PSA^A',
-    'PSA^B', 'PSA^C', 'PSA^D', 'PSA^E', 'PSA^F', 'PSA^G', 'PSA^H', 'PSA^V',
-    'PSA^W', 'PSA^X', 'PSB', 'PSB^U', 'PSB^V', 'PSB^W', 'PSB^X', 'PSB^Y',
-    'PSC', 'PSCC', 'PSCD', 'PSCE', 'PSCF', 'PSCH', 'PSCI', 'PSCM', 'PSCT',
-    'PSCU', 'PSDO', 'PSEC', 'PSET', 'PSF', 'PSL', 'PSM', 'PSMT', 'PSN',
-    'PSNL', 'PSO', 'PSTG', 'PSTI', 'PSTL', 'PSTV', 'PSTVZ', 'PSV', 'PSX',
-    'PSXP', 'PT', 'PTC', 'PTCT', 'PTE', 'PTEN', 'PTF', 'PTGX', 'PTH', 'PTI',
-    'PTLA', 'PTMN', 'PTN', 'PTNR', 'PTR', 'PTSI', 'PTVCA', 'PTVCB', 'PTY',
-    'PUB', 'PUI', 'PUK', 'PUK^', 'PUK^A', 'PULM', 'PUMP', 'PUYI', 'PVAC',
-    'PVAL', 'PVBC', 'PVG', 'PVH', 'PVL', 'PVT', 'PVT.U', 'PVT.WS', 'PVTL',
-    'PW', 'PWOD', 'PWR', 'PW^A', 'PXD', 'PXI', 'PXLW', 'PXS', 'PY', 'PYN',
-    'PYPL', 'PYS', 'PYT', 'PYX', 'PYZ', 'PZC', 'PZG', 'PZN', 'PZZA', 'QABA',
-    'QADA', 'QADB', 'QAT', 'QBAK', 'QCLN', 'QCOM', 'QCRH', 'QD', 'QDEL',
-    'QEP', 'QES', 'QFIN', 'QGEN', 'QHC', 'QIWI', 'QLC', 'QLYS', 'QNST',
-    'QQEW', 'QQQ', 'QQQX', 'QQXT', 'QRHC', 'QRTEA', 'QRTEB', 'QRVO', 'QSR',
-    'QTEC', 'QTNT', 'QTRH', 'QTRX', 'QTS', 'QTS^A', 'QTS^B', 'QTT', 'QTWO',
-    'QUAD', 'QUIK', 'QUMU', 'QUOT', 'QURE', 'QVCD', 'QYLD', 'R', 'RA',
-    'RACE', 'RAD', 'RADA', 'RAIL', 'RAMP', 'RAND', 'RAPT', 'RARE', 'RARX',
-    'RAVE', 'RAVN', 'RBA', 'RBB', 'RBBN', 'RBC', 'RBCAA', 'RBCN', 'RBKB',
-    'RBNC', 'RBS', 'RBZ', 'RC', 'RCA', 'RCB', 'RCG', 'RCI', 'RCII', 'RCKT',
-    'RCKY', 'RCL', 'RCM', 'RCMT', 'RCON', 'RCP', 'RCS', 'RCUS', 'RDCM',
-    'RDFN', 'RDHL', 'RDI', 'RDIB', 'RDN', 'RDNT', 'RDS.A', 'RDS.B', 'RDUS',
-    'RDVT', 'RDVY', 'RDWR', 'RDY', 'RE', 'REAL', 'RECN', 'REDU', 'REED',
-    'REFR', 'REG', 'REGI', 'REGN', 'REI', 'REKR', 'RELL', 'RELV', 'RELX',
-    'RENN', 'REPH', 'REPL', 'RES', 'RESI', 'RESN', 'RETA', 'RETO', 'REV',
-    'REVG', 'REX', 'REXN', 'REXR', 'REXR^A', 'REXR^B', 'REZI', 'RF', 'RFAP',
-    'RFDI', 'RFEM', 'RFEU', 'RFI', 'RFIL', 'RFL', 'RFP', 'RF^A', 'RF^B',
-    'RF^C', 'RGA', 'RGCO', 'RGEN', 'RGLD', 'RGLS', 'RGNX', 'RGR', 'RGS',
-    'RGT', 'RH', 'RHE', 'RHE^A', 'RHI', 'RHP', 'RIBT', 'RICK', 'RIF', 'RIG',
-    'RIGL', 'RILY', 'RILYG', 'RILYH', 'RILYI', 'RILYL', 'RILYO', 'RILYZ',
-    'RING', 'RIO', 'RIOT', 'RIV', 'RIVE', 'RJF', 'RKDA', 'RL', 'RLGT',
-    'RLGY', 'RLH', 'RLI', 'RLJ', 'RLJ^A', 'RM', 'RMAX', 'RMBI', 'RMBL',
-    'RMBS', 'RMCF', 'RMD', 'RMED', 'RMG', 'RMG.U', 'RMG.WS', 'RMI', 'RMM',
-    'RMNI', 'RMPL^', 'RMR', 'RMT', 'RMTI', 'RNDB', 'RNDM', 'RNDV', 'RNEM',
-    'RNET', 'RNG', 'RNGR', 'RNLC', 'RNMC', 'RNP', 'RNR', 'RNR^C', 'RNR^E',
-    'RNR^F', 'RNSC', 'RNST', 'RNWK', 'ROAD', 'ROAN', 'ROBO', 'ROBT', 'ROCK',
-    'ROG', 'ROIC', 'ROK', 'ROKU', 'ROL', 'ROLL', 'ROP', 'ROSE', 'ROSEU',
-    'ROSEW', 'ROST', 'ROX', 'ROYT', 'RP', 'RPAI', 'RPAY', 'RPD', 'RPLA',
-    'RPLA.U', 'RPLA.WS', 'RPM', 'RPT', 'RPT^D', 'RQI', 'RRBI', 'RRC', 'RRD',
-    'RRGB', 'RRR', 'RRTS', 'RS', 'RSF', 'RSG', 'RST', 'RTEC', 'RTIX',
-    'RTLR', 'RTN', 'RTRX', 'RTTR', 'RTW', 'RUBI', 'RUBY', 'RUHN', 'RUN',
-    'RUSHA', 'RUSHB', 'RUTH', 'RVEN', 'RVI', 'RVLT', 'RVLV', 'RVNC', 'RVP',
-    'RVSB', 'RVT', 'RWGE', 'RWGE.U', 'RWGE.WS', 'RWLK', 'RWT', 'RXN',
-    'RXN^A', 'RY', 'RYAAY', 'RYAM', 'RYB', 'RYI', 'RYN', 'RYTM', 'RY^T',
-    'RZA', 'RZB', 'S', 'SA', 'SAB', 'SABR', 'SACH', 'SAEX', 'SAF', 'SAFE',
-    'SAFM', 'SAFT', 'SAGE', 'SAH', 'SAIA', 'SAIC', 'SAIL', 'SAL', 'SALM',
-    'SALT', 'SAM', 'SAMA', 'SAMAU', 'SAMAW', 'SAMG', 'SAN',
-    'SAND          ', 'SANM', 'SANW', 'SAN^B', 'SAP', 'SAR', 'SASR', 'SATS',
-    'SAUC', 'SAVA', 'SAVE', 'SB', 'SBAC', 'SBBP', 'SBBX', 'SBCF', 'SBE.U',
-    'SBFG', 'SBFGP', 'SBGI', 'SBGL', 'SBH', 'SBI', 'SBLK', 'SBLKZ', 'SBNA',
-    'SBNY', 'SBOW', 'SBPH', 'SBR', 'SBRA', 'SBS', 'SBSI', 'SBT', 'SBUX',
-    'SB^C', 'SB^D', 'SC', 'SCA', 'SCCB', 'SCCI', 'SCCO', 'SCD', 'SCE^B',
-    'SCE^C', 'SCE^D', 'SCE^E', 'SCE^G', 'SCE^H', 'SCE^J', 'SCE^K', 'SCE^L',
-    'SCHL', 'SCHN', 'SCHW', 'SCHW^C', 'SCHW^D', 'SCI', 'SCKT', 'SCL', 'SCM',
-    'SCON', 'SCOR', 'SCPE', 'SCPE.U', 'SCPE.WS', 'SCPH', 'SCPL', 'SCS',
-    'SCSC', 'SCVL', 'SCWX', 'SCX', 'SCYX', 'SCZ', 'SD', 'SDC', 'SDG', 'SDI',
-    'SDPI', 'SDR', 'SDRL', 'SDT', 'SDVY', 'SE', 'SEAC', 'SEAS', 'SEB',
-    'SECO', 'SEDG', 'SEE', 'SEED', 'SEEL', 'SEIC', 'SELB', 'SELF', 'SEM',
-    'SEMG', 'SENEA', 'SENEB', 'SENS', 'SERV', 'SES', 'SESN', 'SF', 'SFB',
-    'SFBC', 'SFBS', 'SFE', 'SFET', 'SFIX', 'SFL', 'SFLY', 'SFM', 'SFNC',
-    'SFST', 'SFUN', 'SF^A', 'SF^B', 'SG', 'SGA', 'SGB', 'SGBX', 'SGC',
-    'SGEN', 'SGH', 'SGLB', 'SGLBW', 'SGMA', 'SGMO', 'SGMS', 'SGOC', 'SGRP',
-    'SGRY', 'SGU', 'SHAK', 'SHBI', 'SHEN', 'SHG', 'SHI', 'SHIP', 'SHIPW',
-    'SHIPZ', 'SHLL', 'SHLL.U', 'SHLL.WS', 'SHLO', 'SHLX', 'SHO', 'SHOO',
-    'SHOP', 'SHOS', 'SHO^E', 'SHO^F', 'SHSP', 'SHV', 'SHW', 'SHY', 'SIBN',
-    'SIC', 'SID', 'SIEB', 'SIEN', 'SIF', 'SIFY', 'SIG', 'SIGA', 'SIGI',
-    'SILC', 'SILK', 'SILV', 'SIM', 'SIMO', 'SINA', 'SINO', 'SINT', 'SIRI',
-    'SITC', 'SITC^A', 'SITC^J', 'SITC^K', 'SITE', 'SITO', 'SIVB', 'SIX',
-    'SJI', 'SJIU', 'SJM', 'SJR', 'SJT', 'SJW', 'SKIS', 'SKM', 'SKOR', 'SKT',
-    'SKX', 'SKY', 'SKYS', 'SKYW', 'SKYY', 'SLAB', 'SLB', 'SLCA', 'SLCT',
-    'SLDB', 'SLF', 'SLG', 'SLGG', 'SLGL', 'SLGN', 'SLG^I', 'SLIM', 'SLM',
-    'SLMBP', 'SLNG', 'SLNO', 'SLNOW', 'SLP', 'SLQD', 'SLRC', 'SLRX', 'SLS',
-    'SLVO', 'SM', 'SMAR', 'SMBC', 'SMBK', 'SMCP', 'SMED', 'SMFG', 'SMG',
-    'SMHI', 'SMIT', 'SMLP', 'SMM', 'SMMC', 'SMMCU', 'SMMCW', 'SMMF', 'SMMT',
-    'SMP', 'SMPL', 'SMRT', 'SMSI', 'SMTA', 'SMTC', 'SMTS', 'SMTX', 'SNA',
-    'SNAP', 'SNBR', 'SNCR', 'SND', 'SNDE', 'SNDL', 'SNDR', 'SNDX', 'SNE',
-    'SNES', 'SNFCA', 'SNGX', 'SNGXW', 'SNH', 'SNHNI', 'SNHNL', 'SNLN',
-    'SNMP', 'SNN', 'SNNA', 'SNOA', 'SNOAW', 'SNP', 'SNPS', 'SNR', 'SNSR',
-    'SNSS', 'SNV', 'SNV^D', 'SNV^E', 'SNX', 'SNY', 'SO', 'SOCL', 'SOGO',
-    'SOHO', 'SOHOB', 'SOHON', 'SOHOO', 'SOHU', 'SOI', 'SOJA', 'SOJB',
-    'SOJC', 'SOL', 'SOLN', 'SOLO', 'SOLOW', 'SOLY', 'SON', 'SONA', 'SONG',
-    'SONGW', 'SONM', 'SONO', 'SOR', 'SORL', 'SOXX', 'SP', 'SPAQ', 'SPAQ.U',
-    'SPAQ.WS', 'SPAR', 'SPB           ', 'SPCB', 'SPE', 'SPEX', 'SPE^B',
-    'SPFI', 'SPG', 'SPGI', 'SPG^J', 'SPH', 'SPHS', 'SPI', 'SPKE', 'SPKEP',
-    'SPLK', 'SPLP', 'SPLP^A', 'SPN', 'SPNE', 'SPNS', 'SPOK', 'SPOT', 'SPPI',
-    'SPR', 'SPRO', 'SPRT', 'SPSC', 'SPTN', 'SPWH', 'SPWR', 'SPXC', 'SPXX',
-    'SQ', 'SQBG', 'SQLV', 'SQM', 'SQNS', 'SQQQ', 'SR', 'SRAX', 'SRC',
-    'SRCE', 'SRCI', 'SRCL', 'SRC^A', 'SRDX', 'SRE', 'SREA', 'SRET', 'SREV',
-    'SRE^A', 'SRE^B', 'SRF', 'SRG', 'SRG^A', 'SRI', 'SRL', 'SRLP', 'SRNE',
-    'SRPT', 'SRRA', 'SRRK', 'SRT', 'SRTS', 'SRTSW', 'SRV', 'SRVA', 'SR^A',
-    'SSB', 'SSBI', 'SSD', 'SSFN', 'SSI', 'SSKN', 'SSL', 'SSNC', 'SSNT',
-    'SSP', 'SSPKU', 'SSRM', 'SSSS', 'SSTI', 'SSTK', 'SSW', 'SSWA', 'SSW^D',
-    'SSW^E', 'SSW^G', 'SSW^H', 'SSW^I', 'SSY', 'SSYS', 'ST', 'STAA', 'STAF',
-    'STAG', 'STAG^C', 'STAR          ', 'STAR^D', 'STAR^G', 'STAR^I',
-    'STAY', 'STBA', 'STC', 'STCN', 'STE', 'STFC', 'STG', 'STI', 'STIM',
-    'STI^A', 'STK', 'STKL', 'STKS', 'STL', 'STLD', 'STL^A', 'STM', 'STML',
-    'STMP', 'STN', 'STND', 'STNE', 'STNG', 'STNL', 'STNLU', 'STNLW', 'STOK',
-    'STON', 'STOR', 'STPP', 'STRA', 'STRL', 'STRM', 'STRO', 'STRS', 'STRT',
-    'STT', 'STT^C', 'STT^D', 'STT^E', 'STT^G', 'STWD', 'STX', 'STXB',
-    'STXS', 'STZ', 'STZ.B', 'SU', 'SUI', 'SUM', 'SUMR', 'SUN', 'SUNS',
-    'SUNW', 'SUP', 'SUPN', 'SUPV', 'SURF', 'SUSB', 'SUSC', 'SUSL', 'SUZ',
-    'SVA', 'SVBI', 'SVM', 'SVMK', 'SVRA', 'SVT', 'SVVC', 'SWAV', 'SWCH',
-    'SWI', 'SWIR', 'SWJ', 'SWK', 'SWKS', 'SWM', 'SWN', 'SWP', 'SWTX', 'SWX',
-    'SWZ', 'SXC', 'SXI', 'SXT', 'SXTC', 'SY', 'SYBT', 'SYBX', 'SYF', 'SYK',
-    'SYKE', 'SYMC', 'SYN', 'SYNA', 'SYNC', 'SYNH', 'SYNL', 'SYPR', 'SYRS',
-    'SYX', 'SYY', 'SZC', 'T', 'TA', 'TAC', 'TACO', 'TACOW', 'TACT', 'TAIT',
-    'TAK', 'TAL', 'TALO', 'TALO.WS', 'TANH', 'TANNI', 'TANNL', 'TANNZ',
-    'TAOP', 'TAP', 'TAP.A', 'TAPR', 'TARO', 'TAST', 'TAT', 'TATT', 'TAYD',
-    'TBB', 'TBBK', 'TBC', 'TBI', 'TBIO', 'TBK', 'TBLT', 'TBLTU', 'TBLTW',
-    'TBNK', 'TBPH', 'TC', 'TCBI', 'TCBIL', 'TCBIP', 'TCBK', 'TCCO', 'TCDA',
-    'TCF', 'TCFC', 'TCFCP', 'TCGP', 'TCI', 'TCMD', 'TCO', 'TCON', 'TCO^J',
-    'TCO^K', 'TCP', 'TCPC', 'TCRD', 'TCRR', 'TCRW', 'TCRZ', 'TCS', 'TCX',
-    'TD', 'TDA', 'TDAC', 'TDACU', 'TDACW', 'TDC', 'TDE', 'TDF', 'TDG',
-    'TDI', 'TDIV', 'TDJ', 'TDOC', 'TDS', 'TDW', 'TDW.WS', 'TDW.WS.A',
-    'TDW.WS.B', 'TDY', 'TEAF', 'TEAM', 'TECD', 'TECH', 'TECK', 'TECTP',
-    'TEDU', 'TEF', 'TEI', 'TEL', 'TELL', 'TEN', 'TENB', 'TENX', 'TEO',
-    'TER', 'TERP', 'TESS', 'TEUM', 'TEVA', 'TEX', 'TFSL', 'TFX', 'TG',
-    'TGA', 'TGB', 'TGC', 'TGE', 'TGEN', 'TGH', 'TGI', 'TGLS', 'TGNA', 'TGP',
-    'TGP^A', 'TGP^B', 'TGS', 'TGT', 'TGTX', 'TH', 'THBRU', 'THC', 'THCA',
-    'THCAU', 'THCAW', 'THCB', 'THCBU', 'THCBW', 'THFF', 'THG', 'THGA',
-    'THM', 'THO', 'THOR', 'THQ', 'THR', 'THRM', 'THS', 'THW', 'THWWW',
-    'TIBR', 'TIBRU', 'TIBRW', 'TIF', 'TIGO', 'TIGR', 'TILE', 'TIPT', 'TISI',
-    'TITN', 'TIVO', 'TJX', 'TK', 'TKAT', 'TKC', 'TKKS', 'TKKSR', 'TKKSU',
-    'TKKSW', 'TKR', 'TLC', 'TLF', 'TLGT', 'TLI', 'TLK', 'TLND', 'TLRA',
-    'TLRD', 'TLRY', 'TLSA', 'TLT', 'TLYS', 'TM', 'TMCX', 'TMCXU', 'TMCXW',
-    'TMDI', 'TMDX', 'TME', 'TMHC', 'TMO', 'TMP', 'TMQ', 'TMSR', 'TMST',
-    'TMUS', 'TNAV', 'TNC', 'TNDM', 'TNET', 'TNK', 'TNP', 'TNP^C', 'TNP^D',
-    'TNP^E', 'TNP^F', 'TNXP', 'TOCA', 'TOL', 'TOO', 'TOO^A', 'TOO^B',
-    'TOO^E', 'TOPS', 'TORC', 'TOT', 'TOTA', 'TOTAR', 'TOTAU', 'TOTAW',
-    'TOUR', 'TOWN', 'TOWR', 'TPB', 'TPC', 'TPCO', 'TPGH', 'TPGH.U',
-    'TPGH.WS', 'TPH', 'TPHS', 'TPIC', 'TPL', 'TPR', 'TPRE', 'TPTX', 'TPVG',
-    'TPVY', 'TPX', 'TPZ', 'TQQQ', 'TR', 'TRC', 'TRCB', 'TRCH', 'TRCO',
-    'TREC', 'TREE', 'TREX', 'TRGP', 'TRHC', 'TRI', 'TRIB', 'TRIL', 'TRIP',
-    'TRK', 'TRMB', 'TRMD', 'TRMK', 'TRMT', 'TRN', 'TRNE', 'TRNE.U',
-    'TRNE.WS', 'TRNO', 'TRNS', 'TRNX', 'TROV', 'TROW', 'TROX', 'TRP',
-    'TRPX', 'TRQ', 'TRS', 'TRST', 'TRT', 'TRTN', 'TRTN^A', 'TRTN^B', 'TRTX',
-    'TRU', 'TRUE', 'TRUP', 'TRV', 'TRVG', 'TRVI', 'TRVN', 'TRWH', 'TRX',
-    'TRXC', 'TS', 'TSBK', 'TSC', 'TSCAP', 'TSCBP', 'TSCO', 'TSE', 'TSEM',
-    'TSG', 'TSI', 'TSLA', 'TSLF', 'TSLX', 'TSM', 'TSN', 'TSQ', 'TSRI',
-    'TSS', 'TSU', 'TTC', 'TTD', 'TTEC', 'TTEK', 'TTGT', 'TTI', 'TTM',
-    'TTMI', 'TTNP', 'TTOO', 'TTP', 'TTPH', 'TTS', 'TTTN', 'TTWO', 'TU',
-    'TUES', 'TUFN', 'TUP', 'TUR', 'TURN', 'TUSA', 'TUSK', 'TV', 'TVC',
-    'TVE', 'TVIX', 'TVTY', 'TW', 'TWI', 'TWIN', 'TWLO', 'TWMC', 'TWN',
-    'TWNK', 'TWNKW', 'TWO', 'TWOU', 'TWO^A', 'TWO^B', 'TWO^C', 'TWO^D',
-    'TWO^E', 'TWST', 'TWTR', 'TX', 'TXG', 'TXMD', 'TXN', 'TXRH', 'TXT',
-    'TY', 'TYG', 'TYHT', 'TYL', 'TYME', 'TYPE', 'TY^', 'TZAC', 'TZACU',
-    'TZACW', 'TZOO', 'UA', 'UAA', 'UAE', 'UAL', 'UAMY', 'UAN', 'UAVS',
-    'UBA', 'UBCP', 'UBER', 'UBFO', 'UBIO', 'UBNK', 'UBOH', 'UBP', 'UBP^G',
-    'UBP^H', 'UBS', 'UBSI', 'UBX', 'UCBI', 'UCFC', 'UCTT', 'UDR', 'UE',
-    'UEC', 'UEIC', 'UEPS', 'UFAB', 'UFCS', 'UFI', 'UFPI', 'UFPT', 'UFS',
-    'UG', 'UGI', 'UGLD', 'UGP', 'UHAL', 'UHS', 'UHT', 'UI', 'UIHC', 'UIS',
-    'UL', 'ULBI', 'ULH', 'ULTA', 'UMBF', 'UMC', 'UMH', 'UMH^B', 'UMH^C',
-    'UMH^D', 'UMPQ', 'UMRX', 'UN', 'UNAM', 'UNB', 'UNF', 'UNFI', 'UNH',
-    'UNIT', 'UNM', 'UNMA', 'UNP', 'UNT', 'UNTY', 'UNVR', 'UONE', 'UONEK',
-    'UPLD', 'UPS', 'UPWK', 'URBN', 'URG', 'URGN', 'URI', 'UROV', 'USA',
-    'USAC', 'USAK', 'USAP', 'USAS', 'USAT', 'USATP', 'USAU', 'USB', 'USB^A',
-    'USB^H', 'USB^M', 'USB^O', 'USB^P', 'USCR', 'USDP', 'USEG', 'USFD',
-    'USIG', 'USIO', 'USLB', 'USLM', 'USLV', 'USM', 'USMC', 'USNA', 'USOI',
-    'USPH', 'USWS', 'USWSW', 'USX', 'UTF', 'UTG', 'UTHR', 'UTI', 'UTL',
-    'UTMD', 'UTSI', 'UTX', 'UUU', 'UUUU', 'UUUU.WS', 'UVE', 'UVSP', 'UVV',
-    'UXIN', 'UZA', 'UZB', 'UZC', 'V', 'VAC', 'VAL', 'VALE', 'VALU', 'VALX',
-    'VAM', 'VAPO', 'VAR', 'VBF', 'VBFC', 'VBIV', 'VBLT', 'VBND', 'VBTX',
-    'VC', 'VCEL', 'VCF', 'VCIF', 'VCIT', 'VCLT', 'VCNX', 'VCRA', 'VCSH',
-    'VCTR', 'VCV', 'VCYT', 'VEC', 'VECO', 'VEDL', 'VEEV', 'VEON', 'VER',
-    'VERB', 'VERBW', 'VERI', 'VERU', 'VERY', 'VER^F', 'VET', 'VETS', 'VFC',
-    'VFF', 'VFL', 'VG', 'VGI', 'VGIT', 'VGLT', 'VGM', 'VGR', 'VGSH', 'VGZ',
-    'VHC', 'VHI', 'VIA', 'VIAB', 'VIAV', 'VICI', 'VICR', 'VIDI', 'VIGI',
-    'VIIX', 'VIOT', 'VIPS', 'VIRC', 'VIRT', 'VISL', 'VIST', 'VISTER', 'VIV',
-    'VIVE', 'VIVO', 'VJET', 'VKI', 'VKQ', 'VKTX', 'VKTXW', 'VLGEA', 'VLO',
-    'VLRS', 'VLRX', 'VLT', 'VLY', 'VLYPO', 'VLYPP', 'VMBS', 'VMC', 'VMD',
-    'VMET', 'VMI', 'VMM', 'VMO', 'VMW', 'VNCE', 'VNDA', 'VNE', 'VNET',
-    'VNO', 'VNOM', 'VNO^K', 'VNO^L', 'VNO^M', 'VNQI', 'VNRX', 'VNTR', 'VOC',
-    'VOD', 'VOLT', 'VONE', 'VONG', 'VONV', 'VOXX', 'VOYA', 'VOYA^B', 'VPG',
-    'VPV', 'VRA', 'VRAY', 'VRCA', 'VREX', 'VRIG', 'VRML', 'VRNA', 'VRNS',
-    'VRNT', 'VRRM', 'VRS', 'VRSK', 'VRSN', 'VRTS', 'VRTSP', 'VRTU', 'VRTV',
-    'VRTX', 'VSAT', 'VSDA', 'VSEC', 'VSH', 'VSI', 'VSLR', 'VSM', 'VSMV',
-    'VST', 'VST.WS.A', 'VSTM', 'VSTO', 'VTA', 'VTC', 'VTEC', 'VTGN', 'VTHR',
-    'VTIP', 'VTIQ', 'VTIQU', 'VTIQW', 'VTN', 'VTNR', 'VTR', 'VTSI', 'VTUS',
-    'VTVT', 'VTWG', 'VTWO', 'VTWV', 'VUSE', 'VUZI', 'VVI', 'VVPR', 'VVR',
-    'VVUS', 'VVV', 'VWOB', 'VXRT', 'VXUS', 'VYGR', 'VYMI', 'VZ', 'W',
-    'WAAS', 'WAB', 'WABC', 'WAFD', 'WAFU', 'WAIR', 'WAL', 'WALA', 'WASH',
-    'WAT', 'WATT', 'WB', 'WBA', 'WBAI', 'WBC', 'WBK', 'WBND', 'WBS',
-    'WBS^F', 'WBT', 'WCC', 'WCG', 'WCLD', 'WCN', 'WD', 'WDAY', 'WDC',
-    'WDFC', 'WDR', 'WEA', 'WEBK', 'WEC', 'WEI', 'WELL', 'WEN', 'WERN',
-    'WES', 'WETF', 'WEX', 'WEYS', 'WF', 'WFC', 'WFC^L', 'WFC^N', 'WFC^O',
-    'WFC^P', 'WFC^Q', 'WFC^R', 'WFC^T', 'WFC^V', 'WFC^W', 'WFC^X', 'WFC^Y',
-    'WFE^A', 'WGO', 'WH', 'WHD', 'WHF', 'WHFBZ', 'WHG', 'WHLM', 'WHLR',
-    'WHLRD', 'WHLRP', 'WHR', 'WIA', 'WIFI', 'WILC', 'WINA', 'WINC', 'WING',
-    'WINS', 'WIRE', 'WISA', 'WIT', 'WIW', 'WIX', 'WK', 'WKHS', 'WLDN',
-    'WLFC', 'WLH', 'WLK', 'WLKP', 'WLL', 'WLTW', 'WM', 'WMB', 'WMC', 'WMGI',
-    'WMK', 'WMS', 'WMT', 'WNC', 'WNEB', 'WNFM', 'WNS', 'WOOD', 'WOR',
-    'WORK', 'WORX', 'WOW', 'WPC', 'WPG', 'WPG^H', 'WPG^I', 'WPM', 'WPP',
-    'WPRT', 'WPX', 'WRB', 'WRB^B', 'WRB^C', 'WRB^D', 'WRB^E', 'WRE', 'WRI',
-    'WRK', 'WRLD', 'WRLS', 'WRLSR', 'WRLSU', 'WRLSW', 'WRN', 'WRTC', 'WSBC',
-    'WSBF', 'WSC', 'WSFS', 'WSG', 'WSM', 'WSO', 'WSO.B', 'WSR', 'WST',
-    'WSTG', 'WSTL', 'WTBA', 'WTER', 'WTFC', 'WTFCM', 'WTI', 'WTM', 'WTR',
-    'WTRE', 'WTREP', 'WTRH', 'WTRU', 'WTS', 'WTT', 'WTTR', 'WU', 'WUBA',
-    'WVE', 'WVFC', 'WVVI', 'WVVIP', 'WW', 'WWD', 'WWE', 'WWR', 'WWW', 'WY',
-    'WYND', 'WYNN', 'WYY', 'X', 'XAIR', 'XAN', 'XAN^C', 'XBIO', 'XBIOW',
-    'XBIT', 'XCUR', 'XEC', 'XEL', 'XELA', 'XELB', 'XENE', 'XENT', 'XERS',
-    'XFLT', 'XFOR', 'XHR', 'XIN', 'XLNX', 'XLRN', 'XNCR', 'XNET', 'XOG',
-    'XOM', 'XOMA', 'XON', 'XONE', 'XPEL', 'XPER', 'XPL', 'XPO', 'XRAY',
-    'XRF', 'XRX', 'XSPA', 'XT', 'XTLB', 'XTNT', 'XXII', 'XYF', 'XYL', 'Y',
-    'YCBD', 'YELP', 'YETI', 'YEXT', 'YGYI', 'YI', 'YIN', 'YJ', 'YLCO',
-    'YLDE', 'YMAB', 'YNDX', 'YORW', 'YPF', 'YRCW', 'YRD', 'YTEN', 'YTRA',
-    'YUM', 'YUMA', 'YUMC', 'YVR', 'YY', 'Z', 'ZAGG', 'ZAYO', 'ZBH', 'ZBIO',
-    'ZBK', 'ZBRA', 'ZB^A', 'ZB^G', 'ZB^H', 'ZDGE', 'ZEAL', 'ZEN', 'ZEUS',
-    'ZF', 'ZFGN', 'ZG', 'ZGNX', 'ZION', 'ZIONW', 'ZIOP', 'ZIV', 'ZIXI',
-    'ZKIN', 'ZLAB', 'ZM', 'ZN', 'ZNGA', 'ZNH', 'ZNWAA', 'ZOM', 'ZS', 'ZSAN',
-    'ZTEST', 'ZTO', 'ZTR', 'ZTS', 'ZUMZ', 'ZUO', 'ZVO', 'ZYME', 'ZYNE', 'ZYXI']
-STOCK_NAMES = ['1-800 FLOWERS.COM', '10x Genomics', '111',
-    '1347 Property Insurance Holdings', '180 Degree Capital Corp.',
-    '1895 Bancorp of Wisconsin', '1st Constitution Bancorp (NJ)',
-    '1st Source Corporation', '21Vianet Group', '22nd Century Group', '2U',
-    '360 Finance', '3D Systems Corporation', '3M Company',
-    '500.com Limited', '51job', '58.com Inc.',
-    '8i Enterprises Acquisition Corp', '8x8 Inc', '9F Inc.',
-    'A-Mark Precious Metals', 'A.H. Belo Corporation',
-    'A.O Smith Corporation', 'A10 Networks', 'AAC Holdings', 'AAON',
-    'AAR Corp.', 'ABB Ltd', 'ABIOMED', 'ABM Industries Incorporated',
-    'AC Immune SA', 'ACADIA Pharmaceuticals Inc.', 'ACI Worldwide',
-    'ACM Research', 'ACNB Corporation', 'ADDvantage Technologies Group',
-    'ADMA Biologics Inc', 'ADT Inc.', 'ADTRAN', 'AECOM',
-    'AEterna Zentaris Inc.', 'AG Mortgage Investment Trust',
-    'AGBA Acquisition Limited', 'AGCO Corporation',
-    'AGM Group Holdings Inc.', 'AGNC Investment Corp.',
-    'AK Steel Holding Corporation', 'ALJ Regional Holdings',
-    'AMAG Pharmaceuticals', 'AMC Entertainment Holdings',
-    'AMC Networks Inc.', 'AMCI Acquisition Corp.',
-    'AMCON Distributing Company', 'AMERIPRISE FINANCIAL SERVICES',
-    'AMERISAFE', 'AMN Healthcare Services Inc', 'AMREP Corporation',
-    'AMTD International Inc.', 'AMTEK', 'ANGI Homeservices Inc.',
-    'ANI Pharmaceuticals', 'ANSYS', 'ARC Document Solutions',
-    'ARCA biopharma', 'ARMOUR Residential REIT',
-    'ARYA Sciences Acquisition Corp.',
-    'ASA Gold and Precious Metals Limited', 'ASE Technology Holding Co.',
-    'ASGN Incorporated', 'ASLAN Pharmaceuticals Limited',
-    'ASML Holding N.V.', 'AT&T Inc.', 'ATA Inc.', 'ATIF Holdings Limited',
-    'ATN International', 'AU Optronics Corp', 'AVEO Pharmaceuticals',
-    'AVROBIO', 'AVX Corporation', 'AXA Equitable Holdings', 'AXT Inc',
-    'AZZ Inc.', 'Aaron&#39;s', 'AbbVie Inc.', 'Abbott Laboratories',
-    'Abeona Therapeutics Inc.', 'Abercrombie & Fitch Company',
-    'Aberdeen Asia-Pacific Income Fund Inc',
-    'Aberdeen Australia Equity Fund Inc',
-    'Aberdeen Emerging Markets Equity Income Fund',
-    'Aberdeen Global Dynamic Dividend Fund', 'Aberdeen Global Income Fund',
-    'Aberdeen Global Premier Properties Fund',
-    'Aberdeen Income Credit Strategies Fund', 'Aberdeen Japan Equity Fund',
-    'Aberdeen Total Dynamic Dividend Fund', 'Ability Inc.',
-    'Abraxas Petroleum Corporation', 'Acacia Communications',
-    'Acacia Research Corporation', 'Acadia Healthcare Company',
-    'Acadia Realty Trust', 'Acamar Partners Acquisition Corp.',
-    'Acasti Pharma', 'Accelerate Diagnostics', 'Accelerated Pharma',
-    'Acceleron Pharma Inc.', 'Accenture plc', 'Acco Brands Corporation',
-    'Accuray Incorporated', 'AcelRx Pharmaceuticals',
-    'Acer Therapeutics Inc.', 'Achieve Life Sciences',
-    'Achillion Pharmaceuticals', 'Aclaris Therapeutics',
-    'Acme United Corporation.', 'Acorda Therapeutics',
-    'Acorn International', 'Act II Global Acquisition Corp.',
-    'Actinium Pharmaceuticals', 'Activision Blizzard',
-    'Actuant Corporation', 'Acuity Brands', 'Acushnet Holdings Corp.',
-    'Adamas Pharmaceuticals', 'Adamis Pharmaceuticals Corporation',
-    'Adams Diversified Equity Fund', 'Adams Natural Resources Fund',
-    'Adams Resources & Energy', 'Adaptimmune Therapeutics plc',
-    'Adaptive Biotechnologies Corporation', 'Addus HomeCare Corporation',
-    'Adecoagro S.A.', 'Adesto Technologies Corporation',
-    'Adial Pharmaceuticals', 'Adient plc', 'Adobe Inc.',
-    'Adtalem Global Education Inc.', 'Aduro Biotech', 'AdvanSix Inc.',
-    'Advance Auto Parts Inc', 'Advanced Disposal Services',
-    'Advanced Drainage Systems', 'Advanced Emissions Solutions',
-    'Advanced Energy Industries', 'Advanced Micro Devices', 'Advaxis',
-    'Advent Convertible and Income Fund', 'Adverum Biotechnologies',
-    'AdvisorShares Dorsey Wright Micro-Cap ETF',
-    'AdvisorShares Dorsey Wright Short ETF', 'AdvisorShares Sabretooth ETF',
-    'AdvisorShares Vice ETF', 'Aegion Corp', 'Aeglea BioTherapeutics',
-    'Aegon NV', 'Aehr Test Systems', 'Aemetis', 'Aercap Holdings N.V.',
-    'Aerie Pharmaceuticals', 'AeroCentury Corp.', 'AeroVironment',
-    'Aerojet Rocketdyne Holdings', 'Aerpio Pharmaceuticals',
-    'Aethlon Medical', 'Aevi Genomic Medicine', 'Affiliated Managers Group',
-    'Affimed N.V.', 'Aflac Incorporated', 'Afya Limited',
-    'AgEagle Aerial Systems', 'AgeX Therapeutics', 'Agenus Inc.',
-    'Agile Therapeutics', 'Agilent Technologies', 'Agilysys',
-    'Agios Pharmaceuticals', 'Agnico Eagle Mines Limited',
-    'Agree Realty Corporation', 'AgroFresh Solutions',
-    'Aileron Therapeutics', 'Aimmune Therapeutics', 'Air Industries Group',
-    'Air Lease Corporation', 'Air Products and Chemicals', 'Air T',
-    'Air Transport Services Group', 'AirNet Technology Inc.',
-    'Aircastle Limited', 'Airgain', 'Akamai Technologies',
-    'Akari Therapeutics Plc', 'Akazoo S.A.', 'Akcea Therapeutics',
-    'Akebia Therapeutics', 'Akerna Corp.', 'Akero Therapeutics',
-    'Akers Biosciences Inc.', 'Akorn', 'Akoustis Technologies',
-    'Alabama Power Company', 'Alamo Group', 'Alamos Gold Inc.',
-    'Alarm.com Holdings', 'Alaska Air Group',
-    'Alaska Communications Systems Group',
-    'Albany International Corporation', 'Albemarle Corporation',
-    'Alberton Acquisition Corporation', 'Albireo Pharma',
-    'Alcentra Capital Corp.', 'Alcoa Corporation', 'Alcon Inc.',
-    'Alder BioPharmaceuticals', 'Aldeyra Therapeutics', 'Alector',
-    'Alerus Financial Corporation', 'Alexander & Baldwin',
-    'Alexander&#39;s', 'Alexandria Real Estate Equities',
-    'Alexco Resource Corp', 'Alexion Pharmaceuticals',
-    'Algonquin Power & Utilities Corp.', 'Alibaba Group Holding Limited',
-    'Alico', 'Alight Inc.', 'Align Technology', 'Alimera Sciences',
-    'Alio Gold Inc.', 'Alithya Group inc.', 'Alkermes plc', 'Allakos Inc.',
-    'Alleghany Corporation', 'Allegheny Technologies Incorporated',
-    'Allegiance Bancshares', 'Allegiant Travel Company', 'Allegion plc',
-    'Allegro Merger Corp.', 'Allena Pharmaceuticals', 'Allergan plc.',
-    'Allete', 'Alliance Data Systems Corporation',
-    'Alliance National Municipal Income Fund Inc',
-    'Alliance Resource Partners',
-    'Alliance World Dollar Government Fund II',
-    'AllianceBernstein Holding L.P.', 'Alliant Energy Corporation',
-    'AllianzGI Convertible & Income 2024 Target Term Fund',
-    'AllianzGI Convertible & Income Fund',
-    'AllianzGI Convertible & Income Fund II',
-    'AllianzGI Diversified Income & Convertible Fund',
-    'AllianzGI Equity & Convertible Income Fund', 'AllianzGI NFJ Dividend',
-    'Allied Esports Entertainment', 'Allied Healthcare Products',
-    'Allied Motion Technologies', 'Allison Transmission Holdings',
-    'Allogene Therapeutics', 'Allot Ltd.',
-    'Allscripts Healthcare Solutions', 'Allstate Corporation (The)',
-    'Ally Financial Inc.', 'Almaden Minerals', 'Alnylam Pharmaceuticals',
-    'Alpha Pro Tech', 'Alpha and Omega Semiconductor Limited',
-    'AlphaMark Actively Managed Small Cap ETF', 'Alphabet Inc.',
-    'Alphatec Holdings', 'Alpine Immune Sciences', 'Alta Mesa Resources',
-    'Altaba Inc.', 'Altair Engineering Inc.',
-    'Alterity Therapeutics Limited', 'Alteryx', 'Altice USA', 'Altimmune',
-    'Altisource Asset Management Corp',
-    'Altisource Portfolio Solutions S.A.', 'Altra Industrial Motion Corp.',
-    'Altria Group', 'Altus Midstream Company',
-    'Aluminum Corporation of China Limited', 'Amalgamated Bank',
-    'Amarin Corporation plc', 'Amazon.com', 'Ambac Financial Group',
-    'Ambarella', 'Ambev S.A.', 'Ambow Education Holding Ltd.', 'Amcor plc',
-    'Amdocs Limited', 'Amedisys Inc', 'Amerant Bancorp Inc.', 'Amerco',
-    'Ameren Corporation', 'Ameresco', 'Ameri Holdings',
-    'AmeriServ Financial Inc.', 'America First Multifamily Investors',
-    'America Movil', 'America&#39;s Car-Mart', 'American Airlines Group',
-    'American Assets Trust', 'American Axle & Manufacturing Holdings',
-    'American Campus Communities Inc', 'American Eagle Outfitters',
-    'American Electric Power Company',
-    'American Equity Investment Life Holding Company',
-    'American Express Company', 'American Finance Trust',
-    'American Financial Group', 'American Homes 4 Rent',
-    'American International Group', 'American National Bankshares',
-    'American National Insurance Company',
-    'American Outdoor Brands Corporation', 'American Public Education',
-    'American Realty Investors', 'American Renal Associates Holdings',
-    'American Resources Corporation', 'American River Bankshares',
-    'American Shared Hospital Services', 'American Software',
-    'American States Water Company', 'American Superconductor Corporation',
-    'American Tower Corporation (REIT)', 'American Vanguard Corporation',
-    'American Water Works', 'American Woodmark Corporation',
-    'Americas Gold and Silver Corporation', 'Americold Realty Trust',
-    'Ameris Bancorp', 'AmerisourceBergen Corporation (Holding Co)',
-    'Ames National Corporation', 'Amgen Inc.', 'Amicus Therapeutics',
-    'Amira Nature Foods Ltd', 'Amkor Technology', 'Amneal Pharmaceuticals',
-    'Ampco-Pittsburgh Corporation', 'Amphastar Pharmaceuticals',
-    'Amphenol Corporation', 'Ampio Pharmaceuticals',
-    'Amplify Online Retail ETF', 'Amtech Systems', 'Amyris',
-    'Analog Devices', 'Anaplan', 'AnaptysBio', 'Anavex Life Sciences Corp.',
-    'Anchiano Therapeutics Ltd.', 'Andina Acquisition Corp. III',
-    'Angel Oak Financial Strategies Income Term Trust', 'AngioDynamics',
-    'AngloGold Ashanti Limited', 'Anheuser-Busch Inbev SA',
-    'Anika Therapeutics Inc.', 'Anixa Biosciences',
-    'Anixter International Inc.', 'Annaly Capital Management Inc',
-    'Antares Pharma', 'Anterix Inc.', 'Antero Midstream Corporation',
-    'Antero Resources Corporation', 'Anthem',
-    'Anworth Mortgage Asset  Corporation', 'Aon plc', 'Apache Corporation',
-    'Apartment Investment and Management Company',
-    'Apellis Pharmaceuticals', 'Apergy Corporation',
-    'Apex Global Brands Inc.', 'Aphria Inc.', 'Apogee Enterprises',
-    'Apollo Commercial Real Estate Finance', 'Apollo Endosurgery',
-    'Apollo Global Management', 'Apollo Investment Corporation',
-    'Apollo Medical Holdings', 'Apollo Senior Floating Rate Fund Inc.',
-    'Apollo Tactical Income Fund Inc.', 'AppFolio', 'Appian Corporation',
-    'Apple Hospitality REIT', 'Apple Inc.', 'Applied DNA Sciences Inc',
-    'Applied Genetic Technologies Corporation',
-    'Applied Industrial Technologies', 'Applied Materials',
-    'Applied Optoelectronics', 'Applied Therapeutics',
-    'Approach Resources Inc.', 'AptarGroup', 'Aptevo Therapeutics Inc.',
-    'Aptinyx Inc.', 'Aptiv PLC', 'Aptorum Group Limited',
-    'Aptose Biosciences', 'Apyx Medical Corporation', 'Aqua America',
-    'Aqua Metals', 'AquaBounty Technologies',
-    'AquaVenture Holdings Limited', 'Aquantia Corp.',
-    'Aquestive Therapeutics', 'ArQule', 'Aramark', 'Aravive',
-    'Arbor Realty Trust', 'Arbutus Biopharma Corporation',
-    'ArcBest Corporation', 'Arcadia Biosciences', 'ArcelorMittal',
-    'Arch Capital Group Ltd.', 'Arch Coal',
-    'Archer-Daniels-Midland Company', 'Archrock', 'Arcimoto',
-    'Arco Platform Limited', 'Arconic Inc.', 'Arcos Dorados Holdings Inc.',
-    'Arcosa', 'Arcturus Therapeutics Holdings Inc.', 'Arcus Biosciences',
-    'Ardagh Group S.A.', 'Ardelyx', 'Ardmore Shipping Corporation',
-    'Arena Pharmaceuticals', 'Ares Capital Corporation',
-    'Ares Commercial Real Estate Corporation',
-    'Ares Dynamic Credit Allocation Fund', 'Ares Management Corporation',
-    'Argan', 'Argo Group International Holdings',
-    'Aridis Pharmaceuticals Inc.', 'Arista Networks',
-    'Ark Restaurants Corp.', 'Arlington Asset Investment Corp',
-    'Arlo Technologies', 'Armada Hoffler Properties',
-    'Armata Pharmaceuticals', 'Armstrong Flooring',
-    'Armstrong World Industries Inc', 'Arotech Corporation',
-    'Arrow DWA Country Rotation ETF', 'Arrow DWA Tactical ETF',
-    'Arrow Electronics', 'Arrow Financial Corporation',
-    'Arrowhead Pharmaceuticals', 'Art&#39;s-Way Manufacturing Co.',
-    'Artelo Biosciences', 'Artesian Resources Corporation',
-    'Arthur J. Gallagher & Co.', 'Artisan Partners Asset Management Inc.',
-    'Arvinas', 'Asanko Gold Inc.', 'Asbury Automotive Group Inc',
-    'Ascena Retail Group', 'Ascendis Pharma A/S',
-    'Ashford Hospitality Trust Inc', 'Ashford Inc.',
-    'Ashland Global Holdings Inc.',
-    'Asia Pacific Wire & Cable Corporation Limited', 'Aspen Aerogels',
-    'Aspen Group Inc.', 'Aspen Insurance Holdings Limited',
-    'Aspen Technology', 'Assembly Biosciences', 'Assertio Therapeutics',
-    'AssetMark Financial Holdings', 'Associated Banc-Corp',
-    'Associated Capital Group', 'Assurant', 'Assured Guaranty Ltd.',
-    'Asta Funding', 'Astec Industries', 'Astrazeneca PLC', 'AstroNova',
-    'Astronics Corporation', 'Astrotech Corporation', 'Asure Software Inc',
-    'At Home Group Inc.', 'Atara Biotherapeutics', 'Atento S.A.',
-    'Athene Holding Ltd.', 'Athenex', 'Athersys',
-    'Atkore International Group Inc.', 'Atlantic American Corporation',
-    'Atlantic Capital Bancshares', 'Atlantic Power Corporation',
-    'Atlantic Union Bankshares Corporation', 'Atlantica Yield plc',
-    'Atlanticus Holdings Corporation', 'Atlas Air Worldwide Holdings',
-    'Atlas Financial Holdings', 'Atlassian Corporation Plc',
-    'Atmos Energy Corporation', 'Atomera Incorporated',
-    'Atossa Genetics Inc.', 'Atreca', 'AtriCure', 'Atrion Corporation',
-    'Attis Industries Inc.', 'Auburn National Bancorporation',
-    'Audentes Therapeutics', 'AudioCodes Ltd.', 'AudioEye',
-    'Aurinia Pharmaceuticals Inc', 'Auris Medical Holding Ltd.',
-    'Aurora Cannabis Inc.', 'Aurora Mobile Limited', 'Auryn Resources Inc.',
-    'AutoNation', 'AutoWeb', 'AutoZone', 'Autodesk', 'Autohome Inc.',
-    'Autoliv', 'Autolus Therapeutics plc', 'Automatic Data Processing',
-    'Avadel Pharmaceuticals plc', 'Avalara', 'Avalon GloboCare Corp.',
-    'Avalon Holdings Corporation', 'AvalonBay Communities', 'Avangrid',
-    'Avanos Medical', 'Avantor', 'Avaya Holdings Corp.', 'Avedro',
-    'Avenue Therapeutics', 'Avery Dennison Corporation',
-    'Avianca Holdings S.A.', 'Aviat Networks', 'Avid Bioservices',
-    'Avid Technology', 'Avinger', 'Avino Silver', 'Avis Budget Group',
-    'Avista Corporation', 'Avnet', 'Avon Products', 'Aware',
-    'Axalta Coating Systems Ltd.', 'Axcelis Technologies',
-    'Axcella Health Inc.', 'Axis Capital Holdings Limited', 'AxoGen',
-    'Axon Enterprise', 'Axonics Modulation Technologies', 'Axos Financial',
-    'Axovant Gene Therapies Ltd.', 'Axsome Therapeutics', 'Aytu BioScience',
-    'Azul S.A.', 'AzurRx BioPharma', 'Azure Power Global Limited',
-    'B Communications Ltd.', 'B&G Foods', 'B. Riley Financial',
-    'B. Riley Principal Merger Corp.', 'B.O.S. Better Online Solutions',
-    'B2Gold Corp', 'BATS BZX Exchange', 'BB&T Corporation',
-    'BBVA Banco Frances S.A.', 'BBX Capital Corporation', 'BCB Bancorp',
-    'BCE', 'BELLUS Health Inc.', 'BEST Inc.', 'BG Staffing Inc',
-    'BGC Partners', 'BHP Group Limited', 'BHP Group Plc',
-    'BIO-key International', 'BJ&#39;s Restaurants',
-    'BJ&#39;s Wholesale Club Holdings', 'BK Technologies Corporation',
-    'BLACKROCK INTERNATIONAL', 'BMC Stock Holdings',
-    'BNY Mellon Alcentra Global Credit Income 2024 Target Term Fund',
-    'BNY Mellon High Yield Strategies Fund',
-    'BNY Mellon Municipal Bond Infrastructure Fund',
-    'BNY Mellon Municipal Income Inc.',
-    'BNY Mellon Strategic Municipal Bond Fund',
-    'BNY Mellon Strategic Municipals', 'BOK Financial Corporation',
-    'BP Midstream Partners LP', 'BP Prudhoe Bay Royalty Trust', 'BP p.l.c.',
-    'BRF S.A.', 'BRP Inc.', 'BRT Apartments Corp.', 'BSQUARE Corporation',
-    'BT Group plc', 'BWX Technologies', 'Babcock',
-    'Babson Global Short Duration High Yield Fund', 'Badger Meter', 'Baidu',
-    'Bain Capital Specialty Finance', 'Baker Hughes', 'Balchem Corporation',
-    'BalckRock Taxable Municipal Bond Trust', 'Ball Corporation',
-    'Ballantyne Strong', 'Ballard Power Systems', 'BanColombia S.A.',
-    'Banc of California', 'BancFirst Corporation',
-    'Banco Bilbao Viscaya Argentaria S.A.', 'Banco Bradesco Sa',
-    'Banco De Chile', 'Banco Latinoamericano de Comercio Exterior',
-    'Banco Santander', 'Banco Santander Brasil SA', 'Banco Santander Chile',
-    'Banco Santander Mexico', 'Bancorp 34', 'Bancorp of New Jersey',
-    'BancorpSouth Bank', 'Bancroft Fund Limited', 'Bandwidth Inc.',
-    'Bank First Corporation', 'Bank OZK', 'Bank Of Montreal',
-    'Bank Of New York Mellon Corporation (The)',
-    'Bank of America Corporation', 'Bank of Commerce Holdings (CA)',
-    'Bank of Hawaii Corporation', 'Bank of Marin Bancorp',
-    'Bank of N.T. Butterfield & Son Limited (The)',
-    'Bank of Nova Scotia (The)', 'Bank of South Carolina Corp.',
-    'Bank of the James Financial Group', 'Bank7 Corp.',
-    'BankFinancial Corporation', 'BankUnited', 'Bankwell Financial Group',
-    'Banner Corporation', 'Baozun Inc.', 'Bar Harbor Bankshares',
-    'Barclays PLC', 'Barings BDC', 'Barings Corporate Investors',
-    'Barings Participation Investors', 'Barnes & Noble Education',
-    'Barnes Group', 'Barnwell Industries', 'Barrett Business Services',
-    'Barrick Gold Corporation', 'Basic Energy Services',
-    'Bassett Furniture Industries', 'Bat Group',
-    'Bausch Health Companies Inc.', 'Baxter International Inc.',
-    'BayCom Corp', 'Baytex Energy Corp', 'Beacon Roofing Supply',
-    'Beasley Broadcast Group', 'Beazer Homes USA', 'Becton',
-    'Bed Bath & Beyond Inc.', 'BeiGene', 'Bel Fuse Inc.', 'Belden Inc',
-    'Bellerophon Therapeutics', 'Bellicum Pharmaceuticals',
-    'Benchmark Electronics', 'Benefitfocus', 'Benitec Biopharma Limited',
-    'Berkshire Hathaway Inc.', 'Berkshire Hills Bancorp',
-    'Berry Global Group', 'Berry Petroleum Corporation', 'Best Buy Co.',
-    'Beyond Air', 'Beyond Meat', 'BeyondSpring', 'Bicycle Therapeutics plc',
-    'Big 5 Sporting Goods Corporation', 'Big Lots',
-    'Big Rock Partners Acquisition Corp.', 'Biglari Holdings Inc.',
-    'Bilibili Inc.', 'Bio-Path Holdings', 'Bio-Rad Laboratories',
-    'Bio-Techne Corp', 'BioCardia', 'BioCryst Pharmaceuticals',
-    'BioDelivery Sciences International', 'BioHiTech Global',
-    'BioLife Solutions', 'BioLineRx Ltd.', 'BioMarin Pharmaceutical Inc.',
-    'BioPharmX Corporation', 'BioSig Technologies',
-    'BioSpecifics Technologies Corp', 'BioTelemetry', 'BioVie Inc.',
-    'BioXcel Therapeutics', 'Bioanalytical Systems', 'Biocept',
-    'Bioceres Crop Solutions Corp.', 'Biofrontera AG', 'Biogen Inc.',
-    'Biohaven Pharmaceutical Holding Company Ltd.', 'Biolase', 'Biomerica',
-    'Bionano Genomics', 'BiondVax Pharmaceuticals Ltd.',
-    'Bionik Laboratories Corp.', 'Birks Group Inc.',
-    'Bitauto Holdings Limited', 'Black Hills Corporation', 'Black Knight',
-    'Black Stone Minerals', 'BlackBerry Limited', 'BlackLine', 'BlackRock',
-    'BlackRock 2022 Global Income Opportunity Trust',
-    'BlackRock California Municipal Income Trust',
-    'BlackRock Capital Investment Corporation',
-    'BlackRock Credit Allocation Income Trust',
-    'BlackRock Energy and Resources Trust',
-    'BlackRock Income Investment Quality Trust',
-    'BlackRock Income Trust Inc. (The)',
-    'BlackRock Investment Quality Municipal Trust Inc. (The)',
-    'BlackRock Long-Term Municipal Advantage Trust',
-    'BlackRock Maryland Municipal Bond Trust',
-    'BlackRock Massachusetts Tax-Exempt Trust',
-    'BlackRock Multi-Sector Income Trust',
-    'BlackRock Municipal Income Investment Trust',
-    'BlackRock Municipal Income Trust',
-    'BlackRock Municipal Income Trust II',
-    'BlackRock Municipal Target Term Trust Inc. (The)',
-    'BlackRock New York Investment Quality Municipal Trust Inc. (Th',
-    'BlackRock New York Municipal Income Trust II', 'BlackRock Resources',
-    'BlackRock Science and Technology Trust',
-    'BlackRock Science and Technology Trust II',
-    'BlackRock Strategic Municipal Trust Inc. (The)',
-    'BlackRock TCP Capital Corp.', 'BlackRock Utility',
-    'BlackRock Virginia Municipal Bond Trust', 'Blackbaud',
-    'Blackrock Capital and Income Strategies Fund Inc',
-    'Blackrock Core Bond Trust', 'Blackrock Corporate High Yield Fund',
-    'Blackrock Debt Strategies Fund',
-    'Blackrock Enhanced Equity Dividend Trust',
-    'Blackrock Enhanced Government Fund',
-    'Blackrock Floating Rate Income Strategies Fund Inc',
-    'Blackrock Florida Municipal 2020 Term Trust', 'Blackrock Global',
-    'Blackrock Health Sciences Trust',
-    'Blackrock Muni Intermediate Duration Fund Inc',
-    'Blackrock Muni New York Intermediate Duration Fund Inc',
-    'Blackrock MuniAssets Fund', 'Blackrock MuniEnhanced Fund',
-    'Blackrock MuniHoldings California Quality Fund',
-    'Blackrock MuniHoldings Fund', 'Blackrock MuniHoldings Fund II',
-    'Blackrock MuniHoldings Investment Quality Fund',
-    'Blackrock MuniHoldings New Jersey Insured Fund',
-    'Blackrock MuniHoldings New York Quality Fund',
-    'Blackrock MuniHoldings Quality Fund',
-    'Blackrock MuniHoldings Quality Fund II', 'Blackrock MuniVest Fund II',
-    'Blackrock MuniYield California Fund',
-    'Blackrock MuniYield California Insured Fund',
-    'Blackrock MuniYield Fund', 'Blackrock MuniYield Investment Fund',
-    'Blackrock MuniYield Investment QualityFund',
-    'Blackrock MuniYield Michigan Quality Fund',
-    'Blackrock MuniYield New Jersey Fund',
-    'Blackrock MuniYield New York Quality Fund',
-    'Blackrock MuniYield Pennsylvania Quality Fund',
-    'Blackrock MuniYield Quality Fund',
-    'Blackrock MuniYield Quality Fund II',
-    'Blackrock MuniYield Quality Fund III',
-    'Blackrock Municipal 2020 Term Trust', 'Blackrock Municipal Bond Trust',
-    'Blackrock Municipal Income Quality Trust',
-    'Blackrock New York Municipal Bond Trust',
-    'Blackrock New York Municipal Income Quality Trust',
-    'Blackstone / GSO Strategic Credit Fund',
-    'Blackstone GSO Long Short Credit Income Fund',
-    'Blackstone GSO Senior Floating Rate Term Fund', 'Blink Charging Co.',
-    'Blonder Tongue Laboratories', 'Bloom Energy Corporation',
-    'Bloomin&#39; Brands', 'Blucora', 'Blue Apron Holdings',
-    'Blue Bird Corporation', 'Blue Capital Reinsurance Holdings Ltd.',
-    'Blue Hat Interactive Entertainment Technology',
-    'BlueLinx Holdings Inc.', 'BlueStar Israel Technology ETF',
-    'Bluegreen Vacations Corporation', 'Blueknight Energy Partners L.P.',
-    'Blueprint Medicines Corporation', 'Bluerock Residential Growth REIT',
-    'Boeing Company (The)', 'Boingo Wireless', 'Boise Cascade',
-    'Bonanza Creek Energy', 'Bonso Electronics International',
-    'Booking Holdings Inc.', 'Boot Barn Holdings',
-    'Booz Allen Hamilton Holding Corporation', 'BorgWarner Inc.',
-    'Borqs Technologies', 'Borr Drilling Limited', 'Boston Beer Company',
-    'Boston Omaha Corporation', 'Boston Private Financial Holdings',
-    'Boston Properties', 'Boston Scientific Corporation',
-    'Bottomline Technologies', 'Bowl America', 'Box',
-    'Boxlight Corporation', 'Boxwood Merger Corp.',
-    'Boyd Gaming Corporation', 'Brady Corporation',
-    'Braeburn Pharmaceuticals', 'Braemar Hotels & Resorts Inc.',
-    'Brainstorm Cell Therapeutics Inc.', 'Brainsway Ltd.',
-    'Brandywine Realty Trust',
-    'BrandywineGLOBAL Global Income Opportunities Fund ',
-    'Brasilagro Cia Brasileira De Propriedades Agricolas',
-    'Brickell Biotech', 'Bridge Bancorp', 'BridgeBio Pharma',
-    'Bridgeline Digital', 'Bridgewater Bancshares',
-    'Bridgford Foods Corporation', 'Briggs & Stratton Corporation',
-    'Brigham Minerals', 'Bright Horizons Family Solutions Inc.',
-    'Bright Scholar Education Holdings Limited',
-    'BrightSphere Investment Group Inc.', 'BrightView Holdings',
-    'Brightcove Inc.', 'Brighthouse Financial', 'Brink&#39;s Company (The)',
-    'Brinker International', 'Bristol-Myers Squibb Company',
-    'British American Tobacco p.l.c.', 'Brixmor Property Group Inc.',
-    'BroadVision', 'Broadcom Inc.', 'Broadridge Financial Solutions',
-    'Broadway Financial Corporation', 'Broadwind Energy',
-    'Brookdale Senior Living Inc.', 'Brookfield Asset Management Inc',
-    'Brookfield Business Partners L.P.', 'Brookfield DTLA Inc.',
-    'Brookfield Global Listed Infrastructure Income Fund',
-    'Brookfield Infrastructure Partners LP',
-    'Brookfield Property Partners L.P.', 'Brookfield Property REIT Inc.',
-    'Brookfield Real Assets Income Fund Inc.',
-    'Brookfield Renewable Partners L.P.', 'Brookline Bancorp',
-    'Brooks Automation', 'Brown & Brown', 'Brown Forman Corporation',
-    'Bruker Corporation', 'Brunswick Corporation',
-    'Bryn Mawr Bank Corporation', 'Buckeye Partners L.P.', 'Buckle',
-    'Buenaventura Mining Company Inc.', 'Build-A-Bear Workshop',
-    'Builders FirstSource', 'Bunge Limited', 'Burlington Stores',
-    'Business First Bancshares', 'Byline Bancorp',
-    'C&F Financial Corporation', 'C&J Energy Services',
-    'C.H. Robinson Worldwide', 'CABCO Series 2004-101 Trust',
-    'CACI International', 'CAE Inc', 'CAI International',
-    'CASI Pharmaceuticals', 'CB Financial Services',
-    'CBAK Energy Technology', 'CBIZ', 'CBL & Associates Properties',
-    'CBM Bancorp', 'CBO (Listing Market - NYSE - Networks A/E)',
-    'CBRE Clarion Global Real Estate Income Fund', 'CBRE Group',
-    'CBS Corporation', 'CBTX', 'CBX (Listing Market NYSE Networks AE',
-    'CDK Global', 'CDW Corporation', 'CECO Environmental Corp.', 'CEVA',
-    'CF Finance Acquisition Corp.', 'CF Industries Holdings', 'CGI Inc.',
-    'CHF Solutions', 'CHS Inc', 'CIM Commercial Trust Corporation',
-    'CIRCOR International', 'CIT Group Inc (DEL)', 'CKX Lands',
-    'CLPS Incorporation', 'CME Group Inc.', 'CMS Energy Corporation',
-    'CNA Financial Corporation', 'CNB Financial Corporation',
-    'CNFinance Holdings Limited', 'CNH Industrial N.V.',
-    'CNO Financial Group', 'CNOOC Limited', 'CNX Midstream Partners LP',
-    'CNX Resources Corporation', 'CONMED Corporation',
-    'CONSOL Coal Resources LP', 'CPB Inc.', 'CPFL Energia S.A.',
-    'CPI Aerostructures', 'CPI Card Group Inc.', 'CPS Technologies Corp.',
-    'CRA International', 'CRH Medical Corporation', 'CRH PLC',
-    'CRISPR Therapeutics AG', 'CSG Systems International',
-    'CSI Compressco LP', 'CSP Inc.', 'CSS Industries', 'CSW Industrials',
-    'CSX Corporation', 'CTI BioPharma Corp.', 'CTI Industries Corporation',
-    'CTS Corporation', 'CUI Global', 'CURO Group Holdings Corp.',
-    'CVB Financial Corporation', 'CVD Equipment Corporation',
-    'CVR Energy Inc.', 'CVR Partners', 'CVS Health Corporation',
-    'CYREN Ltd.', 'Cable One', 'Cabot Corporation',
-    'Cabot Microelectronics Corporation', 'Cabot Oil & Gas Corporation',
-    'Cactus', 'Cadence Bancorporation', 'Cadence Design Systems', 'Cadiz',
-    'Caesars Entertainment Corporation', 'Caesarstone Ltd.',
-    'Cal-Maine Foods', 'CalAmp Corp.', 'Caladrius Biosciences',
-    'Calamos Convertible Opportunities and Income Fund',
-    'Calamos Convertible and High Income Fund',
-    'Calamos Dynamic Convertible & Income Fund',
-    'Calamos Global Dynamic Income Fund',
-    'Calamos Global Total Return Fund',
-    'Calamos Strategic Total Return Fund', 'Calavo Growers',
-    'Caledonia Mining Corporation Plc', 'Caleres',
-    'California Resources Corporation',
-    'California Water  Service Group Holding', 'Calithera Biosciences',
-    'Calix', 'Callaway Golf Company', 'Callon Petroleum Company',
-    'Calumet Specialty Products Partners', 'Calyxt', 'Camber Energy',
-    'Cambium Networks Corporation', 'Cambrex Corporation',
-    'Cambridge Bancorp', 'Camden National Corporation',
-    'Camden Property Trust', 'Cameco Corporation', 'Campbell Soup Company',
-    'Camping World Holdings', 'Camtek Ltd.', 'Can-Fite Biopharma Ltd',
-    'Canada Goose Holdings Inc.', 'Canadian Imperial Bank of Commerce',
-    'Canadian National Railway Company',
-    'Canadian Natural Resources Limited',
-    'Canadian Pacific Railway Limited', 'Canadian Solar Inc.',
-    'Cancer Genetics', 'Cango Inc.', 'CannTrust Holdings Inc.',
-    'Cannae Holdings', 'Canon', 'Canopy Growth Corporation',
-    'Cantel Medical Corp.', 'Canterbury Park Holding Corporation',
-    'CapStar Financial Holdings', 'Capital Bancorp',
-    'Capital City Bank Group', 'Capital One Financial Corporation',
-    'Capital Product Partners L.P.', 'Capital Senior Living Corporation',
-    'Capital Southwest Corporation', 'Capital Trust',
-    'Capitala Finance Corp.', 'Capitol Federal Financial',
-    'Capri Holdings Limited', 'Capricor Therapeutics',
-    'Capstead Mortgage Corporation', 'Capstone Turbine Corporation',
-    'CarGurus', 'CarMax Inc', 'Cara Therapeutics', 'Carbo Ceramics',
-    'Carbon Black', 'Carbonite', 'Cardinal Health',
-    'Cardiovascular Systems', 'Cardlytics', 'Cardtronics plc', 'Care.com',
-    'CareDx', 'CareTrust REIT', 'Career Education Corporation',
-    'Carlisle Companies Incorporated', 'Carnival Corporation',
-    'Carolina Financial Corporation', 'Carolina Trust BancShares',
-    'Carpenter Technology Corporation', 'Carriage Services',
-    'Carrizo Oil & Gas', 'Carrols Restaurant Group', 'Cars.com Inc.',
-    'Carter Bank & Trust', 'Carter&#39;s', 'Carvana Co.', 'Carver Bancorp',
-    'Casa Systems', 'Casella Waste Systems', 'Caseys General Stores',
-    'Cass Information Systems', 'Cassava Sciences', 'Castle Biosciences',
-    'Castle Brands', 'Castlight Health', 'Castor Maritime Inc.',
-    'Catabasis Pharmaceuticals', 'Catalent', 'Catalyst Biosciences',
-    'Catalyst Pharmaceuticals', 'Catasys', 'CatchMark Timber Trust',
-    'Caterpillar', 'Cathay General Bancorp', 'Cato Corporation (The)',
-    'Cavco Industries', 'Cboe Global Markets', 'Cedar Fair',
-    'Cedar Realty Trust', 'Cel-Sci Corporation', 'Celanese Corporation',
-    'Celcuity Inc.', 'Celestica', 'Celgene Corporation', 'Cellcom Israel',
-    'Celldex Therapeutics', 'Cellect Biotechnology Ltd.',
-    'Cellectar Biosciences', 'Cellectis S.A.', 'Cellular Biomedicine Group',
-    'Celsion Corporation', 'Celsius Holdings', 'Celyad SA',
-    'Cementos Pacasmayo S.A.A.', 'Cemex S.A.B. de C.V.', 'Cemtrex Inc.',
-    'Cenovus Energy Inc', 'Centene Corporation',
-    'Centennial Resource Development',
-    'Center Coast Brookfield MLP & Energy Infrastructur',
-    'CenterPoint Energy', 'CenterState Bank Corporation',
-    'Centrais Electricas Brasileiras S.A.- Eletrobras',
-    'Central European Media Enterprises Ltd.',
-    'Central Federal Corporation', 'Central Garden & Pet Company',
-    'Central Puerto S.A.', 'Central Securities Corporation',
-    'Central Valley Community Bancorp',
-    'Centrexion Therapeutics Corporation', 'Centric Brands Inc.',
-    'Centrus Energy Corp.', 'Century Aluminum Company', 'Century Bancorp',
-    'Century Casinos', 'Century Communities', 'CenturyLink',
-    'Ceragon Networks Ltd.', 'Cerecor Inc.', 'Ceridian HCM Holding Inc.',
-    'Cerner Corporation', 'Cerus Corporation', 'Cesca Therapeutics Inc.',
-    'ChaSerg Technology Acquisition Corp.', 'Champions Oncology',
-    'Change Healthcare Inc.', 'Changyou.com Limited',
-    'ChannelAdvisor Corporation', 'Chanticleer Holdings',
-    'Chaparral Energy', 'Charah Solutions',
-    'Chardan Healthcare Acquisition Corp.', 'Charles & Colvard Ltd.',
-    'Charles River Laboratories International', 'Chart Industries',
-    'Charter Communications', 'Chase Corporation',
-    'Chatham Lodging Trust (REIT)',
-    'Check Point Software Technologies Ltd.', 'Check-Cap Ltd.',
-    'Checkpoint Therapeutics', 'Cheetah Mobile Inc.', 'Chegg',
-    'Chembio Diagnostics', 'Chemed Corp.', 'ChemoCentryx',
-    'Chemours Company (The)', 'Chemung Financial Corp', 'Cheniere Energy',
-    'Cheniere Energy Partners',
-    'Cherry Hill Mortgage Investment Corporation',
-    'Chesapeake Energy Corporation', 'Chesapeake Granite Wash Trust',
-    'Chesapeake Lodging Trust', 'Chesapeake Utilities Corporation',
-    'Chevron Corporation', 'Chewy', 'Chiasma',
-    'Chicago Rivet & Machine Co.',
-    'Chicken Soup for the Soul Entertainment', 'Chico&#39;s FAS',
-    'Children&#39;s Place', 'Chimera Investment Corporation', 'Chimerix',
-    'China Automotive Systems', 'China Biologic Products Holdings',
-    'China Ceramics Co.', 'China Customer Relations Centers',
-    'China Distance Education Holdings Limited',
-    'China Eastern Airlines Corporation Ltd.',
-    'China Finance Online Co. Limited', 'China Fund',
-    'China Green Agriculture', 'China HGS Real Estate',
-    'China Index Holdings Limited',
-    'China Internet Nationwide Financial Services Inc.',
-    'China Jo-Jo Drugstores', 'China Life Insurance Company Limited',
-    'China Mobile (Hong Kong) Ltd.', 'China Natural Resources',
-    'China Online Education Group',
-    'China Petroleum & Chemical Corporation', 'China Pharma Holdings',
-    'China Rapid Finance Limited', 'China Recycling Energy Corporation',
-    'China SXT Pharmaceuticals', 'China Southern Airlines Company Limited',
-    'China TechFaith Wireless Communication Technology Limited',
-    'China Telecom Corp Ltd', 'China Unicom (Hong Kong) Ltd',
-    'China XD Plastics Company Limited', 'China Xiangtai Food Co.',
-    'China Yuchai International Limited', 'ChinaNet Online Holdings',
-    'ChipMOS TECHNOLOGIES INC.', 'Chipotle Mexican Grill',
-    'Choice Hotels International', 'ChromaDex Corporation', 'Chubb Limited',
-    'Chunghwa Telecom Co.', 'Church & Dwight Company',
-    'Churchill Capital Corp II', 'Churchill Downs', 'Chuy&#39;s Holdings',
-    'Cibus Corp.', 'Cidara Therapeutics', 'Ciena Corporation',
-    'Cigna Corporation', 'Cimarex Energy Co', 'Cimpress N.V',
-    'Cincinnati Bell Inc', 'Cincinnati Financial Corporation',
-    'Cinedigm Corp', 'Cinemark Holdings Inc', 'Ciner Resources LP',
-    'Cintas Corporation', 'Cirrus Logic', 'Cisco Systems', 'Cision Ltd.',
-    'Citi Trends', 'Citigroup Inc.', 'Citius Pharmaceuticals', 'Citizens',
-    'Citizens & Northern Corp', 'Citizens Community Bancorp',
-    'Citizens Financial Group', 'Citizens Holding Company',
-    'Citrix Systems', 'City Holding Company', 'City Office REIT',
-    'Civeo Corporation', 'Civista Bancshares', 'Clarivate Analytics Plc',
-    'Clarus Corporation', 'Clean Energy Fuels Corp.', 'Clean Harbors',
-    'Clear Channel Outdoor Holdings', 'ClearBridge All Cap Growth ETF',
-    'ClearBridge Dividend Strategy ESG ETF',
-    'ClearBridge Energy Midstream Opportunity Fund Inc.',
-    'ClearBridge Large Cap Growth ESG ETF',
-    'ClearBridge MLP and Midstream Fund Inc.',
-    'ClearBridge MLP and Midstream Total Return Fund In', 'ClearOne',
-    'ClearSign Combustion Corporation', 'Clearfield',
-    'Clearside Biomedical', 'Clearwater Paper Corporation',
-    'Clearway Energy', 'Cleveland BioLabs', 'Cleveland-Cliffs Inc.',
-    'Clipper Realty Inc.', 'Clorox Company (The)', 'Cloudera',
-    'Clough Global Dividend and Income Fund', 'Clough Global Equity Fund',
-    'Clough Global Opportunities Fund', 'Clovis Oncology', 'Co-Diagnostics',
-    'CoStar Group', 'Coastal Financial Corporation',
-    'Coca Cola Femsa S.A.B. de C.V.', 'Coca-Cola Company (The)',
-    'Coca-Cola Consolidated', 'Coca-Cola European Partners plc',
-    'Cocrystal Pharma', 'Coda Octopus Group', 'Codexis',
-    'Codorus Valley Bancorp', 'Coeur Mining', 'Coffee Holding Co.',
-    'Cogent Communications Holdings', 'Cognex Corporation',
-    'Cognizant Technology Solutions Corporation', 'CohBar',
-    'Cohen & Company Inc.', 'Cohen & Steers Closed-End Opportunity Fund',
-    'Cohen & Steers Global Income Builder', 'Cohen & Steers Inc',
-    'Cohen & Steers Infrastructure Fund',
-    'Cohen & Steers Limited Duration Preferred and Income Fund',
-    'Cohen & Steers MLP Income and Energy Opportunity Fund',
-    'Cohen & Steers Quality Income Realty Fund Inc',
-    'Cohen & Steers REIT and Preferred and Income Fund',
-    'Cohen & Steers Select Preferred and Income Fund',
-    'Cohen & Steers Total Return Realty Fund', 'Coherent',
-    'Coherus BioSciences', 'Cohu', 'Colfax Corporation',
-    'Colgate-Palmolive Company', 'CollPlant Biotechnologies Ltd.',
-    'Collectors Universe', 'Collegium Pharmaceutical',
-    'Collier Creek Holdings', 'Colliers International Group Inc. ',
-    'Colonial High Income Municipal Trust',
-    'Colonial Intermediate High Income Fund',
-    'Colonial Investment Grade Municipal Trust',
-    'Colonial Municipal Income Trust', 'Colony Bankcorp', 'Colony Capital',
-    'Colony Credit Real Estate', 'Columbia Banking System',
-    'Columbia Financial', 'Columbia Property Trust',
-    'Columbia Seligman Premium Technology Growth Fund',
-    'Columbia Sportswear Company', 'Columbus McKinnon Corporation',
-    'Comcast Corporation', 'Comerica Incorporated', 'Comfort Systems USA',
-    'CommScope Holding Company', 'Commerce Bancshares',
-    'Commercial Metals Company', 'Commercial Vehicle Group',
-    'Communications Systems', 'Community Bank System',
-    'Community Bankers Trust Corporation.', 'Community First Bancshares',
-    'Community Health Systems', 'Community Healthcare Trust Incorporated',
-    'Community Trust Bancorp', 'Community West Bancshares',
-    'Commvault Systems', 'Comp En De Mn Cemig ADS',
-    'CompX International Inc.', 'Companhia Brasileira de Distribuicao',
-    'Companhia Paranaense de Energia (COPEL)',
-    'Companhia de saneamento Basico Do Estado De Sao Paulo - Sabesp',
-    'Compania Cervecerias Unidas', 'Compass Diversified Holdings',
-    'Compass Minerals International', 'Compugen Ltd.',
-    'Computer Programs and Systems', 'Computer Task Group',
-    'Comstock Holding Companies', 'Comstock Mining', 'Comstock Resources',
-    'Comtech Telecommunications Corp.', 'ConAgra Brands',
-    'Conatus Pharmaceuticals Inc.', 'Concert Pharmaceuticals',
-    'Concho Resources Inc.', 'Concord Medical Services Holdings Limited',
-    'Concrete Pumping Holdings', 'Condor Hospitality Trust',
-    'Conduent Incorporated', 'ConforMIS', 'Conifer Holdings', 'Conn&#39;s',
-    'ConnectOne Bancorp', 'Connecticut Water Service', 'ConocoPhillips',
-    'Consolidated Communications Holdings', 'Consolidated Edison Inc',
-    'Consolidated Water Co. Ltd.', 'Consolidated-Tomoka Land Co.',
-    'Constellation Brands Inc', 'Constellation Pharmaceuticals',
-    'Constellium SE', 'Construction Partners',
-    'Consumer Portfolio Services', 'Container Store (The)',
-    'Contango Oil & Gas Company', 'Continental Building Products',
-    'Continental Materials Corporation', 'Continental Resources',
-    'ContraFect Corporation', 'Controladora Vuela Compania de Aviacion',
-    'Contura Energy', 'ConversionPoint Holdings',
-    'Conyers Park II Acquisition Corp.', 'CooTek (Cayman) Inc.',
-    'Cool Holdings Inc.', 'Cooper Tire & Rubber Company',
-    'Cooper-Standard Holdings Inc.', 'Copa Holdings', 'Copart',
-    'CorEnergy Infrastructure Trust', 'CorMedix Inc.', 'CorVel Corp.',
-    'Corbus Pharmaceuticals Holdings', 'Corcept Therapeutics Incorporated',
-    'Core Laboratories N.V.', 'Core Molding Technologies Inc',
-    'Core-Mark Holding Company', 'CoreCivic', 'CoreLogic',
-    'CorePoint Lodging Inc.', 'CoreSite Realty Corporation',
-    'Corindus Vascular Robotics', 'Cornerstone Building Brands',
-    'Cornerstone OnDemand', 'Cornerstone Strategic Return Fund',
-    'Cornerstone Strategic Value Fund', 'Corning Incorporated',
-    'Corporacion America Airports SA', 'Corporate Asset Backed Corp CABCO',
-    'Corporate Office Properties Trust', 'Correvio Pharma Corp.', 'Corteva',
-    'Cortexyme', 'Cortland Bancorp', 'Corvus Pharmaceuticals',
-    'Cosan Limited', 'Costamare Inc.', 'Costco Wholesale Corporation',
-    'Cott Corporation', 'Coty Inc.', 'CounterPath Corporation',
-    'County Bancorp', 'Coupa Software Incorporated',
-    'Cousins Properties Incorporated', 'Covanta Holding Corporation',
-    'Covenant Transportation Group', 'Covetrus',
-    'Covia Holdings Corporation', 'Cowen Inc.',
-    'Cracker Barrel Old Country Store', 'Craft Brew Alliance', 'Crane Co.',
-    'Crawford & Company', 'Cray Inc', 'Creative Realities',
-    'Credicorp Ltd.', 'Credit Acceptance Corporation', 'Credit Suisse AG',
-    'Credit Suisse Asset Management Income Fund', 'Credit Suisse Group',
-    'Credit Suisse High Yield Bond Fund', 'Cree',
-    'Crescent Acquisition Corp', 'Crescent Point Energy Corporation',
-    'Crestwood Equity Partners LP', 'Cresud S.A.C.I.F. y A.',
-    'Crinetics Pharmaceuticals', 'Criteo S.A.', 'Crocs',
-    'Cronos Group Inc.', 'Cross Country Healthcare',
-    'Cross Timbers Royalty Trust', 'CrossAmerica Partners LP',
-    'CrossFirst Bankshares', 'CrowdStrike Holdings',
-    'Crown Castle International Corporation', 'Crown Crafts',
-    'Crown Holdings', 'CryoLife', 'CryoPort', 'Ctrip.com International',
-    'CubeSmart', 'Cubic Corporation', 'Cue Biopharma',
-    'Cullen/Frost Bankers', 'Culp', 'Cumberland Pharmaceuticals Inc.',
-    'Cummins Inc.', 'Cumulus Media Inc.', 'Curis',
-    'Curtiss-Wright Corporation', 'Cushing Energy Income Fund (The)',
-    'Cushing MLP & Infrastructure Total Return Fund',
-    'Cushing Renaissance Fund (The)', 'Cushman & Wakefield plc',
-    'Customers Bancorp', 'Cutera', 'Cyanotech Corporation',
-    'CyberArk Software Ltd.', 'CyberOptics Corporation',
-    'Cyclacel Pharmaceuticals', 'Cyclerion Therapeutics',
-    'CymaBay Therapeutics Inc.', 'CynergisTek', 'Cypress Energy Partners',
-    'Cypress Semiconductor Corporation', 'CyrusOne Inc', 'Cytokinetics',
-    'CytomX Therapeutics', 'Cytosorbents Corporation', 'D.R. Horton',
-    'DAQO New Energy Corp.', 'DASAN Zhone Solutions', 'DAVIDsTEA Inc.',
-    'DBV Technologies S.A.', 'DCP Midstream LP', 'DD3 Acquisition Corp.',
-    'DENTSPLY SIRONA Inc.', 'DERMAdoctor',
-    'DFB Healthcare Acquisitions Corp.', 'DGSE Companies', 'DHI Group',
-    'DHT Holdings', 'DHX Media Ltd.', 'DISH Network Corporation',
-    'DLH Holdings Corp.', 'DMC Global Inc.', 'DNB Financial Corp',
-    'DPW Holdings', 'DRDGOLD Limited', 'DSP Group', 'DTE Energy Company',
-    'DURECT Corporation', 'DXC Technology Company', 'DXP Enterprises',
-    'DaVita Inc.', 'Daily Journal Corp. (S.C.)', 'Daktronics',
-    'Dana Incorporated', 'Danaher Corporation', 'Danaos Corporation',
-    'Darden Restaurants', 'Dare Bioscience', 'DarioHealth Corp.',
-    'Darling Ingredients Inc.', 'Daseke', 'Data I/O Corporation',
-    'Datasea Inc.', 'Dave & Buster&#39;s Entertainment',
-    'Davis Select Financial ETF', 'Davis Select International ETF',
-    'Davis Select U.S. Equity ETF', 'Davis Select Worldwide ETF',
-    'Dawson Geophysical Company', 'Daxor Corporation', 'Dean Foods Company',
-    'Deciphera Pharmaceuticals', 'Deckers Outdoor Corporation',
-    'Deere & Company', 'Del Frisco&#39;s Restaurant Group',
-    'Del Taco Restaurants', 'DelMar Pharmaceuticals',
-    'Delaware Enhanced Global Dividend',
-    'Delaware Investments Colorado Municipal Income Fund',
-    'Delaware Investments Dividend & Income Fund',
-    'Delaware Investments Florida Insured Municipal Income Fund',
-    'Delaware Investments Minnesota Municipal Income Fund II',
-    'Delek Logistics Partners', 'Delek US Holdings',
-    'Dell Technologies Inc.', 'Delphi Technologies PLC', 'Delta Air Lines',
-    'Delta Apparel', 'Deluxe Corporation', 'Denali Therapeutics Inc.',
-    'Denbury Resources Inc.', 'Denison Mine Corp',
-    'Denny&#39;s Corporation', 'DermTech', 'Dermavant Sciences Ltd.',
-    'Dermira', 'Designer Brands Inc.', 'Despegar.com',
-    'Destination Maternity Corporation', 'Destination XL Group',
-    'Deswell Industries', 'Deutsch Bk Contingent Cap Tr V',
-    'Deutsche Bank AG', 'Devon Energy Corporation', 'DexCom',
-    'DiaMedica Therapeutics Inc.', 'Diageo plc',
-    'Diamond Eagle Acquisition Corp.', 'Diamond Hill Investment Group',
-    'Diamond Offshore Drilling', 'Diamond S Shipping Inc.',
-    'DiamondPeak Holdings Corp.', 'Diamondback Energy',
-    'Diamondrock Hospitality Company', 'Diana Shipping inc.',
-    'Dicerna Pharmaceuticals', 'Dick&#39;s Sporting Goods Inc',
-    'Diebold Nixdorf Incorporated', 'Diffusion Pharmaceuticals Inc.',
-    'Digi International Inc.', 'Digimarc Corporation',
-    'Digirad Corporation', 'Digital Ally', 'Digital Realty Trust',
-    'Digital Turbine', 'Dillard&#39;s', 'Dime Community Bancshares',
-    'Dine Brands Global', 'Diodes Incorporated', 'Diplomat Pharmacy',
-    'Discover Financial Services', 'Discovery',
-    'Diversified Restaurant Holdings', 'Dividend and Income Fund',
-    'DocuSign', 'Document Security Systems',
-    'Dogness (International) Corporation', 'Dolby Laboratories',
-    'Dollar General Corporation', 'Dollar Tree', 'Dolphin Entertainment',
-    'Dominion Energy', 'Domino&#39;s Pizza Inc', 'Domo',
-    'Domtar Corporation', 'Donaldson Company', 'Donegal Group',
-    'Donnelley Financial Solutions', 'Dorchester Minerals',
-    'Dorian LPG Ltd.', 'Dorman Products',
-    'DouYu International Holdings Limited',
-    'DoubleLine Income Solutions Fund',
-    'DoubleLine Opportunistic Credit Fund', 'Douglas Dynamics',
-    'Douglas Emmett', 'Dova Pharmaceuticals', 'Dover Corporation',
-    'Dover Motorsports', 'Dow Inc.', 'Dr. Reddy&#39;s Laboratories Ltd',
-    'Dragon Victory International Limited', 'Dril-Quip', 'Drive Shack Inc.',
-    'DropCar', 'Dropbox', 'DryShips Inc.', 'DuPont de Nemours',
-    'Ducommun Incorporated',
-    'Duff & Phelps Global Utility Income Fund Inc.',
-    'Duff & Phelps Select MLP and Midstream Energy Fund',
-    'Duff & Phelps Utilities Income',
-    'Duff & Phelps Utilities Tax-Free Income',
-    'Duff & Phelps Utility & Corporate Bond Trust',
-    'Duke Energy Corporation', 'Duke Realty Corporation',
-    'Duluth Holdings Inc.', 'Dunkin&#39; Brands Group',
-    'Dunxin Financial Holdings Limited', 'Dyadic International',
-    'Dycom Industries', 'Dynagas LNG Partners LP', 'Dynatrace',
-    'Dynatronics Corporation', 'Dynavax Technologies Corporation',
-    'Dynex Capital', 'E*TRADE Financial Corporation',
-    'E.I. du Pont de Nemours and Company', 'E.W. Scripps Company (The)',
-    'ECA Marcellus Trust I', 'EDAP TMS S.A.', 'EMC Insurance Group Inc.',
-    'EMCOR Group', 'EMCORE Corporation', 'EMX Royalty Corporation',
-    'ENDRA Life Sciences Inc.', 'ENGlobal Corporation', 'ENI S.p.A.',
-    'ENSERVCO Corporation', 'EOG Resources', 'EPAM Systems',
-    'EPR Properties', 'EQM Midstream Partners', 'EQT Corporation',
-    'ESCO Technologies Inc.', 'ESSA Bancorp', 'ESSA Pharma Inc.',
-    'ETF Series Solutions Trust Vident Core U.S. Bond Strategy Fund',
-    'ETF Series Solutions Trust Vident Core US Equity ETF',
-    'ETF Series Solutions Trust Vident International Equity Fund',
-    'EVI Industries', 'EVO Payments', 'EXFO Inc', 'EZCORP', 'Eagle Bancorp',
-    'Eagle Bancorp Montana', 'Eagle Bulk Shipping Inc.',
-    'Eagle Capital Growth Fund', 'Eagle Financial Bancorp',
-    'Eagle Growth and Income Opportunities Fund', 'Eagle Materials Inc',
-    'Eagle Pharmaceuticals', 'Eagle Point Credit Company Inc.',
-    'Eagle Point Income Company Inc.', 'Eagleline Acquisition Corp.',
-    'Earthstone Energy', 'East West Bancorp', 'EastGroup Properties',
-    'Easterly Government Properties', 'Eastern Company (The)',
-    'Eastman Chemical Company', 'Eastman Kodak Company',
-    'Eastside Distilling', 'Eaton Corporation',
-    'Eaton Vance California Municipal Bond Fund',
-    'Eaton Vance California Municipal Income Trust',
-    'Eaton Vance Corporation', 'Eaton Vance Enhance Equity Income Fund',
-    'Eaton Vance Enhanced Equity Income Fund II',
-    'Eaton Vance Floating Rate Income Trust',
-    'Eaton Vance Floating-Rate 2022 Target Term Trust',
-    'Eaton Vance High Income 2021 Target Term Trust',
-    'Eaton Vance Limited Duration Income Fund',
-    'Eaton Vance Municipal Bond Fund',
-    'Eaton Vance Municipal Income 2028 Term Trust',
-    'Eaton Vance Municipal Income Trust',
-    'Eaton Vance New York Municipal Bond Fund',
-    'Eaton Vance New York Municipal Income Trust',
-    'Eaton Vance NextShares Trust', 'Eaton Vance NextShares Trust II',
-    'Eaton Vance Risk-Managed Diversified Equity Income Fund',
-    'Eaton Vance Senior Floating-Rate Fund',
-    'Eaton Vance Senior Income Trust',
-    'Eaton Vance Short Diversified Income Fund',
-    'Eaton Vance Tax Advantaged Dividend Income Fund',
-    'Eaton Vance Tax-Advantage Global Dividend Opp',
-    'Eaton Vance Tax-Advantaged Global Dividend Income Fund',
-    'Eaton Vance Tax-Managed Buy-Write Income Fund',
-    'Eaton Vance Tax-Managed Buy-Write Strategy Fund',
-    'Eaton Vance Tax-Managed Diversified Equity Income Fund',
-    'Eaton Vance Tax-Managed Global Diversified Equity Income Fund',
-    'Eaton vance Floating-Rate Income Plus Fund', 'Ebix',
-    'Echo Global Logistics', 'EchoStar Corporation', 'Ecolab Inc.',
-    'Ecology and Environment', 'Ecopetrol S.A.', 'Edesa Biotech',
-    'Edison International', 'Edison Nation', 'Editas Medicine',
-    'EdtechX Holdings Acquisition Corp.',
-    'Educational Development Corporation',
-    'Edwards Lifesciences Corporation', 'Eidos Therapeutics',
-    'Eiger BioPharmaceuticals', 'Ekso Bionics Holdings',
-    'El Paso Corporation', 'El Paso Electric Company',
-    'El Pollo Loco Holdings', 'Elanco Animal Health Incorporated',
-    'Elastic N.V.', 'Elbit Systems Ltd.', 'Eldorado Gold Corporation',
-    'Eldorado Resorts', 'Electrameccanica Vehicles Corp. Ltd.',
-    'Electro-Sensors', 'Electromed', 'Electronic Arts Inc.',
-    'Element Solutions Inc.', 'Elevate Credit', 'Eli Lilly and Company',
-    'Ellington Financial Inc.', 'Ellington Residential Mortgage REIT',
-    'Ellomay Capital Ltd.', 'Ellsworth Growth and Income Fund Ltd.',
-    'Elmira Savings Bank NY (The)', 'Eloxx Pharmaceuticals', 'Eltek Ltd.',
-    'Embotelladora Andina S.A.', 'Embraer S.A.', 'Emclaire Financial Corp',
-    'Emerald Expositions Events', 'Emergent Biosolutions',
-    'Emerson Electric Company', 'Emerson Radio Corporation',
-    'Emmis Communications Corporation', 'Empire Resorts',
-    'Empire State Realty Trust', 'Employers Holdings Inc',
-    'Empresa Distribuidora Y Comercializadora Norte S.A. (Edenor)',
-    'EnLink Midstream', 'EnPro Industries', 'Enable Midstream Partners',
-    'Enanta Pharmaceuticals', 'Enbridge Inc', 'Encana Corporation',
-    'Encompass Health Corporation', 'Encore Capital Group Inc',
-    'Encore Wire Corporation', 'Endava plc', 'Endeavour Silver Corporation',
-    'Endo International plc', 'Endologix',
-    'Endurance International Group Holdings', 'Enel Americas S.A.',
-    'Enel Chile S.A.', 'Energizer Holdings', 'Energous Corporation',
-    'Energy Focus', 'Energy Fuels Inc', 'Energy Hunter Resources',
-    'Energy Recovery', 'Energy Transfer L.P.', 'Energy Transfer Operating',
-    'Enerplus Corporation', 'Enersys', 'Enlivex Therapeutics Ltd.', 'Ennis',
-    'Enochian Biosciences', 'Enova International', 'Enphase Energy',
-    'Enstar Group Limited', 'Entasis Therapeutics Holdings Inc.',
-    'Entegra Financial Corp.', 'Entegris', 'Entera Bio Ltd.',
-    'Entercom Communications Corp.', 'Entergy Arkansas',
-    'Entergy Corporation', 'Entergy Louisiana', 'Entergy Mississippi',
-    'Entergy New Orleans', 'Entergy Texas Inc', 'Enterprise Bancorp Inc',
-    'Enterprise Financial Services Corporation',
-    'Enterprise Products Partners L.P.',
-    'Entravision Communications Corporation', 'Entree Resources Ltd.',
-    'Envestnet', 'Envision Solar International', 'Enviva Partners',
-    'Enzo Biochem', 'Epizyme', 'Epsilon Energy Ltd.', 'Equifax',
-    'Equillium', 'Equinix', 'Equinor ASA',
-    'Equitrans Midstream Corporation', 'Equity Bancshares',
-    'Equity Commonwealth', 'Equity Lifestyle Properties',
-    'Equity Residential', 'Equus Total Return', 'Era Group', 'Ericsson',
-    'Erie Indemnity Company', 'Eros International PLC',
-    'Erytech Pharma S.A.', 'Escalade', 'Esperion Therapeutics',
-    'Espey Mfg. & Electronics Corp.', 'Esquire Financial Holdings',
-    'Essent Group Ltd.', 'Essential Properties Realty Trust',
-    'Essex Property Trust', 'Establishment Labs Holdings Inc.',
-    'Estee Lauder Companies', 'Estre Ambiental',
-    'Ethan Allen Interiors Inc.', 'Eton Pharmaceuticals', 'Etsy',
-    'Euro Tech Holdings Company Limited', 'EuroDry Ltd.', 'Euronav NV',
-    'Euronet Worldwide', 'European Equity Fund', 'Euroseas Ltd.',
-    'Evans Bancorp', 'Evelo Biosciences', 'Eventbrite',
-    'Ever-Glory International Group', 'EverQuote', 'Everbridge',
-    'Evercore Inc.', 'Everest Re Group', 'Evergy', 'Everi Holdings Inc.',
-    'Eversource Energy', 'Everspin Technologies', 'Evertec',
-    'Evofem Biosciences', 'Evogene Ltd.', 'Evoke Pharma', 'Evolent Health',
-    'Evolus', 'Evolution Petroleum Corporation', 'Evolving Systems',
-    'Evoqua Water Technologies Corp.', 'Exact Sciences Corporation',
-    'Exantas Capital Corp.',
-    'Exchange Traded Concepts Trust FLAG-Forensic Accounting Long-S',
-    'Exchange Traded Concepts Trust ROBO Global Robotics and Automa',
-    'Exela Technologies', 'Exelixis', 'Exelon Corporation', 'Exicure',
-    'ExlService Holdings', 'Expedia Group',
-    'Expeditors International of Washington', 'Experience Investment Corp.',
-    'Exponent', 'Express', 'Extended Stay America', 'Exterran Corporation',
-    'Extra Space Storage Inc', 'Extraction Oil & Gas', 'Extreme Networks',
-    'Exxon Mobil Corporation', 'EyePoint Pharmaceuticals',
-    'Eyegate Pharmaceuticals', 'Eyenovia', 'F.N.B. Corporation',
-    'F5 Networks', 'FARMMI', 'FARO Technologies', 'FAT Brands Inc.',
-    'FB Financial Corporation', 'FBL Financial Group', 'FFBW',
-    'FGL Holdings', 'FIRST REPUBLIC BANK', 'FLEX LNG Ltd.', 'FLIR Systems',
-    'FMC Corporation', 'FNCB Bancorp Inc.', 'FRONTEO', 'FRP Holdings',
-    'FS Bancorp', 'FS KKR Capital Corp.', 'FSB Bancorp', 'FTE Networks',
-    'FTI Consulting', 'FTS International', 'FVCBankcorp', 'Fabrinet',
-    'Facebook', 'FactSet Research Systems Inc.', 'Fair Isaac Corporation',
-    'Falcon Minerals Corporation', 'Famous Dave&#39;s of America',
-    'Fang Holdings Limited', 'Fanhua Inc.',
-    'Far Point Acquisition Corporation', 'Farfetch Limited',
-    'Farmer Brothers Company', 'Farmers & Merchants Bancorp',
-    'Farmers National Banc Corp.', 'Farmland Partners Inc.',
-    'Fastenal Company', 'Fastly', 'Fate Therapeutics',
-    'Fauquier Bankshares', 'FedEx Corporation', 'FedNat Holding Company',
-    'Federal Agricultural Mortgage Corporation',
-    'Federal Realty Investment Trust', 'Federal Signal Corporation',
-    'Federated Investors', 'Federated Premier Municipal Income Fund',
-    'Fellazo Inc.', 'Fennec Pharmaceuticals Inc.', 'Ferrari N.V.',
-    'Ferrellgas Partners', 'Ferro Corporation', 'Ferroglobe PLC',
-    'Fiat Chrysler Automobiles N.V.', 'FibroGen', 'Fibrocell Science Inc.',
-    'Fidelity D & D Bancorp',
-    'Fidelity Nasdaq Composite Index Tracking Stock',
-    'Fidelity National Financial', 'Fidelity National Information Services',
-    'Fiduciary/Claymore Energy Infrastructure Fund',
-    'Fidus Investment Corporation', 'Fiesta Restaurant Group',
-    'Fifth Third Bancorp', 'FinTech Acquisition Corp. III',
-    'Financial Institutions', 'Finisar Corporation', 'Finjan Holdings',
-    'FireEye', 'First American Corporation (The)', 'First BanCorp.',
-    'First Bancorp', 'First Bank', 'First Busey Corporation',
-    'First Business Financial Services', 'First Capital',
-    'First Choice Bancorp', 'First Citizens BancShares',
-    'First Commonwealth Financial Corporation',
-    'First Community Bankshares', 'First Community Corporation',
-    'First Defiance Financial Corp.', 'First Financial Bancorp.',
-    'First Financial Bankshares', 'First Financial Corporation Indiana',
-    'First Financial Northwest', 'First Foundation Inc.',
-    'First Guaranty Bancshares', 'First Hawaiian',
-    'First Horizon National Corporation', 'First Industrial Realty Trust',
-    'First Internet Bancorp', 'First Interstate BancSystem',
-    'First Majestic Silver Corp.', 'First Merchants Corporation',
-    'First Mid Bancshares', 'First Midwest Bancorp',
-    'First National Corporation', 'First Northwest Bancorp',
-    'First Savings Financial Group', 'First Seacoast Bancorp',
-    'First Solar', 'First Trust',
-    'First Trust Alternative Absolute Return Strategy ETF',
-    'First Trust Asia Pacific Ex-Japan AlphaDEX Fund',
-    'First Trust BICK Index Fund', 'First Trust Brazil AlphaDEX Fund',
-    'First Trust BuyWrite Income ETF',
-    'First Trust CEF Income Opportunity ETF',
-    'First Trust California Municipal High income ETF',
-    'First Trust Canada AlphaDEX Fund', 'First Trust Capital Strength ETF',
-    'First Trust China AlphaDEX Fund', 'First Trust Cloud Computing ETF',
-    'First Trust Developed International Equity Select ETF',
-    'First Trust Developed Markets Ex-US AlphaDEX Fund',
-    'First Trust Developed Markets ex-US Small Cap AlphaDEX Fund',
-    'First Trust Dorsey Wright Dynamic Focus 5 ETF',
-    'First Trust Dorsey Wright Focus 5 ETF',
-    'First Trust Dorsey Wright International Focus 5 ETF',
-    'First Trust Dorsey Wright Momentum & Dividend ETF',
-    'First Trust Dorsey Wright Momentum & Low Volatility ETF',
-    'First Trust Dorsey Wright Momentum & Value ETF',
-    'First Trust Dorsey Wright People&#39;s Portfolio ETF',
-    'First Trust DorseyWright DALI 1 ETF',
-    'First Trust Dow Jones International Internet ETF',
-    'First Trust Dynamic Europe Equity Income Fund',
-    'First Trust Emerging Markets AlphaDEX Fund',
-    'First Trust Emerging Markets Equity Select ETF',
-    'First Trust Emerging Markets Local Currency Bond ETF',
-    'First Trust Emerging Markets Small Cap AlphaDEX Fund',
-    'First Trust Energy Income and Growth Fund',
-    'First Trust Energy Infrastructure Fund',
-    'First Trust Enhanced Short Maturity ETF',
-    'First Trust Europe AlphaDEX Fund', 'First Trust Eurozone AlphaDEX ETF',
-    'First Trust Germany AlphaDEX Fund',
-    'First Trust Global Tactical Commodity Strategy Fund',
-    'First Trust Hedged BuyWrite Income ETF',
-    'First Trust High Income Long Short Fund',
-    'First Trust High Yield Long/Short ETF',
-    'First Trust Hong Kong AlphaDEX Fund',
-    'First Trust IPOX Europe Equity Opportunities ETF',
-    'First Trust India Nifty 50 Equal Weight ETF',
-    'First Trust Indxx Global Agriculture ETF',
-    'First Trust Indxx Global Natural Resources Income ETF',
-    'First Trust Indxx Innovative Transaction & Process ETF',
-    'First Trust Indxx NextG ETF',
-    'First Trust Intermediate Duration Preferred & Income Fund',
-    'First Trust International Equity Opportunities ETF',
-    'First Trust Japan AlphaDEX Fund',
-    'First Trust Large Cap Core AlphaDEX Fund',
-    'First Trust Large Cap Growth AlphaDEX Fund',
-    'First Trust Large Cap US Equity Select ETF',
-    'First Trust Large Cap Value AlphaDEX Fund',
-    'First Trust Latin America AlphaDEX Fund',
-    'First Trust Low Duration Opportunities ETF',
-    'First Trust Low Duration Strategic Focus ETF',
-    'First Trust MLP and Energy Income Fund',
-    'First Trust Managed Municipal ETF',
-    'First Trust Mega Cap AlphaDEX Fund',
-    'First Trust Mid Cap Core AlphaDEX Fund',
-    'First Trust Mid Cap Growth AlphaDEX Fund',
-    'First Trust Mid Cap US Equity Select ETF',
-    'First Trust Mid Cap Value AlphaDEX Fund',
-    'First Trust Multi Cap Growth AlphaDEX Fund',
-    'First Trust Multi Cap Value AlphaDEX Fund',
-    'First Trust Multi-Asset Diversified Income Index Fund',
-    'First Trust Municipal CEF Income Opportunity ETF',
-    'First Trust Municipal High Income ETF',
-    'First Trust NASDAQ ABA Community Bank Index Fund',
-    'First Trust NASDAQ Clean Edge Green Energy Index Fund',
-    'First Trust NASDAQ Clean Edge Smart Grid Infrastructure Index ',
-    'First Trust NASDAQ Cybersecurity ETF',
-    'First Trust NASDAQ Global Auto Index Fund',
-    'First Trust NASDAQ Technology Dividend Index Fund',
-    'First Trust NASDAQ-100 Equal Weighted Index Fund',
-    'First Trust NASDAQ-100 Ex-Technology Sector Index Fund',
-    'First Trust NASDAQ-100- Technology Index Fund',
-    'First Trust Nasdaq Artificial Intelligence and Robotics ETF',
-    'First Trust Nasdaq Bank ETF', 'First Trust Nasdaq Food & Beverage ETF',
-    'First Trust Nasdaq Oil & Gas ETF',
-    'First Trust Nasdaq Pharmaceuticals ETF',
-    'First Trust Nasdaq Retail ETF', 'First Trust Nasdaq Semiconductor ETF',
-    'First Trust Nasdaq Transportation ETF',
-    'First Trust New Opportunities MLP & Energy Fund',
-    'First Trust RBA American Industrial Renaissance ETF',
-    'First Trust Rising Dividend Achievers ETF',
-    'First Trust RiverFront Dynamic Asia Pacific ETF',
-    'First Trust RiverFront Dynamic Developed International ETF',
-    'First Trust RiverFront Dynamic Emerging Markets ETF',
-    'First Trust RiverFront Dynamic Europe ETF',
-    'First Trust S&P International Dividend Aristocrats ETF',
-    'First Trust SMID Cap Rising Dividend Achievers ETF',
-    'First Trust SSI Strategic Convertible Securities ETF',
-    'First Trust Senior Floating Rate 2022 Target Term Fund',
-    'First Trust Senior Floating Rate Income Fund II',
-    'First Trust Senior Loan Fund ETF',
-    'First Trust Small Cap Core AlphaDEX Fund',
-    'First Trust Small Cap Growth AlphaDEX Fund',
-    'First Trust Small Cap US Equity Select ETF',
-    'First Trust Small Cap Value AlphaDEX Fund',
-    'First Trust South Korea AlphaDEX Fund',
-    'First Trust Specialty Finance and Financial Opportunities Fund',
-    'First Trust Strategic Income ETF',
-    'First Trust Switzerland AlphaDEX Fund',
-    'First Trust TCW Opportunistic Fixed Income ETF',
-    'First Trust Total US Market AlphaDEX ETF',
-    'First Trust US Equity Dividend Select ETF',
-    'First Trust United Kingdom AlphaDEX Fund',
-    'First Trust/Aberdeen Emerging Opportunity Fund',
-    'First Trust/Aberdeen Global Opportunity Income Fund',
-    'First US Bancshares', 'First United Corporation',
-    'First Western Financial', 'FirstCash', 'FirstEnergy Corp.',
-    'FirstService Corporation', 'Firsthand Technology Value Fund', 'Fiserv',
-    'Fitbit', 'Five Below', 'Five Point Holdings',
-    'Five Prime Therapeutics', 'Five Star Senior Living Inc.', 'Five9',
-    'Fiverr International Ltd.', 'Flagstar Bancorp',
-    'Flaherty & Crumrine Dynamic Preferred and Income Fund Inc.',
-    'Flaherty & Crumrine Preferred and Income Fund Inco',
-    'Flaherty & Crumrine Preferred and Income Opportuni',
-    'Flaherty & Crumrine Preferred and Income Securitie',
-    'Flaherty & Crumrine Total Return Fund Inc',
-    'Flanigan&#39;s Enterprises', 'FleetCor Technologies', 'Flex Ltd.',
-    'FlexShares Credit-Scored US Corporate Bond Index Fund',
-    'FlexShares Credit-Scored US Long Corporate Bond Index Fund',
-    'FlexShares Disciplined Duration MBS Index Fund',
-    'FlexShares Real Assets Allocation Index Fund',
-    'FlexShares STOXX Global ESG Impact Index Fund',
-    'FlexShares STOXX US ESG Impact Index Fund',
-    'FlexShares US Quality Large Cap Index Fund', 'FlexShopper',
-    'Flexible Solutions International Inc.', 'Flexion Therapeutics',
-    'Flexsteel Industries', 'Floor & Decor Holdings', 'Flotek Industries',
-    'Flowers Foods', 'Flowr Corporation (The)', 'Flowserve Corporation',
-    'Fluent', 'Fluidigm Corporation', 'Fluor Corporation',
-    'Flushing Financial Corporation', 'Flux Power Holdings',
-    'Fly Leasing Limited', 'Foamix Pharmaceuticals Ltd.',
-    'Focus Financial Partners Inc.',
-    'Fomento Economico Mexicano S.A.B. de C.V.', 'Fonar Corporation',
-    'Foot Locker', 'Ford Motor Company', 'ForeScout Technologies',
-    'Foresight Autonomous Holdings Ltd.', 'Foresight Energy LP',
-    'Forestar Group Inc', 'FormFactor', 'Formula Systems (1985) Ltd.',
-    'Forrester Research', 'Forterra', 'Fortinet', 'Fortis Inc.',
-    'Fortive Corporation', 'Fortress Biotech',
-    'Fortress Transportation and Infrastructure Investors LLC',
-    'Fortuna Silver Mines Inc.', 'Fortune Brands Home & Security',
-    'Forty Seven', 'Forum Energy Technologies',
-    'Forum Merger II Corporation', 'Forward Air Corporation',
-    'Forward Industries', 'Forward Pharma A/S', 'Fossil Group',
-    'Foundation Building Materials', 'Four Corners Property Trust',
-    'Four Seasons Education (Cayman) Inc.', 'Fox Corporation',
-    'Fox Factory Holding Corp.', 'Francesca&#39;s Holdings Corporation',
-    'Franco-Nevada Corporation', 'Frank&#39;s International N.V.',
-    'Franklin Covey Company', 'Franklin Electric Co.',
-    'Franklin Financial Network', 'Franklin Financial Services Corporation',
-    'Franklin Limited Duration Income Trust', 'Franklin Resources',
-    'Franklin Street Properties Corp.', 'Franklin Universal Trust',
-    'Frankly', 'Fred&#39;s', 'Freeport-McMoran', 'Freightcar America',
-    'Frequency Electronics', 'Fresenius Medical Care Corporation',
-    'Fresh Del Monte Produce', 'Freshpet', 'Friedman Industries Inc.',
-    'Front Yard Residential Corporation',
-    'Frontier Communications Corporation', 'Frontline Ltd.', 'Fuel Tech',
-    'FuelCell Energy', 'Fulcrum Therapeutics', 'Fulgent Genetics',
-    'Fuling Global Inc.', 'Full House Resorts', 'Full Spectrum Inc.',
-    'Fulton Financial Corporation', 'Funko', 'Futu Holdings Limited',
-    'Future FinTech Group Inc.', 'FutureFuel Corp.',
-    'Fuwei Films (Holdings) Co.', 'G-III Apparel Group',
-    'G. Willi-Food International', 'G1 Therapeutics',
-    'GAIN Capital Holdings', 'GAMCO Global Gold', 'GAMCO Natural Resources',
-    'GATX Corporation', 'GCI Liberty', 'GCP Applied Technologies Inc.',
-    'GDS Holdings Limited', 'GEE Group Inc.', 'GENFIT S.A.', 'GMS Inc.',
-    'GNC Holdings', 'GOLDEN BULL LIMITED', 'GP Strategies Corporation',
-    'GRAVITY Co.', 'GS Acquisition Holdings Corp.', 'GSE Systems',
-    'GSI Technology', 'GSX Techedu Inc.', 'GTT Communications',
-    'GTY Technology Holdings', 'GW Pharmaceuticals Plc', 'GWG Holdings',
-    'GX Acquisiton Corp.', 'Gabelli Convertible and Income Securities Fund',
-    'Gabelli Equity Trust',
-    'Gabelli Global Small and Mid Cap Value Trust (The)',
-    'Gabelli Multi-Media Trust Inc. (The)', 'Gabelli Utility Trust (The)',
-    'Gaia', 'Galapagos NV', 'Galectin Therapeutics Inc.',
-    'Galmed Pharmaceuticals Ltd.', 'Gamco Investors',
-    'Gamestop Corporation', 'Gamida Cell Ltd.',
-    'Gaming and Leisure Properties', 'Gap', 'Gardner Denver Holdings',
-    'Garmin Ltd.', 'Garrett Motion Inc.', 'Garrison Capital Inc.',
-    'Gartner', 'GasLog LP.', 'GasLog Partners LP',
-    'Gates Industrial Corporation plc', 'Gemphire Therapeutics Inc.',
-    'GenMark Diagnostics', 'GenSight Biologics S.A.',
-    'Genco Shipping & Trading Limited ', 'Gencor Industries Inc.',
-    'Generac Holdlings Inc.', 'General American Investors',
-    'General Dynamics Corporation', 'General Electric Company',
-    'General Finance Corporation', 'General Mills', 'General Moly',
-    'General Motors Company', 'Genesco Inc.', 'Genesee & Wyoming',
-    'Genesis Energy', 'Genesis Healthcare', 'Genetic Technologies Ltd',
-    'Genie Energy Ltd.', 'Genius Brands International', 'Genmab A/S',
-    'Genocea Biosciences', 'Genomic Health', 'Genpact Limited', 'Genprex',
-    'Gentex Corporation', 'Gentherm Inc', 'Genuine Parts Company',
-    'Genworth Financial Inc', 'Geo Group Inc (The)', 'Geopark Ltd',
-    'Georgia Power Company', 'Geospace Technologies Corporation',
-    'Gerdau S.A.', 'German American Bancorp', 'Geron Corporation',
-    'Getty Realty Corporation', 'Gevo', 'Gibraltar Industries',
-    'GigCapital', 'GigCapital2', 'GigaMedia Limited',
-    'Gilat Satellite Networks Ltd.', 'Gildan Activewear', 'Gilead Sciences',
-    'Glacier Bancorp', 'Gladstone Capital Corporation',
-    'Gladstone Commercial Corporation', 'Gladstone Investment Corporation',
-    'Gladstone Land Corporation', 'Glatfelter', 'Glaukos Corporation',
-    'GlaxoSmithKline PLC', 'Glen Burnie Bancorp',
-    'Global Blood Therapeutics', 'Global Cord Blood Corporation',
-    'Global Eagle Entertainment Inc.', 'Global Indemnity Limited',
-    'Global Medical REIT Inc.', 'Global Net Lease', 'Global Partners LP',
-    'Global Payments Inc.', 'Global Self Storage', 'Global Ship Lease',
-    'Global Water Resources', 'Global X Autonomous & Electric Vehicles ETF',
-    'Global X Cloud Computing ETF', 'Global X Conscious Companies ETF',
-    'Global X DAX Germany ETF', 'Global X E-commerce ETF',
-    'Global X FinTech ETF',
-    'Global X Funds Global X MSCI China Communication Services ETF',
-    'Global X Future Analytics Tech ETF',
-    'Global X Genomics & Biotechnology ETF',
-    'Global X Health & Wellness Thematic ETF',
-    'Global X Internet of Things ETF', 'Global X Longevity Thematic ETF',
-    'Global X MSCI SuperDividend EAFE ETF',
-    'Global X Millennials Thematic ETF',
-    'Global X NASDAQ-100 Covered Call ETF',
-    'Global X Robotics & Artificial Intelligence ETF',
-    'Global X S&P 500 Catholic Values ETF', 'Global X Social Media ETF',
-    'Global X SuperDividend Alternatives ETF',
-    'Global X SuperDividend REIT ETF',
-    'Global X YieldCo & Renewable Energy Income ETF', 'GlobalSCAPE',
-    'Globalstar', 'Globant S.A.', 'Globe Life Inc.',
-    'Globus Maritime Limited', 'Globus Medical', 'Glowpoint',
-    'Glu Mobile Inc.', 'GlycoMimetics', 'GoDaddy Inc.', 'GoPro',
-    'Gogo Inc.', 'Gol Linhas Aereas Inteligentes S.A.', 'Golar LNG Limited',
-    'Golar LNG Partners LP', 'Gold Fields Limited',
-    'Gold Resource Corporation', 'Gold Standard Ventures Corporation',
-    'Golden Entertainment', 'Golden Minerals Company',
-    'Golden Ocean Group Limited', 'Golden Star Resources',
-    'Goldfield Corporation (The)', 'Goldman Sachs BDC',
-    'Goldman Sachs Group', 'Goldman Sachs MLP Energy Renaissance Fund',
-    'Goldman Sachs MLP Income Opportunities Fund', 'Golub Capital BDC',
-    'Good Times Restaurants Inc.', 'GoodBulk Ltd.',
-    'Goodrich Petroleum Corporation', 'Goosehead Insurance',
-    'Gordon Pointe Acquisition Corp.', 'Gores Holdings III',
-    'Gores Metropoulos', 'Gorman-Rupp Company (The)', 'Gossamer Bio',
-    'Graco Inc.', 'Graf Industrial Corp.', 'GrafTech International Ltd.',
-    'Graham Corporation', 'Graham Holdings Company',
-    'Gran Tierra Energy Inc.', 'Grana y Montero S.A.A.',
-    'Grand Canyon Education', 'Granite Construction Incorporated',
-    'Granite Point Mortgage Trust Inc.', 'Granite Real Estate Inc.',
-    'Graphic Packaging Holding Company', 'Gray Television',
-    'Great Ajax Corp.', 'Great Elm Capital Corp.',
-    'Great Elm Capital Group', 'Great Lakes Dredge & Dock Corporation',
-    'Great Panther Mining Limited', 'Great Southern Bancorp',
-    'Great Western Bancorp', 'Green Brick Partners',
-    'Green Dot Corporation', 'Green Plains', 'Green Plains Partners LP',
-    'GreenSky', 'GreenTree Hospitality Group Ltd.', 'Greenbrier Companies',
-    'Greene County Bancorp', 'Greenhill & Co.',
-    'Greenland Acquisition Corporation', 'Greenlane Holdings',
-    'Greenlight Reinsurance', 'Greenpro Capital Corp.',
-    'Greif Bros. Corporation', 'Gridsum Holding Inc.',
-    'Griffin Industrial Realty', 'Griffon Corporation', 'Grifols',
-    'Grindrod Shipping Holdings Ltd.', 'Gritstone Oncology',
-    'Grocery Outlet Holding Corp.', 'Group 1 Automotive', 'Groupon',
-    'GrubHub Inc.', 'Grupo Aeroportuario Del Pacifico',
-    'Grupo Aeroportuario del Centro Norte S.A.B. de C.V.',
-    'Grupo Aeroportuario del Sureste', 'Grupo Aval Acciones y Valores S.A.',
-    'Grupo Financiero Galicia S.A.', 'Grupo Simec',
-    'Grupo Supervielle S.A.', 'Grupo Televisa S.A.',
-    'Guangshen Railway Company Limited', 'Guaranty Bancshares',
-    'Guaranty Federal Bancshares', 'Guardant Health',
-    'Guardion Health Sciences', 'Guess?',
-    'Guggenheim Credit Allocation Fund',
-    'Guggenheim Enhanced Equity Income Fund',
-    'Guggenheim Strategic Opportunities Fund',
-    'Guggenheim Taxable Municipal Managed Duration Trst',
-    'Guidewire Software', 'Gulf Island Fabrication', 'Gulf Resources',
-    'Gulfport Energy Corporation', 'Gyrodyne', 'H&E Equipment Services',
-    'H&R Block', 'H. B. Fuller Company', 'HC2 Holdings', 'HCA Healthcare',
-    'HCI Group', 'HCP', 'HD Supply Holdings', 'HDFC Bank Limited',
-    'HEXO Corp.', 'HF Foods Group Inc.', 'HL Acquisitions Corp.',
-    'HMG/Courtland Properties', 'HMN Financial', 'HMS Holdings Corp',
-    'HNI Corporation', 'HOOKIPA Pharma Inc.', 'HP Inc.',
-    'HSBC Holdings plc', 'HTG Molecular Diagnostics', 'HUYA Inc.',
-    'HV Bancorp', 'Haemonetics Corporation',
-    'Hailiang Education Group Inc.', 'Hallador Energy Company',
-    'Halliburton Company', 'Hallmark Financial Services',
-    'Halozyme Therapeutics', 'Hamilton Beach Brands Holding Company',
-    'Hamilton Lane Incorporated', 'Hancock Jaffe Laboratories',
-    'Hancock Whitney Corporation', 'Hanesbrands Inc.', 'Hanger',
-    'Hanmi Financial Corporation',
-    'Hannon Armstrong Sustainable Infrastructure Capital',
-    'HarborOne Bancorp', 'Harley-Davidson', 'Harmonic Inc.',
-    'Harmony Gold Mining Company Limited', 'Harpoon Therapeutics',
-    'Harrow Health', 'Harsco Corporation', 'Harte-Hanks',
-    'Hartford Financial Services Group', 'Harvard Bioscience',
-    'Harvest Capital Credit Corporation', 'Hasbro',
-    'Haverty Furniture Companies', 'Hawaiian Electric Industries',
-    'Hawaiian Holdings', 'Hawkins', 'Hawthorn Bancshares',
-    'Haymaker Acquisition Corp. II', 'Haynes International',
-    'HeadHunter Group PLC', 'Health Catalyst',
-    'Health Insurance Innovations',
-    'Health Sciences Acquisitions Corporation', 'HealthEquity',
-    'HealthStream', 'Healthcare Realty Trust Incorporated',
-    'Healthcare Services Group', 'Healthcare Trust of America',
-    'Heartland Express', 'Heartland Financial USA', 'Heat Biologics',
-    'Hebron Technology Co.', 'Hecla Mining Company', 'Heico Corporation',
-    'Heidrick & Struggles International', 'Helen of Troy Limited',
-    'Helios Technologies', 'Helius Medical Technologies',
-    'Helix Energy Solutions Group', 'Helmerich & Payne',
-    'Hemisphere Media Group', 'Hemispherx BioPharma', 'Hennessy Advisors',
-    'Hennessy Capital Acquisition Corp. IV', 'Henry Schein',
-    'Hepion Pharmaceuticals', 'Herbalife Nutrition Ltd.',
-    'Herc Holdings Inc.', 'Hercules Capital', 'Heritage Commerce Corp',
-    'Heritage Financial Corporation', 'Heritage Insurance Holdings',
-    'Heritage-Crystal Clean', 'Herman Miller',
-    'Hermitage Offshore Services Ltd.', 'Heron Therapeutics',
-    'Hersha Hospitality Trust', 'Hershey Company (The)',
-    'Hertz Global Holdings', 'Heska Corporation', 'Hess Corporation',
-    'Hess Midstream Partners LP', 'Hewlett Packard Enterprise Company',
-    'Hexcel Corporation', 'Hexindai Inc.', 'Hi-Crush Inc.',
-    'Hibbett Sports', 'High Income Securities Fund',
-    'HighPoint Resources Corporation', 'Highland Global Allocation Fund',
-    'Highland Income Fund', 'Highland/iBoxx Senior Loan ETF',
-    'Highpower International Inc', 'Highway Holdings Limited',
-    'Highwoods Properties', 'Hill International', 'Hill-Rom Holdings Inc',
-    'Hillenbrand Inc', 'Hillman Group Capital Trust',
-    'Hilltop Holdings Inc.', 'Hilton Grand Vacations Inc.',
-    'Hilton Worldwide Holdings Inc.', 'Himax Technologies',
-    'Hingham Institution for Savings', 'HireQuest',
-    'Histogenics Corporation', 'Hoegh LNG Partners LP',
-    'Holly Energy Partners', 'HollyFrontier Corporation',
-    'Hollysys Automation Technologies', 'Hologic', 'Home BancShares',
-    'Home Bancorp', 'Home Depot', 'Home Federal Bancorp', 'HomeStreet',
-    'HomeTrust Bancshares', 'Homology Medicines', 'Honda Motor Company',
-    'Honeywell International Inc.', 'Hooker Furniture Corporation',
-    'Hope Bancorp', 'Horace Mann Educators Corporation', 'Horizon Bancorp',
-    'Horizon Global Corporation', 'Horizon Technology Finance Corporation',
-    'Horizon Therapeutics Public Limited Company',
-    'Hormel Foods Corporation', 'Hornbeck Offshore Services',
-    'Hospitality Properties Trust', 'Host Hotels & Resorts',
-    'Hostess Brands', 'Hoth Therapeutics',
-    'Houghton Mifflin Harcourt Company', 'Houlihan Lokey',
-    'Houston American Energy Corporation', 'Houston Wire & Cable Company',
-    'Hovnanian Enterprises Inc', 'Howard Bancorp',
-    'Howard Hughes Corporation (The)', 'Huami Corporation',
-    'Huaneng Power International', 'Huazhu Group Limited', 'Hub Group',
-    'HubSpot', 'Hubbell Inc', 'Hudbay Minerals Inc.', 'Hudson Global',
-    'Hudson Ltd.', 'Hudson Pacific Properties', 'Hudson Technologies',
-    'Huitao Technology Co.', 'Humana Inc.', 'Hunt Companies Finance Trust',
-    'Huntington Bancshares Incorporated', 'Huntington Ingalls Industries',
-    'Huntsman Corporation', 'Hurco Companies',
-    'Huron Consulting Group Inc.', 'Hutchison China MediTech Limited',
-    'Huttig Building Products', 'Hyatt Hotels Corporation', 'HyreCar Inc.',
-    'Hyster-Yale Materials Handling', 'I.D. Systems', 'IAA',
-    'IAC/InterActiveCorp', 'IBERIABANK Corporation',
-    'IBEX Holdings Limited', 'IBO (Listing Market - NYSE Amex Network B F)',
-    'ICC Holdings', 'ICF International', 'ICICI Bank Limited', 'ICON plc',
-    'ICU Medical', 'IDACORP', 'IDEAYA Biosciences', 'IDEX Corporation',
-    'IDEXX Laboratories', 'IDT Corporation', 'IEC Electronics Corp.',
-    'IES Holdings', 'IF Bancorp', 'IHS Markit Ltd.', 'II-VI Incorporated',
-    'IMAC Holdings', 'IMV Inc.', 'ING Group', 'INMODE LTD.',
-    'INTL FCStone Inc.', 'INVESCO MORTGAGE CAPITAL INC', 'INmune Bio Inc.',
-    'IPG Photonics Corporation', 'IQ Chaikin U.S. Large Cap ETF',
-    'IQ Chaikin U.S. Small Cap ETF', 'IQVIA Holdings', 'IRIDEX Corporation',
-    'IRSA Inversiones Y Representaciones S.A.',
-    'IRSA Propiedades Comerciales S.A.', 'IT Tech Packaging', 'ITT Inc.',
-    'IVERIC bio', 'IZEA Worldwide', 'Iamgold Corporation',
-    'Icahn Enterprises L.P.', 'Ichor Holdings', 'Iconix Brand Group',
-    'Ideal Power Inc.', 'Ideanomics', 'Identiv', 'Idera Pharmaceuticals',
-    'Ikonics Corporation', 'Illinois Tool Works Inc.', 'Illumina',
-    'Image Sensing Systems', 'Imax Corporation', 'Immersion Corporation',
-    'ImmuCell Corporation', 'Immunic', 'ImmunoGen', 'Immunomedics',
-    'Immuron Limited', 'Immutep Limited', 'Impac Mortgage Holdings',
-    'Imperial Oil Limited', 'Impinj', 'InVivo Therapeutics Holdings Corp.',
-    'Income Opportunity Realty Investors', 'Incyte Corporation',
-    'Independence Contract Drilling', 'Independence Holding Company',
-    'Independence Realty Trust', 'Independent Bank Corp.',
-    'Independent Bank Corporation', 'Independent Bank Group', 'India Fund',
-    'India Globalization Capital Inc.',
-    'Industrial Logistics Properties Trust',
-    'Industrial Services of America', 'Industrias Bachoco',
-    'Infinera Corporation', 'Infinity Pharmaceuticals', 'InflaRx N.V.',
-    'Information Services Group', 'Infosys Limited',
-    'Infrastructure and Energy Alternatives', 'InfuSystems Holdings',
-    'Ingersoll-Rand plc (Ireland)', 'Ingevity Corporation',
-    'Ingles Markets', 'Ingredion Incorporated',
-    'InnSuites Hospitality Trust', 'InnerWorkings', 'Innodata Inc.',
-    'Innophos Holdings', 'Innospec Inc.', 'Innovate Biopharmaceuticals',
-    'Innovative Industrial Properties', 'Innovative Solutions and Support',
-    'Innoviva', 'Inogen', 'Inovalon Holdings', 'Inovio Pharmaceuticals',
-    'Inphi Corporation', 'Inpixon ', 'Inseego Corp.', 'Insight Enterprises',
-    'Insight Select Income Fund', 'Insignia Systems', 'Insmed', 'Insperity',
-    'Inspire Medical Systems', 'InspireMD Inc.', 'Inspired Entertainment',
-    'Installed Building Products', 'Insteel Industries', 'Instructure',
-    'Insulet Corporation', 'Insurance Acquisition Corp.',
-    'Intec Pharma Ltd.', 'Integer Holdings Corporation',
-    'Integra LifeSciences Holdings Corporation',
-    'Integrated Media Technology Limited', 'Intel Corporation',
-    'Intellia Therapeutics', 'Intellicheck',
-    'Intelligent Systems Corporation', 'Intelsat S.A.', 'Inter Parfums',
-    'InterDigital', 'InterXion Holding N.V.', 'Intercept Pharmaceuticals',
-    'Intercontinental Exchange Inc.', 'Intercontinental Hotels Group',
-    'Intercorp Financial Services Inc.', 'Interface', 'Intermolecular',
-    'Internap Corporation', 'International Bancshares Corporation',
-    'International Business Machines Corporation',
-    'International Flavors & Fragrances', 'International Game Technology',
-    'International Money Express', 'International Paper Company',
-    'International Seaways', 'International Speedway Corporation',
-    'International Tower Hill Mines Ltd', 'Internet Gold Golden Lines Ltd.',
-    'Interpace Diagnostics Group', 'Interpublic Group of Companies',
-    'Intersect ENT', 'Interstate Power and Light Company', 'Intevac',
-    'Intra-Cellular Therapies Inc.', 'Intrepid Potash',
-    'Intrexon Corporation', 'IntriCon Corporation', 'Intuit Inc.',
-    'Intuitive Surgical', 'Inuvo', 'Invacare Corporation',
-    'Invesco 1-30 Laddered Treasury ETF',
-    'Invesco Advantage Municipal Income Trust II',
-    'Invesco BLDRS Asia 50 ADR Index Fund',
-    'Invesco BLDRS Developed Markets 100 ADR Index Fund',
-    'Invesco BLDRS Emerging Markets 50 ADR Index Fund',
-    'Invesco BLDRS Europe Select ADR Index Fund', 'Invesco Bond Fund',
-    'Invesco BuyBack Achievers ETF',
-    'Invesco California Value Municipal Income Trust',
-    'Invesco Credit Opportunities Fund',
-    'Invesco DWA Basic Materials Momentum ETF',
-    'Invesco DWA Consumer Cyclicals Momentum ETF',
-    'Invesco DWA Consumer Staples Momentum ETF',
-    'Invesco DWA Developed Markets Momentum ETF',
-    'Invesco DWA Emerging Markets Momentum ETF',
-    'Invesco DWA Energy Momentum ETF', 'Invesco DWA Financial Momentum ETF',
-    'Invesco DWA Healthcare Momentum ETF',
-    'Invesco DWA Industrials Momentum ETF', 'Invesco DWA Momentum ETF',
-    'Invesco DWA NASDAQ Momentum ETF', 'Invesco DWA SmallCap Momentum ETF',
-    'Invesco DWA Tactical Multi-Asset Income ETF',
-    'Invesco DWA Tactical Sector Rotation ETF',
-    'Invesco DWA Technology Momentum ETF',
-    'Invesco DWA Utilities Momentum ETF', 'Invesco Dividend Achievers ETF',
-    'Invesco FTSE International Low Beta Equal Weight ETF',
-    'Invesco FTSE RAFI US 1500 Small-Mid ETF', 'Invesco Global Water ETF',
-    'Invesco Golden Dragon China ETF',
-    'Invesco High Income 2023 Target Term Fund',
-    'Invesco High Income 2024 Target Term Fund',
-    'Invesco High Income Trust II',
-    'Invesco High Yield Equity Dividend Achievers ETF',
-    'Invesco International BuyBack Achievers ETF',
-    'Invesco International Dividend Achievers ETF', 'Invesco KBW Bank ETF',
-    'Invesco KBW High Dividend Yield Financial ETF',
-    'Invesco KBW Premium Yield Equity REIT ETF',
-    'Invesco KBW Property & Casualty Insurance ETF',
-    'Invesco KBW Regional Banking ETF',
-    'Invesco LadderRite 0-5 Year Corporate Bond ETF',
-    'Invesco Mortgage Capital Inc.',
-    'Invesco Municipal Income Opportunities Trust',
-    'Invesco Municipal Opportunity Trust', 'Invesco Municipal Trust',
-    'Invesco Nasdaq Internet ETF',
-    'Invesco Optimum Yield Diversified Commodity Strategy No K-1 ET',
-    'Invesco Pennsylvania Value Municipal Income Trust', 'Invesco Plc',
-    'Invesco QQQ Trust', 'Invesco Quality Municipal Income Trust',
-    'Invesco RAFI Strategic Developed ex-US ETF',
-    'Invesco RAFI Strategic Developed ex-US Small Company ETF',
-    'Invesco RAFI Strategic Emerging Markets ETF',
-    'Invesco RAFI Strategic US ETF',
-    'Invesco RAFI Strategic US Small Company ETF',
-    'Invesco Russell 1000 Low Beta Equal Weight ETF',
-    'Invesco S&P SmallCap Consumer Discretionary ETF',
-    'Invesco S&P SmallCap Consumer Staples ETF',
-    'Invesco S&P SmallCap Energy ETF',
-    'Invesco S&P SmallCap Financials ETF',
-    'Invesco S&P SmallCap Health Care ETF',
-    'Invesco S&P SmallCap Industrials ETF',
-    'Invesco S&P SmallCap Information Technology ETF',
-    'Invesco S&P SmallCap Materials ETF',
-    'Invesco S&P SmallCap Utilities & Communication Services ETF',
-    'Invesco Senior Income Trust',
-    'Invesco Trust  for Investment Grade New York Municipal',
-    'Invesco Trust for Investment Grade Municipals',
-    'Invesco Value Municipal Income Trust',
-    'Invesco Variable Rate Investment Grade ETF',
-    'Invesco Water Resources ETF', 'Investar Holding Corporation',
-    'Investcorp Credit Management BDC', 'Investors Bancorp',
-    'Investors Real Estate Trust', 'Investors Title Company',
-    'Invitae Corporation', 'Invitation Homes Inc.',
-    'Ion Geophysical Corporation', 'Ionis Pharmaceuticals',
-    'Iovance Biotherapeutics', 'Iridium Communications Inc',
-    'Iron Mountain Incorporated', 'Ironwood Pharmaceuticals', 'IsoRay',
-    'Israel Chemicals Shs', 'Isramco', 'Issuer Direct Corporation',
-    'Ita? CorpBanca', 'Itamar Medical Ltd.',
-    'Itau Unibanco Banco Holding SA', 'Iteris', 'Iterum Therapeutics plc',
-    'Itron', 'Ituran Location and Control Ltd.',
-    'Ivy High Income Opportunities Fund', 'J & J Snack Foods Corp.',
-    'J P Morgan Chase & Co', 'J. Alexander&#39;s Holdings', 'J. Jill',
-    'J. W. Mays', 'J.B. Hunt Transport Services', 'J.C. Penney Company',
-    'J.M. Smucker Company (The)', 'JAKKS Pacific', 'JBG SMITH Properties',
-    'JD.com', 'JELD-WEN Holding', 'JMP Group LLC', 'JMU Limited',
-    'Jabil Inc.', 'Jack Henry & Associates', 'Jack In The Box Inc.',
-    'Jacobs Engineering Group Inc.', 'Jagged Peak Energy Inc.',
-    'Jaguar Health', 'James Hardie Industries plc.',
-    'James River Group Holdings', 'JanOne Inc.',
-    'Janus Henderson Group plc',
-    'Janus Henderson Small Cap Growth Alpha ETF',
-    'Janus Henderson Small/Mid Cap Growth Alpha ETF',
-    'Japan Smaller Capitalization Fund Inc', 'Jason Industries',
-    'Jazz Pharmaceuticals plc', 'Jefferies Financial Group Inc.',
-    'Jerash Holdings (US)', 'Jernigan Capital',
-    'JetBlue Airways Corporation', 'Jewett-Cameron Trading Company',
-    'Jianpu Technology Inc.', 'Jiayin Group Inc.',
-    'JinkoSolar Holding Company Limited', 'John B. Sanfilippo & Son',
-    'John Bean Technologies Corporation',
-    'John Hancock Financial Opportunities Fund',
-    'John Hancock Hedged Equity & Income Fund',
-    'John Hancock Income Securities Trust', 'John Hancock Investors Trust',
-    'John Hancock Pfd Income Fund II', 'John Hancock Preferred Income Fund',
-    'John Hancock Preferred Income Fund III',
-    'John Hancock Premium Dividend Fund',
-    'John Hancock Tax Advantaged Dividend Income Fund',
-    'John Hancock Tax-Advantaged Global Shareholder Yield Fund',
-    'John Wiley & Sons', 'Johnson & Johnson',
-    'Johnson Controls International plc', 'Johnson Outdoors Inc.',
-    'Jones Lang LaSalle Incorporated', 'Jounce Therapeutics',
-    'Jumei International Holding Limited', 'Jumia Technologies AG',
-    'Juniper Networks', 'Jupai Holdings Limited', 'Just Energy Group',
-    'K12 Inc', 'KAR Auction Services', 'KB Financial Group Inc', 'KB Home',
-    'KBL Merger Corp. IV', 'KBR', 'KBS Fashion Group Limited',
-    'KKR & Co. Inc.', 'KKR Income Opportunities Fund',
-    'KKR Real Estate Finance Trust Inc.', 'KLA Corporation ',
-    'KLX Energy Services Holdings', 'KNOT Offshore Partners LP',
-    'KT Corporation', 'KVH Industries', 'Kadant Inc', 'Kadmon Holdings',
-    'Kaiser Aluminum Corporation', 'Kaixin Auto Holdings',
-    'KalVista Pharmaceuticals', 'Kala Pharmaceuticals',
-    'Kaleido Biosciences', 'Kamada Ltd.', 'Kaman Corporation',
-    'Kandi Technologies Group', 'Kansas City Southern',
-    'Karuna Therapeutics', 'Karyopharm Therapeutics Inc.',
-    'Kayne Anderson MLP/Midstream Investment Company',
-    'Kayne Anderson Midstream Energy Fund', 'Kazia Therapeutics Limited',
-    'Keane Group', 'Kearny Financial', 'Kellogg Company', 'Kelly Services',
-    'Kelso Technologies Inc', 'KemPharm', 'Kemet Corporation',
-    'Kemper Corporation', 'Kennametal Inc.', 'Kennedy-Wilson Holdings Inc.',
-    'Kenon Holdings Ltd.', 'Kentucky First Federal Bancorp',
-    'Keurig Dr Pepper Inc.', 'Kewaunee Scientific Corporation',
-    'Key Energy Services', 'Key Tronic Corporation', 'KeyCorp',
-    'Keysight Technologies Inc.', 'Kezar Life Sciences', 'Kforce',
-    'Kilroy Realty Corporation', 'Kimball Electronics',
-    'Kimball International', 'Kimbell Royalty Partners',
-    'Kimberly-Clark Corporation', 'Kimco Realty Corporation',
-    'Kinder Morgan', 'Kindred Biosciences', 'Kingold Jewelry Inc.',
-    'Kingstone Companies', 'Kingsway Financial Services',
-    'Kiniksa Pharmaceuticals', 'Kinross Gold Corporation',
-    'Kinsale Capital Group', 'Kirby Corporation', 'Kirkland Lake Gold Ltd.',
-    'Kirkland&#39;s', 'Kite Realty Group Trust', 'Kitov Pharma Ltd.',
-    'Knight Transportation', 'Knoll', 'Knowles Corporation',
-    'Kodiak Sciences Inc', 'Kohl&#39;s Corporation',
-    'Koninklijke Philips N.V.', 'Kontoor Brands', 'Kopin Corporation',
-    'Koppers Holdings Inc.', 'Korea Electric Power Corporation',
-    'Korea Fund', 'Korn Ferry ', 'Kornit Digital Ltd.',
-    'Kosmos Energy Ltd.', 'Koss Corporation',
-    'KraneShares Trust KraneShares CSI China Internet ETF',
-    'Kraton Corporation', 'Kratos Defense & Security Solutions',
-    'Kroger Company (The)', 'Kronos Worldwide Inc', 'Krystal Biotech',
-    'Kulicke and Soffa Industries', 'Kura Oncology', 'Kura Sushi USA',
-    'L Brands', 'L.B. Foster Company', 'L.S. Starrett Company (The)',
-    'L3Harris Technologies', 'LAIX Inc.', 'LATAM Airlines Group S.A.',
-    'LCI Industries ', 'LCNB Corporation', 'LEAP THERAPEUTICS',
-    'LF Capital Acquistion Corp.', 'LG Display Co.', 'LGI Homes',
-    'LGL Group', 'LHC Group', 'LINE Corporation', 'LKQ Corporation',
-    'LM Funding America', 'LMP Capital and Income Fund Inc.',
-    'LPL Financial Holdings Inc.', 'LRAD Corporation', 'LSC Communications',
-    'LSI Industries Inc.', 'LTC Properties',
-    'La Jolla Pharmaceutical Company', 'La-Z-Boy Incorporated',
-    'Laboratory Corporation of America Holdings', 'Ladder Capital Corp',
-    'Ladenburg Thalmann Financial Services Inc',
-    'Ladenburg Thalmann Financial Services Inc.', 'Lake Shore Bancorp',
-    'Lakeland Bancorp', 'Lakeland Financial Corporation',
-    'Lakeland Industries', 'Lam Research Corporation',
-    'Lamar Advertising Company', 'Lamb Weston Holdings',
-    'Lancaster Colony Corporation', 'Landcadia Holdings II',
-    'Landec Corporation', 'Landmark Bancorp Inc.',
-    'Landmark Infrastructure Partners LP', 'Lands&#39; End',
-    'Landstar System', 'Lannett Co Inc', 'Lantheus Holdings', 'Lantronix',
-    'Laredo Petroleum', 'Las Vegas Sands Corp.',
-    'Lattice Semiconductor Corporation', 'Laureate Education',
-    'Lawson Products', 'Lazard Global Total Return and Income Fund',
-    'Lazard Ltd.', 'Lazard World Dividend & Income Fund',
-    'Lazydays Holdings', 'LeMaitre Vascular', 'Leaf Group Ltd.',
-    'Lear Corporation', 'Lee Enterprises', 'Legacy Acquisition Corp.',
-    'Legacy Housing Corporation', 'LegacyTexas Financial Group',
-    'Legg Mason', 'Legg Mason Global Infrastructure ETF',
-    'Legg Mason Low Volatility High Dividend ETF',
-    'Legg Mason Small-Cap Quality Value ETF', 'Leggett & Platt',
-    'Lehman ABS Corporation', 'Leidos Holdings',
-    'Leisure Acquisition Corp.', 'Leju Holdings Limited',
-    'LendingClub Corporation', 'LendingTree', 'Lennar Corporation',
-    'Lennox International', 'Leo Holdings Corp.', 'Level One Bancorp',
-    'Levi Strauss & Co', 'Lexicon Pharmaceuticals',
-    'LexinFintech Holdings Ltd.', 'Lexington Realty Trust',
-    'Lianluo Smart Limited', 'Libbey', 'Liberty All-Star Equity Fund',
-    'Liberty All-Star Growth Fund', 'Liberty Broadband Corporation',
-    'Liberty Global plc', 'Liberty Latin America Ltd.',
-    'Liberty Media Corporation', 'Liberty Oilfield Services Inc.',
-    'Liberty Property Trust', 'Liberty TripAdvisor Holdings',
-    'Life Storage', 'Lifetime Brands', 'Lifevantage Corporation',
-    'Lifeway Foods', 'Ligand Pharmaceuticals Incorporated',
-    'LightInTheBox Holding Co.', 'LightPath Technologies',
-    'Lightbridge Corporation', 'Lilis Energy', 'Limbach Holdings',
-    'Limelight Networks', 'Limestone Bancorp', 'Limoneira Co',
-    'Lincoln Educational Services Corporation', 'Lincoln Electric Holdings',
-    'Lincoln National Corporation', 'Lindblad Expeditions Holdings Inc. ',
-    'Linde plc', 'Lindsay Corporation', 'Lineage Cell Therapeutics',
-    'Linx S.A.', 'Lions Gate Entertainment Corporation', 'Lipocine Inc.',
-    'LiqTech International', 'Liquid Media Group Ltd.',
-    'Liquidia Technologies', 'Liquidity Services', 'Lithia Motors',
-    'Lithium Americas Corp.', 'Littelfuse', 'LivaNova PLC',
-    'Live Nation Entertainment', 'Live Oak Bancshares',
-    'Live Ventures Incorporated', 'LivePerson', 'LiveRamp Holdings',
-    'LiveXLive Media', 'Livent Corporation', 'Livongo Health',
-    'Lloyds Banking Group Plc', 'Lockheed Martin Corporation',
-    'Loews Corporation', 'LogMein', 'LogicBio Therapeutics',
-    'Logitech International S.A.',
-    'Loma Negra Compania Industrial Argentina Sociedad Anonima',
-    'Loncar Cancer Immunotherapy ETF', 'Loncar China BioPharma ETF',
-    'Lonestar Resources US Inc.', 'Longevity Acquisition Corporation',
-    'Loop Industries', 'Loral Space and Communications',
-    'Louisiana-Pacific Corporation', 'Lowe&#39;s Companies',
-    'Lsb Industries Inc.', 'Luby&#39;s', 'Luckin Coffee Inc.',
-    'Lumber Liquidators Holdings', 'Lumentum Holdings Inc.',
-    'Luminex Corporation', 'Luna Innovations Incorporated',
-    'Luokung Technology Corp', 'Luther Burbank Corporation',
-    'Luxfer Holdings PLC', 'Lydall', 'Lyft', 'Lyon William Homes',
-    'LyondellBasell Industries NV', 'M&T Bank Corporation',
-    'M.D.C. Holdings', 'M/I Homes', 'MACOM Technology Solutions Holdings',
-    'MAG Silver Corporation', 'MAM Software Group', 'MBIA',
-    'MDC Partners Inc.', 'MDJM LTD', 'MDU Resources Group', 'MEDIFAST INC',
-    'MEI Pharma', 'MER Telemanagement Solutions Ltd.', 'MFA Financial',
-    'MFS Charter Income Trust', 'MFS Government Markets Income Trust',
-    'MFS Intermediate Income Trust', 'MFS Multimarket Income Trust',
-    'MFS Municipal Income Trust', 'MFS Special Value Trust',
-    'MGE Energy Inc.', 'MGIC Investment Corporation',
-    'MGM Growth Properties LLC', 'MGM Resorts International',
-    'MGP Ingredients', 'MICT', 'MIDSTATES PETROLEUM COMPANY',
-    'MIND C.T.I. Ltd.', 'MISONIX', 'MKS Instruments',
-    'MMA Capital Holdings', 'MMTec', 'MOGU Inc.', 'MPLX LP',
-    'MRC Global Inc.', 'MRI Interventions',
-    'MS Structured Asset Corp Saturns GE Cap Corp Series 2002-14',
-    'MSA Safety Incorporporated', 'MSB Financial Corp.',
-    'MSC Industrial Direct Company', 'MSCI Inc', 'MSG Networks Inc.',
-    'MTBC', 'MTS Systems Corporation', 'MV Oil Trust',
-    'MVB Financial Corp.', 'MVC Capital', 'MYOS RENS Technology Inc.',
-    'MYR Group', 'Macatawa Bank Corporation', 'Macerich Company (The)',
-    'Mack-Cali Realty Corporation', 'Mackinac Financial Corporation',
-    'Macquarie First Trust Global',
-    'Macquarie Global Infrastructure Total Return Fund Inc.',
-    'Macquarie Infrastructure Corporation ', 'Macro Bank Inc.',
-    'MacroGenics', 'Macy&#39;s Inc',
-    'Madison Covered Call & Equity Strategy Fund',
-    'Madrigal Pharmaceuticals', 'Magal Security Systems Ltd.',
-    'Magellan Health', 'Magellan Midstream Partners L.P.',
-    'Magenta Therapeutics', 'Magic Software Enterprises Ltd.',
-    'Magna International', 'MagnaChip Semiconductor Corporation',
-    'Magnolia Oil & Gas Corporation', 'Magyar Bancorp', 'Maiden Holdings',
-    'Main Street Capital Corporation',
-    'MainStay MacKay DefinedTerm Municipal Opportunitie',
-    'MainStreet Bancshares', 'Majesco', 'MakeMyTrip Limited',
-    'Malibu Boats', 'Mallinckrodt plc', 'Malvern Bancorp',
-    'Mammoth Energy Services', 'ManTech International Corporation',
-    'Manchester United Ltd.', 'Manhattan Associates',
-    'Manhattan Bridge Capital', 'Manitex International',
-    'Manitowoc Company', 'MannKind Corporation', 'Mannatech',
-    'Manning & Napier', 'ManpowerGroup', 'Manulife Financial Corp',
-    'Marathon Oil Corporation', 'Marathon Patent Group',
-    'Marathon Petroleum Corporation', 'Marchex', 'Marcus & Millichap',
-    'Marcus Corporation (The)', 'Marin Software Incorporated',
-    'Marine Petroleum Trust', 'Marine Products Corporation', 'MarineMax',
-    'Marinus Pharmaceuticals', 'Markel Corporation', 'Marker Therapeutics',
-    'MarketAxess Holdings', 'Marlin Business Services Corp.',
-    'Marriott International', 'Marriott Vacations Worldwide Corporation',
-    'Marrone Bio Innovations', 'Marsh & McLennan Companies',
-    'Marten Transport', 'Martin Marietta Materials',
-    'Martin Midstream Partners L.P.', 'Marvell Technology Group Ltd.',
-    'MasTec', 'Masco Corporation', 'Masimo Corporation',
-    'Masonite International Corporation', 'Mastech Digital',
-    'MasterCraft Boat Holdings', 'Mastercard Incorporated',
-    'Matador Resources Company', 'Match Group', 'Materialise NV',
-    'Materion Corporation', 'Matinas Biopharma Holdings',
-    'Matrix Service Company', 'Matson', 'Mattel',
-    'Matthews International Corporation', 'Maui Land & Pineapple Company',
-    'Maverix Metals Inc.', 'MaxLinear', 'Maxar Technologies Inc.',
-    'Maxim Integrated Products', 'Maximus', 'Mayville Engineering Company',
-    'McClatchy Company (The)', 'McCormick & Company',
-    'McDermott International', 'McDonald&#39;s Corporation',
-    'McEwen Mining Inc.', 'McGrath RentCorp', 'McKesson Corporation',
-    'Mechel PAO', 'Medalist Diversified REIT', 'Medallia',
-    'Medallion Financial Corp.', 'MediWound Ltd.',
-    'Medical Properties Trust', 'MediciNova', 'Medidata Solutions',
-    'Medigus Ltd.', 'Medley Capital Corporation', 'Medley LLC',
-    'Medley Management Inc.', 'Mednax', 'Medpace Holdings', 'Medtronic plc',
-    'Megalith Financial Acquisition Corp.', 'MeiraGTx Holdings plc',
-    'Melco Resorts & Entertainment Limited', 'Melinta Therapeutics',
-    'Mellanox Technologies', 'Menlo Therapeutics Inc.', 'MercadoLibre',
-    'Mercantile Bank Corporation', 'Mercer International Inc.',
-    'Merchants Bancorp', 'Merck & Company', 'Mercury General Corporation',
-    'Mercury Systems Inc', 'Meredith Corporation',
-    'Mereo BioPharma Group plc', 'Meridian Bancorp',
-    'Meridian Bioscience Inc.', 'Meridian Corporation',
-    'Merit Medical Systems', 'Meritage Corporation', 'Meritor',
-    'Merrill Lynch & Co.', 'Merrill Lynch Depositor',
-    'Merrimack Pharmaceuticals', 'Mersana Therapeutics', 'Merus N.V.',
-    'Mesa Air Group', 'Mesa Laboratories', 'Mesa Royalty Trust',
-    'Mesabi Trust', 'Mesoblast Limited', 'MetLife', 'Meta Financial Group',
-    'Methanex Corporation', 'Methode Electronics',
-    'Metropolitan Bank Holding Corp.', 'Mettler-Toledo International',
-    'Mexco Energy Corporation', 'Mexico Equity and Income Fund',
-    'Mexico Fund', 'MiX Telematics Limited', 'Micro Focus Intl PLC',
-    'MicroStrategy Incorporated', 'Microbot Medical Inc. ',
-    'Microchip Technology Incorporated', 'Micron Solutions',
-    'Micron Technology', 'Microsoft Corporation', 'Microvision',
-    'Mid Penn Bancorp', 'Mid-America Apartment Communities',
-    'Mid-Con Energy Partners', 'Mid-Southern Bancorp', 'MidSouth Bancorp',
-    'MidWestOne Financial Group', 'Midatech Pharma PLC',
-    'Middlefield Banc Corp.', 'Middlesex Water Company',
-    'Midland States Bancorp', 'Milacron Holdings Corp.',
-    'Milestone Pharmaceuticals Inc.', 'Milestone Scientific',
-    'Millendo Therapeutics', 'Miller Industries',
-    'Miller/Howard High Income Equity Fund',
-    'Millicom International Cellular S.A.', 'Mimecast Limited',
-    'Minerals Technologies Inc.', 'Minerva Neurosciences',
-    'Miragen Therapeutics', 'Mirati Therapeutics', 'Mirum Pharmaceuticals',
-    'Mistras Group Inc', 'Mitcham Industries', 'Mitek Systems',
-    'Mitsubishi UFJ Financial Group Inc', 'Mizuho Financial Group', 'MoSys',
-    'Mobile Mini', 'Mobile TeleSystems OJSC', 'MobileIron', 'Model N',
-    'Moderna', 'Modine Manufacturing Company', 'Moelis & Company',
-    'Mogo Inc.', 'Mohawk Group Holdings', 'Mohawk Industries',
-    'Molecular Templates', 'Moleculin Biotech', 'Molina Healthcare Inc',
-    'Molson Coors Brewing  Company', 'Momenta Pharmaceuticals', 'Momo Inc.',
-    'Monaker Group', 'Monarch Casino & Resort', 'Mondelez International',
-    'Moneygram International', 'MongoDB',
-    'Monmouth Real Estate Investment Corporation',
-    'Monocle Acquisition Corporation', 'Monolithic Power Systems',
-    'Monotype Imaging Holdings Inc.', 'Monro', 'Monroe Capital Corporation',
-    'Monster Beverage Corporation', 'Montage Resources Corporation',
-    'Moody&#39;s Corporation', 'Moog Inc.', 'Morgan Stanley',
-    'Morgan Stanley China A Share Fund Inc.',
-    'Morgan Stanley Emerging Markets Debt Fund',
-    'Morgan Stanley Emerging Markets Domestic Debt Fund',
-    'Morgan Stanley India Investment Fund', 'Morningstar',
-    'Morphic Holding', 'MorphoSys AG', 'Mosaic Acquisition Corp.',
-    'Mosaic Company (The)', 'Mota Group', 'Motif Bio plc',
-    'Motorcar Parts of America', 'Motorola Solutions', 'Motus GI Holdings',
-    'Mountain Province Diamonds Inc.', 'Movado Group Inc.', 'Moxian',
-    'Mr. Cooper Group Inc.', 'Mudrick Capital Acquisition Corporation',
-    'Mueller Industries', 'Mueller Water Products Inc', 'MuniVest Fund',
-    'MuniYield Arizona Fund', 'Murphy Oil Corporation', 'Murphy USA Inc.',
-    'Mustang Bio', 'MutualFirst Financial Inc.', 'My Size',
-    'Myers Industries', 'Mylan N.V.', 'MyoKardia', 'Myomo Inc.',
-    'Myovant Sciences Ltd.', 'Myriad Genetics', 'NACCO Industries',
-    'NAPCO Security Technologies', 'NASDAQ TEST STOCK',
-    'NB Capital Acquisition Corp.', 'NBT Bancorp Inc.', 'NCR Corporation',
-    'NCS Multistage Holdings', 'NETGEAR', 'NF Energy Saving Corporation',
-    'NGL ENERGY PARTNERS LP', 'NGM Biopharmaceuticals', 'NI Holdings',
-    'NIC Inc.', 'NICE Ltd', 'NII Holdings', 'NIO Inc.', 'NL Industries',
-    'NMI Holdings Inc', 'NN', 'NOW Inc.', 'NRC Group Holdings Corp.',
-    'NRG Energy', 'NTN Buzztime', 'NV5 Global', 'NVE Corporation',
-    'NVIDIA Corporation', 'NVR', 'NXP Semiconductors N.V.', 'NXT-ID Inc.',
-    'NYSE Test One', 'Nabors Industries Ltd.', 'Nabriva Therapeutics plc',
-    'Naked Brand Group Limited', 'Nam Tai Property Inc.',
-    'Nano Dimension Ltd.', 'NanoString Technologies', 'NanoVibronix',
-    'NanoViricides', 'Nanometrics Incorporated', 'NantHealth', 'NantKwest',
-    'Nasdaq', 'Natera', 'Nathan&#39;s Famous',
-    'National Bank Holdings Corporation', 'National Bankshares',
-    'National Beverage Corp.', 'National CineMedia',
-    'National Energy Services Reunited Corp.', 'National Fuel Gas Company',
-    'National General Holdings Corp', 'National Grid Transco',
-    'National Health Investors', 'National HealthCare Corporation',
-    'National Holdings Corporation', 'National Instruments Corporation',
-    'National Oilwell Varco', 'National Presto Industries',
-    'National Research Corporation', 'National Retail Properties',
-    'National Rural Utilities Cooperative Finance Corporation',
-    'National Security Group', 'National Steel Company',
-    'National Storage Affiliates Trust', 'National Vision Holdings',
-    'National Western Life Group', 'Natural Alternatives International',
-    'Natural Gas Services Group', 'Natural Grocers by Vitamin Cottage',
-    'Natural Health Trends Corp.', 'Natural Resource Partners LP',
-    'Nature&#39;s Sunshine Products', 'Natus Medical Incorporated',
-    'Natuzzi', 'Nautilus Group', 'Navidea Biopharmaceuticals',
-    'Navient Corporation', 'Navigant Consulting', 'Navigator Holdings Ltd.',
-    'Navios Maritime Acquisition Corporation',
-    'Navios Maritime Containers L.P.', 'Navios Maritime Holdings Inc.',
-    'Navios Maritime Partners LP', 'Navistar International Corporation',
-    'Nebula Acquisition Corporation', 'Neenah', 'Nektar Therapeutics',
-    'Nelnet', 'Nemaura Medical Inc.', 'NeoGenomics',
-    'NeoPhotonics Corporation', 'Neogen Corporation',
-    'Neoleukin Therapeutics', 'Neon Therapeutics', 'Neonode Inc.',
-    'Neos Therapeutics', 'Neovasc Inc.', 'Nephros',
-    'Neptune Wellness Solutions Inc.', 'Nesco Holdings',
-    'Net 1 UEPS Technologies', 'Net Element', 'NetApp', 'NetEase',
-    'NetScout Systems', 'NetSol Technologies Inc.',
-    'Netfin Acquisition Corp.', 'Netflix', 'Network-1 Technologies',
-    'NeuBase Therapeutics',
-    'Neuberger Berman California Municipal Fund Inc',
-    'Neuberger Berman High Yield Strategies Fund',
-    'Neuberger Berman MLP and Energy Income Fund Inc.',
-    'Neuberger Berman Municipal Fund Inc.',
-    'Neuberger Berman New York Municipal Fund Inc.',
-    'Neuberger Berman Real Estate Securities Income Fund', 'Neuralstem',
-    'NeuroMetrix', 'Neurocrine Biosciences', 'Neuronetics', 'Neurotrope',
-    'Nevro Corp.', 'New Age Beverages Corporation',
-    'New America High Income Fund', 'New Concept Energy',
-    'New England Realty Associates Limited Partnership',
-    'New Fortress Energy LLC', 'New Frontier Corporation',
-    'New Germany Fund', 'New Gold Inc.', 'New Home Company Inc. (The)',
-    'New Ireland Fund', 'New Media Investment Group Inc.',
-    'New Mountain Finance Corporation',
-    'New Oriental Education & Technology Group',
-    'New Providence Acquisition Corp.', 'New Relic',
-    'New Residential Investment Corp.', 'New Senior Investment Group Inc.',
-    'New York Community Bancorp', 'New York Mortgage Trust',
-    'New York Times Company (The)', 'NewJersey Resources Corporation',
-    'NewLink Genetics Corporation', 'NewMarket Corporation',
-    'Newater Technology', 'Newell Brands Inc.', 'Newmark Group',
-    'Newmont Goldcorp Corporation', 'Newpark Resources', 'News Corporation',
-    'Newtek Business Services Corp.', 'NexPoint Residential Trust',
-    'NexPoint Strategic Opportunities Fund', 'Nexa Resources S.A.',
-    'Nexeon Medsystems', 'Nexgen Energy Ltd.', 'Nexstar Media Group',
-    'NextCure', 'NextDecade Corporation', 'NextEra Energy',
-    'NextEra Energy Partners', 'NextGen Healthcare', 'NiSource',
-    'Niagara Mohawk Holdings', 'Nicholas Financial',
-    'Nicolet Bankshares Inc.', 'Nielsen N.V.', 'Nike',
-    'Nine Energy Service', 'Niu Technologies', 'Noah Holdings Ltd.',
-    'Noble Corporation', 'Noble Energy Inc.', 'Noble Midstream Partners LP',
-    'Nokia Corporation', 'Nomad Foods Limited', 'Nomura Holdings Inc ADR',
-    'Noodles & Company', 'Norbord Inc.', 'Nordic American Tankers Limited',
-    'Nordson Corporation', 'Nordstrom', 'Norfolk Southern Corporation',
-    'Nortech Systems Incorporated',
-    'North American Construction Group Ltd.',
-    'North European Oil Royality Trust', 'NorthStar Realty Europe Corp.',
-    'NorthWestern Corporation', 'Northeast Bank',
-    'Northern Dynasty Minerals', 'Northern Oil and Gas',
-    'Northern Technologies International Corporation',
-    'Northern Trust Corporation', 'Northfield Bancorp',
-    'Northrim BanCorp Inc', 'Northrop Grumman Corporation',
-    'Northwest Bancshares', 'Northwest Natural Holding Company',
-    'Northwest Pipe Company', 'Norwegian Cruise Line Holdings Ltd.',
-    'Norwood Financial Corp.', 'Nova Lifestyle',
-    'Nova Measuring Instruments Ltd.', 'NovaBay Pharmaceuticals',
-    'Novagold Resources Inc.', 'Novan', 'Novanta Inc.', 'Novartis AG',
-    'Novavax', 'Novelion Therapeutics Inc. ', 'Novo Nordisk A/S',
-    'NovoCure Limited', 'Novus Therapeutics', 'Nu Skin Enterprises',
-    'NuCana plc', 'NuStar Logistics', 'NuVasive', 'Nuance Communications',
-    'Nucor Corporation', 'Nustar Energy L.P.', 'Nutanix', 'Nutrien Ltd.',
-    'Nuvectra Corporation', 'Nuveen AMT-Free Municipal Credit Income Fund',
-    'Nuveen AMT-Free Municipal Value Fund',
-    'Nuveen AMT-Free Quality Municipal Income Fund',
-    'Nuveen All Cap Energy MLP Opportunities Fund',
-    'Nuveen Arizona Quality Municipal Income Fund',
-    'Nuveen California AMT-Free Quality Municipal Income Fund',
-    'Nuveen California Municipal Value Fund',
-    'Nuveen California Municipal Value Fund 2',
-    'Nuveen California Quality Municipal Income Fund',
-    'Nuveen Connecticut Quality Municipal Income Fund',
-    'Nuveen Core Equity Alpha Fund',
-    'Nuveen Credit Opportunities 2022 Target Term Fund',
-    'Nuveen Credit Strategies Income Fund',
-    'Nuveen Diversified Dividend and Income Fund',
-    'Nuveen Dow 30SM Dynamic Overwrite Fund',
-    'Nuveen Emerging Markets Debt 2022 Target Term Fund',
-    'Nuveen Energy MLP Total Return Fund',
-    'Nuveen Enhanced Municipal Value Fund',
-    'Nuveen Floating Rate Income Fund',
-    'Nuveen Floating Rate Income Opportuntiy Fund',
-    'Nuveen Georgia Quality Municipal Income Fund ',
-    'Nuveen Global High Income Fund',
-    'Nuveen High Income 2020 Target Term Fund',
-    'Nuveen High Income 2023 Target Term Fund',
-    'Nuveen High Income December 2019 Target Term Fund',
-    'Nuveen High Income November 2021 Target Term Fund',
-    'Nuveen Insured California Select Tax-Free Income Portfolio',
-    'Nuveen Insured New York Select Tax-Free Income Portfolio',
-    'Nuveen Intermediate Duration Municipal Term Fund',
-    'Nuveen Maryland Quality Municipal Income Fund',
-    'Nuveen Massachusetts Municipal Income Fund',
-    'Nuveen Michigan Quality Municipal Income Fund',
-    'Nuveen Minnesota Quality Municipal Income Fund',
-    'Nuveen Missouri Quality Municipal Income Fund',
-    'Nuveen Mortgage Opportunity Term Fund',
-    'Nuveen Multi-Market Income Fund',
-    'Nuveen Municipal 2021 Target Term Fund',
-    'Nuveen Municipal Credit Income Fund',
-    'Nuveen Municipal High Income Opportunity Fund',
-    'Nuveen Municipal Income Fund',
-    'Nuveen NASDAQ 100 Dynamic Overwrite Fund',
-    'Nuveen New Jersey Municipal Value Fund',
-    'Nuveen New Jersey Quality Municipal Income Fund',
-    'Nuveen New York AMT-Free Quality Municipal',
-    'Nuveen New York Municipal Value Fund',
-    'Nuveen New York Municipal Value Fund 2',
-    'Nuveen New York Quality Municipal Income Fund',
-    'Nuveen North Carolina Quality Municipal Income Fd',
-    'Nuveen Ohio Quality Municipal Income Fund',
-    'Nuveen Pennsylvania Municipal Value Fund',
-    'Nuveen Pennsylvania Quality Municipal Income Fund',
-    'Nuveen Preferred & Income Opportunities Fund',
-    'Nuveen Preferred & Income Securities Fund',
-    'Nuveen Preferred and Income 2022 Term Fund',
-    'Nuveen Preferred and Income Term Fund',
-    'Nuveen Quality Municipal Income Fund',
-    'Nuveen Real Asset Income and Growth Fund', 'Nuveen Real Estate Fund',
-    'Nuveen S&P 500 Buy-Write Income Fund',
-    'Nuveen S&P 500 Dynamic Overwrite Fund',
-    'Nuveen Select Maturities Municipal Fund',
-    'Nuveen Select Tax Free Income Portfolio',
-    'Nuveen Select Tax Free Income Portfolio II',
-    'Nuveen Select Tax Free Income Portfolio III',
-    'Nuveen Senior Income Fund',
-    'Nuveen Short Duration Credit Opportunities Fund',
-    'Nuveen Tax-Advantaged Dividend Growth Fund',
-    'Nuveen Tax-Advantaged Total Return Strategy Fund',
-    'Nuveen Taxable Municipal Income Fund',
-    'Nuveen Texas Quality Municipal Income Fund',
-    'Nuveen Virginia Quality Municipal Income Fund',
-    'Nuveenn Intermediate Duration Quality Municipal Term Fund',
-    'Nuven Mortgage Opportunity Term Fund 2',
-    'Nuverra Environmental Solutions', 'Nymox Pharmaceutical Corporation',
-    'O&#39;Reilly Automotive', 'O2Micro International Limited',
-    'OFG Bancorp', 'OFS Capital Corporation', 'OFS Credit Company',
-    'OGE Energy Corp', 'OHA Investment Corporation',
-    'OMNOVA Solutions Inc.', 'ON Semiconductor Corporation', 'ONE Gas',
-    'ONEOK', 'OP Bancorp', 'ORBCOMM Inc.', 'OSI Systems', 'OTG EXP',
-    'OUTFRONT Media Inc.', 'Oak Valley Bancorp (CA)',
-    'Oaktree Acquisition Corp.', 'Oaktree Capital Group',
-    'Oaktree Specialty Lending Corporation',
-    'Oaktree Strategic Income Corporation', 'Oasis Midstream Partners LP',
-    'Oasis Petroleum Inc.', 'Obalon Therapeutics', 'ObsEva SA',
-    'Obsidian Energy Ltd.', 'Occidental Petroleum Corporation',
-    'Ocean Bio-Chem', 'Ocean Power Technologies',
-    'OceanFirst Financial Corp.', 'Oceaneering International',
-    'Oconee Federal Financial Corp.', 'Ocular Therapeutix',
-    'Ocwen Financial Corporation', 'Odonate Therapeutics',
-    'Odyssey Marine Exploration', 'Office Depot',
-    'Office Properties Income Trust', 'Ohio Valley Banc Corp.', 'Oi S.A.',
-    'Oil States International', 'Oil-Dri Corporation Of America', 'Okta',
-    'Old Dominion Freight Line', 'Old Line Bancshares',
-    'Old National Bancorp', 'Old Point Financial Corporation',
-    'Old Republic International Corporation', 'Old Second Bancorp',
-    'Olin Corporation', 'Ollie&#39;s Bargain Outlet Holdings',
-    'Olympic Steel', 'Omega Flex', 'Omega Healthcare Investors',
-    'Omeros Corporation', 'Omnicell', 'Omnicom Group Inc.',
-    'On Deck Capital', 'On Track Innovations Ltd', 'OncoCyte Corporation',
-    'OncoSec Medical Incorporated', 'Oncolytics Biotech Inc.',
-    'Onconova Therapeutics', 'Oncternal Therapeutics',
-    'One Liberty Properties', 'One Stop Systems', 'OneMain Holdings',
-    'OneSmart International Education Group Limited',
-    'OneSpaWorld Holdings Limited', 'OneSpan Inc.', 'Ooma', 'OpGen',
-    'Open Text Corporation', 'Opera Limited', 'Opes Acquisition Corp.',
-    'Opiant Pharmaceuticals', 'Opko Health', 'Oppenheimer Holdings',
-    'OptiNose', 'Optibase Ltd.', 'Optical Cable Corporation',
-    'OptimizeRx Corporation', 'OptimumBank Holdings', 'Option Care Health',
-    'Opus Bank', 'OraSure Technologies', 'Oracle Corporation',
-    'Oragenics Inc.', 'Oramed Pharmaceuticals Inc.', 'Orange',
-    'Orchard Therapeutics plc', 'Orchid Island Capital',
-    'Organigram Holdings Inc.', 'Organogenesis Holdings Inc. ',
-    'Organovo Holdings', 'Orgenesis Inc.', 'Origin Agritech Limited',
-    'Origin Bancorp', 'Orion Energy Systems',
-    'Orion Engineered Carbons S.A', 'Orion Group Holdings',
-    'Orisun Acquisition Corp.', 'Oritani Financial Corp.', 'Orix Corp Ads',
-    'Ormat Technologies', 'Orrstown Financial Services Inc',
-    'OrthoPediatrics Corp.', 'Orthofix Medical Inc. ',
-    'Oshkosh Corporation', 'Osisko Gold Royalties Ltd',
-    'Osmotica Pharmaceuticals plc', 'Ossen Innovation Co.', 'Otelco Inc.',
-    'Otonomy', 'Ottawa Bancorp', 'Otter Tail Corporation',
-    'Outlook Therapeutics', 'Overseas Shipholding Group', 'Overstock.com',
-    'Ovid Therapeutics Inc.', 'Owens & Minor', 'Owens Corning Inc',
-    'Owens-Illinois', 'Owl Rock Capital Corporation',
-    'Oxbridge Re Holdings Limited', 'Oxford Immunotec Global PLC',
-    'Oxford Industries', 'Oxford Lane Capital Corp.',
-    'Oxford Square Capital Corp.', 'P & F Industries',
-    'P.A.M. Transportation Services', 'PACCAR Inc.',
-    'PAR Technology Corporation', 'PAVmed Inc.', 'PB Bancorp',
-    'PBF Energy Inc.', 'PBF Logistics LP', 'PC Connection', 'PC-Tel',
-    'PCB Bancorp', 'PCI Media', 'PCSB Financial Corporation', 'PDC Energy',
-    'PDF Solutions', 'PDL BioPharma', 'PDL Community Bancorp',
-    'PDS Biotechnology Corporation', 'PFSweb',
-    'PGIM Global High Yield Fund', 'PGIM High Yield Bond Fund',
-    'PGT Innovations', 'PICO Holdings Inc.',
-    'PIMCO California Municipal Income Fund',
-    'PIMCO California Municipal Income Fund III',
-    'PIMCO Commercial Mortgage Securities Trust',
-    'PIMCO Dynamic Credit and Mortgage Income Fund',
-    'PIMCO Dynamic Income Fund',
-    'PIMCO Energy and Tactical Credit Opportunities Fund',
-    'PIMCO Income Strategy Fund', 'PIMCO Income Strategy Fund II',
-    'PIMCO Municipal Income Fund', 'PIMCO Municipal Income Fund III',
-    'PIMCO New York Municipal Income Fund',
-    'PIMCO New York Municipal Income Fund III',
-    'PIMCO Strategic Income Fund', 'PJT Partners Inc.', 'PLDT Inc.',
-    'PLUS THERAPEUTICS', 'PLx Pharma Inc.', 'PNC Financial Services Group',
-    'PNM Resources', 'POSCO', 'PPDAI Group Inc.', 'PPG Industries',
-    'PPL Capital Funding', 'PPL Corporation', 'PPlus Trust',
-    'PQ Group Holdings Inc.', 'PRA Group', 'PRA Health Sciences',
-    'PRGX Global', 'PROS Holdings', 'PS Business Parks',
-    'PT Telekomunikasi Indonesia', 'PTC Inc.', 'PTC Therapeutics',
-    'PUHUI WEALTH INVESTMENT MANAGEMENT CO.', 'PVH Corp.',
-    'PacWest Bancorp', 'Pacer Cash Cows Fund of Funds ETF',
-    'Pacer Emerging Markets Cash Cows 100 ETF',
-    'Pacer Military Times Best Employers ETF',
-    'Pacific Biosciences of California', 'Pacific Coast Oil Trust',
-    'Pacific Drilling S.A.', 'Pacific Ethanol',
-    'Pacific Gas & Electric Co.', 'Pacific Mercantile Bancorp',
-    'Pacific Premier Bancorp Inc', 'Pacira BioSciences',
-    'Packaging Corporation of America', 'PagSeguro Digital Ltd.',
-    'PagerDuty', 'Palatin Technologies', 'Palo Alto Networks',
-    'Palomar Holdings', 'Pampa Energia S.A.', 'Pan American Silver Corp.',
-    'Pangaea Logistics Solutions Ltd.', 'Panhandle Royalty Company',
-    'Papa John&#39;s International', 'Par Pacific Holdings',
-    'Paramount Gold Nevada Corp.', 'Paramount Group',
-    'Paratek Pharmaceuticals', 'Pareteum Corporation',
-    'Paringa Resources Limited', 'Park Aerospace Corp.', 'Park City Group',
-    'Park Hotels & Resorts Inc.', 'Park National Corporation',
-    'Park-Ohio Holdings Corp.', 'Parke Bancorp', 'Parker Drilling Company',
-    'Parker-Hannifin Corporation', 'Parsley Energy', 'Parsons Corporation',
-    'Partner Communications Company Ltd.', 'PartnerRe Ltd.',
-    'Party City Holdco Inc.', 'Pathfinder Bancorp', 'Patrick Industries',
-    'Patriot National Bancorp Inc.', 'Patriot Transportation Holding',
-    'Pattern Energy Group Inc.', 'Patterson Companies',
-    'Patterson-UTI Energy', 'PayPal Holdings', 'Paychex', 'Paycom Software',
-    'Paylocity Holding Corporation', 'Paysign',
-    'Peabody Energy Corporation', 'Peak Resorts',
-    'Peapack-Gladstone Financial Corporation', 'Pearson',
-    'Pebblebrook Hotel Trust', 'Pedevco Corp.', 'PeerStream',
-    'Pegasystems Inc.', 'Pembina Pipeline Corp.', 'Penn National Gaming',
-    'Penn Virginia Corporation', 'PennantPark Floating Rate Capital Ltd.',
-    'PennantPark Investment Corporation', 'Penns Woods Bancorp',
-    'Pennsylvania Real Estate Investment Trust',
-    'PennyMac Financial Services', 'PennyMac Mortgage Investment Trust',
-    'Pensare Acquisition Corp.', 'Penske Automotive Group', 'Pentair plc.',
-    'Penumbra', 'People&#39;s United Financial',
-    'People&#39;s Utah Bancorp', 'Peoples Bancorp Inc.',
-    'Peoples Bancorp of North Carolina',
-    'Peoples Financial Services Corp. ', 'Pepsico', 'Perceptron',
-    'Perficient', 'Performance Food Group Company',
-    'Performance Shipping Inc.', 'Performant Financial Corporation',
-    'Perion Network Ltd', 'PerkinElmer', 'PermRock Royalty Trust',
-    'Perma-Fix Environmental Services', 'Perma-Pipe International Holdings',
-    'Permian Basin Royalty Trust', 'Permianville Royalty Trust',
-    'Perrigo Company', 'Personalis', 'Perspecta Inc.', 'PetIQ',
-    'PetMed Express', 'PetroChina Company Limited',
-    'Petroleo Brasileiro S.A.- Petrobras', 'Pfenex Inc.', 'Pfizer',
-    'PhaseBio Pharmaceuticals', 'Phibro Animal Health Corporation',
-    'Philip Morris International Inc', 'Phillips 66',
-    'Phillips 66 Partners LP', 'Phio Pharmaceuticals Corp.',
-    'Phoenix New Media Limited', 'Photronics', 'Phreesia', 'Phunware',
-    'Physicians Realty Trust', 'Piedmont Lithium Limited',
-    'Piedmont Office Realty Trust', 'Pier 1 Imports',
-    'Pieris Pharmaceuticals', 'Pilgrim&#39;s Pride Corporation',
-    'Pimco California Municipal Income Fund II',
-    'Pimco Corporate & Income Opportunity Fund',
-    'Pimco Corporate & Income Stategy Fund',
-    'Pimco Global Stocksplus & Income Fund', 'Pimco High Income Fund',
-    'Pimco Income Opportunity Fund', 'Pimco Municipal Income Fund II',
-    'Pimco New York Municipal Income Fund II', 'Pinduoduo Inc.',
-    'Pingtan Marine Enterprise Ltd.', 'Pinnacle Financial Partners',
-    'Pinnacle West Capital Corporation',
-    'Pintec Technology Holdings Limited', 'Pinterest', 'Pioneer Bancorp',
-    'Pioneer Diversified High Income Trust', 'Pioneer Floating Rate Trust',
-    'Pioneer High Income Trust',
-    'Pioneer Municipal High Income Advantage Trust',
-    'Pioneer Municipal High Income Trust',
-    'Pioneer Natural Resources Company', 'Pioneer Power Solutions',
-    'Piper Jaffray Companies', 'Pitney Bowes Inc.',
-    'Pivotal Acquisition Corp.', 'Pivotal Investment Corporation II',
-    'Pivotal Software', 'Pixelworks', 'Plains All American Pipeline',
-    'Plains Group Holdings', 'Planet Fitness', 'Planet Green Holdings Corp',
-    'Plantronics', 'Platinum Group Metals Ltd.', 'PlayAGS',
-    'Playa Hotels & Resorts N.V.', 'Plexus Corp.', 'Plug Power',
-    'Plumas Bancorp', 'Pluralsight', 'Pluristem Therapeutics',
-    'Plymouth Industrial REIT', 'Pointer Telocation Ltd.',
-    'Points International', 'Polar Power', 'Polaris Inc.', 'PolarityTE',
-    'PolyOne Corporation', 'PolyPid Ltd.', 'Polymet Mining Corp.',
-    'Pool Corporation', 'Pope Resources', 'Popular',
-    'Portland General Electric Company',
-    'Portman Ridge Finance Corporation', 'Portola Pharmaceuticals',
-    'Positive Physicians Holdings', 'Post Holdings', 'Postal Realty Trust',
-    'Potbelly Corporation', 'PotlatchDeltic Corporation',
-    'Powell Industries', 'Power Integrations', 'Power REIT',
-    'Powerbridge Technologies Co.', 'Precipio', 'Precision BioSciences',
-    'Precision Drilling Corporation', 'Predictive Oncology Inc.',
-    'Preferred Apartment Communities', 'Preferred Bank',
-    'Preformed Line Products Company', 'Premier',
-    'Premier Financial Bancorp', 'Presidio', 'Pressure BioSciences',
-    'Prestige Consumer Healthcare Inc.', 'Pretium Resources',
-    'Prevail Therapeutics Inc.', 'PriceSmart',
-    'PrimeEnergy Resources Corporation', 'Primerica',
-    'Primo Water Corporation', 'Primoris Services Corporation',
-    'Principal Contrarian Value Index ETF', 'Principal Financial Group Inc',
-    'Principal Healthcare Innovators Index ETF',
-    'Principal International Multi-Factor Core Index ETF',
-    'Principal Millennials Index ETF', 'Principal Price Setters Index ETF',
-    'Principal Real Estate Income Fund',
-    'Principal Shareholder Yield Index ETF',
-    'Principal Sustainable Momentum Index ETF',
-    'Principal U.S. Large-Cap Multi-Factor Core Index ETF',
-    'Principal U.S. Mega-Cap Multi-Factor Index ETF',
-    'Principal U.S. Small-Cap Multi-Factor Index ETF',
-    'Principal U.S. Small-MidCap Multi-Factor Core Index ETF',
-    'Principia Biopharma Inc.', 'Priority Income Fund',
-    'Priority Technology Holdings', 'Pro-Dex', 'ProAssurance Corporation',
-    'ProLung', 'ProPetro Holding Corp.', 'ProPhase Labs',
-    'ProQR Therapeutics N.V.', 'ProShares Equities for Rising Rates ETF',
-    'ProShares Ultra Nasdaq Biotechnology', 'ProShares UltraPro QQQ',
-    'ProShares UltraPro Short NASDAQ Biotechnology',
-    'ProShares UltraPro Short QQQ',
-    'ProShares UltraShort Nasdaq Biotechnology', 'ProSight Global',
-    'Procter & Gamble Company (The)', 'Professional Diversity Network',
-    'Proficient Alpha Acquisition Corp.', 'Profire Energy',
-    'Progenics Pharmaceuticals Inc.', 'Progress Software Corporation',
-    'Progressive Corporation (The)', 'Prologis', 'Proofpoint',
-    'Proshares UltraPro Nasdaq Biotechnology',
-    'Prospect Capital Corporation', 'Prosperity Bancshares',
-    'Protagonist Therapeutics', 'Protalix BioTherapeutics',
-    'Protective Insurance Corporation', 'Proteon Therapeutics',
-    'Proteostasis Therapeutics', 'Prothena Corporation plc', 'Proto Labs',
-    'Provention Bio', 'Provident Bancorp', 'Provident Financial Holdings',
-    'Provident Financial Services', 'Prudential Bancorp',
-    'Prudential Financial', 'Prudential Public Limited Company',
-    'Psychemedics Corporation',
-    'Public Service Enterprise Group Incorporated', 'Public Storage',
-    'Pulmatrix', 'Pulse Biosciences', 'PulteGroup',
-    'Puma Biotechnology Inc', 'Pure Acquisition Corp.',
-    'Pure Cycle Corporation', 'Pure Storage', 'Purple Innovation',
-    'Putnam Managed Municipal Income Trust',
-    'Putnam Master Intermediate Income Trust',
-    'Putnam Municipal Opportunities Trust', 'Putnam Premier Income Trust',
-    'Puxin Limited', 'Puyi Inc.', 'Pyxis Tankers Inc.',
-    'Pyxus International', 'Pzena Investment Management Inc', 'Q2 Holdings',
-    'QAD Inc.', 'QCR Holdings', 'QEP Resources', 'QIWI plc',
-    'QTS Realty Trust', 'QUALCOMM Incorporated', 'QVC', 'Qiagen N.V.',
-    'Qorvo', 'Quad Graphics', 'Quaker Chemical Corporation',
-    'Qualstar Corporation', 'Qualys',
-    'Quanex Building Products Corporation', 'Quanta Services',
-    'Quanterix Corporation', 'Quarterhill Inc.', 'Qudian Inc.',
-    'Quest Diagnostics Incorporated', 'Quest Resource Holding Corporation',
-    'QuickLogic Corporation', 'Quidel Corporation', 'QuinStreet',
-    'Quintana Energy Services Inc.', 'Qumu Corporation',
-    'Quorum Health Corporation', 'Quotient Limited',
-    'Quotient Technology Inc.', 'Qurate Retail', 'Qutoutiao Inc.',
-    'Qwest Corporation', 'R.R. Donnelley & Sons Company', 'R1 RCM Inc.',
-    'RADA Electronic Industries Ltd.', 'RAPT Therapeutics', 'RBB Bancorp',
-    'RBC Bearings Incorporated', 'RCI Hospitality Holdings',
-    'RCM Technologies', 'RE/MAX Holdings', 'REGENXBIO Inc.', 'RELX PLC',
-    'RENN Fund', 'REV Group', 'REX American Resources Corporation',
-    'RF Industries', 'RGC Resources Inc.', 'RH',
-    'RISE Education Cayman Ltd', 'RLI Corp.', 'RLJ Lodging Trust',
-    'RMG Acquisition Corp.', 'RMR Real Estate Income Fund', 'RPC',
-    'RPM International Inc.', 'RPT Realty', 'RTI Surgical Holdings',
-    'RTW Retailwinds', 'RYB Education', 'Ra Medical Systems',
-    'Ra Pharmaceuticals', 'RadNet', 'Radcom Ltd.', 'Radian Group Inc.',
-    'Radiant Logistics', 'Radius Health', 'Radware Ltd.', 'Rafael Holdings',
-    'Ralph Lauren Corporation', 'Ramaco Resources', 'Rambus',
-    'Rand Capital Corporation', 'Randolph Bancorp',
-    'Range Resources Corporation', 'Ranger Energy Services',
-    'Ranpak Holdings Corp', 'Rapid7', 'Rattler Midstream LP',
-    'Rave Restaurant Group', 'Raven Industries', 'Raymond James Financial',
-    'Rayonier Advanced Materials Inc.', 'Rayonier Inc.', 'Raytheon Company',
-    'ReTo Eco-Solutions', 'ReWalk Robotics Ltd.',
-    'Reading International Inc', 'Ready Capital Corporation',
-    'RealNetworks', 'RealPage',
-    'Reality Shares Nasdaq NexGen Economy China ETF',
-    'Reality Shares Nasdaq NextGen Economy ETF', 'Realogy Holdings Corp.',
-    'Realty Income Corporation', 'Reata Pharmaceuticals',
-    'Reaves Utility Income Fund', 'Recon Technology', 'Recro Pharma',
-    'Red Lion Hotels Corporation', 'Red River Bancshares',
-    'Red Robin Gourmet Burgers', 'Red Rock Resorts', 'Red Violet',
-    'Redfin Corporation', 'Redhill Biopharma Ltd.', 'Redwood Trust',
-    'Reebonz Holding Limited', 'Reeds', 'Regal Beloit Corporation',
-    'Regalwood Global Energy Ltd.', 'Regency Centers Corporation',
-    'Regeneron Pharmaceuticals', 'Regional Health Properties',
-    'Regional Management Corp.', 'Regions Financial Corporation',
-    'Regis Corporation', 'Regulus Therapeutics Inc.',
-    'Reinsurance Group of America', 'Rekor Systems',
-    'Reliance Steel & Aluminum Co.', 'Reliant Bancorp',
-    'Reliv&#39; International', 'Remark Holdings',
-    'RenaissanceRe Holdings Ltd.', 'Renasant Corporation', 'Renesola Ltd.',
-    'Renewable Energy Group', 'Renren Inc.', 'Rent-A-Center Inc.',
-    'Repay Holdings Corporation', 'Replay Acquisition Corp.',
-    'Repligen Corporation', 'Replimune Group', 'Republic Bancorp',
-    'Republic First Bancorp', 'Republic Services', 'ResMed Inc.',
-    'Research Frontiers Incorporated', 'Resideo Technologies',
-    'Resolute Forest Products Inc.', 'Resonant Inc.',
-    'Resources Connection', 'Restaurant Brands International Inc.',
-    'Restoration Robotics', 'Retail Opportunity Investments Corp.',
-    'Retail Properties of America', 'Retail Value Inc.',
-    'Retractable Technologies', 'Retrophin', 'Revance Therapeutics',
-    'Reven Housing REIT', 'Revlon', 'Revolution Lighting Technologies',
-    'Revolve Group', 'Rexahn Pharmaceuticals', 'Rexford Industrial Realty',
-    'Rexnord Corporation', 'Rhinebeck Bancorp', 'Rhythm Pharmaceuticals',
-    'Ribbon Communications Inc. ', 'RiceBran Technologies',
-    'Richardson Electronics', 'Richmond Mutual Bancorporation', 'RigNet',
-    'Rigel Pharmaceuticals', 'Rimini Street', 'Ring Energy', 'Ringcentral',
-    'Rio Tinto Plc', 'Riot Blockchain',
-    'Ritchie Bros. Auctioneers Incorporated', 'Rite Aid Corporation',
-    'Ritter Pharmaceuticals',
-    'RiverNorth Managed Duration Municipal Income Fund',
-    'RiverNorth Marketplace Lending Corporation',
-    'RiverNorth Opportunistic Municipal Income Fund',
-    'RiverNorth Opportunities Fund',
-    'RiverNorth/DoubleLine Strategic Opportunity Fund',
-    'Riverview Bancorp Inc', 'Riverview Financial Corporation',
-    'Roadrunner Transportation Systems', 'Roan Resources',
-    'Robert Half International Inc.', 'Rocket Pharmaceuticals',
-    'Rockwell Automation', 'Rockwell Medical', 'Rocky Brands',
-    'Rocky Mountain Chocolate Factory', 'Rogers Communication',
-    'Rogers Corporation', 'Roku', 'Rollins', 'Roper Technologies',
-    'Rosehill Resources Inc.', 'Rosetta Stone', 'Ross Stores',
-    'Royal Bank Of Canada', 'Royal Bank Scotland plc (The)',
-    'Royal Caribbean Cruises Ltd.', 'Royal Dutch Shell PLC', 'Royal Gold',
-    'Royce Global Value Trust', 'Royce Micro-Cap Trust',
-    'Royce Value Trust', 'Rubicon Technology', 'Rubius Therapeutics',
-    'Rudolph Technologies', 'Ruhnn Holding Limited', 'RumbleOn',
-    'Rush Enterprises', 'Ruth&#39;s Hospitality Group',
-    'Ryanair Holdings plc', 'Ryder System', 'Ryerson Holding Corporation',
-    'Ryman Hospitality Properties', 'S&P Global Inc.', 'S&T Bancorp',
-    'S&W Seed Company', 'SAExploration Holdings', 'SAP SE',
-    'SB Financial Group', 'SB One Bancorp',
-    'SBA Communications Corporation', 'SC Health Corporation',
-    'SCIENCE APPLICATIONS INTERNATIONAL CORPORATION', 'SCWorx Corp.',
-    'SCYNEXIS', 'SEACOR Holdings', 'SEACOR Marine Holdings Inc.',
-    'SEI Investments Company', 'SELLAS Life Sciences Group', 'SG Blocks',
-    'SGOCO Group', 'SI-BONE', 'SIFCO Industries', 'SIGA Technologies Inc.',
-    'SINOPEC Shangai Petrochemical Company', 'SIRVA', 'SITE Centers Corp.',
-    'SITO Mobile', 'SJW Group', 'SK Telecom Co.', 'SL Green Realty Corp',
-    'SLM Corporation', 'SM Energy Company', 'SMART Global Holdings',
-    'SMTC Corporation', 'SORL Auto Parts', 'SP Plus Corporation',
-    'SPAR Group', 'SPDR Dorsey Wright Fixed Income Allocation ETF',
-    'SPI Energy Co.', 'SPS Commerce', 'SPX Corporation', 'SPX FLOW', 'SRAX',
-    'SRC Energy Inc.', 'SS&C Technologies Holdings', 'SSR Mining Inc.',
-    'STAAR Surgical Company', 'STARWOOD PROPERTY TRUST', 'STERIS plc',
-    'STMicroelectronics N.V.', 'STORE Capital Corporation', 'STRATS Trust',
-    'SVB Financial Group', 'SVMK Inc.', 'Sabine Royalty Trust',
-    'Sabra Health Care REIT', 'Sabre Corporation', 'Sachem Capital Corp.',
-    'Safe Bulkers', 'Safe-T Group Ltd.', 'Safeguard Scientifics',
-    'Safehold Inc.', 'Safety Insurance Group', 'Saga Communications',
-    'Sage Therapeutics', 'Saia', 'SailPoint Technologies Holdings',
-    'Salarius Pharmaceuticals', 'Salem Media Group', 'Salesforce.com Inc',
-    'Salient Midstream & MLP Fund', 'Salisbury Bancorp',
-    'Sally Beauty Holdings', 'San Juan Basin Royalty Trust',
-    'Sanchez Midstream Partners LP', 'SandRidge Energy',
-    'SandRidge Mississippian Trust I', 'SandRidge Mississippian Trust II',
-    'SandRidge Permian Trust', 'Sanderson Farms', 'Sandstorm Gold Ltd',
-    'Sandy Spring Bancorp', 'Sangamo Therapeutics', 'Sanmina Corporation',
-    'Sanofi', 'Santander Consumer USA Holdings Inc.',
-    'Sapiens International Corporation N.V.', 'Saratoga Investment Corp',
-    'Sarepta Therapeutics', 'Sasol Ltd.', 'Saul Centers', 'Savara',
-    'ScanSource', 'Schlumberger N.V.', 'Schmitt Industries',
-    'Schneider National', 'Schnitzer Steel Industries',
-    'Scholar Rock Holding Corporation', 'Scholastic Corporation',
-    'Schultze Special Purpose Acquisition Corp.',
-    'Schweitzer-Mauduit International', 'SciPlay Corporation',
-    'Scientific Games Corp', 'Scorpio Bulkers Inc.', 'Scorpio Tankers Inc.',
-    'Scotts Miracle-Gro Company (The)', 'Scudder Municiple Income Trust',
-    'Scudder Strategic Municiple Income Trust', 'Scully Royalty Ltd.',
-    'Sea Limited', 'SeaChange International',
-    'SeaSpine Holdings Corporation', 'SeaWorld Entertainment',
-    'Seaboard Corporation', 'Seabridge Gold',
-    'Seacoast Banking Corporation of Florida', 'Seadrill Limited',
-    'Seagate Technology PLC', 'Sealed Air Corporation',
-    'Seanergy Maritime Holdings Corp', 'Sears Hometown and Outlet Stores',
-    'Seaspan Corporation', 'Seattle Genetics',
-    'Second Sight Medical Products', 'Secoo Holding Limited',
-    'SecureWorks Corp.', 'Security National Financial Corporation',
-    'Seelos Therapeutics', 'Select Asset Inc.', 'Select Bancorp',
-    'Select Energy Services', 'Select Interior Concepts',
-    'Select Medical Holdings Corporation', 'Selecta Biosciences',
-    'Selective Insurance Group', 'Semgroup Corporation',
-    'SemiLEDS Corporation', 'Sempra Energy', 'Semtech Corporation',
-    'Seneca Foods Corp.', 'SenesTech', 'Senior Housing Properties Trust',
-    'Senmiao Technology Limited', 'Sensata Technologies Holding plc',
-    'Senseonics Holdings', 'Sensient Technologies Corporation',
-    'Sensus Healthcare', 'Sentinel Energy Services Inc.',
-    'Sequans Communications S.A.', 'Sequential Brands Group',
-    'Seres Therapeutics', 'Seritage Growth Properties',
-    'Service Corporation International', 'ServiceMaster Global Holdings',
-    'ServiceNow', 'ServiceSource International', 'ServisFirst Bancshares',
-    'Servotronics', 'Sesen Bio', 'Severn Bancorp Inc', 'Shake Shack',
-    'SharpSpring', 'Sharps Compliance Corp.', 'Shaw Communications Inc.',
-    'Shell Midstream Partners', 'Shenandoah Telecommunications Co',
-    'Sherwin-Williams Company (The)', 'ShiftPixy', 'Shiloh Industries',
-    'Shimmick Construction Company', 'Shineco',
-    'Shinhan Financial Group Co Ltd', 'Ship Finance International Limited',
-    'ShockWave Medical', 'Shoe Carnival', 'Shopify Inc.',
-    'Shore Bancshares Inc', 'ShotSpotter', 'Shutterfly', 'Shutterstock',
-    'SiNtx Technologies', 'Sibanye Gold Limited', 'Siebert Financial Corp.',
-    'Sienna Biopharmaceuticals', 'Sientra', 'Sierra Bancorp',
-    'Sierra Metals Inc.', 'Sierra Oncology', 'Sierra Wireless',
-    'Sify Technologies Limited', 'Sigma Labs', 'SigmaTron International',
-    'Signature Bank', 'Signet Jewelers Limited', 'Silgan Holdings Inc.',
-    'Silicom Ltd', 'Silicon Laboratories',
-    'Silicon Motion Technology Corporation', 'Silk Road Medical',
-    'Silver Spike Acquisition Corp.', 'SilverBow Resorces',
-    'SilverCrest Metals Inc.', 'SilverSun Technologies',
-    'Silvercorp Metals Inc.', 'Silvercrest Asset Management Group Inc.',
-    'Simmons First National Corporation', 'Simon Property Group',
-    'Simpson Manufacturing Company', 'Simulations Plus', 'Sina Corporation',
-    'Sinclair Broadcast Group', 'Sino-Global Shipping America',
-    'Sinovac Biotech', 'Sirius International Insurance Group',
-    'Sirius XM Holdings Inc.', 'SiteOne Landscape Supply',
-    'Six Flags Entertainment Corporation New', 'Skechers U.S.A.',
-    'Sky Solar Holdings', 'SkyWest', 'Skyline Champion Corporation',
-    'Skyworks Solutions', 'Slack Technologies', 'Sleep Number Corporation',
-    'Smart Sand', 'SmartFinancial', 'Smartsheet Inc.', 'SmileDirectClub',
-    'Smith & Nephew SNATS', 'Smith Micro Software', 'Snap Inc.',
-    'Snap-On Incorporated', 'So-Young International Inc.',
-    'SoFi Gig Economy ETF', 'Social Capital Hedosophia Holdings Corp.',
-    'Sociedad Quimica y Minera S.A.', 'Socket Mobile', 'Sogou Inc.',
-    'Sohu.com Limited ', 'Sol-Gel Technologies Ltd.', 'Solar Capital Ltd.',
-    'Solar Senior Capital Ltd.', 'SolarEdge Technologies',
-    'SolarWinds Corporation', 'Solaris Oilfield Infrastructure',
-    'Soleno Therapeutics', 'Solid Biosciences Inc.', 'Soligenix',
-    'Solitario Zinc Corp.', 'Soliton', 'Sonic Automotive',
-    'Sonim Technologies', 'Sonoco Products Company',
-    'Sonoma Pharmaceuticals', 'Sonos', 'Sony Corp Ord', 'Sophiris Bio',
-    'Sorrento Therapeutics', 'Sotheby&#39;s', 'Sotherly Hotels Inc.',
-    'Sound Financial Bancorp', 'Source Capital', 'South Jersey Industries',
-    'South Mountain Merger Corp.', 'South Plains Financial',
-    'South State Corporation', 'Southern California Edison Company',
-    'Southern Company (The)', 'Southern Copper Corporation',
-    'Southern First Bancshares', 'Southern Missouri Bancorp',
-    'Southern National Bancorp of Virginia', 'Southside Bancshares',
-    'Southwest Airlines Company', 'Southwest Gas Holdings',
-    'Southwest Georgia Financial Corporation',
-    'Southwestern Energy Company', 'Spark Energy', 'Spark Networks',
-    'Spark Therapeutics', 'Spartan Energy Acquisition Corp',
-    'Spartan Motors', 'SpartanNash Company',
-    'Special Opportunities Fund Inc.', 'Spectrum Brands Holdings',
-    'Spectrum Pharmaceuticals', 'Speedway Motorsports',
-    'Spero Therapeutics', 'Sphere 3D Corp.', 'Spherix Incorporated',
-    'Spire Inc.', 'Spirit Aerosystems Holdings', 'Spirit Airlines',
-    'Spirit MTA REIT', 'Spirit Realty Capital',
-    'Spirit of Texas Bancshares', 'Splunk Inc.', 'Spok Holdings',
-    'Sportsman&#39;s Warehouse Holdings', 'Spotify Technology S.A.',
-    'Sprague Resources LP', 'Spring Bank Pharmaceuticals',
-    'SpringWorks Therapeutics', 'Sprint Corporation', 'Sprott Focus Trust',
-    'Sprouts Farmers Market', 'Square', 'St. Joe Company (The)',
-    'Stabilis Energy', 'Staffing 360 Solutions', 'Stag Industrial',
-    'Stage Stores', 'Stamps.com Inc.', 'Standard AVB Financial Corp.',
-    'Standard Diversified Inc.', 'Standard Motor Products',
-    'Standex International Corporation', 'Stanley Black & Decker',
-    'Stantec Inc', 'Star Bulk Carriers Corp.', 'Star Group', 'StarTek',
-    'Starbucks Corporation', 'State Auto Financial Corporation',
-    'State Street Corporation', 'Stealth BioTherapeutics Corp.',
-    'StealthGas', 'Steel Connect', 'Steel Dynamics',
-    'Steel Partners Holdings LP', 'Steelcase Inc.', 'Stein Mart',
-    'Stellus Capital Investment Corporation', 'Stemline Therapeutics',
-    'Stepan Company', 'Stereotaxis', 'Stericycle', 'Sterling Bancorp',
-    'Sterling Construction Company Inc', 'Steven Madden',
-    'Stewardship Financial Corp',
-    'Stewart Information Services Corporation',
-    'Stifel Financial Corporation', 'Stitch Fix', 'Stock Yards Bancorp',
-    'Stoke Therapeutics', 'Stone Harbor Emerging Markets Income Fund',
-    'Stone Harbor Emerging Markets Total Income Fund',
-    'StoneCastle Financial Corp', 'StoneCo Ltd.', 'StoneMor Partners L.P.',
-    'Stoneridge', 'Strata Skin Sciences', 'Stratasys',
-    'Strategic Education', 'Strategy Shares Nasdaq 7HANDL Index ETF',
-    'Strattec Security Corporation', 'Stratus Properties Inc.',
-    'Streamline Health Solutions', 'Strongbridge Biopharma plc',
-    'Stryker Corporation', 'Studio City International Holdings Limited',
-    'Sturm', 'Suburban Propane Partners',
-    'Sumitomo Mitsui Financial Group Inc', 'Summer Infant',
-    'Summit Financial Group', 'Summit Hotel Properties', 'Summit Materials',
-    'Summit Midstream Partners', 'Summit State Bank',
-    'Summit Therapeutics plc', 'Summit Wireless Technologies',
-    'Sun Communities', 'Sun Life Financial Inc.', 'SunCoke Energy',
-    'SunLink Health Systems', 'SunOpta', 'SunPower Corporation',
-    'SunTrust Banks', 'Suncor Energy  Inc.',
-    'Sundance Energy Australia Limited', 'Sundial Growers Inc.',
-    'Sunesis Pharmaceuticals', 'Sunlands Technology Group',
-    'Sunnova Energy International Inc.', 'Sunoco LP', 'Sunrun Inc.',
-    'Sunstone Hotel Investors', 'Sunworks', 'Super League Gaming',
-    'SuperCom', 'Superconductor Technologies Inc.',
-    'Superior Drilling Products', 'Superior Energy Services',
-    'Superior Group of Companies', 'Superior Industries International',
-    'Supernus Pharmaceuticals', 'Surface Oncology', 'Surgery Partners',
-    'Surmodics', 'Sutro Biopharma', 'Sutter Rock Capital Corp.',
-    'Suzano S.A.', 'Swiss Helvetia Fund', 'Switch',
-    'Switchback Energy Acquisition Corporation', 'Sykes Enterprises',
-    'Symantec Corporation', 'Synacor', 'Synalloy Corporation',
-    'Synaptics Incorporated', 'Synchronoss Technologies',
-    'Synchrony Financial', 'Syndax Pharmaceuticals', 'Syneos Health',
-    'Synlogic', 'Synnex Corporation', 'Synopsys', 'Synovus Financial Corp.',
-    'Synthesis Energy Systems', 'Synthetic Biologics',
-    'Synthetic Fixed-Income Securities', 'Synthorx', 'Sypris Solutions',
-    'Syros Pharmaceuticals', 'Sysco Corporation', 'Systemax Inc.',
-    'T-Mobile US', 'T. Rowe Price Group', 'T2 Biosystems',
-    'TAL Education Group', 'TAT Technologies Ltd.', 'TC Energy Corporation',
-    'TC PipeLines', 'TCF Financial Corporation', 'TCG BDC',
-    'TCR2 Therapeutics Inc.', 'TCW Strategic Income Fund',
-    'TD Ameritrade Holding Corporation', 'TDH Holdings',
-    'TE Connectivity Ltd.', 'TEGNA Inc.', 'TELUS Corporation',
-    'TESSCO Technologies Incorporated', 'TFS Financial Corporation',
-    'TG Therapeutics', 'THL Credit', 'THL Credit Senior Loan Fund',
-    'TIM Participacoes S.A.', 'TJX Companies',
-    'TKK Symphony Acquisition Corporation', 'TMSR Holding Company Limited',
-    'TOP Ships Inc.', 'TORM plc', 'TPG Pace Holdings Corp.',
-    'TPG RE Finance Trust', 'TPG Specialty Lending', 'TPI Composites',
-    'TRACON Pharmaceuticals', 'TRI Pointe Group', 'TSR', 'TTEC Holdings',
-    'TTM Technologies', 'Tabula Rasa HealthCare',
-    'Tactile Systems Technology', 'Tailored Brands',
-    'Taitron Components Incorporated', 'Taiwan Fund',
-    'Taiwan Liposome Company',
-    'Taiwan Semiconductor Manufacturing Company Ltd.',
-    'Take-Two Interactive Software',
-    'Takeda Pharmaceutical Company Limited', 'Takung Art Co.',
-    'Talend S.A.', 'Tallgrass Energy', 'Talos Energy',
-    'Tandem Diabetes Care', 'Tandy Leather Factory',
-    'Tanger Factory Outlet Centers', 'Tantech Holdings Ltd.',
-    'Tanzanian Gold Corporation', 'Taoping Inc.', 'Tapestry',
-    'Tarena International', 'Targa Resources',
-    'Targa Resources Partners LP', 'Target Corporation',
-    'Target Hospitality Corp.', 'Taro Pharmaceutical Industries Ltd.',
-    'Taronis Technologies', 'Taseko Mines Limited', 'Tata Motors Ltd',
-    'Taubman Centers', 'Taylor Devices', 'Taylor Morrison Home Corporation',
-    'Team', 'Tech Data Corporation', 'TechTarget',
-    'Technical Communications Corporation', 'TechnipFMC plc',
-    'Teck Resources Ltd', 'Tecnoglass Inc.', 'Tecogen Inc.',
-    'Tectonic Financial', 'Teekay Corporation', 'Teekay LNG Partners L.P.',
-    'Teekay Offshore Partners L.P.', 'Teekay Tankers Ltd.',
-    'Tejon Ranch Co', 'Tekla Healthcare Investors',
-    'Tekla Healthcare Opportunies Fund', 'Tekla Life Sciences Investors',
-    'Tekla World Healthcare Fund', 'Teladoc Health', 'Telaria',
-    'Telecom Argentina Stet - France Telecom S.A.',
-    'Teledyne Technologies Incorporated', 'Teleflex Incorporated',
-    'Telefonica Brasil S.A.', 'Telefonica SA', 'Telenav',
-    'Telephone and Data Systems', 'Teligent', 'Tellurian Inc.',
-    'Templeton Dragon Fund', 'Templeton Emerging Markets Fund',
-    'Templeton Emerging Markets Income Fund',
-    'Templeton Global Income Fund', 'Tempur Sealy International',
-    'Tenable Holdings', 'Tenaris S.A.', 'Tenax Therapeutics',
-    'Tencent Music Entertainment Group', 'Tenet Healthcare Corporation',
-    'Tengasco', 'Tennant Company', 'Tenneco Inc.',
-    'Tennessee Valley Authority', 'Tenzing Acquisition Corp.',
-    'Teradata Corporation', 'Teradyne', 'Terex Corporation', 'Ternium S.A.',
-    'TerraForm Power', 'Terreno Realty Corporation',
-    'Territorial Bancorp Inc.', 'Tesla', 'Tetra Tech', 'Tetra Technologies',
-    'Tetraphase Pharmaceuticals', 'Teva Pharmaceutical Industries Limited',
-    'Texas Capital Bancshares', 'Texas Instruments Incorporated',
-    'Texas Pacific Land Trust', 'Texas Roadhouse',
-    'Textainer Group Holdings Limited', 'Textron Inc.',
-    'The AES Corporation', 'The Alkaline Water Company Inc.',
-    'The Andersons', 'The Bancorp', 'The Bank of Princeton',
-    'The Blackstone Group Inc.', 'The Carlyle Group L.P.',
-    'The Central and Eastern Europe Fund', 'The Charles Schwab Corporation',
-    'The Cheesecake Factory Incorporated', 'The Chefs&#39; Warehouse',
-    'The Community Financial Corporation', 'The Cooper Companies',
-    'The Descartes Systems Group Inc.', 'The Dixie Group',
-    'The Ensign Group', 'The ExOne Company', 'The First Bancshares',
-    'The First of Long Island Corporation', 'The GDL Fund',
-    'The Gabelli Dividend & Income Trust',
-    'The Gabelli Global Utility and Income Trust',
-    'The Gabelli Go Anywhere Trust',
-    'The Gabelli Healthcare & Wellness Trust',
-    'The Goodyear Tire & Rubber Company', 'The Habit Restaurants',
-    'The Hackett Group', 'The Hain Celestial Group',
-    'The Hanover Insurance Group', 'The Herzfeld Caribbean Basin Fund',
-    'The Intergroup Corporation', 'The Joint Corp.',
-    'The Kraft Heinz Company', 'The Long-Term Care ETF',
-    'The Lovesac Company', 'The Madison Square Garden Company',
-    'The Medicines Company', 'The Meet Group', 'The Michaels Companies',
-    'The Middleby Corporation', 'The ONE Group Hospitality',
-    'The Obesity ETF', 'The Organics ETF', 'The Peck Company Holdings',
-    'The Providence Service Corporation', 'The RMR Group Inc.',
-    'The RealReal', 'The Rubicon Project', 'The Simply Good Foods Company',
-    'The Stars Group Inc.', 'The Trade Desk', 'The Travelers Companies',
-    'The Vivaldi Opportunities Fund', 'The York Water Company',
-    'The9 Limited', 'TherapeuticsMD', 'Therapix Biosciences Ltd.',
-    'Theravance Biopharma', 'Thermo Fisher Scientific Inc',
-    'Thermon Group Holdings', 'Third Point Reinsurance Ltd.',
-    'Thomson Reuters Corp', 'Thor Industries',
-    'Thunder Bridge Acquisition II', 'TiVo Corporation',
-    'Tiberius Acquisition Corporation', 'Tidewater Inc.', 'Tiffany & Co.',
-    'Tile Shop Hldgs', 'Tilly&#39;s', 'Tilray', 'Timberland Bancorp',
-    'Timken Company (The)', 'TimkenSteel Corporation', 'Tiptree Inc.',
-    'Titan International', 'Titan Machinery Inc.', 'Titan Medical Inc.',
-    'Titan Pharmaceuticals', 'Tivity Health', 'Tiziana Life Sciences plc',
-    'Tocagen Inc.', 'Toll Brothers', 'Tompkins Financial Corporation',
-    'Tonix Pharmaceuticals Holding Corp.', 'Tootsie Roll Industries',
-    'TopBuild Corp.', 'Torchlight Energy Resources', 'Toro Company (The)',
-    'Toronto Dominion Bank (The)', 'Tortoise Acquisition Corp.',
-    'Tortoise Energy Independence Fund',
-    'Tortoise Energy Infrastructure Corporation',
-    'Tortoise Essential Assets Income Term Fund',
-    'Tortoise Midstream Energy Fund', 'Tortoise Pipeline & Energy Fund',
-    'Tortoise Power and Energy Infrastructure Fund', 'Total S.A.',
-    'Total System Services', 'Tottenham Acquisition I Limited',
-    'ToughBuilt Industries', 'Tower International',
-    'Tower Semiconductor Ltd.', 'Town Sports International Holdings',
-    'Towne Bank', 'Townsquare Media', 'Toyota Motor Corp Ltd Ord',
-    'Tractor Supply Company', 'Tradeweb Markets Inc.',
-    'Trans World Entertainment Corp.', 'TransAct Technologies Incorporated',
-    'TransAlta Corporation', 'TransEnterix',
-    'TransGlobe Energy Corporation', 'TransMedics Group', 'TransUnion',
-    'Transatlantic Petroleum Ltd', 'Transcat',
-    'Transcontinental Realty Investors', 'Transdigm Group Incorporated',
-    'Translate Bio', 'Transocean Ltd.', 'Transportadora De Gas Sa Ord B',
-    'TravelCenters of America Inc. ', 'Travelzoo', 'Trecora Resources',
-    'Tredegar Corporation', 'Treehouse Foods', 'Tremont Mortgage Trust',
-    'Trevena', 'Trevi Therapeutics', 'Trex Company',
-    'Tri Continental Corporation', 'TriCo Bancshares', 'TriMas Corporation',
-    'TriNet Group', 'TriState Capital Holdings', 'Tribune Media Company',
-    'Tribune Publishing Company', 'Tricida', 'Trident Acquisitions Corp.',
-    'Trillium Therapeutics Inc.', 'Trilogy Metals Inc.', 'Trimble Inc.',
-    'Trine Acquisition Corp.', 'Trinity Biotech plc', 'Trinity Industries',
-    'Trinity Merger Corp.', 'Trinity Place Holdings Inc.', 'Trinseo S.A.',
-    'Trio-Tech International', 'TripAdvisor',
-    'Triple-S Management Corporation',
-    'TriplePoint Venture Growth BDC Corp.', 'Triton International Limited',
-    'Triumph Bancorp', 'Triumph Group', 'Tronox Holdings plc', 'TrovaGene',
-    'TrueBlue', 'TrueCar', 'Trupanion', 'TrustCo Bank Corp NY',
-    'Trustmark Corporation', 'Tsakos Energy Navigation Ltd',
-    'TuanChe Limited', 'Tucows Inc.', 'Tuesday Morning Corp.',
-    'Tufin Software Technologies Ltd.', 'Tuniu Corporation',
-    'Tupperware Brands Corporation', 'Turkcell Iletisim Hizmetleri AS',
-    'Turning Point Brands', 'Turning Point Therapeutics',
-    'Turquoise Hill Resources Ltd.', 'Turtle Beach Corporation',
-    'Tuscan Holdings Corp.', 'Tuscan Holdings Corp. II',
-    'Tutor Perini Corporation', 'Twelve Seas Investment Company',
-    'Twilio Inc.', 'Twin Disc', 'Twin River Worldwide Holdings',
-    'Twist Bioscience Corporation', 'Twitter',
-    'Two Harbors Investments Corp', 'Two River Bancorp',
-    'Tyler Technologies', 'Tyme Technologies', 'Tyson Foods',
-    'U S Concrete', 'U.S. Auto Parts Network', 'U.S. Bancorp',
-    'U.S. Energy Corp.', 'U.S. Global Investors', 'U.S. Gold Corp.',
-    'U.S. Physical Therapy', 'U.S. Silica Holdings', 'U.S. Well Services',
-    'U.S. Xpress Enterprises', 'UBS AG', 'UDR', 'UFP Technologies',
-    'UGI Corporation', 'UMB Financial Corporation', 'UMH Properties',
-    'UNITIL Corporation', 'UNIVERSAL INSURANCE HOLDINGS INC',
-    'UP Fintech China-U.S. Internet Titans ETF',
-    'UP Fintech Holding Limited', 'US Ecology', 'US Foods Holding Corp.',
-    'USA Compression Partners', 'USA Technologies', 'USA Truck',
-    'USANA Health Sciences', 'USD Partners LP', 'USLIFE Income Fund',
-    'UTStarcom Holdings Corp', 'Uber Technologies', 'Ubiquiti Inc.',
-    'Ulta Beauty', 'Ultra Clean Holdings', 'Ultragenyx Pharmaceutical Inc.',
-    'Ultralife Corporation', 'Ultrapar Participacoes S.A.',
-    'Umpqua Holdings Corporation', 'Under Armour',
-    'Unico American Corporation', 'Unifi', 'Unifirst Corporation',
-    'Unilever NV', 'Unilever PLC', 'Union Bankshares',
-    'Union Pacific Corporation', 'Unique Fabricating', 'Unisys Corporation',
-    'Unit Corporation', 'United Airlines Holdings', 'United Bancorp',
-    'United Bancshares', 'United Bankshares', 'United Community Banks',
-    'United Community Financial Corp.', 'United Financial Bancorp',
-    'United Fire Group', 'United Insurance Holdings Corp.',
-    'United Microelectronics Corporation', 'United Natural Foods',
-    'United Parcel Service', 'United Rentals', 'United Security Bancshares',
-    'United States Antimony Corporation',
-    'United States Cellular Corporation', 'United States Lime & Minerals',
-    'United States Steel Corporation', 'United Technologies Corporation',
-    'United Therapeutics Corporation', 'United-Guardian',
-    'UnitedHealth Group Incorporated', 'Uniti Group Inc.', 'Unity Bancorp',
-    'Unity Biotechnology', 'Univar Solutions Inc.', 'Universal Corporation',
-    'Universal Display Corporation', 'Universal Electronics Inc.',
-    'Universal Forest Products', 'Universal Health Realty Income Trust',
-    'Universal Health Services', 'Universal Logistics Holdings',
-    'Universal Security Instruments',
-    'Universal Stainless & Alloy Products',
-    'Universal Technical Institute Inc', 'Univest Financial Corporation',
-    'Unum Group', 'Unum Therapeutics Inc.', 'Upland Software',
-    'Upwork Inc.', 'Ur Energy Inc', 'Uranium Energy Corp.',
-    'Urban Edge Properties', 'Urban One', 'Urban Outfitters', 'Urban Tea',
-    'UroGen Pharma Ltd.', 'Urovant Sciences Ltd.',
-    'Urstadt Biddle Properties Inc.', 'Usio', 'Utah Medical Products',
-    'Uxin Limited', 'V.F. Corporation', 'VAALCO Energy', 'VALE S.A.',
-    'VBI Vaccines', 'VEON Ltd.', 'VEREIT Inc.', 'VICI Properties Inc.',
-    'VIVUS', 'VOC Energy Trust', 'VOXX International Corporation',
-    'VSE Corporation', 'Vaccinex', 'Vail Resorts', 'Valaris plc',
-    'Valeritas Holdings', 'Valero Energy Corporation', 'Valhi',
-    'Validea Market Legends ETF', 'Valley National Bancorp',
-    'Valmont Industries', 'Valtech SE', 'Value Line', 'Valvoline Inc.',
-    'VanEck Vectors Biotech ETF', 'VanEck Vectors Pharmaceutical ETF',
-    'Vanda Pharmaceuticals Inc.',
-    'Vanguard Emerging Markets Government Bond ETF',
-    'Vanguard Global ex-U.S. Real Estate ETF',
-    'Vanguard Intermediate-Term Corporate Bond ETF',
-    'Vanguard Intermediate-Term Treasury ETF',
-    'Vanguard International Dividend Appreciation ETF',
-    'Vanguard International High Dividend Yield ETF',
-    'Vanguard Long-Term Corporate Bond ETF', 'Vanguard Long-Treasury ETF',
-    'Vanguard Mortgage-Backed Securities ETF', 'Vanguard Russell 1000 ETF',
-    'Vanguard Russell 1000 Growth ETF', 'Vanguard Russell 1000 Value ETF',
-    'Vanguard Russell 2000 ETF', 'Vanguard Russell 2000 Growth ETF',
-    'Vanguard Russell 2000 Value ETF', 'Vanguard Russell 3000 ETF',
-    'Vanguard Short-Term Corporate Bond ETF',
-    'Vanguard Short-Term Inflation-Protected Securities Index Fund',
-    'Vanguard Short-Term Treasury ETF', 'Vanguard Total Bond Market ETF',
-    'Vanguard Total Corporate Bond ETF',
-    'Vanguard Total International Bond ETF',
-    'Vanguard Total International Stock ETF',
-    'Vanguard Total World Bond ETF', 'Vapotherm',
-    'Varex Imaging Corporation', 'Varian Medical Systems',
-    'Varonis Systems', 'Vascular Biogenics Ltd.', 'Vaxart',
-    'VectoIQ Acquisition Corp.', 'Vector Group Ltd.', 'Vectrus',
-    'Vedanta  Limited', 'Veeco Instruments Inc.', 'Veeva Systems Inc.',
-    'Venator Materials PLC', 'Ventas', 'Veoneer', 'Vera Bradley',
-    'Veracyte', 'Verastem', 'Verb Technology Company', 'VeriSign',
-    'Vericel Corporation', 'Vericity', 'Verint Systems Inc.',
-    'Verisk Analytics', 'Veritex Holdings', 'Veritiv Corporation',
-    'Veritone', 'Verizon Communications Inc.', 'Vermilion Energy Inc.',
-    'Vermillion', 'Verona Pharma plc', 'Verra Mobility Corporation',
-    'Verrica Pharmaceuticals Inc.', 'Verso Corporation', 'Versum Materials',
-    'Vertex Energy', 'Vertex Pharmaceuticals Incorporated',
-    'Vertical Capital Income Fund', 'Veru Inc.', 'ViaSat', 'Viacom Inc.',
-    'Viad Corp', 'Viamet Pharmaceuticals Corp.', 'Viavi Solutions Inc.',
-    'Vicor Corporation', 'Victory Capital Holdings',
-    'VictoryShares Developed Enhanced Volatility Wtd ETF',
-    'VictoryShares Dividend Accelerator ETF',
-    'VictoryShares Emerging Market High Div Volatility Wtd ETF',
-    'VictoryShares Emerging Market Volatility Wtd ETF',
-    'VictoryShares International High Div Volatility Wtd ETF',
-    'VictoryShares International Volatility Wtd ETF',
-    'VictoryShares US 500 Enhanced Volatility Wtd ETF',
-    'VictoryShares US 500 Volatility Wtd ETF',
-    'VictoryShares US Discovery Enhanced Volatility Wtd ETF',
-    'VictoryShares US EQ Income Enhanced Volatility Wtd ETF',
-    'VictoryShares US Large Cap High Div Volatility Wtd ETF',
-    'VictoryShares US Multi-Factor Minimum Volatility ETF',
-    'VictoryShares US Small Cap High Div Volatility Wtd ETF',
-    'VictoryShares US Small Cap Volatility Wtd ETF', 'Viemed Healthcare',
-    'ViewRay', 'Viking Therapeutics',
-    'Village Bank and Trust Financial Corp.', 'Village Farms International',
-    'Village Super Market', 'Vince Holding Corp.', 'Viomi Technology Co.',
-    'Viper Energy Partners LP', 'Vipshop Holdings Limited', 'VirTra',
-    'Virco Manufacturing Corporation', 'Virgin Trains USA Inc.',
-    'VirnetX Holding Corp', 'Virtu Financial',
-    'Virtus Global Dividend & Income Fund Inc.',
-    'Virtus Global Multi-Sector Income Fund', 'Virtus Investment Partners',
-    'Virtus LifeSci Biotech Clinical Trials ETF',
-    'Virtus LifeSci Biotech Products ETF', 'Virtus Total Return Fund Inc.',
-    'Virtusa Corporation', 'Visa Inc.', 'Vishay Intertechnology',
-    'Vishay Precision Group', 'Vislink Technologies',
-    'Vista Gold Corporation', 'Vista Oil & Gas', 'Vista Outdoor Inc.',
-    'VistaGen Therapeutics', 'Visteon Corporation', 'Visterra',
-    'Vistra Energy Corp.', 'Vitamin Shoppe', 'Viveve Medical',
-    'Vivint Solar', 'VivoPower International PLC', 'Vmware',
-    'Vocera Communications', 'Vodafone Group Plc', 'VolitionRX Limited',
-    'Volt Information Sciences', 'Vonage Holdings Corp.',
-    'Vornado Realty Trust',
-    'Voya Asia Pacific High Dividend Equity Income Fund',
-    'Voya Emerging Markets High Income Dividend Equity Fund',
-    'Voya Financial', 'Voya Global Advantage and Premium Opportunity Fund',
-    'Voya Global Equity Dividend and Premium Opportunity Fund',
-    'Voya Infrastructure',
-    'Voya International High Dividend Equity Income Fund',
-    'Voya Natural Resources Equity Income Fund', 'Voya Prime Rate Trust',
-    'Voyager Therapeutics', 'Vulcan Materials Company', 'Vuzix Corporation',
-    'W&T Offshore', 'W.P. Carey Inc.', 'W.R. Berkley Corporation',
-    'W.R. Grace & Co.', 'W.W. Grainger', 'WAVE Life Sciences Ltd.',
-    'WD-40 Company', 'WEC Energy Group', 'WESCO International', 'WEX Inc.',
-    'WNS (Holdings) Limited', 'WPP plc', 'WPX Energy',
-    'WSFS Financial Corporation', 'WVS Financial Corp.',
-    'Wabash National Corporation', 'Wabco Holdings Inc.',
-    'Waddell & Reed Financial', 'Wah Fu Education Group Limited',
-    'Wahed FTSE USA Shariah ETF', 'Waitr Holdings Inc.',
-    'Walgreens Boots Alliance', 'Walker & Dunlop', 'Walmart Inc.',
-    'Walt Disney Company (The)', 'Wanda Sports Group Company Limited',
-    'Warrior Met Coal', 'Washington Federal', 'Washington Prime Group Inc.',
-    'Washington Real Estate Investment Trust', 'Washington Trust Bancorp',
-    'Waste Connections', 'Waste Management', 'Waters Corporation',
-    'Waterstone Financial', 'Watford Holdings Ltd.', 'Watsco',
-    'Watts Water Technologies', 'Wayfair Inc.', 'Wayne Farms',
-    'Wayside Technology Group', 'Wealthbridge Acquisition Limited',
-    'Webster Financial Corporation', 'Weibo Corporation', 'Weidai Ltd.',
-    'Weight Watchers International Inc', 'Weingarten Realty Investors',
-    'Weis Markets', 'Welbilt', 'WellCare Health Plans', 'Wellesley Bancorp',
-    'Wells Fargo & Company', 'Wells Fargo Global Dividend Opportunity Fund',
-    'Wells Fargo Income Opportunities Fund',
-    'Wells Fargo Multi-Sector Income Fund',
-    'Wells Fargo Utilities and High Income Fund', 'Welltower Inc.',
-    'Wendy&#39;s Company (The)', 'Werner Enterprises', 'WesBanco',
-    'Wesco Aircraft Holdings', 'West Bancorporation',
-    'West Pharmaceutical Services', 'Westamerica Bancorporation',
-    'Westell Technologies', 'Western Alliance Bancorporation',
-    'Western Asset Bond Fund', 'Western Asset Corporate Loan Fund Inc',
-    'Western Asset Emerging Markets Debt Fund Inc',
-    'Western Asset Global Corporate Defined Opportunity Fund Inc.',
-    'Western Asset Global High Income Fund Inc',
-    'Western Asset High Income Fund II Inc.',
-    'Western Asset High Income Opportunity Fund',
-    'Western Asset High Yield Defined Opportunity Fund Inc.',
-    'Western Asset Intermediate Muni Fund Inc',
-    'Western Asset Investment Grade Defined Opportunity Trust Inc.',
-    'Western Asset Investment Grade Income Fund Inc.',
-    'Western Asset Managed Municipals Fund',
-    'Western Asset Mortgage Capital Corporation',
-    'Western Asset Mortgage Defined Opportunity Fund Inc',
-    'Western Asset Municipal Defined Opportunity Trust Inc',
-    'Western Asset Municipal High Income Fund',
-    'Western Asset Municipal Partners Fund',
-    'Western Asset Short Duration Income ETF',
-    'Western Asset Total Return ETF',
-    'Western Asset Variable Rate Strategic Fund Inc.',
-    'Western Asset/Claymore U.S Treasury Inflation Prot Secs Fd 2',
-    'Western Asset/Claymore U.S. Treasury Inflation Prot Secs Fd',
-    'Western Copper and Gold Corporation', 'Western Digital Corporation',
-    'Western Midstream Partners', 'Western New England Bancorp',
-    'Western Union Company (The)',
-    'Westinghouse Air Brake Technologies Corporation',
-    'Westlake Chemical Corporation', 'Westlake Chemical Partners LP',
-    'Westpac Banking Corporation', 'Westport Fuel Systems Inc',
-    'Westrock Company', 'Westwater Resources',
-    'Westwood Holdings Group Inc', 'Weyco Group', 'Weyerhaeuser Company',
-    'Wheaton Precious Metals Corp.', 'Wheeler Real Estate Investment Trust',
-    'Whirlpool Corporation', 'White Mountains Insurance Group',
-    'WhiteHorse Finance', 'Whitestone REIT',
-    'Whiting Petroleum Corporation', 'WideOpenWest',
-    'WidePoint Corporation', 'Wilhelmina International',
-    'WillScot Corporation', 'Willamette Valley Vineyards', 'Willdan Group',
-    'Williams Companies', 'Williams-Sonoma',
-    'Willis Lease Finance Corporation',
-    'Willis Towers Watson Public Limited Company', 'Wingstop Inc.',
-    'Winmark Corporation', 'Winnebago Industries',
-    'Wins Finance Holdings Inc.', 'Wintrust Financial Corporation',
-    'Wipro Limited', 'Wireless Telecom Group',
-    'WisdomTree Barclays Negative Duration U.S. Aggregate Bond Fund',
-    'WisdomTree China ex-State-Owned Enterprises Fund',
-    'WisdomTree Cloud Computing Fund',
-    'WisdomTree Emerging Markets Consumer Growth Fund',
-    'WisdomTree Emerging Markets Corporate Bond Fund',
-    'WisdomTree Emerging Markets Quality Dividend Growth Fund',
-    'WisdomTree Germany Hedged Equity Fund',
-    'WisdomTree Interest Rate Hedged High Yield Bond Fund',
-    'WisdomTree Interest Rate Hedged U.S. Aggregate Bond Fund',
-    'WisdomTree Investments',
-    'WisdomTree Japan Hedged SmallCap Equity Fund',
-    'WisdomTree Middle East Dividend Fund',
-    'WisdomTree Negative Duration High Yield Bond Fund',
-    'WisdomTree U.S. Quality Dividend Growth Fund',
-    'WisdomTree U.S. SmallCap Quality Dividend Growth Fund', 'Wix.com Ltd.',
-    'Wolverine World Wide', 'Woodward', 'Woori Bank', 'Workday',
-    'Workhorse Group', 'Workiva Inc.', 'World Acceptance Corporation',
-    'World Fuel Services Corporation', 'World Wrestling Entertainment',
-    'Worthington Industries', 'Wrap Technologies',
-    'Wright Medical Group N.V.', 'Wyndham Destinations',
-    'Wyndham Hotels & Resorts', 'Wynn Resorts', 'X Financial',
-    'X4 Pharmaceuticals',
-    'XAI Octagon Floating Rate & Alternative Income Term Trust',
-    'XBiotech Inc.', 'XOMA Corporation', 'XPEL', 'XPO Logistics',
-    'XTL Biopharmaceuticals Ltd.', 'Xcel Brands', 'Xcel Energy Inc.',
-    'Xencor', 'Xenetic Biosciences', 'Xenia Hotels & Resorts',
-    'Xenon Pharmaceuticals Inc.', 'Xeris Pharmaceuticals',
-    'Xerox Holdings Corporation', 'Xilinx', 'Xinyuan Real Estate Co Ltd',
-    'Xperi Corporation', 'XpresSpa Group', 'Xtant Medical Holdings',
-    'Xunlei Limited', 'Xylem Inc.', 'Y-mAbs Therapeutics', 'YETI Holdings',
-    'YPF Sociedad Anonima', 'YRC Worldwide', 'YY Inc.', 'Yamana Gold Inc.',
-    'Yandex N.V.', 'Yatra Online', 'Yelp Inc.', 'Yext',
-    'Yield10 Bioscience', 'Yintech Investment Holdings Limited',
-    'Yirendai Ltd.', 'Youngevity International', 'Yum China Holdings',
-    'Yum! Brands', 'Yuma Energy', 'Yunji Inc.', 'ZAGG Inc',
-    'ZIOPHARM Oncology Inc', 'ZK International Group Co.',
-    'ZTO Express (Cayman) Inc.', 'Zafgen', 'Zai Lab Limited',
-    'Zayo Group Holdings', 'Zealand Pharma A/S',
-    'Zebra Technologies Corporation', 'Zedge', 'Zendesk', 'Zillow Group',
-    'Zimmer Biomet Holdings', 'Zion Oil ', 'Zions Bancorporation N.A.',
-    'Zix Corporation', 'Zoetis Inc.', 'Zogenix',
-    'Zomedica Pharmaceuticals Corp.', 'Zoom Video Communications',
-    'Zosano Pharma Corporation', 'Zovio Inc.', 'Zscaler', 'Zumiez Inc.',
-    'Zuora', 'Zymeworks Inc.', 'Zynerba Pharmaceuticals', 'Zynex',
-    'Zynga Inc.', 'aTyr Pharma', 'argenx SE', 'bluebird bio', 'cbdMD',
-    'comScore', 'e.l.f. Beauty', 'eBay Inc.', 'eGain Corporation',
-    'eHealth', 'eMagin Corporation', 'ePlus inc.', 'eXp World Holdings',
-    'electroCore', 'frontdoor', 'i3 Verticals', 'iBio',
-    'iClick Interactive Asia Group Limited', 'iFresh Inc.', 'iHeartMedia',
-    'iMedia Brands', 'iQIYI', 'iRadimed Corporation',
-    'iRhythm Technologies', 'iRobot Corporation',
-    'iShares 0-5 Year Investment Grade Corporate Bond ETF',
-    'iShares 1-3 Year International Treasury Bond ETF',
-    'iShares 1-3 Year Treasury Bond ETF',
-    'iShares 20+ Year Treasury Bond ETF',
-    'iShares 3-7 Year Treasury Bond ETF',
-    'iShares 7-10 Year Treasury Bond ETF', 'iShares Asia 50 ETF',
-    'iShares Broad USD Investment Grade Corporate Bond ETF',
-    'iShares Commodities Select Strategy ETF',
-    'iShares Core 1-5 Year USD Bond ETF',
-    'iShares Core MSCI Total International Stock ETF',
-    'iShares Core S&P U.S. Growth ETF', 'iShares Core S&P U.S. Value ETF',
-    'iShares Core Total USD Bond Market ETF',
-    'iShares Currency Hedged MSCI Germany ETF',
-    'iShares ESG 1-5 Year USD Corporate Bond ETF',
-    'iShares ESG MSCI EAFE ETF', 'iShares ESG MSCI EM ETF',
-    'iShares ESG MSCI USA ETF', 'iShares ESG MSCI USA Leaders ETF',
-    'iShares ESG USD Corporate Bond ETF',
-    'iShares Exponential Technologies ETF',
-    'iShares FTSE EPRA/NAREIT Europe Index Fund',
-    'iShares FTSE EPRA/NAREIT Global Real Estate ex-U.S. Index Fund',
-    'iShares Fallen Angels USD Bond ETF', 'iShares GNMA Bond ETF',
-    'iShares Global Green Bond ETF', 'iShares Global Infrastructure ETF',
-    'iShares Intermediate-Term Corporate Bond ETF',
-    'iShares International Treasury Bond ETF',
-    'iShares J.P. Morgan USD Emerging Markets Bond ETF', 'iShares MBS ETF',
-    'iShares MSCI ACWI Index Fund', 'iShares MSCI ACWI ex US Index Fund',
-    'iShares MSCI All Country Asia ex Japan Index Fund',
-    'iShares MSCI Brazil Small-Cap ETF', 'iShares MSCI China ETF',
-    'iShares MSCI EAFE Small-Cap ETF',
-    'iShares MSCI Emerging Markets Asia ETF',
-    'iShares MSCI Emerging Markets ex China ETF',
-    'iShares MSCI Europe Financials Sector Index Fund',
-    'iShares MSCI Europe Small-Cap ETF',
-    'iShares MSCI Global Gold Miners ETF', 'iShares MSCI Global Impact ETF',
-    'iShares MSCI Japan Equal Weighted ETF', 'iShares MSCI Japan Value ETF',
-    'iShares MSCI New Zealand ETF', 'iShares MSCI Qatar ETF',
-    'iShares MSCI Turkey ETF', 'iShares MSCI UAE ETF',
-    'iShares Morningstar Mid-Cap ETF',
-    'iShares Nasdaq Biotechnology Index Fund',
-    'iShares PHLX SOX Semiconductor Sector Index Fund',
-    'iShares Preferred and Income Securities ETF',
-    'iShares Russell 1000 Pure U.S. Revenue ETF',
-    'iShares S&P Emerging Markets Infrastructure Index Fund',
-    'iShares S&P Global Clean Energy Index Fund',
-    'iShares S&P Global Timber & Forestry Index Fund',
-    'iShares S&P India Nifty 50 Index Fund',
-    'iShares S&P Small-Cap 600 Growth ETF', 'iShares Select Dividend ETF',
-    'iShares Short Treasury Bond ETF',
-    'iShares Short-Term Corporate Bond ETF',
-    'iShares iBoxx $ High Yield ex Oil & Gas Corporate Bond ETF',
-    'iStar Inc.', 'icad inc.', 'inTest Corporation', 'j2 Global',
-    'lululemon athletica inc.', 'nLIGHT', 'nVent Electric plc', 'resTORbio',
-    'scPharmaceuticals Inc.', 'support.com', 'trivago N.V.', 'uniQure N.V.',
-    'vTv Therapeutics Inc.', 'voxeljet AG']
+
+CURRENCY_ISO_CODES = [
+    "AED",
+    "AFN",
+    "ALL",
+    "AMD",
+    "ANG",
+    "AOA",
+    "ARS",
+    "AUD",
+    "AWG",
+    "AZN",
+    "BAM",
+    "BBD",
+    "BDT",
+    "BGN",
+    "BHD",
+    "BIF",
+    "BMD",
+    "BND",
+    "BOB",
+    "BOV",
+    "BRL",
+    "BSD",
+    "BTN",
+    "BWP",
+    "BYN",
+    "BYR",
+    "BZD",
+    "CAD",
+    "CDF",
+    "CHE",
+    "CHF",
+    "CHW",
+    "CLF",
+    "CLP",
+    "CNY",
+    "COP",
+    "COU",
+    "CRC",
+    "CUC",
+    "CUP",
+    "CVE",
+    "CZK",
+    "DJF",
+    "DKK",
+    "DOP",
+    "DZD",
+    "EGP",
+    "ERN",
+    "ETB",
+    "EUR",
+    "FJD",
+    "FKP",
+    "GBP",
+    "GEL",
+    "GHS",
+    "GIP",
+    "GMD",
+    "GNF",
+    "GTQ",
+    "GYD",
+    "HKD",
+    "HNL",
+    "HRK",
+    "HTG",
+    "HUF",
+    "IDR",
+    "ILS",
+    "INR",
+    "IQD",
+    "IRR",
+    "ISK",
+    "JMD",
+    "JOD",
+    "JPY",
+    "KES",
+    "KGS",
+    "KHR",
+    "KMF",
+    "KPW",
+    "KRW",
+    "KWD",
+    "KYD",
+    "KZT",
+    "LAK",
+    "LBP",
+    "LKR",
+    "LRD",
+    "LSL",
+    "LYD",
+    "MAD",
+    "MDL",
+    "MGA",
+    "MKD",
+    "MMK",
+    "MNT",
+    "MOP",
+    "MRO",
+    "MUR",
+    "MVR",
+    "MWK",
+    "MXN",
+    "MXV",
+    "MYR",
+    "MZN",
+    "NAD",
+    "NGN",
+    "NIO",
+    "NOK",
+    "NPR",
+    "NZD",
+    "OMR",
+    "PAB",
+    "PEN",
+    "PGK",
+    "PHP",
+    "PKR",
+    "PLN",
+    "PYG",
+    "QAR",
+    "RON",
+    "RSD",
+    "RUB",
+    "RWF",
+    "SAR",
+    "SBD",
+    "SCR",
+    "SDG",
+    "SEK",
+    "SGD",
+    "SHP",
+    "SLL",
+    "SOS",
+    "SRD",
+    "SSP",
+    "STD",
+    "SVC",
+    "SYP",
+    "SZL",
+    "THB",
+    "TJS",
+    "TMT",
+    "TND",
+    "TOP",
+    "TRY",
+    "TTD",
+    "TWD",
+    "TZS",
+    "UAH",
+    "UGX",
+    "USD",
+    "USN",
+    "UYI",
+    "UYU",
+    "UZS",
+    "VEF",
+    "VND",
+    "VUV",
+    "WST",
+    "XAF",
+    "XAG",
+    "XAU",
+    "XBA",
+    "XBB",
+    "XBC",
+    "XBD",
+    "XCD",
+    "XDR",
+    "XOF",
+    "XPD",
+    "XPF",
+    "XPT",
+    "XSU",
+    "XTS",
+    "XUA",
+    "XXX",
+    "YER",
+    "ZAR",
+    "ZMW",
+    "ZWL",
+]
+
+CRYPTOCURRENCY_ISO_CODES = [
+    "BCH",
+    "BNB",
+    "BTC",
+    "DASH",
+    "DOT",
+    "EOS",
+    "ETH",
+    "IOT",
+    "LTC",
+    "USDT",
+    "VTC",
+    "WBTC",
+    "XBC",
+    "XBT",
+    "XLM",
+    "XMR",
+    "XRP",
+    "XZC",
+    "ZEC",
+]
+
+
+CURRENCY_SYMBOLS = {
+    "cs": "Kč",
+    "da": "kr",
+    "de": "€",
+    "de-at": "€",
+    "de-ch": "Fr.",
+    "el": "€",
+    "en": "$",
+    "en-ca": "$",
+    "en-gb": "£",
+    "en-au": "$",
+    "es": "€",
+    "es-mx": "$",
+    "et": "€",
+    "fa": "﷼",
+    "fi": "€",
+    "fr": "€",
+    "hr": "€",
+    "hu": "Ft",
+    "is": "kr",
+    "it": "€",
+    "ja": "¥",
+    "kk": "₸",
+    "ko": "₩",
+    "nl": "€",
+    "nl-be": "€",
+    "no": "kr",
+    "pl": "zł",
+    "pt": "€",
+    "pt-br": "R$",
+    "ru": "₽",
+    "sk": "€",
+    "sv": "kr",
+    "tr": "₺",
+    "uk": "₴",
+    "zh": "¥",
+    "default": "$",
+}
+
+CRYPTOCURRENCY_SYMBOLS = [
+    "₿",
+    "Ł",
+    "Ξ",
+]
+
+
+STOCK_EXCHANGES = ["NYSE", "NASDAQ", "AMEX", "JPX", "SSE", "HKEX", "Euronext"]
+
+STOCK_TICKERS = [
+    "A",
+    "AA",
+    "AABA",
+    "AAC",
+    "AAL",
+    "AAMC",
+    "AAME",
+    "AAN",
+    "AAOI",
+    "AAON",
+    "AAP",
+    "AAPL",
+    "AAT",
+    "AAU",
+    "AAWW",
+    "AAXJ",
+    "AAXN",
+    "AB",
+    "ABB",
+    "ABBV",
+    "ABC",
+    "ABCB",
+    "ABDC",
+    "ABEO",
+    "ABEOW",
+    "ABEV",
+    "ABG",
+    "ABIL",
+    "ABIO",
+    "ABM",
+    "ABMD",
+    "ABR",
+    "ABR^A",
+    "ABR^B",
+    "ABR^C",
+    "ABT",
+    "ABTX",
+    "ABUS",
+    "AC",
+    "ACA",
+    "ACAD",
+    "ACAM",
+    "ACAMU",
+    "ACAMW",
+    "ACB",
+    "ACBI",
+    "ACC",
+    "ACCO",
+    "ACCP",
+    "ACER",
+    "ACGL",
+    "ACGLO",
+    "ACGLP",
+    "ACH",
+    "ACHC",
+    "ACHN",
+    "ACHV",
+    "ACIA",
+    "ACIU",
+    "ACIW",
+    "ACLS",
+    "ACM",
+    "ACMR",
+    "ACN",
+    "ACNB",
+    "ACOR",
+    "ACP",
+    "ACRE",
+    "ACRS",
+    "ACRX",
+    "ACST",
+    "ACT",
+    "ACTG",
+    "ACTT",
+    "ACTTU",
+    "ACTTW",
+    "ACU",
+    "ACV",
+    "ACWI",
+    "ACWX",
+    "ACY",
+    "ADAP",
+    "ADBE",
+    "ADC",
+    "ADES",
+    "ADI",
+    "ADIL",
+    "ADILW",
+    "ADM",
+    "ADMA",
+    "ADMP",
+    "ADMS",
+    "ADNT",
+    "ADP",
+    "ADPT",
+    "ADRA",
+    "ADRD",
+    "ADRE",
+    "ADRO",
+    "ADRU",
+    "ADS",
+    "ADSK",
+    "ADSW",
+    "ADT",
+    "ADTN",
+    "ADUS",
+    "ADVM",
+    "ADX",
+    "ADXS",
+    "AE",
+    "AEB",
+    "AEE",
+    "AEF",
+    "AEG",
+    "AEGN",
+    "AEH",
+    "AEHR",
+    "AEIS",
+    "AEL",
+    "AEM",
+    "AEMD",
+    "AEO",
+    "AEP",
+    "AEP^B",
+    "AER",
+    "AERI",
+    "AES",
+    "AESE",
+    "AEY",
+    "AEYE",
+    "AEZS",
+    "AFB",
+    "AFC",
+    "AFG",
+    "AFGB",
+    "AFGE",
+    "AFGH",
+    "AFH",
+    "AFHBL",
+    "AFI",
+    "AFIN",
+    "AFINP",
+    "AFL",
+    "AFMD",
+    "AFT",
+    "AFYA",
+    "AG",
+    "AGBA",
+    "AGBAR",
+    "AGBAU",
+    "AGBAW",
+    "AGCO",
+    "AGD",
+    "AGE",
+    "AGEN",
+    "AGFS",
+    "AGFSW",
+    "AGI",
+    "AGIO",
+    "AGLE",
+    "AGM",
+    "AGM.A",
+    "AGMH",
+    "AGM^A",
+    "AGM^C",
+    "AGM^D",
+    "AGN",
+    "AGNC",
+    "AGNCB",
+    "AGNCM",
+    "AGNCN",
+    "AGND",
+    "AGO",
+    "AGO^B",
+    "AGO^E",
+    "AGO^F",
+    "AGR",
+    "AGRO",
+    "AGRX",
+    "AGS",
+    "AGTC",
+    "AGX",
+    "AGYS",
+    "AGZD",
+    "AHC",
+    "AHH",
+    "AHH^A",
+    "AHL^C",
+    "AHL^D",
+    "AHL^E",
+    "AHPI",
+    "AHT",
+    "AHT^D",
+    "AHT^F",
+    "AHT^G",
+    "AHT^H",
+    "AHT^I",
+    "AI",
+    "AIA",
+    "AIC",
+    "AIF",
+    "AIG",
+    "AIG.WS",
+    "AIG^A",
+    "AIHS",
+    "AIM",
+    "AIMC",
+    "AIMT",
+    "AIN",
+    "AINC",
+    "AINV",
+    "AIQ",
+    "AIR",
+    "AIRG",
+    "AIRI",
+    "AIRR",
+    "AIRT",
+    "AIRTP",
+    "AIRTW",
+    "AIT",
+    "AIV",
+    "AIW",
+    "AIZ",
+    "AIZP",
+    "AI^B",
+    "AI^C",
+    "AJG",
+    "AJRD",
+    "AJX",
+    "AJXA",
+    "AKAM",
+    "AKBA",
+    "AKCA",
+    "AKER",
+    "AKG",
+    "AKO.A",
+    "AKO.B",
+    "AKR",
+    "AKRO",
+    "AKRX",
+    "AKS",
+    "AKTS",
+    "AKTX",
+    "AL",
+    "ALAC",
+    "ALACR",
+    "ALACU",
+    "ALACW",
+    "ALB",
+    "ALBO",
+    "ALC",
+    "ALCO",
+    "ALDR",
+    "ALDX",
+    "ALE",
+    "ALEC",
+    "ALEX",
+    "ALG",
+    "ALGN",
+    "ALGR",
+    "ALGRR",
+    "ALGRU",
+    "ALGRW",
+    "ALGT",
+    "ALIM",
+    "ALIT",
+    "ALJJ",
+    "ALK",
+    "ALKS",
+    "ALL",
+    "ALLE",
+    "ALLK",
+    "ALLO",
+    "ALLT",
+    "ALLY",
+    "ALLY^A",
+    "ALL^A",
+    "ALL^B",
+    "ALL^D.CL",
+    "ALL^E.CL",
+    "ALL^F.CL",
+    "ALL^G",
+    "ALL^H",
+    "ALNA",
+    "ALNY",
+    "ALO",
+    "ALOT",
+    "ALPN",
+    "ALP^Q",
+    "ALRM",
+    "ALRN",
+    "ALRS",
+    "ALSK",
+    "ALSN",
+    "ALT",
+    "ALTM",
+    "ALTR",
+    "ALTY",
+    "ALV",
+    "ALX",
+    "ALXN",
+    "ALYA",
+    "AL^A",
+    "AM",
+    "AMAG",
+    "AMAL",
+    "AMAT",
+    "AMBA",
+    "AMBC",
+    "AMBCW",
+    "AMBO",
+    "AMC",
+    "AMCA",
+    "AMCI",
+    "AMCIU",
+    "AMCIW",
+    "AMCR",
+    "AMCX",
+    "AMD",
+    "AME",
+    "AMED",
+    "AMEH",
+    "AMG",
+    "AMGN",
+    "AMH",
+    "AMH^D",
+    "AMH^E",
+    "AMH^F",
+    "AMH^G",
+    "AMH^H",
+    "AMK",
+    "AMKR",
+    "AMN",
+    "AMNB",
+    "AMOT",
+    "AMOV",
+    "AMP",
+    "AMPE",
+    "AMPH",
+    "AMPY",
+    "AMR",
+    "AMRB",
+    "AMRC",
+    "AMRH",
+    "AMRHW",
+    "AMRK",
+    "AMRN",
+    "AMRS",
+    "AMRWW",
+    "AMRX",
+    "AMS",
+    "AMSC",
+    "AMSF",
+    "AMSWA",
+    "AMT",
+    "AMTB",
+    "AMTBB",
+    "AMTD",
+    "AMTX",
+    "AMWD",
+    "AMX",
+    "AMZN",
+    "AN",
+    "ANAB",
+    "ANAT",
+    "ANCN",
+    "ANDA",
+    "ANDAR",
+    "ANDAU",
+    "ANDAW",
+    "ANDE",
+    "ANET",
+    "ANF",
+    "ANFI",
+    "ANGI",
+    "ANGO",
+    "ANH",
+    "ANH^A",
+    "ANH^B",
+    "ANH^C",
+    "ANIK",
+    "ANIP",
+    "ANIX",
+    "ANSS",
+    "ANTE",
+    "ANTM",
+    "ANY",
+    "AOBC",
+    "AOD",
+    "AON",
+    "AOS",
+    "AOSL",
+    "AP",
+    "APA",
+    "APAM",
+    "APD",
+    "APDN",
+    "APDNW",
+    "APEI",
+    "APEN",
+    "APEX",
+    "APH",
+    "APHA",
+    "APLE",
+    "APLS",
+    "APLT",
+    "APM",
+    "APO",
+    "APOG",
+    "APOP",
+    "APOPW",
+    "APO^A",
+    "APO^B",
+    "APPF",
+    "APPN",
+    "APPS",
+    "APRN",
+    "APT",
+    "APTO",
+    "APTS",
+    "APTV",
+    "APTX",
+    "APVO",
+    "APWC",
+    "APY",
+    "APYX",
+    "AQ",
+    "AQB",
+    "AQMS",
+    "AQN",
+    "AQNA",
+    "AQNB",
+    "AQST",
+    "AQUA",
+    "AR",
+    "ARA",
+    "ARAV",
+    "ARAY",
+    "ARC",
+    "ARCB",
+    "ARCC",
+    "ARCE",
+    "ARCH",
+    "ARCO",
+    "ARCT",
+    "ARD",
+    "ARDC",
+    "ARDS",
+    "ARDX",
+    "ARE",
+    "AREC",
+    "ARES",
+    "ARES^A",
+    "AREX",
+    "ARE^D",
+    "ARGD",
+    "ARGO",
+    "ARGX",
+    "ARI",
+    "ARKR",
+    "ARL",
+    "ARLO",
+    "ARLP",
+    "ARMK",
+    "ARMP",
+    "ARNA",
+    "ARNC",
+    "ARNC^",
+    "AROC",
+    "AROW",
+    "ARPO",
+    "ARQL",
+    "ARR",
+    "ARR^B",
+    "ARTL",
+    "ARTLW",
+    "ARTNA",
+    "ARTW",
+    "ARTX",
+    "ARVN",
+    "ARW",
+    "ARWR",
+    "ARYA",
+    "ARYAU",
+    "ARYAW",
+    "ASA",
+    "ASB",
+    "ASB^C",
+    "ASB^D",
+    "ASB^E",
+    "ASC",
+    "ASET",
+    "ASFI",
+    "ASG",
+    "ASGN",
+    "ASH",
+    "ASIX",
+    "ASLN",
+    "ASM",
+    "ASMB",
+    "ASML",
+    "ASNA",
+    "ASND",
+    "ASPN",
+    "ASPS",
+    "ASPU",
+    "ASR",
+    "ASRT",
+    "ASRV",
+    "ASRVP",
+    "ASTC",
+    "ASTE",
+    "ASUR",
+    "ASX",
+    "ASYS",
+    "AT",
+    "ATAI",
+    "ATAX",
+    "ATEC",
+    "ATEN",
+    "ATEST",
+    "ATEST.A",
+    "ATEST.B",
+    "ATEST.C",
+    "ATEX",
+    "ATGE",
+    "ATH",
+    "ATHE",
+    "ATHM",
+    "ATHX",
+    "ATH^A",
+    "ATI",
+    "ATIF",
+    "ATIS",
+    "ATISW",
+    "ATKR",
+    "ATLC",
+    "ATLO",
+    "ATNI",
+    "ATNM",
+    "ATNX",
+    "ATO",
+    "ATOM",
+    "ATOS",
+    "ATR",
+    "ATRA",
+    "ATRC",
+    "ATRI",
+    "ATRO",
+    "ATRS",
+    "ATSG",
+    "ATTO",
+    "ATU",
+    "ATUS",
+    "ATV",
+    "ATVI",
+    "ATXI",
+    "AU",
+    "AUB",
+    "AUBN",
+    "AUDC",
+    "AUG",
+    "AUMN",
+    "AUO",
+    "AUPH",
+    "AUTL",
+    "AUTO",
+    "AUY",
+    "AVA",
+    "AVAL",
+    "AVAV",
+    "AVB",
+    "AVCO",
+    "AVD",
+    "AVDL",
+    "AVDR",
+    "AVEO",
+    "AVGO",
+    "AVGR",
+    "AVH",
+    "AVID",
+    "AVK",
+    "AVLR",
+    "AVNS",
+    "AVNW",
+    "AVP",
+    "AVRO",
+    "AVT",
+    "AVTR",
+    "AVTR^A",
+    "AVX",
+    "AVXL",
+    "AVY",
+    "AVYA",
+    "AWF",
+    "AWI",
+    "AWK",
+    "AWP",
+    "AWR",
+    "AWRE",
+    "AWSM",
+    "AWX",
+    "AX",
+    "AXAS",
+    "AXDX",
+    "AXE",
+    "AXGN",
+    "AXGT",
+    "AXL",
+    "AXLA",
+    "AXNX",
+    "AXO",
+    "AXP",
+    "AXR",
+    "AXS",
+    "AXSM",
+    "AXS^D",
+    "AXS^E",
+    "AXTA",
+    "AXTI",
+    "AXU",
+    "AY",
+    "AYI",
+    "AYR",
+    "AYTU",
+    "AYX",
+    "AZN",
+    "AZO",
+    "AZPN",
+    "AZRE",
+    "AZRX",
+    "AZUL",
+    "AZZ",
+    "B",
+    "BA",
+    "BABA",
+    "BAC",
+    "BAC^A",
+    "BAC^B",
+    "BAC^C",
+    "BAC^E",
+    "BAC^K",
+    "BAC^L",
+    "BAC^M",
+    "BAC^Y",
+    "BAF",
+    "BAH",
+    "BAM",
+    "BANC",
+    "BANC^D",
+    "BANC^E",
+    "BAND",
+    "BANF",
+    "BANFP",
+    "BANR",
+    "BANX",
+    "BAP",
+    "BAS",
+    "BASI",
+    "BATRA",
+    "BATRK",
+    "BAX",
+    "BB",
+    "BBAR",
+    "BBBY",
+    "BBC",
+    "BBCP",
+    "BBD",
+    "BBDC",
+    "BBDO",
+    "BBF",
+    "BBGI",
+    "BBH",
+    "BBI",
+    "BBIO",
+    "BBK",
+    "BBL",
+    "BBN",
+    "BBP",
+    "BBRX",
+    "BBSI",
+    "BBT",
+    "BBT^F",
+    "BBT^G",
+    "BBT^H",
+    "BBU",
+    "BBVA",
+    "BBW",
+    "BBX",
+    "BBY",
+    "BC",
+    "BCBP",
+    "BCC",
+    "BCDA",
+    "BCDAW",
+    "BCE",
+    "BCEI",
+    "BCEL",
+    "BCH",
+    "BCLI",
+    "BCML",
+    "BCNA",
+    "BCO",
+    "BCOM",
+    "BCOR",
+    "BCOV",
+    "BCOW",
+    "BCPC",
+    "BCRH",
+    "BCRX",
+    "BCS",
+    "BCSF",
+    "BCTF",
+    "BCV",
+    "BCV^A",
+    "BCX",
+    "BCYC",
+    "BC^A",
+    "BC^B",
+    "BC^C",
+    "BDC",
+    "BDGE",
+    "BDJ",
+    "BDL",
+    "BDN",
+    "BDR",
+    "BDSI",
+    "BDX",
+    "BDXA",
+    "BE",
+    "BEAT",
+    "BECN",
+    "BEDU",
+    "BELFA",
+    "BELFB",
+    "BEN",
+    "BEP",
+    "BERY",
+    "BEST",
+    "BF.A",
+    "BF.B",
+    "BFAM",
+    "BFC",
+    "BFIN",
+    "BFIT",
+    "BFK",
+    "BFO",
+    "BFRA",
+    "BFS",
+    "BFST",
+    "BFS^C",
+    "BFS^D",
+    "BFY",
+    "BFZ",
+    "BG",
+    "BGB",
+    "BGCP",
+    "BGFV",
+    "BGG",
+    "BGH",
+    "BGI",
+    "BGIO",
+    "BGNE",
+    "BGR",
+    "BGRN",
+    "BGS",
+    "BGSF",
+    "BGT",
+    "BGX",
+    "BGY",
+    "BH",
+    "BH.A",
+    "BHAT",
+    "BHB",
+    "BHC",
+    "BHE",
+    "BHF",
+    "BHFAL",
+    "BHFAP",
+    "BHGE",
+    "BHK",
+    "BHLB",
+    "BHP",
+    "BHR",
+    "BHR^B",
+    "BHR^D",
+    "BHTG",
+    "BHV",
+    "BHVN",
+    "BIB",
+    "BICK",
+    "BID",
+    "BIDU",
+    "BIF",
+    "BIG",
+    "BIIB",
+    "BILI",
+    "BIMI",
+    "BIO",
+    "BIO.B",
+    "BIOC",
+    "BIOL",
+    "BIOS",
+    "BIOX",
+    "BIOX.WS",
+    "BIP",
+    "BIS",
+    "BIT",
+    "BITA",
+    "BIVI",
+    "BJ",
+    "BJRI",
+    "BK",
+    "BKCC",
+    "BKCH",
+    "BKD",
+    "BKE",
+    "BKEP",
+    "BKEPP",
+    "BKH",
+    "BKI",
+    "BKJ",
+    "BKK",
+    "BKN",
+    "BKNG",
+    "BKSC",
+    "BKT",
+    "BKTI",
+    "BKU",
+    "BKYI",
+    "BK^C",
+    "BL",
+    "BLBD",
+    "BLCM",
+    "BLCN",
+    "BLD",
+    "BLDP",
+    "BLDR",
+    "BLE",
+    "BLFS",
+    "BLIN          ",
+    "BLK",
+    "BLKB",
+    "BLL",
+    "BLMN",
+    "BLNK",
+    "BLNKW",
+    "BLPH",
+    "BLRX",
+    "BLU",
+    "BLUE",
+    "BLW",
+    "BLX",
+    "BMA",
+    "BMCH",
+    "BME",
+    "BMI",
+    "BMLP",
+    "BML^G",
+    "BML^H",
+    "BML^J",
+    "BML^L",
+    "BMO",
+    "BMRA",
+    "BMRC",
+    "BMRN",
+    "BMTC",
+    "BMY",
+    "BND",
+    "BNDW",
+    "BNDX",
+    "BNED",
+    "BNFT",
+    "BNGO",
+    "BNGOW",
+    "BNKL",
+    "BNS",
+    "BNSO",
+    "BNTC",
+    "BNTCW",
+    "BNY",
+    "BOCH",
+    "BOE",
+    "BOH",
+    "BOKF",
+    "BOKFL",
+    "BOLD",
+    "BOMN",
+    "BOOM",
+    "BOOT",
+    "BORR",
+    "BOSC",
+    "BOTJ",
+    "BOTZ",
+    "BOX",
+    "BOXL",
+    "BP",
+    "BPFH",
+    "BPL",
+    "BPMC",
+    "BPMP",
+    "BPMX",
+    "BPOP",
+    "BPOPM",
+    "BPOPN",
+    "BPR",
+    "BPRAP",
+    "BPRN",
+    "BPT",
+    "BPTH",
+    "BPY",
+    "BPYPO",
+    "BPYPP",
+    "BQH",
+    "BR",
+    "BRC",
+    "BREW",
+    "BRFS",
+    "BRG",
+    "BRG^A",
+    "BRG^C",
+    "BRG^D",
+    "BRID",
+    "BRK.A",
+    "BRK.B",
+    "BRKL",
+    "BRKR",
+    "BRKS",
+    "BRN",
+    "BRO",
+    "BROG",
+    "BROGR",
+    "BROGU",
+    "BROGW",
+    "BRPA",
+    "BRPAR",
+    "BRPAU",
+    "BRPAW",
+    "BRPM",
+    "BRPM.U",
+    "BRPM.WS",
+    "BRQS",
+    "BRT",
+    "BRX",
+    "BRY",
+    "BSA",
+    "BSAC",
+    "BSBR",
+    "BSD",
+    "BSE",
+    "BSET",
+    "BSGM",
+    "BSIG",
+    "BSL",
+    "BSM",
+    "BSMX",
+    "BSQR",
+    "BSRR",
+    "BST",
+    "BSTC",
+    "BSTZ",
+    "BSVN",
+    "BSX",
+    "BT",
+    "BTA",
+    "BTAI",
+    "BTE",
+    "BTEC",
+    "BTG",
+    "BTI",
+    "BTN",
+    "BTO",
+    "BTT",
+    "BTU",
+    "BTZ",
+    "BUD",
+    "BUI",
+    "BURG",
+    "BURL",
+    "BUSE",
+    "BV",
+    "BVN",
+    "BVSN",
+    "BVXV",
+    "BVXVW",
+    "BW",
+    "BWA",
+    "BWAY",
+    "BWB",
+    "BWEN",
+    "BWFG",
+    "BWG",
+    "BWL.A",
+    "BWMC",
+    "BWMCU",
+    "BWMCW",
+    "BWXT",
+    "BX",
+    "BXC",
+    "BXG",
+    "BXMT",
+    "BXMX",
+    "BXP",
+    "BXP^B",
+    "BXS",
+    "BY",
+    "BYD",
+    "BYFC",
+    "BYM",
+    "BYND",
+    "BYSI",
+    "BZH",
+    "BZM",
+    "BZUN",
+    "C",
+    "CAAP",
+    "CAAS",
+    "CABO",
+    "CAC",
+    "CACC",
+    "CACG",
+    "CACI",
+    "CADE",
+    "CAE",
+    "CAF",
+    "CAG",
+    "CAH",
+    "CAI",
+    "CAI^A",
+    "CAI^B",
+    "CAJ",
+    "CAKE",
+    "CAL",
+    "CALA",
+    "CALM",
+    "CALX",
+    "CAMP",
+    "CAMT",
+    "CANF",
+    "CANG",
+    "CAPL",
+    "CAPR",
+    "CAR",
+    "CARA",
+    "CARB",
+    "CARE",
+    "CARG",
+    "CARO",
+    "CARS",
+    "CART",
+    "CARV",
+    "CARZ",
+    "CASA",
+    "CASH",
+    "CASI",
+    "CASS",
+    "CASY",
+    "CAT",
+    "CATB",
+    "CATC",
+    "CATH",
+    "CATM",
+    "CATO",
+    "CATS",
+    "CATY",
+    "CB",
+    "CBAN",
+    "CBAT",
+    "CBAY",
+    "CBB",
+    "CBB^B",
+    "CBD",
+    "CBFV",
+    "CBH",
+    "CBIO",
+    "CBL",
+    "CBLI",
+    "CBLK",
+    "CBL^D",
+    "CBL^E",
+    "CBM",
+    "CBMB",
+    "CBMG",
+    "CBNK",
+    "CBO",
+    "CBOE",
+    "CBPO",
+    "CBPX",
+    "CBRE",
+    "CBRL",
+    "CBS",
+    "CBS.A",
+    "CBSH",
+    "CBSHP",
+    "CBT",
+    "CBTX",
+    "CBU",
+    "CBUS",
+    "CBX",
+    "CBZ",
+    "CC",
+    "CCB",
+    "CCBG",
+    "CCC",
+    "CCC.WS",
+    "CCCL",
+    "CCD",
+    "CCEP",
+    "CCF",
+    "CCH",
+    "CCH.U",
+    "CCH.WS",
+    "CCI",
+    "CCI^A",
+    "CCJ",
+    "CCK",
+    "CCL",
+    "CCLP",
+    "CCM",
+    "CCMP",
+    "CCNE",
+    "CCO",
+    "CCOI",
+    "CCR",
+    "CCRC",
+    "CCRN",
+    "CCS",
+    "CCU",
+    "CCX",
+    "CCX.U",
+    "CCX.WS",
+    "CCXI",
+    "CCZ",
+    "CDAY",
+    "CDC",
+    "CDE",
+    "CDEV",
+    "CDK",
+    "CDL",
+    "CDLX",
+    "CDMO",
+    "CDMOP",
+    "CDNA",
+    "CDNS",
+    "CDOR",
+    "CDR",
+    "CDR^B",
+    "CDR^C",
+    "CDTX",
+    "CDW",
+    "CDXC",
+    "CDXS",
+    "CDZI",
+    "CE",
+    "CEA",
+    "CECE",
+    "CECO",
+    "CEE",
+    "CEI",
+    "CEIX",
+    "CEL",
+    "CELC",
+    "CELG",
+    "CELGZ",
+    "CELH",
+    "CELP",
+    "CEM",
+    "CEMI",
+    "CEN",
+    "CENT",
+    "CENTA",
+    "CENX",
+    "CEO",
+    "CEPU",
+    "CEQP",
+    "CEQP^",
+    "CERC",
+    "CERN",
+    "CERS",
+    "CET",
+    "CETV",
+    "CETX",
+    "CETXP",
+    "CETXW",
+    "CEV",
+    "CEVA",
+    "CEY",
+    "CEZ",
+    "CF",
+    "CFA",
+    "CFB",
+    "CFBI",
+    "CFBK",
+    "CFFA",
+    "CFFAU",
+    "CFFAW",
+    "CFFI",
+    "CFFN",
+    "CFG",
+    "CFG^D",
+    "CFMS",
+    "CFO",
+    "CFR",
+    "CFRX",
+    "CFR^A",
+    "CFX",
+    "CFXA",
+    "CG",
+    "CGA",
+    "CGBD",
+    "CGC",
+    "CGEN",
+    "CGIX",
+    "CGNX",
+    "CGO",
+    "CHA",
+    "CHAC",
+    "CHAC.U",
+    "CHAC.WS",
+    "CHAP",
+    "CHCI",
+    "CHCO",
+    "CHCT",
+    "CHD",
+    "CHDN",
+    "CHE",
+    "CHEF",
+    "CHEK",
+    "CHEKW",
+    "CHEKZ",
+    "CHFS",
+    "CHGG",
+    "CHH",
+    "CHI",
+    "CHIC",
+    "CHK",
+    "CHKP",
+    "CHKR",
+    "CHK^D",
+    "CHL",
+    "CHMA",
+    "CHMG",
+    "CHMI",
+    "CHMI^A",
+    "CHMI^B",
+    "CHN",
+    "CHNA",
+    "CHNG",
+    "CHNGU",
+    "CHNR",
+    "CHRA",
+    "CHRS",
+    "CHRW",
+    "CHS",
+    "CHSCL",
+    "CHSCM",
+    "CHSCN",
+    "CHSCO",
+    "CHSCP",
+    "CHSP",
+    "CHT",
+    "CHTR",
+    "CHU",
+    "CHUY",
+    "CHW",
+    "CHWY",
+    "CHY",
+    "CI",
+    "CIA",
+    "CIB",
+    "CIBR",
+    "CID",
+    "CIDM",
+    "CIEN",
+    "CIF",
+    "CIFS",
+    "CIG",
+    "CIG.C",
+    "CIGI",
+    "CIH",
+    "CII",
+    "CIK",
+    "CIL",
+    "CIM",
+    "CIM^A",
+    "CIM^B",
+    "CIM^C",
+    "CIM^D",
+    "CINF",
+    "CINR",
+    "CIO",
+    "CIO^A",
+    "CIR",
+    "CISN",
+    "CIT",
+    "CIVB",
+    "CIVBP",
+    "CIX",
+    "CIZ",
+    "CIZN",
+    "CJ",
+    "CJJD",
+    "CKH",
+    "CKPT",
+    "CKX",
+    "CL",
+    "CLAR",
+    "CLB",
+    "CLBK",
+    "CLBS",
+    "CLCT",
+    "CLDB",
+    "CLDR",
+    "CLDT",
+    "CLDX",
+    "CLF",
+    "CLFD",
+    "CLGN",
+    "CLGX",
+    "CLH",
+    "CLI",
+    "CLIR",
+    "CLLS",
+    "CLM",
+    "CLMT",
+    "CLNC",
+    "CLNE",
+    "CLNY",
+    "CLNY^B",
+    "CLNY^E",
+    "CLNY^G",
+    "CLNY^H",
+    "CLNY^I",
+    "CLNY^J",
+    "CLOU",
+    "CLPR",
+    "CLPS",
+    "CLR",
+    "CLRB",
+    "CLRBZ",
+    "CLRG",
+    "CLRO",
+    "CLS",
+    "CLSD",
+    "CLSN",
+    "CLUB",
+    "CLVS",
+    "CLW",
+    "CLWT",
+    "CLX",
+    "CLXT",
+    "CM",
+    "CMA",
+    "CMBM",
+    "CMC",
+    "CMCL",
+    "CMCM",
+    "CMCO",
+    "CMCSA",
+    "CMCT",
+    "CMCTP",
+    "CMD",
+    "CME",
+    "CMFNL",
+    "CMG",
+    "CMI",
+    "CMLS",
+    "CMO",
+    "CMO^E",
+    "CMP",
+    "CMPR",
+    "CMRE",
+    "CMRE^B",
+    "CMRE^C",
+    "CMRE^D",
+    "CMRE^E",
+    "CMRX",
+    "CMS",
+    "CMSA",
+    "CMSC",
+    "CMSD",
+    "CMS^B",
+    "CMT",
+    "CMTL",
+    "CMU",
+    "CNA",
+    "CNAT",
+    "CNBKA",
+    "CNC",
+    "CNCE",
+    "CNCR",
+    "CNDT",
+    "CNET",
+    "CNF",
+    "CNFR",
+    "CNFRL",
+    "CNHI",
+    "CNI",
+    "CNK",
+    "CNMD",
+    "CNNE",
+    "CNO",
+    "CNOB",
+    "CNP",
+    "CNP^B",
+    "CNQ",
+    "CNR",
+    "CNS",
+    "CNSL",
+    "CNST",
+    "CNTF",
+    "CNTX",
+    "CNTY",
+    "CNX",
+    "CNXM",
+    "CNXN",
+    "CO",
+    "COCP",
+    "CODA",
+    "CODI",
+    "CODI^A",
+    "CODI^B",
+    "CODX",
+    "COE",
+    "COF",
+    "COF^C",
+    "COF^D",
+    "COF^F",
+    "COF^G",
+    "COF^H",
+    "COF^P",
+    "COG",
+    "COHN",
+    "COHR",
+    "COHU",
+    "COKE",
+    "COLB",
+    "COLD",
+    "COLL",
+    "COLM",
+    "COMM",
+    "COMT",
+    "CONE",
+    "CONN",
+    "COO",
+    "COOP",
+    "COP",
+    "COR",
+    "CORE",
+    "CORR",
+    "CORR^A",
+    "CORT",
+    "CORV",
+    "COST",
+    "COT",
+    "COTY",
+    "COUP",
+    "COWN",
+    "COWNL",
+    "COWNZ",
+    "CP",
+    "CPA",
+    "CPAA",
+    "CPAAU",
+    "CPAAW",
+    "CPAC",
+    "CPAH",
+    "CPB",
+    "CPE",
+    "CPF",
+    "CPG",
+    "CPHC",
+    "CPHI",
+    "CPIX",
+    "CPK",
+    "CPL",
+    "CPLG",
+    "CPLP",
+    "CPRI",
+    "CPRT",
+    "CPRX",
+    "CPS",
+    "CPSH",
+    "CPSI",
+    "CPSS",
+    "CPST",
+    "CPT",
+    "CPTA",
+    "CPTAG",
+    "CPTAL",
+    "CPTI",
+    "CQP",
+    "CR",
+    "CRAI",
+    "CRAY",
+    "CRBP",
+    "CRC",
+    "CRCM",
+    "CRD.A",
+    "CRD.B",
+    "CREE",
+    "CREG",
+    "CRESY",
+    "CREX",
+    "CREXW",
+    "CRF",
+    "CRH",
+    "CRHM",
+    "CRI",
+    "CRIS",
+    "CRK",
+    "CRL",
+    "CRM",
+    "CRMD",
+    "CRMT",
+    "CRNT",
+    "CRNX",
+    "CRON",
+    "CROX",
+    "CRR",
+    "CRS",
+    "CRSA",
+    "CRSAU",
+    "CRSAW",
+    "CRSP",
+    "CRT",
+    "CRTO",
+    "CRTX",
+    "CRUS",
+    "CRVL",
+    "CRVS",
+    "CRWD",
+    "CRWS",
+    "CRY",
+    "CRZO",
+    "CS",
+    "CSA",
+    "CSB",
+    "CSBR",
+    "CSCO",
+    "CSF",
+    "CSFL",
+    "CSGP",
+    "CSGS",
+    "CSII",
+    "CSIQ",
+    "CSL",
+    "CSLT",
+    "CSML",
+    "CSOD",
+    "CSPI",
+    "CSQ",
+    "CSS",
+    "CSSE",
+    "CSSEP",
+    "CSTE",
+    "CSTL",
+    "CSTM",
+    "CSTR",
+    "CSU",
+    "CSV",
+    "CSWC",
+    "CSWCL",
+    "CSWI",
+    "CSX",
+    "CTAA",
+    "CTAC",
+    "CTACU",
+    "CTACW",
+    "CTAS",
+    "CTA^A",
+    "CTA^B",
+    "CTB",
+    "CTBB",
+    "CTBI",
+    "CTDD",
+    "CTEK",
+    "CTEST",
+    "CTEST.E",
+    "CTEST.G",
+    "CTEST.L",
+    "CTEST.O",
+    "CTEST.S",
+    "CTEST.V",
+    "CTG",
+    "CTHR",
+    "CTIB",
+    "CTIC",
+    "CTK",
+    "CTL",
+    "CTLT",
+    "CTMX",
+    "CTO",
+    "CTR",
+    "CTRA",
+    "CTRC",
+    "CTRE",
+    "CTRM",
+    "CTRN",
+    "CTRP",
+    "CTS",
+    "CTSH",
+    "CTSO",
+    "CTST",
+    "CTT           ",
+    "CTV",
+    "CTVA",
+    "CTWS",
+    "CTXR",
+    "CTXRW",
+    "CTXS",
+    "CTY",
+    "CTZ",
+    "CUB",
+    "CUBA",
+    "CUBE",
+    "CUBI",
+    "CUBI^C",
+    "CUBI^D",
+    "CUBI^E",
+    "CUBI^F",
+    "CUE",
+    "CUI",
+    "CUK",
+    "CULP",
+    "CUO",
+    "CUR",
+    "CURO",
+    "CUTR",
+    "CUZ",
+    "CVA",
+    "CVBF",
+    "CVCO",
+    "CVCY",
+    "CVE",
+    "CVEO",
+    "CVET",
+    "CVGI",
+    "CVGW",
+    "CVI",
+    "CVIA",
+    "CVLT",
+    "CVLY",
+    "CVM",
+    "CVNA",
+    "CVR",
+    "CVRS",
+    "CVS",
+    "CVTI",
+    "CVU",
+    "CVV",
+    "CVX",
+    "CW",
+    "CWBC",
+    "CWBR",
+    "CWCO",
+    "CWEN",
+    "CWEN.A",
+    "CWH",
+    "CWK",
+    "CWST",
+    "CWT",
+    "CX",
+    "CXDC",
+    "CXE",
+    "CXH",
+    "CXO",
+    "CXP",
+    "CXSE",
+    "CXW",
+    "CY",
+    "CYAD",
+    "CYAN",
+    "CYBE",
+    "CYBR",
+    "CYCC",
+    "CYCCP",
+    "CYCN",
+    "CYD",
+    "CYH",
+    "CYOU",
+    "CYRN",
+    "CYRX",
+    "CYRXW",
+    "CYTK",
+    "CZNC",
+    "CZR",
+    "CZWI",
+    "CZZ",
+    "C^J",
+    "C^K",
+    "C^N",
+    "C^S",
+    "D",
+    "DAC",
+    "DAIO",
+    "DAKT",
+    "DAL",
+    "DALI",
+    "DAN",
+    "DAR",
+    "DARE",
+    "DAVA",
+    "DAVE",
+    "DAX",
+    "DB",
+    "DBD",
+    "DBI",
+    "DBL",
+    "DBVT",
+    "DBX",
+    "DCAR",
+    "DCF",
+    "DCI",
+    "DCIX",
+    "DCO",
+    "DCOM",
+    "DCP",
+    "DCPH",
+    "DCP^B",
+    "DCP^C",
+    "DCUE",
+    "DD",
+    "DDD",
+    "DDF",
+    "DDIV",
+    "DDMX",
+    "DDMXU",
+    "DDMXW",
+    "DDOC",
+    "DDS",
+    "DDT",
+    "DE",
+    "DEA",
+    "DEAC",
+    "DEACU",
+    "DEACW",
+    "DECK",
+    "DEI",
+    "DELL",
+    "DENN",
+    "DEO",
+    "DERM",
+    "DESP",
+    "DEST",
+    "DEX",
+    "DF",
+    "DFBH",
+    "DFBHU",
+    "DFBHW",
+    "DFFN",
+    "DFIN",
+    "DFNL",
+    "DFP",
+    "DFRG",
+    "DFS",
+    "DFVL",
+    "DFVS",
+    "DG",
+    "DGICA",
+    "DGICB",
+    "DGII",
+    "DGLD",
+    "DGLY",
+    "DGRE",
+    "DGRS",
+    "DGRW",
+    "DGSE",
+    "DGX",
+    "DHF",
+    "DHI",
+    "DHIL",
+    "DHR",
+    "DHR^A",
+    "DHT",
+    "DHX",
+    "DHXM",
+    "DHY",
+    "DIAX",
+    "DIN",
+    "DINT",
+    "DIOD",
+    "DIS",
+    "DISCA",
+    "DISCB",
+    "DISCK",
+    "DISH",
+    "DIT",
+    "DJCO",
+    "DK",
+    "DKL",
+    "DKS",
+    "DKT",
+    "DL",
+    "DLA",
+    "DLB",
+    "DLBS",
+    "DLHC",
+    "DLNG",
+    "DLNG^A",
+    "DLNG^B",
+    "DLPH",
+    "DLPN",
+    "DLPNW",
+    "DLR",
+    "DLR^C",
+    "DLR^G",
+    "DLR^I",
+    "DLR^J",
+    "DLR^K",
+    "DLTH",
+    "DLTR",
+    "DLX",
+    "DMAC",
+    "DMB",
+    "DMF",
+    "DMLP",
+    "DMO",
+    "DMPI",
+    "DMRC",
+    "DMTK",
+    "DMTKW",
+    "DNBF",
+    "DNI",
+    "DNJR",
+    "DNKN",
+    "DNLI",
+    "DNN",
+    "DNOW",
+    "DNP",
+    "DNR",
+    "DO",
+    "DOC",
+    "DOCU",
+    "DOGZ",
+    "DOMO",
+    "DOOO",
+    "DOOR",
+    "DORM",
+    "DOV",
+    "DOVA",
+    "DOW",
+    "DOX",
+    "DOYU",
+    "DPG",
+    "DPHC",
+    "DPHCU",
+    "DPHCW",
+    "DPLO",
+    "DPW",
+    "DPZ",
+    "DQ",
+    "DRAD",
+    "DRADP",
+    "DRD",
+    "DRE",
+    "DRH",
+    "DRI",
+    "DRIO",
+    "DRIOW",
+    "DRIV",
+    "DRMT",
+    "DRNA",
+    "DRQ",
+    "DRRX",
+    "DRUA",
+    "DRYS",
+    "DS",
+    "DSE",
+    "DSGX",
+    "DSKE",
+    "DSKEW",
+    "DSL",
+    "DSLV",
+    "DSM",
+    "DSPG",
+    "DSS",
+    "DSSI",
+    "DSU",
+    "DSWL",
+    "DSX",
+    "DSX^B",
+    "DS^B",
+    "DS^C",
+    "DS^D",
+    "DT",
+    "DTE",
+    "DTEA",
+    "DTF",
+    "DTIL",
+    "DTJ",
+    "DTLA^",
+    "DTQ",
+    "DTSS",
+    "DTUL",
+    "DTUS",
+    "DTV",
+    "DTW",
+    "DTY",
+    "DTYL",
+    "DTYS",
+    "DUC",
+    "DUK",
+    "DUKB",
+    "DUKH",
+    "DUK^A",
+    "DUSA",
+    "DVA",
+    "DVAX",
+    "DVD",
+    "DVLU",
+    "DVN",
+    "DVOL",
+    "DVY",
+    "DWAQ",
+    "DWAS",
+    "DWAT",
+    "DWCR",
+    "DWFI",
+    "DWIN",
+    "DWLD",
+    "DWMC",
+    "DWPP",
+    "DWSH",
+    "DWSN",
+    "DWTR",
+    "DX",
+    "DXB",
+    "DXC",
+    "DXCM",
+    "DXF",
+    "DXGE",
+    "DXJS",
+    "DXLG",
+    "DXPE",
+    "DXR",
+    "DXYN",
+    "DX^A",
+    "DX^B",
+    "DY",
+    "DYAI",
+    "DYNT",
+    "DZSI",
+    "E",
+    "EA",
+    "EAB",
+    "EAD",
+    "EAE",
+    "EAF",
+    "EAI",
+    "EARN",
+    "EARS",
+    "EAST",
+    "EAT",
+    "EB",
+    "EBAY",
+    "EBAYL",
+    "EBF",
+    "EBIX",
+    "EBIZ",
+    "EBMT",
+    "EBR",
+    "EBR.B",
+    "EBS",
+    "EBSB",
+    "EBTC",
+    "EC",
+    "ECA",
+    "ECC           ",
+    "ECCA",
+    "ECCB",
+    "ECCX",
+    "ECCY",
+    "ECF",
+    "ECF^A",
+    "ECHO",
+    "ECL",
+    "ECOL",
+    "ECOM          ",
+    "ECOR",
+    "ECOW",
+    "ECPG",
+    "ECT",
+    "ED",
+    "EDAP",
+    "EDD",
+    "EDF",
+    "EDI",
+    "EDIT",
+    "EDN",
+    "EDNT",
+    "EDRY",
+    "EDSA",
+    "EDTX",
+    "EDTXU",
+    "EDTXW",
+    "EDU",
+    "EDUC",
+    "EE",
+    "EEA",
+    "EEFT",
+    "EEI",
+    "EEMA",
+    "EEX",
+    "EFAS",
+    "EFBI",
+    "EFC",
+    "EFF",
+    "EFL",
+    "EFOI",
+    "EFR",
+    "EFSC",
+    "EFT",
+    "EFX",
+    "EGAN",
+    "EGBN",
+    "EGF",
+    "EGHT",
+    "EGI",
+    "EGIF",
+    "EGLE",
+    "EGO",
+    "EGOV",
+    "EGP",
+    "EGRX",
+    "EGY",
+    "EHC",
+    "EHI",
+    "EHR",
+    "EHT",
+    "EHTH",
+    "EIC",
+    "EIDX",
+    "EIG",
+    "EIGI",
+    "EIGR",
+    "EIM",
+    "EIX",
+    "EKSO",
+    "EL",
+    "ELAN",
+    "ELC",
+    "ELF",
+    "ELGX",
+    "ELJ",
+    "ELLO",
+    "ELMD",
+    "ELOX",
+    "ELP",
+    "ELS",
+    "ELSE",
+    "ELTK",
+    "ELU",
+    "ELVT",
+    "ELY",
+    "EMAN",
+    "EMB",
+    "EMCB",
+    "EMCF",
+    "EMCG",
+    "EMCI",
+    "EMD",
+    "EME",
+    "EMF",
+    "EMIF",
+    "EMKR",
+    "EML",
+    "EMMS",
+    "EMN",
+    "EMO",
+    "EMP",
+    "EMR",
+    "EMX",
+    "EMXC",
+    "ENB",
+    "ENBA",
+    "ENBL",
+    "ENDP",
+    "ENFC",
+    "ENG",
+    "ENIA",
+    "ENIC",
+    "ENJ",
+    "ENLC",
+    "ENLV",
+    "ENO",
+    "ENOB",
+    "ENPH",
+    "ENR",
+    "ENR^A",
+    "ENS",
+    "ENSG",
+    "ENSV",
+    "ENT",
+    "ENTA",
+    "ENTG",
+    "ENTX",
+    "ENTXW",
+    "ENV",
+    "ENVA",
+    "ENX",
+    "ENZ",
+    "ENZL",
+    "EOD",
+    "EOG",
+    "EOI",
+    "EOLS",
+    "EOS",
+    "EOT",
+    "EPAM",
+    "EPAY",
+    "EPC",
+    "EPD",
+    "EPIX",
+    "EPM",
+    "EPR",
+    "EPRT",
+    "EPR^C",
+    "EPR^E",
+    "EPR^G",
+    "EPSN",
+    "EPZM",
+    "EP^C",
+    "EQ",
+    "EQBK",
+    "EQC",
+    "EQC^D",
+    "EQH",
+    "EQIX",
+    "EQM",
+    "EQNR",
+    "EQR",
+    "EQRR",
+    "EQS",
+    "EQT",
+    "ERA",
+    "ERC",
+    "ERF",
+    "ERH",
+    "ERI",
+    "ERIC",
+    "ERIE",
+    "ERII",
+    "ERJ",
+    "EROS",
+    "ERYP",
+    "ES",
+    "ESBK",
+    "ESCA",
+    "ESE",
+    "ESEA",
+    "ESG",
+    "ESGD",
+    "ESGE",
+    "ESGG",
+    "ESGR",
+    "ESGRO",
+    "ESGRP",
+    "ESGU",
+    "ESI",
+    "ESLT",
+    "ESNT",
+    "ESP",
+    "ESPR",
+    "ESQ",
+    "ESRT",
+    "ESS",
+    "ESSA",
+    "ESTA",
+    "ESTC",
+    "ESTE",
+    "ESTR",
+    "ESTRW",
+    "ESXB",
+    "ET",
+    "ETB",
+    "ETFC",
+    "ETG",
+    "ETH",
+    "ETI^",
+    "ETJ",
+    "ETM",
+    "ETN",
+    "ETO",
+    "ETON",
+    "ETP^C",
+    "ETP^D",
+    "ETP^E",
+    "ETR",
+    "ETRN",
+    "ETSY",
+    "ETTX",
+    "ETV",
+    "ETW",
+    "ETX           ",
+    "ETY",
+    "EUFN",
+    "EURN",
+    "EV",
+    "EVA",
+    "EVBG",
+    "EVBN",
+    "EVC",
+    "EVER",
+    "EVF",
+    "EVFM",
+    "EVG",
+    "EVGBC",
+    "EVGN",
+    "EVH",
+    "EVI",
+    "EVK",
+    "EVLMC",
+    "EVLO",
+    "EVM",
+    "EVN",
+    "EVOK",
+    "EVOL",
+    "EVOP",
+    "EVR",
+    "EVRG",
+    "EVRI",
+    "EVSI",
+    "EVSIW",
+    "EVSTC",
+    "EVT",
+    "EVTC",
+    "EVV",
+    "EVY",
+    "EW",
+    "EWBC",
+    "EWJE",
+    "EWJV",
+    "EWZS",
+    "EXAS",
+    "EXC",
+    "EXD",
+    "EXEL",
+    "EXFO",
+    "EXG",
+    "EXK",
+    "EXLS",
+    "EXP",
+    "EXPC",
+    "EXPCU",
+    "EXPD",
+    "EXPE",
+    "EXPI",
+    "EXPO",
+    "EXPR",
+    "EXR",
+    "EXTN",
+    "EXTR",
+    "EYE",
+    "EYEG",
+    "EYEGW",
+    "EYEN",
+    "EYES",
+    "EYESW",
+    "EYPT",
+    "EZPW",
+    "EZT",
+    "F",
+    "FAAR",
+    "FAB",
+    "FAD",
+    "FAF",
+    "FALN",
+    "FAM",
+    "FAMI",
+    "FANG",
+    "FANH",
+    "FARM",
+    "FARO",
+    "FAST",
+    "FAT",
+    "FATE",
+    "FAX",
+    "FB",
+    "FBC",
+    "FBHS",
+    "FBIO",
+    "FBIOP",
+    "FBIZ",
+    "FBK",
+    "FBM",
+    "FBMS",
+    "FBNC",
+    "FBP",
+    "FBSS",
+    "FBZ",
+    "FC",
+    "FCA",
+    "FCAL",
+    "FCAN",
+    "FCAP",
+    "FCAU",
+    "FCBC",
+    "FCBP",
+    "FCCO",
+    "FCCY",
+    "FCEF",
+    "FCEL",
+    "FCF",
+    "FCFS",
+    "FCN",
+    "FCNCA",
+    "FCO",
+    "FCPT",
+    "FCSC",
+    "FCT",
+    "FCVT",
+    "FCX",
+    "FDBC",
+    "FDEF",
+    "FDEU",
+    "FDIV",
+    "FDNI",
+    "FDP",
+    "FDS",
+    "FDT",
+    "FDTS",
+    "FDUS",
+    "FDUSL",
+    "FDUSZ",
+    "FDX",
+    "FE",
+    "FEDU",
+    "FEI           ",
+    "FEIM",
+    "FELE",
+    "FELP",
+    "FEM",
+    "FEMB",
+    "FEMS",
+    "FEN",
+    "FENC",
+    "FENG",
+    "FEO",
+    "FEP",
+    "FET",
+    "FEUZ",
+    "FEX",
+    "FEYE",
+    "FF",
+    "FFA",
+    "FFBC",
+    "FFBW",
+    "FFC",
+    "FFG",
+    "FFHL",
+    "FFIC",
+    "FFIN",
+    "FFIV",
+    "FFNW",
+    "FFWM",
+    "FG",
+    "FG.WS",
+    "FGB",
+    "FGBI",
+    "FGEN",
+    "FGM",
+    "FGP",
+    "FHB",
+    "FHK",
+    "FHL",
+    "FHN",
+    "FHN^A",
+    "FI",
+    "FIBK",
+    "FICO",
+    "FID",
+    "FIF",
+    "FII",
+    "FINS",
+    "FINX",
+    "FIS",
+    "FISI",
+    "FISV",
+    "FIT",
+    "FITB",
+    "FITBI",
+    "FITBP",
+    "FIV",
+    "FIVE",
+    "FIVN",
+    "FIX",
+    "FIXD",
+    "FIXX",
+    "FIZZ",
+    "FJP",
+    "FKLY",
+    "FKO",
+    "FKU",
+    "FL",
+    "FLAG",
+    "FLAT",
+    "FLC",
+    "FLDM",
+    "FLEX",
+    "FLGT",
+    "FLIC",
+    "FLIR",
+    "FLL",
+    "FLLCU",
+    "FLMN",
+    "FLMNW",
+    "FLN",
+    "FLNG",
+    "FLNT",
+    "FLO",
+    "FLOW",
+    "FLR",
+    "FLS",
+    "FLT",
+    "FLUX",
+    "FLWR",
+    "FLWS",
+    "FLXN",
+    "FLXS",
+    "FLY",
+    "FMAO",
+    "FMAX",
+    "FMB",
+    "FMBH",
+    "FMBI",
+    "FMC",
+    "FMCI",
+    "FMCIU",
+    "FMCIW",
+    "FMHI",
+    "FMK",
+    "FMN",
+    "FMNB",
+    "FMO",
+    "FMS",
+    "FMX",
+    "FMY",
+    "FN",
+    "FNB",
+    "FNB^E",
+    "FNCB",
+    "FND",
+    "FNF",
+    "FNHC",
+    "FNJN",
+    "FNK",
+    "FNKO",
+    "FNLC",
+    "FNSR",
+    "FNV",
+    "FNWB",
+    "FNX",
+    "FNY",
+    "FOCS",
+    "FOE",
+    "FOF",
+    "FOLD",
+    "FOMX",
+    "FONR",
+    "FOR",
+    "FORD",
+    "FORK",
+    "FORM",
+    "FORR",
+    "FORTY",
+    "FOSL",
+    "FOX",
+    "FOXA",
+    "FOXF",
+    "FPA",
+    "FPAC",
+    "FPAC.U",
+    "FPAC.WS",
+    "FPAY",
+    "FPAYW",
+    "FPF",
+    "FPH",
+    "FPI",
+    "FPI^B",
+    "FPL",
+    "FPRX",
+    "FPXE",
+    "FPXI",
+    "FR",
+    "FRA",
+    "FRAC",
+    "FRAF",
+    "FRAN",
+    "FRBA",
+    "FRBK",
+    "FRC",
+    "FRC^D",
+    "FRC^F",
+    "FRC^G",
+    "FRC^H",
+    "FRC^I",
+    "FRD",
+    "FRED",
+    "FRGI",
+    "FRME",
+    "FRO",
+    "FRPH",
+    "FRPT",
+    "FRSX",
+    "FRT",
+    "FRTA",
+    "FRT^C",
+    "FSB",
+    "FSBC",
+    "FSBW",
+    "FSCT",
+    "FSD",
+    "FSEA",
+    "FSFG",
+    "FSI",
+    "FSK",
+    "FSLR",
+    "FSLY",
+    "FSM",
+    "FSP",
+    "FSS",
+    "FSTR",
+    "FSV",
+    "FSZ",
+    "FT",
+    "FTA",
+    "FTAC",
+    "FTACU",
+    "FTACW",
+    "FTAG",
+    "FTAI",
+    "FTC",
+    "FTCH",
+    "FTCS",
+    "FTDR",
+    "FTEK",
+    "FTEO",
+    "FTF",
+    "FTFT",
+    "FTGC",
+    "FTHI",
+    "FTI",
+    "FTK",
+    "FTLB",
+    "FTNT",
+    "FTNW",
+    "FTR",
+    "FTRI",
+    "FTS",
+    "FTSI",
+    "FTSL",
+    "FTSM",
+    "FTSV",
+    "FTV",
+    "FTV^A",
+    "FTXD",
+    "FTXG",
+    "FTXH",
+    "FTXL",
+    "FTXN",
+    "FTXO",
+    "FTXR",
+    "FUL",
+    "FULC",
+    "FULT",
+    "FUN",
+    "FUNC",
+    "FUND",
+    "FUSB",
+    "FUV",
+    "FV",
+    "FVC",
+    "FVCB",
+    "FVE",
+    "FVRR",
+    "FWONA",
+    "FWONK",
+    "FWP",
+    "FWRD",
+    "FXNC",
+    "FYC",
+    "FYT",
+    "FYX",
+    "F^B",
+    "G",
+    "GAB",
+    "GABC",
+    "GAB^D",
+    "GAB^G",
+    "GAB^H",
+    "GAB^J",
+    "GAIA",
+    "GAIN",
+    "GAINL",
+    "GAINM",
+    "GALT",
+    "GAM",
+    "GAM^B",
+    "GARS",
+    "GASS",
+    "GATX",
+    "GBAB",
+    "GBCI",
+    "GBDC",
+    "GBL",
+    "GBLI",
+    "GBLIL",
+    "GBLIZ",
+    "GBLK",
+    "GBR",
+    "GBT",
+    "GBX",
+    "GCAP",
+    "GCBC",
+    "GCI",
+    "GCO",
+    "GCP",
+    "GCV",
+    "GCVRZ",
+    "GCV^B",
+    "GD",
+    "GDDY",
+    "GDEN",
+    "GDI",
+    "GDL",
+    "GDL^C",
+    "GDO",
+    "GDOT",
+    "GDP",
+    "GDS",
+    "GDV",
+    "GDV^A",
+    "GDV^D",
+    "GDV^G",
+    "GDV^H",
+    "GE",
+    "GEC",
+    "GECC",
+    "GECCL",
+    "GECCM",
+    "GECCN",
+    "GEF",
+    "GEF.B",
+    "GEL",
+    "GEMP",
+    "GEN           ",
+    "GENC",
+    "GENE",
+    "GENY",
+    "GEO",
+    "GEOS",
+    "GER",
+    "GERN",
+    "GES",
+    "GEVO",
+    "GF",
+    "GFED",
+    "GFF",
+    "GFI",
+    "GFN",
+    "GFNCP",
+    "GFNSL",
+    "GFY",
+    "GGAL",
+    "GGB",
+    "GGG",
+    "GGM",
+    "GGN",
+    "GGN^B",
+    "GGO",
+    "GGO^A",
+    "GGT",
+    "GGT^B",
+    "GGT^E",
+    "GGZ",
+    "GGZ^A",
+    "GH",
+    "GHC",
+    "GHDX",
+    "GHG",
+    "GHL",
+    "GHM",
+    "GHSI",
+    "GHY",
+    "GIB",
+    "GIFI",
+    "GIG",
+    "GIG.U",
+    "GIG.WS",
+    "GIGE",
+    "GIGM",
+    "GIG~",
+    "GIII",
+    "GIL",
+    "GILD",
+    "GILT",
+    "GIM",
+    "GIS",
+    "GIX",
+    "GIX.U",
+    "GIX.WS",
+    "GIX~",
+    "GJH",
+    "GJO",
+    "GJP",
+    "GJR",
+    "GJS",
+    "GJT",
+    "GJV",
+    "GKOS",
+    "GL",
+    "GLAC",
+    "GLACR",
+    "GLACU",
+    "GLACW",
+    "GLAD",
+    "GLADD",
+    "GLADN",
+    "GLBS",
+    "GLBZ",
+    "GLDD",
+    "GLDI",
+    "GLG",
+    "GLIBA",
+    "GLIBP",
+    "GLMD",
+    "GLNG",
+    "GLO",
+    "GLOB",
+    "GLOG",
+    "GLOG^A",
+    "GLOP",
+    "GLOP^A",
+    "GLOP^B",
+    "GLOP^C",
+    "GLOW",
+    "GLP",
+    "GLPG",
+    "GLPI",
+    "GLP^A",
+    "GLQ",
+    "GLRE",
+    "GLT",
+    "GLU",
+    "GLUU",
+    "GLU^A",
+    "GLU^B",
+    "GLV",
+    "GLW",
+    "GLYC",
+    "GL^C",
+    "GM",
+    "GMAB",
+    "GMDA",
+    "GME",
+    "GMED",
+    "GMHI",
+    "GMHIU",
+    "GMHIW",
+    "GMLP",
+    "GMLPP",
+    "GMO",
+    "GMRE",
+    "GMRE^A",
+    "GMS",
+    "GMTA",
+    "GMZ",
+    "GNC",
+    "GNCA",
+    "GNE",
+    "GNE^A",
+    "GNFT",
+    "GNK",
+    "GNL",
+    "GNLN",
+    "GNL^A",
+    "GNMA",
+    "GNMK",
+    "GNMX",
+    "GNOM",
+    "GNPX",
+    "GNRC",
+    "GNST",
+    "GNT",
+    "GNTX",
+    "GNTY",
+    "GNT^A",
+    "GNUS",
+    "GNW",
+    "GO",
+    "GOF",
+    "GOGL",
+    "GOGO",
+    "GOL",
+    "GOLD",
+    "GOLF",
+    "GOOD",
+    "GOODM",
+    "GOODO",
+    "GOODP",
+    "GOOG",
+    "GOOGL",
+    "GOOS",
+    "GORO",
+    "GOSS",
+    "GPAQ",
+    "GPAQU",
+    "GPAQW",
+    "GPC",
+    "GPI",
+    "GPJA",
+    "GPK",
+    "GPL",
+    "GPM",
+    "GPMT",
+    "GPN",
+    "GPOR",
+    "GPP",
+    "GPRE",
+    "GPRK",
+    "GPRO",
+    "GPS",
+    "GPX",
+    "GRA",
+    "GRAF",
+    "GRAF.U",
+    "GRAF.WS",
+    "GRAM",
+    "GRBK",
+    "GRC",
+    "GRF",
+    "GRFS",
+    "GRID",
+    "GRIF",
+    "GRIN",
+    "GRMN",
+    "GRNQ",
+    "GROW",
+    "GRP.U",
+    "GRPN",
+    "GRSH",
+    "GRSHU",
+    "GRSHW",
+    "GRTS",
+    "GRUB",
+    "GRVY",
+    "GRX",
+    "GRX^A",
+    "GRX^B",
+    "GS",
+    "GSAH",
+    "GSAH.U",
+    "GSAH.WS",
+    "GSAT",
+    "GSB",
+    "GSBC",
+    "GSBD",
+    "GSH",
+    "GSHD",
+    "GSIT",
+    "GSK",
+    "GSKY",
+    "GSL",
+    "GSL^B",
+    "GSM",
+    "GSS",
+    "GSUM",
+    "GSV",
+    "GSX",
+    "GS^A",
+    "GS^C",
+    "GS^D",
+    "GS^J",
+    "GS^K",
+    "GS^N",
+    "GT",
+    "GTE",
+    "GTES",
+    "GTHX",
+    "GTIM",
+    "GTLS",
+    "GTN",
+    "GTN.A",
+    "GTS",
+    "GTT",
+    "GTX",
+    "GTY",
+    "GTYH",
+    "GULF",
+    "GURE",
+    "GUT",
+    "GUT^A",
+    "GUT^C",
+    "GV",
+    "GVA",
+    "GVP",
+    "GWB",
+    "GWGH",
+    "GWPH",
+    "GWR",
+    "GWRE",
+    "GWRS",
+    "GWW",
+    "GXGX",
+    "GXGXU",
+    "GXGXW",
+    "GYB",
+    "GYC",
+    "GYRO",
+    "H",
+    "HA",
+    "HABT",
+    "HAE",
+    "HAFC",
+    "HAIN",
+    "HAIR",
+    "HAL",
+    "HALL",
+    "HALO",
+    "HARP",
+    "HAS",
+    "HASI",
+    "HAYN",
+    "HBAN",
+    "HBANN",
+    "HBANO",
+    "HBB",
+    "HBCP",
+    "HBI",
+    "HBIO",
+    "HBM",
+    "HBMD",
+    "HBNC",
+    "HBP",
+    "HCA",
+    "HCAC",
+    "HCACU",
+    "HCACW",
+    "HCAP",
+    "HCAPZ",
+    "HCAT",
+    "HCC",
+    "HCCH",
+    "HCCHR",
+    "HCCHU",
+    "HCCHW",
+    "HCCI",
+    "HCFT",
+    "HCHC",
+    "HCI",
+    "HCKT",
+    "HCM",
+    "HCP",
+    "HCR",
+    "HCSG",
+    "HCXY",
+    "HCXZ",
+    "HD",
+    "HDB",
+    "HDS",
+    "HDSN",
+    "HE",
+    "HEAR",
+    "HEBT",
+    "HEES",
+    "HEI",
+    "HEI.A",
+    "HELE",
+    "HEP",
+    "HEPA",
+    "HEQ",
+    "HERD",
+    "HES",
+    "HESM",
+    "HEWG",
+    "HEXO",
+    "HFBL",
+    "HFC",
+    "HFFG",
+    "HFRO",
+    "HFRO^A",
+    "HFWA",
+    "HGH",
+    "HGLB",
+    "HGSH",
+    "HGV",
+    "HHC",
+    "HHHH",
+    "HHHHR",
+    "HHHHU",
+    "HHHHW",
+    "HHR",
+    "HHS",
+    "HHT",
+    "HI",
+    "HIBB",
+    "HIE",
+    "HIFS",
+    "HIG",
+    "HIG^G",
+    "HIHO",
+    "HII",
+    "HIIQ",
+    "HIL",
+    "HIMX",
+    "HIO",
+    "HIW",
+    "HIX",
+    "HJLI",
+    "HJLIW",
+    "HJV",
+    "HKIB",
+    "HL",
+    "HLAL",
+    "HLF",
+    "HLG",
+    "HLI",
+    "HLIO",
+    "HLIT",
+    "HLM^",
+    "HLNE",
+    "HLT",
+    "HLX",
+    "HL^B",
+    "HMC",
+    "HMG",
+    "HMHC",
+    "HMI",
+    "HMLP",
+    "HMLP^A",
+    "HMN",
+    "HMNF",
+    "HMST",
+    "HMSY",
+    "HMTV",
+    "HMY",
+    "HNDL",
+    "HNGR",
+    "HNI",
+    "HNNA",
+    "HNP",
+    "HNRG",
+    "HNW",
+    "HOFT",
+    "HOG",
+    "HOLI",
+    "HOLX",
+    "HOMB",
+    "HOME",
+    "HON",
+    "HONE",
+    "HOOK",
+    "HOPE",
+    "HOS",
+    "HOTH",
+    "HOV",
+    "HOVNP",
+    "HP",
+    "HPE",
+    "HPF",
+    "HPI",
+    "HPJ",
+    "HPP",
+    "HPQ",
+    "HPR",
+    "HPS",
+    "HPT",
+    "HQH",
+    "HQI",
+    "HQL",
+    "HQY",
+    "HR",
+    "HRB",
+    "HRC",
+    "HRI",
+    "HRL",
+    "HROW",
+    "HRTG",
+    "HRTX",
+    "HRZN",
+    "HSAC",
+    "HSACU",
+    "HSACW",
+    "HSBC",
+    "HSBC^A",
+    "HSC",
+    "HSDT",
+    "HSGX",
+    "HSIC",
+    "HSII",
+    "HSKA",
+    "HSON",
+    "HST",
+    "HSTM",
+    "HSY",
+    "HT",
+    "HTA",
+    "HTBI",
+    "HTBK",
+    "HTBX",
+    "HTD",
+    "HTFA",
+    "HTGC",
+    "HTGM",
+    "HTH",
+    "HTHT",
+    "HTLD",
+    "HTLF",
+    "HTY",
+    "HTZ",
+    "HT^C",
+    "HT^D",
+    "HT^E",
+    "HUBB",
+    "HUBG",
+    "HUBS",
+    "HUD",
+    "HUM",
+    "HUN",
+    "HURC",
+    "HURN",
+    "HUSA",
+    "HUYA",
+    "HVBC",
+    "HVT",
+    "HVT.A",
+    "HWBK",
+    "HWC",
+    "HWCC",
+    "HWCPL",
+    "HWKN",
+    "HX",
+    "HXL",
+    "HY",
+    "HYAC",
+    "HYACU",
+    "HYACW",
+    "HYB",
+    "HYI",
+    "HYLS",
+    "HYND",
+    "HYRE",
+    "HYT",
+    "HYXE",
+    "HYZD",
+    "HZN",
+    "HZNP",
+    "HZO",
+    "I",
+    "IAA",
+    "IAC",
+    "IAE",
+    "IAF",
+    "IAG",
+    "IART",
+    "IBA",
+    "IBB",
+    "IBCP",
+    "IBEX",
+    "IBIO",
+    "IBKC",
+    "IBKCN",
+    "IBKCO",
+    "IBKCP",
+    "IBM",
+    "IBN",
+    "IBO",
+    "IBOC",
+    "IBP",
+    "IBTX",
+    "IBUY",
+    "ICAD",
+    "ICBK",
+    "ICCC",
+    "ICCH",
+    "ICD",
+    "ICE",
+    "ICFI",
+    "ICHR",
+    "ICL",
+    "ICLK",
+    "ICLN",
+    "ICLR",
+    "ICMB",
+    "ICON",
+    "ICPT",
+    "ICUI",
+    "IDA",
+    "IDCC",
+    "IDE",
+    "IDEX",
+    "IDLB",
+    "IDN",
+    "IDRA",
+    "IDSA",
+    "IDSY",
+    "IDT",
+    "IDXG",
+    "IDXX",
+    "IDYA",
+    "IEA",
+    "IEAWW",
+    "IEC",
+    "IEF",
+    "IEI",
+    "IEP",
+    "IESC",
+    "IEUS",
+    "IEX",
+    "IFEU",
+    "IFF",
+    "IFFT",
+    "IFGL",
+    "IFMK",
+    "IFN",
+    "IFRX",
+    "IFS",
+    "IFV",
+    "IGA",
+    "IGC",
+    "IGD",
+    "IGF",
+    "IGI",
+    "IGIB",
+    "IGLD",
+    "IGLE",
+    "IGOV",
+    "IGR",
+    "IGSB",
+    "IGT",
+    "IHC",
+    "IHD",
+    "IHG",
+    "IHIT",
+    "IHRT",
+    "IHT",
+    "IHTA",
+    "IID",
+    "IIF",
+    "III",
+    "IIIN",
+    "IIIV",
+    "IIM",
+    "IIN",
+    "IIPR",
+    "IIPR^A",
+    "IIVI",
+    "IJT",
+    "IKNX",
+    "ILMN",
+    "ILPT",
+    "IMAC",
+    "IMACW",
+    "IMAX",
+    "IMBI",
+    "IMGN",
+    "IMH",
+    "IMI",
+    "IMKTA",
+    "IMMP",
+    "IMMR",
+    "IMMU",
+    "IMO",
+    "IMOS",
+    "IMRN",
+    "IMRNW",
+    "IMTE",
+    "IMUX",
+    "IMV",
+    "IMXI",
+    "INAP",
+    "INB",
+    "INBK",
+    "INBKL",
+    "INBKZ",
+    "INCY",
+    "INDB",
+    "INDY",
+    "INF",
+    "INFI",
+    "INFN",
+    "INFO",
+    "INFR",
+    "INFU",
+    "INFY",
+    "ING",
+    "INGN",
+    "INGR",
+    "INMB",
+    "INMD",
+    "INN",
+    "INNT",
+    "INN^D",
+    "INN^E",
+    "INO",
+    "INOD",
+    "INOV",
+    "INPX",
+    "INS",
+    "INSE",
+    "INSG",
+    "INSI",
+    "INSM",
+    "INSP",
+    "INST",
+    "INSU",
+    "INSUU",
+    "INSUW",
+    "INSW",
+    "INSW^A",
+    "INT",
+    "INTC",
+    "INTG",
+    "INTL",
+    "INTT",
+    "INTU",
+    "INUV",
+    "INVA",
+    "INVE",
+    "INVH",
+    "INWK",
+    "INXN",
+    "IO",
+    "IONS",
+    "IOR",
+    "IOSP",
+    "IOTS",
+    "IOVA",
+    "IP",
+    "IPAR",
+    "IPB",
+    "IPDN",
+    "IPG",
+    "IPGP",
+    "IPHI",
+    "IPHS",
+    "IPI",
+    "IPKW",
+    "IPLDP",
+    "IPOA",
+    "IPOA.U",
+    "IPOA.WS",
+    "IPWR",
+    "IQ",
+    "IQI",
+    "IQV",
+    "IR",
+    "IRBT",
+    "IRCP",
+    "IRDM",
+    "IRET",
+    "IRET^C",
+    "IRIX",
+    "IRL",
+    "IRM",
+    "IRMD",
+    "IROQ",
+    "IRR",
+    "IRS",
+    "IRT",
+    "IRTC",
+    "IRWD",
+    "ISBC",
+    "ISCA",
+    "ISD",
+    "ISDR",
+    "ISDS",
+    "ISDX",
+    "ISEE",
+    "ISEM",
+    "ISG",
+    "ISHG",
+    "ISIG",
+    "ISNS",
+    "ISR",
+    "ISRG",
+    "ISRL",
+    "ISSC",
+    "ISTB",
+    "ISTR",
+    "IT",
+    "ITCB",
+    "ITCI",
+    "ITEQ",
+    "ITGR",
+    "ITI",
+    "ITIC",
+    "ITMR",
+    "ITP",
+    "ITRI",
+    "ITRM",
+    "ITRN",
+    "ITT",
+    "ITUB",
+    "ITW",
+    "IUS",
+    "IUSB",
+    "IUSG",
+    "IUSS",
+    "IUSV",
+    "IVAC",
+    "IVC",
+    "IVH",
+    "IVR",
+    "IVR^A",
+    "IVR^B",
+    "IVR^C",
+    "IVZ",
+    "IX",
+    "IXUS",
+    "IZEA",
+    "JACK",
+    "JAG",
+    "JAGX",
+    "JAKK",
+    "JAN",
+    "JASN",
+    "JAX",
+    "JAZZ",
+    "JBGS",
+    "JBHT",
+    "JBK",
+    "JBL",
+    "JBLU",
+    "JBN",
+    "JBR",
+    "JBSS",
+    "JBT",
+    "JCAP",
+    "JCAP^B",
+    "JCE",
+    "JCI",
+    "JCO",
+    "JCOM",
+    "JCP",
+    "JCS",
+    "JCTCF",
+    "JD",
+    "JDD",
+    "JE",
+    "JEC",
+    "JEF",
+    "JELD",
+    "JEMD",
+    "JEQ",
+    "JE^A",
+    "JFIN",
+    "JFK",
+    "JFKKR",
+    "JFKKU",
+    "JFKKW",
+    "JFR",
+    "JFU",
+    "JG",
+    "JGH",
+    "JHAA",
+    "JHB",
+    "JHD",
+    "JHG",
+    "JHI",
+    "JHS",
+    "JHX",
+    "JHY",
+    "JILL",
+    "JJSF",
+    "JKHY",
+    "JKI",
+    "JKS",
+    "JLL",
+    "JLS",
+    "JMEI",
+    "JMF",
+    "JMIA",
+    "JMLP",
+    "JMM",
+    "JMP",
+    "JMPB",
+    "JMPD",
+    "JMT",
+    "JMU",
+    "JNCE",
+    "JNJ",
+    "JNPR",
+    "JOB",
+    "JOBS",
+    "JOE",
+    "JOF",
+    "JOUT",
+    "JP",
+    "JPC",
+    "JPI",
+    "JPM",
+    "JPM^A",
+    "JPM^C",
+    "JPM^D",
+    "JPM^F",
+    "JPM^G",
+    "JPM^H",
+    "JPS",
+    "JPT",
+    "JQC",
+    "JRI",
+    "JRJC",
+    "JRO",
+    "JRS",
+    "JRSH",
+    "JRVR",
+    "JSD",
+    "JSM",
+    "JSMD",
+    "JSML",
+    "JT",
+    "JTA",
+    "JTD",
+    "JVA",
+    "JW.A",
+    "JW.B",
+    "JWN",
+    "JYNT",
+    "K",
+    "KAI",
+    "KALA",
+    "KALU",
+    "KALV",
+    "KAMN",
+    "KAR",
+    "KB",
+    "KBAL",
+    "KBH",
+    "KBLM",
+    "KBLMR",
+    "KBLMU",
+    "KBLMW",
+    "KBR",
+    "KBSF",
+    "KBWB",
+    "KBWD",
+    "KBWP",
+    "KBWR",
+    "KBWY",
+    "KCAPL",
+    "KDMN",
+    "KDP",
+    "KE",
+    "KEG",
+    "KELYA",
+    "KELYB",
+    "KEM",
+    "KEN",
+    "KEP",
+    "KEQU",
+    "KERN",
+    "KERNW",
+    "KEX",
+    "KEY",
+    "KEYS",
+    "KEY^I",
+    "KEY^J",
+    "KEY^K",
+    "KF",
+    "KFFB",
+    "KFRC",
+    "KFS",
+    "KFY",
+    "KGC",
+    "KGJI",
+    "KHC",
+    "KIDS",
+    "KIM",
+    "KIM^I.CL",
+    "KIM^J",
+    "KIM^K.CL",
+    "KIM^L",
+    "KIM^M",
+    "KIN",
+    "KINS",
+    "KIO",
+    "KIQ",
+    "KIRK",
+    "KKR",
+    "KKR^A",
+    "KKR^B",
+    "KL",
+    "KLAC",
+    "KLDO",
+    "KLIC",
+    "KLXE",
+    "KMB",
+    "KMDA",
+    "KMF",
+    "KMI",
+    "KMPH",
+    "KMPR",
+    "KMT",
+    "KMX",
+    "KN",
+    "KNDI",
+    "KNL",
+    "KNOP",
+    "KNSA",
+    "KNSL",
+    "KNX",
+    "KO",
+    "KOD",
+    "KODK",
+    "KOF",
+    "KOOL",
+    "KOP",
+    "KOPN",
+    "KOS",
+    "KOSS",
+    "KPTI",
+    "KR",
+    "KRA",
+    "KRC",
+    "KREF",
+    "KRG",
+    "KRMA",
+    "KRNT",
+    "KRNY",
+    "KRO",
+    "KRP",
+    "KRTX",
+    "KRUS",
+    "KRYS",
+    "KSM",
+    "KSS",
+    "KSU",
+    "KSU^",
+    "KT",
+    "KTB",
+    "KTCC",
+    "KTF",
+    "KTH",
+    "KTN",
+    "KTOS",
+    "KTOV",
+    "KTOVW",
+    "KTP",
+    "KURA",
+    "KVHI",
+    "KW",
+    "KWEB",
+    "KWR",
+    "KXIN",
+    "KYN",
+    "KYN^F",
+    "KZIA",
+    "KZR",
+    "L",
+    "LAC",
+    "LACQ",
+    "LACQU",
+    "LACQW",
+    "LAD",
+    "LADR",
+    "LAIX",
+    "LAKE",
+    "LAMR",
+    "LANC",
+    "LAND",
+    "LANDP",
+    "LARK",
+    "LASR",
+    "LAUR",
+    "LAWS",
+    "LAZ",
+    "LAZY",
+    "LB",
+    "LBAI",
+    "LBC",
+    "LBRDA",
+    "LBRDK",
+    "LBRT",
+    "LBTYA",
+    "LBTYB",
+    "LBTYK",
+    "LBY",
+    "LBYAV",
+    "LBYKV",
+    "LC",
+    "LCA",
+    "LCAHU",
+    "LCAHW",
+    "LCI",
+    "LCII",
+    "LCNB",
+    "LCTX",
+    "LCUT",
+    "LDL",
+    "LDOS",
+    "LDP",
+    "LDRI",
+    "LDSF",
+    "LE",
+    "LEA",
+    "LEAF",
+    "LECO",
+    "LEDS",
+    "LEE",
+    "LEG",
+    "LEGH",
+    "LEGR",
+    "LEJU",
+    "LEN",
+    "LEN.B",
+    "LEO",
+    "LEU",
+    "LEVI",
+    "LEVL",
+    "LFAC",
+    "LFACU",
+    "LFACW",
+    "LFC",
+    "LFUS",
+    "LFVN",
+    "LGC",
+    "LGC.U",
+    "LGC.WS",
+    "LGF.A",
+    "LGF.B",
+    "LGI",
+    "LGIH",
+    "LGL",
+    "LGND",
+    "LH",
+    "LHC",
+    "LHC.U",
+    "LHC.WS",
+    "LHCG",
+    "LHX",
+    "LIFE",
+    "LII",
+    "LILA",
+    "LILAK",
+    "LIN",
+    "LINC",
+    "LIND",
+    "LINX",
+    "LIQT",
+    "LITB",
+    "LITE",
+    "LIVE",
+    "LIVN",
+    "LIVX",
+    "LJPC",
+    "LK",
+    "LKCO",
+    "LKFN",
+    "LKOR",
+    "LKQ",
+    "LKSD",
+    "LL",
+    "LLEX",
+    "LLIT",
+    "LLNW",
+    "LLY",
+    "LM",
+    "LMAT",
+    "LMB",
+    "LMBS",
+    "LMFA",
+    "LMFAW",
+    "LMHA",
+    "LMHB",
+    "LMNR",
+    "LMNX",
+    "LMRK",
+    "LMRKN",
+    "LMRKO",
+    "LMRKP",
+    "LMST",
+    "LMT",
+    "LN",
+    "LNC",
+    "LND",
+    "LNDC",
+    "LNG",
+    "LNGR",
+    "LNN",
+    "LNT",
+    "LNTH",
+    "LOAC",
+    "LOACR",
+    "LOACU",
+    "LOACW",
+    "LOAN",
+    "LOB",
+    "LOCO",
+    "LODE",
+    "LOGC",
+    "LOGI",
+    "LOGM",
+    "LOMA",
+    "LONE",
+    "LOOP",
+    "LOPE",
+    "LOR",
+    "LORL",
+    "LOV",
+    "LOVE",
+    "LOW",
+    "LPCN",
+    "LPG",
+    "LPI",
+    "LPL",
+    "LPLA",
+    "LPSN",
+    "LPT",
+    "LPTH",
+    "LPTX",
+    "LPX",
+    "LQDA",
+    "LQDT",
+    "LRAD",
+    "LRCX",
+    "LRGE",
+    "LRN",
+    "LSBK",
+    "LSCC",
+    "LSI",
+    "LSTR",
+    "LSXMA",
+    "LSXMB",
+    "LSXMK",
+    "LTBR",
+    "LTC",
+    "LTHM",
+    "LTM",
+    "LTRPA",
+    "LTRPB",
+    "LTRX",
+    "LTS",
+    "LTSF",
+    "LTSH",
+    "LTSK",
+    "LTSL",
+    "LTS^A",
+    "LTXB",
+    "LUB",
+    "LULU",
+    "LUNA",
+    "LUNG",
+    "LUV",
+    "LVGO",
+    "LVHD",
+    "LVS",
+    "LW",
+    "LWAY",
+    "LX",
+    "LXFR",
+    "LXP",
+    "LXP^C",
+    "LXRX",
+    "LXU",
+    "LYB",
+    "LYFT",
+    "LYG",
+    "LYL",
+    "LYTS",
+    "LYV",
+    "LZB",
+    "M",
+    "MA",
+    "MAA",
+    "MAA^I",
+    "MAC",
+    "MACK",
+    "MAG",
+    "MAGS",
+    "MAIN",
+    "MAMS",
+    "MAN",
+    "MANH",
+    "MANT",
+    "MANU",
+    "MAR",
+    "MARA",
+    "MARK",
+    "MARPS",
+    "MAS",
+    "MASI",
+    "MAT",
+    "MATW",
+    "MATX",
+    "MAV",
+    "MAXR",
+    "MAYS",
+    "MBB",
+    "MBCN",
+    "MBI",
+    "MBII",
+    "MBIN",
+    "MBINO",
+    "MBINP",
+    "MBIO",
+    "MBOT",
+    "MBRX",
+    "MBSD",
+    "MBT",
+    "MBUU",
+    "MBWM",
+    "MC",
+    "MCA",
+    "MCB",
+    "MCBC",
+    "MCC",
+    "MCD",
+    "MCEF",
+    "MCEP",
+    "MCF",
+    "MCFT",
+    "MCHI",
+    "MCHP",
+    "MCHX",
+    "MCI",
+    "MCK",
+    "MCN",
+    "MCO",
+    "MCR",
+    "MCRB",
+    "MCRI",
+    "MCRN",
+    "MCS",
+    "MCV",
+    "MCX",
+    "MCY",
+    "MD",
+    "MDB",
+    "MDC",
+    "MDCA",
+    "MDCO",
+    "MDGL",
+    "MDGS",
+    "MDGSW",
+    "MDIV",
+    "MDJH",
+    "MDLA",
+    "MDLQ",
+    "MDLX",
+    "MDLY",
+    "MDLZ",
+    "MDP",
+    "MDR",
+    "MDRR",
+    "MDRX",
+    "MDSO",
+    "MDT",
+    "MDU",
+    "MDWD",
+    "MEC",
+    "MED",
+    "MEDP",
+    "MEET",
+    "MEI",
+    "MEIP",
+    "MELI",
+    "MEN",
+    "MEOH",
+    "MERC",
+    "MER^K",
+    "MESA",
+    "MESO",
+    "MET",
+    "METC",
+    "MET^A",
+    "MET^E",
+    "MFA",
+    "MFAC",
+    "MFAC.U",
+    "MFAC.WS",
+    "MFA^B",
+    "MFC",
+    "MFD",
+    "MFG",
+    "MFGP",
+    "MFIN",
+    "MFINL",
+    "MFL",
+    "MFM",
+    "MFNC",
+    "MFO",
+    "MFSF",
+    "MFT",
+    "MFV",
+    "MG",
+    "MGA",
+    "MGEE",
+    "MGEN",
+    "MGF",
+    "MGI",
+    "MGIC",
+    "MGLN",
+    "MGM",
+    "MGNX",
+    "MGP",
+    "MGPI",
+    "MGR",
+    "MGRC",
+    "MGTA",
+    "MGTX",
+    "MGU",
+    "MGY",
+    "MGYR",
+    "MHD",
+    "MHE",
+    "MHF",
+    "MHH",
+    "MHI",
+    "MHK",
+    "MHLA",
+    "MHLD",
+    "MHN",
+    "MHNC",
+    "MHO",
+    "MH^A",
+    "MH^C",
+    "MH^D",
+    "MIC",
+    "MICR",
+    "MICT",
+    "MIDD",
+    "MIE",
+    "MIK",
+    "MILN",
+    "MIME",
+    "MIN",
+    "MIND",
+    "MINDP",
+    "MINI",
+    "MIRM",
+    "MIST",
+    "MITK",
+    "MITO",
+    "MITT",
+    "MITT^A",
+    "MITT^B",
+    "MIXT",
+    "MIY",
+    "MJCO",
+    "MKC",
+    "MKC.V",
+    "MKGI",
+    "MKL",
+    "MKSI",
+    "MKTX",
+    "MLAB",
+    "MLCO",
+    "MLHR",
+    "MLI",
+    "MLM",
+    "MLND",
+    "MLNT",
+    "MLNX",
+    "MLP",
+    "MLR",
+    "MLSS",
+    "MLVF",
+    "MMAC",
+    "MMC",
+    "MMD",
+    "MMI",
+    "MMLP",
+    "MMM",
+    "MMP",
+    "MMS",
+    "MMSI",
+    "MMT",
+    "MMU",
+    "MMX",
+    "MMYT",
+    "MN",
+    "MNCL",
+    "MNCLU",
+    "MNCLW",
+    "MNDO",
+    "MNE",
+    "MNI",
+    "MNK",
+    "MNKD",
+    "MNLO",
+    "MNOV",
+    "MNP",
+    "MNR",
+    "MNRL",
+    "MNRO",
+    "MNR^C",
+    "MNSB",
+    "MNST",
+    "MNTA",
+    "MNTX",
+    "MO",
+    "MOBL",
+    "MOD",
+    "MODN",
+    "MOFG",
+    "MOG.A",
+    "MOG.B",
+    "MOGO",
+    "MOGU",
+    "MOH",
+    "MOMO",
+    "MOR",
+    "MORF",
+    "MORN",
+    "MOS",
+    "MOSC",
+    "MOSC.U",
+    "MOSC.WS",
+    "MOSY",
+    "MOTA",
+    "MOTS",
+    "MOV",
+    "MOXC",
+    "MPA",
+    "MPAA",
+    "MPB",
+    "MPC",
+    "MPLX",
+    "MPV",
+    "MPVD",
+    "MPW",
+    "MPWR",
+    "MPX",
+    "MQT",
+    "MQY",
+    "MR",
+    "MRAM",
+    "MRBK",
+    "MRC",
+    "MRCC",
+    "MRCCL",
+    "MRCY",
+    "MREO",
+    "MRIC",
+    "MRIN",
+    "MRK",
+    "MRKR",
+    "MRLN",
+    "MRNA",
+    "MRNS",
+    "MRO",
+    "MRSN",
+    "MRTN",
+    "MRTX",
+    "MRUS",
+    "MRVL",
+    "MS",
+    "MSA",
+    "MSB",
+    "MSBF",
+    "MSBI",
+    "MSC",
+    "MSCI",
+    "MSD",
+    "MSEX",
+    "MSFT",
+    "MSG",
+    "MSGN",
+    "MSI",
+    "MSL",
+    "MSM",
+    "MSN",
+    "MSON",
+    "MSTR",
+    "MSVB",
+    "MS^A",
+    "MS^E",
+    "MS^F",
+    "MS^G",
+    "MS^I",
+    "MS^K",
+    "MT",
+    "MTB",
+    "MTBC",
+    "MTBCP",
+    "MTC",
+    "MTCH",
+    "MTD",
+    "MTDR",
+    "MTEM",
+    "MTEX",
+    "MTFB",
+    "MTFBW",
+    "MTG",
+    "MTH",
+    "MTL",
+    "MTLS",
+    "MTL^",
+    "MTN",
+    "MTNB",
+    "MTOR",
+    "MTP",
+    "MTR",
+    "MTRN",
+    "MTRX",
+    "MTSC",
+    "MTSI",
+    "MTSL",
+    "MTT",
+    "MTW",
+    "MTX",
+    "MTZ",
+    "MU",
+    "MUA",
+    "MUC",
+    "MUDS",
+    "MUDSU",
+    "MUDSW",
+    "MUE",
+    "MUFG",
+    "MUH",
+    "MUI",
+    "MUJ",
+    "MUR",
+    "MUS",
+    "MUSA",
+    "MUX",
+    "MVBF",
+    "MVC",
+    "MVCD",
+    "MVF",
+    "MVIS",
+    "MVO",
+    "MVT",
+    "MWA",
+    "MWK",
+    "MX",
+    "MXC",
+    "MXE",
+    "MXF",
+    "MXIM",
+    "MXL",
+    "MYC",
+    "MYD",
+    "MYE",
+    "MYF",
+    "MYFW",
+    "MYGN",
+    "MYI",
+    "MYJ",
+    "MYL",
+    "MYN",
+    "MYO",
+    "MYOK",
+    "MYOS",
+    "MYOV",
+    "MYRG",
+    "MYSZ",
+    "MYT",
+    "MZA",
+    "NAC",
+    "NAD",
+    "NAII",
+    "NAK",
+    "NAKD",
+    "NAN",
+    "NANO",
+    "NAOV",
+    "NAT",
+    "NATH",
+    "NATI",
+    "NATR",
+    "NAV",
+    "NAVB",
+    "NAVI",
+    "NAV^D",
+    "NAZ",
+    "NBB",
+    "NBCP",
+    "NBEV",
+    "NBH",
+    "NBHC",
+    "NBIX",
+    "NBL",
+    "NBLX",
+    "NBN",
+    "NBO",
+    "NBR",
+    "NBRV",
+    "NBR^A",
+    "NBSE",
+    "NBTB",
+    "NBW",
+    "NBY",
+    "NC",
+    "NCA",
+    "NCB",
+    "NCBS",
+    "NCI",
+    "NCLH",
+    "NCMI",
+    "NCNA",
+    "NCR",
+    "NCSM",
+    "NCTY",
+    "NCV",
+    "NCV^A",
+    "NCZ",
+    "NCZ^A",
+    "NDAQ",
+    "NDLS",
+    "NDP",
+    "NDRA",
+    "NDRAW",
+    "NDSN",
+    "NE",
+    "NEA",
+    "NEBU",
+    "NEBUU",
+    "NEBUW",
+    "NEE",
+    "NEE^I",
+    "NEE^J",
+    "NEE^K",
+    "NEE^N",
+    "NEE^O",
+    "NEM",
+    "NEN",
+    "NEO",
+    "NEOG",
+    "NEON",
+    "NEOS",
+    "NEP",
+    "NEPH",
+    "NEPT",
+    "NERV",
+    "NES",
+    "NESR",
+    "NESRW",
+    "NETE",
+    "NEU",
+    "NEV",
+    "NEW",
+    "NEWA",
+    "NEWM",
+    "NEWR",
+    "NEWT",
+    "NEWTI",
+    "NEWTL",
+    "NEXA",
+    "NEXT",
+    "NFBK",
+    "NFC",
+    "NFC.U",
+    "NFC.WS",
+    "NFE",
+    "NFG",
+    "NFIN",
+    "NFINU",
+    "NFINW",
+    "NFJ",
+    "NFLX",
+    "NFTY",
+    "NG",
+    "NGD",
+    "NGG",
+    "NGHC",
+    "NGHCN",
+    "NGHCO",
+    "NGHCP",
+    "NGHCZ",
+    "NGL",
+    "NGLS^A",
+    "NGL^B",
+    "NGL^C",
+    "NGM",
+    "NGS",
+    "NGVC",
+    "NGVT",
+    "NH",
+    "NHA",
+    "NHC",
+    "NHF",
+    "NHI",
+    "NHLD",
+    "NHLDW",
+    "NHS",
+    "NHTC",
+    "NI",
+    "NICE",
+    "NICK",
+    "NID",
+    "NIE",
+    "NIHD",
+    "NIM",
+    "NINE",
+    "NIO",
+    "NIQ",
+    "NIU",
+    "NI^B",
+    "NJR",
+    "NJV",
+    "NK",
+    "NKE",
+    "NKG",
+    "NKSH",
+    "NKTR",
+    "NKX",
+    "NL",
+    "NLNK",
+    "NLS",
+    "NLSN",
+    "NLTX",
+    "NLY",
+    "NLY^D",
+    "NLY^F",
+    "NLY^G",
+    "NLY^I",
+    "NM",
+    "NMCI",
+    "NMFC",
+    "NMFX",
+    "NMI",
+    "NMIH",
+    "NMK^B",
+    "NMK^C",
+    "NML",
+    "NMM",
+    "NMR",
+    "NMRD",
+    "NMRK",
+    "NMS",
+    "NMT",
+    "NMY",
+    "NMZ",
+    "NM^G",
+    "NM^H",
+    "NNA",
+    "NNBR",
+    "NNC",
+    "NNDM",
+    "NNI",
+    "NNN",
+    "NNN^E.CL",
+    "NNN^F",
+    "NNVC",
+    "NNY",
+    "NOA",
+    "NOAH",
+    "NOC",
+    "NODK",
+    "NOG",
+    "NOK",
+    "NOM",
+    "NOMD",
+    "NOV",
+    "NOVA",
+    "NOVN",
+    "NOVT",
+    "NOW",
+    "NP",
+    "NPAUU",
+    "NPK",
+    "NPN",
+    "NPO",
+    "NPTN",
+    "NPV",
+    "NQP",
+    "NR",
+    "NRC",
+    "NRCG",
+    "NRCG.WS",
+    "NRE",
+    "NRG",
+    "NRGX",
+    "NRIM",
+    "NRK",
+    "NRO",
+    "NRP",
+    "NRT",
+    "NRUC",
+    "NRZ",
+    "NRZ^A",
+    "NRZ^B",
+    "NS",
+    "NSA",
+    "NSA^A",
+    "NSC",
+    "NSCO",
+    "NSCO.WS",
+    "NSEC",
+    "NSIT",
+    "NSL",
+    "NSP",
+    "NSPR",
+    "NSPR.WS",
+    "NSPR.WS.B",
+    "NSS",
+    "NSSC",
+    "NSTG",
+    "NSYS",
+    "NS^A",
+    "NS^B",
+    "NS^C",
+    "NTAP",
+    "NTB",
+    "NTC",
+    "NTCT",
+    "NTEC",
+    "NTES",
+    "NTEST",
+    "NTEST.A",
+    "NTEST.B",
+    "NTEST.C",
+    "NTG",
+    "NTGN",
+    "NTGR",
+    "NTIC",
+    "NTIP",
+    "NTLA",
+    "NTN",
+    "NTNX",
+    "NTP",
+    "NTR",
+    "NTRA",
+    "NTRP",
+    "NTRS",
+    "NTRSP",
+    "NTUS",
+    "NTWK",
+    "NTX",
+    "NTZ",
+    "NUAN",
+    "NUE",
+    "NUM",
+    "NUO",
+    "NURO",
+    "NUROW",
+    "NUS",
+    "NUV",
+    "NUVA",
+    "NUW",
+    "NVAX",
+    "NVCN",
+    "NVCR",
+    "NVDA",
+    "NVEC",
+    "NVEE",
+    "NVFY",
+    "NVG",
+    "NVGS",
+    "NVIV",
+    "NVLN",
+    "NVMI",
+    "NVO",
+    "NVR",
+    "NVRO",
+    "NVS",
+    "NVT",
+    "NVTA",
+    "NVTR",
+    "NVUS",
+    "NWBI",
+    "NWE",
+    "NWFL",
+    "NWHM",
+    "NWL",
+    "NWLI",
+    "NWN",
+    "NWPX",
+    "NWS",
+    "NWSA",
+    "NX",
+    "NXC",
+    "NXE",
+    "NXGN",
+    "NXJ",
+    "NXMD",
+    "NXN",
+    "NXP",
+    "NXPI",
+    "NXQ",
+    "NXR",
+    "NXRT",
+    "NXST",
+    "NXTC",
+    "NXTD",
+    "NXTG",
+    "NYCB",
+    "NYCB^A",
+    "NYCB^U",
+    "NYMT",
+    "NYMTN",
+    "NYMTO",
+    "NYMTP",
+    "NYMX",
+    "NYNY",
+    "NYT",
+    "NYV",
+    "NZF",
+    "O",
+    "OAC",
+    "OAC.U",
+    "OAC.WS",
+    "OAK",
+    "OAK^A",
+    "OAK^B",
+    "OAS",
+    "OBAS",
+    "OBCI",
+    "OBE",
+    "OBLN",
+    "OBNK",
+    "OBSV",
+    "OC",
+    "OCC",
+    "OCCI",
+    "OCCIP",
+    "OCFC",
+    "OCN",
+    "OCSI",
+    "OCSL",
+    "OCSLL",
+    "OCUL",
+    "OCX",
+    "ODC",
+    "ODFL",
+    "ODP",
+    "ODT",
+    "OEC",
+    "OESX",
+    "OFC",
+    "OFED",
+    "OFG",
+    "OFG^A",
+    "OFG^B",
+    "OFG^D",
+    "OFIX",
+    "OFLX",
+    "OFS",
+    "OFSSL",
+    "OFSSZ",
+    "OGE",
+    "OGEN",
+    "OGI",
+    "OGS",
+    "OHAI",
+    "OHI",
+    "OI",
+    "OIA",
+    "OIBR.C",
+    "OII",
+    "OIIM",
+    "OIS",
+    "OKE",
+    "OKTA",
+    "OLBK",
+    "OLD",
+    "OLED",
+    "OLLI",
+    "OLN",
+    "OLP",
+    "OMAB",
+    "OMC",
+    "OMCL",
+    "OMER",
+    "OMEX",
+    "OMF",
+    "OMI",
+    "OMN",
+    "OMP",
+    "ON",
+    "ONB",
+    "ONCE",
+    "ONCS",
+    "ONCT",
+    "ONCY",
+    "ONDK",
+    "ONE",
+    "ONEQ",
+    "ONTX",
+    "ONTXW",
+    "ONVO",
+    "OOMA",
+    "OPB",
+    "OPBK",
+    "OPES",
+    "OPESU",
+    "OPESW",
+    "OPGN",
+    "OPGNW",
+    "OPHC",
+    "OPI",
+    "OPINI",
+    "OPK",
+    "OPNT",
+    "OPOF",
+    "OPP",
+    "OPRA",
+    "OPRX",
+    "OPTN",
+    "OPTT",
+    "OPY",
+    "OR",
+    "ORA",
+    "ORAN",
+    "ORBC",
+    "ORC",
+    "ORCC",
+    "ORCL",
+    "ORG",
+    "ORGO",
+    "ORGS",
+    "ORI",
+    "ORIT",
+    "ORLY",
+    "ORMP",
+    "ORN",
+    "ORRF",
+    "ORSNU",
+    "ORTX",
+    "OSB",
+    "OSBC",
+    "OSBCP",
+    "OSG",
+    "OSIS",
+    "OSK",
+    "OSLE",
+    "OSMT",
+    "OSN",
+    "OSPN",
+    "OSS",
+    "OSTK",
+    "OSUR",
+    "OSW",
+    "OTEL",
+    "OTEX",
+    "OTG",
+    "OTIC",
+    "OTIV",
+    "OTLK",
+    "OTLKW",
+    "OTTR",
+    "OTTW",
+    "OUT",
+    "OVBC",
+    "OVID",
+    "OVLY",
+    "OXBR",
+    "OXBRW",
+    "OXFD",
+    "OXLC",
+    "OXLCM",
+    "OXLCO",
+    "OXM",
+    "OXSQ",
+    "OXSQL",
+    "OXSQZ",
+    "OXY",
+    "OZK",
+    "PAA",
+    "PAAC",
+    "PAACR",
+    "PAACU",
+    "PAACW",
+    "PAAS",
+    "PAC",
+    "PACB",
+    "PACD",
+    "PACK",
+    "PACK.WS",
+    "PACQ",
+    "PACQU",
+    "PACQW",
+    "PACW",
+    "PAG",
+    "PAGP",
+    "PAGS",
+    "PAHC",
+    "PAI",
+    "PAM",
+    "PANL",
+    "PANW",
+    "PAR",
+    "PARR",
+    "PATI",
+    "PATK",
+    "PAVM",
+    "PAVMW",
+    "PAVMZ",
+    "PAYC",
+    "PAYS",
+    "PAYX",
+    "PB",
+    "PBA",
+    "PBB",
+    "PBBI",
+    "PBC",
+    "PBCT",
+    "PBCTP",
+    "PBF",
+    "PBFS",
+    "PBFX",
+    "PBH",
+    "PBHC",
+    "PBI",
+    "PBIO",
+    "PBIP",
+    "PBI^B",
+    "PBPB",
+    "PBR",
+    "PBR.A",
+    "PBT",
+    "PBTS",
+    "PBY",
+    "PBYI",
+    "PCAR",
+    "PCB",
+    "PCF",
+    "PCG",
+    "PCG^A",
+    "PCG^B",
+    "PCG^C",
+    "PCG^D",
+    "PCG^E",
+    "PCG^G",
+    "PCG^H",
+    "PCG^I",
+    "PCH",
+    "PCI",
+    "PCIM",
+    "PCK",
+    "PCM",
+    "PCN",
+    "PCOM",
+    "PCQ",
+    "PCRX",
+    "PCSB",
+    "PCTI",
+    "PCTY",
+    "PCYG",
+    "PCYO",
+    "PD",
+    "PDBC",
+    "PDCE",
+    "PDCO",
+    "PDD",
+    "PDEV",
+    "PDEX",
+    "PDFS",
+    "PDI",
+    "PDLB",
+    "PDLI",
+    "PDM",
+    "PDP",
+    "PDS",
+    "PDSB",
+    "PDT",
+    "PE",
+    "PEB",
+    "PEBK",
+    "PEBO",
+    "PEB^C",
+    "PEB^D",
+    "PEB^E",
+    "PEB^F",
+    "PECK",
+    "PED",
+    "PEER",
+    "PEG",
+    "PEGA",
+    "PEGI",
+    "PEI",
+    "PEIX",
+    "PEI^B",
+    "PEI^C",
+    "PEI^D",
+    "PEN",
+    "PENN",
+    "PEO",
+    "PEP",
+    "PER",
+    "PERI",
+    "PESI",
+    "PETQ",
+    "PETS",
+    "PETZ",
+    "PEY",
+    "PEZ",
+    "PFBC",
+    "PFBI",
+    "PFD",
+    "PFE",
+    "PFF",
+    "PFG",
+    "PFGC",
+    "PFH",
+    "PFI",
+    "PFIE",
+    "PFIN",
+    "PFIS",
+    "PFL",
+    "PFLT",
+    "PFM",
+    "PFMT",
+    "PFN",
+    "PFNX",
+    "PFO",
+    "PFPT",
+    "PFS",
+    "PFSI",
+    "PFSW",
+    "PG",
+    "PGC",
+    "PGJ",
+    "PGNX",
+    "PGP",
+    "PGR",
+    "PGRE",
+    "PGTI",
+    "PGZ",
+    "PH",
+    "PHAS",
+    "PHCF",
+    "PHD",
+    "PHG",
+    "PHI",
+    "PHIO",
+    "PHIOW",
+    "PHK",
+    "PHM",
+    "PHO",
+    "PHR",
+    "PHT",
+    "PHUN",
+    "PHUNW",
+    "PHX",
+    "PI",
+    "PIC",
+    "PIC.U",
+    "PIC.WS",
+    "PICO",
+    "PID",
+    "PIE",
+    "PIH",
+    "PIHPP",
+    "PII",
+    "PIM",
+    "PINC",
+    "PINS",
+    "PIO",
+    "PIR",
+    "PIRS",
+    "PIXY",
+    "PIY",
+    "PIZ",
+    "PJC",
+    "PJH",
+    "PJT",
+    "PK",
+    "PKBK",
+    "PKD",
+    "PKE",
+    "PKG",
+    "PKI",
+    "PKO",
+    "PKOH",
+    "PKW",
+    "PKX",
+    "PLAB",
+    "PLAG",
+    "PLAN",
+    "PLAY",
+    "PLBC",
+    "PLC",
+    "PLCE",
+    "PLD",
+    "PLG",
+    "PLIN",
+    "PLL",
+    "PLM",
+    "PLMR",
+    "PLNT",
+    "PLOW",
+    "PLPC",
+    "PLSE",
+    "PLT",
+    "PLUG",
+    "PLUS",
+    "PLW",
+    "PLX",
+    "PLXP",
+    "PLXS",
+    "PLYA",
+    "PLYM",
+    "PLYM^A",
+    "PM",
+    "PMBC",
+    "PMD",
+    "PME",
+    "PMF",
+    "PML",
+    "PMM",
+    "PMO",
+    "PMOM",
+    "PMT",
+    "PMTS",
+    "PMT^A",
+    "PMT^B",
+    "PMX",
+    "PNBK",
+    "PNC",
+    "PNC^P",
+    "PNC^Q",
+    "PNF",
+    "PNFP",
+    "PNI",
+    "PNM",
+    "PNNT",
+    "PNQI",
+    "PNR",
+    "PNRG",
+    "PNRL",
+    "PNTR",
+    "PNW",
+    "POAI",
+    "PODD",
+    "POL",
+    "POLA",
+    "POLY",
+    "POOL",
+    "POPE",
+    "POR",
+    "POST",
+    "POWI",
+    "POWL",
+    "PPBI",
+    "PPC",
+    "PPDF",
+    "PPG",
+    "PPH",
+    "PPHI",
+    "PPIH",
+    "PPL",
+    "PPR",
+    "PPSI",
+    "PPT",
+    "PPX",
+    "PQG",
+    "PRA",
+    "PRAA",
+    "PRAH",
+    "PRCP",
+    "PRE^F",
+    "PRE^G",
+    "PRE^H",
+    "PRE^I",
+    "PRFT",
+    "PRFZ",
+    "PRGO",
+    "PRGS",
+    "PRGX",
+    "PRH",
+    "PRI",
+    "PRIF^A",
+    "PRIF^B",
+    "PRIF^C",
+    "PRIF^D",
+    "PRIM",
+    "PRK",
+    "PRLB",
+    "PRMW",
+    "PRN",
+    "PRNB",
+    "PRO",
+    "PROS",
+    "PROV",
+    "PRPH",
+    "PRPL",
+    "PRPO",
+    "PRQR",
+    "PRS",
+    "PRSC",
+    "PRSP",
+    "PRT",
+    "PRTA",
+    "PRTH",
+    "PRTK",
+    "PRTO",
+    "PRTS",
+    "PRTY",
+    "PRU",
+    "PRVB",
+    "PRVL",
+    "PS",
+    "PSA",
+    "PSA^A",
+    "PSA^B",
+    "PSA^C",
+    "PSA^D",
+    "PSA^E",
+    "PSA^F",
+    "PSA^G",
+    "PSA^H",
+    "PSA^V",
+    "PSA^W",
+    "PSA^X",
+    "PSB",
+    "PSB^U",
+    "PSB^V",
+    "PSB^W",
+    "PSB^X",
+    "PSB^Y",
+    "PSC",
+    "PSCC",
+    "PSCD",
+    "PSCE",
+    "PSCF",
+    "PSCH",
+    "PSCI",
+    "PSCM",
+    "PSCT",
+    "PSCU",
+    "PSDO",
+    "PSEC",
+    "PSET",
+    "PSF",
+    "PSL",
+    "PSM",
+    "PSMT",
+    "PSN",
+    "PSNL",
+    "PSO",
+    "PSTG",
+    "PSTI",
+    "PSTL",
+    "PSTV",
+    "PSTVZ",
+    "PSV",
+    "PSX",
+    "PSXP",
+    "PT",
+    "PTC",
+    "PTCT",
+    "PTE",
+    "PTEN",
+    "PTF",
+    "PTGX",
+    "PTH",
+    "PTI",
+    "PTLA",
+    "PTMN",
+    "PTN",
+    "PTNR",
+    "PTR",
+    "PTSI",
+    "PTVCA",
+    "PTVCB",
+    "PTY",
+    "PUB",
+    "PUI",
+    "PUK",
+    "PUK^",
+    "PUK^A",
+    "PULM",
+    "PUMP",
+    "PUYI",
+    "PVAC",
+    "PVAL",
+    "PVBC",
+    "PVG",
+    "PVH",
+    "PVL",
+    "PVT",
+    "PVT.U",
+    "PVT.WS",
+    "PVTL",
+    "PW",
+    "PWOD",
+    "PWR",
+    "PW^A",
+    "PXD",
+    "PXI",
+    "PXLW",
+    "PXS",
+    "PY",
+    "PYN",
+    "PYPL",
+    "PYS",
+    "PYT",
+    "PYX",
+    "PYZ",
+    "PZC",
+    "PZG",
+    "PZN",
+    "PZZA",
+    "QABA",
+    "QADA",
+    "QADB",
+    "QAT",
+    "QBAK",
+    "QCLN",
+    "QCOM",
+    "QCRH",
+    "QD",
+    "QDEL",
+    "QEP",
+    "QES",
+    "QFIN",
+    "QGEN",
+    "QHC",
+    "QIWI",
+    "QLC",
+    "QLYS",
+    "QNST",
+    "QQEW",
+    "QQQ",
+    "QQQX",
+    "QQXT",
+    "QRHC",
+    "QRTEA",
+    "QRTEB",
+    "QRVO",
+    "QSR",
+    "QTEC",
+    "QTNT",
+    "QTRH",
+    "QTRX",
+    "QTS",
+    "QTS^A",
+    "QTS^B",
+    "QTT",
+    "QTWO",
+    "QUAD",
+    "QUIK",
+    "QUMU",
+    "QUOT",
+    "QURE",
+    "QVCD",
+    "QYLD",
+    "R",
+    "RA",
+    "RACE",
+    "RAD",
+    "RADA",
+    "RAIL",
+    "RAMP",
+    "RAND",
+    "RAPT",
+    "RARE",
+    "RARX",
+    "RAVE",
+    "RAVN",
+    "RBA",
+    "RBB",
+    "RBBN",
+    "RBC",
+    "RBCAA",
+    "RBCN",
+    "RBKB",
+    "RBNC",
+    "RBS",
+    "RBZ",
+    "RC",
+    "RCA",
+    "RCB",
+    "RCG",
+    "RCI",
+    "RCII",
+    "RCKT",
+    "RCKY",
+    "RCL",
+    "RCM",
+    "RCMT",
+    "RCON",
+    "RCP",
+    "RCS",
+    "RCUS",
+    "RDCM",
+    "RDFN",
+    "RDHL",
+    "RDI",
+    "RDIB",
+    "RDN",
+    "RDNT",
+    "RDS.A",
+    "RDS.B",
+    "RDUS",
+    "RDVT",
+    "RDVY",
+    "RDWR",
+    "RDY",
+    "RE",
+    "REAL",
+    "RECN",
+    "REDU",
+    "REED",
+    "REFR",
+    "REG",
+    "REGI",
+    "REGN",
+    "REI",
+    "REKR",
+    "RELL",
+    "RELV",
+    "RELX",
+    "RENN",
+    "REPH",
+    "REPL",
+    "RES",
+    "RESI",
+    "RESN",
+    "RETA",
+    "RETO",
+    "REV",
+    "REVG",
+    "REX",
+    "REXN",
+    "REXR",
+    "REXR^A",
+    "REXR^B",
+    "REZI",
+    "RF",
+    "RFAP",
+    "RFDI",
+    "RFEM",
+    "RFEU",
+    "RFI",
+    "RFIL",
+    "RFL",
+    "RFP",
+    "RF^A",
+    "RF^B",
+    "RF^C",
+    "RGA",
+    "RGCO",
+    "RGEN",
+    "RGLD",
+    "RGLS",
+    "RGNX",
+    "RGR",
+    "RGS",
+    "RGT",
+    "RH",
+    "RHE",
+    "RHE^A",
+    "RHI",
+    "RHP",
+    "RIBT",
+    "RICK",
+    "RIF",
+    "RIG",
+    "RIGL",
+    "RILY",
+    "RILYG",
+    "RILYH",
+    "RILYI",
+    "RILYL",
+    "RILYO",
+    "RILYZ",
+    "RING",
+    "RIO",
+    "RIOT",
+    "RIV",
+    "RIVE",
+    "RJF",
+    "RKDA",
+    "RL",
+    "RLGT",
+    "RLGY",
+    "RLH",
+    "RLI",
+    "RLJ",
+    "RLJ^A",
+    "RM",
+    "RMAX",
+    "RMBI",
+    "RMBL",
+    "RMBS",
+    "RMCF",
+    "RMD",
+    "RMED",
+    "RMG",
+    "RMG.U",
+    "RMG.WS",
+    "RMI",
+    "RMM",
+    "RMNI",
+    "RMPL^",
+    "RMR",
+    "RMT",
+    "RMTI",
+    "RNDB",
+    "RNDM",
+    "RNDV",
+    "RNEM",
+    "RNET",
+    "RNG",
+    "RNGR",
+    "RNLC",
+    "RNMC",
+    "RNP",
+    "RNR",
+    "RNR^C",
+    "RNR^E",
+    "RNR^F",
+    "RNSC",
+    "RNST",
+    "RNWK",
+    "ROAD",
+    "ROAN",
+    "ROBO",
+    "ROBT",
+    "ROCK",
+    "ROG",
+    "ROIC",
+    "ROK",
+    "ROKU",
+    "ROL",
+    "ROLL",
+    "ROP",
+    "ROSE",
+    "ROSEU",
+    "ROSEW",
+    "ROST",
+    "ROX",
+    "ROYT",
+    "RP",
+    "RPAI",
+    "RPAY",
+    "RPD",
+    "RPLA",
+    "RPLA.U",
+    "RPLA.WS",
+    "RPM",
+    "RPT",
+    "RPT^D",
+    "RQI",
+    "RRBI",
+    "RRC",
+    "RRD",
+    "RRGB",
+    "RRR",
+    "RRTS",
+    "RS",
+    "RSF",
+    "RSG",
+    "RST",
+    "RTEC",
+    "RTIX",
+    "RTLR",
+    "RTN",
+    "RTRX",
+    "RTTR",
+    "RTW",
+    "RUBI",
+    "RUBY",
+    "RUHN",
+    "RUN",
+    "RUSHA",
+    "RUSHB",
+    "RUTH",
+    "RVEN",
+    "RVI",
+    "RVLT",
+    "RVLV",
+    "RVNC",
+    "RVP",
+    "RVSB",
+    "RVT",
+    "RWGE",
+    "RWGE.U",
+    "RWGE.WS",
+    "RWLK",
+    "RWT",
+    "RXN",
+    "RXN^A",
+    "RY",
+    "RYAAY",
+    "RYAM",
+    "RYB",
+    "RYI",
+    "RYN",
+    "RYTM",
+    "RY^T",
+    "RZA",
+    "RZB",
+    "S",
+    "SA",
+    "SAB",
+    "SABR",
+    "SACH",
+    "SAEX",
+    "SAF",
+    "SAFE",
+    "SAFM",
+    "SAFT",
+    "SAGE",
+    "SAH",
+    "SAIA",
+    "SAIC",
+    "SAIL",
+    "SAL",
+    "SALM",
+    "SALT",
+    "SAM",
+    "SAMA",
+    "SAMAU",
+    "SAMAW",
+    "SAMG",
+    "SAN",
+    "SAND          ",
+    "SANM",
+    "SANW",
+    "SAN^B",
+    "SAP",
+    "SAR",
+    "SASR",
+    "SATS",
+    "SAUC",
+    "SAVA",
+    "SAVE",
+    "SB",
+    "SBAC",
+    "SBBP",
+    "SBBX",
+    "SBCF",
+    "SBE.U",
+    "SBFG",
+    "SBFGP",
+    "SBGI",
+    "SBGL",
+    "SBH",
+    "SBI",
+    "SBLK",
+    "SBLKZ",
+    "SBNA",
+    "SBNY",
+    "SBOW",
+    "SBPH",
+    "SBR",
+    "SBRA",
+    "SBS",
+    "SBSI",
+    "SBT",
+    "SBUX",
+    "SB^C",
+    "SB^D",
+    "SC",
+    "SCA",
+    "SCCB",
+    "SCCI",
+    "SCCO",
+    "SCD",
+    "SCE^B",
+    "SCE^C",
+    "SCE^D",
+    "SCE^E",
+    "SCE^G",
+    "SCE^H",
+    "SCE^J",
+    "SCE^K",
+    "SCE^L",
+    "SCHL",
+    "SCHN",
+    "SCHW",
+    "SCHW^C",
+    "SCHW^D",
+    "SCI",
+    "SCKT",
+    "SCL",
+    "SCM",
+    "SCON",
+    "SCOR",
+    "SCPE",
+    "SCPE.U",
+    "SCPE.WS",
+    "SCPH",
+    "SCPL",
+    "SCS",
+    "SCSC",
+    "SCVL",
+    "SCWX",
+    "SCX",
+    "SCYX",
+    "SCZ",
+    "SD",
+    "SDC",
+    "SDG",
+    "SDI",
+    "SDPI",
+    "SDR",
+    "SDRL",
+    "SDT",
+    "SDVY",
+    "SE",
+    "SEAC",
+    "SEAS",
+    "SEB",
+    "SECO",
+    "SEDG",
+    "SEE",
+    "SEED",
+    "SEEL",
+    "SEIC",
+    "SELB",
+    "SELF",
+    "SEM",
+    "SEMG",
+    "SENEA",
+    "SENEB",
+    "SENS",
+    "SERV",
+    "SES",
+    "SESN",
+    "SF",
+    "SFB",
+    "SFBC",
+    "SFBS",
+    "SFE",
+    "SFET",
+    "SFIX",
+    "SFL",
+    "SFLY",
+    "SFM",
+    "SFNC",
+    "SFST",
+    "SFUN",
+    "SF^A",
+    "SF^B",
+    "SG",
+    "SGA",
+    "SGB",
+    "SGBX",
+    "SGC",
+    "SGEN",
+    "SGH",
+    "SGLB",
+    "SGLBW",
+    "SGMA",
+    "SGMO",
+    "SGMS",
+    "SGOC",
+    "SGRP",
+    "SGRY",
+    "SGU",
+    "SHAK",
+    "SHBI",
+    "SHEN",
+    "SHG",
+    "SHI",
+    "SHIP",
+    "SHIPW",
+    "SHIPZ",
+    "SHLL",
+    "SHLL.U",
+    "SHLL.WS",
+    "SHLO",
+    "SHLX",
+    "SHO",
+    "SHOO",
+    "SHOP",
+    "SHOS",
+    "SHO^E",
+    "SHO^F",
+    "SHSP",
+    "SHV",
+    "SHW",
+    "SHY",
+    "SIBN",
+    "SIC",
+    "SID",
+    "SIEB",
+    "SIEN",
+    "SIF",
+    "SIFY",
+    "SIG",
+    "SIGA",
+    "SIGI",
+    "SILC",
+    "SILK",
+    "SILV",
+    "SIM",
+    "SIMO",
+    "SINA",
+    "SINO",
+    "SINT",
+    "SIRI",
+    "SITC",
+    "SITC^A",
+    "SITC^J",
+    "SITC^K",
+    "SITE",
+    "SITO",
+    "SIVB",
+    "SIX",
+    "SJI",
+    "SJIU",
+    "SJM",
+    "SJR",
+    "SJT",
+    "SJW",
+    "SKIS",
+    "SKM",
+    "SKOR",
+    "SKT",
+    "SKX",
+    "SKY",
+    "SKYS",
+    "SKYW",
+    "SKYY",
+    "SLAB",
+    "SLB",
+    "SLCA",
+    "SLCT",
+    "SLDB",
+    "SLF",
+    "SLG",
+    "SLGG",
+    "SLGL",
+    "SLGN",
+    "SLG^I",
+    "SLIM",
+    "SLM",
+    "SLMBP",
+    "SLNG",
+    "SLNO",
+    "SLNOW",
+    "SLP",
+    "SLQD",
+    "SLRC",
+    "SLRX",
+    "SLS",
+    "SLVO",
+    "SM",
+    "SMAR",
+    "SMBC",
+    "SMBK",
+    "SMCP",
+    "SMED",
+    "SMFG",
+    "SMG",
+    "SMHI",
+    "SMIT",
+    "SMLP",
+    "SMM",
+    "SMMC",
+    "SMMCU",
+    "SMMCW",
+    "SMMF",
+    "SMMT",
+    "SMP",
+    "SMPL",
+    "SMRT",
+    "SMSI",
+    "SMTA",
+    "SMTC",
+    "SMTS",
+    "SMTX",
+    "SNA",
+    "SNAP",
+    "SNBR",
+    "SNCR",
+    "SND",
+    "SNDE",
+    "SNDL",
+    "SNDR",
+    "SNDX",
+    "SNE",
+    "SNES",
+    "SNFCA",
+    "SNGX",
+    "SNGXW",
+    "SNH",
+    "SNHNI",
+    "SNHNL",
+    "SNLN",
+    "SNMP",
+    "SNN",
+    "SNNA",
+    "SNOA",
+    "SNOAW",
+    "SNP",
+    "SNPS",
+    "SNR",
+    "SNSR",
+    "SNSS",
+    "SNV",
+    "SNV^D",
+    "SNV^E",
+    "SNX",
+    "SNY",
+    "SO",
+    "SOCL",
+    "SOGO",
+    "SOHO",
+    "SOHOB",
+    "SOHON",
+    "SOHOO",
+    "SOHU",
+    "SOI",
+    "SOJA",
+    "SOJB",
+    "SOJC",
+    "SOL",
+    "SOLN",
+    "SOLO",
+    "SOLOW",
+    "SOLY",
+    "SON",
+    "SONA",
+    "SONG",
+    "SONGW",
+    "SONM",
+    "SONO",
+    "SOR",
+    "SORL",
+    "SOXX",
+    "SP",
+    "SPAQ",
+    "SPAQ.U",
+    "SPAQ.WS",
+    "SPAR",
+    "SPB           ",
+    "SPCB",
+    "SPE",
+    "SPEX",
+    "SPE^B",
+    "SPFI",
+    "SPG",
+    "SPGI",
+    "SPG^J",
+    "SPH",
+    "SPHS",
+    "SPI",
+    "SPKE",
+    "SPKEP",
+    "SPLK",
+    "SPLP",
+    "SPLP^A",
+    "SPN",
+    "SPNE",
+    "SPNS",
+    "SPOK",
+    "SPOT",
+    "SPPI",
+    "SPR",
+    "SPRO",
+    "SPRT",
+    "SPSC",
+    "SPTN",
+    "SPWH",
+    "SPWR",
+    "SPXC",
+    "SPXX",
+    "SQ",
+    "SQBG",
+    "SQLV",
+    "SQM",
+    "SQNS",
+    "SQQQ",
+    "SR",
+    "SRAX",
+    "SRC",
+    "SRCE",
+    "SRCI",
+    "SRCL",
+    "SRC^A",
+    "SRDX",
+    "SRE",
+    "SREA",
+    "SRET",
+    "SREV",
+    "SRE^A",
+    "SRE^B",
+    "SRF",
+    "SRG",
+    "SRG^A",
+    "SRI",
+    "SRL",
+    "SRLP",
+    "SRNE",
+    "SRPT",
+    "SRRA",
+    "SRRK",
+    "SRT",
+    "SRTS",
+    "SRTSW",
+    "SRV",
+    "SRVA",
+    "SR^A",
+    "SSB",
+    "SSBI",
+    "SSD",
+    "SSFN",
+    "SSI",
+    "SSKN",
+    "SSL",
+    "SSNC",
+    "SSNT",
+    "SSP",
+    "SSPKU",
+    "SSRM",
+    "SSSS",
+    "SSTI",
+    "SSTK",
+    "SSW",
+    "SSWA",
+    "SSW^D",
+    "SSW^E",
+    "SSW^G",
+    "SSW^H",
+    "SSW^I",
+    "SSY",
+    "SSYS",
+    "ST",
+    "STAA",
+    "STAF",
+    "STAG",
+    "STAG^C",
+    "STAR          ",
+    "STAR^D",
+    "STAR^G",
+    "STAR^I",
+    "STAY",
+    "STBA",
+    "STC",
+    "STCN",
+    "STE",
+    "STFC",
+    "STG",
+    "STI",
+    "STIM",
+    "STI^A",
+    "STK",
+    "STKL",
+    "STKS",
+    "STL",
+    "STLD",
+    "STL^A",
+    "STM",
+    "STML",
+    "STMP",
+    "STN",
+    "STND",
+    "STNE",
+    "STNG",
+    "STNL",
+    "STNLU",
+    "STNLW",
+    "STOK",
+    "STON",
+    "STOR",
+    "STPP",
+    "STRA",
+    "STRL",
+    "STRM",
+    "STRO",
+    "STRS",
+    "STRT",
+    "STT",
+    "STT^C",
+    "STT^D",
+    "STT^E",
+    "STT^G",
+    "STWD",
+    "STX",
+    "STXB",
+    "STXS",
+    "STZ",
+    "STZ.B",
+    "SU",
+    "SUI",
+    "SUM",
+    "SUMR",
+    "SUN",
+    "SUNS",
+    "SUNW",
+    "SUP",
+    "SUPN",
+    "SUPV",
+    "SURF",
+    "SUSB",
+    "SUSC",
+    "SUSL",
+    "SUZ",
+    "SVA",
+    "SVBI",
+    "SVM",
+    "SVMK",
+    "SVRA",
+    "SVT",
+    "SVVC",
+    "SWAV",
+    "SWCH",
+    "SWI",
+    "SWIR",
+    "SWJ",
+    "SWK",
+    "SWKS",
+    "SWM",
+    "SWN",
+    "SWP",
+    "SWTX",
+    "SWX",
+    "SWZ",
+    "SXC",
+    "SXI",
+    "SXT",
+    "SXTC",
+    "SY",
+    "SYBT",
+    "SYBX",
+    "SYF",
+    "SYK",
+    "SYKE",
+    "SYMC",
+    "SYN",
+    "SYNA",
+    "SYNC",
+    "SYNH",
+    "SYNL",
+    "SYPR",
+    "SYRS",
+    "SYX",
+    "SYY",
+    "SZC",
+    "T",
+    "TA",
+    "TAC",
+    "TACO",
+    "TACOW",
+    "TACT",
+    "TAIT",
+    "TAK",
+    "TAL",
+    "TALO",
+    "TALO.WS",
+    "TANH",
+    "TANNI",
+    "TANNL",
+    "TANNZ",
+    "TAOP",
+    "TAP",
+    "TAP.A",
+    "TAPR",
+    "TARO",
+    "TAST",
+    "TAT",
+    "TATT",
+    "TAYD",
+    "TBB",
+    "TBBK",
+    "TBC",
+    "TBI",
+    "TBIO",
+    "TBK",
+    "TBLT",
+    "TBLTU",
+    "TBLTW",
+    "TBNK",
+    "TBPH",
+    "TC",
+    "TCBI",
+    "TCBIL",
+    "TCBIP",
+    "TCBK",
+    "TCCO",
+    "TCDA",
+    "TCF",
+    "TCFC",
+    "TCFCP",
+    "TCGP",
+    "TCI",
+    "TCMD",
+    "TCO",
+    "TCON",
+    "TCO^J",
+    "TCO^K",
+    "TCP",
+    "TCPC",
+    "TCRD",
+    "TCRR",
+    "TCRW",
+    "TCRZ",
+    "TCS",
+    "TCX",
+    "TD",
+    "TDA",
+    "TDAC",
+    "TDACU",
+    "TDACW",
+    "TDC",
+    "TDE",
+    "TDF",
+    "TDG",
+    "TDI",
+    "TDIV",
+    "TDJ",
+    "TDOC",
+    "TDS",
+    "TDW",
+    "TDW.WS",
+    "TDW.WS.A",
+    "TDW.WS.B",
+    "TDY",
+    "TEAF",
+    "TEAM",
+    "TECD",
+    "TECH",
+    "TECK",
+    "TECTP",
+    "TEDU",
+    "TEF",
+    "TEI",
+    "TEL",
+    "TELL",
+    "TEN",
+    "TENB",
+    "TENX",
+    "TEO",
+    "TER",
+    "TERP",
+    "TESS",
+    "TEUM",
+    "TEVA",
+    "TEX",
+    "TFSL",
+    "TFX",
+    "TG",
+    "TGA",
+    "TGB",
+    "TGC",
+    "TGE",
+    "TGEN",
+    "TGH",
+    "TGI",
+    "TGLS",
+    "TGNA",
+    "TGP",
+    "TGP^A",
+    "TGP^B",
+    "TGS",
+    "TGT",
+    "TGTX",
+    "TH",
+    "THBRU",
+    "THC",
+    "THCA",
+    "THCAU",
+    "THCAW",
+    "THCB",
+    "THCBU",
+    "THCBW",
+    "THFF",
+    "THG",
+    "THGA",
+    "THM",
+    "THO",
+    "THOR",
+    "THQ",
+    "THR",
+    "THRM",
+    "THS",
+    "THW",
+    "THWWW",
+    "TIBR",
+    "TIBRU",
+    "TIBRW",
+    "TIF",
+    "TIGO",
+    "TIGR",
+    "TILE",
+    "TIPT",
+    "TISI",
+    "TITN",
+    "TIVO",
+    "TJX",
+    "TK",
+    "TKAT",
+    "TKC",
+    "TKKS",
+    "TKKSR",
+    "TKKSU",
+    "TKKSW",
+    "TKR",
+    "TLC",
+    "TLF",
+    "TLGT",
+    "TLI",
+    "TLK",
+    "TLND",
+    "TLRA",
+    "TLRD",
+    "TLRY",
+    "TLSA",
+    "TLT",
+    "TLYS",
+    "TM",
+    "TMCX",
+    "TMCXU",
+    "TMCXW",
+    "TMDI",
+    "TMDX",
+    "TME",
+    "TMHC",
+    "TMO",
+    "TMP",
+    "TMQ",
+    "TMSR",
+    "TMST",
+    "TMUS",
+    "TNAV",
+    "TNC",
+    "TNDM",
+    "TNET",
+    "TNK",
+    "TNP",
+    "TNP^C",
+    "TNP^D",
+    "TNP^E",
+    "TNP^F",
+    "TNXP",
+    "TOCA",
+    "TOL",
+    "TOO",
+    "TOO^A",
+    "TOO^B",
+    "TOO^E",
+    "TOPS",
+    "TORC",
+    "TOT",
+    "TOTA",
+    "TOTAR",
+    "TOTAU",
+    "TOTAW",
+    "TOUR",
+    "TOWN",
+    "TOWR",
+    "TPB",
+    "TPC",
+    "TPCO",
+    "TPGH",
+    "TPGH.U",
+    "TPGH.WS",
+    "TPH",
+    "TPHS",
+    "TPIC",
+    "TPL",
+    "TPR",
+    "TPRE",
+    "TPTX",
+    "TPVG",
+    "TPVY",
+    "TPX",
+    "TPZ",
+    "TQQQ",
+    "TR",
+    "TRC",
+    "TRCB",
+    "TRCH",
+    "TRCO",
+    "TREC",
+    "TREE",
+    "TREX",
+    "TRGP",
+    "TRHC",
+    "TRI",
+    "TRIB",
+    "TRIL",
+    "TRIP",
+    "TRK",
+    "TRMB",
+    "TRMD",
+    "TRMK",
+    "TRMT",
+    "TRN",
+    "TRNE",
+    "TRNE.U",
+    "TRNE.WS",
+    "TRNO",
+    "TRNS",
+    "TRNX",
+    "TROV",
+    "TROW",
+    "TROX",
+    "TRP",
+    "TRPX",
+    "TRQ",
+    "TRS",
+    "TRST",
+    "TRT",
+    "TRTN",
+    "TRTN^A",
+    "TRTN^B",
+    "TRTX",
+    "TRU",
+    "TRUE",
+    "TRUP",
+    "TRV",
+    "TRVG",
+    "TRVI",
+    "TRVN",
+    "TRWH",
+    "TRX",
+    "TRXC",
+    "TS",
+    "TSBK",
+    "TSC",
+    "TSCAP",
+    "TSCBP",
+    "TSCO",
+    "TSE",
+    "TSEM",
+    "TSG",
+    "TSI",
+    "TSLA",
+    "TSLF",
+    "TSLX",
+    "TSM",
+    "TSN",
+    "TSQ",
+    "TSRI",
+    "TSS",
+    "TSU",
+    "TTC",
+    "TTD",
+    "TTEC",
+    "TTEK",
+    "TTGT",
+    "TTI",
+    "TTM",
+    "TTMI",
+    "TTNP",
+    "TTOO",
+    "TTP",
+    "TTPH",
+    "TTS",
+    "TTTN",
+    "TTWO",
+    "TU",
+    "TUES",
+    "TUFN",
+    "TUP",
+    "TUR",
+    "TURN",
+    "TUSA",
+    "TUSK",
+    "TV",
+    "TVC",
+    "TVE",
+    "TVIX",
+    "TVTY",
+    "TW",
+    "TWI",
+    "TWIN",
+    "TWLO",
+    "TWMC",
+    "TWN",
+    "TWNK",
+    "TWNKW",
+    "TWO",
+    "TWOU",
+    "TWO^A",
+    "TWO^B",
+    "TWO^C",
+    "TWO^D",
+    "TWO^E",
+    "TWST",
+    "TWTR",
+    "TX",
+    "TXG",
+    "TXMD",
+    "TXN",
+    "TXRH",
+    "TXT",
+    "TY",
+    "TYG",
+    "TYHT",
+    "TYL",
+    "TYME",
+    "TYPE",
+    "TY^",
+    "TZAC",
+    "TZACU",
+    "TZACW",
+    "TZOO",
+    "UA",
+    "UAA",
+    "UAE",
+    "UAL",
+    "UAMY",
+    "UAN",
+    "UAVS",
+    "UBA",
+    "UBCP",
+    "UBER",
+    "UBFO",
+    "UBIO",
+    "UBNK",
+    "UBOH",
+    "UBP",
+    "UBP^G",
+    "UBP^H",
+    "UBS",
+    "UBSI",
+    "UBX",
+    "UCBI",
+    "UCFC",
+    "UCTT",
+    "UDR",
+    "UE",
+    "UEC",
+    "UEIC",
+    "UEPS",
+    "UFAB",
+    "UFCS",
+    "UFI",
+    "UFPI",
+    "UFPT",
+    "UFS",
+    "UG",
+    "UGI",
+    "UGLD",
+    "UGP",
+    "UHAL",
+    "UHS",
+    "UHT",
+    "UI",
+    "UIHC",
+    "UIS",
+    "UL",
+    "ULBI",
+    "ULH",
+    "ULTA",
+    "UMBF",
+    "UMC",
+    "UMH",
+    "UMH^B",
+    "UMH^C",
+    "UMH^D",
+    "UMPQ",
+    "UMRX",
+    "UN",
+    "UNAM",
+    "UNB",
+    "UNF",
+    "UNFI",
+    "UNH",
+    "UNIT",
+    "UNM",
+    "UNMA",
+    "UNP",
+    "UNT",
+    "UNTY",
+    "UNVR",
+    "UONE",
+    "UONEK",
+    "UPLD",
+    "UPS",
+    "UPWK",
+    "URBN",
+    "URG",
+    "URGN",
+    "URI",
+    "UROV",
+    "USA",
+    "USAC",
+    "USAK",
+    "USAP",
+    "USAS",
+    "USAT",
+    "USATP",
+    "USAU",
+    "USB",
+    "USB^A",
+    "USB^H",
+    "USB^M",
+    "USB^O",
+    "USB^P",
+    "USCR",
+    "USDP",
+    "USEG",
+    "USFD",
+    "USIG",
+    "USIO",
+    "USLB",
+    "USLM",
+    "USLV",
+    "USM",
+    "USMC",
+    "USNA",
+    "USOI",
+    "USPH",
+    "USWS",
+    "USWSW",
+    "USX",
+    "UTF",
+    "UTG",
+    "UTHR",
+    "UTI",
+    "UTL",
+    "UTMD",
+    "UTSI",
+    "UTX",
+    "UUU",
+    "UUUU",
+    "UUUU.WS",
+    "UVE",
+    "UVSP",
+    "UVV",
+    "UXIN",
+    "UZA",
+    "UZB",
+    "UZC",
+    "V",
+    "VAC",
+    "VAL",
+    "VALE",
+    "VALU",
+    "VALX",
+    "VAM",
+    "VAPO",
+    "VAR",
+    "VBF",
+    "VBFC",
+    "VBIV",
+    "VBLT",
+    "VBND",
+    "VBTX",
+    "VC",
+    "VCEL",
+    "VCF",
+    "VCIF",
+    "VCIT",
+    "VCLT",
+    "VCNX",
+    "VCRA",
+    "VCSH",
+    "VCTR",
+    "VCV",
+    "VCYT",
+    "VEC",
+    "VECO",
+    "VEDL",
+    "VEEV",
+    "VEON",
+    "VER",
+    "VERB",
+    "VERBW",
+    "VERI",
+    "VERU",
+    "VERY",
+    "VER^F",
+    "VET",
+    "VETS",
+    "VFC",
+    "VFF",
+    "VFL",
+    "VG",
+    "VGI",
+    "VGIT",
+    "VGLT",
+    "VGM",
+    "VGR",
+    "VGSH",
+    "VGZ",
+    "VHC",
+    "VHI",
+    "VIA",
+    "VIAB",
+    "VIAV",
+    "VICI",
+    "VICR",
+    "VIDI",
+    "VIGI",
+    "VIIX",
+    "VIOT",
+    "VIPS",
+    "VIRC",
+    "VIRT",
+    "VISL",
+    "VIST",
+    "VISTER",
+    "VIV",
+    "VIVE",
+    "VIVO",
+    "VJET",
+    "VKI",
+    "VKQ",
+    "VKTX",
+    "VKTXW",
+    "VLGEA",
+    "VLO",
+    "VLRS",
+    "VLRX",
+    "VLT",
+    "VLY",
+    "VLYPO",
+    "VLYPP",
+    "VMBS",
+    "VMC",
+    "VMD",
+    "VMET",
+    "VMI",
+    "VMM",
+    "VMO",
+    "VMW",
+    "VNCE",
+    "VNDA",
+    "VNE",
+    "VNET",
+    "VNO",
+    "VNOM",
+    "VNO^K",
+    "VNO^L",
+    "VNO^M",
+    "VNQI",
+    "VNRX",
+    "VNTR",
+    "VOC",
+    "VOD",
+    "VOLT",
+    "VONE",
+    "VONG",
+    "VONV",
+    "VOXX",
+    "VOYA",
+    "VOYA^B",
+    "VPG",
+    "VPV",
+    "VRA",
+    "VRAY",
+    "VRCA",
+    "VREX",
+    "VRIG",
+    "VRML",
+    "VRNA",
+    "VRNS",
+    "VRNT",
+    "VRRM",
+    "VRS",
+    "VRSK",
+    "VRSN",
+    "VRTS",
+    "VRTSP",
+    "VRTU",
+    "VRTV",
+    "VRTX",
+    "VSAT",
+    "VSDA",
+    "VSEC",
+    "VSH",
+    "VSI",
+    "VSLR",
+    "VSM",
+    "VSMV",
+    "VST",
+    "VST.WS.A",
+    "VSTM",
+    "VSTO",
+    "VTA",
+    "VTC",
+    "VTEC",
+    "VTGN",
+    "VTHR",
+    "VTIP",
+    "VTIQ",
+    "VTIQU",
+    "VTIQW",
+    "VTN",
+    "VTNR",
+    "VTR",
+    "VTSI",
+    "VTUS",
+    "VTVT",
+    "VTWG",
+    "VTWO",
+    "VTWV",
+    "VUSE",
+    "VUZI",
+    "VVI",
+    "VVPR",
+    "VVR",
+    "VVUS",
+    "VVV",
+    "VWOB",
+    "VXRT",
+    "VXUS",
+    "VYGR",
+    "VYMI",
+    "VZ",
+    "W",
+    "WAAS",
+    "WAB",
+    "WABC",
+    "WAFD",
+    "WAFU",
+    "WAIR",
+    "WAL",
+    "WALA",
+    "WASH",
+    "WAT",
+    "WATT",
+    "WB",
+    "WBA",
+    "WBAI",
+    "WBC",
+    "WBK",
+    "WBND",
+    "WBS",
+    "WBS^F",
+    "WBT",
+    "WCC",
+    "WCG",
+    "WCLD",
+    "WCN",
+    "WD",
+    "WDAY",
+    "WDC",
+    "WDFC",
+    "WDR",
+    "WEA",
+    "WEBK",
+    "WEC",
+    "WEI",
+    "WELL",
+    "WEN",
+    "WERN",
+    "WES",
+    "WETF",
+    "WEX",
+    "WEYS",
+    "WF",
+    "WFC",
+    "WFC^L",
+    "WFC^N",
+    "WFC^O",
+    "WFC^P",
+    "WFC^Q",
+    "WFC^R",
+    "WFC^T",
+    "WFC^V",
+    "WFC^W",
+    "WFC^X",
+    "WFC^Y",
+    "WFE^A",
+    "WGO",
+    "WH",
+    "WHD",
+    "WHF",
+    "WHFBZ",
+    "WHG",
+    "WHLM",
+    "WHLR",
+    "WHLRD",
+    "WHLRP",
+    "WHR",
+    "WIA",
+    "WIFI",
+    "WILC",
+    "WINA",
+    "WINC",
+    "WING",
+    "WINS",
+    "WIRE",
+    "WISA",
+    "WIT",
+    "WIW",
+    "WIX",
+    "WK",
+    "WKHS",
+    "WLDN",
+    "WLFC",
+    "WLH",
+    "WLK",
+    "WLKP",
+    "WLL",
+    "WLTW",
+    "WM",
+    "WMB",
+    "WMC",
+    "WMGI",
+    "WMK",
+    "WMS",
+    "WMT",
+    "WNC",
+    "WNEB",
+    "WNFM",
+    "WNS",
+    "WOOD",
+    "WOR",
+    "WORK",
+    "WORX",
+    "WOW",
+    "WPC",
+    "WPG",
+    "WPG^H",
+    "WPG^I",
+    "WPM",
+    "WPP",
+    "WPRT",
+    "WPX",
+    "WRB",
+    "WRB^B",
+    "WRB^C",
+    "WRB^D",
+    "WRB^E",
+    "WRE",
+    "WRI",
+    "WRK",
+    "WRLD",
+    "WRLS",
+    "WRLSR",
+    "WRLSU",
+    "WRLSW",
+    "WRN",
+    "WRTC",
+    "WSBC",
+    "WSBF",
+    "WSC",
+    "WSFS",
+    "WSG",
+    "WSM",
+    "WSO",
+    "WSO.B",
+    "WSR",
+    "WST",
+    "WSTG",
+    "WSTL",
+    "WTBA",
+    "WTER",
+    "WTFC",
+    "WTFCM",
+    "WTI",
+    "WTM",
+    "WTR",
+    "WTRE",
+    "WTREP",
+    "WTRH",
+    "WTRU",
+    "WTS",
+    "WTT",
+    "WTTR",
+    "WU",
+    "WUBA",
+    "WVE",
+    "WVFC",
+    "WVVI",
+    "WVVIP",
+    "WW",
+    "WWD",
+    "WWE",
+    "WWR",
+    "WWW",
+    "WY",
+    "WYND",
+    "WYNN",
+    "WYY",
+    "X",
+    "XAIR",
+    "XAN",
+    "XAN^C",
+    "XBIO",
+    "XBIOW",
+    "XBIT",
+    "XCUR",
+    "XEC",
+    "XEL",
+    "XELA",
+    "XELB",
+    "XENE",
+    "XENT",
+    "XERS",
+    "XFLT",
+    "XFOR",
+    "XHR",
+    "XIN",
+    "XLNX",
+    "XLRN",
+    "XNCR",
+    "XNET",
+    "XOG",
+    "XOM",
+    "XOMA",
+    "XON",
+    "XONE",
+    "XPEL",
+    "XPER",
+    "XPL",
+    "XPO",
+    "XRAY",
+    "XRF",
+    "XRX",
+    "XSPA",
+    "XT",
+    "XTLB",
+    "XTNT",
+    "XXII",
+    "XYF",
+    "XYL",
+    "Y",
+    "YCBD",
+    "YELP",
+    "YETI",
+    "YEXT",
+    "YGYI",
+    "YI",
+    "YIN",
+    "YJ",
+    "YLCO",
+    "YLDE",
+    "YMAB",
+    "YNDX",
+    "YORW",
+    "YPF",
+    "YRCW",
+    "YRD",
+    "YTEN",
+    "YTRA",
+    "YUM",
+    "YUMA",
+    "YUMC",
+    "YVR",
+    "YY",
+    "Z",
+    "ZAGG",
+    "ZAYO",
+    "ZBH",
+    "ZBIO",
+    "ZBK",
+    "ZBRA",
+    "ZB^A",
+    "ZB^G",
+    "ZB^H",
+    "ZDGE",
+    "ZEAL",
+    "ZEN",
+    "ZEUS",
+    "ZF",
+    "ZFGN",
+    "ZG",
+    "ZGNX",
+    "ZION",
+    "ZIONW",
+    "ZIOP",
+    "ZIV",
+    "ZIXI",
+    "ZKIN",
+    "ZLAB",
+    "ZM",
+    "ZN",
+    "ZNGA",
+    "ZNH",
+    "ZNWAA",
+    "ZOM",
+    "ZS",
+    "ZSAN",
+    "ZTEST",
+    "ZTO",
+    "ZTR",
+    "ZTS",
+    "ZUMZ",
+    "ZUO",
+    "ZVO",
+    "ZYME",
+    "ZYNE",
+    "ZYXI",
+]
+
+STOCK_NAMES = [
+    "1-800 FLOWERS.COM",
+    "10x Genomics",
+    "111",
+    "1347 Property Insurance Holdings",
+    "180 Degree Capital Corp.",
+    "1895 Bancorp of Wisconsin",
+    "1st Constitution Bancorp (NJ)",
+    "1st Source Corporation",
+    "21Vianet Group",
+    "22nd Century Group",
+    "2U",
+    "360 Finance",
+    "3D Systems Corporation",
+    "3M Company",
+    "500.com Limited",
+    "51job",
+    "58.com Inc.",
+    "8i Enterprises Acquisition Corp",
+    "8x8 Inc",
+    "9F Inc.",
+    "A-Mark Precious Metals",
+    "A.H. Belo Corporation",
+    "A.O Smith Corporation",
+    "A10 Networks",
+    "AAC Holdings",
+    "AAON",
+    "AAR Corp.",
+    "ABB Ltd",
+    "ABIOMED",
+    "ABM Industries Incorporated",
+    "AC Immune SA",
+    "ACADIA Pharmaceuticals Inc.",
+    "ACI Worldwide",
+    "ACM Research",
+    "ACNB Corporation",
+    "ADDvantage Technologies Group",
+    "ADMA Biologics Inc",
+    "ADT Inc.",
+    "ADTRAN",
+    "AECOM",
+    "AEterna Zentaris Inc.",
+    "AG Mortgage Investment Trust",
+    "AGBA Acquisition Limited",
+    "AGCO Corporation",
+    "AGM Group Holdings Inc.",
+    "AGNC Investment Corp.",
+    "AK Steel Holding Corporation",
+    "ALJ Regional Holdings",
+    "AMAG Pharmaceuticals",
+    "AMC Entertainment Holdings",
+    "AMC Networks Inc.",
+    "AMCI Acquisition Corp.",
+    "AMCON Distributing Company",
+    "AMERIPRISE FINANCIAL SERVICES",
+    "AMERISAFE",
+    "AMN Healthcare Services Inc",
+    "AMREP Corporation",
+    "AMTD International Inc.",
+    "AMTEK",
+    "ANGI Homeservices Inc.",
+    "ANI Pharmaceuticals",
+    "ANSYS",
+    "ARC Document Solutions",
+    "ARCA biopharma",
+    "ARMOUR Residential REIT",
+    "ARYA Sciences Acquisition Corp.",
+    "ASA Gold and Precious Metals Limited",
+    "ASE Technology Holding Co.",
+    "ASGN Incorporated",
+    "ASLAN Pharmaceuticals Limited",
+    "ASML Holding N.V.",
+    "AT&T Inc.",
+    "ATA Inc.",
+    "ATIF Holdings Limited",
+    "ATN International",
+    "AU Optronics Corp",
+    "AVEO Pharmaceuticals",
+    "AVROBIO",
+    "AVX Corporation",
+    "AXA Equitable Holdings",
+    "AXT Inc",
+    "AZZ Inc.",
+    "Aaron&#39;s",
+    "AbbVie Inc.",
+    "Abbott Laboratories",
+    "Abeona Therapeutics Inc.",
+    "Abercrombie & Fitch Company",
+    "Aberdeen Asia-Pacific Income Fund Inc",
+    "Aberdeen Australia Equity Fund Inc",
+    "Aberdeen Emerging Markets Equity Income Fund",
+    "Aberdeen Global Dynamic Dividend Fund",
+    "Aberdeen Global Income Fund",
+    "Aberdeen Global Premier Properties Fund",
+    "Aberdeen Income Credit Strategies Fund",
+    "Aberdeen Japan Equity Fund",
+    "Aberdeen Total Dynamic Dividend Fund",
+    "Ability Inc.",
+    "Abraxas Petroleum Corporation",
+    "Acacia Communications",
+    "Acacia Research Corporation",
+    "Acadia Healthcare Company",
+    "Acadia Realty Trust",
+    "Acamar Partners Acquisition Corp.",
+    "Acasti Pharma",
+    "Accelerate Diagnostics",
+    "Accelerated Pharma",
+    "Acceleron Pharma Inc.",
+    "Accenture plc",
+    "Acco Brands Corporation",
+    "Accuray Incorporated",
+    "AcelRx Pharmaceuticals",
+    "Acer Therapeutics Inc.",
+    "Achieve Life Sciences",
+    "Achillion Pharmaceuticals",
+    "Aclaris Therapeutics",
+    "Acme United Corporation.",
+    "Acorda Therapeutics",
+    "Acorn International",
+    "Act II Global Acquisition Corp.",
+    "Actinium Pharmaceuticals",
+    "Activision Blizzard",
+    "Actuant Corporation",
+    "Acuity Brands",
+    "Acushnet Holdings Corp.",
+    "Adamas Pharmaceuticals",
+    "Adamis Pharmaceuticals Corporation",
+    "Adams Diversified Equity Fund",
+    "Adams Natural Resources Fund",
+    "Adams Resources & Energy",
+    "Adaptimmune Therapeutics plc",
+    "Adaptive Biotechnologies Corporation",
+    "Addus HomeCare Corporation",
+    "Adecoagro S.A.",
+    "Adesto Technologies Corporation",
+    "Adial Pharmaceuticals",
+    "Adient plc",
+    "Adobe Inc.",
+    "Adtalem Global Education Inc.",
+    "Aduro Biotech",
+    "AdvanSix Inc.",
+    "Advance Auto Parts Inc",
+    "Advanced Disposal Services",
+    "Advanced Drainage Systems",
+    "Advanced Emissions Solutions",
+    "Advanced Energy Industries",
+    "Advanced Micro Devices",
+    "Advaxis",
+    "Advent Convertible and Income Fund",
+    "Adverum Biotechnologies",
+    "AdvisorShares Dorsey Wright Micro-Cap ETF",
+    "AdvisorShares Dorsey Wright Short ETF",
+    "AdvisorShares Sabretooth ETF",
+    "AdvisorShares Vice ETF",
+    "Aegion Corp",
+    "Aeglea BioTherapeutics",
+    "Aegon NV",
+    "Aehr Test Systems",
+    "Aemetis",
+    "Aercap Holdings N.V.",
+    "Aerie Pharmaceuticals",
+    "AeroCentury Corp.",
+    "AeroVironment",
+    "Aerojet Rocketdyne Holdings",
+    "Aerpio Pharmaceuticals",
+    "Aethlon Medical",
+    "Aevi Genomic Medicine",
+    "Affiliated Managers Group",
+    "Affimed N.V.",
+    "Aflac Incorporated",
+    "Afya Limited",
+    "AgEagle Aerial Systems",
+    "AgeX Therapeutics",
+    "Agenus Inc.",
+    "Agile Therapeutics",
+    "Agilent Technologies",
+    "Agilysys",
+    "Agios Pharmaceuticals",
+    "Agnico Eagle Mines Limited",
+    "Agree Realty Corporation",
+    "AgroFresh Solutions",
+    "Aileron Therapeutics",
+    "Aimmune Therapeutics",
+    "Air Industries Group",
+    "Air Lease Corporation",
+    "Air Products and Chemicals",
+    "Air T",
+    "Air Transport Services Group",
+    "AirNet Technology Inc.",
+    "Aircastle Limited",
+    "Airgain",
+    "Akamai Technologies",
+    "Akari Therapeutics Plc",
+    "Akazoo S.A.",
+    "Akcea Therapeutics",
+    "Akebia Therapeutics",
+    "Akerna Corp.",
+    "Akero Therapeutics",
+    "Akers Biosciences Inc.",
+    "Akorn",
+    "Akoustis Technologies",
+    "Alabama Power Company",
+    "Alamo Group",
+    "Alamos Gold Inc.",
+    "Alarm.com Holdings",
+    "Alaska Air Group",
+    "Alaska Communications Systems Group",
+    "Albany International Corporation",
+    "Albemarle Corporation",
+    "Alberton Acquisition Corporation",
+    "Albireo Pharma",
+    "Alcentra Capital Corp.",
+    "Alcoa Corporation",
+    "Alcon Inc.",
+    "Alder BioPharmaceuticals",
+    "Aldeyra Therapeutics",
+    "Alector",
+    "Alerus Financial Corporation",
+    "Alexander & Baldwin",
+    "Alexander&#39;s",
+    "Alexandria Real Estate Equities",
+    "Alexco Resource Corp",
+    "Alexion Pharmaceuticals",
+    "Algonquin Power & Utilities Corp.",
+    "Alibaba Group Holding Limited",
+    "Alico",
+    "Alight Inc.",
+    "Align Technology",
+    "Alimera Sciences",
+    "Alio Gold Inc.",
+    "Alithya Group inc.",
+    "Alkermes plc",
+    "Allakos Inc.",
+    "Alleghany Corporation",
+    "Allegheny Technologies Incorporated",
+    "Allegiance Bancshares",
+    "Allegiant Travel Company",
+    "Allegion plc",
+    "Allegro Merger Corp.",
+    "Allena Pharmaceuticals",
+    "Allergan plc.",
+    "Allete",
+    "Alliance Data Systems Corporation",
+    "Alliance National Municipal Income Fund Inc",
+    "Alliance Resource Partners",
+    "Alliance World Dollar Government Fund II",
+    "AllianceBernstein Holding L.P.",
+    "Alliant Energy Corporation",
+    "AllianzGI Convertible & Income 2024 Target Term Fund",
+    "AllianzGI Convertible & Income Fund",
+    "AllianzGI Convertible & Income Fund II",
+    "AllianzGI Diversified Income & Convertible Fund",
+    "AllianzGI Equity & Convertible Income Fund",
+    "AllianzGI NFJ Dividend",
+    "Allied Esports Entertainment",
+    "Allied Healthcare Products",
+    "Allied Motion Technologies",
+    "Allison Transmission Holdings",
+    "Allogene Therapeutics",
+    "Allot Ltd.",
+    "Allscripts Healthcare Solutions",
+    "Allstate Corporation (The)",
+    "Ally Financial Inc.",
+    "Almaden Minerals",
+    "Alnylam Pharmaceuticals",
+    "Alpha Pro Tech",
+    "Alpha and Omega Semiconductor Limited",
+    "AlphaMark Actively Managed Small Cap ETF",
+    "Alphabet Inc.",
+    "Alphatec Holdings",
+    "Alpine Immune Sciences",
+    "Alta Mesa Resources",
+    "Altaba Inc.",
+    "Altair Engineering Inc.",
+    "Alterity Therapeutics Limited",
+    "Alteryx",
+    "Altice USA",
+    "Altimmune",
+    "Altisource Asset Management Corp",
+    "Altisource Portfolio Solutions S.A.",
+    "Altra Industrial Motion Corp.",
+    "Altria Group",
+    "Altus Midstream Company",
+    "Aluminum Corporation of China Limited",
+    "Amalgamated Bank",
+    "Amarin Corporation plc",
+    "Amazon.com",
+    "Ambac Financial Group",
+    "Ambarella",
+    "Ambev S.A.",
+    "Ambow Education Holding Ltd.",
+    "Amcor plc",
+    "Amdocs Limited",
+    "Amedisys Inc",
+    "Amerant Bancorp Inc.",
+    "Amerco",
+    "Ameren Corporation",
+    "Ameresco",
+    "Ameri Holdings",
+    "AmeriServ Financial Inc.",
+    "America First Multifamily Investors",
+    "America Movil",
+    "America&#39;s Car-Mart",
+    "American Airlines Group",
+    "American Assets Trust",
+    "American Axle & Manufacturing Holdings",
+    "American Campus Communities Inc",
+    "American Eagle Outfitters",
+    "American Electric Power Company",
+    "American Equity Investment Life Holding Company",
+    "American Express Company",
+    "American Finance Trust",
+    "American Financial Group",
+    "American Homes 4 Rent",
+    "American International Group",
+    "American National Bankshares",
+    "American National Insurance Company",
+    "American Outdoor Brands Corporation",
+    "American Public Education",
+    "American Realty Investors",
+    "American Renal Associates Holdings",
+    "American Resources Corporation",
+    "American River Bankshares",
+    "American Shared Hospital Services",
+    "American Software",
+    "American States Water Company",
+    "American Superconductor Corporation",
+    "American Tower Corporation (REIT)",
+    "American Vanguard Corporation",
+    "American Water Works",
+    "American Woodmark Corporation",
+    "Americas Gold and Silver Corporation",
+    "Americold Realty Trust",
+    "Ameris Bancorp",
+    "AmerisourceBergen Corporation (Holding Co)",
+    "Ames National Corporation",
+    "Amgen Inc.",
+    "Amicus Therapeutics",
+    "Amira Nature Foods Ltd",
+    "Amkor Technology",
+    "Amneal Pharmaceuticals",
+    "Ampco-Pittsburgh Corporation",
+    "Amphastar Pharmaceuticals",
+    "Amphenol Corporation",
+    "Ampio Pharmaceuticals",
+    "Amplify Online Retail ETF",
+    "Amtech Systems",
+    "Amyris",
+    "Analog Devices",
+    "Anaplan",
+    "AnaptysBio",
+    "Anavex Life Sciences Corp.",
+    "Anchiano Therapeutics Ltd.",
+    "Andina Acquisition Corp. III",
+    "Angel Oak Financial Strategies Income Term Trust",
+    "AngioDynamics",
+    "AngloGold Ashanti Limited",
+    "Anheuser-Busch Inbev SA",
+    "Anika Therapeutics Inc.",
+    "Anixa Biosciences",
+    "Anixter International Inc.",
+    "Annaly Capital Management Inc",
+    "Antares Pharma",
+    "Anterix Inc.",
+    "Antero Midstream Corporation",
+    "Antero Resources Corporation",
+    "Anthem",
+    "Anworth Mortgage Asset  Corporation",
+    "Aon plc",
+    "Apache Corporation",
+    "Apartment Investment and Management Company",
+    "Apellis Pharmaceuticals",
+    "Apergy Corporation",
+    "Apex Global Brands Inc.",
+    "Aphria Inc.",
+    "Apogee Enterprises",
+    "Apollo Commercial Real Estate Finance",
+    "Apollo Endosurgery",
+    "Apollo Global Management",
+    "Apollo Investment Corporation",
+    "Apollo Medical Holdings",
+    "Apollo Senior Floating Rate Fund Inc.",
+    "Apollo Tactical Income Fund Inc.",
+    "AppFolio",
+    "Appian Corporation",
+    "Apple Hospitality REIT",
+    "Apple Inc.",
+    "Applied DNA Sciences Inc",
+    "Applied Genetic Technologies Corporation",
+    "Applied Industrial Technologies",
+    "Applied Materials",
+    "Applied Optoelectronics",
+    "Applied Therapeutics",
+    "Approach Resources Inc.",
+    "AptarGroup",
+    "Aptevo Therapeutics Inc.",
+    "Aptinyx Inc.",
+    "Aptiv PLC",
+    "Aptorum Group Limited",
+    "Aptose Biosciences",
+    "Apyx Medical Corporation",
+    "Aqua America",
+    "Aqua Metals",
+    "AquaBounty Technologies",
+    "AquaVenture Holdings Limited",
+    "Aquantia Corp.",
+    "Aquestive Therapeutics",
+    "ArQule",
+    "Aramark",
+    "Aravive",
+    "Arbor Realty Trust",
+    "Arbutus Biopharma Corporation",
+    "ArcBest Corporation",
+    "Arcadia Biosciences",
+    "ArcelorMittal",
+    "Arch Capital Group Ltd.",
+    "Arch Coal",
+    "Archer-Daniels-Midland Company",
+    "Archrock",
+    "Arcimoto",
+    "Arco Platform Limited",
+    "Arconic Inc.",
+    "Arcos Dorados Holdings Inc.",
+    "Arcosa",
+    "Arcturus Therapeutics Holdings Inc.",
+    "Arcus Biosciences",
+    "Ardagh Group S.A.",
+    "Ardelyx",
+    "Ardmore Shipping Corporation",
+    "Arena Pharmaceuticals",
+    "Ares Capital Corporation",
+    "Ares Commercial Real Estate Corporation",
+    "Ares Dynamic Credit Allocation Fund",
+    "Ares Management Corporation",
+    "Argan",
+    "Argo Group International Holdings",
+    "Aridis Pharmaceuticals Inc.",
+    "Arista Networks",
+    "Ark Restaurants Corp.",
+    "Arlington Asset Investment Corp",
+    "Arlo Technologies",
+    "Armada Hoffler Properties",
+    "Armata Pharmaceuticals",
+    "Armstrong Flooring",
+    "Armstrong World Industries Inc",
+    "Arotech Corporation",
+    "Arrow DWA Country Rotation ETF",
+    "Arrow DWA Tactical ETF",
+    "Arrow Electronics",
+    "Arrow Financial Corporation",
+    "Arrowhead Pharmaceuticals",
+    "Art&#39;s-Way Manufacturing Co.",
+    "Artelo Biosciences",
+    "Artesian Resources Corporation",
+    "Arthur J. Gallagher & Co.",
+    "Artisan Partners Asset Management Inc.",
+    "Arvinas",
+    "Asanko Gold Inc.",
+    "Asbury Automotive Group Inc",
+    "Ascena Retail Group",
+    "Ascendis Pharma A/S",
+    "Ashford Hospitality Trust Inc",
+    "Ashford Inc.",
+    "Ashland Global Holdings Inc.",
+    "Asia Pacific Wire & Cable Corporation Limited",
+    "Aspen Aerogels",
+    "Aspen Group Inc.",
+    "Aspen Insurance Holdings Limited",
+    "Aspen Technology",
+    "Assembly Biosciences",
+    "Assertio Therapeutics",
+    "AssetMark Financial Holdings",
+    "Associated Banc-Corp",
+    "Associated Capital Group",
+    "Assurant",
+    "Assured Guaranty Ltd.",
+    "Asta Funding",
+    "Astec Industries",
+    "Astrazeneca PLC",
+    "AstroNova",
+    "Astronics Corporation",
+    "Astrotech Corporation",
+    "Asure Software Inc",
+    "At Home Group Inc.",
+    "Atara Biotherapeutics",
+    "Atento S.A.",
+    "Athene Holding Ltd.",
+    "Athenex",
+    "Athersys",
+    "Atkore International Group Inc.",
+    "Atlantic American Corporation",
+    "Atlantic Capital Bancshares",
+    "Atlantic Power Corporation",
+    "Atlantic Union Bankshares Corporation",
+    "Atlantica Yield plc",
+    "Atlanticus Holdings Corporation",
+    "Atlas Air Worldwide Holdings",
+    "Atlas Financial Holdings",
+    "Atlassian Corporation Plc",
+    "Atmos Energy Corporation",
+    "Atomera Incorporated",
+    "Atossa Genetics Inc.",
+    "Atreca",
+    "AtriCure",
+    "Atrion Corporation",
+    "Attis Industries Inc.",
+    "Auburn National Bancorporation",
+    "Audentes Therapeutics",
+    "AudioCodes Ltd.",
+    "AudioEye",
+    "Aurinia Pharmaceuticals Inc",
+    "Auris Medical Holding Ltd.",
+    "Aurora Cannabis Inc.",
+    "Aurora Mobile Limited",
+    "Auryn Resources Inc.",
+    "AutoNation",
+    "AutoWeb",
+    "AutoZone",
+    "Autodesk",
+    "Autohome Inc.",
+    "Autoliv",
+    "Autolus Therapeutics plc",
+    "Automatic Data Processing",
+    "Avadel Pharmaceuticals plc",
+    "Avalara",
+    "Avalon GloboCare Corp.",
+    "Avalon Holdings Corporation",
+    "AvalonBay Communities",
+    "Avangrid",
+    "Avanos Medical",
+    "Avantor",
+    "Avaya Holdings Corp.",
+    "Avedro",
+    "Avenue Therapeutics",
+    "Avery Dennison Corporation",
+    "Avianca Holdings S.A.",
+    "Aviat Networks",
+    "Avid Bioservices",
+    "Avid Technology",
+    "Avinger",
+    "Avino Silver",
+    "Avis Budget Group",
+    "Avista Corporation",
+    "Avnet",
+    "Avon Products",
+    "Aware",
+    "Axalta Coating Systems Ltd.",
+    "Axcelis Technologies",
+    "Axcella Health Inc.",
+    "Axis Capital Holdings Limited",
+    "AxoGen",
+    "Axon Enterprise",
+    "Axonics Modulation Technologies",
+    "Axos Financial",
+    "Axovant Gene Therapies Ltd.",
+    "Axsome Therapeutics",
+    "Aytu BioScience",
+    "Azul S.A.",
+    "AzurRx BioPharma",
+    "Azure Power Global Limited",
+    "B Communications Ltd.",
+    "B&G Foods",
+    "B. Riley Financial",
+    "B. Riley Principal Merger Corp.",
+    "B.O.S. Better Online Solutions",
+    "B2Gold Corp",
+    "BATS BZX Exchange",
+    "BB&T Corporation",
+    "BBVA Banco Frances S.A.",
+    "BBX Capital Corporation",
+    "BCB Bancorp",
+    "BCE",
+    "BELLUS Health Inc.",
+    "BEST Inc.",
+    "BG Staffing Inc",
+    "BGC Partners",
+    "BHP Group Limited",
+    "BHP Group Plc",
+    "BIO-key International",
+    "BJ&#39;s Restaurants",
+    "BJ&#39;s Wholesale Club Holdings",
+    "BK Technologies Corporation",
+    "BLACKROCK INTERNATIONAL",
+    "BMC Stock Holdings",
+    "BNY Mellon Alcentra Global Credit Income 2024 Target Term Fund",
+    "BNY Mellon High Yield Strategies Fund",
+    "BNY Mellon Municipal Bond Infrastructure Fund",
+    "BNY Mellon Municipal Income Inc.",
+    "BNY Mellon Strategic Municipal Bond Fund",
+    "BNY Mellon Strategic Municipals",
+    "BOK Financial Corporation",
+    "BP Midstream Partners LP",
+    "BP Prudhoe Bay Royalty Trust",
+    "BP p.l.c.",
+    "BRF S.A.",
+    "BRP Inc.",
+    "BRT Apartments Corp.",
+    "BSQUARE Corporation",
+    "BT Group plc",
+    "BWX Technologies",
+    "Babcock",
+    "Babson Global Short Duration High Yield Fund",
+    "Badger Meter",
+    "Baidu",
+    "Bain Capital Specialty Finance",
+    "Baker Hughes",
+    "Balchem Corporation",
+    "BalckRock Taxable Municipal Bond Trust",
+    "Ball Corporation",
+    "Ballantyne Strong",
+    "Ballard Power Systems",
+    "BanColombia S.A.",
+    "Banc of California",
+    "BancFirst Corporation",
+    "Banco Bilbao Viscaya Argentaria S.A.",
+    "Banco Bradesco Sa",
+    "Banco De Chile",
+    "Banco Latinoamericano de Comercio Exterior",
+    "Banco Santander",
+    "Banco Santander Brasil SA",
+    "Banco Santander Chile",
+    "Banco Santander Mexico",
+    "Bancorp 34",
+    "Bancorp of New Jersey",
+    "BancorpSouth Bank",
+    "Bancroft Fund Limited",
+    "Bandwidth Inc.",
+    "Bank First Corporation",
+    "Bank OZK",
+    "Bank Of Montreal",
+    "Bank Of New York Mellon Corporation (The)",
+    "Bank of America Corporation",
+    "Bank of Commerce Holdings (CA)",
+    "Bank of Hawaii Corporation",
+    "Bank of Marin Bancorp",
+    "Bank of N.T. Butterfield & Son Limited (The)",
+    "Bank of Nova Scotia (The)",
+    "Bank of South Carolina Corp.",
+    "Bank of the James Financial Group",
+    "Bank7 Corp.",
+    "BankFinancial Corporation",
+    "BankUnited",
+    "Bankwell Financial Group",
+    "Banner Corporation",
+    "Baozun Inc.",
+    "Bar Harbor Bankshares",
+    "Barclays PLC",
+    "Barings BDC",
+    "Barings Corporate Investors",
+    "Barings Participation Investors",
+    "Barnes & Noble Education",
+    "Barnes Group",
+    "Barnwell Industries",
+    "Barrett Business Services",
+    "Barrick Gold Corporation",
+    "Basic Energy Services",
+    "Bassett Furniture Industries",
+    "Bat Group",
+    "Bausch Health Companies Inc.",
+    "Baxter International Inc.",
+    "BayCom Corp",
+    "Baytex Energy Corp",
+    "Beacon Roofing Supply",
+    "Beasley Broadcast Group",
+    "Beazer Homes USA",
+    "Becton",
+    "Bed Bath & Beyond Inc.",
+    "BeiGene",
+    "Bel Fuse Inc.",
+    "Belden Inc",
+    "Bellerophon Therapeutics",
+    "Bellicum Pharmaceuticals",
+    "Benchmark Electronics",
+    "Benefitfocus",
+    "Benitec Biopharma Limited",
+    "Berkshire Hathaway Inc.",
+    "Berkshire Hills Bancorp",
+    "Berry Global Group",
+    "Berry Petroleum Corporation",
+    "Best Buy Co.",
+    "Beyond Air",
+    "Beyond Meat",
+    "BeyondSpring",
+    "Bicycle Therapeutics plc",
+    "Big 5 Sporting Goods Corporation",
+    "Big Lots",
+    "Big Rock Partners Acquisition Corp.",
+    "Biglari Holdings Inc.",
+    "Bilibili Inc.",
+    "Bio-Path Holdings",
+    "Bio-Rad Laboratories",
+    "Bio-Techne Corp",
+    "BioCardia",
+    "BioCryst Pharmaceuticals",
+    "BioDelivery Sciences International",
+    "BioHiTech Global",
+    "BioLife Solutions",
+    "BioLineRx Ltd.",
+    "BioMarin Pharmaceutical Inc.",
+    "BioPharmX Corporation",
+    "BioSig Technologies",
+    "BioSpecifics Technologies Corp",
+    "BioTelemetry",
+    "BioVie Inc.",
+    "BioXcel Therapeutics",
+    "Bioanalytical Systems",
+    "Biocept",
+    "Bioceres Crop Solutions Corp.",
+    "Biofrontera AG",
+    "Biogen Inc.",
+    "Biohaven Pharmaceutical Holding Company Ltd.",
+    "Biolase",
+    "Biomerica",
+    "Bionano Genomics",
+    "BiondVax Pharmaceuticals Ltd.",
+    "Bionik Laboratories Corp.",
+    "Birks Group Inc.",
+    "Bitauto Holdings Limited",
+    "Black Hills Corporation",
+    "Black Knight",
+    "Black Stone Minerals",
+    "BlackBerry Limited",
+    "BlackLine",
+    "BlackRock",
+    "BlackRock 2022 Global Income Opportunity Trust",
+    "BlackRock California Municipal Income Trust",
+    "BlackRock Capital Investment Corporation",
+    "BlackRock Credit Allocation Income Trust",
+    "BlackRock Energy and Resources Trust",
+    "BlackRock Income Investment Quality Trust",
+    "BlackRock Income Trust Inc. (The)",
+    "BlackRock Investment Quality Municipal Trust Inc. (The)",
+    "BlackRock Long-Term Municipal Advantage Trust",
+    "BlackRock Maryland Municipal Bond Trust",
+    "BlackRock Massachusetts Tax-Exempt Trust",
+    "BlackRock Multi-Sector Income Trust",
+    "BlackRock Municipal Income Investment Trust",
+    "BlackRock Municipal Income Trust",
+    "BlackRock Municipal Income Trust II",
+    "BlackRock Municipal Target Term Trust Inc. (The)",
+    "BlackRock New York Investment Quality Municipal Trust Inc. (Th",
+    "BlackRock New York Municipal Income Trust II",
+    "BlackRock Resources",
+    "BlackRock Science and Technology Trust",
+    "BlackRock Science and Technology Trust II",
+    "BlackRock Strategic Municipal Trust Inc. (The)",
+    "BlackRock TCP Capital Corp.",
+    "BlackRock Utility",
+    "BlackRock Virginia Municipal Bond Trust",
+    "Blackbaud",
+    "Blackrock Capital and Income Strategies Fund Inc",
+    "Blackrock Core Bond Trust",
+    "Blackrock Corporate High Yield Fund",
+    "Blackrock Debt Strategies Fund",
+    "Blackrock Enhanced Equity Dividend Trust",
+    "Blackrock Enhanced Government Fund",
+    "Blackrock Floating Rate Income Strategies Fund Inc",
+    "Blackrock Florida Municipal 2020 Term Trust",
+    "Blackrock Global",
+    "Blackrock Health Sciences Trust",
+    "Blackrock Muni Intermediate Duration Fund Inc",
+    "Blackrock Muni New York Intermediate Duration Fund Inc",
+    "Blackrock MuniAssets Fund",
+    "Blackrock MuniEnhanced Fund",
+    "Blackrock MuniHoldings California Quality Fund",
+    "Blackrock MuniHoldings Fund",
+    "Blackrock MuniHoldings Fund II",
+    "Blackrock MuniHoldings Investment Quality Fund",
+    "Blackrock MuniHoldings New Jersey Insured Fund",
+    "Blackrock MuniHoldings New York Quality Fund",
+    "Blackrock MuniHoldings Quality Fund",
+    "Blackrock MuniHoldings Quality Fund II",
+    "Blackrock MuniVest Fund II",
+    "Blackrock MuniYield California Fund",
+    "Blackrock MuniYield California Insured Fund",
+    "Blackrock MuniYield Fund",
+    "Blackrock MuniYield Investment Fund",
+    "Blackrock MuniYield Investment QualityFund",
+    "Blackrock MuniYield Michigan Quality Fund",
+    "Blackrock MuniYield New Jersey Fund",
+    "Blackrock MuniYield New York Quality Fund",
+    "Blackrock MuniYield Pennsylvania Quality Fund",
+    "Blackrock MuniYield Quality Fund",
+    "Blackrock MuniYield Quality Fund II",
+    "Blackrock MuniYield Quality Fund III",
+    "Blackrock Municipal 2020 Term Trust",
+    "Blackrock Municipal Bond Trust",
+    "Blackrock Municipal Income Quality Trust",
+    "Blackrock New York Municipal Bond Trust",
+    "Blackrock New York Municipal Income Quality Trust",
+    "Blackstone / GSO Strategic Credit Fund",
+    "Blackstone GSO Long Short Credit Income Fund",
+    "Blackstone GSO Senior Floating Rate Term Fund",
+    "Blink Charging Co.",
+    "Blonder Tongue Laboratories",
+    "Bloom Energy Corporation",
+    "Bloomin&#39; Brands",
+    "Blucora",
+    "Blue Apron Holdings",
+    "Blue Bird Corporation",
+    "Blue Capital Reinsurance Holdings Ltd.",
+    "Blue Hat Interactive Entertainment Technology",
+    "BlueLinx Holdings Inc.",
+    "BlueStar Israel Technology ETF",
+    "Bluegreen Vacations Corporation",
+    "Blueknight Energy Partners L.P.",
+    "Blueprint Medicines Corporation",
+    "Bluerock Residential Growth REIT",
+    "Boeing Company (The)",
+    "Boingo Wireless",
+    "Boise Cascade",
+    "Bonanza Creek Energy",
+    "Bonso Electronics International",
+    "Booking Holdings Inc.",
+    "Boot Barn Holdings",
+    "Booz Allen Hamilton Holding Corporation",
+    "BorgWarner Inc.",
+    "Borqs Technologies",
+    "Borr Drilling Limited",
+    "Boston Beer Company",
+    "Boston Omaha Corporation",
+    "Boston Private Financial Holdings",
+    "Boston Properties",
+    "Boston Scientific Corporation",
+    "Bottomline Technologies",
+    "Bowl America",
+    "Box",
+    "Boxlight Corporation",
+    "Boxwood Merger Corp.",
+    "Boyd Gaming Corporation",
+    "Brady Corporation",
+    "Braeburn Pharmaceuticals",
+    "Braemar Hotels & Resorts Inc.",
+    "Brainstorm Cell Therapeutics Inc.",
+    "Brainsway Ltd.",
+    "Brandywine Realty Trust",
+    "BrandywineGLOBAL Global Income Opportunities Fund ",
+    "Brasilagro Cia Brasileira De Propriedades Agricolas",
+    "Brickell Biotech",
+    "Bridge Bancorp",
+    "BridgeBio Pharma",
+    "Bridgeline Digital",
+    "Bridgewater Bancshares",
+    "Bridgford Foods Corporation",
+    "Briggs & Stratton Corporation",
+    "Brigham Minerals",
+    "Bright Horizons Family Solutions Inc.",
+    "Bright Scholar Education Holdings Limited",
+    "BrightSphere Investment Group Inc.",
+    "BrightView Holdings",
+    "Brightcove Inc.",
+    "Brighthouse Financial",
+    "Brink&#39;s Company (The)",
+    "Brinker International",
+    "Bristol-Myers Squibb Company",
+    "British American Tobacco p.l.c.",
+    "Brixmor Property Group Inc.",
+    "BroadVision",
+    "Broadcom Inc.",
+    "Broadridge Financial Solutions",
+    "Broadway Financial Corporation",
+    "Broadwind Energy",
+    "Brookdale Senior Living Inc.",
+    "Brookfield Asset Management Inc",
+    "Brookfield Business Partners L.P.",
+    "Brookfield DTLA Inc.",
+    "Brookfield Global Listed Infrastructure Income Fund",
+    "Brookfield Infrastructure Partners LP",
+    "Brookfield Property Partners L.P.",
+    "Brookfield Property REIT Inc.",
+    "Brookfield Real Assets Income Fund Inc.",
+    "Brookfield Renewable Partners L.P.",
+    "Brookline Bancorp",
+    "Brooks Automation",
+    "Brown & Brown",
+    "Brown Forman Corporation",
+    "Bruker Corporation",
+    "Brunswick Corporation",
+    "Bryn Mawr Bank Corporation",
+    "Buckeye Partners L.P.",
+    "Buckle",
+    "Buenaventura Mining Company Inc.",
+    "Build-A-Bear Workshop",
+    "Builders FirstSource",
+    "Bunge Limited",
+    "Burlington Stores",
+    "Business First Bancshares",
+    "Byline Bancorp",
+    "C&F Financial Corporation",
+    "C&J Energy Services",
+    "C.H. Robinson Worldwide",
+    "CABCO Series 2004-101 Trust",
+    "CACI International",
+    "CAE Inc",
+    "CAI International",
+    "CASI Pharmaceuticals",
+    "CB Financial Services",
+    "CBAK Energy Technology",
+    "CBIZ",
+    "CBL & Associates Properties",
+    "CBM Bancorp",
+    "CBO (Listing Market - NYSE - Networks A/E)",
+    "CBRE Clarion Global Real Estate Income Fund",
+    "CBRE Group",
+    "CBS Corporation",
+    "CBTX",
+    "CBX (Listing Market NYSE Networks AE",
+    "CDK Global",
+    "CDW Corporation",
+    "CECO Environmental Corp.",
+    "CEVA",
+    "CF Finance Acquisition Corp.",
+    "CF Industries Holdings",
+    "CGI Inc.",
+    "CHF Solutions",
+    "CHS Inc",
+    "CIM Commercial Trust Corporation",
+    "CIRCOR International",
+    "CIT Group Inc (DEL)",
+    "CKX Lands",
+    "CLPS Incorporation",
+    "CME Group Inc.",
+    "CMS Energy Corporation",
+    "CNA Financial Corporation",
+    "CNB Financial Corporation",
+    "CNFinance Holdings Limited",
+    "CNH Industrial N.V.",
+    "CNO Financial Group",
+    "CNOOC Limited",
+    "CNX Midstream Partners LP",
+    "CNX Resources Corporation",
+    "CONMED Corporation",
+    "CONSOL Coal Resources LP",
+    "CPB Inc.",
+    "CPFL Energia S.A.",
+    "CPI Aerostructures",
+    "CPI Card Group Inc.",
+    "CPS Technologies Corp.",
+    "CRA International",
+    "CRH Medical Corporation",
+    "CRH PLC",
+    "CRISPR Therapeutics AG",
+    "CSG Systems International",
+    "CSI Compressco LP",
+    "CSP Inc.",
+    "CSS Industries",
+    "CSW Industrials",
+    "CSX Corporation",
+    "CTI BioPharma Corp.",
+    "CTI Industries Corporation",
+    "CTS Corporation",
+    "CUI Global",
+    "CURO Group Holdings Corp.",
+    "CVB Financial Corporation",
+    "CVD Equipment Corporation",
+    "CVR Energy Inc.",
+    "CVR Partners",
+    "CVS Health Corporation",
+    "CYREN Ltd.",
+    "Cable One",
+    "Cabot Corporation",
+    "Cabot Microelectronics Corporation",
+    "Cabot Oil & Gas Corporation",
+    "Cactus",
+    "Cadence Bancorporation",
+    "Cadence Design Systems",
+    "Cadiz",
+    "Caesars Entertainment Corporation",
+    "Caesarstone Ltd.",
+    "Cal-Maine Foods",
+    "CalAmp Corp.",
+    "Caladrius Biosciences",
+    "Calamos Convertible Opportunities and Income Fund",
+    "Calamos Convertible and High Income Fund",
+    "Calamos Dynamic Convertible & Income Fund",
+    "Calamos Global Dynamic Income Fund",
+    "Calamos Global Total Return Fund",
+    "Calamos Strategic Total Return Fund",
+    "Calavo Growers",
+    "Caledonia Mining Corporation Plc",
+    "Caleres",
+    "California Resources Corporation",
+    "California Water  Service Group Holding",
+    "Calithera Biosciences",
+    "Calix",
+    "Callaway Golf Company",
+    "Callon Petroleum Company",
+    "Calumet Specialty Products Partners",
+    "Calyxt",
+    "Camber Energy",
+    "Cambium Networks Corporation",
+    "Cambrex Corporation",
+    "Cambridge Bancorp",
+    "Camden National Corporation",
+    "Camden Property Trust",
+    "Cameco Corporation",
+    "Campbell Soup Company",
+    "Camping World Holdings",
+    "Camtek Ltd.",
+    "Can-Fite Biopharma Ltd",
+    "Canada Goose Holdings Inc.",
+    "Canadian Imperial Bank of Commerce",
+    "Canadian National Railway Company",
+    "Canadian Natural Resources Limited",
+    "Canadian Pacific Railway Limited",
+    "Canadian Solar Inc.",
+    "Cancer Genetics",
+    "Cango Inc.",
+    "CannTrust Holdings Inc.",
+    "Cannae Holdings",
+    "Canon",
+    "Canopy Growth Corporation",
+    "Cantel Medical Corp.",
+    "Canterbury Park Holding Corporation",
+    "CapStar Financial Holdings",
+    "Capital Bancorp",
+    "Capital City Bank Group",
+    "Capital One Financial Corporation",
+    "Capital Product Partners L.P.",
+    "Capital Senior Living Corporation",
+    "Capital Southwest Corporation",
+    "Capital Trust",
+    "Capitala Finance Corp.",
+    "Capitol Federal Financial",
+    "Capri Holdings Limited",
+    "Capricor Therapeutics",
+    "Capstead Mortgage Corporation",
+    "Capstone Turbine Corporation",
+    "CarGurus",
+    "CarMax Inc",
+    "Cara Therapeutics",
+    "Carbo Ceramics",
+    "Carbon Black",
+    "Carbonite",
+    "Cardinal Health",
+    "Cardiovascular Systems",
+    "Cardlytics",
+    "Cardtronics plc",
+    "Care.com",
+    "CareDx",
+    "CareTrust REIT",
+    "Career Education Corporation",
+    "Carlisle Companies Incorporated",
+    "Carnival Corporation",
+    "Carolina Financial Corporation",
+    "Carolina Trust BancShares",
+    "Carpenter Technology Corporation",
+    "Carriage Services",
+    "Carrizo Oil & Gas",
+    "Carrols Restaurant Group",
+    "Cars.com Inc.",
+    "Carter Bank & Trust",
+    "Carter&#39;s",
+    "Carvana Co.",
+    "Carver Bancorp",
+    "Casa Systems",
+    "Casella Waste Systems",
+    "Caseys General Stores",
+    "Cass Information Systems",
+    "Cassava Sciences",
+    "Castle Biosciences",
+    "Castle Brands",
+    "Castlight Health",
+    "Castor Maritime Inc.",
+    "Catabasis Pharmaceuticals",
+    "Catalent",
+    "Catalyst Biosciences",
+    "Catalyst Pharmaceuticals",
+    "Catasys",
+    "CatchMark Timber Trust",
+    "Caterpillar",
+    "Cathay General Bancorp",
+    "Cato Corporation (The)",
+    "Cavco Industries",
+    "Cboe Global Markets",
+    "Cedar Fair",
+    "Cedar Realty Trust",
+    "Cel-Sci Corporation",
+    "Celanese Corporation",
+    "Celcuity Inc.",
+    "Celestica",
+    "Celgene Corporation",
+    "Cellcom Israel",
+    "Celldex Therapeutics",
+    "Cellect Biotechnology Ltd.",
+    "Cellectar Biosciences",
+    "Cellectis S.A.",
+    "Cellular Biomedicine Group",
+    "Celsion Corporation",
+    "Celsius Holdings",
+    "Celyad SA",
+    "Cementos Pacasmayo S.A.A.",
+    "Cemex S.A.B. de C.V.",
+    "Cemtrex Inc.",
+    "Cenovus Energy Inc",
+    "Centene Corporation",
+    "Centennial Resource Development",
+    "Center Coast Brookfield MLP & Energy Infrastructur",
+    "CenterPoint Energy",
+    "CenterState Bank Corporation",
+    "Centrais Electricas Brasileiras S.A.- Eletrobras",
+    "Central European Media Enterprises Ltd.",
+    "Central Federal Corporation",
+    "Central Garden & Pet Company",
+    "Central Puerto S.A.",
+    "Central Securities Corporation",
+    "Central Valley Community Bancorp",
+    "Centrexion Therapeutics Corporation",
+    "Centric Brands Inc.",
+    "Centrus Energy Corp.",
+    "Century Aluminum Company",
+    "Century Bancorp",
+    "Century Casinos",
+    "Century Communities",
+    "CenturyLink",
+    "Ceragon Networks Ltd.",
+    "Cerecor Inc.",
+    "Ceridian HCM Holding Inc.",
+    "Cerner Corporation",
+    "Cerus Corporation",
+    "Cesca Therapeutics Inc.",
+    "ChaSerg Technology Acquisition Corp.",
+    "Champions Oncology",
+    "Change Healthcare Inc.",
+    "Changyou.com Limited",
+    "ChannelAdvisor Corporation",
+    "Chanticleer Holdings",
+    "Chaparral Energy",
+    "Charah Solutions",
+    "Chardan Healthcare Acquisition Corp.",
+    "Charles & Colvard Ltd.",
+    "Charles River Laboratories International",
+    "Chart Industries",
+    "Charter Communications",
+    "Chase Corporation",
+    "Chatham Lodging Trust (REIT)",
+    "Check Point Software Technologies Ltd.",
+    "Check-Cap Ltd.",
+    "Checkpoint Therapeutics",
+    "Cheetah Mobile Inc.",
+    "Chegg",
+    "Chembio Diagnostics",
+    "Chemed Corp.",
+    "ChemoCentryx",
+    "Chemours Company (The)",
+    "Chemung Financial Corp",
+    "Cheniere Energy",
+    "Cheniere Energy Partners",
+    "Cherry Hill Mortgage Investment Corporation",
+    "Chesapeake Energy Corporation",
+    "Chesapeake Granite Wash Trust",
+    "Chesapeake Lodging Trust",
+    "Chesapeake Utilities Corporation",
+    "Chevron Corporation",
+    "Chewy",
+    "Chiasma",
+    "Chicago Rivet & Machine Co.",
+    "Chicken Soup for the Soul Entertainment",
+    "Chico&#39;s FAS",
+    "Children&#39;s Place",
+    "Chimera Investment Corporation",
+    "Chimerix",
+    "China Automotive Systems",
+    "China Biologic Products Holdings",
+    "China Ceramics Co.",
+    "China Customer Relations Centers",
+    "China Distance Education Holdings Limited",
+    "China Eastern Airlines Corporation Ltd.",
+    "China Finance Online Co. Limited",
+    "China Fund",
+    "China Green Agriculture",
+    "China HGS Real Estate",
+    "China Index Holdings Limited",
+    "China Internet Nationwide Financial Services Inc.",
+    "China Jo-Jo Drugstores",
+    "China Life Insurance Company Limited",
+    "China Mobile (Hong Kong) Ltd.",
+    "China Natural Resources",
+    "China Online Education Group",
+    "China Petroleum & Chemical Corporation",
+    "China Pharma Holdings",
+    "China Rapid Finance Limited",
+    "China Recycling Energy Corporation",
+    "China SXT Pharmaceuticals",
+    "China Southern Airlines Company Limited",
+    "China TechFaith Wireless Communication Technology Limited",
+    "China Telecom Corp Ltd",
+    "China Unicom (Hong Kong) Ltd",
+    "China XD Plastics Company Limited",
+    "China Xiangtai Food Co.",
+    "China Yuchai International Limited",
+    "ChinaNet Online Holdings",
+    "ChipMOS TECHNOLOGIES INC.",
+    "Chipotle Mexican Grill",
+    "Choice Hotels International",
+    "ChromaDex Corporation",
+    "Chubb Limited",
+    "Chunghwa Telecom Co.",
+    "Church & Dwight Company",
+    "Churchill Capital Corp II",
+    "Churchill Downs",
+    "Chuy&#39;s Holdings",
+    "Cibus Corp.",
+    "Cidara Therapeutics",
+    "Ciena Corporation",
+    "Cigna Corporation",
+    "Cimarex Energy Co",
+    "Cimpress N.V",
+    "Cincinnati Bell Inc",
+    "Cincinnati Financial Corporation",
+    "Cinedigm Corp",
+    "Cinemark Holdings Inc",
+    "Ciner Resources LP",
+    "Cintas Corporation",
+    "Cirrus Logic",
+    "Cisco Systems",
+    "Cision Ltd.",
+    "Citi Trends",
+    "Citigroup Inc.",
+    "Citius Pharmaceuticals",
+    "Citizens",
+    "Citizens & Northern Corp",
+    "Citizens Community Bancorp",
+    "Citizens Financial Group",
+    "Citizens Holding Company",
+    "Citrix Systems",
+    "City Holding Company",
+    "City Office REIT",
+    "Civeo Corporation",
+    "Civista Bancshares",
+    "Clarivate Analytics Plc",
+    "Clarus Corporation",
+    "Clean Energy Fuels Corp.",
+    "Clean Harbors",
+    "Clear Channel Outdoor Holdings",
+    "ClearBridge All Cap Growth ETF",
+    "ClearBridge Dividend Strategy ESG ETF",
+    "ClearBridge Energy Midstream Opportunity Fund Inc.",
+    "ClearBridge Large Cap Growth ESG ETF",
+    "ClearBridge MLP and Midstream Fund Inc.",
+    "ClearBridge MLP and Midstream Total Return Fund In",
+    "ClearOne",
+    "ClearSign Combustion Corporation",
+    "Clearfield",
+    "Clearside Biomedical",
+    "Clearwater Paper Corporation",
+    "Clearway Energy",
+    "Cleveland BioLabs",
+    "Cleveland-Cliffs Inc.",
+    "Clipper Realty Inc.",
+    "Clorox Company (The)",
+    "Cloudera",
+    "Clough Global Dividend and Income Fund",
+    "Clough Global Equity Fund",
+    "Clough Global Opportunities Fund",
+    "Clovis Oncology",
+    "Co-Diagnostics",
+    "CoStar Group",
+    "Coastal Financial Corporation",
+    "Coca Cola Femsa S.A.B. de C.V.",
+    "Coca-Cola Company (The)",
+    "Coca-Cola Consolidated",
+    "Coca-Cola European Partners plc",
+    "Cocrystal Pharma",
+    "Coda Octopus Group",
+    "Codexis",
+    "Codorus Valley Bancorp",
+    "Coeur Mining",
+    "Coffee Holding Co.",
+    "Cogent Communications Holdings",
+    "Cognex Corporation",
+    "Cognizant Technology Solutions Corporation",
+    "CohBar",
+    "Cohen & Company Inc.",
+    "Cohen & Steers Closed-End Opportunity Fund",
+    "Cohen & Steers Global Income Builder",
+    "Cohen & Steers Inc",
+    "Cohen & Steers Infrastructure Fund",
+    "Cohen & Steers Limited Duration Preferred and Income Fund",
+    "Cohen & Steers MLP Income and Energy Opportunity Fund",
+    "Cohen & Steers Quality Income Realty Fund Inc",
+    "Cohen & Steers REIT and Preferred and Income Fund",
+    "Cohen & Steers Select Preferred and Income Fund",
+    "Cohen & Steers Total Return Realty Fund",
+    "Coherent",
+    "Coherus BioSciences",
+    "Cohu",
+    "Colfax Corporation",
+    "Colgate-Palmolive Company",
+    "CollPlant Biotechnologies Ltd.",
+    "Collectors Universe",
+    "Collegium Pharmaceutical",
+    "Collier Creek Holdings",
+    "Colliers International Group Inc. ",
+    "Colonial High Income Municipal Trust",
+    "Colonial Intermediate High Income Fund",
+    "Colonial Investment Grade Municipal Trust",
+    "Colonial Municipal Income Trust",
+    "Colony Bankcorp",
+    "Colony Capital",
+    "Colony Credit Real Estate",
+    "Columbia Banking System",
+    "Columbia Financial",
+    "Columbia Property Trust",
+    "Columbia Seligman Premium Technology Growth Fund",
+    "Columbia Sportswear Company",
+    "Columbus McKinnon Corporation",
+    "Comcast Corporation",
+    "Comerica Incorporated",
+    "Comfort Systems USA",
+    "CommScope Holding Company",
+    "Commerce Bancshares",
+    "Commercial Metals Company",
+    "Commercial Vehicle Group",
+    "Communications Systems",
+    "Community Bank System",
+    "Community Bankers Trust Corporation.",
+    "Community First Bancshares",
+    "Community Health Systems",
+    "Community Healthcare Trust Incorporated",
+    "Community Trust Bancorp",
+    "Community West Bancshares",
+    "Commvault Systems",
+    "Comp En De Mn Cemig ADS",
+    "CompX International Inc.",
+    "Companhia Brasileira de Distribuicao",
+    "Companhia Paranaense de Energia (COPEL)",
+    "Companhia de saneamento Basico Do Estado De Sao Paulo - Sabesp",
+    "Compania Cervecerias Unidas",
+    "Compass Diversified Holdings",
+    "Compass Minerals International",
+    "Compugen Ltd.",
+    "Computer Programs and Systems",
+    "Computer Task Group",
+    "Comstock Holding Companies",
+    "Comstock Mining",
+    "Comstock Resources",
+    "Comtech Telecommunications Corp.",
+    "ConAgra Brands",
+    "Conatus Pharmaceuticals Inc.",
+    "Concert Pharmaceuticals",
+    "Concho Resources Inc.",
+    "Concord Medical Services Holdings Limited",
+    "Concrete Pumping Holdings",
+    "Condor Hospitality Trust",
+    "Conduent Incorporated",
+    "ConforMIS",
+    "Conifer Holdings",
+    "Conn&#39;s",
+    "ConnectOne Bancorp",
+    "Connecticut Water Service",
+    "ConocoPhillips",
+    "Consolidated Communications Holdings",
+    "Consolidated Edison Inc",
+    "Consolidated Water Co. Ltd.",
+    "Consolidated-Tomoka Land Co.",
+    "Constellation Brands Inc",
+    "Constellation Pharmaceuticals",
+    "Constellium SE",
+    "Construction Partners",
+    "Consumer Portfolio Services",
+    "Container Store (The)",
+    "Contango Oil & Gas Company",
+    "Continental Building Products",
+    "Continental Materials Corporation",
+    "Continental Resources",
+    "ContraFect Corporation",
+    "Controladora Vuela Compania de Aviacion",
+    "Contura Energy",
+    "ConversionPoint Holdings",
+    "Conyers Park II Acquisition Corp.",
+    "CooTek (Cayman) Inc.",
+    "Cool Holdings Inc.",
+    "Cooper Tire & Rubber Company",
+    "Cooper-Standard Holdings Inc.",
+    "Copa Holdings",
+    "Copart",
+    "CorEnergy Infrastructure Trust",
+    "CorMedix Inc.",
+    "CorVel Corp.",
+    "Corbus Pharmaceuticals Holdings",
+    "Corcept Therapeutics Incorporated",
+    "Core Laboratories N.V.",
+    "Core Molding Technologies Inc",
+    "Core-Mark Holding Company",
+    "CoreCivic",
+    "CoreLogic",
+    "CorePoint Lodging Inc.",
+    "CoreSite Realty Corporation",
+    "Corindus Vascular Robotics",
+    "Cornerstone Building Brands",
+    "Cornerstone OnDemand",
+    "Cornerstone Strategic Return Fund",
+    "Cornerstone Strategic Value Fund",
+    "Corning Incorporated",
+    "Corporacion America Airports SA",
+    "Corporate Asset Backed Corp CABCO",
+    "Corporate Office Properties Trust",
+    "Correvio Pharma Corp.",
+    "Corteva",
+    "Cortexyme",
+    "Cortland Bancorp",
+    "Corvus Pharmaceuticals",
+    "Cosan Limited",
+    "Costamare Inc.",
+    "Costco Wholesale Corporation",
+    "Cott Corporation",
+    "Coty Inc.",
+    "CounterPath Corporation",
+    "County Bancorp",
+    "Coupa Software Incorporated",
+    "Cousins Properties Incorporated",
+    "Covanta Holding Corporation",
+    "Covenant Transportation Group",
+    "Covetrus",
+    "Covia Holdings Corporation",
+    "Cowen Inc.",
+    "Cracker Barrel Old Country Store",
+    "Craft Brew Alliance",
+    "Crane Co.",
+    "Crawford & Company",
+    "Cray Inc",
+    "Creative Realities",
+    "Credicorp Ltd.",
+    "Credit Acceptance Corporation",
+    "Credit Suisse AG",
+    "Credit Suisse Asset Management Income Fund",
+    "Credit Suisse Group",
+    "Credit Suisse High Yield Bond Fund",
+    "Cree",
+    "Crescent Acquisition Corp",
+    "Crescent Point Energy Corporation",
+    "Crestwood Equity Partners LP",
+    "Cresud S.A.C.I.F. y A.",
+    "Crinetics Pharmaceuticals",
+    "Criteo S.A.",
+    "Crocs",
+    "Cronos Group Inc.",
+    "Cross Country Healthcare",
+    "Cross Timbers Royalty Trust",
+    "CrossAmerica Partners LP",
+    "CrossFirst Bankshares",
+    "CrowdStrike Holdings",
+    "Crown Castle International Corporation",
+    "Crown Crafts",
+    "Crown Holdings",
+    "CryoLife",
+    "CryoPort",
+    "Ctrip.com International",
+    "CubeSmart",
+    "Cubic Corporation",
+    "Cue Biopharma",
+    "Cullen/Frost Bankers",
+    "Culp",
+    "Cumberland Pharmaceuticals Inc.",
+    "Cummins Inc.",
+    "Cumulus Media Inc.",
+    "Curis",
+    "Curtiss-Wright Corporation",
+    "Cushing Energy Income Fund (The)",
+    "Cushing MLP & Infrastructure Total Return Fund",
+    "Cushing Renaissance Fund (The)",
+    "Cushman & Wakefield plc",
+    "Customers Bancorp",
+    "Cutera",
+    "Cyanotech Corporation",
+    "CyberArk Software Ltd.",
+    "CyberOptics Corporation",
+    "Cyclacel Pharmaceuticals",
+    "Cyclerion Therapeutics",
+    "CymaBay Therapeutics Inc.",
+    "CynergisTek",
+    "Cypress Energy Partners",
+    "Cypress Semiconductor Corporation",
+    "CyrusOne Inc",
+    "Cytokinetics",
+    "CytomX Therapeutics",
+    "Cytosorbents Corporation",
+    "D.R. Horton",
+    "DAQO New Energy Corp.",
+    "DASAN Zhone Solutions",
+    "DAVIDsTEA Inc.",
+    "DBV Technologies S.A.",
+    "DCP Midstream LP",
+    "DD3 Acquisition Corp.",
+    "DENTSPLY SIRONA Inc.",
+    "DERMAdoctor",
+    "DFB Healthcare Acquisitions Corp.",
+    "DGSE Companies",
+    "DHI Group",
+    "DHT Holdings",
+    "DHX Media Ltd.",
+    "DISH Network Corporation",
+    "DLH Holdings Corp.",
+    "DMC Global Inc.",
+    "DNB Financial Corp",
+    "DPW Holdings",
+    "DRDGOLD Limited",
+    "DSP Group",
+    "DTE Energy Company",
+    "DURECT Corporation",
+    "DXC Technology Company",
+    "DXP Enterprises",
+    "DaVita Inc.",
+    "Daily Journal Corp. (S.C.)",
+    "Daktronics",
+    "Dana Incorporated",
+    "Danaher Corporation",
+    "Danaos Corporation",
+    "Darden Restaurants",
+    "Dare Bioscience",
+    "DarioHealth Corp.",
+    "Darling Ingredients Inc.",
+    "Daseke",
+    "Data I/O Corporation",
+    "Datasea Inc.",
+    "Dave & Buster&#39;s Entertainment",
+    "Davis Select Financial ETF",
+    "Davis Select International ETF",
+    "Davis Select U.S. Equity ETF",
+    "Davis Select Worldwide ETF",
+    "Dawson Geophysical Company",
+    "Daxor Corporation",
+    "Dean Foods Company",
+    "Deciphera Pharmaceuticals",
+    "Deckers Outdoor Corporation",
+    "Deere & Company",
+    "Del Frisco&#39;s Restaurant Group",
+    "Del Taco Restaurants",
+    "DelMar Pharmaceuticals",
+    "Delaware Enhanced Global Dividend",
+    "Delaware Investments Colorado Municipal Income Fund",
+    "Delaware Investments Dividend & Income Fund",
+    "Delaware Investments Florida Insured Municipal Income Fund",
+    "Delaware Investments Minnesota Municipal Income Fund II",
+    "Delek Logistics Partners",
+    "Delek US Holdings",
+    "Dell Technologies Inc.",
+    "Delphi Technologies PLC",
+    "Delta Air Lines",
+    "Delta Apparel",
+    "Deluxe Corporation",
+    "Denali Therapeutics Inc.",
+    "Denbury Resources Inc.",
+    "Denison Mine Corp",
+    "Denny&#39;s Corporation",
+    "DermTech",
+    "Dermavant Sciences Ltd.",
+    "Dermira",
+    "Designer Brands Inc.",
+    "Despegar.com",
+    "Destination Maternity Corporation",
+    "Destination XL Group",
+    "Deswell Industries",
+    "Deutsch Bk Contingent Cap Tr V",
+    "Deutsche Bank AG",
+    "Devon Energy Corporation",
+    "DexCom",
+    "DiaMedica Therapeutics Inc.",
+    "Diageo plc",
+    "Diamond Eagle Acquisition Corp.",
+    "Diamond Hill Investment Group",
+    "Diamond Offshore Drilling",
+    "Diamond S Shipping Inc.",
+    "DiamondPeak Holdings Corp.",
+    "Diamondback Energy",
+    "Diamondrock Hospitality Company",
+    "Diana Shipping inc.",
+    "Dicerna Pharmaceuticals",
+    "Dick&#39;s Sporting Goods Inc",
+    "Diebold Nixdorf Incorporated",
+    "Diffusion Pharmaceuticals Inc.",
+    "Digi International Inc.",
+    "Digimarc Corporation",
+    "Digirad Corporation",
+    "Digital Ally",
+    "Digital Realty Trust",
+    "Digital Turbine",
+    "Dillard&#39;s",
+    "Dime Community Bancshares",
+    "Dine Brands Global",
+    "Diodes Incorporated",
+    "Diplomat Pharmacy",
+    "Discover Financial Services",
+    "Discovery",
+    "Diversified Restaurant Holdings",
+    "Dividend and Income Fund",
+    "DocuSign",
+    "Document Security Systems",
+    "Dogness (International) Corporation",
+    "Dolby Laboratories",
+    "Dollar General Corporation",
+    "Dollar Tree",
+    "Dolphin Entertainment",
+    "Dominion Energy",
+    "Domino&#39;s Pizza Inc",
+    "Domo",
+    "Domtar Corporation",
+    "Donaldson Company",
+    "Donegal Group",
+    "Donnelley Financial Solutions",
+    "Dorchester Minerals",
+    "Dorian LPG Ltd.",
+    "Dorman Products",
+    "DouYu International Holdings Limited",
+    "DoubleLine Income Solutions Fund",
+    "DoubleLine Opportunistic Credit Fund",
+    "Douglas Dynamics",
+    "Douglas Emmett",
+    "Dova Pharmaceuticals",
+    "Dover Corporation",
+    "Dover Motorsports",
+    "Dow Inc.",
+    "Dr. Reddy&#39;s Laboratories Ltd",
+    "Dragon Victory International Limited",
+    "Dril-Quip",
+    "Drive Shack Inc.",
+    "DropCar",
+    "Dropbox",
+    "DryShips Inc.",
+    "DuPont de Nemours",
+    "Ducommun Incorporated",
+    "Duff & Phelps Global Utility Income Fund Inc.",
+    "Duff & Phelps Select MLP and Midstream Energy Fund",
+    "Duff & Phelps Utilities Income",
+    "Duff & Phelps Utilities Tax-Free Income",
+    "Duff & Phelps Utility & Corporate Bond Trust",
+    "Duke Energy Corporation",
+    "Duke Realty Corporation",
+    "Duluth Holdings Inc.",
+    "Dunkin&#39; Brands Group",
+    "Dunxin Financial Holdings Limited",
+    "Dyadic International",
+    "Dycom Industries",
+    "Dynagas LNG Partners LP",
+    "Dynatrace",
+    "Dynatronics Corporation",
+    "Dynavax Technologies Corporation",
+    "Dynex Capital",
+    "E*TRADE Financial Corporation",
+    "E.I. du Pont de Nemours and Company",
+    "E.W. Scripps Company (The)",
+    "ECA Marcellus Trust I",
+    "EDAP TMS S.A.",
+    "EMC Insurance Group Inc.",
+    "EMCOR Group",
+    "EMCORE Corporation",
+    "EMX Royalty Corporation",
+    "ENDRA Life Sciences Inc.",
+    "ENGlobal Corporation",
+    "ENI S.p.A.",
+    "ENSERVCO Corporation",
+    "EOG Resources",
+    "EPAM Systems",
+    "EPR Properties",
+    "EQM Midstream Partners",
+    "EQT Corporation",
+    "ESCO Technologies Inc.",
+    "ESSA Bancorp",
+    "ESSA Pharma Inc.",
+    "ETF Series Solutions Trust Vident Core U.S. Bond Strategy Fund",
+    "ETF Series Solutions Trust Vident Core US Equity ETF",
+    "ETF Series Solutions Trust Vident International Equity Fund",
+    "EVI Industries",
+    "EVO Payments",
+    "EXFO Inc",
+    "EZCORP",
+    "Eagle Bancorp",
+    "Eagle Bancorp Montana",
+    "Eagle Bulk Shipping Inc.",
+    "Eagle Capital Growth Fund",
+    "Eagle Financial Bancorp",
+    "Eagle Growth and Income Opportunities Fund",
+    "Eagle Materials Inc",
+    "Eagle Pharmaceuticals",
+    "Eagle Point Credit Company Inc.",
+    "Eagle Point Income Company Inc.",
+    "Eagleline Acquisition Corp.",
+    "Earthstone Energy",
+    "East West Bancorp",
+    "EastGroup Properties",
+    "Easterly Government Properties",
+    "Eastern Company (The)",
+    "Eastman Chemical Company",
+    "Eastman Kodak Company",
+    "Eastside Distilling",
+    "Eaton Corporation",
+    "Eaton Vance California Municipal Bond Fund",
+    "Eaton Vance California Municipal Income Trust",
+    "Eaton Vance Corporation",
+    "Eaton Vance Enhance Equity Income Fund",
+    "Eaton Vance Enhanced Equity Income Fund II",
+    "Eaton Vance Floating Rate Income Trust",
+    "Eaton Vance Floating-Rate 2022 Target Term Trust",
+    "Eaton Vance High Income 2021 Target Term Trust",
+    "Eaton Vance Limited Duration Income Fund",
+    "Eaton Vance Municipal Bond Fund",
+    "Eaton Vance Municipal Income 2028 Term Trust",
+    "Eaton Vance Municipal Income Trust",
+    "Eaton Vance New York Municipal Bond Fund",
+    "Eaton Vance New York Municipal Income Trust",
+    "Eaton Vance NextShares Trust",
+    "Eaton Vance NextShares Trust II",
+    "Eaton Vance Risk-Managed Diversified Equity Income Fund",
+    "Eaton Vance Senior Floating-Rate Fund",
+    "Eaton Vance Senior Income Trust",
+    "Eaton Vance Short Diversified Income Fund",
+    "Eaton Vance Tax Advantaged Dividend Income Fund",
+    "Eaton Vance Tax-Advantage Global Dividend Opp",
+    "Eaton Vance Tax-Advantaged Global Dividend Income Fund",
+    "Eaton Vance Tax-Managed Buy-Write Income Fund",
+    "Eaton Vance Tax-Managed Buy-Write Strategy Fund",
+    "Eaton Vance Tax-Managed Diversified Equity Income Fund",
+    "Eaton Vance Tax-Managed Global Diversified Equity Income Fund",
+    "Eaton vance Floating-Rate Income Plus Fund",
+    "Ebix",
+    "Echo Global Logistics",
+    "EchoStar Corporation",
+    "Ecolab Inc.",
+    "Ecology and Environment",
+    "Ecopetrol S.A.",
+    "Edesa Biotech",
+    "Edison International",
+    "Edison Nation",
+    "Editas Medicine",
+    "EdtechX Holdings Acquisition Corp.",
+    "Educational Development Corporation",
+    "Edwards Lifesciences Corporation",
+    "Eidos Therapeutics",
+    "Eiger BioPharmaceuticals",
+    "Ekso Bionics Holdings",
+    "El Paso Corporation",
+    "El Paso Electric Company",
+    "El Pollo Loco Holdings",
+    "Elanco Animal Health Incorporated",
+    "Elastic N.V.",
+    "Elbit Systems Ltd.",
+    "Eldorado Gold Corporation",
+    "Eldorado Resorts",
+    "Electrameccanica Vehicles Corp. Ltd.",
+    "Electro-Sensors",
+    "Electromed",
+    "Electronic Arts Inc.",
+    "Element Solutions Inc.",
+    "Elevate Credit",
+    "Eli Lilly and Company",
+    "Ellington Financial Inc.",
+    "Ellington Residential Mortgage REIT",
+    "Ellomay Capital Ltd.",
+    "Ellsworth Growth and Income Fund Ltd.",
+    "Elmira Savings Bank NY (The)",
+    "Eloxx Pharmaceuticals",
+    "Eltek Ltd.",
+    "Embotelladora Andina S.A.",
+    "Embraer S.A.",
+    "Emclaire Financial Corp",
+    "Emerald Expositions Events",
+    "Emergent Biosolutions",
+    "Emerson Electric Company",
+    "Emerson Radio Corporation",
+    "Emmis Communications Corporation",
+    "Empire Resorts",
+    "Empire State Realty Trust",
+    "Employers Holdings Inc",
+    "Empresa Distribuidora Y Comercializadora Norte S.A. (Edenor)",
+    "EnLink Midstream",
+    "EnPro Industries",
+    "Enable Midstream Partners",
+    "Enanta Pharmaceuticals",
+    "Enbridge Inc",
+    "Encana Corporation",
+    "Encompass Health Corporation",
+    "Encore Capital Group Inc",
+    "Encore Wire Corporation",
+    "Endava plc",
+    "Endeavour Silver Corporation",
+    "Endo International plc",
+    "Endologix",
+    "Endurance International Group Holdings",
+    "Enel Americas S.A.",
+    "Enel Chile S.A.",
+    "Energizer Holdings",
+    "Energous Corporation",
+    "Energy Focus",
+    "Energy Fuels Inc",
+    "Energy Hunter Resources",
+    "Energy Recovery",
+    "Energy Transfer L.P.",
+    "Energy Transfer Operating",
+    "Enerplus Corporation",
+    "Enersys",
+    "Enlivex Therapeutics Ltd.",
+    "Ennis",
+    "Enochian Biosciences",
+    "Enova International",
+    "Enphase Energy",
+    "Enstar Group Limited",
+    "Entasis Therapeutics Holdings Inc.",
+    "Entegra Financial Corp.",
+    "Entegris",
+    "Entera Bio Ltd.",
+    "Entercom Communications Corp.",
+    "Entergy Arkansas",
+    "Entergy Corporation",
+    "Entergy Louisiana",
+    "Entergy Mississippi",
+    "Entergy New Orleans",
+    "Entergy Texas Inc",
+    "Enterprise Bancorp Inc",
+    "Enterprise Financial Services Corporation",
+    "Enterprise Products Partners L.P.",
+    "Entravision Communications Corporation",
+    "Entree Resources Ltd.",
+    "Envestnet",
+    "Envision Solar International",
+    "Enviva Partners",
+    "Enzo Biochem",
+    "Epizyme",
+    "Epsilon Energy Ltd.",
+    "Equifax",
+    "Equillium",
+    "Equinix",
+    "Equinor ASA",
+    "Equitrans Midstream Corporation",
+    "Equity Bancshares",
+    "Equity Commonwealth",
+    "Equity Lifestyle Properties",
+    "Equity Residential",
+    "Equus Total Return",
+    "Era Group",
+    "Ericsson",
+    "Erie Indemnity Company",
+    "Eros International PLC",
+    "Erytech Pharma S.A.",
+    "Escalade",
+    "Esperion Therapeutics",
+    "Espey Mfg. & Electronics Corp.",
+    "Esquire Financial Holdings",
+    "Essent Group Ltd.",
+    "Essential Properties Realty Trust",
+    "Essex Property Trust",
+    "Establishment Labs Holdings Inc.",
+    "Estee Lauder Companies",
+    "Estre Ambiental",
+    "Ethan Allen Interiors Inc.",
+    "Eton Pharmaceuticals",
+    "Etsy",
+    "Euro Tech Holdings Company Limited",
+    "EuroDry Ltd.",
+    "Euronav NV",
+    "Euronet Worldwide",
+    "European Equity Fund",
+    "Euroseas Ltd.",
+    "Evans Bancorp",
+    "Evelo Biosciences",
+    "Eventbrite",
+    "Ever-Glory International Group",
+    "EverQuote",
+    "Everbridge",
+    "Evercore Inc.",
+    "Everest Re Group",
+    "Evergy",
+    "Everi Holdings Inc.",
+    "Eversource Energy",
+    "Everspin Technologies",
+    "Evertec",
+    "Evofem Biosciences",
+    "Evogene Ltd.",
+    "Evoke Pharma",
+    "Evolent Health",
+    "Evolus",
+    "Evolution Petroleum Corporation",
+    "Evolving Systems",
+    "Evoqua Water Technologies Corp.",
+    "Exact Sciences Corporation",
+    "Exantas Capital Corp.",
+    "Exchange Traded Concepts Trust FLAG-Forensic Accounting Long-S",
+    "Exchange Traded Concepts Trust ROBO Global Robotics and Automa",
+    "Exela Technologies",
+    "Exelixis",
+    "Exelon Corporation",
+    "Exicure",
+    "ExlService Holdings",
+    "Expedia Group",
+    "Expeditors International of Washington",
+    "Experience Investment Corp.",
+    "Exponent",
+    "Express",
+    "Extended Stay America",
+    "Exterran Corporation",
+    "Extra Space Storage Inc",
+    "Extraction Oil & Gas",
+    "Extreme Networks",
+    "Exxon Mobil Corporation",
+    "EyePoint Pharmaceuticals",
+    "Eyegate Pharmaceuticals",
+    "Eyenovia",
+    "F.N.B. Corporation",
+    "F5 Networks",
+    "FARMMI",
+    "FARO Technologies",
+    "FAT Brands Inc.",
+    "FB Financial Corporation",
+    "FBL Financial Group",
+    "FFBW",
+    "FGL Holdings",
+    "FIRST REPUBLIC BANK",
+    "FLEX LNG Ltd.",
+    "FLIR Systems",
+    "FMC Corporation",
+    "FNCB Bancorp Inc.",
+    "FRONTEO",
+    "FRP Holdings",
+    "FS Bancorp",
+    "FS KKR Capital Corp.",
+    "FSB Bancorp",
+    "FTE Networks",
+    "FTI Consulting",
+    "FTS International",
+    "FVCBankcorp",
+    "Fabrinet",
+    "Facebook",
+    "FactSet Research Systems Inc.",
+    "Fair Isaac Corporation",
+    "Falcon Minerals Corporation",
+    "Famous Dave&#39;s of America",
+    "Fang Holdings Limited",
+    "Fanhua Inc.",
+    "Far Point Acquisition Corporation",
+    "Farfetch Limited",
+    "Farmer Brothers Company",
+    "Farmers & Merchants Bancorp",
+    "Farmers National Banc Corp.",
+    "Farmland Partners Inc.",
+    "Fastenal Company",
+    "Fastly",
+    "Fate Therapeutics",
+    "Fauquier Bankshares",
+    "FedEx Corporation",
+    "FedNat Holding Company",
+    "Federal Agricultural Mortgage Corporation",
+    "Federal Realty Investment Trust",
+    "Federal Signal Corporation",
+    "Federated Investors",
+    "Federated Premier Municipal Income Fund",
+    "Fellazo Inc.",
+    "Fennec Pharmaceuticals Inc.",
+    "Ferrari N.V.",
+    "Ferrellgas Partners",
+    "Ferro Corporation",
+    "Ferroglobe PLC",
+    "Fiat Chrysler Automobiles N.V.",
+    "FibroGen",
+    "Fibrocell Science Inc.",
+    "Fidelity D & D Bancorp",
+    "Fidelity Nasdaq Composite Index Tracking Stock",
+    "Fidelity National Financial",
+    "Fidelity National Information Services",
+    "Fiduciary/Claymore Energy Infrastructure Fund",
+    "Fidus Investment Corporation",
+    "Fiesta Restaurant Group",
+    "Fifth Third Bancorp",
+    "FinTech Acquisition Corp. III",
+    "Financial Institutions",
+    "Finisar Corporation",
+    "Finjan Holdings",
+    "FireEye",
+    "First American Corporation (The)",
+    "First BanCorp.",
+    "First Bancorp",
+    "First Bank",
+    "First Busey Corporation",
+    "First Business Financial Services",
+    "First Capital",
+    "First Choice Bancorp",
+    "First Citizens BancShares",
+    "First Commonwealth Financial Corporation",
+    "First Community Bankshares",
+    "First Community Corporation",
+    "First Defiance Financial Corp.",
+    "First Financial Bancorp.",
+    "First Financial Bankshares",
+    "First Financial Corporation Indiana",
+    "First Financial Northwest",
+    "First Foundation Inc.",
+    "First Guaranty Bancshares",
+    "First Hawaiian",
+    "First Horizon National Corporation",
+    "First Industrial Realty Trust",
+    "First Internet Bancorp",
+    "First Interstate BancSystem",
+    "First Majestic Silver Corp.",
+    "First Merchants Corporation",
+    "First Mid Bancshares",
+    "First Midwest Bancorp",
+    "First National Corporation",
+    "First Northwest Bancorp",
+    "First Savings Financial Group",
+    "First Seacoast Bancorp",
+    "First Solar",
+    "First Trust",
+    "First Trust Alternative Absolute Return Strategy ETF",
+    "First Trust Asia Pacific Ex-Japan AlphaDEX Fund",
+    "First Trust BICK Index Fund",
+    "First Trust Brazil AlphaDEX Fund",
+    "First Trust BuyWrite Income ETF",
+    "First Trust CEF Income Opportunity ETF",
+    "First Trust California Municipal High income ETF",
+    "First Trust Canada AlphaDEX Fund",
+    "First Trust Capital Strength ETF",
+    "First Trust China AlphaDEX Fund",
+    "First Trust Cloud Computing ETF",
+    "First Trust Developed International Equity Select ETF",
+    "First Trust Developed Markets Ex-US AlphaDEX Fund",
+    "First Trust Developed Markets ex-US Small Cap AlphaDEX Fund",
+    "First Trust Dorsey Wright Dynamic Focus 5 ETF",
+    "First Trust Dorsey Wright Focus 5 ETF",
+    "First Trust Dorsey Wright International Focus 5 ETF",
+    "First Trust Dorsey Wright Momentum & Dividend ETF",
+    "First Trust Dorsey Wright Momentum & Low Volatility ETF",
+    "First Trust Dorsey Wright Momentum & Value ETF",
+    "First Trust Dorsey Wright People&#39;s Portfolio ETF",
+    "First Trust DorseyWright DALI 1 ETF",
+    "First Trust Dow Jones International Internet ETF",
+    "First Trust Dynamic Europe Equity Income Fund",
+    "First Trust Emerging Markets AlphaDEX Fund",
+    "First Trust Emerging Markets Equity Select ETF",
+    "First Trust Emerging Markets Local Currency Bond ETF",
+    "First Trust Emerging Markets Small Cap AlphaDEX Fund",
+    "First Trust Energy Income and Growth Fund",
+    "First Trust Energy Infrastructure Fund",
+    "First Trust Enhanced Short Maturity ETF",
+    "First Trust Europe AlphaDEX Fund",
+    "First Trust Eurozone AlphaDEX ETF",
+    "First Trust Germany AlphaDEX Fund",
+    "First Trust Global Tactical Commodity Strategy Fund",
+    "First Trust Hedged BuyWrite Income ETF",
+    "First Trust High Income Long Short Fund",
+    "First Trust High Yield Long/Short ETF",
+    "First Trust Hong Kong AlphaDEX Fund",
+    "First Trust IPOX Europe Equity Opportunities ETF",
+    "First Trust India Nifty 50 Equal Weight ETF",
+    "First Trust Indxx Global Agriculture ETF",
+    "First Trust Indxx Global Natural Resources Income ETF",
+    "First Trust Indxx Innovative Transaction & Process ETF",
+    "First Trust Indxx NextG ETF",
+    "First Trust Intermediate Duration Preferred & Income Fund",
+    "First Trust International Equity Opportunities ETF",
+    "First Trust Japan AlphaDEX Fund",
+    "First Trust Large Cap Core AlphaDEX Fund",
+    "First Trust Large Cap Growth AlphaDEX Fund",
+    "First Trust Large Cap US Equity Select ETF",
+    "First Trust Large Cap Value AlphaDEX Fund",
+    "First Trust Latin America AlphaDEX Fund",
+    "First Trust Low Duration Opportunities ETF",
+    "First Trust Low Duration Strategic Focus ETF",
+    "First Trust MLP and Energy Income Fund",
+    "First Trust Managed Municipal ETF",
+    "First Trust Mega Cap AlphaDEX Fund",
+    "First Trust Mid Cap Core AlphaDEX Fund",
+    "First Trust Mid Cap Growth AlphaDEX Fund",
+    "First Trust Mid Cap US Equity Select ETF",
+    "First Trust Mid Cap Value AlphaDEX Fund",
+    "First Trust Multi Cap Growth AlphaDEX Fund",
+    "First Trust Multi Cap Value AlphaDEX Fund",
+    "First Trust Multi-Asset Diversified Income Index Fund",
+    "First Trust Municipal CEF Income Opportunity ETF",
+    "First Trust Municipal High Income ETF",
+    "First Trust NASDAQ ABA Community Bank Index Fund",
+    "First Trust NASDAQ Clean Edge Green Energy Index Fund",
+    "First Trust NASDAQ Clean Edge Smart Grid Infrastructure Index ",
+    "First Trust NASDAQ Cybersecurity ETF",
+    "First Trust NASDAQ Global Auto Index Fund",
+    "First Trust NASDAQ Technology Dividend Index Fund",
+    "First Trust NASDAQ-100 Equal Weighted Index Fund",
+    "First Trust NASDAQ-100 Ex-Technology Sector Index Fund",
+    "First Trust NASDAQ-100- Technology Index Fund",
+    "First Trust Nasdaq Artificial Intelligence and Robotics ETF",
+    "First Trust Nasdaq Bank ETF",
+    "First Trust Nasdaq Food & Beverage ETF",
+    "First Trust Nasdaq Oil & Gas ETF",
+    "First Trust Nasdaq Pharmaceuticals ETF",
+    "First Trust Nasdaq Retail ETF",
+    "First Trust Nasdaq Semiconductor ETF",
+    "First Trust Nasdaq Transportation ETF",
+    "First Trust New Opportunities MLP & Energy Fund",
+    "First Trust RBA American Industrial Renaissance ETF",
+    "First Trust Rising Dividend Achievers ETF",
+    "First Trust RiverFront Dynamic Asia Pacific ETF",
+    "First Trust RiverFront Dynamic Developed International ETF",
+    "First Trust RiverFront Dynamic Emerging Markets ETF",
+    "First Trust RiverFront Dynamic Europe ETF",
+    "First Trust S&P International Dividend Aristocrats ETF",
+    "First Trust SMID Cap Rising Dividend Achievers ETF",
+    "First Trust SSI Strategic Convertible Securities ETF",
+    "First Trust Senior Floating Rate 2022 Target Term Fund",
+    "First Trust Senior Floating Rate Income Fund II",
+    "First Trust Senior Loan Fund ETF",
+    "First Trust Small Cap Core AlphaDEX Fund",
+    "First Trust Small Cap Growth AlphaDEX Fund",
+    "First Trust Small Cap US Equity Select ETF",
+    "First Trust Small Cap Value AlphaDEX Fund",
+    "First Trust South Korea AlphaDEX Fund",
+    "First Trust Specialty Finance and Financial Opportunities Fund",
+    "First Trust Strategic Income ETF",
+    "First Trust Switzerland AlphaDEX Fund",
+    "First Trust TCW Opportunistic Fixed Income ETF",
+    "First Trust Total US Market AlphaDEX ETF",
+    "First Trust US Equity Dividend Select ETF",
+    "First Trust United Kingdom AlphaDEX Fund",
+    "First Trust/Aberdeen Emerging Opportunity Fund",
+    "First Trust/Aberdeen Global Opportunity Income Fund",
+    "First US Bancshares",
+    "First United Corporation",
+    "First Western Financial",
+    "FirstCash",
+    "FirstEnergy Corp.",
+    "FirstService Corporation",
+    "Firsthand Technology Value Fund",
+    "Fiserv",
+    "Fitbit",
+    "Five Below",
+    "Five Point Holdings",
+    "Five Prime Therapeutics",
+    "Five Star Senior Living Inc.",
+    "Five9",
+    "Fiverr International Ltd.",
+    "Flagstar Bancorp",
+    "Flaherty & Crumrine Dynamic Preferred and Income Fund Inc.",
+    "Flaherty & Crumrine Preferred and Income Fund Inco",
+    "Flaherty & Crumrine Preferred and Income Opportuni",
+    "Flaherty & Crumrine Preferred and Income Securitie",
+    "Flaherty & Crumrine Total Return Fund Inc",
+    "Flanigan&#39;s Enterprises",
+    "FleetCor Technologies",
+    "Flex Ltd.",
+    "FlexShares Credit-Scored US Corporate Bond Index Fund",
+    "FlexShares Credit-Scored US Long Corporate Bond Index Fund",
+    "FlexShares Disciplined Duration MBS Index Fund",
+    "FlexShares Real Assets Allocation Index Fund",
+    "FlexShares STOXX Global ESG Impact Index Fund",
+    "FlexShares STOXX US ESG Impact Index Fund",
+    "FlexShares US Quality Large Cap Index Fund",
+    "FlexShopper",
+    "Flexible Solutions International Inc.",
+    "Flexion Therapeutics",
+    "Flexsteel Industries",
+    "Floor & Decor Holdings",
+    "Flotek Industries",
+    "Flowers Foods",
+    "Flowr Corporation (The)",
+    "Flowserve Corporation",
+    "Fluent",
+    "Fluidigm Corporation",
+    "Fluor Corporation",
+    "Flushing Financial Corporation",
+    "Flux Power Holdings",
+    "Fly Leasing Limited",
+    "Foamix Pharmaceuticals Ltd.",
+    "Focus Financial Partners Inc.",
+    "Fomento Economico Mexicano S.A.B. de C.V.",
+    "Fonar Corporation",
+    "Foot Locker",
+    "Ford Motor Company",
+    "ForeScout Technologies",
+    "Foresight Autonomous Holdings Ltd.",
+    "Foresight Energy LP",
+    "Forestar Group Inc",
+    "FormFactor",
+    "Formula Systems (1985) Ltd.",
+    "Forrester Research",
+    "Forterra",
+    "Fortinet",
+    "Fortis Inc.",
+    "Fortive Corporation",
+    "Fortress Biotech",
+    "Fortress Transportation and Infrastructure Investors LLC",
+    "Fortuna Silver Mines Inc.",
+    "Fortune Brands Home & Security",
+    "Forty Seven",
+    "Forum Energy Technologies",
+    "Forum Merger II Corporation",
+    "Forward Air Corporation",
+    "Forward Industries",
+    "Forward Pharma A/S",
+    "Fossil Group",
+    "Foundation Building Materials",
+    "Four Corners Property Trust",
+    "Four Seasons Education (Cayman) Inc.",
+    "Fox Corporation",
+    "Fox Factory Holding Corp.",
+    "Francesca&#39;s Holdings Corporation",
+    "Franco-Nevada Corporation",
+    "Frank&#39;s International N.V.",
+    "Franklin Covey Company",
+    "Franklin Electric Co.",
+    "Franklin Financial Network",
+    "Franklin Financial Services Corporation",
+    "Franklin Limited Duration Income Trust",
+    "Franklin Resources",
+    "Franklin Street Properties Corp.",
+    "Franklin Universal Trust",
+    "Frankly",
+    "Fred&#39;s",
+    "Freeport-McMoran",
+    "Freightcar America",
+    "Frequency Electronics",
+    "Fresenius Medical Care Corporation",
+    "Fresh Del Monte Produce",
+    "Freshpet",
+    "Friedman Industries Inc.",
+    "Front Yard Residential Corporation",
+    "Frontier Communications Corporation",
+    "Frontline Ltd.",
+    "Fuel Tech",
+    "FuelCell Energy",
+    "Fulcrum Therapeutics",
+    "Fulgent Genetics",
+    "Fuling Global Inc.",
+    "Full House Resorts",
+    "Full Spectrum Inc.",
+    "Fulton Financial Corporation",
+    "Funko",
+    "Futu Holdings Limited",
+    "Future FinTech Group Inc.",
+    "FutureFuel Corp.",
+    "Fuwei Films (Holdings) Co.",
+    "G-III Apparel Group",
+    "G. Willi-Food International",
+    "G1 Therapeutics",
+    "GAIN Capital Holdings",
+    "GAMCO Global Gold",
+    "GAMCO Natural Resources",
+    "GATX Corporation",
+    "GCI Liberty",
+    "GCP Applied Technologies Inc.",
+    "GDS Holdings Limited",
+    "GEE Group Inc.",
+    "GENFIT S.A.",
+    "GMS Inc.",
+    "GNC Holdings",
+    "GOLDEN BULL LIMITED",
+    "GP Strategies Corporation",
+    "GRAVITY Co.",
+    "GS Acquisition Holdings Corp.",
+    "GSE Systems",
+    "GSI Technology",
+    "GSX Techedu Inc.",
+    "GTT Communications",
+    "GTY Technology Holdings",
+    "GW Pharmaceuticals Plc",
+    "GWG Holdings",
+    "GX Acquisiton Corp.",
+    "Gabelli Convertible and Income Securities Fund",
+    "Gabelli Equity Trust",
+    "Gabelli Global Small and Mid Cap Value Trust (The)",
+    "Gabelli Multi-Media Trust Inc. (The)",
+    "Gabelli Utility Trust (The)",
+    "Gaia",
+    "Galapagos NV",
+    "Galectin Therapeutics Inc.",
+    "Galmed Pharmaceuticals Ltd.",
+    "Gamco Investors",
+    "Gamestop Corporation",
+    "Gamida Cell Ltd.",
+    "Gaming and Leisure Properties",
+    "Gap",
+    "Gardner Denver Holdings",
+    "Garmin Ltd.",
+    "Garrett Motion Inc.",
+    "Garrison Capital Inc.",
+    "Gartner",
+    "GasLog LP.",
+    "GasLog Partners LP",
+    "Gates Industrial Corporation plc",
+    "Gemphire Therapeutics Inc.",
+    "GenMark Diagnostics",
+    "GenSight Biologics S.A.",
+    "Genco Shipping & Trading Limited ",
+    "Gencor Industries Inc.",
+    "Generac Holdlings Inc.",
+    "General American Investors",
+    "General Dynamics Corporation",
+    "General Electric Company",
+    "General Finance Corporation",
+    "General Mills",
+    "General Moly",
+    "General Motors Company",
+    "Genesco Inc.",
+    "Genesee & Wyoming",
+    "Genesis Energy",
+    "Genesis Healthcare",
+    "Genetic Technologies Ltd",
+    "Genie Energy Ltd.",
+    "Genius Brands International",
+    "Genmab A/S",
+    "Genocea Biosciences",
+    "Genomic Health",
+    "Genpact Limited",
+    "Genprex",
+    "Gentex Corporation",
+    "Gentherm Inc",
+    "Genuine Parts Company",
+    "Genworth Financial Inc",
+    "Geo Group Inc (The)",
+    "Geopark Ltd",
+    "Georgia Power Company",
+    "Geospace Technologies Corporation",
+    "Gerdau S.A.",
+    "German American Bancorp",
+    "Geron Corporation",
+    "Getty Realty Corporation",
+    "Gevo",
+    "Gibraltar Industries",
+    "GigCapital",
+    "GigCapital2",
+    "GigaMedia Limited",
+    "Gilat Satellite Networks Ltd.",
+    "Gildan Activewear",
+    "Gilead Sciences",
+    "Glacier Bancorp",
+    "Gladstone Capital Corporation",
+    "Gladstone Commercial Corporation",
+    "Gladstone Investment Corporation",
+    "Gladstone Land Corporation",
+    "Glatfelter",
+    "Glaukos Corporation",
+    "GlaxoSmithKline PLC",
+    "Glen Burnie Bancorp",
+    "Global Blood Therapeutics",
+    "Global Cord Blood Corporation",
+    "Global Eagle Entertainment Inc.",
+    "Global Indemnity Limited",
+    "Global Medical REIT Inc.",
+    "Global Net Lease",
+    "Global Partners LP",
+    "Global Payments Inc.",
+    "Global Self Storage",
+    "Global Ship Lease",
+    "Global Water Resources",
+    "Global X Autonomous & Electric Vehicles ETF",
+    "Global X Cloud Computing ETF",
+    "Global X Conscious Companies ETF",
+    "Global X DAX Germany ETF",
+    "Global X E-commerce ETF",
+    "Global X FinTech ETF",
+    "Global X Funds Global X MSCI China Communication Services ETF",
+    "Global X Future Analytics Tech ETF",
+    "Global X Genomics & Biotechnology ETF",
+    "Global X Health & Wellness Thematic ETF",
+    "Global X Internet of Things ETF",
+    "Global X Longevity Thematic ETF",
+    "Global X MSCI SuperDividend EAFE ETF",
+    "Global X Millennials Thematic ETF",
+    "Global X NASDAQ-100 Covered Call ETF",
+    "Global X Robotics & Artificial Intelligence ETF",
+    "Global X S&P 500 Catholic Values ETF",
+    "Global X Social Media ETF",
+    "Global X SuperDividend Alternatives ETF",
+    "Global X SuperDividend REIT ETF",
+    "Global X YieldCo & Renewable Energy Income ETF",
+    "GlobalSCAPE",
+    "Globalstar",
+    "Globant S.A.",
+    "Globe Life Inc.",
+    "Globus Maritime Limited",
+    "Globus Medical",
+    "Glowpoint",
+    "Glu Mobile Inc.",
+    "GlycoMimetics",
+    "GoDaddy Inc.",
+    "GoPro",
+    "Gogo Inc.",
+    "Gol Linhas Aereas Inteligentes S.A.",
+    "Golar LNG Limited",
+    "Golar LNG Partners LP",
+    "Gold Fields Limited",
+    "Gold Resource Corporation",
+    "Gold Standard Ventures Corporation",
+    "Golden Entertainment",
+    "Golden Minerals Company",
+    "Golden Ocean Group Limited",
+    "Golden Star Resources",
+    "Goldfield Corporation (The)",
+    "Goldman Sachs BDC",
+    "Goldman Sachs Group",
+    "Goldman Sachs MLP Energy Renaissance Fund",
+    "Goldman Sachs MLP Income Opportunities Fund",
+    "Golub Capital BDC",
+    "Good Times Restaurants Inc.",
+    "GoodBulk Ltd.",
+    "Goodrich Petroleum Corporation",
+    "Goosehead Insurance",
+    "Gordon Pointe Acquisition Corp.",
+    "Gores Holdings III",
+    "Gores Metropoulos",
+    "Gorman-Rupp Company (The)",
+    "Gossamer Bio",
+    "Graco Inc.",
+    "Graf Industrial Corp.",
+    "GrafTech International Ltd.",
+    "Graham Corporation",
+    "Graham Holdings Company",
+    "Gran Tierra Energy Inc.",
+    "Grana y Montero S.A.A.",
+    "Grand Canyon Education",
+    "Granite Construction Incorporated",
+    "Granite Point Mortgage Trust Inc.",
+    "Granite Real Estate Inc.",
+    "Graphic Packaging Holding Company",
+    "Gray Television",
+    "Great Ajax Corp.",
+    "Great Elm Capital Corp.",
+    "Great Elm Capital Group",
+    "Great Lakes Dredge & Dock Corporation",
+    "Great Panther Mining Limited",
+    "Great Southern Bancorp",
+    "Great Western Bancorp",
+    "Green Brick Partners",
+    "Green Dot Corporation",
+    "Green Plains",
+    "Green Plains Partners LP",
+    "GreenSky",
+    "GreenTree Hospitality Group Ltd.",
+    "Greenbrier Companies",
+    "Greene County Bancorp",
+    "Greenhill & Co.",
+    "Greenland Acquisition Corporation",
+    "Greenlane Holdings",
+    "Greenlight Reinsurance",
+    "Greenpro Capital Corp.",
+    "Greif Bros. Corporation",
+    "Gridsum Holding Inc.",
+    "Griffin Industrial Realty",
+    "Griffon Corporation",
+    "Grifols",
+    "Grindrod Shipping Holdings Ltd.",
+    "Gritstone Oncology",
+    "Grocery Outlet Holding Corp.",
+    "Group 1 Automotive",
+    "Groupon",
+    "GrubHub Inc.",
+    "Grupo Aeroportuario Del Pacifico",
+    "Grupo Aeroportuario del Centro Norte S.A.B. de C.V.",
+    "Grupo Aeroportuario del Sureste",
+    "Grupo Aval Acciones y Valores S.A.",
+    "Grupo Financiero Galicia S.A.",
+    "Grupo Simec",
+    "Grupo Supervielle S.A.",
+    "Grupo Televisa S.A.",
+    "Guangshen Railway Company Limited",
+    "Guaranty Bancshares",
+    "Guaranty Federal Bancshares",
+    "Guardant Health",
+    "Guardion Health Sciences",
+    "Guess?",
+    "Guggenheim Credit Allocation Fund",
+    "Guggenheim Enhanced Equity Income Fund",
+    "Guggenheim Strategic Opportunities Fund",
+    "Guggenheim Taxable Municipal Managed Duration Trst",
+    "Guidewire Software",
+    "Gulf Island Fabrication",
+    "Gulf Resources",
+    "Gulfport Energy Corporation",
+    "Gyrodyne",
+    "H&E Equipment Services",
+    "H&R Block",
+    "H. B. Fuller Company",
+    "HC2 Holdings",
+    "HCA Healthcare",
+    "HCI Group",
+    "HCP",
+    "HD Supply Holdings",
+    "HDFC Bank Limited",
+    "HEXO Corp.",
+    "HF Foods Group Inc.",
+    "HL Acquisitions Corp.",
+    "HMG/Courtland Properties",
+    "HMN Financial",
+    "HMS Holdings Corp",
+    "HNI Corporation",
+    "HOOKIPA Pharma Inc.",
+    "HP Inc.",
+    "HSBC Holdings plc",
+    "HTG Molecular Diagnostics",
+    "HUYA Inc.",
+    "HV Bancorp",
+    "Haemonetics Corporation",
+    "Hailiang Education Group Inc.",
+    "Hallador Energy Company",
+    "Halliburton Company",
+    "Hallmark Financial Services",
+    "Halozyme Therapeutics",
+    "Hamilton Beach Brands Holding Company",
+    "Hamilton Lane Incorporated",
+    "Hancock Jaffe Laboratories",
+    "Hancock Whitney Corporation",
+    "Hanesbrands Inc.",
+    "Hanger",
+    "Hanmi Financial Corporation",
+    "Hannon Armstrong Sustainable Infrastructure Capital",
+    "HarborOne Bancorp",
+    "Harley-Davidson",
+    "Harmonic Inc.",
+    "Harmony Gold Mining Company Limited",
+    "Harpoon Therapeutics",
+    "Harrow Health",
+    "Harsco Corporation",
+    "Harte-Hanks",
+    "Hartford Financial Services Group",
+    "Harvard Bioscience",
+    "Harvest Capital Credit Corporation",
+    "Hasbro",
+    "Haverty Furniture Companies",
+    "Hawaiian Electric Industries",
+    "Hawaiian Holdings",
+    "Hawkins",
+    "Hawthorn Bancshares",
+    "Haymaker Acquisition Corp. II",
+    "Haynes International",
+    "HeadHunter Group PLC",
+    "Health Catalyst",
+    "Health Insurance Innovations",
+    "Health Sciences Acquisitions Corporation",
+    "HealthEquity",
+    "HealthStream",
+    "Healthcare Realty Trust Incorporated",
+    "Healthcare Services Group",
+    "Healthcare Trust of America",
+    "Heartland Express",
+    "Heartland Financial USA",
+    "Heat Biologics",
+    "Hebron Technology Co.",
+    "Hecla Mining Company",
+    "Heico Corporation",
+    "Heidrick & Struggles International",
+    "Helen of Troy Limited",
+    "Helios Technologies",
+    "Helius Medical Technologies",
+    "Helix Energy Solutions Group",
+    "Helmerich & Payne",
+    "Hemisphere Media Group",
+    "Hemispherx BioPharma",
+    "Hennessy Advisors",
+    "Hennessy Capital Acquisition Corp. IV",
+    "Henry Schein",
+    "Hepion Pharmaceuticals",
+    "Herbalife Nutrition Ltd.",
+    "Herc Holdings Inc.",
+    "Hercules Capital",
+    "Heritage Commerce Corp",
+    "Heritage Financial Corporation",
+    "Heritage Insurance Holdings",
+    "Heritage-Crystal Clean",
+    "Herman Miller",
+    "Hermitage Offshore Services Ltd.",
+    "Heron Therapeutics",
+    "Hersha Hospitality Trust",
+    "Hershey Company (The)",
+    "Hertz Global Holdings",
+    "Heska Corporation",
+    "Hess Corporation",
+    "Hess Midstream Partners LP",
+    "Hewlett Packard Enterprise Company",
+    "Hexcel Corporation",
+    "Hexindai Inc.",
+    "Hi-Crush Inc.",
+    "Hibbett Sports",
+    "High Income Securities Fund",
+    "HighPoint Resources Corporation",
+    "Highland Global Allocation Fund",
+    "Highland Income Fund",
+    "Highland/iBoxx Senior Loan ETF",
+    "Highpower International Inc",
+    "Highway Holdings Limited",
+    "Highwoods Properties",
+    "Hill International",
+    "Hill-Rom Holdings Inc",
+    "Hillenbrand Inc",
+    "Hillman Group Capital Trust",
+    "Hilltop Holdings Inc.",
+    "Hilton Grand Vacations Inc.",
+    "Hilton Worldwide Holdings Inc.",
+    "Himax Technologies",
+    "Hingham Institution for Savings",
+    "HireQuest",
+    "Histogenics Corporation",
+    "Hoegh LNG Partners LP",
+    "Holly Energy Partners",
+    "HollyFrontier Corporation",
+    "Hollysys Automation Technologies",
+    "Hologic",
+    "Home BancShares",
+    "Home Bancorp",
+    "Home Depot",
+    "Home Federal Bancorp",
+    "HomeStreet",
+    "HomeTrust Bancshares",
+    "Homology Medicines",
+    "Honda Motor Company",
+    "Honeywell International Inc.",
+    "Hooker Furniture Corporation",
+    "Hope Bancorp",
+    "Horace Mann Educators Corporation",
+    "Horizon Bancorp",
+    "Horizon Global Corporation",
+    "Horizon Technology Finance Corporation",
+    "Horizon Therapeutics Public Limited Company",
+    "Hormel Foods Corporation",
+    "Hornbeck Offshore Services",
+    "Hospitality Properties Trust",
+    "Host Hotels & Resorts",
+    "Hostess Brands",
+    "Hoth Therapeutics",
+    "Houghton Mifflin Harcourt Company",
+    "Houlihan Lokey",
+    "Houston American Energy Corporation",
+    "Houston Wire & Cable Company",
+    "Hovnanian Enterprises Inc",
+    "Howard Bancorp",
+    "Howard Hughes Corporation (The)",
+    "Huami Corporation",
+    "Huaneng Power International",
+    "Huazhu Group Limited",
+    "Hub Group",
+    "HubSpot",
+    "Hubbell Inc",
+    "Hudbay Minerals Inc.",
+    "Hudson Global",
+    "Hudson Ltd.",
+    "Hudson Pacific Properties",
+    "Hudson Technologies",
+    "Huitao Technology Co.",
+    "Humana Inc.",
+    "Hunt Companies Finance Trust",
+    "Huntington Bancshares Incorporated",
+    "Huntington Ingalls Industries",
+    "Huntsman Corporation",
+    "Hurco Companies",
+    "Huron Consulting Group Inc.",
+    "Hutchison China MediTech Limited",
+    "Huttig Building Products",
+    "Hyatt Hotels Corporation",
+    "HyreCar Inc.",
+    "Hyster-Yale Materials Handling",
+    "I.D. Systems",
+    "IAA",
+    "IAC/InterActiveCorp",
+    "IBERIABANK Corporation",
+    "IBEX Holdings Limited",
+    "IBO (Listing Market - NYSE Amex Network B F)",
+    "ICC Holdings",
+    "ICF International",
+    "ICICI Bank Limited",
+    "ICON plc",
+    "ICU Medical",
+    "IDACORP",
+    "IDEAYA Biosciences",
+    "IDEX Corporation",
+    "IDEXX Laboratories",
+    "IDT Corporation",
+    "IEC Electronics Corp.",
+    "IES Holdings",
+    "IF Bancorp",
+    "IHS Markit Ltd.",
+    "II-VI Incorporated",
+    "IMAC Holdings",
+    "IMV Inc.",
+    "ING Group",
+    "INMODE LTD.",
+    "INTL FCStone Inc.",
+    "INVESCO MORTGAGE CAPITAL INC",
+    "INmune Bio Inc.",
+    "IPG Photonics Corporation",
+    "IQ Chaikin U.S. Large Cap ETF",
+    "IQ Chaikin U.S. Small Cap ETF",
+    "IQVIA Holdings",
+    "IRIDEX Corporation",
+    "IRSA Inversiones Y Representaciones S.A.",
+    "IRSA Propiedades Comerciales S.A.",
+    "IT Tech Packaging",
+    "ITT Inc.",
+    "IVERIC bio",
+    "IZEA Worldwide",
+    "Iamgold Corporation",
+    "Icahn Enterprises L.P.",
+    "Ichor Holdings",
+    "Iconix Brand Group",
+    "Ideal Power Inc.",
+    "Ideanomics",
+    "Identiv",
+    "Idera Pharmaceuticals",
+    "Ikonics Corporation",
+    "Illinois Tool Works Inc.",
+    "Illumina",
+    "Image Sensing Systems",
+    "Imax Corporation",
+    "Immersion Corporation",
+    "ImmuCell Corporation",
+    "Immunic",
+    "ImmunoGen",
+    "Immunomedics",
+    "Immuron Limited",
+    "Immutep Limited",
+    "Impac Mortgage Holdings",
+    "Imperial Oil Limited",
+    "Impinj",
+    "InVivo Therapeutics Holdings Corp.",
+    "Income Opportunity Realty Investors",
+    "Incyte Corporation",
+    "Independence Contract Drilling",
+    "Independence Holding Company",
+    "Independence Realty Trust",
+    "Independent Bank Corp.",
+    "Independent Bank Corporation",
+    "Independent Bank Group",
+    "India Fund",
+    "India Globalization Capital Inc.",
+    "Industrial Logistics Properties Trust",
+    "Industrial Services of America",
+    "Industrias Bachoco",
+    "Infinera Corporation",
+    "Infinity Pharmaceuticals",
+    "InflaRx N.V.",
+    "Information Services Group",
+    "Infosys Limited",
+    "Infrastructure and Energy Alternatives",
+    "InfuSystems Holdings",
+    "Ingersoll-Rand plc (Ireland)",
+    "Ingevity Corporation",
+    "Ingles Markets",
+    "Ingredion Incorporated",
+    "InnSuites Hospitality Trust",
+    "InnerWorkings",
+    "Innodata Inc.",
+    "Innophos Holdings",
+    "Innospec Inc.",
+    "Innovate Biopharmaceuticals",
+    "Innovative Industrial Properties",
+    "Innovative Solutions and Support",
+    "Innoviva",
+    "Inogen",
+    "Inovalon Holdings",
+    "Inovio Pharmaceuticals",
+    "Inphi Corporation",
+    "Inpixon ",
+    "Inseego Corp.",
+    "Insight Enterprises",
+    "Insight Select Income Fund",
+    "Insignia Systems",
+    "Insmed",
+    "Insperity",
+    "Inspire Medical Systems",
+    "InspireMD Inc.",
+    "Inspired Entertainment",
+    "Installed Building Products",
+    "Insteel Industries",
+    "Instructure",
+    "Insulet Corporation",
+    "Insurance Acquisition Corp.",
+    "Intec Pharma Ltd.",
+    "Integer Holdings Corporation",
+    "Integra LifeSciences Holdings Corporation",
+    "Integrated Media Technology Limited",
+    "Intel Corporation",
+    "Intellia Therapeutics",
+    "Intellicheck",
+    "Intelligent Systems Corporation",
+    "Intelsat S.A.",
+    "Inter Parfums",
+    "InterDigital",
+    "InterXion Holding N.V.",
+    "Intercept Pharmaceuticals",
+    "Intercontinental Exchange Inc.",
+    "Intercontinental Hotels Group",
+    "Intercorp Financial Services Inc.",
+    "Interface",
+    "Intermolecular",
+    "Internap Corporation",
+    "International Bancshares Corporation",
+    "International Business Machines Corporation",
+    "International Flavors & Fragrances",
+    "International Game Technology",
+    "International Money Express",
+    "International Paper Company",
+    "International Seaways",
+    "International Speedway Corporation",
+    "International Tower Hill Mines Ltd",
+    "Internet Gold Golden Lines Ltd.",
+    "Interpace Diagnostics Group",
+    "Interpublic Group of Companies",
+    "Intersect ENT",
+    "Interstate Power and Light Company",
+    "Intevac",
+    "Intra-Cellular Therapies Inc.",
+    "Intrepid Potash",
+    "Intrexon Corporation",
+    "IntriCon Corporation",
+    "Intuit Inc.",
+    "Intuitive Surgical",
+    "Inuvo",
+    "Invacare Corporation",
+    "Invesco 1-30 Laddered Treasury ETF",
+    "Invesco Advantage Municipal Income Trust II",
+    "Invesco BLDRS Asia 50 ADR Index Fund",
+    "Invesco BLDRS Developed Markets 100 ADR Index Fund",
+    "Invesco BLDRS Emerging Markets 50 ADR Index Fund",
+    "Invesco BLDRS Europe Select ADR Index Fund",
+    "Invesco Bond Fund",
+    "Invesco BuyBack Achievers ETF",
+    "Invesco California Value Municipal Income Trust",
+    "Invesco Credit Opportunities Fund",
+    "Invesco DWA Basic Materials Momentum ETF",
+    "Invesco DWA Consumer Cyclicals Momentum ETF",
+    "Invesco DWA Consumer Staples Momentum ETF",
+    "Invesco DWA Developed Markets Momentum ETF",
+    "Invesco DWA Emerging Markets Momentum ETF",
+    "Invesco DWA Energy Momentum ETF",
+    "Invesco DWA Financial Momentum ETF",
+    "Invesco DWA Healthcare Momentum ETF",
+    "Invesco DWA Industrials Momentum ETF",
+    "Invesco DWA Momentum ETF",
+    "Invesco DWA NASDAQ Momentum ETF",
+    "Invesco DWA SmallCap Momentum ETF",
+    "Invesco DWA Tactical Multi-Asset Income ETF",
+    "Invesco DWA Tactical Sector Rotation ETF",
+    "Invesco DWA Technology Momentum ETF",
+    "Invesco DWA Utilities Momentum ETF",
+    "Invesco Dividend Achievers ETF",
+    "Invesco FTSE International Low Beta Equal Weight ETF",
+    "Invesco FTSE RAFI US 1500 Small-Mid ETF",
+    "Invesco Global Water ETF",
+    "Invesco Golden Dragon China ETF",
+    "Invesco High Income 2023 Target Term Fund",
+    "Invesco High Income 2024 Target Term Fund",
+    "Invesco High Income Trust II",
+    "Invesco High Yield Equity Dividend Achievers ETF",
+    "Invesco International BuyBack Achievers ETF",
+    "Invesco International Dividend Achievers ETF",
+    "Invesco KBW Bank ETF",
+    "Invesco KBW High Dividend Yield Financial ETF",
+    "Invesco KBW Premium Yield Equity REIT ETF",
+    "Invesco KBW Property & Casualty Insurance ETF",
+    "Invesco KBW Regional Banking ETF",
+    "Invesco LadderRite 0-5 Year Corporate Bond ETF",
+    "Invesco Mortgage Capital Inc.",
+    "Invesco Municipal Income Opportunities Trust",
+    "Invesco Municipal Opportunity Trust",
+    "Invesco Municipal Trust",
+    "Invesco Nasdaq Internet ETF",
+    "Invesco Optimum Yield Diversified Commodity Strategy No K-1 ET",
+    "Invesco Pennsylvania Value Municipal Income Trust",
+    "Invesco Plc",
+    "Invesco QQQ Trust",
+    "Invesco Quality Municipal Income Trust",
+    "Invesco RAFI Strategic Developed ex-US ETF",
+    "Invesco RAFI Strategic Developed ex-US Small Company ETF",
+    "Invesco RAFI Strategic Emerging Markets ETF",
+    "Invesco RAFI Strategic US ETF",
+    "Invesco RAFI Strategic US Small Company ETF",
+    "Invesco Russell 1000 Low Beta Equal Weight ETF",
+    "Invesco S&P SmallCap Consumer Discretionary ETF",
+    "Invesco S&P SmallCap Consumer Staples ETF",
+    "Invesco S&P SmallCap Energy ETF",
+    "Invesco S&P SmallCap Financials ETF",
+    "Invesco S&P SmallCap Health Care ETF",
+    "Invesco S&P SmallCap Industrials ETF",
+    "Invesco S&P SmallCap Information Technology ETF",
+    "Invesco S&P SmallCap Materials ETF",
+    "Invesco S&P SmallCap Utilities & Communication Services ETF",
+    "Invesco Senior Income Trust",
+    "Invesco Trust  for Investment Grade New York Municipal",
+    "Invesco Trust for Investment Grade Municipals",
+    "Invesco Value Municipal Income Trust",
+    "Invesco Variable Rate Investment Grade ETF",
+    "Invesco Water Resources ETF",
+    "Investar Holding Corporation",
+    "Investcorp Credit Management BDC",
+    "Investors Bancorp",
+    "Investors Real Estate Trust",
+    "Investors Title Company",
+    "Invitae Corporation",
+    "Invitation Homes Inc.",
+    "Ion Geophysical Corporation",
+    "Ionis Pharmaceuticals",
+    "Iovance Biotherapeutics",
+    "Iridium Communications Inc",
+    "Iron Mountain Incorporated",
+    "Ironwood Pharmaceuticals",
+    "IsoRay",
+    "Israel Chemicals Shs",
+    "Isramco",
+    "Issuer Direct Corporation",
+    "Ita? CorpBanca",
+    "Itamar Medical Ltd.",
+    "Itau Unibanco Banco Holding SA",
+    "Iteris",
+    "Iterum Therapeutics plc",
+    "Itron",
+    "Ituran Location and Control Ltd.",
+    "Ivy High Income Opportunities Fund",
+    "J & J Snack Foods Corp.",
+    "J P Morgan Chase & Co",
+    "J. Alexander&#39;s Holdings",
+    "J. Jill",
+    "J. W. Mays",
+    "J.B. Hunt Transport Services",
+    "J.C. Penney Company",
+    "J.M. Smucker Company (The)",
+    "JAKKS Pacific",
+    "JBG SMITH Properties",
+    "JD.com",
+    "JELD-WEN Holding",
+    "JMP Group LLC",
+    "JMU Limited",
+    "Jabil Inc.",
+    "Jack Henry & Associates",
+    "Jack In The Box Inc.",
+    "Jacobs Engineering Group Inc.",
+    "Jagged Peak Energy Inc.",
+    "Jaguar Health",
+    "James Hardie Industries plc.",
+    "James River Group Holdings",
+    "JanOne Inc.",
+    "Janus Henderson Group plc",
+    "Janus Henderson Small Cap Growth Alpha ETF",
+    "Janus Henderson Small/Mid Cap Growth Alpha ETF",
+    "Japan Smaller Capitalization Fund Inc",
+    "Jason Industries",
+    "Jazz Pharmaceuticals plc",
+    "Jefferies Financial Group Inc.",
+    "Jerash Holdings (US)",
+    "Jernigan Capital",
+    "JetBlue Airways Corporation",
+    "Jewett-Cameron Trading Company",
+    "Jianpu Technology Inc.",
+    "Jiayin Group Inc.",
+    "JinkoSolar Holding Company Limited",
+    "John B. Sanfilippo & Son",
+    "John Bean Technologies Corporation",
+    "John Hancock Financial Opportunities Fund",
+    "John Hancock Hedged Equity & Income Fund",
+    "John Hancock Income Securities Trust",
+    "John Hancock Investors Trust",
+    "John Hancock Pfd Income Fund II",
+    "John Hancock Preferred Income Fund",
+    "John Hancock Preferred Income Fund III",
+    "John Hancock Premium Dividend Fund",
+    "John Hancock Tax Advantaged Dividend Income Fund",
+    "John Hancock Tax-Advantaged Global Shareholder Yield Fund",
+    "John Wiley & Sons",
+    "Johnson & Johnson",
+    "Johnson Controls International plc",
+    "Johnson Outdoors Inc.",
+    "Jones Lang LaSalle Incorporated",
+    "Jounce Therapeutics",
+    "Jumei International Holding Limited",
+    "Jumia Technologies AG",
+    "Juniper Networks",
+    "Jupai Holdings Limited",
+    "Just Energy Group",
+    "K12 Inc",
+    "KAR Auction Services",
+    "KB Financial Group Inc",
+    "KB Home",
+    "KBL Merger Corp. IV",
+    "KBR",
+    "KBS Fashion Group Limited",
+    "KKR & Co. Inc.",
+    "KKR Income Opportunities Fund",
+    "KKR Real Estate Finance Trust Inc.",
+    "KLA Corporation ",
+    "KLX Energy Services Holdings",
+    "KNOT Offshore Partners LP",
+    "KT Corporation",
+    "KVH Industries",
+    "Kadant Inc",
+    "Kadmon Holdings",
+    "Kaiser Aluminum Corporation",
+    "Kaixin Auto Holdings",
+    "KalVista Pharmaceuticals",
+    "Kala Pharmaceuticals",
+    "Kaleido Biosciences",
+    "Kamada Ltd.",
+    "Kaman Corporation",
+    "Kandi Technologies Group",
+    "Kansas City Southern",
+    "Karuna Therapeutics",
+    "Karyopharm Therapeutics Inc.",
+    "Kayne Anderson MLP/Midstream Investment Company",
+    "Kayne Anderson Midstream Energy Fund",
+    "Kazia Therapeutics Limited",
+    "Keane Group",
+    "Kearny Financial",
+    "Kellogg Company",
+    "Kelly Services",
+    "Kelso Technologies Inc",
+    "KemPharm",
+    "Kemet Corporation",
+    "Kemper Corporation",
+    "Kennametal Inc.",
+    "Kennedy-Wilson Holdings Inc.",
+    "Kenon Holdings Ltd.",
+    "Kentucky First Federal Bancorp",
+    "Keurig Dr Pepper Inc.",
+    "Kewaunee Scientific Corporation",
+    "Key Energy Services",
+    "Key Tronic Corporation",
+    "KeyCorp",
+    "Keysight Technologies Inc.",
+    "Kezar Life Sciences",
+    "Kforce",
+    "Kilroy Realty Corporation",
+    "Kimball Electronics",
+    "Kimball International",
+    "Kimbell Royalty Partners",
+    "Kimberly-Clark Corporation",
+    "Kimco Realty Corporation",
+    "Kinder Morgan",
+    "Kindred Biosciences",
+    "Kingold Jewelry Inc.",
+    "Kingstone Companies",
+    "Kingsway Financial Services",
+    "Kiniksa Pharmaceuticals",
+    "Kinross Gold Corporation",
+    "Kinsale Capital Group",
+    "Kirby Corporation",
+    "Kirkland Lake Gold Ltd.",
+    "Kirkland&#39;s",
+    "Kite Realty Group Trust",
+    "Kitov Pharma Ltd.",
+    "Knight Transportation",
+    "Knoll",
+    "Knowles Corporation",
+    "Kodiak Sciences Inc",
+    "Kohl&#39;s Corporation",
+    "Koninklijke Philips N.V.",
+    "Kontoor Brands",
+    "Kopin Corporation",
+    "Koppers Holdings Inc.",
+    "Korea Electric Power Corporation",
+    "Korea Fund",
+    "Korn Ferry ",
+    "Kornit Digital Ltd.",
+    "Kosmos Energy Ltd.",
+    "Koss Corporation",
+    "KraneShares Trust KraneShares CSI China Internet ETF",
+    "Kraton Corporation",
+    "Kratos Defense & Security Solutions",
+    "Kroger Company (The)",
+    "Kronos Worldwide Inc",
+    "Krystal Biotech",
+    "Kulicke and Soffa Industries",
+    "Kura Oncology",
+    "Kura Sushi USA",
+    "L Brands",
+    "L.B. Foster Company",
+    "L.S. Starrett Company (The)",
+    "L3Harris Technologies",
+    "LAIX Inc.",
+    "LATAM Airlines Group S.A.",
+    "LCI Industries ",
+    "LCNB Corporation",
+    "LEAP THERAPEUTICS",
+    "LF Capital Acquistion Corp.",
+    "LG Display Co.",
+    "LGI Homes",
+    "LGL Group",
+    "LHC Group",
+    "LINE Corporation",
+    "LKQ Corporation",
+    "LM Funding America",
+    "LMP Capital and Income Fund Inc.",
+    "LPL Financial Holdings Inc.",
+    "LRAD Corporation",
+    "LSC Communications",
+    "LSI Industries Inc.",
+    "LTC Properties",
+    "La Jolla Pharmaceutical Company",
+    "La-Z-Boy Incorporated",
+    "Laboratory Corporation of America Holdings",
+    "Ladder Capital Corp",
+    "Ladenburg Thalmann Financial Services Inc",
+    "Ladenburg Thalmann Financial Services Inc.",
+    "Lake Shore Bancorp",
+    "Lakeland Bancorp",
+    "Lakeland Financial Corporation",
+    "Lakeland Industries",
+    "Lam Research Corporation",
+    "Lamar Advertising Company",
+    "Lamb Weston Holdings",
+    "Lancaster Colony Corporation",
+    "Landcadia Holdings II",
+    "Landec Corporation",
+    "Landmark Bancorp Inc.",
+    "Landmark Infrastructure Partners LP",
+    "Lands&#39; End",
+    "Landstar System",
+    "Lannett Co Inc",
+    "Lantheus Holdings",
+    "Lantronix",
+    "Laredo Petroleum",
+    "Las Vegas Sands Corp.",
+    "Lattice Semiconductor Corporation",
+    "Laureate Education",
+    "Lawson Products",
+    "Lazard Global Total Return and Income Fund",
+    "Lazard Ltd.",
+    "Lazard World Dividend & Income Fund",
+    "Lazydays Holdings",
+    "LeMaitre Vascular",
+    "Leaf Group Ltd.",
+    "Lear Corporation",
+    "Lee Enterprises",
+    "Legacy Acquisition Corp.",
+    "Legacy Housing Corporation",
+    "LegacyTexas Financial Group",
+    "Legg Mason",
+    "Legg Mason Global Infrastructure ETF",
+    "Legg Mason Low Volatility High Dividend ETF",
+    "Legg Mason Small-Cap Quality Value ETF",
+    "Leggett & Platt",
+    "Lehman ABS Corporation",
+    "Leidos Holdings",
+    "Leisure Acquisition Corp.",
+    "Leju Holdings Limited",
+    "LendingClub Corporation",
+    "LendingTree",
+    "Lennar Corporation",
+    "Lennox International",
+    "Leo Holdings Corp.",
+    "Level One Bancorp",
+    "Levi Strauss & Co",
+    "Lexicon Pharmaceuticals",
+    "LexinFintech Holdings Ltd.",
+    "Lexington Realty Trust",
+    "Lianluo Smart Limited",
+    "Libbey",
+    "Liberty All-Star Equity Fund",
+    "Liberty All-Star Growth Fund",
+    "Liberty Broadband Corporation",
+    "Liberty Global plc",
+    "Liberty Latin America Ltd.",
+    "Liberty Media Corporation",
+    "Liberty Oilfield Services Inc.",
+    "Liberty Property Trust",
+    "Liberty TripAdvisor Holdings",
+    "Life Storage",
+    "Lifetime Brands",
+    "Lifevantage Corporation",
+    "Lifeway Foods",
+    "Ligand Pharmaceuticals Incorporated",
+    "LightInTheBox Holding Co.",
+    "LightPath Technologies",
+    "Lightbridge Corporation",
+    "Lilis Energy",
+    "Limbach Holdings",
+    "Limelight Networks",
+    "Limestone Bancorp",
+    "Limoneira Co",
+    "Lincoln Educational Services Corporation",
+    "Lincoln Electric Holdings",
+    "Lincoln National Corporation",
+    "Lindblad Expeditions Holdings Inc. ",
+    "Linde plc",
+    "Lindsay Corporation",
+    "Lineage Cell Therapeutics",
+    "Linx S.A.",
+    "Lions Gate Entertainment Corporation",
+    "Lipocine Inc.",
+    "LiqTech International",
+    "Liquid Media Group Ltd.",
+    "Liquidia Technologies",
+    "Liquidity Services",
+    "Lithia Motors",
+    "Lithium Americas Corp.",
+    "Littelfuse",
+    "LivaNova PLC",
+    "Live Nation Entertainment",
+    "Live Oak Bancshares",
+    "Live Ventures Incorporated",
+    "LivePerson",
+    "LiveRamp Holdings",
+    "LiveXLive Media",
+    "Livent Corporation",
+    "Livongo Health",
+    "Lloyds Banking Group Plc",
+    "Lockheed Martin Corporation",
+    "Loews Corporation",
+    "LogMein",
+    "LogicBio Therapeutics",
+    "Logitech International S.A.",
+    "Loma Negra Compania Industrial Argentina Sociedad Anonima",
+    "Loncar Cancer Immunotherapy ETF",
+    "Loncar China BioPharma ETF",
+    "Lonestar Resources US Inc.",
+    "Longevity Acquisition Corporation",
+    "Loop Industries",
+    "Loral Space and Communications",
+    "Louisiana-Pacific Corporation",
+    "Lowe&#39;s Companies",
+    "Lsb Industries Inc.",
+    "Luby&#39;s",
+    "Luckin Coffee Inc.",
+    "Lumber Liquidators Holdings",
+    "Lumentum Holdings Inc.",
+    "Luminex Corporation",
+    "Luna Innovations Incorporated",
+    "Luokung Technology Corp",
+    "Luther Burbank Corporation",
+    "Luxfer Holdings PLC",
+    "Lydall",
+    "Lyft",
+    "Lyon William Homes",
+    "LyondellBasell Industries NV",
+    "M&T Bank Corporation",
+    "M.D.C. Holdings",
+    "M/I Homes",
+    "MACOM Technology Solutions Holdings",
+    "MAG Silver Corporation",
+    "MAM Software Group",
+    "MBIA",
+    "MDC Partners Inc.",
+    "MDJM LTD",
+    "MDU Resources Group",
+    "MEDIFAST INC",
+    "MEI Pharma",
+    "MER Telemanagement Solutions Ltd.",
+    "MFA Financial",
+    "MFS Charter Income Trust",
+    "MFS Government Markets Income Trust",
+    "MFS Intermediate Income Trust",
+    "MFS Multimarket Income Trust",
+    "MFS Municipal Income Trust",
+    "MFS Special Value Trust",
+    "MGE Energy Inc.",
+    "MGIC Investment Corporation",
+    "MGM Growth Properties LLC",
+    "MGM Resorts International",
+    "MGP Ingredients",
+    "MICT",
+    "MIDSTATES PETROLEUM COMPANY",
+    "MIND C.T.I. Ltd.",
+    "MISONIX",
+    "MKS Instruments",
+    "MMA Capital Holdings",
+    "MMTec",
+    "MOGU Inc.",
+    "MPLX LP",
+    "MRC Global Inc.",
+    "MRI Interventions",
+    "MS Structured Asset Corp Saturns GE Cap Corp Series 2002-14",
+    "MSA Safety Incorporporated",
+    "MSB Financial Corp.",
+    "MSC Industrial Direct Company",
+    "MSCI Inc",
+    "MSG Networks Inc.",
+    "MTBC",
+    "MTS Systems Corporation",
+    "MV Oil Trust",
+    "MVB Financial Corp.",
+    "MVC Capital",
+    "MYOS RENS Technology Inc.",
+    "MYR Group",
+    "Macatawa Bank Corporation",
+    "Macerich Company (The)",
+    "Mack-Cali Realty Corporation",
+    "Mackinac Financial Corporation",
+    "Macquarie First Trust Global",
+    "Macquarie Global Infrastructure Total Return Fund Inc.",
+    "Macquarie Infrastructure Corporation ",
+    "Macro Bank Inc.",
+    "MacroGenics",
+    "Macy&#39;s Inc",
+    "Madison Covered Call & Equity Strategy Fund",
+    "Madrigal Pharmaceuticals",
+    "Magal Security Systems Ltd.",
+    "Magellan Health",
+    "Magellan Midstream Partners L.P.",
+    "Magenta Therapeutics",
+    "Magic Software Enterprises Ltd.",
+    "Magna International",
+    "MagnaChip Semiconductor Corporation",
+    "Magnolia Oil & Gas Corporation",
+    "Magyar Bancorp",
+    "Maiden Holdings",
+    "Main Street Capital Corporation",
+    "MainStay MacKay DefinedTerm Municipal Opportunitie",
+    "MainStreet Bancshares",
+    "Majesco",
+    "MakeMyTrip Limited",
+    "Malibu Boats",
+    "Mallinckrodt plc",
+    "Malvern Bancorp",
+    "Mammoth Energy Services",
+    "ManTech International Corporation",
+    "Manchester United Ltd.",
+    "Manhattan Associates",
+    "Manhattan Bridge Capital",
+    "Manitex International",
+    "Manitowoc Company",
+    "MannKind Corporation",
+    "Mannatech",
+    "Manning & Napier",
+    "ManpowerGroup",
+    "Manulife Financial Corp",
+    "Marathon Oil Corporation",
+    "Marathon Patent Group",
+    "Marathon Petroleum Corporation",
+    "Marchex",
+    "Marcus & Millichap",
+    "Marcus Corporation (The)",
+    "Marin Software Incorporated",
+    "Marine Petroleum Trust",
+    "Marine Products Corporation",
+    "MarineMax",
+    "Marinus Pharmaceuticals",
+    "Markel Corporation",
+    "Marker Therapeutics",
+    "MarketAxess Holdings",
+    "Marlin Business Services Corp.",
+    "Marriott International",
+    "Marriott Vacations Worldwide Corporation",
+    "Marrone Bio Innovations",
+    "Marsh & McLennan Companies",
+    "Marten Transport",
+    "Martin Marietta Materials",
+    "Martin Midstream Partners L.P.",
+    "Marvell Technology Group Ltd.",
+    "MasTec",
+    "Masco Corporation",
+    "Masimo Corporation",
+    "Masonite International Corporation",
+    "Mastech Digital",
+    "MasterCraft Boat Holdings",
+    "Mastercard Incorporated",
+    "Matador Resources Company",
+    "Match Group",
+    "Materialise NV",
+    "Materion Corporation",
+    "Matinas Biopharma Holdings",
+    "Matrix Service Company",
+    "Matson",
+    "Mattel",
+    "Matthews International Corporation",
+    "Maui Land & Pineapple Company",
+    "Maverix Metals Inc.",
+    "MaxLinear",
+    "Maxar Technologies Inc.",
+    "Maxim Integrated Products",
+    "Maximus",
+    "Mayville Engineering Company",
+    "McClatchy Company (The)",
+    "McCormick & Company",
+    "McDermott International",
+    "McDonald&#39;s Corporation",
+    "McEwen Mining Inc.",
+    "McGrath RentCorp",
+    "McKesson Corporation",
+    "Mechel PAO",
+    "Medalist Diversified REIT",
+    "Medallia",
+    "Medallion Financial Corp.",
+    "MediWound Ltd.",
+    "Medical Properties Trust",
+    "MediciNova",
+    "Medidata Solutions",
+    "Medigus Ltd.",
+    "Medley Capital Corporation",
+    "Medley LLC",
+    "Medley Management Inc.",
+    "Mednax",
+    "Medpace Holdings",
+    "Medtronic plc",
+    "Megalith Financial Acquisition Corp.",
+    "MeiraGTx Holdings plc",
+    "Melco Resorts & Entertainment Limited",
+    "Melinta Therapeutics",
+    "Mellanox Technologies",
+    "Menlo Therapeutics Inc.",
+    "MercadoLibre",
+    "Mercantile Bank Corporation",
+    "Mercer International Inc.",
+    "Merchants Bancorp",
+    "Merck & Company",
+    "Mercury General Corporation",
+    "Mercury Systems Inc",
+    "Meredith Corporation",
+    "Mereo BioPharma Group plc",
+    "Meridian Bancorp",
+    "Meridian Bioscience Inc.",
+    "Meridian Corporation",
+    "Merit Medical Systems",
+    "Meritage Corporation",
+    "Meritor",
+    "Merrill Lynch & Co.",
+    "Merrill Lynch Depositor",
+    "Merrimack Pharmaceuticals",
+    "Mersana Therapeutics",
+    "Merus N.V.",
+    "Mesa Air Group",
+    "Mesa Laboratories",
+    "Mesa Royalty Trust",
+    "Mesabi Trust",
+    "Mesoblast Limited",
+    "MetLife",
+    "Meta Financial Group",
+    "Methanex Corporation",
+    "Methode Electronics",
+    "Metropolitan Bank Holding Corp.",
+    "Mettler-Toledo International",
+    "Mexco Energy Corporation",
+    "Mexico Equity and Income Fund",
+    "Mexico Fund",
+    "MiX Telematics Limited",
+    "Micro Focus Intl PLC",
+    "MicroStrategy Incorporated",
+    "Microbot Medical Inc. ",
+    "Microchip Technology Incorporated",
+    "Micron Solutions",
+    "Micron Technology",
+    "Microsoft Corporation",
+    "Microvision",
+    "Mid Penn Bancorp",
+    "Mid-America Apartment Communities",
+    "Mid-Con Energy Partners",
+    "Mid-Southern Bancorp",
+    "MidSouth Bancorp",
+    "MidWestOne Financial Group",
+    "Midatech Pharma PLC",
+    "Middlefield Banc Corp.",
+    "Middlesex Water Company",
+    "Midland States Bancorp",
+    "Milacron Holdings Corp.",
+    "Milestone Pharmaceuticals Inc.",
+    "Milestone Scientific",
+    "Millendo Therapeutics",
+    "Miller Industries",
+    "Miller/Howard High Income Equity Fund",
+    "Millicom International Cellular S.A.",
+    "Mimecast Limited",
+    "Minerals Technologies Inc.",
+    "Minerva Neurosciences",
+    "Miragen Therapeutics",
+    "Mirati Therapeutics",
+    "Mirum Pharmaceuticals",
+    "Mistras Group Inc",
+    "Mitcham Industries",
+    "Mitek Systems",
+    "Mitsubishi UFJ Financial Group Inc",
+    "Mizuho Financial Group",
+    "MoSys",
+    "Mobile Mini",
+    "Mobile TeleSystems OJSC",
+    "MobileIron",
+    "Model N",
+    "Moderna",
+    "Modine Manufacturing Company",
+    "Moelis & Company",
+    "Mogo Inc.",
+    "Mohawk Group Holdings",
+    "Mohawk Industries",
+    "Molecular Templates",
+    "Moleculin Biotech",
+    "Molina Healthcare Inc",
+    "Molson Coors Brewing  Company",
+    "Momenta Pharmaceuticals",
+    "Momo Inc.",
+    "Monaker Group",
+    "Monarch Casino & Resort",
+    "Mondelez International",
+    "Moneygram International",
+    "MongoDB",
+    "Monmouth Real Estate Investment Corporation",
+    "Monocle Acquisition Corporation",
+    "Monolithic Power Systems",
+    "Monotype Imaging Holdings Inc.",
+    "Monro",
+    "Monroe Capital Corporation",
+    "Monster Beverage Corporation",
+    "Montage Resources Corporation",
+    "Moody&#39;s Corporation",
+    "Moog Inc.",
+    "Morgan Stanley",
+    "Morgan Stanley China A Share Fund Inc.",
+    "Morgan Stanley Emerging Markets Debt Fund",
+    "Morgan Stanley Emerging Markets Domestic Debt Fund",
+    "Morgan Stanley India Investment Fund",
+    "Morningstar",
+    "Morphic Holding",
+    "MorphoSys AG",
+    "Mosaic Acquisition Corp.",
+    "Mosaic Company (The)",
+    "Mota Group",
+    "Motif Bio plc",
+    "Motorcar Parts of America",
+    "Motorola Solutions",
+    "Motus GI Holdings",
+    "Mountain Province Diamonds Inc.",
+    "Movado Group Inc.",
+    "Moxian",
+    "Mr. Cooper Group Inc.",
+    "Mudrick Capital Acquisition Corporation",
+    "Mueller Industries",
+    "Mueller Water Products Inc",
+    "MuniVest Fund",
+    "MuniYield Arizona Fund",
+    "Murphy Oil Corporation",
+    "Murphy USA Inc.",
+    "Mustang Bio",
+    "MutualFirst Financial Inc.",
+    "My Size",
+    "Myers Industries",
+    "Mylan N.V.",
+    "MyoKardia",
+    "Myomo Inc.",
+    "Myovant Sciences Ltd.",
+    "Myriad Genetics",
+    "NACCO Industries",
+    "NAPCO Security Technologies",
+    "NASDAQ TEST STOCK",
+    "NB Capital Acquisition Corp.",
+    "NBT Bancorp Inc.",
+    "NCR Corporation",
+    "NCS Multistage Holdings",
+    "NETGEAR",
+    "NF Energy Saving Corporation",
+    "NGL ENERGY PARTNERS LP",
+    "NGM Biopharmaceuticals",
+    "NI Holdings",
+    "NIC Inc.",
+    "NICE Ltd",
+    "NII Holdings",
+    "NIO Inc.",
+    "NL Industries",
+    "NMI Holdings Inc",
+    "NN",
+    "NOW Inc.",
+    "NRC Group Holdings Corp.",
+    "NRG Energy",
+    "NTN Buzztime",
+    "NV5 Global",
+    "NVE Corporation",
+    "NVIDIA Corporation",
+    "NVR",
+    "NXP Semiconductors N.V.",
+    "NXT-ID Inc.",
+    "NYSE Test One",
+    "Nabors Industries Ltd.",
+    "Nabriva Therapeutics plc",
+    "Naked Brand Group Limited",
+    "Nam Tai Property Inc.",
+    "Nano Dimension Ltd.",
+    "NanoString Technologies",
+    "NanoVibronix",
+    "NanoViricides",
+    "Nanometrics Incorporated",
+    "NantHealth",
+    "NantKwest",
+    "Nasdaq",
+    "Natera",
+    "Nathan&#39;s Famous",
+    "National Bank Holdings Corporation",
+    "National Bankshares",
+    "National Beverage Corp.",
+    "National CineMedia",
+    "National Energy Services Reunited Corp.",
+    "National Fuel Gas Company",
+    "National General Holdings Corp",
+    "National Grid Transco",
+    "National Health Investors",
+    "National HealthCare Corporation",
+    "National Holdings Corporation",
+    "National Instruments Corporation",
+    "National Oilwell Varco",
+    "National Presto Industries",
+    "National Research Corporation",
+    "National Retail Properties",
+    "National Rural Utilities Cooperative Finance Corporation",
+    "National Security Group",
+    "National Steel Company",
+    "National Storage Affiliates Trust",
+    "National Vision Holdings",
+    "National Western Life Group",
+    "Natural Alternatives International",
+    "Natural Gas Services Group",
+    "Natural Grocers by Vitamin Cottage",
+    "Natural Health Trends Corp.",
+    "Natural Resource Partners LP",
+    "Nature&#39;s Sunshine Products",
+    "Natus Medical Incorporated",
+    "Natuzzi",
+    "Nautilus Group",
+    "Navidea Biopharmaceuticals",
+    "Navient Corporation",
+    "Navigant Consulting",
+    "Navigator Holdings Ltd.",
+    "Navios Maritime Acquisition Corporation",
+    "Navios Maritime Containers L.P.",
+    "Navios Maritime Holdings Inc.",
+    "Navios Maritime Partners LP",
+    "Navistar International Corporation",
+    "Nebula Acquisition Corporation",
+    "Neenah",
+    "Nektar Therapeutics",
+    "Nelnet",
+    "Nemaura Medical Inc.",
+    "NeoGenomics",
+    "NeoPhotonics Corporation",
+    "Neogen Corporation",
+    "Neoleukin Therapeutics",
+    "Neon Therapeutics",
+    "Neonode Inc.",
+    "Neos Therapeutics",
+    "Neovasc Inc.",
+    "Nephros",
+    "Neptune Wellness Solutions Inc.",
+    "Nesco Holdings",
+    "Net 1 UEPS Technologies",
+    "Net Element",
+    "NetApp",
+    "NetEase",
+    "NetScout Systems",
+    "NetSol Technologies Inc.",
+    "Netfin Acquisition Corp.",
+    "Netflix",
+    "Network-1 Technologies",
+    "NeuBase Therapeutics",
+    "Neuberger Berman California Municipal Fund Inc",
+    "Neuberger Berman High Yield Strategies Fund",
+    "Neuberger Berman MLP and Energy Income Fund Inc.",
+    "Neuberger Berman Municipal Fund Inc.",
+    "Neuberger Berman New York Municipal Fund Inc.",
+    "Neuberger Berman Real Estate Securities Income Fund",
+    "Neuralstem",
+    "NeuroMetrix",
+    "Neurocrine Biosciences",
+    "Neuronetics",
+    "Neurotrope",
+    "Nevro Corp.",
+    "New Age Beverages Corporation",
+    "New America High Income Fund",
+    "New Concept Energy",
+    "New England Realty Associates Limited Partnership",
+    "New Fortress Energy LLC",
+    "New Frontier Corporation",
+    "New Germany Fund",
+    "New Gold Inc.",
+    "New Home Company Inc. (The)",
+    "New Ireland Fund",
+    "New Media Investment Group Inc.",
+    "New Mountain Finance Corporation",
+    "New Oriental Education & Technology Group",
+    "New Providence Acquisition Corp.",
+    "New Relic",
+    "New Residential Investment Corp.",
+    "New Senior Investment Group Inc.",
+    "New York Community Bancorp",
+    "New York Mortgage Trust",
+    "New York Times Company (The)",
+    "NewJersey Resources Corporation",
+    "NewLink Genetics Corporation",
+    "NewMarket Corporation",
+    "Newater Technology",
+    "Newell Brands Inc.",
+    "Newmark Group",
+    "Newmont Goldcorp Corporation",
+    "Newpark Resources",
+    "News Corporation",
+    "Newtek Business Services Corp.",
+    "NexPoint Residential Trust",
+    "NexPoint Strategic Opportunities Fund",
+    "Nexa Resources S.A.",
+    "Nexeon Medsystems",
+    "Nexgen Energy Ltd.",
+    "Nexstar Media Group",
+    "NextCure",
+    "NextDecade Corporation",
+    "NextEra Energy",
+    "NextEra Energy Partners",
+    "NextGen Healthcare",
+    "NiSource",
+    "Niagara Mohawk Holdings",
+    "Nicholas Financial",
+    "Nicolet Bankshares Inc.",
+    "Nielsen N.V.",
+    "Nike",
+    "Nine Energy Service",
+    "Niu Technologies",
+    "Noah Holdings Ltd.",
+    "Noble Corporation",
+    "Noble Energy Inc.",
+    "Noble Midstream Partners LP",
+    "Nokia Corporation",
+    "Nomad Foods Limited",
+    "Nomura Holdings Inc ADR",
+    "Noodles & Company",
+    "Norbord Inc.",
+    "Nordic American Tankers Limited",
+    "Nordson Corporation",
+    "Nordstrom",
+    "Norfolk Southern Corporation",
+    "Nortech Systems Incorporated",
+    "North American Construction Group Ltd.",
+    "North European Oil Royality Trust",
+    "NorthStar Realty Europe Corp.",
+    "NorthWestern Corporation",
+    "Northeast Bank",
+    "Northern Dynasty Minerals",
+    "Northern Oil and Gas",
+    "Northern Technologies International Corporation",
+    "Northern Trust Corporation",
+    "Northfield Bancorp",
+    "Northrim BanCorp Inc",
+    "Northrop Grumman Corporation",
+    "Northwest Bancshares",
+    "Northwest Natural Holding Company",
+    "Northwest Pipe Company",
+    "Norwegian Cruise Line Holdings Ltd.",
+    "Norwood Financial Corp.",
+    "Nova Lifestyle",
+    "Nova Measuring Instruments Ltd.",
+    "NovaBay Pharmaceuticals",
+    "Novagold Resources Inc.",
+    "Novan",
+    "Novanta Inc.",
+    "Novartis AG",
+    "Novavax",
+    "Novelion Therapeutics Inc. ",
+    "Novo Nordisk A/S",
+    "NovoCure Limited",
+    "Novus Therapeutics",
+    "Nu Skin Enterprises",
+    "NuCana plc",
+    "NuStar Logistics",
+    "NuVasive",
+    "Nuance Communications",
+    "Nucor Corporation",
+    "Nustar Energy L.P.",
+    "Nutanix",
+    "Nutrien Ltd.",
+    "Nuvectra Corporation",
+    "Nuveen AMT-Free Municipal Credit Income Fund",
+    "Nuveen AMT-Free Municipal Value Fund",
+    "Nuveen AMT-Free Quality Municipal Income Fund",
+    "Nuveen All Cap Energy MLP Opportunities Fund",
+    "Nuveen Arizona Quality Municipal Income Fund",
+    "Nuveen California AMT-Free Quality Municipal Income Fund",
+    "Nuveen California Municipal Value Fund",
+    "Nuveen California Municipal Value Fund 2",
+    "Nuveen California Quality Municipal Income Fund",
+    "Nuveen Connecticut Quality Municipal Income Fund",
+    "Nuveen Core Equity Alpha Fund",
+    "Nuveen Credit Opportunities 2022 Target Term Fund",
+    "Nuveen Credit Strategies Income Fund",
+    "Nuveen Diversified Dividend and Income Fund",
+    "Nuveen Dow 30SM Dynamic Overwrite Fund",
+    "Nuveen Emerging Markets Debt 2022 Target Term Fund",
+    "Nuveen Energy MLP Total Return Fund",
+    "Nuveen Enhanced Municipal Value Fund",
+    "Nuveen Floating Rate Income Fund",
+    "Nuveen Floating Rate Income Opportuntiy Fund",
+    "Nuveen Georgia Quality Municipal Income Fund ",
+    "Nuveen Global High Income Fund",
+    "Nuveen High Income 2020 Target Term Fund",
+    "Nuveen High Income 2023 Target Term Fund",
+    "Nuveen High Income December 2019 Target Term Fund",
+    "Nuveen High Income November 2021 Target Term Fund",
+    "Nuveen Insured California Select Tax-Free Income Portfolio",
+    "Nuveen Insured New York Select Tax-Free Income Portfolio",
+    "Nuveen Intermediate Duration Municipal Term Fund",
+    "Nuveen Maryland Quality Municipal Income Fund",
+    "Nuveen Massachusetts Municipal Income Fund",
+    "Nuveen Michigan Quality Municipal Income Fund",
+    "Nuveen Minnesota Quality Municipal Income Fund",
+    "Nuveen Missouri Quality Municipal Income Fund",
+    "Nuveen Mortgage Opportunity Term Fund",
+    "Nuveen Multi-Market Income Fund",
+    "Nuveen Municipal 2021 Target Term Fund",
+    "Nuveen Municipal Credit Income Fund",
+    "Nuveen Municipal High Income Opportunity Fund",
+    "Nuveen Municipal Income Fund",
+    "Nuveen NASDAQ 100 Dynamic Overwrite Fund",
+    "Nuveen New Jersey Municipal Value Fund",
+    "Nuveen New Jersey Quality Municipal Income Fund",
+    "Nuveen New York AMT-Free Quality Municipal",
+    "Nuveen New York Municipal Value Fund",
+    "Nuveen New York Municipal Value Fund 2",
+    "Nuveen New York Quality Municipal Income Fund",
+    "Nuveen North Carolina Quality Municipal Income Fd",
+    "Nuveen Ohio Quality Municipal Income Fund",
+    "Nuveen Pennsylvania Municipal Value Fund",
+    "Nuveen Pennsylvania Quality Municipal Income Fund",
+    "Nuveen Preferred & Income Opportunities Fund",
+    "Nuveen Preferred & Income Securities Fund",
+    "Nuveen Preferred and Income 2022 Term Fund",
+    "Nuveen Preferred and Income Term Fund",
+    "Nuveen Quality Municipal Income Fund",
+    "Nuveen Real Asset Income and Growth Fund",
+    "Nuveen Real Estate Fund",
+    "Nuveen S&P 500 Buy-Write Income Fund",
+    "Nuveen S&P 500 Dynamic Overwrite Fund",
+    "Nuveen Select Maturities Municipal Fund",
+    "Nuveen Select Tax Free Income Portfolio",
+    "Nuveen Select Tax Free Income Portfolio II",
+    "Nuveen Select Tax Free Income Portfolio III",
+    "Nuveen Senior Income Fund",
+    "Nuveen Short Duration Credit Opportunities Fund",
+    "Nuveen Tax-Advantaged Dividend Growth Fund",
+    "Nuveen Tax-Advantaged Total Return Strategy Fund",
+    "Nuveen Taxable Municipal Income Fund",
+    "Nuveen Texas Quality Municipal Income Fund",
+    "Nuveen Virginia Quality Municipal Income Fund",
+    "Nuveenn Intermediate Duration Quality Municipal Term Fund",
+    "Nuven Mortgage Opportunity Term Fund 2",
+    "Nuverra Environmental Solutions",
+    "Nymox Pharmaceutical Corporation",
+    "O&#39;Reilly Automotive",
+    "O2Micro International Limited",
+    "OFG Bancorp",
+    "OFS Capital Corporation",
+    "OFS Credit Company",
+    "OGE Energy Corp",
+    "OHA Investment Corporation",
+    "OMNOVA Solutions Inc.",
+    "ON Semiconductor Corporation",
+    "ONE Gas",
+    "ONEOK",
+    "OP Bancorp",
+    "ORBCOMM Inc.",
+    "OSI Systems",
+    "OTG EXP",
+    "OUTFRONT Media Inc.",
+    "Oak Valley Bancorp (CA)",
+    "Oaktree Acquisition Corp.",
+    "Oaktree Capital Group",
+    "Oaktree Specialty Lending Corporation",
+    "Oaktree Strategic Income Corporation",
+    "Oasis Midstream Partners LP",
+    "Oasis Petroleum Inc.",
+    "Obalon Therapeutics",
+    "ObsEva SA",
+    "Obsidian Energy Ltd.",
+    "Occidental Petroleum Corporation",
+    "Ocean Bio-Chem",
+    "Ocean Power Technologies",
+    "OceanFirst Financial Corp.",
+    "Oceaneering International",
+    "Oconee Federal Financial Corp.",
+    "Ocular Therapeutix",
+    "Ocwen Financial Corporation",
+    "Odonate Therapeutics",
+    "Odyssey Marine Exploration",
+    "Office Depot",
+    "Office Properties Income Trust",
+    "Ohio Valley Banc Corp.",
+    "Oi S.A.",
+    "Oil States International",
+    "Oil-Dri Corporation Of America",
+    "Okta",
+    "Old Dominion Freight Line",
+    "Old Line Bancshares",
+    "Old National Bancorp",
+    "Old Point Financial Corporation",
+    "Old Republic International Corporation",
+    "Old Second Bancorp",
+    "Olin Corporation",
+    "Ollie&#39;s Bargain Outlet Holdings",
+    "Olympic Steel",
+    "Omega Flex",
+    "Omega Healthcare Investors",
+    "Omeros Corporation",
+    "Omnicell",
+    "Omnicom Group Inc.",
+    "On Deck Capital",
+    "On Track Innovations Ltd",
+    "OncoCyte Corporation",
+    "OncoSec Medical Incorporated",
+    "Oncolytics Biotech Inc.",
+    "Onconova Therapeutics",
+    "Oncternal Therapeutics",
+    "One Liberty Properties",
+    "One Stop Systems",
+    "OneMain Holdings",
+    "OneSmart International Education Group Limited",
+    "OneSpaWorld Holdings Limited",
+    "OneSpan Inc.",
+    "Ooma",
+    "OpGen",
+    "Open Text Corporation",
+    "Opera Limited",
+    "Opes Acquisition Corp.",
+    "Opiant Pharmaceuticals",
+    "Opko Health",
+    "Oppenheimer Holdings",
+    "OptiNose",
+    "Optibase Ltd.",
+    "Optical Cable Corporation",
+    "OptimizeRx Corporation",
+    "OptimumBank Holdings",
+    "Option Care Health",
+    "Opus Bank",
+    "OraSure Technologies",
+    "Oracle Corporation",
+    "Oragenics Inc.",
+    "Oramed Pharmaceuticals Inc.",
+    "Orange",
+    "Orchard Therapeutics plc",
+    "Orchid Island Capital",
+    "Organigram Holdings Inc.",
+    "Organogenesis Holdings Inc. ",
+    "Organovo Holdings",
+    "Orgenesis Inc.",
+    "Origin Agritech Limited",
+    "Origin Bancorp",
+    "Orion Energy Systems",
+    "Orion Engineered Carbons S.A",
+    "Orion Group Holdings",
+    "Orisun Acquisition Corp.",
+    "Oritani Financial Corp.",
+    "Orix Corp Ads",
+    "Ormat Technologies",
+    "Orrstown Financial Services Inc",
+    "OrthoPediatrics Corp.",
+    "Orthofix Medical Inc. ",
+    "Oshkosh Corporation",
+    "Osisko Gold Royalties Ltd",
+    "Osmotica Pharmaceuticals plc",
+    "Ossen Innovation Co.",
+    "Otelco Inc.",
+    "Otonomy",
+    "Ottawa Bancorp",
+    "Otter Tail Corporation",
+    "Outlook Therapeutics",
+    "Overseas Shipholding Group",
+    "Overstock.com",
+    "Ovid Therapeutics Inc.",
+    "Owens & Minor",
+    "Owens Corning Inc",
+    "Owens-Illinois",
+    "Owl Rock Capital Corporation",
+    "Oxbridge Re Holdings Limited",
+    "Oxford Immunotec Global PLC",
+    "Oxford Industries",
+    "Oxford Lane Capital Corp.",
+    "Oxford Square Capital Corp.",
+    "P & F Industries",
+    "P.A.M. Transportation Services",
+    "PACCAR Inc.",
+    "PAR Technology Corporation",
+    "PAVmed Inc.",
+    "PB Bancorp",
+    "PBF Energy Inc.",
+    "PBF Logistics LP",
+    "PC Connection",
+    "PC-Tel",
+    "PCB Bancorp",
+    "PCI Media",
+    "PCSB Financial Corporation",
+    "PDC Energy",
+    "PDF Solutions",
+    "PDL BioPharma",
+    "PDL Community Bancorp",
+    "PDS Biotechnology Corporation",
+    "PFSweb",
+    "PGIM Global High Yield Fund",
+    "PGIM High Yield Bond Fund",
+    "PGT Innovations",
+    "PICO Holdings Inc.",
+    "PIMCO California Municipal Income Fund",
+    "PIMCO California Municipal Income Fund III",
+    "PIMCO Commercial Mortgage Securities Trust",
+    "PIMCO Dynamic Credit and Mortgage Income Fund",
+    "PIMCO Dynamic Income Fund",
+    "PIMCO Energy and Tactical Credit Opportunities Fund",
+    "PIMCO Income Strategy Fund",
+    "PIMCO Income Strategy Fund II",
+    "PIMCO Municipal Income Fund",
+    "PIMCO Municipal Income Fund III",
+    "PIMCO New York Municipal Income Fund",
+    "PIMCO New York Municipal Income Fund III",
+    "PIMCO Strategic Income Fund",
+    "PJT Partners Inc.",
+    "PLDT Inc.",
+    "PLUS THERAPEUTICS",
+    "PLx Pharma Inc.",
+    "PNC Financial Services Group",
+    "PNM Resources",
+    "POSCO",
+    "PPDAI Group Inc.",
+    "PPG Industries",
+    "PPL Capital Funding",
+    "PPL Corporation",
+    "PPlus Trust",
+    "PQ Group Holdings Inc.",
+    "PRA Group",
+    "PRA Health Sciences",
+    "PRGX Global",
+    "PROS Holdings",
+    "PS Business Parks",
+    "PT Telekomunikasi Indonesia",
+    "PTC Inc.",
+    "PTC Therapeutics",
+    "PUHUI WEALTH INVESTMENT MANAGEMENT CO.",
+    "PVH Corp.",
+    "PacWest Bancorp",
+    "Pacer Cash Cows Fund of Funds ETF",
+    "Pacer Emerging Markets Cash Cows 100 ETF",
+    "Pacer Military Times Best Employers ETF",
+    "Pacific Biosciences of California",
+    "Pacific Coast Oil Trust",
+    "Pacific Drilling S.A.",
+    "Pacific Ethanol",
+    "Pacific Gas & Electric Co.",
+    "Pacific Mercantile Bancorp",
+    "Pacific Premier Bancorp Inc",
+    "Pacira BioSciences",
+    "Packaging Corporation of America",
+    "PagSeguro Digital Ltd.",
+    "PagerDuty",
+    "Palatin Technologies",
+    "Palo Alto Networks",
+    "Palomar Holdings",
+    "Pampa Energia S.A.",
+    "Pan American Silver Corp.",
+    "Pangaea Logistics Solutions Ltd.",
+    "Panhandle Royalty Company",
+    "Papa John&#39;s International",
+    "Par Pacific Holdings",
+    "Paramount Gold Nevada Corp.",
+    "Paramount Group",
+    "Paratek Pharmaceuticals",
+    "Pareteum Corporation",
+    "Paringa Resources Limited",
+    "Park Aerospace Corp.",
+    "Park City Group",
+    "Park Hotels & Resorts Inc.",
+    "Park National Corporation",
+    "Park-Ohio Holdings Corp.",
+    "Parke Bancorp",
+    "Parker Drilling Company",
+    "Parker-Hannifin Corporation",
+    "Parsley Energy",
+    "Parsons Corporation",
+    "Partner Communications Company Ltd.",
+    "PartnerRe Ltd.",
+    "Party City Holdco Inc.",
+    "Pathfinder Bancorp",
+    "Patrick Industries",
+    "Patriot National Bancorp Inc.",
+    "Patriot Transportation Holding",
+    "Pattern Energy Group Inc.",
+    "Patterson Companies",
+    "Patterson-UTI Energy",
+    "PayPal Holdings",
+    "Paychex",
+    "Paycom Software",
+    "Paylocity Holding Corporation",
+    "Paysign",
+    "Peabody Energy Corporation",
+    "Peak Resorts",
+    "Peapack-Gladstone Financial Corporation",
+    "Pearson",
+    "Pebblebrook Hotel Trust",
+    "Pedevco Corp.",
+    "PeerStream",
+    "Pegasystems Inc.",
+    "Pembina Pipeline Corp.",
+    "Penn National Gaming",
+    "Penn Virginia Corporation",
+    "PennantPark Floating Rate Capital Ltd.",
+    "PennantPark Investment Corporation",
+    "Penns Woods Bancorp",
+    "Pennsylvania Real Estate Investment Trust",
+    "PennyMac Financial Services",
+    "PennyMac Mortgage Investment Trust",
+    "Pensare Acquisition Corp.",
+    "Penske Automotive Group",
+    "Pentair plc.",
+    "Penumbra",
+    "People&#39;s United Financial",
+    "People&#39;s Utah Bancorp",
+    "Peoples Bancorp Inc.",
+    "Peoples Bancorp of North Carolina",
+    "Peoples Financial Services Corp. ",
+    "Pepsico",
+    "Perceptron",
+    "Perficient",
+    "Performance Food Group Company",
+    "Performance Shipping Inc.",
+    "Performant Financial Corporation",
+    "Perion Network Ltd",
+    "PerkinElmer",
+    "PermRock Royalty Trust",
+    "Perma-Fix Environmental Services",
+    "Perma-Pipe International Holdings",
+    "Permian Basin Royalty Trust",
+    "Permianville Royalty Trust",
+    "Perrigo Company",
+    "Personalis",
+    "Perspecta Inc.",
+    "PetIQ",
+    "PetMed Express",
+    "PetroChina Company Limited",
+    "Petroleo Brasileiro S.A.- Petrobras",
+    "Pfenex Inc.",
+    "Pfizer",
+    "PhaseBio Pharmaceuticals",
+    "Phibro Animal Health Corporation",
+    "Philip Morris International Inc",
+    "Phillips 66",
+    "Phillips 66 Partners LP",
+    "Phio Pharmaceuticals Corp.",
+    "Phoenix New Media Limited",
+    "Photronics",
+    "Phreesia",
+    "Phunware",
+    "Physicians Realty Trust",
+    "Piedmont Lithium Limited",
+    "Piedmont Office Realty Trust",
+    "Pier 1 Imports",
+    "Pieris Pharmaceuticals",
+    "Pilgrim&#39;s Pride Corporation",
+    "Pimco California Municipal Income Fund II",
+    "Pimco Corporate & Income Opportunity Fund",
+    "Pimco Corporate & Income Stategy Fund",
+    "Pimco Global Stocksplus & Income Fund",
+    "Pimco High Income Fund",
+    "Pimco Income Opportunity Fund",
+    "Pimco Municipal Income Fund II",
+    "Pimco New York Municipal Income Fund II",
+    "Pinduoduo Inc.",
+    "Pingtan Marine Enterprise Ltd.",
+    "Pinnacle Financial Partners",
+    "Pinnacle West Capital Corporation",
+    "Pintec Technology Holdings Limited",
+    "Pinterest",
+    "Pioneer Bancorp",
+    "Pioneer Diversified High Income Trust",
+    "Pioneer Floating Rate Trust",
+    "Pioneer High Income Trust",
+    "Pioneer Municipal High Income Advantage Trust",
+    "Pioneer Municipal High Income Trust",
+    "Pioneer Natural Resources Company",
+    "Pioneer Power Solutions",
+    "Piper Jaffray Companies",
+    "Pitney Bowes Inc.",
+    "Pivotal Acquisition Corp.",
+    "Pivotal Investment Corporation II",
+    "Pivotal Software",
+    "Pixelworks",
+    "Plains All American Pipeline",
+    "Plains Group Holdings",
+    "Planet Fitness",
+    "Planet Green Holdings Corp",
+    "Plantronics",
+    "Platinum Group Metals Ltd.",
+    "PlayAGS",
+    "Playa Hotels & Resorts N.V.",
+    "Plexus Corp.",
+    "Plug Power",
+    "Plumas Bancorp",
+    "Pluralsight",
+    "Pluristem Therapeutics",
+    "Plymouth Industrial REIT",
+    "Pointer Telocation Ltd.",
+    "Points International",
+    "Polar Power",
+    "Polaris Inc.",
+    "PolarityTE",
+    "PolyOne Corporation",
+    "PolyPid Ltd.",
+    "Polymet Mining Corp.",
+    "Pool Corporation",
+    "Pope Resources",
+    "Popular",
+    "Portland General Electric Company",
+    "Portman Ridge Finance Corporation",
+    "Portola Pharmaceuticals",
+    "Positive Physicians Holdings",
+    "Post Holdings",
+    "Postal Realty Trust",
+    "Potbelly Corporation",
+    "PotlatchDeltic Corporation",
+    "Powell Industries",
+    "Power Integrations",
+    "Power REIT",
+    "Powerbridge Technologies Co.",
+    "Precipio",
+    "Precision BioSciences",
+    "Precision Drilling Corporation",
+    "Predictive Oncology Inc.",
+    "Preferred Apartment Communities",
+    "Preferred Bank",
+    "Preformed Line Products Company",
+    "Premier",
+    "Premier Financial Bancorp",
+    "Presidio",
+    "Pressure BioSciences",
+    "Prestige Consumer Healthcare Inc.",
+    "Pretium Resources",
+    "Prevail Therapeutics Inc.",
+    "PriceSmart",
+    "PrimeEnergy Resources Corporation",
+    "Primerica",
+    "Primo Water Corporation",
+    "Primoris Services Corporation",
+    "Principal Contrarian Value Index ETF",
+    "Principal Financial Group Inc",
+    "Principal Healthcare Innovators Index ETF",
+    "Principal International Multi-Factor Core Index ETF",
+    "Principal Millennials Index ETF",
+    "Principal Price Setters Index ETF",
+    "Principal Real Estate Income Fund",
+    "Principal Shareholder Yield Index ETF",
+    "Principal Sustainable Momentum Index ETF",
+    "Principal U.S. Large-Cap Multi-Factor Core Index ETF",
+    "Principal U.S. Mega-Cap Multi-Factor Index ETF",
+    "Principal U.S. Small-Cap Multi-Factor Index ETF",
+    "Principal U.S. Small-MidCap Multi-Factor Core Index ETF",
+    "Principia Biopharma Inc.",
+    "Priority Income Fund",
+    "Priority Technology Holdings",
+    "Pro-Dex",
+    "ProAssurance Corporation",
+    "ProLung",
+    "ProPetro Holding Corp.",
+    "ProPhase Labs",
+    "ProQR Therapeutics N.V.",
+    "ProShares Equities for Rising Rates ETF",
+    "ProShares Ultra Nasdaq Biotechnology",
+    "ProShares UltraPro QQQ",
+    "ProShares UltraPro Short NASDAQ Biotechnology",
+    "ProShares UltraPro Short QQQ",
+    "ProShares UltraShort Nasdaq Biotechnology",
+    "ProSight Global",
+    "Procter & Gamble Company (The)",
+    "Professional Diversity Network",
+    "Proficient Alpha Acquisition Corp.",
+    "Profire Energy",
+    "Progenics Pharmaceuticals Inc.",
+    "Progress Software Corporation",
+    "Progressive Corporation (The)",
+    "Prologis",
+    "Proofpoint",
+    "Proshares UltraPro Nasdaq Biotechnology",
+    "Prospect Capital Corporation",
+    "Prosperity Bancshares",
+    "Protagonist Therapeutics",
+    "Protalix BioTherapeutics",
+    "Protective Insurance Corporation",
+    "Proteon Therapeutics",
+    "Proteostasis Therapeutics",
+    "Prothena Corporation plc",
+    "Proto Labs",
+    "Provention Bio",
+    "Provident Bancorp",
+    "Provident Financial Holdings",
+    "Provident Financial Services",
+    "Prudential Bancorp",
+    "Prudential Financial",
+    "Prudential Public Limited Company",
+    "Psychemedics Corporation",
+    "Public Service Enterprise Group Incorporated",
+    "Public Storage",
+    "Pulmatrix",
+    "Pulse Biosciences",
+    "PulteGroup",
+    "Puma Biotechnology Inc",
+    "Pure Acquisition Corp.",
+    "Pure Cycle Corporation",
+    "Pure Storage",
+    "Purple Innovation",
+    "Putnam Managed Municipal Income Trust",
+    "Putnam Master Intermediate Income Trust",
+    "Putnam Municipal Opportunities Trust",
+    "Putnam Premier Income Trust",
+    "Puxin Limited",
+    "Puyi Inc.",
+    "Pyxis Tankers Inc.",
+    "Pyxus International",
+    "Pzena Investment Management Inc",
+    "Q2 Holdings",
+    "QAD Inc.",
+    "QCR Holdings",
+    "QEP Resources",
+    "QIWI plc",
+    "QTS Realty Trust",
+    "QUALCOMM Incorporated",
+    "QVC",
+    "Qiagen N.V.",
+    "Qorvo",
+    "Quad Graphics",
+    "Quaker Chemical Corporation",
+    "Qualstar Corporation",
+    "Qualys",
+    "Quanex Building Products Corporation",
+    "Quanta Services",
+    "Quanterix Corporation",
+    "Quarterhill Inc.",
+    "Qudian Inc.",
+    "Quest Diagnostics Incorporated",
+    "Quest Resource Holding Corporation",
+    "QuickLogic Corporation",
+    "Quidel Corporation",
+    "QuinStreet",
+    "Quintana Energy Services Inc.",
+    "Qumu Corporation",
+    "Quorum Health Corporation",
+    "Quotient Limited",
+    "Quotient Technology Inc.",
+    "Qurate Retail",
+    "Qutoutiao Inc.",
+    "Qwest Corporation",
+    "R.R. Donnelley & Sons Company",
+    "R1 RCM Inc.",
+    "RADA Electronic Industries Ltd.",
+    "RAPT Therapeutics",
+    "RBB Bancorp",
+    "RBC Bearings Incorporated",
+    "RCI Hospitality Holdings",
+    "RCM Technologies",
+    "RE/MAX Holdings",
+    "REGENXBIO Inc.",
+    "RELX PLC",
+    "RENN Fund",
+    "REV Group",
+    "REX American Resources Corporation",
+    "RF Industries",
+    "RGC Resources Inc.",
+    "RH",
+    "RISE Education Cayman Ltd",
+    "RLI Corp.",
+    "RLJ Lodging Trust",
+    "RMG Acquisition Corp.",
+    "RMR Real Estate Income Fund",
+    "RPC",
+    "RPM International Inc.",
+    "RPT Realty",
+    "RTI Surgical Holdings",
+    "RTW Retailwinds",
+    "RYB Education",
+    "Ra Medical Systems",
+    "Ra Pharmaceuticals",
+    "RadNet",
+    "Radcom Ltd.",
+    "Radian Group Inc.",
+    "Radiant Logistics",
+    "Radius Health",
+    "Radware Ltd.",
+    "Rafael Holdings",
+    "Ralph Lauren Corporation",
+    "Ramaco Resources",
+    "Rambus",
+    "Rand Capital Corporation",
+    "Randolph Bancorp",
+    "Range Resources Corporation",
+    "Ranger Energy Services",
+    "Ranpak Holdings Corp",
+    "Rapid7",
+    "Rattler Midstream LP",
+    "Rave Restaurant Group",
+    "Raven Industries",
+    "Raymond James Financial",
+    "Rayonier Advanced Materials Inc.",
+    "Rayonier Inc.",
+    "Raytheon Company",
+    "ReTo Eco-Solutions",
+    "ReWalk Robotics Ltd.",
+    "Reading International Inc",
+    "Ready Capital Corporation",
+    "RealNetworks",
+    "RealPage",
+    "Reality Shares Nasdaq NexGen Economy China ETF",
+    "Reality Shares Nasdaq NextGen Economy ETF",
+    "Realogy Holdings Corp.",
+    "Realty Income Corporation",
+    "Reata Pharmaceuticals",
+    "Reaves Utility Income Fund",
+    "Recon Technology",
+    "Recro Pharma",
+    "Red Lion Hotels Corporation",
+    "Red River Bancshares",
+    "Red Robin Gourmet Burgers",
+    "Red Rock Resorts",
+    "Red Violet",
+    "Redfin Corporation",
+    "Redhill Biopharma Ltd.",
+    "Redwood Trust",
+    "Reebonz Holding Limited",
+    "Reeds",
+    "Regal Beloit Corporation",
+    "Regalwood Global Energy Ltd.",
+    "Regency Centers Corporation",
+    "Regeneron Pharmaceuticals",
+    "Regional Health Properties",
+    "Regional Management Corp.",
+    "Regions Financial Corporation",
+    "Regis Corporation",
+    "Regulus Therapeutics Inc.",
+    "Reinsurance Group of America",
+    "Rekor Systems",
+    "Reliance Steel & Aluminum Co.",
+    "Reliant Bancorp",
+    "Reliv&#39; International",
+    "Remark Holdings",
+    "RenaissanceRe Holdings Ltd.",
+    "Renasant Corporation",
+    "Renesola Ltd.",
+    "Renewable Energy Group",
+    "Renren Inc.",
+    "Rent-A-Center Inc.",
+    "Repay Holdings Corporation",
+    "Replay Acquisition Corp.",
+    "Repligen Corporation",
+    "Replimune Group",
+    "Republic Bancorp",
+    "Republic First Bancorp",
+    "Republic Services",
+    "ResMed Inc.",
+    "Research Frontiers Incorporated",
+    "Resideo Technologies",
+    "Resolute Forest Products Inc.",
+    "Resonant Inc.",
+    "Resources Connection",
+    "Restaurant Brands International Inc.",
+    "Restoration Robotics",
+    "Retail Opportunity Investments Corp.",
+    "Retail Properties of America",
+    "Retail Value Inc.",
+    "Retractable Technologies",
+    "Retrophin",
+    "Revance Therapeutics",
+    "Reven Housing REIT",
+    "Revlon",
+    "Revolution Lighting Technologies",
+    "Revolve Group",
+    "Rexahn Pharmaceuticals",
+    "Rexford Industrial Realty",
+    "Rexnord Corporation",
+    "Rhinebeck Bancorp",
+    "Rhythm Pharmaceuticals",
+    "Ribbon Communications Inc. ",
+    "RiceBran Technologies",
+    "Richardson Electronics",
+    "Richmond Mutual Bancorporation",
+    "RigNet",
+    "Rigel Pharmaceuticals",
+    "Rimini Street",
+    "Ring Energy",
+    "Ringcentral",
+    "Rio Tinto Plc",
+    "Riot Blockchain",
+    "Ritchie Bros. Auctioneers Incorporated",
+    "Rite Aid Corporation",
+    "Ritter Pharmaceuticals",
+    "RiverNorth Managed Duration Municipal Income Fund",
+    "RiverNorth Marketplace Lending Corporation",
+    "RiverNorth Opportunistic Municipal Income Fund",
+    "RiverNorth Opportunities Fund",
+    "RiverNorth/DoubleLine Strategic Opportunity Fund",
+    "Riverview Bancorp Inc",
+    "Riverview Financial Corporation",
+    "Roadrunner Transportation Systems",
+    "Roan Resources",
+    "Robert Half International Inc.",
+    "Rocket Pharmaceuticals",
+    "Rockwell Automation",
+    "Rockwell Medical",
+    "Rocky Brands",
+    "Rocky Mountain Chocolate Factory",
+    "Rogers Communication",
+    "Rogers Corporation",
+    "Roku",
+    "Rollins",
+    "Roper Technologies",
+    "Rosehill Resources Inc.",
+    "Rosetta Stone",
+    "Ross Stores",
+    "Royal Bank Of Canada",
+    "Royal Bank Scotland plc (The)",
+    "Royal Caribbean Cruises Ltd.",
+    "Royal Dutch Shell PLC",
+    "Royal Gold",
+    "Royce Global Value Trust",
+    "Royce Micro-Cap Trust",
+    "Royce Value Trust",
+    "Rubicon Technology",
+    "Rubius Therapeutics",
+    "Rudolph Technologies",
+    "Ruhnn Holding Limited",
+    "RumbleOn",
+    "Rush Enterprises",
+    "Ruth&#39;s Hospitality Group",
+    "Ryanair Holdings plc",
+    "Ryder System",
+    "Ryerson Holding Corporation",
+    "Ryman Hospitality Properties",
+    "S&P Global Inc.",
+    "S&T Bancorp",
+    "S&W Seed Company",
+    "SAExploration Holdings",
+    "SAP SE",
+    "SB Financial Group",
+    "SB One Bancorp",
+    "SBA Communications Corporation",
+    "SC Health Corporation",
+    "SCIENCE APPLICATIONS INTERNATIONAL CORPORATION",
+    "SCWorx Corp.",
+    "SCYNEXIS",
+    "SEACOR Holdings",
+    "SEACOR Marine Holdings Inc.",
+    "SEI Investments Company",
+    "SELLAS Life Sciences Group",
+    "SG Blocks",
+    "SGOCO Group",
+    "SI-BONE",
+    "SIFCO Industries",
+    "SIGA Technologies Inc.",
+    "SINOPEC Shangai Petrochemical Company",
+    "SIRVA",
+    "SITE Centers Corp.",
+    "SITO Mobile",
+    "SJW Group",
+    "SK Telecom Co.",
+    "SL Green Realty Corp",
+    "SLM Corporation",
+    "SM Energy Company",
+    "SMART Global Holdings",
+    "SMTC Corporation",
+    "SORL Auto Parts",
+    "SP Plus Corporation",
+    "SPAR Group",
+    "SPDR Dorsey Wright Fixed Income Allocation ETF",
+    "SPI Energy Co.",
+    "SPS Commerce",
+    "SPX Corporation",
+    "SPX FLOW",
+    "SRAX",
+    "SRC Energy Inc.",
+    "SS&C Technologies Holdings",
+    "SSR Mining Inc.",
+    "STAAR Surgical Company",
+    "STARWOOD PROPERTY TRUST",
+    "STERIS plc",
+    "STMicroelectronics N.V.",
+    "STORE Capital Corporation",
+    "STRATS Trust",
+    "SVB Financial Group",
+    "SVMK Inc.",
+    "Sabine Royalty Trust",
+    "Sabra Health Care REIT",
+    "Sabre Corporation",
+    "Sachem Capital Corp.",
+    "Safe Bulkers",
+    "Safe-T Group Ltd.",
+    "Safeguard Scientifics",
+    "Safehold Inc.",
+    "Safety Insurance Group",
+    "Saga Communications",
+    "Sage Therapeutics",
+    "Saia",
+    "SailPoint Technologies Holdings",
+    "Salarius Pharmaceuticals",
+    "Salem Media Group",
+    "Salesforce.com Inc",
+    "Salient Midstream & MLP Fund",
+    "Salisbury Bancorp",
+    "Sally Beauty Holdings",
+    "San Juan Basin Royalty Trust",
+    "Sanchez Midstream Partners LP",
+    "SandRidge Energy",
+    "SandRidge Mississippian Trust I",
+    "SandRidge Mississippian Trust II",
+    "SandRidge Permian Trust",
+    "Sanderson Farms",
+    "Sandstorm Gold Ltd",
+    "Sandy Spring Bancorp",
+    "Sangamo Therapeutics",
+    "Sanmina Corporation",
+    "Sanofi",
+    "Santander Consumer USA Holdings Inc.",
+    "Sapiens International Corporation N.V.",
+    "Saratoga Investment Corp",
+    "Sarepta Therapeutics",
+    "Sasol Ltd.",
+    "Saul Centers",
+    "Savara",
+    "ScanSource",
+    "Schlumberger N.V.",
+    "Schmitt Industries",
+    "Schneider National",
+    "Schnitzer Steel Industries",
+    "Scholar Rock Holding Corporation",
+    "Scholastic Corporation",
+    "Schultze Special Purpose Acquisition Corp.",
+    "Schweitzer-Mauduit International",
+    "SciPlay Corporation",
+    "Scientific Games Corp",
+    "Scorpio Bulkers Inc.",
+    "Scorpio Tankers Inc.",
+    "Scotts Miracle-Gro Company (The)",
+    "Scudder Municiple Income Trust",
+    "Scudder Strategic Municiple Income Trust",
+    "Scully Royalty Ltd.",
+    "Sea Limited",
+    "SeaChange International",
+    "SeaSpine Holdings Corporation",
+    "SeaWorld Entertainment",
+    "Seaboard Corporation",
+    "Seabridge Gold",
+    "Seacoast Banking Corporation of Florida",
+    "Seadrill Limited",
+    "Seagate Technology PLC",
+    "Sealed Air Corporation",
+    "Seanergy Maritime Holdings Corp",
+    "Sears Hometown and Outlet Stores",
+    "Seaspan Corporation",
+    "Seattle Genetics",
+    "Second Sight Medical Products",
+    "Secoo Holding Limited",
+    "SecureWorks Corp.",
+    "Security National Financial Corporation",
+    "Seelos Therapeutics",
+    "Select Asset Inc.",
+    "Select Bancorp",
+    "Select Energy Services",
+    "Select Interior Concepts",
+    "Select Medical Holdings Corporation",
+    "Selecta Biosciences",
+    "Selective Insurance Group",
+    "Semgroup Corporation",
+    "SemiLEDS Corporation",
+    "Sempra Energy",
+    "Semtech Corporation",
+    "Seneca Foods Corp.",
+    "SenesTech",
+    "Senior Housing Properties Trust",
+    "Senmiao Technology Limited",
+    "Sensata Technologies Holding plc",
+    "Senseonics Holdings",
+    "Sensient Technologies Corporation",
+    "Sensus Healthcare",
+    "Sentinel Energy Services Inc.",
+    "Sequans Communications S.A.",
+    "Sequential Brands Group",
+    "Seres Therapeutics",
+    "Seritage Growth Properties",
+    "Service Corporation International",
+    "ServiceMaster Global Holdings",
+    "ServiceNow",
+    "ServiceSource International",
+    "ServisFirst Bancshares",
+    "Servotronics",
+    "Sesen Bio",
+    "Severn Bancorp Inc",
+    "Shake Shack",
+    "SharpSpring",
+    "Sharps Compliance Corp.",
+    "Shaw Communications Inc.",
+    "Shell Midstream Partners",
+    "Shenandoah Telecommunications Co",
+    "Sherwin-Williams Company (The)",
+    "ShiftPixy",
+    "Shiloh Industries",
+    "Shimmick Construction Company",
+    "Shineco",
+    "Shinhan Financial Group Co Ltd",
+    "Ship Finance International Limited",
+    "ShockWave Medical",
+    "Shoe Carnival",
+    "Shopify Inc.",
+    "Shore Bancshares Inc",
+    "ShotSpotter",
+    "Shutterfly",
+    "Shutterstock",
+    "SiNtx Technologies",
+    "Sibanye Gold Limited",
+    "Siebert Financial Corp.",
+    "Sienna Biopharmaceuticals",
+    "Sientra",
+    "Sierra Bancorp",
+    "Sierra Metals Inc.",
+    "Sierra Oncology",
+    "Sierra Wireless",
+    "Sify Technologies Limited",
+    "Sigma Labs",
+    "SigmaTron International",
+    "Signature Bank",
+    "Signet Jewelers Limited",
+    "Silgan Holdings Inc.",
+    "Silicom Ltd",
+    "Silicon Laboratories",
+    "Silicon Motion Technology Corporation",
+    "Silk Road Medical",
+    "Silver Spike Acquisition Corp.",
+    "SilverBow Resorces",
+    "SilverCrest Metals Inc.",
+    "SilverSun Technologies",
+    "Silvercorp Metals Inc.",
+    "Silvercrest Asset Management Group Inc.",
+    "Simmons First National Corporation",
+    "Simon Property Group",
+    "Simpson Manufacturing Company",
+    "Simulations Plus",
+    "Sina Corporation",
+    "Sinclair Broadcast Group",
+    "Sino-Global Shipping America",
+    "Sinovac Biotech",
+    "Sirius International Insurance Group",
+    "Sirius XM Holdings Inc.",
+    "SiteOne Landscape Supply",
+    "Six Flags Entertainment Corporation New",
+    "Skechers U.S.A.",
+    "Sky Solar Holdings",
+    "SkyWest",
+    "Skyline Champion Corporation",
+    "Skyworks Solutions",
+    "Slack Technologies",
+    "Sleep Number Corporation",
+    "Smart Sand",
+    "SmartFinancial",
+    "Smartsheet Inc.",
+    "SmileDirectClub",
+    "Smith & Nephew SNATS",
+    "Smith Micro Software",
+    "Snap Inc.",
+    "Snap-On Incorporated",
+    "So-Young International Inc.",
+    "SoFi Gig Economy ETF",
+    "Social Capital Hedosophia Holdings Corp.",
+    "Sociedad Quimica y Minera S.A.",
+    "Socket Mobile",
+    "Sogou Inc.",
+    "Sohu.com Limited ",
+    "Sol-Gel Technologies Ltd.",
+    "Solar Capital Ltd.",
+    "Solar Senior Capital Ltd.",
+    "SolarEdge Technologies",
+    "SolarWinds Corporation",
+    "Solaris Oilfield Infrastructure",
+    "Soleno Therapeutics",
+    "Solid Biosciences Inc.",
+    "Soligenix",
+    "Solitario Zinc Corp.",
+    "Soliton",
+    "Sonic Automotive",
+    "Sonim Technologies",
+    "Sonoco Products Company",
+    "Sonoma Pharmaceuticals",
+    "Sonos",
+    "Sony Corp Ord",
+    "Sophiris Bio",
+    "Sorrento Therapeutics",
+    "Sotheby&#39;s",
+    "Sotherly Hotels Inc.",
+    "Sound Financial Bancorp",
+    "Source Capital",
+    "South Jersey Industries",
+    "South Mountain Merger Corp.",
+    "South Plains Financial",
+    "South State Corporation",
+    "Southern California Edison Company",
+    "Southern Company (The)",
+    "Southern Copper Corporation",
+    "Southern First Bancshares",
+    "Southern Missouri Bancorp",
+    "Southern National Bancorp of Virginia",
+    "Southside Bancshares",
+    "Southwest Airlines Company",
+    "Southwest Gas Holdings",
+    "Southwest Georgia Financial Corporation",
+    "Southwestern Energy Company",
+    "Spark Energy",
+    "Spark Networks",
+    "Spark Therapeutics",
+    "Spartan Energy Acquisition Corp",
+    "Spartan Motors",
+    "SpartanNash Company",
+    "Special Opportunities Fund Inc.",
+    "Spectrum Brands Holdings",
+    "Spectrum Pharmaceuticals",
+    "Speedway Motorsports",
+    "Spero Therapeutics",
+    "Sphere 3D Corp.",
+    "Spherix Incorporated",
+    "Spire Inc.",
+    "Spirit Aerosystems Holdings",
+    "Spirit Airlines",
+    "Spirit MTA REIT",
+    "Spirit Realty Capital",
+    "Spirit of Texas Bancshares",
+    "Splunk Inc.",
+    "Spok Holdings",
+    "Sportsman&#39;s Warehouse Holdings",
+    "Spotify Technology S.A.",
+    "Sprague Resources LP",
+    "Spring Bank Pharmaceuticals",
+    "SpringWorks Therapeutics",
+    "Sprint Corporation",
+    "Sprott Focus Trust",
+    "Sprouts Farmers Market",
+    "Square",
+    "St. Joe Company (The)",
+    "Stabilis Energy",
+    "Staffing 360 Solutions",
+    "Stag Industrial",
+    "Stage Stores",
+    "Stamps.com Inc.",
+    "Standard AVB Financial Corp.",
+    "Standard Diversified Inc.",
+    "Standard Motor Products",
+    "Standex International Corporation",
+    "Stanley Black & Decker",
+    "Stantec Inc",
+    "Star Bulk Carriers Corp.",
+    "Star Group",
+    "StarTek",
+    "Starbucks Corporation",
+    "State Auto Financial Corporation",
+    "State Street Corporation",
+    "Stealth BioTherapeutics Corp.",
+    "StealthGas",
+    "Steel Connect",
+    "Steel Dynamics",
+    "Steel Partners Holdings LP",
+    "Steelcase Inc.",
+    "Stein Mart",
+    "Stellus Capital Investment Corporation",
+    "Stemline Therapeutics",
+    "Stepan Company",
+    "Stereotaxis",
+    "Stericycle",
+    "Sterling Bancorp",
+    "Sterling Construction Company Inc",
+    "Steven Madden",
+    "Stewardship Financial Corp",
+    "Stewart Information Services Corporation",
+    "Stifel Financial Corporation",
+    "Stitch Fix",
+    "Stock Yards Bancorp",
+    "Stoke Therapeutics",
+    "Stone Harbor Emerging Markets Income Fund",
+    "Stone Harbor Emerging Markets Total Income Fund",
+    "StoneCastle Financial Corp",
+    "StoneCo Ltd.",
+    "StoneMor Partners L.P.",
+    "Stoneridge",
+    "Strata Skin Sciences",
+    "Stratasys",
+    "Strategic Education",
+    "Strategy Shares Nasdaq 7HANDL Index ETF",
+    "Strattec Security Corporation",
+    "Stratus Properties Inc.",
+    "Streamline Health Solutions",
+    "Strongbridge Biopharma plc",
+    "Stryker Corporation",
+    "Studio City International Holdings Limited",
+    "Sturm",
+    "Suburban Propane Partners",
+    "Sumitomo Mitsui Financial Group Inc",
+    "Summer Infant",
+    "Summit Financial Group",
+    "Summit Hotel Properties",
+    "Summit Materials",
+    "Summit Midstream Partners",
+    "Summit State Bank",
+    "Summit Therapeutics plc",
+    "Summit Wireless Technologies",
+    "Sun Communities",
+    "Sun Life Financial Inc.",
+    "SunCoke Energy",
+    "SunLink Health Systems",
+    "SunOpta",
+    "SunPower Corporation",
+    "SunTrust Banks",
+    "Suncor Energy  Inc.",
+    "Sundance Energy Australia Limited",
+    "Sundial Growers Inc.",
+    "Sunesis Pharmaceuticals",
+    "Sunlands Technology Group",
+    "Sunnova Energy International Inc.",
+    "Sunoco LP",
+    "Sunrun Inc.",
+    "Sunstone Hotel Investors",
+    "Sunworks",
+    "Super League Gaming",
+    "SuperCom",
+    "Superconductor Technologies Inc.",
+    "Superior Drilling Products",
+    "Superior Energy Services",
+    "Superior Group of Companies",
+    "Superior Industries International",
+    "Supernus Pharmaceuticals",
+    "Surface Oncology",
+    "Surgery Partners",
+    "Surmodics",
+    "Sutro Biopharma",
+    "Sutter Rock Capital Corp.",
+    "Suzano S.A.",
+    "Swiss Helvetia Fund",
+    "Switch",
+    "Switchback Energy Acquisition Corporation",
+    "Sykes Enterprises",
+    "Symantec Corporation",
+    "Synacor",
+    "Synalloy Corporation",
+    "Synaptics Incorporated",
+    "Synchronoss Technologies",
+    "Synchrony Financial",
+    "Syndax Pharmaceuticals",
+    "Syneos Health",
+    "Synlogic",
+    "Synnex Corporation",
+    "Synopsys",
+    "Synovus Financial Corp.",
+    "Synthesis Energy Systems",
+    "Synthetic Biologics",
+    "Synthetic Fixed-Income Securities",
+    "Synthorx",
+    "Sypris Solutions",
+    "Syros Pharmaceuticals",
+    "Sysco Corporation",
+    "Systemax Inc.",
+    "T-Mobile US",
+    "T. Rowe Price Group",
+    "T2 Biosystems",
+    "TAL Education Group",
+    "TAT Technologies Ltd.",
+    "TC Energy Corporation",
+    "TC PipeLines",
+    "TCF Financial Corporation",
+    "TCG BDC",
+    "TCR2 Therapeutics Inc.",
+    "TCW Strategic Income Fund",
+    "TD Ameritrade Holding Corporation",
+    "TDH Holdings",
+    "TE Connectivity Ltd.",
+    "TEGNA Inc.",
+    "TELUS Corporation",
+    "TESSCO Technologies Incorporated",
+    "TFS Financial Corporation",
+    "TG Therapeutics",
+    "THL Credit",
+    "THL Credit Senior Loan Fund",
+    "TIM Participacoes S.A.",
+    "TJX Companies",
+    "TKK Symphony Acquisition Corporation",
+    "TMSR Holding Company Limited",
+    "TOP Ships Inc.",
+    "TORM plc",
+    "TPG Pace Holdings Corp.",
+    "TPG RE Finance Trust",
+    "TPG Specialty Lending",
+    "TPI Composites",
+    "TRACON Pharmaceuticals",
+    "TRI Pointe Group",
+    "TSR",
+    "TTEC Holdings",
+    "TTM Technologies",
+    "Tabula Rasa HealthCare",
+    "Tactile Systems Technology",
+    "Tailored Brands",
+    "Taitron Components Incorporated",
+    "Taiwan Fund",
+    "Taiwan Liposome Company",
+    "Taiwan Semiconductor Manufacturing Company Ltd.",
+    "Take-Two Interactive Software",
+    "Takeda Pharmaceutical Company Limited",
+    "Takung Art Co.",
+    "Talend S.A.",
+    "Tallgrass Energy",
+    "Talos Energy",
+    "Tandem Diabetes Care",
+    "Tandy Leather Factory",
+    "Tanger Factory Outlet Centers",
+    "Tantech Holdings Ltd.",
+    "Tanzanian Gold Corporation",
+    "Taoping Inc.",
+    "Tapestry",
+    "Tarena International",
+    "Targa Resources",
+    "Targa Resources Partners LP",
+    "Target Corporation",
+    "Target Hospitality Corp.",
+    "Taro Pharmaceutical Industries Ltd.",
+    "Taronis Technologies",
+    "Taseko Mines Limited",
+    "Tata Motors Ltd",
+    "Taubman Centers",
+    "Taylor Devices",
+    "Taylor Morrison Home Corporation",
+    "Team",
+    "Tech Data Corporation",
+    "TechTarget",
+    "Technical Communications Corporation",
+    "TechnipFMC plc",
+    "Teck Resources Ltd",
+    "Tecnoglass Inc.",
+    "Tecogen Inc.",
+    "Tectonic Financial",
+    "Teekay Corporation",
+    "Teekay LNG Partners L.P.",
+    "Teekay Offshore Partners L.P.",
+    "Teekay Tankers Ltd.",
+    "Tejon Ranch Co",
+    "Tekla Healthcare Investors",
+    "Tekla Healthcare Opportunies Fund",
+    "Tekla Life Sciences Investors",
+    "Tekla World Healthcare Fund",
+    "Teladoc Health",
+    "Telaria",
+    "Telecom Argentina Stet - France Telecom S.A.",
+    "Teledyne Technologies Incorporated",
+    "Teleflex Incorporated",
+    "Telefonica Brasil S.A.",
+    "Telefonica SA",
+    "Telenav",
+    "Telephone and Data Systems",
+    "Teligent",
+    "Tellurian Inc.",
+    "Templeton Dragon Fund",
+    "Templeton Emerging Markets Fund",
+    "Templeton Emerging Markets Income Fund",
+    "Templeton Global Income Fund",
+    "Tempur Sealy International",
+    "Tenable Holdings",
+    "Tenaris S.A.",
+    "Tenax Therapeutics",
+    "Tencent Music Entertainment Group",
+    "Tenet Healthcare Corporation",
+    "Tengasco",
+    "Tennant Company",
+    "Tenneco Inc.",
+    "Tennessee Valley Authority",
+    "Tenzing Acquisition Corp.",
+    "Teradata Corporation",
+    "Teradyne",
+    "Terex Corporation",
+    "Ternium S.A.",
+    "TerraForm Power",
+    "Terreno Realty Corporation",
+    "Territorial Bancorp Inc.",
+    "Tesla",
+    "Tetra Tech",
+    "Tetra Technologies",
+    "Tetraphase Pharmaceuticals",
+    "Teva Pharmaceutical Industries Limited",
+    "Texas Capital Bancshares",
+    "Texas Instruments Incorporated",
+    "Texas Pacific Land Trust",
+    "Texas Roadhouse",
+    "Textainer Group Holdings Limited",
+    "Textron Inc.",
+    "The AES Corporation",
+    "The Alkaline Water Company Inc.",
+    "The Andersons",
+    "The Bancorp",
+    "The Bank of Princeton",
+    "The Blackstone Group Inc.",
+    "The Carlyle Group L.P.",
+    "The Central and Eastern Europe Fund",
+    "The Charles Schwab Corporation",
+    "The Cheesecake Factory Incorporated",
+    "The Chefs&#39; Warehouse",
+    "The Community Financial Corporation",
+    "The Cooper Companies",
+    "The Descartes Systems Group Inc.",
+    "The Dixie Group",
+    "The Ensign Group",
+    "The ExOne Company",
+    "The First Bancshares",
+    "The First of Long Island Corporation",
+    "The GDL Fund",
+    "The Gabelli Dividend & Income Trust",
+    "The Gabelli Global Utility and Income Trust",
+    "The Gabelli Go Anywhere Trust",
+    "The Gabelli Healthcare & Wellness Trust",
+    "The Goodyear Tire & Rubber Company",
+    "The Habit Restaurants",
+    "The Hackett Group",
+    "The Hain Celestial Group",
+    "The Hanover Insurance Group",
+    "The Herzfeld Caribbean Basin Fund",
+    "The Intergroup Corporation",
+    "The Joint Corp.",
+    "The Kraft Heinz Company",
+    "The Long-Term Care ETF",
+    "The Lovesac Company",
+    "The Madison Square Garden Company",
+    "The Medicines Company",
+    "The Meet Group",
+    "The Michaels Companies",
+    "The Middleby Corporation",
+    "The ONE Group Hospitality",
+    "The Obesity ETF",
+    "The Organics ETF",
+    "The Peck Company Holdings",
+    "The Providence Service Corporation",
+    "The RMR Group Inc.",
+    "The RealReal",
+    "The Rubicon Project",
+    "The Simply Good Foods Company",
+    "The Stars Group Inc.",
+    "The Trade Desk",
+    "The Travelers Companies",
+    "The Vivaldi Opportunities Fund",
+    "The York Water Company",
+    "The9 Limited",
+    "TherapeuticsMD",
+    "Therapix Biosciences Ltd.",
+    "Theravance Biopharma",
+    "Thermo Fisher Scientific Inc",
+    "Thermon Group Holdings",
+    "Third Point Reinsurance Ltd.",
+    "Thomson Reuters Corp",
+    "Thor Industries",
+    "Thunder Bridge Acquisition II",
+    "TiVo Corporation",
+    "Tiberius Acquisition Corporation",
+    "Tidewater Inc.",
+    "Tiffany & Co.",
+    "Tile Shop Hldgs",
+    "Tilly&#39;s",
+    "Tilray",
+    "Timberland Bancorp",
+    "Timken Company (The)",
+    "TimkenSteel Corporation",
+    "Tiptree Inc.",
+    "Titan International",
+    "Titan Machinery Inc.",
+    "Titan Medical Inc.",
+    "Titan Pharmaceuticals",
+    "Tivity Health",
+    "Tiziana Life Sciences plc",
+    "Tocagen Inc.",
+    "Toll Brothers",
+    "Tompkins Financial Corporation",
+    "Tonix Pharmaceuticals Holding Corp.",
+    "Tootsie Roll Industries",
+    "TopBuild Corp.",
+    "Torchlight Energy Resources",
+    "Toro Company (The)",
+    "Toronto Dominion Bank (The)",
+    "Tortoise Acquisition Corp.",
+    "Tortoise Energy Independence Fund",
+    "Tortoise Energy Infrastructure Corporation",
+    "Tortoise Essential Assets Income Term Fund",
+    "Tortoise Midstream Energy Fund",
+    "Tortoise Pipeline & Energy Fund",
+    "Tortoise Power and Energy Infrastructure Fund",
+    "Total S.A.",
+    "Total System Services",
+    "Tottenham Acquisition I Limited",
+    "ToughBuilt Industries",
+    "Tower International",
+    "Tower Semiconductor Ltd.",
+    "Town Sports International Holdings",
+    "Towne Bank",
+    "Townsquare Media",
+    "Toyota Motor Corp Ltd Ord",
+    "Tractor Supply Company",
+    "Tradeweb Markets Inc.",
+    "Trans World Entertainment Corp.",
+    "TransAct Technologies Incorporated",
+    "TransAlta Corporation",
+    "TransEnterix",
+    "TransGlobe Energy Corporation",
+    "TransMedics Group",
+    "TransUnion",
+    "Transatlantic Petroleum Ltd",
+    "Transcat",
+    "Transcontinental Realty Investors",
+    "Transdigm Group Incorporated",
+    "Translate Bio",
+    "Transocean Ltd.",
+    "Transportadora De Gas Sa Ord B",
+    "TravelCenters of America Inc. ",
+    "Travelzoo",
+    "Trecora Resources",
+    "Tredegar Corporation",
+    "Treehouse Foods",
+    "Tremont Mortgage Trust",
+    "Trevena",
+    "Trevi Therapeutics",
+    "Trex Company",
+    "Tri Continental Corporation",
+    "TriCo Bancshares",
+    "TriMas Corporation",
+    "TriNet Group",
+    "TriState Capital Holdings",
+    "Tribune Media Company",
+    "Tribune Publishing Company",
+    "Tricida",
+    "Trident Acquisitions Corp.",
+    "Trillium Therapeutics Inc.",
+    "Trilogy Metals Inc.",
+    "Trimble Inc.",
+    "Trine Acquisition Corp.",
+    "Trinity Biotech plc",
+    "Trinity Industries",
+    "Trinity Merger Corp.",
+    "Trinity Place Holdings Inc.",
+    "Trinseo S.A.",
+    "Trio-Tech International",
+    "TripAdvisor",
+    "Triple-S Management Corporation",
+    "TriplePoint Venture Growth BDC Corp.",
+    "Triton International Limited",
+    "Triumph Bancorp",
+    "Triumph Group",
+    "Tronox Holdings plc",
+    "TrovaGene",
+    "TrueBlue",
+    "TrueCar",
+    "Trupanion",
+    "TrustCo Bank Corp NY",
+    "Trustmark Corporation",
+    "Tsakos Energy Navigation Ltd",
+    "TuanChe Limited",
+    "Tucows Inc.",
+    "Tuesday Morning Corp.",
+    "Tufin Software Technologies Ltd.",
+    "Tuniu Corporation",
+    "Tupperware Brands Corporation",
+    "Turkcell Iletisim Hizmetleri AS",
+    "Turning Point Brands",
+    "Turning Point Therapeutics",
+    "Turquoise Hill Resources Ltd.",
+    "Turtle Beach Corporation",
+    "Tuscan Holdings Corp.",
+    "Tuscan Holdings Corp. II",
+    "Tutor Perini Corporation",
+    "Twelve Seas Investment Company",
+    "Twilio Inc.",
+    "Twin Disc",
+    "Twin River Worldwide Holdings",
+    "Twist Bioscience Corporation",
+    "Twitter",
+    "Two Harbors Investments Corp",
+    "Two River Bancorp",
+    "Tyler Technologies",
+    "Tyme Technologies",
+    "Tyson Foods",
+    "U S Concrete",
+    "U.S. Auto Parts Network",
+    "U.S. Bancorp",
+    "U.S. Energy Corp.",
+    "U.S. Global Investors",
+    "U.S. Gold Corp.",
+    "U.S. Physical Therapy",
+    "U.S. Silica Holdings",
+    "U.S. Well Services",
+    "U.S. Xpress Enterprises",
+    "UBS AG",
+    "UDR",
+    "UFP Technologies",
+    "UGI Corporation",
+    "UMB Financial Corporation",
+    "UMH Properties",
+    "UNITIL Corporation",
+    "UNIVERSAL INSURANCE HOLDINGS INC",
+    "UP Fintech China-U.S. Internet Titans ETF",
+    "UP Fintech Holding Limited",
+    "US Ecology",
+    "US Foods Holding Corp.",
+    "USA Compression Partners",
+    "USA Technologies",
+    "USA Truck",
+    "USANA Health Sciences",
+    "USD Partners LP",
+    "USLIFE Income Fund",
+    "UTStarcom Holdings Corp",
+    "Uber Technologies",
+    "Ubiquiti Inc.",
+    "Ulta Beauty",
+    "Ultra Clean Holdings",
+    "Ultragenyx Pharmaceutical Inc.",
+    "Ultralife Corporation",
+    "Ultrapar Participacoes S.A.",
+    "Umpqua Holdings Corporation",
+    "Under Armour",
+    "Unico American Corporation",
+    "Unifi",
+    "Unifirst Corporation",
+    "Unilever NV",
+    "Unilever PLC",
+    "Union Bankshares",
+    "Union Pacific Corporation",
+    "Unique Fabricating",
+    "Unisys Corporation",
+    "Unit Corporation",
+    "United Airlines Holdings",
+    "United Bancorp",
+    "United Bancshares",
+    "United Bankshares",
+    "United Community Banks",
+    "United Community Financial Corp.",
+    "United Financial Bancorp",
+    "United Fire Group",
+    "United Insurance Holdings Corp.",
+    "United Microelectronics Corporation",
+    "United Natural Foods",
+    "United Parcel Service",
+    "United Rentals",
+    "United Security Bancshares",
+    "United States Antimony Corporation",
+    "United States Cellular Corporation",
+    "United States Lime & Minerals",
+    "United States Steel Corporation",
+    "United Technologies Corporation",
+    "United Therapeutics Corporation",
+    "United-Guardian",
+    "UnitedHealth Group Incorporated",
+    "Uniti Group Inc.",
+    "Unity Bancorp",
+    "Unity Biotechnology",
+    "Univar Solutions Inc.",
+    "Universal Corporation",
+    "Universal Display Corporation",
+    "Universal Electronics Inc.",
+    "Universal Forest Products",
+    "Universal Health Realty Income Trust",
+    "Universal Health Services",
+    "Universal Logistics Holdings",
+    "Universal Security Instruments",
+    "Universal Stainless & Alloy Products",
+    "Universal Technical Institute Inc",
+    "Univest Financial Corporation",
+    "Unum Group",
+    "Unum Therapeutics Inc.",
+    "Upland Software",
+    "Upwork Inc.",
+    "Ur Energy Inc",
+    "Uranium Energy Corp.",
+    "Urban Edge Properties",
+    "Urban One",
+    "Urban Outfitters",
+    "Urban Tea",
+    "UroGen Pharma Ltd.",
+    "Urovant Sciences Ltd.",
+    "Urstadt Biddle Properties Inc.",
+    "Usio",
+    "Utah Medical Products",
+    "Uxin Limited",
+    "V.F. Corporation",
+    "VAALCO Energy",
+    "VALE S.A.",
+    "VBI Vaccines",
+    "VEON Ltd.",
+    "VEREIT Inc.",
+    "VICI Properties Inc.",
+    "VIVUS",
+    "VOC Energy Trust",
+    "VOXX International Corporation",
+    "VSE Corporation",
+    "Vaccinex",
+    "Vail Resorts",
+    "Valaris plc",
+    "Valeritas Holdings",
+    "Valero Energy Corporation",
+    "Valhi",
+    "Validea Market Legends ETF",
+    "Valley National Bancorp",
+    "Valmont Industries",
+    "Valtech SE",
+    "Value Line",
+    "Valvoline Inc.",
+    "VanEck Vectors Biotech ETF",
+    "VanEck Vectors Pharmaceutical ETF",
+    "Vanda Pharmaceuticals Inc.",
+    "Vanguard Emerging Markets Government Bond ETF",
+    "Vanguard Global ex-U.S. Real Estate ETF",
+    "Vanguard Intermediate-Term Corporate Bond ETF",
+    "Vanguard Intermediate-Term Treasury ETF",
+    "Vanguard International Dividend Appreciation ETF",
+    "Vanguard International High Dividend Yield ETF",
+    "Vanguard Long-Term Corporate Bond ETF",
+    "Vanguard Long-Treasury ETF",
+    "Vanguard Mortgage-Backed Securities ETF",
+    "Vanguard Russell 1000 ETF",
+    "Vanguard Russell 1000 Growth ETF",
+    "Vanguard Russell 1000 Value ETF",
+    "Vanguard Russell 2000 ETF",
+    "Vanguard Russell 2000 Growth ETF",
+    "Vanguard Russell 2000 Value ETF",
+    "Vanguard Russell 3000 ETF",
+    "Vanguard Short-Term Corporate Bond ETF",
+    "Vanguard Short-Term Inflation-Protected Securities Index Fund",
+    "Vanguard Short-Term Treasury ETF",
+    "Vanguard Total Bond Market ETF",
+    "Vanguard Total Corporate Bond ETF",
+    "Vanguard Total International Bond ETF",
+    "Vanguard Total International Stock ETF",
+    "Vanguard Total World Bond ETF",
+    "Vapotherm",
+    "Varex Imaging Corporation",
+    "Varian Medical Systems",
+    "Varonis Systems",
+    "Vascular Biogenics Ltd.",
+    "Vaxart",
+    "VectoIQ Acquisition Corp.",
+    "Vector Group Ltd.",
+    "Vectrus",
+    "Vedanta  Limited",
+    "Veeco Instruments Inc.",
+    "Veeva Systems Inc.",
+    "Venator Materials PLC",
+    "Ventas",
+    "Veoneer",
+    "Vera Bradley",
+    "Veracyte",
+    "Verastem",
+    "Verb Technology Company",
+    "VeriSign",
+    "Vericel Corporation",
+    "Vericity",
+    "Verint Systems Inc.",
+    "Verisk Analytics",
+    "Veritex Holdings",
+    "Veritiv Corporation",
+    "Veritone",
+    "Verizon Communications Inc.",
+    "Vermilion Energy Inc.",
+    "Vermillion",
+    "Verona Pharma plc",
+    "Verra Mobility Corporation",
+    "Verrica Pharmaceuticals Inc.",
+    "Verso Corporation",
+    "Versum Materials",
+    "Vertex Energy",
+    "Vertex Pharmaceuticals Incorporated",
+    "Vertical Capital Income Fund",
+    "Veru Inc.",
+    "ViaSat",
+    "Viacom Inc.",
+    "Viad Corp",
+    "Viamet Pharmaceuticals Corp.",
+    "Viavi Solutions Inc.",
+    "Vicor Corporation",
+    "Victory Capital Holdings",
+    "VictoryShares Developed Enhanced Volatility Wtd ETF",
+    "VictoryShares Dividend Accelerator ETF",
+    "VictoryShares Emerging Market High Div Volatility Wtd ETF",
+    "VictoryShares Emerging Market Volatility Wtd ETF",
+    "VictoryShares International High Div Volatility Wtd ETF",
+    "VictoryShares International Volatility Wtd ETF",
+    "VictoryShares US 500 Enhanced Volatility Wtd ETF",
+    "VictoryShares US 500 Volatility Wtd ETF",
+    "VictoryShares US Discovery Enhanced Volatility Wtd ETF",
+    "VictoryShares US EQ Income Enhanced Volatility Wtd ETF",
+    "VictoryShares US Large Cap High Div Volatility Wtd ETF",
+    "VictoryShares US Multi-Factor Minimum Volatility ETF",
+    "VictoryShares US Small Cap High Div Volatility Wtd ETF",
+    "VictoryShares US Small Cap Volatility Wtd ETF",
+    "Viemed Healthcare",
+    "ViewRay",
+    "Viking Therapeutics",
+    "Village Bank and Trust Financial Corp.",
+    "Village Farms International",
+    "Village Super Market",
+    "Vince Holding Corp.",
+    "Viomi Technology Co.",
+    "Viper Energy Partners LP",
+    "Vipshop Holdings Limited",
+    "VirTra",
+    "Virco Manufacturing Corporation",
+    "Virgin Trains USA Inc.",
+    "VirnetX Holding Corp",
+    "Virtu Financial",
+    "Virtus Global Dividend & Income Fund Inc.",
+    "Virtus Global Multi-Sector Income Fund",
+    "Virtus Investment Partners",
+    "Virtus LifeSci Biotech Clinical Trials ETF",
+    "Virtus LifeSci Biotech Products ETF",
+    "Virtus Total Return Fund Inc.",
+    "Virtusa Corporation",
+    "Visa Inc.",
+    "Vishay Intertechnology",
+    "Vishay Precision Group",
+    "Vislink Technologies",
+    "Vista Gold Corporation",
+    "Vista Oil & Gas",
+    "Vista Outdoor Inc.",
+    "VistaGen Therapeutics",
+    "Visteon Corporation",
+    "Visterra",
+    "Vistra Energy Corp.",
+    "Vitamin Shoppe",
+    "Viveve Medical",
+    "Vivint Solar",
+    "VivoPower International PLC",
+    "Vmware",
+    "Vocera Communications",
+    "Vodafone Group Plc",
+    "VolitionRX Limited",
+    "Volt Information Sciences",
+    "Vonage Holdings Corp.",
+    "Vornado Realty Trust",
+    "Voya Asia Pacific High Dividend Equity Income Fund",
+    "Voya Emerging Markets High Income Dividend Equity Fund",
+    "Voya Financial",
+    "Voya Global Advantage and Premium Opportunity Fund",
+    "Voya Global Equity Dividend and Premium Opportunity Fund",
+    "Voya Infrastructure",
+    "Voya International High Dividend Equity Income Fund",
+    "Voya Natural Resources Equity Income Fund",
+    "Voya Prime Rate Trust",
+    "Voyager Therapeutics",
+    "Vulcan Materials Company",
+    "Vuzix Corporation",
+    "W&T Offshore",
+    "W.P. Carey Inc.",
+    "W.R. Berkley Corporation",
+    "W.R. Grace & Co.",
+    "W.W. Grainger",
+    "WAVE Life Sciences Ltd.",
+    "WD-40 Company",
+    "WEC Energy Group",
+    "WESCO International",
+    "WEX Inc.",
+    "WNS (Holdings) Limited",
+    "WPP plc",
+    "WPX Energy",
+    "WSFS Financial Corporation",
+    "WVS Financial Corp.",
+    "Wabash National Corporation",
+    "Wabco Holdings Inc.",
+    "Waddell & Reed Financial",
+    "Wah Fu Education Group Limited",
+    "Wahed FTSE USA Shariah ETF",
+    "Waitr Holdings Inc.",
+    "Walgreens Boots Alliance",
+    "Walker & Dunlop",
+    "Walmart Inc.",
+    "Walt Disney Company (The)",
+    "Wanda Sports Group Company Limited",
+    "Warrior Met Coal",
+    "Washington Federal",
+    "Washington Prime Group Inc.",
+    "Washington Real Estate Investment Trust",
+    "Washington Trust Bancorp",
+    "Waste Connections",
+    "Waste Management",
+    "Waters Corporation",
+    "Waterstone Financial",
+    "Watford Holdings Ltd.",
+    "Watsco",
+    "Watts Water Technologies",
+    "Wayfair Inc.",
+    "Wayne Farms",
+    "Wayside Technology Group",
+    "Wealthbridge Acquisition Limited",
+    "Webster Financial Corporation",
+    "Weibo Corporation",
+    "Weidai Ltd.",
+    "Weight Watchers International Inc",
+    "Weingarten Realty Investors",
+    "Weis Markets",
+    "Welbilt",
+    "WellCare Health Plans",
+    "Wellesley Bancorp",
+    "Wells Fargo & Company",
+    "Wells Fargo Global Dividend Opportunity Fund",
+    "Wells Fargo Income Opportunities Fund",
+    "Wells Fargo Multi-Sector Income Fund",
+    "Wells Fargo Utilities and High Income Fund",
+    "Welltower Inc.",
+    "Wendy&#39;s Company (The)",
+    "Werner Enterprises",
+    "WesBanco",
+    "Wesco Aircraft Holdings",
+    "West Bancorporation",
+    "West Pharmaceutical Services",
+    "Westamerica Bancorporation",
+    "Westell Technologies",
+    "Western Alliance Bancorporation",
+    "Western Asset Bond Fund",
+    "Western Asset Corporate Loan Fund Inc",
+    "Western Asset Emerging Markets Debt Fund Inc",
+    "Western Asset Global Corporate Defined Opportunity Fund Inc.",
+    "Western Asset Global High Income Fund Inc",
+    "Western Asset High Income Fund II Inc.",
+    "Western Asset High Income Opportunity Fund",
+    "Western Asset High Yield Defined Opportunity Fund Inc.",
+    "Western Asset Intermediate Muni Fund Inc",
+    "Western Asset Investment Grade Defined Opportunity Trust Inc.",
+    "Western Asset Investment Grade Income Fund Inc.",
+    "Western Asset Managed Municipals Fund",
+    "Western Asset Mortgage Capital Corporation",
+    "Western Asset Mortgage Defined Opportunity Fund Inc",
+    "Western Asset Municipal Defined Opportunity Trust Inc",
+    "Western Asset Municipal High Income Fund",
+    "Western Asset Municipal Partners Fund",
+    "Western Asset Short Duration Income ETF",
+    "Western Asset Total Return ETF",
+    "Western Asset Variable Rate Strategic Fund Inc.",
+    "Western Asset/Claymore U.S Treasury Inflation Prot Secs Fd 2",
+    "Western Asset/Claymore U.S. Treasury Inflation Prot Secs Fd",
+    "Western Copper and Gold Corporation",
+    "Western Digital Corporation",
+    "Western Midstream Partners",
+    "Western New England Bancorp",
+    "Western Union Company (The)",
+    "Westinghouse Air Brake Technologies Corporation",
+    "Westlake Chemical Corporation",
+    "Westlake Chemical Partners LP",
+    "Westpac Banking Corporation",
+    "Westport Fuel Systems Inc",
+    "Westrock Company",
+    "Westwater Resources",
+    "Westwood Holdings Group Inc",
+    "Weyco Group",
+    "Weyerhaeuser Company",
+    "Wheaton Precious Metals Corp.",
+    "Wheeler Real Estate Investment Trust",
+    "Whirlpool Corporation",
+    "White Mountains Insurance Group",
+    "WhiteHorse Finance",
+    "Whitestone REIT",
+    "Whiting Petroleum Corporation",
+    "WideOpenWest",
+    "WidePoint Corporation",
+    "Wilhelmina International",
+    "WillScot Corporation",
+    "Willamette Valley Vineyards",
+    "Willdan Group",
+    "Williams Companies",
+    "Williams-Sonoma",
+    "Willis Lease Finance Corporation",
+    "Willis Towers Watson Public Limited Company",
+    "Wingstop Inc.",
+    "Winmark Corporation",
+    "Winnebago Industries",
+    "Wins Finance Holdings Inc.",
+    "Wintrust Financial Corporation",
+    "Wipro Limited",
+    "Wireless Telecom Group",
+    "WisdomTree Barclays Negative Duration U.S. Aggregate Bond Fund",
+    "WisdomTree China ex-State-Owned Enterprises Fund",
+    "WisdomTree Cloud Computing Fund",
+    "WisdomTree Emerging Markets Consumer Growth Fund",
+    "WisdomTree Emerging Markets Corporate Bond Fund",
+    "WisdomTree Emerging Markets Quality Dividend Growth Fund",
+    "WisdomTree Germany Hedged Equity Fund",
+    "WisdomTree Interest Rate Hedged High Yield Bond Fund",
+    "WisdomTree Interest Rate Hedged U.S. Aggregate Bond Fund",
+    "WisdomTree Investments",
+    "WisdomTree Japan Hedged SmallCap Equity Fund",
+    "WisdomTree Middle East Dividend Fund",
+    "WisdomTree Negative Duration High Yield Bond Fund",
+    "WisdomTree U.S. Quality Dividend Growth Fund",
+    "WisdomTree U.S. SmallCap Quality Dividend Growth Fund",
+    "Wix.com Ltd.",
+    "Wolverine World Wide",
+    "Woodward",
+    "Woori Bank",
+    "Workday",
+    "Workhorse Group",
+    "Workiva Inc.",
+    "World Acceptance Corporation",
+    "World Fuel Services Corporation",
+    "World Wrestling Entertainment",
+    "Worthington Industries",
+    "Wrap Technologies",
+    "Wright Medical Group N.V.",
+    "Wyndham Destinations",
+    "Wyndham Hotels & Resorts",
+    "Wynn Resorts",
+    "X Financial",
+    "X4 Pharmaceuticals",
+    "XAI Octagon Floating Rate & Alternative Income Term Trust",
+    "XBiotech Inc.",
+    "XOMA Corporation",
+    "XPEL",
+    "XPO Logistics",
+    "XTL Biopharmaceuticals Ltd.",
+    "Xcel Brands",
+    "Xcel Energy Inc.",
+    "Xencor",
+    "Xenetic Biosciences",
+    "Xenia Hotels & Resorts",
+    "Xenon Pharmaceuticals Inc.",
+    "Xeris Pharmaceuticals",
+    "Xerox Holdings Corporation",
+    "Xilinx",
+    "Xinyuan Real Estate Co Ltd",
+    "Xperi Corporation",
+    "XpresSpa Group",
+    "Xtant Medical Holdings",
+    "Xunlei Limited",
+    "Xylem Inc.",
+    "Y-mAbs Therapeutics",
+    "YETI Holdings",
+    "YPF Sociedad Anonima",
+    "YRC Worldwide",
+    "YY Inc.",
+    "Yamana Gold Inc.",
+    "Yandex N.V.",
+    "Yatra Online",
+    "Yelp Inc.",
+    "Yext",
+    "Yield10 Bioscience",
+    "Yintech Investment Holdings Limited",
+    "Yirendai Ltd.",
+    "Youngevity International",
+    "Yum China Holdings",
+    "Yum! Brands",
+    "Yuma Energy",
+    "Yunji Inc.",
+    "ZAGG Inc",
+    "ZIOPHARM Oncology Inc",
+    "ZK International Group Co.",
+    "ZTO Express (Cayman) Inc.",
+    "Zafgen",
+    "Zai Lab Limited",
+    "Zayo Group Holdings",
+    "Zealand Pharma A/S",
+    "Zebra Technologies Corporation",
+    "Zedge",
+    "Zendesk",
+    "Zillow Group",
+    "Zimmer Biomet Holdings",
+    "Zion Oil ",
+    "Zions Bancorporation N.A.",
+    "Zix Corporation",
+    "Zoetis Inc.",
+    "Zogenix",
+    "Zomedica Pharmaceuticals Corp.",
+    "Zoom Video Communications",
+    "Zosano Pharma Corporation",
+    "Zovio Inc.",
+    "Zscaler",
+    "Zumiez Inc.",
+    "Zuora",
+    "Zymeworks Inc.",
+    "Zynerba Pharmaceuticals",
+    "Zynex",
+    "Zynga Inc.",
+    "aTyr Pharma",
+    "argenx SE",
+    "bluebird bio",
+    "cbdMD",
+    "comScore",
+    "e.l.f. Beauty",
+    "eBay Inc.",
+    "eGain Corporation",
+    "eHealth",
+    "eMagin Corporation",
+    "ePlus inc.",
+    "eXp World Holdings",
+    "electroCore",
+    "frontdoor",
+    "i3 Verticals",
+    "iBio",
+    "iClick Interactive Asia Group Limited",
+    "iFresh Inc.",
+    "iHeartMedia",
+    "iMedia Brands",
+    "iQIYI",
+    "iRadimed Corporation",
+    "iRhythm Technologies",
+    "iRobot Corporation",
+    "iShares 0-5 Year Investment Grade Corporate Bond ETF",
+    "iShares 1-3 Year International Treasury Bond ETF",
+    "iShares 1-3 Year Treasury Bond ETF",
+    "iShares 20+ Year Treasury Bond ETF",
+    "iShares 3-7 Year Treasury Bond ETF",
+    "iShares 7-10 Year Treasury Bond ETF",
+    "iShares Asia 50 ETF",
+    "iShares Broad USD Investment Grade Corporate Bond ETF",
+    "iShares Commodities Select Strategy ETF",
+    "iShares Core 1-5 Year USD Bond ETF",
+    "iShares Core MSCI Total International Stock ETF",
+    "iShares Core S&P U.S. Growth ETF",
+    "iShares Core S&P U.S. Value ETF",
+    "iShares Core Total USD Bond Market ETF",
+    "iShares Currency Hedged MSCI Germany ETF",
+    "iShares ESG 1-5 Year USD Corporate Bond ETF",
+    "iShares ESG MSCI EAFE ETF",
+    "iShares ESG MSCI EM ETF",
+    "iShares ESG MSCI USA ETF",
+    "iShares ESG MSCI USA Leaders ETF",
+    "iShares ESG USD Corporate Bond ETF",
+    "iShares Exponential Technologies ETF",
+    "iShares FTSE EPRA/NAREIT Europe Index Fund",
+    "iShares FTSE EPRA/NAREIT Global Real Estate ex-U.S. Index Fund",
+    "iShares Fallen Angels USD Bond ETF",
+    "iShares GNMA Bond ETF",
+    "iShares Global Green Bond ETF",
+    "iShares Global Infrastructure ETF",
+    "iShares Intermediate-Term Corporate Bond ETF",
+    "iShares International Treasury Bond ETF",
+    "iShares J.P. Morgan USD Emerging Markets Bond ETF",
+    "iShares MBS ETF",
+    "iShares MSCI ACWI Index Fund",
+    "iShares MSCI ACWI ex US Index Fund",
+    "iShares MSCI All Country Asia ex Japan Index Fund",
+    "iShares MSCI Brazil Small-Cap ETF",
+    "iShares MSCI China ETF",
+    "iShares MSCI EAFE Small-Cap ETF",
+    "iShares MSCI Emerging Markets Asia ETF",
+    "iShares MSCI Emerging Markets ex China ETF",
+    "iShares MSCI Europe Financials Sector Index Fund",
+    "iShares MSCI Europe Small-Cap ETF",
+    "iShares MSCI Global Gold Miners ETF",
+    "iShares MSCI Global Impact ETF",
+    "iShares MSCI Japan Equal Weighted ETF",
+    "iShares MSCI Japan Value ETF",
+    "iShares MSCI New Zealand ETF",
+    "iShares MSCI Qatar ETF",
+    "iShares MSCI Turkey ETF",
+    "iShares MSCI UAE ETF",
+    "iShares Morningstar Mid-Cap ETF",
+    "iShares Nasdaq Biotechnology Index Fund",
+    "iShares PHLX SOX Semiconductor Sector Index Fund",
+    "iShares Preferred and Income Securities ETF",
+    "iShares Russell 1000 Pure U.S. Revenue ETF",
+    "iShares S&P Emerging Markets Infrastructure Index Fund",
+    "iShares S&P Global Clean Energy Index Fund",
+    "iShares S&P Global Timber & Forestry Index Fund",
+    "iShares S&P India Nifty 50 Index Fund",
+    "iShares S&P Small-Cap 600 Growth ETF",
+    "iShares Select Dividend ETF",
+    "iShares Short Treasury Bond ETF",
+    "iShares Short-Term Corporate Bond ETF",
+    "iShares iBoxx $ High Yield ex Oil & Gas Corporate Bond ETF",
+    "iStar Inc.",
+    "icad inc.",
+    "inTest Corporation",
+    "j2 Global",
+    "lululemon athletica inc.",
+    "nLIGHT",
+    "nVent Electric plc",
+    "resTORbio",
+    "scPharmaceuticals Inc.",
+    "support.com",
+    "trivago N.V.",
+    "uniQure N.V.",
+    "vTv Therapeutics Inc.",
+    "voxeljet AG",
+]
diff --git a/mimesis/datasets/int/hardware.py b/mimesis/datasets/int/hardware.py
index fe6564f8..085342f6 100644
--- a/mimesis/datasets/int/hardware.py
+++ b/mimesis/datasets/int/hardware.py
@@ -1,69 +1,268 @@
 """Provides all the data related to the hardware."""
 from itertools import product
-RESOLUTIONS = ['1152x768', '1280x854', '1440x960', '2880x1920', '1024x768',
-    '1152x864', '1280x960', '1400x1050', '1600x1200', '2048x1536',
-    '3200x2400', '1280x768', '1280x1024', '2560x2048', '1280x720',
-    '1365x768', '1600x900', '1920x1080', '1280x800', '1440x900',
-    '1680x1050', '1920x1200', '2560x1600', '3840x2400']
-SCREEN_SIZES = ['14″', '12.1″', '12″', '14.4″', '15″', '15.7″', '13.3″',
-    '13″', '17″', '15.4″', '14.1″', '16″', '27″', '29″', '34″', '32″', '40″']
-CPU = ['AMD Ryzen 7 1800X', 'AMD Ryzen 7 1700', 'AMD Ryzen™ Threadripper™',
-    'Intel® Core i3', 'Intel® Core i5', 'Intel® Core i7', 'Intel® Core i9',
-    'Apple M1', 'Apple M1 Pro', 'Apple M1 Max', 'Apple M2']
-RAM_TYPES = ['SDRAM', 'DDR', 'DDR2', 'DDR3', 'DDR4', 'DDR5']
-RAM_SIZES = ['4GB', '8GB', '12GB', '16GB', '32GB', '64GB', '128GB']
-GENERATION = ['2nd Generation', '3rd Generation', '4th Generation',
-    '5th Generation', '6th Generation', '7th Generation', '8th Generation',
-    '9th Generation']
-CPU_CODENAMES = ['Ivytown', 'Haswell', 'Fortville', "Devil's Canyon",
-    'Valley Island', 'Broadwell', 'Bay Trail', 'Skylake', 'Orchid Island',
-    'Bear Ridge', 'Cannonlake']
-HDD_SSD_MANUFACTURERS = ['Western Digital', 'Seagate', 'Samsung', 'Intel',
-    'Micron', 'Kingston', 'SanDisk']
-_CAPACITY = ['64GB SSD', '128GB SSD', '256GB SDD', '512GB SSD', '1TB SSD',
-    '2TB SSD', '4TB SSD', '256GB HDD', '512GB HDD', '1TB HDD', '2TB HDD',
-    '4TB HDD', '8TB HDD']
-HDD_SSD = [f'{i[0]} {i[1]}' for i in product(HDD_SSD_MANUFACTURERS, _CAPACITY)]
-GRAPHICS = ['AMD Radeon PRO WX 8200', 'AMD Radeon Pro W5700',
-    'AMD Radeon RX 5500 XT', 'AMD Radeon RX 560', 'AMD Radeon RX 5600 XT',
-    'AMD Radeon RX 570', 'AMD Radeon RX 5700', 'AMD Radeon RX 5700 XT',
-    'AMD Radeon RX 580', 'AMD Radeon RX 590', 'AMD Radeon RX 6500 XT',
-    'AMD Radeon RX 6600 XT', 'AMD Radeon RX 6700 XT',
-    'AMD Radeon RX 6750 XT', 'AMD Radeon RX 6800', 'AMD Radeon RX 6800 XT',
-    'AMD Radeon RX 6900 XT', 'AMD Radeon RX 6950 XT',
-    'AMD Radeon RX Vega 56', 'AMD Radeon RX Vega 64', 'AMD Radeon VII',
-    'Intel® HD Graphics 3000', 'Intel® HD Graphics 4000',
-    'Intel® HD Graphics 4400', 'Intel® HD Graphics 4600',
-    'Intel® HD Graphics 5000', 'Intel® HD Graphics 520',
-    'Intel® HD Graphics 5300 ', 'Intel® HD Graphics 5500',
-    'Intel® HD Graphics 6000', 'Intel® HD Graphics 615',
-    'Intel® HD Graphics 620', 'Intel® Iris™ Graphics 5100',
-    'Intel® Iris™ Graphics 550', 'Intel® Iris™ Graphics 6100',
-    'Intel® Iris™ Pro Graphics 5200', 'Intel® Iris™ Pro Graphics 580',
-    'Intel® Iris™ Pro Graphics 6200', 'Nvidia GTX 1050',
-    'Nvidia GTX 1050 Ti', 'Nvidia GTX 1060', 'Nvidia GTX 1070',
-    'Nvidia GTX 1070 Ti', 'Nvidia GTX 1080', 'Nvidia GTX 1080 Ti',
-    'Nvidia GTX 1650', 'Nvidia GTX 1650 SUPER', 'Nvidia GTX 1660',
-    'Nvidia GTX 1660 SUPER', 'Nvidia GTX 1660 Ti', 'Nvidia GTX 960',
-    'Nvidia GTX 980', 'Nvidia GTX 980 Ti', 'Nvidia Quadro RTX A4000',
-    'Nvidia Quadro RTX A5000', 'Nvidia Quadro RTX A6000', 'Nvidia RTX 2060',
-    'Nvidia RTX 2060 SUPER', 'Nvidia RTX 2070', 'Nvidia RTX 2070 SUPER',
-    'Nvidia RTX 2080', 'Nvidia RTX 2080 SUPER', 'Nvidia RTX 2080 Ti',
-    'Nvidia RTX 3050', 'Nvidia RTX 3050', 'Nvidia RTX 3050 Ti',
-    'Nvidia RTX 3060', 'Nvidia RTX 3060', 'Nvidia RTX 3060 Ti',
-    'Nvidia RTX 3070', 'Nvidia RTX 3070', 'Nvidia RTX 3070 Ti',
-    'Nvidia RTX 3080', 'Nvidia RTX 3080', 'Nvidia RTX 3080 Ti',
-    'Nvidia RTX 3090', 'Nvidia RTX 3090 Ti', 'Nvidia RTX 4090',
-    'Nvidia RTX Titan', 'Nvidia Titan Pascal', 'Nvidia Titan V']
-MANUFACTURERS = ['Apple', 'Acer', 'Dell', 'ASUS', 'VAIO', 'Lenovo', 'HP',
-    'Toshiba', 'Sony', 'Samsung', 'Fujitsu', 'Xiomi']
-PHONE_MODELS = ['iPhone SE', 'iPhone X', 'iPhone XS', 'iPhone 11',
-    'iPhone 11 Pro', 'iPhone 11 Pro Max', 'iPhone 12', 'iPhone 12 Pro',
-    'iPhone 12 Pro Max', 'iPhone 13', 'iPhone 13 Pro', 'iPhone 13 Pro Max',
-    'iPhone 14', 'iPhone 14 Plus', 'iPhone 14 Pro', 'iPhone 14 Pro Max',
-    'iPhone 15 Pro', 'iPhone 15 Pro Max', 'Nothing Phone',
-    'Samsung Galaxy S22 Ultra', 'Samsung Galaxy S22 Plus',
-    'Samsung Galaxy Fold 4', 'Samsung Galaxy Z Flip 4',
-    'Xiaomi Redmi Note 11', 'Xiaomi 12 Pro', 'Google Pixel 6',
-    'Google Pixel 6 Pro', 'Google Pixel 7', 'Google Pixel 7 Pro',
-    'Vivo X80 Pro', 'OnePlus 10 Pro']
+
+RESOLUTIONS = [
+    "1152x768",
+    "1280x854",
+    "1440x960",
+    "2880x1920",
+    "1024x768",
+    "1152x864",
+    "1280x960",
+    "1400x1050",
+    "1600x1200",
+    "2048x1536",
+    "3200x2400",
+    "1280x768",
+    "1280x1024",
+    "2560x2048",
+    "1280x720",
+    "1365x768",
+    "1600x900",
+    "1920x1080",
+    "1280x800",
+    "1440x900",
+    "1680x1050",
+    "1920x1200",
+    "2560x1600",
+    "3840x2400",
+]
+
+SCREEN_SIZES = [
+    "14″",
+    "12.1″",
+    "12″",
+    "14.4″",
+    "15″",
+    "15.7″",
+    "13.3″",
+    "13″",
+    "17″",
+    "15.4″",
+    "14.1″",
+    "16″",
+    "27″",
+    "29″",
+    "34″",
+    "32″",
+    "40″",
+]
+
+CPU = [
+    "AMD Ryzen 7 1800X",
+    "AMD Ryzen 7 1700",
+    "AMD Ryzen™ Threadripper™",
+    "Intel® Core i3",
+    "Intel® Core i5",
+    "Intel® Core i7",
+    "Intel® Core i9",
+    "Apple M1",
+    "Apple M1 Pro",
+    "Apple M1 Max",
+    "Apple M2",
+]
+
+RAM_TYPES = [
+    "SDRAM",
+    "DDR",
+    "DDR2",
+    "DDR3",
+    "DDR4",
+    "DDR5",
+]
+
+RAM_SIZES = [
+    "4GB",
+    "8GB",
+    "12GB",
+    "16GB",
+    "32GB",
+    "64GB",
+    "128GB",
+]
+
+GENERATION = [
+    "2nd Generation",
+    "3rd Generation",
+    "4th Generation",
+    "5th Generation",
+    "6th Generation",
+    "7th Generation",
+    "8th Generation",
+    "9th Generation",
+]
+
+CPU_CODENAMES = [
+    "Ivytown",
+    "Haswell",
+    "Fortville",
+    "Devil's Canyon",  # noqa: Q003
+    "Valley Island",
+    "Broadwell",
+    "Bay Trail",
+    "Skylake",
+    "Orchid Island",
+    "Bear Ridge",
+    "Cannonlake",
+]
+
+HDD_SSD_MANUFACTURERS = [
+    "Western Digital",
+    "Seagate",
+    "Samsung",
+    "Intel",
+    "Micron",
+    "Kingston",
+    "SanDisk",
+]
+
+_CAPACITY = [
+    "64GB SSD",
+    "128GB SSD",
+    "256GB SDD",
+    "512GB SSD",
+    "1TB SSD",
+    "2TB SSD",
+    "4TB SSD",
+    "256GB HDD",
+    "512GB HDD",
+    "1TB HDD",
+    "2TB HDD",
+    "4TB HDD",
+    "8TB HDD",
+]
+
+HDD_SSD = [f"{i[0]} {i[1]}" for i in product(HDD_SSD_MANUFACTURERS, _CAPACITY)]
+
+GRAPHICS = [
+    "AMD Radeon PRO WX 8200",
+    "AMD Radeon Pro W5700",
+    "AMD Radeon RX 5500 XT",
+    "AMD Radeon RX 560",
+    "AMD Radeon RX 5600 XT",
+    "AMD Radeon RX 570",
+    "AMD Radeon RX 5700",
+    "AMD Radeon RX 5700 XT",
+    "AMD Radeon RX 580",
+    "AMD Radeon RX 590",
+    "AMD Radeon RX 6500 XT",
+    "AMD Radeon RX 6600 XT",
+    "AMD Radeon RX 6700 XT",
+    "AMD Radeon RX 6750 XT",
+    "AMD Radeon RX 6800",
+    "AMD Radeon RX 6800 XT",
+    "AMD Radeon RX 6900 XT",
+    "AMD Radeon RX 6950 XT",
+    "AMD Radeon RX Vega 56",
+    "AMD Radeon RX Vega 64",
+    "AMD Radeon VII",
+    "Intel® HD Graphics 3000",
+    "Intel® HD Graphics 4000",
+    "Intel® HD Graphics 4400",
+    "Intel® HD Graphics 4600",
+    "Intel® HD Graphics 5000",
+    "Intel® HD Graphics 520",
+    "Intel® HD Graphics 5300 ",
+    "Intel® HD Graphics 5500",
+    "Intel® HD Graphics 6000",
+    "Intel® HD Graphics 615",
+    "Intel® HD Graphics 620",
+    "Intel® Iris™ Graphics 5100",
+    "Intel® Iris™ Graphics 550",
+    "Intel® Iris™ Graphics 6100",
+    "Intel® Iris™ Pro Graphics 5200",
+    "Intel® Iris™ Pro Graphics 580",
+    "Intel® Iris™ Pro Graphics 6200",
+    "Nvidia GTX 1050",
+    "Nvidia GTX 1050 Ti",
+    "Nvidia GTX 1060",
+    "Nvidia GTX 1070",
+    "Nvidia GTX 1070 Ti",
+    "Nvidia GTX 1080",
+    "Nvidia GTX 1080 Ti",
+    "Nvidia GTX 1650",
+    "Nvidia GTX 1650 SUPER",
+    "Nvidia GTX 1660",
+    "Nvidia GTX 1660 SUPER",
+    "Nvidia GTX 1660 Ti",
+    "Nvidia GTX 960",
+    "Nvidia GTX 980",
+    "Nvidia GTX 980 Ti",
+    "Nvidia Quadro RTX A4000",
+    "Nvidia Quadro RTX A5000",
+    "Nvidia Quadro RTX A6000",
+    "Nvidia RTX 2060",
+    "Nvidia RTX 2060 SUPER",
+    "Nvidia RTX 2070",
+    "Nvidia RTX 2070 SUPER",
+    "Nvidia RTX 2080",
+    "Nvidia RTX 2080 SUPER",
+    "Nvidia RTX 2080 Ti",
+    "Nvidia RTX 3050",
+    "Nvidia RTX 3050",
+    "Nvidia RTX 3050 Ti",
+    "Nvidia RTX 3060",
+    "Nvidia RTX 3060",
+    "Nvidia RTX 3060 Ti",
+    "Nvidia RTX 3070",
+    "Nvidia RTX 3070",
+    "Nvidia RTX 3070 Ti",
+    "Nvidia RTX 3080",
+    "Nvidia RTX 3080",
+    "Nvidia RTX 3080 Ti",
+    "Nvidia RTX 3090",
+    "Nvidia RTX 3090 Ti",
+    "Nvidia RTX 4090",
+    "Nvidia RTX Titan",
+    "Nvidia Titan Pascal",
+    "Nvidia Titan V",
+]
+
+MANUFACTURERS = [
+    "Apple",
+    "Acer",
+    "Dell",
+    "ASUS",
+    "VAIO",
+    "Lenovo",
+    "HP",
+    "Toshiba",
+    "Sony",
+    "Samsung",
+    "Fujitsu",
+    "Xiomi",
+]
+
+PHONE_MODELS = [
+    "iPhone SE",
+    "iPhone X",
+    "iPhone XS",
+    "iPhone 11",
+    "iPhone 11 Pro",
+    "iPhone 11 Pro Max",
+    "iPhone 12",
+    "iPhone 12 Pro",
+    "iPhone 12 Pro Max",
+    "iPhone 13",
+    "iPhone 13 Pro",
+    "iPhone 13 Pro Max",
+    "iPhone 14",
+    "iPhone 14 Plus",
+    "iPhone 14 Pro",
+    "iPhone 14 Pro Max",
+    "iPhone 15 Pro",
+    "iPhone 15 Pro Max",
+    "Nothing Phone",
+    "Samsung Galaxy S22 Ultra",
+    "Samsung Galaxy S22 Plus",
+    "Samsung Galaxy Fold 4",
+    "Samsung Galaxy Z Flip 4",
+    "Xiaomi Redmi Note 11",
+    "Xiaomi 12 Pro",
+    "Google Pixel 6",
+    "Google Pixel 6 Pro",
+    "Google Pixel 7",
+    "Google Pixel 7 Pro",
+    "Vivo X80 Pro",
+    "OnePlus 10 Pro",
+]
diff --git a/mimesis/datasets/int/internet.py b/mimesis/datasets/int/internet.py
index 6520a48c..95ae3c17 100644
--- a/mimesis/datasets/int/internet.py
+++ b/mimesis/datasets/int/internet.py
@@ -1,2255 +1,2286 @@
 """Provides all the data related to the internet."""
-HTTP_METHODS = ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS',
-    'CONNECT', 'HEAD']
-HTTP_STATUS_CODES = [100, 101, 102, 103, 200, 201, 202, 203, 204, 205, 206,
-    207, 208, 226, 300, 301, 302, 303, 304, 305, 306, 307, 308, 400, 401, 
-    402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 
-    416, 417, 421, 422, 423, 424, 426, 428, 429, 431, 451, 500, 501, 502, 
-    503, 504, 505, 506, 507, 508, 510, 511]
-HTTP_STATUS_MSGS = ['100 Continue', '101 Switching Protocols',
-    '102 Processing', '103 Early Hints', '200 OK', '201 Created',
-    '202 Accepted', '203 Non Authoritative Information', '204 No Content',
-    '205 Reset Content', '206 Partial Content', '207 Multi Status',
-    '208 Already Reported', '226 IM Used', '300 Multiple Choices',
-    '301 Moved Permanently', '302 Found', '303 See Other',
-    '304 Not Modified', '305 Use Proxy', '306 Reserved',
-    '307 Temporary Redirect', '308 Permanent Redirect', '400 Bad Request',
-    '401 Unauthorized', '402 Payment Required', '403 Forbidden',
-    '404 Not Found', '405 Method Not Allowed', '406 Not Acceptable',
-    '407 Proxy Authentication Required', '408 Request Timeout',
-    '409 Conflict', '410 Gone', '411 Length Required',
-    '412 Precondition Failed', '413 Request Entity Too Large',
-    '414 Request URI Too Long', '415 Unsupported Media Type',
-    '416 Requested Range Not Satisfiable', '417 Expectation Failed',
-    '421 Misdirected Request', '422 Unprocessable Entity', '423 Locked',
-    '424 Failed Dependency', '426 Upgrade Required',
-    '428 Precondition Required', '429 Too Many Requests',
-    '431 Request Header Fields Too Large',
-    '451 Unavailable For Legal Reasons', '500 Internal Server Error',
-    '501 Not Implemented', '502 Bad Gateway', '503 Service Unavailable',
-    '504 Gateway Timeout', '505 HTTP Version Not Supported',
-    '506 Variant Also Negotiates', '507 Insufficient Storage',
-    '508 Loop Detected', '510 Not Extended',
-    '511 Network Authentication Required']
-TLD = {'cctld': ['.ac', '.ad', '.ae', '.af', '.ag', '.ai', '.al', '.am',
-    '.an', '.ao', '.aq', '.ar', '.as', '.at', '.au', '.aw', '.ax', '.az',
-    '.ba', '.bb', '.bd', '.be', '.bf', '.bg', '.bh', '.bi', '.bj', '.bm',
-    '.bn', '.bo', '.bq', '.br', '.bs', '.bt', '.bv', '.bw', '.by', '.bz',
-    '.bzh', '.ca', '.cc', '.cd', '.cf', '.cg', '.ch', '.ci', '.ck', '.cl',
-    '.cm', '.cn', '.co', '.cr', '.cu', '.cv', '.cw', '.cx', '.cy', '.cz',
-    '.dd', '.de', '.dj', '.dk', '.dm', '.do', '.dz', '.ec', '.ee', '.eg',
-    '.eh', '.er', '.es', '.et', '.eu', '.fi', '.fj', '.fk', '.fm', '.fo',
-    '.fr', '.ga', '.gb', '.gd', '.ge', '.gf', '.gg', '.gh', '.gi', '.gl',
-    '.gm', '.gn', '.gp', '.gq', '.gr', '.gsla', '.gt', '.gu', '.gw', '.gy',
-    '.hk', '.hm', '.hn', '.hr', '.ht', '.hu', '.id', '.ie', '.il', '.im',
-    '.in', '.io', '.iq', '.ir', '.is', '.it', '.je', '.jm', '.jo', '.jp',
-    '.ke', '.kg', '.kh', '.ki', '.km', '.kn', '.kp', '.kr', '.krd', '.kw',
-    '.ky', '.kz', '.la', '.lb', '.lc', '.li', '.lk', '.lr', '.ls', '.lt',
-    '.lu', '.lv', '.ly', '.ma', '.mc', '.md', '.me', '.mg', '.mh', '.mk',
-    '.ml', '.mm', '.mn', '.mo', '.mp', '.mq', '.mr', '.ms', '.mt', '.mu',
-    '.mv', '.mw', '.mx', '.my', '.mz', '.na', '.nc', '.ne', '.nf', '.ng',
-    '.ni', '.nl', '.no', '.np', '.nr', '.nu', '.nz', '.om', '.pa', '.pe',
-    '.pf', '.pg', '.ph', '.pk', '.pl', '.pm', '.pn', '.pr', '.ps', '.pt',
-    '.pw', '.py', '.qa', '.re', '.ro', '.rs', '.ru', '.rw', '.sa', '.sb',
-    '.sc', '.sd', '.se', '.sg', '.sh', '.si', '.sk', '.sl', '.sm', '.sn',
-    '.so', '.sr', '.ss', '.st', '.su', '.sv', '.sx', '.sy', '.sz', '.tc',
-    '.td', '.tf', '.tg', '.th', '.tj', '.tk', '.tl', '.tm', '.tn', '.to',
-    '.tp', '.tr', '.tt', '.tv', '.tw', '.tz', '.ua', '.ug', '.uk', '.us',
-    '.uy', '.uz', '.va', '.vc', '.ve', '.vg', '.vi', '.vn', '.vu', '.wf',
-    '.ws', '.ye', '.yt', '.yu', '.za', '.zm', '.zr', '.zw'], 'gtld': [
-    '.academy', '.accountant', '.accountants', '.actor', '.ads', '.adult',
-    '.agency', '.airforce', '.alsace', '.amsterdam', '.analytics', '.and',
-    '.antivirus', '.apartments', '.app', '.aquitaine', '.archi',
-    '.architect', '.are', '.army', '.art', '.associates', '.attorney',
-    '.auction', '.audio', '.auto', '.autoinsurance', '.autos', '.baby',
-    '.band', '.bank', '.bar', '.barcelona', '.bargains', '.baseball',
-    '.basketball', '.bayern', '.beauty', '.beer', '.berlin', '.bet',
-    '.bible', '.bid', '.bike', '.bingo', '.bio', '.black', '.blackfriday',
-    '.blog', '.blue', '.boats', '.boo', '.book', '.boston', '.boutique',
-    '.broadway', '.broker', '.brussels', '.budapest', '.build', '.builders',
-    '.business', '.buy', '.buzz', '.cab', '.cafe', '.cal', '.cam',
-    '.camera', '.camp', '.capital', '.car', '.cards', '.care', '.career',
-    '.careers', '.carinsurance', '.cars', '.case', '.cash', '.casino',
-    '.catalonia', '.catering', '.catholic', '.center', '.charity', '.chat',
-    '.cheap', '.christmas', '.church', '.city', '.claims', '.cleaning',
-    '.click', '.clinic', '.clothing', '.cloud', '.club', '.coach', '.codes',
-    '.coffee', '.college', '.cologne', '.community', '.company', '.compare',
-    '.computer', '.condos', '.construction', '.consulting', '.contact',
-    '.contractors', '.cooking', '.cool', '.corp', '.country', '.coupon',
-    '.coupons', '.courses', '.cpa', '.credit', '.creditcard',
-    '.creditunion', '.cricket', '.cruise', '.cruises', '.cymru', '.dad',
-    '.dance', '.data', '.date', '.dating', '.day', '.dds', '.deal',
-    '.dealer', '.deals', '.degree', '.delivery', '.democrat', '.dental',
-    '.dentist', '.design', '.dev', '.diamonds', '.diet', '.digital',
-    '.direct', '.directory', '.discount', '.diy', '.docs', '.doctor',
-    '.dog', '.domains', '.dot', '.download', '.drive', '.duck', '.earth',
-    '.eat', '.eco', '.ecom', '.education', '.email', '.energy', '.engineer',
-    '.engineering', '.enterprises', '.equipment', '.esq', '.estate',
-    '.events', '.exchange', '.expert', '.exposed', '.express', '.fail',
-    '.faith', '.family', '.fan', '.fans', '.farm', '.fashion', '.feedback',
-    '.film', '.finance', '.financial', '.financialaid', '.fish', '.fishing',
-    '.fit', '.fitness', '.flights', '.florist', '.flowers', '.fly', '.foo',
-    '.food', '.football', '.forex', '.forsale', '.forum', '.foundation',
-    '.free', '.frl', '.frontdoor', '.fun', '.fund', '.furniture', '.futbol',
-    '.fyi', '.gallery', '.game', '.games', '.garden', '.gay', '.gent',
-    '.gift', '.gifts', '.gives', '.giving', '.glass', '.glean', '.global',
-    '.gmbh', '.gold', '.golf', '.gop', '.graphics', '.green', '.gripe',
-    '.grocery', '.group', '.guide', '.guitars', '.guru', '.hair', '.halal',
-    '.hamburg', '.hangout', '.health', '.healthcare', '.heart', '.help',
-    '.helsinki', '.here', '.hiphop', '.hiv', '.hockey', '.holdings',
-    '.holiday', '.home', '.homes', '.horse', '.hospital', '.host',
-    '.hosting', '.hot', '.hoteis', '.hotel', '.hoteles', '.hotels',
-    '.house', '.how', '.immo', '.inc', '.industries', '.ing', '.ink',
-    '.institute', '.insurance', '.insure', '.international', '.investments',
-    '.islam', '.jewelry', '.juegos', '.kid', '.kids', '.kitchen', '.koeln',
-    '.kosher', '.land', '.law', '.lawyer', '.lds', '.lease', '.legal',
-    '.lgbt', '.life', '.lifeinsurance', '.lifestyle', '.lighting',
-    '.limited', '.limo', '.link', '.live', '.living', '.llc', '.llp',
-    '.loan', '.loans', '.loft', '.lol', '.london', '.lotto', '.love',
-    '.ltd', '.luxe', '.luxury', '.madrid', '.mail', '.makeup', '.man',
-    '.management', '.map', '.market', '.marketing', '.markets', '.mba',
-    '.med', '.media', '.medical', '.meet', '.meme', '.memorial', '.men',
-    '.menu', '.miami', '.mls', '.mobile', '.mobily', '.mom', '.money',
-    '.mormon', '.mortgage', '.moscow', '.motorcycles', '.mov', '.movie',
-    '.music', '.mutualfunds', '.navy', '.network', '.new', '.news', '.ngo',
-    '.ninja', '.now', '.nrw', '.nyc', '.one', '.ong', '.online', '.organic',
-    '.page', '.paris', '.partners', '.parts', '.party', '.patch', '.pay',
-    '.pet', '.pets', '.pharmacy', '.phd', '.phone', '.photo',
-    '.photography', '.photos', '.physio', '.pics', '.pictures', '.pid',
-    '.ping', '.pink', '.pizza', '.place', '.play', '.plumbing', '.plus',
-    '.poker', '.porn', '.press', '.prod', '.productions', '.prof', '.promo',
-    '.properties', '.property', '.protection', '.pub', '.qpon', '.quebec',
-    '.racing', '.radio', '.realestate', '.realtor', '.realty', '.recipes',
-    '.red', '.rehab', '.rent', '.rentals', '.repair', '.report',
-    '.republican', '.restaurant', '.retirement', '.review', '.reviews',
-    '.rip', '.rocks', '.rodeo', '.roma', '.room', '.rsvp', '.rugby', '.run',
-    '.saarland', '.safety', '.sale', '.salon', '.save', '.scholarships',
-    '.school', '.science', '.scot', '.search', '.secure', '.security',
-    '.seek', '.services', '.sex', '.sexy', '.shiksha', '.shoes', '.shop',
-    '.shopping', '.show', '.silk', '.singles', '.site', '.ski', '.skin',
-    '.smile', '.soccer', '.social', '.software', '.solar', '.solutions',
-    '.spa', '.space', '.sport', '.sports', '.spot', '.spreadbetting',
-    '.star', '.stockholm', '.storage', '.store', '.stroke', '.studio',
-    '.study', '.style', '.sucks', '.supplies', '.supply', '.support',
-    '.surf', '.surgery', '.systems', '.talk', '.tattoo', '.tax', '.taxi',
-    '.team', '.tech', '.technology', '.tennis', '.theater', '.theatre',
-    '.tickets', '.tips', '.tires', '.tirol', '.today', '.tools', '.top',
-    '.tour', '.tours', '.town', '.toys', '.trade', '.trading', '.training',
-    '.tube', '.university', '.vacations', '.vegas', '.ventures', '.vet',
-    '.video', '.villas', '.vin', '.vip', '.vision', '.vlaanderen', '.vodka',
-    '.vote', '.voting', '.voyage', '.wales', '.watch', '.watches',
-    '.weather', '.web', '.webcam', '.webs', '.website', '.wed', '.wedding',
-    '.wien', '.wiki', '.win', '.wine', '.winners', '.work', '.works',
-    '.world', '.wow', '.wtf', '.xyz', '.yachts', '.yoga', '.you', '.zip',
-    '.zone', '.zuerich', '.zulu'], 'geotld': ['.abudhabi', '.africa',
-    '.africa', '.alsace', '.amsterdam', '.aquitaine', '.bar', '.bar',
-    '.barcelona', '.bayern', '.berlin', '.boston', '.brussels', '.budapest',
-    '.capetown', '.catalonia', '.cologne', '.doha', '.dubai', '.durban',
-    '.frl', '.gent', '.hamburg', '.helsinki', '.ist', '.istanbul',
-    '.joburg', '.koeln', '.kyoto', '.london', '.madrid', '.melbourne',
-    '.miami', '.moscow', '.nagoya', '.nrw', '.nyc', '.okinawa', '.osaka',
-    '.osaka', '.paris', '.quebec', '.rio', '.saarland', '.scot',
-    '.stockholm', '.sydney', '.taipei', '.tata', '.tirol', '.tokyo', '.tui',
-    '.vlaanderen', '.wales', '.wien', '.yokohama', '.zuerich', '.zulu'],
-    'utld': ['.com', '.org', '.net', '.biz', '.info', '.name'], 'stld': [
-    '.aero', '.asia', '.cat', '.coop', '.edu', '.gov', '.int', '.jobs',
-    '.mil', '.mobi', '.museum.post', '.tel', '.travel', '.xxx']}
-EMAIL_DOMAINS: list[str] = ['@duck.com', '@gmail.com', '@yandex.com',
-    '@yahoo.com', '@live.com', '@outlook.com', '@protonmail.com',
-    '@example.com', '@example.org']
-USER_AGENTS = [
-    'Mozilla/5.0 (Linux; Android 12; SM-S906N Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.119 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.94 Chrome/37.0.2062.94 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 10; SM-G996U Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Linux; Android 10; SM-G980F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Version/8.0.8 Safari/600.8.9'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    , 'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14',
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (iPhone14,6; U; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/19E241 Safari/602.1'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0'
-    ,
-    'Mozilla/5.0 (Linux; Android 9; SM-G973U Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Version/7.1.8 Safari/537.85.17'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F69 Safari/600.1.4'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Linux; Android 7.0; SM-G930VC Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)',
-    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Linux; Android 6.0.1; SM-G935S Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; SM-G928X Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/8.0.6 Safari/600.6.3'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.5.17 (KHTML, like Gecko) Version/8.0.5 Safari/600.5.17'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',
-    'Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53'
-    , 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:40.0) Gecko/20100101 Firefox/40.0'
-    , 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)',
-    'Mozilla/5.0 (Linux; Android 12; Pixel 6 Build/SD1A.210817.023; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/94.0.4606.71 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 11; Pixel 5 Build/RQ3A.210805.001.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.159 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 7077.134.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.156 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/7.1.7 Safari/537.85.16'
-    , 'Mozilla/5.0 (Windows NT 6.0; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:40.0) Gecko/20100101 Firefox/40.0'
-    ,
-    'Mozilla/5.0 (Linux; Android 10; Google Pixel 4 Build/QD1A.190821.014.C2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B466 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 6P Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0',
-    'Mozilla/5.0 (Linux; Android 9; J8110 Build/55.0.A.0.552; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/7.1.6 Safari/537.85.15'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.4.10 (KHTML, like Gecko) Version/8.0.4 Safari/600.4.10'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:40.0) Gecko/20100101 Firefox/40.0'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B410 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 7.1.1; G8231 Build/41.2.A.0.219; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; TNJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; ARM; Trident/7.0; Touch; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MDDCJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 6.0.1; E6653 Build/32.2.A.0.253) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 10; HTC Desire 21 pro 5G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Linux; Android 6.0; HTC One X10 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFASWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.3'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:40.0) Gecko/20100101 Firefox/40.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0',
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; KFJWI Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D167 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (X11; CrOS armv7l 7077.134.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.156 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0',
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSOWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B435 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; LCJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MDDRJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFAPWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; Touch; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; LCJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFOT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFARWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; ASU2JS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.77.4 (KHTML, like Gecko) Version/7.0.5 Safari/537.77.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0',
-    'Opera/4.02 (Windows 98; U) [en]',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; yie11; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0',
-    'Mozilla/5.0 (Windows NT 10.0; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MAGWJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.5.17 (KHTML, like Gecko) Version/7.1.5 Safari/537.85.14'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; TNJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP06; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:40.0) Gecko/20100101 Firefox/40.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.4.8 (KHTML, like Gecko) Version/8.0.3 Safari/600.4.8'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_0_6 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B651 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/7.1.3 Safari/537.85.12'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0.1453 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A365 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12H143 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:39.0) Gecko/20100101 Firefox/39.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_0_3 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B511 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.1.17 (KHTML, like Gecko) Version/7.1 Safari/537.85.10'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/7.1.2 Safari/537.85.11'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; ASU2JS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MDDCJS; rv:11.0) like Gecko'
-    , 'Mozilla/5.0 (Windows NT 6.3; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.5 Safari/534.34'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 BingPreview/1.0b'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0',
-    'Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12H143 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 7262.52.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.86 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MDDCJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.4.10 (KHTML, like Gecko) Version/7.1.4 Safari/537.85.13'
-    ,
-    'Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.0.0 Safari/538.1'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MALNJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12F69 Safari/600.1.4'
-    , 'Mozilla/5.0 (Android; Tablet; rv:40.0) Gecko/40.0 Firefox/40.0',
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.13.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAAU; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/7.0.2 Safari/537.74.9'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MAARJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53'
-    , 'Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko',
-    'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12F69 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MASMJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; FunWebProducts; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MAARJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ENUS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T230NU Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE10;ENUSWOL; rv:11.0) like Gecko'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:39.0) Gecko/20100101 Firefox/39.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:39.0) Gecko/20100101 Firefox/39.0'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; KFJWA Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.0.4; BNTV600 Build/IMM76L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.111 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; yie9; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; SM-T530NU Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 9_0 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A4325c Safari/601.1'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B466 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/7.0)',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0',
-    'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/44.0.2403.67 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0E; .NET4.0C)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'
-    ,
-    'Mozilla/5.0 (PlayStation 4 2.57) AppleWebKit/537.73 (KHTML, like Gecko)',
-    'Opera/5.0 (Ubuntu; U; Windows NT 6.1; es; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13'
-    , 'Opera/5.0 (SunOS 5.8 sun4u; U) [en]',
-    'Mozilla/5.0 (SunOS 5.8 sun4u; U) Opera 5.0 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; SunOS 5.8 sun4u) Opera 5.0 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 5.0 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Linux) Opera 5.0 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Linux 2.4.4-4GB i686) Opera 5.0 [en]',
-    'Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0',
-    'Mozilla/5.0 (Linux; Android 5.0; SM-G900V Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 7 Build/LMY48I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; LCJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Firefox/38.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; Touch)'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MASMJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:39.0) Gecko/20100101 Firefox/39.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; TNJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; ASJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG SCH-I545 4G Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE10;ENUSMSN; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MATBJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MASAJS; rv:11.0) like Gecko'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:41.0) Gecko/20100101 Firefox/41.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MALC; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/33.0.0.0 Safari/534.24'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MDDCJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:39.0) Gecko/20100101 Firefox/39.0'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; yie10; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG-SM-G900A Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.3; en-gb; KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/8.0)',
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; TNJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 7077.111.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.0.4; BNTV400 Build/IMM76L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.111 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:37.0) Gecko/20100101 Firefox/37.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 LBBROWSER'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0',
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.18.US Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; GWX:QUALIFIED)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MDDCJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.13.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4043.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20100101 Firefox/23.0'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Firefox/38.0',
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/44.0.2403.89 Chrome/44.0.2403.89 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MANM; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12H143 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0',
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; MDDRJS)'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MATBJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.13.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (X11; Linux x86_64; U; en-us) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 6946.86.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; TNJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; MDDRJS; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12F69 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; GIL 3.5; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:41.0) Gecko/20100101 Firefox/41.0'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LG-V410/V41010d Build/KOT49I.V41010d) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.1599.103 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.1 Safari/534.34'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; USPortal; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H143'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0.2 Waterfox/40.0.2'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; SMJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CMDTDF; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B146 Safari/8536.25'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; TNJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/5.0 (X11; FC Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0',
-    'Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+'
-    ,
-    'Mozilla/5.0 (X11; CrOS armv7l 7262.52.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.86 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MASAJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MS-RTC LM 8; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; yie11; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10532'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ENUSMSE; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0',
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0',
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T320 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/44.0.2403.67 Mobile/12H143 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; 360SE)'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; LG-V410/V41020c Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.1847.118 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) GSA/7.0.55539 Mobile/11D257 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12F69'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFTHWA Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    , 'Mozilla/5.0 (Android; Mobile; rv:40.0) Gecko/40.0 Firefox/40.0',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4043.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-P600 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0',
-    'Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:35.0) Gecko/20100101 Firefox/35.0',
-    'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; 360SE)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; LCJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 6812.88.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.153 Safari/537.36'
-    , 'Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0',
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; ASU2JS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/537.16 (KHTML, like Gecko) Version/8.0 Safari/537.16'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:34.0) Gecko/20100101 Firefox/34.0',
-    'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-N900V 4G Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CMDTDF; .NET4.0C; .NET4.0E; GWX:QUALIFIED)'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/11D257 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.1000 Chrome/30.0.1599.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; GT-P5210 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MDDSJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; QTAQZ3 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; QMV7B Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)',
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/6.0.51363 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B436 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/530.19.2 (KHTML, like Gecko) Version/4.0.2 Safari/530.19.1'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.3; en-ca; KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:30.0) Gecko/20100101 Firefox/30.0',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0.2 Waterfox/40.0.2'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:38.0) Gecko/20100101 Firefox/38.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; LCJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NISSC; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9) AppleWebKit/537.71 (KHTML, like Gecko) Version/7.0 Safari/537.71'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; MALC; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.0.9895 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MSBrowserIE; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG SM-N910V 4G Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.2; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T530NU Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; LCJB; rv:11.0) like Gecko'
-    , 'Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7412.EU',
-    'Mozilla/5.0 (Windows NT 6.0; rv:39.0) Gecko/20100101 Firefox/39.0',
-    'Mozilla/5.0 (Linux; Android 5.0.2; SM-T700 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG-SM-N910A Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; ASU2JS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 7077.95.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.90 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.1000 Chrome/30.0.1599.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 LBBROWSER'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:36.0) Gecko/20100101 Firefox/36.0',
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0)',
-    'Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12B466 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Win64; x64; Trident/6.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727)'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; VK810 4G Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.76.4 (KHTML, like Gecko) Version/7.0.4 Safari/537.76.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:40.0) Gecko/20100101 Firefox/40.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; SMJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MDDCJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; BOIE9;ENUS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/6.0.51363 Mobile/12H143 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:38.0) Gecko/20100101 Firefox/38.0'
-    ,
-    'Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.12 NintendoBrowser/4.3.1.11264.US'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:41.0) Gecko/20100101 Firefox/41.0',
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.50 (KHTML, like Gecko) Version/9.0 Safari/601.1.50'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; GWX:RESERVED)'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B141 Safari/8536.25'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 7 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12B440 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) MsnBot-Media /1.0b'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0)',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.3; WOW64; Trident/7.0)',
-    'Mozilla/5.0 (Linux; Android 5.1.1; SM-G920V Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; ASU2JS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 6680.78.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.102 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T520 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MAARJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T900 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    , 'Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)',
-    'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12D508 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:36.0) Gecko/20100101 Firefox/36.0'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.1.2; GT-N8013 Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFAPWA Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:38.0) Gecko/20100101 Firefox/38.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALCJS; rv:11.0) like Gecko'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0',
-    'Mozilla/5.0 (Linux; Android 5.0.1; SM-N910V Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B436 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12B466 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:37.0) Gecko/20100101 Firefox/37.0'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T310 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.45 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 10 Build/LMY48I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; TNJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 7077.123.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; 360SE)'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; QMV7A Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG-SM-N900A Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.4; XT1080 Build/SU6-7.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAARJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/6.0.51363 Mobile/12F69 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MALNJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; ASJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/7.0; TNJB; 1ButtonTaskbar)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 635) like Gecko'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:35.0) Gecko/20100101 Firefox/35.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-N910P Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0',
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321 [Pinterest/iOS]'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.1; LGLK430 Build/LRX21Y) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/38.0.2125.102 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321 Safari'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/8.0; 1ButtonTaskbar)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP08; NP08; MAAU; rv:11.0) like Gecko'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:37.0) Gecko/20100101 Firefox/37.0',
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T217S Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE10;ENUSMSE; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0',
-    'Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.76 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 LBBROWSER'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1; XT1254 Build/SU3TL-39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; Win64; x64; Trident/7.0; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12B440 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/44.0.2403.67 Mobile/12F69 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64; XBOX_ONE_ED) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG-SGH-I337 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.3; KFASWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; CrOS armv7l 7077.111.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 Chrome/38.0.2125.102 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0; SM-G900V Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MAGWJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MALNJS; rv:11.0) like Gecko'
-    , 'Opera/9.80 (X11; Linux i686; U; pl) Presto/2.2.15 Version/10.00',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox Series X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 Edge/20.02'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; ATT-IE11; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36'
-    ,
-    'Mozilla/5.0 (PlayStation Vita 3.61) AppleWebKit/537.73 (KHTML, like Gecko) Silk/3.2'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174'
-    ,
-    'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36'
-    , 'Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.6.30 Version/10.61',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0',
-    'Mozilla/5.0 (PlayStation 4 3.11) AppleWebKit/537.73 (KHTML, like Gecko)',
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12D508 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D167 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0; MSN 9.0;MSN 9.1;MSN 9.6;MSN 10.0;MSN 10.2;MSN 10.5;MSN 11;MSN 11.5; MSNbMSNI; MSNmen-us; MSNcOTH) like Gecko'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:36.0) Gecko/20100101 Firefox/36.0',
-    'Opera/6.0 (Windows XP; U) [de]', 'Opera/6.0 (Windows ME; U) [de]',
-    'Opera/6.0 (Windows 2000; U) [fr]', 'Opera/6.0 (Windows 2000; U) [de]',
-    'Opera/6.0 (Macintosh; PPC Mac OS X; U)',
-    'Mozilla/4.76 (Windows NT 4.0; U) Opera 6.0 [de]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.0 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.0 [de]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 4.0) Opera 6.0 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 4.0) Opera 6.0 [de]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 6.0 [de]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.0 [fr]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.0 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.0 [de]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.0 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.0 [de]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 6.0 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 6.0 [de]',
-    'Mozilla/5.0 (PlayStation; PlayStation 5/2.26) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.0.9895 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/7.0; 1ButtonTaskbar)'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 YaBrowser/15.7.2357.2877 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ENUSMSNIP; rv:11.0) like Gecko'
-    , 'AppleTV5,3/9.1.1',
-    'Mozilla/5.0 AppleWebKit/999.0 (KHTML, like Gecko) Chrome/99.0 Safari/999.0'
-    ,
-    'Mozilla/5.0 (X11; OpenBSD amd64; rv:28.0) Gecko/20100101 Firefox/28.0',
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.0.0 Safari/538.1'
-    , 'Opera/9.80 (X11; Linux i686; U; ja) Presto/2.7.62 Version/11.01',
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MAGWJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; GT-N5110 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12B410 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.7) Gecko/20150824 Firefox/31.9 PaleMoon/25.7.0'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Firefox/31.0'
-    ,
-    'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:39.0) Gecko/20100101 Firefox/39.0'
-    , 'AppleTV11,1/11.1',
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 9_0 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A4325c Safari/601.1'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36'
-    ,
-    'Opera/9.80 (X11; Linux x86_64; U; Ubuntu/10.10 (maverick); pl) Presto/2.7.62 Version/11.01'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; MS-RTC LM 8; InfoPath.3)'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; RCT6203W46 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Firefox/31.0'
-    , 'Dalvik/2.1.0 (Linux; U; Android 6.0.1; Nexus Player Build/MMB29T)',
-    'Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    , 'Opera/9.80 (X11; Linux i686; U; fr) Presto/2.7.62 Version/11.01',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; EIE10;ENUSWOL; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1; AFTS Build/LMY47O) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/41.99900.2250.0242 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.2.2; he-il; NEO-X5-116A Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.4; en-us; SAMSUNG SM-N910T Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/2.0 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; RCT6203W46 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.4; en-ca; KFJWI Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/34.0.1847.116 Chrome/34.0.1847.116 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36'
-    , 'Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.7.62 Version/11.01',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 9; AFTWMST22 Build/PS7233; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.152 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.45 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0',
-    'Mozilla/5.0 (Linux; Android 4.4.2; RCT6773W22 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    , 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; de) Opera 11.01',
-    'Opera/9.80 (Windows NT 6.1; U; sv) Presto/2.7.62 Version/11.01',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; ASJB; ASJB; MAAU; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.7) Gecko/20150824 Firefox/31.9 PaleMoon/25.7.0'
-    , 'Roku4640X/DVP-7.70 (297.70E04154A)',
-    'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG-SM-G870A Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.3; KFSOWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2)'
-    , 'Mozilla/5.0 (Windows NT 5.2; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (CrKey armv7l 1.5.16041) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.0.9895 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE10;ENUSMCM; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920P Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:35.0) Gecko/20100101 Firefox/35.0'
-    , 'Dalvik/2.1.0 (Linux; U; Android 9; ADT-2 Build/PTT5.181126.002)',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MALCJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.2; rv:29.0) Gecko/20100101 Firefox/29.0 /29.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; SM-T550 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.3; en-gb; KFOT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; SM-P900 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 9 Build/LMY48I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T530NU Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    , 'Mozilla/5.0 (X11; Linux i686; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; SM-T330NU Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.7.1000 Chrome/30.0.1599.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN) AppleWebKit/530.19.2 (KHTML, like Gecko) Version/4.0.2 Safari/530.19.1'
-    , 'Mozilla/5.0 (Android; Tablet; rv:34.0) Gecko/34.0 Firefox/34.0',
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MALCJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) GSA/8.0.57838 Mobile/11D257 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; yie10; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Ubuntu 14.04) AppleWebKit/537.36 Chromium/35.0.1870.2 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; yie11; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/8.0; TNJB; 1ButtonTaskbar)'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; RCT6773W22 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG-SM-G900A Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.7.1000 Chrome/30.0.1599.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP08; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T210R Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0.2 Waterfox/40.0.2'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-N900P Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.18.US Safari/537.36'
-    ,
-    'Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/47.1.79 like Chrome/47.0.2526.80 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; SM-T350 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; ASU2JS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; SM-T530NU Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0; 1ButtonTaskbar)'
-    ,
-    'Mozilla/5.0 (Linux; Android 7.0; SM-T827R4 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.116 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG-SM-G920A Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 Chrome/38.0.2125.102 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; 360SE)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAAU; MAAU; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 6.0.1; SHIELD Tablet K1 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.2.1'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MANM; MANM; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:37.0) Gecko/20100101 Firefox/37.0'
-    ,
-    'Mozilla/5.0 (Linux; Android 6.0.1; SGP771 Build/32.2.A.0.253; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) BingPreview/1.0b'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0'
-    ,
-    'Mozilla/5.0 (Linux; Android 7.0; Pixel C Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; QTAQZ3 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321 OverDrive Media Console/3.3.1'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257'
-    , 'Opera/6.02 (Windows NT 4.0; U) [de]',
-    'Mozilla/5.0 (Windows 2000; U) Opera 6.02 [en]',
-    'Mozilla/5.0 (Linux; U) Opera 6.02 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 4.0) Opera 6.02 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.02 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.02 [de]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.02 [en]',
-    'Mozilla/4.0 (compatible; MSIE 5.0; Linux 2.4.20-686 i686) Opera 6.02 [en]'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 5.0; Linux 2.4.18-4GB i686) Opera 6.02 [en]'
-    , 'Mozilla/5.0 (Windows NT 5.1) Gecko/20100101 Firefox/14.0 Opera/12.0',
-    'Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) GSA/7.0.55539 Mobile/11D201 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    , 'Opera/12.80 (Windows NT 5.1; U; en) Presto/2.10.289 Version/12.02',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.1; SCH-I545 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    , 'Opera/9.80 (Windows NT 5.1; U; zh-sg) Presto/2.9.181 Version/12.00',
-    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A365 Safari/600.1.4'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:34.0) Gecko/20100101 Firefox/34.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0',
-    'Mozilla/5.0 (Linux; Android 11; Lenovo YT-J706X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; MDDCJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad;U;CPU OS 5_1_1 like Mac OS X; zh-cn)AppleWebKit/534.46.0(KHTML, like Gecko)CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3'
-    ,
-    'Mozilla/5.0 (Linux; Android 12; SM-X906C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.119 Mobile Safari/537.36'
-    , 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0) Opera 12.14',
-    'Mozilla/5.0 (Linux; Android 4.4.3; KFAPWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/11D201 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'
-    , 'Opera/9.80 (Windows NT 6.1; U; en) Presto/2.7.62 Version/11.01',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.14'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/43.0.2357.61 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MAMIJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.1058'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.1; VS985 4G Build/LRX21Y) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:33.0) Gecko/20100101 Firefox/33.0',
-    'Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12H143 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0',
-    'Mozilla/5.0 (Linux; Android 5.0.2; LG-V410/V41020b Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.1847.118 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B435 Safari/600.1.4'
-    ,
-    'Opera/9.80 (Macintosh; Intel Mac OS X 10.14.1) Presto/2.12.388 Version/12.16'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0',
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:36.0) Gecko/20100101 Firefox/36.0'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; InfoPath.3; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; RM-1152) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Mobile Safari/537.36 Edge/15.15254'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36'
-    ,
-    'Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16.2'
-    ,
-    'Mozilla/5.0 (Windows NT 5.2; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0',
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MDDRJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; RM-1127_16056) AppleWebKit/537.36(KHTML, like Gecko) Chrome/42.0.2311.135 Mobile Safari/537.36 Edge/12.10536'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.3; WOW64; Trident/6.0)',
-    'Mozilla/5.0 (Apple-iPhone7C2/1202.466; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543 Safari/419.3'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920T Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows; U; Windows NT 6.2; es-US ) AppleWebKit/540.0 (KHTML like Gecko) Version/6.0 Safari/8900.00'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC LM 8)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.0.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    , 'Opera/9.80 (X11; Linux i686; U; it) Presto/2.7.62 Version/11.00',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.3; KFSAWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 5.1; rv:32.0) Gecko/20100101 Firefox/32.0',
-    'Mozilla/5.0 (iPhone9,4; U; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T230NU Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.2.2; SM-T110 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG SM-N910T Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Win64; x64; Trident/7.0)'
-    , 'Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.6.37 Version/11.00',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:33.0) Gecko/20100101 Firefox/33.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; CrOS armv7l 6946.86.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 SeaMonkey/2.35'
-    ,
-    'Mozilla/5.0 (iPhone9,3; U; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T330NU Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A8426 Safari/8536.25'
-    , 'Opera/9.80 (Windows NT 6.1; U; fi) Presto/2.7.62 Version/11.00',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; LG-V410 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 TheWorld 6'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12B410 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/28.0.1469.0 Safari/537.36'
-    , 'Opera/9.80 (Windows NT 6.1; U; en-GB) Presto/2.7.62 Version/11.00',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A5370a Safari/604.1'
-    , 'Opera/9.80 (Windows NT 6.1 x64; U; en) Presto/2.7.62 Version/11.00',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0 Safari/600.1.25'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; EIE10;ENUSWOL)'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/43.0.2357.61 Mobile/12H143 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/43.0.2357.61 Mobile/12F69 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; SM-T237P Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; ATT; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.2; SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; EIE10;ENUSMSN; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MATBJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.1599.103 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE11;ENUSMSN; rv:11.0) like Gecko'
-    , 'Opera/9.62 (X11; Linux x86_64; U; ru) Presto/2.1.1',
-    'Opera/9.62 (X11; Linux x86_64; U; en_GB, en_US) Presto/2.1.1',
-    'Opera/9.62 (X11; Linux i686; U; pt-BR) Presto/2.1.1',
-    'Opera/9.62 (X11; Linux i686; U; Linux Mint; en) Presto/2.1.1',
-    'Opera/9.62 (X11; Linux i686; U; it) Presto/2.1.1',
-    'Opera/9.62 (X11; Linux i686; U; fi) Presto/2.1.1',
-    'Opera/9.62 (X11; Linux i686; U; en) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 6.1; U; en) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 6.1; U; de) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 6.0; U; pl) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 6.0; U; nb) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 6.0; U; en-GB) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 6.0; U; en) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 6.0; U; de) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 5.2; U; en) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 5.1; U; zh-tw) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 5.1; U; zh-cn) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 5.1; U; tr) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 5.1; U; ru) Presto/2.1.1',
-    'Opera/9.62 (Windows NT 5.1; U; pt-BR) Presto/2.1.1',
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.1000 Chrome/30.0.1599.101 Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:29.0) Gecko/20100101 Firefox/29.0',
-    'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/537.36 (KHTML, like Gecko)  Chrome/30.0.1599.114 Safari/537.36 Puffin/4.5.0IT'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/13.2b11866 Mobile/16A366 Safari/605.1.15'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; yie8; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-gb; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; FunWebProducts; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2505.0 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; MALNJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/69.0.3497.105 Mobile/15E148 Safari/605.1'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ENUSSEM; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0; Touch; WebView/1.0)'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:33.0) Gecko/20100101 Firefox/33.0'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG SPH-L720 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    , 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; yie9; rv:11.0) like Gecko',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWA Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0'
-    ,
-    'Mozilla/5.0 (compatible; Windows NT 6.1; Catchpoint) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/29.0'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1'
-    , 'Mozilla/5.0 (Windows NT 6.0; rv:38.0) Gecko/20100101 Firefox/38.0',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.4; Z970 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10'
-    ,
-    'Mozilla/5.0 (X11; CrOS armv7l 6812.88.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.153 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MAARJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:36.0) Gecko/20100101 Firefox/36.0'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0',
-    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; )',
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MASAJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; MAARJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 BIDUBrowser/7.6 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.71 (KHTML like Gecko) WebVideo/1.0.1.10 Version/7.0 Safari/537.71'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MASMJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPhone12,1; U; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; Trident/7.0; Touch; rv:11.0) like Gecko',
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; 360SE)'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; InfoPath.3; .NET4.0C; .NET4.0E; MS-RTC LM 8)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MAGWJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G925T Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 6457.107.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; 360SE)'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4.17.9 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.2.2; GT-P5113 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0 DejaClick/2.5.0.11'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.3; KFARWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 6.0.1; SM-G920V Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12B466 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Unknown; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/534.34'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP08; MAAU; NP08; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPhone14,3; U; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/19A346 Safari/602.1'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.12 Safari/537.36 OPR/14.0.1116.4'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.2; LG-V410 Build/KOT49I.V41010d) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)'
-    , 'Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0',
-    'Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 6946.70.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0'
-    ,
-    'Mozilla/5.0 (iPod touch; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 IceDragon/38.0.5 Firefox/38.0.5'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; managedpc; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36'
-    , 'Opera/9.63 (X11; Linux x86_64; U; ru) Presto/2.1.1',
-    'Opera/9.63 (X11; Linux x86_64; U; cs) Presto/2.1.1',
-    'Opera/9.63 (X11; Linux i686; U; ru) Presto/2.1.1',
-    'Opera/9.63 (X11; Linux i686; U; ru)',
-    'Opera/9.63 (X11; Linux i686; U; nb) Presto/2.1.1',
-    'Opera/9.63 (X11; Linux i686; U; en)',
-    'Opera/9.63 (X11; Linux i686; U; de) Presto/2.1.1',
-    'Opera/9.63 (X11; Linux i686)',
-    'Opera/9.63 (X11; FreeBSD 7.1-RELEASE i386; U; en) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 6.1; U; hu) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 6.1; U; en) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 6.1; U; de) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 6.0; U; pl) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 6.0; U; nb) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 6.0; U; fr) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 6.0; U; en) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 6.0; U; cs) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 5.2; U; en) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 5.2; U; de) Presto/2.1.1',
-    'Opera/9.63 (Windows NT 5.1; U; pt-BR) Presto/2.1.1',
-    'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; MASMJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.3; en-ca; KFOT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) GSA/6.0.51363 Mobile/11D257 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 LBBROWSER'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:37.0) Gecko/20100101 Firefox/37.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0; Touch; rv:11.0; WPDesktop; Lumia 1520) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0',
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_6 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B651 Safari/9537.53'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:35.0) Gecko/20100101 Firefox/35.0'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; 360SE)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:34.0) Gecko/20100101 Firefox/34.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.87 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; PRU_IE; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321 [FBAN/FBIOS;FBAV/38.0.0.6.79;FBBV/14316658;FBDV/iPad4,1;FBMD/iPad;FBSN/iPhone OS;FBSV/8.4.1;FBSS/2; FBCR/;FBID/tablet;FBLC/en_US;FBOP/1]'
-    ,
-    'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP02; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (X11; CrOS x86_64 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:37.0) Gecko/20100101 Firefox/37.0'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.0.9895 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.4.4; Nexus 7 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Linux; Android 4.2.2; QMV7B Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MASMJS; rv:11.0) like Gecko'
-    , 'Opera/9.64(Windows NT 5.1; U; en) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux x86_64; U; pl) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux x86_64; U; hr) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux x86_64; U; en-GB) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux x86_64; U; en) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux x86_64; U; de) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux x86_64; U; cs) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux i686; U; tr) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux i686; U; sv) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux i686; U; pl) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux i686; U; nb) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux i686; U; Linux Mint; nb) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux i686; U; Linux Mint; it) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux i686; U; en) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux i686; U; de) Presto/2.1.1',
-    'Opera/9.64 (X11; Linux i686; U; da) Presto/2.1.1',
-    'Opera/9.64 (Windows NT 6.1; U; MRA 5.5 (build 02842); ru) Presto/2.1.1',
-    'Opera/9.64 (Windows NT 6.1; U; de) Presto/2.1.1',
-    'Opera/9.64 (Windows NT 6.0; U; zh-cn) Presto/2.1.1',
-    'Opera/9.64 (Windows NT 6.0; U; pl) Presto/2.1.1',
-    'Mozilla/5.0 (compatible; MSIE 10.0; AOL 9.7; AOLBuild 4343.1028; Windows NT 6.1; WOW64; Trident/7.0)'
-    ,
-    'Mozilla/5.0 (Linux; U; Android 4.0.3; en-us) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; Touch; TNJB; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B466'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; Active Content Browser)'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36'
-    ,
-    'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0; WebView/1.0)'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPad; U; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3'
-    ,
-    'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36'
-    , 'Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16',
-    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/50.0.125 Chrome/44.0.2403.125 Safari/537.36'
-    ,
-    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)'
-    ,
-    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36'
-    ,
-    'Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MAARJS; rv:11.0) like Gecko'
-    ,
-    'Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-N900T Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'
-    ,
-    'Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12H143 Safari/600.1.4'
-    , 'Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.2.15 Version/10.00',
-    'Opera/9.80 (X11; Linux x86_64; U; de) Presto/2.2.15 Version/10.00',
-    'Opera/9.80 (X11; Linux i686; U; ru) Presto/2.2.15 Version/10.00',
-    'Opera/9.80 (X11; Linux i686; U; pt-BR) Presto/2.2.15 Version/10.00',
-    'Opera/9.80 (X11; Linux i686; U; nb) Presto/2.2.15 Version/10.00',
-    'Opera/9.80 (X11; Linux i686; U; en-GB) Presto/2.2.15 Version/10.00',
-    'Opera/9.80 (X11; Linux i686; U; en) Presto/2.2.15 Version/10.00',
-    'Opera/9.80 (X11; Linux i686; U; Debian; pl) Presto/2.2.15 Version/10.00',
-    'Opera/9.80 (X11; Linux i686; U; de) Presto/2.2.15 Version/10.00']
-PUBLIC_DNS = ['1.0.0.1', '1.1.1.1', '149.112.112.112', '185.228.168.9',
-    '185.228.169.9', '208.67.220.220', '208.67.222.222', '76.223.122.150',
-    '76.76.19.19', '8.8.4.4', '8.8.8.8', '9.9.9.9', '94.140.14.14',
-    '94.140.15.15']
-CONTENT_ENCODING_DIRECTIVES = ['*', 'gzip', 'compress', 'deflate', 'br',
-    'identity']
-CORS_RESOURCE_POLICIES = ['same-origin', 'same-site', 'cross-origin']
-CORS_OPENER_POLICIES = ['same-origin', 'unsafe-none',
-    'same-origin-allow-popups']
-HTTP_SERVERS = ['cloudflare', 'Apache/2.4.1 (Unix)', 'nginx/1.14.0 (Ubuntu)']
+
+HTTP_METHODS = [
+    "GET",
+    "POST",
+    "PUT",
+    "PATCH",
+    "DELETE",
+    "OPTIONS",
+    "CONNECT",
+    "HEAD",
+]
+
+HTTP_STATUS_CODES = [
+    100,
+    101,
+    102,
+    103,
+    200,
+    201,
+    202,
+    203,
+    204,
+    205,
+    206,
+    207,
+    208,
+    226,
+    300,
+    301,
+    302,
+    303,
+    304,
+    305,
+    306,
+    307,
+    308,
+    400,
+    401,
+    402,
+    403,
+    404,
+    405,
+    406,
+    407,
+    408,
+    409,
+    410,
+    411,
+    412,
+    413,
+    414,
+    415,
+    416,
+    417,
+    421,
+    422,
+    423,
+    424,
+    426,
+    428,
+    429,
+    431,
+    451,
+    500,
+    501,
+    502,
+    503,
+    504,
+    505,
+    506,
+    507,
+    508,
+    510,
+    511,
+]
+
+HTTP_STATUS_MSGS = [
+    "100 Continue",
+    "101 Switching Protocols",
+    "102 Processing",
+    "103 Early Hints",
+    "200 OK",
+    "201 Created",
+    "202 Accepted",
+    "203 Non Authoritative Information",
+    "204 No Content",
+    "205 Reset Content",
+    "206 Partial Content",
+    "207 Multi Status",
+    "208 Already Reported",
+    "226 IM Used",
+    "300 Multiple Choices",
+    "301 Moved Permanently",
+    "302 Found",
+    "303 See Other",
+    "304 Not Modified",
+    "305 Use Proxy",
+    "306 Reserved",
+    "307 Temporary Redirect",
+    "308 Permanent Redirect",
+    "400 Bad Request",
+    "401 Unauthorized",
+    "402 Payment Required",
+    "403 Forbidden",
+    "404 Not Found",
+    "405 Method Not Allowed",
+    "406 Not Acceptable",
+    "407 Proxy Authentication Required",
+    "408 Request Timeout",
+    "409 Conflict",
+    "410 Gone",
+    "411 Length Required",
+    "412 Precondition Failed",
+    "413 Request Entity Too Large",
+    "414 Request URI Too Long",
+    "415 Unsupported Media Type",
+    "416 Requested Range Not Satisfiable",
+    "417 Expectation Failed",
+    "421 Misdirected Request",
+    "422 Unprocessable Entity",
+    "423 Locked",
+    "424 Failed Dependency",
+    "426 Upgrade Required",
+    "428 Precondition Required",
+    "429 Too Many Requests",
+    "431 Request Header Fields Too Large",
+    "451 Unavailable For Legal Reasons",
+    "500 Internal Server Error",
+    "501 Not Implemented",
+    "502 Bad Gateway",
+    "503 Service Unavailable",
+    "504 Gateway Timeout",
+    "505 HTTP Version Not Supported",
+    "506 Variant Also Negotiates",
+    "507 Insufficient Storage",
+    "508 Loop Detected",
+    "510 Not Extended",
+    "511 Network Authentication Required",
+]
+
+TLD = {
+    "cctld": [
+        ".ac",
+        ".ad",
+        ".ae",
+        ".af",
+        ".ag",
+        ".ai",
+        ".al",
+        ".am",
+        ".an",
+        ".ao",
+        ".aq",
+        ".ar",
+        ".as",
+        ".at",
+        ".au",
+        ".aw",
+        ".ax",
+        ".az",
+        ".ba",
+        ".bb",
+        ".bd",
+        ".be",
+        ".bf",
+        ".bg",
+        ".bh",
+        ".bi",
+        ".bj",
+        ".bm",
+        ".bn",
+        ".bo",
+        ".bq",
+        ".br",
+        ".bs",
+        ".bt",
+        ".bv",
+        ".bw",
+        ".by",
+        ".bz",
+        ".bzh",
+        ".ca",
+        ".cc",
+        ".cd",
+        ".cf",
+        ".cg",
+        ".ch",
+        ".ci",
+        ".ck",
+        ".cl",
+        ".cm",
+        ".cn",
+        ".co",
+        ".cr",
+        ".cu",
+        ".cv",
+        ".cw",
+        ".cx",
+        ".cy",
+        ".cz",
+        ".dd",
+        ".de",
+        ".dj",
+        ".dk",
+        ".dm",
+        ".do",
+        ".dz",
+        ".ec",
+        ".ee",
+        ".eg",
+        ".eh",
+        ".er",
+        ".es",
+        ".et",
+        ".eu",
+        ".fi",
+        ".fj",
+        ".fk",
+        ".fm",
+        ".fo",
+        ".fr",
+        ".ga",
+        ".gb",
+        ".gd",
+        ".ge",
+        ".gf",
+        ".gg",
+        ".gh",
+        ".gi",
+        ".gl",
+        ".gm",
+        ".gn",
+        ".gp",
+        ".gq",
+        ".gr",
+        ".gsla",
+        ".gt",
+        ".gu",
+        ".gw",
+        ".gy",
+        ".hk",
+        ".hm",
+        ".hn",
+        ".hr",
+        ".ht",
+        ".hu",
+        ".id",
+        ".ie",
+        ".il",
+        ".im",
+        ".in",
+        ".io",
+        ".iq",
+        ".ir",
+        ".is",
+        ".it",
+        ".je",
+        ".jm",
+        ".jo",
+        ".jp",
+        ".ke",
+        ".kg",
+        ".kh",
+        ".ki",
+        ".km",
+        ".kn",
+        ".kp",
+        ".kr",
+        ".krd",
+        ".kw",
+        ".ky",
+        ".kz",
+        ".la",
+        ".lb",
+        ".lc",
+        ".li",
+        ".lk",
+        ".lr",
+        ".ls",
+        ".lt",
+        ".lu",
+        ".lv",
+        ".ly",
+        ".ma",
+        ".mc",
+        ".md",
+        ".me",
+        ".mg",
+        ".mh",
+        ".mk",
+        ".ml",
+        ".mm",
+        ".mn",
+        ".mo",
+        ".mp",
+        ".mq",
+        ".mr",
+        ".ms",
+        ".mt",
+        ".mu",
+        ".mv",
+        ".mw",
+        ".mx",
+        ".my",
+        ".mz",
+        ".na",
+        ".nc",
+        ".ne",
+        ".nf",
+        ".ng",
+        ".ni",
+        ".nl",
+        ".no",
+        ".np",
+        ".nr",
+        ".nu",
+        ".nz",
+        ".om",
+        ".pa",
+        ".pe",
+        ".pf",
+        ".pg",
+        ".ph",
+        ".pk",
+        ".pl",
+        ".pm",
+        ".pn",
+        ".pr",
+        ".ps",
+        ".pt",
+        ".pw",
+        ".py",
+        ".qa",
+        ".re",
+        ".ro",
+        ".rs",
+        ".ru",
+        ".rw",
+        ".sa",
+        ".sb",
+        ".sc",
+        ".sd",
+        ".se",
+        ".sg",
+        ".sh",
+        ".si",
+        ".sk",
+        ".sl",
+        ".sm",
+        ".sn",
+        ".so",
+        ".sr",
+        ".ss",
+        ".st",
+        ".su",
+        ".sv",
+        ".sx",
+        ".sy",
+        ".sz",
+        ".tc",
+        ".td",
+        ".tf",
+        ".tg",
+        ".th",
+        ".tj",
+        ".tk",
+        ".tl",
+        ".tm",
+        ".tn",
+        ".to",
+        ".tp",
+        ".tr",
+        ".tt",
+        ".tv",
+        ".tw",
+        ".tz",
+        ".ua",
+        ".ug",
+        ".uk",
+        ".us",
+        ".uy",
+        ".uz",
+        ".va",
+        ".vc",
+        ".ve",
+        ".vg",
+        ".vi",
+        ".vn",
+        ".vu",
+        ".wf",
+        ".ws",
+        ".ye",
+        ".yt",
+        ".yu",
+        ".za",
+        ".zm",
+        ".zr",
+        ".zw",
+    ],
+    "gtld": [
+        ".academy",
+        ".accountant",
+        ".accountants",
+        ".actor",
+        ".ads",
+        ".adult",
+        ".agency",
+        ".airforce",
+        ".alsace",
+        ".amsterdam",
+        ".analytics",
+        ".and",
+        ".antivirus",
+        ".apartments",
+        ".app",
+        ".aquitaine",
+        ".archi",
+        ".architect",
+        ".are",
+        ".army",
+        ".art",
+        ".associates",
+        ".attorney",
+        ".auction",
+        ".audio",
+        ".auto",
+        ".autoinsurance",
+        ".autos",
+        ".baby",
+        ".band",
+        ".bank",
+        ".bar",
+        ".barcelona",
+        ".bargains",
+        ".baseball",
+        ".basketball",
+        ".bayern",
+        ".beauty",
+        ".beer",
+        ".berlin",
+        ".bet",
+        ".bible",
+        ".bid",
+        ".bike",
+        ".bingo",
+        ".bio",
+        ".black",
+        ".blackfriday",
+        ".blog",
+        ".blue",
+        ".boats",
+        ".boo",
+        ".book",
+        ".boston",
+        ".boutique",
+        ".broadway",
+        ".broker",
+        ".brussels",
+        ".budapest",
+        ".build",
+        ".builders",
+        ".business",
+        ".buy",
+        ".buzz",
+        ".cab",
+        ".cafe",
+        ".cal",
+        ".cam",
+        ".camera",
+        ".camp",
+        ".capital",
+        ".car",
+        ".cards",
+        ".care",
+        ".career",
+        ".careers",
+        ".carinsurance",
+        ".cars",
+        ".case",
+        ".cash",
+        ".casino",
+        ".catalonia",
+        ".catering",
+        ".catholic",
+        ".center",
+        ".charity",
+        ".chat",
+        ".cheap",
+        ".christmas",
+        ".church",
+        ".city",
+        ".claims",
+        ".cleaning",
+        ".click",
+        ".clinic",
+        ".clothing",
+        ".cloud",
+        ".club",
+        ".coach",
+        ".codes",
+        ".coffee",
+        ".college",
+        ".cologne",
+        ".community",
+        ".company",
+        ".compare",
+        ".computer",
+        ".condos",
+        ".construction",
+        ".consulting",
+        ".contact",
+        ".contractors",
+        ".cooking",
+        ".cool",
+        ".corp",
+        ".country",
+        ".coupon",
+        ".coupons",
+        ".courses",
+        ".cpa",
+        ".credit",
+        ".creditcard",
+        ".creditunion",
+        ".cricket",
+        ".cruise",
+        ".cruises",
+        ".cymru",
+        ".dad",
+        ".dance",
+        ".data",
+        ".date",
+        ".dating",
+        ".day",
+        ".dds",
+        ".deal",
+        ".dealer",
+        ".deals",
+        ".degree",
+        ".delivery",
+        ".democrat",
+        ".dental",
+        ".dentist",
+        ".design",
+        ".dev",
+        ".diamonds",
+        ".diet",
+        ".digital",
+        ".direct",
+        ".directory",
+        ".discount",
+        ".diy",
+        ".docs",
+        ".doctor",
+        ".dog",
+        ".domains",
+        ".dot",
+        ".download",
+        ".drive",
+        ".duck",
+        ".earth",
+        ".eat",
+        ".eco",
+        ".ecom",
+        ".education",
+        ".email",
+        ".energy",
+        ".engineer",
+        ".engineering",
+        ".enterprises",
+        ".equipment",
+        ".esq",
+        ".estate",
+        ".events",
+        ".exchange",
+        ".expert",
+        ".exposed",
+        ".express",
+        ".fail",
+        ".faith",
+        ".family",
+        ".fan",
+        ".fans",
+        ".farm",
+        ".fashion",
+        ".feedback",
+        ".film",
+        ".finance",
+        ".financial",
+        ".financialaid",
+        ".fish",
+        ".fishing",
+        ".fit",
+        ".fitness",
+        ".flights",
+        ".florist",
+        ".flowers",
+        ".fly",
+        ".foo",
+        ".food",
+        ".football",
+        ".forex",
+        ".forsale",
+        ".forum",
+        ".foundation",
+        ".free",
+        ".frl",
+        ".frontdoor",
+        ".fun",
+        ".fund",
+        ".furniture",
+        ".futbol",
+        ".fyi",
+        ".gallery",
+        ".game",
+        ".games",
+        ".garden",
+        ".gay",
+        ".gent",
+        ".gift",
+        ".gifts",
+        ".gives",
+        ".giving",
+        ".glass",
+        ".glean",
+        ".global",
+        ".gmbh",
+        ".gold",
+        ".golf",
+        ".gop",
+        ".graphics",
+        ".green",
+        ".gripe",
+        ".grocery",
+        ".group",
+        ".guide",
+        ".guitars",
+        ".guru",
+        ".hair",
+        ".halal",
+        ".hamburg",
+        ".hangout",
+        ".health",
+        ".healthcare",
+        ".heart",
+        ".help",
+        ".helsinki",
+        ".here",
+        ".hiphop",
+        ".hiv",
+        ".hockey",
+        ".holdings",
+        ".holiday",
+        ".home",
+        ".homes",
+        ".horse",
+        ".hospital",
+        ".host",
+        ".hosting",
+        ".hot",
+        ".hoteis",
+        ".hotel",
+        ".hoteles",
+        ".hotels",
+        ".house",
+        ".how",
+        ".immo",
+        ".inc",
+        ".industries",
+        ".ing",
+        ".ink",
+        ".institute",
+        ".insurance",
+        ".insure",
+        ".international",
+        ".investments",
+        ".islam",
+        ".jewelry",
+        ".juegos",
+        ".kid",
+        ".kids",
+        ".kitchen",
+        ".koeln",
+        ".kosher",
+        ".land",
+        ".law",
+        ".lawyer",
+        ".lds",
+        ".lease",
+        ".legal",
+        ".lgbt",
+        ".life",
+        ".lifeinsurance",
+        ".lifestyle",
+        ".lighting",
+        ".limited",
+        ".limo",
+        ".link",
+        ".live",
+        ".living",
+        ".llc",
+        ".llp",
+        ".loan",
+        ".loans",
+        ".loft",
+        ".lol",
+        ".london",
+        ".lotto",
+        ".love",
+        ".ltd",
+        ".luxe",
+        ".luxury",
+        ".madrid",
+        ".mail",
+        ".makeup",
+        ".man",
+        ".management",
+        ".map",
+        ".market",
+        ".marketing",
+        ".markets",
+        ".mba",
+        ".med",
+        ".media",
+        ".medical",
+        ".meet",
+        ".meme",
+        ".memorial",
+        ".men",
+        ".menu",
+        ".miami",
+        ".mls",
+        ".mobile",
+        ".mobily",
+        ".mom",
+        ".money",
+        ".mormon",
+        ".mortgage",
+        ".moscow",
+        ".motorcycles",
+        ".mov",
+        ".movie",
+        ".music",
+        ".mutualfunds",
+        ".navy",
+        ".network",
+        ".new",
+        ".news",
+        ".ngo",
+        ".ninja",
+        ".now",
+        ".nrw",
+        ".nyc",
+        ".one",
+        ".ong",
+        ".online",
+        ".organic",
+        ".page",
+        ".paris",
+        ".partners",
+        ".parts",
+        ".party",
+        ".patch",
+        ".pay",
+        ".pet",
+        ".pets",
+        ".pharmacy",
+        ".phd",
+        ".phone",
+        ".photo",
+        ".photography",
+        ".photos",
+        ".physio",
+        ".pics",
+        ".pictures",
+        ".pid",
+        ".ping",
+        ".pink",
+        ".pizza",
+        ".place",
+        ".play",
+        ".plumbing",
+        ".plus",
+        ".poker",
+        ".porn",
+        ".press",
+        ".prod",
+        ".productions",
+        ".prof",
+        ".promo",
+        ".properties",
+        ".property",
+        ".protection",
+        ".pub",
+        ".qpon",
+        ".quebec",
+        ".racing",
+        ".radio",
+        ".realestate",
+        ".realtor",
+        ".realty",
+        ".recipes",
+        ".red",
+        ".rehab",
+        ".rent",
+        ".rentals",
+        ".repair",
+        ".report",
+        ".republican",
+        ".restaurant",
+        ".retirement",
+        ".review",
+        ".reviews",
+        ".rip",
+        ".rocks",
+        ".rodeo",
+        ".roma",
+        ".room",
+        ".rsvp",
+        ".rugby",
+        ".run",
+        ".saarland",
+        ".safety",
+        ".sale",
+        ".salon",
+        ".save",
+        ".scholarships",
+        ".school",
+        ".science",
+        ".scot",
+        ".search",
+        ".secure",
+        ".security",
+        ".seek",
+        ".services",
+        ".sex",
+        ".sexy",
+        ".shiksha",
+        ".shoes",
+        ".shop",
+        ".shopping",
+        ".show",
+        ".silk",
+        ".singles",
+        ".site",
+        ".ski",
+        ".skin",
+        ".smile",
+        ".soccer",
+        ".social",
+        ".software",
+        ".solar",
+        ".solutions",
+        ".spa",
+        ".space",
+        ".sport",
+        ".sports",
+        ".spot",
+        ".spreadbetting",
+        ".star",
+        ".stockholm",
+        ".storage",
+        ".store",
+        ".stroke",
+        ".studio",
+        ".study",
+        ".style",
+        ".sucks",
+        ".supplies",
+        ".supply",
+        ".support",
+        ".surf",
+        ".surgery",
+        ".systems",
+        ".talk",
+        ".tattoo",
+        ".tax",
+        ".taxi",
+        ".team",
+        ".tech",
+        ".technology",
+        ".tennis",
+        ".theater",
+        ".theatre",
+        ".tickets",
+        ".tips",
+        ".tires",
+        ".tirol",
+        ".today",
+        ".tools",
+        ".top",
+        ".tour",
+        ".tours",
+        ".town",
+        ".toys",
+        ".trade",
+        ".trading",
+        ".training",
+        ".tube",
+        ".university",
+        ".vacations",
+        ".vegas",
+        ".ventures",
+        ".vet",
+        ".video",
+        ".villas",
+        ".vin",
+        ".vip",
+        ".vision",
+        ".vlaanderen",
+        ".vodka",
+        ".vote",
+        ".voting",
+        ".voyage",
+        ".wales",
+        ".watch",
+        ".watches",
+        ".weather",
+        ".web",
+        ".webcam",
+        ".webs",
+        ".website",
+        ".wed",
+        ".wedding",
+        ".wien",
+        ".wiki",
+        ".win",
+        ".wine",
+        ".winners",
+        ".work",
+        ".works",
+        ".world",
+        ".wow",
+        ".wtf",
+        ".xyz",
+        ".yachts",
+        ".yoga",
+        ".you",
+        ".zip",
+        ".zone",
+        ".zuerich",
+        ".zulu",
+    ],
+    "geotld": [
+        ".abudhabi",
+        ".africa",
+        ".africa",
+        ".alsace",
+        ".amsterdam",
+        ".aquitaine",
+        ".bar",
+        ".bar",
+        ".barcelona",
+        ".bayern",
+        ".berlin",
+        ".boston",
+        ".brussels",
+        ".budapest",
+        ".capetown",
+        ".catalonia",
+        ".cologne",
+        ".doha",
+        ".dubai",
+        ".durban",
+        ".frl",
+        ".gent",
+        ".hamburg",
+        ".helsinki",
+        ".ist",
+        ".istanbul",
+        ".joburg",
+        ".koeln",
+        ".kyoto",
+        ".london",
+        ".madrid",
+        ".melbourne",
+        ".miami",
+        ".moscow",
+        ".nagoya",
+        ".nrw",
+        ".nyc",
+        ".okinawa",
+        ".osaka",
+        ".osaka",
+        ".paris",
+        ".quebec",
+        ".rio",
+        ".saarland",
+        ".scot",
+        ".stockholm",
+        ".sydney",
+        ".taipei",
+        ".tata",
+        ".tirol",
+        ".tokyo",
+        ".tui",
+        ".vlaanderen",
+        ".wales",
+        ".wien",
+        ".yokohama",
+        ".zuerich",
+        ".zulu",
+    ],
+    "utld": [
+        ".com",
+        ".org",
+        ".net",
+        ".biz",
+        ".info",
+        ".name",
+    ],
+    "stld": [
+        ".aero",
+        ".asia",
+        ".cat",
+        ".coop",
+        ".edu",
+        ".gov",
+        ".int",
+        ".jobs",
+        ".mil",
+        ".mobi",
+        ".museum.post",
+        ".tel",
+        ".travel",
+        ".xxx",
+    ],
+}
+
+EMAIL_DOMAINS: list[str] = [
+    "@duck.com",
+    "@gmail.com",
+    "@yandex.com",
+    "@yahoo.com",
+    "@live.com",
+    "@outlook.com",
+    "@protonmail.com",
+    "@example.com",
+    "@example.org",
+]
+
+USER_AGENTS = [  # noqa
+    "Mozilla/5.0 (Linux; Android 12; SM-S906N Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.119 Mobile Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.94 Chrome/37.0.2062.94 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 10; SM-G996U Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 10; SM-G980F Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.96 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Version/8.0.8 Safari/600.8.9",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (iPhone14,6; U; CPU iPhone OS 15_4 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/19E241 Safari/602.1",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Linux; Android 9; SM-G973U Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/8.0.7 Safari/600.7.12",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.8.9 (KHTML, like Gecko) Version/7.1.8 Safari/537.85.17",
+    "Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4",
+    "Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F69 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Linux; Android 7.0; SM-G930VC Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)",
+    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 5.1; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Linux; Android 6.0.1; SM-G935S Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.1.1; SM-G928X Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/8.0.6 Safari/600.6.3",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.5.17 (KHTML, like Gecko) Version/8.0.5 Safari/600.5.17",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53",
+    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)",
+    "Mozilla/5.0 (Linux; Android 12; Pixel 6 Build/SD1A.210817.023; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/94.0.4606.71 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 11; Pixel 5 Build/RQ3A.210805.001.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/92.0.4515.159 Mobile Safari/537.36",
+    "Mozilla/5.0 (X11; CrOS x86_64 7077.134.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.156 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.7.12 (KHTML, like Gecko) Version/7.1.7 Safari/537.85.16",
+    "Mozilla/5.0 (Windows NT 6.0; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Linux; Android 10; Google Pixel 4 Build/QD1A.190821.014.C2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B466 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 6P Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4",
+    "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Linux; Android 9; J8110 Build/55.0.A.0.552; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/71.0.3578.99 Mobile Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/7.1.6 Safari/537.85.15",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.4.10 (KHTML, like Gecko) Version/8.0.4 Safari/600.4.10",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B410 Safari/600.1.4",
+    "Mozilla/5.0 (iPad; CPU OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 7.1.1; G8231 Build/41.2.A.0.219; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; TNJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; ARM; Trident/7.0; Touch; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MDDCJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 6.0.1; E6653 Build/32.2.A.0.253) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.0; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 10; HTC Desire 21 pro 5G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Linux; Android 6.0; HTC One X10 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H143 Safari/600.1.4",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFASWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.3",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12F70 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; KFJWI Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 7_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D167 Safari/9537.53",
+    "Mozilla/5.0 (X11; CrOS armv7l 7077.134.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.156 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.1.25 (KHTML, like Gecko) Version/8.0 Safari/600.1.25",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSOWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3",
+    "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B435 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10240",
+    "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; LCJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MDDRJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFAPWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; Touch; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; LCJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us; KFOT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFARWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; ASU2JS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPad; CPU OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4",
+    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.77.4 (KHTML, like Gecko) Version/7.0.5 Safari/537.77.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Opera/4.02 (Windows 98; U) [en]",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; yie11; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Windows NT 10.0; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MAGWJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.5.17 (KHTML, like Gecko) Version/7.1.5 Safari/537.85.14",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; TNJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP06; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.4.8 (KHTML, like Gecko) Version/8.0.3 Safari/600.4.8",
+    "Mozilla/5.0 (iPad; CPU OS 7_0_6 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B651 Safari/9537.53",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/7.1.3 Safari/537.85.12",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0.1453 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A365 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12H143 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321",
+    "Mozilla/5.0 (iPad; CPU OS 7_0_3 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B511 Safari/9537.53",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.1.17 (KHTML, like Gecko) Version/7.1 Safari/537.85.10",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/7.1.2 Safari/537.85.11",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; ASU2JS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
+    "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MDDCJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.5 Safari/534.34",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 BingPreview/1.0b",
+    "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12H143 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (X11; CrOS x86_64 7262.52.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.86 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MDDCJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/600.4.10 (KHTML, like Gecko) Version/7.1.4 Safari/537.85.13",
+    "Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.0.0 Safari/538.1",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MALNJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12F69 Safari/600.1.4",
+    "Mozilla/5.0 (Android; Tablet; rv:40.0) Gecko/40.0 Firefox/40.0",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.13.US Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAAU; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/7.0.2 Safari/537.74.9",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MAARJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 10.0; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12F69 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.78.2 (KHTML, like Gecko) Version/7.0.6 Safari/537.78.2",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MASMJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; FunWebProducts; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MAARJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ENUS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T230NU Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE10;ENUSWOL; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 5.1; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; KFJWA Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174",
+    "Mozilla/5.0 (Linux; Android 4.0.4; BNTV600 Build/IMM76L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.111 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B440 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; yie9; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SM-T530NU Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 9_0 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A4325c Safari/601.1",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B466 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/7.0)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0",
+    "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12D508 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/44.0.2403.67 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0E; .NET4.0C)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36",
+    "Mozilla/5.0 (PlayStation 4 2.57) AppleWebKit/537.73 (KHTML, like Gecko)",
+    "Opera/5.0 (Ubuntu; U; Windows NT 6.1; es; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13",
+    "Opera/5.0 (SunOS 5.8 sun4u; U) [en]",
+    "Mozilla/5.0 (SunOS 5.8 sun4u; U) Opera 5.0 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; SunOS 5.8 sun4u) Opera 5.0 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 5.0 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Linux) Opera 5.0 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Linux 2.4.4-4GB i686) Opera 5.0 [en]",
+    "Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0",
+    "Mozilla/5.0 (Linux; Android 5.0; SM-G900V Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 7 Build/LMY48I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; LCJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0; Touch)",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MASMJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; TNJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; ASJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG SCH-I545 4G Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE10;ENUSMSN; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MATBJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:30.0) Gecko/20100101 Firefox/30.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MASAJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; rv:41.0) Gecko/20100101 Firefox/41.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MALC; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/33.0.0.0 Safari/534.24",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MDDCJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; yie10; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 5.0; SAMSUNG-SM-G900A Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Linux; U; Android 4.0.3; en-gb; KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/8.0)",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; TNJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (X11; CrOS x86_64 7077.111.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.0.4; BNTV400 Build/IMM76L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.111 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 LBBROWSER",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.18.US Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; GWX:QUALIFIED)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MDDCJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.13.US Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4043.US Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20100101 Firefox/23.0",
+    "Mozilla/5.0 (Windows NT 5.1; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/44.0.2403.89 Chrome/44.0.2403.89 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MANM; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12H143 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; MDDRJS)",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36",
+    "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MATBJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.13.US Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (X11; Linux x86_64; U; en-us) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (X11; CrOS x86_64 6946.86.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; TNJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; MDDRJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12F69 Safari/600.1.4",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D201 Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; GIL 3.5; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:41.0) Gecko/20100101 Firefox/41.0",
+    "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LG-V410/V41010d Build/KOT49I.V41010d) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.1599.103 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/537.75.14",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B411 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) Qt/4.8.1 Safari/534.34",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; USPortal; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H143",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0.2 Waterfox/40.0.2",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; SMJB; rv:11.0) like Gecko",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CMDTDF; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (iPad; CPU OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B146 Safari/8536.25",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; TNJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/5.0 (X11; FC Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0",
+    "Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+",
+    "Mozilla/5.0 (X11; CrOS armv7l 7262.52.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.86 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MASAJS; rv:11.0) like Gecko",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MS-RTC LM 8; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; yie11; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10532",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ENUSMSE; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20100101 Firefox/29.0",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T320 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/44.0.2403.67 Mobile/12H143 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; 360SE)",
+    "Mozilla/5.0 (Linux; Android 5.0.2; LG-V410/V41020c Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.1847.118 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) GSA/7.0.55539 Mobile/11D257 Safari/9537.53",
+    "Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12F69",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFTHWA Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Android; Mobile; rv:40.0) Gecko/40.0 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4043.US Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-P600 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; rv:35.0) Gecko/20100101 Firefox/35.0",
+    "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; 360SE)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; LCJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (X11; CrOS x86_64 6812.88.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.153 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; ASU2JS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10) AppleWebKit/537.16 (KHTML, like Gecko) Version/8.0 Safari/537.16",
+    "Mozilla/5.0 (Windows NT 6.1; rv:34.0) Gecko/20100101 Firefox/34.0",
+    "Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-N900V 4G Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; CMDTDF; .NET4.0C; .NET4.0E; GWX:QUALIFIED)",
+    "Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/11D257 Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.1000 Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.2; GT-P5210 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MDDSJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 4.4.2; QTAQZ3 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.2; QMV7B Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MATBJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/6.0.51363 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B436 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36",
+    "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/530.19.2 (KHTML, like Gecko) Version/4.0.2 Safari/530.19.1",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321",
+    "Mozilla/5.0 (Linux; U; Android 4.0.3; en-ca; KFTT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1; rv:30.0) Gecko/20100101 Firefox/30.0",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0.2 Waterfox/40.0.2",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; LCJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NISSC; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9) AppleWebKit/537.71 (KHTML, like Gecko) Version/7.0 Safari/537.71",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; MALC; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.0.9895 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MSBrowserIE; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG SM-N910V 4G Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.2; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T530NU Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; LCJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7412.EU",
+    "Mozilla/5.0 (Windows NT 6.0; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SM-T700 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG-SM-N910A Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; ASU2JS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/20100101 Firefox/28.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)",
+    "Mozilla/5.0 (X11; CrOS x86_64 7077.95.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.90 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.1000 Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 LBBROWSER",
+    "Mozilla/5.0 (Windows NT 6.1; rv:36.0) Gecko/20100101 Firefox/36.0",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/7.0)",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12B466 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; Win64; x64; Trident/6.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727)",
+    "Mozilla/5.0 (Linux; Android 5.0.2; VK810 4G Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.76.4 (KHTML, like Gecko) Version/7.0.4 Safari/537.76.4",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; SMJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MDDCJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; BOIE9;ENUS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/6.0.51363 Mobile/12H143 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.12 NintendoBrowser/4.3.1.11264.US",
+    "Mozilla/5.0 (Windows NT 5.1; rv:41.0) Gecko/20100101 Firefox/41.0",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11) AppleWebKit/601.1.50 (KHTML, like Gecko) Version/9.0 Safari/601.1.50",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; GWX:RESERVED)",
+    "Mozilla/5.0 (iPad; CPU OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B141 Safari/8536.25",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/601.1.56 (KHTML, like Gecko) Version/9.0 Safari/601.1.56",
+    "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 7 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12B440 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) MsnBot-Media /1.0b",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.3; WOW64; Trident/7.0)",
+    "Mozilla/5.0 (Linux; Android 5.1.1; SM-G920V Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; ASU2JS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36",
+    "Mozilla/5.0 (X11; CrOS x86_64 6680.78.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.102 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T520 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MAARJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T900 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12D508 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:36.0) Gecko/20100101 Firefox/36.0",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.1.2; GT-N8013 Build/JZO54K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFAPWA Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALCJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0",
+    "Mozilla/5.0 (Linux; Android 5.0.1; SM-N910V Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B436 Safari/600.1.4",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12B466 Safari/600.1.4",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_0_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A405 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T310 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.45 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 10 Build/LMY48I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; TNJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36",
+    "Mozilla/5.0 (X11; CrOS x86_64 7077.123.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; 360SE)",
+    "Mozilla/5.0 (Linux; Android 4.4.2; QMV7A Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0; SAMSUNG-SM-N900A Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.4; XT1080 Build/SU6-7.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAARJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
+    "Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/6.0.51363 Mobile/12F69 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MALNJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; ASJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/7.0; TNJB; 1ButtonTaskbar)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36",
+    "Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 635) like Gecko",
+    "Mozilla/5.0 (iPad; CPU OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:35.0) Gecko/20100101 Firefox/35.0",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-N910P Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; rv:33.0) Gecko/20100101 Firefox/33.0",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321 [Pinterest/iOS]",
+    "Mozilla/5.0 (Linux; Android 5.0.1; LGLK430 Build/LRX21Y) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/38.0.2125.102 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321 Safari",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/8.0; 1ButtonTaskbar)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP08; NP08; MAAU; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 5.1; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T217S Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE10;ENUSMSE; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0",
+    "Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36",
+    "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.76 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 LBBROWSER",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.1; XT1254 Build/SU3TL-39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.2; Win64; x64; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12B440 Safari/600.1.4",
+    "Mozilla/5.0 (MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/44.0.2403.67 Mobile/12F69 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64; XBOX_ONE_ED) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393",
+    "Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG-SGH-I337 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.3; KFASWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36",
+    "Mozilla/5.0 (X11; CrOS armv7l 7077.111.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 Chrome/38.0.2125.102 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0; SM-G900V Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MAGWJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MALNJS; rv:11.0) like Gecko",
+    "Opera/9.80 (X11; Linux i686; U; pl) Presto/2.2.15 Version/10.00",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Xbox; Xbox Series X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.82 Safari/537.36 Edge/20.02",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; ATT-IE11; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36",
+    "Mozilla/5.0 (PlayStation Vita 3.61) AppleWebKit/537.73 (KHTML, like Gecko) Silk/3.2",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174",
+    "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.13 Safari/537.36",
+    "Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.6.30 Version/10.61",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.114 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0",
+    "Mozilla/5.0 (PlayStation 4 3.11) AppleWebKit/537.73 (KHTML, like Gecko)",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12D508 Safari/600.1.4",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 7_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D167 Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0; MSN 9.0;MSN 9.1;MSN 9.6;MSN 10.0;MSN 10.2;MSN 10.5;MSN 11;MSN 11.5; MSNbMSNI; MSNmen-us; MSNcOTH) like Gecko",
+    "Mozilla/5.0 (Windows NT 5.1; rv:36.0) Gecko/20100101 Firefox/36.0",
+    "Opera/6.0 (Windows XP; U) [de]",
+    "Opera/6.0 (Windows ME; U) [de]",
+    "Opera/6.0 (Windows 2000; U) [fr]",
+    "Opera/6.0 (Windows 2000; U) [de]",
+    "Opera/6.0 (Macintosh; PPC Mac OS X; U)",
+    "Mozilla/4.76 (Windows NT 4.0; U) Opera 6.0 [de]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.0 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.0 [de]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 4.0) Opera 6.0 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 4.0) Opera 6.0 [de]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows ME) Opera 6.0 [de]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.0 [fr]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.0 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.0 [de]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.0 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.0 [de]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 6.0 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Mac_PowerPC) Opera 6.0 [de]",
+    "Mozilla/5.0 (PlayStation; PlayStation 5/2.26) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Safari/605.1.15",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.0.9895 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/7.0; 1ButtonTaskbar)",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.102 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 YaBrowser/15.7.2357.2877 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ENUSMSNIP; rv:11.0) like Gecko",
+    "AppleTV5,3/9.1.1",
+    "Mozilla/5.0 AppleWebKit/999.0 (KHTML, like Gecko) Chrome/99.0 Safari/999.0",
+    "Mozilla/5.0 (X11; OpenBSD amd64; rv:28.0) Gecko/20100101 Firefox/28.0",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/538.1 (KHTML, like Gecko) PhantomJS/2.0.0 Safari/538.1",
+    "Opera/9.80 (X11; Linux i686; U; ja) Presto/2.7.62 Version/11.01",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MAGWJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 4.4.2; GT-N5110 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12B410 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.7) Gecko/20150824 Firefox/31.9 PaleMoon/25.7.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Firefox/31.0",
+    "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "AppleTV11,1/11.1",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 9_0 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13A4325c Safari/601.1",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36",
+    "Opera/9.80 (X11; Linux x86_64; U; Ubuntu/10.10 (maverick); pl) Presto/2.7.62 Version/11.01",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; MS-RTC LM 8; InfoPath.3)",
+    "Mozilla/5.0 (Linux; Android 4.4.2; RCT6203W46 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:31.0) Gecko/20100101 Firefox/31.0",
+    "Dalvik/2.1.0 (Linux; U; Android 6.0.1; Nexus Player Build/MMB29T)",
+    "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Opera/9.80 (X11; Linux i686; U; fr) Presto/2.7.62 Version/11.01",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0)",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; EIE10;ENUSWOL; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 5.1; AFTS Build/LMY47O) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/41.99900.2250.0242 Safari/537.36",
+    "Mozilla/5.0 (Linux; U; Android 4.2.2; he-il; NEO-X5-116A Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
+    "Mozilla/5.0 (Linux; Android 4.4.4; en-us; SAMSUNG SM-N910T Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/2.0 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.2; RCT6203W46 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Linux; U; Android 4.0.4; en-ca; KFJWI Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/34.0.1847.116 Chrome/34.0.1847.116 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36",
+    "Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.7.62 Version/11.01",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.137 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 9; AFTWMST22 Build/PS7233; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/88.0.4324.152 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.45 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; rv:27.0) Gecko/20100101 Firefox/27.0",
+    "Mozilla/5.0 (Linux; Android 4.4.2; RCT6773W22 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; de) Opera 11.01",
+    "Opera/9.80 (Windows NT 6.1; U; sv) Presto/2.7.62 Version/11.01",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; ASJB; ASJB; MAAU; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.7) Gecko/20150824 Firefox/31.9 PaleMoon/25.7.0",
+    "Roku4640X/DVP-7.70 (297.70E04154A)",
+    "Mozilla/5.0 (Linux; Android 5.0; SAMSUNG-SM-G870A Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.3; KFSOWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.2)",
+    "Mozilla/5.0 (Windows NT 5.2; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (CrKey armv7l 1.5.16041) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.0 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.0.9895 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE10;ENUSMCM; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920P Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/600.8.9 (KHTML, like Gecko)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:35.0) Gecko/20100101 Firefox/35.0",
+    "Dalvik/2.1.0 (Linux; U; Android 9; ADT-2 Build/PTT5.181126.002)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MALCJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.2; rv:29.0) Gecko/20100101 Firefox/29.0 /29.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SM-T550 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Linux; U; Android 4.0.3; en-gb; KFOT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SM-P900 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 9 Build/LMY48I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T530NU Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux i686; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.1.1; SM-T330NU Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.7.1000 Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:34.0) Gecko/20100101 Firefox/34.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
+    "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36",
+    "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN) AppleWebKit/530.19.2 (KHTML, like Gecko) Version/4.0.2 Safari/530.19.1",
+    "Mozilla/5.0 (Android; Tablet; rv:34.0) Gecko/34.0 Firefox/34.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MALCJS; rv:11.0) like Gecko",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
+    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) GSA/8.0.57838 Mobile/11D257 Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.146 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; yie10; rv:11.0) like Gecko",
+    "Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36",
+    "Mozilla/5.0 (Linux; Ubuntu 14.04) AppleWebKit/537.36 Chromium/35.0.1870.2 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; yie11; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/8.0; TNJB; 1ButtonTaskbar)",
+    "Mozilla/5.0 (Linux; Android 4.4.2; RCT6773W22 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0; SAMSUNG-SM-G900A Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8 (.NET CLR 3.5.30729)",
+    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.65 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.7.1000 Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP08; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T210R Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:40.0) Gecko/20100101 Firefox/40.0.2 Waterfox/40.0.2",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246",
+    "Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-N900P Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.104 AOL/9.8 AOLBuild/4346.18.US Safari/537.36",
+    "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.22 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/47.1.79 like Chrome/47.0.2526.80 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SM-T350 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; ASU2JS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SM-T530NU Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/7.0; 1ButtonTaskbar)",
+    "Mozilla/5.0 (Linux; Android 7.0; SM-T827R4 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.116 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG-SM-G920A Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 Chrome/38.0.2125.102 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; 360SE)",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MAAU; MAAU; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 6.0.1; SHIELD Tablet K1 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0 Iceweasel/38.2.1",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; MANM; MANM; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (Linux; Android 6.0.1; SGP771 Build/32.2.A.0.253; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) BingPreview/1.0b",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 AOL/9.7 AOLBuild/4343.4049.US Safari/537.36",
+    "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Linux; Android 7.0; Pixel C Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.104 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.2; QTAQZ3 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321 OverDrive Media Console/3.3.1",
+    "Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257",
+    "Opera/6.02 (Windows NT 4.0; U) [de]",
+    "Mozilla/5.0 (Windows 2000; U) Opera 6.02 [en]",
+    "Mozilla/5.0 (Linux; U) Opera 6.02 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT 4.0) Opera 6.02 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.02 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) Opera 6.02 [de]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Windows 2000) Opera 6.02 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Linux 2.4.20-686 i686) Opera 6.02 [en]",
+    "Mozilla/4.0 (compatible; MSIE 5.0; Linux 2.4.18-4GB i686) Opera 6.02 [en]",
+    "Mozilla/5.0 (Windows NT 5.1) Gecko/20100101 Firefox/14.0 Opera/12.0",
+    "Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) GSA/7.0.55539 Mobile/11D201 Safari/9537.53",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Opera/12.80 (Windows NT 5.1; U; en) Presto/2.10.289 Version/12.02",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.1; SCH-I545 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Opera/9.80 (Windows NT 5.1; U; zh-sg) Presto/2.9.181 Version/12.00",
+    "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A365 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 5.1; rv:34.0) Gecko/20100101 Firefox/34.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0",
+    "Mozilla/5.0 (Linux; Android 11; Lenovo YT-J706X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; MDDCJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36",
+    "Mozilla/5.0 (iPad;U;CPU OS 5_1_1 like Mac OS X; zh-cn)AppleWebKit/534.46.0(KHTML, like Gecko)CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3",
+    "Mozilla/5.0 (Linux; Android 12; SM-X906C Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.119 Mobile Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0) Opera 12.14",
+    "Mozilla/5.0 (Linux; Android 4.4.3; KFAPWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 7_1_1 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/11D201 Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36",
+    "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.7.62 Version/11.01",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.0; rv:2.0) Gecko/20100101 Firefox/4.0 Opera 12.14",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/43.0.2357.61 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MAMIJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36",
+    "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.1058",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.1; VS985 4G Build/LRX21Y) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1; rv:33.0) Gecko/20100101 Firefox/33.0",
+    "Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/45.0.2454.68 Mobile/12H143 Safari/600.1.4",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0",
+    "Mozilla/5.0 (Linux; Android 5.0.2; LG-V410/V41020b Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.1847.118 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36",
+    "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B435 Safari/600.1.4",
+    "Opera/9.80 (Macintosh; Intel Mac OS X 10.14.1) Presto/2.12.388 Version/12.16",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:36.0) Gecko/20100101 Firefox/36.0",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; InfoPath.3; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; RM-1152) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Mobile Safari/537.36 Edge/15.15254",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36",
+    "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16.2",
+    "Mozilla/5.0 (Windows NT 5.2; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MDDRJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; RM-1127_16056) AppleWebKit/537.36(KHTML, like Gecko) Chrome/42.0.2311.135 Mobile Safari/537.36 Edge/12.10536",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.2000 Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.3; WOW64; Trident/6.0)",
+    "Mozilla/5.0 (Apple-iPhone7C2/1202.466; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543 Safari/419.3",
+    "Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920T Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows; U; Windows NT 6.2; es-US ) AppleWebKit/540.0 (KHTML like Gecko) Version/6.0 Safari/8900.00",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3; MS-RTC LM 8)",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2503.0 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.0.0 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Opera/9.80 (X11; Linux i686; U; it) Presto/2.7.62 Version/11.00",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.3; KFSAWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1; rv:32.0) Gecko/20100101 Firefox/32.0",
+    "Mozilla/5.0 (iPhone9,4; U; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T230NU Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.2.2; SM-T110 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG SM-N910T Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Win64; x64; Trident/7.0)",
+    "Opera/9.80 (Windows NT 6.1; U; zh-cn) Presto/2.6.37 Version/11.00",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:33.0) Gecko/20100101 Firefox/33.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.99 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36",
+    "Mozilla/5.0 (X11; CrOS armv7l 6946.86.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.94 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0 SeaMonkey/2.35",
+    "Mozilla/5.0 (iPhone9,3; U; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T330NU Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A8426 Safari/8536.25",
+    "Opera/9.80 (Windows NT 6.1; U; fi) Presto/2.7.62 Version/11.00",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.2; LG-V410 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 TheWorld 6",
+    "Mozilla/5.0 (iPad; CPU OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12B410 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/28.0.1469.0 Safari/537.36",
+    "Opera/9.80 (Windows NT 6.1; U; en-GB) Presto/2.7.62 Version/11.00",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A5370a Safari/604.1",
+    "Opera/9.80 (Windows NT 6.1 x64; U; en) Presto/2.7.62 Version/11.00",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0 Safari/600.1.25",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; EIE10;ENUSWOL)",
+    "Mozilla/5.0 (iPad; CPU OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/43.0.2357.61 Mobile/12H143 Safari/600.1.4",
+    "Mozilla/5.0 (iPad; CPU OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) CriOS/43.0.2357.61 Mobile/12F69 Safari/600.1.4",
+    "Mozilla/5.0 (Linux; Android 4.4.2; SM-T237P Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; ATT; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.2; SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; EIE10;ENUSMSN; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MATBJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.1599.103 Mobile Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.101 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; EIE11;ENUSMSN; rv:11.0) like Gecko",
+    "Opera/9.62 (X11; Linux x86_64; U; ru) Presto/2.1.1",
+    "Opera/9.62 (X11; Linux x86_64; U; en_GB, en_US) Presto/2.1.1",
+    "Opera/9.62 (X11; Linux i686; U; pt-BR) Presto/2.1.1",
+    "Opera/9.62 (X11; Linux i686; U; Linux Mint; en) Presto/2.1.1",
+    "Opera/9.62 (X11; Linux i686; U; it) Presto/2.1.1",
+    "Opera/9.62 (X11; Linux i686; U; fi) Presto/2.1.1",
+    "Opera/9.62 (X11; Linux i686; U; en) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 6.1; U; en) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 6.1; U; de) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 6.0; U; pl) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 6.0; U; nb) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 6.0; U; en-GB) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 6.0; U; en) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 6.0; U; de) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 5.2; U; en) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 5.1; U; zh-tw) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 5.1; U; zh-cn) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 5.1; U; tr) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 5.1; U; ru) Presto/2.1.1",
+    "Opera/9.62 (Windows NT 5.1; U; pt-BR) Presto/2.1.1",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.6.1000 Chrome/30.0.1599.101 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; rv:29.0) Gecko/20100101 Firefox/29.0",
+    "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/537.36 (KHTML, like Gecko)  Chrome/30.0.1599.114 Safari/537.36 Puffin/4.5.0IT",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.131 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/13.2b11866 Mobile/16A366 Safari/605.1.15",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; yie8; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-gb; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; FunWebProducts; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2505.0 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; MALNJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/69.0.3497.105 Mobile/15E148 Safari/605.1",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; BOIE9;ENUSSEM; rv:11.0) like Gecko",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0; Touch; WebView/1.0)",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:33.0) Gecko/20100101 Firefox/33.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.85 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG SPH-L720 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Trident/7.0; yie9; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.143 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36",
+    "Mozilla/5.0 (Linux; U; Android 4.4.3; en-us; KFSAWA Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (compatible; Windows NT 6.1; Catchpoint) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/29.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1",
+    "Mozilla/5.0 (Windows NT 6.0; rv:38.0) Gecko/20100101 Firefox/38.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.4; Z970 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48I) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Mobile Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.55.3 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10",
+    "Mozilla/5.0 (X11; CrOS armv7l 6812.88.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.153 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MAARJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:36.0) Gecko/20100101 Firefox/36.0",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0",
+    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; )",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MASAJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; MAARJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.13+ (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10; rv:33.0) Gecko/20100101 Firefox/33.0",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 BIDUBrowser/7.6 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.71 (KHTML like Gecko) WebVideo/1.0.1.10 Version/7.0 Safari/537.71",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; MASMJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPhone12,1; U; CPU iPhone OS 13_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1",
+    "Mozilla/5.0 (Windows NT 10.0; Trident/7.0; Touch; rv:11.0) like Gecko",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; 360SE)",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; InfoPath.3; .NET4.0C; .NET4.0E; MS-RTC LM 8)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; MAGWJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G925T Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36",
+    "Mozilla/5.0 (X11; CrOS x86_64 6457.107.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; 360SE)",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4.17.9 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3",
+    "Mozilla/5.0 (Linux; Android 4.2.2; GT-P5113 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0 DejaClick/2.5.0.11",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/5.0 (Linux; Android 4.4.3; KFARWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/44.1.81 like Chrome/44.0.2403.128 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 6.0.1; SM-G920V Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/8.0.57838 Mobile/12B466 Safari/600.1.4",
+    "Mozilla/5.0 (Unknown; Linux i686) AppleWebKit/534.34 (KHTML, like Gecko) Chrome/20.0.1132.57 Safari/534.34",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP08; MAAU; NP08; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPhone14,3; U; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/19A346 Safari/602.1",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.12 Safari/537.36 OPR/14.0.1116.4",
+    "Mozilla/5.0 (Linux; Android 4.4.2; LG-V410 Build/KOT49I.V41010d) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)",
+    "Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0",
+    "Mozilla/5.0 (iPhone13,2; U; CPU iPhone OS 14_0 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1",
+    "Mozilla/5.0 (X11; CrOS x86_64 6946.70.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.132 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:33.0) Gecko/20100101 Firefox/33.0",
+    "Mozilla/5.0 (iPod touch; CPU iPhone OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12H321 Safari/600.1.4",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 IceDragon/38.0.5 Firefox/38.0.5",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; managedpc; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36",
+    "Opera/9.63 (X11; Linux x86_64; U; ru) Presto/2.1.1",
+    "Opera/9.63 (X11; Linux x86_64; U; cs) Presto/2.1.1",
+    "Opera/9.63 (X11; Linux i686; U; ru) Presto/2.1.1",
+    "Opera/9.63 (X11; Linux i686; U; ru)",
+    "Opera/9.63 (X11; Linux i686; U; nb) Presto/2.1.1",
+    "Opera/9.63 (X11; Linux i686; U; en)",
+    "Opera/9.63 (X11; Linux i686; U; de) Presto/2.1.1",
+    "Opera/9.63 (X11; Linux i686)",
+    "Opera/9.63 (X11; FreeBSD 7.1-RELEASE i386; U; en) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 6.1; U; hu) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 6.1; U; en) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 6.1; U; de) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 6.0; U; pl) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 6.0; U; nb) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 6.0; U; fr) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 6.0; U; en) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 6.0; U; cs) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 5.2; U; en) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 5.2; U; de) Presto/2.1.1",
+    "Opera/9.63 (Windows NT 5.1; U; pt-BR) Presto/2.1.1",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; MASMJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36",
+    "Mozilla/5.0 (Linux; U; Android 4.0.3; en-ca; KFOT Build/IML74K) AppleWebKit/537.36 (KHTML, like Gecko) Silk/3.68 like Chrome/39.0.2171.93 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) GSA/6.0.51363 Mobile/11D257 Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 LBBROWSER",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (Windows NT 6.2; ARM; Trident/7.0; Touch; rv:11.0; WPDesktop; Lumia 1520) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.65 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0_6 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B651 Safari/9537.53",
+    "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:35.0) Gecko/20100101 Firefox/35.0",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)",
+    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E; 360SE)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.103 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:34.0) Gecko/20100101 Firefox/34.0",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.76 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.87 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; PRU_IE; rv:11.0) like Gecko",
+    "Mozilla/5.0 (X11; Linux i686) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36",
+    "Mozilla/5.0 (iPad; CPU OS 8_4_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12H321 [FBAN/FBIOS;FBAV/38.0.0.6.79;FBBV/14316658;FBDV/iPad4,1;FBMD/iPad;FBSN/iPhone OS;FBSV/8.4.1;FBSS/2; FBCR/;FBID/tablet;FBLC/en_US;FBOP/1]",
+    "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36 OPR/31.0.1889.174",
+    "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; NP02; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Win64; x64; Trident/4.0; .NET CLR 2.0.50727; SLCC2; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (X11; CrOS x86_64 6946.63.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:37.0) Gecko/20100101 Firefox/37.0",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.0.9895 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.4.4; Nexus 7 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
+    "Mozilla/5.0 (Linux; Android 4.2.2; QMV7B Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; Touch; MASMJS; rv:11.0) like Gecko",
+    "Opera/9.64(Windows NT 5.1; U; en) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux x86_64; U; pl) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux x86_64; U; hr) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux x86_64; U; en-GB) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux x86_64; U; en) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux x86_64; U; de) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux x86_64; U; cs) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux i686; U; tr) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux i686; U; sv) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux i686; U; pl) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux i686; U; nb) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux i686; U; Linux Mint; nb) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux i686; U; Linux Mint; it) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux i686; U; en) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux i686; U; de) Presto/2.1.1",
+    "Opera/9.64 (X11; Linux i686; U; da) Presto/2.1.1",
+    "Opera/9.64 (Windows NT 6.1; U; MRA 5.5 (build 02842); ru) Presto/2.1.1",
+    "Opera/9.64 (Windows NT 6.1; U; de) Presto/2.1.1",
+    "Opera/9.64 (Windows NT 6.0; U; zh-cn) Presto/2.1.1",
+    "Opera/9.64 (Windows NT 6.0; U; pl) Presto/2.1.1",
+    "Mozilla/5.0 (compatible; MSIE 10.0; AOL 9.7; AOLBuild 4343.1028; Windows NT 6.1; WOW64; Trident/7.0)",
+    "Mozilla/5.0 (Linux; U; Android 4.0.3; en-us) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.59 Mobile Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Trident/7.0; Touch; TNJB; rv:11.0) like Gecko",
+    "Mozilla/5.0 (iPad; CPU OS 8_1_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12B466",
+    "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; Active Content Browser)",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36",
+    "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0; WebView/1.0)",
+    "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.89 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.91 Safari/537.36",
+    "Mozilla/5.0 (iPad; U; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3",
+    "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36",
+    "Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.16",
+    "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/50.0.125 Chrome/44.0.2403.125 Safari/537.36",
+    "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)",
+    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36",
+    "Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; MAARJS; rv:11.0) like Gecko",
+    "Mozilla/5.0 (Linux; Android 5.0; SAMSUNG SM-N900T Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36",
+    "Mozilla/5.0 (iPhone; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) GSA/7.0.55539 Mobile/12H143 Safari/600.1.4",
+    "Opera/9.80 (X11; Linux x86_64; U; en) Presto/2.2.15 Version/10.00",
+    "Opera/9.80 (X11; Linux x86_64; U; de) Presto/2.2.15 Version/10.00",
+    "Opera/9.80 (X11; Linux i686; U; ru) Presto/2.2.15 Version/10.00",
+    "Opera/9.80 (X11; Linux i686; U; pt-BR) Presto/2.2.15 Version/10.00",
+    "Opera/9.80 (X11; Linux i686; U; nb) Presto/2.2.15 Version/10.00",
+    "Opera/9.80 (X11; Linux i686; U; en-GB) Presto/2.2.15 Version/10.00",
+    "Opera/9.80 (X11; Linux i686; U; en) Presto/2.2.15 Version/10.00",
+    "Opera/9.80 (X11; Linux i686; U; Debian; pl) Presto/2.2.15 Version/10.00",
+    "Opera/9.80 (X11; Linux i686; U; de) Presto/2.2.15 Version/10.00",
+]
+
+PUBLIC_DNS = [
+    "1.0.0.1",
+    "1.1.1.1",
+    "149.112.112.112",
+    "185.228.168.9",
+    "185.228.169.9",
+    "208.67.220.220",
+    "208.67.222.222",
+    "76.223.122.150",
+    "76.76.19.19",
+    "8.8.4.4",
+    "8.8.8.8",
+    "9.9.9.9",
+    "94.140.14.14",
+    "94.140.15.15",
+]
+
+CONTENT_ENCODING_DIRECTIVES = [
+    "*",
+    "gzip",
+    "compress",
+    "deflate",
+    "br",
+    "identity",
+]
+CORS_RESOURCE_POLICIES = [
+    "same-origin",
+    "same-site",
+    "cross-origin",
+]
+
+CORS_OPENER_POLICIES = [
+    "same-origin",
+    "unsafe-none",
+    "same-origin-allow-popups",
+]
+
+HTTP_SERVERS = [
+    "cloudflare",
+    "Apache/2.4.1 (Unix)",
+    "nginx/1.14.0 (Ubuntu)",
+]
diff --git a/mimesis/datasets/int/path.py b/mimesis/datasets/int/path.py
index bc1f54d2..ba28ce15 100644
--- a/mimesis/datasets/int/path.py
+++ b/mimesis/datasets/int/path.py
@@ -1,4 +1,20 @@
 """Provides platforms."""
-PLATFORMS = {'linux': {'home': '/home/'}, 'darwin': {'home': '/home/'},
-    'win32': {'home': 'C:\\Users\\'}, 'win64': {'home': 'C:\\Users\\'},
-    'freebsd': {'home': '/home/'}}
+
+# https://docs.python.org/3.5/library/sys.html?highlight=sys#sys.platform
+PLATFORMS = {
+    "linux": {
+        "home": "/home/",
+    },
+    "darwin": {
+        "home": "/home/",
+    },
+    "win32": {
+        "home": "C:\\Users\\",
+    },
+    "win64": {
+        "home": "C:\\Users\\",
+    },
+    "freebsd": {
+        "home": "/home/",
+    },
+}
diff --git a/mimesis/datasets/int/payment.py b/mimesis/datasets/int/payment.py
index 905b1c01..b231d5b4 100644
--- a/mimesis/datasets/int/payment.py
+++ b/mimesis/datasets/int/payment.py
@@ -1,3 +1,9 @@
 """Provides all the generic data related to the payment."""
-CREDIT_CARD_NETWORKS = ['Visa', 'MasterCard', 'Chase', 'American Express',
-    'Discover']
+
+CREDIT_CARD_NETWORKS = [
+    "Visa",
+    "MasterCard",
+    "Chase",
+    "American Express",
+    "Discover",
+]
diff --git a/mimesis/datasets/int/person.py b/mimesis/datasets/int/person.py
index 4049d72c..a473df4c 100644
--- a/mimesis/datasets/int/person.py
+++ b/mimesis/datasets/int/person.py
@@ -1,1513 +1,9483 @@
 """Provides all the generic data related to the personal information."""
-BLOOD_GROUPS = 'O+', 'A+', 'B+', 'AB+', 'O−', 'A−', 'B−', 'AB−'
-GENDER_SYMBOLS = '♂', '♀', '⚲'
-GENDER_CODES = 0, 1, 2, 9
-USERNAMES = ['aaa', 'aaron', 'abandoned', 'abc', 'aberdeen', 'abilities',
-    'ability', 'able', 'aboriginal', 'abortion', 'about', 'above',
-    'abraham', 'abroad', 'abs', 'absence', 'absent', 'absolute',
-    'absolutely', 'absorption', 'abstract', 'abstracts', 'abu', 'abuse',
-    'academic', 'academics', 'academy', 'acc', 'accent', 'accept',
-    'acceptable', 'acceptance', 'accepted', 'accepting', 'accepts',
-    'access', 'accessed', 'accessibility', 'accessible', 'accessing',
-    'accessories', 'accessory', 'accident', 'accidents', 'accommodate',
-    'accommodation', 'accommodations', 'accompanied', 'accompanying',
-    'accomplish', 'accomplished', 'accordance', 'according', 'accordingly',
-    'account', 'accountability', 'accounting', 'accounts', 'accreditation',
-    'accredited', 'accuracy', 'accurate', 'accurately', 'accused',
-    'acdbentity', 'ace', 'acer', 'achieve', 'achieved', 'achievement',
-    'achievements', 'achieving', 'acid', 'acids', 'acknowledge',
-    'acknowledged', 'acm', 'acne', 'acoustic', 'acquire', 'acquired',
-    'acquisition', 'acquisitions', 'acre', 'acres', 'acrobat', 'across',
-    'acrylic', 'act', 'acting', 'action', 'actions', 'activated',
-    'activation', 'active', 'actively', 'activists', 'activities',
-    'activity', 'actor', 'actors', 'actress', 'acts', 'actual', 'actually',
-    'acute', 'ada', 'adam', 'adams', 'adaptation', 'adapted', 'adapter',
-    'adapters', 'adaptive', 'adaptor', 'add', 'added', 'addiction',
-    'adding', 'addition', 'additional', 'additionally', 'additions',
-    'address', 'addressed', 'addresses', 'addressing', 'adds', 'adelaide',
-    'adequate', 'adidas', 'adipex', 'adjacent', 'adjust', 'adjustable',
-    'adjusted', 'adjustment', 'adjustments', 'admin', 'administered',
-    'administration', 'administrative', 'administrator', 'administrators',
-    'admission', 'admissions', 'admit', 'admitted', 'adobe', 'adolescent',
-    'adopt', 'adopted', 'adoption', 'adrian', 'ads', 'adsl', 'adult',
-    'adults', 'advance', 'advanced', 'advancement', 'advances', 'advantage',
-    'advantages', 'adventure', 'adventures', 'adverse', 'advert',
-    'advertise', 'advertisement', 'advertisements', 'advertiser',
-    'advertisers', 'advertising', 'advice', 'advise', 'advised', 'advisor',
-    'advisors', 'advisory', 'advocacy', 'advocate', 'adware', 'aerial',
-    'aerospace', 'affair', 'affairs', 'affect', 'affected', 'affecting',
-    'affects', 'affiliate', 'affiliated', 'affiliates', 'affiliation',
-    'afford', 'affordable', 'afghanistan', 'afraid', 'africa', 'african',
-    'after', 'afternoon', 'afterwards', 'again', 'against', 'age', 'aged',
-    'agencies', 'agency', 'agenda', 'agent', 'agents', 'ages', 'aggregate',
-    'aggressive', 'aging', 'ago', 'agree', 'agreed', 'agreement',
-    'agreements', 'agrees', 'agricultural', 'agriculture', 'ahead', 'aid',
-    'aids', 'aim', 'aimed', 'aims', 'air', 'aircraft', 'airfare', 'airline',
-    'airlines', 'airplane', 'airport', 'airports', 'aka', 'ala', 'alabama',
-    'alan', 'alarm', 'alaska', 'albania', 'albany', 'albert', 'alberta',
-    'album', 'albums', 'albuquerque', 'alcohol', 'alert', 'alerts', 'alex',
-    'alexander', 'alexandria', 'alfred', 'algebra', 'algeria', 'algorithm',
-    'algorithms', 'ali', 'alias', 'alice', 'alien', 'align', 'alignment',
-    'alike', 'alive', 'all', 'allah', 'allan', 'alleged', 'allen',
-    'allergy', 'alliance', 'allied', 'allocated', 'allocation', 'allow',
-    'allowance', 'allowed', 'allowing', 'allows', 'alloy', 'almost',
-    'alone', 'along', 'alot', 'alpha', 'alphabetical', 'alpine', 'already',
-    'also', 'alt', 'alter', 'altered', 'alternate', 'alternative',
-    'alternatively', 'alternatives', 'although', 'alto', 'aluminium',
-    'aluminum', 'alumni', 'always', 'amanda', 'amateur', 'amazing',
-    'amazon', 'ambassador', 'amber', 'ambien', 'ambient', 'amd', 'amend',
-    'amended', 'amendment', 'amendments', 'amenities', 'america',
-    'american', 'americans', 'americas', 'amino', 'among', 'amongst',
-    'amount', 'amounts', 'amp', 'ampland', 'amplifier', 'amsterdam', 'amy',
-    'ana', 'anaheim', 'analog', 'analysis', 'analyst', 'analysts',
-    'analytical', 'analyze', 'analyzed', 'analyzes', 'anatomy', 'anchor',
-    'ancient', 'and', 'andale', 'anderson', 'andorra', 'andrea', 'andreas',
-    'andrew', 'andrews', 'andy', 'angel', 'angela', 'angeles', 'angels',
-    'anger', 'angle', 'angola', 'angry', 'animal', 'animals', 'animated',
-    'animation', 'anime', 'ann', 'anna', 'anne', 'annex', 'annie',
-    'anniversary', 'annotated', 'annotation', 'announce', 'announced',
-    'announcement', 'announcements', 'announces', 'annoying', 'annual',
-    'annually', 'anonymous', 'another', 'answer', 'answered', 'answering',
-    'answers', 'ant', 'antarctica', 'antenna', 'anthony', 'anthropology',
-    'anti', 'antibodies', 'antibody', 'anticipated', 'antigua', 'antique',
-    'antiques', 'antivirus', 'antonio', 'anxiety', 'any', 'anybody',
-    'anymore', 'anyone', 'anything', 'anytime', 'anyway', 'anywhere', 'aol',
-    'apache', 'apart', 'apartment', 'apartments', 'api', 'apnic', 'apollo',
-    'app', 'apparatus', 'apparel', 'apparent', 'apparently', 'appeal',
-    'appeals', 'appear', 'appearance', 'appeared', 'appearing', 'appears',
-    'appendix', 'apple', 'appliance', 'appliances', 'applicable',
-    'applicant', 'applicants', 'application', 'applications', 'applied',
-    'applies', 'apply', 'applying', 'appointed', 'appointment',
-    'appointments', 'appraisal', 'appreciate', 'appreciated',
-    'appreciation', 'approach', 'approaches', 'appropriate',
-    'appropriations', 'approval', 'approve', 'approved', 'approx',
-    'approximate', 'approximately', 'apps', 'apr', 'april', 'apt', 'aqua',
-    'aquarium', 'aquatic', 'arab', 'arabia', 'arabic', 'arbitrary',
-    'arbitration', 'arbor', 'arc', 'arcade', 'arch', 'architect',
-    'architects', 'architectural', 'architecture', 'archive', 'archived',
-    'archives', 'arctic', 'are', 'area', 'areas', 'arena', 'arg',
-    'argentina', 'argue', 'argued', 'argument', 'arguments', 'arise',
-    'arising', 'arizona', 'arkansas', 'arlington', 'arm', 'armed',
-    'armenia', 'armor', 'arms', 'armstrong', 'army', 'arnold', 'around',
-    'arrange', 'arranged', 'arrangement', 'arrangements', 'array', 'arrest',
-    'arrested', 'arrival', 'arrivals', 'arrive', 'arrived', 'arrives',
-    'arrow', 'art', 'arthritis', 'arthur', 'article', 'articles',
-    'artificial', 'artist', 'artistic', 'artists', 'arts', 'artwork',
-    'aruba', 'asbestos', 'ascii', 'ash', 'ashley', 'asia', 'asian', 'aside',
-    'asin', 'ask', 'asked', 'asking', 'asks', 'asn', 'asp', 'aspect',
-    'aspects', 'assault', 'assembled', 'assembly', 'assess', 'assessed',
-    'assessing', 'assessment', 'assessments', 'asset', 'assets', 'assign',
-    'assigned', 'assignment', 'assignments', 'assist', 'assistance',
-    'assistant', 'assisted', 'assists', 'associate', 'associated',
-    'associates', 'association', 'associations', 'assume', 'assumed',
-    'assumes', 'assuming', 'assumption', 'assumptions', 'assurance',
-    'assure', 'assured', 'asthma', 'astrology', 'astronomy', 'asus',
-    'asylum', 'ata', 'ate', 'athens', 'athletes', 'athletic', 'athletics',
-    'ati', 'atlanta', 'atlantic', 'atlas', 'atm', 'atmosphere',
-    'atmospheric', 'atom', 'atomic', 'attach', 'attached', 'attachment',
-    'attachments', 'attack', 'attacked', 'attacks', 'attempt', 'attempted',
-    'attempting', 'attempts', 'attend', 'attendance', 'attended',
-    'attending', 'attention', 'attitude', 'attitudes', 'attorney',
-    'attorneys', 'attract', 'attraction', 'attractions', 'attractive',
-    'attribute', 'attributes', 'auburn', 'auckland', 'auction', 'auctions',
-    'aud', 'audi', 'audience', 'audio', 'audit', 'auditor', 'aug', 'august',
-    'aurora', 'aus', 'austin', 'australia', 'australian', 'austria',
-    'authentic', 'authentication', 'author', 'authorities', 'authority',
-    'authorization', 'authorized', 'authors', 'auto', 'automated',
-    'automatic', 'automatically', 'automation', 'automobile', 'automobiles',
-    'automotive', 'autos', 'autumn', 'availability', 'available', 'avatar',
-    'ave', 'avenue', 'average', 'avg', 'avi', 'aviation', 'avoid',
-    'avoiding', 'avon', 'award', 'awarded', 'awards', 'aware', 'awareness',
-    'away', 'awesome', 'awful', 'axis', 'aye', 'azerbaijan', 'babe',
-    'babes', 'babies', 'baby', 'bachelor', 'back', 'backed', 'background',
-    'backgrounds', 'backing', 'backup', 'bacon', 'bacteria', 'bacterial',
-    'bad', 'badge', 'badly', 'bag', 'baghdad', 'bags', 'bahamas', 'bahrain',
-    'bailey', 'baker', 'baking', 'balance', 'balanced', 'bald', 'bali',
-    'ball', 'ballet', 'balloon', 'ballot', 'baltimore', 'ban', 'banana',
-    'band', 'bands', 'bandwidth', 'bang', 'bangkok', 'bangladesh', 'bank',
-    'banking', 'bankruptcy', 'banks', 'banned', 'banner', 'banners',
-    'baptist', 'bar', 'barbados', 'barbara', 'barbie', 'barcelona', 'bare',
-    'barely', 'bargain', 'bargains', 'barn', 'barnes', 'barrel', 'barrier',
-    'barriers', 'barry', 'bars', 'base', 'baseball', 'based', 'baseline',
-    'basement', 'basename', 'bases', 'basic', 'basically', 'basics',
-    'basin', 'basis', 'basket', 'basketball', 'baskets', 'bass', 'bat',
-    'batch', 'bath', 'bathroom', 'bathrooms', 'baths', 'batman',
-    'batteries', 'battery', 'battle', 'battlefield', 'bay', 'bbc', 'bbs',
-    'beach', 'beaches', 'beads', 'beam', 'bean', 'beans', 'bear', 'bearing',
-    'bears', 'beast', 'beastality', 'beat', 'beatles', 'beats', 'beautiful',
-    'beautifully', 'beauty', 'beaver', 'became', 'because', 'become',
-    'becomes', 'becoming', 'bed', 'bedding', 'bedford', 'bedroom',
-    'bedrooms', 'beds', 'bee', 'beef', 'been', 'beer', 'before', 'began',
-    'begin', 'beginner', 'beginners', 'beginning', 'begins', 'begun',
-    'behalf', 'behavior', 'behavioral', 'behind', 'beijing', 'being',
-    'beings', 'belarus', 'belfast', 'belgium', 'belief', 'beliefs',
-    'believe', 'believed', 'believes', 'belize', 'belkin', 'bell', 'belle',
-    'belly', 'belong', 'belongs', 'below', 'belt', 'belts', 'ben', 'bench',
-    'benchmark', 'bend', 'beneath', 'beneficial', 'benefit', 'benefits',
-    'benjamin', 'bennett', 'bent', 'benz', 'berkeley', 'berlin', 'bermuda',
-    'bernard', 'berry', 'beside', 'besides', 'best', 'bestsellers', 'bet',
-    'beta', 'beth', 'better', 'betting', 'betty', 'between', 'beverage',
-    'beverages', 'beverly', 'beyond', 'bhutan', 'bias', 'bible', 'biblical',
-    'bibliographic', 'bibliography', 'bicycle', 'bid', 'bidder', 'bidding',
-    'bids', 'big', 'bigger', 'biggest', 'bike', 'bikes', 'bikini', 'bill',
-    'billing', 'billion', 'bills', 'billy', 'bin', 'binary', 'bind',
-    'binding', 'bingo', 'bio', 'biodiversity', 'biographies', 'biography',
-    'biol', 'biological', 'biology', 'bios', 'biotechnology', 'bird',
-    'birds', 'birmingham', 'birth', 'birthday', 'bishop', 'bit', 'bite',
-    'bits', 'biz', 'bizarre', 'bizrate', 'black', 'blackberry', 'blackjack',
-    'blacks', 'blade', 'blades', 'blah', 'blair', 'blake', 'blame', 'blank',
-    'blanket', 'blast', 'bleeding', 'blend', 'bless', 'blessed', 'blind',
-    'blink', 'block', 'blocked', 'blocking', 'blocks', 'blog', 'blogger',
-    'bloggers', 'blogging', 'blogs', 'blond', 'blonde', 'blood', 'bloom',
-    'bloomberg', 'blow', 'blowing', 'blue', 'blues', 'bluetooth', 'blvd',
-    'bmw', 'board', 'boards', 'boat', 'boating', 'boats', 'bob', 'bobby',
-    'boc', 'bodies', 'body', 'bold', 'bolivia', 'bolt', 'bomb', 'bon',
-    'bond', 'bonds', 'bone', 'bones', 'bonus', 'book', 'booking',
-    'bookings', 'bookmark', 'bookmarks', 'books', 'bookstore', 'bool',
-    'boolean', 'boom', 'boost', 'boot', 'booth', 'boots', 'booty', 'border',
-    'borders', 'bored', 'boring', 'born', 'borough', 'bosnia', 'boss',
-    'boston', 'both', 'bother', 'botswana', 'bottle', 'bottles', 'bottom',
-    'bought', 'boulder', 'boulevard', 'bound', 'boundaries', 'boundary',
-    'bouquet', 'boutique', 'bow', 'bowl', 'bowling', 'box', 'boxed',
-    'boxes', 'boxing', 'boy', 'boys', 'bra', 'bracelet', 'bracelets',
-    'bracket', 'brad', 'bradford', 'bradley', 'brain', 'brake', 'brakes',
-    'branch', 'branches', 'brand', 'brandon', 'brands', 'bras', 'brass',
-    'brave', 'brazil', 'brazilian', 'breach', 'bread', 'break', 'breakdown',
-    'breakfast', 'breaking', 'breaks', 'breast', 'breath', 'breathing',
-    'breed', 'breeding', 'breeds', 'brian', 'brick', 'bridal', 'bride',
-    'bridge', 'bridges', 'brief', 'briefing', 'briefly', 'briefs', 'bright',
-    'brighton', 'brilliant', 'bring', 'bringing', 'brings', 'brisbane',
-    'bristol', 'britain', 'britannica', 'british', 'britney', 'broad',
-    'broadband', 'broadcast', 'broadcasting', 'broader', 'broadway',
-    'brochure', 'brochures', 'broke', 'broken', 'broker', 'brokers',
-    'bronze', 'brook', 'brooklyn', 'brooks', 'brother', 'brothers',
-    'brought', 'brown', 'browse', 'browser', 'browsers', 'browsing',
-    'bruce', 'brunei', 'brunette', 'brunswick', 'brush', 'brussels',
-    'brutal', 'bryan', 'bryant', 'bubble', 'buck', 'bucks', 'budapest',
-    'buddy', 'budget', 'budgets', 'buf', 'buffalo', 'buffer', 'bufing',
-    'bug', 'bugs', 'build', 'builder', 'builders', 'building', 'buildings',
-    'builds', 'built', 'bulgaria', 'bulgarian', 'bulk', 'bull', 'bullet',
-    'bulletin', 'bumper', 'bunch', 'bundle', 'bunny', 'burden', 'bureau',
-    'buried', 'burke', 'burlington', 'burn', 'burner', 'burning', 'burns',
-    'burst', 'burton', 'bus', 'buses', 'bush', 'business', 'businesses',
-    'busy', 'but', 'butler', 'butter', 'butterfly', 'button', 'buttons',
-    'butts', 'buy', 'buyer', 'buyers', 'buying', 'buys', 'buzz', 'bye',
-    'byte', 'bytes', 'cab', 'cabin', 'cabinet', 'cabinets', 'cable',
-    'cables', 'cache', 'cached', 'cad', 'cadillac', 'cafe', 'cage', 'cake',
-    'cakes', 'cal', 'calcium', 'calculate', 'calculated', 'calculation',
-    'calculations', 'calculator', 'calculators', 'calendar', 'calendars',
-    'calgary', 'calibration', 'california', 'call', 'called', 'calling',
-    'calls', 'calm', 'calvin', 'cam', 'cambodia', 'cambridge', 'camcorder',
-    'camcorders', 'came', 'camel', 'camera', 'cameras', 'cameron',
-    'cameroon', 'camp', 'campaign', 'campaigns', 'campbell', 'camping',
-    'camps', 'campus', 'cams', 'can', 'canada', 'canadian', 'canal',
-    'canberra', 'cancel', 'cancellation', 'cancelled', 'cancer',
-    'candidate', 'candidates', 'candle', 'candles', 'candy', 'cannon',
-    'canon', 'cant', 'canvas', 'canyon', 'cap', 'capabilities',
-    'capability', 'capable', 'capacity', 'cape', 'capital', 'capitol',
-    'caps', 'captain', 'capture', 'captured', 'car', 'carb', 'carbon',
-    'card', 'cardiac', 'cardiff', 'cardiovascular', 'cards', 'care',
-    'career', 'careers', 'careful', 'carefully', 'carey', 'cargo',
-    'caribbean', 'caring', 'carl', 'carlo', 'carlos', 'carmen', 'carnival',
-    'carol', 'carolina', 'caroline', 'carpet', 'carried', 'carrier',
-    'carriers', 'carries', 'carroll', 'carry', 'carrying', 'cars', 'cart',
-    'carter', 'cartoon', 'cartoons', 'cartridge', 'cartridges', 'cas',
-    'casa', 'case', 'cases', 'casey', 'cash', 'cashiers', 'casino',
-    'casinos', 'casio', 'cassette', 'cast', 'casting', 'castle', 'casual',
-    'cat', 'catalog', 'catalogs', 'catalogue', 'catalyst', 'catch',
-    'categories', 'category', 'catering', 'cathedral', 'catherine',
-    'catholic', 'cats', 'cattle', 'caught', 'cause', 'caused', 'causes',
-    'causing', 'caution', 'cave', 'cayman', 'cbs', 'ccd', 'cdna', 'cds',
-    'cdt', 'cedar', 'ceiling', 'celebrate', 'celebration', 'celebrities',
-    'celebrity', 'celebs', 'cell', 'cells', 'cellular', 'celtic', 'cement',
-    'cemetery', 'census', 'cent', 'center', 'centered', 'centers',
-    'central', 'centre', 'centres', 'cents', 'centuries', 'century', 'ceo',
-    'ceramic', 'ceremony', 'certain', 'certainly', 'certificate',
-    'certificates', 'certification', 'certified', 'cet', 'cfr', 'cgi',
-    'chad', 'chain', 'chains', 'chair', 'chairman', 'chairs', 'challenge',
-    'challenged', 'challenges', 'challenging', 'chamber', 'chambers',
-    'champagne', 'champion', 'champions', 'championship', 'championships',
-    'chan', 'chance', 'chancellor', 'chances', 'change', 'changed',
-    'changelog', 'changes', 'changing', 'channel', 'channels', 'chaos',
-    'chapel', 'chapter', 'chapters', 'char', 'character', 'characteristic',
-    'characteristics', 'characterization', 'characterized', 'characters',
-    'charge', 'charged', 'charger', 'chargers', 'charges', 'charging',
-    'charitable', 'charity', 'charles', 'charleston', 'charlie',
-    'charlotte', 'charm', 'charming', 'charms', 'chart', 'charter',
-    'charts', 'chase', 'chassis', 'chat', 'cheap', 'cheaper', 'cheapest',
-    'cheat', 'cheats', 'check', 'checked', 'checking', 'checklist',
-    'checkout', 'checks', 'cheers', 'cheese', 'chef', 'chelsea', 'chem',
-    'chemical', 'chemicals', 'chemistry', 'chen', 'cheque', 'cherry',
-    'chess', 'chest', 'chester', 'chevrolet', 'chevy', 'chi', 'chicago',
-    'chick', 'chicken', 'chicks', 'chief', 'child', 'childhood', 'children',
-    'childrens', 'chile', 'china', 'chinese', 'chip', 'chips', 'cho',
-    'chocolate', 'choice', 'choices', 'choir', 'cholesterol', 'choose',
-    'choosing', 'chorus', 'chose', 'chosen', 'chris', 'christ', 'christian',
-    'christianity', 'christians', 'christina', 'christine', 'christmas',
-    'christopher', 'chrome', 'chronic', 'chronicle', 'chronicles',
-    'chrysler', 'chubby', 'chuck', 'church', 'churches', 'cia', 'cialis',
-    'ciao', 'cigarette', 'cigarettes', 'cincinnati', 'cindy', 'cinema',
-    'cingular', 'cio', 'cir', 'circle', 'circles', 'circuit', 'circuits',
-    'circular', 'circulation', 'circumstances', 'circus', 'cisco',
-    'citation', 'citations', 'cite', 'cited', 'cities', 'citizen',
-    'citizens', 'citizenship', 'city', 'citysearch', 'civic', 'civil',
-    'civilian', 'civilization', 'claim', 'claimed', 'claims', 'claire',
-    'clan', 'clara', 'clarity', 'clark', 'clarke', 'class', 'classes',
-    'classic', 'classical', 'classics', 'classification', 'classified',
-    'classifieds', 'classroom', 'clause', 'clay', 'clean', 'cleaner',
-    'cleaners', 'cleaning', 'cleanup', 'clear', 'clearance', 'cleared',
-    'clearing', 'clearly', 'clerk', 'cleveland', 'click', 'clicking',
-    'clicks', 'client', 'clients', 'cliff', 'climate', 'climb', 'climbing',
-    'clinic', 'clinical', 'clinics', 'clinton', 'clip', 'clips', 'clock',
-    'clocks', 'clone', 'close', 'closed', 'closely', 'closer', 'closes',
-    'closest', 'closing', 'closure', 'cloth', 'clothes', 'clothing',
-    'cloud', 'clouds', 'cloudy', 'club', 'clubs', 'cluster', 'clusters',
-    'cms', 'cnet', 'cnn', 'coach', 'coaches', 'coaching', 'coal',
-    'coalition', 'coast', 'coastal', 'coat', 'coated', 'coating',
-    'cocktail', 'cod', 'code', 'codes', 'coding', 'coffee', 'cognitive',
-    'cohen', 'coin', 'coins', 'col', 'cold', 'cole', 'coleman', 'colin',
-    'collaboration', 'collaborative', 'collapse', 'collar', 'colleague',
-    'colleagues', 'collect', 'collectables', 'collected', 'collectible',
-    'collectibles', 'collecting', 'collection', 'collections', 'collective',
-    'collector', 'collectors', 'college', 'colleges', 'collins', 'cologne',
-    'colombia', 'colon', 'colonial', 'colony', 'color', 'colorado',
-    'colored', 'colors', 'columbia', 'columbus', 'column', 'columnists',
-    'columns', 'com', 'combat', 'combination', 'combinations', 'combine',
-    'combined', 'combines', 'combining', 'combo', 'come', 'comedy', 'comes',
-    'comfort', 'comfortable', 'comic', 'comics', 'coming', 'comm',
-    'command', 'commander', 'commands', 'comment', 'commentary',
-    'commented', 'comments', 'commerce', 'commercial', 'commission',
-    'commissioner', 'commissioners', 'commissions', 'commit', 'commitment',
-    'commitments', 'committed', 'committee', 'committees', 'commodities',
-    'commodity', 'common', 'commonly', 'commons', 'commonwealth',
-    'communicate', 'communication', 'communications', 'communist',
-    'communities', 'community', 'comp', 'compact', 'companies', 'companion',
-    'company', 'compaq', 'comparable', 'comparative', 'compare', 'compared',
-    'comparing', 'comparison', 'comparisons', 'compatibility', 'compatible',
-    'compensation', 'compete', 'competent', 'competing', 'competition',
-    'competitions', 'competitive', 'competitors', 'compilation', 'compile',
-    'compiled', 'compiler', 'complaint', 'complaints', 'complement',
-    'complete', 'completed', 'completely', 'completing', 'completion',
-    'complex', 'complexity', 'compliance', 'compliant', 'complicated',
-    'complications', 'complimentary', 'comply', 'component', 'components',
-    'composed', 'composer', 'composite', 'composition', 'compound',
-    'compounds', 'comprehensive', 'compressed', 'compression', 'compromise',
-    'computation', 'computational', 'compute', 'computed', 'computer',
-    'computers', 'computing', 'con', 'concentrate', 'concentration',
-    'concentrations', 'concept', 'concepts', 'conceptual', 'concern',
-    'concerned', 'concerning', 'concerns', 'concert', 'concerts',
-    'conclude', 'concluded', 'conclusion', 'conclusions', 'concord',
-    'concrete', 'condition', 'conditional', 'conditioning', 'conditions',
-    'condo', 'condos', 'conduct', 'conducted', 'conducting', 'conf',
-    'conference', 'conferences', 'conferencing', 'confidence', 'confident',
-    'confidential', 'confidentiality', 'config', 'configuration',
-    'configurations', 'configure', 'configured', 'configuring', 'confirm',
-    'confirmation', 'confirmed', 'conflict', 'conflicts', 'confused',
-    'confusion', 'congo', 'congratulations', 'congress', 'congressional',
-    'conjunction', 'connect', 'connected', 'connecticut', 'connecting',
-    'connection', 'connections', 'connectivity', 'connector', 'connectors',
-    'cons', 'conscious', 'consciousness', 'consecutive', 'consensus',
-    'consent', 'consequence', 'consequences', 'consequently',
-    'conservation', 'conservative', 'consider', 'considerable',
-    'consideration', 'considerations', 'considered', 'considering',
-    'considers', 'consist', 'consistency', 'consistent', 'consistently',
-    'consisting', 'consists', 'console', 'consoles', 'consolidated',
-    'consolidation', 'consortium', 'conspiracy', 'const', 'constant',
-    'constantly', 'constitute', 'constitutes', 'constitution',
-    'constitutional', 'constraint', 'constraints', 'construct',
-    'constructed', 'construction', 'consult', 'consultancy', 'consultant',
-    'consultants', 'consultation', 'consulting', 'consumer', 'consumers',
-    'consumption', 'contact', 'contacted', 'contacting', 'contacts',
-    'contain', 'contained', 'container', 'containers', 'containing',
-    'contains', 'contamination', 'contemporary', 'content', 'contents',
-    'contest', 'contests', 'context', 'continent', 'continental',
-    'continually', 'continue', 'continued', 'continues', 'continuing',
-    'continuity', 'continuous', 'continuously', 'contract', 'contracting',
-    'contractor', 'contractors', 'contracts', 'contrary', 'contrast',
-    'contribute', 'contributed', 'contributing', 'contribution',
-    'contributions', 'contributor', 'contributors', 'control', 'controlled',
-    'controller', 'controllers', 'controlling', 'controls', 'controversial',
-    'controversy', 'convenience', 'convenient', 'convention',
-    'conventional', 'conventions', 'convergence', 'conversation',
-    'conversations', 'conversion', 'convert', 'converted', 'converter',
-    'convertible', 'convicted', 'conviction', 'convinced', 'cook',
-    'cookbook', 'cooked', 'cookie', 'cookies', 'cooking', 'cool', 'cooler',
-    'cooling', 'cooper', 'cooperation', 'cooperative', 'coordinate',
-    'coordinated', 'coordinates', 'coordination', 'coordinator', 'cop',
-    'cope', 'copied', 'copies', 'copper', 'copy', 'copying', 'copyright',
-    'copyrighted', 'copyrights', 'coral', 'cord', 'cordless', 'core',
-    'cork', 'corn', 'cornell', 'corner', 'corners', 'cornwall', 'corp',
-    'corporate', 'corporation', 'corporations', 'corps', 'corpus',
-    'correct', 'corrected', 'correction', 'corrections', 'correctly',
-    'correlation', 'correspondence', 'corresponding', 'corruption', 'cos',
-    'cosmetic', 'cosmetics', 'cost', 'costa', 'costs', 'costume',
-    'costumes', 'cottage', 'cottages', 'cotton', 'could', 'council',
-    'councils', 'counsel', 'counseling', 'count', 'counted', 'counter',
-    'counters', 'counties', 'counting', 'countries', 'country', 'counts',
-    'county', 'couple', 'coupled', 'couples', 'coupon', 'coupons',
-    'courage', 'courier', 'course', 'courses', 'court', 'courtesy',
-    'courts', 'cove', 'cover', 'coverage', 'covered', 'covering', 'covers',
-    'cow', 'cowboy', 'cpu', 'crack', 'cradle', 'craft', 'crafts', 'craig',
-    'craps', 'crash', 'crawford', 'crazy', 'cream', 'create', 'created',
-    'creates', 'creating', 'creation', 'creations', 'creative',
-    'creativity', 'creator', 'creature', 'creatures', 'credit', 'credits',
-    'creek', 'crest', 'crew', 'cricket', 'crime', 'crimes', 'criminal',
-    'crisis', 'criteria', 'criterion', 'critical', 'criticism', 'critics',
-    'crm', 'croatia', 'crop', 'crops', 'cross', 'crossing', 'crossword',
-    'crowd', 'crown', 'crucial', 'crude', 'cruise', 'cruises', 'cruz',
-    'cry', 'crystal', 'css', 'cst', 'ctrl', 'cuba', 'cube', 'cubic',
-    'cuisine', 'cult', 'cultural', 'culture', 'cultures', 'cumulative',
-    'cup', 'cups', 'cure', 'curious', 'currencies', 'currency', 'current',
-    'currently', 'curriculum', 'cursor', 'curtis', 'curve', 'curves',
-    'custody', 'custom', 'customer', 'customers', 'customize', 'customized',
-    'customs', 'cut', 'cute', 'cuts', 'cutting', 'cvs', 'cyber', 'cycle',
-    'cycles', 'cycling', 'cylinder', 'cyprus', 'czech', 'dad', 'daddy',
-    'daily', 'dairy', 'daisy', 'dakota', 'dale', 'dallas', 'dam', 'damage',
-    'damaged', 'damages', 'dame', 'dan', 'dana', 'dance', 'dancing',
-    'danger', 'dangerous', 'daniel', 'danish', 'danny', 'dans', 'dare',
-    'dark', 'darkness', 'darwin', 'das', 'dash', 'dat', 'data', 'database',
-    'databases', 'date', 'dated', 'dates', 'dating', 'daughter',
-    'daughters', 'dave', 'david', 'davidson', 'davis', 'dawn', 'day',
-    'days', 'dayton', 'ddr', 'dead', 'deadline', 'deadly', 'deaf', 'deal',
-    'dealer', 'dealers', 'dealing', 'deals', 'dealt', 'dealtime', 'dean',
-    'dear', 'death', 'deaths', 'debate', 'debian', 'deborah', 'debt',
-    'debug', 'debut', 'dec', 'decade', 'decades', 'december', 'decent',
-    'decide', 'decided', 'decimal', 'decision', 'decisions', 'deck',
-    'declaration', 'declare', 'declared', 'decline', 'declined', 'decor',
-    'decorating', 'decorative', 'decrease', 'decreased', 'dedicated', 'dee',
-    'deemed', 'deep', 'deeper', 'deeply', 'deer', 'def', 'default',
-    'defeat', 'defects', 'defence', 'defend', 'defendant', 'defense',
-    'defensive', 'deferred', 'deficit', 'define', 'defined', 'defines',
-    'defining', 'definitely', 'definition', 'definitions', 'degree',
-    'degrees', 'del', 'delaware', 'delay', 'delayed', 'delays',
-    'delegation', 'delete', 'deleted', 'delhi', 'delicious', 'delight',
-    'deliver', 'delivered', 'delivering', 'delivers', 'delivery', 'dell',
-    'delta', 'deluxe', 'dem', 'demand', 'demanding', 'demands', 'demo',
-    'democracy', 'democrat', 'democratic', 'democrats', 'demographic',
-    'demonstrate', 'demonstrated', 'demonstrates', 'demonstration', 'den',
-    'denial', 'denied', 'denmark', 'dennis', 'dense', 'density', 'dental',
-    'dentists', 'denver', 'deny', 'department', 'departmental',
-    'departments', 'departure', 'depend', 'dependence', 'dependent',
-    'depending', 'depends', 'deployment', 'deposit', 'deposits', 'depot',
-    'depression', 'dept', 'depth', 'deputy', 'der', 'derby', 'derek',
-    'derived', 'des', 'descending', 'describe', 'described', 'describes',
-    'describing', 'description', 'descriptions', 'desert', 'deserve',
-    'design', 'designated', 'designation', 'designed', 'designer',
-    'designers', 'designing', 'designs', 'desirable', 'desire', 'desired',
-    'desk', 'desktop', 'desktops', 'desperate', 'despite', 'destination',
-    'destinations', 'destiny', 'destroy', 'destroyed', 'destruction',
-    'detail', 'detailed', 'details', 'detect', 'detected', 'detection',
-    'detective', 'detector', 'determination', 'determine', 'determined',
-    'determines', 'determining', 'detroit', 'deutsch', 'deutsche',
-    'deutschland', 'dev', 'devel', 'develop', 'developed', 'developer',
-    'developers', 'developing', 'development', 'developmental',
-    'developments', 'develops', 'deviant', 'deviation', 'device', 'devices',
-    'devil', 'devon', 'devoted', 'diabetes', 'diagnosis', 'diagnostic',
-    'diagram', 'dial', 'dialog', 'dialogue', 'diameter', 'diamond',
-    'diamonds', 'diana', 'diane', 'diary', 'dice', 'dicke', 'dictionaries',
-    'dictionary', 'did', 'die', 'died', 'diego', 'dies', 'diesel', 'diet',
-    'dietary', 'diff', 'differ', 'difference', 'differences', 'different',
-    'differential', 'differently', 'difficult', 'difficulties',
-    'difficulty', 'diffs', 'dig', 'digest', 'digit', 'digital', 'dim',
-    'dimension', 'dimensional', 'dimensions', 'dining', 'dinner', 'dip',
-    'diploma', 'dir', 'direct', 'directed', 'direction', 'directions',
-    'directive', 'directly', 'director', 'directories', 'directors',
-    'directory', 'dirt', 'dirty', 'dis', 'disabilities', 'disability',
-    'disable', 'disabled', 'disagree', 'disappointed', 'disaster', 'disc',
-    'discharge', 'disciplinary', 'discipline', 'disciplines', 'disclaimer',
-    'disclaimers', 'disclose', 'disclosure', 'disco', 'discount',
-    'discounted', 'discounts', 'discover', 'discovered', 'discovery',
-    'discrete', 'discretion', 'discrimination', 'discs', 'discuss',
-    'discussed', 'discusses', 'discussing', 'discussion', 'discussions',
-    'disease', 'diseases', 'dish', 'dishes', 'disk', 'disks', 'disney',
-    'disorder', 'disorders', 'dispatch', 'dispatched', 'display',
-    'displayed', 'displaying', 'displays', 'disposal', 'disposition',
-    'dispute', 'disputes', 'dist', 'distance', 'distances', 'distant',
-    'distinct', 'distinction', 'distinguished', 'distribute', 'distributed',
-    'distribution', 'distributions', 'distributor', 'distributors',
-    'district', 'districts', 'disturbed', 'div', 'dive', 'diverse',
-    'diversity', 'divide', 'divided', 'dividend', 'divine', 'diving',
-    'division', 'divisions', 'divorce', 'divx', 'diy', 'dna', 'dns', 'doc',
-    'dock', 'docs', 'doctor', 'doctors', 'doctrine', 'document',
-    'documentary', 'documentation', 'documented', 'documents', 'dod',
-    'dodge', 'doe', 'does', 'dog', 'dogs', 'doing', 'doll', 'dollar',
-    'dollars', 'dolls', 'dom', 'domain', 'domains', 'dome', 'domestic',
-    'dominant', 'dominican', 'don', 'donald', 'donate', 'donated',
-    'donation', 'donations', 'done', 'donna', 'donor', 'donors', 'dont',
-    'doom', 'door', 'doors', 'dos', 'dosage', 'dose', 'dot', 'double',
-    'doubt', 'doug', 'douglas', 'dover', 'dow', 'down', 'download',
-    'downloadable', 'downloaded', 'downloading', 'downloads', 'downtown',
-    'dozen', 'dozens', 'dpi', 'draft', 'drag', 'dragon', 'drain',
-    'drainage', 'drama', 'dramatic', 'dramatically', 'draw', 'drawing',
-    'drawings', 'drawn', 'draws', 'dream', 'dreams', 'dress', 'dressed',
-    'dresses', 'dressing', 'drew', 'dried', 'drill', 'drilling', 'drink',
-    'drinking', 'drinks', 'drive', 'driven', 'driver', 'drivers', 'drives',
-    'driving', 'drop', 'dropped', 'drops', 'drove', 'drug', 'drugs', 'drum',
-    'drums', 'drunk', 'dry', 'dryer', 'dsc', 'dsl', 'dts', 'dual', 'dubai',
-    'dublin', 'duck', 'dude', 'due', 'dui', 'duke', 'dumb', 'dump',
-    'duncan', 'duo', 'duplicate', 'durable', 'duration', 'durham', 'during',
-    'dust', 'dutch', 'duties', 'duty', 'dvd', 'dvds', 'dying', 'dylan',
-    'dynamic', 'dynamics', 'each', 'eagle', 'eagles', 'ear', 'earl',
-    'earlier', 'earliest', 'early', 'earn', 'earned', 'earning', 'earnings',
-    'earrings', 'ears', 'earth', 'earthquake', 'ease', 'easier', 'easily',
-    'east', 'easter', 'eastern', 'easy', 'eat', 'eating', 'eau', 'ebay',
-    'ebony', 'ebook', 'ebooks', 'echo', 'eclipse', 'eco', 'ecological',
-    'ecology', 'ecommerce', 'economic', 'economics', 'economies', 'economy',
-    'ecuador', 'eddie', 'eden', 'edgar', 'edge', 'edges', 'edinburgh',
-    'edit', 'edited', 'editing', 'edition', 'editions', 'editor',
-    'editorial', 'editorials', 'editors', 'edmonton', 'eds', 'edt',
-    'educated', 'education', 'educational', 'educators', 'edward',
-    'edwards', 'effect', 'effective', 'effectively', 'effectiveness',
-    'effects', 'efficiency', 'efficient', 'efficiently', 'effort',
-    'efforts', 'egg', 'eggs', 'egypt', 'egyptian', 'eight', 'either',
-    'elder', 'elderly', 'elect', 'elected', 'election', 'elections',
-    'electoral', 'electric', 'electrical', 'electricity', 'electro',
-    'electron', 'electronic', 'electronics', 'elegant', 'element',
-    'elementary', 'elements', 'elephant', 'elevation', 'eleven',
-    'eligibility', 'eligible', 'eliminate', 'elimination', 'elite',
-    'elizabeth', 'ellen', 'elliott', 'ellis', 'else', 'elsewhere', 'elvis',
-    'emacs', 'email', 'emails', 'embassy', 'embedded', 'emerald',
-    'emergency', 'emerging', 'emily', 'eminem', 'emirates', 'emission',
-    'emissions', 'emma', 'emotional', 'emotions', 'emperor', 'emphasis',
-    'empire', 'empirical', 'employ', 'employed', 'employee', 'employees',
-    'employer', 'employers', 'employment', 'empty', 'enable', 'enabled',
-    'enables', 'enabling', 'enb', 'enclosed', 'enclosure', 'encoding',
-    'encounter', 'encountered', 'encourage', 'encouraged', 'encourages',
-    'encouraging', 'encryption', 'encyclopedia', 'end', 'endangered',
-    'ended', 'endif', 'ending', 'endless', 'endorsed', 'endorsement',
-    'ends', 'enemies', 'enemy', 'energy', 'enforcement', 'eng', 'engage',
-    'engaged', 'engagement', 'engaging', 'engine', 'engineer',
-    'engineering', 'engineers', 'engines', 'england', 'english', 'enhance',
-    'enhanced', 'enhancement', 'enhancements', 'enhancing', 'enjoy',
-    'enjoyed', 'enjoying', 'enlarge', 'enlargement', 'enormous', 'enough',
-    'enquiries', 'enquiry', 'enrolled', 'enrollment', 'ensemble', 'ensure',
-    'ensures', 'ensuring', 'ent', 'enter', 'entered', 'entering',
-    'enterprise', 'enterprises', 'enters', 'entertaining', 'entertainment',
-    'entire', 'entirely', 'entities', 'entitled', 'entity', 'entrance',
-    'entrepreneur', 'entrepreneurs', 'entries', 'entry', 'envelope',
-    'environment', 'environmental', 'environments', 'enzyme', 'eos', 'epa',
-    'epic', 'epinions', 'episode', 'episodes', 'epson', 'equal', 'equality',
-    'equally', 'equation', 'equations', 'equilibrium', 'equipment',
-    'equipped', 'equity', 'equivalent', 'era', 'eric', 'ericsson', 'erik',
-    'erotica', 'erp', 'error', 'errors', 'escape', 'escorts', 'especially',
-    'espn', 'essay', 'essays', 'essence', 'essential', 'essentially',
-    'essentials', 'essex', 'est', 'establish', 'established',
-    'establishing', 'establishment', 'estate', 'estates', 'estimate',
-    'estimated', 'estimates', 'estimation', 'estonia', 'etc', 'eternal',
-    'ethernet', 'ethical', 'ethics', 'ethiopia', 'ethnic', 'eugene', 'eur',
-    'euro', 'europe', 'european', 'euros', 'eva', 'eval', 'evaluate',
-    'evaluated', 'evaluating', 'evaluation', 'evaluations', 'evanescence',
-    'evans', 'eve', 'even', 'evening', 'event', 'events', 'eventually',
-    'ever', 'every', 'everybody', 'everyday', 'everyone', 'everything',
-    'everywhere', 'evidence', 'evident', 'evil', 'evolution', 'exact',
-    'exactly', 'exam', 'examination', 'examinations', 'examine', 'examined',
-    'examines', 'examining', 'example', 'examples', 'exams', 'exceed',
-    'excel', 'excellence', 'excellent', 'except', 'exception',
-    'exceptional', 'exceptions', 'excerpt', 'excess', 'excessive',
-    'exchange', 'exchanges', 'excited', 'excitement', 'exciting', 'exclude',
-    'excluded', 'excluding', 'exclusion', 'exclusive', 'exclusively',
-    'excuse', 'exec', 'execute', 'executed', 'execution', 'executive',
-    'executives', 'exempt', 'exemption', 'exercise', 'exercises', 'exhaust',
-    'exhibit', 'exhibition', 'exhibitions', 'exhibits', 'exist', 'existed',
-    'existence', 'existing', 'exists', 'exit', 'exotic', 'exp', 'expand',
-    'expanded', 'expanding', 'expansion', 'expansys', 'expect',
-    'expectations', 'expected', 'expects', 'expedia', 'expenditure',
-    'expenditures', 'expense', 'expenses', 'expensive', 'experience',
-    'experienced', 'experiences', 'experiencing', 'experiment',
-    'experimental', 'experiments', 'expert', 'expertise', 'experts',
-    'expiration', 'expired', 'expires', 'explain', 'explained',
-    'explaining', 'explains', 'explanation', 'explicit', 'explicitly',
-    'exploration', 'explore', 'explorer', 'exploring', 'explosion', 'expo',
-    'export', 'exports', 'exposed', 'exposure', 'express', 'expressed',
-    'expression', 'expressions', 'ext', 'extend', 'extended', 'extending',
-    'extends', 'extension', 'extensions', 'extensive', 'extent', 'exterior',
-    'external', 'extra', 'extract', 'extraction', 'extraordinary', 'extras',
-    'extreme', 'extremely', 'eye', 'eyed', 'eyes', 'fabric', 'fabrics',
-    'fabulous', 'face', 'faced', 'faces', 'facial', 'facilitate',
-    'facilities', 'facility', 'facing', 'fact', 'factor', 'factors',
-    'factory', 'facts', 'faculty', 'fail', 'failed', 'failing', 'fails',
-    'failure', 'failures', 'fair', 'fairfield', 'fairly', 'fairy', 'faith',
-    'fake', 'fall', 'fallen', 'falling', 'falls', 'false', 'fame',
-    'familiar', 'families', 'family', 'famous', 'fan', 'fancy', 'fans',
-    'fantastic', 'fantasy', 'faq', 'faqs', 'far', 'fare', 'fares', 'farm',
-    'farmer', 'farmers', 'farming', 'farms', 'fascinating', 'fashion',
-    'fast', 'faster', 'fastest', 'fat', 'fatal', 'fate', 'father',
-    'fathers', 'fatty', 'fault', 'favor', 'favorite', 'favorites', 'favors',
-    'fax', 'fbi', 'fcc', 'fda', 'fear', 'fears', 'feat', 'feature',
-    'featured', 'features', 'featuring', 'feb', 'february', 'fed',
-    'federal', 'federation', 'fee', 'feed', 'feedback', 'feeding', 'feeds',
-    'feel', 'feeling', 'feelings', 'feels', 'fees', 'feet', 'fell',
-    'fellow', 'fellowship', 'felt', 'female', 'females', 'fence', 'feof',
-    'ferrari', 'ferry', 'festival', 'festivals', 'fetish', 'fever', 'few',
-    'fewer', 'fiber', 'fibre', 'fiction', 'field', 'fields', 'fifteen',
-    'fifth', 'fifty', 'fig', 'fight', 'fighter', 'fighters', 'fighting',
-    'figure', 'figured', 'figures', 'fiji', 'file', 'filed', 'filename',
-    'files', 'filing', 'fill', 'filled', 'filling', 'film', 'filme',
-    'films', 'filter', 'filtering', 'filters', 'fin', 'final', 'finally',
-    'finals', 'finance', 'finances', 'financial', 'financing', 'find',
-    'findarticles', 'finder', 'finding', 'findings', 'findlaw', 'finds',
-    'fine', 'finest', 'finger', 'fingers', 'finish', 'finished',
-    'finishing', 'finite', 'finland', 'finnish', 'fioricet', 'fire',
-    'fired', 'firefox', 'fireplace', 'fires', 'firewall', 'firewire',
-    'firm', 'firms', 'firmware', 'first', 'fiscal', 'fish', 'fisher',
-    'fisheries', 'fishing', 'fist', 'fit', 'fitness', 'fits', 'fitted',
-    'fitting', 'five', 'fix', 'fixed', 'fixes', 'fixtures', 'flag', 'flags',
-    'flame', 'flash', 'flashers', 'flashing', 'flat', 'flavor', 'fleece',
-    'fleet', 'flesh', 'flex', 'flexibility', 'flexible', 'flickr', 'flight',
-    'flights', 'flip', 'float', 'floating', 'flood', 'floor', 'flooring',
-    'floors', 'floppy', 'floral', 'florence', 'florida', 'florist',
-    'florists', 'flour', 'flow', 'flower', 'flowers', 'flows', 'floyd',
-    'flu', 'fluid', 'flush', 'flux', 'fly', 'flyer', 'flying', 'foam',
-    'focal', 'focus', 'focused', 'focuses', 'focusing', 'fog', 'fold',
-    'folder', 'folders', 'folding', 'folk', 'folks', 'follow', 'followed',
-    'following', 'follows', 'font', 'fonts', 'foo', 'food', 'foods', 'fool',
-    'foot', 'footage', 'football', 'footwear', 'for', 'forbes', 'forbidden',
-    'force', 'forced', 'forces', 'ford', 'forecast', 'forecasts', 'foreign',
-    'forest', 'forestry', 'forests', 'forever', 'forge', 'forget', 'forgot',
-    'forgotten', 'fork', 'form', 'formal', 'format', 'formation', 'formats',
-    'formatting', 'formed', 'former', 'formerly', 'forming', 'forms',
-    'formula', 'fort', 'forth', 'fortune', 'forty', 'forum', 'forums',
-    'forward', 'forwarding', 'fossil', 'foster', 'foto', 'fotos', 'fought',
-    'foul', 'found', 'foundation', 'foundations', 'founded', 'founder',
-    'fountain', 'four', 'fourth', 'fox', 'fraction', 'fragrance',
-    'fragrances', 'frame', 'framed', 'frames', 'framework', 'framing',
-    'france', 'franchise', 'francis', 'francisco', 'frank', 'frankfurt',
-    'franklin', 'fraser', 'fraud', 'fred', 'frederick', 'free', 'freebsd',
-    'freedom', 'freelance', 'freely', 'freeware', 'freeze', 'freight',
-    'french', 'frequencies', 'frequency', 'frequent', 'frequently', 'fresh',
-    'fri', 'friday', 'fridge', 'friend', 'friendly', 'friends',
-    'friendship', 'frog', 'from', 'front', 'frontier', 'frontpage', 'frost',
-    'frozen', 'fruit', 'fruits', 'ftp', 'fuel', 'fuji', 'fujitsu', 'full',
-    'fully', 'fun', 'function', 'functional', 'functionality',
-    'functioning', 'functions', 'fund', 'fundamental', 'fundamentals',
-    'funded', 'funding', 'fundraising', 'funds', 'funeral', 'funk', 'funky',
-    'funny', 'fur', 'furnished', 'furnishings', 'furniture', 'further',
-    'furthermore', 'fusion', 'future', 'futures', 'fuzzy', 'fwd', 'gabriel',
-    'gadgets', 'gage', 'gain', 'gained', 'gains', 'galaxy', 'gale',
-    'galleries', 'gallery', 'gambling', 'game', 'gamecube', 'games',
-    'gamespot', 'gaming', 'gamma', 'gang', 'gap', 'gaps', 'garage',
-    'garbage', 'garcia', 'garden', 'gardening', 'gardens', 'garlic',
-    'garmin', 'gary', 'gas', 'gasoline', 'gate', 'gates', 'gateway',
-    'gather', 'gathered', 'gathering', 'gauge', 'gave', 'gay', 'gays',
-    'gazette', 'gba', 'gbp', 'gcc', 'gdp', 'gear', 'geek', 'gel', 'gem',
-    'gen', 'gender', 'gene', 'genealogy', 'general', 'generally',
-    'generate', 'generated', 'generates', 'generating', 'generation',
-    'generations', 'generator', 'generators', 'generic', 'generous',
-    'genes', 'genesis', 'genetic', 'genetics', 'geneva', 'genius', 'genome',
-    'genre', 'genres', 'gentle', 'gentleman', 'gently', 'genuine', 'geo',
-    'geographic', 'geographical', 'geography', 'geological', 'geology',
-    'geometry', 'george', 'georgia', 'gerald', 'german', 'germany', 'get',
-    'gets', 'getting', 'ghana', 'ghost', 'ghz', 'giant', 'giants',
-    'gibraltar', 'gibson', 'gif', 'gift', 'gifts', 'gig', 'gilbert', 'girl',
-    'girlfriend', 'girls', 'gis', 'give', 'given', 'gives', 'giving',
-    'glad', 'glance', 'glasgow', 'glass', 'glasses', 'glen', 'glenn',
-    'global', 'globe', 'glory', 'glossary', 'gloves', 'glow', 'glucose',
-    'gmbh', 'gmc', 'gmt', 'gnome', 'gnu', 'goal', 'goals', 'goat', 'gods',
-    'goes', 'going', 'gold', 'golden', 'golf', 'gone', 'gonna', 'good',
-    'goods', 'google', 'gordon', 'gore', 'gorgeous', 'gospel', 'gossip',
-    'got', 'gothic', 'goto', 'gotta', 'gotten', 'gourmet', 'governance',
-    'governing', 'government', 'governmental', 'governments', 'governor',
-    'gpl', 'gps', 'grab', 'grace', 'grad', 'grade', 'grades', 'gradually',
-    'graduate', 'graduated', 'graduates', 'graduation', 'graham', 'grain',
-    'grammar', 'grams', 'grand', 'grande', 'granny', 'grant', 'granted',
-    'grants', 'graph', 'graphic', 'graphical', 'graphics', 'graphs', 'gras',
-    'grass', 'grateful', 'gratis', 'gratuit', 'grave', 'gravity', 'gray',
-    'great', 'greater', 'greatest', 'greatly', 'greece', 'greek', 'green',
-    'greene', 'greenhouse', 'greensboro', 'greeting', 'greetings', 'greg',
-    'gregory', 'grenada', 'grew', 'grey', 'grid', 'griffin', 'grill',
-    'grip', 'grocery', 'groove', 'gross', 'ground', 'grounds',
-    'groundwater', 'group', 'groups', 'grove', 'grow', 'growing', 'grown',
-    'grows', 'growth', 'gsm', 'gst', 'gtk', 'guam', 'guarantee',
-    'guaranteed', 'guarantees', 'guard', 'guardian', 'guards', 'guatemala',
-    'guess', 'guest', 'guestbook', 'guests', 'gui', 'guidance', 'guide',
-    'guided', 'guidelines', 'guides', 'guild', 'guilty', 'guinea', 'guitar',
-    'guitars', 'gulf', 'gun', 'guns', 'guru', 'guy', 'guyana', 'guys',
-    'gym', 'gzip', 'habitat', 'habits', 'hack', 'hacker', 'had', 'hair',
-    'hairy', 'haiti', 'half', 'halifax', 'hall', 'halloween', 'halo', 'ham',
-    'hamburg', 'hamilton', 'hammer', 'hampshire', 'hampton', 'hand',
-    'handbags', 'handbook', 'handed', 'handheld', 'handhelds', 'handle',
-    'handled', 'handles', 'handling', 'handmade', 'hands', 'handy', 'hang',
-    'hanging', 'hans', 'hansen', 'happen', 'happened', 'happening',
-    'happens', 'happiness', 'happy', 'harassment', 'harbor', 'hard',
-    'hardcover', 'harder', 'hardly', 'hardware', 'hardwood', 'harley',
-    'harm', 'harmful', 'harmony', 'harold', 'harper', 'harris', 'harrison',
-    'harry', 'hart', 'hartford', 'harvard', 'harvest', 'harvey', 'has',
-    'hash', 'hat', 'hate', 'hats', 'have', 'haven', 'having', 'hawaii',
-    'hawaiian', 'hawk', 'hay', 'hayes', 'hazard', 'hazardous', 'hazards',
-    'hdtv', 'head', 'headed', 'header', 'headers', 'heading', 'headline',
-    'headlines', 'headphones', 'headquarters', 'heads', 'headset',
-    'healing', 'health', 'healthcare', 'healthy', 'hear', 'heard',
-    'hearing', 'hearings', 'heart', 'hearts', 'heat', 'heated', 'heater',
-    'heath', 'heather', 'heating', 'heaven', 'heavily', 'heavy', 'hebrew',
-    'heel', 'height', 'heights', 'held', 'helen', 'helena', 'helicopter',
-    'hello', 'helmet', 'help', 'helped', 'helpful', 'helping', 'helps',
-    'hence', 'henderson', 'henry', 'hepatitis', 'her', 'herald', 'herb',
-    'herbal', 'herbs', 'here', 'hereby', 'herein', 'heritage', 'hero',
-    'heroes', 'herself', 'hewlett', 'hey', 'hidden', 'hide', 'hierarchy',
-    'high', 'higher', 'highest', 'highland', 'highlight', 'highlighted',
-    'highlights', 'highly', 'highs', 'highway', 'highways', 'hiking',
-    'hill', 'hills', 'hilton', 'him', 'himself', 'hindu', 'hint', 'hints',
-    'hip', 'hire', 'hired', 'hiring', 'his', 'hispanic', 'hist', 'historic',
-    'historical', 'history', 'hit', 'hitachi', 'hits', 'hitting', 'hiv',
-    'hobbies', 'hobby', 'hockey', 'hold', 'holdem', 'holder', 'holders',
-    'holding', 'holdings', 'holds', 'hole', 'holes', 'holiday', 'holidays',
-    'holland', 'hollow', 'holly', 'hollywood', 'holmes', 'holocaust',
-    'holy', 'home', 'homeland', 'homeless', 'homepage', 'homes', 'hometown',
-    'homework', 'hon', 'honda', 'honduras', 'honest', 'honey', 'hong',
-    'honolulu', 'honor', 'honors', 'hood', 'hook', 'hop', 'hope', 'hoped',
-    'hopefully', 'hopes', 'hoping', 'hopkins', 'horizon', 'horizontal',
-    'hormone', 'horn', 'horrible', 'horror', 'horse', 'horses', 'hose',
-    'hospital', 'hospitality', 'hospitals', 'host', 'hosted', 'hostel',
-    'hostels', 'hosting', 'hosts', 'hot', 'hotel', 'hotels', 'hotmail',
-    'hottest', 'hour', 'hourly', 'hours', 'house', 'household',
-    'households', 'houses', 'housewares', 'housewives', 'housing',
-    'houston', 'how', 'howard', 'however', 'howto', 'href', 'hrs', 'html',
-    'http', 'hub', 'hudson', 'huge', 'hugh', 'hughes', 'hugo', 'hull',
-    'human', 'humanitarian', 'humanities', 'humanity', 'humans', 'humidity',
-    'humor', 'hundred', 'hundreds', 'hung', 'hungarian', 'hungary',
-    'hunger', 'hungry', 'hunt', 'hunter', 'hunting', 'huntington',
-    'hurricane', 'hurt', 'husband', 'hwy', 'hybrid', 'hydraulic',
-    'hydrocodone', 'hydrogen', 'hygiene', 'hypothesis', 'hypothetical',
-    'hyundai', 'ian', 'ibm', 'ice', 'iceland', 'icon', 'icons', 'icq',
-    'ict', 'idaho', 'ide', 'idea', 'ideal', 'ideas', 'identical',
-    'identification', 'identified', 'identifier', 'identifies', 'identify',
-    'identifying', 'identity', 'idle', 'idol', 'ids', 'ieee', 'ignore',
-    'ignored', 'iii', 'ill', 'illegal', 'illinois', 'illness',
-    'illustrated', 'illustration', 'illustrations', 'image', 'images',
-    'imagination', 'imagine', 'imaging', 'img', 'immediate', 'immediately',
-    'immigrants', 'immigration', 'immune', 'immunology', 'impact',
-    'impacts', 'impaired', 'imperial', 'implement', 'implementation',
-    'implemented', 'implementing', 'implications', 'implied', 'implies',
-    'import', 'importance', 'important', 'importantly', 'imported',
-    'imports', 'impose', 'imposed', 'impossible', 'impressed', 'impression',
-    'impressive', 'improve', 'improved', 'improvement', 'improvements',
-    'improving', 'inappropriate', 'inbox', 'inc', 'incentive', 'incentives',
-    'inch', 'inches', 'incidence', 'incident', 'incidents', 'incl',
-    'include', 'included', 'includes', 'including', 'inclusion',
-    'inclusive', 'income', 'incoming', 'incomplete', 'incorporate',
-    'incorporated', 'incorrect', 'increase', 'increased', 'increases',
-    'increasing', 'increasingly', 'incredible', 'incurred', 'ind', 'indeed',
-    'independence', 'independent', 'independently', 'index', 'indexed',
-    'indexes', 'india', 'indian', 'indiana', 'indianapolis', 'indians',
-    'indicate', 'indicated', 'indicates', 'indicating', 'indication',
-    'indicator', 'indicators', 'indices', 'indie', 'indigenous', 'indirect',
-    'individual', 'individually', 'individuals', 'indonesia', 'indonesian',
-    'indoor', 'induced', 'induction', 'industrial', 'industries',
-    'industry', 'inexpensive', 'inf', 'infant', 'infants', 'infected',
-    'infection', 'infections', 'infectious', 'infinite', 'inflation',
-    'influence', 'influenced', 'influences', 'info', 'inform', 'informal',
-    'information', 'informational', 'informative', 'informed', 'infrared',
-    'infrastructure', 'infringement', 'ing', 'ingredients', 'inherited',
-    'initial', 'initially', 'initiated', 'initiative', 'initiatives',
-    'injection', 'injured', 'injuries', 'injury', 'ink', 'inkjet', 'inline',
-    'inn', 'inner', 'innocent', 'innovation', 'innovations', 'innovative',
-    'inns', 'input', 'inputs', 'inquire', 'inquiries', 'inquiry', 'ins',
-    'insects', 'insert', 'inserted', 'insertion', 'inside', 'insider',
-    'insight', 'insights', 'inspection', 'inspections', 'inspector',
-    'inspiration', 'inspired', 'install', 'installation', 'installations',
-    'installed', 'installing', 'instance', 'instances', 'instant',
-    'instantly', 'instead', 'institute', 'institutes', 'institution',
-    'institutional', 'institutions', 'instruction', 'instructional',
-    'instructions', 'instructor', 'instructors', 'instrument',
-    'instrumental', 'instrumentation', 'instruments', 'insulation',
-    'insulin', 'insurance', 'insured', 'int', 'intake', 'integer',
-    'integral', 'integrate', 'integrated', 'integrating', 'integration',
-    'integrity', 'intel', 'intellectual', 'intelligence', 'intelligent',
-    'intend', 'intended', 'intense', 'intensity', 'intensive', 'intent',
-    'intention', 'inter', 'interact', 'interaction', 'interactions',
-    'interactive', 'interest', 'interested', 'interesting', 'interests',
-    'interface', 'interfaces', 'interference', 'interim', 'interior',
-    'intermediate', 'internal', 'international', 'internationally',
-    'internet', 'internship', 'interpretation', 'interpreted',
-    'interracial', 'intersection', 'interstate', 'interval', 'intervals',
-    'intervention', 'interventions', 'interview', 'interviews', 'intimate',
-    'intl', 'into', 'intranet', 'intro', 'introduce', 'introduced',
-    'introduces', 'introducing', 'introduction', 'introductory', 'invalid',
-    'invasion', 'invention', 'inventory', 'invest', 'investigate',
-    'investigated', 'investigation', 'investigations', 'investigator',
-    'investigators', 'investing', 'investment', 'investments', 'investor',
-    'investors', 'invisible', 'invision', 'invitation', 'invitations',
-    'invite', 'invited', 'invoice', 'involve', 'involved', 'involvement',
-    'involves', 'involving', 'ion', 'iowa', 'ipaq', 'ipod', 'ips', 'ira',
-    'iran', 'iraq', 'iraqi', 'irc', 'ireland', 'irish', 'iron',
-    'irrigation', 'irs', 'isa', 'isaac', 'isbn', 'islam', 'islamic',
-    'island', 'islands', 'isle', 'iso', 'isolated', 'isolation', 'isp',
-    'israel', 'israeli', 'issn', 'issue', 'issued', 'issues', 'ist',
-    'istanbul', 'italia', 'italian', 'italiano', 'italic', 'italy', 'item',
-    'items', 'its', 'itself', 'itunes', 'ivory', 'jack', 'jacket',
-    'jackets', 'jackie', 'jackson', 'jacksonville', 'jacob', 'jade',
-    'jaguar', 'jail', 'jake', 'jam', 'jamaica', 'james', 'jamie', 'jan',
-    'jane', 'janet', 'january', 'japan', 'japanese', 'jar', 'jason', 'java',
-    'javascript', 'jay', 'jazz', 'jean', 'jeans', 'jeep', 'jeff',
-    'jefferson', 'jeffrey', 'jelsoft', 'jennifer', 'jenny', 'jeremy',
-    'jerry', 'jersey', 'jerusalem', 'jesse', 'jessica', 'jesus', 'jet',
-    'jets', 'jewel', 'jewellery', 'jewelry', 'jewish', 'jews', 'jill',
-    'jim', 'jimmy', 'joan', 'job', 'jobs', 'joe', 'joel', 'john', 'johnny',
-    'johns', 'johnson', 'johnston', 'join', 'joined', 'joining', 'joins',
-    'joint', 'joke', 'jokes', 'jon', 'jonathan', 'jones', 'jordan', 'jose',
-    'joseph', 'josh', 'joshua', 'journal', 'journalism', 'journalist',
-    'journalists', 'journals', 'journey', 'joy', 'joyce', 'jpeg', 'jpg',
-    'juan', 'judge', 'judges', 'judgment', 'judicial', 'judy', 'juice',
-    'jul', 'julia', 'julian', 'julie', 'july', 'jump', 'jumping', 'jun',
-    'junction', 'june', 'jungle', 'junior', 'junk', 'jurisdiction', 'jury',
-    'just', 'justice', 'justify', 'justin', 'juvenile', 'jvc', 'kai',
-    'kansas', 'karaoke', 'karen', 'karl', 'karma', 'kate', 'kathy', 'katie',
-    'katrina', 'kay', 'kazakhstan', 'kde', 'keen', 'keep', 'keeping',
-    'keeps', 'keith', 'kelkoo', 'kelly', 'ken', 'kennedy', 'kenneth',
-    'kenny', 'keno', 'kent', 'kentucky', 'kenya', 'kept', 'kernel', 'kerry',
-    'kevin', 'key', 'keyboard', 'keyboards', 'keys', 'keyword', 'keywords',
-    'kick', 'kid', 'kidney', 'kids', 'kijiji', 'kill', 'killed', 'killer',
-    'killing', 'kills', 'kilometers', 'kim', 'kinase', 'kind', 'kinda',
-    'kinds', 'king', 'kingdom', 'kings', 'kingston', 'kirk', 'kiss',
-    'kissing', 'kit', 'kitchen', 'kits', 'kitty', 'klein', 'knee', 'knew',
-    'knife', 'knight', 'knights', 'knit', 'knitting', 'knives', 'knock',
-    'know', 'knowing', 'knowledge', 'knowledgestorm', 'known', 'knows',
-    'kodak', 'kong', 'korea', 'korean', 'kruger', 'kurt', 'kuwait', 'kyle',
-    'lab', 'label', 'labeled', 'labels', 'labor', 'laboratories',
-    'laboratory', 'labs', 'lace', 'lack', 'ladder', 'laden', 'ladies',
-    'lady', 'lafayette', 'laid', 'lake', 'lakes', 'lamb', 'lambda', 'lamp',
-    'lamps', 'lan', 'lancaster', 'lance', 'land', 'landing', 'lands',
-    'landscape', 'landscapes', 'lane', 'lanes', 'lang', 'language',
-    'languages', 'lanka', 'laos', 'lap', 'laptop', 'laptops', 'large',
-    'largely', 'larger', 'largest', 'larry', 'las', 'laser', 'last',
-    'lasting', 'lat', 'late', 'lately', 'later', 'latest', 'latex', 'latin',
-    'latina', 'latinas', 'latino', 'latitude', 'latter', 'latvia',
-    'lauderdale', 'laugh', 'laughing', 'launch', 'launched', 'launches',
-    'laundry', 'laura', 'lauren', 'law', 'lawn', 'lawrence', 'laws',
-    'lawsuit', 'lawyer', 'lawyers', 'lay', 'layer', 'layers', 'layout',
-    'lazy', 'lbs', 'lcd', 'lead', 'leader', 'leaders', 'leadership',
-    'leading', 'leads', 'leaf', 'league', 'lean', 'learn', 'learned',
-    'learners', 'learning', 'lease', 'leasing', 'least', 'leather', 'leave',
-    'leaves', 'leaving', 'lebanon', 'lecture', 'lectures', 'led', 'lee',
-    'leeds', 'left', 'leg', 'legacy', 'legal', 'legally', 'legend',
-    'legendary', 'legends', 'legislation', 'legislative', 'legislature',
-    'legitimate', 'legs', 'leisure', 'lemon', 'len', 'lender', 'lenders',
-    'lending', 'length', 'lens', 'lenses', 'leo', 'leon', 'leonard',
-    'leone', 'les', 'lesbian', 'lesbians', 'leslie', 'less', 'lesser',
-    'lesson', 'lessons', 'let', 'lets', 'letter', 'letters', 'letting',
-    'leu', 'level', 'levels', 'levitra', 'levy', 'lewis', 'lexington',
-    'lexmark', 'lexus', 'liabilities', 'liability', 'liable', 'lib',
-    'liberal', 'liberia', 'liberty', 'librarian', 'libraries', 'library',
-    'libs', 'licence', 'license', 'licensed', 'licenses', 'licensing',
-    'licking', 'lid', 'lie', 'liechtenstein', 'lies', 'life', 'lifestyle',
-    'lifetime', 'lift', 'light', 'lightbox', 'lighter', 'lighting',
-    'lightning', 'lights', 'lightweight', 'like', 'liked', 'likelihood',
-    'likely', 'likes', 'likewise', 'lil', 'lime', 'limit', 'limitation',
-    'limitations', 'limited', 'limiting', 'limits', 'limousines', 'lincoln',
-    'linda', 'lindsay', 'line', 'linear', 'lined', 'lines', 'lingerie',
-    'link', 'linked', 'linking', 'links', 'linux', 'lion', 'lions', 'lip',
-    'lips', 'liquid', 'lisa', 'list', 'listed', 'listen', 'listening',
-    'listing', 'listings', 'listprice', 'lists', 'lit', 'lite', 'literacy',
-    'literally', 'literary', 'literature', 'lithuania', 'litigation',
-    'little', 'live', 'livecam', 'lived', 'liver', 'liverpool', 'lives',
-    'livestock', 'living', 'liz', 'llc', 'lloyd', 'llp', 'load', 'loaded',
-    'loading', 'loads', 'loan', 'loans', 'lobby', 'loc', 'local', 'locale',
-    'locally', 'locate', 'located', 'location', 'locations', 'locator',
-    'lock', 'locked', 'locking', 'locks', 'lodge', 'lodging', 'log',
-    'logan', 'logged', 'logging', 'logic', 'logical', 'login', 'logistics',
-    'logitech', 'logo', 'logos', 'logs', 'lol', 'london', 'lone', 'lonely',
-    'long', 'longer', 'longest', 'longitude', 'look', 'looked', 'looking',
-    'looks', 'looksmart', 'lookup', 'loop', 'loops', 'loose', 'lopez',
-    'lord', 'los', 'lose', 'losing', 'loss', 'losses', 'lost', 'lot',
-    'lots', 'lottery', 'lotus', 'lou', 'loud', 'louis', 'louise',
-    'louisiana', 'louisville', 'lounge', 'love', 'loved', 'lovely', 'lover',
-    'lovers', 'loves', 'loving', 'low', 'lower', 'lowest', 'lows', 'ltd',
-    'lucas', 'lucia', 'luck', 'lucky', 'lucy', 'luggage', 'luis', 'luke',
-    'lunch', 'lung', 'luther', 'luxembourg', 'luxury', 'lycos', 'lying',
-    'lynn', 'lyric', 'lyrics', 'mac', 'macedonia', 'machine', 'machinery',
-    'machines', 'macintosh', 'macro', 'macromedia', 'mad', 'madagascar',
-    'made', 'madison', 'madness', 'madonna', 'madrid', 'mae', 'mag',
-    'magazine', 'magazines', 'magic', 'magical', 'magnet', 'magnetic',
-    'magnificent', 'magnitude', 'mai', 'maiden', 'mail', 'mailed',
-    'mailing', 'mailman', 'mails', 'mailto', 'main', 'maine', 'mainland',
-    'mainly', 'mainstream', 'maintain', 'maintained', 'maintaining',
-    'maintains', 'maintenance', 'major', 'majority', 'make', 'maker',
-    'makers', 'makes', 'makeup', 'making', 'malawi', 'malaysia', 'maldives',
-    'male', 'males', 'mali', 'mall', 'malpractice', 'malta', 'mambo', 'man',
-    'manage', 'managed', 'management', 'manager', 'managers', 'managing',
-    'manchester', 'mandate', 'mandatory', 'manga', 'manhattan', 'manitoba',
-    'manner', 'manor', 'manual', 'manually', 'manuals', 'manufacture',
-    'manufactured', 'manufacturer', 'manufacturers', 'manufacturing',
-    'many', 'map', 'maple', 'mapping', 'maps', 'mar', 'marathon', 'marble',
-    'marc', 'march', 'marco', 'marcus', 'mardi', 'margaret', 'margin',
-    'maria', 'mariah', 'marie', 'marijuana', 'marilyn', 'marina', 'marine',
-    'mario', 'marion', 'maritime', 'mark', 'marked', 'marker', 'markers',
-    'market', 'marketing', 'marketplace', 'markets', 'marking', 'marks',
-    'marriage', 'married', 'marriott', 'mars', 'marsh', 'marshall', 'mart',
-    'martha', 'martial', 'martin', 'marvel', 'mary', 'maryland', 'mas',
-    'mask', 'mason', 'mass', 'massachusetts', 'massage', 'massive',
-    'master', 'mastercard', 'masters', 'mat', 'match', 'matched', 'matches',
-    'matching', 'mate', 'material', 'materials', 'maternity', 'math',
-    'mathematical', 'mathematics', 'mating', 'matrix', 'mats', 'matt',
-    'matter', 'matters', 'matthew', 'mattress', 'mature', 'maui',
-    'mauritius', 'max', 'maximize', 'maximum', 'may', 'maybe', 'mayor',
-    'mazda', 'mba', 'mcdonald', 'meal', 'meals', 'mean', 'meaning',
-    'meaningful', 'means', 'meant', 'meanwhile', 'measure', 'measured',
-    'measurement', 'measurements', 'measures', 'measuring', 'meat',
-    'mechanical', 'mechanics', 'mechanism', 'mechanisms', 'med', 'medal',
-    'media', 'median', 'mediawiki', 'medicaid', 'medical', 'medicare',
-    'medication', 'medications', 'medicine', 'medicines', 'medieval',
-    'meditation', 'mediterranean', 'medium', 'medline', 'meet', 'meeting',
-    'meetings', 'meets', 'meetup', 'mega', 'mel', 'melbourne', 'melissa',
-    'mem', 'member', 'members', 'membership', 'membrane', 'memo',
-    'memorabilia', 'memorial', 'memories', 'memory', 'memphis', 'men',
-    'mens', 'ment', 'mental', 'mention', 'mentioned', 'mentor', 'menu',
-    'menus', 'mercedes', 'merchandise', 'merchant', 'merchants', 'mercury',
-    'mercy', 'mere', 'merely', 'merge', 'merger', 'merit', 'merry', 'mesa',
-    'mesh', 'mess', 'message', 'messages', 'messaging', 'messenger', 'met',
-    'meta', 'metabolism', 'metadata', 'metal', 'metallic', 'metallica',
-    'metals', 'meter', 'meters', 'method', 'methodology', 'methods',
-    'metres', 'metric', 'metro', 'metropolitan', 'mexican', 'mexico',
-    'meyer', 'mhz', 'mia', 'miami', 'mic', 'mice', 'michael', 'michel',
-    'michelle', 'michigan', 'micro', 'microphone', 'microsoft', 'microwave',
-    'mid', 'middle', 'midi', 'midlands', 'midnight', 'midwest', 'might',
-    'mighty', 'migration', 'mike', 'mil', 'milan', 'mild', 'mile',
-    'mileage', 'miles', 'military', 'milk', 'mill', 'millennium', 'miller',
-    'million', 'millions', 'mills', 'milton', 'milwaukee', 'mime', 'min',
-    'mind', 'minds', 'mine', 'mineral', 'minerals', 'mines', 'mini',
-    'miniature', 'minimal', 'minimize', 'minimum', 'mining', 'minister',
-    'ministers', 'ministries', 'ministry', 'minneapolis', 'minnesota',
-    'minolta', 'minor', 'minority', 'mins', 'mint', 'minus', 'minute',
-    'minutes', 'miracle', 'mirror', 'mirrors', 'misc', 'miscellaneous',
-    'miss', 'missed', 'missile', 'missing', 'mission', 'missions',
-    'mississippi', 'missouri', 'mistake', 'mistakes', 'mistress', 'mit',
-    'mitchell', 'mitsubishi', 'mix', 'mixed', 'mixer', 'mixing', 'mixture',
-    'mlb', 'mls', 'mobile', 'mobiles', 'mobility', 'mod', 'mode', 'model',
-    'modeling', 'modelling', 'models', 'modem', 'modems', 'moderate',
-    'moderator', 'moderators', 'modern', 'modes', 'modification',
-    'modifications', 'modified', 'modify', 'mods', 'modular', 'module',
-    'modules', 'moisture', 'mold', 'moldova', 'molecular', 'molecules',
-    'mom', 'moment', 'moments', 'momentum', 'moms', 'mon', 'monaco',
-    'monday', 'monetary', 'money', 'mongolia', 'monica', 'monitor',
-    'monitored', 'monitoring', 'monitors', 'monkey', 'mono', 'monroe',
-    'monster', 'monsters', 'montana', 'monte', 'montgomery', 'month',
-    'monthly', 'months', 'montreal', 'mood', 'moon', 'moore', 'moral',
-    'more', 'moreover', 'morgan', 'morning', 'morocco', 'morris',
-    'morrison', 'mortality', 'mortgage', 'mortgages', 'moscow', 'moses',
-    'moss', 'most', 'mostly', 'motel', 'motels', 'mother', 'motherboard',
-    'mothers', 'motion', 'motivated', 'motivation', 'motor', 'motorcycle',
-    'motorcycles', 'motorola', 'motors', 'mount', 'mountain', 'mountains',
-    'mounted', 'mounting', 'mounts', 'mouse', 'mouth', 'move', 'moved',
-    'movement', 'movements', 'movers', 'moves', 'movie', 'movies', 'moving',
-    'mozambique', 'mozilla', 'mpeg', 'mpegs', 'mpg', 'mph', 'mrna', 'mrs',
-    'msg', 'msgid', 'msgstr', 'msie', 'msn', 'mtv', 'much', 'mud', 'mug',
-    'multi', 'multimedia', 'multiple', 'mumbai', 'munich', 'municipal',
-    'municipality', 'murder', 'murphy', 'murray', 'muscle', 'muscles',
-    'museum', 'museums', 'music', 'musical', 'musician', 'musicians',
-    'muslim', 'muslims', 'must', 'mustang', 'mutual', 'muze', 'myanmar',
-    'myers', 'myrtle', 'myself', 'mysimon', 'myspace', 'mysql',
-    'mysterious', 'mystery', 'myth', 'nail', 'nails', 'naked', 'nam',
-    'name', 'named', 'namely', 'names', 'namespace', 'namibia', 'nancy',
-    'nano', 'naples', 'narrative', 'narrow', 'nasa', 'nascar', 'nasdaq',
-    'nashville', 'nasty', 'nat', 'nathan', 'nation', 'national',
-    'nationally', 'nations', 'nationwide', 'native', 'nato', 'natural',
-    'naturally', 'naturals', 'nature', 'naughty', 'nav', 'naval',
-    'navigate', 'navigation', 'navigator', 'navy', 'nba', 'nbc', 'ncaa',
-    'near', 'nearby', 'nearest', 'nearly', 'nebraska', 'nec', 'necessarily',
-    'necessary', 'necessity', 'neck', 'necklace', 'need', 'needed',
-    'needle', 'needs', 'negative', 'negotiation', 'negotiations',
-    'neighbor', 'neighborhood', 'neighbors', 'neil', 'neither', 'nelson',
-    'neo', 'neon', 'nepal', 'nerve', 'nervous', 'nest', 'nested', 'net',
-    'netherlands', 'netscape', 'network', 'networking', 'networks',
-    'neural', 'neutral', 'nevada', 'never', 'nevertheless', 'new', 'newark',
-    'newbie', 'newcastle', 'newer', 'newest', 'newfoundland', 'newly',
-    'newman', 'newport', 'news', 'newsletter', 'newsletters', 'newspaper',
-    'newspapers', 'newton', 'next', 'nextel', 'nfl', 'nhl', 'nhs',
-    'niagara', 'nicaragua', 'nice', 'nicholas', 'nick', 'nickel',
-    'nickname', 'nicole', 'niger', 'nigeria', 'night', 'nightlife',
-    'nightmare', 'nights', 'nike', 'nikon', 'nil', 'nine', 'nintendo',
-    'nirvana', 'nissan', 'nitrogen', 'noble', 'nobody', 'node', 'nodes',
-    'noise', 'nokia', 'nominated', 'nomination', 'nominations', 'non',
-    'none', 'nonprofit', 'noon', 'nor', 'norfolk', 'norm', 'normal',
-    'normally', 'norman', 'north', 'northeast', 'northern', 'northwest',
-    'norton', 'norway', 'norwegian', 'nose', 'not', 'note', 'notebook',
-    'notebooks', 'noted', 'notes', 'nothing', 'notice', 'noticed',
-    'notices', 'notification', 'notifications', 'notified', 'notify',
-    'notion', 'notre', 'nottingham', 'nov', 'nova', 'novel', 'novels',
-    'novelty', 'november', 'now', 'nowhere', 'nsw', 'ntsc', 'nuclear',
-    'nudist', 'nuke', 'null', 'number', 'numbers', 'numeric', 'numerical',
-    'numerous', 'nurse', 'nursery', 'nurses', 'nursing', 'nut', 'nutrition',
-    'nutritional', 'nuts', 'nutten', 'nvidia', 'nyc', 'nylon', 'oak',
-    'oakland', 'oaks', 'oasis', 'obesity', 'obituaries', 'obj', 'object',
-    'objective', 'objectives', 'objects', 'obligation', 'obligations',
-    'observation', 'observations', 'observe', 'observed', 'observer',
-    'obtain', 'obtained', 'obtaining', 'obvious', 'obviously', 'occasion',
-    'occasional', 'occasionally', 'occasions', 'occupation', 'occupational',
-    'occupations', 'occupied', 'occur', 'occurred', 'occurrence',
-    'occurring', 'occurs', 'ocean', 'oclc', 'oct', 'october', 'odd', 'odds',
-    'oecd', 'oem', 'off', 'offense', 'offensive', 'offer', 'offered',
-    'offering', 'offerings', 'offers', 'office', 'officer', 'officers',
-    'offices', 'official', 'officially', 'officials', 'offline', 'offset',
-    'offshore', 'often', 'ohio', 'oil', 'oils', 'okay', 'oklahoma', 'old',
-    'older', 'oldest', 'olive', 'oliver', 'olympic', 'olympics', 'olympus',
-    'omaha', 'oman', 'omega', 'omissions', 'once', 'one', 'ones', 'ongoing',
-    'onion', 'online', 'only', 'ons', 'ontario', 'onto', 'ooo', 'oops',
-    'open', 'opened', 'opening', 'openings', 'opens', 'opera', 'operate',
-    'operated', 'operates', 'operating', 'operation', 'operational',
-    'operations', 'operator', 'operators', 'opinion', 'opinions',
-    'opponent', 'opponents', 'opportunities', 'opportunity', 'opposed',
-    'opposite', 'opposition', 'opt', 'optical', 'optics', 'optimal',
-    'optimization', 'optimize', 'optimum', 'option', 'optional', 'options',
-    'oracle', 'oral', 'orange', 'orbit', 'orchestra', 'order', 'ordered',
-    'ordering', 'orders', 'ordinance', 'ordinary', 'oregon', 'org', 'organ',
-    'organic', 'organisation', 'organisations', 'organisms', 'organization',
-    'organizational', 'organizations', 'organize', 'organized', 'organizer',
-    'organizing', 'oriental', 'orientation', 'oriented', 'origin',
-    'original', 'originally', 'origins', 'orlando', 'orleans', 'oscar',
-    'other', 'others', 'otherwise', 'ottawa', 'ought', 'our', 'ours',
-    'ourselves', 'out', 'outcome', 'outcomes', 'outdoor', 'outdoors',
-    'outer', 'outlet', 'outlets', 'outline', 'outlined', 'outlook',
-    'output', 'outputs', 'outreach', 'outside', 'outsourcing',
-    'outstanding', 'oval', 'oven', 'over', 'overall', 'overcome',
-    'overhead', 'overnight', 'overseas', 'overview', 'owen', 'own', 'owned',
-    'owner', 'owners', 'ownership', 'owns', 'oxford', 'oxide', 'oxygen',
-    'ozone', 'pac', 'pace', 'pacific', 'pack', 'package', 'packages',
-    'packaging', 'packard', 'packed', 'packet', 'packets', 'packing',
-    'packs', 'pad', 'pads', 'page', 'pages', 'paid', 'pain', 'painful',
-    'paint', 'paintball', 'painted', 'painting', 'paintings', 'pair',
-    'pairs', 'pakistan', 'pal', 'palace', 'pale', 'palestine',
-    'palestinian', 'palm', 'palmer', 'pam', 'pamela', 'pan', 'panama',
-    'panasonic', 'panel', 'panels', 'panic', 'pants', 'pantyhose', 'paper',
-    'paperback', 'paperbacks', 'papers', 'papua', 'par', 'para', 'parade',
-    'paradise', 'paragraph', 'paragraphs', 'paraguay', 'parallel',
-    'parameter', 'parameters', 'parcel', 'parent', 'parental', 'parenting',
-    'parents', 'paris', 'parish', 'park', 'parker', 'parking', 'parks',
-    'parliament', 'parliamentary', 'part', 'partial', 'partially',
-    'participant', 'participants', 'participate', 'participated',
-    'participating', 'participation', 'particle', 'particles', 'particular',
-    'particularly', 'parties', 'partition', 'partly', 'partner', 'partners',
-    'partnership', 'partnerships', 'parts', 'party', 'pas', 'paso', 'pass',
-    'passage', 'passed', 'passenger', 'passengers', 'passes', 'passing',
-    'passion', 'passive', 'passport', 'password', 'passwords', 'past',
-    'pasta', 'paste', 'pastor', 'pat', 'patch', 'patches', 'patent',
-    'patents', 'path', 'pathology', 'paths', 'patient', 'patients', 'patio',
-    'patricia', 'patrick', 'patrol', 'pattern', 'patterns', 'paul',
-    'pavilion', 'paxil', 'pay', 'payable', 'payday', 'paying', 'payment',
-    'payments', 'paypal', 'payroll', 'pays', 'pci', 'pcs', 'pct', 'pda',
-    'pdas', 'pdf', 'pdt', 'peace', 'peaceful', 'peak', 'pearl', 'peas',
-    'pediatric', 'pee', 'peeing', 'peer', 'peers', 'pen', 'penalties',
-    'penalty', 'pencil', 'pendant', 'pending', 'penetration', 'penguin',
-    'peninsula', 'penn', 'pennsylvania', 'penny', 'pens', 'pension',
-    'pensions', 'pentium', 'people', 'peoples', 'pepper', 'per',
-    'perceived', 'percent', 'percentage', 'perception', 'perfect',
-    'perfectly', 'perform', 'performance', 'performances', 'performed',
-    'performer', 'performing', 'performs', 'perfume', 'perhaps', 'period',
-    'periodic', 'periodically', 'periods', 'peripheral', 'peripherals',
-    'perl', 'permalink', 'permanent', 'permission', 'permissions', 'permit',
-    'permits', 'permitted', 'perry', 'persian', 'persistent', 'person',
-    'personal', 'personality', 'personalized', 'personally', 'personals',
-    'personnel', 'persons', 'perspective', 'perspectives', 'perth', 'peru',
-    'pest', 'pet', 'pete', 'peter', 'petersburg', 'peterson', 'petite',
-    'petition', 'petroleum', 'pets', 'pgp', 'phantom', 'pharmaceutical',
-    'pharmaceuticals', 'pharmacies', 'pharmacology', 'pharmacy', 'phase',
-    'phases', 'phd', 'phenomenon', 'phentermine', 'phi', 'phil',
-    'philadelphia', 'philip', 'philippines', 'philips', 'phillips',
-    'philosophy', 'phoenix', 'phone', 'phones', 'photo', 'photograph',
-    'photographer', 'photographers', 'photographic', 'photographs',
-    'photography', 'photos', 'photoshop', 'php', 'phpbb', 'phrase',
-    'phrases', 'phys', 'physical', 'physically', 'physician', 'physicians',
-    'physics', 'physiology', 'piano', 'pic', 'pichunter', 'pick', 'picked',
-    'picking', 'picks', 'pickup', 'picnic', 'pics', 'picture', 'pictures',
-    'pie', 'piece', 'pieces', 'pierce', 'pierre', 'pig', 'pike', 'pill',
-    'pillow', 'pills', 'pilot', 'pin', 'pine', 'ping', 'pink', 'pins',
-    'pioneer', 'pipe', 'pipeline', 'pipes', 'pirates', 'pit', 'pitch',
-    'pittsburgh', 'pix', 'pixel', 'pixels', 'pizza', 'place', 'placed',
-    'placement', 'places', 'placing', 'plain', 'plains', 'plaintiff',
-    'plan', 'plane', 'planes', 'planet', 'planets', 'planned', 'planner',
-    'planners', 'planning', 'plans', 'plant', 'plants', 'plasma', 'plastic',
-    'plastics', 'plate', 'plates', 'platform', 'platforms', 'platinum',
-    'play', 'playback', 'played', 'player', 'players', 'playing',
-    'playlist', 'plays', 'playstation', 'plaza', 'plc', 'pleasant',
-    'please', 'pleased', 'pleasure', 'pledge', 'plenty', 'plot', 'plots',
-    'plug', 'plugin', 'plugins', 'plumbing', 'plus', 'plymouth', 'pmc',
-    'pmid', 'pocket', 'pockets', 'pod', 'podcast', 'podcasts', 'poem',
-    'poems', 'poet', 'poetry', 'point', 'pointed', 'pointer', 'pointing',
-    'points', 'poison', 'pokemon', 'poker', 'poland', 'polar', 'pole',
-    'police', 'policies', 'policy', 'polish', 'polished', 'political',
-    'politicians', 'politics', 'poll', 'polls', 'pollution', 'polo', 'poly',
-    'polyester', 'polymer', 'polyphonic', 'pond', 'pontiac', 'pool',
-    'pools', 'poor', 'pop', 'pope', 'popular', 'popularity', 'population',
-    'populations', 'por', 'porcelain', 'pork', 'porsche', 'port',
-    'portable', 'portal', 'porter', 'portfolio', 'portion', 'portions',
-    'portland', 'portrait', 'portraits', 'ports', 'portsmouth', 'portugal',
-    'portuguese', 'pos', 'pose', 'posing', 'position', 'positioning',
-    'positions', 'positive', 'possess', 'possession', 'possibilities',
-    'possibility', 'possible', 'possibly', 'post', 'postage', 'postal',
-    'postcard', 'postcards', 'posted', 'poster', 'posters', 'posting',
-    'postings', 'postposted', 'posts', 'pot', 'potato', 'potatoes',
-    'potential', 'potentially', 'potter', 'pottery', 'poultry', 'pound',
-    'pounds', 'pour', 'poverty', 'powder', 'powell', 'power', 'powered',
-    'powerful', 'powerpoint', 'powers', 'powerseller', 'ppc', 'ppm',
-    'practical', 'practice', 'practices', 'practitioner', 'practitioners',
-    'prague', 'prairie', 'praise', 'pray', 'prayer', 'prayers', 'pre',
-    'preceding', 'precious', 'precipitation', 'precise', 'precisely',
-    'precision', 'predict', 'predicted', 'prediction', 'predictions',
-    'prefer', 'preference', 'preferences', 'preferred', 'prefers', 'prefix',
-    'pregnancy', 'pregnant', 'preliminary', 'premier', 'premiere',
-    'premises', 'premium', 'prep', 'prepaid', 'preparation', 'prepare',
-    'prepared', 'preparing', 'prerequisite', 'prescribed', 'prescription',
-    'presence', 'present', 'presentation', 'presentations', 'presented',
-    'presenting', 'presently', 'presents', 'preservation', 'preserve',
-    'president', 'presidential', 'press', 'pressed', 'pressing', 'pressure',
-    'preston', 'pretty', 'prev', 'prevent', 'preventing', 'prevention',
-    'preview', 'previews', 'previous', 'previously', 'price', 'priced',
-    'prices', 'pricing', 'pride', 'priest', 'primarily', 'primary', 'prime',
-    'prince', 'princess', 'princeton', 'principal', 'principle',
-    'principles', 'print', 'printable', 'printed', 'printer', 'printers',
-    'printing', 'prints', 'prior', 'priorities', 'priority', 'prison',
-    'prisoner', 'prisoners', 'privacy', 'private', 'privilege',
-    'privileges', 'prix', 'prize', 'prizes', 'pro', 'probability',
-    'probably', 'probe', 'problem', 'problems', 'proc', 'procedure',
-    'procedures', 'proceed', 'proceeding', 'proceedings', 'proceeds',
-    'process', 'processed', 'processes', 'processing', 'processor',
-    'processors', 'procurement', 'produce', 'produced', 'producer',
-    'producers', 'produces', 'producing', 'product', 'production',
-    'productions', 'productive', 'productivity', 'products', 'profession',
-    'professional', 'professionals', 'professor', 'profile', 'profiles',
-    'profit', 'profits', 'program', 'programme', 'programmer',
-    'programmers', 'programmes', 'programming', 'programs', 'progress',
-    'progressive', 'prohibited', 'project', 'projected', 'projection',
-    'projector', 'projectors', 'projects', 'prominent', 'promise',
-    'promised', 'promises', 'promising', 'promo', 'promote', 'promoted',
-    'promotes', 'promoting', 'promotion', 'promotional', 'promotions',
-    'prompt', 'promptly', 'proof', 'propecia', 'proper', 'properly',
-    'properties', 'property', 'prophet', 'proportion', 'proposal',
-    'proposals', 'propose', 'proposed', 'proposition', 'proprietary',
-    'pros', 'prospect', 'prospective', 'prospects', 'prostate', 'prostores',
-    'prot', 'protect', 'protected', 'protecting', 'protection',
-    'protective', 'protein', 'proteins', 'protest', 'protocol', 'protocols',
-    'prototype', 'proud', 'proudly', 'prove', 'proved', 'proven', 'provide',
-    'provided', 'providence', 'provider', 'providers', 'provides',
-    'providing', 'province', 'provinces', 'provincial', 'provision',
-    'provisions', 'proxy', 'prozac', 'psi', 'psp', 'pst', 'psychiatry',
-    'psychological', 'psychology', 'pts', 'pty', 'pub', 'public',
-    'publication', 'publications', 'publicity', 'publicly', 'publish',
-    'published', 'publisher', 'publishers', 'publishing', 'pubmed', 'pubs',
-    'puerto', 'pull', 'pulled', 'pulling', 'pulse', 'pump', 'pumps',
-    'punch', 'punishment', 'punk', 'pupils', 'puppy', 'purchase',
-    'purchased', 'purchases', 'purchasing', 'pure', 'purple', 'purpose',
-    'purposes', 'purse', 'pursuant', 'pursue', 'pursuit', 'push', 'pushed',
-    'pushing', 'put', 'puts', 'putting', 'puzzle', 'puzzles', 'pvc',
-    'python', 'qatar', 'qld', 'qty', 'quad', 'qualification',
-    'qualifications', 'qualified', 'qualify', 'qualifying', 'qualities',
-    'quality', 'quantitative', 'quantities', 'quantity', 'quantum',
-    'quarter', 'quarterly', 'quarters', 'que', 'quebec', 'queen', 'queens',
-    'queensland', 'queries', 'query', 'quest', 'question', 'questionnaire',
-    'questions', 'queue', 'qui', 'quick', 'quickly', 'quiet', 'quilt',
-    'quit', 'quite', 'quiz', 'quizzes', 'quotations', 'quote', 'quoted',
-    'quotes', 'rabbit', 'race', 'races', 'rachel', 'racial', 'racing',
-    'rack', 'racks', 'radar', 'radiation', 'radical', 'radio', 'radios',
-    'radius', 'rage', 'raid', 'rail', 'railroad', 'railway', 'rain',
-    'rainbow', 'raise', 'raised', 'raises', 'raising', 'raleigh', 'rally',
-    'ralph', 'ram', 'ran', 'ranch', 'rand', 'random', 'randy', 'range',
-    'ranger', 'rangers', 'ranges', 'ranging', 'rank', 'ranked', 'ranking',
-    'rankings', 'ranks', 'rap', 'rapid', 'rapidly', 'rapids', 'rare',
-    'rarely', 'rat', 'rate', 'rated', 'rates', 'rather', 'rating',
-    'ratings', 'ratio', 'rational', 'ratios', 'rats', 'raw', 'ray',
-    'raymond', 'rays', 'rca', 'reach', 'reached', 'reaches', 'reaching',
-    'reaction', 'reactions', 'read', 'reader', 'readers', 'readily',
-    'reading', 'readings', 'reads', 'ready', 'real', 'realistic', 'reality',
-    'realize', 'realized', 'really', 'realm', 'realtor', 'realtors',
-    'realty', 'rear', 'reason', 'reasonable', 'reasonably', 'reasoning',
-    'reasons', 'rebate', 'rebates', 'rebecca', 'rebel', 'rebound', 'rec',
-    'recall', 'receipt', 'receive', 'received', 'receiver', 'receivers',
-    'receives', 'receiving', 'recent', 'recently', 'reception', 'receptor',
-    'receptors', 'recipe', 'recipes', 'recipient', 'recipients',
-    'recognition', 'recognize', 'recognized', 'recommend', 'recommendation',
-    'recommendations', 'recommended', 'recommends', 'reconstruction',
-    'record', 'recorded', 'recorder', 'recorders', 'recording',
-    'recordings', 'records', 'recover', 'recovered', 'recovery',
-    'recreation', 'recreational', 'recruiting', 'recruitment', 'recycling',
-    'red', 'redeem', 'redhead', 'reduce', 'reduced', 'reduces', 'reducing',
-    'reduction', 'reductions', 'reed', 'reef', 'reel', 'ref', 'refer',
-    'reference', 'referenced', 'references', 'referral', 'referrals',
-    'referred', 'referring', 'refers', 'refinance', 'refine', 'refined',
-    'reflect', 'reflected', 'reflection', 'reflections', 'reflects',
-    'reform', 'reforms', 'refresh', 'refrigerator', 'refugees', 'refund',
-    'refurbished', 'refuse', 'refused', 'reg', 'regard', 'regarded',
-    'regarding', 'regardless', 'regards', 'reggae', 'regime', 'region',
-    'regional', 'regions', 'register', 'registered', 'registrar',
-    'registration', 'registry', 'regression', 'regular', 'regularly',
-    'regulated', 'regulation', 'regulations', 'regulatory', 'rehab',
-    'rehabilitation', 'reid', 'reject', 'rejected', 'relate', 'related',
-    'relates', 'relating', 'relation', 'relations', 'relationship',
-    'relationships', 'relative', 'relatively', 'relatives', 'relax',
-    'relaxation', 'relay', 'release', 'released', 'releases', 'relevance',
-    'relevant', 'reliability', 'reliable', 'reliance', 'relief', 'religion',
-    'religions', 'religious', 'reload', 'relocation', 'rely', 'relying',
-    'remain', 'remainder', 'remained', 'remaining', 'remains', 'remark',
-    'remarkable', 'remarks', 'remedies', 'remedy', 'remember', 'remembered',
-    'remind', 'reminder', 'remix', 'remote', 'removable', 'removal',
-    'remove', 'removed', 'removing', 'renaissance', 'render', 'rendered',
-    'rendering', 'renew', 'renewable', 'renewal', 'reno', 'rent', 'rental',
-    'rentals', 'rep', 'repair', 'repairs', 'repeat', 'repeated', 'replace',
-    'replaced', 'replacement', 'replacing', 'replica', 'replication',
-    'replied', 'replies', 'reply', 'report', 'reported', 'reporter',
-    'reporters', 'reporting', 'reports', 'repository', 'represent',
-    'representation', 'representations', 'representative',
-    'representatives', 'represented', 'representing', 'represents',
-    'reprint', 'reprints', 'reproduce', 'reproduced', 'reproduction',
-    'reproductive', 'republic', 'republican', 'republicans', 'reputation',
-    'request', 'requested', 'requesting', 'requests', 'require', 'required',
-    'requirement', 'requirements', 'requires', 'requiring', 'res', 'rescue',
-    'research', 'researcher', 'researchers', 'reseller', 'reservation',
-    'reservations', 'reserve', 'reserved', 'reserves', 'reservoir', 'reset',
-    'residence', 'resident', 'residential', 'residents', 'resist',
-    'resistance', 'resistant', 'resolution', 'resolutions', 'resolve',
-    'resolved', 'resort', 'resorts', 'resource', 'resources', 'respect',
-    'respected', 'respective', 'respectively', 'respiratory', 'respond',
-    'responded', 'respondent', 'respondents', 'responding', 'response',
-    'responses', 'responsibilities', 'responsibility', 'responsible',
-    'rest', 'restaurant', 'restaurants', 'restoration', 'restore',
-    'restored', 'restrict', 'restricted', 'restriction', 'restrictions',
-    'restructuring', 'result', 'resulted', 'resulting', 'results', 'resume',
-    'resumes', 'retail', 'retailer', 'retailers', 'retain', 'retained',
-    'retention', 'retired', 'retirement', 'retreat', 'retrieval',
-    'retrieve', 'retrieved', 'retro', 'return', 'returned', 'returning',
-    'returns', 'reunion', 'reuters', 'rev', 'reveal', 'revealed', 'reveals',
-    'revelation', 'revenge', 'revenue', 'revenues', 'reverse', 'review',
-    'reviewed', 'reviewer', 'reviewing', 'reviews', 'revised', 'revision',
-    'revisions', 'revolution', 'revolutionary', 'reward', 'rewards',
-    'reynolds', 'rfc', 'rhode', 'rhythm', 'ribbon', 'rica', 'rice', 'rich',
-    'richard', 'richards', 'richardson', 'richmond', 'rick', 'ricky',
-    'rico', 'rid', 'ride', 'rider', 'riders', 'rides', 'ridge', 'riding',
-    'right', 'rights', 'rim', 'ring', 'rings', 'ringtone', 'ringtones',
-    'rio', 'rip', 'ripe', 'rise', 'rising', 'risk', 'risks', 'river',
-    'rivers', 'riverside', 'rna', 'road', 'roads', 'rob', 'robbie',
-    'robert', 'roberts', 'robertson', 'robin', 'robinson', 'robot',
-    'robots', 'robust', 'rochester', 'rock', 'rocket', 'rocks', 'rocky',
-    'rod', 'roger', 'rogers', 'roland', 'role', 'roles', 'roll', 'rolled',
-    'roller', 'rolling', 'rolls', 'rom', 'roman', 'romance', 'romania',
-    'romantic', 'rome', 'ron', 'ronald', 'roof', 'room', 'roommate',
-    'roommates', 'rooms', 'root', 'roots', 'rope', 'rosa', 'rose', 'roses',
-    'ross', 'roster', 'rotary', 'rotation', 'rouge', 'rough', 'roughly',
-    'roulette', 'round', 'rounds', 'route', 'router', 'routers', 'routes',
-    'routine', 'routines', 'routing', 'rover', 'row', 'rows', 'roy',
-    'royal', 'royalty', 'rpg', 'rpm', 'rrp', 'rss', 'rubber', 'ruby', 'rug',
-    'rugby', 'rugs', 'rule', 'ruled', 'rules', 'ruling', 'run', 'runner',
-    'running', 'runs', 'runtime', 'rural', 'rush', 'russell', 'russia',
-    'russian', 'ruth', 'rwanda', 'ryan', 'sacramento', 'sacred',
-    'sacrifice', 'sad', 'saddam', 'safari', 'safe', 'safely', 'safer',
-    'safety', 'sage', 'sagem', 'said', 'sail', 'sailing', 'saint', 'saints',
-    'sake', 'salad', 'salaries', 'salary', 'sale', 'salem', 'sales',
-    'sally', 'salmon', 'salon', 'salt', 'salvador', 'salvation', 'sam',
-    'samba', 'same', 'samoa', 'sample', 'samples', 'sampling', 'samsung',
-    'samuel', 'san', 'sand', 'sandra', 'sandwich', 'sandy', 'sans', 'santa',
-    'sanyo', 'sao', 'sap', 'sapphire', 'sara', 'sarah', 'sas',
-    'saskatchewan', 'sat', 'satellite', 'satin', 'satisfaction',
-    'satisfactory', 'satisfied', 'satisfy', 'saturday', 'saturn', 'sauce',
-    'saudi', 'savage', 'savannah', 'save', 'saved', 'saver', 'saves',
-    'saving', 'savings', 'saw', 'say', 'saying', 'says', 'sbjct', 'scale',
-    'scales', 'scan', 'scanned', 'scanner', 'scanners', 'scanning',
-    'scared', 'scary', 'scenario', 'scenarios', 'scene', 'scenes', 'scenic',
-    'schedule', 'scheduled', 'schedules', 'scheduling', 'schema', 'scheme',
-    'schemes', 'scholar', 'scholars', 'scholarship', 'scholarships',
-    'school', 'schools', 'sci', 'science', 'sciences', 'scientific',
-    'scientist', 'scientists', 'scoop', 'scope', 'score', 'scored',
-    'scores', 'scoring', 'scotia', 'scotland', 'scott', 'scottish', 'scout',
-    'scratch', 'screen', 'screening', 'screens', 'screensaver',
-    'screensavers', 'screenshot', 'screenshots', 'screw', 'script',
-    'scripting', 'scripts', 'scroll', 'scsi', 'scuba', 'sculpture', 'sea',
-    'seafood', 'seal', 'sealed', 'sean', 'search', 'searched', 'searches',
-    'searching', 'seas', 'season', 'seasonal', 'seasons', 'seat', 'seating',
-    'seats', 'seattle', 'sec', 'second', 'secondary', 'seconds', 'secret',
-    'secretariat', 'secretary', 'secrets', 'section', 'sections', 'sector',
-    'sectors', 'secure', 'secured', 'securely', 'securities', 'security',
-    'see', 'seed', 'seeds', 'seeing', 'seek', 'seeker', 'seekers',
-    'seeking', 'seeks', 'seem', 'seemed', 'seems', 'seen', 'sees', 'sega',
-    'segment', 'segments', 'select', 'selected', 'selecting', 'selection',
-    'selections', 'selective', 'self', 'sell', 'seller', 'sellers',
-    'selling', 'sells', 'semester', 'semi', 'semiconductor', 'seminar',
-    'seminars', 'sen', 'senate', 'senator', 'senators', 'send', 'sender',
-    'sending', 'sends', 'senegal', 'senior', 'seniors', 'sense',
-    'sensitive', 'sensitivity', 'sensor', 'sensors', 'sent', 'sentence',
-    'sentences', 'seo', 'sep', 'separate', 'separated', 'separately',
-    'separation', 'sept', 'september', 'seq', 'sequence', 'sequences',
-    'ser', 'serbia', 'serial', 'series', 'serious', 'seriously', 'serum',
-    'serve', 'served', 'server', 'servers', 'serves', 'service', 'services',
-    'serving', 'session', 'sessions', 'set', 'sets', 'setting', 'settings',
-    'settle', 'settled', 'settlement', 'setup', 'seven', 'seventh',
-    'several', 'severe', 'sewing', 'sexual', 'sexuality', 'sexually',
-    'shade', 'shades', 'shadow', 'shadows', 'shaft', 'shake', 'shakespeare',
-    'shakira', 'shall', 'shame', 'shanghai', 'shannon', 'shape', 'shaped',
-    'shapes', 'share', 'shared', 'shareholders', 'shares', 'shareware',
-    'sharing', 'shark', 'sharon', 'sharp', 'shaved', 'shaw', 'she', 'shed',
-    'sheep', 'sheer', 'sheet', 'sheets', 'sheffield', 'shelf', 'shell',
-    'shelter', 'shepherd', 'sheriff', 'sherman', 'shield', 'shift', 'shine',
-    'ship', 'shipment', 'shipments', 'shipped', 'shipping', 'ships',
-    'shirt', 'shirts', 'shock', 'shoe', 'shoes', 'shoot', 'shooting',
-    'shop', 'shopper', 'shoppers', 'shopping', 'shops', 'shopzilla',
-    'shore', 'short', 'shortcuts', 'shorter', 'shortly', 'shorts', 'shot',
-    'shots', 'should', 'shoulder', 'show', 'showcase', 'showed', 'shower',
-    'showers', 'showing', 'shown', 'shows', 'showtimes', 'shut', 'shuttle',
-    'sic', 'sick', 'side', 'sides', 'sie', 'siemens', 'sierra', 'sig',
-    'sight', 'sigma', 'sign', 'signal', 'signals', 'signature',
-    'signatures', 'signed', 'significance', 'significant', 'significantly',
-    'signing', 'signs', 'signup', 'silence', 'silent', 'silicon', 'silk',
-    'silly', 'silver', 'sim', 'similar', 'similarly', 'simon', 'simple',
-    'simplified', 'simply', 'simpson', 'simpsons', 'sims', 'simulation',
-    'simulations', 'simultaneously', 'sin', 'since', 'sing', 'singapore',
-    'singer', 'singh', 'singing', 'single', 'singles', 'sink', 'sip', 'sir',
-    'sister', 'sisters', 'sit', 'site', 'sitemap', 'sites', 'sitting',
-    'situated', 'situation', 'situations', 'six', 'sixth', 'size', 'sized',
-    'sizes', 'skating', 'ski', 'skiing', 'skill', 'skilled', 'skills',
-    'skin', 'skins', 'skip', 'skirt', 'skirts', 'sku', 'sky', 'skype',
-    'slave', 'sleep', 'sleeping', 'sleeps', 'sleeve', 'slide', 'slides',
-    'slideshow', 'slight', 'slightly', 'slim', 'slip', 'slope', 'slot',
-    'slots', 'slovak', 'slovakia', 'slovenia', 'slow', 'slowly', 'small',
-    'smaller', 'smallest', 'smart', 'smell', 'smile', 'smilies', 'smith',
-    'smithsonian', 'smoke', 'smoking', 'smooth', 'sms', 'smtp', 'snake',
-    'snap', 'snapshot', 'snow', 'snowboard', 'soa', 'soap', 'soc', 'soccer',
-    'social', 'societies', 'society', 'sociology', 'socket', 'socks',
-    'sodium', 'sofa', 'soft', 'softball', 'software', 'soil', 'sol',
-    'solar', 'solaris', 'sold', 'soldier', 'soldiers', 'sole', 'solely',
-    'solid', 'solo', 'solomon', 'solution', 'solutions', 'solve', 'solved',
-    'solving', 'soma', 'somalia', 'some', 'somebody', 'somehow', 'someone',
-    'somerset', 'something', 'sometimes', 'somewhat', 'somewhere', 'son',
-    'song', 'songs', 'sonic', 'sons', 'sony', 'soon', 'soonest',
-    'sophisticated', 'sorry', 'sort', 'sorted', 'sorts', 'sought', 'soul',
-    'souls', 'sound', 'sounds', 'soundtrack', 'soup', 'source', 'sources',
-    'south', 'southampton', 'southeast', 'southern', 'southwest', 'soviet',
-    'sox', 'spa', 'space', 'spaces', 'spain', 'spam', 'span', 'spanish',
-    'spank', 'spanking', 'sparc', 'spare', 'spas', 'spatial', 'speak',
-    'speaker', 'speakers', 'speaking', 'speaks', 'spears', 'spec',
-    'special', 'specialist', 'specialists', 'specialized', 'specializing',
-    'specially', 'specials', 'specialties', 'specialty', 'species',
-    'specific', 'specifically', 'specification', 'specifications',
-    'specifics', 'specified', 'specifies', 'specify', 'specs',
-    'spectacular', 'spectrum', 'speech', 'speeches', 'speed', 'speeds',
-    'spell', 'spelling', 'spencer', 'spend', 'spending', 'spent', 'sperm',
-    'sphere', 'spice', 'spider', 'spies', 'spin', 'spine', 'spirit',
-    'spirits', 'spiritual', 'spirituality', 'split', 'spoke', 'spoken',
-    'spokesman', 'sponsor', 'sponsored', 'sponsors', 'sponsorship', 'sport',
-    'sporting', 'sports', 'spot', 'spotlight', 'spots', 'spouse', 'spray',
-    'spread', 'spreading', 'spring', 'springer', 'springfield', 'springs',
-    'sprint', 'spy', 'spyware', 'sql', 'squad', 'square', 'src', 'sri',
-    'ssl', 'stability', 'stable', 'stack', 'stadium', 'staff', 'staffing',
-    'stage', 'stages', 'stainless', 'stake', 'stakeholders', 'stamp',
-    'stamps', 'stan', 'stand', 'standard', 'standards', 'standing',
-    'standings', 'stands', 'stanford', 'stanley', 'star', 'starring',
-    'stars', 'starsmerchant', 'start', 'started', 'starter', 'starting',
-    'starts', 'startup', 'stat', 'state', 'stated', 'statement',
-    'statements', 'states', 'statewide', 'static', 'stating', 'station',
-    'stationery', 'stations', 'statistical', 'statistics', 'stats',
-    'status', 'statute', 'statutes', 'statutory', 'stay', 'stayed',
-    'staying', 'stays', 'std', 'ste', 'steady', 'steal', 'steam', 'steel',
-    'steering', 'stem', 'step', 'stephanie', 'stephen', 'steps', 'stereo',
-    'sterling', 'steve', 'steven', 'stevens', 'stewart', 'stick', 'sticker',
-    'stickers', 'sticks', 'sticky', 'still', 'stock', 'stockholm',
-    'stockings', 'stocks', 'stolen', 'stomach', 'stone', 'stones', 'stood',
-    'stop', 'stopped', 'stopping', 'stops', 'storage', 'store', 'stored',
-    'stores', 'stories', 'storm', 'story', 'str', 'straight', 'strain',
-    'strand', 'strange', 'stranger', 'strap', 'strategic', 'strategies',
-    'strategy', 'stream', 'streaming', 'streams', 'street', 'streets',
-    'strength', 'strengthen', 'strengthening', 'strengths', 'stress',
-    'stretch', 'strict', 'strictly', 'strike', 'strikes', 'striking',
-    'string', 'strings', 'strip', 'stripes', 'strips', 'stroke', 'strong',
-    'stronger', 'strongly', 'struck', 'struct', 'structural', 'structure',
-    'structured', 'structures', 'struggle', 'stuart', 'stuck', 'stud',
-    'student', 'students', 'studied', 'studies', 'studio', 'studios',
-    'study', 'studying', 'stuff', 'stuffed', 'stunning', 'stupid', 'style',
-    'styles', 'stylish', 'stylus', 'sub', 'subaru', 'subcommittee',
-    'subdivision', 'subject', 'subjective', 'subjects', 'sublime',
-    'sublimedirectory', 'submission', 'submissions', 'submit', 'submitted',
-    'submitting', 'subscribe', 'subscriber', 'subscribers', 'subscription',
-    'subscriptions', 'subsection', 'subsequent', 'subsequently',
-    'subsidiaries', 'subsidiary', 'substance', 'substances', 'substantial',
-    'substantially', 'substitute', 'subtle', 'suburban', 'succeed',
-    'success', 'successful', 'successfully', 'such', 'sucking', 'sudan',
-    'sudden', 'suddenly', 'sue', 'suffer', 'suffered', 'suffering',
-    'sufficient', 'sufficiently', 'sugar', 'suggest', 'suggested',
-    'suggesting', 'suggestion', 'suggestions', 'suggests', 'suicide',
-    'suit', 'suitable', 'suite', 'suited', 'suites', 'suits', 'sullivan',
-    'sum', 'summaries', 'summary', 'summer', 'summit', 'sun', 'sunday',
-    'sunglasses', 'sunny', 'sunrise', 'sunset', 'sunshine', 'super',
-    'superb', 'superintendent', 'superior', 'supervision', 'supervisor',
-    'supervisors', 'supplement', 'supplemental', 'supplements', 'supplied',
-    'supplier', 'suppliers', 'supplies', 'supply', 'support', 'supported',
-    'supporters', 'supporting', 'supports', 'suppose', 'supposed',
-    'supreme', 'sur', 'sure', 'surely', 'surf', 'surface', 'surfaces',
-    'surfing', 'surge', 'surgeon', 'surgeons', 'surgery', 'surgical',
-    'surname', 'surplus', 'surprise', 'surprised', 'surprising', 'surrey',
-    'surround', 'surrounded', 'surrounding', 'surveillance', 'survey',
-    'surveys', 'survival', 'survive', 'survivor', 'survivors', 'susan',
-    'suse', 'suspect', 'suspected', 'suspended', 'suspension', 'sussex',
-    'sustainability', 'sustainable', 'sustained', 'suzuki', 'swap',
-    'swaziland', 'sweden', 'swedish', 'sweet', 'swift', 'swim', 'swimming',
-    'swing', 'swingers', 'swiss', 'switch', 'switched', 'switches',
-    'switching', 'switzerland', 'sword', 'sydney', 'symantec', 'symbol',
-    'symbols', 'sympathy', 'symphony', 'symposium', 'symptoms', 'sync',
-    'syndicate', 'syndication', 'syndrome', 'synopsis', 'syntax',
-    'synthesis', 'synthetic', 'syracuse', 'syria', 'sys', 'system',
-    'systematic', 'systems', 'tab', 'table', 'tables', 'tablet', 'tablets',
-    'tabs', 'tackle', 'tactics', 'tag', 'tagged', 'tags', 'tahoe', 'tail',
-    'taiwan', 'take', 'taken', 'takes', 'taking', 'tale', 'talent',
-    'talented', 'tales', 'talk', 'talked', 'talking', 'talks', 'tall',
-    'tamil', 'tampa', 'tan', 'tank', 'tanks', 'tanzania', 'tap', 'tape',
-    'tapes', 'tar', 'target', 'targeted', 'targets', 'tariff', 'task',
-    'tasks', 'taste', 'tattoo', 'taught', 'tax', 'taxation', 'taxes',
-    'taxi', 'taylor', 'tba', 'tcp', 'tea', 'teach', 'teacher', 'teachers',
-    'teaches', 'teaching', 'team', 'teams', 'tear', 'tears', 'tech',
-    'technical', 'technician', 'technique', 'techniques', 'techno',
-    'technological', 'technologies', 'technology', 'techrepublic', 'ted',
-    'teddy', 'tee', 'teen', 'teenage', 'teens', 'teeth', 'tel',
-    'telecharger', 'telecom', 'telecommunications', 'telephone',
-    'telephony', 'telescope', 'television', 'televisions', 'tell',
-    'telling', 'tells', 'temp', 'temperature', 'temperatures', 'template',
-    'templates', 'temple', 'temporal', 'temporarily', 'temporary', 'ten',
-    'tenant', 'tend', 'tender', 'tennessee', 'tennis', 'tension', 'tent',
-    'term', 'terminal', 'terminals', 'termination', 'terminology', 'terms',
-    'terrace', 'terrain', 'terrible', 'territories', 'territory', 'terror',
-    'terrorism', 'terrorist', 'terrorists', 'terry', 'test', 'testament',
-    'tested', 'testimonials', 'testimony', 'testing', 'tests', 'tex',
-    'texas', 'text', 'textbook', 'textbooks', 'textile', 'textiles',
-    'texts', 'texture', 'tft', 'tgp', 'thai', 'thailand', 'than', 'thank',
-    'thanks', 'thanksgiving', 'that', 'thats', 'the', 'theater', 'theaters',
-    'theatre', 'thee', 'theft', 'thehun', 'their', 'them', 'theme',
-    'themes', 'themselves', 'then', 'theology', 'theorem', 'theoretical',
-    'theories', 'theory', 'therapeutic', 'therapist', 'therapy', 'there',
-    'thereafter', 'thereby', 'therefore', 'thereof', 'thermal', 'thesaurus',
-    'these', 'thesis', 'theta', 'they', 'thick', 'thickness', 'thin',
-    'thing', 'things', 'think', 'thinking', 'thinkpad', 'thinks', 'third',
-    'thirty', 'this', 'thomas', 'thompson', 'thomson', 'thong', 'thongs',
-    'thorough', 'thoroughly', 'those', 'thou', 'though', 'thought',
-    'thoughts', 'thousand', 'thousands', 'thread', 'threaded', 'threads',
-    'threat', 'threatened', 'threatening', 'threats', 'three', 'threshold',
-    'thriller', 'throat', 'through', 'throughout', 'throw', 'throwing',
-    'thrown', 'throws', 'thru', 'thu', 'thumb', 'thumbnail', 'thumbnails',
-    'thumbs', 'thumbzilla', 'thunder', 'thursday', 'thus', 'thy', 'ticket',
-    'tickets', 'tide', 'tie', 'tied', 'tier', 'ties', 'tiffany', 'tiger',
-    'tigers', 'tight', 'til', 'tile', 'tiles', 'till', 'tim', 'timber',
-    'time', 'timeline', 'timely', 'timer', 'times', 'timing', 'timothy',
-    'tin', 'tiny', 'tion', 'tions', 'tip', 'tips', 'tire', 'tired', 'tires',
-    'tissue', 'titanium', 'titans', 'title', 'titled', 'titles', 'titten',
-    'tmp', 'tobacco', 'tobago', 'today', 'todd', 'toddler', 'toe',
-    'together', 'toilet', 'token', 'tokyo', 'told', 'tolerance', 'toll',
-    'tom', 'tomato', 'tomatoes', 'tommy', 'tomorrow', 'ton', 'tone',
-    'toner', 'tones', 'tongue', 'tonight', 'tons', 'tony', 'too', 'took',
-    'tool', 'toolbar', 'toolbox', 'toolkit', 'tools', 'tooth', 'top',
-    'topic', 'topics', 'tops', 'toronto', 'torture', 'toshiba', 'total',
-    'totally', 'totals', 'touch', 'touched', 'tough', 'tour', 'touring',
-    'tourism', 'tourist', 'tournament', 'tournaments', 'tours', 'toward',
-    'towards', 'tower', 'towers', 'town', 'towns', 'township', 'toxic',
-    'toy', 'toyota', 'toys', 'trace', 'track', 'trackback', 'trackbacks',
-    'tracked', 'tracker', 'tracking', 'tracks', 'tract', 'tractor', 'tracy',
-    'trade', 'trademark', 'trademarks', 'trader', 'trades', 'trading',
-    'tradition', 'traditional', 'traditions', 'traffic', 'tragedy', 'trail',
-    'trailer', 'trailers', 'trails', 'train', 'trained', 'trainer',
-    'trainers', 'training', 'trains', 'tramadol', 'trance', 'trans',
-    'transaction', 'transactions', 'transcript', 'transcription',
-    'transcripts', 'transexual', 'transexuales', 'transfer', 'transferred',
-    'transfers', 'transform', 'transformation', 'transit', 'transition',
-    'translate', 'translated', 'translation', 'translations', 'translator',
-    'transmission', 'transmit', 'transmitted', 'transparency',
-    'transparent', 'transport', 'transportation', 'transsexual', 'trap',
-    'trash', 'trauma', 'travel', 'traveler', 'travelers', 'traveling',
-    'traveller', 'travelling', 'travels', 'travesti', 'travis', 'tray',
-    'treasure', 'treasurer', 'treasures', 'treasury', 'treat', 'treated',
-    'treating', 'treatment', 'treatments', 'treaty', 'tree', 'trees',
-    'trek', 'trembl', 'tremendous', 'trend', 'trends', 'treo', 'tri',
-    'trial', 'trials', 'triangle', 'tribal', 'tribe', 'tribes', 'tribunal',
-    'tribune', 'tribute', 'trick', 'tricks', 'tried', 'tries', 'trigger',
-    'trim', 'trinidad', 'trinity', 'trio', 'trip', 'tripadvisor', 'triple',
-    'trips', 'triumph', 'trivia', 'troops', 'tropical', 'trouble',
-    'troubleshooting', 'trout', 'troy', 'truck', 'trucks', 'true', 'truly',
-    'trunk', 'trust', 'trusted', 'trustee', 'trustees', 'trusts', 'truth',
-    'try', 'trying', 'tsunami', 'tub', 'tube', 'tubes', 'tucson', 'tue',
-    'tuesday', 'tuition', 'tulsa', 'tumor', 'tune', 'tuner', 'tunes',
-    'tuning', 'tunisia', 'tunnel', 'turbo', 'turkey', 'turkish', 'turn',
-    'turned', 'turner', 'turning', 'turns', 'turtle', 'tutorial',
-    'tutorials', 'tvs', 'twelve', 'twenty', 'twice', 'twiki', 'twin',
-    'twins', 'twist', 'twisted', 'two', 'tyler', 'type', 'types', 'typical',
-    'typically', 'typing', 'uganda', 'ugly', 'ukraine', 'ultimate',
-    'ultimately', 'ultra', 'ultram', 'una', 'unable', 'unauthorized',
-    'unavailable', 'uncertainty', 'uncle', 'und', 'undefined', 'under',
-    'undergraduate', 'underground', 'underlying', 'understand',
-    'understanding', 'understood', 'undertake', 'undertaken', 'underwear',
-    'undo', 'une', 'unemployment', 'unexpected', 'unfortunately', 'uni',
-    'unified', 'uniform', 'union', 'unions', 'uniprotkb', 'unique', 'unit',
-    'united', 'units', 'unity', 'univ', 'universal', 'universe',
-    'universities', 'university', 'unix', 'unknown', 'unless', 'unlike',
-    'unlikely', 'unlimited', 'unlock', 'unnecessary', 'unsigned',
-    'unsubscribe', 'until', 'untitled', 'unto', 'unusual', 'unwrap', 'upc',
-    'upcoming', 'update', 'updated', 'updates', 'updating', 'upgrade',
-    'upgrades', 'upgrading', 'upload', 'uploaded', 'upon', 'upper', 'ups',
-    'upset', 'urban', 'urge', 'urgent', 'uri', 'url', 'urls', 'uruguay',
-    'urw', 'usa', 'usage', 'usb', 'usc', 'usd', 'usda', 'use', 'used',
-    'useful', 'user', 'username', 'users', 'uses', 'usgs', 'using', 'usps',
-    'usr', 'usual', 'usually', 'utah', 'utc', 'utilities', 'utility',
-    'utilization', 'utilize', 'utils', 'uzbekistan', 'vacancies',
-    'vacation', 'vacations', 'vaccine', 'vacuum', 'val', 'valentine',
-    'valid', 'validation', 'validity', 'valium', 'valley', 'valuable',
-    'valuation', 'value', 'valued', 'values', 'valve', 'valves', 'vampire',
-    'van', 'vancouver', 'vanilla', 'var', 'variable', 'variables',
-    'variance', 'variation', 'variations', 'varied', 'varies', 'varieties',
-    'variety', 'various', 'vary', 'varying', 'vast', 'vat', 'vatican',
-    'vault', 'vbulletin', 'vcr', 'vector', 'vegas', 'vegetable',
-    'vegetables', 'vegetarian', 'vegetation', 'vehicle', 'vehicles',
-    'velocity', 'velvet', 'vendor', 'vendors', 'venezuela', 'venice',
-    'venture', 'ventures', 'venue', 'venues', 'ver', 'verbal', 'verde',
-    'verification', 'verified', 'verify', 'verizon', 'vermont', 'vernon',
-    'verse', 'version', 'versions', 'versus', 'vertex', 'vertical', 'very',
-    'verzeichnis', 'vessel', 'vessels', 'veteran', 'veterans', 'veterinary',
-    'vhs', 'via', 'vic', 'vice', 'victim', 'victims', 'victor', 'victoria',
-    'victorian', 'victory', 'vid', 'video', 'videos', 'vids', 'vienna',
-    'vietnam', 'vietnamese', 'view', 'viewed', 'viewer', 'viewers',
-    'viewing', 'viewpicture', 'views', 'vii', 'viii', 'viking', 'villa',
-    'village', 'villages', 'villas', 'vincent', 'vintage', 'vinyl',
-    'violation', 'violations', 'violence', 'violent', 'violin', 'vip',
-    'viral', 'virgin', 'virginia', 'virtual', 'virtually', 'virtue',
-    'virus', 'viruses', 'visa', 'visibility', 'visible', 'vision', 'visit',
-    'visited', 'visiting', 'visitor', 'visitors', 'visits', 'vista',
-    'visual', 'vital', 'vitamin', 'vitamins', 'vocabulary', 'vocal',
-    'vocals', 'vocational', 'voice', 'voices', 'void', 'voip', 'vol',
-    'volkswagen', 'volleyball', 'volt', 'voltage', 'volume', 'volumes',
-    'voluntary', 'volunteer', 'volunteers', 'volvo', 'von', 'vote', 'voted',
-    'voters', 'votes', 'voting', 'voyeurweb', 'voyuer', 'vpn', 'vsnet',
-    'vulnerability', 'vulnerable', 'wage', 'wages', 'wagner', 'wagon',
-    'wait', 'waiting', 'waiver', 'wake', 'wal', 'wales', 'walk', 'walked',
-    'walker', 'walking', 'walks', 'wall', 'wallace', 'wallet', 'wallpaper',
-    'wallpapers', 'walls', 'walnut', 'walt', 'walter', 'wan', 'wanna',
-    'want', 'wanted', 'wanting', 'wants', 'war', 'warcraft', 'ward', 'ware',
-    'warehouse', 'warm', 'warming', 'warned', 'warner', 'warning',
-    'warnings', 'warrant', 'warranties', 'warranty', 'warren', 'warrior',
-    'warriors', 'wars', 'was', 'wash', 'washer', 'washing', 'washington',
-    'waste', 'watch', 'watched', 'watches', 'watching', 'water',
-    'waterproof', 'waters', 'watershed', 'watson', 'watt', 'watts', 'wav',
-    'wave', 'waves', 'wax', 'way', 'wayne', 'ways', 'weak', 'wealth',
-    'weapon', 'weapons', 'wear', 'wearing', 'weather', 'web', 'webcam',
-    'webcams', 'webcast', 'weblog', 'weblogs', 'webmaster', 'webmasters',
-    'webpage', 'webshots', 'website', 'websites', 'webster', 'wed',
-    'wedding', 'weddings', 'wednesday', 'weed', 'week', 'weekend',
-    'weekends', 'weekly', 'weeks', 'weight', 'weighted', 'weights', 'weird',
-    'welcome', 'welding', 'welfare', 'well', 'wellington', 'wellness',
-    'wells', 'welsh', 'wendy', 'went', 'were', 'wesley', 'west', 'western',
-    'westminster', 'wet', 'whale', 'what', 'whatever', 'whats', 'wheat',
-    'wheel', 'wheels', 'when', 'whenever', 'where', 'whereas', 'wherever',
-    'whether', 'which', 'while', 'whilst', 'white', 'who', 'whole',
-    'wholesale', 'whom', 'whose', 'why', 'wichita', 'wicked', 'wide',
-    'widely', 'wider', 'widescreen', 'widespread', 'width', 'wife', 'wifi',
-    'wiki', 'wikipedia', 'wild', 'wilderness', 'wildlife', 'wiley', 'will',
-    'william', 'williams', 'willing', 'willow', 'wilson', 'win', 'wind',
-    'window', 'windows', 'winds', 'windsor', 'wine', 'wines', 'wing',
-    'wings', 'winner', 'winners', 'winning', 'wins', 'winston', 'winter',
-    'wire', 'wired', 'wireless', 'wires', 'wiring', 'wisconsin', 'wisdom',
-    'wise', 'wish', 'wishes', 'wishing', 'wishlist', 'wit', 'witch', 'with',
-    'withdrawal', 'within', 'without', 'witness', 'witnesses', 'wives',
-    'wizard', 'wma', 'wolf', 'woman', 'women', 'womens', 'won', 'wonder',
-    'wonderful', 'wondering', 'wood', 'wooden', 'woods', 'wool',
-    'worcester', 'word', 'wordpress', 'words', 'work', 'worked', 'worker',
-    'workers', 'workflow', 'workforce', 'working', 'workout', 'workplace',
-    'works', 'workshop', 'workshops', 'workstation', 'world', 'worldcat',
-    'worlds', 'worldwide', 'worm', 'worn', 'worried', 'worry', 'worse',
-    'worship', 'worst', 'worth', 'worthy', 'would', 'wound', 'wow', 'wrap',
-    'wrapped', 'wrapping', 'wrestling', 'wright', 'wrist', 'write',
-    'writer', 'writers', 'writes', 'writing', 'writings', 'written',
-    'wrong', 'wrote', 'wto', 'www', 'wyoming', 'xanax', 'xbox', 'xerox',
-    'xhtml', 'xml', 'yacht', 'yahoo', 'yale', 'yamaha', 'yang', 'yard',
-    'yards', 'yarn', 'yea', 'yeah', 'year', 'yearly', 'years', 'yeast',
-    'yellow', 'yemen', 'yen', 'yes', 'yesterday', 'yet', 'yield', 'yields',
-    'yoga', 'york', 'yorkshire', 'you', 'young', 'younger', 'your', 'yours',
-    'yourself', 'youth', 'yrs', 'yugoslavia', 'yukon', 'zambia', 'zdnet',
-    'zealand', 'zen', 'zero', 'zimbabwe', 'zinc', 'zip', 'zoloft', 'zone',
-    'zones', 'zoning', 'zoo', 'zoom', 'zope', 'zshops', 'zum', 'zus']
+
+BLOOD_GROUPS = (
+    "O+",
+    "A+",
+    "B+",
+    "AB+",
+    "O−",
+    "A−",
+    "B−",
+    "AB−",
+)
+
+GENDER_SYMBOLS = ("♂", "♀", "⚲")
+
+GENDER_CODES = (0, 1, 2, 9)
+
+USERNAMES = [
+    "aaa",
+    "aaron",
+    "abandoned",
+    "abc",
+    "aberdeen",
+    "abilities",
+    "ability",
+    "able",
+    "aboriginal",
+    "abortion",
+    "about",
+    "above",
+    "abraham",
+    "abroad",
+    "abs",
+    "absence",
+    "absent",
+    "absolute",
+    "absolutely",
+    "absorption",
+    "abstract",
+    "abstracts",
+    "abu",
+    "abuse",
+    "academic",
+    "academics",
+    "academy",
+    "acc",
+    "accent",
+    "accept",
+    "acceptable",
+    "acceptance",
+    "accepted",
+    "accepting",
+    "accepts",
+    "access",
+    "accessed",
+    "accessibility",
+    "accessible",
+    "accessing",
+    "accessories",
+    "accessory",
+    "accident",
+    "accidents",
+    "accommodate",
+    "accommodation",
+    "accommodations",
+    "accompanied",
+    "accompanying",
+    "accomplish",
+    "accomplished",
+    "accordance",
+    "according",
+    "accordingly",
+    "account",
+    "accountability",
+    "accounting",
+    "accounts",
+    "accreditation",
+    "accredited",
+    "accuracy",
+    "accurate",
+    "accurately",
+    "accused",
+    "acdbentity",
+    "ace",
+    "acer",
+    "achieve",
+    "achieved",
+    "achievement",
+    "achievements",
+    "achieving",
+    "acid",
+    "acids",
+    "acknowledge",
+    "acknowledged",
+    "acm",
+    "acne",
+    "acoustic",
+    "acquire",
+    "acquired",
+    "acquisition",
+    "acquisitions",
+    "acre",
+    "acres",
+    "acrobat",
+    "across",
+    "acrylic",
+    "act",
+    "acting",
+    "action",
+    "actions",
+    "activated",
+    "activation",
+    "active",
+    "actively",
+    "activists",
+    "activities",
+    "activity",
+    "actor",
+    "actors",
+    "actress",
+    "acts",
+    "actual",
+    "actually",
+    "acute",
+    "ada",
+    "adam",
+    "adams",
+    "adaptation",
+    "adapted",
+    "adapter",
+    "adapters",
+    "adaptive",
+    "adaptor",
+    "add",
+    "added",
+    "addiction",
+    "adding",
+    "addition",
+    "additional",
+    "additionally",
+    "additions",
+    "address",
+    "addressed",
+    "addresses",
+    "addressing",
+    "adds",
+    "adelaide",
+    "adequate",
+    "adidas",
+    "adipex",
+    "adjacent",
+    "adjust",
+    "adjustable",
+    "adjusted",
+    "adjustment",
+    "adjustments",
+    "admin",
+    "administered",
+    "administration",
+    "administrative",
+    "administrator",
+    "administrators",
+    "admission",
+    "admissions",
+    "admit",
+    "admitted",
+    "adobe",
+    "adolescent",
+    "adopt",
+    "adopted",
+    "adoption",
+    "adrian",
+    "ads",
+    "adsl",
+    "adult",
+    "adults",
+    "advance",
+    "advanced",
+    "advancement",
+    "advances",
+    "advantage",
+    "advantages",
+    "adventure",
+    "adventures",
+    "adverse",
+    "advert",
+    "advertise",
+    "advertisement",
+    "advertisements",
+    "advertiser",
+    "advertisers",
+    "advertising",
+    "advice",
+    "advise",
+    "advised",
+    "advisor",
+    "advisors",
+    "advisory",
+    "advocacy",
+    "advocate",
+    "adware",
+    "aerial",
+    "aerospace",
+    "affair",
+    "affairs",
+    "affect",
+    "affected",
+    "affecting",
+    "affects",
+    "affiliate",
+    "affiliated",
+    "affiliates",
+    "affiliation",
+    "afford",
+    "affordable",
+    "afghanistan",
+    "afraid",
+    "africa",
+    "african",
+    "after",
+    "afternoon",
+    "afterwards",
+    "again",
+    "against",
+    "age",
+    "aged",
+    "agencies",
+    "agency",
+    "agenda",
+    "agent",
+    "agents",
+    "ages",
+    "aggregate",
+    "aggressive",
+    "aging",
+    "ago",
+    "agree",
+    "agreed",
+    "agreement",
+    "agreements",
+    "agrees",
+    "agricultural",
+    "agriculture",
+    "ahead",
+    "aid",
+    "aids",
+    "aim",
+    "aimed",
+    "aims",
+    "air",
+    "aircraft",
+    "airfare",
+    "airline",
+    "airlines",
+    "airplane",
+    "airport",
+    "airports",
+    "aka",
+    "ala",
+    "alabama",
+    "alan",
+    "alarm",
+    "alaska",
+    "albania",
+    "albany",
+    "albert",
+    "alberta",
+    "album",
+    "albums",
+    "albuquerque",
+    "alcohol",
+    "alert",
+    "alerts",
+    "alex",
+    "alexander",
+    "alexandria",
+    "alfred",
+    "algebra",
+    "algeria",
+    "algorithm",
+    "algorithms",
+    "ali",
+    "alias",
+    "alice",
+    "alien",
+    "align",
+    "alignment",
+    "alike",
+    "alive",
+    "all",
+    "allah",
+    "allan",
+    "alleged",
+    "allen",
+    "allergy",
+    "alliance",
+    "allied",
+    "allocated",
+    "allocation",
+    "allow",
+    "allowance",
+    "allowed",
+    "allowing",
+    "allows",
+    "alloy",
+    "almost",
+    "alone",
+    "along",
+    "alot",
+    "alpha",
+    "alphabetical",
+    "alpine",
+    "already",
+    "also",
+    "alt",
+    "alter",
+    "altered",
+    "alternate",
+    "alternative",
+    "alternatively",
+    "alternatives",
+    "although",
+    "alto",
+    "aluminium",
+    "aluminum",
+    "alumni",
+    "always",
+    "amanda",
+    "amateur",
+    "amazing",
+    "amazon",
+    "ambassador",
+    "amber",
+    "ambien",
+    "ambient",
+    "amd",
+    "amend",
+    "amended",
+    "amendment",
+    "amendments",
+    "amenities",
+    "america",
+    "american",
+    "americans",
+    "americas",
+    "amino",
+    "among",
+    "amongst",
+    "amount",
+    "amounts",
+    "amp",
+    "ampland",
+    "amplifier",
+    "amsterdam",
+    "amy",
+    "ana",
+    "anaheim",
+    "analog",
+    "analysis",
+    "analyst",
+    "analysts",
+    "analytical",
+    "analyze",
+    "analyzed",
+    "analyzes",
+    "anatomy",
+    "anchor",
+    "ancient",
+    "and",
+    "andale",
+    "anderson",
+    "andorra",
+    "andrea",
+    "andreas",
+    "andrew",
+    "andrews",
+    "andy",
+    "angel",
+    "angela",
+    "angeles",
+    "angels",
+    "anger",
+    "angle",
+    "angola",
+    "angry",
+    "animal",
+    "animals",
+    "animated",
+    "animation",
+    "anime",
+    "ann",
+    "anna",
+    "anne",
+    "annex",
+    "annie",
+    "anniversary",
+    "annotated",
+    "annotation",
+    "announce",
+    "announced",
+    "announcement",
+    "announcements",
+    "announces",
+    "annoying",
+    "annual",
+    "annually",
+    "anonymous",
+    "another",
+    "answer",
+    "answered",
+    "answering",
+    "answers",
+    "ant",
+    "antarctica",
+    "antenna",
+    "anthony",
+    "anthropology",
+    "anti",
+    "antibodies",
+    "antibody",
+    "anticipated",
+    "antigua",
+    "antique",
+    "antiques",
+    "antivirus",
+    "antonio",
+    "anxiety",
+    "any",
+    "anybody",
+    "anymore",
+    "anyone",
+    "anything",
+    "anytime",
+    "anyway",
+    "anywhere",
+    "aol",
+    "apache",
+    "apart",
+    "apartment",
+    "apartments",
+    "api",
+    "apnic",
+    "apollo",
+    "app",
+    "apparatus",
+    "apparel",
+    "apparent",
+    "apparently",
+    "appeal",
+    "appeals",
+    "appear",
+    "appearance",
+    "appeared",
+    "appearing",
+    "appears",
+    "appendix",
+    "apple",
+    "appliance",
+    "appliances",
+    "applicable",
+    "applicant",
+    "applicants",
+    "application",
+    "applications",
+    "applied",
+    "applies",
+    "apply",
+    "applying",
+    "appointed",
+    "appointment",
+    "appointments",
+    "appraisal",
+    "appreciate",
+    "appreciated",
+    "appreciation",
+    "approach",
+    "approaches",
+    "appropriate",
+    "appropriations",
+    "approval",
+    "approve",
+    "approved",
+    "approx",
+    "approximate",
+    "approximately",
+    "apps",
+    "apr",
+    "april",
+    "apt",
+    "aqua",
+    "aquarium",
+    "aquatic",
+    "arab",
+    "arabia",
+    "arabic",
+    "arbitrary",
+    "arbitration",
+    "arbor",
+    "arc",
+    "arcade",
+    "arch",
+    "architect",
+    "architects",
+    "architectural",
+    "architecture",
+    "archive",
+    "archived",
+    "archives",
+    "arctic",
+    "are",
+    "area",
+    "areas",
+    "arena",
+    "arg",
+    "argentina",
+    "argue",
+    "argued",
+    "argument",
+    "arguments",
+    "arise",
+    "arising",
+    "arizona",
+    "arkansas",
+    "arlington",
+    "arm",
+    "armed",
+    "armenia",
+    "armor",
+    "arms",
+    "armstrong",
+    "army",
+    "arnold",
+    "around",
+    "arrange",
+    "arranged",
+    "arrangement",
+    "arrangements",
+    "array",
+    "arrest",
+    "arrested",
+    "arrival",
+    "arrivals",
+    "arrive",
+    "arrived",
+    "arrives",
+    "arrow",
+    "art",
+    "arthritis",
+    "arthur",
+    "article",
+    "articles",
+    "artificial",
+    "artist",
+    "artistic",
+    "artists",
+    "arts",
+    "artwork",
+    "aruba",
+    "asbestos",
+    "ascii",
+    "ash",
+    "ashley",
+    "asia",
+    "asian",
+    "aside",
+    "asin",
+    "ask",
+    "asked",
+    "asking",
+    "asks",
+    "asn",
+    "asp",
+    "aspect",
+    "aspects",
+    "assault",
+    "assembled",
+    "assembly",
+    "assess",
+    "assessed",
+    "assessing",
+    "assessment",
+    "assessments",
+    "asset",
+    "assets",
+    "assign",
+    "assigned",
+    "assignment",
+    "assignments",
+    "assist",
+    "assistance",
+    "assistant",
+    "assisted",
+    "assists",
+    "associate",
+    "associated",
+    "associates",
+    "association",
+    "associations",
+    "assume",
+    "assumed",
+    "assumes",
+    "assuming",
+    "assumption",
+    "assumptions",
+    "assurance",
+    "assure",
+    "assured",
+    "asthma",
+    "astrology",
+    "astronomy",
+    "asus",
+    "asylum",
+    "ata",
+    "ate",
+    "athens",
+    "athletes",
+    "athletic",
+    "athletics",
+    "ati",
+    "atlanta",
+    "atlantic",
+    "atlas",
+    "atm",
+    "atmosphere",
+    "atmospheric",
+    "atom",
+    "atomic",
+    "attach",
+    "attached",
+    "attachment",
+    "attachments",
+    "attack",
+    "attacked",
+    "attacks",
+    "attempt",
+    "attempted",
+    "attempting",
+    "attempts",
+    "attend",
+    "attendance",
+    "attended",
+    "attending",
+    "attention",
+    "attitude",
+    "attitudes",
+    "attorney",
+    "attorneys",
+    "attract",
+    "attraction",
+    "attractions",
+    "attractive",
+    "attribute",
+    "attributes",
+    "auburn",
+    "auckland",
+    "auction",
+    "auctions",
+    "aud",
+    "audi",
+    "audience",
+    "audio",
+    "audit",
+    "auditor",
+    "aug",
+    "august",
+    "aurora",
+    "aus",
+    "austin",
+    "australia",
+    "australian",
+    "austria",
+    "authentic",
+    "authentication",
+    "author",
+    "authorities",
+    "authority",
+    "authorization",
+    "authorized",
+    "authors",
+    "auto",
+    "automated",
+    "automatic",
+    "automatically",
+    "automation",
+    "automobile",
+    "automobiles",
+    "automotive",
+    "autos",
+    "autumn",
+    "availability",
+    "available",
+    "avatar",
+    "ave",
+    "avenue",
+    "average",
+    "avg",
+    "avi",
+    "aviation",
+    "avoid",
+    "avoiding",
+    "avon",
+    "award",
+    "awarded",
+    "awards",
+    "aware",
+    "awareness",
+    "away",
+    "awesome",
+    "awful",
+    "axis",
+    "aye",
+    "azerbaijan",
+    "babe",
+    "babes",
+    "babies",
+    "baby",
+    "bachelor",
+    "back",
+    "backed",
+    "background",
+    "backgrounds",
+    "backing",
+    "backup",
+    "bacon",
+    "bacteria",
+    "bacterial",
+    "bad",
+    "badge",
+    "badly",
+    "bag",
+    "baghdad",
+    "bags",
+    "bahamas",
+    "bahrain",
+    "bailey",
+    "baker",
+    "baking",
+    "balance",
+    "balanced",
+    "bald",
+    "bali",
+    "ball",
+    "ballet",
+    "balloon",
+    "ballot",
+    "baltimore",
+    "ban",
+    "banana",
+    "band",
+    "bands",
+    "bandwidth",
+    "bang",
+    "bangkok",
+    "bangladesh",
+    "bank",
+    "banking",
+    "bankruptcy",
+    "banks",
+    "banned",
+    "banner",
+    "banners",
+    "baptist",
+    "bar",
+    "barbados",
+    "barbara",
+    "barbie",
+    "barcelona",
+    "bare",
+    "barely",
+    "bargain",
+    "bargains",
+    "barn",
+    "barnes",
+    "barrel",
+    "barrier",
+    "barriers",
+    "barry",
+    "bars",
+    "base",
+    "baseball",
+    "based",
+    "baseline",
+    "basement",
+    "basename",
+    "bases",
+    "basic",
+    "basically",
+    "basics",
+    "basin",
+    "basis",
+    "basket",
+    "basketball",
+    "baskets",
+    "bass",
+    "bat",
+    "batch",
+    "bath",
+    "bathroom",
+    "bathrooms",
+    "baths",
+    "batman",
+    "batteries",
+    "battery",
+    "battle",
+    "battlefield",
+    "bay",
+    "bbc",
+    "bbs",
+    "beach",
+    "beaches",
+    "beads",
+    "beam",
+    "bean",
+    "beans",
+    "bear",
+    "bearing",
+    "bears",
+    "beast",
+    "beastality",
+    "beat",
+    "beatles",
+    "beats",
+    "beautiful",
+    "beautifully",
+    "beauty",
+    "beaver",
+    "became",
+    "because",
+    "become",
+    "becomes",
+    "becoming",
+    "bed",
+    "bedding",
+    "bedford",
+    "bedroom",
+    "bedrooms",
+    "beds",
+    "bee",
+    "beef",
+    "been",
+    "beer",
+    "before",
+    "began",
+    "begin",
+    "beginner",
+    "beginners",
+    "beginning",
+    "begins",
+    "begun",
+    "behalf",
+    "behavior",
+    "behavioral",
+    "behind",
+    "beijing",
+    "being",
+    "beings",
+    "belarus",
+    "belfast",
+    "belgium",
+    "belief",
+    "beliefs",
+    "believe",
+    "believed",
+    "believes",
+    "belize",
+    "belkin",
+    "bell",
+    "belle",
+    "belly",
+    "belong",
+    "belongs",
+    "below",
+    "belt",
+    "belts",
+    "ben",
+    "bench",
+    "benchmark",
+    "bend",
+    "beneath",
+    "beneficial",
+    "benefit",
+    "benefits",
+    "benjamin",
+    "bennett",
+    "bent",
+    "benz",
+    "berkeley",
+    "berlin",
+    "bermuda",
+    "bernard",
+    "berry",
+    "beside",
+    "besides",
+    "best",
+    "bestsellers",
+    "bet",
+    "beta",
+    "beth",
+    "better",
+    "betting",
+    "betty",
+    "between",
+    "beverage",
+    "beverages",
+    "beverly",
+    "beyond",
+    "bhutan",
+    "bias",
+    "bible",
+    "biblical",
+    "bibliographic",
+    "bibliography",
+    "bicycle",
+    "bid",
+    "bidder",
+    "bidding",
+    "bids",
+    "big",
+    "bigger",
+    "biggest",
+    "bike",
+    "bikes",
+    "bikini",
+    "bill",
+    "billing",
+    "billion",
+    "bills",
+    "billy",
+    "bin",
+    "binary",
+    "bind",
+    "binding",
+    "bingo",
+    "bio",
+    "biodiversity",
+    "biographies",
+    "biography",
+    "biol",
+    "biological",
+    "biology",
+    "bios",
+    "biotechnology",
+    "bird",
+    "birds",
+    "birmingham",
+    "birth",
+    "birthday",
+    "bishop",
+    "bit",
+    "bite",
+    "bits",
+    "biz",
+    "bizarre",
+    "bizrate",
+    "black",
+    "blackberry",
+    "blackjack",
+    "blacks",
+    "blade",
+    "blades",
+    "blah",
+    "blair",
+    "blake",
+    "blame",
+    "blank",
+    "blanket",
+    "blast",
+    "bleeding",
+    "blend",
+    "bless",
+    "blessed",
+    "blind",
+    "blink",
+    "block",
+    "blocked",
+    "blocking",
+    "blocks",
+    "blog",
+    "blogger",
+    "bloggers",
+    "blogging",
+    "blogs",
+    "blond",
+    "blonde",
+    "blood",
+    "bloom",
+    "bloomberg",
+    "blow",
+    "blowing",
+    "blue",
+    "blues",
+    "bluetooth",
+    "blvd",
+    "bmw",
+    "board",
+    "boards",
+    "boat",
+    "boating",
+    "boats",
+    "bob",
+    "bobby",
+    "boc",
+    "bodies",
+    "body",
+    "bold",
+    "bolivia",
+    "bolt",
+    "bomb",
+    "bon",
+    "bond",
+    "bonds",
+    "bone",
+    "bones",
+    "bonus",
+    "book",
+    "booking",
+    "bookings",
+    "bookmark",
+    "bookmarks",
+    "books",
+    "bookstore",
+    "bool",
+    "boolean",
+    "boom",
+    "boost",
+    "boot",
+    "booth",
+    "boots",
+    "booty",
+    "border",
+    "borders",
+    "bored",
+    "boring",
+    "born",
+    "borough",
+    "bosnia",
+    "boss",
+    "boston",
+    "both",
+    "bother",
+    "botswana",
+    "bottle",
+    "bottles",
+    "bottom",
+    "bought",
+    "boulder",
+    "boulevard",
+    "bound",
+    "boundaries",
+    "boundary",
+    "bouquet",
+    "boutique",
+    "bow",
+    "bowl",
+    "bowling",
+    "box",
+    "boxed",
+    "boxes",
+    "boxing",
+    "boy",
+    "boys",
+    "bra",
+    "bracelet",
+    "bracelets",
+    "bracket",
+    "brad",
+    "bradford",
+    "bradley",
+    "brain",
+    "brake",
+    "brakes",
+    "branch",
+    "branches",
+    "brand",
+    "brandon",
+    "brands",
+    "bras",
+    "brass",
+    "brave",
+    "brazil",
+    "brazilian",
+    "breach",
+    "bread",
+    "break",
+    "breakdown",
+    "breakfast",
+    "breaking",
+    "breaks",
+    "breast",
+    "breath",
+    "breathing",
+    "breed",
+    "breeding",
+    "breeds",
+    "brian",
+    "brick",
+    "bridal",
+    "bride",
+    "bridge",
+    "bridges",
+    "brief",
+    "briefing",
+    "briefly",
+    "briefs",
+    "bright",
+    "brighton",
+    "brilliant",
+    "bring",
+    "bringing",
+    "brings",
+    "brisbane",
+    "bristol",
+    "britain",
+    "britannica",
+    "british",
+    "britney",
+    "broad",
+    "broadband",
+    "broadcast",
+    "broadcasting",
+    "broader",
+    "broadway",
+    "brochure",
+    "brochures",
+    "broke",
+    "broken",
+    "broker",
+    "brokers",
+    "bronze",
+    "brook",
+    "brooklyn",
+    "brooks",
+    "brother",
+    "brothers",
+    "brought",
+    "brown",
+    "browse",
+    "browser",
+    "browsers",
+    "browsing",
+    "bruce",
+    "brunei",
+    "brunette",
+    "brunswick",
+    "brush",
+    "brussels",
+    "brutal",
+    "bryan",
+    "bryant",
+    "bubble",
+    "buck",
+    "bucks",
+    "budapest",
+    "buddy",
+    "budget",
+    "budgets",
+    "buf",
+    "buffalo",
+    "buffer",
+    "bufing",
+    "bug",
+    "bugs",
+    "build",
+    "builder",
+    "builders",
+    "building",
+    "buildings",
+    "builds",
+    "built",
+    "bulgaria",
+    "bulgarian",
+    "bulk",
+    "bull",
+    "bullet",
+    "bulletin",
+    "bumper",
+    "bunch",
+    "bundle",
+    "bunny",
+    "burden",
+    "bureau",
+    "buried",
+    "burke",
+    "burlington",
+    "burn",
+    "burner",
+    "burning",
+    "burns",
+    "burst",
+    "burton",
+    "bus",
+    "buses",
+    "bush",
+    "business",
+    "businesses",
+    "busy",
+    "but",
+    "butler",
+    "butter",
+    "butterfly",
+    "button",
+    "buttons",
+    "butts",
+    "buy",
+    "buyer",
+    "buyers",
+    "buying",
+    "buys",
+    "buzz",
+    "bye",
+    "byte",
+    "bytes",
+    "cab",
+    "cabin",
+    "cabinet",
+    "cabinets",
+    "cable",
+    "cables",
+    "cache",
+    "cached",
+    "cad",
+    "cadillac",
+    "cafe",
+    "cage",
+    "cake",
+    "cakes",
+    "cal",
+    "calcium",
+    "calculate",
+    "calculated",
+    "calculation",
+    "calculations",
+    "calculator",
+    "calculators",
+    "calendar",
+    "calendars",
+    "calgary",
+    "calibration",
+    "california",
+    "call",
+    "called",
+    "calling",
+    "calls",
+    "calm",
+    "calvin",
+    "cam",
+    "cambodia",
+    "cambridge",
+    "camcorder",
+    "camcorders",
+    "came",
+    "camel",
+    "camera",
+    "cameras",
+    "cameron",
+    "cameroon",
+    "camp",
+    "campaign",
+    "campaigns",
+    "campbell",
+    "camping",
+    "camps",
+    "campus",
+    "cams",
+    "can",
+    "canada",
+    "canadian",
+    "canal",
+    "canberra",
+    "cancel",
+    "cancellation",
+    "cancelled",
+    "cancer",
+    "candidate",
+    "candidates",
+    "candle",
+    "candles",
+    "candy",
+    "cannon",
+    "canon",
+    "cant",
+    "canvas",
+    "canyon",
+    "cap",
+    "capabilities",
+    "capability",
+    "capable",
+    "capacity",
+    "cape",
+    "capital",
+    "capitol",
+    "caps",
+    "captain",
+    "capture",
+    "captured",
+    "car",
+    "carb",
+    "carbon",
+    "card",
+    "cardiac",
+    "cardiff",
+    "cardiovascular",
+    "cards",
+    "care",
+    "career",
+    "careers",
+    "careful",
+    "carefully",
+    "carey",
+    "cargo",
+    "caribbean",
+    "caring",
+    "carl",
+    "carlo",
+    "carlos",
+    "carmen",
+    "carnival",
+    "carol",
+    "carolina",
+    "caroline",
+    "carpet",
+    "carried",
+    "carrier",
+    "carriers",
+    "carries",
+    "carroll",
+    "carry",
+    "carrying",
+    "cars",
+    "cart",
+    "carter",
+    "cartoon",
+    "cartoons",
+    "cartridge",
+    "cartridges",
+    "cas",
+    "casa",
+    "case",
+    "cases",
+    "casey",
+    "cash",
+    "cashiers",
+    "casino",
+    "casinos",
+    "casio",
+    "cassette",
+    "cast",
+    "casting",
+    "castle",
+    "casual",
+    "cat",
+    "catalog",
+    "catalogs",
+    "catalogue",
+    "catalyst",
+    "catch",
+    "categories",
+    "category",
+    "catering",
+    "cathedral",
+    "catherine",
+    "catholic",
+    "cats",
+    "cattle",
+    "caught",
+    "cause",
+    "caused",
+    "causes",
+    "causing",
+    "caution",
+    "cave",
+    "cayman",
+    "cbs",
+    "ccd",
+    "cdna",
+    "cds",
+    "cdt",
+    "cedar",
+    "ceiling",
+    "celebrate",
+    "celebration",
+    "celebrities",
+    "celebrity",
+    "celebs",
+    "cell",
+    "cells",
+    "cellular",
+    "celtic",
+    "cement",
+    "cemetery",
+    "census",
+    "cent",
+    "center",
+    "centered",
+    "centers",
+    "central",
+    "centre",
+    "centres",
+    "cents",
+    "centuries",
+    "century",
+    "ceo",
+    "ceramic",
+    "ceremony",
+    "certain",
+    "certainly",
+    "certificate",
+    "certificates",
+    "certification",
+    "certified",
+    "cet",
+    "cfr",
+    "cgi",
+    "chad",
+    "chain",
+    "chains",
+    "chair",
+    "chairman",
+    "chairs",
+    "challenge",
+    "challenged",
+    "challenges",
+    "challenging",
+    "chamber",
+    "chambers",
+    "champagne",
+    "champion",
+    "champions",
+    "championship",
+    "championships",
+    "chan",
+    "chance",
+    "chancellor",
+    "chances",
+    "change",
+    "changed",
+    "changelog",
+    "changes",
+    "changing",
+    "channel",
+    "channels",
+    "chaos",
+    "chapel",
+    "chapter",
+    "chapters",
+    "char",
+    "character",
+    "characteristic",
+    "characteristics",
+    "characterization",
+    "characterized",
+    "characters",
+    "charge",
+    "charged",
+    "charger",
+    "chargers",
+    "charges",
+    "charging",
+    "charitable",
+    "charity",
+    "charles",
+    "charleston",
+    "charlie",
+    "charlotte",
+    "charm",
+    "charming",
+    "charms",
+    "chart",
+    "charter",
+    "charts",
+    "chase",
+    "chassis",
+    "chat",
+    "cheap",
+    "cheaper",
+    "cheapest",
+    "cheat",
+    "cheats",
+    "check",
+    "checked",
+    "checking",
+    "checklist",
+    "checkout",
+    "checks",
+    "cheers",
+    "cheese",
+    "chef",
+    "chelsea",
+    "chem",
+    "chemical",
+    "chemicals",
+    "chemistry",
+    "chen",
+    "cheque",
+    "cherry",
+    "chess",
+    "chest",
+    "chester",
+    "chevrolet",
+    "chevy",
+    "chi",
+    "chicago",
+    "chick",
+    "chicken",
+    "chicks",
+    "chief",
+    "child",
+    "childhood",
+    "children",
+    "childrens",
+    "chile",
+    "china",
+    "chinese",
+    "chip",
+    "chips",
+    "cho",
+    "chocolate",
+    "choice",
+    "choices",
+    "choir",
+    "cholesterol",
+    "choose",
+    "choosing",
+    "chorus",
+    "chose",
+    "chosen",
+    "chris",
+    "christ",
+    "christian",
+    "christianity",
+    "christians",
+    "christina",
+    "christine",
+    "christmas",
+    "christopher",
+    "chrome",
+    "chronic",
+    "chronicle",
+    "chronicles",
+    "chrysler",
+    "chubby",
+    "chuck",
+    "church",
+    "churches",
+    "cia",
+    "cialis",
+    "ciao",
+    "cigarette",
+    "cigarettes",
+    "cincinnati",
+    "cindy",
+    "cinema",
+    "cingular",
+    "cio",
+    "cir",
+    "circle",
+    "circles",
+    "circuit",
+    "circuits",
+    "circular",
+    "circulation",
+    "circumstances",
+    "circus",
+    "cisco",
+    "citation",
+    "citations",
+    "cite",
+    "cited",
+    "cities",
+    "citizen",
+    "citizens",
+    "citizenship",
+    "city",
+    "citysearch",
+    "civic",
+    "civil",
+    "civilian",
+    "civilization",
+    "claim",
+    "claimed",
+    "claims",
+    "claire",
+    "clan",
+    "clara",
+    "clarity",
+    "clark",
+    "clarke",
+    "class",
+    "classes",
+    "classic",
+    "classical",
+    "classics",
+    "classification",
+    "classified",
+    "classifieds",
+    "classroom",
+    "clause",
+    "clay",
+    "clean",
+    "cleaner",
+    "cleaners",
+    "cleaning",
+    "cleanup",
+    "clear",
+    "clearance",
+    "cleared",
+    "clearing",
+    "clearly",
+    "clerk",
+    "cleveland",
+    "click",
+    "clicking",
+    "clicks",
+    "client",
+    "clients",
+    "cliff",
+    "climate",
+    "climb",
+    "climbing",
+    "clinic",
+    "clinical",
+    "clinics",
+    "clinton",
+    "clip",
+    "clips",
+    "clock",
+    "clocks",
+    "clone",
+    "close",
+    "closed",
+    "closely",
+    "closer",
+    "closes",
+    "closest",
+    "closing",
+    "closure",
+    "cloth",
+    "clothes",
+    "clothing",
+    "cloud",
+    "clouds",
+    "cloudy",
+    "club",
+    "clubs",
+    "cluster",
+    "clusters",
+    "cms",
+    "cnet",
+    "cnn",
+    "coach",
+    "coaches",
+    "coaching",
+    "coal",
+    "coalition",
+    "coast",
+    "coastal",
+    "coat",
+    "coated",
+    "coating",
+    "cocktail",
+    "cod",
+    "code",
+    "codes",
+    "coding",
+    "coffee",
+    "cognitive",
+    "cohen",
+    "coin",
+    "coins",
+    "col",
+    "cold",
+    "cole",
+    "coleman",
+    "colin",
+    "collaboration",
+    "collaborative",
+    "collapse",
+    "collar",
+    "colleague",
+    "colleagues",
+    "collect",
+    "collectables",
+    "collected",
+    "collectible",
+    "collectibles",
+    "collecting",
+    "collection",
+    "collections",
+    "collective",
+    "collector",
+    "collectors",
+    "college",
+    "colleges",
+    "collins",
+    "cologne",
+    "colombia",
+    "colon",
+    "colonial",
+    "colony",
+    "color",
+    "colorado",
+    "colored",
+    "colors",
+    "columbia",
+    "columbus",
+    "column",
+    "columnists",
+    "columns",
+    "com",
+    "combat",
+    "combination",
+    "combinations",
+    "combine",
+    "combined",
+    "combines",
+    "combining",
+    "combo",
+    "come",
+    "comedy",
+    "comes",
+    "comfort",
+    "comfortable",
+    "comic",
+    "comics",
+    "coming",
+    "comm",
+    "command",
+    "commander",
+    "commands",
+    "comment",
+    "commentary",
+    "commented",
+    "comments",
+    "commerce",
+    "commercial",
+    "commission",
+    "commissioner",
+    "commissioners",
+    "commissions",
+    "commit",
+    "commitment",
+    "commitments",
+    "committed",
+    "committee",
+    "committees",
+    "commodities",
+    "commodity",
+    "common",
+    "commonly",
+    "commons",
+    "commonwealth",
+    "communicate",
+    "communication",
+    "communications",
+    "communist",
+    "communities",
+    "community",
+    "comp",
+    "compact",
+    "companies",
+    "companion",
+    "company",
+    "compaq",
+    "comparable",
+    "comparative",
+    "compare",
+    "compared",
+    "comparing",
+    "comparison",
+    "comparisons",
+    "compatibility",
+    "compatible",
+    "compensation",
+    "compete",
+    "competent",
+    "competing",
+    "competition",
+    "competitions",
+    "competitive",
+    "competitors",
+    "compilation",
+    "compile",
+    "compiled",
+    "compiler",
+    "complaint",
+    "complaints",
+    "complement",
+    "complete",
+    "completed",
+    "completely",
+    "completing",
+    "completion",
+    "complex",
+    "complexity",
+    "compliance",
+    "compliant",
+    "complicated",
+    "complications",
+    "complimentary",
+    "comply",
+    "component",
+    "components",
+    "composed",
+    "composer",
+    "composite",
+    "composition",
+    "compound",
+    "compounds",
+    "comprehensive",
+    "compressed",
+    "compression",
+    "compromise",
+    "computation",
+    "computational",
+    "compute",
+    "computed",
+    "computer",
+    "computers",
+    "computing",
+    "con",
+    "concentrate",
+    "concentration",
+    "concentrations",
+    "concept",
+    "concepts",
+    "conceptual",
+    "concern",
+    "concerned",
+    "concerning",
+    "concerns",
+    "concert",
+    "concerts",
+    "conclude",
+    "concluded",
+    "conclusion",
+    "conclusions",
+    "concord",
+    "concrete",
+    "condition",
+    "conditional",
+    "conditioning",
+    "conditions",
+    "condo",
+    "condos",
+    "conduct",
+    "conducted",
+    "conducting",
+    "conf",
+    "conference",
+    "conferences",
+    "conferencing",
+    "confidence",
+    "confident",
+    "confidential",
+    "confidentiality",
+    "config",
+    "configuration",
+    "configurations",
+    "configure",
+    "configured",
+    "configuring",
+    "confirm",
+    "confirmation",
+    "confirmed",
+    "conflict",
+    "conflicts",
+    "confused",
+    "confusion",
+    "congo",
+    "congratulations",
+    "congress",
+    "congressional",
+    "conjunction",
+    "connect",
+    "connected",
+    "connecticut",
+    "connecting",
+    "connection",
+    "connections",
+    "connectivity",
+    "connector",
+    "connectors",
+    "cons",
+    "conscious",
+    "consciousness",
+    "consecutive",
+    "consensus",
+    "consent",
+    "consequence",
+    "consequences",
+    "consequently",
+    "conservation",
+    "conservative",
+    "consider",
+    "considerable",
+    "consideration",
+    "considerations",
+    "considered",
+    "considering",
+    "considers",
+    "consist",
+    "consistency",
+    "consistent",
+    "consistently",
+    "consisting",
+    "consists",
+    "console",
+    "consoles",
+    "consolidated",
+    "consolidation",
+    "consortium",
+    "conspiracy",
+    "const",
+    "constant",
+    "constantly",
+    "constitute",
+    "constitutes",
+    "constitution",
+    "constitutional",
+    "constraint",
+    "constraints",
+    "construct",
+    "constructed",
+    "construction",
+    "consult",
+    "consultancy",
+    "consultant",
+    "consultants",
+    "consultation",
+    "consulting",
+    "consumer",
+    "consumers",
+    "consumption",
+    "contact",
+    "contacted",
+    "contacting",
+    "contacts",
+    "contain",
+    "contained",
+    "container",
+    "containers",
+    "containing",
+    "contains",
+    "contamination",
+    "contemporary",
+    "content",
+    "contents",
+    "contest",
+    "contests",
+    "context",
+    "continent",
+    "continental",
+    "continually",
+    "continue",
+    "continued",
+    "continues",
+    "continuing",
+    "continuity",
+    "continuous",
+    "continuously",
+    "contract",
+    "contracting",
+    "contractor",
+    "contractors",
+    "contracts",
+    "contrary",
+    "contrast",
+    "contribute",
+    "contributed",
+    "contributing",
+    "contribution",
+    "contributions",
+    "contributor",
+    "contributors",
+    "control",
+    "controlled",
+    "controller",
+    "controllers",
+    "controlling",
+    "controls",
+    "controversial",
+    "controversy",
+    "convenience",
+    "convenient",
+    "convention",
+    "conventional",
+    "conventions",
+    "convergence",
+    "conversation",
+    "conversations",
+    "conversion",
+    "convert",
+    "converted",
+    "converter",
+    "convertible",
+    "convicted",
+    "conviction",
+    "convinced",
+    "cook",
+    "cookbook",
+    "cooked",
+    "cookie",
+    "cookies",
+    "cooking",
+    "cool",
+    "cooler",
+    "cooling",
+    "cooper",
+    "cooperation",
+    "cooperative",
+    "coordinate",
+    "coordinated",
+    "coordinates",
+    "coordination",
+    "coordinator",
+    "cop",
+    "cope",
+    "copied",
+    "copies",
+    "copper",
+    "copy",
+    "copying",
+    "copyright",
+    "copyrighted",
+    "copyrights",
+    "coral",
+    "cord",
+    "cordless",
+    "core",
+    "cork",
+    "corn",
+    "cornell",
+    "corner",
+    "corners",
+    "cornwall",
+    "corp",
+    "corporate",
+    "corporation",
+    "corporations",
+    "corps",
+    "corpus",
+    "correct",
+    "corrected",
+    "correction",
+    "corrections",
+    "correctly",
+    "correlation",
+    "correspondence",
+    "corresponding",
+    "corruption",
+    "cos",
+    "cosmetic",
+    "cosmetics",
+    "cost",
+    "costa",
+    "costs",
+    "costume",
+    "costumes",
+    "cottage",
+    "cottages",
+    "cotton",
+    "could",
+    "council",
+    "councils",
+    "counsel",
+    "counseling",
+    "count",
+    "counted",
+    "counter",
+    "counters",
+    "counties",
+    "counting",
+    "countries",
+    "country",
+    "counts",
+    "county",
+    "couple",
+    "coupled",
+    "couples",
+    "coupon",
+    "coupons",
+    "courage",
+    "courier",
+    "course",
+    "courses",
+    "court",
+    "courtesy",
+    "courts",
+    "cove",
+    "cover",
+    "coverage",
+    "covered",
+    "covering",
+    "covers",
+    "cow",
+    "cowboy",
+    "cpu",
+    "crack",
+    "cradle",
+    "craft",
+    "crafts",
+    "craig",
+    "craps",
+    "crash",
+    "crawford",
+    "crazy",
+    "cream",
+    "create",
+    "created",
+    "creates",
+    "creating",
+    "creation",
+    "creations",
+    "creative",
+    "creativity",
+    "creator",
+    "creature",
+    "creatures",
+    "credit",
+    "credits",
+    "creek",
+    "crest",
+    "crew",
+    "cricket",
+    "crime",
+    "crimes",
+    "criminal",
+    "crisis",
+    "criteria",
+    "criterion",
+    "critical",
+    "criticism",
+    "critics",
+    "crm",
+    "croatia",
+    "crop",
+    "crops",
+    "cross",
+    "crossing",
+    "crossword",
+    "crowd",
+    "crown",
+    "crucial",
+    "crude",
+    "cruise",
+    "cruises",
+    "cruz",
+    "cry",
+    "crystal",
+    "css",
+    "cst",
+    "ctrl",
+    "cuba",
+    "cube",
+    "cubic",
+    "cuisine",
+    "cult",
+    "cultural",
+    "culture",
+    "cultures",
+    "cumulative",
+    "cup",
+    "cups",
+    "cure",
+    "curious",
+    "currencies",
+    "currency",
+    "current",
+    "currently",
+    "curriculum",
+    "cursor",
+    "curtis",
+    "curve",
+    "curves",
+    "custody",
+    "custom",
+    "customer",
+    "customers",
+    "customize",
+    "customized",
+    "customs",
+    "cut",
+    "cute",
+    "cuts",
+    "cutting",
+    "cvs",
+    "cyber",
+    "cycle",
+    "cycles",
+    "cycling",
+    "cylinder",
+    "cyprus",
+    "czech",
+    "dad",
+    "daddy",
+    "daily",
+    "dairy",
+    "daisy",
+    "dakota",
+    "dale",
+    "dallas",
+    "dam",
+    "damage",
+    "damaged",
+    "damages",
+    "dame",
+    "dan",
+    "dana",
+    "dance",
+    "dancing",
+    "danger",
+    "dangerous",
+    "daniel",
+    "danish",
+    "danny",
+    "dans",
+    "dare",
+    "dark",
+    "darkness",
+    "darwin",
+    "das",
+    "dash",
+    "dat",
+    "data",
+    "database",
+    "databases",
+    "date",
+    "dated",
+    "dates",
+    "dating",
+    "daughter",
+    "daughters",
+    "dave",
+    "david",
+    "davidson",
+    "davis",
+    "dawn",
+    "day",
+    "days",
+    "dayton",
+    "ddr",
+    "dead",
+    "deadline",
+    "deadly",
+    "deaf",
+    "deal",
+    "dealer",
+    "dealers",
+    "dealing",
+    "deals",
+    "dealt",
+    "dealtime",
+    "dean",
+    "dear",
+    "death",
+    "deaths",
+    "debate",
+    "debian",
+    "deborah",
+    "debt",
+    "debug",
+    "debut",
+    "dec",
+    "decade",
+    "decades",
+    "december",
+    "decent",
+    "decide",
+    "decided",
+    "decimal",
+    "decision",
+    "decisions",
+    "deck",
+    "declaration",
+    "declare",
+    "declared",
+    "decline",
+    "declined",
+    "decor",
+    "decorating",
+    "decorative",
+    "decrease",
+    "decreased",
+    "dedicated",
+    "dee",
+    "deemed",
+    "deep",
+    "deeper",
+    "deeply",
+    "deer",
+    "def",
+    "default",
+    "defeat",
+    "defects",
+    "defence",
+    "defend",
+    "defendant",
+    "defense",
+    "defensive",
+    "deferred",
+    "deficit",
+    "define",
+    "defined",
+    "defines",
+    "defining",
+    "definitely",
+    "definition",
+    "definitions",
+    "degree",
+    "degrees",
+    "del",
+    "delaware",
+    "delay",
+    "delayed",
+    "delays",
+    "delegation",
+    "delete",
+    "deleted",
+    "delhi",
+    "delicious",
+    "delight",
+    "deliver",
+    "delivered",
+    "delivering",
+    "delivers",
+    "delivery",
+    "dell",
+    "delta",
+    "deluxe",
+    "dem",
+    "demand",
+    "demanding",
+    "demands",
+    "demo",
+    "democracy",
+    "democrat",
+    "democratic",
+    "democrats",
+    "demographic",
+    "demonstrate",
+    "demonstrated",
+    "demonstrates",
+    "demonstration",
+    "den",
+    "denial",
+    "denied",
+    "denmark",
+    "dennis",
+    "dense",
+    "density",
+    "dental",
+    "dentists",
+    "denver",
+    "deny",
+    "department",
+    "departmental",
+    "departments",
+    "departure",
+    "depend",
+    "dependence",
+    "dependent",
+    "depending",
+    "depends",
+    "deployment",
+    "deposit",
+    "deposits",
+    "depot",
+    "depression",
+    "dept",
+    "depth",
+    "deputy",
+    "der",
+    "derby",
+    "derek",
+    "derived",
+    "des",
+    "descending",
+    "describe",
+    "described",
+    "describes",
+    "describing",
+    "description",
+    "descriptions",
+    "desert",
+    "deserve",
+    "design",
+    "designated",
+    "designation",
+    "designed",
+    "designer",
+    "designers",
+    "designing",
+    "designs",
+    "desirable",
+    "desire",
+    "desired",
+    "desk",
+    "desktop",
+    "desktops",
+    "desperate",
+    "despite",
+    "destination",
+    "destinations",
+    "destiny",
+    "destroy",
+    "destroyed",
+    "destruction",
+    "detail",
+    "detailed",
+    "details",
+    "detect",
+    "detected",
+    "detection",
+    "detective",
+    "detector",
+    "determination",
+    "determine",
+    "determined",
+    "determines",
+    "determining",
+    "detroit",
+    "deutsch",
+    "deutsche",
+    "deutschland",
+    "dev",
+    "devel",
+    "develop",
+    "developed",
+    "developer",
+    "developers",
+    "developing",
+    "development",
+    "developmental",
+    "developments",
+    "develops",
+    "deviant",
+    "deviation",
+    "device",
+    "devices",
+    "devil",
+    "devon",
+    "devoted",
+    "diabetes",
+    "diagnosis",
+    "diagnostic",
+    "diagram",
+    "dial",
+    "dialog",
+    "dialogue",
+    "diameter",
+    "diamond",
+    "diamonds",
+    "diana",
+    "diane",
+    "diary",
+    "dice",
+    "dicke",
+    "dictionaries",
+    "dictionary",
+    "did",
+    "die",
+    "died",
+    "diego",
+    "dies",
+    "diesel",
+    "diet",
+    "dietary",
+    "diff",
+    "differ",
+    "difference",
+    "differences",
+    "different",
+    "differential",
+    "differently",
+    "difficult",
+    "difficulties",
+    "difficulty",
+    "diffs",
+    "dig",
+    "digest",
+    "digit",
+    "digital",
+    "dim",
+    "dimension",
+    "dimensional",
+    "dimensions",
+    "dining",
+    "dinner",
+    "dip",
+    "diploma",
+    "dir",
+    "direct",
+    "directed",
+    "direction",
+    "directions",
+    "directive",
+    "directly",
+    "director",
+    "directories",
+    "directors",
+    "directory",
+    "dirt",
+    "dirty",
+    "dis",
+    "disabilities",
+    "disability",
+    "disable",
+    "disabled",
+    "disagree",
+    "disappointed",
+    "disaster",
+    "disc",
+    "discharge",
+    "disciplinary",
+    "discipline",
+    "disciplines",
+    "disclaimer",
+    "disclaimers",
+    "disclose",
+    "disclosure",
+    "disco",
+    "discount",
+    "discounted",
+    "discounts",
+    "discover",
+    "discovered",
+    "discovery",
+    "discrete",
+    "discretion",
+    "discrimination",
+    "discs",
+    "discuss",
+    "discussed",
+    "discusses",
+    "discussing",
+    "discussion",
+    "discussions",
+    "disease",
+    "diseases",
+    "dish",
+    "dishes",
+    "disk",
+    "disks",
+    "disney",
+    "disorder",
+    "disorders",
+    "dispatch",
+    "dispatched",
+    "display",
+    "displayed",
+    "displaying",
+    "displays",
+    "disposal",
+    "disposition",
+    "dispute",
+    "disputes",
+    "dist",
+    "distance",
+    "distances",
+    "distant",
+    "distinct",
+    "distinction",
+    "distinguished",
+    "distribute",
+    "distributed",
+    "distribution",
+    "distributions",
+    "distributor",
+    "distributors",
+    "district",
+    "districts",
+    "disturbed",
+    "div",
+    "dive",
+    "diverse",
+    "diversity",
+    "divide",
+    "divided",
+    "dividend",
+    "divine",
+    "diving",
+    "division",
+    "divisions",
+    "divorce",
+    "divx",
+    "diy",
+    "dna",
+    "dns",
+    "doc",
+    "dock",
+    "docs",
+    "doctor",
+    "doctors",
+    "doctrine",
+    "document",
+    "documentary",
+    "documentation",
+    "documented",
+    "documents",
+    "dod",
+    "dodge",
+    "doe",
+    "does",
+    "dog",
+    "dogs",
+    "doing",
+    "doll",
+    "dollar",
+    "dollars",
+    "dolls",
+    "dom",
+    "domain",
+    "domains",
+    "dome",
+    "domestic",
+    "dominant",
+    "dominican",
+    "don",
+    "donald",
+    "donate",
+    "donated",
+    "donation",
+    "donations",
+    "done",
+    "donna",
+    "donor",
+    "donors",
+    "dont",
+    "doom",
+    "door",
+    "doors",
+    "dos",
+    "dosage",
+    "dose",
+    "dot",
+    "double",
+    "doubt",
+    "doug",
+    "douglas",
+    "dover",
+    "dow",
+    "down",
+    "download",
+    "downloadable",
+    "downloaded",
+    "downloading",
+    "downloads",
+    "downtown",
+    "dozen",
+    "dozens",
+    "dpi",
+    "draft",
+    "drag",
+    "dragon",
+    "drain",
+    "drainage",
+    "drama",
+    "dramatic",
+    "dramatically",
+    "draw",
+    "drawing",
+    "drawings",
+    "drawn",
+    "draws",
+    "dream",
+    "dreams",
+    "dress",
+    "dressed",
+    "dresses",
+    "dressing",
+    "drew",
+    "dried",
+    "drill",
+    "drilling",
+    "drink",
+    "drinking",
+    "drinks",
+    "drive",
+    "driven",
+    "driver",
+    "drivers",
+    "drives",
+    "driving",
+    "drop",
+    "dropped",
+    "drops",
+    "drove",
+    "drug",
+    "drugs",
+    "drum",
+    "drums",
+    "drunk",
+    "dry",
+    "dryer",
+    "dsc",
+    "dsl",
+    "dts",
+    "dual",
+    "dubai",
+    "dublin",
+    "duck",
+    "dude",
+    "due",
+    "dui",
+    "duke",
+    "dumb",
+    "dump",
+    "duncan",
+    "duo",
+    "duplicate",
+    "durable",
+    "duration",
+    "durham",
+    "during",
+    "dust",
+    "dutch",
+    "duties",
+    "duty",
+    "dvd",
+    "dvds",
+    "dying",
+    "dylan",
+    "dynamic",
+    "dynamics",
+    "each",
+    "eagle",
+    "eagles",
+    "ear",
+    "earl",
+    "earlier",
+    "earliest",
+    "early",
+    "earn",
+    "earned",
+    "earning",
+    "earnings",
+    "earrings",
+    "ears",
+    "earth",
+    "earthquake",
+    "ease",
+    "easier",
+    "easily",
+    "east",
+    "easter",
+    "eastern",
+    "easy",
+    "eat",
+    "eating",
+    "eau",
+    "ebay",
+    "ebony",
+    "ebook",
+    "ebooks",
+    "echo",
+    "eclipse",
+    "eco",
+    "ecological",
+    "ecology",
+    "ecommerce",
+    "economic",
+    "economics",
+    "economies",
+    "economy",
+    "ecuador",
+    "eddie",
+    "eden",
+    "edgar",
+    "edge",
+    "edges",
+    "edinburgh",
+    "edit",
+    "edited",
+    "editing",
+    "edition",
+    "editions",
+    "editor",
+    "editorial",
+    "editorials",
+    "editors",
+    "edmonton",
+    "eds",
+    "edt",
+    "educated",
+    "education",
+    "educational",
+    "educators",
+    "edward",
+    "edwards",
+    "effect",
+    "effective",
+    "effectively",
+    "effectiveness",
+    "effects",
+    "efficiency",
+    "efficient",
+    "efficiently",
+    "effort",
+    "efforts",
+    "egg",
+    "eggs",
+    "egypt",
+    "egyptian",
+    "eight",
+    "either",
+    "elder",
+    "elderly",
+    "elect",
+    "elected",
+    "election",
+    "elections",
+    "electoral",
+    "electric",
+    "electrical",
+    "electricity",
+    "electro",
+    "electron",
+    "electronic",
+    "electronics",
+    "elegant",
+    "element",
+    "elementary",
+    "elements",
+    "elephant",
+    "elevation",
+    "eleven",
+    "eligibility",
+    "eligible",
+    "eliminate",
+    "elimination",
+    "elite",
+    "elizabeth",
+    "ellen",
+    "elliott",
+    "ellis",
+    "else",
+    "elsewhere",
+    "elvis",
+    "emacs",
+    "email",
+    "emails",
+    "embassy",
+    "embedded",
+    "emerald",
+    "emergency",
+    "emerging",
+    "emily",
+    "eminem",
+    "emirates",
+    "emission",
+    "emissions",
+    "emma",
+    "emotional",
+    "emotions",
+    "emperor",
+    "emphasis",
+    "empire",
+    "empirical",
+    "employ",
+    "employed",
+    "employee",
+    "employees",
+    "employer",
+    "employers",
+    "employment",
+    "empty",
+    "enable",
+    "enabled",
+    "enables",
+    "enabling",
+    "enb",
+    "enclosed",
+    "enclosure",
+    "encoding",
+    "encounter",
+    "encountered",
+    "encourage",
+    "encouraged",
+    "encourages",
+    "encouraging",
+    "encryption",
+    "encyclopedia",
+    "end",
+    "endangered",
+    "ended",
+    "endif",
+    "ending",
+    "endless",
+    "endorsed",
+    "endorsement",
+    "ends",
+    "enemies",
+    "enemy",
+    "energy",
+    "enforcement",
+    "eng",
+    "engage",
+    "engaged",
+    "engagement",
+    "engaging",
+    "engine",
+    "engineer",
+    "engineering",
+    "engineers",
+    "engines",
+    "england",
+    "english",
+    "enhance",
+    "enhanced",
+    "enhancement",
+    "enhancements",
+    "enhancing",
+    "enjoy",
+    "enjoyed",
+    "enjoying",
+    "enlarge",
+    "enlargement",
+    "enormous",
+    "enough",
+    "enquiries",
+    "enquiry",
+    "enrolled",
+    "enrollment",
+    "ensemble",
+    "ensure",
+    "ensures",
+    "ensuring",
+    "ent",
+    "enter",
+    "entered",
+    "entering",
+    "enterprise",
+    "enterprises",
+    "enters",
+    "entertaining",
+    "entertainment",
+    "entire",
+    "entirely",
+    "entities",
+    "entitled",
+    "entity",
+    "entrance",
+    "entrepreneur",
+    "entrepreneurs",
+    "entries",
+    "entry",
+    "envelope",
+    "environment",
+    "environmental",
+    "environments",
+    "enzyme",
+    "eos",
+    "epa",
+    "epic",
+    "epinions",
+    "episode",
+    "episodes",
+    "epson",
+    "equal",
+    "equality",
+    "equally",
+    "equation",
+    "equations",
+    "equilibrium",
+    "equipment",
+    "equipped",
+    "equity",
+    "equivalent",
+    "era",
+    "eric",
+    "ericsson",
+    "erik",
+    "erotica",
+    "erp",
+    "error",
+    "errors",
+    "escape",
+    "escorts",
+    "especially",
+    "espn",
+    "essay",
+    "essays",
+    "essence",
+    "essential",
+    "essentially",
+    "essentials",
+    "essex",
+    "est",
+    "establish",
+    "established",
+    "establishing",
+    "establishment",
+    "estate",
+    "estates",
+    "estimate",
+    "estimated",
+    "estimates",
+    "estimation",
+    "estonia",
+    "etc",
+    "eternal",
+    "ethernet",
+    "ethical",
+    "ethics",
+    "ethiopia",
+    "ethnic",
+    "eugene",
+    "eur",
+    "euro",
+    "europe",
+    "european",
+    "euros",
+    "eva",
+    "eval",
+    "evaluate",
+    "evaluated",
+    "evaluating",
+    "evaluation",
+    "evaluations",
+    "evanescence",
+    "evans",
+    "eve",
+    "even",
+    "evening",
+    "event",
+    "events",
+    "eventually",
+    "ever",
+    "every",
+    "everybody",
+    "everyday",
+    "everyone",
+    "everything",
+    "everywhere",
+    "evidence",
+    "evident",
+    "evil",
+    "evolution",
+    "exact",
+    "exactly",
+    "exam",
+    "examination",
+    "examinations",
+    "examine",
+    "examined",
+    "examines",
+    "examining",
+    "example",
+    "examples",
+    "exams",
+    "exceed",
+    "excel",
+    "excellence",
+    "excellent",
+    "except",
+    "exception",
+    "exceptional",
+    "exceptions",
+    "excerpt",
+    "excess",
+    "excessive",
+    "exchange",
+    "exchanges",
+    "excited",
+    "excitement",
+    "exciting",
+    "exclude",
+    "excluded",
+    "excluding",
+    "exclusion",
+    "exclusive",
+    "exclusively",
+    "excuse",
+    "exec",
+    "execute",
+    "executed",
+    "execution",
+    "executive",
+    "executives",
+    "exempt",
+    "exemption",
+    "exercise",
+    "exercises",
+    "exhaust",
+    "exhibit",
+    "exhibition",
+    "exhibitions",
+    "exhibits",
+    "exist",
+    "existed",
+    "existence",
+    "existing",
+    "exists",
+    "exit",
+    "exotic",
+    "exp",
+    "expand",
+    "expanded",
+    "expanding",
+    "expansion",
+    "expansys",
+    "expect",
+    "expectations",
+    "expected",
+    "expects",
+    "expedia",
+    "expenditure",
+    "expenditures",
+    "expense",
+    "expenses",
+    "expensive",
+    "experience",
+    "experienced",
+    "experiences",
+    "experiencing",
+    "experiment",
+    "experimental",
+    "experiments",
+    "expert",
+    "expertise",
+    "experts",
+    "expiration",
+    "expired",
+    "expires",
+    "explain",
+    "explained",
+    "explaining",
+    "explains",
+    "explanation",
+    "explicit",
+    "explicitly",
+    "exploration",
+    "explore",
+    "explorer",
+    "exploring",
+    "explosion",
+    "expo",
+    "export",
+    "exports",
+    "exposed",
+    "exposure",
+    "express",
+    "expressed",
+    "expression",
+    "expressions",
+    "ext",
+    "extend",
+    "extended",
+    "extending",
+    "extends",
+    "extension",
+    "extensions",
+    "extensive",
+    "extent",
+    "exterior",
+    "external",
+    "extra",
+    "extract",
+    "extraction",
+    "extraordinary",
+    "extras",
+    "extreme",
+    "extremely",
+    "eye",
+    "eyed",
+    "eyes",
+    "fabric",
+    "fabrics",
+    "fabulous",
+    "face",
+    "faced",
+    "faces",
+    "facial",
+    "facilitate",
+    "facilities",
+    "facility",
+    "facing",
+    "fact",
+    "factor",
+    "factors",
+    "factory",
+    "facts",
+    "faculty",
+    "fail",
+    "failed",
+    "failing",
+    "fails",
+    "failure",
+    "failures",
+    "fair",
+    "fairfield",
+    "fairly",
+    "fairy",
+    "faith",
+    "fake",
+    "fall",
+    "fallen",
+    "falling",
+    "falls",
+    "false",
+    "fame",
+    "familiar",
+    "families",
+    "family",
+    "famous",
+    "fan",
+    "fancy",
+    "fans",
+    "fantastic",
+    "fantasy",
+    "faq",
+    "faqs",
+    "far",
+    "fare",
+    "fares",
+    "farm",
+    "farmer",
+    "farmers",
+    "farming",
+    "farms",
+    "fascinating",
+    "fashion",
+    "fast",
+    "faster",
+    "fastest",
+    "fat",
+    "fatal",
+    "fate",
+    "father",
+    "fathers",
+    "fatty",
+    "fault",
+    "favor",
+    "favorite",
+    "favorites",
+    "favors",
+    "fax",
+    "fbi",
+    "fcc",
+    "fda",
+    "fear",
+    "fears",
+    "feat",
+    "feature",
+    "featured",
+    "features",
+    "featuring",
+    "feb",
+    "february",
+    "fed",
+    "federal",
+    "federation",
+    "fee",
+    "feed",
+    "feedback",
+    "feeding",
+    "feeds",
+    "feel",
+    "feeling",
+    "feelings",
+    "feels",
+    "fees",
+    "feet",
+    "fell",
+    "fellow",
+    "fellowship",
+    "felt",
+    "female",
+    "females",
+    "fence",
+    "feof",
+    "ferrari",
+    "ferry",
+    "festival",
+    "festivals",
+    "fetish",
+    "fever",
+    "few",
+    "fewer",
+    "fiber",
+    "fibre",
+    "fiction",
+    "field",
+    "fields",
+    "fifteen",
+    "fifth",
+    "fifty",
+    "fig",
+    "fight",
+    "fighter",
+    "fighters",
+    "fighting",
+    "figure",
+    "figured",
+    "figures",
+    "fiji",
+    "file",
+    "filed",
+    "filename",
+    "files",
+    "filing",
+    "fill",
+    "filled",
+    "filling",
+    "film",
+    "filme",
+    "films",
+    "filter",
+    "filtering",
+    "filters",
+    "fin",
+    "final",
+    "finally",
+    "finals",
+    "finance",
+    "finances",
+    "financial",
+    "financing",
+    "find",
+    "findarticles",
+    "finder",
+    "finding",
+    "findings",
+    "findlaw",
+    "finds",
+    "fine",
+    "finest",
+    "finger",
+    "fingers",
+    "finish",
+    "finished",
+    "finishing",
+    "finite",
+    "finland",
+    "finnish",
+    "fioricet",
+    "fire",
+    "fired",
+    "firefox",
+    "fireplace",
+    "fires",
+    "firewall",
+    "firewire",
+    "firm",
+    "firms",
+    "firmware",
+    "first",
+    "fiscal",
+    "fish",
+    "fisher",
+    "fisheries",
+    "fishing",
+    "fist",
+    "fit",
+    "fitness",
+    "fits",
+    "fitted",
+    "fitting",
+    "five",
+    "fix",
+    "fixed",
+    "fixes",
+    "fixtures",
+    "flag",
+    "flags",
+    "flame",
+    "flash",
+    "flashers",
+    "flashing",
+    "flat",
+    "flavor",
+    "fleece",
+    "fleet",
+    "flesh",
+    "flex",
+    "flexibility",
+    "flexible",
+    "flickr",
+    "flight",
+    "flights",
+    "flip",
+    "float",
+    "floating",
+    "flood",
+    "floor",
+    "flooring",
+    "floors",
+    "floppy",
+    "floral",
+    "florence",
+    "florida",
+    "florist",
+    "florists",
+    "flour",
+    "flow",
+    "flower",
+    "flowers",
+    "flows",
+    "floyd",
+    "flu",
+    "fluid",
+    "flush",
+    "flux",
+    "fly",
+    "flyer",
+    "flying",
+    "foam",
+    "focal",
+    "focus",
+    "focused",
+    "focuses",
+    "focusing",
+    "fog",
+    "fold",
+    "folder",
+    "folders",
+    "folding",
+    "folk",
+    "folks",
+    "follow",
+    "followed",
+    "following",
+    "follows",
+    "font",
+    "fonts",
+    "foo",
+    "food",
+    "foods",
+    "fool",
+    "foot",
+    "footage",
+    "football",
+    "footwear",
+    "for",
+    "forbes",
+    "forbidden",
+    "force",
+    "forced",
+    "forces",
+    "ford",
+    "forecast",
+    "forecasts",
+    "foreign",
+    "forest",
+    "forestry",
+    "forests",
+    "forever",
+    "forge",
+    "forget",
+    "forgot",
+    "forgotten",
+    "fork",
+    "form",
+    "formal",
+    "format",
+    "formation",
+    "formats",
+    "formatting",
+    "formed",
+    "former",
+    "formerly",
+    "forming",
+    "forms",
+    "formula",
+    "fort",
+    "forth",
+    "fortune",
+    "forty",
+    "forum",
+    "forums",
+    "forward",
+    "forwarding",
+    "fossil",
+    "foster",
+    "foto",
+    "fotos",
+    "fought",
+    "foul",
+    "found",
+    "foundation",
+    "foundations",
+    "founded",
+    "founder",
+    "fountain",
+    "four",
+    "fourth",
+    "fox",
+    "fraction",
+    "fragrance",
+    "fragrances",
+    "frame",
+    "framed",
+    "frames",
+    "framework",
+    "framing",
+    "france",
+    "franchise",
+    "francis",
+    "francisco",
+    "frank",
+    "frankfurt",
+    "franklin",
+    "fraser",
+    "fraud",
+    "fred",
+    "frederick",
+    "free",
+    "freebsd",
+    "freedom",
+    "freelance",
+    "freely",
+    "freeware",
+    "freeze",
+    "freight",
+    "french",
+    "frequencies",
+    "frequency",
+    "frequent",
+    "frequently",
+    "fresh",
+    "fri",
+    "friday",
+    "fridge",
+    "friend",
+    "friendly",
+    "friends",
+    "friendship",
+    "frog",
+    "from",
+    "front",
+    "frontier",
+    "frontpage",
+    "frost",
+    "frozen",
+    "fruit",
+    "fruits",
+    "ftp",
+    "fuel",
+    "fuji",
+    "fujitsu",
+    "full",
+    "fully",
+    "fun",
+    "function",
+    "functional",
+    "functionality",
+    "functioning",
+    "functions",
+    "fund",
+    "fundamental",
+    "fundamentals",
+    "funded",
+    "funding",
+    "fundraising",
+    "funds",
+    "funeral",
+    "funk",
+    "funky",
+    "funny",
+    "fur",
+    "furnished",
+    "furnishings",
+    "furniture",
+    "further",
+    "furthermore",
+    "fusion",
+    "future",
+    "futures",
+    "fuzzy",
+    "fwd",
+    "gabriel",
+    "gadgets",
+    "gage",
+    "gain",
+    "gained",
+    "gains",
+    "galaxy",
+    "gale",
+    "galleries",
+    "gallery",
+    "gambling",
+    "game",
+    "gamecube",
+    "games",
+    "gamespot",
+    "gaming",
+    "gamma",
+    "gang",
+    "gap",
+    "gaps",
+    "garage",
+    "garbage",
+    "garcia",
+    "garden",
+    "gardening",
+    "gardens",
+    "garlic",
+    "garmin",
+    "gary",
+    "gas",
+    "gasoline",
+    "gate",
+    "gates",
+    "gateway",
+    "gather",
+    "gathered",
+    "gathering",
+    "gauge",
+    "gave",
+    "gay",
+    "gays",
+    "gazette",
+    "gba",
+    "gbp",
+    "gcc",
+    "gdp",
+    "gear",
+    "geek",
+    "gel",
+    "gem",
+    "gen",
+    "gender",
+    "gene",
+    "genealogy",
+    "general",
+    "generally",
+    "generate",
+    "generated",
+    "generates",
+    "generating",
+    "generation",
+    "generations",
+    "generator",
+    "generators",
+    "generic",
+    "generous",
+    "genes",
+    "genesis",
+    "genetic",
+    "genetics",
+    "geneva",
+    "genius",
+    "genome",
+    "genre",
+    "genres",
+    "gentle",
+    "gentleman",
+    "gently",
+    "genuine",
+    "geo",
+    "geographic",
+    "geographical",
+    "geography",
+    "geological",
+    "geology",
+    "geometry",
+    "george",
+    "georgia",
+    "gerald",
+    "german",
+    "germany",
+    "get",
+    "gets",
+    "getting",
+    "ghana",
+    "ghost",
+    "ghz",
+    "giant",
+    "giants",
+    "gibraltar",
+    "gibson",
+    "gif",
+    "gift",
+    "gifts",
+    "gig",
+    "gilbert",
+    "girl",
+    "girlfriend",
+    "girls",
+    "gis",
+    "give",
+    "given",
+    "gives",
+    "giving",
+    "glad",
+    "glance",
+    "glasgow",
+    "glass",
+    "glasses",
+    "glen",
+    "glenn",
+    "global",
+    "globe",
+    "glory",
+    "glossary",
+    "gloves",
+    "glow",
+    "glucose",
+    "gmbh",
+    "gmc",
+    "gmt",
+    "gnome",
+    "gnu",
+    "goal",
+    "goals",
+    "goat",
+    "gods",
+    "goes",
+    "going",
+    "gold",
+    "golden",
+    "golf",
+    "gone",
+    "gonna",
+    "good",
+    "goods",
+    "google",
+    "gordon",
+    "gore",
+    "gorgeous",
+    "gospel",
+    "gossip",
+    "got",
+    "gothic",
+    "goto",
+    "gotta",
+    "gotten",
+    "gourmet",
+    "governance",
+    "governing",
+    "government",
+    "governmental",
+    "governments",
+    "governor",
+    "gpl",
+    "gps",
+    "grab",
+    "grace",
+    "grad",
+    "grade",
+    "grades",
+    "gradually",
+    "graduate",
+    "graduated",
+    "graduates",
+    "graduation",
+    "graham",
+    "grain",
+    "grammar",
+    "grams",
+    "grand",
+    "grande",
+    "granny",
+    "grant",
+    "granted",
+    "grants",
+    "graph",
+    "graphic",
+    "graphical",
+    "graphics",
+    "graphs",
+    "gras",
+    "grass",
+    "grateful",
+    "gratis",
+    "gratuit",
+    "grave",
+    "gravity",
+    "gray",
+    "great",
+    "greater",
+    "greatest",
+    "greatly",
+    "greece",
+    "greek",
+    "green",
+    "greene",
+    "greenhouse",
+    "greensboro",
+    "greeting",
+    "greetings",
+    "greg",
+    "gregory",
+    "grenada",
+    "grew",
+    "grey",
+    "grid",
+    "griffin",
+    "grill",
+    "grip",
+    "grocery",
+    "groove",
+    "gross",
+    "ground",
+    "grounds",
+    "groundwater",
+    "group",
+    "groups",
+    "grove",
+    "grow",
+    "growing",
+    "grown",
+    "grows",
+    "growth",
+    "gsm",
+    "gst",
+    "gtk",
+    "guam",
+    "guarantee",
+    "guaranteed",
+    "guarantees",
+    "guard",
+    "guardian",
+    "guards",
+    "guatemala",
+    "guess",
+    "guest",
+    "guestbook",
+    "guests",
+    "gui",
+    "guidance",
+    "guide",
+    "guided",
+    "guidelines",
+    "guides",
+    "guild",
+    "guilty",
+    "guinea",
+    "guitar",
+    "guitars",
+    "gulf",
+    "gun",
+    "guns",
+    "guru",
+    "guy",
+    "guyana",
+    "guys",
+    "gym",
+    "gzip",
+    "habitat",
+    "habits",
+    "hack",
+    "hacker",
+    "had",
+    "hair",
+    "hairy",
+    "haiti",
+    "half",
+    "halifax",
+    "hall",
+    "halloween",
+    "halo",
+    "ham",
+    "hamburg",
+    "hamilton",
+    "hammer",
+    "hampshire",
+    "hampton",
+    "hand",
+    "handbags",
+    "handbook",
+    "handed",
+    "handheld",
+    "handhelds",
+    "handle",
+    "handled",
+    "handles",
+    "handling",
+    "handmade",
+    "hands",
+    "handy",
+    "hang",
+    "hanging",
+    "hans",
+    "hansen",
+    "happen",
+    "happened",
+    "happening",
+    "happens",
+    "happiness",
+    "happy",
+    "harassment",
+    "harbor",
+    "hard",
+    "hardcover",
+    "harder",
+    "hardly",
+    "hardware",
+    "hardwood",
+    "harley",
+    "harm",
+    "harmful",
+    "harmony",
+    "harold",
+    "harper",
+    "harris",
+    "harrison",
+    "harry",
+    "hart",
+    "hartford",
+    "harvard",
+    "harvest",
+    "harvey",
+    "has",
+    "hash",
+    "hat",
+    "hate",
+    "hats",
+    "have",
+    "haven",
+    "having",
+    "hawaii",
+    "hawaiian",
+    "hawk",
+    "hay",
+    "hayes",
+    "hazard",
+    "hazardous",
+    "hazards",
+    "hdtv",
+    "head",
+    "headed",
+    "header",
+    "headers",
+    "heading",
+    "headline",
+    "headlines",
+    "headphones",
+    "headquarters",
+    "heads",
+    "headset",
+    "healing",
+    "health",
+    "healthcare",
+    "healthy",
+    "hear",
+    "heard",
+    "hearing",
+    "hearings",
+    "heart",
+    "hearts",
+    "heat",
+    "heated",
+    "heater",
+    "heath",
+    "heather",
+    "heating",
+    "heaven",
+    "heavily",
+    "heavy",
+    "hebrew",
+    "heel",
+    "height",
+    "heights",
+    "held",
+    "helen",
+    "helena",
+    "helicopter",
+    "hello",
+    "helmet",
+    "help",
+    "helped",
+    "helpful",
+    "helping",
+    "helps",
+    "hence",
+    "henderson",
+    "henry",
+    "hepatitis",
+    "her",
+    "herald",
+    "herb",
+    "herbal",
+    "herbs",
+    "here",
+    "hereby",
+    "herein",
+    "heritage",
+    "hero",
+    "heroes",
+    "herself",
+    "hewlett",
+    "hey",
+    "hidden",
+    "hide",
+    "hierarchy",
+    "high",
+    "higher",
+    "highest",
+    "highland",
+    "highlight",
+    "highlighted",
+    "highlights",
+    "highly",
+    "highs",
+    "highway",
+    "highways",
+    "hiking",
+    "hill",
+    "hills",
+    "hilton",
+    "him",
+    "himself",
+    "hindu",
+    "hint",
+    "hints",
+    "hip",
+    "hire",
+    "hired",
+    "hiring",
+    "his",
+    "hispanic",
+    "hist",
+    "historic",
+    "historical",
+    "history",
+    "hit",
+    "hitachi",
+    "hits",
+    "hitting",
+    "hiv",
+    "hobbies",
+    "hobby",
+    "hockey",
+    "hold",
+    "holdem",
+    "holder",
+    "holders",
+    "holding",
+    "holdings",
+    "holds",
+    "hole",
+    "holes",
+    "holiday",
+    "holidays",
+    "holland",
+    "hollow",
+    "holly",
+    "hollywood",
+    "holmes",
+    "holocaust",
+    "holy",
+    "home",
+    "homeland",
+    "homeless",
+    "homepage",
+    "homes",
+    "hometown",
+    "homework",
+    "hon",
+    "honda",
+    "honduras",
+    "honest",
+    "honey",
+    "hong",
+    "honolulu",
+    "honor",
+    "honors",
+    "hood",
+    "hook",
+    "hop",
+    "hope",
+    "hoped",
+    "hopefully",
+    "hopes",
+    "hoping",
+    "hopkins",
+    "horizon",
+    "horizontal",
+    "hormone",
+    "horn",
+    "horrible",
+    "horror",
+    "horse",
+    "horses",
+    "hose",
+    "hospital",
+    "hospitality",
+    "hospitals",
+    "host",
+    "hosted",
+    "hostel",
+    "hostels",
+    "hosting",
+    "hosts",
+    "hot",
+    "hotel",
+    "hotels",
+    "hotmail",
+    "hottest",
+    "hour",
+    "hourly",
+    "hours",
+    "house",
+    "household",
+    "households",
+    "houses",
+    "housewares",
+    "housewives",
+    "housing",
+    "houston",
+    "how",
+    "howard",
+    "however",
+    "howto",
+    "href",
+    "hrs",
+    "html",
+    "http",
+    "hub",
+    "hudson",
+    "huge",
+    "hugh",
+    "hughes",
+    "hugo",
+    "hull",
+    "human",
+    "humanitarian",
+    "humanities",
+    "humanity",
+    "humans",
+    "humidity",
+    "humor",
+    "hundred",
+    "hundreds",
+    "hung",
+    "hungarian",
+    "hungary",
+    "hunger",
+    "hungry",
+    "hunt",
+    "hunter",
+    "hunting",
+    "huntington",
+    "hurricane",
+    "hurt",
+    "husband",
+    "hwy",
+    "hybrid",
+    "hydraulic",
+    "hydrocodone",
+    "hydrogen",
+    "hygiene",
+    "hypothesis",
+    "hypothetical",
+    "hyundai",
+    "ian",
+    "ibm",
+    "ice",
+    "iceland",
+    "icon",
+    "icons",
+    "icq",
+    "ict",
+    "idaho",
+    "ide",
+    "idea",
+    "ideal",
+    "ideas",
+    "identical",
+    "identification",
+    "identified",
+    "identifier",
+    "identifies",
+    "identify",
+    "identifying",
+    "identity",
+    "idle",
+    "idol",
+    "ids",
+    "ieee",
+    "ignore",
+    "ignored",
+    "iii",
+    "ill",
+    "illegal",
+    "illinois",
+    "illness",
+    "illustrated",
+    "illustration",
+    "illustrations",
+    "image",
+    "images",
+    "imagination",
+    "imagine",
+    "imaging",
+    "img",
+    "immediate",
+    "immediately",
+    "immigrants",
+    "immigration",
+    "immune",
+    "immunology",
+    "impact",
+    "impacts",
+    "impaired",
+    "imperial",
+    "implement",
+    "implementation",
+    "implemented",
+    "implementing",
+    "implications",
+    "implied",
+    "implies",
+    "import",
+    "importance",
+    "important",
+    "importantly",
+    "imported",
+    "imports",
+    "impose",
+    "imposed",
+    "impossible",
+    "impressed",
+    "impression",
+    "impressive",
+    "improve",
+    "improved",
+    "improvement",
+    "improvements",
+    "improving",
+    "inappropriate",
+    "inbox",
+    "inc",
+    "incentive",
+    "incentives",
+    "inch",
+    "inches",
+    "incidence",
+    "incident",
+    "incidents",
+    "incl",
+    "include",
+    "included",
+    "includes",
+    "including",
+    "inclusion",
+    "inclusive",
+    "income",
+    "incoming",
+    "incomplete",
+    "incorporate",
+    "incorporated",
+    "incorrect",
+    "increase",
+    "increased",
+    "increases",
+    "increasing",
+    "increasingly",
+    "incredible",
+    "incurred",
+    "ind",
+    "indeed",
+    "independence",
+    "independent",
+    "independently",
+    "index",
+    "indexed",
+    "indexes",
+    "india",
+    "indian",
+    "indiana",
+    "indianapolis",
+    "indians",
+    "indicate",
+    "indicated",
+    "indicates",
+    "indicating",
+    "indication",
+    "indicator",
+    "indicators",
+    "indices",
+    "indie",
+    "indigenous",
+    "indirect",
+    "individual",
+    "individually",
+    "individuals",
+    "indonesia",
+    "indonesian",
+    "indoor",
+    "induced",
+    "induction",
+    "industrial",
+    "industries",
+    "industry",
+    "inexpensive",
+    "inf",
+    "infant",
+    "infants",
+    "infected",
+    "infection",
+    "infections",
+    "infectious",
+    "infinite",
+    "inflation",
+    "influence",
+    "influenced",
+    "influences",
+    "info",
+    "inform",
+    "informal",
+    "information",
+    "informational",
+    "informative",
+    "informed",
+    "infrared",
+    "infrastructure",
+    "infringement",
+    "ing",
+    "ingredients",
+    "inherited",
+    "initial",
+    "initially",
+    "initiated",
+    "initiative",
+    "initiatives",
+    "injection",
+    "injured",
+    "injuries",
+    "injury",
+    "ink",
+    "inkjet",
+    "inline",
+    "inn",
+    "inner",
+    "innocent",
+    "innovation",
+    "innovations",
+    "innovative",
+    "inns",
+    "input",
+    "inputs",
+    "inquire",
+    "inquiries",
+    "inquiry",
+    "ins",
+    "insects",
+    "insert",
+    "inserted",
+    "insertion",
+    "inside",
+    "insider",
+    "insight",
+    "insights",
+    "inspection",
+    "inspections",
+    "inspector",
+    "inspiration",
+    "inspired",
+    "install",
+    "installation",
+    "installations",
+    "installed",
+    "installing",
+    "instance",
+    "instances",
+    "instant",
+    "instantly",
+    "instead",
+    "institute",
+    "institutes",
+    "institution",
+    "institutional",
+    "institutions",
+    "instruction",
+    "instructional",
+    "instructions",
+    "instructor",
+    "instructors",
+    "instrument",
+    "instrumental",
+    "instrumentation",
+    "instruments",
+    "insulation",
+    "insulin",
+    "insurance",
+    "insured",
+    "int",
+    "intake",
+    "integer",
+    "integral",
+    "integrate",
+    "integrated",
+    "integrating",
+    "integration",
+    "integrity",
+    "intel",
+    "intellectual",
+    "intelligence",
+    "intelligent",
+    "intend",
+    "intended",
+    "intense",
+    "intensity",
+    "intensive",
+    "intent",
+    "intention",
+    "inter",
+    "interact",
+    "interaction",
+    "interactions",
+    "interactive",
+    "interest",
+    "interested",
+    "interesting",
+    "interests",
+    "interface",
+    "interfaces",
+    "interference",
+    "interim",
+    "interior",
+    "intermediate",
+    "internal",
+    "international",
+    "internationally",
+    "internet",
+    "internship",
+    "interpretation",
+    "interpreted",
+    "interracial",
+    "intersection",
+    "interstate",
+    "interval",
+    "intervals",
+    "intervention",
+    "interventions",
+    "interview",
+    "interviews",
+    "intimate",
+    "intl",
+    "into",
+    "intranet",
+    "intro",
+    "introduce",
+    "introduced",
+    "introduces",
+    "introducing",
+    "introduction",
+    "introductory",
+    "invalid",
+    "invasion",
+    "invention",
+    "inventory",
+    "invest",
+    "investigate",
+    "investigated",
+    "investigation",
+    "investigations",
+    "investigator",
+    "investigators",
+    "investing",
+    "investment",
+    "investments",
+    "investor",
+    "investors",
+    "invisible",
+    "invision",
+    "invitation",
+    "invitations",
+    "invite",
+    "invited",
+    "invoice",
+    "involve",
+    "involved",
+    "involvement",
+    "involves",
+    "involving",
+    "ion",
+    "iowa",
+    "ipaq",
+    "ipod",
+    "ips",
+    "ira",
+    "iran",
+    "iraq",
+    "iraqi",
+    "irc",
+    "ireland",
+    "irish",
+    "iron",
+    "irrigation",
+    "irs",
+    "isa",
+    "isaac",
+    "isbn",
+    "islam",
+    "islamic",
+    "island",
+    "islands",
+    "isle",
+    "iso",
+    "isolated",
+    "isolation",
+    "isp",
+    "israel",
+    "israeli",
+    "issn",
+    "issue",
+    "issued",
+    "issues",
+    "ist",
+    "istanbul",
+    "italia",
+    "italian",
+    "italiano",
+    "italic",
+    "italy",
+    "item",
+    "items",
+    "its",
+    "itself",
+    "itunes",
+    "ivory",
+    "jack",
+    "jacket",
+    "jackets",
+    "jackie",
+    "jackson",
+    "jacksonville",
+    "jacob",
+    "jade",
+    "jaguar",
+    "jail",
+    "jake",
+    "jam",
+    "jamaica",
+    "james",
+    "jamie",
+    "jan",
+    "jane",
+    "janet",
+    "january",
+    "japan",
+    "japanese",
+    "jar",
+    "jason",
+    "java",
+    "javascript",
+    "jay",
+    "jazz",
+    "jean",
+    "jeans",
+    "jeep",
+    "jeff",
+    "jefferson",
+    "jeffrey",
+    "jelsoft",
+    "jennifer",
+    "jenny",
+    "jeremy",
+    "jerry",
+    "jersey",
+    "jerusalem",
+    "jesse",
+    "jessica",
+    "jesus",
+    "jet",
+    "jets",
+    "jewel",
+    "jewellery",
+    "jewelry",
+    "jewish",
+    "jews",
+    "jill",
+    "jim",
+    "jimmy",
+    "joan",
+    "job",
+    "jobs",
+    "joe",
+    "joel",
+    "john",
+    "johnny",
+    "johns",
+    "johnson",
+    "johnston",
+    "join",
+    "joined",
+    "joining",
+    "joins",
+    "joint",
+    "joke",
+    "jokes",
+    "jon",
+    "jonathan",
+    "jones",
+    "jordan",
+    "jose",
+    "joseph",
+    "josh",
+    "joshua",
+    "journal",
+    "journalism",
+    "journalist",
+    "journalists",
+    "journals",
+    "journey",
+    "joy",
+    "joyce",
+    "jpeg",
+    "jpg",
+    "juan",
+    "judge",
+    "judges",
+    "judgment",
+    "judicial",
+    "judy",
+    "juice",
+    "jul",
+    "julia",
+    "julian",
+    "julie",
+    "july",
+    "jump",
+    "jumping",
+    "jun",
+    "junction",
+    "june",
+    "jungle",
+    "junior",
+    "junk",
+    "jurisdiction",
+    "jury",
+    "just",
+    "justice",
+    "justify",
+    "justin",
+    "juvenile",
+    "jvc",
+    "kai",
+    "kansas",
+    "karaoke",
+    "karen",
+    "karl",
+    "karma",
+    "kate",
+    "kathy",
+    "katie",
+    "katrina",
+    "kay",
+    "kazakhstan",
+    "kde",
+    "keen",
+    "keep",
+    "keeping",
+    "keeps",
+    "keith",
+    "kelkoo",
+    "kelly",
+    "ken",
+    "kennedy",
+    "kenneth",
+    "kenny",
+    "keno",
+    "kent",
+    "kentucky",
+    "kenya",
+    "kept",
+    "kernel",
+    "kerry",
+    "kevin",
+    "key",
+    "keyboard",
+    "keyboards",
+    "keys",
+    "keyword",
+    "keywords",
+    "kick",
+    "kid",
+    "kidney",
+    "kids",
+    "kijiji",
+    "kill",
+    "killed",
+    "killer",
+    "killing",
+    "kills",
+    "kilometers",
+    "kim",
+    "kinase",
+    "kind",
+    "kinda",
+    "kinds",
+    "king",
+    "kingdom",
+    "kings",
+    "kingston",
+    "kirk",
+    "kiss",
+    "kissing",
+    "kit",
+    "kitchen",
+    "kits",
+    "kitty",
+    "klein",
+    "knee",
+    "knew",
+    "knife",
+    "knight",
+    "knights",
+    "knit",
+    "knitting",
+    "knives",
+    "knock",
+    "know",
+    "knowing",
+    "knowledge",
+    "knowledgestorm",
+    "known",
+    "knows",
+    "kodak",
+    "kong",
+    "korea",
+    "korean",
+    "kruger",
+    "kurt",
+    "kuwait",
+    "kyle",
+    "lab",
+    "label",
+    "labeled",
+    "labels",
+    "labor",
+    "laboratories",
+    "laboratory",
+    "labs",
+    "lace",
+    "lack",
+    "ladder",
+    "laden",
+    "ladies",
+    "lady",
+    "lafayette",
+    "laid",
+    "lake",
+    "lakes",
+    "lamb",
+    "lambda",
+    "lamp",
+    "lamps",
+    "lan",
+    "lancaster",
+    "lance",
+    "land",
+    "landing",
+    "lands",
+    "landscape",
+    "landscapes",
+    "lane",
+    "lanes",
+    "lang",
+    "language",
+    "languages",
+    "lanka",
+    "laos",
+    "lap",
+    "laptop",
+    "laptops",
+    "large",
+    "largely",
+    "larger",
+    "largest",
+    "larry",
+    "las",
+    "laser",
+    "last",
+    "lasting",
+    "lat",
+    "late",
+    "lately",
+    "later",
+    "latest",
+    "latex",
+    "latin",
+    "latina",
+    "latinas",
+    "latino",
+    "latitude",
+    "latter",
+    "latvia",
+    "lauderdale",
+    "laugh",
+    "laughing",
+    "launch",
+    "launched",
+    "launches",
+    "laundry",
+    "laura",
+    "lauren",
+    "law",
+    "lawn",
+    "lawrence",
+    "laws",
+    "lawsuit",
+    "lawyer",
+    "lawyers",
+    "lay",
+    "layer",
+    "layers",
+    "layout",
+    "lazy",
+    "lbs",
+    "lcd",
+    "lead",
+    "leader",
+    "leaders",
+    "leadership",
+    "leading",
+    "leads",
+    "leaf",
+    "league",
+    "lean",
+    "learn",
+    "learned",
+    "learners",
+    "learning",
+    "lease",
+    "leasing",
+    "least",
+    "leather",
+    "leave",
+    "leaves",
+    "leaving",
+    "lebanon",
+    "lecture",
+    "lectures",
+    "led",
+    "lee",
+    "leeds",
+    "left",
+    "leg",
+    "legacy",
+    "legal",
+    "legally",
+    "legend",
+    "legendary",
+    "legends",
+    "legislation",
+    "legislative",
+    "legislature",
+    "legitimate",
+    "legs",
+    "leisure",
+    "lemon",
+    "len",
+    "lender",
+    "lenders",
+    "lending",
+    "length",
+    "lens",
+    "lenses",
+    "leo",
+    "leon",
+    "leonard",
+    "leone",
+    "les",
+    "lesbian",
+    "lesbians",
+    "leslie",
+    "less",
+    "lesser",
+    "lesson",
+    "lessons",
+    "let",
+    "lets",
+    "letter",
+    "letters",
+    "letting",
+    "leu",
+    "level",
+    "levels",
+    "levitra",
+    "levy",
+    "lewis",
+    "lexington",
+    "lexmark",
+    "lexus",
+    "liabilities",
+    "liability",
+    "liable",
+    "lib",
+    "liberal",
+    "liberia",
+    "liberty",
+    "librarian",
+    "libraries",
+    "library",
+    "libs",
+    "licence",
+    "license",
+    "licensed",
+    "licenses",
+    "licensing",
+    "licking",
+    "lid",
+    "lie",
+    "liechtenstein",
+    "lies",
+    "life",
+    "lifestyle",
+    "lifetime",
+    "lift",
+    "light",
+    "lightbox",
+    "lighter",
+    "lighting",
+    "lightning",
+    "lights",
+    "lightweight",
+    "like",
+    "liked",
+    "likelihood",
+    "likely",
+    "likes",
+    "likewise",
+    "lil",
+    "lime",
+    "limit",
+    "limitation",
+    "limitations",
+    "limited",
+    "limiting",
+    "limits",
+    "limousines",
+    "lincoln",
+    "linda",
+    "lindsay",
+    "line",
+    "linear",
+    "lined",
+    "lines",
+    "lingerie",
+    "link",
+    "linked",
+    "linking",
+    "links",
+    "linux",
+    "lion",
+    "lions",
+    "lip",
+    "lips",
+    "liquid",
+    "lisa",
+    "list",
+    "listed",
+    "listen",
+    "listening",
+    "listing",
+    "listings",
+    "listprice",
+    "lists",
+    "lit",
+    "lite",
+    "literacy",
+    "literally",
+    "literary",
+    "literature",
+    "lithuania",
+    "litigation",
+    "little",
+    "live",
+    "livecam",
+    "lived",
+    "liver",
+    "liverpool",
+    "lives",
+    "livestock",
+    "living",
+    "liz",
+    "llc",
+    "lloyd",
+    "llp",
+    "load",
+    "loaded",
+    "loading",
+    "loads",
+    "loan",
+    "loans",
+    "lobby",
+    "loc",
+    "local",
+    "locale",
+    "locally",
+    "locate",
+    "located",
+    "location",
+    "locations",
+    "locator",
+    "lock",
+    "locked",
+    "locking",
+    "locks",
+    "lodge",
+    "lodging",
+    "log",
+    "logan",
+    "logged",
+    "logging",
+    "logic",
+    "logical",
+    "login",
+    "logistics",
+    "logitech",
+    "logo",
+    "logos",
+    "logs",
+    "lol",
+    "london",
+    "lone",
+    "lonely",
+    "long",
+    "longer",
+    "longest",
+    "longitude",
+    "look",
+    "looked",
+    "looking",
+    "looks",
+    "looksmart",
+    "lookup",
+    "loop",
+    "loops",
+    "loose",
+    "lopez",
+    "lord",
+    "los",
+    "lose",
+    "losing",
+    "loss",
+    "losses",
+    "lost",
+    "lot",
+    "lots",
+    "lottery",
+    "lotus",
+    "lou",
+    "loud",
+    "louis",
+    "louise",
+    "louisiana",
+    "louisville",
+    "lounge",
+    "love",
+    "loved",
+    "lovely",
+    "lover",
+    "lovers",
+    "loves",
+    "loving",
+    "low",
+    "lower",
+    "lowest",
+    "lows",
+    "ltd",
+    "lucas",
+    "lucia",
+    "luck",
+    "lucky",
+    "lucy",
+    "luggage",
+    "luis",
+    "luke",
+    "lunch",
+    "lung",
+    "luther",
+    "luxembourg",
+    "luxury",
+    "lycos",
+    "lying",
+    "lynn",
+    "lyric",
+    "lyrics",
+    "mac",
+    "macedonia",
+    "machine",
+    "machinery",
+    "machines",
+    "macintosh",
+    "macro",
+    "macromedia",
+    "mad",
+    "madagascar",
+    "made",
+    "madison",
+    "madness",
+    "madonna",
+    "madrid",
+    "mae",
+    "mag",
+    "magazine",
+    "magazines",
+    "magic",
+    "magical",
+    "magnet",
+    "magnetic",
+    "magnificent",
+    "magnitude",
+    "mai",
+    "maiden",
+    "mail",
+    "mailed",
+    "mailing",
+    "mailman",
+    "mails",
+    "mailto",
+    "main",
+    "maine",
+    "mainland",
+    "mainly",
+    "mainstream",
+    "maintain",
+    "maintained",
+    "maintaining",
+    "maintains",
+    "maintenance",
+    "major",
+    "majority",
+    "make",
+    "maker",
+    "makers",
+    "makes",
+    "makeup",
+    "making",
+    "malawi",
+    "malaysia",
+    "maldives",
+    "male",
+    "males",
+    "mali",
+    "mall",
+    "malpractice",
+    "malta",
+    "mambo",
+    "man",
+    "manage",
+    "managed",
+    "management",
+    "manager",
+    "managers",
+    "managing",
+    "manchester",
+    "mandate",
+    "mandatory",
+    "manga",
+    "manhattan",
+    "manitoba",
+    "manner",
+    "manor",
+    "manual",
+    "manually",
+    "manuals",
+    "manufacture",
+    "manufactured",
+    "manufacturer",
+    "manufacturers",
+    "manufacturing",
+    "many",
+    "map",
+    "maple",
+    "mapping",
+    "maps",
+    "mar",
+    "marathon",
+    "marble",
+    "marc",
+    "march",
+    "marco",
+    "marcus",
+    "mardi",
+    "margaret",
+    "margin",
+    "maria",
+    "mariah",
+    "marie",
+    "marijuana",
+    "marilyn",
+    "marina",
+    "marine",
+    "mario",
+    "marion",
+    "maritime",
+    "mark",
+    "marked",
+    "marker",
+    "markers",
+    "market",
+    "marketing",
+    "marketplace",
+    "markets",
+    "marking",
+    "marks",
+    "marriage",
+    "married",
+    "marriott",
+    "mars",
+    "marsh",
+    "marshall",
+    "mart",
+    "martha",
+    "martial",
+    "martin",
+    "marvel",
+    "mary",
+    "maryland",
+    "mas",
+    "mask",
+    "mason",
+    "mass",
+    "massachusetts",
+    "massage",
+    "massive",
+    "master",
+    "mastercard",
+    "masters",
+    "mat",
+    "match",
+    "matched",
+    "matches",
+    "matching",
+    "mate",
+    "material",
+    "materials",
+    "maternity",
+    "math",
+    "mathematical",
+    "mathematics",
+    "mating",
+    "matrix",
+    "mats",
+    "matt",
+    "matter",
+    "matters",
+    "matthew",
+    "mattress",
+    "mature",
+    "maui",
+    "mauritius",
+    "max",
+    "maximize",
+    "maximum",
+    "may",
+    "maybe",
+    "mayor",
+    "mazda",
+    "mba",
+    "mcdonald",
+    "meal",
+    "meals",
+    "mean",
+    "meaning",
+    "meaningful",
+    "means",
+    "meant",
+    "meanwhile",
+    "measure",
+    "measured",
+    "measurement",
+    "measurements",
+    "measures",
+    "measuring",
+    "meat",
+    "mechanical",
+    "mechanics",
+    "mechanism",
+    "mechanisms",
+    "med",
+    "medal",
+    "media",
+    "median",
+    "mediawiki",
+    "medicaid",
+    "medical",
+    "medicare",
+    "medication",
+    "medications",
+    "medicine",
+    "medicines",
+    "medieval",
+    "meditation",
+    "mediterranean",
+    "medium",
+    "medline",
+    "meet",
+    "meeting",
+    "meetings",
+    "meets",
+    "meetup",
+    "mega",
+    "mel",
+    "melbourne",
+    "melissa",
+    "mem",
+    "member",
+    "members",
+    "membership",
+    "membrane",
+    "memo",
+    "memorabilia",
+    "memorial",
+    "memories",
+    "memory",
+    "memphis",
+    "men",
+    "mens",
+    "ment",
+    "mental",
+    "mention",
+    "mentioned",
+    "mentor",
+    "menu",
+    "menus",
+    "mercedes",
+    "merchandise",
+    "merchant",
+    "merchants",
+    "mercury",
+    "mercy",
+    "mere",
+    "merely",
+    "merge",
+    "merger",
+    "merit",
+    "merry",
+    "mesa",
+    "mesh",
+    "mess",
+    "message",
+    "messages",
+    "messaging",
+    "messenger",
+    "met",
+    "meta",
+    "metabolism",
+    "metadata",
+    "metal",
+    "metallic",
+    "metallica",
+    "metals",
+    "meter",
+    "meters",
+    "method",
+    "methodology",
+    "methods",
+    "metres",
+    "metric",
+    "metro",
+    "metropolitan",
+    "mexican",
+    "mexico",
+    "meyer",
+    "mhz",
+    "mia",
+    "miami",
+    "mic",
+    "mice",
+    "michael",
+    "michel",
+    "michelle",
+    "michigan",
+    "micro",
+    "microphone",
+    "microsoft",
+    "microwave",
+    "mid",
+    "middle",
+    "midi",
+    "midlands",
+    "midnight",
+    "midwest",
+    "might",
+    "mighty",
+    "migration",
+    "mike",
+    "mil",
+    "milan",
+    "mild",
+    "mile",
+    "mileage",
+    "miles",
+    "military",
+    "milk",
+    "mill",
+    "millennium",
+    "miller",
+    "million",
+    "millions",
+    "mills",
+    "milton",
+    "milwaukee",
+    "mime",
+    "min",
+    "mind",
+    "minds",
+    "mine",
+    "mineral",
+    "minerals",
+    "mines",
+    "mini",
+    "miniature",
+    "minimal",
+    "minimize",
+    "minimum",
+    "mining",
+    "minister",
+    "ministers",
+    "ministries",
+    "ministry",
+    "minneapolis",
+    "minnesota",
+    "minolta",
+    "minor",
+    "minority",
+    "mins",
+    "mint",
+    "minus",
+    "minute",
+    "minutes",
+    "miracle",
+    "mirror",
+    "mirrors",
+    "misc",
+    "miscellaneous",
+    "miss",
+    "missed",
+    "missile",
+    "missing",
+    "mission",
+    "missions",
+    "mississippi",
+    "missouri",
+    "mistake",
+    "mistakes",
+    "mistress",
+    "mit",
+    "mitchell",
+    "mitsubishi",
+    "mix",
+    "mixed",
+    "mixer",
+    "mixing",
+    "mixture",
+    "mlb",
+    "mls",
+    "mobile",
+    "mobiles",
+    "mobility",
+    "mod",
+    "mode",
+    "model",
+    "modeling",
+    "modelling",
+    "models",
+    "modem",
+    "modems",
+    "moderate",
+    "moderator",
+    "moderators",
+    "modern",
+    "modes",
+    "modification",
+    "modifications",
+    "modified",
+    "modify",
+    "mods",
+    "modular",
+    "module",
+    "modules",
+    "moisture",
+    "mold",
+    "moldova",
+    "molecular",
+    "molecules",
+    "mom",
+    "moment",
+    "moments",
+    "momentum",
+    "moms",
+    "mon",
+    "monaco",
+    "monday",
+    "monetary",
+    "money",
+    "mongolia",
+    "monica",
+    "monitor",
+    "monitored",
+    "monitoring",
+    "monitors",
+    "monkey",
+    "mono",
+    "monroe",
+    "monster",
+    "monsters",
+    "montana",
+    "monte",
+    "montgomery",
+    "month",
+    "monthly",
+    "months",
+    "montreal",
+    "mood",
+    "moon",
+    "moore",
+    "moral",
+    "more",
+    "moreover",
+    "morgan",
+    "morning",
+    "morocco",
+    "morris",
+    "morrison",
+    "mortality",
+    "mortgage",
+    "mortgages",
+    "moscow",
+    "moses",
+    "moss",
+    "most",
+    "mostly",
+    "motel",
+    "motels",
+    "mother",
+    "motherboard",
+    "mothers",
+    "motion",
+    "motivated",
+    "motivation",
+    "motor",
+    "motorcycle",
+    "motorcycles",
+    "motorola",
+    "motors",
+    "mount",
+    "mountain",
+    "mountains",
+    "mounted",
+    "mounting",
+    "mounts",
+    "mouse",
+    "mouth",
+    "move",
+    "moved",
+    "movement",
+    "movements",
+    "movers",
+    "moves",
+    "movie",
+    "movies",
+    "moving",
+    "mozambique",
+    "mozilla",
+    "mpeg",
+    "mpegs",
+    "mpg",
+    "mph",
+    "mrna",
+    "mrs",
+    "msg",
+    "msgid",
+    "msgstr",
+    "msie",
+    "msn",
+    "mtv",
+    "much",
+    "mud",
+    "mug",
+    "multi",
+    "multimedia",
+    "multiple",
+    "mumbai",
+    "munich",
+    "municipal",
+    "municipality",
+    "murder",
+    "murphy",
+    "murray",
+    "muscle",
+    "muscles",
+    "museum",
+    "museums",
+    "music",
+    "musical",
+    "musician",
+    "musicians",
+    "muslim",
+    "muslims",
+    "must",
+    "mustang",
+    "mutual",
+    "muze",
+    "myanmar",
+    "myers",
+    "myrtle",
+    "myself",
+    "mysimon",
+    "myspace",
+    "mysql",
+    "mysterious",
+    "mystery",
+    "myth",
+    "nail",
+    "nails",
+    "naked",
+    "nam",
+    "name",
+    "named",
+    "namely",
+    "names",
+    "namespace",
+    "namibia",
+    "nancy",
+    "nano",
+    "naples",
+    "narrative",
+    "narrow",
+    "nasa",
+    "nascar",
+    "nasdaq",
+    "nashville",
+    "nasty",
+    "nat",
+    "nathan",
+    "nation",
+    "national",
+    "nationally",
+    "nations",
+    "nationwide",
+    "native",
+    "nato",
+    "natural",
+    "naturally",
+    "naturals",
+    "nature",
+    "naughty",
+    "nav",
+    "naval",
+    "navigate",
+    "navigation",
+    "navigator",
+    "navy",
+    "nba",
+    "nbc",
+    "ncaa",
+    "near",
+    "nearby",
+    "nearest",
+    "nearly",
+    "nebraska",
+    "nec",
+    "necessarily",
+    "necessary",
+    "necessity",
+    "neck",
+    "necklace",
+    "need",
+    "needed",
+    "needle",
+    "needs",
+    "negative",
+    "negotiation",
+    "negotiations",
+    "neighbor",
+    "neighborhood",
+    "neighbors",
+    "neil",
+    "neither",
+    "nelson",
+    "neo",
+    "neon",
+    "nepal",
+    "nerve",
+    "nervous",
+    "nest",
+    "nested",
+    "net",
+    "netherlands",
+    "netscape",
+    "network",
+    "networking",
+    "networks",
+    "neural",
+    "neutral",
+    "nevada",
+    "never",
+    "nevertheless",
+    "new",
+    "newark",
+    "newbie",
+    "newcastle",
+    "newer",
+    "newest",
+    "newfoundland",
+    "newly",
+    "newman",
+    "newport",
+    "news",
+    "newsletter",
+    "newsletters",
+    "newspaper",
+    "newspapers",
+    "newton",
+    "next",
+    "nextel",
+    "nfl",
+    "nhl",
+    "nhs",
+    "niagara",
+    "nicaragua",
+    "nice",
+    "nicholas",
+    "nick",
+    "nickel",
+    "nickname",
+    "nicole",
+    "niger",
+    "nigeria",
+    "night",
+    "nightlife",
+    "nightmare",
+    "nights",
+    "nike",
+    "nikon",
+    "nil",
+    "nine",
+    "nintendo",
+    "nirvana",
+    "nissan",
+    "nitrogen",
+    "noble",
+    "nobody",
+    "node",
+    "nodes",
+    "noise",
+    "nokia",
+    "nominated",
+    "nomination",
+    "nominations",
+    "non",
+    "none",
+    "nonprofit",
+    "noon",
+    "nor",
+    "norfolk",
+    "norm",
+    "normal",
+    "normally",
+    "norman",
+    "north",
+    "northeast",
+    "northern",
+    "northwest",
+    "norton",
+    "norway",
+    "norwegian",
+    "nose",
+    "not",
+    "note",
+    "notebook",
+    "notebooks",
+    "noted",
+    "notes",
+    "nothing",
+    "notice",
+    "noticed",
+    "notices",
+    "notification",
+    "notifications",
+    "notified",
+    "notify",
+    "notion",
+    "notre",
+    "nottingham",
+    "nov",
+    "nova",
+    "novel",
+    "novels",
+    "novelty",
+    "november",
+    "now",
+    "nowhere",
+    "nsw",
+    "ntsc",
+    "nuclear",
+    "nudist",
+    "nuke",
+    "null",
+    "number",
+    "numbers",
+    "numeric",
+    "numerical",
+    "numerous",
+    "nurse",
+    "nursery",
+    "nurses",
+    "nursing",
+    "nut",
+    "nutrition",
+    "nutritional",
+    "nuts",
+    "nutten",
+    "nvidia",
+    "nyc",
+    "nylon",
+    "oak",
+    "oakland",
+    "oaks",
+    "oasis",
+    "obesity",
+    "obituaries",
+    "obj",
+    "object",
+    "objective",
+    "objectives",
+    "objects",
+    "obligation",
+    "obligations",
+    "observation",
+    "observations",
+    "observe",
+    "observed",
+    "observer",
+    "obtain",
+    "obtained",
+    "obtaining",
+    "obvious",
+    "obviously",
+    "occasion",
+    "occasional",
+    "occasionally",
+    "occasions",
+    "occupation",
+    "occupational",
+    "occupations",
+    "occupied",
+    "occur",
+    "occurred",
+    "occurrence",
+    "occurring",
+    "occurs",
+    "ocean",
+    "oclc",
+    "oct",
+    "october",
+    "odd",
+    "odds",
+    "oecd",
+    "oem",
+    "off",
+    "offense",
+    "offensive",
+    "offer",
+    "offered",
+    "offering",
+    "offerings",
+    "offers",
+    "office",
+    "officer",
+    "officers",
+    "offices",
+    "official",
+    "officially",
+    "officials",
+    "offline",
+    "offset",
+    "offshore",
+    "often",
+    "ohio",
+    "oil",
+    "oils",
+    "okay",
+    "oklahoma",
+    "old",
+    "older",
+    "oldest",
+    "olive",
+    "oliver",
+    "olympic",
+    "olympics",
+    "olympus",
+    "omaha",
+    "oman",
+    "omega",
+    "omissions",
+    "once",
+    "one",
+    "ones",
+    "ongoing",
+    "onion",
+    "online",
+    "only",
+    "ons",
+    "ontario",
+    "onto",
+    "ooo",
+    "oops",
+    "open",
+    "opened",
+    "opening",
+    "openings",
+    "opens",
+    "opera",
+    "operate",
+    "operated",
+    "operates",
+    "operating",
+    "operation",
+    "operational",
+    "operations",
+    "operator",
+    "operators",
+    "opinion",
+    "opinions",
+    "opponent",
+    "opponents",
+    "opportunities",
+    "opportunity",
+    "opposed",
+    "opposite",
+    "opposition",
+    "opt",
+    "optical",
+    "optics",
+    "optimal",
+    "optimization",
+    "optimize",
+    "optimum",
+    "option",
+    "optional",
+    "options",
+    "oracle",
+    "oral",
+    "orange",
+    "orbit",
+    "orchestra",
+    "order",
+    "ordered",
+    "ordering",
+    "orders",
+    "ordinance",
+    "ordinary",
+    "oregon",
+    "org",
+    "organ",
+    "organic",
+    "organisation",
+    "organisations",
+    "organisms",
+    "organization",
+    "organizational",
+    "organizations",
+    "organize",
+    "organized",
+    "organizer",
+    "organizing",
+    "oriental",
+    "orientation",
+    "oriented",
+    "origin",
+    "original",
+    "originally",
+    "origins",
+    "orlando",
+    "orleans",
+    "oscar",
+    "other",
+    "others",
+    "otherwise",
+    "ottawa",
+    "ought",
+    "our",
+    "ours",
+    "ourselves",
+    "out",
+    "outcome",
+    "outcomes",
+    "outdoor",
+    "outdoors",
+    "outer",
+    "outlet",
+    "outlets",
+    "outline",
+    "outlined",
+    "outlook",
+    "output",
+    "outputs",
+    "outreach",
+    "outside",
+    "outsourcing",
+    "outstanding",
+    "oval",
+    "oven",
+    "over",
+    "overall",
+    "overcome",
+    "overhead",
+    "overnight",
+    "overseas",
+    "overview",
+    "owen",
+    "own",
+    "owned",
+    "owner",
+    "owners",
+    "ownership",
+    "owns",
+    "oxford",
+    "oxide",
+    "oxygen",
+    "ozone",
+    "pac",
+    "pace",
+    "pacific",
+    "pack",
+    "package",
+    "packages",
+    "packaging",
+    "packard",
+    "packed",
+    "packet",
+    "packets",
+    "packing",
+    "packs",
+    "pad",
+    "pads",
+    "page",
+    "pages",
+    "paid",
+    "pain",
+    "painful",
+    "paint",
+    "paintball",
+    "painted",
+    "painting",
+    "paintings",
+    "pair",
+    "pairs",
+    "pakistan",
+    "pal",
+    "palace",
+    "pale",
+    "palestine",
+    "palestinian",
+    "palm",
+    "palmer",
+    "pam",
+    "pamela",
+    "pan",
+    "panama",
+    "panasonic",
+    "panel",
+    "panels",
+    "panic",
+    "pants",
+    "pantyhose",
+    "paper",
+    "paperback",
+    "paperbacks",
+    "papers",
+    "papua",
+    "par",
+    "para",
+    "parade",
+    "paradise",
+    "paragraph",
+    "paragraphs",
+    "paraguay",
+    "parallel",
+    "parameter",
+    "parameters",
+    "parcel",
+    "parent",
+    "parental",
+    "parenting",
+    "parents",
+    "paris",
+    "parish",
+    "park",
+    "parker",
+    "parking",
+    "parks",
+    "parliament",
+    "parliamentary",
+    "part",
+    "partial",
+    "partially",
+    "participant",
+    "participants",
+    "participate",
+    "participated",
+    "participating",
+    "participation",
+    "particle",
+    "particles",
+    "particular",
+    "particularly",
+    "parties",
+    "partition",
+    "partly",
+    "partner",
+    "partners",
+    "partnership",
+    "partnerships",
+    "parts",
+    "party",
+    "pas",
+    "paso",
+    "pass",
+    "passage",
+    "passed",
+    "passenger",
+    "passengers",
+    "passes",
+    "passing",
+    "passion",
+    "passive",
+    "passport",
+    "password",
+    "passwords",
+    "past",
+    "pasta",
+    "paste",
+    "pastor",
+    "pat",
+    "patch",
+    "patches",
+    "patent",
+    "patents",
+    "path",
+    "pathology",
+    "paths",
+    "patient",
+    "patients",
+    "patio",
+    "patricia",
+    "patrick",
+    "patrol",
+    "pattern",
+    "patterns",
+    "paul",
+    "pavilion",
+    "paxil",
+    "pay",
+    "payable",
+    "payday",
+    "paying",
+    "payment",
+    "payments",
+    "paypal",
+    "payroll",
+    "pays",
+    "pci",
+    "pcs",
+    "pct",
+    "pda",
+    "pdas",
+    "pdf",
+    "pdt",
+    "peace",
+    "peaceful",
+    "peak",
+    "pearl",
+    "peas",
+    "pediatric",
+    "pee",
+    "peeing",
+    "peer",
+    "peers",
+    "pen",
+    "penalties",
+    "penalty",
+    "pencil",
+    "pendant",
+    "pending",
+    "penetration",
+    "penguin",
+    "peninsula",
+    "penn",
+    "pennsylvania",
+    "penny",
+    "pens",
+    "pension",
+    "pensions",
+    "pentium",
+    "people",
+    "peoples",
+    "pepper",
+    "per",
+    "perceived",
+    "percent",
+    "percentage",
+    "perception",
+    "perfect",
+    "perfectly",
+    "perform",
+    "performance",
+    "performances",
+    "performed",
+    "performer",
+    "performing",
+    "performs",
+    "perfume",
+    "perhaps",
+    "period",
+    "periodic",
+    "periodically",
+    "periods",
+    "peripheral",
+    "peripherals",
+    "perl",
+    "permalink",
+    "permanent",
+    "permission",
+    "permissions",
+    "permit",
+    "permits",
+    "permitted",
+    "perry",
+    "persian",
+    "persistent",
+    "person",
+    "personal",
+    "personality",
+    "personalized",
+    "personally",
+    "personals",
+    "personnel",
+    "persons",
+    "perspective",
+    "perspectives",
+    "perth",
+    "peru",
+    "pest",
+    "pet",
+    "pete",
+    "peter",
+    "petersburg",
+    "peterson",
+    "petite",
+    "petition",
+    "petroleum",
+    "pets",
+    "pgp",
+    "phantom",
+    "pharmaceutical",
+    "pharmaceuticals",
+    "pharmacies",
+    "pharmacology",
+    "pharmacy",
+    "phase",
+    "phases",
+    "phd",
+    "phenomenon",
+    "phentermine",
+    "phi",
+    "phil",
+    "philadelphia",
+    "philip",
+    "philippines",
+    "philips",
+    "phillips",
+    "philosophy",
+    "phoenix",
+    "phone",
+    "phones",
+    "photo",
+    "photograph",
+    "photographer",
+    "photographers",
+    "photographic",
+    "photographs",
+    "photography",
+    "photos",
+    "photoshop",
+    "php",
+    "phpbb",
+    "phrase",
+    "phrases",
+    "phys",
+    "physical",
+    "physically",
+    "physician",
+    "physicians",
+    "physics",
+    "physiology",
+    "piano",
+    "pic",
+    "pichunter",
+    "pick",
+    "picked",
+    "picking",
+    "picks",
+    "pickup",
+    "picnic",
+    "pics",
+    "picture",
+    "pictures",
+    "pie",
+    "piece",
+    "pieces",
+    "pierce",
+    "pierre",
+    "pig",
+    "pike",
+    "pill",
+    "pillow",
+    "pills",
+    "pilot",
+    "pin",
+    "pine",
+    "ping",
+    "pink",
+    "pins",
+    "pioneer",
+    "pipe",
+    "pipeline",
+    "pipes",
+    "pirates",
+    "pit",
+    "pitch",
+    "pittsburgh",
+    "pix",
+    "pixel",
+    "pixels",
+    "pizza",
+    "place",
+    "placed",
+    "placement",
+    "places",
+    "placing",
+    "plain",
+    "plains",
+    "plaintiff",
+    "plan",
+    "plane",
+    "planes",
+    "planet",
+    "planets",
+    "planned",
+    "planner",
+    "planners",
+    "planning",
+    "plans",
+    "plant",
+    "plants",
+    "plasma",
+    "plastic",
+    "plastics",
+    "plate",
+    "plates",
+    "platform",
+    "platforms",
+    "platinum",
+    "play",
+    "playback",
+    "played",
+    "player",
+    "players",
+    "playing",
+    "playlist",
+    "plays",
+    "playstation",
+    "plaza",
+    "plc",
+    "pleasant",
+    "please",
+    "pleased",
+    "pleasure",
+    "pledge",
+    "plenty",
+    "plot",
+    "plots",
+    "plug",
+    "plugin",
+    "plugins",
+    "plumbing",
+    "plus",
+    "plymouth",
+    "pmc",
+    "pmid",
+    "pocket",
+    "pockets",
+    "pod",
+    "podcast",
+    "podcasts",
+    "poem",
+    "poems",
+    "poet",
+    "poetry",
+    "point",
+    "pointed",
+    "pointer",
+    "pointing",
+    "points",
+    "poison",
+    "pokemon",
+    "poker",
+    "poland",
+    "polar",
+    "pole",
+    "police",
+    "policies",
+    "policy",
+    "polish",
+    "polished",
+    "political",
+    "politicians",
+    "politics",
+    "poll",
+    "polls",
+    "pollution",
+    "polo",
+    "poly",
+    "polyester",
+    "polymer",
+    "polyphonic",
+    "pond",
+    "pontiac",
+    "pool",
+    "pools",
+    "poor",
+    "pop",
+    "pope",
+    "popular",
+    "popularity",
+    "population",
+    "populations",
+    "por",
+    "porcelain",
+    "pork",
+    "porsche",
+    "port",
+    "portable",
+    "portal",
+    "porter",
+    "portfolio",
+    "portion",
+    "portions",
+    "portland",
+    "portrait",
+    "portraits",
+    "ports",
+    "portsmouth",
+    "portugal",
+    "portuguese",
+    "pos",
+    "pose",
+    "posing",
+    "position",
+    "positioning",
+    "positions",
+    "positive",
+    "possess",
+    "possession",
+    "possibilities",
+    "possibility",
+    "possible",
+    "possibly",
+    "post",
+    "postage",
+    "postal",
+    "postcard",
+    "postcards",
+    "posted",
+    "poster",
+    "posters",
+    "posting",
+    "postings",
+    "postposted",
+    "posts",
+    "pot",
+    "potato",
+    "potatoes",
+    "potential",
+    "potentially",
+    "potter",
+    "pottery",
+    "poultry",
+    "pound",
+    "pounds",
+    "pour",
+    "poverty",
+    "powder",
+    "powell",
+    "power",
+    "powered",
+    "powerful",
+    "powerpoint",
+    "powers",
+    "powerseller",
+    "ppc",
+    "ppm",
+    "practical",
+    "practice",
+    "practices",
+    "practitioner",
+    "practitioners",
+    "prague",
+    "prairie",
+    "praise",
+    "pray",
+    "prayer",
+    "prayers",
+    "pre",
+    "preceding",
+    "precious",
+    "precipitation",
+    "precise",
+    "precisely",
+    "precision",
+    "predict",
+    "predicted",
+    "prediction",
+    "predictions",
+    "prefer",
+    "preference",
+    "preferences",
+    "preferred",
+    "prefers",
+    "prefix",
+    "pregnancy",
+    "pregnant",
+    "preliminary",
+    "premier",
+    "premiere",
+    "premises",
+    "premium",
+    "prep",
+    "prepaid",
+    "preparation",
+    "prepare",
+    "prepared",
+    "preparing",
+    "prerequisite",
+    "prescribed",
+    "prescription",
+    "presence",
+    "present",
+    "presentation",
+    "presentations",
+    "presented",
+    "presenting",
+    "presently",
+    "presents",
+    "preservation",
+    "preserve",
+    "president",
+    "presidential",
+    "press",
+    "pressed",
+    "pressing",
+    "pressure",
+    "preston",
+    "pretty",
+    "prev",
+    "prevent",
+    "preventing",
+    "prevention",
+    "preview",
+    "previews",
+    "previous",
+    "previously",
+    "price",
+    "priced",
+    "prices",
+    "pricing",
+    "pride",
+    "priest",
+    "primarily",
+    "primary",
+    "prime",
+    "prince",
+    "princess",
+    "princeton",
+    "principal",
+    "principle",
+    "principles",
+    "print",
+    "printable",
+    "printed",
+    "printer",
+    "printers",
+    "printing",
+    "prints",
+    "prior",
+    "priorities",
+    "priority",
+    "prison",
+    "prisoner",
+    "prisoners",
+    "privacy",
+    "private",
+    "privilege",
+    "privileges",
+    "prix",
+    "prize",
+    "prizes",
+    "pro",
+    "probability",
+    "probably",
+    "probe",
+    "problem",
+    "problems",
+    "proc",
+    "procedure",
+    "procedures",
+    "proceed",
+    "proceeding",
+    "proceedings",
+    "proceeds",
+    "process",
+    "processed",
+    "processes",
+    "processing",
+    "processor",
+    "processors",
+    "procurement",
+    "produce",
+    "produced",
+    "producer",
+    "producers",
+    "produces",
+    "producing",
+    "product",
+    "production",
+    "productions",
+    "productive",
+    "productivity",
+    "products",
+    "profession",
+    "professional",
+    "professionals",
+    "professor",
+    "profile",
+    "profiles",
+    "profit",
+    "profits",
+    "program",
+    "programme",
+    "programmer",
+    "programmers",
+    "programmes",
+    "programming",
+    "programs",
+    "progress",
+    "progressive",
+    "prohibited",
+    "project",
+    "projected",
+    "projection",
+    "projector",
+    "projectors",
+    "projects",
+    "prominent",
+    "promise",
+    "promised",
+    "promises",
+    "promising",
+    "promo",
+    "promote",
+    "promoted",
+    "promotes",
+    "promoting",
+    "promotion",
+    "promotional",
+    "promotions",
+    "prompt",
+    "promptly",
+    "proof",
+    "propecia",
+    "proper",
+    "properly",
+    "properties",
+    "property",
+    "prophet",
+    "proportion",
+    "proposal",
+    "proposals",
+    "propose",
+    "proposed",
+    "proposition",
+    "proprietary",
+    "pros",
+    "prospect",
+    "prospective",
+    "prospects",
+    "prostate",
+    "prostores",
+    "prot",
+    "protect",
+    "protected",
+    "protecting",
+    "protection",
+    "protective",
+    "protein",
+    "proteins",
+    "protest",
+    "protocol",
+    "protocols",
+    "prototype",
+    "proud",
+    "proudly",
+    "prove",
+    "proved",
+    "proven",
+    "provide",
+    "provided",
+    "providence",
+    "provider",
+    "providers",
+    "provides",
+    "providing",
+    "province",
+    "provinces",
+    "provincial",
+    "provision",
+    "provisions",
+    "proxy",
+    "prozac",
+    "psi",
+    "psp",
+    "pst",
+    "psychiatry",
+    "psychological",
+    "psychology",
+    "pts",
+    "pty",
+    "pub",
+    "public",
+    "publication",
+    "publications",
+    "publicity",
+    "publicly",
+    "publish",
+    "published",
+    "publisher",
+    "publishers",
+    "publishing",
+    "pubmed",
+    "pubs",
+    "puerto",
+    "pull",
+    "pulled",
+    "pulling",
+    "pulse",
+    "pump",
+    "pumps",
+    "punch",
+    "punishment",
+    "punk",
+    "pupils",
+    "puppy",
+    "purchase",
+    "purchased",
+    "purchases",
+    "purchasing",
+    "pure",
+    "purple",
+    "purpose",
+    "purposes",
+    "purse",
+    "pursuant",
+    "pursue",
+    "pursuit",
+    "push",
+    "pushed",
+    "pushing",
+    "put",
+    "puts",
+    "putting",
+    "puzzle",
+    "puzzles",
+    "pvc",
+    "python",
+    "qatar",
+    "qld",
+    "qty",
+    "quad",
+    "qualification",
+    "qualifications",
+    "qualified",
+    "qualify",
+    "qualifying",
+    "qualities",
+    "quality",
+    "quantitative",
+    "quantities",
+    "quantity",
+    "quantum",
+    "quarter",
+    "quarterly",
+    "quarters",
+    "que",
+    "quebec",
+    "queen",
+    "queens",
+    "queensland",
+    "queries",
+    "query",
+    "quest",
+    "question",
+    "questionnaire",
+    "questions",
+    "queue",
+    "qui",
+    "quick",
+    "quickly",
+    "quiet",
+    "quilt",
+    "quit",
+    "quite",
+    "quiz",
+    "quizzes",
+    "quotations",
+    "quote",
+    "quoted",
+    "quotes",
+    "rabbit",
+    "race",
+    "races",
+    "rachel",
+    "racial",
+    "racing",
+    "rack",
+    "racks",
+    "radar",
+    "radiation",
+    "radical",
+    "radio",
+    "radios",
+    "radius",
+    "rage",
+    "raid",
+    "rail",
+    "railroad",
+    "railway",
+    "rain",
+    "rainbow",
+    "raise",
+    "raised",
+    "raises",
+    "raising",
+    "raleigh",
+    "rally",
+    "ralph",
+    "ram",
+    "ran",
+    "ranch",
+    "rand",
+    "random",
+    "randy",
+    "range",
+    "ranger",
+    "rangers",
+    "ranges",
+    "ranging",
+    "rank",
+    "ranked",
+    "ranking",
+    "rankings",
+    "ranks",
+    "rap",
+    "rapid",
+    "rapidly",
+    "rapids",
+    "rare",
+    "rarely",
+    "rat",
+    "rate",
+    "rated",
+    "rates",
+    "rather",
+    "rating",
+    "ratings",
+    "ratio",
+    "rational",
+    "ratios",
+    "rats",
+    "raw",
+    "ray",
+    "raymond",
+    "rays",
+    "rca",
+    "reach",
+    "reached",
+    "reaches",
+    "reaching",
+    "reaction",
+    "reactions",
+    "read",
+    "reader",
+    "readers",
+    "readily",
+    "reading",
+    "readings",
+    "reads",
+    "ready",
+    "real",
+    "realistic",
+    "reality",
+    "realize",
+    "realized",
+    "really",
+    "realm",
+    "realtor",
+    "realtors",
+    "realty",
+    "rear",
+    "reason",
+    "reasonable",
+    "reasonably",
+    "reasoning",
+    "reasons",
+    "rebate",
+    "rebates",
+    "rebecca",
+    "rebel",
+    "rebound",
+    "rec",
+    "recall",
+    "receipt",
+    "receive",
+    "received",
+    "receiver",
+    "receivers",
+    "receives",
+    "receiving",
+    "recent",
+    "recently",
+    "reception",
+    "receptor",
+    "receptors",
+    "recipe",
+    "recipes",
+    "recipient",
+    "recipients",
+    "recognition",
+    "recognize",
+    "recognized",
+    "recommend",
+    "recommendation",
+    "recommendations",
+    "recommended",
+    "recommends",
+    "reconstruction",
+    "record",
+    "recorded",
+    "recorder",
+    "recorders",
+    "recording",
+    "recordings",
+    "records",
+    "recover",
+    "recovered",
+    "recovery",
+    "recreation",
+    "recreational",
+    "recruiting",
+    "recruitment",
+    "recycling",
+    "red",
+    "redeem",
+    "redhead",
+    "reduce",
+    "reduced",
+    "reduces",
+    "reducing",
+    "reduction",
+    "reductions",
+    "reed",
+    "reef",
+    "reel",
+    "ref",
+    "refer",
+    "reference",
+    "referenced",
+    "references",
+    "referral",
+    "referrals",
+    "referred",
+    "referring",
+    "refers",
+    "refinance",
+    "refine",
+    "refined",
+    "reflect",
+    "reflected",
+    "reflection",
+    "reflections",
+    "reflects",
+    "reform",
+    "reforms",
+    "refresh",
+    "refrigerator",
+    "refugees",
+    "refund",
+    "refurbished",
+    "refuse",
+    "refused",
+    "reg",
+    "regard",
+    "regarded",
+    "regarding",
+    "regardless",
+    "regards",
+    "reggae",
+    "regime",
+    "region",
+    "regional",
+    "regions",
+    "register",
+    "registered",
+    "registrar",
+    "registration",
+    "registry",
+    "regression",
+    "regular",
+    "regularly",
+    "regulated",
+    "regulation",
+    "regulations",
+    "regulatory",
+    "rehab",
+    "rehabilitation",
+    "reid",
+    "reject",
+    "rejected",
+    "relate",
+    "related",
+    "relates",
+    "relating",
+    "relation",
+    "relations",
+    "relationship",
+    "relationships",
+    "relative",
+    "relatively",
+    "relatives",
+    "relax",
+    "relaxation",
+    "relay",
+    "release",
+    "released",
+    "releases",
+    "relevance",
+    "relevant",
+    "reliability",
+    "reliable",
+    "reliance",
+    "relief",
+    "religion",
+    "religions",
+    "religious",
+    "reload",
+    "relocation",
+    "rely",
+    "relying",
+    "remain",
+    "remainder",
+    "remained",
+    "remaining",
+    "remains",
+    "remark",
+    "remarkable",
+    "remarks",
+    "remedies",
+    "remedy",
+    "remember",
+    "remembered",
+    "remind",
+    "reminder",
+    "remix",
+    "remote",
+    "removable",
+    "removal",
+    "remove",
+    "removed",
+    "removing",
+    "renaissance",
+    "render",
+    "rendered",
+    "rendering",
+    "renew",
+    "renewable",
+    "renewal",
+    "reno",
+    "rent",
+    "rental",
+    "rentals",
+    "rep",
+    "repair",
+    "repairs",
+    "repeat",
+    "repeated",
+    "replace",
+    "replaced",
+    "replacement",
+    "replacing",
+    "replica",
+    "replication",
+    "replied",
+    "replies",
+    "reply",
+    "report",
+    "reported",
+    "reporter",
+    "reporters",
+    "reporting",
+    "reports",
+    "repository",
+    "represent",
+    "representation",
+    "representations",
+    "representative",
+    "representatives",
+    "represented",
+    "representing",
+    "represents",
+    "reprint",
+    "reprints",
+    "reproduce",
+    "reproduced",
+    "reproduction",
+    "reproductive",
+    "republic",
+    "republican",
+    "republicans",
+    "reputation",
+    "request",
+    "requested",
+    "requesting",
+    "requests",
+    "require",
+    "required",
+    "requirement",
+    "requirements",
+    "requires",
+    "requiring",
+    "res",
+    "rescue",
+    "research",
+    "researcher",
+    "researchers",
+    "reseller",
+    "reservation",
+    "reservations",
+    "reserve",
+    "reserved",
+    "reserves",
+    "reservoir",
+    "reset",
+    "residence",
+    "resident",
+    "residential",
+    "residents",
+    "resist",
+    "resistance",
+    "resistant",
+    "resolution",
+    "resolutions",
+    "resolve",
+    "resolved",
+    "resort",
+    "resorts",
+    "resource",
+    "resources",
+    "respect",
+    "respected",
+    "respective",
+    "respectively",
+    "respiratory",
+    "respond",
+    "responded",
+    "respondent",
+    "respondents",
+    "responding",
+    "response",
+    "responses",
+    "responsibilities",
+    "responsibility",
+    "responsible",
+    "rest",
+    "restaurant",
+    "restaurants",
+    "restoration",
+    "restore",
+    "restored",
+    "restrict",
+    "restricted",
+    "restriction",
+    "restrictions",
+    "restructuring",
+    "result",
+    "resulted",
+    "resulting",
+    "results",
+    "resume",
+    "resumes",
+    "retail",
+    "retailer",
+    "retailers",
+    "retain",
+    "retained",
+    "retention",
+    "retired",
+    "retirement",
+    "retreat",
+    "retrieval",
+    "retrieve",
+    "retrieved",
+    "retro",
+    "return",
+    "returned",
+    "returning",
+    "returns",
+    "reunion",
+    "reuters",
+    "rev",
+    "reveal",
+    "revealed",
+    "reveals",
+    "revelation",
+    "revenge",
+    "revenue",
+    "revenues",
+    "reverse",
+    "review",
+    "reviewed",
+    "reviewer",
+    "reviewing",
+    "reviews",
+    "revised",
+    "revision",
+    "revisions",
+    "revolution",
+    "revolutionary",
+    "reward",
+    "rewards",
+    "reynolds",
+    "rfc",
+    "rhode",
+    "rhythm",
+    "ribbon",
+    "rica",
+    "rice",
+    "rich",
+    "richard",
+    "richards",
+    "richardson",
+    "richmond",
+    "rick",
+    "ricky",
+    "rico",
+    "rid",
+    "ride",
+    "rider",
+    "riders",
+    "rides",
+    "ridge",
+    "riding",
+    "right",
+    "rights",
+    "rim",
+    "ring",
+    "rings",
+    "ringtone",
+    "ringtones",
+    "rio",
+    "rip",
+    "ripe",
+    "rise",
+    "rising",
+    "risk",
+    "risks",
+    "river",
+    "rivers",
+    "riverside",
+    "rna",
+    "road",
+    "roads",
+    "rob",
+    "robbie",
+    "robert",
+    "roberts",
+    "robertson",
+    "robin",
+    "robinson",
+    "robot",
+    "robots",
+    "robust",
+    "rochester",
+    "rock",
+    "rocket",
+    "rocks",
+    "rocky",
+    "rod",
+    "roger",
+    "rogers",
+    "roland",
+    "role",
+    "roles",
+    "roll",
+    "rolled",
+    "roller",
+    "rolling",
+    "rolls",
+    "rom",
+    "roman",
+    "romance",
+    "romania",
+    "romantic",
+    "rome",
+    "ron",
+    "ronald",
+    "roof",
+    "room",
+    "roommate",
+    "roommates",
+    "rooms",
+    "root",
+    "roots",
+    "rope",
+    "rosa",
+    "rose",
+    "roses",
+    "ross",
+    "roster",
+    "rotary",
+    "rotation",
+    "rouge",
+    "rough",
+    "roughly",
+    "roulette",
+    "round",
+    "rounds",
+    "route",
+    "router",
+    "routers",
+    "routes",
+    "routine",
+    "routines",
+    "routing",
+    "rover",
+    "row",
+    "rows",
+    "roy",
+    "royal",
+    "royalty",
+    "rpg",
+    "rpm",
+    "rrp",
+    "rss",
+    "rubber",
+    "ruby",
+    "rug",
+    "rugby",
+    "rugs",
+    "rule",
+    "ruled",
+    "rules",
+    "ruling",
+    "run",
+    "runner",
+    "running",
+    "runs",
+    "runtime",
+    "rural",
+    "rush",
+    "russell",
+    "russia",
+    "russian",
+    "ruth",
+    "rwanda",
+    "ryan",
+    "sacramento",
+    "sacred",
+    "sacrifice",
+    "sad",
+    "saddam",
+    "safari",
+    "safe",
+    "safely",
+    "safer",
+    "safety",
+    "sage",
+    "sagem",
+    "said",
+    "sail",
+    "sailing",
+    "saint",
+    "saints",
+    "sake",
+    "salad",
+    "salaries",
+    "salary",
+    "sale",
+    "salem",
+    "sales",
+    "sally",
+    "salmon",
+    "salon",
+    "salt",
+    "salvador",
+    "salvation",
+    "sam",
+    "samba",
+    "same",
+    "samoa",
+    "sample",
+    "samples",
+    "sampling",
+    "samsung",
+    "samuel",
+    "san",
+    "sand",
+    "sandra",
+    "sandwich",
+    "sandy",
+    "sans",
+    "santa",
+    "sanyo",
+    "sao",
+    "sap",
+    "sapphire",
+    "sara",
+    "sarah",
+    "sas",
+    "saskatchewan",
+    "sat",
+    "satellite",
+    "satin",
+    "satisfaction",
+    "satisfactory",
+    "satisfied",
+    "satisfy",
+    "saturday",
+    "saturn",
+    "sauce",
+    "saudi",
+    "savage",
+    "savannah",
+    "save",
+    "saved",
+    "saver",
+    "saves",
+    "saving",
+    "savings",
+    "saw",
+    "say",
+    "saying",
+    "says",
+    "sbjct",
+    "scale",
+    "scales",
+    "scan",
+    "scanned",
+    "scanner",
+    "scanners",
+    "scanning",
+    "scared",
+    "scary",
+    "scenario",
+    "scenarios",
+    "scene",
+    "scenes",
+    "scenic",
+    "schedule",
+    "scheduled",
+    "schedules",
+    "scheduling",
+    "schema",
+    "scheme",
+    "schemes",
+    "scholar",
+    "scholars",
+    "scholarship",
+    "scholarships",
+    "school",
+    "schools",
+    "sci",
+    "science",
+    "sciences",
+    "scientific",
+    "scientist",
+    "scientists",
+    "scoop",
+    "scope",
+    "score",
+    "scored",
+    "scores",
+    "scoring",
+    "scotia",
+    "scotland",
+    "scott",
+    "scottish",
+    "scout",
+    "scratch",
+    "screen",
+    "screening",
+    "screens",
+    "screensaver",
+    "screensavers",
+    "screenshot",
+    "screenshots",
+    "screw",
+    "script",
+    "scripting",
+    "scripts",
+    "scroll",
+    "scsi",
+    "scuba",
+    "sculpture",
+    "sea",
+    "seafood",
+    "seal",
+    "sealed",
+    "sean",
+    "search",
+    "searched",
+    "searches",
+    "searching",
+    "seas",
+    "season",
+    "seasonal",
+    "seasons",
+    "seat",
+    "seating",
+    "seats",
+    "seattle",
+    "sec",
+    "second",
+    "secondary",
+    "seconds",
+    "secret",
+    "secretariat",
+    "secretary",
+    "secrets",
+    "section",
+    "sections",
+    "sector",
+    "sectors",
+    "secure",
+    "secured",
+    "securely",
+    "securities",
+    "security",
+    "see",
+    "seed",
+    "seeds",
+    "seeing",
+    "seek",
+    "seeker",
+    "seekers",
+    "seeking",
+    "seeks",
+    "seem",
+    "seemed",
+    "seems",
+    "seen",
+    "sees",
+    "sega",
+    "segment",
+    "segments",
+    "select",
+    "selected",
+    "selecting",
+    "selection",
+    "selections",
+    "selective",
+    "self",
+    "sell",
+    "seller",
+    "sellers",
+    "selling",
+    "sells",
+    "semester",
+    "semi",
+    "semiconductor",
+    "seminar",
+    "seminars",
+    "sen",
+    "senate",
+    "senator",
+    "senators",
+    "send",
+    "sender",
+    "sending",
+    "sends",
+    "senegal",
+    "senior",
+    "seniors",
+    "sense",
+    "sensitive",
+    "sensitivity",
+    "sensor",
+    "sensors",
+    "sent",
+    "sentence",
+    "sentences",
+    "seo",
+    "sep",
+    "separate",
+    "separated",
+    "separately",
+    "separation",
+    "sept",
+    "september",
+    "seq",
+    "sequence",
+    "sequences",
+    "ser",
+    "serbia",
+    "serial",
+    "series",
+    "serious",
+    "seriously",
+    "serum",
+    "serve",
+    "served",
+    "server",
+    "servers",
+    "serves",
+    "service",
+    "services",
+    "serving",
+    "session",
+    "sessions",
+    "set",
+    "sets",
+    "setting",
+    "settings",
+    "settle",
+    "settled",
+    "settlement",
+    "setup",
+    "seven",
+    "seventh",
+    "several",
+    "severe",
+    "sewing",
+    "sexual",
+    "sexuality",
+    "sexually",
+    "shade",
+    "shades",
+    "shadow",
+    "shadows",
+    "shaft",
+    "shake",
+    "shakespeare",
+    "shakira",
+    "shall",
+    "shame",
+    "shanghai",
+    "shannon",
+    "shape",
+    "shaped",
+    "shapes",
+    "share",
+    "shared",
+    "shareholders",
+    "shares",
+    "shareware",
+    "sharing",
+    "shark",
+    "sharon",
+    "sharp",
+    "shaved",
+    "shaw",
+    "she",
+    "shed",
+    "sheep",
+    "sheer",
+    "sheet",
+    "sheets",
+    "sheffield",
+    "shelf",
+    "shell",
+    "shelter",
+    "shepherd",
+    "sheriff",
+    "sherman",
+    "shield",
+    "shift",
+    "shine",
+    "ship",
+    "shipment",
+    "shipments",
+    "shipped",
+    "shipping",
+    "ships",
+    "shirt",
+    "shirts",
+    "shock",
+    "shoe",
+    "shoes",
+    "shoot",
+    "shooting",
+    "shop",
+    "shopper",
+    "shoppers",
+    "shopping",
+    "shops",
+    "shopzilla",
+    "shore",
+    "short",
+    "shortcuts",
+    "shorter",
+    "shortly",
+    "shorts",
+    "shot",
+    "shots",
+    "should",
+    "shoulder",
+    "show",
+    "showcase",
+    "showed",
+    "shower",
+    "showers",
+    "showing",
+    "shown",
+    "shows",
+    "showtimes",
+    "shut",
+    "shuttle",
+    "sic",
+    "sick",
+    "side",
+    "sides",
+    "sie",
+    "siemens",
+    "sierra",
+    "sig",
+    "sight",
+    "sigma",
+    "sign",
+    "signal",
+    "signals",
+    "signature",
+    "signatures",
+    "signed",
+    "significance",
+    "significant",
+    "significantly",
+    "signing",
+    "signs",
+    "signup",
+    "silence",
+    "silent",
+    "silicon",
+    "silk",
+    "silly",
+    "silver",
+    "sim",
+    "similar",
+    "similarly",
+    "simon",
+    "simple",
+    "simplified",
+    "simply",
+    "simpson",
+    "simpsons",
+    "sims",
+    "simulation",
+    "simulations",
+    "simultaneously",
+    "sin",
+    "since",
+    "sing",
+    "singapore",
+    "singer",
+    "singh",
+    "singing",
+    "single",
+    "singles",
+    "sink",
+    "sip",
+    "sir",
+    "sister",
+    "sisters",
+    "sit",
+    "site",
+    "sitemap",
+    "sites",
+    "sitting",
+    "situated",
+    "situation",
+    "situations",
+    "six",
+    "sixth",
+    "size",
+    "sized",
+    "sizes",
+    "skating",
+    "ski",
+    "skiing",
+    "skill",
+    "skilled",
+    "skills",
+    "skin",
+    "skins",
+    "skip",
+    "skirt",
+    "skirts",
+    "sku",
+    "sky",
+    "skype",
+    "slave",
+    "sleep",
+    "sleeping",
+    "sleeps",
+    "sleeve",
+    "slide",
+    "slides",
+    "slideshow",
+    "slight",
+    "slightly",
+    "slim",
+    "slip",
+    "slope",
+    "slot",
+    "slots",
+    "slovak",
+    "slovakia",
+    "slovenia",
+    "slow",
+    "slowly",
+    "small",
+    "smaller",
+    "smallest",
+    "smart",
+    "smell",
+    "smile",
+    "smilies",
+    "smith",
+    "smithsonian",
+    "smoke",
+    "smoking",
+    "smooth",
+    "sms",
+    "smtp",
+    "snake",
+    "snap",
+    "snapshot",
+    "snow",
+    "snowboard",
+    "soa",
+    "soap",
+    "soc",
+    "soccer",
+    "social",
+    "societies",
+    "society",
+    "sociology",
+    "socket",
+    "socks",
+    "sodium",
+    "sofa",
+    "soft",
+    "softball",
+    "software",
+    "soil",
+    "sol",
+    "solar",
+    "solaris",
+    "sold",
+    "soldier",
+    "soldiers",
+    "sole",
+    "solely",
+    "solid",
+    "solo",
+    "solomon",
+    "solution",
+    "solutions",
+    "solve",
+    "solved",
+    "solving",
+    "soma",
+    "somalia",
+    "some",
+    "somebody",
+    "somehow",
+    "someone",
+    "somerset",
+    "something",
+    "sometimes",
+    "somewhat",
+    "somewhere",
+    "son",
+    "song",
+    "songs",
+    "sonic",
+    "sons",
+    "sony",
+    "soon",
+    "soonest",
+    "sophisticated",
+    "sorry",
+    "sort",
+    "sorted",
+    "sorts",
+    "sought",
+    "soul",
+    "souls",
+    "sound",
+    "sounds",
+    "soundtrack",
+    "soup",
+    "source",
+    "sources",
+    "south",
+    "southampton",
+    "southeast",
+    "southern",
+    "southwest",
+    "soviet",
+    "sox",
+    "spa",
+    "space",
+    "spaces",
+    "spain",
+    "spam",
+    "span",
+    "spanish",
+    "spank",
+    "spanking",
+    "sparc",
+    "spare",
+    "spas",
+    "spatial",
+    "speak",
+    "speaker",
+    "speakers",
+    "speaking",
+    "speaks",
+    "spears",
+    "spec",
+    "special",
+    "specialist",
+    "specialists",
+    "specialized",
+    "specializing",
+    "specially",
+    "specials",
+    "specialties",
+    "specialty",
+    "species",
+    "specific",
+    "specifically",
+    "specification",
+    "specifications",
+    "specifics",
+    "specified",
+    "specifies",
+    "specify",
+    "specs",
+    "spectacular",
+    "spectrum",
+    "speech",
+    "speeches",
+    "speed",
+    "speeds",
+    "spell",
+    "spelling",
+    "spencer",
+    "spend",
+    "spending",
+    "spent",
+    "sperm",
+    "sphere",
+    "spice",
+    "spider",
+    "spies",
+    "spin",
+    "spine",
+    "spirit",
+    "spirits",
+    "spiritual",
+    "spirituality",
+    "split",
+    "spoke",
+    "spoken",
+    "spokesman",
+    "sponsor",
+    "sponsored",
+    "sponsors",
+    "sponsorship",
+    "sport",
+    "sporting",
+    "sports",
+    "spot",
+    "spotlight",
+    "spots",
+    "spouse",
+    "spray",
+    "spread",
+    "spreading",
+    "spring",
+    "springer",
+    "springfield",
+    "springs",
+    "sprint",
+    "spy",
+    "spyware",
+    "sql",
+    "squad",
+    "square",
+    "src",
+    "sri",
+    "ssl",
+    "stability",
+    "stable",
+    "stack",
+    "stadium",
+    "staff",
+    "staffing",
+    "stage",
+    "stages",
+    "stainless",
+    "stake",
+    "stakeholders",
+    "stamp",
+    "stamps",
+    "stan",
+    "stand",
+    "standard",
+    "standards",
+    "standing",
+    "standings",
+    "stands",
+    "stanford",
+    "stanley",
+    "star",
+    "starring",
+    "stars",
+    "starsmerchant",
+    "start",
+    "started",
+    "starter",
+    "starting",
+    "starts",
+    "startup",
+    "stat",
+    "state",
+    "stated",
+    "statement",
+    "statements",
+    "states",
+    "statewide",
+    "static",
+    "stating",
+    "station",
+    "stationery",
+    "stations",
+    "statistical",
+    "statistics",
+    "stats",
+    "status",
+    "statute",
+    "statutes",
+    "statutory",
+    "stay",
+    "stayed",
+    "staying",
+    "stays",
+    "std",
+    "ste",
+    "steady",
+    "steal",
+    "steam",
+    "steel",
+    "steering",
+    "stem",
+    "step",
+    "stephanie",
+    "stephen",
+    "steps",
+    "stereo",
+    "sterling",
+    "steve",
+    "steven",
+    "stevens",
+    "stewart",
+    "stick",
+    "sticker",
+    "stickers",
+    "sticks",
+    "sticky",
+    "still",
+    "stock",
+    "stockholm",
+    "stockings",
+    "stocks",
+    "stolen",
+    "stomach",
+    "stone",
+    "stones",
+    "stood",
+    "stop",
+    "stopped",
+    "stopping",
+    "stops",
+    "storage",
+    "store",
+    "stored",
+    "stores",
+    "stories",
+    "storm",
+    "story",
+    "str",
+    "straight",
+    "strain",
+    "strand",
+    "strange",
+    "stranger",
+    "strap",
+    "strategic",
+    "strategies",
+    "strategy",
+    "stream",
+    "streaming",
+    "streams",
+    "street",
+    "streets",
+    "strength",
+    "strengthen",
+    "strengthening",
+    "strengths",
+    "stress",
+    "stretch",
+    "strict",
+    "strictly",
+    "strike",
+    "strikes",
+    "striking",
+    "string",
+    "strings",
+    "strip",
+    "stripes",
+    "strips",
+    "stroke",
+    "strong",
+    "stronger",
+    "strongly",
+    "struck",
+    "struct",
+    "structural",
+    "structure",
+    "structured",
+    "structures",
+    "struggle",
+    "stuart",
+    "stuck",
+    "stud",
+    "student",
+    "students",
+    "studied",
+    "studies",
+    "studio",
+    "studios",
+    "study",
+    "studying",
+    "stuff",
+    "stuffed",
+    "stunning",
+    "stupid",
+    "style",
+    "styles",
+    "stylish",
+    "stylus",
+    "sub",
+    "subaru",
+    "subcommittee",
+    "subdivision",
+    "subject",
+    "subjective",
+    "subjects",
+    "sublime",
+    "sublimedirectory",
+    "submission",
+    "submissions",
+    "submit",
+    "submitted",
+    "submitting",
+    "subscribe",
+    "subscriber",
+    "subscribers",
+    "subscription",
+    "subscriptions",
+    "subsection",
+    "subsequent",
+    "subsequently",
+    "subsidiaries",
+    "subsidiary",
+    "substance",
+    "substances",
+    "substantial",
+    "substantially",
+    "substitute",
+    "subtle",
+    "suburban",
+    "succeed",
+    "success",
+    "successful",
+    "successfully",
+    "such",
+    "sucking",
+    "sudan",
+    "sudden",
+    "suddenly",
+    "sue",
+    "suffer",
+    "suffered",
+    "suffering",
+    "sufficient",
+    "sufficiently",
+    "sugar",
+    "suggest",
+    "suggested",
+    "suggesting",
+    "suggestion",
+    "suggestions",
+    "suggests",
+    "suicide",
+    "suit",
+    "suitable",
+    "suite",
+    "suited",
+    "suites",
+    "suits",
+    "sullivan",
+    "sum",
+    "summaries",
+    "summary",
+    "summer",
+    "summit",
+    "sun",
+    "sunday",
+    "sunglasses",
+    "sunny",
+    "sunrise",
+    "sunset",
+    "sunshine",
+    "super",
+    "superb",
+    "superintendent",
+    "superior",
+    "supervision",
+    "supervisor",
+    "supervisors",
+    "supplement",
+    "supplemental",
+    "supplements",
+    "supplied",
+    "supplier",
+    "suppliers",
+    "supplies",
+    "supply",
+    "support",
+    "supported",
+    "supporters",
+    "supporting",
+    "supports",
+    "suppose",
+    "supposed",
+    "supreme",
+    "sur",
+    "sure",
+    "surely",
+    "surf",
+    "surface",
+    "surfaces",
+    "surfing",
+    "surge",
+    "surgeon",
+    "surgeons",
+    "surgery",
+    "surgical",
+    "surname",
+    "surplus",
+    "surprise",
+    "surprised",
+    "surprising",
+    "surrey",
+    "surround",
+    "surrounded",
+    "surrounding",
+    "surveillance",
+    "survey",
+    "surveys",
+    "survival",
+    "survive",
+    "survivor",
+    "survivors",
+    "susan",
+    "suse",
+    "suspect",
+    "suspected",
+    "suspended",
+    "suspension",
+    "sussex",
+    "sustainability",
+    "sustainable",
+    "sustained",
+    "suzuki",
+    "swap",
+    "swaziland",
+    "sweden",
+    "swedish",
+    "sweet",
+    "swift",
+    "swim",
+    "swimming",
+    "swing",
+    "swingers",
+    "swiss",
+    "switch",
+    "switched",
+    "switches",
+    "switching",
+    "switzerland",
+    "sword",
+    "sydney",
+    "symantec",
+    "symbol",
+    "symbols",
+    "sympathy",
+    "symphony",
+    "symposium",
+    "symptoms",
+    "sync",
+    "syndicate",
+    "syndication",
+    "syndrome",
+    "synopsis",
+    "syntax",
+    "synthesis",
+    "synthetic",
+    "syracuse",
+    "syria",
+    "sys",
+    "system",
+    "systematic",
+    "systems",
+    "tab",
+    "table",
+    "tables",
+    "tablet",
+    "tablets",
+    "tabs",
+    "tackle",
+    "tactics",
+    "tag",
+    "tagged",
+    "tags",
+    "tahoe",
+    "tail",
+    "taiwan",
+    "take",
+    "taken",
+    "takes",
+    "taking",
+    "tale",
+    "talent",
+    "talented",
+    "tales",
+    "talk",
+    "talked",
+    "talking",
+    "talks",
+    "tall",
+    "tamil",
+    "tampa",
+    "tan",
+    "tank",
+    "tanks",
+    "tanzania",
+    "tap",
+    "tape",
+    "tapes",
+    "tar",
+    "target",
+    "targeted",
+    "targets",
+    "tariff",
+    "task",
+    "tasks",
+    "taste",
+    "tattoo",
+    "taught",
+    "tax",
+    "taxation",
+    "taxes",
+    "taxi",
+    "taylor",
+    "tba",
+    "tcp",
+    "tea",
+    "teach",
+    "teacher",
+    "teachers",
+    "teaches",
+    "teaching",
+    "team",
+    "teams",
+    "tear",
+    "tears",
+    "tech",
+    "technical",
+    "technician",
+    "technique",
+    "techniques",
+    "techno",
+    "technological",
+    "technologies",
+    "technology",
+    "techrepublic",
+    "ted",
+    "teddy",
+    "tee",
+    "teen",
+    "teenage",
+    "teens",
+    "teeth",
+    "tel",
+    "telecharger",
+    "telecom",
+    "telecommunications",
+    "telephone",
+    "telephony",
+    "telescope",
+    "television",
+    "televisions",
+    "tell",
+    "telling",
+    "tells",
+    "temp",
+    "temperature",
+    "temperatures",
+    "template",
+    "templates",
+    "temple",
+    "temporal",
+    "temporarily",
+    "temporary",
+    "ten",
+    "tenant",
+    "tend",
+    "tender",
+    "tennessee",
+    "tennis",
+    "tension",
+    "tent",
+    "term",
+    "terminal",
+    "terminals",
+    "termination",
+    "terminology",
+    "terms",
+    "terrace",
+    "terrain",
+    "terrible",
+    "territories",
+    "territory",
+    "terror",
+    "terrorism",
+    "terrorist",
+    "terrorists",
+    "terry",
+    "test",
+    "testament",
+    "tested",
+    "testimonials",
+    "testimony",
+    "testing",
+    "tests",
+    "tex",
+    "texas",
+    "text",
+    "textbook",
+    "textbooks",
+    "textile",
+    "textiles",
+    "texts",
+    "texture",
+    "tft",
+    "tgp",
+    "thai",
+    "thailand",
+    "than",
+    "thank",
+    "thanks",
+    "thanksgiving",
+    "that",
+    "thats",
+    "the",
+    "theater",
+    "theaters",
+    "theatre",
+    "thee",
+    "theft",
+    "thehun",
+    "their",
+    "them",
+    "theme",
+    "themes",
+    "themselves",
+    "then",
+    "theology",
+    "theorem",
+    "theoretical",
+    "theories",
+    "theory",
+    "therapeutic",
+    "therapist",
+    "therapy",
+    "there",
+    "thereafter",
+    "thereby",
+    "therefore",
+    "thereof",
+    "thermal",
+    "thesaurus",
+    "these",
+    "thesis",
+    "theta",
+    "they",
+    "thick",
+    "thickness",
+    "thin",
+    "thing",
+    "things",
+    "think",
+    "thinking",
+    "thinkpad",
+    "thinks",
+    "third",
+    "thirty",
+    "this",
+    "thomas",
+    "thompson",
+    "thomson",
+    "thong",
+    "thongs",
+    "thorough",
+    "thoroughly",
+    "those",
+    "thou",
+    "though",
+    "thought",
+    "thoughts",
+    "thousand",
+    "thousands",
+    "thread",
+    "threaded",
+    "threads",
+    "threat",
+    "threatened",
+    "threatening",
+    "threats",
+    "three",
+    "threshold",
+    "thriller",
+    "throat",
+    "through",
+    "throughout",
+    "throw",
+    "throwing",
+    "thrown",
+    "throws",
+    "thru",
+    "thu",
+    "thumb",
+    "thumbnail",
+    "thumbnails",
+    "thumbs",
+    "thumbzilla",
+    "thunder",
+    "thursday",
+    "thus",
+    "thy",
+    "ticket",
+    "tickets",
+    "tide",
+    "tie",
+    "tied",
+    "tier",
+    "ties",
+    "tiffany",
+    "tiger",
+    "tigers",
+    "tight",
+    "til",
+    "tile",
+    "tiles",
+    "till",
+    "tim",
+    "timber",
+    "time",
+    "timeline",
+    "timely",
+    "timer",
+    "times",
+    "timing",
+    "timothy",
+    "tin",
+    "tiny",
+    "tion",
+    "tions",
+    "tip",
+    "tips",
+    "tire",
+    "tired",
+    "tires",
+    "tissue",
+    "titanium",
+    "titans",
+    "title",
+    "titled",
+    "titles",
+    "titten",
+    "tmp",
+    "tobacco",
+    "tobago",
+    "today",
+    "todd",
+    "toddler",
+    "toe",
+    "together",
+    "toilet",
+    "token",
+    "tokyo",
+    "told",
+    "tolerance",
+    "toll",
+    "tom",
+    "tomato",
+    "tomatoes",
+    "tommy",
+    "tomorrow",
+    "ton",
+    "tone",
+    "toner",
+    "tones",
+    "tongue",
+    "tonight",
+    "tons",
+    "tony",
+    "too",
+    "took",
+    "tool",
+    "toolbar",
+    "toolbox",
+    "toolkit",
+    "tools",
+    "tooth",
+    "top",
+    "topic",
+    "topics",
+    "tops",
+    "toronto",
+    "torture",
+    "toshiba",
+    "total",
+    "totally",
+    "totals",
+    "touch",
+    "touched",
+    "tough",
+    "tour",
+    "touring",
+    "tourism",
+    "tourist",
+    "tournament",
+    "tournaments",
+    "tours",
+    "toward",
+    "towards",
+    "tower",
+    "towers",
+    "town",
+    "towns",
+    "township",
+    "toxic",
+    "toy",
+    "toyota",
+    "toys",
+    "trace",
+    "track",
+    "trackback",
+    "trackbacks",
+    "tracked",
+    "tracker",
+    "tracking",
+    "tracks",
+    "tract",
+    "tractor",
+    "tracy",
+    "trade",
+    "trademark",
+    "trademarks",
+    "trader",
+    "trades",
+    "trading",
+    "tradition",
+    "traditional",
+    "traditions",
+    "traffic",
+    "tragedy",
+    "trail",
+    "trailer",
+    "trailers",
+    "trails",
+    "train",
+    "trained",
+    "trainer",
+    "trainers",
+    "training",
+    "trains",
+    "tramadol",
+    "trance",
+    "trans",
+    "transaction",
+    "transactions",
+    "transcript",
+    "transcription",
+    "transcripts",
+    "transexual",
+    "transexuales",
+    "transfer",
+    "transferred",
+    "transfers",
+    "transform",
+    "transformation",
+    "transit",
+    "transition",
+    "translate",
+    "translated",
+    "translation",
+    "translations",
+    "translator",
+    "transmission",
+    "transmit",
+    "transmitted",
+    "transparency",
+    "transparent",
+    "transport",
+    "transportation",
+    "transsexual",
+    "trap",
+    "trash",
+    "trauma",
+    "travel",
+    "traveler",
+    "travelers",
+    "traveling",
+    "traveller",
+    "travelling",
+    "travels",
+    "travesti",
+    "travis",
+    "tray",
+    "treasure",
+    "treasurer",
+    "treasures",
+    "treasury",
+    "treat",
+    "treated",
+    "treating",
+    "treatment",
+    "treatments",
+    "treaty",
+    "tree",
+    "trees",
+    "trek",
+    "trembl",
+    "tremendous",
+    "trend",
+    "trends",
+    "treo",
+    "tri",
+    "trial",
+    "trials",
+    "triangle",
+    "tribal",
+    "tribe",
+    "tribes",
+    "tribunal",
+    "tribune",
+    "tribute",
+    "trick",
+    "tricks",
+    "tried",
+    "tries",
+    "trigger",
+    "trim",
+    "trinidad",
+    "trinity",
+    "trio",
+    "trip",
+    "tripadvisor",
+    "triple",
+    "trips",
+    "triumph",
+    "trivia",
+    "troops",
+    "tropical",
+    "trouble",
+    "troubleshooting",
+    "trout",
+    "troy",
+    "truck",
+    "trucks",
+    "true",
+    "truly",
+    "trunk",
+    "trust",
+    "trusted",
+    "trustee",
+    "trustees",
+    "trusts",
+    "truth",
+    "try",
+    "trying",
+    "tsunami",
+    "tub",
+    "tube",
+    "tubes",
+    "tucson",
+    "tue",
+    "tuesday",
+    "tuition",
+    "tulsa",
+    "tumor",
+    "tune",
+    "tuner",
+    "tunes",
+    "tuning",
+    "tunisia",
+    "tunnel",
+    "turbo",
+    "turkey",
+    "turkish",
+    "turn",
+    "turned",
+    "turner",
+    "turning",
+    "turns",
+    "turtle",
+    "tutorial",
+    "tutorials",
+    "tvs",
+    "twelve",
+    "twenty",
+    "twice",
+    "twiki",
+    "twin",
+    "twins",
+    "twist",
+    "twisted",
+    "two",
+    "tyler",
+    "type",
+    "types",
+    "typical",
+    "typically",
+    "typing",
+    "uganda",
+    "ugly",
+    "ukraine",
+    "ultimate",
+    "ultimately",
+    "ultra",
+    "ultram",
+    "una",
+    "unable",
+    "unauthorized",
+    "unavailable",
+    "uncertainty",
+    "uncle",
+    "und",
+    "undefined",
+    "under",
+    "undergraduate",
+    "underground",
+    "underlying",
+    "understand",
+    "understanding",
+    "understood",
+    "undertake",
+    "undertaken",
+    "underwear",
+    "undo",
+    "une",
+    "unemployment",
+    "unexpected",
+    "unfortunately",
+    "uni",
+    "unified",
+    "uniform",
+    "union",
+    "unions",
+    "uniprotkb",
+    "unique",
+    "unit",
+    "united",
+    "units",
+    "unity",
+    "univ",
+    "universal",
+    "universe",
+    "universities",
+    "university",
+    "unix",
+    "unknown",
+    "unless",
+    "unlike",
+    "unlikely",
+    "unlimited",
+    "unlock",
+    "unnecessary",
+    "unsigned",
+    "unsubscribe",
+    "until",
+    "untitled",
+    "unto",
+    "unusual",
+    "unwrap",
+    "upc",
+    "upcoming",
+    "update",
+    "updated",
+    "updates",
+    "updating",
+    "upgrade",
+    "upgrades",
+    "upgrading",
+    "upload",
+    "uploaded",
+    "upon",
+    "upper",
+    "ups",
+    "upset",
+    "urban",
+    "urge",
+    "urgent",
+    "uri",
+    "url",
+    "urls",
+    "uruguay",
+    "urw",
+    "usa",
+    "usage",
+    "usb",
+    "usc",
+    "usd",
+    "usda",
+    "use",
+    "used",
+    "useful",
+    "user",
+    "username",
+    "users",
+    "uses",
+    "usgs",
+    "using",
+    "usps",
+    "usr",
+    "usual",
+    "usually",
+    "utah",
+    "utc",
+    "utilities",
+    "utility",
+    "utilization",
+    "utilize",
+    "utils",
+    "uzbekistan",
+    "vacancies",
+    "vacation",
+    "vacations",
+    "vaccine",
+    "vacuum",
+    "val",
+    "valentine",
+    "valid",
+    "validation",
+    "validity",
+    "valium",
+    "valley",
+    "valuable",
+    "valuation",
+    "value",
+    "valued",
+    "values",
+    "valve",
+    "valves",
+    "vampire",
+    "van",
+    "vancouver",
+    "vanilla",
+    "var",
+    "variable",
+    "variables",
+    "variance",
+    "variation",
+    "variations",
+    "varied",
+    "varies",
+    "varieties",
+    "variety",
+    "various",
+    "vary",
+    "varying",
+    "vast",
+    "vat",
+    "vatican",
+    "vault",
+    "vbulletin",
+    "vcr",
+    "vector",
+    "vegas",
+    "vegetable",
+    "vegetables",
+    "vegetarian",
+    "vegetation",
+    "vehicle",
+    "vehicles",
+    "velocity",
+    "velvet",
+    "vendor",
+    "vendors",
+    "venezuela",
+    "venice",
+    "venture",
+    "ventures",
+    "venue",
+    "venues",
+    "ver",
+    "verbal",
+    "verde",
+    "verification",
+    "verified",
+    "verify",
+    "verizon",
+    "vermont",
+    "vernon",
+    "verse",
+    "version",
+    "versions",
+    "versus",
+    "vertex",
+    "vertical",
+    "very",
+    "verzeichnis",
+    "vessel",
+    "vessels",
+    "veteran",
+    "veterans",
+    "veterinary",
+    "vhs",
+    "via",
+    "vic",
+    "vice",
+    "victim",
+    "victims",
+    "victor",
+    "victoria",
+    "victorian",
+    "victory",
+    "vid",
+    "video",
+    "videos",
+    "vids",
+    "vienna",
+    "vietnam",
+    "vietnamese",
+    "view",
+    "viewed",
+    "viewer",
+    "viewers",
+    "viewing",
+    "viewpicture",
+    "views",
+    "vii",
+    "viii",
+    "viking",
+    "villa",
+    "village",
+    "villages",
+    "villas",
+    "vincent",
+    "vintage",
+    "vinyl",
+    "violation",
+    "violations",
+    "violence",
+    "violent",
+    "violin",
+    "vip",
+    "viral",
+    "virgin",
+    "virginia",
+    "virtual",
+    "virtually",
+    "virtue",
+    "virus",
+    "viruses",
+    "visa",
+    "visibility",
+    "visible",
+    "vision",
+    "visit",
+    "visited",
+    "visiting",
+    "visitor",
+    "visitors",
+    "visits",
+    "vista",
+    "visual",
+    "vital",
+    "vitamin",
+    "vitamins",
+    "vocabulary",
+    "vocal",
+    "vocals",
+    "vocational",
+    "voice",
+    "voices",
+    "void",
+    "voip",
+    "vol",
+    "volkswagen",
+    "volleyball",
+    "volt",
+    "voltage",
+    "volume",
+    "volumes",
+    "voluntary",
+    "volunteer",
+    "volunteers",
+    "volvo",
+    "von",
+    "vote",
+    "voted",
+    "voters",
+    "votes",
+    "voting",
+    "voyeurweb",
+    "voyuer",
+    "vpn",
+    "vsnet",
+    "vulnerability",
+    "vulnerable",
+    "wage",
+    "wages",
+    "wagner",
+    "wagon",
+    "wait",
+    "waiting",
+    "waiver",
+    "wake",
+    "wal",
+    "wales",
+    "walk",
+    "walked",
+    "walker",
+    "walking",
+    "walks",
+    "wall",
+    "wallace",
+    "wallet",
+    "wallpaper",
+    "wallpapers",
+    "walls",
+    "walnut",
+    "walt",
+    "walter",
+    "wan",
+    "wanna",
+    "want",
+    "wanted",
+    "wanting",
+    "wants",
+    "war",
+    "warcraft",
+    "ward",
+    "ware",
+    "warehouse",
+    "warm",
+    "warming",
+    "warned",
+    "warner",
+    "warning",
+    "warnings",
+    "warrant",
+    "warranties",
+    "warranty",
+    "warren",
+    "warrior",
+    "warriors",
+    "wars",
+    "was",
+    "wash",
+    "washer",
+    "washing",
+    "washington",
+    "waste",
+    "watch",
+    "watched",
+    "watches",
+    "watching",
+    "water",
+    "waterproof",
+    "waters",
+    "watershed",
+    "watson",
+    "watt",
+    "watts",
+    "wav",
+    "wave",
+    "waves",
+    "wax",
+    "way",
+    "wayne",
+    "ways",
+    "weak",
+    "wealth",
+    "weapon",
+    "weapons",
+    "wear",
+    "wearing",
+    "weather",
+    "web",
+    "webcam",
+    "webcams",
+    "webcast",
+    "weblog",
+    "weblogs",
+    "webmaster",
+    "webmasters",
+    "webpage",
+    "webshots",
+    "website",
+    "websites",
+    "webster",
+    "wed",
+    "wedding",
+    "weddings",
+    "wednesday",
+    "weed",
+    "week",
+    "weekend",
+    "weekends",
+    "weekly",
+    "weeks",
+    "weight",
+    "weighted",
+    "weights",
+    "weird",
+    "welcome",
+    "welding",
+    "welfare",
+    "well",
+    "wellington",
+    "wellness",
+    "wells",
+    "welsh",
+    "wendy",
+    "went",
+    "were",
+    "wesley",
+    "west",
+    "western",
+    "westminster",
+    "wet",
+    "whale",
+    "what",
+    "whatever",
+    "whats",
+    "wheat",
+    "wheel",
+    "wheels",
+    "when",
+    "whenever",
+    "where",
+    "whereas",
+    "wherever",
+    "whether",
+    "which",
+    "while",
+    "whilst",
+    "white",
+    "who",
+    "whole",
+    "wholesale",
+    "whom",
+    "whose",
+    "why",
+    "wichita",
+    "wicked",
+    "wide",
+    "widely",
+    "wider",
+    "widescreen",
+    "widespread",
+    "width",
+    "wife",
+    "wifi",
+    "wiki",
+    "wikipedia",
+    "wild",
+    "wilderness",
+    "wildlife",
+    "wiley",
+    "will",
+    "william",
+    "williams",
+    "willing",
+    "willow",
+    "wilson",
+    "win",
+    "wind",
+    "window",
+    "windows",
+    "winds",
+    "windsor",
+    "wine",
+    "wines",
+    "wing",
+    "wings",
+    "winner",
+    "winners",
+    "winning",
+    "wins",
+    "winston",
+    "winter",
+    "wire",
+    "wired",
+    "wireless",
+    "wires",
+    "wiring",
+    "wisconsin",
+    "wisdom",
+    "wise",
+    "wish",
+    "wishes",
+    "wishing",
+    "wishlist",
+    "wit",
+    "witch",
+    "with",
+    "withdrawal",
+    "within",
+    "without",
+    "witness",
+    "witnesses",
+    "wives",
+    "wizard",
+    "wma",
+    "wolf",
+    "woman",
+    "women",
+    "womens",
+    "won",
+    "wonder",
+    "wonderful",
+    "wondering",
+    "wood",
+    "wooden",
+    "woods",
+    "wool",
+    "worcester",
+    "word",
+    "wordpress",
+    "words",
+    "work",
+    "worked",
+    "worker",
+    "workers",
+    "workflow",
+    "workforce",
+    "working",
+    "workout",
+    "workplace",
+    "works",
+    "workshop",
+    "workshops",
+    "workstation",
+    "world",
+    "worldcat",
+    "worlds",
+    "worldwide",
+    "worm",
+    "worn",
+    "worried",
+    "worry",
+    "worse",
+    "worship",
+    "worst",
+    "worth",
+    "worthy",
+    "would",
+    "wound",
+    "wow",
+    "wrap",
+    "wrapped",
+    "wrapping",
+    "wrestling",
+    "wright",
+    "wrist",
+    "write",
+    "writer",
+    "writers",
+    "writes",
+    "writing",
+    "writings",
+    "written",
+    "wrong",
+    "wrote",
+    "wto",
+    "www",
+    "wyoming",
+    "xanax",
+    "xbox",
+    "xerox",
+    "xhtml",
+    "xml",
+    "yacht",
+    "yahoo",
+    "yale",
+    "yamaha",
+    "yang",
+    "yard",
+    "yards",
+    "yarn",
+    "yea",
+    "yeah",
+    "year",
+    "yearly",
+    "years",
+    "yeast",
+    "yellow",
+    "yemen",
+    "yen",
+    "yes",
+    "yesterday",
+    "yet",
+    "yield",
+    "yields",
+    "yoga",
+    "york",
+    "yorkshire",
+    "you",
+    "young",
+    "younger",
+    "your",
+    "yours",
+    "yourself",
+    "youth",
+    "yrs",
+    "yugoslavia",
+    "yukon",
+    "zambia",
+    "zdnet",
+    "zealand",
+    "zen",
+    "zero",
+    "zimbabwe",
+    "zinc",
+    "zip",
+    "zoloft",
+    "zone",
+    "zones",
+    "zoning",
+    "zoo",
+    "zoom",
+    "zope",
+    "zshops",
+    "zum",
+    "zus",
+]
diff --git a/mimesis/datasets/int/scientific.py b/mimesis/datasets/int/scientific.py
index 17040155..32e32e3a 100644
--- a/mimesis/datasets/int/scientific.py
+++ b/mimesis/datasets/int/scientific.py
@@ -1,6 +1,33 @@
 """Provides all the data related to science."""
-SI_PREFIXES = {'negative': ['deci', 'centi', 'milli', 'micro', 'nano',
-    'pico', 'femto', 'atto', 'zepto', 'yocto'], 'positive': ['yotta',
-    'zetta', 'exa', 'peta', 'tera', 'giga', 'mega', 'kilo', 'hecto', 'deca']}
-SI_PREFIXES_SYM = {'negative': ['d', 'c', 'm', 'μ', 'n', 'p', 'f', 'a', 'z',
-    'y'], 'positive': ['Y', 'Z', 'E', 'P', 'T', 'G', 'M', 'k', 'h', 'da']}
+
+SI_PREFIXES = {
+    "negative": [
+        "deci",
+        "centi",
+        "milli",
+        "micro",
+        "nano",
+        "pico",
+        "femto",
+        "atto",
+        "zepto",
+        "yocto",
+    ],
+    "positive": [
+        "yotta",
+        "zetta",
+        "exa",
+        "peta",
+        "tera",
+        "giga",
+        "mega",
+        "kilo",
+        "hecto",
+        "deca",
+    ],
+}
+
+SI_PREFIXES_SYM = {
+    "negative": ["d", "c", "m", "μ", "n", "p", "f", "a", "z", "y"],
+    "positive": ["Y", "Z", "E", "P", "T", "G", "M", "k", "h", "da"],
+}
diff --git a/mimesis/datasets/int/text.py b/mimesis/datasets/int/text.py
index dadfeb77..c3e06220 100644
--- a/mimesis/datasets/int/text.py
+++ b/mimesis/datasets/int/text.py
@@ -1,5 +1,24 @@
 """Provides all the data related to text."""
-SAFE_COLORS = ['#1abc9c', '#16a085', '#2ecc71', '#27ae60', '#3498db',
-    '#2980b9', '#9b59b6', '#8e44ad', '#34495e', '#2c3e50', '#f1c40f',
-    '#f39c12', '#e67e22', '#d35400', '#e74c3c', '#c0392b', '#ecf0f1',
-    '#bdc3c7', '#95a5a6', '#7f8c8d']
+
+SAFE_COLORS = [
+    "#1abc9c",
+    "#16a085",
+    "#2ecc71",
+    "#27ae60",
+    "#3498db",
+    "#2980b9",
+    "#9b59b6",
+    "#8e44ad",
+    "#34495e",
+    "#2c3e50",
+    "#f1c40f",
+    "#f39c12",
+    "#e67e22",
+    "#d35400",
+    "#e74c3c",
+    "#c0392b",
+    "#ecf0f1",
+    "#bdc3c7",
+    "#95a5a6",
+    "#7f8c8d",
+]
diff --git a/mimesis/datasets/int/transport.py b/mimesis/datasets/int/transport.py
index 254e5c3b..6cb7421f 100644
--- a/mimesis/datasets/int/transport.py
+++ b/mimesis/datasets/int/transport.py
@@ -1,401 +1,1530 @@
 """Provides all the data related to transports."""
-CARS = ['Alfa Romeo 145', 'Alfa Romeo 146', 'Alfa Romeo 147',
-    'Alfa Romeo 155', 'Alfa Romeo 156', 'Alfa Romeo 156 Sportwagon',
-    'Alfa Romeo 159', 'Alfa Romeo 159 Sportwagon', 'Alfa Romeo 164',
-    'Alfa Romeo 166', 'Alfa Romeo 4C', 'Alfa Romeo Brera',
-    'Alfa Romeo Crosswagon', 'Alfa Romeo GT', 'Alfa Romeo GTV',
-    'Alfa Romeo Giulia', 'Alfa Romeo Giulietta', 'Alfa Romeo MiTo',
-    'Alfa Romeo Spider', 'Audi 100', 'Audi 100 Avant', 'Audi 80',
-    'Audi 80 Avant', 'Audi 80 Cabrio', 'Audi 90', 'Audi A1', 'Audi A2',
-    'Audi A3', 'Audi A3 Cabriolet', 'Audi A3 Limuzina', 'Audi A3 Sportback',
-    'Audi A4', 'Audi A4 Allroad', 'Audi A4 Avant', 'Audi A4 Cabriolet',
-    'Audi A5', 'Audi A5 Cabriolet', 'Audi A5 Sportback', 'Audi A6',
-    'Audi A6 Allroad', 'Audi A6 Avant', 'Audi A7', 'Audi A8',
-    'Audi A8 Long', 'Audi Q3', 'Audi Q5', 'Audi Q7', 'Audi R8',
-    'Audi RS4 Cabriolet', 'Audi RS4/RS4 Avant', 'Audi RS5',
-    'Audi RS6 Avant', 'Audi RS7', 'Audi S3/S3 Sportback',
-    'Audi S4 Cabriolet', 'Audi S4/S4 Avant', 'Audi S5/S5 Cabriolet',
-    'Audi S6/RS6', 'Audi S7', 'Audi S8', 'Audi SQ5', 'Audi TT Coupé',
-    'Audi TT Roadster', 'Audi TTS', 'BMW M3', 'BMW M4', 'BMW M5', 'BMW M6',
-    'BMW Rad 1', 'BMW Rad 1 Cabrio', 'BMW Rad 1 Coupé', 'BMW Rad 2',
-    'BMW Rad 2 Active Tourer', 'BMW Rad 2 Coupé', 'BMW Rad 2 Gran Tourer',
-    'BMW Rad 3', 'BMW Rad 3 Cabrio', 'BMW Rad 3 Compact', 'BMW Rad 3 Coupé',
-    'BMW Rad 3 GT', 'BMW Rad 3 Touring', 'BMW Rad 4', 'BMW Rad 4 Cabrio',
-    'BMW Rad 4 Gran Coupé', 'BMW Rad 5', 'BMW Rad 5 GT',
-    'BMW Rad 5 Touring', 'BMW Rad 6', 'BMW Rad 6 Cabrio', 'BMW Rad 6 Coupé',
-    'BMW Rad 6 Gran Coupé', 'BMW Rad 7', 'BMW Rad 8 Coupé', 'BMW X1',
-    'BMW X3', 'BMW X4', 'BMW X5', 'BMW X6', 'BMW Z3', 'BMW Z3 Coupé',
-    'BMW Z3 Roadster', 'BMW Z4', 'BMW Z4 Roadster', 'BMW i3', 'BMW i8',
-    'Chevrolet Alero', 'Chevrolet Aveo', 'Chevrolet Camaro',
-    'Chevrolet Captiva', 'Chevrolet Corvette', 'Chevrolet Cruze',
-    'Chevrolet Cruze SW', 'Chevrolet Epica', 'Chevrolet Equinox',
-    'Chevrolet Evanda', 'Chevrolet HHR', 'Chevrolet Kalos',
-    'Chevrolet Lacetti', 'Chevrolet Lacetti SW', 'Chevrolet Lumina',
-    'Chevrolet Malibu', 'Chevrolet Matiz', 'Chevrolet Monte Carlo',
-    'Chevrolet Nubira', 'Chevrolet Orlando', 'Chevrolet Spark',
-    'Chevrolet Suburban', 'Chevrolet Tacuma', 'Chevrolet Tahoe',
-    'Chevrolet Trax', 'Chrysler 300 C', 'Chrysler 300 C Touring',
-    'Chrysler 300 M', 'Chrysler Crossfire', 'Chrysler Grand Voyager',
-    'Chrysler LHS', 'Chrysler Neon', 'Chrysler PT Cruiser',
-    'Chrysler Pacifica', 'Chrysler Plymouth', 'Chrysler Sebring',
-    'Chrysler Sebring Convertible', 'Chrysler Stratus',
-    'Chrysler Stratus Cabrio', 'Chrysler Town & Country',
-    'Chrysler Voyager', 'Citroën Berlingo', 'Citroën C-Crosser',
-    'Citroën C-Elissée', 'Citroën C-Zero', 'Citroën C1', 'Citroën C2',
-    'Citroën C3', 'Citroën C3 Picasso', 'Citroën C4', 'Citroën C4 Aircross',
-    'Citroën C4 Cactus', 'Citroën C4 Coupé', 'Citroën C4 Grand Picasso',
-    'Citroën C4 Sedan', 'Citroën C5', 'Citroën C5 Break',
-    'Citroën C5 Tourer', 'Citroën C6', 'Citroën C8', 'Citroën DS3',
-    'Citroën DS4', 'Citroën DS5', 'Citroën Evasion', 'Citroën Jumper',
-    'Citroën Jumpy', 'Citroën Nemo', 'Citroën Saxo', 'Citroën Xantia',
-    'Citroën Xsara', 'Dacia Dokker', 'Dacia Duster', 'Dacia Lodgy',
-    'Dacia Logan', 'Dacia Logan MCV', 'Dacia Logan Van', 'Dacia Sandero',
-    'Dacia Solenza', 'Daewoo Espero', 'Daewoo Kalos', 'Daewoo Lacetti',
-    'Daewoo Lanos', 'Daewoo Leganza', 'Daewoo Lublin', 'Daewoo Matiz',
-    'Daewoo Nexia', 'Daewoo Nubira', 'Daewoo Nubira kombi', 'Daewoo Racer',
-    'Daewoo Tacuma', 'Daewoo Tico', 'Dodge Avenger', 'Dodge Caliber',
-    'Dodge Challenger', 'Dodge Charger', 'Dodge Grand Caravan',
-    'Dodge Journey', 'Dodge Magnum', 'Dodge Nitro', 'Dodge RAM',
-    'Dodge Stealth', 'Dodge Viper', 'Fiat 1100', 'Fiat 126', 'Fiat 500',
-    'Fiat 500L', 'Fiat 500X', 'Fiat 850', 'Fiat Barchetta', 'Fiat Brava',
-    'Fiat Cinquecento', 'Fiat Coupé', 'Fiat Croma', 'Fiat Doblo',
-    'Fiat Doblo Cargo', 'Fiat Doblo Cargo Combi', 'Fiat Ducato',
-    'Fiat Ducato Kombi', 'Fiat Ducato Podvozok', 'Fiat Ducato Van',
-    'Fiat Florino', 'Fiat Florino Combi', 'Fiat Freemont',
-    'Fiat Grande Punto', 'Fiat Idea', 'Fiat Linea', 'Fiat Marea',
-    'Fiat Marea Weekend', 'Fiat Multipla', 'Fiat Palio Weekend',
-    'Fiat Panda', 'Fiat Panda Van', 'Fiat Punto', 'Fiat Punto Cabriolet',
-    'Fiat Punto Evo', 'Fiat Punto Van', 'Fiat Qubo', 'Fiat Scudo',
-    'Fiat Scudo Kombi', 'Fiat Scudo Van', 'Fiat Sedici', 'Fiat Seicento',
-    'Fiat Stilo', 'Fiat Stilo Multiwagon', 'Fiat Strada', 'Fiat Talento',
-    'Fiat Tipo', 'Fiat Ulysse', 'Fiat Uno', 'Fiat X1/9', 'Ford Aerostar',
-    'Ford B-Max', 'Ford C-Max', 'Ford Cortina', 'Ford Cougar', 'Ford Edge',
-    'Ford Escort', 'Ford Escort Cabrio', 'Ford Escort kombi',
-    'Ford Explorer', 'Ford F-150', 'Ford F-250', 'Ford Fiesta',
-    'Ford Focus', 'Ford Focus C-Max', 'Ford Focus CC', 'Ford Focus kombi',
-    'Ford Fusion', 'Ford Galaxy', 'Ford Grand C-Max', 'Ford Ka',
-    'Ford Kuga', 'Ford Maverick', 'Ford Mondeo', 'Ford Mondeo Combi',
-    'Ford Mustang', 'Ford Orion', 'Ford Puma', 'Ford Ranger', 'Ford S-Max',
-    'Ford Sierra', 'Ford Street Ka', 'Ford Tourneo Connect',
-    'Ford Tourneo Custom', 'Ford Transit', 'Ford Transit',
-    'Ford Transit Bus', 'Ford Transit Connect LWB', 'Ford Transit Courier',
-    'Ford Transit Custom', 'Ford Transit Tourneo', 'Ford Transit Valnik',
-    'Ford Transit Van', 'Ford Transit Van 350', 'Ford Transit kombi',
-    'Ford Windstar', 'Honda Accord', 'Honda Accord Coupé',
-    'Honda Accord Tourer', 'Honda CR-V', 'Honda CR-X', 'Honda CR-Z',
-    'Honda City', 'Honda Civic', 'Honda Civic Aerodeck',
-    'Honda Civic Coupé', 'Honda Civic Tourer', 'Honda Civic Type R',
-    'Honda FR-V', 'Honda HR-V', 'Honda Insight', 'Honda Integra',
-    'Honda Jazz', 'Honda Legend', 'Honda Prelude', 'Hummer H2', 'Hummer H3',
-    'Hyundai Accent', 'Hyundai Atos', 'Hyundai Atos Prime', 'Hyundai Coupé',
-    'Hyundai Elantra', 'Hyundai Galloper', 'Hyundai Genesis',
-    'Hyundai Getz', 'Hyundai Grandeur', 'Hyundai H 350', 'Hyundai H1',
-    'Hyundai H1 Bus', 'Hyundai H1 Van', 'Hyundai H200', 'Hyundai Lantra',
-    'Hyundai Matrix', 'Hyundai Santa Fe', 'Hyundai Sonata',
-    'Hyundai Terracan', 'Hyundai Trajet', 'Hyundai Tucson',
-    'Hyundai Veloster', 'Hyundai i10', 'Hyundai i20', 'Hyundai i30',
-    'Hyundai i30 CW', 'Hyundai i40', 'Hyundai i40 CW', 'Hyundai ix20',
-    'Hyundai ix35', 'Hyundai ix55', 'Infiniti EX', 'Infiniti FX',
-    'Infiniti G', 'Infiniti G Coupé', 'Infiniti M', 'Infiniti Q',
-    'Infiniti QX', 'Jaguar Daimler', 'Jaguar F-Pace', 'Jaguar F-Type',
-    'Jaguar S-Type', 'Jaguar Sovereign', 'Jaguar X-Type',
-    'Jaguar X-type Estate', 'Jaguar XE', 'Jaguar XF', 'Jaguar XJ',
-    'Jaguar XJ12', 'Jaguar XJ6', 'Jaguar XJ8', 'Jaguar XJ8', 'Jaguar XJR',
-    'Jaguar XK', 'Jaguar XK8 Convertible', 'Jaguar XKR',
-    'Jaguar XKR Convertible', 'Jeep Cherokee', 'Jeep Commander',
-    'Jeep Compass', 'Jeep Grand Cherokee', 'Jeep Patriot', 'Jeep Renegade',
-    'Jeep Wrangler', 'Kia Avella', 'Kia Besta', 'Kia Carens',
-    'Kia Carnival', 'Kia Cee`d', 'Kia Cee`d SW', 'Kia Cerato', 'Kia K 2500',
-    'Kia Magentis', 'Kia Opirus', 'Kia Optima', 'Kia Picanto', 'Kia Pregio',
-    'Kia Pride', 'Kia Pro Cee`d', 'Kia Rio', 'Kia Rio Combi',
-    'Kia Rio sedan', 'Kia Sephia', 'Kia Shuma', 'Kia Sorento', 'Kia Soul',
-    'Kia Sportage', 'Kia Venga', 'Land Rover 109', 'Land Rover Defender',
-    'Land Rover Discovery', 'Land Rover Discovery Sport',
-    'Land Rover Freelander', 'Land Rover Range Rover',
-    'Land Rover Range Rover Evoque', 'Land Rover Range Rover Sport',
-    'Lexus CT', 'Lexus GS', 'Lexus GS 300', 'Lexus GX', 'Lexus IS',
-    'Lexus IS 200', 'Lexus IS 250 C', 'Lexus IS-F', 'Lexus LS', 'Lexus LX',
-    'Lexus NX', 'Lexus RC F', 'Lexus RX', 'Lexus RX 300', 'Lexus RX 400h',
-    'Lexus RX 450h', 'Lexus SC 430', 'MINI Cooper', 'MINI Cooper Cabrio',
-    'MINI Cooper Clubman', 'MINI Cooper D', 'MINI Cooper D Clubman',
-    'MINI Cooper S', 'MINI Cooper S Cabrio', 'MINI Cooper S Clubman',
-    'MINI Countryman', 'MINI Mini One', 'MINI One D', 'Mazda 121',
-    'Mazda 2', 'Mazda 3', 'Mazda 323', 'Mazda 323 Combi', 'Mazda 323 Coupé',
-    'Mazda 323 F', 'Mazda 5', 'Mazda 6', 'Mazda 6 Combi', 'Mazda 626',
-    'Mazda 626 Combi', 'Mazda B-Fighter', 'Mazda B2500', 'Mazda BT',
-    'Mazda CX-3', 'Mazda CX-5', 'Mazda CX-7', 'Mazda CX-9', 'Mazda Demio',
-    'Mazda MPV', 'Mazda MX-3', 'Mazda MX-5', 'Mazda MX-6', 'Mazda Premacy',
-    'Mazda RX-7', 'Mazda RX-8', 'Mazda Xedox 6', 'Mercedes-Benz 100 D',
-    'Mercedes-Benz 115', 'Mercedes-Benz 124', 'Mercedes-Benz 126',
-    'Mercedes-Benz 190', 'Mercedes-Benz 190 D', 'Mercedes-Benz 190 E',
-    'Mercedes-Benz 200 - 300', 'Mercedes-Benz 200 D', 'Mercedes-Benz 200 E',
-    'Mercedes-Benz 210 Van', 'Mercedes-Benz 210 kombi',
-    'Mercedes-Benz 230 - 300 CE Coupé', 'Mercedes-Benz 260 - 560 SE',
-    'Mercedes-Benz 260 - 560 SEL', 'Mercedes-Benz 310 Van',
-    'Mercedes-Benz 310 kombi', 'Mercedes-Benz 500 - 600 SEC Coupé',
-    'Mercedes-Benz A', 'Mercedes-Benz A L', 'Mercedes-Benz AMG GT',
-    'Mercedes-Benz C', 'Mercedes-Benz C Sportcoupé', 'Mercedes-Benz C T',
-    'Mercedes-Benz CL', 'Mercedes-Benz CL', 'Mercedes-Benz CLA',
-    'Mercedes-Benz CLC', 'Mercedes-Benz CLK Cabrio',
-    'Mercedes-Benz CLK Coupé', 'Mercedes-Benz CLS', 'Mercedes-Benz Citan',
-    'Mercedes-Benz E', 'Mercedes-Benz E Cabrio', 'Mercedes-Benz E Coupé',
-    'Mercedes-Benz E T', 'Mercedes-Benz G Cabrio', 'Mercedes-Benz GL',
-    'Mercedes-Benz GLA', 'Mercedes-Benz GLC', 'Mercedes-Benz GLE',
-    'Mercedes-Benz GLK', 'Mercedes-Benz MB 100', 'Mercedes-Benz S',
-    'Mercedes-Benz S Coupé', 'Mercedes-Benz SL', 'Mercedes-Benz SLC',
-    'Mercedes-Benz SLK', 'Mercedes-Benz SLR', 'Mercedes-Benz Sprinter',
-    'Mercedes-Benz Trieda A', 'Mercedes-Benz Trieda B',
-    'Mercedes-Benz Trieda C', 'Mercedes-Benz Trieda E',
-    'Mercedes-Benz Trieda G', 'Mercedes-Benz Trieda M',
-    'Mercedes-Benz Trieda R', 'Mercedes-Benz Trieda S',
-    'Mitsubishi 3000 GT', 'Mitsubishi ASX', 'Mitsubishi Carisma',
-    'Mitsubishi Colt', 'Mitsubishi Colt CC', 'Mitsubishi Eclipse',
-    'Mitsubishi Fuso canter', 'Mitsubishi Galant',
-    'Mitsubishi Galant Combi', 'Mitsubishi Grandis', 'Mitsubishi L200',
-    'Mitsubishi L200 Pick up', 'Mitsubishi L200 Pick up Allrad',
-    'Mitsubishi L300', 'Mitsubishi Lancer', 'Mitsubishi Lancer Combi',
-    'Mitsubishi Lancer Evo', 'Mitsubishi Lancer Sportback',
-    'Mitsubishi Outlander', 'Mitsubishi Pajero',
-    'Mitsubishi Pajero Pinin Wagon', 'Mitsubishi Pajero Sport',
-    'Mitsubishi Pajero Wagon', 'Mitsubishi Pajeto Pinin',
-    'Mitsubishi Space Star', 'Nissan 100 NX', 'Nissan 200 SX',
-    'Nissan 350 Z', 'Nissan 350 Z Roadster', 'Nissan 370 Z',
-    'Nissan Almera', 'Nissan Almera Tino', 'Nissan Cabstar E - T',
-    'Nissan Cabstar TL2 Valnik', 'Nissan GT-R', 'Nissan Insterstar',
-    'Nissan Juke', 'Nissan King Cab', 'Nissan Leaf', 'Nissan Maxima',
-    'Nissan Maxima QX', 'Nissan Micra', 'Nissan Murano',
-    'Nissan NP300 Pickup', 'Nissan NV200', 'Nissan NV400', 'Nissan Navara',
-    'Nissan Note', 'Nissan Pathfinder', 'Nissan Patrol', 'Nissan Patrol GR',
-    'Nissan Pickup', 'Nissan Pixo', 'Nissan Primastar',
-    'Nissan Primastar Combi', 'Nissan Primera', 'Nissan Primera Combi',
-    'Nissan Pulsar', 'Nissan Qashqai', 'Nissan Serena', 'Nissan Sunny',
-    'Nissan Terrano', 'Nissan Tiida', 'Nissan Trade',
-    'Nissan Vanette Cargo', 'Nissan X-Trail', 'Nissan e-NV200',
-    'Opel Agila', 'Opel Ampera', 'Opel Antara', 'Opel Astra',
-    'Opel Astra cabrio', 'Opel Astra caravan', 'Opel Astra coupé',
-    'Opel Calibra', 'Opel Campo', 'Opel Cascada', 'Opel Corsa',
-    'Opel Frontera', 'Opel Insignia', 'Opel Insignia kombi', 'Opel Kadett',
-    'Opel Meriva', 'Opel Mokka', 'Opel Movano', 'Opel Omega', 'Opel Signum',
-    'Opel Vectra', 'Opel Vectra Caravan', 'Opel Vivaro',
-    'Opel Vivaro Kombi', 'Opel Zafira', 'Peugeot 1007', 'Peugeot 106',
-    'Peugeot 107', 'Peugeot 108', 'Peugeot 2008', 'Peugeot 205',
-    'Peugeot 205 Cabrio', 'Peugeot 206', 'Peugeot 206 CC', 'Peugeot 206 SW',
-    'Peugeot 207', 'Peugeot 207 CC', 'Peugeot 207 SW', 'Peugeot 306',
-    'Peugeot 307', 'Peugeot 307 CC', 'Peugeot 307 SW', 'Peugeot 308',
-    'Peugeot 308 CC', 'Peugeot 308 SW', 'Peugeot 309', 'Peugeot 4007',
-    'Peugeot 4008', 'Peugeot 405', 'Peugeot 406', 'Peugeot 407',
-    'Peugeot 407 SW', 'Peugeot 5008', 'Peugeot 508', 'Peugeot 508 SW',
-    'Peugeot 605', 'Peugeot 607', 'Peugeot 806', 'Peugeot 807',
-    'Peugeot Bipper', 'Peugeot RCZ', 'Porsche 911 Carrera',
-    'Porsche 911 Carrera Cabrio', 'Porsche 911 Targa', 'Porsche 911 Turbo',
-    'Porsche 924', 'Porsche 944', 'Porsche 997', 'Porsche Boxster',
-    'Porsche Cayenne', 'Porsche Cayman', 'Porsche Macan',
-    'Porsche Panamera', 'Renault Captur', 'Renault Clio',
-    'Renault Clio Grandtour', 'Renault Espace', 'Renault Express',
-    'Renault Fluence', 'Renault Grand Espace', 'Renault Grand Modus',
-    'Renault Grand Scenic', 'Renault Kadjar', 'Renault Kangoo',
-    'Renault Kangoo Express', 'Renault Koleos', 'Renault Laguna',
-    'Renault Laguna Grandtour', 'Renault Latitude', 'Renault Mascott',
-    'Renault Mégane', 'Renault Mégane CC', 'Renault Mégane Combi',
-    'Renault Mégane Coupé', 'Renault Mégane Grandtour',
-    'Renault Mégane Scénic', 'Renault Scénic', 'Renault Talisman',
-    'Renault Talisman Grandtour', 'Renault Thalia', 'Renault Twingo',
-    'Renault Wind', 'Renault Zoé', 'Rover 200', 'Rover 214', 'Rover 218',
-    'Rover 25', 'Rover 400', 'Rover 414', 'Rover 416', 'Rover 620',
-    'Rover 75', 'Saab 9-3', 'Saab 9-3 Cabriolet', 'Saab 9-3 Coupé',
-    'Saab 9-3 SportCombi', 'Saab 9-5', 'Saab 9-5 SportCombi', 'Saab 900',
-    'Saab 900 C', 'Saab 900 C Turbo', 'Saab 9000', 'Seat Alhambra',
-    'Seat Altea', 'Seat Altea XL', 'Seat Arosa', 'Seat Cordoba',
-    'Seat Cordoba Vario', 'Seat Exeo', 'Seat Exeo ST', 'Seat Ibiza',
-    'Seat Ibiza ST', 'Seat Inca', 'Seat Leon', 'Seat Leon ST', 'Seat Mii',
-    'Seat Toledo', 'Smart Cabrio', 'Smart City-Coupé',
-    'Smart Compact Pulse', 'Smart Forfour', 'Smart Fortwo cabrio',
-    'Smart Fortwo coupé', 'Smart Roadster', 'Subaru BRZ', 'Subaru Forester',
-    'Subaru Impreza', 'Subaru Impreza Wagon', 'Subaru Justy',
-    'Subaru Legacy', 'Subaru Legacy Outback', 'Subaru Legacy Wagon',
-    'Subaru Levorg', 'Subaru Outback', 'Subaru SVX', 'Subaru Tribeca',
-    'Subaru Tribeca B9', 'Subaru XV', 'Suzuki Alto', 'Suzuki Baleno',
-    'Suzuki Baleno kombi', 'Suzuki Grand Vitara',
-    'Suzuki Grand Vitara XL-7', 'Suzuki Ignis', 'Suzuki Jimny',
-    'Suzuki Kizashi', 'Suzuki Liana', 'Suzuki SX4', 'Suzuki SX4 Sedan',
-    'Suzuki Samurai', 'Suzuki Splash', 'Suzuki Swift', 'Suzuki Vitara',
-    'Suzuki Wagon R+', 'Toyota 4-Runner', 'Toyota Auris', 'Toyota Avensis',
-    'Toyota Avensis Combi', 'Toyota Avensis Van Verso', 'Toyota Aygo',
-    'Toyota Camry', 'Toyota Carina', 'Toyota Celica', 'Toyota Corolla',
-    'Toyota Corolla Combi', 'Toyota Corolla Verso', 'Toyota Corolla sedan',
-    'Toyota FJ Cruiser', 'Toyota GT86', 'Toyota Hiace', 'Toyota Hiace Van',
-    'Toyota Highlander', 'Toyota Hilux', 'Toyota Land Cruiser',
-    'Toyota MR2', 'Toyota Paseo', 'Toyota Picnic', 'Toyota Prius',
-    'Toyota RAV4', 'Toyota Sequoia', 'Toyota Starlet', 'Toyota Supra',
-    'Toyota Tundra', 'Toyota Urban Cruiser', 'Toyota Verso', 'Toyota Yaris',
-    'Toyota Yaris Verso', 'Volkswagen Amarok', 'Volkswagen Beetle',
-    'Volkswagen Bora', 'Volkswagen Bora Variant', 'Volkswagen CC',
-    'Volkswagen Caddy', 'Volkswagen Caddy Van', 'Volkswagen California',
-    'Volkswagen Caravelle', 'Volkswagen Crafter',
-    'Volkswagen Crafter Kombi', 'Volkswagen Crafter Van',
-    'Volkswagen CrossTouran', 'Volkswagen Eos', 'Volkswagen Fox',
-    'Volkswagen Golf', 'Volkswagen Golf Cabrio', 'Volkswagen Golf Plus',
-    'Volkswagen Golf Sportvan', 'Volkswagen Golf Variant',
-    'Volkswagen Jetta', 'Volkswagen LT', 'Volkswagen Life',
-    'Volkswagen Lupo', 'Volkswagen Multivan', 'Volkswagen New Beetle',
-    'Volkswagen New Beetle Cabrio', 'Volkswagen Passat',
-    'Volkswagen Passat Alltrack', 'Volkswagen Passat CC',
-    'Volkswagen Passat Variant', 'Volkswagen Passat Variant Van',
-    'Volkswagen Phaeton', 'Volkswagen Polo', 'Volkswagen Polo Van',
-    'Volkswagen Polo Variant', 'Volkswagen Scirocco', 'Volkswagen Sharan',
-    'Volkswagen T4', 'Volkswagen T4 Caravelle', 'Volkswagen T4 Multivan',
-    'Volkswagen T5', 'Volkswagen T5 Caravelle', 'Volkswagen T5 Multivan',
-    'Volkswagen T5 Transporter Shuttle', 'Volkswagen Tiguan',
-    'Volkswagen Touareg', 'Volkswagen Touran', 'Volvo 240', 'Volvo 340',
-    'Volvo 360', 'Volvo 460', 'Volvo 850', 'Volvo 850 kombi', 'Volvo C30',
-    'Volvo C70', 'Volvo C70 Cabrio', 'Volvo C70 Coupé', 'Volvo S40',
-    'Volvo S60', 'Volvo S70', 'Volvo S80', 'Volvo S90', 'Volvo V40',
-    'Volvo V50', 'Volvo V60', 'Volvo V70', 'Volvo V90', 'Volvo XC60',
-    'Volvo XC70', 'Volvo XC90', 'Škoda Citigo', 'Škoda Fabia',
-    'Škoda Fabia Combi', 'Škoda Fabia Sedan', 'Škoda Favorit',
-    'Škoda Felicia', 'Škoda Felicia Combi', 'Škoda Octavia',
-    'Škoda Octavia Combi', 'Škoda Rapid', 'Škoda Rapid Spaceback',
-    'Škoda Roomster', 'Škoda Superb', 'Škoda Superb Combi', 'Škoda Yeti']
-AIRPLANES = ['Aerospatiale SN.601 Corvette', 'Airbus A220-100',
-    'Airbus A220-300', 'Airbus A300-600', 'Airbus A300-600ST "Beluga"',
-    'Airbus A300-600ST "Super Transporter"', 'Airbus A300B2',
-    'Airbus A300B4', 'Airbus A300C4', 'Airbus A310-200', 'Airbus A310-300',
-    'Airbus A318', 'Airbus A319', 'Airbus A319neo', 'Airbus A320',
-    'Airbus A320neo', 'Airbus A321', 'Airbus A321neo', 'Airbus A330-200',
-    'Airbus A330-300', 'Airbus A330-700 "Beluga XL"', 'Airbus A330-800neo',
-    'Airbus A330-900neo', 'Airbus A340-200', 'Airbus A340-300',
-    'Airbus A340-500', 'Airbus A340-600', 'Airbus A350-1000',
-    'Airbus A350-900', 'Airbus A380-800', 'Antonov AN-12',
-    'Antonov AN-124 Ruslan', 'Antonov AN-140', 'Antonov AN-24',
-    'Antonov AN-26', 'Antonov AN-28', 'Antonov AN-30', 'Antonov AN-32',
-    'Antonov AN-72', 'Antonov AN-74', 'Antonov An-148', 'Antonov An-158',
-    'Antonov An-225 Mriya', 'Aquila A 210', 'Avro RJ100', 'Avro RJ70',
-    'Avro RJ85', 'BAe 146-100', 'BAe 146-200', 'BAe 146-300',
-    'Beechcraft 1900', 'Beechcraft Baron', 'Beriev Be-200 Altair',
-    'Boeing 707', 'Boeing 717', 'Boeing 720B', 'Boeing 727-100',
-    'Boeing 727-200', 'Boeing 737 MAX 10', 'Boeing 737 MAX 7',
-    'Boeing 737 MAX 8', 'Boeing 737 MAX 9', 'Boeing 737-200',
-    'Boeing 737-300', 'Boeing 737-400', 'Boeing 737-500', 'Boeing 737-600',
-    'Boeing 737-700', 'Boeing 737-800', 'Boeing 737-900',
-    'Boeing 747 LCF Dreamlifter', 'Boeing 747-100',
-    'Boeing 747-100 Freighter', 'Boeing 747-200', 'Boeing 747-200F',
-    'Boeing 747-200M', 'Boeing 747-300', 'Boeing 747-300M',
-    'Boeing 747-400', 'Boeing 747-400F', 'Boeing 747-400M', 'Boeing 747-8F',
-    'Boeing 747-8I', 'Boeing 747SP', 'Boeing 747SR',
-    'Boeing 747SR Freighter', 'Boeing 757-200', 'Boeing 757-300',
-    'Boeing 757F', 'Boeing 767-200', 'Boeing 767-300', 'Boeing 767-400ER',
-    'Boeing 777-200', 'Boeing 777-200 Freighter', 'Boeing 777-200ER',
-    'Boeing 777-200LR', 'Boeing 777-300', 'Boeing 777-300ER',
-    'Boeing 777-8', 'Boeing 777-9', 'Boeing 787-10', 'Boeing 787-8',
-    'Boeing 787-9', 'Bombardier 415', 'Bombardier BD-100 Challenger 300',
-    'Bombardier BD-700 Global 5000', 'Bombardier Global Express',
-    'British Aerospace ATP', 'British Aerospace Jetstream 31',
-    'British Aerospace Jetstream 32', 'British Aerospace Jetstream 41',
-    'CASA/IPTN CN-235', 'COMAC C919', 'Canadair Challenger',
-    'Canadair Regional Jet 100', 'Canadair Regional Jet 1000',
-    'Canadair Regional Jet 200', 'Canadair Regional Jet 550',
-    'Canadair Regional Jet 700', 'Canadair Regional Jet 900', 'Cessna 152',
-    'Cessna 162', 'Cessna 172', 'Cessna 172 Cutlass RG',
-    'Cessna 177 Cardinal RG', 'Cessna 182 Skylane', 'Cessna 206 Stationair',
-    'Cessna 208 Caravan', 'Cessna 210 Centurion', 'Cessna 310',
-    'Cessna Citation CJ2', 'Cessna Citation CJ3', 'Cessna Citation CJ4',
-    'Cessna Citation Excel', 'Cessna Citation I', 'Cessna Citation II',
-    'Cessna Citation III', 'Cessna Citation Mustang',
-    'Cessna Citation Sovereign', 'Cessna Citation V', 'Cessna Citation VI',
-    'Cessna Citation VII', 'Cessna Citation X', 'Cessna CitationJet',
-    'Cirrus SF50 Vision Jet', 'Concorde', 'Convair CV-240',
-    'Convair CV-580', 'Convair Convair CV-600', 'Convair Convair CV-640',
-    'Convair Convair Convair CV-640', 'Curtiss C-46 Commando',
-    'Dassault Falcon 2000', 'Dassault Falcon 50', 'Dassault Falcon 7X',
-    'Dassault Falcon 900', 'De Havilland Canada DHC-2 Beaver',
-    'De Havilland Canada DHC-2 Turbo-Beaver',
-    'De Havilland Canada DHC-3 Otter', 'De Havilland Canada DHC-4 Caribou',
-    'De Havilland Canada DHC-5 Buffalo',
-    'De Havilland Canada DHC-6 Twin Otter',
-    'De Havilland Canada DHC-7 Dash 7',
-    'De Havilland Canada DHC-8-100 Dash 8',
-    'De Havilland Canada DHC-8-200 Dash 8',
-    'De Havilland Canada DHC-8-300 Dash 8',
-    'De Havilland Canada DHC-8-400 Dash 8Q', 'De Havilland DH.104 Dove',
-    'De Havilland DH.114 Heron', 'Diamond DA42', 'Diamond DA62',
-    'Douglas DC-10-10', 'Douglas DC-10-30', 'Douglas DC-3', 'Douglas DC-6',
-    'Douglas DC-8-50', 'Douglas DC-8-62', 'Douglas DC-8-72',
-    'Douglas DC-9-10', 'Douglas DC-9-20', 'Douglas DC-9-30',
-    'Douglas DC-9-40', 'Douglas DC-9-50', 'Embraer 170', 'Embraer 175',
-    'Embraer 190', 'Embraer 195', 'Embraer E190-E2', 'Embraer E195-E2',
-    'Embraer EMB 110 Bandeirante', 'Embraer EMB 120 Brasilia',
-    'Embraer Legacy 450', 'Embraer Legacy 500', 'Embraer Legacy 600',
-    'Embraer Lineage 1000', 'Embraer Phenom 100', 'Embraer Phenom 300',
-    'Embraer Praetor 500', 'Embraer Praetor 600', 'Embraer Praetor 650',
-    'Embraer RJ135', 'Embraer RJ140', 'Embraer RJ145', 'Evektor SportStar',
-    'Fairchild Dornier 328JET', 'Fairchild Dornier Do.228',
-    'Fairchild Dornier Do.328', 'Fokker 100', 'Fokker 50', 'Fokker 70',
-    'Fokker F27 Friendship', 'Fokker F28 Fellowship',
-    'GippsAero GA8 Airvan', 'Grumman G-21 Goose',
-    'Grumman G-73 Turbo Mallard', 'Gulfstream Aerospace G-159 Gulfstream I',
-    'Gulfstream G280', 'Gulfstream G650', 'Gulfstream IV', 'Gulfstream V',
-    'Gulfstream/Rockwell (Aero) Commander',
-    'Gulfstream/Rockwell (Aero) Turbo Commander', 'Harbin Yunshuji Y12',
-    'Hawker Siddeley HS 748', 'Honda HA-420', 'ICON A5', 'Ilyushin IL114',
-    'Ilyushin IL18', 'Ilyushin IL62', 'Ilyushin IL76', 'Ilyushin IL86',
-    'Ilyushin IL96', 'Junkers Ju 52/3M', 'LET 410', 'Learjet 35',
-    'Learjet 36', 'Learjet 60', 'Learjet C-21A', 'Lockheed L-1011 Tristar',
-    'Lockheed L-1049 Super Constellation', 'Lockheed L-182',
-    'Lockheed L-188 Electra', 'McDonnell Douglas MD-11',
-    'McDonnell Douglas MD-11C', 'McDonnell Douglas MD-11F',
-    'McDonnell Douglas MD-81', 'McDonnell Douglas MD-82',
-    'McDonnell Douglas MD-83', 'McDonnell Douglas MD-87',
-    'McDonnell Douglas MD-88', 'McDonnell Douglas MD-90', 'Mitsubishi Mu-2',
-    'NAMC YS-11', 'Partenavia P.68', 'Piaggio P.180 Avanti',
-    'Pilatus Britten-Norman BN-2A',
-    'Pilatus Britten-Norman BN-2A Mk III Trislander', 'Pilatus PC-12',
-    'Pilatus PC-6 Turbo Porter', 'Piper PA-28', 'Piper PA-31 Navajo',
-    'Piper PA-44 Seminole', 'Piper PA-46', 'Pipistrel Sinus',
-    'Pipistrel Taurus', 'Pipistrel Virus', 'Reims-Cessna F406 Caravan II',
-    'Robin ATL', 'Saab 2000', 'Saab SF340A/B', 'Shorts SC-5 Belfast',
-    'Shorts SC-7 Skyvan', 'Shorts SD.330', 'Shorts SD.360',
-    'Socata TB-20 Trinidad', 'Sukhoi Superjet 100-95',
-    'TL Ultralight TL-96 Star', 'Team Rocket F1', 'Tecnam P2002 Sierra',
-    'Tecnam P2006T', 'Tecnam P2008', 'Tecnam P2010',
-    'Tecnam P2012 Traveller', 'Tecnam P92 Eaglet', 'Tecnam P92 Echo',
-    'Tecnam P92 SeaSky', 'Tecnam P96', 'Tupolev Tu-134', 'Tupolev Tu-144',
-    'Tupolev Tu-154', 'Tupolev Tu-204', 'Tupolev Tu-214', 'Yakovlev Yak-40',
-    'Yakovlev Yak-42']
-VR_CODES = ['A', 'ABH', 'AFG', 'AG', 'AL', 'AM', 'AND', 'ANG', 'ARK', 'AS',
-    'AUA', 'AUS', 'AX', 'AXA', 'AZ', 'B', 'BD', 'BDS', 'BF', 'BG', 'BH',
-    'BHT', 'BIH', 'BOL', 'BR', 'BRN', 'BRU', 'BS', 'BUR', 'BVI', 'BW', 'BY',
-    'BZ', 'C', 'CAM', 'CDN', 'CGO', 'CH', 'CHN', 'CI', 'CL', 'CO', 'COM',
-    'CR', 'CV', 'CY', 'CYM', 'CZ', 'D', 'DJI', 'DK', 'DOM', 'DY', 'DZ', 'E',
-    'EAK', 'EAT', 'EAU', 'EAZ', 'EC', 'EIR', 'ENG', 'ER', 'ES', 'EST', 'ET',
-    'ETH', 'F', 'FIN', 'FJI', 'FL', 'FO', 'FSM', 'G', 'GB', 'GBA', 'GBG',
-    'GBJ', 'GBM', 'GBZ', 'GCA', 'GE', 'GH', 'GQ', 'GR', 'GUY', 'GW', 'H',
-    'HK', 'HKJ', 'HN', 'HR', 'I', 'IL', 'IND', 'IR', 'IRL', 'IRQ', 'IS',
-    'J', 'JA', 'K', 'KAN', 'KIR', 'KN', 'KP', 'KS', 'KSA', 'KWT', 'KZ', 'L',
-    'LAO', 'LAR', 'LB', 'LS', 'LT', 'LV', 'M', 'MA', 'MAL', 'MC', 'MD',
-    'MEX', 'MGL', 'MH', 'MK', 'MNE', 'MO', 'MOC', 'MS', 'MV', 'MW', 'N',
-    'NA', 'NAM', 'NAU', 'NC', 'NEP', 'NI', 'NIC', 'NL', 'NZ', 'OM', 'P',
-    'PA', 'PAL', 'PE', 'PK', 'PL', 'PMR', 'PNG', 'PR', 'PS', 'PY', 'Q',
-    'RA', 'RB', 'RC', 'RCA', 'RCB', 'RCH', 'RG', 'RH', 'RI', 'RIM', 'RKS',
-    'RL', 'RM', 'RMM', 'RN', 'RO', 'ROK', 'RP', 'RSM', 'RSO', 'RU', 'RUS',
-    'RWA', 'S', 'SCO', 'SCV', 'SD', 'SGP', 'SK', 'SLE', 'SLO', 'SME',
-    'SMOM', 'SN', 'SO', 'SOL', 'SRB', 'STP', 'SUD', 'SY', 'SYR', 'T', 'TCH',
-    'TG', 'TJ', 'TL', 'TM', 'TN', 'TO', 'TR', 'TT', 'TUV', 'UA', 'UAE',
-    'USA', 'UY', 'UZ', 'V', 'VN', 'VU', 'WAG', 'WAL', 'WAN', 'WD', 'WG',
-    'WL', 'WS', 'WSA', 'WV', 'YAR', 'YV', 'Z', 'ZA', 'ZW']
-VRC_BY_LOCALES = {'cs': 'CZ', 'da': 'DK', 'de': 'D', 'de-at': 'A', 'de-ch':
-    'CH', 'el': 'GR', 'en': 'USA', 'en-au': 'AUS', 'en-ca': 'CDN', 'en-gb':
-    'GB', 'es': 'E', 'es-mx': 'MEX', 'et': 'EW', 'fa': 'IR', 'fi': 'FIN',
-    'fr': 'F', 'hr': 'HR', 'hu': 'H', 'is': 'IS', 'it': 'I', 'ja': 'J',
-    'kk': 'KZ', 'ko': 'ROK', 'nl': 'NL', 'nl-be': 'B', 'no': 'N', 'pl':
-    'PL', 'pt': 'P', 'pt-br': 'BR', 'ru': 'RUS', 'sk': 'SK', 'sv': 'S',
-    'tr': 'TR', 'uk': 'UA', 'zh': 'CHN'}
-AUTO_MANUFACTURERS = ['Abarth', 'Alfa Romeo', 'Aston Martin', 'Audi',
-    'Bentley', 'BMW', 'Bugatti', 'Cadillac', 'Chevrolet', 'Chrysler',
-    'Citroën', 'Dacia', 'Daewoo', 'Daihatsu', 'Dodge', 'Donkervoort', 'DS',
-    'Ferrari', 'Fiat', 'Fisker', 'Ford', 'Honda', 'Hummer', 'Hyundai',
-    'Infiniti', 'Iveco', 'Jaguar', 'Jeep', 'Kia', 'KTM', 'Lada',
-    'Lamborghini', 'Lancia', 'Land Rover', 'Landwind', 'Lexus', 'Lotus',
-    'Maserati', 'Maybach', 'Mazda', 'McLaren', 'Mercedes-Benz', 'MG',
-    'Mini', 'Mitsubishi', 'Morgan', 'Nissan', 'Opel', 'Peugeot', 'Porsche',
-    'Renault', 'Rolls-Royce', 'Rover', 'Saab', 'Seat', 'Skoda', 'Smart',
-    'SsangYong', 'Subaru', 'Suzuki', 'Tesla', 'Toyota', 'Volkswagen', 'Volvo']
+
+CARS = [
+    "Alfa Romeo 145",
+    "Alfa Romeo 146",
+    "Alfa Romeo 147",
+    "Alfa Romeo 155",
+    "Alfa Romeo 156",
+    "Alfa Romeo 156 Sportwagon",
+    "Alfa Romeo 159",
+    "Alfa Romeo 159 Sportwagon",
+    "Alfa Romeo 164",
+    "Alfa Romeo 166",
+    "Alfa Romeo 4C",
+    "Alfa Romeo Brera",
+    "Alfa Romeo Crosswagon",
+    "Alfa Romeo GT",
+    "Alfa Romeo GTV",
+    "Alfa Romeo Giulia",
+    "Alfa Romeo Giulietta",
+    "Alfa Romeo MiTo",
+    "Alfa Romeo Spider",
+    "Audi 100",
+    "Audi 100 Avant",
+    "Audi 80",
+    "Audi 80 Avant",
+    "Audi 80 Cabrio",
+    "Audi 90",
+    "Audi A1",
+    "Audi A2",
+    "Audi A3",
+    "Audi A3 Cabriolet",
+    "Audi A3 Limuzina",
+    "Audi A3 Sportback",
+    "Audi A4",
+    "Audi A4 Allroad",
+    "Audi A4 Avant",
+    "Audi A4 Cabriolet",
+    "Audi A5",
+    "Audi A5 Cabriolet",
+    "Audi A5 Sportback",
+    "Audi A6",
+    "Audi A6 Allroad",
+    "Audi A6 Avant",
+    "Audi A7",
+    "Audi A8",
+    "Audi A8 Long",
+    "Audi Q3",
+    "Audi Q5",
+    "Audi Q7",
+    "Audi R8",
+    "Audi RS4 Cabriolet",
+    "Audi RS4/RS4 Avant",
+    "Audi RS5",
+    "Audi RS6 Avant",
+    "Audi RS7",
+    "Audi S3/S3 Sportback",
+    "Audi S4 Cabriolet",
+    "Audi S4/S4 Avant",
+    "Audi S5/S5 Cabriolet",
+    "Audi S6/RS6",
+    "Audi S7",
+    "Audi S8",
+    "Audi SQ5",
+    "Audi TT Coupé",
+    "Audi TT Roadster",
+    "Audi TTS",
+    "BMW M3",
+    "BMW M4",
+    "BMW M5",
+    "BMW M6",
+    "BMW Rad 1",
+    "BMW Rad 1 Cabrio",
+    "BMW Rad 1 Coupé",
+    "BMW Rad 2",
+    "BMW Rad 2 Active Tourer",
+    "BMW Rad 2 Coupé",
+    "BMW Rad 2 Gran Tourer",
+    "BMW Rad 3",
+    "BMW Rad 3 Cabrio",
+    "BMW Rad 3 Compact",
+    "BMW Rad 3 Coupé",
+    "BMW Rad 3 GT",
+    "BMW Rad 3 Touring",
+    "BMW Rad 4",
+    "BMW Rad 4 Cabrio",
+    "BMW Rad 4 Gran Coupé",
+    "BMW Rad 5",
+    "BMW Rad 5 GT",
+    "BMW Rad 5 Touring",
+    "BMW Rad 6",
+    "BMW Rad 6 Cabrio",
+    "BMW Rad 6 Coupé",
+    "BMW Rad 6 Gran Coupé",
+    "BMW Rad 7",
+    "BMW Rad 8 Coupé",
+    "BMW X1",
+    "BMW X3",
+    "BMW X4",
+    "BMW X5",
+    "BMW X6",
+    "BMW Z3",
+    "BMW Z3 Coupé",
+    "BMW Z3 Roadster",
+    "BMW Z4",
+    "BMW Z4 Roadster",
+    "BMW i3",
+    "BMW i8",
+    "Chevrolet Alero",
+    "Chevrolet Aveo",
+    "Chevrolet Camaro",
+    "Chevrolet Captiva",
+    "Chevrolet Corvette",
+    "Chevrolet Cruze",
+    "Chevrolet Cruze SW",
+    "Chevrolet Epica",
+    "Chevrolet Equinox",
+    "Chevrolet Evanda",
+    "Chevrolet HHR",
+    "Chevrolet Kalos",
+    "Chevrolet Lacetti",
+    "Chevrolet Lacetti SW",
+    "Chevrolet Lumina",
+    "Chevrolet Malibu",
+    "Chevrolet Matiz",
+    "Chevrolet Monte Carlo",
+    "Chevrolet Nubira",
+    "Chevrolet Orlando",
+    "Chevrolet Spark",
+    "Chevrolet Suburban",
+    "Chevrolet Tacuma",
+    "Chevrolet Tahoe",
+    "Chevrolet Trax",
+    "Chrysler 300 C",
+    "Chrysler 300 C Touring",
+    "Chrysler 300 M",
+    "Chrysler Crossfire",
+    "Chrysler Grand Voyager",
+    "Chrysler LHS",
+    "Chrysler Neon",
+    "Chrysler PT Cruiser",
+    "Chrysler Pacifica",
+    "Chrysler Plymouth",
+    "Chrysler Sebring",
+    "Chrysler Sebring Convertible",
+    "Chrysler Stratus",
+    "Chrysler Stratus Cabrio",
+    "Chrysler Town & Country",
+    "Chrysler Voyager",
+    "Citroën Berlingo",
+    "Citroën C-Crosser",
+    "Citroën C-Elissée",
+    "Citroën C-Zero",
+    "Citroën C1",
+    "Citroën C2",
+    "Citroën C3",
+    "Citroën C3 Picasso",
+    "Citroën C4",
+    "Citroën C4 Aircross",
+    "Citroën C4 Cactus",
+    "Citroën C4 Coupé",
+    "Citroën C4 Grand Picasso",
+    "Citroën C4 Sedan",
+    "Citroën C5",
+    "Citroën C5 Break",
+    "Citroën C5 Tourer",
+    "Citroën C6",
+    "Citroën C8",
+    "Citroën DS3",
+    "Citroën DS4",
+    "Citroën DS5",
+    "Citroën Evasion",
+    "Citroën Jumper",
+    "Citroën Jumpy",
+    "Citroën Nemo",
+    "Citroën Saxo",
+    "Citroën Xantia",
+    "Citroën Xsara",
+    "Dacia Dokker",
+    "Dacia Duster",
+    "Dacia Lodgy",
+    "Dacia Logan",
+    "Dacia Logan MCV",
+    "Dacia Logan Van",
+    "Dacia Sandero",
+    "Dacia Solenza",
+    "Daewoo Espero",
+    "Daewoo Kalos",
+    "Daewoo Lacetti",
+    "Daewoo Lanos",
+    "Daewoo Leganza",
+    "Daewoo Lublin",
+    "Daewoo Matiz",
+    "Daewoo Nexia",
+    "Daewoo Nubira",
+    "Daewoo Nubira kombi",
+    "Daewoo Racer",
+    "Daewoo Tacuma",
+    "Daewoo Tico",
+    "Dodge Avenger",
+    "Dodge Caliber",
+    "Dodge Challenger",
+    "Dodge Charger",
+    "Dodge Grand Caravan",
+    "Dodge Journey",
+    "Dodge Magnum",
+    "Dodge Nitro",
+    "Dodge RAM",
+    "Dodge Stealth",
+    "Dodge Viper",
+    "Fiat 1100",
+    "Fiat 126",
+    "Fiat 500",
+    "Fiat 500L",
+    "Fiat 500X",
+    "Fiat 850",
+    "Fiat Barchetta",
+    "Fiat Brava",
+    "Fiat Cinquecento",
+    "Fiat Coupé",
+    "Fiat Croma",
+    "Fiat Doblo",
+    "Fiat Doblo Cargo",
+    "Fiat Doblo Cargo Combi",
+    "Fiat Ducato",
+    "Fiat Ducato Kombi",
+    "Fiat Ducato Podvozok",
+    "Fiat Ducato Van",
+    "Fiat Florino",
+    "Fiat Florino Combi",
+    "Fiat Freemont",
+    "Fiat Grande Punto",
+    "Fiat Idea",
+    "Fiat Linea",
+    "Fiat Marea",
+    "Fiat Marea Weekend",
+    "Fiat Multipla",
+    "Fiat Palio Weekend",
+    "Fiat Panda",
+    "Fiat Panda Van",
+    "Fiat Punto",
+    "Fiat Punto Cabriolet",
+    "Fiat Punto Evo",
+    "Fiat Punto Van",
+    "Fiat Qubo",
+    "Fiat Scudo",
+    "Fiat Scudo Kombi",
+    "Fiat Scudo Van",
+    "Fiat Sedici",
+    "Fiat Seicento",
+    "Fiat Stilo",
+    "Fiat Stilo Multiwagon",
+    "Fiat Strada",
+    "Fiat Talento",
+    "Fiat Tipo",
+    "Fiat Ulysse",
+    "Fiat Uno",
+    "Fiat X1/9",
+    "Ford Aerostar",
+    "Ford B-Max",
+    "Ford C-Max",
+    "Ford Cortina",
+    "Ford Cougar",
+    "Ford Edge",
+    "Ford Escort",
+    "Ford Escort Cabrio",
+    "Ford Escort kombi",
+    "Ford Explorer",
+    "Ford F-150",
+    "Ford F-250",
+    "Ford Fiesta",
+    "Ford Focus",
+    "Ford Focus C-Max",
+    "Ford Focus CC",
+    "Ford Focus kombi",
+    "Ford Fusion",
+    "Ford Galaxy",
+    "Ford Grand C-Max",
+    "Ford Ka",
+    "Ford Kuga",
+    "Ford Maverick",
+    "Ford Mondeo",
+    "Ford Mondeo Combi",
+    "Ford Mustang",
+    "Ford Orion",
+    "Ford Puma",
+    "Ford Ranger",
+    "Ford S-Max",
+    "Ford Sierra",
+    "Ford Street Ka",
+    "Ford Tourneo Connect",
+    "Ford Tourneo Custom",
+    "Ford Transit",
+    "Ford Transit",
+    "Ford Transit Bus",
+    "Ford Transit Connect LWB",
+    "Ford Transit Courier",
+    "Ford Transit Custom",
+    "Ford Transit Tourneo",
+    "Ford Transit Valnik",
+    "Ford Transit Van",
+    "Ford Transit Van 350",
+    "Ford Transit kombi",
+    "Ford Windstar",
+    "Honda Accord",
+    "Honda Accord Coupé",
+    "Honda Accord Tourer",
+    "Honda CR-V",
+    "Honda CR-X",
+    "Honda CR-Z",
+    "Honda City",
+    "Honda Civic",
+    "Honda Civic Aerodeck",
+    "Honda Civic Coupé",
+    "Honda Civic Tourer",
+    "Honda Civic Type R",
+    "Honda FR-V",
+    "Honda HR-V",
+    "Honda Insight",
+    "Honda Integra",
+    "Honda Jazz",
+    "Honda Legend",
+    "Honda Prelude",
+    "Hummer H2",
+    "Hummer H3",
+    "Hyundai Accent",
+    "Hyundai Atos",
+    "Hyundai Atos Prime",
+    "Hyundai Coupé",
+    "Hyundai Elantra",
+    "Hyundai Galloper",
+    "Hyundai Genesis",
+    "Hyundai Getz",
+    "Hyundai Grandeur",
+    "Hyundai H 350",
+    "Hyundai H1",
+    "Hyundai H1 Bus",
+    "Hyundai H1 Van",
+    "Hyundai H200",
+    "Hyundai Lantra",
+    "Hyundai Matrix",
+    "Hyundai Santa Fe",
+    "Hyundai Sonata",
+    "Hyundai Terracan",
+    "Hyundai Trajet",
+    "Hyundai Tucson",
+    "Hyundai Veloster",
+    "Hyundai i10",
+    "Hyundai i20",
+    "Hyundai i30",
+    "Hyundai i30 CW",
+    "Hyundai i40",
+    "Hyundai i40 CW",
+    "Hyundai ix20",
+    "Hyundai ix35",
+    "Hyundai ix55",
+    "Infiniti EX",
+    "Infiniti FX",
+    "Infiniti G",
+    "Infiniti G Coupé",
+    "Infiniti M",
+    "Infiniti Q",
+    "Infiniti QX",
+    "Jaguar Daimler",
+    "Jaguar F-Pace",
+    "Jaguar F-Type",
+    "Jaguar S-Type",
+    "Jaguar Sovereign",
+    "Jaguar X-Type",
+    "Jaguar X-type Estate",
+    "Jaguar XE",
+    "Jaguar XF",
+    "Jaguar XJ",
+    "Jaguar XJ12",
+    "Jaguar XJ6",
+    "Jaguar XJ8",
+    "Jaguar XJ8",
+    "Jaguar XJR",
+    "Jaguar XK",
+    "Jaguar XK8 Convertible",
+    "Jaguar XKR",
+    "Jaguar XKR Convertible",
+    "Jeep Cherokee",
+    "Jeep Commander",
+    "Jeep Compass",
+    "Jeep Grand Cherokee",
+    "Jeep Patriot",
+    "Jeep Renegade",
+    "Jeep Wrangler",
+    "Kia Avella",
+    "Kia Besta",
+    "Kia Carens",
+    "Kia Carnival",
+    "Kia Cee`d",
+    "Kia Cee`d SW",
+    "Kia Cerato",
+    "Kia K 2500",
+    "Kia Magentis",
+    "Kia Opirus",
+    "Kia Optima",
+    "Kia Picanto",
+    "Kia Pregio",
+    "Kia Pride",
+    "Kia Pro Cee`d",
+    "Kia Rio",
+    "Kia Rio Combi",
+    "Kia Rio sedan",
+    "Kia Sephia",
+    "Kia Shuma",
+    "Kia Sorento",
+    "Kia Soul",
+    "Kia Sportage",
+    "Kia Venga",
+    "Land Rover 109",
+    "Land Rover Defender",
+    "Land Rover Discovery",
+    "Land Rover Discovery Sport",
+    "Land Rover Freelander",
+    "Land Rover Range Rover",
+    "Land Rover Range Rover Evoque",
+    "Land Rover Range Rover Sport",
+    "Lexus CT",
+    "Lexus GS",
+    "Lexus GS 300",
+    "Lexus GX",
+    "Lexus IS",
+    "Lexus IS 200",
+    "Lexus IS 250 C",
+    "Lexus IS-F",
+    "Lexus LS",
+    "Lexus LX",
+    "Lexus NX",
+    "Lexus RC F",
+    "Lexus RX",
+    "Lexus RX 300",
+    "Lexus RX 400h",
+    "Lexus RX 450h",
+    "Lexus SC 430",
+    "MINI Cooper",
+    "MINI Cooper Cabrio",
+    "MINI Cooper Clubman",
+    "MINI Cooper D",
+    "MINI Cooper D Clubman",
+    "MINI Cooper S",
+    "MINI Cooper S Cabrio",
+    "MINI Cooper S Clubman",
+    "MINI Countryman",
+    "MINI Mini One",
+    "MINI One D",
+    "Mazda 121",
+    "Mazda 2",
+    "Mazda 3",
+    "Mazda 323",
+    "Mazda 323 Combi",
+    "Mazda 323 Coupé",
+    "Mazda 323 F",
+    "Mazda 5",
+    "Mazda 6",
+    "Mazda 6 Combi",
+    "Mazda 626",
+    "Mazda 626 Combi",
+    "Mazda B-Fighter",
+    "Mazda B2500",
+    "Mazda BT",
+    "Mazda CX-3",
+    "Mazda CX-5",
+    "Mazda CX-7",
+    "Mazda CX-9",
+    "Mazda Demio",
+    "Mazda MPV",
+    "Mazda MX-3",
+    "Mazda MX-5",
+    "Mazda MX-6",
+    "Mazda Premacy",
+    "Mazda RX-7",
+    "Mazda RX-8",
+    "Mazda Xedox 6",
+    "Mercedes-Benz 100 D",
+    "Mercedes-Benz 115",
+    "Mercedes-Benz 124",
+    "Mercedes-Benz 126",
+    "Mercedes-Benz 190",
+    "Mercedes-Benz 190 D",
+    "Mercedes-Benz 190 E",
+    "Mercedes-Benz 200 - 300",
+    "Mercedes-Benz 200 D",
+    "Mercedes-Benz 200 E",
+    "Mercedes-Benz 210 Van",
+    "Mercedes-Benz 210 kombi",
+    "Mercedes-Benz 230 - 300 CE Coupé",
+    "Mercedes-Benz 260 - 560 SE",
+    "Mercedes-Benz 260 - 560 SEL",
+    "Mercedes-Benz 310 Van",
+    "Mercedes-Benz 310 kombi",
+    "Mercedes-Benz 500 - 600 SEC Coupé",
+    "Mercedes-Benz A",
+    "Mercedes-Benz A L",
+    "Mercedes-Benz AMG GT",
+    "Mercedes-Benz C",
+    "Mercedes-Benz C Sportcoupé",
+    "Mercedes-Benz C T",
+    "Mercedes-Benz CL",
+    "Mercedes-Benz CL",
+    "Mercedes-Benz CLA",
+    "Mercedes-Benz CLC",
+    "Mercedes-Benz CLK Cabrio",
+    "Mercedes-Benz CLK Coupé",
+    "Mercedes-Benz CLS",
+    "Mercedes-Benz Citan",
+    "Mercedes-Benz E",
+    "Mercedes-Benz E Cabrio",
+    "Mercedes-Benz E Coupé",
+    "Mercedes-Benz E T",
+    "Mercedes-Benz G Cabrio",
+    "Mercedes-Benz GL",
+    "Mercedes-Benz GLA",
+    "Mercedes-Benz GLC",
+    "Mercedes-Benz GLE",
+    "Mercedes-Benz GLK",
+    "Mercedes-Benz MB 100",
+    "Mercedes-Benz S",
+    "Mercedes-Benz S Coupé",
+    "Mercedes-Benz SL",
+    "Mercedes-Benz SLC",
+    "Mercedes-Benz SLK",
+    "Mercedes-Benz SLR",
+    "Mercedes-Benz Sprinter",
+    "Mercedes-Benz Trieda A",
+    "Mercedes-Benz Trieda B",
+    "Mercedes-Benz Trieda C",
+    "Mercedes-Benz Trieda E",
+    "Mercedes-Benz Trieda G",
+    "Mercedes-Benz Trieda M",
+    "Mercedes-Benz Trieda R",
+    "Mercedes-Benz Trieda S",
+    "Mitsubishi 3000 GT",
+    "Mitsubishi ASX",
+    "Mitsubishi Carisma",
+    "Mitsubishi Colt",
+    "Mitsubishi Colt CC",
+    "Mitsubishi Eclipse",
+    "Mitsubishi Fuso canter",
+    "Mitsubishi Galant",
+    "Mitsubishi Galant Combi",
+    "Mitsubishi Grandis",
+    "Mitsubishi L200",
+    "Mitsubishi L200 Pick up",
+    "Mitsubishi L200 Pick up Allrad",
+    "Mitsubishi L300",
+    "Mitsubishi Lancer",
+    "Mitsubishi Lancer Combi",
+    "Mitsubishi Lancer Evo",
+    "Mitsubishi Lancer Sportback",
+    "Mitsubishi Outlander",
+    "Mitsubishi Pajero",
+    "Mitsubishi Pajero Pinin Wagon",
+    "Mitsubishi Pajero Sport",
+    "Mitsubishi Pajero Wagon",
+    "Mitsubishi Pajeto Pinin",
+    "Mitsubishi Space Star",
+    "Nissan 100 NX",
+    "Nissan 200 SX",
+    "Nissan 350 Z",
+    "Nissan 350 Z Roadster",
+    "Nissan 370 Z",
+    "Nissan Almera",
+    "Nissan Almera Tino",
+    "Nissan Cabstar E - T",
+    "Nissan Cabstar TL2 Valnik",
+    "Nissan GT-R",
+    "Nissan Insterstar",
+    "Nissan Juke",
+    "Nissan King Cab",
+    "Nissan Leaf",
+    "Nissan Maxima",
+    "Nissan Maxima QX",
+    "Nissan Micra",
+    "Nissan Murano",
+    "Nissan NP300 Pickup",
+    "Nissan NV200",
+    "Nissan NV400",
+    "Nissan Navara",
+    "Nissan Note",
+    "Nissan Pathfinder",
+    "Nissan Patrol",
+    "Nissan Patrol GR",
+    "Nissan Pickup",
+    "Nissan Pixo",
+    "Nissan Primastar",
+    "Nissan Primastar Combi",
+    "Nissan Primera",
+    "Nissan Primera Combi",
+    "Nissan Pulsar",
+    "Nissan Qashqai",
+    "Nissan Serena",
+    "Nissan Sunny",
+    "Nissan Terrano",
+    "Nissan Tiida",
+    "Nissan Trade",
+    "Nissan Vanette Cargo",
+    "Nissan X-Trail",
+    "Nissan e-NV200",
+    "Opel Agila",
+    "Opel Ampera",
+    "Opel Antara",
+    "Opel Astra",
+    "Opel Astra cabrio",
+    "Opel Astra caravan",
+    "Opel Astra coupé",
+    "Opel Calibra",
+    "Opel Campo",
+    "Opel Cascada",
+    "Opel Corsa",
+    "Opel Frontera",
+    "Opel Insignia",
+    "Opel Insignia kombi",
+    "Opel Kadett",
+    "Opel Meriva",
+    "Opel Mokka",
+    "Opel Movano",
+    "Opel Omega",
+    "Opel Signum",
+    "Opel Vectra",
+    "Opel Vectra Caravan",
+    "Opel Vivaro",
+    "Opel Vivaro Kombi",
+    "Opel Zafira",
+    "Peugeot 1007",
+    "Peugeot 106",
+    "Peugeot 107",
+    "Peugeot 108",
+    "Peugeot 2008",
+    "Peugeot 205",
+    "Peugeot 205 Cabrio",
+    "Peugeot 206",
+    "Peugeot 206 CC",
+    "Peugeot 206 SW",
+    "Peugeot 207",
+    "Peugeot 207 CC",
+    "Peugeot 207 SW",
+    "Peugeot 306",
+    "Peugeot 307",
+    "Peugeot 307 CC",
+    "Peugeot 307 SW",
+    "Peugeot 308",
+    "Peugeot 308 CC",
+    "Peugeot 308 SW",
+    "Peugeot 309",
+    "Peugeot 4007",
+    "Peugeot 4008",
+    "Peugeot 405",
+    "Peugeot 406",
+    "Peugeot 407",
+    "Peugeot 407 SW",
+    "Peugeot 5008",
+    "Peugeot 508",
+    "Peugeot 508 SW",
+    "Peugeot 605",
+    "Peugeot 607",
+    "Peugeot 806",
+    "Peugeot 807",
+    "Peugeot Bipper",
+    "Peugeot RCZ",
+    "Porsche 911 Carrera",
+    "Porsche 911 Carrera Cabrio",
+    "Porsche 911 Targa",
+    "Porsche 911 Turbo",
+    "Porsche 924",
+    "Porsche 944",
+    "Porsche 997",
+    "Porsche Boxster",
+    "Porsche Cayenne",
+    "Porsche Cayman",
+    "Porsche Macan",
+    "Porsche Panamera",
+    "Renault Captur",
+    "Renault Clio",
+    "Renault Clio Grandtour",
+    "Renault Espace",
+    "Renault Express",
+    "Renault Fluence",
+    "Renault Grand Espace",
+    "Renault Grand Modus",
+    "Renault Grand Scenic",
+    "Renault Kadjar",
+    "Renault Kangoo",
+    "Renault Kangoo Express",
+    "Renault Koleos",
+    "Renault Laguna",
+    "Renault Laguna Grandtour",
+    "Renault Latitude",
+    "Renault Mascott",
+    "Renault Mégane",
+    "Renault Mégane CC",
+    "Renault Mégane Combi",
+    "Renault Mégane Coupé",
+    "Renault Mégane Grandtour",
+    "Renault Mégane Scénic",
+    "Renault Scénic",
+    "Renault Talisman",
+    "Renault Talisman Grandtour",
+    "Renault Thalia",
+    "Renault Twingo",
+    "Renault Wind",
+    "Renault Zoé",
+    "Rover 200",
+    "Rover 214",
+    "Rover 218",
+    "Rover 25",
+    "Rover 400",
+    "Rover 414",
+    "Rover 416",
+    "Rover 620",
+    "Rover 75",
+    "Saab 9-3",
+    "Saab 9-3 Cabriolet",
+    "Saab 9-3 Coupé",
+    "Saab 9-3 SportCombi",
+    "Saab 9-5",
+    "Saab 9-5 SportCombi",
+    "Saab 900",
+    "Saab 900 C",
+    "Saab 900 C Turbo",
+    "Saab 9000",
+    "Seat Alhambra",
+    "Seat Altea",
+    "Seat Altea XL",
+    "Seat Arosa",
+    "Seat Cordoba",
+    "Seat Cordoba Vario",
+    "Seat Exeo",
+    "Seat Exeo ST",
+    "Seat Ibiza",
+    "Seat Ibiza ST",
+    "Seat Inca",
+    "Seat Leon",
+    "Seat Leon ST",
+    "Seat Mii",
+    "Seat Toledo",
+    "Smart Cabrio",
+    "Smart City-Coupé",
+    "Smart Compact Pulse",
+    "Smart Forfour",
+    "Smart Fortwo cabrio",
+    "Smart Fortwo coupé",
+    "Smart Roadster",
+    "Subaru BRZ",
+    "Subaru Forester",
+    "Subaru Impreza",
+    "Subaru Impreza Wagon",
+    "Subaru Justy",
+    "Subaru Legacy",
+    "Subaru Legacy Outback",
+    "Subaru Legacy Wagon",
+    "Subaru Levorg",
+    "Subaru Outback",
+    "Subaru SVX",
+    "Subaru Tribeca",
+    "Subaru Tribeca B9",
+    "Subaru XV",
+    "Suzuki Alto",
+    "Suzuki Baleno",
+    "Suzuki Baleno kombi",
+    "Suzuki Grand Vitara",
+    "Suzuki Grand Vitara XL-7",
+    "Suzuki Ignis",
+    "Suzuki Jimny",
+    "Suzuki Kizashi",
+    "Suzuki Liana",
+    "Suzuki SX4",
+    "Suzuki SX4 Sedan",
+    "Suzuki Samurai",
+    "Suzuki Splash",
+    "Suzuki Swift",
+    "Suzuki Vitara",
+    "Suzuki Wagon R+",
+    "Toyota 4-Runner",
+    "Toyota Auris",
+    "Toyota Avensis",
+    "Toyota Avensis Combi",
+    "Toyota Avensis Van Verso",
+    "Toyota Aygo",
+    "Toyota Camry",
+    "Toyota Carina",
+    "Toyota Celica",
+    "Toyota Corolla",
+    "Toyota Corolla Combi",
+    "Toyota Corolla Verso",
+    "Toyota Corolla sedan",
+    "Toyota FJ Cruiser",
+    "Toyota GT86",
+    "Toyota Hiace",
+    "Toyota Hiace Van",
+    "Toyota Highlander",
+    "Toyota Hilux",
+    "Toyota Land Cruiser",
+    "Toyota MR2",
+    "Toyota Paseo",
+    "Toyota Picnic",
+    "Toyota Prius",
+    "Toyota RAV4",
+    "Toyota Sequoia",
+    "Toyota Starlet",
+    "Toyota Supra",
+    "Toyota Tundra",
+    "Toyota Urban Cruiser",
+    "Toyota Verso",
+    "Toyota Yaris",
+    "Toyota Yaris Verso",
+    "Volkswagen Amarok",
+    "Volkswagen Beetle",
+    "Volkswagen Bora",
+    "Volkswagen Bora Variant",
+    "Volkswagen CC",
+    "Volkswagen Caddy",
+    "Volkswagen Caddy Van",
+    "Volkswagen California",
+    "Volkswagen Caravelle",
+    "Volkswagen Crafter",
+    "Volkswagen Crafter Kombi",
+    "Volkswagen Crafter Van",
+    "Volkswagen CrossTouran",
+    "Volkswagen Eos",
+    "Volkswagen Fox",
+    "Volkswagen Golf",
+    "Volkswagen Golf Cabrio",
+    "Volkswagen Golf Plus",
+    "Volkswagen Golf Sportvan",
+    "Volkswagen Golf Variant",
+    "Volkswagen Jetta",
+    "Volkswagen LT",
+    "Volkswagen Life",
+    "Volkswagen Lupo",
+    "Volkswagen Multivan",
+    "Volkswagen New Beetle",
+    "Volkswagen New Beetle Cabrio",
+    "Volkswagen Passat",
+    "Volkswagen Passat Alltrack",
+    "Volkswagen Passat CC",
+    "Volkswagen Passat Variant",
+    "Volkswagen Passat Variant Van",
+    "Volkswagen Phaeton",
+    "Volkswagen Polo",
+    "Volkswagen Polo Van",
+    "Volkswagen Polo Variant",
+    "Volkswagen Scirocco",
+    "Volkswagen Sharan",
+    "Volkswagen T4",
+    "Volkswagen T4 Caravelle",
+    "Volkswagen T4 Multivan",
+    "Volkswagen T5",
+    "Volkswagen T5 Caravelle",
+    "Volkswagen T5 Multivan",
+    "Volkswagen T5 Transporter Shuttle",
+    "Volkswagen Tiguan",
+    "Volkswagen Touareg",
+    "Volkswagen Touran",
+    "Volvo 240",
+    "Volvo 340",
+    "Volvo 360",
+    "Volvo 460",
+    "Volvo 850",
+    "Volvo 850 kombi",
+    "Volvo C30",
+    "Volvo C70",
+    "Volvo C70 Cabrio",
+    "Volvo C70 Coupé",
+    "Volvo S40",
+    "Volvo S60",
+    "Volvo S70",
+    "Volvo S80",
+    "Volvo S90",
+    "Volvo V40",
+    "Volvo V50",
+    "Volvo V60",
+    "Volvo V70",
+    "Volvo V90",
+    "Volvo XC60",
+    "Volvo XC70",
+    "Volvo XC90",
+    "Škoda Citigo",
+    "Škoda Fabia",
+    "Škoda Fabia Combi",
+    "Škoda Fabia Sedan",
+    "Škoda Favorit",
+    "Škoda Felicia",
+    "Škoda Felicia Combi",
+    "Škoda Octavia",
+    "Škoda Octavia Combi",
+    "Škoda Rapid",
+    "Škoda Rapid Spaceback",
+    "Škoda Roomster",
+    "Škoda Superb",
+    "Škoda Superb Combi",
+    "Škoda Yeti",
+]
+
+AIRPLANES = [
+    "Aerospatiale SN.601 Corvette",
+    "Airbus A220-100",
+    "Airbus A220-300",
+    "Airbus A300-600",
+    'Airbus A300-600ST "Beluga"',
+    'Airbus A300-600ST "Super Transporter"',
+    "Airbus A300B2",
+    "Airbus A300B4",
+    "Airbus A300C4",
+    "Airbus A310-200",
+    "Airbus A310-300",
+    "Airbus A318",
+    "Airbus A319",
+    "Airbus A319neo",
+    "Airbus A320",
+    "Airbus A320neo",
+    "Airbus A321",
+    "Airbus A321neo",
+    "Airbus A330-200",
+    "Airbus A330-300",
+    'Airbus A330-700 "Beluga XL"',
+    "Airbus A330-800neo",
+    "Airbus A330-900neo",
+    "Airbus A340-200",
+    "Airbus A340-300",
+    "Airbus A340-500",
+    "Airbus A340-600",
+    "Airbus A350-1000",
+    "Airbus A350-900",
+    "Airbus A380-800",
+    "Antonov AN-12",
+    "Antonov AN-124 Ruslan",
+    "Antonov AN-140",
+    "Antonov AN-24",
+    "Antonov AN-26",
+    "Antonov AN-28",
+    "Antonov AN-30",
+    "Antonov AN-32",
+    "Antonov AN-72",
+    "Antonov AN-74",
+    "Antonov An-148",
+    "Antonov An-158",
+    "Antonov An-225 Mriya",
+    "Aquila A 210",
+    "Avro RJ100",
+    "Avro RJ70",
+    "Avro RJ85",
+    "BAe 146-100",
+    "BAe 146-200",
+    "BAe 146-300",
+    "Beechcraft 1900",
+    "Beechcraft Baron",
+    "Beriev Be-200 Altair",
+    "Boeing 707",
+    "Boeing 717",
+    "Boeing 720B",
+    "Boeing 727-100",
+    "Boeing 727-200",
+    "Boeing 737 MAX 10",
+    "Boeing 737 MAX 7",
+    "Boeing 737 MAX 8",
+    "Boeing 737 MAX 9",
+    "Boeing 737-200",
+    "Boeing 737-300",
+    "Boeing 737-400",
+    "Boeing 737-500",
+    "Boeing 737-600",
+    "Boeing 737-700",
+    "Boeing 737-800",
+    "Boeing 737-900",
+    "Boeing 747 LCF Dreamlifter",
+    "Boeing 747-100",
+    "Boeing 747-100 Freighter",
+    "Boeing 747-200",
+    "Boeing 747-200F",
+    "Boeing 747-200M",
+    "Boeing 747-300",
+    "Boeing 747-300M",
+    "Boeing 747-400",
+    "Boeing 747-400F",
+    "Boeing 747-400M",
+    "Boeing 747-8F",
+    "Boeing 747-8I",
+    "Boeing 747SP",
+    "Boeing 747SR",
+    "Boeing 747SR Freighter",
+    "Boeing 757-200",
+    "Boeing 757-300",
+    "Boeing 757F",
+    "Boeing 767-200",
+    "Boeing 767-300",
+    "Boeing 767-400ER",
+    "Boeing 777-200",
+    "Boeing 777-200 Freighter",
+    "Boeing 777-200ER",
+    "Boeing 777-200LR",
+    "Boeing 777-300",
+    "Boeing 777-300ER",
+    "Boeing 777-8",
+    "Boeing 777-9",
+    "Boeing 787-10",
+    "Boeing 787-8",
+    "Boeing 787-9",
+    "Bombardier 415",
+    "Bombardier BD-100 Challenger 300",
+    "Bombardier BD-700 Global 5000",
+    "Bombardier Global Express",
+    "British Aerospace ATP",
+    "British Aerospace Jetstream 31",
+    "British Aerospace Jetstream 32",
+    "British Aerospace Jetstream 41",
+    "CASA/IPTN CN-235",
+    "COMAC C919",
+    "Canadair Challenger",
+    "Canadair Regional Jet 100",
+    "Canadair Regional Jet 1000",
+    "Canadair Regional Jet 200",
+    "Canadair Regional Jet 550",
+    "Canadair Regional Jet 700",
+    "Canadair Regional Jet 900",
+    "Cessna 152",
+    "Cessna 162",
+    "Cessna 172",
+    "Cessna 172 Cutlass RG",
+    "Cessna 177 Cardinal RG",
+    "Cessna 182 Skylane",
+    "Cessna 206 Stationair",
+    "Cessna 208 Caravan",
+    "Cessna 210 Centurion",
+    "Cessna 310",
+    "Cessna Citation CJ2",
+    "Cessna Citation CJ3",
+    "Cessna Citation CJ4",
+    "Cessna Citation Excel",
+    "Cessna Citation I",
+    "Cessna Citation II",
+    "Cessna Citation III",
+    "Cessna Citation Mustang",
+    "Cessna Citation Sovereign",
+    "Cessna Citation V",
+    "Cessna Citation VI",
+    "Cessna Citation VII",
+    "Cessna Citation X",
+    "Cessna CitationJet",
+    "Cirrus SF50 Vision Jet",
+    "Concorde",
+    "Convair CV-240",
+    "Convair CV-580",
+    "Convair Convair CV-600",
+    "Convair Convair CV-640",
+    "Convair Convair Convair CV-640",
+    "Curtiss C-46 Commando",
+    "Dassault Falcon 2000",
+    "Dassault Falcon 50",
+    "Dassault Falcon 7X",
+    "Dassault Falcon 900",
+    "De Havilland Canada DHC-2 Beaver",
+    "De Havilland Canada DHC-2 Turbo-Beaver",
+    "De Havilland Canada DHC-3 Otter",
+    "De Havilland Canada DHC-4 Caribou",
+    "De Havilland Canada DHC-5 Buffalo",
+    "De Havilland Canada DHC-6 Twin Otter",
+    "De Havilland Canada DHC-7 Dash 7",
+    "De Havilland Canada DHC-8-100 Dash 8",
+    "De Havilland Canada DHC-8-200 Dash 8",
+    "De Havilland Canada DHC-8-300 Dash 8",
+    "De Havilland Canada DHC-8-400 Dash 8Q",
+    "De Havilland DH.104 Dove",
+    "De Havilland DH.114 Heron",
+    "Diamond DA42",
+    "Diamond DA62",
+    "Douglas DC-10-10",
+    "Douglas DC-10-30",
+    "Douglas DC-3",
+    "Douglas DC-6",
+    "Douglas DC-8-50",
+    "Douglas DC-8-62",
+    "Douglas DC-8-72",
+    "Douglas DC-9-10",
+    "Douglas DC-9-20",
+    "Douglas DC-9-30",
+    "Douglas DC-9-40",
+    "Douglas DC-9-50",
+    "Embraer 170",
+    "Embraer 175",
+    "Embraer 190",
+    "Embraer 195",
+    "Embraer E190-E2",
+    "Embraer E195-E2",
+    "Embraer EMB 110 Bandeirante",
+    "Embraer EMB 120 Brasilia",
+    "Embraer Legacy 450",
+    "Embraer Legacy 500",
+    "Embraer Legacy 600",
+    "Embraer Lineage 1000",
+    "Embraer Phenom 100",
+    "Embraer Phenom 300",
+    "Embraer Praetor 500",
+    "Embraer Praetor 600",
+    "Embraer Praetor 650",
+    "Embraer RJ135",
+    "Embraer RJ140",
+    "Embraer RJ145",
+    "Evektor SportStar",
+    "Fairchild Dornier 328JET",
+    "Fairchild Dornier Do.228",
+    "Fairchild Dornier Do.328",
+    "Fokker 100",
+    "Fokker 50",
+    "Fokker 70",
+    "Fokker F27 Friendship",
+    "Fokker F28 Fellowship",
+    "GippsAero GA8 Airvan",
+    "Grumman G-21 Goose",
+    "Grumman G-73 Turbo Mallard",
+    "Gulfstream Aerospace G-159 Gulfstream I",
+    "Gulfstream G280",
+    "Gulfstream G650",
+    "Gulfstream IV",
+    "Gulfstream V",
+    "Gulfstream/Rockwell (Aero) Commander",
+    "Gulfstream/Rockwell (Aero) Turbo Commander",
+    "Harbin Yunshuji Y12",
+    "Hawker Siddeley HS 748",
+    "Honda HA-420",
+    "ICON A5",
+    "Ilyushin IL114",
+    "Ilyushin IL18",
+    "Ilyushin IL62",
+    "Ilyushin IL76",
+    "Ilyushin IL86",
+    "Ilyushin IL96",
+    "Junkers Ju 52/3M",
+    "LET 410",
+    "Learjet 35",
+    "Learjet 36",
+    "Learjet 60",
+    "Learjet C-21A",
+    "Lockheed L-1011 Tristar",
+    "Lockheed L-1049 Super Constellation",
+    "Lockheed L-182",
+    "Lockheed L-188 Electra",
+    "McDonnell Douglas MD-11",
+    "McDonnell Douglas MD-11C",
+    "McDonnell Douglas MD-11F",
+    "McDonnell Douglas MD-81",
+    "McDonnell Douglas MD-82",
+    "McDonnell Douglas MD-83",
+    "McDonnell Douglas MD-87",
+    "McDonnell Douglas MD-88",
+    "McDonnell Douglas MD-90",
+    "Mitsubishi Mu-2",
+    "NAMC YS-11",
+    "Partenavia P.68",
+    "Piaggio P.180 Avanti",
+    "Pilatus Britten-Norman BN-2A",
+    "Pilatus Britten-Norman BN-2A Mk III Trislander",
+    "Pilatus PC-12",
+    "Pilatus PC-6 Turbo Porter",
+    "Piper PA-28",
+    "Piper PA-31 Navajo",
+    "Piper PA-44 Seminole",
+    "Piper PA-46",
+    "Pipistrel Sinus",
+    "Pipistrel Taurus",
+    "Pipistrel Virus",
+    "Reims-Cessna F406 Caravan II",
+    "Robin ATL",
+    "Saab 2000",
+    "Saab SF340A/B",
+    "Shorts SC-5 Belfast",
+    "Shorts SC-7 Skyvan",
+    "Shorts SD.330",
+    "Shorts SD.360",
+    "Socata TB-20 Trinidad",
+    "Sukhoi Superjet 100-95",
+    "TL Ultralight TL-96 Star",
+    "Team Rocket F1",
+    "Tecnam P2002 Sierra",
+    "Tecnam P2006T",
+    "Tecnam P2008",
+    "Tecnam P2010",
+    "Tecnam P2012 Traveller",
+    "Tecnam P92 Eaglet",
+    "Tecnam P92 Echo",
+    "Tecnam P92 SeaSky",
+    "Tecnam P96",
+    "Tupolev Tu-134",
+    "Tupolev Tu-144",
+    "Tupolev Tu-154",
+    "Tupolev Tu-204",
+    "Tupolev Tu-214",
+    "Yakovlev Yak-40",
+    "Yakovlev Yak-42",
+]
+
+VR_CODES = [
+    "A",
+    "ABH",
+    "AFG",
+    "AG",
+    "AL",
+    "AM",
+    "AND",
+    "ANG",
+    "ARK",
+    "AS",
+    "AUA",
+    "AUS",
+    "AX",
+    "AXA",
+    "AZ",
+    "B",
+    "BD",
+    "BDS",
+    "BF",
+    "BG",
+    "BH",
+    "BHT",
+    "BIH",
+    "BOL",
+    "BR",
+    "BRN",
+    "BRU",
+    "BS",
+    "BUR",
+    "BVI",
+    "BW",
+    "BY",
+    "BZ",
+    "C",
+    "CAM",
+    "CDN",
+    "CGO",
+    "CH",
+    "CHN",
+    "CI",
+    "CL",
+    "CO",
+    "COM",
+    "CR",
+    "CV",
+    "CY",
+    "CYM",
+    "CZ",
+    "D",
+    "DJI",
+    "DK",
+    "DOM",
+    "DY",
+    "DZ",
+    "E",
+    "EAK",
+    "EAT",
+    "EAU",
+    "EAZ",
+    "EC",
+    "EIR",
+    "ENG",
+    "ER",
+    "ES",
+    "EST",
+    "ET",
+    "ETH",
+    "F",
+    "FIN",
+    "FJI",
+    "FL",
+    "FO",
+    "FSM",
+    "G",
+    "GB",
+    "GBA",
+    "GBG",
+    "GBJ",
+    "GBM",
+    "GBZ",
+    "GCA",
+    "GE",
+    "GH",
+    "GQ",
+    "GR",
+    "GUY",
+    "GW",
+    "H",
+    "HK",
+    "HKJ",
+    "HN",
+    "HR",
+    "I",
+    "IL",
+    "IND",
+    "IR",
+    "IRL",
+    "IRQ",
+    "IS",
+    "J",
+    "JA",
+    "K",
+    "KAN",
+    "KIR",
+    "KN",
+    "KP",
+    "KS",
+    "KSA",
+    "KWT",
+    "KZ",
+    "L",
+    "LAO",
+    "LAR",
+    "LB",
+    "LS",
+    "LT",
+    "LV",
+    "M",
+    "MA",
+    "MAL",
+    "MC",
+    "MD",
+    "MEX",
+    "MGL",
+    "MH",
+    "MK",
+    "MNE",
+    "MO",
+    "MOC",
+    "MS",
+    "MV",
+    "MW",
+    "N",
+    "NA",
+    "NAM",
+    "NAU",
+    "NC",
+    "NEP",
+    "NI",
+    "NIC",
+    "NL",
+    "NZ",
+    "OM",
+    "P",
+    "PA",
+    "PAL",
+    "PE",
+    "PK",
+    "PL",
+    "PMR",
+    "PNG",
+    "PR",
+    "PS",
+    "PY",
+    "Q",
+    "RA",
+    "RB",
+    "RC",
+    "RCA",
+    "RCB",
+    "RCH",
+    "RG",
+    "RH",
+    "RI",
+    "RIM",
+    "RKS",
+    "RL",
+    "RM",
+    "RMM",
+    "RN",
+    "RO",
+    "ROK",
+    "RP",
+    "RSM",
+    "RSO",
+    "RU",
+    "RUS",
+    "RWA",
+    "S",
+    "SCO",
+    "SCV",
+    "SD",
+    "SGP",
+    "SK",
+    "SLE",
+    "SLO",
+    "SME",
+    "SMOM",
+    "SN",
+    "SO",
+    "SOL",
+    "SRB",
+    "STP",
+    "SUD",
+    "SY",
+    "SYR",
+    "T",
+    "TCH",
+    "TG",
+    "TJ",
+    "TL",
+    "TM",
+    "TN",
+    "TO",
+    "TR",
+    "TT",
+    "TUV",
+    "UA",
+    "UAE",
+    "USA",
+    "UY",
+    "UZ",
+    "V",
+    "VN",
+    "VU",
+    "WAG",
+    "WAL",
+    "WAN",
+    "WD",
+    "WG",
+    "WL",
+    "WS",
+    "WSA",
+    "WV",
+    "YAR",
+    "YV",
+    "Z",
+    "ZA",
+    "ZW",
+]
+
+VRC_BY_LOCALES = {
+    "cs": "CZ",
+    "da": "DK",
+    "de": "D",
+    "de-at": "A",
+    "de-ch": "CH",
+    "el": "GR",
+    "en": "USA",
+    "en-au": "AUS",
+    "en-ca": "CDN",
+    "en-gb": "GB",
+    "es": "E",
+    "es-mx": "MEX",
+    "et": "EW",
+    "fa": "IR",
+    "fi": "FIN",
+    "fr": "F",
+    "hr": "HR",
+    "hu": "H",
+    "is": "IS",
+    "it": "I",
+    "ja": "J",
+    "kk": "KZ",
+    "ko": "ROK",
+    "nl": "NL",
+    "nl-be": "B",
+    "no": "N",
+    "pl": "PL",
+    "pt": "P",
+    "pt-br": "BR",
+    "ru": "RUS",
+    "sk": "SK",
+    "sv": "S",
+    "tr": "TR",
+    "uk": "UA",
+    "zh": "CHN",
+}
+
+AUTO_MANUFACTURERS = [
+    "Abarth",
+    "Alfa Romeo",
+    "Aston Martin",
+    "Audi",
+    "Bentley",
+    "BMW",
+    "Bugatti",
+    "Cadillac",
+    "Chevrolet",
+    "Chrysler",
+    "Citroën",
+    "Dacia",
+    "Daewoo",
+    "Daihatsu",
+    "Dodge",
+    "Donkervoort",
+    "DS",
+    "Ferrari",
+    "Fiat",
+    "Fisker",
+    "Ford",
+    "Honda",
+    "Hummer",
+    "Hyundai",
+    "Infiniti",
+    "Iveco",
+    "Jaguar",
+    "Jeep",
+    "Kia",
+    "KTM",
+    "Lada",
+    "Lamborghini",
+    "Lancia",
+    "Land Rover",
+    "Landwind",
+    "Lexus",
+    "Lotus",
+    "Maserati",
+    "Maybach",
+    "Mazda",
+    "McLaren",
+    "Mercedes-Benz",
+    "MG",
+    "Mini",
+    "Mitsubishi",
+    "Morgan",
+    "Nissan",
+    "Opel",
+    "Peugeot",
+    "Porsche",
+    "Renault",
+    "Rolls-Royce",
+    "Rover",
+    "Saab",
+    "Seat",
+    "Skoda",
+    "Smart",
+    "SsangYong",
+    "Subaru",
+    "Suzuki",
+    "Tesla",
+    "Toyota",
+    "Volkswagen",
+    "Volvo",
+]
diff --git a/mimesis/entrypoints.py b/mimesis/entrypoints.py
index e4de44ad..0ce52050 100644
--- a/mimesis/entrypoints.py
+++ b/mimesis/entrypoints.py
@@ -1,12 +1,13 @@
 """Integrations with other tools that use entrypoints."""
+
 from mimesis import random


-def pytest_randomly_reseed(seed: int) ->None:
+def pytest_randomly_reseed(seed: int) -> None:
     """
     This function is called by `pytest-randomly` during `pytest` setup.

     It sets the global seed for every provider / field.
     You can still modify the seed with `.reseed()` calls if needed.
     """
-    pass
+    random.global_seed = seed
diff --git a/mimesis/enums.py b/mimesis/enums.py
index 8ea79488..b1faa650 100644
--- a/mimesis/enums.py
+++ b/mimesis/enums.py
@@ -18,13 +18,14 @@ class DurationUnit(Enum):

     An argument for :meth:`~mimesis.Datetime.duration()`.
     """
-    WEEKS = 'weeks'
-    DAYS = 'days'
-    HOURS = 'hours'
-    MINUTES = 'minutes'
-    SECONDS = 'seconds'
-    MILLISECONDS = 'milliseconds'
-    MICROSECONDS = 'microseconds'
+
+    WEEKS = "weeks"
+    DAYS = "days"
+    HOURS = "hours"
+    MINUTES = "minutes"
+    SECONDS = "seconds"
+    MILLISECONDS = "milliseconds"
+    MICROSECONDS = "microseconds"


 class Locale(Enum):
@@ -32,53 +33,59 @@ class Locale(Enum):

     An argument for all local-depend providers.
     """
-    CS = 'cs'
-    DA = 'da'
-    DE = 'de'
-    DE_AT = 'de-at'
-    DE_CH = 'de-ch'
-    EL = 'el'
-    EN = 'en'
-    EN_AU = 'en-au'
-    EN_CA = 'en-ca'
-    EN_GB = 'en-gb'
-    ES = 'es'
-    ES_MX = 'es-mx'
-    ET = 'et'
-    FA = 'fa'
-    FI = 'fi'
-    FR = 'fr'
-    HU = 'hu'
-    HR = 'hr'
-    IS = 'is'
-    IT = 'it'
-    JA = 'ja'
-    KK = 'kk'
-    KO = 'ko'
-    NL = 'nl'
-    NL_BE = 'nl-be'
-    NO = 'no'
-    PL = 'pl'
-    PT = 'pt'
-    PT_BR = 'pt-br'
-    RU = 'ru'
-    SK = 'sk'
-    SV = 'sv'
-    TR = 'tr'
-    UK = 'uk'
-    ZH = 'zh'
+
+    CS = "cs"
+    DA = "da"
+    DE = "de"
+    DE_AT = "de-at"
+    DE_CH = "de-ch"
+    EL = "el"
+    EN = "en"
+    EN_AU = "en-au"
+    EN_CA = "en-ca"
+    EN_GB = "en-gb"
+    ES = "es"
+    ES_MX = "es-mx"
+    ET = "et"
+    FA = "fa"
+    FI = "fi"
+    FR = "fr"
+    HU = "hu"
+    HR = "hr"
+    IS = "is"
+    IT = "it"
+    JA = "ja"
+    KK = "kk"
+    KO = "ko"
+    NL = "nl"
+    NL_BE = "nl-be"
+    NO = "no"
+    PL = "pl"
+    PT = "pt"
+    PT_BR = "pt-br"
+    RU = "ru"
+    SK = "sk"
+    SV = "sv"
+    TR = "tr"
+    UK = "uk"
+    ZH = "zh"
     DEFAULT = EN

+    @classmethod
+    def values(cls) -> t.List[str]:
+        return [i.value for i in cls.__members__.values()]
+

 class PortRange(Enum):
     """Represents port ranges.

     An argument for :meth:`~mimesis.Internet.port()`.
     """
-    ALL = 1, 65535
-    WELL_KNOWN = 1, 1023
-    EPHEMERAL = 49152, 65535
-    REGISTERED = 1024, 49151
+
+    ALL = (1, 65535)
+    WELL_KNOWN = (1, 1023)
+    EPHEMERAL = (49152, 65535)
+    REGISTERED = (1024, 49151)


 class Gender(Enum):
@@ -86,8 +93,9 @@ class Gender(Enum):

     An argument for a lot of methods which are taking parameter ``gender``.
     """
-    MALE = 'male'
-    FEMALE = 'female'
+
+    MALE = "male"
+    FEMALE = "female"


 class TitleType(Enum):
@@ -95,8 +103,9 @@ class TitleType(Enum):

     An argument for :meth:`~mimesis.Person.title()`.
     """
-    TYPICAL = 'typical'
-    ACADEMIC = 'academic'
+
+    TYPICAL = "typical"
+    ACADEMIC = "academic"


 class CardType(Enum):
@@ -104,9 +113,10 @@ class CardType(Enum):

     An argument for :meth:`~mimesis.Payment.credit_card_number()`.
     """
-    VISA = 'Visa'
-    MASTER_CARD = 'MasterCard'
-    AMERICAN_EXPRESS = 'American Express'
+
+    VISA = "Visa"
+    MASTER_CARD = "MasterCard"
+    AMERICAN_EXPRESS = "American Express"


 class Algorithm(Enum):
@@ -114,14 +124,15 @@ class Algorithm(Enum):

     An argument for :meth:`~mimesis.Cryptographic.hash()`.
     """
-    MD5 = 'md5'
-    SHA1 = 'sha1'
-    SHA224 = 'sha224'
-    SHA256 = 'sha256'
-    SHA384 = 'sha384'
-    SHA512 = 'sha512'
-    BLAKE2B = 'blake2b'
-    BLAKE2S = 'blake2s'
+
+    MD5 = "md5"
+    SHA1 = "sha1"
+    SHA224 = "sha224"
+    SHA256 = "sha256"
+    SHA384 = "sha384"
+    SHA512 = "sha512"
+    BLAKE2B = "blake2b"
+    BLAKE2S = "blake2s"


 class TLDType(Enum):
@@ -129,11 +140,12 @@ class TLDType(Enum):

     An argument for a few methods which are taking parameter **tld_type**.
     """
-    CCTLD = 'cctld'
-    GTLD = 'gtld'
-    GEOTLD = 'geotld'
-    UTLD = 'utld'
-    STLD = 'stld'
+
+    CCTLD = "cctld"
+    GTLD = "gtld"
+    GEOTLD = "geotld"
+    UTLD = "utld"
+    STLD = "stld"


 class FileType(Enum):
@@ -142,14 +154,15 @@ class FileType(Enum):
     An argument for :meth:`~mimesis.File.extension()`
     and :meth:`~mimesis.File.file_name()`.
     """
-    SOURCE = 'source'
-    TEXT = 'text'
-    DATA = 'data'
-    AUDIO = 'audio'
-    VIDEO = 'video'
-    IMAGE = 'image'
-    EXECUTABLE = 'executable'
-    COMPRESSED = 'compressed'
+
+    SOURCE = "source"
+    TEXT = "text"
+    DATA = "data"
+    AUDIO = "audio"
+    VIDEO = "video"
+    IMAGE = "image"
+    EXECUTABLE = "executable"
+    COMPRESSED = "compressed"


 class MimeType(Enum):
@@ -157,12 +170,13 @@ class MimeType(Enum):

     An argument for :meth:`~mimesis.File.mime_type()`.
     """
-    APPLICATION = 'application'
-    AUDIO = 'audio'
-    IMAGE = 'image'
-    MESSAGE = 'message'
-    TEXT = 'text'
-    VIDEO = 'video'
+
+    APPLICATION = "application"
+    AUDIO = "audio"
+    IMAGE = "image"
+    MESSAGE = "message"
+    TEXT = "text"
+    VIDEO = "video"


 class MetricPrefixSign(Enum):
@@ -170,8 +184,9 @@ class MetricPrefixSign(Enum):

     An argument for :meth:`~mimesis.Science.metric_prefix()``.
     """
-    POSITIVE = 'positive'
-    NEGATIVE = 'negative'
+
+    POSITIVE = "positive"
+    NEGATIVE = "negative"


 class CountryCode(Enum):
@@ -179,11 +194,12 @@ class CountryCode(Enum):

     An argument for :meth:`~mimesis.Address.country_code()`.
     """
-    A2 = 'a2'
-    A3 = 'a3'
-    NUMERIC = 'numeric'
-    IOC = 'ioc'
-    FIFA = 'fifa'
+
+    A2 = "a2"
+    A3 = "a3"
+    NUMERIC = "numeric"
+    IOC = "ioc"
+    FIFA = "fifa"


 class ISBNFormat(Enum):
@@ -191,8 +207,9 @@ class ISBNFormat(Enum):

     An argument for :meth:`~mimesis.Code.isbn()`.
     """
-    ISBN13 = 'isbn-13'
-    ISBN10 = 'isbn-10'
+
+    ISBN13 = "isbn-13"
+    ISBN10 = "isbn-10"


 class EANFormat(Enum):
@@ -200,8 +217,9 @@ class EANFormat(Enum):

     An argument for :meth:`~mimesis.Code.ean()`.
     """
-    EAN8 = 'ean-8'
-    EAN13 = 'ean-13'
+
+    EAN8 = "ean-8"
+    EAN13 = "ean-13"


 class MeasureUnit(Enum):
@@ -209,28 +227,29 @@ class MeasureUnit(Enum):

     An argument for :meth:`~mimesis.Science.measure_unit()`.
     """
-    MASS = 'gram', 'gr'
-    INFORMATION = 'byte', 'b'
-    THERMODYNAMIC_TEMPERATURE = 'kelvin', 'K'
-    AMOUNT_OF_SUBSTANCE = 'mole', 'mol'
-    ANGLE = 'radian', 'r'
-    SOLID_ANGLE = 'steradian', '㏛'
-    FREQUENCY = 'hertz', 'Hz'
-    FORCE = 'newton', 'N'
-    PRESSURE = 'pascal', 'P'
-    ENERGY = 'joule', 'J'
-    POWER = 'watt', 'W'
-    FLUX = 'watt', 'W'
-    ELECTRIC_CHARGE = 'coulomb', 'C'
-    VOLTAGE = 'volt', 'V'
-    ELECTRIC_CAPACITANCE = 'farad', 'F'
-    ELECTRIC_RESISTANCE = 'ohm', 'Ω'
-    ELECTRICAL_CONDUCTANCE = 'siemens', 'S'
-    MAGNETIC_FLUX = 'weber', 'Wb'
-    MAGNETIC_FLUX_DENSITY = 'tesla', 'T'
-    INDUCTANCE = 'henry', 'H'
-    TEMPERATURE = 'Celsius', '°C'
-    RADIOACTIVITY = 'becquerel', 'Bq'
+
+    MASS = ("gram", "gr")
+    INFORMATION = ("byte", "b")
+    THERMODYNAMIC_TEMPERATURE = ("kelvin", "K")
+    AMOUNT_OF_SUBSTANCE = ("mole", "mol")
+    ANGLE = ("radian", "r")
+    SOLID_ANGLE = ("steradian", "㏛")
+    FREQUENCY = ("hertz", "Hz")
+    FORCE = ("newton", "N")
+    PRESSURE = ("pascal", "P")
+    ENERGY = ("joule", "J")
+    POWER = ("watt", "W")
+    FLUX = ("watt", "W")
+    ELECTRIC_CHARGE = ("coulomb", "C")
+    VOLTAGE = ("volt", "V")
+    ELECTRIC_CAPACITANCE = ("farad", "F")
+    ELECTRIC_RESISTANCE = ("ohm", "Ω")
+    ELECTRICAL_CONDUCTANCE = ("siemens", "S")
+    MAGNETIC_FLUX = ("weber", "Wb")
+    MAGNETIC_FLUX_DENSITY = ("tesla", "T")
+    INDUCTANCE = ("henry", "H")
+    TEMPERATURE = ("Celsius", "°C")
+    RADIOACTIVITY = ("becquerel", "Bq")


 class NumType(Enum):
@@ -238,10 +257,11 @@ class NumType(Enum):

     An argument for :meth:`~mimesis.Numeric.matrix()`.
     """
-    FLOAT = 'floats'
-    INTEGER = 'integers'
-    COMPLEX = 'complexes'
-    DECIMAL = 'decimals'
+
+    FLOAT = "floats"
+    INTEGER = "integers"
+    COMPLEX = "complexes"
+    DECIMAL = "decimals"


 class VideoFile(Enum):
@@ -249,8 +269,9 @@ class VideoFile(Enum):

     An argument for :meth:`~mimesis.BinaryFile.video()`
     """
-    MP4 = 'mp4'
-    MOV = 'mov'
+
+    MP4 = "mp4"
+    MOV = "mov"


 class AudioFile(Enum):
@@ -258,8 +279,9 @@ class AudioFile(Enum):

     An argument for :meth:`~mimesis.BinaryFile.audio()`
     """
-    MP3 = 'mp3'
-    AAC = 'aac'
+
+    MP3 = "mp3"
+    AAC = "aac"


 class ImageFile(Enum):
@@ -267,9 +289,10 @@ class ImageFile(Enum):

     An argument for :meth:`~mimesis.BinaryFile.image()`
     """
-    JPG = 'jpg'
-    PNG = 'png'
-    GIF = 'gif'
+
+    JPG = "jpg"
+    PNG = "png"
+    GIF = "gif"


 class DocumentFile(Enum):
@@ -277,10 +300,11 @@ class DocumentFile(Enum):

     An argument for :meth:`~mimesis.BinaryFile.document()`
     """
-    PDF = 'pdf'
-    DOCX = 'docx'
-    PPTX = 'pptx'
-    XLSX = 'xlsx'
+
+    PDF = "pdf"
+    DOCX = "docx"
+    PPTX = "pptx"
+    XLSX = "xlsx"


 class CompressedFile(Enum):
@@ -288,8 +312,9 @@ class CompressedFile(Enum):

     An argument for :meth:`~mimesis.BinaryFile.compressed()`
     """
-    ZIP = 'zip'
-    GZIP = 'gz'
+
+    ZIP = "zip"
+    GZIP = "gz"


 class URLScheme(Enum):
@@ -297,12 +322,13 @@ class URLScheme(Enum):

     An argument for some methods of :class:`~mimesis.Internet()`.
     """
-    WS = 'ws'
-    WSS = 'wss'
-    FTP = 'ftp'
-    SFTP = 'sftp'
-    HTTP = 'http'
-    HTTPS = 'https'
+
+    WS = "ws"
+    WSS = "wss"
+    FTP = "ftp"
+    SFTP = "sftp"
+    HTTP = "http"
+    HTTPS = "https"


 class TimezoneRegion(Enum):
@@ -310,26 +336,27 @@ class TimezoneRegion(Enum):

     An argument for :meth:`~mimesis.Datetime.timezone()`.
     """
-    AFRICA = 'Africa'
-    AMERICA = 'America'
-    ANTARCTICA = 'Antarctica'
-    ARCTIC = 'Arctic'
-    ASIA = 'Asia'
-    ATLANTIC = 'Atlantic'
-    AUSTRALIA = 'Australia'
-    EUROPE = 'Europe'
-    INDIAN = 'Indian'
-    PACIFIC = 'Pacific'
+
+    AFRICA = "Africa"
+    AMERICA = "America"
+    ANTARCTICA = "Antarctica"
+    ARCTIC = "Arctic"
+    ASIA = "Asia"
+    ATLANTIC = "Atlantic"
+    AUSTRALIA = "Australia"
+    EUROPE = "Europe"
+    INDIAN = "Indian"
+    PACIFIC = "Pacific"


 class DSNType(Enum):
-    POSTGRES = 'postgres', 5432
-    MYSQL = 'mysql', 3306
-    MONGODB = 'mongodb', 27017
-    REDIS = 'redis', 6379
-    COUCHBASE = 'couchbase', 8092
-    MEMCACHED = 'memcached', 11211
-    RABBITMQ = 'rabbitmq', 5672
+    POSTGRES = ("postgres", 5432)
+    MYSQL = ("mysql", 3306)
+    MONGODB = ("mongodb", 27017)
+    REDIS = ("redis", 6379)
+    COUCHBASE = ("couchbase", 8092)
+    MEMCACHED = ("memcached", 11211)
+    RABBITMQ = ("rabbitmq", 5672)


 class TimestampFormat(Enum):
@@ -339,13 +366,13 @@ class TimestampFormat(Enum):


 class EmojyCategory(Enum):
-    DEFAULT = 'smileys_and_emotion'
-    SMILEYS_AND_EMOTION = 'smileys_and_emotion'
-    PEOPLE_AND_BODY = 'people_and_body'
-    ANIMALS_AND_NATURE = 'animals_and_nature'
-    FOOD_AND_DRINK = 'food_and_drink'
-    TRAVEL_AND_PLACES = 'travel_and_places'
-    ACTIVITIES = 'activities'
-    OBJECTS = 'objects'
-    SYMBOLS = 'symbols'
-    FLAGS = 'flags'
+    DEFAULT = "smileys_and_emotion"
+    SMILEYS_AND_EMOTION = "smileys_and_emotion"
+    PEOPLE_AND_BODY = "people_and_body"
+    ANIMALS_AND_NATURE = "animals_and_nature"
+    FOOD_AND_DRINK = "food_and_drink"
+    TRAVEL_AND_PLACES = "travel_and_places"
+    ACTIVITIES = "activities"
+    OBJECTS = "objects"
+    SYMBOLS = "symbols"
+    FLAGS = "flags"
diff --git a/mimesis/exceptions.py b/mimesis/exceptions.py
index 2b5208a1..51032c75 100644
--- a/mimesis/exceptions.py
+++ b/mimesis/exceptions.py
@@ -1,63 +1,67 @@
 """Custom exceptions which are used in Mimesis."""
+
 import typing as t
+
 from mimesis.enums import Locale


 class LocaleError(ValueError):
     """Raised when a locale isn't supported."""

-    def __init__(self, locale: (Locale | str)) ->None:
+    def __init__(self, locale: Locale | str) -> None:
         """Initialize attributes for informative output.

         :param locale: Locale.
         """
         self.locale = locale

-    def __str__(self) ->str:
-        return f'Invalid locale «{self.locale}»'
+    def __str__(self) -> str:
+        return f"Invalid locale «{self.locale}»"


 class SchemaError(ValueError):
     """Raised when a schema is unsupported."""

-    def __str__(self) ->str:
+    def __str__(self) -> str:
         return (
-            'The schema must be a callable object that returns a dict.See https://mimesis.name/en/master/schema.html for more details.'
-            )
+            "The schema must be a callable object that returns a dict."
+            "See https://mimesis.name/en/master/schema.html for more details."
+        )


 class NonEnumerableError(TypeError):
     """Raised when an object is not an instance of Enum."""
-    message = 'You should use one item of: «{}» of the object mimesis.enums.{}'

-    def __init__(self, enum_obj: t.Any) ->None:
+    message = "You should use one item of: «{}» of the object mimesis.enums.{}"
+
+    def __init__(self, enum_obj: t.Any) -> None:
         """Initialize attributes for informative output.

         :param enum_obj: Enum object.
         """
         if enum_obj:
             self.name = enum_obj
-            self.items = ', '.join(map(str, enum_obj))
+            self.items = ", ".join(map(str, enum_obj))
         else:
-            self.items = ''
+            self.items = ""

-    def __str__(self) ->str:
+    def __str__(self) -> str:
         return self.message.format(self.items, self.name.__name__)


 class FieldError(ValueError):
     """Raised when field is not found."""

-    def __init__(self, name: (str | None)=None) ->None:
+    def __init__(self, name: str | None = None) -> None:
         """Initialize attributes for more informative output.

         :param name: Name of the field.
         """
         self.name = name
-        self.message = 'Field «{}» is not supported.'
-        self.message_none = 'The field cannot have the value None.'
+        self.message = "Field «{}» is not supported."
+        self.message_none = "The field cannot have the value None."

-    def __str__(self) ->str:
+    def __str__(self) -> str:
         if self.name is None:
             return self.message_none
         return self.message.format(self.name)
@@ -66,38 +70,36 @@ class FieldError(ValueError):
 class FieldsetError(ValueError):
     """Raised when a resulting fieldset is empty."""

-    def __str__(self) ->str:
-        return 'The «iterations» parameter should be greater than 1.'
+    def __str__(self) -> str:
+        return "The «iterations» parameter should be greater than 1."


 class FieldNameError(ValueError):
     """Raised when a field name is invalid."""

-    def __init__(self, name: (str | None)=None) ->None:
+    def __init__(self, name: str | None = None) -> None:
         """Initialize attributes for more informative output.

         :param name: Name of the field.
         """
         self.name = name

-    def __str__(self) ->str:
-        return (
-            f'The field name «{self.name}» is not a valid Python identifier.')
+    def __str__(self) -> str:
+        return f"The field name «{self.name}» is not a valid Python identifier."


 class FieldArityError(ValueError):
     """Raised when registering field handler has incompatible arity."""

-    def __str__(self) ->str:
-        return (
-            "The custom handler must accept at least two arguments: 'random' and '**kwargs'"
-            )
+    def __str__(self) -> str:
+        return "The custom handler must accept at least two arguments: 'random' and '**kwargs'"


 class AliasesTypeError(TypeError):
     """Raised when the aliases attribute is set to a format other than a flat dictionary."""

-    def __str__(self) ->str:
+    def __str__(self) -> str:
         return (
-            "The 'aliases' attribute needs to be a non-nested dictionary where keys are the aliases and values are the corresponding field names."
-            )
+            "The 'aliases' attribute needs to be a non-nested dictionary where "
+            "keys are the aliases and values are the corresponding field names."
+        )
diff --git a/mimesis/keys.py b/mimesis/keys.py
index 64f84d9c..65eefbfe 100644
--- a/mimesis/keys.py
+++ b/mimesis/keys.py
@@ -4,14 +4,17 @@ Key functions can be applied to fields and fieldsets using the **key** argument.
 These functions are applied after the field's value is generated and before the
 field is returned to the caller.
 """
+
 from typing import Any, Callable
+
 from mimesis.datasets import COMMON_LETTERS, ROMANIZATION_DICT
 from mimesis.locales import Locale, validate_locale
 from mimesis.random import Random
-__all__ = ['maybe', 'romanize']
+
+__all__ = ["maybe", "romanize"]


-def romanize(locale: Locale) ->Callable[[str], str]:
+def romanize(locale: Locale) -> Callable[[str], str]:
     """Create a closure function to romanize a given string in the specified locale.

     Supported locales are:
@@ -23,10 +26,25 @@ def romanize(locale: Locale) ->Callable[[str], str]:
     :param locale: Locale.
     :return: A closure that takes a string and returns a romanized string.
     """
-    pass
+    locale = validate_locale(locale)
+
+    if locale not in (Locale.RU, Locale.UK, Locale.KK):
+        raise ValueError(f"Romanization is not available for: {locale}")
+
+    table = str.maketrans({**ROMANIZATION_DICT[locale.value], **COMMON_LETTERS})

+    def key(string: str) -> str:
+        """Romanize a given string in the specified locale.

-def maybe(value: Any, probability: float=0.5) ->Callable[[Any, Random], Any]:
+        :param string: Cyrillic string.
+        :return: Romanized string.
+        """
+        return string.translate(table)
+
+    return key
+
+
+def maybe(value: Any, probability: float = 0.5) -> Callable[[Any, Random], Any]:
     """Return a closure (a key function).

     The returned closure itself returns either **value** or
@@ -36,4 +54,15 @@ def maybe(value: Any, probability: float=0.5) ->Callable[[Any, Random], Any]:
     :param probability: The probability of returning **value**.
     :return: A closure that takes two arguments.
     """
-    pass
+
+    def key(result: Any, random: Random) -> Any:
+        if 0 < probability <= 1:
+            value_weight = 1 - probability
+            (result,) = random.choices(
+                population=[result, value],
+                weights=[value_weight, probability],
+                k=1,
+            )
+        return result
+
+    return key
diff --git a/mimesis/locales.py b/mimesis/locales.py
index 8af1cbeb..a73fd90a 100644
--- a/mimesis/locales.py
+++ b/mimesis/locales.py
@@ -1,4 +1,19 @@
 """This module provides constants for locale-dependent providers."""
+
 from mimesis.enums import Locale
 from mimesis.exceptions import LocaleError
-__all__ = ['Locale', 'validate_locale']
+
+__all__ = ["Locale", "validate_locale"]
+
+
+def validate_locale(locale: Locale | str) -> Locale:
+    if isinstance(locale, str):
+        try:
+            return Locale(locale)
+        except ValueError:
+            raise LocaleError(locale)
+
+    if not isinstance(locale, Locale):
+        raise LocaleError(locale)
+
+    return locale
diff --git a/mimesis/plugins/factory.py b/mimesis/plugins/factory.py
index 61bf556e..1660c54b 100644
--- a/mimesis/plugins/factory.py
+++ b/mimesis/plugins/factory.py
@@ -1,27 +1,35 @@
 from contextlib import contextmanager
 from typing import Any, ClassVar, Iterator
+
 from mimesis.locales import Locale
 from mimesis.schema import Field, RegisterableFieldHandlers
+
 try:
     from factory import declarations
     from factory.builder import BuildStep, Resolver
 except ImportError:
-    raise ImportError('This plugin requires factory_boy to be installed.')
-__all__ = ['FactoryField', 'MimesisField']
+    raise ImportError("This plugin requires factory_boy to be installed.")
+
+__all__ = ["FactoryField", "MimesisField"]


-class FactoryField(declarations.BaseDeclaration):
+class FactoryField(declarations.BaseDeclaration):  # type: ignore[misc]
     """
     Mimesis integration with FactoryBoy starts here.

     This class provides a common interface for FactoryBoy,
     but inside it has Mimesis generators.
     """
+
     _default_locale: ClassVar[Locale] = Locale.EN
     _cached_instances: ClassVar[dict[str, Field]] = {}

-    def __init__(self, field: str, locale: (Locale | None)=None, **kwargs: Any
-        ) ->None:
+    def __init__(
+        self,
+        field: str,
+        locale: Locale | None = None,
+        **kwargs: Any,
+    ) -> None:
         """
         Creates a field instance.

@@ -37,36 +45,78 @@ class FactoryField(declarations.BaseDeclaration):
         self.kwargs = kwargs
         self.field = field

-    def evaluate(self, instance: Resolver, step: BuildStep, extra: (dict[
-        str, Any] | None)=None) ->Any:
+    def evaluate(
+        self,
+        instance: Resolver,
+        step: BuildStep,
+        extra: dict[str, Any] | None = None,
+    ) -> Any:
         """Evaluates the lazy field.

         :param instance: (factory.builder.Resolver): The object holding currently computed attributes.
         :param step: (factory.builder.BuildStep): The object holding the current build step.
         :param extra: Extra call-time added kwargs that would be passed to ``Field``.
         """
-        pass
+        kwargs: dict[str, Any] = {}
+        kwargs.update(self.kwargs)
+        kwargs.update(extra or {})
+
+        field_handlers = step.builder.factory_meta.declarations.get(
+            "field_handlers", []
+        )
+
+        _field = self._get_cached_instance(
+            locale=self.locale,
+            field_handlers=field_handlers,
+        )
+        return _field(self.field, **kwargs)

     @classmethod
     @contextmanager
-    def override_locale(cls, locale: Locale) ->Iterator[None]:
+    def override_locale(cls, locale: Locale) -> Iterator[None]:
         """
         Overrides unspecified locales.

         Remember that implicit locales would not be overridden.
         """
-        pass
+        old_locale = cls._default_locale
+        cls._default_locale = locale
+        yield
+        cls._default_locale = old_locale

     @classmethod
-    def _get_cached_instance(cls, locale: (Locale | None)=None,
-        field_handlers: (RegisterableFieldHandlers | None)=None) ->Field:
+    def _get_cached_instance(
+        cls,
+        locale: Locale | None = None,
+        field_handlers: RegisterableFieldHandlers | None = None,
+    ) -> Field:
         """Returns cached instance.

         :param locale: locale to use.
         :param field_handlers: custom field handlers.
         :return: cached instance of Field.
         """
-        pass
+        if locale is None:
+            locale = cls._default_locale
+
+        field_names = "-".join(
+            sorted(
+                dict(field_handlers if field_handlers else []).keys(),
+            )
+        )
+
+        key = f"{locale}{field_names}"
+
+        if key not in cls._cached_instances:
+            field = Field(locale)
+
+            if field_handlers:
+                field.register_handlers(field_handlers)
+
+            cls._cached_instances[key] = field
+
+        return cls._cached_instances[key]


+# An alias
 MimesisField = FactoryField
diff --git a/mimesis/plugins/pytest.py b/mimesis/plugins/pytest.py
index 8a896f73..34c800cb 100644
--- a/mimesis/plugins/pytest.py
+++ b/mimesis/plugins/pytest.py
@@ -1,20 +1,35 @@
 from typing import Callable
+
 from mimesis.locales import Locale
 from mimesis.schema import Field
+
 try:
     import pytest
 except ImportError:
-    raise ImportError('pytest is required to use this plugin')
+    raise ImportError("pytest is required to use this plugin")
+
 _CacheCallable = Callable[[Locale], Field]


+@pytest.fixture(scope="session")
+def _mimesis_cache() -> _CacheCallable:
+    cached_instances: dict[Locale, Field] = {}
+
+    def factory(locale: Locale) -> Field:
+        if locale not in cached_instances:
+            cached_instances[locale] = Field(locale)
+        return cached_instances[locale]
+
+    return factory
+
+
 @pytest.fixture()
-def mimesis_locale() ->Locale:
+def mimesis_locale() -> Locale:
     """Specifies which locale to use."""
-    pass
+    return Locale.DEFAULT


 @pytest.fixture()
-def mimesis(_mimesis_cache: _CacheCallable, mimesis_locale: Locale) ->Field:
+def mimesis(_mimesis_cache: _CacheCallable, mimesis_locale: Locale) -> Field:
     """Mimesis fixture to provide fake data using all built-in providers."""
-    pass
+    return _mimesis_cache(mimesis_locale)
diff --git a/mimesis/providers/address.py b/mimesis/providers/address.py
index ed90f16e..6cf5b33e 100644
--- a/mimesis/providers/address.py
+++ b/mimesis/providers/address.py
@@ -3,11 +3,19 @@
 This module contains provider Address() and other utils which represent
 data related to location, such as street name, city etc.
 """
+
 import typing as t
-from mimesis.datasets import CALLING_CODES, CONTINENT_CODES, COUNTRY_CODES, SHORTENED_ADDRESS_FMT
+
+from mimesis.datasets import (
+    CALLING_CODES,
+    CONTINENT_CODES,
+    COUNTRY_CODES,
+    SHORTENED_ADDRESS_FMT,
+)
 from mimesis.enums import CountryCode
 from mimesis.providers.base import BaseDataProvider
-__all__ = ['Address']
+
+__all__ = ["Address"]


 class Address(BaseDataProvider):
@@ -17,103 +25,142 @@ class Address(BaseDataProvider):
     geographical location.
     """

-
     class Meta:
-        name = 'address'
-        datafile = f'{name}.json'
+        name = "address"
+        datafile = f"{name}.json"

     @staticmethod
-    def _dd_to_dms(num: float, _type: str) ->str:
+    def _dd_to_dms(num: float, _type: str) -> str:
         """Converts decimal number to DMS format.

         :param num: Decimal number.
         :param _type: Type of number.
         :return: Number in DMS format.
         """
-        pass
-
-    def street_number(self, maximum: int=1400) ->str:
+        direction = ""
+        if _type == "lg":
+            direction = "W" if num < 0 else "E"
+        elif _type == "lt":
+            direction = "S" if num < 0 else "N"
+
+        num = abs(num)
+        degrees = int(num)
+        part = num - degrees
+        minutes = int(part * 60)
+        seconds = 3600 * part - 60 * minutes
+        seconds = round(seconds, 3)
+
+        return f"{degrees}º{minutes}'{seconds:.3f}\"{direction}"
+
+    def street_number(self, maximum: int = 1400) -> str:
         """Generates a random street number.

         :param maximum: Maximum value.
         :return: Street number.
         """
-        pass
+        return str(self.random.randint(1, maximum))

-    def street_name(self) ->str:
+    def street_name(self) -> str:
         """Generates a random street name.

         :return: Street name.
         """
-        pass
+        street_names: list[str] = self._extract(["street", "name"])
+        return self.random.choice(street_names)

-    def street_suffix(self) ->str:
+    def street_suffix(self) -> str:
         """Generates a random street suffix.

         :return: Street suffix.
         """
-        pass
+        suffixes: list[str] = self._extract(["street", "suffix"])
+        return self.random.choice(suffixes)

-    def address(self) ->str:
+    def address(self) -> str:
         """Generates a random full address.

         :return: Full address.
         """
-        pass
-
-    def state(self, abbr: bool=False) ->str:
+        fmt: str = self._extract(["address_fmt"])
+
+        st_num = self.street_number()
+        st_name = self.street_name()
+
+        if self.locale in SHORTENED_ADDRESS_FMT:
+            return fmt.format(
+                st_num=st_num,
+                st_name=st_name,
+            )
+
+        if self.locale == "ja":
+            return fmt.format(
+                self.random.choice(self._extract(["city"])),
+                # Generate a list of random integers
+                # in n of 3, from 1 to 100.
+                *self.random.randints(n=3, a=1, b=100),
+            )
+
+        return fmt.format(
+            st_num=st_num,
+            st_name=st_name,
+            st_sfx=self.street_suffix(),
+        )
+
+    def state(self, abbr: bool = False) -> str:
         """Generates a random administrative district of the country.

         :param abbr: Return ISO 3166-2 code.
         :return: Administrative district.
         """
-        pass
+        key = "abbr" if abbr else "name"
+        states: list[str] = self._extract(["state", key])
+        return self.random.choice(states)

-    def region(self, *args: t.Any, **kwargs: t.Any) ->str:
+    def region(self, *args: t.Any, **kwargs: t.Any) -> str:
         """Generates a random region.

         An alias for :meth:`~.state()`.
         """
-        pass
+        return self.state(*args, **kwargs)

-    def province(self, *args: t.Any, **kwargs: t.Any) ->str:
+    def province(self, *args: t.Any, **kwargs: t.Any) -> str:
         """Generates a random province.

         An alias for :meth:`~.state()`.
         """
-        pass
+        return self.state(*args, **kwargs)

-    def federal_subject(self, *args: t.Any, **kwargs: t.Any) ->str:
+    def federal_subject(self, *args: t.Any, **kwargs: t.Any) -> str:
         """Generates a random federal_subject (Russia).

         An alias for :meth:`~.state()`.
         """
-        pass
+        return self.state(*args, **kwargs)

-    def prefecture(self, *args: t.Any, **kwargs: t.Any) ->str:
+    def prefecture(self, *args: t.Any, **kwargs: t.Any) -> str:
         """Generates a random prefecture.

         An alias for :meth:`~.state()`.
         """
-        pass
+        return self.state(*args, **kwargs)

-    def postal_code(self) ->str:
+    def postal_code(self) -> str:
         """Generates a postal code for current locale.

         :return: Postal code.
         """
-        pass
+        return self.random.generate_string_by_mask(self._extract(["postal_code_fmt"]))

-    def zip_code(self) ->str:
+    def zip_code(self) -> str:
         """Generates a zip code.

         An alias for :meth:`~.postal_code()`.

         :return: Zip code.
         """
-        pass
+        return self.postal_code()

-    def country_code(self, code: (CountryCode | None)=CountryCode.A2) ->str:
+    def country_code(self, code: CountryCode | None = CountryCode.A2) -> str:
         """Generates a random code of country.

         Default format is :attr:`~enums.CountryCode.A2` (ISO 3166-1-alpha2),
@@ -123,9 +170,10 @@ class Address(BaseDataProvider):
         :return: Country code in selected format.
         :raises KeyError: if fmt is not supported.
         """
-        pass
+        key = self.validate_enum(code, CountryCode)
+        return self.random.choice(COUNTRY_CODES[key])

-    def country_emoji_flag(self) ->str:
+    def country_emoji_flag(self) -> str:
         """Generates a randomly chosen country emoji flag.

         :example:
@@ -133,80 +181,105 @@ class Address(BaseDataProvider):

         :return: Flag emoji.
         """
-        pass
+        code = self.country_code(
+            code=CountryCode.A2,
+        )

-    def default_country(self) ->str:
+        offset = ord("🇦") - ord("A")
+        first = ord(code[0]) + offset
+        second = ord(code[1]) + offset
+        return chr(first) + chr(second)
+
+    def default_country(self) -> str:
         """Returns the country associated with the current locale.

         :return: The country associated with current locale.
         """
-        pass
+        country: str = self._extract(["country", "current_locale"])
+        return country

-    def country(self) ->str:
+    def country(self) -> str:
         """Generates a random country.

         :return: The Country.
         """
-        pass
+        countries: list[str] = self._extract(["country", "name"])
+        return self.random.choice(countries)

-    def city(self) ->str:
+    def city(self) -> str:
         """Generates a random city.

         :return: City name.
         """
-        pass
+        cities: list[str] = self._extract(["city"])
+        return self.random.choice(cities)

-    def _get_fs(self, key: str, dms: bool=False) ->(str | float):
+    def _get_fs(self, key: str, dms: bool = False) -> str | float:
         """Get float number.

         :param key: Key (`lt` or `lg`).
         :param dms: DMS format.
         :return: Float number
         """
-        pass
+        # The default range is a range of longitudes.
+        rng = (-90, 90) if key == "lt" else (-180, 180)
+        result = self.random.uniform(*rng, precision=6)
+
+        if dms:
+            return self._dd_to_dms(result, key)
+
+        return result

-    def latitude(self, dms: bool=False) ->(str | float):
+    def latitude(self, dms: bool = False) -> str | float:
         """Generates a random value of latitude.

         :param dms: DMS format.
         :return: Value of longitude.
         """
-        pass
+        return self._get_fs("lt", dms)

-    def longitude(self, dms: bool=False) ->(str | float):
+    def longitude(self, dms: bool = False) -> str | float:
         """Generates a random value of longitude.

         :param dms: DMS format.
         :return: Value of longitude.
         """
-        pass
+        return self._get_fs("lg", dms)

-    def coordinates(self, dms: bool=False) ->dict[str, str | float]:
+    def coordinates(self, dms: bool = False) -> dict[str, str | float]:
         """Generates random geo coordinates.

         :param dms: DMS format.
         :return: Dict with coordinates.
         """
-        pass
+        return {
+            "longitude": self._get_fs("lg", dms),
+            "latitude": self._get_fs("lt", dms),
+        }

-    def continent(self, code: bool=False) ->str:
+    def continent(self, code: bool = False) -> str:
         """Returns a random continent name or continent code.

         :param code: Return code of a continent.
         :return: Continent name.
         """
-        pass
+        codes: list[str] = self._extract(["continent"])
+
+        if code:
+            codes = CONTINENT_CODES
+
+        return self.random.choice(codes)

-    def calling_code(self) ->str:
+    def calling_code(self) -> str:
         """Generates a random calling code of random country.

         :return: Calling code.
         """
-        pass
+        return self.random.choice(CALLING_CODES)

-    def isd_code(self) ->str:
+    def isd_code(self) -> str:
         """Generates a random ISD code.

         An alias for :meth:`~Address.calling_code()`.
         """
-        pass
+        return self.calling_code()
diff --git a/mimesis/providers/base.py b/mimesis/providers/base.py
index 2028eb52..b171f03a 100644
--- a/mimesis/providers/base.py
+++ b/mimesis/providers/base.py
@@ -1,15 +1,18 @@
 """Base data provider."""
+
 import contextlib
 import json
 import operator
 import typing as t
 from functools import reduce
+
 from mimesis import random as _random
 from mimesis.constants import DATADIR, LOCALE_SEP
 from mimesis.exceptions import NonEnumerableError
 from mimesis.locales import Locale, validate_locale
 from mimesis.types import JSON, MissingSeed, Seed
-__all__ = ['BaseDataProvider', 'BaseProvider']
+
+__all__ = ["BaseDataProvider", "BaseProvider"]


 class BaseProvider:
@@ -20,12 +23,15 @@ class BaseProvider:
     :attr: seed: Seed for random.
     """

-
     class Meta:
         name: str

-    def __init__(self, *, seed: Seed=MissingSeed, random: (_random.Random |
-        None)=None) ->None:
+    def __init__(
+        self,
+        *,
+        seed: Seed = MissingSeed,
+        random: _random.Random | None = None,
+    ) -> None:
         """Initialize attributes.

         Keep in mind that locale-independent data providers will work
@@ -39,14 +45,15 @@ class BaseProvider:
         if random is not None:
             if not isinstance(random, _random.Random):
                 raise TypeError(
-                    'The random must be an instance of mimesis.random.Random')
+                    "The random must be an instance of mimesis.random.Random"
+                )
             self.random = random
         else:
             self.random = _random.Random()
         self.seed = seed
         self.reseed(seed)

-    def reseed(self, seed: Seed=MissingSeed) ->None:
+    def reseed(self, seed: Seed = MissingSeed) -> None:
         """Reseeds the internal random generator.

         In case we use the default seed, we need to create a per instance
@@ -56,9 +63,15 @@ class BaseProvider:
         :param seed: Seed for random.
             When set to `None` the current system time is used.
         """
-        pass
+        self.seed = seed
+        if seed is MissingSeed:
+            # Remove casts after mypy will fix this inference:
+            if _random.global_seed is not MissingSeed:
+                self.random.seed(t.cast(t.Any, _random.global_seed))
+        else:
+            self.random.seed(t.cast(t.Any, seed))

-    def validate_enum(self, item: t.Any, enum: t.Any) ->t.Any:
+    def validate_enum(self, item: t.Any, enum: t.Any) -> t.Any:
         """Validates various enum objects that are used as arguments for methods.

         :param item: Item of an enum object.
@@ -66,9 +79,16 @@ class BaseProvider:
         :return: Value of item.
         :raises NonEnumerableError: If enums has not such an item.
         """
-        pass
+        if item is None:
+            result = self.random.choice_enum_item(enum)
+        elif item and isinstance(item, enum):
+            result = item
+        else:
+            raise NonEnumerableError(enum)
+
+        return result.value

-    def _read_global_file(self, file_name: str) ->t.Any:
+    def _read_global_file(self, file_name: str) -> t.Any:
         """Reads JSON file and return dict.

         Reads JSON file from mimesis/data/global/ directory.
@@ -77,13 +97,18 @@ class BaseProvider:
         :raises FileNotFoundError: If the file was not found.
         :return: JSON data.
         """
-        pass
+        with open(DATADIR.joinpath("global", file_name)) as f:
+            data = json.load(f)
+
+        return data

-    def _has_seed(self) ->bool:
+    def _has_seed(self) -> bool:
         """Internal API to check if seed is set."""
-        pass
+        return (self.seed is not None and self.seed is not MissingSeed) or (
+            _random.global_seed is not None and _random.global_seed is not MissingSeed
+        )

-    def __str__(self) ->str:
+    def __str__(self) -> str:
         """Human-readable representation of locale."""
         return self.__class__.__name__

@@ -91,62 +116,105 @@ class BaseProvider:
 class BaseDataProvider(BaseProvider):
     """This is a base class for all data providers."""

-    def __init__(self, locale: Locale=Locale.DEFAULT, seed: Seed=
-        MissingSeed, *args: t.Any, **kwargs: t.Any) ->None:
+    def __init__(
+        self,
+        locale: Locale = Locale.DEFAULT,
+        seed: Seed = MissingSeed,
+        *args: t.Any,
+        **kwargs: t.Any,
+    ) -> None:
         """Initialize attributes for data providers.

         :param locale: Current locale.
         :param seed: Seed to all the random functions.
         """
-        super().__init__(*args, seed=seed, **kwargs)
+        super().__init__(seed=seed, *args, **kwargs)
+        # This is a dict with data
+        # loaded from the JSON file.
         self._dataset: JSON = {}
+        # Order matters here, since
+        # we have to set up locale first.
         self._setup_locale(locale)
         self._load_dataset()

-    def _setup_locale(self, locale: Locale=Locale.DEFAULT) ->None:
+    def _setup_locale(self, locale: Locale = Locale.DEFAULT) -> None:
         """Set up locale after pre-check.

         :param str locale: Locale
         :raises UnsupportedLocale: When locale not supported.
         :return: Nothing.
         """
-        pass

-    def _extract(self, keys: list[str], default: t.Any=None) ->t.Any:
+        locale_obj = validate_locale(locale)
+        self.locale = locale_obj.value
+
+    def _extract(self, keys: list[str], default: t.Any = None) -> t.Any:
         """Extracts nested values from JSON file by list of keys.

         :param keys: List of keys (order extremely matters).
         :param default: Default value.
         :return: Data.
         """
-        pass
-
-    def _update_dict(self, initial: JSON, other: JSON) ->JSON:
+        if not keys:
+            raise ValueError("The list of keys to extract cannot be empty.")
+        try:
+            return reduce(operator.getitem, keys, self._dataset)
+        except (TypeError, KeyError):
+            return default
+
+    def _update_dict(self, initial: JSON, other: JSON) -> JSON:
         """Recursively updates a dictionary.

         :param initial: Dict to update.
         :param other: Dict to update from.
         :return: Updated dict.
         """
-        pass
-
-    def _load_dataset(self) ->None:
+        for k, v in other.items():
+            if isinstance(v, dict):
+                initial[k] = self._update_dict(initial.get(k, {}), v)
+            else:
+                initial[k] = other[k]
+        return initial
+
+    def _load_dataset(self) -> None:
         """Loads the content from the JSON dataset.

         :return: The content of the file.
         :raises UnsupportedLocale: Raises if locale is unsupported.
         """
-        pass
+        locale = self.locale
+        datafile = getattr(self.Meta, "datafile", "")
+        datadir = getattr(self.Meta, "datadir", DATADIR)
+
+        if not datafile:
+            return None
+
+        def read_file(locale_name: str) -> t.Any:
+            file_path = datadir / locale_name / datafile
+            with open(file_path, encoding="utf8") as f:
+                return json.load(f)
+
+        master_locale = locale.split(LOCALE_SEP).pop(0)
+
+        data = read_file(master_locale)
+
+        if LOCALE_SEP in locale:
+            data = self._update_dict(data, read_file(locale))

-    def update_dataset(self, data: JSON) ->None:
+        self._dataset = data
+
+    def update_dataset(self, data: JSON) -> None:
         """Updates dataset merging a given dict into default data.

         This method may be useful when you need to override data
         for a given key in JSON file.
         """
-        pass
+        if not isinstance(data, dict):
+            raise TypeError("The data must be a dict.")
+
+        self._dataset |= data

-    def get_current_locale(self) ->str:
+    def get_current_locale(self) -> str:
         """Returns current locale.

         If locale is not defined, then this method will always return ``en``,
@@ -154,19 +222,23 @@ class BaseDataProvider(BaseProvider):

         :return: Current locale.
         """
-        pass
+        # noinspection PyTypeChecker
+        return self.locale

-    def _override_locale(self, locale: Locale=Locale.DEFAULT) ->None:
+    def _override_locale(self, locale: Locale = Locale.DEFAULT) -> None:
         """Overrides current locale with passed and pull data for new locale.

         :param locale: Locale
         :return: Nothing.
         """
-        pass
+        self._setup_locale(locale)
+        self._load_dataset()

     @contextlib.contextmanager
-    def override_locale(self, locale: Locale) ->t.Generator[
-        'BaseDataProvider', None, None]:
+    def override_locale(
+        self,
+        locale: Locale,
+    ) -> t.Generator["BaseDataProvider", None, None]:
         """Context manager that allows overriding current locale.

         Temporarily overrides current locale for
@@ -175,9 +247,17 @@ class BaseDataProvider(BaseProvider):
         :param locale: Locale.
         :return: Provider with overridden locale.
         """
-        pass
-
-    def __str__(self) ->str:
+        try:
+            origin_locale = Locale(self.locale)
+            self._override_locale(locale)
+            try:
+                yield self
+            finally:
+                self._override_locale(origin_locale)
+        except AttributeError:
+            raise ValueError(f"«{self.__class__.__name__}» has not locale dependent")
+
+    def __str__(self) -> str:
         """Human-readable representation of locale."""
-        locale = Locale(getattr(self, 'locale', Locale.DEFAULT))
-        return f'{self.__class__.__name__} <{locale}>'
+        locale = Locale(getattr(self, "locale", Locale.DEFAULT))
+        return f"{self.__class__.__name__} <{locale}>"
diff --git a/mimesis/providers/binaryfile.py b/mimesis/providers/binaryfile.py
index 8fe6bdda..ce28d8ca 100644
--- a/mimesis/providers/binaryfile.py
+++ b/mimesis/providers/binaryfile.py
@@ -1,15 +1,24 @@
 """Binary data provider."""
+
 import typing as t
+
 from mimesis.constants import DATADIR
-from mimesis.enums import AudioFile, CompressedFile, DocumentFile, ImageFile, VideoFile
+from mimesis.enums import (
+    AudioFile,
+    CompressedFile,
+    DocumentFile,
+    ImageFile,
+    VideoFile,
+)
 from mimesis.providers.base import BaseProvider
-__all__ = ['BinaryFile']
+
+__all__ = ["BinaryFile"]


 class BinaryFile(BaseProvider):
     """Class for generating binary data"""

-    def __init__(self, *args: t.Any, **kwargs: t.Any) ->None:
+    def __init__(self, *args: t.Any, **kwargs: t.Any) -> None:
         """Initialize attributes.

         :param locale: Current locale.
@@ -17,11 +26,21 @@ class BinaryFile(BaseProvider):
         """
         super().__init__(*args, **kwargs)

-
     class Meta:
-        name = 'binaryfile'
+        name = "binaryfile"
+
+    def _read_file(
+        self,
+        *,
+        file_type: AudioFile | CompressedFile | DocumentFile | ImageFile | VideoFile,
+    ) -> bytes:
+        file_type = self.validate_enum(file_type, file_type.__class__)
+        file_path = DATADIR / "bin" / f"sample.{file_type}"
+
+        with open(file_path, "rb") as file:
+            return file.read()

-    def video(self, *, file_type: VideoFile=VideoFile.MP4) ->bytes:
+    def video(self, *, file_type: VideoFile = VideoFile.MP4) -> bytes:
         """Generates video file of given format and returns it as bytes.

         .. note:: This method accepts keyword-only arguments.
@@ -29,9 +48,9 @@ class BinaryFile(BaseProvider):
         :param file_type: File extension.
         :return: File as a sequence of bytes.
         """
-        pass
+        return self._read_file(file_type=file_type)

-    def audio(self, *, file_type: AudioFile=AudioFile.MP3) ->bytes:
+    def audio(self, *, file_type: AudioFile = AudioFile.MP3) -> bytes:
         """Generates an audio file of given format and returns it as bytes.

         .. note:: This method accepts keyword-only arguments.
@@ -39,9 +58,9 @@ class BinaryFile(BaseProvider):
         :param file_type: File extension.
         :return: File as a sequence of bytes.
         """
-        pass
+        return self._read_file(file_type=file_type)

-    def document(self, *, file_type: DocumentFile=DocumentFile.PDF) ->bytes:
+    def document(self, *, file_type: DocumentFile = DocumentFile.PDF) -> bytes:
         """Generates a document of given format and returns it as bytes.

         .. note:: This method accepts keyword-only arguments.
@@ -49,9 +68,9 @@ class BinaryFile(BaseProvider):
         :param file_type: File extension.
         :return: File as a sequence of bytes.
         """
-        pass
+        return self._read_file(file_type=file_type)

-    def image(self, *, file_type: ImageFile=ImageFile.PNG) ->bytes:
+    def image(self, *, file_type: ImageFile = ImageFile.PNG) -> bytes:
         """Generates an image of given format and returns it as bytes.

         .. note:: This method accepts keyword-only arguments.
@@ -59,10 +78,9 @@ class BinaryFile(BaseProvider):
         :param file_type: File extension.
         :return: File as a sequence of bytes.
         """
-        pass
+        return self._read_file(file_type=file_type)

-    def compressed(self, *, file_type: CompressedFile=CompressedFile.ZIP
-        ) ->bytes:
+    def compressed(self, *, file_type: CompressedFile = CompressedFile.ZIP) -> bytes:
         """Generates a compressed file of given format and returns it as bytes.

         .. note:: This method accepts keyword-only arguments.
@@ -70,4 +88,4 @@ class BinaryFile(BaseProvider):
         :param file_type: File extension.
         :return: File as a sequence of bytes.
         """
-        pass
+        return self._read_file(file_type=file_type)
diff --git a/mimesis/providers/choice.py b/mimesis/providers/choice.py
index 91c1aae9..d24ea508 100644
--- a/mimesis/providers/choice.py
+++ b/mimesis/providers/choice.py
@@ -1,17 +1,18 @@
 """Provides a random choice from items in a sequence."""
 import typing as t
+
 from mimesis.providers.base import BaseProvider
-__all__ = ['Choice']
+
+__all__ = ["Choice"]


 class Choice(BaseProvider):
     """Class for generating a random choice from items in a sequence."""

-
     class Meta:
-        name = 'choice'
+        name = "choice"

-    def choice(self, *args: t.Any, **kwargs: t.Any) ->t.Any:
+    def choice(self, *args: t.Any, **kwargs: t.Any) -> t.Any:
         """Choice random item form sequence.

         See https://github.com/lk-geimfari/mimesis/issues/619
@@ -20,10 +21,14 @@ class Choice(BaseProvider):
         :param kwargs: Keyword arguments.
         :return: Sequence or uncontained element randomly chosen from items.
         """
-        pass
+        return self.__call__(*args, **kwargs)

-    def __call__(self, items: (t.Sequence[t.Any] | None), length: int=0,
-        unique: bool=False) ->(t.Sequence[t.Any] | t.Any):
+    def __call__(
+        self,
+        items: t.Sequence[t.Any] | None,
+        length: int = 0,
+        unique: bool = False,
+    ) -> t.Sequence[t.Any] | t.Any:
         """Generates a randomly chosen sequence or bare element from a sequence.

         Provide elements randomly chosen from the elements in a sequence
@@ -54,24 +59,31 @@ class Choice(BaseProvider):
         'cdba'

         """
+
         if not isinstance(items, t.Sequence):
-            raise TypeError('**items** must be non-empty sequence.')
+            raise TypeError("**items** must be non-empty sequence.")
+
         if not items:
-            raise ValueError('**items** must be a non-empty sequence.')
+            raise ValueError("**items** must be a non-empty sequence.")
+
         if length < 0:
-            raise ValueError('**length** should be a positive integer.')
+            raise ValueError("**length** should be a positive integer.")
+
         if length == 0:
             return self.random.choice(items)
+
         if unique and len(set(items)) < length:
             raise ValueError(
-                'There are not enough unique elements in **items** to provide the specified **number**.'
-                )
+                "There are not enough unique elements in "
+                "**items** to provide the specified **number**."
+            )
         if unique:
             data: list[str] = self.random.sample(list(set(items)), k=length)
         else:
             data = self.random.choices(items, k=length)
+
         if isinstance(items, list):
             return data
         elif isinstance(items, tuple):
             return tuple(data)
-        return ''.join(data)
+        return "".join(data)
diff --git a/mimesis/providers/code.py b/mimesis/providers/code.py
index 512c7483..45ea8851 100644
--- a/mimesis/providers/code.py
+++ b/mimesis/providers/code.py
@@ -1,20 +1,27 @@
 """The data provider of a variety of codes."""
-from mimesis.datasets import EAN_MASKS, IMEI_TACS, ISBN_GROUPS, ISBN_MASKS, LOCALE_CODES
+
+from mimesis.datasets import (
+    EAN_MASKS,
+    IMEI_TACS,
+    ISBN_GROUPS,
+    ISBN_MASKS,
+    LOCALE_CODES,
+)
 from mimesis.enums import EANFormat, ISBNFormat
 from mimesis.locales import Locale
 from mimesis.providers.base import BaseProvider
 from mimesis.shortcuts import luhn_checksum
-__all__ = ['Code']
+
+__all__ = ["Code"]


 class Code(BaseProvider):
     """A class, which provides methods for generating codes."""

-
     class Meta:
-        name = 'code'
+        name = "code"

-    def locale_code(self) ->str:
+    def locale_code(self) -> str:
         """Generates a random locale code (MS-LCID).

         See Windows Language Code Identifier Reference
@@ -22,18 +29,19 @@ class Code(BaseProvider):

         :return: Locale code.
         """
-        pass
+        return self.random.choice(LOCALE_CODES)

-    def issn(self, mask: str='####-####') ->str:
+    def issn(self, mask: str = "####-####") -> str:
         """Generates a random ISSN.

         :param mask: Mask of ISSN.
         :return: ISSN.
         """
-        pass
+        return self.random.generate_string_by_mask(mask=mask)

-    def isbn(self, fmt: (ISBNFormat | None)=None, locale: Locale=Locale.DEFAULT
-        ) ->str:
+    def isbn(
+        self, fmt: ISBNFormat | None = None, locale: Locale = Locale.DEFAULT
+    ) -> str:
         """Generates ISBN for current locale.

         To change ISBN format, pass parameter ``code`` with needed value of
@@ -44,9 +52,11 @@ class Code(BaseProvider):
         :return: ISBN.
         :raises NonEnumerableError: if code is not enum ISBNFormat.
         """
-        pass
+        fmt_value = self.validate_enum(item=fmt, enum=ISBNFormat)
+        mask = ISBN_MASKS[fmt_value].format(ISBN_GROUPS[locale.value])
+        return self.random.generate_string_by_mask(mask)

-    def ean(self, fmt: (EANFormat | None)=None) ->str:
+    def ean(self, fmt: EANFormat | None = None) -> str:
         """Generates EAN.

         To change an EAN format, pass parameter ``code`` with needed value of
@@ -56,19 +66,26 @@ class Code(BaseProvider):
         :return: EAN.
         :raises NonEnumerableError: if code is not enum EANFormat.
         """
-        pass
-
-    def imei(self) ->str:
+        key = self.validate_enum(
+            item=fmt,
+            enum=EANFormat,
+        )
+        mask = EAN_MASKS[key]
+        return self.random.generate_string_by_mask(mask=mask)
+
+    def imei(self) -> str:
         """Generates a random IMEI.

         :return: IMEI.
         """
-        pass
+        num = self.random.choice(IMEI_TACS)
+        num += str(self.random.randint(100000, 999999))
+        return num + luhn_checksum(num)

-    def pin(self, mask: str='####') ->str:
+    def pin(self, mask: str = "####") -> str:
         """Generates a random PIN code.

         :param mask: Mask of pin code.
         :return: PIN code.
         """
-        pass
+        return self.random.generate_string_by_mask(mask=mask)
diff --git a/mimesis/providers/cryptographic.py b/mimesis/providers/cryptographic.py
index 4062153d..1a810877 100644
--- a/mimesis/providers/cryptographic.py
+++ b/mimesis/providers/cryptographic.py
@@ -1,36 +1,38 @@
 """Cryptographic data provider."""
+
 import hashlib
 import secrets
 from uuid import UUID, uuid4
+
 from mimesis.datasets.int.cryptographic import WORDLIST
 from mimesis.enums import Algorithm
 from mimesis.providers.base import BaseProvider
-__all__ = ['Cryptographic']
+
+__all__ = ["Cryptographic"]


 class Cryptographic(BaseProvider):
     """Class that provides cryptographic data."""

-
     class Meta:
-        name = 'cryptographic'
+        name = "cryptographic"

     @staticmethod
-    def uuid_object() ->UUID:
+    def uuid_object() -> UUID:
         """Generates UUID4 object.

         :return: UUID4 object.
         """
-        pass
+        return uuid4()

-    def uuid(self) ->str:
+    def uuid(self) -> str:
         """Generates UUID4 string.

         :return: UUID4 as string.
         """
-        pass
+        return str(self.uuid_object())

-    def hash(self, algorithm: (Algorithm | None)=None) ->str:
+    def hash(self, algorithm: Algorithm | None = None) -> str:  # noqa: A003
         """Generates random hash.

         To change hashing algorithm, pass parameter ``algorithm``
@@ -43,10 +45,13 @@ class Cryptographic(BaseProvider):
         :return: Hash.
         :raises NonEnumerableError: When algorithm is unsupported.
         """
-        pass
+        key = self.validate_enum(algorithm, Algorithm)
+        func = getattr(hashlib, key)
+        value = func(self.uuid().encode())
+        return str(value.hexdigest())

     @staticmethod
-    def token_bytes(entropy: int=32) ->bytes:
+    def token_bytes(entropy: int = 32) -> bytes:
         """Generates byte string containing ``entropy`` bytes.

         The string has ``entropy`` random bytes, each byte
@@ -58,10 +63,10 @@ class Cryptographic(BaseProvider):
         :param entropy: Number of bytes (default: 32).
         :return: Random bytes.
         """
-        pass
+        return secrets.token_bytes(entropy)

     @staticmethod
-    def token_hex(entropy: int=32) ->str:
+    def token_hex(entropy: int = 32) -> str:
         """Generates a random text string, in hexadecimal.

         The string has *entropy* random bytes, each byte converted to two
@@ -74,10 +79,10 @@ class Cryptographic(BaseProvider):
         :param entropy: Number of bytes (default: 32).
         :return: Token.
         """
-        pass
+        return secrets.token_hex(entropy)

     @staticmethod
-    def token_urlsafe(entropy: int=32) ->str:
+    def token_urlsafe(entropy: int = 32) -> str:
         """Generates a random URL-safe text string, in Base64 encoding.

         The string has *entropy* random bytes.  If *entropy* is ``None``
@@ -89,11 +94,13 @@ class Cryptographic(BaseProvider):
         :param entropy: Number of bytes (default: 32).
         :return: URL-safe token.
         """
-        pass
+        return secrets.token_urlsafe(entropy)

-    def mnemonic_phrase(self) ->str:
+    def mnemonic_phrase(self) -> str:
         """Generates BIP-39 looking mnemonic phrase.

         :return: Mnemonic phrase.
         """
-        pass
+        length = self.random.choice([12, 24])
+        phrases = self.random.choices(WORDLIST, k=length)
+        return " ".join(phrases)
diff --git a/mimesis/providers/date.py b/mimesis/providers/date.py
index f65df83d..43d419a3 100644
--- a/mimesis/providers/date.py
+++ b/mimesis/providers/date.py
@@ -1,27 +1,34 @@
 """Provider of data related to date and time."""
+
 import typing as t
 from calendar import monthrange
 from datetime import date, datetime, time, timedelta
+
 from mimesis.compat import pytz
 from mimesis.datasets import GMT_OFFSETS, ROMAN_NUMS, TIMEZONES
 from mimesis.enums import DurationUnit, TimestampFormat, TimezoneRegion
 from mimesis.providers.base import BaseDataProvider
 from mimesis.types import Date, DateTime, Time
-__all__ = ['Datetime']
+
+__all__ = ["Datetime"]


 class Datetime(BaseDataProvider):
     """Class for generating data related to the date and time."""
-    _CURRENT_YEAR = datetime.now().year

+    # See: https://git.io/Jf15A
+    _CURRENT_YEAR = datetime.now().year

     class Meta:
-        name = 'datetime'
-        datafile = f'{name}.json'
+        name = "datetime"
+        datafile = f"{name}.json"

     @staticmethod
-    def bulk_create_datetimes(date_start: DateTime, date_end: DateTime, **
-        kwargs: t.Any) ->list[DateTime]:
+    def bulk_create_datetimes(
+        date_start: DateTime,
+        date_end: DateTime,
+        **kwargs: t.Any,
+    ) -> list[DateTime]:
         """Bulk create datetime objects.

         This method creates a list of datetime objects from
@@ -53,66 +60,92 @@ class Datetime(BaseDataProvider):
             when ``date_start`` larger than ``date_end`` or when the given
             keywords for `datetime.timedelta` represent a non-positive timedelta.
         """
-        pass
+        dt_objects = []
+
+        if not date_start and not date_end:
+            raise ValueError("You must pass date_start and date_end")

-    def week_date(self, start: int=2017, end: int=_CURRENT_YEAR) ->str:
+        if date_end < date_start:
+            raise ValueError("date_start can not be larger than date_end")
+
+        if timedelta(**kwargs) <= timedelta():
+            raise ValueError("timedelta must be positive")
+
+        while date_start <= date_end:
+            date_start += timedelta(**kwargs)
+            dt_objects.append(date_start)
+
+        return dt_objects
+
+    def week_date(self, start: int = 2017, end: int = _CURRENT_YEAR) -> str:
         """Generates week number with year.

         :param start: Starting year.
         :param end: Ending year.
         :return: Week number.
         """
-        pass
+        year = self.year(start, end)
+        week = self.random.randint(1, 52)
+        return f"{year}-W{week}"

-    def day_of_week(self, abbr: bool=False) ->str:
+    def day_of_week(self, abbr: bool = False) -> str:
         """Generates a random day of the week.

         :param abbr: Abbreviated day name.
         :return: Day of the week.
         """
-        pass
+        key = "abbr" if abbr else "name"
+        days: list[str] = self._extract(["day", key])
+        return self.random.choice(days)

-    def month(self, abbr: bool=False) ->str:
+    def month(self, abbr: bool = False) -> str:
         """Generates a random month of the year.

         :param abbr: Abbreviated month name.
         :return: Month name.
         """
-        pass
+        key = "abbr" if abbr else "name"
+        months: list[str] = self._extract(["month", key])
+        return self.random.choice(months)

-    def year(self, minimum: int=1990, maximum: int=_CURRENT_YEAR) ->int:
+    def year(self, minimum: int = 1990, maximum: int = _CURRENT_YEAR) -> int:
         """Generates a random year.

         :param minimum: Minimum value.
         :param maximum: Maximum value.
         :return: Year.
         """
-        pass
+        return self.random.randint(minimum, maximum)

-    def century(self) ->str:
+    def century(self) -> str:
         """Generates a random century.

         :return: Century.
         """
-        pass
+        return self.random.choice(ROMAN_NUMS)

-    def periodicity(self) ->str:
+    def periodicity(self) -> str:
         """Generates a random periodicity string.

         :return: Periodicity.
         """
-        pass
+        periodicity: list[str] = self._extract(["periodicity"])
+        return self.random.choice(periodicity)

-    def date(self, start: int=2000, end: int=_CURRENT_YEAR) ->Date:
+    def date(self, start: int = 2000, end: int = _CURRENT_YEAR) -> Date:
         """Generates a random date object.

         :param start: Minimum value of year.
         :param end: Maximum value of year.
         :return: Formatted date.
         """
-        pass
+        year = self.random.randint(start, end)
+        month = self.random.randint(1, 12)
+        day = self.random.randint(1, monthrange(year, month)[1])
+        date_object = date(year, month, day)
+        return date_object

-    def formatted_date(self, fmt: str='', **kwargs: t.Any) ->str:
+    def formatted_date(self, fmt: str = "", **kwargs: t.Any) -> str:
         """Generates random date as string.

         :param fmt: The format of date, if None then use standard
@@ -120,48 +153,70 @@ class Datetime(BaseDataProvider):
         :param kwargs: Keyword arguments for :meth:`~.date()`
         :return: Formatted date.
         """
-        pass
+        date_obj = self.date(**kwargs)
+
+        if not fmt:
+            fmt = self._extract(["formats", "date"])

-    def time(self) ->Time:
+        return date_obj.strftime(fmt)
+
+    def time(self) -> Time:
         """Generates a random time object.

         :return: ``datetime.time`` object.
         """
-        pass
-
-    def formatted_time(self, fmt: str='') ->str:
+        random_time = time(
+            self.random.randint(0, 23),
+            self.random.randint(0, 59),
+            self.random.randint(0, 59),
+            self.random.randint(0, 999999),
+        )
+        return random_time
+
+    def formatted_time(self, fmt: str = "") -> str:
         """Generates formatted time as string.

         :param fmt: The format of time, if None then use standard
             accepted in the current locale.
         :return: String formatted time.
         """
-        pass
+        time_obj = self.time()
+
+        if not fmt:
+            fmt = self._extract(["formats", "time"])
+        return time_obj.strftime(fmt)

-    def day_of_month(self) ->int:
+    def day_of_month(self) -> int:
         """Generates a random day of the month, from 1 to 31.

         :return: Random value from 1 to 31.
         """
-        pass
+        return self.random.randint(1, 31)

-    def timezone(self, region: (TimezoneRegion | None)=None) ->str:
+    def timezone(self, region: TimezoneRegion | None = None) -> str:
         """Generates a random timezone.

         :param region: Timezone region.
         :return: Timezone.
         """
-        pass
+        region_name = self.validate_enum(region, TimezoneRegion)
+        return self.random.choice(
+            [tz for tz in TIMEZONES if tz.startswith(region_name)]
+        )

-    def gmt_offset(self) ->str:
+    def gmt_offset(self) -> str:
         """Generates a random GMT offset value.

         :return: GMT Offset.
         """
-        pass
-
-    def datetime(self, start: int=_CURRENT_YEAR, end: int=_CURRENT_YEAR,
-        timezone: (str | None)=None) ->DateTime:
+        return self.random.choice(GMT_OFFSETS)
+
+    def datetime(
+        self,
+        start: int = _CURRENT_YEAR,
+        end: int = _CURRENT_YEAR,
+        timezone: str | None = None,
+    ) -> DateTime:
         """Generates random datetime.

         :param start: Minimum value of year.
@@ -169,19 +224,37 @@ class Datetime(BaseDataProvider):
         :param timezone: Set custom timezone (pytz required).
         :return: Datetime
         """
-        pass
-
-    def formatted_datetime(self, fmt: str='', **kwargs: t.Any) ->str:
+        datetime_obj = datetime.combine(
+            date=self.date(start, end),
+            time=self.time(),
+        )
+        if timezone:
+            if not pytz:
+                raise ImportError("Timezones are supported only with pytz")
+            tz = pytz.timezone(timezone)
+            datetime_obj = tz.localize(datetime_obj)
+
+        return datetime_obj
+
+    def formatted_datetime(self, fmt: str = "", **kwargs: t.Any) -> str:
         """Generates datetime string in human-readable format.

         :param fmt: Custom format (default is format for current locale)
         :param kwargs: Keyword arguments for :meth:`~.datetime()`
         :return: Formatted datetime string.
         """
-        pass
+        dt_obj = self.datetime(**kwargs)

-    def timestamp(self, fmt: TimestampFormat=TimestampFormat.POSIX, **
-        kwargs: t.Any) ->(str | int):
+        if not fmt:
+            date_fmt = self._extract(["formats", "date"])
+            time_fmt = self._extract(["formats", "time"])
+            fmt = f"{date_fmt} {time_fmt}"
+
+        return dt_obj.strftime(fmt)
+
+    def timestamp(
+        self, fmt: TimestampFormat = TimestampFormat.POSIX, **kwargs: t.Any
+    ) -> str | int:
         """Generates a random timestamp in given format.

         Supported formats are:
@@ -206,10 +279,22 @@ class Datetime(BaseDataProvider):
         :param kwargs: Kwargs for :meth:`~.datetime()`.
         :return: Timestamp.
         """
-        pass
-
-    def duration(self, min_duration: int=1, max_duration: int=10,
-        duration_unit: (DurationUnit | None)=DurationUnit.MINUTES) ->timedelta:
+        self.validate_enum(fmt, TimestampFormat)
+        stamp = self.datetime(**kwargs)
+
+        if fmt == TimestampFormat.RFC_3339:
+            return stamp.strftime("%Y-%m-%dT%H:%M:%SZ")
+        elif fmt == TimestampFormat.ISO_8601:
+            return stamp.isoformat()
+        else:
+            return int(stamp.timestamp())
+
+    def duration(
+        self,
+        min_duration: int = 1,
+        max_duration: int = 10,
+        duration_unit: DurationUnit | None = DurationUnit.MINUTES,
+    ) -> timedelta:
         """Generate a random duration.

         The default duration unit is Duration.MINUTES.
@@ -225,4 +310,11 @@ class Datetime(BaseDataProvider):
         :param duration_unit: Duration unit.
         :return: Duration as timedelta.
         """
-        pass
+        if min_duration > max_duration:
+            raise ValueError("min_duration must be less or equal to max_duration")
+
+        if not isinstance(min_duration, int) or not isinstance(max_duration, int):
+            raise TypeError("min_duration and max_duration must be integers")
+
+        unit = self.validate_enum(duration_unit, DurationUnit)
+        return timedelta(**{unit: self.random.randint(min_duration, max_duration)})
diff --git a/mimesis/providers/development.py b/mimesis/providers/development.py
index 4fe4f2b3..7134ea39 100644
--- a/mimesis/providers/development.py
+++ b/mimesis/providers/development.py
@@ -1,22 +1,30 @@
 """Data related to the development."""
+
 import typing as t
 from datetime import datetime
-from mimesis.datasets import LICENSES, OS, PROGRAMMING_LANGS, STAGES, SYSTEM_QUALITY_ATTRIBUTES
+
+from mimesis.datasets import (
+    LICENSES,
+    OS,
+    PROGRAMMING_LANGS,
+    STAGES,
+    SYSTEM_QUALITY_ATTRIBUTES,
+)
 from mimesis.providers.base import BaseProvider
-__all__ = ['Development']
+
+__all__ = ["Development"]


 class Development(BaseProvider):
     """Class for getting fake data for Developers."""

-    def __init__(self, *args: t.Any, **kwargs: t.Any) ->None:
+    def __init__(self, *args: t.Any, **kwargs: t.Any) -> None:
         super().__init__(*args, **kwargs)

-
     class Meta:
-        name = 'development'
+        name = "development"

-    def software_license(self) ->str:
+    def software_license(self) -> str:
         """Generates a random software license.

         :return: License name.
@@ -24,9 +32,9 @@ class Development(BaseProvider):
         :Example:
             The BSD 3-Clause License.
         """
-        pass
+        return self.random.choice(LICENSES)

-    def calver(self) ->str:
+    def calver(self) -> str:
         """Generates a random calendar versioning string.

         :return: Calendar versioning string.
@@ -34,9 +42,12 @@ class Development(BaseProvider):
         :Example:
             2016.11.08
         """
-        pass
+        year = self.random.randint(2016, datetime.now().year)
+        month = self.random.randint(1, 12)
+        day = self.random.randint(1, 29)
+        return f"{year}.{month}.{day}"

-    def version(self) ->str:
+    def version(self) -> str:
         """Generates a random semantic versioning string.

         :return: Semantic versioning string.
@@ -44,9 +55,10 @@ class Development(BaseProvider):
         :Example:
             0.2.1
         """
-        pass
+        major, minor, patch = self.random.randints(n=3, a=0, b=100)
+        return f"{major}.{minor}.{patch}"

-    def stage(self) ->str:
+    def stage(self) -> str:
         """Generates a random stage of development.

         :return: Release stage.
@@ -54,9 +66,9 @@ class Development(BaseProvider):
         :Example:
             Alpha.
         """
-        pass
+        return self.random.choice(STAGES)

-    def programming_language(self) ->str:
+    def programming_language(self) -> str:
         """Generates a random programming language from the list.

         :return: Programming language.
@@ -64,9 +76,9 @@ class Development(BaseProvider):
         :Example:
             Erlang.
         """
-        pass
+        return self.random.choice(PROGRAMMING_LANGS)

-    def os(self) ->str:
+    def os(self) -> str:
         """Generates a random operating system or distributive name.

         :return: The name of OS.
@@ -74,16 +86,16 @@ class Development(BaseProvider):
         :Example:
             Gentoo
         """
-        pass
+        return self.random.choice(OS)

-    def boolean(self) ->bool:
+    def boolean(self) -> bool:
         """Generates a random boolean value.

         :return: True of False.
         """
-        pass
+        return self.random.choice([True, False])

-    def system_quality_attribute(self) ->str:
+    def system_quality_attribute(self) -> str:
         """Generates a random system quality attribute.

         Within systems engineering, quality attributes are realized
@@ -93,11 +105,11 @@ class Development(BaseProvider):

         :return: System quality attribute.
         """
-        pass
+        return self.random.choice(SYSTEM_QUALITY_ATTRIBUTES)

-    def ility(self) ->str:
+    def ility(self) -> str:
         """Generates a random system quality attribute.

         An alias for :meth:`~mimesis.Development.system_quality_attribute`.
         """
-        pass
+        return self.system_quality_attribute()
diff --git a/mimesis/providers/file.py b/mimesis/providers/file.py
index d399cf9f..a81c4bdc 100644
--- a/mimesis/providers/file.py
+++ b/mimesis/providers/file.py
@@ -1,18 +1,19 @@
 """File data provider."""
+
 from mimesis.datasets import EXTENSIONS, FILENAMES, MIME_TYPES
 from mimesis.enums import FileType, MimeType
 from mimesis.providers.base import BaseProvider
-__all__ = ['File']
+
+__all__ = ["File"]


 class File(BaseProvider):
     """Class for generate data related to files."""

-
     class Meta:
-        name = 'file'
+        name = "file"

-    def extension(self, file_type: (FileType | None)=None) ->str:
+    def extension(self, file_type: FileType | None = None) -> str:
         """Generates a random file extension.

         :param file_type: Enum object FileType.
@@ -21,17 +22,21 @@ class File(BaseProvider):
         :Example:
             .py
         """
-        pass
+        key = self.validate_enum(item=file_type, enum=FileType)
+        extensions = EXTENSIONS[key]
+        return self.random.choice(extensions)

-    def mime_type(self, type_: (MimeType | None)=None) ->str:
+    def mime_type(self, type_: MimeType | None = None) -> str:
         """Generates a random mime type.

         :param type_: Enum object MimeType.
         :return: Mime type.
         """
-        pass
+        key = self.validate_enum(item=type_, enum=MimeType)
+        types = MIME_TYPES[key]
+        return self.random.choice(types)

-    def size(self, minimum: int=1, maximum: int=100) ->str:
+    def size(self, minimum: int = 1, maximum: int = 100) -> str:
         """Generates a random file size as string.

         :param minimum: Maximum value.
@@ -41,9 +46,11 @@ class File(BaseProvider):
         :Example:
             56 kB
         """
-        pass
+        num = self.random.randint(minimum, maximum)
+        unit = self.random.choice(["bytes", "kB", "MB", "GB", "TB"])
+        return f"{num} {unit}"

-    def file_name(self, file_type: (FileType | None)=None) ->str:
+    def file_name(self, file_type: FileType | None = None) -> str:
         """Generates a random file name with an extension.

         :param file_type: Enum object FileType
@@ -52,4 +59,6 @@ class File(BaseProvider):
         :Example:
             legislative.txt
         """
-        pass
+        ext = self.extension(file_type)
+        name = self.random.choice(FILENAMES)
+        return f"{name}{ext}"
diff --git a/mimesis/providers/finance.py b/mimesis/providers/finance.py
index 45e1b0bd..6bf0964d 100644
--- a/mimesis/providers/finance.py
+++ b/mimesis/providers/finance.py
@@ -1,103 +1,130 @@
 """Business data provider."""
-from mimesis.datasets import CRYPTOCURRENCY_ISO_CODES, CRYPTOCURRENCY_SYMBOLS, CURRENCY_ISO_CODES, CURRENCY_SYMBOLS, STOCK_EXCHANGES, STOCK_NAMES, STOCK_TICKERS
+
+from mimesis.datasets import (
+    CRYPTOCURRENCY_ISO_CODES,
+    CRYPTOCURRENCY_SYMBOLS,
+    CURRENCY_ISO_CODES,
+    CURRENCY_SYMBOLS,
+    STOCK_EXCHANGES,
+    STOCK_NAMES,
+    STOCK_TICKERS,
+)
 from mimesis.providers.base import BaseDataProvider
-__all__ = ['Finance']
+
+__all__ = ["Finance"]


 class Finance(BaseDataProvider):
     """Class to generate finance and business related data."""

-
     class Meta:
-        name = 'finance'
-        datafile = f'{name}.json'
+        name = "finance"
+        datafile = f"{name}.json"

-    def company(self) ->str:
+    def company(self) -> str:
         """Generates a random company name.

         :return: Company name.
         """
-        pass
+        names: list[str] = self._extract(["company", "name"])

-    def company_type(self, abbr: bool=False) ->str:
+        return self.random.choice(names)
+
+    def company_type(self, abbr: bool = False) -> str:
         """Generates a random type of business entity.

         :param abbr: Abbreviated company type.
         :return: Types of business entity.
         """
-        pass
+        key = "abbr" if abbr else "title"
+
+        company_types: list[str] = self._extract(["company", "type", key])
+        return self.random.choice(company_types)

-    def currency_iso_code(self, allow_random: bool=False) ->str:
+    def currency_iso_code(self, allow_random: bool = False) -> str:
         """Returns a currency code for current locale.

         :param allow_random: Get a random ISO code.
         :return: Currency code.
         """
-        pass
+        code: str = self._extract(["currency-code"])
+
+        if allow_random:
+            return self.random.choice(CURRENCY_ISO_CODES)
+        return code

-    def bank(self) ->str:
+    def bank(self) -> str:
         """Generates a random bank name.

         :return: Bank name.
         """
-        pass
+        banks: list[str] = self._extract(["banks"])
+        return self.random.choice(banks)

-    def cryptocurrency_iso_code(self) ->str:
+    def cryptocurrency_iso_code(self) -> str:
         """Generates a random cryptocurrency ISO code.

         :return: Symbol of cryptocurrency.
         """
-        pass
+        return self.random.choice(CRYPTOCURRENCY_ISO_CODES)

-    def currency_symbol(self) ->str:
+    def currency_symbol(self) -> str:
         """Returns a currency symbol for current locale.

         :return: Currency symbol.
         """
-        pass
+        return CURRENCY_SYMBOLS[self.locale]

-    def cryptocurrency_symbol(self) ->str:
+    def cryptocurrency_symbol(self) -> str:
         """Get a cryptocurrency symbol.

         :return: Symbol of cryptocurrency.
         """
-        pass
+        return self.random.choice(CRYPTOCURRENCY_SYMBOLS)

-    def price(self, minimum: float=500, maximum: float=1500) ->float:
+    def price(self, minimum: float = 500, maximum: float = 1500) -> float:
         """Generate a random price.

         :param minimum: Minimum value of price.
         :param maximum: Maximum value of price.
         :return: Price.
         """
-        pass
+        return self.random.uniform(
+            minimum,
+            maximum,
+            precision=2,
+        )

-    def price_in_btc(self, minimum: float=0, maximum: float=2) ->float:
+    def price_in_btc(self, minimum: float = 0, maximum: float = 2) -> float:
         """Generates a random price in BTC.

         :param minimum: Minimum value of price.
         :param maximum: Maximum value of price.
         :return: Price in BTC.
         """
-        pass
+        return self.random.uniform(
+            minimum,
+            maximum,
+            precision=7,
+        )

-    def stock_ticker(self) ->str:
+    def stock_ticker(self) -> str:
         """Generates a random stock ticker.

         :return: Ticker.
         """
-        pass
+        return self.random.choice(STOCK_TICKERS)

-    def stock_name(self) ->str:
+    def stock_name(self) -> str:
         """Generates a stock name.

         :return: Stock name.
         """
-        pass
+        return self.random.choice(STOCK_NAMES)

-    def stock_exchange(self) ->str:
+    def stock_exchange(self) -> str:
         """Generates a stock exchange name.

         :return: Returns exchange name.
         """
-        pass
+        return self.random.choice(STOCK_EXCHANGES)
diff --git a/mimesis/providers/food.py b/mimesis/providers/food.py
index f38462e6..d3fc96d7 100644
--- a/mimesis/providers/food.py
+++ b/mimesis/providers/food.py
@@ -1,21 +1,23 @@
 """Provides data related to food."""
+
 from mimesis.providers.base import BaseDataProvider
-__all__ = ['Food']
+
+__all__ = ["Food"]


 class Food(BaseDataProvider):
     """Class for generating data related to food."""

-
     class Meta:
-        name = 'food'
-        datafile = f'{name}.json'
+        name = "food"
+        datafile = f"{name}.json"

-    def _choice_from(self, key: str) ->str:
+    def _choice_from(self, key: str) -> str:
         """Choice random element."""
-        pass
+        data: list[str] = self._extract([key])
+        return self.random.choice(data)

-    def vegetable(self) ->str:
+    def vegetable(self) -> str:
         """Generates a random vegetable name.

         :return: Vegetable name.
@@ -23,9 +25,9 @@ class Food(BaseDataProvider):
         :Example:
             Tomato.
         """
-        pass
+        return self._choice_from("vegetables")

-    def fruit(self) ->str:
+    def fruit(self) -> str:
         """Generates a random fruit or berry name.

         :return: Fruit name.
@@ -33,9 +35,9 @@ class Food(BaseDataProvider):
         :Example:
             Banana.
         """
-        pass
+        return self._choice_from("fruits")

-    def dish(self) ->str:
+    def dish(self) -> str:
         """Generates a random dish name.

         :return: Dish name.
@@ -43,9 +45,9 @@ class Food(BaseDataProvider):
         :Example:
             Ratatouille.
         """
-        pass
+        return self._choice_from("dishes")

-    def spices(self) ->str:
+    def spices(self) -> str:
         """Generates a random spices/herb name.

         :return: The name of the spices or herbs.
@@ -53,9 +55,9 @@ class Food(BaseDataProvider):
         :Example:
             Anise.
         """
-        pass
+        return self._choice_from("spices")

-    def drink(self) ->str:
+    def drink(self) -> str:
         """Generates a random drink name.

         :return: Drink name.
@@ -63,4 +65,4 @@ class Food(BaseDataProvider):
         :Example:
             Vodka.
         """
-        pass
+        return self._choice_from("drinks")
diff --git a/mimesis/providers/generic.py b/mimesis/providers/generic.py
index 778f8ac9..9abff3f6 100644
--- a/mimesis/providers/generic.py
+++ b/mimesis/providers/generic.py
@@ -1,68 +1,101 @@
 """Provides all at one."""
+
 import importlib
 import inspect
 import typing as t
+
 from mimesis.locales import Locale
 from mimesis.providers.base import BaseDataProvider, BaseProvider
 from mimesis.types import MissingSeed, Seed
-__all__ = ['Generic']
-DEFAULT_PROVIDERS: tuple[str, ...] = ('Address', 'BinaryFile', 'Finance',
-    'Choice', 'Code', 'Datetime', 'Development', 'File', 'Food', 'Hardware',
-    'Internet', 'Numeric', 'Path', 'Payment', 'Person', 'Science', 'Text',
-    'Transport', 'Cryptographic')
+
+__all__ = ["Generic"]
+
+DEFAULT_PROVIDERS: tuple[str, ...] = (
+    "Address",
+    "BinaryFile",
+    "Finance",
+    "Choice",
+    "Code",
+    "Datetime",
+    "Development",
+    "File",
+    "Food",
+    "Hardware",
+    "Internet",
+    "Numeric",
+    "Path",
+    "Payment",
+    "Person",
+    "Science",
+    "Text",
+    "Transport",
+    "Cryptographic",
+)


 class Generic(BaseProvider):
     """Class which contain all providers at one."""

-    def __init__(self, locale: Locale=Locale.DEFAULT, seed: Seed=MissingSeed
-        ) ->None:
+    def __init__(
+        self,
+        locale: Locale = Locale.DEFAULT,
+        seed: Seed = MissingSeed,
+    ) -> None:
         """Initialize attributes lazily."""
         super().__init__(seed=seed)
         self.locale = locale
+
         for provider in DEFAULT_PROVIDERS:
-            module = importlib.import_module('mimesis.providers')
+            module = importlib.import_module("mimesis.providers")
             provider = getattr(module, provider)
-            name = getattr(provider.Meta, 'name')
+            name = getattr(provider.Meta, "name")  # type: ignore
+
+            # Check if a provider is locale-dependent.
             if issubclass(provider, BaseDataProvider):
-                setattr(self, f'_{name}', provider)
+                setattr(self, f"_{name}", provider)
             elif issubclass(provider, BaseProvider):
                 setattr(self, name, provider(seed=self.seed))

-
     class Meta:
         """Class for metadata."""
-        name: t.Final[str] = 'generic'

-    def __getattr__(self, attrname: str) ->t.Any:
+        name: t.Final[str] = "generic"
+
+    def __getattr__(self, attrname: str) -> t.Any:
         """Get attribute without an underscore.

         :param attrname: Attribute name.
         :return: An attribute.
         """
-        attribute = object.__getattribute__(self, '_' + attrname)
+        attribute = object.__getattribute__(self, "_" + attrname)
         if attribute and callable(attribute):
-            self.__dict__[attrname] = attribute(self.locale, self.seed)
+            self.__dict__[attrname] = attribute(
+                self.locale,
+                self.seed,
+            )
             return self.__dict__[attrname]

-    def __dir__(self) ->list[str]:
+    def __dir__(self) -> list[str]:
         """Available data providers.

         :return: List of attributes.
         """
         attributes = []
         exclude = list(BaseProvider().__dict__.keys())
-        exclude.append('locale')
+        # Exclude locale explicitly because
+        # it is not a provider.
+        exclude.append("locale")
+
         for attr in self.__dict__:
             if attr not in exclude:
-                if attr.startswith('_'):
-                    attribute = attr.replace('_', '', 1)
+                if attr.startswith("_"):
+                    attribute = attr.replace("_", "", 1)
                     attributes.append(attribute)
                 else:
                     attributes.append(attr)
         return attributes

-    def reseed(self, seed: Seed=MissingSeed) ->None:
+    def reseed(self, seed: Seed = MissingSeed) -> None:
         """Reseed the internal random generator.

         Overrides method `BaseProvider.reseed()`.
@@ -70,9 +103,17 @@ class Generic(BaseProvider):
         :param seed: Seed for random.
         :return: None.
         """
-        pass
+        # Make sure to reseed the random generator on Generic itself.
+        super().reseed(seed)
+
+        for attr in self.__dir__():
+            try:
+                provider = getattr(self, attr)
+                provider.reseed(seed)
+            except AttributeError:
+                continue

-    def add_provider(self, cls: t.Type[BaseProvider], **kwargs: t.Any) ->None:
+    def add_provider(self, cls: t.Type[BaseProvider], **kwargs: t.Any) -> None:
         """Adds a custom provider to a Generic() object.

         :param cls: Custom provider.
@@ -81,9 +122,29 @@ class Generic(BaseProvider):
             class or is not a subclass of BaseProvider.
         :return: Absolutely none.
         """
-        pass

-    def add_providers(self, *providers: t.Type[BaseProvider]) ->None:
+        if inspect.isclass(cls):
+            if not issubclass(cls, BaseProvider):
+                raise TypeError(
+                    "The provider must be a "
+                    "subclass of mimesis.providers.BaseProvider"
+                )
+            try:
+                name = cls.Meta.name
+            except AttributeError:
+                name = cls.__name__.lower()
+
+            # Enforce the same seed is used across all providers.
+            kwargs.pop("seed", None)
+
+            instance = cls(seed=self.seed, **kwargs)
+            if isinstance(instance, Generic):
+                raise TypeError("Cannot add Generic instance to itself.")
+            setattr(self, name, instance)
+        else:
+            raise TypeError("The provider must be a class")
+
+    def add_providers(self, *providers: t.Type[BaseProvider]) -> None:
         """Adds multiple custom providers to a Generic() object.

         This method is a convenience method for adding multiple providers
@@ -105,9 +166,10 @@ class Generic(BaseProvider):
         :param providers: Custom providers.
         :return: None
         """
-        pass
+        for provider in providers:
+            self.add_provider(provider)

-    def __iadd__(self, other: t.Type[BaseProvider]) ->'Generic':
+    def __iadd__(self, other: t.Type[BaseProvider]) -> "Generic":
         """Adds a custom provider to a Generic() object.

         :param other: Custom provider.
@@ -118,6 +180,6 @@ class Generic(BaseProvider):
         self.add_provider(other)
         return self

-    def __str__(self) ->str:
+    def __str__(self) -> str:
         """Human-readable representation of locale."""
-        return f'{self.__class__.__name__} <{self.locale}>'
+        return f"{self.__class__.__name__} <{self.locale}>"
diff --git a/mimesis/providers/hardware.py b/mimesis/providers/hardware.py
index 75c5136f..22dd1e1e 100644
--- a/mimesis/providers/hardware.py
+++ b/mimesis/providers/hardware.py
@@ -1,18 +1,32 @@
 """Provides data related to hardware."""
-from mimesis.datasets import CPU, CPU_CODENAMES, GENERATION, GRAPHICS, HDD_SSD, MANUFACTURERS, PHONE_MODELS, RAM_SIZES, RAM_TYPES, RESOLUTIONS, SCREEN_SIZES
+
+from mimesis.datasets import (
+    CPU,
+    CPU_CODENAMES,
+    GENERATION,
+    GRAPHICS,
+    HDD_SSD,
+    MANUFACTURERS,
+    PHONE_MODELS,
+    RAM_SIZES,
+    RAM_TYPES,
+    RESOLUTIONS,
+    SCREEN_SIZES,
+)
 from mimesis.providers.base import BaseProvider
-__all__ = ['Hardware']
+
+__all__ = ["Hardware"]


 class Hardware(BaseProvider):
     """Class for generate data related to hardware."""

-
     class Meta:
         """Class for metadata."""
-        name = 'hardware'

-    def resolution(self) ->str:
+        name = "hardware"
+
+    def resolution(self) -> str:
         """Generates a random screen resolution.

         :return: Resolution of screen.
@@ -20,9 +34,9 @@ class Hardware(BaseProvider):
         :Example:
             1280x720.
         """
-        pass
+        return self.random.choice(RESOLUTIONS)

-    def screen_size(self) ->str:
+    def screen_size(self) -> str:
         """Generates a random size of screen in inch.

         :return: Screen size.
@@ -30,9 +44,9 @@ class Hardware(BaseProvider):
         :Example:
             13″.
         """
-        pass
+        return self.random.choice(SCREEN_SIZES)

-    def cpu(self) ->str:
+    def cpu(self) -> str:
         """Generates a random CPU name.

         :return: CPU name.
@@ -40,9 +54,9 @@ class Hardware(BaseProvider):
         :Example:
             Intel® Core i7.
         """
-        pass
+        return self.random.choice(CPU)

-    def cpu_frequency(self) ->str:
+    def cpu_frequency(self) -> str:
         """Generates a random frequency of CPU.

         :return: Frequency of CPU.
@@ -50,9 +64,10 @@ class Hardware(BaseProvider):
         :Example:
             4.0 GHz.
         """
-        pass
+        frequency = self.random.uniform(a=1.5, b=4.3, precision=1)
+        return f"{frequency}GHz"

-    def generation(self) ->str:
+    def generation(self) -> str:
         """Generates a random generation.

         :return: Generation of something.
@@ -60,9 +75,9 @@ class Hardware(BaseProvider):
         :Example:
              6th Generation.
         """
-        pass
+        return self.random.choice(GENERATION)

-    def cpu_codename(self) ->str:
+    def cpu_codename(self) -> str:
         """Generates a random CPU code name.

         :return: CPU code name.
@@ -70,9 +85,9 @@ class Hardware(BaseProvider):
         :Example:
             Cannonlake.
         """
-        pass
+        return self.random.choice(CPU_CODENAMES)

-    def ram_type(self) ->str:
+    def ram_type(self) -> str:
         """Generates a random RAM type.

         :return: Type of RAM.
@@ -80,9 +95,9 @@ class Hardware(BaseProvider):
         :Example:
             DDR3.
         """
-        pass
+        return self.random.choice(RAM_TYPES)

-    def ram_size(self) ->str:
+    def ram_size(self) -> str:
         """Generates a random size of RAM.

         :return: RAM size.
@@ -90,9 +105,9 @@ class Hardware(BaseProvider):
         :Example:
             16GB.
         """
-        pass
+        return self.random.choice(RAM_SIZES)

-    def ssd_or_hdd(self) ->str:
+    def ssd_or_hdd(self) -> str:
         """Generates a random type of disk.

         :return: HDD or SSD.
@@ -100,9 +115,9 @@ class Hardware(BaseProvider):
         :Example:
             512GB SSD.
         """
-        pass
+        return self.random.choice(HDD_SSD)

-    def graphics(self) ->str:
+    def graphics(self) -> str:
         """Generates a random graphics card name.

         :return: Graphics.
@@ -110,9 +125,9 @@ class Hardware(BaseProvider):
         :Example:
             Intel® Iris™ Pro Graphics 6200.
         """
-        pass
+        return self.random.choice(GRAPHICS)

-    def manufacturer(self) ->str:
+    def manufacturer(self) -> str:
         """Generates a random manufacturer of hardware.

         :return: Manufacturer.
@@ -120,9 +135,9 @@ class Hardware(BaseProvider):
         :Example:
             Dell.
         """
-        pass
+        return self.random.choice(MANUFACTURERS)

-    def phone_model(self) ->str:
+    def phone_model(self) -> str:
         """Generates a random phone model.

         :return: Phone model.
@@ -130,4 +145,4 @@ class Hardware(BaseProvider):
         :Example:
             Nokia Lumia 920.
         """
-        pass
+        return self.random.choice(PHONE_MODELS)
diff --git a/mimesis/providers/internet.py b/mimesis/providers/internet.py
index df831f68..3dfd97f0 100644
--- a/mimesis/providers/internet.py
+++ b/mimesis/providers/internet.py
@@ -1,44 +1,79 @@
 """Provides data related to internet."""
+
 import typing as t
 import urllib.error
 import urllib.parse
 import urllib.request
 from base64 import b64encode
 from ipaddress import IPv4Address, IPv6Address
-from mimesis.datasets import CONTENT_ENCODING_DIRECTIVES, CORS_OPENER_POLICIES, CORS_RESOURCE_POLICIES, HTTP_METHODS, HTTP_SERVERS, HTTP_STATUS_CODES, HTTP_STATUS_MSGS, PUBLIC_DNS, TLD, USER_AGENTS, USERNAMES
-from mimesis.enums import DSNType, Locale, MimeType, PortRange, TLDType, URLScheme
+
+from mimesis.datasets import (
+    CONTENT_ENCODING_DIRECTIVES,
+    CORS_OPENER_POLICIES,
+    CORS_RESOURCE_POLICIES,
+    HTTP_METHODS,
+    HTTP_SERVERS,
+    HTTP_STATUS_CODES,
+    HTTP_STATUS_MSGS,
+    PUBLIC_DNS,
+    TLD,
+    USER_AGENTS,
+    USERNAMES,
+)
+from mimesis.enums import (
+    DSNType,
+    Locale,
+    MimeType,
+    PortRange,
+    TLDType,
+    URLScheme,
+)
 from mimesis.providers.base import BaseProvider
 from mimesis.providers.code import Code
 from mimesis.providers.date import Datetime
 from mimesis.providers.file import File
 from mimesis.providers.text import Text
 from mimesis.types import Keywords
-__all__ = ['Internet']
+
+__all__ = ["Internet"]


 class Internet(BaseProvider):
     """Class for generating data related to the internet."""
-    _MAX_IPV4: t.Final[int] = 2 ** 32 - 1
-    _MAX_IPV6: t.Final[int] = 2 ** 128 - 1

-    def __init__(self, *args: t.Any, **kwargs: t.Any) ->None:
+    _MAX_IPV4: t.Final[int] = (2**32) - 1
+    _MAX_IPV6: t.Final[int] = (2**128) - 1
+
+    def __init__(self, *args: t.Any, **kwargs: t.Any) -> None:
         """Initialize attributes.

         :param args: Arguments.
         :param kwargs: Keyword arguments.
         """
         super().__init__(*args, **kwargs)
-        self._file = File(seed=self.seed, random=self.random)
-        self._code = Code(seed=self.seed, random=self.random)
-        self._text = Text(locale=Locale.EN, seed=self.seed, random=self.random)
-        self._datetime = Datetime(locale=Locale.EN, seed=self.seed, random=
-            self.random)
-
+        self._file = File(
+            seed=self.seed,
+            random=self.random,
+        )
+        self._code = Code(
+            seed=self.seed,
+            random=self.random,
+        )
+        self._text = Text(
+            locale=Locale.EN,
+            seed=self.seed,
+            random=self.random,
+        )
+        self._datetime = Datetime(
+            locale=Locale.EN,
+            seed=self.seed,
+            random=self.random,
+        )

     class Meta:
-        name = 'internet'
+        name = "internet"

-    def content_type(self, mime_type: (MimeType | None)=None) ->str:
+    def content_type(self, mime_type: MimeType | None = None) -> str:
         """Generates a random HTTP content type.

         :return: Content type.
@@ -46,17 +81,19 @@ class Internet(BaseProvider):
         :Example:
             application/json
         """
-        pass
+        return self._file.mime_type(type_=mime_type)

-    def dsn(self, dsn_type: (DSNType | None)=None, **kwargs: t.Any) ->str:
+    def dsn(self, dsn_type: DSNType | None = None, **kwargs: t.Any) -> str:
         """Generates a random DSN (Data Source Name).

         :param dsn_type: DSN type.
         :param kwargs: Additional keyword-arguments for hostname method.
         """
-        pass
+        hostname = self.hostname(**kwargs)
+        scheme, port = self.validate_enum(dsn_type, DSNType)
+        return f"{scheme}://{hostname}:{port}"

-    def http_status_message(self) ->str:
+    def http_status_message(self) -> str:
         """Generates a random HTTP status message.

         :return: HTTP status message.
@@ -64,9 +101,9 @@ class Internet(BaseProvider):
         :Example:
             200 OK
         """
-        pass
+        return self.random.choice(HTTP_STATUS_MSGS)

-    def http_status_code(self) ->int:
+    def http_status_code(self) -> int:
         """Generates a random HTTP status code.

         :return: HTTP status.
@@ -74,9 +111,9 @@ class Internet(BaseProvider):
         :Example:
             200
         """
-        pass
+        return self.random.choice(HTTP_STATUS_CODES)

-    def http_method(self) ->str:
+    def http_method(self) -> str:
         """Generates a random HTTP method.

         :return: HTTP method.
@@ -84,16 +121,18 @@ class Internet(BaseProvider):
         :Example:
             POST
         """
-        pass
+        return self.random.choice(HTTP_METHODS)

-    def ip_v4_object(self) ->IPv4Address:
+    def ip_v4_object(self) -> IPv4Address:
         """Generates a random :py:class:`ipaddress.IPv4Address` object.

         :return: :py:class:`ipaddress.IPv4Address` object.
         """
-        pass
+        return IPv4Address(
+            self.random.randint(0, self._MAX_IPV4),
+        )

-    def ip_v4_with_port(self, port_range: PortRange=PortRange.ALL) ->str:
+    def ip_v4_with_port(self, port_range: PortRange = PortRange.ALL) -> str:
         """Generates a random IPv4 address as string.

         :param port_range: PortRange enum object.
@@ -102,24 +141,31 @@ class Internet(BaseProvider):
         :Example:
             19.121.223.58:8000
         """
-        pass
+        addr = self.ip_v4()
+        port = self.port(port_range)
+        return f"{addr}:{port}"

-    def ip_v4(self) ->str:
+    def ip_v4(self) -> str:
         """Generates a random IPv4 address as string.

         :Example:
             19.121.223.58
         """
-        pass
+        return str(self.ip_v4_object())

-    def ip_v6_object(self) ->IPv6Address:
+    def ip_v6_object(self) -> IPv6Address:
         """Generates random :py:class:`ipaddress.IPv6Address` object.

         :return: :py:class:`ipaddress.IPv6Address` object.
         """
-        pass
-
-    def ip_v6(self) ->str:
+        return IPv6Address(
+            self.random.randint(
+                0,
+                self._MAX_IPV6,
+            ),
+        )
+
+    def ip_v6(self) -> str:
         """Generates a random IPv6 address as string.

         :return: IPv6 address string.
@@ -127,9 +173,9 @@ class Internet(BaseProvider):
         :Example:
             2001:c244:cf9d:1fb1:c56d:f52c:8a04:94f3
         """
-        pass
+        return str(self.ip_v6_object())

-    def mac_address(self) ->str:
+    def mac_address(self) -> str:
         """Generates a random MAC address.

         :return: Random MAC address.
@@ -137,11 +183,23 @@ class Internet(BaseProvider):
         :Example:
             00:16:3e:25:e7:f1
         """
-        pass
+        mac_hex = [
+            0x00,
+            0x16,
+            0x3E,
+            self.random.randint(0x00, 0x7F),
+            self.random.randint(0x00, 0xFF),
+            self.random.randint(0x00, 0xFF),
+        ]
+        mac = [f"{x:02x}" for x in mac_hex]
+        return ":".join(mac)

     @staticmethod
-    def stock_image_url(width: (int | str)=1920, height: (int | str)=1080,
-        keywords: (Keywords | None)=None) ->str:
+    def stock_image_url(
+        width: int | str = 1920,
+        height: int | str = 1080,
+        keywords: Keywords | None = None,
+    ) -> str:
         """Generates a random stock image URL hosted on Unsplash.

         See «Random search term» on https://source.unsplash.com/
@@ -152,21 +210,40 @@ class Internet(BaseProvider):
         :param keywords: Sequence of search keywords.
         :return: URL of the image.
         """
-        pass
-
-    def hostname(self, tld_type: (TLDType | None)=None, subdomains: (list[
-        str] | None)=None) ->str:
+        if keywords is not None:
+            keywords_str = ",".join(keywords)
+        else:
+            keywords_str = ""
+
+        return f"https://source.unsplash.com/{width}x{height}?{keywords_str}"
+
+    def hostname(
+        self,
+        tld_type: TLDType | None = None,
+        subdomains: list[str] | None = None,
+    ) -> str:
         """Generates a random hostname without a scheme.

         :param tld_type: TLDType.
         :param subdomains: List of subdomains (make sure they are valid).
         :return: Hostname.
         """
-        pass
-
-    def url(self, scheme: (URLScheme | None)=URLScheme.HTTPS, port_range: (
-        PortRange | None)=None, tld_type: (TLDType | None)=None, subdomains:
-        (list[str] | None)=None) ->str:
+        tld = self.tld(tld_type=tld_type)
+        host = self.random.choice(USERNAMES)
+
+        if subdomains:
+            subdomain = self.random.choice(subdomains)
+            host = f"{subdomain}.{host}"
+
+        return f"{host}{tld}"
+
+    def url(
+        self,
+        scheme: URLScheme | None = URLScheme.HTTPS,
+        port_range: PortRange | None = None,
+        tld_type: TLDType | None = None,
+        subdomains: list[str] | None = None,
+    ) -> str:
         """Generates a random URL.

         :param scheme: The scheme.
@@ -175,11 +252,23 @@ class Internet(BaseProvider):
         :param subdomains: List of subdomains (make sure they are valid).
         :return: URL.
         """
-        pass
+        host = self.hostname(tld_type, subdomains)
+        url_scheme = self.validate_enum(scheme, URLScheme)
+
+        url = f"{url_scheme}://{host}"
+
+        if port_range is not None:
+            url = f"{url}:{self.port(port_range)}"

-    def uri(self, scheme: (URLScheme | None)=URLScheme.HTTPS, tld_type: (
-        TLDType | None)=None, subdomains: (list[str] | None)=None,
-        query_params_count: (int | None)=None) ->str:
+        return f"{url}/"
+
+    def uri(
+        self,
+        scheme: URLScheme | None = URLScheme.HTTPS,
+        tld_type: TLDType | None = None,
+        subdomains: list[str] | None = None,
+        query_params_count: int | None = None,
+    ) -> str:
         """Generates a random URI.

         :param scheme: Scheme.
@@ -188,41 +277,68 @@ class Internet(BaseProvider):
         :param query_params_count: Query params.
         :return: URI.
         """
-        pass
+        directory = (
+            self._datetime.date(start=2010, end=self._datetime._CURRENT_YEAR)
+            .strftime("%Y-%m-%d")
+            .replace("-", "/")
+        )
+        url = self.url(scheme, None, tld_type, subdomains)
+        uri = f"{url}{directory}/{self.slug()}"
+
+        if query_params_count:
+            uri += f"?{self.query_string(query_params_count)}"
+
+        return uri

-    def query_string(self, length: (int | None)=None) ->str:
+    def query_string(self, length: int | None = None) -> str:
         """Generates an arbitrary query string of given length.

         :param length: Length of query string.
         :return: Query string.
         """
-        pass
+        return urllib.parse.urlencode(self.query_parameters(length))

-    def query_parameters(self, length: (int | None)=None) ->dict[str, str]:
+    def query_parameters(self, length: int | None = None) -> dict[str, str]:
         """Generates an arbitrary query parameters as a dict.

         :param length: Length of query parameters dictionary (maximum is 32).
         :return: Dict of query parameters.
         """
-        pass

-    def top_level_domain(self, tld_type: TLDType=TLDType.CCTLD) ->str:
+        def pick_unique_words(quantity: int = 5) -> list[str]:
+            words: set[str] = set()
+
+            while len(words) != quantity:
+                words.add(self._text.word())
+
+            return list(words)
+
+        if not length:
+            length = self.random.randint(1, 10)
+
+        if length > 32:
+            raise ValueError("Maximum allowed length of query parameters is 32.")
+
+        return dict(zip(pick_unique_words(length), self._text.words(length)))
+
+    def top_level_domain(self, tld_type: TLDType = TLDType.CCTLD) -> str:
         """Generates random top level domain.

         :param tld_type: Enum object :class:`enums.TLDType`
         :return: Top level domain.
         :raises NonEnumerableError: if tld_type not in :class:`enums.TLDType`.
         """
-        pass
+        key = self.validate_enum(item=tld_type, enum=TLDType)
+        return self.random.choice(TLD[key])

-    def tld(self, *args: t.Any, **kwargs: t.Any) ->str:
+    def tld(self, *args: t.Any, **kwargs: t.Any) -> str:
         """Generates a random TLD.

         An alias for :meth:`top_level_domain`
         """
-        pass
+        return self.top_level_domain(*args, **kwargs)

-    def user_agent(self) ->str:
+    def user_agent(self) -> str:
         """Get a random user agent.

         :return: User agent.
@@ -231,9 +347,9 @@ class Internet(BaseProvider):
             Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0)
             Gecko/20100101 Firefox/15.0.1
         """
-        pass
+        return self.random.choice(USER_AGENTS)

-    def port(self, port_range: PortRange=PortRange.ALL) ->int:
+    def port(self, port_range: PortRange = PortRange.ALL) -> int:
         """Generates a random port.

         :param port_range: PortRange enum object.
@@ -243,34 +359,46 @@ class Internet(BaseProvider):
         :Example:
             8080
         """
-        pass

-    def path(self, *args: t.Any, **kwargs: t.Any) ->str:
+        rng = self.validate_enum(port_range, PortRange)
+        return self.random.randint(*rng)
+
+    def path(self, *args: t.Any, **kwargs: t.Any) -> str:
         """Generates a random path.

         :param args: Arguments to pass to :meth:`slug`.
         :param kwargs: Keyword arguments to pass to :meth:`slug`.
         :return: Path.
         """
-        pass
+        return self.slug(*args, **kwargs).replace("-", "/")

-    def slug(self, parts_count: (int | None)=None) ->str:
+    def slug(self, parts_count: int | None = None) -> str:
         """Generates a random slug of given parts count.

         :param parts_count: Slug's parts count.
         :return: Slug.
         """
-        pass

-    def public_dns(self) ->str:
+        if not parts_count:
+            parts_count = self.random.randint(2, 12)
+
+        if parts_count > 12:
+            raise ValueError("Slug's parts count must be <= 12")
+
+        if parts_count < 2:
+            raise ValueError("Slug must contain more than 2 parts")
+
+        return "-".join(self._text.words(parts_count))
+
+    def public_dns(self) -> str:
         """Generates a random public DNS.

         :Example:
             1.1.1.1
         """
-        pass
+        return self.random.choice(PUBLIC_DNS)

-    def http_response_headers(self) ->dict[str, t.Any]:
+    def http_response_headers(self) -> dict[str, t.Any]:
         """Generates a random HTTP response headers.

         The following headers are included:
@@ -295,9 +423,42 @@ class Internet(BaseProvider):

         :return: Response headers as dict.
         """
-        pass
-
-    def http_request_headers(self) ->dict[str, t.Any]:
+        max_age = self.random.randint(0, 60 * 60 * 15)
+        cookie_attributes = [
+            "Secure",
+            "HttpOnly",
+            "SameSite=Lax",
+            "SameSite=Strict",
+            f"Max-Age={max_age}",
+            f"Domain={self.hostname()}",
+        ]
+        k, v = self._text.words(quantity=2)
+        cookie_attr = self.random.choice(cookie_attributes)
+        csrf_token = b64encode(self.random.randbytes(n=32)).decode()
+        cookie_value = f"csrftoken={csrf_token}; {k}={v}; {cookie_attr}"
+
+        headers = {
+            "Allow": "*",
+            "Age": max_age,
+            "Server": self.random.choice(HTTP_SERVERS),
+            "Content-Type": self._file.mime_type(),
+            "X-Request-ID": self.random.randbytes(16).hex(),
+            "Content-Language": self._code.locale_code(),
+            "Content-Location": self.path(parts_count=4),
+            "Set-Cookie": cookie_value,
+            "Upgrade-Insecure-Requests": 1,
+            "X-Content-Type-Options": "nosniff",
+            "X-XSS-Protection": 1,
+            "Connection": self.random.choice(["close", "keep-alive"]),
+            "X-Frame-Options": self.random.choice(["DENY", "SAMEORIGIN"]),
+            "Content-Encoding": self.random.choice(CONTENT_ENCODING_DIRECTIVES),
+            "Cross-Origin-Opener-Policy": self.random.choice(CORS_OPENER_POLICIES),
+            "Cross-Origin-Resource-Policy": self.random.choice(CORS_RESOURCE_POLICIES),
+            "Strict-Transport-Security": f"max-age={max_age}",
+        }
+        return headers
+
+    def http_request_headers(self) -> dict[str, t.Any]:
         """Generates a random HTTP request headers.

         The following headers are included:
@@ -317,4 +478,41 @@ class Internet(BaseProvider):

         :return: Request headers as dict.
         """
-        pass
+        k, v = self._text.words(quantity=2)
+        max_age = self.random.randint(0, 60 * 60 * 15)
+        token = b64encode(self.random.randbytes(64)).hex()
+        csrf_token = b64encode(self.random.randbytes(n=32)).decode()
+        headers = {
+            "Referer": self.uri(),
+            "Authorization": f"Bearer {token}",
+            "Cookie": f"csrftoken={csrf_token}; {k}={v}",
+            "User-Agent": self.user_agent(),
+            "X-CSRF-Token": b64encode(self.random.randbytes(32)).hex(),
+            "Content-Type": self._file.mime_type(),
+            "Content-Length": self.random.randint(0, 10000),
+            "Connection": self.random.choice(["close", "keep-alive"]),
+            "Cache-Control": self.random.choice(
+                [
+                    "no-cache",
+                    "no-store",
+                    "must-revalidate",
+                    "public",
+                    "private",
+                    f"max-age={max_age}",
+                ]
+            ),
+            "Accept": self.random.choice(
+                [
+                    "*/*",
+                    self._file.mime_type(),
+                ]
+            ),
+            "Host": self.hostname(),
+            "Accept-Language": self.random.choice(
+                [
+                    "*",
+                    self._code.locale_code(),
+                ]
+            ),
+        }
+        return headers
diff --git a/mimesis/providers/numeric.py b/mimesis/providers/numeric.py
index 7d632c7e..ea5a6e1a 100644
--- a/mimesis/providers/numeric.py
+++ b/mimesis/providers/numeric.py
@@ -1,26 +1,28 @@
 """Provides data related to numbers."""
+
 import typing as t
 from collections import defaultdict
 from decimal import Decimal
+
 from mimesis.enums import NumType
 from mimesis.providers.base import BaseProvider
 from mimesis.types import Matrix
-__all__ = ['Numeric']
+
+__all__ = ["Numeric"]


 class Numeric(BaseProvider):
     """A provider for generating numeric data."""

-    def __init__(self, *args: t.Any, **kwargs: t.Any) ->None:
+    def __init__(self, *args: t.Any, **kwargs: t.Any) -> None:
         super().__init__(*args, **kwargs)
         self.__increment_dict: t.DefaultDict[str, int] = defaultdict(int)
-        self.__default_accumulator_value: t.Final[str] = 'default'
-
+        self.__default_accumulator_value: t.Final[str] = "default"

     class Meta:
-        name = 'numeric'
+        name = "numeric"

-    def increment(self, accumulator: (str | None)=None) ->int:
+    def increment(self, accumulator: str | None = None) -> int:
         """Generates an incrementing number.

         Each call of this method returns an incrementing number (with the step of +1).
@@ -44,10 +46,15 @@ class Numeric(BaseProvider):
         :param accumulator: Accumulator (used to create associative incrementation).
         :return: Integer.
         """
-        pass
+        if not accumulator:
+            accumulator = self.__default_accumulator_value
+
+        self.__increment_dict[accumulator] += 1
+        return self.__increment_dict[accumulator]

-    def float_number(self, start: float=-1000.0, end: float=1000.0,
-        precision: int=15) ->float:
+    def float_number(
+        self, start: float = -1000.0, end: float = 1000.0, precision: int = 15
+    ) -> float:
         """Generates a random float number in range [start, end].

         :param start: Start range.
@@ -56,10 +63,11 @@ class Numeric(BaseProvider):
             precision in decimal digits, default is 15.
         :return: Float.
         """
-        pass
+        return self.random.uniform(start, end, precision)

-    def floats(self, start: float=0, end: float=1, n: int=10, precision: int=15
-        ) ->list[float]:
+    def floats(
+        self, start: float = 0, end: float = 1, n: int = 10, precision: int = 15
+    ) -> list[float]:
         """Generates a list of random float numbers.

         :param start: Start range.
@@ -69,18 +77,18 @@ class Numeric(BaseProvider):
             precision in decimal digits, default is 15.
         :return: The list of floating-point numbers.
         """
-        pass
+        return [self.float_number(start, end, precision) for _ in range(n)]

-    def integer_number(self, start: int=-1000, end: int=1000) ->int:
+    def integer_number(self, start: int = -1000, end: int = 1000) -> int:
         """Generates a random integer from start to end.

         :param start: Start range.
         :param end: End range.
         :return: Integer.
         """
-        pass
+        return self.random.randint(start, end)

-    def integers(self, start: int=0, end: int=10, n: int=10) ->list[int]:
+    def integers(self, start: int = 0, end: int = 10, n: int = 10) -> list[int]:
         """Generates a list of random integers.

         :param start: Start.
@@ -91,11 +99,17 @@ class Numeric(BaseProvider):
         :Example:
             [-20, -19, -18, -17]
         """
-        pass
-
-    def complex_number(self, start_real: float=0.0, end_real: float=1.0,
-        start_imag: float=0.0, end_imag: float=1.0, precision_real: int=15,
-        precision_imag: int=15) ->complex:
+        return self.random.randints(n, start, end)
+
+    def complex_number(
+        self,
+        start_real: float = 0.0,
+        end_real: float = 1.0,
+        start_imag: float = 0.0,
+        end_imag: float = 1.0,
+        precision_real: int = 15,
+        precision_imag: int = 15,
+    ) -> complex:
         """Generates a random complex number.

         :param start_real: Start real range.
@@ -108,11 +122,20 @@ class Numeric(BaseProvider):
             number to a given precision.
         :return: Complex numbers.
         """
-        pass
-
-    def complexes(self, start_real: float=0, end_real: float=1, start_imag:
-        float=0, end_imag: float=1, precision_real: int=15, precision_imag:
-        int=15, n: int=10) ->list[complex]:
+        real_part = self.random.uniform(start_real, end_real, precision_real)
+        imag_part = self.random.uniform(start_imag, end_imag, precision_imag)
+        return complex(real_part, imag_part)
+
+    def complexes(
+        self,
+        start_real: float = 0,
+        end_real: float = 1,
+        start_imag: float = 0,
+        end_imag: float = 1,
+        precision_real: int = 15,
+        precision_imag: int = 15,
+        n: int = 10,
+    ) -> list[complex]:
         """Generates a list of random complex numbers.

         :param start_real: Start real range.
@@ -126,20 +149,32 @@ class Numeric(BaseProvider):
         :param n: Length of the list.
         :return: A list of random complex numbers.
         """
-        pass
-
-    def decimal_number(self, start: float=-1000.0, end: float=1000.0
-        ) ->Decimal:
+        numbers = []
+        for _ in range(n):
+            numbers.append(
+                self.complex_number(
+                    start_real=start_real,
+                    end_real=end_real,
+                    start_imag=start_imag,
+                    end_imag=end_imag,
+                    precision_real=precision_real,
+                    precision_imag=precision_imag,
+                ),
+            )
+        return numbers
+
+    def decimal_number(self, start: float = -1000.0, end: float = 1000.0) -> Decimal:
         """Generates a random decimal number.

         :param start:  Start range.
         :param end: End range.
         :return: :py:class:`decimal.Decimal` object.
         """
-        pass
+        return Decimal.from_float(self.float_number(start, end))

-    def decimals(self, start: float=0.0, end: float=1000.0, n: int=10) ->list[
-        Decimal]:
+    def decimals(
+        self, start: float = 0.0, end: float = 1000.0, n: int = 10
+    ) -> list[Decimal]:
         """Generates a list of decimal numbers.

         :param start: Start range.
@@ -147,10 +182,15 @@ class Numeric(BaseProvider):
         :param n: Length of the list.
         :return: A list of :py:class:`decimal.Decimal` objects.
         """
-        pass
-
-    def matrix(self, m: int=10, n: int=10, num_type: NumType=NumType.FLOAT,
-        **kwargs: t.Any) ->Matrix:
+        return [self.decimal_number(start, end) for _ in range(n)]
+
+    def matrix(
+        self,
+        m: int = 10,
+        n: int = 10,
+        num_type: NumType = NumType.FLOAT,
+        **kwargs: t.Any,
+    ) -> Matrix:
         """Generates m x n matrix with a random numbers.

         This method works with a variety of types,
@@ -162,4 +202,7 @@ class Numeric(BaseProvider):
         :param kwargs: Other method-specific arguments.
         :return: A matrix of random numbers.
         """
-        pass
+        key = self.validate_enum(num_type, NumType)
+        kwargs.update({"n": n})
+        method = getattr(self, key)
+        return [method(**kwargs) for _ in range(m)]
diff --git a/mimesis/providers/path.py b/mimesis/providers/path.py
index 80062b9c..93730fc2 100644
--- a/mimesis/providers/path.py
+++ b/mimesis/providers/path.py
@@ -1,17 +1,30 @@
 """Provides data related to paths."""
+
 import sys
 import typing as t
 from pathlib import PurePosixPath, PureWindowsPath
-from mimesis.datasets import FOLDERS, PLATFORMS, PROGRAMMING_LANGS, PROJECT_NAMES, USERNAMES
+
+from mimesis.datasets import (
+    FOLDERS,
+    PLATFORMS,
+    PROGRAMMING_LANGS,
+    PROJECT_NAMES,
+    USERNAMES,
+)
 from mimesis.providers.base import BaseProvider
-__all__ = ['Path']
+
+__all__ = ["Path"]


 class Path(BaseProvider):
     """Class that provides methods and property for generate paths."""

-    def __init__(self, platform: str=sys.platform, *args: t.Any, **kwargs:
-        t.Any) ->None:
+    def __init__(
+        self,
+        platform: str = sys.platform,
+        *args: t.Any,
+        **kwargs: t.Any,
+    ) -> None:
         """Initialize attributes.

         Supported platforms: 'linux', 'darwin', 'win32', 'win64', 'freebsd'.
@@ -19,18 +32,16 @@ class Path(BaseProvider):
         :param platform: Required platform type.
         """
         super().__init__(*args, **kwargs)
-        if platform.startswith('freebsd'):
-            platform = 'freebsd'
+        if platform.startswith("freebsd"):
+            platform = "freebsd"
         self.platform = platform
-        self._pathlib_home = PureWindowsPath(
-            ) if 'win' in platform else PurePosixPath()
-        self._pathlib_home /= PLATFORMS[platform]['home']
-
+        self._pathlib_home = PureWindowsPath() if "win" in platform else PurePosixPath()
+        self._pathlib_home /= PLATFORMS[platform]["home"]

     class Meta:
-        name = 'path'
+        name = "path"

-    def root(self) ->str:
+    def root(self) -> str:
         """Generates a root dir path.

         :return: Root dir.
@@ -38,9 +49,9 @@ class Path(BaseProvider):
         :Example:
             /
         """
-        pass
+        return str(self._pathlib_home.parent)

-    def home(self) ->str:
+    def home(self) -> str:
         """Generates a home path.

         :return: Home path.
@@ -48,9 +59,9 @@ class Path(BaseProvider):
         :Example:
             /home
         """
-        pass
+        return str(self._pathlib_home)

-    def user(self) ->str:
+    def user(self) -> str:
         """Generates a random user.

         :return: Path to user.
@@ -58,9 +69,11 @@ class Path(BaseProvider):
         :Example:
             /home/oretha
         """
-        pass
+        user = self.random.choice(USERNAMES)
+        user = user.capitalize() if "win" in self.platform else user.lower()
+        return str(self._pathlib_home / user)

-    def users_folder(self) ->str:
+    def users_folder(self) -> str:
         """Generates a random path to user's folders.

         :return: Path.
@@ -68,9 +81,11 @@ class Path(BaseProvider):
         :Example:
             /home/taneka/Pictures
         """
-        pass
+        user = self.user()
+        folder = self.random.choice(FOLDERS)
+        return str(self._pathlib_home / user / folder)

-    def dev_dir(self) ->str:
+    def dev_dir(self) -> str:
         """Generates a random path to development directory.

         :return: Path.
@@ -78,9 +93,12 @@ class Path(BaseProvider):
         :Example:
             /home/sherrell/Development/Python
         """
-        pass
+        user = self.user()
+        folder = self.random.choice(["Development", "Dev"])
+        stack = self.random.choice(PROGRAMMING_LANGS)
+        return str(self._pathlib_home / user / folder / stack)

-    def project_dir(self) ->str:
+    def project_dir(self) -> str:
         """Generates a random path to project directory.

         :return: Path to project.
@@ -88,4 +106,6 @@ class Path(BaseProvider):
         :Example:
             /home/sherika/Development/Falcon/mercenary
         """
-        pass
+        dev_dir = self.dev_dir()
+        project = self.random.choice(PROJECT_NAMES)
+        return str(self._pathlib_home / dev_dir / project)
diff --git a/mimesis/providers/payment.py b/mimesis/providers/payment.py
index ac35dcc0..c48056a9 100644
--- a/mimesis/providers/payment.py
+++ b/mimesis/providers/payment.py
@@ -1,7 +1,9 @@
 """Provides data related to payment."""
+
 import re
 import string
 import typing as t
+
 from mimesis.datasets import CREDIT_CARD_NETWORKS
 from mimesis.enums import CardType, Gender
 from mimesis.exceptions import NonEnumerableError
@@ -9,27 +11,30 @@ from mimesis.locales import Locale
 from mimesis.providers.base import BaseProvider
 from mimesis.providers.person import Person
 from mimesis.shortcuts import luhn_checksum
-__all__ = ['Payment']
+
+__all__ = ["Payment"]


 class Payment(BaseProvider):
     """Class that provides data related to payments."""

-    def __init__(self, *args: t.Any, **kwargs: t.Any) ->None:
+    def __init__(self, *args: t.Any, **kwargs: t.Any) -> None:
         """Initialize attributes.

         :param args: Arguments.
         :param kwargs: Keyword arguments.
         """
         super().__init__(*args, **kwargs)
-        self._person = Person(locale=Locale.EN, seed=self.seed, random=self
-            .random)
-
+        self._person = Person(
+            locale=Locale.EN,
+            seed=self.seed,
+            random=self.random,
+        )

     class Meta:
-        name = 'payment'
+        name = "payment"

-    def cid(self) ->str:
+    def cid(self) -> str:
         """Generates a random CID.

         :return: CID code.
@@ -37,9 +42,9 @@ class Payment(BaseProvider):
         :Example:
             7452
         """
-        pass
+        return f"{self.random.randint(1, 9999):04d}"

-    def paypal(self) ->str:
+    def paypal(self) -> str:
         """Generates a random PayPal account.

         :return: Email of PapPal user.
@@ -47,9 +52,9 @@ class Payment(BaseProvider):
         :Example:
             wolf235@gmail.com
         """
-        pass
+        return self._person.email()

-    def bitcoin_address(self) ->str:
+    def bitcoin_address(self) -> str:
         """Generates a random bitcoin address.

         Keep in mind that although it generates **valid-looking** addresses,
@@ -60,9 +65,11 @@ class Payment(BaseProvider):
         :Example:
             3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX
         """
-        pass
+        type_ = self.random.choice(["1", "3"])
+        characters = string.ascii_letters + string.digits
+        return type_ + "".join(self.random.choices(characters, k=33))

-    def ethereum_address(self) ->str:
+    def ethereum_address(self) -> str:
         """Generates a random Ethereum address.

         ..note: The address will look like Ethereum address,
@@ -73,9 +80,11 @@ class Payment(BaseProvider):
         :Example:
             0xe8ece9e6ff7dba52d4c07d37418036a89af9698d
         """
-        pass
+        bits = self.random.getrandbits(160)
+        address = bits.to_bytes(20, byteorder="big")
+        return "0x" + address.hex()

-    def credit_card_network(self) ->str:
+    def credit_card_network(self) -> str:
         """Generates a random credit card network.

         :return: Credit card network
@@ -83,9 +92,9 @@ class Payment(BaseProvider):
         :Example:
             MasterCard
         """
-        pass
+        return self.random.choice(CREDIT_CARD_NETWORKS)

-    def credit_card_number(self, card_type: (CardType | None)=None) ->str:
+    def credit_card_number(self, card_type: CardType | None = None) -> str:
         """Generates a random credit card number.

         :param card_type: Issuing Network. Default is Visa.
@@ -95,10 +104,39 @@ class Payment(BaseProvider):
         :Example:
             4455 5299 1152 2450
         """
-        pass
-
-    def credit_card_expiration_date(self, minimum: int=16, maximum: int=25
-        ) ->str:
+        length = 16
+        regex = re.compile(r"(\d{4})(\d{4})(\d{4})(\d{4})")
+
+        if card_type is None:
+            card_type = self.random.choice_enum_item(CardType)
+
+        if card_type == CardType.VISA:
+            number = self.random.randint(4000, 4999)
+        elif card_type == CardType.MASTER_CARD:
+            number = self.random.choice(
+                [
+                    self.random.randint(2221, 2720),
+                    self.random.randint(5100, 5599),
+                ]
+            )
+        elif card_type == CardType.AMERICAN_EXPRESS:
+            number = self.random.choice([34, 37])
+            length = 15
+            regex = re.compile(r"(\d{4})(\d{6})(\d{5})")
+        else:
+            raise NonEnumerableError(CardType)
+
+        str_num = str(number)
+        while len(str_num) < length - 1:
+            str_num += self.random.choice(string.digits)
+
+        groups = regex.search(  # type: ignore
+            str_num + luhn_checksum(str_num),
+        ).groups()
+        card = " ".join(groups)
+        return card
+
+    def credit_card_expiration_date(self, minimum: int = 16, maximum: int = 25) -> str:
         """Generates a random expiration date for credit card.

         :param minimum: Date of issue.
@@ -108,9 +146,11 @@ class Payment(BaseProvider):
         :Example:
             03/19.
         """
-        pass
+        month = self.random.randint(1, 12)
+        year = self.random.randint(minimum, maximum)
+        return f"{month:02d}/{year}"

-    def cvv(self) ->str:
+    def cvv(self) -> str:
         """Generates a random CVV.

         :return: CVV code.
@@ -118,13 +158,21 @@ class Payment(BaseProvider):
         :Example:
             069
         """
-        pass
+        return f"{self.random.randint(1, 999):03d}"

-    def credit_card_owner(self, gender: (Gender | None)=None) ->dict[str, str]:
+    def credit_card_owner(
+        self,
+        gender: Gender | None = None,
+    ) -> dict[str, str]:
         """Generates a random credit card owner.

         :param gender: Gender of the card owner.
         :type gender: Gender enum.
         :return:
         """
-        pass
+        owner = {
+            "credit_card": self.credit_card_number(),
+            "expiration_date": self.credit_card_expiration_date(),
+            "owner": self._person.full_name(gender=gender).upper(),
+        }
+        return owner
diff --git a/mimesis/providers/person.py b/mimesis/providers/person.py
index 592b9615..204e75f7 100644
--- a/mimesis/providers/person.py
+++ b/mimesis/providers/person.py
@@ -1,21 +1,31 @@
 """Provides personal data."""
+
 import hashlib
 import re
 import typing as t
 import uuid
 from datetime import date, datetime
 from string import ascii_letters, digits, punctuation
-from mimesis.datasets import BLOOD_GROUPS, CALLING_CODES, EMAIL_DOMAINS, GENDER_CODES, GENDER_SYMBOLS, USERNAMES
+
+from mimesis.datasets import (
+    BLOOD_GROUPS,
+    CALLING_CODES,
+    EMAIL_DOMAINS,
+    GENDER_CODES,
+    GENDER_SYMBOLS,
+    USERNAMES,
+)
 from mimesis.enums import Gender, TitleType
 from mimesis.providers.base import BaseDataProvider
 from mimesis.types import Date
-__all__ = ['Person']
+
+__all__ = ["Person"]


 class Person(BaseDataProvider):
     """Class for generating personal data."""

-    def __init__(self, *args: t.Any, **kwargs: t.Any) ->None:
+    def __init__(self, *args: t.Any, **kwargs: t.Any) -> None:
         """Initialize attributes.

         :param locale: Current locale.
@@ -23,21 +33,57 @@ class Person(BaseDataProvider):
         """
         super().__init__(*args, **kwargs)

-
     class Meta:
-        name = 'person'
-        datafile = f'{name}.json'
+        name = "person"
+        datafile = f"{name}.json"
+
+    def _validate_birth_year_params(self, min_year: int, max_year: int) -> None:
+        if min_year > max_year:
+            raise ValueError("min_year must be less than or equal to max_year")
+
+        if min_year < 1900:
+            raise ValueError("min_year must be greater than or equal to 1900")

-    def birthdate(self, min_year: int=1980, max_year: int=2023) ->Date:
+        if max_year > datetime.now().year:
+            raise ValueError(
+                "The max_year must be less than or equal to the current year"
+            )
+
+    def _is_leap_year(self, year: int) -> bool:
+        return (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)
+
+    def birthdate(self, min_year: int = 1980, max_year: int = 2023) -> Date:
         """Generates a random birthdate as a :py:class:`datetime.date` object.

         :param min_year: Maximum birth year.
         :param max_year: Minimum birth year.
         :return: Random date object.
         """
-        pass
-
-    def name(self, gender: (Gender | None)=None) ->str:
+        self._validate_birth_year_params(min_year, max_year)
+        year = self.random.randint(min_year, max_year)
+        feb_days = 29 if self._is_leap_year(year) else 28
+
+        month_days_map = {
+            1: 31,
+            2: feb_days,
+            3: 31,
+            4: 30,
+            5: 31,
+            6: 30,
+            7: 31,
+            8: 31,
+            9: 30,
+            10: 31,
+            11: 30,
+            12: 31,
+        }
+
+        month = self.random.randint(1, 12)
+        max_day = month_days_map[month]
+        day = self.random.randint(1, max_day)
+        return date(year=year, month=month, day=day)
+
+    def name(self, gender: Gender | None = None) -> str:
         """Generates a random name.

         :param gender: Gender's enum object.
@@ -46,9 +92,11 @@ class Person(BaseDataProvider):
         :Example:
             John.
         """
-        pass
+        key = self.validate_enum(gender, Gender)
+        names: list[str] = self._extract(["names", key])
+        return self.random.choice(names)

-    def first_name(self, gender: (Gender | None)=None) ->str:
+    def first_name(self, gender: Gender | None = None) -> str:
         """Generates a random first name.

         ..note: An alias for :meth:`~.name`.
@@ -56,9 +104,9 @@ class Person(BaseDataProvider):
         :param gender: Gender's enum object.
         :return: First name.
         """
-        pass
+        return self.name(gender)

-    def surname(self, gender: (Gender | None)=None) ->str:
+    def surname(self, gender: Gender | None = None) -> str:
         """Generates a random surname.

         :param gender: Gender's enum object.
@@ -67,9 +115,16 @@ class Person(BaseDataProvider):
         :Example:
             Smith.
         """
-        pass
+        surnames: t.Sequence[str] = self._extract(["surnames"])

-    def last_name(self, gender: (Gender | None)=None) ->str:
+        # Surnames separated by gender.
+        if isinstance(surnames, dict):
+            key = self.validate_enum(gender, Gender)
+            surnames = surnames[key]
+
+        return self.random.choice(surnames)
+
+    def last_name(self, gender: Gender | None = None) -> str:
         """Generates a random last name.

         ..note: An alias for :meth:`~.surname`.
@@ -77,10 +132,13 @@ class Person(BaseDataProvider):
         :param gender: Gender's enum object.
         :return: Last name.
         """
-        pass
+        return self.surname(gender)

-    def title(self, gender: (Gender | None)=None, title_type: (TitleType |
-        None)=None) ->str:
+    def title(
+        self,
+        gender: Gender | None = None,
+        title_type: TitleType | None = None,
+    ) -> str:
         """Generates a random title for name.

         You can generate a random prefix or suffix
@@ -94,10 +152,17 @@ class Person(BaseDataProvider):
         :Example:
             PhD.
         """
-        pass
+        gender_key = self.validate_enum(gender, Gender)
+        title_key = self.validate_enum(title_type, TitleType)
+
+        titles: list[str] = self._extract(["title", gender_key, title_key])
+        return self.random.choice(titles)

-    def full_name(self, gender: (Gender | None)=None, reverse: bool=False
-        ) ->str:
+    def full_name(
+        self,
+        gender: Gender | None = None,
+        reverse: bool = False,
+    ) -> str:
         """Generates a random full name.

         :param reverse: Return reversed full name.
@@ -107,10 +172,13 @@ class Person(BaseDataProvider):
         :Example:
             Johann Wolfgang.
         """
-        pass
+        name = self.name(gender)
+        surname = self.surname(gender)
+        return f"{surname} {name}" if reverse else f"{name} {surname}"

-    def username(self, mask: (str | None)=None, drange: tuple[int, int]=(
-        1800, 2100)) ->str:
+    def username(
+        self, mask: str | None = None, drange: tuple[int, int] = (1800, 2100)
+    ) -> str:
         """Generates a username by mask.

         Masks allow you to generate a variety of usernames.
@@ -136,9 +204,37 @@ class Person(BaseDataProvider):
             >>> username(mask='l_l_d', drange=(1900, 2021))
             plasmic_blockader_1907
         """
-        pass
-
-    def password(self, length: int=8, hashed: bool=False) ->str:
+        if len(drange) != 2:
+            raise ValueError("The drange parameter must contain only two integers.")
+
+        if mask is None:
+            mask = "l_d"
+
+        required_tags = "CUl"
+        tags = re.findall(r"[CUld.\-_]", mask)
+
+        if not any(tag in tags for tag in required_tags):
+            raise ValueError(
+                "Username mask must contain at least one of these: (C, U, l)."
+            )
+
+        final_username = ""
+        for tag in tags:
+            username = self.random.choice(USERNAMES)
+            if tag == "C":
+                final_username += username.capitalize()
+            if tag == "U":
+                final_username += username.upper()
+            elif tag == "l":
+                final_username += username.lower()
+            elif tag == "d":
+                final_username += str(self.random.randint(*drange))
+            elif tag in "-_.":
+                final_username += tag
+
+        return final_username
+
+    def password(self, length: int = 8, hashed: bool = False) -> str:
         """Generates a password or hash of password.

         :param length: Length of password.
@@ -148,10 +244,21 @@ class Person(BaseDataProvider):
         :Example:
             k6dv2odff9#4h
         """
-        pass
+        characters = ascii_letters + digits + punctuation
+        password = "".join(self.random.choices(characters, k=length))
+
+        if hashed:
+            sha256 = hashlib.sha256()
+            sha256.update(password.encode())
+            return sha256.hexdigest()
+
+        return password

-    def email(self, domains: (t.Sequence[str] | None)=None, unique: bool=False
-        ) ->str:
+    def email(
+        self,
+        domains: t.Sequence[str] | None = None,
+        unique: bool = False,
+    ) -> str:
         """Generates a random email.

         :param domains: List of custom domains for emails.
@@ -162,17 +269,35 @@ class Person(BaseDataProvider):
         :Example:
             foretime10@live.com
         """
-        pass
+        if unique and self._has_seed():
+            raise ValueError(
+                "You cannot use «unique» parameter with the seeded provider"
+            )
+
+        if not domains:
+            domains = EMAIL_DOMAINS
+
+        domain = self.random.choice(domains)
+
+        if not domain.startswith("@"):
+            domain = "@" + domain

-    def gender_symbol(self) ->str:
+        if unique:
+            name = str(uuid.uuid4().hex)
+        else:
+            name = self.username(mask="ld")
+
+        return f"{name}{domain}"
+
+    def gender_symbol(self) -> str:
         """Generate a random sex symbol.

         :Example:
          """
-        pass
+        return self.random.choice(GENDER_SYMBOLS)

-    def gender_code(self) ->int:
+    def gender_code(self) -> int:
         """Generate a random ISO/IEC 5218 gender code.

         Generate a random title of gender code for the representation
@@ -185,24 +310,25 @@ class Person(BaseDataProvider):

         :return:
         """
-        pass
+        return self.random.choice(GENDER_CODES)

-    def gender(self) ->str:
+    def gender(self) -> str:
         """Generates a random gender title.

         :Example:
             Male
         """
-        pass
+        genders: list[str] = self._extract(["gender"])
+        return self.random.choice(genders)

-    def sex(self) ->str:
+    def sex(self) -> str:
         """An alias for method :meth:`~.gender`.

         :return: Sex.
         """
-        pass
+        return self.gender()

-    def height(self, minimum: float=1.5, maximum: float=2.0) ->str:
+    def height(self, minimum: float = 1.5, maximum: float = 2.0) -> str:
         """Generates a random height in meters.

         :param minimum: Minimum value.
@@ -212,9 +338,10 @@ class Person(BaseDataProvider):
         :Example:
             1.85.
         """
-        pass
+        h = self.random.uniform(minimum, maximum)
+        return f"{h:0.2f}"

-    def weight(self, minimum: int=38, maximum: int=90) ->int:
+    def weight(self, minimum: int = 38, maximum: int = 90) -> int:
         """Generates a random weight in Kg.

         :param minimum: min value
@@ -224,9 +351,9 @@ class Person(BaseDataProvider):
         :Example:
             48.
         """
-        pass
+        return self.random.randint(minimum, maximum)

-    def blood_type(self) ->str:
+    def blood_type(self) -> str:
         """Generates a random blood type.

         :return: Blood type (blood group).
@@ -234,9 +361,9 @@ class Person(BaseDataProvider):
         :Example:
             A+
         """
-        pass
+        return self.random.choice(BLOOD_GROUPS)

-    def occupation(self) ->str:
+    def occupation(self) -> str:
         """Generates a random job.

         :return: The name of job.
@@ -244,9 +371,10 @@ class Person(BaseDataProvider):
         :Example:
             Programmer.
         """
-        pass
+        jobs: list[str] = self._extract(["occupation"])
+        return self.random.choice(jobs)

-    def political_views(self) ->str:
+    def political_views(self) -> str:
         """Get a random political views.

         :return: Political views.
@@ -254,9 +382,10 @@ class Person(BaseDataProvider):
         :Example:
             Liberal.
         """
-        pass
+        views: list[str] = self._extract(["political_views"])
+        return self.random.choice(views)

-    def worldview(self) ->str:
+    def worldview(self) -> str:
         """Generates a random worldview.

         :return: Worldview.
@@ -264,9 +393,10 @@ class Person(BaseDataProvider):
         :Example:
             Pantheism.
         """
-        pass
+        views: list[str] = self._extract(["worldview"])
+        return self.random.choice(views)

-    def views_on(self) ->str:
+    def views_on(self) -> str:
         """Get a random views on.

         :return: Views on.
@@ -274,9 +404,10 @@ class Person(BaseDataProvider):
         :Example:
             Negative.
         """
-        pass
+        views: list[str] = self._extract(["views_on"])
+        return self.random.choice(views)

-    def nationality(self, gender: (Gender | None)=None) ->str:
+    def nationality(self, gender: Gender | None = None) -> str:
         """Generates a random nationality.

         :param gender: Gender.
@@ -285,9 +416,16 @@ class Person(BaseDataProvider):
         :Example:
             Russian
         """
-        pass
+        nationalities: list[str] = self._extract(["nationality"])
+
+        # Separated by gender
+        if isinstance(nationalities, dict):
+            key = self.validate_enum(gender, Gender)
+            nationalities = nationalities[key]

-    def university(self) ->str:
+        return self.random.choice(nationalities)
+
+    def university(self) -> str:
         """Generates a random university name.

         :return: University name.
@@ -295,9 +433,10 @@ class Person(BaseDataProvider):
         :Example:
             MIT.
         """
-        pass
+        universities: list[str] = self._extract(["university"])
+        return self.random.choice(universities)

-    def academic_degree(self) ->str:
+    def academic_degree(self) -> str:
         """Generates a random academic degree.

         :return: Degree.
@@ -305,9 +444,10 @@ class Person(BaseDataProvider):
         :Example:
             Bachelor.
         """
-        pass
+        degrees: list[str] = self._extract(["academic_degree"])
+        return self.random.choice(degrees)

-    def language(self) ->str:
+    def language(self) -> str:
         """Generates a random language name.

         :return: Random language.
@@ -315,9 +455,10 @@ class Person(BaseDataProvider):
         :Example:
             Irish.
         """
-        pass
+        languages: list[str] = self._extract(["language"])
+        return self.random.choice(languages)

-    def phone_number(self, mask: str='', placeholder: str='#') ->str:
+    def phone_number(self, mask: str = "", placeholder: str = "#") -> str:
         """Generates a random phone number.

         :param mask: Mask for formatting number.
@@ -327,13 +468,19 @@ class Person(BaseDataProvider):
         :Example:
             +7-(963)-409-11-22.
         """
-        pass
+        if not mask:
+            code = self.random.choice(CALLING_CODES)
+            default = f"{code}-(###)-###-####"
+            masks = self._extract(["telephone_fmt"], default=[default])
+            mask = self.random.choice(masks)
+
+        return self.random.generate_string_by_mask(mask=mask, digit=placeholder)

-    def telephone(self, *args: t.Any, **kwargs: t.Any) ->str:
+    def telephone(self, *args: t.Any, **kwargs: t.Any) -> str:
         """An alias for :meth:`~.phone_number`."""
-        pass
+        return self.phone_number(*args, **kwargs)

-    def identifier(self, mask: str='##-##/##') ->str:
+    def identifier(self, mask: str = "##-##/##") -> str:
         """Generates a random identifier by mask.

         With this method, you can generate any identifiers that
@@ -347,4 +494,4 @@ class Person(BaseDataProvider):
         :Example:
             07-97/04
         """
-        pass
+        return self.random.generate_string_by_mask(mask=mask)
diff --git a/mimesis/providers/science.py b/mimesis/providers/science.py
index 6774e7a6..2678e816 100644
--- a/mimesis/providers/science.py
+++ b/mimesis/providers/science.py
@@ -1,18 +1,19 @@
 """Provides pseudo-scientific data."""
+
 from mimesis.datasets import SI_PREFIXES, SI_PREFIXES_SYM
 from mimesis.enums import MeasureUnit, MetricPrefixSign
 from mimesis.providers.base import BaseProvider
-__all__ = ['Science']
+
+__all__ = ["Science"]


 class Science(BaseProvider):
     """Class for generating pseudo-scientific data."""

-
     class Meta:
-        name = 'science'
+        name = "science"

-    def rna_sequence(self, length: int=10) ->str:
+    def rna_sequence(self, length: int = 10) -> str:
         """Generates a random RNA sequence.

         :param length: Length of block.
@@ -21,9 +22,9 @@ class Science(BaseProvider):
         :Example:
             AGUGACACAA
         """
-        pass
+        return self.random._generate_string("UCGA", length)

-    def dna_sequence(self, length: int=10) ->str:
+    def dna_sequence(self, length: int = 10) -> str:
         """Generates a random DNA sequence.

         :param length: Length of block.
@@ -32,20 +33,31 @@ class Science(BaseProvider):
         :Example:
             GCTTTAGACC
         """
-        pass
+        return self.random._generate_string("TCGA", length)

-    def measure_unit(self, name: (MeasureUnit | None)=None, symbol: bool=False
-        ) ->str:
+    def measure_unit(
+        self,
+        name: MeasureUnit | None = None,
+        symbol: bool = False,
+    ) -> str:
         """Returns unit name from the International System of Units.

         :param name: Enum object UnitName.
         :param symbol: Return only symbol
         :return: Unit.
         """
-        pass
+        result: tuple[str, str] = self.validate_enum(
+            item=name,
+            enum=MeasureUnit,
+        )

-    def metric_prefix(self, sign: (MetricPrefixSign | None)=None, symbol:
-        bool=False) ->str:
+        if symbol:
+            return result[1]
+        return result[0]
+
+    def metric_prefix(
+        self, sign: MetricPrefixSign | None = None, symbol: bool = False
+    ) -> str:
         """Generates a random prefix for the International System of Units.

         :param sign: Sing of prefix (positive/negative).
@@ -56,4 +68,7 @@ class Science(BaseProvider):
         :Example:
             mega
         """
-        pass
+        prefixes = SI_PREFIXES_SYM if symbol else SI_PREFIXES
+
+        key = self.validate_enum(item=sign, enum=MetricPrefixSign)
+        return self.random.choice(prefixes[key])
diff --git a/mimesis/providers/text.py b/mimesis/providers/text.py
index 9bab0fa4..eff74553 100644
--- a/mimesis/providers/text.py
+++ b/mimesis/providers/text.py
@@ -1,33 +1,37 @@
 """Provides data related to text."""
 import typing as t
+
 from mimesis.datasets import SAFE_COLORS
 from mimesis.enums import EmojyCategory
 from mimesis.providers.base import BaseDataProvider
-__all__ = ['Text']
+
+__all__ = ["Text"]


 class Text(BaseDataProvider):
     """Class for generating text data."""

-    def __init__(self, *args: t.Any, **kwargs: t.Any) ->None:
+    def __init__(self, *args: t.Any, **kwargs: t.Any) -> None:
         """Initialize attributes."""
         super().__init__(*args, **kwargs)
-        self._emojis = self._read_global_file('emojis.json')
-
+        self._emojis = self._read_global_file("emojis.json")

     class Meta:
-        name = 'text'
-        datafile = f'{name}.json'
+        name = "text"
+        datafile = f"{name}.json"

-    def alphabet(self, lower_case: bool=False) ->list[str]:
+    def alphabet(self, lower_case: bool = False) -> list[str]:
         """Returns an alphabet for current locale.

         :param lower_case: Return alphabet in lower case.
         :return: Alphabet.
         """
-        pass
+        case = "uppercase" if not lower_case else "lowercase"

-    def level(self) ->str:
+        alpha: list[str] = self._extract(["alphabet", case])
+        return alpha
+
+    def level(self) -> str:
         """Generates a word that indicates a level of something.

         :return: Level.
@@ -35,31 +39,33 @@ class Text(BaseDataProvider):
         :Example:
             critical.
         """
-        pass
+        levels: list[str] = self._extract(["level"])
+        return self.random.choice(levels)

-    def text(self, quantity: int=5) ->str:
+    def text(self, quantity: int = 5) -> str:
         """Generates the text.

         :param quantity: Quantity of sentences.
         :return: Text.
         """
-        pass
+        text = self._extract(["text"])
+        return " ".join(self.random.choices(text, k=quantity))

-    def sentence(self) ->str:
+    def sentence(self) -> str:
         """Generates a random sentence from the text.

         :return: Sentence.
         """
-        pass
+        return self.text(quantity=1)

-    def title(self) ->str:
+    def title(self) -> str:
         """Generates a random title.

         :return: The title.
         """
-        pass
+        return self.text(quantity=1)

-    def words(self, quantity: int=5) ->list[str]:
+    def words(self, quantity: int = 5) -> list[str]:
         """Generates a list of random words.

         :param quantity: Quantity of words. Default is 5.
@@ -68,9 +74,10 @@ class Text(BaseDataProvider):
         :Example:
             [science, network, god, octopus, love]
         """
-        pass
+        words = self._extract(["words"])
+        return self.random.choices(words, k=quantity)

-    def word(self) ->str:
+    def word(self) -> str:
         """Generates a random word.

         :return: Single word.
@@ -78,9 +85,9 @@ class Text(BaseDataProvider):
         :Example:
             Science.
         """
-        pass
+        return self.words(quantity=1)[0]

-    def quote(self) ->str:
+    def quote(self) -> str:
         """Generates a random quote.

         :return: Random quote.
@@ -88,9 +95,10 @@ class Text(BaseDataProvider):
         :Example:
             "Bond... James Bond."
         """
-        pass
+        quotes: list[str] = self._extract(["quotes"])
+        return self.random.choice(quotes)

-    def color(self) ->str:
+    def color(self) -> str:
         """Generates a random color name.

         :return: Color name.
@@ -98,18 +106,20 @@ class Text(BaseDataProvider):
         :Example:
             Red.
         """
-        pass
+        colors: list[str] = self._extract(["color"])
+        return self.random.choice(colors)

     @staticmethod
-    def _hex_to_rgb(color: str) ->tuple[int, ...]:
+    def _hex_to_rgb(color: str) -> tuple[int, ...]:
         """Converts hex color to RGB format.

         :param color: Hex color.
         :return: RGB tuple.
         """
-        pass
+        color = color.lstrip("#") if color.startswith("#") else color
+        return tuple(int(color[i : i + 2], 16) for i in (0, 2, 4))

-    def hex_color(self, safe: bool=False) ->str:
+    def hex_color(self, safe: bool = False) -> str:
         """Generates a random HEX color.

         :param safe: Get safe Flat UI hex color.
@@ -118,9 +128,12 @@ class Text(BaseDataProvider):
         :Example:
             #d8346b
         """
-        pass
+        if safe:
+            return self.random.choice(SAFE_COLORS)
+
+        return f"#{self.random.randint(0x000000, 0xFFFFFF):06x}"

-    def rgb_color(self, safe: bool=False) ->tuple[int, ...]:
+    def rgb_color(self, safe: bool = False) -> tuple[int, ...]:
         """Generates a random RGB color tuple.

         :param safe: Get safe RGB tuple.
@@ -129,9 +142,10 @@ class Text(BaseDataProvider):
         :Example:
             (252, 85, 32)
         """
-        pass
+        color = self.hex_color(safe)
+        return self._hex_to_rgb(color)

-    def answer(self) ->str:
+    def answer(self) -> str:
         """Generates a random answer in the current language.

         :return: An answer.
@@ -139,10 +153,10 @@ class Text(BaseDataProvider):
         :Example:
             No
         """
-        pass
+        answers: list[str] = self._extract(["answers"])
+        return self.random.choice(answers)

-    def emoji(self, category: (EmojyCategory | None)=EmojyCategory.DEFAULT
-        ) ->str:
+    def emoji(self, category: EmojyCategory | None = EmojyCategory.DEFAULT) -> str:
         """Generates a random emoji from the specified category.

         Generates a random emoji from the specified category.
@@ -155,4 +169,11 @@ class Text(BaseDataProvider):
         :example:
             😟
         """
-        pass
+        category = self.validate_enum(category, EmojyCategory)
+        symbol = self.random.choice(self._emojis[category])
+
+        base = 16
+        # Some emoji consist of multiple Unicode characters.
+        if isinstance(symbol, list):
+            return "".join([chr(int(s, base)) for s in symbol])
+        return chr(int(symbol, base))
diff --git a/mimesis/providers/transport.py b/mimesis/providers/transport.py
index 2aa224a9..8258ec48 100644
--- a/mimesis/providers/transport.py
+++ b/mimesis/providers/transport.py
@@ -1,18 +1,25 @@
 """Provides data related to transports."""
-from mimesis.datasets import AIRPLANES, AUTO_MANUFACTURERS, CARS, VR_CODES, VRC_BY_LOCALES
+
+from mimesis.datasets import (
+    AIRPLANES,
+    AUTO_MANUFACTURERS,
+    CARS,
+    VR_CODES,
+    VRC_BY_LOCALES,
+)
 from mimesis.locales import Locale
 from mimesis.providers.base import BaseProvider
-__all__ = ['Transport']
+
+__all__ = ["Transport"]


 class Transport(BaseProvider):
     """Class for generating data related to transports."""

-
     class Meta:
-        name = 'transport'
+        name = "transport"

-    def manufacturer(self) ->str:
+    def manufacturer(self) -> str:
         """Generates a random car manufacturer.

         :return: A car manufacturer
@@ -20,9 +27,9 @@ class Transport(BaseProvider):
         :Example:
             Tesla.
         """
-        pass
+        return self.random.choice(AUTO_MANUFACTURERS)

-    def car(self) ->str:
+    def car(self) -> str:
         """Generates a random vehicle name.

         :return: A vehicle.
@@ -30,9 +37,9 @@ class Transport(BaseProvider):
         :Example:
             Tesla Model S.
         """
-        pass
+        return self.random.choice(CARS)

-    def airplane(self) ->str:
+    def airplane(self) -> str:
         """Generates a random airplane model name.

         :return: Airplane model.
@@ -40,12 +47,15 @@ class Transport(BaseProvider):
         :Example:
             Boeing 727.
         """
-        pass
+        return self.random.choice(AIRPLANES)

-    def vehicle_registration_code(self, locale: (Locale | None)=None) ->str:
+    def vehicle_registration_code(self, locale: Locale | None = None) -> str:
         """Returns vehicle registration code.

         :param locale: Registration code for locale (country).
         :return: Vehicle registration code.
         """
-        pass
+        if locale:
+            return VRC_BY_LOCALES[locale.value]
+
+        return self.random.choice(VR_CODES)
diff --git a/mimesis/random.py b/mimesis/random.py
index 33e6d7e0..8b7b35c6 100644
--- a/mimesis/random.py
+++ b/mimesis/random.py
@@ -4,10 +4,17 @@ This module contains custom ``Random()`` class where implemented a lot of
 methods which are not included in standard :py:class:`random.Random`,
 but frequently used in this project.
 """
+
 import random as random_module
 import typing as t
+
 from mimesis.types import MissingSeed, Seed
-__all__ = ['Random', 'random']
+
+__all__ = ["Random", "random"]
+
+#: Different plugins (like `pytest-randomly`)
+#: can set custom values to a global seed,
+#: which are going to be the new default.
 global_seed: Seed = MissingSeed


@@ -20,7 +27,7 @@ class Random(random_module.Random):
     This class can be extended according to specific requirements.
     """

-    def randints(self, n: int=3, a: int=1, b: int=100) ->list[int]:
+    def randints(self, n: int = 3, a: int = 1, b: int = 100) -> list[int]:
         """Generate a list of random integers.

         :param n: Number of elements.
@@ -29,19 +36,26 @@ class Random(random_module.Random):
         :return: List of random integers.
         :raises ValueError: if the number is less or equal to zero.
         """
-        pass
+        if n <= 0:
+            raise ValueError("Amount out of range.")

-    def _generate_string(self, str_seq: str, length: int=10) ->str:
+        return [int(self.random() * (b - a)) + a for _ in range(n)]
+
+    def _generate_string(self, str_seq: str, length: int = 10) -> str:
         """Generate random string created from a string sequence.

         :param str_seq: String sequence of letters or digits.
         :param length: Max value.
         :return: Single string.
         """
-        pass
-
-    def generate_string_by_mask(self, mask: str='@###', char: str='@',
-        digit: str='#') ->str:
+        return "".join(self.choices(str_seq, k=length))
+
+    def generate_string_by_mask(
+        self,
+        mask: str = "@###",
+        char: str = "@",
+        digit: str = "#",
+    ) -> str:
         """Generate custom code using ascii uppercase and random integers.

         :param mask: Mask of code.
@@ -49,9 +63,32 @@ class Random(random_module.Random):
         :param digit: Placeholder for digits.
         :return: Custom code.
         """
-        pass
-
-    def uniform(self, a: float, b: float, precision: int=15) ->float:
+        char_code = ord(char)
+        digit_code = ord(digit)
+
+        if char_code == digit_code:
+            raise ValueError(
+                "The same placeholder cannot be "
+                "used for both numbers and characters."
+            )
+
+        def random_int(a: int, b: int) -> int:
+            b = b - a
+            return int(self.random() * b) + a
+
+        _mask = mask.encode()
+        code = bytearray(len(_mask))
+        for i, p in enumerate(_mask):
+            if p == char_code:
+                a = random_int(65, 91)  # A-Z
+            elif p == digit_code:
+                a = random_int(48, 58)  # 0-9
+            else:
+                a = p
+            code[i] = a
+        return code.decode()
+
+    def uniform(self, a: float, b: float, precision: int = 15) -> float:
         """Get a random number in the range [a, b) or [a, b] depending on rounding.

         :param a: Minimum value.
@@ -59,28 +96,35 @@ class Random(random_module.Random):
         :param precision: Round a number to a given
             precision in decimal digits, default is 15.
         """
-        pass
+        return round(a + (b - a) * self.random(), precision)

-    def randbytes(self, n: int=16) ->bytes:
+    def randbytes(self, n: int = 16) -> bytes:
         """Generate n random bytes."""
-        pass
+        return self.getrandbits(n * 8).to_bytes(n, "little")

-    def weighted_choice(self, choices: dict[t.Any, float]) ->t.Any:
+    def weighted_choice(self, choices: dict[t.Any, float]) -> t.Any:
         """Returns a random element according to the specified weights.

         :param choices: A dictionary where keys are choices and values are weights.
         :raises ValueError: If choices are empty.
         :return: Random key from dictionary.
         """
-        pass
+        if not choices:
+            raise ValueError("Choices cannot be empty.")
+
+        population = list(choices.keys())
+        weights = list(choices.values())
+        return self.choices(population, weights=weights, k=1)[0]

-    def choice_enum_item(self, enum: t.Any) ->t.Any:
+    def choice_enum_item(self, enum: t.Any) -> t.Any:
         """Get random value of enum object.

         :param enum: Enum object.
         :return: Random value of enum.
         """
-        pass
+        return self.choice(list(enum))


+# Compat
+# See: https://github.com/lk-geimfari/mimesis/issues/469
 random = Random()
diff --git a/mimesis/schema.py b/mimesis/schema.py
index 80791676..3d3a4f60 100644
--- a/mimesis/schema.py
+++ b/mimesis/schema.py
@@ -1,18 +1,36 @@
 """Implements classes for generating data by schema."""
+
 import csv
 import inspect
 import json
 import pickle
 import re
 from typing import Any, Callable, Sequence
-from mimesis.exceptions import AliasesTypeError, FieldArityError, FieldError, FieldNameError, FieldsetError, SchemaError
+
+from mimesis.exceptions import (
+    AliasesTypeError,
+    FieldArityError,
+    FieldError,
+    FieldNameError,
+    FieldsetError,
+    SchemaError,
+)
 from mimesis.locales import Locale
 from mimesis.providers.base import BaseProvider
 from mimesis.providers.generic import Generic
 from mimesis.random import Random
 from mimesis.types import JSON, CallableSchema, Key, MissingSeed, Seed
-__all__ = ['BaseField', 'Field', 'Fieldset', 'Schema', 'FieldHandler',
-    'RegisterableFieldHandler', 'RegisterableFieldHandlers']
+
+__all__ = [
+    "BaseField",
+    "Field",
+    "Fieldset",
+    "Schema",
+    "FieldHandler",
+    "RegisterableFieldHandler",
+    "RegisterableFieldHandlers",
+]
+
 FieldCache = dict[str, Callable[[Any], Any]]
 FieldHandler = Callable[[Random, Any], Any]
 RegisterableFieldHandler = tuple[str, FieldHandler]
@@ -20,9 +38,11 @@ RegisterableFieldHandlers = Sequence[RegisterableFieldHandler]


 class BaseField:
-
-    def __init__(self, locale: Locale=Locale.DEFAULT, seed: Seed=MissingSeed
-        ) ->None:
+    def __init__(
+        self,
+        locale: Locale = Locale.DEFAULT,
+        seed: Seed = MissingSeed,
+    ) -> None:
         """Base class for fields.

         This class is used as a base class for :class:`Field` and :class:`Fieldset`.
@@ -36,21 +56,21 @@ class BaseField:
         self._handlers: dict[str, FieldHandler] = {}
         self.aliases: dict[str, str] = {}

-    def reseed(self, seed: Seed=MissingSeed) ->None:
+    def reseed(self, seed: Seed = MissingSeed) -> None:
         """Reseed the random generator.

         :param seed: Seed for random.
         """
-        pass
+        self._generic.reseed(seed)

-    def get_random_instance(self) ->Random:
+    def get_random_instance(self) -> Random:
         """Get a random object from Generic.

         :return: Random object.
         """
-        pass
+        return self._generic.random

-    def _explicit_lookup(self, name: str) ->Any:
+    def _explicit_lookup(self, name: str) -> Any:
         """An explicit method lookup.

         This method is called when the field
@@ -60,9 +80,14 @@ class BaseField:
         :return: Callable object.
         :raise FieldError: When field is invalid.
         """
-        pass
-
-    def _fuzzy_lookup(self, name: str) ->Any:
+        provider_name, method_name = name.split(".", 1)
+        try:
+            provider = getattr(self._generic, provider_name)
+            return getattr(provider, method_name)
+        except AttributeError:
+            raise FieldError(name)
+
+    def _fuzzy_lookup(self, name: str) -> Any:
         """A fuzzy method lookup.

         This method is called when the field definition
@@ -72,23 +97,56 @@ class BaseField:
         :return: Callable object.
         :raise FieldError: When field is invalid.
         """
-        pass
+        for provider in dir(self._generic):
+            provider = getattr(self._generic, provider)
+            if isinstance(provider, BaseProvider):
+                if name in dir(provider):
+                    return getattr(provider, name)
+
+        raise FieldError(name)

-    def _lookup_method(self, name: str) ->Any:
+    def _lookup_method(self, name: str) -> Any:
         """Lookup method by the field name.

         :param name: The field name.
         :return: Callable object.
         :raise FieldError: When field is invalid.
         """
-        pass
+        # Check if the field is defined in aliases
+        name = self.aliases.get(name, name)

-    def _validate_aliases(self) ->bool:
-        """Validate aliases."""
-        pass
+        # Support additional delimiters
+        name = re.sub(r"[/:\s]", ".", name)
+
+        if name.count(".") > 1:
+            raise FieldError(name)

-    def perform(self, name: (str | None)=None, key: Key=None, **kwargs: Any
-        ) ->Any:
+        if name not in self._cache:
+            if "." not in name:
+                method = self._fuzzy_lookup(name)
+            else:
+                method = self._explicit_lookup(name)
+            self._cache[name] = method
+
+        return self._cache[name]
+
+    def _validate_aliases(self) -> bool:
+        """Validate aliases."""
+        if not isinstance(self.aliases, dict) or any(
+            not isinstance(key, str) or not isinstance(value, str)
+            for key, value in self.aliases.items()
+        ):
+            # Reset to valid state
+            self.aliases = {}
+            raise AliasesTypeError()
+        return True
+
+    def perform(
+        self,
+        name: str | None = None,
+        key: Key = None,
+        **kwargs: Any,
+    ) -> Any:
         """Performs the value of the field by its name.

         It takes any string that represents the name of any method of
@@ -124,19 +182,57 @@ class BaseField:
         :return: The result of method.
         :raises ValueError: if provider is not supported or if field is not defined.
         """
-        pass
+        # Validate aliases before lookup
+        self._validate_aliases()
+
+        if name is None:
+            raise FieldError()
+
+        random = self.get_random_instance()
+
+        # First, try to find a custom field handler.
+        if name in self._handlers:
+            result = self._handlers[name](random, **kwargs)  # type: ignore
+        else:
+            result = self._lookup_method(name)(**kwargs)
+
+        if key and callable(key):
+            try:
+                # If a key function accepts two parameters
+                # then pass random instance to it.
+                return key(result, random)  # type: ignore
+            except TypeError:
+                return key(result)

-    def register_handler(self, field_name: str, field_handler: FieldHandler
-        ) ->None:
+        return result
+
+    def register_handler(self, field_name: str, field_handler: FieldHandler) -> None:
         """Register a new field handler.

         :param field_name: Name of the field.
         :param field_handler: Callable object.
         """
-        pass

-    def handle(self, field_name: (str | None)=None) ->Callable[[
-        FieldHandler], FieldHandler]:
+        if not isinstance(field_name, str):
+            raise TypeError("Field name must be a string.")
+
+        if not field_name.isidentifier():
+            raise FieldNameError(field_name)
+
+        if not callable(field_handler):
+            raise TypeError("Handler must be a callable object.")
+
+        callable_signature = inspect.signature(field_handler)
+
+        if len(callable_signature.parameters) <= 1:
+            raise FieldArityError()
+
+        if field_name not in self._handlers:
+            self._handlers[field_name] = field_handler
+
+    def handle(
+        self, field_name: str | None = None
+    ) -> Callable[[FieldHandler], FieldHandler]:
         """Decorator for registering a custom field handler.

         You can use this decorator only for functions,
@@ -148,40 +244,50 @@ class BaseField:
             If not specified, the name of the function is used.
         :return: Decorator.
         """
-        pass

-    def register_handlers(self, fields: RegisterableFieldHandlers) ->None:
+        def decorator(field_handler: FieldHandler) -> FieldHandler:
+            _field_name = field_name or field_handler.__name__
+            self.register_handler(_field_name, field_handler)
+            return field_handler
+
+        return decorator
+
+    def register_handlers(self, fields: RegisterableFieldHandlers) -> None:
         """Register the new field handlers.

         :param fields: A sequence of sequences with field name and handler.
         :return: None.
         """
-        pass
+        for name, handler in fields:
+            self.register_handler(name, handler)

-    def unregister_handler(self, field_name: str) ->None:
+    def unregister_handler(self, field_name: str) -> None:
         """Unregister a field handler.

         :param field_name: Name of the field.
         """
-        pass

-    def unregister_handlers(self, field_names: Sequence[str]=()) ->None:
+        self._handlers.pop(field_name, None)
+
+    def unregister_handlers(self, field_names: Sequence[str] = ()) -> None:
         """Unregister a field handlers with given names.

         :param field_names: Names of the fields.
         :return: None.
         """
-        pass

-    def unregister_all_handlers(self) ->None:
+        for name in field_names:
+            self.unregister_handler(name)
+
+    def unregister_all_handlers(self) -> None:
         """Unregister all custom field handlers.

         :return: None.
         """
-        pass
+        self._handlers.clear()

-    def __str__(self) ->str:
-        return f'{self.__class__.__name__} <{self._generic.locale}>'
+    def __str__(self) -> str:
+        return f"{self.__class__.__name__} <{self._generic.locale}>"


 class Field(BaseField):
@@ -207,7 +313,7 @@ class Field(BaseField):
         Dogtag_1836
     """

-    def __call__(self, *args: Any, **kwargs: Any) ->Any:
+    def __call__(self, *args: Any, **kwargs: Any) -> Any:
         return self.perform(*args, **kwargs)


@@ -236,10 +342,11 @@ class Fieldset(BaseField):
     :cvar fieldset_default_iterations: Default iterations. Default is **10**.
     :cvar fieldset_iterations_kwarg: Keyword argument for iterations. Default is **i**.
     """
+
     fieldset_default_iterations: int = 10
-    fieldset_iterations_kwarg: str = 'i'
+    fieldset_iterations_kwarg: str = "i"

-    def __init__(self, *args: Any, **kwargs: Any) ->None:
+    def __init__(self, *args: Any, **kwargs: Any) -> None:
         """Initialize fieldset.

         Accepts additional keyword argument **i** which is used
@@ -248,11 +355,13 @@ class Fieldset(BaseField):
         The name of the keyword argument can be changed by
         overriding **fieldset_iterations_kwarg** attribute of this class.
         """
-        self._iterations = kwargs.pop(self.fieldset_iterations_kwarg, self.
-            fieldset_default_iterations)
+        self._iterations = kwargs.pop(
+            self.fieldset_iterations_kwarg,
+            self.fieldset_default_iterations,
+        )
         super().__init__(*args, **kwargs)

-    def __call__(self, *args: Any, **kwargs: Any) ->list[Any]:
+    def __call__(self, *args: Any, **kwargs: Any) -> list[Any]:
         """Perform fieldset.

         :param args: Arguments for field.
@@ -261,18 +370,27 @@ class Fieldset(BaseField):
         :return: List of values.
         """
         min_iterations = 1
-        iterations = kwargs.pop(self.fieldset_iterations_kwarg, self.
-            _iterations)
+        iterations = kwargs.pop(
+            self.fieldset_iterations_kwarg,
+            self._iterations,
+        )
+
         if iterations < min_iterations:
             raise FieldsetError()
+
         return [self.perform(*args, **kwargs) for _ in range(iterations)]


 class Schema:
     """Class which return list of filled schemas."""
-    __slots__ = '__counter', '__schema', 'iterations'

-    def __init__(self, schema: CallableSchema, iterations: int=10) ->None:
+    __slots__ = (
+        "__counter",
+        "__schema",
+        "iterations",
+    )
+
+    def __init__(self, schema: CallableSchema, iterations: int = 10) -> None:
         """Initialize schema.

         :param iterations: Number of iterations.
@@ -280,39 +398,47 @@ class Schema:
         :param schema: A schema (must be a callable object).
         """
         if iterations < 1:
-            raise ValueError('Number of iterations should be greater than 1.')
+            raise ValueError("Number of iterations should be greater than 1.")
+
         self.iterations = iterations
-        if schema and callable(schema):
+        if schema and callable(schema):  # type: ignore[truthy-function]
             self.__schema = schema
             self.__counter = 0
         else:
             raise SchemaError()

-    def to_csv(self, file_path: str, **kwargs: Any) ->None:
+    def to_csv(self, file_path: str, **kwargs: Any) -> None:
         """Export a schema as a CSV file.

         :param file_path: The file path.
         :param kwargs: The keyword arguments for :py:class:`csv.DictWriter` class.
         """
-        pass
-
-    def to_json(self, file_path: str, **kwargs: Any) ->None:
+        data = self.create()
+        with open(file_path, "w", encoding="utf-8", newline="") as fp:
+            fieldnames = list(data[0])
+            dict_writer = csv.DictWriter(fp, fieldnames, **kwargs)
+            dict_writer.writeheader()
+            dict_writer.writerows(data)
+
+    def to_json(self, file_path: str, **kwargs: Any) -> None:
         """Export a schema as a JSON file.

         :param file_path: File a path.
         :param kwargs: Extra keyword arguments for :py:func:`json.dump` class.
         """
-        pass
+        with open(file_path, "w", encoding="utf-8") as fp:
+            json.dump(self.create(), fp, **kwargs)

-    def to_pickle(self, file_path: str, **kwargs: Any) ->None:
+    def to_pickle(self, file_path: str, **kwargs: Any) -> None:
         """Export a schema as the pickled representation of the object to the file.

         :param file_path: The file path.
         :param kwargs: Extra keyword arguments for :py:func:`pickle.dump` class.
         """
-        pass
+        with open(file_path, "wb") as fp:
+            pickle.dump(self.create(), fp, **kwargs)

-    def create(self) ->list[JSON]:
+    def create(self) -> list[JSON]:
         """Creates a list of a fulfilled schemas.

         .. note::
@@ -323,16 +449,16 @@ class Schema:

         :return: List of fulfilled schemas.
         """
-        pass
+        return [self.__schema() for _ in range(self.iterations)]

-    def __next__(self) ->JSON:
+    def __next__(self) -> JSON:
         """Return the next item from the iterator."""
         if self.__counter < self.iterations:
             self.__counter += 1
             return self.__schema()
         raise StopIteration

-    def __iter__(self) ->'Schema':
+    def __iter__(self) -> "Schema":
         """Return the iterator object itself."""
         self.__counter = 0
         return self
diff --git a/mimesis/shortcuts.py b/mimesis/shortcuts.py
index 21270681..c76cde1b 100644
--- a/mimesis/shortcuts.py
+++ b/mimesis/shortcuts.py
@@ -1,7 +1,7 @@
 """This module provides internal util functions."""


-def luhn_checksum(num: str) ->str:
+def luhn_checksum(num: str) -> str:
     """Calculate a checksum for num using the Luhn algorithm.

     Used to validate credit card numbers, IMEI numbers,
@@ -10,4 +10,12 @@ def luhn_checksum(num: str) ->str:
     :param num: The number to calculate a checksum for as a string.
     :return: Checksum for number.
     """
-    pass
+    check = 0
+    for i, s in enumerate(reversed(num)):
+        sx = int(s)
+        if i % 2 == 0:
+            sx *= 2
+        if sx > 9:
+            sx -= 9
+        check += sx
+    return str(check * 9 % 10)
diff --git a/mimesis/types.py b/mimesis/types.py
index 64e8a228..8ba4bf75 100644
--- a/mimesis/types.py
+++ b/mimesis/types.py
@@ -11,15 +11,33 @@ If any of the following statements is true, move the type to this file:
 - if type is very important for the public API

 """
+
 import datetime
 from decimal import Decimal
 from typing import Any, Callable, Final
-__all__ = ['CallableSchema', 'Date', 'DateTime', 'JSON', 'Key', 'Keywords',
-    'Matrix', 'MissingSeed', 'Seed', 'Time', 'Timestamp']
+
+__all__ = [
+    "CallableSchema",
+    "Date",
+    "DateTime",
+    "JSON",
+    "Key",
+    "Keywords",
+    "Matrix",
+    "MissingSeed",
+    "Seed",
+    "Time",
+    "Timestamp",
+]
+
 JSON = dict[str, Any]
+
 DateTime = datetime.datetime
+
 Time = datetime.time
+
 Date = datetime.date
+
 Timestamp = str | int


@@ -28,9 +46,15 @@ class _MissingSeed:


 MissingSeed: Final = _MissingSeed()
+
 Seed = None | int | float | str | bytes | bytearray | _MissingSeed
+
 Keywords = list[str] | set[str] | tuple[str, ...]
+
 Number = int | float | complex | Decimal
+
 Matrix = list[list[Number]]
+
 CallableSchema = Callable[[], JSON]
+
 Key = Callable[[Any], Any] | None