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

BERKS County
Homes for Sale

Home for Sale
530 PENN VALLEY RD
BERNVILLE, PA 19506
$675,000
Beds: 3  Baths: 2
Real Estate Berkshire Hathaway Homesale Realty – Wyomissing

BUCKS County
Homes for Sale

Home for Sale
408 WYOMING AVE
LANGHORNE, PA 19047
$248,000
Beds: 4  Baths: 1
Real Estate Keller Williams Real Estate-Langhorne

CHESTER County
Homes for Sale

Home for Sale
515 POLO RUN
WEST CHESTER, PA 19380
$494,900
Beds: 4  Baths: 2
Real Estate BHHS Fox & Roach-Devon

DELAWARE County
Homes for Sale

Home for Sale
494 PAXON HOLLOW RD
BROOMALL, PA 19008
$649,500
Beds: 5  Baths: 4
Real Estate Michael Singer Real Estate

MONTGOMERY County
Homes for Sale

Home for Sale
221 BICKLEY RD
GLENSIDE, PA 19038
$179,000
Beds: 5  Baths: 1
Real Estate RE/MAX Keystone

PHILADELPHIA County
Homes for Sale

Home for Sale
1138 ALTON PL
PHILADELPHIA, PA 19115
$215,900
Beds: 3  Baths: 2
Real Estate Keller Williams Real Estate-Langhorne

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
CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZl9icm93c2VyX3Vua25vd24gZ2Zvcm1fd3JhcHBlcicgaWQ9J2dmb3JtX3dyYXBwZXJfMycgPjxhIGlkPSdnZl8zJyBjbGFzcz0nZ2Zvcm1fYW5jaG9yJyA+PC9hPjxmb3JtIG1ldGhvZD0ncG9zdCcgZW5jdHlwZT0nbXVsdGlwYXJ0L2Zvcm0tZGF0YScgdGFyZ2V0PSdnZm9ybV9hamF4X2ZyYW1lXzMnIGlkPSdnZm9ybV8zJyAgYWN0aW9uPScvI2dmXzMnPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdnZm9ybV9oZWFkaW5nJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBjbGFzcz0nZ2Zvcm1fdGl0bGUnPllFUywgSSdkIGxpa2UgdG8gc2VlIHRoaXMgcHJvcGVydHkuPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSdnZm9ybV9kZXNjcmlwdGlvbic+UGxlYXNlIGxldCB1cyBrbm93IHdoYXQgZGF5L3RpbWUgd29ya3MgYmVzdCB0byBzZWUgdGhpcyBwcm9wZXJ0eS4gV2UncmUgcmVhZHkgd2hlbiB5b3UgYXJlICYgaGVyZSB0byBoZWxwITwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmb3JtX2JvZHknPjx1bCBpZD0nZ2Zvcm1fZmllbGRzXzMnIGNsYXNzPSdnZm9ybV9maWVsZHMgdG9wX2xhYmVsIGZvcm1fc3VibGFiZWxfYmVsb3cgZGVzY3JpcHRpb25fYmVsb3cnPjxsaSBpZD0nZmllbGRfM18xJyBjbGFzcz0nZ2ZpZWxkIGdmX2xpc3RfaGVpZ2h0XzI1IGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfM18xXzMnID5OYW1lPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29tcGxleCBnaW5wdXRfY29udGFpbmVyIG5vX3ByZWZpeCBoYXNfZmlyc3RfbmFtZSBub19taWRkbGVfbmFtZSBoYXNfbGFzdF9uYW1lIG5vX3N1ZmZpeCcgaWQ9J2lucHV0XzNfMSc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPSdpbnB1dF8zXzFfM19jb250YWluZXInIGNsYXNzPSduYW1lX2ZpcnN0JyA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0naW5wdXRfMS4zJyBpZD0naW5wdXRfM18xXzMnIHZhbHVlPScnIGFyaWEtbGFiZWw9J0ZpcnN0IG5hbWUnIHRhYmluZGV4PScyJyAgcGxhY2Vob2xkZXI9J0ZpcnN0IE5hbWUnLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9J2lucHV0XzNfMV8zJyA+Rmlyc3QgTmFtZTwvbGFiZWw+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9J2lucHV0XzNfMV82X2NvbnRhaW5lcicgY2xhc3M9J25hbWVfbGFzdCcgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9J3RleHQnIG5hbWU9J2lucHV0XzEuNicgaWQ9J2lucHV0XzNfMV82JyB2YWx1ZT0nJyBhcmlhLWxhYmVsPSdMYXN0IG5hbWUnIHRhYmluZGV4PSc0JyAgcGxhY2Vob2xkZXI9J0xhc3QgTmFtZScvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj0naW5wdXRfM18xXzYnID5MYXN0IE5hbWU8L2xhYmVsPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzNfMicgY2xhc3M9J2dmaWVsZCBnZl9sZWZ0X2hhbGYgZ2ZfbGlzdF9oZWlnaHRfMjUgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8zXzInID5FbWFpbDwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbmFtZT0naW5wdXRfMicgaWQ9J2lucHV0XzNfMicgdHlwZT0nZW1haWwnIHZhbHVlPScnIGNsYXNzPSdtZWRpdW0nIHRhYmluZGV4PSc2JyAgIHBsYWNlaG9sZGVyPSdFbWFpbCBBZGRyZXNzJy8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PjwvbGk+PGxpIGlkPSdmaWVsZF8zXzMnIGNsYXNzPSdnZmllbGQgZ2ZfcmlnaHRfaGFsZiBnZl9saXN0X2hlaWdodF8yNSBmaWVsZF9zdWJsYWJlbF9iZWxvdyBmaWVsZF9kZXNjcmlwdGlvbl9iZWxvdycgPjxsYWJlbCBjbGFzcz0nZ2ZpZWxkX2xhYmVsJyBmb3I9J2lucHV0XzNfMycgPlBob25lPC9sYWJlbD48ZGl2IGNsYXNzPSdnaW5wdXRfY29udGFpbmVyJz48aW5wdXQgbmFtZT0naW5wdXRfMycgaWQ9J2lucHV0XzNfMycgdHlwZT0ndGV4dCcgdmFsdWU9JycgY2xhc3M9J21lZGl1bScgIHRhYmluZGV4PSc3JyAgIC8+PC9kaXY+PC9saT48bGkgaWQ9J2ZpZWxkXzNfOCcgY2xhc3M9J2dmaWVsZCBnZl9sZWZ0X2hhbGYgZ2ZfbGlzdF9oZWlnaHRfMjUgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8zXzgnID5EYXkgb2YgV2VlazwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PHNlbGVjdCBuYW1lPSdpbnB1dF84JyBpZD0naW5wdXRfM184JyAgY2xhc3M9J21lZGl1bSBnZmllbGRfc2VsZWN0JyB0YWJpbmRleD0nOCcgPjxvcHRpb24gdmFsdWU9J01vbmRheScgPk1vbmRheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1R1ZXNkYXknID5UdWVzZGF5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nV2VkbmVzZGF5JyA+V2VkbmVzZGF5PC9vcHRpb24+PG9wdGlvbiB2YWx1ZT0nVGh1cnNkYXknID5UaHVyc2RheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J0ZyaWRheScgPkZyaWRheTwvb3B0aW9uPjxvcHRpb24gdmFsdWU9J1NhdHVyZGF5JyA+U2F0dXJkYXk8L29wdGlvbj48b3B0aW9uIHZhbHVlPSdTdW5kYXknID5TdW5kYXk8L29wdGlvbj48L3NlbGVjdD48L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfM182JyBjbGFzcz0nZ2ZpZWxkIGdmX3JpZ2h0X2hhbGYgZ2ZfaGlkZV9hbXBtIGdmX2xpc3RfaGVpZ2h0XzI1IGZpZWxkX3N1YmxhYmVsX2JlbG93IGZpZWxkX2Rlc2NyaXB0aW9uX2JlbG93JyA+PGxhYmVsIGNsYXNzPSdnZmllbGRfbGFiZWwnIGZvcj0naW5wdXRfM182XzEnID5UaW1lPC9sYWJlbD48ZGl2IGNsYXNzPSdjbGVhci1tdWx0aSc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmaWVsZF90aW1lX2hvdXIgZ2lucHV0X2NvbnRhaW5lcicgaWQ9J2lucHV0XzNfNic+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0nbnVtYmVyJyBtYXhsZW5ndGg9JzInIG5hbWU9J2lucHV0XzZbXScgaWQ9J2lucHV0XzNfNl8xJyB2YWx1ZT0nJyB0YWJpbmRleD0nOScgbWluPScwJyBtYXg9JzEyJyBzdGVwPScxJyAgcGxhY2Vob2xkZXI9J0hIJy8+IDxpPjo8L2k+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSdpbnB1dF8zXzZfMScgPkhIPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmaWVsZF90aW1lX21pbnV0ZSBnaW5wdXRfY29udGFpbmVyJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdudW1iZXInIG1heGxlbmd0aD0nMicgbmFtZT0naW5wdXRfNltdJyBpZD0naW5wdXRfM182XzInIHZhbHVlPScnIHRhYmluZGV4PScxMCcgbWluPScwJyBtYXg9JzU5JyBzdGVwPScxJyAgcGxhY2Vob2xkZXI9J01NJy8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSdpbnB1dF8zXzZfMicgPk1NPC9sYWJlbD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9J2dmaWVsZF90aW1lX2FtcG0gZ2lucHV0X2NvbnRhaW5lcicgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0IG5hbWU9J2lucHV0XzZbXScgaWQ9J2lucHV0XzNfNl8zJyB0YWJpbmRleD0nMTEnID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9J2FtJyA+QU08L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9J3BtJyA+UE08L29wdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj48L2xpPjxsaSBpZD0nZmllbGRfM183JyBjbGFzcz0nZ2ZpZWxkIGZpZWxkX2FkbWluX29ubHkgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48aW5wdXQgbmFtZT0naW5wdXRfNycgaWQ9J2lucHV0XzNfNycgY2xhc3M9J2dmb3JtX2hpZGRlbicgdHlwZT0naGlkZGVuJyB2YWx1ZT0nWWVzLCBJIHdvdWxkIGxpa2UgdG8gc2NoZWR1bGUgYSBzaG93aW5nIHRvIHNlZSB0aGlzIHByb3BlcnR5LiBUaGFua3MuCgpGb3IgbW9yZSBpbmZvcm1hdGlvbiwgaGVyZSYjMDM5O3MgYSBsaW5rIHRvIHRoZSBsaXN0aW5nOiBodHRwOi8vLycvPjwvbGk+PGxpIGlkPSdmaWVsZF8zXzknIGNsYXNzPSdnZmllbGQgZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIgZmllbGRfc3VibGFiZWxfYmVsb3cgZmllbGRfZGVzY3JpcHRpb25fYmVsb3cnID48bGFiZWwgY2xhc3M9J2dmaWVsZF9sYWJlbCcgZm9yPSdpbnB1dF8zXzknID5FbWFpbDwvbGFiZWw+PGRpdiBjbGFzcz0nZ2lucHV0X2NvbnRhaW5lcic+PGlucHV0IG5hbWU9J2lucHV0XzknIGlkPSdpbnB1dF8zXzknIHR5cGU9J3RleHQnIHZhbHVlPScnIGF1dG9jb21wbGV0ZT0nb2ZmJy8+PC9kaXY+PGRpdiBjbGFzcz0nZ2ZpZWxkX2Rlc2NyaXB0aW9uJz5UaGlzIGZpZWxkIGlzIGZvciB2YWxpZGF0aW9uIHB1cnBvc2VzIGFuZCBzaG91bGQgYmUgbGVmdCB1bmNoYW5nZWQuPC9kaXY+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0nZ2Zvcm1fZm9vdGVyIHRvcF9sYWJlbCc+IDxpbnB1dCB0eXBlPSdpbWFnZScgc3JjPScvd3ByYWRtaW4vdGVtcGxhdGUvY3VzdG9tL2ltYWdlcy9TdWJtaXRCdXR0b24tMTIwWDQwLnBuZycgaWQ9J2dmb3JtX3N1Ym1pdF9idXR0b25fMycgY2xhc3M9J2dmb3JtX2J1dHRvbiBnZm9ybV9pbWFnZV9idXR0b24nIGFsdD0nU3VibWl0JyB0YWJpbmRleD0nMTInIG9uY2xpY2s9J2lmKHdpbmRvd1siZ2Zfc3VibWl0dGluZ18zIl0pe3JldHVybiBmYWxzZTt9ICBpZiggIWpRdWVyeSgiI2dmb3JtXzMiKVswXS5jaGVja1ZhbGlkaXR5IHx8IGpRdWVyeSgiI2dmb3JtXzMiKVswXS5jaGVja1ZhbGlkaXR5KCkpe3dpbmRvd1siZ2Zfc3VibWl0dGluZ18zIl09dHJ1ZTt9ICAnIC8+IDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2FqYXgnIHZhbHVlPSdmb3JtX2lkPTMmYW1wO3RpdGxlPTEmYW1wO2Rlc2NyaXB0aW9uPTEmYW1wO3RhYmluZGV4PTEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2lzX3N1Ym1pdF8zJyB2YWx1ZT0nMScgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc3VibWl0JyB2YWx1ZT0nMycgLz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIGNsYXNzPSdnZm9ybV9oaWRkZW4nIG5hbWU9J2dmb3JtX3VuaXF1ZV9pZCcgdmFsdWU9JycgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nc3RhdGVfMycgdmFsdWU9J1d5SmJYU0lzSWpRek5XVmhNekUyTURrNU1UVTJZVEF6TWpsbE9UVXhaamd4T0RsaE9XRmhJbDA9JyAvPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0naGlkZGVuJyBjbGFzcz0nZ2Zvcm1faGlkZGVuJyBuYW1lPSdnZm9ybV90YXJnZXRfcGFnZV9udW1iZXJfMycgaWQ9J2dmb3JtX3RhcmdldF9wYWdlX251bWJlcl8zJyB2YWx1ZT0nMCcgLz4KICAgICAgICAgICAgPGlucHV0IHR5cGU9J2hpZGRlbicgY2xhc3M9J2dmb3JtX2hpZGRlbicgbmFtZT0nZ2Zvcm1fc291cmNlX3BhZ2VfbnVtYmVyXzMnIGlkPSdnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMycgdmFsdWU9JzEnIC8+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSdoaWRkZW4nIG5hbWU9J2dmb3JtX2ZpZWxkX3ZhbHVlcycgdmFsdWU9JycgLz4KICAgICAgICAgICAgCiAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8aWZyYW1lIHN0eWxlPSdkaXNwbGF5Om5vbmU7d2lkdGg6MHB4O2hlaWdodDowcHg7JyBzcmM9J2Fib3V0OmJsYW5rJyBuYW1lPSdnZm9ybV9hamF4X2ZyYW1lXzMnIGlkPSdnZm9ybV9hamF4X2ZyYW1lXzMnIHRpdGxlPSdBamF4IEZyYW1lJz48L2lmcmFtZT4KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5qUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCQpe2dmb3JtSW5pdFNwaW5uZXIoIDMsICdodHRwOi8vaG1zcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeSgnI2dmb3JtX2FqYXhfZnJhbWVfMycpLmxvYWQoIGZ1bmN0aW9uKCl7dmFyIGNvbnRlbnRzID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnKicpLmh0bWwoKTt2YXIgaXNfcG9zdGJhY2sgPSBjb250ZW50cy5pbmRleE9mKCdHRl9BSkFYX1BPU1RCQUNLJykgPj0gMDtpZighaXNfcG9zdGJhY2spe3JldHVybjt9dmFyIGZvcm1fY29udGVudCA9IGpRdWVyeSh0aGlzKS5jb250ZW50cygpLmZpbmQoJyNnZm9ybV93cmFwcGVyXzMnKTt2YXIgaXNfY29uZmlybWF0aW9uID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3JtX2NvbmZpcm1hdGlvbl93cmFwcGVyXzMnKS5sZW5ndGggPiAwO3ZhciBpc19yZWRpcmVjdCA9IGNvbnRlbnRzLmluZGV4T2YoJ2dmb3JtUmVkaXJlY3QoKXsnKSA+PSAwO3ZhciBpc19mb3JtID0gZm9ybV9jb250ZW50Lmxlbmd0aCA+IDAgJiYgISBpc19yZWRpcmVjdCAmJiAhIGlzX2NvbmZpcm1hdGlvbjtpZihpc19mb3JtKXtqUXVlcnkoJyNnZm9ybV93cmFwcGVyXzMnKS5odG1sKGZvcm1fY29udGVudC5odG1sKCkpO3NldFRpbWVvdXQoIGZ1bmN0aW9uKCkgeyAvKiBkZWxheSB0aGUgc2Nyb2xsIGJ5IDUwIG1pbGxpc2Vjb25kcyB0byBmaXggYSBidWcgaW4gY2hyb21lICovIGpRdWVyeShkb2N1bWVudCkuc2Nyb2xsVG9wKGpRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMycpLm9mZnNldCgpLnRvcCk7IH0sIDUwICk7aWYod2luZG93WydnZm9ybUluaXREYXRlcGlja2VyJ10pIHtnZm9ybUluaXREYXRlcGlja2VyKCk7fWlmKHdpbmRvd1snZ2Zvcm1Jbml0UHJpY2VGaWVsZHMnXSkge2dmb3JtSW5pdFByaWNlRmllbGRzKCk7fXZhciBjdXJyZW50X3BhZ2UgPSBqUXVlcnkoJyNnZm9ybV9zb3VyY2VfcGFnZV9udW1iZXJfMycpLnZhbCgpO2dmb3JtSW5pdFNwaW5uZXIoIDMsICdodHRwOi8vaG1zcmUuY29tL3dwLWNvbnRlbnQvcGx1Z2lucy9ncmF2aXR5Zm9ybXMvaW1hZ2VzL3NwaW5uZXIuZ2lmJyApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcGFnZV9sb2FkZWQnLCBbMywgY3VycmVudF9wYWdlXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzMnXSA9IGZhbHNlO31lbHNlIGlmKCFpc19yZWRpcmVjdCl7dmFyIGNvbmZpcm1hdGlvbl9jb250ZW50ID0galF1ZXJ5KHRoaXMpLmNvbnRlbnRzKCkuZmluZCgnI2dmb3Jtc19jb25maXJtYXRpb25fbWVzc2FnZV8zJykuaHRtbCgpO2lmKCFjb25maXJtYXRpb25fY29udGVudCl7Y29uZmlybWF0aW9uX2NvbnRlbnQgPSBjb250ZW50czt9c2V0VGltZW91dChmdW5jdGlvbigpe2pRdWVyeSgnI2dmb3JtX3dyYXBwZXJfMycpLnJlcGxhY2VXaXRoKCc8JyArICdkaXYgaWQ9XCdnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VfM1wnIGNsYXNzPVwnZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2VfMyBnZm9ybXNfY29uZmlybWF0aW9uX21lc3NhZ2VcJycgKyAnPicgKyBjb25maXJtYXRpb25fY29udGVudCArICc8JyArICcvZGl2JyArICc+Jyk7alF1ZXJ5KGRvY3VtZW50KS5zY3JvbGxUb3AoalF1ZXJ5KCcjZ2Zvcm1zX2NvbmZpcm1hdGlvbl9tZXNzYWdlXzMnKS5vZmZzZXQoKS50b3ApO2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fY29uZmlybWF0aW9uX2xvYWRlZCcsIFszXSk7d2luZG93WydnZl9zdWJtaXR0aW5nXzMnXSA9IGZhbHNlO30sIDUwKTt9ZWxzZXtqUXVlcnkoJyNnZm9ybV8zJykuYXBwZW5kKGNvbnRlbnRzKTtpZih3aW5kb3dbJ2dmb3JtUmVkaXJlY3QnXSkge2dmb3JtUmVkaXJlY3QoKTt9fWpRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMywgY3VycmVudF9wYWdlXSk7fSApO30gKTs8L3NjcmlwdD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+IGlmKHR5cGVvZiBnZl9nbG9iYWwgPT0gJ3VuZGVmaW5lZCcpIHZhciBnZl9nbG9iYWwgPSB7ImdmX2N1cnJlbmN5X2NvbmZpZyI6eyJuYW1lIjoiVS5TLiBEb2xsYXIiLCJzeW1ib2xfbGVmdCI6IiQiLCJzeW1ib2xfcmlnaHQiOiIiLCJzeW1ib2xfcGFkZGluZyI6IiIsInRob3VzYW5kX3NlcGFyYXRvciI6IiwiLCJkZWNpbWFsX3NlcGFyYXRvciI6Ii4iLCJkZWNpbWFscyI6Mn0sImJhc2VfdXJsIjoiaHR0cDpcL1wvaG1zcmUuY29tXC93cC1jb250ZW50XC9wbHVnaW5zXC9ncmF2aXR5Zm9ybXMiLCJudW1iZXJfZm9ybWF0cyI6W10sInNwaW5uZXJVcmwiOiJodHRwOlwvXC9obXNyZS5jb21cL3dwLWNvbnRlbnRcL3BsdWdpbnNcL2dyYXZpdHlmb3Jtc1wvaW1hZ2VzXC9zcGlubmVyLmdpZiJ9O2pRdWVyeShkb2N1bWVudCkuYmluZCgnZ2Zvcm1fcG9zdF9yZW5kZXInLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBjdXJyZW50UGFnZSl7aWYoZm9ybUlkID09IDMpIHtpZighLyhhbmRyb2lkKS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpe2pRdWVyeSgnI2lucHV0XzNfMycpLm1hc2soJyg5OTkpIDk5OS05OTk5JykuYmluZCgna2V5cHJlc3MnLCBmdW5jdGlvbihlKXtpZihlLndoaWNoID09IDEzKXtqUXVlcnkodGhpcykuYmx1cigpO30gfSApO31pZih0eXBlb2YgUGxhY2Vob2xkZXJzICE9ICd1bmRlZmluZWQnKXsKICAgICAgICAgICAgICAgICAgICAgICAgUGxhY2Vob2xkZXJzLmVuYWJsZSgpOwogICAgICAgICAgICAgICAgICAgIH19IH0gKTtqUXVlcnkoZG9jdW1lbnQpLmJpbmQoJ2dmb3JtX3Bvc3RfY29uZGl0aW9uYWxfbG9naWMnLCBmdW5jdGlvbihldmVudCwgZm9ybUlkLCBmaWVsZHMsIGlzSW5pdCl7fSApOzwvc2NyaXB0PjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpe2pRdWVyeShkb2N1bWVudCkudHJpZ2dlcignZ2Zvcm1fcG9zdF9yZW5kZXInLCBbMywgMV0pIH0gKTsgPC9zY3JpcHQ+