UNPKG

react-pivot

Version:

React-Pivot is a data-grid component with pivot-table-like functionality for data display, filtering, and exploration.

1,882 lines (1,744 loc) 733 kB
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.faker=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ /* this index.js file is used for including the faker library as a CommonJS module, instead of a bundle you can include the faker library into your existing node.js application by requiring the entire /faker directory var faker = require(./faker); var randomName = faker.name.findName(); you can also simply include the "faker.js" file which is the auto-generated bundled version of the faker library var faker = require(./customAppPath/faker); var randomName = faker.name.findName(); if you plan on modifying the faker library you should be performing your changes in the /lib/ directory */ exports.name = require('./lib/name'); exports.address = require('./lib/address'); exports.phone = require('./lib/phone_number'); exports.internet = require('./lib/internet'); exports.company = require('./lib/company'); exports.image = require('./lib/image'); exports.lorem = require('./lib/lorem'); exports.helpers = require('./lib/helpers'); exports.date = require('./lib/date'); exports.random = require('./lib/random'); exports.finance = require('./lib/finance'); exports.hacker = require('./lib/hacker'); var locales = exports.locales = require('./lib/locales'); // default locale exports.locale = "en"; // in case a locale is missing a definition, fallback to this locale exports.localeFallback = "en"; exports.definitions = {}; var _definitions = { "name": ["first_name", "last_name", "prefix", "suffix"], "address": ["city_prefix", "city_suffix", "street_suffix", "county", "country", "state", "state_abbr"], "company": ["adjective", "noun", "descriptor", "bs_adjective", "bs_noun", "bs_verb"], "lorem": ["words"], "hacker": ["abbreviation", "adjective", "noun", "verb", "ingverb"], "phone_number": ["formats"], "finance": ["account_type", "transaction_type", "currency"], "internet": ["avatar_uri", "domain_suffix", "free_email", "password"] }; // Create a Getter for all definitions.foo.bar propetries Object.keys(_definitions).forEach(function(d){ if (typeof exports.definitions[d] === "undefined") { exports.definitions[d] = {}; } _definitions[d].forEach(function(p){ Object.defineProperty(exports.definitions[d], p, { get: function () { if (typeof locales[exports.locale][d] === "undefined" || typeof locales[exports.locale][d][p] === "undefined") { // certain localization sets contain less data then others. // in the case of a missing defintion, use the default localeFallback to substitute the missing set data return locales[exports.localeFallback][d][p]; } else { // return localized data return locales[exports.locale][d][p]; } } }); }); }); },{"./lib/address":2,"./lib/company":3,"./lib/date":4,"./lib/finance":5,"./lib/hacker":6,"./lib/helpers":7,"./lib/image":8,"./lib/internet":9,"./lib/locales":10,"./lib/lorem":38,"./lib/name":39,"./lib/phone_number":40,"./lib/random":41}],2:[function(require,module,exports){ var Helpers = require('./helpers'); var faker = require('../index'); var address = { zipCode: function () { return Helpers.replaceSymbolWithNumber(faker.random.array_element(["#####", '#####-####'])); }, city: function () { var result; switch (faker.random.number(3)) { case 0: result = faker.address.cityPrefix() + " " + faker.name.firstName() + faker.address.citySuffix(); break; case 1: result = faker.address.cityPrefix() + " " + faker.name.firstName(); break; case 2: result = faker.name.firstName() + faker.address.citySuffix(); break; case 3: result = faker.name.lastName() + faker.address.citySuffix(); break; } return result; }, cityPrefix: function () { return faker.random.array_element(faker.definitions.address.city_prefix); }, citySuffix: function () { return faker.random.array_element(faker.definitions.address.city_suffix); }, streetName: function () { var result; switch (faker.random.number(1)) { case 0: result = faker.name.lastName() + " " + faker.address.streetSuffix(); break; case 1: result = faker.name.firstName() + " " + faker.address.streetSuffix(); break; } return result; }, // // TODO: change all these methods that accept a boolean to instead accept an options hash. // streetAddress: function (useFullAddress) { if (useFullAddress === undefined) { useFullAddress = false; } var address = ""; switch (faker.random.number(2)) { case 0: address = Helpers.replaceSymbolWithNumber("#####") + " " + faker.address.streetName(); break; case 1: address = Helpers.replaceSymbolWithNumber("####") + " " + faker.address.streetName(); break; case 2: address = Helpers.replaceSymbolWithNumber("###") + " " + faker.address.streetName(); break; } return useFullAddress ? (address + " " + faker.address.secondaryAddress()) : address; }, streetSuffix: function () { return faker.random.array_element(faker.definitions.address.street_suffix); }, secondaryAddress: function () { return Helpers.replaceSymbolWithNumber(faker.random.array_element( [ 'Apt. ###', 'Suite ###' ] )); }, county: function () { return faker.random.array_element(faker.definitions.address.county); }, country: function () { return faker.random.array_element(faker.definitions.address.country); }, state: function (useAbbr) { return faker.random.array_element(faker.definitions.address.state); }, stateAbbr: function () { return faker.random.array_element(faker.definitions.address.state_abbr); }, latitude: function () { return (faker.random.number(180 * 10000) / 10000.0 - 90.0).toFixed(4); }, longitude: function () { return (faker.random.number(360 * 10000) / 10000.0 - 180.0).toFixed(4); } }; module.exports = address; },{"../index":1,"./helpers":7}],3:[function(require,module,exports){ var faker = require('../index'); var company = { suffixes: function () { return ["Inc", "and Sons", "LLC", "Group", "and Daughters"]; }, companyName: function (format) { switch ((format ? format : faker.random.number(2))) { case 0: return faker.name.lastName() + " " + faker.company.companySuffix(); case 1: return faker.name.lastName() + "-" + faker.name.lastName(); case 2: return faker.name.lastName() + ", " + faker.name.lastName() + " and " + faker.name.lastName(); } }, companySuffix: function () { return faker.random.array_element(faker.company.suffixes()); }, catchPhrase: function () { return faker.company.catchPhraseAdjective() + " " + faker.company.catchPhraseDescriptor() + " " + faker.company.catchPhraseNoun(); }, bs: function () { return faker.company.bsAdjective() + " " + faker.company.bsBuzz() + " " + faker.company.bsNoun(); }, catchPhraseAdjective: function () { return faker.random.array_element(faker.definitions.company.adjective); }, catchPhraseDescriptor: function () { return faker.random.array_element(faker.definitions.company.descriptor); }, catchPhraseNoun: function () { return faker.random.array_element(faker.definitions.company.noun); }, bsAdjective: function () { return faker.random.array_element(faker.definitions.company.bs_adjective); }, bsBuzz: function () { return faker.random.array_element(faker.definitions.company.bs_verb); }, bsNoun: function () { return faker.random.array_element(faker.definitions.company.bs_noun); } }; module.exports = company; },{"../index":1}],4:[function(require,module,exports){ var faker = require("../index"); var date = { past: function (years, refDate) { var date = (refDate) ? new Date(Date.parse(refDate)) : new Date(); var range = { min: 1000, max: (years || 1) * 365 * 24 * 3600 * 1000 }; var past = date.getTime(); past -= faker.random.number(range); // some time from now to N years ago, in milliseconds date.setTime(past); return date; }, future: function (years, refDate) { var date = (refDate) ? new Date(Date.parse(refDate)) : new Date(); var range = { min: 1000, max: (years || 1) * 365 * 24 * 3600 * 1000 }; var future = date.getTime(); future += faker.random.number(range); // some time from now to N years later, in milliseconds date.setTime(future); return date; }, between: function (from, to) { var fromMilli = Date.parse(from); var dateOffset = faker.random.number(Date.parse(to) - fromMilli); var newDate = new Date(fromMilli + dateOffset); return newDate; }, recent: function (days) { var date = new Date(); var range = { min: 1000, max: (days || 1) * 24 * 3600 * 1000 }; var future = date.getTime(); future -= faker.random.number(range); // some time from now to N days ago, in milliseconds date.setTime(future); return date; } }; module.exports = date; },{"../index":1}],5:[function(require,module,exports){ var Helpers = require('./helpers'), faker = require('../index'); var finance = { account: function (length) { length = length || 8; var template = ''; for (var i = 0; i < length; i++) { template = template + '#'; } length = null; return Helpers.replaceSymbolWithNumber(template); }, accountName: function () { return [Helpers.randomize(faker.definitions.finance.account_type), 'Account'].join(' '); }, mask: function (length, parens, elipsis) { //set defaults length = (length == 0 || !length || typeof length == 'undefined') ? 4 : length; parens = (parens === null) ? true : parens; elipsis = (elipsis === null) ? true : elipsis; //create a template for length var template = ''; for (var i = 0; i < length; i++) { template = template + '#'; } //prefix with elipsis template = (elipsis) ? ['...', template].join('') : template; template = (parens) ? ['(', template, ')'].join('') : template; //generate random numbers template = Helpers.replaceSymbolWithNumber(template); return template; }, //min and max take in minimum and maximum amounts, dec is the decimal place you want rounded to, symbol is $, €, £, etc //NOTE: this returns a string representation of the value, if you want a number use parseFloat and no symbol amount: function (min, max, dec, symbol) { min = min || 0; max = max || 1000; dec = dec || 2; symbol = symbol || ''; return symbol + (Math.round((Math.random() * (max - min) + min) * Math.pow(10, dec)) / Math.pow(10, dec)).toFixed(dec); }, transactionType: function () { return Helpers.randomize(faker.definitions.finance.transaction_type); }, currencyCode: function () { return faker.random.object_element(faker.definitions.finance.currency)['code']; }, currencyName: function () { return faker.random.object_element(faker.definitions.finance.currency, 'key'); }, currencySymbol: function () { var symbol; while (!symbol) { symbol = faker.random.object_element(faker.definitions.finance.currency)['symbol']; } return symbol; } }; module.exports = finance; },{"../index":1,"./helpers":7}],6:[function(require,module,exports){ var faker = require('../index'); var hacker = { abbreviation : function () { return faker.random.array_element(faker.definitions.hacker.abbreviation); }, adjective : function () { return faker.random.array_element(faker.definitions.hacker.adjective); }, noun : function () { return faker.random.array_element(faker.definitions.hacker.noun); }, verb : function () { return faker.random.array_element(faker.definitions.hacker.verb); }, ingverb : function () { return faker.random.array_element(faker.definitions.hacker.ingverb); }, phrase : function () { var data = { abbreviation: hacker.abbreviation(), adjective: hacker.adjective(), ingverb: hacker.ingverb(), noun: hacker.noun(), verb: hacker.verb() }; var phrase = faker.random.array_element([ "If we {{verb}} the {{noun}}, we can get to the {{abbreviation}} {{noun}} through the {{adjective}} {{abbreviation}} {{noun}}!", "We need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!", "Try to {{verb}} the {{abbreviation}} {{noun}}, maybe it will {{verb}} the {{adjective}} {{noun}}!", "You can't {{verb}} the {{noun}} without {{ingverb}} the {{adjective}} {{abbreviation}} {{noun}}!", "Use the {{adjective}} {{abbreviation}} {{noun}}, then you can {{verb}} the {{adjective}} {{noun}}!", "The {{abbreviation}} {{noun}} is down, {{verb}} the {{adjective}} {{noun}} so we can {{verb}} the {{abbreviation}} {{noun}}!", "{{ingverb}} the {{noun}} won't do anything, we need to {{verb}} the {{adjective}} {{abbreviation}} {{noun}}!", "I'll {{verb}} the {{adjective}} {{abbreviation}} {{noun}}, that should {{noun}} the {{abbreviation}} {{noun}}!" ]); return faker.helpers.mustache(phrase, data); }, }; module.exports = hacker; },{"../index":1}],7:[function(require,module,exports){ var faker = require('../index'); // backword-compatibility exports.randomNumber = function (range) { return faker.random.number(range); }; // backword-compatibility exports.randomize = function (array) { array = array || ["a", "b", "c"]; return faker.random.array_element(array); }; // slugifies string exports.slugify = function (string) { string = string || ""; return string.replace(/ /g, '-').replace(/[^\w\.\-]+/g, ''); }; // parses string for a symbol and replace it with a random number from 1-10 exports.replaceSymbolWithNumber = function (string, symbol) { string = string || ""; // default symbol is '#' if (symbol === undefined) { symbol = '#'; } var str = ''; for (var i = 0; i < string.length; i++) { if (string.charAt(i) == symbol) { str += faker.random.number(9); } else { str += string.charAt(i); } } return str; }; // takes an array and returns it randomized exports.shuffle = function (o) { o = o || ["a", "b", "c"]; for (var j, x, i = o.length; i; j = faker.random.number(i), x = o[--i], o[i] = o[j], o[j] = x); return o; }; exports.mustache = function (str, data) { for(var p in data) { var re = new RegExp('{{' + p + '}}', 'g') str = str.replace(re, data[p]); } return str; }; exports.createCard = function () { return { "name": faker.name.findName(), "username": faker.internet.userName(), "email": faker.internet.email(), "address": { "streetA": faker.address.streetName(), "streetB": faker.address.streetAddress(), "streetC": faker.address.streetAddress(true), "streetD": faker.address.secondaryAddress(), "city": faker.address.city(), "state": faker.address.state(), "country": faker.address.country(), "zipcode": faker.address.zipCode(), "geo": { "lat": faker.address.latitude(), "lng": faker.address.longitude() } }, "phone": faker.phone.phoneNumber(), "website": faker.internet.domainName(), "company": { "name": faker.company.companyName(), "catchPhrase": faker.company.catchPhrase(), "bs": faker.company.bs() }, "posts": [ { "words": faker.lorem.words(), "sentence": faker.lorem.sentence(), "sentences": faker.lorem.sentences(), "paragraph": faker.lorem.paragraph() }, { "words": faker.lorem.words(), "sentence": faker.lorem.sentence(), "sentences": faker.lorem.sentences(), "paragraph": faker.lorem.paragraph() }, { "words": faker.lorem.words(), "sentence": faker.lorem.sentence(), "sentences": faker.lorem.sentences(), "paragraph": faker.lorem.paragraph() } ], "accountHistory": [faker.helpers.createTransaction(), faker.helpers.createTransaction(), faker.helpers.createTransaction()] }; }; exports.contextualCard = function () { var name = faker.name.firstName(), userName = faker.internet.userName(name); return { "name": name, "username": userName, "avatar": faker.internet.avatar(), "email": faker.internet.email(userName), "dob": faker.date.past(50, new Date("Sat Sep 20 1992 21:35:02 GMT+0200 (CEST)")), "phone": faker.phone.phoneNumber(), "address": { "street": faker.address.streetName(true), "suite": faker.address.secondaryAddress(), "city": faker.address.city(), "zipcode": faker.address.zipCode(), "geo": { "lat": faker.address.latitude(), "lng": faker.address.longitude() } }, "website": faker.internet.domainName(), "company": { "name": faker.company.companyName(), "catchPhrase": faker.company.catchPhrase(), "bs": faker.company.bs() } }; }; exports.userCard = function () { return { "name": faker.name.findName(), "username": faker.internet.userName(), "email": faker.internet.email(), "address": { "street": faker.address.streetName(true), "suite": faker.address.secondaryAddress(), "city": faker.address.city(), "zipcode": faker.address.zipCode(), "geo": { "lat": faker.address.latitude(), "lng": faker.address.longitude() } }, "phone": faker.phone.phoneNumber(), "website": faker.internet.domainName(), "company": { "name": faker.company.companyName(), "catchPhrase": faker.company.catchPhrase(), "bs": faker.company.bs() } }; }; exports.createTransaction = function(){ return { "amount" : faker.finance.amount(), "date" : new Date(2012, 1, 2), //TODO: add a ranged date method "business": faker.company.companyName(), "name": [faker.finance.accountName(), faker.finance.mask()].join(' '), "type" : exports.randomize(faker.definitions.finance.transaction_type), "account" : faker.finance.account() }; }; /* String.prototype.capitalize = function () { //v1.0 return this.replace(/\w+/g, function (a) { return a.charAt(0).toUpperCase() + a.substr(1).toLowerCase(); }); }; */ },{"../index":1}],8:[function(require,module,exports){ var faker = require('../index'); var image = { image: function () { var categories = ["abstract", "animals", "business", "cats", "city", "food", "nightlife", "fashion", "people", "nature", "sports", "technics", "transport"]; return image[faker.random.array_element(categories)](); }, avatar: function () { return faker.internet.avatar(); }, imageUrl: function (width, height, category) { var width = width || 640; var height = height || 480; var url ='http://lorempixel.com/' + width + '/' + height; if (typeof category !== 'undefined') { url += '/' + category; } return url; }, abstract: function (width, height) { return faker.image.imageUrl(width, height, 'abstract'); }, animals: function (width, height) { return faker.image.imageUrl(width, height, 'animals'); }, business: function (width, height) { return faker.image.imageUrl(width, height, 'business'); }, cats: function (width, height) { return faker.image.imageUrl(width, height, 'cats'); }, city: function (width, height) { return faker.image.imageUrl(width, height, 'city'); }, food: function (width, height) { return faker.image.imageUrl(width, height, 'food'); }, nightlife: function (width, height) { return faker.image.imageUrl(width, height, 'nightlife'); }, fashion: function (width, height) { return faker.image.imageUrl(width, height, 'fashion'); }, people: function (width, height) { return faker.image.imageUrl(width, height, 'people'); }, nature: function (width, height) { return faker.image.imageUrl(width, height, 'nature'); }, sports: function (width, height) { return faker.image.imageUrl(width, height, 'sports'); }, technics: function (width, height) { return faker.image.imageUrl(width, height, 'technics'); }, transport: function (width, height) { return faker.image.imageUrl(width, height, 'transport'); } }; module.exports = image; },{"../index":1}],9:[function(require,module,exports){ var faker = require('../index'), password_generator = require('../vendor/password-generator.js'), random_ua = require('../vendor/user-agent'); var internet = { avatar: function () { return faker.random.array_element(faker.definitions.internet.avatar_uri); }, email: function (firstName, lastName, provider) { provider = provider || faker.random.array_element(faker.definitions.internet.free_email); return faker.helpers.slugify(faker.internet.userName(firstName, lastName)) + "@" + provider; }, userName: function (firstName, lastName) { var result; firstName = firstName || faker.name.firstName(); lastName = lastName || faker.name.lastName(); switch (faker.random.number(2)) { case 0: result = firstName + faker.random.number(99); break; case 1: result = firstName + faker.random.array_element([".", "_"]) + lastName; break; case 2: result = firstName + faker.random.array_element([".", "_"]) + lastName + faker.random.number(99); break; } result = result.replace(/'/g, ""); result = result.replace(/ /g, ""); return result; }, domainName: function () { return faker.internet.domainWord() + "." + faker.internet.domainSuffix(); }, domainSuffix: function () { return faker.random.array_element(faker.definitions.internet.domain_suffix); }, domainWord: function () { return faker.name.firstName().replace(/([^A-Z0-9._%+-])/ig, '').toLowerCase(); }, ip: function () { var randNum = function () { return (faker.random.number(255)).toFixed(0); }; var result = []; for (var i = 0; i < 4; i++) { result[i] = randNum(); } return result.join("."); }, userAgent: function () { return random_ua.generate(); }, color: function (baseRed255, baseGreen255, baseBlue255) { baseRed255 = baseRed255 || 0; baseGreen255 = baseGreen255 || 0; baseBlue255 = baseBlue255 || 0; // based on awesome response : http://stackoverflow.com/questions/43044/algorithm-to-randomly-generate-an-aesthetically-pleasing-color-palette var red = Math.floor((faker.random.number(256) + baseRed255) / 2); var green = Math.floor((faker.random.number(256) + baseGreen255) / 2); var blue = Math.floor((faker.random.number(256) + baseBlue255) / 2); var redStr = red.toString(16); var greenStr = green.toString(16); var blueStr = blue.toString(16); return '#' + (redStr.length === 1 ? '0' : '') + redStr + (greenStr.length === 1 ? '0' : '') + greenStr + (blueStr.length === 1 ? '0': '') + blueStr; }, password: function (len, memorable, pattern, prefix) { len = len || 15; if (typeof memorable === "undefined") { memorable = false; } return password_generator(len, memorable, pattern, prefix); } }; module.exports = internet; },{"../index":1,"../vendor/password-generator.js":43,"../vendor/user-agent":44}],10:[function(require,module,exports){ var faker = require('../index'); exports['de'] = require('./locales/de.js'); exports['de_AT'] = require('./locales/de_AT.js'); exports['de_CH'] = require('./locales/de_CH.js'); exports['en'] = require('./locales/en.js'); exports['en_AU'] = require('./locales/en_AU.js'); exports['en_BORK'] = require('./locales/en_BORK.js'); exports['en_CA'] = require('./locales/en_CA.js'); exports['en_GB'] = require('./locales/en_GB.js'); exports['en_IND'] = require('./locales/en_IND.js'); exports['en_US'] = require('./locales/en_US.js'); exports['en_au_ocker'] = require('./locales/en_au_ocker.js'); exports['es'] = require('./locales/es.js'); exports['fa'] = require('./locales/fa.js'); exports['fr'] = require('./locales/fr.js'); exports['it'] = require('./locales/it.js'); exports['ja'] = require('./locales/ja.js'); exports['ko'] = require('./locales/ko.js'); exports['nb_NO'] = require('./locales/nb_NO.js'); exports['nep'] = require('./locales/nep.js'); exports['nl'] = require('./locales/nl.js'); exports['pl'] = require('./locales/pl.js'); exports['pt_BR'] = require('./locales/pt_BR.js'); exports['ru'] = require('./locales/ru.js'); exports['sk'] = require('./locales/sk.js'); exports['sv'] = require('./locales/sv.js'); exports['vi'] = require('./locales/vi.js'); exports['zh_CN'] = require('./locales/zh_CN.js'); },{"../index":1,"./locales/de.js":11,"./locales/de_AT.js":12,"./locales/de_CH.js":13,"./locales/en.js":14,"./locales/en_AU.js":15,"./locales/en_BORK.js":16,"./locales/en_CA.js":17,"./locales/en_GB.js":18,"./locales/en_IND.js":19,"./locales/en_US.js":20,"./locales/en_au_ocker.js":21,"./locales/es.js":22,"./locales/fa.js":23,"./locales/fr.js":24,"./locales/it.js":25,"./locales/ja.js":26,"./locales/ko.js":27,"./locales/nb_NO.js":28,"./locales/nep.js":29,"./locales/nl.js":30,"./locales/pl.js":31,"./locales/pt_BR.js":32,"./locales/ru.js":33,"./locales/sk.js":34,"./locales/sv.js":35,"./locales/vi.js":36,"./locales/zh_CN.js":37}],11:[function(require,module,exports){ var de = {}; module["exports"] = de; de.title = "German"; de.address = { "city_prefix": [ "Nord", "Ost", "West", "Süd", "Neu", "Alt", "Bad" ], "city_suffix": [ "stadt", "dorf", "land", "scheid", "burg" ], "country": [ "Ägypten", "Äquatorialguinea", "Äthiopien", "Österreich", "Afghanistan", "Albanien", "Algerien", "Amerikanisch-Samoa", "Amerikanische Jungferninseln", "Andorra", "Angola", "Anguilla", "Antarktis", "Antigua und Barbuda", "Argentinien", "Armenien", "Aruba", "Aserbaidschan", "Australien", "Bahamas", "Bahrain", "Bangladesch", "Barbados", "Belarus", "Belgien", "Belize", "Benin", "die Bermudas", "Bhutan", "Bolivien", "Bosnien und Herzegowina", "Botsuana", "Bouvetinsel", "Brasilien", "Britische Jungferninseln", "Britisches Territorium im Indischen Ozean", "Brunei Darussalam", "Bulgarien", "Burkina Faso", "Burundi", "Chile", "China", "Cookinseln", "Costa Rica", "Dänemark", "Demokratische Republik Kongo", "Demokratische Volksrepublik Korea", "Deutschland", "Dominica", "Dominikanische Republik", "Dschibuti", "Ecuador", "El Salvador", "Eritrea", "Estland", "Färöer", "Falklandinseln", "Fidschi", "Finnland", "Frankreich", "Französisch-Guayana", "Französisch-Polynesien", "Französische Gebiete im südlichen Indischen Ozean", "Gabun", "Gambia", "Georgien", "Ghana", "Gibraltar", "Grönland", "Grenada", "Griechenland", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard und McDonaldinseln", "Honduras", "Hongkong", "Indien", "Indonesien", "Irak", "Iran", "Irland", "Island", "Israel", "Italien", "Jamaika", "Japan", "Jemen", "Jordanien", "Jugoslawien", "Kaimaninseln", "Kambodscha", "Kamerun", "Kanada", "Kap Verde", "Kasachstan", "Katar", "Kenia", "Kirgisistan", "Kiribati", "Kleinere amerikanische Überseeinseln", "Kokosinseln", "Kolumbien", "Komoren", "Kongo", "Kroatien", "Kuba", "Kuwait", "Laos", "Lesotho", "Lettland", "Libanon", "Liberia", "Libyen", "Liechtenstein", "Litauen", "Luxemburg", "Macau", "Madagaskar", "Malawi", "Malaysia", "Malediven", "Mali", "Malta", "ehemalige jugoslawische Republik Mazedonien", "Marokko", "Marshallinseln", "Martinique", "Mauretanien", "Mauritius", "Mayotte", "Mexiko", "Mikronesien", "Monaco", "Mongolei", "Montserrat", "Mosambik", "Myanmar", "Nördliche Marianen", "Namibia", "Nauru", "Nepal", "Neukaledonien", "Neuseeland", "Nicaragua", "Niederländische Antillen", "Niederlande", "Niger", "Nigeria", "Niue", "Norfolkinsel", "Norwegen", "Oman", "Osttimor", "Pakistan", "Palau", "Panama", "Papua-Neuguinea", "Paraguay", "Peru", "Philippinen", "Pitcairninseln", "Polen", "Portugal", "Puerto Rico", "Réunion", "Republik Korea", "Republik Moldau", "Ruanda", "Rumänien", "Russische Föderation", "São Tomé und Príncipe", "Südafrika", "Südgeorgien und Südliche Sandwichinseln", "Salomonen", "Sambia", "Samoa", "San Marino", "Saudi-Arabien", "Schweden", "Schweiz", "Senegal", "Seychellen", "Sierra Leone", "Simbabwe", "Singapur", "Slowakei", "Slowenien", "Somalien", "Spanien", "Sri Lanka", "St. Helena", "St. Kitts und Nevis", "St. Lucia", "St. Pierre und Miquelon", "St. Vincent und die Grenadinen", "Sudan", "Surinam", "Svalbard und Jan Mayen", "Swasiland", "Syrien", "Türkei", "Tadschikistan", "Taiwan", "Tansania", "Thailand", "Togo", "Tokelau", "Tonga", "Trinidad und Tobago", "Tschad", "Tschechische Republik", "Tunesien", "Turkmenistan", "Turks- und Caicosinseln", "Tuvalu", "Uganda", "Ukraine", "Ungarn", "Uruguay", "Usbekistan", "Vanuatu", "Vatikanstadt", "Venezuela", "Vereinigte Arabische Emirate", "Vereinigte Staaten", "Vereinigtes Königreich", "Vietnam", "Wallis und Futuna", "Weihnachtsinsel", "Westsahara", "Zentralafrikanische Republik", "Zypern" ], "street_root": [ "Ackerweg", "Adalbert-Stifter-Str.", "Adalbertstr.", "Adolf-Baeyer-Str.", "Adolf-Kaschny-Str.", "Adolf-Reichwein-Str.", "Adolfsstr.", "Ahornweg", "Ahrstr.", "Akazienweg", "Albert-Einstein-Str.", "Albert-Schweitzer-Str.", "Albertus-Magnus-Str.", "Albert-Zarthe-Weg", "Albin-Edelmann-Str.", "Albrecht-Haushofer-Str.", "Aldegundisstr.", "Alexanderstr.", "Alfred-Delp-Str.", "Alfred-Kubin-Str.", "Alfred-Stock-Str.", "Alkenrather Str.", "Allensteiner Str.", "Alsenstr.", "Alt Steinbücheler Weg", "Alte Garten", "Alte Heide", "Alte Landstr.", "Alte Ziegelei", "Altenberger Str.", "Altenhof", "Alter Grenzweg", "Altstadtstr.", "Am Alten Gaswerk", "Am Alten Schafstall", "Am Arenzberg", "Am Benthal", "Am Birkenberg", "Am Blauen Berg", "Am Borsberg", "Am Brungen", "Am Büchelter Hof", "Am Buttermarkt", "Am Ehrenfriedhof", "Am Eselsdamm", "Am Falkenberg", "Am Frankenberg", "Am Gesundheitspark", "Am Gierlichshof", "Am Graben", "Am Hagelkreuz", "Am Hang", "Am Heidkamp", "Am Hemmelrather Hof", "Am Hofacker", "Am Hohen Ufer", "Am Höllers Eck", "Am Hühnerberg", "Am Jägerhof", "Am Junkernkamp", "Am Kemperstiegel", "Am Kettnersbusch", "Am Kiesberg", "Am Klösterchen", "Am Knechtsgraben", "Am Köllerweg", "Am Köttersbach", "Am Kreispark", "Am Kronefeld", "Am Küchenhof", "Am Kühnsbusch", "Am Lindenfeld", "Am Märchen", "Am Mittelberg", "Am Mönchshof", "Am Mühlenbach", "Am Neuenhof", "Am Nonnenbruch", "Am Plattenbusch", "Am Quettinger Feld", "Am Rosenhügel", "Am Sandberg", "Am Scherfenbrand", "Am Schokker", "Am Silbersee", "Am Sonnenhang", "Am Sportplatz", "Am Stadtpark", "Am Steinberg", "Am Telegraf", "Am Thelenhof", "Am Vogelkreuz", "Am Vogelsang", "Am Vogelsfeldchen", "Am Wambacher Hof", "Am Wasserturm", "Am Weidenbusch", "Am Weiher", "Am Weingarten", "Am Werth", "Amselweg", "An den Irlen", "An den Rheinauen", "An der Bergerweide", "An der Dingbank", "An der Evangelischen Kirche", "An der Evgl. Kirche", "An der Feldgasse", "An der Fettehenne", "An der Kante", "An der Laach", "An der Lehmkuhle", "An der Lichtenburg", "An der Luisenburg", "An der Robertsburg", "An der Schmitten", "An der Schusterinsel", "An der Steinrütsch", "An St. Andreas", "An St. Remigius", "Andreasstr.", "Ankerweg", "Annette-Kolb-Str.", "Apenrader Str.", "Arnold-Ohletz-Str.", "Atzlenbacher Str.", "Auerweg", "Auestr.", "Auf dem Acker", "Auf dem Blahnenhof", "Auf dem Bohnbüchel", "Auf dem Bruch", "Auf dem End", "Auf dem Forst", "Auf dem Herberg", "Auf dem Lehn", "Auf dem Stein", "Auf dem Weierberg", "Auf dem Weiherhahn", "Auf den Reien", "Auf der Donnen", "Auf der Grieße", "Auf der Ohmer", "Auf der Weide", "Auf'm Berg", "Auf'm Kamp", "Augustastr.", "August-Kekulé-Str.", "A.-W.-v.-Hofmann-Str.", "Bahnallee", "Bahnhofstr.", "Baltrumstr.", "Bamberger Str.", "Baumberger Str.", "Bebelstr.", "Beckers Kämpchen", "Beerenstr.", "Beethovenstr.", "Behringstr.", "Bendenweg", "Bensberger Str.", "Benzstr.", "Bergische Landstr.", "Bergstr.", "Berliner Platz", "Berliner Str.", "Bernhard-Letterhaus-Str.", "Bernhard-Lichtenberg-Str.", "Bernhard-Ridder-Str.", "Bernsteinstr.", "Bertha-Middelhauve-Str.", "Bertha-von-Suttner-Str.", "Bertolt-Brecht-Str.", "Berzeliusstr.", "Bielertstr.", "Biesenbach", "Billrothstr.", "Birkenbergstr.", "Birkengartenstr.", "Birkenweg", "Bismarckstr.", "Bitterfelder Str.", "Blankenburg", "Blaukehlchenweg", "Blütenstr.", "Boberstr.", "Böcklerstr.", "Bodelschwinghstr.", "Bodestr.", "Bogenstr.", "Bohnenkampsweg", "Bohofsweg", "Bonifatiusstr.", "Bonner Str.", "Borkumstr.", "Bornheimer Str.", "Borsigstr.", "Borussiastr.", "Bracknellstr.", "Brahmsweg", "Brandenburger Str.", "Breidenbachstr.", "Breslauer Str.", "Bruchhauser Str.", "Brückenstr.", "Brucknerstr.", "Brüder-Bonhoeffer-Str.", "Buchenweg", "Bürgerbuschweg", "Burgloch", "Burgplatz", "Burgstr.", "Burgweg", "Bürriger Weg", "Burscheider Str.", "Buschkämpchen", "Butterheider Str.", "Carl-Duisberg-Platz", "Carl-Duisberg-Str.", "Carl-Leverkus-Str.", "Carl-Maria-von-Weber-Platz", "Carl-Maria-von-Weber-Str.", "Carlo-Mierendorff-Str.", "Carl-Rumpff-Str.", "Carl-von-Ossietzky-Str.", "Charlottenburger Str.", "Christian-Heß-Str.", "Claasbruch", "Clemens-Winkler-Str.", "Concordiastr.", "Cranachstr.", "Dahlemer Str.", "Daimlerstr.", "Damaschkestr.", "Danziger Str.", "Debengasse", "Dechant-Fein-Str.", "Dechant-Krey-Str.", "Deichtorstr.", "Dhünnberg", "Dhünnstr.", "Dianastr.", "Diedenhofener Str.", "Diepental", "Diepenthaler Str.", "Dieselstr.", "Dillinger Str.", "Distelkamp", "Dohrgasse", "Domblick", "Dönhoffstr.", "Dornierstr.", "Drachenfelsstr.", "Dr.-August-Blank-Str.", "Dresdener Str.", "Driescher Hecke", "Drosselweg", "Dudweilerstr.", "Dünenweg", "Dünfelder Str.", "Dünnwalder Grenzweg", "Düppeler Str.", "Dürerstr.", "Dürscheider Weg", "Düsseldorfer Str.", "Edelrather Weg", "Edmund-Husserl-Str.", "Eduard-Spranger-Str.", "Ehrlichstr.", "Eichenkamp", "Eichenweg", "Eidechsenweg", "Eifelstr.", "Eifgenstr.", "Eintrachtstr.", "Elbestr.", "Elisabeth-Langgässer-Str.", "Elisabethstr.", "Elisabeth-von-Thadden-Str.", "Elisenstr.", "Elsa-Brändström-Str.", "Elsbachstr.", "Else-Lasker-Schüler-Str.", "Elsterstr.", "Emil-Fischer-Str.", "Emil-Nolde-Str.", "Engelbertstr.", "Engstenberger Weg", "Entenpfuhl", "Erbelegasse", "Erftstr.", "Erfurter Str.", "Erich-Heckel-Str.", "Erich-Klausener-Str.", "Erich-Ollenhauer-Str.", "Erlenweg", "Ernst-Bloch-Str.", "Ernst-Ludwig-Kirchner-Str.", "Erzbergerstr.", "Eschenallee", "Eschenweg", "Esmarchstr.", "Espenweg", "Euckenstr.", "Eulengasse", "Eulenkamp", "Ewald-Flamme-Str.", "Ewald-Röll-Str.", "Fährstr.", "Farnweg", "Fasanenweg", "Faßbacher Hof", "Felderstr.", "Feldkampstr.", "Feldsiefer Weg", "Feldsiefer Wiesen", "Feldstr.", "Feldtorstr.", "Felix-von-Roll-Str.", "Ferdinand-Lassalle-Str.", "Fester Weg", "Feuerbachstr.", "Feuerdornweg", "Fichtenweg", "Fichtestr.", "Finkelsteinstr.", "Finkenweg", "Fixheider Str.", "Flabbenhäuschen", "Flensburger Str.", "Fliederweg", "Florastr.", "Florianweg", "Flotowstr.", "Flurstr.", "Föhrenweg", "Fontanestr.", "Forellental", "Fortunastr.", "Franz-Esser-Str.", "Franz-Hitze-Str.", "Franz-Kail-Str.", "Franz-Marc-Str.", "Freiburger Str.", "Freiheitstr.", "Freiherr-vom-Stein-Str.", "Freudenthal", "Freudenthaler Weg", "Fridtjof-Nansen-Str.", "Friedenberger Str.", "Friedensstr.", "Friedhofstr.", "Friedlandstr.", "Friedlieb-Ferdinand-Runge-Str.", "Friedrich-Bayer-Str.", "Friedrich-Bergius-Platz", "Friedrich-Ebert-Platz", "Friedrich-Ebert-Str.", "Friedrich-Engels-Str.", "Friedrich-List-Str.", "Friedrich-Naumann-Str.", "Friedrich-Sertürner-Str.", "Friedrichstr.", "Friedrich-Weskott-Str.", "Friesenweg", "Frischenberg", "Fritz-Erler-Str.", "Fritz-Henseler-Str.", "Fröbelstr.", "Fürstenbergplatz", "Fürstenbergstr.", "Gabriele-Münter-Str.", "Gartenstr.", "Gebhardstr.", "Geibelstr.", "Gellertstr.", "Georg-von-Vollmar-Str.", "Gerhard-Domagk-Str.", "Gerhart-Hauptmann-Str.", "Gerichtsstr.", "Geschwister-Scholl-Str.", "Gezelinallee", "Gierener Weg", "Ginsterweg", "Gisbert-Cremer-Str.", "Glücksburger Str.", "Gluckstr.", "Gneisenaustr.", "Goetheplatz", "Goethestr.", "Golo-Mann-Str.", "Görlitzer Str.", "Görresstr.", "Graebestr.", "Graf-Galen-Platz", "Gregor-Mendel-Str.", "Greifswalder Str.", "Grillenweg", "Gronenborner Weg", "Große Kirchstr.", "Grunder Wiesen", "Grundermühle", "Grundermühlenhof", "Grundermühlenweg", "Grüner Weg", "Grunewaldstr.", "Grünstr.", "Günther-Weisenborn-Str.", "Gustav-Freytag-Str.", "Gustav-Heinemann-Str.", "Gustav-Radbruch-Str.", "Gut Reuschenberg", "Gutenbergstr.", "Haberstr.", "Habichtgasse", "Hafenstr.", "Hagenauer Str.", "Hahnenblecher", "Halenseestr.", "Halfenleimbach", "Hallesche Str.", "Halligstr.", "Hamberger Str.", "Hammerweg", "Händelstr.", "Hannah-Höch-Str.", "Hans-Arp-Str.", "Hans-Gerhard-Str.", "Hans-Sachs-Str.", "Hans-Schlehahn-Str.", "Hans-von-Dohnanyi-Str.", "Hardenbergstr.", "Haselweg", "Hauptstr.", "Haus-Vorster-Str.", "Hauweg", "Havelstr.", "Havensteinstr.", "Haydnstr.", "Hebbelstr.", "Heckenweg", "Heerweg", "Hegelstr.", "Heidberg", "Heidehöhe", "Heidestr.", "Heimstättenweg", "Heinrich-Böll-Str.", "Heinrich-Brüning-Str.", "Heinrich-Claes-Str.", "Heinrich-Heine-Str.", "Heinrich-Hörlein-Str.", "Heinrich-Lübke-Str.", "Heinrich-Lützenkirchen-Weg", "Heinrichstr.", "Heinrich-Strerath-Str.", "Heinrich-von-Kleist-Str.", "Heinrich-von-Stephan-Str.", "Heisterbachstr.", "Helenenstr.", "Helmestr.", "Hemmelrather Weg", "Henry-T.-v.-Böttinger-Str.", "Herderstr.", "Heribertstr.", "Hermann-Ehlers-Str.", "Hermann-Hesse-Str.", "Hermann-König-Str.", "Hermann-Löns-Str.", "Hermann-Milde-Str.", "Hermann-Nörrenberg-Str.", "Hermann-von-Helmholtz-Str.", "Hermann-Waibel-Str.", "Herzogstr.", "Heymannstr.", "Hindenburgstr.", "Hirzenberg", "Hitdorfer Kirchweg", "Hitdorfer Str.", "Höfer Mühle", "Höfer Weg", "Hohe Str.", "Höhenstr.", "Höltgestal", "Holunderweg", "Holzer Weg", "Holzer Wiesen", "Hornpottweg", "Hubertusweg", "Hufelandstr.", "Hufer Weg", "Humboldtstr.", "Hummelsheim", "Hummelweg", "Humperdinckstr.", "Hüscheider Gärten", "Hüscheider Str.", "Hütte", "Ilmstr.", "Im Bergischen Heim", "Im Bruch", "Im Buchenhain", "Im Bühl", "Im Burgfeld", "Im Dorf", "Im Eisholz", "Im Friedenstal", "Im Frohental", "Im Grunde", "Im Hederichsfeld", "Im Jücherfeld", "Im Kalkfeld", "Im Kirberg", "Im Kirchfeld", "Im Kreuzbruch", "Im Mühlenfeld", "Im Nesselrader Kamp", "Im Oberdorf", "Im Oberfeld", "Im Rosengarten", "Im Rottland", "Im Scheffengarten", "Im Staderfeld", "Im Steinfeld", "Im Weidenblech", "Im Winkel", "Im Ziegelfeld", "Imbach", "Imbacher Weg", "Immenweg", "In den Blechenhöfen", "In den Dehlen", "In der Birkenau", "In der Dasladen", "In der Felderhütten", "In der Hartmannswiese", "In der Höhle", "In der Schaafsdellen", "In der Wasserkuhl", "In der Wüste", "In Holzhausen", "Insterstr.", "Jacob-Fröhlen-Str.", "Jägerstr.", "Jahnstr.", "Jakob-Eulenberg-Weg", "Jakobistr.", "Jakob-Kaiser-Str.", "Jenaer Str.", "Johannes-Baptist-Str.", "Johannes-Dott-Str.", "Johannes-Popitz-Str.", "Johannes-Wislicenus-Str.", "Johannisburger Str.", "Johann-Janssen-Str.", "Johann-Wirtz-Weg", "Josefstr.", "Jüch", "Julius-Doms-Str.", "Julius-Leber-Str.", "Kaiserplatz", "Kaiserstr.", "Kaiser-Wilhelm-Allee", "Kalkstr.", "Kämpchenstr.", "Kämpenwiese", "Kämper Weg", "Kamptalweg", "Kanalstr.", "Kandinskystr.", "Kantstr.", "Kapellenstr.", "Karl-Arnold-Str.", "Karl-Bosch-Str.", "Karl-Bückart-Str.", "Karl-Carstens-Ring", "Karl-Friedrich-Goerdeler-Str.", "Karl-Jaspers-Str.", "Karl-König-Str.", "Karl-Krekeler-Str.", "Karl-Marx-Str.", "Karlstr.", "Karl-Ulitzka-Str.", "Karl-Wichmann-Str.", "Karl-Wingchen-Str.", "Käsenbrod", "Käthe-Kollwitz-Str.", "Katzbachstr.", "Kerschensteinerstr.", "Kiefernweg", "Kieler Str.", "Kieselstr.", "Kiesweg", "Kinderhausen", "Kleiberweg", "Kleine Kirchstr.", "Kleingansweg", "Kleinheider Weg", "Klief", "Kneippstr.", "Knochenbergsweg", "Kochergarten", "Kocherstr.", "Kockelsberg", "Kolberger Str.", "Kolmarer Str.", "Kölner Gasse", "Kölner Str.", "Kolpingstr.", "Königsberger Platz", "Konrad-Adenauer-Platz", "Köpenicker Str.", "Kopernikusstr.", "Körnerstr.", "Köschenberg", "Köttershof", "Kreuzbroicher Str.", "Kreuzkamp", "Krummer Weg", "Kruppstr.", "Kuhlmannweg", "Kump", "Kumper Weg", "Kunstfeldstr.", "Küppersteger Str.", "Kursiefen", "Kursiefer Weg", "Kurtekottenweg", "Kurt-Schumacher-Ring", "Kyllstr.", "Langenfelder Str.", "Längsleimbach", "Lärchenweg", "Legienstr.", "Lehner Mühle", "Leichlinger Str.", "Leimbacher Hof", "Leinestr.", "Leineweberstr.", "Leipziger Str.", "Lerchengasse", "Lessingstr.", "Libellenweg", "Lichstr.", "Liebigstr.", "Lindenstr.", "Lingenfeld", "Linienstr.", "Lippe", "Löchergraben", "Löfflerstr.", "Loheweg", "Lohrbergstr.", "Lohrstr.", "Löhstr.", "Lortzingstr.", "Lötzener Str.", "Löwenburgstr.", "Lucasstr.", "Ludwig-Erhard-Platz", "Ludwig-Girtler-Str.", "Ludwig-Knorr-Str.", "Luisenstr.", "Lupinenweg", "Lurchenweg", "Lützenkirchener Str.", "Lycker Str.", "Maashofstr.", "Manforter Str.", "Marc-Chagall-Str.", "Maria-Dresen-Str.", "Maria-Terwiel-Str.", "Marie-Curie-Str.", "Marienburger Str.", "Mariendorfer Str.", "Marienwerderstr.", "Marie-Schlei-Str.", "Marktplatz", "Markusweg", "Martin-Buber-Str.", "Martin-Heidegger-Str.", "Martin-Luther-Str.", "Masurenstr.", "Mathildenweg", "Maurinusstr.", "Mauspfad", "Max-Beckmann-Str.", "Max-Delbrück-Str.", "Max-Ernst-Str.", "Max-Holthausen-Platz", "Max-Horkheimer-Str.", "Max-Liebermann-Str.", "Max-Pechstein-Str.", "Max-Planck-Str.", "Max-Scheler-Str.", "Max-Schönenberg-Str.", "Maybachstr.", "Meckhofer Feld", "Meisenweg", "Memelstr.", "Menchendahler Str.", "Mendelssohnstr.", "Merziger Str.", "Mettlacher Str.", "Metzer Str.", "Michaelsweg", "Miselohestr.", "Mittelstr.", "Mohlenstr.", "Moltkestr.", "Monheimer Str.", "Montanusstr.", "Montessoriweg", "Moosweg", "Morsbroicher Str.", "Moselstr.", "Moskauer Str.", "Mozartstr.", "Mühlenweg", "Muhrgasse", "Muldestr.", "Mülhausener Str.", "Mülheimer Str.", "Münsters Gäßchen", "Münzstr.", "Müritzstr.", "Myliusstr.", "Nachtigallenweg", "Nauener Str.", "Neißestr.", "Nelly-Sachs-Str.", "Netzestr.", "Neuendriesch", "Neuenhausgasse", "Neuenkamp", "Neujudenhof", "Neukronenberger Str.", "Neustadtstr.", "Nicolai-Hartmann-Str.", "Niederblecher", "Niederfeldstr.", "Nietzschestr.", "Nikolaus-Groß-Str.", "Nobelstr.", "Norderneystr.", "Nordstr.", "Ober dem Hof", "Obere Lindenstr.", "Obere Str.", "Oberölbach", "Odenthaler Str.", "Oderstr.", "Okerstr.", "Olof-Palme-Str.", "Ophovener Str.", "Opladener Platz", "Opladener Str.", "Ortelsburger Str.", "Oskar-Moll-Str.", "Oskar-Schlemmer-Str.", "Oststr.", "Oswald-Spengler-Str.", "Otto-Dix-Str.", "Otto-Grimm-Str.", "Otto-Hahn-Str.", "Otto-Müller-Str.", "Otto-Stange-Str.", "Ottostr.", "Otto-Varnhagen-Str.", "Otto-Wels-Str.", "Ottweilerstr.", "Oulustr.", "Overfeldweg", "Pappelweg", "Paracelsusstr.", "Parkstr.", "Pastor-Louis-Str.", "Pastor-Scheibler-Str.", "Pastorskamp", "Paul-Klee-Str.", "Paul-Löbe-Str.", "Paulstr.", "Peenestr.", "Pescher Busch", "Peschstr.", "Pestalozzistr.", "Peter-Grieß-Str.", "Peter-Joseph-Lenné-Str.", "Peter-Neuenheuser-Str.", "Petersbergstr.", "Peterstr.", "Pfarrer-Jekel-Str.", "Pfarrer-Klein-Str.", "Pfarrer-Röhr-Str.", "Pfeilshofstr.", "Philipp-Ott-Str.", "Piet-Mondrian-Str.", "Platanenweg", "Pommernstr.", "Porschestr.", "Poststr.", "Potsdamer Str.", "Pregelstr.", "Prießnitzstr.", "Pützdelle", "Quarzstr.", "Quettinger Str.", "