Home Marketsite Realty: Service. Savings. Results.

Pennsylvania Real Estate is our specialty.
Your source for Pennsylvania Real Estate, MY Home Value PA, PA Home Price.
Offering Buyers & Sellers Service with Savings. Experience the difference.

Featured Listings

BUCKS County
Homes for Sale

Home for Sale
LOT 9 JUSTIN CIR
BENSALEM, PA 19020
$399,000
Beds: 3  Baths: 2
Real Estate RE/MAX Realty Services-Bensalem

CHESTER County
Homes for Sale

Home for Sale
640 MARYDELL DR
WEST CHESTER, PA 19380
$525,000
Beds: 5  Baths: 2
Real Estate Keller Williams Real Estate -Exton

DELAWARE County
Homes for Sale

Home for Sale
14 CHESTNUT RD
NEWTOWN SQUARE, PA 19073
$279,900
Beds: 3  Baths: 2
Real Estate RE/MAX Main Line-West Chester

MONTGOMERY County
Homes for Sale

Home for Sale
296 CONTINENTAL DR
POTTSTOWN, PA 19464
$289,900
Beds: 3  Baths: 2
Real Estate New Trend Realty

PHILADELPHIA County
Homes for Sale

Home for Sale
4807 N 13TH ST
PHILADELPHIA, PA 19141
$165,000
Beds: 3  Baths: 2
Real Estate BHHS Fox & Roach-Gladwyne

With Home Marketsite, Sellers SAVE up to 50% ON LISTING FEES while enjoying the highest level of service provided by Local REALTORS. We list, market, negotiate and coordinate every detail to bring your property to close – but charge less than most others. Find Pennsylvania Real Estate, MY Home Value PA, PA Home Price and more.

Buyers get access to the newest listings, the latest mobile Apps and our popular Cash-Back rebate program. Come see how you will Take MORE Home!™ and start your Home Search today.

The data relating to real estate for sale on this website appears in part through the TREND Internet Data Exchange program, a voluntary cooperative exchange of property listing data between licensed real estate brokerage firms in which Home Marketsite participates, and is provided by TREND through a licensing agreement. The information provided by this website is for the personal, non-commercial use of consumers and may not be used for any purpose other than to identify prospective properties consumers may be interested in purchasing. Some properties which appear for sale on this website may no longer be available because they are under contract, have sold or are no longer being offered for sale.

©2015 TREND, all rights reserved. Information deemed reliable, but not guaranteed.

This data is updated throughout the day. Some properties which appear for sale on this web site may subsequently have sold and may no longer be available.


PUBLISHER’S NOTICE: All Pennsylvania Real Estate advertised herein is subject to the Federal Fair Housing Act, which Acts make it illegal to make or publish any advertisement that indicates any preference, limitation, or discrimination based on race, color, religion, sex, handicap, family status, or national origin.

Schedule Your Showing
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX3NhZmFyaSBnZl9icm93c2VyX2lwaG9uZSBnZm9ybV93cmFwcGVyJyBpZD0nZ2Zvcm1fd3JhcHBlcl8zJyA+PGEgaWQ9J2dmXzMnIGNsYXNzPSdnZm9ybV9hbmNob3InID48L2E+PGZvcm0gbWV0aG9kPSdwb3N0JyBlbmN0eXBlPSdtdWx0aXBhcnQvZm9ybS1kYXRhJyB0YXJnZXQ9J2dmb3JtX2FqYXhfZnJhbWVfMycgaWQ9J2dmb3JtXzMnICBhY3Rpb249Jy8jZ2ZfMyc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2hlYWRpbmcnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPSdnZm9ybV90aXRsZSc+WUVTLCBJJ2QgbGlrZSB0byBzZWUgdGhpcyBwcm9wZXJ0eS48L2gzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9J2dmb3JtX2Rlc2NyaXB0aW9uJz5QbGVhc2UgbGV0IHVzIGtub3cgd2hhdCBkYXkvdGltZSB3b3JrcyBiZXN0IHRvIHNlZSB0aGlzIHByb3BlcnR5LiBXZSdyZSByZWFkeSB3aGVuIHlvdSBhcmUgJiBoZXJlIHRvIGhlbHAhPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fYm9keSc+PHVsIGlkPSdnZm9ybV9maWVsZHNfMycgY2xhc3M9J2dmb3JtX2ZpZWxkcyB0b3BfbGFiZWwgZm9ybV9zdWJsYWJlbF9iZWxvdyBkZXNjcmlwdGlvbl9iZWxvdyc+PGxpIGlkPSdmaWVsZF8zXzEnIGNsYXNzPSdnZmllbGQgZ2ZfbGlzdF9oZWlnaHRfMjUgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8zXzFfMycgPk5hbWU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb21wbGV4IGdpbnB1dF9jb250YWluZXIgbm9fcHJlZml4IGhhc19maXJzdF9uYW1lIG5vX21pZGRsZV9uYW1lIGhhc19sYXN0X25hbWUgbm9fc3VmZml4JyBpZD0naW5wdXRfM18xJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9J2lucHV0XzNfMV8zX2NvbnRhaW5lcicgY2xhc3M9J25hbWVfZmlyc3QnID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSd0ZXh0JyBuYW1lPSdpbnB1dF8xLjMnIGlkPSdpbnB1dF8zXzFfMycgdmFsdWU9JycgYXJpYS1sYWJlbD0nRmlyc3QgbmFtZScgdGFiaW5kZXg9JzInICBwbGFjZWhvbGRlcj0nRmlyc3QgTmFtZScvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0naW5wdXRfM18xXzMnID5GaXJzdCBOYW1lPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD0naW5wdXRfM18xXzZfY29udGFpbmVyJyBjbGFzcz0nbmFtZV9sYXN0JyA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0naW5wdXRfMS42JyBpZD0naW5wdXRfM18xXzYnIHZhbHVlPScnIGFyaWEtbGFiZWw9J0xhc3QgbmFtZScgdGFiaW5kZXg9JzQnICBwbGFjZWhvbGRlcj0nTGFzdCBOYW1lJy8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSdpbnB1dF8zXzFfNicgPkxhc3QgTmFtZTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfM18yJyBjbGFzcz0nZ2ZpZWxkIGdmX2xlZnRfaGFsZiBnZl9saXN0X2hlaWdodF8yNSBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzNfMicgPkVtYWlsPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBuYW1lPSdpbnB1dF8yJyBpZD0naW5wdXRfM18yJyB0eXBlPSdlbWFpbCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgdGFiaW5kZXg9JzYnICAgcGxhY2Vob2xkZXI9J0VtYWlsIEFkZHJlc3MnLz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzNfMycgY2xhc3M9J2dmaWVsZCBnZl9yaWdodF9oYWxmIGdmX2xpc3RfaGVpZ2h0XzI1IGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfM18zJyA+UGhvbmU8L2xhYmVsPjxkaXYgY2xhc3M9J2dpbnB1dF9jb250YWluZXInPjxpbnB1dCBuYW1lPSdpbnB1dF8zJyBpZD0naW5wdXRfM18zJyB0eXBlPSd0ZXh0JyB2YWx1ZT0nJyBjbGFzcz0nbWVkaXVtJyAgdGFiaW5kZXg9JzcnICAgLz48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfM184JyBjbGFzcz0nZ2ZpZWxkIGdmX2xlZnRfaGFsZiBnZl9saXN0X2hlaWdodF8yNSBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzNfOCcgPkRheSBvZiBXZWVrPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48c2VsZWN0IG5hbWU9J2lucHV0XzgnIGlkPSdpbnB1dF8zXzgnICBjbGFzcz0nbWVkaXVtIGdmaWVsZF9zZWxlY3QnIHRhYmluZGV4PSc4JyA+PG9wdGlvbiB2YWx1ZT0nTW9uZGF5JyA+TW9uZGF5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVHVlc2RheScgPlR1ZXNkYXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdXZWRuZXNkYXknID5XZWRuZXNkYXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdUaHVyc2RheScgPlRodXJzZGF5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nRnJpZGF5JyA+RnJpZGF5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nU2F0dXJkYXknID5TYXR1cmRheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1N1bmRheScgPlN1bmRheTwvb3B0aW9uPjwvc2VsZWN0PjwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8zXzYnIGNsYXNzPSdnZmllbGQgZ2ZfcmlnaHRfaGFsZiBnZl9oaWRlX2FtcG0gZ2ZfbGlzdF9oZWlnaHRfMjUgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8zXzZfMScgPlRpbWU8L2xhYmVsPjxkaXYgY2xhc3M9J2NsZWFyLW11bHRpJz4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZ2ZpZWxkX3RpbWVfaG91ciBnaW5wdXRfY29udGFpbmVyJyBpZD0naW5wdXRfM182Jz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdudW1iZXInIG1heGxlbmd0aD0nMicgbmFtZT0naW5wdXRfNltdJyBpZD0naW5wdXRfM182XzEnIHZhbHVlPScnIHRhYmluZGV4PSc5JyBtaW49JzAnIG1heD0nMTInIHN0ZXA9JzEnICBwbGFjZWhvbGRlcj0nSEgnLz4gPGk+OjwvaT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9J2lucHV0XzNfNl8xJyA+SEg8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZ2ZpZWxkX3RpbWVfbWludXRlIGdpbnB1dF9jb250YWluZXInPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9J251bWJlcicgbWF4bGVuZ3RoPScyJyBuYW1lPSdpbnB1dF82W10nIGlkPSdpbnB1dF8zXzZfMicgdmFsdWU9JycgdGFiaW5kZXg9JzEwJyBtaW49JzAnIG1heD0nNTknIHN0ZXA9JzEnICBwbGFjZWhvbGRlcj0nTU0nLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9J2lucHV0XzNfNl8yJyA+TU08L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZ2ZpZWxkX3RpbWVfYW1wbSBnaW5wdXRfY29udGFpbmVyJyA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0naW5wdXRfNltdJyBpZD0naW5wdXRfM182XzMnIHRhYmluZGV4PScxMScgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0nYW0nID5BTTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ncG0nID5QTTwvb3B0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8zXzcnIGNsYXNzPSdnZmllbGQgZmllbGRfYWRtaW5fb25seSBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxpbnB1dCBuYW1lPSdpbnB1dF83JyBpZD0naW5wdXRfM183JyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyB0eXBlPSdoaWRkZW4nIHZhbHVlPSdZZXMsIEkgd291bGQgbGlrZSB0byBzY2hlZHVsZSBhIHNob3dpbmcgdG8gc2VlIHRoaXMgcHJvcGVydHkuIFRoYW5rcy4KCkZvciBtb3JlIGluZm9ybWF0aW9uLCBoZXJlJiMwMzk7cyBhIGxpbmsgdG8gdGhlIGxpc3Rpbmc6IGh0dHA6Ly9obXNyZS5jb20vJy8+PC9saT48bGkgaWQ9J2ZpZWxkXzNfOScgY2xhc3M9J2dmaWVsZCBnZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzNfOScgPkNvbW1lbnRzPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfOScgaWQ9J2lucHV0XzNfOScgdHlwZT0ndGV4dCcgdmFsdWU9JycgYXV0b2NvbXBsZXRlPSdvZmYnLz48L2Rpdj48ZGl2IGNsYXNzPSdnZmllbGRfZGVzY3JpcHRpb24nPlRoaXMgZmllbGQgaXMgZm9yIHZhbGlkYXRpb24gcHVycG9zZXMgYW5kIHNob3VsZCBiZSBsZWZ0IHVuY2hhbmdlZC48L2Rpdj48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9mb290ZXIgdG9wX2xhYmVsJz4gPGlucHV0IHR5cGU9J2ltYWdlJyBzcmM9Jy93cHJhZG1pbi90ZW1wbGF0ZS9jdXN0b20vaW1hZ2VzL1N1Ym1pdEJ1dHRvbi0xMjBYNDAucG5nJyBpZD0nZ2Zvcm1fc3VibWl0X2J1dHRvbl8zJyBjbGFzcz0nZ2Zvcm1fYnV0dG9uIGdmb3JtX2ltYWdlX2J1dHRvbicgYWx0PSdTdWJtaXQnIHRhYmluZGV4PScxMicgb25jbGljaz0naWYod2luZG93WyJnZl9zdWJtaXR0aW5nXzMiXSl7cmV0dXJuIGZhbHNlO30gIGlmKCAhalF1ZXJ5KCIjZ2Zvcm1fMyIpWzBdLmNoZWNrVmFsaWRpdHkgfHwgalF1ZXJ5KCIjZ2Zvcm1fMyIpWzBdLmNoZWNrVmFsaWRpdHkoKSl7d2luZG93WyJnZl9zdWJtaXR0aW5nXzMiXT10cnVlO30gICcgLz4gPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZ2Zvcm1fYWpheCcgdmFsdWU9J2Zvcm1faWQ9MyZhbXA7dGl0bGU9MSZhbXA7ZGVzY3JpcHRpb249MSZhbXA7dGFiaW5kZXg9MScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0naXNfc3VibWl0XzMnIHZhbHVlPScxJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zdWJtaXQnIHZhbHVlPSczJyAvPgogICAgICAgICAgICAKICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fdW5pcXVlX2lkJyB2YWx1ZT0nJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdzdGF0ZV8zJyB2YWx1ZT0nV3lKYlhTSXNJalF6TldWaE16RTJNRGs1TVRVMllUQXpNamxsT1RVeFpqZ3hPRGxoT1dGaElsMD0nIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8zJyBpZD0nZ2Zvcm1fdGFyZ2V0X3BhZ2VfbnVtYmVyXzMnIHZhbHVlPScwJyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMycgaWQ9J2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8zJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgbmFtZT0nZ2Zvcm1fZmllbGRfdmFsdWVzJyB2YWx1ZT0nJyAvPgogICAgICAgICAgICAKICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxpZnJhbWUgc3R5bGU9J2Rpc3BsYXk6bm9uZTt3aWR0aDowcHg7aGVpZ2h0OjBweDsnIHNyYz0nYWJvdXQ6YmxhbmsnIG5hbWU9J2dmb3JtX2FqYXhfZnJhbWVfMycgaWQ9J2dmb3JtX2FqYXhfZnJhbWVfMycgdGl0bGU9J0FqYXggRnJhbWUnPjwvaWZyYW1lPgogICAgICAgICAgICAgICAgPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPmpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oJCl7Z2Zvcm1Jbml0U3Bpbm5lciggMywgJ2h0dHA6Ly9obXNyZS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KCcjZ2Zvcm1fYWpheF9mcmFtZV8zJykubG9hZCggZnVuY3Rpb24oKXt2YXIgY29udGVudHMgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcqJykuaHRtbCgpO3ZhciBpc19wb3N0YmFjayA9IGNvbnRlbnRzLmluZGV4T2YoJ0dGX0FKQVhfUE9TVEJBQ0snKSA+PSAwO2lmKCFpc19wb3N0YmFjayl7cmV0dXJuO312YXIgZm9ybV9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX3dyYXBwZXJfMycpO3ZhciBpc19jb25maXJtYXRpb24gPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXJfMycpLmxlbmd0aCA+IDA7dmFyIGlzX3JlZGlyZWN0ID0gY29udGVudHMuaW5kZXhPZignZ2Zvcm1SZWRpcmVjdCgpeycpID49IDA7dmFyIGlzX2Zvcm0gPSBmb3JtX2NvbnRlbnQubGVuZ3RoID4gMCAmJiAhIGlzX3JlZGlyZWN0ICYmICEgaXNfY29uZmlybWF0aW9uO2lmKGlzX2Zvcm0pe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMycpLmh0bWwoZm9ybV9jb250ZW50Lmh0bWwoKSk7c2V0VGltZW91dCggZnVuY3Rpb24oKSB7IC8qIGRlbGF5IHRoZSBzY3JvbGwgYnkgNTAgbWlsbGlzZWNvbmRzIHRvIGZpeCBhIGJ1ZyBpbiBjaHJvbWUgKi8galF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8zJykub2Zmc2V0KCkudG9wKTsgfSwgNTAgKTtpZih3aW5kb3dbJ2dmb3JtSW5pdERhdGVwaWNrZXInXSkge2dmb3JtSW5pdERhdGVwaWNrZXIoKTt9aWYod2luZG93WydnZm9ybUluaXRQcmljZUZpZWxkcyddKSB7Z2Zvcm1Jbml0UHJpY2VGaWVsZHMoKTt9dmFyIGN1cnJlbnRfcGFnZSA9IGpRdWVyeSgnI2dmb3JtX3NvdXJjZV9wYWdlX251bWJlcl8zJykudmFsKCk7Z2Zvcm1Jbml0U3Bpbm5lciggMywgJ2h0dHA6Ly9obXNyZS5jb20vd3AtY29udGVudC9wbHVnaW5zL2dyYXZpdHlmb3Jtcy9pbWFnZXMvc3Bpbm5lci5naWYnICk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wYWdlX2xvYWRlZCcsIFszLCBjdXJyZW50X3BhZ2VdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMyddID0gZmFsc2U7fWVsc2UgaWYoIWlzX3JlZGlyZWN0KXt2YXIgY29uZmlybWF0aW9uX2NvbnRlbnQgPSBqUXVlcnkodGhpcykuY29udGVudHMoKS5maW5kKCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzMnKS5odG1sKCk7aWYoIWNvbmZpcm1hdGlvbl9jb250ZW50KXtjb25maXJtYXRpb25fY29udGVudCA9IGNvbnRlbnRzO31zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7alF1ZXJ5KCcjZ2Zvcm1fd3JhcHBlcl8zJykucmVwbGFjZVdpdGgoJzwnICsgJ2RpdiBpZD1cJ2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8zXCcgY2xhc3M9XCdnZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZV8zIGdmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZVwnJyArICc+JyArIGNvbmZpcm1hdGlvbl9jb250ZW50ICsgJzwnICsgJy9kaXYnICsgJz4nKTtqUXVlcnkoZG9jdW1lbnQpLnNjcm9sbFRvcChqUXVlcnkoJyNnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfMycpLm9mZnNldCgpLnRvcCk7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9jb25maXJtYXRpb25fbG9hZGVkJywgWzNdKTt3aW5kb3dbJ2dmX3N1Ym1pdHRpbmdfMyddID0gZmFsc2U7fSwgNTApO31lbHNle2pRdWVyeSgnI2dmb3JtXzMnKS5hcHBlbmQoY29udGVudHMpO2lmKHdpbmRvd1snZ2Zvcm1SZWRpcmVjdCddKSB7Z2Zvcm1SZWRpcmVjdCgpO319alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFszLCBjdXJyZW50X3BhZ2VdKTt9ICk7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4gaWYodHlwZW9mIGdmX2dsb2JhbCA9PSAndW5kZWZpbmVkJykgdmFyIGdmX2dsb2JhbCA9IHsiZ2ZfY3VycmVuY3lfY29uZmlnIjp7Im5hbWUiOiJVLlMuIERvbGxhciIsInN5bWJvbF9sZWZ0IjoiJCIsInN5bWJvbF9yaWdodCI6IiIsInN5bWJvbF9wYWRkaW5nIjoiIiwidGhvdXNhbmRfc2VwYXJhdG9yIjoiLCIsImRlY2ltYWxfc2VwYXJhdG9yIjoiLiIsImRlY2ltYWxzIjoyfSwiYmFzZV91cmwiOiJodHRwOlwvXC9obXNyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3JtcyIsIm51bWJlcl9mb3JtYXRzIjpbXSwic3Bpbm5lclVybCI6Imh0dHA6XC9cL2htc3JlLmNvbVwvd3AtY29udGVudFwvcGx1Z2luc1wvZ3Jhdml0eWZvcm1zXC9pbWFnZXNcL3NwaW5uZXIuZ2lmIn07alF1ZXJ5KGRvY3VtZW50KS5iaW5kKCdnZm9ybV9wb3N0X3JlbmRlcicsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGN1cnJlbnRQYWdlKXtpZihmb3JtSWQgPT0gMykge2lmKCEvKGFuZHJvaWQpL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSl7alF1ZXJ5KCcjaW5wdXRfM18zJykubWFzaygnKDk5OSkgOTk5LTk5OTknKS5iaW5kKCdrZXlwcmVzcycsIGZ1bmN0aW9uKGUpe2lmKGUud2hpY2ggPT0gMTMpe2pRdWVyeSh0aGlzKS5ibHVyKCk7fSB9ICk7fWlmKHR5cGVvZiBQbGFjZWhvbGRlcnMgIT0gJ3VuZGVmaW5lZCcpewogICAgICAgICAgICAgICAgICAgICAgICBQbGFjZWhvbGRlcnMuZW5hYmxlKCk7CiAgICAgICAgICAgICAgICAgICAgfX0gfSApO2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9jb25kaXRpb25hbF9sb2dpYycsIGZ1bmN0aW9uKGV2ZW50LCBmb3JtSWQsIGZpZWxkcywgaXNJbml0KXt9ICk7PC9zY3JpcHQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCdnZm9ybV9wb3N0X3JlbmRlcicsIFszLCAxXSkgfSApOyA8L3NjcmlwdD4=