summaryrefslogtreecommitdiff
path: root/addons/l10n_eu_service
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/l10n_eu_service
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/l10n_eu_service')
-rw-r--r--addons/l10n_eu_service/__init__.py13
-rw-r--r--addons/l10n_eu_service/__manifest__.py34
-rw-r--r--addons/l10n_eu_service/data/l10n_eu_service.service_tax_rate.csv29
-rw-r--r--addons/l10n_eu_service/models/__init__.py8
-rw-r--r--addons/l10n_eu_service/models/chart_template.py15
-rw-r--r--addons/l10n_eu_service/models/eu_service_tax_rate.py12
-rw-r--r--addons/l10n_eu_service/models/eu_tax_map.py2042
-rw-r--r--addons/l10n_eu_service/models/res_company.py111
-rw-r--r--addons/l10n_eu_service/models/res_config_settings.py19
-rw-r--r--addons/l10n_eu_service/security/ir.model.access.csv4
-rw-r--r--addons/l10n_eu_service/views/res_config_settings_views.xml20
-rw-r--r--addons/l10n_eu_service/wizard/__init__.py4
-rw-r--r--addons/l10n_eu_service/wizard/wizard.py124
-rw-r--r--addons/l10n_eu_service/wizard/wizard.xml52
14 files changed, 2487 insertions, 0 deletions
diff --git a/addons/l10n_eu_service/__init__.py b/addons/l10n_eu_service/__init__.py
new file mode 100644
index 00000000..dc54cb97
--- /dev/null
+++ b/addons/l10n_eu_service/__init__.py
@@ -0,0 +1,13 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import wizard
+from . import models
+from odoo import api, SUPERUSER_ID
+
+def l10n_eu_service_post_init(cr, registry):
+ env = api.Environment(cr, SUPERUSER_ID, {})
+ env['res.company']._map_all_eu_companies_taxes()
+
+def l10n_eu_service_uninstall(cr, registry):
+ cr.execute("DELETE FROM ir_model_data WHERE module = 'l10n_eu_service' and model in ('account.tax.group', 'account.account');")
diff --git a/addons/l10n_eu_service/__manifest__.py b/addons/l10n_eu_service/__manifest__.py
new file mode 100644
index 00000000..1693fb4f
--- /dev/null
+++ b/addons/l10n_eu_service/__manifest__.py
@@ -0,0 +1,34 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+{
+ 'name': 'EU One Stop Shop (OSS)',
+ 'category': 'Accounting/Localizations',
+ 'description': """
+EU One Stop Shop (OSS) VAT
+==========================
+
+From July 1st 2021, EU businesses that are selling goods within the EU above EUR 10 000 to buyers located in another EU Member State need to register and pay VAT in the buyers’ Member State.
+Below this new EU-wide threshold you can continue to apply the domestic rules for VAT on your cross-border sales. In order to simplify the application of this EU directive, the One Stop Shop (OSS) registration scheme allows businesses to make a unique tax declaration.
+
+This module makes it possible by helping with the creation of the required EU fiscal positions and taxes in order to automatically apply and record the required taxes.
+
+All you have to do is check that the proposed mapping is suitable for the products and services you sell.
+
+References
+++++++++++
+Council Directive (EU) 2017/2455 Council Directive (EU) 2019/1995
+Council Implementing Regulation (EU) 2019/2026
+
+ """,
+ 'depends': ['account'],
+ 'data': [
+ 'security/ir.model.access.csv',
+ 'wizard/wizard.xml',
+ 'data/l10n_eu_service.service_tax_rate.csv',
+ 'views/res_config_settings_views.xml',
+ ],
+ 'post_init_hook': 'l10n_eu_service_post_init',
+ 'uninstall_hook': 'l10n_eu_service_uninstall',
+ 'license': 'LGPL-3',
+}
diff --git a/addons/l10n_eu_service/data/l10n_eu_service.service_tax_rate.csv b/addons/l10n_eu_service/data/l10n_eu_service.service_tax_rate.csv
new file mode 100644
index 00000000..576e4821
--- /dev/null
+++ b/addons/l10n_eu_service/data/l10n_eu_service.service_tax_rate.csv
@@ -0,0 +1,29 @@
+id,country_id:id,rate
+eu_rate_at,base.at,21
+eu_rate_be,base.be,21
+eu_rate_bg,base.bg,20
+eu_rate_hr,base.hr,25
+eu_rate_cy,base.cy,21
+eu_rate_cz,base.cz,21
+eu_rate_dk,base.dk,25
+eu_rate_ee,base.ee,20
+eu_rate_fi,base.fi,24
+eu_rate_fr,base.fr,20
+eu_rate_de,base.de,19
+eu_rate_gr,base.gr,23
+eu_rate_hu,base.hu,27
+eu_rate_ie,base.ie,23
+eu_rate_it,base.it,22
+eu_rate_lv,base.lv,21
+eu_rate_lt,base.lt,21
+eu_rate_lu,base.lu,17
+eu_rate_mt,base.mt,18
+eu_rate_nl,base.nl,21
+eu_rate_pl,base.pl,23
+eu_rate_pt,base.pt,23
+eu_rate_ro,base.ro,24
+eu_rate_sk,base.sk,20
+eu_rate_si,base.si,22
+eu_rate_es,base.es,21
+eu_rate_se,base.se,24
+eu_rate_uk,base.uk,20
diff --git a/addons/l10n_eu_service/models/__init__.py b/addons/l10n_eu_service/models/__init__.py
new file mode 100644
index 00000000..52904aa1
--- /dev/null
+++ b/addons/l10n_eu_service/models/__init__.py
@@ -0,0 +1,8 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import chart_template
+from . import eu_service_tax_rate
+from . import eu_tax_map
+from . import res_company
+from . import res_config_settings
diff --git a/addons/l10n_eu_service/models/chart_template.py b/addons/l10n_eu_service/models/chart_template.py
new file mode 100644
index 00000000..019d5f76
--- /dev/null
+++ b/addons/l10n_eu_service/models/chart_template.py
@@ -0,0 +1,15 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models, _
+
+class AccountChartTemplate(models.Model):
+ _inherit = 'account.chart.template'
+
+ def _load(self, sale_tax_rate, purchase_tax_rate, company):
+ rslt = super()._load( sale_tax_rate, purchase_tax_rate, company)
+
+ if company.account_tax_fiscal_country_id in self.env.ref('base.europe').country_ids:
+ company._map_eu_taxes()
+
+ return rslt
diff --git a/addons/l10n_eu_service/models/eu_service_tax_rate.py b/addons/l10n_eu_service/models/eu_service_tax_rate.py
new file mode 100644
index 00000000..ab92ee89
--- /dev/null
+++ b/addons/l10n_eu_service/models/eu_service_tax_rate.py
@@ -0,0 +1,12 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import fields, models
+
+
+class ServiceTaxRate(models.Model):
+ _name = "l10n_eu_service.service_tax_rate"
+ _description = "EU Service Tax Rate"
+
+ country_id = fields.Many2one('res.country', string='Country')
+ rate = fields.Float(string="VAT Rate")
diff --git a/addons/l10n_eu_service/models/eu_tax_map.py b/addons/l10n_eu_service/models/eu_tax_map.py
new file mode 100644
index 00000000..1b2f7132
--- /dev/null
+++ b/addons/l10n_eu_service/models/eu_tax_map.py
@@ -0,0 +1,2042 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+"""
+The EU_TAX_MAP dictionary contains a basic Tax Mapping for EU countries. It answers the question:
+for an X% tax rate in the domestic country, what is the corresponding rate in a foreign EU country?
+
+it takes the form tuple: rate, where
+ (Fiscal Country Code, Domestic Tax Rate, Foreign Country Code): Foreign Tax Rate
+"""
+
+EU_TAX_MAP = {
+ ('AT', 10.0, 'BE'): 6.0,
+ ('AT', 10.0, 'BG'): 20.0,
+ ('AT', 10.0, 'CY'): 5.0,
+ ('AT', 10.0, 'CZ'): 15.0,
+ ('AT', 10.0, 'DE'): 7.0,
+ ('AT', 10.0, 'DK'): 25.0,
+ ('AT', 10.0, 'EE'): 9.0,
+ ('AT', 10.0, 'ES'): 10.0,
+ ('AT', 10.0, 'FI'): 10.0,
+ ('AT', 10.0, 'FR'): 5.5,
+ ('AT', 10.0, 'GR'): 13.0,
+ ('AT', 10.0, 'HR'): 5.0,
+ ('AT', 10.0, 'HU'): 5.0,
+ ('AT', 10.0, 'IE'): 13.5,
+ ('AT', 10.0, 'IT'): 4.0,
+ ('AT', 10.0, 'LT'): 5.0,
+ ('AT', 10.0, 'LU'): 8.0,
+ ('AT', 10.0, 'LV'): 12.0,
+ ('AT', 10.0, 'MT'): 5.0,
+ ('AT', 10.0, 'NL'): 9.0,
+ ('AT', 10.0, 'PL'): 8.0,
+ ('AT', 10.0, 'PT'): 6.0,
+ ('AT', 10.0, 'RO'): 5.0,
+ ('AT', 10.0, 'SE'): 6.0,
+ ('AT', 10.0, 'SI'): 9.5,
+ ('AT', 10.0, 'SK'): 10.0,
+ ('AT', 13.0, 'BE'): 21.0,
+ ('AT', 13.0, 'BG'): 20.0,
+ ('AT', 13.0, 'CY'): 19.0,
+ ('AT', 13.0, 'CZ'): 21.0,
+ ('AT', 13.0, 'DE'): 19.0,
+ ('AT', 13.0, 'DK'): 25.0,
+ ('AT', 13.0, 'EE'): 20.0,
+ ('AT', 13.0, 'ES'): 21.0,
+ ('AT', 13.0, 'FI'): 24.0,
+ ('AT', 13.0, 'FR'): 20.0,
+ ('AT', 13.0, 'GR'): 24.0,
+ ('AT', 13.0, 'HR'): 25.0,
+ ('AT', 13.0, 'HU'): 27.0,
+ ('AT', 13.0, 'IE'): 23.0,
+ ('AT', 13.0, 'IT'): 22.0,
+ ('AT', 13.0, 'LT'): 21.0,
+ ('AT', 13.0, 'LU'): 17.0,
+ ('AT', 13.0, 'LV'): 21.0,
+ ('AT', 13.0, 'MT'): 18.0,
+ ('AT', 13.0, 'NL'): 21.0,
+ ('AT', 13.0, 'PL'): 23.0,
+ ('AT', 13.0, 'PT'): 23.0,
+ ('AT', 13.0, 'RO'): 19.0,
+ ('AT', 13.0, 'SE'): 25.0,
+ ('AT', 13.0, 'SI'): 22.0,
+ ('AT', 13.0, 'SK'): 20.0,
+ ('AT', 20.0, 'BE'): 21.0,
+ ('AT', 20.0, 'BG'): 20.0,
+ ('AT', 20.0, 'CY'): 19.0,
+ ('AT', 20.0, 'CZ'): 21.0,
+ ('AT', 20.0, 'DE'): 19.0,
+ ('AT', 20.0, 'DK'): 25.0,
+ ('AT', 20.0, 'EE'): 20.0,
+ ('AT', 20.0, 'ES'): 21.0,
+ ('AT', 20.0, 'FI'): 24.0,
+ ('AT', 20.0, 'FR'): 20.0,
+ ('AT', 20.0, 'GR'): 24.0,
+ ('AT', 20.0, 'HR'): 25.0,
+ ('AT', 20.0, 'HU'): 27.0,
+ ('AT', 20.0, 'IE'): 23.0,
+ ('AT', 20.0, 'IT'): 22.0,
+ ('AT', 20.0, 'LT'): 21.0,
+ ('AT', 20.0, 'LU'): 17.0,
+ ('AT', 20.0, 'LV'): 21.0,
+ ('AT', 20.0, 'MT'): 18.0,
+ ('AT', 20.0, 'NL'): 21.0,
+ ('AT', 20.0, 'PL'): 23.0,
+ ('AT', 20.0, 'PT'): 23.0,
+ ('AT', 20.0, 'RO'): 19.0,
+ ('AT', 20.0, 'SE'): 25.0,
+ ('AT', 20.0, 'SI'): 22.0,
+ ('AT', 20.0, 'SK'): 20.0,
+ ('BE', 12.0, 'AT'): 20.0,
+ ('BE', 12.0, 'BG'): 20.0,
+ ('BE', 12.0, 'CY'): 19.0,
+ ('BE', 12.0, 'CZ'): 21.0,
+ ('BE', 12.0, 'DE'): 19.0,
+ ('BE', 12.0, 'DK'): 25.0,
+ ('BE', 12.0, 'EE'): 20.0,
+ ('BE', 12.0, 'ES'): 21.0,
+ ('BE', 12.0, 'FI'): 24.0,
+ ('BE', 12.0, 'FR'): 20.0,
+ ('BE', 12.0, 'GR'): 24.0,
+ ('BE', 12.0, 'HR'): 25.0,
+ ('BE', 12.0, 'HU'): 27.0,
+ ('BE', 12.0, 'IE'): 23.0,
+ ('BE', 12.0, 'IT'): 22.0,
+ ('BE', 12.0, 'LT'): 21.0,
+ ('BE', 12.0, 'LU'): 17.0,
+ ('BE', 12.0, 'LV'): 21.0,
+ ('BE', 12.0, 'MT'): 18.0,
+ ('BE', 12.0, 'NL'): 21.0,
+ ('BE', 12.0, 'PL'): 23.0,
+ ('BE', 12.0, 'PT'): 23.0,
+ ('BE', 12.0, 'RO'): 19.0,
+ ('BE', 12.0, 'SE'): 25.0,
+ ('BE', 12.0, 'SI'): 22.0,
+ ('BE', 12.0, 'SK'): 20.0,
+ ('BE', 21.0, 'AT'): 20.0,
+ ('BE', 21.0, 'BG'): 20.0,
+ ('BE', 21.0, 'CY'): 19.0,
+ ('BE', 21.0, 'CZ'): 21.0,
+ ('BE', 21.0, 'DE'): 19.0,
+ ('BE', 21.0, 'DK'): 25.0,
+ ('BE', 21.0, 'EE'): 20.0,
+ ('BE', 21.0, 'ES'): 21.0,
+ ('BE', 21.0, 'FI'): 24.0,
+ ('BE', 21.0, 'FR'): 20.0,
+ ('BE', 21.0, 'GR'): 24.0,
+ ('BE', 21.0, 'HR'): 25.0,
+ ('BE', 21.0, 'HU'): 27.0,
+ ('BE', 21.0, 'IE'): 23.0,
+ ('BE', 21.0, 'IT'): 22.0,
+ ('BE', 21.0, 'LT'): 21.0,
+ ('BE', 21.0, 'LU'): 17.0,
+ ('BE', 21.0, 'LV'): 21.0,
+ ('BE', 21.0, 'MT'): 18.0,
+ ('BE', 21.0, 'NL'): 21.0,
+ ('BE', 21.0, 'PL'): 23.0,
+ ('BE', 21.0, 'PT'): 23.0,
+ ('BE', 21.0, 'RO'): 19.0,
+ ('BE', 21.0, 'SE'): 25.0,
+ ('BE', 21.0, 'SI'): 22.0,
+ ('BE', 21.0, 'SK'): 20.0,
+ ('BE', 6.0, 'AT'): 10.0,
+ ('BE', 6.0, 'BG'): 20.0,
+ ('BE', 6.0, 'CY'): 5.0,
+ ('BE', 6.0, 'CZ'): 15.0,
+ ('BE', 6.0, 'DE'): 7.0,
+ ('BE', 6.0, 'DK'): 25.0,
+ ('BE', 6.0, 'EE'): 9.0,
+ ('BE', 6.0, 'ES'): 10.0,
+ ('BE', 6.0, 'FI'): 10.0,
+ ('BE', 6.0, 'FR'): 5.5,
+ ('BE', 6.0, 'GR'): 13.0,
+ ('BE', 6.0, 'HR'): 5.0,
+ ('BE', 6.0, 'HU'): 5.0,
+ ('BE', 6.0, 'IE'): 13.5,
+ ('BE', 6.0, 'IT'): 4.0,
+ ('BE', 6.0, 'LT'): 5.0,
+ ('BE', 6.0, 'LU'): 8.0,
+ ('BE', 6.0, 'LV'): 12.0,
+ ('BE', 6.0, 'MT'): 5.0,
+ ('BE', 6.0, 'NL'): 9.0,
+ ('BE', 6.0, 'PL'): 8.0,
+ ('BE', 6.0, 'PT'): 6.0,
+ ('BE', 6.0, 'RO'): 5.0,
+ ('BE', 6.0, 'SE'): 6.0,
+ ('BE', 6.0, 'SI'): 9.5,
+ ('BE', 6.0, 'SK'): 10.0,
+ ('BG', 20.0, 'AT'): 20.0,
+ ('BG', 20.0, 'BE'): 21.0,
+ ('BG', 20.0, 'CY'): 19.0,
+ ('BG', 20.0, 'CZ'): 21.0,
+ ('BG', 20.0, 'DE'): 19.0,
+ ('BG', 20.0, 'DK'): 25.0,
+ ('BG', 20.0, 'EE'): 20.0,
+ ('BG', 20.0, 'ES'): 21.0,
+ ('BG', 20.0, 'FI'): 24.0,
+ ('BG', 20.0, 'FR'): 20.0,
+ ('BG', 20.0, 'GR'): 24.0,
+ ('BG', 20.0, 'HR'): 25.0,
+ ('BG', 20.0, 'HU'): 27.0,
+ ('BG', 20.0, 'IE'): 23.0,
+ ('BG', 20.0, 'IT'): 22.0,
+ ('BG', 20.0, 'LT'): 21.0,
+ ('BG', 20.0, 'LU'): 17.0,
+ ('BG', 20.0, 'LV'): 21.0,
+ ('BG', 20.0, 'MT'): 18.0,
+ ('BG', 20.0, 'NL'): 21.0,
+ ('BG', 20.0, 'PL'): 23.0,
+ ('BG', 20.0, 'PT'): 23.0,
+ ('BG', 20.0, 'RO'): 19.0,
+ ('BG', 20.0, 'SE'): 25.0,
+ ('BG', 20.0, 'SI'): 22.0,
+ ('BG', 20.0, 'SK'): 20.0,
+ ('BG', 9.0, 'AT'): 10.0,
+ ('BG', 9.0, 'BE'): 6.0,
+ ('BG', 9.0, 'CY'): 5.0,
+ ('BG', 9.0, 'CZ'): 15.0,
+ ('BG', 9.0, 'DE'): 7.0,
+ ('BG', 9.0, 'DK'): 25.0,
+ ('BG', 9.0, 'EE'): 9.0,
+ ('BG', 9.0, 'ES'): 10.0,
+ ('BG', 9.0, 'FI'): 10.0,
+ ('BG', 9.0, 'FR'): 5.5,
+ ('BG', 9.0, 'GR'): 13.0,
+ ('BG', 9.0, 'HR'): 5.0,
+ ('BG', 9.0, 'HU'): 5.0,
+ ('BG', 9.0, 'IE'): 13.5,
+ ('BG', 9.0, 'IT'): 4.0,
+ ('BG', 9.0, 'LT'): 5.0,
+ ('BG', 9.0, 'LU'): 8.0,
+ ('BG', 9.0, 'LV'): 12.0,
+ ('BG', 9.0, 'MT'): 5.0,
+ ('BG', 9.0, 'NL'): 9.0,
+ ('BG', 9.0, 'PL'): 8.0,
+ ('BG', 9.0, 'PT'): 6.0,
+ ('BG', 9.0, 'RO'): 5.0,
+ ('BG', 9.0, 'SE'): 6.0,
+ ('BG', 9.0, 'SI'): 9.5,
+ ('BG', 9.0, 'SK'): 10.0,
+ ('CY', 19.0, 'AT'): 20.0,
+ ('CY', 19.0, 'BE'): 21.0,
+ ('CY', 19.0, 'BG'): 20.0,
+ ('CY', 19.0, 'CZ'): 21.0,
+ ('CY', 19.0, 'DE'): 19.0,
+ ('CY', 19.0, 'DK'): 25.0,
+ ('CY', 19.0, 'EE'): 20.0,
+ ('CY', 19.0, 'ES'): 21.0,
+ ('CY', 19.0, 'FI'): 24.0,
+ ('CY', 19.0, 'FR'): 20.0,
+ ('CY', 19.0, 'GR'): 24.0,
+ ('CY', 19.0, 'HR'): 25.0,
+ ('CY', 19.0, 'HU'): 27.0,
+ ('CY', 19.0, 'IE'): 23.0,
+ ('CY', 19.0, 'IT'): 22.0,
+ ('CY', 19.0, 'LT'): 21.0,
+ ('CY', 19.0, 'LU'): 17.0,
+ ('CY', 19.0, 'LV'): 21.0,
+ ('CY', 19.0, 'MT'): 18.0,
+ ('CY', 19.0, 'NL'): 21.0,
+ ('CY', 19.0, 'PL'): 23.0,
+ ('CY', 19.0, 'PT'): 23.0,
+ ('CY', 19.0, 'RO'): 19.0,
+ ('CY', 19.0, 'SE'): 25.0,
+ ('CY', 19.0, 'SI'): 22.0,
+ ('CY', 19.0, 'SK'): 20.0,
+ ('CY', 5.0, 'AT'): 10.0,
+ ('CY', 5.0, 'BE'): 6.0,
+ ('CY', 5.0, 'BG'): 20.0,
+ ('CY', 5.0, 'CZ'): 15.0,
+ ('CY', 5.0, 'DE'): 7.0,
+ ('CY', 5.0, 'DK'): 25.0,
+ ('CY', 5.0, 'EE'): 9.0,
+ ('CY', 5.0, 'ES'): 10.0,
+ ('CY', 5.0, 'FI'): 10.0,
+ ('CY', 5.0, 'FR'): 5.5,
+ ('CY', 5.0, 'GR'): 13.0,
+ ('CY', 5.0, 'HR'): 5.0,
+ ('CY', 5.0, 'HU'): 5.0,
+ ('CY', 5.0, 'IE'): 13.5,
+ ('CY', 5.0, 'IT'): 4.0,
+ ('CY', 5.0, 'LT'): 5.0,
+ ('CY', 5.0, 'LU'): 8.0,
+ ('CY', 5.0, 'LV'): 12.0,
+ ('CY', 5.0, 'MT'): 5.0,
+ ('CY', 5.0, 'NL'): 9.0,
+ ('CY', 5.0, 'PL'): 8.0,
+ ('CY', 5.0, 'PT'): 6.0,
+ ('CY', 5.0, 'RO'): 5.0,
+ ('CY', 5.0, 'SE'): 6.0,
+ ('CY', 5.0, 'SI'): 9.5,
+ ('CY', 5.0, 'SK'): 10.0,
+ ('CY', 9.0, 'AT'): 10.0,
+ ('CY', 9.0, 'BE'): 6.0,
+ ('CY', 9.0, 'BG'): 20.0,
+ ('CY', 9.0, 'CZ'): 15.0,
+ ('CY', 9.0, 'DE'): 7.0,
+ ('CY', 9.0, 'DK'): 25.0,
+ ('CY', 9.0, 'EE'): 9.0,
+ ('CY', 9.0, 'ES'): 10.0,
+ ('CY', 9.0, 'FI'): 10.0,
+ ('CY', 9.0, 'FR'): 5.5,
+ ('CY', 9.0, 'GR'): 13.0,
+ ('CY', 9.0, 'HR'): 13.0,
+ ('CY', 9.0, 'HU'): 5.0,
+ ('CY', 9.0, 'IE'): 13.5,
+ ('CY', 9.0, 'IT'): 10.0,
+ ('CY', 9.0, 'LT'): 5.0,
+ ('CY', 9.0, 'LU'): 8.0,
+ ('CY', 9.0, 'LV'): 12.0,
+ ('CY', 9.0, 'MT'): 5.0,
+ ('CY', 9.0, 'NL'): 9.0,
+ ('CY', 9.0, 'PL'): 8.0,
+ ('CY', 9.0, 'PT'): 6.0,
+ ('CY', 9.0, 'RO'): 5.0,
+ ('CY', 9.0, 'SE'): 6.0,
+ ('CY', 9.0, 'SI'): 9.5,
+ ('CY', 9.0, 'SK'): 10.0,
+ ('CZ', 10.0, 'AT'): 10.0,
+ ('CZ', 10.0, 'BE'): 6.0,
+ ('CZ', 10.0, 'BG'): 20.0,
+ ('CZ', 10.0, 'CY'): 5.0,
+ ('CZ', 10.0, 'DE'): 7.0,
+ ('CZ', 10.0, 'DK'): 25.0,
+ ('CZ', 10.0, 'EE'): 9.0,
+ ('CZ', 10.0, 'ES'): 10.0,
+ ('CZ', 10.0, 'FI'): 10.0,
+ ('CZ', 10.0, 'FR'): 5.5,
+ ('CZ', 10.0, 'GR'): 13.0,
+ ('CZ', 10.0, 'HR'): 5.0,
+ ('CZ', 10.0, 'HU'): 5.0,
+ ('CZ', 10.0, 'IE'): 13.5,
+ ('CZ', 10.0, 'IT'): 4.0,
+ ('CZ', 10.0, 'LT'): 5.0,
+ ('CZ', 10.0, 'LU'): 8.0,
+ ('CZ', 10.0, 'LV'): 12.0,
+ ('CZ', 10.0, 'MT'): 5.0,
+ ('CZ', 10.0, 'NL'): 9.0,
+ ('CZ', 10.0, 'PL'): 8.0,
+ ('CZ', 10.0, 'PT'): 6.0,
+ ('CZ', 10.0, 'RO'): 5.0,
+ ('CZ', 10.0, 'SE'): 6.0,
+ ('CZ', 10.0, 'SI'): 9.5,
+ ('CZ', 10.0, 'SK'): 10.0,
+ ('CZ', 15.0, 'AT'): 10.0,
+ ('CZ', 15.0, 'BE'): 6.0,
+ ('CZ', 15.0, 'BG'): 20.0,
+ ('CZ', 15.0, 'CY'): 5.0,
+ ('CZ', 15.0, 'DE'): 7.0,
+ ('CZ', 15.0, 'DK'): 25.0,
+ ('CZ', 15.0, 'EE'): 9.0,
+ ('CZ', 15.0, 'ES'): 10.0,
+ ('CZ', 15.0, 'FI'): 10.0,
+ ('CZ', 15.0, 'FR'): 5.5,
+ ('CZ', 15.0, 'GR'): 13.0,
+ ('CZ', 15.0, 'HR'): 13.0,
+ ('CZ', 15.0, 'HU'): 5.0,
+ ('CZ', 15.0, 'IE'): 13.5,
+ ('CZ', 15.0, 'IT'): 10.0,
+ ('CZ', 15.0, 'LT'): 5.0,
+ ('CZ', 15.0, 'LU'): 8.0,
+ ('CZ', 15.0, 'LV'): 12.0,
+ ('CZ', 15.0, 'MT'): 5.0,
+ ('CZ', 15.0, 'NL'): 9.0,
+ ('CZ', 15.0, 'PL'): 8.0,
+ ('CZ', 15.0, 'PT'): 6.0,
+ ('CZ', 15.0, 'RO'): 5.0,
+ ('CZ', 15.0, 'SE'): 6.0,
+ ('CZ', 15.0, 'SI'): 9.5,
+ ('CZ', 15.0, 'SK'): 10.0,
+ ('CZ', 21.0, 'AT'): 20.0,
+ ('CZ', 21.0, 'BE'): 21.0,
+ ('CZ', 21.0, 'BG'): 20.0,
+ ('CZ', 21.0, 'CY'): 19.0,
+ ('CZ', 21.0, 'DE'): 19.0,
+ ('CZ', 21.0, 'DK'): 25.0,
+ ('CZ', 21.0, 'EE'): 20.0,
+ ('CZ', 21.0, 'ES'): 21.0,
+ ('CZ', 21.0, 'FI'): 24.0,
+ ('CZ', 21.0, 'FR'): 20.0,
+ ('CZ', 21.0, 'GR'): 24.0,
+ ('CZ', 21.0, 'HR'): 25.0,
+ ('CZ', 21.0, 'HU'): 27.0,
+ ('CZ', 21.0, 'IE'): 23.0,
+ ('CZ', 21.0, 'IT'): 22.0,
+ ('CZ', 21.0, 'LT'): 21.0,
+ ('CZ', 21.0, 'LU'): 17.0,
+ ('CZ', 21.0, 'LV'): 21.0,
+ ('CZ', 21.0, 'MT'): 18.0,
+ ('CZ', 21.0, 'NL'): 21.0,
+ ('CZ', 21.0, 'PL'): 23.0,
+ ('CZ', 21.0, 'PT'): 23.0,
+ ('CZ', 21.0, 'RO'): 19.0,
+ ('CZ', 21.0, 'SE'): 25.0,
+ ('CZ', 21.0, 'SI'): 22.0,
+ ('CZ', 21.0, 'SK'): 20.0,
+ ('DE', 19.0, 'AT'): 20.0,
+ ('DE', 19.0, 'BE'): 21.0,
+ ('DE', 19.0, 'BG'): 20.0,
+ ('DE', 19.0, 'CY'): 19.0,
+ ('DE', 19.0, 'CZ'): 21.0,
+ ('DE', 19.0, 'DK'): 25.0,
+ ('DE', 19.0, 'EE'): 20.0,
+ ('DE', 19.0, 'ES'): 21.0,
+ ('DE', 19.0, 'FI'): 24.0,
+ ('DE', 19.0, 'FR'): 20.0,
+ ('DE', 19.0, 'GR'): 24.0,
+ ('DE', 19.0, 'HR'): 25.0,
+ ('DE', 19.0, 'HU'): 27.0,
+ ('DE', 19.0, 'IE'): 23.0,
+ ('DE', 19.0, 'IT'): 22.0,
+ ('DE', 19.0, 'LT'): 21.0,
+ ('DE', 19.0, 'LU'): 17.0,
+ ('DE', 19.0, 'LV'): 21.0,
+ ('DE', 19.0, 'MT'): 18.0,
+ ('DE', 19.0, 'NL'): 21.0,
+ ('DE', 19.0, 'PL'): 23.0,
+ ('DE', 19.0, 'PT'): 23.0,
+ ('DE', 19.0, 'RO'): 19.0,
+ ('DE', 19.0, 'SE'): 25.0,
+ ('DE', 19.0, 'SI'): 22.0,
+ ('DE', 19.0, 'SK'): 20.0,
+ ('DE', 7.0, 'AT'): 10.0,
+ ('DE', 7.0, 'BE'): 6.0,
+ ('DE', 7.0, 'BG'): 20.0,
+ ('DE', 7.0, 'CY'): 5.0,
+ ('DE', 7.0, 'CZ'): 15.0,
+ ('DE', 7.0, 'DK'): 25.0,
+ ('DE', 7.0, 'EE'): 9.0,
+ ('DE', 7.0, 'ES'): 10.0,
+ ('DE', 7.0, 'FI'): 10.0,
+ ('DE', 7.0, 'FR'): 5.5,
+ ('DE', 7.0, 'GR'): 13.0,
+ ('DE', 7.0, 'HR'): 5.0,
+ ('DE', 7.0, 'HU'): 5.0,
+ ('DE', 7.0, 'IE'): 13.5,
+ ('DE', 7.0, 'IT'): 4.0,
+ ('DE', 7.0, 'LT'): 5.0,
+ ('DE', 7.0, 'LU'): 8.0,
+ ('DE', 7.0, 'LV'): 12.0,
+ ('DE', 7.0, 'MT'): 5.0,
+ ('DE', 7.0, 'NL'): 9.0,
+ ('DE', 7.0, 'PL'): 8.0,
+ ('DE', 7.0, 'PT'): 6.0,
+ ('DE', 7.0, 'RO'): 5.0,
+ ('DE', 7.0, 'SE'): 6.0,
+ ('DE', 7.0, 'SI'): 9.5,
+ ('DE', 7.0, 'SK'): 10.0,
+ ('DK', 25.0, 'AT'): 20.0,
+ ('DK', 25.0, 'BE'): 21.0,
+ ('DK', 25.0, 'BG'): 20.0,
+ ('DK', 25.0, 'CY'): 19.0,
+ ('DK', 25.0, 'CZ'): 21.0,
+ ('DK', 25.0, 'DE'): 19.0,
+ ('DK', 25.0, 'EE'): 20.0,
+ ('DK', 25.0, 'ES'): 21.0,
+ ('DK', 25.0, 'FI'): 24.0,
+ ('DK', 25.0, 'FR'): 20.0,
+ ('DK', 25.0, 'GR'): 24.0,
+ ('DK', 25.0, 'HR'): 25.0,
+ ('DK', 25.0, 'HU'): 27.0,
+ ('DK', 25.0, 'IE'): 23.0,
+ ('DK', 25.0, 'IT'): 22.0,
+ ('DK', 25.0, 'LT'): 21.0,
+ ('DK', 25.0, 'LU'): 17.0,
+ ('DK', 25.0, 'LV'): 21.0,
+ ('DK', 25.0, 'MT'): 18.0,
+ ('DK', 25.0, 'NL'): 21.0,
+ ('DK', 25.0, 'PL'): 23.0,
+ ('DK', 25.0, 'PT'): 23.0,
+ ('DK', 25.0, 'RO'): 19.0,
+ ('DK', 25.0, 'SE'): 25.0,
+ ('DK', 25.0, 'SI'): 22.0,
+ ('DK', 25.0, 'SK'): 20.0,
+ ('EE', 20.0, 'AT'): 20.0,
+ ('EE', 20.0, 'BE'): 21.0,
+ ('EE', 20.0, 'BG'): 20.0,
+ ('EE', 20.0, 'CY'): 19.0,
+ ('EE', 20.0, 'CZ'): 21.0,
+ ('EE', 20.0, 'DE'): 19.0,
+ ('EE', 20.0, 'DK'): 25.0,
+ ('EE', 20.0, 'ES'): 21.0,
+ ('EE', 20.0, 'FI'): 24.0,
+ ('EE', 20.0, 'FR'): 20.0,
+ ('EE', 20.0, 'GR'): 24.0,
+ ('EE', 20.0, 'HR'): 25.0,
+ ('EE', 20.0, 'HU'): 27.0,
+ ('EE', 20.0, 'IE'): 23.0,
+ ('EE', 20.0, 'IT'): 22.0,
+ ('EE', 20.0, 'LT'): 21.0,
+ ('EE', 20.0, 'LU'): 17.0,
+ ('EE', 20.0, 'LV'): 21.0,
+ ('EE', 20.0, 'MT'): 18.0,
+ ('EE', 20.0, 'NL'): 21.0,
+ ('EE', 20.0, 'PL'): 23.0,
+ ('EE', 20.0, 'PT'): 23.0,
+ ('EE', 20.0, 'RO'): 19.0,
+ ('EE', 20.0, 'SE'): 25.0,
+ ('EE', 20.0, 'SI'): 22.0,
+ ('EE', 20.0, 'SK'): 20.0,
+ ('EE', 9.0, 'AT'): 10.0,
+ ('EE', 9.0, 'BE'): 6.0,
+ ('EE', 9.0, 'BG'): 20.0,
+ ('EE', 9.0, 'CY'): 5.0,
+ ('EE', 9.0, 'CZ'): 15.0,
+ ('EE', 9.0, 'DE'): 7.0,
+ ('EE', 9.0, 'DK'): 25.0,
+ ('EE', 9.0, 'ES'): 10.0,
+ ('EE', 9.0, 'FI'): 10.0,
+ ('EE', 9.0, 'FR'): 5.5,
+ ('EE', 9.0, 'GR'): 13.0,
+ ('EE', 9.0, 'HR'): 5.0,
+ ('EE', 9.0, 'HU'): 5.0,
+ ('EE', 9.0, 'IE'): 13.5,
+ ('EE', 9.0, 'IT'): 4.0,
+ ('EE', 9.0, 'LT'): 5.0,
+ ('EE', 9.0, 'LU'): 8.0,
+ ('EE', 9.0, 'LV'): 12.0,
+ ('EE', 9.0, 'MT'): 5.0,
+ ('EE', 9.0, 'NL'): 9.0,
+ ('EE', 9.0, 'PL'): 8.0,
+ ('EE', 9.0, 'PT'): 6.0,
+ ('EE', 9.0, 'RO'): 5.0,
+ ('EE', 9.0, 'SE'): 6.0,
+ ('EE', 9.0, 'SI'): 9.5,
+ ('EE', 9.0, 'SK'): 10.0,
+ ('ES', 10.0, 'AT'): 10.0,
+ ('ES', 10.0, 'BE'): 6.0,
+ ('ES', 10.0, 'BG'): 20.0,
+ ('ES', 10.0, 'CY'): 5.0,
+ ('ES', 10.0, 'CZ'): 15.0,
+ ('ES', 10.0, 'DE'): 7.0,
+ ('ES', 10.0, 'DK'): 25.0,
+ ('ES', 10.0, 'EE'): 9.0,
+ ('ES', 10.0, 'FI'): 10.0,
+ ('ES', 10.0, 'FR'): 5.5,
+ ('ES', 10.0, 'GR'): 13.0,
+ ('ES', 10.0, 'HR'): 13.0,
+ ('ES', 10.0, 'HU'): 5.0,
+ ('ES', 10.0, 'IE'): 13.5,
+ ('ES', 10.0, 'IT'): 10.0,
+ ('ES', 10.0, 'LT'): 5.0,
+ ('ES', 10.0, 'LU'): 8.0,
+ ('ES', 10.0, 'LV'): 12.0,
+ ('ES', 10.0, 'MT'): 5.0,
+ ('ES', 10.0, 'NL'): 9.0,
+ ('ES', 10.0, 'PL'): 8.0,
+ ('ES', 10.0, 'PT'): 6.0,
+ ('ES', 10.0, 'RO'): 5.0,
+ ('ES', 10.0, 'SE'): 6.0,
+ ('ES', 10.0, 'SI'): 9.5,
+ ('ES', 10.0, 'SK'): 10.0,
+ ('ES', 21.0, 'AT'): 20.0,
+ ('ES', 21.0, 'BE'): 21.0,
+ ('ES', 21.0, 'BG'): 20.0,
+ ('ES', 21.0, 'CY'): 19.0,
+ ('ES', 21.0, 'CZ'): 21.0,
+ ('ES', 21.0, 'DE'): 19.0,
+ ('ES', 21.0, 'DK'): 25.0,
+ ('ES', 21.0, 'EE'): 20.0,
+ ('ES', 21.0, 'FI'): 24.0,
+ ('ES', 21.0, 'FR'): 20.0,
+ ('ES', 21.0, 'GR'): 24.0,
+ ('ES', 21.0, 'HR'): 25.0,
+ ('ES', 21.0, 'HU'): 27.0,
+ ('ES', 21.0, 'IE'): 23.0,
+ ('ES', 21.0, 'IT'): 22.0,
+ ('ES', 21.0, 'LT'): 21.0,
+ ('ES', 21.0, 'LU'): 17.0,
+ ('ES', 21.0, 'LV'): 21.0,
+ ('ES', 21.0, 'MT'): 18.0,
+ ('ES', 21.0, 'NL'): 21.0,
+ ('ES', 21.0, 'PL'): 23.0,
+ ('ES', 21.0, 'PT'): 23.0,
+ ('ES', 21.0, 'RO'): 19.0,
+ ('ES', 21.0, 'SE'): 25.0,
+ ('ES', 21.0, 'SI'): 22.0,
+ ('ES', 21.0, 'SK'): 20.0,
+ ('ES', 4.0, 'AT'): 10.0,
+ ('ES', 4.0, 'BE'): 6.0,
+ ('ES', 4.0, 'BG'): 20.0,
+ ('ES', 4.0, 'CY'): 5.0,
+ ('ES', 4.0, 'CZ'): 15.0,
+ ('ES', 4.0, 'DE'): 7.0,
+ ('ES', 4.0, 'DK'): 25.0,
+ ('ES', 4.0, 'EE'): 9.0,
+ ('ES', 4.0, 'FI'): 10.0,
+ ('ES', 4.0, 'FR'): 5.5,
+ ('ES', 4.0, 'GR'): 13.0,
+ ('ES', 4.0, 'HR'): 5.0,
+ ('ES', 4.0, 'HU'): 5.0,
+ ('ES', 4.0, 'IE'): 4.8,
+ ('ES', 4.0, 'IT'): 4.0,
+ ('ES', 4.0, 'LT'): 5.0,
+ ('ES', 4.0, 'LU'): 8.0,
+ ('ES', 4.0, 'LV'): 12.0,
+ ('ES', 4.0, 'MT'): 5.0,
+ ('ES', 4.0, 'NL'): 9.0,
+ ('ES', 4.0, 'PL'): 8.0,
+ ('ES', 4.0, 'PT'): 6.0,
+ ('ES', 4.0, 'RO'): 5.0,
+ ('ES', 4.0, 'SE'): 6.0,
+ ('ES', 4.0, 'SI'): 9.5,
+ ('ES', 4.0, 'SK'): 10.0,
+ ('FI', 10.0, 'AT'): 10.0,
+ ('FI', 10.0, 'BE'): 6.0,
+ ('FI', 10.0, 'BG'): 20.0,
+ ('FI', 10.0, 'CY'): 5.0,
+ ('FI', 10.0, 'CZ'): 15.0,
+ ('FI', 10.0, 'DE'): 7.0,
+ ('FI', 10.0, 'DK'): 25.0,
+ ('FI', 10.0, 'EE'): 9.0,
+ ('FI', 10.0, 'ES'): 10.0,
+ ('FI', 10.0, 'FR'): 5.5,
+ ('FI', 10.0, 'GR'): 13.0,
+ ('FI', 10.0, 'HR'): 5.0,
+ ('FI', 10.0, 'HU'): 5.0,
+ ('FI', 10.0, 'IE'): 13.5,
+ ('FI', 10.0, 'IT'): 4.0,
+ ('FI', 10.0, 'LT'): 5.0,
+ ('FI', 10.0, 'LU'): 8.0,
+ ('FI', 10.0, 'LV'): 12.0,
+ ('FI', 10.0, 'MT'): 5.0,
+ ('FI', 10.0, 'NL'): 9.0,
+ ('FI', 10.0, 'PL'): 8.0,
+ ('FI', 10.0, 'PT'): 6.0,
+ ('FI', 10.0, 'RO'): 5.0,
+ ('FI', 10.0, 'SE'): 6.0,
+ ('FI', 10.0, 'SI'): 9.5,
+ ('FI', 10.0, 'SK'): 10.0,
+ ('FI', 14.0, 'AT'): 10.0,
+ ('FI', 14.0, 'BE'): 6.0,
+ ('FI', 14.0, 'BG'): 20.0,
+ ('FI', 14.0, 'CY'): 5.0,
+ ('FI', 14.0, 'CZ'): 15.0,
+ ('FI', 14.0, 'DE'): 7.0,
+ ('FI', 14.0, 'DK'): 25.0,
+ ('FI', 14.0, 'EE'): 9.0,
+ ('FI', 14.0, 'ES'): 10.0,
+ ('FI', 14.0, 'FR'): 5.5,
+ ('FI', 14.0, 'GR'): 13.0,
+ ('FI', 14.0, 'HR'): 13.0,
+ ('FI', 14.0, 'HU'): 5.0,
+ ('FI', 14.0, 'IE'): 13.5,
+ ('FI', 14.0, 'IT'): 10.0,
+ ('FI', 14.0, 'LT'): 5.0,
+ ('FI', 14.0, 'LU'): 8.0,
+ ('FI', 14.0, 'LV'): 12.0,
+ ('FI', 14.0, 'MT'): 5.0,
+ ('FI', 14.0, 'NL'): 9.0,
+ ('FI', 14.0, 'PL'): 8.0,
+ ('FI', 14.0, 'PT'): 6.0,
+ ('FI', 14.0, 'RO'): 5.0,
+ ('FI', 14.0, 'SE'): 6.0,
+ ('FI', 14.0, 'SI'): 9.5,
+ ('FI', 14.0, 'SK'): 10.0,
+ ('FI', 24.0, 'AT'): 20.0,
+ ('FI', 24.0, 'BE'): 21.0,
+ ('FI', 24.0, 'BG'): 20.0,
+ ('FI', 24.0, 'CY'): 19.0,
+ ('FI', 24.0, 'CZ'): 21.0,
+ ('FI', 24.0, 'DE'): 19.0,
+ ('FI', 24.0, 'DK'): 25.0,
+ ('FI', 24.0, 'EE'): 20.0,
+ ('FI', 24.0, 'ES'): 21.0,
+ ('FI', 24.0, 'FR'): 20.0,
+ ('FI', 24.0, 'GR'): 24.0,
+ ('FI', 24.0, 'HR'): 25.0,
+ ('FI', 24.0, 'HU'): 27.0,
+ ('FI', 24.0, 'IE'): 23.0,
+ ('FI', 24.0, 'IT'): 22.0,
+ ('FI', 24.0, 'LT'): 21.0,
+ ('FI', 24.0, 'LU'): 17.0,
+ ('FI', 24.0, 'LV'): 21.0,
+ ('FI', 24.0, 'MT'): 18.0,
+ ('FI', 24.0, 'NL'): 21.0,
+ ('FI', 24.0, 'PL'): 23.0,
+ ('FI', 24.0, 'PT'): 23.0,
+ ('FI', 24.0, 'RO'): 19.0,
+ ('FI', 24.0, 'SE'): 25.0,
+ ('FI', 24.0, 'SI'): 22.0,
+ ('FI', 24.0, 'SK'): 20.0,
+ ('FR', 10.0, 'AT'): 10.0,
+ ('FR', 10.0, 'BE'): 6.0,
+ ('FR', 10.0, 'BG'): 20.0,
+ ('FR', 10.0, 'CY'): 5.0,
+ ('FR', 10.0, 'CZ'): 15.0,
+ ('FR', 10.0, 'DE'): 7.0,
+ ('FR', 10.0, 'DK'): 25.0,
+ ('FR', 10.0, 'EE'): 9.0,
+ ('FR', 10.0, 'ES'): 10.0,
+ ('FR', 10.0, 'FI'): 10.0,
+ ('FR', 10.0, 'GR'): 13.0,
+ ('FR', 10.0, 'HR'): 13.0,
+ ('FR', 10.0, 'HU'): 5.0,
+ ('FR', 10.0, 'IE'): 13.5,
+ ('FR', 10.0, 'IT'): 10.0,
+ ('FR', 10.0, 'LT'): 5.0,
+ ('FR', 10.0, 'LU'): 8.0,
+ ('FR', 10.0, 'LV'): 12.0,
+ ('FR', 10.0, 'MT'): 5.0,
+ ('FR', 10.0, 'NL'): 9.0,
+ ('FR', 10.0, 'PL'): 8.0,
+ ('FR', 10.0, 'PT'): 6.0,
+ ('FR', 10.0, 'RO'): 5.0,
+ ('FR', 10.0, 'SE'): 6.0,
+ ('FR', 10.0, 'SI'): 9.5,
+ ('FR', 10.0, 'SK'): 10.0,
+ ('FR', 2.1, 'AT'): 10.0,
+ ('FR', 2.1, 'BE'): 6.0,
+ ('FR', 2.1, 'BG'): 20.0,
+ ('FR', 2.1, 'CY'): 5.0,
+ ('FR', 2.1, 'CZ'): 15.0,
+ ('FR', 2.1, 'DE'): 7.0,
+ ('FR', 2.1, 'DK'): 25.0,
+ ('FR', 2.1, 'EE'): 9.0,
+ ('FR', 2.1, 'ES'): 4.0,
+ ('FR', 2.1, 'FI'): 10.0,
+ ('FR', 2.1, 'GR'): 13.0,
+ ('FR', 2.1, 'HR'): 5.0,
+ ('FR', 2.1, 'HU'): 5.0,
+ ('FR', 2.1, 'IE'): 4.8,
+ ('FR', 2.1, 'IT'): 4.0,
+ ('FR', 2.1, 'LT'): 5.0,
+ ('FR', 2.1, 'LU'): 8.0,
+ ('FR', 2.1, 'LV'): 12.0,
+ ('FR', 2.1, 'MT'): 5.0,
+ ('FR', 2.1, 'NL'): 9.0,
+ ('FR', 2.1, 'PL'): 8.0,
+ ('FR', 2.1, 'PT'): 6.0,
+ ('FR', 2.1, 'RO'): 5.0,
+ ('FR', 2.1, 'SE'): 6.0,
+ ('FR', 2.1, 'SI'): 9.5,
+ ('FR', 2.1, 'SK'): 10.0,
+ ('FR', 20.0, 'AT'): 20.0,
+ ('FR', 20.0, 'BE'): 21.0,
+ ('FR', 20.0, 'BG'): 20.0,
+ ('FR', 20.0, 'CY'): 19.0,
+ ('FR', 20.0, 'CZ'): 21.0,
+ ('FR', 20.0, 'DE'): 19.0,
+ ('FR', 20.0, 'DK'): 25.0,
+ ('FR', 20.0, 'EE'): 20.0,
+ ('FR', 20.0, 'ES'): 21.0,
+ ('FR', 20.0, 'FI'): 24.0,
+ ('FR', 20.0, 'GR'): 24.0,
+ ('FR', 20.0, 'HR'): 25.0,
+ ('FR', 20.0, 'HU'): 27.0,
+ ('FR', 20.0, 'IE'): 23.0,
+ ('FR', 20.0, 'IT'): 22.0,
+ ('FR', 20.0, 'LT'): 21.0,
+ ('FR', 20.0, 'LU'): 17.0,
+ ('FR', 20.0, 'LV'): 21.0,
+ ('FR', 20.0, 'MT'): 18.0,
+ ('FR', 20.0, 'NL'): 21.0,
+ ('FR', 20.0, 'PL'): 23.0,
+ ('FR', 20.0, 'PT'): 23.0,
+ ('FR', 20.0, 'RO'): 19.0,
+ ('FR', 20.0, 'SE'): 25.0,
+ ('FR', 20.0, 'SI'): 22.0,
+ ('FR', 20.0, 'SK'): 20.0,
+ ('FR', 5.5, 'AT'): 10.0,
+ ('FR', 5.5, 'BE'): 6.0,
+ ('FR', 5.5, 'BG'): 20.0,
+ ('FR', 5.5, 'CY'): 5.0,
+ ('FR', 5.5, 'CZ'): 15.0,
+ ('FR', 5.5, 'DE'): 7.0,
+ ('FR', 5.5, 'DK'): 25.0,
+ ('FR', 5.5, 'EE'): 9.0,
+ ('FR', 5.5, 'ES'): 10.0,
+ ('FR', 5.5, 'FI'): 10.0,
+ ('FR', 5.5, 'GR'): 13.0,
+ ('FR', 5.5, 'HR'): 5.0,
+ ('FR', 5.5, 'HU'): 5.0,
+ ('FR', 5.5, 'IE'): 13.5,
+ ('FR', 5.5, 'IT'): 4.0,
+ ('FR', 5.5, 'LT'): 5.0,
+ ('FR', 5.5, 'LU'): 8.0,
+ ('FR', 5.5, 'LV'): 12.0,
+ ('FR', 5.5, 'MT'): 5.0,
+ ('FR', 5.5, 'NL'): 9.0,
+ ('FR', 5.5, 'PL'): 8.0,
+ ('FR', 5.5, 'PT'): 6.0,
+ ('FR', 5.5, 'RO'): 5.0,
+ ('FR', 5.5, 'SE'): 6.0,
+ ('FR', 5.5, 'SI'): 9.5,
+ ('FR', 5.5, 'SK'): 10.0,
+ ('GR', 13.0, 'AT'): 10.0,
+ ('GR', 13.0, 'BE'): 6.0,
+ ('GR', 13.0, 'BG'): 20.0,
+ ('GR', 13.0, 'CY'): 5.0,
+ ('GR', 13.0, 'CZ'): 15.0,
+ ('GR', 13.0, 'DE'): 7.0,
+ ('GR', 13.0, 'DK'): 25.0,
+ ('GR', 13.0, 'EE'): 9.0,
+ ('GR', 13.0, 'ES'): 10.0,
+ ('GR', 13.0, 'FI'): 10.0,
+ ('GR', 13.0, 'FR'): 5.5,
+ ('GR', 13.0, 'HR'): 13.0,
+ ('GR', 13.0, 'HU'): 5.0,
+ ('GR', 13.0, 'IE'): 13.5,
+ ('GR', 13.0, 'IT'): 10.0,
+ ('GR', 13.0, 'LT'): 5.0,
+ ('GR', 13.0, 'LU'): 8.0,
+ ('GR', 13.0, 'LV'): 12.0,
+ ('GR', 13.0, 'MT'): 5.0,
+ ('GR', 13.0, 'NL'): 9.0,
+ ('GR', 13.0, 'PL'): 8.0,
+ ('GR', 13.0, 'PT'): 6.0,
+ ('GR', 13.0, 'RO'): 5.0,
+ ('GR', 13.0, 'SE'): 6.0,
+ ('GR', 13.0, 'SI'): 9.5,
+ ('GR', 13.0, 'SK'): 10.0,
+ ('GR', 24.0, 'AT'): 20.0,
+ ('GR', 24.0, 'BE'): 21.0,
+ ('GR', 24.0, 'BG'): 20.0,
+ ('GR', 24.0, 'CY'): 19.0,
+ ('GR', 24.0, 'CZ'): 21.0,
+ ('GR', 24.0, 'DE'): 19.0,
+ ('GR', 24.0, 'DK'): 25.0,
+ ('GR', 24.0, 'EE'): 20.0,
+ ('GR', 24.0, 'ES'): 21.0,
+ ('GR', 24.0, 'FI'): 24.0,
+ ('GR', 24.0, 'FR'): 20.0,
+ ('GR', 24.0, 'HR'): 25.0,
+ ('GR', 24.0, 'HU'): 27.0,
+ ('GR', 24.0, 'IE'): 23.0,
+ ('GR', 24.0, 'IT'): 22.0,
+ ('GR', 24.0, 'LT'): 21.0,
+ ('GR', 24.0, 'LU'): 17.0,
+ ('GR', 24.0, 'LV'): 21.0,
+ ('GR', 24.0, 'MT'): 18.0,
+ ('GR', 24.0, 'NL'): 21.0,
+ ('GR', 24.0, 'PL'): 23.0,
+ ('GR', 24.0, 'PT'): 23.0,
+ ('GR', 24.0, 'RO'): 19.0,
+ ('GR', 24.0, 'SE'): 25.0,
+ ('GR', 24.0, 'SI'): 22.0,
+ ('GR', 24.0, 'SK'): 20.0,
+ ('GR', 6.0, 'AT'): 10.0,
+ ('GR', 6.0, 'BE'): 6.0,
+ ('GR', 6.0, 'BG'): 20.0,
+ ('GR', 6.0, 'CY'): 5.0,
+ ('GR', 6.0, 'CZ'): 15.0,
+ ('GR', 6.0, 'DE'): 7.0,
+ ('GR', 6.0, 'DK'): 25.0,
+ ('GR', 6.0, 'EE'): 9.0,
+ ('GR', 6.0, 'ES'): 10.0,
+ ('GR', 6.0, 'FI'): 10.0,
+ ('GR', 6.0, 'FR'): 5.5,
+ ('GR', 6.0, 'HR'): 5.0,
+ ('GR', 6.0, 'HU'): 5.0,
+ ('GR', 6.0, 'IE'): 13.5,
+ ('GR', 6.0, 'IT'): 4.0,
+ ('GR', 6.0, 'LT'): 5.0,
+ ('GR', 6.0, 'LU'): 8.0,
+ ('GR', 6.0, 'LV'): 12.0,
+ ('GR', 6.0, 'MT'): 5.0,
+ ('GR', 6.0, 'NL'): 9.0,
+ ('GR', 6.0, 'PL'): 8.0,
+ ('GR', 6.0, 'PT'): 6.0,
+ ('GR', 6.0, 'RO'): 5.0,
+ ('GR', 6.0, 'SE'): 6.0,
+ ('GR', 6.0, 'SI'): 9.5,
+ ('GR', 6.0, 'SK'): 10.0,
+ ('HR', 13.0, 'AT'): 10.0,
+ ('HR', 13.0, 'BE'): 6.0,
+ ('HR', 13.0, 'BG'): 20.0,
+ ('HR', 13.0, 'CY'): 5.0,
+ ('HR', 13.0, 'CZ'): 15.0,
+ ('HR', 13.0, 'DE'): 7.0,
+ ('HR', 13.0, 'DK'): 25.0,
+ ('HR', 13.0, 'EE'): 9.0,
+ ('HR', 13.0, 'ES'): 10.0,
+ ('HR', 13.0, 'FI'): 10.0,
+ ('HR', 13.0, 'FR'): 5.5,
+ ('HR', 13.0, 'GR'): 13.0,
+ ('HR', 13.0, 'HU'): 5.0,
+ ('HR', 13.0, 'IE'): 13.5,
+ ('HR', 13.0, 'IT'): 10.0,
+ ('HR', 13.0, 'LT'): 5.0,
+ ('HR', 13.0, 'LU'): 8.0,
+ ('HR', 13.0, 'LV'): 12.0,
+ ('HR', 13.0, 'MT'): 5.0,
+ ('HR', 13.0, 'NL'): 9.0,
+ ('HR', 13.0, 'PL'): 8.0,
+ ('HR', 13.0, 'PT'): 6.0,
+ ('HR', 13.0, 'RO'): 5.0,
+ ('HR', 13.0, 'SE'): 6.0,
+ ('HR', 13.0, 'SI'): 9.5,
+ ('HR', 13.0, 'SK'): 10.0,
+ ('HR', 25.0, 'AT'): 20.0,
+ ('HR', 25.0, 'BE'): 21.0,
+ ('HR', 25.0, 'BG'): 20.0,
+ ('HR', 25.0, 'CY'): 19.0,
+ ('HR', 25.0, 'CZ'): 21.0,
+ ('HR', 25.0, 'DE'): 19.0,
+ ('HR', 25.0, 'DK'): 25.0,
+ ('HR', 25.0, 'EE'): 20.0,
+ ('HR', 25.0, 'ES'): 21.0,
+ ('HR', 25.0, 'FI'): 24.0,
+ ('HR', 25.0, 'FR'): 20.0,
+ ('HR', 25.0, 'GR'): 24.0,
+ ('HR', 25.0, 'HU'): 27.0,
+ ('HR', 25.0, 'IE'): 23.0,
+ ('HR', 25.0, 'IT'): 22.0,
+ ('HR', 25.0, 'LT'): 21.0,
+ ('HR', 25.0, 'LU'): 17.0,
+ ('HR', 25.0, 'LV'): 21.0,
+ ('HR', 25.0, 'MT'): 18.0,
+ ('HR', 25.0, 'NL'): 21.0,
+ ('HR', 25.0, 'PL'): 23.0,
+ ('HR', 25.0, 'PT'): 23.0,
+ ('HR', 25.0, 'RO'): 19.0,
+ ('HR', 25.0, 'SE'): 25.0,
+ ('HR', 25.0, 'SI'): 22.0,
+ ('HR', 25.0, 'SK'): 20.0,
+ ('HR', 5.0, 'AT'): 10.0,
+ ('HR', 5.0, 'BE'): 6.0,
+ ('HR', 5.0, 'BG'): 20.0,
+ ('HR', 5.0, 'CY'): 5.0,
+ ('HR', 5.0, 'CZ'): 15.0,
+ ('HR', 5.0, 'DE'): 7.0,
+ ('HR', 5.0, 'DK'): 25.0,
+ ('HR', 5.0, 'EE'): 9.0,
+ ('HR', 5.0, 'ES'): 10.0,
+ ('HR', 5.0, 'FI'): 10.0,
+ ('HR', 5.0, 'FR'): 5.5,
+ ('HR', 5.0, 'GR'): 13.0,
+ ('HR', 5.0, 'HU'): 5.0,
+ ('HR', 5.0, 'IE'): 13.5,
+ ('HR', 5.0, 'IT'): 4.0,
+ ('HR', 5.0, 'LT'): 5.0,
+ ('HR', 5.0, 'LU'): 8.0,
+ ('HR', 5.0, 'LV'): 12.0,
+ ('HR', 5.0, 'MT'): 5.0,
+ ('HR', 5.0, 'NL'): 9.0,
+ ('HR', 5.0, 'PL'): 8.0,
+ ('HR', 5.0, 'PT'): 6.0,
+ ('HR', 5.0, 'RO'): 5.0,
+ ('HR', 5.0, 'SE'): 6.0,
+ ('HR', 5.0, 'SI'): 9.5,
+ ('HR', 5.0, 'SK'): 10.0,
+ ('HU', 18.0, 'AT'): 10.0,
+ ('HU', 18.0, 'BE'): 6.0,
+ ('HU', 18.0, 'BG'): 20.0,
+ ('HU', 18.0, 'CY'): 5.0,
+ ('HU', 18.0, 'CZ'): 15.0,
+ ('HU', 18.0, 'DE'): 7.0,
+ ('HU', 18.0, 'DK'): 25.0,
+ ('HU', 18.0, 'EE'): 9.0,
+ ('HU', 18.0, 'ES'): 10.0,
+ ('HU', 18.0, 'FI'): 10.0,
+ ('HU', 18.0, 'FR'): 5.5,
+ ('HU', 18.0, 'GR'): 13.0,
+ ('HU', 18.0, 'HR'): 13.0,
+ ('HU', 18.0, 'IE'): 13.5,
+ ('HU', 18.0, 'IT'): 10.0,
+ ('HU', 18.0, 'LT'): 5.0,
+ ('HU', 18.0, 'LU'): 8.0,
+ ('HU', 18.0, 'LV'): 12.0,
+ ('HU', 18.0, 'MT'): 5.0,
+ ('HU', 18.0, 'NL'): 9.0,
+ ('HU', 18.0, 'PL'): 8.0,
+ ('HU', 18.0, 'PT'): 6.0,
+ ('HU', 18.0, 'RO'): 5.0,
+ ('HU', 18.0, 'SE'): 6.0,
+ ('HU', 18.0, 'SI'): 9.5,
+ ('HU', 18.0, 'SK'): 10.0,
+ ('HU', 27.0, 'AT'): 20.0,
+ ('HU', 27.0, 'BE'): 21.0,
+ ('HU', 27.0, 'BG'): 20.0,
+ ('HU', 27.0, 'CY'): 19.0,
+ ('HU', 27.0, 'CZ'): 21.0,
+ ('HU', 27.0, 'DE'): 19.0,
+ ('HU', 27.0, 'DK'): 25.0,
+ ('HU', 27.0, 'EE'): 20.0,
+ ('HU', 27.0, 'ES'): 21.0,
+ ('HU', 27.0, 'FI'): 24.0,
+ ('HU', 27.0, 'FR'): 20.0,
+ ('HU', 27.0, 'GR'): 24.0,
+ ('HU', 27.0, 'HR'): 25.0,
+ ('HU', 27.0, 'IE'): 23.0,
+ ('HU', 27.0, 'IT'): 22.0,
+ ('HU', 27.0, 'LT'): 21.0,
+ ('HU', 27.0, 'LU'): 17.0,
+ ('HU', 27.0, 'LV'): 21.0,
+ ('HU', 27.0, 'MT'): 18.0,
+ ('HU', 27.0, 'NL'): 21.0,
+ ('HU', 27.0, 'PL'): 23.0,
+ ('HU', 27.0, 'PT'): 23.0,
+ ('HU', 27.0, 'RO'): 19.0,
+ ('HU', 27.0, 'SE'): 25.0,
+ ('HU', 27.0, 'SI'): 22.0,
+ ('HU', 27.0, 'SK'): 20.0,
+ ('HU', 5.0, 'AT'): 10.0,
+ ('HU', 5.0, 'BE'): 6.0,
+ ('HU', 5.0, 'BG'): 20.0,
+ ('HU', 5.0, 'CY'): 5.0,
+ ('HU', 5.0, 'CZ'): 15.0,
+ ('HU', 5.0, 'DE'): 7.0,
+ ('HU', 5.0, 'DK'): 25.0,
+ ('HU', 5.0, 'EE'): 9.0,
+ ('HU', 5.0, 'ES'): 10.0,
+ ('HU', 5.0, 'FI'): 10.0,
+ ('HU', 5.0, 'FR'): 5.5,
+ ('HU', 5.0, 'GR'): 13.0,
+ ('HU', 5.0, 'HR'): 5.0,
+ ('HU', 5.0, 'IE'): 13.5,
+ ('HU', 5.0, 'IT'): 4.0,
+ ('HU', 5.0, 'LT'): 5.0,
+ ('HU', 5.0, 'LU'): 8.0,
+ ('HU', 5.0, 'LV'): 12.0,
+ ('HU', 5.0, 'MT'): 5.0,
+ ('HU', 5.0, 'NL'): 9.0,
+ ('HU', 5.0, 'PL'): 8.0,
+ ('HU', 5.0, 'PT'): 6.0,
+ ('HU', 5.0, 'RO'): 5.0,
+ ('HU', 5.0, 'SE'): 6.0,
+ ('HU', 5.0, 'SI'): 9.5,
+ ('HU', 5.0, 'SK'): 10.0,
+ ('IE', 13.5, 'AT'): 20.0,
+ ('IE', 13.5, 'BE'): 21.0,
+ ('IE', 13.5, 'BG'): 20.0,
+ ('IE', 13.5, 'CY'): 19.0,
+ ('IE', 13.5, 'CZ'): 21.0,
+ ('IE', 13.5, 'DE'): 19.0,
+ ('IE', 13.5, 'DK'): 25.0,
+ ('IE', 13.5, 'EE'): 20.0,
+ ('IE', 13.5, 'ES'): 21.0,
+ ('IE', 13.5, 'FI'): 24.0,
+ ('IE', 13.5, 'FR'): 20.0,
+ ('IE', 13.5, 'GR'): 24.0,
+ ('IE', 13.5, 'HR'): 25.0,
+ ('IE', 13.5, 'HU'): 27.0,
+ ('IE', 13.5, 'IE'): 23.0,
+ ('IE', 13.5, 'IT'): 22.0,
+ ('IE', 13.5, 'LT'): 21.0,
+ ('IE', 13.5, 'LU'): 17.0,
+ ('IE', 13.5, 'LV'): 21.0,
+ ('IE', 13.5, 'MT'): 18.0,
+ ('IE', 13.5, 'NL'): 21.0,
+ ('IE', 13.5, 'PL'): 23.0,
+ ('IE', 13.5, 'PT'): 23.0,
+ ('IE', 13.5, 'RO'): 19.0,
+ ('IE', 13.5, 'SE'): 25.0,
+ ('IE', 13.5, 'SI'): 22.0,
+ ('IE', 13.5, 'SK'): 20.0,
+ ('IE', 23.0, 'AT'): 20.0,
+ ('IE', 23.0, 'BE'): 21.0,
+ ('IE', 23.0, 'BG'): 20.0,
+ ('IE', 23.0, 'CY'): 19.0,
+ ('IE', 23.0, 'CZ'): 21.0,
+ ('IE', 23.0, 'DE'): 19.0,
+ ('IE', 23.0, 'DK'): 25.0,
+ ('IE', 23.0, 'EE'): 20.0,
+ ('IE', 23.0, 'ES'): 21.0,
+ ('IE', 23.0, 'FI'): 24.0,
+ ('IE', 23.0, 'FR'): 20.0,
+ ('IE', 23.0, 'GR'): 24.0,
+ ('IE', 23.0, 'HR'): 25.0,
+ ('IE', 23.0, 'HU'): 27.0,
+ ('IE', 23.0, 'IT'): 22.0,
+ ('IE', 23.0, 'LT'): 21.0,
+ ('IE', 23.0, 'LU'): 17.0,
+ ('IE', 23.0, 'LV'): 21.0,
+ ('IE', 23.0, 'MT'): 18.0,
+ ('IE', 23.0, 'NL'): 21.0,
+ ('IE', 23.0, 'PL'): 23.0,
+ ('IE', 23.0, 'PT'): 23.0,
+ ('IE', 23.0, 'RO'): 19.0,
+ ('IE', 23.0, 'SE'): 25.0,
+ ('IE', 23.0, 'SI'): 22.0,
+ ('IE', 23.0, 'SK'): 20.0,
+ ('IE', 4.8, 'AT'): 10.0,
+ ('IE', 4.8, 'BE'): 6.0,
+ ('IE', 4.8, 'BG'): 20.0,
+ ('IE', 4.8, 'CY'): 5.0,
+ ('IE', 4.8, 'CZ'): 15.0,
+ ('IE', 4.8, 'DE'): 7.0,
+ ('IE', 4.8, 'DK'): 25.0,
+ ('IE', 4.8, 'EE'): 9.0,
+ ('IE', 4.8, 'ES'): 4.0,
+ ('IE', 4.8, 'FI'): 10.0,
+ ('IE', 4.8, 'FR'): 5.5,
+ ('IE', 4.8, 'GR'): 13.0,
+ ('IE', 4.8, 'HR'): 5.0,
+ ('IE', 4.8, 'HU'): 5.0,
+ ('IE', 4.8, 'IT'): 4.0,
+ ('IE', 4.8, 'LT'): 5.0,
+ ('IE', 4.8, 'LU'): 8.0,
+ ('IE', 4.8, 'LV'): 12.0,
+ ('IE', 4.8, 'MT'): 5.0,
+ ('IE', 4.8, 'NL'): 9.0,
+ ('IE', 4.8, 'PL'): 8.0,
+ ('IE', 4.8, 'PT'): 6.0,
+ ('IE', 4.8, 'RO'): 5.0,
+ ('IE', 4.8, 'SE'): 6.0,
+ ('IE', 4.8, 'SI'): 9.5,
+ ('IE', 4.8, 'SK'): 10.0,
+ ('IE', 9.0, 'AT'): 10.0,
+ ('IE', 9.0, 'BE'): 6.0,
+ ('IE', 9.0, 'BG'): 20.0,
+ ('IE', 9.0, 'CY'): 5.0,
+ ('IE', 9.0, 'CZ'): 15.0,
+ ('IE', 9.0, 'DE'): 7.0,
+ ('IE', 9.0, 'DK'): 25.0,
+ ('IE', 9.0, 'EE'): 9.0,
+ ('IE', 9.0, 'ES'): 10.0,
+ ('IE', 9.0, 'FI'): 10.0,
+ ('IE', 9.0, 'FR'): 5.5,
+ ('IE', 9.0, 'GR'): 13.0,
+ ('IE', 9.0, 'HR'): 5.0,
+ ('IE', 9.0, 'HU'): 5.0,
+ ('IE', 9.0, 'IT'): 10.0,
+ ('IE', 9.0, 'LT'): 5.0,
+ ('IE', 9.0, 'LU'): 8.0,
+ ('IE', 9.0, 'LV'): 12.0,
+ ('IE', 9.0, 'MT'): 5.0,
+ ('IE', 9.0, 'NL'): 9.0,
+ ('IE', 9.0, 'PL'): 8.0,
+ ('IE', 9.0, 'PT'): 6.0,
+ ('IE', 9.0, 'RO'): 5.0,
+ ('IE', 9.0, 'SE'): 6.0,
+ ('IE', 9.0, 'SI'): 9.5,
+ ('IE', 9.0, 'SK'): 10.0,
+ ('IT', 10.0, 'AT'): 10.0,
+ ('IT', 10.0, 'BE'): 6.0,
+ ('IT', 10.0, 'BG'): 20.0,
+ ('IT', 10.0, 'CY'): 5.0,
+ ('IT', 10.0, 'CZ'): 15.0,
+ ('IT', 10.0, 'DE'): 7.0,
+ ('IT', 10.0, 'DK'): 25.0,
+ ('IT', 10.0, 'EE'): 9.0,
+ ('IT', 10.0, 'ES'): 10.0,
+ ('IT', 10.0, 'FI'): 10.0,
+ ('IT', 10.0, 'FR'): 5.5,
+ ('IT', 10.0, 'GR'): 13.0,
+ ('IT', 10.0, 'HR'): 13.0,
+ ('IT', 10.0, 'HU'): 5.0,
+ ('IT', 10.0, 'IE'): 13.5,
+ ('IT', 10.0, 'LT'): 5.0,
+ ('IT', 10.0, 'LU'): 8.0,
+ ('IT', 10.0, 'LV'): 12.0,
+ ('IT', 10.0, 'MT'): 5.0,
+ ('IT', 10.0, 'NL'): 9.0,
+ ('IT', 10.0, 'PL'): 8.0,
+ ('IT', 10.0, 'PT'): 6.0,
+ ('IT', 10.0, 'RO'): 5.0,
+ ('IT', 10.0, 'SE'): 6.0,
+ ('IT', 10.0, 'SI'): 9.5,
+ ('IT', 10.0, 'SK'): 10.0,
+ ('IT', 22.0, 'AT'): 20.0,
+ ('IT', 22.0, 'BE'): 21.0,
+ ('IT', 22.0, 'BG'): 20.0,
+ ('IT', 22.0, 'CY'): 19.0,
+ ('IT', 22.0, 'CZ'): 21.0,
+ ('IT', 22.0, 'DE'): 19.0,
+ ('IT', 22.0, 'DK'): 25.0,
+ ('IT', 22.0, 'EE'): 20.0,
+ ('IT', 22.0, 'ES'): 21.0,
+ ('IT', 22.0, 'FI'): 24.0,
+ ('IT', 22.0, 'FR'): 20.0,
+ ('IT', 22.0, 'GR'): 24.0,
+ ('IT', 22.0, 'HR'): 25.0,
+ ('IT', 22.0, 'HU'): 27.0,
+ ('IT', 22.0, 'IE'): 23.0,
+ ('IT', 22.0, 'LT'): 21.0,
+ ('IT', 22.0, 'LU'): 17.0,
+ ('IT', 22.0, 'LV'): 21.0,
+ ('IT', 22.0, 'MT'): 18.0,
+ ('IT', 22.0, 'NL'): 21.0,
+ ('IT', 22.0, 'PL'): 23.0,
+ ('IT', 22.0, 'PT'): 23.0,
+ ('IT', 22.0, 'RO'): 19.0,
+ ('IT', 22.0, 'SE'): 25.0,
+ ('IT', 22.0, 'SI'): 22.0,
+ ('IT', 22.0, 'SK'): 20.0,
+ ('IT', 4.0, 'AT'): 10.0,
+ ('IT', 4.0, 'BE'): 6.0,
+ ('IT', 4.0, 'BG'): 20.0,
+ ('IT', 4.0, 'CY'): 5.0,
+ ('IT', 4.0, 'CZ'): 15.0,
+ ('IT', 4.0, 'DE'): 7.0,
+ ('IT', 4.0, 'DK'): 25.0,
+ ('IT', 4.0, 'EE'): 9.0,
+ ('IT', 4.0, 'ES'): 4.0,
+ ('IT', 4.0, 'FI'): 10.0,
+ ('IT', 4.0, 'FR'): 5.5,
+ ('IT', 4.0, 'GR'): 13.0,
+ ('IT', 4.0, 'HR'): 5.0,
+ ('IT', 4.0, 'HU'): 5.0,
+ ('IT', 4.0, 'IE'): 4.8,
+ ('IT', 4.0, 'LT'): 5.0,
+ ('IT', 4.0, 'LU'): 8.0,
+ ('IT', 4.0, 'LV'): 12.0,
+ ('IT', 4.0, 'MT'): 5.0,
+ ('IT', 4.0, 'NL'): 9.0,
+ ('IT', 4.0, 'PL'): 8.0,
+ ('IT', 4.0, 'PT'): 6.0,
+ ('IT', 4.0, 'RO'): 5.0,
+ ('IT', 4.0, 'SE'): 6.0,
+ ('IT', 4.0, 'SI'): 9.5,
+ ('IT', 4.0, 'SK'): 10.0,
+ ('IT', 5.0, 'AT'): 10.0,
+ ('IT', 5.0, 'BE'): 6.0,
+ ('IT', 5.0, 'BG'): 20.0,
+ ('IT', 5.0, 'CY'): 5.0,
+ ('IT', 5.0, 'CZ'): 15.0,
+ ('IT', 5.0, 'DE'): 7.0,
+ ('IT', 5.0, 'DK'): 25.0,
+ ('IT', 5.0, 'EE'): 9.0,
+ ('IT', 5.0, 'ES'): 10.0,
+ ('IT', 5.0, 'FI'): 10.0,
+ ('IT', 5.0, 'FR'): 5.5,
+ ('IT', 5.0, 'GR'): 13.0,
+ ('IT', 5.0, 'HR'): 5.0,
+ ('IT', 5.0, 'HU'): 5.0,
+ ('IT', 5.0, 'IE'): 13.5,
+ ('IT', 5.0, 'LT'): 5.0,
+ ('IT', 5.0, 'LU'): 8.0,
+ ('IT', 5.0, 'LV'): 12.0,
+ ('IT', 5.0, 'MT'): 5.0,
+ ('IT', 5.0, 'NL'): 9.0,
+ ('IT', 5.0, 'PL'): 8.0,
+ ('IT', 5.0, 'PT'): 6.0,
+ ('IT', 5.0, 'RO'): 5.0,
+ ('IT', 5.0, 'SE'): 6.0,
+ ('IT', 5.0, 'SI'): 9.5,
+ ('IT', 5.0, 'SK'): 10.0,
+ ('LT', 21.0, 'AT'): 20.0,
+ ('LT', 21.0, 'BE'): 21.0,
+ ('LT', 21.0, 'BG'): 20.0,
+ ('LT', 21.0, 'CY'): 19.0,
+ ('LT', 21.0, 'CZ'): 21.0,
+ ('LT', 21.0, 'DE'): 19.0,
+ ('LT', 21.0, 'DK'): 25.0,
+ ('LT', 21.0, 'EE'): 20.0,
+ ('LT', 21.0, 'ES'): 21.0,
+ ('LT', 21.0, 'FI'): 24.0,
+ ('LT', 21.0, 'FR'): 20.0,
+ ('LT', 21.0, 'GR'): 24.0,
+ ('LT', 21.0, 'HR'): 25.0,
+ ('LT', 21.0, 'HU'): 27.0,
+ ('LT', 21.0, 'IE'): 23.0,
+ ('LT', 21.0, 'IT'): 22.0,
+ ('LT', 21.0, 'LU'): 17.0,
+ ('LT', 21.0, 'LV'): 21.0,
+ ('LT', 21.0, 'MT'): 18.0,
+ ('LT', 21.0, 'NL'): 21.0,
+ ('LT', 21.0, 'PL'): 23.0,
+ ('LT', 21.0, 'PT'): 23.0,
+ ('LT', 21.0, 'RO'): 19.0,
+ ('LT', 21.0, 'SE'): 25.0,
+ ('LT', 21.0, 'SI'): 22.0,
+ ('LT', 21.0, 'SK'): 20.0,
+ ('LT', 5.0, 'AT'): 10.0,
+ ('LT', 5.0, 'BE'): 6.0,
+ ('LT', 5.0, 'BG'): 20.0,
+ ('LT', 5.0, 'CY'): 5.0,
+ ('LT', 5.0, 'CZ'): 15.0,
+ ('LT', 5.0, 'DE'): 7.0,
+ ('LT', 5.0, 'DK'): 25.0,
+ ('LT', 5.0, 'EE'): 9.0,
+ ('LT', 5.0, 'ES'): 10.0,
+ ('LT', 5.0, 'FI'): 10.0,
+ ('LT', 5.0, 'FR'): 5.5,
+ ('LT', 5.0, 'GR'): 13.0,
+ ('LT', 5.0, 'HR'): 5.0,
+ ('LT', 5.0, 'HU'): 5.0,
+ ('LT', 5.0, 'IE'): 13.5,
+ ('LT', 5.0, 'IT'): 4.0,
+ ('LT', 5.0, 'LU'): 8.0,
+ ('LT', 5.0, 'LV'): 12.0,
+ ('LT', 5.0, 'MT'): 5.0,
+ ('LT', 5.0, 'NL'): 9.0,
+ ('LT', 5.0, 'PL'): 8.0,
+ ('LT', 5.0, 'PT'): 6.0,
+ ('LT', 5.0, 'RO'): 5.0,
+ ('LT', 5.0, 'SE'): 6.0,
+ ('LT', 5.0, 'SI'): 9.5,
+ ('LT', 5.0, 'SK'): 10.0,
+ ('LT', 9.0, 'AT'): 10.0,
+ ('LT', 9.0, 'BE'): 6.0,
+ ('LT', 9.0, 'BG'): 20.0,
+ ('LT', 9.0, 'CY'): 5.0,
+ ('LT', 9.0, 'CZ'): 15.0,
+ ('LT', 9.0, 'DE'): 7.0,
+ ('LT', 9.0, 'DK'): 25.0,
+ ('LT', 9.0, 'EE'): 9.0,
+ ('LT', 9.0, 'ES'): 10.0,
+ ('LT', 9.0, 'FI'): 10.0,
+ ('LT', 9.0, 'FR'): 5.5,
+ ('LT', 9.0, 'GR'): 13.0,
+ ('LT', 9.0, 'HR'): 13.0,
+ ('LT', 9.0, 'HU'): 5.0,
+ ('LT', 9.0, 'IE'): 13.5,
+ ('LT', 9.0, 'IT'): 10.0,
+ ('LT', 9.0, 'LU'): 8.0,
+ ('LT', 9.0, 'LV'): 12.0,
+ ('LT', 9.0, 'MT'): 5.0,
+ ('LT', 9.0, 'NL'): 9.0,
+ ('LT', 9.0, 'PL'): 8.0,
+ ('LT', 9.0, 'PT'): 6.0,
+ ('LT', 9.0, 'RO'): 5.0,
+ ('LT', 9.0, 'SE'): 6.0,
+ ('LT', 9.0, 'SI'): 9.5,
+ ('LT', 9.0, 'SK'): 10.0,
+ ('LU', 14.0, 'AT'): 20.0,
+ ('LU', 14.0, 'BE'): 21.0,
+ ('LU', 14.0, 'BG'): 20.0,
+ ('LU', 14.0, 'CY'): 19.0,
+ ('LU', 14.0, 'CZ'): 21.0,
+ ('LU', 14.0, 'DE'): 19.0,
+ ('LU', 14.0, 'DK'): 25.0,
+ ('LU', 14.0, 'EE'): 20.0,
+ ('LU', 14.0, 'ES'): 21.0,
+ ('LU', 14.0, 'FI'): 24.0,
+ ('LU', 14.0, 'FR'): 20.0,
+ ('LU', 14.0, 'GR'): 24.0,
+ ('LU', 14.0, 'HR'): 25.0,
+ ('LU', 14.0, 'HU'): 27.0,
+ ('LU', 14.0, 'IE'): 23.0,
+ ('LU', 14.0, 'IT'): 22.0,
+ ('LU', 14.0, 'LT'): 21.0,
+ ('LU', 14.0, 'LV'): 21.0,
+ ('LU', 14.0, 'MT'): 18.0,
+ ('LU', 14.0, 'NL'): 21.0,
+ ('LU', 14.0, 'PL'): 23.0,
+ ('LU', 14.0, 'PT'): 23.0,
+ ('LU', 14.0, 'RO'): 21.0,
+ ('LU', 14.0, 'SE'): 18.0,
+ ('LU', 14.0, 'SI'): 21.0,
+ ('LU', 14.0, 'SK'): 23.0,
+ ('LU', 17.0, 'AT'): 20.0,
+ ('LU', 17.0, 'BE'): 21.0,
+ ('LU', 17.0, 'BG'): 20.0,
+ ('LU', 17.0, 'CY'): 19.0,
+ ('LU', 17.0, 'CZ'): 21.0,
+ ('LU', 17.0, 'DE'): 19.0,
+ ('LU', 17.0, 'DK'): 25.0,
+ ('LU', 17.0, 'EE'): 20.0,
+ ('LU', 17.0, 'ES'): 21.0,
+ ('LU', 17.0, 'FI'): 24.0,
+ ('LU', 17.0, 'FR'): 20.0,
+ ('LU', 17.0, 'GR'): 24.0,
+ ('LU', 17.0, 'HR'): 25.0,
+ ('LU', 17.0, 'HU'): 27.0,
+ ('LU', 17.0, 'IE'): 23.0,
+ ('LU', 17.0, 'IT'): 22.0,
+ ('LU', 17.0, 'LT'): 21.0,
+ ('LU', 17.0, 'LV'): 21.0,
+ ('LU', 17.0, 'MT'): 18.0,
+ ('LU', 17.0, 'NL'): 21.0,
+ ('LU', 17.0, 'PL'): 23.0,
+ ('LU', 17.0, 'PT'): 23.0,
+ ('LU', 17.0, 'RO'): 19.0,
+ ('LU', 17.0, 'SE'): 25.0,
+ ('LU', 17.0, 'SI'): 22.0,
+ ('LU', 17.0, 'SK'): 20.0,
+ ('LU', 3.0, 'AT'): 10.0,
+ ('LU', 3.0, 'BE'): 6.0,
+ ('LU', 3.0, 'BG'): 20.0,
+ ('LU', 3.0, 'CY'): 5.0,
+ ('LU', 3.0, 'CZ'): 15.0,
+ ('LU', 3.0, 'DE'): 7.0,
+ ('LU', 3.0, 'DK'): 25.0,
+ ('LU', 3.0, 'EE'): 9.0,
+ ('LU', 3.0, 'ES'): 4.0,
+ ('LU', 3.0, 'FI'): 10.0,
+ ('LU', 3.0, 'FR'): 5.5,
+ ('LU', 3.0, 'GR'): 13.0,
+ ('LU', 3.0, 'HR'): 5.0,
+ ('LU', 3.0, 'HU'): 5.0,
+ ('LU', 3.0, 'IE'): 4.8,
+ ('LU', 3.0, 'IT'): 4.0,
+ ('LU', 3.0, 'LT'): 5.0,
+ ('LU', 3.0, 'LV'): 12.0,
+ ('LU', 3.0, 'MT'): 5.0,
+ ('LU', 3.0, 'NL'): 9.0,
+ ('LU', 3.0, 'PL'): 8.0,
+ ('LU', 3.0, 'PT'): 6.0,
+ ('LU', 3.0, 'RO'): 5.0,
+ ('LU', 3.0, 'SE'): 6.0,
+ ('LU', 3.0, 'SI'): 9.5,
+ ('LU', 3.0, 'SK'): 10.0,
+ ('LU', 8.0, 'AT'): 10.0,
+ ('LU', 8.0, 'BE'): 6.0,
+ ('LU', 8.0, 'BG'): 20.0,
+ ('LU', 8.0, 'CY'): 5.0,
+ ('LU', 8.0, 'CZ'): 15.0,
+ ('LU', 8.0, 'DE'): 7.0,
+ ('LU', 8.0, 'DK'): 25.0,
+ ('LU', 8.0, 'EE'): 9.0,
+ ('LU', 8.0, 'ES'): 10.0,
+ ('LU', 8.0, 'FI'): 10.0,
+ ('LU', 8.0, 'FR'): 5.5,
+ ('LU', 8.0, 'GR'): 13.0,
+ ('LU', 8.0, 'HR'): 5.0,
+ ('LU', 8.0, 'HU'): 5.0,
+ ('LU', 8.0, 'IE'): 13.5,
+ ('LU', 8.0, 'IT'): 10.0,
+ ('LU', 8.0, 'LT'): 5.0,
+ ('LU', 8.0, 'LV'): 12.0,
+ ('LU', 8.0, 'MT'): 5.0,
+ ('LU', 8.0, 'NL'): 9.0,
+ ('LU', 8.0, 'PL'): 8.0,
+ ('LU', 8.0, 'PT'): 6.0,
+ ('LU', 8.0, 'RO'): 5.0,
+ ('LU', 8.0, 'SE'): 6.0,
+ ('LU', 8.0, 'SI'): 9.5,
+ ('LU', 8.0, 'SK'): 10.0,
+ ('LV', 12.0, 'AT'): 10.0,
+ ('LV', 12.0, 'BE'): 6.0,
+ ('LV', 12.0, 'BG'): 20.0,
+ ('LV', 12.0, 'CY'): 5.0,
+ ('LV', 12.0, 'CZ'): 15.0,
+ ('LV', 12.0, 'DE'): 7.0,
+ ('LV', 12.0, 'DK'): 25.0,
+ ('LV', 12.0, 'EE'): 9.0,
+ ('LV', 12.0, 'ES'): 10.0,
+ ('LV', 12.0, 'FI'): 10.0,
+ ('LV', 12.0, 'FR'): 5.5,
+ ('LV', 12.0, 'GR'): 13.0,
+ ('LV', 12.0, 'HR'): 13.0,
+ ('LV', 12.0, 'HU'): 5.0,
+ ('LV', 12.0, 'IE'): 13.5,
+ ('LV', 12.0, 'IT'): 10.0,
+ ('LV', 12.0, 'LT'): 5.0,
+ ('LV', 12.0, 'LU'): 8.0,
+ ('LV', 12.0, 'MT'): 5.0,
+ ('LV', 12.0, 'NL'): 9.0,
+ ('LV', 12.0, 'PL'): 8.0,
+ ('LV', 12.0, 'PT'): 6.0,
+ ('LV', 12.0, 'RO'): 5.0,
+ ('LV', 12.0, 'SE'): 6.0,
+ ('LV', 12.0, 'SI'): 9.5,
+ ('LV', 12.0, 'SK'): 10.0,
+ ('LV', 21.0, 'AT'): 20.0,
+ ('LV', 21.0, 'BE'): 21.0,
+ ('LV', 21.0, 'BG'): 20.0,
+ ('LV', 21.0, 'CY'): 19.0,
+ ('LV', 21.0, 'CZ'): 21.0,
+ ('LV', 21.0, 'DE'): 19.0,
+ ('LV', 21.0, 'DK'): 25.0,
+ ('LV', 21.0, 'EE'): 20.0,
+ ('LV', 21.0, 'ES'): 21.0,
+ ('LV', 21.0, 'FI'): 24.0,
+ ('LV', 21.0, 'FR'): 20.0,
+ ('LV', 21.0, 'GR'): 24.0,
+ ('LV', 21.0, 'HR'): 25.0,
+ ('LV', 21.0, 'HU'): 27.0,
+ ('LV', 21.0, 'IE'): 23.0,
+ ('LV', 21.0, 'IT'): 22.0,
+ ('LV', 21.0, 'LT'): 21.0,
+ ('LV', 21.0, 'LU'): 17.0,
+ ('LV', 21.0, 'MT'): 18.0,
+ ('LV', 21.0, 'NL'): 21.0,
+ ('LV', 21.0, 'PL'): 23.0,
+ ('LV', 21.0, 'PT'): 23.0,
+ ('LV', 21.0, 'RO'): 19.0,
+ ('LV', 21.0, 'SE'): 25.0,
+ ('LV', 21.0, 'SI'): 22.0,
+ ('LV', 21.0, 'SK'): 20.0,
+ ('LV', 5.0, 'AT'): 10.0,
+ ('LV', 5.0, 'BE'): 6.0,
+ ('LV', 5.0, 'BG'): 20.0,
+ ('LV', 5.0, 'CY'): 5.0,
+ ('LV', 5.0, 'CZ'): 15.0,
+ ('LV', 5.0, 'DE'): 7.0,
+ ('LV', 5.0, 'DK'): 25.0,
+ ('LV', 5.0, 'EE'): 9.0,
+ ('LV', 5.0, 'ES'): 10.0,
+ ('LV', 5.0, 'FI'): 10.0,
+ ('LV', 5.0, 'FR'): 5.5,
+ ('LV', 5.0, 'GR'): 13.0,
+ ('LV', 5.0, 'HR'): 5.0,
+ ('LV', 5.0, 'HU'): 5.0,
+ ('LV', 5.0, 'IE'): 13.5,
+ ('LV', 5.0, 'IT'): 4.0,
+ ('LV', 5.0, 'LT'): 5.0,
+ ('LV', 5.0, 'LU'): 8.0,
+ ('LV', 5.0, 'MT'): 5.0,
+ ('LV', 5.0, 'NL'): 9.0,
+ ('LV', 5.0, 'PL'): 8.0,
+ ('LV', 5.0, 'PT'): 6.0,
+ ('LV', 5.0, 'RO'): 5.0,
+ ('LV', 5.0, 'SE'): 6.0,
+ ('LV', 5.0, 'SI'): 9.5,
+ ('LV', 5.0, 'SK'): 10.0,
+ ('MT', 18.0, 'AT'): 20.0,
+ ('MT', 18.0, 'BE'): 21.0,
+ ('MT', 18.0, 'BG'): 20.0,
+ ('MT', 18.0, 'CY'): 19.0,
+ ('MT', 18.0, 'CZ'): 21.0,
+ ('MT', 18.0, 'DE'): 19.0,
+ ('MT', 18.0, 'DK'): 25.0,
+ ('MT', 18.0, 'EE'): 20.0,
+ ('MT', 18.0, 'ES'): 21.0,
+ ('MT', 18.0, 'FI'): 24.0,
+ ('MT', 18.0, 'FR'): 20.0,
+ ('MT', 18.0, 'GR'): 24.0,
+ ('MT', 18.0, 'HR'): 25.0,
+ ('MT', 18.0, 'HU'): 27.0,
+ ('MT', 18.0, 'IE'): 23.0,
+ ('MT', 18.0, 'IT'): 22.0,
+ ('MT', 18.0, 'LT'): 21.0,
+ ('MT', 18.0, 'LU'): 17.0,
+ ('MT', 18.0, 'LV'): 21.0,
+ ('MT', 18.0, 'NL'): 21.0,
+ ('MT', 18.0, 'PL'): 23.0,
+ ('MT', 18.0, 'PT'): 23.0,
+ ('MT', 18.0, 'RO'): 19.0,
+ ('MT', 18.0, 'SE'): 25.0,
+ ('MT', 18.0, 'SI'): 22.0,
+ ('MT', 18.0, 'SK'): 20.0,
+ ('MT', 5.0, 'AT'): 10.0,
+ ('MT', 5.0, 'BE'): 6.0,
+ ('MT', 5.0, 'BG'): 20.0,
+ ('MT', 5.0, 'CY'): 5.0,
+ ('MT', 5.0, 'CZ'): 15.0,
+ ('MT', 5.0, 'DE'): 7.0,
+ ('MT', 5.0, 'DK'): 25.0,
+ ('MT', 5.0, 'EE'): 9.0,
+ ('MT', 5.0, 'ES'): 10.0,
+ ('MT', 5.0, 'FI'): 10.0,
+ ('MT', 5.0, 'FR'): 5.5,
+ ('MT', 5.0, 'GR'): 13.0,
+ ('MT', 5.0, 'HR'): 5.0,
+ ('MT', 5.0, 'HU'): 5.0,
+ ('MT', 5.0, 'IE'): 13.5,
+ ('MT', 5.0, 'IT'): 4.0,
+ ('MT', 5.0, 'LT'): 5.0,
+ ('MT', 5.0, 'LU'): 8.0,
+ ('MT', 5.0, 'LV'): 12.0,
+ ('MT', 5.0, 'NL'): 9.0,
+ ('MT', 5.0, 'PL'): 8.0,
+ ('MT', 5.0, 'PT'): 6.0,
+ ('MT', 5.0, 'RO'): 5.0,
+ ('MT', 5.0, 'SE'): 6.0,
+ ('MT', 5.0, 'SI'): 9.5,
+ ('MT', 5.0, 'SK'): 10.0,
+ ('MT', 7.0, 'AT'): 10.0,
+ ('MT', 7.0, 'BE'): 6.0,
+ ('MT', 7.0, 'BG'): 20.0,
+ ('MT', 7.0, 'CY'): 5.0,
+ ('MT', 7.0, 'CZ'): 15.0,
+ ('MT', 7.0, 'DE'): 7.0,
+ ('MT', 7.0, 'DK'): 25.0,
+ ('MT', 7.0, 'EE'): 9.0,
+ ('MT', 7.0, 'ES'): 10.0,
+ ('MT', 7.0, 'FI'): 10.0,
+ ('MT', 7.0, 'FR'): 5.5,
+ ('MT', 7.0, 'GR'): 13.0,
+ ('MT', 7.0, 'HR'): 5.0,
+ ('MT', 7.0, 'HU'): 5.0,
+ ('MT', 7.0, 'IE'): 13.5,
+ ('MT', 7.0, 'IT'): 10.0,
+ ('MT', 7.0, 'LT'): 5.0,
+ ('MT', 7.0, 'LU'): 8.0,
+ ('MT', 7.0, 'LV'): 12.0,
+ ('MT', 7.0, 'NL'): 9.0,
+ ('MT', 7.0, 'PL'): 8.0,
+ ('MT', 7.0, 'PT'): 6.0,
+ ('MT', 7.0, 'RO'): 5.0,
+ ('MT', 7.0, 'SE'): 6.0,
+ ('MT', 7.0, 'SI'): 9.5,
+ ('MT', 7.0, 'SK'): 10.0,
+ ('NL', 21.0, 'AT'): 20.0,
+ ('NL', 21.0, 'BE'): 21.0,
+ ('NL', 21.0, 'BG'): 20.0,
+ ('NL', 21.0, 'CY'): 19.0,
+ ('NL', 21.0, 'CZ'): 21.0,
+ ('NL', 21.0, 'DE'): 19.0,
+ ('NL', 21.0, 'DK'): 25.0,
+ ('NL', 21.0, 'EE'): 20.0,
+ ('NL', 21.0, 'ES'): 21.0,
+ ('NL', 21.0, 'FI'): 24.0,
+ ('NL', 21.0, 'FR'): 20.0,
+ ('NL', 21.0, 'GR'): 24.0,
+ ('NL', 21.0, 'HR'): 25.0,
+ ('NL', 21.0, 'HU'): 27.0,
+ ('NL', 21.0, 'IE'): 23.0,
+ ('NL', 21.0, 'IT'): 22.0,
+ ('NL', 21.0, 'LT'): 21.0,
+ ('NL', 21.0, 'LU'): 17.0,
+ ('NL', 21.0, 'LV'): 21.0,
+ ('NL', 21.0, 'MT'): 18.0,
+ ('NL', 21.0, 'PL'): 23.0,
+ ('NL', 21.0, 'PT'): 23.0,
+ ('NL', 21.0, 'RO'): 19.0,
+ ('NL', 21.0, 'SE'): 25.0,
+ ('NL', 21.0, 'SI'): 22.0,
+ ('NL', 21.0, 'SK'): 20.0,
+ ('NL', 9.0, 'AT'): 10.0,
+ ('NL', 9.0, 'BE'): 6.0,
+ ('NL', 9.0, 'BG'): 20.0,
+ ('NL', 9.0, 'CY'): 5.0,
+ ('NL', 9.0, 'CZ'): 15.0,
+ ('NL', 9.0, 'DE'): 7.0,
+ ('NL', 9.0, 'DK'): 25.0,
+ ('NL', 9.0, 'EE'): 9.0,
+ ('NL', 9.0, 'ES'): 10.0,
+ ('NL', 9.0, 'FI'): 10.0,
+ ('NL', 9.0, 'FR'): 5.5,
+ ('NL', 9.0, 'GR'): 13.0,
+ ('NL', 9.0, 'HR'): 5.0,
+ ('NL', 9.0, 'HU'): 5.0,
+ ('NL', 9.0, 'IE'): 13.5,
+ ('NL', 9.0, 'IT'): 4.0,
+ ('NL', 9.0, 'LT'): 5.0,
+ ('NL', 9.0, 'LU'): 8.0,
+ ('NL', 9.0, 'LV'): 12.0,
+ ('NL', 9.0, 'MT'): 5.0,
+ ('NL', 9.0, 'PL'): 8.0,
+ ('NL', 9.0, 'PT'): 6.0,
+ ('NL', 9.0, 'RO'): 5.0,
+ ('NL', 9.0, 'SE'): 6.0,
+ ('NL', 9.0, 'SI'): 9.5,
+ ('NL', 9.0, 'SK'): 10.0,
+ ('PL', 23.0, 'AT'): 20.0,
+ ('PL', 23.0, 'BE'): 21.0,
+ ('PL', 23.0, 'BG'): 20.0,
+ ('PL', 23.0, 'CY'): 19.0,
+ ('PL', 23.0, 'CZ'): 21.0,
+ ('PL', 23.0, 'DE'): 19.0,
+ ('PL', 23.0, 'DK'): 25.0,
+ ('PL', 23.0, 'EE'): 20.0,
+ ('PL', 23.0, 'ES'): 21.0,
+ ('PL', 23.0, 'FI'): 24.0,
+ ('PL', 23.0, 'FR'): 20.0,
+ ('PL', 23.0, 'GR'): 24.0,
+ ('PL', 23.0, 'HR'): 25.0,
+ ('PL', 23.0, 'HU'): 27.0,
+ ('PL', 23.0, 'IE'): 23.0,
+ ('PL', 23.0, 'IT'): 22.0,
+ ('PL', 23.0, 'LT'): 21.0,
+ ('PL', 23.0, 'LU'): 17.0,
+ ('PL', 23.0, 'LV'): 21.0,
+ ('PL', 23.0, 'MT'): 18.0,
+ ('PL', 23.0, 'NL'): 21.0,
+ ('PL', 23.0, 'PT'): 23.0,
+ ('PL', 23.0, 'RO'): 19.0,
+ ('PL', 23.0, 'SE'): 25.0,
+ ('PL', 23.0, 'SI'): 22.0,
+ ('PL', 23.0, 'SK'): 20.0,
+ ('PL', 5.0, 'AT'): 10.0,
+ ('PL', 5.0, 'BE'): 6.0,
+ ('PL', 5.0, 'BG'): 20.0,
+ ('PL', 5.0, 'CY'): 5.0,
+ ('PL', 5.0, 'CZ'): 15.0,
+ ('PL', 5.0, 'DE'): 7.0,
+ ('PL', 5.0, 'DK'): 25.0,
+ ('PL', 5.0, 'EE'): 9.0,
+ ('PL', 5.0, 'ES'): 10.0,
+ ('PL', 5.0, 'FI'): 10.0,
+ ('PL', 5.0, 'FR'): 5.5,
+ ('PL', 5.0, 'GR'): 13.0,
+ ('PL', 5.0, 'HR'): 5.0,
+ ('PL', 5.0, 'HU'): 5.0,
+ ('PL', 5.0, 'IE'): 13.5,
+ ('PL', 5.0, 'IT'): 4.0,
+ ('PL', 5.0, 'LT'): 5.0,
+ ('PL', 5.0, 'LU'): 8.0,
+ ('PL', 5.0, 'LV'): 12.0,
+ ('PL', 5.0, 'MT'): 5.0,
+ ('PL', 5.0, 'NL'): 9.0,
+ ('PL', 5.0, 'PT'): 6.0,
+ ('PL', 5.0, 'RO'): 5.0,
+ ('PL', 5.0, 'SE'): 6.0,
+ ('PL', 5.0, 'SI'): 9.5,
+ ('PL', 5.0, 'SK'): 10.0,
+ ('PL', 8.0, 'AT'): 10.0,
+ ('PL', 8.0, 'BE'): 6.0,
+ ('PL', 8.0, 'BG'): 20.0,
+ ('PL', 8.0, 'CY'): 5.0,
+ ('PL', 8.0, 'CZ'): 15.0,
+ ('PL', 8.0, 'DE'): 7.0,
+ ('PL', 8.0, 'DK'): 25.0,
+ ('PL', 8.0, 'EE'): 9.0,
+ ('PL', 8.0, 'ES'): 10.0,
+ ('PL', 8.0, 'FI'): 10.0,
+ ('PL', 8.0, 'FR'): 5.5,
+ ('PL', 8.0, 'GR'): 13.0,
+ ('PL', 8.0, 'HR'): 5.0,
+ ('PL', 8.0, 'HU'): 5.0,
+ ('PL', 8.0, 'IE'): 13.5,
+ ('PL', 8.0, 'IT'): 10.0,
+ ('PL', 8.0, 'LT'): 5.0,
+ ('PL', 8.0, 'LU'): 8.0,
+ ('PL', 8.0, 'LV'): 12.0,
+ ('PL', 8.0, 'MT'): 5.0,
+ ('PL', 8.0, 'NL'): 9.0,
+ ('PL', 8.0, 'PT'): 6.0,
+ ('PL', 8.0, 'RO'): 5.0,
+ ('PL', 8.0, 'SE'): 6.0,
+ ('PL', 8.0, 'SI'): 9.5,
+ ('PL', 8.0, 'SK'): 10.0,
+ ('PT', 13.0, 'AT'): 20.0,
+ ('PT', 13.0, 'BE'): 21.0,
+ ('PT', 13.0, 'BG'): 20.0,
+ ('PT', 13.0, 'CY'): 19.0,
+ ('PT', 13.0, 'CZ'): 21.0,
+ ('PT', 13.0, 'DE'): 19.0,
+ ('PT', 13.0, 'DK'): 25.0,
+ ('PT', 13.0, 'EE'): 20.0,
+ ('PT', 13.0, 'ES'): 21.0,
+ ('PT', 13.0, 'FI'): 24.0,
+ ('PT', 13.0, 'FR'): 20.0,
+ ('PT', 13.0, 'GR'): 24.0,
+ ('PT', 13.0, 'HR'): 25.0,
+ ('PT', 13.0, 'HU'): 27.0,
+ ('PT', 13.0, 'IE'): 23.0,
+ ('PT', 13.0, 'IT'): 22.0,
+ ('PT', 13.0, 'LT'): 21.0,
+ ('PT', 13.0, 'LU'): 17.0,
+ ('PT', 13.0, 'LV'): 21.0,
+ ('PT', 13.0, 'MT'): 18.0,
+ ('PT', 13.0, 'NL'): 21.0,
+ ('PT', 13.0, 'PL'): 23.0,
+ ('PT', 13.0, 'RO'): 21.0,
+ ('PT', 13.0, 'SE'): 18.0,
+ ('PT', 13.0, 'SI'): 21.0,
+ ('PT', 13.0, 'SK'): 23.0,
+ ('PT', 23.0, 'AT'): 20.0,
+ ('PT', 23.0, 'BE'): 21.0,
+ ('PT', 23.0, 'BG'): 20.0,
+ ('PT', 23.0, 'CY'): 19.0,
+ ('PT', 23.0, 'CZ'): 21.0,
+ ('PT', 23.0, 'DE'): 19.0,
+ ('PT', 23.0, 'DK'): 25.0,
+ ('PT', 23.0, 'EE'): 20.0,
+ ('PT', 23.0, 'ES'): 21.0,
+ ('PT', 23.0, 'FI'): 24.0,
+ ('PT', 23.0, 'FR'): 20.0,
+ ('PT', 23.0, 'GR'): 24.0,
+ ('PT', 23.0, 'HR'): 25.0,
+ ('PT', 23.0, 'HU'): 27.0,
+ ('PT', 23.0, 'IE'): 23.0,
+ ('PT', 23.0, 'IT'): 22.0,
+ ('PT', 23.0, 'LT'): 21.0,
+ ('PT', 23.0, 'LU'): 17.0,
+ ('PT', 23.0, 'LV'): 21.0,
+ ('PT', 23.0, 'MT'): 18.0,
+ ('PT', 23.0, 'NL'): 21.0,
+ ('PT', 23.0, 'PL'): 23.0,
+ ('PT', 23.0, 'RO'): 19.0,
+ ('PT', 23.0, 'SE'): 25.0,
+ ('PT', 23.0, 'SI'): 22.0,
+ ('PT', 23.0, 'SK'): 20.0,
+ ('PT', 6.0, 'AT'): 10.0,
+ ('PT', 6.0, 'BE'): 6.0,
+ ('PT', 6.0, 'BG'): 20.0,
+ ('PT', 6.0, 'CY'): 5.0,
+ ('PT', 6.0, 'CZ'): 15.0,
+ ('PT', 6.0, 'DE'): 7.0,
+ ('PT', 6.0, 'DK'): 25.0,
+ ('PT', 6.0, 'EE'): 9.0,
+ ('PT', 6.0, 'ES'): 10.0,
+ ('PT', 6.0, 'FI'): 10.0,
+ ('PT', 6.0, 'FR'): 5.5,
+ ('PT', 6.0, 'GR'): 13.0,
+ ('PT', 6.0, 'HR'): 5.0,
+ ('PT', 6.0, 'HU'): 5.0,
+ ('PT', 6.0, 'IE'): 13.5,
+ ('PT', 6.0, 'IT'): 4.0,
+ ('PT', 6.0, 'LT'): 5.0,
+ ('PT', 6.0, 'LU'): 8.0,
+ ('PT', 6.0, 'LV'): 12.0,
+ ('PT', 6.0, 'MT'): 5.0,
+ ('PT', 6.0, 'NL'): 9.0,
+ ('PT', 6.0, 'PL'): 8.0,
+ ('PT', 6.0, 'RO'): 5.0,
+ ('PT', 6.0, 'SE'): 6.0,
+ ('PT', 6.0, 'SI'): 9.5,
+ ('PT', 6.0, 'SK'): 10.0,
+ ('RO', 19.0, 'AT'): 20.0,
+ ('RO', 19.0, 'BE'): 21.0,
+ ('RO', 19.0, 'BG'): 20.0,
+ ('RO', 19.0, 'CY'): 19.0,
+ ('RO', 19.0, 'CZ'): 21.0,
+ ('RO', 19.0, 'DE'): 19.0,
+ ('RO', 19.0, 'DK'): 25.0,
+ ('RO', 19.0, 'EE'): 20.0,
+ ('RO', 19.0, 'ES'): 21.0,
+ ('RO', 19.0, 'FI'): 24.0,
+ ('RO', 19.0, 'FR'): 20.0,
+ ('RO', 19.0, 'GR'): 24.0,
+ ('RO', 19.0, 'HR'): 25.0,
+ ('RO', 19.0, 'HU'): 27.0,
+ ('RO', 19.0, 'IE'): 23.0,
+ ('RO', 19.0, 'IT'): 22.0,
+ ('RO', 19.0, 'LT'): 21.0,
+ ('RO', 19.0, 'LU'): 17.0,
+ ('RO', 19.0, 'LV'): 21.0,
+ ('RO', 19.0, 'MT'): 18.0,
+ ('RO', 19.0, 'NL'): 21.0,
+ ('RO', 19.0, 'PL'): 23.0,
+ ('RO', 19.0, 'PT'): 23.0,
+ ('RO', 19.0, 'SE'): 25.0,
+ ('RO', 19.0, 'SI'): 22.0,
+ ('RO', 19.0, 'SK'): 20.0,
+ ('RO', 5.0, 'AT'): 10.0,
+ ('RO', 5.0, 'BE'): 6.0,
+ ('RO', 5.0, 'BG'): 20.0,
+ ('RO', 5.0, 'CY'): 5.0,
+ ('RO', 5.0, 'CZ'): 15.0,
+ ('RO', 5.0, 'DE'): 7.0,
+ ('RO', 5.0, 'DK'): 25.0,
+ ('RO', 5.0, 'EE'): 9.0,
+ ('RO', 5.0, 'ES'): 10.0,
+ ('RO', 5.0, 'FI'): 10.0,
+ ('RO', 5.0, 'FR'): 5.5,
+ ('RO', 5.0, 'GR'): 13.0,
+ ('RO', 5.0, 'HR'): 5.0,
+ ('RO', 5.0, 'HU'): 5.0,
+ ('RO', 5.0, 'IE'): 13.5,
+ ('RO', 5.0, 'IT'): 4.0,
+ ('RO', 5.0, 'LT'): 5.0,
+ ('RO', 5.0, 'LU'): 8.0,
+ ('RO', 5.0, 'LV'): 12.0,
+ ('RO', 5.0, 'MT'): 5.0,
+ ('RO', 5.0, 'NL'): 9.0,
+ ('RO', 5.0, 'PL'): 8.0,
+ ('RO', 5.0, 'PT'): 6.0,
+ ('RO', 5.0, 'SE'): 6.0,
+ ('RO', 5.0, 'SI'): 9.5,
+ ('RO', 5.0, 'SK'): 10.0,
+ ('RO', 9.0, 'AT'): 10.0,
+ ('RO', 9.0, 'BE'): 6.0,
+ ('RO', 9.0, 'BG'): 20.0,
+ ('RO', 9.0, 'CY'): 5.0,
+ ('RO', 9.0, 'CZ'): 15.0,
+ ('RO', 9.0, 'DE'): 7.0,
+ ('RO', 9.0, 'DK'): 25.0,
+ ('RO', 9.0, 'EE'): 9.0,
+ ('RO', 9.0, 'ES'): 10.0,
+ ('RO', 9.0, 'FI'): 10.0,
+ ('RO', 9.0, 'FR'): 5.5,
+ ('RO', 9.0, 'GR'): 13.0,
+ ('RO', 9.0, 'HR'): 13.0,
+ ('RO', 9.0, 'HU'): 5.0,
+ ('RO', 9.0, 'IE'): 13.5,
+ ('RO', 9.0, 'IT'): 10.0,
+ ('RO', 9.0, 'LT'): 5.0,
+ ('RO', 9.0, 'LU'): 8.0,
+ ('RO', 9.0, 'LV'): 12.0,
+ ('RO', 9.0, 'MT'): 5.0,
+ ('RO', 9.0, 'NL'): 9.0,
+ ('RO', 9.0, 'PL'): 8.0,
+ ('RO', 9.0, 'PT'): 6.0,
+ ('RO', 9.0, 'SE'): 6.0,
+ ('RO', 9.0, 'SI'): 9.5,
+ ('RO', 9.0, 'SK'): 10.0,
+ ('SE', 12.0, 'AT'): 10.0,
+ ('SE', 12.0, 'BE'): 6.0,
+ ('SE', 12.0, 'BG'): 20.0,
+ ('SE', 12.0, 'CY'): 5.0,
+ ('SE', 12.0, 'CZ'): 15.0,
+ ('SE', 12.0, 'DE'): 7.0,
+ ('SE', 12.0, 'DK'): 25.0,
+ ('SE', 12.0, 'EE'): 9.0,
+ ('SE', 12.0, 'ES'): 10.0,
+ ('SE', 12.0, 'FI'): 10.0,
+ ('SE', 12.0, 'FR'): 5.5,
+ ('SE', 12.0, 'GR'): 13.0,
+ ('SE', 12.0, 'HR'): 13.0,
+ ('SE', 12.0, 'HU'): 5.0,
+ ('SE', 12.0, 'IE'): 13.5,
+ ('SE', 12.0, 'IT'): 10.0,
+ ('SE', 12.0, 'LT'): 5.0,
+ ('SE', 12.0, 'LU'): 8.0,
+ ('SE', 12.0, 'LV'): 12.0,
+ ('SE', 12.0, 'MT'): 5.0,
+ ('SE', 12.0, 'NL'): 9.0,
+ ('SE', 12.0, 'PL'): 8.0,
+ ('SE', 12.0, 'PT'): 6.0,
+ ('SE', 12.0, 'RO'): 5.0,
+ ('SE', 12.0, 'SI'): 9.5,
+ ('SE', 12.0, 'SK'): 10.0,
+ ('SE', 25.0, 'AT'): 20.0,
+ ('SE', 25.0, 'BE'): 21.0,
+ ('SE', 25.0, 'BG'): 20.0,
+ ('SE', 25.0, 'CY'): 19.0,
+ ('SE', 25.0, 'CZ'): 21.0,
+ ('SE', 25.0, 'DE'): 19.0,
+ ('SE', 25.0, 'DK'): 25.0,
+ ('SE', 25.0, 'EE'): 20.0,
+ ('SE', 25.0, 'ES'): 21.0,
+ ('SE', 25.0, 'FI'): 24.0,
+ ('SE', 25.0, 'FR'): 20.0,
+ ('SE', 25.0, 'GR'): 24.0,
+ ('SE', 25.0, 'HR'): 25.0,
+ ('SE', 25.0, 'HU'): 27.0,
+ ('SE', 25.0, 'IE'): 23.0,
+ ('SE', 25.0, 'IT'): 22.0,
+ ('SE', 25.0, 'LT'): 21.0,
+ ('SE', 25.0, 'LU'): 17.0,
+ ('SE', 25.0, 'LV'): 21.0,
+ ('SE', 25.0, 'MT'): 18.0,
+ ('SE', 25.0, 'NL'): 21.0,
+ ('SE', 25.0, 'PL'): 23.0,
+ ('SE', 25.0, 'PT'): 23.0,
+ ('SE', 25.0, 'RO'): 19.0,
+ ('SE', 25.0, 'SI'): 22.0,
+ ('SE', 25.0, 'SK'): 20.0,
+ ('SE', 6.0, 'AT'): 10.0,
+ ('SE', 6.0, 'BE'): 6.0,
+ ('SE', 6.0, 'BG'): 20.0,
+ ('SE', 6.0, 'CY'): 5.0,
+ ('SE', 6.0, 'CZ'): 15.0,
+ ('SE', 6.0, 'DE'): 7.0,
+ ('SE', 6.0, 'DK'): 25.0,
+ ('SE', 6.0, 'EE'): 9.0,
+ ('SE', 6.0, 'ES'): 10.0,
+ ('SE', 6.0, 'FI'): 10.0,
+ ('SE', 6.0, 'FR'): 5.5,
+ ('SE', 6.0, 'GR'): 13.0,
+ ('SE', 6.0, 'HR'): 5.0,
+ ('SE', 6.0, 'HU'): 5.0,
+ ('SE', 6.0, 'IE'): 13.5,
+ ('SE', 6.0, 'IT'): 4.0,
+ ('SE', 6.0, 'LT'): 5.0,
+ ('SE', 6.0, 'LU'): 8.0,
+ ('SE', 6.0, 'LV'): 12.0,
+ ('SE', 6.0, 'MT'): 5.0,
+ ('SE', 6.0, 'NL'): 9.0,
+ ('SE', 6.0, 'PL'): 8.0,
+ ('SE', 6.0, 'PT'): 6.0,
+ ('SE', 6.0, 'RO'): 5.0,
+ ('SE', 6.0, 'SI'): 9.5,
+ ('SE', 6.0, 'SK'): 10.0,
+ ('SI', 22.0, 'AT'): 20.0,
+ ('SI', 22.0, 'BE'): 21.0,
+ ('SI', 22.0, 'BG'): 20.0,
+ ('SI', 22.0, 'CY'): 19.0,
+ ('SI', 22.0, 'CZ'): 21.0,
+ ('SI', 22.0, 'DE'): 19.0,
+ ('SI', 22.0, 'DK'): 25.0,
+ ('SI', 22.0, 'EE'): 20.0,
+ ('SI', 22.0, 'ES'): 21.0,
+ ('SI', 22.0, 'FI'): 24.0,
+ ('SI', 22.0, 'FR'): 20.0,
+ ('SI', 22.0, 'GR'): 24.0,
+ ('SI', 22.0, 'HR'): 25.0,
+ ('SI', 22.0, 'HU'): 27.0,
+ ('SI', 22.0, 'IE'): 23.0,
+ ('SI', 22.0, 'IT'): 22.0,
+ ('SI', 22.0, 'LT'): 21.0,
+ ('SI', 22.0, 'LU'): 17.0,
+ ('SI', 22.0, 'LV'): 21.0,
+ ('SI', 22.0, 'MT'): 18.0,
+ ('SI', 22.0, 'NL'): 21.0,
+ ('SI', 22.0, 'PL'): 23.0,
+ ('SI', 22.0, 'PT'): 23.0,
+ ('SI', 22.0, 'RO'): 19.0,
+ ('SI', 22.0, 'SE'): 25.0,
+ ('SI', 22.0, 'SK'): 20.0,
+ ('SI', 5.0, 'AT'): 10.0,
+ ('SI', 5.0, 'BE'): 6.0,
+ ('SI', 5.0, 'BG'): 20.0,
+ ('SI', 5.0, 'CY'): 5.0,
+ ('SI', 5.0, 'CZ'): 15.0,
+ ('SI', 5.0, 'DE'): 7.0,
+ ('SI', 5.0, 'DK'): 25.0,
+ ('SI', 5.0, 'EE'): 9.0,
+ ('SI', 5.0, 'ES'): 10.0,
+ ('SI', 5.0, 'FI'): 10.0,
+ ('SI', 5.0, 'FR'): 5.5,
+ ('SI', 5.0, 'GR'): 13.0,
+ ('SI', 5.0, 'HR'): 5.0,
+ ('SI', 5.0, 'HU'): 5.0,
+ ('SI', 5.0, 'IE'): 13.5,
+ ('SI', 5.0, 'IT'): 4.0,
+ ('SI', 5.0, 'LT'): 5.0,
+ ('SI', 5.0, 'LU'): 8.0,
+ ('SI', 5.0, 'LV'): 12.0,
+ ('SI', 5.0, 'MT'): 5.0,
+ ('SI', 5.0, 'NL'): 9.0,
+ ('SI', 5.0, 'PL'): 8.0,
+ ('SI', 5.0, 'PT'): 6.0,
+ ('SI', 5.0, 'RO'): 5.0,
+ ('SI', 5.0, 'SE'): 6.0,
+ ('SI', 5.0, 'SK'): 10.0,
+ ('SI', 9.5, 'AT'): 10.0,
+ ('SI', 9.5, 'BE'): 6.0,
+ ('SI', 9.5, 'BG'): 20.0,
+ ('SI', 9.5, 'CY'): 5.0,
+ ('SI', 9.5, 'CZ'): 15.0,
+ ('SI', 9.5, 'DE'): 7.0,
+ ('SI', 9.5, 'DK'): 25.0,
+ ('SI', 9.5, 'EE'): 9.0,
+ ('SI', 9.5, 'ES'): 10.0,
+ ('SI', 9.5, 'FI'): 10.0,
+ ('SI', 9.5, 'FR'): 5.5,
+ ('SI', 9.5, 'GR'): 13.0,
+ ('SI', 9.5, 'HR'): 13.0,
+ ('SI', 9.5, 'HU'): 5.0,
+ ('SI', 9.5, 'IE'): 13.5,
+ ('SI', 9.5, 'IT'): 10.0,
+ ('SI', 9.5, 'LT'): 5.0,
+ ('SI', 9.5, 'LU'): 8.0,
+ ('SI', 9.5, 'LV'): 12.0,
+ ('SI', 9.5, 'MT'): 5.0,
+ ('SI', 9.5, 'NL'): 9.0,
+ ('SI', 9.5, 'PL'): 8.0,
+ ('SI', 9.5, 'PT'): 6.0,
+ ('SI', 9.5, 'RO'): 5.0,
+ ('SI', 9.5, 'SE'): 6.0,
+ ('SI', 9.5, 'SK'): 10.0,
+ ('SK', 10.0, 'AT'): 10.0,
+ ('SK', 10.0, 'BE'): 6.0,
+ ('SK', 10.0, 'BG'): 20.0,
+ ('SK', 10.0, 'CY'): 5.0,
+ ('SK', 10.0, 'CZ'): 15.0,
+ ('SK', 10.0, 'DE'): 7.0,
+ ('SK', 10.0, 'DK'): 25.0,
+ ('SK', 10.0, 'EE'): 9.0,
+ ('SK', 10.0, 'ES'): 10.0,
+ ('SK', 10.0, 'FI'): 10.0,
+ ('SK', 10.0, 'FR'): 5.5,
+ ('SK', 10.0, 'GR'): 13.0,
+ ('SK', 10.0, 'HR'): 5.0,
+ ('SK', 10.0, 'HU'): 5.0,
+ ('SK', 10.0, 'IE'): 13.5,
+ ('SK', 10.0, 'IT'): 4.0,
+ ('SK', 10.0, 'LT'): 5.0,
+ ('SK', 10.0, 'LU'): 8.0,
+ ('SK', 10.0, 'LV'): 12.0,
+ ('SK', 10.0, 'MT'): 5.0,
+ ('SK', 10.0, 'NL'): 9.0,
+ ('SK', 10.0, 'PL'): 8.0,
+ ('SK', 10.0, 'PT'): 6.0,
+ ('SK', 10.0, 'RO'): 5.0,
+ ('SK', 10.0, 'SE'): 6.0,
+ ('SK', 10.0, 'SI'): 9.5,
+ ('SK', 20.0, 'AT'): 20.0,
+ ('SK', 20.0, 'BE'): 21.0,
+ ('SK', 20.0, 'BG'): 20.0,
+ ('SK', 20.0, 'CY'): 19.0,
+ ('SK', 20.0, 'CZ'): 21.0,
+ ('SK', 20.0, 'DE'): 19.0,
+ ('SK', 20.0, 'DK'): 25.0,
+ ('SK', 20.0, 'EE'): 20.0,
+ ('SK', 20.0, 'ES'): 21.0,
+ ('SK', 20.0, 'FI'): 24.0,
+ ('SK', 20.0, 'FR'): 20.0,
+ ('SK', 20.0, 'GR'): 24.0,
+ ('SK', 20.0, 'HR'): 25.0,
+ ('SK', 20.0, 'HU'): 27.0,
+ ('SK', 20.0, 'IE'): 23.0,
+ ('SK', 20.0, 'IT'): 22.0,
+ ('SK', 20.0, 'LT'): 21.0,
+ ('SK', 20.0, 'LU'): 17.0,
+ ('SK', 20.0, 'LV'): 21.0,
+ ('SK', 20.0, 'MT'): 18.0,
+ ('SK', 20.0, 'NL'): 21.0,
+ ('SK', 20.0, 'PL'): 23.0,
+ ('SK', 20.0, 'PT'): 23.0,
+ ('SK', 20.0, 'RO'): 19.0,
+ ('SK', 20.0, 'SE'): 25.0,
+ ('SK', 20.0, 'SI'): 22.0,
+}
diff --git a/addons/l10n_eu_service/models/res_company.py b/addons/l10n_eu_service/models/res_company.py
new file mode 100644
index 00000000..1c4d7b05
--- /dev/null
+++ b/addons/l10n_eu_service/models/res_company.py
@@ -0,0 +1,111 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models, _
+from .eu_tax_map import EU_TAX_MAP
+
+
+class Company(models.Model):
+ _inherit = 'res.company'
+
+ @api.model
+ def _map_all_eu_companies_taxes(self):
+ ''' Identifies EU companies and calls the _map_eu_taxes function
+ '''
+ eu_countries = self.env.ref('base.europe').country_ids
+ companies = self.search([('account_tax_fiscal_country_id','in', eu_countries.ids)])
+ companies._map_eu_taxes()
+
+ def _map_eu_taxes(self):
+ '''Creates or updates Fiscal Positions for each EU country excluding the company's account_tax_fiscal_country_id
+ '''
+ eu_countries = self.env.ref('base.europe').country_ids
+ oss_tax_groups = self.env['ir.model.data'].search([
+ ('module', '=', 'l10n_eu_service'),
+ ('model', '=', 'account.tax.group')])
+ for company in self:
+ invoice_repartition_lines, refund_repartition_lines = company._get_repartition_lines_oss()
+ taxes = self.env['account.tax'].search([
+ ('type_tax_use', '=', 'sale'),
+ ('amount_type', '=', 'percent'),
+ ('company_id','=', company.id),
+ ('tax_group_id', 'not in', oss_tax_groups.mapped('res_id'))])
+ for country in eu_countries - company.account_tax_fiscal_country_id:
+ mapping = []
+ fpos = self.env['account.fiscal.position'].search([
+ ('country_id', '=', country.id),
+ ('company_id', '=', company.id),
+ ('auto_apply', '=', True),
+ ('vat_required', '=', False)], limit=1)
+ if not fpos:
+ fpos = self.env['account.fiscal.position'].create({
+ 'name': 'OSS B2C %s' % country.name,
+ 'country_id': country.id,
+ 'company_id': company.id,
+ 'auto_apply': True,
+ })
+
+ foreign_taxes = {tax.amount: tax for tax in fpos.tax_ids.tax_dest_id if tax.amount_type == 'percent'}
+
+ for domestic_tax in taxes:
+ tax_amount = EU_TAX_MAP.get((company.account_tax_fiscal_country_id.code, domestic_tax.amount, country.code), False)
+ if tax_amount and domestic_tax not in fpos.tax_ids.tax_src_id:
+ if not foreign_taxes.get(tax_amount, False):
+ if not self.env['ir.model.data'].xmlid_to_object('l10n_eu_service.oss_tax_group_%s' % str(tax_amount).replace('.','_')):
+ self.env['ir.model.data'].create({
+ 'name': 'oss_tax_group_%s' % str(tax_amount).replace('.','_'),
+ 'module': 'l10n_eu_service',
+ 'model': 'account.tax.group',
+ 'res_id': self.env['account.tax.group'].create({'name': 'OSS %s%%' % tax_amount}).id,
+ 'noupdate': True,
+ })
+ foreign_taxes[tax_amount] = self.env['account.tax'].create({
+ 'name': '%(rate)s%% %(country)s %(label)s' % {'rate': tax_amount, 'country': country.code, 'label': country.vat_label},
+ 'amount': tax_amount,
+ 'invoice_repartition_line_ids': invoice_repartition_lines,
+ 'refund_repartition_line_ids': refund_repartition_lines,
+ 'type_tax_use': 'sale',
+ 'description': "%s%%" % tax_amount,
+ 'tax_group_id': self.env.ref('l10n_eu_service.oss_tax_group_%s' % str(tax_amount).replace('.','_')).id,
+ 'sequence': 1000,
+ 'company_id': company.id,
+ })
+ mapping.append((0, 0, {'tax_src_id': domestic_tax.id, 'tax_dest_id': foreign_taxes[tax_amount].id}))
+ if mapping:
+ fpos.write({
+ 'tax_ids': mapping
+ })
+
+ def _get_repartition_lines_oss(self):
+ self.ensure_one()
+ defaults = self.env['account.tax'].with_company(self).default_get(['invoice_repartition_line_ids', 'refund_repartition_line_ids'])
+ oss_account = self._get_oss_account()
+ if oss_account:
+ defaults['invoice_repartition_line_ids'][1][2]['account_id'] = oss_account.id
+ defaults['refund_repartition_line_ids'][1][2]['account_id'] = oss_account.id
+ return defaults['invoice_repartition_line_ids'], defaults['refund_repartition_line_ids']
+
+ def _get_oss_account(self):
+ self.ensure_one()
+ if not self.env['ir.model.data'].xmlid_to_object('l10n_eu_service.oss_tax_account_company_%s' % self.id):
+ sales_tax_accounts = self.env['account.tax'].search([
+ ('type_tax_use', '=', 'sale'),
+ ('company_id', '=', self.id)
+ ]).invoice_repartition_line_ids.mapped('account_id')
+ if not sales_tax_accounts:
+ return False
+ new_code = self.env['account.account']._search_new_account_code(self, len(sales_tax_accounts[0].code), sales_tax_accounts[0].code[:-2])
+ oss_account = self.env['account.account'].create({
+ 'name': '%s OSS' % sales_tax_accounts[0].name,
+ 'code': new_code,
+ 'user_type_id': sales_tax_accounts[0].user_type_id.id,
+ 'company_id': self.id,
+ })
+ self.env['ir.model.data'].create({
+ 'name': 'oss_tax_account_company_%s' % self.id,
+ 'module': 'l10n_eu_service',
+ 'model': 'account.account',
+ 'res_id': oss_account.id,
+ 'noupdate': True,
+ })
+ return self.env.ref('l10n_eu_service.oss_tax_account_company_%s' % self.id)
diff --git a/addons/l10n_eu_service/models/res_config_settings.py b/addons/l10n_eu_service/models/res_config_settings.py
new file mode 100644
index 00000000..05ef7b46
--- /dev/null
+++ b/addons/l10n_eu_service/models/res_config_settings.py
@@ -0,0 +1,19 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models
+
+
+class ResConfigSettings(models.TransientModel):
+ _inherit = 'res.config.settings'
+
+ l10n_eu_services_eu_country = fields.Boolean('Is European country?', compute='_compute_l10n_eu_services_european_country')
+
+ def refresh_eu_tax_mapping(self):
+ self.env.companies._map_eu_taxes()
+
+ @api.depends('company_id')
+ def _compute_l10n_eu_services_european_country(self):
+ european_countries = self.env.ref('base.europe').country_ids
+ for record in self:
+ record.l10n_eu_services_eu_country = record.company_id.account_tax_fiscal_country_id in european_countries
diff --git a/addons/l10n_eu_service/security/ir.model.access.csv b/addons/l10n_eu_service/security/ir.model.access.csv
new file mode 100644
index 00000000..65d7ff4f
--- /dev/null
+++ b/addons/l10n_eu_service/security/ir.model.access.csv
@@ -0,0 +1,4 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_l10n_eu_service_service_tax_rate_user,access_l10n_eu_service_service_tax_rate,model_l10n_eu_service_service_tax_rate,,1,0,0,0
+access_l10n_eu_service_service_tax_rate_manager,access_l10n_eu_service_service_tax_rate,model_l10n_eu_service_service_tax_rate,account.group_account_manager,1,1,1,1
+access_l10n_eu_service_wizard,access.l10n_eu_service.wizard,model_l10n_eu_service_wizard,account.group_account_manager,1,1,1,0
diff --git a/addons/l10n_eu_service/views/res_config_settings_views.xml b/addons/l10n_eu_service/views/res_config_settings_views.xml
new file mode 100644
index 00000000..c6724047
--- /dev/null
+++ b/addons/l10n_eu_service/views/res_config_settings_views.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+
+ <record id="res_config_settings_view_form" model="ir.ui.view">
+ <field name="name">res.config.settings.view.form.inherit.l10n.eu.service</field>
+ <field name="model">res.config.settings</field>
+ <field name="inherit_id" ref="account.res_config_settings_view_form"/>
+ <field name="arch" type="xml">
+ <div name="l10n_eu_service_right_pane" position="inside">
+ <field name="l10n_eu_services_eu_country" invisible="1"/>
+ <div class="content-group" attrs="{'invisible': [('module_l10n_eu_service', '=', False)]}">
+ <div class="mt8" attrs="{'invisible': [('l10n_eu_services_eu_country', '=', False)]}">
+ <button type="object" name="refresh_eu_tax_mapping" icon="fa-refresh" string="Refresh tax mapping" class="btn-link"/>
+ </div>
+ </div>
+ </div>
+ </field>
+ </record>
+
+</odoo>
diff --git a/addons/l10n_eu_service/wizard/__init__.py b/addons/l10n_eu_service/wizard/__init__.py
new file mode 100644
index 00000000..260776f8
--- /dev/null
+++ b/addons/l10n_eu_service/wizard/__init__.py
@@ -0,0 +1,4 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import wizard
diff --git a/addons/l10n_eu_service/wizard/wizard.py b/addons/l10n_eu_service/wizard/wizard.py
new file mode 100644
index 00000000..01487dab
--- /dev/null
+++ b/addons/l10n_eu_service/wizard/wizard.py
@@ -0,0 +1,124 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from odoo import api, fields, models, _
+from odoo.exceptions import UserError, Warning
+
+
+class l10n_eu_service(models.TransientModel):
+ """Create fiscal positions for EU Service VAT"""
+ _name = "l10n_eu_service.wizard"
+ _description = __doc__
+
+ def _get_eu_res_country_group(self):
+ eu_group = self.env.ref("base.europe", raise_if_not_found=False)
+ if not eu_group:
+ raise Warning(_('The Europe country group cannot be found. '
+ 'Please update the base module.'))
+ return eu_group
+
+ def _get_default_company_id(self):
+ return self.env.company.id
+
+ def _default_fiscal_position_id(self):
+ user = self.env.user
+ eu_id = self._get_eu_res_country_group()
+ return self.env['account.fiscal.position'].search(
+ [('company_id', '=', user.company_id.id), ('vat_required', '=', True),
+ ('country_group_id.id', '=', eu_id.id)], limit=1)
+
+ def _default_tax_id(self):
+ user = self.env.user
+ return self.env['account.tax'].search(
+ [('company_id', '=', user.company_id.id), ('type_tax_use', '=', 'sale'),
+ ('amount_type', '=', 'percent')], limit=1, order='amount desc')
+
+ def _default_done_country_ids(self):
+ user = self.env.user
+ eu_country_group = self._get_eu_res_country_group()
+ return eu_country_group.country_ids - self._default_todo_country_ids() - user.company_id.country_id
+
+ def _default_todo_country_ids(self):
+ user = self.env.user
+ eu_country_group = self._get_eu_res_country_group()
+ eu_fiscal = self.env['account.fiscal.position'].search(
+ [('country_id', 'in', eu_country_group.country_ids.ids),
+ ('vat_required', '=', False), ('auto_apply', '=', True),
+ ('company_id', '=', user.company_id.id)])
+ return eu_country_group.country_ids - eu_fiscal.mapped('country_id') - user.company_id.country_id
+
+ company_id = fields.Many2one(
+ 'res.company', string='Company', required=True, default=_get_default_company_id)
+ fiscal_position_id = fields.Many2one(
+ 'account.fiscal.position', string='Fiscal Position', default=_default_fiscal_position_id,
+ help="Optional fiscal position to use as template for general account mapping. "
+ "Should usually be your current Intra-EU B2B fiscal position. "
+ "If not set, no general account mapping will be configured for EU fiscal positions.")
+ tax_id = fields.Many2one(
+ 'account.tax', string='Service VAT', required=True, default=_default_tax_id,
+ help="Select your current VAT tax for services. This is the tax that will be mapped "
+ "to the corresponding VAT tax in each EU country selected below.")
+ account_collected_id = fields.Many2one(
+ "account.account", string="Tax Collection Account",
+ help="Optional account to use for collecting tax amounts when selling services in "
+ "each EU country selected below. If not set, the current collecting account of "
+ "your Service VAT will be used.")
+ done_country_ids = fields.Many2many(
+ 'res.country', 'l10n_eu_service_country_rel_done', default=_default_done_country_ids,
+ string='Already Supported')
+ todo_country_ids = fields.Many2many(
+ 'res.country', 'l10n_eu_service_country_rel_todo', default=_default_todo_country_ids,
+ string='EU Customers From', required=True)
+
+ @api.model
+ def load_views(self, views, options=None):
+ # This wizard is outdated; it shouldn't be used anymore. Users might still be able to open it using the
+ # link in the settings if they didn't update the module. If they try, we tell them.
+ raise UserError(_("Starting July 1st 2021, OSS regulation has replaced MOSS. Please first upgrade 'l10n_eu_service' module in the Apps menu, then go back to this setting and click on 'Refresh tax mapping'."))
+
+ def _get_repartition_line_copy_values(self, original_rep_lines):
+ return [(0, 0, {
+ 'factor_percent': line.factor_percent,
+ 'repartition_type': line.repartition_type,
+ 'account_id': line.repartition_type == 'tax' and (self.account_collected_id.id or line.account_id.id) or None,
+ 'company_id': line.company_id.id,
+ 'sequence': line.sequence,
+ }) for line in original_rep_lines]
+
+ def generate_eu_service(self):
+ tax_rate = self.env["l10n_eu_service.service_tax_rate"]
+ account_tax = self.env['account.tax']
+ fpos = self.env['account.fiscal.position']
+ for country in self.todo_country_ids:
+ format_params = {'country_name': country.name}
+ tax_name = _("VAT for EU Services to %(country_name)s") % format_params
+ #create a new tax based on the selected service tax
+ data_tax = {
+ 'name': tax_name,
+ 'amount': tax_rate.search([('country_id', '=', country.id)]).rate,
+ 'invoice_repartition_line_ids': self._get_repartition_line_copy_values(self.tax_id.invoice_repartition_line_ids),
+ 'refund_repartition_line_ids': self._get_repartition_line_copy_values(self.tax_id.refund_repartition_line_ids),
+ 'type_tax_use': 'sale',
+ 'description': "EU-VAT-%s-S" % country.code,
+ 'sequence': 1000,
+ }
+ tax = account_tax.create(data_tax)
+ if self.fiscal_position_id:
+ account_ids = [(6, 0, self.fiscal_position_id.account_ids.ids)]
+ else:
+ account_ids = False
+ #create a fiscal position for the country
+ fiscal_pos_name = _("Intra-EU B2C in %(country_name)s") % {'country_name': country.name}
+ fiscal_pos_name += " (EU-VAT-%s)" % country.code
+ data_fiscal = {
+ 'name': fiscal_pos_name,
+ 'company_id': self.company_id.id,
+ 'vat_required': False,
+ 'auto_apply': True,
+ 'country_id': country.id,
+ 'account_ids': account_ids,
+ 'tax_ids': [(0, 0, {'tax_src_id': self.tax_id.id, 'tax_dest_id': tax.id})],
+ }
+ fpos.create(data_fiscal)
+
+ return {'type': 'ir.actions.act_window_close'}
diff --git a/addons/l10n_eu_service/wizard/wizard.xml b/addons/l10n_eu_service/wizard/wizard.xml
new file mode 100644
index 00000000..cdbbf5f5
--- /dev/null
+++ b/addons/l10n_eu_service/wizard/wizard.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+ <record id="eu_service_view" model="ir.ui.view">
+ <field name="name">l10n_eu_service.wizard.form</field>
+ <field name="model">l10n_eu_service.wizard</field>
+ <field name="arch" type="xml">
+ <form string='Setup EU MOSS Taxes'>
+ <p>
+ Based on the options selected below, this wizard will create one
+ fiscal position mapping for each EU country to which you are selling
+ services.
+ Each fiscal position will automatically map your national VAT tax for
+ services to the corresponding VAT tax in the country your customer
+ belongs to.
+ <br/>
+ You can use the wizard again later to add more countries.
+ </p>
+ <group>
+ <field name="company_id" groups="base.group_multi_company"/>
+ <field name="fiscal_position_id" domain="[('company_id','=', company_id)]"
+ options="{'no_create': True}"
+ placeholder="Current EU B2C Fiscal Position, if any"/>
+ <field name="tax_id"
+ domain="[('type_tax_use', '=', 'sale'),
+ ('amount_type', '=', 'percent'),
+ ('company_id','=', company_id)]"
+ options="{'no_create': True}"/>
+ <field name="account_collected_id"
+ placeholder="Keep empty to use current Service VAT account"/>
+ <field name="done_country_ids" widget="many2many_tags" readonly="1"
+ attrs="{'invisible': [('done_country_ids', '=', [(6, False, [])])]}"/>
+ <field name="todo_country_ids" widget="many2many_tags"
+ domain="[('country_group_ids', 'in', %(base.europe)d)]"/>
+ </group>
+ <footer>
+ <button string="Create Fiscal Positions and Taxes"
+ name="generate_eu_service" type="object" class="btn-primary"/>
+ <button string="Cancel" class="btn-secondary" special="cancel"/>
+ </footer>
+ </form>
+ </field>
+ </record>
+
+ <record id="action_eu_service" model="ir.actions.act_window">
+ <field name="name">Setup EU MOSS Taxes</field>
+ <field name="res_model">l10n_eu_service.wizard</field>
+ <field name="view_mode">form</field>
+ <field name="view_id" ref="eu_service_view"/>
+ <field name="target">new</field>
+ </record>
+
+</odoo>