<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Geekality &#187; Snippet</title>
	<atom:link href="http://www.geekality.net/tag/snippet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.geekality.net</link>
	<description>With a hint of Social Ineptitude</description>
	<lastBuildDate>Sun, 05 Feb 2012 17:53:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MySQL tables for continent names, country names and their ISO-3166 codes</title>
		<link>http://www.geekality.net/2011/08/21/country-names-continent-names-and-iso-3166-codes-for-mysql/</link>
		<comments>http://www.geekality.net/2011/08/21/country-names-continent-names-and-iso-3166-codes-for-mysql/#comments</comments>
		<pubDate>Sun, 21 Aug 2011 17:10:47 +0000</pubDate>
		<dc:creator>Torleif</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Countries]]></category>
		<category><![CDATA[ISO-3166]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[Snippet]]></category>

		<guid isPermaLink="false">http://www.geekality.net/?p=1182</guid>
		<description><![CDATA[Here is a MySQL table containing continent names, country names and their ISO-3166 codes. Needed one a while ago, but the ones I found were either kind of lacking or kind of old. So I made one myself by converting &#8230; <a href="http://www.geekality.net/2011/08/21/country-names-continent-names-and-iso-3166-codes-for-mysql/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.geekality.net/wp-content/uploads/2010/09/World-Map-300x229.jpg" alt="" title="World Map" width="300" height="229" class="alignright size-medium wp-image-1192" /> Here is a MySQL table containing continent names, country names and their ISO-3166 codes. </p>
<p>Needed one a while ago, but the ones I found were either kind of lacking or kind of old. So I made one myself by converting a <a href="http://en.wikipedia.org/wiki/List_of_soveriegn_states_and_dependent_territories_by_continent_(data_file)">datafile on Wikipedia</a> into the format I wanted. Used some regular expressions and manual corrections. Later I also went through newsletters with <a href="http://www.iso.org/iso/country_codes/updates_on_iso_3166.htm">Updates on ISO 3166</a>. Hopefully I got it all right, and hopefully it can save you and others some time as well.</p>
<p>If you find any mistakes or updates I&#8217;ve missed, please let me know <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p><span id="more-1182"></span></p>
<h2>The data</h2>
<p>Created a <a href="https://bitbucket.org/svish/iso-3166-country-codes/">project on BitBucket</a> for some change tracking. The latest version of the SQL script is found at <a href="https://bitbucket.org/svish/iso-3166-country-codes/src/default/countries.sql">bitbucket.org/svish/iso-3166-country-codes/src/default/countries.sql</a>.</p>
<p>Also included a copy of the latest version below. If you want to be 100% sure you get the latest, use the link above though. I might forget to update the post ;)</p>
<div class="codecolorer-container sql default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">/**<br />
&nbsp; * Country names, continent names and ISO-3166 codes.<br />
&nbsp; *<br />
&nbsp; * @updated &nbsp;2012-01-05<br />
&nbsp; * @link &nbsp; &nbsp; http://www.geekality.net/?p=1182<br />
&nbsp; * @link &nbsp; &nbsp; https://bitbucket.org/svish/iso-3166-country-codes<br />
&nbsp; */</span><br />
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">EXISTS</span> <span style="color: #ff0000;">`continents`</span> <span style="color: #66cc66;">&#40;</span><br />
&nbsp; <span style="color: #ff0000;">`code`</span> <span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> COMMENT <span style="color: #ff0000;">'Continent code'</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #ff0000;">`name`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`code`</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#41;</span> ENGINE<span style="color: #66cc66;">=</span>InnoDB;<br />
<br />
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #ff0000;">`continents`</span> <span style="color: #993333; font-weight: bold;">VALUES</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Africa'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Asia'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Europe'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'North America'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'South America'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Oceania'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Antarctica'</span><span style="color: #66cc66;">&#41;</span>;<br />
<br />
<br />
<span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">TABLE</span> <span style="color: #993333; font-weight: bold;">IF</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">EXISTS</span> <span style="color: #ff0000;">`countries`</span> <span style="color: #66cc66;">&#40;</span><br />
&nbsp; <span style="color: #ff0000;">`code`</span> <span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> COMMENT <span style="color: #ff0000;">'Two-letter country code (ISO 3166-1 alpha-2)'</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #ff0000;">`name`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> COMMENT <span style="color: #ff0000;">'English country name'</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #ff0000;">`full_name`</span> <span style="color: #993333; font-weight: bold;">VARCHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> COMMENT <span style="color: #ff0000;">'Full English country name'</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #ff0000;">`iso3`</span> <span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> COMMENT <span style="color: #ff0000;">'Three-letter country code (ISO 3166-1 alpha-3)'</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #ff0000;">`number`</span> <span style="color: #993333; font-weight: bold;">SMALLINT</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">ZEROFILL</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span> COMMENT <span style="color: #ff0000;">'Three-digit country number (ISO 3166-1 numeric)'</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #ff0000;">`continent_code`</span> <span style="color: #993333; font-weight: bold;">CHAR</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">NOT</span> <span style="color: #993333; font-weight: bold;">NULL</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #993333; font-weight: bold;">PRIMARY</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`code`</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #ff0000;">`continent_code`</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`continent_code`</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #993333; font-weight: bold;">CONSTRAINT</span> <span style="color: #ff0000;">`fk_countries_continents`</span> <span style="color: #993333; font-weight: bold;">FOREIGN</span> <span style="color: #993333; font-weight: bold;">KEY</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`continent_code`</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">REFERENCES</span> <span style="color: #ff0000;">`continents`</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`code`</span><span style="color: #66cc66;">&#41;</span><br />
<span style="color: #66cc66;">&#41;</span> ENGINE<span style="color: #66cc66;">=</span>InnoDB;<br />
<br />
<span style="color: #993333; font-weight: bold;">INSERT</span> <span style="color: #993333; font-weight: bold;">INTO</span> <span style="color: #ff0000;">`countries`</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">`code`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`continent_code`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`name`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`iso3`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`number`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`full_name`</span><span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">VALUES</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Afghanistan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AFG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'004'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Islamic Republic of Afghanistan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AX'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Åland Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ALA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'248'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Åland Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Albania&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ALB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'008'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Albania&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'DZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Algeria&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'DZA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'012'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;People's Democratic Republic of Algeria&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;American Samoa&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ASM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'016'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;American Samoa&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Andorra&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AND'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'020'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Principality of Andorra&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Angola&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AGO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'024'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Angola&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Anguilla&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AIA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'660'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Anguilla&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AQ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Antarctica&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ATA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'010'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Antarctica (the territory South of 60 deg S)&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Antigua and Barbuda&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ATG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'028'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Antigua and Barbuda&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Argentina&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ARG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'032'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Argentine Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Armenia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ARM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'051'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Armenia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Aruba&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ABW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'533'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Aruba&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Australia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AUS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'036'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Commonwealth of Australia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Austria&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AUT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'040'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Austria&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Azerbaijan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AZE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'031'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Azerbaijan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bahamas&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BHS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'044'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Commonwealth of the Bahamas&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bahrain&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BHR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'048'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Bahrain&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bangladesh&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BGD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'050'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;People's Republic of Bangladesh&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Barbados&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BRB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'052'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Barbados&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Belarus&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BLR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'112'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Belarus&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Belgium&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BEL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'056'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Belgium&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Belize&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BLZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'084'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Belize&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BJ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Benin&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BEN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'204'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Benin&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bermuda&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BMU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'060'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bermuda&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bhutan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BTN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'064'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Bhutan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bolivia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BOL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'068'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Plurinational State of Bolivia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BQ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bonaire, Sint Eustatius and Saba&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BES'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'535'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bonaire, Sint Eustatius and Saba&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bosnia and Herzegovina&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BIH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'070'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bosnia and Herzegovina&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Botswana&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BWA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'072'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Botswana&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bouvet Island (Bouvetoya)&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BVT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'074'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bouvet Island (Bouvetoya)&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Brazil&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BRA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'076'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Federative Republic of Brazil&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'IO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;British Indian Ocean Territory (Chagos Archipelago)&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'IOT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'086'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;British Indian Ocean Territory (Chagos Archipelago)&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'VG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;British Virgin Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'VGB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'092'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;British Virgin Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Brunei Darussalam&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BRN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'096'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Brunei Darussalam&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bulgaria&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BGR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'100'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Bulgaria&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Burkina Faso&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BFA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'854'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Burkina Faso&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Burundi&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BDI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'108'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Burundi&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cambodia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KHM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'116'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Cambodia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cameroon&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CMR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'120'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Cameroon&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Canada&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CAN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'124'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Canada&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cape Verde&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CPV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'132'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Cape Verde&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cayman Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CYM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'136'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cayman Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Central African Republic&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CAF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'140'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Central African Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Chad&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TCD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'148'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Chad&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Chile&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CHL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'152'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Chile&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;China&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CHN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'156'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;People's Republic of China&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CX'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Christmas Island&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CXR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'162'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Christmas Island&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cocos (Keeling) Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CCK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'166'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cocos (Keeling) Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Colombia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'COL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'170'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Colombia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Comoros&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'COM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'174'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Union of the Comoros&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Congo&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'COD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'180'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Democratic Republic of the Congo&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Congo&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'COG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'178'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of the Congo&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cook Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'COK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'184'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cook Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Costa Rica&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CRI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'188'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Costa Rica&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cote d'Ivoire&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CIV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'384'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Cote d'Ivoire&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'HR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Croatia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'HRV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'191'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Croatia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cuba&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CUB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'192'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Cuba&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Curaçao&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CUW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'531'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Curaçao&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Cyprus&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CYP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'196'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Cyprus&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Czech Republic&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CZE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'203'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Czech Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'DK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Denmark&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'DNK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'208'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Denmark&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'DJ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Djibouti&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'DJI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'262'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Djibouti&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'DM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Dominica&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'DMA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'212'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Commonwealth of Dominica&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'DO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Dominican Republic&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'DOM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'214'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Dominican Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'EC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Ecuador&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ECU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'218'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Ecuador&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'EG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Egypt&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EGY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'818'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Arab Republic of Egypt&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;El Salvador&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SLV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'222'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of El Salvador&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GQ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Equatorial Guinea&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GNQ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'226'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Equatorial Guinea&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ER'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Eritrea&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ERI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'232'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;State of Eritrea&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'EE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Estonia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EST'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'233'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Estonia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ET'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Ethiopia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ETH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'231'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Federal Democratic Republic of Ethiopia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'FO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Faroe Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'FRO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'234'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Faroe Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'FK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Falkland Islands (Malvinas)&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'FLK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'238'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Falkland Islands (Malvinas)&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'FJ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Fiji&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'FJI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'242'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Fiji&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'FI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Finland&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'FIN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'246'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Finland&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'FR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;France&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'FRA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'250'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;French Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;French Guiana&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GUF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'254'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;French Guiana&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;French Polynesia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PYF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'258'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;French Polynesia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;French Southern Territories&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ATF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'260'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;French Southern Territories&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Gabon&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GAB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'266'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Gabonese Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Gambia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GMB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'270'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of the Gambia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Georgia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GEO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'268'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Georgia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'DE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Germany&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'DEU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'276'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Federal Republic of Germany&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Ghana&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GHA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'288'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Ghana&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Gibraltar&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GIB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'292'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Gibraltar&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Greece&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GRC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'300'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Hellenic Republic Greece&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Greenland&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GRL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'304'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Greenland&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Grenada&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GRD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'308'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Grenada&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Guadeloupe&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GLP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'312'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Guadeloupe&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Guam&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GUM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'316'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Guam&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Guatemala&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GTM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'320'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Guatemala&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Guernsey&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GGY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'831'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bailiwick of Guernsey&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Guinea&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GIN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'324'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Guinea&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Guinea-Bissau&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GNB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'624'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Guinea-Bissau&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Guyana&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GUY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'328'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Co-operative Republic of Guyana&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'HT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Haiti&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'HTI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'332'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Haiti&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'HM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Heard Island and McDonald Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'HMD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'334'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Heard Island and McDonald Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'VA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Holy See (Vatican City State)&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'VAT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'336'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Holy See (Vatican City State)&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'HN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Honduras&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'HND'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'340'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Honduras&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'HK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Hong Kong&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'HKG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'344'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Hong Kong Special Administrative Region of China&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'HU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Hungary&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'HUN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'348'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Hungary&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'IS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Iceland&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ISL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'352'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Iceland&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'IN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;India&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'IND'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'356'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of India&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ID'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Indonesia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'IDN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'360'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Indonesia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'IR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Iran&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'IRN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'364'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Islamic Republic of Iran&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'IQ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Iraq&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'IRQ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'368'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Iraq&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'IE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Ireland&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'IRL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'372'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Ireland&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'IM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Isle of Man&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'IMN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'833'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Isle of Man&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'IL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Israel&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ISR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'376'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;State of Israel&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'IT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Italy&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ITA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'380'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Italian Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'JM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Jamaica&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'JAM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'388'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Jamaica&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'JP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Japan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'JPN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'392'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Japan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'JE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Jersey&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'JEY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'832'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bailiwick of Jersey&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'JO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Jordan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'JOR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'400'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Hashemite Kingdom of Jordan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kazakhstan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KAZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'398'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Kazakhstan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kenya&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KEN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'404'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Kenya&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kiribati&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KIR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'296'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Kiribati&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Korea&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PRK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'408'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Democratic People's Republic of Korea&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Korea&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KOR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'410'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Korea&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kuwait&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KWT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'414'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;State of Kuwait&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kyrgyz Republic&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KGZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'417'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kyrgyz Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Lao People's Democratic Republic&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LAO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'418'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Lao People's Democratic Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Latvia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LVA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'428'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Latvia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Lebanon&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LBN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'422'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Lebanese Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Lesotho&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LSO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'426'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Lesotho&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Liberia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LBR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'430'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Liberia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Libya&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LBY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'434'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Libya&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Liechtenstein&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LIE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'438'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Principality of Liechtenstein&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Lithuania&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LTU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'440'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Lithuania&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Luxembourg&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LUX'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'442'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Grand Duchy of Luxembourg&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Macao&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MAC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'446'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Macao Special Administrative Region of China&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Macedonia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MKD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'807'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Macedonia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Madagascar&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MDG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'450'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Madagascar&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Malawi&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MWI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'454'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Malawi&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Malaysia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MYS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'458'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Malaysia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Maldives&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MDV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'462'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Maldives&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ML'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Mali&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MLI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'466'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Mali&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Malta&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MLT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'470'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Malta&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Marshall Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MHL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'584'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of the Marshall Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MQ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Martinique&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MTQ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'474'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Martinique&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Mauritania&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MRT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'478'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Islamic Republic of Mauritania&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Mauritius&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MUS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'480'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Mauritius&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'YT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Mayotte&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MYT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'175'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Mayotte&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MX'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Mexico&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MEX'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'484'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United Mexican States&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'FM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Micronesia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'FSM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'583'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Federated States of Micronesia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Moldova&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MDA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'498'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Moldova&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Monaco&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MCO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'492'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Principality of Monaco&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Mongolia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MNG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'496'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Mongolia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ME'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Montenegro&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MNE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'499'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Montenegro&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Montserrat&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MSR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'500'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Montserrat&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Morocco&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MAR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'504'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Morocco&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Mozambique&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MOZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'508'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Mozambique&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Myanmar&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MMR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'104'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of the Union of Myanmar&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Namibia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NAM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'516'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Namibia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Nauru&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NRU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'520'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Nauru&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Nepal&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NPL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'524'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Federal Democratic Republic of Nepal&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Netherlands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NLD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'528'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of the Netherlands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;New Caledonia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NCL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'540'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;New Caledonia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;New Zealand&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NZL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'554'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;New Zealand&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Nicaragua&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NIC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'558'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Nicaragua&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Niger&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NER'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'562'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Niger&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Nigeria&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NGA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'566'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Federal Republic of Nigeria&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Niue&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NIU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'570'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Niue&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Norfolk Island&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NFK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'574'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Norfolk Island&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Northern Mariana Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MNP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'580'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Commonwealth of the Northern Mariana Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'NO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Norway&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NOR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'578'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Norway&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'OM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Oman&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OMN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'512'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Sultanate of Oman&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Pakistan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PAK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'586'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Islamic Republic of Pakistan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Palau&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PLW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'585'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Palau&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Palestinian Territory&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PSE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'275'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Occupied Palestinian Territory&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Panama&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PAN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'591'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Panama&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Papua New Guinea&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PNG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'598'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Independent State of Papua New Guinea&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Paraguay&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PRY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'600'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Paraguay&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Peru&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PER'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'604'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Peru&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Philippines&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PHL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'608'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of the Philippines&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Pitcairn Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PCN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'612'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Pitcairn Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Poland&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'POL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'616'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Poland&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Portugal&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PRT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'620'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Portuguese Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Puerto Rico&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'PRI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'630'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Commonwealth of Puerto Rico&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'QA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Qatar&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'QAT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'634'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;State of Qatar&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'RE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Réunion&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'REU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'638'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Réunion&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'RO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Romania&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ROU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'642'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Romania&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'RU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Russian Federation&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'RUS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'643'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Russian Federation&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'RW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Rwanda&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'RWA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'646'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Rwanda&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'BL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Barthélemy&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'BLM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'652'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Barthélemy&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Helena, Ascension and Tristan da Cunha&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SHN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'654'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Helena, Ascension and Tristan da Cunha&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'KN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Kitts and Nevis&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'KNA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'659'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Federation of Saint Kitts and Nevis&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Lucia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LCA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'662'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Lucia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'MF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Martin&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'MAF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'663'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Martin (French part)&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'PM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Pierre and Miquelon&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SPM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'666'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Pierre and Miquelon&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'VC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Vincent and the Grenadines&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'VCT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'670'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saint Vincent and the Grenadines&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'WS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Samoa&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'WSM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'882'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Independent State of Samoa&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;San Marino&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SMR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'674'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of San Marino&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ST'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Sao Tome and Principe&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'STP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'678'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Democratic Republic of Sao Tome and Principe&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Saudi Arabia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SAU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'682'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Saudi Arabia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Senegal&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SEN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'686'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Senegal&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'RS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Serbia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SRB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'688'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Serbia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Seychelles&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SYC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'690'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Seychelles&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Sierra Leone&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SLE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'694'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Sierra Leone&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Singapore&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SGP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'702'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Singapore&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SX'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Sint Maarten (Dutch part)&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SXM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'534'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Sint Maarten (Dutch part)&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Slovakia (Slovak Republic)&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SVK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'703'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Slovakia (Slovak Republic)&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Slovenia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SVN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'705'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Slovenia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Solomon Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SLB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'090'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Solomon Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Somalia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SOM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'706'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Somali Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ZA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;South Africa&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ZAF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'710'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of South Africa&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;South Georgia and the South Sandwich Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SGS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'239'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;South Georgia and the South Sandwich Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;South Sudan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SSD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'728'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of South Sudan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ES'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Spain&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ESP'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'724'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Spain&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'LK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Sri Lanka&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'LKA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'144'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Democratic Socialist Republic of Sri Lanka&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SD'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Sudan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SDN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'729'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Sudan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Suriname&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SUR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'740'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Suriname&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SJ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Svalbard &amp; Jan Mayen Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SJM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'744'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Svalbard &amp; Jan Mayen Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Swaziland&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SWZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'748'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Swaziland&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Sweden&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SWE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'752'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Sweden&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'CH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Switzerland&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'CHE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'756'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Swiss Confederation&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'SY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Syrian Arab Republic&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SYR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'760'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Syrian Arab Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Taiwan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TWN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'158'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Taiwan, Province of China&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TJ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Tajikistan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TJK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'762'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Tajikistan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Tanzania&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TZA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'834'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United Republic of Tanzania&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Thailand&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'THA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'764'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Thailand&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Timor-Leste&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TLS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'626'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Democratic Republic of Timor-Leste&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Togo&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TGO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'768'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Togolese Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TK'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Tokelau&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TKL'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'772'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Tokelau&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Tonga&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TON'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'776'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Kingdom of Tonga&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Trinidad and Tobago&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TTO'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'780'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Trinidad and Tobago&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Tunisia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TUN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'788'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Tunisian Republic&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Turkey&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TUR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'792'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Turkey&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Turkmenistan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TKM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'795'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Turkmenistan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Turks and Caicos Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TCA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'796'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Turks and Caicos Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'TV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Tuvalu&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'TUV'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'798'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Tuvalu&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'UG'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Uganda&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'UGA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'800'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Uganda&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'UA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Ukraine&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'UKR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'804'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Ukraine&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'AE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United Arab Emirates&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ARE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'784'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United Arab Emirates&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'GB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'EU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United Kingdom of Great Britain &amp; Northern Ireland&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'GBR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'826'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United Kingdom of Great Britain &amp; Northern Ireland&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'US'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United States of America&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'USA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'840'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United States of America&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'UM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United States Minor Outlying Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'UMI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'581'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United States Minor Outlying Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'VI'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'NA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United States Virgin Islands&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'VIR'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'850'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;United States Virgin Islands&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'UY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Uruguay&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'URY'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'858'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Eastern Republic of Uruguay&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'UZ'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Uzbekistan&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'UZB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'860'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Uzbekistan&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'VU'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Vanuatu&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'VUT'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'548'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Vanuatu&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'VE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'SA'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Venezuela&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'VEN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'862'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Bolivarian Republic of Venezuela&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'VN'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Vietnam&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'VNM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'704'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Socialist Republic of Vietnam&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'WF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'OC'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Wallis and Futuna&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'WLF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'876'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Wallis and Futuna&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'EH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Western Sahara&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ESH'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'732'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Western Sahara&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'YE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AS'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Yemen&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'YEM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'887'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Yemen&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ZM'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Zambia&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ZMB'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'894'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Zambia&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">,</span><br />
&nbsp; <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'ZW'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'AF'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Zimbabwe&quot;</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'ZWE'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'716'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">&quot;Republic of Zimbabwe&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></div>
<p class="wp-flattr-button"></p> <p><a href="http://www.geekality.net/?flattrss_redirect&amp;id=1182&amp;md5=21b0b48aea0862d3c234f3383396af02" title="Flattr" target="_blank"><img src="http://www.geekality.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.geekality.net/2011/08/21/country-names-continent-names-and-iso-3166-codes-for-mysql/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>PHP: What&#8217;s a valid JavaScript identifier (or function name)?</title>
		<link>http://www.geekality.net/2011/08/03/valid-javascript-identifier/</link>
		<comments>http://www.geekality.net/2011/08/03/valid-javascript-identifier/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 15:09:49 +0000</pubDate>
		<dc:creator>Torleif</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Language Spec]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Regular Expression]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Unicode]]></category>

		<guid isPermaLink="false">http://www.geekality.net/?p=1739</guid>
		<description><![CDATA[After another reply to a question I&#8217;ve had on StackOverflow for a while, I decided that I perhaps should add another level of security to my method of providing JSONP from PHP. The way I did it before, I didn&#8217;t &#8230; <a href="http://www.geekality.net/2011/08/03/valid-javascript-identifier/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After another reply to <a href="http://stackoverflow.com/a/6892827/39321" title="PHP: Is this safe for providing JSONP?" class="broken_link">a question</a> I&#8217;ve had on StackOverflow for a while, I decided that I perhaps should add another level of security to my method of <a href="/?p=1021" title="How to easily provide JSON and JSONP">providing JSONP</a> from PHP. The way I did it before, I didn&#8217;t do any checking on the provided callback. This means that someone could technically put whatever they wanted in there, including malicious code. So, therefore it might be a good idea to check if the callback, which should be a function name, actually <em>is</em> a valid function name. But,</p>
<p><span id="more-1739"></span></p>
<h2>What is valid?</h2>
<p>To figure that out, we need a look in the <a href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf" title="ECMA-262, 5.1 Edition / June 2011">ECMAScript Language Specification</a>. In chapter 13 on functions, we find that a function name is a so-called identifier, which is described in chapter 7.6. There we can find the following facts:</p>
<table style="font-size: 80%">
<tr>
<th>Identifier</th>
<td>&lt;IdentifierName&gt; <strong>but not</strong> &lt;ReservedWord&gt;</td>
</tr>
<tr>
<th>IdentifierName</th>
<td>&lt;IdentifierStart&gt;<br />
&lt;IdentifierName&gt; &lt;IdentifierPart&gt;
</td>
</tr>
<tr>
<th>IdentifierStart</th>
<td>&lt;UnicodeLetter&gt;<br />
$<br />
_<br />
\ &lt;UnicodeEscapeSequence&gt;</td>
</tr>
<tr>
<th>IdentifierPart</th>
<td>&lt;IdentifierStart&gt;<br />
&lt;UnicodeCombiningMark&gt;<br />
&lt;UnicodeDigit&gt;<br />
&lt;UnicodeConnectorPunctuation&gt;<br />
&lt;ZWNJ&gt;<br />
&lt;ZWJ&gt;</td>
</tr>
<tr>
<th>UnicodeLetter</th>
<td>Uppercase letter (Lu)<br />
Lowercase letter (Ll)<br />
Titlecase letter (Lt)<br />
Modifier letter (Lm)<br />
Other letter (Lo)<br />
Letter number (Nl)</td>
</tr>
<tr>
<th>UnicodeCombiningMark</th>
<td>Non-spacing mark (Mn)<br />
Combining spacing mark (Mc)</td>
</tr>
<tr>
<th>UnicodeDigit</th>
<td>Decimal number (Nd)</td>
</tr>
<tr>
<th>UnicodeConnectorPunctuation</th>
<td>Connector punctuation (Pc)</td>
</tr>
<tr>
<th>UnicodeEscapeSequence</th>
<td>The definitions of the nonterminal UnicodeEscapeSequence is given in 7.8.4</td>
</tr>
<tr>
<th>ZWNJ</th>
<td>U+200C (<a href="http://en.wikipedia.org/wiki/ZWNJ">Zero-width non-joiner</a> <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=')' class='wp-smiley smiley-20' /> </td>
</tr>
<tr>
<th>ZWJ</th>
<td>U+200D (<a href="http://en.wikipedia.org/wiki/ZWJ">Zero-width joiner</a> <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=')' class='wp-smiley smiley-20' /> </td>
</tr>
<tr>
<th>ReservedWord</th>
<td>&lt;Keyword&gt;<br />
&lt;FutureReservedWord&gt;<br />
&lt;NullLiteral&gt;<br />
&lt;BooleanLiteral&gt;</td>
</tr>
<tr>
<th>Keyword</th>
<td>break, do, instanceof, typeof, case, else, new, var, catch, finally, return, void, continue, for, switch, while, debugger, function, this, with, default, if, throw, delete, in, try</td>
</tr>
<tr>
<th>FutureReservedWord</th>
<td>class, enum, extends, super, const, export, import<br />
    implements, let, private, public, yield, interface, package, protected, static</td>
</tr>
<tr>
<th>NullLiteral</th>
<td>null</td>
</tr>
<tr>
<th>BooleanLiteral</th>
<td>true, false</td>
</tr>
</table>
<p>Looks long, but not too complicated.</p>
<h2>Checking if a string is valid</h2>
<p>To check if a string is a valid identifier is now pretty easy. We just need to make sure the string matches the allowed syntax, and that it&#8217;s not a reserved word. The first we can solve with a regular expression and the second with a simple white list array. For example, something along the following lines.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> is_valid_identifier<span style="color: #009900;">&#40;</span><span style="color: #000088;">$subject</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$identifier_syntax</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/^[$_\p{L}][$_\p{L}\p{Mn}\p{Mc}\p{Nd}\p{Pc}\x{200C}\x{200D}]*+$/u'</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$reserved_words</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'break'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'do'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'instanceof'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'typeof'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'case'</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">'else'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'new'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'var'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'catch'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'finally'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'return'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'void'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'continue'</span><span style="color: #339933;">,</span> <br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">'for'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'switch'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'while'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'debugger'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'function'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'this'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'with'</span><span style="color: #339933;">,</span> <br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">'default'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'if'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'throw'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'delete'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'in'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'try'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'class'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'enum'</span><span style="color: #339933;">,</span> <br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">'extends'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'super'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'const'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'export'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'import'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'implements'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'let'</span><span style="color: #339933;">,</span> <br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">'private'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'public'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'yield'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'interface'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'package'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'protected'</span><span style="color: #339933;">,</span> <br />
&nbsp; &nbsp; &nbsp; <span style="color: #0000ff;">'static'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'null'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'true'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'false'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #990000;">preg_match</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$identifier_syntax</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span> <span style="color: #990000;">in_array</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">mb_strtolower</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$subject</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'UTF-8'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$reserved_words</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>Not too complex, although the regular expression might look a bit nuts at first because of all the Unicode character groups. You might find regular expressions other places to do this that uses a-z for the letters, but as you saw from the specification that won&#8217;t cover much of what&#8217;s actually valid. </p>
<p>I built the expression using the very helpful <a href="http://www.regexbuddy.com/">RegexBuddy</a> and exported an HTML explanation of it. Also threw together a tiny identifier validator thing where you can test it out with. You find it all at <a href="http://samples.geekality.net/js-identifiers">samples.geekality.net/js-identifiers</a>.</p>
<p>And that&#8217;s that. Hope that might be helpful for someone and please let me know if you find any issues with it!</p>
<blockquote><p><strong>Note:</strong> I have ignored the issue with the Unicode escape sequences for now as I&#8217;m not quite sure how to best handle those. From the specification:</p>
<blockquote><p>A UnicodeEscapeSequence cannot be used to put a character into an IdentifierName that would otherwise be illegal. In other words, if a \UnicodeEscapeSequence sequence were replaced by its UnicodeEscapeSequence&#8217;s <abbr title="Character Value">CV</abbr>, the result must still be a valid IdentifierName that has the exact same sequence of characters as the original IdentifierName. All interpretations of identifiers within this specification are based upon their actual characters regardless of whether or not an escape sequence was used to contribute any particular characters.</p></blockquote>
<p>So, I&#8217;m not sure if there is a way to just convert those sequences into actual characters or if this is done automatically by PHP as they come in as GET parameters or what. Either way, my code above there is ignoring them. This means, identifiers with escape sequences will not be considered valid. If you have some good ideas on how to handle it, please leave a comment <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p></blockquote>
<p class="wp-flattr-button"></p> <p><a href="http://www.geekality.net/?flattrss_redirect&amp;id=1739&amp;md5=d6a9a0cd633273d4fde200b37d4ebbea" title="Flattr" target="_blank"><img src="http://www.geekality.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.geekality.net/2011/08/03/valid-javascript-identifier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL for listing all WordPress tags</title>
		<link>http://www.geekality.net/2011/06/13/sql-for-listing-all-wordpress-tags/</link>
		<comments>http://www.geekality.net/2011/06/13/sql-for-listing-all-wordpress-tags/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 20:47:17 +0000</pubDate>
		<dc:creator>Torleif</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.geekality.net/?p=1715</guid>
		<description><![CDATA[When writing a post I sometimes find it difficult to choose what I should tag it with. I try reuse tags I already have to prevent a total mess, and sometimes I just don&#8217;t really remember what tags I have &#8230; <a href="http://www.geekality.net/2011/06/13/sql-for-listing-all-wordpress-tags/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When writing a post I sometimes find it difficult to choose what I should tag it with. I try reuse tags I already have to prevent a total mess, and sometimes I just don&#8217;t really remember what tags I have used so far. When writing a post in WordPress you can get a list of the most used ones, but once in a while I write a post on subject I haven&#8217;t written a lot about. So, instead of going to the Post Tags page and look through all the pages of tags, I decided to just connect to my blog database and run a query.</p>
<p><span id="more-1715"></span></p>
<div class="codecolorer-container sql default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">SELECT</span> name<span style="color: #66cc66;">,</span> slug<span style="color: #66cc66;">,</span> description<span style="color: #66cc66;">,</span> <span style="color: #993333; font-weight: bold;">COUNT</span> <span style="color: #993333; font-weight: bold;">FROM</span> wp_terms<br />
<span style="color: #993333; font-weight: bold;">NATURAL</span> <span style="color: #993333; font-weight: bold;">JOIN</span> wp_term_taxonomy<br />
<span style="color: #993333; font-weight: bold;">WHERE</span> taxonomy<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;post_tag&quot;</span><br />
<span style="color: #993333; font-weight: bold;">ORDER</span> <span style="color: #993333; font-weight: bold;">BY</span> name</div></div>
<p>Lists all your tags, sorted by name <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p class="wp-flattr-button"></p> <p><a href="http://www.geekality.net/?flattrss_redirect&amp;id=1715&amp;md5=9996d29443248765a13d414f1e0aa91c" title="Flattr" target="_blank"><img src="http://www.geekality.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.geekality.net/2011/06/13/sql-for-listing-all-wordpress-tags/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP: Proper age calculation</title>
		<link>http://www.geekality.net/2011/05/29/php-proper-age-calculation/</link>
		<comments>http://www.geekality.net/2011/05/29/php-proper-age-calculation/#comments</comments>
		<pubDate>Sat, 28 May 2011 23:52:12 +0000</pubDate>
		<dc:creator>Torleif</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Age]]></category>
		<category><![CDATA[Date]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Snippet]]></category>

		<guid isPermaLink="false">http://www.geekality.net/?p=1397</guid>
		<description><![CDATA[Always struggle with calculating age in PHP for some reason. And there seems to be quite varying ideas on how this should be done. So decided to once and for all sit down and figure out how I could do &#8230; <a href="http://www.geekality.net/2011/05/29/php-proper-age-calculation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_1689" class="wp-caption alignright" style="width: 234px"><a href="http://www.rgbstock.com/photo/mhgnDJm/Birthday+cake"><img src="http://www.geekality.net/wp-content/uploads/2011/05/Birthday-cake-224x300.jpg" alt="" title="Birthday cake" width="224" height="300" class="size-medium wp-image-1689" /></a><p class="wp-caption-text">rgbstock.com</p></div>Always struggle with calculating age in PHP for some reason. And there seems to be quite varying ideas on how this should be done. So decided to once and for all sit down and figure out how I could do this.</p>
<p><span id="more-1397"></span></p>
<p>Found <a href="http://00f.net/2007/06/04/an-age-is-not-a-duration/">an article</a> which explained pretty well why I was a bit confused. It also had a code example in Perl(?).</p>
<p>So, thought I could stick a PHP version here in case that page dies or I forget. Actually there are two. The first calculates the age kind of manually, and can be used in PHP 4 and PHP 5. The second is a lot shorter and simpler, but requires PHP 5.3.</p>
<p>Enjoy <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// Manual way. Takes unix time stamps.</span><br />
<span style="color: #000000; font-weight: bold;">function</span> getAge<span style="color: #009900;">&#40;</span><span style="color: #000088;">$birth</span><span style="color: #339933;">,</span> <span style="color: #000088;">$now</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$now</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getdate</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$now</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">NULL</span> ? <span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$now</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$birth</span> <span style="color: #339933;">=</span> <span style="color: #990000;">getdate</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$birth</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000088;">$age</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$now</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'year'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$birth</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'year'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$now</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mon'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$birth</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mon'</span><span style="color: #009900;">&#93;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #339933;">||</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$now</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mon'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$birth</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mon'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$birth</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mday'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">&gt;</span> <span style="color: #000088;">$now</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'mday'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$age</span> <span style="color: #339933;">-=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$age</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>This next function uses the <a href="http://www.php.net/manual/en/datetime.diff.php">DateTime::diff</a> method available in PHP 5.3.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// Takes dates like 'yyyy-mm-dd'</span><br />
<span style="color: #000000; font-weight: bold;">function</span> getAge<span style="color: #009900;">&#40;</span><span style="color: #000088;">$birth</span><span style="color: #339933;">,</span> <span style="color: #000088;">$now</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">NULL</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$now</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DateTime<span style="color: #009900;">&#40;</span><span style="color: #000088;">$now</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$birth</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> DateTime<span style="color: #009900;">&#40;</span><span style="color: #000088;">$birth</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$birth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">diff</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$now</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">format</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'%r%y'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>You can test them out at <a href="http://samples.geekality.net/age">samples.geekality.net/age</a> <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p class="wp-flattr-button"></p> <p><a href="http://www.geekality.net/?flattrss_redirect&amp;id=1397&amp;md5=143909b94d07cf9ac0ace0d1411e9767" title="Flattr" target="_blank"><img src="http://www.geekality.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.geekality.net/2011/05/29/php-proper-age-calculation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Tutorial: PayPal Instant Payment Notification (IPN)</title>
		<link>http://www.geekality.net/2011/05/28/php-tutorial-paypal-instant-payment-notification-ipn/</link>
		<comments>http://www.geekality.net/2011/05/28/php-tutorial-paypal-instant-payment-notification-ipn/#comments</comments>
		<pubDate>Sat, 28 May 2011 21:01:47 +0000</pubDate>
		<dc:creator>Torleif</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[IPN]]></category>
		<category><![CDATA[PayPal]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.geekality.net/?p=1420</guid>
		<description><![CDATA[In a previous post I tried to give an introduction on how to get started with PayPal Payment Data Transfers (PDT). PDT is very handy in several cases, but you can&#8217;t always rely on it since it requires the user &#8230; <a href="http://www.geekality.net/2011/05/28/php-tutorial-paypal-instant-payment-notification-ipn/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.rgbstock.com/photo/mswM744/got+a+letter"><img src="http://www.geekality.net/wp-content/uploads/2011/05/Got-a-letter-300x225.jpg" alt="Got a letter" title="rgbstock.com" width="300" height="225" class="alignright size-medium wp-image-1674" /></a>In <a href="/?p=1210">a previous post</a> I tried to give an introduction on how to get started with PayPal Payment Data Transfers (PDT). PDT is very handy in several cases, but you can&#8217;t always rely on it since it requires the user to return to your page after doing the payment. That will <em>often</em> happen, but it&#8217;s not guaranteed to happen. If you for example want to mark an order in your system as paid or something like that, you most likely want to use PayPal Instant Payment Notifications (IPN) in addition to PDT.</p>
<blockquote><p>Instant Payment Notification (IPN) is a message service that notifies you of events related to PayPal transactions. You can use it to automate back-office and administrative functions, such as fulfilling orders, tracking customers, and providing status and other information related to a transaction. &#8212; <a href="https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&#038;content_ID=developer/e_howto_admin_IPNIntro">PayPal</a></p></blockquote>
<p>Once again the documentation, tutorials and code samples I found on this was a bit all over the place. Sort of messy and outdated. So, once again I decided to do my own thing and just follow the steps required and implement them myself. And since the tutorial on PDT turned out to be a bit of a success, I decided to share this too. Hopefully it can make the lives of fellow developers easier <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p><span id="more-1420"></span></p>
<h2>How it works</h2>
<p>The concept is pretty simple. You first give PayPal an address to a listener, for example <code class="codecolorer text default"><span class="text">http://business.example.com/ipn/listener.php</span></code>. Then, whenever something happens, PayPal will post information about the event to that address. So for example if someone completes a payment, your listener will be notified shortly after with the transaction details and all you need to know.</p>
<p>This tutorial will focus on the listener part, as the setting up part on PayPal is very simple (Leave a comment if you disagree). Just go to the PayPal account settings, find the IPN settings and give the URL to your IPN listener. For testing we don&#8217;t even need to do that. All we need to do is to set up a PayPal Developer Account. We can then use their very handy <a href="https://developer.paypal.com/cgi-bin/devscr?cmd=_ipn-link-session">Instant Payment Notification (IPN) simulator</a> that you find among their <a href="https://developer.paypal.com/cgi-bin/devscr?cmd=_tools-session">Test Tools</a>. So let&#8217;s get started!</p>
<h2>Step 0: Sign up for a Developer Account</h2>
<p>If you haven&#8217;t, go <a href="/?p=1176">sign up for a PayPal Developer account</a>. We don&#8217;t need to set up any accounts this time, as we will simply use the mentioned simulator.</p>
<p>Using the simulator is ultra simple. You just enter the address of your listener and choose a transaction type. You can then fill out all the data that should be in this fake transaction and then just hit &#8220;Send IPN&#8221; at the bottom. Luckily PayPal actually fills out all the fields with random test data, so unless you are trying to test something specific, you can just ignore the data and hit the button right away <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p>Now, to the actual listener file&#8230;</p>
<h2>Step 1: Catch the IPN</h2>
<p>First thing we need to do in our listener is of course to catch the data we get from PayPal. The data is sent as a POST request, so PHP has actually done that for us. We just need to grab it <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000088;">$ipn_post_data</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #339933;">;</span></div></div>
<h2>Step 2: Verification</h2>
<p>Since what we got could just be plain bogus from some stranger, we need to verify it with PayPal. This is done by taking all the POST data in its unaltered state, add one field to the beginning, and then send it back. In return we should then get one word, <code class="codecolorer text default"><span class="text">VERIFIED</span></code> or <code class="codecolorer text default"><span class="text">INVALID</span></code>. To do that, we can use our old buddy cURL.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;">// Choose url</span><br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array_key_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'test_ipn'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ipn_post_data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #cc66cc;">1</span> <span style="color: #339933;">===</span> <span style="color: #009900;">&#40;</span>int<span style="color: #009900;">&#41;</span> <span style="color: #000088;">$ipn_post_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'test_ipn'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'https://www.sandbox.paypal.com/cgi-bin/webscr'</span><span style="color: #339933;">;</span><br />
<span style="color: #b1b100;">else</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'https://www.paypal.com/cgi-bin/webscr'</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Set up request to PayPal</span><br />
<span style="color: #000088;">$request</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #990000;">curl_setopt_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$request</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><br />
<span style="color: #009900;">&#40;</span><br />
&nbsp; &nbsp; CURLOPT_URL <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$url</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_POST <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_POSTFIELDS <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">http_build_query</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'cmd'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'_notify-validate'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$ipn_post_data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_RETURNTRANSFER <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_HEADER <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_SSL_VERIFYPEER <span style="color: #339933;">=&gt;</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">,</span><br />
&nbsp; &nbsp; CURLOPT_CAINFO <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'cacert.pem'</span><span style="color: #339933;">,</span><br />
<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Execute request and get response and status code</span><br />
<span style="color: #000088;">$response</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$request</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$status</span> &nbsp; <span style="color: #339933;">=</span> <span style="color: #990000;">curl_getinfo</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$request</span><span style="color: #339933;">,</span> CURLINFO_HTTP_CODE<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #666666; font-style: italic;">// Close connection</span><br />
<span style="color: #990000;">curl_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$request</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$status</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">200</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$response</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'VERIFIED'</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// All good! Proceed...</span><br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #b1b100;">else</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Not good. Ignore, or log for investigation...</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>Note that in the very beginning actually check for a field called <code class="codecolorer text default"><span class="text">test_ipn</span></code>. If that exists with a value of 1, it means it&#8217;s a request from the sandbox. In other words, we can choose the correct PayPal interface by just looking for that.</p>
<p>You can also see I set two cURL options called <code class="codecolorer text default"><span class="text">SSL_VERIFYPEER</span></code> and <code class="codecolorer text default"><span class="text">CAINFO</span></code>. The reason for that you will find in my post on <a href="http://www.geekality.net/?p=1413">cURL SSL verification</a>.</p>
<h2>Step 3: Fix character set</h2>
<p>Now that we know the data is valid, we can start to deal with it. What you get could be in a different character set than what you want though, so we should fix that first. The data should contain a key called <code class="codecolorer text default"><span class="text">charset</span></code> which specifies what character set the data is using. We just need to check for that and if needed convert from that to what we want, for example UTF-8.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">array_key_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'charset'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$ipn_data</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$charset</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$ipn_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'charset'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Ignore if same as our default</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$charset</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'utf-8'</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Otherwise convert all the values</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ipn_data</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$key</span> <span style="color: #339933;">=&gt;</span> <span style="color: #339933;">&amp;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mb_convert_encoding</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'utf-8'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$charset</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// And store the charset values for future reference</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$ipn_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'charset'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'utf-8'</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$ipn_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'charset_original'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$charset</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<h2>Step 4: Use the data!</h2>
<p>Yup, believe it or not, that was everything that was needed to catch an IPN message from PayPal. Where you go from here completely depends on what exactly you need to do. </p>
<p>What you at least should do is the following:</p>
<ol>
<li>Confirm that the payment status is Completed.<br />
PayPal sends IPN messages for pending and denied payments as well, so don&#8217;t ship stuff or anything until the payment has cleared.</li>
<li>Use the transaction ID to verify that the transaction has not already been processed.<br />
This prevents you from processing the same transaction twice. You can for example store the transaction id in a database and check against those before you do anything with incoming IPNs. If you&#8217;re smart you could also store the time the IPN came in and the raw IPN data. This way you have a log of all incoming messages you can use if you need to reprocess something or for debugging if something weird is going on.</li>
<li>Make sure the receiver&#8217;s email address is the one you expected.</li>
<li>Make sure the price, item description, et cetera, match what it should be.</li>
</ol>
<p>And then finally you should of course make sure your customer gets what they should <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p>You can read more about PayPal Instant Payment Notifications in their <a href="https://cms.paypal.com/cms_content/US/en_US/files/developer/IPNGuide.pdf">IPN Guide</a>.</p>
<h2>Working sample</h2>
<p>I have put together a working sample you can check out over at <a href="http://samples.geekality.net/ipn/">samples.geekality.net/ipn</a>. Hopefully this tutorial and that sample can help you get started with all of this <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p>I also put together an IPN handler class you can use pretty much out of the box. The sample uses it, and it&#8217;s very simple. Just extend the class, override the <code class="codecolorer text default"><span class="text">process</span></code> method and do what you need. Below is a simple example.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #666666; font-style: italic;">// example listener.php</span><br />
<br />
<span style="color: #b1b100;">require</span> <span style="color: #0000ff;">'ipn_handler.class.php'</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #000000; font-weight: bold;">class</span> My_Ipn_Handler <span style="color: #000000; font-weight: bold;">extends</span> IPN_Handler<br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> process<span style="color: #009900;">&#40;</span><span style="color: #990000;">array</span> <span style="color: #000088;">$post_data</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Let the IPN_Handler do it's processing,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// which includes validating and fixing the encoding</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$data</span> <span style="color: #339933;">=</span> parent<span style="color: #339933;">::</span><span style="color: #004000;">process</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$post_data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Check if validation failed</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP/1.0 400 Bad Request'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">exit</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Seems it all was good, so in lack of better things to do,</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// let's JSON encode it and dump it to a file</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">file_put_contents</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ipn.txt'</span><span style="color: #339933;">,</span> <span style="color: #990000;">json_encode</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$data</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>PHP_EOL<span style="color: #339933;">,</span> FILE_APPEND<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><br />
<br />
<span style="color: #000088;">$handler</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> My_Ipn_Handler<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #000088;">$handler</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">process</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>That&#8217;s all! I&#8217;m sorry it took so long to get this tutorial written, but hopefully someone can find it useful. I have learned a lot writing it at least! Please leave a comment if it was helpful, if it wasn&#8217;t helpful, if there are mistakes, typos, or if you just want to say thank you <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p class="wp-flattr-button"></p> <p><a href="http://www.geekality.net/?flattrss_redirect&amp;id=1420&amp;md5=c6fc8bcc514c281c5c7d8f2173c0042b" title="Flattr" target="_blank"><img src="http://www.geekality.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.geekality.net/2011/05/28/php-tutorial-paypal-instant-payment-notification-ipn/feed/</wfw:commentRss>
		<slash:comments>87</slash:comments>
		</item>
		<item>
		<title>PHP: Tail tackling large files</title>
		<link>http://www.geekality.net/2011/05/28/php-tail-tackling-large-files/</link>
		<comments>http://www.geekality.net/2011/05/28/php-tail-tackling-large-files/#comments</comments>
		<pubDate>Sat, 28 May 2011 18:35:45 +0000</pubDate>
		<dc:creator>Torleif</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Log]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[Tail]]></category>

		<guid isPermaLink="false">http://www.geekality.net/?p=1654</guid>
		<description><![CDATA[Needed a function that could get me the last N lines of a log file. Wanted it to be efficient and not dependent on anything other than my code. Found some versions, but they were either a bit messy or &#8230; <a href="http://www.geekality.net/2011/05/28/php-tail-tackling-large-files/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Needed a function that could get me the last N lines of a log file. Wanted it to be efficient and not dependent on anything other than my code.</p>
<p>Found some versions, but they were either a bit messy or depended on unstable arithmetic (where filesize is greater than <code class="codecolorer text default"><span class="text">PHP_INT_MAX</span></code>). So, I decided to take on the challenge and try to write one myself. Nice little exercise <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p><span id="more-1654"></span></p>
<p>My result looks a bit long, but that&#8217;s mostly because I have added lots of comments here so you can hopefully understand what&#8217;s going on <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':P' class='wp-smiley smiley-13' /> </p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">function</span> tail<span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #339933;">,</span> <span style="color: #000088;">$lines</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">4096</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Open the file</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$f</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fopen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;rb&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Jump to last character</span><br />
&nbsp; &nbsp; <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$f</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">,</span> SEEK_END<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Read it and adjust line number if necessary</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// (Otherwise the result would be wrong if file doesn't end with a blank line)</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$f</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$lines</span> <span style="color: #339933;">-=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Start reading</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #000088;">$chunk</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// While we would like more</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ftell</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$f</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$lines</span> <span style="color: #339933;">&gt;=</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Figure out how far back we should jump</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$seek</span> <span style="color: #339933;">=</span> <span style="color: #990000;">min</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">ftell</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$f</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$buffer</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Do the jump (backwards, relative to where we are)</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$f</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #000088;">$seek</span><span style="color: #339933;">,</span> SEEK_CUR<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Read a chunk and prepend it to our output</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$chunk</span> <span style="color: #339933;">=</span> <span style="color: #990000;">fread</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$f</span><span style="color: #339933;">,</span> <span style="color: #000088;">$seek</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #000088;">$output</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Jump back to where we started reading</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #990000;">fseek</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$f</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #990000;">mb_strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$chunk</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'8bit'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> SEEK_CUR<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Decrease our line counter</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$lines</span> <span style="color: #339933;">-=</span> <span style="color: #990000;">substr_count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$chunk</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// While we have too many lines</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// (Because of buffer size we might have read too many)</span><br />
&nbsp; &nbsp; <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$lines</span><span style="color: #339933;">++</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Find first newline and remove all text before that</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #339933;">,</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Close file and return</span><br />
&nbsp; &nbsp; <span style="color: #990000;">fclose</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$f</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <br />
&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$output</span><span style="color: #339933;">;</span> <br />
<span style="color: #009900;">&#125;</span></div></div>
<h3>Sample</h3>
<p>You can try out a slightly modified version at <a href="http://samples.geekality.net/tail/">samples.geekality.net/tail</a>. Of course you won&#8217;t be able to try it on your multi-gigabyte-sized log file, but at least you can see if it does what it should <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p>As usual, if you have any corrections or feedback, if you found it useful, please leave a comment!</p>
<p class="wp-flattr-button"></p> <p><a href="http://www.geekality.net/?flattrss_redirect&amp;id=1654&amp;md5=ff3904378c37d2eafed8caaac71b763f" title="Flattr" target="_blank"><img src="http://www.geekality.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.geekality.net/2011/05/28/php-tail-tackling-large-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java: InputStream line iterator</title>
		<link>http://www.geekality.net/2011/05/23/java-inputstream-line-iterator/</link>
		<comments>http://www.geekality.net/2011/05/23/java-inputstream-line-iterator/#comments</comments>
		<pubDate>Mon, 23 May 2011 18:09:11 +0000</pubDate>
		<dc:creator>Torleif</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[IO]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Snippet]]></category>

		<guid isPermaLink="false">http://www.geekality.net/?p=1614</guid>
		<description><![CDATA[Wanted to create an easy interface for reading lines from a stream. It should take care of all the annoying Java IO nitty-gritty for me and I wanted to use it simply by throwing it into a for loop. Found &#8230; <a href="http://www.geekality.net/2011/05/23/java-inputstream-line-iterator/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Wanted to create an easy interface for reading lines from a stream. It should take care of all the annoying Java IO nitty-gritty for me and I wanted to use it simply by throwing it into a for loop.</p>
<p><span id="more-1614"></span></p>
<p>Found some pieces of code here and there, added some of my own and ended up with a <code class="codecolorer text default"><span class="text">LineReader</span></code> class. Works as far as I can see, but let me know if you test it out and you find any bugs <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':p' class='wp-smiley smiley-13' /> </p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br /></div></td><td><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.BufferedReader</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.Closeable</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStream</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStreamReader</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.ArrayList</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Collection</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.Iterator</span><span style="color: #339933;">;</span><br />
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.util.NoSuchElementException</span><span style="color: #339933;">;</span><br />
<br />
<span style="color: #008000; font-style: italic; font-weight: bold;">/**<br />
&nbsp;* Represents the lines found in an {@link InputStream}. The lines are read<br />
&nbsp;* one at a time using {@link BufferedReader#readLine()} and may be streamed<br />
&nbsp;* through an iterator or returned all at once.<br />
&nbsp;* <br />
&nbsp;* &lt;p&gt;This class does not handle any concurrency issues.<br />
&nbsp;* <br />
&nbsp;* &lt;p&gt;The stream is closed automatically when the for loop is done :)<br />
&nbsp;* <br />
&nbsp;* &lt;pre&gt;{@code<br />
&nbsp;* for(String line : new LineReader(stream))<br />
&nbsp;* &nbsp; &nbsp; &nbsp;// ...<br />
&nbsp;* }&lt;/pre&gt;<br />
&nbsp;* <br />
&nbsp;* &lt;p&gt;An {@link IllegalStateException} will be thrown if any {@link IOException}s<br />
&nbsp;* occur when reading or closing the stream.<br />
&nbsp;* <br />
&nbsp;* @author &nbsp; &nbsp;Torleif Berger<br />
&nbsp;* @license &nbsp; http://creativecommons.org/licenses/by/3.0/<br />
&nbsp;* @see &nbsp; &nbsp; &nbsp; http://www.geekality.net/?p=1614<br />
&nbsp;*/</span><br />
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> LineReader <span style="color: #000000; font-weight: bold;">implements</span> Iterable<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span>, Closeable<br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">BufferedReader</span> reader<span style="color: #339933;">;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">public</span> LineReader<span style="color: #009900;">&#40;</span><span style="color: #003399;">InputStream</span> stream<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; reader <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InputStreamReader</span><span style="color: #009900;">&#40;</span>stream<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp;<span style="color: #008000; font-style: italic; font-weight: bold;">/**<br />
&nbsp; &nbsp; * Closes the underlying stream.<br />
&nbsp; &nbsp; */</span><br />
&nbsp; &nbsp;@Override<br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> close<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">IOException</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; reader.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color: #008000; font-style: italic; font-weight: bold;">/**<br />
&nbsp; &nbsp; * Makes sure the underlying stream is closed.<br />
&nbsp; &nbsp; */</span><br />
&nbsp; &nbsp;@Override<br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000066; font-weight: bold;">void</span> finalize<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">Throwable</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; close<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
<br />
<br />
&nbsp; &nbsp;<span style="color: #008000; font-style: italic; font-weight: bold;">/**<br />
&nbsp; &nbsp; * Returns an iterator over the lines remaining to be read.<br />
&nbsp; &nbsp; * <br />
&nbsp; &nbsp; * &lt;p&gt;The underlying stream is closed automatically once {@link Iterator#hasNext()} <br />
&nbsp; &nbsp; * returns false. This means that the stream should be closed after using a for loop.<br />
&nbsp; &nbsp; * <br />
&nbsp; &nbsp; * @return This iterator.<br />
&nbsp; &nbsp; */</span><br />
&nbsp; &nbsp;@Override<br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">public</span> Iterator<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> iterator<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #000000; font-weight: bold;">new</span> LineIterator<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color: #008000; font-style: italic; font-weight: bold;">/**<br />
&nbsp; &nbsp; * Returns all lines remaining to be read and closes the stream.<br />
&nbsp; &nbsp; * <br />
&nbsp; &nbsp; * @return The lines read from the stream.<br />
&nbsp; &nbsp; */</span><br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">public</span> Collection<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> readLines<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; Collection<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> lines <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> ArrayList<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> line <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;lines.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>line<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> lines<span style="color: #339933;">;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp;<br />
&nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">class</span> LineIterator <span style="color: #000000; font-weight: bold;">implements</span> Iterator<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span><br />
&nbsp; &nbsp;<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #003399;">String</span> nextLine<span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> bufferNext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">try</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> nextLine <span style="color: #339933;">=</span> reader.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">IllegalStateException</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;I/O error while reading stream.&quot;</span>, e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
<br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">boolean</span> hasNext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000066; font-weight: bold;">boolean</span> hasNext <span style="color: #339933;">=</span> nextLine <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">||</span> bufferNext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span> hasNext<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">try</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;reader.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> e<span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">IllegalStateException</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;I/O error when closing stream.&quot;</span>, e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">return</span> hasNext<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> next<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #339933;">!</span> hasNext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">NoSuchElementException</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #003399;">String</span> result <span style="color: #339933;">=</span> nextLine<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; nextLine <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> result<span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<br />
&nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> remove<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">UnsupportedOperationException</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>You can use it in a streaming fashion:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> line <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">new</span> LineReader<span style="color: #009900;">&#40;</span>stream<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br />
<span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// ...</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>Or grab all the lines at once:</p>
<div class="codecolorer-container java default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="java codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Collection<span style="color: #339933;">&lt;</span>String<span style="color: #339933;">&gt;</span> lines <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> LineReader<span style="color: #009900;">&#40;</span>stream<span style="color: #009900;">&#41;</span>.<span style="color: #006633;">readLines</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>Let me know what you think! Feedback is welcome as always <img src='http://www.geekality.net/wp-includes/images/blank.gif' alt=':)' class='wp-smiley smiley-1' /> </p>
<p class="wp-flattr-button"></p> <p><a href="http://www.geekality.net/?flattrss_redirect&amp;id=1614&amp;md5=ed92d9efd464a295f2f49fb4718e0451" title="Flattr" target="_blank"><img src="http://www.geekality.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.geekality.net/2011/05/23/java-inputstream-line-iterator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

