text: from .. import Provider as AddressProvider
  
  
  class Provider(AddressProvider):
      building_number_formats = ("###", "##", "#")
  
      postcode_formats = ("#####",)
  
      city_formats = ("{{city_name}}",)
  
      street_name_formats = ("{{street_prefix}}{{street_suffix}}",)
  
      street_address_formats = ("{{street_name}} {{building_number}}",)
  
      address_formats = ("{{street_address}}\n{{postcode}} {{city}}",)
  
      # Data from:
      # https://www.avoindata.fi/data/en/dataset/kunnat/resource/b1cb9870-191f-4616-9c53-5388b7ca6beb
      cities = (
          "Alajärvi",
          "Alavieska",
          "Alavus",
          "Asikkala",
          "Askola",
          "Aura",
          "Akaa",
          "Brändö",
          "Eckerö",
          "Enonkoski",
          "Enontekiö",
          "Espoo",
          "Eura",
          "Eurajoki",
          "Evijärvi",
          "Finström",
          "Forssa",
          "Föglö",
          "Geta",
          "Haapajärvi",
          "Haapavesi",
          "Hailuoto",
          "Halsua",
          "Hamina",
          "Hammarland",
          "Hankasalmi",
          "Hanko",
          "Harjavalta",
          "Hartola",
          "Hattula",
          "Hausjärvi",
          "Heinävesi",
          "Helsinki",
          "Vantaa",
          "Hirvensalmi",
          "Hollola",
          "Honkajoki",
          "Huittinen",
          "Humppila",
          "Hyrynsalmi",
          "Hyvinkää",
          "Hämeenkyrö",
          "Hämeenlinna",
          "Heinola",
          "Ii",
          "Iisalmi",
          "Iitti",
          "Ikaalinen",
          "Ilmajoki",
          "Ilomantsi",
          "Inari",
          "Inkoo",
          "Isojoki",
          "Isokyrö",
          "Imatra",
          "Janakkala",
          "Joensuu",
          "Jokioinen",
          "Jomala",
          "Joroinen",
          "Joutsa",
          "Juuka",
          "Juupajoki",
          "Juva",
          "Jyväskylä",
          "Jämijärvi",
          "Jämsä",
          "Järvenpää",
          "Kaarina",
          "Kaavi",
          "Kajaani",
          "Kalajoki",
          "Kangasala",
          "Kangasniemi",
          "Kankaanpää",
          "Kannonkoski",
          "Kannus",
          "Karijoki",
          "Karkkila",
          "Karstula",
          "Karvia",
          "Kaskinen",
          "Kauhajoki",
          "Kauhava",
          "Kauniainen",
          "Kaustinen",
          "Keitele",
          "Kemi",
          "Keminmaa",
          "Kempele",
          "Kerava",
          "Keuruu",
          "Kihniö",
          "Kinnula",
          "Kirkkonummi",
          "Kitee",
          "Kittilä",
          "Kiuruvesi",
          "Kivijärvi",
          "Kokemäki",
          "Kokkola",
          "Kolari",
          "Konnevesi",
          "Kontiolahti",
          "Korsnäs",
          "Koski Tl",
          "Kotka",
          "Kouvola",
          "Kristiinankaupunki",
          "Kruunupyy",
          "Kuhmo",
          "Kuhmoinen",
          "Kumlinge",
          "Kuopio",
          "Kuortane",
          "Kurikka",
          "Kustavi",
          "Kuusamo",
          "Outokumpu",
          "Kyyjärvi",
          "Kärkölä",
          "Kärsämäki",
          "Kökar",
          "Kemijärvi",
          "Kemiönsaari",
          "Lahti",
          "Laihia",
          "Laitila",
          "Lapinlahti",
          "Lappajärvi",
          "Lappeenranta",
          "Lapinjärvi",
          "Lapua",
          "Laukaa",
          "Lemi",
          "Lemland",
          "Lempäälä",
          "Leppävirta",
          "Lestijärvi",
          "Lieksa",
          "Lieto",
          "Liminka",
          "Liperi",
          "Loimaa",
          "Loppi",
          "Loviisa",
          "Luhanka",
          "Lumijoki",
          "Lumparland",
          "Luoto",
          "Luumäki",
          "Lohja",
          "Parainen",
          "Maalahti",
          "Maarianhamina",
          "Marttila",
          "Masku",
          "Merijärvi",
          "Merikarvia",
          "Miehikkälä",
          "Mikkeli",
          "Muhos",
          "Multia",
          "Muonio",
          "Mustasaari",
          "Muurame",
          "Mynämäki",
          "Myrskylä",
          "Mäntsälä",
          "Mäntyharju",
          "Mänttä-Vilppula",
          "Naantali",
          "Nakkila",
          "Nivala",
          "Nokia",
          "Nousiainen",
          "Nurmes",
          "Nurmijärvi",
          "Närpiö",
          "Orimattila",
          "Oripää",
          "Orivesi",
          "Oulainen",
          "Oulu",
          "Padasjoki",
          "Paimio",
          "Paltamo",
          "Parikkala",
          "Parkano",
          "Pelkosenniemi",
          "Perho",
          "Pertunmaa",
          "Petäjävesi",
          "Pieksämäki",
          "Pielavesi",
          "Pietarsaari",
          "Pedersören kunta",
          "Pihtipudas",
          "Pirkkala",
          "Polvijärvi",
          "Pomarkku",
          "Pori",
          "Pornainen",
          "Posio",
          "Pudasjärvi",
          "Pukkila",
          "Punkalaidun",
          "Puolanka",
          "Puumala",
          "Pyhtää",
          "Pyhäjoki",
          "Pyhäjärvi",
          "Pyhäntä",
          "Pyhäranta",
          "Pälkäne",
          "Pöytyä",
          "Porvoo",
          "Raahe",
          "Raisio",
          "Rantasalmi",
          "Ranua",
          "Rauma",
          "Rautalampi",
          "Rautavaara",
          "Rautjärvi",
          "Reisjärvi",
          "Riihimäki",
          "Ristijärvi",
          "Rovaniemi",
          "Ruokolahti",
          "Ruovesi",
          "Rusko",
          "Rääkkylä",
          "Raasepori",
          "Saarijärvi",
          "Salla",
          "Salo",
          "Saltvik",
          "Sauvo",
          "Savitaipale",
          "Savonlinna",
          "Savukoski",
          "Seinäjoki",
          "Sievi",
          "Siikainen",
          "Siikajoki",
          "Siilinjärvi",
          "Simo",
          "Sipoo",
          "Siuntio",
          "Sodankylä",
          "Soini",
          "Somero",
          "Sonkajärvi",
          "Sotkamo",
          "Sottunga",
          "Sulkava",
          "Sund",
          "Suomussalmi",
          "Suonenjoki",
          "Sysmä",
          "Säkylä",
          "Vaala",
          "Sastamala",
          "Siikalatva",
          "Taipalsaari",
          "Taivalkoski",
          "Taivassalo",
          "Tammela",
          "Tampere",
          "Tervo",
          "Tervola",
          "Teuva",
          "Tohmajärvi",
          "Toholampi",
          "Toivakka",
          "Tornio",
          "Turku",
          "Pello",
          "Tuusniemi",
          "Tuusula",
          "Tyrnävä",
          "Ulvila",
          "Urjala",
          "Utajärvi",
          "Utsjoki",
          "Uurainen",
          "Uusikaarlepyy",
          "Uusikaupunki",
          "Vaasa",
          "Valkeakoski",
          "Valtimo",
          "Varkaus",
          "Vehmaa",
          "Vesanto",
          "Vesilahti",
          "Veteli",
          "Vieremä",
          "Vihti",
          "Viitasaari",
          "Vimpeli",
          "Virolahti",
          "Virrat",
          "Värdö",
          "Vöyri",
          "Ylitornio",
          "Ylivieska",
          "Ylöjärvi",
          "Ypäjä",
          "Ähtäri",
          "Äänekoski",
      )
  
      countries = (
          "Afganistan",
          "Alankomaat",
          "Albania",
          "Algeria",
          "Andorra",
          "Angola",
          "Antigua ja Barbuda",
          "Argentiina",
          "Armenia",
          "Australia",
          "Azerbaidžan",
          "Bahama",
          "Bahrain",
          "Bangladesh",
          "Barbados",
          "Belgia",
          "Belize",
          "Benin",
          "Bhutan",
          "Bolivia",
          "Bosnia ja Hertsegovina",
          "Botswana",
          "Brasilia",
          "Brunei",
          "Bulgaria",
          "Burkina",
          "Faso",
          "Burundi",
          "Chile",
          "Costa",
          "Rica",
          "Djibouti",
          "Dominica",
          "Dominikaaninen tasavalta",
          "Ecuador",
          "Egypti",
          "El",
          "Salvador",
          "Eritrea",
          "Espanja",
          "Etelä-Afrikka",
          "Korean tasavalta",
          "Etelä-Sudan",
          "Etiopia",
          "Fidži",
          "Filippiinit",
          "Gabon",
          "Gambia",
          "Georgia",
          "Ghana",
          "Grenada",
          "Guatemala",
          "Guinea-Bissau",
          "Guinea",
          "Guyana",
          "Haiti",
          "Honduras",
          "Indonesia",
          "Intia",
          "Irak",
          "Iran",
          "Irlanti",
          "Islanti",
          "Israel",
          "Italia",
          "Itä-Timor",
          "Itävalta",
          "Jamaika",
          "Japani",
          "Jemen",
          "Jordania",
          "Kambodža",
          "Kamerun",
          "Kanada",
          "Kap",
          "Verde",
          "Kazakstan",
          "Kenia",
          "Keski-Afrikan tasavalta",
          "Kiina",
          "Kirgisia",
          "Kiribati",
          "Kolumbia",
          "Komorit",
          "Kongon demokraattinen tasavalta",
          "Kongon tasavalta",
          "Kosovo",
          "Kreikka",
          "Kroatia",
          "Kuuba",
          "Kuwait",
          "Kypros",
          "Laos",
          "Latvia",
          "Lesotho",
          "Libanon",
          "Liberia",
          "Libya",
          "Liechtenstein",
          "Liettua",
          "Luxemburg",
          "Madagaskar",
          "Makedonia",
          "Malawi",
          "Malediivit",
          "Malesia",
          "Mali",
          "Malta",
          "Marokko",
          "Marshallinsaaret",
          "Mauritania",
          "Mauritius",
          "Meksiko",
          "Mikronesia",
          "Moldova",
          "Monaco",
          "Mongolia",
          "Montenegro",
          "Mosambik",
          "Myanmar",
          "Namibia",
          "Nauru",
          "Nepal",
          "Nicaragua",
          "Nigeria",
          "Niger",
          "Norja",
          "Norsunluurannikko",
          "Oman",
          "Pakistan",
          "Palau",
          "Panama",
          "Papua-Uusi-Guinea",
          "Paraguay",
          "Peru",
          "Korean demokraattinen kansantasavalta",
          "Portugali",
          "Puola",
          "Päiväntasaajan Guinea",
          "Qatar",
          "Ranska",
          "Romania",
          "Ruanda",
          "Ruotsi",
          "Saint Kitts ja Nevis",
          "Saint Lucia",
          "Saint Vincent ja Grenadiinit",
          "Saksa",
          "Salomonsaaret",
          "Sambia",
          "Samoa",
          "San Marino",
          "São Tomé ja Príncipe",
          "Saudi-Arabia",
          "Senegal",
          "Serbia",
          "Seychellit",
          "Sierra",
          "Leone",
          "Singapore",
          "Slovakia",
          "Slovenia",
          "Somalia",
          "Sri",
          "Lanka",
          "Sudan",
          "Suomi",
          "Suriname",
          "Swazimaa",
          "Sveitsi",
          "Syyria",
          "Tadžikistan",
          "Tansania",
          "Tanska",
          "Thaimaa",
          "Togo",
          "Tonga",
          "Trinidad ja Tobago",
          "Tšad",
          "Tšekki",
          "Tunisia",
          "Turkki",
          "Turkmenistan",
          "Tuvalu",
          "Uganda",
          "Ukraina",
          "Unkari",
          "Uruguay",
          "Uusi-Seelanti",
          "Uzbekistan",
          "Valko-Venäjä",
          "Vanuatu",
          "Vatikaanivaltio",
          "Venezuela",
          "Venäjä",
          "Vietnam",
          "Viro",
          "Yhdistyneet arabiemiirikunnat",
          "Yhdistynyt kuningaskunta",
          "Yhdysvallat",
          "Zimbabwe",
      )
  
      # Data from Finnish legislation:
      # https://www.finlex.fi/fi/laki/alkup/2019/20190978
      states = (
          "Ahvenanmaa",
          "Etelä-Karjala",
          "Etelä-Pohjanmaa",
          "Etelä-Savo",
          "Kainuu",
          "Kanta-Häme",
          "Keski-Pohjanmaa",
          "Keski-Suomi",
          "Kymenlaakso",
          "Lappi",
          "Pirkanmaa",
          "Pohjanmaa",
          "Pohjois-Karjala",
          "Pohjois-Pohjanmaa",
          "Pohjois-Savo",
          "Päijät-Häme",
          "Satakunta",
          "Uusimaa",
          "Varsinais-Suomi",
      )
  
      street_suffixes = ("tie", "katu", "polku", "kuja", "bulevardi")
  
      # Prefixes parsed from a street list of Helsinki:
      # http://kartta.hel.fi/ws/geoserver/avoindata/wfs?outputFormat=application/json&REQUEST=GetFeature&typeNames=avoindata:Helsinki_osoiteluettelo
  
      street_prefixes = (
          "Adolf Lindforsin ",
          "Agnes Sjöbergin ",
          "Agnetan",
          "Agricolan",
          "Ahomäen",
          "Ahvenkosken",
          "Aidasmäen",
          "Agroksen",
          "Agronomin",
          "Ahdekaunokin",
          "Bertel Jungin ",
          "Bertha Pauligin ",
          "Betlehemin",
          "Betoni",
          "Biologin",
          "Birger Kaipiaisen ",
          "Bysantin",
          "Böstaksen",
          "Bengalin",
          "Benktan",
          "Bergan",
          "Caloniuksen",
          "Capellan puisto",
          "Castrénin",
          "Chydeniuksen",
          "Cygnaeuksen",
          "Dagmarin",
          "Damaskuksen",
          "Degermosan",
          "Disan",
          "Dosentin",
          "Dunckerin",
          "Döbelnin",
          "Ehrensvärdin",
          "Eino Leinon ",
          "Elimäen",
          "Elisabeth Kochin ",
          "Eljaksen",
          "Elon",
          "Elon",
          "Edelfeltin",
          "Eduskunta",
          "Eerik Pyhän ",
          "Franzénin",
          "Fredrikin",
          "Freesen",
          "Fabianin",
          "Fagotti",
          "Fahlanderin puisto",
          "Fallin",
          "Fallkullan",
          "Fallpakan",
          "Fastbölen",
          "Gadolinin",
          "Gneissi",
          "Granfeltin",
          "Gunillan",
          "Gunnel Nymanin ",
          "Graniitti",
          "Gustav Pauligin ",
          "Gyldénin",
          "Gotlannin",
          "Haapa",
          "Haagan pappilan",
          "Haahka",
          "Haakoninlahden",
          "Haaksi",
          "Hankasuon",
          "Hannukselan",
          "Harakkamyllyn",
          "Harava",
          "Harbon",
          "Ilmattaren",
          "Ilomäen",
          "Ilotulitus",
          "Iltaruskon",
          "Iltatähden",
          "Ilves",
          "Immolan",
          "Ilkan",
          "Ida Ekmanin ",
          "Ies",
          "Jälsi",
          "Jämsän",
          "Jänkä",
          "Jänne",
          "Järkäle",
          "Jätkäsaaren",
          "Jättiläisen",
          "Jyvä",
          "Jägerhornin",
          "Jäkälä",
          "Kukkaniityn",
          "Kolsin",
          "Kolu",
          "Kolvi",
          "Kuhankeittäjän",
          "Katajaharjun",
          "Kiitäjän",
          "Kilpolan",
          "Kimalais",
          "Kimmon",
          "Laajasalon",
          "Laakavuoren",
          "Lemun",
          "Lentokapteenin ",
          "Lepolan",
          "Louhen",
          "Louhikko",
          "Lukkarimäen",
          "Laurinniityn",
          "Lautamiehen",
          "Mamsellimyllyn",
          "Mannerheimin",
          "Maanmittarin",
          "Maapadon",
          "Maa",
          "Maasalon",
          "Maasälvän",
          "Maatullin",
          "Malminkartanon",
          "Maneesi",
          "Niittylän",
          "Niemi",
          "Niitynperän",
          "Nikon",
          "Nils Westermarckin ",
          "Nordenskiöldin",
          "Nelikko",
          "Neon",
          "Nervanderin",
          "Neulapadon",
          "Ostos",
          "Orapihlaja",
          "Oras",
          "Orava",
          "Osmon",
          "Osuuskunnan",
          "Orisaaren",
          "Ormus",
          "Orvokki",
          "Oterman",
          "Pore",
          "Porin",
          "Porkkalan",
          "Pyörökiven",
          "Puusepän",
          "Puuska",
          "Pohjolan",
          "Poikasaarten",
          "Purjetuulen",
          "Puroniityn",
          "Rukkilan",
          "Ruko",
          "Rukoushuoneen",
          "Runebergin",
          "Runoilijan",
          "Runokylän",
          "Runonlaulajan",
          "Rantavaraston",
          "Rapakiven",
          "Rapolan",
          "Santerlan",
          "Saparon",
          "Sapilas",
          "Saramäen",
          "Saanatunturin",
          "Sade",
          "Sahaajan",
          "Salakka",
          "Salama",
          "Salava",
          "Tuomarinkylän",
          "Tuulilasin",
          "Taavetti Laitisen ",
          "Taavin",
          "Tahti",
          "Taimiston",
          "Tukkisillan",
          "Tuohikoivun",
          "Tyynelän",
          "Tyynylaavan",
          "Uussillan",
          "Urheilu",
          "Urkurin",
          "Urpu",
          "Uskalikon",
          "Usva",
          "Uudenkaupungin",
          "Uunilinnun",
          "Uunisepän",
          "Uurtajan",
          "Vanha Raja",
          "Veropellon",
          "Veräjämäen",
          "Vesakko",
          "Vesalan",
          "Vellikellon",
          "Verkko",
          "Verso",
          "Vaakalinnun",
          "Vaarna",
          "Wavulinin",
          "Walentin Chorellin ",
          "Wallinin",
          "Waseniuksen puisto",
          "Wecksellin",
          "Willebrandin",
          "Winqvistin",
          "Wäinö Aaltosen ",
          "Werner Wirénin ",
          "Yhteiskoulun",
          "Ylipalon",
          "Yllästunturin",
          "Ylä-Fallin ",
          "Yläkasken",
          "Ylänkö",
          "Ylätuvan",
          "Yrjö-Koskisen ",
          "Yrjön",
          "Yrttimaan",
          "Zaidan",
      )
  
      def street_prefix(self) -> str:
          return self.random_element(self.street_prefixes)
  
      def city_name(self) -> str:
          return self.random_element(self.cities)
  
      def administrative_unit(self) -> str:
          return self.random_element(self.states)
  
      state = administrative_unit
  