浏览代码

[DATALAD] Recorded changes

Johannes Gütschow 3 年之前
父节点
当前提交
16d5cd6d2f

+ 147 - 0
code/UNFCCC_downloader/download_bur.py

@@ -0,0 +1,147 @@
+import pandas as pd
+import requests
+import shutil
+import time
+import os
+from datetime import date
+from selenium import webdriver
+from random import randrange
+
+from pathlib import Path
+root = Path(__file__).parents[2]
+"""
+based on download_bur from national-inventory-submissions
+# (https://github.com/openclimatedata/national-inventory-submisions)
+"""
+
+###############
+#
+# TODO
+# download directly via selenium see link below
+# https://sqa.stackexchange.com/questions/2197/
+# how-to-download-a-file-using-seleniums-webdriver
+###############
+
+submissions = pd.read_csv(root / "downloaded_data" / "UNFCCC" / "submissions-bur.csv")
+
+# use the CRF data url, for some reason visnting the BUR url
+# is not enough to generate the necessary cookies
+url = "https://unfccc.int/BURs"
+
+# if we get files of this size they are error pages and we need to
+# try the download again
+error_file_sizes = [212, 210]
+
+# find which BUR submission rounds exist
+present_BURs = submissions.Kind.unique()
+
+# Ensure download path and subfolders exist
+download_path = root / "downloaded_data/UNFCCC"
+if not download_path.exists():
+    download_path.mkdir(parents=True)
+
+for BUR in present_BURs:
+    download_path_BUR = download / BUR
+    if not download_path_BUR.exists():
+        download_path_BUR.mkdir(parents=True)
+
+# set options for headless mode
+options = webdriver.firefox.options.Options()
+# options.add_argument('-headless')
+
+# create profile for headless mode 
+profile = webdriver.FirefoxProfile()
+profile.set_preference('browser.download.folderList', 2)
+
+# set up selenium driver
+driver = webdriver.Firefox(options=options, firefox_profile=profile)
+
+# visit the main data page once to create cookies
+driver.get(url)
+time.sleep(20)
+
+# get the session id cookie
+cookies_selenium = driver.get_cookies()
+cookies = {}
+for cookie in cookies_selenium:
+    cookies[cookie['name']] = cookie['value']
+
+print(cookies)
+
+new_downloaded = []
+
+for idx, submission in submissions.iterrows():
+    print("=" * 60)
+    bur = submission.Kind
+    title = submission.Title
+    url = submission.URL
+    country = submission.Country
+    country = country.replace(' ', '_')
+    print(title)
+
+    local_filename = download_path / country / bur / url.split('/')[-1]
+    local_filename_underscore = \
+        download_path / country / bur / \
+        url.split('/')[-1].replace("%20", "_").replace(" ", "_")
+    if not local_filename.parent.exists():
+        local_filename.parent.mkdir()
+
+    ### remove, not needed as no legacy data present
+    #if local_filename.exists():
+    #    # rename
+    #    local_filename.rename(local_filename_underscore)
+    #    print("Renamed " + bur + "/" + country + "/" + local_filename.name)
+
+    # this should never be needed but in case anything goes wrong and
+    # an error page is present it should be overwritten
+    if local_filename_underscore.exists():
+        # check file size. if 210 or 212 bytes it's the error page
+        if Path(local_filename_underscore).stat().st_size in error_file_sizes:
+            # found the error page. delete file
+            os.remove(local_filename_underscore)
+    
+    # now we have remove error pages, so a present file should not be overwritten
+    if not local_filename_underscore.exists():
+        i = 0  # reset counter
+        while not local_filename_underscore.exists() and i < 10:
+            # for i = 0 and i = 5 try to get a new session ID
+            if i == 1 or i == 5:
+                driver = webdriver.Firefox(options=options, firefox_profile=profile)
+    
+                # visit the main data page once to create cookies
+                driver.get(url)
+                time.sleep(20)
+                
+                # get the session id cookie
+                cookies_selenium = driver.get_cookies()
+                cookies = {}
+                for cookie in cookies_selenium:
+                    cookies[cookie['name']] = cookie['value']
+                    
+            r = requests.get(url, stream=True, cookies = cookies)
+            with open(str(local_filename_underscore), 'wb') as f:
+                shutil.copyfileobj(r.raw, f)
+            
+            # check file size. if 210 or 212 bytes it's the error page
+            if Path(local_filename_underscore).stat().st_size in error_file_sizes:
+                # found the error page. delete file
+                os.remove(local_filename_underscore)
+            
+            # sleep a bit to avoid running into captchas
+            time.sleep(randrange(5, 15))
+            
+        if local_filename_underscore.exists():
+            new_downloaded.append(submission)
+            print("Download => downloaded_data/UNFCCC/" + country + "/" + bur +
+                  "/" + local_filename_underscore.name)
+        else:
+            print("Failed downloading downloaded_data/UNFCCC/" + country + "/"
+                  + bur + "/" + local_filename_underscore.name)
+
+    else:
+        print("=> Already downloaded " + local_filename_underscore.name)
+
+driver.close()
+
+df = pd.DataFrame(new_downloaded)
+df.to_csv(download_path / "00_new_downloads-{}.csv".format(date.today()), index=False)

+ 133 - 0
code/UNFCCC_downloader/fetch_submissions_bur.py

@@ -0,0 +1,133 @@
+#import requests
+import time
+import pandas as pd
+import re
+
+from pathlib import Path
+from bs4 import BeautifulSoup
+from selenium import webdriver
+from random import randrange
+
+root = Path(__file__).parents[2]
+
+"""
+Download UNFCCC Biennial Update Report submissions
+from Non-Annex I Parties and create list of submissions as CSV file
+Based on `process_bur` from national-inventory-submissions 
+(https://github.com/openclimatedata/national-inventory-submisions)
+"""
+
+# TODO for NC
+## link is just /documents/XXXXX (but already dealt with in code below)
+## url is https://unfccc.int/non-annex-I-NCs
+## pattern needs NC instead of BUR
+
+print("Fetching BUR submissions ...")
+
+url = "https://unfccc.int/BURs"
+
+#print(url)
+
+# set options for headless mode
+options = webdriver.firefox.options.Options()
+options.add_argument('-headless')
+
+# create profile for headless mode and automatic downloading
+profile = webdriver.FirefoxProfile()
+
+# set up selenium driver
+driver = webdriver.Firefox(options=options, firefox_profile=profile)
+driver.get(url)
+
+
+html = BeautifulSoup(driver.page_source, "html.parser")
+table = html.find_all("table")[1]
+links = table.findAll("a")
+
+targets = []  # sub-pages
+downloads = []
+no_downloads = []
+
+# Check links for Zipfiles or subpages
+for link in links:
+    if "href" not in link.attrs:
+        continue
+    href = link.attrs["href"]
+    if "/documents/" in href:
+        if "title" in link.attrs.keys():
+            title = link.attrs["title"]
+        else:
+            title = link.contents[0]
+        if href.startswith("/documents"):
+            href = "https://unfccc.int" + href
+        # Only add pages in the format https://unfccc.int/documents/65587
+        # to further downloads
+        if str(Path(href).parent).endswith("documents"):
+            targets.append({"title": title, "url": href})
+
+
+pattern = re.compile(r"BUR ?\d")
+
+# Go through sub-pages.
+for target in targets:
+    time.sleep(randrange(5, 15))
+    url = target["url"]
+    #subpage = requests.get(url, timeout=15.5)
+    driver.get(url)
+    html = BeautifulSoup(driver.page_source, "html.parser")
+    title = html.find("h1").contents[0]
+    match = pattern.search(title)
+    if match:
+        kind = match.group(0).replace(" ", "")
+    else:
+        kind = None
+
+
+    h2 = html.find("h2", text="Versions")
+    if h2:
+        div = h2.findNext("div")
+        links = div.findAll("a")
+        try:
+            country = (
+                html.find("h2", text="Countries").findNext("div").findNext("div").text
+            )
+        except AttributeError:
+            country = (
+                html.find("h2", text="Corporate Author")
+                .findNext("div")
+                .findNext("div")
+                .text
+            )
+        doctype = (
+            html.find("h2", text="Document Type").findNext("div").findNext("div").text
+        )
+        for link in links:
+            url = link.attrs["href"]
+            if not kind:
+                match = pattern.search(url.upper())
+                if match:
+                    kind = match.group(0)
+                else:
+                    if ("NIR" in doctype) or ("NIR" in title):
+                        kind = "NIR"
+                    elif "NC" in title:
+                        kind = "NC"
+            downloads.append(
+                {
+                    "Kind": kind,
+                    "Country": country,
+                    "Title": title,
+                    "URL": url,
+                }
+            )
+        print("\t".join([kind, country, title, url]))
+    else:
+        no_downloads.append((title, url))
+
+if len(no_downloads) > 0:
+    print("No downloads for ", no_downloads)
+
+driver.close()
+df = pd.DataFrame(downloads)
+df = df[["Kind", "Country", "Title", "URL"]]
+df.to_csv(root / "downloaded_data" / "UNFCCC" / "submissions-bur.csv", index=False)

+ 141 - 0
code/UNFCCC_downloader/fetch_submissions_nc.py

@@ -0,0 +1,141 @@
+#import requests
+import time
+import pandas as pd
+import re
+
+from pathlib import Path
+from bs4 import BeautifulSoup
+from selenium import webdriver
+from random import randrange
+
+root = Path(__file__).parents[2]
+
+"""
+Download UNFCCC Biennial Update Report submissions
+from Non-Annex I Parties and create list of submissions as CSV file
+Based on `process_bur` from national-inventory-submissions 
+(https://github.com/openclimatedata/national-inventory-submisions)
+"""
+
+# TODO for NC
+## link is just /documents/XXXXX (but already dealt with in code below)
+## url is https://unfccc.int/non-annex-I-NCs
+## pattern needs NC instead of BUR
+
+print("Fetching NC submissions ...")
+
+url = "https://unfccc.int/non-annex-I-NCs"
+
+#print(url)
+
+# set options for headless mode
+options = webdriver.firefox.options.Options()
+options.add_argument('-headless')
+
+# create profile for headless mode and automatic downloading
+profile = webdriver.FirefoxProfile()
+
+# set up selenium driver
+driver = webdriver.Firefox(options=options, firefox_profile=profile)
+driver.get(url)
+
+
+html = BeautifulSoup(driver.page_source, "html.parser")
+table = html.find_all("table")[1]
+links = table.findAll("a")
+
+targets = []  # sub-pages
+downloads = []
+no_downloads = []
+
+# Check links for Zipfiles or subpages
+for link in links:
+    if "href" not in link.attrs:
+        continue
+    href = link.attrs["href"]
+    if "/documents/" in href:
+        if "title" in link.attrs.keys():
+            title = link.attrs["title"]
+        else:
+            title = link.contents[0]
+        if href.startswith("/documents"):
+            href = "https://unfccc.int" + href
+        # Only add pages in the format https://unfccc.int/documents/65587
+        # to further downloads
+        if str(Path(href).parent).endswith("documents"):
+            targets.append({"title": title, "url": href})
+
+
+pattern = re.compile(r"NC ?\d")
+
+#skip = True
+# Go through sub-pages.
+for target in targets:
+    #if target["url"] == "https://unfccc.int/documents/199234":
+    #    skip = False
+    #if skip:
+    #    print(f"Skipping { target['title']}")
+    #    continue
+    time.sleep(randrange(5, 15))
+    url = target["url"]
+    #subpage = requests.get(url, timeout=15.5)
+    driver.get(url)
+    html = BeautifulSoup(driver.page_source, "html.parser")
+    title = html.find("h1").contents[0]
+    match = pattern.search(title)
+    if match:
+        kind = match.group(0).replace(" ", "")
+    else:
+        kind = None
+
+
+    h2 = html.find("h2", text="Versions")
+    if h2:
+        div = h2.findNext("div")
+        links = div.findAll("a")
+        try:
+            country = (
+                html.find("h2", text="Countries").findNext("div").findNext("div").text
+            )
+        except AttributeError:
+            country = (
+                html.find("h2", text="Corporate Author")
+                .findNext("div")
+                .findNext("div")
+                .text
+            )
+        doctype = (
+            html.find("h2", text="Document Type").findNext("div").findNext("div").text
+        )
+        for link in links:
+            url = link.attrs["href"]
+            if not kind:
+                match = pattern.search(url.upper())
+                if match:
+                    kind = match.group(0)
+                else:
+                    if ("NIR" in doctype) or ("NIR" in title):
+                        kind = "NIR"
+                    elif ("INV" in title) or ("Inventory" in title):
+                        kind = "INV"
+                    else:
+                        print("found unknown record" + url)
+            downloads.append(
+                {
+                    "Kind": kind,
+                    "Country": country,
+                    "Title": title,
+                    "URL": url,
+                }
+            )
+        print("\t".join([kind, country, title, url]))
+    else:
+        no_downloads.append((title, url))
+
+if len(no_downloads) > 0:
+    print("No downloads for ", no_downloads)
+
+driver.close()
+df = pd.DataFrame(downloads)
+df = df[["Kind", "Country", "Title", "URL"]]
+df.to_csv(root / "downloaded_data" / "UNFCCC" / "submissions-nc.csv", index=False)

+ 325 - 0
code/UNFCCC_downloader/geckodriver.log

@@ -0,0 +1,325 @@
+1639489303113	geckodriver	INFO	Listening on 127.0.0.1:36971
+1639489303122	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "-headless" "--remote-debugging-port" "55379" "-no-remote" "-profile" "/tmp/rust_mozprofile9OdzVS"
+*** You are running in headless mode.
+1639489303441	Marionette	INFO	Marionette enabled
+[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofile9OdzVS/search.json.mozlz4", (void 0)))
+console.info: MINT: Loading search-config defaults.
+JavaScript error: resource:///modules/BrowserGlue.jsm, line 4097: TypeError: invalid assignment to const 'dialogReason'
+DevTools listening on ws://localhost:55379/devtools/browser/446169f6-56cc-46e9-a2df-5b2af08f4a0d
+1639489304559	Marionette	INFO	Listening on port 45285
+1639489305183	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=345740736, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=345740736, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=345740736 line 1 > eval, line 1: unreachable code after return statement
+console.info: MINT: main/search-config update being skipped
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1441738465, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1441738465, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1441738465, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1441738465 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1441738465 line 1 > eval, line 1: unreachable code after return statement
+console.log: WebExtensions: reset-default-search: starting.
+console.log: WebExtensions: reset-default-search: No addons in our list are installed.
+1639491659261	Marionette	INFO	Stopped listening on port 45285
+
+###!!! [Parent][MessageChannel] Error: (msgtype=0x39014B,name=PContent::Reply_DiscardBrowsingContext) Closed channel: cannot send/recv
+
+
+###!!! [Parent][MessageChannel] Error: (msgtype=0x39014B,name=PContent::Reply_DiscardBrowsingContext) Closed channel: cannot send/recv
+
+
+###!!! [Parent][MessageChannel] Error: (msgtype=0x390078,name=PContent::Msg_DestroyBrowsingContextGroup) Closed channel: cannot send/recv
+
+
+###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
+
+1639519367756	geckodriver	INFO	Listening on 127.0.0.1:45997
+1639519367765	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "-headless" "--remote-debugging-port" "55675" "-no-remote" "-profile" "/tmp/rust_mozprofileWeTifT"
+*** You are running in headless mode.
+1639519368079	Marionette	INFO	Marionette enabled
+[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofileWeTifT/search.json.mozlz4", (void 0)))
+console.info: MINT: Loading search-config defaults.
+JavaScript error: resource:///modules/BrowserGlue.jsm, line 4097: TypeError: invalid assignment to const 'dialogReason'
+DevTools listening on ws://localhost:55675/devtools/browser/5d6d5d76-20ee-4bef-95b8-04e7aea90d59
+1639519369212	Marionette	INFO	Listening on port 41425
+1639519369782	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=501642850, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=501642850, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=501642850 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1559132565, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1559132565, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1559132565 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1559132565 line 1 > eval, line 1: unreachable code after return statement
+console.info: MINT: main/search-config update being skipped
+console.log: WebExtensions: reset-default-search: starting.
+console.log: WebExtensions: reset-default-search: No addons in our list are installed.
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1341423317, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=586920354, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=586920354, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=586920354, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=586920354 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=586920354 line 1 > eval, line 1: unreachable code after return statement
+1639521678119	Marionette	INFO	Stopped listening on port 41425
+
+###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
+
+1639522190707	geckodriver	INFO	Listening on 127.0.0.1:49737
+1639522190715	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "-headless" "--remote-debugging-port" "37063" "-no-remote" "-profile" "/tmp/rust_mozprofileUuvqyX"
+*** You are running in headless mode.
+1639522191027	Marionette	INFO	Marionette enabled
+[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofileUuvqyX/search.json.mozlz4", (void 0)))
+console.info: MINT: Loading search-config defaults.
+JavaScript error: resource:///modules/BrowserGlue.jsm, line 4097: TypeError: invalid assignment to const 'dialogReason'
+DevTools listening on ws://localhost:37063/devtools/browser/7a532d0e-d7a3-4f3e-a58a-e434522bc104
+1639522192282	Marionette	INFO	Listening on port 44663
+1639522192332	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=369187400, line 1: unreachable code after return statement
+Exiting due to channel error.
+Exiting due to channel error.
+Exiting due to channel error.
+1639522221660	geckodriver	INFO	Listening on 127.0.0.1:51591
+1639522221672	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "-headless" "--remote-debugging-port" "59599" "-no-remote" "-profile" "/tmp/rust_mozprofileqkRORJ"
+*** You are running in headless mode.
+1639522221983	Marionette	INFO	Marionette enabled
+[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofileqkRORJ/search.json.mozlz4", (void 0)))
+console.info: MINT: Loading search-config defaults.
+JavaScript error: resource:///modules/BrowserGlue.jsm, line 4097: TypeError: invalid assignment to const 'dialogReason'
+DevTools listening on ws://localhost:59599/devtools/browser/ddd83448-7b3e-4ad2-8f04-ee49aba676f6
+1639522223193	Marionette	INFO	Listening on port 44401
+1639522223292	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1008579160, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1008579160, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1008579160, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1008579160 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1008579160 line 1 > eval, line 1: unreachable code after return statement
+console.info: MINT: main/search-config update being skipped
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=43705666, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=43705666, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=43705666, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=43705666 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=43705666 line 1 > eval, line 1: unreachable code after return statement
+console.log: WebExtensions: reset-default-search: starting.
+console.log: WebExtensions: reset-default-search: No addons in our list are installed.
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=683313443, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=683313443, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=683313443, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=683313443 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=683313443 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=479209735, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=479209735, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=479209735, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=479209735 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=479209735 line 1 > eval, line 1: unreachable code after return statement
+1639562607763	geckodriver	INFO	Listening on 127.0.0.1:37307
+1639562607779	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "-headless" "--remote-debugging-port" "56139" "-no-remote" "-profile" "/tmp/rust_mozprofileJbjmrs"
+*** You are running in headless mode.
+1639562608071	Marionette	INFO	Marionette enabled
+[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofileJbjmrs/search.json.mozlz4", (void 0)))
+console.info: MINT: Loading search-config defaults.
+JavaScript error: resource:///modules/BrowserGlue.jsm, line 4097: TypeError: invalid assignment to const 'dialogReason'
+DevTools listening on ws://localhost:56139/devtools/browser/ef5bf6cf-44aa-4b33-a89b-8c71adf75d21
+1639562609415	Marionette	INFO	Listening on port 38739
+1639562609506	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1587880517, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1587880517, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1587880517 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1587880517 line 1 > eval, line 1: unreachable code after return statement
+console.info: MINT: main/search-config update being skipped
+console.log: WebExtensions: reset-default-search: starting.
+console.log: WebExtensions: reset-default-search: No addons in our list are installed.
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1012903015, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1012903015, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1012903015, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1012903015 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1012903015 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=452816995, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=452816995, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=452816995, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=452816995 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=452816995 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1569644567, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1569644567, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1569644567, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1569644567 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1569644567 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1264231927, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1264231927, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1264231927, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1264231927 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1264231927 line 1 > eval, line 1: unreachable code after return statement
+Exiting due to channel error.
+Exiting due to channel error.
+Exiting due to channel error.
+1639568647606	geckodriver	INFO	Listening on 127.0.0.1:60257
+1639568647621	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "-headless" "--remote-debugging-port" "37223" "-no-remote" "-profile" "/tmp/rust_mozprofileXRgyAl"
+*** You are running in headless mode.
+1639568647955	Marionette	INFO	Marionette enabled
+[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofileXRgyAl/search.json.mozlz4", (void 0)))
+console.info: MINT: Loading search-config defaults.
+JavaScript error: resource:///modules/BrowserGlue.jsm, line 4097: TypeError: invalid assignment to const 'dialogReason'
+DevTools listening on ws://localhost:37223/devtools/browser/6f7b746b-ac46-4029-aad4-beb8b32838dd
+1639568649161	Marionette	INFO	Listening on port 38769
+1639568649240	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=940281896, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=940281896, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=940281896, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=940281896 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=940281896 line 1 > eval, line 1: unreachable code after return statement
+console.info: MINT: main/search-config update being skipped
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=18&cb=1674316200, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=18&cb=1674316200, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=18&cb=1674316200, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=18&cb=1674316200 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=18&cb=1674316200 line 1 > eval, line 1: unreachable code after return statement
+console.log: WebExtensions: reset-default-search: starting.
+console.log: WebExtensions: reset-default-search: No addons in our list are installed.
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=2110260988, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=877430967, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=877430967, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=877430967 line 1 > eval, line 1: unreachable code after return statement
+Exiting due to channel error.
+Exiting due to channel error.
+Exiting due to channel error.
+1639572649708	geckodriver	INFO	Listening on 127.0.0.1:57099
+1639572649723	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "-headless" "--remote-debugging-port" "57055" "-no-remote" "-profile" "/tmp/rust_mozprofileVIy81L"
+*** You are running in headless mode.
+1639572650051	Marionette	INFO	Marionette enabled
+[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofileVIy81L/search.json.mozlz4", (void 0)))
+console.info: MINT: Loading search-config defaults.
+JavaScript error: resource:///modules/BrowserGlue.jsm, line 4097: TypeError: invalid assignment to const 'dialogReason'
+DevTools listening on ws://localhost:57055/devtools/browser/2b011480-9277-44a6-aa3d-25da1740f11d
+1639572651352	Marionette	INFO	Listening on port 45401
+1639572651455	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=729224458, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=729224458, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=729224458, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=729224458 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=729224458 line 1 > eval, line 1: unreachable code after return statement
+console.info: MINT: main/search-config update being skipped
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1757070102, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1757070102, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1757070102 line 1 > eval, line 1: unreachable code after return statement
+console.log: WebExtensions: reset-default-search: starting.
+console.log: WebExtensions: reset-default-search: No addons in our list are installed.
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1593556860, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1593556860, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1593556860, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1593556860 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1593556860 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1606842064, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1606842064, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1606842064, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1606842064 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1606842064 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1794742705, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1794742705, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1794742705, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1794742705 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1794742705 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1526827964, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1526827964, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1526827964, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1526827964 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1526827964 line 1 > eval, line 1: unreachable code after return statement
+Exiting due to channel error.
+Exiting due to channel error.
+Exiting due to channel error.
+1639576844396	geckodriver	INFO	Listening on 127.0.0.1:50165
+1639576844405	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "-headless" "--remote-debugging-port" "35695" "-no-remote" "-profile" "/tmp/rust_mozprofileTLGyEl"
+*** You are running in headless mode.
+1639576844722	Marionette	INFO	Marionette enabled
+[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofileTLGyEl/search.json.mozlz4", (void 0)))
+console.info: MINT: Loading search-config defaults.
+JavaScript error: resource:///modules/BrowserGlue.jsm, line 4097: TypeError: invalid assignment to const 'dialogReason'
+DevTools listening on ws://localhost:35695/devtools/browser/db1f6191-9d5e-4a61-88d4-70e4552930cc
+1639576846159	Marionette	INFO	Listening on port 37179
+1639576846233	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=7577239, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=7577239, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=7577239, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=7577239 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=7577239 line 1 > eval, line 1: unreachable code after return statement
+console.info: MINT: main/search-config update being skipped
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=17&cb=1618497072, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=17&cb=1618497072, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=17&cb=1618497072, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=17&cb=1618497072 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=17&cb=1618497072 line 1 > eval, line 1: unreachable code after return statement
+console.log: WebExtensions: reset-default-search: starting.
+console.log: WebExtensions: reset-default-search: No addons in our list are installed.
+1639577495724	Marionette	INFO	Stopped listening on port 37179
+
+###!!! [Parent][MessageChannel] Error: (msgtype=0x39014B,name=PContent::Reply_DiscardBrowsingContext) Closed channel: cannot send/recv
+
+
+###!!! [Parent][MessageChannel] Error: (msgtype=0x390078,name=PContent::Msg_DestroyBrowsingContextGroup) Closed channel: cannot send/recv
+
+
+###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
+
+1639577577428	geckodriver	INFO	Listening on 127.0.0.1:48879
+1639577577433	mozrunner::runner	INFO	Running command: "/usr/bin/firefox" "--marionette" "-headless" "--remote-debugging-port" "38855" "-no-remote" "-profile" "/tmp/rust_mozprofilelnvtTm"
+*** You are running in headless mode.
+1639577577751	Marionette	INFO	Marionette enabled
+[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.info: MINT: Trying to use the system region (based on LANG).
+console.info: MINT: System region is US
+console.warn: SearchSettings: "get: No settings file exists, new profile?" (new NotFoundError("Could not open the file at /tmp/rust_mozprofilelnvtTm/search.json.mozlz4", (void 0)))
+console.info: MINT: Loading search-config defaults.
+JavaScript error: resource:///modules/BrowserGlue.jsm, line 4097: TypeError: invalid assignment to const 'dialogReason'
+DevTools listening on ws://localhost:38855/devtools/browser/b97da37e-320f-44a0-a8a1-e821bbc1897b
+1639577579121	Marionette	INFO	Listening on port 40509
+1639577579204	RemoteAgent	WARN	TLS certificate errors will be ignored for this session
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=783948350, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=783948350, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=783948350 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=783948350 line 1 > eval, line 1: unreachable code after return statement
+console.info: MINT: main/search-config update being skipped
+console.log: WebExtensions: reset-default-search: starting.
+console.log: WebExtensions: reset-default-search: No addons in our list are installed.
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1798553905, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1798553905, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1798553905, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1798553905 line 1 > eval, line 1: unreachable code after return statement
+JavaScript warning: https://unfccc.int/_Incapsula_Resource?SWJIYLWA=719d34d31c8e3a6e6fffd425f7e032f3&ns=1&cb=1798553905 line 1 > eval, line 1: unreachable code after return statement

+ 4 - 0
code/requirements.txt

@@ -0,0 +1,4 @@
+bs4
+requests
+pandas
+selenium