diff --git a/__pycache__/get_contours.cpython-39.pyc b/__pycache__/get_contours.cpython-39.pyc new file mode 100644 index 0000000..e15bb08 Binary files /dev/null and b/__pycache__/get_contours.cpython-39.pyc differ diff --git a/add_country.py b/add_country.py new file mode 100644 index 0000000..7822218 --- /dev/null +++ b/add_country.py @@ -0,0 +1,62 @@ +#!/usr/bin/python +import sys +import os +import subprocess +from scripts_hgt.get_hgt import get_hgt +from scripts_hgt.hgt_to_osm import hgt_to_osm +from get_contours import get_contours +import os, shutil, fnmatch +import subprocess +import time + +country_name=sys.argv[1] +style=sys.argv[2] +url=sys.argv[3] + +start_time = time.perf_counter() +country_name_lower_case = country_name.lower().replace(" ", "_") +country_name_upper_case = country_name_lower_case.capitalize() + + +os.makedirs("dem/"+country_name_lower_case, exist_ok=True) + +os.makedirs("carte_"+country_name_lower_case, exist_ok=True) + + +#Get Id +country_list=[] + +#File country +file_in = open("country.txt", "rt") + + +lines = file_in.readlines() +for line in lines: + result = line.split(";") + country_list.append([result[0],result[1],result[2]]) +file_in.close() + +id=f'{len(country_list)+1:02d}' + + +#File country +file_in = open("country.txt", "rt") + +file_source = file_in.read() +file_modif = file_source+'\n#'+country_name+';'+id+';'+style+';'+url +file_in.close() + +file_out = open("country.txt", "wt") +file_out.write(file_modif) +file_out.close() + +print("Start Add country"+country_name+ " "+id+ " "+" "+style,url) + +#Get contours +get_contours(country_name, url) + +#Launch script +subprocess.run(["bash", "update_map.sh",country_name,id,style,url]) +stop_time = time.perf_counter() + +print("End Add country in "+time.strftime('%H:%M:%S', time.gmtime(stop_time - start_time))) diff --git a/check_dem_missing.py b/check_dem_missing.py new file mode 100644 index 0000000..2d266ae --- /dev/null +++ b/check_dem_missing.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +import sys +import os +import subprocess +from scripts_hgt.get_hgt import get_hgt +from scripts_hgt.hgt_to_osm import hgt_to_osm +from get_contours import get_contours +import os, shutil, fnmatch +import subprocess +import time +import glob +import pathlib + +dirList = os.listdir() + +for dir in dirList: + if(dir.startswith("carte_")): + hasFiles=False + for file in pathlib.Path(dir).glob("*.img"): + if(str(file).split("/")[1].startswith("88")): + hasFiles=True + if(hasFiles==False): + print(dir) + diff --git a/country.txt b/country.txt new file mode 100644 index 0000000..3b8ac2f --- /dev/null +++ b/country.txt @@ -0,0 +1,7 @@ +France;02;utagawa;https://download.geofabrik.de/europe/france-latest.osm.pbf +#Rhone-Alpes;01;utagawa;https://download.geofabrik.de/europe/france/rhone-alpes-latest.osm.pbf +Suisse;03;utagawa;https://download.geofabrik.de/europe/switzerland-latest.osm.pbf +Italie;04;utagawa;https://download.geofabrik.de/europe/italy-latest.osm.pbf +Belgique;05;utagawa;https://download.geofabrik.de/europe/belgium-latest.osm.pbf +Espagne;06;utagawa;https://download.geofabrik.de/europe/spain-latest.osm.pbf +#Reunion;07;utagawa;https://download.geofabrik.de/europe/france/reunion-latest.osm.pbf \ No newline at end of file diff --git a/create_dem.sh b/create_dem.sh new file mode 100644 index 0000000..59c20f6 --- /dev/null +++ b/create_dem.sh @@ -0,0 +1,90 @@ +#!/bin/bash + +start_time="$(date +%s)" +d=`date "+%d.%m.%Y"` + +time_task () { + T="$(($(date +%s)-start_time))" + D=$((T/60/60/24)) + H=$((T/60/60%24)) + M=$((T/60%60)) + S=$((T%60)) + time_display="" + if [ $D -gt 0 ];then + time_display="${time_display}${D} days " + fi + if [ $H -gt 0 ];then + time_display="${time_display}${H} hours " + fi + if [ $M -gt 0 ];then + time_display="${time_display}${M} minutes " + fi + time_display="${time_display}${S} seconds " + + echo "Finished in ${time_display}" +} + +echo "Creation of the map $1 ...." + +land=$1 +id=$2 +type=$3 + +land_lower=$(echo $land | tr '[:upper:]' '[:lower:]') +land_lower=$(echo $land_lower | tr ' ' _ ) +land_without_space=$(echo $land | tr ' ' _ ) +file="$land_lower".osm.pbf +poly="$land_lower".poly +type_upper="$(tr '[:lower:]' '[:upper:]' <<< ${type:0:1})${type:1}" + +cd "carte_$land_lower" + +name="Map${type_upper} France ${d%%}" +mapname="99$id" +mapname_courbes="88$id" +name_file=Map${type_upper}_${land_without_space}_ + + +count=`ls -1 *.osm.gz 2>/dev/null | wc -l` +if [ $count != 0 ];then + rm *.img + echo "Split contour ...." + + java -Xmx32768m -jar ../splitter/splitter.jar --mapid=${mapname_courbes}0000 --max-nodes=1000000 --polygon-file=${poly} --keep-complete=false *.osm.gz + + mv template.args courbes.args + + echo "Creation of the map courbes ...." + java -Xmx32768m -jar ../mkgmap/mkgmap.jar -c ../options_courbes.args -c courbes.args + + rm ${mapname_courbes}*.osm.pbf + rm areas.list + rm areas.poly + rm courbes.args + rm none-areas.poly + rm none-template.args + rm densities-out.txt + rm osmmap.img + rm osmmap.tdb + #rm *.osm.gz +fi + + +java -Xmx32768m -jar ../mkgmap/mkgmap.jar --mapname=${mapname}0000 --family-id=${mapname} --description="${name}" -c ../options_dem.args --gmapsupp ../style/rando.typ ${mapname_courbes}*.img + + +rm areas.list +rm areas.poly +rm map.args +rm densities-out.txt +rm osmmap.img +rm osmmap.tdb + + +dm=`date "+%Y_%m_%d"` + +mv -f gmapsupp.img ${name_file}${dm}.img + +time_task + +cd .. diff --git a/create_map.sh b/create_map.sh new file mode 100644 index 0000000..3e5857a --- /dev/null +++ b/create_map.sh @@ -0,0 +1,109 @@ +#!/bin/bash + +start_time="$(date +%s)" +d=`date "+%d.%m.%Y"` + +time_task () { + T="$(($(date +%s)-start_time))" + D=$((T/60/60/24)) + H=$((T/60/60%24)) + M=$((T/60%60)) + S=$((T%60)) + time_display="" + if [ $D -gt 0 ];then + time_display="${time_display}${D} days " + fi + if [ $H -gt 0 ];then + time_display="${time_display}${H} hours " + fi + if [ $M -gt 0 ];then + time_display="${time_display}${M} minutes " + fi + time_display="${time_display}${S} seconds " + + echo "Finished in ${time_display}" +} + +echo "Map creation : $1 ...." + +land=$1 +id=$2 +type=$3 + +land_lower=$(echo $land | tr '[:upper:]' '[:lower:]') +land_lower=$(echo $land_lower | tr ' ' _ ) +land_without_space=$(echo $land | tr ' ' _ ) +file="$land_lower".osm.pbf +poly="$land_lower".poly +type_upper="$(tr '[:lower:]' '[:upper:]' <<< ${type:0:1})${type:1}" + +cd "carte_$land_lower" + +name="Map${type_upper} ${land} ${d%%}" +mapname="77$id" +mapname_courbes="88$id" +name_file=Map${type_upper}_${land_without_space}_ + + +count=`ls -1 *.osm.gz 2>/dev/null | wc -l` +if [ $count != 0 ];then + rm *.img + echo "Split contour ...." + + java -Xmx16384m -jar ../splitter/splitter.jar --mapid=${mapname_courbes}0000 --max-nodes=1600000 --polygon-file=${poly} --keep-complete=false *.osm.gz + + mv template.args courbes.args + + echo "Creation of the map courbes ...." + java -Xmx16384m -jar ../mkgmap/mkgmap.jar -c ../options_courbes.args -c courbes.args + + rm ${mapname_courbes}*.osm.pbf + rm areas.list + rm areas.poly + rm courbes.args + rm none-areas.poly + rm none-template.args + rm densities-out.txt + rm osmmap.img + rm osmmap.tdb + rm *.osm.gz +fi + + +if [ ! -f "${mapname}.osm.pbf" ]; then + echo "***** Split OSM file ...." + + java -Xmx16384m -jar ../splitter/splitter.jar --mapid=${mapname}0000 --max-nodes=1600000 --keep-complete=true --route-rel-values=foot,hiking,bicycle --overlap=0 ${file} + + mv template.args map.args +fi + + echo "***** Compile Garmin img ...." +java -Xmx16384m -jar ../mkgmap/mkgmap.jar -c ../options_${type}.args -c map.args + +if [ -f "${mapname_courbes}0000.img" ]; then + java -Xmx16384m -jar ../mkgmap/mkgmap.jar --mapname=${mapname}0000 --family-id=${mapname} --description="UtagawaVTTmap (${name})" -c ../options_${type}.args --gmapsupp ../style/${type}.typ ${mapname}*.img ${mapname_courbes}*.img +else + java -Xmx16384m -jar ../mkgmap/mkgmap.jar --mapname=${mapname}0000 --family-id=${mapname} --description="UtagawaVTTmap (${name})" -c ../options_${type}.args --gmapsupp ../style/${type}.typ ${mapname}*.img +fi + + rm ${mapname}*.img + rm ${mapname}*.osm.pbf + rm areas.list + rm areas.poly + rm map.args + rm densities-out.txt + rm osmmap.img + rm osmmap.tdb + + rm -f /var/data/garminmaps/UtagawaVTTmap/${land_without_space}/${name_file}* + +dm=`date "+%Y_%m_%d"` + +mkdir /var/data/garminmaps/UtagawaVTTmap/${land_without_space} + +mv -f gmapsupp.img /var/data/garminmaps/UtagawaVTTmap/${land_without_space}/${name_file}${dm}.img + +time_task + +cd .. \ No newline at end of file diff --git a/download_all_osm.py b/download_all_osm.py new file mode 100644 index 0000000..9b7486d --- /dev/null +++ b/download_all_osm.py @@ -0,0 +1,33 @@ +#!/usr/bin/python +import sys +import os +import subprocess +from scripts_hgt.get_hgt import get_hgt +from scripts_hgt.hgt_to_osm import hgt_to_osm +from get_contours import get_contours +import os, shutil, fnmatch +import subprocess +import time + +country_list=[] + +#File country +file_in = open("country.txt", "rt") + +lines = file_in.readlines() +for line in lines: + result = line.split(";") + country_list.append([result[0],result[1],result[2],result[3]]) + +file_in.close() + +for idx, country in enumerate(country_list): + country_name=country[0] + id=country[1] + style=country[2] + url=country[3] + if(not country_name.startswith('#')): + print("Update "+country_name+ " "+id+" "+style+" "+url) + #Launch script + subprocess.run(["bash", "download_osm.sh",country_name,id,style,url]) + diff --git a/download_osm.sh b/download_osm.sh new file mode 100644 index 0000000..0078eee --- /dev/null +++ b/download_osm.sh @@ -0,0 +1,21 @@ +#!/bin/bash +echo "Download of the map $1 ...." + +land=$1 +id=$2 +type=$3 +url=$4 + +land_lower=$(echo $land | tr '[:upper:]' '[:lower:]') +land_lower=$(echo $land_lower | tr ' ' _ ) +file="$land_lower".osm.pbf +url_poly=${url//-latest.osm.pbf/.poly} +file_poly="$land_lower".poly + +cd "carte_$land_lower" + +curl -L -o $file $url + +curl -L -o $file_poly $url_poly + +cd .. \ No newline at end of file diff --git a/download_require.sh b/download_require.sh new file mode 100644 index 0000000..f1d1341 --- /dev/null +++ b/download_require.sh @@ -0,0 +1,32 @@ +# adjust to latest version (see www.mkgmap.org.uk) +MKGMAP="mkgmap-r4836" +SPLITTER="splitter-r645" + +if [[ $OSTYPE == 'linux'* ]]; then + sudo apt update + sudo apt upgrade + sudo apt install curl + sudo apt install python3-pip + sudo apt install openjdk-13-jre-headless + sudo apt install unzip +fi + +if [ ! -d "mkgmap" ]; then + curl -L -o "mkgmap.zip" "https://www.mkgmap.org.uk/download/${MKGMAP}.zip" + unzip "mkgmap.zip" + rm "mkgmap.zip" + mv ${MKGMAP} mkgmap +fi + +if [ ! -d "splitter" ]; then + curl -L -o "splitter.zip" "https://www.mkgmap.org.uk/download/${SPLITTER}.zip" + unzip "splitter.zip" + rm "splitter.zip" + mv ${SPLITTER} splitter +fi + +if [ ! -f "sea.zip" ]; then + curl -L -o "sea.zip" "http://osm.thkukuk.de/data/sea-latest.zip" +fi + +pip install -r requirements.txt diff --git a/get_contours.py b/get_contours.py new file mode 100644 index 0000000..6ce48dd --- /dev/null +++ b/get_contours.py @@ -0,0 +1,35 @@ +#!/usr/bin/python +import sys +import os +import subprocess +from scripts_hgt.get_hgt import get_hgt +from scripts_hgt.hgt_to_osm import hgt_to_osm +import os, shutil, fnmatch +import subprocess + +def get_contours(country_name, url): + country_name_lower_case = country_name.lower().replace(" ", "_") + + os.makedirs("dem/"+country_name_lower_case, exist_ok=True) + + os.makedirs("carte_"+country_name_lower_case, exist_ok=True) + + #Get poly file + url_poly= url.replace("-latest.osm.pbf",".poly") + + #Get hgt + get_hgt(country_name_lower_case, url_poly) + #Download + if ( os.path.isfile("dem/"+country_name_lower_case+"/hgt_urls.txt")): + subprocess.run(["bash", "scripts_hgt/download_hgt.sh","dem/"+country_name_lower_case+"/hgt_urls.txt"]) + #Transform + hgt_to_osm(country_name_lower_case) + #Move + for f in fnmatch.filter(os.listdir("dem/"+country_name_lower_case+"/"), "*.osm.gz"): + shutil.move(os.path.join("dem/"+country_name_lower_case+"/", f), os.path.join("carte_"+country_name_lower_case+"/", f)) + +if __name__ == '__main__': + country_name=sys.argv[1] + url=sys.argv[2] + get_contours(country_name, url) + diff --git a/mkgmap/LICENCE b/mkgmap/LICENCE new file mode 100644 index 0000000..eeb586b --- /dev/null +++ b/mkgmap/LICENCE @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/mkgmap/README b/mkgmap/README new file mode 100644 index 0000000..6f32b7d --- /dev/null +++ b/mkgmap/README @@ -0,0 +1,87 @@ + +Making maps for Garmin GPS units +================================ + +The goal of the project is to take the map data from +OpenStreetMap +and to generate a map in the Garmin file format so +that it can be loaded onto Garmin GPS units. + +The original motivation was to help plan mapping sessions, +but now the maps are becoming useful in their own right. + +Using +===== + +This program requires Java 1.8 or above to run. + +Producing a map is simple. Save OpenStreetMap data from JOSM +or by any other method to a file and copy it to the mkgmap +directory. In the following examples this file is called data.osm. + +Run the command: + + java -jar mkgmap.jar data.osm + +This will produce a file called 63240001.img. + +You can copy the map to your Garmin GPS unit in any way you know how. +It is best to use a SD card, since then if anything goes wrong you +can remove it from the unit and all should be well again. + +Copy it to the file "Garmin/gmapsupp.img" on the card. +On many modern Garmin devices, you can use a different +name so that you can have more than one set of maps. + +*NOTE* this will overwrite any other map you have on +there, make sure that you are not overwriting a valuable map. + +Another way would be to use a USB memory card writer and +for a large map this is quicker as many GPS's have a slow USB +connection. + +There are also various programs that can send a map to the +device. + +You should (depending on the particular Garmin model) see a OSM +copyright message on starting up, and the map name 'OSM Street map' +should appear in the map setup section. + +For more help see: http://www.mkgmap.org.uk/doc/index.html + + +Invoking mkgmap +-------------- + +Most of the default names mentioned in the previous section can be altered +by suitable options. Run + + java -jar mkgmap.jar --help=options + +to obtain an up to date and complete listing of options. + +Also consider examples/sample.cfg as a starting point for your options package + +Processing more than one file at a time +--------------------------------------- + +The Garmin map format was designed so that a map is made of a number +of tiles, and if your map has more data than can fit into a single +tile, you will have to split the map. + +See: http://www.mkgmap.org.uk/doc/splitter.html for a program that +can do this. + +You can compile all of the map tiles that are created by splitter +all at once, by simply listing them all on the command line. + +Acknowledgements +================ + +This project is almost entirely based on the file format specification +document written by John Mechalas at the SourceForge project at +http://sourceforge.net/projects/garmin-img. The 'imgdecode' program +from the same source was also very important in checking that I was +on the right lines to producing a good file. Thanks. + +Steve diff --git a/mkgmap/doc/README b/mkgmap/doc/README new file mode 100644 index 0000000..49d28a3 --- /dev/null +++ b/mkgmap/doc/README @@ -0,0 +1,12 @@ + + +Documentation +============= + +Most of the documentation is currently on the OSM wiki + + See: http://wiki.openstreetmap.org/wiki/Mkgmap + Also: http://www.mkgmap.org.uk/doc/index.html + +Documentation is gradually being brought back and written +so that there will be a complete reference here. diff --git a/mkgmap/doc/index.txt b/mkgmap/doc/index.txt new file mode 100644 index 0000000..33ae294 --- /dev/null +++ b/mkgmap/doc/index.txt @@ -0,0 +1,60 @@ + +Background +========== +The mkgmap program is distributed in Java archive format compiled for use under +the Java Runtime Environment 8. You will need the Java SE Runtime Environment 8 +installed on your system in order to run mkgmap. + +Garmin maps consist of a series of .img files, with each file containing the data +for one tile of the map. Unless you intend to build a very small map, you will +need to use the accompanying splitter program to split your map into smaller +tiles. The individual tiles can be joined together to produce a single +gmapsupp.img file which contains the whole map and can be copied into the /Garmin +folder of an SD card for use by a GPS device. If you want to create more than one +map for use on your GPS, the gmapsupp.img files can be renamed to be unique, for +example gmapsupp1.img, gmapsupp2.img. + +A typical simple example using both splitter and mkgmap: + +java.exe -Xmx2g -jar splitter.jar england-latest.o5m + + java.exe -jar mkgmap.jar --gmapsupp -c template.args + +The first command splits the Open Street Map data into smaller files with each +file containing the data for one tile of the map. It also produces a file named +template.args that contains the names of all the generated files. + +The second command takes as input all the individual files listed in the +template.args file generated by splitter, produces a .img file for each tile, +then merges all the tiles together into a single gmapsupp.img file. + +Regional extracts of OpenStreetMap data can be obtained from +download.geofabrik.de[1]. +-- +[1] https://download.geofabrik.de/ + +Documentation +============= +The documentation that is currently available on this site is listed below. +Command line options[2] The mkgmap command line options. This is also available +using the command: +-- +[2] /doc/options + +mkgmap --help=options +Style Manual[3] [pdf] This is the complete documentation of the style rules that +determine how the OSM tagged features are converted into Garmin features. +-- +[3] /doc/pdf/style-manual.pdf +TYP Compiler Manual[4] This documents the language that is accepted by the TYP +compiler that is included within mkgmap. +-- +[4] /doc/typ-compiler +Logging[5] Instructions on how to control messages that are logged and to where +they are written. +-- +[5] /doc/logging +Tuning[6] Instructions on how to minimise execution time and avoid running out of +memory. +-- +[6] /doc/tuning diff --git a/mkgmap/doc/logging.txt b/mkgmap/doc/logging.txt new file mode 100644 index 0000000..21dff33 --- /dev/null +++ b/mkgmap/doc/logging.txt @@ -0,0 +1,65 @@ + +Logging +======= +You can configure logging by using the Java -Dlog.config=filename option. This +option uses a logging configuration file that allows you to enable and disable +specific logging messages. This is useful if you want to see certain types of +message that are not logged by default or choose where the messages should be +written. The configuration file contains details of the handler(s) used to write +the messages, parameters used to format the messages and the severity of messages +that should be logged at Java package or class level, plus a default value. An +example file is: + + +# The default level FINE, WARNING, INFO, SEVERE +.level=SEVERE +handlers: java.util.logging.FileHandler java.util.logging.ConsoleHandler +# package or class name with .level appended and then the level +uk.me.parabola.imgfmt.level=INFO +uk.me.parabola.mkgmap.build.level=INFO +uk.me.parabola.mkgmap.main.Main.level=INFO +uk.me.parabola.mkgmap.main.MapMaker.level=INFO +uk.me.parabola.mkgmap.general.RoadNetwork.level=INFO +uk.me.parabola.mkgmap.general.MapLine.level=INFO +uk.me.parabola.mkgmap.osmstyle.level=INFO +uk.me.parabola.mkgmap.reader.osm.level=INFO +uk.me.parabola.mkgmap.reader.osm.xml.level=INFO +uk.me.parabola.mkgmap.reader.osm.RestrictionRelation.level=FINE +uk.me.parabola.mkgmap.reader.osm.Restriction.level=FINE +# For ConsoleHandler +java.util.logging.ConsoleHandler.level=WARNING +java.util.logging.ConsoleHandler.formatter=uk.me.parabola.log.UsefulFormatter +# For FileHandler +java.util.logging.FileHandler.level=FINE +java.util.logging.FileHandler.encoding=UTF-8 +java.util.logging.FileHandler.formatter=uk.me.parabola.log.UsefulFormatter +java.util.logging.FileHandler.limit=20000000 +java.util.logging.FileHandler.count=4 +java.util.logging.FileHandler.pattern=mkgmap.log +java.util.logging.FileHandler.append=false + +The above example enables certain informational messages and uses FileHandler to +send them to a log file, with warning and error messages being also sent to +stderr via ConsoleHandler. + +Mkgmap provides UsefulFormatter to help format messages, but you can use the +standard Java SimpleFormatter if you prefer. + +In addition to the standard Java levels, mkgmap uses three additional levels +DIAGNOSTIC (1100), ECHO (1200) and OVERRIDE (1300) for messages from its +diagnostic options, echo/echotags style compiler actions and to display mkgmap +startup and completion information. You can use the numeric values but not the +names to specify these levels in a logging configuration file. + +Further information can be found at +https://docs.oracle.com/javase/8/docs/technotes/guides/logging/overview.html[1] +-- +[1] https://docs.oracle.com/javase/8/docs/technotes/guides/logging/overview.html + +If you see messages that contain non-ASCII characters which are not displaying +properly in the console, you may need to use the Java -Dfile.encoding= +option and/or precede the mkgmap command line with a chcp command to make sure +that the Java environment has the same code page as the shell it is being run +from. This is especially likely on the Windows platform where the Java +environment uses the Windows default code page, but the Windows command shell +normally uses a different code page. diff --git a/mkgmap/doc/mkgmap.1 b/mkgmap/doc/mkgmap.1 new file mode 100644 index 0000000..0ea0650 --- /dev/null +++ b/mkgmap/doc/mkgmap.1 @@ -0,0 +1,35 @@ +.TH MKGMAP 1 "April 13, 2008" +.\" Please adjust this date whenever revising the manpage. +.SH NAME +mkgmap \- Generate Garmin maps from OpenStreetMap data +.SH SYNOPSIS +.B mkgmap +.RI [ options ] " files.osm " ... +.SH DESCRIPTION +This manual page documents briefly the +.B mkgmap +command. +.PP +\fBmkgmap\fP is a program that converts OpenStreetMap (OSM) data into a map that can be +loaded onto a Garmin GPS device. +The mapping between OSM features and the features in the map can be +completely customized by writing what we term a "style". +.SH OPTIONS +.TP +.B \-\-help +Use this option to get alist of the built in help topics. +In particular calling \-\-help=options will list all the available +options and is always up to date. +.SH ACKNOWLEDGEMENTS +This project is almost entirely based on the file format specification +document written by John Mechalas at the SourceForge project at +http://sourceforge.net/projects/garmin-img. +.SH SEE ALSO +.BR josm (1), +.BR qlandkarte (1). +.SH AUTHOR +mkgmap was originally written by Steve Ratcliffe +and has been improved by many other people since. +.PP +This manual page was written by Andreas Putzo , +for the Debian project (but may be used by others). diff --git a/mkgmap/doc/options.txt b/mkgmap/doc/options.txt new file mode 100644 index 0000000..fa6d154 --- /dev/null +++ b/mkgmap/doc/options.txt @@ -0,0 +1,1115 @@ +=== Command line === + +The command line is of the format: + + java.exe [java-options] -jar mkgmap.jar [mkgmap-options] + +=== Java options === + +Details of the Java options are available at docs.oracle.com. The most likely +options you may need to use are: + +-Xmx[g|G|m|M|k|K] + Use this option to set the maximum Java heap size in GB, MB, KB or bytes. + Mkgmap allows the use of multiple CPU cores, and the amount of heap memory + required increases proportionally with the number of CPU cores being used. + The default value may not be sufficient to allow mkgmap to use all the + available CPU cores, which will cause the run time to be longer than + necessary or can cause mkgmap to crash if it runs out of memory. To allow + mkgmap to run optimally, you may need to use this option to allow more + memory to be allocated to the Java heap. Note there is no space or equals + sign in the option. + +-enableassertions +-ea + Causes an error to be thrown if an assertion written in the mkgmap code is + evaluated as not true. This is useful in detecting bugs in the mkgmap code. + +-Dlog.config=filename + Specifies a logging configuration file that allows you to enable and + disable specific logging messages. This is useful if you want to see + certain types of message that are not logged by default or choose where the + messages should be written. + +=== Mkgmap options === + +The order of the options is significant in that options only apply to +subsequent input files. If you are using splitter, you probably will need to +put most of your options before '-c template.args' (this file is generated by +splitter). + +=== Information options === + +These options provide information and do not require any input files. + +--help[=help|options|links|copyright|logging] + Display help on the given topic. If the topic is omitted then general help + information is displayed, the same as in help=help. + +--version + Write program version to stderr. + +=== File options === + +filename +--input-file=filename + Read input data from the given file. This option (or just a filename) may + be specified more than once. Make sure you set all wanted options before + this. + +--gmapsupp + Create a gmapsupp.img file that can be uploaded to a Garmin or placed in + the /Garmin folder of a microSD card (such as by mounting the device in USB + mass storage mode). It can be used on already compiled img files, or if the + input files are not already compiled then they are compiled first and then + the gmapsupp is created. + +--gmapi + Create a directory in the "gmapi" format required by Mac applications. It + can also be used for Windows programs; copy the complete directory tree + into {user}\AppData\Roaming\Garmin\Maps or \ProgramData\Garmin\Maps and the + map will be available to Garmin PC programs. The directory name is + --family-name with extension .gmap. + +--gmapi-minimal[=] + Special option for map providers to reduce disk writes when updating. Works + like --gmapi but does not write Product data for input files which are + provided as *.img. It is assumed that the content of those files wasn't + changed and thus doesn't need a rewrite. The optional include-pattern is a + regular expression which can be used to specify *.img files for which a + write should be forced. The pattern is used on the full path to the input + file. The global index files and the *.tdb file will still contain all + needed references. + Example usage with pattern: + --gmapi-minimal=.*4711[0-9]{4}\.img + This pattern matches file names between 47110000.img and 47119999.img + and ignores the path. + +-c filename +--read-config=filename + Each line of the named file contains a command option in the form + option=value or option:value. The options are included as arguments of the + executed command as if they had been specified on the command line with one + exception: a relative path given with option input-file is assumed to be + relative to the location of the file. + + Lines beginning with a # character are ignored and can be used as + comments. Any command line option can be specified, however the leading + '--' must be omitted. The short option names with a single '-' cannot be + used, simply use the long name instead. + +--output-dir=directory + Specify the directory in which all output files are written. It defaults to + the current working directory, i.e. the directory the command is executed + from. + +-n name +--mapname=name + Set the name of the map. Garmin maps are identified by an 8 digit number. + The default is 63240001. It is best to use a different name if you are + going to be making a map for others to use so that it is unique and does + not clash with others. + +--description=text + Set the descriptive text for individual tiles and gmapsupp.img. Map tiles + take the most recent --description before the --input-file option that + defines the tile. Because gmapsupp.img is created after all the other tiles + have been processed, gmapsupp.img takes the last --description found in the + command line, regardless of where the --gmapsupp option is placed in the + command line. + + Note that if you use splitter with its --geonames-file option or its own + --description option, the generated template.args file includes + --description values that will apply to individual tiles. In this case it + is not possible to override splitter's description for individual tiles + from the mkgmap command line. Placing the mkgmap --description option after + -c template.args ensures that the value is applied to gmapsupp.img. + + Different GPS devices and PC programs handle descriptions inconsistently. + Some display the description when selecting maps or tiles, others use the + family name. + +--country-name=name + Set the map's country name. The default is "COUNTRY". + +--country-abbr=abbreviation + Set the map's abbreviated country name. The default is "ABC". + +--region-name=name + Set the map's region name. By default, the map has no region name. + +--region-abbr=abbreviation + Set the map's abbreviated region name. By default, the map has no + abbreviated region name. + +=== Label options === + +--code-page=number + Specify which international character set is to be used. Only 8 bit + character sets are supported so you have to specify which code page you + want to use. It is entirely dependent on the device firmware which code + pages are supported. + +--latin1 + This is equivalent to --code-page=1252. + +--unicode + This is equivalent to --code-page=65001. Note that some devices don't + support Unicode maps produced by mkgmap. + +--lower-case + Allow labels to contain lower case letters. Note that many Garmin devices + are not able to display lower case letters at an angle. + +=== Address search options === + +--index + Generate an address index to allow searches by address. The default is to + not create an address index. + + The address fields are assigned by special mkgmap address tags using the + style file: + mkgmap:country + mkgmap:region + mkgmap:city + mkgmap:postal_code + mkgmap:street + mkgmap:housenumber + mkgmap:phone + (mkgmap:is_in - used by --location-autofill=is_in) + + If the index is created from previously compiled .img files, then the same + code page and sorting options (e.g. --code-page, --latin1) must be used as + were used to compile the individual map tiles. + +--split-name-index + Index each part of a street name separately. For example, if the street is + "Aleksandra Gryglewskiego" then you will be able to search for it as both + "Aleksandra" and "Gryglewskiego". It will also increase the size of the + index. Useful in countries where searching for the first word in name is + not the right thing to do. Words following an opening bracket '(' are + ignored. + See also option --road-name-config. + +--road-name-config=filename + Provide the name of a file containing commonly used road name prefixes and + suffixes. This option handles the problem that some countries have road + names which often start or end with very similar words, e.g. in France the + first word is very often 'Rue', often followed by a preposition like 'de + la' or 'des'. This leads to rather long road names like 'Rue de la + Concorde' where only the word 'Concorde' is really interesting. In the USA, + you often have names like 'West Main Street' where only the word 'Main' is + important. Garmin software has some tricks to handle this problem. It + allows the use of special characters in the road labels to mark the + beginning and end of the important part. In combination with option + --split-name-index only the words in the important part are indexed. + + There are two main effects of this option: + - On the PC, when zooming out, the name 'Rue de la Concorde' is only + rendered as 'Concorde'. + - The index for road names only contains the important part of the + name. You can search for road name 'Conc' to find road names like 'Rue + de la Concorde'. However, a search for 'Rue' will not list 'Rue de la + Concorde' or 'Rue du Moulin'. It may list 'Rueben Brookins Road' if + that is in the map. + + Another effect is that the index is smaller. + See comments in the example roadNameConfig.txt for further details. + +--mdr7-excl=name[,name...] + Specify words which should be omitted from the road index. It was developed + before option --road-name-config and is probably no longer needed. Matching + is case insensitive. + Example usage: --mdr7-excl="Road, Street, Weg" + +--mdr7-del=name[,name...] + Use this option if your style adds strings to the labels of roads which you + want to see in the map but which should not appear in the result list of a + road name / address search. When creating the index, words in the given + list are removed from the end of road labels. Any word not found in the + given list is considerered to be a valid label; words before the last valid + label are not removed. If the label consists of a single word in the given + list, or all the words in the label are contained in the given list, then + the label is omitted from the index. The comparison is case insensitive and + words are separated by a space. + Example: Assume your style adds surface attributes like 'pav.' or 'unp.' to + a road label. You can use --mdr7-del="pav.,unp." to remove these suffixes + from the index. + +--poi-excl-index=poi[-poi][,poi[-poi]...] + By default, mkgmap indexes the following POI types with a non-empty label: + - 0x00 .. 0x0f (cities, sub type 0, type <= 0xf) + - 0x2axx..0x30xx (Food & Drink, Lodging, ...) + - 0x28xx (no category ?) + - 0x64xx .. 0x66xx (attractions) + This option allows the exclusion of POI types from the index. The excluded + types are not indexed, but may still be searchable on a device, as some + devices seem to ignore most of the index, e.g. an Oregon 600 with firmware + 5.00 only seems to use it for city search. If your device finds a POI name + like 'Planet' when you search for 'Net', it doesn't use the index because + the index created by mkgmap cannot help for that search. + + So, this option may help when you care about the size of the index or the + memory that is needed to calculate it. The option expects a comma separated + list of types or type ranges. A range is given with from-type-to-type, e.g. + 0x6400-0x6405. First and last type are both excluded. A range can span + multiple types, e.g. 0x6400-0x661f. + Examples for usage: + - Assume your style adds a POI with type 0x2800 for each + addr:housenumber. It is not useful to index those numbers, so you can + use --poi-excl-index=0x2800 to exclude this. + - For the aforementioned Oregon you may use + --poi-excl-index=0x2a00-0x661f to reduce the index size. + +--bounds=directory|zipfile + Specify a directory or zip file containing the pre-processed bounds files. + Bounds files in a zip file must be located in the zip file's root + directory. + + The pre-processed boundaries are used to add special tags to all elements + (points, lines and polygons) containing the elements location information. + The style file can be used to assign the address tags mkgmap:country, + mkgmap:region etc. using these values. + + The following special tags are added: + mkgmap:admin_level2 : Name of the admin_level=2 boundary + mkgmap:admin_level3 : Name of the admin_level=3 boundary + .. + mkgmap:admin_level11 + mkgmap:postcode : the postal_code value + Pre-processed bounds can be created with the following command: + java -cp mkgmap.jar + uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor + + + The input file must contain the boundaries that should be pre-processed. It + can have OSM, PBF or O5M file format. It is recommended that it contains + the boundary data only to avoid very high memory usage. The boundsdir gives + the directory where the processed files are stored. This directory can be + used as --bounds parameter with mkgmap. + +--location-autofill=[option1,[option2]] + Controls how the address fields for country, region, city and zip info are + gathered automatically if the fields are not set by using the special + mkgmap address tags (e.g. mkgmap:city - see option --index). Warning: + automatic assignment of address fields is somehow a best guess. + is_in + The is_in tag is analysed for country and region information. + nearest + The city/hamlet points that are closest to the element are used to + assign the missing address fields. Beware that cities located in the + same tile are used only. So the results close to a tile border have + less quality. + +--housenumbers + Enables house number search for OSM input files. All nodes and polygons + having addr:housenumber set are matched to streets. A match between a house + number element and a street is created if the street is located within a + radius of 150m and the addr:street tag value of the house number element + equals the mgkmap:street tag value of the street. The mkgmap:street tag + must be added to the street in the style file. For optimal results, the + tags mkgmap:city and mkgmap:postal_code should be set for the housenumber + element. If a street connects two or more cities this allows all addresses + along the road to be found, even when they have the same number. + Example for given street name: + Node - addr:street=Main Street addr:housenumber=2 + Way 1 - name=Main Street + Way 2 - name=Main Street, mkgmap:street=Main Street + Way 3 - mkgmap:street=Mainstreet + Way 4 - name=Main Street [A504] + The node matches to Way 2. It has mkgmap:street set with a value equal to + the addr:street tag value of the house number node. + + If the street is not given with addr:housenumber, mkgmap uses heuristics + to find the best match. + + Tells mkgmap to write NET data. If you specify this option, you do not + need to specify --net and option -no-net is ignored. + +=== Overview map options === + +--overview-mapname=name + If --tdbfile is enabled, this gives the name of the overview .img and .tdb + files. The default map name is osmmap. + +--overview-mapnumber=8 digit number + If --tdbfile is enabled, this gives the internal 8 digit number used in the + overview map and tdb file. The default number is 63240000. + +--overview-levels=level:resolution[,level:resolution...] + Like levels, specifies additional levels that are to be written to the + overview map. Counting of the levels should continue. Up to 8 additional + levels may be specified. The hard coded default is empty. + See also option --overview-dem-dist. + +--remove-ovm-work-files + If --overview-levels is used, mkgmap creates one additional file with the + prefix ovm_ for each map (*.img) file. These files are used to create the + overview map. With option --remove-ovm-work-files=true the files are + removed after the overview map is created. The default is to keep the + files. + +=== Style options === + +--style-file=directory|zip-filename|url + Specify the path to a directory, zip file or url containing style + information. A style is composed of a group of files and typically contains + the following files: version, info, options, points, lines, polygons, + relations - see the style manual for further details. + + The style files can be in the specified directory or contained in a + sub-directory. If styles are contained in sub-directories then the required + style must be specified with the --style option. + +--style=name + Specify a style name. Must be used if --style-file points to a location + containing multiple styles. If used without also specifying --style-file, + it selects one of the built-in styles. + +--style-option=tag[=value][;tag[=value]...] + Provide a semicolon separated list of tags which can be used in the style. + The intended use is to make a single style more flexible, e.g. you may want + to use a slightly different set of rules for a map of a whole continent. + The tags given will be prefixed with "mkgmap:option:". If no value is + provided the default "true" is used. + Example: --style-option=light;routing=car + will add the tags mkgmap:option:light=true and mkgmap:option:routing=car to + each element before style processing happens. This can then be used in + rules like: + landuse=farmland & mkgmap:option:light=true {delete landuse} + +--list-styles + List the available styles. If this option is preceded by a --style-file + option then it lists the styles available within that file or folder. + +--check-styles + Perform some checks on the available styles. If this option is preceded by + a --style-file option then it checks the styles available within that file. + If it is also preceded by the --style option it will only check that style. + +--levels=level:resolution[,level:resolution...] + Change the way that the levels on the map correspond to the zoom levels in + the device. See customisation help. The hard coded default is: "0:24, 1:22, + 2:20, 3:18, 4:16", although each style can have its own default. The + default style for example overwrites it with "0:24, 1:22, 2:20, 3:18". Up + to 8 levels may be specified. + +--name-tag-list=tag[,tag...] + Specify the tag that will be used to supply the name. Useful for language + variations. You can supply a list of tags and the first one found will be + used. e.g. --name-tag-list=name:en,int_name,name + +=== Product description options === + +--family-id=integer + This is an integer that identifies a family of products. Range: [1..65535] + Default: 6324 + +--family-name=name + If you build several maps, this option describes the family name of all of + your maps. Garmin will display this in the map selection screen. The + default is "OSM map". + Example: --family-name="OpenStreetmap mkgmap XL 2019" + +--product-id=integer + This is an integer that identifies a product within a family. It is often + just 1, which is the default. + +--product-version=integer + The version of the product. Default value is 100 which means version 1.00. + +--series-name=name + This name will be displayed by Garmin PC programs in the map selection + drop-down. The default is "OSM map". + +--area-name=name + Area name is displayed on Garmin units (or at least on eTrex) as the second + part of the mapname in the list of the individual maps. + +--copyright-message=text + Specify a copyright message for files that do not contain one. + +--copyright-file=filename + Specify copyright messages from a file. Note that the first copyright + message is not displayed on a device, but is shown in BaseCamp. The + copyright file must include at least two lines and be UTF-8 encoded. The + following symbols will be substituted by mkgmap: $MKGMAP_VERSION$, + $JAVA_VERSION$, $YEAR$, $LONGDATE$, $SHORTDATE$ and $TIME$. Time and date + substitutions use the local date and time formats. + +--license-file=filename + Specify a file which content will be added as license. The license file + must be UTF-8 encoded. The following symbols will be substituted by mkgmap: + $MKGMAP_VERSION$, $JAVA_VERSION$, $YEAR$, $LONG_DATE$, $SHORT_DATE$ and + $TIME$. Time and date substitutions use the local date and time formats. + All entries of all maps will be merged in the overview map. + +=== Optimization options === +--improve-overview + Tells mkgmap to use a more complex method to calculate the outlines of + complex multipolygons which are visible in the overview map. This reduces + the size of the overview map and it improves especially complex coastline + areas. + +--reduce-point-density=NUM + Simplifies the ways with the Douglas Peucker algorithm. NUM is the maximal + allowed error distance, by which the resulting way may differ from the + original one. This distance gets shifted with lower zoom levels. (Default + is 2.6, which should lead to invisible changes) See also --simplify-lines + which gives better control. + +--reduce-point-density-polygon=NUM + Allows you to set the maximal allowed error distance for the DP algorithm + to be applied against polygons. See also --simplify-polygons which gives + better control. + +--merge-lines + Try to merge lines. This helps the simplify filter to straighten out longer + chunks at lower zoom levels. Decreases file size more. Increases paint + speed at low zoom levels. Default is enabled, use --no-merge-lines to + disable. + +--allow-reverse-merge + Use this option to allow the reversing of lines and roads to get even + better results from line merging. Reversing is only done when oneway + attribute allows it and the type has no direction. See + --line-types-with-direction for further details. + +--line-types-with-direction=type[,type ...] + Use this option to tell mkgmap which line types should never be reversed. + If your TYP file renders certain line types with a direction even if the + way has no oneway attribute you must list those types here to prevent + reversing. + Example usage: --line-types-with-direction=0x26,0x10005,0x10006 + +--min-size-polygon=NUM + Removes all polygons smaller than NUM from the map. This reduces map size + and speeds up redrawing of maps. Recommended value is 8 to 15, default is + 8. + See also polygon-size-limits. + +--polygon-size-limits=resolution:value[,resolution:value...] + Allows you to specify different min-size-polygon values for each + resolution. Example: + --polygon-size-limits="24:12, 18:10, 16:8, 14:4, 12:2, 11:0" + If a resolution is not given, mkgmap uses the value for the next higher + one. For the given example, resolutions 19 to 24 will use value 12, + resolution 17 and 18 will use 10, and so on. Value 0 means to not apply the + size filter. Note that in resolution 24 the filter is not used. The + following options are equivalent: + --min-size-polygon=12 + --polygon-size-limits=24:12 + --polygon-size-limits=24:0,23:12 + --polygon-size-limits=24:0,23:12,22:12,21:12,16:12 + +--simplify-lines=resolution:value[,resolution:value...] + Use this option to specify different values for the Douglas Peucker + algorithm depending on the resolution when it is applied to lines. It + overwrites the --reduce-point-density value. The syntax is similar to + --polygon-size-limits, but values are given in metres. This distance gets + shifted with lower zoom levels. Example: + --simplify-lines=23:2.6,22:4.2,21:5.4,20:6 + +--simplify-polygons=resolution:value[,resolution:value...] + Use this option to specify different values for the Douglas Peucker + algorithm depending on the resolution when it is applied to polygons. It + overwrites the --reduce-point-density-polygon value. The syntax is similar + to --simplify-lines. + +=== Hill Shading (DEM) options === + + Hill Shading is rendered by BaseCamp and GPS devices when the map includes + a Digital Elevation Model (DEM). Use the following options to add a DEM to + the map and control its characteristics. DEM creation requires files + containing height information for the area covered by the map, the so + called hgt files, which typically cover 1 degree latitude by 1 degree + longitude and are named by the coordinates of their bottom left corner + (e.g. N53E009). They contain height information in a grid of points. + Typical hgt files contain either 1 arc second or 3 arc second data. 3 arc + second files have 1201 x 1201 points, which means files contain 2 x 1201 x + 1201 = 2,884,802 bytes. 1 arc second files have 3601 x 3601 points, with a + file size of 25,934,402 bytes. Other files are supported as long as the + formula sqrt(filesize/2) gives an integer value. + +--dem=path[,path...] + The option expects a comma separated list of paths to directories or zip + files containing *.hgt files. Directories are searched for *.hgt files and + also for *.hgt.zip and *.zip files. + The list is searched in the given order, so if you want to use 1 arc second + files make sure that they are found first. There are different sources for + hgt files, some have so called voids which are areas without data. Those + should be avoided. + +--dem-dists=number[,number...] + If given, the option specifies the resolution(s) for the DEM data. If not + given, mkgmap determines a single value based on the resolution of the hgt + files. For BaseCamp you only need one value; for GPS devices you need one + for each resolution given with the --levels option. The actual values are + the distance between two DEM points and should be a multiple or submultiple + of the distance between two points in the hgt file, that is 3314 for 1 arc + second and 9942 for 3 arc second. Higher distances mean lower resolution + and thus fewer bytes in the map. Reasonable values for the highest + resolution should not be much smaller than 50% hgt resolution, that is + somewhere between 1648 and 5520 for 1 arc second hgt input files (3312 is + often used), and 5520 to 9942 for 3 arc second hgt input files. + Example which should work with levels="0:24, 1:22, 2:20, 3:18": + --dem-dists=3312,13248,26512,53024 + This was found in a Garmin Demo map for transalpin data created 2009. + +--dem-interpolation=auto|bicubic|bilinear + Use this option to specify the method that is used to interpolate data from + hgt raster to the DEM raster. The value bicubic gives the highest precision + but is slower, bilinear is faster but less precise, it tends to smooth the + profile and thus also reduces DEM size compared to bicubic. The value auto + means that bicubic is used where is seems appropriate according to hgt + resolution and dem-dist value, else bilinear is used. The default is auto. + +--dem-poly=filename + If given, the filename should point to a *.poly file in osmosis polygon + file format. The polygon described in the file is used to determine the + area for which DEM data should be added to the map. If not given, the DEM + data will cover the full tile area. + +--overview-dem-dist=integer + If given, the option specifies the resolution(s) for the DEM data in the + overview map. If not given or 0, mkgmap will not add DEM to the overview + map. Reasonable values depend on the size of the area and the lowest + resolution used for the single tiles, good compromises are somewhere + between 55000 and 276160. + +=== Sea Processing options === + +If your map contains sea areas then you will need to use --generate-sea to +generate the sea areas from the OSM files or --precomp-sea to use separate +precompiled sea tiles. + +--generate-sea[=VALUE[,...]] + Generate sea polygons. When this option is specified, the sea is generated + using a multipolygon unless the polygons value is specified. The coastline + data can be read from the input OSM files, separate files containing + coastline data if --coastlinefile is specified or precompiled sea data if + --precomp-sea is specified. The VALUEs are as follows: + multipolygon + generate the sea using a multipolygon. This is the default value. + polygons | no-mp + don't generate the sea using a multipolygon - instead, generate a + background sea polygon plus individual land polygons (see land-tag + value). + land-tag=TAG=VAL + tag to use for land polygons (default natural=land) created by the + polygons option. For these to be visible in the Garmin map, a suitable + land polygon type must be defined in the TYP file (suggested type is + 0x010100 or 0x54), the polygon must have a higher drawing level than + the sea polygon type and the style file must link TAG=VAL to the land + polygon type defined in the TYP file. + no-sea-sectors + disable the generation of "sea sectors" when the coastline fails to + reach the tile's boundary. Under some conditions land sectors are + generated instead and these use land-tag. + extend-sea-sectors + Adds a point so coastline reaches the nearest tile boundary. This + implies no-sea-sectors. + close-gaps=NUM + close gaps in coastline that are less than this distance (metres) + floodblocker + enable the flood blocker that prevents a flooding of land by checking + if the sea polygons contain streets (works only with multipolygon + processing) + fbgap=NUM + flood blocker gap in metre (default 40) points that are closer to the + sea polygon do not block + fbthres=NUM + at least so many highway points must be contained in a sea polygon so + that it may be removed by the flood blocker (default 20) + fbratio=NUM + only sea polygons with a higher ratio (highway points x 100000 / + polygon size) are removed (default 0.5) + fbdebug + switches on the debugging of the flood blocker generates GPX files for + each polygon checked by the flood blocker + check + check whether the coastline data contains sea within sea or land within + land + +--coastlinefile=filename[,filename...] + Defines a comma separated list of OSM or PBF format files that contain + coastline data to be used instead of extracting the data from the input + files. If you specify --coastlinefile you must also specify --generate-sea. + +--precomp-sea=directory|zipfile + Defines the directory or a zip file that contains precompiled sea data. Sea + data in a zip file must be located in the zip file's root directory or in a + sub directory named sea. When this option is defined, natural=coastline + tags from the input OSM files are ignored, the --coastlinefile option is + ignored and the precompiled data is used instead. You can use the + multipolygon, polygon and land-tag values of the --generate-sea option in + conjunction with --precomp-sea to control the way the sea is built, but the + other --generate-sea values are not available. If --generate-sea is not + specified, the --precomp-sea option sets --generate-sea=multipolygon. + +You can download procompiled sea data for the whole world from the mkgmap +download page at http://www.mkgmap.org.uk/download/mkgmap.html + +If you want to build your own precompiled sea data, you will need to build a +copy of mkgmap from the source, with the optional PrecompSeaGenerator source +included. This generator uses ESRI shapefiles as its source data. It is not +included in the standard mkgmap build due to its dependencies on external +libraries. + +=== Diagnostic options === + +Messages produced by the diagnostic options are directed to stderr when no +logging configuration file is in use. When using a logging configuration file, +they are logged with custom level DIAGNOSTIC (1100). + +--report-roundabout-issues[=all|loop|direction|overlap|junctions|flares[,...]] + Report on various types of roundabout issue: + + * all - report on all the types of issue. This is the default if + --report-roundabout-issues is specified without a value. + * loop - check that each roundabout is formed from a single loop with no + forks or gaps + * direction - check the direction of travel around the roundabout, see also + --fix-roundabout-direction + * overlap - check that highways do not overlap the roundabout + * junctions - check that no more than one connecting highway joins at each + node + * flares - check that roundabout flare roads are one-way, are in the right + direction, and don't extend beyond the flare + +--roundabout-flare-rules-config=filename + Provide a configuration file containing the rules to be used with the + --check-roundabouts=flares option in determining whether a pair of roads + joining a roundabout should be considered to be flares. + +--report-routing-islands + Routing islands are small road networks which are not connected to other + roads. A typical case is a footway that is not connected to the main road + network, or a small set of ways on the inner courtyard of a large building. + These islands can cause problems if you try to calculate a route and the + GPS selects a point on the island as a start or end. It will fail to + calculate the route even if a major road is only a few steps away. If this + option is specified, then mkgmap will report these islands. + See also --max-routing-island-len. + +--report-similar-arcs + Issue a warning when more than one arc connects two nodes and the ways that + the arcs are derived from contain identical points. + +--report-dead-ends[=LEVEL] + Set the dead end road warning level. The value of LEVEL determines those + roads to report: + * 0 = none (the default) + * 1 = report on connected one-way roads that go nowhere (default if no + LEVEL specified) + * 2 = also report on individual one-way roads that go nowhere. + +--dead-ends[=key[=value]][,key[=value]...] + Specify a list of keys and optional values that should be considered to be + valid dead ends when found on the node at the end of a way. Ways with nodes + matching any of the items in the list will not be reported as dead ends. If + no value or * is specified for value then presence of the key alone will + cause the dead end check to be skipped. The default is + --dead-ends=fixme,FIXME. + +=== POI options === + +--add-pois-to-lines[=all|start|end|mid|other] + Generate nodes that may be used by the points file to produce POIs at + various positions of non-closed lines. The option expects a comma separated + list that specifies the positions at which a node should be generated. The + default is all. If the inner or all values are used, a lot of points are + likely to be generated and these are likely to need filtering in the points + file. Each node is tagged with the same tags as the line plus mkgmap + generated tags mkgmap:line2poi=true and mkgmap:line2poitype with one of the + following values: + * start - The first point of the line + * end - The last point of the line + * inner - Each point of the line except the first and the last + * mid - An extra point added by mkgmap at the middle of the line + +--add-pois-to-areas + For each polygon and multipolygon, generate a node that may be used by the + points file to produce a POI. The nodes are created after the relation + style but before the other styles are applied. Each node is tagged with the + same tags of the area/multipolygon, plus mkgmap generated tag + mkgmap:area2poi=true. Artificial polygons created by multipolyon processing + are not used. The nodes are created at the following positions: + polygons: the first rule that applies of: + * the first node tagged with a tag defined by the + --pois-to-areas-placement option + * the centre point + multipolygons: the first rule that applies of: + * the node with role=label + * the centre point of the biggest area + +--pois-to-areas-placement=tag=value[;tag=value...] + A node is placed at the first node of the polygon tagged with the first + tag/value pair. If none of the nodes are tagged with the first tag-value + pair the first node tagged with the second tag-value pair is used and so + on. If none of the tag-value pairs matches or no tag-value pairs are + supplied, the centre of the polygon is used. It is possible to define + wildcards for tag values like entrance=*. + + Default: entrance=main;entrance=yes;building=entrance + +--make-poi-index + Generate a POI index in each map tile. Probably not used by modern devices, + but still supported. + +--poi-address + Enable address / phone information to POIs. Address info is read according + to the "Karlsruhe" tagging schema. Automatic filling of missing information + could be enabled using the --location-autofill option. Default is enabled, + use --no-poi-address to disable. + +--nearby-poi-rules=type[-type][/all|named|unnamed]:distance[:delete-poi|delete-name][,...] + Defines a set of rules to follow when a POI is near to another of the same + type and label. Each rule consists of three parts separated by colons. The + first two parts must be provided; the last part can be defaulted. + + The first part of the rule is a Garmin POI type code or range of type + codes, with an optional suffix; it determines when the rule is triggered. A + type code may be specified in decimal or hexadecimal (e.g. 0x2c0b). A rule + is triggered when processing a POI if the type code of the POI matches the + rule type or falls within the range of type codes, providing there is also + a match in the POI name and the first part suffix. If the suffix is '/all' + (the default) then the match is only made on the type. If the suffix is + '/named' then the rule is only triggered if the POI has a name. If the + suffix is '/unnamed' then the rule is only triggered if the POI has no + name. A wildcard of an asterisk character may be used to match any type + code. The wildcard may also be combined with a suffix to allow separate + processing of named and unnamed POIs. + + The second part of the rule is the distance in metres which an already + processed POI must be within for it to be considered to be nearby and hence + trigger the action part of the rule. + + The third part of the rule is the action part and provides two options: + + delete-poi - the POIS are considered to be duplicates and the duplicate + is deleted. This is the default. + delete-name - the POIS are not duplicates, but only a single name needs + to be displayed. + + Wildcard rules are only applied if no other rule is applicable. + + For example: + --nearby-poi-rules=*/named:10,*/unnamed:25,0x2f17-0x2f1f:30 + + This has the following effect: + If no other rule applies, a POI with the same name and type and within 10m + of one already processed will be deleted. + If no other rule applies, a POI having no name and of the same type and + within 25m of one already processed will be deleted. + A POI of any type between 0x2f17 and 0x2f1f that is within 30m of another + POI with the same type will be deleted. + + If you have a lot of rules, the --nearby-poi-rules-config option is likely + to be easier to use. + + Note: a POI that matches another in type, name and exact location is always + considered a duplicate and deleted. + +--nearby-poi-rules-config=filename + Allows you to specify the nearby POI rules as described in the + --nearby-poi-rules option in a configuration file. The format of the rules + is the same as in --nearby-poi-rules, except that each rule is specified on + a separate line, rather than separated by commas. This format makes it + easier to view and maintain the rules when you have a lot of them. If you + just have one or two rules, it is simpler to use the --nearby-poi-rules + option. + +=== Miscellaneous options === + +--max-jobs[=integer] + Specify the number of threads to be used for concurrent processing. + Increasing max-jobs will reduce the execution time, providing sufficient + memory is available and the value is not greater than the number of cores + in the CPU. If no value is specified, the limit is set to the number of CPU + cores. The default is for the limit to be automatically set to a reasonable + value based on the amount of memory allocated to the Java runtime and the + amount used in processing the first tile. + +--keep-going + Don't quit whole application if an exception occurs while processing a map + - continue to process the other maps. + +--block-size=integer + Changes the block size that is used in the generated map. This option is + not usually needed, but sometimes an error message will ask you to try a + value for this option. + +--net + Tells mkgmap to write NET data, which is needed for address search and + routing. Use this option if you want address search, but do not need a map + that supports routing or house number search. + +--route + Tells mkgmap to write NET and NOD data, which are needed in maps that + support routing. If you specify this option, you do not need to specify + --net and --no-net is ignored. + +--add-boundary-nodes-at-admin-boundaries=NUM + This option controls how mkgmap calculates special routing nodes which are + needed by Garmin software to allow routing between different map tiles. + These nodes are written to section 3 and 4 in the NOD file. When a road + crosses the tile boundary (bbox), the road is split at this point and such + a special node is written. This allows routing between one set of tiles + produced by splitter.jar. However, if you create a map from different sets + of tiles, those tiles are likely to overlap. For the overlapping tiles, + none of the entries in NOD3 match and thus routing across tile border + doesn't work when the route is not fully covered by one of the tiles. The + option tells mkgmap to add special nodes wherever a road touches or crosses + an administrative boundary. The NUM parameter specifies a filter for the + admin_level. Boundaries with a higher admin_level value are ignored. The + default value is 2 (country borders). Another reasonable value might be 4. + A value less or equal to 0 tells mkgmap to ignore intersections at + administrative boundaries. + +--drive-on=left|right|detect|detect,left|detect,right + Explicitly specify which side of the road vehicles are expected to drive + on. If the first option is detect, the program tries to find out the proper + flag. If that detection fails, the second value is used (or right if none + is given). With OSM data as input, the detection tries to find out the + country each road is in and compares the number of drive-on-left roads with + the rest. Use the --bounds option to make sure that the detection finds the + correct country. + +--ignore-turn-restrictions + When reading OSM files, ignore any "restriction" relations. + +--ignore-osm-bounds + When reading OSM files, ignore any "bounds" elements. With this option + selected generate-sea sometimes works better, but routing across tiles will + not work. + +--preserve-element-order + Process the map elements (nodes, ways, relations) in the order in which + they appear in the OSM input. Without this option, the order in which the + elements are processed is not defined. + +--cycle-map + Tells mkgmap that the map is for cyclists. This assumes that different + vehicles are different kinds of bicycles, e.g. a way with mkgmap:car=yes + and mkgmap:bicycle=no may be a road that is good for racing bikes, but not + for other cyclists. This allows the optimisation of sharp angles at + junctions of those roads. Don't use with the default style as that is a + general style! + +--nsis + Write a .nsi file that can be used with the Nullsoft Scriptable Install + System (NSIS) to create a Windows Installer for using the map in BaseCamp. + It looks for an installer template and license file template in the + resources and resources\installer folders. Note that it does not use the + license file specified in --license-file. + +--make-opposite-cycleways + Some one-way streets allow bicycle traffic in the reverse direction and + this option makes a way with the same points as the original that allows + bicycle traffic (in both directions). + +--link-pois-to-ways + This option may copy some specific attributes of a POI to a small part of + the way the POI is located on. This can be used to let barriers block a way + or to lower the calculated speed around traffic signals. POIs with the tags + highway=* (e.g. highway=traffic_signals) or barrier=* (e.g. + barrier=cycle_barrier) are supported. The style developer must add at least + one of the access tags (mkgmap:foot, mkgmap:car etc.), mkgmap:road-speed + and/or mkgmap:road-class to the POI. The access tags are ignored if they + have no effect for the way, else a route restriction is added at the POI so + that only allowed vehicles are routed through it. The tags + mkgmap:road-speed and/or mkgmap:road-class are applied to a small part of + the way around the POI, typically to the next junction or a length of ~25m. + The tags are ignored for pedestrian-only ways. + +--process-destination + Splits all motorway_link, trunk_link, primary_link, secondary_link, and + tertiary_link ways tagged with destination into two or three parts where + the second part is additionally tagged with mkgmap:dest_hint=*. The code + checks for the tags destination, destination:lanes, destination:street and + some variants with :forward/:backward like destination:forward or + destination:lanes:backward. If a value for destination is found, the + special tag mkgmap:dest_hint is set to it and the way is split. This + happens before the style rules are processed. This allows to use any + routable Garmin type (except 0x08 and 0x09) for that part so that the + Garmin device tells the name of this part as hint which destination to + follow. + See also --process-exits. + +--process-exits + Usual Garmin devices do not tell the name of the exit on motorways while + routing with mkgmap created maps. This option splits each motorway_link, + trunk_link, primary_link, secondary_link, and tertiary_link way into three + parts. All parts are tagged with the original tags of the link. + Additionally the middle part is tagged with the following tags: + + mkgmap:exit_hint=true + mkgmap:exit_hint_ref= + mkgmap:exit_hint_name= + mkgmap:exit_hint_exit_to= + + Adding a rule checking the mkgmap:exit_hint=true makes it possible to use + any routable Garmin type (except 0x08 and 0x09) for the middle part so that + the Garmin device tells the name of this middle part as hint where to leave + the motorway/trunk. The first part must have type 0x08 or 0x09 so that + Garmin uses the hint. + +--delete-tags-file=filename + Names a file that should contain one or more lines of the form TAG=VALUE or + TAG=*. Blank lines and lines that start with a # or ; are ignored. All + tag/value pairs in the OSM input are compared with these patterns and those + that match are deleted. + +--ignore-fixme-values + Ignore all tags for which the value matches the regular expression pattern + "(?i)fix[ _]?+me". + +--tdbfile + Write files that are essential to running with BaseCamp; a .tdb file and an + overview map. The options --nsis and --gmapi imply --tdbfile. + +--show-profiles=1 + Sets a flag in the tdb file. The meaning depends on the availability of DEM + data (see "Hill Shading (DEM) options"). + Without DEM data the flag enables profile calculation in BaseCamp based on + information from contour lines. + If DEM data is available the profile is calculated with that information + and the flag only changes the status line to show the height when you hover + over an area with valid DEM data. + The default is show-profiles=0. + +--transparent + Make the map transparent, so that if two maps covering the same area are + loaded, you can see through this map to see details from the other map too. + Typically used for maps containing just contour lines. See --draw-priority + as well. + +--draw-priority=integer + When two maps cover the same area and both are enabled in the device, this + option controls the order in which they are drawn in and therefore which + map is on top. Higher priorities are drawn "on top" of lower priorities. + The map drawn on top must be transparent for the one underneath to be seen. + The default value is 25. + +--custom + Write a different TRE header. With this option, mkgmap writes the bytes + 0x170401 instead of the default 0x110301 at offset 43. Useful for marine + maps. + +--hide-gmapsupp-on-pc + Set a bit in the gmapsupp.img that tells PC software that the file is + already installed on the PC and therefore there is no need to read it from + the device. + +--verbose + Makes some operations more verbose. Mostly used with --list-styles. + +--order-by-decreasing-area + Puts area/polygons into the map in decreasing size order, so that smaller + features are rendered over larger ones (assuming the draw order is equal). + The tag mkgmap:drawLevel can be used to override the natural area of a + polygon, so forcing changes to the rendering order. + +--max-routing-island-len=integer + Routing islands are small road networks which are not connected to other + roads. A typical case is a footway that is not connected to the main road + network, or a small set of ways on the inner courtyard of a large building. + These islands can cause problems if you try to calculate a route and the + GPS selects a point on the island as a start or end. It will fail to + calculate the route even if a major road is only a few steps away. If a + positive value is specified, then mkgmap will mark islands with a total + length less than the specified value in metres as not routable. Reasonable + values are 500 or higher. The default is to not to mark any islands as + unroutable. If any of the roads forming the island touches a tile boundary + or a country border the island is ignored, as it may be connected to other + roads in a different tile. + See also options --add-boundary-nodes-at-admin-boundaries and + --report-routing-islands. + This option seems to cause routing problems in BaseCamp. + +--fix-roundabout-direction + Reverse the direction of travel around roundabouts that do not have the + expected direction (clockwise when vehicles drive on the left). See also + --report-roundabout-issues=direction. + +=== Deprecated and Obsolete Options === + +--check-roundabouts + Deprecated; use --report-roundabout-issues and/or + --fix-roundabout-direction instead. Check that roundabouts have the + expected direction (clockwise when vehicles drive on the left). Roundabouts + that are complete loops and have the wrong direction are reversed. Also + checks that the roundabouts do not fork or overlap other roundabouts and + that no more than one connecting highway joins at each node. + +--check-roundabout-flares + Deprecated; use --report-roundabout-issues=flares instead. Check that + roundabout flare roads point in the correct direction, are one-way and + don't extend too far. + +--max-flare-length-ratio=NUM + Deprecated; use --roundabout-flare-rules-config instead. When checking + roundabout flares, ignore roads whose length is greater than NUM (an + integer) times the distance between the nodes on the roundabout that the + flare roads connect to. + +--check-routing-island-len=integer + Deprecated; use --report-routing-islands and --max-routing-island-len + instead. Translated to --report-routing-islands if info level logging is + enabled, plus --max-routing-island-len=integer. + +--drive-on-left +--drive-on-right + Deprecated; use --drive-on instead. The options are translated to + --drive-on=left|right. + +--make-all-cycleways + Deprecated; use --make-opposite-cycleways instead. Former meaning: Turn on + all of the options that make cycleways. + +--charset=name + Obsolete; use --code-page instead. + +--map-features=filename + Obsolete; use --style-file instead. + +--ignore-maxspeeds + Obsolete; former usage: When reading OSM files, ignore any "maxspeed" tags. + +--ignore-builtin-relations + Obsolete; former usage: When reading OSM files, skip the built-in + processing of relations. This speeds up the processing non-routable map + layers that do not contain multipolygons. This implies + --ignore-turn-restrictions. + +--road-name-pois[=GarminCode] + Obsolete; former usage: Generate a POI for each named road. By default, the + POIs' Garmin type code is 0x640a. If desired, a different type code can be + specified with this option. This is a workaround for not being able to + search for roads. 0x2f15: a blue dot in the middle of the road, and if you + select, or 'hover' over it, the street name appears. + +--make-cycleways + Obsolete; former meaning: Some streets have a separate cycleway track/lane + just for bicycle traffic and this option makes a way with the same points + as the original that allows bicycle traffic. Also, bicycle traffic is + prohibited from using the original way (unless that way's bicycle access + has been defined). + +--remove-short-arcs[=MinLength] + Now ignored, former usage: Merge nodes to remove short arcs that can cause + routing problems. If MinLength is specified (in metres), arcs shorter than + that length will be removed. If a length is not specified, only zero-length + arcs will be removed. + +--adjust-turn-headings[=BITMASK] + Now ignored, former usage: Where possible, ensure that turns off to side + roads change heading sufficiently so that the GPS believes that a turn is + required rather than a fork. This also avoids spurious instructions to + "keep right/left" when the road doesn't actually fork. + + Optional BITMASK (default value 3) allows you to specify which adjustments + are to be made (where necessary): + 1 = increase angle between side road and outgoing main road + 2 = increase angle between side road and incoming main road diff --git a/mkgmap/doc/style-manual.pdf b/mkgmap/doc/style-manual.pdf new file mode 100644 index 0000000..4a34af8 Binary files /dev/null and b/mkgmap/doc/style-manual.pdf differ diff --git a/mkgmap/doc/tuning.txt b/mkgmap/doc/tuning.txt new file mode 100644 index 0000000..1b0827c --- /dev/null +++ b/mkgmap/doc/tuning.txt @@ -0,0 +1,42 @@ + +Tuning +====== +Building a map is a resource intensive process that may take several hours to +complete. To minimise execution time and make sure the process does not run out +of memory, it is necessary to tune the process using command line options. + +Mkgmap is designed to allow multi-threaded operation and, providing sufficient +memory is available, will complete in the shortest time if the number of threads +used is the same as the number of CPU cores available. Each input file is +processed in a separate thread with a scheduler determining when a thread is +available for use and which input file is next to be processed. You can specify +the maximum number of threads to be used by mkgmap with the --max-jobs option. If +you do not specify this option, mkgmap will attempt to determine how many threads +it can handle simultaneously by dividing the available heap memory by the amount +of memory used when processing the first input file on the command line. In this +case, it is important to make sure that the first input file is representative of +the other files. If one of your input files is a typ file and you do not specify +--max-jobs in your command line, make sure that the typ file is not the first +input file specified. As typ file compilation uses few resources this would be +likely to lead mkgmap to believe it could run more simultaneous jobs than is +realistic. + +If mkgmap crashes with a message that it is out of memory, or it does not use all +the available cores, you may need to allow it to use more memory. Typically, +mkgmap requires about 500MB of heap memory per thread, so an 8-core processor +might need 4GB memory to be allocated to the Java heap. You can specify the +maximum Java heap size using the -Xmx Java option. Note that this option needs to +be specified before -jar mkgmap.jar, unlike the mkgmap options, which are +specified after. The format is -Xmx[g|G|m|M|k|K] where g, m and k indicate +gigabytes, megabytes and kilobytes respectively, so to specify 4GB use -Xmx4g. +Note that there is no space or equals sign in this option. + +After processing all the input files, any required processes that operate on all +tiles are undertaken. This includes generating a gmapsupp.img file if --gmapsupp +is specified, and creating indexes if --index is specified. If the --gmapsupp and +--index options are both specified along with any of --tdbfile, --gmapi, or +--nsis then two indexes will be created. This is likely to require roughly twice +as much memory. If you run out of memory at this stage, rather than increasing +the amount of memory you may find it beneficial to separate these tasks into +separate commands, with --gmapsupp and --index in one command and --index and +--tdbfile, --gmapi, or --nsis in another. diff --git a/mkgmap/doc/typ-compiler.txt b/mkgmap/doc/typ-compiler.txt new file mode 100644 index 0000000..9b2f106 --- /dev/null +++ b/mkgmap/doc/typ-compiler.txt @@ -0,0 +1,455 @@ + +The mkgmap TYP file compiler +============================ +This document describes the format that is understood by the mkgmap TYP compiler. +It contains everything you need to write a TYP file description that can be +compiled, showing exactly how you can get the different colour effects that are +available. + +The file can be in written in almost any character-set that allows basic ascii +characters and can have Strings for any language that can be encoded in that +character-set. The mkgmap .txt TYP processor looks at the start of the file for a +unicode BOM or a header line of the form: + +; -*- coding: charset -*- + +to determine the encoding, and then will convert those Strings that can be +represented in the target .IMG code-page and ignore the ones that can't. + +It is safest to edit multi-lingual TYP files (eg. resources/mapnik.txt) with a +good text editor; if nessessary, using a graphical editor to manipulate the +icons, then cutting the result back into the TYP .txt file. + +For your own TYP file it might be convenient to use one of the graphical editors +that are available. However, beware that some of these editors don't preserve the +full contents of the file and might change the character representations of the +Strings to those in a different character set/encoding. Also they make +assumptions about the chars used to represent colours in icons and might change +them. + +These produce file formats that differ from each other and have variations to the +specification that is presented here. These variations will be supported as they +are discovered as long as they do not conflict with each other, but are not +listed here for clarity. In particular the files produced by TYPWiz[1] and +TYPViewer[2] are supported. +-- +[1] http://www.pinns.co.uk/osm/ostyp.html +[2] https://sites.google.com/site/sherco40/ + +The [_id] section +================= + +FID=# + The family id. + +ProductCode=# + The product code within a family, usually just left as one. + +CodePage=# + The code page to use for writing the labels. + +Example: + +[_id] +FID=1299 +ProductCode=1 +CodePage=1252 +[end] + +The [_drawOrder] section +======================== +This is a list of polygon types and level numbers. Polygons with a higher level +number are drawn on top of those with a lower one. + +There is only one tag that is valid in this section. + +Type=object_type,level + The object_type is the polygon type such as 0x07 or an extended type such as + 0x10208 + + The level is a number starting at 1. + +Example: + +[_drawOrder] +Type=0x032,1 +Type=0x10101,2 +Type=0x002,3 +Type=0x003,3 +Type=0x007,3 +Type=0x009,3 +Type=0x00c,3 +Type=0x00e,3 +Type=0x010,3 +Type=0x012,3 +Type=0x015,3 +Type=0x01b,3 +... +[end] + +If a polygon type is not listed in this section, then it will not be displayed at +all. If it is then it will be styled according to a definition in a [_polygon] +section later in this file, or in the default Garmin style if these is no such +definition. + +Element sections +================ +The main part of the file consists of descriptions of how elements are to be +displayed so that you can change the colours and style of the displayed elements. + +Each style definition starts with the name of the section in square brackets and +ends with the line "[end]". For example: + +[_polygon] +Type=0x02 +String1=0x04,Residential +String2=0x01,Résidentiel +String3=0x03,Bebouwde kom +ExtendedLabels=Y +FontStyle=NoLabel +Xpm="0 0 2 0" +"! c #DCDCDC" +" c none" +[end] + +[_line] +Type=0x22 +; options to style the line +[end] + +[_point] +Type=0x52 +; options to style the POI +[end] + +You have one of these for each polygon, line of POI you want to change from the +built in Garmin style. + +Common options for element sections +=================================== +These options will work in all the element sections [_point], [_line] and +[_polygon]. + +Type=object_type + The object type number - the kind of element that it is. If the number is + greater than 0xff then it will be treated as a type and subtype combination. + Eg 0x2305 is type 0x23 with subtype 0x5. + +String=#,xxx +String=xxx + Defines a label that will be attached to the element. The (optional) first + part is a language number, the next is the actual string. You can use + String1, String2 for compatibility, but just String will do for the mkgmap + compiler. + String=Parking Lot + String=0x04,Parking + String=0x03,Parkeerplaats + + If the language number isn't specified it defaults to 0x00 which is the + generic language. This string is used if there isn't a definition for the + currently selected language; If there isn't a default the device shows the + first string in the list. The language numbers are defined here[3]. + +FontStyle=xxx + xxx can be one of NoLabel, SmallFont, NormalFont, LargeFont. + +DayCustomColor=#colour + The colour used for the font when the GPS unit is displaying day colours. + +NightCustomColor=#colour + The colour used when the GPS unit is displaying night colours. + +XPM format +========== +The XPM format is a fairly widely used format for small image icons, so you can +read about it elsewhere[4]. You would normally use some tool to create the image +and copy it in, but it is possible to create them by hand. This is a brief +summary of what it all means based on the following example: +-- +[3] https://wiki.openstreetmap.org/wiki/Mkgmap/help/typ_compile#Appendix +[4] http://en.wikipedia.org/wiki/X_PixMap + +Xpm="10 5 3 1" +"r c #ff0000" +"g c #00ff00" +"b c #0000ff" +"rrrrrrrrrr" +"rrrrrrrrrr" +"rbbbbbgggr" +"rbbbrggggr" +"rbbrrrrrrr" +"rrrrrrrrrr" + +Working from the top, the first line consists of four numbers that mean in order: +the pixmap has a width of 10 and a height of 5; there are 3 different colours and +each colour is represented by 1 character. + +There then follows the three lines giving the colours to use. The first +character(s) are a short name for the colour, in this case there is one character +(r, g, b) because the last field in the first line was 1. Next is the letter 'c' +which can be ignored, and the follows the normal RGB representation of the +colour. In this case I have chosen red to be represented by the letter r, g for +green and b for blue, but you can use any characters or colours you choose. A +space is allowed, and it is traditional to use a space for the background colour. + +Then there is the pixmap itself, it is 10 columns wide and 5 lines to match the +width and height values in the first line. If the number of characters +representing each pixel was 2 say, then there would be 10 groups of 2 characters +across. Each letter represents one pixel of the final image, in this example, the +top of the icon would be a red line and in the middle there would be some blue +and green. + +Polygon elements +================ +A [_polygon] section can have any of the common tags. + +It must also contain an Xpm tag. This uses a modified form of the XPM format, see +the XPM section for details about the format that are common between all the +element types. The following notes only refer to how it is used within the +polygon section. + +* A single solid colour, that is the same in day and night displays + Xpm="0 0 1 0" + "a c #778899" + +* One solid colour that is used in the day display mode and another that is used + in the night display mode. + Xpm="0 0 2 0" + "a c #778899" + "b c #223322" + +* A pixmap that has the same solid colours in day and night modes. The pixmap + must be 32x32 and have two colours. + Xpm="32 32 2 1" + "a c #778899" + "b c #223322" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "aaaaaaaaaaaaabbbbbbbaaaaaaaaaaaa" + "aaaaaaaaaaabbbbbbbbbbbaaaaaaaaaa" + ; ... 32 rows in total + +* The pixmap can have a transparent background, in which case the second colour + will be given as 'none' + Xpm="32 32 2 1" + "a c #778899" + "b c none" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "aaaaaaaaaaaaabbbbbbbaaaaaaaaaaaa" + "aaaaaaaaaaabbbbbbbbbbbaaaaaaaaaa" + ; ... 32 rows in total + +* If you want to have different colours for the day and night modes, then use 4 + colours. As before the second and fourth colours can be 'none' to indicate that + the background is transparent for the day and/or night colour respectively. In + the example the night colour has a transparent background and the day version + does not. When you draw the pixmap you only use the day colours, the device + will automatically switch to the alternate colours when in night mode. It is + traditional to use '3' and '4' for the night colour tags in the XPM, but with + mkgmap you can use whatever you like. + Xpm="32 32 4 1" + "a c #778899" + "b c #221133" + "3 c #112233" + "4 c none" + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "aaaaaaaaaaaaabbbbbbbaaaaaaaaaaaa" + "aaaaaaaaaaabbbbbbbbbbbaaaaaaaaaa" + ; ... 32 rows in total + +Line elements +============= +A line section can contain any of the common tags. It can also have the following +additional tags + +LineWidth=# + The line width in pixels. This is the width, excluding borders if there are + any. This is only used if there is not a pixmap. + +BorderWidth=# + The border width. The line will be drawn (on devices that support this) with + a border at each edge of the line. It is only used if there is no pixmap. If + there should not be a border then it can be omitted or set to zero. + +UseOrientation=(Y|N) + If Y then the pixmap is rotated so that is always following the direction of + the road. + LineWidth=2 + BorderWidth=2 + UseOrientation=Y + +As with polygons there is an Xpm tag too and it can specify that solid colours +should be used or that there is a bitmap. + +If there is a bitmap then it is always has a width of 32, its height will be the +width of the line (yes that sound confusing the first time you read it, it just +means that the line is written horizontally in the pixmap). The colours work in +exactly the same way as they do for polygons, so see the examples there for the +different possibilities with day/night and transparent colours. An example with a +pixmap, which shows a line that will have a thickness of 3. + +Xpm="32 3 4 1" +"a c #550088" +". c #889988" +"3 c #889988" +"4 c #889955" +"aaaaaaaaaaaaaaaaaaaaaaaaa....aaa" +"aaaaaa................aaaaaaaaaa" +"aaaaaaaaaaaaaaaaaaaaaaaaa....aaa" + +When there is no pixmap then the LineWidth and BorderWidth options come into +play. The following combinations are recognised by mkgmap. + +* Solid line, no border. Same colour day and night. + LineWidth=2 + Xpm="0 0 1 0" + "a c #989898" + +* Solid line, no border. Different colour for day and night. + LineWidth=2 + Xpm="0 0 2 0" + "a c #989898" + "b c #228844" + +* Solid line, border width 1, same colour day/night. The second colour is the + border colour, the first the main line colour. + LineWidth=2 + BorderWidth=1 + Xpm="0 0 2 0" + "a c #989898" + "b c #345544" + +* Solid line, border of 1, different day/night colours + LineWidth=2 + BorderWidth=1 + Xpm="0 0 4 0" + "a c #989898" + "b c #345544" + "3 c #119811" + "4 c #3499ee" + +Points (POI) +============ +A point can have any of the common tags and in addition can have the following +two tags to specify the icon to be used in day and/or night modes. + +DayXpm + The XPM to be used as the only or when the display is showing day-time + colours. + +NightXpm + This is optional and if given is an alternative XPM to use when showing + night-time colours. It must have the same width and height as the DayXpm, but + everything else about it can be different. + +Only the DayXpm will be explained, the NightXpm is exactly the same, except that +it is constrained to have the same width and height as the DayXpm. + +Unlike lines and polygons which are simple two colour bitmaps, points can have +many colours and partial transparency. There are several colour modes, mkgmap +will automatically determine which you need without having to specify it +separately. Each POI can have different colours, transparency schemes and sizes. + +* Up to 255 solid pixel colours +* Up to 254 solid pixel colours with an additional transparent pixel. +* Up to 255 pixel colours which can each have a different transparency value. +* Up to 16 million different colours, no transparency +* Up to 16 million different colours, one transparent pixel. + +Here are example of the input and the effect that is achieved. + +* A 10x5 icon with 5 solid colours + DayXpm="10 5 5 1" + "a c #112211" + ". c #1e2291" + "/ c #1ef291" + "@ c #1eff91" + "? c #11ff11" + "aaaaaaaaaa" + "a...aa//??" + "aaaaa@@//a" + "aaa.....aa" + "aaaaaaaaaa" + +* A 10x5 icon with 4 solid colours and a transparent pixel + DayXpm="10 5 5 1" + ". c #1e2291" + "/ c #1ef291" + "@ c #1eff91" + "? c #11ff11" + "a c none" + "aaaaaaaaaa" + "a...aa//??" + "aaaaa@@//a" + "aaa.....aa" + "aaaaaaaaaa" + +* Icon 10x5 with variable transparency on each colour. This is represented in the + normal way by adding an extra alpha value to the end of the RGB colour value. + The value 00 is completely transparent and FF is completely opaque. Since the + TYP format only has 15 different levels of transparency, you should restrict to + using the values [11, 22, 33, ... EE, FF]. However you can use any value and it + will be rounded to the nearest supported value. + DayXpm="10 5 5 1" + ". c #1e2291" + "/ c #1ef291" + "@ c #1eff91dd" + "? c #11ff1188" + "a c #00000000" + "aaaaaaaaaa" + "a...aa//??" + "aaaaa@@//a" + "aaa.....aa" + "aaaaaaaaaa" + + the first two colours are completely solid (if the alpha value is omitted it + defaults to FF as usual), the third is slightly transparent, down to the last + which is completely transparent. + An alternate notation is supported where the transparency value is appended to + the line in the form "alpha=13", this is a transparency value that goes from 0 + to 15, with 15 being completely transparent. As such it works the opposite way + to the alpha value of the normal RGBa values in the previous example. The + required conversions are made by mkgmap which ever one you use. +* Image with up to 16 million different colours. By setting the number of colours + in the XPM to zero you can specify a different kind of image, where the colour + for each pixel is specified separately. + +Example + +IconXpm="10 10 0 0" +"#990088" +"#990088" +"#990067" +" ... and so on for 100 different values ..." + + +If you prefer you can place several pixel values on the same line, as long as +there are the correct number altogether. + +IconXpm="10 10 0 0" +"#990088 #990088 #990067" +" ... and so on for 100 different values ..." + +The spaces can be omitted for the most compact representation. It is also +possible to have a transparent pixel with this format, but there is currently not +a way to represent this. + +Icons +===== +An [_icons] section holds a set of images at different resolutions. The images +are intended to be of the same logo or icon at a range of different sizes to suit +different resolution devices. + +Only a few tags are valid in this section. + +* The Type tag is required. It identifies the point type that this image set will + be used for. +* The String tag is also allowed, but it does not take a language code at the + beginning. Therefore there can only be one of them. + +The other tag that can be present is IconXpm. There can be several of these tags, +each one is a different resolution/size. Each one can have a different size, +colour mode, and number of colours. The appropriate version is selected according +the capabilities of the device it is being displayed on. + +The format of the IconXpm tags has the same possibilities as in the _point +sections. diff --git a/mkgmap/examples/RoundaboutFlareRules.config b/mkgmap/examples/RoundaboutFlareRules.config new file mode 100644 index 0000000..6b33b8e --- /dev/null +++ b/mkgmap/examples/RoundaboutFlareRules.config @@ -0,0 +1,12 @@ +# these rules are used to determine whether roads joining a roundabout are to be considered roundabout flares +max-flare-length:200 # maximum length of a flare in metres +max-flare-length-multiple:3 # maximum length of one flare compared to the other +max-flare-to-separation-multiple:7 # maximum length of flare compared to flare separation +flare-separation-override:5 # use this figure as the separation in metres with max-flare-to-separation-multiple if the flare separation is smaller +max-flare-angle:90 # maximum angle between the flares at the point where they meet +max-flare-bearing:90 # maximum angle between the bearings where the flares meet the roundabout +max-entry-angle:145 # maximum angle at the centre of the roundabout between the two flares +discard-both-flares-extend:true # discard flares where both extend beyond the point where they meet +discard-multiple-flares:true # discard flares where there are two flares joined +discard-different-flare-names:true # discard flares where they have different names +discard-different-accesses:true # discard flares where they have different accesses diff --git a/mkgmap/examples/chars/ascii/row02.trans b/mkgmap/examples/chars/ascii/row02.trans new file mode 100644 index 0000000..a7e7af1 --- /dev/null +++ b/mkgmap/examples/chars/ascii/row02.trans @@ -0,0 +1,270 @@ +# This is table for transliterating characters in the range +# from U+0200 to U+02ff +# +# The first column is the unicode character and the second +# column is the transliteration of that character to ascii characters. +# One or more characters can be used, for example for a character æ which +# is a combined a and e you could write 'ae' (without the quotes) as the +# transliteration. +# +# Any line can be deleted and will default to a '?' character + +# Created with the Text::Unidecode module of perl +# + +U+0200 A # Character Ȁ +U+0201 a # Character ȁ +U+0202 A # Character Ȃ +U+0203 a # Character ȃ +U+0204 E # Character Ȅ +U+0205 e # Character ȅ +U+0206 E # Character Ȇ +U+0207 e # Character ȇ +U+0208 I # Character Ȉ +U+0209 i # Character ȉ +U+020a I # Character Ȋ +U+020b i # Character ȋ +U+020c O # Character Ȍ +U+020d o # Character ȍ +U+020e O # Character Ȏ +U+020f o # Character ȏ +U+0210 R # Character Ȑ +U+0211 r # Character ȑ +U+0212 R # Character Ȓ +U+0213 r # Character ȓ +U+0214 U # Character Ȕ +U+0215 u # Character ȕ +U+0216 U # Character Ȗ +U+0217 u # Character ȗ +U+0218 S # Character Ș +U+0219 s # Character ș +U+021a T # Character Ț +U+021b t # Character ț +U+021c Y # Character Ȝ +U+021d y # Character ȝ +U+021e H # Character Ȟ +U+021f h # Character ȟ +U+0220 ? # Character Ƞ +U+0221 ? # Character ȡ +U+0222 OU # Character Ȣ +U+0223 ou # Character ȣ +U+0224 Z # Character Ȥ +U+0225 z # Character ȥ +U+0226 A # Character Ȧ +U+0227 a # Character ȧ +U+0228 E # Character Ȩ +U+0229 e # Character ȩ +U+022a O # Character Ȫ +U+022b o # Character ȫ +U+022c O # Character Ȭ +U+022d o # Character ȭ +U+022e O # Character Ȯ +U+022f o # Character ȯ +U+0230 O # Character Ȱ +U+0231 o # Character ȱ +U+0232 Y # Character Ȳ +U+0233 y # Character ȳ +U+0234 ? # Character ȴ +U+0235 ? # Character ȵ +U+0236 ? # Character ȶ +U+0237 ? # Character ȷ +U+0238 ? # Character ȸ +U+0239 ? # Character ȹ +U+023a ? # Character Ⱥ +U+023b ? # Character Ȼ +U+023c ? # Character ȼ +U+023d ? # Character Ƚ +U+023e ? # Character Ⱦ +U+023f ? # Character ȿ +U+0240 ? # Character ɀ +U+0241 ? # Character Ɂ +U+0242 ? # Character ɂ +U+0243 ? # Character Ƀ +U+0244 ? # Character Ʉ +U+0245 ? # Character Ʌ +U+0246 ? # Character Ɇ +U+0247 ? # Character ɇ +U+0248 ? # Character Ɉ +U+0249 ? # Character ɉ +U+024a ? # Character Ɋ +U+024b ? # Character ɋ +U+024c ? # Character Ɍ +U+024d ? # Character ɍ +U+024e ? # Character Ɏ +U+024f ? # Character ɏ +U+0250 a # Character ɐ +U+0251 a # Character ɑ +U+0252 a # Character ɒ +U+0253 b # Character ɓ +U+0254 o # Character ɔ +U+0255 c # Character ɕ +U+0256 d # Character ɖ +U+0257 d # Character ɗ +U+0258 e # Character ɘ +U+0259 @ # Character ə +U+025a @ # Character ɚ +U+025b e # Character ɛ +U+025c e # Character ɜ +U+025d e # Character ɝ +U+025e e # Character ɞ +U+025f j # Character ɟ +U+0260 g # Character ɠ +U+0261 g # Character ɡ +U+0262 g # Character ɢ +U+0263 g # Character ɣ +U+0264 u # Character ɤ +U+0265 Y # Character ɥ +U+0266 h # Character ɦ +U+0267 h # Character ɧ +U+0268 i # Character ɨ +U+0269 i # Character ɩ +U+026a I # Character ɪ +U+026b l # Character ɫ +U+026c l # Character ɬ +U+026d l # Character ɭ +U+026e lZ # Character ɮ +U+026f W # Character ɯ +U+0270 W # Character ɰ +U+0271 m # Character ɱ +U+0272 n # Character ɲ +U+0273 n # Character ɳ +U+0274 n # Character ɴ +U+0275 o # Character ɵ +U+0276 OE # Character ɶ +U+0277 O # Character ɷ +U+0278 F # Character ɸ +U+0279 R # Character ɹ +U+027a R # Character ɺ +U+027b R # Character ɻ +U+027c R # Character ɼ +U+027d r # Character ɽ +U+027e r # Character ɾ +U+027f R # Character ɿ +U+0280 R # Character ʀ +U+0281 R # Character ʁ +U+0282 s # Character ʂ +U+0283 S # Character ʃ +U+0284 j # Character ʄ +U+0285 S # Character ʅ +U+0286 S # Character ʆ +U+0287 t # Character ʇ +U+0288 t # Character ʈ +U+0289 U # Character ʉ +U+028a U # Character ʊ +U+028b v # Character ʋ +U+028c ^ # Character ʌ +U+028d W # Character ʍ +U+028e Y # Character ʎ +U+028f Y # Character ʏ +U+0290 z # Character ʐ +U+0291 z # Character ʑ +U+0292 Z # Character ʒ +U+0293 Z # Character ʓ +U+0294 ? # Character ʔ +U+0295 ? # Character ʕ +U+0296 ? # Character ʖ +U+0297 C # Character ʗ +U+0298 @ # Character ʘ +U+0299 B # Character ʙ +U+029a E # Character ʚ +U+029b G # Character ʛ +U+029c H # Character ʜ +U+029d j # Character ʝ +U+029e k # Character ʞ +U+029f L # Character ʟ +U+02a0 q # Character ʠ +U+02a1 ? # Character ʡ +U+02a2 ? # Character ʢ +U+02a3 dz # Character ʣ +U+02a4 dZ # Character ʤ +U+02a5 dz # Character ʥ +U+02a6 ts # Character ʦ +U+02a7 tS # Character ʧ +U+02a8 tC # Character ʨ +U+02a9 fN # Character ʩ +U+02aa ls # Character ʪ +U+02ab lz # Character ʫ +U+02ac WW # Character ʬ +U+02ad ]] # Character ʭ +U+02ae ? # Character ʮ +U+02af ? # Character ʯ +U+02b0 k # Character ʰ +U+02b1 h # Character ʱ +U+02b2 j # Character ʲ +U+02b3 r # Character ʳ +U+02b4 r # Character ʴ +U+02b5 r # Character ʵ +U+02b6 r # Character ʶ +U+02b7 w # Character ʷ +U+02b8 y # Character ʸ +U+02b9 ' # Character ʹ +U+02ba " # Character ʺ +U+02bb ` # Character ʻ +U+02bc ' # Character ʼ +U+02bd ` # Character ʽ +U+02be ` # Character ʾ +U+02bf ' # Character ʿ +U+02c0 ? # Character ˀ +U+02c1 ? # Character ˁ +U+02c2 < # Character ˂ +U+02c3 > # Character ˃ +U+02c4 ^ # Character ˄ +U+02c5 V # Character ˅ +U+02c6 ^ # Character ˆ +U+02c7 V # Character ˇ +U+02c8 ' # Character ˈ +U+02c9 - # Character ˉ +U+02ca / # Character ˊ +U+02cb \ # Character ˋ +U+02cc , # Character ˌ +U+02cd _ # Character ˍ +U+02ce \ # Character ˎ +U+02cf / # Character ˏ +U+02d0 : # Character ː +U+02d1 . # Character ˑ +U+02d2 ` # Character ˒ +U+02d3 ' # Character ˓ +U+02d4 ^ # Character ˔ +U+02d5 V # Character ˕ +U+02d6 + # Character ˖ +U+02d7 - # Character ˗ +U+02d8 V # Character ˘ +U+02d9 . # Character ˙ +U+02da @ # Character ˚ +U+02db , # Character ˛ +U+02dc ~ # Character ˜ +U+02dd " # Character ˝ +U+02de R # Character ˞ +U+02df X # Character ˟ +U+02e0 G # Character ˠ +U+02e1 l # Character ˡ +U+02e2 s # Character ˢ +U+02e3 x # Character ˣ +U+02e4 ? # Character ˤ +U+02e5 ? # Character ˥ +U+02e6 ? # Character ˦ +U+02e7 ? # Character ˧ +U+02e8 ? # Character ˨ +U+02e9 ? # Character ˩ +U+02ea ? # Character ˪ +U+02eb ? # Character ˫ +U+02ec V # Character ˬ +U+02ed = # Character ˭ +U+02ee " # Character ˮ +U+02ef ? # Character ˯ +U+02f0 ? # Character ˰ +U+02f1 ? # Character ˱ +U+02f2 ? # Character ˲ +U+02f3 ? # Character ˳ +U+02f4 ? # Character ˴ +U+02f5 ? # Character ˵ +U+02f6 ? # Character ˶ +U+02f7 ? # Character ˷ +U+02f8 ? # Character ˸ +U+02f9 ? # Character ˹ +U+02fa ? # Character ˺ +U+02fb ? # Character ˻ +U+02fc ? # Character ˼ +U+02fd ? # Character ˽ +U+02fe ? # Character ˾ +U+02ff ? # Character ˿ diff --git a/mkgmap/examples/installer/installer_template.nsi b/mkgmap/examples/installer/installer_template.nsi new file mode 100644 index 0000000..f64a1da --- /dev/null +++ b/mkgmap/examples/installer/installer_template.nsi @@ -0,0 +1,139 @@ +; INSERT_DEFINES_HERE + +SetCompressor /SOLID lzma + +; Includes +!include "MUI2.nsh" + +; Installer pages +!define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit +!insertmacro MUI_PAGE_WELCOME +!insertmacro MUI_PAGE_LICENSE "${MAPNAME}_license.txt" +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +; Uninstaller pages +!define MUI_UNPAGE_INSTFILES + +; Language files +!define MUI_LANGDLL_ALLLANGUAGES +!insertmacro MUI_LANGUAGE "English" +!insertmacro MUI_LANGUAGE "French" +!insertmacro MUI_LANGUAGE "Spanish" +!insertmacro MUI_LANGUAGE "German" +!insertmacro MUI_LANGUAGE "Dutch" + + +LangString AlreadyInstalled ${LANG_ENGLISH} "${INSTALLER_NAME} is already installed. $\n$\nClick `OK` to remove the previous version and continue installation or `Cancel` to cancel this upgrade." +LangString AlreadyInstalled ${LANG_FRENCH} "${INSTALLER_NAME} est dj install. $\n$\nAppuyez sur `OK` pour retirer la version prcdente et continuer avec l'installation ou sur `Annuler` pour annuler cette mise jour." +LangString AlreadyInstalled ${LANG_SPANISH} "${INSTALLER_NAME} ya est instalado. $\n$\nPulse `Aceptar` para eliminar la versin anterior y continuar la instalacin o `Cancelar` para cancelar esta actualizacin." +LangString AlreadyInstalled ${LANG_GERMAN} "${INSTALLER_NAME} ist bereits installiert. $\n$\nKlick `OK` um die alte Version zu deinstallieren oder `Abbrechen` um die Installation abzubrechen." +LangString AlreadyInstalled ${LANG_DUTCH} "${INSTALLER_NAME} is reeds geinstalleerd. $\n$\nKlik op `OK` om de oude versie te verwijderen of `Annuleren` om deze update te onderbreken." + +; Reservefiles +!insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog + + +Name "${INSTALLER_DESCRIPTION}" +OutFile "${INSTALLER_NAME}.exe" +InstallDir "${DEFAULT_DIR}" + +Function .onInit + !insertmacro MUI_LANGDLL_DISPLAY +FunctionEnd + +Function myGUIInit + ;Read $INSTDIR from the registry + ClearErrors + ReadRegStr $INSTDIR HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "LOC" + IfErrors +2 + StrCmp $INSTDIR "" 0 +2 + StrCpy $INSTDIR "${DEFAULT_DIR}" + + ; Uninstall before installing (code from http://nsis.sourceforge.net/Auto-uninstall_old_before_installing_new ) + ReadRegStr $R0 HKLM \ + "Software\Microsoft\Windows\CurrentVersion\Uninstall\${REG_KEY}" "UninstallString" + StrCmp $R0 "" done + + IfSilent silent + MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "$(AlreadyInstalled)" IDOK uninst + Abort + + ;Run the uninstaller + uninst: + ClearErrors + ExecWait '"$R0" /S ' ;Do not copy the uninstaller to a temp file + + IfErrors no_remove_uninstaller done + ;You can either use Delete /REBOOTOK in the uninstaller or add some code + ;here to remove the uninstaller. Use a registry key to check + ;whether the user has chosen to uninstall. If you are using an uninstaller + ;components page, make sure all sections are uninstalled. + no_remove_uninstaller: + + Goto done + + silent: + ExecWait '"$R0" /S ' ;Do not copy the uninstaller to a temp file + + done: + +FunctionEnd + +Function un.onInit +!insertmacro MUI_UNGETLANGUAGE +FunctionEnd + +Section "MainSection" SectionMain +; Files to be installed + SetOutPath "$INSTDIR" +; INSERT_ADDED_FILES_HERE + +; Create MapSource registry keys +; INSERT_REGBIN_HERE +!ifdef INDEX + WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "IDX" "$INSTDIR\${MAPNAME}.mdx" + WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "MDR" "$INSTDIR\${MAPNAME}_mdr.img" +!endif +!ifdef TYPNAME + WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "TYP" "$INSTDIR\${TYPNAME}" +!endif + WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "BMAP" "$INSTDIR\${MAPNAME}.img" + WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "LOC" "$INSTDIR" + WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "TDB" "$INSTDIR\${MAPNAME}.tdb" + +; Write uninstaller + WriteUninstaller "$INSTDIR\Uninstall.exe" + +; Create uninstaller registry keys + WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${REG_KEY}" "DisplayName" "$(^Name)" + WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${REG_KEY}" "UninstallString" "$INSTDIR\Uninstall.exe" + WriteRegDWORD HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${REG_KEY}" "NoModify" 1 + +SectionEnd + +Section "Uninstall" +; Files to be uninstalled +; INSERT_REMOVED_FILES_HERE + + RmDir "$INSTDIR" + +; Registry cleanup + DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "ID" +!ifdef INDEX + DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "IDX" + DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "MDR" +!endif +!ifdef TYPNAME + DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "TYP" +!endif + DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "BMAP" + DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "LOC" + DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "TDB" + DeleteRegKey /IfEmpty HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" + DeleteRegKey /IfEmpty HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" + + DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${REG_KEY}" + +SectionEnd diff --git a/mkgmap/examples/installer/license_template.txt b/mkgmap/examples/installer/license_template.txt new file mode 100644 index 0000000..3caa234 --- /dev/null +++ b/mkgmap/examples/installer/license_template.txt @@ -0,0 +1,7 @@ +Map data (c) OpenStreetMap and its contributors +http://www.openstreetmap.org/copyright + +This map data is made available under the Open Database License: +http://opendatacommons.org/licenses/odbl/1.0/. +Any rights in individual contents of the database are licensed under the +Database Contents License: http://opendatacommons.org/licenses/dbcl/1.0/ diff --git a/mkgmap/examples/known-hgt.txt b/mkgmap/examples/known-hgt.txt new file mode 100644 index 0000000..2608408 --- /dev/null +++ b/mkgmap/examples/known-hgt.txt @@ -0,0 +1,26154 @@ +# HGT files (SRTM) are not avalaible for areas in the ocean. +# This is a list of all hgt files +# to compile it use +# java -cp mkgmap.jar uk.me.parabola.mkgmap.reader.hgt.HGTList compile known-hgt.txt +N00E006 +N00E009 +N00E010 +N00E011 +N00E012 +N00E013 +N00E014 +N00E015 +N00E016 +N00E017 +N00E018 +N00E019 +N00E020 +N00E021 +N00E022 +N00E023 +N00E024 +N00E025 +N00E026 +N00E027 +N00E028 +N00E029 +N00E030 +N00E031 +N00E032 +N00E033 +N00E034 +N00E035 +N00E036 +N00E037 +N00E038 +N00E039 +N00E040 +N00E041 +N00E042 +N00E043 +N00E072 +N00E073 +N00E097 +N00E098 +N00E099 +N00E100 +N00E101 +N00E102 +N00E103 +N00E104 +N00E106 +N00E107 +N00E108 +N00E109 +N00E110 +N00E111 +N00E112 +N00E113 +N00E114 +N00E115 +N00E116 +N00E117 +N00E118 +N00E119 +N00E120 +N00E121 +N00E122 +N00E123 +N00E124 +N00E126 +N00E127 +N00E128 +N00E129 +N00E130 +N00E131 +N00E134 +N00E172 +N00E173 +N00W050 +N00W051 +N00W052 +N00W053 +N00W054 +N00W055 +N00W056 +N00W057 +N00W058 +N00W059 +N00W060 +N00W061 +N00W062 +N00W063 +N00W064 +N00W065 +N00W066 +N00W067 +N00W068 +N00W069 +N00W070 +N00W071 +N00W072 +N00W073 +N00W074 +N00W075 +N00W076 +N00W077 +N00W078 +N00W079 +N00W080 +N00W081 +N00W090 +N00W091 +N00W092 +N00W177 +N01E007 +N01E009 +N01E010 +N01E011 +N01E012 +N01E013 +N01E014 +N01E015 +N01E016 +N01E017 +N01E018 +N01E019 +N01E020 +N01E021 +N01E022 +N01E023 +N01E024 +N01E025 +N01E026 +N01E027 +N01E028 +N01E029 +N01E030 +N01E031 +N01E032 +N01E033 +N01E034 +N01E035 +N01E036 +N01E037 +N01E038 +N01E039 +N01E040 +N01E041 +N01E042 +N01E043 +N01E044 +N01E045 +N01E073 +N01E097 +N01E098 +N01E099 +N01E100 +N01E101 +N01E102 +N01E103 +N01E104 +N01E106 +N01E107 +N01E108 +N01E109 +N01E110 +N01E111 +N01E112 +N01E113 +N01E114 +N01E115 +N01E116 +N01E117 +N01E118 +N01E119 +N01E120 +N01E121 +N01E122 +N01E124 +N01E125 +N01E126 +N01E127 +N01E128 +N01E131 +N01E154 +N01E172 +N01E173 +N01W050 +N01W051 +N01W052 +N01W053 +N01W054 +N01W055 +N01W056 +N01W057 +N01W058 +N01W059 +N01W060 +N01W061 +N01W062 +N01W063 +N01W064 +N01W065 +N01W066 +N01W067 +N01W068 +N01W069 +N01W070 +N01W071 +N01W072 +N01W073 +N01W074 +N01W075 +N01W076 +N01W077 +N01W078 +N01W079 +N01W080 +N01W092 +N01W093 +N01W158 +N02E009 +N02E010 +N02E011 +N02E012 +N02E013 +N02E014 +N02E015 +N02E016 +N02E017 +N02E018 +N02E019 +N02E020 +N02E021 +N02E022 +N02E023 +N02E024 +N02E025 +N02E026 +N02E027 +N02E028 +N02E029 +N02E030 +N02E031 +N02E032 +N02E033 +N02E034 +N02E035 +N02E036 +N02E037 +N02E038 +N02E039 +N02E040 +N02E041 +N02E042 +N02E043 +N02E044 +N02E045 +N02E046 +N02E072 +N02E073 +N02E095 +N02E096 +N02E097 +N02E098 +N02E099 +N02E100 +N02E101 +N02E102 +N02E103 +N02E104 +N02E105 +N02E106 +N02E107 +N02E108 +N02E109 +N02E111 +N02E112 +N02E113 +N02E114 +N02E115 +N02E116 +N02E117 +N02E118 +N02E125 +N02E127 +N02E128 +N02E131 +N02E173 +N02W051 +N02W052 +N02W053 +N02W054 +N02W055 +N02W056 +N02W057 +N02W058 +N02W059 +N02W060 +N02W061 +N02W062 +N02W063 +N02W064 +N02W065 +N02W066 +N02W067 +N02W068 +N02W069 +N02W070 +N02W071 +N02W072 +N02W073 +N02W074 +N02W075 +N02W076 +N02W077 +N02W078 +N02W079 +N02W158 +N03E008 +N03E009 +N03E010 +N03E011 +N03E012 +N03E013 +N03E014 +N03E015 +N03E016 +N03E017 +N03E018 +N03E019 +N03E020 +N03E021 +N03E022 +N03E023 +N03E024 +N03E025 +N03E026 +N03E027 +N03E028 +N03E029 +N03E030 +N03E031 +N03E032 +N03E033 +N03E034 +N03E035 +N03E036 +N03E037 +N03E038 +N03E039 +N03E040 +N03E041 +N03E042 +N03E043 +N03E044 +N03E045 +N03E046 +N03E047 +N03E072 +N03E073 +N03E095 +N03E096 +N03E097 +N03E098 +N03E099 +N03E100 +N03E101 +N03E102 +N03E103 +N03E105 +N03E106 +N03E107 +N03E108 +N03E112 +N03E113 +N03E114 +N03E115 +N03E116 +N03E117 +N03E125 +N03E126 +N03E131 +N03E154 +N03E172 +N03E173 +N03W051 +N03W052 +N03W053 +N03W054 +N03W055 +N03W056 +N03W057 +N03W058 +N03W059 +N03W060 +N03W061 +N03W062 +N03W063 +N03W064 +N03W065 +N03W066 +N03W067 +N03W068 +N03W069 +N03W070 +N03W071 +N03W072 +N03W073 +N03W074 +N03W075 +N03W076 +N03W077 +N03W078 +N03W079 +N03W082 +N03W160 +N04E005 +N04E006 +N04E007 +N04E008 +N04E009 +N04E010 +N04E011 +N04E012 +N04E013 +N04E014 +N04E015 +N04E016 +N04E017 +N04E018 +N04E019 +N04E020 +N04E021 +N04E022 +N04E023 +N04E024 +N04E025 +N04E026 +N04E027 +N04E028 +N04E029 +N04E030 +N04E031 +N04E032 +N04E033 +N04E034 +N04E035 +N04E036 +N04E037 +N04E038 +N04E039 +N04E040 +N04E041 +N04E042 +N04E043 +N04E044 +N04E045 +N04E046 +N04E047 +N04E048 +N04E072 +N04E073 +N04E095 +N04E096 +N04E097 +N04E098 +N04E100 +N04E101 +N04E102 +N04E103 +N04E107 +N04E108 +N04E113 +N04E114 +N04E115 +N04E116 +N04E117 +N04E118 +N04E119 +N04E120 +N04E125 +N04E126 +N04E127 +N04E131 +N04E132 +N04E168 +N04W002 +N04W003 +N04W006 +N04W007 +N04W008 +N04W009 +N04W010 +N04W052 +N04W053 +N04W054 +N04W055 +N04W056 +N04W057 +N04W058 +N04W059 +N04W060 +N04W061 +N04W062 +N04W063 +N04W064 +N04W065 +N04W066 +N04W067 +N04W068 +N04W069 +N04W070 +N04W071 +N04W072 +N04W073 +N04W074 +N04W075 +N04W076 +N04W077 +N04W078 +N04W082 +N04W161 +N05E000 +N05E001 +N05E004 +N05E005 +N05E006 +N05E007 +N05E008 +N05E009 +N05E010 +N05E011 +N05E012 +N05E013 +N05E014 +N05E015 +N05E016 +N05E017 +N05E018 +N05E019 +N05E020 +N05E021 +N05E022 +N05E023 +N05E024 +N05E025 +N05E026 +N05E027 +N05E028 +N05E029 +N05E030 +N05E031 +N05E032 +N05E033 +N05E034 +N05E035 +N05E036 +N05E037 +N05E038 +N05E039 +N05E040 +N05E041 +N05E042 +N05E043 +N05E044 +N05E045 +N05E046 +N05E047 +N05E048 +N05E072 +N05E073 +N05E080 +N05E094 +N05E095 +N05E096 +N05E097 +N05E100 +N05E101 +N05E102 +N05E103 +N05E114 +N05E115 +N05E116 +N05E117 +N05E118 +N05E119 +N05E120 +N05E121 +N05E124 +N05E125 +N05E126 +N05E132 +N05E153 +N05E157 +N05E162 +N05E163 +N05E168 +N05E169 +N05E172 +N05W001 +N05W002 +N05W003 +N05W004 +N05W005 +N05W006 +N05W007 +N05W008 +N05W009 +N05W010 +N05W011 +N05W053 +N05W054 +N05W055 +N05W056 +N05W057 +N05W058 +N05W059 +N05W060 +N05W061 +N05W062 +N05W063 +N05W064 +N05W065 +N05W066 +N05W067 +N05W068 +N05W069 +N05W070 +N05W071 +N05W072 +N05W073 +N05W074 +N05W075 +N05W076 +N05W077 +N05W078 +N05W088 +N05W163 +N06E000 +N06E001 +N06E002 +N06E003 +N06E004 +N06E005 +N06E006 +N06E007 +N06E008 +N06E009 +N06E010 +N06E011 +N06E012 +N06E013 +N06E014 +N06E015 +N06E016 +N06E017 +N06E018 +N06E019 +N06E020 +N06E021 +N06E022 +N06E023 +N06E024 +N06E025 +N06E026 +N06E027 +N06E028 +N06E029 +N06E030 +N06E031 +N06E032 +N06E033 +N06E034 +N06E035 +N06E036 +N06E037 +N06E038 +N06E039 +N06E040 +N06E041 +N06E042 +N06E043 +N06E044 +N06E045 +N06E046 +N06E047 +N06E048 +N06E049 +N06E072 +N06E073 +N06E079 +N06E080 +N06E081 +N06E093 +N06E095 +N06E099 +N06E100 +N06E101 +N06E102 +N06E115 +N06E116 +N06E117 +N06E118 +N06E120 +N06E121 +N06E122 +N06E123 +N06E124 +N06E125 +N06E126 +N06E134 +N06E143 +N06E149 +N06E151 +N06E152 +N06E157 +N06E158 +N06E159 +N06E160 +N06E169 +N06E171 +N06E172 +N06W001 +N06W002 +N06W003 +N06W004 +N06W005 +N06W006 +N06W007 +N06W008 +N06W009 +N06W010 +N06W011 +N06W012 +N06W056 +N06W057 +N06W058 +N06W059 +N06W060 +N06W061 +N06W062 +N06W063 +N06W064 +N06W065 +N06W066 +N06W067 +N06W068 +N06W069 +N06W070 +N06W071 +N06W072 +N06W073 +N06W074 +N06W075 +N06W076 +N06W077 +N06W078 +N06W163 +N07E000 +N07E001 +N07E002 +N07E003 +N07E004 +N07E005 +N07E006 +N07E007 +N07E008 +N07E009 +N07E010 +N07E011 +N07E012 +N07E013 +N07E014 +N07E015 +N07E016 +N07E017 +N07E018 +N07E019 +N07E020 +N07E021 +N07E022 +N07E023 +N07E024 +N07E025 +N07E026 +N07E027 +N07E028 +N07E029 +N07E030 +N07E031 +N07E032 +N07E033 +N07E034 +N07E035 +N07E036 +N07E037 +N07E038 +N07E039 +N07E040 +N07E041 +N07E042 +N07E043 +N07E044 +N07E045 +N07E046 +N07E047 +N07E048 +N07E049 +N07E072 +N07E073 +N07E079 +N07E080 +N07E081 +N07E093 +N07E098 +N07E099 +N07E100 +N07E113 +N07E116 +N07E117 +N07E118 +N07E121 +N07E122 +N07E123 +N07E124 +N07E125 +N07E126 +N07E134 +N07E143 +N07E144 +N07E145 +N07E146 +N07E147 +N07E149 +N07E151 +N07E152 +N07E155 +N07E157 +N07E158 +N07E168 +N07E171 +N07W001 +N07W002 +N07W003 +N07W004 +N07W005 +N07W006 +N07W007 +N07W008 +N07W009 +N07W010 +N07W011 +N07W012 +N07W013 +N07W014 +N07W059 +N07W060 +N07W061 +N07W062 +N07W063 +N07W064 +N07W065 +N07W066 +N07W067 +N07W068 +N07W069 +N07W070 +N07W071 +N07W072 +N07W073 +N07W074 +N07W075 +N07W076 +N07W077 +N07W078 +N07W079 +N07W080 +N07W081 +N07W082 +N07W083 +N08E000 +N08E001 +N08E002 +N08E003 +N08E004 +N08E005 +N08E006 +N08E007 +N08E008 +N08E009 +N08E010 +N08E011 +N08E012 +N08E013 +N08E014 +N08E015 +N08E016 +N08E017 +N08E018 +N08E019 +N08E020 +N08E021 +N08E022 +N08E023 +N08E024 +N08E025 +N08E026 +N08E027 +N08E028 +N08E029 +N08E030 +N08E031 +N08E032 +N08E033 +N08E034 +N08E035 +N08E036 +N08E037 +N08E038 +N08E039 +N08E040 +N08E041 +N08E042 +N08E043 +N08E044 +N08E045 +N08E046 +N08E047 +N08E048 +N08E049 +N08E050 +N08E073 +N08E076 +N08E077 +N08E078 +N08E079 +N08E080 +N08E081 +N08E092 +N08E093 +N08E097 +N08E098 +N08E099 +N08E100 +N08E104 +N08E105 +N08E106 +N08E111 +N08E116 +N08E117 +N08E118 +N08E122 +N08E123 +N08E124 +N08E125 +N08E126 +N08E134 +N08E137 +N08E140 +N08E144 +N08E146 +N08E147 +N08E149 +N08E150 +N08E151 +N08E152 +N08E154 +N08E165 +N08E166 +N08E167 +N08E168 +N08E170 +N08E171 +N08W001 +N08W002 +N08W003 +N08W004 +N08W005 +N08W006 +N08W007 +N08W008 +N08W009 +N08W010 +N08W011 +N08W012 +N08W013 +N08W014 +N08W060 +N08W061 +N08W062 +N08W063 +N08W064 +N08W065 +N08W066 +N08W067 +N08W068 +N08W069 +N08W070 +N08W071 +N08W072 +N08W073 +N08W074 +N08W075 +N08W076 +N08W077 +N08W078 +N08W079 +N08W080 +N08W081 +N08W082 +N08W083 +N08W084 +N09E000 +N09E001 +N09E002 +N09E003 +N09E004 +N09E005 +N09E006 +N09E007 +N09E008 +N09E009 +N09E010 +N09E011 +N09E012 +N09E013 +N09E014 +N09E015 +N09E016 +N09E017 +N09E018 +N09E019 +N09E020 +N09E021 +N09E022 +N09E023 +N09E024 +N09E025 +N09E026 +N09E027 +N09E028 +N09E029 +N09E030 +N09E031 +N09E032 +N09E033 +N09E034 +N09E035 +N09E036 +N09E037 +N09E038 +N09E039 +N09E040 +N09E041 +N09E042 +N09E043 +N09E044 +N09E045 +N09E046 +N09E047 +N09E048 +N09E049 +N09E050 +N09E076 +N09E077 +N09E078 +N09E079 +N09E080 +N09E092 +N09E097 +N09E098 +N09E099 +N09E100 +N09E102 +N09E103 +N09E104 +N09E105 +N09E106 +N09E109 +N09E117 +N09E118 +N09E119 +N09E120 +N09E121 +N09E122 +N09E123 +N09E124 +N09E125 +N09E126 +N09E138 +N09E139 +N09E140 +N09E145 +N09E160 +N09E165 +N09E166 +N09E167 +N09E169 +N09E170 +N09W001 +N09W002 +N09W003 +N09W004 +N09W005 +N09W006 +N09W007 +N09W008 +N09W009 +N09W010 +N09W011 +N09W012 +N09W013 +N09W014 +N09W015 +N09W061 +N09W062 +N09W063 +N09W064 +N09W065 +N09W066 +N09W067 +N09W068 +N09W069 +N09W070 +N09W071 +N09W072 +N09W073 +N09W074 +N09W075 +N09W076 +N09W077 +N09W078 +N09W079 +N09W080 +N09W081 +N09W082 +N09W083 +N09W084 +N09W085 +N09W086 +N10E000 +N10E001 +N10E002 +N10E003 +N10E004 +N10E005 +N10E006 +N10E007 +N10E008 +N10E009 +N10E010 +N10E011 +N10E012 +N10E013 +N10E014 +N10E015 +N10E016 +N10E017 +N10E018 +N10E019 +N10E020 +N10E021 +N10E022 +N10E023 +N10E024 +N10E025 +N10E026 +N10E027 +N10E028 +N10E029 +N10E030 +N10E031 +N10E032 +N10E033 +N10E034 +N10E035 +N10E036 +N10E037 +N10E038 +N10E039 +N10E040 +N10E041 +N10E042 +N10E043 +N10E044 +N10E045 +N10E046 +N10E047 +N10E048 +N10E049 +N10E050 +N10E051 +N10E072 +N10E073 +N10E075 +N10E076 +N10E077 +N10E078 +N10E079 +N10E092 +N10E097 +N10E098 +N10E099 +N10E102 +N10E103 +N10E104 +N10E105 +N10E106 +N10E107 +N10E108 +N10E114 +N10E115 +N10E118 +N10E119 +N10E120 +N10E121 +N10E122 +N10E123 +N10E124 +N10E125 +N10E126 +N10E139 +N10E165 +N10E166 +N10E168 +N10E169 +N10E170 +N10W001 +N10W002 +N10W003 +N10W004 +N10W005 +N10W006 +N10W007 +N10W008 +N10W009 +N10W010 +N10W011 +N10W012 +N10W013 +N10W014 +N10W015 +N10W016 +N10W061 +N10W062 +N10W063 +N10W064 +N10W065 +N10W066 +N10W067 +N10W068 +N10W069 +N10W070 +N10W071 +N10W072 +N10W073 +N10W074 +N10W075 +N10W076 +N10W084 +N10W085 +N10W086 +N10W110 +N11E000 +N11E001 +N11E002 +N11E003 +N11E004 +N11E005 +N11E006 +N11E007 +N11E008 +N11E009 +N11E010 +N11E011 +N11E012 +N11E013 +N11E014 +N11E015 +N11E016 +N11E017 +N11E018 +N11E019 +N11E020 +N11E021 +N11E022 +N11E023 +N11E024 +N11E025 +N11E026 +N11E027 +N11E028 +N11E029 +N11E030 +N11E031 +N11E032 +N11E033 +N11E034 +N11E035 +N11E036 +N11E037 +N11E038 +N11E039 +N11E040 +N11E041 +N11E042 +N11E043 +N11E047 +N11E048 +N11E049 +N11E050 +N11E051 +N11E072 +N11E073 +N11E075 +N11E076 +N11E077 +N11E078 +N11E079 +N11E092 +N11E093 +N11E097 +N11E098 +N11E099 +N11E102 +N11E103 +N11E104 +N11E105 +N11E106 +N11E107 +N11E108 +N11E109 +N11E114 +N11E115 +N11E119 +N11E120 +N11E121 +N11E122 +N11E123 +N11E124 +N11E125 +N11E162 +N11E165 +N11E166 +N11E167 +N11E169 +N11W001 +N11W002 +N11W003 +N11W004 +N11W005 +N11W006 +N11W007 +N11W008 +N11W009 +N11W010 +N11W011 +N11W012 +N11W013 +N11W014 +N11W015 +N11W016 +N11W017 +N11W061 +N11W062 +N11W064 +N11W065 +N11W067 +N11W068 +N11W069 +N11W070 +N11W071 +N11W072 +N11W073 +N11W074 +N11W075 +N11W084 +N11W085 +N11W086 +N11W087 +N12E000 +N12E001 +N12E002 +N12E003 +N12E004 +N12E005 +N12E006 +N12E007 +N12E008 +N12E009 +N12E010 +N12E011 +N12E012 +N12E013 +N12E014 +N12E015 +N12E016 +N12E017 +N12E018 +N12E019 +N12E020 +N12E021 +N12E022 +N12E023 +N12E024 +N12E025 +N12E026 +N12E027 +N12E028 +N12E029 +N12E030 +N12E031 +N12E032 +N12E033 +N12E034 +N12E035 +N12E036 +N12E037 +N12E038 +N12E039 +N12E040 +N12E041 +N12E042 +N12E043 +N12E044 +N12E045 +N12E052 +N12E053 +N12E054 +N12E074 +N12E075 +N12E076 +N12E077 +N12E078 +N12E079 +N12E080 +N12E092 +N12E093 +N12E097 +N12E098 +N12E099 +N12E100 +N12E101 +N12E102 +N12E103 +N12E104 +N12E105 +N12E106 +N12E107 +N12E108 +N12E109 +N12E119 +N12E120 +N12E121 +N12E122 +N12E123 +N12E124 +N12E125 +N12E170 +N12W001 +N12W002 +N12W003 +N12W004 +N12W005 +N12W006 +N12W007 +N12W008 +N12W009 +N12W010 +N12W011 +N12W012 +N12W013 +N12W014 +N12W015 +N12W016 +N12W017 +N12W062 +N12W069 +N12W070 +N12W071 +N12W072 +N12W073 +N12W082 +N12W083 +N12W084 +N12W085 +N12W086 +N12W087 +N12W088 +N13E000 +N13E001 +N13E002 +N13E003 +N13E004 +N13E005 +N13E006 +N13E007 +N13E008 +N13E009 +N13E010 +N13E011 +N13E012 +N13E013 +N13E014 +N13E015 +N13E016 +N13E017 +N13E018 +N13E019 +N13E020 +N13E021 +N13E022 +N13E023 +N13E024 +N13E025 +N13E026 +N13E027 +N13E028 +N13E029 +N13E030 +N13E031 +N13E032 +N13E033 +N13E034 +N13E035 +N13E036 +N13E037 +N13E038 +N13E039 +N13E040 +N13E041 +N13E042 +N13E043 +N13E044 +N13E045 +N13E046 +N13E047 +N13E048 +N13E074 +N13E075 +N13E076 +N13E077 +N13E078 +N13E079 +N13E080 +N13E092 +N13E093 +N13E094 +N13E097 +N13E098 +N13E099 +N13E100 +N13E101 +N13E102 +N13E103 +N13E104 +N13E105 +N13E106 +N13E107 +N13E108 +N13E109 +N13E120 +N13E121 +N13E122 +N13E123 +N13E124 +N13E144 +N13W001 +N13W002 +N13W003 +N13W004 +N13W005 +N13W006 +N13W007 +N13W008 +N13W009 +N13W010 +N13W011 +N13W012 +N13W013 +N13W014 +N13W015 +N13W016 +N13W017 +N13W060 +N13W061 +N13W062 +N13W081 +N13W082 +N13W084 +N13W085 +N13W086 +N13W087 +N13W088 +N13W089 +N13W090 +N13W091 +N13W092 +N14E000 +N14E001 +N14E002 +N14E003 +N14E004 +N14E005 +N14E006 +N14E007 +N14E008 +N14E009 +N14E010 +N14E011 +N14E012 +N14E013 +N14E014 +N14E015 +N14E016 +N14E017 +N14E018 +N14E019 +N14E020 +N14E021 +N14E022 +N14E023 +N14E024 +N14E025 +N14E026 +N14E027 +N14E028 +N14E029 +N14E030 +N14E031 +N14E032 +N14E033 +N14E034 +N14E035 +N14E036 +N14E037 +N14E038 +N14E039 +N14E040 +N14E041 +N14E042 +N14E043 +N14E044 +N14E045 +N14E046 +N14E047 +N14E048 +N14E049 +N14E050 +N14E074 +N14E075 +N14E076 +N14E077 +N14E078 +N14E079 +N14E080 +N14E093 +N14E097 +N14E098 +N14E099 +N14E100 +N14E101 +N14E102 +N14E103 +N14E104 +N14E105 +N14E106 +N14E107 +N14E108 +N14E109 +N14E120 +N14E121 +N14E122 +N14E123 +N14E124 +N14E145 +N14E168 +N14E169 +N14W001 +N14W002 +N14W003 +N14W004 +N14W005 +N14W006 +N14W007 +N14W008 +N14W009 +N14W010 +N14W011 +N14W012 +N14W013 +N14W014 +N14W015 +N14W016 +N14W017 +N14W018 +N14W024 +N14W025 +N14W061 +N14W062 +N14W081 +N14W083 +N14W084 +N14W085 +N14W086 +N14W087 +N14W088 +N14W089 +N14W090 +N14W091 +N14W092 +N14W093 +N15E000 +N15E001 +N15E002 +N15E003 +N15E004 +N15E005 +N15E006 +N15E007 +N15E008 +N15E009 +N15E010 +N15E011 +N15E012 +N15E013 +N15E014 +N15E015 +N15E016 +N15E017 +N15E018 +N15E019 +N15E020 +N15E021 +N15E022 +N15E023 +N15E024 +N15E025 +N15E026 +N15E027 +N15E028 +N15E029 +N15E030 +N15E031 +N15E032 +N15E033 +N15E034 +N15E035 +N15E036 +N15E037 +N15E038 +N15E039 +N15E040 +N15E041 +N15E042 +N15E043 +N15E044 +N15E045 +N15E046 +N15E047 +N15E048 +N15E049 +N15E050 +N15E051 +N15E052 +N15E073 +N15E074 +N15E075 +N15E076 +N15E077 +N15E078 +N15E079 +N15E080 +N15E081 +N15E094 +N15E095 +N15E097 +N15E098 +N15E099 +N15E100 +N15E101 +N15E102 +N15E103 +N15E104 +N15E105 +N15E106 +N15E107 +N15E108 +N15E109 +N15E111 +N15E119 +N15E120 +N15E121 +N15E122 +N15E145 +N15W001 +N15W002 +N15W003 +N15W004 +N15W005 +N15W006 +N15W007 +N15W008 +N15W009 +N15W010 +N15W011 +N15W012 +N15W013 +N15W014 +N15W015 +N15W016 +N15W017 +N15W018 +N15W023 +N15W024 +N15W025 +N15W062 +N15W064 +N15W084 +N15W085 +N15W086 +N15W087 +N15W088 +N15W089 +N15W090 +N15W091 +N15W092 +N15W093 +N15W094 +N15W096 +N15W097 +N15W098 +N16E000 +N16E001 +N16E002 +N16E003 +N16E004 +N16E005 +N16E006 +N16E007 +N16E008 +N16E009 +N16E010 +N16E011 +N16E012 +N16E013 +N16E014 +N16E015 +N16E016 +N16E017 +N16E018 +N16E019 +N16E020 +N16E021 +N16E022 +N16E023 +N16E024 +N16E025 +N16E026 +N16E027 +N16E028 +N16E029 +N16E030 +N16E031 +N16E032 +N16E033 +N16E034 +N16E035 +N16E036 +N16E037 +N16E038 +N16E039 +N16E040 +N16E041 +N16E042 +N16E043 +N16E044 +N16E045 +N16E046 +N16E047 +N16E048 +N16E049 +N16E050 +N16E051 +N16E052 +N16E053 +N16E054 +N16E055 +N16E073 +N16E074 +N16E075 +N16E076 +N16E077 +N16E078 +N16E079 +N16E080 +N16E081 +N16E082 +N16E094 +N16E095 +N16E096 +N16E097 +N16E098 +N16E099 +N16E100 +N16E101 +N16E102 +N16E103 +N16E104 +N16E105 +N16E106 +N16E107 +N16E108 +N16E111 +N16E112 +N16E119 +N16E120 +N16E121 +N16E122 +N16E145 +N16E146 +N16W001 +N16W002 +N16W003 +N16W004 +N16W005 +N16W006 +N16W007 +N16W008 +N16W009 +N16W010 +N16W011 +N16W012 +N16W013 +N16W014 +N16W015 +N16W016 +N16W017 +N16W023 +N16W025 +N16W026 +N16W062 +N16W063 +N16W086 +N16W087 +N16W088 +N16W089 +N16W090 +N16W091 +N16W092 +N16W093 +N16W094 +N16W095 +N16W096 +N16W097 +N16W098 +N16W099 +N16W100 +N16W101 +N16W170 +N17E000 +N17E001 +N17E002 +N17E003 +N17E004 +N17E005 +N17E006 +N17E007 +N17E008 +N17E009 +N17E010 +N17E011 +N17E012 +N17E013 +N17E014 +N17E015 +N17E016 +N17E017 +N17E018 +N17E019 +N17E020 +N17E021 +N17E022 +N17E023 +N17E024 +N17E025 +N17E026 +N17E027 +N17E028 +N17E029 +N17E030 +N17E031 +N17E032 +N17E033 +N17E034 +N17E035 +N17E036 +N17E037 +N17E038 +N17E039 +N17E041 +N17E042 +N17E043 +N17E044 +N17E045 +N17E046 +N17E047 +N17E048 +N17E049 +N17E050 +N17E051 +N17E052 +N17E053 +N17E054 +N17E055 +N17E056 +N17E073 +N17E074 +N17E075 +N17E076 +N17E077 +N17E078 +N17E079 +N17E080 +N17E081 +N17E082 +N17E083 +N17E094 +N17E095 +N17E096 +N17E097 +N17E098 +N17E099 +N17E100 +N17E101 +N17E102 +N17E103 +N17E104 +N17E105 +N17E106 +N17E107 +N17E120 +N17E121 +N17E122 +N17E145 +N17W001 +N17W002 +N17W003 +N17W004 +N17W005 +N17W006 +N17W007 +N17W008 +N17W009 +N17W010 +N17W011 +N17W012 +N17W013 +N17W014 +N17W015 +N17W016 +N17W017 +N17W025 +N17W026 +N17W062 +N17W063 +N17W064 +N17W065 +N17W066 +N17W067 +N17W068 +N17W072 +N17W076 +N17W077 +N17W078 +N17W084 +N17W088 +N17W089 +N17W090 +N17W091 +N17W092 +N17W093 +N17W094 +N17W095 +N17W096 +N17W097 +N17W098 +N17W099 +N17W100 +N17W101 +N17W102 +N17W103 +N18E000 +N18E001 +N18E002 +N18E003 +N18E004 +N18E005 +N18E006 +N18E007 +N18E008 +N18E009 +N18E010 +N18E011 +N18E012 +N18E013 +N18E014 +N18E015 +N18E016 +N18E017 +N18E018 +N18E019 +N18E020 +N18E021 +N18E022 +N18E023 +N18E024 +N18E025 +N18E026 +N18E027 +N18E028 +N18E029 +N18E030 +N18E031 +N18E032 +N18E033 +N18E034 +N18E035 +N18E036 +N18E037 +N18E038 +N18E040 +N18E041 +N18E042 +N18E043 +N18E044 +N18E045 +N18E046 +N18E047 +N18E048 +N18E049 +N18E050 +N18E051 +N18E052 +N18E053 +N18E054 +N18E055 +N18E056 +N18E057 +N18E072 +N18E073 +N18E074 +N18E075 +N18E076 +N18E077 +N18E078 +N18E079 +N18E080 +N18E081 +N18E082 +N18E083 +N18E084 +N18E093 +N18E094 +N18E095 +N18E096 +N18E097 +N18E098 +N18E099 +N18E100 +N18E101 +N18E102 +N18E103 +N18E104 +N18E105 +N18E106 +N18E108 +N18E109 +N18E110 +N18E120 +N18E121 +N18E122 +N18E145 +N18W001 +N18W002 +N18W003 +N18W004 +N18W005 +N18W006 +N18W007 +N18W008 +N18W009 +N18W010 +N18W011 +N18W012 +N18W013 +N18W014 +N18W015 +N18W016 +N18W017 +N18W063 +N18W064 +N18W065 +N18W066 +N18W067 +N18W068 +N18W069 +N18W070 +N18W071 +N18W072 +N18W073 +N18W074 +N18W075 +N18W076 +N18W077 +N18W078 +N18W079 +N18W088 +N18W089 +N18W090 +N18W091 +N18W092 +N18W093 +N18W094 +N18W095 +N18W096 +N18W097 +N18W098 +N18W099 +N18W100 +N18W101 +N18W102 +N18W103 +N18W104 +N18W105 +N18W111 +N18W112 +N18W115 +N18W156 +N19E000 +N19E001 +N19E002 +N19E003 +N19E004 +N19E005 +N19E006 +N19E007 +N19E008 +N19E009 +N19E010 +N19E011 +N19E012 +N19E013 +N19E014 +N19E015 +N19E016 +N19E017 +N19E018 +N19E019 +N19E020 +N19E021 +N19E022 +N19E023 +N19E024 +N19E025 +N19E026 +N19E027 +N19E028 +N19E029 +N19E030 +N19E031 +N19E032 +N19E033 +N19E034 +N19E035 +N19E036 +N19E037 +N19E038 +N19E039 +N19E040 +N19E041 +N19E042 +N19E043 +N19E044 +N19E045 +N19E046 +N19E047 +N19E048 +N19E049 +N19E050 +N19E051 +N19E052 +N19E053 +N19E054 +N19E055 +N19E056 +N19E057 +N19E072 +N19E073 +N19E074 +N19E075 +N19E076 +N19E077 +N19E078 +N19E079 +N19E080 +N19E081 +N19E082 +N19E083 +N19E084 +N19E085 +N19E086 +N19E092 +N19E093 +N19E094 +N19E095 +N19E096 +N19E097 +N19E098 +N19E099 +N19E100 +N19E101 +N19E102 +N19E103 +N19E104 +N19E105 +N19E106 +N19E108 +N19E109 +N19E110 +N19E111 +N19E121 +N19E122 +N19E145 +N19E166 +N19W001 +N19W002 +N19W003 +N19W004 +N19W005 +N19W006 +N19W007 +N19W008 +N19W009 +N19W010 +N19W011 +N19W012 +N19W013 +N19W014 +N19W015 +N19W016 +N19W017 +N19W069 +N19W070 +N19W071 +N19W072 +N19W073 +N19W074 +N19W075 +N19W076 +N19W077 +N19W078 +N19W080 +N19W081 +N19W082 +N19W088 +N19W089 +N19W090 +N19W091 +N19W092 +N19W096 +N19W097 +N19W098 +N19W099 +N19W100 +N19W101 +N19W102 +N19W103 +N19W104 +N19W105 +N19W106 +N19W111 +N19W155 +N19W156 +N19W157 +N20E000 +N20E001 +N20E002 +N20E003 +N20E004 +N20E005 +N20E006 +N20E007 +N20E008 +N20E009 +N20E010 +N20E011 +N20E012 +N20E013 +N20E014 +N20E015 +N20E016 +N20E017 +N20E018 +N20E019 +N20E020 +N20E021 +N20E022 +N20E023 +N20E024 +N20E025 +N20E026 +N20E027 +N20E028 +N20E029 +N20E030 +N20E031 +N20E032 +N20E033 +N20E034 +N20E035 +N20E036 +N20E037 +N20E039 +N20E040 +N20E041 +N20E042 +N20E043 +N20E044 +N20E045 +N20E046 +N20E047 +N20E048 +N20E049 +N20E050 +N20E051 +N20E052 +N20E053 +N20E054 +N20E055 +N20E056 +N20E057 +N20E058 +N20E070 +N20E071 +N20E072 +N20E073 +N20E074 +N20E075 +N20E076 +N20E077 +N20E078 +N20E079 +N20E080 +N20E081 +N20E082 +N20E083 +N20E084 +N20E085 +N20E086 +N20E087 +N20E092 +N20E093 +N20E094 +N20E095 +N20E096 +N20E097 +N20E098 +N20E099 +N20E100 +N20E101 +N20E102 +N20E103 +N20E104 +N20E105 +N20E106 +N20E107 +N20E109 +N20E110 +N20E116 +N20E121 +N20E122 +N20E136 +N20E144 +N20E145 +N20W001 +N20W002 +N20W003 +N20W004 +N20W005 +N20W006 +N20W007 +N20W008 +N20W009 +N20W010 +N20W011 +N20W012 +N20W013 +N20W014 +N20W015 +N20W016 +N20W017 +N20W018 +N20W073 +N20W074 +N20W075 +N20W076 +N20W077 +N20W078 +N20W079 +N20W080 +N20W087 +N20W088 +N20W089 +N20W090 +N20W091 +N20W092 +N20W093 +N20W097 +N20W098 +N20W099 +N20W100 +N20W101 +N20W102 +N20W103 +N20W104 +N20W105 +N20W106 +N20W156 +N20W157 +N20W158 +N21E000 +N21E001 +N21E002 +N21E003 +N21E004 +N21E005 +N21E006 +N21E007 +N21E008 +N21E009 +N21E010 +N21E011 +N21E012 +N21E013 +N21E014 +N21E015 +N21E016 +N21E017 +N21E018 +N21E019 +N21E020 +N21E021 +N21E022 +N21E023 +N21E024 +N21E025 +N21E026 +N21E027 +N21E028 +N21E029 +N21E030 +N21E031 +N21E032 +N21E033 +N21E034 +N21E035 +N21E036 +N21E037 +N21E038 +N21E039 +N21E040 +N21E041 +N21E042 +N21E043 +N21E044 +N21E045 +N21E046 +N21E047 +N21E048 +N21E049 +N21E050 +N21E051 +N21E052 +N21E053 +N21E054 +N21E055 +N21E056 +N21E057 +N21E058 +N21E059 +N21E069 +N21E070 +N21E071 +N21E072 +N21E073 +N21E074 +N21E075 +N21E076 +N21E077 +N21E078 +N21E079 +N21E080 +N21E081 +N21E082 +N21E083 +N21E084 +N21E085 +N21E086 +N21E087 +N21E088 +N21E089 +N21E090 +N21E091 +N21E092 +N21E093 +N21E094 +N21E095 +N21E096 +N21E097 +N21E098 +N21E099 +N21E100 +N21E101 +N21E102 +N21E103 +N21E104 +N21E105 +N21E106 +N21E107 +N21E108 +N21E109 +N21E110 +N21E111 +N21E112 +N21E113 +N21E114 +N21E120 +N21E121 +N21W001 +N21W002 +N21W003 +N21W004 +N21W005 +N21W006 +N21W007 +N21W008 +N21W009 +N21W010 +N21W011 +N21W012 +N21W013 +N21W014 +N21W015 +N21W016 +N21W017 +N21W018 +N21W072 +N21W073 +N21W074 +N21W076 +N21W077 +N21W078 +N21W079 +N21W080 +N21W081 +N21W082 +N21W083 +N21W084 +N21W085 +N21W087 +N21W088 +N21W089 +N21W090 +N21W091 +N21W098 +N21W099 +N21W100 +N21W101 +N21W102 +N21W103 +N21W104 +N21W105 +N21W106 +N21W107 +N21W157 +N21W158 +N21W159 +N21W160 +N21W161 +N22E000 +N22E001 +N22E002 +N22E003 +N22E004 +N22E005 +N22E006 +N22E007 +N22E008 +N22E009 +N22E010 +N22E011 +N22E012 +N22E013 +N22E014 +N22E015 +N22E016 +N22E017 +N22E018 +N22E019 +N22E020 +N22E021 +N22E022 +N22E023 +N22E024 +N22E025 +N22E026 +N22E027 +N22E028 +N22E029 +N22E030 +N22E031 +N22E032 +N22E033 +N22E034 +N22E035 +N22E036 +N22E038 +N22E039 +N22E040 +N22E041 +N22E042 +N22E043 +N22E044 +N22E045 +N22E046 +N22E047 +N22E048 +N22E049 +N22E050 +N22E051 +N22E052 +N22E053 +N22E054 +N22E055 +N22E056 +N22E057 +N22E058 +N22E059 +N22E068 +N22E069 +N22E070 +N22E071 +N22E072 +N22E073 +N22E074 +N22E075 +N22E076 +N22E077 +N22E078 +N22E079 +N22E080 +N22E081 +N22E082 +N22E083 +N22E084 +N22E085 +N22E086 +N22E087 +N22E088 +N22E089 +N22E090 +N22E091 +N22E092 +N22E093 +N22E094 +N22E095 +N22E096 +N22E097 +N22E098 +N22E099 +N22E100 +N22E101 +N22E102 +N22E103 +N22E104 +N22E105 +N22E106 +N22E107 +N22E108 +N22E109 +N22E110 +N22E111 +N22E112 +N22E113 +N22E114 +N22E115 +N22E116 +N22E120 +N22E121 +N22W001 +N22W002 +N22W003 +N22W004 +N22W005 +N22W006 +N22W007 +N22W008 +N22W009 +N22W010 +N22W011 +N22W012 +N22W013 +N22W014 +N22W015 +N22W016 +N22W017 +N22W073 +N22W074 +N22W075 +N22W076 +N22W078 +N22W079 +N22W080 +N22W081 +N22W082 +N22W083 +N22W084 +N22W085 +N22W090 +N22W092 +N22W098 +N22W099 +N22W100 +N22W101 +N22W102 +N22W103 +N22W104 +N22W105 +N22W106 +N22W107 +N22W110 +N22W111 +N22W160 +N22W161 +N23E000 +N23E001 +N23E002 +N23E003 +N23E004 +N23E005 +N23E006 +N23E007 +N23E008 +N23E009 +N23E010 +N23E011 +N23E012 +N23E013 +N23E014 +N23E015 +N23E016 +N23E017 +N23E018 +N23E019 +N23E020 +N23E021 +N23E022 +N23E023 +N23E024 +N23E025 +N23E026 +N23E027 +N23E028 +N23E029 +N23E030 +N23E031 +N23E032 +N23E033 +N23E034 +N23E035 +N23E038 +N23E039 +N23E040 +N23E041 +N23E042 +N23E043 +N23E044 +N23E045 +N23E046 +N23E047 +N23E048 +N23E049 +N23E050 +N23E051 +N23E052 +N23E053 +N23E054 +N23E055 +N23E056 +N23E057 +N23E058 +N23E059 +N23E067 +N23E068 +N23E069 +N23E070 +N23E071 +N23E072 +N23E073 +N23E074 +N23E075 +N23E076 +N23E077 +N23E078 +N23E079 +N23E080 +N23E081 +N23E082 +N23E083 +N23E084 +N23E085 +N23E086 +N23E087 +N23E088 +N23E089 +N23E090 +N23E091 +N23E092 +N23E093 +N23E094 +N23E095 +N23E096 +N23E097 +N23E098 +N23E099 +N23E100 +N23E101 +N23E102 +N23E103 +N23E104 +N23E105 +N23E106 +N23E107 +N23E108 +N23E109 +N23E110 +N23E111 +N23E112 +N23E113 +N23E114 +N23E115 +N23E116 +N23E117 +N23E119 +N23E120 +N23E121 +N23W001 +N23W002 +N23W003 +N23W004 +N23W005 +N23W006 +N23W007 +N23W008 +N23W009 +N23W010 +N23W011 +N23W012 +N23W013 +N23W014 +N23W015 +N23W016 +N23W017 +N23W074 +N23W075 +N23W076 +N23W077 +N23W078 +N23W080 +N23W081 +N23W082 +N23W083 +N23W084 +N23W098 +N23W099 +N23W100 +N23W101 +N23W102 +N23W103 +N23W104 +N23W105 +N23W106 +N23W107 +N23W108 +N23W110 +N23W111 +N23W162 +N23W165 +N23W167 +N24E000 +N24E001 +N24E002 +N24E003 +N24E004 +N24E005 +N24E006 +N24E007 +N24E008 +N24E009 +N24E010 +N24E011 +N24E012 +N24E013 +N24E014 +N24E015 +N24E016 +N24E017 +N24E018 +N24E019 +N24E020 +N24E021 +N24E022 +N24E023 +N24E024 +N24E025 +N24E026 +N24E027 +N24E028 +N24E029 +N24E030 +N24E031 +N24E032 +N24E033 +N24E034 +N24E035 +N24E037 +N24E038 +N24E039 +N24E040 +N24E041 +N24E042 +N24E043 +N24E044 +N24E045 +N24E046 +N24E047 +N24E048 +N24E049 +N24E050 +N24E051 +N24E052 +N24E053 +N24E054 +N24E055 +N24E056 +N24E057 +N24E066 +N24E067 +N24E068 +N24E069 +N24E070 +N24E071 +N24E072 +N24E073 +N24E074 +N24E075 +N24E076 +N24E077 +N24E078 +N24E079 +N24E080 +N24E081 +N24E082 +N24E083 +N24E084 +N24E085 +N24E086 +N24E087 +N24E088 +N24E089 +N24E090 +N24E091 +N24E092 +N24E093 +N24E094 +N24E095 +N24E096 +N24E097 +N24E098 +N24E099 +N24E100 +N24E101 +N24E102 +N24E103 +N24E104 +N24E105 +N24E106 +N24E107 +N24E108 +N24E109 +N24E110 +N24E111 +N24E112 +N24E113 +N24E114 +N24E115 +N24E116 +N24E117 +N24E118 +N24E119 +N24E120 +N24E121 +N24E122 +N24E123 +N24E124 +N24E125 +N24E131 +N24E141 +N24E153 +N24W001 +N24W002 +N24W003 +N24W004 +N24W005 +N24W006 +N24W007 +N24W008 +N24W009 +N24W010 +N24W011 +N24W012 +N24W013 +N24W014 +N24W015 +N24W016 +N24W075 +N24W076 +N24W077 +N24W078 +N24W079 +N24W080 +N24W081 +N24W082 +N24W083 +N24W098 +N24W099 +N24W100 +N24W101 +N24W102 +N24W103 +N24W104 +N24W105 +N24W106 +N24W107 +N24W108 +N24W109 +N24W110 +N24W111 +N24W112 +N24W113 +N24W116 +N25E000 +N25E001 +N25E002 +N25E003 +N25E004 +N25E005 +N25E006 +N25E007 +N25E008 +N25E009 +N25E010 +N25E011 +N25E012 +N25E013 +N25E014 +N25E015 +N25E016 +N25E017 +N25E018 +N25E019 +N25E020 +N25E021 +N25E022 +N25E023 +N25E024 +N25E025 +N25E026 +N25E027 +N25E028 +N25E029 +N25E030 +N25E031 +N25E032 +N25E033 +N25E034 +N25E036 +N25E037 +N25E038 +N25E039 +N25E040 +N25E041 +N25E042 +N25E043 +N25E044 +N25E045 +N25E046 +N25E047 +N25E048 +N25E049 +N25E050 +N25E051 +N25E052 +N25E054 +N25E055 +N25E056 +N25E057 +N25E058 +N25E059 +N25E060 +N25E061 +N25E062 +N25E063 +N25E064 +N25E065 +N25E066 +N25E067 +N25E068 +N25E069 +N25E070 +N25E071 +N25E072 +N25E073 +N25E074 +N25E075 +N25E076 +N25E077 +N25E078 +N25E079 +N25E080 +N25E081 +N25E082 +N25E083 +N25E084 +N25E085 +N25E086 +N25E087 +N25E088 +N25E089 +N25E090 +N25E091 +N25E092 +N25E093 +N25E094 +N25E095 +N25E096 +N25E097 +N25E098 +N25E099 +N25E100 +N25E101 +N25E102 +N25E103 +N25E104 +N25E105 +N25E106 +N25E107 +N25E108 +N25E109 +N25E110 +N25E111 +N25E112 +N25E113 +N25E114 +N25E115 +N25E116 +N25E117 +N25E118 +N25E119 +N25E121 +N25E122 +N25E123 +N25E124 +N25E131 +N25E141 +N25W001 +N25W002 +N25W003 +N25W004 +N25W005 +N25W006 +N25W007 +N25W008 +N25W009 +N25W010 +N25W011 +N25W012 +N25W013 +N25W014 +N25W015 +N25W077 +N25W078 +N25W079 +N25W080 +N25W081 +N25W082 +N25W098 +N25W099 +N25W100 +N25W101 +N25W102 +N25W103 +N25W104 +N25W105 +N25W106 +N25W107 +N25W108 +N25W109 +N25W110 +N25W111 +N25W112 +N25W113 +N25W172 +N26E000 +N26E001 +N26E002 +N26E003 +N26E004 +N26E005 +N26E006 +N26E007 +N26E008 +N26E009 +N26E010 +N26E011 +N26E012 +N26E013 +N26E014 +N26E015 +N26E016 +N26E017 +N26E018 +N26E019 +N26E020 +N26E021 +N26E022 +N26E023 +N26E024 +N26E025 +N26E026 +N26E027 +N26E028 +N26E029 +N26E030 +N26E031 +N26E032 +N26E033 +N26E034 +N26E035 +N26E036 +N26E037 +N26E038 +N26E039 +N26E040 +N26E041 +N26E042 +N26E043 +N26E044 +N26E045 +N26E046 +N26E047 +N26E048 +N26E049 +N26E050 +N26E051 +N26E053 +N26E054 +N26E055 +N26E056 +N26E057 +N26E058 +N26E059 +N26E060 +N26E061 +N26E062 +N26E063 +N26E064 +N26E065 +N26E066 +N26E067 +N26E068 +N26E069 +N26E070 +N26E071 +N26E072 +N26E073 +N26E074 +N26E075 +N26E076 +N26E077 +N26E078 +N26E079 +N26E080 +N26E081 +N26E082 +N26E083 +N26E084 +N26E085 +N26E086 +N26E087 +N26E088 +N26E089 +N26E090 +N26E091 +N26E092 +N26E093 +N26E094 +N26E095 +N26E096 +N26E097 +N26E098 +N26E099 +N26E100 +N26E101 +N26E102 +N26E103 +N26E104 +N26E105 +N26E106 +N26E107 +N26E108 +N26E109 +N26E110 +N26E111 +N26E112 +N26E113 +N26E114 +N26E115 +N26E116 +N26E117 +N26E118 +N26E119 +N26E120 +N26E126 +N26E127 +N26E128 +N26E142 +N26W001 +N26W002 +N26W003 +N26W004 +N26W005 +N26W006 +N26W007 +N26W008 +N26W009 +N26W010 +N26W011 +N26W012 +N26W013 +N26W014 +N26W015 +N26W077 +N26W078 +N26W079 +N26W080 +N26W081 +N26W082 +N26W083 +N26W098 +N26W099 +N26W100 +N26W101 +N26W102 +N26W103 +N26W104 +N26W105 +N26W106 +N26W107 +N26W108 +N26W109 +N26W110 +N26W112 +N26W113 +N26W114 +N26W115 +N26W174 +N27E000 +N27E001 +N27E002 +N27E003 +N27E004 +N27E005 +N27E006 +N27E007 +N27E008 +N27E009 +N27E010 +N27E011 +N27E012 +N27E013 +N27E014 +N27E015 +N27E016 +N27E017 +N27E018 +N27E019 +N27E020 +N27E021 +N27E022 +N27E023 +N27E024 +N27E025 +N27E026 +N27E027 +N27E028 +N27E029 +N27E030 +N27E031 +N27E032 +N27E033 +N27E034 +N27E035 +N27E036 +N27E037 +N27E038 +N27E039 +N27E040 +N27E041 +N27E042 +N27E043 +N27E044 +N27E045 +N27E046 +N27E047 +N27E048 +N27E049 +N27E050 +N27E051 +N27E052 +N27E053 +N27E054 +N27E055 +N27E056 +N27E057 +N27E058 +N27E059 +N27E060 +N27E061 +N27E062 +N27E063 +N27E064 +N27E065 +N27E066 +N27E067 +N27E068 +N27E069 +N27E070 +N27E071 +N27E072 +N27E073 +N27E074 +N27E075 +N27E076 +N27E077 +N27E078 +N27E079 +N27E080 +N27E081 +N27E082 +N27E083 +N27E084 +N27E085 +N27E086 +N27E087 +N27E088 +N27E089 +N27E090 +N27E091 +N27E092 +N27E093 +N27E094 +N27E095 +N27E096 +N27E097 +N27E098 +N27E099 +N27E100 +N27E101 +N27E102 +N27E103 +N27E104 +N27E105 +N27E106 +N27E107 +N27E108 +N27E109 +N27E110 +N27E111 +N27E112 +N27E113 +N27E114 +N27E115 +N27E116 +N27E117 +N27E118 +N27E119 +N27E120 +N27E121 +N27E127 +N27E128 +N27E129 +N27E140 +N27E142 +N27W001 +N27W002 +N27W003 +N27W004 +N27W005 +N27W006 +N27W007 +N27W008 +N27W009 +N27W010 +N27W011 +N27W012 +N27W013 +N27W014 +N27W016 +N27W017 +N27W018 +N27W019 +N27W078 +N27W079 +N27W081 +N27W082 +N27W083 +N27W097 +N27W098 +N27W099 +N27W100 +N27W101 +N27W102 +N27W103 +N27W104 +N27W105 +N27W106 +N27W107 +N27W108 +N27W109 +N27W110 +N27W111 +N27W112 +N27W113 +N27W114 +N27W115 +N27W116 +N27W176 +N28E000 +N28E001 +N28E002 +N28E003 +N28E004 +N28E005 +N28E006 +N28E007 +N28E008 +N28E009 +N28E010 +N28E011 +N28E012 +N28E013 +N28E014 +N28E015 +N28E016 +N28E017 +N28E018 +N28E019 +N28E020 +N28E021 +N28E022 +N28E023 +N28E024 +N28E025 +N28E026 +N28E027 +N28E028 +N28E029 +N28E030 +N28E031 +N28E032 +N28E033 +N28E034 +N28E035 +N28E036 +N28E037 +N28E038 +N28E039 +N28E040 +N28E041 +N28E042 +N28E043 +N28E044 +N28E045 +N28E046 +N28E047 +N28E048 +N28E050 +N28E051 +N28E052 +N28E053 +N28E054 +N28E055 +N28E056 +N28E057 +N28E058 +N28E059 +N28E060 +N28E061 +N28E062 +N28E063 +N28E064 +N28E065 +N28E066 +N28E067 +N28E068 +N28E069 +N28E070 +N28E071 +N28E072 +N28E073 +N28E074 +N28E075 +N28E076 +N28E077 +N28E078 +N28E079 +N28E080 +N28E081 +N28E082 +N28E083 +N28E084 +N28E085 +N28E086 +N28E087 +N28E088 +N28E089 +N28E090 +N28E091 +N28E092 +N28E093 +N28E094 +N28E095 +N28E096 +N28E097 +N28E098 +N28E099 +N28E100 +N28E101 +N28E102 +N28E103 +N28E104 +N28E105 +N28E106 +N28E107 +N28E108 +N28E109 +N28E110 +N28E111 +N28E112 +N28E113 +N28E114 +N28E115 +N28E116 +N28E117 +N28E118 +N28E119 +N28E120 +N28E121 +N28E122 +N28E128 +N28E129 +N28E130 +N28W001 +N28W002 +N28W003 +N28W004 +N28W005 +N28W006 +N28W007 +N28W008 +N28W009 +N28W010 +N28W011 +N28W012 +N28W013 +N28W014 +N28W015 +N28W016 +N28W017 +N28W018 +N28W019 +N28W081 +N28W082 +N28W083 +N28W090 +N28W096 +N28W097 +N28W098 +N28W099 +N28W100 +N28W101 +N28W102 +N28W103 +N28W104 +N28W105 +N28W106 +N28W107 +N28W108 +N28W109 +N28W110 +N28W111 +N28W112 +N28W113 +N28W114 +N28W115 +N28W116 +N28W119 +N28W178 +N28W179 +N29E000 +N29E001 +N29E002 +N29E003 +N29E004 +N29E005 +N29E006 +N29E007 +N29E008 +N29E009 +N29E010 +N29E011 +N29E012 +N29E013 +N29E014 +N29E015 +N29E016 +N29E017 +N29E018 +N29E019 +N29E020 +N29E021 +N29E022 +N29E023 +N29E024 +N29E025 +N29E026 +N29E027 +N29E028 +N29E029 +N29E030 +N29E031 +N29E032 +N29E033 +N29E034 +N29E035 +N29E036 +N29E037 +N29E038 +N29E039 +N29E040 +N29E041 +N29E042 +N29E043 +N29E044 +N29E045 +N29E046 +N29E047 +N29E048 +N29E049 +N29E050 +N29E051 +N29E052 +N29E053 +N29E054 +N29E055 +N29E056 +N29E057 +N29E058 +N29E059 +N29E060 +N29E061 +N29E062 +N29E063 +N29E064 +N29E065 +N29E066 +N29E067 +N29E068 +N29E069 +N29E070 +N29E071 +N29E072 +N29E073 +N29E074 +N29E075 +N29E076 +N29E077 +N29E078 +N29E079 +N29E080 +N29E081 +N29E082 +N29E083 +N29E084 +N29E085 +N29E086 +N29E087 +N29E088 +N29E089 +N29E090 +N29E091 +N29E092 +N29E093 +N29E094 +N29E095 +N29E096 +N29E097 +N29E098 +N29E099 +N29E100 +N29E101 +N29E102 +N29E103 +N29E104 +N29E105 +N29E106 +N29E107 +N29E108 +N29E109 +N29E110 +N29E111 +N29E112 +N29E113 +N29E114 +N29E115 +N29E116 +N29E117 +N29E118 +N29E119 +N29E120 +N29E121 +N29E122 +N29E129 +N29E140 +N29W001 +N29W002 +N29W003 +N29W004 +N29W005 +N29W006 +N29W007 +N29W008 +N29W009 +N29W010 +N29W011 +N29W014 +N29W081 +N29W082 +N29W083 +N29W084 +N29W085 +N29W086 +N29W089 +N29W090 +N29W091 +N29W092 +N29W093 +N29W094 +N29W095 +N29W096 +N29W097 +N29W098 +N29W099 +N29W100 +N29W101 +N29W102 +N29W103 +N29W104 +N29W105 +N29W106 +N29W107 +N29W108 +N29W109 +N29W110 +N29W111 +N29W112 +N29W113 +N29W114 +N29W115 +N29W116 +N29W119 +N30E000 +N30E001 +N30E002 +N30E003 +N30E004 +N30E005 +N30E006 +N30E007 +N30E008 +N30E009 +N30E010 +N30E011 +N30E012 +N30E013 +N30E014 +N30E015 +N30E016 +N30E017 +N30E018 +N30E019 +N30E020 +N30E021 +N30E022 +N30E023 +N30E024 +N30E025 +N30E026 +N30E027 +N30E028 +N30E029 +N30E030 +N30E031 +N30E032 +N30E033 +N30E034 +N30E035 +N30E036 +N30E037 +N30E038 +N30E039 +N30E040 +N30E041 +N30E042 +N30E043 +N30E044 +N30E045 +N30E046 +N30E047 +N30E048 +N30E049 +N30E050 +N30E051 +N30E052 +N30E053 +N30E054 +N30E055 +N30E056 +N30E057 +N30E058 +N30E059 +N30E060 +N30E061 +N30E062 +N30E063 +N30E064 +N30E065 +N30E066 +N30E067 +N30E068 +N30E069 +N30E070 +N30E071 +N30E072 +N30E073 +N30E074 +N30E075 +N30E076 +N30E077 +N30E078 +N30E079 +N30E080 +N30E081 +N30E082 +N30E083 +N30E084 +N30E085 +N30E086 +N30E087 +N30E088 +N30E089 +N30E090 +N30E091 +N30E092 +N30E093 +N30E094 +N30E095 +N30E096 +N30E097 +N30E098 +N30E099 +N30E100 +N30E101 +N30E102 +N30E103 +N30E104 +N30E105 +N30E106 +N30E107 +N30E108 +N30E109 +N30E110 +N30E111 +N30E112 +N30E113 +N30E114 +N30E115 +N30E116 +N30E117 +N30E118 +N30E119 +N30E120 +N30E121 +N30E122 +N30E129 +N30E130 +N30E131 +N30E140 +N30W001 +N30W002 +N30W003 +N30W004 +N30W005 +N30W006 +N30W007 +N30W008 +N30W009 +N30W010 +N30W016 +N30W017 +N30W082 +N30W083 +N30W084 +N30W085 +N30W086 +N30W087 +N30W088 +N30W089 +N30W090 +N30W091 +N30W092 +N30W093 +N30W094 +N30W095 +N30W096 +N30W097 +N30W098 +N30W099 +N30W100 +N30W101 +N30W102 +N30W103 +N30W104 +N30W105 +N30W106 +N30W107 +N30W108 +N30W109 +N30W110 +N30W111 +N30W112 +N30W113 +N30W114 +N30W115 +N30W116 +N30W117 +N31E000 +N31E001 +N31E002 +N31E003 +N31E004 +N31E005 +N31E006 +N31E007 +N31E008 +N31E009 +N31E010 +N31E011 +N31E012 +N31E013 +N31E014 +N31E015 +N31E016 +N31E017 +N31E019 +N31E020 +N31E021 +N31E022 +N31E023 +N31E024 +N31E025 +N31E026 +N31E027 +N31E028 +N31E029 +N31E030 +N31E031 +N31E032 +N31E033 +N31E034 +N31E035 +N31E036 +N31E037 +N31E038 +N31E039 +N31E040 +N31E041 +N31E042 +N31E043 +N31E044 +N31E045 +N31E046 +N31E047 +N31E048 +N31E049 +N31E050 +N31E051 +N31E052 +N31E053 +N31E054 +N31E055 +N31E056 +N31E057 +N31E058 +N31E059 +N31E060 +N31E061 +N31E062 +N31E063 +N31E064 +N31E065 +N31E066 +N31E067 +N31E068 +N31E069 +N31E070 +N31E071 +N31E072 +N31E073 +N31E074 +N31E075 +N31E076 +N31E077 +N31E078 +N31E079 +N31E080 +N31E081 +N31E082 +N31E083 +N31E084 +N31E085 +N31E086 +N31E087 +N31E088 +N31E089 +N31E090 +N31E091 +N31E092 +N31E093 +N31E094 +N31E095 +N31E096 +N31E097 +N31E098 +N31E099 +N31E100 +N31E101 +N31E102 +N31E103 +N31E104 +N31E105 +N31E106 +N31E107 +N31E108 +N31E109 +N31E110 +N31E111 +N31E112 +N31E113 +N31E114 +N31E115 +N31E116 +N31E117 +N31E118 +N31E119 +N31E120 +N31E121 +N31E128 +N31E129 +N31E130 +N31E131 +N31E139 +N31E140 +N31W001 +N31W002 +N31W003 +N31W004 +N31W005 +N31W006 +N31W007 +N31W008 +N31W009 +N31W010 +N31W081 +N31W082 +N31W083 +N31W084 +N31W085 +N31W086 +N31W087 +N31W088 +N31W089 +N31W090 +N31W091 +N31W092 +N31W093 +N31W094 +N31W095 +N31W096 +N31W097 +N31W098 +N31W099 +N31W100 +N31W101 +N31W102 +N31W103 +N31W104 +N31W105 +N31W106 +N31W107 +N31W108 +N31W109 +N31W110 +N31W111 +N31W112 +N31W113 +N31W114 +N31W115 +N31W116 +N31W117 +N32E000 +N32E001 +N32E002 +N32E003 +N32E004 +N32E005 +N32E006 +N32E007 +N32E008 +N32E009 +N32E010 +N32E011 +N32E012 +N32E013 +N32E014 +N32E015 +N32E019 +N32E020 +N32E021 +N32E022 +N32E023 +N32E024 +N32E034 +N32E035 +N32E036 +N32E037 +N32E038 +N32E039 +N32E040 +N32E041 +N32E042 +N32E043 +N32E044 +N32E045 +N32E046 +N32E047 +N32E048 +N32E049 +N32E050 +N32E051 +N32E052 +N32E053 +N32E054 +N32E055 +N32E056 +N32E057 +N32E058 +N32E059 +N32E060 +N32E061 +N32E062 +N32E063 +N32E064 +N32E065 +N32E066 +N32E067 +N32E068 +N32E069 +N32E070 +N32E071 +N32E072 +N32E073 +N32E074 +N32E075 +N32E076 +N32E077 +N32E078 +N32E079 +N32E080 +N32E081 +N32E082 +N32E083 +N32E084 +N32E085 +N32E086 +N32E087 +N32E088 +N32E089 +N32E090 +N32E091 +N32E092 +N32E093 +N32E094 +N32E095 +N32E096 +N32E097 +N32E098 +N32E099 +N32E100 +N32E101 +N32E102 +N32E103 +N32E104 +N32E105 +N32E106 +N32E107 +N32E108 +N32E109 +N32E110 +N32E111 +N32E112 +N32E113 +N32E114 +N32E115 +N32E116 +N32E117 +N32E118 +N32E119 +N32E120 +N32E121 +N32E128 +N32E129 +N32E130 +N32E131 +N32E132 +N32E133 +N32E139 +N32W001 +N32W002 +N32W003 +N32W004 +N32W005 +N32W006 +N32W007 +N32W008 +N32W009 +N32W010 +N32W017 +N32W018 +N32W065 +N32W080 +N32W081 +N32W082 +N32W083 +N32W084 +N32W085 +N32W086 +N32W087 +N32W088 +N32W089 +N32W090 +N32W091 +N32W092 +N32W093 +N32W094 +N32W095 +N32W096 +N32W097 +N32W098 +N32W099 +N32W100 +N32W101 +N32W102 +N32W103 +N32W104 +N32W105 +N32W106 +N32W107 +N32W108 +N32W109 +N32W110 +N32W111 +N32W112 +N32W113 +N32W114 +N32W115 +N32W116 +N32W117 +N32W118 +N32W119 +N33E000 +N33E001 +N33E002 +N33E003 +N33E004 +N33E005 +N33E006 +N33E007 +N33E008 +N33E009 +N33E010 +N33E011 +N33E035 +N33E036 +N33E037 +N33E038 +N33E039 +N33E040 +N33E041 +N33E042 +N33E043 +N33E044 +N33E045 +N33E046 +N33E047 +N33E048 +N33E049 +N33E050 +N33E051 +N33E052 +N33E053 +N33E054 +N33E055 +N33E056 +N33E057 +N33E058 +N33E059 +N33E060 +N33E061 +N33E062 +N33E063 +N33E064 +N33E065 +N33E066 +N33E067 +N33E068 +N33E069 +N33E070 +N33E071 +N33E072 +N33E073 +N33E074 +N33E075 +N33E076 +N33E077 +N33E078 +N33E079 +N33E080 +N33E081 +N33E082 +N33E083 +N33E084 +N33E085 +N33E086 +N33E087 +N33E088 +N33E089 +N33E090 +N33E091 +N33E092 +N33E093 +N33E094 +N33E095 +N33E096 +N33E097 +N33E098 +N33E099 +N33E100 +N33E101 +N33E102 +N33E103 +N33E104 +N33E105 +N33E106 +N33E107 +N33E108 +N33E109 +N33E110 +N33E111 +N33E112 +N33E113 +N33E114 +N33E115 +N33E116 +N33E117 +N33E118 +N33E119 +N33E120 +N33E126 +N33E128 +N33E129 +N33E130 +N33E131 +N33E132 +N33E133 +N33E134 +N33E135 +N33E136 +N33E138 +N33E139 +N33W001 +N33W002 +N33W003 +N33W004 +N33W005 +N33W006 +N33W007 +N33W008 +N33W009 +N33W017 +N33W078 +N33W079 +N33W080 +N33W081 +N33W082 +N33W083 +N33W084 +N33W085 +N33W086 +N33W087 +N33W088 +N33W089 +N33W090 +N33W091 +N33W092 +N33W093 +N33W094 +N33W095 +N33W096 +N33W097 +N33W098 +N33W099 +N33W100 +N33W101 +N33W102 +N33W103 +N33W104 +N33W105 +N33W106 +N33W107 +N33W108 +N33W109 +N33W110 +N33W111 +N33W112 +N33W113 +N33W114 +N33W115 +N33W116 +N33W117 +N33W118 +N33W119 +N33W120 +N33W121 +N34E000 +N34E001 +N34E002 +N34E003 +N34E004 +N34E005 +N34E006 +N34E007 +N34E008 +N34E009 +N34E010 +N34E011 +N34E023 +N34E024 +N34E025 +N34E026 +N34E032 +N34E033 +N34E034 +N34E035 +N34E036 +N34E037 +N34E038 +N34E039 +N34E040 +N34E041 +N34E042 +N34E043 +N34E044 +N34E045 +N34E046 +N34E047 +N34E048 +N34E049 +N34E050 +N34E051 +N34E052 +N34E053 +N34E054 +N34E055 +N34E056 +N34E057 +N34E058 +N34E059 +N34E060 +N34E061 +N34E062 +N34E063 +N34E064 +N34E065 +N34E066 +N34E067 +N34E068 +N34E069 +N34E070 +N34E071 +N34E072 +N34E073 +N34E074 +N34E075 +N34E076 +N34E077 +N34E078 +N34E079 +N34E080 +N34E081 +N34E082 +N34E083 +N34E084 +N34E085 +N34E086 +N34E087 +N34E088 +N34E089 +N34E090 +N34E091 +N34E092 +N34E093 +N34E094 +N34E095 +N34E096 +N34E097 +N34E098 +N34E099 +N34E100 +N34E101 +N34E102 +N34E103 +N34E104 +N34E105 +N34E106 +N34E107 +N34E108 +N34E109 +N34E110 +N34E111 +N34E112 +N34E113 +N34E114 +N34E115 +N34E116 +N34E117 +N34E118 +N34E119 +N34E120 +N34E125 +N34E126 +N34E127 +N34E128 +N34E129 +N34E130 +N34E131 +N34E132 +N34E133 +N34E134 +N34E135 +N34E136 +N34E137 +N34E138 +N34E139 +N34W001 +N34W002 +N34W003 +N34W004 +N34W005 +N34W006 +N34W007 +N34W077 +N34W078 +N34W079 +N34W080 +N34W081 +N34W082 +N34W083 +N34W084 +N34W085 +N34W086 +N34W087 +N34W088 +N34W089 +N34W090 +N34W091 +N34W092 +N34W093 +N34W094 +N34W095 +N34W096 +N34W097 +N34W098 +N34W099 +N34W100 +N34W101 +N34W102 +N34W103 +N34W104 +N34W105 +N34W106 +N34W107 +N34W108 +N34W109 +N34W110 +N34W111 +N34W112 +N34W113 +N34W114 +N34W115 +N34W116 +N34W117 +N34W118 +N34W119 +N34W120 +N34W121 +N35E000 +N35E001 +N35E002 +N35E003 +N35E004 +N35E005 +N35E006 +N35E007 +N35E008 +N35E009 +N35E010 +N35E011 +N35E012 +N35E014 +N35E023 +N35E024 +N35E025 +N35E026 +N35E027 +N35E032 +N35E033 +N35E034 +N35E035 +N35E036 +N35E037 +N35E038 +N35E039 +N35E040 +N35E041 +N35E042 +N35E043 +N35E044 +N35E045 +N35E046 +N35E047 +N35E048 +N35E049 +N35E050 +N35E051 +N35E052 +N35E053 +N35E054 +N35E055 +N35E056 +N35E057 +N35E058 +N35E059 +N35E060 +N35E061 +N35E062 +N35E063 +N35E064 +N35E065 +N35E066 +N35E067 +N35E068 +N35E069 +N35E070 +N35E071 +N35E072 +N35E073 +N35E074 +N35E075 +N35E076 +N35E077 +N35E078 +N35E079 +N35E080 +N35E081 +N35E082 +N35E083 +N35E084 +N35E085 +N35E086 +N35E087 +N35E088 +N35E089 +N35E090 +N35E091 +N35E092 +N35E093 +N35E094 +N35E095 +N35E096 +N35E097 +N35E098 +N35E099 +N35E100 +N35E101 +N35E102 +N35E103 +N35E104 +N35E105 +N35E106 +N35E107 +N35E108 +N35E109 +N35E110 +N35E111 +N35E112 +N35E113 +N35E114 +N35E115 +N35E116 +N35E117 +N35E118 +N35E119 +N35E120 +N35E125 +N35E126 +N35E127 +N35E128 +N35E129 +N35E132 +N35E133 +N35E134 +N35E135 +N35E136 +N35E137 +N35E138 +N35E139 +N35E140 +N35W001 +N35W002 +N35W003 +N35W004 +N35W005 +N35W006 +N35W007 +N35W076 +N35W077 +N35W078 +N35W079 +N35W080 +N35W081 +N35W082 +N35W083 +N35W084 +N35W085 +N35W086 +N35W087 +N35W088 +N35W089 +N35W090 +N35W091 +N35W092 +N35W093 +N35W094 +N35W095 +N35W096 +N35W097 +N35W098 +N35W099 +N35W100 +N35W101 +N35W102 +N35W103 +N35W104 +N35W105 +N35W106 +N35W107 +N35W108 +N35W109 +N35W110 +N35W111 +N35W112 +N35W113 +N35W114 +N35W115 +N35W116 +N35W117 +N35W118 +N35W119 +N35W120 +N35W121 +N35W122 +N36E000 +N36E001 +N36E002 +N36E003 +N36E004 +N36E005 +N36E006 +N36E007 +N36E008 +N36E009 +N36E010 +N36E011 +N36E012 +N36E014 +N36E015 +N36E021 +N36E022 +N36E023 +N36E024 +N36E025 +N36E026 +N36E027 +N36E028 +N36E029 +N36E030 +N36E031 +N36E032 +N36E033 +N36E034 +N36E035 +N36E036 +N36E037 +N36E038 +N36E039 +N36E040 +N36E041 +N36E042 +N36E043 +N36E044 +N36E045 +N36E046 +N36E047 +N36E048 +N36E049 +N36E050 +N36E051 +N36E052 +N36E053 +N36E054 +N36E055 +N36E056 +N36E057 +N36E058 +N36E059 +N36E060 +N36E061 +N36E062 +N36E063 +N36E064 +N36E065 +N36E066 +N36E067 +N36E068 +N36E069 +N36E070 +N36E071 +N36E072 +N36E073 +N36E074 +N36E075 +N36E076 +N36E077 +N36E078 +N36E079 +N36E080 +N36E081 +N36E082 +N36E083 +N36E084 +N36E085 +N36E086 +N36E087 +N36E088 +N36E089 +N36E090 +N36E091 +N36E092 +N36E093 +N36E094 +N36E095 +N36E096 +N36E097 +N36E098 +N36E099 +N36E100 +N36E101 +N36E102 +N36E103 +N36E104 +N36E105 +N36E106 +N36E107 +N36E108 +N36E109 +N36E110 +N36E111 +N36E112 +N36E113 +N36E114 +N36E115 +N36E116 +N36E117 +N36E118 +N36E119 +N36E120 +N36E121 +N36E122 +N36E125 +N36E126 +N36E127 +N36E128 +N36E129 +N36E132 +N36E133 +N36E135 +N36E136 +N36E137 +N36E138 +N36E139 +N36E140 +N36W002 +N36W003 +N36W004 +N36W005 +N36W006 +N36W007 +N36W008 +N36W009 +N36W026 +N36W076 +N36W077 +N36W078 +N36W079 +N36W080 +N36W081 +N36W082 +N36W083 +N36W084 +N36W085 +N36W086 +N36W087 +N36W088 +N36W089 +N36W090 +N36W091 +N36W092 +N36W093 +N36W094 +N36W095 +N36W096 +N36W097 +N36W098 +N36W099 +N36W100 +N36W101 +N36W102 +N36W103 +N36W104 +N36W105 +N36W106 +N36W107 +N36W108 +N36W109 +N36W110 +N36W111 +N36W112 +N36W113 +N36W114 +N36W115 +N36W116 +N36W117 +N36W118 +N36W119 +N36W120 +N36W121 +N36W122 +N36W123 +N37E006 +N37E007 +N37E008 +N37E009 +N37E010 +N37E011 +N37E012 +N37E013 +N37E014 +N37E015 +N37E016 +N37E020 +N37E021 +N37E022 +N37E023 +N37E024 +N37E025 +N37E026 +N37E027 +N37E028 +N37E029 +N37E030 +N37E031 +N37E032 +N37E033 +N37E034 +N37E035 +N37E036 +N37E037 +N37E038 +N37E039 +N37E040 +N37E041 +N37E042 +N37E043 +N37E044 +N37E045 +N37E046 +N37E047 +N37E048 +N37E049 +N37E050 +N37E051 +N37E052 +N37E053 +N37E054 +N37E055 +N37E056 +N37E057 +N37E058 +N37E059 +N37E060 +N37E061 +N37E062 +N37E063 +N37E064 +N37E065 +N37E066 +N37E067 +N37E068 +N37E069 +N37E070 +N37E071 +N37E072 +N37E073 +N37E074 +N37E075 +N37E076 +N37E077 +N37E078 +N37E079 +N37E080 +N37E081 +N37E082 +N37E083 +N37E084 +N37E085 +N37E086 +N37E087 +N37E088 +N37E089 +N37E090 +N37E091 +N37E092 +N37E093 +N37E094 +N37E095 +N37E096 +N37E097 +N37E098 +N37E099 +N37E100 +N37E101 +N37E102 +N37E103 +N37E104 +N37E105 +N37E106 +N37E107 +N37E108 +N37E109 +N37E110 +N37E111 +N37E112 +N37E113 +N37E114 +N37E115 +N37E116 +N37E117 +N37E118 +N37E119 +N37E120 +N37E121 +N37E122 +N37E124 +N37E125 +N37E126 +N37E127 +N37E128 +N37E129 +N37E130 +N37E131 +N37E136 +N37E137 +N37E138 +N37E139 +N37E140 +N37E141 +N37W001 +N37W002 +N37W003 +N37W004 +N37W005 +N37W006 +N37W007 +N37W008 +N37W009 +N37W025 +N37W026 +N37W076 +N37W077 +N37W078 +N37W079 +N37W080 +N37W081 +N37W082 +N37W083 +N37W084 +N37W085 +N37W086 +N37W087 +N37W088 +N37W089 +N37W090 +N37W091 +N37W092 +N37W093 +N37W094 +N37W095 +N37W096 +N37W097 +N37W098 +N37W099 +N37W100 +N37W101 +N37W102 +N37W103 +N37W104 +N37W105 +N37W106 +N37W107 +N37W108 +N37W109 +N37W110 +N37W111 +N37W112 +N37W113 +N37W114 +N37W115 +N37W116 +N37W117 +N37W118 +N37W119 +N37W120 +N37W121 +N37W122 +N37W123 +N37W124 +N38E000 +N38E001 +N38E008 +N38E009 +N38E012 +N38E013 +N38E014 +N38E015 +N38E016 +N38E017 +N38E020 +N38E021 +N38E022 +N38E023 +N38E024 +N38E025 +N38E026 +N38E027 +N38E028 +N38E029 +N38E030 +N38E031 +N38E032 +N38E033 +N38E034 +N38E035 +N38E036 +N38E037 +N38E038 +N38E039 +N38E040 +N38E041 +N38E042 +N38E043 +N38E044 +N38E045 +N38E046 +N38E047 +N38E048 +N38E049 +N38E050 +N38E051 +N38E052 +N38E053 +N38E054 +N38E055 +N38E056 +N38E057 +N38E058 +N38E059 +N38E060 +N38E061 +N38E062 +N38E063 +N38E064 +N38E065 +N38E066 +N38E067 +N38E068 +N38E069 +N38E070 +N38E071 +N38E072 +N38E073 +N38E074 +N38E075 +N38E076 +N38E077 +N38E078 +N38E079 +N38E080 +N38E081 +N38E082 +N38E083 +N38E084 +N38E085 +N38E086 +N38E087 +N38E088 +N38E089 +N38E090 +N38E091 +N38E092 +N38E093 +N38E094 +N38E095 +N38E096 +N38E097 +N38E098 +N38E099 +N38E100 +N38E101 +N38E102 +N38E103 +N38E104 +N38E105 +N38E106 +N38E107 +N38E108 +N38E109 +N38E110 +N38E111 +N38E112 +N38E113 +N38E114 +N38E115 +N38E116 +N38E117 +N38E118 +N38E120 +N38E121 +N38E124 +N38E125 +N38E126 +N38E127 +N38E128 +N38E138 +N38E139 +N38E140 +N38E141 +N38W001 +N38W002 +N38W003 +N38W004 +N38W005 +N38W006 +N38W007 +N38W008 +N38W009 +N38W010 +N38W028 +N38W029 +N38W075 +N38W076 +N38W077 +N38W078 +N38W079 +N38W080 +N38W081 +N38W082 +N38W083 +N38W084 +N38W085 +N38W086 +N38W087 +N38W088 +N38W089 +N38W090 +N38W091 +N38W092 +N38W093 +N38W094 +N38W095 +N38W096 +N38W097 +N38W098 +N38W099 +N38W100 +N38W101 +N38W102 +N38W103 +N38W104 +N38W105 +N38W106 +N38W107 +N38W108 +N38W109 +N38W110 +N38W111 +N38W112 +N38W113 +N38W114 +N38W115 +N38W116 +N38W117 +N38W118 +N38W119 +N38W120 +N38W121 +N38W122 +N38W123 +N38W124 +N39E000 +N39E001 +N39E002 +N39E003 +N39E004 +N39E008 +N39E009 +N39E015 +N39E016 +N39E017 +N39E018 +N39E019 +N39E020 +N39E021 +N39E022 +N39E023 +N39E024 +N39E025 +N39E026 +N39E027 +N39E028 +N39E029 +N39E030 +N39E031 +N39E032 +N39E033 +N39E034 +N39E035 +N39E036 +N39E037 +N39E038 +N39E039 +N39E040 +N39E041 +N39E042 +N39E043 +N39E044 +N39E045 +N39E046 +N39E047 +N39E048 +N39E049 +N39E050 +N39E051 +N39E052 +N39E053 +N39E054 +N39E055 +N39E056 +N39E057 +N39E058 +N39E059 +N39E060 +N39E061 +N39E062 +N39E063 +N39E064 +N39E065 +N39E066 +N39E067 +N39E068 +N39E069 +N39E070 +N39E071 +N39E072 +N39E073 +N39E074 +N39E075 +N39E076 +N39E077 +N39E078 +N39E079 +N39E080 +N39E081 +N39E082 +N39E083 +N39E084 +N39E085 +N39E086 +N39E087 +N39E088 +N39E089 +N39E090 +N39E091 +N39E092 +N39E093 +N39E094 +N39E095 +N39E096 +N39E097 +N39E098 +N39E099 +N39E100 +N39E101 +N39E102 +N39E103 +N39E104 +N39E105 +N39E106 +N39E107 +N39E108 +N39E109 +N39E110 +N39E111 +N39E112 +N39E113 +N39E114 +N39E115 +N39E116 +N39E117 +N39E118 +N39E119 +N39E121 +N39E122 +N39E123 +N39E124 +N39E125 +N39E126 +N39E127 +N39E128 +N39E139 +N39E140 +N39E141 +N39E142 +N39W001 +N39W002 +N39W003 +N39W004 +N39W005 +N39W006 +N39W007 +N39W008 +N39W009 +N39W010 +N39W028 +N39W029 +N39W032 +N39W075 +N39W076 +N39W077 +N39W078 +N39W079 +N39W080 +N39W081 +N39W082 +N39W083 +N39W084 +N39W085 +N39W086 +N39W087 +N39W088 +N39W089 +N39W090 +N39W091 +N39W092 +N39W093 +N39W094 +N39W095 +N39W096 +N39W097 +N39W098 +N39W099 +N39W100 +N39W101 +N39W102 +N39W103 +N39W104 +N39W105 +N39W106 +N39W107 +N39W108 +N39W109 +N39W110 +N39W111 +N39W112 +N39W113 +N39W114 +N39W115 +N39W116 +N39W117 +N39W118 +N39W119 +N39W120 +N39W121 +N39W122 +N39W123 +N39W124 +N39W125 +N40E000 +N40E003 +N40E004 +N40E008 +N40E009 +N40E012 +N40E013 +N40E014 +N40E015 +N40E016 +N40E017 +N40E018 +N40E019 +N40E020 +N40E021 +N40E022 +N40E023 +N40E024 +N40E025 +N40E026 +N40E027 +N40E028 +N40E029 +N40E030 +N40E031 +N40E032 +N40E033 +N40E034 +N40E035 +N40E036 +N40E037 +N40E038 +N40E039 +N40E040 +N40E041 +N40E042 +N40E043 +N40E044 +N40E045 +N40E046 +N40E047 +N40E048 +N40E049 +N40E050 +N40E051 +N40E052 +N40E053 +N40E054 +N40E055 +N40E056 +N40E057 +N40E058 +N40E059 +N40E060 +N40E061 +N40E062 +N40E063 +N40E064 +N40E065 +N40E066 +N40E067 +N40E068 +N40E069 +N40E070 +N40E071 +N40E072 +N40E073 +N40E074 +N40E075 +N40E076 +N40E077 +N40E078 +N40E079 +N40E080 +N40E081 +N40E082 +N40E083 +N40E084 +N40E085 +N40E086 +N40E087 +N40E088 +N40E089 +N40E090 +N40E091 +N40E092 +N40E093 +N40E094 +N40E095 +N40E096 +N40E097 +N40E098 +N40E099 +N40E100 +N40E101 +N40E102 +N40E103 +N40E104 +N40E105 +N40E106 +N40E107 +N40E108 +N40E109 +N40E110 +N40E111 +N40E112 +N40E113 +N40E114 +N40E115 +N40E116 +N40E117 +N40E118 +N40E119 +N40E120 +N40E121 +N40E122 +N40E123 +N40E124 +N40E125 +N40E126 +N40E127 +N40E128 +N40E129 +N40E139 +N40E140 +N40E141 +N40W001 +N40W002 +N40W003 +N40W004 +N40W005 +N40W006 +N40W007 +N40W008 +N40W009 +N40W073 +N40W074 +N40W075 +N40W076 +N40W077 +N40W078 +N40W079 +N40W080 +N40W081 +N40W082 +N40W083 +N40W084 +N40W085 +N40W086 +N40W087 +N40W088 +N40W089 +N40W090 +N40W091 +N40W092 +N40W093 +N40W094 +N40W095 +N40W096 +N40W097 +N40W098 +N40W099 +N40W100 +N40W101 +N40W102 +N40W103 +N40W104 +N40W105 +N40W106 +N40W107 +N40W108 +N40W109 +N40W110 +N40W111 +N40W112 +N40W113 +N40W114 +N40W115 +N40W116 +N40W117 +N40W118 +N40W119 +N40W120 +N40W121 +N40W122 +N40W123 +N40W124 +N40W125 +N41E000 +N41E001 +N41E002 +N41E003 +N41E008 +N41E009 +N41E011 +N41E012 +N41E013 +N41E014 +N41E015 +N41E016 +N41E017 +N41E019 +N41E020 +N41E021 +N41E022 +N41E023 +N41E024 +N41E025 +N41E026 +N41E027 +N41E028 +N41E029 +N41E030 +N41E031 +N41E032 +N41E033 +N41E034 +N41E035 +N41E036 +N41E037 +N41E038 +N41E039 +N41E040 +N41E041 +N41E042 +N41E043 +N41E044 +N41E045 +N41E046 +N41E047 +N41E048 +N41E049 +N41E050 +N41E051 +N41E052 +N41E053 +N41E054 +N41E055 +N41E056 +N41E057 +N41E058 +N41E059 +N41E060 +N41E061 +N41E062 +N41E063 +N41E064 +N41E065 +N41E066 +N41E067 +N41E068 +N41E069 +N41E070 +N41E071 +N41E072 +N41E073 +N41E074 +N41E075 +N41E076 +N41E077 +N41E078 +N41E079 +N41E080 +N41E081 +N41E082 +N41E083 +N41E084 +N41E085 +N41E086 +N41E087 +N41E088 +N41E089 +N41E090 +N41E091 +N41E092 +N41E093 +N41E094 +N41E095 +N41E096 +N41E097 +N41E098 +N41E099 +N41E100 +N41E101 +N41E102 +N41E103 +N41E104 +N41E105 +N41E106 +N41E107 +N41E108 +N41E109 +N41E110 +N41E111 +N41E112 +N41E113 +N41E114 +N41E115 +N41E116 +N41E117 +N41E118 +N41E119 +N41E120 +N41E121 +N41E122 +N41E123 +N41E124 +N41E125 +N41E126 +N41E127 +N41E128 +N41E129 +N41E130 +N41E139 +N41E140 +N41E141 +N41E143 +N41W001 +N41W002 +N41W003 +N41W004 +N41W005 +N41W006 +N41W007 +N41W008 +N41W009 +N41W070 +N41W071 +N41W072 +N41W073 +N41W074 +N41W075 +N41W076 +N41W077 +N41W078 +N41W079 +N41W080 +N41W081 +N41W082 +N41W083 +N41W084 +N41W085 +N41W086 +N41W087 +N41W088 +N41W089 +N41W090 +N41W091 +N41W092 +N41W093 +N41W094 +N41W095 +N41W096 +N41W097 +N41W098 +N41W099 +N41W100 +N41W101 +N41W102 +N41W103 +N41W104 +N41W105 +N41W106 +N41W107 +N41W108 +N41W109 +N41W110 +N41W111 +N41W112 +N41W113 +N41W114 +N41W115 +N41W116 +N41W117 +N41W118 +N41W119 +N41W120 +N41W121 +N41W122 +N41W123 +N41W124 +N41W125 +N42E000 +N42E001 +N42E002 +N42E003 +N42E006 +N42E008 +N42E009 +N42E010 +N42E011 +N42E012 +N42E013 +N42E014 +N42E015 +N42E016 +N42E017 +N42E018 +N42E019 +N42E020 +N42E021 +N42E022 +N42E023 +N42E024 +N42E025 +N42E026 +N42E027 +N42E028 +N42E033 +N42E034 +N42E035 +N42E040 +N42E041 +N42E042 +N42E043 +N42E044 +N42E045 +N42E046 +N42E047 +N42E048 +N42E049 +N42E050 +N42E051 +N42E052 +N42E053 +N42E054 +N42E055 +N42E056 +N42E057 +N42E058 +N42E059 +N42E060 +N42E061 +N42E062 +N42E063 +N42E064 +N42E065 +N42E066 +N42E067 +N42E068 +N42E069 +N42E070 +N42E071 +N42E072 +N42E073 +N42E074 +N42E075 +N42E076 +N42E077 +N42E078 +N42E079 +N42E080 +N42E081 +N42E082 +N42E083 +N42E084 +N42E085 +N42E086 +N42E087 +N42E088 +N42E089 +N42E090 +N42E091 +N42E092 +N42E093 +N42E094 +N42E095 +N42E096 +N42E097 +N42E098 +N42E099 +N42E100 +N42E101 +N42E102 +N42E103 +N42E104 +N42E105 +N42E106 +N42E107 +N42E108 +N42E109 +N42E110 +N42E111 +N42E112 +N42E113 +N42E114 +N42E115 +N42E116 +N42E117 +N42E118 +N42E119 +N42E120 +N42E121 +N42E122 +N42E123 +N42E124 +N42E125 +N42E126 +N42E127 +N42E128 +N42E129 +N42E130 +N42E131 +N42E132 +N42E133 +N42E134 +N42E139 +N42E140 +N42E141 +N42E142 +N42E143 +N42E144 +N42E145 +N42W001 +N42W002 +N42W003 +N42W004 +N42W005 +N42W006 +N42W007 +N42W008 +N42W009 +N42W010 +N42W071 +N42W072 +N42W073 +N42W074 +N42W075 +N42W076 +N42W077 +N42W078 +N42W079 +N42W080 +N42W081 +N42W082 +N42W083 +N42W084 +N42W085 +N42W086 +N42W087 +N42W088 +N42W089 +N42W090 +N42W091 +N42W092 +N42W093 +N42W094 +N42W095 +N42W096 +N42W097 +N42W098 +N42W099 +N42W100 +N42W101 +N42W102 +N42W103 +N42W104 +N42W105 +N42W106 +N42W107 +N42W108 +N42W109 +N42W110 +N42W111 +N42W112 +N42W113 +N42W114 +N42W115 +N42W116 +N42W117 +N42W118 +N42W119 +N42W120 +N42W121 +N42W122 +N42W123 +N42W124 +N42W125 +N43E000 +N43E001 +N43E002 +N43E003 +N43E004 +N43E005 +N43E006 +N43E007 +N43E008 +N43E009 +N43E010 +N43E011 +N43E012 +N43E013 +N43E015 +N43E016 +N43E017 +N43E018 +N43E019 +N43E020 +N43E021 +N43E022 +N43E023 +N43E024 +N43E025 +N43E026 +N43E027 +N43E028 +N43E039 +N43E040 +N43E041 +N43E042 +N43E043 +N43E044 +N43E045 +N43E046 +N43E047 +N43E048 +N43E049 +N43E050 +N43E051 +N43E052 +N43E053 +N43E054 +N43E055 +N43E056 +N43E057 +N43E058 +N43E059 +N43E060 +N43E061 +N43E062 +N43E063 +N43E064 +N43E065 +N43E066 +N43E067 +N43E068 +N43E069 +N43E070 +N43E071 +N43E072 +N43E073 +N43E074 +N43E075 +N43E076 +N43E077 +N43E078 +N43E079 +N43E080 +N43E081 +N43E082 +N43E083 +N43E084 +N43E085 +N43E086 +N43E087 +N43E088 +N43E089 +N43E090 +N43E091 +N43E092 +N43E093 +N43E094 +N43E095 +N43E096 +N43E097 +N43E098 +N43E099 +N43E100 +N43E101 +N43E102 +N43E103 +N43E104 +N43E105 +N43E106 +N43E107 +N43E108 +N43E109 +N43E110 +N43E111 +N43E112 +N43E113 +N43E114 +N43E115 +N43E116 +N43E117 +N43E118 +N43E119 +N43E120 +N43E121 +N43E122 +N43E123 +N43E124 +N43E125 +N43E126 +N43E127 +N43E128 +N43E129 +N43E130 +N43E131 +N43E132 +N43E133 +N43E134 +N43E135 +N43E140 +N43E141 +N43E142 +N43E143 +N43E144 +N43E145 +N43E146 +N43W001 +N43W002 +N43W003 +N43W004 +N43W005 +N43W006 +N43W007 +N43W008 +N43W009 +N43W010 +N43W060 +N43W061 +N43W065 +N43W066 +N43W067 +N43W069 +N43W070 +N43W071 +N43W072 +N43W073 +N43W074 +N43W075 +N43W076 +N43W077 +N43W078 +N43W079 +N43W080 +N43W081 +N43W082 +N43W083 +N43W084 +N43W085 +N43W086 +N43W087 +N43W088 +N43W089 +N43W090 +N43W091 +N43W092 +N43W093 +N43W094 +N43W095 +N43W096 +N43W097 +N43W098 +N43W099 +N43W100 +N43W101 +N43W102 +N43W103 +N43W104 +N43W105 +N43W106 +N43W107 +N43W108 +N43W109 +N43W110 +N43W111 +N43W112 +N43W113 +N43W114 +N43W115 +N43W116 +N43W117 +N43W118 +N43W119 +N43W120 +N43W121 +N43W122 +N43W123 +N43W124 +N43W125 +N44E000 +N44E001 +N44E002 +N44E003 +N44E004 +N44E005 +N44E006 +N44E007 +N44E008 +N44E009 +N44E010 +N44E011 +N44E012 +N44E013 +N44E014 +N44E015 +N44E016 +N44E017 +N44E018 +N44E019 +N44E020 +N44E021 +N44E022 +N44E023 +N44E024 +N44E025 +N44E026 +N44E027 +N44E028 +N44E029 +N44E033 +N44E034 +N44E035 +N44E037 +N44E038 +N44E039 +N44E040 +N44E041 +N44E042 +N44E043 +N44E044 +N44E045 +N44E046 +N44E047 +N44E048 +N44E049 +N44E050 +N44E051 +N44E052 +N44E053 +N44E054 +N44E055 +N44E056 +N44E057 +N44E058 +N44E059 +N44E060 +N44E061 +N44E062 +N44E063 +N44E064 +N44E065 +N44E066 +N44E067 +N44E068 +N44E069 +N44E070 +N44E071 +N44E072 +N44E073 +N44E074 +N44E075 +N44E076 +N44E077 +N44E078 +N44E079 +N44E080 +N44E081 +N44E082 +N44E083 +N44E084 +N44E085 +N44E086 +N44E087 +N44E088 +N44E089 +N44E090 +N44E091 +N44E092 +N44E093 +N44E094 +N44E095 +N44E096 +N44E097 +N44E098 +N44E099 +N44E100 +N44E101 +N44E102 +N44E103 +N44E104 +N44E105 +N44E106 +N44E107 +N44E108 +N44E109 +N44E110 +N44E111 +N44E112 +N44E113 +N44E114 +N44E115 +N44E116 +N44E117 +N44E118 +N44E119 +N44E120 +N44E121 +N44E122 +N44E123 +N44E124 +N44E125 +N44E126 +N44E127 +N44E128 +N44E129 +N44E130 +N44E131 +N44E132 +N44E133 +N44E134 +N44E135 +N44E136 +N44E141 +N44E142 +N44E143 +N44E144 +N44E145 +N44E146 +N44E147 +N44W001 +N44W002 +N44W060 +N44W062 +N44W063 +N44W064 +N44W065 +N44W066 +N44W067 +N44W068 +N44W069 +N44W070 +N44W071 +N44W072 +N44W073 +N44W074 +N44W075 +N44W076 +N44W077 +N44W078 +N44W079 +N44W080 +N44W081 +N44W082 +N44W083 +N44W084 +N44W085 +N44W086 +N44W087 +N44W088 +N44W089 +N44W090 +N44W091 +N44W092 +N44W093 +N44W094 +N44W095 +N44W096 +N44W097 +N44W098 +N44W099 +N44W100 +N44W101 +N44W102 +N44W103 +N44W104 +N44W105 +N44W106 +N44W107 +N44W108 +N44W109 +N44W110 +N44W111 +N44W112 +N44W113 +N44W114 +N44W115 +N44W116 +N44W117 +N44W118 +N44W119 +N44W120 +N44W121 +N44W122 +N44W123 +N44W124 +N44W125 +N45E000 +N45E001 +N45E002 +N45E003 +N45E004 +N45E005 +N45E006 +N45E007 +N45E008 +N45E009 +N45E010 +N45E011 +N45E012 +N45E013 +N45E014 +N45E015 +N45E016 +N45E017 +N45E018 +N45E019 +N45E020 +N45E021 +N45E022 +N45E023 +N45E024 +N45E025 +N45E026 +N45E027 +N45E028 +N45E029 +N45E030 +N45E032 +N45E033 +N45E034 +N45E035 +N45E036 +N45E037 +N45E038 +N45E039 +N45E040 +N45E041 +N45E042 +N45E043 +N45E044 +N45E045 +N45E046 +N45E047 +N45E048 +N45E049 +N45E050 +N45E051 +N45E052 +N45E053 +N45E054 +N45E055 +N45E056 +N45E057 +N45E058 +N45E059 +N45E060 +N45E061 +N45E062 +N45E063 +N45E064 +N45E065 +N45E066 +N45E067 +N45E068 +N45E069 +N45E070 +N45E071 +N45E072 +N45E073 +N45E074 +N45E075 +N45E076 +N45E077 +N45E078 +N45E079 +N45E080 +N45E081 +N45E082 +N45E083 +N45E084 +N45E085 +N45E086 +N45E087 +N45E088 +N45E089 +N45E090 +N45E091 +N45E092 +N45E093 +N45E094 +N45E095 +N45E096 +N45E097 +N45E098 +N45E099 +N45E100 +N45E101 +N45E102 +N45E103 +N45E104 +N45E105 +N45E106 +N45E107 +N45E108 +N45E109 +N45E110 +N45E111 +N45E112 +N45E113 +N45E114 +N45E115 +N45E116 +N45E117 +N45E118 +N45E119 +N45E120 +N45E121 +N45E122 +N45E123 +N45E124 +N45E125 +N45E126 +N45E127 +N45E128 +N45E129 +N45E130 +N45E131 +N45E132 +N45E133 +N45E134 +N45E135 +N45E136 +N45E137 +N45E140 +N45E141 +N45E142 +N45E147 +N45E148 +N45E149 +N45E150 +N45W001 +N45W002 +N45W060 +N45W061 +N45W062 +N45W063 +N45W064 +N45W065 +N45W066 +N45W067 +N45W068 +N45W069 +N45W070 +N45W071 +N45W072 +N45W073 +N45W074 +N45W075 +N45W076 +N45W077 +N45W078 +N45W079 +N45W080 +N45W081 +N45W082 +N45W083 +N45W084 +N45W085 +N45W086 +N45W087 +N45W088 +N45W089 +N45W090 +N45W091 +N45W092 +N45W093 +N45W094 +N45W095 +N45W096 +N45W097 +N45W098 +N45W099 +N45W100 +N45W101 +N45W102 +N45W103 +N45W104 +N45W105 +N45W106 +N45W107 +N45W108 +N45W109 +N45W110 +N45W111 +N45W112 +N45W113 +N45W114 +N45W115 +N45W116 +N45W117 +N45W118 +N45W119 +N45W120 +N45W121 +N45W122 +N45W123 +N45W124 +N45W125 +N46E000 +N46E001 +N46E002 +N46E003 +N46E004 +N46E005 +N46E006 +N46E007 +N46E008 +N46E009 +N46E010 +N46E011 +N46E012 +N46E013 +N46E014 +N46E015 +N46E016 +N46E017 +N46E018 +N46E019 +N46E020 +N46E021 +N46E022 +N46E023 +N46E024 +N46E025 +N46E026 +N46E027 +N46E028 +N46E029 +N46E030 +N46E031 +N46E032 +N46E033 +N46E034 +N46E035 +N46E036 +N46E037 +N46E038 +N46E039 +N46E040 +N46E041 +N46E042 +N46E043 +N46E044 +N46E045 +N46E046 +N46E047 +N46E048 +N46E049 +N46E050 +N46E051 +N46E052 +N46E053 +N46E054 +N46E055 +N46E056 +N46E057 +N46E058 +N46E059 +N46E060 +N46E061 +N46E062 +N46E063 +N46E064 +N46E065 +N46E066 +N46E067 +N46E068 +N46E069 +N46E070 +N46E071 +N46E072 +N46E073 +N46E074 +N46E075 +N46E076 +N46E077 +N46E078 +N46E079 +N46E080 +N46E081 +N46E082 +N46E083 +N46E084 +N46E085 +N46E086 +N46E087 +N46E088 +N46E089 +N46E090 +N46E091 +N46E092 +N46E093 +N46E094 +N46E095 +N46E096 +N46E097 +N46E098 +N46E099 +N46E100 +N46E101 +N46E102 +N46E103 +N46E104 +N46E105 +N46E106 +N46E107 +N46E108 +N46E109 +N46E110 +N46E111 +N46E112 +N46E113 +N46E114 +N46E115 +N46E116 +N46E117 +N46E118 +N46E119 +N46E120 +N46E121 +N46E122 +N46E123 +N46E124 +N46E125 +N46E126 +N46E127 +N46E128 +N46E129 +N46E130 +N46E131 +N46E132 +N46E133 +N46E134 +N46E135 +N46E136 +N46E137 +N46E138 +N46E141 +N46E142 +N46E143 +N46E149 +N46E150 +N46E151 +N46E152 +N46W001 +N46W002 +N46W003 +N46W053 +N46W054 +N46W055 +N46W056 +N46W057 +N46W060 +N46W061 +N46W062 +N46W063 +N46W064 +N46W065 +N46W066 +N46W067 +N46W068 +N46W069 +N46W070 +N46W071 +N46W072 +N46W073 +N46W074 +N46W075 +N46W076 +N46W077 +N46W078 +N46W079 +N46W080 +N46W081 +N46W082 +N46W083 +N46W084 +N46W085 +N46W086 +N46W087 +N46W088 +N46W089 +N46W090 +N46W091 +N46W092 +N46W093 +N46W094 +N46W095 +N46W096 +N46W097 +N46W098 +N46W099 +N46W100 +N46W101 +N46W102 +N46W103 +N46W104 +N46W105 +N46W106 +N46W107 +N46W108 +N46W109 +N46W110 +N46W111 +N46W112 +N46W113 +N46W114 +N46W115 +N46W116 +N46W117 +N46W118 +N46W119 +N46W120 +N46W121 +N46W122 +N46W123 +N46W124 +N46W125 +N47E000 +N47E001 +N47E002 +N47E003 +N47E004 +N47E005 +N47E006 +N47E007 +N47E008 +N47E009 +N47E010 +N47E011 +N47E012 +N47E013 +N47E014 +N47E015 +N47E016 +N47E017 +N47E018 +N47E019 +N47E020 +N47E021 +N47E022 +N47E023 +N47E024 +N47E025 +N47E026 +N47E027 +N47E028 +N47E029 +N47E030 +N47E031 +N47E032 +N47E033 +N47E034 +N47E035 +N47E036 +N47E037 +N47E038 +N47E039 +N47E040 +N47E041 +N47E042 +N47E043 +N47E044 +N47E045 +N47E046 +N47E047 +N47E048 +N47E049 +N47E050 +N47E051 +N47E052 +N47E053 +N47E054 +N47E055 +N47E056 +N47E057 +N47E058 +N47E059 +N47E060 +N47E061 +N47E062 +N47E063 +N47E064 +N47E065 +N47E066 +N47E067 +N47E068 +N47E069 +N47E070 +N47E071 +N47E072 +N47E073 +N47E074 +N47E075 +N47E076 +N47E077 +N47E078 +N47E079 +N47E080 +N47E081 +N47E082 +N47E083 +N47E084 +N47E085 +N47E086 +N47E087 +N47E088 +N47E089 +N47E090 +N47E091 +N47E092 +N47E093 +N47E094 +N47E095 +N47E096 +N47E097 +N47E098 +N47E099 +N47E100 +N47E101 +N47E102 +N47E103 +N47E104 +N47E105 +N47E106 +N47E107 +N47E108 +N47E109 +N47E110 +N47E111 +N47E112 +N47E113 +N47E114 +N47E115 +N47E116 +N47E117 +N47E118 +N47E119 +N47E120 +N47E121 +N47E122 +N47E123 +N47E124 +N47E125 +N47E126 +N47E127 +N47E128 +N47E129 +N47E130 +N47E131 +N47E132 +N47E133 +N47E134 +N47E135 +N47E136 +N47E137 +N47E138 +N47E139 +N47E141 +N47E142 +N47E143 +N47E152 +N47E153 +N47W001 +N47W002 +N47W003 +N47W004 +N47W005 +N47W053 +N47W054 +N47W055 +N47W056 +N47W057 +N47W058 +N47W059 +N47W060 +N47W061 +N47W062 +N47W063 +N47W064 +N47W065 +N47W066 +N47W067 +N47W068 +N47W069 +N47W070 +N47W071 +N47W072 +N47W073 +N47W074 +N47W075 +N47W076 +N47W077 +N47W078 +N47W079 +N47W080 +N47W081 +N47W082 +N47W083 +N47W084 +N47W085 +N47W086 +N47W087 +N47W088 +N47W089 +N47W090 +N47W091 +N47W092 +N47W093 +N47W094 +N47W095 +N47W096 +N47W097 +N47W098 +N47W099 +N47W100 +N47W101 +N47W102 +N47W103 +N47W104 +N47W105 +N47W106 +N47W107 +N47W108 +N47W109 +N47W110 +N47W111 +N47W112 +N47W113 +N47W114 +N47W115 +N47W116 +N47W117 +N47W118 +N47W119 +N47W120 +N47W121 +N47W122 +N47W123 +N47W124 +N47W125 +N48E000 +N48E001 +N48E002 +N48E003 +N48E004 +N48E005 +N48E006 +N48E007 +N48E008 +N48E009 +N48E010 +N48E011 +N48E012 +N48E013 +N48E014 +N48E015 +N48E016 +N48E017 +N48E018 +N48E019 +N48E020 +N48E021 +N48E022 +N48E023 +N48E024 +N48E025 +N48E026 +N48E027 +N48E028 +N48E029 +N48E030 +N48E031 +N48E032 +N48E033 +N48E034 +N48E035 +N48E036 +N48E037 +N48E038 +N48E039 +N48E040 +N48E041 +N48E042 +N48E043 +N48E044 +N48E045 +N48E046 +N48E047 +N48E048 +N48E049 +N48E050 +N48E051 +N48E052 +N48E053 +N48E054 +N48E055 +N48E056 +N48E057 +N48E058 +N48E059 +N48E060 +N48E061 +N48E062 +N48E063 +N48E064 +N48E065 +N48E066 +N48E067 +N48E068 +N48E069 +N48E070 +N48E071 +N48E072 +N48E073 +N48E074 +N48E075 +N48E076 +N48E077 +N48E078 +N48E079 +N48E080 +N48E081 +N48E082 +N48E083 +N48E084 +N48E085 +N48E086 +N48E087 +N48E088 +N48E089 +N48E090 +N48E091 +N48E092 +N48E093 +N48E094 +N48E095 +N48E096 +N48E097 +N48E098 +N48E099 +N48E100 +N48E101 +N48E102 +N48E103 +N48E104 +N48E105 +N48E106 +N48E107 +N48E108 +N48E109 +N48E110 +N48E111 +N48E112 +N48E113 +N48E114 +N48E115 +N48E116 +N48E117 +N48E118 +N48E119 +N48E120 +N48E121 +N48E122 +N48E123 +N48E124 +N48E125 +N48E126 +N48E127 +N48E128 +N48E129 +N48E130 +N48E131 +N48E132 +N48E133 +N48E134 +N48E135 +N48E136 +N48E137 +N48E138 +N48E139 +N48E140 +N48E141 +N48E142 +N48E144 +N48E153 +N48E154 +N48W001 +N48W002 +N48W003 +N48W004 +N48W005 +N48W006 +N48W053 +N48W054 +N48W055 +N48W056 +N48W057 +N48W058 +N48W059 +N48W060 +N48W065 +N48W066 +N48W067 +N48W068 +N48W069 +N48W070 +N48W071 +N48W072 +N48W073 +N48W074 +N48W075 +N48W076 +N48W077 +N48W078 +N48W079 +N48W080 +N48W081 +N48W082 +N48W083 +N48W084 +N48W085 +N48W086 +N48W087 +N48W088 +N48W089 +N48W090 +N48W091 +N48W092 +N48W093 +N48W094 +N48W095 +N48W096 +N48W097 +N48W098 +N48W099 +N48W100 +N48W101 +N48W102 +N48W103 +N48W104 +N48W105 +N48W106 +N48W107 +N48W108 +N48W109 +N48W110 +N48W111 +N48W112 +N48W113 +N48W114 +N48W115 +N48W116 +N48W117 +N48W118 +N48W119 +N48W120 +N48W121 +N48W122 +N48W123 +N48W124 +N48W125 +N48W126 +N49E000 +N49E001 +N49E002 +N49E003 +N49E004 +N49E005 +N49E006 +N49E007 +N49E008 +N49E009 +N49E010 +N49E011 +N49E012 +N49E013 +N49E014 +N49E015 +N49E016 +N49E017 +N49E018 +N49E019 +N49E020 +N49E021 +N49E022 +N49E023 +N49E024 +N49E025 +N49E026 +N49E027 +N49E028 +N49E029 +N49E030 +N49E031 +N49E032 +N49E033 +N49E034 +N49E035 +N49E036 +N49E037 +N49E038 +N49E039 +N49E040 +N49E041 +N49E042 +N49E043 +N49E044 +N49E045 +N49E046 +N49E047 +N49E048 +N49E049 +N49E050 +N49E051 +N49E052 +N49E053 +N49E054 +N49E055 +N49E056 +N49E057 +N49E058 +N49E059 +N49E060 +N49E061 +N49E062 +N49E063 +N49E064 +N49E065 +N49E066 +N49E067 +N49E068 +N49E069 +N49E070 +N49E071 +N49E072 +N49E073 +N49E074 +N49E075 +N49E076 +N49E077 +N49E078 +N49E079 +N49E080 +N49E081 +N49E082 +N49E083 +N49E084 +N49E085 +N49E086 +N49E087 +N49E088 +N49E089 +N49E090 +N49E091 +N49E092 +N49E093 +N49E094 +N49E095 +N49E096 +N49E097 +N49E098 +N49E099 +N49E100 +N49E101 +N49E102 +N49E103 +N49E104 +N49E105 +N49E106 +N49E107 +N49E108 +N49E109 +N49E110 +N49E111 +N49E112 +N49E113 +N49E114 +N49E115 +N49E116 +N49E117 +N49E118 +N49E119 +N49E120 +N49E121 +N49E122 +N49E123 +N49E124 +N49E125 +N49E126 +N49E127 +N49E128 +N49E129 +N49E130 +N49E131 +N49E132 +N49E133 +N49E134 +N49E135 +N49E136 +N49E137 +N49E138 +N49E139 +N49E140 +N49E142 +N49E143 +N49E144 +N49E154 +N49E155 +N49W001 +N49W002 +N49W003 +N49W006 +N49W007 +N49W054 +N49W055 +N49W056 +N49W057 +N49W058 +N49W059 +N49W062 +N49W063 +N49W064 +N49W065 +N49W066 +N49W067 +N49W068 +N49W069 +N49W070 +N49W071 +N49W072 +N49W073 +N49W074 +N49W075 +N49W076 +N49W077 +N49W078 +N49W079 +N49W080 +N49W081 +N49W082 +N49W083 +N49W084 +N49W085 +N49W086 +N49W087 +N49W088 +N49W089 +N49W090 +N49W091 +N49W092 +N49W093 +N49W094 +N49W095 +N49W096 +N49W097 +N49W098 +N49W099 +N49W100 +N49W101 +N49W102 +N49W103 +N49W104 +N49W105 +N49W106 +N49W107 +N49W108 +N49W109 +N49W110 +N49W111 +N49W112 +N49W113 +N49W114 +N49W115 +N49W116 +N49W117 +N49W118 +N49W119 +N49W120 +N49W121 +N49W122 +N49W123 +N49W124 +N49W125 +N49W126 +N49W127 +N49W128 +N50E000 +N50E001 +N50E002 +N50E003 +N50E004 +N50E005 +N50E006 +N50E007 +N50E008 +N50E009 +N50E010 +N50E011 +N50E012 +N50E013 +N50E014 +N50E015 +N50E016 +N50E017 +N50E018 +N50E019 +N50E020 +N50E021 +N50E022 +N50E023 +N50E024 +N50E025 +N50E026 +N50E027 +N50E028 +N50E029 +N50E030 +N50E031 +N50E032 +N50E033 +N50E034 +N50E035 +N50E036 +N50E037 +N50E038 +N50E039 +N50E040 +N50E041 +N50E042 +N50E043 +N50E044 +N50E045 +N50E046 +N50E047 +N50E048 +N50E049 +N50E050 +N50E051 +N50E052 +N50E053 +N50E054 +N50E055 +N50E056 +N50E057 +N50E058 +N50E059 +N50E060 +N50E061 +N50E062 +N50E063 +N50E064 +N50E065 +N50E066 +N50E067 +N50E068 +N50E069 +N50E070 +N50E071 +N50E072 +N50E073 +N50E074 +N50E075 +N50E076 +N50E077 +N50E078 +N50E079 +N50E080 +N50E081 +N50E082 +N50E083 +N50E084 +N50E085 +N50E086 +N50E087 +N50E088 +N50E089 +N50E090 +N50E091 +N50E092 +N50E093 +N50E094 +N50E095 +N50E096 +N50E097 +N50E098 +N50E099 +N50E100 +N50E101 +N50E102 +N50E103 +N50E104 +N50E105 +N50E106 +N50E107 +N50E108 +N50E109 +N50E110 +N50E111 +N50E112 +N50E113 +N50E114 +N50E115 +N50E116 +N50E117 +N50E118 +N50E119 +N50E120 +N50E121 +N50E122 +N50E123 +N50E124 +N50E125 +N50E126 +N50E127 +N50E128 +N50E129 +N50E130 +N50E131 +N50E132 +N50E133 +N50E134 +N50E135 +N50E136 +N50E137 +N50E138 +N50E139 +N50E140 +N50E142 +N50E143 +N50E154 +N50E155 +N50E156 +N50W001 +N50W002 +N50W003 +N50W004 +N50W005 +N50W006 +N50W056 +N50W057 +N50W058 +N50W059 +N50W060 +N50W061 +N50W062 +N50W063 +N50W064 +N50W065 +N50W066 +N50W067 +N50W068 +N50W069 +N50W070 +N50W071 +N50W072 +N50W073 +N50W074 +N50W075 +N50W076 +N50W077 +N50W078 +N50W079 +N50W080 +N50W081 +N50W082 +N50W083 +N50W084 +N50W085 +N50W086 +N50W087 +N50W088 +N50W089 +N50W090 +N50W091 +N50W092 +N50W093 +N50W094 +N50W095 +N50W096 +N50W097 +N50W098 +N50W099 +N50W100 +N50W101 +N50W102 +N50W103 +N50W104 +N50W105 +N50W106 +N50W107 +N50W108 +N50W109 +N50W110 +N50W111 +N50W112 +N50W113 +N50W114 +N50W115 +N50W116 +N50W117 +N50W118 +N50W119 +N50W120 +N50W121 +N50W122 +N50W123 +N50W124 +N50W125 +N50W126 +N50W127 +N50W128 +N50W129 +N50W130 +N51E000 +N51E001 +N51E002 +N51E003 +N51E004 +N51E005 +N51E006 +N51E007 +N51E008 +N51E009 +N51E010 +N51E011 +N51E012 +N51E013 +N51E014 +N51E015 +N51E016 +N51E017 +N51E018 +N51E019 +N51E020 +N51E021 +N51E022 +N51E023 +N51E024 +N51E025 +N51E026 +N51E027 +N51E028 +N51E029 +N51E030 +N51E031 +N51E032 +N51E033 +N51E034 +N51E035 +N51E036 +N51E037 +N51E038 +N51E039 +N51E040 +N51E041 +N51E042 +N51E043 +N51E044 +N51E045 +N51E046 +N51E047 +N51E048 +N51E049 +N51E050 +N51E051 +N51E052 +N51E053 +N51E054 +N51E055 +N51E056 +N51E057 +N51E058 +N51E059 +N51E060 +N51E061 +N51E062 +N51E063 +N51E064 +N51E065 +N51E066 +N51E067 +N51E068 +N51E069 +N51E070 +N51E071 +N51E072 +N51E073 +N51E074 +N51E075 +N51E076 +N51E077 +N51E078 +N51E079 +N51E080 +N51E081 +N51E082 +N51E083 +N51E084 +N51E085 +N51E086 +N51E087 +N51E088 +N51E089 +N51E090 +N51E091 +N51E092 +N51E093 +N51E094 +N51E095 +N51E096 +N51E097 +N51E098 +N51E099 +N51E100 +N51E101 +N51E102 +N51E103 +N51E104 +N51E105 +N51E106 +N51E107 +N51E108 +N51E109 +N51E110 +N51E111 +N51E112 +N51E113 +N51E114 +N51E115 +N51E116 +N51E117 +N51E118 +N51E119 +N51E120 +N51E121 +N51E122 +N51E123 +N51E124 +N51E125 +N51E126 +N51E127 +N51E128 +N51E129 +N51E130 +N51E131 +N51E132 +N51E133 +N51E134 +N51E135 +N51E136 +N51E137 +N51E138 +N51E139 +N51E140 +N51E141 +N51E142 +N51E143 +N51E156 +N51E157 +N51E158 +N51E177 +N51E178 +N51E179 +N51W001 +N51W002 +N51W003 +N51W004 +N51W005 +N51W006 +N51W008 +N51W009 +N51W010 +N51W011 +N51W056 +N51W057 +N51W058 +N51W059 +N51W060 +N51W061 +N51W062 +N51W063 +N51W064 +N51W065 +N51W066 +N51W067 +N51W068 +N51W069 +N51W070 +N51W071 +N51W072 +N51W073 +N51W074 +N51W075 +N51W076 +N51W077 +N51W078 +N51W079 +N51W080 +N51W081 +N51W082 +N51W083 +N51W084 +N51W085 +N51W086 +N51W087 +N51W088 +N51W089 +N51W090 +N51W091 +N51W092 +N51W093 +N51W094 +N51W095 +N51W096 +N51W097 +N51W098 +N51W099 +N51W100 +N51W101 +N51W102 +N51W103 +N51W104 +N51W105 +N51W106 +N51W107 +N51W108 +N51W109 +N51W110 +N51W111 +N51W112 +N51W113 +N51W114 +N51W115 +N51W116 +N51W117 +N51W118 +N51W119 +N51W120 +N51W121 +N51W122 +N51W123 +N51W124 +N51W125 +N51W126 +N51W127 +N51W128 +N51W129 +N51W131 +N51W132 +N51W176 +N51W177 +N51W178 +N51W179 +N51W180 +N52E000 +N52E001 +N52E004 +N52E005 +N52E006 +N52E007 +N52E008 +N52E009 +N52E010 +N52E011 +N52E012 +N52E013 +N52E014 +N52E015 +N52E016 +N52E017 +N52E018 +N52E019 +N52E020 +N52E021 +N52E022 +N52E023 +N52E024 +N52E025 +N52E026 +N52E027 +N52E028 +N52E029 +N52E030 +N52E031 +N52E032 +N52E033 +N52E034 +N52E035 +N52E036 +N52E037 +N52E038 +N52E039 +N52E040 +N52E041 +N52E042 +N52E043 +N52E044 +N52E045 +N52E046 +N52E047 +N52E048 +N52E049 +N52E050 +N52E051 +N52E052 +N52E053 +N52E054 +N52E055 +N52E056 +N52E057 +N52E058 +N52E059 +N52E060 +N52E061 +N52E062 +N52E063 +N52E064 +N52E065 +N52E066 +N52E067 +N52E068 +N52E069 +N52E070 +N52E071 +N52E072 +N52E073 +N52E074 +N52E075 +N52E076 +N52E077 +N52E078 +N52E079 +N52E080 +N52E081 +N52E082 +N52E083 +N52E084 +N52E085 +N52E086 +N52E087 +N52E088 +N52E089 +N52E090 +N52E091 +N52E092 +N52E093 +N52E094 +N52E095 +N52E096 +N52E097 +N52E098 +N52E099 +N52E100 +N52E101 +N52E102 +N52E103 +N52E104 +N52E105 +N52E106 +N52E107 +N52E108 +N52E109 +N52E110 +N52E111 +N52E112 +N52E113 +N52E114 +N52E115 +N52E116 +N52E117 +N52E118 +N52E119 +N52E120 +N52E121 +N52E122 +N52E123 +N52E124 +N52E125 +N52E126 +N52E127 +N52E128 +N52E129 +N52E130 +N52E131 +N52E132 +N52E133 +N52E134 +N52E135 +N52E136 +N52E137 +N52E138 +N52E139 +N52E140 +N52E141 +N52E142 +N52E143 +N52E156 +N52E157 +N52E158 +N52E172 +N52E173 +N52E174 +N52E175 +N52E177 +N52E178 +N52E179 +N52W001 +N52W002 +N52W003 +N52W004 +N52W005 +N52W006 +N52W007 +N52W008 +N52W009 +N52W010 +N52W011 +N52W056 +N52W057 +N52W058 +N52W059 +N52W060 +N52W061 +N52W062 +N52W063 +N52W064 +N52W065 +N52W066 +N52W067 +N52W068 +N52W069 +N52W070 +N52W071 +N52W072 +N52W073 +N52W074 +N52W075 +N52W076 +N52W077 +N52W078 +N52W079 +N52W080 +N52W081 +N52W082 +N52W083 +N52W084 +N52W085 +N52W086 +N52W087 +N52W088 +N52W089 +N52W090 +N52W091 +N52W092 +N52W093 +N52W094 +N52W095 +N52W096 +N52W097 +N52W098 +N52W099 +N52W100 +N52W101 +N52W102 +N52W103 +N52W104 +N52W105 +N52W106 +N52W107 +N52W108 +N52W109 +N52W110 +N52W111 +N52W112 +N52W113 +N52W114 +N52W115 +N52W116 +N52W117 +N52W118 +N52W119 +N52W120 +N52W121 +N52W122 +N52W123 +N52W124 +N52W125 +N52W126 +N52W127 +N52W128 +N52W129 +N52W130 +N52W131 +N52W132 +N52W133 +N52W169 +N52W170 +N52W171 +N52W172 +N52W173 +N52W174 +N52W175 +N52W176 +N52W177 +N53E000 +N53E004 +N53E005 +N53E006 +N53E007 +N53E008 +N53E009 +N53E010 +N53E011 +N53E012 +N53E013 +N53E014 +N53E015 +N53E016 +N53E017 +N53E018 +N53E019 +N53E020 +N53E021 +N53E022 +N53E023 +N53E024 +N53E025 +N53E026 +N53E027 +N53E028 +N53E029 +N53E030 +N53E031 +N53E032 +N53E033 +N53E034 +N53E035 +N53E036 +N53E037 +N53E038 +N53E039 +N53E040 +N53E041 +N53E042 +N53E043 +N53E044 +N53E045 +N53E046 +N53E047 +N53E048 +N53E049 +N53E050 +N53E051 +N53E052 +N53E053 +N53E054 +N53E055 +N53E056 +N53E057 +N53E058 +N53E059 +N53E060 +N53E061 +N53E062 +N53E063 +N53E064 +N53E065 +N53E066 +N53E067 +N53E068 +N53E069 +N53E070 +N53E071 +N53E072 +N53E073 +N53E074 +N53E075 +N53E076 +N53E077 +N53E078 +N53E079 +N53E080 +N53E081 +N53E082 +N53E083 +N53E084 +N53E085 +N53E086 +N53E087 +N53E088 +N53E089 +N53E090 +N53E091 +N53E092 +N53E093 +N53E094 +N53E095 +N53E096 +N53E097 +N53E098 +N53E099 +N53E100 +N53E101 +N53E102 +N53E103 +N53E104 +N53E105 +N53E106 +N53E107 +N53E108 +N53E109 +N53E110 +N53E111 +N53E112 +N53E113 +N53E114 +N53E115 +N53E116 +N53E117 +N53E118 +N53E119 +N53E120 +N53E121 +N53E122 +N53E123 +N53E124 +N53E125 +N53E126 +N53E127 +N53E128 +N53E129 +N53E130 +N53E131 +N53E132 +N53E133 +N53E134 +N53E135 +N53E136 +N53E137 +N53E138 +N53E139 +N53E140 +N53E141 +N53E142 +N53E143 +N53E155 +N53E156 +N53E157 +N53E158 +N53E159 +N53E160 +N53E172 +N53W001 +N53W002 +N53W003 +N53W004 +N53W005 +N53W006 +N53W007 +N53W008 +N53W009 +N53W010 +N53W011 +N53W056 +N53W057 +N53W058 +N53W059 +N53W060 +N53W061 +N53W062 +N53W063 +N53W064 +N53W065 +N53W066 +N53W067 +N53W068 +N53W069 +N53W070 +N53W071 +N53W072 +N53W073 +N53W074 +N53W075 +N53W076 +N53W077 +N53W078 +N53W079 +N53W080 +N53W081 +N53W082 +N53W083 +N53W084 +N53W085 +N53W086 +N53W087 +N53W088 +N53W089 +N53W090 +N53W091 +N53W092 +N53W093 +N53W094 +N53W095 +N53W096 +N53W097 +N53W098 +N53W099 +N53W100 +N53W101 +N53W102 +N53W103 +N53W104 +N53W105 +N53W106 +N53W107 +N53W108 +N53W109 +N53W110 +N53W111 +N53W112 +N53W113 +N53W114 +N53W115 +N53W116 +N53W117 +N53W118 +N53W119 +N53W120 +N53W121 +N53W122 +N53W123 +N53W124 +N53W125 +N53W126 +N53W127 +N53W128 +N53W129 +N53W130 +N53W131 +N53W132 +N53W133 +N53W134 +N53W167 +N53W168 +N53W169 +N53W170 +N54E007 +N54E008 +N54E009 +N54E010 +N54E011 +N54E012 +N54E013 +N54E014 +N54E015 +N54E016 +N54E017 +N54E018 +N54E019 +N54E020 +N54E021 +N54E022 +N54E023 +N54E024 +N54E025 +N54E026 +N54E027 +N54E028 +N54E029 +N54E030 +N54E031 +N54E032 +N54E033 +N54E034 +N54E035 +N54E036 +N54E037 +N54E038 +N54E039 +N54E040 +N54E041 +N54E042 +N54E043 +N54E044 +N54E045 +N54E046 +N54E047 +N54E048 +N54E049 +N54E050 +N54E051 +N54E052 +N54E053 +N54E054 +N54E055 +N54E056 +N54E057 +N54E058 +N54E059 +N54E060 +N54E061 +N54E062 +N54E063 +N54E064 +N54E065 +N54E066 +N54E067 +N54E068 +N54E069 +N54E070 +N54E071 +N54E072 +N54E073 +N54E074 +N54E075 +N54E076 +N54E077 +N54E078 +N54E079 +N54E080 +N54E081 +N54E082 +N54E083 +N54E084 +N54E085 +N54E086 +N54E087 +N54E088 +N54E089 +N54E090 +N54E091 +N54E092 +N54E093 +N54E094 +N54E095 +N54E096 +N54E097 +N54E098 +N54E099 +N54E100 +N54E101 +N54E102 +N54E103 +N54E104 +N54E105 +N54E106 +N54E107 +N54E108 +N54E109 +N54E110 +N54E111 +N54E112 +N54E113 +N54E114 +N54E115 +N54E116 +N54E117 +N54E118 +N54E119 +N54E120 +N54E121 +N54E122 +N54E123 +N54E124 +N54E125 +N54E126 +N54E127 +N54E128 +N54E129 +N54E130 +N54E131 +N54E132 +N54E133 +N54E134 +N54E135 +N54E136 +N54E137 +N54E138 +N54E139 +N54E140 +N54E142 +N54E155 +N54E156 +N54E157 +N54E158 +N54E159 +N54E160 +N54E161 +N54E162 +N54E166 +N54E167 +N54E168 +N54W001 +N54W002 +N54W003 +N54W004 +N54W005 +N54W006 +N54W007 +N54W008 +N54W009 +N54W010 +N54W011 +N54W057 +N54W058 +N54W059 +N54W060 +N54W061 +N54W062 +N54W063 +N54W064 +N54W065 +N54W066 +N54W067 +N54W068 +N54W069 +N54W070 +N54W071 +N54W072 +N54W073 +N54W074 +N54W075 +N54W076 +N54W077 +N54W078 +N54W079 +N54W080 +N54W081 +N54W082 +N54W083 +N54W084 +N54W085 +N54W086 +N54W087 +N54W088 +N54W089 +N54W090 +N54W091 +N54W092 +N54W093 +N54W094 +N54W095 +N54W096 +N54W097 +N54W098 +N54W099 +N54W100 +N54W101 +N54W102 +N54W103 +N54W104 +N54W105 +N54W106 +N54W107 +N54W108 +N54W109 +N54W110 +N54W111 +N54W112 +N54W113 +N54W114 +N54W115 +N54W116 +N54W117 +N54W118 +N54W119 +N54W120 +N54W121 +N54W122 +N54W123 +N54W124 +N54W125 +N54W126 +N54W127 +N54W128 +N54W129 +N54W130 +N54W131 +N54W132 +N54W133 +N54W134 +N54W160 +N54W161 +N54W162 +N54W163 +N54W164 +N54W165 +N54W166 +N54W167 +N55E008 +N55E009 +N55E010 +N55E011 +N55E012 +N55E013 +N55E014 +N55E015 +N55E020 +N55E021 +N55E022 +N55E023 +N55E024 +N55E025 +N55E026 +N55E027 +N55E028 +N55E029 +N55E030 +N55E031 +N55E032 +N55E033 +N55E034 +N55E035 +N55E036 +N55E037 +N55E038 +N55E039 +N55E040 +N55E041 +N55E042 +N55E043 +N55E044 +N55E045 +N55E046 +N55E047 +N55E048 +N55E049 +N55E050 +N55E051 +N55E052 +N55E053 +N55E054 +N55E055 +N55E056 +N55E057 +N55E058 +N55E059 +N55E060 +N55E061 +N55E062 +N55E063 +N55E064 +N55E065 +N55E066 +N55E067 +N55E068 +N55E069 +N55E070 +N55E071 +N55E072 +N55E073 +N55E074 +N55E075 +N55E076 +N55E077 +N55E078 +N55E079 +N55E080 +N55E081 +N55E082 +N55E083 +N55E084 +N55E085 +N55E086 +N55E087 +N55E088 +N55E089 +N55E090 +N55E091 +N55E092 +N55E093 +N55E094 +N55E095 +N55E096 +N55E097 +N55E098 +N55E099 +N55E100 +N55E101 +N55E102 +N55E103 +N55E104 +N55E105 +N55E106 +N55E107 +N55E108 +N55E109 +N55E110 +N55E111 +N55E112 +N55E113 +N55E114 +N55E115 +N55E116 +N55E117 +N55E118 +N55E119 +N55E120 +N55E121 +N55E122 +N55E123 +N55E124 +N55E125 +N55E126 +N55E127 +N55E128 +N55E129 +N55E130 +N55E131 +N55E132 +N55E133 +N55E134 +N55E135 +N55E136 +N55E137 +N55E138 +N55E155 +N55E156 +N55E157 +N55E158 +N55E159 +N55E160 +N55E161 +N55E162 +N55E165 +N55E166 +N55W002 +N55W003 +N55W004 +N55W005 +N55W006 +N55W007 +N55W008 +N55W009 +N55W059 +N55W060 +N55W061 +N55W062 +N55W063 +N55W064 +N55W065 +N55W066 +N55W067 +N55W068 +N55W069 +N55W070 +N55W071 +N55W072 +N55W073 +N55W074 +N55W075 +N55W076 +N55W077 +N55W078 +N55W079 +N55W080 +N55W081 +N55W083 +N55W084 +N55W085 +N55W086 +N55W087 +N55W088 +N55W089 +N55W090 +N55W091 +N55W092 +N55W093 +N55W094 +N55W095 +N55W096 +N55W097 +N55W098 +N55W099 +N55W100 +N55W101 +N55W102 +N55W103 +N55W104 +N55W105 +N55W106 +N55W107 +N55W108 +N55W109 +N55W110 +N55W111 +N55W112 +N55W113 +N55W114 +N55W115 +N55W116 +N55W117 +N55W118 +N55W119 +N55W120 +N55W121 +N55W122 +N55W123 +N55W124 +N55W125 +N55W126 +N55W127 +N55W128 +N55W129 +N55W130 +N55W131 +N55W132 +N55W133 +N55W134 +N55W135 +N55W156 +N55W157 +N55W159 +N55W160 +N55W161 +N55W162 +N55W163 +N55W164 +N56E008 +N56E009 +N56E010 +N56E011 +N56E012 +N56E013 +N56E014 +N56E015 +N56E016 +N56E018 +N56E020 +N56E021 +N56E022 +N56E023 +N56E024 +N56E025 +N56E026 +N56E027 +N56E028 +N56E029 +N56E030 +N56E031 +N56E032 +N56E033 +N56E034 +N56E035 +N56E036 +N56E037 +N56E038 +N56E039 +N56E040 +N56E041 +N56E042 +N56E043 +N56E044 +N56E045 +N56E046 +N56E047 +N56E048 +N56E049 +N56E050 +N56E051 +N56E052 +N56E053 +N56E054 +N56E055 +N56E056 +N56E057 +N56E058 +N56E059 +N56E060 +N56E061 +N56E062 +N56E063 +N56E064 +N56E065 +N56E066 +N56E067 +N56E068 +N56E069 +N56E070 +N56E071 +N56E072 +N56E073 +N56E074 +N56E075 +N56E076 +N56E077 +N56E078 +N56E079 +N56E080 +N56E081 +N56E082 +N56E083 +N56E084 +N56E085 +N56E086 +N56E087 +N56E088 +N56E089 +N56E090 +N56E091 +N56E092 +N56E093 +N56E094 +N56E095 +N56E096 +N56E097 +N56E098 +N56E099 +N56E100 +N56E101 +N56E102 +N56E103 +N56E104 +N56E105 +N56E106 +N56E107 +N56E108 +N56E109 +N56E110 +N56E111 +N56E112 +N56E113 +N56E114 +N56E115 +N56E116 +N56E117 +N56E118 +N56E119 +N56E120 +N56E121 +N56E122 +N56E123 +N56E124 +N56E125 +N56E126 +N56E127 +N56E128 +N56E129 +N56E130 +N56E131 +N56E132 +N56E133 +N56E134 +N56E135 +N56E136 +N56E137 +N56E138 +N56E143 +N56E155 +N56E156 +N56E157 +N56E158 +N56E159 +N56E160 +N56E161 +N56E162 +N56E163 +N56W003 +N56W004 +N56W005 +N56W006 +N56W007 +N56W008 +N56W061 +N56W062 +N56W063 +N56W064 +N56W065 +N56W066 +N56W067 +N56W068 +N56W069 +N56W070 +N56W071 +N56W072 +N56W073 +N56W074 +N56W075 +N56W076 +N56W077 +N56W078 +N56W079 +N56W080 +N56W081 +N56W088 +N56W089 +N56W090 +N56W091 +N56W092 +N56W093 +N56W094 +N56W095 +N56W096 +N56W097 +N56W098 +N56W099 +N56W100 +N56W101 +N56W102 +N56W103 +N56W104 +N56W105 +N56W106 +N56W107 +N56W108 +N56W109 +N56W110 +N56W111 +N56W112 +N56W113 +N56W114 +N56W115 +N56W116 +N56W117 +N56W118 +N56W119 +N56W120 +N56W121 +N56W122 +N56W123 +N56W124 +N56W125 +N56W126 +N56W127 +N56W128 +N56W129 +N56W130 +N56W131 +N56W132 +N56W133 +N56W134 +N56W135 +N56W136 +N56W154 +N56W155 +N56W157 +N56W158 +N56W159 +N56W160 +N56W161 +N56W162 +N56W170 +N57E006 +N57E007 +N57E008 +N57E009 +N57E010 +N57E011 +N57E012 +N57E013 +N57E014 +N57E015 +N57E016 +N57E017 +N57E018 +N57E019 +N57E021 +N57E022 +N57E023 +N57E024 +N57E025 +N57E026 +N57E027 +N57E028 +N57E029 +N57E030 +N57E031 +N57E032 +N57E033 +N57E034 +N57E035 +N57E036 +N57E037 +N57E038 +N57E039 +N57E040 +N57E041 +N57E042 +N57E043 +N57E044 +N57E045 +N57E046 +N57E047 +N57E048 +N57E049 +N57E050 +N57E051 +N57E052 +N57E053 +N57E054 +N57E055 +N57E056 +N57E057 +N57E058 +N57E059 +N57E060 +N57E061 +N57E062 +N57E063 +N57E064 +N57E065 +N57E066 +N57E067 +N57E068 +N57E069 +N57E070 +N57E071 +N57E072 +N57E073 +N57E074 +N57E075 +N57E076 +N57E077 +N57E078 +N57E079 +N57E080 +N57E081 +N57E082 +N57E083 +N57E084 +N57E085 +N57E086 +N57E087 +N57E088 +N57E089 +N57E090 +N57E091 +N57E092 +N57E093 +N57E094 +N57E095 +N57E096 +N57E097 +N57E098 +N57E099 +N57E100 +N57E101 +N57E102 +N57E103 +N57E104 +N57E105 +N57E106 +N57E107 +N57E108 +N57E109 +N57E110 +N57E111 +N57E112 +N57E113 +N57E114 +N57E115 +N57E116 +N57E117 +N57E118 +N57E119 +N57E120 +N57E121 +N57E122 +N57E123 +N57E124 +N57E125 +N57E126 +N57E127 +N57E128 +N57E129 +N57E130 +N57E131 +N57E132 +N57E133 +N57E134 +N57E135 +N57E136 +N57E137 +N57E138 +N57E139 +N57E140 +N57E156 +N57E157 +N57E158 +N57E159 +N57E160 +N57E161 +N57E162 +N57E163 +N57W002 +N57W003 +N57W004 +N57W005 +N57W006 +N57W007 +N57W008 +N57W009 +N57W014 +N57W062 +N57W063 +N57W064 +N57W065 +N57W066 +N57W067 +N57W068 +N57W069 +N57W070 +N57W071 +N57W072 +N57W073 +N57W074 +N57W075 +N57W076 +N57W077 +N57W078 +N57W079 +N57W080 +N57W090 +N57W091 +N57W092 +N57W093 +N57W094 +N57W095 +N57W096 +N57W097 +N57W098 +N57W099 +N57W100 +N57W101 +N57W102 +N57W103 +N57W104 +N57W105 +N57W106 +N57W107 +N57W108 +N57W109 +N57W110 +N57W111 +N57W112 +N57W113 +N57W114 +N57W115 +N57W116 +N57W117 +N57W118 +N57W119 +N57W120 +N57W121 +N57W122 +N57W123 +N57W124 +N57W125 +N57W126 +N57W127 +N57W128 +N57W129 +N57W130 +N57W131 +N57W132 +N57W133 +N57W134 +N57W135 +N57W136 +N57W137 +N57W153 +N57W154 +N57W155 +N57W156 +N57W157 +N57W158 +N57W159 +N57W171 +N58E005 +N58E006 +N58E007 +N58E008 +N58E009 +N58E010 +N58E011 +N58E012 +N58E013 +N58E014 +N58E015 +N58E016 +N58E017 +N58E018 +N58E019 +N58E021 +N58E022 +N58E023 +N58E024 +N58E025 +N58E026 +N58E027 +N58E028 +N58E029 +N58E030 +N58E031 +N58E032 +N58E033 +N58E034 +N58E035 +N58E036 +N58E037 +N58E038 +N58E039 +N58E040 +N58E041 +N58E042 +N58E043 +N58E044 +N58E045 +N58E046 +N58E047 +N58E048 +N58E049 +N58E050 +N58E051 +N58E052 +N58E053 +N58E054 +N58E055 +N58E056 +N58E057 +N58E058 +N58E059 +N58E060 +N58E061 +N58E062 +N58E063 +N58E064 +N58E065 +N58E066 +N58E067 +N58E068 +N58E069 +N58E070 +N58E071 +N58E072 +N58E073 +N58E074 +N58E075 +N58E076 +N58E077 +N58E078 +N58E079 +N58E080 +N58E081 +N58E082 +N58E083 +N58E084 +N58E085 +N58E086 +N58E087 +N58E088 +N58E089 +N58E090 +N58E091 +N58E092 +N58E093 +N58E094 +N58E095 +N58E096 +N58E097 +N58E098 +N58E099 +N58E100 +N58E101 +N58E102 +N58E103 +N58E104 +N58E105 +N58E106 +N58E107 +N58E108 +N58E109 +N58E110 +N58E111 +N58E112 +N58E113 +N58E114 +N58E115 +N58E116 +N58E117 +N58E118 +N58E119 +N58E120 +N58E121 +N58E122 +N58E123 +N58E124 +N58E125 +N58E126 +N58E127 +N58E128 +N58E129 +N58E130 +N58E131 +N58E132 +N58E133 +N58E134 +N58E135 +N58E136 +N58E137 +N58E138 +N58E139 +N58E140 +N58E141 +N58E142 +N58E150 +N58E151 +N58E152 +N58E157 +N58E158 +N58E159 +N58E160 +N58E161 +N58E162 +N58E163 +N58E164 +N58W003 +N58W004 +N58W005 +N58W006 +N58W007 +N58W008 +N58W063 +N58W064 +N58W065 +N58W066 +N58W067 +N58W068 +N58W069 +N58W070 +N58W071 +N58W072 +N58W073 +N58W074 +N58W075 +N58W076 +N58W077 +N58W078 +N58W079 +N58W081 +N58W093 +N58W094 +N58W095 +N58W096 +N58W097 +N58W098 +N58W099 +N58W100 +N58W101 +N58W102 +N58W103 +N58W104 +N58W105 +N58W106 +N58W107 +N58W108 +N58W109 +N58W110 +N58W111 +N58W112 +N58W113 +N58W114 +N58W115 +N58W116 +N58W117 +N58W118 +N58W119 +N58W120 +N58W121 +N58W122 +N58W123 +N58W124 +N58W125 +N58W126 +N58W127 +N58W128 +N58W129 +N58W130 +N58W131 +N58W132 +N58W133 +N58W134 +N58W135 +N58W136 +N58W137 +N58W138 +N58W139 +N58W152 +N58W153 +N58W154 +N58W155 +N58W156 +N58W157 +N58W158 +N58W159 +N58W160 +N58W161 +N58W162 +N58W163 +N59E004 +N59E005 +N59E006 +N59E007 +N59E008 +N59E009 +N59E010 +N59E011 +N59E012 +N59E013 +N59E014 +N59E015 +N59E016 +N59E017 +N59E018 +N59E019 +N59E020 +N59E021 +N59E022 +N59E023 +N59E024 +N59E025 +N59E026 +N59E027 +N59E028 +N59E029 +N59E030 +N59E031 +N59E032 +N59E033 +N59E034 +N59E035 +N59E036 +N59E037 +N59E038 +N59E039 +N59E040 +N59E041 +N59E042 +N59E043 +N59E044 +N59E045 +N59E046 +N59E047 +N59E048 +N59E049 +N59E050 +N59E051 +N59E052 +N59E053 +N59E054 +N59E055 +N59E056 +N59E057 +N59E058 +N59E059 +N59E060 +N59E061 +N59E062 +N59E063 +N59E064 +N59E065 +N59E066 +N59E067 +N59E068 +N59E069 +N59E070 +N59E071 +N59E072 +N59E073 +N59E074 +N59E075 +N59E076 +N59E077 +N59E078 +N59E079 +N59E080 +N59E081 +N59E082 +N59E083 +N59E084 +N59E085 +N59E086 +N59E087 +N59E088 +N59E089 +N59E090 +N59E091 +N59E092 +N59E093 +N59E094 +N59E095 +N59E096 +N59E097 +N59E098 +N59E099 +N59E100 +N59E101 +N59E102 +N59E103 +N59E104 +N59E105 +N59E106 +N59E107 +N59E108 +N59E109 +N59E110 +N59E111 +N59E112 +N59E113 +N59E114 +N59E115 +N59E116 +N59E117 +N59E118 +N59E119 +N59E120 +N59E121 +N59E122 +N59E123 +N59E124 +N59E125 +N59E126 +N59E127 +N59E128 +N59E129 +N59E130 +N59E131 +N59E132 +N59E133 +N59E134 +N59E135 +N59E136 +N59E137 +N59E138 +N59E139 +N59E140 +N59E141 +N59E142 +N59E143 +N59E144 +N59E145 +N59E146 +N59E147 +N59E148 +N59E149 +N59E150 +N59E151 +N59E152 +N59E153 +N59E154 +N59E155 +N59E159 +N59E160 +N59E161 +N59E162 +N59E163 +N59E164 +N59E165 +N59E166 +N59E170 +N59W002 +N59W003 +N59W004 +N59W005 +N59W006 +N59W007 +N59W044 +N59W045 +N59W046 +N59W064 +N59W065 +N59W066 +N59W069 +N59W070 +N59W071 +N59W072 +N59W073 +N59W074 +N59W075 +N59W076 +N59W077 +N59W078 +N59W079 +N59W080 +N59W081 +N59W095 +N59W096 +N59W097 +N59W098 +N59W099 +N59W100 +N59W101 +N59W102 +N59W103 +N59W104 +N59W105 +N59W106 +N59W107 +N59W108 +N59W109 +N59W110 +N59W111 +N59W112 +N59W113 +N59W114 +N59W115 +N59W116 +N59W117 +N59W118 +N59W119 +N59W120 +N59W121 +N59W122 +N59W123 +N59W124 +N59W125 +N59W126 +N59W127 +N59W128 +N59W129 +N59W130 +N59W131 +N59W132 +N59W133 +N59W134 +N59W135 +N59W136 +N59W137 +N59W138 +N59W139 +N59W140 +N59W141 +N59W142 +N59W144 +N59W145 +N59W147 +N59W148 +N59W149 +N59W150 +N59W151 +N59W152 +N59W153 +N59W154 +N59W155 +N59W156 +N59W157 +N59W158 +N59W159 +N59W160 +N59W161 +N59W162 +N59W163 +N59W164 +N59W165 +N59W166 +N59W167 +N59W168 +N60E004 +N60E005 +N60E006 +N60E007 +N60E008 +N60E009 +N60E010 +N60E011 +N60E012 +N60E013 +N60E014 +N60E015 +N60E016 +N60E017 +N60E018 +N60E019 +N60E020 +N60E021 +N60E022 +N60E023 +N60E024 +N60E025 +N60E026 +N60E027 +N60E028 +N60E029 +N60E030 +N60E031 +N60E032 +N60E033 +N60E034 +N60E035 +N60E036 +N60E037 +N60E038 +N60E039 +N60E040 +N60E041 +N60E042 +N60E043 +N60E044 +N60E045 +N60E046 +N60E047 +N60E048 +N60E049 +N60E050 +N60E051 +N60E052 +N60E053 +N60E054 +N60E055 +N60E056 +N60E057 +N60E058 +N60E059 +N60E060 +N60E061 +N60E062 +N60E063 +N60E064 +N60E065 +N60E066 +N60E067 +N60E068 +N60E069 +N60E070 +N60E071 +N60E072 +N60E073 +N60E074 +N60E075 +N60E076 +N60E077 +N60E078 +N60E079 +N60E080 +N60E081 +N60E082 +N60E083 +N60E084 +N60E085 +N60E086 +N60E087 +N60E088 +N60E089 +N60E090 +N60E091 +N60E092 +N60E093 +N60E094 +N60E095 +N60E096 +N60E097 +N60E098 +N60E099 +N60E100 +N60E101 +N60E102 +N60E103 +N60E104 +N60E105 +N60E106 +N60E107 +N60E108 +N60E109 +N60E110 +N60E111 +N60E112 +N60E113 +N60E114 +N60E115 +N60E116 +N60E117 +N60E118 +N60E119 +N60E120 +N60E121 +N60E122 +N60E123 +N60E124 +N60E125 +N60E126 +N60E127 +N60E128 +N60E129 +N60E130 +N60E131 +N60E132 +N60E133 +N60E134 +N60E135 +N60E136 +N60E137 +N60E138 +N60E139 +N60E140 +N60E141 +N60E142 +N60E143 +N60E144 +N60E145 +N60E146 +N60E147 +N60E148 +N60E149 +N60E150 +N60E151 +N60E152 +N60E153 +N60E154 +N60E155 +N60E156 +N60E159 +N60E160 +N60E161 +N60E162 +N60E163 +N60E164 +N60E165 +N60E166 +N60E167 +N60E168 +N60E169 +N60E170 +N60E171 +N60E172 +N60W001 +N60W002 +N60W003 +N60W043 +N60W044 +N60W045 +N60W046 +N60W047 +N60W048 +N60W049 +N60W065 +N60W066 +N60W068 +N60W069 +N60W070 +N60W071 +N60W072 +N60W073 +N60W074 +N60W075 +N60W076 +N60W077 +N60W078 +N60W079 +N60W095 +N60W096 +N60W097 +N60W098 +N60W099 +N60W100 +N60W101 +N60W102 +N60W103 +N60W104 +N60W105 +N60W106 +N60W107 +N60W108 +N60W109 +N60W110 +N60W111 +N60W112 +N60W113 +N60W114 +N60W115 +N60W116 +N60W117 +N60W118 +N60W119 +N60W120 +N60W121 +N60W122 +N60W123 +N60W124 +N60W125 +N60W126 +N60W127 +N60W128 +N60W129 +N60W130 +N60W131 +N60W132 +N60W133 +N60W134 +N60W135 +N60W136 +N60W137 +N60W138 +N60W139 +N60W140 +N60W141 +N60W142 +N60W143 +N60W144 +N60W145 +N60W146 +N60W147 +N60W148 +N60W149 +N60W150 +N60W151 +N60W152 +N60W153 +N60W154 +N60W155 +N60W156 +N60W157 +N60W158 +N60W159 +N60W160 +N60W161 +N60W162 +N60W163 +N60W164 +N60W165 +N60W166 +N60W167 +N60W168 +N60W173 +N60W174 +N61E004 +N61E005 +N61E006 +N61E007 +N61E008 +N61E009 +N61E010 +N61E011 +N61E012 +N61E013 +N61E014 +N61E015 +N61E016 +N61E017 +N61E018 +N61E021 +N61E022 +N61E023 +N61E024 +N61E025 +N61E026 +N61E027 +N61E028 +N61E029 +N61E030 +N61E031 +N61E032 +N61E033 +N61E034 +N61E035 +N61E036 +N61E037 +N61E038 +N61E039 +N61E040 +N61E041 +N61E042 +N61E043 +N61E044 +N61E045 +N61E046 +N61E047 +N61E048 +N61E049 +N61E050 +N61E051 +N61E052 +N61E053 +N61E054 +N61E055 +N61E056 +N61E057 +N61E058 +N61E059 +N61E060 +N61E061 +N61E062 +N61E063 +N61E064 +N61E065 +N61E066 +N61E067 +N61E068 +N61E069 +N61E070 +N61E071 +N61E072 +N61E073 +N61E074 +N61E075 +N61E076 +N61E077 +N61E078 +N61E079 +N61E080 +N61E081 +N61E082 +N61E083 +N61E084 +N61E085 +N61E086 +N61E087 +N61E088 +N61E089 +N61E090 +N61E091 +N61E092 +N61E093 +N61E094 +N61E095 +N61E096 +N61E097 +N61E098 +N61E099 +N61E100 +N61E101 +N61E102 +N61E103 +N61E104 +N61E105 +N61E106 +N61E107 +N61E108 +N61E109 +N61E110 +N61E111 +N61E112 +N61E113 +N61E114 +N61E115 +N61E116 +N61E117 +N61E118 +N61E119 +N61E120 +N61E121 +N61E122 +N61E123 +N61E124 +N61E125 +N61E126 +N61E127 +N61E128 +N61E129 +N61E130 +N61E131 +N61E132 +N61E133 +N61E134 +N61E135 +N61E136 +N61E137 +N61E138 +N61E139 +N61E140 +N61E141 +N61E142 +N61E143 +N61E144 +N61E145 +N61E146 +N61E147 +N61E148 +N61E149 +N61E150 +N61E151 +N61E152 +N61E153 +N61E154 +N61E155 +N61E156 +N61E157 +N61E158 +N61E159 +N61E160 +N61E161 +N61E162 +N61E163 +N61E164 +N61E165 +N61E166 +N61E167 +N61E168 +N61E169 +N61E170 +N61E171 +N61E172 +N61E173 +N61E174 +N61E175 +N61W007 +N61W008 +N61W043 +N61W044 +N61W045 +N61W046 +N61W047 +N61W048 +N61W049 +N61W050 +N61W065 +N61W066 +N61W067 +N61W070 +N61W071 +N61W072 +N61W073 +N61W074 +N61W075 +N61W076 +N61W077 +N61W078 +N61W079 +N61W080 +N61W081 +N61W093 +N61W094 +N61W095 +N61W096 +N61W097 +N61W098 +N61W099 +N61W100 +N61W101 +N61W102 +N61W103 +N61W104 +N61W105 +N61W106 +N61W107 +N61W108 +N61W109 +N61W110 +N61W111 +N61W112 +N61W113 +N61W114 +N61W115 +N61W116 +N61W117 +N61W118 +N61W119 +N61W120 +N61W121 +N61W122 +N61W123 +N61W124 +N61W125 +N61W126 +N61W127 +N61W128 +N61W129 +N61W130 +N61W131 +N61W132 +N61W133 +N61W134 +N61W135 +N61W136 +N61W137 +N61W138 +N61W139 +N61W140 +N61W141 +N61W142 +N61W143 +N61W144 +N61W145 +N61W146 +N61W147 +N61W148 +N61W149 +N61W150 +N61W151 +N61W152 +N61W153 +N61W154 +N61W155 +N61W156 +N61W157 +N61W158 +N61W159 +N61W160 +N61W161 +N61W162 +N61W163 +N61W164 +N61W165 +N61W166 +N61W167 +N62E004 +N62E005 +N62E006 +N62E007 +N62E008 +N62E009 +N62E010 +N62E011 +N62E012 +N62E013 +N62E014 +N62E015 +N62E016 +N62E017 +N62E018 +N62E019 +N62E020 +N62E021 +N62E022 +N62E023 +N62E024 +N62E025 +N62E026 +N62E027 +N62E028 +N62E029 +N62E030 +N62E031 +N62E032 +N62E033 +N62E034 +N62E035 +N62E036 +N62E037 +N62E038 +N62E039 +N62E040 +N62E041 +N62E042 +N62E043 +N62E044 +N62E045 +N62E046 +N62E047 +N62E048 +N62E049 +N62E050 +N62E051 +N62E052 +N62E053 +N62E054 +N62E055 +N62E056 +N62E057 +N62E058 +N62E059 +N62E060 +N62E061 +N62E062 +N62E063 +N62E064 +N62E065 +N62E066 +N62E067 +N62E068 +N62E069 +N62E070 +N62E071 +N62E072 +N62E073 +N62E074 +N62E075 +N62E076 +N62E077 +N62E078 +N62E079 +N62E080 +N62E081 +N62E082 +N62E083 +N62E084 +N62E085 +N62E086 +N62E087 +N62E088 +N62E089 +N62E090 +N62E091 +N62E092 +N62E093 +N62E094 +N62E095 +N62E096 +N62E097 +N62E098 +N62E099 +N62E100 +N62E101 +N62E102 +N62E103 +N62E104 +N62E105 +N62E106 +N62E107 +N62E108 +N62E109 +N62E110 +N62E111 +N62E112 +N62E113 +N62E114 +N62E115 +N62E116 +N62E117 +N62E118 +N62E119 +N62E120 +N62E121 +N62E122 +N62E123 +N62E124 +N62E125 +N62E126 +N62E127 +N62E128 +N62E129 +N62E130 +N62E131 +N62E132 +N62E133 +N62E134 +N62E135 +N62E136 +N62E137 +N62E138 +N62E139 +N62E140 +N62E141 +N62E142 +N62E143 +N62E144 +N62E145 +N62E146 +N62E147 +N62E148 +N62E149 +N62E150 +N62E151 +N62E152 +N62E153 +N62E154 +N62E155 +N62E156 +N62E157 +N62E158 +N62E159 +N62E160 +N62E161 +N62E162 +N62E163 +N62E164 +N62E165 +N62E166 +N62E167 +N62E168 +N62E169 +N62E170 +N62E171 +N62E172 +N62E173 +N62E174 +N62E175 +N62E176 +N62E177 +N62E178 +N62E179 +N62W007 +N62W008 +N62W042 +N62W043 +N62W044 +N62W045 +N62W046 +N62W047 +N62W048 +N62W049 +N62W050 +N62W051 +N62W064 +N62W065 +N62W066 +N62W067 +N62W068 +N62W069 +N62W070 +N62W071 +N62W072 +N62W073 +N62W074 +N62W075 +N62W076 +N62W077 +N62W078 +N62W079 +N62W080 +N62W081 +N62W082 +N62W083 +N62W084 +N62W091 +N62W092 +N62W093 +N62W094 +N62W095 +N62W096 +N62W097 +N62W098 +N62W099 +N62W100 +N62W101 +N62W102 +N62W103 +N62W104 +N62W105 +N62W106 +N62W107 +N62W108 +N62W109 +N62W110 +N62W111 +N62W112 +N62W113 +N62W114 +N62W115 +N62W116 +N62W117 +N62W118 +N62W119 +N62W120 +N62W121 +N62W122 +N62W123 +N62W124 +N62W125 +N62W126 +N62W127 +N62W128 +N62W129 +N62W130 +N62W131 +N62W132 +N62W133 +N62W134 +N62W135 +N62W136 +N62W137 +N62W138 +N62W139 +N62W140 +N62W141 +N62W142 +N62W143 +N62W144 +N62W145 +N62W146 +N62W147 +N62W148 +N62W149 +N62W150 +N62W151 +N62W152 +N62W153 +N62W154 +N62W155 +N62W156 +N62W157 +N62W158 +N62W159 +N62W160 +N62W161 +N62W162 +N62W163 +N62W164 +N62W165 +N62W166 +N62W167 +N62W170 +N63E007 +N63E008 +N63E009 +N63E010 +N63E011 +N63E012 +N63E013 +N63E014 +N63E015 +N63E016 +N63E017 +N63E018 +N63E019 +N63E020 +N63E021 +N63E022 +N63E023 +N63E024 +N63E025 +N63E026 +N63E027 +N63E028 +N63E029 +N63E030 +N63E031 +N63E032 +N63E033 +N63E034 +N63E035 +N63E036 +N63E037 +N63E038 +N63E039 +N63E040 +N63E041 +N63E042 +N63E043 +N63E044 +N63E045 +N63E046 +N63E047 +N63E048 +N63E049 +N63E050 +N63E051 +N63E052 +N63E053 +N63E054 +N63E055 +N63E056 +N63E057 +N63E058 +N63E059 +N63E060 +N63E061 +N63E062 +N63E063 +N63E064 +N63E065 +N63E066 +N63E067 +N63E068 +N63E069 +N63E070 +N63E071 +N63E072 +N63E073 +N63E074 +N63E075 +N63E076 +N63E077 +N63E078 +N63E079 +N63E080 +N63E081 +N63E082 +N63E083 +N63E084 +N63E085 +N63E086 +N63E087 +N63E088 +N63E089 +N63E090 +N63E091 +N63E092 +N63E093 +N63E094 +N63E095 +N63E096 +N63E097 +N63E098 +N63E099 +N63E100 +N63E101 +N63E102 +N63E103 +N63E104 +N63E105 +N63E106 +N63E107 +N63E108 +N63E109 +N63E110 +N63E111 +N63E112 +N63E113 +N63E114 +N63E115 +N63E116 +N63E117 +N63E118 +N63E119 +N63E120 +N63E121 +N63E122 +N63E123 +N63E124 +N63E125 +N63E126 +N63E127 +N63E128 +N63E129 +N63E130 +N63E131 +N63E132 +N63E133 +N63E134 +N63E135 +N63E136 +N63E137 +N63E138 +N63E139 +N63E140 +N63E141 +N63E142 +N63E143 +N63E144 +N63E145 +N63E146 +N63E147 +N63E148 +N63E149 +N63E150 +N63E151 +N63E152 +N63E153 +N63E154 +N63E155 +N63E156 +N63E157 +N63E158 +N63E159 +N63E160 +N63E161 +N63E162 +N63E163 +N63E164 +N63E165 +N63E166 +N63E167 +N63E168 +N63E169 +N63E170 +N63E171 +N63E172 +N63E173 +N63E174 +N63E175 +N63E176 +N63E177 +N63E178 +N63E179 +n63w014 +n63w015 +n63w016 +n63w017 +n63w018 +n63w019 +n63w020 +n63w021 +n63w022 +n63w023 +n63w024 +n63w025 +N63W041 +N63W042 +N63W043 +N63W044 +N63W045 +N63W046 +N63W047 +N63W048 +N63W049 +N63W050 +N63W051 +N63W052 +N63W064 +N63W065 +N63W066 +N63W067 +N63W068 +N63W069 +N63W070 +N63W071 +N63W072 +N63W073 +N63W074 +N63W077 +N63W078 +N63W079 +N63W081 +N63W082 +N63W083 +N63W084 +N63W085 +N63W086 +N63W087 +N63W088 +N63W089 +N63W090 +N63W091 +N63W092 +N63W093 +N63W094 +N63W095 +N63W096 +N63W097 +N63W098 +N63W099 +N63W100 +N63W101 +N63W102 +N63W103 +N63W104 +N63W105 +N63W106 +N63W107 +N63W108 +N63W109 +N63W110 +N63W111 +N63W112 +N63W113 +N63W114 +N63W115 +N63W116 +N63W117 +N63W118 +N63W119 +N63W120 +N63W121 +N63W122 +N63W123 +N63W124 +N63W125 +N63W126 +N63W127 +N63W128 +N63W129 +N63W130 +N63W131 +N63W132 +N63W133 +N63W134 +N63W135 +N63W136 +N63W137 +N63W138 +N63W139 +N63W140 +N63W141 +N63W142 +N63W143 +N63W144 +N63W145 +N63W146 +N63W147 +N63W148 +N63W149 +N63W150 +N63W151 +N63W152 +N63W153 +N63W154 +N63W155 +N63W156 +N63W157 +N63W158 +N63W159 +N63W160 +N63W161 +N63W162 +N63W163 +N63W164 +N63W165 +N63W169 +N63W170 +N63W171 +N63W172 +N64E009 +N64E010 +N64E011 +N64E012 +N64E013 +N64E014 +N64E015 +N64E016 +N64E017 +N64E018 +N64E019 +N64E020 +N64E021 +N64E023 +N64E024 +N64E025 +N64E026 +N64E027 +N64E028 +N64E029 +N64E030 +N64E031 +N64E032 +N64E033 +N64E034 +N64E035 +N64E036 +N64E037 +N64E038 +N64E039 +N64E040 +N64E041 +N64E042 +N64E043 +N64E044 +N64E045 +N64E046 +N64E047 +N64E048 +N64E049 +N64E050 +N64E051 +N64E052 +N64E053 +N64E054 +N64E055 +N64E056 +N64E057 +N64E058 +N64E059 +N64E060 +N64E061 +N64E062 +N64E063 +N64E064 +N64E065 +N64E066 +N64E067 +N64E068 +N64E069 +N64E070 +N64E071 +N64E072 +N64E073 +N64E074 +N64E075 +N64E076 +N64E077 +N64E078 +N64E079 +N64E080 +N64E081 +N64E082 +N64E083 +N64E084 +N64E085 +N64E086 +N64E087 +N64E088 +N64E089 +N64E090 +N64E091 +N64E092 +N64E093 +N64E094 +N64E095 +N64E096 +N64E097 +N64E098 +N64E099 +N64E100 +N64E101 +N64E102 +N64E103 +N64E104 +N64E105 +N64E106 +N64E107 +N64E108 +N64E109 +N64E110 +N64E111 +N64E112 +N64E113 +N64E114 +N64E115 +N64E116 +N64E117 +N64E118 +N64E119 +N64E120 +N64E121 +N64E122 +N64E123 +N64E124 +N64E125 +N64E126 +N64E127 +N64E128 +N64E129 +N64E130 +N64E131 +N64E132 +N64E133 +N64E134 +N64E135 +N64E136 +N64E137 +N64E138 +N64E139 +N64E140 +N64E141 +N64E142 +N64E143 +N64E144 +N64E145 +N64E146 +N64E147 +N64E148 +N64E149 +N64E150 +N64E151 +N64E152 +N64E153 +N64E154 +N64E155 +N64E156 +N64E157 +N64E158 +N64E159 +N64E160 +N64E161 +N64E162 +N64E163 +N64E164 +N64E165 +N64E166 +N64E167 +N64E168 +N64E169 +N64E170 +N64E171 +N64E172 +N64E173 +N64E174 +N64E175 +N64E176 +N64E177 +N64E178 +N64E179 +n64w014 +n64w015 +n64w016 +n64w017 +n64w018 +n64w019 +n64w020 +n64w021 +n64w022 +n64w023 +n64w024 +n64w025 +N64W039 +N64W040 +N64W041 +N64W042 +N64W043 +N64W044 +N64W045 +N64W046 +N64W047 +N64W048 +N64W049 +N64W050 +N64W051 +N64W052 +N64W053 +N64W064 +N64W065 +N64W066 +N64W067 +N64W068 +N64W069 +N64W070 +N64W071 +N64W072 +N64W073 +N64W074 +N64W075 +N64W076 +N64W077 +N64W078 +N64W079 +N64W081 +N64W082 +N64W083 +N64W084 +N64W085 +N64W086 +N64W087 +N64W088 +N64W089 +N64W090 +N64W091 +N64W092 +N64W093 +N64W094 +N64W095 +N64W096 +N64W097 +N64W098 +N64W099 +N64W100 +N64W101 +N64W102 +N64W103 +N64W104 +N64W105 +N64W106 +N64W107 +N64W108 +N64W109 +N64W110 +N64W111 +N64W112 +N64W113 +N64W114 +N64W115 +N64W116 +N64W117 +N64W118 +N64W119 +N64W120 +N64W121 +N64W122 +N64W123 +N64W124 +N64W125 +N64W126 +N64W127 +N64W128 +N64W129 +N64W130 +N64W131 +N64W132 +N64W133 +N64W134 +N64W135 +N64W136 +N64W137 +N64W138 +N64W139 +N64W140 +N64W141 +N64W142 +N64W143 +N64W144 +N64W145 +N64W146 +N64W147 +N64W148 +N64W149 +N64W150 +N64W151 +N64W152 +N64W153 +N64W154 +N64W155 +N64W156 +N64W157 +N64W158 +N64W159 +N64W160 +N64W161 +N64W162 +N64W163 +N64W164 +N64W165 +N64W166 +N64W167 +N64W169 +N64W173 +N64W174 +N64W175 +N64W176 +N65E010 +N65E011 +N65E012 +N65E013 +N65E014 +N65E015 +N65E016 +N65E017 +N65E018 +N65E019 +N65E020 +N65E021 +N65E022 +N65E023 +N65E024 +N65E025 +N65E026 +N65E027 +N65E028 +N65E029 +N65E030 +N65E031 +N65E032 +N65E033 +N65E034 +N65E035 +N65E036 +N65E037 +N65E039 +N65E040 +N65E041 +N65E042 +N65E043 +N65E044 +N65E045 +N65E046 +N65E047 +N65E048 +N65E049 +N65E050 +N65E051 +N65E052 +N65E053 +N65E054 +N65E055 +N65E056 +N65E057 +N65E058 +N65E059 +N65E060 +N65E061 +N65E062 +N65E063 +N65E064 +N65E065 +N65E066 +N65E067 +N65E068 +N65E069 +N65E070 +N65E071 +N65E072 +N65E073 +N65E074 +N65E075 +N65E076 +N65E077 +N65E078 +N65E079 +N65E080 +N65E081 +N65E082 +N65E083 +N65E084 +N65E085 +N65E086 +N65E087 +N65E088 +N65E089 +N65E090 +N65E091 +N65E092 +N65E093 +N65E094 +N65E095 +N65E096 +N65E097 +N65E098 +N65E099 +N65E100 +N65E101 +N65E102 +N65E103 +N65E104 +N65E105 +N65E106 +N65E107 +N65E108 +N65E109 +N65E110 +N65E111 +N65E112 +N65E113 +N65E114 +N65E115 +N65E116 +N65E117 +N65E118 +N65E119 +N65E120 +N65E121 +N65E122 +N65E123 +N65E124 +N65E125 +N65E126 +N65E127 +N65E128 +N65E129 +N65E130 +N65E131 +N65E132 +N65E133 +N65E134 +N65E135 +N65E136 +N65E137 +N65E138 +N65E139 +N65E140 +N65E141 +N65E142 +N65E143 +N65E144 +N65E145 +N65E146 +N65E147 +N65E148 +N65E149 +N65E150 +N65E151 +N65E152 +N65E153 +N65E154 +N65E155 +N65E156 +N65E157 +N65E158 +N65E159 +N65E160 +N65E161 +N65E162 +N65E163 +N65E164 +N65E165 +N65E166 +N65E167 +N65E168 +N65E169 +N65E170 +N65E171 +N65E172 +N65E173 +N65E174 +N65E175 +N65E176 +N65E177 +N65E178 +N65E179 +n65w014 +n65w015 +n65w016 +n65w017 +n65w018 +n65w019 +n65w020 +n65w021 +n65w022 +n65w023 +n65w024 +n65w025 +N65W036 +N65W037 +N65W038 +N65W039 +N65W040 +N65W041 +N65W042 +N65W043 +N65W044 +N65W045 +N65W046 +N65W047 +N65W048 +N65W049 +N65W050 +N65W051 +N65W052 +N65W053 +N65W054 +N65W062 +N65W063 +N65W064 +N65W065 +N65W066 +N65W067 +N65W068 +N65W069 +N65W070 +N65W071 +N65W072 +N65W073 +N65W074 +N65W075 +N65W076 +N65W077 +N65W078 +N65W079 +N65W084 +N65W085 +N65W086 +N65W087 +N65W088 +N65W089 +N65W090 +N65W091 +N65W092 +N65W093 +N65W094 +N65W095 +N65W096 +N65W097 +N65W098 +N65W099 +N65W100 +N65W101 +N65W102 +N65W103 +N65W104 +N65W105 +N65W106 +N65W107 +N65W108 +N65W109 +N65W110 +N65W111 +N65W112 +N65W113 +N65W114 +N65W115 +N65W116 +N65W117 +N65W118 +N65W119 +N65W120 +N65W121 +N65W122 +N65W123 +N65W124 +N65W125 +N65W126 +N65W127 +N65W128 +N65W129 +N65W130 +N65W131 +N65W132 +N65W133 +N65W134 +N65W135 +N65W136 +N65W137 +N65W138 +N65W139 +N65W140 +N65W141 +N65W142 +N65W143 +N65W144 +N65W145 +N65W146 +N65W147 +N65W148 +N65W149 +N65W150 +N65W151 +N65W152 +N65W153 +N65W154 +N65W155 +N65W156 +N65W157 +N65W158 +N65W159 +N65W160 +N65W161 +N65W162 +N65W163 +N65W164 +N65W165 +N65W166 +N65W167 +N65W168 +N65W169 +N65W170 +N65W171 +N65W172 +N65W173 +N65W174 +N65W175 +N65W176 +N65W177 +N65W178 +N65W179 +N65W180 +N66E011 +N66E012 +N66E013 +N66E014 +N66E015 +N66E016 +N66E017 +N66E018 +N66E019 +N66E020 +N66E021 +N66E022 +N66E023 +N66E024 +N66E025 +N66E026 +N66E027 +N66E028 +N66E029 +N66E030 +N66E031 +N66E032 +N66E033 +N66E034 +N66E035 +N66E036 +N66E037 +N66E038 +N66E039 +N66E040 +N66E041 +N66E042 +N66E043 +N66E044 +N66E045 +N66E046 +N66E047 +N66E048 +N66E049 +N66E050 +N66E051 +N66E052 +N66E053 +N66E054 +N66E055 +N66E056 +N66E057 +N66E058 +N66E059 +N66E060 +N66E061 +N66E062 +N66E063 +N66E064 +N66E065 +N66E066 +N66E067 +N66E068 +N66E069 +N66E070 +N66E071 +N66E072 +N66E073 +N66E074 +N66E075 +N66E076 +N66E077 +N66E078 +N66E079 +N66E080 +N66E081 +N66E082 +N66E083 +N66E084 +N66E085 +N66E086 +N66E087 +N66E088 +N66E089 +N66E090 +N66E091 +N66E092 +N66E093 +N66E094 +N66E095 +N66E096 +N66E097 +N66E098 +N66E099 +N66E100 +N66E101 +N66E102 +N66E103 +N66E104 +N66E105 +N66E106 +N66E107 +N66E108 +N66E109 +N66E110 +N66E111 +N66E112 +N66E113 +N66E114 +N66E115 +N66E116 +N66E117 +N66E118 +N66E119 +N66E120 +N66E121 +N66E122 +N66E123 +N66E124 +N66E125 +N66E126 +N66E127 +N66E128 +N66E129 +N66E130 +N66E131 +N66E132 +N66E133 +N66E134 +N66E135 +N66E136 +N66E137 +N66E138 +N66E139 +N66E140 +N66E141 +N66E142 +N66E143 +N66E144 +N66E145 +N66E146 +N66E147 +N66E148 +N66E149 +N66E150 +N66E151 +N66E152 +N66E153 +N66E154 +N66E155 +N66E156 +N66E157 +N66E158 +N66E159 +N66E160 +N66E161 +N66E162 +N66E163 +N66E164 +N66E165 +N66E166 +N66E167 +N66E168 +N66E169 +N66E170 +N66E171 +N66E172 +N66E173 +N66E174 +N66E175 +N66E176 +N66E177 +N66E178 +N66E179 +n66w014 +n66w015 +n66w016 +n66w017 +n66w018 +n66w019 +n66w020 +n66w021 +n66w022 +n66w023 +n66w024 +n66w025 +N66W034 +N66W035 +N66W036 +N66W037 +N66W038 +N66W039 +N66W040 +N66W041 +N66W042 +N66W043 +N66W044 +N66W045 +N66W046 +N66W047 +N66W048 +N66W049 +N66W050 +N66W051 +N66W052 +N66W053 +N66W054 +N66W062 +N66W063 +N66W064 +N66W065 +N66W066 +N66W067 +N66W068 +N66W069 +N66W070 +N66W071 +N66W072 +N66W073 +N66W074 +N66W075 +N66W082 +N66W083 +N66W084 +N66W085 +N66W086 +N66W087 +N66W088 +N66W089 +N66W090 +N66W091 +N66W092 +N66W093 +N66W094 +N66W095 +N66W096 +N66W097 +N66W098 +N66W099 +N66W100 +N66W101 +N66W102 +N66W103 +N66W104 +N66W105 +N66W106 +N66W107 +N66W108 +N66W109 +N66W110 +N66W111 +N66W112 +N66W113 +N66W114 +N66W115 +N66W116 +N66W117 +N66W118 +N66W119 +N66W120 +N66W121 +N66W122 +N66W123 +N66W124 +N66W125 +N66W126 +N66W127 +N66W128 +N66W129 +N66W130 +N66W131 +N66W132 +N66W133 +N66W134 +N66W135 +N66W136 +N66W137 +N66W138 +N66W139 +N66W140 +N66W141 +N66W142 +N66W143 +N66W144 +N66W145 +N66W146 +N66W147 +N66W148 +N66W149 +N66W150 +N66W151 +N66W152 +N66W153 +N66W154 +N66W155 +N66W156 +N66W157 +N66W158 +N66W159 +N66W160 +N66W161 +N66W162 +N66W163 +N66W164 +N66W165 +N66W166 +N66W167 +N66W170 +N66W171 +N66W172 +N66W173 +N66W174 +N66W175 +N66W176 +N66W177 +N66W178 +N66W179 +N66W180 +N67E011 +N67E012 +N67E013 +N67E014 +N67E015 +N67E016 +N67E017 +N67E018 +N67E019 +N67E020 +N67E021 +N67E022 +N67E023 +N67E024 +N67E025 +N67E026 +N67E027 +N67E028 +N67E029 +N67E030 +N67E031 +N67E032 +N67E033 +N67E034 +N67E035 +N67E036 +N67E037 +N67E038 +N67E039 +N67E040 +N67E041 +N67E043 +N67E044 +N67E045 +N67E046 +N67E047 +N67E048 +N67E049 +N67E050 +N67E051 +N67E052 +N67E053 +N67E054 +N67E055 +N67E056 +N67E057 +N67E058 +N67E059 +N67E060 +N67E061 +N67E062 +N67E063 +N67E064 +N67E065 +N67E066 +N67E067 +N67E068 +N67E069 +N67E070 +N67E071 +N67E072 +N67E073 +N67E074 +N67E075 +N67E076 +N67E077 +N67E078 +N67E079 +N67E080 +N67E081 +N67E082 +N67E083 +N67E084 +N67E085 +N67E086 +N67E087 +N67E088 +N67E089 +N67E090 +N67E091 +N67E092 +N67E093 +N67E094 +N67E095 +N67E096 +N67E097 +N67E098 +N67E099 +N67E100 +N67E101 +N67E102 +N67E103 +N67E104 +N67E105 +N67E106 +N67E107 +N67E108 +N67E109 +N67E110 +N67E111 +N67E112 +N67E113 +N67E114 +N67E115 +N67E116 +N67E117 +N67E118 +N67E119 +N67E120 +N67E121 +N67E122 +N67E123 +N67E124 +N67E125 +N67E126 +N67E127 +N67E128 +N67E129 +N67E130 +N67E131 +N67E132 +N67E133 +N67E134 +N67E135 +N67E136 +N67E137 +N67E138 +N67E139 +N67E140 +N67E141 +N67E142 +N67E143 +N67E144 +N67E145 +N67E146 +N67E147 +N67E148 +N67E149 +N67E150 +N67E151 +N67E152 +N67E153 +N67E154 +N67E155 +N67E156 +N67E157 +N67E158 +N67E159 +N67E160 +N67E161 +N67E162 +N67E163 +N67E164 +N67E165 +N67E166 +N67E167 +N67E168 +N67E169 +N67E170 +N67E171 +N67E172 +N67E173 +N67E174 +N67E175 +N67E176 +N67E177 +N67E178 +N67E179 +N67W033 +N67W034 +N67W035 +N67W036 +N67W037 +N67W038 +N67W039 +N67W040 +N67W041 +N67W042 +N67W043 +N67W044 +N67W045 +N67W046 +N67W047 +N67W048 +N67W049 +N67W050 +N67W051 +N67W052 +N67W053 +N67W054 +N67W062 +N67W063 +N67W064 +N67W065 +N67W066 +N67W067 +N67W068 +N67W069 +N67W070 +N67W071 +N67W072 +N67W073 +N67W074 +N67W075 +N67W076 +N67W077 +N67W078 +N67W082 +N67W083 +N67W084 +N67W085 +N67W086 +N67W087 +N67W088 +N67W089 +N67W090 +N67W091 +N67W092 +N67W093 +N67W094 +N67W095 +N67W096 +N67W097 +N67W098 +N67W099 +N67W100 +N67W101 +N67W102 +N67W103 +N67W104 +N67W105 +N67W106 +N67W107 +N67W108 +N67W109 +N67W110 +N67W111 +N67W112 +N67W113 +N67W114 +N67W115 +N67W116 +N67W117 +N67W118 +N67W119 +N67W120 +N67W121 +N67W122 +N67W123 +N67W124 +N67W125 +N67W126 +N67W127 +N67W128 +N67W129 +N67W130 +N67W131 +N67W132 +N67W133 +N67W134 +N67W135 +N67W136 +N67W137 +N67W138 +N67W139 +N67W140 +N67W141 +N67W142 +N67W143 +N67W144 +N67W145 +N67W146 +N67W147 +N67W148 +N67W149 +N67W150 +N67W151 +N67W152 +N67W153 +N67W154 +N67W155 +N67W156 +N67W157 +N67W158 +N67W159 +N67W160 +N67W161 +N67W162 +N67W163 +N67W164 +N67W165 +N67W166 +N67W173 +N67W174 +N67W175 +N67W176 +N67W177 +N67W178 +N67W179 +N67W180 +N68E012 +N68E013 +N68E014 +N68E015 +N68E016 +N68E017 +N68E018 +N68E019 +N68E020 +N68E021 +N68E022 +N68E023 +N68E024 +N68E025 +N68E026 +N68E027 +N68E028 +N68E029 +N68E030 +N68E031 +N68E032 +N68E033 +N68E034 +N68E035 +N68E036 +N68E037 +N68E038 +N68E039 +N68E043 +N68E044 +N68E045 +N68E046 +N68E048 +N68E049 +N68E050 +N68E051 +N68E052 +N68E053 +N68E054 +N68E055 +N68E056 +N68E057 +N68E058 +N68E059 +N68E060 +N68E061 +N68E062 +N68E063 +N68E064 +N68E065 +N68E066 +N68E067 +N68E068 +N68E069 +N68E070 +N68E071 +N68E072 +N68E073 +N68E074 +N68E075 +N68E076 +N68E077 +N68E078 +N68E079 +N68E080 +N68E081 +N68E082 +N68E083 +N68E084 +N68E085 +N68E086 +N68E087 +N68E088 +N68E089 +N68E090 +N68E091 +N68E092 +N68E093 +N68E094 +N68E095 +N68E096 +N68E097 +N68E098 +N68E099 +N68E100 +N68E101 +N68E102 +N68E103 +N68E104 +N68E105 +N68E106 +N68E107 +N68E108 +N68E109 +N68E110 +N68E111 +N68E112 +N68E113 +N68E114 +N68E115 +N68E116 +N68E117 +N68E118 +N68E119 +N68E120 +N68E121 +N68E122 +N68E123 +N68E124 +N68E125 +N68E126 +N68E127 +N68E128 +N68E129 +N68E130 +N68E131 +N68E132 +N68E133 +N68E134 +N68E135 +N68E136 +N68E137 +N68E138 +N68E139 +N68E140 +N68E141 +N68E142 +N68E143 +N68E144 +N68E145 +N68E146 +N68E147 +N68E148 +N68E149 +N68E150 +N68E151 +N68E152 +N68E153 +N68E154 +N68E155 +N68E156 +N68E157 +N68E158 +N68E159 +N68E160 +N68E161 +N68E162 +N68E163 +N68E164 +N68E165 +N68E166 +N68E167 +N68E168 +N68E169 +N68E170 +N68E171 +N68E172 +N68E173 +N68E174 +N68E175 +N68E176 +N68E177 +N68E178 +N68E179 +N68W025 +N68W026 +N68W027 +N68W028 +N68W029 +N68W030 +N68W031 +N68W032 +N68W033 +N68W034 +N68W035 +N68W036 +N68W037 +N68W038 +N68W039 +N68W040 +N68W041 +N68W042 +N68W043 +N68W044 +N68W045 +N68W046 +N68W047 +N68W048 +N68W049 +N68W050 +N68W051 +N68W052 +N68W053 +N68W054 +N68W065 +N68W066 +N68W067 +N68W068 +N68W069 +N68W070 +N68W071 +N68W072 +N68W073 +N68W074 +N68W075 +N68W076 +N68W077 +N68W078 +N68W079 +N68W080 +N68W081 +N68W082 +N68W083 +N68W084 +N68W085 +N68W086 +N68W087 +N68W088 +N68W089 +N68W090 +N68W091 +N68W092 +N68W093 +N68W094 +N68W095 +N68W096 +N68W097 +N68W098 +N68W099 +N68W100 +N68W101 +N68W102 +N68W103 +N68W104 +N68W105 +N68W106 +N68W107 +N68W108 +N68W109 +N68W110 +N68W111 +N68W112 +N68W113 +N68W114 +N68W115 +N68W116 +N68W117 +N68W118 +N68W119 +N68W120 +N68W121 +N68W122 +N68W123 +N68W124 +N68W125 +N68W126 +N68W127 +N68W128 +N68W129 +N68W130 +N68W131 +N68W132 +N68W133 +N68W134 +N68W135 +N68W136 +N68W137 +N68W138 +N68W139 +N68W140 +N68W141 +N68W142 +N68W143 +N68W144 +N68W145 +N68W146 +N68W147 +N68W148 +N68W149 +N68W150 +N68W151 +N68W152 +N68W153 +N68W154 +N68W155 +N68W156 +N68W157 +N68W158 +N68W159 +N68W160 +N68W161 +N68W162 +N68W163 +N68W164 +N68W165 +N68W166 +N68W167 +N68W177 +N68W178 +N68W179 +N68W180 +N69E015 +N69E016 +N69E017 +N69E018 +N69E019 +N69E020 +N69E021 +N69E022 +N69E023 +N69E024 +N69E025 +N69E026 +N69E027 +N69E028 +N69E029 +N69E030 +N69E031 +N69E032 +N69E033 +N69E034 +N69E035 +N69E036 +N69E048 +N69E049 +N69E050 +N69E058 +N69E059 +N69E060 +N69E061 +N69E062 +N69E063 +N69E064 +N69E065 +N69E066 +N69E067 +N69E068 +N69E069 +N69E070 +N69E071 +N69E072 +N69E073 +N69E074 +N69E075 +N69E076 +N69E077 +N69E078 +N69E079 +N69E080 +N69E081 +N69E082 +N69E083 +N69E084 +N69E085 +N69E086 +N69E087 +N69E088 +N69E089 +N69E090 +N69E091 +N69E092 +N69E093 +N69E094 +N69E095 +N69E096 +N69E097 +N69E098 +N69E099 +N69E100 +N69E101 +N69E102 +N69E103 +N69E104 +N69E105 +N69E106 +N69E107 +N69E108 +N69E109 +N69E110 +N69E111 +N69E112 +N69E113 +N69E114 +N69E115 +N69E116 +N69E117 +N69E118 +N69E119 +N69E120 +N69E121 +N69E122 +N69E123 +N69E124 +N69E125 +N69E126 +N69E127 +N69E128 +N69E129 +N69E130 +N69E131 +N69E132 +N69E133 +N69E134 +N69E135 +N69E136 +N69E137 +N69E138 +N69E139 +N69E140 +N69E141 +N69E142 +N69E143 +N69E144 +N69E145 +N69E146 +N69E147 +N69E148 +N69E149 +N69E150 +N69E151 +N69E152 +N69E153 +N69E154 +N69E155 +N69E156 +N69E157 +N69E158 +N69E159 +N69E160 +N69E161 +N69E162 +N69E163 +N69E164 +N69E165 +N69E166 +N69E167 +N69E168 +N69E169 +N69E170 +N69E171 +N69E172 +N69E173 +N69E174 +N69E175 +N69E176 +N69E177 +N69E178 +N69E179 +N69W023 +N69W024 +N69W025 +N69W026 +N69W027 +N69W028 +N69W029 +N69W030 +N69W031 +N69W032 +N69W033 +N69W034 +N69W035 +N69W036 +N69W037 +N69W038 +N69W039 +N69W040 +N69W041 +N69W042 +N69W043 +N69W044 +N69W045 +N69W046 +N69W047 +N69W048 +N69W049 +N69W050 +N69W051 +N69W052 +N69W053 +N69W054 +N69W055 +N69W067 +N69W068 +N69W069 +N69W070 +N69W071 +N69W072 +N69W073 +N69W074 +N69W075 +N69W076 +N69W077 +N69W078 +N69W079 +N69W080 +N69W081 +N69W082 +N69W083 +N69W084 +N69W085 +N69W086 +N69W087 +N69W088 +N69W089 +N69W090 +N69W091 +N69W092 +N69W093 +N69W094 +N69W095 +N69W096 +N69W097 +N69W098 +N69W099 +N69W100 +N69W101 +N69W102 +N69W103 +N69W104 +N69W105 +N69W106 +N69W107 +N69W108 +N69W109 +N69W110 +N69W111 +N69W112 +N69W113 +N69W114 +N69W115 +N69W116 +N69W117 +N69W118 +N69W119 +N69W120 +N69W121 +N69W122 +N69W123 +N69W124 +N69W125 +N69W126 +N69W127 +N69W128 +N69W129 +N69W130 +N69W131 +N69W132 +N69W133 +N69W134 +N69W135 +N69W136 +N69W138 +N69W139 +N69W140 +N69W141 +N69W142 +N69W143 +N69W144 +N69W145 +N69W146 +N69W147 +N69W148 +N69W149 +N69W150 +N69W151 +N69W152 +N69W153 +N69W154 +N69W155 +N69W156 +N69W157 +N69W158 +N69W159 +N69W160 +N69W161 +N69W162 +N69W163 +N69W164 +N70E018 +N70E019 +N70E020 +N70E021 +N70E022 +N70E023 +N70E024 +N70E025 +N70E026 +N70E027 +N70E028 +N70E029 +N70E030 +N70E031 +N70E052 +N70E053 +N70E054 +N70E055 +N70E056 +N70E057 +N70E058 +N70E059 +N70E060 +N70E066 +N70E067 +N70E068 +N70E069 +N70E070 +N70E071 +N70E072 +N70E073 +N70E074 +N70E075 +N70E076 +N70E077 +N70E078 +N70E079 +N70E080 +N70E081 +N70E082 +N70E083 +N70E084 +N70E085 +N70E086 +N70E087 +N70E088 +N70E089 +N70E090 +N70E091 +N70E092 +N70E093 +N70E094 +N70E095 +N70E096 +N70E097 +N70E098 +N70E099 +N70E100 +N70E101 +N70E102 +N70E103 +N70E104 +N70E105 +N70E106 +N70E107 +N70E108 +N70E109 +N70E110 +N70E111 +N70E112 +N70E113 +N70E114 +N70E115 +N70E116 +N70E117 +N70E118 +N70E119 +N70E120 +N70E121 +N70E122 +N70E123 +N70E124 +N70E125 +N70E126 +N70E127 +N70E128 +N70E129 +N70E130 +N70E131 +N70E132 +N70E133 +N70E134 +N70E135 +N70E136 +N70E137 +N70E138 +N70E139 +N70E140 +N70E141 +N70E142 +N70E143 +N70E144 +N70E145 +N70E146 +N70E147 +N70E148 +N70E149 +N70E150 +N70E151 +N70E152 +N70E153 +N70E154 +N70E155 +N70E156 +N70E157 +N70E158 +N70E159 +N70E160 +N70E161 +N70E162 +N70E168 +N70E170 +N70E171 +N70E178 +N70E179 +N70W009 +N70W010 +N70W022 +N70W023 +N70W024 +N70W025 +N70W026 +N70W027 +N70W028 +N70W029 +N70W030 +N70W031 +N70W032 +N70W033 +N70W034 +N70W035 +N70W036 +N70W037 +N70W038 +N70W039 +N70W040 +N70W041 +N70W042 +N70W043 +N70W044 +N70W045 +N70W046 +N70W047 +N70W048 +N70W049 +N70W050 +N70W051 +N70W052 +N70W053 +N70W054 +N70W055 +N70W056 +N70W068 +N70W069 +N70W070 +N70W071 +N70W072 +N70W073 +N70W074 +N70W075 +N70W076 +N70W077 +N70W078 +N70W079 +N70W080 +N70W081 +N70W082 +N70W083 +N70W084 +N70W085 +N70W086 +N70W087 +N70W088 +N70W089 +N70W090 +N70W091 +N70W092 +N70W093 +N70W094 +N70W095 +N70W096 +N70W097 +N70W101 +N70W102 +N70W103 +N70W104 +N70W105 +N70W106 +N70W107 +N70W108 +N70W109 +N70W110 +N70W111 +N70W112 +N70W113 +N70W114 +N70W115 +N70W116 +N70W117 +N70W118 +N70W119 +N70W125 +N70W126 +N70W127 +N70W128 +N70W129 +N70W130 +N70W131 +N70W132 +N70W143 +N70W144 +N70W145 +N70W146 +N70W147 +N70W148 +N70W149 +N70W150 +N70W151 +N70W152 +N70W153 +N70W154 +N70W155 +N70W156 +N70W157 +N70W158 +N70W159 +N70W160 +N70W161 +N70W162 +N70W163 +N70W179 +N70W180 +N71E024 +N71E025 +N71E026 +N71E027 +N71E028 +N71E051 +N71E052 +N71E053 +N71E054 +N71E055 +N71E056 +N71E066 +N71E067 +N71E068 +N71E069 +N71E070 +N71E071 +N71E072 +N71E073 +N71E074 +N71E075 +N71E076 +N71E077 +N71E078 +N71E079 +N71E080 +N71E081 +N71E082 +N71E083 +N71E084 +N71E085 +N71E086 +N71E087 +N71E088 +N71E089 +N71E090 +N71E091 +N71E092 +N71E093 +N71E094 +N71E095 +N71E096 +N71E097 +N71E098 +N71E099 +N71E100 +N71E101 +N71E102 +N71E103 +N71E104 +N71E105 +N71E106 +N71E107 +N71E108 +N71E109 +N71E110 +N71E111 +N71E112 +N71E113 +N71E114 +N71E115 +N71E116 +N71E117 +N71E118 +N71E119 +N71E120 +N71E121 +N71E122 +N71E123 +N71E124 +N71E125 +N71E126 +N71E127 +N71E128 +N71E129 +N71E130 +N71E131 +N71E132 +N71E133 +N71E134 +N71E135 +N71E136 +N71E137 +N71E138 +N71E139 +N71E140 +N71E141 +N71E142 +N71E143 +N71E144 +N71E145 +N71E146 +N71E147 +N71E148 +N71E149 +N71E150 +N71E151 +N71E152 +N71E154 +N71E155 +N71E156 +N71E157 +N71E178 +N71E179 +N71W008 +N71W009 +N71W021 +N71W022 +N71W023 +N71W024 +N71W025 +N71W026 +N71W027 +N71W028 +N71W029 +N71W030 +N71W031 +N71W032 +N71W033 +N71W034 +N71W035 +N71W036 +N71W037 +N71W038 +N71W039 +N71W040 +N71W041 +N71W042 +N71W043 +N71W044 +N71W045 +N71W046 +N71W047 +N71W048 +N71W049 +N71W050 +N71W051 +N71W052 +N71W053 +N71W054 +N71W055 +N71W056 +N71W071 +N71W072 +N71W073 +N71W074 +N71W075 +N71W076 +N71W077 +N71W078 +N71W079 +N71W080 +N71W081 +N71W082 +N71W083 +N71W084 +N71W085 +N71W086 +N71W087 +N71W088 +N71W089 +N71W090 +N71W091 +N71W093 +N71W094 +N71W095 +N71W096 +N71W097 +N71W098 +N71W099 +N71W100 +N71W101 +N71W105 +N71W106 +N71W107 +N71W108 +N71W109 +N71W110 +N71W111 +N71W112 +N71W113 +N71W114 +N71W115 +N71W116 +N71W117 +N71W118 +N71W119 +N71W120 +N71W121 +N71W122 +N71W123 +N71W124 +N71W125 +N71W126 +N71W127 +N71W155 +N71W156 +N71W157 +N71W158 +N71W176 +N71W178 +N71W179 +N71W180 +N72E051 +N72E052 +N72E053 +N72E054 +N72E055 +N72E056 +N72E068 +N72E069 +N72E070 +N72E071 +N72E072 +N72E074 +N72E075 +N72E076 +N72E077 +N72E078 +N72E079 +N72E080 +N72E081 +N72E082 +N72E083 +N72E084 +N72E085 +N72E086 +N72E087 +N72E088 +N72E089 +N72E090 +N72E091 +N72E092 +N72E093 +N72E094 +N72E095 +N72E096 +N72E097 +N72E098 +N72E099 +N72E100 +N72E101 +N72E102 +N72E103 +N72E104 +N72E105 +N72E106 +N72E107 +N72E108 +N72E109 +N72E110 +N72E111 +N72E112 +N72E113 +N72E114 +N72E115 +N72E116 +N72E117 +N72E118 +N72E119 +N72E120 +N72E121 +N72E122 +N72E123 +N72E124 +N72E125 +N72E126 +N72E127 +N72E128 +N72E129 +N72E139 +N72E140 +N72E141 +N72E142 +N72E143 +N72E144 +N72E145 +N72E146 +N72E147 +N72E148 +N72E149 +N72W022 +N72W023 +N72W024 +N72W025 +N72W026 +N72W027 +N72W028 +N72W029 +N72W030 +N72W031 +N72W032 +N72W033 +N72W034 +N72W035 +N72W036 +N72W037 +N72W038 +N72W039 +N72W040 +N72W041 +N72W042 +N72W043 +N72W044 +N72W045 +N72W046 +N72W047 +N72W048 +N72W049 +N72W050 +N72W051 +N72W052 +N72W053 +N72W054 +N72W055 +N72W056 +N72W057 +N72W075 +N72W076 +N72W077 +N72W078 +N72W079 +N72W080 +N72W081 +N72W082 +N72W083 +N72W084 +N72W085 +N72W086 +N72W087 +N72W088 +N72W089 +N72W090 +N72W091 +N72W092 +N72W093 +N72W094 +N72W095 +N72W096 +N72W097 +N72W098 +N72W099 +N72W100 +N72W101 +N72W102 +N72W103 +N72W105 +N72W106 +N72W107 +N72W108 +N72W109 +N72W110 +N72W111 +N72W112 +N72W113 +N72W114 +N72W115 +N72W116 +N72W117 +N72W118 +N72W119 +N72W120 +N72W121 +N72W122 +N72W123 +N72W124 +N72W125 +N72W126 +N73E053 +N73E054 +N73E055 +N73E056 +N73E057 +N73E058 +N73E069 +N73E070 +N73E071 +N73E074 +N73E075 +N73E076 +N73E078 +N73E079 +N73E080 +N73E081 +N73E082 +N73E083 +N73E084 +N73E085 +N73E086 +N73E087 +N73E088 +N73E089 +N73E090 +N73E091 +N73E092 +N73E093 +N73E094 +N73E095 +N73E096 +N73E097 +N73E098 +N73E099 +N73E100 +N73E101 +N73E102 +N73E103 +N73E104 +N73E105 +N73E106 +N73E107 +N73E108 +N73E109 +N73E110 +N73E111 +N73E112 +N73E113 +N73E114 +N73E115 +N73E116 +N73E117 +N73E118 +N73E119 +N73E120 +N73E122 +N73E123 +N73E124 +N73E125 +N73E126 +N73E127 +N73E128 +N73E129 +N73E135 +N73E136 +N73E139 +N73E140 +N73E141 +N73E142 +N73E143 +N73W021 +N73W022 +N73W023 +N73W024 +N73W025 +N73W026 +N73W027 +N73W028 +N73W029 +N73W030 +N73W031 +N73W032 +N73W033 +N73W034 +N73W035 +N73W036 +N73W037 +N73W038 +N73W039 +N73W040 +N73W041 +N73W042 +N73W043 +N73W044 +N73W045 +N73W046 +N73W047 +N73W048 +N73W049 +N73W050 +N73W051 +N73W052 +N73W053 +N73W054 +N73W055 +N73W056 +N73W057 +N73W058 +N73W077 +N73W078 +N73W079 +N73W080 +N73W081 +N73W082 +N73W083 +N73W084 +N73W085 +N73W086 +N73W087 +N73W088 +N73W089 +N73W090 +N73W091 +N73W092 +N73W093 +N73W094 +N73W095 +N73W096 +N73W097 +N73W098 +N73W099 +N73W100 +N73W101 +N73W102 +N73W103 +N73W105 +N73W106 +N73W107 +N73W108 +N73W109 +N73W111 +N73W113 +N73W114 +N73W115 +N73W116 +N73W117 +N73W118 +N73W119 +N73W120 +N73W121 +N73W122 +N73W123 +N73W124 +N73W125 +N74E018 +N74E019 +N74E054 +N74E055 +N74E056 +N74E057 +N74E058 +N74E059 +N74E060 +N74E079 +N74E082 +N74E083 +N74E084 +N74E085 +N74E086 +N74E087 +N74E088 +N74E089 +N74E090 +N74E091 +N74E092 +N74E093 +N74E094 +N74E095 +N74E096 +N74E097 +N74E098 +N74E099 +N74E100 +N74E101 +N74E102 +N74E103 +N74E104 +N74E105 +N74E106 +N74E107 +N74E108 +N74E109 +N74E110 +N74E111 +N74E112 +N74E113 +N74E135 +N74E136 +N74E137 +N74E138 +N74E139 +N74E140 +N74E141 +N74E142 +N74E143 +N74E147 +N74E148 +N74E149 +N74E150 +N74W018 +N74W019 +N74W020 +N74W021 +N74W022 +N74W023 +N74W024 +N74W025 +N74W026 +N74W027 +N74W028 +N74W029 +N74W030 +N74W031 +N74W032 +N74W033 +N74W034 +N74W035 +N74W036 +N74W037 +N74W038 +N74W039 +N74W040 +N74W041 +N74W042 +N74W043 +N74W044 +N74W045 +N74W046 +N74W047 +N74W048 +N74W049 +N74W050 +N74W051 +N74W052 +N74W053 +N74W054 +N74W055 +N74W056 +N74W057 +N74W058 +N74W059 +N74W080 +N74W081 +N74W082 +N74W083 +N74W084 +N74W085 +N74W086 +N74W087 +N74W088 +N74W089 +N74W090 +N74W091 +N74W092 +N74W093 +N74W094 +N74W095 +N74W096 +N74W097 +N74W098 +N74W099 +N74W100 +N74W101 +N74W107 +N74W108 +N74W109 +N74W110 +N74W111 +N74W112 +N74W113 +N74W114 +N74W115 +N74W116 +N74W117 +N74W118 +N74W119 +N74W120 +N74W121 +N74W122 +N74W123 +N74W124 +N74W125 +N74W126 +N75E055 +N75E056 +N75E057 +N75E058 +N75E059 +N75E060 +N75E061 +N75E062 +N75E063 +N75E064 +N75E065 +N75E066 +N75E081 +N75E082 +N75E083 +N75E086 +N75E087 +N75E088 +N75E089 +N75E090 +N75E091 +N75E092 +N75E093 +N75E094 +N75E095 +N75E096 +N75E097 +N75E098 +N75E099 +N75E100 +N75E101 +N75E102 +N75E103 +N75E104 +N75E105 +N75E106 +N75E107 +N75E108 +N75E109 +N75E110 +N75E111 +N75E112 +N75E113 +N75E135 +N75E136 +N75E137 +N75E138 +N75E139 +N75E140 +N75E141 +N75E142 +N75E143 +N75E144 +N75E145 +N75E146 +N75E147 +N75E148 +N75E149 +N75E150 +N75E152 +N75W018 +N75W019 +N75W020 +N75W021 +N75W022 +N75W023 +N75W024 +N75W025 +N75W026 +N75W027 +N75W028 +N75W029 +N75W030 +N75W031 +N75W032 +N75W033 +N75W034 +N75W035 +N75W036 +N75W037 +N75W038 +N75W039 +N75W040 +N75W041 +N75W042 +N75W043 +N75W044 +N75W045 +N75W046 +N75W047 +N75W048 +N75W049 +N75W050 +N75W051 +N75W052 +N75W053 +N75W054 +N75W055 +N75W056 +N75W057 +N75W058 +N75W059 +N75W060 +N75W061 +N75W062 +N75W065 +N75W066 +N75W067 +N75W068 +N75W079 +N75W080 +N75W081 +N75W082 +N75W083 +N75W084 +N75W085 +N75W086 +N75W087 +N75W088 +N75W089 +N75W090 +N75W091 +N75W092 +N75W093 +N75W094 +N75W095 +N75W096 +N75W097 +N75W098 +N75W099 +N75W100 +N75W101 +N75W102 +N75W103 +N75W104 +N75W105 +N75W106 +N75W107 +N75W108 +N75W109 +N75W110 +N75W111 +N75W112 +N75W113 +N75W114 +N75W115 +N75W116 +N75W117 +N75W118 +N75W119 +N75W120 +N75W121 +N75W122 +N75W123 +N76E015 +N76E016 +N76E017 +N76E021 +N76E022 +N76E024 +N76E025 +N76E059 +N76E060 +N76E061 +N76E062 +N76E063 +N76E064 +N76E065 +N76E066 +N76E067 +N76E068 +N76E069 +N76E088 +N76E089 +N76E091 +N76E092 +N76E093 +N76E094 +N76E095 +N76E096 +N76E097 +N76E098 +N76E099 +N76E100 +N76E101 +N76E102 +N76E103 +N76E104 +N76E105 +N76E106 +N76E107 +N76E108 +N76E109 +N76E110 +N76E111 +N76E112 +N76E113 +N76E137 +N76E138 +N76E139 +N76E140 +N76E141 +N76E142 +N76E148 +N76E149 +N76E152 +N76W019 +N76W020 +N76W021 +N76W022 +N76W023 +N76W024 +N76W025 +N76W026 +N76W027 +N76W028 +N76W029 +N76W030 +N76W031 +N76W032 +N76W033 +N76W034 +N76W035 +N76W036 +N76W037 +N76W038 +N76W039 +N76W040 +N76W041 +N76W042 +N76W043 +N76W044 +N76W045 +N76W046 +N76W047 +N76W048 +N76W049 +N76W050 +N76W051 +N76W052 +N76W053 +N76W054 +N76W055 +N76W056 +N76W057 +N76W058 +N76W059 +N76W060 +N76W061 +N76W062 +N76W063 +N76W064 +N76W065 +N76W066 +N76W067 +N76W068 +N76W069 +N76W070 +N76W071 +N76W072 +N76W073 +N76W074 +N76W078 +N76W079 +N76W080 +N76W081 +N76W082 +N76W083 +N76W084 +N76W085 +N76W086 +N76W087 +N76W088 +N76W089 +N76W090 +N76W091 +N76W092 +N76W093 +N76W094 +N76W095 +N76W096 +N76W097 +N76W098 +N76W099 +N76W100 +N76W101 +N76W102 +N76W103 +N76W104 +N76W105 +N76W106 +N76W107 +N76W108 +N76W109 +N76W110 +N76W111 +N76W112 +N76W113 +N76W114 +N76W115 +N76W116 +N76W117 +N76W118 +N76W119 +N76W120 +N76W121 +N76W122 +N76W123 +N76W124 +N77E013 +N77E014 +N77E015 +N77E016 +N77E017 +N77E018 +N77E020 +N77E021 +N77E022 +N77E023 +N77E024 +N77E025 +N77E067 +N77E082 +N77E088 +N77E089 +N77E090 +N77E091 +N77E092 +N77E095 +N77E096 +N77E099 +N77E100 +N77E101 +N77E102 +N77E103 +N77E104 +N77E105 +N77E106 +N77E107 +N77E108 +N77W018 +N77W019 +N77W020 +N77W021 +N77W022 +N77W023 +N77W024 +N77W025 +N77W026 +N77W027 +N77W028 +N77W029 +N77W030 +N77W031 +N77W032 +N77W033 +N77W034 +N77W035 +N77W036 +N77W037 +N77W038 +N77W039 +N77W040 +N77W041 +N77W042 +N77W043 +N77W044 +N77W045 +N77W046 +N77W047 +N77W048 +N77W049 +N77W050 +N77W051 +N77W052 +N77W053 +N77W054 +N77W055 +N77W056 +N77W057 +N77W058 +N77W059 +N77W060 +N77W061 +N77W062 +N77W063 +N77W064 +N77W065 +N77W066 +N77W067 +N77W068 +N77W069 +N77W070 +N77W071 +N77W072 +N77W073 +N77W076 +N77W077 +N77W078 +N77W079 +N77W080 +N77W081 +N77W082 +N77W083 +N77W084 +N77W085 +N77W086 +N77W087 +N77W088 +N77W089 +N77W090 +N77W091 +N77W092 +N77W094 +N77W095 +N77W096 +N77W097 +N77W098 +N77W099 +N77W100 +N77W101 +N77W102 +N77W103 +N77W104 +N77W105 +N77W106 +N77W107 +N77W110 +N77W111 +N77W112 +N77W113 +N77W114 +N77W115 +N77W116 +N77W117 +N77W118 +N77W119 +N77W120 +N77W121 +N78E010 +N78E011 +N78E012 +N78E013 +N78E014 +N78E015 +N78E016 +N78E017 +N78E018 +N78E019 +N78E020 +N78E021 +N78E022 +N78E023 +N78E026 +N78E027 +N78E028 +N78E029 +N78E030 +N78E093 +N78E095 +N78E096 +N78E097 +N78E098 +N78E099 +N78E100 +N78E101 +N78E102 +N78E103 +N78E104 +N78E105 +N78E106 +N78E107 +N78W018 +N78W019 +N78W020 +N78W021 +N78W022 +N78W023 +N78W024 +N78W025 +N78W026 +N78W027 +N78W028 +N78W029 +N78W030 +N78W031 +N78W032 +N78W033 +N78W034 +N78W035 +N78W036 +N78W037 +N78W038 +N78W039 +N78W040 +N78W041 +N78W042 +N78W043 +N78W044 +N78W045 +N78W046 +N78W047 +N78W048 +N78W049 +N78W050 +N78W051 +N78W052 +N78W053 +N78W054 +N78W055 +N78W056 +N78W057 +N78W058 +N78W059 +N78W060 +N78W061 +N78W062 +N78W063 +N78W064 +N78W065 +N78W066 +N78W067 +N78W068 +N78W069 +N78W070 +N78W071 +N78W072 +N78W073 +N78W074 +N78W075 +N78W076 +N78W077 +N78W078 +N78W079 +N78W080 +N78W081 +N78W082 +N78W083 +N78W084 +N78W085 +N78W086 +N78W087 +N78W088 +N78W089 +N78W090 +N78W091 +N78W092 +N78W093 +N78W094 +N78W095 +N78W096 +N78W097 +N78W098 +N78W099 +N78W100 +N78W101 +N78W102 +N78W103 +N78W104 +N78W105 +N78W106 +N78W110 +N78W111 +N78W112 +N78W113 +N78W114 +N78W115 +N78W116 +N79E010 +N79E011 +N79E012 +N79E013 +N79E014 +N79E015 +N79E016 +N79E017 +N79E018 +N79E019 +N79E020 +N79E021 +N79E022 +N79E023 +N79E024 +N79E025 +N79E026 +N79E027 +N79E030 +N79E049 +N79E050 +N79E051 +N79E058 +N79E059 +N79E076 +N79E077 +N79E090 +N79E091 +N79E092 +N79E093 +N79E094 +N79E095 +N79E096 +N79E097 +N79E098 +N79E099 +N79E100 +N79E101 +N79E102 +N79E103 +N79E104 +N79W016 +N79W018 +N79W019 +N79W020 +N79W021 +N79W022 +N79W023 +N79W024 +N79W025 +N79W026 +N79W027 +N79W028 +N79W029 +N79W030 +N79W031 +N79W032 +N79W033 +N79W034 +N79W035 +N79W036 +N79W037 +N79W038 +N79W039 +N79W040 +N79W041 +N79W042 +N79W043 +N79W044 +N79W045 +N79W046 +N79W047 +N79W048 +N79W049 +N79W050 +N79W051 +N79W052 +N79W053 +N79W054 +N79W055 +N79W056 +N79W057 +N79W058 +N79W059 +N79W060 +N79W061 +N79W062 +N79W063 +N79W064 +N79W065 +N79W066 +N79W067 +N79W068 +N79W069 +N79W070 +N79W071 +N79W072 +N79W073 +N79W074 +N79W075 +N79W076 +N79W077 +N79W078 +N79W079 +N79W080 +N79W081 +N79W082 +N79W083 +N79W084 +N79W085 +N79W086 +N79W087 +N79W088 +N79W089 +N79W090 +N79W091 +N79W092 +N79W093 +N79W094 +N79W095 +N79W096 +N79W097 +N79W099 +N79W100 +N79W101 +N79W102 +N79W103 +N79W104 +N79W105 +N79W106 +N80E014 +N80E016 +N80E017 +N80E018 +N80E019 +N80E020 +N80E021 +N80E022 +N80E023 +N80E024 +N80E025 +N80E026 +N80E027 +N80E028 +N80E031 +N80E032 +N80E033 +N80E036 +N80E044 +N80E045 +N80E046 +N80E047 +N80E048 +N80E049 +N80E050 +N80E051 +N80E052 +N80E053 +N80E054 +N80E055 +N80E056 +N80E057 +N80E058 +N80E059 +N80E060 +N80E061 +N80E062 +N80E063 +N80E064 +N80E065 +N80E079 +N80E080 +N80E090 +N80E091 +N80E092 +N80E093 +N80E094 +N80E095 +N80E096 +N80E097 +N80E098 +N80E099 +N80W014 +N80W015 +N80W016 +N80W017 +N80W018 +N80W019 +N80W020 +N80W021 +N80W022 +N80W023 +N80W024 +N80W025 +N80W026 +N80W027 +N80W028 +N80W029 +N80W030 +N80W031 +N80W032 +N80W033 +N80W034 +N80W035 +N80W036 +N80W037 +N80W038 +N80W039 +N80W040 +N80W041 +N80W042 +N80W043 +N80W044 +N80W045 +N80W046 +N80W047 +N80W048 +N80W049 +N80W050 +N80W051 +N80W052 +N80W053 +N80W054 +N80W055 +N80W056 +N80W057 +N80W058 +N80W059 +N80W060 +N80W061 +N80W062 +N80W063 +N80W064 +N80W065 +N80W066 +N80W067 +N80W068 +N80W069 +N80W070 +N80W071 +N80W072 +N80W073 +N80W074 +N80W075 +N80W076 +N80W077 +N80W078 +N80W079 +N80W080 +N80W081 +N80W082 +N80W083 +N80W084 +N80W085 +N80W086 +N80W087 +N80W088 +N80W089 +N80W090 +N80W091 +N80W092 +N80W093 +N80W094 +N80W095 +N80W096 +N80W097 +N80W099 +N80W100 +N80W101 +N81E050 +N81E051 +N81E054 +N81E055 +N81E056 +N81E057 +N81E058 +N81E059 +N81E060 +N81E061 +N81E062 +N81E063 +N81E064 +N81E065 +N81E090 +N81E091 +N81E093 +N81E094 +N81E095 +N81E096 +N81W012 +N81W013 +N81W014 +N81W015 +N81W016 +N81W017 +N81W018 +N81W019 +N81W020 +N81W021 +N81W022 +N81W023 +N81W024 +N81W025 +N81W026 +N81W027 +N81W028 +N81W029 +N81W030 +N81W031 +N81W032 +N81W033 +N81W034 +N81W035 +N81W036 +N81W037 +N81W038 +N81W039 +N81W040 +N81W041 +N81W042 +N81W043 +N81W044 +N81W045 +N81W046 +N81W047 +N81W048 +N81W049 +N81W050 +N81W051 +N81W052 +N81W053 +N81W054 +N81W055 +N81W056 +N81W057 +N81W058 +N81W059 +N81W060 +N81W061 +N81W062 +N81W063 +N81W064 +N81W065 +N81W066 +N81W067 +N81W068 +N81W069 +N81W070 +N81W071 +N81W072 +N81W073 +N81W074 +N81W075 +N81W076 +N81W077 +N81W078 +N81W079 +N81W080 +N81W081 +N81W082 +N81W083 +N81W084 +N81W085 +N81W086 +N81W087 +N81W088 +N81W089 +N81W090 +N81W091 +N81W092 +N81W093 +N81W094 +N81W095 +N81W096 +N82W018 +N82W019 +N82W020 +N82W021 +N82W022 +N82W023 +N82W024 +N82W025 +N82W026 +N82W027 +N82W028 +N82W029 +N82W030 +N82W031 +N82W032 +N82W033 +N82W034 +N82W035 +N82W036 +N82W037 +N82W038 +N82W039 +N82W040 +N82W041 +N82W042 +N82W043 +N82W044 +N82W045 +N82W046 +N82W047 +N82W048 +N82W049 +N82W050 +N82W051 +N82W052 +N82W053 +N82W054 +N82W055 +N82W056 +N82W057 +N82W058 +N82W059 +N82W060 +N82W061 +N82W062 +N82W063 +N82W064 +N82W065 +N82W066 +N82W067 +N82W068 +N82W069 +N82W070 +N82W071 +N82W072 +N82W073 +N82W074 +N82W075 +N82W076 +N82W077 +N82W078 +N82W079 +N82W080 +N82W081 +N82W082 +N82W083 +N82W084 +N82W085 +N82W086 +N82W087 +N82W088 +N82W089 +N83W024 +N83W025 +N83W026 +N83W027 +N83W028 +N83W029 +N83W030 +N83W031 +N83W032 +N83W033 +N83W034 +N83W035 +N83W036 +N83W037 +N83W038 +N83W039 +N83W040 +N83W041 +N83W042 +N83W043 +N83W044 +N83W045 +N83W046 +N83W047 +N83W048 +N83W069 +N83W070 +N83W071 +N83W072 +N83W073 +N83W074 +N83W075 +N83W076 +N83W077 +N83W078 +S01E006 +S01E008 +S01E009 +S01E010 +S01E011 +S01E012 +S01E013 +S01E014 +S01E015 +S01E016 +S01E017 +S01E018 +S01E019 +S01E020 +S01E021 +S01E022 +S01E023 +S01E024 +S01E025 +S01E026 +S01E027 +S01E028 +S01E029 +S01E030 +S01E031 +S01E032 +S01E033 +S01E034 +S01E035 +S01E036 +S01E037 +S01E038 +S01E039 +S01E040 +S01E041 +S01E042 +S01E073 +S01E097 +S01E098 +S01E099 +S01E100 +S01E101 +S01E102 +S01E103 +S01E104 +S01E105 +S01E109 +S01E110 +S01E111 +S01E112 +S01E113 +S01E114 +S01E115 +S01E116 +S01E117 +S01E119 +S01E120 +S01E121 +S01E122 +S01E123 +S01E127 +S01E128 +S01E129 +S01E130 +S01E131 +S01E132 +S01E133 +S01E134 +S01E135 +S01E136 +S01E145 +S01E166 +S01E169 +S01E174 +S01W047 +S01W048 +S01W049 +S01W050 +S01W051 +S01W052 +S01W053 +S01W054 +S01W055 +S01W056 +S01W057 +S01W058 +S01W059 +S01W060 +S01W061 +S01W062 +S01W063 +S01W064 +S01W065 +S01W066 +S01W067 +S01W068 +S01W069 +S01W070 +S01W071 +S01W072 +S01W073 +S01W074 +S01W075 +S01W076 +S01W077 +S01W078 +S01W079 +S01W080 +S01W081 +S01W090 +S01W091 +S01W092 +S01W161 +S02E005 +S02E008 +S02E009 +S02E010 +S02E011 +S02E012 +S02E013 +S02E014 +S02E015 +S02E016 +S02E017 +S02E018 +S02E019 +S02E020 +S02E021 +S02E022 +S02E023 +S02E024 +S02E025 +S02E026 +S02E027 +S02E028 +S02E029 +S02E030 +S02E031 +S02E032 +S02E033 +S02E034 +S02E035 +S02E036 +S02E037 +S02E038 +S02E039 +S02E040 +S02E041 +S02E042 +S02E098 +S02E099 +S02E100 +S02E101 +S02E102 +S02E103 +S02E104 +S02E105 +S02E106 +S02E108 +S02E109 +S02E110 +S02E111 +S02E112 +S02E113 +S02E114 +S02E115 +S02E116 +S02E117 +S02E119 +S02E120 +S02E121 +S02E122 +S02E123 +S02E124 +S02E125 +S02E126 +S02E127 +S02E128 +S02E129 +S02E130 +S02E131 +S02E132 +S02E133 +S02E134 +S02E135 +S02E136 +S02E137 +S02E138 +S02E139 +S02E142 +S02E143 +S02E144 +S02E145 +S02E146 +S02E147 +S02E148 +S02E149 +S02E150 +S02E174 +S02E175 +S02E176 +S02W045 +S02W046 +S02W047 +S02W048 +S02W049 +S02W050 +S02W051 +S02W052 +S02W053 +S02W054 +S02W055 +S02W056 +S02W057 +S02W058 +S02W059 +S02W060 +S02W061 +S02W062 +S02W063 +S02W064 +S02W065 +S02W066 +S02W067 +S02W068 +S02W069 +S02W070 +S02W071 +S02W072 +S02W073 +S02W074 +S02W075 +S02W076 +S02W077 +S02W078 +S02W079 +S02W080 +S02W081 +S02W082 +S02W090 +S02W091 +S02W092 +S03E009 +S03E010 +S03E011 +S03E012 +S03E013 +S03E014 +S03E015 +S03E016 +S03E017 +S03E018 +S03E019 +S03E020 +S03E021 +S03E022 +S03E023 +S03E024 +S03E025 +S03E026 +S03E027 +S03E028 +S03E029 +S03E030 +S03E031 +S03E032 +S03E033 +S03E034 +S03E035 +S03E036 +S03E037 +S03E038 +S03E039 +S03E040 +S03E041 +S03E099 +S03E100 +S03E101 +S03E102 +S03E103 +S03E104 +S03E105 +S03E106 +S03E107 +S03E108 +S03E110 +S03E111 +S03E112 +S03E113 +S03E114 +S03E115 +S03E116 +S03E117 +S03E118 +S03E119 +S03E120 +S03E121 +S03E122 +S03E123 +S03E124 +S03E125 +S03E126 +S03E127 +S03E128 +S03E129 +S03E130 +S03E131 +S03E132 +S03E133 +S03E134 +S03E135 +S03E136 +S03E137 +S03E138 +S03E139 +S03E140 +S03E141 +S03E142 +S03E145 +S03E146 +S03E147 +S03E148 +S03E149 +S03E150 +S03E151 +S03E152 +S03E175 +S03E176 +S03W040 +S03W041 +S03W042 +S03W043 +S03W044 +S03W045 +S03W046 +S03W047 +S03W048 +S03W049 +S03W050 +S03W051 +S03W052 +S03W053 +S03W054 +S03W055 +S03W056 +S03W057 +S03W058 +S03W059 +S03W060 +S03W061 +S03W062 +S03W063 +S03W064 +S03W065 +S03W066 +S03W067 +S03W068 +S03W069 +S03W070 +S03W071 +S03W072 +S03W073 +S03W074 +S03W075 +S03W076 +S03W077 +S03W078 +S03W079 +S03W080 +S03W081 +S03W082 +S03W172 +S04E010 +S04E011 +S04E012 +S04E013 +S04E014 +S04E015 +S04E016 +S04E017 +S04E018 +S04E019 +S04E020 +S04E021 +S04E022 +S04E023 +S04E024 +S04E025 +S04E026 +S04E027 +S04E028 +S04E029 +S04E030 +S04E031 +S04E032 +S04E033 +S04E034 +S04E035 +S04E036 +S04E037 +S04E038 +S04E039 +S04E040 +S04E055 +S04E100 +S04E101 +S04E102 +S04E103 +S04E104 +S04E105 +S04E106 +S04E107 +S04E108 +S04E110 +S04E111 +S04E112 +S04E113 +S04E114 +S04E115 +S04E116 +S04E117 +S04E118 +S04E119 +S04E120 +S04E121 +S04E122 +S04E123 +S04E125 +S04E126 +S04E127 +S04E128 +S04E129 +S04E130 +S04E131 +S04E132 +S04E133 +S04E134 +S04E135 +S04E136 +S04E137 +S04E138 +S04E139 +S04E140 +S04E141 +S04E142 +S04E143 +S04E144 +S04E150 +S04E151 +S04E152 +S04E153 +S04E154 +S04W033 +S04W034 +S04W039 +S04W040 +S04W041 +S04W042 +S04W043 +S04W044 +S04W045 +S04W046 +S04W047 +S04W048 +S04W049 +S04W050 +S04W051 +S04W052 +S04W053 +S04W054 +S04W055 +S04W056 +S04W057 +S04W058 +S04W059 +S04W060 +S04W061 +S04W062 +S04W063 +S04W064 +S04W065 +S04W066 +S04W067 +S04W068 +S04W069 +S04W070 +S04W071 +S04W072 +S04W073 +S04W074 +S04W075 +S04W076 +S04W077 +S04W078 +S04W079 +S04W080 +S04W081 +S04W155 +S04W171 +S04W172 +S04W175 +S05E011 +S05E012 +S05E013 +S05E014 +S05E015 +S05E016 +S05E017 +S05E018 +S05E019 +S05E020 +S05E021 +S05E022 +S05E023 +S05E024 +S05E025 +S05E026 +S05E027 +S05E028 +S05E029 +S05E030 +S05E031 +S05E032 +S05E033 +S05E034 +S05E035 +S05E036 +S05E037 +S05E038 +S05E039 +S05E053 +S05E055 +S05E101 +S05E102 +S05E103 +S05E104 +S05E105 +S05E114 +S05E115 +S05E116 +S05E119 +S05E120 +S05E121 +S05E122 +S05E123 +S05E129 +S05E130 +S05E131 +S05E132 +S05E133 +S05E134 +S05E135 +S05E136 +S05E137 +S05E138 +S05E139 +S05E140 +S05E141 +S05E142 +S05E143 +S05E144 +S05E145 +S05E146 +S05E149 +S05E150 +S05E151 +S05E152 +S05E153 +S05E154 +S05E155 +S05E156 +S05E157 +S05E159 +S05W037 +S05W038 +S05W039 +S05W040 +S05W041 +S05W042 +S05W043 +S05W044 +S05W045 +S05W046 +S05W047 +S05W048 +S05W049 +S05W050 +S05W051 +S05W052 +S05W053 +S05W054 +S05W055 +S05W056 +S05W057 +S05W058 +S05W059 +S05W060 +S05W061 +S05W062 +S05W063 +S05W064 +S05W065 +S05W066 +S05W067 +S05W068 +S05W069 +S05W070 +S05W071 +S05W072 +S05W073 +S05W074 +S05W075 +S05W076 +S05W077 +S05W078 +S05W079 +S05W080 +S05W081 +S05W082 +S05W155 +S05W172 +S05W173 +S05W175 +S06E011 +S06E012 +S06E013 +S06E014 +S06E015 +S06E016 +S06E017 +S06E018 +S06E019 +S06E020 +S06E021 +S06E022 +S06E023 +S06E024 +S06E025 +S06E026 +S06E027 +S06E028 +S06E029 +S06E030 +S06E031 +S06E032 +S06E033 +S06E034 +S06E035 +S06E036 +S06E037 +S06E038 +S06E039 +S06E053 +S06E055 +S06E071 +S06E072 +S06E102 +S06E103 +S06E104 +S06E105 +S06E106 +S06E107 +S06E108 +S06E110 +S06E112 +S06E114 +S06E117 +S06E118 +S06E119 +S06E120 +S06E121 +S06E122 +S06E123 +S06E124 +S06E127 +S06E130 +S06E131 +S06E132 +S06E133 +S06E134 +S06E137 +S06E138 +S06E139 +S06E140 +S06E141 +S06E142 +S06E143 +S06E144 +S06E145 +S06E146 +S06E147 +S06E148 +S06E149 +S06E150 +S06E151 +S06E152 +S06E154 +S06E155 +S06E159 +S06E176 +S06W036 +S06W037 +S06W038 +S06W039 +S06W040 +S06W041 +S06W042 +S06W043 +S06W044 +S06W045 +S06W046 +S06W047 +S06W048 +S06W049 +S06W050 +S06W051 +S06W052 +S06W053 +S06W054 +S06W055 +S06W056 +S06W057 +S06W058 +S06W059 +S06W060 +S06W061 +S06W062 +S06W063 +S06W064 +S06W065 +S06W066 +S06W067 +S06W068 +S06W069 +S06W070 +S06W071 +S06W072 +S06W073 +S06W074 +S06W075 +S06W076 +S06W077 +S06W078 +S06W079 +S06W080 +S06W081 +S06W082 +S06W156 +S07E012 +S07E013 +S07E014 +S07E015 +S07E016 +S07E017 +S07E018 +S07E019 +S07E020 +S07E021 +S07E022 +S07E023 +S07E024 +S07E025 +S07E026 +S07E027 +S07E028 +S07E029 +S07E030 +S07E031 +S07E032 +S07E033 +S07E034 +S07E035 +S07E036 +S07E037 +S07E038 +S07E039 +S07E052 +S07E053 +S07E071 +S07E105 +S07E106 +S07E107 +S07E108 +S07E109 +S07E110 +S07E111 +S07E112 +S07E113 +S07E114 +S07E115 +S07E116 +S07E118 +S07E119 +S07E120 +S07E121 +S07E122 +S07E124 +S07E126 +S07E129 +S07E130 +S07E131 +S07E132 +S07E134 +S07E138 +S07E139 +S07E140 +S07E141 +S07E142 +S07E143 +S07E144 +S07E145 +S07E146 +S07E147 +S07E148 +S07E149 +S07E150 +S07E151 +S07E154 +S07E155 +S07E156 +S07E157 +S07E176 +S07E177 +S07W035 +S07W036 +S07W037 +S07W038 +S07W039 +S07W040 +S07W041 +S07W042 +S07W043 +S07W044 +S07W045 +S07W046 +S07W047 +S07W048 +S07W049 +S07W050 +S07W051 +S07W052 +S07W053 +S07W054 +S07W055 +S07W056 +S07W057 +S07W058 +S07W059 +S07W060 +S07W061 +S07W062 +S07W063 +S07W064 +S07W065 +S07W066 +S07W067 +S07W068 +S07W069 +S07W070 +S07W071 +S07W072 +S07W073 +S07W074 +S07W075 +S07W076 +S07W077 +S07W078 +S07W079 +S07W080 +S07W081 +S07W082 +S08E012 +S08E013 +S08E014 +S08E015 +S08E016 +S08E017 +S08E018 +S08E019 +S08E020 +S08E021 +S08E022 +S08E023 +S08E024 +S08E025 +S08E026 +S08E027 +S08E028 +S08E029 +S08E030 +S08E031 +S08E032 +S08E033 +S08E034 +S08E035 +S08E036 +S08E037 +S08E038 +S08E039 +S08E052 +S08E056 +S08E072 +S08E105 +S08E106 +S08E107 +S08E108 +S08E109 +S08E110 +S08E111 +S08E112 +S08E113 +S08E114 +S08E115 +S08E117 +S08E118 +S08E120 +S08E121 +S08E122 +S08E123 +S08E125 +S08E126 +S08E127 +S08E128 +S08E129 +S08E130 +S08E131 +S08E134 +S08E137 +S08E138 +S08E139 +S08E140 +S08E141 +S08E142 +S08E143 +S08E144 +S08E145 +S08E146 +S08E147 +S08E155 +S08E156 +S08E157 +S08E158 +S08E159 +S08E160 +S08E177 +S08E178 +S08W015 +S08W035 +S08W036 +S08W037 +S08W038 +S08W039 +S08W040 +S08W041 +S08W042 +S08W043 +S08W044 +S08W045 +S08W046 +S08W047 +S08W048 +S08W049 +S08W050 +S08W051 +S08W052 +S08W053 +S08W054 +S08W055 +S08W056 +S08W057 +S08W058 +S08W059 +S08W060 +S08W061 +S08W062 +S08W063 +S08W064 +S08W065 +S08W066 +S08W067 +S08W068 +S08W069 +S08W070 +S08W071 +S08W072 +S08W073 +S08W074 +S08W075 +S08W076 +S08W077 +S08W078 +S08W079 +S08W080 +S08W141 +S09E013 +S09E014 +S09E015 +S09E016 +S09E017 +S09E018 +S09E019 +S09E020 +S09E021 +S09E022 +S09E023 +S09E024 +S09E025 +S09E026 +S09E027 +S09E028 +S09E029 +S09E030 +S09E031 +S09E032 +S09E033 +S09E034 +S09E035 +S09E036 +S09E037 +S09E038 +S09E039 +S09E110 +S09E111 +S09E112 +S09E113 +S09E114 +S09E115 +S09E116 +S09E117 +S09E118 +S09E119 +S09E120 +S09E121 +S09E122 +S09E123 +S09E124 +S09E125 +S09E126 +S09E127 +S09E128 +S09E129 +S09E130 +S09E131 +S09E137 +S09E138 +S09E139 +S09E140 +S09E141 +S09E142 +S09E143 +S09E145 +S09E146 +S09E147 +S09E148 +S09E149 +S09E150 +S09E151 +S09E152 +S09E156 +S09E157 +S09E158 +S09E159 +S09E160 +S09E161 +S09E178 +S09E179 +S09W035 +S09W036 +S09W037 +S09W038 +S09W039 +S09W040 +S09W041 +S09W042 +S09W043 +S09W044 +S09W045 +S09W046 +S09W047 +S09W048 +S09W049 +S09W050 +S09W051 +S09W052 +S09W053 +S09W054 +S09W055 +S09W056 +S09W057 +S09W058 +S09W059 +S09W060 +S09W061 +S09W062 +S09W063 +S09W064 +S09W065 +S09W066 +S09W067 +S09W068 +S09W069 +S09W070 +S09W071 +S09W072 +S09W073 +S09W074 +S09W075 +S09W076 +S09W077 +S09W078 +S09W079 +S09W080 +S09W140 +S09W141 +S09W158 +S09W159 +S09W173 +S10E012 +S10E013 +S10E014 +S10E015 +S10E016 +S10E017 +S10E018 +S10E019 +S10E020 +S10E021 +S10E022 +S10E023 +S10E024 +S10E025 +S10E026 +S10E027 +S10E028 +S10E029 +S10E030 +S10E031 +S10E032 +S10E033 +S10E034 +S10E035 +S10E036 +S10E037 +S10E038 +S10E039 +S10E046 +S10E047 +S10E050 +S10E051 +S10E116 +S10E117 +S10E118 +S10E119 +S10E120 +S10E123 +S10E124 +S10E125 +S10E126 +S10E140 +S10E141 +S10E142 +S10E143 +S10E144 +S10E146 +S10E147 +S10E148 +S10E149 +S10E150 +S10E151 +S10E152 +S10E153 +S10E158 +S10E159 +S10E160 +S10E161 +S10E167 +S10E179 +S10W036 +S10W037 +S10W038 +S10W039 +S10W040 +S10W041 +S10W042 +S10W043 +S10W044 +S10W045 +S10W046 +S10W047 +S10W048 +S10W049 +S10W050 +S10W051 +S10W052 +S10W053 +S10W054 +S10W055 +S10W056 +S10W057 +S10W058 +S10W059 +S10W060 +S10W061 +S10W062 +S10W063 +S10W064 +S10W065 +S10W066 +S10W067 +S10W068 +S10W069 +S10W070 +S10W071 +S10W072 +S10W073 +S10W074 +S10W075 +S10W076 +S10W077 +S10W078 +S10W079 +S10W139 +S10W140 +S10W141 +S10W151 +S10W158 +S10W159 +S10W162 +S10W172 +S11E013 +S11E014 +S11E015 +S11E016 +S11E017 +S11E018 +S11E019 +S11E020 +S11E021 +S11E022 +S11E023 +S11E024 +S11E025 +S11E026 +S11E027 +S11E028 +S11E029 +S11E030 +S11E031 +S11E032 +S11E033 +S11E034 +S11E035 +S11E036 +S11E037 +S11E038 +S11E039 +S11E040 +S11E047 +S11E051 +S11E056 +S11E105 +S11E119 +S11E120 +S11E121 +S11E122 +S11E123 +S11E124 +S11E132 +S11E133 +S11E141 +S11E142 +S11E143 +S11E147 +S11E148 +S11E149 +S11E150 +S11E151 +S11E152 +S11E153 +S11E161 +S11E162 +S11E165 +S11E166 +S11E179 +S11W037 +S11W038 +S11W039 +S11W040 +S11W041 +S11W042 +S11W043 +S11W044 +S11W045 +S11W046 +S11W047 +S11W048 +S11W049 +S11W050 +S11W051 +S11W052 +S11W053 +S11W054 +S11W055 +S11W056 +S11W057 +S11W058 +S11W059 +S11W060 +S11W061 +S11W062 +S11W063 +S11W064 +S11W065 +S11W066 +S11W067 +S11W068 +S11W069 +S11W070 +S11W071 +S11W072 +S11W073 +S11W074 +S11W075 +S11W076 +S11W077 +S11W078 +S11W079 +S11W139 +S11W140 +S11W151 +S11W161 +S11W162 +S11W166 +S12E013 +S12E014 +S12E015 +S12E016 +S12E017 +S12E018 +S12E019 +S12E020 +S12E021 +S12E022 +S12E023 +S12E024 +S12E025 +S12E026 +S12E027 +S12E028 +S12E029 +S12E030 +S12E031 +S12E032 +S12E033 +S12E034 +S12E035 +S12E036 +S12E037 +S12E038 +S12E039 +S12E040 +S12E043 +S12E047 +S12E049 +S12E096 +S12E122 +S12E130 +S12E131 +S12E132 +S12E133 +S12E134 +S12E135 +S12E136 +S12E141 +S12E142 +S12E143 +S12E144 +S12E151 +S12E152 +S12E153 +S12E154 +S12E159 +S12E160 +S12E166 +S12E169 +S12E170 +S12W038 +S12W039 +S12W040 +S12W041 +S12W042 +S12W043 +S12W044 +S12W045 +S12W046 +S12W047 +S12W048 +S12W049 +S12W050 +S12W051 +S12W052 +S12W053 +S12W054 +S12W055 +S12W056 +S12W057 +S12W058 +S12W059 +S12W060 +S12W061 +S12W062 +S12W063 +S12W064 +S12W065 +S12W066 +S12W067 +S12W068 +S12W069 +S12W070 +S12W071 +S12W072 +S12W073 +S12W074 +S12W075 +S12W076 +S12W077 +S12W078 +S12W152 +S12W166 +S12W172 +S13E012 +S13E013 +S13E014 +S13E015 +S13E016 +S13E017 +S13E018 +S13E019 +S13E020 +S13E021 +S13E022 +S13E023 +S13E024 +S13E025 +S13E026 +S13E027 +S13E028 +S13E029 +S13E030 +S13E031 +S13E032 +S13E033 +S13E034 +S13E035 +S13E036 +S13E037 +S13E038 +S13E039 +S13E040 +S13E043 +S13E044 +S13E045 +S13E048 +S13E049 +S13E096 +S13E130 +S13E131 +S13E132 +S13E133 +S13E134 +S13E135 +S13E136 +S13E141 +S13E142 +S13E143 +S13E168 +S13E176 +S13E177 +S13W038 +S13W039 +S13W040 +S13W041 +S13W042 +S13W043 +S13W044 +S13W045 +S13W046 +S13W047 +S13W048 +S13W049 +S13W050 +S13W051 +S13W052 +S13W053 +S13W054 +S13W055 +S13W056 +S13W057 +S13W058 +S13W059 +S13W060 +S13W061 +S13W062 +S13W063 +S13W064 +S13W065 +S13W066 +S13W067 +S13W068 +S13W069 +S13W070 +S13W071 +S13W072 +S13W073 +S13W074 +S13W075 +S13W076 +S13W077 +S13W078 +S14E012 +S14E013 +S14E014 +S14E015 +S14E016 +S14E017 +S14E018 +S14E019 +S14E020 +S14E021 +S14E022 +S14E023 +S14E024 +S14E025 +S14E026 +S14E027 +S14E028 +S14E029 +S14E030 +S14E031 +S14E032 +S14E033 +S14E034 +S14E035 +S14E036 +S14E037 +S14E038 +S14E039 +S14E040 +S14E045 +S14E047 +S14E048 +S14E049 +S14E050 +S14E125 +S14E126 +S14E127 +S14E129 +S14E130 +S14E131 +S14E132 +S14E133 +S14E134 +S14E135 +S14E136 +S14E141 +S14E142 +S14E143 +S14E144 +S14E166 +S14E167 +S14W039 +S14W040 +S14W041 +S14W042 +S14W043 +S14W044 +S14W045 +S14W046 +S14W047 +S14W048 +S14W049 +S14W050 +S14W051 +S14W052 +S14W053 +S14W054 +S14W055 +S14W056 +S14W057 +S14W058 +S14W059 +S14W060 +S14W061 +S14W062 +S14W063 +S14W064 +S14W065 +S14W066 +S14W067 +S14W068 +S14W069 +S14W070 +S14W071 +S14W072 +S14W073 +S14W074 +S14W075 +S14W076 +S14W077 +S14W164 +S14W172 +S14W173 +S14W177 +S15E012 +S15E013 +S15E014 +S15E015 +S15E016 +S15E017 +S15E018 +S15E019 +S15E020 +S15E021 +S15E022 +S15E023 +S15E024 +S15E025 +S15E026 +S15E027 +S15E028 +S15E029 +S15E030 +S15E031 +S15E032 +S15E033 +S15E034 +S15E035 +S15E036 +S15E037 +S15E038 +S15E039 +S15E040 +S15E047 +S15E048 +S15E049 +S15E050 +S15E124 +S15E125 +S15E126 +S15E127 +S15E128 +S15E129 +S15E130 +S15E131 +S15E132 +S15E133 +S15E134 +S15E135 +S15E136 +S15E141 +S15E142 +S15E143 +S15E144 +S15E145 +S15E166 +S15E167 +S15E168 +S15W039 +S15W040 +S15W041 +S15W042 +S15W043 +S15W044 +S15W045 +S15W046 +S15W047 +S15W048 +S15W049 +S15W050 +S15W051 +S15W052 +S15W053 +S15W054 +S15W055 +S15W056 +S15W057 +S15W058 +S15W059 +S15W060 +S15W061 +S15W062 +S15W063 +S15W064 +S15W065 +S15W066 +S15W067 +S15W068 +S15W069 +S15W070 +S15W071 +S15W072 +S15W073 +S15W074 +S15W075 +S15W076 +S15W077 +S15W139 +S15W142 +S15W145 +S15W146 +S15W147 +S15W148 +S15W149 +S15W169 +S15W170 +S15W171 +S15W172 +S15W178 +S15W179 +S16E011 +S16E012 +S16E013 +S16E014 +S16E015 +S16E016 +S16E017 +S16E018 +S16E019 +S16E020 +S16E021 +S16E022 +S16E023 +S16E024 +S16E025 +S16E026 +S16E027 +S16E028 +S16E029 +S16E030 +S16E031 +S16E032 +S16E033 +S16E034 +S16E035 +S16E036 +S16E037 +S16E038 +S16E039 +S16E040 +S16E045 +S16E046 +S16E047 +S16E048 +S16E049 +S16E050 +S16E054 +S16E123 +S16E124 +S16E125 +S16E126 +S16E127 +S16E128 +S16E129 +S16E130 +S16E131 +S16E132 +S16E133 +S16E134 +S16E135 +S16E136 +S16E137 +S16E141 +S16E142 +S16E143 +S16E144 +S16E145 +S16E166 +S16E167 +S16E168 +S16W006 +S16W039 +S16W040 +S16W041 +S16W042 +S16W043 +S16W044 +S16W045 +S16W046 +S16W047 +S16W048 +S16W049 +S16W050 +S16W051 +S16W052 +S16W053 +S16W054 +S16W055 +S16W056 +S16W057 +S16W058 +S16W059 +S16W060 +S16W061 +S16W062 +S16W063 +S16W064 +S16W065 +S16W066 +S16W067 +S16W068 +S16W069 +S16W070 +S16W071 +S16W072 +S16W073 +S16W074 +S16W075 +S16W076 +S16W141 +S16W143 +S16W145 +S16W146 +S16W147 +S16W148 +S16W149 +S16W155 +S16W174 +S16W176 +S16W180 +S17E011 +S17E012 +S17E013 +S17E014 +S17E015 +S17E016 +S17E017 +S17E018 +S17E019 +S17E020 +S17E021 +S17E022 +S17E023 +S17E024 +S17E025 +S17E026 +S17E027 +S17E028 +S17E029 +S17E030 +S17E031 +S17E032 +S17E033 +S17E034 +S17E035 +S17E036 +S17E037 +S17E038 +S17E039 +S17E040 +S17E043 +S17E044 +S17E045 +S17E046 +S17E047 +S17E048 +S17E049 +S17E050 +S17E059 +S17E122 +S17E123 +S17E124 +S17E125 +S17E126 +S17E127 +S17E128 +S17E129 +S17E130 +S17E131 +S17E132 +S17E133 +S17E134 +S17E135 +S17E136 +S17E137 +S17E138 +S17E139 +S17E140 +S17E141 +S17E142 +S17E143 +S17E144 +S17E145 +S17E146 +S17E149 +S17E150 +S17E167 +S17E168 +S17E177 +S17E178 +S17E179 +S17W006 +S17W039 +S17W040 +S17W041 +S17W042 +S17W043 +S17W044 +S17W045 +S17W046 +S17W047 +S17W048 +S17W049 +S17W050 +S17W051 +S17W052 +S17W053 +S17W054 +S17W055 +S17W056 +S17W057 +S17W058 +S17W059 +S17W060 +S17W061 +S17W062 +S17W063 +S17W064 +S17W065 +S17W066 +S17W067 +S17W068 +S17W069 +S17W070 +S17W071 +S17W072 +S17W073 +S17W074 +S17W075 +S17W141 +S17W142 +S17W143 +S17W144 +S17W145 +S17W146 +S17W147 +S17W150 +S17W151 +S17W152 +S17W153 +S17W154 +S17W155 +S17W180 +S18E011 +S18E012 +S18E013 +S18E014 +S18E015 +S18E016 +S18E017 +S18E018 +S18E019 +S18E020 +S18E021 +S18E022 +S18E023 +S18E024 +S18E025 +S18E026 +S18E027 +S18E028 +S18E029 +S18E030 +S18E031 +S18E032 +S18E033 +S18E034 +S18E035 +S18E036 +S18E037 +S18E038 +S18E039 +S18E042 +S18E043 +S18E044 +S18E045 +S18E046 +S18E047 +S18E048 +S18E049 +S18E118 +S18E119 +S18E122 +S18E123 +S18E124 +S18E125 +S18E126 +S18E127 +S18E128 +S18E129 +S18E130 +S18E131 +S18E132 +S18E133 +S18E134 +S18E135 +S18E136 +S18E137 +S18E138 +S18E139 +S18E140 +S18E141 +S18E142 +S18E143 +S18E144 +S18E145 +S18E146 +S18E148 +S18E155 +S18E168 +S18E176 +S18E177 +S18E178 +S18E179 +S18W039 +S18W040 +S18W041 +S18W042 +S18W043 +S18W044 +S18W045 +S18W046 +S18W047 +S18W048 +S18W049 +S18W050 +S18W051 +S18W052 +S18W053 +S18W054 +S18W055 +S18W056 +S18W057 +S18W058 +S18W059 +S18W060 +S18W061 +S18W062 +S18W063 +S18W064 +S18W065 +S18W066 +S18W067 +S18W068 +S18W069 +S18W070 +S18W071 +S18W072 +S18W073 +S18W139 +S18W141 +S18W142 +S18W143 +S18W144 +S18W145 +S18W146 +S18W149 +S18W150 +S18W151 +S18W179 +S18W180 +S19E011 +S19E012 +S19E013 +S19E014 +S19E015 +S19E016 +S19E017 +S19E018 +S19E019 +S19E020 +S19E021 +S19E022 +S19E023 +S19E024 +S19E025 +S19E026 +S19E027 +S19E028 +S19E029 +S19E030 +S19E031 +S19E032 +S19E033 +S19E034 +S19E035 +S19E036 +S19E037 +S19E043 +S19E044 +S19E045 +S19E046 +S19E047 +S19E048 +S19E049 +S19E121 +S19E122 +S19E123 +S19E124 +S19E125 +S19E126 +S19E127 +S19E128 +S19E129 +S19E130 +S19E131 +S19E132 +S19E133 +S19E134 +S19E135 +S19E136 +S19E137 +S19E138 +S19E139 +S19E140 +S19E141 +S19E142 +S19E143 +S19E144 +S19E145 +S19E146 +S19E162 +S19E163 +S19E168 +S19E169 +S19E177 +S19E178 +S19E179 +S19W040 +S19W041 +S19W042 +S19W043 +S19W044 +S19W045 +S19W046 +S19W047 +S19W048 +S19W049 +S19W050 +S19W051 +S19W052 +S19W053 +S19W054 +S19W055 +S19W056 +S19W057 +S19W058 +S19W059 +S19W060 +S19W061 +S19W062 +S19W063 +S19W064 +S19W065 +S19W066 +S19W067 +S19W068 +S19W069 +S19W070 +S19W071 +S19W137 +S19W138 +S19W139 +S19W140 +S19W141 +S19W142 +S19W143 +S19W160 +S19W164 +S19W170 +S19W174 +S19W175 +S19W179 +S19W180 +S20E012 +S20E013 +S20E014 +S20E015 +S20E016 +S20E017 +S20E018 +S20E019 +S20E020 +S20E021 +S20E022 +S20E023 +S20E024 +S20E025 +S20E026 +S20E027 +S20E028 +S20E029 +S20E030 +S20E031 +S20E032 +S20E033 +S20E034 +S20E035 +S20E044 +S20E045 +S20E046 +S20E047 +S20E048 +S20E049 +S20E057 +S20E063 +S20E118 +S20E119 +S20E120 +S20E121 +S20E122 +S20E123 +S20E124 +S20E125 +S20E126 +S20E127 +S20E128 +S20E129 +S20E130 +S20E131 +S20E132 +S20E133 +S20E134 +S20E135 +S20E136 +S20E137 +S20E138 +S20E139 +S20E140 +S20E141 +S20E142 +S20E143 +S20E144 +S20E145 +S20E146 +S20E147 +S20E148 +S20E158 +S20E163 +S20E169 +S20E170 +S20E177 +S20E178 +S20E179 +S20W040 +S20W041 +S20W042 +S20W043 +S20W044 +S20W045 +S20W046 +S20W047 +S20W048 +S20W049 +S20W050 +S20W051 +S20W052 +S20W053 +S20W054 +S20W055 +S20W056 +S20W057 +S20W058 +S20W059 +S20W060 +S20W061 +S20W062 +S20W063 +S20W064 +S20W065 +S20W066 +S20W067 +S20W068 +S20W069 +S20W070 +S20W071 +S20W139 +S20W140 +S20W141 +S20W142 +S20W145 +S20W146 +S20W158 +S20W159 +S20W170 +S20W175 +S20W176 +S20W179 +S20W180 +S21E013 +S21E014 +S21E015 +S21E016 +S21E017 +S21E018 +S21E019 +S21E020 +S21E021 +S21E022 +S21E023 +S21E024 +S21E025 +S21E026 +S21E027 +S21E028 +S21E029 +S21E030 +S21E031 +S21E032 +S21E033 +S21E034 +S21E035 +S21E043 +S21E044 +S21E045 +S21E046 +S21E047 +S21E048 +S21E055 +S21E057 +S21E115 +S21E116 +S21E117 +S21E118 +S21E119 +S21E120 +S21E121 +S21E122 +S21E123 +S21E124 +S21E125 +S21E126 +S21E127 +S21E128 +S21E129 +S21E130 +S21E131 +S21E132 +S21E133 +S21E134 +S21E135 +S21E136 +S21E137 +S21E138 +S21E139 +S21E140 +S21E141 +S21E142 +S21E143 +S21E144 +S21E145 +S21E146 +S21E147 +S21E148 +S21E149 +S21E150 +S21E154 +S21E163 +S21E164 +S21E165 +S21E166 +S21E167 +S21E169 +S21W029 +S21W030 +S21W041 +S21W042 +S21W043 +S21W044 +S21W045 +S21W046 +S21W047 +S21W048 +S21W049 +S21W050 +S21W051 +S21W052 +S21W053 +S21W054 +S21W055 +S21W056 +S21W057 +S21W058 +S21W059 +S21W060 +S21W061 +S21W062 +S21W063 +S21W064 +S21W065 +S21W066 +S21W067 +S21W068 +S21W069 +S21W070 +S21W071 +S21W139 +S21W140 +S21W144 +S21W158 +S21W159 +S21W175 +S21W176 +S21W179 +S22E013 +S22E014 +S22E015 +S22E016 +S22E017 +S22E018 +S22E019 +S22E020 +S22E021 +S22E022 +S22E023 +S22E024 +S22E025 +S22E026 +S22E027 +S22E028 +S22E029 +S22E030 +S22E031 +S22E032 +S22E033 +S22E034 +S22E035 +S22E043 +S22E044 +S22E045 +S22E046 +S22E047 +S22E048 +S22E055 +S22E113 +S22E114 +S22E115 +S22E116 +S22E117 +S22E118 +S22E119 +S22E120 +S22E121 +S22E122 +S22E123 +S22E124 +S22E125 +S22E126 +S22E127 +S22E128 +S22E129 +S22E130 +S22E131 +S22E132 +S22E133 +S22E134 +S22E135 +S22E136 +S22E137 +S22E138 +S22E139 +S22E140 +S22E141 +S22E142 +S22E143 +S22E144 +S22E145 +S22E146 +S22E147 +S22E148 +S22E149 +S22E150 +S22E151 +S22E152 +S22E153 +S22E154 +S22E155 +S22E158 +S22E164 +S22E165 +S22E166 +S22E167 +S22E168 +S22W041 +S22W042 +S22W043 +S22W044 +S22W045 +S22W046 +S22W047 +S22W048 +S22W049 +S22W050 +S22W051 +S22W052 +S22W053 +S22W054 +S22W055 +S22W056 +S22W057 +S22W058 +S22W059 +S22W060 +S22W061 +S22W062 +S22W063 +S22W064 +S22W065 +S22W066 +S22W067 +S22W068 +S22W069 +S22W070 +S22W071 +S22W136 +S22W137 +S22W139 +S22W140 +S22W141 +S22W155 +S22W158 +S22W160 +S22W175 +S22W176 +S22W179 +S23E014 +S23E015 +S23E016 +S23E017 +S23E018 +S23E019 +S23E020 +S23E021 +S23E022 +S23E023 +S23E024 +S23E025 +S23E026 +S23E027 +S23E028 +S23E029 +S23E030 +S23E031 +S23E032 +S23E033 +S23E034 +S23E035 +S23E043 +S23E044 +S23E045 +S23E046 +S23E047 +S23E048 +S23E113 +S23E114 +S23E115 +S23E116 +S23E117 +S23E118 +S23E119 +S23E120 +S23E121 +S23E122 +S23E123 +S23E124 +S23E125 +S23E126 +S23E127 +S23E128 +S23E129 +S23E130 +S23E131 +S23E132 +S23E133 +S23E134 +S23E135 +S23E136 +S23E137 +S23E138 +S23E139 +S23E140 +S23E141 +S23E142 +S23E143 +S23E144 +S23E145 +S23E146 +S23E147 +S23E148 +S23E149 +S23E150 +S23E152 +S23E155 +S23E165 +S23E166 +S23E167 +S23E168 +S23E171 +S23E172 +S23W041 +S23W042 +S23W043 +S23W044 +S23W045 +S23W046 +S23W047 +S23W048 +S23W049 +S23W050 +S23W051 +S23W052 +S23W053 +S23W054 +S23W055 +S23W056 +S23W057 +S23W058 +S23W059 +S23W060 +S23W061 +S23W062 +S23W063 +S23W064 +S23W065 +S23W066 +S23W067 +S23W068 +S23W069 +S23W070 +S23W071 +S23W135 +S23W137 +S23W139 +S23W152 +S23W153 +S23W177 +S24E014 +S24E015 +S24E016 +S24E017 +S24E018 +S24E019 +S24E020 +S24E021 +S24E022 +S24E023 +S24E024 +S24E025 +S24E026 +S24E027 +S24E028 +S24E029 +S24E030 +S24E031 +S24E032 +S24E033 +S24E034 +S24E035 +S24E043 +S24E044 +S24E045 +S24E046 +S24E047 +S24E113 +S24E114 +S24E115 +S24E116 +S24E117 +S24E118 +S24E119 +S24E120 +S24E121 +S24E122 +S24E123 +S24E124 +S24E125 +S24E126 +S24E127 +S24E128 +S24E129 +S24E130 +S24E131 +S24E132 +S24E133 +S24E134 +S24E135 +S24E136 +S24E137 +S24E138 +S24E139 +S24E140 +S24E141 +S24E142 +S24E143 +S24E144 +S24E145 +S24E146 +S24E147 +S24E148 +S24E149 +S24E150 +S24E151 +S24E152 +S24E155 +S24W042 +S24W043 +S24W044 +S24W045 +S24W046 +S24W047 +S24W048 +S24W049 +S24W050 +S24W051 +S24W052 +S24W053 +S24W054 +S24W055 +S24W056 +S24W057 +S24W058 +S24W059 +S24W060 +S24W061 +S24W062 +S24W063 +S24W064 +S24W065 +S24W066 +S24W067 +S24W068 +S24W069 +S24W070 +S24W071 +S24W131 +S24W135 +S24W136 +S24W138 +S24W148 +S24W150 +S25E014 +S25E015 +S25E016 +S25E017 +S25E018 +S25E019 +S25E020 +S25E021 +S25E022 +S25E023 +S25E024 +S25E025 +S25E026 +S25E027 +S25E028 +S25E029 +S25E030 +S25E031 +S25E032 +S25E033 +S25E034 +S25E035 +S25E043 +S25E044 +S25E045 +S25E046 +S25E047 +S25E113 +S25E114 +S25E115 +S25E116 +S25E117 +S25E118 +S25E119 +S25E120 +S25E121 +S25E122 +S25E123 +S25E124 +S25E125 +S25E126 +S25E127 +S25E128 +S25E129 +S25E130 +S25E131 +S25E132 +S25E133 +S25E134 +S25E135 +S25E136 +S25E137 +S25E138 +S25E139 +S25E140 +S25E141 +S25E142 +S25E143 +S25E144 +S25E145 +S25E146 +S25E147 +S25E148 +S25E149 +S25E150 +S25E151 +S25E152 +S25E153 +S25W046 +S25W047 +S25W048 +S25W049 +S25W050 +S25W051 +S25W052 +S25W053 +S25W054 +S25W055 +S25W056 +S25W057 +S25W058 +S25W059 +S25W060 +S25W061 +S25W062 +S25W063 +S25W064 +S25W065 +S25W066 +S25W067 +S25W068 +S25W069 +S25W070 +S25W071 +S25W125 +S25W129 +S26E014 +S26E015 +S26E016 +S26E017 +S26E018 +S26E019 +S26E020 +S26E021 +S26E022 +S26E023 +S26E024 +S26E025 +S26E026 +S26E027 +S26E028 +S26E029 +S26E030 +S26E031 +S26E032 +S26E033 +S26E034 +S26E044 +S26E045 +S26E046 +S26E047 +S26E112 +S26E113 +S26E114 +S26E115 +S26E116 +S26E117 +S26E118 +S26E119 +S26E120 +S26E121 +S26E122 +S26E123 +S26E124 +S26E125 +S26E126 +S26E127 +S26E128 +S26E129 +S26E130 +S26E131 +S26E132 +S26E133 +S26E134 +S26E135 +S26E136 +S26E137 +S26E138 +S26E139 +S26E140 +S26E141 +S26E142 +S26E143 +S26E144 +S26E145 +S26E146 +S26E147 +S26E148 +S26E149 +S26E150 +S26E151 +S26E152 +S26E153 +S26W048 +S26W049 +S26W050 +S26W051 +S26W052 +S26W053 +S26W054 +S26W055 +S26W056 +S26W057 +S26W058 +S26W059 +S26W060 +S26W061 +S26W062 +S26W063 +S26W064 +S26W065 +S26W066 +S26W067 +S26W068 +S26W069 +S26W070 +S26W071 +S26W131 +S27E014 +S27E015 +S27E016 +S27E017 +S27E018 +S27E019 +S27E020 +S27E021 +S27E022 +S27E023 +S27E024 +S27E025 +S27E026 +S27E027 +S27E028 +S27E029 +S27E030 +S27E031 +S27E032 +S27E113 +S27E114 +S27E115 +S27E116 +S27E117 +S27E118 +S27E119 +S27E120 +S27E121 +S27E122 +S27E123 +S27E124 +S27E125 +S27E126 +S27E127 +S27E128 +S27E129 +S27E130 +S27E131 +S27E132 +S27E133 +S27E134 +S27E135 +S27E136 +S27E137 +S27E138 +S27E139 +S27E140 +S27E141 +S27E142 +S27E143 +S27E144 +S27E145 +S27E146 +S27E147 +S27E148 +S27E149 +S27E150 +S27E151 +S27E152 +S27E153 +S27W049 +S27W050 +S27W051 +S27W052 +S27W053 +S27W054 +S27W055 +S27W056 +S27W057 +S27W058 +S27W059 +S27W060 +S27W061 +S27W062 +S27W063 +S27W064 +S27W065 +S27W066 +S27W067 +S27W068 +S27W069 +S27W070 +S27W071 +S27W080 +S27W081 +S27W106 +S28E015 +S28E016 +S28E017 +S28E018 +S28E019 +S28E020 +S28E021 +S28E022 +S28E023 +S28E024 +S28E025 +S28E026 +S28E027 +S28E028 +S28E029 +S28E030 +S28E031 +S28E032 +S28E113 +S28E114 +S28E115 +S28E116 +S28E117 +S28E118 +S28E119 +S28E120 +S28E121 +S28E122 +S28E123 +S28E124 +S28E125 +S28E126 +S28E127 +S28E128 +S28E129 +S28E130 +S28E131 +S28E132 +S28E133 +S28E134 +S28E135 +S28E136 +S28E137 +S28E138 +S28E139 +S28E140 +S28E141 +S28E142 +S28E143 +S28E144 +S28E145 +S28E146 +S28E147 +S28E148 +S28E149 +S28E150 +S28E151 +S28E152 +S28E153 +S28W049 +S28W050 +S28W051 +S28W052 +S28W053 +S28W054 +S28W055 +S28W056 +S28W057 +S28W058 +S28W059 +S28W060 +S28W061 +S28W062 +S28W063 +S28W064 +S28W065 +S28W066 +S28W067 +S28W068 +S28W069 +S28W070 +S28W071 +S28W072 +S28W110 +S28W144 +S28W145 +S29E015 +S29E016 +S29E017 +S29E018 +S29E019 +S29E020 +S29E021 +S29E022 +S29E023 +S29E024 +S29E025 +S29E026 +S29E027 +S29E028 +S29E029 +S29E030 +S29E031 +S29E032 +S29E113 +S29E114 +S29E115 +S29E116 +S29E117 +S29E118 +S29E119 +S29E120 +S29E121 +S29E122 +S29E123 +S29E124 +S29E125 +S29E126 +S29E127 +S29E128 +S29E129 +S29E130 +S29E131 +S29E132 +S29E133 +S29E134 +S29E135 +S29E136 +S29E137 +S29E138 +S29E139 +S29E140 +S29E141 +S29E142 +S29E143 +S29E144 +S29E145 +S29E146 +S29E147 +S29E148 +S29E149 +S29E150 +S29E151 +S29E152 +S29E153 +S29E167 +S29W049 +S29W050 +S29W051 +S29W052 +S29W053 +S29W054 +S29W055 +S29W056 +S29W057 +S29W058 +S29W059 +S29W060 +S29W061 +S29W062 +S29W063 +S29W064 +S29W065 +S29W066 +S29W067 +S29W068 +S29W069 +S29W070 +S29W071 +S29W072 +S30E016 +S30E017 +S30E018 +S30E019 +S30E020 +S30E021 +S30E022 +S30E023 +S30E024 +S30E025 +S30E026 +S30E027 +S30E028 +S30E029 +S30E030 +S30E031 +S30E114 +S30E115 +S30E116 +S30E117 +S30E118 +S30E119 +S30E120 +S30E121 +S30E122 +S30E123 +S30E124 +S30E125 +S30E126 +S30E127 +S30E128 +S30E129 +S30E130 +S30E131 +S30E132 +S30E133 +S30E134 +S30E135 +S30E136 +S30E137 +S30E138 +S30E139 +S30E140 +S30E141 +S30E142 +S30E143 +S30E144 +S30E145 +S30E146 +S30E147 +S30E148 +S30E149 +S30E150 +S30E151 +S30E152 +S30E153 +S30E167 +S30W050 +S30W051 +S30W052 +S30W053 +S30W054 +S30W055 +S30W056 +S30W057 +S30W058 +S30W059 +S30W060 +S30W061 +S30W062 +S30W063 +S30W064 +S30W065 +S30W066 +S30W067 +S30W068 +S30W069 +S30W070 +S30W071 +S30W072 +S30W178 +S31E017 +S31E018 +S31E019 +S31E020 +S31E021 +S31E022 +S31E023 +S31E024 +S31E025 +S31E026 +S31E027 +S31E028 +S31E029 +S31E030 +S31E114 +S31E115 +S31E116 +S31E117 +S31E118 +S31E119 +S31E120 +S31E121 +S31E122 +S31E123 +S31E124 +S31E125 +S31E126 +S31E127 +S31E128 +S31E129 +S31E130 +S31E131 +S31E132 +S31E133 +S31E134 +S31E135 +S31E136 +S31E137 +S31E138 +S31E139 +S31E140 +S31E141 +S31E142 +S31E143 +S31E144 +S31E145 +S31E146 +S31E147 +S31E148 +S31E149 +S31E150 +S31E151 +S31E152 +S31E153 +S31W051 +S31W052 +S31W053 +S31W054 +S31W055 +S31W056 +S31W057 +S31W058 +S31W059 +S31W060 +S31W061 +S31W062 +S31W063 +S31W064 +S31W065 +S31W066 +S31W067 +S31W068 +S31W069 +S31W070 +S31W071 +S31W072 +S31W179 +S32E017 +S32E018 +S32E019 +S32E020 +S32E021 +S32E022 +S32E023 +S32E024 +S32E025 +S32E026 +S32E027 +S32E028 +S32E029 +S32E030 +S32E115 +S32E116 +S32E117 +S32E118 +S32E119 +S32E120 +S32E121 +S32E122 +S32E123 +S32E124 +S32E125 +S32E126 +S32E127 +S32E128 +S32E129 +S32E130 +S32E131 +S32E132 +S32E133 +S32E134 +S32E135 +S32E136 +S32E137 +S32E138 +S32E139 +S32E140 +S32E141 +S32E142 +S32E143 +S32E144 +S32E145 +S32E146 +S32E147 +S32E148 +S32E149 +S32E150 +S32E151 +S32E152 +S32E153 +S32E159 +S32W051 +S32W052 +S32W053 +S32W054 +S32W055 +S32W056 +S32W057 +S32W058 +S32W059 +S32W060 +S32W061 +S32W062 +S32W063 +S32W064 +S32W065 +S32W066 +S32W067 +S32W068 +S32W069 +S32W070 +S32W071 +S32W072 +S32W179 +S33E017 +S33E018 +S33E019 +S33E020 +S33E021 +S33E022 +S33E023 +S33E024 +S33E025 +S33E026 +S33E027 +S33E028 +S33E029 +S33E115 +S33E116 +S33E117 +S33E118 +S33E119 +S33E120 +S33E121 +S33E122 +S33E123 +S33E124 +S33E125 +S33E126 +S33E127 +S33E128 +S33E132 +S33E133 +S33E134 +S33E135 +S33E136 +S33E137 +S33E138 +S33E139 +S33E140 +S33E141 +S33E142 +S33E143 +S33E144 +S33E145 +S33E146 +S33E147 +S33E148 +S33E149 +S33E150 +S33E151 +S33E152 +S33W052 +S33W053 +S33W054 +S33W055 +S33W056 +S33W057 +S33W058 +S33W059 +S33W060 +S33W061 +S33W062 +S33W063 +S33W064 +S33W065 +S33W066 +S33W067 +S33W068 +S33W069 +S33W070 +S33W071 +S33W072 +S34E017 +S34E018 +S34E019 +S34E020 +S34E021 +S34E022 +S34E023 +S34E024 +S34E025 +S34E026 +S34E027 +S34E114 +S34E115 +S34E116 +S34E117 +S34E118 +S34E119 +S34E120 +S34E121 +S34E122 +S34E123 +S34E124 +S34E134 +S34E135 +S34E136 +S34E137 +S34E138 +S34E139 +S34E140 +S34E141 +S34E142 +S34E143 +S34E144 +S34E145 +S34E146 +S34E147 +S34E148 +S34E149 +S34E150 +S34E151 +S34W053 +S34W054 +S34W055 +S34W056 +S34W057 +S34W058 +S34W059 +S34W060 +S34W061 +S34W062 +S34W063 +S34W064 +S34W065 +S34W066 +S34W067 +S34W068 +S34W069 +S34W070 +S34W071 +S34W072 +S34W079 +S34W081 +S35E018 +S35E019 +S35E020 +S35E021 +S35E022 +S35E023 +S35E024 +S35E025 +S35E114 +S35E115 +S35E116 +S35E117 +S35E118 +S35E119 +S35E120 +S35E121 +S35E122 +S35E123 +S35E134 +S35E135 +S35E136 +S35E137 +S35E138 +S35E139 +S35E140 +S35E141 +S35E142 +S35E143 +S35E144 +S35E145 +S35E146 +S35E147 +S35E148 +S35E149 +S35E150 +S35E151 +S35E172 +S35E173 +S35W054 +S35W055 +S35W056 +S35W057 +S35W058 +S35W059 +S35W060 +S35W061 +S35W062 +S35W063 +S35W064 +S35W065 +S35W066 +S35W067 +S35W068 +S35W069 +S35W070 +S35W071 +S35W072 +S35W073 +S36E116 +S36E117 +S36E118 +S36E135 +S36E136 +S36E137 +S36E138 +S36E139 +S36E140 +S36E141 +S36E142 +S36E143 +S36E144 +S36E145 +S36E146 +S36E147 +S36E148 +S36E149 +S36E150 +S36E173 +S36E174 +S36E175 +S36W058 +S36W059 +S36W060 +S36W061 +S36W062 +S36W063 +S36W064 +S36W065 +S36W066 +S36W067 +S36W068 +S36W069 +S36W070 +S36W071 +S36W072 +S36W073 +S37E136 +S37E137 +S37E139 +S37E140 +S37E141 +S37E142 +S37E143 +S37E144 +S37E145 +S37E146 +S37E147 +S37E148 +S37E149 +S37E150 +S37E173 +S37E174 +S37E175 +S37E176 +S37W057 +S37W058 +S37W059 +S37W060 +S37W061 +S37W062 +S37W063 +S37W064 +S37W065 +S37W066 +S37W067 +S37W068 +S37W069 +S37W070 +S37W071 +S37W072 +S37W073 +S37W074 +S38E077 +S38E139 +S38E140 +S38E141 +S38E142 +S38E143 +S38E144 +S38E145 +S38E146 +S38E147 +S38E148 +S38E149 +S38E150 +S38E174 +S38E175 +S38E176 +S38E177 +S38E178 +S38W013 +S38W057 +S38W058 +S38W059 +S38W060 +S38W061 +S38W062 +S38W063 +S38W064 +S38W065 +S38W066 +S38W067 +S38W068 +S38W069 +S38W070 +S38W071 +S38W072 +S38W073 +S38W074 +S39E077 +S39E140 +S39E141 +S39E142 +S39E143 +S39E144 +S39E145 +S39E146 +S39E147 +S39E174 +S39E175 +S39E176 +S39E177 +S39E178 +S39W058 +S39W059 +S39W060 +S39W061 +S39W062 +S39W063 +S39W064 +S39W065 +S39W066 +S39W067 +S39W068 +S39W069 +S39W070 +S39W071 +S39W072 +S39W073 +S39W074 +S40E143 +S40E144 +S40E146 +S40E147 +S40E148 +S40E173 +S40E174 +S40E175 +S40E176 +S40E177 +S40E178 +S40W062 +S40W063 +S40W064 +S40W065 +S40W066 +S40W067 +S40W068 +S40W069 +S40W070 +S40W071 +S40W072 +S40W073 +S40W074 +S41E143 +S41E144 +S41E145 +S41E146 +S41E147 +S41E148 +S41E172 +S41E173 +S41E174 +S41E175 +S41E176 +S41W010 +S41W011 +S41W063 +S41W064 +S41W065 +S41W066 +S41W067 +S41W068 +S41W069 +S41W070 +S41W071 +S41W072 +S41W073 +S41W074 +S42E144 +S42E145 +S42E146 +S42E147 +S42E148 +S42E171 +S42E172 +S42E173 +S42E174 +S42E175 +S42E176 +S42W063 +S42W064 +S42W065 +S42W066 +S42W067 +S42W068 +S42W069 +S42W070 +S42W071 +S42W072 +S42W073 +S42W074 +S42W075 +S43E145 +S43E146 +S43E147 +S43E148 +S43E170 +S43E171 +S43E172 +S43E173 +S43E174 +S43W064 +S43W065 +S43W066 +S43W067 +S43W068 +S43W069 +S43W070 +S43W071 +S43W072 +S43W073 +S43W074 +S43W075 +S43W078 +S44E145 +S44E146 +S44E147 +S44E148 +S44E168 +S44E169 +S44E170 +S44E171 +S44E172 +S44E173 +S44W065 +S44W066 +S44W067 +S44W068 +S44W069 +S44W070 +S44W071 +S44W072 +S44W073 +S44W074 +S44W075 +S44W176 +S44W177 +S45E167 +S45E168 +S45E169 +S45E170 +S45E171 +S45W066 +S45W067 +S45W068 +S45W069 +S45W070 +S45W071 +S45W072 +S45W073 +S45W074 +S45W075 +S45W076 +S45W176 +S45W177 +S46E050 +S46E166 +S46E167 +S46E168 +S46E169 +S46E170 +S46E171 +S46W066 +S46W067 +S46W068 +S46W069 +S46W070 +S46W071 +S46W072 +S46W073 +S46W074 +S46W075 +S46W076 +S47E037 +S47E038 +S47E050 +S47E051 +S47E052 +S47E166 +S47E167 +S47E168 +S47E169 +S47E170 +S47W067 +S47W068 +S47W069 +S47W070 +S47W071 +S47W072 +S47W073 +S47W074 +S47W075 +S47W076 +S48E167 +S48E168 +S48E179 +S48W066 +S48W067 +S48W068 +S48W069 +S48W070 +S48W071 +S48W072 +S48W073 +S48W074 +S48W075 +S48W076 +S49E068 +S49E069 +S49E166 +S49W066 +S49W067 +S49W068 +S49W069 +S49W070 +S49W071 +S49W072 +S49W073 +S49W074 +S49W075 +S49W076 +S50E068 +S50E069 +S50E070 +S50E178 +S50W068 +S50W069 +S50W070 +S50W071 +S50W072 +S50W073 +S50W074 +S50W075 +S50W076 +S51E068 +S51E165 +S51E166 +S51W062 +S51W068 +S51W069 +S51W070 +S51W071 +S51W072 +S51W073 +S51W074 +S51W075 +S51W076 +S52W058 +S52W059 +S52W060 +S52W061 +S52W062 +S52W069 +S52W070 +S52W071 +S52W072 +S52W073 +S52W074 +S52W075 +S52W076 +S53E073 +S53E168 +S53E169 +S53W059 +S53W060 +S53W061 +S53W062 +S53W069 +S53W070 +S53W071 +S53W072 +S53W073 +S53W074 +S53W075 +S53W076 +S54E072 +S54E073 +S54W038 +S54W039 +S54W068 +S54W069 +S54W070 +S54W071 +S54W072 +S54W073 +S54W074 +S54W075 +S55E003 +S55E158 +S55W036 +S55W037 +S55W038 +S55W039 +S55W064 +S55W065 +S55W066 +S55W067 +S55W068 +S55W069 +S55W070 +S55W071 +S55W072 +S55W073 +S55W074 +S56E158 +S56W035 +S56W067 +S56W068 +S56W069 +S56W070 +S56W071 +S56W072 +S57W028 +S57W029 +S58W027 +S59W027 +S60W027 +S60W028 +S61W045 +S61W046 +S61W047 +S62W054 +S62W055 +S62W056 +S62W058 +S62W059 +S63W056 +S63W057 +S63W058 +S63W059 +S63W060 +S63W061 +S63W062 +S63W063 +S64W055 +S64W056 +S64W057 +S64W058 +S64W059 +S64W060 +S64W061 +S64W062 +S64W063 +S65W057 +S65W058 +S65W059 +S65W060 +S65W061 +S65W062 +S65W063 +S65W064 +S65W065 +S66E051 +S66E052 +S66E053 +S66E054 +S66E055 +S66E087 +S66E092 +S66E095 +S66E096 +S66E097 +S66E098 +S66E099 +S66E100 +S66E101 +S66E102 +S66E103 +S66E104 +S66E111 +S66E112 +S66E113 +S66W060 +S66W061 +S66W062 +S66W063 +S66W064 +S66W065 +S66W066 +S66W067 +S67E048 +S67E049 +S67E050 +S67E051 +S67E052 +S67E053 +S67E054 +S67E055 +S67E056 +S67E057 +S67E082 +S67E083 +S67E084 +S67E085 +S67E086 +S67E087 +S67E088 +S67E089 +S67E090 +S67E091 +S67E092 +S67E093 +S67E094 +S67E095 +S67E096 +S67E097 +S67E098 +S67E099 +S67E100 +S67E101 +S67E102 +S67E103 +S67E104 +S67E105 +S67E106 +S67E107 +S67E108 +S67E109 +S67E110 +S67E111 +S67E112 +S67E113 +S67E114 +S67E115 +S67E116 +S67E117 +S67E118 +S67E119 +S67E120 +S67E121 +S67E122 +S67E123 +S67E124 +S67E125 +S67E126 +S67E127 +S67E128 +S67E129 +S67E130 +S67E131 +S67E132 +S67E133 +S67E134 +S67E135 +S67E136 +S67E137 +S67E138 +S67E139 +S67E140 +S67E141 +S67E142 +S67E143 +S67E144 +S67E145 +S67E146 +S67E162 +S67E163 +S67W061 +S67W062 +S67W063 +S67W064 +S67W065 +S67W066 +S67W067 +S67W068 +S67W069 +S68E043 +S68E044 +S68E045 +S68E046 +S68E047 +S68E048 +S68E049 +S68E050 +S68E051 +S68E052 +S68E053 +S68E054 +S68E055 +S68E056 +S68E057 +S68E058 +S68E059 +S68E060 +S68E061 +S68E062 +S68E063 +S68E064 +S68E065 +S68E066 +S68E067 +S68E068 +S68E069 +S68E080 +S68E081 +S68E082 +S68E083 +S68E084 +S68E085 +S68E086 +S68E087 +S68E088 +S68E089 +S68E090 +S68E091 +S68E092 +S68E093 +S68E094 +S68E095 +S68E096 +S68E097 +S68E098 +S68E099 +S68E100 +S68E101 +S68E102 +S68E103 +S68E104 +S68E105 +S68E106 +S68E107 +S68E108 +S68E109 +S68E110 +S68E111 +S68E112 +S68E113 +S68E114 +S68E115 +S68E116 +S68E117 +S68E118 +S68E119 +S68E120 +S68E121 +S68E122 +S68E123 +S68E124 +S68E125 +S68E126 +S68E127 +S68E128 +S68E129 +S68E130 +S68E131 +S68E132 +S68E133 +S68E134 +S68E135 +S68E136 +S68E137 +S68E138 +S68E139 +S68E140 +S68E141 +S68E142 +S68E143 +S68E144 +S68E145 +S68E146 +S68E147 +S68E148 +S68E164 +S68W061 +S68W062 +S68W063 +S68W064 +S68W065 +S68W066 +S68W067 +S68W068 +S68W069 +S68W070 +S69E032 +S69E033 +S69E034 +S69E039 +S69E040 +S69E041 +S69E042 +S69E043 +S69E044 +S69E045 +S69E046 +S69E047 +S69E048 +S69E049 +S69E050 +S69E051 +S69E052 +S69E053 +S69E054 +S69E055 +S69E056 +S69E057 +S69E058 +S69E059 +S69E060 +S69E061 +S69E062 +S69E063 +S69E064 +S69E065 +S69E066 +S69E067 +S69E068 +S69E069 +S69E070 +S69E071 +S69E072 +S69E073 +S69E077 +S69E078 +S69E079 +S69E080 +S69E081 +S69E082 +S69E083 +S69E084 +S69E085 +S69E086 +S69E087 +S69E088 +S69E089 +S69E090 +S69E091 +S69E092 +S69E093 +S69E094 +S69E095 +S69E096 +S69E097 +S69E098 +S69E099 +S69E100 +S69E101 +S69E102 +S69E103 +S69E104 +S69E105 +S69E106 +S69E107 +S69E108 +S69E109 +S69E110 +S69E111 +S69E112 +S69E113 +S69E114 +S69E115 +S69E116 +S69E117 +S69E118 +S69E119 +S69E120 +S69E121 +S69E122 +S69E123 +S69E124 +S69E125 +S69E126 +S69E127 +S69E128 +S69E129 +S69E130 +S69E131 +S69E132 +S69E133 +S69E134 +S69E135 +S69E136 +S69E137 +S69E138 +S69E139 +S69E140 +S69E141 +S69E142 +S69E143 +S69E144 +S69E145 +S69E146 +S69E147 +S69E148 +S69E149 +S69E150 +S69E151 +S69E152 +S69E153 +S69E154 +S69E155 +S69E157 +S69W061 +S69W062 +S69W063 +S69W064 +S69W065 +S69W066 +S69W067 +S69W068 +S69W069 +S69W071 +S69W072 +S69W073 +S69W091 +S70E000 +S70E001 +S70E002 +S70E006 +S70E007 +S70E008 +S70E009 +S70E010 +S70E011 +S70E012 +S70E013 +S70E014 +S70E015 +S70E016 +S70E017 +S70E018 +S70E019 +S70E020 +S70E021 +S70E026 +S70E027 +S70E028 +S70E029 +S70E030 +S70E031 +S70E032 +S70E033 +S70E034 +S70E035 +S70E036 +S70E037 +S70E038 +S70E039 +S70E040 +S70E041 +S70E042 +S70E043 +S70E044 +S70E045 +S70E046 +S70E047 +S70E048 +S70E049 +S70E050 +S70E051 +S70E052 +S70E053 +S70E054 +S70E055 +S70E056 +S70E057 +S70E058 +S70E059 +S70E060 +S70E061 +S70E062 +S70E063 +S70E064 +S70E065 +S70E066 +S70E067 +S70E068 +S70E069 +S70E070 +S70E071 +S70E072 +S70E073 +S70E074 +S70E075 +S70E076 +S70E077 +S70E078 +S70E079 +S70E080 +S70E081 +S70E082 +S70E083 +S70E084 +S70E085 +S70E086 +S70E087 +S70E088 +S70E089 +S70E090 +S70E091 +S70E092 +S70E093 +S70E094 +S70E095 +S70E096 +S70E097 +S70E098 +S70E099 +S70E100 +S70E101 +S70E102 +S70E103 +S70E104 +S70E105 +S70E106 +S70E107 +S70E108 +S70E109 +S70E110 +S70E111 +S70E112 +S70E113 +S70E114 +S70E115 +S70E116 +S70E117 +S70E118 +S70E119 +S70E120 +S70E121 +S70E122 +S70E123 +S70E124 +S70E125 +S70E126 +S70E127 +S70E128 +S70E129 +S70E130 +S70E131 +S70E132 +S70E133 +S70E134 +S70E135 +S70E136 +S70E137 +S70E138 +S70E139 +S70E140 +S70E141 +S70E142 +S70E143 +S70E144 +S70E145 +S70E146 +S70E147 +S70E148 +S70E149 +S70E150 +S70E151 +S70E152 +S70E153 +S70E154 +S70E155 +S70E156 +S70E157 +S70E158 +S70E159 +S70E160 +S70W001 +S70W002 +S70W061 +S70W062 +S70W063 +S70W064 +S70W065 +S70W066 +S70W067 +S70W068 +S70W069 +S70W070 +S70W071 +S70W072 +S70W073 +S70W074 +S70W075 +S70W076 +S71E000 +S71E001 +S71E002 +S71E003 +S71E004 +S71E005 +S71E006 +S71E007 +S71E008 +S71E009 +S71E010 +S71E011 +S71E012 +S71E013 +S71E014 +S71E015 +S71E016 +S71E017 +S71E018 +S71E019 +S71E020 +S71E021 +S71E022 +S71E023 +S71E024 +S71E025 +S71E026 +S71E027 +S71E028 +S71E029 +S71E030 +S71E031 +S71E032 +S71E033 +S71E034 +S71E035 +S71E036 +S71E037 +S71E038 +S71E039 +S71E040 +S71E041 +S71E042 +S71E043 +S71E044 +S71E045 +S71E046 +S71E047 +S71E048 +S71E049 +S71E050 +S71E051 +S71E052 +S71E053 +S71E054 +S71E055 +S71E056 +S71E057 +S71E058 +S71E059 +S71E060 +S71E061 +S71E062 +S71E063 +S71E064 +S71E065 +S71E066 +S71E067 +S71E068 +S71E069 +S71E070 +S71E071 +S71E072 +S71E073 +S71E074 +S71E075 +S71E076 +S71E077 +S71E078 +S71E079 +S71E080 +S71E081 +S71E082 +S71E083 +S71E084 +S71E085 +S71E086 +S71E087 +S71E088 +S71E089 +S71E090 +S71E091 +S71E092 +S71E093 +S71E094 +S71E095 +S71E096 +S71E097 +S71E098 +S71E099 +S71E100 +S71E101 +S71E102 +S71E103 +S71E104 +S71E105 +S71E106 +S71E107 +S71E108 +S71E109 +S71E110 +S71E111 +S71E112 +S71E113 +S71E114 +S71E115 +S71E116 +S71E117 +S71E118 +S71E119 +S71E120 +S71E121 +S71E122 +S71E123 +S71E124 +S71E125 +S71E126 +S71E127 +S71E128 +S71E129 +S71E130 +S71E131 +S71E132 +S71E133 +S71E134 +S71E135 +S71E136 +S71E137 +S71E138 +S71E139 +S71E140 +S71E141 +S71E142 +S71E143 +S71E144 +S71E145 +S71E146 +S71E147 +S71E148 +S71E149 +S71E150 +S71E151 +S71E152 +S71E153 +S71E154 +S71E155 +S71E156 +S71E157 +S71E158 +S71E159 +S71E160 +S71E161 +S71E162 +S71E163 +S71E164 +S71E165 +S71E166 +S71E167 +S71W001 +S71W002 +S71W003 +S71W004 +S71W005 +S71W006 +S71W007 +S71W008 +S71W009 +S71W010 +S71W011 +S71W012 +S71W061 +S71W062 +S71W063 +S71W064 +S71W065 +S71W066 +S71W067 +S71W068 +S71W069 +S71W070 +S71W071 +S71W072 +S71W073 +S71W074 +S71W075 +S71W076 +S71W077 +S72E000 +S72E001 +S72E002 +S72E003 +S72E004 +S72E005 +S72E006 +S72E007 +S72E008 +S72E009 +S72E010 +S72E011 +S72E012 +S72E013 +S72E014 +S72E015 +S72E016 +S72E017 +S72E018 +S72E019 +S72E020 +S72E021 +S72E022 +S72E023 +S72E024 +S72E025 +S72E026 +S72E027 +S72E028 +S72E029 +S72E030 +S72E031 +S72E032 +S72E033 +S72E034 +S72E035 +S72E036 +S72E037 +S72E038 +S72E039 +S72E040 +S72E041 +S72E042 +S72E043 +S72E044 +S72E045 +S72E046 +S72E047 +S72E048 +S72E049 +S72E050 +S72E051 +S72E052 +S72E053 +S72E054 +S72E055 +S72E056 +S72E057 +S72E058 +S72E059 +S72E060 +S72E061 +S72E062 +S72E063 +S72E064 +S72E065 +S72E066 +S72E067 +S72E068 +S72E069 +S72E070 +S72E071 +S72E072 +S72E073 +S72E074 +S72E075 +S72E076 +S72E077 +S72E078 +S72E079 +S72E080 +S72E081 +S72E082 +S72E083 +S72E084 +S72E085 +S72E086 +S72E087 +S72E088 +S72E089 +S72E090 +S72E091 +S72E092 +S72E093 +S72E094 +S72E095 +S72E096 +S72E097 +S72E098 +S72E099 +S72E100 +S72E101 +S72E102 +S72E103 +S72E104 +S72E105 +S72E106 +S72E107 +S72E108 +S72E109 +S72E110 +S72E111 +S72E112 +S72E113 +S72E114 +S72E115 +S72E116 +S72E117 +S72E118 +S72E119 +S72E120 +S72E121 +S72E122 +S72E123 +S72E124 +S72E125 +S72E126 +S72E127 +S72E128 +S72E129 +S72E130 +S72E131 +S72E132 +S72E133 +S72E134 +S72E135 +S72E136 +S72E137 +S72E138 +S72E139 +S72E140 +S72E141 +S72E142 +S72E143 +S72E144 +S72E145 +S72E146 +S72E147 +S72E148 +S72E149 +S72E150 +S72E151 +S72E152 +S72E153 +S72E154 +S72E155 +S72E156 +S72E157 +S72E158 +S72E159 +S72E160 +S72E161 +S72E162 +S72E163 +S72E164 +S72E165 +S72E166 +S72E167 +S72E168 +S72E169 +S72E170 +S72E171 +S72W001 +S72W002 +S72W003 +S72W004 +S72W005 +S72W006 +S72W007 +S72W008 +S72W009 +S72W010 +S72W011 +S72W012 +S72W013 +S72W061 +S72W062 +S72W063 +S72W064 +S72W065 +S72W066 +S72W067 +S72W068 +S72W069 +S72W070 +S72W071 +S72W072 +S72W073 +S72W074 +S72W075 +S72W076 +S72W077 +S72W096 +S72W097 +S72W098 +S72W099 +S72W100 +S72W101 +S72W102 +S72W103 +S73E000 +S73E001 +S73E002 +S73E003 +S73E004 +S73E005 +S73E006 +S73E007 +S73E008 +S73E009 +S73E010 +S73E011 +S73E012 +S73E013 +S73E014 +S73E015 +S73E016 +S73E017 +S73E018 +S73E019 +S73E020 +S73E021 +S73E022 +S73E023 +S73E024 +S73E025 +S73E026 +S73E027 +S73E028 +S73E029 +S73E030 +S73E031 +S73E032 +S73E033 +S73E034 +S73E035 +S73E036 +S73E037 +S73E038 +S73E039 +S73E040 +S73E041 +S73E042 +S73E043 +S73E044 +S73E045 +S73E046 +S73E047 +S73E048 +S73E049 +S73E050 +S73E051 +S73E052 +S73E053 +S73E054 +S73E055 +S73E056 +S73E057 +S73E058 +S73E059 +S73E060 +S73E061 +S73E062 +S73E063 +S73E064 +S73E065 +S73E066 +S73E067 +S73E068 +S73E069 +S73E070 +S73E071 +S73E072 +S73E073 +S73E074 +S73E075 +S73E076 +S73E077 +S73E078 +S73E079 +S73E080 +S73E081 +S73E082 +S73E083 +S73E084 +S73E085 +S73E086 +S73E087 +S73E088 +S73E089 +S73E090 +S73E091 +S73E092 +S73E093 +S73E094 +S73E095 +S73E096 +S73E097 +S73E098 +S73E099 +S73E100 +S73E101 +S73E102 +S73E103 +S73E104 +S73E105 +S73E106 +S73E107 +S73E108 +S73E109 +S73E110 +S73E111 +S73E112 +S73E113 +S73E114 +S73E115 +S73E116 +S73E117 +S73E118 +S73E119 +S73E120 +S73E121 +S73E122 +S73E123 +S73E124 +S73E125 +S73E126 +S73E127 +S73E128 +S73E129 +S73E130 +S73E131 +S73E132 +S73E133 +S73E134 +S73E135 +S73E136 +S73E137 +S73E138 +S73E139 +S73E140 +S73E141 +S73E142 +S73E143 +S73E144 +S73E145 +S73E146 +S73E147 +S73E148 +S73E149 +S73E150 +S73E151 +S73E152 +S73E153 +S73E154 +S73E155 +S73E156 +S73E157 +S73E158 +S73E159 +S73E160 +S73E161 +S73E162 +S73E163 +S73E164 +S73E165 +S73E166 +S73E167 +S73E168 +S73E169 +S73E170 +S73W001 +S73W002 +S73W003 +S73W004 +S73W005 +S73W006 +S73W007 +S73W008 +S73W009 +S73W010 +S73W011 +S73W012 +S73W013 +S73W014 +S73W015 +S73W016 +S73W017 +S73W018 +S73W019 +S73W020 +S73W060 +S73W061 +S73W062 +S73W063 +S73W064 +S73W065 +S73W066 +S73W067 +S73W068 +S73W069 +S73W070 +S73W071 +S73W072 +S73W073 +S73W074 +S73W075 +S73W076 +S73W077 +S73W078 +S73W079 +S73W080 +S73W087 +S73W088 +S73W089 +S73W090 +S73W091 +S73W092 +S73W093 +S73W094 +S73W095 +S73W096 +S73W097 +S73W098 +S73W099 +S73W100 +S73W101 +S73W102 +S73W103 +S73W104 +S74E000 +S74E001 +S74E002 +S74E003 +S74E004 +S74E005 +S74E006 +S74E007 +S74E008 +S74E009 +S74E010 +S74E011 +S74E012 +S74E013 +S74E014 +S74E015 +S74E016 +S74E017 +S74E018 +S74E019 +S74E020 +S74E021 +S74E022 +S74E023 +S74E024 +S74E025 +S74E026 +S74E027 +S74E028 +S74E029 +S74E030 +S74E031 +S74E032 +S74E033 +S74E034 +S74E035 +S74E036 +S74E037 +S74E038 +S74E039 +S74E040 +S74E041 +S74E042 +S74E043 +S74E044 +S74E045 +S74E046 +S74E047 +S74E048 +S74E049 +S74E050 +S74E051 +S74E052 +S74E053 +S74E054 +S74E055 +S74E056 +S74E057 +S74E058 +S74E059 +S74E060 +S74E061 +S74E062 +S74E063 +S74E064 +S74E065 +S74E066 +S74E067 +S74E068 +S74E069 +S74E070 +S74E071 +S74E072 +S74E073 +S74E074 +S74E075 +S74E076 +S74E077 +S74E078 +S74E079 +S74E080 +S74E081 +S74E082 +S74E083 +S74E084 +S74E085 +S74E086 +S74E087 +S74E088 +S74E089 +S74E090 +S74E091 +S74E092 +S74E093 +S74E094 +S74E095 +S74E096 +S74E097 +S74E098 +S74E099 +S74E100 +S74E101 +S74E102 +S74E103 +S74E104 +S74E105 +S74E106 +S74E107 +S74E108 +S74E109 +S74E110 +S74E111 +S74E112 +S74E113 +S74E114 +S74E115 +S74E116 +S74E117 +S74E118 +S74E119 +S74E120 +S74E121 +S74E122 +S74E123 +S74E124 +S74E125 +S74E126 +S74E127 +S74E128 +S74E129 +S74E130 +S74E131 +S74E132 +S74E133 +S74E134 +S74E135 +S74E136 +S74E137 +S74E138 +S74E139 +S74E140 +S74E141 +S74E142 +S74E143 +S74E144 +S74E145 +S74E146 +S74E147 +S74E148 +S74E149 +S74E150 +S74E151 +S74E152 +S74E153 +S74E154 +S74E155 +S74E156 +S74E157 +S74E158 +S74E159 +S74E160 +S74E161 +S74E162 +S74E163 +S74E164 +S74E165 +S74E166 +S74E167 +S74E168 +S74E169 +S74W001 +S74W002 +S74W003 +S74W004 +S74W005 +S74W006 +S74W007 +S74W008 +S74W009 +S74W010 +S74W011 +S74W012 +S74W013 +S74W014 +S74W015 +S74W016 +S74W017 +S74W018 +S74W019 +S74W020 +S74W021 +S74W022 +S74W060 +S74W061 +S74W062 +S74W063 +S74W064 +S74W065 +S74W066 +S74W067 +S74W068 +S74W069 +S74W070 +S74W071 +S74W072 +S74W073 +S74W074 +S74W075 +S74W076 +S74W077 +S74W078 +S74W079 +S74W080 +S74W081 +S74W082 +S74W083 +S74W084 +S74W085 +S74W086 +S74W087 +S74W088 +S74W089 +S74W090 +S74W091 +S74W092 +S74W093 +S74W094 +S74W095 +S74W096 +S74W097 +S74W098 +S74W099 +S74W100 +S74W101 +S74W102 +S74W103 +S74W104 +S74W105 +S74W106 +S74W114 +S74W115 +S74W116 +S74W117 +S74W118 +S74W119 +S74W120 +S74W121 +S74W122 +S74W123 +S74W124 +S74W125 +S74W126 +S74W127 +S74W128 +S75E000 +S75E001 +S75E002 +S75E003 +S75E004 +S75E005 +S75E006 +S75E007 +S75E008 +S75E009 +S75E010 +S75E011 +S75E012 +S75E013 +S75E014 +S75E015 +S75E016 +S75E017 +S75E018 +S75E019 +S75E020 +S75E021 +S75E022 +S75E023 +S75E024 +S75E025 +S75E026 +S75E027 +S75E028 +S75E029 +S75E030 +S75E031 +S75E032 +S75E033 +S75E034 +S75E035 +S75E036 +S75E037 +S75E038 +S75E039 +S75E040 +S75E041 +S75E042 +S75E043 +S75E044 +S75E045 +S75E046 +S75E047 +S75E048 +S75E049 +S75E050 +S75E051 +S75E052 +S75E053 +S75E054 +S75E055 +S75E056 +S75E057 +S75E058 +S75E059 +S75E060 +S75E061 +S75E062 +S75E063 +S75E064 +S75E065 +S75E066 +S75E067 +S75E068 +S75E069 +S75E070 +S75E071 +S75E072 +S75E073 +S75E074 +S75E075 +S75E076 +S75E077 +S75E078 +S75E079 +S75E080 +S75E081 +S75E082 +S75E083 +S75E084 +S75E085 +S75E086 +S75E087 +S75E088 +S75E089 +S75E090 +S75E091 +S75E092 +S75E093 +S75E094 +S75E095 +S75E096 +S75E097 +S75E098 +S75E099 +S75E100 +S75E101 +S75E102 +S75E103 +S75E104 +S75E105 +S75E106 +S75E107 +S75E108 +S75E109 +S75E110 +S75E111 +S75E112 +S75E113 +S75E114 +S75E115 +S75E116 +S75E117 +S75E118 +S75E119 +S75E120 +S75E121 +S75E122 +S75E123 +S75E124 +S75E125 +S75E126 +S75E127 +S75E128 +S75E129 +S75E130 +S75E131 +S75E132 +S75E133 +S75E134 +S75E135 +S75E136 +S75E137 +S75E138 +S75E139 +S75E140 +S75E141 +S75E142 +S75E143 +S75E144 +S75E145 +S75E146 +S75E147 +S75E148 +S75E149 +S75E150 +S75E151 +S75E152 +S75E153 +S75E154 +S75E155 +S75E156 +S75E157 +S75E158 +S75E159 +S75E160 +S75E161 +S75E162 +S75E163 +S75E164 +S75E165 +S75E166 +S75W001 +S75W002 +S75W003 +S75W004 +S75W005 +S75W006 +S75W007 +S75W008 +S75W009 +S75W010 +S75W011 +S75W012 +S75W013 +S75W014 +S75W015 +S75W016 +S75W017 +S75W018 +S75W019 +S75W020 +S75W021 +S75W022 +S75W023 +S75W024 +S75W025 +S75W026 +S75W060 +S75W061 +S75W062 +S75W063 +S75W064 +S75W065 +S75W066 +S75W067 +S75W068 +S75W069 +S75W070 +S75W071 +S75W072 +S75W073 +S75W074 +S75W075 +S75W076 +S75W077 +S75W078 +S75W079 +S75W080 +S75W081 +S75W082 +S75W083 +S75W084 +S75W085 +S75W086 +S75W087 +S75W088 +S75W089 +S75W090 +S75W091 +S75W092 +S75W093 +S75W094 +S75W095 +S75W096 +S75W097 +S75W098 +S75W099 +S75W100 +S75W101 +S75W102 +S75W103 +S75W104 +S75W105 +S75W106 +S75W107 +S75W108 +S75W109 +S75W110 +S75W111 +S75W112 +S75W113 +S75W114 +S75W115 +S75W116 +S75W117 +S75W118 +S75W119 +S75W120 +S75W121 +S75W122 +S75W123 +S75W124 +S75W125 +S75W126 +S75W127 +S75W128 +S75W129 +S75W130 +S75W131 +S75W132 +S75W133 +S75W134 +S75W135 +S75W136 +S75W137 +S75W138 +S75W140 +S75W141 +S76E000 +S76E001 +S76E002 +S76E003 +S76E004 +S76E005 +S76E006 +S76E007 +S76E008 +S76E009 +S76E010 +S76E011 +S76E012 +S76E013 +S76E014 +S76E015 +S76E016 +S76E017 +S76E018 +S76E019 +S76E020 +S76E021 +S76E022 +S76E023 +S76E024 +S76E025 +S76E026 +S76E027 +S76E028 +S76E029 +S76E030 +S76E031 +S76E032 +S76E033 +S76E034 +S76E035 +S76E036 +S76E037 +S76E038 +S76E039 +S76E040 +S76E041 +S76E042 +S76E043 +S76E044 +S76E045 +S76E046 +S76E047 +S76E048 +S76E049 +S76E050 +S76E051 +S76E052 +S76E053 +S76E054 +S76E055 +S76E056 +S76E057 +S76E058 +S76E059 +S76E060 +S76E061 +S76E062 +S76E063 +S76E064 +S76E065 +S76E066 +S76E067 +S76E068 +S76E069 +S76E070 +S76E071 +S76E072 +S76E073 +S76E074 +S76E075 +S76E076 +S76E077 +S76E078 +S76E079 +S76E080 +S76E081 +S76E082 +S76E083 +S76E084 +S76E085 +S76E086 +S76E087 +S76E088 +S76E089 +S76E090 +S76E091 +S76E092 +S76E093 +S76E094 +S76E095 +S76E096 +S76E097 +S76E098 +S76E099 +S76E100 +S76E101 +S76E102 +S76E103 +S76E104 +S76E105 +S76E106 +S76E107 +S76E108 +S76E109 +S76E110 +S76E111 +S76E112 +S76E113 +S76E114 +S76E115 +S76E116 +S76E117 +S76E118 +S76E119 +S76E120 +S76E121 +S76E122 +S76E123 +S76E124 +S76E125 +S76E126 +S76E127 +S76E128 +S76E129 +S76E130 +S76E131 +S76E132 +S76E133 +S76E134 +S76E135 +S76E136 +S76E137 +S76E138 +S76E139 +S76E140 +S76E141 +S76E142 +S76E143 +S76E144 +S76E145 +S76E146 +S76E147 +S76E148 +S76E149 +S76E150 +S76E151 +S76E152 +S76E153 +S76E154 +S76E155 +S76E156 +S76E157 +S76E158 +S76E159 +S76E160 +S76E161 +S76E162 +S76E163 +S76E164 +S76E165 +S76W001 +S76W002 +S76W003 +S76W004 +S76W005 +S76W006 +S76W007 +S76W008 +S76W009 +S76W010 +S76W011 +S76W012 +S76W013 +S76W014 +S76W015 +S76W016 +S76W017 +S76W018 +S76W019 +S76W020 +S76W021 +S76W022 +S76W023 +S76W024 +S76W025 +S76W026 +S76W027 +S76W028 +S76W055 +S76W056 +S76W057 +S76W058 +S76W059 +S76W060 +S76W061 +S76W062 +S76W063 +S76W064 +S76W065 +S76W066 +S76W067 +S76W068 +S76W069 +S76W070 +S76W071 +S76W072 +S76W073 +S76W074 +S76W075 +S76W076 +S76W077 +S76W078 +S76W079 +S76W080 +S76W081 +S76W082 +S76W083 +S76W084 +S76W085 +S76W086 +S76W087 +S76W088 +S76W089 +S76W090 +S76W091 +S76W092 +S76W093 +S76W094 +S76W095 +S76W096 +S76W097 +S76W098 +S76W099 +S76W100 +S76W101 +S76W102 +S76W103 +S76W104 +S76W105 +S76W106 +S76W107 +S76W108 +S76W109 +S76W110 +S76W111 +S76W112 +S76W113 +S76W114 +S76W115 +S76W116 +S76W117 +S76W118 +S76W119 +S76W120 +S76W121 +S76W122 +S76W123 +S76W124 +S76W125 +S76W126 +S76W127 +S76W128 +S76W129 +S76W130 +S76W131 +S76W132 +S76W133 +S76W134 +S76W135 +S76W136 +S76W137 +S76W138 +S76W139 +S76W140 +S76W141 +S76W142 +S76W143 +S76W144 +S76W145 +S76W146 +S76W147 +S76W148 +S76W149 +S77E000 +S77E001 +S77E002 +S77E003 +S77E004 +S77E005 +S77E006 +S77E007 +S77E008 +S77E009 +S77E010 +S77E011 +S77E012 +S77E013 +S77E014 +S77E015 +S77E016 +S77E017 +S77E018 +S77E019 +S77E020 +S77E021 +S77E022 +S77E023 +S77E024 +S77E025 +S77E026 +S77E027 +S77E028 +S77E029 +S77E030 +S77E031 +S77E032 +S77E033 +S77E034 +S77E035 +S77E036 +S77E037 +S77E038 +S77E039 +S77E040 +S77E041 +S77E042 +S77E043 +S77E044 +S77E045 +S77E046 +S77E047 +S77E048 +S77E049 +S77E050 +S77E051 +S77E052 +S77E053 +S77E054 +S77E055 +S77E056 +S77E057 +S77E058 +S77E059 +S77E060 +S77E061 +S77E062 +S77E063 +S77E064 +S77E065 +S77E066 +S77E067 +S77E068 +S77E069 +S77E070 +S77E071 +S77E072 +S77E073 +S77E074 +S77E075 +S77E076 +S77E077 +S77E078 +S77E079 +S77E080 +S77E081 +S77E082 +S77E083 +S77E084 +S77E085 +S77E086 +S77E087 +S77E088 +S77E089 +S77E090 +S77E091 +S77E092 +S77E093 +S77E094 +S77E095 +S77E096 +S77E097 +S77E098 +S77E099 +S77E100 +S77E101 +S77E102 +S77E103 +S77E104 +S77E105 +S77E106 +S77E107 +S77E108 +S77E109 +S77E110 +S77E111 +S77E112 +S77E113 +S77E114 +S77E115 +S77E116 +S77E117 +S77E118 +S77E119 +S77E120 +S77E121 +S77E122 +S77E123 +S77E124 +S77E125 +S77E126 +S77E127 +S77E128 +S77E129 +S77E130 +S77E131 +S77E132 +S77E133 +S77E134 +S77E135 +S77E136 +S77E137 +S77E138 +S77E139 +S77E140 +S77E141 +S77E142 +S77E143 +S77E144 +S77E145 +S77E146 +S77E147 +S77E148 +S77E149 +S77E150 +S77E151 +S77E152 +S77E153 +S77E154 +S77E155 +S77E156 +S77E157 +S77E158 +S77E159 +S77E160 +S77E161 +S77E162 +S77E163 +S77E166 +S77E168 +S77W001 +S77W002 +S77W003 +S77W004 +S77W005 +S77W006 +S77W007 +S77W008 +S77W009 +S77W010 +S77W011 +S77W012 +S77W013 +S77W014 +S77W015 +S77W016 +S77W017 +S77W018 +S77W019 +S77W020 +S77W021 +S77W022 +S77W023 +S77W024 +S77W025 +S77W026 +S77W027 +S77W028 +S77W029 +S77W030 +S77W031 +S77W032 +S77W050 +S77W051 +S77W052 +S77W053 +S77W054 +S77W055 +S77W056 +S77W057 +S77W058 +S77W059 +S77W060 +S77W061 +S77W062 +S77W063 +S77W064 +S77W065 +S77W066 +S77W067 +S77W068 +S77W069 +S77W070 +S77W071 +S77W072 +S77W073 +S77W074 +S77W075 +S77W076 +S77W077 +S77W078 +S77W079 +S77W080 +S77W081 +S77W082 +S77W083 +S77W084 +S77W085 +S77W086 +S77W087 +S77W088 +S77W089 +S77W090 +S77W091 +S77W092 +S77W093 +S77W094 +S77W095 +S77W096 +S77W097 +S77W098 +S77W099 +S77W100 +S77W101 +S77W102 +S77W103 +S77W104 +S77W105 +S77W106 +S77W107 +S77W108 +S77W109 +S77W110 +S77W111 +S77W112 +S77W113 +S77W114 +S77W115 +S77W116 +S77W117 +S77W118 +S77W119 +S77W120 +S77W121 +S77W122 +S77W123 +S77W124 +S77W125 +S77W126 +S77W127 +S77W128 +S77W129 +S77W130 +S77W131 +S77W132 +S77W133 +S77W134 +S77W135 +S77W136 +S77W137 +S77W138 +S77W139 +S77W140 +S77W141 +S77W142 +S77W143 +S77W144 +S77W145 +S77W146 +S77W147 +S77W148 +S77W149 +S77W150 +S77W151 +S77W152 +S77W158 +S78E000 +S78E001 +S78E002 +S78E003 +S78E004 +S78E005 +S78E006 +S78E007 +S78E008 +S78E009 +S78E010 +S78E011 +S78E012 +S78E013 +S78E014 +S78E015 +S78E016 +S78E017 +S78E018 +S78E019 +S78E020 +S78E021 +S78E022 +S78E023 +S78E024 +S78E025 +S78E026 +S78E027 +S78E028 +S78E029 +S78E030 +S78E031 +S78E032 +S78E033 +S78E034 +S78E035 +S78E036 +S78E037 +S78E038 +S78E039 +S78E040 +S78E041 +S78E042 +S78E043 +S78E044 +S78E045 +S78E046 +S78E047 +S78E048 +S78E049 +S78E050 +S78E051 +S78E052 +S78E053 +S78E054 +S78E055 +S78E056 +S78E057 +S78E058 +S78E059 +S78E060 +S78E061 +S78E062 +S78E063 +S78E064 +S78E065 +S78E066 +S78E067 +S78E068 +S78E069 +S78E070 +S78E071 +S78E072 +S78E073 +S78E074 +S78E075 +S78E076 +S78E077 +S78E078 +S78E079 +S78E080 +S78E081 +S78E082 +S78E083 +S78E084 +S78E085 +S78E086 +S78E087 +S78E088 +S78E089 +S78E090 +S78E091 +S78E092 +S78E093 +S78E094 +S78E095 +S78E096 +S78E097 +S78E098 +S78E099 +S78E100 +S78E101 +S78E102 +S78E103 +S78E104 +S78E105 +S78E106 +S78E107 +S78E108 +S78E109 +S78E110 +S78E111 +S78E112 +S78E113 +S78E114 +S78E115 +S78E116 +S78E117 +S78E118 +S78E119 +S78E120 +S78E121 +S78E122 +S78E123 +S78E124 +S78E125 +S78E126 +S78E127 +S78E128 +S78E129 +S78E130 +S78E131 +S78E132 +S78E133 +S78E134 +S78E135 +S78E136 +S78E137 +S78E138 +S78E139 +S78E140 +S78E141 +S78E142 +S78E143 +S78E144 +S78E145 +S78E146 +S78E147 +S78E148 +S78E149 +S78E150 +S78E151 +S78E152 +S78E153 +S78E154 +S78E155 +S78E156 +S78E157 +S78E158 +S78E159 +S78E160 +S78E161 +S78E162 +S78E163 +S78E164 +S78E165 +S78E166 +S78E167 +S78E168 +S78E169 +S78E170 +S78E171 +S78E172 +S78E173 +S78E174 +S78E175 +S78E176 +S78E177 +S78E178 +S78E179 +S78W001 +S78W002 +S78W003 +S78W004 +S78W005 +S78W006 +S78W007 +S78W008 +S78W009 +S78W010 +S78W011 +S78W012 +S78W013 +S78W014 +S78W015 +S78W016 +S78W017 +S78W018 +S78W019 +S78W020 +S78W021 +S78W022 +S78W023 +S78W024 +S78W025 +S78W026 +S78W027 +S78W028 +S78W029 +S78W030 +S78W031 +S78W032 +S78W033 +S78W034 +S78W035 +S78W036 +S78W045 +S78W046 +S78W047 +S78W048 +S78W049 +S78W050 +S78W051 +S78W052 +S78W053 +S78W054 +S78W055 +S78W056 +S78W057 +S78W058 +S78W059 +S78W060 +S78W061 +S78W062 +S78W063 +S78W064 +S78W065 +S78W066 +S78W067 +S78W068 +S78W069 +S78W070 +S78W071 +S78W072 +S78W073 +S78W074 +S78W075 +S78W076 +S78W077 +S78W078 +S78W079 +S78W080 +S78W081 +S78W082 +S78W083 +S78W084 +S78W085 +S78W086 +S78W087 +S78W088 +S78W089 +S78W090 +S78W091 +S78W092 +S78W093 +S78W094 +S78W095 +S78W096 +S78W097 +S78W098 +S78W099 +S78W100 +S78W101 +S78W102 +S78W103 +S78W104 +S78W105 +S78W106 +S78W107 +S78W108 +S78W109 +S78W110 +S78W111 +S78W112 +S78W113 +S78W114 +S78W115 +S78W116 +S78W117 +S78W118 +S78W119 +S78W120 +S78W121 +S78W122 +S78W123 +S78W124 +S78W125 +S78W126 +S78W127 +S78W128 +S78W129 +S78W130 +S78W131 +S78W132 +S78W133 +S78W134 +S78W135 +S78W136 +S78W137 +S78W138 +S78W139 +S78W140 +S78W141 +S78W142 +S78W143 +S78W144 +S78W145 +S78W146 +S78W147 +S78W148 +S78W149 +S78W150 +S78W151 +S78W152 +S78W153 +S78W154 +S78W155 +S78W156 +S78W157 +S78W158 +S78W159 +S78W160 +S78W179 +S78W180 +S79E000 +S79E001 +S79E002 +S79E003 +S79E004 +S79E005 +S79E006 +S79E007 +S79E008 +S79E009 +S79E010 +S79E011 +S79E012 +S79E013 +S79E014 +S79E015 +S79E016 +S79E017 +S79E018 +S79E019 +S79E020 +S79E021 +S79E022 +S79E023 +S79E024 +S79E025 +S79E026 +S79E027 +S79E028 +S79E029 +S79E030 +S79E031 +S79E032 +S79E033 +S79E034 +S79E035 +S79E036 +S79E037 +S79E038 +S79E039 +S79E040 +S79E041 +S79E042 +S79E043 +S79E044 +S79E045 +S79E046 +S79E047 +S79E048 +S79E049 +S79E050 +S79E051 +S79E052 +S79E053 +S79E054 +S79E055 +S79E056 +S79E057 +S79E058 +S79E059 +S79E060 +S79E061 +S79E062 +S79E063 +S79E064 +S79E065 +S79E066 +S79E067 +S79E068 +S79E069 +S79E070 +S79E071 +S79E072 +S79E073 +S79E074 +S79E075 +S79E076 +S79E077 +S79E078 +S79E079 +S79E080 +S79E081 +S79E082 +S79E083 +S79E084 +S79E085 +S79E086 +S79E087 +S79E088 +S79E089 +S79E090 +S79E091 +S79E092 +S79E093 +S79E094 +S79E095 +S79E096 +S79E097 +S79E098 +S79E099 +S79E100 +S79E101 +S79E102 +S79E103 +S79E104 +S79E105 +S79E106 +S79E107 +S79E108 +S79E109 +S79E110 +S79E111 +S79E112 +S79E113 +S79E114 +S79E115 +S79E116 +S79E117 +S79E118 +S79E119 +S79E120 +S79E121 +S79E122 +S79E123 +S79E124 +S79E125 +S79E126 +S79E127 +S79E128 +S79E129 +S79E130 +S79E131 +S79E132 +S79E133 +S79E134 +S79E135 +S79E136 +S79E137 +S79E138 +S79E139 +S79E140 +S79E141 +S79E142 +S79E143 +S79E144 +S79E145 +S79E146 +S79E147 +S79E148 +S79E149 +S79E150 +S79E151 +S79E152 +S79E153 +S79E154 +S79E155 +S79E156 +S79E157 +S79E158 +S79E159 +S79E160 +S79E161 +S79E162 +S79E163 +S79E164 +S79E165 +S79E166 +S79E167 +S79E168 +S79E169 +S79E170 +S79E171 +S79E172 +S79E173 +S79E174 +S79E175 +S79E176 +S79E177 +S79E178 +S79E179 +S79W001 +S79W002 +S79W003 +S79W004 +S79W005 +S79W006 +S79W007 +S79W008 +S79W009 +S79W010 +S79W011 +S79W012 +S79W013 +S79W014 +S79W015 +S79W016 +S79W017 +S79W018 +S79W019 +S79W020 +S79W021 +S79W022 +S79W023 +S79W024 +S79W025 +S79W026 +S79W027 +S79W028 +S79W029 +S79W030 +S79W031 +S79W032 +S79W033 +S79W034 +S79W035 +S79W036 +S79W037 +S79W038 +S79W039 +S79W040 +S79W041 +S79W042 +S79W043 +S79W044 +S79W045 +S79W046 +S79W047 +S79W048 +S79W049 +S79W050 +S79W051 +S79W052 +S79W053 +S79W054 +S79W055 +S79W056 +S79W057 +S79W058 +S79W059 +S79W060 +S79W061 +S79W062 +S79W063 +S79W064 +S79W065 +S79W066 +S79W067 +S79W068 +S79W069 +S79W070 +S79W071 +S79W072 +S79W073 +S79W074 +S79W075 +S79W076 +S79W077 +S79W078 +S79W079 +S79W080 +S79W081 +S79W082 +S79W083 +S79W084 +S79W085 +S79W086 +S79W087 +S79W088 +S79W089 +S79W090 +S79W091 +S79W092 +S79W093 +S79W094 +S79W095 +S79W096 +S79W097 +S79W098 +S79W099 +S79W100 +S79W101 +S79W102 +S79W103 +S79W104 +S79W105 +S79W106 +S79W107 +S79W108 +S79W109 +S79W110 +S79W111 +S79W112 +S79W113 +S79W114 +S79W115 +S79W116 +S79W117 +S79W118 +S79W119 +S79W120 +S79W121 +S79W122 +S79W123 +S79W124 +S79W125 +S79W126 +S79W127 +S79W128 +S79W129 +S79W130 +S79W131 +S79W132 +S79W133 +S79W134 +S79W135 +S79W136 +S79W137 +S79W138 +S79W139 +S79W140 +S79W141 +S79W142 +S79W143 +S79W144 +S79W145 +S79W146 +S79W147 +S79W148 +S79W149 +S79W150 +S79W151 +S79W152 +S79W153 +S79W154 +S79W155 +S79W156 +S79W157 +S79W158 +S79W159 +S79W160 +S79W161 +S79W162 +S79W163 +S79W164 +S79W165 +S79W166 +S79W167 +S79W168 +S79W169 +S79W170 +S79W171 +S79W172 +S79W173 +S79W174 +S79W175 +S79W176 +S79W177 +S79W178 +S79W179 +S79W180 +S80E000 +S80E001 +S80E002 +S80E003 +S80E004 +S80E005 +S80E006 +S80E007 +S80E008 +S80E009 +S80E010 +S80E011 +S80E012 +S80E013 +S80E014 +S80E015 +S80E016 +S80E017 +S80E018 +S80E019 +S80E020 +S80E021 +S80E022 +S80E023 +S80E024 +S80E025 +S80E026 +S80E027 +S80E028 +S80E029 +S80E030 +S80E031 +S80E032 +S80E033 +S80E034 +S80E035 +S80E036 +S80E037 +S80E038 +S80E039 +S80E040 +S80E041 +S80E042 +S80E043 +S80E044 +S80E045 +S80E046 +S80E047 +S80E048 +S80E049 +S80E050 +S80E051 +S80E052 +S80E053 +S80E054 +S80E055 +S80E056 +S80E057 +S80E058 +S80E059 +S80E060 +S80E061 +S80E062 +S80E063 +S80E064 +S80E065 +S80E066 +S80E067 +S80E068 +S80E069 +S80E070 +S80E071 +S80E072 +S80E073 +S80E074 +S80E075 +S80E076 +S80E077 +S80E078 +S80E079 +S80E080 +S80E081 +S80E082 +S80E083 +S80E084 +S80E085 +S80E086 +S80E087 +S80E088 +S80E089 +S80E090 +S80E091 +S80E092 +S80E093 +S80E094 +S80E095 +S80E096 +S80E097 +S80E098 +S80E099 +S80E100 +S80E101 +S80E102 +S80E103 +S80E104 +S80E105 +S80E106 +S80E107 +S80E108 +S80E109 +S80E110 +S80E111 +S80E112 +S80E113 +S80E114 +S80E115 +S80E116 +S80E117 +S80E118 +S80E119 +S80E120 +S80E121 +S80E122 +S80E123 +S80E124 +S80E125 +S80E126 +S80E127 +S80E128 +S80E129 +S80E130 +S80E131 +S80E132 +S80E133 +S80E134 +S80E135 +S80E136 +S80E137 +S80E138 +S80E139 +S80E140 +S80E141 +S80E142 +S80E143 +S80E144 +S80E145 +S80E146 +S80E147 +S80E148 +S80E149 +S80E150 +S80E151 +S80E152 +S80E153 +S80E154 +S80E155 +S80E156 +S80E157 +S80E158 +S80E159 +S80E160 +S80E161 +S80E162 +S80E163 +S80E164 +S80E165 +S80E166 +S80E167 +S80E168 +S80E169 +S80E170 +S80E171 +S80E172 +S80E173 +S80E174 +S80E175 +S80E176 +S80E177 +S80E178 +S80E179 +S80W001 +S80W002 +S80W003 +S80W004 +S80W005 +S80W006 +S80W007 +S80W008 +S80W009 +S80W010 +S80W011 +S80W012 +S80W013 +S80W014 +S80W015 +S80W016 +S80W017 +S80W018 +S80W019 +S80W020 +S80W021 +S80W022 +S80W023 +S80W024 +S80W025 +S80W026 +S80W027 +S80W028 +S80W029 +S80W030 +S80W031 +S80W032 +S80W033 +S80W034 +S80W035 +S80W036 +S80W037 +S80W038 +S80W039 +S80W040 +S80W041 +S80W042 +S80W043 +S80W044 +S80W045 +S80W046 +S80W047 +S80W048 +S80W049 +S80W050 +S80W051 +S80W052 +S80W053 +S80W054 +S80W055 +S80W056 +S80W057 +S80W058 +S80W059 +S80W060 +S80W061 +S80W062 +S80W063 +S80W064 +S80W065 +S80W066 +S80W067 +S80W068 +S80W069 +S80W070 +S80W071 +S80W072 +S80W073 +S80W074 +S80W075 +S80W076 +S80W077 +S80W078 +S80W079 +S80W080 +S80W081 +S80W082 +S80W083 +S80W084 +S80W085 +S80W086 +S80W087 +S80W088 +S80W089 +S80W090 +S80W091 +S80W092 +S80W093 +S80W094 +S80W095 +S80W096 +S80W097 +S80W098 +S80W099 +S80W100 +S80W101 +S80W102 +S80W103 +S80W104 +S80W105 +S80W106 +S80W107 +S80W108 +S80W109 +S80W110 +S80W111 +S80W112 +S80W113 +S80W114 +S80W115 +S80W116 +S80W117 +S80W118 +S80W119 +S80W120 +S80W121 +S80W122 +S80W123 +S80W124 +S80W125 +S80W126 +S80W127 +S80W128 +S80W129 +S80W130 +S80W131 +S80W132 +S80W133 +S80W134 +S80W135 +S80W136 +S80W137 +S80W138 +S80W139 +S80W140 +S80W141 +S80W142 +S80W143 +S80W144 +S80W145 +S80W146 +S80W147 +S80W148 +S80W149 +S80W150 +S80W151 +S80W152 +S80W153 +S80W154 +S80W155 +S80W156 +S80W157 +S80W158 +S80W159 +S80W160 +S80W161 +S80W162 +S80W163 +S80W164 +S80W165 +S80W166 +S80W167 +S80W168 +S80W169 +S80W170 +S80W171 +S80W172 +S80W173 +S80W174 +S80W175 +S80W176 +S80W177 +S80W178 +S80W179 +S80W180 +S81E000 +S81E001 +S81E002 +S81E003 +S81E004 +S81E005 +S81E006 +S81E007 +S81E008 +S81E009 +S81E010 +S81E011 +S81E012 +S81E013 +S81E014 +S81E015 +S81E016 +S81E017 +S81E018 +S81E019 +S81E020 +S81E021 +S81E022 +S81E023 +S81E024 +S81E025 +S81E026 +S81E027 +S81E028 +S81E029 +S81E030 +S81E031 +S81E032 +S81E033 +S81E034 +S81E035 +S81E036 +S81E037 +S81E038 +S81E039 +S81E040 +S81E041 +S81E042 +S81E043 +S81E044 +S81E045 +S81E046 +S81E047 +S81E048 +S81E049 +S81E050 +S81E051 +S81E052 +S81E053 +S81E054 +S81E055 +S81E056 +S81E057 +S81E058 +S81E059 +S81E060 +S81E061 +S81E062 +S81E063 +S81E064 +S81E065 +S81E066 +S81E067 +S81E068 +S81E069 +S81E070 +S81E071 +S81E072 +S81E073 +S81E074 +S81E075 +S81E076 +S81E077 +S81E078 +S81E079 +S81E080 +S81E081 +S81E082 +S81E083 +S81E084 +S81E085 +S81E086 +S81E087 +S81E088 +S81E089 +S81E090 +S81E091 +S81E092 +S81E093 +S81E094 +S81E095 +S81E096 +S81E097 +S81E098 +S81E099 +S81E100 +S81E101 +S81E102 +S81E103 +S81E104 +S81E105 +S81E106 +S81E107 +S81E108 +S81E109 +S81E110 +S81E111 +S81E112 +S81E113 +S81E114 +S81E115 +S81E116 +S81E117 +S81E118 +S81E119 +S81E120 +S81E121 +S81E122 +S81E123 +S81E124 +S81E125 +S81E126 +S81E127 +S81E128 +S81E129 +S81E130 +S81E131 +S81E132 +S81E133 +S81E134 +S81E135 +S81E136 +S81E137 +S81E138 +S81E139 +S81E140 +S81E141 +S81E142 +S81E143 +S81E144 +S81E145 +S81E146 +S81E147 +S81E148 +S81E149 +S81E150 +S81E151 +S81E152 +S81E153 +S81E154 +S81E155 +S81E156 +S81E157 +S81E158 +S81E159 +S81E160 +S81E161 +S81E162 +S81E163 +S81E164 +S81E165 +S81E166 +S81E167 +S81E168 +S81E169 +S81E170 +S81E171 +S81E172 +S81E173 +S81E174 +S81E175 +S81E176 +S81E177 +S81E178 +S81E179 +S81W001 +S81W002 +S81W003 +S81W004 +S81W005 +S81W006 +S81W007 +S81W008 +S81W009 +S81W010 +S81W011 +S81W012 +S81W013 +S81W014 +S81W015 +S81W016 +S81W017 +S81W018 +S81W019 +S81W020 +S81W021 +S81W022 +S81W023 +S81W024 +S81W025 +S81W026 +S81W027 +S81W028 +S81W029 +S81W030 +S81W031 +S81W032 +S81W033 +S81W034 +S81W035 +S81W036 +S81W037 +S81W038 +S81W039 +S81W040 +S81W041 +S81W042 +S81W043 +S81W044 +S81W045 +S81W046 +S81W047 +S81W048 +S81W049 +S81W050 +S81W051 +S81W052 +S81W053 +S81W054 +S81W055 +S81W056 +S81W057 +S81W058 +S81W059 +S81W060 +S81W061 +S81W062 +S81W063 +S81W064 +S81W065 +S81W066 +S81W067 +S81W068 +S81W069 +S81W070 +S81W071 +S81W072 +S81W073 +S81W074 +S81W075 +S81W076 +S81W077 +S81W078 +S81W079 +S81W080 +S81W081 +S81W082 +S81W083 +S81W084 +S81W085 +S81W086 +S81W087 +S81W088 +S81W089 +S81W090 +S81W091 +S81W092 +S81W093 +S81W094 +S81W095 +S81W096 +S81W097 +S81W098 +S81W099 +S81W100 +S81W101 +S81W102 +S81W103 +S81W104 +S81W105 +S81W106 +S81W107 +S81W108 +S81W109 +S81W110 +S81W111 +S81W112 +S81W113 +S81W114 +S81W115 +S81W116 +S81W117 +S81W118 +S81W119 +S81W120 +S81W121 +S81W122 +S81W123 +S81W124 +S81W125 +S81W126 +S81W127 +S81W128 +S81W129 +S81W130 +S81W131 +S81W132 +S81W133 +S81W134 +S81W135 +S81W136 +S81W137 +S81W138 +S81W139 +S81W140 +S81W141 +S81W142 +S81W143 +S81W144 +S81W145 +S81W146 +S81W147 +S81W148 +S81W149 +S81W150 +S81W151 +S81W152 +S81W153 +S81W154 +S81W155 +S81W156 +S81W157 +S81W158 +S81W159 +S81W160 +S81W161 +S81W162 +S81W163 +S81W164 +S81W165 +S81W166 +S81W167 +S81W168 +S81W169 +S81W170 +S81W171 +S81W172 +S81W173 +S81W174 +S81W175 +S81W176 +S81W177 +S81W178 +S81W179 +S81W180 +S82E000 +S82E001 +S82E002 +S82E003 +S82E004 +S82E005 +S82E006 +S82E007 +S82E008 +S82E009 +S82E010 +S82E011 +S82E012 +S82E013 +S82E014 +S82E015 +S82E016 +S82E017 +S82E018 +S82E019 +S82E020 +S82E021 +S82E022 +S82E023 +S82E024 +S82E025 +S82E026 +S82E027 +S82E028 +S82E029 +S82E030 +S82E031 +S82E032 +S82E033 +S82E034 +S82E035 +S82E036 +S82E037 +S82E038 +S82E039 +S82E040 +S82E041 +S82E042 +S82E043 +S82E044 +S82E045 +S82E046 +S82E047 +S82E048 +S82E049 +S82E050 +S82E051 +S82E052 +S82E053 +S82E054 +S82E055 +S82E056 +S82E057 +S82E058 +S82E059 +S82E060 +S82E061 +S82E062 +S82E063 +S82E064 +S82E065 +S82E066 +S82E067 +S82E068 +S82E069 +S82E070 +S82E071 +S82E072 +S82E073 +S82E074 +S82E075 +S82E076 +S82E077 +S82E078 +S82E079 +S82E080 +S82E081 +S82E082 +S82E083 +S82E084 +S82E085 +S82E086 +S82E087 +S82E088 +S82E089 +S82E090 +S82E091 +S82E092 +S82E093 +S82E094 +S82E095 +S82E096 +S82E097 +S82E098 +S82E099 +S82E100 +S82E101 +S82E102 +S82E103 +S82E104 +S82E105 +S82E106 +S82E107 +S82E108 +S82E109 +S82E110 +S82E111 +S82E112 +S82E113 +S82E114 +S82E115 +S82E116 +S82E117 +S82E118 +S82E119 +S82E120 +S82E121 +S82E122 +S82E123 +S82E124 +S82E125 +S82E126 +S82E127 +S82E128 +S82E129 +S82E130 +S82E131 +S82E132 +S82E133 +S82E134 +S82E135 +S82E136 +S82E137 +S82E138 +S82E139 +S82E140 +S82E141 +S82E142 +S82E143 +S82E144 +S82E145 +S82E146 +S82E147 +S82E148 +S82E149 +S82E150 +S82E151 +S82E152 +S82E153 +S82E154 +S82E155 +S82E156 +S82E157 +S82E158 +S82E159 +S82E160 +S82E161 +S82E162 +S82E163 +S82E164 +S82E165 +S82E166 +S82E167 +S82E168 +S82E169 +S82E170 +S82E171 +S82E172 +S82E173 +S82E174 +S82E175 +S82E176 +S82E177 +S82E178 +S82E179 +S82W001 +S82W002 +S82W003 +S82W004 +S82W005 +S82W006 +S82W007 +S82W008 +S82W009 +S82W010 +S82W011 +S82W012 +S82W013 +S82W014 +S82W015 +S82W016 +S82W017 +S82W018 +S82W019 +S82W020 +S82W021 +S82W022 +S82W023 +S82W024 +S82W025 +S82W026 +S82W027 +S82W028 +S82W029 +S82W030 +S82W031 +S82W032 +S82W033 +S82W034 +S82W035 +S82W036 +S82W037 +S82W038 +S82W039 +S82W040 +S82W041 +S82W042 +S82W043 +S82W044 +S82W045 +S82W046 +S82W047 +S82W048 +S82W049 +S82W050 +S82W051 +S82W052 +S82W053 +S82W054 +S82W055 +S82W056 +S82W057 +S82W058 +S82W059 +S82W060 +S82W061 +S82W062 +S82W063 +S82W064 +S82W065 +S82W066 +S82W067 +S82W068 +S82W069 +S82W070 +S82W071 +S82W072 +S82W073 +S82W074 +S82W075 +S82W076 +S82W077 +S82W078 +S82W079 +S82W080 +S82W081 +S82W082 +S82W083 +S82W084 +S82W085 +S82W086 +S82W087 +S82W088 +S82W089 +S82W090 +S82W091 +S82W092 +S82W093 +S82W094 +S82W095 +S82W096 +S82W097 +S82W098 +S82W099 +S82W100 +S82W101 +S82W102 +S82W103 +S82W104 +S82W105 +S82W106 +S82W107 +S82W108 +S82W109 +S82W110 +S82W111 +S82W112 +S82W113 +S82W114 +S82W115 +S82W116 +S82W117 +S82W118 +S82W119 +S82W120 +S82W121 +S82W122 +S82W123 +S82W124 +S82W125 +S82W126 +S82W127 +S82W128 +S82W129 +S82W130 +S82W131 +S82W132 +S82W133 +S82W134 +S82W135 +S82W136 +S82W137 +S82W138 +S82W139 +S82W140 +S82W141 +S82W142 +S82W143 +S82W144 +S82W145 +S82W146 +S82W147 +S82W148 +S82W149 +S82W150 +S82W151 +S82W152 +S82W153 +S82W154 +S82W155 +S82W156 +S82W157 +S82W158 +S82W159 +S82W160 +S82W161 +S82W162 +S82W163 +S82W164 +S82W165 +S82W166 +S82W167 +S82W168 +S82W169 +S82W170 +S82W171 +S82W172 +S82W173 +S82W174 +S82W175 +S82W176 +S82W177 +S82W178 +S82W179 +S82W180 +S83E000 +S83E001 +S83E002 +S83E003 +S83E004 +S83E005 +S83E006 +S83E007 +S83E008 +S83E009 +S83E010 +S83E011 +S83E012 +S83E013 +S83E014 +S83E015 +S83E016 +S83E017 +S83E018 +S83E019 +S83E020 +S83E021 +S83E022 +S83E023 +S83E024 +S83E025 +S83E026 +S83E027 +S83E028 +S83E029 +S83E030 +S83E031 +S83E032 +S83E033 +S83E034 +S83E035 +S83E036 +S83E037 +S83E038 +S83E039 +S83E040 +S83E041 +S83E042 +S83E043 +S83E044 +S83E045 +S83E046 +S83E047 +S83E048 +S83E049 +S83E050 +S83E051 +S83E052 +S83E053 +S83E054 +S83E055 +S83E056 +S83E057 +S83E058 +S83E059 +S83E060 +S83E061 +S83E062 +S83E063 +S83E064 +S83E065 +S83E066 +S83E067 +S83E068 +S83E069 +S83E070 +S83E071 +S83E072 +S83E073 +S83E074 +S83E075 +S83E076 +S83E077 +S83E078 +S83E079 +S83E080 +S83E081 +S83E082 +S83E083 +S83E084 +S83E085 +S83E086 +S83E087 +S83E088 +S83E089 +S83E090 +S83E091 +S83E092 +S83E093 +S83E094 +S83E095 +S83E096 +S83E097 +S83E098 +S83E099 +S83E100 +S83E101 +S83E102 +S83E103 +S83E104 +S83E105 +S83E106 +S83E107 +S83E108 +S83E109 +S83E110 +S83E111 +S83E112 +S83E113 +S83E114 +S83E115 +S83E116 +S83E117 +S83E118 +S83E119 +S83E120 +S83E121 +S83E122 +S83E123 +S83E124 +S83E125 +S83E126 +S83E127 +S83E128 +S83E129 +S83E130 +S83E131 +S83E132 +S83E133 +S83E134 +S83E135 +S83E136 +S83E137 +S83E138 +S83E139 +S83E140 +S83E141 +S83E142 +S83E143 +S83E144 +S83E145 +S83E146 +S83E147 +S83E148 +S83E149 +S83E150 +S83E151 +S83E152 +S83E153 +S83E154 +S83E155 +S83E156 +S83E157 +S83E158 +S83E159 +S83E160 +S83E161 +S83E162 +S83E163 +S83E164 +S83E165 +S83E166 +S83E167 +S83E168 +S83E169 +S83E170 +S83E171 +S83E172 +S83E173 +S83E174 +S83E175 +S83E176 +S83E177 +S83E178 +S83E179 +S83W001 +S83W002 +S83W003 +S83W004 +S83W005 +S83W006 +S83W007 +S83W008 +S83W009 +S83W010 +S83W011 +S83W012 +S83W013 +S83W014 +S83W015 +S83W016 +S83W017 +S83W018 +S83W019 +S83W020 +S83W021 +S83W022 +S83W023 +S83W024 +S83W025 +S83W026 +S83W027 +S83W028 +S83W029 +S83W030 +S83W031 +S83W032 +S83W033 +S83W034 +S83W035 +S83W036 +S83W037 +S83W038 +S83W039 +S83W040 +S83W041 +S83W042 +S83W043 +S83W044 +S83W045 +S83W046 +S83W047 +S83W048 +S83W049 +S83W050 +S83W051 +S83W052 +S83W053 +S83W054 +S83W055 +S83W056 +S83W057 +S83W058 +S83W059 +S83W060 +S83W061 +S83W062 +S83W063 +S83W064 +S83W065 +S83W066 +S83W067 +S83W068 +S83W069 +S83W070 +S83W071 +S83W072 +S83W073 +S83W074 +S83W075 +S83W076 +S83W077 +S83W078 +S83W079 +S83W080 +S83W081 +S83W082 +S83W083 +S83W084 +S83W085 +S83W086 +S83W087 +S83W088 +S83W089 +S83W090 +S83W091 +S83W092 +S83W093 +S83W094 +S83W095 +S83W096 +S83W097 +S83W098 +S83W099 +S83W100 +S83W101 +S83W102 +S83W103 +S83W104 +S83W105 +S83W106 +S83W107 +S83W108 +S83W109 +S83W110 +S83W111 +S83W112 +S83W113 +S83W114 +S83W115 +S83W116 +S83W117 +S83W118 +S83W119 +S83W120 +S83W121 +S83W122 +S83W123 +S83W124 +S83W125 +S83W126 +S83W127 +S83W128 +S83W129 +S83W130 +S83W131 +S83W132 +S83W133 +S83W134 +S83W135 +S83W136 +S83W137 +S83W138 +S83W139 +S83W140 +S83W141 +S83W142 +S83W143 +S83W144 +S83W145 +S83W146 +S83W147 +S83W148 +S83W149 +S83W150 +S83W151 +S83W152 +S83W153 +S83W154 +S83W155 +S83W156 +S83W157 +S83W158 +S83W159 +S83W160 +S83W161 +S83W162 +S83W163 +S83W164 +S83W165 +S83W166 +S83W167 +S83W168 +S83W169 +S83W170 +S83W171 +S83W172 +S83W173 +S83W174 +S83W175 +S83W176 +S83W177 +S83W178 +S83W179 +S83W180 +S84E000 +S84E001 +S84E002 +S84E003 +S84E004 +S84E005 +S84E006 +S84E007 +S84E008 +S84E009 +S84E010 +S84E011 +S84E012 +S84E013 +S84E014 +S84E015 +S84E016 +S84E017 +S84E018 +S84E019 +S84E020 +S84E021 +S84E022 +S84E023 +S84E024 +S84E025 +S84E026 +S84E027 +S84E028 +S84E029 +S84E030 +S84E031 +S84E032 +S84E033 +S84E034 +S84E035 +S84E036 +S84E037 +S84E038 +S84E039 +S84E040 +S84E041 +S84E042 +S84E043 +S84E044 +S84E045 +S84E046 +S84E047 +S84E048 +S84E049 +S84E050 +S84E051 +S84E052 +S84E053 +S84E054 +S84E055 +S84E056 +S84E057 +S84E058 +S84E059 +S84E060 +S84E061 +S84E062 +S84E063 +S84E064 +S84E065 +S84E066 +S84E067 +S84E068 +S84E069 +S84E070 +S84E071 +S84E072 +S84E073 +S84E074 +S84E075 +S84E076 +S84E077 +S84E078 +S84E079 +S84E080 +S84E081 +S84E082 +S84E083 +S84E084 +S84E085 +S84E086 +S84E087 +S84E088 +S84E089 +S84E090 +S84E091 +S84E092 +S84E093 +S84E094 +S84E095 +S84E096 +S84E097 +S84E098 +S84E099 +S84E100 +S84E101 +S84E102 +S84E103 +S84E104 +S84E105 +S84E106 +S84E107 +S84E108 +S84E109 +S84E110 +S84E111 +S84E112 +S84E113 +S84E114 +S84E115 +S84E116 +S84E117 +S84E118 +S84E119 +S84E120 +S84E121 +S84E122 +S84E123 +S84E124 +S84E125 +S84E126 +S84E127 +S84E128 +S84E129 +S84E130 +S84E131 +S84E132 +S84E133 +S84E134 +S84E135 +S84E136 +S84E137 +S84E138 +S84E139 +S84E140 +S84E141 +S84E142 +S84E143 +S84E144 +S84E145 +S84E146 +S84E147 +S84E148 +S84E149 +S84E150 +S84E151 +S84E152 +S84E153 +S84E154 +S84E155 +S84E156 +S84E157 +S84E158 +S84E159 +S84E160 +S84E161 +S84E162 +S84E163 +S84E164 +S84E165 +S84E166 +S84E167 +S84E168 +S84E169 +S84E170 +S84E171 +S84E172 +S84E173 +S84E174 +S84E175 +S84E176 +S84E177 +S84E178 +S84E179 +S84W001 +S84W002 +S84W003 +S84W004 +S84W005 +S84W006 +S84W007 +S84W008 +S84W009 +S84W010 +S84W011 +S84W012 +S84W013 +S84W014 +S84W015 +S84W016 +S84W017 +S84W018 +S84W019 +S84W020 +S84W021 +S84W022 +S84W023 +S84W024 +S84W025 +S84W026 +S84W027 +S84W028 +S84W029 +S84W030 +S84W031 +S84W032 +S84W033 +S84W034 +S84W035 +S84W036 +S84W037 +S84W038 +S84W039 +S84W040 +S84W041 +S84W042 +S84W043 +S84W044 +S84W045 +S84W046 +S84W047 +S84W048 +S84W049 +S84W050 +S84W051 +S84W052 +S84W053 +S84W054 +S84W055 +S84W056 +S84W057 +S84W058 +S84W059 +S84W060 +S84W061 +S84W062 +S84W063 +S84W064 +S84W065 +S84W066 +S84W067 +S84W068 +S84W069 +S84W070 +S84W071 +S84W072 +S84W073 +S84W074 +S84W075 +S84W076 +S84W077 +S84W078 +S84W079 +S84W080 +S84W081 +S84W082 +S84W083 +S84W084 +S84W085 +S84W086 +S84W087 +S84W088 +S84W089 +S84W090 +S84W091 +S84W092 +S84W093 +S84W094 +S84W095 +S84W096 +S84W097 +S84W098 +S84W099 +S84W100 +S84W101 +S84W102 +S84W103 +S84W104 +S84W105 +S84W106 +S84W107 +S84W108 +S84W109 +S84W110 +S84W111 +S84W112 +S84W113 +S84W114 +S84W115 +S84W116 +S84W117 +S84W118 +S84W119 +S84W120 +S84W121 +S84W122 +S84W123 +S84W124 +S84W125 +S84W126 +S84W127 +S84W128 +S84W129 +S84W130 +S84W131 +S84W132 +S84W133 +S84W134 +S84W135 +S84W136 +S84W137 +S84W138 +S84W139 +S84W140 +S84W141 +S84W142 +S84W143 +S84W144 +S84W145 +S84W146 +S84W147 +S84W148 +S84W149 +S84W150 +S84W151 +S84W152 +S84W153 +S84W154 +S84W155 +S84W156 +S84W157 +S84W158 +S84W159 +S84W160 +S84W161 +S84W162 +S84W163 +S84W164 +S84W165 +S84W166 +S84W167 +S84W168 +S84W169 +S84W170 +S84W171 +S84W172 +S84W173 +S84W174 +S84W175 +S84W176 +S84W177 +S84W178 +S84W179 +S84W180 +S85E000 +S85E001 +S85E002 +S85E003 +S85E004 +S85E005 +S85E006 +S85E007 +S85E008 +S85E009 +S85E010 +S85E011 +S85E012 +S85E013 +S85E014 +S85E015 +S85E016 +S85E017 +S85E018 +S85E019 +S85E020 +S85E021 +S85E022 +S85E023 +S85E024 +S85E025 +S85E026 +S85E027 +S85E028 +S85E029 +S85E030 +S85E031 +S85E032 +S85E033 +S85E034 +S85E035 +S85E036 +S85E037 +S85E038 +S85E039 +S85E040 +S85E041 +S85E042 +S85E043 +S85E044 +S85E045 +S85E046 +S85E047 +S85E048 +S85E049 +S85E050 +S85E051 +S85E052 +S85E053 +S85E054 +S85E055 +S85E056 +S85E057 +S85E058 +S85E059 +S85E060 +S85E061 +S85E062 +S85E063 +S85E064 +S85E065 +S85E066 +S85E067 +S85E068 +S85E069 +S85E070 +S85E071 +S85E072 +S85E073 +S85E074 +S85E075 +S85E076 +S85E077 +S85E078 +S85E079 +S85E080 +S85E081 +S85E082 +S85E083 +S85E084 +S85E085 +S85E086 +S85E087 +S85E088 +S85E089 +S85E090 +S85E091 +S85E092 +S85E093 +S85E094 +S85E095 +S85E096 +S85E097 +S85E098 +S85E099 +S85E100 +S85E101 +S85E102 +S85E103 +S85E104 +S85E105 +S85E106 +S85E107 +S85E108 +S85E109 +S85E110 +S85E111 +S85E112 +S85E113 +S85E114 +S85E115 +S85E116 +S85E117 +S85E118 +S85E119 +S85E120 +S85E121 +S85E122 +S85E123 +S85E124 +S85E125 +S85E126 +S85E127 +S85E128 +S85E129 +S85E130 +S85E131 +S85E132 +S85E133 +S85E134 +S85E135 +S85E136 +S85E137 +S85E138 +S85E139 +S85E140 +S85E141 +S85E142 +S85E143 +S85E144 +S85E145 +S85E146 +S85E147 +S85E148 +S85E149 +S85E150 +S85E151 +S85E152 +S85E153 +S85E154 +S85E155 +S85E156 +S85E157 +S85E158 +S85E159 +S85E160 +S85E161 +S85E162 +S85E163 +S85E164 +S85E165 +S85E166 +S85E167 +S85E168 +S85E169 +S85E170 +S85E171 +S85E172 +S85E173 +S85E174 +S85E175 +S85E176 +S85E177 +S85E178 +S85E179 +S85W001 +S85W002 +S85W003 +S85W004 +S85W005 +S85W006 +S85W007 +S85W008 +S85W009 +S85W010 +S85W011 +S85W012 +S85W013 +S85W014 +S85W015 +S85W016 +S85W017 +S85W018 +S85W019 +S85W020 +S85W021 +S85W022 +S85W023 +S85W024 +S85W025 +S85W026 +S85W027 +S85W028 +S85W029 +S85W030 +S85W031 +S85W032 +S85W033 +S85W034 +S85W035 +S85W036 +S85W037 +S85W038 +S85W039 +S85W040 +S85W041 +S85W042 +S85W043 +S85W044 +S85W045 +S85W046 +S85W047 +S85W048 +S85W049 +S85W050 +S85W051 +S85W052 +S85W053 +S85W054 +S85W055 +S85W056 +S85W057 +S85W058 +S85W059 +S85W060 +S85W061 +S85W062 +S85W063 +S85W064 +S85W065 +S85W066 +S85W067 +S85W068 +S85W069 +S85W070 +S85W071 +S85W072 +S85W073 +S85W074 +S85W075 +S85W076 +S85W077 +S85W078 +S85W079 +S85W080 +S85W081 +S85W082 +S85W083 +S85W084 +S85W085 +S85W086 +S85W087 +S85W088 +S85W089 +S85W090 +S85W091 +S85W092 +S85W093 +S85W094 +S85W095 +S85W096 +S85W097 +S85W098 +S85W099 +S85W100 +S85W101 +S85W102 +S85W103 +S85W104 +S85W105 +S85W106 +S85W107 +S85W108 +S85W109 +S85W110 +S85W111 +S85W112 +S85W113 +S85W114 +S85W115 +S85W116 +S85W117 +S85W118 +S85W119 +S85W120 +S85W121 +S85W122 +S85W123 +S85W124 +S85W125 +S85W126 +S85W127 +S85W128 +S85W129 +S85W130 +S85W131 +S85W132 +S85W133 +S85W134 +S85W135 +S85W136 +S85W137 +S85W138 +S85W139 +S85W140 +S85W141 +S85W142 +S85W143 +S85W144 +S85W145 +S85W146 +S85W147 +S85W148 +S85W149 +S85W150 +S85W151 +S85W152 +S85W153 +S85W154 +S85W155 +S85W156 +S85W157 +S85W158 +S85W159 +S85W160 +S85W161 +S85W162 +S85W163 +S85W164 +S85W165 +S85W166 +S85W167 +S85W168 +S85W169 +S85W170 +S85W171 +S85W172 +S85W173 +S85W174 +S85W175 +S85W176 +S85W177 +S85W178 +S85W179 +S85W180 +S86E000 +S86E001 +S86E002 +S86E003 +S86E004 +S86E005 +S86E006 +S86E007 +S86E008 +S86E009 +S86E010 +S86E011 +S86E012 +S86E013 +S86E014 +S86E015 +S86E016 +S86E017 +S86E018 +S86E019 +S86E020 +S86E021 +S86E022 +S86E023 +S86E024 +S86E025 +S86E026 +S86E027 +S86E028 +S86E029 +S86E030 +S86E031 +S86E032 +S86E033 +S86E034 +S86E035 +S86E036 +S86E037 +S86E038 +S86E039 +S86E040 +S86E041 +S86E042 +S86E043 +S86E044 +S86E045 +S86E046 +S86E047 +S86E048 +S86E049 +S86E050 +S86E051 +S86E052 +S86E053 +S86E054 +S86E055 +S86E056 +S86E057 +S86E058 +S86E059 +S86E060 +S86E061 +S86E062 +S86E063 +S86E064 +S86E065 +S86E066 +S86E067 +S86E068 +S86E069 +S86E070 +S86E071 +S86E072 +S86E073 +S86E074 +S86E075 +S86E076 +S86E077 +S86E078 +S86E079 +S86E080 +S86E081 +S86E082 +S86E083 +S86E084 +S86E085 +S86E086 +S86E087 +S86E088 +S86E089 +S86E090 +S86E091 +S86E092 +S86E093 +S86E094 +S86E095 +S86E096 +S86E097 +S86E098 +S86E099 +S86E100 +S86E101 +S86E102 +S86E103 +S86E104 +S86E105 +S86E106 +S86E107 +S86E108 +S86E109 +S86E110 +S86E111 +S86E112 +S86E113 +S86E114 +S86E115 +S86E116 +S86E117 +S86E118 +S86E119 +S86E120 +S86E121 +S86E122 +S86E123 +S86E124 +S86E125 +S86E126 +S86E127 +S86E128 +S86E129 +S86E130 +S86E131 +S86E132 +S86E133 +S86E134 +S86E135 +S86E136 +S86E137 +S86E138 +S86E139 +S86E140 +S86E141 +S86E142 +S86E143 +S86E144 +S86E145 +S86E146 +S86E147 +S86E148 +S86E149 +S86E150 +S86E151 +S86E152 +S86E153 +S86E154 +S86E155 +S86E156 +S86E157 +S86E158 +S86E159 +S86E160 +S86E161 +S86E162 +S86E163 +S86E164 +S86E165 +S86E166 +S86E167 +S86E168 +S86E169 +S86E170 +S86E171 +S86E172 +S86E173 +S86E174 +S86E175 +S86E176 +S86E177 +S86E178 +S86E179 +S86W001 +S86W002 +S86W003 +S86W004 +S86W005 +S86W006 +S86W007 +S86W008 +S86W009 +S86W010 +S86W011 +S86W012 +S86W013 +S86W014 +S86W015 +S86W016 +S86W017 +S86W018 +S86W019 +S86W020 +S86W021 +S86W022 +S86W023 +S86W024 +S86W025 +S86W026 +S86W027 +S86W028 +S86W029 +S86W030 +S86W031 +S86W032 +S86W033 +S86W034 +S86W035 +S86W036 +S86W037 +S86W038 +S86W039 +S86W040 +S86W041 +S86W042 +S86W043 +S86W044 +S86W045 +S86W046 +S86W047 +S86W048 +S86W049 +S86W050 +S86W051 +S86W052 +S86W053 +S86W054 +S86W055 +S86W056 +S86W057 +S86W058 +S86W059 +S86W060 +S86W061 +S86W062 +S86W063 +S86W064 +S86W065 +S86W066 +S86W067 +S86W068 +S86W069 +S86W070 +S86W071 +S86W072 +S86W073 +S86W074 +S86W075 +S86W076 +S86W077 +S86W078 +S86W079 +S86W080 +S86W081 +S86W082 +S86W083 +S86W084 +S86W085 +S86W086 +S86W087 +S86W088 +S86W089 +S86W090 +S86W091 +S86W092 +S86W093 +S86W094 +S86W095 +S86W096 +S86W097 +S86W098 +S86W099 +S86W100 +S86W101 +S86W102 +S86W103 +S86W104 +S86W105 +S86W106 +S86W107 +S86W108 +S86W109 +S86W110 +S86W111 +S86W112 +S86W113 +S86W114 +S86W115 +S86W116 +S86W117 +S86W118 +S86W119 +S86W120 +S86W121 +S86W122 +S86W123 +S86W124 +S86W125 +S86W126 +S86W127 +S86W128 +S86W129 +S86W130 +S86W131 +S86W132 +S86W133 +S86W134 +S86W135 +S86W136 +S86W137 +S86W138 +S86W139 +S86W140 +S86W141 +S86W142 +S86W143 +S86W144 +S86W145 +S86W146 +S86W147 +S86W148 +S86W149 +S86W150 +S86W151 +S86W152 +S86W153 +S86W154 +S86W155 +S86W156 +S86W157 +S86W158 +S86W159 +S86W160 +S86W161 +S86W162 +S86W163 +S86W164 +S86W165 +S86W166 +S86W167 +S86W168 +S86W169 +S86W170 +S86W171 +S86W172 +S86W173 +S86W174 +S86W175 +S86W176 +S86W177 +S86W178 +S86W179 +S86W180 +S87E000 +S87E001 +S87E002 +S87E003 +S87E004 +S87E005 +S87E006 +S87E007 +S87E008 +S87E009 +S87E010 +S87E011 +S87E012 +S87E013 +S87E014 +S87E015 +S87E016 +S87E017 +S87E018 +S87E019 +S87E020 +S87E021 +S87E022 +S87E023 +S87E024 +S87E025 +S87E026 +S87E027 +S87E028 +S87E029 +S87E030 +S87E031 +S87E032 +S87E033 +S87E034 +S87E035 +S87E036 +S87E037 +S87E038 +S87E039 +S87E040 +S87E041 +S87E042 +S87E043 +S87E044 +S87E045 +S87E046 +S87E047 +S87E048 +S87E049 +S87E050 +S87E051 +S87E052 +S87E053 +S87E054 +S87E055 +S87E056 +S87E057 +S87E058 +S87E059 +S87E060 +S87E061 +S87E062 +S87E063 +S87E064 +S87E065 +S87E066 +S87E067 +S87E068 +S87E069 +S87E070 +S87E071 +S87E072 +S87E073 +S87E074 +S87E075 +S87E076 +S87E077 +S87E078 +S87E079 +S87E080 +S87E081 +S87E082 +S87E083 +S87E084 +S87E085 +S87E086 +S87E087 +S87E088 +S87E089 +S87E090 +S87E091 +S87E092 +S87E093 +S87E094 +S87E095 +S87E096 +S87E097 +S87E098 +S87E099 +S87E100 +S87E101 +S87E102 +S87E103 +S87E104 +S87E105 +S87E106 +S87E107 +S87E108 +S87E109 +S87E110 +S87E111 +S87E112 +S87E113 +S87E114 +S87E115 +S87E116 +S87E117 +S87E118 +S87E119 +S87E120 +S87E121 +S87E122 +S87E123 +S87E124 +S87E125 +S87E126 +S87E127 +S87E128 +S87E129 +S87E130 +S87E131 +S87E132 +S87E133 +S87E134 +S87E135 +S87E136 +S87E137 +S87E138 +S87E139 +S87E140 +S87E141 +S87E142 +S87E143 +S87E144 +S87E145 +S87E146 +S87E147 +S87E148 +S87E149 +S87E150 +S87E151 +S87E152 +S87E153 +S87E154 +S87E155 +S87E156 +S87E157 +S87E158 +S87E159 +S87E160 +S87E161 +S87E162 +S87E163 +S87E164 +S87E165 +S87E166 +S87E167 +S87E168 +S87E169 +S87E170 +S87E171 +S87E172 +S87E173 +S87E174 +S87E175 +S87E176 +S87E177 +S87E178 +S87E179 +S87W001 +S87W002 +S87W003 +S87W004 +S87W005 +S87W006 +S87W007 +S87W008 +S87W009 +S87W010 +S87W011 +S87W012 +S87W013 +S87W014 +S87W015 +S87W016 +S87W017 +S87W018 +S87W019 +S87W020 +S87W021 +S87W022 +S87W023 +S87W024 +S87W025 +S87W026 +S87W027 +S87W028 +S87W029 +S87W030 +S87W031 +S87W032 +S87W033 +S87W034 +S87W035 +S87W036 +S87W037 +S87W038 +S87W039 +S87W040 +S87W041 +S87W042 +S87W043 +S87W044 +S87W045 +S87W046 +S87W047 +S87W048 +S87W049 +S87W050 +S87W051 +S87W052 +S87W053 +S87W054 +S87W055 +S87W056 +S87W057 +S87W058 +S87W059 +S87W060 +S87W061 +S87W062 +S87W063 +S87W064 +S87W065 +S87W066 +S87W067 +S87W068 +S87W069 +S87W070 +S87W071 +S87W072 +S87W073 +S87W074 +S87W075 +S87W076 +S87W077 +S87W078 +S87W079 +S87W080 +S87W081 +S87W082 +S87W083 +S87W084 +S87W085 +S87W086 +S87W087 +S87W088 +S87W089 +S87W090 +S87W091 +S87W092 +S87W093 +S87W094 +S87W095 +S87W096 +S87W097 +S87W098 +S87W099 +S87W100 +S87W101 +S87W102 +S87W103 +S87W104 +S87W105 +S87W106 +S87W107 +S87W108 +S87W109 +S87W110 +S87W111 +S87W112 +S87W113 +S87W114 +S87W115 +S87W116 +S87W117 +S87W118 +S87W119 +S87W120 +S87W121 +S87W122 +S87W123 +S87W124 +S87W125 +S87W126 +S87W127 +S87W128 +S87W129 +S87W130 +S87W131 +S87W132 +S87W133 +S87W134 +S87W135 +S87W136 +S87W137 +S87W138 +S87W139 +S87W140 +S87W141 +S87W142 +S87W143 +S87W144 +S87W145 +S87W146 +S87W147 +S87W148 +S87W149 +S87W150 +S87W151 +S87W152 +S87W153 +S87W154 +S87W155 +S87W156 +S87W157 +S87W158 +S87W159 +S87W160 +S87W161 +S87W162 +S87W163 +S87W164 +S87W165 +S87W166 +S87W167 +S87W168 +S87W169 +S87W170 +S87W171 +S87W172 +S87W173 +S87W174 +S87W175 +S87W176 +S87W177 +S87W178 +S87W179 +S87W180 +S88E000 +S88E001 +S88E002 +S88E003 +S88E004 +S88E005 +S88E006 +S88E007 +S88E008 +S88E009 +S88E010 +S88E011 +S88E012 +S88E013 +S88E014 +S88E015 +S88E016 +S88E017 +S88E018 +S88E019 +S88E020 +S88E021 +S88E022 +S88E023 +S88E024 +S88E025 +S88E026 +S88E027 +S88E028 +S88E029 +S88E030 +S88E031 +S88E032 +S88E033 +S88E034 +S88E035 +S88E036 +S88E037 +S88E038 +S88E039 +S88E040 +S88E041 +S88E042 +S88E043 +S88E044 +S88E045 +S88E046 +S88E047 +S88E048 +S88E049 +S88E050 +S88E051 +S88E052 +S88E053 +S88E054 +S88E055 +S88E056 +S88E057 +S88E058 +S88E059 +S88E060 +S88E061 +S88E062 +S88E063 +S88E064 +S88E065 +S88E066 +S88E067 +S88E068 +S88E069 +S88E070 +S88E071 +S88E072 +S88E073 +S88E074 +S88E075 +S88E076 +S88E077 +S88E078 +S88E079 +S88E080 +S88E081 +S88E082 +S88E083 +S88E084 +S88E085 +S88E086 +S88E087 +S88E088 +S88E089 +S88E090 +S88E091 +S88E092 +S88E093 +S88E094 +S88E095 +S88E096 +S88E097 +S88E098 +S88E099 +S88E100 +S88E101 +S88E102 +S88E103 +S88E104 +S88E105 +S88E106 +S88E107 +S88E108 +S88E109 +S88E110 +S88E111 +S88E112 +S88E113 +S88E114 +S88E115 +S88E116 +S88E117 +S88E118 +S88E119 +S88E120 +S88E121 +S88E122 +S88E123 +S88E124 +S88E125 +S88E126 +S88E127 +S88E128 +S88E129 +S88E130 +S88E131 +S88E132 +S88E133 +S88E134 +S88E135 +S88E136 +S88E137 +S88E138 +S88E139 +S88E140 +S88E141 +S88E142 +S88E143 +S88E144 +S88E145 +S88E146 +S88E147 +S88E148 +S88E149 +S88E150 +S88E151 +S88E152 +S88E153 +S88E154 +S88E155 +S88E156 +S88E157 +S88E158 +S88E159 +S88E160 +S88E161 +S88E162 +S88E163 +S88E164 +S88E165 +S88E166 +S88E167 +S88E168 +S88E169 +S88E170 +S88E171 +S88E172 +S88E173 +S88E174 +S88E175 +S88E176 +S88E177 +S88E178 +S88E179 +S88W001 +S88W002 +S88W003 +S88W004 +S88W005 +S88W006 +S88W007 +S88W008 +S88W009 +S88W010 +S88W011 +S88W012 +S88W013 +S88W014 +S88W015 +S88W016 +S88W017 +S88W018 +S88W019 +S88W020 +S88W021 +S88W022 +S88W023 +S88W024 +S88W025 +S88W026 +S88W027 +S88W028 +S88W029 +S88W030 +S88W031 +S88W032 +S88W033 +S88W034 +S88W035 +S88W036 +S88W037 +S88W038 +S88W039 +S88W040 +S88W041 +S88W042 +S88W043 +S88W044 +S88W045 +S88W046 +S88W047 +S88W048 +S88W049 +S88W050 +S88W051 +S88W052 +S88W053 +S88W054 +S88W055 +S88W056 +S88W057 +S88W058 +S88W059 +S88W060 +S88W061 +S88W062 +S88W063 +S88W064 +S88W065 +S88W066 +S88W067 +S88W068 +S88W069 +S88W070 +S88W071 +S88W072 +S88W073 +S88W074 +S88W075 +S88W076 +S88W077 +S88W078 +S88W079 +S88W080 +S88W081 +S88W082 +S88W083 +S88W084 +S88W085 +S88W086 +S88W087 +S88W088 +S88W089 +S88W090 +S88W091 +S88W092 +S88W093 +S88W094 +S88W095 +S88W096 +S88W097 +S88W098 +S88W099 +S88W100 +S88W101 +S88W102 +S88W103 +S88W104 +S88W105 +S88W106 +S88W107 +S88W108 +S88W109 +S88W110 +S88W111 +S88W112 +S88W113 +S88W114 +S88W115 +S88W116 +S88W117 +S88W118 +S88W119 +S88W120 +S88W121 +S88W122 +S88W123 +S88W124 +S88W125 +S88W126 +S88W127 +S88W128 +S88W129 +S88W130 +S88W131 +S88W132 +S88W133 +S88W134 +S88W135 +S88W136 +S88W137 +S88W138 +S88W139 +S88W140 +S88W141 +S88W142 +S88W143 +S88W144 +S88W145 +S88W146 +S88W147 +S88W148 +S88W149 +S88W150 +S88W151 +S88W152 +S88W153 +S88W154 +S88W155 +S88W156 +S88W157 +S88W158 +S88W159 +S88W160 +S88W161 +S88W162 +S88W163 +S88W164 +S88W165 +S88W166 +S88W167 +S88W168 +S88W169 +S88W170 +S88W171 +S88W172 +S88W173 +S88W174 +S88W175 +S88W176 +S88W177 +S88W178 +S88W179 +S88W180 +S89E000 +S89E001 +S89E002 +S89E003 +S89E004 +S89E005 +S89E006 +S89E007 +S89E008 +S89E009 +S89E010 +S89E011 +S89E012 +S89E013 +S89E014 +S89E015 +S89E016 +S89E017 +S89E018 +S89E019 +S89E020 +S89E021 +S89E022 +S89E023 +S89E024 +S89E025 +S89E026 +S89E027 +S89E028 +S89E029 +S89E030 +S89E031 +S89E032 +S89E033 +S89E034 +S89E035 +S89E036 +S89E037 +S89E038 +S89E039 +S89E040 +S89E041 +S89E042 +S89E043 +S89E044 +S89E045 +S89E046 +S89E047 +S89E048 +S89E049 +S89E050 +S89E051 +S89E052 +S89E053 +S89E054 +S89E055 +S89E056 +S89E057 +S89E058 +S89E059 +S89E060 +S89E061 +S89E062 +S89E063 +S89E064 +S89E065 +S89E066 +S89E067 +S89E068 +S89E069 +S89E070 +S89E071 +S89E072 +S89E073 +S89E074 +S89E075 +S89E076 +S89E077 +S89E078 +S89E079 +S89E080 +S89E081 +S89E082 +S89E083 +S89E084 +S89E085 +S89E086 +S89E087 +S89E088 +S89E089 +S89E090 +S89E091 +S89E092 +S89E093 +S89E094 +S89E095 +S89E096 +S89E097 +S89E098 +S89E099 +S89E100 +S89E101 +S89E102 +S89E103 +S89E104 +S89E105 +S89E106 +S89E107 +S89E108 +S89E109 +S89E110 +S89E111 +S89E112 +S89E113 +S89E114 +S89E115 +S89E116 +S89E117 +S89E118 +S89E119 +S89E120 +S89E121 +S89E122 +S89E123 +S89E124 +S89E125 +S89E126 +S89E127 +S89E128 +S89E129 +S89E130 +S89E131 +S89E132 +S89E133 +S89E134 +S89E135 +S89E136 +S89E137 +S89E138 +S89E139 +S89E140 +S89E141 +S89E142 +S89E143 +S89E144 +S89E145 +S89E146 +S89E147 +S89E148 +S89E149 +S89E150 +S89E151 +S89E152 +S89E153 +S89E154 +S89E155 +S89E156 +S89E157 +S89E158 +S89E159 +S89E160 +S89E161 +S89E162 +S89E163 +S89E164 +S89E165 +S89E166 +S89E167 +S89E168 +S89E169 +S89E170 +S89E171 +S89E172 +S89E173 +S89E174 +S89E175 +S89E176 +S89E177 +S89E178 +S89E179 +S89W001 +S89W002 +S89W003 +S89W004 +S89W005 +S89W006 +S89W007 +S89W008 +S89W009 +S89W010 +S89W011 +S89W012 +S89W013 +S89W014 +S89W015 +S89W016 +S89W017 +S89W018 +S89W019 +S89W020 +S89W021 +S89W022 +S89W023 +S89W024 +S89W025 +S89W026 +S89W027 +S89W028 +S89W029 +S89W030 +S89W031 +S89W032 +S89W033 +S89W034 +S89W035 +S89W036 +S89W037 +S89W038 +S89W039 +S89W040 +S89W041 +S89W042 +S89W043 +S89W044 +S89W045 +S89W046 +S89W047 +S89W048 +S89W049 +S89W050 +S89W051 +S89W052 +S89W053 +S89W054 +S89W055 +S89W056 +S89W057 +S89W058 +S89W059 +S89W060 +S89W061 +S89W062 +S89W063 +S89W064 +S89W065 +S89W066 +S89W067 +S89W068 +S89W069 +S89W070 +S89W071 +S89W072 +S89W073 +S89W074 +S89W075 +S89W076 +S89W077 +S89W078 +S89W079 +S89W080 +S89W081 +S89W082 +S89W083 +S89W084 +S89W085 +S89W086 +S89W087 +S89W088 +S89W089 +S89W090 +S89W091 +S89W092 +S89W093 +S89W094 +S89W095 +S89W096 +S89W097 +S89W098 +S89W099 +S89W100 +S89W101 +S89W102 +S89W103 +S89W104 +S89W105 +S89W106 +S89W107 +S89W108 +S89W109 +S89W110 +S89W111 +S89W112 +S89W113 +S89W114 +S89W115 +S89W116 +S89W117 +S89W118 +S89W119 +S89W120 +S89W121 +S89W122 +S89W123 +S89W124 +S89W125 +S89W126 +S89W127 +S89W128 +S89W129 +S89W130 +S89W131 +S89W132 +S89W133 +S89W134 +S89W135 +S89W136 +S89W137 +S89W138 +S89W139 +S89W140 +S89W141 +S89W142 +S89W143 +S89W144 +S89W145 +S89W146 +S89W147 +S89W148 +S89W149 +S89W150 +S89W151 +S89W152 +S89W153 +S89W154 +S89W155 +S89W156 +S89W157 +S89W158 +S89W159 +S89W160 +S89W161 +S89W162 +S89W163 +S89W164 +S89W165 +S89W166 +S89W167 +S89W168 +S89W169 +S89W170 +S89W171 +S89W172 +S89W173 +S89W174 +S89W175 +S89W176 +S89W177 +S89W178 +S89W179 +S89W180 +S90E000 +S90E001 +S90E002 +S90E003 +S90E004 +S90E005 +S90E006 +S90E007 +S90E008 +S90E009 +S90E010 +S90E011 +S90E012 +S90E013 +S90E014 +S90E015 +S90E016 +S90E017 +S90E018 +S90E019 +S90E020 +S90E021 +S90E022 +S90E023 +S90E024 +S90E025 +S90E026 +S90E027 +S90E028 +S90E029 +S90E030 +S90E031 +S90E032 +S90E033 +S90E034 +S90E035 +S90E036 +S90E037 +S90E038 +S90E039 +S90E040 +S90E041 +S90E042 +S90E043 +S90E044 +S90E045 +S90E046 +S90E047 +S90E048 +S90E049 +S90E050 +S90E051 +S90E052 +S90E053 +S90E054 +S90E055 +S90E056 +S90E057 +S90E058 +S90E059 +S90E060 +S90E061 +S90E062 +S90E063 +S90E064 +S90E065 +S90E066 +S90E067 +S90E068 +S90E069 +S90E070 +S90E071 +S90E072 +S90E073 +S90E074 +S90E075 +S90E076 +S90E077 +S90E078 +S90E079 +S90E080 +S90E081 +S90E082 +S90E083 +S90E084 +S90E085 +S90E086 +S90E087 +S90E088 +S90E089 +S90E090 +S90E091 +S90E092 +S90E093 +S90E094 +S90E095 +S90E096 +S90E097 +S90E098 +S90E099 +S90E100 +S90E101 +S90E102 +S90E103 +S90E104 +S90E105 +S90E106 +S90E107 +S90E108 +S90E109 +S90E110 +S90E111 +S90E112 +S90E113 +S90E114 +S90E115 +S90E116 +S90E117 +S90E118 +S90E119 +S90E120 +S90E121 +S90E122 +S90E123 +S90E124 +S90E125 +S90E126 +S90E127 +S90E128 +S90E129 +S90E130 +S90E131 +S90E132 +S90E133 +S90E134 +S90E135 +S90E136 +S90E137 +S90E138 +S90E139 +S90E140 +S90E141 +S90E142 +S90E143 +S90E144 +S90E145 +S90E146 +S90E147 +S90E148 +S90E149 +S90E150 +S90E151 +S90E152 +S90E153 +S90E154 +S90E155 +S90E156 +S90E157 +S90E158 +S90E159 +S90E160 +S90E161 +S90E162 +S90E163 +S90E164 +S90E165 +S90E166 +S90E167 +S90E168 +S90E169 +S90E170 +S90E171 +S90E172 +S90E173 +S90E174 +S90E175 +S90E176 +S90E177 +S90E178 +S90E179 +S90W001 +S90W002 +S90W003 +S90W004 +S90W005 +S90W006 +S90W007 +S90W008 +S90W009 +S90W010 +S90W011 +S90W012 +S90W013 +S90W014 +S90W015 +S90W016 +S90W017 +S90W018 +S90W019 +S90W020 +S90W021 +S90W022 +S90W023 +S90W024 +S90W025 +S90W026 +S90W027 +S90W028 +S90W029 +S90W030 +S90W031 +S90W032 +S90W033 +S90W034 +S90W035 +S90W036 +S90W037 +S90W038 +S90W039 +S90W040 +S90W041 +S90W042 +S90W043 +S90W044 +S90W045 +S90W046 +S90W047 +S90W048 +S90W049 +S90W050 +S90W051 +S90W052 +S90W053 +S90W054 +S90W055 +S90W056 +S90W057 +S90W058 +S90W059 +S90W060 +S90W061 +S90W062 +S90W063 +S90W064 +S90W065 +S90W066 +S90W067 +S90W068 +S90W069 +S90W070 +S90W071 +S90W072 +S90W073 +S90W074 +S90W075 +S90W076 +S90W077 +S90W078 +S90W079 +S90W080 +S90W081 +S90W082 +S90W083 +S90W084 +S90W085 +S90W086 +S90W087 +S90W088 +S90W089 +S90W090 +S90W091 +S90W092 +S90W093 +S90W094 +S90W095 +S90W096 +S90W097 +S90W098 +S90W099 +S90W100 +S90W101 +S90W102 +S90W103 +S90W104 +S90W105 +S90W106 +S90W107 +S90W108 +S90W109 +S90W110 +S90W111 +S90W112 +S90W113 +S90W114 +S90W115 +S90W116 +S90W117 +S90W118 +S90W119 +S90W120 +S90W121 +S90W122 +S90W123 +S90W124 +S90W125 +S90W126 +S90W127 +S90W128 +S90W129 +S90W130 +S90W131 +S90W132 +S90W133 +S90W134 +S90W135 +S90W136 +S90W137 +S90W138 +S90W139 +S90W140 +S90W141 +S90W142 +S90W143 +S90W144 +S90W145 +S90W146 +S90W147 +S90W148 +S90W149 +S90W150 +S90W151 +S90W152 +S90W153 +S90W154 +S90W155 +S90W156 +S90W157 +S90W158 +S90W159 +S90W160 +S90W161 +S90W162 +S90W163 +S90W164 +S90W165 +S90W166 +S90W167 +S90W168 +S90W169 +S90W170 +S90W171 +S90W172 +S90W173 +S90W174 +S90W175 +S90W176 +S90W177 +S90W178 +S90W179 +S90W180 diff --git a/mkgmap/examples/roadNameConfig.txt b/mkgmap/examples/roadNameConfig.txt new file mode 100644 index 0000000..51fd410 --- /dev/null +++ b/mkgmap/examples/roadNameConfig.txt @@ -0,0 +1,113 @@ +# Sample configuration file for use with the --road-name-config option. +# -*- coding: UTF-8 -*- + +# This gives road name prefixes and suffixes in various languages. +# A road name like West Main Street is separated into a prefix 'West', +# the important part 'Main', and the suffix 'Street'. + +# The first section lists often used prefixes and suffixes for a language. +# The next section is used to configure which languages are used for road names +# in each country. + +# Note that the order of the options doesn't matter, as well as the position +# in the comma separated lists. Very important is the proper usage of blanks +# within the quotation marks as well as the spelling. + +# Having suffixes makes Find>Address less easy to use on some GPS devices! See posting 21-Feb-2019: +# http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2019q1/029506.html + +########################################################################## +# Section 1 +# prefix1: list of 1st words +# prefix2: further words to combine with each prefix1 word, separated with a blank +# suffix: gives list of suffix words + +# basque +suffix:eu = " Kalea" + +# catalan +prefix1:ca = "Avinguda", "Carrer" +prefix2:ca = "de las ", "de los ", "de la ", "del ", "de ", "d'" + +# english +prefix1:en = "East ", "North ", "South ", "West " +suffix:en = " Road", " Street" +# +# UK road names don't have prefixes, eg "North View" and "South View" are unlikely to be connected. +# So, via Section 2 (country to language mapping), have different prefix/suffix for the UK: +#prefix1:en_gb = empty +# UK road names have many different suffixes and should not be used as they make address searching counter-intuitive +#suffix:en_gb = " Arcade", " Avenue", " Boulevard", " Circus", " Close", " Court", " Crescent", " Croft", " Drive", " Field", " Fields", " Gardens", " Gate", " Grove", " Hill", " Lane", " Mews", " Parade", " Park", " Passage", " Place", " Rise", " Road", " Square", " Street", " Terrace", " View", " Villas", " Walk", " Way", " Wood", " Yard" + +# french +prefix1:fr = "Allée", "Avenue", "Boulevard", "Chemin", "Place", "Rue", "Route" +prefix2:fr = "de la ", "du ", "de ", "des ", "d'", "de l'" + +# galician +prefix1:gl = "Rua", "Avenida", "Travessa" +prefix2:gl = "da ", "do ", "de ", "das ", "dos " + +# german +suffix:de = " Straße", "-Straße", " Strasse", "-Strasse", " Weg", "-Weg" + +# italian +prefix1:it = "Via", "Piazza", "Viale" +prefix2:it = "del ", "dei ", "della ", "delle ", "di " + +# portugese +prefix1:pt = "Rua", "Avenida", "Travessa", "Alameda", "Beco", "Estrada", "Rodovia" +prefix2:pt = "da ", "do ", "de ", "das ", "dos ", "d'" + +# spanish +prefix1:es = "Avenida", "Calle", "Paseo" +prefix2:es = "de las ", "de los ", "de la ", "del ", "de ", "d'", "las ", "los " + +########################################################################## +# Section 2 +# Map three letter ISO country codes to list of used languages for road names. +# It is assumed that the style sets mkgmap:country to one of these ISO codes. + +# Botswana (BWA), Kenya (KEN), Malawi (MWI), Zambia (ZMB) and Zimbabwe (ZWE), owing to their colonial past, +# have a similar naming format to the UK and the same suffixes are common, so treat them as en_gb + +lang:AGO = pt +lang:AND = es, ca +lang:ARG = es +lang:BOL = es +lang:BRA = pt +lang:BWA = en_gb +lang:CAN = en, fr +lang:CHE = de, fr, it +lang:CHL = es +lang:COL = es +lang:CRI = es +lang:CUB = es +lang:DEU = de +lang:DOM = es +lang:ECU = es +lang:ESH = es +lang:ESP = es, gl, eu, ca +lang:FRA = fr +lang:GBR = en_gb +lang:GNB = pt +lang:GTM = es +lang:GUY = en +lang:HND = es +lang:KEN = en_gb +lang:MEX = es +lang:MOZ = pt +lang:MWI = en_gb +lang:NIC = es +lang:PAN = es +lang:PER = es +lang:PRI = es +lang:PRT = pt +lang:PRY = es +lang:SLV = es +lang:URI = es +lang:USA = en +lang:VEN = es +lang:ZMB = en_gb +lang:ZWE = en_gb + +# End Section 2 diff --git a/mkgmap/examples/sample.cfg b/mkgmap/examples/sample.cfg new file mode 100644 index 0000000..dc4d630 --- /dev/null +++ b/mkgmap/examples/sample.cfg @@ -0,0 +1,41 @@ +# Sample mkgmap option file to create a map for a GARMIN GPS and compatible PC Programs +# +# The options given here are a reasonable set for generating a routable map, but you +# will probably need to copy this file into your working environment and adapt it by +# fixing paths, adjusting options etc. +# +# Generally, where the default value for an option as acceptable, it isn't specified here. +# Please see the standard help information for details of what the options do. +# +# Typical command line invocation, after using the splitter to generate a set of tiles: +#> java -jar mkgmap-rel/mkgmap.jar -c mkgmap-rel/examples/sample.cfg -c template.args mkgmap-rel/examples/typ-files/mkgmap.txt +# +gmapsupp +gmapi +route +index +bounds=bounds.zip +precomp-sea=sea.zip +location-autofill=is_in,nearest +housenumbers +max-jobs +drive-on=detect +add-pois-to-areas +link-pois-to-ways +process-destination +process-exits +code-page=1252 +check-routing-island-len=700 +remove-ovm-work-files +# +# Other common options you may wish to consider: +# +#style-file=mkgmap-rel/examples/styles/default +# The above is the default style, change and enable this to use your own style +#road-name-config=mkgmap-rel/examples/roadNameConfig.txt +#split-name-index +#make-opposite-cycleways +#order-by-decreasing-area +#name-tag-list=name:en,int_name,name,place_name,loc_name +#nearby-poi-rules=0x4a00:30:delete-poi,0x6605:30:delete-poi +# above deletes multiple POI that the default style might generate from picnic_table and bench diff --git a/mkgmap/examples/styles/default/inc/access b/mkgmap/examples/styles/default/inc/access new file mode 100644 index 0000000..d6edbad --- /dev/null +++ b/mkgmap/examples/styles/default/inc/access @@ -0,0 +1,78 @@ +# Define the access restrictions +# The following tags define the restrictions: +# mkgmap:bicycle +# mkgmap:foot +# mkgmap:car +# mkgmap:truck +# mkgmap:taxi +# mkgmap:bus +# mkgmap:emergency +# mkgmap:delivery +# A class is not allowed to use the way if its tag is set to 'no' + +# First set access settings with high priority. +# +# In case a way is tagged with +# highway=motorway;access=yes +# we assume that foot and bikes are not allowed anyhow. + +highway=* & motorroad=yes { add bicycle=no; add foot=no; } +highway=motorway | highway=motorway_link { add bicycle=no; add foot=no; } + +(access=agricultural | access=forestry) { set access=no; add foot=yes } + +# Now fill the access tree (http://wiki.openstreetmap.org/wiki/Key:access) +# This is required so that subsequent rules do not add a tag (bicycle) which is already defined by a higher tag (vehicle) +access=* { add foot='${access}'; add vehicle='${access}'; } +vehicle=* { add bicycle='${vehicle}'; add motor_vehicle='${vehicle}'; } +motor_vehicle=* { add motorcar='${motor_vehicle}'; add goods='${motor_vehicle}'; add hgv='${motor_vehicle}'; add psv='${motor_vehicle}'; add emergency='${motor_vehicle}'; } +psv=* { add taxi='${psv}'; add bus='${psv}'; } + + +# Include country specific access rules that are derived from the highway type +include 'inc/access_country'; + +# Add common access rules that are derived from the highway type +highway=steps { add foot=yes; add access=no } +highway=pedestrian & area!=yes { add foot=yes; add access=no } +highway=path { add foot=yes; add bicycle=yes; add access=no } +highway=bridleway { add access=no } +highway=cycleway { add bicycle=yes; add access=no } +highway=footway { add foot=yes; add access=no } +railway=platform { add foot=yes; add access=no } + +# throughroute cannot be handled differently for different vehicle types +# Therefore we have to choose one vehicle type - and the winner is: motorcar +motorcar=destination | motorcar=delivery { set mkgmap:throughroute=no; set motorcar=yes } +access=destination | access=delivery { set mkgmap:throughroute=no; set access=yes } + +# Normalize all values that indicate a restriction to 'no' +foot=private | foot=agricultural | foot=forestry { set foot=no } +bicycle=private | bicycle=agricultural | bicycle=forestry { set bicycle=no } +motorcar=private | motorcar=agricultural | motorcar=forestry { set motorcar=no } +goods=private | goods=agricultural | goods=forestry { set goods=no } +hgv=private | hgv=agricultural | hgv=forestry { set hgv=no } +bus=private | bus=agricultural | bus=forestry { set bus=no } +taxi=private | taxi=agricultural | taxi=forestry { set taxi=no } +emergency=private | emergency=agricultural | emergency=forestry { set emergency=no } + +# Copy the OSM access tags to the mkgmap internal tags +foot=* { set mkgmap:foot='${foot}' } +bicycle=* { set mkgmap:bicycle='${bicycle}' } +motorcar=* { set mkgmap:car='${motorcar}' } +goods=* { set mkgmap:delivery='${goods}' } +hgv=* { set mkgmap:truck='${hgv}' } +bus=* { set mkgmap:bus='${bus}' } +taxi=* { set mkgmap:taxi='${taxi}' } +emergency=* { set mkgmap:emergency='${emergency}' } + +# The access tag defines all restrictions that are not already set +access=* { addaccess '${access}' } + +# Check for carpool lane (they are not really supported yet so these lines are commented) +# hov=* { add carpool='${hov}' } +# (carpool=yes | carpool=designated | carpool=permissive | carpool=official) { set mkgmap:carpool=yes } + +# Don't route through highway=construction, they are considered unusable +highway=construction {setaccess no} + diff --git a/mkgmap/examples/styles/default/inc/access_country b/mkgmap/examples/styles/default/inc/access_country new file mode 100644 index 0000000..e9d4ac1 --- /dev/null +++ b/mkgmap/examples/styles/default/inc/access_country @@ -0,0 +1,29 @@ +# This file contains country specific access restrictions +# If your country is missing please post your country specific access rules +# to the mkgmap developers list. + +# Belgium (BEL) + +highway=trunk & mkgmap:country=BEL {add bicycle=no; add foot=no} +highway=cycleway & mkgmap:country=BEL {add foot=yes} +highway=bridleway & mkgmap:country=BEL {add foot=yes} + +# The Netherlands (NLD) + +highway=trunk & mkgmap:country=NLD {add bicycle=no; add foot=no} +highway=cycleway & mkgmap:country=NLD {add foot=yes} +highway=bridleway & mkgmap:country=NLD {add foot=yes} + +# Spain (ESP) + +highway=trunk & mkgmap:country=ESP {add bicycle=yes; add foot=yes} +highway=bridleway & mkgmap:country=ESP {add bicycle=yes; add foot=yes} + +# United Kingdom (GBR) + +highway=cycleway & mkgmap:country=GBR {add foot=yes} +highway=bridleway & mkgmap:country=GBR { + add bicycle=yes; + add foot=yes; + add motor_vehicle=private + } diff --git a/mkgmap/examples/styles/default/inc/address b/mkgmap/examples/styles/default/inc/address new file mode 100644 index 0000000..fddc973 --- /dev/null +++ b/mkgmap/examples/styles/default/inc/address @@ -0,0 +1,126 @@ +# +# This file contains all the rules to set up address information from +# the tags that are added by the boundary processing. + + +# first set the country code +mkgmap:country!=* & mkgmap:admin_level2=* { set mkgmap:country='${mkgmap:admin_level2}' } +mkgmap:country!=* & addr:country=* { set mkgmap:country='${addr:country|country-ISO:}' } +mkgmap:country!=* & is_in:country=* { set mkgmap:country='${is_in:country|country-ISO:}' } + +# country specific rules first + +# Netherlands = NLD +mkgmap:country=NLD & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } +mkgmap:country=NLD & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' } +mkgmap:country=NLD & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } + +# Germany = DEU cities +mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level4=Hamburg {set mkgmap:city='${mkgmap:admin_level4}' } +mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level4=Berlin {set mkgmap:city='${mkgmap:admin_level4}' } +mkgmap:country=DEU & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } +mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8|subst:Gemeinde |subst:Stadt }' } +mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7|subst:Gemeinde |subst:Stadt }' } +mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6|subst:Gemeinde |subst:Stadt }' } +mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9|subst:Gemeinde |subst:Stadt }' } +mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10|subst:Gemeinde |subst:Stadt }' } + + +# Austria = AUT +mkgmap:country=AUT & mkgmap:city!=* & mkgmap:admin_level4=Wien {set mkgmap:city='${mkgmap:admin_level4}' } +mkgmap:country=AUT & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10|subst:Gemeinde |subst:Stadt }' } +mkgmap:country=AUT & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8|subst:Gemeinde |subst:Stadt }' } + +# Poland = POL +#After recent changes in OSM-Poland we don't use level 10 - all cities and villages are in level 8 +mkgmap:country=POL & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=POL & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4|subst:województwo =>}' } + +# other european countries +mkgmap:country=BEL & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } +mkgmap:country=CZE & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=CZE & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } +mkgmap:country=DNK & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=DNK & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } +mkgmap:country=FIN & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } +mkgmap:country=FIN & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=ISL & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=ITA & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=LUX & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=NOR & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } +mkgmap:country=PRT & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } +mkgmap:country=PRT & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=SVN & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' } +mkgmap:country=ESP & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=SWE & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } +mkgmap:country=SWE & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } +mkgmap:country=CHE & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } + +# Canada +mkgmap:country=CAN & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } +mkgmap:country=CAN & mkgmap:city!=* & mkgmap:admin_level8=Toronto & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } +mkgmap:country=CAN & mkgmap:city!=* & mkgmap:admin_level8=Ottawa & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } +mkgmap:country=CAN & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8|subst:City of }' } + +# United States +mkgmap:country=USA & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } +# New York City has different admin levels than the rest of the US. +# https://wiki.openstreetmap.org/wiki/United_States_admin_level +mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='New York County' { set mkgmap:city='New York' } +mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Bronx County' { set mkgmap:city='Bronx' } +mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Kings County' { set mkgmap:city='Brooklyn' } +# Queens uses neighborhoods for city in postal addresses +# http://en.wikipedia.org/wiki/List_of_Queens_neighborhoods +mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Queens County' & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Queens County' { set mkgmap:city='Queens' } +mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level5='New York City' & mkgmap:admin_level6='Richmond County' { set mkgmap:city='Staten Island' } +mkgmap:country=USA & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8|subst:City of }' } + +# Ecuador = ECU +mkgmap:country=ECU & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } +mkgmap:country=ECU & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' } +mkgmap:country=ECU & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } +mkgmap:country=ECU & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } + +# South Africa = ZAF +mkgmap:country=ZAF & mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } +mkgmap:country=ZAF & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' } +mkgmap:country=ZAF & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } +mkgmap:country=ZAF & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } + +# Slovakia +mkgmap:country=SVK & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' } +mkgmap:country=SVK & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } +mkgmap:country=SVK & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } + +# Greece +mkgmap:country=GRE & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } +mkgmap:country=GRE & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } + +# common rules for all the rest of countries +mkgmap:region!=* & mkgmap:admin_level6=* { set mkgmap:region='${mkgmap:admin_level6}' } +mkgmap:region!=* & mkgmap:admin_level5=* { set mkgmap:region='${mkgmap:admin_level5}' } +mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' } +mkgmap:region!=* & mkgmap:admin_level3=* { set mkgmap:region='${mkgmap:admin_level3}' } +mkgmap:region!=* & is_in:county=* { set mkgmap:region='${is_in:county}' } + +mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' } +mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' } +mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' } +mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' } +mkgmap:city!=* & is_in:city=* { set mkgmap:city='${is_in:city}' } +mkgmap:city!=* & addr:city=* { set mkgmap:city='${addr:city}' } + +mkgmap:postal_code!=* & mkgmap:postcode=* { set mkgmap:postal_code='${mkgmap:postcode}' } +mkgmap:postal_code!=* & addr:postcode=* { set mkgmap:postal_code='${addr:postcode}' } + +mkgmap:street!=* & addr:street=* { set mkgmap:street='${addr:street}' } +mkgmap:street!=* & addr:housename=* { set mkgmap:street='${addr:housename}' } + +mkgmap:housenumber!=* & addr:housenumber=* { set mkgmap:housenumber='${addr:housenumber}' } + +mkgmap:phone!=* & phone=* { set mkgmap:phone='${phone}' } +mkgmap:phone!=* & contact:phone=* { add mkgmap:phone='${contact:phone}' } + +mkgmap:is_in!=* & is_in=* { set mkgmap:is_in='${is_in}' } + diff --git a/mkgmap/examples/styles/default/inc/compat_lines b/mkgmap/examples/styles/default/inc/compat_lines new file mode 100644 index 0000000..20508f9 --- /dev/null +++ b/mkgmap/examples/styles/default/inc/compat_lines @@ -0,0 +1,125 @@ +include 'inc/roadspeed'; + +name=* { name '${name}' } +mkgmap:default_name=* { name '${mkgmap:default_name}' } +mkgmap:display_name=* { addlabel '${mkgmap:display_name|subst:;=>/}' } + +mkgmap:label:1!=* & ref=* { addlabel '${ref|part:;:1}' } +mkgmap:label:1!=* & int_ref=* { addlabel '${int_ref|part:;:1}' } +mkgmap:label:1!=* & nat_ref=* { addlabel '${nat_ref|part:;:1}' } +mkgmap:label:1!=* & reg_ref=* { addlabel '${reg_ref|part:;:1}' } + +ref=* { addlabel '${ref|part:;:1}'; addlabel '${ref|part:;:2}'; addlabel '${ref|part:;:3}' } +int_ref=* { addlabel '${int_ref|part:;:1}'; addlabel '${int_ref|part:;:2}'; addlabel '${int_ref|part:;:3}' } +nat_ref=* { addlabel '${nat_ref|part:;:1}'; addlabel '${nat_ref|part:;:2}'; addlabel '${nat_ref|part:;:3}' } +reg_ref=* { addlabel '${reg_ref|part:;:1}'; addlabel '${reg_ref|part:;:2}'; addlabel '${reg_ref|part:;:3}' } + +highway=* & mkgmap:label:1=* & mkgmap:street!=* { add mkgmap:street='${mkgmap:label:1}' } + +toll=* { set mkgmap:toll='${toll}' } + +# new AccessMapping("access", RoadNetwork.NO_MAX), // must be first in list +# new AccessMapping("bicycle", RoadNetwork.NO_BIKE), +# new AccessMapping("carpool", RoadNetwork.NO_CARPOOL), +# new AccessMapping("foot", RoadNetwork.NO_FOOT), +# new AccessMapping("hgv", RoadNetwork.NO_TRUCK), +# new AccessMapping("motorcar", RoadNetwork.NO_CAR), +# new AccessMapping("motorcycle", RoadNetwork.NO_CAR), +# new AccessMapping("psv", RoadNetwork.NO_BUS), +# new AccessMapping("taxi", RoadNetwork.NO_TAXI), +# new AccessMapping("emergency", RoadNetwork.NO_EMERGENCY), +# new AccessMapping("delivery", RoadNetwork.NO_DELIVERY), +# new AccessMapping("goods", RoadNetwork.NO_DELIVERY), +# for (AccessMapping anAccessMap : accessMap) { +# int index = anAccessMap.index; +# String type = anAccessMap.type; +# String accessTagValue = way.getTag(type); +# if (accessTagValue == null) +# continue; +# if (accessExplicitlyDenied(accessTagValue)) { +# if (index == RoadNetwork.NO_MAX) { +# // everything is denied access +# for (int j = 1; j < accessMap.length; ++j) +# noAccess[accessMap[j].index] = true; +# } else { +# // just the specific vehicle class is denied +# // access +# noAccess[index] = true; +# } +# log.debug(type + " is not allowed in " + highwayType + " " + debugWayName); +# } else if (accessExplicitlyAllowed(accessTagValue)) { +# if (index == RoadNetwork.NO_MAX) { +# // everything is allowed access +# for (int j = 1; j < accessMap.length; ++j) +# noAccess[accessMap[j].index] = false; +# } else { +# // just the specific vehicle class is allowed +# // access +# noAccess[index] = false; +# } +# log.debug(type + " is allowed in " + highwayType + " " + debugWayName); +# } +# else if (accessTagValue.equalsIgnoreCase("destination")) { +# if (type.equals("motorcar") || +# type.equals("motorcycle")) { +# road.setNoThroughRouting(); +# } else if (type.equals("access")) { +# log.info("access=destination only affects routing for cars in " + highwayType + " " + debugWayName); +# road.setNoThroughRouting(); +# } else { +# log.info(type + "=destination ignored in " + highwayType + " " + debugWayName); +# } +# } else if (accessTagValue.equalsIgnoreCase("unknown")) { +# // implicitly allow access +# } else { +# log.info("Ignoring unsupported access tag value " + type + "=" + accessTagValue + " in " + highwayType + " " + debugWayName); +# } +# } +# + +# mkgmap:carpool tag is set but before new access handling was introduced it had a +# different meaning. Copy it to keep its value which is handled in the old behaviour last. +mkgmap:carpool=* { set mkgmap:carpool_compat='${mkgmap:carpool}'; delete mkgmap:carpool } + +access=private | access=no { setaccess no; set mkgmap:carpool=yes; } +access=yes | access=permissive | access=official | access=designated { setaccess yes; set mkgmap:carpool=no; } +access=destination { set mkgmap:throughroute=no } + +bicycle=private | bicycle=no { set mkgmap:bicycle=no; } +bicycle=yes | bicycle=permissive | bicycle=official | bicycle=designated { set mkgmap:bicycle=yes; } + +carpool=private | carpool=no { set mkgmap:carpool=no; } +carpool=yes | carpool=permissive | carpool=official | carpool=designated { set mkgmap:carpool=yes; } + +foot=private | foot=no { set mkgmap:foot=no; } +foot=yes | foot=permissive | foot=official | foot=designated { set mkgmap:foot=yes; } + +hgv=private | hgv=no { set mkgmap:truck=no; } +hgv=yes | hgv=permissive | hgv=official | hgv=designated { set mkgmap:truck=yes; } + +motorcar=private | motorcar=no { set mkgmap:car=no; } +motorcar=yes | motorcar=permissive | motorcar=official | motorcar=designated { set mkgmap:car=yes; } +motorcar=destination { set mkgmap:throughroute=no } + +motorcycle=private | motorcycle=no { set mkgmap:car=no; } +motorcycle=yes | motorcycle=permissive | motorcycle=official | motorcycle=designated { set mkgmap:car=yes; } +motorcycle=destination { set mkgmap:throughroute=no } + +psv=private | psv=no { set mkgmap:bus=no; } +psv=yes | psv=permissive | psv=official | psv=designated { set mkgmap:bus=yes; } + +taxi=private | taxi=no { set mkgmap:taxi=no; } +taxi=yes | taxi=permissive | taxi=official | taxi=designated { set mkgmap:taxi=yes; } + +emergency=private | emergency=no { set mkgmap:emergency=no; } +emergency=yes | emergency=permissive | emergency=official | emergency=designated { set mkgmap:emergency=yes; } + +delivery=private | delivery=no { set mkgmap:delivery=no; } +delivery=yes | delivery=permissive | delivery=official | delivery=designated { set mkgmap:delivery=yes; } + +goods=private | goods=no { set mkgmap:delivery=no; } +goods=yes | goods=permissive | goods=official | goods=designated { set mkgmap:delivery=yes; } + +# Reintroduce the old carpool handling which allows access only for bus and emergency plus setting the carpool bit +mkgmap:carpool_compat=yes { setaccess no; set mkgmap:bus=yes; set mkgmap:emergency=yes; set mkgmap:carpool=yes } + diff --git a/mkgmap/examples/styles/default/inc/compat_points b/mkgmap/examples/styles/default/inc/compat_points new file mode 100644 index 0000000..e6d75fe --- /dev/null +++ b/mkgmap/examples/styles/default/inc/compat_points @@ -0,0 +1,13 @@ +name=* { name '${name}' } +mkgmap:default_name=* { name '${mkgmap:default_name}' } +mkgmap:display_name=* { addlabel '${mkgmap:display_name|subst:;=>/}' } + +mkgmap:label:1!=* & ref=* { addlabel '${ref|part:;:1}' } +mkgmap:label:1!=* & int_ref=* { addlabel '${int_ref|part:;:1}' } +mkgmap:label:1!=* & nat_ref=* { addlabel '${nat_ref|part:;:1}' } +mkgmap:label:1!=* & reg_ref=* { addlabel '${reg_ref|part:;:1}' } + +ref=* { addlabel '${ref|part:;:1}'; addlabel '${ref|part:;:2}'; addlabel '${ref|part:;:3}' } +int_ref=* { addlabel '${int_ref|part:;:1}'; addlabel '${int_ref|part:;:2}'; addlabel '${int_ref|part:;:3}' } +nat_ref=* { addlabel '${nat_ref|part:;:1}'; addlabel '${nat_ref|part:;:2}'; addlabel '${nat_ref|part:;:3}' } +reg_ref=* { addlabel '${reg_ref|part:;:1}'; addlabel '${reg_ref|part:;:2}'; addlabel '${reg_ref|part:;:3}' } diff --git a/mkgmap/examples/styles/default/inc/compat_polygons b/mkgmap/examples/styles/default/inc/compat_polygons new file mode 100644 index 0000000..e6d75fe --- /dev/null +++ b/mkgmap/examples/styles/default/inc/compat_polygons @@ -0,0 +1,13 @@ +name=* { name '${name}' } +mkgmap:default_name=* { name '${mkgmap:default_name}' } +mkgmap:display_name=* { addlabel '${mkgmap:display_name|subst:;=>/}' } + +mkgmap:label:1!=* & ref=* { addlabel '${ref|part:;:1}' } +mkgmap:label:1!=* & int_ref=* { addlabel '${int_ref|part:;:1}' } +mkgmap:label:1!=* & nat_ref=* { addlabel '${nat_ref|part:;:1}' } +mkgmap:label:1!=* & reg_ref=* { addlabel '${reg_ref|part:;:1}' } + +ref=* { addlabel '${ref|part:;:1}'; addlabel '${ref|part:;:2}'; addlabel '${ref|part:;:3}' } +int_ref=* { addlabel '${int_ref|part:;:1}'; addlabel '${int_ref|part:;:2}'; addlabel '${int_ref|part:;:3}' } +nat_ref=* { addlabel '${nat_ref|part:;:1}'; addlabel '${nat_ref|part:;:2}'; addlabel '${nat_ref|part:;:3}' } +reg_ref=* { addlabel '${reg_ref|part:;:1}'; addlabel '${reg_ref|part:;:2}'; addlabel '${reg_ref|part:;:3}' } diff --git a/mkgmap/examples/styles/default/inc/contour_lines b/mkgmap/examples/styles/default/inc/contour_lines new file mode 100644 index 0000000..6c09fad --- /dev/null +++ b/mkgmap/examples/styles/default/inc/contour_lines @@ -0,0 +1,13 @@ +# Contours take their name from the elevation setting. +contour=elevation & contour_ext=elevation_minor + { name '${ele|conv:m=>ft}'; } + [0x20 resolution 23] +contour=elevation & contour_ext=elevation_medium + { name '${ele|conv:m=>ft}'; } + [0x21 resolution 21] +contour=elevation & contour_ext=elevation_major + { name '${ele|conv:m=>ft}'; } + [0x22 resolution 20] +contour=elevation | contour_ext=elevation + { name '${ele|conv:m=>ft}'; } + [0x21 resolution 20] diff --git a/mkgmap/examples/styles/default/inc/name b/mkgmap/examples/styles/default/inc/name new file mode 100644 index 0000000..419e03f --- /dev/null +++ b/mkgmap/examples/styles/default/inc/name @@ -0,0 +1,49 @@ +# Rules for naming objects, based on the following tags: +# name, brand, operator, ref + +# delete FIXME values (they should be better used in maintenance maps) +# better use option --ignore-fixme-values +ref ~ '(?i)fix[ _]?+me' { delete ref; } +operator ~ '(?i)fix[ _]?+me' { delete operator; } +brand ~ '(?i)fix[ _]?+me' { delete brand; } +name ~ '(?i)fix[ _]?+me' { delete name; } + +# delete duplicate names +operator=${brand} { delete operator; } +operator=${name} { delete operator; } +brand=${name} { delete brand; } + +# None of operator, brand given +ref=* & (operator!=* & brand!=*) & (highway=bus_stop | railway=tram_stop | railway=halt | railway=station) { name '${name} ${ref}' | '${ref}' } +ref=* & (operator!=* & brand!=*) { name '${ref} ${name}' | '${ref}' } + +# Both operator and brand given +operator=* & brand=* { + name '${brand}: ${ref} ${name} (${operator})' | + '${brand} ${ref} (${operator})' | + '${brand}: ${name} (${operator})' | + '${brand} (${operator})' +} + +# One of operator or brand given +operator=* & brand!=* & (highway=bus_stop | railway=tram_stop | railway=halt | railway=station) { + name '${name} ${ref} ${operator}' | + '${name} ${operator}' | + '${ref} ${operator}' | + '${operator}' +} + +operator=* & brand!=* { + name '${operator}: ${ref} ${name}' | + '${operator}: ${name}' | + '${operator}: ${ref}' | + '${operator}' | + '${ref}' +} +brand=* & operator!=* { + name '${brand}: ${ref} ${name}' | + '${brand}: ${name}' | + '${brand}: ${ref}' | + '${brand}' | + '${ref}' +} diff --git a/mkgmap/examples/styles/default/inc/roadspeed b/mkgmap/examples/styles/default/inc/roadspeed new file mode 100644 index 0000000..0dfc822 --- /dev/null +++ b/mkgmap/examples/styles/default/inc/roadspeed @@ -0,0 +1,53 @@ +# +# Sets the maximum road speed based on the maxspeed tag. +# In case mkgmap:road-speed-max is set the element road_speed is limited. +# +# road_speed classification: +# road_speed | highest speed +# 7 | No speed limit +# 6 | 70 mph / 110 km/h +# 5 | 60 mph / 90 km/h +# 4 | 50 mph / 80 km/h +# 3 | 35 mph / 60 km/h +# 2 | 25 mph / 40 km/h +# 1 | 15 mph / 20 km/h +# 0 | 3 mph / 5 km/h +# + +maxspeed:advisory=* {set maxspeed='${maxspeed:advisory}'} +#maxspeed:practial=* {set maxspeed='${maxspeed:practial}'} +# maxspeed:practial is disabled here in the default style because verifiability of it is disputed. +# see: https://wiki.openstreetmap.org/wiki/Key:maxspeed:practical + +maxspeed=walk { set maxspeed=10 } +maxspeed~'.*:living_street' { set maxspeed=10 } + +maxspeed=RU:urban { set maxspeed=60 } +maxspeed=UA:urban { set maxspeed=60 } +maxspeed~'.*:urban' { set maxspeed=50 } + +maxspeed=AT:rural { set maxspeed=100 } +maxspeed=DE:rural { set maxspeed=100 } +maxspeed~'.*:rural' { set maxspeed=90 } + +maxspeed~'.*:trunk' { set maxspeed=100 } +maxspeed~'.*:motorway' { set maxspeed=130 } + +# delete maxspeed if we still cannot convert it to km/h +maxspeed=* & maxspeedkmh()!=* { delete maxspeed } + +maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 10 { set mkgmap:road-speed-max = 0 } +maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 25 { set mkgmap:road-speed-max = 1 } +maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 45 { set mkgmap:road-speed-max = 2 } +maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 60 { set mkgmap:road-speed-max = 3 } +maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 85 { set mkgmap:road-speed-max = 4 } +maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 100 { set mkgmap:road-speed-max = 5 } +maxspeed=* & mkgmap:road-speed-max!=* & maxspeedkmh() <= 120 { set mkgmap:road-speed-max = 6 } +# mkgmap:road-speed-max = 7 has no effect +#maxspeed=* & mkgmap:road-speed-max!=* { set mkgmap:road-speed-max = 7 } + +# Experiments with Garmin devices have deduced 7/unlimited speed to be device dependent; values of 112 & +# 132 km/h (70, 82 mph) seen: http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2014q3/021620.html +# The following rule limits it for all countries except Germany. A few other roads elsewhere are unlimited +# and they would be expected to have a maxspeed:* tag that will override this. +highway=motorway & maxspeed!=* & mkgmap:road-speed-max!=* & mkgmap:country!=DEU {set mkgmap:road-speed-max=6} diff --git a/mkgmap/examples/styles/default/info b/mkgmap/examples/styles/default/info new file mode 100644 index 0000000..3dbab5f --- /dev/null +++ b/mkgmap/examples/styles/default/info @@ -0,0 +1,20 @@ +# +# This file contains information about the style. +# It is completely optional. +# + + +# A short one line description of the style +# +summary: The default style + +# Version of the style itself +# +version=1.0 + +# A longer description of the style. +description { +The default style. This is a heavyweight style that is +designed for use when mapping and especially in lightly covered +areas. +} diff --git a/mkgmap/examples/styles/default/lines b/mkgmap/examples/styles/default/lines new file mode 100644 index 0000000..a188ead --- /dev/null +++ b/mkgmap/examples/styles/default/lines @@ -0,0 +1,301 @@ +# ------------------------------------------------------------------- +# This is the default mkgmap style file for converting OSM ways +# into Garmin lines. +# Any line prefaced with # is a comment and will not be applied. +# Each line is a rule, of the generalised format: +# OSM_tag(s)_to_match [Garmin_type_code resolution] +# See http://wiki.openstreetmap.org/wiki/Mkgmap/help/style_rules +# and http://wiki.openstreetmap.org/wiki/Mkgmap/help/Custom_styles +# for more information. + +addr:housenumber=* {set mkgmap:execute_finalize_rules=true} + +abandoned=yes {deletealltags} # old, depreciated, ambiguous, method of handling abandoned + +# do these as lines regardless of being closed unless explicity marked as area. continue in case also a highway +aeroway=runway & area!=yes {name '${ref}'} [0x27 resolution 20 continue] +(aeroway=taxiway | aeroway=taxilane) & area!=yes {name '${ref}'} [0x27 resolution 24 continue] + +# Assign the street name for house number search +highway=* & name=* {set mkgmap:street='${name}'} + +# Mark highways with the toll flag +highway=* & (toll=yes | toll=true) {set mkgmap:toll=yes} + +# Hide proposed ways +highway=proposed | highway=proposal | highway=planned | highway~'.*proposed.*' {delete highway; delete junction} +# Hide removed ways +highway=razed | highway=dismantled | highway=disused | highway=demolished {delete highway; delete junction} +# Hide abandoned ways. Abandoned highways have some evidence of their former existence but are no longer used. These +# abandoned highways could be useful in topographical maps. +# https://wiki.openstreetmap.org/wiki/Key:abandoned: +(abandoned:highway=* & (highway!=* | highway=yes)) | highway=abandoned {delete highway; delete junction} +# Hide other non-existent ways +highway=unbuilt | highway=neverbuilt | highway=rejected | highway~'x-.*' {delete highway; delete junction} +# Remove highway tag from ways which are not suitable for routing +highway=traffic_signals | highway=junction | highway=island | highway=centre_line | highway=traffic_island | highway=stopline | + highway=bus_stop | highway=bus_guideway | highway=emergency_access_point | highway=ohm:military:Trench + {delete highway} +highway=via_ferrata {delete highway} # this shouldn't show as routable on default map: path only for specialists +highway=piste | highway=ski {delete highway} +highway=no | highway=none {delete highway} + +# Disable dead-end-checks for unaccessible oneways +highway=* & oneway=yes & (access=private | access=no) {add mkgmap:dead-end-check=false} +# Validation-like checks (uncomment to enable) +#highway=motorway_link & oneway!=yes & oneway!=no {echo "motorway_link lacks oneway"} +highway=motorway | highway=motorway_link {add oneway=yes; add mkgmap:numbers=false} + +# start of rules for process-exits and process-destination options +# which may add info to a part of these highway=*_link roads: +# motorway_link, trunk_link, primary_link, secondary_link, tertiary_link +# build destination hint +mkgmap:dest_hint=* { + set tmp:dest_hint='${destination:ref|subst: =>} ${mkgmap:dest_hint|subst:;=> |subst:/=> }' | + '${ref|subst: =>} ${mkgmap:dest_hint|subst:;=> |subst:/=> }' | + '${mkgmap:dest_hint|subst:;=> |subst:/=> }'; + } +# build exit hint +mkgmap:exit_hint=true { + set tmp:exit_hint='Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_name}' | + 'Exit ${mkgmap:exit_hint_ref} ${mkgmap:exit_hint_exit_to}' | + 'Exit ${mkgmap:exit_hint_exit_to}' | + 'Exit ${mkgmap:exit_hint_name}' | + 'Exit ${mkgmap:exit_hint_ref}'; + } +# use destination hint and/or exit hint to build name +mkgmap:exit_hint=true | mkgmap:dest_hint=* {name '${tmp:exit_hint} ${tmp:dest_hint}' | '${tmp:dest_hint}' | '${tmp:exit_hint}'} +# end of rules for process-exits and process-destination options + +# Flag paved roads +highway=* & (surface=asphalt | surface=paved | surface=sett | + surface=concrete | surface=concrete:lanes | surface=concrete:plates | + surface=paving_stones | surface=cobblestone | + surface=cobblestone:flattened | surface=metal | surface=wood) + {set mkgmap:unpaved=0} +highway=* & tracktype=grade1 & surface!=* {set mkgmap:unpaved=0} + +# Flag unpaved roads. +highway=* & mkgmap:unpaved!=0 & ( + surface=* | + mtb:scale=* | + tracktype~'grade[2-6]') + {add mkgmap:unpaved=1} +highway=* & ( + mtb:scale~'[2-6].' | + sac_scale~'.*(mountain|alpine)_hiking' | + sport=via_ferrata) + {set mkgmap:unpaved=1} +(highway=bridleway | highway=path | highway=track) & mkgmap:unpaved!=0 {add mkgmap:unpaved=1} +(highway=unsurfaced | highway=via_ferrata) {set mkgmap:unpaved=1} + +highway=* & mkgmap:unpaved!=1 & smoothness~'.*(bad|horrible|impassable)' {add mkgmap:road-speed=-2} + +# Good ways without relation +highway=* & mkgmap:fast_road!=* & (int_ref=* | network=e-road | network=AH | network=TAH | network=US:I | network=US:US) + {add mkgmap:fast_road=yes} +# Not best for car routing +highway=* & (access=hov | hov=designated | oneway=reversible) + {set mkgmap:road-class=-2; set mkgmap:road-speed=-2; delete mkgmap:fast_road} + +# convert some specific to generic with restrictions (platform is in a bus station) +highway=steps | highway=corridor | highway=stepping_stones | highway=elevator | highway=escalator | highway=platform + {set highway=footway; add bicycle=no} +# virtual seems to be a way across a pedestrian area +highway=crossing | highway=virtual + {set highway=path} # following logic may change + +# Convert generic path to most specific +highway=path & (designation=permissive_bridleway | designation=public_bridleway) + {set highway=bridleway; add foot=yes} +highway=path & (designation=permissive_footpath | designation=public_footpath) + {set highway=footway; add foot=designated} +highway=path & snowplowing!=no & (bicycle=designated | bicycle=permissive | bicycle=official | cycleway=lane) + {set highway=cycleway; add foot=yes} +highway=path & foot=designated + {set highway=footway} + +leisure=track & area!=yes {name '${name} (${sport})' | '${sport}'} [0x30 resolution 22] +man_made=pier | man_made=piste:halfpipe {add highway=footway; name '${ref} ${name}' | '${ref}' | '${name}'} + +man_made=breakwater & is_closed()=false & mkgmap:mp_created!=true [0x17 resolution 22 default_name 'Breakwater'] + +# Roundabouts +junction=roundabout & (highway=trunk | highway=trunk_link) [0x0c road_class=4 road_speed=2 resolution 24 continue] +junction=roundabout & (highway=trunk | highway=trunk_link) [0x10801 resolution 18] + +junction=roundabout & (highway=primary | highway=primary_link) & mkgmap:fast_road=yes [0x0c road_class=4 road_speed=2 resolution 24 continue] +junction=roundabout & (highway=primary | highway=primary_link) & mkgmap:fast_road=yes [0x10802 resolution 19] + +junction=roundabout & (highway=primary | highway=primary_link) [0x0c road_class=3 road_speed=2 resolution 24 continue] +junction=roundabout & (highway=primary | highway=primary_link) [0x10802 resolution 19] + +junction=roundabout & (highway=secondary | highway=secondary_link) & mkgmap:fast_road=yes [0x0c road_class=3 road_speed=2 resolution 24 continue] +junction=roundabout & (highway=secondary | highway=secondary_link) & mkgmap:fast_road=yes [0x10803 resolution 20] + +junction=roundabout & (highway=secondary | highway=secondary_link) [0x0c road_class=2 road_speed=2 resolution 24 continue] +junction=roundabout & (highway=secondary | highway=secondary_link) [0x10803 resolution 20] + +junction=roundabout & (highway=tertiary | highway=tertiary_link) [0x0c road_class=1 road_speed=1 resolution 24 continue] +junction=roundabout & (highway=tertiary | highway=tertiary_link) [0x10804 resolution 21] + +junction=roundabout & (highway=unclassified | highway=minor) [0x0c road_class=1 road_speed=1 resolution 21] +junction=roundabout & highway=* [0x0c road_class=0 road_speed=1 resolution 22] + +# Ways that may or may not be useable + +# Treat ways under construction almost as highway=path, see also extra rule in inc/access +highway=construction {add mkgmap:dead-end-check=false} [0x16 road_class=0 road_speed=0 resolution 23] + +# Lower the road speed of ways under some construction. +highway=* & construction=* & maxspeed!=* {add mkgmap:road-speed='-1'} +# Lower the road speed of disused ways. +highway=* & disused=yes & maxspeed!=* {add mkgmap:road-speed='-2'} + +# Ways sorted roughly by descending order of class +highway=motorway & mkgmap:fast_road=yes [0x01 road_class=4 road_speed=7 resolution 14] +highway=motorway [0x01 road_class=4 road_speed=7 resolution 15] +highway=motorway_link & (mkgmap:exit_hint=true | mkgmap:dest_hint=*) [0x0b road_class=4 road_speed=2 resolution 20] +highway=motorway_link [0x09 road_class=4 road_speed=2 resolution 20] + +highway=trunk & mkgmap:fast_road=yes [0x02 road_class=4 road_speed=5 resolution 15] +highway=trunk [0x02 road_class=4 road_speed=5 resolution 18] +highway=trunk_link & (mkgmap:exit_hint=true | mkgmap:dest_hint=*) [0x0b road_class=4 road_speed=2 resolution 20] +highway=trunk_link [0x09 road_class=4 road_speed=2 resolution 20] +highway=* & motorroad=yes [0x02 road_class=4 road_speed=4 resolution 18] +highway=primary & mkgmap:fast_road=yes [0x03 road_class=4 road_speed=4 resolution 17] +highway=primary [0x03 road_class=3 road_speed=4 resolution 19] +highway=primary_link & (mkgmap:exit_hint=true | mkgmap:dest_hint=*) & mkgmap:fast_road=yes [0x0b road_class=4 road_speed=1 resolution 21] +highway=primary_link & (mkgmap:exit_hint=true | mkgmap:dest_hint=*) [0x0b road_class=3 road_speed=1 resolution 21] +highway=primary_link & mkgmap:fast_road=yes [0x08 road_class=4 road_speed=1 resolution 21] +highway=primary_link [0x08 road_class=3 road_speed=1 resolution 21] +highway=secondary & mkgmap:fast_road=yes [0x04 road_class=3 road_speed=3 resolution 18] +highway=secondary [0x04 road_class=2 road_speed=3 resolution 20] +highway=secondary_link & mkgmap:fast_road=yes [0x08 road_class=3 road_speed=1 resolution 22] +highway=secondary_link [0x08 road_class=2 road_speed=1 resolution 22] +highway=tertiary [0x05 road_class=1 road_speed=3 resolution 20] +highway=tertiary_link [0x08 road_class=1 road_speed=1 resolution 22] +highway=minor [0x06 road_class=1 road_speed=3 resolution 21] +highway=unclassified [0x06 road_class=0 road_speed=3 resolution 21] + +highway=yes {set highway=footway} # fix common bad tagging - little bits of path to join other routable ways + +# Some countries allow, others disallow bicycling on pedestrian streets. See inc/access_country + +# highway=pedestrian could be closed polygon to represent a 'square', add route regardless and continue for polygon processing +highway=pedestrian {set tmp:stopMopUp=yes} [0x16 road_class=0 road_speed=0 resolution 22 continue with_actions] + +highway=living_street [0x06 road_class=0 road_speed=1 resolution 22] +highway=residential [0x06 road_class=0 road_speed=2 resolution 22] +highway=bridleway [0x07 road_class=0 road_speed=0 resolution 23] +highway=byway [0x16 road_class=0 road_speed=0 resolution 23] + +highway=driveway {set highway=service; add service=driveway} # fix common bad tagging +highway=access {set highway=service} # fix common bad tagging +highway=access_ramp {set highway=footway} # proposed + +highway=service & service=parking_aisle [0x07 road_class=0 road_speed=1 resolution 24] +highway=service & (service=alley | service=driveway) [0x07 road_class=0 road_speed=0 resolution 23] +highway=service [0x07 road_class=0 road_speed=2 resolution 22] + +highway=cycleway [0x11 road_class=0 road_speed=1 resolution 23] + +# highway=footway is often an area as well, continue for polygon processing +highway=footway {set tmp:stopMopUp=yes} [0x16 road_class=0 road_speed=0 resolution 23 continue with_actions] + +highway=trail {set highway=path; add bicycle=no} # fix common bad tagging + +highway=path [0x16 road_class=0 road_speed=0 resolution 23] +highway=track [0x0a road_class=0 road_speed=1 resolution 22] +highway=unsurfaced [0x0a road_class=0 road_speed=1 resolution 22] +highway=road {add mkgmap:dead-end-check=false} [0x06 road_class=0 road_speed=1 resolution 22] + +# handle some rarer bits of road. Do just in case joining paths or bits of one-way roads +highway=turning_loop | highway=turning_circle | highway=layby | highway=escape | highway=emergency_bay + [0x07 road_class=0 road_speed=0 resolution 24] + +# These are too specialized to have routing, so shouldn't drop into the mop-up, but, maybe needing TYP, can be shown on the map +highway=raceway | highway=gallop {add name='${highway}'} [0x30 resolution 23] + +# Don't have routable for either of these: +# most 'rest_area' don't connect to the main road +# 'services' is normally a big area that covers the whole complex +highway=rest_area | highway=services {set tmp:stopMopUp=yes} + +# Mop up any unrecognised highway types +#highway=* & tmp:stopMopUp!=yes {echotags 'mop-up highway'} # mostly actual road names +# It is considered best not to process unrecognised highway types +#highway=* & area!=yes & tmp:stopMopUp!=yes [0x07 road_class=0 road_speed=0 resolution 23] + +# Showing the coastline adds almost nothing visuals of the map, so it's disabled: +#natural=coastline [0x15 resolution 12] +power=line [0x29 resolution 21] + +railway=platform & tmp:stopMopUp!=yes [0x16 road_class=0 road_speed=0 resolution 23] +# Railway lines, note that many devices display type 0x14 only at resolution 24 +(railway=rail | railway=tram | railway=disused | railway=subway | railway=narrow_gauge | railway=light_rail | railway=preserved) & !(tunnel=yes) + [0x14 resolution 22] + +(man_made=cable | (man_made=* & man_made~'.*pipe.*')) & area!=yes & tunnel!=yes & location!=underground + {name '${name} (${operator})' | '${name}' | '${operator}'} [0x28 resolution 23] + +# The following boundary styles are after the highway rules because ways +# are frequently tagged with both and we want the highway to take priority. +boundary=administrative {name '${mkgmap:boundary_name}'} +boundary=administrative & admin_level<3 [0x1e resolution 12] +boundary=administrative & admin_level<5 [0x1d resolution 19] +boundary=administrative & admin_level<7 [0x1c resolution 21] +boundary=administrative & admin_level<9 [0x1c resolution 22] +boundary=administrative [0x1c resolution 22] +boundary=national [0x1e resolution 17] +boundary=political [0x1c resolution 19] + +barrier=wall | barrier=fence | barrier=hedge | barrier=ditch {add name='${barrier|subst:"_=> "}'} [0x17 resolution 24] + +route=ferry & (toll=no | toll=false) {set mkgmap:toll=no} +route=ferry {set mkgmap:numbers=false; set mkgmap:ferry=1; add mkgmap:toll=yes} +route=ferry & (motorcar=no | motor_vehicle=no) [0x1b road_class=0 road_speed=0 resolution 23] +route=ferry [0x1a road_class=3 road_speed=0 resolution 19] + +(waterway=river | waterway=stream | waterway=rapids | waterway=waterfall) {add mkgmap:has-direction=true} +(waterway=river | waterway=canal) & intermittent=yes [0x26 resolution 20] +(waterway=stream | waterway=drain) & intermittent=yes [0x26 resolution 22] + +waterway=canal [0x1f resolution 21] +waterway=river [0x1f resolution 18] +waterway=rapids|waterway=waterfall [0x1f resolution 22] +waterway=stream | waterway=drain [0x18 resolution 22] + +# mop up any remaining water lines +waterway=* & waterway!=no & (area=no | (is_closed()=false & mkgmap:mp_created!=true)) + {add name='${waterway|subst:"_=> "}'} [0x26 resolution 24] + +include 'inc/contour_lines'; + + +# The finalizer section is executed for each element when a rule with an element type matches + +include 'inc/address'; +# calculate the road speed based on maxspeed tag +include 'inc/roadspeed'; +# calculate the access rules +include 'inc/access'; + +#limit artificial cycleways to resolution 24 +mkgmap:synthesised=yes & mkgmap:bicycle=yes {set mkgmap:highest-resolution-only=true} + +# don't add house numbers to unnamed or artifical bicycle ways +mkgmap:bicycle=yes & (mkgmap:foot=no & mkgmap:car=no & mkgmap:street!=* | mkgmap:synthesised=yes) {set mkgmap:numbers=false} + +# Display highway shield for mayor roads if they have a ref and make them searchable by their name +(highway=motorway | highway=trunk) & ref=* {name '${ref|highway-symbol:hbox}'; addlabel '${name}'} +highway=primary & ref=* {name '${ref|highway-symbol:box}' ; addlabel '${name}'} +(highway=secondary | highway=tertiary) & ref=* {name '${ref|highway-symbol:oval}'; addlabel '${name}'} + +name=* {name '${name}'} +highway=* & ref=* & highway!=motorway & highway!=trunk & highway!=primary & highway!=secondary & highway!=tertiary + {addlabel '${ref}'} + +highway=* & int_ref=* {addlabel '${int_ref}'} +highway=* & nat_ref=* {addlabel '${nat_ref}'} +highway=* & reg_ref=* {addlabel '${reg_ref}'} diff --git a/mkgmap/examples/styles/default/options b/mkgmap/examples/styles/default/options new file mode 100644 index 0000000..d069fef --- /dev/null +++ b/mkgmap/examples/styles/default/options @@ -0,0 +1,14 @@ + +# +# Style options. +# + +# The levels specification for this style +# +levels = 0:24, 1:22, 2:20, 3:18 +# More levels may make zooming smoother, but it will generate larger map tiles. +#levels = 0:24, 1:22, 2:21, 3:20, 4:19, 5:18, 6:16 + +overview-levels = 4:17, 5:16, 6:15, 7:14, 8:13 +#extra-used-tags= + diff --git a/mkgmap/examples/styles/default/points b/mkgmap/examples/styles/default/points new file mode 100644 index 0000000..9c9dfa2 --- /dev/null +++ b/mkgmap/examples/styles/default/points @@ -0,0 +1,397 @@ +# ------------------------------------------------------------------- +# This is the default mkgmap style file for converting OSM nodes +# into Garmin POIs. +# Any line prefaced with # is a comment and will not be applied. +# Each line is a rule, of the generalised format: +# OSM_tag(s)_to_match [Garmin_type_code resolution] +# See http://wiki.openstreetmap.org/wiki/Mkgmap/help/style_rules +# and http://wiki.openstreetmap.org/wiki/Mkgmap/help/Custom_styles +# for more information. + +addr:housenumber=* {set mkgmap:execute_finalize_rules=true} + +# impose routing/speed restrictions due to access/barrier. See option --link-pois-to-ways + +vehicle=* { + add bicycle='${vehicle}'; + add motor_vehicle='${vehicle}'; + } +motor_vehicle=* { + add motorcar='${motor_vehicle}'; + add goods='${motor_vehicle}'; + add hgv='${motor_vehicle}'; + add psv='${motor_vehicle}'; + add emergency='${motor_vehicle}'; + } +psv=* { + add taxi='${psv}'; + add bus='${psv}'; + } + +barrier=* & bicycle=* {set mkgmap:bicycle = '${bicycle|subst:private=>no}'} +barrier=* & foot=* {set mkgmap:foot = '${foot|subst:private=>no}'} +barrier=* & hgv=* {set mkgmap:truck = '${hgv|subst:private=>no}'} +barrier=* & motorcar=* {set mkgmap:car = '${motorcar|subst:private=>no}'} +barrier=* & bus=* {set mkgmap:bus = '${bus|subst:private=>no}'} +barrier=* & taxi=* {set mkgmap:taxi = '${taxi|subst:private=>no}'} +barrier=* & emergency=* {set mkgmap:emergency='${emergency|subst:private=>no}'} +barrier=* & goods=* {set mkgmap:delivery = '${goods|subst:private=>no}'} + +barrier=bollard | barrier=block { + add mkgmap:car=no; + add mkgmap:delivery=no; + add mkgmap:truck=no; + add mkgmap:bus=no; + add mkgmap:taxi=no; + add mkgmap:emergency=no; + } +barrier=cycle_barrier | barrier=kissing_gate | barrier=stile { + add mkgmap:bicycle=no; + add mkgmap:car=no; + add mkgmap:delivery=no; + add mkgmap:truck=no; + add mkgmap:bus=no; + add mkgmap:taxi=no; + add mkgmap:emergency=no; + set mkgmap:road-speed=0; + } +barrier=bus_trap { + add mkgmap:car=no; + add mkgmap:delivery=no; + add mkgmap:truck=no; + add mkgmap:taxi=no; + } +barrier=gate | barrier=lift_gate | barrier=swing_gate { + set mkgmap:road-speed=0; + } +barrier=* {add mkgmap:road-speed=1} +barrier=* & access=* {addaccess '${access|subst:private=>no}'} + +internet_access=yes {name 'Internet ${name}' | 'Internet'} [0x2f12 resolution 24 continue] +internet_access=* & internet_access!=no & internet_access!=yes + {name 'Internet(${internet_access}) ${name}' | 'Internet(${internet_access})'} [0x2f12 resolution 24 continue] + +(public_transport=platform | highway=bus_stop | railway=tram_stop | railway=halt | railway=station) + & (ref=* | route_ref=*) + {set ref='${ref|def:}(${route_ref})'} +(public_transport=platform | highway=bus_stop | railway=tram_stop | railway=halt | railway=station) + & lit=yes & (shelter=yes | covered=yes) + {set ref='${ref|def:}*'} +(public_transport=platform | highway=bus_stop | railway=tram_stop | railway=halt | railway=station) + & lit!=yes & (shelter=yes | covered=yes) + {set ref='${ref|def:}+'} +(public_transport=platform | highway=bus_stop | railway=tram_stop | railway=halt | railway=station) + & (shelter=no | covered=no) + {set ref='${ref|def:}-'} + +include 'inc/name'; + +place=city & population > 999999 & name=* [0x0100 resolution 12] +place=city & population > 799999 & name=* [0x0200 resolution 14] +place=city & population > 399999 & name=* [0x0300 resolution 15] +place=city & population > 299999 & name=* [0x0400 resolution 16] +place=city & population > 199999 & name=* [0x0500 resolution 16] +place=city & population > 99999 & name=* [0x0600 resolution 17] +place=city & population > 49999 & name=* [0x0700 resolution 17] +place=city & population > 9999 & name=* [0x0800 resolution 18] + +place=city & population > 0 & name=* [0x0800 resolution 18] +place=city & name=* [0x0700 resolution 18] + +place=town & population > 69999 & name=* [0x0600 resolution 17] +place=town & population > 19999 & name=* [0x0700 resolution 18] +place=town & population > 9999 & name=* [0x0800 resolution 19] +place=town & population > 4999 & name=* [0x0900 resolution 19] +place=town & population > 999 & name=* [0x0a00 resolution 19] +place=town & population > 0 & name=* [0x0b00 resolution 20] +place=town & name=* [0x0800 resolution 19] + +place=village & name=* [0x0900 resolution 22] +place=suburb & name=* [0x0a00 resolution 22] +place=hamlet & name=* [0x0b00 resolution 24] + +place=island & name=* [0x650c resolution 20] +place=islet & name=* [0x650c resolution 22] + +#aeroway=airport [0x5900 resolution 22] +aeroway=airport [0x2f04 resolution 22] +aeroway=aerodrome [0x2f04 resolution 22] +aeroway=helipad [0x5904 resolution 23] +aeroway=terminal [0x2f04 resolution 24] + +amenity=atm [0x2f06 resolution 24 continue] +amenity=arts_centre [0x2c04 resolution 24] +amenity=bank [0x2f06 resolution 24] +amenity=bar [0x2d02 resolution 24 continue] +amenity=bench [0x6605 resolution 24 continue] +amenity=biergarten [0x2d02 resolution 24] +amenity=border_control | barrier=border_control [0x3006 resolution 20] +amenity=bus_station [0x2f08 resolution 23] +amenity=cafe {delete cuisine} [0x2a0e resolution 24 continue with_actions] +amenity=car_club [0x2f0d resolution 24] +amenity=car_rental [0x2f02 resolution 24] +amenity=car_sharing [0x2f02 resolution 24] +amenity=car_wash [0x2f0e resolution 24] +amenity=casino [0x2d04 resolution 24] +amenity=charging_station [0x2f01 resolution 24 default_name 'Car charging'] +amenity=cinema [0x2d03 resolution 24] +amenity=college [0x2c05 resolution 24] +amenity=concert_hall [0x2c09 resolution 24] +amenity=conference_centre [0x2c09 resolution 24] +amenity=convention_center [0x2c09 resolution 24] +amenity=community_centre [0x3005 resolution 24] +amenity=community_center [0x3005 resolution 24] +amenity=courthouse [0x3004 resolution 24] +amenity=drinking_water [0x5000 resolution 24 default_name 'Water'] +amenity=embassy & country=* {set name='${country} ${name|def:Embassy}'} [0x3003 resolution 24] +amenity=embassy & country!=* [0x3003 resolution 24 default_name 'Embassy'] +amenity=emergency_phone [0x2f12 resolution 24 default_name 'Emergency Phone'] +amenity=ferry_terminal [0x2f08 resolution 22] +# handle amenity=fast_food rules later in file +amenity=fire_station [0x3008 resolution 24] +amenity=food_court [0x2a13 resolution 24] +amenity=fuel & fuel:HGV_diesel=yes [0x2f16 resolution 23] +amenity=fuel & shop=convenience [0x2e06 resolution 24] +amenity=fuel [0x2f01 resolution 24] +amenity=grave_yard | amenity=crematorium [0x6403 resolution 24] +amenity=kindergarten [0x2c05 resolution 24] +amenity=library [0x2c03 resolution 24] +amenity=nightclub [0x2d02 resolution 24] +amenity=nursing_home [0x2f14 resolution 24] +(amenity=parking | amenity=parking_entrance) & access!=private & access!=no {add name='${access} parking'| 'Parking'} [0x2f0b resolution 24] +amenity=pharmacy [0x2e05 resolution 24] +amenity=place_of_worship [0x2c0b resolution 24] +amenity=police [0x3001 resolution 24] +amenity=post_box [0x2f15 resolution 24 default_name 'Post box'] +amenity=post_office [0x2f05 resolution 24] +amenity=prison [0x3007 resolution 24 default_name 'Prison'] +amenity=pub [0x2d02 resolution 24] +amenity=public_building [0x3007 resolution 24] +amenity=recycling [0x2f15 resolution 24 default_name 'Recycling'] +# handle amenity=restaurant rules later in file +amenity=school [0x2c05 resolution 24] +# amenity=shelter is ambiguous; when possible, consider using other tags: +# tourism=lean_to or tourism=picnic_site +# shelter=yes on highway=bus_stop or highway=tram_stop or railway=halt +amenity=shelter & shelter_type=basic_hut [0x2b06 resolution 24 default_name 'Shelter'] +# amenity=supermarket is superceded by shop=supermarket +amenity=supermarket [0x2e02 resolution 24] +amenity=taxi [0x2f17 resolution 24] +amenity=telephone [0x2f12 resolution 24 default_name 'Telephone'] +amenity=theatre [0x2d01 resolution 24] +amenity=toilets [0x2f0c resolution 24 default_name 'Toilets'] +amenity=townhall [0x3003 resolution 24] +amenity=university [0x2c05 resolution 24] +# amenity=zoo is superceded by tourism=zoo +amenity=zoo [0x2c07 resolution 24] + +landuse=military [0x640b resolution 24] +landuse=village_green & name=* [0x2c06 resolution 24] + +healthcare=hospital | amenity=hospital | amenity=clinic [0x3002 resolution 22] +healthcare=* | amenity=dentist | amenity=doctors [0x3002 resolution 24] + +highway=motorway_junction & exit:road_ref=* {add exit:to='${exit_to}' | '${destination}'} [0x2000 resolution 24] + +highway=services {add exit:facility="0x02,I,0x47,Features"} [0x230f resolution 20 default_name 'Services'] + +historic=museum [0x2c02 resolution 24] +historic=archaeological_site | historic=ruins [0x2c02 resolution 24] +historic=memorial [0x2c02 resolution 24] + +leisure=common & name=* [0x2c06 resolution 24] +leisure=garden & name=* [0x2c06 resolution 24] +leisure=golf_course [0x2d05 resolution 24] +leisure=ice_rink [0x2d08 resolution 24] +leisure=marina [0x2f09 resolution 24] +leisure=nature_reserve [0x6612 resolution 24] +leisure=park [0x2c06 resolution 24] +leisure=pitch & (name=* | sport=*) {name '${name} (${sport})' | '${sport}'} [0x2c08 resolution 24] +leisure=playground [0x2c06 resolution 24 default_name 'Playground'] +leisure=recreation_ground [0x2c08 resolution 24 default_name 'Rec.'] +leisure=sports_center | leisure=sports_centre {name '${name} (${sport})' | '${sport}'} [0x2d0a resolution 24] +leisure=stadium {name '${name} (${sport})' | '${sport}'} [0x2c08 resolution 24] +(leisure=swimming_pool | amenity=swimming_pool) & access!=private & access!=no [0x2d09 resolution 24] +leisure=track {name '${name} (${sport})' | '${sport}'} [0x2c08 resolution 24] +leisure=water_park [0x2d09 resolution 24] + +man_made=tower | man_made=mast | landmark=chimney [0x6411 resolution 24] + +# Edge 705 displays 0x650a,0x6511,0x6512,0x6513,0x6603,0x6614 as hollow white circles, no menu +natural=cave_entrance [0x6601 resolution 24] +natural=cape [0x6606 resolution 24] +natural=cliff & name=* [0x6607 resolution 24] +natural=peak {name '${name|def:}${ele|height:m=>ft|def:}'} [0x6616 resolution 24] +natural=rock [0x6614 resolution 24] +natural=volcano [0x2c0c resolution 24] +natural=bay & name=* [0x6503 resolution 20] + +railway=station [0x2f08 resolution 22] +railway=halt [0x2f08 resolution 23] +# if option --add-pois-to-lines in effect, add just 1 POI +(railway=platform | (public_transport=platform & railway=*)) & (mkgmap:line2poi!=true | mkgmap:line2poitype=mid) [0x2f08 resolution 23] +public_transport=platform & (mkgmap:line2poi!=true | mkgmap:line2poitype=mid) [0x2f17 resolution 24] +highway=bus_stop | railway=tram_stop [0x2f17 resolution 24] + +shop=* & name!=* & shop!=yes & shop!=no & shop!=none & shop!=vacant {set name='${shop|subst:"_=> "}'} +# Uncomment the following lines to enable these extra POI that some devices support +#shop=convenience [0x2e0e resolution 24] +#shop=florist [0x2e0f resolution 24] +#shop=gift | shop=art | shop=antiques [0x2e10 resolution 24] +#shop=music [0x2e11 resolution 24] +#shop=sports [0x2e12 resolution 24] +#shop=wine | shop=alcohol [0x2e13 resolution 24] +#shop=books [0x2e14 resolution 24] +# to here + +shop=bakers [0x2e02 resolution 24] +shop=bakery [0x2e02 resolution 24] +shop=beauty [0x2f10 resolution 24] +shop=bicycle [0x2f13 resolution 24] +shop=boat [0x2f09 resolution 24] +shop=butcher [0x2e0c resolution 24] +shop=car [0x2f07 resolution 24] +shop=car_dealer [0x2f07 resolution 24] +shop=car_parts [0x2f07 resolution 24] +shop=car_rental [0x2f02 resolution 24] +shop=car_repair [0x2f03 resolution 24] +shop=car_wrecker [0x2f0a resolution 24] +shop=chemist [0x2e05 resolution 24] +shop=clothes [0x2e07 resolution 24] +shop=computer [0x2e0b resolution 24] +shop=convenience [0x2e02 resolution 24] +shop=department_store [0x2e01 resolution 24] +shop=doityourself [0x2e09 resolution 24] +shop=fashion [0x2e07 resolution 24] +shop=furniture [0x2e09 resolution 24] +shop=garden_centre [0x2e08 resolution 24] +shop=garden_center [0x2e08 resolution 24] +shop=general [0x2e03 resolution 24] +shop=hardware [0x2e09 resolution 24] +shop=hairdresser [0x2f10 resolution 24] +shop=mall [0x2e04 resolution 24] +shop=organic [0x2e0a resolution 24] +shop=outdoor [0x2e08 resolution 24] +shop=shoes [0x2e07 resolution 24] +shop=supermarket [0x2e02 resolution 24] +shop=tires [0x2f07 resolution 24] +shop=tyres [0x2f07 resolution 24] +shop=* & name=* [0x2e0c resolution 24] + +sport=9pin [0x2d07 resolution 24] +sport=10pin | leisure=bowling_alley [0x2d07 resolution 24] +sport=airport [0x2d0b resolution 24] +sport=multi [0x2d0a resolution 24] +sport=skating [0x2d08 resolution 24] +sport=skiing [0x2d06 resolution 24] +sport=swimming [0x2d09 resolution 24] + +tourism=alpine_hut [0x2b02 resolution 24] +tourism=attraction & historic=* [0x2c02 resolution 24] +tourism=attraction [0x2c04 resolution 24] +tourism=artwork [0x2c04 resolution 24] +tourism=aquarium [0x2c07 resolution 24] +tourism=bed_and_breakfast [0x2b02 resolution 24] +# NB: different devices use different codes for camp/caravan_site, have both! +tourism=camp_site [0x2b03 resolution 24] [0x2b05 resolution 24] +tourism=caravan_site [0x2b03 resolution 24] [0x2b05 resolution 24] +tourism=chalet [0x2b02 resolution 24] +tourism=guest_house [0x2b02 resolution 24] +tourism=hostel [0x2b02 resolution 24] +# Have both hotel &| restaurant POIs +tourism=hotel | tourism=motel {set tmp:stopMopUp=yes} [0x2b01 resolution 24 continue with_actions] +tourism=information [0x4c00 resolution 24] +# tourism=lean_to replaces some uses of amenity=shelter +tourism=lean_to [0x2b05 resolution 24 default_name 'lean-to'] +tourism=wilderness_hut [0x2b07 resolution 24 default_name 'wilderness hut'] +tourism=museum [0x2c02 resolution 24] +tourism=picnic_site [0x4a00 resolution 24] +tourism=resort [0x2b04 resolution 24] +tourism=theme_park [0x2c01 resolution 24] +tourism=viewpoint {name '${name} - ${description}' | '${name}'} [0x2c04 resolution 24] +tourism=wine_cellar [0x2c0a resolution 24] +tourism=zoo [0x2c07 resolution 24] +tourism=* & name!=* & tourism!=yes & tourism!=no {set name='${tourism|subst:"_=> "}'} +tourism=* & tourism!=no & tmp:stopMopUp!=yes [0x2c0d resolution 24] + +# amenity=restaurant/fast_food/cafe/pub and shop=* can use cuisine, so have cuisine section later than where the others +# should take precedence +# Have the following 2 lines here rather than after cuisine=... so that, for amenity=fast_food, cuisine is ignored +amenity=fast_food & cuisine=* {add name='${cuisine|subst:"_=> "}'} [0x2a07 resolution 24] +amenity=fast_food [0x2a07 resolution 24] + +# "Food & Drink" Search has categories as follows, corresponding to 0x2a00 - 0x2a13: +# All, American, Asian, Barbeque, Chinese, Deli/Bakery, International, Fast Food, Italian, Mexican, Pizza, +# Seafood, Steak/Grill, Bagel/Donut, Cafe/Diner, French, German, British Isles, Speciality Food Products, Other +amenity=restaurant & cuisine!=* + [0x2a00 resolution 24] +cuisine=american | cuisine=burger + [0x2a01 resolution 24] +cuisine=asian | cuisine=japanese | cuisine=indian | cuisine=curry | cuisine=thai | cuisine=sushi | cuisine=korean + [0x2a02 resolution 24] +cuisine=barbecue | cuisine=bbq | cuisine=kebab | cuisine=chicken + [0x2a03 resolution 24] +cuisine=chinese | cuisine=vietnamese + [0x2a04 resolution 24] +cuisine=deli | cuisine=sandwich + [0x2a05 resolution 24] +cuisine=international + [0x2a06 resolution 24] +cuisine=fast_food + [0x2a07 resolution 24] +cuisine=italian | cuisine=pasta + [0x2a08 resolution 24] +cuisine=mexican | cuisine=spanish | cuisine=tapas + [0x2a09 resolution 24] +cuisine~'.*pizza.*' + [0x2a0a resolution 24] +cuisine=seafood | cuisine=sea_food | cuisine=fish + [0x2a0b resolution 24] +cuisine=steak | cuisine=grill | cuisine=steak_house + [0x2a0c resolution 24] +cuisine=bagel | cuisine=donut + [0x2a0d resolution 24] +cuisine=cafe | cuisine=diner | cuisine=coffee_shop + [0x2a0e resolution 24] +cuisine=french + [0x2a0f resolution 24] +cuisine=german | cuisine=bavarian + [0x2a10 resolution 24] +cuisine=british | cuisine=fish_and_chips + [0x2a11 resolution 24] +cuisine=speciality | cuisine=local | cuisine=regional + [0x2a12 resolution 24] +amenity=restaurant {add name='${cuisine|subst:"_=> "}'} + [0x2a13 resolution 24] +#common ones not handled: +# ice_cream,greek,turkish,noodle,portugese,pasties,lebanese,brazilian,mediterranean,oriental,caribbean,vegetarian + +# Have the following 2 lines here rather than before cuisine=... so that, for amenity=fast_food, cuisine is respected +#amenity=fast_food & cuisine=* {add name='${cuisine|subst:"_=> "}'} [0x2a07 resolution 24] +#amenity=fast_food [0x2a07 resolution 24] + +barrier=bollard | barrier=bus_trap | barrier=gate | barrier=block | barrier=cycle_barrier | + barrier=stile | barrier=kissing_gate | barrier=lift_gate | barrier=swing_gate + {add name='${barrier|subst:"_=> "}'} [0x3200 resolution 24] + +landuse=basin [0x6603 resolution 24] +landuse=reservoir | water=reservoir [0x650f resolution 22] + +natural=beach [0x6604 resolution 24] +natural=glacier [0x650a resolution 24] +natural=spring [0x6511 resolution 24] +natural=stream [0x6512 resolution 24] +natural=water & (water=canal | water=lock) & name=* [0x6505 resolution 24] +(water=lake | water=pond) & name=* [0x650d resolution 24] +natural=water & name=* [0x6603 resolution 24] +natural=waterfall | waterway=waterfall [0x6508 resolution 24] +natural=wetland & name=* [0x6513 resolution 24] + +landuse=cemetery | landuse=cemetary | amenity=grave_yard [0x6403 resolution 24] +(landuse=wood | landuse=forest | natural=wood) & name=* [0x6618 resolution 24] + + +# The finalizer section is executed for each element when a rule with an element type matches + +name=* {name '${name}'} +include 'inc/address'; diff --git a/mkgmap/examples/styles/default/polygons b/mkgmap/examples/styles/default/polygons new file mode 100644 index 0000000..1781948 --- /dev/null +++ b/mkgmap/examples/styles/default/polygons @@ -0,0 +1,144 @@ +# ------------------------------------------------------------------- +# This is the default mkgmap style file for converting closed OSM ways +# into Garmin polygons. +# Any line prefaced with # is a comment and will not be applied. +# Each line is a rule, of the generalised format: +# OSM_tag(s)_to_match [Garmin_type_code resolution] +# See http://wiki.openstreetmap.org/wiki/Mkgmap/help/style_rules +# and http://wiki.openstreetmap.org/wiki/Mkgmap/help/Custom_styles +# for more information. + +addr:housenumber=* {set mkgmap:execute_finalize_rules=true} + +leisure=* & sport=* & name=* {set name='${name} (${sport})'} +leisure=* & sport=* & name!=* {add name='${sport}'} + +include 'inc/name'; + +aeroway=airport [0x07 resolution 20] +aeroway=aerodrome [0x07 resolution 20] +aeroway=runway & area=yes {name '${ref}'} [0x0e resolution 20] +(aeroway=taxiway | aeroway=taxilane) & area=yes {name '${ref}'} [0x0e resolution 24] +aeroway=heliport [0x07 resolution 20] +aeroway=helipad [0x0e resolution 22] + +amenity=kindergarten [0x0a resolution 22] +amenity=cafe | amenity=fast_food | amenity=restaurant [0x08 resolution 24] +amenity=food_court [0x08 resolution 22] +amenity=college [0x0a resolution 22] +parking=underground | parking=multi-storey [0x06 resolution 22] +amenity=parking | parking=surface [0x05 resolution 22] +amenity=prison [0x04 resolution 22] +amenity=school [0x0a resolution 22] +# amenity=supermarket is superceded by shop=supermarket or landuse=retail +amenity=supermarket [0x08 resolution 22] +amenity=university [0x0a resolution 21] + +healthcare=hospital | amenity=hospital | amenity=clinic [0x0b resolution 22] +healthcare=* | amenity=dentist | amenity=doctors | amenity=nursing_home [0x0b resolution 23] + +leisure=common [0x1d resolution 21] +leisure=garden [0x20 resolution 21] +leisure=golf_course [0x18 resolution 21] +leisure=ice_rink [0x19 resolution 22] +leisure=nature_reserve [0x16 resolution 19] +leisure=park [0x17 resolution 20] +leisure=pitch [0x19 resolution 21] +leisure=playground [0x17 resolution 22] +leisure=recreation_ground [0x19 resolution 21] +leisure=sports_center | leisure=sports_centre [0x19 resolution 20] +leisure=stadium [0x19 resolution 20] +leisure=track & area=yes [0x19 resolution 21] +leisure=water_park [0x09 resolution 21] + +place=village [0x03 resolution 19] +place=suburb [0x02 resolution 19] + +shop=* {add name='${shop|subst:"_=> "}'} [0x08 resolution 22] + +# squares and plazas +place=square [0x25 resolution 22] +highway=pedestrian & (area=yes | mkgmap:mp_created=true) [0x25 resolution 22] +# following rule also renders a closed way without area attribute as a plaza +highway=pedestrian & area!=no [0x25 resolution 22] + +# footways areas are similar, but should be explicity marked as such +highway=footway & area=yes [0x25 resolution 24] + +highway=services [0x12 resolution 22] # service station complex; show as retail +highway=rest_area & area!=no [0x05 resolution 22] # show as parking lot + +historic=* & historic!=no & historic!=yes & boundary!=* {add name='${historic|subst:"_=> "}'} [0x22 resolution 21] + +landuse=basin [0x3f resolution 20] +landuse=reservoir | (natural=water & water=reservoir) [0x3f resolution 20] + +dock=drydock [0x4c resolution 22] # might also have natural=water + +natural=bay [0x3d resolution 18] +natural=glacier [0x4d resolution 18] +natural=marsh [0x51 resolution 20] +natural=tundra [0x52 resolution 18] +natural=mud [0x51 resolution 20] +natural=beach | natural=sand [0x53 resolution 20] +natural=wetland [0x51 resolution 20] +natural=water & water=canal [0x48 resolution 22] +natural=water & water=lock [0x4c resolution 22 default_name 'Lock'] +natural=water & area_size() < 100000 [0x41 resolution 22] # Small Lake +natural=water [0x3c resolution 18] +natural=waterfall | waterway=waterfall [0x47 resolution 21] +natural=sea {add mkgmap:skipSizeFilter=true; set mkgmap:drawLevel=2} [0x32 resolution 10] + +waterway=riverbank [0x46 resolution 20] + +# mop up any remaining water areas +waterway=* & waterway!=no & area!=no {add name='${waterway|subst:"_=> "}'} [0x3b resolution 22] + +landuse=allotments [0x4e resolution 21] +landuse=cemetery | landuse=cemetary | amenity=grave_yard [0x1a resolution 21] +landuse=commercial [0x0f resolution 19] +landuse=construction [0x0c resolution 21] +landuse=farm [0x26 resolution 22] +landuse=farmland [0x1c resolution 20] +landuse=farmyard [0x26 resolution 22] +landuse=forest | landuse=wood [0x50 resolution 20] +landuse=greenfield [0x1c resolution 20] +landuse=meadow | landuse=grass [0x1c resolution 19] +landuse=military [0x04 resolution 19] +landuse=quarry [0x0c resolution 19] +landuse=recreation_ground [0x19 resolution 19] +# dedicate resolution 24 for building=* instead of related landuse=* +landuse=industrial [0x0c resolution 19-23] +landuse=residential [0x10 resolution 19-23] +landuse=retail [0x12 resolution 20-23] +landuse=village_green [0x15 resolution 20] +landuse=vineyard [0x4e resolution 20] +landuse=orchard [0x4e resolution 20] + +military=airfield [0x04 resolution 20] +military=barracks [0x04 resolution 23] +military=danger_area [0x11 resolution 20] +military=range [0x04 resolution 20] + +natural=scrub [0x4f resolution 20] +natural=wood [0x50 resolution 20] + +# building tag should be last +amenity=* & area!=no & amenity!=grave_yard {add name='${amenity|subst:"_=> "}'} [0x23 resolution 24] +building=* & building!=no [0x13 resolution 24] +tourism=* & area!=no & waterway!=* {add name='${tourism|subst:"_=> "}'} [0x21 resolution 24] + +# man_made can be used on areas or lines +man_made=* & area!=no {add name='${man_made|subst:"_=> "}'} [0x24 resolution 24] + +# render small named islands +place=island & name=* & area_size() < 1000000 [0x53 resolution 19] +place=islet & name=* [0x53 resolution 20] + + +# The finalizer section is executed for each element when a rule with an element type matches + +# we need address info from buildings for the address search +include 'inc/address'; + +name=* {name '${name}'} diff --git a/mkgmap/examples/styles/default/relations b/mkgmap/examples/styles/default/relations new file mode 100644 index 0000000..6433109 --- /dev/null +++ b/mkgmap/examples/styles/default/relations @@ -0,0 +1,130 @@ +# ------------------------------------------------------------------- +# This is the default mkgmap style file for applying rules on +# OSM relations. Usually you will set tags on the +# elements that make up the relation, and the tags will be +# processed by the rules defined in the "points" or "lines" files. +# +# Any line prefaced with # is a comment and will not be applied. +# Each line is a rule, of the generalised format: +# OSM_tag(s)_to_match [Garmin_type_code resolution] +# See http://wiki.openstreetmap.org/wiki/Mkgmap/help/style_rules +# and http://wiki.openstreetmap.org/wiki/Mkgmap/help/Custom_styles +# for more information. + +# Names of administrative boundaries. +# We could want to sort the relations in ascending order of admin_level +# and alphabetically by name first. +# Currently, the matching relations will be processed and the names +# appended to the boundary lines in an arbitrary order. + +(type=boundary | type=multipolygon) & boundary=administrative & name=* +{ apply + { + set mkgmap:boundary_name='$(mkgmap:boundary_name)/${name}' | '${name}'; + } +} + +# Public transportation routes. +# We could want to sort the matching relations by ref first. +type=route +& (route=bus|route=trolleybus|route=ferry|route=subway|route=train|route=tram) +& (ref=* | name=*) +{ + add ref='${name}'; # if ref is missing, use name + # Append the ref of the route relation to the route_ref attribute of + # the member nodes recursively (even to members of subrelations). + # Stops can be grouped within subrelations comprising the vehicle + # stop node and the passenger wait node. + apply { # node role ~ '(start_|end_)stop' + set route_ref='$(route_ref);${ref|not-contained:;:route_ref}' | '$(route_ref)' | '${ref}'; + # In route relations, stops may be defined as relations that group + # the passenger wait area and the vehicle stop area. If such + # subrelations exist, copy the ref to them too. + set mkgmap:relref='${ref}'; + + apply role=passengers { + set route_ref='$(route_ref),${mkgmap:relref}' | '${mkgmap:relref}'; + } + + delete mkgmap:relref; + } + # We could want to copy the route relation name to unnamed route=ferry ways. + # apply way { add name='${name}' } +} + +# European E-Road network +route=road & network=e-road { + apply { + add ref='${ref}'; + add int_ref='${int_ref}'; + add network='e-road'; + add mkgmap:fast_road=yes; + } +} + +#USA road network +type=route & route=road & historic!=yes & network=US:I +{ + apply { + set mkgmap:us_interstate='$(mkgmap:us_interstate);${ref|not-contained:;:mkgmap:us_interstate}' | '$(mkgmap:us_interstate)' | '${ref}'; + add network='US:I'; + add mkgmap:fast_road=yes; + } +} +type=route & route=road & historic!=yes & network~'US:I:.*' +{ + apply { + add network='US:I'; + add mkgmap:fast_road=yes; + } +} +type=route & route=road & historic!=yes & network=US:US +{ + apply { + set mkgmap:us_usroute='$(mkgmap:us_usroute);${ref|not-contained:;:mkgmap:us_usroute}' | '$(mkgmap:us_usroute)' | '${ref}'; + add network='US:US'; + add mkgmap:fast_road=yes; + } +} +type=route & route=road & historic!=yes & network~'US:US:.*' +{ + apply { + add network='US:US'; + add mkgmap:fast_road=yes; + } +} +type=route & route=road & historic!=yes & network~'US:.*' & !(network=US:I | network=US:US | network~'US:.*:.*') +{ + apply { + add mkgmap:us_state='$(mkgmap:us_state);${ref|not-contained:;:mkgmap:us_state}' | '$(mkgmap:us_state)' | '${ref}'; + add network='${network}'; + } +} + +#Trans African Highway +type=route & route=road & historic!=yes & (network~'TAH.*' | ref~'TAH.*' | network~'Trans.African Highway') +{ + apply { + add network='TAH'; + add int_ref='${ref}'; + add mkgmap:fast_road=yes; + } +} + +#Asian Highway +type=route & route=road & historic!=yes & (network=AsianHighway | network=AH) +{ + apply { + add network='AsianHighway'; + add int_ref='${ref}'; + add mkgmap:fast_road=yes; + } +} + +#any highway +type=route & route=road & historic!=yes & ref=* +{ + apply { + add ref='${ref}'; + } +} diff --git a/mkgmap/examples/styles/default/version b/mkgmap/examples/styles/default/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/mkgmap/examples/styles/default/version @@ -0,0 +1 @@ +1 diff --git a/mkgmap/examples/styles/noname/info b/mkgmap/examples/styles/noname/info new file mode 100644 index 0000000..d170cc9 --- /dev/null +++ b/mkgmap/examples/styles/noname/info @@ -0,0 +1,19 @@ + +# +# Suggested by Michel Marti on the mailing list and +# enhanced to use the newer features of the style system. +# + +version: 1 + +summary: Special map to highlight roads with no name + +description { + This style is to help find roads that don't yet have a name in OSM + by highlighting those roads. Roads that have a name or a ref + are shown as thin lines, ones that are missing a name are shown + as thick lines. + + If there is a noname=yes tag this means that the road really doesn't have + a name and so they won't be highlighted. +} diff --git a/mkgmap/examples/styles/noname/lines b/mkgmap/examples/styles/noname/lines new file mode 100644 index 0000000..5300da4 --- /dev/null +++ b/mkgmap/examples/styles/noname/lines @@ -0,0 +1,30 @@ + +# If something is not meant to have a name, record this so +# that it doesn't get highlighted. +noname=yes { name 'deliberately does not have a name' } + +# Catch no-name main road separately so we can give them different +# zoom levels. +highway=motorway & ref != * {add oneway = yes } [0x01 resolution 12] +highway=primary & (ref!=* & name != *) [0x01 resolution 19] +highway=secondary & (ref != * & name != *) [0x01 resolution 20] + +# Catch residential streets with no name display them even at lower +# zooms than you would normally. +(highway=residential + | highway=living_street + | highway=unclassified) & name != * + [0x01 resolution 21] + +# Give the main roads that are OK slightly more prominence so you +# can get your bearings easier +highway=motorway [0x6 resolution 12] +highway=trunk [0x6 resolution 16] +highway=primary [0x6 resolution 19] + +# Everything else goes as a thin line. +highway=* + {name '${name} (${ref})' | '${ref}' } + [0x7 resolution 22] + +include lines from default; diff --git a/mkgmap/examples/styles/noname/points b/mkgmap/examples/styles/noname/points new file mode 100644 index 0000000..f718572 --- /dev/null +++ b/mkgmap/examples/styles/noname/points @@ -0,0 +1,2 @@ + +include points from default; diff --git a/mkgmap/examples/styles/noname/polygons b/mkgmap/examples/styles/noname/polygons new file mode 100644 index 0000000..cdc8f25 --- /dev/null +++ b/mkgmap/examples/styles/noname/polygons @@ -0,0 +1,2 @@ + +include polygons from default; diff --git a/mkgmap/examples/styles/noname/version b/mkgmap/examples/styles/noname/version new file mode 100644 index 0000000..573541a --- /dev/null +++ b/mkgmap/examples/styles/noname/version @@ -0,0 +1 @@ +0 diff --git a/mkgmap/examples/typ-files/mapnik.txt b/mkgmap/examples/typ-files/mapnik.txt new file mode 100644 index 0000000..9bef0c6 --- /dev/null +++ b/mkgmap/examples/typ-files/mapnik.txt @@ -0,0 +1,6067 @@ +; TYP file to give mapnik rendering +; -*- coding: UTF-8 -*- NB: first 3 bytes/char in file is UTF-8 encoded ByteOrderMark (BOM) + +[_comments] +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License version 3 or +version 2 as published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +Author: Jorisbo@hotmail.com and others + +Based on mkgmap default style version: r4293 +[End] + + +[_id] +;ProductCode=1 set from --product-id +;FID=8094 set from --family-id +;CodePage=65001 set from --code-page +[End] + + +;=========== POLYGONS : RENDERING PRIORITY ====== +[_drawOrder] +Type=0x03d,1 +Type=0x04b,1 +Type=0x002,2 +Type=0x003,2 +Type=0x007,2 +Type=0x009,2 +Type=0x00a,2 +Type=0x010,2 +Type=0x011,2 +Type=0x012,2 +Type=0x015,2 +Type=0x016,2 +Type=0x018,2 +Type=0x01a,2 +Type=0x01c,2 +Type=0x01d,2 +Type=0x020,2 +Type=0x021,2 +Type=0x022,2 +Type=0x024,2 +Type=0x025,2 +Type=0x026,2 +Type=0x03b,2 +Type=0x046,2 +Type=0x047,2 +Type=0x048,2 +Type=0x04c,2 +Type=0x04d,2 +Type=0x051,2 +Type=0x053,2 +Type=0x008,3 +Type=0x00b,3 +Type=0x00c,3 +Type=0x00f,3 +Type=0x032,3 +Type=0x04e,3 +Type=0x050,3 +Type=0x052,3 +Type=0x06b,3 +Type=0x017,4 +Type=0x04f,4 +Type=0x005,5 +Type=0x019,5 +Type=0x03c,5 +Type=0x03f,5 +Type=0x041,5 +Type=0x006,6 +Type=0x00e,6 +Type=0x013,7 +Type=0x023,7 +Type=0x06a,7 +Type=0x06c,8 +Type=0x004,9 +[End] + + +;===================== POLYGONS ======================== + + +[_polygon] +type=0x02 +;GRMN_TYPE: Urban Areas/SMALL_CITY/Small urban area, less than 200 000 inhabitants/Non NT +String=Suburb +String1=0x01,Résidentiel +String2=0x02,Wohngebiet +String4=0x03,Bebouwing +String7=0x15,Obszar mieszkalny +String8=0x10,Residencial +String9=0x05,Area residenziale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #E0DFDF" +[end] +[_polygon] +type=0x03 +;GRMN_TYPE: Urban Areas/TOWN/Urban area, less than 50 000 inhabitants/Non NT +String=Village +String1=0x01,Résidentiel +String2=0x02,Wohngebiet +String4=0x03,Bebouwing +String7=0x15,Obszar mieszkalny +String8=0x10,Residencial +String9=0x05,Area residenziale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #E0DFDF" +[end] +[_polygon] +type=0x04 +;GRMN_TYPE: Large Manmade Areas/MILITARY_BASE/Military base area/Non NT +String=Military Base +String1=0x01,Domaine militaire +String2=0x02,Militärisches Sperrgebiet +String4=0x03,Militair domein +String7=0x15,Teren wojskowy +String8=0x10,Militar +String9=0x05,Area militare +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #FF958B" +" c none" +" !! !! " +"!! !! " +"! !! !" +" !! !!" +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +"!! !! " +"! !! !" +" !! !!" +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;12345678901234567890123456789012 +[end] +[_polygon] +type=0x05 +;GRMN_TYPE: Large Manmade Areas/PARKING_LOT/Parking lot area/Non NT +String=Parking Lot +String1=0x01,Parking +String2=0x02,Parkplatz +String3=0x04,Car Park +String4=0x03,Parkeerterrein +String7=0x15,Parking +String8=0x10,Estacionamento +String9=0x05,Parcheggio +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #EEEEEE" +[end] +[_polygon] +type=0x06 +;GRMN_TYPE: Large Manmade Areas/PARKING_GARAGE/Parking garage area/Non NT +String=Parking Garage +String1=0x01,Garages +String2=0x02,Garagen +String3=0x04,Parking +String4=0x03,Garages +String7=0x15,Garaże +String8=0x10,Garagem +String9=0x05,Garage +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #DFDDCE" +[end] +[_polygon] +type=0x07 +;GRMN_TYPE: Large Manmade Areas/AIRPORT/Airport area/Non NT +String=Airport +String1=0x01,Aéroport +String2=0x02,Flughafen +String4=0x03,Vliegveld +String7=0x15,Lotnisko +String8=0x10,Aeroporto +String9=0x05,Aerodromo +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #E9E7E2" +[end] +[_polygon] +type=0x08 +;GRMN_TYPE: Large Manmade Areas/SHOPPING_AREA/Shopping area/Non NT +String=Shopping Center +String1=0x01,Zone commerciale +String2=0x02,Gewerbegebiet +String4=0x03,Commercieel gebied +String7=0x15,Obszar handlowy +String8=0x10,Área comercial +String9=0x05,Area commerciale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #F2DAD9" +[end] +[_polygon] +type=0x09 +;GRMN_TYPE: Large Manmade Areas/MARINA/Marina area/Non NT +String=Marina +String1=0x01,Piscine +String2=0x02,Schwimmbad +String3=0x04,Water Park +String4=0x03,Zwembad +String7=0x15,Basen +String8=0x10,Piscina +String9=0x05,Piscina +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x0a +;GRMN_TYPE: Large Manmade Areas/COLLEGE/College or university area/Non NT +String=University/College +String1=0x01,École +String2=0x02,Schule +String3=0x04,Education +String4=0x03,School +String7=0x15,Edukacja +String8=0x10,Escola +String9=0x05,Scuola +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #FFFFE5" +[end] +[_polygon] +type=0x0b +;GRMN_TYPE: Large Manmade Areas/HOSPITAL/Hospital area/Non NT +String=Hospital +String1=0x01,Hôpital +String2=0x02,Krankenhaus +String4=0x03,Ziekenhuis +String7=0x15,Szpital +String8=0x10,Hospital +String9=0x05,Ospedale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #FFFFE5" +[end] +[_polygon] +type=0x0c +;GRMN_TYPE: Large Manmade Areas/INDUSTRIAL_COMPLEX/Industrial complex area/Non NT +String=Industrial Complex +String1=0x01,Zone industrielle +String2=0x02,Industriegebiet +String3=0x04,Industrial area +String4=0x03,Industriegebied +String7=0x15,Obszar przemysłowy +String8=0x10,Área industrial +String9=0x05,Area industriale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #EBDBE8" +[end] +[_polygon] +type=0x0e +;GRMN_TYPE: Large Manmade Areas/AIRPORT_RUNWAYS/Airport runway area/Non NT +String=Aircraft Road +String1=0x01,Aérodrome +String2=0x02,Flugfeld +String3=0x04,Runway +String4=0x03,Landingsbaan +String7=0x15,Pas startowy +String8=0x10,Aeródromo +String9=0x05,Pista di aviazione +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #BBBBCC" +[end] +[_polygon] +type=0x0f +;GRMN_TYPE: // +String=Commercial Area +String1=0x01,Zone commerciale +String2=0x02,Gewerbegebiet +String4=0x03,Commercieel gebied +String7=0x15,Obszar handlowy +String8=0x10,Área comercial +String9=0x05,Area commerciale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #F2DAD9" +[end] +[_polygon] +type=0x10 +;GRMN_TYPE: // +String=Residential +String1=0x01,Résidentiel +String2=0x02,Wohngebiet +String4=0x03,Bebouwing +String7=0x15,Obszar mieszkalny +String8=0x10,Residencial +String9=0x05,Area residenziale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #E0DFDF" +[end] +[_polygon] +type=0x11 +;GRMN_TYPE: // +String=Danger Area +String1=0x01,Domaine militair +String2=0x02,Militärisches Sperrgebiet +String4=0x03,Miltaire gevarenzone +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #FFFFFF" +"# c #FCD8DB" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"#############!###!##############" +"##############!#!###############" +"###############!################" +"##############!#!###############" +"#############!###!##############" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +;12345678901234567890123456789012 +[end] +[_polygon] +type=0x12 +;GRMN_TYPE: // +String=Retail +String1=0x01,Aire +String2=0x02,Raststätte +String4=0x03,Snelweg rustplaats +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #EFC8C8" +[end] +[_polygon] +type=0x13 +;GRMN_TYPE: Large Manmade Areas/GENERIC_MANMADE/Other or generic manmade area, such as a building/Non NT +String=Building +String1=0x01,Bâtiment +String2=0x02,Gebäude +String4=0x03,Gebouw +String7=0x15,Budynek +String8=0x10,Edifício +String9=0x05,Edificio +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #D9D0C9" +[end] +[_polygon] +type=0x15 +;GRMN_TYPE: Park Areas/NATIONAL_PARK/National park/Non NT +String=Village Green +String1=0x01,Espace vert +String2=0x02,Grün +String4=0x03,Stadsgroen +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #CDEBB0" +[end] +[_polygon] +type=0x16 +;GRMN_TYPE: Park Areas/NATIONAL_PARK_OTHER/Small or misc sized national park/Non NT +String=Nature Reserve +String1=0x01,Espace vert +String2=0x02,Grün +String4=0x03,Groen +String7=0x15,Zieleń +String8=0x10,Área verde +String9=0x05,Area naturale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #DBF1C6" +[end] +[_polygon] +type=0x17 +;GRMN_TYPE: Park Areas/URBAN_PARK/Small urban park, typically only a few square blocks in size/Non NT +String=City Park/Playground +String1=0x01,Parc +String2=0x02,Park +String4=0x03,Park +String7=0x15,Park +String8=0x10,Parque +String9=0x05,Parco +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #C8FACC" +[end] +[_polygon] +type=0x18 +;GRMN_TYPE: Large Manmade Areas/GOLF_COURSE/Golf course area/Non NT +String=Golf Course +String1=0x01,Golf +String2=0x02,Golfplatz +String4=0x03,Golfbaan +String7=0x15,Pole golfowe +String8=0x10,Campo de Golfe +String9=0x05,Campo da golf +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #B5E3B5" +[end] +[_polygon] +type=0x19 +;GRMN_TYPE: Large Manmade Areas/SPORTS_COMPLEX/Sports arena or stadium/Non NT +String=Sports Complex +String1=0x01,Terrain de sport +String2=0x02,Sportplatz +String3=0x04,Sports pitch +String4=0x03,Sportveld +String7=0x15,Teren sportowy +String8=0x10,Campo de esportes +String9=0x05,Campo sportivo +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #AAE0CB" +[end] +[_polygon] +type=0x1a +;GRMN_TYPE: Large Manmade Areas/CEMETARY/Cemetary/Non NT +String=Cemetery +String1=0x01,Cimetière +String2=0x02,Friedhof +String4=0x03,Begraafplaats +String7=0x15,Cmentarz +String8=0x10,Cemitério +String9=0x05,Cimitero +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #88B78E" +"# c #AACBAF" +"################################" +"################################" +"################################" +"################################" +"#######!!#######################" +"######!!!!######################" +"######!!!!######################" +"######!!!!######################" +"######!!!!######################" +"######!!!!######################" +"######!!!!######################" +"####!!!!!!!!####################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +;12345678901234567890123456789012 +[end] +[_polygon] +type=0x1c +;GRMN_TYPE: // +String=Meadow +String2=0x02,Wiese +String4=0x03,Weide +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #CDEBB0" +[end] +[_polygon] +type=0x1d +;GRMN_TYPE: // +String=Common +String1=0x01,Parc +String2=0x02,Park +String4=0x03,Park +String7=0x15,Park +String8=0x10,Parque +String9=0x05,Parco +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #C8FACC" +[end] +[_polygon] +type=0x20 +;GRMN_TYPE: Park Areas/STATE_PARK_OTHER/Small or misc sized state park/Non NT +String=Garden +String1=0x01,Jardin +String2=0x02,Garten +String4=0x03,Tuin +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #8CB873" +"# c #CDEBB0" +"################################" +"################################" +"################################" +"###!#######!#######!#######!####" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"###!#######!#######!#######!####" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"###!#######!#######!#######!####" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"###!#######!#######!#######!####" +"################################" +"################################" +"################################" +"################################" +;12345678901234567890123456789012 +[end] +[_polygon] +type=0x21 +;GRMN_TYPE: // +String=Tourism +String4=0x03,Toeristische attractie +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #CDEBB0" +[end] +[_polygon] +type=0x22 +;GRMN_TYPE: // +String=Historic +String1=0x01,Patrimoine historique +String2=0x02,Historisches Gebiet / Gebäude +String4=0x03,Historisch gebied/gebouw +String7=0x15,Historyczny teren / budynek +String8=0x10,Edifício histórico +String9=0x05,Luogo storico +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #D9D0C9" +[end] +[_polygon] +type=0x23 +;GRMN_TYPE: // +String=Amenity +String1=0x01,Bâtiment +String2=0x02,Gebäude +String4=0x03,Gebouw +String7=0x15,Budynek +String8=0x10,Edifício +String9=0x05,Edificio +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #D9D0C9" +[end] +[_polygon] +type=0x24 +;GRMN_TYPE: // +String=Man-made +String2=0x02,Konstruktion +String4=0x03,Constructie +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #B8B8B8" +[end] +[_polygon] +type=0x25 +;GRMN_TYPE: // +;See also 0x6b for pedestrian area +String=Square +String1=0x01,Place +String1=0x02,Platz +String1=0x03,Markt +String1=0x05,Piazza +String1=0x08,Plaza +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #DDDDE8" +[end] +[_polygon] +type=0x26 +;GRMN_TYPE: // +String=Farm / Yard +String1=0x01,Ferme +String2=0x02,Bauernhof +String4=0x03,Boerenbedrijf +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #F5DCBA" +[end] +[_polygon] +type=0x32 +;GRMN_TYPE: Water Areas/SEA/Sea/Non NT +String=Sea +String1=0x01,Mer +String2=0x02,Meer +String4=0x03,Zee +String7=0x15,Morze +String8=0x10,Mar +String9=0x05,Mare +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#4D80B3 +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x3b +;GRMN_TYPE: // +String=Waterway +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x3c +;GRMN_TYPE: Water Areas/LAKE_100MI/Lake less than 250 sq mi but greater or equal to 100 sq mi in area/Non NT +String=Lake +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x3d +;GRMN_TYPE: Water Areas/LAKE_30MI, LARGE_LAKE/Large lake, typically between 30 and 500 sq mi in area/Non NT +String=Bay +String1=0x01,Baie +String2=0x02,Bucht +String4=0x03,Baai +String7=0x15,Zatoka +String8=0x10,Baia +String9=0x05,Baia +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #FFFFFF" +" c none" +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +;12345678901234567890123456789012 +[end] +[_polygon] +type=0x3f +;GRMN_TYPE: Water Areas/LAKE, LAKE_5MI/Medium sized lake, typically between 5 and 30 sq mi in area/Non NT +String=Reservoir/Basin +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x41 +;GRMN_TYPE: Water Areas/LAKE_LT_1MI, SMALL_LAKE/Small lake, typically less than 5 sq mi in area/Non NT +String=Small Lake +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x46 +;GRMN_TYPE: Water Areas/LARGE_RIVER/Major river, typically at least 700 ft in width/Non NT +String=River +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x47 +;GRMN_TYPE: Water Areas/RIVER_GT_700FT/Major river greater or equal to 700 ft in width/Non NT +String=Waterfall +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x48 +;GRMN_TYPE: Water Areas/RIVER_100FT, SMALL_RIVER/Minor river, typically less than 700 ft in width/Non NT +String=Canal +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x4b +;GRMN_TYPE: Map Bounds/DATA_BOUNDS/Bounds of map after creation/Non NT +String=Area of Map Coverage +String1=0x01,Sol +String2=0x02,Hintergrund +String4=0x03,Achtergrond +String7=0x15,Obszar niezmapowany +String8=0x10,Área não mapeada +String9=0x05,Sfondo +ExtendedLabels=Y +FontStyle=LargeFont +CustomColor=Day +DaycustomColor:#00FFFF +Xpm="0 0 1 0" +"1 c #F2EFE9" +[end] +[_polygon] +type=0x4c +;GRMN_TYPE: Water Areas/INTERMITTENT_LAKE/An intermittent or dry lake/Non NT +String=Intermittent Water +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +Xpm="0 0 1 0" +"1 c #AAD3DF" +[end] +[_polygon] +type=0x4d +;GRMN_TYPE: Surface Cover Areas/GLACIER/Large area of compacted snow and ice/Non NT +String=Glacier +String1=0x01,Glacier +String2=0x02,Gletscher +String4=0x03,Gletsjer +String7=0x15,Lodowiec +String8=0x10,Geleira +String9=0x05,Ghiacciaio +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4DA0D7 +Xpm="0 0 1 0" +"1 c #DDECEC" +[end] +[_polygon] +type=0x4e +;GRMN_TYPE: Surface Cover Areas/ORCHARD/Orchard or plantation area/Non NT +String=Orchard +String1=0x01,Agriculture +String2=0x02,Ackerland +String3=0x04,Farmland +String4=0x03,Landbouw / Glastuinbouw +String7=0x15,Tereny rolnicze +String8=0x10,Lavoura +String9=0x05,Terreno coltivato +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #EEF0D5" +[end] +[_polygon] +type=0x4f +;GRMN_TYPE: Surface Cover Areas/SCRUB/Scrub brush area/Non NT +String=Scrub +String1=0x01,Broussailles +String2=0x02,Gebüsch +String4=0x03,Kreupelbos +String7=0x15,Zarośla +String8=0x10,Arbusto +String9=0x05,Terreno incolto +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #B0BE93" +"# c #C8D7AB" +"################################" +"#######################!########" +"#######################!########" +"#####################!#!#!######" +"#####################!!!!!######" +"######################!!!#######" +"####################!!!!!!!#####" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"##############!#################" +"##############!#################" +"############!#!#!###############" +"############!!!!!###############" +"#############!!!################" +"###########!!!!!!!##############" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +;12345678901234567890123456789012 +[end] +[_polygon] +type=0x50 +;GRMN_TYPE: Surface Cover Areas/WOODS/Wooded or forested area/Non NT +String=Woods +String1=0x01,Forêt +String2=0x02,Wald +String4=0x03,Bos +String7=0x15,Las +String8=0x10,Floresta +String9=0x05,Selva +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #8AB379" +"# c #ADD19E" +"################################" +"################################" +"################################" +"#####!!!###!####################" +"####!###!##!####################" +"####!###!#!#!###################" +"####!###!#!#!###################" +"#####!!!##!#!###################" +"######!##!###!##################" +"######!##!!!!!##################" +"######!####!####################" +"######!####!####################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"###############!!!###!##########" +"##############!###!##!##########" +"##############!###!#!#!#########" +"##############!###!#!#!#########" +"###############!!!##!#!#########" +"################!##!###!########" +"################!##!!!!!########" +"################!####!##########" +"################!####!##########" +"################################" +"################################" +;12345678901234567890123456789012 +[end] +[_polygon] +type=0x51 +;GRMN_TYPE: Surface Cover Areas/WETLAND/Wetland or swamp area/Non NT +String=Wetland +String1=0x01,Marais +String2=0x02,Sumpf +String3=0x04,Marsh +String4=0x03,Nat gebied +String7=0x15,Mokradła +String8=0x10,Pântano +String9=0x05,Palude +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #49A6FA" +" c none" +" " +" " +" !!!!!! !!!!!! " +" " +" " +" !!!!!! !!!!!! " +" " +"!!!!! !!!!! " +" " +" " +" !!!!!! !!!!!! " +" " +" " +" !!!!!! !!!!! " +"!!!!!! " +" " +" " +" " +" !!!!!! !!!!!! " +" " +" !!!!!! " +"!!!!!! " +" !!!!!" +" !!!!!! " +" " +" " +" !!!!!! !!!!!! " +" " +" " +" !!!!!! !!!!!! " +"!!!!!! " +" !!!!! " +;12345678901234567890123456789012 +[end] +[_polygon] +type=0x52 +;GRMN_TYPE: Surface Cover Areas/TUNDRA/Area of nearly always freezing soil/Non NT +String=Tundra +String4=0x03,Toendra +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #D6D99F" +[end] +[_polygon] +type=0x53 +;GRMN_TYPE: Surface Cover Areas/FLAT/Sand, tidal, mud, etc. flat area/Non NT +String=Tidal Sand/Mud Flats +String1=0x01,Terre +String2=0x02,Land +String4=0x03,Land +String7=0x15,Land +String8=0x10,Terra +String9=0x05,Terra +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #F2EFE9" +[end] +[_polygon] +type=0x6a +;GRMN_TYPE: // +; not used by default style +String=Station +String1=0x01,Gare +String2=0x02,Bahnhof +String4=0x03,Station +String7=0x15,Stacja +String8=0x10,Estação +String9=0x05,Stazione +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #AF9C8D" +[end] +[_polygon] +type=0x6b +;GRMN_TYPE: // +; not used by default style +String=Pedestrian Zone +String1=0x01,Zone piétonne +String2=0x02,Fußgängerzone +String4=0x03,Voetgangersgebied +String7=0x15,Pieszy +String8=0x10,Pedestre +String9=0x05,Area pedonale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #DDDDE8" +[end] +[_polygon] +type=0x6c +;GRMN_TYPE: // +; not used by default style +String=Platform +String1=0x01,Quai +String2=0x02,Bahnsteig +String4=0x03,Perron +String7=0x15,Platform +String8=0x10,Plataforma +String9=0x05,Banchina +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="0 0 1 0" +"1 c #BBBBBB" +[end] + + +;====================== LINES =========================== + + +[_line] +type=0x01 +;GRMN_TYPE: Roads/INTERSTATE, MAJOR_HWY/Primary, divided, limited-access highway, akin to an interstate in the US/Non NT, NT +UseOrientation=N +LineWidth=8 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #E892A2" +"2 c #FF008B" +String=Motorway +String1=0x01,Autoroute +String2=0x02,Autobahn +String4=0x03,Snelweg +String7=0x15,Autostrada +String8=0x10,Autoestrada +String9=0x05,Autostrada +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +[end] +[_line] +type=0x02 +;GRMN_TYPE: Roads/PRINCIPAL_HWY/Principal highway, usually divided and limited access, akin to US highways/Non NT, NT +UseOrientation=N +LineWidth=8 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #F9B29C" +"2 c #D87559" +String=Trunk Road +String1=0x01,Voie rapide +String2=0x02,Schnellstraße +String4=0x03,Autoweg +String7=0x15,Droga szybkiego ruchu +String8=0x10,Via expressa +String9=0x05,Superstrada +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +[end] +[_line] +type=0x03 +;GRMN_TYPE: Roads/OTHER_HWY/Other highway road, akin to a state highway in the US/Non NT, NT +UseOrientation=N +LineWidth=8 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FCD6A4" +"2 c #C5A363" +String=Primary Road +String1=0x01,Route primaire +String2=0x02,Bundesstraße +String4=0x03,Primair +String7=0x15,Droga krajowa +String8=0x10,Via primária +String9=0x05,Strada principale +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +[end] +[_line] +type=0x04 +;GRMN_TYPE: Roads/ARTERIAL/Main city thoroughfare/Non NT, NT +UseOrientation=N +LineWidth=8 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #F7FABF" +"2 c #BBC279" +String=Secondary Road +String1=0x01,Route secondaire +String2=0x02,Bundesstraße +String4=0x03,Secundair +String7=0x15,Droga wojewódzka +String8=0x10,Via secundária +String9=0x05,Strada principale +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +[end] +[_line] +type=0x05 +;GRMN_TYPE: Roads/COLLECTOR/Secondary city thoroughfare/Non NT, NT +UseOrientation=N +LineWidth=8 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FFFFFF" +"2 c #C5C5C5" +String=Tertiary Road +String1=0x01,Route tertiaire +String2=0x02,Straße +String4=0x03,Tertiair +String7=0x15,Droga powiatowa +String8=0x10,Via terciária +String9=0x05,Strada +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +[end] +[_line] +type=0x06 +;GRMN_TYPE: Roads/RESIDENTIAL/Residential street, these are typically the most numerous roads in a detailed city map and do not show up until the user is zoomed in quite far/Non NT, NT +UseOrientation=N +LineWidth=7 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FFFFFF" +"2 c #C5C5C5" +String=Residential/Minor/Unclassified +String1=0x01,Rue +String2=0x02,Straße +String4=0x03,Weg +String7=0x15,Droga +String8=0x10,Residencial +String9=0x05,Strada residenziale +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +[end] +[_line] +type=0x07 +;GRMN_TYPE: Roads/ALLEY, DRIVEWAY/Alleyway, private driveway to residence/Non NT, NT +UseOrientation=N +LineWidth=3 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FFFFFF" +"2 c #C5C5C5" +String=Alley +String1=0x01,Rue +String2=0x02,Straße +String4=0x03,Straat +String7=0x15,Ulica +String8=0x10,Rua +String9=0x05,Strada +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#626262 +[end] +[_line] +type=0x08 +;GRMN_TYPE: Roads/LOW_SPEED_RAMP/Highway ramp which is to be driven at low speeds/Non NT, NT +UseOrientation=Y +LineWidth=5 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #F7FABF" +"2 c #BBC279" +String=Link Road +String1=0x01,Voie d’accès +String2=0x02,Bundesstraße (Verbindung) +String4=0x03,Secundair (Verbinding) +String7=0x15,Droga wojewódzka (łącznik) +String8=0x10,Ligação de via secundária +String9=0x05,Strada principale (collegamento) +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x09 +;GRMN_TYPE: Roads/HIGH_SPEED_RAMP, RAMP/Highway ramp which is to be driven at high speeds/Non NT, NT +UseOrientation=N +LineWidth=5 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #F9B29C" +"2 c #D87559" +String=Motorway Link +String1=0x01,Voie d’accès +String2=0x02,Schnellstraße (verbindung) +String4=0x03,Autoweg (Verbinding) +String7=0x15,Droga szybkiego ruchu (łącznik) +String8=0x10,Ligação de via expressa +String9=0x05,Superstrada (collegamento) +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x0a +;GRMN_TYPE: Roads/UNPAVED_ROAD/Gravel or dirt road/Non NT, NT +UseOrientation=Y +Xpm="32 2 2 1" +"! c #BD6500" +" c none" +"!!!!! !! !!!!! !! !!!!! !! " +"!!!!! !! !!!!! !! !!!!! !! " +;12345678901234567890123456789012 +String=Unpaved Road +String1=0x01,Sans revêtement +String2=0x02,Unbefestigt +String3=0x04,Track (Grade unknown) +String4=0x03,Veldweg (Onbekend) +String7=0x15,Droga gruntowa (klasa nieznana) +String8=0x10,Estrada agrícola +String9=0x05,Sentiero carrabile +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x0b +;GRMN_TYPE: Roads/MAJOR_CONNECTOR/Major highway connector/Non NT, NT +UseOrientation=N +LineWidth=5 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #F9B29C" +"2 c #D87559" +String=Naming Link +String1=0x01,Voie d’accès +String2=0x02,Schnellstraße (verbindung) +String4=0x03,Autoweg (Verbinding) +String7=0x15,Droga szybkiego ruchu (łącznik) +String8=0x10,Ligação de via expressa +String9=0x05,Superstrada (collegamento) +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x0c +;GRMN_TYPE: Roads/ROUNDABOUT/Roundabout/Non NT, NT +UseOrientation=N +LineWidth=7 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FFFFFF" +"2 c #C5C5C5" +String=Roundabout +String1=0x01,Rond point +String2=0x02,Kreisverkehr +String4=0x03,Rotonde +String7=0x15,Rondo +String8=0x10,Rotatória +String9=0x05,Rotatoria +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +[end] +[_line] +type=0x11 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_ROUTE_LINE_5/Routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 2 2 1" +"! c #0030FF" +" c none" +" !!!! !!!! !!!! !!!! " +" !!!! !!!! !!!! !!!! " +;12345678901234567890123456789012 +String=Cycleway +String1=0x01,Piste cyclable +String2=0x02,Radweg +String4=0x03,Fietspad +String7=0x15,Ścieżka rowerowa +String8=0x10,Ciclovia +String9=0x05,Pista ciclabile +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=Day +DaycustomColor:#0030FF +[end] +[_line] +type=0x14 +;GRMN_TYPE: Misc. Line Types/RAILROAD/Railroad/Non NT +UseOrientation=Y +Xpm="32 3 2 1" +"! c #737373" +"# c #FFFFFF" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"!!!!!!!!########!!!!!!!!########" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +;12345678901234567890123456789012 +String=Railroad +String1=0x01,Voie ferrée +String2=0x02,Gleis +String3=0x04,Railway +String4=0x03,Spoorweg +String7=0x15,Kolej +String8=0x10,Ferrovia +String9=0x05,Ferrovia +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x15 +;GRMN_TYPE: Misc. Line Types/SHORELINE/Shoreline of water body (typically only used when a water area is not available)/Non NT +UseOrientation=N +Xpm="32 1 2 1" +"! c #000000" +" c none" +" " +;12345678901234567890123456789012 +String=Coastline +String1=0x01,Littoral +String2=0x02,Küstelinien +String4=0x03,Kustlijn +String7=0x15,Wybrzeże +String8=0x10,Litoral / Costal +String9=0x05,Costa +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#838383 +[end] +[_line] +type=0x16 +;GRMN_TYPE: Roads/TRAIL/Walkway or trail/Non NT, NT +UseOrientation=N +Xpm="32 1 2 1" +"! c #FF0000" +" c none" +" !!!!! !!!!! !!!!! !!!!! " +;12345678901234567890123456789012 +String=Trail +String1=0x01,Sentier +String2=0x02,Fußweg +String3=0x04,Path +String4=0x03,Wandelpad +String7=0x15,Ścieżka +String8=0x10,Trilha +String9=0x05,Sentiero +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x17 +;GRMN_TYPE: // +UseOrientation=N +LineWidth=1 +Xpm="0 0 1 0" +"1 c #AAAAAA" +String=Barrier +String4=0x03,Barrière +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x18 +;GRMN_TYPE: Water Features/STREAM/Small stream or creek/Non NT +UseOrientation=Y +LineWidth=2 +Xpm="0 0 1 0" +"1 c #AAD3DF" +String=Stream +String1=0x01,Ruisseau +String2=0x02,Bach +String4=0x03,Beek +String7=0x15,Strumień +String8=0x10,Córrego +String9=0x05,Ruscello +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +[end] +[_line] +type=0x1a +;GRMN_TYPE: Roads/INTERNATIONAL_FERRY/Major water or rail ferry/Non NT, NT +UseOrientation=N +Xpm="32 1 2 1" +"! c #0030FF" +" c none" +" !!!! !!!! !!!! !!!! " +;12345678901234567890123456789012 +String=Car Ferry +String1=0x01,Ferry +String2=0x02,Fähre +String4=0x03,Ferry +String7=0x15,Prom +String8=0x10,Balsa +String9=0x05,Traghetto +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#0065D5 +[end] +[_line] +type=0x1b +;GRMN_TYPE: Roads/FERRY/Water or rail ferry/Non NT, NT +UseOrientation=N +Xpm="32 1 2 1" +"! c #0030FF" +" c none" +" !!!! !!!! !!!! !!!! " +;12345678901234567890123456789012 +String=Pedestrian Ferry +String1=0x01,Ferry +String2=0x02,Fähre +String4=0x03,Ferry +String7=0x15,Prom +String8=0x10,Balsa +String9=0x05,Traghetto +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#0065D5 +[end] +[_line] +type=0x1c +;GRMN_TYPE: Political Borders/MJR_PLTCL_BDRY/Major political boundary (typically used for state, provincial borders)/Non NT +UseOrientation=N +Xpm="32 9 2 1" +"! c #BD95D5" +" c none" +" !!!! !!!! !!!! !!!! " +" !!!! !!!! !!!! !!!! " +" " +" " +" " +" " +" " +" " +" " +;12345678901234567890123456789012 +String=St/Prv Border +String1=0x01,Limite communale +String2=0x02,Grenze +String3=0x04,Boundary +String4=0x03,Gemeentegrens +String7=0x15,Granica +String8=0x10,Limite Municipal +String9=0x05,Confine +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x1d +;GRMN_TYPE: Political Borders/MNR_PLTCL_BDRY/Minor political boundary (typically used for county/parish borders) +UseOrientation=N +Xpm="32 9 2 1" +"! c #BD95D5" +" c none" +"!!!!!!!!!!!!!! !! " +"!!!!!!!!!!!!!! !! " +" " +" " +" " +" " +" " +" " +" " +;12345678901234567890123456789012 +String=Country Border +String1=0x01,Limite départementale +String2=0x02,Landesgrenze +String3=0x04,State Boundary +String4=0x03,Provinciegrens 3 +String7=0x15,Granica województwa +String8=0x10,Limite Estadual +String9=0x05,Confine regionale +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#BD30B4 +[end] +[_line] +type=0x1e +;GRMN_TYPE: Political Borders/INTRN_PLTCL_BDRY/International boundary/Non NT +UseOrientation=N +Xpm="32 9 2 1" +"! c #BD95D5" +"# c #FFFFFF" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!" +"!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#" +"#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!" +"!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#" +"#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!" +"!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#" +"#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!" +;12345678901234567890123456789012 +String=Intl Border +String1=0x01,Frontière nationale +String2=0x02,Staatsgrenze +String3=0x04,National boundary +String4=0x03,Landsgrens +String7=0x15,Granica państwa +String8=0x10,Limite Nacional +String9=0x05,Confine nazionale +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#BD30B4 +[end] +[_line] +type=0x1f +;GRMN_TYPE: Water Features/RIVER/Large stream or river/Non NT +UseOrientation=Y +LineWidth=7 +Xpm="0 0 1 0" +"1 c #AAD3DF" +String=River +String1=0x01,Rivière, Canal +String2=0x02,Fluß, Kanal +String3=0x04,River, Canal +String4=0x03,Rivier, Kanaal +String7=0x15,Rzeka, Kanał +String8=0x10,Rio / Canal +String9=0x05,Fiume/Canale +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +[end] +[_line] +type=0x20 +;GRMN_TYPE: Contour Lines/MINOR_CONTOUR/Minor land-based contour line/Non NT +UseOrientation=N +Xpm="32 1 2 1" +"! c #DBB793" +" c none" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +;12345678901234567890123456789012 +String=Contour Line +String1=0x01,Courbe de niveau (20 m) +String2=0x02,Höhenlinie (20 m) +String3=0x04,Contour (20 m) +String4=0x03,Contour (20 m) +String7=0x15,Warstwica (20 m) +String8=0x10,Contorno (20 m) +String9=0x05,Curva di livello (20 m) +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x21 +;GRMN_TYPE: Contour Lines/INT_CONTOUR/Intermediate contour (should be used for about every 5th contour line)/Non NT +UseOrientation=N +LineWidth=1 +Xpm="0 0 1 0" +"1 c #D3A87C" +String=Contour Line +String1=0x01,Courbe de niveau (100 m) +String2=0x02,Höhenlinie(100 m) +String3=0x04,Contour (100 m) +String4=0x03,Contour (100 m) +String7=0x15,Warstwica (100 m) +String8=0x10,Contorno (100 m) +String9=0x05,Curva di livello (100 m) +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#996633 +[end] +[_line] +type=0x22 +;GRMN_TYPE: Contour Lines/MAJOR_CONTOUR/Major contour (should be used for about every 10th contour line)/Non NT +UseOrientation=N +LineWidth=1 +Xpm="0 0 1 0" +"1 c #CC9966" +String=Contour Line +String1=0x01,Courbe de niveau (500 m) +String2=0x02,Höhenlinie (500 m) +String3=0x04,Contour (500 m) +String4=0x03,Contour (500 m) +String7=0x15,Warstwica (500 m) +String8=0x10,Contorno (500 m) +String9=0x05,Curva di livello (500 m) +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#996633 +[end] +[_line] +type=0x26 +;GRMN_TYPE: Water Features/INTERMITTENT_STREAM/Intermittent or dry stream, creek, or ditch/Non NT +UseOrientation=Y +Xpm="32 3 2 1" +"! c #AAD3DF" +" c none" +" !!!!! !!!!! !!!!! !!!!! " +" !!!!! !!!!! !!!!! !!!!! " +" !!!!! !!!!! !!!!! !!!!! " +;12345678901234567890123456789012 +String=Intermittent Stream +String1=0x01,Ruisseau intermittent +String2=0x02,Wasserlauf (periodisch) +String4=0x03,Beek (Periodiek) +String7=0x15,Strumień +String8=0x10,Córrego intermitente +String9=0x05,Torrente (discontinuo) +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +[end] +[_line] +type=0x27 +;GRMN_TYPE: Misc. Line Types/AIRPORT_RUNWAY/Airport runway centerline/Non NT +UseOrientation=Y +LineWidth=12 +Xpm="0 0 1 0" +"1 c #BBBBCC" +String=Runway +String1=0x01,Piste d’aviation +String2=0x02,Startbahn +String4=0x03,Landingsbaan +String7=0x15,Pas startowy +String8=0x10,Pista +String9=0x05,Pista di aviazione +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x28 +;GRMN_TYPE: Misc. Line Types/PIPELINE/Oil or water pipeline/Non NT +UseOrientation=Y +Xpm="32 5 2 1" +"! c #626262" +" c none" +" ! ! ! ! " +" ! ! ! ! " +" !!!!!!!!!!!!!! !!!!!!!!!!!!!! " +" ! ! ! ! " +" ! ! ! ! " +;12345678901234567890123456789012 +String=Pipeline +String1=0x01,Pipeline +String2=0x02,Rohr +String4=0x03,Pijpleiding +String7=0x15,Rurociąg +String8=0x10,Tubulação +String9=0x05,Conduttura +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x29 +;GRMN_TYPE: Misc. Line Types/POWERLINE/Powerline/Non NT +UseOrientation=Y +LineWidth=1 +Xpm="0 0 2 0" +"1 c #737373" +"2 c #FFFFFF" +String=Powerline +String1=0x01,Ligne électrique +String2=0x02,Hochspannungskabel +String4=0x03,Hoogspanningskabel +String7=0x15,Kabel wysokiego napięcia +String8=0x10,Cabo de força +String9=0x05,Linea elettrica +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x30 +;GRMN_TYPE: // +UseOrientation=Y +LineWidth=7 +Xpm="0 0 1 0" +"1 c #FFC0CB" +String=Raceway +String1=0x01,Circuit +String2=0x02,Rennstrecke +String4=0x03,Circuit +String7=0x15,Tor wyścigowy +String8=0x10,Pista de corrida +String9=0x05,Pista +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x10801 +;GRMN_TYPE: // +UseOrientation=N +LineWidth=5 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #F9B29C" +"2 c #D87559" +String=Roundabout +String1=0x01,Voie d’accès +String2=0x02,Schnellstraße (verbindung) +String4=0x03,Autoweg (Verbinding) +String7=0x15,Droga szybkiego ruchu (łącznik) +String8=0x10,Ligação de via expressa +String9=0x05,Superstrada (collegamento) +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x10802 +;GRMN_TYPE: // +UseOrientation=N +LineWidth=5 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FCD6A4" +"2 c #C5A363" +String=Roundabout +String1=0x01,Voie d’accès +String2=0x02,Bundesstraße (Verbindung) +String4=0x03,Primair (Verbinding) +String7=0x15,Droga krajowa (łącznik) +String8=0x10,Ligação de via primária +String9=0x05,Strada principale (collegamento) +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x10803 +;GRMN_TYPE: // +UseOrientation=Y +LineWidth=5 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #F7FABF" +"2 c #BBC279" +String=Roundabout +String1=0x01,Voie d’accès +String2=0x02,Bundesstraße (Verbindung) +String4=0x03,Secundair (Verbinding) +String7=0x15,Droga wojewódzka (łącznik) +String8=0x10,Ligação de via secundária +String9=0x05,Strada principale (collegamento) +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x10804 +;GRMN_TYPE: // +UseOrientation=N +LineWidth=8 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FFFFFF" +"2 c #C5C5C5" +String=Roundabout +String1=0x01,Route tertiaire +String2=0x02,Straße +String4=0x03,Tertiair +String7=0x15,Droga powiatowa +String8=0x10,Via terciária +String9=0x05,Strada +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +[end] +[_line] +type=0x10a02 +;GRMN_TYPE: Water Features/INTERMITTENT_STREAM(NT)/Intermittent or dry stream, creek, or ditch/NT +; not used by default style +UseOrientation=Y +Xpm="32 6 2 1" +"! c #AAD3DF" +" c none" +" !! !! !! !! !! !! !! !! " +" !! !! !! !! !! !! !! !! " +" !! !! !! !! !! !! !! !! " +" !! !! !! !! !! !! !! !! " +" !! !! !! !! !! !! !! !! " +" !! !! !! !! !! !! !! !! " +;12345678901234567890123456789012 +String=River/Wadi (Intermittent) +String1=0x01,Cours d’eau (intermittent) +String2=0x02,Fluß (Periodisch) +String4=0x03,Rivier (Periodiek) +String7=0x15,Rzeka +String8=0x10,Rio intermitente +String9=0x05,Fiume (discontinuo) +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x10a06 +;GRMN_TYPE: // +; not used by default style +UseOrientation=N +LineWidth=4 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #BBBBBB" +"2 c #949494" +String=Platform +String1=0x01,Quai +String2=0x02,Plattform +String4=0x03,Perron +String7=0x15,Peron +String8=0x10,Plataforma +String9=0x05,Piattaforma +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] +[_line] +type=0x10c06 +;GRMN_TYPE: // +; not used by default style +UseOrientation=Y +Xpm="32 7 2 1" +"! c #99CCCC" +"# c #FFFFFF" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"!!####!!!!####!!!!####!!!!####!!" +"!!####!!!!####!!!!####!!!!####!!" +"!!####!!!!####!!!!####!!!!####!!" +"!!####!!!!####!!!!####!!!!####!!" +"!!####!!!!####!!!!####!!!!####!!" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +;12345678901234567890123456789012 +String=Road (Construction) +String1=0x01,Route (en travaux) +String2=0x02,Weg (Im bau) +String4=0x03,Weg (In aanleg) +String7=0x15,Droga (w budowie) +String8=0x10,Rodovia em construção +String9=0x05,Strada in costruzione +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +;====================== POINTS ========================== + + +[_point] +type=0x001 +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_10M/Large city with >10 million inhabitants/Non NT +String=City (>1m) +String1=0x01,Capitale +String2=0x02,Hauptstadt +String4=0x03,Hoofdstad +String7=0x15,Stolica +String8=0x10,Capital +String9=0x05,Metropoli +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#414141 +DayXpm="11 11 2 1" Colormode=16 +"! c #737373" +" c none" +" !!!!! " +" ! ! " +" ! ! " +"! !!! !" +"! !!!!! !" +"! !!!!! !" +"! !!!!! !" +"! !!! !" +" ! ! " +" ! ! " +" !!!!! " +;12345678901 +[end] +[_point] +type=0x002 +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_5M, LARGE_CITY/Large city center, typically 1M+ inhabitants/Non NT +String=City (>800k) +String1=0x01,Capitale +String2=0x02,Hauptstadt +String4=0x03,Hoofdstad +String7=0x15,Stolica +String8=0x10,Capital +String9=0x05,Metropoli +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#414141 +DayXpm="11 11 2 1" Colormode=16 +"! c #737373" +" c none" +" !!!!! " +" ! ! " +" ! ! " +"! !!! !" +"! !!!!! !" +"! !!!!! !" +"! !!!!! !" +"! !!! !" +" ! ! " +" ! ! " +" !!!!! " +;12345678901 +[end] +[_point] +type=0x003 +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_2M/Large city with a range of (2, 5] million inhabitants/Non NT +String=City (>400k) +String1=0x01,Ville (>200k) +String2=0x02,Stadt (200t) +String4=0x03,Stad (>200k) +String7=0x15,Miasto (>200 tys.) +String8=0x10,Cidade (>200k) +String9=0x05,Città +ExtendedLabels=Y +FontStyle=LargeFont +CustomColor=Day +DaycustomColor:#414141 +DayXpm="9 9 2 1" Colormode=16 +"! c #737373" +" c none" +" !!!!! " +" ! ! " +"! !" +"! !" +"! !" +"! !" +"! !" +" ! ! " +" !!!!! " +;123456789 +[end] +[_point] +type=0x004 +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_1M/Large city with a range of (1, 2] million inhabitants/Non NT +String=City (>300k) +String1=0x01,Ville (>200k) +String2=0x02,Stadt (200t) +String4=0x03,Stad (>200k) +String7=0x15,Miasto (>200 tys.) +String8=0x10,Cidade (>200k) +String9=0x05,Città +ExtendedLabels=Y +FontStyle=LargeFont +CustomColor=Day +DaycustomColor:#414141 +DayXpm="9 9 2 1" Colormode=16 +"! c #737373" +" c none" +" !!!!! " +" ! ! " +"! !" +"! !" +"! !" +"! !" +"! !" +" ! ! " +" !!!!! " +;123456789 +[end] +[_point] +type=0x005 +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_500K/City with the range of (0.5, 1] million inhabitants/Non NT +String=City (>200k) +String1=0x01,Ville (>200k) +String2=0x02,Stadt (200t) +String4=0x03,Stad (>200k) +String7=0x15,Miasto (>200 tys.) +String8=0x10,Cidade (>200k) +String9=0x05,Città +ExtendedLabels=Y +FontStyle=LargeFont +CustomColor=Day +DaycustomColor:#414141 +DayXpm="9 9 2 1" Colormode=16 +"! c #737373" +" c none" +" !!!!! " +" ! ! " +"! !" +"! !" +"! !" +"! !" +"! !" +" ! ! " +" !!!!! " +;123456789 +[end] +[_point] +type=0x006 +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_200K/City with the range of (200, 500] thousand inhabitants/Non NT +String=Small City / Large Town +String1=0x01,Ville (>50k) +String2=0x02,Stadt (50t) +String4=0x03,Woonplaats (>50k) +String7=0x15,Miasto (>50 tys.) +String8=0x10,Cidade (>50k) +String9=0x05,Città +ExtendedLabels=Y +FontStyle=LargeFont +CustomColor=Day +DaycustomColor:#414141 +DayXpm="9 9 2 1" Colormode=16 +"! c #737373" +" c none" +" !!!!! " +" ! ! " +"! !" +"! !" +"! !" +"! !" +"! !" +" ! ! " +" !!!!! " +;123456789 +[end] +[_point] +type=0x007 +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_100K/City with the range of (100, 200] thousand inhabitants/Non NT +String=Small City / Medium Town +String1=0x01,Ville (>10k) +String2=0x02,Stadt (10t) +String4=0x03,Woonplaats (>10k) +String7=0x15,Miasto (>10 tys.) +String8=0x10,Cidade (>10k) +String9=0x05,Città +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#414141 +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x008 +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_50K, MEDIUM_CITY/Medium city center, typically 50K-1M inhabitants/Non NT +String=Small City / Town +String1=0x01,Village (>5k) +String2=0x02,Dorf (>5t) +String4=0x03,Dorp (>5k) +String7=0x15,Wieś (>5 tys.) +String8=0x10,Povoado (>5k) +String9=0x05,Cittadina +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#414141 +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x009 +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_20K/City with the range of (20, 50] thousand inhabitants/Non NT +String=Small Town / Village +String1=0x01,Village (>5k) +String2=0x02,Dorf (>5t) +String4=0x03,Dorp (>5k) +String7=0x15,Wieś (>5 tys.) +String8=0x10,Povoado (>5k) +String9=0x05,Cittadina +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#414141 +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x00a +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_10K/City with the range of (10, 20] thousand inhabitants/Non NT +String=Small Town / Suburb +String1=0x01,Hameau +String2=0x02,Ort, Weiler +String4=0x03,Gehucht +String7=0x15,Wioska +String8=0x10,Lugarejo +String9=0x05,Paese +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#737373 +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x00b +subtype=0x00 +;GRMN_TYPE: Political Entities/CITY_5K/City with the range of (5, 10] thousand inhabitants/Non NT +String=Hamlet +String1=0x01,Nom +String2=0x02,Name +String4=0x03,Naam +String7=0x15,Nazwa +String8=0x10,Nome +String9=0x05,Borgo +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#737373 +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x020 +subtype=0x00 +;GRMN_TYPE: // +String=Exit +String1=0x01,Sortie +String2=0x02,Ausfahrt +String4=0x03,Afrit +String7=0x15,Zjazd +String8=0x10,Saída +String9=0x05,Uscita +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#BD3000 +DayXpm="8 4 2 1" Colormode=16 +"! c #BD3000" +" c none" +" !! " +"!!!! " +"!!!! " +" !! " +;12345678 +[end] +[_point] +type=0x023 +subtype=0x0f +;GRMN_TYPE: // +String=Services +String1=0x01,Sortie +String2=0x02,Ausfahrt +String4=0x03,Afrit +String7=0x15,Zjazd +String8=0x10,Saída +String9=0x05,Uscita +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#BD3000 +DayXpm="8 4 2 1" Colormode=16 +"! c #BD3000" +" c none" +" !! " +"!!!! " +"!!!! " +" !! " +;12345678 +[end] +[_point] +type=0x02a +subtype=0x00 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT/General restaurant of unknown genre/Non NT +String=Restaurant +String1=0x01,Restaurant +String2=0x02,Restaurant +String4=0x03,Restaurant +String7=0x15,Restauracja +String8=0x10,Restaurante +String9=0x05,Ristorante +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x01 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_AMERICAN/American cuisine/Non NT +String=Restaurant (American/Burger) +String1=0x01,Restaurant (Américain) +String2=0x02,Restaurant +String4=0x03,Restaurant (Amerikaans) +String7=0x15,Restauracja (Amerykańska) +String8=0x10,Restaurante americano +String9=0x05,Ristorante americano +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x02 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_ASIAN/Asian cuisine/Non NT +String=Restaurant (Asian) +String1=0x01,Restaurant (Asiatique) +String2=0x02,Restaurant (Asiatisch) +String4=0x03,Restaurant (Aziatisch) +String7=0x15,Restauracja (Azjatycka) +String8=0x10,Restaurante asiático +String9=0x05,Ristorante asiatico +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x03 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_BARBECUE/Barbecue cuisine/Non NT +String=Restaurant (BBQ/Kebab) +String1=0x01,Restaurant (Grill) +String2=0x02,Restaurant +String4=0x03,Restaurant (BBQ) +String7=0x15,Restauracja (Grill) +String8=0x10,Churrascaria +String9=0x05,Ristorante di grigliate +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x04 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_CHINESE/Chinese cuisine/Non NT +String=Restaurant (Chinese/Vietnamese) +String1=0x01,Restaurant (Chinois) +String2=0x02,Restaurant (Chinesisch) +String4=0x03,Restaurant (Chinees) +String7=0x15,Restauracja (Chińska) +String8=0x10,Restaurante chinês +String9=0x05,Ristorante cinese +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x05 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_DELI/Deli or sandwich shop/Non NT +String=Deli/Bakery +String1=0x01,Restaurant (Grec) +String2=0x02,Restaurant (Griechisch) +String4=0x03,Restaurant (Delicatesse) +String7=0x15,Restauracja (Grecka) +String8=0x10,Restaurante grego +String9=0x05,Gastronomia +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x06 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_INTRNTNL/International cuisine/Non NT +String=Restaurant (International) +String1=0x01,Restaurant (International) +String2=0x02,Restaurant +String4=0x03,Restaurant (Internationaal) +String7=0x15,Restauracja (Międzynarodowa) +String8=0x10,Restaurante Internacional +String9=0x05,Ristorante internazionale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x07 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_FAST_FOOD/Fast food establishment, i.e. McDonalds/Non NT +String=Fast Food +String1=0x01,Restauration rapide +String2=0x02,Restaurant (Fastfood) +String4=0x03,Restaurant (Fastfood) +String7=0x15,Restauracja (Fastfood) +String8=0x10,Lanchonete +String9=0x05,Fast food +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 9 3 1" Colormode=16 +"! c #C77400" +"# c #CD9649" +" c none" +" #!!!!!!!!# " +" #!!!!!!!!!!# " +" !!!!!!!!!!!! " +" !!!!!!!!!!!! " +" " +"#!!!!!!!!!!!!#" +" " +" !!!!!!!!!!!! " +" #!!!!!!!!!!# " +;12345678901234 +[end] +[_point] +type=0x02a +subtype=0x08 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_ITALIAN/Italian cuisine/Non NT +String=Restaurant (Italian) +String1=0x01,Restaurant (Italien) +String2=0x02,Restaurant (Italienisch) +String4=0x03,Restaurant (Italiaans) +String7=0x15,Restauracja (Włoska) +String8=0x10,Restaurante italiano +String9=0x05,Ristorante italiano +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x09 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_MEXICAN/Mexican cuisine/Non NT +String=Restaurant (Mexican/Spanish) +String1=0x01,Restaurant (Mexicain/P) +String2=0x02,Restaurant (Mexikanisch) +String4=0x03,Restaurant (Mexicaans) +String7=0x15,Restauracja (Meksykańska) +String8=0x10,Restaurante mexicano +String9=0x05,Ristorante messicano +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x0a +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_PIZZA/Pizzeria/Non NT +String=Pizzeria +String1=0x01,Pizzeria +String2=0x02,Restaurant (Pizza) +String4=0x03,Restaurant (Pizza) +String7=0x15,Restauracja (Pizza) +String8=0x10,Pizzaria +String9=0x05,Pizzeria +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x0b +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_SEAFOOD/Seafood restaurant/Non NT +String=Restaurant (Seafood) +String1=0x01,Restaurant (Poissons/Fruits de mer) +String2=0x02,Restaurant (Fisch) +String4=0x03,Restaurant (Vis) +String7=0x15,Restauracja (Ryby) +String8=0x10,Restaurante Frutos do Mar +String9=0x05,Ristorante di pesce +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x0c +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_STEAK/Grill and steak brew pub restaurant/Non NT +String=Restaurant (Steak/Grill) +String1=0x01,Restaurant (Steak) +String2=0x02,Restaurant (Steak) +String4=0x03,Restaurant (Steak) +String7=0x15,Restauracja (Steki) +String8=0x10,Restaurante de carnes +String9=0x05,Ristorante di carne +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x0d +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_DONUTS/Donut shop/Non NT +String=Restaurant (Bagel/Donut) +String1=0x01,Restaurant (Beignets) +String2=0x02,Restaurant (Bagel) +String4=0x03,Restaurant (Donuts) +String7=0x15,Restauracja (Pączki) +String8=0x10,Doceria +String9=0x05,Panetteria +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="13 12 3 1" Colormode=16 +"! c #CD9344" +"# c #C77400" +" c none" +" ######### " +" ########### " +" ######### #" +" ######### #" +" ######### #" +" ########### " +" ######### " +" ####### " +" ##### " +" " +"########### " +" !#######! " +;1234567890123 +[end] +[_point] +type=0x02a +subtype=0x0e +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_CAFES/Cafe or coffee shop/Non NT +String=Cafe/Diner +String1=0x01,Café +String2=0x02,Cafe +String4=0x03,Cafe +String7=0x15,Kawiarnia +String8=0x10,Café +String9=0x05,Caffetteria +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="13 12 3 1" Colormode=16 +"! c #CD9344" +"# c #C77400" +" c none" +" ######### " +" ########### " +" ######### #" +" ######### #" +" ######### #" +" ########### " +" ######### " +" ####### " +" ##### " +" " +"########### " +" !#######! " +;1234567890123 +[end] +[_point] +type=0x02a +subtype=0x0f +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_FRENCH/French cuisine/Non NT +String=Restaurant (French) +String1=0x01,Restaurant (Français) +String2=0x02,Restaurant +String4=0x03,Restaurant (Frans) +String7=0x15,Restauracja (Francuska) +String8=0x10,Restaurante francês +String9=0x05,Ristorante francese +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x10 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_GERMAN/German cuisine/Non NT +String=Restaurant (German) +String1=0x01,Restaurant (Allemand) +String2=0x02,Restaurant (Deutsch) +String4=0x03,Restaurant (Duits) +String7=0x15,Restauracja (Niemiecka) +String8=0x10,Restaurante alemão +String9=0x05,Ristorante tedesco +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x11 +;GRMN_TYPE: Business - Food and Drink/RESTAURANT_BRITISH/British cuisine/Non NT +String=Restaurant (British/Fish & Chips) +String1=0x01,Restaurant (Anglais) +String2=0x02,Restaurant +String4=0x03,Restaurant (Brits) +String7=0x15,Restauracja (Angielska) +String8=0x10,Restaurante inglês +String9=0x05,Ristorante britannico +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x12 +;GRMN_TYPE: // +String=Restaurant (Speciality/Regional) +String1=0x01,Restaurant (Spécialités) +String2=0x02,Restaurant +String4=0x03,Restaurant (Speciaal) +String7=0x15,Restauracja (Specjalna) +String8=0x10,Restaurante especial +String9=0x05,Ristorante tipico +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x13 +;GRMN_TYPE: // +String=Restaurant (Other) +String1=0x01,Restaurant (Végétarien) +String2=0x02,Restaurant (Vegetarisch) +String4=0x03,Restaurant (Vegetarisch) +String7=0x15,Restauracja (Wegetariańska) +String8=0x10,Restaurante vegetariano +String9=0x05,Ristorante vegetariano +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02a +subtype=0x14 +;GRMN_TYPE: // +; not used by default style +String1=0x01,Restaurant (Régional) +String2=0x02,Restaurant +String3=0x04,Restaurant (Regional) +String4=0x03,Restaurant (Regionaal) +String7=0x15,Restauracja (Regionalna) +String8=0x10,Restaurante regional +String9=0x05,Ristorante regionale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 16 3 1" Colormode=16 +"! c #C77400" +"# c #BD956A" +" c none" +" ! !# ! !! " +" ! !# ! !!!! " +" ! !# ! #!!!!#" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" ! !# ! !!!!!!" +" !!!!!! !!!!!!" +" !!!!!! !!!! " +" !!!! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +;123456789012345 +[end] +[_point] +type=0x02b +subtype=0x01 +;GRMN_TYPE: Business - Lodging/HOTEL/Hotel/Non NT +String=Hotel/Motel +String1=0x01,Hôtel +String2=0x02,Hotel +String4=0x03,Hotel +String7=0x15,Hotel +String8=0x10,Hotel +String9=0x05,Albergo +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#0065D5 +DayXpm="21 10 2 1" Colormode=16 +"! c #0095FF" +" c none" +"!! " +"!! " +"!! !! !!!!! " +"!! !! !!!!!! !! " +"!! !! " +"!!!!!!!!!!!!!!!! " +"!!!!!!!!!!!!!!!! " +"!! !! " +"!! !! " +"!! !! " +;123456789012345678901 +[end] +[_point] +type=0x02b +subtype=0x02 +;GRMN_TYPE: Business - Lodging/BED_AND_BREAKFAST/Bed and breakfast inn/Non NT +String=Bed & Breakfast/Guesthouse +String1=0x01,Chambre d'hôtes +String2=0x02,Pension +String4=0x03,Bed en breakfast +String7=0x15,Pensjonat +String8=0x10,Pensão +String9=0x05,Pensione/Bed and breakfast +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#0065D5 +DayXpm="17 16 3 1" Colormode=16 +"! c #0095FF" +"# c #7BCAFF" +" c none" +" # " +" ### " +" ####### " +" ########### " +" ############# " +" ######### " +"!! ######### " +"!! ######### " +"!! !!!####### " +"!! !!!#!!!!!! !!" +"!! !!!#!!!!!!! !!" +"!! ### ### !!" +"!!!!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!!!!" +"!! ### ### !!" +"!! !!" +;12345678901234567 +[end] +[_point] +type=0x02b +subtype=0x05 +;GRMN_TYPE: // +String=Camp/Caravan site +String1=0x01,Camping +String2=0x02,Campingplatz +String4=0x03,Camping +String7=0x15,Kemping +String8=0x10,Camping +String9=0x05,Campeggio +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#0095FF +DayXpm="22 13 2 1" Colormode=16 +"! c #0095FF" +" c none" +" !!!!!!!!!!!!!! " +"!!!!!!!!!!!!!!!! " +"!! !!!! !!! " +"!! !!!! !! " +"!! !!!! !! " +"!!!!!!!!!!!!!!!!! " +"!!!!!!!!!!!!!!!!! " +"!!!!!!!!!!!!!!!!! " +"!!!!!! !!!!!!! " +"!!!!! !! !!!!!!!!! !" +" !!!! !!!! !!!!!!!!! !" +" !!!! " +" !! " +;1234567890123456789012 +[end] +[_point] +type=0x02b +subtype=0x06 +;GRMN_TYPE: // +String=Shelter +String1=0x01,Abri +String2=0x02,Schutzhütte +String4=0x03,Schuilplek +String7=0x15,Schronienie +String8=0x10,Cabana +String9=0x05,Rifugio +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="16 16 2 1" Colormode=16 +"! c #666666" +" c none" +" " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! !! ! " +" !!!! " +" !!! !!! " +" !!! !!! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +;1234567890123456 +[end] +[_point] +type=0x02b +subtype=0x07 +;GRMN_TYPE: // +String=Wilderness Hut +String1=0x01,Refuge +String2=0x02,Bergschutzhütte +String4=0x03,Bergschuilhut +String7=0x15,Schronisko +String8=0x10,Cabana +String9=0x05,Bivacco +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#0065D5 +DayXpm="14 14 2 1" Colormode=16 +"! c #0095FF" +" c none" +" !! " +" !! " +" !!!!! " +" !!!!!!!! " +" !!!!! !!!!! " +"!!! !! !!!" +"!!! !! !!!" +" !! !! !! " +" !! !! !! " +" !! !!!!!! !! " +" !! !!!!!! !! " +" !! !! !! !! " +" !! !! !! !! " +" !! !!!!!! !! " +;12345678901234 +[end] +[_point] +type=0x02c +subtype=0x01 +;GRMN_TYPE: Business - Attractions/THEME_PARK/Amusement or theme park, i.e. Disneyland/Non NT +String=Amusement/Theme Park +String1=0x01,Parc d'attractions +String2=0x02,Freizeitpark +String4=0x03,Attractiepark +String7=0x15,Park rozrywki +String8=0x10,Parque temático / diversão +String9=0x05,Parco a tema +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#006500 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x02c +subtype=0x02 +;GRMN_TYPE: Business - Attractions/MUSEUM/Museum or historical society/Non NT +String=Museum/Historical +String1=0x01,Musée +String2=0x02,Museum +String4=0x03,Museum +String7=0x15,Muzeum +String8=0x10,Museu +String9=0x05,Museo +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="20 13 2 1" Colormode=16 +"! c #734A08" +" c none" +" !! " +" !!!!!! " +" !!!!!!!!!! " +" !!!!!!!!!!!!!! " +" " +" !!!!!!!!!!!!!! " +" !!! !!!! !!! " +" !! !! !! " +" !! !! !! " +" !! !! !! " +" !! !! !! " +" !!!!!!!!!!!!!! " +"!!!!!!!!!!!!!!!! " +;12345678901234567890 +[end] +[_point] +type=0x02c +subtype=0x03 +;GRMN_TYPE: Business - Attractions/LIBRARY/Library/Non NT +String=Library +String1=0x01,Bibliothèque +String2=0x02,Bibliothek +String4=0x03,Bibliotheek +String7=0x15,Biblioteka +String8=0x10,Biblioteca +String9=0x05,Biblioteca +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="20 12 2 1" Colormode=16 +"! c #734A08" +" c none" +"! ! " +"! !!! !!! ! " +"! !!!!! !!!!! ! " +"! !!!!! !!!!! ! " +"! !!!!! !!!!! ! " +"! !!!!! !!!!! ! " +"! !!!!! !!!!! ! " +"! !!!! !!!! ! " +"! !! !! ! " +"!!! !!! " +" !! !! " +" !!!!! " +;12345678901234567890 +[end] +[_point] +type=0x02c +subtype=0x04 +;GRMN_TYPE: Business - Attractions/LANDMARK/Landmark/Non NT +String=Landmark/Arts/Attraction/Viewpoint +String1=0x01,Point de vue, œuvre d'art, attraction +String2=0x02,Aussichtspunkt, Kunstwerk, Attraktion +String4=0x03,Bezienswaardigheid +String7=0x15,Sztuka, Atrakcja, Punkt widokowy +String8=0x10,Atração +String9=0x05,Opera/Veduta +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="12 17 2 1" Colormode=16 +"! c #734A08" +" c none" +" !! " +" !!!! " +" !!!! " +" !! " +" " +" !!!!!! " +" !!!!!! " +" !!!!!! " +" !!!! " +" !! " +" !! " +" !! " +" " +" !!!!!! " +" " +"!!!!!!!! " +"!!!!!!!! " +;123456789012 +[end] +[_point] +type=0x02c +subtype=0x05 +;GRMN_TYPE: Business - Attractions/SCHOOL/School/Non NT +String=Education +String1=0x01,École +String2=0x02,Schule +String4=0x03,Educatie +String7=0x15,Edukacja +String8=0x10,Escola +String9=0x05,Scuola +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#4D4D00 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x02c +subtype=0x06 +;GRMN_TYPE: Business - Attractions/GARDEN, PARK/Garden, park/Non NT +String=Park/Garden/Playground +String1=0x01,Aire de jeu +String2=0x02,Spielplatz +String4=0x03,Speelplaats +String7=0x15,Plac zabaw +String8=0x10,Parque infantil +String9=0x05,Parco giochi +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="18 17 2 1" Colormode=16 +"! c #009500" +" c none" +" !! " +" !!!! " +" !!!! !! " +" !! !!!! " +" !!!! " +" !! !! " +" !! " +" !!!! !! " +" !!!! !! " +"!!!!!!! !!!! " +"!!!!!!!!!! !!!! " +" !!!!!!!!!!!!!" +" !! !!!!!!" +" !! " +" !!!! " +" !!!!!! " +" !!!!!!!! " +;123456789012345678 +[end] +[_point] +type=0x02c +subtype=0x07 +;GRMN_TYPE: Business - Attractions/ZOO/Zoo/Non NT +String=Zoo/Aquarium +String1=0x01,Zoo +String2=0x02,Zoo +String4=0x03,Dierentuin +String7=0x15,Zoo +String8=0x10,Zoológico +String9=0x05,Zoo/Acquario +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#660033 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x02c +subtype=0x08 +;GRMN_TYPE: Business - Attractions/ARENA/Arena or track/Non NT +String=Arena/Track +String1=0x01,Sport +String2=0x02,Sport +String4=0x03,Sport +String7=0x15,Sport +String8=0x10,Esporte +String9=0x05,Sport +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#3D9171 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x02c +subtype=0x09 +;GRMN_TYPE: Business - Attractions/HALL/Auditorium or hall/Non NT +String=Hall/Auditorium +String1=0x01,Auditorium +String2=0x02,Konferenzzentrum +String4=0x03,Conferentiecentrum +String7=0x15,Centrum konferencyjne +String8=0x10,Conferência +String9=0x05,Fiera +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x02c +subtype=0x0a +;GRMN_TYPE: Business - Attractions/WINERY/Winery/Non NT +String=Winery +String1=0x01,Cave à vin +String2=0x02,Weinkeller +String4=0x03,Wijnmaker +String7=0x15,Winiarnia +String8=0x10,Adega +String9=0x05,Cantina +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x02c +subtype=0x0b +;GRMN_TYPE: Business - Attractions/PLACE_OF_WORSHIP/Religious place of worship/Non NT +String=Place of Worship +String1=0x01,Lieu de culte +String2=0x02,Religiöses Gebäude +String4=0x03,Gebedshuis +String7=0x15,Budynek religijny +String8=0x10,Edifício religioso +String9=0x05,Luogo di culto +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#000000 +DayXpm="12 15 2 1" Colormode=16 +"! c #000000" +" c none" +" !! " +" !!!! " +" !!!! " +" !! " +" ! " +"!! !!!! " +" !!!!!!!! " +" !! !!!! " +" !!!! " +" !!!! " +" !!!! " +" !!! " +" !!! " +" !!!!!!! " +" !!!!!!!!" +;123456789012 +[end] +[_point] +type=0x02c +subtype=0x0c +;GRMN_TYPE: // +String=Hot Spring / Volcano +String1=0x01,Volcan +String2=0x02,Vulkan +String4=0x03,Vulkaan +String7=0x15,Wulkan +String8=0x10,Vulcão +String9=0x05,Vulcano +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#BD3000 +DayXpm="14 10 2 1" Colormode=16 +"! c #D40000" +" c none" +" ! " +" ! " +" !!! " +" !!! " +" !!!!! " +" !!!!! " +" !!!!!!! " +" !!!!!!! " +"!!!!!!!!! " +"!!!!!!!!! " +;12345678901234 +[end] +[_point] +type=0x02c +subtype=0x0d +;GRMN_TYPE: Business - Attractions/POW_MOSQUE/Religious place of worship/Non NT +String=Tourist attraction +String1=0x01,Attraction touristique +String2=0x02,Touristenattraktion +String4=0x03,Touristische attractie +String7=0x15,Atrakcja turystyczna +String8=0x10,Atração turística +String9=0x05,Attrazione turistica +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#660033 +DayXpm="10 5 2 1" Colormode=16 +"! c #660033" +" c none" +" !!! " +"!!!!! " +"!!!!! " +"!!!!! " +" !!! " +;1234567890 +[end] +[_point] +type=0x02d +subtype=0x01 +;GRMN_TYPE: Business - Entertainment/LIVE_THEATER/Live theater/Non NT +String=Live Theatre +String1=0x01,Théâtre +String2=0x02,Theater +String4=0x03,Theater +String7=0x15,Teatr +String8=0x10,Teatro +String9=0x05,Teatro +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="18 13 2 1" Colormode=16 +"! c #734A08" +" c none" +"!!!!!!!! " +"! ! " +"! ! ! ! " +"! !!!!!!!! " +"! ! !!!!!!!!! " +"! ! !!! !! !! " +"! !! !!!!!!!! " +"! !!!!!!!! " +" ! !!! !!! " +" !!!!!! !! !! " +" !! !! !! " +" !!!!!! " +" !!!! " +;123456789012345678 +[end] +[_point] +type=0x02d +subtype=0x02 +;GRMN_TYPE: Business - Entertainment/BAR/Bar or club/Non NT +String=Bar/Nightclub +String1=0x01,Bar +String2=0x02,Bar +String3=0x04,Pub +String4=0x03,Bar +String7=0x15,Bar +String8=0x10,Bar +String9=0x05,Bar +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="13 12 2 1" Colormode=16 +"! c #C77400" +" c none" +"!!!!!!!!!!!!!" +" !!!!!!!!!!! " +" !!!!!!!!! " +" !!!!!!! " +" !!!!! " +" !!! " +" ! " +" ! " +" ! " +" ! " +" !!! " +" !!!!!!! " +;1234567890123 +[end] +[_point] +type=0x02d +subtype=0x03 +;GRMN_TYPE: Business - Entertainment/MOVIE_THEATER/Movie theater or cinema/Non NT +String=Movie Theatre +String1=0x01,Cinéma +String2=0x02,Kino +String3=0x04,Cinema +String4=0x03,Bioscoop +String7=0x15,Kino +String8=0x10,Cinema +String9=0x05,Cinema +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="16 13 2 1" Colormode=16 +"! c #734A08" +" c none" +"!!!!!!!!!!!! " +"! ! ! ! " +"!!! !!! " +"! ! ! ! " +"!!! !!! " +"! ! ! ! " +"!!!!!!!!!!!! " +"! ! ! ! " +"!!! !!! " +"! ! ! ! " +"!!! !!! " +"! ! ! ! " +"!!!!!!!!!!!! " +;1234567890123456 +[end] +[_point] +type=0x02d +subtype=0x04 +;GRMN_TYPE: Business - Entertainment/CASINO/Casino/Non NT +String=Casino +String1=0x01,Casino +String2=0x02,Casino +String4=0x03,Casino +String7=0x15,Kasyno +String8=0x10,Cassino +String9=0x05,Sala da gioco +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="16 15 2 1" Colormode=16 +"! c #734A08" +" c none" +" !!! " +" !!!!! " +" !!! !! " +" !!!! !!! " +"!!!!!!!!!!! " +"!!!!!!! " +"!! !! !!!!!!! " +"!! !! !!!!!!!!!" +" !!!!! !!!!! !!" +" !!!! !!!!! !!" +" !!! !!!!!!!!!" +" !! !! !!!!!" +" !! !!!!!" +" !!!!!!!!!" +" !!!!!!! " +;1234567890123456 +[end] +[_point] +type=0x02d +subtype=0x05 +;GRMN_TYPE: Business - Entertainment/GOLF_COURSE/Golf course/Non NT +String=Golf Course +String1=0x01,Golf +String2=0x02,Golfplatz +String4=0x03,Golfbaan +String7=0x15,Golf +String8=0x10,Campo de golfe +String9=0x05,Campo da golf +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#009500 +DayXpm="19 18 2 1" Colormode=16 +"! c #009500" +" c none" +" !! " +"! !! " +"!! !! " +"!!! !! !! " +"!!!! !!!! !! " +"!!!!! !!!! !! " +"!!!! !! !! " +"!!! !! " +"!! !!!! " +"! !!!! " +"! !!!! " +"! !!!! " +"! !!!! " +"! !! !! " +"! !! !! " +"! !! !! " +"! !! !! " +"! !! !! " +;1234567890123456789 +[end] +[_point] +type=0x02d +subtype=0x06 +;GRMN_TYPE: Business - Entertainment/SKI_CENTER/Ski area or resort/Non NT +String=Skiing Center/Resort +String1=0x01,Ski +String2=0x02,Ski +String4=0x03,Ski +String7=0x15,Narty +String8=0x10,Esqui +String9=0x05,Centro sciistico +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#009500 +DayXpm="16 13 2 1" Colormode=16 +"! c #009500" +" c none" +" ! " +" !!! " +" !!!!! ! " +" !!!!!! !!!" +" !! !!! !!!" +" !! !! ! " +"!! !!! ! " +"!!!! !! !! " +" !!!! " +" !!!! " +" !!!! " +" !!!! ! " +" !!!!! " +;1234567890123456 +[end] +[_point] +type=0x02d +subtype=0x07 +;GRMN_TYPE: Business - Entertainment/BOWLING/Bowling alley/Non NT +String=Bowling Center +String1=0x01,Bowling +String2=0x02,Bowling +String3=0x04,Bowling Alley +String4=0x03,Bowlingbaan +String7=0x15,Kręgle +String8=0x10,Boliche +String9=0x05,Sala da bowling +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#009500 +DayXpm="18 16 2 1" Colormode=16 +"! c #009500" +" c none" +" !! " +" !!!! " +" !!!! " +" !! " +" " +" !! " +" " +" !!! !! " +" !!! !!! !!!! " +" !!! !! !!!!!! " +"!!!!!!!!! !!!!! " +"!!!! ! ! !!!!! " +"!!! ! !! !!!!! " +" !!!!!!! !!!!!! " +" !!!!!!! !!!!!! " +" !!! !!!! " +;123456789012345678 +[end] +[_point] +type=0x02d +subtype=0x08 +;GRMN_TYPE: Business - Entertainment/ICE_SKATING/Ice skating rink/Non NT +String=Ice Skating +String1=0x01,Patinoire +String2=0x02,Eisbahn +String4=0x03,Schaatsbaan +String7=0x15,Lodowisko +String8=0x10,Patinação no gelo +String9=0x05,Pista di pattinaggio +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#009500 +DayXpm="15 12 3 1" Colormode=16 +"! c #009500" +"# c #009500" +" c none" +" ##### " +" #!!!! " +" #!!!! " +" #!!!!! " +" #!!!!!!! " +" #!!!!!!!!! " +" #!!!!!!!!!! " +" !!!!!!!!!! " +" ! ! " +" ! ! #" +"###!!!!!!!!!###" +"############## " +;123456789012345 +[end] +[_point] +type=0x02d +subtype=0x09 +;GRMN_TYPE: Business - Entertainment/SWIMMING_POOL/Swimming pool/Non NT +String=Swimming Pool +String1=0x01,Piscine +String2=0x02,Schwimmbad +String4=0x03,Zwembad +String7=0x15,Basen +String8=0x10,Piscina +String9=0x05,Piscina +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#009500 +DayXpm="19 13 2 1" Colormode=16 +"! c #009500" +" c none" +" !! " +" !!!! " +" !!! " +" !! !! " +" !!! !!!! " +" !!! !!!! " +" !!!!!! !! " +" !!!!!!!!! " +" ! !!! ! " +" " +" !!! !!! !!! " +"!!!!!!!!!!!!!!! " +"! !! !! ! " +;1234567890123456789 +[end] +[_point] +type=0x02d +subtype=0x0a +;GRMN_TYPE: Business - Entertainment/FITNESS_CENTER/Fitness center or gym/Non NT +String=Sports Fitnes Center +String1=0x01,Centre sportif +String2=0x02,Sportzentrum +String4=0x03,Sportcentrum +String7=0x15,Centrum sportowe +String8=0x10,Centro esportivo +String9=0x05,Centro sportivo +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#006500 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x02d +subtype=0x0b +;GRMN_TYPE: Business - Entertainment/SPORT_AIRPORT/Sport or R-C airport/Non NT +String=Public Sport Airport +String1=0x01,Aéroport +String2=0x02,Flughafen +String4=0x03,Luchthaven +String7=0x15,Lotnisko +String8=0x10,Aeroporto +String9=0x05,Aerodromo +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#8461C4 +DayXpm="16 16 2 1" Colormode=16 +"! c #8461C4" +" c none" +" !! " +" !! " +" !! " +" !! " +" !! " +" !!!! " +" !!!!!!!! " +" !!!!!!!!!!!! " +" !!!!!!!!!!!!!! " +"!!!! !! !!!!" +" !! " +" !! " +" !! " +" !!!! " +" !!!!!!!! " +" !!!! !!!! " +;1234567890123456 +[end] +[_point] +type=0x02e +subtype=0x01 +;GRMN_TYPE: Business - Shopping/DEPARTMENT_STORE/Department store/Non NT +String=Department Store +String1=0x01,Hypermarché +String2=0x02,Kaufhaus +String4=0x03,Warenhuis +String7=0x15,Centrum handlowe +String8=0x10,Shopping Center +String9=0x05,Grande magazzino +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 17 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!!!!! " +" !!!!!! " +" ! ! " +" ! ! " +" ! ! " +"!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!" +"!!!!!! !!!!!!" +"!!!!! !! !!!!!" +"!!!!! ! !!!!!" +"!!!!! !!!!!!" +"!!!! !! !!!!" +"!!!! !!! !!!!" +"!!!! !!!" +"!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!" +;12345678901234 +[end] +[_point] +type=0x02e +subtype=0x02 +;GRMN_TYPE: Business - Shopping/GROCERY_STORE/Grocery store/Non NT +String=Grocery Store +String1=0x01,Boulangerie +String2=0x02,Bäckerei +String4=0x03,Bakker +String7=0x15,Piekarnia +String8=0x10,Padaria +String9=0x05,Alimentari/Drogheria +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 8 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" ! ! ! !! " +" !! !! !! ! " +" !! ! ! !! " +"!!! !! !! !!!" +"!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!" +" !!!!!!!!!!!! " +;12345678901234 +[end] +[_point] +type=0x02e +subtype=0x03 +;GRMN_TYPE: Business - Shopping/GENERAL_STORE/General store/Non NT +String=General Merchandise +String1=0x01,Supermarché +String2=0x02,Supermarkt +String4=0x03,Algemeen +String7=0x15,Supermarket +String8=0x10,Loja +String9=0x05,Supermercato +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="13 11 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" ! " +" !! " +" !! " +" ! " +"!!!!!!!!!!!!!" +"!! ! ! !!" +" !!!!!!!!!!! " +" ! ! ! ! " +" !!!!!!!!!!! " +" !! ! ! " +" !!!!!!!!! " +;1234567890123 +[end] +[_point] +type=0x02e +subtype=0x04 +;GRMN_TYPE: Business - Shopping/SHOPPING_CENTER/Shopping center or mall/Non NT +String=Shopping Center +String1=0x01,Centre commercial +String2=0x02,Einkaufszentrum +String4=0x03,Winkelcentrum +String7=0x15,Centrum handlowe +String8=0x10,Shopping Center +String9=0x05,Centro commerciale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 17 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!!!!! " +" !!!!!! " +" ! ! " +" ! ! " +" ! ! " +"!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!" +"!!!!!! !!!!!!" +"!!!!! !! !!!!!" +"!!!!! ! !!!!!" +"!!!!! !!!!!!" +"!!!! !! !!!!" +"!!!! !!! !!!!" +"!!!! !!!" +"!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!" +;12345678901234 +[end] +[_point] +type=0x02e +subtype=0x05 +;GRMN_TYPE: Business - Shopping/PHARMACY/Pharmacy/Non NT +String=Pharmacy/Chemist +String1=0x01,Pharmacie +String2=0x02,Apotheke +String4=0x03,Apotheek +String7=0x15,Apteka +String8=0x10,Farmácia +String9=0x05,Farmacia +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="10 14 2 1" Colormode=16 +"! c #BF0000" +" c none" +" !!!!!! " +" !!!!!! " +" !!!!!! " +" " +" !!!!!!!! " +"!!!!!!!!!!" +"!!!! !!!!" +"!!!! !!!!" +"!! !!" +"!! !!" +"!!!! !!!!" +"!!!! !!!!" +"!!!!!!!!!!" +"!!!!!!!!!!" +;1234567890 +[end] +[_point] +type=0x02e +subtype=0x06 +;GRMN_TYPE: Business - Shopping/CONVENIENCE_STORE/Convenience store/Non NT +String=Convenience with Auto Fuel +String1=0x01,Station-service +String2=0x02,Tankstellenshop +String4=0x03,Tankstation shop +String7=0x15,Sklep na stacji paliw +String8=0x10,Loja de conveniência +String9=0x05,Negozio +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="5 5 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!! " +"!!!!!" +"!!!!!" +"!!!!!" +" !!! " +;12345 +[end] +[_point] +type=0x02e +subtype=0x07 +;GRMN_TYPE: Business - Shopping/CLOTHING_RETAIL/Clothing store/Non NT +String=Apparel +String1=0x01,Magasin de vêtements +String2=0x02,Bekleidungsgeschäft +String3=0x04,Clothes Shop +String4=0x03,Kleding +String7=0x15,Sklep odzieżowy +String8=0x10,Loja de roupas +String9=0x05,Negozio di abbigliamento +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 11 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!! !!! " +" !!!!! !!!!! " +" !!!!!!!!!!!! " +"!!!!!!!!!!!!!!" +"!!!!!!!!!!!!!!" +" !!!!!!!! " +" !!!!!!!! " +" !!!!!!!! " +" !!!!!!!! " +" !!!!!!!! " +" !!!!!!!! " +;12345678901234 +[end] +[_point] +type=0x02e +subtype=0x08 +;GRMN_TYPE: Business - Shopping/HOME_AND_GARDEN_STORE/House and garden store/Non NT +String=House & Garden +String1=0x01,Jardinerie +String2=0x02,Gartencentrum +String3=0x04,Garden Center +String4=0x03,Huis- en tuin +String7=0x15,Centrum ogrodnicze +String8=0x10,Loja de jardinagem +String9=0x05,Negozio di giardinaggio +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="16 15 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!! " +" !!!!! " +" !! !! " +" !! !!" +" !! !! !!" +" !!! !! !!" +"!!!! !!!!!!!!!" +"!!!!! !!!!!!!!!" +" !!! !!!!!!!!!" +" !!!!!!!!!!!!" +" !!!!!!!!!! " +" !!!!!!!!! " +" !!!!!!!! " +" !!!!!! " +" !!!!! " +;1234567890123456 +[end] +[_point] +type=0x02e +subtype=0x09 +;GRMN_TYPE: Business - Shopping/HOME_FURNISHINGS_STORE/Furniture store/Non NT +String=Home Furnishings +String1=0x01,Magasin d’ameublement +String2=0x02,Möbelgeschäft +String3=0x04,Furniture +String4=0x03,Meubels +String7=0x15,Meble +String8=0x10,Loja de móveis +String9=0x05,Negozio di arredamento +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 10 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!!!!!!!!! " +" !!!!!!!!!!!! " +" !!!!!!!! " +"!! !!!!!!!! !!" +"!!! !!!!!! !!!" +" !! !! " +" !!!!!!!!!!!! " +" !!!!!!!!!!!! " +" !!!!!!!!!!!! " +" !!! !!! " +;12345678901234 +[end] +[_point] +type=0x02e +subtype=0x0a +;GRMN_TYPE: Business - Shopping/SPECIALTY_RETAIL/Specialty store/Non NT +String=Speciality Retail / Organic +String1=0x01,Magasin +String2=0x02,Geschäft +String4=0x03,Winkel +String7=0x15,Sklep +String8=0x10,Loja +String9=0x05,Negozio +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="5 5 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!! " +"!!!!!" +"!!!!!" +"!!!!!" +" !!! " +;12345 +[end] +[_point] +type=0x02e +subtype=0x0b +;GRMN_TYPE: Business - Shopping/SOFTWARE_RETAIL/Computer software store/Non NT +String=Computer/Software +String1=0x01,Magasin d’électronique +String2=0x02,Computerhandel +String4=0x03,Elektronica +String7=0x15,Elektronika +String8=0x10,Loja de eletrônicos +String9=0x05,Negozio di elettronica +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 14 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !! !! " +" !! !! " +" !!!! " +" !! " +" !!!!!!!!!!!! " +"!!!!!!!!!!!!!!" +"!!! !! !" +"!! ! !" +"!! !!!!" +"!! ! !" +"!! ! !" +"!!! !!!!!" +"!!!!!!!!!!!!!!" +" !!!!!!!!!!!! " +;12345678901234 +[end] +[_point] +type=0x02e +subtype=0x0c +;GRMN_TYPE: // +String=Shop +String1=0x01,Magasin +String2=0x02,Geschäft +String4=0x03,Winkel +String7=0x15,Sklep +String8=0x10,Loja +String9=0x05,Negozio +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="5 5 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!! " +"!!!!!" +"!!!!!" +"!!!!!" +" !!! " +;12345 +[end] +[_point] +type=0x02f +subtype=0x01 +;GRMN_TYPE: Business - Services/GAS_STATION/Gas, fuel station/Non NT +String=Auto-Fuel Station +String1=0x01,Station-essence +String2=0x02,Tankstelle +String4=0x03,Tankstation +String7=0x15,Stacja paliw +String8=0x10,Posto de combustível +String9=0x05,Stazione di servizio +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#3E8BFD +DayXpm="12 14 3 1" Colormode=16 +"! c #0095FF" +"# c #F2EFE9" +" c none" +" !! " +" !!!!!! !!!" +"!!!!!!!! !!" +"! ! !" +"! !! #!" +"! ! !#!" +"!!!!!!!! !#!" +"!!!!!!!!#!#!" +"!!!!!!!!#!#!" +"!!!!!!!!#!#!" +"!!!!!!!!#! !" +"!!!!!!!!# ! " +"!!!!!!!!####" +"!!!!!!!! " +;123456789012 +[end] +[_point] +type=0x02f +subtype=0x02 +;GRMN_TYPE: Business - Services/AUTO_RENTAL/Car rental location/Non NT +String=Car rental +String1=0x01,Location de voitures +String2=0x02,Autoverleih +String4=0x03,Autoverhuur +String7=0x15,Wypożyczalnia samochodów +String8=0x10,Aluguel de carro +String9=0x05,Noleggio veicoli +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="10 14 2 1" Colormode=16 +"! c #0095FF" +" c none" +" !!! " +"! !!!!!! " +"!! !!!!!!!" +" !! " +" " +" " +" !!!!!! " +" ! ! " +" !! !! " +"!!!!!!!!!!" +"! !!!! !" +"! !!!! !" +"!!!!!!!!!!" +" !! !! " +;1234567890 +[end] +[_point] +type=0x02f +subtype=0x03 +;GRMN_TYPE: Business - Services/AUTO_REPAIR/Car repair, mechanic/Non NT +String=Car Repairs +String1=0x01,Réparation automobile +String2=0x02,Autowerkstatt +String4=0x03,Autogarage +String7=0x15,Garaż +String8=0x10,Garagem +String9=0x05,Riparazione veicoli +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="10 14 2 1" Colormode=16 +"! c #734A08" +" c none" +" !!! " +" !!!!!! " +" !!!!!! " +" !!! " +" " +" " +" !!!!!! " +" ! ! " +" !! !! " +" !!!!!!!! " +"! !!!! !" +"! !!!! !" +"!!!!!!!!!!" +" !! !! " +;1234567890 +[end] +[_point] +type=0x02f +subtype=0x04 +;GRMN_TYPE: Business - Services/AIRPORT/Airport/Non NT +String=Airport +String1=0x01,Aéroport +String2=0x02,Flughafen +String4=0x03,Luchthaven +String7=0x15,Lotnisko +String8=0x10,Aeroporto +String9=0x05,Aerodromo +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#8461C4 +DayXpm="16 16 2 1" Colormode=16 +"! c #8461C4" +" c none" +" !! " +" !! " +" !! " +" !! " +" !! " +" !!!! " +" !!!!!!!! " +" !!!!!!!!!!!! " +" !!!!!!!!!!!!!! " +"!!!! !! !!!!" +" !! " +" !! " +" !! " +" !!!! " +" !!!!!!!! " +" !!!! !!!! " +;1234567890123456 +[end] +[_point] +type=0x02f +subtype=0x05 +;GRMN_TYPE: Business - Services/POST_OFFICE/Post office/Non NT +String=Post Office +String1=0x01,Poste +String2=0x02,Postamt +String4=0x03,Postkantoor +String7=0x15,Poczta +String8=0x10,Correio +String9=0x05,Poste +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 10 2 1" Colormode=16 +"! c #734A08" +" c none" +"!!!!!!!!!!!!!!" +" !!!!!!!!!! " +"! !!!!!!!! !" +"!! !!!!!! !!" +"!!! !!!! !!!" +"!!!! !! !!!!" +"!!! ! ! !!!" +"!! !!! !!! !!" +"! !!!!!!!!!! !" +" !!!!!!!!!!!! " +;12345678901234 +[end] +[_point] +type=0x02f +subtype=0x06 +;GRMN_TYPE: Business - Services/BANK/Bank/Non NT +String=Bank/ATM +String1=0x01,Banque +String2=0x02,Bank +String4=0x03,Bank +String7=0x15,Bank +String8=0x10,Banco +String9=0x05,Banca/Sportello +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="16 11 2 1" Colormode=16 +"! c #734A08" +" c none" +"!!!!!!!!!!!!!! " +"!!! !!! " +"!! !! !! " +"! !!!! ! " +"! !!!! ! " +"! !!!! ! " +"!! !! !! " +"!!! !!! " +"!!!!!!!!!!!!!! " +" " +"!!!!!!!!!!!!!! " +;1234567890123456 +[end] +[_point] +type=0x02f +subtype=0x07 +;GRMN_TYPE: Business - Services/DEALER/Dealer of manufactured goods/Non NT +String=Car/Parts Dealer +String1=0x01,Concessionnaire automobile +String2=0x02,Autohändler +String4=0x03,Autodealer +String7=0x15,Sprzedaż samochodów +String8=0x10,Revenda de carros +String9=0x05,Vendita veicoli +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#BD30B4 +DayXpm="13 10 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!!!!!! " +" !! !! " +" ! ! " +" ! ! " +" !!!!!!!!!!! " +"!! !!!!! !!" +"!! !!!!! !!" +"!!!!!!!!!!!!!" +" !!! !!! " +" !!! !!! " +;1234567890123 +[end] +[_point] +type=0x02f +subtype=0x08 +;GRMN_TYPE: Business - Services/GND_TRANSPORT/Ground transportation status, i.e. a bus station/Non NT +String=Ground Transportation +String1=0x01,Gare routière +String2=0x02,Busbahnhof +String3=0x04,Bus/Railway/Ferry Station +String4=0x03,Busstation +String7=0x15,Przystanek autobusowy +String8=0x10,Estação de ônibus +String9=0x05,Stazione +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#0065FF +DayXpm="21 16 3 1" Colormode=16 +"! c #0095FF" +"# c #F2EFE9" +" c none" +"!!!!!!!!!!!!!!!! " +"!!!!########!!!! " +"!!!###!!!!###!!! " +"!!############!! " +"!!##!!!!!!!!##!! " +"!!##!!!!!!!!##!! " +"!!##!!!!!!!!##!! " +"!!##!!!!!!!!##!! " +"!!############!! " +"!!############!! " +"!!#!!######!!#!! " +"!!#!!######!!#!! " +"!!############!! " +"!!!##!!!!!!##!!! " +"!!!##!!!!!!##!!! " +"!!!!!!!!!!!!!!!! " +;123456789012345678901 +[end] +[_point] +type=0x02f +subtype=0x09 +;GRMN_TYPE: Business - Services/MARINA/Marina/Non NT +String=Marina/Repairs & Storage +String1=0x01,Magasin accastillage et bateaux +String2=0x02,Bootsgeschäft +String3=0x04,Boat Chandler +String4=0x03,Botenwinkel +String7=0x15,Sklep żeglarski +String8=0x10,Loja de iates +String9=0x05,Assistenza imbarcazioni +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="5 5 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!! " +"!!!!!" +"!!!!!" +"!!!!!" +" !!! " +;12345 +[end] +[_point] +type=0x02f +subtype=0x0a +;GRMN_TYPE: Business - Services/WRECKER_SERVICE/Wrecker service/Non NT +String=Wrecker Service +String1=0x01,Dépanneuse +String2=0x02,Schleppdienst +String3=0x04,Scrap Yard +String4=0x03,Sleepdienst +String7=0x15,Holowanie +String8=0x10,Guincho +String9=0x05,Soccorso stradale +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="5 5 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !!! " +"!!!!!" +"!!!!!" +"!!!!!" +" !!! " +;12345 +[end] +[_point] +type=0x02f +subtype=0x0b +;GRMN_TYPE: Business - Services/PARKING/Parking/Non NT +String=Parking +String1=0x01,Parking +String2=0x02,Parking +String4=0x03,Parkeerplaats +String7=0x15,Parking +String8=0x10,Estacionamento +String9=0x05,Parcheggio +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#3E8BFD +DayXpm="15 13 2 1" Colormode=16 +"! c #0095FF" +" c none" +"!!!!!!! " +"!!!!!!!! " +"!! !!! " +"!! !! " +"!! !! " +"!! !!! " +"!!!!!!!! " +"!!!!!!! " +"!! " +"!! " +"!! " +"!! " +"!! " +;123456789012345 +[end] +[_point] +type=0x02f +subtype=0x0c +;GRMN_TYPE: Business - Services/REST_AREA_TOURIST_INFO/Rest area, Tourist information/Non NT +String=Rest Area / Tourist Info +String1=0x01,WC +String2=0x02,WC +String3=0x04,Toilets +String4=0x03,Toilet +String7=0x15,Toaleta +String8=0x10,Banheiro +String9=0x05,Servizi igienici +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 14 2 1" Colormode=16 +"! c #734A08" +" c none" +" ! " +" !! ! !! " +" !!!! ! !!!! " +" !! ! !! " +" ! " +" !!!! ! !!!!!!" +" !!!! ! !!!!!!" +" !! ! !!!! " +" !! ! !!!! " +" !!!! ! !! " +"!!!!!! ! !! " +" !! ! !! " +" !! ! !! " +" !! ! !! " +;123456789012345 +[end] +[_point] +type=0x02f +subtype=0x0d +;GRMN_TYPE: Business - Services/AUTO_CLUB/Automobile club/Non NT +String=Automobile Club +String1=0x01,Club automobile +String2=0x02,Automobilclub +String4=0x03,Auto club +String7=0x15,Klub samochodowy +String8=0x10,Clube automobilístico +String9=0x05,Amministrazione veicoli +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x02f +subtype=0x0e +;GRMN_TYPE: Business - Services/CAR_WASH/Car wash/Non NT +String=Car Wash +String1=0x01,Lavage-auto +String2=0x02,Autowaschanlage +String4=0x03,Autowasstraat +String7=0x15,Myjnia +String8=0x10,Lava jato +String9=0x05,Lavaggio veicoli +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="10 14 2 1" Colormode=16 +"! c #734A08" +" c none" +" !!!!!! " +" " +" ! !! ! " +" ! !! ! " +"! !! !" +" " +" !!!!!! " +" ! ! " +" !! !! " +"!!!!!!!!!!" +"! !!!! !" +"! !!!! !" +"!!!!!!!!!!" +" !! !! " +;1234567890 +[end] +[_point] +type=0x02f +subtype=0x10 +;GRMN_TYPE: Business - Services/SERVICES_PERSONAL/Personal services/Non NT +String=Personal Service +String1=0x01,Coiffeur +String2=0x02,Friseur +String3=0x04,Hairdresser +String4=0x03,Kapper +String7=0x15,Fryzjer +String8=0x10,Cabeleireiro +String9=0x05,Servizi per la persona +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 14 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" !! !!!!! " +" !! !!!!!!" +" !! !!" +" !! !!!!!!" +" !! !!" +" !! !!!!!!" +" !! !!" +" !! !!!!!!" +" !! !!" +" !!!!!!!! !!" +"!! !!!! !! !!" +"! !! ! !!" +"!! !!!! !! !!" +" !!! !!! !!" +;12345678901234 +[end] +[_point] +type=0x02f +subtype=0x12 +;GRMN_TYPE: Business - Services/COMMUNICATION_SERVICES/Communication services/Non NT +String=Communications +String1=0x01,Wifi +String2=0x02,Wifi +String4=0x03,Wifi +String7=0x15,Wifi +String8=0x10,Wifi +String9=0x05,Servizi di comunicazione +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="11 11 2 1" Colormode=16 +"! c #737373" +" c none" +" !!!!!!" +" !! " +" ! !!!!!" +" ! !! " +" ! ! !!!" +"! ! !! " +"! ! ! " +"! ! ! !!!" +"! ! ! !!!!" +"! ! ! !!!!" +"! ! ! !!!!" +;12345678901 +[end] +[_point] +type=0x02f +subtype=0x13 +;GRMN_TYPE: Business - Services/REPAIR_SERVICE/Repair service/Non NT +String=Repair Service +String1=0x01,Vélo +String2=0x02,Rad +String3=0x04,Bicycle +String4=0x03,Fietsen +String7=0x15,Rower +String8=0x10,Bicicleta +String9=0x05,Servizi di riparazione +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#BD30B4 +DayXpm="16 11 2 1" Colormode=16 +"! c #BD30B4" +" c none" +" ! " +" !!!! !! " +" !! ! " +" !!!!!! " +" !! !! " +" !!!! !!!!!! " +"!! !!! !! !! " +"! ! ! ! " +"! ! ! ! " +"!! !! !! !! " +" !!!! !!!! " +;1234567890123456 +[end] +[_point] +type=0x02f +subtype=0x14 +;GRMN_TYPE: Business - Services/SOCIAL_SERVICES/Social services/Non NT +String=Social Service +String1=0x01,Services sociaux +String2=0x02,Soziale Einrichtung +String4=0x03,Sociale instelling +String7=0x15,Social +String8=0x10,Social +String9=0x05,Istituzione sociale +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="19 16 2 1" Colormode=16 +"! c #734A08" +" c none" +" !! " +" !!!! " +"!! !!!! !! " +"!! !! !! " +"!! !! " +"!! !! !! " +"!! !!!! !! " +"!! !!!! !! " +"!! !!!! !! " +"!! !!!! !! " +" !! !! " +" !! !! " +" !!!! !!!! " +" !!!! !!!! " +" !!!! !!!! " +" !!!! !!!! " +;1234567890123456789 +[end] +[_point] +type=0x02f +subtype=0x15 +;GRMN_TYPE: Business - Services/UTILITY/Utility (gas, electric, water) services/Non NT +String=Utility +String1=0x01,Déchetterie +String2=0x02,Recycling +String3=0x04,Postbox / Recycling +String4=0x03,Glasbak +String7=0x15,Recykling +String8=0x10,Reciclagem +String9=0x05,Punto di raccolta +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="17 17 2 1" Colormode=16 +"! c #734A08" +" c none" +" !! !! " +" !! !!! " +" !!! !! ! " +" !!! !!!! " +" !!! !!! " +" !! !!!! " +" " +" !!!! !!! " +" !!! !!! " +" !!!! !!!" +"!!! ! !!!" +"!!! !!" +"!!! ! " +" ! !!! !!!!! " +" !!!!! !!!!!! " +" !!!!! !!!! " +" ! " +;12345678901234567 +[end] +[_point] +type=0x02f +subtype=0x16 +;GRMN_TYPE: Business - Services/TRUCK_STOP/Truck stop/Non NT +String=Truck Stop +String1=0x01,Station-essence +String2=0x02,Tankstelle +String4=0x03,Tankstation +String7=0x15,Stacja paliw +String8=0x10,Posto de combustível +String9=0x05,Stazione di servizio +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#3E8BFD +DayXpm="12 14 3 1" Colormode=16 +"! c #0095FF" +"# c #F2EFE9" +" c none" +" !! " +" !!!!!! !!!" +"!!!!!!!! !!" +"! ! !" +"! !! #!" +"! ! !#!" +"!!!!!!!! !#!" +"!!!!!!!!#!#!" +"!!!!!!!!#!#!" +"!!!!!!!!#!#!" +"!!!!!!!!#! !" +"!!!!!!!!# ! " +"!!!!!!!!####" +"!!!!!!!! " +;123456789012 +[end] +[_point] +type=0x02f +subtype=0x17 +;GRMN_TYPE: Business - Services/TRANSIT_SERVICES/Mass transit services/Non NT +String=Transit Service +String1=0x01,Arrêt de bus +String2=0x02,Haltestelle +String3=0x04,Bus/Tram Stop / Taxi Rank +String4=0x03,Bushalte +String7=0x15,Przystanek +String8=0x10,Parada de ônibus +String9=0x05,Fermata mezzi pubblici +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="9 11 3 1" Colormode=16 +"! c #0095FF" +"# c #F2EFE9" +" c none" +" !!!!!!!#" +"!! ### !!" +"!!!!!!!!!" +"!#######!" +"!#######!" +"!#######!" +"!!!!!!!!!" +"!##!!! #!" +"!##!!! #!" +"!!!!!!!!!" +"#!!###!!#" +;123456789 +[end] +[_point] +type=0x030 +subtype=0x01 +;GRMN_TYPE: Business - Emergency and Government/POLICE_STATION/Police station/Non NT +String=Police Station +String1=0x01,Police +String2=0x02,Polizei +String4=0x03,Politiekantoor +String7=0x15,Policja +String8=0x10,Polícia +String9=0x05,Forze dell’Ordine +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="15 15 2 1" Colormode=16 +"! c #734A08" +" c none" +" !!!!!! " +" !!!!!! " +" " +" !!!!!! " +" !!!!!! " +" !!!! " +" " +" !!!!!!!! " +"!!!!!!! !! " +"!!!!!! !!! " +"!!!!! !!!! " +"!!!! !!!!! " +"!!! !!!!!! " +"!! !!!!!!! " +"! !!!!!!!! " +;123456789012345 +[end] +[_point] +type=0x030 +subtype=0x02 +;GRMN_TYPE: Business - Emergency and Government/HOSPITAL/Hospital/Non NT +String=Hospital +String1=0x01,Hôpital +String2=0x02,Krankenhaus +String4=0x03,Ziekenhuis +String7=0x15,Szpital +String8=0x10,Hospital +String9=0x05,Ospedale +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#BF0000 +DayXpm="19 14 2 1" Colormode=16 +"! c #BF0000" +" c none" +" !!!!!! " +" !!!!!!!!!! " +" !!!!! !!!!! " +" !!!!! !!!!! " +"!!!!!! !!!!!! " +"!!!!!! !!!!!! " +"!! !! " +"!! !! " +"!!!!!! !!!!!! " +"!!!!!! !!!!!! " +" !!!!! !!!!! " +" !!!!! !!!!! " +" !!!!!!!!!! " +" !!!!!! " +;1234567890123456789 +[end] +[_point] +type=0x030 +subtype=0x03 +;GRMN_TYPE: Business - Emergency and Government/CITY_HALL/City hall/Non NT +String=City Hall +String1=0x01,Mairie +String2=0x02,Rathaus +String4=0x03,Stadhuis +String7=0x15,Ratusz +String8=0x10,Prefeitura +String9=0x05,Municipio/Ambasciata +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="16 14 2 1" Colormode=16 +"! c #734A08" +" c none" +" !!!!!! " +" !!!! " +" !!!!!! " +" !! " +" !! " +" !!!!!! " +" !!!!!!!!!! " +" " +"!!!!!!!!!!!! " +" !!!! !!!! " +" !!! !!! " +" !!! !!! " +" !!! !!! " +"!!!!!!!!!!!! " +;1234567890123456 +[end] +[_point] +type=0x030 +subtype=0x04 +;GRMN_TYPE: Business - Emergency and Government/COURTHOUSE/Courthouse/Non NT +String=Court House +String1=0x01,Tribunal +String2=0x02,Gericht +String4=0x03,Gerechtsgebouw +String7=0x15,Sąd +String8=0x10,Tribunal +String9=0x05,Tribunale +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="18 15 2 1" Colormode=16 +"! c #734A08" +" c none" +" !! " +" !!!!!!!! " +" !!!!!!!!!! " +" !! !! !! " +" ! !! ! " +" !!! !! !!! " +" !!!!! !! !!!!! " +" ! ! !! ! ! " +"!!!!!!! !! !!!!!!!" +" !!!!! !! !!!!! " +" !! " +" !! " +" !! " +" !!!!!!!!! " +" !!!!!!!!!!! " +;123456789012345678 +[end] +[_point] +type=0x030 +subtype=0x05 +;GRMN_TYPE: Business - Emergency and Government/COMMUNITY_CENTER/Community center/Non NT +String=Community Center +String1=0x01,Associations culturelles +String2=0x02,Gemeindezentrum +String4=0x03,Gemeenschapscentrum +String7=0x15,Ośrodek kultury +String8=0x10,Centro comunitário +String9=0x05,Centro comunitario +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="18 15 2 1" Colormode=16 +"! c #734A08" +" c none" +" !! !! " +" !!!! !!!! " +" !!!! !!!! " +" !! !! " +" " +"!!!!!!!!!!!!!!! " +" " +" !! !! " +" !!!! !!!! " +" ! ! ! ! " +" !! !! !! !! " +" !! !! !! !! " +"!! ! ! !! " +"!! !!! !! " +"! ! ! " +;123456789012345678 +[end] +[_point] +type=0x030 +subtype=0x06 +;GRMN_TYPE: Business - Emergency and Government/BORDER_CROSSING/Border crossing/Non NT +String=Border Control +String1=0x01,Douane +String2=0x02,Zoll +String4=0x03,Douane +String7=0x15,Kontrola graniczna +String8=0x10,Alfândega +String9=0x05,Dogana +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x030 +subtype=0x07 +;GRMN_TYPE: Business - Emergency and Government/GOV_OFFICE/Government Office/Non NT +String=Government Office +String1=0x01,Prison +String2=0x02,Gefängnis +String3=0x04,Prison / Public Building +String4=0x03,Gevangenis +String7=0x15,Więzienie +String8=0x10,Prisão +String9=0x05,Istituto governativo +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="16 14 2 1" Colormode=16 +"! c #734A08" +" c none" +"!!!!!!!!!!!!!! " +"! ! ! ! " +"! ! ! ! " +"! ! !! ! ! " +"! !!!!!! ! " +"! !!!!!! ! " +"! ! !! ! ! " +"! ! ! ! " +"! !!!!!! ! " +"! !!!!!! ! " +"! !!!!!!!! ! " +"! !!!!!!!! ! " +"! !!!!!!!! ! " +"!!!!!!!!!!!!!! " +;1234567890123456 +[end] +[_point] +type=0x030 +subtype=0x08 +;GRMN_TYPE: Business - Emergency and Government/FIRE_DEPT/Fire department/Non NT +String=Fire Station +String1=0x01,Pompiers +String2=0x02,Feuerwehr +String4=0x03,Brandweer +String7=0x15,Straż pożarna +String8=0x10,Bombeiros +String9=0x05,Vigili del fuoco +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="13 17 2 1" Colormode=16 +"! c #734A08" +" c none" +" ! " +" !! " +" !!! ! " +" !!!! !! " +" !!!! !!! " +" !!!!! !!!! " +" !!!!!!!!!! " +"!!!! !!!!!!! " +"!!!! !!!!!! " +"!!!! !!!!!!!" +"!!!! !! !!!" +" !!! ! !!!" +" !!!! !! " +" !!! !! " +" !!! !! " +" !!! !! " +" !! ! " +;1234567890123 +[end] +[_point] +type=0x032 +subtype=0x00 +;GRMN_TYPE: // +String=Barrier +String1=0x01,Barrière +String2=0x02,Poller +String4=0x03,Paaltje +String7=0x15,Słupek +String8=0x10,Barreira +String9=0x05,Ostacolo +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="5 5 2 1" Colormode=16 +"! c #3F3F3F" +" c none" +" !!! " +"!!!!!" +"!!!!!" +"!!!!!" +" !!! " +;12345 +[end] +[_point] +type=0x043 +subtype=0x00 +;GRMN_TYPE: // +String=Marina +String1=0x01,Marina +String2=0x02,Bootshafen +String4=0x03,Jachthaven +String7=0x15,Przystań +String8=0x10,Marina +String9=0x05,Porto +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#697EE2 +DayXpm="1 1 2 1" Colormode=16 +"! c #FFFFFF" +" c none" +" " +;1 +[end] +[_point] +type=0x043 +subtype=0x01 +;GRMN_TYPE: // +; not used by default style +String1=0x01,Gare +String2=0x02,Bahnhof +String3=0x04,Trainstation +String4=0x03,Treinstation +String7=0x15,Dworzec kolejowy +String8=0x10,Estação de trem +String9=0x05,Stazione +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#4A58AD +DayXpm="12 7 2 1" Colormode=16 +"! c #7981B0" +" c none" +"!!!!!!! " +"!!!!!!! " +"!!!!!!! " +"!!!!!!! " +"!!!!!!! " +"!!!!!!! " +"!!!!!!! " +;123456789012 +[end] +[_point] +type=0x043 +subtype=0x02 +;GRMN_TYPE: // +; not used by default style +String1=0x01,Tramway +String2=0x02,Straßenbahn +String3=0x04,Tram / Metro +String4=0x03,Tram / Metro +String7=0x15,Tramwaj / Metro +String8=0x10,Metrô +String9=0x05,Stazione +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4A58AD +DayXpm="8 4 2 1" Colormode=16 +"! c #7981B0" +" c none" +"!!!! " +"!!!! " +"!!!! " +"!!!! " +;12345678 +[end] +[_point] +type=0x043 +subtype=0x03 +;GRMN_TYPE: // +; not used by default style +String1=0x01,Terminal Ferry +String2=0x02,Fährhafen +String3=0x04,Ferry terminal +String4=0x03,Ferry terminal +String7=0x15,Terminal promowy +String8=0x10,Terminal de balsa +String9=0x05,Terminal +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#8461C4 +DayXpm="11 15 2 1" Colormode=16 +"! c #8A68C6" +" c none" +" !! " +" !!!! " +" !!!! " +" !! " +" !! " +" !!!!!!!! " +" !!!!!!!! " +" !! " +" !! " +"! !! ! " +"!! !! !! " +"!!! !! !!! " +" !!!!!!!! " +" !!!!!! " +" !! " +;12345678901 +[end] +[_point] +type=0x04a +subtype=0x00 +;GRMN_TYPE: Misc. Points of Interest/PICNIC_AREA/Picnic area/Non NT, NT +String=Picnic Area +String1=0x01,Pique-nique +String2=0x02,Picknick +String4=0x03,Picknick plaats +String7=0x15,Miejsce piknikowe +String8=0x10,Piquenique +String9=0x05,Area picnic +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="13 10 2 1" Colormode=16 +"! c #009500" +" c none" +" !!!!!!!!!!! " +" !!!!!!!!!!! " +" !! !! " +" !! !! " +" !! !! " +"!!!!!!!!!!!!!" +" !! !! " +" !!! !!! " +" !!! !!! " +" !! !! " +;1234567890123 +[end] +[_point] +type=0x04c +subtype=0x00 +;GRMN_TYPE: Misc. Points of Interest/INFORMATION/Information/Non NT, NT +String=Tourist information +String1=0x01,Office du Tourisme +String2=0x02,Touristeninformation +String4=0x03,Touristen informatie +String7=0x15,Informacja turystyczna +String8=0x10,Informações turísticas +String9=0x05,Informazioni turistiche +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="6 13 2 1" Colormode=16 +"! c #666666" +" c none" +" !! " +" !! " +" " +" " +" !!! " +" !!! " +" !! " +" !! " +" !! " +" !! " +" !! " +" !! " +"!!!!!!" +;123456 +[end] +[_point] +type=0x04e +subtype=0x00 +;GRMN_TYPE: Misc. Points of Interest/RESTROOMS/Restrooms/Non NT, NT +; not used by default style +String1=0x01,WC +String2=0x02,WC +String3=0x04,WC +String4=0x03,Toilet +String7=0x15,Toaleta +String8=0x10,Banheiro +String9=0x05,Servizi igienici +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="15 14 2 1" Colormode=16 +"! c #734A08" +" c none" +" ! " +" !! ! !! " +" !!!! ! !!!! " +" !! ! !! " +" ! " +" !!!! ! !!!!!!" +" !!!! ! !!!!!!" +" !! ! !!!! " +" !! ! !!!! " +" !!!! ! !! " +"!!!!!! ! !! " +" !! ! !! " +" !! ! !! " +" !! ! !! " +;123456789012345 +[end] +[_point] +type=0x050 +subtype=0x00 +;GRMN_TYPE: Misc. Points of Interest/DRINKING_WATER/Drinking water/Non NT, NT +String=Drinking Water +String1=0x01,Eau potable +String2=0x02,Trinkwasser +String4=0x03,Drinkwater +String7=0x15,Woda pitna +String8=0x10,Bebedouro +String9=0x05,Acqua potabile +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="13 16 2 1" Colormode=16 +"! c #734A08" +" c none" +" " +" !!!!!! " +" !! " +" !! " +" !!!!!!!!!" +" !!!!!!!!!!" +" !! " +" " +"!!!!!!!! " +"!! !! " +"!! !! " +" !!!!!! " +" !!!!!! " +" !!!!!! " +" !!!! " +" !!!! " +;1234567890123 +[end] +[_point] +type=0x059 +subtype=0x04 +;GRMN_TYPE: // +String=Helipad +String1=0x01,Héliport +String2=0x02,Hubschrauberlandeplatz +String4=0x03,Helihaven +String7=0x15,Lądowisko helikopterowe +String8=0x10,Heliponto +String9=0x05,Eliporto +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="18 17 2 1" Colormode=16 +"! c #8461C4" +" c none" +" !!!!!! " +" !! !! " +" ! ! " +" ! ! " +" ! !! !! ! " +" ! !! !! ! " +"! !! !! !" +"! !!!!!!!! !" +"! !!!!!!!! !" +"! !! !! !" +"! !! !! !" +" ! !! !! ! " +" ! !! !! ! " +" ! ! " +" ! ! " +" !! !! " +" !!!!!! " +;123456789012345678 +[end] +[_point] +type=0x064 +subtype=0x03 +;GRMN_TYPE: Geographical Named Points of Interest/CEMETERY/Cemetery/Non NT, NT +String=Cemetery +String1=0x01,Cimetière +String2=0x02,Friedhof +String4=0x03,Begraafplaats +String7=0x15,Cmentarz +String8=0x10,Cemitério +String9=0x05,Cimitero +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#495E48 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x064 +subtype=0x0b +;GRMN_TYPE: Geographical Named Points of Interest/MILITARY/Military point of interest/Non NT, NT +String=Military +String1=0x01,Militaire +String2=0x02,Militär +String4=0x03,Militair +String7=0x15,Wojsko +String8=0x10,Militar +String9=0x05,Elemento militare +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#8B0606 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x064 +subtype=0x11 +;GRMN_TYPE: Geographical Named Points of Interest/TOWER/Tower/Non NT, NT +String=Tower +String1=0x01,Tour/Pylône +String2=0x02,Turm +String4=0x03,Toren +String7=0x15,Wieża +String8=0x10,Torre +String9=0x05,Torre/Pilone +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="10 15 2 1" Colormode=16 +"! c #666666" +" c none" +" !! " +" !! " +" !! " +" !! " +" !! " +" !! " +" !! " +" !! " +" !! " +" !! " +" !! " +" !! " +" !!!! " +"!!!!!!!! " +"!!!!!!!! " +;1234567890 +[end] +[_point] +type=0x065 +subtype=0x05 +;GRMN_TYPE: Geographical Named Points of Interest - Water Related/CANAL/Canal/Non NT, NT +String=Canal / Lock +String1=0x01,Barrage +String2=0x02,Wehr +String4=0x03,Stuw +String7=0x15,Tama +String8=0x10,Açude +String9=0x05,Diga +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#5E5E5D +DayXpm="9 9 2 1" Colormode=16 +"! c #A4A4A4" +" c none" +" !!!!! " +" !!!!!!! " +"!!! !!!" +"!! !!" +"!! !!" +"!! !!" +"!!! !!!" +" !!!!!!! " +" !!!!! " +;123456789 +[end] +[_point] +type=0x065 +subtype=0x08 +;GRMN_TYPE: Geographical Named Points of Interest - Water Related/WATERFALL/Waterfall/Non NT, NT +String=Waterfall +String1=0x01,Chute d'eau +String2=0x02,Wasserfall +String4=0x03,Waterval +String7=0x15,Wodospad +String8=0x10,Cachoeira +String9=0x05,Cascata +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4863A0 +DayXpm="15 14 2 1" Colormode=16 +"! c #4D80B3" +" c none" +" !!!!!!!!!! " +" !!!!!!!!!!! " +" !! !! !!! " +" !! !! !! " +" !! !! !! " +" !! !! !! " +" !! !! !! " +" !! !! !! " +" ! ! !! " +" ! " +" " +" !!! !!! !!! " +"!!!!!!!!!!!!!!!" +"! !! !! !" +;123456789012345 +[end] +[_point] +type=0x065 +subtype=0x0a +;GRMN_TYPE: Geographical Named Points of Interest - Water Related/GLACIER/Glacier/Non NT, NT +String=Glacier +String1=0x01,Glacier +String2=0x02,Gletscher +String4=0x03,Gletsjer +String7=0x15,Lodowiec +String8=0x10,Geleira +String9=0x05,Ghiacciaio +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x065 +subtype=0x0c +;GRMN_TYPE: // +String=Island +String1=0x01,Île +String2=0x02,Insel +String4=0x03,Eiland +String7=0x15,Wyspa +String8=0x10,Ilha +String9=0x05,Isola +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#414141 +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x065 +subtype=0x0f +;GRMN_TYPE: Geographical Named Points of Interest - Water Related/RESERVOIR/Reservoir/Non NT, NT +String=Reservoir +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x065 +subtype=0x11 +;GRMN_TYPE: Geographical Named Points of Interest - Water Related/SPRING/Spring/Non NT, NT +String=Spring +String1=0x01,Source +String2=0x02,Quelle +String4=0x03,Waterbron +String7=0x15,Źródło +String8=0x10,Poço +String9=0x05,Sorgente +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +DayXpm="9 9 2 1" Colormode=16 +"! c #7BBCEC" +" c none" +" !!!!! " +" !!!!!!! " +"!!! !!!" +"!! !!" +"!! !!" +"!! !!" +"!!! !!!" +" !!!!!!! " +" !!!!! " +;123456789 +[end] +[_point] +type=0x065 +subtype=0x12 +;GRMN_TYPE: Geographical Named Points of Interest - Water Related/STREAM/Stream/Non NT, NT +String=Stream +String1=0x01,Eau +String2=0x02,Wasser +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x065 +subtype=0x13 +;GRMN_TYPE: Geographical Named Points of Interest - Water Related/SWAMP/Swamp/Non NT, NT +String=Swamp +String1=0x01,Marais +String2=0x02,Sumpf +String4=0x03,Moeras +String7=0x15,Bagno +String8=0x10,Pântano +String9=0x05,Palude +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x066 +subtype=0x01 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/ARCH/Arch/Non NT, NT +String=Arch +String1=0x01,Grotte +String2=0x02,Höhle +String3=0x04,Cave +String4=0x03,Grot +String7=0x15,Jaskinia +String8=0x10,Caverna +String9=0x05,Grotta +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="11 6 2 1" Colormode=16 +"! c #000000" +" c none" +" !!!!! " +" ! ! " +" ! !!! ! " +"! !!!!! !" +"! !!!!!!! !" +"! !!!!!!! !" +;12345678901 +[end] +[_point] +type=0x066 +subtype=0x03 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/BASIN/Basin/Non NT, NT +String=Basin +String1=0x01,Eau +String2=0x02,Wasser +String3=0x04,Water +String4=0x03,Water +String7=0x15,Woda +String8=0x10,Água +String9=0x05,Acqua +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#4D80B3 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x066 +subtype=0x04 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/BEACH/Beach/Non NT, NT +String=Beach +String1=0x01,Plage +String2=0x02,Strand +String4=0x03,Strand +String7=0x15,Plaża +String8=0x10,Praia +String9=0x05,Spiaggia +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#907712 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x066 +subtype=0x06 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/CAPE/Cape/Non NT, NT +String=Cape +String1=0x01,Cap +String2=0x02,Kap +String4=0x03,Kaap +String7=0x15,Przylądek +String8=0x10,Cabo +String9=0x05,Capo +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x066 +subtype=0x07 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/CLIFF/Cliff/Non NT, NT +String=Cliff +String1=0x01,Falaise +String2=0x02,Klippe +String4=0x03,Klif +String7=0x15,Klif +String8=0x10,Penhasco +String9=0x05,Dirupo +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="1 1 2 1" Colormode=16 +"! c #00FF4B" +" c none" +" " +;1 +[end] +[_point] +type=0x066 +subtype=0x12 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/RESERVE/Reserve/Non NT, NT +String=Nature Reserve +String1=0x01,Réserve naturelle +String2=0x02,Naturschutzgebiet +String4=0x03,Natuurgebied +String7=0x15,Rezerwat przyrody +String8=0x10,Reserva natural +String9=0x05,Riserva +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#006500 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x066 +subtype=0x14 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/ROCK/Rock/Non NT, NT +String=Rock +String1=0x01,Roche +String2=0x02,Felsen +String4=0x03,Rotsen +String7=0x15,Skała +String8=0x10,Rochedo +String9=0x05,Roccia +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=Day +DaycustomColor:#967757 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] +[_point] +type=0x066 +subtype=0x16 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/SUMMIT/Summit, top of a hill or mountain/Non NT, NT +String=Summit +String1=0x01,Sommet +String2=0x02,Gipfel +String4=0x03,Bergtop +String7=0x15,Szczyt +String8=0x10,Pico +String9=0x05,Picco +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#734A08 +DayXpm="14 10 2 1" Colormode=16 +"! c #D08F55" +" c none" +" ! " +" ! " +" !!! " +" !!! " +" !!!!! " +" !!!!! " +" !!!!!!! " +" !!!!!!! " +"!!!!!!!!! " +"!!!!!!!!! " +;12345678901234 +[end] +[_point] +type=0x066 +subtype=0x18 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/WOODS/Wooded area/Non NT, NT +String=Woods +String1=0x01,Forêt +String2=0x02,Wald +String4=0x03,Bos +String7=0x15,Drzewa +String8=0x10,Mata / Bosque +String9=0x05,Selva +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=Day +DaycustomColor:#527247 +DayXpm="1 1 2 1" Colormode=16 +"! c #009500" +" c none" +" " +;1 +[end] diff --git a/mkgmap/examples/typ-files/sameOrder.txt b/mkgmap/examples/typ-files/sameOrder.txt new file mode 100644 index 0000000..2222249 --- /dev/null +++ b/mkgmap/examples/typ-files/sameOrder.txt @@ -0,0 +1,119 @@ +;------------------------------------------------------------------------------- +; This is an example TYP file. +; A TYP file controls how the Garmin device renders polygons, lines and points. +; See https://wiki.openstreetmap.org/wiki/Mkgmap/help/typ_compile +; for more information. +; +; This example sets most polygons to have the same drawOrder +; See https://wiki.openstreetmap.org/wiki/Editing_OSM_Map_On_Garmin/Area_Types +; so that mkgmap option --order-by-decreasing-area works in an optimum manner. +; It exposes all the known non-extended Garmin polygon representations, eg +; 0x01-0x03=City and provides some hidden polygons for naming large areas such +; as Counties, Islands... +;------------------------------------------------------------------------------- +; +[_drawOrder] +; nothing shows, even with: Type=0x00,2 +Type=0x01,2 +Type=0x02,2 +Type=0x03,2 +Type=0x04,2 +Type=0x05,2 +Type=0x06,2 +; 0x07/Airport default drawOrder is lower that most other polygons on some Garmin devices; make it the same. +Type=0x07,2 +Type=0x08,2 +Type=0x09,2 +Type=0x0a,2 +Type=0x0b,2 +Type=0x0c,2 +Type=0x0d,2 +Type=0x0e,2 +Type=0x0f,2 +Type=0x10,2 +Type=0x11,2 +Type=0x12,2 +Type=0x13,2 +; the following Greens default drawOrder is lower than most on some Garmin devices; make them the same. +Type=0x14,2 +Type=0x15,2 +Type=0x16,2 +Type=0x17,2 +Type=0x18,2 +Type=0x19,2 +Type=0x1a,2 +Type=0x1b,2 +Type=0x1c,2 +Type=0x1d,2 +Type=0x1e,2 +Type=0x1f,2 +Type=0x20,2 +; to here +Type=0x21,2 +Type=0x22,2 +Type=0x23,2 +Type=0x24,2 +Type=0x25,2 +Type=0x26,2 +Type=0x27,2 +Type=0x28,2 +Type=0x29,2 +Type=0x2a,2 +Type=0x2b,2 +Type=0x2c,2 +Type=0x2d,2 +Type=0x2e,2 +Type=0x2f,2 +Type=0x30,2 +Type=0x31,2 +Type=0x32,2 +Type=0x33,2 +Type=0x34,2 +Type=0x35,2 +Type=0x36,2 +Type=0x37,2 +Type=0x38,2 +Type=0x39,2 +Type=0x3a,2 +Type=0x3b,2 +Type=0x3c,2 +Type=0x3d,2 +Type=0x3e,2 +Type=0x3f,2 +Type=0x40,2 +Type=0x41,2 +Type=0x42,2 +Type=0x43,2 +Type=0x44,2 +Type=0x45,2 +Type=0x46,2 +Type=0x47,2 +Type=0x48,2 +Type=0x49,2 +; The following two are overview/main background. Give them a lower drawOrder. +Type=0x4a,1 +Type=0x4b,1 +Type=0x4c,2 +Type=0x4d,2 +Type=0x4e,2 +Type=0x4f,2 +Type=0x50,2 +Type=0x51,2 +Type=0x52,2 +Type=0x53,2 +Type=0x54,2 +Type=0x55,2 +; The following don't seem to have any known pre-defined meaning to Garmin +; devices and can be used to give a 'hover' or 'select' name and details without +; other representation, being hidden with a lower drawOrder than the background. +Type=0x56,0 +Type=0x57,0 +Type=0x58,0 +Type=0x59,0 +Type=0x5a,0 +Type=0x5b,0 +Type=0x5c,0 +Type=0x5d,0 +Type=0x5e,0 +Type=0x5f,0 +[end] diff --git a/mkgmap/lib/fastutil-6.5.15-mkg.1b.jar b/mkgmap/lib/fastutil-6.5.15-mkg.1b.jar new file mode 100644 index 0000000..237f382 Binary files /dev/null and b/mkgmap/lib/fastutil-6.5.15-mkg.1b.jar differ diff --git a/mkgmap/lib/osmpbf-1.3.3.jar b/mkgmap/lib/osmpbf-1.3.3.jar new file mode 100644 index 0000000..b834cb0 Binary files /dev/null and b/mkgmap/lib/osmpbf-1.3.3.jar differ diff --git a/mkgmap/lib/protobuf-java-2.5.0.jar b/mkgmap/lib/protobuf-java-2.5.0.jar new file mode 100644 index 0000000..4c4e686 Binary files /dev/null and b/mkgmap/lib/protobuf-java-2.5.0.jar differ diff --git a/mkgmap/mkgmap.jar b/mkgmap/mkgmap.jar new file mode 100644 index 0000000..c3d1575 Binary files /dev/null and b/mkgmap/mkgmap.jar differ diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..1ad0bd8 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,7 @@ +include.path=${php.global.include.path} +php.version=PHP_80 +source.encoding=UTF-8 +src.dir=. +tags.asp=false +tags.short=false +web.root=. diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..3290e54 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.php.project + + + MapUtagawa + + + diff --git a/options_courbes.args b/options_courbes.args new file mode 100644 index 0000000..bfee920 --- /dev/null +++ b/options_courbes.args @@ -0,0 +1,3 @@ +max-jobs: 8 +style-file=../style/utagawa +transparent diff --git a/options_dem.args b/options_dem.args new file mode 100644 index 0000000..c641452 --- /dev/null +++ b/options_dem.args @@ -0,0 +1,7 @@ +max-jobs: 8 +remove-short-arcs +style-file=../style/utagawa +latin1 +transparent + + diff --git a/options_rando.args b/options_rando.args new file mode 100644 index 0000000..2b11ff4 --- /dev/null +++ b/options_rando.args @@ -0,0 +1,14 @@ +max-jobs: 16 +road-name-pois +add-pois-to-areas +add-pois-to-lines: mid +remove-short-arcs +precomp-sea=../sea.zip +x-check-precomp-sea: 0 +style-file=../style/rando +latin1 +net +route +road-name-pois + + diff --git a/options_utagawa.args b/options_utagawa.args new file mode 100644 index 0000000..3b35f82 --- /dev/null +++ b/options_utagawa.args @@ -0,0 +1,23 @@ +max-jobs: 8 +road-name-pois +add-pois-to-areas +add-pois-to-lines: mid +remove-short-arcs +precomp-sea=../sea.zip +x-check-precomp-sea: 0 +style-file=../style/utagawa +latin1 +net +route +show-profiles: 1 +improve-overview +dem=../dem,../dem/lidar_europe +dem-dists=3312,13248,26512,53024,106000,212000,424000,848000 +dem-interpolation=auto +ignore-turn-restrictions +preserve-element-order +min-size-polygon: 4 +merge-lines +copyright-message: Map data © openstreetmap.org, Map layout © UtagawaVTT.com + + diff --git a/password.txt b/password.txt new file mode 100644 index 0000000..af24ad3 --- /dev/null +++ b/password.txt @@ -0,0 +1 @@ +machine urs.earthdata.nasa.gov login utagawa password |@,`R"y@2i'R3/ diff --git a/remove_contour.sh b/remove_contour.sh new file mode 100644 index 0000000..ffbf2af --- /dev/null +++ b/remove_contour.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +for d in */ ; do + if [[ "$d" == "carte_"* ]]; then + cd $d + rm *.img + rm *.osm.gz + cd .. + fi +done \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..2b6042c --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +numpy==1.20.3 +matplotlib==3.4.2 +requests==2.22.0 +Shapely==1.8.0 diff --git a/scripts_hgt/__init__.py b/scripts_hgt/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/scripts_hgt/__pycache__/__init__.cpython-310.pyc b/scripts_hgt/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000..9ec9e52 Binary files /dev/null and b/scripts_hgt/__pycache__/__init__.cpython-310.pyc differ diff --git a/scripts_hgt/__pycache__/__init__.cpython-38.pyc b/scripts_hgt/__pycache__/__init__.cpython-38.pyc new file mode 100644 index 0000000..b43dc8e Binary files /dev/null and b/scripts_hgt/__pycache__/__init__.cpython-38.pyc differ diff --git a/scripts_hgt/__pycache__/__init__.cpython-39.pyc b/scripts_hgt/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000..a36d7b8 Binary files /dev/null and b/scripts_hgt/__pycache__/__init__.cpython-39.pyc differ diff --git a/scripts_hgt/__pycache__/get_hgt.cpython-310.pyc b/scripts_hgt/__pycache__/get_hgt.cpython-310.pyc new file mode 100644 index 0000000..9609e32 Binary files /dev/null and b/scripts_hgt/__pycache__/get_hgt.cpython-310.pyc differ diff --git a/scripts_hgt/__pycache__/get_hgt.cpython-38.pyc b/scripts_hgt/__pycache__/get_hgt.cpython-38.pyc new file mode 100644 index 0000000..7c4df51 Binary files /dev/null and b/scripts_hgt/__pycache__/get_hgt.cpython-38.pyc differ diff --git a/scripts_hgt/__pycache__/get_hgt.cpython-39.pyc b/scripts_hgt/__pycache__/get_hgt.cpython-39.pyc new file mode 100644 index 0000000..24f4d4e Binary files /dev/null and b/scripts_hgt/__pycache__/get_hgt.cpython-39.pyc differ diff --git a/scripts_hgt/__pycache__/hgt.cpython-310.pyc b/scripts_hgt/__pycache__/hgt.cpython-310.pyc new file mode 100644 index 0000000..4a065db Binary files /dev/null and b/scripts_hgt/__pycache__/hgt.cpython-310.pyc differ diff --git a/scripts_hgt/__pycache__/hgt.cpython-38.pyc b/scripts_hgt/__pycache__/hgt.cpython-38.pyc new file mode 100644 index 0000000..294549a Binary files /dev/null and b/scripts_hgt/__pycache__/hgt.cpython-38.pyc differ diff --git a/scripts_hgt/__pycache__/hgt.cpython-39.pyc b/scripts_hgt/__pycache__/hgt.cpython-39.pyc new file mode 100644 index 0000000..9439ff3 Binary files /dev/null and b/scripts_hgt/__pycache__/hgt.cpython-39.pyc differ diff --git a/scripts_hgt/__pycache__/hgt_to_osm.cpython-310.pyc b/scripts_hgt/__pycache__/hgt_to_osm.cpython-310.pyc new file mode 100644 index 0000000..bc4453d Binary files /dev/null and b/scripts_hgt/__pycache__/hgt_to_osm.cpython-310.pyc differ diff --git a/scripts_hgt/__pycache__/hgt_to_osm.cpython-38.pyc b/scripts_hgt/__pycache__/hgt_to_osm.cpython-38.pyc new file mode 100644 index 0000000..3210925 Binary files /dev/null and b/scripts_hgt/__pycache__/hgt_to_osm.cpython-38.pyc differ diff --git a/scripts_hgt/__pycache__/hgt_to_osm.cpython-39.pyc b/scripts_hgt/__pycache__/hgt_to_osm.cpython-39.pyc new file mode 100644 index 0000000..199c546 Binary files /dev/null and b/scripts_hgt/__pycache__/hgt_to_osm.cpython-39.pyc differ diff --git a/scripts_hgt/__pycache__/osmUtil.cpython-310.pyc b/scripts_hgt/__pycache__/osmUtil.cpython-310.pyc new file mode 100644 index 0000000..07aed3d Binary files /dev/null and b/scripts_hgt/__pycache__/osmUtil.cpython-310.pyc differ diff --git a/scripts_hgt/__pycache__/osmUtil.cpython-38.pyc b/scripts_hgt/__pycache__/osmUtil.cpython-38.pyc new file mode 100644 index 0000000..bf46b64 Binary files /dev/null and b/scripts_hgt/__pycache__/osmUtil.cpython-38.pyc differ diff --git a/scripts_hgt/__pycache__/osmUtil.cpython-39.pyc b/scripts_hgt/__pycache__/osmUtil.cpython-39.pyc new file mode 100644 index 0000000..616fc41 Binary files /dev/null and b/scripts_hgt/__pycache__/osmUtil.cpython-39.pyc differ diff --git a/scripts_hgt/__pycache__/varint.cpython-310.pyc b/scripts_hgt/__pycache__/varint.cpython-310.pyc new file mode 100644 index 0000000..0ee5f27 Binary files /dev/null and b/scripts_hgt/__pycache__/varint.cpython-310.pyc differ diff --git a/scripts_hgt/__pycache__/varint.cpython-38.pyc b/scripts_hgt/__pycache__/varint.cpython-38.pyc new file mode 100644 index 0000000..f5eb8bb Binary files /dev/null and b/scripts_hgt/__pycache__/varint.cpython-38.pyc differ diff --git a/scripts_hgt/__pycache__/varint.cpython-39.pyc b/scripts_hgt/__pycache__/varint.cpython-39.pyc new file mode 100644 index 0000000..63278cd Binary files /dev/null and b/scripts_hgt/__pycache__/varint.cpython-39.pyc differ diff --git a/scripts_hgt/download_hgt.sh b/scripts_hgt/download_hgt.sh new file mode 100644 index 0000000..1c661c4 --- /dev/null +++ b/scripts_hgt/download_hgt.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +cookiejar=$(mktemp cookies.XXXXXXXXXX) +netrc=$(mktemp netrc.XXXXXXXXXX) +chmod 0600 "$cookiejar" "$netrc" +function finish { + rm -rf "$cookiejar" "$netrc" +} + +trap finish EXIT + +password_file=password.txt +if [ -f "$password_file" ]; then + cat "$password_file" >> $netrc +else + echo "Enter your Earthdata Login ( https://urs.earthdata.nasa.gov/home ) " + read -p "Username: " username + read -s -p "Password: " password + echo "machine urs.earthdata.nasa.gov login $username password $password" >> $netrc + echo + echo "Connect Earthdata ..." +fi + +while read -r line;do +# Get everything after the last '/' + +filename="$(dirname "${1}")/${line##*/}" +echo $line +curl -f -b "$cookiejar" -c "$cookiejar" -L --netrc-file "$netrc" -g -o $filename -- $line +unzip $filename -d $(dirname "${1}") +rm $filename +done < $1; + diff --git a/scripts_hgt/get_hgt.py b/scripts_hgt/get_hgt.py new file mode 100644 index 0000000..128ae6c --- /dev/null +++ b/scripts_hgt/get_hgt.py @@ -0,0 +1,65 @@ +#!/usr/bin/python +import sys +import urllib.request +import os +import os.path +from shapely.geometry import Point +from shapely.geometry.polygon import Polygon +import shutil + +def get_hgt(country_name, url_poly): + print("Calculation in progress "+url_poly) + hgt_list=set() + point_list=list() + + file = urllib.request.urlopen(url_poly) + polygon = file.read().decode('utf8') + for line in polygon.splitlines(): + if(line=='END') : + break + if(line!='none' and line!='1'): + split = line.split(" ") + longitude_string = split[1] + latitude_string = split[2] + + point_list.append(Point(float(longitude_string),float(latitude_string))) + + + polygon = Polygon(point_list) + hgt_list=list() + for x in range(-180, 180): + for y in range(90, -90, -1): + poly_hgt = Polygon([(x,y),(x+1,y),(x+1,y+1),(x,y+1)]) + if(poly_hgt.intersects(polygon)): + hgt_list.append(Point(x,y)) + + os.makedirs("dem/"+country_name+"/", exist_ok=True) + urls=[] + for hgt in hgt_list: + longitude = int(hgt.x) + latitude = int(hgt.y) + + if ( longitude>= 0 ): + longitude_export="E{:03d}".format(longitude) + else: + longitude_export="W{:03d}".format(abs(longitude)) + + if ( latitude>= 0 ): + latitude_export="N{:02d}".format(latitude) + else: + latitude_export="S{:02d}".format(abs(latitude)) + file = latitude_export+longitude_export+".SRTMGL1.hgt.zip" + if ( os.path.isfile("dem/lidar_europe/"+latitude_export+longitude_export+".hgt")): + shutil.copy("dem/lidar_europe/"+latitude_export+longitude_export+".hgt", "dem/"+country_name+"/"+latitude_export+longitude_export+".hgt") + if ( not os.path.isfile("dem/"+country_name+"/"+latitude_export+longitude_export+".hgt")): + urls.append("https://e4ftl01.cr.usgs.gov//DP133/SRTM/SRTMGL1.003/2000.02.11/"+file) + + if(len(urls)>0): + file_out = open("dem/"+country_name+"/hgt_urls.txt", "wt") + file_out.write("\n".join(urls)+"\n") + file_out.close() + +if __name__ == '__main__': + country_name=sys.argv[1] + url_poly=sys.argv[2] + get_hgt(country_name, url_poly) \ No newline at end of file diff --git a/scripts_hgt/hgt.py b/scripts_hgt/hgt.py new file mode 100644 index 0000000..8fe4d00 --- /dev/null +++ b/scripts_hgt/hgt.py @@ -0,0 +1,738 @@ +from __future__ import print_function + +__author__ = "Adrian Dempwolff (phyghtmap@aldw.de)" +__version__ = "2.23" +__copyright__ = "Copyright (c) 2009-2021 Adrian Dempwolff" +__license__ = "GPLv2+" + +import os +from matplotlib import __version__ as mplversion +from matplotlib.path import Path as PolygonPath +if mplversion < "2.0.0": + from matplotlib import _cntr +else: + from matplotlib import _contour +import numpy + +from scripts_hgt.varint import bboxStringtypes + +meters2Feet = 1.0/0.3048 + + +class hgtError(Exception): + """is the main class of visible exceptions from this file. + """ + +class filenameError(hgtError): + """is raised when parsing bad filenames. + """ + +class elevationError(hgtError): + """is raised when trying to deal with elevations out of range. + """ + +def halfOf(seq): + print("halfOf") + """returns the first half of a sequence + """ + return seq[:len(seq)//2] + +def makeBBoxString(bbox): + return "lon{0[0]:.2f}_{0[2]:.2f}lat{0[1]:.2f}_{0[3]:.2f}".format( + bbox) + +def parsePolygon(filename): + print("parsePolygon") + """reads polygons from a file like one included in + http://download.geofabrik.de/clipbounds/clipbounds.tgz + and returns it as list of (, ) tuples. + """ + lines = [line.strip().lower() for line in + open(filename).read().split("\n") if line.strip()] + polygons = [] + curPolygon = [] + for l in lines: + if l in [str(i) for i in range(1, lines.count("end"))]: + # new polygon begins + curPolygon = [] + elif l == "end" and len(curPolygon)>0: + # polygon ends + polygons.append(curPolygon) + curPolygon = [] + elif len(l.split()) == 2: + lon, lat = l.split() + try: + curPolygon.append((float(lon), float(lat))) + except ValueError: + continue + else: + continue + lonLatList = [] + for p in polygons: + lonLatList.extend(p) + lonList = sorted([lon for lon, lat in lonLatList]) + latList = sorted([lat for lon, lat in lonLatList]) + minLon = lonList[0] + maxLon = lonList[-1] + minLat = latList[0] + maxLat = latList[-1] + return "{0:.7f}:{1:.7f}:{2:.7f}:{3:.7f}".format(minLon, minLat, maxLon, maxLat), polygons + +def makeBoundsString(bbox): + """returns an OSM XML bounds tag. + + The input may be a list or tuple of floats or an area string as passed + to the --area option of phyghtmap in the following order: + minlon, minlat, maxlon, maxlat. + """ + if type(bbox) in bboxStringtypes and bbox.count(":")==3: + bbox = bbox.split(":") + minlon, minlat, maxlon, maxlat = [float(i) for i in bbox] + return ''.format( + minlat, minlon, maxlat, maxlon) + +def parseHgtFilename(filename, corrx, corry): + """tries to extract borders from filename and returns them as a tuple + of floats: + (, , , ) + + Longitudes of west as well as latitudes of south are given as negative + values. + + Eventually specified longitude () and latitude () + corrections are added here. + """ + latSwitch = filename[0:1].upper() + latValue = filename[1:3] + lonSwitch = filename[3:4].upper() + lonValue = filename[4:7] + if latSwitch == 'N' and latValue.isdigit(): + minLat = int(latValue) + elif latSwitch == 'S' and latValue.isdigit(): + minLat = -1 * int(latValue) + else: + raise filenameError("something wrong with latitude coding in" + " filename {0:s}".format(filename)) + maxLat = minLat + 1 + if lonSwitch == 'E' and lonValue.isdigit(): + minLon = int(lonValue) + elif lonSwitch == 'W' and lonValue.isdigit(): + minLon = -1 * int(lonValue) + else: + raise filenameError("something wrong with longitude coding in" + " filename {0:s}".format(filename)) + maxLon = minLon + 1 + return minLon+corrx, minLat+corry, maxLon+corrx, maxLat+corry + +def transformLonLats(minLon, minLat, maxLon, maxLat, transform): + if transform == None: + return minLon, minLat, maxLon, maxLat + else: + (lon1, lat1), (lon2, lat2), (lon3, lat3), (lon4, lat4) = transform( + [(minLon, minLat), (maxLon, maxLat), (minLon, maxLat), (maxLon, maxLat)]) + minLon = min([lon1, lon2, lon3, lon4]) + maxLon = max([lon1, lon2, lon3, lon4]) + minLat = min([lat1, lat2, lat3, lat4]) + maxLat = max([lat1, lat2, lat3, lat4]) + return minLon, minLat, maxLon, maxLat + +def parseFileForBbox(fullFilename, corrx, corry): + return parseHgtFilename(os.path.split(fullFilename)[1], corrx, corry) + +def calcHgtArea(filenames, corrx, corry): + bboxes = [parseFileForBbox(f, corrx, corry) for f in filenames] + minLon = sorted([b[0] for b in bboxes])[0] + minLat = sorted([b[1] for b in bboxes])[0] + maxLon = sorted([b[2] for b in bboxes])[-1] + maxLat = sorted([b[3] for b in bboxes])[-1] + return minLon, minLat, maxLon, maxLat + + +class ContourObject(object): + def __init__(self, Cntr, maxNodesPerWay, transform, polygon=None, + rdpEpsilon=None, rdpMaxVertexDistance=None): + self.Cntr = Cntr + self.maxNodesPerWay = maxNodesPerWay + self.polygon = polygon + self.transform = transform + self.rdpEpsilon = rdpEpsilon + self.rdpMaxVertexDistance = rdpMaxVertexDistance + + def _cutBeginning(self, p): + """is recursively called to cut off a path's first element + if it equals the second one. + + This is needed for beauty only. Such a path makes no sense, but + matplotlib.Cntr.cntr's trace method sometimes returns this. + + If the path gets too short, an empty list is returned. + """ + if len(p)<2: + return [] + elif not numpy.all(p[0]==p[1]): + return p + else: + return self._cutBeginning(p[1:]) + + def clipPath(self, path): + """clips a path with self.polygon and returns a list of + clipped paths. This method also removes consecutive identical nodes. + This method also does a potentially needed transformation of the projection. + """ + # do the transform if necessary + if self.transform != None: + path = numpy.array(self.transform(path)) + if numpy.where(path!=path, 1, 0).sum() != 0: + pathContainsNans = True + else: + pathContainsNans = False + if not pathContainsNans: + tmpList = [] + for ind, p in enumerate(path): + if ind != 0: + op = path[ind-1] + if numpy.all(p==op): + continue + tmpList.append(p) + if len(tmpList) < 2: + tmpList = [] + return [numpy.array(tmpList), ] + # path contains nans (from a polygon or void area or both) + pathList = [] + tmpList = [] + for ind, p in enumerate(path): + if ind != 0: + op = path[ind-1] + if numpy.all(p==op): + # skip the rest if there are two consecutive identical nodes + continue + x, y = p + if not False in [x==x, y==y]: + # (x, y) inside polygon. We know this because x or y would else be + # nan since data outside the polygon is masked and filled with nans + # and the resulting nodes' coordinates are (nan, nan). + tmpList.append((x, y)) + elif len(tmpList) > 0: + # (x, y) outside polygon, non-empty tmpList + if len(tmpList) > 1: + # if tmpList has only one node, this is not a meaningful path and we + # don't want to evaluate it then + pathList.append(numpy.array(tmpList)) + tmpList = [] + else: + # (x, y) outside polygon, previous (x, y) dto. + continue + else: + if len(tmpList) > 1: + # only append this last piece if it has more than one node + pathList.append(numpy.array(tmpList)) + return pathList + + def splitList(self, l): + """splits a path to contain not more than self.maxNodesPerWay nodes. + + A list of paths containing at least 2 (or, with closed paths, 3) nodes + is returned, along with the number of nodes and paths as written later to + the OSM XML output. + """ + length = self.maxNodesPerWay + #l = self._cutBeginning(l) + if len(l) < 2: + return [], 0, 0 + if length == 0 or len(l) <= length: + tmpList = [l, ] + else: + """ + if len(l)%(length-1) == 1: + # the last piece of a path should contain at least 2 nodes + l, endPiece = l[:-1], l[-2:] + else: + endPiece = None + tmpList = [l[i:i+length] for i in range(0, len(l), length-1)] + if endPiece != None: + tmpList.append(endPiece) + """ + # we don't need to do the stuff with the end piece if we stop the list + # comprehension at the second-last element of the list (i being at maximum + # len(l)-2. This works because is at least two, so we are sure + # to always include the last two elements. + tmpList = [l[i:i+length] for i in range(0, len(l)-1, length-1)] + pathList = [] + numOfClosedPaths = 0 + for path in tmpList: + #path = self._cutBeginning(path) + if len(path) == 0: + # self._cutBeginning() returned an empty list for this path + continue + if numpy.all(path[0]==path[-1]): + # a closed path with at least 3 nodes + numOfClosedPaths += 1 + pathList.append(path) + numOfPaths = len(pathList) + numOfNodes = sum([len(p) for p in pathList])-numOfClosedPaths + return pathList, numOfNodes, numOfPaths + + def simplifyPath(self, path): + """simplifies a path using a modified version of the Ramer-Douglas-Peucker + (RDP) algorithm. + + : a contour line path + + other variables used here: + self.rdpEpsilon: the epsilon value to use in RDP + self.rdpMaxVertexDistance: RDP is modified in a way that it preserves some + points if they are too far from each other, even if the point is less + than epsilon away from an enclosing contour line segment + + A simplified path is returned as numpy array. + """ + if self.rdpEpsilon is None: + return path + + def distance(A, B): + """ determines the distance between two points and + """ + return numpy.linalg.norm(A-B) + + def perpendicularDistance(P, S, E): + """ determines the perpendicular distance of

to the - segment + """ + if numpy.all(numpy.equal(S, E)): + return distance(S, P) + else: + cp = numpy.cross(P-S, E-S) + return abs(cp / distance(E, S)) + + if self.rdpEpsilon == 0.0: + return path + if path.shape[0] <= 2: + return path + S = path[0] + E = path[-1] + maxInd = 0 + maxDist = 0.0 + for ind, P in enumerate(path[1:-1]): + dist = perpendicularDistance(P, S, E) + if dist > maxDist: + maxDist = dist + maxInd = ind+1 + if (maxDist <= self.rdpEpsilon + and (self.rdpMaxVertexDistance is None + or distance(S, E) <= self.rdpMaxVertexDistance)): + return numpy.array([S, E]) + elif maxDist <= self.rdpEpsilon: + for ind, P in enumerate(path[1:-1]): + if distance(S, P) > self.rdpMaxVertexDistance: + break + if ind == 0: + return numpy.vstack((S, path[1], self.simplifyPath(path[2:]))) + else: + return numpy.vstack((S, self.simplifyPath(path[ind:]))) + else: + path = numpy.vstack(( + self.simplifyPath(path[:maxInd+1]), self.simplifyPath(path[maxInd:])[1:])) + return path + + def trace(self, elevation, **kwargs): + """this emulates matplotlib.cntr.Cntr's trace method. + The difference is that this method returns already split paths, + along with the number of nodes and paths as expected in the OSM + XML output. Also, consecutive identical nodes are removed. + """ + if mplversion >= "2.0.0": + rawPaths = self.Cntr.create_contour(elevation) + elif mplversion >= "1.0.0": + # matplotlib 1.0.0 and above returns vertices and segments, but we only need vertices + rawPaths = halfOf(self.Cntr.trace(elevation, **kwargs)) + else: + rawPaths = self.Cntr.trace(elevation, **kwargs) + numOfPaths, numOfNodes = 0, 0 + intermediatePaths = [] + if mplversion >= "2.0.0": + # matplotlib 2.0.0 or higher should actually handle masks correctly. + # However, for some reason not yet investigated further, masked values + # are handled anyways. The otherwise applicable code would have been + #intermediatePaths = rawPaths + # As a workaround, we stick to the old behaviour which handles masked + # values explicitly in the generated contour data + for path in rawPaths: + intermediatePaths.extend(self.clipPath(path)) + else: + for path in rawPaths: + intermediatePaths.extend(self.clipPath(path)) + resultPaths = [] + for path in intermediatePaths: + path = self.simplifyPath(path) + splitPaths, numOfNodesAdd, numOfPathsAdd = self.splitList(path) + resultPaths.extend(splitPaths) + numOfPaths += numOfPathsAdd + numOfNodes += numOfNodesAdd + return resultPaths, numOfNodes, numOfPaths + +def polygonMask(xData, yData, polygon, transform): + """return a mask on self.zData corresponding to all polygons in self.polygon. + is meant to be a 1-D array of longitude values, a 1-D array of + latitude values. An array usable as mask for the corresponding zData + 2-D array is returned. + may be transform function from the file's projection to EPSG:4326, + which is the projection used within polygon files. + """ + X, Y = numpy.meshgrid(xData, yData) + xyPoints = numpy.vstack(([X.T], + [Y.T])).T.reshape(len(xData)*len(yData), 2) + if transform is not None: + xyPoints = transform(xyPoints) + maskArray = numpy.ma.array(numpy.empty((len(xData)*len(yData), 1))) + for p in polygon: + # run through all polygons and combine masks + mask = PolygonPath(p).contains_points(xyPoints) + maskArray = numpy.ma.array(maskArray, + mask=mask, keep_mask=True) + return numpy.invert(maskArray.mask.reshape(len(yData), len(xData))) + + +class hgtFile: + """is a handle for SRTM data files + """ + + def __init__(self, filename, corrx, corry, polygon=None, checkPoly=False, + voidMax=None, feetSteps=False): + """tries to open and extracts content to self.zData. + + and are longitude and latitude corrections (floats) + as passed to phyghtmap on the commandline. + """ + self.feetSteps = feetSteps + self.fullFilename = filename + self.filename = os.path.split(filename)[-1] + self.fileExt = os.path.splitext(self.filename)[1].lower().replace(".", "") + self.initAsHgt(corrx, corry, polygon, checkPoly, voidMax) + + # some statistics + minLon, minLat, maxLon, maxLat = transformLonLats( + self.minLon, self.minLat, self.maxLon, self.maxLat, self.transform) + print('{0:s} file {1:s}: {2:d} x {3:d} points, bbox: ({4:.5f}, {5:.5f}, ' + '{6:.5f}, {7:.5f}){8:s}'.format(self.fileExt, self.fullFilename, + self.numOfCols, self.numOfRows, minLon, minLat, maxLon, + maxLat, {True: ", checking polygon borders", False: ""}[checkPoly])) + + def initAsHgt(self, corrx, corry, polygon, checkPoly, voidMax): + """SRTM3 hgt files contain 1201x1201 points; + however, we try to determine the real number of points. + Height data are stored as 2-byte signed integers, the byte order is + big-endian standard. The data are stored in a row major order. + All height data are in meters referenced to the WGS84/EGM96 geoid as + documented at http://www.nga.mil/GandG/wgsegm/. + """ + try: + numOfDataPoints = os.path.getsize(self.fullFilename) / 2 + self.numOfRows = self.numOfCols = int(numOfDataPoints ** 0.5) + self.zData = numpy.fromfile(self.fullFilename, + dtype=">i2").reshape(self.numOfRows, self.numOfCols).astype("float32") + if voidMax != None: + voidMask = numpy.asarray(numpy.where(self.zData<=voidMax, True, False)) + self.zData = numpy.ma.array(self.zData, mask=voidMask, fill_value=float("NaN")) + if self.feetSteps: + self.zData = self.zData * meters2Feet + finally: + self.lonIncrement = 1.0/(self.numOfCols-1) + self.latIncrement = 1.0/(self.numOfRows-1) + self.minLon, self.minLat, self.maxLon, self.maxLat = self.borders(corrx, + corry) + if checkPoly: + self.polygon = polygon + else: + self.polygon = None + self.transform = None + self.reverseTransform = None + + def borders(self, corrx=0.0, corry=0.0): + """determines the bounding box of self.filename using parseHgtFilename(). + """ + return parseFileForBbox(self.fullFilename, corrx, corry) + + def makeTiles(self, opts): + """generate tiles from self.zData according to the given .area and + return them as list of hgtTile objects. + """ + area = opts.area or None + maxNodes = opts.maxNodesPerTile + step = int(opts.contourStepSize) or 20 + + def truncateData(area, inputData): + """truncates a numpy array. + returns (, , , ) and an array of the + truncated height data. + """ + if area: + bboxMinLon, bboxMinLat, bboxMaxLon, bboxMaxLat = (float(bound) + for bound in area.split(":")) + if self.reverseTransform is not None: + bboxMinLon, bboxMinLat, bboxMaxLon, bboxMaxLat = transformLonLats( + bboxMinLon, bboxMinLat, bboxMaxLon, bboxMaxLat, + self.reverseTransform) + if bboxMinLon > bboxMaxLon: + # bbox covers the W180/E180 longitude + if self.minLon < 0 or self.minLon < bboxMaxLon: + # we are right of W180 + bboxMinLon = self.minLon + if bboxMaxLon >= self.maxLon: + bboxMaxLon = self.maxLon + else: + # we are left of E180 + bboxMaxLon = self.maxLon + if bboxMinLon <= self.minLon: + bboxMinLon = self.minLon + else: + if bboxMinLon <= self.minLon: + bboxMinLon = self.minLon + if bboxMaxLon >= self.maxLon: + bboxMaxLon = self.maxLon + if bboxMinLat <= self.minLat: + bboxMinLat = self.minLat + if bboxMaxLat >= self.maxLat: + bboxMaxLat = self.maxLat + minLonTruncIndex = int((bboxMinLon-self.minLon) / + (self.maxLon-self.minLon) / self.lonIncrement) + minLatTruncIndex = -1*int((bboxMinLat-self.minLat) / + (self.maxLat-self.minLat) / self.latIncrement) + maxLonTruncIndex = int((bboxMaxLon-self.maxLon) / + (self.maxLon-self.minLon) / self.lonIncrement) + maxLatTruncIndex = -1*int((bboxMaxLat-self.maxLat) / + (self.maxLat-self.minLat) / self.latIncrement) + realMinLon = self.minLon + minLonTruncIndex*self.lonIncrement + realMinLat = self.minLat - minLatTruncIndex*self.latIncrement + realMaxLon = self.maxLon + maxLonTruncIndex*self.lonIncrement + realMaxLat = self.maxLat - maxLatTruncIndex*self.latIncrement + if maxLonTruncIndex == 0: + maxLonTruncIndex = None + if minLatTruncIndex == 0: + minLatTruncIndex = None + zData = inputData[maxLatTruncIndex:minLatTruncIndex, + minLonTruncIndex:maxLonTruncIndex] + return (realMinLon, realMinLat, realMaxLon, realMaxLat), zData + else: + return (self.minLon, self.minLat, self.maxLon, self.maxLat), inputData + + def chopData(inputBbox, inputData, depth=0): + """chops data and appends chops to tiles if small enough. + """ + + def estimNumOfNodes(data): + """simple estimation of the number of nodes. The number of nodes is + estimated by summing over all absolute differences of contiguous + points in the zData matrix which is previously divided by the step + size. + + This method works pretty well in areas with no voids (e. g. points + tagged with the value -32768 (-0x8000)), but overestimates the number of points + in areas with voids by approximately 0 ... 50 % although the + corresponding differences are explicitly set to 0. + """ + # get rid of the void mask values + # the next line is obsolete since voids are now generally masked by nans + #helpData = numpy.where(data==-0x8000, float("NaN"), data) / step + helpData = data.filled() / step + xHelpData = numpy.abs(helpData[:,1:]-helpData[:,:-1]) + yHelpData = numpy.abs(helpData[1:,:]-helpData[:-1,:]) + xHelpData = numpy.where(xHelpData!=xHelpData, 0, xHelpData).sum() + yHelpData = numpy.where(yHelpData!=yHelpData, 0, yHelpData).sum() + estimatedNumOfNodes = xHelpData + yHelpData + return estimatedNumOfNodes + + def tooManyNodes(data): + """returns True if the estimated number of nodes is greater than + and False otherwise. defaults to 1000000, + which is an approximate limit for correct handling of osm files + in mkgmap. A value of 0 means no tiling. + """ + if maxNodes == 0: + return False + if estimNumOfNodes(data) > maxNodes: + return True + else: + return False + + def getChops(unchoppedData, unchoppedBbox): + """returns a data chop and the according bbox. This function is + recursively called until all tiles are estimated to be small enough. + + One could cut the input data either horizonally or vertically depending + on the shape of the input data in order to achieve more quadratic tiles. + However, generating contour lines from horizontally cut data appears to be + significantly faster. + """ + # number of rows > number of cols, horizontal cutting + (unchoppedBboxMinLon, unchoppedBboxMinLat, unchoppedBboxMaxLon, + unchoppedBboxMaxLat) = unchoppedBbox + unchoppedNumOfRows = unchoppedData.shape[0] + chopLatIndex = int(unchoppedNumOfRows/2.0) + chopLat = unchoppedBboxMaxLat - (chopLatIndex*self.latIncrement) + lowerChopBbox = (unchoppedBboxMinLon, unchoppedBboxMinLat, + unchoppedBboxMaxLon, chopLat) + upperChopBbox = (unchoppedBboxMinLon, chopLat, + unchoppedBboxMaxLon, unchoppedBboxMaxLat) + lowerChopData = unchoppedData[chopLatIndex:,:] + upperChopData = unchoppedData[:chopLatIndex+1,:] + return (lowerChopBbox, lowerChopData), (upperChopBbox, + upperChopData) + + + if tooManyNodes(inputData): + chops = getChops(inputData, inputBbox) + for choppedBbox, choppedData in chops: + chopData(choppedBbox, choppedData, depth+1) + else: + if self.polygon: + tileXData = numpy.arange(inputBbox[0], + inputBbox[2]+self.lonIncrement/2.0, self.lonIncrement) + tileYData = numpy.arange(inputBbox[3], + inputBbox[1]-self.latIncrement/2.0, -self.latIncrement) + tileMask = polygonMask(tileXData, tileYData, self.polygon, + self.transform) + tilePolygon = self.polygon + if not numpy.any(tileMask): + # all points are inside the polygon + tilePolygon = None + elif numpy.all(tileMask): + # all elements are masked -> tile is outside of self.polygon + return + else: + tilePolygon = None + tileMask = None + voidMaskValues = numpy.unique(inputData.mask) + if len(voidMaskValues)==1 and voidMaskValues[0]==True: + # this tile is full of void values, so discard this tile + return + else: + tiles.append(hgtTile({"bbox": inputBbox, "data": inputData, + "increments": (self.lonIncrement, self.latIncrement), + "polygon": tilePolygon, "mask": tileMask, "transform": + self.transform})) + + tiles = [] + bbox, truncatedData = truncateData(area, self.zData) + chopData(bbox, truncatedData) + return tiles + + +class hgtTile: + """is a handle for hgt data tiles as generated by hgtFile.makeTiles(). + """ + + def __init__(self, tile): + """initializes tile-specific variables. The minimum elevation is stored in + self.minEle, the maximum elevation in self.maxEle. + """ + self.minLon, self.minLat, self.maxLon, self.maxLat = tile["bbox"] + self.zData = tile["data"] + # initialize lists for longitude and latitude data + self.numOfRows = self.zData.shape[0] + self.numOfCols = self.zData.shape[1] + self.lonIncrement, self.latIncrement = tile["increments"] + self.polygon = tile["polygon"] + self.mask = tile["mask"] + self.transform = tile["transform"] + self.xData = numpy.arange(self.numOfCols) * self.lonIncrement + self.minLon + self.yData = numpy.arange(self.numOfRows) * self.latIncrement * -1 + self.maxLat + self.minEle, self.maxEle = self.getElevRange() + + def printStats(self): + """prints some statistics about the tile. + """ + minLon, minLat, maxLon, maxLat = transformLonLats( + self.minLon, self.minLat, self.maxLon, self.maxLat, self.transform) + print("\ntile with {0:d} x {1:d} points, bbox: ({2:.2f}, {3:.2f}, {4:.2f}, {5:.2f})".format( + self.numOfRows, self.numOfCols, minLon, minLat, maxLon, maxLat)) + print("minimum elevation: {0:d}".format(self.minEle)) + print("maximum elevation: {0:d}".format(self.maxEle)) + + def getElevRange(self): + """returns minEle, maxEle of the current tile. + + We don't have to care about -0x8000 values here since these are masked + so that self.zData's min and max methods will yield proper values. + """ + minEle = self.zData.min() + maxEle = self.zData.max() + return minEle, maxEle + + def bbox(self, doTransform=True): + """returns the bounding box of the current tile. + """ + if doTransform: + return transformLonLats(self.minLon, self.minLat, self.maxLon, + self.maxLat, self.transform) + else: + return self.minLon, self.minLat, self.maxLon, self.maxLat + + def contourLines(self, stepCont=20, maxNodesPerWay=0, noZero=False, + minCont=None, maxCont=None, rdpEpsilon=None, rdpMaxVertexDistance=None): + """generates contour lines using matplotlib. + + is height difference of contiguous contour lines in meters + : the maximum number of nodes contained in each way + : if True, the 0 m contour line is discarded + : lower limit of the range to generate contour lines for + : upper limit of the range to generate contour lines for + : epsilon to use in RDP contour line simplification + : maximal vertex distance in RDP simplification + + A list of elevations and a ContourObject is returned. + """ + def getContLimit(ele, step): + """returns a proper value for the lower or upper limit to generate contour + lines for. + """ + if ele%step == 0: + return ele + corrEle = ele + step - ele % step + return corrEle + + minCont = minCont or getContLimit(self.minEle, stepCont) + maxCont = maxCont or getContLimit(self.maxEle, stepCont) + contourSet = [] + if noZero: + levels = [l for l in range(int(minCont), int(maxCont), stepCont) if l!=0] + else: + levels = range(int(minCont), int(maxCont), stepCont) + x, y = numpy.meshgrid(self.xData, self.yData) + # z data is a masked array filled with nan. + z = numpy.ma.array(self.zData, mask=self.mask, fill_value=float("NaN"), + keep_mask=True) + if mplversion < "2.0.0": + Contours = ContourObject(_cntr.Cntr(x, y, z.filled(), None), + maxNodesPerWay, self.transform, self.polygon, + rdpEpsilon, rdpMaxVertexDistance) + else: + corner_mask = True + nchunk = 0 + Contours = ContourObject( + _contour.QuadContourGenerator(x, y, z.filled(), self.mask, corner_mask, nchunk), + maxNodesPerWay, self.transform, self.polygon, + rdpEpsilon, rdpMaxVertexDistance) + return levels, Contours + + def countNodes(self, maxNodesPerWay=0, stepCont=20, minCont=None, + maxCont=None, rdpEpsilon=None, rdpMaxVertexDistance=None): + """counts the total number of nodes and paths in the current tile + as written to output. + + is the maximal number of nodes per way or 0 for uncut ways + is height difference of contiguous contour lines in meters + : lower limit of the range to generate contour lines for + : upper limit of the range to generate contour lines for + : epsilon to use in RDP contour line simplification + : maximal vertex distance in RDP simplification + """ + if not (self.elevations and self.contourData): + elevations, contourData = self.contourLines(stepCont, maxNodesPerWay, + minCont, maxCont, rdpEpsilon, rdpMaxVertexDistance) + else: + elevations, contourData = self.elevations, self.contourData + numOfNodesWays = [contourData.trace(e)[1:] for e in elevations] + numOfNodes = sum([n for n, w in numOfNodesWays]) + numOfWays = sum([w for n, w in numOfNodesWays]) + return numOfNodes, numOfWays + + diff --git a/scripts_hgt/hgt_to_osm.py b/scripts_hgt/hgt_to_osm.py new file mode 100644 index 0000000..5dbf7e4 --- /dev/null +++ b/scripts_hgt/hgt_to_osm.py @@ -0,0 +1,151 @@ +#!/usr/bin/python + +import sys +import os +from optparse import OptionParser + +from scripts_hgt import hgt +from scripts_hgt import osmUtil + + +def parseCommandLine(): + """parses the command line. + """ + parser = OptionParser(usage="%prog [options] [] []" + "\nphyghtmap generates contour lines from NASA SRTM and smiliar data" + "\nas well as from GeoTiff data" + "\nin OSM formats. For now, there are three ways to achieve this. First," + "\nit can be used to process existing source files given as arguments" + "\non the command line. Note that the filenames must have the format" + "\n[N|S]YY[W|E]XXX.hgt, with YY the latitude and XXX the longitude of the" + "\nlower left corner of the tile. Second, it can be used with an area" + "\ndefinition as input. The third way to use phyghtmap is to specify a" + "\npolygon definition. In the last two cases, phyghtmap will look for a" + "\ncache directory (per default: ./hgt/) and the needed SRTM files. If" + "\nno cache directory is found, it will be created. It then downloads" + "\nall the needed NASA SRTM data files automatically if they are not cached" + "\nyet. There is also the possibility of masking the NASA SRTM data with" + "\ndata from www.viewfinderpanoramas.org which fills voids and other data" + "\nlacking in the original NASA data set. Since the 3 arc second data available" + "\nfrom www.viewfinderpanoramas.org is complete for the whole world," + "\ngood results can be achieved by specifying --source=view3. For higher" + "\nresolution, the 1 arc second SRTM data in version 3.0 can be used by" + "\nspecifying --source=srtm1 in combination with --srtm-version=3.0. " + "\nSRTM 1 arc second data is, however, only available for latitudes" + "\nbetween 59 degrees of latitude south and 60 degrees of latitude north.") + + parser.add_option("-s", "--step", help="specify contour line step size in" + "\nmeters or feet, if using the --feet option. The default value is 20.", + dest="contourStepSize", metavar="STEP", action="store", default='10') + parser.add_option("-0", "--no-zero-contour", help="say this, if you don't want" + "\nthe sea level contour line (0 m) (which sometimes looks rather ugly) to" + "\nappear in the output.", action="store_true", default=False, dest="noZero") + parser.add_option("--start-node-id", help="specify an integer as id of" + "\nthe first written node in the output OSM xml. It defaults to 10000000" + "\nbut some OSM xml mergers are running into trouble when encountering non" + "\nunique ids. In this case and for the moment, it is safe to say" + "\n10000000000 (ten billion) then.", dest="startId", type="int", + default=10000000, action="store", metavar="NODE-ID") + parser.add_option("--start-way-id", help="specify an integer as id of" + "\nthe first written way in the output OSM xml. It defaults to 10000000" + "\nbut some OSM xml mergers are running into trouble when encountering non" + "\nunique ids. In this case and for the moment, it is safe to say" + "\n10000000000 (ten billion) then.", dest="startWayId", type="int", + default=10000000, action="store", metavar="WAY-ID") + parser.add_option("--max-nodes-per-tile", help="specify an integer as a maximum" + "\nnumber of nodes per generated tile. It defaults to 1000000," + "\nwhich is approximately the maximum number of nodes handled properly" + "\nby mkgmap. For bigger tiles, try higher values. For a single file" + "\noutput, say 0 here.", + dest="maxNodesPerTile", type="int", default=1000000, action="store") + parser.add_option("--max-nodes-per-way", help="specify an integer as a maximum" + "\nnumber of nodes per way. It defaults to 2000, which is the maximum value" + "\nfor OSM api version 0.6. Say 0 here, if you want unsplitted ways.", + dest="maxNodesPerWay", type="int", default=2000, action="store") + parser.add_option("--gzip", help="turn on gzip compression of output files." + "\nThis reduces the needed disk space but results in higher computation" + "\ntimes. Specifiy an integer between 1 and 9. 1 means low compression and" + "\nfaster computation, 9 means high compression and lower computation.", + dest="gzip", action="store", default=1, metavar="COMPRESSLEVEL", + type="int") + parser.add_option("--corrx", help="correct x offset of contour lines." + "\n A setting of --corrx=0.0005 was reported to give good results." + "\n However, the correct setting seems to depend on where you are, so" + "\nit is may be better to start with 0 here.", + metavar="SRTM-CORRX", dest="srtmCorrx", action="store", + type="float", default=0) + parser.add_option("--corry", help="correct y offset of contour lines." + "\n A setting of --corry=0.0005 was reported to give good results." + "\n However, the correct setting seems to depend on where you are, so" + "\nit may be better to start with 0 here.", + metavar="SRTM-CORRY", dest="srtmCorry", action="store", + type="float", default=0) + parser.add_option("--void-range-max", help="extend the void value range" + "\nup to this height. The hgt file format uses a void value which is" + "\n-0x8000 or, in terms of decimal numbers, -32768. Some hgt files" + "\ncontain other negative values which are implausible as height values," + "\ne. g. -0x4000 (-16384) or similar. Since the lowest place on earth is" + "\nabout -420 m below sea level, it should be safe to say -500 here in" + "\ncase you encounter strange phyghtmap behaviour such as program aborts" + "\ndue to exceeding the maximum allowed number of recursions.", + default=-0x8000, type="int", metavar="MINIMUM_PLAUSIBLE_HEIGHT_VALUE", + action="store", dest="voidMax") + opts, args = parser.parse_args() + return opts + +def makeOsmFilename(borders, opts): + """generate a filename for the output osm file. This is done using the bbox + of the current hgt file. + """ + osmName = hgt.makeBBoxString(borders) + ".osm" + if opts.gzip: + osmName += ".gz" + return "dem/"+opts.country_name+"/"+osmName + +def getOutput(opts, bounds): + outputFilename = makeOsmFilename(bounds, opts) + # standard XML output, possibly gzipped + output = osmUtil.Output(outputFilename,boundsTag=hgt.makeBoundsString(bounds), gzip=opts.gzip) + return output + +def writeNodes(*args, **kwargs): + opts = args[-1] + return osmUtil.writeXML(*args, **kwargs) + +def processHgtFile(srcName, opts,checkPoly=False): + hgtFile = hgt.hgtFile(srcName, opts.srtmCorrx, opts.srtmCorry, None,checkPoly, opts.voidMax) + hgtTiles = hgtFile.makeTiles(opts) + for tile in hgtTiles: + output = getOutput(opts, tile.bbox()) + try: + elevations, contourData = tile.contourLines( + stepCont=int(opts.contourStepSize), + maxNodesPerWay=opts.maxNodesPerWay, noZero=opts.noZero) + except ValueError: # tiles with the same value on every element + continue + # we have multiple output files, so we need to count nodeIds here + opts.startId, ways = writeNodes(output, contourData, + elevations, output.timestampString, opts) + output.writeWays(ways, opts.startWayId) + # we have multiple output files, so we need to count wayIds here + opts.startWayId += len(ways) + output.done() + return [] # don't need to return ways, since output is already complete + +def hgt_to_osm(country_name): + opts = parseCommandLine() + hgtDataFiles=[] + opts.country_name = country_name + for f in os.listdir("dem/"+country_name+"/"): + if f.endswith('.hgt'): + hgtDataFiles.append("dem/"+country_name+"/"+f) + opts.area = ":".join([str(i) for i in hgt.calcHgtArea(hgtDataFiles, + opts.srtmCorrx, opts.srtmCorry)]) + + ways = [] + for hgtDataFileName in hgtDataFiles: + ways.extend(processHgtFile(hgtDataFileName, opts,checkPoly=False)) + +if __name__=="__main__": + country_name=sys.argv[1] + hgt_to_osm(country_name) diff --git a/scripts_hgt/osmUtil.py b/scripts_hgt/osmUtil.py new file mode 100644 index 0000000..f7fd1df --- /dev/null +++ b/scripts_hgt/osmUtil.py @@ -0,0 +1,173 @@ +__author__ = "Adrian Dempwolff (phyghtmap@aldw.de)" +__version__ = "2.23" +__copyright__ = "Copyright (c) 2009-2021 Adrian Dempwolff" +__license__ = "GPLv2+" + +import numpy +import time +import datetime + +from scripts_hgt.varint import writableString + +def makeElevClassifier(majorDivisor, mediumDivisor): + """returns a function taking an elevation and returning a + category specifying whether it's a major, medium or minor contour. + """ + def classify(height): + if height%majorDivisor==0: + return "elevation_major" + elif height%mediumDivisor==0: + return "elevation_medium" + else: + return "elevation_minor" + return classify + +def makeUtcTimestamp(): + return datetime.datetime.utcfromtimestamp( + time.mktime(time.localtime())).isoformat()+"Z" + + +class Id(object): + """a counter, constructed with the first number to return. + + Count using the getId method. + """ + def __init__(self, offset): + self.curId = offset + + def getId(self): + self.curId += 1 + return self.curId-1 + + +class Output(object): + """An OSM output. + + It is constructed with a destination name, the desired OSM API version, + the version of phyghtmap as string, an already formatted OSM XML bounds tag + as output by the hgt.makeBoundsString() function, an integer representing + the gzip compressionlevel (or 0 if no gzip compression is desired), + an elevation classifying function as returned by makeElevClassifier() + and a hint weather to write timestamps to output or not. + """ + def __init__(self, fName, boundsTag, gzip=0): + + if 0 < gzip < 10: + import gzip as Gzip + self.outF = Gzip.open(fName, "wb", gzip) + else: + self.outF = open(fName, "wb") + self.osmVersion = "0.6" + + self.versionString = ' version="1"' + self.timestampString = "" + self.elevClassifier = makeElevClassifier(200,100) + self.phyghtmapVersion= "1.0" + self.boundsTag = boundsTag + self._writePreamble() + + def _writePreamble(self): + self.write('\n') + self.write( + '\n'.format( + self.osmVersion, self.phyghtmapVersion)) + self.write(self.boundsTag+"\n") + + def done(self): + self.write("\n") + self.outF.close() + return 0 + + def write(self, output): + self.outF.write(writableString(output)) + + def flush(self): + self.outF.flush() + + def writeWays(self, ways, startWayId): + IDCounter = Id(startWayId) + for startNodeId, length, isCycle, elevation in ways: + IDCounter.curId += 1 + nodeIds = list(range(startNodeId, startNodeId+length)) + if isCycle: + nodeIds.append(nodeIds[0]) + nodeRefs = ('\n'*len(nodeIds)).format(*nodeIds) + self.write('{3:s}' + '' + '' + '' + '\n'.format( + IDCounter.curId-1, + self.versionString, + self.timestampString, + nodeRefs, + elevation, + self.elevClassifier(elevation))) + +def _makePoints(output, path, IDCounter, versionString, timestampString): + """writes OSM representations of the points making up a path to + output. + + It returns a list of the node ids included in this path. + """ + ids, content = [], [] + for lon, lat in path: + IDCounter.curId += 1 + content.append(''.format( + IDCounter.curId-1, + lat, + lon, + versionString, + timestampString,) + ) + ids.append(IDCounter.curId-1) + if numpy.all(path[0]==path[-1]): # close contour + del content[-1] # remove last node + del ids[-1] + ids.append(ids[0]) + IDCounter.curId -= 1 + # output is eventually a pipe, so we must pass a string + output.write("\n".join(content)+"\n") + return ids + +def _writeContourNodes(output, contourList, elevation, IDCounter, + versionString, timestampString): + """calls _makePoints() to write nodes to and collects information + about the paths in contourList, namely the node ids for each path, which is + the returned. + """ + ways = [] + for path in contourList: + nodeRefs = _makePoints(output, path, IDCounter, versionString, + timestampString) + if nodeRefs[0] == nodeRefs[-1]: + ways.append((nodeRefs[0], len(nodeRefs)-1, True, elevation)) + else: + ways.append((nodeRefs[0], len(nodeRefs), False, elevation)) + return ways + + +def writeXML(output, contourData, elevations, timestampString, opts): + """emits node OSM XML to and collects path information. + + may be anything having a write method. For now, its used with + Output instance or an open pipe to the parent process, if running in parallel. + + is a phyghtmap.hgt.ContourObject instance, a list + of elevations to generate contour lines for. + + are the options coming from phyghtmap. + """ + IDCounter = Id(opts.startId) + + versionString = ' version="1"' + ways = [] + for elevation in elevations: + contourList = contourData.trace(elevation)[0] + if not contourList: + continue + ways.extend(_writeContourNodes(output, contourList, elevation, + IDCounter, versionString, timestampString)) + #output.flush() + newId = IDCounter.getId() + return newId, ways diff --git a/scripts_hgt/varint.py b/scripts_hgt/varint.py new file mode 100644 index 0000000..15dd184 --- /dev/null +++ b/scripts_hgt/varint.py @@ -0,0 +1,14 @@ +__author__ = "Adrian Dempwolff (phyghtmap@aldw.de)" +__version__ = "2.23" +__copyright__ = "Copyright (c) 2009-2021 Adrian Dempwolff" +__license__ = "GPLv2+" + + +def str2bytes(string, encoding="utf-8"): + return bytes(string, encoding=encoding) + +def writableString(string): + return str2bytes(string) + +bboxStringtypes = (type(str()), type(bytes()), type(bytearray())) + diff --git a/splitter/doc/LICENSE-LGPL.txt b/splitter/doc/LICENSE-LGPL.txt new file mode 100644 index 0000000..65c5ca8 --- /dev/null +++ b/splitter/doc/LICENSE-LGPL.txt @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/splitter/doc/LICENSE-apache-2.0.txt b/splitter/doc/LICENSE-apache-2.0.txt new file mode 100644 index 0000000..d645695 --- /dev/null +++ b/splitter/doc/LICENSE-apache-2.0.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/splitter/doc/LICENSE-gpl-3.0.txt b/splitter/doc/LICENSE-gpl-3.0.txt new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/splitter/doc/LICENSE-gpl-3.0.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/splitter/doc/LICENSE-xpp3.txt b/splitter/doc/LICENSE-xpp3.txt new file mode 100644 index 0000000..4cc7224 --- /dev/null +++ b/splitter/doc/LICENSE-xpp3.txt @@ -0,0 +1,46 @@ +Indiana University Extreme! Lab Software License + +Version 1.1.1 + +Copyright (c) 2002 Extreme! Lab, Indiana University. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution. + +3. The end-user documentation included with the redistribution, if any, + must include the following acknowledgment: + + "This product includes software developed by the Indiana University + Extreme! Lab (http://www.extreme.indiana.edu/)." + +Alternately, this acknowledgment may appear in the software itself, +if and wherever such third-party acknowledgments normally appear. + +4. The names "Indiana Univeristy" and "Indiana Univeristy Extreme! Lab" +must not be used to endorse or promote products derived from this +software without prior written permission. For written permission, +please contact http://www.extreme.indiana.edu/. + +5. Products derived from this software may not use "Indiana Univeristy" +name nor may "Indiana Univeristy" appear in their name, without prior +written permission of the Indiana University. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED +WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHORS, COPYRIGHT HOLDERS OR ITS CONTRIBUTORS +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR +BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/splitter/doc/intro.txt b/splitter/doc/intro.txt new file mode 100644 index 0000000..75f299c --- /dev/null +++ b/splitter/doc/intro.txt @@ -0,0 +1,66 @@ + +* The size of each tile is modified depending on the density of features. So tiles can remain large for the most part but shrink down in areas of high density. +* Tiles meet exactly and do not overlap. +* Tiles are split on boundries that are exact at a low zoom level in Garmin units, ensuring that the tiles do not overlap or have gaps in the overview map. +* Lines crossing the boundry are cut into two pieces exactly on the boundry. Part of the line will be in one tile, the rest in the other tile. There is no overlap. +* The same is true for polygons. They are cut with a straight line. +* If a line crosses a corner of a tile but does not have a node inside the tile it will still appear. +* Includes relations. + +* The size of each tile is modified depending on the density of features. So tiles can remain large for the most part but shrink down in areas of high density. +* Tiles meet exactly and - using the saved boundng box - do not overlap. +* The overlap (in garmin units) determines how many +* Tiles are split on boundaries that are exact at a low zoom level in Garmin units, ensuring that the tiles do not overlap or have gaps in the overview map. +* Lines crossing the boundary are cut into two pieces exactly on the boundary. +* +* +* Algorithm with default parms (r 200): +* Pass 1: + - For all nodes in the OSM data: calculate the desensity + - For all ways and relations: do nothing (just read and count them) + - Calculate the split areas so that none contains more than max-nodes (default: 1.600.000) +* Pass 2: + - For all nodes: calculate the area(s) that the node has to be written to. Since the default value for overlap is 2000, some nodes are written into up to 4 different areas (tiles). + Write the node to the calculated areas. + - For all ways: lookup the areas of the all nodes. Write the way (id, tags, and node ids) to all areas found and save the information to which areas the way was written to. + - For all relations: lookup the areas of the all nodes and ways (sub-relations are ignored). Write the relation (id, tags, and member ids) to all these areas. + +* New Algorithm with default parms (r > 200): +* - Read user defined list of ways and relations that are known + to cause trouble ("problem rels" and "problem ways"). Copy the + "problem way" list to the "needed way" list +* Pass 1: + - For all nodes in the OSM data: calculate the desensity + - For all ways and relations: do nothing (if reader allows it: ignore them) + - Calculate the split areas so that none contains more than max-nodes (default: 1.600.000) +* Pass 2a: + - Read and save all relations + - Recursively add all sub relations of the user given problem relations to the + list of problem relations + - Forget relations that are not in the problem list + - For all way members in the problem relation list: add the ids to the list of "needed ways" + - For all node members in the problem relation list: add the ids to the list of "needed nodes" +* Pass 2b: + - For all ways, if the way is in the "needed way" list: add the nodes to the list of "needed nodes" +* Pass 2c: + - For all nodes: if the node is in the "needed nodes" list: save the coords + - For all ways: if the way is in the "needed way" list: + Use the coords of the nodes to calculate the bounding box of the way and find + all tile areas that are intersecting with it. Save those areas. + Save also the way nodes for pass 2d +* Pass 2d: + - For all relations in the "problem rel" list: + Calculate the bounding box of the relation and find the tile areas that intersect + with it. For each member of the relation: Merge the list of the members' tile areas + with the list of the relations' tile area. + +* Pass 3: + - For all nodes: calculate the area(s) that the node has to be written to. Since the default value for overlap is 2000, some nodes are written into up to 4 different areas (tiles). + Write the node to the calculated areas. + If the node is in the "needed nodes" list: Write the node also to the areas only calculated in pass 2d + - For all ways: If the way is in the "needed way" list: Write the way to the areas calculated in pass 2d, + else lookup the areas of the all nodes and write the way (id, tags, and node ids) to all areas found and save the information to which areas the way was written to. + - For all relations: if the relation is in "problem rel" list: Write the rel to the areas calculated in pass 2d, + else lookup the areas of the all nodes and ways (sub-relations are ignored). Write the relation (id, tags, and member ids) to all these areas. + + diff --git a/splitter/doc/splitter.txt b/splitter/doc/splitter.txt new file mode 100644 index 0000000..4480ec2 --- /dev/null +++ b/splitter/doc/splitter.txt @@ -0,0 +1,290 @@ +=Tile splitter for mkgmap= + +The format used for Garmin maps has, in effect, a maximum size, meaning that +you have to split an .osm file that contains large well mapped regions into a +number of smaller tiles. This program does that. There are at least two +stages of processing required. The first stage is to calculate what area each +tile should cover, based on the distribution of nodes. The second stage writes +out the nodes, ways and relations from the original .osm file into separate +smaller .osm files, one for each area that was calculated in stage one. With +option keep-complete=true, two additional stages are used to avoid broken ways +and polygons. + +The two most important features are: + +* Variable sized tiles so that you don't get a large number of tiny files. +* Tiles join exactly with no overlap or gaps. + +== First == + +You will need a lot of memory on your computer if you intend to split a large +area. A few options allow configuring how much memory you need. With the +default parameters, you need about 2 bytes for every node and way. This +doesn't sound a lot but there are about 4300 million nodes in the whole planet +file (Jan 2018) and so you cannot process the whole planet in one pass on +a 32 bit machine using this utility, as the maximum java heap space is 2G. It is +possible with 64 bit java and about 10GB of heap or with multiple passes. + +On the other hand a single country, even a well mapped one such as Germany or +the UK, will be possible on a modest machine, even a netbook. + +== Download == + +Download from the [http://www.mkgmap.org.uk/download/splitter.html splitter download directory] + +The source code is available from subversion: at http://svn.mkgmap.org.uk/splitter/trunk + +== Usage == + +Splitter requires java 1.6 or higher. Run the following. If you have less than +2G of memory on your computer you should reduce the -Xmx argument + + java -Xmx2000m -jar splitter.jar file.osm > splitter.log + +This will produce a number of .osm.pbf files that can be read by mkgmap. +There are also other files produced: + +The ''template.args'' file is a file that can be used with the -c option of +mkgmap that will compile all the files. You can use it as is or you can +edit it to include your own options. For example instead of each +description being "OSM Map" it could be "NW Scotland" as appropriate. + +The ''areas.list'' file is the list of bounding boxes that were calculated. If +you want, you can use this on subsequent calls of splitter using the +--split-file option to use exactly the same areas as last time. This might be +useful if you produce a map regularly and want to keep the tile areas the same +from month to month. It is also useful to avoid the time it takes to +regenerate the file each time (currently about a third of the overall time +taken to perform the split). Of course if the map grows enough that one of the +tiles overflows, you will have to re-calculate the areas again. + +The ''areas.poly'' file contains the bounding polygon of the calculated areas. + +The ''densities-out.txt'' file is written when no split-file is given and +contains debugging information only. + +You can also use a gzip'ed or bz2'ed compressed .osm file as the input file. +Note that this can slow down the splitter considerably (particularly true for +bz2) because decompressing the .osm file can take quite a lot of CPU power. If +you are likely to be processing a file several times you're probably better +off converting the file to one of the binary formats pbf or o5m. The o5m +format is faster to read, but requires more space on the disk. + +== Options == + +There are a number of options to fine tune things that you might want to try. + +; --boundary-tags=use-exclude-list +: A comma separated list of tag values for relations. +Used to filter multipolygon and boundary relations for +problem-list processing. See also option --wanted-admin-level. +Default: use-exclude-list + +; --cache= +: Deprecated, now does nothing. + +;--description=OSM Map +: Sets the desciption to be written in to the template.args file. + +;--geonames-file= +: The name of a GeoNames file to use for determining tile names. +Typically cities15000.zip from +[http://download.geonames.org/export/dump geonames] + +;--keep-complete=true +: Use keep-complete=false to disable two additional program phases between +the split and the final distribution phase (not recommended). The first phase, +called gen-problem-list, detects all ways and relations that are crossing the +borders of one or more output files. The second phase, called +handle-problem-list, collects the coordinates of these ways and relations and +calculates all output files that are crossed or enclosed. The information is +passed to the final dist-phase in three temporary files. This avoids broken +polygons, but be aware that it requires to read the input files at least two +additional times. +

+Do not specify it with --overlap unless you have a good reason to do so. + +;--mapid=63240001 +: Set the filename for the split files. In the example the first file will be +called 63240001.osm.pbf and the next one will be 63240002.osm.pbf and so on. + +;--max-areas=2048 +: The maximum number of areas that can be processed in a single pass during +the second stage of processing. This must be a number from 1 to 9999. Higher +numbers mean fewer passes over the source file and hence quicker overall +processing, but also require more memory. If you find you are running out of +memory but don't want to increase your --max-nodes value, try reducing this +instead. Changing this will have no effect on the result of the split, it's +purely to let you trade off memory for performance. Note that the first stage +of the processing has a fixed memory overhead regardless of what this is set +to so if you are running out of memory before the areas.list file is +generated, you need to either increase your -Xmx value or reduce the size of +the input file you're trying to split. + +;--max-nodes=1600000 +: The maximum number of nodes that can be in any of the resultant files. The +default is fairly conservative, I think you could increase it quite a lot +before getting any 'map too big' messages. I've not experimented much. Also +the bigger this value, the less memory is required during the splitting stage. + +;--max-threads +: The maximum number of threads used by splitter. Default is auto. + +;--mixed +: Specify this if the input osm file has nodes, ways and relations +intermingled or the ids are not strictly sorted. To increase performance, use +the osmosis sort function. + +;--no-trim +: Don't trim empty space off the edges of tiles. This option is ignored when +--polygon-file is used. + +;--output=pbf +: The format in which the output files are written. Possible values are xml, +pbf, o5m, and simulate. The default is pbf, which produces the smallest file +sizes. The o5m format is faster to write, but creates around 40% larger files. +The simulate option is for debugging purposes. + +;--output-dir=. +: The directory to which splitter should write the output files. If the +specified path to a directory doesn't exist, splitter tries to create it. +Defaults to the current working directory. + +;--overlap= +: Deprecated since r279. With keep-complete=false, splitter should include +nodes outside the bounding box, so that mkgmap can neatly crop exactly at the +border. This parameter controls the size of that overlap. It is in map units, +a default of 2000 is used which means about 0.04 degrees of latitude or +longitude. If --keep-complete=true is active and --overlap is given, a warning +will be printed because this combination rarely makes sense. + +;--polygon-file +: The name of a file containing a bounding polygon in the +[http://wiki.openstreetmap.org/wiki/Osmosis/Polygon_Filter_File_Format osmosis polygon file format]. +Splitter uses this file when calculating the areas. It first calculates a grid +using the given --resolution. The input file is read and for each node, a +counter is increased for the related grid area. If the input file contains a +bounding box, this is applied to the grid so that nodes outside of the +bounding box are ignored. Next, if specified, the bounding polygon is used to +zero those grid elements outside of the bounding polygon area. If the polygon-file +describes one or more rectilinear areas with no more than 40 vertices, splitter +will try to create output files that fit exactly into each area, otherwise it +will approximate the polygon area with rectangles. + +;--precomp-sea +: The name of a directory containing precompiled sea tiles. If given, +splitter will use the precompiled sea tiles in the same way as mkgmap does. +Use this if you want to use a polygon-file or --no-trim=true and mkgmap +creates empty *.img files combined with a message starting "There is not +enough room in a single garmin map for all the input data". + +;--problem-file +: The name of a file containing ways and relations that are known to cause +problems in the split process. Use this option if --keep-complete requires too +much time or memory and --overlap doesn't solve your problem. +: Syntax of problem file: + way: # comment... + rel: # comment... +example: + way:2784765 # Ferry Guernsey - Jersey + +;--problem-report +: The name of a file to write the generated problem list created +with --keep-complete. The parameter is ignored if --keep-complete=false. You can +reuse this file with the --problem-file parameter, but do this only if you use +the same values for max-nodes and resolution. + +;--resolution=13 +: The resolution of the density map produced during the first phase. A value +between 1 and 24. Default is 13. Increasing the value to 14 requires four +times more memory in the split phase. The value is ignored if a --split-file +is given. + +;--split-file=areas.list +: Use the previously calculated tile areas instead of calculating them from +scratch. The file can also be in *.kml format. + +;--status-freq +: Displays the amount of memory used by the JVM every --status-freq seconds. +Set =0 to disable. Default is 120. + +;--stop-after +: Debugging: stop after a given program phase. Can be split, +gen-problem-list, or handle-problem-list Default is dist which means execute +all phases. + +; --wanted-admin-level +: Specifies the lowest admin_level value of boundary relations that +should be kept complete. Used to filter boundary relations for +problem-list processing. The default value 5 means that +boundary relations are kept complete when the admin_level is +5 or higher (5..11). +The parameter is ignored if --keep-complete=false. +Default: 5 + +;--write-kml +: The name of a kml file to write out the areas to. This is in addition to +areas.list (which is always written out). + +== Special options == + +;--version + +: If the parameter --version is found somewhere in the options, splitter will +just print the version info and exit. Version info looks like this: + splitter 279 compiled 2013-01-12T01:45:02+0000 + +;--help +: If the parameter --help is found somewhere in the options, splitter will +print a list of all known normal options together with a short help and exit. + +== Tuning == +=== Tuning for best performance === + +A few hints for those that are using splitter to split large files. + +* For faster processing with --keep-complete=true, convert the input file to +o5m format using: + osmconvert --drop-version file.osm -o=file.o5m + +* The option --drop-version is optional, it reduces the file to that data +that is needed by splitter and mkgmap. + +* If you still experience poor performance, look into splitter.log. Search +for the word Distributing. You may find something like this in the next line: + Processing 1502 areas in 3 passes, 501 areas at a time +

+This means splitter has to read the input file input three times because the +max-areas parameter was much smaller than the number of areas. If you have +enough heap, set max-areas value to a value that is higher than the number of +areas, e.g. --max-areas=2048. Execute splitter again and you should find + Processing 1502 areas in a single pass + +* More areas require more memory. Make sure that splitter has enough heap +(increase the -Xmx parameter) so that it doesn't waste much time in the +garbage collector (GC), but keep as much memory as possible for the systems +I/O caches. + +* If available, use two different disks for input file and output directory, +esp. when you use o5m format for input and output. + +* If you use mkgmap r2415 or later and disk space is no concern, consider to +use --output=o5m to speed up processing. + +=== Tuning for low memory requirements === + +If your machine has less than 1GB free memory (eg. a netbook), you can still +use splitter, but you might have to be patient if you use the +parameter --keep-complete and want to split a file like germany.osm.pbf or a +larger one. If needed, reduce the number of parallel processed areas to 50 +with the max-areas parameter. You have to use --keep-complete=false when +splitting an area like Europe. + +== Notes == + +* There is no longer an upper limit on the number of areas that can be output +(previously it was 255). More areas just mean potentially more passes being +required over the .osm file, and hence the splitter will take longer to run. + +* There is no longer a limit on how many areas a way or relation can belong +to (previously it was 4). diff --git a/splitter/lib/fastutil-6.5.15-mkg.1b.jar b/splitter/lib/fastutil-6.5.15-mkg.1b.jar new file mode 100644 index 0000000..237f382 Binary files /dev/null and b/splitter/lib/fastutil-6.5.15-mkg.1b.jar differ diff --git a/splitter/lib/osmpbf-1.3.3.jar b/splitter/lib/osmpbf-1.3.3.jar new file mode 100644 index 0000000..b834cb0 Binary files /dev/null and b/splitter/lib/osmpbf-1.3.3.jar differ diff --git a/splitter/lib/protobuf-java-2.5.0.jar b/splitter/lib/protobuf-java-2.5.0.jar new file mode 100644 index 0000000..4c4e686 Binary files /dev/null and b/splitter/lib/protobuf-java-2.5.0.jar differ diff --git a/splitter/lib/xpp3-1.1.4c.jar b/splitter/lib/xpp3-1.1.4c.jar new file mode 100644 index 0000000..451ac82 Binary files /dev/null and b/splitter/lib/xpp3-1.1.4c.jar differ diff --git a/splitter/splitter.jar b/splitter/splitter.jar new file mode 100644 index 0000000..8fd551a Binary files /dev/null and b/splitter/splitter.jar differ diff --git a/style/rando.txt b/style/rando.txt new file mode 100644 index 0000000..a7ba0b8 --- /dev/null +++ b/style/rando.txt @@ -0,0 +1,3047 @@ + + +[_id] +ProductCode=0 +FID=7453 +CodePage=1252 + [End] + +;=========== COMMENTAIRES ====== +[_comments] +[End] + + + + +;=========== POLYGONES : PRIORITE DANS L'AFFICHAGE ====== +[_drawOrder] +Type=0x054,1 +Type=0x001,2 +Type=0x032,2 +Type=0x04e,3 +Type=0x11018,3 +Type=0x005,4 +Type=0x007,4 +Type=0x00a,4 +Type=0x00c,4 +Type=0x019,4 +Type=0x01a,4 +Type=0x04c,4 +Type=0x051,4 +Type=0x053,4 +Type=0x10f1b,4 +Type=0x10f1c,4 +Type=0x11009,4 +Type=0x1100a,4 +Type=0x11010,4 +Type=0x11013,4 +Type=0x11014,4 +Type=0x11017,4 +Type=0x1101e,4 +Type=0x1101f,4 +Type=0x04f,5 +Type=0x11001,5 +Type=0x11003,5 +Type=0x11006,5 +Type=0x11007,5 +Type=0x11103,5 +Type=0x03f,6 +Type=0x04d,6 +Type=0x10f02,6 +Type=0x10f03,6 +Type=0x10f04,6 +Type=0x10f08,6 +Type=0x1101a,6 +Type=0x004,7 +Type=0x014,7 +Type=0x015,7 +Type=0x1101b,7 +Type=0x1101d,7 +[End] + + + + + +;===================== POLYGONES ======================== + + +[_polygon] +Type=0x01 +;GRMN_TYPE: Urban Areas/LARGE_CITY/Large urban area, 200 000 or more inhabitants/Non NT +String1=0x01,Residentiel +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #F0D8A8" +[end] + + +[_polygon] +Type=0x04 +;GRMN_TYPE: Large Manmade Areas/MILITARY_BASE/Military base area/Non NT +String1=0x01,Base militaire +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#609860 +NightcustomColor:#609860 +Xpm="32 32 2 1" +"! c #FF0000" +" c none" +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +"! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! " +" " +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x05 +;GRMN_TYPE: Large Manmade Areas/PARKING_LOT/Parking lot area/Non NT +String1=0x01,Parking +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #949494" +[end] + + +[_polygon] +Type=0x07 +;GRMN_TYPE: Large Manmade Areas/AIRPORT/Airport area/Non NT +String1=0x01,Aeroport +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #505050" +[end] + + +[_polygon] +Type=0x0a +;GRMN_TYPE: Large Manmade Areas/COLLEGE/College or university area/Non NT +String1=0x01,College, Universite +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #C0C4C0" +[end] + + +[_polygon] +Type=0x0c +;GRMN_TYPE: Large Manmade Areas/INDUSTRIAL_COMPLEX/Industrial complex area/Non NT +String1=0x01,Zone industrielle, Zone commerciale +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #C8CCC8" +"# c #F0D8A8" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"################################" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x14 +;GRMN_TYPE: Park Areas/NATIONAL_PARK_MAJOR/Large or major national park/Non NT +String1=0x01,Parc national +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=DayAndNight +DaycustomColor:#00A400 +NightcustomColor:#00A400 +Xpm="32 32 2 1" +"! c #00A400" +" c none" +" ! ! ! ! ! !" +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +"! ! ! ! ! ! !" +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! !" +"! ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! !" +"! ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! !" +"! ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! !" +"! ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! !" +"! ! ! ! ! ! ! " +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x15 +;GRMN_TYPE: Park Areas/NATIONAL_PARK/National park/Non NT +String1=0x01,reserve naturelle +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=DayAndNight +DaycustomColor:#00C400 +NightcustomColor:#00C400 +Xpm="32 32 2 1" +"! c #00C400" +" c none" +" " +" ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! " +" !" +" ! ! " +" ! ! ! ! " +" ! ! ! ! ! " +" ! ! ! ! " +" ! ! !" +" ! ! " +" ! ! ! " +" ! ! ! ! " +" ! ! ! ! " +" ! ! ! !" +"! ! ! " +" ! ! ! " +" ! ! ! " +" ! ! ! ! " +" ! ! ! !" +" ! ! ! " +" ! ! ! " +" ! ! ! " +" ! ! ! " +" ! ! ! !" +"! ! ! ! " +" ! ! ! ! " +" ! ! ! ! " +" ! ! ! ! " +" ! ! !" +"! ! ! " +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x19 +;GRMN_TYPE: Large Manmade Areas/SPORTS_COMPLEX/Sports arena or stadium/Non NT +String1=0x01,Complexe sportif +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #7B9520" +"# c #BDFF00" +"################################" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"################################" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"################################" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"################################" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"################################" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"################################" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"################################" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"################################" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +"#!!!#!!!#!!!#!!!#!!!#!!!#!!!#!!!" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x1a +;GRMN_TYPE: Large Manmade Areas/CEMETARY/Cemetary/Non NT +String1=0x01,cimetiere +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #606400" +"# c #B0D490" +"##!###############!#############" +"##!###############!#############" +"!!!!!###########!!!!!###########" +"##!###############!#############" +"##!###############!#############" +"##!###############!#############" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"##!###############!#############" +"##!###############!#############" +"!!!!!###########!!!!!###########" +"##!###############!#############" +"##!###############!#############" +"##!###############!#############" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x32 +;GRMN_TYPE: Water Areas/SEA/Sea/Non NT +String1=0x01,eau +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #55AAFF" +[end] + + +[_polygon] +Type=0x3f +;GRMN_TYPE: Water Areas/LAKE, LAKE_5MI/Medium sized lake, typically between 5 and 30 sq mi in area/Non NT +ExtendedLabels=N +Xpm="0 0 1 0" +"1 c #55AAFF" +[end] + + +[_polygon] +Type=0x4c +;GRMN_TYPE: Water Areas/INTERMITTENT_LAKE/An intermittent or dry lake/Non NT +String1=0x01,basin d eau +ExtendedLabels=N +Xpm="32 32 2 1" +"! c #F8FCE0" +"# c #55AAFF" +"####!!######!!!!####!!###!!!!!##" +"############!!!###########!!!!##" +"!!###########!#############!!###" +"!!#############################!" +"!!##!!###############!#########!" +"!###!!!!############!!!!########" +"####!!!!####!#!#####!!!!!#######" +"#####!!####!!!!!#####!!!########" +"#####!!###!!!!!######!!#########" +"##########!!!!#################!" +"!##########!!############!!###!!" +"!!##############!!######!!!!##!!" +"!!!############!!!!!####!!!!###!" +"!!############!!!!!!#####!!!!###" +"########!!#####!!!!#######!!####" +"#######!!!!#####!!!#############" +"###!###!!!!#####################" +"##!!!###!!!!#########!!####!!###" +"#!!!#####!!########!!!!!##!!!!##" +"##!!###############!!!!###!!!###" +"####################!!#####!!###" +"!!#######!!#####################" +"!!!#####!!!!###########!!######!" +"!!!#######!!####!#####!!!!#####!" +"!!!!#######!!##!!!####!!!!######" +"#!!###########!!!!#####!!!!#####" +"###############!!#######!!######" +"################################" +"###!!###########################" +"##!!!!######!!#######!##########" +"##!!!!!####!!!!#####!!####!!####" +"###!!!!####!!!!!####!!!##!!!!###" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x4d +;GRMN_TYPE: Surface Cover Areas/GLACIER/Large area of compacted snow and ice/Non NT +String1=0x01,Glacier +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +Xpm="32 32 2 1" +"! c #7BCAFF" +"# c #BDFFFF" +"########!!######################" +"##########!!!###################" +"############!!##################" +"##############!!################" +"##############!!!###############" +"################!!!#############" +"###################!!###########" +"!!##################!!##########" +"#!###################!!#########" +"#!!###################!!########" +"##!!####################!!!#####" +"###!!#####################!!!###" +"####!!#######################!##" +"#####!!#######################!!" +"#######!!!!!!!##################" +"#############!##################" +"#############!##################" +"#############!!!################" +"###############!!!!#############" +"##################!!!###########" +"!###################!!##########" +"!####################!!#########" +"!!####################!!########" +"#!!!!###################!!######" +"####!!!##################!######" +"######!!##################!#!!!!" +"#######!##################!!!###" +"#######!!!!!!!!!################" +"###############!!###############" +"################!!##############" +"#################!!!!!##########" +"#####################!!#########" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x4e +;GRMN_TYPE: Surface Cover Areas/ORCHARD/Orchard or plantation area/Non NT +String1=0x01,Verger, plantation, ferme +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #55AA55" +"# c #FFFF55" +"#####!!####!###!!####!###!!#####" +"##!##!!##################!!###!#" +"################################" +"################################" +"################################" +"!!###################!!#########" +"!!###!####!!####!####!!####!####" +"##########!!####################" +"################################" +"################################" +"################################" +"################################" +"#####!!#####!###!!####!####!!###" +"##!##!!#########!!#########!!###" +"################################" +"################################" +"################################" +"################################" +"#################!####!!########" +"#!!###!####!!#########!!########" +"#!!########!!################!##" +"################################" +"################################" +"################################" +"################################" +"#################!!####!########" +"#######!!####!###!!#########!!##" +"##!####!!###################!!##" +"##################!#############" +"################################" +"################################" +"###############!!###############" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x4f +;GRMN_TYPE: Surface Cover Areas/SCRUB/Scrub brush area/Non NT +String1=0x01,Broussaille +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #AAFF00" +"# c #FFFFAA" +"!##!!!!!!####!!##!!!!!!!!####!!!" +"!###!!!!!!####!!##!!!!!!!####!!!" +"!####!!!!!!!!##!!##!!!!!!#!!##!!" +"######!!!!!!#########!####!!!###" +"###!##!!!!####!!!!##########!!!!" +"##!!!##!!!####!!!!!####!!!!###!!" +"#!!!!!#####!!#!!!!!!##!!!!!!!###" +"#!!!!!!###!!!!#!!!!!##!!!!!!!!##" +"#!!!!!!!#!!!!!##!!!!##!!!!!#####" +"#!!!!!!!#!!!!!#!!!!!#!!!!!##!!!!" +"!!#!!!!!########!!!!###!!##!!!!!" +"!##!!!!##!!!#######!#######!!!!!" +"###!!###!!!!!!#############!!!!!" +"########!!!!!!!!!##!!!!!###!!!!!" +"#!!#####!!!!!!!!##!!!!!!!#######" +"#!!!!###!!!!!!!!###!!!!!!!######" +"##!!!!!##!!!!#!######!!!!!!##!!#" +"!##!!!!###########!!###!!!##!!!!" +"!!##!!!#!!######!!!!###!!####!!!" +"!!######!!##!!#!!!!!!###!#!#####" +"###!!!######!!!!!!!!!!####!!####" +"##!!!!!##!!#####!!!!!!###!!!!!##" +"##!!!!!##!!!!!!#!#!!!###!!!!!!!!" +"!#!!!!!##!!!!!!!#######!!!!!!!!!" +"##!!!!!###!!!!!!###!#!!##!!!!!##" +"###!!!####!!!!!#!!!!##!!##!!!!##" +"############!##!!!!!!#!!!#######" +"!!!!###!!####!!!!!!!!#!!!#######" +"!!!!!##!!!!###!!!!!!!#!!!!##!!!!" +"!!!!!##!!!!!##!!!!!!#####!#!!!!!" +"!!!!!##!!!!!###!!!!!###!###!!!!!" +"!!!!###########!!####!!!!##!!!!!" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x51 +;GRMN_TYPE: Surface Cover Areas/WETLAND/Wetland or swamp area/Non NT +String1=0x01,Zone humide +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #55AAFF" +" c none" +" " +" " +" " +" !!!!! " +" " +" ! " +" !! ! ! " +" !!!!! " +" !!! " +" !!!!!! !!!!!! " +" " +" " +" " +" " +" " +" " +" " +" !!!!! " +" " +" " +" " +" ! " +" ! ! !! " +" !!!!! " +" !!! " +" !!! !!!!! !!!!!! " +" " +" " +" " +" " +" " +" " +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x53 +;GRMN_TYPE: Surface Cover Areas/FLAT/Sand, tidal, mud, etc. flat area/Non NT +String1=0x01,Sable +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +Xpm="32 32 2 1" +"! c #FFFFB4" +"# c #FFCA6A" +"!!!!!#!!!!!!!#!!!!!!!!!#!!!!!!#!" +"!!#!!!!!!#!!#!!!!!!!!!#!!#!!#!!!" +"#!!#!!#!!!!!!!!!!!!#!!!!!!#!!!!!" +"#!!!!!!#!!!!!#!!##!!!!!!!!!#!!!!" +"!!!#!#!!#!!#!!!#!!#!!!!!!!!!!##!" +"!!!!!!!!!!#!!##!!!#!!!!!!#!!##!#" +"!!!!!!#!!#!!#!!#!!!#!!#!!!#!!#!!" +"!!!!!#!#!!#!##!!!#!!##!!!!!!!##!" +"!!!#!!!!!!!!#!!#!!#!!!#!!!#!!!!!" +"!!!!!!##!!!!!!!#!!!!!!#!!!!!!#!!" +"!!!!!!!#!!!!#!!!!!!!#!!##!!#!!!!" +"!!!!#!!#!#!!#!!#!!!#!!##!#!#!!!!" +"!!!!!!!!!#!##!!!!!!#!!!#!!#!!#!!" +"#!##!!!!!!#!!!##!!!#!#!!!!##!!#!" +"!!!!!!!#!!!!!!!!!!!!!!!!!##!!!!!" +"!!!#!!#!!#!!!!!!!!!!!!#!!!!#!!#!" +"!!!!#!!#!!!!##!!!#!!#!!!!!#!!##!" +"!!#!!!#!!!!!#!!##!#!!##!!!!!!#!!" +"!!#!!!!#!!#!!!!!#!!!#!!!!!!!!!#!" +"!#!!#!!!!!!#!!#!!##!!!#!#!!#!!!!" +"!!#!!!!!#!!!!#!!!!!!#!!!#!!#!!!!" +"!!#!!!!#!!#!!!!!!##!!!!!##!#!!#!" +"!#!!#!!#!!#!##!!#!!!!#!!!!#!!##!" +"!!!#!!!#!#!!#!!!!!!!!##!!!#!!!!!" +"!!!!!!!!!!!!!!!#!!!#!!!!!!#!!!#!" +"!#!!!#!#!!#!##!!##!!!!!##!!!!!!!" +"!!!!!#!!#!##!!#!!!#!!#!!#!!!!#!!" +"#!#!#!!#!!!##!!!#!!!!!#!!!#!!!!#" +"!!!!!#!!!!!!!!!!!!!!!!!#!!!!!##!" +"!!!!!!##!#!!#!!!#!#!!#!!!!!!!#!!" +"!!#!#!!!!!#!!!!!#!!#!!!##!!#!!#!" +"!!!!!!!#!!!!!#!!!!!!!!!!!!#!!!!!" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x54 +;GRMN_TYPE: Surface Cover Areas/LAND/Land area/Non NT +String1=0x00,Fond +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #FFFFFF" +[end] + + +[_polygon] +Type=0x10f03 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_4/Customizable area/Non NT, NT +String1=0x01,Reservoir d eau +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #00AAFF" +"# c #555555" +"################################" +"################################" +"##!!!#####!!!#####!!!#####!!!###" +"##!!!#####!!!#####!!!#####!!!###" +"##!!!#####!!!#####!!!#####!!!###" +"################################" +"################################" +"#######!#######!#######!#######!" +"################################" +"################################" +"##!!!#####!!!#####!!!#####!!!###" +"##!!!#####!!!#####!!!#####!!!###" +"##!!!#####!!!#####!!!#####!!!###" +"################################" +"################################" +"#######!#######!#######!#######!" +"################################" +"################################" +"##!!!#####!!!#####!!!#####!!!###" +"##!!!#####!!!#####!!!#####!!!###" +"##!!!#####!!!#####!!!#####!!!###" +"################################" +"################################" +"#######!#######!#######!#######!" +"################################" +"################################" +"##!!!#####!!!#####!!!#####!!!###" +"##!!!#####!!!#####!!!#####!!!###" +"##!!!#####!!!#####!!!#####!!!###" +"################################" +"################################" +"#######!#######!#######!#######!" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x10f04 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_5/Customizable area/Non NT, NT +String1=0x01,Batiment +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #808080" +[end] + + +[_polygon] +Type=0x10f08 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_9/Customizable area/Non NT, NT +String1=0x01,Theatre historique +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #505050" +[end] + + +[_polygon] +Type=0x10f1b +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_28/Customizable area/Non NT, NT +String1=0x01,Piste de velo +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #987458" +[end] + + +[_polygon] +Type=0x10f1c +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_29/Customizable area/Non NT, NT +String1=0x01,Terrain de tennis +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #005500" +[end] + + +[_polygon] +Type=0x11001 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_34/Customizable area/Non NT, NT +String1=0x01,Foret +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #AAFF55" +[end] + + +[_polygon] +Type=0x11003 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_36/Customizable area/Non NT, NT +String1=0x01,Pairie +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="0 0 1 0" +"1 c #FFFFAA" +[end] + + +[_polygon] +Type=0x11006 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_39/Customizable area/Non NT, NT +String1=0x01,Bananeraie +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #F8FC00" +"# c #D8C890" +"################################" +"##########!#####################" +"##########!#####################" +"##########!#####################" +"#########!!#####################" +"#########!!#####################" +"########!!######################" +"#######!!!######################" +"######!!!###################!###" +"####!!!!####################!###" +"##!!!!######################!###" +"############################!###" +"###########################!!!##" +"##########################!!!!##" +"#########################!!!!!##" +"########################!!!!!!##" +"#########!############!!!!#!!###" +"##########!#########!!!!###!!###" +"##########!!#############!!!####" +"##########!!##########!!!!!#####" +"#########!!!###########!!#######" +"#!#######!!!!###################" +"##!!!!!!!!#!!###################" +"###!!!!!!!#!!###################" +"######!!!##!!###################" +"####!!!!##!!####################" +"##!!!!###!!!####################" +"#######!!!!#####################" +"#####!!!!#######################" +"################################" +"################################" +"################################" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x11007 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_40/Customizable area/Non NT, NT +String1=0x01,Canne a sucre +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #F89800" +"# c #D8F8A8" +"!#!!###########################!" +"!!!########!####################" +"#!!########!!##!!###############" +"#!##########!#!!################" +"#!##########!!!######!##########" +"#!###########!!######!!##!!#####" +"#############!########!#!!######" +"#############!########!!!#######" +"!######################!!#######" +"!!##!!#################!########" +"#!#!!##################!########" +"#!!!#######!##!########!########" +"##!!#######!!#!!!###############" +"##!#########!#!!################" +"##!#########!!!#######!#########" +"##!##########!!#######!!##!!####" +"#############!#########!#!!#####" +"#############!#########!!!######" +"###!#########!##########!!######" +"###!##!#################!#######" +"#!#!##!#################!#######" +"#!!!#!!#################!#######" +"##!!!#######!###################" +"##!!!#######!!##!!##############" +"###!#########!#!!###############" +"###!#########!!!######!##!#!!###" +"###!##########!!#######!#!!!####" +"##############!#########!!!#####" +"##############!##########!!#####" +"##############!##########!!#####" +"!########################!######" +"!##!!####################!######" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x11009 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_42/Customizable area/Non NT, NT +String1=0x01,Gestion des eaux +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #60B8D0" +" c none" +" " +" " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" " +" " +" " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" " +" " +" " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" " +" " +" " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" " +" " +" " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" " +" " +" " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" " +" " +" " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" " +" " +" " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" " +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x1100a +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_43/Customizable area/Non NT, NT +String1=0x01,Terrain de jeux +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #00FFAA" +"# c #FFFFAA" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +"################################" +"#!!#!!#!!#!!#!!#!!#!!#!!#!!#!!#!" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x11010 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_49/Customizable area/Non NT, NT +String1=0x01,MARAIS SALANTS +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #385CB8" +"# c #C8F8F0" +"#!!#############################" +"################################" +"##!##!##########################" +"###!#!##########################" +"###!#!#############!##!#########" +"####################!#!#########" +"####################!#!#########" +"################################" +"################################" +"################################" +"#########!##!###################" +"##########!#!###################" +"##########!#!###################" +"################################" +"################################" +"######################!##!######" +"#######################!#!######" +"#######################!#!######" +"################################" +"!##!############################" +"#!#!############################" +"#!#!############################" +"################################" +"################################" +"##########!##!##################" +"###########!#!##################" +"###########!#!##################" +"################################" +"###########################!##!#" +"############################!#!#" +"############################!#!#" +"################################" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x11013 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_52/Customizable area/Non NT, NT +String1=0x01,rocher +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #AAAAAA" +" c none" +"!! ! !! !! ! " +" !! !! !! !! ! !!!! " +" ! ! !!!! !!!! ! !!!" +"! !! !!! ! !! " +"!! ! !!!! !! !!!!!! " +" ! !!!!! ! !!" +" !! !!!!! ! ! !! " +" !!! !!! !! !!! !! " +" ! !!!!! ! !! !!!! " +" ! !!! ! !!! !!! " +"! !!! ! !!!! " +" ! !!!! !! !! !!!! " +" ! !!! !! ! " +" ! !!!! !!! !! " +" !!!! !! !!!! !" +"! ! ! !!! !!" +" !! !! !! !! " +"! !!!!!! ! ! !!! !!! " +"!! !! ! !!! ! ! " +" !! ! ! !!! ! !!" +" !!! ! !!! !!! ! !" +" !!! !! !!!!!! ! " +" !! ! !! !!! !! ! " +" !! !! !! ! !!" +" !!! !! !! ! !" +"! ! ! !! !!! !!! ! " +" !! ! !! !! ! !!!" +" !!!!!!! ! !!! !! ! " +" ! ! !! !! !!! " +"!! !!! !! ! !!" +" !!!! !! !! ! ! " +" !!! !!! !! !!!! " +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x11014 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_53/Customizable area/Non NT, NT +String1=0x01,Gravier +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #907C60" +" c none" +" ! " +" ! " +" !! " +" ! " +" ! !! " +" !" +" ! " +" ! " +" ! ! " +" !" +" ! ! !" +" ! " +" " +" ! !! " +" ! ! ! " +" ! ! " +" ! " +"! " +" ! ! " +" ! ! " +" " +" ! " +" !! !! ! " +" " +" ! " +"! ! " +" ! ! ! " +" ! !" +" !" +" ! " +" ! ! " +" ! ! " +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x11017 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_56/Customizable area/Non NT, NT +String1=0x01,Paletuvier +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #90C850" +"# c #98CCF8" +"####!!######!!!!####!!###!!!!!##" +"############!!!###########!!!!##" +"!!###########!#############!!###" +"!!#############################!" +"!!##!!##############!!#########!" +"!##!!!!!###########!!!!!########" +"###!!!!!####!#!####!!!!!!#######" +"####!!!####!!!!!####!!!!########" +"#####!!###!!!!!######!!#########" +"!#########!!!!#################!" +"!!#########!!############!!###!!" +"!!##############!!######!!!!##!!" +"!!!############!!!!!####!!!!###!" +"!!############!!!!!!#####!!!!###" +"########!!#####!!!!#######!!####" +"#######!!!!#####!!!#############" +"###!###!!!!#####################" +"##!!!###!!!!#########!!####!!###" +"#!!!#####!!########!!!!!##!!!!##" +"##!!###############!!!!###!!!###" +"####################!!#####!!###" +"!!#######!!#####################" +"!!!#####!!!!###########!!######!" +"!!!#####!!!!####!#####!!!!#####!" +"!!!!#####!!!!##!!!####!!!!######" +"#!!#######!!##!!!!!####!!!!#!!##" +"###############!!!!#####!!##!!!#" +"#############################!!!" +"###!!##############!!########!!!" +"##!!!!######!!####!!!!########!#" +"##!!!!!####!!!!###!!!!####!!####" +"###!!!!####!!!!!###!!!!##!!!!###" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x11018 +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_57/Customizable area/Non NT, NT +String1=0x01,Aire de jeux +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #FFFFAA" +"# c #AAFF55" +"!!######!######!!!######!######!" +"#!!####!#!####!!#!!####!#!####!!" +"##!!##!###!##!!###!!##!###!##!!#" +"###!!!#####!!!#####!!!#####!!!##" +"####!!#####!!#######!!#####!!###" +"###!#!!###!!#!#####!#!!###!!#!##" +"##!###!!#!!###!###!###!!#!!###!#" +"#!#####!!!#####!#!#####!!!#####!" +"!######!!!######!######!!!######" +"#!####!!#!!####!#!####!!#!!####!" +"##!##!!###!!##!###!##!!###!!##!#" +"###!!!#####!!!#####!!!#####!!!##" +"###!!#######!!#####!!#######!!##" +"##!!#!#####!#!!###!!#!#####!#!!#" +"#!!###!###!###!!#!!###!###!###!!" +"!!#####!#!#####!!!#####!#!#####!" +"!!######!######!!!######!######!" +"#!!####!#!####!!#!!####!#!####!!" +"##!!##!###!##!!###!!##!###!##!!#" +"###!!!#####!!!#####!!!#####!!!##" +"####!!#####!!#######!!#####!!###" +"###!#!!###!!#!#####!#!!###!!#!##" +"##!###!!#!!###!###!###!!#!!###!#" +"#!#####!!!#####!#!#####!!!#####!" +"!######!!!######!######!!!######" +"#!####!!#!!####!#!####!!#!!####!" +"##!##!!###!!##!###!##!!###!!##!#" +"###!!!#####!!!#####!!!#####!!!##" +"###!!#######!!#####!!#######!!##" +"##!!#!#####!#!!###!!#!#####!#!!#" +"#!!###!###!###!!#!!###!###!###!!" +"!!#####!#!#####!!!#####!#!#####!" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x1101a +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_59/Customizable area/Non NT, NT +String1=0x01,Barrage +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #606060" +"# c #B0B4B0" +"####!!########################!#" +"###!####!##!!!#####!###!##!#####" +"##!###!######!################!#" +"################!##!#!###!######" +"####!###!###################!###" +"##!#!#######!###!##!############" +"!#####!#########!!#!###!##!#####" +"!!######!####!###############!##" +"##!#####!!##########!########!##" +"####!#!##########!######!#!!####" +"###########!##!##!!############!" +"!!###!##!##!########!###########" +"#####!##!!########!#####!##!####" +"##!########!!########!########!#" +"#!####!#######!!###!#####!######" +"#########!##!##############!####" +"####!##########################!" +"######!##!######!#!!###!!#######" +"###!#########!###############!##" +"##!###!##########!#######!######" +"######!####!#########!#!########" +"!########!#!###!#######!####!##!" +"##!#!##############!############" +"!#################!##!####!#####" +"#######!#####!##!#########!!##!#" +"###!############################" +"#######!###!##########!######!#!" +"#!###!########!##!#####!#!######" +"########!#######!###!###########" +"##!#!#####!#####!###########!###" +"###########!#!######!########!##" +"#!#!!##!##!!##########!########!" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x1101b +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_60/Customizable area/Non NT, NT +String1=0x01,Zone militaire +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#B85870 +NightcustomColor:#B85870 +Xpm="32 32 2 1" +"! c #FF0000" +" c none" +" !" +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +" ! " +"! " +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x1101d +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_62/Customizable area/Non NT, NT +String1=0x01,Zone portuaire +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #909490" +" c none" +" ! !" +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +"! ! " +" ! !" +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +" ! ! " +"! ! " +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x1101e +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_63/Customizable area/Non NT, NT +String1=0x01,Pierrier +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #D0D4D0" +" c none" +" !! ! " +" ! ! !!! ! ! ! " +" ! ! ! ! " +" ! ! ! ! " +" ! ! ! " +" ! ! ! ! ! " +"! ! !! ! ! ! " +"!! ! ! ! " +" ! !! ! ! " +" ! ! ! ! !! " +" ! ! !! !" +"!! ! ! ! ! " +" ! !! ! ! ! " +" ! !! ! ! " +" ! ! !! ! ! " +" ! ! ! " +" ! !" +" ! ! ! !! !! " +" ! ! ! " +" ! ! ! ! ! ! " +" ! ! ! ! " +"! ! ! ! ! ! !" +" ! ! ! " +"! ! ! ! " +" ! ! ! !! ! " +" ! " +" ! ! ! ! !" +" ! ! ! ! ! ! " +" ! ! ! " +" ! ! ! ! ! " +" ! ! ! ! " +" ! !! ! !! ! !" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x1101f +;GRMN_TYPE: Customizable Areas/CUSTOMIZABLE_AREA_64/Customizable area/Non NT, NT +String1=0x01,Zone pietonne +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +Xpm="32 32 2 1" +"! c #999999" +"# c #EDEDED" +"!!######!!######!!######!!######" +"!!######!!######!!######!!######" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"######!!######!!######!!######!!" +"######!!######!!######!!######!!" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"!!######!!######!!######!!######" +"!!######!!######!!######!!######" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +"######!!######!!######!!######!!" +"######!!######!!######!!######!!" +"################################" +"################################" +"################################" +"################################" +"################################" +"################################" +;12345678901234567890123456789012 +[end] + + +[_polygon] +Type=0x11103 +;GRMN_TYPE: // +String1=0x01,Carriere +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +Xpm="32 32 2 1" +"! c #987458" +" c none" +"!! ! !! !! ! " +" !! !! !! !! ! !!!! " +" ! ! !!!! !!!! ! !!!" +"! !! !!! ! !! " +"!! ! !!!! !! !!!!!! " +" ! !!!!! ! !!" +" !! !!!!! ! ! !! " +" !!! !!! !! !!! !! " +" ! !!!!! ! !! !!!! " +" ! !!! ! !!! !!! " +"! !!! ! !!!! " +" ! !!!! !! !! !!!! " +" ! !!! !! ! " +" ! !!!! !!! !! " +" !!!! !! !!!! !" +"! ! ! !!! !!" +" !! !! !! !! " +"! !!!!!! ! ! !!! !!! " +"!! !! ! !!! ! ! " +" !! ! ! !!! ! !!" +" !!! ! !!! !!! ! !" +" !!! !! !!!!!! ! " +" !! ! !! !!! !! ! " +" !! !! !! ! !!" +" !!! !! !! ! !" +"! ! ! !! !!! !!! ! " +" !! ! !! !! ! !!!" +" !!!!!!! ! !!! !! ! " +" ! ! !! !! !!! " +"!! !!! !! ! !!" +" !!!! !! !! ! ! " +" !!! !!! !! !!!! " +;12345678901234567890123456789012 +[end] + + +;====================== LINES =========================== + + +[_line] +Type=0x01 +;GRMN_TYPE: Roads/INTERSTATE, MAJOR_HWY/Primary, divided, limited-access highway, akin to an interstate in the US/Non NT, NT +UseOrientation=N +LineWidth=7 +BorderWidth=2 +Xpm="0 0 2 0" +"1 c #FF5500" +"2 c #000000" +String1=0x01,Autoroute +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x02 +;GRMN_TYPE: Roads/PRINCIPAL_HWY/Principal highway, usually divided and limited access, akin to US highways/Non NT, NT +UseOrientation=N +LineWidth=6 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FF5500" +"2 c #000000" +String1=0x01,Voie rapide +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x03 +;GRMN_TYPE: Roads/OTHER_HWY/Other highway road, akin to a state highway in the US/Non NT, NT +UseOrientation=N +LineWidth=6 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FFAA00" +"2 c #000000" +String1=0x01,Voie principale +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x05 +;GRMN_TYPE: Roads/COLLECTOR/Secondary city thoroughfare/Non NT, NT +UseOrientation=N +LineWidth=6 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FFFF00" +"2 c #000000" +String1=0x01,Voie secondaire +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x06 +;GRMN_TYPE: Roads/RESIDENTIAL/Residential street, these are typically the most numerous roads in a detailed city map and do not show up until the user is zoomed in quite far/Non NT, NT +UseOrientation=N +LineWidth=5 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FFFFFF" +"2 c #000000" +String1=0x01,Voie tertiaire +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x07 +;GRMN_TYPE: Roads/ALLEY, DRIVEWAY/Alleyway, private driveway to residence/Non NT, NT +UseOrientation=N +LineWidth=4 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FFFFFF" +"2 c #000000" +String1=0x01,Route de service ou residence +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x0a +;GRMN_TYPE: Roads/UNPAVED_ROAD/Gravel or dirt road/Non NT, NT +UseOrientation=N +LineWidth=3 +Xpm="0 0 1 0" +"1 c #000000" +String1=0x01,Chemin agricole +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x0d +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_ROUTE_LINE_1/Routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 4 2 1" +"! c #555555" +" c none" +"!!!!!! !!!!!! !!!!!! !!!!!! " +" " +" " +"!!!!!! !!!!!! !!!!!! !!!!!! " +;12345678901234567890123456789012 +String1=0x01,Tunnel +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x0e +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_ROUTE_LINE_2/Routable customizable line/Non NT, NT +UseOrientation=N +LineWidth=3 +Xpm="0 0 1 0" +"1 c #AA00FF" +String1=0x01,Piste cyclable +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x0f +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_ROUTE_LINE_3/Routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #333333" +" c none" +"! ! ! ! ! ! ! ! ! ! ! " +"! ! ! ! ! ! ! ! ! ! ! " +"! ! ! ! ! ! ! ! ! ! ! " +;12345678901234567890123456789012 +String1=0x01,Escalier +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_ROUTE_LINE_4/Routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #000000" +" c none" +"!!!!!!!!! !!!!!!!!! " +"!!!!!!!!! !!!!!!!!! " +"!!!!!!!!! !!!!!!!!! " +;12345678901234567890123456789012 +String1=0x01,Sentier +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x18 +;GRMN_TYPE: Water Features/STREAM/Small stream or creek/Non NT +UseOrientation=N +LineWidth=2 +Xpm="0 0 1 0" +"1 c #55AAFF" +String1=0x01,Ruiseau +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x1b +;GRMN_TYPE: Roads/FERRY/Water or rail ferry/Non NT, NT +UseOrientation=N +Xpm="32 2 2 1" +"! c #5080A0" +" c none" +"!!!!!! !!!!!! !!!!! !!!! " +"!!!!!! !!!!!! !!!!! !!!! " +;12345678901234567890123456789012 +String1=0x01,Ferrie +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x1e +;GRMN_TYPE: Political Borders/INTRN_PLTCL_BDRY/International boundary/Non NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #101010" +" c none" +"!!!!!!!!!!!!!!!!! !!! !!! " +"!!!!!!!!!!!!!!!!! !!! !!! " +"!!!!!!!!!!!!!!!!! !!! !!! " +;12345678901234567890123456789012 +String1=0x01,Piste cyclable en gravier +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x1f +;GRMN_TYPE: Water Features/RIVER/Large stream or river/Non NT +UseOrientation=Y +Xpm="32 1 2 1" +"! c #FFFFFF" +" c none" +" " +;12345678901234567890123456789012 +ExtendedLabels=Y +FontStyle=Default +CustomColor=No +[end] + + +[_line] +Type=0x20 +;GRMN_TYPE: Contour Lines/MINOR_CONTOUR/Minor land-based contour line/Non NT +UseOrientation=N +LineWidth=1 +Xpm="0 0 1 0" +"1 c #BD9520" +String1=0x01,Contour +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=DayAndNight +DaycustomColor:#785C18 +NightcustomColor:#906818 +[end] + + +[_line] +Type=0x21 +;GRMN_TYPE: Contour Lines/INT_CONTOUR/Intermediate contour (should be used for about every 5th contour line)/Non NT +UseOrientation=N +LineWidth=1 +Xpm="0 0 1 0" +"1 c #C88028" +String1=0x01,Contour +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=DayAndNight +DaycustomColor:#705410 +NightcustomColor:#705410 +[end] + + +[_line] +Type=0x22 +;GRMN_TYPE: Contour Lines/MAJOR_CONTOUR/Major contour (should be used for about every 10th contour line)/Non NT +UseOrientation=N +LineWidth=1 +Xpm="0 0 1 0" +"1 c #D07020" +String1=0x01,Contour +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=DayAndNight +DaycustomColor:#705410 +NightcustomColor:#705410 +[end] + + +[_line] +Type=0x26 +;GRMN_TYPE: Water Features/INTERMITTENT_STREAM/Intermittent or dry stream, creek, or ditch/Non NT +UseOrientation=N +Xpm="32 2 2 1" +"! c #55AAFF" +" c none" +"!!!!!!!!! !!!!!!!!! " +"!!!!!!!!! !!!!!!!!! " +;12345678901234567890123456789012 +String1=0x01,Ruisseau intermittent +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x29 +;GRMN_TYPE: Misc. Line Types/POWERLINE/Powerline/Non NT +UseOrientation=N +LineWidth=1 +Xpm="0 0 1 0" +"1 c #808080" +String1=0x01,Ligne electrique +ExtendedLabels=Y +FontStyle=Default +CustomColor=No +[end] + + +[_line] +Type=0x10e00 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_1/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #404040" +" c none" +" ! ! ! ! " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" ! ! ! ! " +;12345678901234567890123456789012 +String1=0x01,Cable transporteur +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e01 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_2/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #505050" +" c none" +" !!! !!! !!! " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" !!! !!! !!! " +;12345678901234567890123456789012 +String1=0x01,Telepherique +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e02 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_3/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 4 2 1" +"! c #F8FCF8" +"# c #404040" +"################################" +"!!!!!###!!!!!###!!!!!###!!!!!###" +"!!!!!###!!!!!###!!!!!###!!!!!###" +"################################" +;12345678901234567890123456789012 +String1=0x01,Rail +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e03 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_4/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 4 2 1" +"! c #F8FCF8" +"# c #A8ACA8" +"################################" +"!!!!!###!!!!!###!!!!!###!!!!!###" +"!!!!!###!!!!!###!!!!!###!!!!!###" +"################################" +;12345678901234567890123456789012 +String1=0x01,Rail non exploite +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e04 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_5/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #F8FCF8" +"# c #606060" +"################################" +"!!!!####!!!!####!!!!####!!!!####" +"################################" +;12345678901234567890123456789012 +String1=0x01,Tram +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e05 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_6/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #303030" +" c none" +" !!! !!! !!! !!! " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" !!! !!! !!! !!! " +;12345678901234567890123456789012 +String1=0x01,Funicalaire +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e06 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_7/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #A0A4A0" +" c none" +"!!!!! !!!!! !!!!! !!!!! " +" " +"!!!!! !!!!! !!!!! !!!!! " +;12345678901234567890123456789012 +String1=0x01,Rail dans un tunnel +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e0a +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_11/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 4 2 1" +"! c #F8FCF8" +"# c #A8ACA8" +"################################" +"!!!!!###!!!!!###!!!!!###!!!!!###" +"!!!!!###!!!!!###!!!!!###!!!!!###" +"################################" +;12345678901234567890123456789012 +String1=0x01,Rail en construction +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e0b +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_12/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #C0C4C0" +" c none" +"!!!!! !!!!! !!!!! !!!!! " +" " +"!!!!! !!!!! !!!!! !!!!! " +;12345678901234567890123456789012 +String1=0x01,Rail en construction dans un tunnel +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e0d +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_14/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 5 2 1" +"! c #107CE0" +" c none" +" " +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !" +" ! ! ! ! ! ! ! ! " +" ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !" +" " +;12345678901234567890123456789012 +String1=0x01,Cascade +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#107CE0 +NightcustomColor:#107CE0 +[end] + + +[_line] +Type=0x10e10 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_17/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 1 2 1" +"! c #98CCF8" +" c none" +"!!!!! !!!!! !!!!! !!!!! " +;12345678901234567890123456789012 +String1=0x01,Cours d eau sousterrain +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e13 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_20/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 2 2 1" +"! c #000000" +"# c #C0C4C0" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +"#####!##########!##########!####" +;12345678901234567890123456789012 +String1=0x01,Mur anti bruit +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e19 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_26/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 5 2 1" +"! c #B89440" +" c none" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" ! ! ! ! ! ! ! ! ! ! !" +" ! ! ! ! ! ! ! ! ! ! !" +" ! ! ! ! ! !" +" " +;12345678901234567890123456789012 +String1=0x01,Talus +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#A06850 +NightcustomColor:#A06850 +[end] + + +[_line] +Type=0x10e1c +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_29/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #555555" +" c none" +"!!!!!!!!!!!!!! !!!!!!!!!!!!! " +" " +"!!!!!!!!!!!!!! !!!!!!!!!!!!! " +;12345678901234567890123456789012 +String1=0x01,Route en construction +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10e1e +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_31/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 2 2 1" +"! c #00A400" +" c none" +"!!!!!!!! !!!! !!!!!!!! !!!! " +"!!!!!!!! !!!! !!!!!!!! !!!! " +;12345678901234567890123456789012 +String1=0x01,Parc National +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#00A400 +NightcustomColor:#00A400 +[end] + + +[_line] +Type=0x10e1f +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_32/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 2 2 1" +"! c #00A400" +" c none" +"!!! !!!!!!! !!!!!!! !!!!!!! !!! " +"!!!!!!! !!!!!!! !!!!!!! !!!!!!!!" +;12345678901234567890123456789012 +String1=0x01,Reserve nationale +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#00A400 +NightcustomColor:#00A400 +[end] + + +[_line] +Type=0x10f01 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_34/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 12 2 1" +"! c #FF0000" +" c none" +" " +" " +" " +" " +" " +" " +" " +" " +" " +"!!!!!!!!! !!!!!!!!! " +"!!!!!!!!! !!!!!!!!! " +"!!!!!!!!! !!!!!!!!! " +;12345678901234567890123456789012 +String1=0x01,GR, GRP, PR et chemin balisé +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=DayAndNight +DaycustomColor:#F83000 +NightcustomColor:#F83000 +[end] + + +[_line] +Type=0x10f04 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_37/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 12 2 1" +"! c #0000FF" +" c none" +" " +" " +" " +" " +" " +" " +" " +" " +" " +"!!!!!!!!! !!!!!!!!! " +"!!!!!!!!! !!!!!!!!! " +"!!!!!!!!! !!!!!!!!! " +;12345678901234567890123456789012 +String1=0x01,Chemin VTT balise +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#0030D5 +NightcustomColor:#0030D5 +[end] + + +[_line] +Type=0x10f07 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_40/Non-routable customizable line/Non NT, NT +UseOrientation=N +LineWidth=1 +Xpm="0 0 1 0" +"1 c #FF0000" +String1=0x01,Base militaire +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10f09 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_42/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #FF55AA" +" c none" +"!!!!!!!!! !!!!!!!!! " +"!!!!!!!!! !!!!!!!!! " +"!!!!!!!!! !!!!!!!!! " +;12345678901234567890123456789012 +String1=0x01,Sentier interdit +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +[end] + + +[_line] +Type=0x10f10 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_49/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #000000" +" c none" +"!!!! !!!! !!!! !!!! " +"!!!! !!!! !!!! !!!! " +"!!!! !!!! !!!! !!!! " +;12345678901234567890123456789012 +String1=0x01,Chemin peu visible +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +[_line] +Type=0x10f11 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_50/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 3 2 1" +"! c #FF55AA" +" c none" +"!!!! !!!! !!!! !!!! " +"!!!! !!!! !!!! !!!! " +"!!!! !!!! !!!! !!!! " +;12345678901234567890123456789012 +String1=0x01,Chemin peu visible et interdit +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +[_line] +Type=0x10f12 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_51/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 6 2 1" +"! c #000000" +" c none" +"!!!!!!!!!!!!!! !!!!!!!!!!!!! " +" " +" " +" " +" " +"!!!!!!!!!!!!!! !!!!!!!!!!!!! " +;12345678901234567890123456789012 +String1=0x01,Chemin exploitation carrosable prive +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +[_line] +Type=0x10f13 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_52/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 6 2 1" +"! c #000000" +" c none" +"!!!!!!!! !!!!!!!! !!!!!!" +" " +" " +" " +" " +"!!!!!!!! !!!!!!!! !!!!!!" +;12345678901234567890123456789012 +String1=0x01,Chemin exploitation carrosable moindre +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +[_line] +Type=0x10f14 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_53/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 2 2 1" +"! c #555555" +" c none" +"!! !! !! !! !! !! !! !! " +"!! !! !! !! !! !! !! !! " +;12345678901234567890123456789012 +String1=0x01,Via ferrata +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +[_line] +Type=0x10f15 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_54/Non-routable customizable line/Non NT, NT +UseOrientation=N +LineWidth=3 +Xpm="0 0 1 0" +"1 c #FF55AA" +String1=0x01,Sentier interdit +ExtendedLabels=Y +FontStyle=Default +CustomColor=No +[end] + + +[_line] +Type=0x10f16 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_55/Non-routable customizable line/Non NT, NT +UseOrientation=N +LineWidth=3 +Xpm="0 0 1 0" +"1 c #FF55AA" +ExtendedLabels=N +[end] + + +[_line] +Type=0x10f17 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_56/Non-routable customizable line/Non NT, NT +UseOrientation=N +LineWidth=3 +Xpm="0 0 1 0" +"1 c #FFFFFF" +ExtendedLabels=N +[end] + + +[_line] +Type=0x10f18 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_57/Non-routable customizable line/Non NT, NT +UseOrientation=Y +Xpm="32 4 2 1" +"! c #606060" +" c none" +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" !!! !!! !!! " +" ! ! ! " +" " +;12345678901234567890123456789012 +String1=0x01,Falaise +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +[_line] +Type=0x10f1b +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_60/Non-routable customizable line/Non NT, NT +UseOrientation=N +LineWidth=4 +BorderWidth=1 +Xpm="0 0 2 0" +"1 c #FF55AA" +"2 c #000000" +String1=0x01,Chemin de service ou residence prive +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +[_line] +Type=0x10f1f +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_64/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 1 2 1" +"! c #FFFFFF" +" c none" +" " +;12345678901234567890123456789012 +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +[_line] +Type=0x11f06 +;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_551/Non-routable customizable line/Non NT, NT +UseOrientation=N +Xpm="32 5 2 1" +"! c #838383" +" c none" +" " +" ! ! " +"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" +" ! ! " +" " +;12345678901234567890123456789012 +String1=0x01,Cloture +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +[end] + + +;====================== POINTS ========================== + + +[_point] +Type=0x00700 +;GRMN_TYPE: Political Entities/CITY_100K/City with the range of (100, 200] thousand inhabitants/Non NT +String1=0x01, Metropole +ExtendedLabels=Y +FontStyle=LargeFont +CustomColor=No +DayXpm="10 10 3 1" Colormode=16 +"! c #F8FCF8" +"# c #000000" +" c none" +" !! " +" !!##!! " +" !######! " +" !######! " +"!########!" +"!########!" +" !######! " +" !######! " +" !!##!! " +" !! " +;1234567890 +[end] + + +[_point] +Type=0x00800 +;GRMN_TYPE: Political Entities/CITY_50K, MEDIUM_CITY/Medium city center, typically 50K-1M inhabitants/Non NT +String1=0x01,Ville +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=No +DayXpm="8 8 3 1" Colormode=16 +"! c #F8FCF8" +"# c #000000" +" c none" +" !! " +" !##! " +" !####! " +"!######!" +"!######!" +" !####! " +" !##! " +" !! " +;12345678 +[end] + + +[_point] +Type=0x00900 +;GRMN_TYPE: Political Entities/CITY_20K/City with the range of (20, 50] thousand inhabitants/Non NT +String1=0x01,Village +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=No +DayXpm="5 5 3 1" Colormode=16 +"! c #F8FCF8" +"# c #000000" +" c none" +" ! " +" !#! " +"!###!" +" !#! " +" ! " +;12345 +[end] + + +[_point] +Type=0x00d00 +;GRMN_TYPE: Political Entities/CITY_UNKNOWN/City of unknown population/Non NT +String1=0x01,Hameau +ExtendedLabels=Y +FontStyle=SmallFont +CustomColor=No +DayXpm="1 1 1 1" Colormode=0 +"! c #7B6541" +"!" +;1 +[end] + + +[_point] +Type=0x02c0b +;GRMN_TYPE: Business - Attractions/PLACE_OF_WORSHIP/Religious place of worship/Non NT +String1=0x01,Eglise +ExtendedLabels=N +DayXpm="15 20 3 1" Colormode=16 +"! c #FFFFFF" +"# c #000000" +" c none" +" !!! " +" !#! " +" !#! " +" !!!!#!!!! " +" !#######! " +" !!!!#!!!! " +" !#! " +" !#! " +" !!#!! " +" !!###!! " +" !!#!!!#!! " +" !!#!!!!!#!! " +" !!#!!!!!!!#!! " +" !#!!!!!!!!!#! " +" !#!!!!!!!!!#! " +" !!#!!!!!!!#!! " +" !!#!!!!!#!! " +" !!#!!!#!! " +" !!###!! " +" !!!!! " +;123456789012345 +[end] + + +[_point] +Type=0x02f0b +;GRMN_TYPE: Business - Services/PARKING/Parking/Non NT +String1=0x01,Parking +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=DayAndNight +DaycustomColor:#000000 +NightcustomColor:#000000 +DayXpm="16 16 4 1" Colormode=16 +"! c #FFFFFF" +"# c #000000" +"% c #0000FF" +" c none" +" !!!!!!!!!!!! " +" !############! " +"!#%%%%%%%%%%%%#!" +"!#%%%!!!!!%%%%#!" +"!#%%%!!!!!!%%%#!" +"!#%%%!!%%%!!%%#!" +"!#%%%!!%%%!!%%#!" +"!#%%%!!%%%!!%%#!" +"!#%%%!!!!!!%%%#!" +"!#%%%!!!!!%%%%#!" +"!#%%%!!%%%%%%%#!" +"!#%%%!!%%%%%%%#!" +"!#%%%!!%%%%%%%#!" +"!#%%%%%%%%%%%%#!" +" !############! " +" !!!!!!!!!!!! " +;1234567890123456 +[end] + + +[_point] +Type=0x05200 +;GRMN_TYPE: Misc. Points of Interest/SCENIC_AREA/Scenic area/Non NT, NT +String1=0x01,Point de vue +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="14 14 2 1" Colormode=16 +"! c #FF00AA" +" c none" +" " +" !!! !!! " +" !! !! " +" !! !! " +" ! ! " +" ! ! " +" !!!! !!! " +" !!! !!!! " +" ! ! " +" ! ! " +" !! !! " +" !! !! " +" !!! !!! " +" " +;12345678901234 +[end] + + +[_point] +Type=0x06414 +;GRMN_TYPE: Geographical Named Points of Interest/WELL/Well/Non NT, NT +String1=0x01,Point d eau +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="16 15 3 1" Colormode=16 +"! c #0000FF" +"# c #FFFFFF" +" c none" +" ##### " +" #!!!# " +" #####!#### " +" ##!!!!!!!!# " +" #!!!!!!!!!# " +" #!!######## " +" ######## " +" #!!!!!!# " +" #!!!!!!# " +" #!!!!!!# " +" #!!!!!!# " +" #!!!!!!# " +" #!!!!!!# " +" ##!!!!## " +" ###### " +;1234567890123456 +[end] + + +[_point] +Type=0x06511 +;GRMN_TYPE: Geographical Named Points of Interest - Water Related/SPRING/Spring/Non NT, NT +String1=0x01,Source +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#004890 +NightcustomColor:#004890 +DayXpm="9 10 4 1" Colormode=16 +"! c #3098F8" +"# c #0840E8" +"% c #0864E8" +" c none" +" " +" " +" ### " +" %%# " +" !%# " +" %% " +" % " +"%%% " +" " +" " +;123456789 +[end] + + +[_point] +Type=0x06602 +;GRMN_TYPE: // +String1=0x01,Grotte +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="12 6 4 1" Colormode=16 +"! c #000000" +"# c #333333" +"% c #FFFFFF" +" c none" +" %%%%%% " +" %%####%% " +" %##%%##% " +"%%%#%%%%#%%%" +"%###% %###%" +"%%%%% %%%%%" +;123456789012 +[end] + + +[_point] +Type=0x06616 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/SUMMIT/Summit, top of a hill or mountain/Non NT, NT +String1=0x01,Sommet +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=No +DayXpm="14 12 2 1" Colormode=16 +"! c #A08050" +" c none" +" " +" " +" !! " +" !!!! " +" !!!!!! " +" !!!! !!! " +" !!!!! !!! " +" !!!!! !!! " +"!!!!!!!!!!!!!!" +" " +" " +" " +;12345678901234 +[end] + + +[_point] +Type=0x06617 +;GRMN_TYPE: Geographical Named Points of Interest - Land Related/VALLEY/Valley/Non NT, NT +String1=0x01,Col +ExtendedLabels=Y +FontStyle=Default +CustomColor=DayAndNight +DaycustomColor:#006541 +NightcustomColor:#006541 +DayXpm="8 6 2 1" Colormode=16 +"! c #333333" +" c none" +"!! !!" +"!!!!!!!!" +" " +" " +"!!!!!!!!" +"!! !!" +;12345678 +[end] + + +[_point] +Type=0x11515 +;GRMN_TYPE: User Customizable Points/CUSTOMIZABLE_POINT_22/User customizable point type/Non NT, NT +String1=0x01, Escalade +ExtendedLabels=N +DayXpm="19 19 2 1" Colormode=16 +"! c #FF00AA" +" c none" +" ! " +" ! " +" ! " +" ! !! " +" !!! !!! " +" !!! !!!! " +" ! !! !!! " +" !!!!! ! " +" !!! ! " +" !!! !! " +" !!!!!!! ! " +" !!!!!!!!!! " +" !!!!! !!!! " +" !!!!!! !! " +" !!!!!! ! " +" !!!! " +" !! " +" ! " +" ! " +;1234567890123456789 +[end] + + +[_point] +Type=0x11516 +;GRMN_TYPE: User Customizable Points/CUSTOMIZABLE_POINT_23/User customizable point type/Non NT, NT +String1=0x01,Toilette +ExtendedLabels=N +DayXpm="16 16 4 1" Colormode=16 +"! c #FFFFFF" +"# c #000000" +"% c #0000FF" +" c none" +" !!!!!!!!!!!! " +" !############! " +"!#%%%%%%%%%%%%#!" +"!#%%!!%%%%!!%%#!" +"!#%%!!%%%%!!%%#!" +"!#%%%%%%%%%%%%#!" +"!#!!!!!!%!!!!%#!" +"!#!%!!%!!%!!%!#!" +"!#!%!!%!%%!!%%#!" +"!#!%!!%!%!!!!%#!" +"!#%%!!%%!!!!!!#!" +"!#%%!!%%%%!!%%#!" +"!#%%!!%%%%!!%%#!" +"!#%%%%%%%%%%%%#!" +" !############! " +" !!!!!!!!!!!! " +;1234567890123456 +[end] + + +[_point] +Type=0x11517 +;GRMN_TYPE: User Customizable Points/CUSTOMIZABLE_POINT_24/User customizable point type/Non NT, NT +String1=0x01,Aire de picnic +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="16 16 3 1" Colormode=16 +"! c #000000" +"# c #FFFFFF" +" c none" +" " +" " +" " +" ############ " +" #!!!!!!!!!!# " +" ####!##!#### " +"######!##!######" +"#!!!!!!!!!!!!!!#" +"######!##!######" +" #!# #!# " +" ##!# #!## " +" #!## ##!# " +" ### ### " +" " +" " +" " +;1234567890123456 +[end] + + +[_point] +Type=0x11518 +;GRMN_TYPE: User Customizable Points/CUSTOMIZABLE_POINT_25/User customizable point type/Non NT, NT +String1=0x01,Refuge +ExtendedLabels=Y +FontStyle=NormalFont +CustomColor=No +DayXpm="19 19 2 1" Colormode=16 +"! c #FF00AA" +" c none" +" !!!!! " +" !!!!!!! " +" !!!!!!!!! " +" !!!!!!!!!!! " +" !!!!!!!!!!!!! " +" !!!!!!!!!!!!!!! " +" !!!!!!!!!!!!!!!!! " +"!!!!!!!!!!!!!!!!!!!" +" !!!!!!!!!!!!!!! " +" !!!!!!!!!!!!!!! " +" !!!!!!!!!!!!!!! " +" !!!!!!!!!!!!!!! " +" !!!!! !!!!! " +" !!!!! !!!!! " +" !!!!! !!!!! " +" !!!!! !!!!! " +" !!!!! !!!!! " +" !!!!! !!!!! " +" !!!!! !!!!! " +;1234567890123456789 +[end] + + +[_point] +Type=0x11519 +;GRMN_TYPE: User Customizable Points/CUSTOMIZABLE_POINT_26/User customizable point type/Non NT, NT +String1=0x01,Cabane +ExtendedLabels=Y +FontStyle=NoLabel (invisible) +CustomColor=No +DayXpm="19 19 2 1" Colormode=16 +"! c #FF00AA" +" c none" +" !!! " +" !!!!! " +" !!!!!!! " +" !!! !!! " +" !!! !!! " +" !!! !!! " +" !!! !!! " +" !!! !!! " +"!!!! !!!!" +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !! !! " +" !!!!!!!!!!!!!!! " +" !!!!!!!!!!!!!!! " +;1234567890123456789 +[end] + + +[_point] +Type=0x1151a +;GRMN_TYPE: User Customizable Points/CUSTOMIZABLE_POINT_27/User customizable point type/Non NT, NT +String1=0x01, +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#0030FF +DayXpm="1 1 2 1" Colormode=16 +"! c #FFFFFF" +" c none" +" " +;1 +[end] " +" !! !! " +" !! !! " +" !!!!!!!!!!!!!!! " +" !!!!!!!!!!!!!!! " +;1234567890123456789 +[end] + + +[_point] +Type=0x1151a +;GRMN_TYPE: User Customizable Points/CUSTOMIZABLE_POINT_27/User customizable point type/Non NT, NT +String1=0x01, +ExtendedLabels=Y +FontStyle=Default +CustomColor=Day +DaycustomColor:#0030FF +DayXpm="1 1 2 1" Colormode=16 +"! c #FFFFFF" +" c none" +" " +;1 +[end] \ No newline at end of file diff --git a/style/rando.typ b/style/rando.typ new file mode 100644 index 0000000..99a737b Binary files /dev/null and b/style/rando.typ differ diff --git a/style/rando/lines b/style/rando/lines new file mode 100644 index 0000000..05e153e --- /dev/null +++ b/style/rando/lines @@ -0,0 +1,227 @@ +trail_visibility ~ '(no|horrible|bad)' { add c_visibility=horrible} +trail_visibility ~ '(intermediate)' | (width<=1 & trail_visibility!=*) | (width<=0.5) { add c_visibility=intermediate} +access ~ '(private|no)' & (foot=no | foot!=*) & (bicycle=no | bicycle!=*) { add c_access=no} +tracktype ~ 'grade[1-2]' | smoothness ~ '(excellent|good)' { add c_smoothness=good} +tracktype ~ 'grade[3-4]' | smoothness ~ '(intermediate|bad|very_bad)' { add c_smoothness=intermediate} + +# 0x10f01 +##sentiers GR +highway=* & c_route_gr=yes {name '${GR}'} [0x10f01 resolution 20 continue] +## sentiers GRP +highway=* & c_route_grp=yes {name '${GRP}'} [0x10f01 resolution 20 continue] +## sentiers balises (PR) +highway=* & c_route_pr=yes & (c_route_gr =no | c_route_gr!=*) & (c_route_grp =no | c_route_grp!=*) [0x10f02 resolution 22 continue] +## sentiers balises +highway=* & ( c_route_hiking=yes | trailblazed=yes ) & (c_route_gr =no | c_route_gr!=*) & (c_route_grp =no | c_route_grp!=*) [0x10f02 resolution 22 continue] + +# 0x10f04 sentiers balises VTT +highway=* & c_route_mtb=yes & (c_route_hiking=no | c_route_hiking!=*) [0x10f04 resolution 22 continue] + +# 0x0d +highway=* & tunnel=yes & length()>20 [0x0d resolution 24] +highway=motorway & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=7 resolution 24] +highway=motorway_link & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=6 resolution 24] +highway=trunk & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=6 resolution 24] +highway=trunk_link & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=5 resolution 24] +highway=primary & tunnel=yes & length()>20 [0x0d road_class=3 road_speed=5 resolution 24] +highway=primary_link & tunnel=yes & length()>20 [0x0d road_class=3 road_speed=5 resolution 24] +highway=secondary & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=4 resolution 24] +highway=secondary_link & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=3 resolution 24] +highway=tertiary & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=3 resolution 24] +highway=tertiary_link & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=2 resolution 24] +highway=unclassified & tunnel=yes & length()>20 [0x0d road_class=0 road_speed=2 resolution 24] +highway=residential & tunnel=yes & length()>20 [0x0d road_class=0 road_speed=2 resolution 24] + +# 0x01 +highway=motorway [0x01 road_class=4 road_speed=7 resolution 17] +highway=motorway_link [0x01 road_class=4 road_speed=6 resolution 20] + +# 0x02 +highway=trunk [0x02 road_class=4 road_speed=6 resolution 20] + +# 0x03 +highway=primary & lanes>=3 & oneway=yes [0x03 road_class=3 road_speed=6 resolution 20] +highway=primary_link & lanes>=2 & oneway=yes [0x03 road_class=3 road_speed=6 resolution 20] +highway=trunk_link [0x03 road_class=3 road_speed=6 resolution 20] +highway=primary [0x03 road_class=3 road_speed=5 resolution 20] +highway=primary_link [0x03 road_class=3 road_speed=5 resolution 20] + +# 0x05 +highway=secondary [0x05 road_class=2 road_speed=4 resolution 21] +highway=secondary_link [0x05 road_class=2 road_speed=4 resolution 21] + +# 0x06 +highway=tertiary [0x06 road_class=2 road_speed=4 resolution 22] +highway=tertiary_link [0x06 road_class=2 road_speed=4 resolution 22] + + +# 0x10f1b Chemin de service ou residence prive +highway=residential & c_access=no [0x10f1b resolution 24] +highway=unclassified & c_access=no [0x10f1b resolution 24] +highway=service & c_access=no [0x10f1b resolution 24] +highway=living_street & c_access=no [0x10f1b resolution 24] + +# 0x07 +highway=residential [0x07 road_class=2 road_speed=4 resolution 22] +highway=unclassified [0x07 road_class=2 road_speed=4 resolution 22] +highway=service [0x07 road_class=2 road_speed=2 resolution 22] +highway=living_street [0x07 road_class=2 road_speed=2 resolution 22] + +# Chemin exploitation carossable prive +highway=track & c_smoothness=good & c_access=no [0x10f1f resolution 24 continue] +highway=track & c_smoothness=good & c_access=no [0x10f16 resolution 24 continue] +highway=track & c_smoothness=good & c_access=no [0x10f12 resolution 24] + +# Chemin exploitation carossable +highway=track & c_smoothness=good [0x10f1f road_class=0 road_speed=1 resolution 22 continue] +highway=track & c_smoothness=good [0x10f17 road_class=0 road_speed=1 resolution 22 continue] +highway=track & c_smoothness=good [0x10f12 road_class=0 road_speed=1 resolution 22] + +# Chemin exploitation moindre carossable prive +highway=track & ( c_smoothness=intermediate | width>=2 ) & c_access=no [0x10f1f resolution 24 continue] +highway=track & ( c_smoothness=intermediate | width>=2 ) & c_access=no [0x10f16 resolution 24 continue] +highway=track & ( c_smoothness=intermediate | width>=2 ) & c_access=no [0x10f13 resolution 24] + +# Chemin exploitation moindre carossable +highway=track & ( c_smoothness=intermediate | width>=2 ) [0x10f1f road_class=0 road_speed=1 resolution 22 continue] +highway=track & ( c_smoothness=intermediate | width>=2 ) [0x10f17 road_class=0 road_speed=1 resolution 22 continue] +highway=track & ( c_smoothness=intermediate | width>=2 ) [0x10f13 road_class=0 road_speed=1 resolution 22] + +#0x10f15 +highway=footway & width>=2 & c_access=no [0x10f15 resolution 24] +highway=track & c_access=no [0x10f15 resolution 24] +highway=path & foot=designated & bicycle=designated & c_access=no [0x10f15 resolution 24] +highway=cycleway & foot=yes & c_access=no [0x10f15 resolution 24] + +# 0x1e +highway=cycleway & foot=yes & surface=gravel & (area=no | area!=* )[0x1e resolution 22] +highway=cycleway & foot=yes & surface=paved & (area=no | area!=* ) [0x1e road_class=0 road_speed=1 resolution 22] + +# 0x0a +highway=footway & width>=2 [0x0a road_class=0 road_speed=1 resolution 22] +highway=track [0x0a road_class=0 road_speed=1 resolution 22] +highway=path & foot=designated & bicycle=designated [0x0a road_class=0 road_speed=1 resolution 22] + +# 0x0e +highway=cycleway [0x0e road_class=0 road_speed=1 resolution 22] + +# 0x0f +highway=steps [0x0f road_class=0 road_speed=0 resolution 24] + +#0x11f02 +highway=path & c_visibility=horrible & c_access=no [0x11f02 resolution 24] + +#0x11f01 +highway=path & c_visibility= horrible [0x11f01 road_class=0 road_speed=0 resolution 22] + +#0x10f11 +highway=path & c_visibility=intermediate & c_access=no [0x10f11 resolution 24] + +#0x10f10 +highway=path & c_visibility=intermediate [0x10f10 road_class=0 road_speed=0 resolution 22] + +#0x10f09 +highway=path & c_access=no [0x10f09 resolution 24] + +# 0x10 +highway=path [0x10 road_class=0 road_speed=0 resolution 22] +highway=pedestrian & bicycle=yes & surface=asphalt & (area=no | area!=* )[0x10 road_class=0 road_speed=0 resolution 22] +highway=pedestrian & (area=no | area!=* )[0x10 road_class=0 road_speed=0 resolution 22] +highway=footway & (bicycle=dismount | bicycle=no) [0x10 road_class=0 road_speed=0 resolution 22] +highway=footway & footway!=* [0x10 road_class=0 road_speed=0 resolution 22] + +# 0x1f +waterway = river & (intermittent=no | intermittent!=*) & (tunnel=no | tunnel!=*) {name "${name}"} [0x1f resolution 22 continue] + +# 0x18 +waterway=stream & (intermittent=no | intermittent!=*) & (tunnel=no | tunnel!=*) [0x18 resolution 23 continue] +waterway=riverbank & (tunnel=no | tunnel!=*) [0x18 resolution 20 continue] +waterway=river & (tunnel=no | tunnel!=*) [0x18 resolution 22 continue] +waterway=canal & (tunnel=no | tunnel!=*) [0x18 resolution 22 continue] +waterway=drain & (tunnel=no | tunnel!=*) [0x18 resolution 23 continue] + +# 0x1b +route=ferry [0x1b resolution 24] + +# Contour 0x20 0x21 0x22 +## 100m +contour=elevation & ele ~ '\d*00' & ele > 0 { name '${ele|conv:"m=>ft"}' } [0x22 resolution 23-24] + +## 50m +contour=elevation & ele ~ '.*\d[0,5]0' & ele > 0 { name '${ele|conv:"m=>ft"}' } [0x22 resolution 24] + +## 10m +contour=elevation & ele > 0 [0x20 resolution 24] + +# 0x26 +waterway=stream & intermittent=yes & (tunnel=no | tunnel!=*) [0x26 resolution 23] + +# 0x29 +man_made=pipeline [0x29 resolution 24] +power=line [0x29 resolution 24] + +# 0x10e00 +man_made=goods_conveyor [0x10e00 resolution 24] + +# 0x10e01 +aerialway=* [0x10e01 resolution 24] + +# 0x10e02 +railway=rail & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e02 resolution 20] +railway=light_rail & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e02 resolution 22] + +# 0x10e03 +railway=abandoned & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e03 resolution 23] + +# 0x10e04 +railway=tram & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e03 resolution 24] + +# 0x10e05 +railway=funicular & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e03 resolution 24] + +# 0x10e06 +railway=rail & tunnel=yes & length()>20 [0x10e06 resolution 24] +railway=abandoned & tunnel=yes & length()>20 [0x10e06 resolution 24] +railway=tram & tunnel=yes & length()>20 [0x10e06 resolution 24] +railway=funicular & tunnel=yes & length()>20 [0x10e06 resolution 24] + +# 0x10e0a +railway=construction & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e0a resolution 24] + +# 0x10e0b +railway=construction & tunnel=yes & length()>20 [0x10e0b resolution 24] + +# 0x10e0d +waterway=waterfall [0x10e0d resolution 24] + +# 0x10e10 +waterway=* & tunnel=yes [0x10e10 resolution 24] + +# 0x10e13 +wall=noise_barrier [0x10e13 resolution 24] + +# 0x10e19 +embankment=yes [0x10e19 resolution 24] + +# 0x10e1c +highway=* & construction=* [0x10e1c resolution 24] + +# 0x10e1e +boundary=national_park [0x10e1e resolution 20-23] + +# 0x10e1f +leisure=nature_reserve [0x10e1f resolution 21-23] + +# 0x10f07 +landuse=military [0x10f07 resolution 22 continue] + +# 0x11f06 +barrier=fence [0x11f06 resolution 24 continue] + +#0x10f14 +highway=via_ferrata [0x10f14 resolution 24] + +#0x10f18 +natural=cliff [0x10f18 resolution 23] + + diff --git a/style/rando/options b/style/rando/options new file mode 100644 index 0000000..df4bf4e --- /dev/null +++ b/style/rando/options @@ -0,0 +1 @@ +levels = 0:24, 1:23, 2:22, 3:21, 4:20, 5:19, 6:18, 7:17 \ No newline at end of file diff --git a/style/rando/points b/style/rando/points new file mode 100644 index 0000000..1e0f46c --- /dev/null +++ b/style/rando/points @@ -0,0 +1,28 @@ +place=city & population>200000 {name "${name:fr}" | "${name}"} [0x0700 resolution 17] +place=city {name "${name:fr}" | "${name}"} [0x0800 resolution 18] +place=town {name "${name:fr}" | "${name}"} [0x0800 resolution 19] +place=village {name "${name:fr}" | "${name}"} [0x00900 resolution 20] +place=hamlet {name "${name:fr}" | "${name}"} [0x00d00 resolution 21] + + +natural=peak & ele>=4000 {name "${name:fr} (${ele})" | "${name} (${ele})"} [0x06616 resolution 18] +natural=peak & ele>=3000 {name "${name:fr} (${ele})" | "${name} (${ele})"} [0x06616 resolution 19] +natural=peak {name "${name:fr} (${ele})" | "${name} (${ele})"} [0x06616 resolution 20] +natural=saddle {name "${name:fr} (${ele})" | "${name} (${ele})"} [0x06701 resolution 23] +mountain_pass=yes {name "${name:fr} (${ele})" | "${name} (${ele})"} [0x06617 resolution 23] +building=church | building=cathedral [0x02c0b resolution 23] +amenity=drinking_water [0x06414 resolution 24] +amenity=parking & (access ~ '(yes|customers|permissive)' | access!=*) & (parking=surface | parking!=*) [0x02f0b resolution 23] +amenity=toilets & (fee=no | fee!=*) [0x11516 resolution 24] +natural=spring [0x6511 resolution 24] +tourism=picnic_site [0x11517 resolution 24] +sport=climbing & (outdoor=yes | outdoor!=*) [0x11515 resolution 23] +tourism=viewpoint [0x05200 resolution 24] +natural=cave_entrance [0x06602 resolution 24] +amenity=shelter & (shelter_type=basic_hut) [0x11519 resolution 22] +tourism=alpine_hut {name "${name:fr}" | "${name}"} [0x11518 resolution 22] +tourism=wilderness_hut {name "${name:fr}" | "${name}"} [0x11519 resolution 22] +natural=water {name "${name:fr}" | "${name}"} [0x1151a resolution 22] +natural=glacier {name "${name:fr}" | "${name}"} [0x1151a resolution 22] + + diff --git a/style/rando/polygons b/style/rando/polygons new file mode 100644 index 0000000..2a07a4e --- /dev/null +++ b/style/rando/polygons @@ -0,0 +1,193 @@ + +# 0x01 +landuse=residential [0x01 resolution 17 ] + +# 0x04 +landuse=military [0x04 resolution 21 continue] + +# 0x05 +amenity=parking & (access ~ '(yes|customers)' | access!=*) & surface ~ '(asphalt|gravel|chipseal|concrete)' [0x05 resolution 24 continue] + +# 0x07 +aeroway=aerodrome [0x07 resolution 23] + +# 0x0a +amenity=college | amenity=university [0x0a resolution 23] +amenity=hospital | building=hospital[0x0a resolution 23] +aeroway=runway | aeroway=taxiway [0x0a resolution 22] + +# 0x0c +landuse=industrial [0x0c resolution 23] +landuse=commercial [0x0c resolution 23] + +# 0x14 +boundary=national_park [0x14 resolution 20-23] + +# 0x15 +leisure=nature_reserve [0x15 resolution 21-23] + +# 0x19 +leisure=pitch & sport!=* [0x19 resolution 23 continue] +leisure=track & sport=athletics [0x19 resolution 23] + +# 0x1a +landuse=cemetery [0x1a resolution 24 continue] +cemetery=war_cemetery [0x1a resolution 24] + +# 0x32 +natural=sea [0x32 resolution 17] +place=sea [0x32 resolution 17] + +# 0x03f +waterway=riverbank [0x03f resolution 17] +waterway=river [0x03f resolution 20] +waterway=lock_gate [0x03f resolution 24] +water=stream [0x03f resolution 24] +natural=water & area_size()>160000 [0x03f resolution 17] +natural=water & area_size()>50000 [0x03f resolution 18] +natural=water & area_size()>16000 [0x03f resolution 19] +natural=water & area_size()>8000 [0x03f resolution 20] +natural=water [0x03f resolution 22] +water=river & width>200 [0x03f resolution 18] +water=river & (width<200 | width!=*) [0x03f resolution 19] +leisure=swimming_pool [0x03f resolution 24] + +# 0x4c +landuse=reservoir [0x4c resolution 23 ] +landuse=basin [0x4c resolution 23 ] + +# 0x4d +natural=glacier [0x4d resolution 21] + +# 0x4e +landuse=orchard [0x4e resolution 23 continue] +landuse=plantation [0x4e resolution 23] +landuse=farmland [0x4e resolution 23] +landuse=vineyard [0x4e resolution 23] + +# 0x4f +natural=scrub [0x4f resolution 22] + +# 0x51 +natural=wetland [0x51 resolution 22] + +# 0x53 +surface=sand [0x53 resolution 22] +natural=beach [0x53 resolution 23] + +# 0x10f03 +man_made=water_tower [0x10f03 resolution 23] +man_made=reservoir_covered [0x10f03 resolution 24] + + +# 0x10f08 +amenity=theatre & historic=monument [0x10f08 resolution 24] +amenity=place_of_worship [0x10f08 resolution 24] +historic=castle [0x10f08 resolution 23] +building=church [0x10f08 resolution 23] +building=cathedral [0x10f08 resolution 23] +historic=fort & landuse!=* & building=yes [0x10f08 resolution 23] +historic=monument [0x10f08 resolution 23] +barrier=toll_booth [0x10f08 resolution 24] +railway=station [0x10f08 resolution 24] +building=grandstand [0x10f08 resolution 24] +building=pavilion [0x10f08 resolution 24] +building=civic & amenity=townhall [0x10f08 resolution 24] +building=religious [0x10f08 resolution 24] + +# 0x10f1b +leisure=track & sport=cycling [0x10f1b resolution 23] + +# 0x10f1c +leisure=pitch & sport=tennis [0x10f1c resolution 23] + +# 0x11001 +landuse=forest [0x11001 resolution 21] +natural=wood [0x11001 resolution 21] + +# 0x11003 +natural=heath [0x11003 resolution 22] +landuse=meadow [0x11003 resolution 22] +natural=grassland [0x11003 resolution 21] + +# 0x11005 + +# 0x11006 +landuse=orchard & trees=banana_plants [0x11006 resolution 23] + +# 0x11007 +landuse=orchard & trees=sugar_cane [0x11007 resolution 23] + +# 0x11009 +man_made ~ '(wastewater_plant|water_works)' [0x11009 resolution 24] + +# 0x1100a +leisure=pitch [0x1100a resolution 23 ] +leisure=playground [0x1100a resolution 24] + +# 0x11010 +landuse=salt_pond [0x11010 resolution 24] + +# 0x11013 +natural=bare_rock [0x11013 resolution 22] + +# 0x11014 +surface ~ '(pebblestone|gravel|fine_gravel)' [0x11014 resolution 22] + + + +# 0x11017 +wetland=mangrove [0x11017 resolution 23] + +# 0x11018 +leisure=park & area_size()>100 [0x11018 resolution 23] + + +# 0x1101a +waterway=dam [0x1101a resolution 24] + +# 0x1101b +landuse=military [0x1101b resolution 22] + +# 0x10f04 +building=barn [0x10f04 resolution 24] +building=industrial [0x10f04 resolution 23] +building=commercial [0x10f04 resolution 24] +building=construction [0x10f04 resolution 24] +building=greenhouse [0x10f04 resolution 24] +landuse=greenhouse_horticulture [0x10f04 resolution 24] +man_made=bunker_silo [0x10f04 resolution 24] +toll=yes [0x10f04 resolution 24] +building=* [0x10f04 resolution 24] +power=transformer [0x10f04 resolution 24] + +# 0x1101d +landuse=port [0x1101d resolution 24] + +# 0x1101e +natural=scree [0x1101e resolution 22] + +#0x1101f +highway = pedestrian & area = yes [0x1101f resolution 24] +highway = footway & area = yes [0x1101f resolution 24] + +#0x11103 +landuse=quarry [0x11103 resolution 24] + +#0x11004 +natural=reef [0x11004 resolution 22] + + + + + + + + + + + + + + + diff --git a/style/rando/relations b/style/rando/relations new file mode 100644 index 0000000..cdfc6b6 --- /dev/null +++ b/style/rando/relations @@ -0,0 +1,69 @@ +# CHEMIN +type=route & route ~ '(foot|hiking)' & via_ferrata_scale!=* +{ apply + { + add c_route_hiking = yes; + } +} + +# CHEMIN MTB +type=route & route ~ '(mtb)' & via_ferrata_scale!=* +{ apply + { + add c_route_mtb = yes; + } +} + +# PR +type=route & route ~ '(foot|hiking)' & network=lwn & via_ferrata_scale!=* & osmc:symbol ~ 'yellow:white:yellow_bar.*' +{ apply + { + set osmc:symbol='$(osmc:symbol)'; + set network='${network}'; + add c_route_pr = yes; + } +} + +#GRP +if (name ~ '[GgRr].*') then + type=route & route ~ '(foot|hiking)' & network ~ '(iwn|nwn|rwn)' & via_ferrata_scale!=* & osmc:symbol ~ 'red:yellow:red_lower.*' + { apply + { + set osmc:symbol='${osmc:symbol}'; + set network='${network}'; + add c_route_grp = yes; + set GRP='$(GR) - $(GRP) - ${name}'| + '$(GR) - ${name}'| + '$(GRP) - ${name}'| + '${name}'; + } + } +else + type=route & route ~ '(foot|hiking)' & network ~ '(iwn|nwn|rwn)' & via_ferrata_scale!=* & osmc:symbol ~ 'red:yellow:red_lower.*' + { apply + { + set osmc:symbol='${osmc:symbol}'; + set network='${network}'; + add c_route_grp = yes; + set GRP='$(GR) - $(GRP) - GRP ${name}'| + '$(GR) - GRP ${name}'| + '$(GRP) - GRP ${name}'| + 'GRP ${name}'; + } + } +end + +#GR +type=route & route ~ '(foot|hiking)' & network ~ '(iwn|nwn|rwn)' & via_ferrata_scale!=* & osmc:symbol ~ 'red:white:red_lower:[0-9]+:.*' +{ apply + { + set osmc:symbol='${osmc:symbol}'; + set network='$(network)'; + set c_route_gr = yes; + set GR='$(GR) - GR ${osmc:symbol|subst:":=>#"|part:"#:4"} - $(GRP)'| + '$(GR) - GR ${osmc:symbol|subst:":=>#"|part:"#:4"}'| + 'GR ${osmc:symbol|subst:":=>#"|part:"#:4"} - $(GRP)'| + 'GR ${osmc:symbol|subst:":=>#"|part:"#:4"}'; + } +} + diff --git a/style/rando/version b/style/rando/version new file mode 100644 index 0000000..e69de29 diff --git a/style/route.typ b/style/route.typ new file mode 100644 index 0000000..ee2352f Binary files /dev/null and b/style/route.typ differ diff --git a/style/route/lines b/style/route/lines new file mode 100644 index 0000000..8be7c00 --- /dev/null +++ b/style/route/lines @@ -0,0 +1,90 @@ +# 0x0d +highway=* & tunnel=yes & length()>20 [0x0d resolution 24] +highway=motorway & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=7 resolution 24] +highway=motorway_link & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=6 resolution 24] +highway=trunk & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=6 resolution 24] +highway=trunk_link & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=5 resolution 24] +highway=primary & tunnel=yes & length()>20 [0x0d road_class=3 road_speed=5 resolution 24] +highway=primary_link & tunnel=yes & length()>20 [0x0d road_class=3 road_speed=5 resolution 24] +highway=secondary & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=4 resolution 24] +highway=secondary_link & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=3 resolution 24] +highway=tertiary & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=3 resolution 24] +highway=tertiary_link & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=2 resolution 24] +highway=unclassified & tunnel=yes & length()>20 [0x0d road_class=0 road_speed=2 resolution 24] +highway=residential & tunnel=yes & length()>20 [0x0d road_class=0 road_speed=2 resolution 24] + +# 0x01 +highway=motorway [0x01 road_class=4 road_speed=7 resolution 17] +highway=motorway_link [0x01 road_class=4 road_speed=6 resolution 20] + +# 0x02 +highway=trunk [0x02 road_class=4 road_speed=6 resolution 20] + +# 0x03 +highway=primary & lanes>=3 & oneway=yes [0x03 road_class=3 road_speed=6 resolution 20] +highway=primary_link & lanes>=2 & oneway=yes [0x03 road_class=3 road_speed=6 resolution 20] +highway=trunk_link [0x03 road_class=3 road_speed=6 resolution 20] +highway=primary [0x03 road_class=3 road_speed=5 resolution 20] +highway=primary_link [0x03 road_class=3 road_speed=5 resolution 20] + +# 0x05 +highway=secondary [0x05 road_class=2 road_speed=4 resolution 21] +highway=secondary_link [0x05 road_class=2 road_speed=4 resolution 21] + +# 0x06 +highway=tertiary [0x06 road_class=2 road_speed=4 resolution 21] +highway=tertiary_link [0x06 road_class=2 road_speed=4 resolution 21] + +# 0x07 +highway=residential [0x07 road_class=2 road_speed=4 resolution 23] +highway=unclassified [0x07 road_class=2 road_speed=4 resolution 23] +highway=service [0x07 road_class=2 road_speed=2 resolution 24] + +# 0x08 +highway=cycleway & foot=yes & surface=asphalt & (area=no | area!=* )[0x08 road_class=0 road_speed=1 resolution 24] +highway=cycleway & foot=yes & surface=paved & (area=no | area!=* ) [0x08 road_class=0 road_speed=1 resolution 24] +highway=cycleway & foot=yes & (area=no | area!=* )[0x08 road_class=0 road_speed=1 resolution 24] +highway=cycleway & foot=yes & surface=gravel & (area=no | area!=* )[0x08 resolution 24] + +# 0x0a +highway=footway & width>=2 [0x0a road_class=0 road_speed=1 resolution 24] +highway=track [0x0a road_class=0 road_speed=1 resolution 24] +highway=path & foot=designated & bicycle=designated [0x0a road_class=0 road_speed=1 resolution 24] +highway=cycleway & foot=yes [0x0a road_class=0 road_speed=1 resolution 24] + +# 0x0e +highway=cycleway [0x0e road_class=0 road_speed=1 resolution 23] + +# 0x0f +highway=steps [0x0f road_class=0 road_speed=0 resolution 24] + +# 0x10 +highway=path [0x10 road_class=0 road_speed=0 resolution 24] +highway=pedestrian & bicycle=yes & surface=asphalt & (area=no | area!=* )[0x10 road_class=0 road_speed=0 resolution 24] +highway=pedestrian & (area=no | area!=* )[0x10 road_class=0 road_speed=0 resolution 24] +highway=footway & (bicycle=dismount | bicycle=no) [0x10 road_class=0 road_speed=0 resolution 24] +highway=footway [0x10 road_class=0 road_speed=0 resolution 24] + +# 0x1f +waterway = river & (intermittent=no | intermittent!=*) & (tunnel=no | tunnel!=*) {name "${name}"} [0x1f resolution 22 continue] + +# 0x26 +waterway=stream & intermittent=yes & (tunnel=no | tunnel!=*) [0x26 resolution 24] + +# 0x10e0d +waterway=waterfall [0x10e0d resolution 24] + +# 0x18 +waterway=stream & (intermittent=no | intermittent!=*) & (tunnel=no | tunnel!=*) [0x18 resolution 23 continue] +waterway=riverbank & (tunnel=no | tunnel!=*) [0x18 resolution 20 continue] +waterway=river & (tunnel=no | tunnel!=*) [0x18 resolution 22 continue] +waterway=canal & (tunnel=no | tunnel!=*) [0x18 resolution 22 continue] +waterway=drain & (tunnel=no | tunnel!=*) [0x18 resolution 23 continue] + +# 0x10e19 +embankment=yes [0x10e19 resolution 24] + +# 0x10f07 +landuse=military [0x10f07 resolution 22 continue] + + diff --git a/style/route/options b/style/route/options new file mode 100644 index 0000000..df4bf4e --- /dev/null +++ b/style/route/options @@ -0,0 +1 @@ +levels = 0:24, 1:23, 2:22, 3:21, 4:20, 5:19, 6:18, 7:17 \ No newline at end of file diff --git a/style/route/points b/style/route/points new file mode 100644 index 0000000..dceffc0 --- /dev/null +++ b/style/route/points @@ -0,0 +1,12 @@ +place=city & population>200000 {name "${name}"} [0x0700 resolution 17] +place=city {name "${name}"} [0x0800 resolution 18] +place=town {name "${name}"} [0x0800 resolution 19] +place=village {name "${name}"} [0x00900 resolution 20] + + +amenity=drinking_water [0x06414 resolution 24] +amenity=toilets & (fee=no | fee!=*) [0x11516 resolution 24] +tourism=viewpoint [0x05200 resolution 24] + + + diff --git a/style/route/polygons b/style/route/polygons new file mode 100644 index 0000000..3d1f8f4 --- /dev/null +++ b/style/route/polygons @@ -0,0 +1,82 @@ + +# 0x04 +landuse=military [0x04 resolution 22 continue] + +# 0x32 +natural=sea [0x32 resolution 17] +place=sea [0x32 resolution 17] + +# 0x03f +waterway=riverbank [0x03f resolution 17] +waterway=river [0x03f resolution 20] +water=stream [0x03f resolution 24] +natural=water & area_size()>160000 [0x03f resolution 17] +natural=water & area_size()>50000 [0x03f resolution 18] +natural=water & area_size()>16000 [0x03f resolution 19] +natural=water & area_size()>8000 [0x03f resolution 20] +natural=water [0x03f resolution 22] +water=river & width>200 [0x03f resolution 18] +water=river & (width<200 | width!=*) [0x03f resolution 19] +landuse=reservoir|landuse=basin [0x03f resolution 24 ] + +# 0x4d +natural=glacier [0x4d resolution 21] + +# 0x51 +natural=wetland [0x51 resolution 22] + +# 0x53 +surface=sand [0x53 resolution 22] +natural=beach [0x53 resolution 23] + +# 0x11001 +landuse=forest [0x11001 resolution 20] +natural=wood [0x11001 resolution 20] +natural=scrub [0x11001 resolution 23] +leisure=park & area_size()>500 [0x11001 resolution 22] + +# 0x11010 +landuse=salt_pond [0x11010 resolution 24] + +# 0x11013 +natural=bare_rock [0x11013 resolution 22] + +# 0x11014 +surface ~ '(pebblestone|gravel|fine_gravel)' [0x11014 resolution 22] + +# 0x11017 +wetland=mangrove [0x11017 resolution 23] + + +# 0x11019 +waterway=lock_gate [0x11019 resolution 24] + +# 0x1101a +waterway=dam [0x1101a resolution 24] + +# 0x1101b +landuse=military [0x1101b resolution 22] + +# 0x1101d +landuse=port [0x1101d resolution 24] + +# 0x1101e +natural=scree [0x1101e resolution 22] + +#0x11103 +landuse=quarry [0x11103 resolution 24] + + + + + + + + + + + + + + + diff --git a/style/route/relations b/style/route/relations new file mode 100644 index 0000000..139597f --- /dev/null +++ b/style/route/relations @@ -0,0 +1,2 @@ + + diff --git a/style/route/version b/style/route/version new file mode 100644 index 0000000..e69de29 diff --git a/style/skitour.TYP b/style/skitour.TYP new file mode 100644 index 0000000..386a715 Binary files /dev/null and b/style/skitour.TYP differ diff --git a/style/skitour/lines b/style/skitour/lines new file mode 100644 index 0000000..4b878a6 --- /dev/null +++ b/style/skitour/lines @@ -0,0 +1,2 @@ +#0x11f07 +piste:type=skitour [0x11f07 resolution 20] diff --git a/style/skitour/options b/style/skitour/options new file mode 100644 index 0000000..df4bf4e --- /dev/null +++ b/style/skitour/options @@ -0,0 +1 @@ +levels = 0:24, 1:23, 2:22, 3:21, 4:20, 5:19, 6:18, 7:17 \ No newline at end of file diff --git a/style/skitour/points b/style/skitour/points new file mode 100644 index 0000000..e69de29 diff --git a/style/skitour/polygons b/style/skitour/polygons new file mode 100644 index 0000000..e69de29 diff --git a/style/skitour/relations b/style/skitour/relations new file mode 100644 index 0000000..e69de29 diff --git a/style/skitour/version b/style/skitour/version new file mode 100644 index 0000000..e69de29 diff --git a/style/utagawa-230602.typ b/style/utagawa-230602.typ new file mode 100644 index 0000000..9755684 Binary files /dev/null and b/style/utagawa-230602.typ differ diff --git a/style/utagawa.typ b/style/utagawa.typ new file mode 100644 index 0000000..7fdfcda Binary files /dev/null and b/style/utagawa.typ differ diff --git a/style/utagawa.typ.mimichris b/style/utagawa.typ.mimichris new file mode 100644 index 0000000..db2a56c Binary files /dev/null and b/style/utagawa.typ.mimichris differ diff --git a/style/utagawa.typ.original b/style/utagawa.typ.original new file mode 100644 index 0000000..813e255 Binary files /dev/null and b/style/utagawa.typ.original differ diff --git a/style/utagawa/lines b/style/utagawa/lines new file mode 100644 index 0000000..58d5881 --- /dev/null +++ b/style/utagawa/lines @@ -0,0 +1,238 @@ +trail_visibility ~ '(no|horrible|bad)' { add c_visibility=horrible} +trail_visibility ~ '(intermediate)' | (width<=1 & trail_visibility!=*) | (width<=0.5) { add c_visibility=intermediate} +access ~ '(private|no)' & (foot=no | foot!=*) & (bicycle=no | bicycle!=*) { add c_access=no} +tracktype ~ 'grade[1-2]' | smoothness ~ '(excellent|good)' { add c_smoothness=good} +tracktype ~ 'grade[3-4]' | smoothness ~ '(intermediate|bad|very_bad)' { add c_smoothness=intermediate} + +#0x10f14 Sentiers VTT non praticables ou interdits +highway=* & bicycle=no & mtb:scale =5 | mtb:scale =6 [0x10f14 resolution 20] +highway=* & bicycle=no & mtb:scale != * [0x10f14 resolution 20] +highway=* & bicycle=no & access = no [0x10f14 resolution 20] + +# 0x10f01 +##sentiers GR +#highway=* & c_route_gr=yes {name '${GR}'} [0x10f01 resolution 20 continue] +## sentiers GRP +#highway=* & c_route_grp=yes {name '${GRP}'} [0x10f01 resolution 20 continue] +## sentiers balises (PR) +#highway=* & c_route_pr=yes & (c_route_gr =no | c_route_gr!=*) & (c_route_grp =no | c_route_grp!=*) [0x10f02 resolution 22 continue] +## sentiers balises +#highway=* & ( c_route_hiking=yes | trailblazed=yes ) & (c_route_gr =no | c_route_gr!=*) & (c_route_grp =no | c_route_grp!=*) [0x10f02 resolution 22 continue] + +# 0x10f04 sentiers balises VTT +highway=* & c_route_mtb=yes & (c_route_hiking=no | c_route_hiking!=*) [0x10f04 resolution 22 continue] + +# 0x0d +highway=* & tunnel=yes & length()>20 [0x0d resolution 24] +highway=motorway & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=7 resolution 24] +highway=motorway_link & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=6 resolution 24] +highway=trunk & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=6 resolution 24] +highway=trunk_link & tunnel=yes & length()>20 [0x0d road_class=4 road_speed=5 resolution 24] +highway=primary & tunnel=yes & length()>20 [0x0d road_class=3 road_speed=5 resolution 24] +highway=primary_link & tunnel=yes & length()>20 [0x0d road_class=3 road_speed=5 resolution 24] +highway=secondary & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=4 resolution 24] +highway=secondary_link & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=3 resolution 24] +highway=tertiary & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=3 resolution 24] +highway=tertiary_link & tunnel=yes & length()>20 [0x0d road_class=2 road_speed=2 resolution 24] +highway=unclassified & tunnel=yes & length()>20 [0x0d road_class=0 road_speed=2 resolution 24] +highway=residential & tunnel=yes & length()>20 [0x0d road_class=0 road_speed=2 resolution 24] + +# 0x01 +highway=motorway [0x01 road_class=4 road_speed=7 resolution 17] +highway=motorway_link [0x01 road_class=4 road_speed=6 resolution 20] + +# 0x02 +highway=trunk [0x02 road_class=4 road_speed=6 resolution 20] + +# 0x03 +highway=primary & lanes>=3 & oneway=yes [0x03 road_class=3 road_speed=6 resolution 20] +highway=primary_link & lanes>=2 & oneway=yes [0x03 road_class=3 road_speed=6 resolution 20] +highway=trunk_link [0x03 road_class=3 road_speed=6 resolution 20] +highway=primary [0x03 road_class=3 road_speed=5 resolution 20] +highway=primary_link [0x03 road_class=3 road_speed=5 resolution 20] + +# 0x05 +highway=secondary [0x05 road_class=2 road_speed=4 resolution 21] +highway=secondary_link [0x05 road_class=2 road_speed=4 resolution 21] + +# 0x06 +highway=tertiary [0x06 road_class=2 road_speed=4 resolution 22] +highway=tertiary_link [0x06 road_class=2 road_speed=4 resolution 22] + +# 0x07 +highway=residential [0x07 road_class=2 road_speed=4 resolution 22] +highway=unclassified [0x07 road_class=2 road_speed=4 resolution 22] +highway=service [0x07 road_class=2 road_speed=2 resolution 22] +highway=living_street [0x07 road_class=2 road_speed=2 resolution 22] + +#0x12 +highway=path & bicycle=designated [0x1e road_class=0 road_speed=2 resolution 22] + +# 0x0a +highway=track [0x0a road_class=0 road_speed=1 resolution 22] + +# 0x0e +highway=cycleway [0x0e road_class=0 road_speed=2 resolution 22] + +# 0x0f +highway=steps [0x0f road_class=0 road_speed=0 resolution 24] + +# 0x10 +highway=path [0x10 road_class=0 road_speed=2 resolution 22] + +#0x0b +highway=pedestrian[0x0b resolution 22] +highway=footway [0x0b resolution 22] + +# 0x1f +waterway = river & (intermittent=no | intermittent!=*) & (tunnel=no | tunnel!=*) {name "${name}"} [0x1f resolution 22 continue] + +# 0x18 +waterway=stream & (intermittent=no | intermittent!=*) & (tunnel=no | tunnel!=*) [0x18 resolution 23 continue] +waterway=riverbank & (tunnel=no | tunnel!=*) [0x18 resolution 20 continue] +waterway=river & (tunnel=no | tunnel!=*) [0x18 resolution 22 continue] +waterway=canal & (tunnel=no | tunnel!=*) [0x18 resolution 22 continue] +waterway=drain & (tunnel=no | tunnel!=*) [0x18 resolution 23 continue] + +# 0x1b +route=ferry [0x1b resolution 24] + +############## Contours #################### +# 0x19 Contours - Lignes de niveau +## 100m +contour=elevation & ele ~ '\d*00' & ele > 0 { name '${ele|conv:"m=>ft"}' } [0x19 resolution 23-24] +## 50m +contour=elevation & ele ~ '.*\d[0,5]0' & ele > 0 { name '${ele|conv:"m=>ft"}' } [0x19 resolution 24] +## 10m +contour=elevation & ele > 0 [0x1c resolution 24] + +# 0x26 +waterway=stream & intermittent=yes & (tunnel=no | tunnel!=*) [0x26 resolution 23] + +# 0x29 +man_made=pipeline [0x29 resolution 24] +power=line [0x29 resolution 24] + +# 0x10e00 +man_made=goods_conveyor [0x10e00 resolution 24] + +# 0x10e01 +aerialway=* [0x10e01 resolution 24] + +# 0x10e02 +railway=rail & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e02 resolution 20] +railway=light_rail & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e02 resolution 22] + +# 0x10e03 +railway=abandoned & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e03 resolution 23] + +# 0x10e04 +railway=tram & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e03 resolution 24] + +# 0x10e05 +railway=funicular & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e03 resolution 24] + +# 0x10e06 +railway=rail & tunnel=yes & length()>20 [0x10e06 resolution 24] +railway=abandoned & tunnel=yes & length()>20 [0x10e06 resolution 24] +railway=tram & tunnel=yes & length()>20 [0x10e06 resolution 24] +railway=funicular & tunnel=yes & length()>20 [0x10e06 resolution 24] + +# 0x10e0a +railway=construction & (tunnel=no | tunnel!=* | (tunnel=yes & length()<=20)) [0x10e0a resolution 24] + +# 0x10e0b +railway=construction & tunnel=yes & length()>20 [0x10e0b resolution 24] + +# 0x10e0d +waterway=waterfall [0x10e0d resolution 24] + +# 0x10e10 +waterway=* & tunnel=yes [0x10e10 resolution 24] + +# 0x10e13 +wall=noise_barrier [0x10e13 resolution 24] + +# 0x10e19 +embankment=yes [0x10e19 resolution 24] + +# 0x10e1c +highway=* & construction=* [0x10e1c resolution 24] + +# 0x10e1f +#boundary=national_park [0x10e1f resolution 18] +#leisure=nature_reserve [0x10e1f resolution 18] +#boundary=protected_area [0x10e1f resolution 18] + +# 0x10e01 +boundary=administrative & admin_level = 3 [0x10e01 resolution 0] + +# 0x10e11 +boundary=national_park & ( + name = "Parc national de la Vanoise (cœur)" + |name = "Parc national des Écrins (cœur)" + |name = "Réserve naturelle du Bagnas" + |name = "Réserve naturelle du Bout du lac d'Annecy" + |name = "Réserve naturelle de Chastreix-Sancy" + |name = "Réserve naturelle des Chaumes du Verniller" + |name = "Réserve naturelle de Conat" + |name = "Réserve naturelle du coteau de Mesnil Soleil" + |name = "Réserve naturelle du Courant d'Huchet" + |name = "Réserve naturelle de l'Étang du Cousseau" + |name = "Réserve naturelle de l'étang de la Mazière" + |name = "Réserve naturelle de l'étang du Grand-Lemps" + |name = "Réserve naturelle de la forêt d'Orient" + |name = "Réserve naturelle de la forêt de la Massane" + |name = "Réserve naturelle de la Grande Sassière" + |name = "Réserve Naturelle des îlets de Sainte-Anne" + |name = "Réserve naturelle de Jujols" + |name = "Réserve naturelle de Mantet" + |name = "Réserve naturelle du marais de Vesles-et-Caumont" + |name = "Réserve naturelle de la mare de Vauville" + |name = "Réserve naturelle du Mas Larrieu" + |name = "Réserve naturelle du Mont Grand Matoury" + |name = "Réserve naturelle de Nohèdes" + |name = "Réserve naturelle du Pinail" + |name = "Réserve naturelle de Prats-de-Mollo-la-Preste" + |name = "Réserve naturelle des prés salés d'Arès et de Lège-Cap-Ferret" + |name = "Réserve naturelle de la presqu'île de la Caravelle" + |name = "Réserve naturelle de Py" + |name = "Réserve naturelle de la tourbière de Mathon" + |name = "Réserve naturelle de la Vallée d’Eyne" + |name = "Réserve naturelle de la vallée de Chaudefour" + |name = "Réserve naturelle des anciennes carrières d'Orival" + |name = "Réserve naturelle régionale d'Aulon" + |name = "Réserve naturelle du bois des Agneux" + |name = "Réserve naturelle du Bois des Roches" + |name = "Réserve naturelle de Cambounet-sur-le-Sor" + |name = "Réserve naturelle de la Côte de la Fontaine" + |name = "Réserve naturelle des Grads de Naves" + |name = "Réserve naturelle de la Grotte des Sadoux" + |name = "Réserve naturelle de la Massonne" + |name = "Réserve naturelle des landes et marais de Glomel" + |name = "Réserve naturelle du Héron" + |name = "Réserve naturelle des Marais de Taligny" + |name = "réserve naturelle régionale du massif du Montious" + |name = "Réserve naturelle de Saint-Maurin" + |name = "Réserve naturelle du Val de Loire Bourbonnais" + |name = "Réserve naturelle de la Vallée des Cailles" + |name = "Réserve naturelle de la baie de l'Aiguillon" + |name = "Réserve naturelle de la Casse de la Belle Henriette" + |name = "Réserve naturelle de Lilleau-des-Niges" + |name = "Réserve naturelle du marais d'Yves" + |name = "Réserve naturelle de Moëze-Oléron" + |name = "Réserve naturelle du Marais communal de Saint-Denis-du-Payré" + |name = "Réserve naturelle de l'étang de Haute-Jarrie" + |name = "Réserve naturelle géologique de Pontlevoy" + |name = "Réserve naturelle du domaine de Beauguillot")[0x10e11 resolution 14] + +protection_title="Réserve biologique intégrale" | protection_title="Réserve naturelle nationale "[0x10e12 resolution 14] + +# 0x10f07 +landuse=military [0x10f07 resolution 22 continue] + +# 0x11f06 +barrier=fence [0x11f06 resolution 24 continue] + +#0x10f18 +natural=cliff [0x10f18 resolution 23] \ No newline at end of file diff --git a/style/utagawa/options b/style/utagawa/options new file mode 100644 index 0000000..df4bf4e --- /dev/null +++ b/style/utagawa/options @@ -0,0 +1 @@ +levels = 0:24, 1:23, 2:22, 3:21, 4:20, 5:19, 6:18, 7:17 \ No newline at end of file diff --git a/style/utagawa/points b/style/utagawa/points new file mode 100644 index 0000000..abbfb2c --- /dev/null +++ b/style/utagawa/points @@ -0,0 +1,32 @@ +#Cities +place=city & capital=yes [0x0300 resolution 17] +place=city & population>200000 {name "${name:fr}" | "${name}"} [0x0700 resolution 17] +place=city {name "${name:fr}" | "${name}"} [0x0800 resolution 18] +place=town {name "${name:fr}" | "${name}"} [0x0800 resolution 19] +place=village {name "${name:fr}" | "${name}"} [0x00900 resolution 20] +place=hamlet {name "${name:fr}" | "${name}"} [0x00d00 resolution 21] + + +#POI +natural=cave_entrance {name "${name:fr}" | "${name}"} [0x06602 resolution 20] +building=church | building=cathedral | (amenity= place_of_worship & religion=christian) {name "${name:fr}" | "${name}"} [0x02c0b resolution 21] +railway=station {name "${name:fr}" | "${name}"} [0x02f08 resolution 19] +amenity=parking [0x02f0b resolution 24] +amenity=bicycle_parking [0x1151f resolution 24] +amenity=restaurant | amenity=fast_food {name "${name:fr}" | "${name}"} [0x02d02 resolution 21] +amenity=bar {name "${name:fr}" | "${name}"} [0x02d02 resolution 21] +shop=bicycle|amenity=bicycle_repair_station|club=bicycle | association=bicycle |(club=sport & sport=cycling) {name "${name:fr}" | "${name}"} [0x11500 resolution 24] +tourism=alpine_hut |tourism=wilderness_hut {name "${name:fr}" | "${name}"} [0x11518 resolution 22] +tourism=camp_site {name "${name:fr}" | "${name}"} [0x02b03 resolution 19] +amenity=drinking_water [0x06414 resolution 23] +information=guidepost [0x02f0c resolution 20] +tourism=viewpoint {name "${name:fr}" | "${name}"} [0x05200 resolution 22] +tourism=picnic_site [0x11517 resolution 20] +information=* [0x02f0c resolution 21] + +natural=saddle {name "${name:fr} (${ele})" | "${name} (${ele})"} [0x06701 resolution 23] +natural=peak & ele>=4000 {name "${name:fr} (${ele})" | "${name} (${ele})"} [0x06616 resolution 18] +natural=peak & ele>=3000 {name "${name:fr} (${ele})" | "${name} (${ele})"} [0x06616 resolution 19] +natural=peak {name "${name:fr} (${ele})" | "${name} (${ele})"} [0x06616 resolution 20] +aeroway=aerodrome {name "${name:fr}" | "${name}"}[0x02f04 resolution 18] + diff --git a/style/utagawa/polygons b/style/utagawa/polygons new file mode 100644 index 0000000..6c0770e --- /dev/null +++ b/style/utagawa/polygons @@ -0,0 +1,155 @@ +### 0x04 +###landuse=military [0x04 resolution 21 continue] + +# 0x07 +aeroway=aerodrome [0x07 resolution 16] + +# 0x05 +aeroway=apron [0x05 resolution 17] + +##### Here the order of the attribution is important; once the polygon find a code where it can be attached that stop the process. + +# 0x11007 +natural=bare_rock | natural=cliff [0x11007 resolution 13] + + +# 0x1101b +landuse=military [0x1101b resolution 14] + + +# 0x11008 +natural=scree [0x11008 resolution 14] + + + +# 0x15 +leisure=nature_reserve & ( + name = "Parc national de la Vanoise (cœur)" + |name = "Parc national des Écrins (cœur)" + |name = "Réserve naturelle du Bagnas" + |name = "Réserve naturelle du Bout du lac d'Annecy" + |name = "Réserve naturelle de Chastreix-Sancy" + |name = "Réserve naturelle des Chaumes du Verniller" + |name = "Réserve naturelle de Conat" + |name = "Réserve naturelle du coteau de Mesnil Soleil" + |name = "Réserve naturelle du Courant d'Huchet" + |name = "Réserve naturelle de l'Étang du Cousseau" + |name = "Réserve naturelle de l'étang de la Mazière" + |name = "Réserve naturelle de l'étang du Grand-Lemps" + |name = "Réserve naturelle de la forêt d'Orient" + |name = "Réserve naturelle de la forêt de la Massane" + |name = "Réserve naturelle de la Grande Sassière" + |name = "Réserve Naturelle des îlets de Sainte-Anne" + |name = "Réserve naturelle de Jujols" + |name = "Réserve naturelle de Mantet" + |name = "Réserve naturelle du marais de Vesles-et-Caumont" + |name = "Réserve naturelle de la mare de Vauville" + |name = "Réserve naturelle du Mas Larrieu" + |name = "Réserve naturelle du Mont Grand Matoury" + |name = "Réserve naturelle de Nohèdes" + |name = "Réserve naturelle du Pinail" + |name = "Réserve naturelle de Prats-de-Mollo-la-Preste" + |name = "Réserve naturelle des prés salés d'Arès et de Lège-Cap-Ferret" + |name = "Réserve naturelle de la presqu'île de la Caravelle" + |name = "Réserve naturelle de Py" + |name = "Réserve naturelle de la tourbière de Mathon" + |name = "Réserve naturelle de la Vallée d’Eyne" + |name = "Réserve naturelle de la vallée de Chaudefour" + |name = "Réserve naturelle des anciennes carrières d'Orival" + |name = "Réserve naturelle régionale d'Aulon" + |name = "Réserve naturelle du bois des Agneux" + |name = "Réserve naturelle du Bois des Roches" + |name = "Réserve naturelle de Cambounet-sur-le-Sor" + |name = "Réserve naturelle de la Côte de la Fontaine" + |name = "Réserve naturelle des Grads de Naves" + |name = "Réserve naturelle de la Grotte des Sadoux" + |name = "Réserve naturelle de la Massonne" + |name = "Réserve naturelle des landes et marais de Glomel" + |name = "Réserve naturelle du Héron" + |name = "Réserve naturelle des Marais de Taligny" + |name = "réserve naturelle régionale du massif du Montious" + |name = "Réserve naturelle de Saint-Maurin" + |name = "Réserve naturelle du Val de Loire Bourbonnais" + |name = "Réserve naturelle de la Vallée des Cailles" + |name = "Réserve naturelle de la baie de l'Aiguillon" + |name = "Réserve naturelle de la Casse de la Belle Henriette" + |name = "Réserve naturelle de Lilleau-des-Niges" + |name = "Réserve naturelle du marais d'Yves" + |name = "Réserve naturelle de Moëze-Oléron" + |name = "Réserve naturelle du Marais communal de Saint-Denis-du-Payré" + |name = "Réserve naturelle de l'étang de Haute-Jarrie" + |name = "Réserve naturelle géologique de Pontlevoy" + |name = "Réserve naturelle du domaine de Beauguillot")[0x15 resolution 14] + + + +#0x16 + +protection_title="Réserve biologique intégrale" | protection_title="Réserve naturelle nationale" [0x16 resolution 14] + + +# 0x1a +landuse=cemetery [0x1a resolution 24] + +# 0x32 +water=* [0x32 resolution 0] + +place=sea |natural=sea [0x32 resolution 0] + +# 0x4d +natural=glacier [0x4d resolution 13] + +# 0x4e +landuse=farmland [0x4e resolution 13 continue] + +# 0x10000 +landuse=orchard [0x10000 resolution 17] + +# 0x11001 +landuse=vineyard [0x11001 resolution 17] + + +# 0x4f +natural=scrub | natural=heath [0x4f resolution 13] + +# 0x51 +natural=wetland [0x51 resolution 13] + +# 0x53 +landcover=sand [0x53 resolution 13] + + +# 0x10f04 +building=*[0x10f04 resolution 17] +#& area_size()>32000 [0x10002 resolution 17] +#building=* & area_size()>16000 [0x10002 resolution 19] +#building=* & area_size()>8000 [0x10002 resolution 20] + + +# 0x10005 +leisure=track[0x10005 resolution 19 continue] + +# 0x1006 +leisure=pitch[0x10006 resolution 19] + + +# 0x50 +natural=wood[0x50 resolution 13] +landuse=forest[0x50 resolution 13] + + +# 0x11003 +natural=grassland [0x11003 resolution 13] +landuse=meadow[0x11003 resolution 13] +leisure=park[0x11003 resolution 13] +leisure=garden[0x11003 resolution 13] +landuse=allotments[0x11003 resolution 13] + + + + + + + + + diff --git a/style/utagawa/relations b/style/utagawa/relations new file mode 100644 index 0000000..cdfc6b6 --- /dev/null +++ b/style/utagawa/relations @@ -0,0 +1,69 @@ +# CHEMIN +type=route & route ~ '(foot|hiking)' & via_ferrata_scale!=* +{ apply + { + add c_route_hiking = yes; + } +} + +# CHEMIN MTB +type=route & route ~ '(mtb)' & via_ferrata_scale!=* +{ apply + { + add c_route_mtb = yes; + } +} + +# PR +type=route & route ~ '(foot|hiking)' & network=lwn & via_ferrata_scale!=* & osmc:symbol ~ 'yellow:white:yellow_bar.*' +{ apply + { + set osmc:symbol='$(osmc:symbol)'; + set network='${network}'; + add c_route_pr = yes; + } +} + +#GRP +if (name ~ '[GgRr].*') then + type=route & route ~ '(foot|hiking)' & network ~ '(iwn|nwn|rwn)' & via_ferrata_scale!=* & osmc:symbol ~ 'red:yellow:red_lower.*' + { apply + { + set osmc:symbol='${osmc:symbol}'; + set network='${network}'; + add c_route_grp = yes; + set GRP='$(GR) - $(GRP) - ${name}'| + '$(GR) - ${name}'| + '$(GRP) - ${name}'| + '${name}'; + } + } +else + type=route & route ~ '(foot|hiking)' & network ~ '(iwn|nwn|rwn)' & via_ferrata_scale!=* & osmc:symbol ~ 'red:yellow:red_lower.*' + { apply + { + set osmc:symbol='${osmc:symbol}'; + set network='${network}'; + add c_route_grp = yes; + set GRP='$(GR) - $(GRP) - GRP ${name}'| + '$(GR) - GRP ${name}'| + '$(GRP) - GRP ${name}'| + 'GRP ${name}'; + } + } +end + +#GR +type=route & route ~ '(foot|hiking)' & network ~ '(iwn|nwn|rwn)' & via_ferrata_scale!=* & osmc:symbol ~ 'red:white:red_lower:[0-9]+:.*' +{ apply + { + set osmc:symbol='${osmc:symbol}'; + set network='$(network)'; + set c_route_gr = yes; + set GR='$(GR) - GR ${osmc:symbol|subst:":=>#"|part:"#:4"} - $(GRP)'| + '$(GR) - GR ${osmc:symbol|subst:":=>#"|part:"#:4"}'| + 'GR ${osmc:symbol|subst:":=>#"|part:"#:4"} - $(GRP)'| + 'GR ${osmc:symbol|subst:":=>#"|part:"#:4"}'; + } +} + diff --git a/style/utagawa/version b/style/utagawa/version new file mode 100644 index 0000000..f33dfa2 --- /dev/null +++ b/style/utagawa/version @@ -0,0 +1 @@ +1 diff --git a/style/utagawa_230528_1.typ b/style/utagawa_230528_1.typ new file mode 100644 index 0000000..f53848c Binary files /dev/null and b/style/utagawa_230528_1.typ differ diff --git a/style/xrando.TYP b/style/xrando.TYP new file mode 100644 index 0000000..d785d46 Binary files /dev/null and b/style/xrando.TYP differ diff --git a/style/xroute.TYP b/style/xroute.TYP new file mode 100644 index 0000000..7948b03 Binary files /dev/null and b/style/xroute.TYP differ diff --git a/style/xskitour.typ b/style/xskitour.typ new file mode 100644 index 0000000..8b0a4c6 Binary files /dev/null and b/style/xskitour.typ differ diff --git a/style/xutagawa.typ b/style/xutagawa.typ new file mode 100644 index 0000000..39f11b3 Binary files /dev/null and b/style/xutagawa.typ differ diff --git a/update_all_maps.py b/update_all_maps.py new file mode 100644 index 0000000..e573d05 --- /dev/null +++ b/update_all_maps.py @@ -0,0 +1,36 @@ +#!/usr/bin/python +import sys +import os +import subprocess +from scripts_hgt.get_hgt import get_hgt +from scripts_hgt.hgt_to_osm import hgt_to_osm +from get_contours import get_contours +import os, shutil, fnmatch +import subprocess +import time + +country_list=[] + +#File country +file_in = open("country.txt", "rt") + +lines = file_in.readlines() +for line in lines: + result = line.split(";") + country_list.append([result[0],result[1],result[2],result[3]]) + +file_in.close() + +for idx,country in enumerate(country_list): + country_name=country[0] + id=country[1] + style=country[2] + url=country[3] + if(not country_name.startswith('#')): + print("Update "+country_name+ " "+id+" "+style+" "+url) + #Get contours + get_contours(country_name, url) + #Launch script + subprocess.run(["bash", "download_osm.sh",country_name,id,style,url]) + subprocess.run(["bash", "create_map.sh",country_name,id,style]) + diff --git a/update_map.sh b/update_map.sh new file mode 100644 index 0000000..ebdf28f --- /dev/null +++ b/update_map.sh @@ -0,0 +1,25 @@ +#!/bin/bash +echo "Update of the map $1 ...." + +land=$1 +id=$2 +type=$3 +url=$4 + +land_lower=$(echo $land | tr '[:upper:]' '[:lower:]') +land_lower=$(echo $land_lower | tr ' ' _ ) +file="$land_lower".osm.pbf +url_poly=${url//-latest.osm.pbf/.poly} +file_poly="$land_lower".poly + +cd "carte_$land_lower" + +curl -L -o $file $url + +curl -L -o $file_poly $url_poly + +cd .. + +bash create_map.sh "$land" $id $type + + diff --git a/update_map_with_dem.py b/update_map_with_dem.py new file mode 100644 index 0000000..c38696b --- /dev/null +++ b/update_map_with_dem.py @@ -0,0 +1,24 @@ +#!/usr/bin/python +import sys +import os +import subprocess +from scripts_hgt.get_hgt import get_hgt +from scripts_hgt.hgt_to_osm import hgt_to_osm +from get_contours import get_contours +import os, shutil, fnmatch +import subprocess +import time + + +country_name=sys.argv[1] +id = sys.argv[2] +style=sys.argv[3] +url=sys.argv[4] + + +print("Update "+country_name+ " "+id+" "+style+" "+url) +#Get contours +get_contours(country_name, url) +#Launch script +subprocess.run(["bash", "download_osm.sh",country_name,id,style,url]) +subprocess.run(["bash", "create_map.sh",country_name,id,style]) diff --git a/update_maps_only_osm.py b/update_maps_only_osm.py new file mode 100644 index 0000000..83e40cb --- /dev/null +++ b/update_maps_only_osm.py @@ -0,0 +1,34 @@ +#!/usr/bin/python +import sys +import os +import subprocess +from scripts_hgt.get_hgt import get_hgt +from scripts_hgt.hgt_to_osm import hgt_to_osm +from get_contours import get_contours +import os, shutil, fnmatch +import subprocess +import time + +country_list=[] + +#File country +file_in = open("country.txt", "rt") + +lines = file_in.readlines() +for line in lines: + result = line.split(";") + country_list.append([result[0],result[1],result[2],result[3]]) + +file_in.close() + +for idx, country in enumerate(country_list): + country_name=country[0] + id=country[1] + style=country[2] + url=country[3] + if(not country_name.startswith('#')): + print("Update "+country_name+ " "+id+" "+style+" "+url) + #Launch script + subprocess.run(["bash", "download_osm.sh",country_name,id,style,url]) + subprocess.run(["bash", "create_map.sh",country_name,id,style]) +