dallascityhall.com
Open in
urlscan Pro
66.97.145.100
Public Scan
Submitted URL: http://dallascityhall.com/
Effective URL: https://dallascityhall.com/Pages/default.aspx
Submission: On May 12 via manual from IN — Scanned from DE
Effective URL: https://dallascityhall.com/Pages/default.aspx
Submission: On May 12 via manual from IN — Scanned from DE
Form analysis
1 forms found in the DOMPOST /Pages/default.aspx
<form method="post" action="/Pages/default.aspx" id="aspnetForm" onsubmit="if (typeof(_spFormOnSubmitWrapper) != 'undefined') {return _spFormOnSubmitWrapper();} else {return true;}">
<div class="aspNetHidden">
<input type="hidden" name="_wpcmWpid" id="_wpcmWpid" value="">
<input type="hidden" name="wpcmVal" id="wpcmVal" value="">
<input type="hidden" name="MSOWebPartPage_PostbackSource" id="MSOWebPartPage_PostbackSource" value="">
<input type="hidden" name="MSOTlPn_SelectedWpId" id="MSOTlPn_SelectedWpId" value="">
<input type="hidden" name="MSOTlPn_View" id="MSOTlPn_View" value="0">
<input type="hidden" name="MSOTlPn_ShowSettings" id="MSOTlPn_ShowSettings" value="False">
<input type="hidden" name="MSOGallery_SelectedLibrary" id="MSOGallery_SelectedLibrary" value="">
<input type="hidden" name="MSOGallery_FilterString" id="MSOGallery_FilterString" value="">
<input type="hidden" name="MSOTlPn_Button" id="MSOTlPn_Button" value="none">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
<input type="hidden" name="__REQUESTDIGEST" id="__REQUESTDIGEST" value="0xF1EA7E66143E62F61E0C5885365017BBCCF15CF04CEE6E03DA8B2C55E6DA1851D8F742A796B62EC2F0B1D5EC59A5418E5E0266C3D5D8E76C8DFC5EF441CA4DEF,12 May 2023 09:49:56 -0000">
<input type="hidden" name="MSOSPWebPartManager_DisplayModeName" id="MSOSPWebPartManager_DisplayModeName" value="Browse">
<input type="hidden" name="MSOSPWebPartManager_ExitingDesignMode" id="MSOSPWebPartManager_ExitingDesignMode" value="false">
<input type="hidden" name="MSOWebPartPage_Shared" id="MSOWebPartPage_Shared" value="">
<input type="hidden" name="MSOLayout_LayoutChanges" id="MSOLayout_LayoutChanges" value="">
<input type="hidden" name="MSOLayout_InDesignMode" id="MSOLayout_InDesignMode" value="">
<input type="hidden" name="_wpSelected" id="_wpSelected" value="">
<input type="hidden" name="_wzSelected" id="_wzSelected" value="">
<input type="hidden" name="MSOSPWebPartManager_OldDisplayModeName" id="MSOSPWebPartManager_OldDisplayModeName" value="Browse">
<input type="hidden" name="MSOSPWebPartManager_StartWebPartEditingName" id="MSOSPWebPartManager_StartWebPartEditingName" value="false">
<input type="hidden" name="MSOSPWebPartManager_EndWebPartEditing" id="MSOSPWebPartManager_EndWebPartEditing" value="false">
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUBMA9kFgJmD2QWAgIBD2QWBAIBD2QWBgIRD2QWAmYPZBYCAgMPFgIeE1ByZXZpb3VzQ29udHJvbE1vZGULKYgBTWljcm9zb2Z0LlNoYXJlUG9pbnQuV2ViQ29udHJvbHMuU1BDb250cm9sTW9kZSwgTWljcm9zb2Z0LlNoYXJlUG9pbnQsIFZlcnNpb249MTUuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49NzFlOWJjZTExMWU5NDI5YwFkAiUPZBYCAgMPZBYCZg9kFgJmDzwrAAYAZAInD2QWAgIBD2QWDAUmZ184ZDc1ZDdhYV82YTA4XzRiYzlfODRjZl9iNjE4NTRhMGM0MjYPZBYCZg8WAh4JaW5uZXJodG1sBaQHPGxpPjxhIGhyZWY9J2h0dHBzOi8vZGFsbGFzY2l0eWhhbGwuY29tL2RlcGFydG1lbnRzL2Npc2VydmljZXMvUGFnZXMvRGFsbGFzLVNlY3VyZS5hc3B4JyB0YXJnZXQ9J19zZWxmJyBkYXRhLWdhLWFjdGlvbj0nQ2xpY2snIGRhdGEtZ2EtY2F0ZWdvcnk9J0ZlYXR1cmVkIE5ld3MnIGRhdGEtZ2EtbGFiZWw9J0NpdHkgb2YgRGFsbGFzIExhdW5jaGVzIEZyZWUg4oCcRGFsbGFzIFNlY3VyZeKAnSBNb2JpbGUgUGhvbmUgQXBwIHRvIFByb3RlY3QgUmVzaWRlbnRzIGZyb20gQ3liZXJzZWN1cml0eSBUaHJlYXRzJz5DaXR5IG9mIERhbGxhcyBMYXVuY2hlcyBGcmVlIOKAnERhbGxhcyBTZWN1cmXigJ0gTW9iaWxlIFBob25lIEFwcCB0byBQcm90ZWN0IFJlc2lkZW50cyBmcm9tIEN5YmVyc2VjdXJpdHkgVGhyZWF0czwvYT48L2xpPjxsaT48YSBocmVmPSdodHRwczovL3d3dy5kYWxsYXNjaXR5bmV3cy5uZXQvbmV3LWRhbGxhcy1nb3YtZG9tYWluLW5hbWUnIHRhcmdldD0nX0JsYW5rJyBkYXRhLWdhLWFjdGlvbj0nQ2xpY2snIGRhdGEtZ2EtY2F0ZWdvcnk9J0ZlYXR1cmVkIE5ld3MnIGRhdGEtZ2EtbGFiZWw9J05ldyBEYWxsYXMuR09WIERvbWFpbiBOYW1lJz5OZXcgRGFsbGFzLkdPViBEb21haW4gTmFtZTwvYT48L2xpPjxsaT48YSBocmVmPSdodHRwOi8vd3d3LmRhbGxhc2NpdHluZXdzLm5ldC9jaXR5LWRhbGxhcy1hZG9wdHMtbmV3LWVjb25vbWljLWRldmVsb3BtZW50LXBvbGljeScgdGFyZ2V0PSdfc2VsZicgZGF0YS1nYS1hY3Rpb249J0NsaWNrJyBkYXRhLWdhLWNhdGVnb3J5PSdGZWF0dXJlZCBOZXdzJyBkYXRhLWdhLWxhYmVsPSdDaXR5IG9mIERhbGxhcyBhZG9wdHMgbmV3IEVjb25vbWljIERldmVsb3BtZW50IFBvbGljeSc+Q2l0eSBvZiBEYWxsYXMgYWRvcHRzIG5ldyBFY29ub21pYyBEZXZlbG9wbWVudCBQb2xpY3k8L2E+PC9saT5kBSZnX2VmYjgzMzE4X2U0MjBfNDQ1NV9hYzhmX2ZlMzk0ZDhjM2EzMA9kFgJmDxYEHgVjbGFzcwUfbXMtcnRlLWVtYmVkY29kZSBtcy1ydGUtZW1iZWR3cB8BBdUCPGgzIHN0eWxlPSJib3JkZXItYm90dG9tOm5vbmU7IGNvbG9yOiByZ2IoNjgsIDY4LCA2OCkiPkZFQVRVUkVEIE5FV1M8L2gzPg0KPGEgaHJlZj0iaHR0cDovL2RhbGxhc2NpdHluZXdzLm5ldCIgdGFyZ2V0PSJfYmxhbmsiIGNsYXNzPSJidG4gYnRuLXByaW1hcnkgYnRuLW1kIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjp3aGl0ZTsgYm9yZGVyOiAxcHggc29saWQgIzAxNjZjZTsgY29sb3I6ICMwMTY2Y2U7IiBkYXRhLWdhLWFjdGlvbj0iRXh0ZXJuYWwgTGluayIgZGF0YS1nYS1jYXRlZ29yeT0iRmVhdHVyZWQgTmV3cyIgZGF0YS1nYS1sYWJlbD0iUmVhZCBNb3JlIj5WaWV3IE1vcmUgTmV3czwvYT5kBSZnX2M0ZmE3NzBhXzY4ODhfNGZiYl9iNjAxXzQ0YTExZjQyYzczZg9kFgJmDxYEHwIFH21zLXJ0ZS1lbWJlZGNvZGUgbXMtcnRlLWVtYmVkd3AfAQWQnAE8c3R5bGU+DQouc3BvdGxpZ2h0LXRpdGxlew0KICAgIGZvbnQtd2VpZ2h0OmJvbGQ7DQogICAgcGFkZGluZzo1cHg7DQp9DQo8L3N0eWxlPg0KDQo8ZGl2IGNsYXNzPSJzcG90bGlnaHQtdGl0bGUiPg0KICAgICAgICAgICAgICAgICAgICA8aDIgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCkiPlNQT1RMSUdIVDwvaDI+DQo8L2Rpdj4NCg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgKGZ1bmN0aW9uICgkKSB7DQoNCiAgICAgICAgICAgICQuZm4uc2Nyb2xsYm94ID0gZnVuY3Rpb24gKGNvbmZpZykgew0KICAgICAgICAgICAgICAgIC8vZGVmYXVsdCBjb25maWcNCiAgICAgICAgICAgICAgICB2YXIgZGVmQ29uZmlnID0gew0KICAgICAgICAgICAgICAgICAgICBsaW5lYXI6IHRydWUsICAgICAgICAgIC8vIFNjcm9sbCBtZXRob2QNCiAgICAgICAgICAgICAgICAgICAgc3RhcnREZWxheTogMTAsICAgICAgICAgIC8vIFN0YXJ0IGRlbGF5IChpbiBzZWNvbmRzKQ0KICAgICAgICAgICAgICAgICAgICBkZWxheTogMTAsICAgICAgICAgICAgICAgLy8gRGVsYXkgYWZ0ZXIgZWFjaCBzY3JvbGwgZXZlbnQgKGluIHNlY29uZHMpDQogICAgICAgICAgICAgICAgICAgIHN0ZXA6IDI1LCAgICAgICAgICAgICAgICAvLyBEaXN0YW5jZSBvZiBlYWNoIHNpbmdsZSBzdGVwIChpbiBwaXhlbHMpDQogICAgICAgICAgICAgICAgICAgIHNwZWVkOiAyNSwgICAgICAgICAgICAgIC8vIERlbGF5IGFmdGVyIGVhY2ggc2luZ2xlIHN0ZXAgKGluIG1pbGxpc2Vjb25kcykNCiAgICAgICAgICAgICAgICAgICAgc3dpdGNoSXRlbXM6IDEsICAgICAgICAgLy8gSXRlbXMgdG8gc3dpdGNoIGFmdGVyIGVhY2ggc2Nyb2xsIGV2ZW50DQogICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ3ZlcnRpY2FsJywNCiAgICAgICAgICAgICAgICAgICAgZGlzdGFuY2U6ICdhdXRvJywNCiAgICAgICAgICAgICAgICAgICAgYXV0b1BsYXk6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBvbk1vdXNlT3ZlclBhdXNlOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBwYXVzZWQ6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBxdWV1ZTogbnVsbCwNCiAgICAgICAgICAgICAgICAgICAgbGlzdEVsZW1lbnQ6ICd1bCcsDQogICAgICAgICAgICAgICAgICAgIGxpc3RJdGVtRWxlbWVudDogJ2xpJywNCiAgICAgICAgICAgICAgICAgICAgaW5maW5pdGVMb29wOiB0cnVlLCAgICAgLy8gSW5maW5pdGUgbG9vcCBvciBub3QNCiAgICAgICAgICAgICAgICAgICAgc3dpdGNoQW1vdW50OiAwLCAgICAgICAgLy8gR2l2ZSBhIG51bWJlciBpZiB5b3UgZG9uJ3Qgd2FudCB0byBoYXZlIGluZmluaXRlIGxvb3ANCiAgICAgICAgICAgICAgICAgICAgYWZ0ZXJGb3J3YXJkOiBudWxsLCAgICAgLy8gQ2FsbGJhY2sgZnVuY3Rpb24gYWZ0ZXIgZWFjaCBmb3J3YXJkIGFjdGlvbg0KICAgICAgICAgICAgICAgICAgICBhZnRlckJhY2t3YXJkOiBudWxsLCAgICAvLyBDYWxsYmFjayBmdW5jdGlvbiBhZnRlciBlYWNoIGJhY2t3YXJkIGFjdGlvbg0KICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyU3RhY2thYmxlOiBmYWxzZSAvLyBBbGxvdyB0cmlnZ2VycyB3aGVuIGFjdGlvbiBpcyBub3QgZmluaXNoIHlldA0KICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgY29uZmlnID0gJC5leHRlbmQoZGVmQ29uZmlnLCBjb25maWcpOw0KICAgICAgICAgICAgICAgIGNvbmZpZy5zY3JvbGxPZmZzZXQgPSBjb25maWcuZGlyZWN0aW9uID09PSAndmVydGljYWwnID8gJ3Njcm9sbFRvcCcgOiAnc2Nyb2xsTGVmdCc7DQogICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5xdWV1ZSkgew0KICAgICAgICAgICAgICAgICAgICBjb25maWcucXVldWUgPSAkKCcjJyArIGNvbmZpZy5xdWV1ZSk7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjb250YWluZXIgPSAkKHRoaXMpLA0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyVUwsDQogICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxpbmdJZCA9IG51bGwsDQogICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBudWxsLA0KICAgICAgICAgICAgICAgICAgICAgICAgcGF1c2VkID0gZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICByZWxlYXNlU3RhY2ssDQogICAgICAgICAgICAgICAgICAgICAgICBiYWNrd2FyZCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZvcndhcmQsDQogICAgICAgICAgICAgICAgICAgICAgICByZXNldENsb2NrLA0KICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRm9yd2FyZCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbEJhY2t3YXJkLA0KICAgICAgICAgICAgICAgICAgICAgICAgZm9yd2FyZEhvdmVyLA0KICAgICAgICAgICAgICAgICAgICAgICAgcGF1c2VIb3ZlciwNCiAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaENvdW50ID0gMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrZWRUcmlnZ2VySW5kZXggPSAwOw0KDQogICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcub25Nb3VzZU92ZXJQYXVzZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmJpbmQoJ21vdXNlb3ZlcicsIGZ1bmN0aW9uICgpIHsgcGF1c2VkID0gdHJ1ZTsgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYmluZCgnbW91c2VvdXQnLCBmdW5jdGlvbiAoKSB7IHBhdXNlZCA9IGZhbHNlOyB9KTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBjb250YWluZXJVTCA9IGNvbnRhaW5lci5jaGlsZHJlbihjb25maWcubGlzdEVsZW1lbnQgKyAnOmZpcnN0LWNoaWxkJyk7DQoNCiAgICAgICAgICAgICAgICAgICAgLy8gaW5pdCBkZWZhdWx0IHN3aXRjaEFtb3VudA0KICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmluZmluaXRlTG9vcCA9PT0gZmFsc2UgJiYgY29uZmlnLnN3aXRjaEFtb3VudCA9PT0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnN3aXRjaEFtb3VudCA9IGNvbnRhaW5lclVMLmNoaWxkcmVuKCkubGVuZ3RoOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRm9yd2FyZCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwYXVzZWQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3VyTGksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdTY3JvbGxPZmZzZXQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsRGlzdGFuY2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlU3RlcDsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgY3VyTGkgPSBjb250YWluZXJVTC5jaGlsZHJlbihjb25maWcubGlzdEl0ZW1FbGVtZW50ICsgJzpmaXJzdC1jaGlsZCcpOw0KDQogICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxEaXN0YW5jZSA9IGNvbmZpZy5kaXN0YW5jZSAhPT0gJ2F1dG8nID8gY29uZmlnLmRpc3RhbmNlIDoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRpcmVjdGlvbiA9PT0gJ3ZlcnRpY2FsJyA/IGN1ckxpLm91dGVySGVpZ2h0KHRydWUpIDogY3VyTGkub3V0ZXJXaWR0aCh0cnVlKTsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gb2Zmc2V0DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZy5saW5lYXIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVTdGVwID0gTWF0aC5tYXgoMywgcGFyc2VJbnQoKHNjcm9sbERpc3RhbmNlIC0gY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdKSAqIDAuMywgMTApKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdTY3JvbGxPZmZzZXQgPSBNYXRoLm1pbihjb250YWluZXJbMF1bY29uZmlnLnNjcm9sbE9mZnNldF0gKyB0aGVTdGVwLCAwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3U2Nyb2xsT2Zmc2V0ID0gTWF0aC5taW4oY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdICsgY29uZmlnLnN0ZXAsIDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdID0gbmV3U2Nyb2xsT2Zmc2V0Ow0KDQogICAgICAgICAgICAgICAgICAgICAgICBpZiAobmV3U2Nyb2xsT2Zmc2V0ID49IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgY29uZmlnLnN3aXRjaEl0ZW1zOyBpKyspIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5xdWV1ZSAmJiBjb25maWcucXVldWUuZmluZChjb25maWcubGlzdEl0ZW1FbGVtZW50KS5sZW5ndGggPiAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJVTC5hcHBlbmQoY29uZmlnLnF1ZXVlLmZpbmQoY29uZmlnLmxpc3RJdGVtRWxlbWVudClbMF0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyVUwuY2hpbGRyZW4oY29uZmlnLmxpc3RJdGVtRWxlbWVudCArICc6Zmlyc3QtY2hpbGQnKS5yZW1vdmUoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclVMLmFwcGVuZChjb250YWluZXJVTC5jaGlsZHJlbihjb25maWcubGlzdEl0ZW1FbGVtZW50ICsgJzpmaXJzdC1jaGlsZCcpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArK3N3aXRjaENvdW50Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJbMF1bY29uZmlnLnNjcm9sbE9mZnNldF0gPSAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2Nyb2xsaW5nSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0lkID0gbnVsbDsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkLmlzRnVuY3Rpb24oY29uZmlnLmFmdGVyRm9yd2FyZCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmFmdGVyRm9yd2FyZC5jYWxsKGNvbnRhaW5lciwgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3dpdGNoQ291bnQ6IHN3aXRjaENvdW50LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudEZpcnN0Q2hpbGQ6IGNvbnRhaW5lclVMLmNoaWxkcmVuKGNvbmZpZy5saXN0SXRlbUVsZW1lbnQgKyAnOmZpcnN0LWNoaWxkJykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcudHJpZ2dlclN0YWNrYWJsZSAmJiBzdGFja2VkVHJpZ2dlckluZGV4ICE9PSAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGVhc2VTdGFjaygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcuaW5maW5pdGVMb29wID09PSBmYWxzZSAmJiBzd2l0Y2hDb3VudCA+PSBjb25maWcuc3dpdGNoQW1vdW50KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5hdXRvUGxheSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBzZXRUaW1lb3V0KGZvcndhcmQsIGNvbmZpZy5kZWxheSAqIDEwMDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICAvLyBCYWNrd2FyZA0KICAgICAgICAgICAgICAgICAgICAvLyAxLiBJZiBmb3J3YXJkaW5nLCB0aGVuIHJldmVyc2UNCiAgICAgICAgICAgICAgICAgICAgLy8gMi4gSWYgc3RvcGluZywgdGhlbiBiYWNrd2FyZCBvbmNlDQogICAgICAgICAgICAgICAgICAgIHNjcm9sbEJhY2t3YXJkID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhdXNlZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJMaSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Njcm9sbE9mZnNldCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxEaXN0YW5jZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVTdGVwOw0KDQogICAgICAgICAgICAgICAgICAgICAgICAvLyBpbml0DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdID09PSAwKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvbmZpZy5zd2l0Y2hJdGVtczsgaSsrKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclVMLmNoaWxkcmVuKGNvbmZpZy5saXN0SXRlbUVsZW1lbnQgKyAnOmxhc3QtY2hpbGQnKS5pbnNlcnRCZWZvcmUoY29udGFpbmVyVUwuY2hpbGRyZW4oY29uZmlnLmxpc3RJdGVtRWxlbWVudCArICc6Zmlyc3QtY2hpbGQnKSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VyTGkgPSBjb250YWluZXJVTC5jaGlsZHJlbihjb25maWcubGlzdEl0ZW1FbGVtZW50ICsgJzpmaXJzdC1jaGlsZCcpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbERpc3RhbmNlID0gY29uZmlnLmRpc3RhbmNlICE9PSAnYXV0bycgPw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcuZGlzdGFuY2UgOg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWcuZGlyZWN0aW9uID09PSAndmVydGljYWwnID8gY3VyTGkuaGVpZ2h0KCkgOiBjdXJMaS53aWR0aCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lclswXVtjb25maWcuc2Nyb2xsT2Zmc2V0XSA9IHNjcm9sbERpc3RhbmNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgICAgICAgICAvLyBuZXcgb2Zmc2V0DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNvbmZpZy5saW5lYXIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVTdGVwID0gTWF0aC5tYXgoMywgcGFyc2VJbnQoY29udGFpbmVyWzBdW2NvbmZpZy5zY3JvbGxPZmZzZXRdICogMC4zLCAxMCkpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1Njcm9sbE9mZnNldCA9IE1hdGgubWF4KGNvbnRhaW5lclswXVtjb25maWcuc2Nyb2xsT2Zmc2V0XSAtIHRoZVN0ZXAsIDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdTY3JvbGxPZmZzZXQgPSBNYXRoLm1heChjb250YWluZXJbMF1bY29uZmlnLnNjcm9sbE9mZnNldF0gLSBjb25maWcuc3RlcCwgMCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXJbMF1bY29uZmlnLnNjcm9sbE9mZnNldF0gPSBuZXdTY3JvbGxPZmZzZXQ7DQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChuZXdTY3JvbGxPZmZzZXQgPT09IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXN3aXRjaENvdW50Ow0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2Nyb2xsaW5nSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0lkID0gbnVsbDsNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkLmlzRnVuY3Rpb24oY29uZmlnLmFmdGVyQmFja3dhcmQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5hZnRlckJhY2t3YXJkLmNhbGwoY29udGFpbmVyLCB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hDb3VudDogc3dpdGNoQ291bnQsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50Rmlyc3RDaGlsZDogY29udGFpbmVyVUwuY2hpbGRyZW4oY29uZmlnLmxpc3RJdGVtRWxlbWVudCArICc6Zmlyc3QtY2hpbGQnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy50cmlnZ2VyU3RhY2thYmxlICYmIHN0YWNrZWRUcmlnZ2VySW5kZXggIT09IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsZWFzZVN0YWNrKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbmZpZy5hdXRvUGxheSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBzZXRUaW1lb3V0KGZvcndhcmQsIGNvbmZpZy5kZWxheSAqIDEwMDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICByZWxlYXNlU3RhY2sgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhY2tlZFRyaWdnZXJJbmRleCA9PT0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFja2VkVHJpZ2dlckluZGV4ID4gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrZWRUcmlnZ2VySW5kZXgtLTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBzZXRUaW1lb3V0KGZvcndhcmQsIDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja2VkVHJpZ2dlckluZGV4Kys7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFNjcm9sbElkID0gc2V0VGltZW91dChiYWNrd2FyZCwgMCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICAgICAgZm9yd2FyZCA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwoc2Nyb2xsaW5nSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsaW5nSWQgPSBzZXRJbnRlcnZhbChzY3JvbGxGb3J3YXJkLCBjb25maWcuc3BlZWQpOw0KICAgICAgICAgICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICAgICAgICAgIGJhY2t3YXJkID0gZnVuY3Rpb24gKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJJbnRlcnZhbChzY3JvbGxpbmdJZCk7DQogICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxpbmdJZCA9IHNldEludGVydmFsKHNjcm9sbEJhY2t3YXJkLCBjb25maWcuc3BlZWQpOw0KICAgICAgICAgICAgICAgICAgICB9Ow0KDQogICAgICAgICAgICAgICAgICAgIC8vIEltcGxlbWVudHMgbW91c2VvdmVyIGZ1bmN0aW9uLg0KICAgICAgICAgICAgICAgICAgICBmb3J3YXJkSG92ZXIgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBjb25maWcuYXV0b1BsYXkgPSB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgcGF1c2VkID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgICAgICBjbGVhckludGVydmFsKHNjcm9sbGluZ0lkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0lkID0gc2V0SW50ZXJ2YWwoc2Nyb2xsRm9yd2FyZCwgY29uZmlnLnNwZWVkKTsNCiAgICAgICAgICAgICAgICAgICAgfTsNCiAgICAgICAgICAgICAgICAgICAgcGF1c2VIb3ZlciA9IGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHBhdXNlZCA9IHRydWU7DQogICAgICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICAgICAgcmVzZXRDbG9jayA9IGZ1bmN0aW9uIChkZWxheSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLmRlbGF5ID0gZGVsYXkgfHwgY29uZmlnLmRlbGF5Ow0KICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXJUaW1lb3V0KG5leHRTY3JvbGxJZCk7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmF1dG9QbGF5KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV4dFNjcm9sbElkID0gc2V0VGltZW91dChmb3J3YXJkLCBjb25maWcuZGVsYXkgKiAxMDAwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfTsNCg0KICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLmF1dG9QbGF5KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBuZXh0U2Nyb2xsSWQgPSBzZXRUaW1lb3V0KGZvcndhcmQsIGNvbmZpZy5zdGFydERlbGF5ICogMTAwMCk7DQogICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICAvLyBiaW5kIGV2ZW50cyBmb3IgY29udGFpbmVyDQogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5iaW5kKCdyZXNldENsb2NrJywgZnVuY3Rpb24gKGRlbGF5KSB7IHJlc2V0Q2xvY2soZGVsYXkpOyB9KTsNCiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmJpbmQoJ2ZvcndhcmQnLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29uZmlnLnRyaWdnZXJTdGFja2FibGUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2Nyb2xsaW5nSWQgIT09IG51bGwpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhY2tlZFRyaWdnZXJJbmRleCsrOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcndhcmQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChuZXh0U2Nyb2xsSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcndhcmQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5iaW5kKCdiYWNrd2FyZCcsIGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjb25maWcudHJpZ2dlclN0YWNrYWJsZSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzY3JvbGxpbmdJZCAhPT0gbnVsbCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFja2VkVHJpZ2dlckluZGV4LS07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja3dhcmQoKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyVGltZW91dChuZXh0U2Nyb2xsSWQpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2t3YXJkKCk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYmluZCgncGF1c2VIb3ZlcicsIGZ1bmN0aW9uICgpIHsgcGF1c2VIb3ZlcigpOyB9KTsNCiAgICAgICAgICAgICAgICAgICAgY29udGFpbmVyLmJpbmQoJ2ZvcndhcmRIb3ZlcicsIGZ1bmN0aW9uICgpIHsgZm9yd2FyZEhvdmVyKCk7IH0pOw0KICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYmluZCgnc3BlZWRVcCcsIGZ1bmN0aW9uIChzcGVlZCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNwZWVkID09PSAndW5kZWZpbmVkJykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWVkID0gTWF0aC5tYXgoMSwgcGFyc2VJbnQoY29uZmlnLnNwZWVkIC8gMiwgMTApKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5zcGVlZCA9IHNwZWVkOw0KICAgICAgICAgICAgICAgICAgICB9KTsNCg0KICAgICAgICAgICAgICAgICAgICBjb250YWluZXIuYmluZCgnc3BlZWREb3duJywgZnVuY3Rpb24gKHNwZWVkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3BlZWQgPT09ICd1bmRlZmluZWQnKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlZWQgPSBjb25maWcuc3BlZWQgKiAyOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnNwZWVkID0gc3BlZWQ7DQogICAgICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lci5iaW5kKCd1cGRhdGVDb25maWcnLCBmdW5jdGlvbiAob3B0aW9ucykgew0KICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnID0gJC5leHRlbmQoY29uZmlnLCBvcHRpb25zKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH07DQoNCiAgICAgICAgfShqUXVlcnkpKTsNCiAgICA8L3NjcmlwdD4NCiAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgICAgICQoZnVuY3Rpb24gKCkgew0KDQogICAgICAgICAgICAkKCcjcGktdGlsZXMnKS5zY3JvbGxib3goew0KICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogJ2gnLA0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCcjcGktdGlsZXMtYmFja3dhcmQnKS5jbGljayhmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgJCgnI3BpLXRpbGVzJykudHJpZ2dlcignYmFja3dhcmQnKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJCgnI3BpLXRpbGVzLWZvcndhcmQnKS5jbGljayhmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgJCgnI3BpLXRpbGVzJykudHJpZ2dlcignZm9yd2FyZCcpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgIDwvc2NyaXB0Pg0KDQoNCjxzY3JpcHQgc3JjPSIvU3R5bGUlMjBMaWJyYXJ5L2pzL2FuZ3VsYXIubWluLmpzIj48L3NjcmlwdD4NCg0KPHNjcmlwdD4NCiAgICANCiAgICAgICB2YXIgbXlBbmdBcHAgPSBhbmd1bGFyLm1vZHVsZSgnQW5nQXBwU3BvdExpZ2h0JywgW10pOw0KICAgICAgIG15QW5nQXBwLmNvbnRyb2xsZXIoJ2FuZ1Nwb3RMaWdodENvbnRyb2xsZXInLCBmdW5jdGlvbiAoJHNjb3BlLCAkaHR0cCkgew0KICAgICAgICAgICB2YXIgdG9kYXkgPSBuZXcgRGF0ZSgpOw0KICAgICAgICAgICAkaHR0cCh7DQogICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLA0KICAgICAgICAgICAgICAgdXJsOiByZW1vdmVIVFRQZnJvbVVSTChfc3BQYWdlQ29udGV4dEluZm8ud2ViQWJzb2x1dGVVcmwpICsgIi9fYXBpL3dlYi9saXN0cy9nZXRCeVRpdGxlKCdTcG90TGlnaHQnKS9pdGVtcz8kc2VsZWN0PVN0YXJ0RGF0ZSxFbmREYXRlLE9yZGVyLFNwb3RsaWdodFRpdGxlLE9wZW5JblRoZU5leHRUYWIsTGluayxFbmNvZGVkQWJzVXJsIiArDQogICAgICAgICAgICAgICAgICAgIiYkb3JkZXJieT1PcmRlcjAgYXNjJiRmaWx0ZXI9U3RhcnREYXRlIGxlIGRhdGV0aW1lJyIgKyB0b2RheS50b0lTT1N0cmluZygpICsgIicgYW5kIEVuZERhdGUgZ2UgZGF0ZXRpbWUnIiArIHRvZGF5LnRvSVNPU3RyaW5nKCkgKyAiJyIsDQogICAgICAgICAgICAgICBoZWFkZXJzOiB7ICJBY2NlcHQiOiAiYXBwbGljYXRpb24vanNvbjtvZGF0YT12ZXJib3NlIiB9DQogICAgICAgICAgIH0pLnN1Y2Nlc3MoZnVuY3Rpb24gKGQsIHMsIGgsIGMpIHsNCiAgICAgICAgICAgICAgICRzY29wZS5zcG90bGlnaHRzID0gZC5kLnJlc3VsdHM7DQogICAgICAgICAgICAgICB2YXIgYmFja3VwQ291bnQgPSAzIC0gJHNjb3BlLnNwb3RsaWdodHMubGVuZ3RoOw0KICAgICAgICAgICAgICAgaWYgKGJhY2t1cENvdW50ID4gMCkgew0KICAgICAgICAgICAgICAgICAgICRodHRwKHsNCiAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJywNCiAgICAgICAgICAgICAgICAgICAgICAgdXJsOiByZW1vdmVIVFRQZnJvbVVSTChfc3BQYWdlQ29udGV4dEluZm8ud2ViQWJzb2x1dGVVcmwpKyAiL19hcGkvd2ViL2xpc3RzL2dldEJ5VGl0bGUoJ1Nwb3RMaWdodCcpL2l0ZW1zPyRzZWxlY3Q9T3JkZXIsU3BvdGxpZ2h0VGl0bGUsT3BlbkluVGhlTmV4dFRhYixMaW5rLEVuY29kZWRBYnNVcmwmJG9yZGVyYnk9T3JkZXIwIGRlc2MiLA0KICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7ICJBY2NlcHQiOiAiYXBwbGljYXRpb24vanNvbjtvZGF0YT12ZXJib3NlIiB9DQogICAgICAgICAgICAgICAgICAgfSkuc3VjY2VzcyhmdW5jdGlvbiAoZCwgcywgaCwgYykgew0KICAgICAgICAgICAgICAgICAgICAgICAkc2NvcGUuc3BvdGxpZ2h0cy5wdXNoLmFwcGx5KCRzY29wZS5zcG90bGlnaHRzLCAgZC5kLnJlc3VsdHMpOw0KICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgIH0pOw0KICAgICAgICAgDQoNCiAgICAgICAgICAgLy8kc2NvcGUucGljdHVyZXMgPSBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgIC8vICAgIHJldHVybiAkc2NvcGUuc3BvdGxpZ2h0cy5jb25jYXQoJHNjb3BlLnNwb3RsaWdodEJhY2t1cHMpOw0KICAgICAgICAgICAvL30NCg0KDQogICAgICAgICAgICRzY29wZS5nZXRUYXJnZXQgPSBmdW5jdGlvbih0YXJnZXRTdHJpbmcpIHsNCiAgICAgICAgICAgICAgIGlmICh0YXJnZXRTdHJpbmcpDQogICAgICAgICAgICAgICAgICAgcmV0dXJuICJfYmxhbmsiOw0KICAgICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgIHJldHVybiAiX3NlbGYiOw0KICAgICAgICAgICB9DQoNCiAgICAgJHNjb3BlLmdldFNyY3dpdGhvdXRIVFRQID0gZnVuY3Rpb24odXJsU3RyaW5nKSB7DQogICAgICAgICAgICAgdmFyIGh0dHBJbmRleCA9IHVybFN0cmluZy5pbmRleE9mKCI6Ly8iKTsNCiAgICAgICAgICAgIGlmKGh0dHBJbmRleCA+IDApDQogICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmxTdHJpbmcuc2xpY2UoaHR0cEluZGV4KzEpOw0KICAgICAgICAgICAgZWxzZQ0KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybFN0cmluZzsNCg0KICAgICAgICAgICB9DQoNCiAgICAgICB9KSAgICAgIA0KICAgICAgICAgIA0KPC9zY3JpcHQ+DQoNCjxkaXYgbmctYXBwPSJBbmdBcHBTcG90TGlnaHQiIGNsYXNzPSJzcC1yb3ciPg0KICAgIDxkaXYgaWQ9InBpLXNjcm9sbC10aWxlcyIgbmctY29udHJvbGxlcj0iYW5nU3BvdExpZ2h0Q29udHJvbGxlciI+DQogICAgICAgIDxkaXYgaWQ9InBpLXRpbGVzLWJ0biIgY2xhc3M9InRleHQtY2VudGVyIj4NCiAgICAgICAgICAgIDxhIGNsYXNzPSJidG4iIGlkPSJwaS10aWxlcy1iYWNrd2FyZCI+PC9hPg0KICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biIgaWQ9InBpLXRpbGVzLWZvcndhcmQiPjwvYT4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDxkaXYgaWQ9InBpLXRpbGVzIiBjbGFzcz0ic2Nyb2xsLWltZyI+DQogICAgICAgICAgICA8dWwgY2xhc3M9InVuc3R5bGVkIiBpZD0idGlsZXNVbCI+DQogICAgICAgICAgICAgICAgPGxpIG5nLXJlcGVhdD0icGljdHVyZSBpbiBzcG90bGlnaHRzIj4NCiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ie3twaWN0dXJlLkxpbmsuVXJsfX0iIHRhcmdldD0ie3tnZXRUYXJnZXQocGljdHVyZS5PcGVuSW5UaGVOZXh0VGFiKX19IiAgZGF0YS1nYS1hY3Rpb249IkxpbmsiIGRhdGEtZ2EtY2F0ZWdvcnk9IkhvbWUiIGRhdGEtZ2EtbGFiZWw9Int7cGljdHVyZS5TcG90bGlnaHRUaXRsZX19Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImltYWdlLXRodW1icyIgbmctc3JjPSJ7e3BpY3R1cmUuRW5jb2RlZEFic1VybH19IiBhbHQ9IiIgYXJpYS1oaWRkZW49InRydWUiIC8+PHNwYW4gY2xhc3M9Im5vcGFkIHNwb3RsaWdodC10aXRsZSI+e3twaWN0dXJlLlNwb3RsaWdodFRpdGxlfX08L3NwYW4+DQogICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4NCjxiciAvPg0KDQo8c3R5bGU+DQoJI2NvdW50ZG93bnsNCgkJdGV4dC1hbGlnbjogY2VudGVyOw0KCQlwYWRkaW5nOiAyMHB4IDA7DQoJCWJvcmRlci10b3A6IHNvbGlkIDFweCAjOTk5Ow0KCX0NCgkjY291bnRkb3duIGgzew0KCQlmb250LWZhbWlseTogJ1JvYm90byc7DQoJCWZvbnQtd2VpZ2h0OiA2MDA7DQoJCWZvbnQtc2l6ZTogMjhweDsNCgkJY29sb3I6IHJnYigzLDYzLDEzNik7DQoJCWJvcmRlci1ib3R0b206bm9uZTsNCgl9DQoNCgkjY291bnRkb3duLTF7DQoJCXBhZGRpbmc6MjVweCAwOw0KCX0NCgkjY291bnRkb3duLWRpc3BsYXl7DQoJCWRpc3BsYXk6IGJsb2NrOw0KCQlib3JkZXItcmFkaXVzOiAxMHB4Ow0KCQkvKmhlaWdodDogMTQwcHg7Ki8NCgkgICAgbWF4LXdpZHRoOiA3MDBweDsNCgkgICAgbWFyZ2luOiAwIGF1dG87DQoJfQ0KCSNjb3VudGRvd24tMnsNCgkJcGFkZGluZzogMHB4IDA7DQoJCWJhY2tncm91bmQtY29sb3I6ICNmZmY7IA0KCQlwYWRkaW5nOiAxMHB4IDUwcHggMTBweCAzMHB4Ow0KCSAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNjVweDsNCgkgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDY1cHg7DQoJICAgIGhlaWdodDogMTA1cHg7DQoJICAgDQoJfQ0KCS8qI2NvdW50ZG93bi0yIGF7DQoJCWRpc3BsYXk6IGJsb2NrOw0KCQkgYmFja2dyb3VuZC1pbWFnZTogdXJsKCIvU3R5bGUlMjBMaWJyYXJ5L0ltYWdlcy9OZXh0JTIwQXJyb3cuc3ZnIik7DQoJCWJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0Ow0KCQliYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDsNCiAgICBwYWRkaW5nOiAwIDMwJSAwIDA7DQoJfSovDQoJI2NvdW50ZG93bi0yIGEgaW1new0KCQloZWlnaHQ6IDEwMCU7DQoJfQ0KCSNjb3VudGRvd24tMiBoM3sNCgkJZm9udC1mYW1pbHk6ICdSb2JvdG8nOw0KCQlwYWRkaW5nOjBweDsNCgkJZm9udC1zaXplOiAzMnB4Ow0KCQlsaW5lLWhlaWdodDogMTsNCgkJYm9yZGVyOiBub25lOw0KCQljb2xvcjogcmdiKDMsNjMsMTM2KTsNCgkJZm9udC13ZWlnaHQ6IDYwMDsNCgl9DQoJI2NvdW50ZG93bi0yIGg1ew0KCQlmb250LWZhbWlseTogJ1JvYm90byc7DQoJCWZvbnQtc2l6ZTogMThweDsNCgkJY29sb3I6cmdiKDM4LDExNSwyMDkpOw0KCQlmb250LXdlaWdodDogNTAwOw0KCQlwYWRkaW5nOjBweDsNCgkJbGluZS1oZWlnaHQ6IDE7DQoJCWJvcmRlcjogbm9uZTsNCg0KCX0NCgkjY291bnRkb3duLTN7DQoJCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgkJYmFja2dyb3VuZC1jb2xvcjogcmdiKDMsNjMsMTM2KTsNCgkJcGFkZGluZzoxNXB4IDAgMTVweCA0MHB4Ow0KCQlib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2NXB4Ow0KCQlib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2NXB4Ow0KCQloZWlnaHQ6IDEwNXB4Ow0KCX0NCg0KCSNjb3VudGRvd24tMyBoM3sNCgkJZm9udC1mYW1pbHk6ICdSb2JvdG8nOw0KCQlmb250LXNpemU6IDQ0cHg7DQoJCWZvbnQtd2VpZ2h0OiA1MDA7DQoJCWNvbG9yOiAjZmZmOw0KCQlwYWRkaW5nOjA7DQoJCWJvcmRlcjogbm9uZTsNCgl9DQoNCiAgICAjY291bnRkb3duLTMgLm1ldHJpY3sNCiAgICAgICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nOw0KICAgICAgICBmb250LXNpemU6IDQ0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGNvbG9yOiAjZmZmOw0KICAgICAgICBwYWRkaW5nOjA7DQogICAgICAgIGJvcmRlcjogbm9uZTsNCiAgICB9DQoNCgkjY291bnRkb3duLTMgLmNvbC14cy0zew0KCQlib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAjYzVkM2ZjOw0KCQlwYWRkaW5nOiAwOw0KCX0NCgkjY291bnRkb3duLTMgLmNvbC14cy0zOmxhc3Qtb2YtdHlwZXsNCgkJYm9yZGVyLXJpZ2h0OiBub25lOw0KCX0NCgkNCgkjY291bnRkb3duLTMgcHsNCgkJZm9udC1mYW1pbHk6ICdSb2JvdG8nOw0KCQljb2xvcjojYzVkM2ZjOw0KCQlmb250LXdlaWdodDogNjAwOw0KCQlmb250LXNpemU6MTJweDsNCgkJcGFkZGluZzogMDsNCgkJbWFyZ2luOiAwOw0KCX0NCgkNCiAJLnh4cy1oaWRlew0KIAkJZGlzcGxheTogYmxvY2s7DQogCX0NCiAJLnh4cy1zaG93ew0KIAkJZGlzcGxheTpub25lOw0KIAl9DQogCSNjb3VudGRvd24tMyAuY29sLXhzLTM6bnRoLW9mLXR5cGUoMil7DQoJCWJvcmRlci1yaWdodDogdmlzaWJsZTsNCgl9DQojc3BvdGxpZ2h0LWhvbWUgew0KICAgIHBhZGRpbmc6IDUwcHggMHB4IDMwcHggMDsNCn0NCg0KIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KXsNCiAgICAjY291bnRkb3duLWRpc3BsYXkgLmNvbC14cy03LA0KICAgICNjb3VudGRvd24tZGlzcGxheSAuY29sLXhzLTV7DQogICAgCXdpZHRoOiAxMDAlOw0KICAgIH0NCiAJI2NvdW50ZG93bi0zIC5jb2wteHMtM3sNCgkJd2lkdGg6IDUwJTsNCgl9DQogCS54eHMtaGlkZXsNCiAJCWRpc3BsYXk6IG5vbmU7DQogCX0NCiAJLnh4cy1zaG93ew0KIAkJZGlzcGxheTpibG9jazsNCiAJfQ0KIAkjY291bnRkb3duLTMgLmNvbC14cy0zOm50aC1vZi10eXBlKDIpew0KCQlib3JkZXItcmlnaHQ6IG5vbmU7DQoJfQ0KIAkjY291bnRkb3duLTN7CQ0KIAkJYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNDVweDsNCgkgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDQ1cHg7DQoJICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7DQoJICAgIHBhZGRpbmc6IDEwcHggMjBweDsNCgkgICAgaGVpZ2h0OiA5NXB4Ow0KCX0NCgkjY291bnRkb3duLTJ7DQoJCWRpc3BsYXk6IGJsb2NrOwkJDQoJCWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0NXB4Ow0KCQlib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0NXB4Ow0KCQlib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOw0KCSAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsNCgkgICAgIHBhZGRpbmc6IDE1cHggMjBweDsNCgkJaGVpZ2h0OiA5NXB4Ow0KCX0NCgkjY291bnRkb3duLWRpc3BsYXl7DQoJCWRpc3BsYXk6IGJsb2NrOw0KCQlwYWRkaW5nOiAwIDEwcHg7DQoJfQ0KI3Nwb3RsaWdodC1ob21lIHsNCiAgICBwYWRkaW5nOiA1MHB4IDBweDsNCn0NCiB9DQoNCjwvc3R5bGU+ZAUmZ180YjRlYTc2NF8wOTFlXzRmNjFfOTBjNF9lYzg0MWY5ZDU3NmUPZBYCZg8WBB8CBR9tcy1ydGUtZW1iZWRjb2RlIG1zLXJ0ZS1lbWJlZHdwHwEFmKQCPGRpdiBpZD0iaG9tZXBhZ2UiPg0KDQo8IS0tDQo8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciIgc3R5bGU9InBhZGRpbmc6MjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNGRkIzMzM7Ij48ZGl2IGNsYXNzPSJjb250YWluZXIiPjxhIGhyZWY9Ii9QYWdlcy9Db3JvbmEtVmlydXMuYXNweCIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO2NvbG9yOiMwMDFCM0I7YmFja2dyb3VuZC1pbWFnZTp1cmwoJy9QdWJsaXNoaW5nSW1hZ2VzL2Nvcm9uYXZpcnVzL2JsdWUtYWxlcnQtaWNvbi5wbmcnKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZToyMHB4IDIwcHg7IGJhY2tncm91bmQtcG9zaXRpb246MTBweDsgcGFkZGluZy1sZWZ0OjQwcHg7Zm9udC1zaXplOjIycHgiPkltcG9ydGFudCBJbmZvcm1hdGlvbiBSZWdhcmRpbmcgQ29yb25hdmlydXMgKENPVklEJiM4MjExOzE5KTwvYT48L2Rpdj48L2Rpdj4NCi0tPg0KDQo8ZGl2IHN0eWxlPSJjbGVhcjpib3RoOyBiYWNrZ3JvdW5kLWNvbG9yOiM3RUM2RkY7Ij4NCg0KPGRpdiBjbGFzcz0iY29sLXNtLTYgdGV4dC1jZW50ZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiM3RUM2RkY7IHBhZGRpbmc6IDIwcHg7Ij48YSBocmVmPSJodHRwczovL3d3dy5kYWxsYXNjb3VudHkub3JnL2RlcGFydG1lbnRzL2RjaGhzL21wb3gtdmlydXMucGhwIiB0YXJnZXQ9Il9ibGFuayIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBwYWRkaW5nOjIwcHg7Zm9udC1zaXplOjIycHg7IGNvbG9yOiMwMDFCM0I7Ij48aW1nIHNyYz0iL1B1Ymxpc2hpbmdJbWFnZXMvY29yb25hdmlydXMvYmx1ZS1hbGVydC1pY29uLnBuZyIgc3R5bGU9ImhlaWdodDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMnB4OyIgYWx0PSIiIC8+RENISFMgTXBveCBWaXJ1cyBJbmZvcm1hdGlvbiBhbmQgUmVzb3VyY2VzPC9hPjwvZGl2Pg0KPGRpdiBjbGFzcz0iY29sLXNtLTYgdGV4dC1jZW50ZXIiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNGRkIzMzM7IHBhZGRpbmc6MjBweCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGFsbGFzY291bnR5Lm9yZy9jb3ZpZC0xOS8iIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0iZm9udC1zaXplOjIycHg7IGNvbG9yOiMwMDFCM0I7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyBwYWRkaW5nOjIwcHg7Ij48aW1nIHNyYz0iL1B1Ymxpc2hpbmdJbWFnZXMvY29yb25hdmlydXMvYmx1ZS1hbGVydC1pY29uLnBuZyIgc3R5bGU9ImhlaWdodDogMjBweDsgbWFyZ2luLXJpZ2h0OiAxMHB4OyBwYWRkaW5nLWJvdHRvbTogMnB4OyAiIGFsdD0iIi8+SW1wb3J0YW50IENPVklELTE5IEluZm9ybWF0aW9uIGFuZCBSZXNvdXJjZXM8L2E+PC9kaXY+DQo8ZGl2IHN0eWxlPSJjbGVhcjogYm90aDsgaGVpZ2h0OiAwcHg7IHdpZHRoOjEwMCUiPjwvZGl2Pg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9ImNvbC14cy0xMiB0ZXh0LWNlbnRlciIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPjxoMiBzdHlsZT0iY29sb3I6IzY2NjsgZm9udC1zdHlsZTppdGFsaWM7IGZvbnQtZmFtaWx5OidMYXRvJztmb250LXNpemU6MjJweDtmb250LXdlaWdodDpub3JtYWw7cGFkZGluZzoxNXB4IDA7bWFyZ2luLWJvdHRvbTozMHB4OyI+T3VyIGNvcmUgdmFsdWVzIGFyZSBFbXBhdGh5LCBFdGhpY3MsIEV4Y2VsbGVuY2UsIEVxdWl0eTwvaDI+PC9kaXY+DQoNCg0KPGRpdiBpZD0icG9wdWxhcmxpbmtzIj4NCjxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoNCg0KPCEtLWNvbHVtbiBvbmUtLT4NCjxkaXYgY2xhc3M9ImNvbC0zIj4NCjxkaXYgaWQ9InRvZGF5aXdhbnR0byI+DQo8dWwgaWQ9InRvZGF5aXdhbnR0by11bCI+DQo8bGkgY2xhc3M9InBheSI+PGEgY2xhc3M9Iml3YW50dG9tb2RhbCBidG4gYnRuLW1kIiBocmVmPSIjcGF5Ij5QYXk8L2E+PC9saT4NCjxsaSBjbGFzcz0iZmluZCI+PGEgY2xhc3M9Iml3YW50dG9tb2RhbCBidG4gYnRuLW1kIiBocmVmPSIjZmluZCI+RmluZDwvYT48L2xpPg0KPGxpIGNsYXNzPSJyZXF1ZXN0Ij48YSBjbGFzcz0iaXdhbnR0b21vZGFsIGJ0biBidG4tbWQiIGhyZWY9IiNyZXF1ZXN0Ij5SZXF1ZXN0PC9hPjwvbGk+DQo8bGkgY2xhc3M9Im9wZW4tZGF0YSI+PGEgIGhyZWY9Ii9QYWdlcy9EYWxsYXMtRGF0YWh1Yi5hc3B4IiBjbGFzcz0iYnRuIGJ0bi1tZCI+RGFsbGFzIERhdGEgSHViPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iaHR0cDovL2ZpbmFuY2lhbHRyYW5zcGFyZW5jeS5kYWxsYXNjaXR5aGFsbC5jb20vIiB0YXJnZXQ9Il9ibGFuayIgaWQ9ImZpbmFudGlhbC10cmFuc3BhcmVuY3kiIGNsYXNzPSJidG4gYnRuLW1kIj5GaW5hbmNpYWwgVHJhbnNwYXJlbmN5PC9hPjwvbGk+DQo8IS0tPGxpIGNsYXNzPSJvcGVuLWRhdGEiPjxhIGNsYXNzPSJpd2FudHRvbW9kYWwgYnRuIGJ0bi1tZCIgaHJlZj0iI29wZW5kYXRhIj5PcGVuIERhdGE8L2E+PC9saT4NCi0tPg0KPCEtLTxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvcHVibGljLWFmZmFpcnMtb3V0cmVhY2gvb3BlbnJlY29yZHMvUGFnZXMvZGVmYXVsdC5hc3B4IiBpZD0ib3Blbi1yZWNvcmRzIiBjbGFzcz0iYnRuIGJ0bi1tZCI+T3BlbiBSZWNvcmRzIFJlcXVlc3Q8L2E+PC9saT4tLT4NCjxsaT48YSBocmVmPSJodHRwczovL2RhbGxhc3R4LmdvdnFhLnVzL1dFQkFQUC9fcnMvKFMoYXZmaXY0aG4xcnJycW1sajU0dG1hemZwKSkvU3VwcG9ydEhvbWUuYXNweD9zU2Vzc2lvbklEPSIgdGFyZ2V0PSJfYmxhbmsiIGlkPSJvcGVuLXJlY29yZHMiIGNsYXNzPSJidG4gYnRuLW1kIj5PcGVuIFJlY29yZHMgUmVxdWVzdDwvYT48L2xpPg0KPC91bD4NCjwvZGl2Pg0KPC9kaXY+DQo8IS0tY29sdW1uIG9uZS0tPg0KDQo8ZGl2IGNsYXNzPSJjb2wtMyI+DQo8ZGl2IGlkPSJvZmZpY2lhbHBvc3RpbmdzIiBjbGFzcz0ib2ZmaWNpYWwtcG9zdGluZ3MgbGlzdC1pdGVtcyIgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjsiPg0KPGgzIHN0eWxlPSJjb2xvcjogcmdiKDY4LCA2OCwgNjgpIj5PZmZpY2lhbCBQb3N0aW5nczwvaDM+DQo8dWwgY2xhc3M9ImhtLWJveC1saW5rcyI+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2J1ZGdldC9maW5hbmNpYWx0cmFuc3BhcmVuY3kvUGFnZXMvQ3VycmVudC1CdWRnZXQuYXNweCIgaWQ9ImJ1ZGdldCI+RlkgMjAyMi0yMyBBZG9wdGVkIEJ1ZGdldDwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Imh0dHBzOi8vY2l0eW9mZGFsbGFzLmxlZ2lzdGFyLmNvbS8iIGlkPSJjb3VuY2lsLW1lZXRpbmdzIiB0YXJnZXQ9Il9ibGFuayI+Q2l0eSBNZWV0aW5nczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9nb3Zlcm5tZW50L0JvYXJkcy1hbmQtQ29tbWlzc2lvbnMvIiBpZD0iYm9hcmRzLWFuZC1jb21taXNzaW9ucyI+Qm9hcmRzICYgQ29tbWlzc2lvbnM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZ292ZXJubWVudC9jaXR5Y291bmNpbC9QYWdlcy9jb3VuY2lsLWF0dGVuZGFuY2UuYXNweCIgaWQ9ImNvdW5jaWwtYXR0ZW5kYW5jZSI+Q291bmNpbCBBdHRlbmRhbmNlPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2NhbGVuZGFyLyIgaWQ9ImNpdHktY2FsZW5kYXIiPkNpdHkgQ2FsZW5kYXI8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvUGFnZXMvcHVibGljLW5vdGljZXMuYXNweCIgaWQ9InB1YmxpYy1ub3RpY2VzIj5QdWJsaWMgTm90aWNlczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9nb3Zlcm5tZW50L2NpdHlzZWNyZXRhcnkvUGFnZXMvUHVibGljLU1lZXRpbmdzLmFzcHgiIGlkPSJvcGVuLW1lZXRpbmdzIj5PcGVuIE1lZXRpbmdzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2dvdmVybm1lbnQvY2l0eW1hbmFnZXIvUGFnZXMvY291bmNpbC1tZW1vcy5hc3B4IiBpZD0iY291bmNpbC1tZW1vcyI+Q2l0eSBNYW5hZ2VyIE1lbW9zPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL1BhZ2VzL3dhdGNoLWNpdHktbWVldGluZ3Mtb25saW5lLmFzcHgiIGNsYXNzPSJzd2FnaXQgYnRuIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2IoMyw2MywxMzYpOyBwYWRkaW5nOjExcHggMTBweDsgdGV4dC1hbGlnbjpjZW50ZXI7IGNvbG9yOndoaXRlO21hcmdpbjowOyIgaWQ9ImNpdHktbWVldGluZy12aWRlbyI+V2F0Y2ggQ2l0eSBNZWV0aW5ncyBPbmxpbmU8L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJjb2wtMyBjb2wtZW5kIj4NCjxkaXYgaWQ9Im9mZmljaWFscG9zdGluZ3MyIiBjbGFzcz0ib2ZmaWNpYWwtcG9zdGluZ3MgbGlzdC1pdGVtcyI+DQo8aDMgc3R5bGU9ImNvbG9yOiByZ2IoNjgsIDY4LCA2OCkiPlF1aWNrIExpbmtzPC9oMz4NCg0KPHVsIGNsYXNzPSJobS1ib3gtbGlua3MiPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy93YXRlcnV0aWxpdGllcyIgaWQ9InF1aWNrLWxpbmtzLXdhdGVyIj5XYXRlciBVdGlsaXRpZXM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvc2FuaXRhdGlvbiIgaWQ9InF1aWNrLWxpbmtzLXNhbml0YXRpb24iPlRyYXNoIFBpY2t1cDwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9zdXN0YWluYWJsZWRldmVsb3BtZW50L2J1aWxkaW5naW5zcGVjdGlvbi9QYWdlcy9pbmRleC5hc3B4IiBpZD0icXVpY2stbGlua3MtYnVpbGRpbmctcGVybWl0cy1pbnNwZWN0aW9ucyI+QnVpbGRpbmcgUGVybWl0cyAmYW1wOyBJbnNwZWN0aW9uczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9odW1hbnJlc291cmNlcy9lbXBsb3ltZW50L1BhZ2VzL2RlZmF1bHQuYXNweCIgaWQ9InF1aWNrLWxpbmtzLWpvYnMiPkpvYnM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY291cnRkZXRlbnRpb25zZXJ2aWNlcy9QYWdlcy9kZWZhdWx0LmFzcHgiIGlkPSJxdWljay1saW5rcy10cmFmZmljLXRpY2tldHMiPlRyYWZmaWMgJmFtcDsgQ2l2aWwgVGlja2V0czwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb3VydGRldGVudGlvbnNlcnZpY2VzL1BhZ2VzL1dhcnJhbnQtSW5mby5hc3B4IiBpZD0icXVpY2stbGlua3MtY291cnRzIj5Db3VydCBXYXJyYW50cyAmYW1wOyBCb25kczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9kYWxsYXMtYW5pbWFsLXNlcnZpY2VzL1BhZ2VzL2RlZmF1bHQuYXNweCIgaWQ9InF1aWNrLWxpbmtzLWFuaW1hbC1zZXJ2aWNlcyI+QW5pbWFsIFNlcnZpY2VzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iaHR0cHM6Ly9kYWxsYXNjaXR5aGFsbC5jb20vZGVwYXJ0bWVudHMvb2ZmaWNlZW1lcmdlbmN5bWFuYWdlbWVudC9QYWdlcy9IYXptYXAuYXNweCIgaWQ9InF1aWNrLWxpbmtzLTIxMSIgdGFyZ2V0PSJfYmxhbmsiPlB1YmxpYyBTdXJ2ZXk6IEhhemFyZCBNaXRpZ2F0aW9uPGJyLz5BY3Rpb24gUGxhbjwvYT48L2xpPg0KDQo8L3VsPg0KPC9kaXY+DQo8L2Rpdj4NCg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+DQo8L2Rpdj4NCg0KDQo8c3R5bGU+DQpAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsNCiAgLnJvdy5lcXVhbCB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICBmbGV4LXdyYXA6IHdyYXA7DQogIH0NCn0NCiAgICANCi8qIGFkZCB0aGlzIGZvciBmdWxsIGhlaWdodCBjb2x1bW4gY29udGVudCANCi5lcXVhbCA+IGRpdltjbGFzcyo9J2NvbC0nXSB7ICANCiAgZGlzcGxheTogZmxleDsNCiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsNCn0NCiovDQoNCiNzMzExLWxlZnQtY29sdW1uew0KYmFja2dyb3VuZC1jb2xvcjojMDAxQjNCOw0KYmFja2dyb3VuZC1pbWFnZTogcmdiYSgwLDAsMCwwLjUpLCB1cmwoaHR0cHM6Ly9kYWxsYXNjaXR5aGFsbC5jb20vUHVibGlzaGluZ0ltYWdlcy9zdGF0aWMvMzExLW1vYmlsZS1hcHAtbmV3LmpwZyk7DQpiYWNrZ3JvdW5kLWltYWdlOg0KICAgIGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMjcsIDU5LCAwLjcpLCByZ2JhKDAsIDI3LCA1OSwgMSkpLA0KICAgIHVybCgnaHR0cHM6Ly9kYWxsYXNjaXR5aGFsbC5jb20vUHVibGlzaGluZ0ltYWdlcy9zdGF0aWMvMzExLW1vYmlsZS1hcHAtbmV3LmpwZycpOw0KYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsNCmJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsNCn0NCg0KI3MzMTEtbGVmdC1jb2x1bW4gaDJ7DQpjb2xvcjojMDRDNTg1Ow0KbWFyZ2luOjBweDsNCnBhZGRpbmc6MHB4Ow0KZm9udC1zaXplOjJyZW07DQp9DQoNCiNzMzExLWxlZnQtY29sdW1uIGgzew0KY29sb3I6I2ZmZmZmZjsNCm1hcmdpbjowcHg7DQpwYWRkaW5nOjBweDsNCn0NCg0KI3MzMTEtcmlnaHQtY29sdW1uew0KYmFja2dyb3VuZC1jb2xvcjojMDAzRjg4Ow0KfQ0KDQojczMxMS1yaWdodC1jb2x1bW4gbGFiZWx7DQpjb2xvcjogd2hpdGU7DQp9DQoNCiNzMzExLXJpZ2h0LWNvbHVtbiBoM3sNCmNvbG9yOiAjN0VDNkZGOw0KbWFyZ2luOjFyZW0gMHB4Ow0KfQ0KDQojczMxMS1mYXFzew0KbGlzdC1zdHlsZS10eXBlOiBub25lOw0KbWFyZ2luOiAwcHg7DQpwYWRkaW5nOiAwcHg7DQp9DQoNCiNzMzExLWZhcXMgbGl7DQpwYWRkaW5nOiA0cHg7DQp9DQoNCiNzMzExLWZhcXMgbGkgYXsNCmNvbG9yOiB3aGl0ZTsNCnBhZGRpbmc6IDZweDsNCiAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7DQogIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTsNCiAgZGlzcGxheTogYmxvY2s7DQogIGZvbnQtd2VpZ2h0OiBib2xkOw0KfQ0KDQojczMxMS1mYXFzIGxpID4gYTpob3ZlciwjczMxMS1mYXFzIGxpID4gYTpmb2N1c3sNCmJhY2tncm91bmQtY29sb3I6ICMwMDFCM0I7DQp9DQoNCiNzMzExLWxhbmd1YWdlc3sNCm1hcmdpbjowcHg7DQpwYWRkaW5nOjBweDsNCmxpc3Qtc3R5bGUtdHlwZTpub25lOw0KY29sb3I6IzAwMUIzQjsNCnRleHQtYWxpZ246Y2VudGVyOw0KfQ0KDQojczMxMS1sYW5ndWFnZXMgaDN7DQogICAgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDsNCiAgICANCn0NCg0KI3MzMTEtbGFuZ3VhZ2VzIGxpew0KZGlzcGxheTppbmxpbmUtYmxvY2s7DQpwYWRkaW5nOjhweCAyMHB4IDhweCAwcHg7DQp9DQoNCiNzMzExLXNlY3Rpb24tbmV3IGgzew0KYm9yZGVyLWJvdHRvbTogbm9uZTsNCn0NCjwvc3R5bGU+PHNlY3Rpb24gdW5zZWxlY3RhYmxlPSJvbiIgaWQ9InMzMTEtc2VjdGlvbi1uZXciPiANCiAgICAgIDxkaXYgY2xhc3M9InJvdyBlcXVhbCIgdW5zZWxlY3RhYmxlPSJvbiI+IA0KICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS01IiBpZD0iczMxMS1sZWZ0LWNvbHVtbiIgdW5zZWxlY3RhYmxlPSJvbiI+IA0KICAgICAgICAgICAgPGRpdiB1bnNlbGVjdGFibGU9Im9uIiBzdHlsZT0icGFkZGluZzogNDBweDsiPg0KICAgICAgICAgICAgICAgPGgyIHVuc2VsZWN0YWJsZT0ib24iPjMxMSBTZXJ2aWNlIFJlcXVlc3RzPC9oMj4gDQogICAgICAgICAgICAgICA8aDMgdW5zZWxlY3RhYmxlPSJvbiIgc3R5bGU9Im1hcmdpbi10b3A6IDEuMXJlbTsiPlJlcXVlc3QgQ2l0eSBzZXJ2aWNlcyBhbmQgaW5mb3JtYXRpb248L2gzPiANCiAgICAgICAgICAgICAgIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2RhbGxhc2NybS5mb3JjZS5jb20vcHVibGljL3NlcnZpY2V0eXBlcyIgdW5zZWxlY3RhYmxlPSJvbiIgc3R5bGU9Im1hcmdpbi10b3A6IDFyZW07IGJvcmRlci1yYWRpdXM6IDZweDsgcGFkZGluZzogMTBweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDRjNTg1OyBjb2xvcjogIzAwMWIzYjsgbWFyZ2luLXJpZ2h0OiAxcmVtOyBmb250LXNpemU6IDEuMXJlbTsgYm9yZGVyOiAycHggc29saWQgIzA0YzU4NTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5SZXF1ZXN0IGEgU2VydmljZTwvYT4gPGJyIGNsYXNzPSJ2aXNpYmxlLW1kIi8+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Ii9zZXJ2aWNlcy8zMTEiIHVuc2VsZWN0YWJsZT0ib24iIHN0eWxlPSJwYWRkaW5nOiAxMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbG9yOiB3aGl0ZTsgbWFyZ2luLXJpZ2h0OiAxcmVtOyBmb250LXNpemU6IDEuMXJlbTsgYm9yZGVyOiAycHggc29saWQgd2hpdGU7IGJvcmRlci1yYWRpdXM6IDZweDsgbWFyZ2luLXRvcDogMXJlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5BYm91dCAzMTE8L2E+IDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2RhbGxhc2NpdHlkYXRhLmRhbGxhc2NpdHloYWxsLmNvbS92aWV3cy8zMTFDaXR5d2lkZURhc2hib2FyZC8zMTFDaXR5d2lkZURhc2hib2FyZD86c2hvd0FwcEJhbm5lcj1mYWxzZSY6ZGlzcGxheV9jb3VudD1uJjpzaG93Vml6SG9tZT1uJjpvcmlnaW49dml6X3NoYXJlX2xpbmsmOnJlZnJlc2g9eWVzJjppc0d1ZXN0UmVkaXJlY3RGcm9tVml6cG9ydGFsPXkmOmVtYmVkPXkiIHVuc2VsZWN0YWJsZT0ib24iIHN0eWxlPSJwYWRkaW5nOiAxMHB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGNvbG9yOiB3aGl0ZTsgbWFyZ2luLXJpZ2h0OiAxcmVtOyBmb250LXNpemU6IDEuMXJlbTsgYm9yZGVyOiAycHggc29saWQgd2hpdGU7IGJvcmRlci1yYWRpdXM6IDZweDsgbWFyZ2luLXRvcDogMXJlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij5EYXNoYm9hcmQ8L2E+DQogICAgICAgICAgICAgICA8ZGl2IHVuc2VsZWN0YWJsZT0ib24iIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMTYwLCAwLCAwLjgpOyBwYWRkaW5nOiAyMHB4OyBib3JkZXItcmFkaXVzOiA2cHg7IG1hcmdpbi10b3A6IDQwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgZm9udC13ZWlnaHQ6IGJvbGQ7Ij4gDQogICAgICAgICAgICAgICAgICA8aDMgdW5zZWxlY3RhYmxlPSJvbiIgc3R5bGU9ImNvbG9yOiAjMDAxYjNiOyBmb250LXdlaWdodDogYm9sZDsgbWFyZ2luOiAxLjFyZW0gMHB4OyI+Q2FsbCAzMTEgaW4gaHVuZHJlZHMgb2YgbGFuZ3VhZ2VzPC9oMz4gDQogICAgICAgICAgICAgICAgICA8dWwgaWQ9InMzMTEtbGFuZ3VhZ2VzIiB1bnNlbGVjdGFibGU9Im9uIj4gDQogICAgICAgICAgICAgICAgICAgICA8bGk+TGxhbWEgYWwgMzExPC9saT4NCiAgICAgICAgICAgICAgICAgICAgIDxsaT4zMTEg4YCA4YCt4YCvIOGAgeGAseGAq+GAuuGAhuGAreGAr+GAleGAqzwvbGk+DQogICAgICAgICAgICAgICAgICAgICA8bGk+UGlnYSBzaW11IDMxMTwvbGk+DQogICAgICAgICAgICAgICAgICAgICA8bGk+R+G7jWkgc+G7kSAzMTE8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgPGxpPjMxMSDYtNmF24zYsduQINiq2Ycg2LLZhtqrINmI2YjZh9imPC9saT4NCiAgICAgICAgICAgICAgICAgICAgIDxsaT7YqNinIDMxMSDYqtmF2KfYsyDYqNqv2YrYsdmK2K88L2xpPg0KICAgICAgICAgICAgICAgICAgICAgPGxpPnR1bWF3YWcgc2EgMzExPC9saT4NCiAgICAgICAgICAgICAgICAgICAgIDxsaT5SdcOhaW5nZ2EgS2/Ds2wgMzExPC9saT4NCiAgICAgICAgICAgICAgICAgIDwvdWw+IA0KICAgICAgICAgICAgICAgPC9kaXY+IA0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICA8L2Rpdj4gDQogICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTciIGlkPSJzMzExLXJpZ2h0LWNvbHVtbiIgdW5zZWxlY3RhYmxlPSJvbiI+IA0KICAgICAgICAgICAgPGRpdiB1bnNlbGVjdGFibGU9Im9uIiBzdHlsZT0icGFkZGluZzogNDBweDsiPiANCiAgICAgICAgICAgICAgIDxoMyB1bnNlbGVjdGFibGU9Im9uIj5GcmVxdWVudGx5IFJlcXVlc3RlZCBTZXJ2aWNlczwvaDM+IA0KICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJyb3ciIGlkPSJzMzExLWZhcXMiIHVuc2VsZWN0YWJsZT0ib24iPiANCiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY29sLWxnLTQgY29sLXNtLTYiPg0KICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9kYWxsYXNjcm0uZm9yY2UuY29tL3B1YmxpYy9yZXF1ZXN0L0NPREVHRU5FUkFML2xvY2F0aW9uIiB0YXJnZXQ9Il9ibGFuayI+Q29kZSBDb25jZXJuczwvYT48L2xpPiANCiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0iY29sLWxnLTQgY29sLXNtLTYiPg0KICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly9kYWxsYXNjcm0uZm9yY2UuY29tL3B1YmxpYy9yZXF1ZXN0L1NQU1ZTTk9UL2xvY2F0aW9uIiB0YXJnZXQ9Il9ibGFuayI+U2FuaXRhdGlvbiBSb2xsIENhcnQ8L2E+PC9saT4gDQogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNvbC1sZy00IGNvbC1zbS02Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZGFsbGFzY3JtLmZvcmNlLmNvbS9wdWJsaWMvcmVxdWVzdC9TQU5NSVNHQS9sb2NhdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPk1pc3NlZCBHYXJiYWdlPC9hPjwvbGk+IA0KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjb2wtbGctNCBjb2wtc20tNiI+DQogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2RhbGxhc2NybS5mb3JjZS5jb20vcHVibGljL3JlcXVlc3QvU1RTUk9VU1QvbG9jYXRpb24iIHRhcmdldD0iX2JsYW5rIj5TdHJlZXQgUmVwYWlyPC9hPjwvbGk+IA0KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjb2wtbGctNCBjb2wtc20tNiI+DQogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2RhbGxhc2NybS5mb3JjZS5jb20vcHVibGljL3JlcXVlc3QvUFdUUk9WL2xvY2F0aW9uIiB0YXJnZXQ9Il9ibGFuayI+UGFya2luZyDigJMgUmVwb3J0IGEgVmlvbGF0aW9uPC9hPjwvbGk+IA0KICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJjb2wtbGctNCBjb2wtc20tNiI+DQogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2RhbGxhc2NybS5mb3JjZS5jb20vcHVibGljL3JlcXVlc3QvQU5JTE9TREMvbG9jYXRpb24iIHRhcmdldD0iX2JsYW5rIj5BbmltYWwgTG9vc2U8L2E+PC9saT4gDQogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNvbC1sZy00IGNvbC1zbS02Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZGFsbGFzY3JtLmZvcmNlLmNvbS9wdWJsaWMvcmVxdWVzdC9ERUFEQU5QVS9sb2NhdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPkRlYWQgQW5pbWFsIFBpY2sgVXA8L2E+PC9saT4gDQogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImNvbC1sZy00IGNvbC1zbS02Ij4NCiAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vZGFsbGFzY3JtLmZvcmNlLmNvbS9wdWJsaWMvcmVxdWVzdC9TQU5NSVNSQy9sb2NhdGlvbiIgdGFyZ2V0PSJfYmxhbmsiPk1pc3NlZCBSZWN5Y2xlPC9hPjwvbGk+IA0KICAgICAgICAgICAgICAgPC91bD4gDQogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciIHVuc2VsZWN0YWJsZT0ib24iPiANCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02IiB1bnNlbGVjdGFibGU9Im9uIj4NCiAgICAgICAgICAgICAgICAgIDxici8+PGJyLz4NCiAgICAgICAgICAgICAgICAgICAgIDxoMyB1bnNlbGVjdGFibGU9Im9uIj5DaGVjayBTZXJ2aWNlIFJlcXVlc3QgU3RhdHVzPC9oMz4gDQogICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPSJjaGVjay1zZXJ2aWNlLXJlcXVlc3QiIHVuc2VsZWN0YWJsZT0ib24iPlNlcnZpY2UgUmVxdWVzdCBOdW1iZXI8L2xhYmVsPjxiciB1bnNlbGVjdGFibGU9Im9uIi8+IA0KICAgICAgICAgICAgICAgICAgICAgPGRpdiB1bnNlbGVjdGFibGU9Im9uIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IGJvcmRlci1yYWRpdXM6IDZweDsgZGlzcGxheTogaW5saW5lLWJsb2NrOyBwYWRkaW5nOiAxMHB4OyI+IA0KICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJlLmcuIDE5LTAwMDAwMDAwMDEiIGNsYXNzPSJ0ZXh0RmllbGQiIG9ua2V5ZG93bj0ic2VhcmNoMzExKGV2ZW50KSIgaWQ9ImNoZWNrLXNlcnZpY2UtcmVxdWVzdCIgc3R5bGU9ImJvcmRlcjogbm9uZTsgcGFkZGluZzogMTBweDsgY29sb3I6IGJsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJmNmZmOyBib3JkZXItcmFkaXVzOiA2cHg7Ii8+IA0KICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIG9uY2xpY2s9InNlYXJjaDMxMWJ1dHRvbigpIiBzdHlsZT0iYm9yZGVyOiBub25lOyBwYWRkaW5nOiAxMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE1N2IxOyBjb2xvcjogd2hpdGU7IGJvcmRlci1yYWRpdXM6IDZweDsiPlNlYXJjaCBSZXF1ZXN0PC9idXR0b24+IDwvZGl2PiANCiAgICAgICAgICAgICAgICAgIDwvZGl2PiANCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1sZy02IiB1bnNlbGVjdGFibGU9Im9uIj4gDQogICAgICAgICAgICAgICAgICA8YnIvPjxici8+DQogICAgICAgICAgICAgICAgICAgICA8aDMgdW5zZWxlY3RhYmxlPSJvbiI+RG93bmxvYWQgdGhlIE91ckRhbGxhcyBNb2JpbGUgQXBwPC9oMz4gDQogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL2l0dW5lcy5hcHBsZS5jb20vdXMvYXBwL2RhbGxhcy0zMTEvaWQ2OTI5MDIwODg/bXQ9OCMiIHRhcmdldD0iX2JsYW5rIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiAxLjFyZW07Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2RhbGxhc2NpdHloYWxsLmNvbS9QdWJsaXNoaW5nSW1hZ2VzL3N0YXRpYy9hcHAtc3RvcmUtYmFkZ2UucG5nIiB1bnNlbGVjdGFibGU9Im9uIiBhbHQ9IkFwcGxlIEFwcCBTdG9yZSBCYWRnZSIgc3R5bGU9IndpZHRoOiBjYWxjKDQwJSAtIDEuMXJlbSk7IG1heC13aWR0aDoyMDBweDsiLz48L2E+DQogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3BsYXkuZ29vZ2xlLmNvbS9zdG9yZS9hcHBzL2RldGFpbHM/aWQ9Y29tLmRhbGxhc2NpdHloYWxsLmRhbGxhczMxMSZhbXA7aGw9ZW4iIHRhcmdldD0iX2JsYW5rIj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL2RhbGxhc2NpdHloYWxsLmNvbS9QdWJsaXNoaW5nSW1hZ2VzL3N0YXRpYy9nb29nbGUtcGxheS1iYWRnZS5wbmciIHVuc2VsZWN0YWJsZT0ib24iIGFsdD0iR29vZ2xlIFBsYXkgU3RvcmUgQmFkZ2UiIHN0eWxlPSJ3aWR0aDogY2FsYyg0MCUgLSAxLjFyZW0pOyBtYXgtd2lkdGg6MjAwcHg7Ii8+PC9hPjwvZGl2PiANCiAgICAgICAgICAgICAgIDwvZGl2PiANCiAgICAgICAgICAgIDwvZGl2PiANCiAgICAgICAgIDwvZGl2PiANCiAgICAgIDwvZGl2PiA8L3NlY3Rpb24+DQogIA0KDQo8c3R5bGU+DQouaW4tbWlkZGxlew0KICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoIHJnYmEoMCwgMCwgMCwgMC4yKSwgcmdiYSgwLCAwLCAwLCAwLjcpICksIHVybCgnL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljLzMxMS1tb2JpbGUtYXBwLW5ldy5qcGcnKTsNCiAgLypiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIi9QdWJsaXNoaW5nSW1hZ2VzL3N0YXRpYy8zMTEtbW9iaWxlLWFwcC1uZXcuanBnIik7Ki8NCmJhY2tncm91bmQtc2l6ZTogY292ZXI7DQpiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0Ow0KbGVmdDogNDBweDsNCnBhZGRpbmctYm90dG9tOiAzMHB4Ow0KaGVpZ2h0OiAxMDAlOw0KcGFkZGluZzogMjMwcHggMCAwIDQwcHg7DQp9DQouaW4tbWlkZGxlIGgzew0KICBmb250LXNpemU6IDI4cHg7DQogIGZvbnQtd2VpZ2h0OiAgNTAwOw0KfQ0KLmluLW1pZGRsZSBoMyBzcGFuew0KICBmb250LXNpemU6IDIycHg7DQogIGJvcmRlcjogbm9uZTsNCiAgZm9udC1zdHlsZTogaXRhbGljOyAgDQogIHBhZGRpbmctYm90dG9tOiAgIDBweDsNCn0NCg0KDQouc2VydmljZTMxMXsNCiAgcGFkZGluZyA6IDBweDsNCiAgYmFja2dyb3VuZC1jb2xvcjogIzAxNjZjZTsNCiAgDQp9DQouc2VydmljZTMxMSB1bHsNCiAgcGFkZGluZy1sZWZ0OiAgIDBweDsNCiAgcGFkZGluZy1ib3R0b206ICAgMTVweDsNCn0NCi5zZXJ2aWNlMzExIGgzew0KICBmb250LXdlaWdodDogNTAwOw0KfQ0KDQouc2VydmljZTMxMSBoMiwNCi5zZXJ2aWNlMzExIGgzew0KIGNvbG9yOiAjZmZmOw0KIGJvcmRlci1ib3R0b206ICAgbm9uZTsNCn0NCi5zZXJ2aWNlMzExIHVsIGxpIGF7DQogY29sb3I6ICNlOWViZjA7DQogYm9yZGVyLWJvdHRvbTogICBub25lOw0KfQ0KLnNlcnZpY2UzMTEgdWwgbGl7IA0KICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjA1LDIwNSwyMDUsMC4yKTsNCiAgIHBhZGRpbmctdG9wOiA4cHg7DQogICBwYWRkaW5nLWJvdHRvbTogNnB4Ow0KfQ0KI3BpY3R1cmUzMTFhcHB7ICANCiAgaGVpZ2h0OiAzNzBweDsNCiAgb3ZlcmZsb3c6IGhpZGRlbjsNCiAgcGFkZGluZzogMDsNCn0NCg0KI2RhbGxhczMxMW1vYmlsZXsNCiAgd2lkdGg6IDEwMCU7DQogIG9wYWNpdHk6IDAuODsgDQogIGJhY2tncm91bmQtY29sb3I6ICMwMDA7DQp9DQouYXBwaWNvbnsNCiAgd2lkdGg6IDE1MHB4Ow0KICBwYWRkaW5nLXJpZ2h0OiAxMHB4Ow0KfQ0KLmFwcGljb24gaW1new0KICB3aWR0aDogMTIwcHggIWltcG9ydGFudDsNCiAgcGFkZGluZy1yaWdodDogMTBweDsNCiAgaGVpZ2h0OiAzNXB4Ow0KfQ0KLmNoZWNrew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMzZDc5Ow0KICBwYWRkaW5nOiAyMHB4IDAgIDsgICANCiAgZGlzcGxheTogaW5saW5lLWJsb2NrOw0KICB3aWR0aDogMTAwJTsNCiAgdGV4dC1hbGlnbjogY2VudGVyOyANCn0NCi5jaGVjayBoM3sNCiAgcGFkZGluZzogNXB4IDIwcHg7DQogIG1heC13aWR0aDogMzUwcHg7IA0KICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQp9DQouY2hlY2sgaW5wdXR7ICANCiAgbWF4LXdpZHRoOiA5MCU7DQpwYWRkaW5nLWxlZnQ6IDIwcHg7DQpwYWRkaW5nOiAxMHB4Ow0KaGVpZ2h0OiA0NXB4Ow0Kd2lkdGg6IDcwMHB4Ow0KfQ0KLmhpZGRlbi14eHN7DQogIHZpc2liaWxpdHk6IHZpc2libGU7DQp9DQoudmlzaWJsZS14eHN7DQogIGRpc3BsYXk6IG5vbmU7DQp9DQouaW5uZXItMzExIHVsew0KICAgIGNvbHVtbi1jb3VudDogMjsNCn0NCi5pbm5lci0zMTEtdGl0bGUgaDN7DQogICAgcGFkZGluZy1ib3R0b206ICAgMDsNCn0NCg0Kc2VjdGlvbi5zZXJ2aWNlcy1iYW5uZXIgew0KICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE2NmNlOyB9DQoNCnNlY3Rpb24uc2VydmljZXMtYmFubmVyIHsNCiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTsNCiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsNCiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfQ0KDQoubWJyLXotaW5kZXgyMCB7DQogIHotaW5kZXg6IDIwOyB9DQoNCg0KLyohIE1lZGlhICAqLw0KLm1lZGlhLXNpemUtaXRlbSB7DQogIC13ZWJraXQtZmxleDogMSAxIGF1dG87DQogIC1tb3otZmxleDogMSAxIGF1dG87DQogIC1tcy1mbGV4OiAxIDEgYXV0bzsNCiAgLW8tZmxleDogMSAxIGF1dG87DQogIGZsZXg6IDEgMSBhdXRvOyB9DQoNCi5tZWRpYS1jb250ZW50IHsNCiAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMDAlOw0KICBmbGV4LWJhc2lzOiAxMDAlOyB9DQoNCi5tZWRpYS1jb250YWluZXItcm93IHsNCiAgZGlzcGxheTogLW1zLWZsZXhib3g7DQogIGRpc3BsYXk6IC13ZWJraXQtZmxleDsNCiAgZGlzcGxheTogZmxleDsNCiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93Ow0KICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgZmxleC1kaXJlY3Rpb246IHJvdzsNCiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7DQogIC1tcy1mbGV4LXdyYXA6IHdyYXA7DQogIGZsZXgtd3JhcDogd3JhcDsNCiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgLW1zLWZsZXgtcGFjazogY2VudGVyOw0KICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiBjZW50ZXI7DQogIC1tcy1mbGV4LWxpbmUtcGFjazogY2VudGVyOw0KICBhbGlnbi1jb250ZW50OiBjZW50ZXI7DQogIC13ZWJraXQtYWxpZ24taXRlbXM6IHN0YXJ0Ow0KICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7DQogIGFsaWduLWl0ZW1zOiBzdGFydDsgfQ0KICAubWVkaWEtY29udGFpbmVyLXJvdyAubWVkaWEtc2l6ZS1pdGVtIHsNCiAgICB3aWR0aDogMzc1cHg7IH0NCg0KLm1lZGlhLWNvbnRhaW5lci1jb2x1bW4gew0KICBkaXNwbGF5OiAtbXMtZmxleGJveDsNCiAgZGlzcGxheTogLXdlYmtpdC1mbGV4Ow0KICBkaXNwbGF5OiBmbGV4Ow0KICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW47DQogIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOw0KICAtd2Via2l0LWZsZXgtd3JhcDogd3JhcDsNCiAgLW1zLWZsZXgtd3JhcDogd3JhcDsNCiAgZmxleC13cmFwOiB3cmFwOw0KICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7DQogIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6IGNlbnRlcjsNCiAgLW1zLWZsZXgtbGluZS1wYWNrOiBjZW50ZXI7DQogIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsNCiAgLXdlYmtpdC1hbGlnbi1pdGVtczogc3RyZXRjaDsNCiAgLW1zLWZsZXgtYWxpZ246IHN0cmV0Y2g7DQogIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9DQogIC5tZWRpYS1jb250YWluZXItY29sdW1uID4gKiB7DQogICAgd2lkdGg6IDEwMCU7IH0NCg0KQG1lZGlhIChtaW4td2lkdGg6IDU4MnB4KSB7DQouc2VydmljZTMxMSB1bCBsaTpudGgtY2hpbGQoNG4rNCkgew0KICAgIGJvcmRlci1ib3R0b206IG5vbmU7DQp9DQogIC5tZWRpYS1jb250YWluZXItcm93IHsNCiAgICAtd2Via2l0LWZsZXgtd3JhcDogbm93cmFwOw0KICAgIC1tcy1mbGV4LXdyYXA6IG5vd3JhcDsNCiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9DQoNCi5tYnItZmlndXJlIGltZywgLm1ici1maWd1cmUgaWZyYW1lIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIHdpZHRoOiAxMDAlOyB9DQoNCi5tYnItZmlndXJlIHsNCiAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyOw0KICAtbXMtZ3JpZC1yb3ctYWxpZ246IGNlbnRlcjsNCiAgLXdlYmtpdC1hbGlnbi1zZWxmOiBjZW50ZXI7DQogIGFsaWduLXNlbGY6IGNlbnRlcjsgfQ0KDQoubWVkaWEtY29udGFpbmVyID4gZGl2IHsNCiAgbWF4LXdpZHRoOiAxMDAlOyB9DQoNCi5tYnItZmlndXJlIGltZywgLmNhcmQtaW1nIGltZyB7DQogIHdpZHRoOiAxMDAlOyB9DQoNCkBtZWRpYSAobWF4LXdpZHRoOiA1ODFweCkgew0KICAubWVkaWEtc2l6ZS1pdGVtIHsNCiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9DQoNCiAgLm1ici1maWd1cmUgew0KICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7DQogICAgfQ0KICAgI2RhbGxhczMxMW1vYmlsZXsNCiAgb3BhY2l0eTogMTsgDQogIHBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCi5pbi1taWRkbGV7ICAgDQogICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7DQogICAgcGFkZGluZy1ib3R0b206IDMwcHg7DQogICAgaGVpZ2h0OiAxNzBweDsNCiAgICBwYWRkaW5nOiAzMHB4IDAgMCAzMHB4Ow0KICANCn0NCi5pbm5lci0zMTEtdGl0bGUgew0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0NCg0KDQouaW5uZXItMzExIHsNCiAgICBwYWRkaW5nOiAxLjVyZW07DQp9DQouaG9tZS0zMTEtYnV0dG9uc3sNCiAgdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KLmhvbWUtMzExLWJ1dHRvbnMgLmJ0bnsgIA0KICAvKndpZHRoOiAxNjBweDsqLw0KfQ0KLmluLW1pZGRsZSBoMywgLmluLW1pZGRsZSBoMnsNCiAgY29sb3I6ICMzMzM7DQp9DQoNCiNwaWN0dXJlMzExYXBwew0KICB3aWR0aDogMTAwJTsNCiAgaGVpZ2h0OiBhdXRvOyAgDQogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7DQp9DQouY2hlY2sgeyAgIA0KICAgIHBhZGRpbmc6IDA7DQp9DQouY2hlY2sgaDN7DQogIHBhZGRpbmc6IDE1cHggMCA1cHggMDsNCn0NCi5oaWRkZW4teHhzew0KICBkaXNwbGF5OiBub25lOw0KfQ0KLnZpc2libGUteHhzew0KICBkaXNwbGF5OiBibG9jazsNCn0NCi5pbm5lci0zMTEgdWx7DQogICAgY29sdW1uLWNvdW50OiAxOw0KfQ0KDQogfQ0KDQovKiAzMTEgaW5mb3JtYXRpb24gKi8NCi5hbGlnbi1zZWxmLWNlbnRlciB7DQogICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7DQogICAgYWxpZ24tc2VsZjogY2VudGVyICFpbXBvcnRhbnQ7DQp9DQoucHgtMyB7DQogICAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7DQp9DQoucHktMiB7DQogICAgcGFkZGluZy10b3A6IC41cmVtICFpbXBvcnRhbnQ7DQogICAgcGFkZGluZy1ib3R0b206IC41cmVtICFpbXBvcnRhbnQ7DQp9DQouYWxpZ24tc2VsZi1jZW50ZXIgew0KICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlciAhaW1wb3J0YW50Ow0KICAgIGFsaWduLXNlbGY6IGNlbnRlciAhaW1wb3J0YW50Ow0KfQ0KLmlubmVyLTMxMSB7IA0KICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsNCiAgICB0b3A6IGF1dG87DQp9DQovKiBDdXN0b20sIGlQaG9uZSBSZXRpbmEgKi8gDQogICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMzIwcHgpIHsNCiAgICAubWVkaWEtY29udGFpbmVyLXJvdyB7DQogICAgICAgIGhlaWdodDogYXV0bzsNCiAgICAgICAgb3ZlcmZsb3c6IGF1dG87IH0NCiAgICAucHgtMyB7DQogICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0NCiAgIA0KfQ0KLyogRXh0cmEgU21hbGwgRGV2aWNlcywgUGhvbmVzICovIA0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDQ4MHB4KSB7DQogICAgICAgIC5weC0zIHsNCiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW0gIWltcG9ydGFudDsgfQ0KICAgICAgICAuaW5uZXItMzExIHsNCiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMzBweCAxMHB4IDMwcHg7DQogICAgICAgICAgICB3aWR0aDogIDEwMCU7IH0NCiAgICB9DQovKiBMYXJnZSBEZXZpY2VzLCBXaWRlIFNjcmVlbnMgKi8NCiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAxNDAwcHgpIHsNCiAgICAubWVkaWEtY29udGFpbmVyLXJvdyB7DQogICAgICAgIGhlaWdodDogYXV0bzsNCiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfQ0KfQ0KPC9zdHlsZT4NCg0KDQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iY2xlYXJmaXgiPjwvZGl2Pg0KDQo8ZGl2IGlkPSJmaW5kIiBzdHlsZT0iZGlzcGxheTpub25lOyBiYWNna2dyb3VuZC1jb2xvcjpncmV5OyI+DQo8aDM+RmluZDwvaDM+PGJyLz4NCg0KPGRpdj4NCjxpbnB1dCBzdHlsZT0id2lkdGg6NzAlO2JvcmRlci1yYWRpdXM6MTAwcHg7Ym9yZGVyOnNvbGlkIDFweCAjZGRkO3BhZGRpbmc6NnB4IDEwcHg7IiBpZD0iZmluZHNlYXJjaGlucHV0Ii8+DQo8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgc3R5bGU9Im1hcmdpbi1sZWZ0OjEwcHg7Ym9yZGVyLXJhZGl1czowLjNlbTtwYWRkaW5nOjZweDtjb2xvcjp3aGl0ZTtiYWNrZ3JvdW5kLWNvbG9yOiM2OTA7IiBjbGFzcz0ic2VhcmNoQnRuIiBpZD0iZmluZHNlYXJjaGJ1dHRvbiIgb25jbGljaz0iZmluZHNlYXJjaCgpIj5TZWFyY2g8L2J1dHRvbj4NCjwvZGl2Pg0KDQo8ZGl2IGNsYXNzPSJpd2FudHRvaWNvbnMiPg0KPHVsPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9odW1hbnJlc291cmNlcy9lbXBsb3ltZW50L1BhZ2VzL2RlZmF1bHQuYXNweCIgaWQ9ImZpbmQtbGlnaHRib3gtam9iIj48aW1nIGNsYXNzPSJzZXJ2aWNlaW1nIiBzcmM9Ii9QdWJsaXNoaW5nSW1hZ2VzL3N0YXRpYy9lbXBsb3ltZW50aWNvbi5wbmciIGFsdD0iSm9icyBJY29uIiAvPjxiciAvPkpvYjwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Imh0dHA6Ly9kYWxsYXNsaWJyYXJ5Mi5vcmcvIiB0YXJnZXQ9Il9ibGFuayIgaWQ9ImZpbmQtbGlnaHRib3gtbGlicmFyeSI+PGltZyBjbGFzcz0ic2VydmljZWltZyIgc3JjPSIvUHVibGlzaGluZ0ltYWdlcy9zdGF0aWMvbGlicmFyeWljb24ucG5nIiBhbHQ9IkxpYnJhcnkgSWNvbiIgLz48YnIgLz5MaWJyYXJ5PC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5kYWxsYXNhbmltYWxzZXJ2aWNlcy5vcmcvIiB0YXJnZXQ9Il9ibGFuayIgaWQ9ImZpbmQtbGlnaHRib3gtcGV0cyI+PGltZyBjbGFzcz0ic2VydmljZWltZyIgc3JjPSIvUHVibGlzaGluZ0ltYWdlcy9zdGF0aWMvcGV0aWNvbi5wbmciIGFsdD0iRGFsbGFzIEFuaW1hbCBTZXJ2aWNlcyBJY29uIiAvPjxiciAvPlBldHM8L2E+PC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXJpZ2h0OjBweDsiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZGFsbGFzcGFya3Mub3JnLyIgdGFyZ2V0PSJfYmxhbmsiIGlkPSJmaW5kLWxpZ2h0Ym94LXBhcmtzLXJlY3JlYXRpb24iPjxpbWcgY2xhc3M9InNlcnZpY2VpbWciIHNyYz0iL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljL3BhcmtzaWNvbi5wbmciIGFsdD0iUGFya3MgJiBSZWNyZWF0aW9uIEljb24iIC8+PGJyIC8+UGFya3M8L2E+PC9saT4NCjwvdWw+DQo8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhzLTEyIGxpc3QtaXRlbXMiPg0KPHVsPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vd3d3LmRhbGxhc2N1bHR1cmUub3JnL2N1bHR1cmFsRmFjaWxpdGllcy5hc3AiIGlkPSJmaW5kLWxpZ2h0Ym94LWN1bHR1cmFsLWNlbnRlciI+YSBDdWx0dXJhbCBDZW50ZXI8L2E+PC9saT4NCjwhLS08bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2h1bWFucmVzb3VyY2VzL2VtcGxveW1lbnQvUGFnZXMvZGVmYXVsdC5hc3B4Ij5hIEpvYjwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vZGFsbGFzbGlicmFyeS5vcmcvIj5hIExpYnJhcnk8L2E+PC9saT4tLT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY2lzZXJ2aWNlcy9QYWdlcy9lbnRlcnByaXNlLWdpcy5hc3B4IiBpZD0iZmluZC1saWdodGJveC1tYXAiPmEgTWFwPC9hPjwvbGk+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cuZGFsbGFzcGFya3Mub3JnIiBpZD0iZmluZC1saWdodGJveC1kYWxsYXMtcGFyayI+YSBQYXJrPC9hPjwvbGk+DQo8L3VsPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC14cy0xMiBsaXN0LWl0ZW1zIGNvbC1lbmQiPg0KPHVsPg0KPCEtLTxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3d3dy5kYWxsYXNwYXJrcy5vcmcvIj5hIFBhcmsgUmVjIENlbnRlcjwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9kYWxsYXMtYW5pbWFsLXNlcnZpY2VzL1BhZ2VzL2Fkb3B0aW9uLmFzcHgiPmEgUGV0PC9hPjwvbGk+LS0+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL3Budi9QYWdlcy96b25pbmcuYXNweCIgaWQ9ImZpbmQtbGlnaHRib3gtcHJvcGVydHktem9uaW5nIj5Qcm9wZXJ0eSBab25pbmc8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY29kZWNvbXBsaWFuY2UvUGFnZXMvRm9vZFNhZmV0eS5hc3B4IiBpZD0iZmluZC1saWdodGJveC1yZXN0YXVyYW50LXNjb3JlcyI+UmVzdGF1cmFudCBTY29yZXM8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvc2FuaXRhdGlvbiIgaWQ9ImZpbmQtbGlnaHRib3gtdHJhc2gtcGlja3VwIj5UcmFzaCBQaWNrdXA8L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCg0KPC9kaXY+DQoNCjxkaXYgaWQ9InBheSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsgYmFjZ2tncm91bmQtY29sb3I6Z3JleTsiPg0KPGgzPlBheTwvaDM+PGJyLz4NCg0KPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhzLTEyIGxpc3QtaXRlbXMiPg0KPHVsPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSIvZGVwYXJ0bWVudHMvd2F0ZXJ1dGlsaXRpZXMvUGFnZXMvcGF5LXdhdGVyLWJpbGwuYXNweCIgaWQ9InBheS1saWdodGJveC13YXRlciI+V2F0ZXIgQmlsbDwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb3VydGRldGVudGlvbnNlcnZpY2VzL1BhZ2VzL2RlZmF1bHQuYXNweCIgaWQ9InBheS1saWdodGJveC10cmFmZmljLXRpY2tldCI+VHJhZmZpYyAmYW1wOyBDaXZpbCBUaWNrZXRzPC9hPjwvbGk+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd21xLmV0aW1zcGF5bWVudHMuY29tL3Bidy9pbmNsdWRlL2RhbGxhcy9pbnB1dC5qc3AiIGlkPSJwYXktbGlnaHRib3gtcGFya2luZy10aWNrZXQiPlBhcmtpbmcgVGlja2V0PC9hPjwvbGk+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3LnZlbG9jaXR5cGF5bWVudC5jb20vY2xpZW50L2JhbmtvZmFtZXJpY2EvY2l0eW9mZGFsbGFzL2ZyYWIvaW5kZXguaHRtbCIgaWQ9InBheS1saWdodGJveC1hbWJ1bGFuY2UtdGlja2V0Ij5BbWJ1bGFuY2UgQmlsbDwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy93YXRlcnV0aWxpdGllcy9zcGVjaWFsX2NvbGxlY3Rpb25zL1BhZ2VzL3NwZWNpYWxfY29sbGVjdGlvbnNfcmVnaXN0cmF0aW9ucy5hc3B4IiBpZD0icGF5LWxpZ2h0Ym94LWFsYXJtcy1wZXJtaXRzIj5BbGFybXMgUGVybWl0czwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3dtcS5ldGltc3BheW1lbnRzLmNvbS9wYncvaW5jbHVkZS9kYWxsYXMvaW5wdXQuanNwIiBpZD0icGF5LWxpZ2h0Ym94LXNjaG9vbC1idXMtc3RvcC1hcm0tdGlja2V0Ij5TY2hvb2wgQnVzIFN0b3AgQXJtIFRpY2tldDwvYT48L2xpPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC14cy0xMiBsaXN0LWl0ZW1zIGNvbC1lbmQiPg0KPHVsPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb3VydGRldGVudGlvbnNlcnZpY2VzL1BhZ2VzL1dhcnJhbnQtSW5mby5hc3B4IiBpZD0icGF5LWxpZ2h0Ym94LWNvdXJ0LXdhcnJhbnRzLWJvbmQiPkNvdXJ0IFdhcnJhbnRzICZhbXA7IEJvbmRzPC9hPjwvbGk+DQoNCjxsaT48YSBocmVmPSIvUGFnZXMvcGF5YnlhcHAuYXNweCIgaWQ9InBheS1saWdodGJveC1wYXJraW5nLW1ldGVycyI+Rm9yIFBhcmtpbmcgTWV0ZXJzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2NvZGVjb21wbGlhbmNlL1BhZ2VzL2dhcmFnZS1zYWxlcy5hc3B4IiBpZD0icGF5LWxpZ2h0Ym94LWdhcmFnZS1zYWxlcy1wZXJtaXQiPkdhcmFnZSBTYWxlcyBQZXJtaXQ8L2E+PC9saT4NCjxsaT48YSBocmVmPSIvZGVwYXJ0bWVudHMvY29udHJvbGxlcnNvZmZpY2UvUGFnZXMvaG90ZWwtdGF4ZXMuYXNweCIgaWQ9InBheS1saWdodGJveC1ob3RlbC1vY2N1cGFuY3ktdGF4Ij5Ib3RlbCBPY2N1cGFuY3kgVGF4IChIT1QpPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2NvbnRyb2xsZXJzb2ZmaWNlL1BhZ2VzL2hvdGVsLXRheGVzLmFzcHgiIGlkPSJwYXktbGlnaHRib3gtc2hvcnQtdGVybS1yZW50YWxzIj5TaG9ydC1UZXJtIFJlbnRhbHMgKEhPVCk8L2E+PC9saT4NCjwhLS08bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Ii9kZXBhcnRtZW50cy9jb2RlY29tcGxpYW5jZS9QYWdlcy9DYXJyeW91dC1CYWctUHJvZ3JhbS5hc3B4Ij5TaW5nbGUtVXNlIENhcnJ5b3V0IEJhZyBSZW1pdHRhbmNlPC9hPjwvbGk+LS0+DQo8L3VsPg0KPC9kaXY+DQoNCjwvZGl2Pg0KDQo8ZGl2IGlkPSJyZXF1ZXN0IiBzdHlsZT0iZGlzcGxheTpub25lOyBiYWNna2dyb3VuZC1jb2xvcjpncmV5OyI+DQo8aDM+UmVxdWVzdDwvaDM+PGJyLz4NCg0KPGRpdiBjbGFzcz0iY29sLW1kLTYgY29sLXhzLTEyIGxpc3QtaXRlbXMiPg0KPHVsPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9zdXN0YWluYWJsZWRldmVsb3BtZW50L2J1aWxkaW5naW5zcGVjdGlvbiIgaWQ9InJlcXVlc3QtbGlnaHRib3gtYnVpbGRpbmctcGVybWl0cy1pbnNwZWN0aW9ucyI+QnVpbGRpbmcgUGVybWl0cyAmYW1wOyBJbnNwZWN0aW9uczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9zZXJ2aWNlcy8zMTEiIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LW5vbi1lbWVyZ2VuY3ktc2VydmljZXMiPjMxMSBTZXJ2aWNlczwvYT48L2xpPg0KPGxpPjxhIGhyZWY9Ii9kZXBhcnRtZW50cy9jb21tdW5pdHktY2FyZS9QYWdlcy92aXRhbF9zdGF0aXN0aWNzLmFzcHgiIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LWJpcnRoLWRlYXRoLWNlcnRpZmljYXRlcyI+QmlydGggLyBEZWF0aCBDZXJ0aWZpY2F0ZXM8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cuZGFsbGFzc3BlY2lhbGV2ZW50cy5jb20vc3BlY2lhbC1ldmVudC8iIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LWV2ZW50LXBlcm1pdHMiPkV2ZW50IFBlcm1pdHM8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cuZGFsbGFzc3BlY2lhbGV2ZW50cy5jb20vZmlsbS8iIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LWZpbG1pbmctcGVybWl0cyI+RmlsbWluZyBQZXJtaXRzPC9hPjwvbGk+DQo8L3VsPg0KPC9kaXY+DQoNCjxkaXYgY2xhc3M9ImNvbC1tZC02IGNvbC14cy0xMiBsaXN0LWl0ZW1zIj4NCjxoMz5OZXcgVXRpbGl0eSBTZXJ2aWNlczwvaDM+DQo8dWw+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly93d3cucG93ZXJ0b2Nob29zZS5vcmcvIiBpZD0icmVxdWVzdC1saWdodGJveC1lbGVjdHJpY2l0eS1wcm92aWRlcnMiPkVsZWN0cmljaXR5IFByb3ZpZGVyczwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5hbGxjb25uZWN0LmNvbS9sb2NhbC90eC9kYWxsYXMiIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LXR2Ij5DYWJsZS1UVi1TYXRlbGxpdGU8L2E+PC9saT4NCjxsaT48YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cuMnR1cm5pdG9uLmNvbS8iIGlkPSJyZXF1ZXN0LWxpZ2h0Ym94LXV0aWxpdGllcyI+QWN0aXZhdGUgVXRpbGl0aWVzPC9hPjwvbGk+DQo8L3VsPg0KPC9kaXY+DQoNCjwvZGl2Pg0KDQo8IS0tPGRpdiBpZD0ib3BlbmRhdGEiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IGJhY2drZ3JvdW5kLWNvbG9yOmdyZXk7Ij4NCjxoMz5PcGVuIERhdGE8L2gzPjxici8+DQoNCjxkaXYgY2xhc3M9Iml3YW50dG9pY29ucyI+DQo8dWw+DQo8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGFsbGFzb3BlbmRhdGEuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgY2xhc3M9InNlcnZpY2VpbWciIHNyYz0iL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljL29wZW5kYXRhaWNvbi5wbmciIGFsdD0iT3BlbiBEYXRhIEljb24iIC8+PGJyIC8+T3BlbiBEYXRhPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGFsbGFzb3BlbmRhdGEuY29tL2Jyb3dzZT9jYXRlZ29yeT1Qb2xpY2UmbGltaXRUbz1kYXRhc2V0cyZ1dGY4PSVFMiU5QyU5MyIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgY2xhc3M9InNlcnZpY2VpbWciIHNyYz0iL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljL3BvbGljZWljb24ucG5nIiBhbHQ9IlBvbGljZSBJY29uIiAvPjxiciAvPlBvbGljZTwvYT48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tcmlnaHQ6MHB4OyI+PGEgaHJlZj0iaHR0cHM6Ly93d3cuZGFsbGFzb3BlbmRhdGEuY29tL2Jyb3dzZT9jYXRlZ29yeT1GaW5hbmNpYWwmcT1GaW5hbmNpYWwmc29ydEJ5PXJlbGV2YW5jZSZ1dGY4PSVFMiU5QyU5MyIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgY2xhc3M9InNlcnZpY2VpbWciIHNyYz0iL1B1Ymxpc2hpbmdJbWFnZXMvc3RhdGljL2ZpbmFuY2lhbGljb24ucG5nIiBhbHQ9IkZpbmFuY2UgSWNvbiIgLz48YnIgLz5GaW5hbmNpYWw8L2E+PC9saT4NCjwvdWw+DQo8ZGl2IGNsYXNzPSJjbGVhcmZpeCI+PC9kaXY+DQo8L2Rpdj4NCg0KPGRpdiBjbGFzcz0iY29sLTMgbGlzdC1pdGVtcyBjb2wtZW5kIiBzdHlsZT0id2lkdGg6MTAwJSI+DQo8dWw+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vZ2lzLmRhbGxhc2NpdHloYWxsLmNvbS9zaGFwZWZpbGVEb3dubG9hZC5hc3B4Ij5Eb3dubG9hZCBHSVMgRGF0YTwvYT48L2xpPg0KPGxpPjxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL2dpcy5kYWxsYXNjaXR5aGFsbC5jb20vY2l0eWluZm8vIj5JbnRlcmFjdGl2ZSBHSVMgTWFwPC9hPjwvbGk+DQo8bGk+PGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vZ2lzLmRhbGxhc2NpdHloYWxsLmNvbS9zdGF0aWNNYXBHYWwuYXNweCI+U3RhdGljIEdJUyBNYXBzPC9hPjwvbGk+DQo8bGk+PGEgaHJlZj0iL2RlcGFydG1lbnRzL2NvZGVjb21wbGlhbmNlL1BhZ2VzL0Zvb2RTYWZldHkuYXNweCI+UmVzdGF1cmFudCBTY29yZXM8L2E+PC9saT4NCjwvdWw+DQo8L2Rpdj4NCg0KPC9kaXY+LS0+DQoNCjxzY3JpcHQ+DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7DQoNCiAgICAkKCIuaXdhbnR0b21vZGFsIikuZmFuY3lib3goew0KICAgICAgICAndGl0bGVQb3NpdGlvbicgICAgIDogJ2luc2lkZScsDQogICAgICAgICd0cmFuc2l0aW9uSW4nICAgICAgOiAnbm9uZScsDQogICAgICAgICd0cmFuc2l0aW9uT3V0JyAgICAgOiAnbm9uZScNCiAgICB9KTsNCg0KICAgICQoIi5zd2FnaXQiKS5mYW5jeWJveCh7DQogICAgICAgICd0aXRsZVBvc2l0aW9uJyAgICAgOiAnaW5zaWRlJywNCiAgICAgICAgJ3RyYW5zaXRpb25JbicgICAgICA6ICdub25lJywNCiAgICAgICAgJ3RyYW5zaXRpb25PdXQnICAgICA6ICdub25lJywNCiAgICAgICAgJ3R5cGUnICAgICAgICAgIDogJ2lmcmFtZScsDQogICAgICAgICd3aWR0aCcgICAgICAgICA6IDU3MCwNCiAgICAgICAgJ2hlaWdodCcgICAgICAgIDogNDgwLA0KICAgICAgICAnc2Nyb2xsaW5nJyAgICAgICAgIDogJ25vJw0KICAgIH0pOw0KDQp9KTsNCg0KZnVuY3Rpb24gZmluZHNlYXJjaCgpew0KdmFyIGZpbmRzZWFyY2hpbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaW5kc2VhcmNoaW5wdXQiKS52YWx1ZTsNCnBhcmVudC5sb2NhdGlvbj0iL3BhZ2VzL3NlYXJjaHJlc3VsdHMuYXNweCNrPSIgKyBmaW5kc2VhcmNoaW5wdXQ7DQp9DQokKCcucGF5Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggQnV0dG9uJywgJ1BheScpOw0KfSk7DQokKCcuZmluZCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBCdXR0b24nLCAnRmluZCcpOw0KfSk7DQokKCcucmVxdWVzdCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUmVxdWVzdCBMaWdodGJveCBCdXR0b24nLCAnUmVxdWVzdCcpOw0KfSk7DQokKCcub3Blbi1kYXRhJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdEYXRhIFRyYW5zcGFyZW5jeSBMaWdodGJveCBCdXR0b24nLCAnRGF0YSBUcmFuc3BhcmVuY3knKTsNCn0pOw0KJCgnI2ZpbmFudGlhbC10cmFuc3BhcmVuY3knKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ0V4dGVybmFsIExpbmsgQnV0dG9uJywgJ0ZpbmFuY2lhbCBUcmFuc3BhcmVuY3knKTsNCn0pOw0KJCgnI29wZW4tcmVjb3JkcycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUElPIEJ1dHRvbicsICdPcGVuIFJlY29yZHMgUmVxdWVzdCcpOw0KfSk7DQoNCiQoJyNwYXktbGlnaHRib3gtd2F0ZXInKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1BheSBMaWdodGJveCBMaW5rJywgJ1dhdGVyIEJpbGwnKTsNCn0pOw0KJCgnI3BheS1saWdodGJveC10cmFmZmljLXRpY2tldCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUGF5IExpZ2h0Ym94IExpbmsnLCAnVHJhZmZpYyBUaWNrZXQnKTsNCn0pOw0KJCgnI3BheS1saWdodGJveC1wYXJraW5nLXRpY2tldCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUGF5IExpZ2h0Ym94IExpbmsnLCAnUGFya2luZyBUaWNrZXQnKTsNCn0pOw0KJCgnI3BheS1saWdodGJveC1yZWQtbGlnaHQtdGlja2V0Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdSZWQgTGlnaHQgVGlja2V0Jyk7DQp9KTsNCiQoJyNwYXktbGlnaHRib3gtYW1idWxhbmNlLXRpY2tldCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUGF5IExpZ2h0Ym94IExpbmsnLCAnQW1idWxhbmNlIEJpbGwnKTsNCn0pOw0KJCgnI3BheS1saWdodGJveC1hbGFybXMtcGVybWl0cycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUGF5IExpZ2h0Ym94IExpbmsnLCAnQWxhcm1zIFBlcm1pdHMnKTsNCn0pOw0KJCgnI3BheS1saWdodGJveC1jb3VydC13YXJyYW50cy1ib25kJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdDb3VydCBXYXJyYW50cyBhbmQgQm9uZHMnKTsNCn0pOw0KJCgnI3BheS1saWdodGJveC1zY2hvb2wtYnVzLXN0b3AtYXJtLXRpY2tldCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUGF5IExpZ2h0Ym94IExpbmsnLCAnU2Nob29sIEJ1cyBTdG9wIEFybSBUaWNrZXQnKTsNCn0pOw0KJCgnI3BheS1saWdodGJveC1wYXJraW5nLW1ldGVycycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUGF5IExpZ2h0Ym94IExpbmsnLCAnRm9yIFBhcmtpbmcgTWV0ZXJzJyk7DQp9KTsNCiQoJyNwYXktbGlnaHRib3gtZ2FyYWdlLXNhbGVzLXBlcm1pJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdQYXkgTGlnaHRib3ggTGluaycsICdHYXJhZ2UgU2FsZXMgUGVybWl0Jyk7DQp9KTsNCg0KDQoNCg0KDQokKCcjcGF5LWxpZ2h0Ym94LWhvdGVsLW9jY3VwYW5jeS10YXgnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1BheSBMaWdodGJveCBMaW5rJywgJ0hvdGVsIE9jY3VwYW5jeSBUYXggKEhPVCknKTsNCn0pOw0KDQokKCcjcGF5LWxpZ2h0Ym94LXNob3J0LXRlcm0tcmVudGFscycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUGF5IExpZ2h0Ym94IExpbmsnLCAnU2hvcnQtVGVybSBSZW50YWxzIChIT1QpJyk7DQp9KTsNCg0KDQoNCg0KDQoNCg0KDQoNCg0KDQokKCcjZmluZHNlYXJjaGJ1dHRvbicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ1NlYXJjaCcpOw0KfSk7DQokKCcjZmluZC1saWdodGJveC1qb2InKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ0ZpbmQgTGlnaHRib3ggTGluaycsICdKb2InKTsNCn0pOw0KJCgnI2ZpbmQtbGlnaHRib3gtbGlicmFyeScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ0xpYnJhcnknKTsNCn0pOw0KJCgnI2ZpbmQtbGlnaHRib3gtcGV0cycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ1BldHMnKTsNCn0pOw0KJCgnI2ZpbmQtbGlnaHRib3gtcGFya3MtcmVjcmVhdGlvbicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ1BhcmtzJyk7DQp9KTsNCiQoJyNmaW5kLWxpZ2h0Ym94LWN1bHR1cmFsLWNlbnRlcicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ2EgQ3VsdHVyYWwgQ2VudGVyJyk7DQp9KTsNCiQoJyNmaW5kLWxpZ2h0Ym94LW1hcCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ2EgTWFwJyk7DQp9KTsNCiQoJyNmaW5kLWxpZ2h0Ym94LWRhbGxhcy1wYXJrJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdGaW5kIExpZ2h0Ym94IExpbmsnLCAnYSBQYXJrJyk7DQp9KTsNCiQoJyNmaW5kLWxpZ2h0Ym94LXByb3BlcnR5LXpvbmluZycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ1Byb3BlcnR5IFpvbmluZycpOw0KfSk7DQokKCcjZmluZC1saWdodGJveC1yZXN0YXVyYW50LXNjb3JlcycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ1Jlc3RhdXJhbnQgU2NvcmVzJyk7DQp9KTsNCiQoJyNmaW5kLWxpZ2h0Ym94LXRyYXNoLXBpY2t1cCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnRmluZCBMaWdodGJveCBMaW5rJywgJ1RyYXNoIFBpY2t1cCcpOw0KfSk7DQoNCiQoJyNyZXF1ZXN0LWxpZ2h0Ym94LWJ1aWxkaW5nLXBlcm1pdHMtaW5zcGVjdGlvbnMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1JlcXVlc3QgTGlnaHRib3ggTGluaycsICdCdWlsZGluZyBQZXJtaXRzIGFuZCBJbnNwZWN0aW9ucycpOw0KfSk7DQokKCcjcmVxdWVzdC1saWdodGJveC1ub24tZW1lcmdlbmN5LXNlcnZpY2VzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdSZXF1ZXN0IExpZ2h0Ym94IExpbmsnLCAnMzExIFNlcnZpY2VzJyk7DQp9KTsNCiQoJyNyZXF1ZXN0LWxpZ2h0Ym94LWJpcnRoLWRlYXRoLWNlcnRpZmljYXRlcycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUmVxdWVzdCBMaWdodGJveCBMaW5rJywgJ0JpcnRoIERlYXRoIENlcnRpZmljYXRlc3MnKTsNCn0pOw0KJCgnI3JlcXVlc3QtbGlnaHRib3gtZXZlbnQtcGVybWl0cycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUmVxdWVzdCBMaWdodGJveCBMaW5rJywgJ0V2ZW50IFBlcm1pdHMnKTsNCn0pOw0KJCgnI3JlcXVlc3QtbGlnaHRib3gtZmlsbWluZy1wZXJtaXRzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdSZXF1ZXN0IExpZ2h0Ym94IExpbmsnLCAnRmlsbWluZyBQZXJtaXRzJyk7DQp9KTsNCiQoJyNyZXF1ZXN0LWxpZ2h0Ym94LWVsZWN0cmljaXR5LXByb3ZpZGVycycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUmVxdWVzdCBMaWdodGJveCBMaW5rJywgJ0VsZWN0cmljaXR5IFByb3ZpZGVycycpOw0KfSk7DQokKCcjcmVxdWVzdC1saWdodGJveC10dicpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUmVxdWVzdCBMaWdodGJveCBMaW5rJywgJ0NhYmxlLVRWLVNhdGVsbGl0ZScpOw0KfSk7DQokKCcjcmVxdWVzdC1saWdodGJveC11dGlsaXRpZXMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1JlcXVlc3QgTGlnaHRib3ggTGluaycsICdBY3RpdmF0ZSBVdGlsaXRpZXMnKTsNCn0pOw0KDQoNCiQoJyNvcGVuLW1lZXRpbmdzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdPZmZpY2lhbCBQb3N0aW5ncycsICdPcGVuIE1lZXRpbmdzJyk7DQp9KTsNCiQoJyNjb3VuY2lsLW1lZXRpbmdzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdPZmZpY2lhbCBQb3N0aW5ncycsICdDb3VuY2lsIE1lZXRpbmdzJyk7DQp9KTsNCiQoJyNjb3VuY2lsLWF0dGVuZGFuY2UnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ09mZmljaWFsIFBvc3RpbmdzJywgJ0NvdW5jaWwgQXR0ZW5hbmNlJyk7DQp9KTsNCiQoJyNwdWJsaWMtbm90aWNlcycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnT2ZmaWNpYWwgUG9zdGluZ3MnLCAnUHVibGljIE5vdGljZXMnKTsNCn0pOw0KJCgnI2NpdHktY2FsZW5kYXInKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ09mZmljaWFsIFBvc3RpbmdzJywgJ0NpdHkgQ2FsZW5kYXInKTsNCn0pOw0KJCgnI2NvdW5jaWwtbWVtb3MnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ09mZmljaWFsIFBvc3RpbmdzJywgJ0NvdW5jaWwgTWVtb3MnKTsNCn0pOw0KJCgnI2J1ZGdldCcpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnT2ZmaWNpYWwgUG9zdGluZ3MnLCAnQnVkZ2V0Jyk7DQp9KTsNCiQoJyNib2FyZHMtYW5kLWNvbW1pc3Npb25zJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdPZmZpY2lhbCBQb3N0aW5ncycsICdCb2FyZHMgYW5kIENvbW1pc3Npb25zJyk7DQp9KTsNCiQoJyNjaXR5LW1lZXRpbmctdmlkZW8nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ09mZmljaWFsIFBvc3RpbmdzJywgJ1dhdGNoIENpdHkgTWVldGluZ3MgT25saW5lJyk7DQp9KTsNCg0KJCgnI3F1aWNrLWxpbmtzLWpvYnMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1F1aWNrIExpbmtzJywgJ0pvYnMnKTsNCn0pOw0KJCgnI3F1aWNrLWxpbmtzLXdhdGVyJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdRdWljayBMaW5rcycsICdXYXRlciBVdGlsaXRpZXMnKTsNCn0pOw0KJCgnI3F1aWNrLWxpbmtzLWJ1aWxkaW5nLXBlcm1pdHMtaW5zcGVjdGlvbnMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1F1aWNrIExpbmtzJywgJ0J1aWxkaW5nIFBlcm1pdHMgYW5kIEluc3BlY3Rpb25zJyk7DQp9KTsNCiQoJyNxdWljay1saW5rcy10cmFmZmljLXRpY2tldHMnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1F1aWNrIExpbmtzJywgJ1RyYWZmaWMgVGlja2V0cycpOw0KfSk7DQokKCcjcXVpY2stbGlua3MtY291cnRzJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdRdWljayBMaW5rcycsICdDb3VydCBXYXJyYW50cyBhbmQgQm9uZHMnKTsNCn0pOw0KJCgnI3F1aWNrLWxpbmtzLXNhbml0YXRpb24nKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJ1F1aWNrIExpbmtzJywgJ1RyYXNoIFBpY2t1cCcpOw0KfSk7DQokKCcjcXVpY2stbGlua3MtMzExJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdRdWljayBMaW5rcycsICczMTEgU2VydmljZXMnKTsNCn0pOw0KJCgnI3F1aWNrLWxpbmtzLXRyYW5zcG9ydGF0aW9uJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdRdWljayBMaW5rcycsICdUcmFuc3BvcnRhdGlvbiBmb3IgSGlyZScpOw0KfSk7DQokKCcjcXVpY2stbGlua3MtMjExJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICdRdWljayBMaW5rcycsICcyMTEgTGlua3MnKTsNCn0pOw0KJCgnI3F1aWNrLWxpbmtzLWFuaW1hbC1zZXJ2aWNlcycpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnUXVpY2sgTGlua3MnLCAnQW5pbWFsIFNlcnZpY2VzJyk7DQp9KTsNCg0KDQokKCcuYnRuLXNlY29uZGFyeScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hvbWUgTGlua3MnLCAnMzExJywgJ1JlcXVlc3QgYSBTZXJ2aWNlJyk7DQp9KTsNCiQoJy5idG4tbWluaW1hbC1yZXZlcnNlJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7DQogICAgZ2EoJ3NlbmQnLCAnZXZlbnQnLCAnSG9tZSBMaW5rcycsICczMTEnLCAnQ2hlY2sgU3RhdHVzJyk7DQp9KTsNCiQoJy5nb29nbGVhcHAnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJzMxMScsICdHb29nbGUgUGxheSBTdG9yZScpOw0KfSk7DQokKCcuYXBwbGVhcHAnKS5vbignY2xpY2snLCBmdW5jdGlvbigpIHsNCiAgICBnYSgnc2VuZCcsICdldmVudCcsICdIb21lIExpbmtzJywgJzMxMScsICdBcHBsZSBTdG9yZScpOw0KfSk7DQokKCcuYnRuLnNlY29uZGFyeScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKCkgew0KICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgJ0hlcm8nLCAnNy83RXZlbnQnLCAnTGVhcm4gTW9yZScpOw0KfSk7DQo8L3NjcmlwdD4NCjxzY3JpcHQ+DQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKSB7DQogICAgLy9hZGQgYSBjdXN0b20gY2xpY2sgZXZlbnQgdG8gYW55IGxpbmsgb3IgYnV0dG9uIHdpdGggY3VzdG9tIEdvb2dsZSBBbmFseWljcyB0cmFja2luZyBkYXRhDQogICAgJCgnYVtkYXRhLWdhLWNhdGVnb3J5XSxidXR0b25bZGF0YS1nYS1jYXRlZ29yeV0saW5wdXRbZGF0YS1nYS1jYXRlZ29yeV1bdHlwZT0ic3VibWl0Il0saW5wdXRbZGF0YS1nYS1jYXRlZ29yeV1bdHlwZT0iYnV0dG9uIl0nKS5lYWNoKGZ1bmN0aW9uIChpLCBlbGVtZW50KSB7DQogICAgICAgICQoZWxlbWVudCkuY2xpY2soZnVuY3Rpb24gKCkgeyByZWNvcmRHb29nbGVFdmVudHMoZWxlbWVudCkgfSk7DQogICAgfSk7DQogICAgLy9hZGQgYSBjdXN0b20gY2hhbmdlIGV2ZW50IHRvIGNlcnRhaW4gdHlwZXMgb2YgZm9ybSBlbGVtZW50IHdpdGggY3VzdG9tIEdvb2dsZSBBbmFseWljcyB0cmFja2luZyBkYXRhDQogICAgJCgnc2VsZWN0W2RhdGEtZ2EtY2F0ZWdvcnldLHJhZGlvW2RhdGEtZ2EtY2F0ZWdvcnldLHRleHRhcmVhW2RhdGEtZ2EtY2F0ZWdvcnldLGlucHV0W2RhdGEtZ2EtY2F0ZWdvcnldW3R5cGU9InRleHQiXSxpbnB1dFtkYXRhLWdhLWNhdGVnb3J5XVt0eXBlPSJjaGVja2JveCJdLGlucHV0W2RhdGEtZ2EtY2F0ZWdvcnldW3R5cGU9ImZpbGUiXSxpbnB1dFtkYXRhLWdhLWNhdGVnb3J5XVt0eXBlPSJpbWFnZSJdLGlucHV0W2RhdGEtZ2EtY2F0ZWdvcnldW3R5cGU9InBhc3N3b3JkIl0nKS5lYWNoKGZ1bmN0aW9uIChpLCBlbGVtZW50KSB7DQogICAgICAgICQoZWxlbWVudCkuY2hhbmdlKGZ1bmN0aW9uICgpIHsgcmVjb3JkR29vZ2xlRXZlbnRzKGVsZW1lbnQpIH0pOw0KICAgIH0pOw0KICAgIGZ1bmN0aW9uIHJlY29yZEdvb2dsZUV2ZW50cyhlbGVtZW50KSB7DQogICAgICAgIGNvbnNvbGUubG9nKCJiZWdpbiByZWNvcmRHb29nbGVFdmVudHMiKTsNCiAgICAgICAgdmFyIGNhdGVnb3J5ID0gJChlbGVtZW50KS5kYXRhKCJnYS1jYXRlZ29yeSIpOw0KICAgICAgICB2YXIgYWN0aW9uID0gJChlbGVtZW50KS5kYXRhKCJnYS1hY3Rpb24iKTsNCiAgICAgICAgdmFyIGxhYmVsID0gJChlbGVtZW50KS5kYXRhKCJnYS1sYWJlbCIpOw0KICAgICAgICB2YXIgdmFsdWUgPSAkKGVsZW1lbnQpLmRhdGEoImdhLXZhbHVlIik7DQogICAgICAgIC8vZGVmYXVsdCB2YWx1ZXMNCiAgICAgICAgaWYgKHR5cGVvZiAoYWN0aW9uKSA9PSAidW5kZWZpbmVkIikgew0KICAgICAgICAgICAgYWN0aW9uID0gIiI7DQogICAgICAgIH0NCiAgICAgICAgaWYgKHR5cGVvZiAobGFiZWwpID09ICJ1bmRlZmluZWQiKSB7DQogICAgICAgICAgICBsYWJlbCA9ICIiOw0KICAgICAgICB9DQogICAgICAgIC8vc2VuZCBldmVudCB3aXRoIGEgdmFsdWUgcGFyYW1ldGVyIG9ubHkgaWYgb25lIGlzIHByb3ZpZGVkDQogICAgICAgIGlmICh0eXBlb2YgKHZhbHVlKSA9PSAidW5kZWZpbmVkIiB8fCB2YWx1ZSA9PT0gIiIgfHwgaXNOYU4odmFsdWUpKSB7DQogICAgICAgICAgICBnYSgnc2VuZCcsICdldmVudCcsIGNhdGVnb3J5LCBhY3Rpb24sIGxhYmVsKTsNCiAgICAgICAgfQ0KICAgICAgICBlbHNlIHsNCiAgICAgICAgICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgY2F0ZWdvcnksIGFjdGlvbiwgbGFiZWwsIHZhbHVlKTsNCiAgICAgICAgfQ0KICAgIH0NCn0pOw0KPC9zY3JpcHQ+DQo8bWV0YSBuYW1lPSJtc3ZhbGlkYXRlLjAxIiBjb250ZW50PSI5NjBEQjBERTM0NTU4ODcyNUYxMjZCOEMzQTg1NzIxMSIgLz5kBSZnXzI3ZDQ1ODI3XzIyOTRfNGVlMF9iYTIyXzE1MDkzNWY4NjJjMw9kFgJmDxYEHwIFH21zLXJ0ZS1lbWJlZGNvZGUgbXMtcnRlLWVtYmVkd3AfAQXzETxkaXYgaWQ9Imhlcm8iPg0KICAgICAgPGRpdiBpZD0iaGVyby1jdGEiPg0KPGRpdiAgY2xhc3M9Imhlcm8tY3RhLXBvc2l0aW9uIj4NCjxoMSBjbGFzcz0iY3RhLXdlbGNvbWUiPldlbGNvbWUgdG8gRGFsbGFzPC9oMT48aDIgY2xhc3M9ImN0YS1zdWJ0aXRsZSI+Q29tbWl0dGVkIFRvICJTZXJ2aWNlIEZpcnN0IiBFeGNlbGxlbmNlPC9oMj48YSBpZD0iZXhwbG9yZSIgaHJlZj0iI3BvcHVsYXJsaW5rcyIgYXJpYS1sYWJlbD0iSnVtcCBUbyBNYWluIENvbnRlbnQiPjxzcGFuIGNsYXNzPSJzY3JvbGwtZG93biI+PC9zcGFuPjwvYT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCg0KPCEtLXNjcm9sbC0tPg0KICAgICAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4vLzwhW0NEQVRBWw0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdhW2lkJD0iZXhwbG9yZSJdJywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICAgICBzZXRQb3NpdGlvbigiI3BvcHVsYXJsaW5rcyIsIGUpOw0KICAgICAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAgICAgZnVuY3Rpb24gc2V0UG9zaXRpb24oc2VjdGlvbiwgZSkgew0KICAgICAgICAgICAgICAgICAgICAkKCIjczQtd29ya3NwYWNlIikuYW5pbWF0ZSh7DQogICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6ICQoc2VjdGlvbikub2Zmc2V0KCkudG9wDQogICAgICAgICAgICAgICAgICAgIH0sIDgwMCk7DQogICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgICAgICAgICB9DQo8L3NjcmlwdD4NCg0KPHNjcmlwdCBzcmM9Imh0dHBzOi8vdXNlLnR5cGVraXQubmV0L2RzajRybXkuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdD50cnl7VHlwZWtpdC5sb2FkKHsgYXN5bmM6IHRydWUgfSk7fWNhdGNoKGUpe308L3NjcmlwdD4NCg0KPHN0eWxlPg0KLmN0YS13ZWxjb21lIHsNCmZvbnQtZmFtaWx5OiBQcm94aW1hTm92YS1Cb2xkLCBzYW5zLXNlcmlmOw0KZm9udC1zaXplOiA2OHB4Ow0KY29sb3I6ICNGRkZGRkY7DQpsZXR0ZXItc3BhY2luZzogNHB4Ow0KbGluZS1oZWlnaHQ6IDk2cHg7DQp0ZXh0LXNoYWRvdzogLTNweCAtMXB4IDVweCByZ2JhKDAsMCwwKTsNCmZvbnQtc3R5bGU6IG5vcm1hbCAhaW1wb3J0YW50Ow0KdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCn0NCi5jdGEtc3VidGl0bGUgew0KZm9udC1mYW1pbHk6IFByb3hpbWFOb3ZhLVNlbWlib2xkLCAnTGF0bycsIHNhbnMtc2VyaWY7DQpmb250LXNpemU6IDIycHg7DQpjb2xvcjogI0ZGRkZGRjsNCmxldHRlci1zcGFjaW5nOiAzcHg7DQpsaW5lLWhlaWdodDogMzFweDsNCnRleHQtc2hhZG93OiAtMnB4IC0ycHggM3B4IHJnYigwIDAgMCk7DQp0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOw0KfQ0KI2hlcm8tY3RhIGgxIHsNCnBhZGRpbmctdG9wOiA1MHB4Ow0KfQ0KI2hlcm8tY3RhIC5zY3JvbGwtZG93biB7DQogICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7DQp9DQojaGVyby1jdGEgew0KICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsNCnBvc2l0aW9uOiByZWxhdGl2ZTsNCn0NCiNoZXJvIHsNCiAgICBoZWlnaHQ6IDMwMHB4Ow0KfQ0KLmhlcm8tY3RhLXBvc2l0aW9uIHsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICBsZWZ0OiA1MCU7DQogIGJvcmRlci1yYWRpdXM6IDUwJTsNCiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7DQogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgDQp3aWR0aDogMTAwJTt9DQoNCi8qIEN1c3RvbSwgaVBob25lIFJldGluYSAqLyANCiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiAzMjBweCkgew0KLmhlcm8tY3RhLXBvc2l0aW9uIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgYm90dG9tOiAyNXB4Ow0Kd2lkdGg6IDkwJTt9DQogICAgfQ0KLyogRXh0cmEgU21hbGwgRGV2aWNlcywgUGhvbmVzICovIA0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDQ4MHB4KSB7DQouaGVyby1jdGEtcG9zaXRpb24gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IDcwcHg7fQ0KICAgIH0NCi8qIE1lZGl1bSBEZXZpY2VzLCBEZXNrdG9wcyAqLw0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDk5MnB4KSB7DQouaGVyby1jdGEtcG9zaXRpb24gew0KICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCiAgICBib3R0b206IDM1cHg7fQ0KICAgIH0NCjwvc3R5bGU+ZAUmZ185NjM5YzUyYl85ZmVkXzQ0ZDVfODE4NF9kNTQ5MzMyOGI1YzUPZBYCAgEPFgQeBXN0eWxlBQ5kaXNwbGF5OmJsb2NrOx8BBeoBPHVsIGNsYXNzPSd1bnN0eWxlZCcgaWQ9J2FsZXJ0c3VsJz48bGk+PGEgaHJlZj0naHR0cHM6Ly93d3cuZGFsbGFzY2l0eW5ld3MubmV0LycgdGFyZ2V0PSdfYmxhbmsnPlRoZSBDaXR5IGlzIGV4cGVyaWVuY2luZyBhIHNlcnZpY2Ugb3V0YWdlIGFuZCBpcyB3b3JraW5nIHRvIHJlc3RvcmUgc2VydmljZXMuIFdlIGFwcHJlY2lhdGUgeW91ciBwYXRpZW5jZSBkdXJpbmcgdGhpcyB0aW1lLjwvYT48L2xpPjwvdWw+ZAIFD2QWAgICD2QWAgICD2QWAgIFD2QWAgIDDxYCHgdWaXNpYmxlaBYCZg9kFgQCAg9kFgYCAQ8WAh8EaGQCAw8WAh8EaGQCBQ8WAh8EaGQCAw8PFgIeCUFjY2Vzc0tleQUBL2RkZM7WqIRQ90L9lfWHGREWJpiPElTFPUcmzSUKofjZ8m6X">
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
<script src="/WebResource.axd?d=1ZaNuB-7t0Zve38TMcZMUOkeVYnPROcRRioR94K_tUV4Bn_paYFl1_CSrwgpHOqMLUVB6gUTu68kU4hhxaA-HQOgxgRDBsbtk20yWv9SEoY1&t=637814437746327080" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var MSOWebPartPageFormName = 'aspnetForm';
var g_presenceEnabled = true;
var g_wsaEnabled = false;
var g_wsaQoSEnabled = false;
var g_wsaQoSDataPoints = [];
var g_wsaLCID = 1033;
var g_wsaListTemplateId = 850;
var g_wsaSiteTemplateId = 'BLANKINTERNET#0';
var _fV4UI = true;
var _spPageContextInfo = {
webServerRelativeUrl: "\u002f",
webAbsoluteUrl: "https:\u002f\u002fdallascityhall.com",
siteAbsoluteUrl: "https:\u002f\u002fdallascityhall.com",
serverRequestPath: "\u002fPages\u002fdefault.aspx",
layoutsUrl: "_layouts\u002f15",
webTitle: "Dallas City Hall",
webTemplate: "53",
tenantAppVersion: "0",
isAppWeb: false,
Has2019Era: true,
webLogoUrl: "\u002fSiteAssets\u002fcod-site-icon.jpg",
webLanguage: 1033,
currentLanguage: 1033,
currentUICultureName: "en-US",
currentCultureName: "en-US",
clientServerTimeDelta: new Date("2023-05-12T09:49:56.1466069Z") - new Date(),
siteClientTag: "7863$$15.0.5223.1000",
crossDomainPhotosEnabled: false,
webUIVersion: 15,
webPermMasks: {
High: 16,
Low: 196705
},
pageListId: "{4a35db85-1d01-4ce0-9804-6a1072e5021e}",
pageItemId: 533,
pagePersonalizationScope: 1,
alertsEnabled: true,
siteServerRelativeUrl: "\u002f",
allowSilverlightPrompt: 'True'
};
var L_Menu_BaseUrl = "";
var L_Menu_LCID = "1033";
var L_Menu_SiteTheme = "null";
document.onreadystatechange = fnRemoveAllStatus;
function fnRemoveAllStatus() {
removeAllStatus(true)
};
var _spWebPartComponents = new Object(); //]]>
</script>
<script src="/_layouts/15/blank.js?rev=ZaOXZEobVwykPO9g8hq%2F8A%3D%3D" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
(function() {
if (typeof(_spBodyOnLoadFunctions) === 'undefined' || _spBodyOnLoadFunctions === null) {
return;
}
_spBodyOnLoadFunctions.push(function() {
ExecuteOrDelayUntilScriptLoaded(function() {
var pairs = SP.ScriptHelpers.getDocumentQueryPairs();
var followDoc, itemId, listId, docName;
for (var key in pairs) {
if (key.toLowerCase() == 'followdocument') followDoc = pairs[key];
else if (key.toLowerCase() == 'itemid') itemId = pairs[key];
else if (key.toLowerCase() == 'listid') listId = pairs[key];
else if (key.toLowerCase() == 'docname') docName = decodeURI(pairs[key]);
}
if (followDoc != null && followDoc == '1' && listId != null && itemId != null && docName != null) {
SP.SOD.executeFunc('followingcommon.js', 'FollowDocumentFromEmail', function() {
FollowDocumentFromEmail(itemId, listId, docName);
});
}
}, 'SP.init.js');
});
})();
(function() {
if (typeof(_spBodyOnLoadFunctions) === 'undefined' || _spBodyOnLoadFunctions === null) {
return;
}
_spBodyOnLoadFunctions.push(function() {
if (typeof(SPClientTemplates) === 'undefined' || SPClientTemplates === null || (typeof(APD_InAssetPicker) === 'function' && APD_InAssetPicker())) {
return;
}
var renderFollowFooter = function(renderCtx, calloutActionMenu) {
if (renderCtx.ListTemplateType == 700) myDocsActionsMenuPopulator(renderCtx, calloutActionMenu);
else CalloutOnPostRenderTemplate(renderCtx, calloutActionMenu);
var listItem = renderCtx.CurrentItem;
if (typeof(listItem) === 'undefined' || listItem === null) {
return;
}
if (listItem.FSObjType == 0) {
calloutActionMenu.addAction(new CalloutAction({
text: Strings.STS.L_CalloutFollowAction,
tooltip: Strings.STS.L_CalloutFollowAction_Tooltip,
onClickCallback: function(calloutActionClickEvent, calloutAction) {
var callout = GetCalloutFromRenderCtx(renderCtx);
if (!(typeof(callout) === 'undefined' || callout === null)) callout.close();
SP.SOD.executeFunc('followingcommon.js', 'FollowSelectedDocument', function() {
FollowSelectedDocument(renderCtx);
});
}
}));
}
};
var registerOverride = function(id) {
var followingOverridePostRenderCtx = {};
followingOverridePostRenderCtx.BaseViewID = 'Callout';
followingOverridePostRenderCtx.ListTemplateType = id;
followingOverridePostRenderCtx.Templates = {};
followingOverridePostRenderCtx.Templates.Footer = function(renderCtx) {
var renderECB;
if (typeof(isSharedWithMeView) === 'undefined' || isSharedWithMeView === null) {
renderECB = true;
} else {
var viewCtx = getViewCtxFromCalloutCtx(renderCtx);
renderECB = !isSharedWithMeView(viewCtx);
}
return CalloutRenderFooterTemplate(renderCtx, renderFollowFooter, renderECB);
};
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(followingOverridePostRenderCtx);
}
registerOverride(101);
registerOverride(700);
});
})();
if (typeof(DeferWebFormInitCallback) == 'function') DeferWebFormInitCallback(); //]]>
</script>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="BAB98CB3">
</div>
<script type="text/javascript">
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ctl00$ScriptManager', 'aspnetForm', [], [], [], 90, 'ctl00');
//]]>
</script>
<!-- Google Tag Manager -->
<noscript>
<iframe src="https://googletagmanager.com/ns.html?id=GTM-P2GHZW" height="0" width="0" style="display:none;visibility:hidden">
</iframe>
</noscript>
<script>
//<![CDATA[
(function(w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start': new Date().getTime(),
event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s),
dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src = '//www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', 'GTM-P2GHZW');
//]]>
</script>
<!-- End Google Tag Manager -->
<div id="ms-designer-ribbon">
<div>
<div id="s4-ribbonrow" style="visibility: hidden; display: none; height: 0px;"></div>
</div>
</div>
<div id="ctl00_g_c06763ce_4062_40f5_928c_2ae65f7854cc" __markuptype="vsattributemarkup" __webpartid="{c06763ce-4062-40f5-928c-2ae65f7854cc}" webpart="true" isclosed="false">
</div>
<div id="s4-workspace" style="height: 1200px; width: 1600px;">
<div class="s4-notdlg top-row">
<!-- start s4 top row-->
<div id="outerWrapper" unselectable="on">
<!-- start outerWrapper-->
<nav id="mainNav" unselectable="on" class="noindex">
<style>
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
</style>
<div class="s4-notdlg top-row">
<!-- start s4 top row-->
<div id="outerWrapper2" unselectable="on">
<!-- start outerWrapper-->
<div id="skipNav">
<div class="container">
<button type="button" onkeypress="event.keyCode == 13 && gotoMain()" onclick="gotoMain()"> Skip Navigation </button>
</div>
<script type="text/javascript">
function gotoMain() {
$('#s4-bodyContainer a').first().focus();
// document.getElementById("s4-bodyContainer").scrollIntoView({behavior: "smooth", block: "start", inline: "nearest"});
}
</script>
</div>
<div id="innerWrapper" unselectable="on">
<!-- start innerWrapper-->
<div id="navs" unselectable="on">
<div id="topNav">
<!--dept header start-->
<div class="hidden-xs hidden-sm">
<ul id="textNav">
<li class="no-left-padding"><a class="first-direct-link" href="/government/citymayor/Pages/default.aspx">Mayor</a></li>
<li><a class="first-direct-link" href="/government/Pages/city-council.aspx">City Council</a></li>
<li><a class="first-direct-link" href="/government/citymanager/Pages/default.aspx">City Manager</a></li>
<li>
<div>
<button class="dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Departments</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
<a class="text-dark-blue bottom-border" href="/departments/Pages/default.aspx">View All Departments</a>
<p class="text-dark-green">Most Visited</p>
<ul id="most-visited-departments">
<li class="noindex "><a href="/departments/humanresources/employment">Employment</a></li>
<li><a href="/departments/waterutilities">Water Utilities</a></li>
<li><a href="/departments/sustainabledevelopment/buildinginspection">Building Inspection</a></li>
<li><a href="/departments/sanitation">Sanitation</a></li>
<li><a href="/departments/courtdetentionservices">Court & Detention Services</a>
</li>
<li><a href="/departments/humanresources">Human Resources</a></li>
<li><a href="/departments/codecompliance">Code Compliance</a></li>
<li><a href="/departments/procurement">Procurement Services</a></li>
<li><a href="/government/citysecretary/openrecords/Pages/default.aspx">Open Records</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx">Garage Sale</a></li>
</ul>
</div>
</div>
</li>
<li>
<div>
<button tabindex="0" class="dropdown-toggle" type="button" id="dropdownMenuButton2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Pay</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton2">
<ul id="payment-group">
<li><a href="/departments/waterutilities/Pages/pay-water-bill.aspx" target="_blank">Water Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Traffic & Civil Tickets</a></li>
<li><a href="https://prodpci.etimspayments.com/pbw/include/dallas/input.jsp" target="_blank">Parking Ticket</a></li>
<!-- <li><a href="/departments/transportation/Pages/red-light-ticket.aspx">Red Light Ticket</a></li> -->
<li><a href="https://www.velocitypayment.com/client/bankofamerica/cityofdallas/frab/index.html" target="_blank"> Ambulance Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" target="_blank"> Court Warrants & Bonds</a></li>
<li><a href="/Pages/paybyapp.aspx">For Parking Meters</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx">Garage Sales Permit</a></li>
<li><a href="https://wmq.etimspayments.com/pbw/include/dallas/input.jsp" target="_blank">School Bus Stop Ticket</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_registrations.aspx">Security Alarm Permit</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT)</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT)</a></li>
</ul>
</div>
</div>
</li>
</ul>
</div>
</div>
<!-- Mobile menu-->
<div class="hidden-lg hidden-md navbar navbar-inverse">
<div class="navbar-collaps">
<div class="navbar-header">
<div id="dl-menu" class="dl-menuwrapper">
<a href="/" unselectable="on">
<img alt="City of Dallas Home" src="/PublishingImages/style-library/City of Dallas - Landscape - White and Green.png" unselectable="on">
</a>
<!-- <div class="left-btns"> -->
<a id="search-open-icon" href="#" role="button" onclick="showMobileSearch(true)" onkeypress="event.keyCode == 13 && showMobileSearch(true)"><img alt="Search" src="/SiteCollectionImages/COD_images/Icons-Standard-Search-white.svg"></a>
<a id="search-close-icon" tabindex="0" onclick="showMobileSearch(false)" onkeypress="event.keyCode == 13 && showMobileSearch(false)"><img alt="close search" src="/SiteCollectionImages/COD_images/White-Close-Icon-24px.png"></a>
<div id="main-search-mobile" class="search-main">
<label for="searchtext" class="visuallyhidden">Search </label>
<input type="text" placeholder="Search...." id="searchtextMobile" class="textField" onkeydown="event.keyCode == 13 && goSearch('searchtextMobile')"
autofocus="autofocus"><a tabindex="0" class="search-go-btn" onkeydown="event.keyCode == 13 && goSearch('searchtextMobile')" onclick="goSearch('searchtextMobile')"></a>
</div>
<button type="button" class="dl-trigger" id="menu-overlay" aria-label="main menu" onclick="showMobileSearch(false)" onkeypress="event.keyCode == 13 && showMobileSearch(false)"></button>
<ul class="dl-menu">
<li>
<a tabindex="-1" href="/Pages/resident.aspx" class="has-list">Resident</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="/Pages/resident.aspx" aria-label="Main menu">Resident</a></li>
<li><a href="/Pages/resident.aspx">Resident Home</a></li>
<li>
<a href="#" class="has-list" role="menuitem">Payments</a>
<ul class="dl-submenu" id="mobile-payments">
<li class="dl-back"><a href="#" aria-label="Back to Resident">Payments</a></li>
<li><a href="/departments/waterutilities/Pages/pay-water-bill.aspx" target="_blank">Water Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Traffic & Civil Tickets</a></li>
<li><a href="https://prodpci.etimspayments.com/pbw/include/dallas/input.jsp" target="_blank">Parking Ticket</a></li>
<!-- <li><a href="/departments/transportation/Pages/red-light-ticket.aspx">Red Light Ticket</a></li> -->
<li><a href="https://www.velocitypayment.com/client/bankofamerica/cityofdallas/frab/index.html" target="_blank"> Ambulance Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" target="_blank"> Court Warrants & Bonds</a></li>
<li><a href="/Pages/paybyapp.aspx">For Parking Meters</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx">Garage Sales Permit</a></li>
<li><a href="https://wmq.etimspayments.com/pbw/include/dallas/input.jsp" target="_blank">School Bus Stop Ticket</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_registrations.aspx">Security Alarm Permit</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT)</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT)</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Resources</a>
<ul class="dl-submenu" id="mobile-services">
<li class="dl-back"><a href="#" aria-label="Back to Resident">Resources</a></li>
<li><a href="/departments/dallas-animal-services/Pages/default.aspx">Animal Services</a></li>
<li><a href="/departments/community-care/Pages/community_centers.aspx">Community Centers</a></li>
<li><a href="http://www.dallasculture.org/culturalFacilities.asp" target="_blank">Cultural Centers</a></li>
<li><a href="http://dallaslibrary2.org/hours.php" target="_blank">Libraries</a></li>
<li><a href="http://www.dallasparks.org/" target="_blank">Parks and Recreations</a></li>
<li><a href="/departments/sanitation/Pages/default.aspx">Sanitation Services</a></li>
<li><a href="/Pages/transportation.aspx">Transportation</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Public Safety</a>
<ul class="dl-submenu" id="mobile-safety">
<li class="dl-back"><a href="#" aria-label="Back to Resident">Public Safety</a></li>
<li><a href="http://www.dallaspolice.net/communitys" target="_blank">Community Policing</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Courts</a></li>
<li><a href="http://www.dallaspolice.net/resource/dpd_crimereport" target="_blank">Crime Reports</a></li>
<li><a href="http://www.dallaspolice.net/division/southwest/crimewatch" target="_blank">Crime Watch</a></li>
<li><a href="/departments/officeemergencymanagement/Pages/default.aspx" target="_blank">Emergency Management</a></li>
<li><a href="/departments/officeemergencymanagement/Pages/Get-Prepared.aspx">Emergency Preparedness</a></li>
<li><a href="http://www.dallasfirerescue.com/inspections_investigations_prevention.html" target="_blank">Fire Prevention Program</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">State Assistance</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="#" aria-label="Back to Resident">State Assistance</a></li>
<li class="noindex"><a href="https://www.211texas.org/" target="_blank">2-1-1 Texas Website</a></li>
<li class="noindex"><a href="https://www.211texas.org/about-2-1-1/" target="_blank">About 2-1-1 Texas</a></li>
<li class="noindex"><a href="https://yourtexasbenefits.com/" target="_blank">Your Texas Benefits</a></li>
<li class="noindex"><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/snap" target="_blank">SNAP (Food Stamps)</a></li>
<li class="noindex"><a href="https://texaswic.org/" target="_blank">WIC (Women, Infants, and Children)</a></li>
<li class="noindex"><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/tanf" target="_blank">TANF (Temporary Assistance to Needy Families)</a></li>
<li class="noindex"><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/health" target="_blank">Health Care</a></li>
</ul>
</li>
<li><a href="//www.dallaspolice.net/" target="_blank">Dallas Police</a></li>
<li><a href="/departments/fire-rescue/" target="_blank">Dallas Fire</a></li>
</ul>
</li>
<!-- Residents -->
<li><a tabindex="-1" href="/Pages/visitor.aspx">Visitor</a></li>
<li><a tabindex="-1" href="#" class="has-list">Business</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="#" aria-label="back to main menu">Business</a></li>
<li><a href="/business/Pages/default.aspx">Business Home</a></li>
<li>
<a href="#" class="has-list" role="menuitem">Licenses and Permits
</a>
<ul class="dl-submenu" id="mobile-permits">
<li class="dl-back"><a href="#" aria-label="back to Business">Licenses and Permits</a></li>
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx">Building Permits and Inspections</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_licenses.aspx">Business and Vendor Licenses</a></li>
<li><a href="https://dallascityhall.bonfirehub.com/" target="_blank">City Vendor Registration</a></li>
<li><a href="https://dallascreates.org" target="_blank">Dallas Film & Creative Industries Office</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_permits.aspx">Fire Prevention and Pool Permits</a></li>
<li><a href="/departments/codecompliance/Admin1/ApplyforaPermit/Pages/FoodEstablishment.aspx">Food Service Permits</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT) Registration</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT) Registration</a></li>
</ul>
</li>
<li><a href="#" class="has-list" role="menuitem">Small Business</a>
<ul class="dl-submenu" id="mobile-small">
<li class="dl-back"><a href="#" aria-label="back to Business menu">Small Business</a></li>
<li><a href="http://www.bbb.org/north-central-texas/" target="_blank">Better Business Bureau in Dallas</a></li>
<li><a href="http://www.dallaschamber.org/" target="_blank">Dallas Regional Chamber</a></li>
<li><a href="https://sourcedallas.org" target="_blank">How to Start a New Business</a></li>
<li><a href="https://www.sba.gov/" target="_blank">Small Business Administration</a></li>
<li><a href="https://sourcedallas.org" target="_blank">Small Business Center</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Development</a>
<ul class="dl-submenu" id="mobile-development">
<li class="dl-back"><a href="#" aria-label="back to Business menu">Development</a></li>
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx">Building Inspection</a></li>
<li><a href="/departments/procurement/Pages/construction_notices.aspx">Construction Notices</a></li>
<li><a href="https://www.dallasecodev.org/" target="_blank">Dallas Economic Development</a></li>
<li><a href="https://www.dallasecodev.org/incentives/tifs-pids/dallas-downtown-improvement-district/" target="_blank">Downtown Improvement District</a></li>
<li><a href="/departments/pnv/strategic-planning/Pages/forward-dallas.aspx">ForwardDallas!</a></li>
<li><a href="/departments/pnv/Pages/current-planning.aspx">Zoning - Current Planning</a></li>
<li><a href="https://gis.dallascityhall.com/zoningweb/" target="_blank">Zoning Interactive Maps</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Resources</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="#" aria-label="back to Business menu">Resources</a></li>
<li><a href="/departments/procurement" target="_blank">Doing Business With the City</a></li>
<li><a href="https://vgov.dallascityhall.com/">vGov</a></li>
</ul>
</li>
</ul>
</li>
<li><a tabindex="-1" href="#" class="has-list">Government</a>
<ul class="dl-submenu">
<li class="dl-back"><a href="#" aria-label="back to main menu">Government</a></li>
<li><a href="/government/Pages/default.aspx">Government Home</a></li>
<li><a href="#" class="has-list" role="menuitem">Mayor and City Council</a>
<ul class="dl-submenu" id="mobile-councils">
<li class="dl-back"><a href="#" aria-label="back to Government menu">Mayor and City Council</a></li>
<li><a href="/government/citymayor/Pages/default.aspx"><span class="notranslate">Eric Johnson</span><h5>MAYOR</h5></a></li>
<li><a href="/government/citycouncil/district1/Pages/default.aspx">1. <span class="notranslate">Chad West</span></a></li>
<li><a href="/government/citycouncil/district2/Pages/default.aspx">2. <span class="notranslate">Jesse Moreno</span></a></li>
<li><a href="/government/citycouncil/district3/Pages/default.aspx">3. <span class="notranslate">Casey Thomas, II</span></a></li>
<li><a href="/government/citycouncil/district4/Pages/default.aspx">4. <span class="notranslate">Carolyn King Arnold</span><h5>MAYOR PRO TEM</h5></a></li>
<li><a href="/government/citycouncil/district5/Pages/default.aspx">5. <span class="notranslate">Jaime Resendez</span></a></li>
<li><a href="/government/citycouncil/district6/Pages/default.aspx">6. <span class="notranslate">Omar Narvaez</span><h5>DEPUTY MAYOR PRO TEM</h5></a></li>
<li><a href="/government/citycouncil/district7/Pages/default.aspx">7. <span class="notranslate">Adam Bazaldua</span></a></li>
<li><a href="/government/citycouncil/district8/Pages/default.aspx">8. <span class="notranslate">Tennell Atkins</span></a></li>
<li><a href="/government/citycouncil/district9/Pages/default.aspx">9. <span class="notranslate">Paula Blackmon</span></a></li>
<li><a href="/government/citycouncil/district10/Pages/default.aspx">10. <span class="notranslate">B. Adam McGough</span></a></li>
<li><a href="/government/citycouncil/district11/Pages/default.aspx">11. <span class="notranslate">Jaynie Schultz</span></a></li>
<li><a href="/government/citycouncil/district12/Pages/default.aspx">12. <span class="notranslate">Cara Mendelsohn</span></a></li>
<li><a href="/government/citycouncil/district13/Pages/default.aspx">13. <span class="notranslate">Gay Donnell Willis</span></a></li>
<li><a href="/government/citycouncil/district14/Pages/default.aspx">14. <span class="notranslate">Paul E. Ridley</span></a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">City Management
</a>
<ul class="dl-submenu" id="mobile-managers">
<li class="dl-back"><a href="#" aria-label="Go back to government menu">City Management</a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/City-Manager.aspx"><span>T.C. Broadnax</span><h5>City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Kimberly-Tolbert.aspx"><span>Kimberly Bizor Tolbert</span><h5>Deputy City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Jon-Fortune.aspx"><span>Jon Fortune</span><h5>Deputy City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Majed-Al-Ghafry.aspx"><span>Majed Al-Ghafry</span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/liz-cedillo-pereira.aspx"><span>Liz Cedillo-Pereira</span><h5>Assistant City Manager </h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Carl-Simpson.aspx"><span>Carl Simpson</span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Robert-Perez.aspx"><span>Robert Perez </span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Jack-Ireland.aspx"><span>Jack Wade Ireland, Jr.</span><h5>Chief Financial Officer</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Genesis-Gavino.aspx"><span>Genesis Gavino</span><h5>Chief of Staff </h5></a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Other City Officials
</a>
<ul class="dl-submenu" id="mobile-officials">
<li class="dl-back">
<a href="#" aria-label="back to Government menu">Other City Officials
</a>
</li>
<li><a href="http://www.dallascityattorney.com/" target="_blank"><span class="notranslate">Tammy Palomino</span><h5>INTERIM CITY ATTORNEY</h5></a></li>
<li><a href="/departments/auditor/Pages/default.aspx"><span class="notranslate">Mark S. Swann</span><h5>CITY AUDITOR</h5></a></li>
<li><a href="/government/citysecretary/Pages/default.aspx"><span class="notranslate">Bilierae Johnson</span><h5>CITY SECRETARY</h5></a></li>
<li><a href="/departments/judiciary/Pages/default.aspx"><span class="notranslate">Preston Robinson</span><h5>ADMINISTRATIVE JUDGE</h5></a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">Public Meetings
</a>
<ul class="dl-submenu" id="mobile-meetings">
<li class="dl-back" aria-label="back to Government menu">
<a href="#">Public Meetings
</a>
</li>
<li><a href="/government/Pages/Council-Agenda.aspx">Council Agendas</a></li>
<li><a href="/government/Pages/CouncilBriefings.aspx">Council Briefings</a></li>
<li><a href="/government/Pages/Committee-Meetings.aspx">Committee Briefings</a></li>
<!--<li><a href="/government/Pages/archive.aspx">Council & Committee Archive</a></li>-->
<li><a href="https://www.dallasopendata.com/Government/Dallas-City-Council-Voting-Record/ts5d-gdq6" target="_blank">Council Voting Record</a></li>
<li><a href="/government/Boards-and-Commissions/Pages/default.aspx">Boards & Commissions Meetings</a></li>
<li><a href="/government/citysecretary/Pages/Public-Meetings.aspx">City Secretary's Public Meetings</a></li>
</ul>
</li>
<li>
<a href="#" class="has-list" role="menuitem">City Hall Resources
</a>
<ul class="dl-submenu" id="mobile-resources">
<li class="dl-back">
<a href="#" aria-label="back to Government menu">City Hall Resources
</a>
</li>
<li><a href="http://annualreport.dallascityhall.com/" target="_blank">Annual Report</a></li>
<li><a href="/government/Pages/city-codes.aspx">City Codes</a></li>
<li><a href="https://www.dallasecodev.org/" target="_blank">Dallas Economic Development</a></li>
<li><a href="/departments/Pages/department4.aspx">Departments</a></li>
<li><a href="https://gis.dallascityhall.com/" target="_blank">Enterprise GIS</a></li>
<li><a href="http://financialtransparency.dallascityhall.com/" target="_blank">Financial Transparency</a></li>
<li><a href="/calendar/">Calendar</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a tabindex="-1" href="http://www.dallascitynews.net/" target="_blank">News
</a>
</li>
<li>
<a tabindex="-1" href="#" class="has-list" aria-label="3 1 1">311</a>
<ul class="dl-submenu" id="mobile-311">
<li class="dl-back"><a href="#" aria-label="Go back to main menu">311</a></li>
<li><a target="_blank" href="https://dallascrm.force.com/public/servicetypes">Request a Service</a></li>
<li><a href="/services/311" aria-label="about 3 1 1">About 311</a></li>
<li><a href="#" class="has-list" role="menuitem">Frequently Requested Services</a>
<ul class="dl-submenu" id="mobile-resources-311">
<li class="dl-back"><a href="#" aria-label="back to 3 1 1 menu">Frequently Requested Services</a></li>
<li><a href="https://dallascrm.force.com/public/request/CODEGENERAL/location" target="_blank">Code Concerns</a></li>
<li><a href="https://dallascrm.force.com/public/request/SPSVSNOT/location" target="_blank">Sanitation Roll Cart</a></li>
<li><a href="https://dallascrm.force.com/public/request/SANMISGA/location" target="_blank">Missed Garbage</a></li>
<li><a href="https://dallascrm.force.com/public/request/STSROUST/location" target="_blank">Street Repair</a></li>
<li><a href="https://dallascrm.force.com/public/request/PWTROV/location" target="_blank">Parking – Report a Violation</a></li>
<li><a href="https://dallascrm.force.com/public/request/ANILOSDC/location" target="_blank">Animal Loose</a></li>
<li><a href="https://dallascrm.force.com/public/request/DEADANPU/location" target="_blank">Dead Animal Pick Up</a></li>
<li><a href="https://dallascrm.force.com/public/request/DPD24HR/location" target="_blank">24 Hour Parking</a></li>
<li><a class="blue-back" target="_blank" href="https://dallascrm.force.com/public/requests">View All 311 Services</a></li>
</ul>
</li>
</ul>
</li>
<li>
<a tabindex="-1" href="/government/citymayor/Pages/default.aspx">Mayor
</a>
</li>
<li>
<a tabindex="-1" href="/government/Pages/city-council.aspx">City Council
</a>
</li>
<li>
<a tabindex="-1" href="/government/citymanager/Pages/default.aspx">City Manager
</a>
</li>
<li>
<a tabindex="-1" href="/departments/Pages/default.aspx#">Departments
</a>
</li>
</ul>
</div>
</div>
<!-- </div> -->
</div>
</div>
<div id="greenNav">
<ul>
<!-- <li><a href="" class="first-direct-link fancybox fancybox.iframe" id="feedbackpopup" target="_top">Feedback</a></li> -->
<li id="translate-elem">
<!-- <img src="/SiteCollectionImages/COD_images/language-24px.svg"> -->
<div id="google_translate_element">
<div class="skiptranslate goog-te-gadget" dir="ltr" style="display: none;">
<div id=":0.targetLanguage" class="goog-te-gadget-simple" style="white-space: nowrap;"><img src="https://www.google.com/images/cleardot.gif" class="goog-te-gadget-icon" alt=""
style="background-image: url("https://translate.googleapis.com/translate_static/img/te_ctrl3.gif"); background-position: -65px 0px;"><span
style="vertical-align: middle;"><a aria-haspopup="true" class="VIpgJd-ZVi9od-xl07Ob-lTBxed" href="#"><span></span><img src="https://www.google.com/images/cleardot.gif" alt="" width="1" height="1"><span style="border-left: 1px solid rgb(187, 187, 187);"></span><img src="https://www.google.com/images/cleardot.gif" alt="" width="1" height="1"><span aria-hidden="true" style="color: rgb(118, 118, 118);">▼</span></a></span>
</div>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en',
layout: google.translate.TranslateElement.InlineLayout.SIMPLE
}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
</li>
</ul>
</div>
<!--dept header end-->
<!--followus header start
followus header end -->
</div>
<!-- desktop menu-->
<div id="secondStaticNav" class="hidden-xs hidden-sm">
<div id="cityLogo" unselectable="on">
<a href="/" unselectable="on">
<img alt="City of Dallas Home" src="/PublishingImages/style-library/City of Dallas - Landscape - White and Green.png" unselectable="on">
</a>
</div>
<ul class="nav navbar-nav" id="seconMainNav">
<li>
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Resident</button>
<div class="dropdown-menu" aria-labelledby="second-dropdown1" id="resident-dropdown">
<a href="/Pages/resident.aspx" class="goto-homepage"><span>Resident Home</span></a>
<div class="col-lg-12 col-md-12 vertical-tab" role="menu">
<div class="bhoechie-tab-menu">
<div class="list-group" id="residents-related-group">
<div class="tab-block">
<a href="#resident-payment" role="menuitem" class="list-group-item active"><h4>Payments</h4></a>
<div class="bhoechie-tab-content active" id="resident-payment">
<ul class="bhoechie-links-content" id="second-payments">
<li><a href="/departments/waterutilities/Pages/pay-water-bill.aspx" target="_blank">Water Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Traffic & Civil Tickets</a></li>
<li><a href="https://prodpci.etimspayments.com/pbw/include/dallas/input.jsp" target="_blank">Parking Ticket</a></li>
<!-- <li><a href="/departments/transportation/Pages/red-light-ticket.aspx">Red Light Ticket</a></li> -->
<li><a href="https://www.velocitypayment.com/client/bankofamerica/cityofdallas/frab/index.html" target="_blank"> Ambulance Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" target="_blank"> Court Warrants & Bonds</a></li>
<li><a href="/Pages/paybyapp.aspx">For Parking Meters</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx">Garage Sales Permit</a></li>
<li><a href="https://wmq.etimspayments.com/pbw/include/dallas/input.jsp" target="_blank">School Bus Stop Ticket</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_registrations.aspx">Security Alarm Permit</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT)</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT)</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#resident-services" class="list-group-item" role="menuitem"><h4>Services</h4></a>
<div class="bhoechie-tab-content" id="resident-services">
<ul class="bhoechie-links-content column-count-1" id="second-services">
<li><a href="/departments/dallas-animal-services/Pages/default.aspx">Animal Services</a></li>
<li><a href="/departments/community-care/Pages/community_centers.aspx">Community Centers</a></li>
<li><a href="http://www.dallasculture.org/culturalFacilities.asp" target="_blank">Cultural Centers</a></li>
<li><a href="http://dallaslibrary2.org/hours.php" target="_blank">Libraries</a></li>
<li><a href="http://www.dallasparks.org/" target="_blank">Parks and Recreations</a></li>
<li><a href="/departments/sanitation/Pages/default.aspx">Sanitation Services</a></li>
<li><a href="/Pages/transportation.aspx">Transportation</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#resident-safety" class="list-group-item" role="menuitem"><h4>Public Safety</h4></a>
<div class="bhoechie-tab-content" id="resident-safety">
<ul class="bhoechie-links-content" id="second-safety">
<li><a href="//www.dallaspolice.net/" target="_blank">Dallas Police</a></li>
<li><a href="/departments/fire-rescue/">Dallas Fire</a></li>
<li><a href="http://www.dallaspolice.net/communitys" target="_blank">Community Policing</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx">Courts</a></li>
<li><a href="http://www.dallaspolice.net/resource/dpd_crimereport" target="_blank">Crime Reports</a></li>
<li><a href="http://www.dallaspolice.net/division/southwest/crimewatch" target="_blank">Crime Watch</a></li>
<li><a href="/departments/officeemergencymanagement/Pages/default.aspx" target="_blank">Emergency Management</a></li>
<li><a href="/departments/officeemergencymanagement/Pages/Get-Prepared.aspx">Emergency Preparedness</a></li>
<li><a href="http://www.dallasfirerescue.com/inspections_investigations_prevention.html" target="_blank">Fire Prevention Program</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#resident-assistance" class="list-group-item" role="menuitem"><h4>State Assistance</h4></a>
<div class="bhoechie-tab-content" id="resident-assistance">
<ul class="bhoechie-links-content column-count-1" id="second-assistance">
<li><a href="https://www.211texas.org/" target="_blank" aria="2 1 1 Texas Website">2-1-1 Texas Website</a></li>
<li><a href="https://www.211texas.org/about-2-1-1/" target="_blank" aria="About 2 1 1 Texas">About 2-1-1 Texas</a></li>
<li><a href="https://yourtexasbenefits.com/" target="_blank">Your Texas Benefits</a></li>
<li><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/snap" target="_blank">SNAP (Food Stamps)</a></li>
<li><a href="https://texaswic.org/" target="_blank">WIC (Women, Infants, and Children)</a></li>
<li><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/tanf" target="_blank">TANF (Temporary Assistance to Needy Families)</a></li>
<li><a href="https://yourtexasbenefits.hhsc.texas.gov/programs/health" target="_blank">Health Care</a></li>
</ul>
</div>
</div>
<!-- <div class="bhoechie-tab col-lg-8 col-md-8"> -->
</div>
</div>
</div>
</div>
</div>
</li>
<li><a href="/Pages/visitor.aspx" class="first-direct-link">Visitor</a></li>
<li>
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Business</button>
<div class="dropdown-menu" aria-labelledby="second-dropdown1" id="business-dropdown">
<a href="/business/Pages/default.aspx" class="goto-homepage"><span>Business Home</span></a>
<div class="col-lg-8 col-md-8 vertical-tab" role="menu">
<div class="bhoechie-tab-menu">
<!-- <div class="col-lg-5 col-md-5 bhoechie-tab-menu"> -->
<div class="list-group">
<div class="tab-block">
<a href="#business-permit" class="list-group-item active" role="menuitem"><h4>Licenses and Permits</h4></a>
<div class="bhoechie-tab-content active" id="business-permit">
<ul class="bhoechie-links-content column-count-1" id="second-permits">
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx">Building Permits and Inspections</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_licenses.aspx">Business and Vendor Licenses</a></li>
<li><a href="https://dallascityhall.bonfirehub.com/" target="_blank">City Vendor Registration</a></li>
<li><a href="https://dallascreates.org" target="_blank">Dallas Film & Creative Industries Office</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_permits.aspx">Fire Prevention and Pool Permits</a></li>
<li><a href="/departments/codecompliance/Admin1/ApplyforaPermit/Pages/FoodEstablishment.aspx">Food Service Permits</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Hotel Occupancy Tax (HOT) Registration</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx">Short-Term Rentals (HOT) Registration</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#business-small" class="list-group-item" role="menuitem"><h4>Small Business</h4></a>
<div class="bhoechie-tab-content" id="business-small">
<ul class="bhoechie-links-content column-count-1" id="second-small">
<li><a href="http://www.bbb.org/north-central-texas/" target="_blank">Better Business Bureau in Dallas</a></li>
<li><a href="http://www.dallaschamber.org/" target="_blank">Dallas Regional Chamber</a></li>
<li><a href="https://sourcedallas.org" target="_blank">How to Start a New Business</a></li>
<li><a href="https://www.sba.gov/" target="_blank">Small Business Administration</a></li>
<li><a href="https://sourcedallas.org" target="_blank">Small Business Center</a></li>
</ul>
</div>
</div>
<div class="tab-block">
<a href="#business-development" class="list-group-item" role="menuitem"><h4>Development</h4></a>
<div class="bhoechie-tab-content" id="business-development">
<ul class="bhoechie-links-content column-count-1" id="second-development">
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx">Building Inspection</a></li>
<li><a href="/departments/procurement/Pages/construction_notices.aspx">Construction Notices</a></li>
<li><a href="https://www.dallasecodev.org/" target="_blank">Dallas Economic Development</a></li>
<li><a href="https://www.dallasecodev.org/incentives/tifs-pids/dallas-downtown-improvement-district/" target="_blank">Downtown Improvement District</a></li>
<li><a href="/departments/pnv/strategic-planning/Pages/forward-dallas.aspx">ForwardDallas!</a></li>
<li><a href="/departments/pnv/Pages/current-planning.aspx">Zoning - Current Planning</a></li>
<li><a href="https://gis.dallascityhall.com/zoningweb/" target="_blank">Zoning Interactive Maps</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-4 col-md-4" id="busniess-image-content">
<a href="/departments/procurement" target="_blank"><img alt="Doing Business With the City" src="/SiteCollectionImages/COD_images/Doing-Business-with-the-City.jpg" unselectable="on"><h4>Doing Business With the City</h4></a>
<a class="last-focus" href="https://vgov.dallascityhall.com/"><img alt="vGov Logo" src="/SiteCollectionImages/COD_images/vGov.jpg" unselectable="on"></a>
</div>
</div>
</div>
</li>
<li>
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown3" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Government</button>
<div class="dropdown-menu" aria-labelledby="second-dropdown3" id="government-dropdown">
<a href="/government/Pages/default.aspx" class="goto-homepage"><span>Government Home</span></a>
<div class="col-lg-12 col-md-12 vertical-tab" role="menu">
<div class="bhoechie-tab-menu">
<div class="list-group">
<div class="tab-block">
<a href="#government-mayor" class="list-group-item active" role="menuitem"><h4>Mayor and City Council</h4></a>
<div class="bhoechie-tab-content council-tab active" id="government-mayor">
<div class="bhoechie-links-content">
<ul id="second-citymayor">
<li><a href="/government/citymayor/Pages/default.aspx"><span class="notranslate">Eric Johnson</span><h5>MAYOR</h5></a></li>
</ul>
<hr>
<ul class="council-list" id="second-councils">
<li><a href="/government/citycouncil/district1/Pages/default.aspx">1. <span class="notranslate">Chad West</span></a></li>
<li><a href="/government/citycouncil/district2/Pages/default.aspx">2. <span class="notranslate">Jesse Moreno</span></a></li>
<li><a href="/government/citycouncil/district3/Pages/default.aspx">3. <span class="notranslate">Casey Thomas, II</span></a></li>
<li><a href="/government/citycouncil/district4/Pages/default.aspx">4. <span class="notranslate">Carolyn King Arnold</span><h5>MAYOR PRO TEM</h5></a></li>
<li><a href="/government/citycouncil/district5/Pages/default.aspx">5. <span class="notranslate">Jaime Resendez</span></a></li>
<li><a href="/government/citycouncil/district6/Pages/default.aspx">6. <span class="notranslate">Omar Narvaez</span><h5>DEPUTY MAYOR PRO TEM</h5></a></li>
<li><a href="/government/citycouncil/district7/Pages/default.aspx">7. <span class="notranslate">Adam Bazaldua</span></a></li>
<li><a href="/government/citycouncil/district8/Pages/default.aspx">8. <span class="notranslate">Tennell Atkins</span></a></li>
<li><a href="/government/citycouncil/district9/Pages/default.aspx">9. <span class="notranslate">Paula Blackmon</span></a></li>
<li><a href="/government/citycouncil/district10/Pages/default.aspx">10. <span class="notranslate">B. Adam McGough</span></a></li>
<li><a href="/government/citycouncil/district11/Pages/default.aspx">11. <span class="notranslate">Jaynie Schultz</span></a></li>
<li><a href="/government/citycouncil/district12/Pages/default.aspx">12. <span class="notranslate">Cara Mendelsohn</span></a></li>
<li><a href="/government/citycouncil/district13/Pages/default.aspx">13. <span class="notranslate">Gay Donnell Willis</span></a></li>
<li><a href="/government/citycouncil/district14/Pages/default.aspx">14. <span class="notranslate">Paul E. Ridley</span></a></li>
</ul>
</div>
</div>
</div>
<div class="tab-block">
<a href="#government-manage" class="list-group-item" role="menuitem"><h4>City Management</h4></a>
<div class="bhoechie-tab-content council-tab" id="government-manage">
<div class="bhoechie-links-content">
<ul id="second-citymanager">
<li><a href="https://dallascityhall.com/government/citymanager/Pages/City-Manager.aspx"><span class="notranslate">T.C. Broadnax</span><h5>City Manager</h5></a></li>
</ul>
<hr>
<ul class="council-list" id="second-managers">
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Kimberly-Tolbert.aspx"><span class="notranslate">Kimberly Bizor Tolbert</span><h5>Deputy City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Jon-Fortune.aspx"><span class="notranslate">Jon Fortune</span><h5>Deputy City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Majed-Al-Ghafry.aspx"><span class="notranslate">Majed Al-Ghafry</span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/liz-cedillo-pereira.aspx"><span class="notranslate">Liz Cedillo-Pereira</span><h5>Assistant City Manager </h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Carl-Simpson.aspx"><span class="notranslate">Carl Simpson</span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Robert-Perez.aspx"><span class="notranslate">Robert Perez </span><h5>Assistant City Manager</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Jack-Ireland.aspx"><span class="notranslate">Jack Wade Ireland, Jr.</span><h5>Chief Financial Officer</h5></a></li>
<li><a href="https://dallascityhall.com/government/citymanager/Pages/Genesis-Gavino.aspx"><span class="notranslate">Genesis Gavino</span><h5>Chief of Staff </h5></a></li>
</ul>
</div>
</div>
</div>
<div class="tab-block">
<a href="#government-officials" class="list-group-item" role="menuitem"><h4>Other City Officials</h4></a>
<div class="bhoechie-tab-content official-tab" id="government-officials">
<ul class="col-lg-6 col-md-6 bhoechie-links-content official-content column-count-1" id="second-officials">
<li><a href="http://www.dallascityattorney.com/"><span class="notranslate">Tammy Palomino</span><h5>INTERIM CITY ATTORNEY</h5></a></li>
<li><a href="/departments/auditor/Pages/default.aspx"><span class="notranslate">Mark S. Swann</span><h5>CITY AUDITOR</h5></a></li>
<li><a href="/government/citysecretary/Pages/default.aspx"><span class="notranslate">Bilierae Johnson</span><h5>CITY SECRETARY</h5></a></li>
<li><a href="/departments/judiciary/Pages/default.aspx"><span class="notranslate">Preston Robinson</span><h5>ADMINISTRATIVE JUDGE</h5></a></li>
</ul>
<div class="col-lg-6 col-md-6 government-image-content">
<ul class="list-unstyled column-count-1">
<li><a href="/departments/humanresources/employment/Pages/default.aspx"><img alt="Dallas Jobs Logo" src="/SiteCollectionImages/COD_images/Jobs-Icon.png" unselectable="on"><span>Jobs</span></a></li>
<li>
<a class="last-focus" href="/government/Pages/contact_mcc.aspx"><img alt="City Council Logo" src="/SiteCollectionImages/COD_images/City-Council-Icon.png" unselectable="on"><span>Contact the Mayor<br>& City Council</span></a>
</li>
<li>
</li>
</ul>
</div>
</div>
</div>
<div class="tab-block">
<a href="#government-meetings" class="list-group-item" role="menuitem"><h4>Public Meetings</h4></a>
<div class="bhoechie-tab-content official-tab" id="government-meetings">
<ul class="col-lg-6 col-md-6 bhoechie-links-content official-content column-count-1" id="second-meetings">
<li><a href="/government/Pages/Council-Agenda.aspx">Council Agendas</a></li>
<li><a href="/government/Pages/CouncilBriefings.aspx">Council Briefings</a></li>
<li><a href="/government/Pages/Committee-Meetings.aspx">Committee Briefings</a></li>
<!--<li><a href="/government/Pages/archive.aspx">Council & Committee Archive</a></li>-->
<li><a href="https://www.dallasopendata.com/Government/Dallas-City-Council-Voting-Record/ts5d-gdq6" target="_blank">Council Voting Record</a></li>
<li><a href="/government/Boards-and-Commissions/Pages/default.aspx">Boards & Commissions Meetings</a></li>
<li><a href="/government/citysecretary/Pages/Public-Meetings.aspx">City Secretary's Public Meetings</a></li>
</ul>
<div class="col-lg-6 col-md-6 government-image-content">
<ul class="list-unstyled column-count-1">
<li><a href="/departments/humanresources/employment/Pages/default.aspx"><img alt="Dallas Jobs Logo" src="/SiteCollectionImages/COD_images/Jobs-Icon.png" unselectable="on"><span>Jobs</span></a></li>
<li>
<a class="last-focus" href="/government/Pages/contact_mcc.aspx"><img alt="City Council Logo" src="/SiteCollectionImages/COD_images/City-Council-Icon.png" unselectable="on"><span>Contact the Mayor<br>& City Council</span></a>
</li>
<li>
</li>
</ul>
</div>
</div>
</div>
<div class="tab-block">
<a href="#government-resources" class="list-group-item" role="menuitem"><h4>City Hall Resources</h4></a>
<div class="bhoechie-tab-content official-tab" id="government-resources">
<ul class="col-lg-6 col-md-6 bhoechie-links-content official-content column-count-1" id="second-resources">
<li><a href="http://annualreport.dallascityhall.com/" target="_blank">Annual Report</a></li>
<li><a href="/government/Pages/city-codes.aspx">City Codes</a></li>
<li><a href="https://www.dallasecodev.org/" target="_blank">Dallas Economic Development</a></li>
<li><a href="/departments/Pages/department4.aspx">Departments</a></li>
<li><a href="https://gis.dallascityhall.com/" target="_blank">Enterprise GIS</a></li>
<li><a href="http://financialtransparency.dallascityhall.com/" target="_blank">Financial Transparency</a></li>
<li><a href="/calendar/">Calendar</a></li>
</ul>
<div class="col-lg-6 col-md-6 government-image-content">
<ul class="list-unstyled column-count-1">
<li><a href="/departments/humanresources/employment/Pages/default.aspx"><img alt="Dallas Jobs Logo" src="/SiteCollectionImages/COD_images/Jobs-Icon.png" unselectable="on"><span>Jobs</span></a></li>
<li>
<a class="last-focus" href="/government/Pages/contact_mcc.aspx"><img alt="City Council Logo" src="/SiteCollectionImages/COD_images/City-Council-Icon.png" unselectable="on"><span>Contact the Mayor<br>& City Council</span></a>
</li>
<li>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</li>
<li><a href="http://www.dallascitynews.net/" target="_blank" class="first-direct-link">News</a></li>
<li id="dallas311-menu">
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown4" data-toggle="dropdown" aria-haspopup="true" aria-label="3 1 1">311</button>
<div class="dropdown-menu" aria-labelledby="second-dropdown4" id="dallas311-container">
<a href="/services/311/Pages/default.aspx" class="goto-homepage" aria-label="3 1 1 home"><span>311 Home</span></a>
<div class="col-lg-12 col-md-12 vertical-tab" role="menu">
<div class="dallas311 col-lg-6 col-md-6">
<div>
<label for="text311">Check Service Request Status</label>
<input type="text" placeholder="Service Request # (i.e. 19-00000001)" id="text311" class="form-control textField" onkeydown="search311(event)" aria-label="3 1 1 Service Request number to search">
<button aria-label="3 1 1 search" type="button" class="search-go-btn search-311" onclick="start311search()"></button>
</div>
<div class="buttons">
<a class="btn btn-default" target="_blank" href="https://dallascrm.force.com/public/servicetypes">Request a Service</a>
<a class="btn btn-default" href="/services/311" aria-label="About 3 1 1">About 311</a>
</div>
</div>
<div class="col-lg-6 col-md-6 dallas311 bhoechie-links-content">
<h4>Frequently Requested Services</h4>
<ul class="column-count-1" id="second-311">
<li><a href="https://dallascrm.force.com/public/request/CODEGENERAL/location" target="_blank">Code Concerns</a></li>
<li><a href="https://dallascrm.force.com/public/request/SPSVSNOT/location" target="_blank">Sanitation Roll Cart</a></li>
<li><a href="https://dallascrm.force.com/public/request/SANMISGA/location" target="_blank">Missed Garbage</a></li>
<li><a href="https://dallascrm.force.com/public/request/STSROUST/location" target="_blank">Street Repair</a></li>
<li><a href="https://dallascrm.force.com/public/request/PWTROV/location" target="_blank">Parking – Report a Violation</a></li>
<li><a href="https://dallascrm.force.com/public/request/ANILOSDC/location" target="_blank">Animal Loose</a></li>
<li><a href="https://dallascrm.force.com/public/request/DEADANPU/location" target="_blank">Dead Animal Pick Up</a></li>
<li><a href="https://dallascrm.force.com/public/request/DPD24HR/location" target="_blank">24 Hour Parking</a></li>
<!-- <li><a href="https://dallascrm.force.com/public/request/BULKYTRASH/location" target="_blank">Bulky Trash Violations</a></li> -->
</ul>
</div>
</div>
</div>
</div>
</li>
<li class="search">
<div>
<button class="dropdown-toggle" type="button" id="second-dropdown5" data-toggle="dropdown" aria-haspopup="true" aria-label="search"><img id="search-open-img" alt="Open Search"
src="/SiteCollectionImages/COD_images/Icons-Standard-Search-white.svg"><img id="search-close-img" alt="Close Search" src="/SiteCollectionImages/COD_images/large-x-close-white.png"></button>
<div class="dropdown-menu" id="search-container">
<div id="main-search">
<label for="searchinput">Search</label>
<input type="text" aria-label="search text" placeholder="I am looking for...." id="searchinput" class="textField" onkeydown="event.keyCode == 13 && goSearch('searchinput')"
autofocus="autofocus"><a tabindex="0" aria-label="search" role="button" class="search-go-btn" onkeydown="event.keyCode == 13 && goSearch('searchinput')" onclick="goSearch('searchinput')"></a>
</div>
</div>
</div>
</li>
</ul>
<!-- <div id="main-search-desktop" class="search-main">
<label for="searchtext" class="visuallyhidden">Search </label>
<input type="text" placeholder="Search...." id="searchtext" class="textField" onkeydown="event.keyCode == 13 && goSearch()" autofocus="autofocus"><a class="search-go-btn" onkeydown="goSearch()" onclick="goSearch()"><img src="/SiteCollectionImages/COD_images/homeSearch_icon_black.png"></a><a tabindex="0" onclick="showMainSearch(false)" onkeypress="event.keyCode == 13 && showMainSearch(false)"><img src="/SiteCollectionImages/COD_images/White-Close-Icon-24px.png"></a>
</div> -->
<div id="speak-narrator" class="sr-only" role="alert" aria-live="assertive"></div>
<script>
function goSearch(source) {
if (!$("#" + source).val()) return;
var newurl = '//dallascityhall.com/Pages/searchresults.aspx?k=' + $("#" + source).val();
window.location = newurl;
}
function showMobileSearch(isShow) {
if (isShow) {
$('#greenNav').hide();
$('#main-search-mobile').show(300);
$('#search-open-icon').hide();
$('#search-close-icon').show();
$("#main-search-mobile input").focus();
} else {
$('#main-search-mobile').hide(100);
$('#greenNav').show();
$('#search-close-icon').hide();
$('#search-open-icon').show(0);
}
}
</script>
</div>
</div>
<!--city logo end-->
<!--extendednav start-->
<!--extendednav end-->
</div>
</div>
<script type="text/javascript" src="/Style Library/jquery.fancybox.pack.js"></script>
<script src="/Style Library/js/jquery.dlmenu.js" type="text/javascript"></script>
<script type="text/javascript">
$.ajax({
url: "/government/citymanager/_api/web/lists/getbytitle('Executive%20Leadership%20Teams')/items?$filter=isActive eq 1&$orderby=Order0",
method: "GET",
headers: {
"Accept": "application/json; odata=verbose"
},
success: function(data) {
var list = data.d.results;
var htmlStr = "",
htmlMobile = '<li class="dl-back"><a href="#" aria-label="Go back to government menu">City Management</a></li>';
for (var i = 0; i < list.length; i++) {
if (!list[i].Page || !list[i].Page.Url) list[i].Page = {
"Url": ""
};
htmlStr += '<li><a href="' + list[i].Page.Url + '"><span class="notranslate">' + list[i]['First_x0020_Name'] + ' ' + list[i].Title + '</span><h5>' + list[i]['Job_x0020_Title'] + '</h5></a></li>';
htmlMobile += '<li><a href="' + list[i].Page.Url + '"><span>' + list[i]['First_x0020_Name'] + ' ' + list[i].Title + '</span><h5>' + list[i]['Job_x0020_Title'] + '</h5></a></li>';
if (i == 0) {
$('#second-citymanager').html(htmlStr);
htmlStr = "";
}
if (i == list.length - 1) {
$('#second-managers').html(htmlStr);
$('#mobile-managers').html(htmlMobile);
$('#dl-menu').dlmenu({
animationClasses: {
in: 'dl-animate-in-2',
out: 'dl-animate-out-2'
}
});
}
}
}
});
/*
$(function() {
$( '#dl-menu' ).dlmenu({
animationClasses : { in : 'dl-animate-in-2', out : 'dl-animate-out-2' }
});
});
*/
$(document).ready(function() {
$('a.fancybox').attr("href", "/Pages/dallasfeedback.aspx?pageurl=" + window.location);
});
$('a.fancybox').fancybox({
helpers: {
overlay: {
closeClick: false
}
},
'overlayOpacity': 0.6,
autoSize: true,
autoDimensions: true,
'transitionIn': 'elastic',
'transitionOut': 'elastic'
});
function focusInput(target) {
if (target.css('display') == 'block') target.find("input").focus();
}
function toggleAriaExpanded(btn) {
var value = $(btn).attr("aria-expanded");
if (value == "true") value = "false"
else value = "true"
$(btn).attr("aria-expanded", value);
}
jQuery(function($) {
$(".dropdown-menu").bind('click', function(event) {
event.stopPropagation();
});
$("#second-dropdown5").on('click', function(event) {
var target = $(this).siblings('div.dropdown-menu');
if (target && target.find("input").length > 0) {
setTimeout(function() {
focusInput(target);
}, 400)
}
});
$("button.dl-trigger").on('click', function(event) {
if ($(this).hasClass("dl-active")) {
var target = $(this).siblings('ul.dl-menuopen');
target.find("a").attr('tabindex', -1);
} else {
var target = $(this).siblings('ul.dl-menu');
target.find("a").attr('tabindex', 0);
}
});
$("#skipNav").on({
focusin: function(event) {
$("#outerWrapper").height('180px');
$("#innerWrapper").css({
top: 70,
position: 'relative'
});
},
focusout: function(event) {
$("#outerWrapper").height('auto');
$("#innerWrapper").css({
top: 0
});
}
});
});
jQuery(function($) {
$("ul li a.first-direct-link").on({
focus: function(event) {
$("ul li div.open").removeClass('open');
}
});
$('#s4-bodyContainer').on({
focus: function(event) {
$("ul li div.open").removeClass('open');
}
});
});
jQuery(function($) {
$("#textNav li div.open").on({
focusout: function(event) {
alert("out");
$(this).removeClass('open');
}
/*,
keypress:function (event) {
var overlaybody = $('#overlay');
if (!overlaybody.length) {
$('body').append('<div id="overlay"> </div>');
}
$("#textNav div.dropdown-menu").addClass('hide-dropdown');
$("#textNav div.dropdown-menu", this).removeClass('hide-dropdown');
$("#textNav div.dropdown-menu",this).addClass('show-dropdown');
}*/
});
$("#seconMainNav .dropdown-toggle").on({
click: function(event) {
var target = $(this).siblings('div.dropdown-menu');
if (target) {
target.find("div.tab-block .list-group-item").removeClass('active');
target.find("div.tab-block .bhoechie-tab-content").removeClass('active');
target.find("div.tab-block:first .list-group-item").addClass('active');
target.find("div.tab-block:first .bhoechie-tab-content").addClass('active');
target.find("div.tab-block:first .bhoechie-tab-content").find('li a').attr('tabindex', -1);
}
toggleAriaExpanded(this);
},
keypress: function(event) {
var target = $(this).siblings('div.dropdown-menu');
if (target) {
target.find("div.tab-block .list-group-item").removeClass('active');
target.find("div.tab-block .bhoechie-tab-content").removeClass('active');
target.find("div.tab-block:first .list-group-item").addClass('active');
target.find("div.tab-block:first .bhoechie-tab-content").addClass('active');
target.find("div.tab-block:first .bhoechie-tab-content").find('li a').attr('tabindex', -1);
}
toggleAriaExpanded(this);
}
});
$("#textNav .dropdown-toggle").on({
click: function(event) {
toggleAriaExpanded(this);
},
keypress: function(event) {
toggleAriaExpanded(this);
}
});
});
$(function() {
$("a.list-group-item").on({
focusin: function(e) {
e.preventDefault();
var target = $(this);
if (target.hasClass("active")) {
target.siblings('.bhoechie-tab-content').find('li a').attr('tabindex', -1);
}
/*alert("keypress"); */
e.stopPropagation();
},
keypress: function(e) {
if (e.keyCode !== 13) return;
e.preventDefault();
var target = $(this);
$('a.list-group-item').removeClass("active");
$('.bhoechie-tab-content').removeClass("active");
target.addClass("active");
target.siblings('.bhoechie-tab-content').addClass("active");
target.siblings('.bhoechie-tab-content').find('li a').attr('tabindex', 0);
/*target.siblings('.bhoechie-tab-content').find('li a:first').focus();
*/
e.stopPropagation();
},
click: function(e) {
e.preventDefault();
var target = $(this);
$('a.list-group-item').removeClass("active");
$('.bhoechie-tab-content').removeClass("active");
target.addClass("active");
target.siblings('.bhoechie-tab-content').addClass("active");
target.siblings('.bhoechie-tab-content').find('li a').attr('tabindex', 0);
/* target.siblings('.bhoechie-tab-content').find('li a:first').focus();*/
e.stopPropagation();
}
});
});
var widgetCSS = "" + ".goog-te-menu-frame, .goog-te-menu2{ width: 100% !important; height:350px !important; position: relative !important; top: 35px !important; overflow: scroll; box-sizing: border-box !important;} " +
".goog-te-menu2 { width: 100% !important; height: 350px !important; overflow: auto !important;} " +
".goog-te-menu2 table, .goog-te-menu2 table tbody, .goog-te-menu2 table tbody tr { width: 100% !important; height: 100% !important;} " + ".goog-te-menu2 table tbody tr td { width: 100% !important; } " +
".goog-te-menu2 *{ font-size: 13px !important;} " + ".goog-te-menu2-colpad{ height: 0;} " + ".goog-te-menu2 table tbody tr td .goog-te-menu2-colpad { visibility: none !important;} " +
"@media only screen and (max-width: 991px){.goog-te-menu2 table tbody tr td { display: block !important;}}";
function googleTranslateStyling() {
if (!$(".goog-te-menu-frame").length || !$('.goog-te-menu-frame').contents().find('head').length) setTimeout(googleTranslateStyling, 1000);
var s = document.createElement("style");
s.innerHTML = widgetCSS;
s.type = "text/css";
var head = $('.goog-te-menu-frame').contents().find('head')[0];
if (head) head.appendChild(s);
}
$(document).ready(function() {
googleTranslateStyling();
});
function start311search() {
if (!$("#text311").val()) return;
var newurl = 'https://dallascrm.force.com/public/requests/' + $("#text311").val();
window.open(newurl, '_blank');
}
</script>
<script src="/SiteAssets/theme/js/script.js"></script>
</nav>
</div>
</div>
<div id="s4-bodyContainer" role="main">
<!--start s4bodycontainer -->
<div id="mainBodyStart">
<!--placeholdermain-->
<span id="DeltaPlaceHolderMain">
<div class="full-width">
<div data-name="WebPartZone">
<div>
<div class="ms-webpart-zone ms-fullWidth">
<div id="MSOZoneCell_WebPartctl00_ctl48_g_9639c52b_9fed_44d5_8184_d5493328b5c5" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="9639c52b-9fed-44d5-8184-d5493328b5c5" haspers="false" id="WebPartctl00_ctl48_g_9639c52b_9fed_44d5_8184_d5493328b5c5" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_9639c52b_9fed_44d5_8184_d5493328b5c5">
<script type="text/javascript">
$(document).ready(function() {
// Hide the "view" div.
var count = $("#alertsul").children().length;
if (count != 0) {
$('.content').css({
'display': 'block'
});
$('.alertdiv').css({
'display': 'block'
});
if ($('.sa').css('display') == 'block') // if alertdisplayval=1 none
{
if ($('#sa-btn').hasClass('close')) $('#sa-btn').toggleClass('open');
}
$('div.slide').click(function() {
// When clicked, toggle the "view" div.
$('.sa').slideToggle(400);
return false;
});
}
});
function changeClass() {
if ($('#sa-btn').hasClass('close')) {
$('#sa-btn').toggleClass('open');
} else {
$('#sa-btn').toggleClass('close');
}
}
</script>
<div class="service-alert-bar content" style="display: block;">
<div id="ctl00_ctl48_g_9639c52b_9fed_44d5_8184_d5493328b5c5_sa" class="service-alert-content container sa" style="display:block;">
<ul class="unstyled" id="alertsul">
<li><a href="https://www.dallascitynews.net/" target="_blank">The City is experiencing a service outage and is working to restore services. We appreciate your patience during this time.</a></li>
</ul>
</div>
</div>
<div class="alertdiv" style="display: block;">
<div class="slide sa-btn">
<a href="#" id="sa-btn" class="btn btn-service-alert close slide open" onclick="changeClass()">Public Alerts</a>
</div>
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
<div class="ms-PartSpacingVertical"></div>
</div>
<div id="MSOZoneCell_WebPartctl00_ctl48_g_27d45827_2294_4ee0_ba22_150935f862c3" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="27d45827-2294-4ee0-ba22-150935f862c3" haspers="false" id="WebPartctl00_ctl48_g_27d45827_2294_4ee0_ba22_150935f862c3" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_27d45827_2294_4ee0_ba22_150935f862c3">
<div class="ms-rte-embedcode ms-rte-embedwp">
<div id="hero">
<div id="hero-cta">
<div class="hero-cta-position">
<h1 class="cta-welcome">Welcome to Dallas</h1>
<h2 class="cta-subtitle">Committed To "Service First" Excellence</h2><a id="explore" href="#popularlinks" aria-label="Jump To Main Content"><span class="scroll-down"></span></a>
</div>
</div>
</div>
<!--scroll-->
<script type="text/javascript">
//<![CDATA[
$(document).on('click', 'a[id$="explore"]', function(e) {
setPosition("#popularlinks", e);
});
function setPosition(section, e) {
$("#s4-workspace").animate({
scrollTop: $(section).offset().top
}, 800);
e.preventDefault();
}
</script>
<script src="https://use.typekit.net/dsj4rmy.js"></script>
<script>
try {
Typekit.load({
async: true
});
} catch (e) {}
</script>
<style>
.cta-welcome {
font-family: ProximaNova-Bold, sans-serif;
font-size: 68px;
color: #FFFFFF;
letter-spacing: 4px;
line-height: 96px;
text-shadow: -3px -1px 5px rgba(0, 0, 0);
font-style: normal !important;
text-transform: uppercase;
}
.cta-subtitle {
font-family: ProximaNova-Semibold, 'Lato', sans-serif;
font-size: 22px;
color: #FFFFFF;
letter-spacing: 3px;
line-height: 31px;
text-shadow: -2px -2px 3px rgb(0 0 0);
text-transform: uppercase;
}
#hero-cta h1 {
padding-top: 50px;
}
#hero-cta .scroll-down {
margin: 0 !important;
}
#hero-cta {
padding: 0 !important;
position: relative;
}
#hero {
height: 300px;
}
.hero-cta-position {
position: absolute;
left: 50%;
border-radius: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
width: 100%;
}
/* Custom, iPhone Retina */
@media only screen and (min-width : 320px) {
.hero-cta-position {
position: absolute;
bottom: 25px;
width: 90%;
}
}
/* Extra Small Devices, Phones */
@media only screen and (min-width : 480px) {
.hero-cta-position {
position: absolute;
bottom: 70px;
}
}
/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
.hero-cta-position {
position: absolute;
bottom: 35px;
}
}
</style>
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
<div class="ms-PartSpacingVertical"></div>
</div>
<div id="MSOZoneCell_WebPartctl00_ctl48_g_4b4ea764_091e_4f61_90c4_ec841f9d576e" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="4b4ea764-091e-4f61-90c4-ec841f9d576e" haspers="false" id="WebPartctl00_ctl48_g_4b4ea764_091e_4f61_90c4_ec841f9d576e" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_4b4ea764_091e_4f61_90c4_ec841f9d576e">
<div class="ms-rte-embedcode ms-rte-embedwp">
<div id="homepage">
<!--
<div class="text-center" style="padding:20px;background-color:#FFB333;"><div class="container"><a href="/Pages/Corona-Virus.aspx" style="text-decoration: underline;color:#001B3B;background-image:url('/PublishingImages/coronavirus/blue-alert-icon.png');background-repeat:no-repeat; background-size:20px 20px; background-position:10px; padding-left:40px;font-size:22px">Important Information Regarding Coronavirus (COVID–19)</a></div></div>
-->
<div style="clear:both; background-color:#7EC6FF;">
<div class="col-sm-6 text-center" style="background-color:#7EC6FF; padding: 20px;">
<a href="https://www.dallascounty.org/departments/dchhs/mpox-virus.php" target="_blank" style="text-decoration: underline; padding:20px;font-size:22px; color:#001B3B;"><img src="/PublishingImages/coronavirus/blue-alert-icon.png" style="height: 20px; margin-right: 10px; padding-bottom: 2px;" alt="">DCHHS Mpox Virus Information and Resources</a>
</div>
<div class="col-sm-6 text-center" style="background-color:#FFB333; padding:20px">
<a href="https://www.dallascounty.org/covid-19/" target="_blank" style="font-size:22px; color:#001B3B; text-decoration: underline; padding:20px;"><img src="/PublishingImages/coronavirus/blue-alert-icon.png" style="height: 20px; margin-right: 10px; padding-bottom: 2px; " alt="">Important COVID-19 Information and Resources</a>
</div>
<div style="clear: both; height: 0px; width:100%"></div>
</div>
<div class="col-xs-12 text-center" style="display:none;">
<h2 style="color:#666; font-style:italic; font-family:'Lato';font-size:22px;font-weight:normal;padding:15px 0;margin-bottom:30px;">Our core values are Empathy, Ethics, Excellence, Equity</h2>
</div>
<div id="popularlinks">
<div class="container">
<!--column one-->
<div class="col-3">
<div id="todayiwantto">
<ul id="todayiwantto-ul">
<li class="pay"><a class="iwanttomodal btn btn-md" href="#pay">Pay</a></li>
<li class="find"><a class="iwanttomodal btn btn-md" href="#find">Find</a></li>
<li class="request"><a class="iwanttomodal btn btn-md" href="#request">Request</a></li>
<li class="open-data"><a href="/Pages/Dallas-Datahub.aspx" class="btn btn-md">Dallas Data Hub</a></li>
<li><a href="http://financialtransparency.dallascityhall.com/" target="_blank" id="finantial-transparency" class="btn btn-md">Financial Transparency</a></li>
<!--<li class="open-data"><a class="iwanttomodal btn btn-md" href="#opendata">Open Data</a></li>
-->
<!--<li><a href="/departments/public-affairs-outreach/openrecords/Pages/default.aspx" id="open-records" class="btn btn-md">Open Records Request</a></li>-->
<li><a href="https://dallastx.govqa.us/WEBAPP/_rs/(S(avfiv4hn1rrrqmlj54tmazfp))/SupportHome.aspx?sSessionID=" target="_blank" id="open-records" class="btn btn-md">Open Records Request</a></li>
</ul>
</div>
</div>
<!--column one-->
<div class="col-3">
<div id="officialpostings" class="official-postings list-items" style="overflow:hidden;">
<h3 style="color: rgb(68, 68, 68)">Official Postings</h3>
<ul class="hm-box-links">
<li><a href="/departments/budget/financialtransparency/Pages/Current-Budget.aspx" id="budget">FY 2022-23 Adopted Budget</a></li>
<li><a href="https://cityofdallas.legistar.com/" id="council-meetings" target="_blank">City Meetings</a></li>
<li><a href="/government/Boards-and-Commissions/" id="boards-and-commissions">Boards & Commissions</a></li>
<li><a href="/government/citycouncil/Pages/council-attendance.aspx" id="council-attendance">Council Attendance</a></li>
<li><a href="/calendar/" id="city-calendar">City Calendar</a></li>
<li><a href="/Pages/public-notices.aspx" id="public-notices">Public Notices</a></li>
<li><a href="/government/citysecretary/Pages/Public-Meetings.aspx" id="open-meetings">Open Meetings</a></li>
<li><a href="/government/citymanager/Pages/council-memos.aspx" id="council-memos">City Manager Memos</a></li>
<li>
<a href="/Pages/watch-city-meetings-online.aspx" class="swagit btn" style="background-color:rgb(3,63,136); padding:11px 10px; text-align:center; color:white;margin:0;" id="city-meeting-video">Watch City Meetings Online</a>
</li>
</ul>
</div>
</div>
<div class="col-3 col-end">
<div id="officialpostings2" class="official-postings list-items">
<h3 style="color: rgb(68, 68, 68)">Quick Links</h3>
<ul class="hm-box-links">
<li><a href="/departments/waterutilities" id="quick-links-water">Water Utilities</a></li>
<li><a href="/departments/sanitation" id="quick-links-sanitation">Trash Pickup</a></li>
<li><a href="/departments/sustainabledevelopment/buildinginspection/Pages/index.aspx" id="quick-links-building-permits-inspections">Building Permits & Inspections</a></li>
<li><a href="/departments/humanresources/employment/Pages/default.aspx" id="quick-links-jobs">Jobs</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx" id="quick-links-traffic-tickets">Traffic & Civil Tickets</a></li>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" id="quick-links-courts">Court Warrants & Bonds</a></li>
<li><a href="/departments/dallas-animal-services/Pages/default.aspx" id="quick-links-animal-services">Animal Services</a></li>
<li><a href="https://dallascityhall.com/departments/officeemergencymanagement/Pages/Hazmap.aspx" id="quick-links-211" target="_blank">Public Survey: Hazard Mitigation<br>Action Plan</a></li>
</ul>
</div>
</div>
</div>
<div class="clearfix"></div>
</div>
<style>
@media (min-width: 768px) {
.row.equal {
display: flex;
flex-wrap: wrap;
}
}
/* add this for full height column content
.equal > div[class*='col-'] {
display: flex;
flex-direction: column;
}
*/
#s311-left-column {
background-color: #001B3B;
background-image: rgba(0, 0, 0, 0.5), url(https://dallascityhall.com/PublishingImages/static/311-mobile-app-new.jpg);
background-image:
linear-gradient(to top, rgba(0, 27, 59, 0.7), rgba(0, 27, 59, 1)),
url('https://dallascityhall.com/PublishingImages/static/311-mobile-app-new.jpg');
background-size: cover;
background-position: center;
}
#s311-left-column h2 {
color: #04C585;
margin: 0px;
padding: 0px;
font-size: 2rem;
}
#s311-left-column h3 {
color: #ffffff;
margin: 0px;
padding: 0px;
}
#s311-right-column {
background-color: #003F88;
}
#s311-right-column label {
color: white;
}
#s311-right-column h3 {
color: #7EC6FF;
margin: 1rem 0px;
}
#s311-faqs {
list-style-type: none;
margin: 0px;
padding: 0px;
}
#s311-faqs li {
padding: 4px;
}
#s311-faqs li a {
color: white;
padding: 6px;
-webkit-box-decoration-break: clone;
box-decoration-break: clone;
display: block;
font-weight: bold;
}
#s311-faqs li>a:hover,
#s311-faqs li>a:focus {
background-color: #001B3B;
}
#s311-languages {
margin: 0px;
padding: 0px;
list-style-type: none;
color: #001B3B;
text-align: center;
}
#s311-languages h3 {
text-align: center !important;
}
#s311-languages li {
display: inline-block;
padding: 8px 20px 8px 0px;
}
#s311-section-new h3 {
border-bottom: none;
}
</style>
<section unselectable="on" id="s311-section-new">
<div class="row equal" unselectable="on">
<div class="col-xs-12 col-sm-5" id="s311-left-column" unselectable="on">
<div unselectable="on" style="padding: 40px;">
<h2 unselectable="on">311 Service Requests</h2>
<h3 unselectable="on" style="margin-top: 1.1rem;">Request City services and information</h3>
<a target="_blank" href="https://dallascrm.force.com/public/servicetypes" unselectable="on" style="margin-top: 1rem; border-radius: 6px; padding: 10px; display: inline-block; background-color: #04c585; color: #001b3b; margin-right: 1rem; font-size: 1.1rem; border: 2px solid #04c585; font-weight: bold;">Request a Service</a>
<br
class="visible-md"><a target="_blank" href="/services/311" unselectable="on" style="padding: 10px; display: inline-block; color: white; margin-right: 1rem; font-size: 1.1rem; border: 2px solid white; border-radius: 6px; margin-top: 1rem; font-weight: bold;">About 311</a>
<a target="_blank" href="https://dallascitydata.dallascityhall.com/views/311CitywideDashboard/311CitywideDashboard?:showAppBanner=false&:display_count=n&:showVizHome=n&:origin=viz_share_link&:refresh=yes&:isGuestRedirectFromVizportal=y&:embed=y" unselectable="on" style="padding: 10px; display: inline-block; color: white; margin-right: 1rem; font-size: 1.1rem; border: 2px solid white; border-radius: 6px; margin-top: 1rem; font-weight: bold;">Dashboard</a>
<div unselectable="on" style="background-color: rgba(255, 160, 0, 0.8); padding: 20px; border-radius: 6px; margin-top: 40px; text-align: center; font-weight: bold;">
<h3 unselectable="on" style="color: #001b3b; font-weight: bold; margin: 1.1rem 0px;">Call 311 in hundreds of languages</h3>
<ul id="s311-languages" unselectable="on">
<li>Llama al 311</li>
<li>311 ကို ခေါ်ဆိုပါ</li>
<li>Piga simu 311</li>
<li>Gọi số 311</li>
<li>311 شمیرې ته زنګ ووهئ</li>
<li>با 311 تماس بگيريد</li>
<li>tumawag sa 311</li>
<li>Ruáingga Koól 311</li>
</ul>
</div>
</div>
</div>
<div class="col-xs-12 col-sm-7" id="s311-right-column" unselectable="on">
<div unselectable="on" style="padding: 40px;">
<h3 unselectable="on">Frequently Requested Services</h3>
<ul class="row" id="s311-faqs" unselectable="on">
<li class="col-lg-4 col-sm-6">
<a href="https://dallascrm.force.com/public/request/CODEGENERAL/location" target="_blank">Code Concerns</a>
</li>
<li class="col-lg-4 col-sm-6">
<a href="https://dallascrm.force.com/public/request/SPSVSNOT/location" target="_blank">Sanitation Roll Cart</a>
</li>
<li class="col-lg-4 col-sm-6">
<a href="https://dallascrm.force.com/public/request/SANMISGA/location" target="_blank">Missed Garbage</a>
</li>
<li class="col-lg-4 col-sm-6">
<a href="https://dallascrm.force.com/public/request/STSROUST/location" target="_blank">Street Repair</a>
</li>
<li class="col-lg-4 col-sm-6">
<a href="https://dallascrm.force.com/public/request/PWTROV/location" target="_blank">Parking – Report a Violation</a>
</li>
<li class="col-lg-4 col-sm-6">
<a href="https://dallascrm.force.com/public/request/ANILOSDC/location" target="_blank">Animal Loose</a>
</li>
<li class="col-lg-4 col-sm-6">
<a href="https://dallascrm.force.com/public/request/DEADANPU/location" target="_blank">Dead Animal Pick Up</a>
</li>
<li class="col-lg-4 col-sm-6">
<a href="https://dallascrm.force.com/public/request/SANMISRC/location" target="_blank">Missed Recycle</a>
</li>
</ul>
<div class="row" unselectable="on">
<div class="col-lg-6" unselectable="on">
<br><br>
<h3 unselectable="on">Check Service Request Status</h3>
<label for="check-service-request" unselectable="on">Service Request Number</label><br unselectable="on">
<div unselectable="on" style="background-color: white; border-radius: 6px; display: inline-block; padding: 10px;">
<input type="text" placeholder="e.g. 19-0000000001" class="textField" onkeydown="search311(event)" id="check-service-request"
style="border: none; padding: 10px; color: black; background-color: #ebf6ff; border-radius: 6px;">
<button type="button" onclick="search311button()" style="border: none; padding: 10px; background-color: #0157b1; color: white; border-radius: 6px;">Search Request</button>
</div>
</div>
<div class="col-lg-6" unselectable="on">
<br><br>
<h3 unselectable="on">Download the OurDallas Mobile App</h3>
<a href="https://itunes.apple.com/us/app/dallas-311/id692902088?mt=8#" target="_blank" style="margin-right: 1.1rem;">
<img src="https://dallascityhall.com/PublishingImages/static/app-store-badge.png" unselectable="on" alt="Apple App Store Badge" style="width: calc(40% - 1.1rem); max-width:200px;"></a>
<a href="https://play.google.com/store/apps/details?id=com.dallascityhall.dallas311&hl=en" target="_blank">
<img src="https://dallascityhall.com/PublishingImages/static/google-play-badge.png" unselectable="on" alt="Google Play Store Badge" style="width: calc(40% - 1.1rem); max-width:200px;"></a>
</div>
</div>
</div>
</div>
</div>
</section>
<style>
.in-middle {
background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.7)), url('/PublishingImages/static/311-mobile-app-new.jpg');
/*background-image: url("/PublishingImages/static/311-mobile-app-new.jpg");*/
background-size: cover;
background-repeat: no-repeat;
left: 40px;
padding-bottom: 30px;
height: 100%;
padding: 230px 0 0 40px;
}
.in-middle h3 {
font-size: 28px;
font-weight: 500;
}
.in-middle h3 span {
font-size: 22px;
border: none;
font-style: italic;
padding-bottom: 0px;
}
.service311 {
padding: 0px;
background-color: #0166ce;
}
.service311 ul {
padding-left: 0px;
padding-bottom: 15px;
}
.service311 h3 {
font-weight: 500;
}
.service311 h2,
.service311 h3 {
color: #fff;
border-bottom: none;
}
.service311 ul li a {
color: #e9ebf0;
border-bottom: none;
}
.service311 ul li {
border-bottom: 1px solid rgba(205, 205, 205, 0.2);
padding-top: 8px;
padding-bottom: 6px;
}
#picture311app {
height: 370px;
overflow: hidden;
padding: 0;
}
#dallas311mobile {
width: 100%;
opacity: 0.8;
background-color: #000;
}
.appicon {
width: 150px;
padding-right: 10px;
}
.appicon img {
width: 120px !important;
padding-right: 10px;
height: 35px;
}
.check {
background-color: #033d79;
padding: 20px 0;
display: inline-block;
width: 100%;
text-align: center;
}
.check h3 {
padding: 5px 20px;
max-width: 350px;
display: inline-block;
}
.check input {
max-width: 90%;
padding-left: 20px;
padding: 10px;
height: 45px;
width: 700px;
}
.hidden-xxs {
visibility: visible;
}
.visible-xxs {
display: none;
}
.inner-311 ul {
column-count: 2;
}
.inner-311-title h3 {
padding-bottom: 0;
}
section.services-banner {
background-color: #0166ce;
}
section.services-banner {
background-position: 50% 50%;
background-repeat: no-repeat;
background-size: cover;
}
.mbr-z-index20 {
z-index: 20;
}
/*! Media */
.media-size-item {
-webkit-flex: 1 1 auto;
-moz-flex: 1 1 auto;
-ms-flex: 1 1 auto;
-o-flex: 1 1 auto;
flex: 1 1 auto;
}
.media-content {
-webkit-flex-basis: 100%;
flex-basis: 100%;
}
.media-container-row {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-align-content: center;
-ms-flex-line-pack: center;
align-content: center;
-webkit-align-items: start;
-ms-flex-align: start;
align-items: start;
}
.media-container-row .media-size-item {
width: 375px;
}
.media-container-column {
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-align-content: center;
-ms-flex-line-pack: center;
align-content: center;
-webkit-align-items: stretch;
-ms-flex-align: stretch;
align-items: stretch;
}
.media-container-column>* {
width: 100%;
}
@media (min-width: 582px) {
.service311 ul li:nth-child(4n+4) {
border-bottom: none;
}
.media-container-row {
-webkit-flex-wrap: nowrap;
-ms-flex-wrap: nowrap;
flex-wrap: nowrap;
}
}
.mbr-figure img,
.mbr-figure iframe {
display: block;
width: 100%;
}
.mbr-figure {
-ms-flex-item-align: center;
-ms-grid-row-align: center;
-webkit-align-self: center;
align-self: center;
}
.media-container>div {
max-width: 100%;
}
.mbr-figure img,
.card-img img {
width: 100%;
}
@media (max-width: 581px) {
.media-size-item {
width: auto !important;
}
.mbr-figure {
width: 100% !important;
}
#dallas311mobile {
opacity: 1;
position: relative;
}
.in-middle {
background-image: none;
padding-bottom: 30px;
height: 170px;
padding: 30px 0 0 30px;
}
.inner-311-title {
text-align: center;
}
.inner-311 {
padding: 1.5rem;
}
.home-311-buttons {
text-align: center;
}
.home-311-buttons .btn {
/*width: 160px;*/
}
.in-middle h3,
.in-middle h2 {
color: #333;
}
#picture311app {
width: 100%;
height: auto;
background-color: #fff;
}
.check {
padding: 0;
}
.check h3 {
padding: 15px 0 5px 0;
}
.hidden-xxs {
display: none;
}
.visible-xxs {
display: block;
}
.inner-311 ul {
column-count: 1;
}
}
/* 311 information */
.align-self-center {
-ms-flex-item-align: center !important;
align-self: center !important;
}
.px-3 {
padding-left: 1rem !important;
}
.py-2 {
padding-top: .5rem !important;
padding-bottom: .5rem !important;
}
.align-self-center {
-ms-flex-item-align: center !important;
align-self: center !important;
}
.inner-311 {
position: relative;
top: auto;
}
/* Custom, iPhone Retina */
@media only screen and (min-width : 320px) {
.media-container-row {
height: auto;
overflow: auto;
}
.px-3 {
padding-right: 0;
}
}
/* Extra Small Devices, Phones */
@media only screen and (min-width : 480px) {
.px-3 {
padding-right: 1rem !important;
}
.inner-311 {
padding: 60px 30px 10px 30px;
width: 100%;
}
}
/* Large Devices, Wide Screens */
@media only screen and (min-width : 1400px) {
.media-container-row {
height: auto;
overflow: hidden;
}
}
</style>
</div>
<div class="clearfix"></div>
<div id="find" style="display:none; bacgkground-color:grey;">
<h3>Find</h3><br>
<div>
<input style="width:70%;border-radius:100px;border:solid 1px #ddd;padding:6px 10px;" id="findsearchinput">
<button type="button" style="margin-left:10px;border-radius:0.3em;padding:6px;color:white;background-color:#690;" class="searchBtn" id="findsearchbutton" onclick="findsearch()">Search</button>
</div>
<div class="iwanttoicons">
<ul>
<li><a href="/departments/humanresources/employment/Pages/default.aspx" id="find-lightbox-job"><img class="serviceimg" src="/PublishingImages/static/employmenticon.png" alt="Jobs Icon"><br>Job</a></li>
<li><a href="http://dallaslibrary2.org/" target="_blank" id="find-lightbox-library"><img class="serviceimg" src="/PublishingImages/static/libraryicon.png" alt="Library Icon"><br>Library</a></li>
<li><a href="http://www.dallasanimalservices.org/" target="_blank" id="find-lightbox-pets"><img class="serviceimg" src="/PublishingImages/static/peticon.png" alt="Dallas Animal Services Icon"><br>Pets</a></li>
<li style="margin-right:0px;">
<a href="http://www.dallasparks.org/" target="_blank" id="find-lightbox-parks-recreation"><img class="serviceimg" src="/PublishingImages/static/parksicon.png" alt="Parks & Recreation Icon"><br>Parks</a></li>
</ul>
<div class="clearfix"></div>
</div>
<div class="col-md-6 col-xs-12 list-items">
<ul>
<li><a target="_blank" href="http://www.dallasculture.org/culturalFacilities.asp" id="find-lightbox-cultural-center">a Cultural Center</a></li>
<!--<li><a href="/departments/humanresources/employment/Pages/default.aspx">a Job</a></li>
<li><a target="_blank" href="http://dallaslibrary.org/">a Library</a></li>-->
<li><a href="/departments/ciservices/Pages/enterprise-gis.aspx" id="find-lightbox-map">a Map</a></li>
<li><a target="_blank" href="http://www.dallasparks.org" id="find-lightbox-dallas-park">a Park</a></li>
</ul>
</div>
<div class="col-md-6 col-xs-12 list-items col-end">
<ul>
<!--<li><a target="_blank" href="http://www.dallasparks.org/">a Park Rec Center</a></li>
<li><a href="/departments/dallas-animal-services/Pages/adoption.aspx">a Pet</a></li>-->
<li><a href="/departments/pnv/Pages/zoning.aspx" id="find-lightbox-property-zoning">Property Zoning</a></li>
<li><a href="/departments/codecompliance/Pages/FoodSafety.aspx" id="find-lightbox-restaurant-scores">Restaurant Scores</a></li>
<li><a href="/departments/sanitation" id="find-lightbox-trash-pickup">Trash Pickup</a></li>
</ul>
</div>
</div>
<div id="pay" style="display:none; bacgkground-color:grey;">
<h3>Pay</h3><br>
<div class="col-md-6 col-xs-12 list-items">
<ul>
<li><a target="_blank" href="/departments/waterutilities/Pages/pay-water-bill.aspx" id="pay-lightbox-water">Water Bill</a></li>
<li><a href="/departments/courtdetentionservices/Pages/default.aspx" id="pay-lightbox-traffic-ticket">Traffic & Civil Tickets</a></li>
<li><a target="_blank" href="https://wmq.etimspayments.com/pbw/include/dallas/input.jsp" id="pay-lightbox-parking-ticket">Parking Ticket</a></li>
<li><a target="_blank" href="https://www.velocitypayment.com/client/bankofamerica/cityofdallas/frab/index.html" id="pay-lightbox-ambulance-ticket">Ambulance Bill</a></li>
<li><a href="/departments/waterutilities/special_collections/Pages/special_collections_registrations.aspx" id="pay-lightbox-alarms-permits">Alarms Permits</a></li>
<li><a target="_blank" href="https://wmq.etimspayments.com/pbw/include/dallas/input.jsp" id="pay-lightbox-school-bus-stop-arm-ticket">School Bus Stop Arm Ticket</a></li>
</ul>
</div>
<div class="col-md-6 col-xs-12 list-items col-end">
<ul>
<li><a href="/departments/courtdetentionservices/Pages/Warrant-Info.aspx" id="pay-lightbox-court-warrants-bond">Court Warrants & Bonds</a></li>
<li><a href="/Pages/paybyapp.aspx" id="pay-lightbox-parking-meters">For Parking Meters</a></li>
<li><a href="/departments/codecompliance/Pages/garage-sales.aspx" id="pay-lightbox-garage-sales-permit">Garage Sales Permit</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx" id="pay-lightbox-hotel-occupancy-tax">Hotel Occupancy Tax (HOT)</a></li>
<li><a href="/departments/controllersoffice/Pages/hotel-taxes.aspx" id="pay-lightbox-short-term-rentals">Short-Term Rentals (HOT)</a></li>
<!--<li><a target="_blank" href="/departments/codecompliance/Pages/Carryout-Bag-Program.aspx">Single-Use Carryout Bag Remittance</a></li>-->
</ul>
</div>
</div>
<div id="request" style="display:none; bacgkground-color:grey;">
<h3>Request</h3><br>
<div class="col-md-6 col-xs-12 list-items">
<ul>
<li><a href="/departments/sustainabledevelopment/buildinginspection" id="request-lightbox-building-permits-inspections">Building Permits & Inspections</a></li>
<li><a href="/services/311" id="request-lightbox-non-emergency-services">311 Services</a></li>
<li><a href="/departments/community-care/Pages/vital_statistics.aspx" id="request-lightbox-birth-death-certificates">Birth / Death Certificates</a></li>
<li><a target="_blank" href="https://www.dallasspecialevents.com/special-event/" id="request-lightbox-event-permits">Event Permits</a></li>
<li><a target="_blank" href="https://www.dallasspecialevents.com/film/" id="request-lightbox-filming-permits">Filming Permits</a></li>
</ul>
</div>
<div class="col-md-6 col-xs-12 list-items">
<h3>New Utility Services</h3>
<ul>
<li><a target="_blank" href="http://www.powertochoose.org/" id="request-lightbox-electricity-providers">Electricity Providers</a></li>
<li><a target="_blank" href="https://www.allconnect.com/local/tx/dallas" id="request-lightbox-tv">Cable-TV-Satellite</a></li>
<li><a target="_blank" href="https://www.2turniton.com/" id="request-lightbox-utilities">Activate Utilities</a></li>
</ul>
</div>
</div>
<!--<div id="opendata" style="display:none; bacgkground-color:grey;">
<h3>Open Data</h3><br/>
<div class="iwanttoicons">
<ul>
<li><a href="https://www.dallasopendata.com/" target="_blank"><img class="serviceimg" src="/PublishingImages/static/opendataicon.png" alt="Open Data Icon" /><br />Open Data</a></li>
<li><a href="https://www.dallasopendata.com/browse?category=Police&limitTo=datasets&utf8=%E2%9C%93" target="_blank"><img class="serviceimg" src="/PublishingImages/static/policeicon.png" alt="Police Icon" /><br />Police</a></li>
<li style="margin-right:0px;"><a href="https://www.dallasopendata.com/browse?category=Financial&q=Financial&sortBy=relevance&utf8=%E2%9C%93" target="_blank"><img class="serviceimg" src="/PublishingImages/static/financialicon.png" alt="Finance Icon" /><br />Financial</a></li>
</ul>
<div class="clearfix"></div>
</div>
<div class="col-3 list-items col-end" style="width:100%">
<ul>
<li><a target="_blank" href="https://gis.dallascityhall.com/shapefileDownload.aspx">Download GIS Data</a></li>
<li><a target="_blank" href="https://gis.dallascityhall.com/cityinfo/">Interactive GIS Map</a></li>
<li><a target="_blank" href="https://gis.dallascityhall.com/staticMapGal.aspx">Static GIS Maps</a></li>
<li><a href="/departments/codecompliance/Pages/FoodSafety.aspx">Restaurant Scores</a></li>
</ul>
</div>
</div>-->
<script>
$(document).ready(function() {
$(".iwanttomodal").fancybox({
'titlePosition': 'inside',
'transitionIn': 'none',
'transitionOut': 'none'
});
$(".swagit").fancybox({
'titlePosition': 'inside',
'transitionIn': 'none',
'transitionOut': 'none',
'type': 'iframe',
'width': 570,
'height': 480,
'scrolling': 'no'
});
});
function findsearch() {
var findsearchinput = document.getElementById("findsearchinput").value;
parent.location = "/pages/searchresults.aspx#k=" + findsearchinput;
}
$('.pay').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Button', 'Pay');
});
$('.find').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Button', 'Find');
});
$('.request').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Button', 'Request');
});
$('.open-data').on('click', function() {
ga('send', 'event', 'Home Links', 'Data Transparency Lightbox Button', 'Data Transparency');
});
$('#finantial-transparency').on('click', function() {
ga('send', 'event', 'Home Links', 'External Link Button', 'Financial Transparency');
});
$('#open-records').on('click', function() {
ga('send', 'event', 'Home Links', 'PIO Button', 'Open Records Request');
});
$('#pay-lightbox-water').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Water Bill');
});
$('#pay-lightbox-traffic-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Traffic Ticket');
});
$('#pay-lightbox-parking-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Parking Ticket');
});
$('#pay-lightbox-red-light-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Red Light Ticket');
});
$('#pay-lightbox-ambulance-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Ambulance Bill');
});
$('#pay-lightbox-alarms-permits').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Alarms Permits');
});
$('#pay-lightbox-court-warrants-bond').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Court Warrants and Bonds');
});
$('#pay-lightbox-school-bus-stop-arm-ticket').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'School Bus Stop Arm Ticket');
});
$('#pay-lightbox-parking-meters').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'For Parking Meters');
});
$('#pay-lightbox-garage-sales-permi').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Garage Sales Permit');
});
$('#pay-lightbox-hotel-occupancy-tax').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Hotel Occupancy Tax (HOT)');
});
$('#pay-lightbox-short-term-rentals').on('click', function() {
ga('send', 'event', 'Home Links', 'Pay Lightbox Link', 'Short-Term Rentals (HOT)');
});
$('#findsearchbutton').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Search');
});
$('#find-lightbox-job').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Job');
});
$('#find-lightbox-library').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Library');
});
$('#find-lightbox-pets').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Pets');
});
$('#find-lightbox-parks-recreation').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Parks');
});
$('#find-lightbox-cultural-center').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'a Cultural Center');
});
$('#find-lightbox-map').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'a Map');
});
$('#find-lightbox-dallas-park').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'a Park');
});
$('#find-lightbox-property-zoning').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Property Zoning');
});
$('#find-lightbox-restaurant-scores').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Restaurant Scores');
});
$('#find-lightbox-trash-pickup').on('click', function() {
ga('send', 'event', 'Home Links', 'Find Lightbox Link', 'Trash Pickup');
});
$('#request-lightbox-building-permits-inspections').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Building Permits and Inspections');
});
$('#request-lightbox-non-emergency-services').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', '311 Services');
});
$('#request-lightbox-birth-death-certificates').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Birth Death Certificatess');
});
$('#request-lightbox-event-permits').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Event Permits');
});
$('#request-lightbox-filming-permits').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Filming Permits');
});
$('#request-lightbox-electricity-providers').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Electricity Providers');
});
$('#request-lightbox-tv').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Cable-TV-Satellite');
});
$('#request-lightbox-utilities').on('click', function() {
ga('send', 'event', 'Home Links', 'Request Lightbox Link', 'Activate Utilities');
});
$('#open-meetings').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Open Meetings');
});
$('#council-meetings').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Council Meetings');
});
$('#council-attendance').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Council Attenance');
});
$('#public-notices').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Public Notices');
});
$('#city-calendar').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'City Calendar');
});
$('#council-memos').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Council Memos');
});
$('#budget').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Budget');
});
$('#boards-and-commissions').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Boards and Commissions');
});
$('#city-meeting-video').on('click', function() {
ga('send', 'event', 'Home Links', 'Official Postings', 'Watch City Meetings Online');
});
$('#quick-links-jobs').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Jobs');
});
$('#quick-links-water').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Water Utilities');
});
$('#quick-links-building-permits-inspections').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Building Permits and Inspections');
});
$('#quick-links-traffic-tickets').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Traffic Tickets');
});
$('#quick-links-courts').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Court Warrants and Bonds');
});
$('#quick-links-sanitation').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Trash Pickup');
});
$('#quick-links-311').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', '311 Services');
});
$('#quick-links-transportation').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Transportation for Hire');
});
$('#quick-links-211').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', '211 Links');
});
$('#quick-links-animal-services').on('click', function() {
ga('send', 'event', 'Home Links', 'Quick Links', 'Animal Services');
});
$('.btn-secondary').on('click', function() {
ga('send', 'event', 'Home Links', '311', 'Request a Service');
});
$('.btn-minimal-reverse').on('click', function() {
ga('send', 'event', 'Home Links', '311', 'Check Status');
});
$('.googleapp').on('click', function() {
ga('send', 'event', 'Home Links', '311', 'Google Play Store');
});
$('.appleapp').on('click', function() {
ga('send', 'event', 'Home Links', '311', 'Apple Store');
});
$('.btn.secondary').on('click', function() {
ga('send', 'event', 'Hero', '7/7Event', 'Learn More');
});
</script>
<script>
$(document).ready(function() {
//add a custom click event to any link or button with custom Google Analyics tracking data
$('a[data-ga-category],button[data-ga-category],input[data-ga-category][type="submit"],input[data-ga-category][type="button"]').each(function(i, element) {
$(element).click(function() {
recordGoogleEvents(element)
});
});
//add a custom change event to certain types of form element with custom Google Analyics tracking data
$('select[data-ga-category],radio[data-ga-category],textarea[data-ga-category],input[data-ga-category][type="text"],input[data-ga-category][type="checkbox"],input[data-ga-category][type="file"],input[data-ga-category][type="image"],input[data-ga-category][type="password"]')
.each(function(i, element) {
$(element).change(function() {
recordGoogleEvents(element)
});
});
function recordGoogleEvents(element) {
console.log("begin recordGoogleEvents");
var category = $(element).data("ga-category");
var action = $(element).data("ga-action");
var label = $(element).data("ga-label");
var value = $(element).data("ga-value");
//default values
if (typeof(action) == "undefined") {
action = "";
}
if (typeof(label) == "undefined") {
label = "";
}
//send event with a value parameter only if one is provided
if (typeof(value) == "undefined" || value === "" || isNaN(value)) {
ga('send', 'event', category, action, label);
} else {
ga('send', 'event', category, action, label, value);
}
}
});
</script>
<meta name="msvalidate.01" content="960DB0DE345588725F126B8C3A857211">
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Spotlight Webpart Zone -->
<div id="spotlight-home">
<div data-name="WebPartZone">
<div>
<div class="ms-webpart-zone ms-fullWidth">
<div id="MSOZoneCell_WebPartctl00_ctl48_g_c4fa770a_6888_4fbb_b601_44a11f42c73f" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="c4fa770a-6888-4fbb-b601-44a11f42c73f" haspers="false" id="WebPartctl00_ctl48_g_c4fa770a_6888_4fbb_b601_44a11f42c73f" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_c4fa770a_6888_4fbb_b601_44a11f42c73f">
<div class="ms-rte-embedcode ms-rte-embedwp">
<style>
.spotlight-title {
font-weight: bold;
padding: 5px;
}
</style>
<div class="spotlight-title">
<h2 style="color: rgb(68, 68, 68)">SPOTLIGHT</h2>
</div>
<script type="text/javascript">
(function($) {
$.fn.scrollbox = function(config) {
//default config
var defConfig = {
linear: true, // Scroll method
startDelay: 10, // Start delay (in seconds)
delay: 10, // Delay after each scroll event (in seconds)
step: 25, // Distance of each single step (in pixels)
speed: 25, // Delay after each single step (in milliseconds)
switchItems: 1, // Items to switch after each scroll event
direction: 'vertical',
distance: 'auto',
autoPlay: false,
onMouseOverPause: true,
paused: false,
queue: null,
listElement: 'ul',
listItemElement: 'li',
infiniteLoop: true, // Infinite loop or not
switchAmount: 0, // Give a number if you don't want to have infinite loop
afterForward: null, // Callback function after each forward action
afterBackward: null, // Callback function after each backward action
triggerStackable: false // Allow triggers when action is not finish yet
};
config = $.extend(defConfig, config);
config.scrollOffset = config.direction === 'vertical' ? 'scrollTop' : 'scrollLeft';
if (config.queue) {
config.queue = $('#' + config.queue);
}
return this.each(function() {
var container = $(this),
containerUL,
scrollingId = null,
nextScrollId = null,
paused = false,
releaseStack,
backward,
forward,
resetClock,
scrollForward,
scrollBackward,
forwardHover,
pauseHover,
switchCount = 0,
stackedTriggerIndex = 0;
if (config.onMouseOverPause) {
container.bind('mouseover', function() {
paused = true;
});
container.bind('mouseout', function() {
paused = false;
});
}
containerUL = container.children(config.listElement + ':first-child');
// init default switchAmount
if (config.infiniteLoop === false && config.switchAmount === 0) {
config.switchAmount = containerUL.children().length;
}
scrollForward = function() {
if (paused) {
return;
}
var curLi,
i,
newScrollOffset,
scrollDistance,
theStep;
curLi = containerUL.children(config.listItemElement + ':first-child');
scrollDistance = config.distance !== 'auto' ? config.distance : config.direction === 'vertical' ? curLi.outerHeight(true) : curLi.outerWidth(true);
// offset
if (!config.linear) {
theStep = Math.max(3, parseInt((scrollDistance - container[0][config.scrollOffset]) * 0.3, 10));
newScrollOffset = Math.min(container[0][config.scrollOffset] + theStep, 0);
} else {
newScrollOffset = Math.min(container[0][config.scrollOffset] + config.step, 0);
}
container[0][config.scrollOffset] = newScrollOffset;
if (newScrollOffset >= 0) {
for (i = 0; i < config.switchItems; i++) {
if (config.queue && config.queue.find(config.listItemElement).length > 0) {
containerUL.append(config.queue.find(config.listItemElement)[0]);
containerUL.children(config.listItemElement + ':first-child').remove();
} else {
containerUL.append(containerUL.children(config.listItemElement + ':first-child'));
}
++switchCount;
}
container[0][config.scrollOffset] = 0;
clearInterval(scrollingId);
scrollingId = null;
if ($.isFunction(config.afterForward)) {
config.afterForward.call(container, {
switchCount: switchCount,
currentFirstChild: containerUL.children(config.listItemElement + ':first-child')
});
}
if (config.triggerStackable && stackedTriggerIndex !== 0) {
releaseStack();
return;
}
if (config.infiniteLoop === false && switchCount >= config.switchAmount) {
return;
}
if (config.autoPlay) {
nextScrollId = setTimeout(forward, config.delay * 1000);
}
}
};
// Backward
// 1. If forwarding, then reverse
// 2. If stoping, then backward once
scrollBackward = function() {
if (paused) {
return;
}
var curLi,
i,
newScrollOffset,
scrollDistance,
theStep;
// init
if (container[0][config.scrollOffset] === 0) {
for (i = 0; i < config.switchItems; i++) {
containerUL.children(config.listItemElement + ':last-child').insertBefore(containerUL.children(config.listItemElement + ':first-child'));
}
curLi = containerUL.children(config.listItemElement + ':first-child');
scrollDistance = config.distance !== 'auto' ? config.distance : config.direction === 'vertical' ? curLi.height() : curLi.width();
container[0][config.scrollOffset] = scrollDistance;
}
// new offset
if (!config.linear) {
theStep = Math.max(3, parseInt(container[0][config.scrollOffset] * 0.3, 10));
newScrollOffset = Math.max(container[0][config.scrollOffset] - theStep, 0);
} else {
newScrollOffset = Math.max(container[0][config.scrollOffset] - config.step, 0);
}
container[0][config.scrollOffset] = newScrollOffset;
if (newScrollOffset === 0) {
--switchCount;
clearInterval(scrollingId);
scrollingId = null;
if ($.isFunction(config.afterBackward)) {
config.afterBackward.call(container, {
switchCount: switchCount,
currentFirstChild: containerUL.children(config.listItemElement + ':first-child')
});
}
if (config.triggerStackable && stackedTriggerIndex !== 0) {
releaseStack();
return;
}
if (config.autoPlay) {
nextScrollId = setTimeout(forward, config.delay * 1000);
}
}
};
releaseStack = function() {
if (stackedTriggerIndex === 0) {
return;
}
if (stackedTriggerIndex > 0) {
stackedTriggerIndex--;
nextScrollId = setTimeout(forward, 0);
} else {
stackedTriggerIndex++;
nextScrollId = setTimeout(backward, 0);
}
};
forward = function() {
clearInterval(scrollingId);
scrollingId = setInterval(scrollForward, config.speed);
};
backward = function() {
clearInterval(scrollingId);
scrollingId = setInterval(scrollBackward, config.speed);
};
// Implements mouseover function.
forwardHover = function() {
config.autoPlay = true;
paused = false;
clearInterval(scrollingId);
scrollingId = setInterval(scrollForward, config.speed);
};
pauseHover = function() {
paused = true;
};
resetClock = function(delay) {
config.delay = delay || config.delay;
clearTimeout(nextScrollId);
if (config.autoPlay) {
nextScrollId = setTimeout(forward, config.delay * 1000);
}
};
if (config.autoPlay) {
nextScrollId = setTimeout(forward, config.startDelay * 1000);
}
// bind events for container
container.bind('resetClock', function(delay) {
resetClock(delay);
});
container.bind('forward', function() {
if (config.triggerStackable) {
if (scrollingId !== null) {
stackedTriggerIndex++;
} else {
forward();
}
} else {
clearTimeout(nextScrollId);
forward();
}
});
container.bind('backward', function() {
if (config.triggerStackable) {
if (scrollingId !== null) {
stackedTriggerIndex--;
} else {
backward();
}
} else {
clearTimeout(nextScrollId);
backward();
}
});
container.bind('pauseHover', function() {
pauseHover();
});
container.bind('forwardHover', function() {
forwardHover();
});
container.bind('speedUp', function(speed) {
if (speed === 'undefined') {
speed = Math.max(1, parseInt(config.speed / 2, 10));
}
config.speed = speed;
});
container.bind('speedDown', function(speed) {
if (speed === 'undefined') {
speed = config.speed * 2;
}
config.speed = speed;
});
container.bind('updateConfig', function(options) {
config = $.extend(config, options);
});
});
};
}(jQuery));
</script>
<script type="text/javascript">
$(function() {
$('#pi-tiles').scrollbox({
direction: 'h',
});
$('#pi-tiles-backward').click(function() {
$('#pi-tiles').trigger('backward');
});
$('#pi-tiles-forward').click(function() {
$('#pi-tiles').trigger('forward');
});
});
</script>
<script src="/Style%20Library/js/angular.min.js"></script>
<script>
var myAngApp = angular.module('AngAppSpotLight', []);
myAngApp.controller('angSpotLightController', function($scope, $http) {
var today = new Date();
$http({
method: 'GET',
url: removeHTTPfromURL(_spPageContextInfo.webAbsoluteUrl) + "/_api/web/lists/getByTitle('SpotLight')/items?$select=StartDate,EndDate,Order,SpotlightTitle,OpenInTheNextTab,Link,EncodedAbsUrl" +
"&$orderby=Order0 asc&$filter=StartDate le datetime'" + today.toISOString() + "' and EndDate ge datetime'" + today.toISOString() + "'",
headers: {
"Accept": "application/json;odata=verbose"
}
}).success(function(d, s, h, c) {
$scope.spotlights = d.d.results;
var backupCount = 3 - $scope.spotlights.length;
if (backupCount > 0) {
$http({
method: 'GET',
url: removeHTTPfromURL(_spPageContextInfo.webAbsoluteUrl) + "/_api/web/lists/getByTitle('SpotLight')/items?$select=Order,SpotlightTitle,OpenInTheNextTab,Link,EncodedAbsUrl&$orderby=Order0 desc",
headers: {
"Accept": "application/json;odata=verbose"
}
}).success(function(d, s, h, c) {
$scope.spotlights.push.apply($scope.spotlights, d.d.results);
});
}
});
//$scope.pictures = function () {
// return $scope.spotlights.concat($scope.spotlightBackups);
//}
$scope.getTarget = function(targetString) {
if (targetString) return "_blank";
else return "_self";
}
$scope.getSrcwithoutHTTP = function(urlString) {
var httpIndex = urlString.indexOf("://");
if (httpIndex > 0) return urlString.slice(httpIndex + 1);
else return urlString;
}
})
</script>
<div ng-app="AngAppSpotLight" class="sp-row ng-scope">
<div id="pi-scroll-tiles" ng-controller="angSpotLightController" class="ng-scope">
<div id="pi-tiles-btn" class="text-center">
<a class="btn" id="pi-tiles-backward"></a>
<a class="btn" id="pi-tiles-forward"></a>
</div>
<div id="pi-tiles" class="scroll-img">
<ul class="unstyled" id="tilesUl">
<!-- ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/departments/public-affairs-outreach/opioid-response" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Opioid Response">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/opioid-response.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/opioid-response.jpg"><span class="nopad spotlight-title ng-binding">Opioid Response</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallasredistricting.com/" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Dallas Redistricting 2021">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/redistricting-dallas-skyline.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/redistricting-dallas-skyline.jpg"><span class="nopad spotlight-title ng-binding">Dallas Redistricting 2021</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="http://www.dallascitynews.net/title-troubles-let-city-dallas-help-resolve" target="_self" data-ga-action="Link" data-ga-category="Home" data-ga-label="Pilot program to help resolve title troubles">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/time-card.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/time-card.jpg"><span class="nopad spotlight-title ng-binding">Pilot program to help resolve title troubles</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/departments/public-works/dallasbondprogram" target="_self" data-ga-action="Link" data-ga-category="Home" data-ga-label="2017 Capital Bond Program ">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/city-of-dallas-website-spotlight_v3.png" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/city-of-dallas-website-spotlight_v3.png"><span class="nopad spotlight-title ng-binding">2017 Capital Bond Program </span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://www.211texas.org/" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="2-1-1 Texas">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/211-logo.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/211-logo.jpg"><span class="nopad spotlight-title ng-binding">2-1-1 Texas</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="http://www.dallascitynews.net/new-brush-bulky-trash-pickup-regulations-begin-july-1" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="New bulk and brushy trash changes">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/Bulk%20Pickup%20Spotlight%20Image.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/Bulk%20Pickup%20Spotlight%20Image.jpg"><span class="nopad spotlight-title ng-binding">New bulk and brushy trash changes</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallemerasstfund.kimbia.com/dallemerasstfund" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="City of Dallas Emergency Assistance Fund">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/emergency-assistance-fund.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/emergency-assistance-fund.jpg"><span class="nopad spotlight-title ng-binding">City of Dallas Emergency Assistance Fund</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://storymaps.arcgis.com/stories/0a10210bd0924f1e96774834c6f0eda2" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Progress on Former Blue Star Recycling cleanup">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/dashboard.JPG" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/dashboard.JPG"><span class="nopad spotlight-title ng-binding">Progress on Former Blue Star Recycling cleanup</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://public.tableau.com/profile/cityofdallasdtxinnovationteam/vizhome/CityofDallasCOVID-19Dashboard/Dashboard1#!/vizhome/Book3_15862351183220/DFWRegionalCases" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="COVID-19 Regional Summary Dashboard">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/dashboard%20snippit.JPG" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/dashboard%20snippit.JPG"><span class="nopad spotlight-title ng-binding">COVID-19 Regional Summary Dashboard</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/departments/budget/financialtransparency/Pages/budget-town-halls.aspx" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Public input for City's budget needed">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/6Y2A9866.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/6Y2A9866.jpg"><span class="nopad spotlight-title ng-binding">Public input for City's budget needed</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/Pages/Corona-Virus.aspx" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Important Information Regarding Coronavirus">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/coronavirus-spotlight.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/coronavirus-spotlight.jpg"><span class="nopad spotlight-title ng-binding">Important Information Regarding Coronavirus</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://storymaps.arcgis.com/stories/0a10210bd0924f1e96774834c6f0eda2" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Progress On Former Blue Star Recycling Cleanup">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/Former-Blue-Star-Recycling-Cleanup.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/Former-Blue-Star-Recycling-Cleanup.jpg"><span class="nopad spotlight-title ng-binding">Progress On Former Blue Star Recycling Cleanup</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://www.dallascitynews.net/summer-of-safety-city-of-dallas-offers-free-and-low-cost-summer-activities-for-kids-and-teens" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Summer of Safety">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/summer-of-safety.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/summer-of-safety.jpg"><span class="nopad spotlight-title ng-binding">Summer of Safety</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallasredistricting.com/" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Dallas Redistricting 2021">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/redistricting-dallas-skyline.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/redistricting-dallas-skyline.jpg"><span class="nopad spotlight-title ng-binding">Dallas Redistricting 2021</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://www.dallascitynews.net/public-survey-hazard-mitigation-action-plan-hazmap" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Public Survey: Hazard Mitigation Action Plan">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/hazard-warning.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/hazard-warning.jpg"><span class="nopad spotlight-title ng-binding">Public Survey: Hazard Mitigation Action Plan</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
<li ng-repeat="picture in spotlights" class="ng-scope">
<a href="https://dallascityhall.com/departments/public-affairs-outreach/opioid-response" target="_blank" data-ga-action="Link" data-ga-category="Home" data-ga-label="Opioid Response">
<img class="image-thumbs" ng-src="https://dallascityhall.com/SpotLight/opioid-response.jpg" alt="" aria-hidden="true" src="https://dallascityhall.com/SpotLight/opioid-response.jpg"><span class="nopad spotlight-title ng-binding">Opioid Response</span>
</a>
</li><!-- end ngRepeat: picture in spotlights -->
</ul>
</div>
</div>
</div>
<br>
<style>
#countdown {
text-align: center;
padding: 20px 0;
border-top: solid 1px #999;
}
#countdown h3 {
font-family: 'Roboto';
font-weight: 600;
font-size: 28px;
color: rgb(3, 63, 136);
border-bottom: none;
}
#countdown-1 {
padding: 25px 0;
}
#countdown-display {
display: block;
border-radius: 10px;
/*height: 140px;*/
max-width: 700px;
margin: 0 auto;
}
#countdown-2 {
padding: 0px 0;
background-color: #fff;
padding: 10px 50px 10px 30px;
border-top-right-radius: 65px;
border-bottom-right-radius: 65px;
height: 105px;
}
/*#countdown-2 a{
display: block;
background-image: url("/Style%20Library/Images/Next%20Arrow.svg");
background-position: right;
background-repeat: no-repeat;
background-size: 20px;
padding: 0 30% 0 0;
}*/
#countdown-2 a img {
height: 100%;
}
#countdown-2 h3 {
font-family: 'Roboto';
padding: 0px;
font-size: 32px;
line-height: 1;
border: none;
color: rgb(3, 63, 136);
font-weight: 600;
}
#countdown-2 h5 {
font-family: 'Roboto';
font-size: 18px;
color: rgb(38, 115, 209);
font-weight: 500;
padding: 0px;
line-height: 1;
border: none;
}
#countdown-3 {
display: inline-block;
background-color: rgb(3, 63, 136);
padding: 15px 0 15px 40px;
border-top-left-radius: 65px;
border-bottom-left-radius: 65px;
height: 105px;
}
#countdown-3 h3 {
font-family: 'Roboto';
font-size: 44px;
font-weight: 500;
color: #fff;
padding: 0;
border: none;
}
#countdown-3 .metric {
font-family: 'Roboto';
font-size: 44px;
font-weight: 500;
color: #fff;
padding: 0;
border: none;
}
#countdown-3 .col-xs-3 {
border-right: solid 1px #c5d3fc;
padding: 0;
}
#countdown-3 .col-xs-3:last-of-type {
border-right: none;
}
#countdown-3 p {
font-family: 'Roboto';
color: #c5d3fc;
font-weight: 600;
font-size: 12px;
padding: 0;
margin: 0;
}
.xxs-hide {
display: block;
}
.xxs-show {
display: none;
}
#countdown-3 .col-xs-3:nth-of-type(2) {
border-right: visible;
}
#spotlight-home {
padding: 50px 0px 30px 0;
}
@media screen and (max-width: 640px) {
#countdown-display .col-xs-7,
#countdown-display .col-xs-5 {
width: 100%;
}
#countdown-3 .col-xs-3 {
width: 50%;
}
.xxs-hide {
display: none;
}
.xxs-show {
display: block;
}
#countdown-3 .col-xs-3:nth-of-type(2) {
border-right: none;
}
#countdown-3 {
border-top-left-radius: 45px;
border-top-right-radius: 45px;
border-bottom-left-radius: 0;
padding: 10px 20px;
height: 95px;
}
#countdown-2 {
display: block;
border-bottom-right-radius: 45px;
border-bottom-left-radius: 45px;
border-top-left-radius: 0;
border-top-right-radius: 0;
padding: 15px 20px;
height: 95px;
}
#countdown-display {
display: block;
padding: 0 10px;
}
#spotlight-home {
padding: 50px 0px;
}
}
</style>
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="newsroom" class="dch-row">
<div class="column-1 text-center">
<div data-name="WebPartZone">
<div>
<div class="ms-webpart-zone ms-fullWidth">
<div id="MSOZoneCell_WebPartctl00_ctl48_g_efb83318_e420_4455_ac8f_fe394d8c3a30" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="efb83318-e420-4455-ac8f-fe394d8c3a30" haspers="false" id="WebPartctl00_ctl48_g_efb83318_e420_4455_ac8f_fe394d8c3a30" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_efb83318_e420_4455_ac8f_fe394d8c3a30">
<div class="ms-rte-embedcode ms-rte-embedwp">
<h3 style="border-bottom:none; color: rgb(68, 68, 68)">FEATURED NEWS</h3>
<a href="http://dallascitynews.net" target="_blank" class="btn btn-primary btn-md" style="background-color:white; border: 1px solid #0166ce; color: #0166ce;" data-ga-action="External Link" data-ga-category="Featured News" data-ga-label="Read More">View More News</a>
</div>
</div>
<div class="ms-clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="column-2">
<div data-name="WebPartZone">
<div>
<div class="ms-webpart-zone ms-fullWidth">
<div id="MSOZoneCell_WebPartctl00_ctl48_g_8d75d7aa_6a08_4bc9_84cf_b61854a0c426" class="s4-wpcell-plain ms-webpartzone-cell ms-webpart-cell-vertical ms-fullWidth ">
<div class="ms-webpart-chrome ms-webpart-chrome-vertical ms-webpart-chrome-fullWidth ">
<div webpartid="8d75d7aa-6a08-4bc9-84cf-b61854a0c426" haspers="false" id="WebPartctl00_ctl48_g_8d75d7aa_6a08_4bc9_84cf_b61854a0c426" width="100%" class="ms-WPBody noindex " allowdelete="false" allowexport="false" style="">
<div id="ctl00_ctl48_g_8d75d7aa_6a08_4bc9_84cf_b61854a0c426">
<ul id="ctl00_ctl48_g_8d75d7aa_6a08_4bc9_84cf_b61854a0c426_fNews">
<li>
<a href="https://dallascityhall.com/departments/ciservices/Pages/Dallas-Secure.aspx" target="_self" data-ga-action="Click" data-ga-category="Featured News" data-ga-label="City of Dallas Launches Free “Dallas Secure” Mobile Phone App to Protect Residents from Cybersecurity Threats">City of Dallas Launches Free “Dallas Secure” Mobile Phone App to Protect Residents from Cybersecurity Threats</a>
</li>
<li><a href="https://www.dallascitynews.net/new-dallas-gov-domain-name" target="_Blank" data-ga-action="Click" data-ga-category="Featured News" data-ga-label="New Dallas.GOV Domain Name">New Dallas.GOV Domain Name</a>
</li>
<li>
<a href="http://www.dallascitynews.net/city-dallas-adopts-new-economic-development-policy" target="_self" data-ga-action="Click" data-ga-category="Featured News" data-ga-label="City of Dallas adopts new Economic Development Policy">City of Dallas adopts new Economic Development Policy</a>
</li>
</ul>
</div>
<div class="ms-clear"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="full-width">
<div data-name="WebPartZone">
<div>
<menu class="ms-hide">
<ie:menuitem id="MSOMenu_Help" iconsrc="/_layouts/15/images/HelpIcon.gif" onmenuclick="MSOWebPartPage_SetNewWindowLocation(MenuWebPart.getAttribute('helpLink'), MenuWebPart.getAttribute('helpMode'))" text="Help" type="option"
style="display:none">
</ie:menuitem>
</menu>
</div>
</div>
</div>
<div style="display:none" id="hidZone"></div>
</span>
</div>
</div>
<!--end s4bodycontainer -->
<br clear="all">
<!-- start footer -->
<!--scroll-->
<script type="text/javascript">
//<![CDATA[
$(document).on('click', 'a[id$="BackToTop"]', function(e) {
setPosition("#mainNav", e);
});
function setPosition(section, e) {
$("#s4-workspace").animate({
scrollTop: $(section).offset().top
}, 800);
e.preventDefault();
}
//]]>
</script>
<div class="full-row mp-footer" id="dch-footer" role="contentinfo">
<div class="container" id="mpc-footer">
<div class="hidden-xs container">
<div class="footer-text-center col-md-3 col-sm-3 col-xs-12 footer-padding">
<span class="sprite img-icon icon-address"></span>
<h3 class="hinline">Address</h3>
<p><a href="https://www.google.com/maps?q=1500+Marilla+Street" target="_blank" class="footer-tel">1500 Marilla Street<br>Dallas, TX 75201</a></p>
<p><a href="tel:214-671-5111" class="footer-tel">Tel: 214-670-3111</a></p>
</div>
<div class="col-md-3 col-sm-3 col-xs-12 footer-padding">
<div class="footer-text-center">
<span class="sprite img-icon icon-connect"></span>
<h3 class="hinline">Connect</h3>
<p>Follow Us</p>
</div>
<div class="margin-35 padding-bottom-10">
<ul class="list-left">
<li><a href="https://www.facebook.com/DallasCityHall?ref=tn_tnmn" target="_blank" aria-label="City of Dallas Facebook"><span class="sprite footer-social-icon icon-social-facebook"></span></a></li>
<li><a href="https://twitter.com/cityofdallas" target="_blank" aria-label="City of Dallas Twitter"><span class="sprite footer-social-icon icon-social-twitter"></span></a></li>
<li><a href="https://www.youtube.com/user/dmcclel" target="_blank" aria-label="City of Dallas Youtube"><span class="sprite footer-social-icon icon-social-youtube"></span></a></li>
</ul>
</div>
</div>
<div class="footer-text-center col-md-4 col-sm-4 col-xs-12 footer-padding">
<span class="sprite img-icon icon-email"></span>
<h3 class="hinline">Subscribe</h3>
<p>Get the latest news from Dallas City Hall</p>
<a href="https://service.govdelivery.com/accounts/TXDALLAS/subscriber/new" target="_blank" class="btn btn-primary btn-sm" style="background-color:#003f88;color:#ffffff;box-shadow:none;min-width:120px;">Sign Up</a>
</div>
<div class="col-md-2 col-sm-2 col-xs-12 scrolltop">
<a id="BackToTop" href="#mainNav"><img alt="Back to top" src="/PublishingImages/components/Icons-Standard-Back-to-Top-Arrow-Dark-Grey.svg"></a>
</div>
</div>
<div class="visible-xs container">
<div class="col-xs-12 scrolltop">
<a id="BackToTopXS" href="#mainNav"><img alt="Back to top" src="/PublishingImages/components/Icons-Standard-Back-to-Top-Arrow-Dark-Grey.svg"></a>
</div>
</div>
<div class="container" id="madewith">
<hr class="hr-footer">
<div class="copyright">Made with <span class="sprite footer-heart"></span> in Dallas, Texas © 2001-2023.</div>
<div class="visible-xs container">
<div class="margin-35 padding-bottom-10">
<ul class="list-left mobile-social-footer">
<li>
<a href="https://www.facebook.com/DallasCityHall?ref=tn_tnmn" target="_blank" aria-label="Facebook">
<span class="social-sprite" id="footer-facebook-logo">
</span>
</a>
</li>
<li>
<a href="https://twitter.com/cityofdallas" target="_blank" aria-label="Twitter">
<span class="social-sprite" id="footer-twitter-logo">
</span>
</a>
</li>
<li>
<a href="https://www.youtube.com/user/dmcclel" target="_blank" aria-label="Youtube">
<span class="social-sprite" id="footer-youtube-logo">
</span>
</a>
</li>
</ul>
</div>
</div>
<div class="legal-stuff">
<ul class="unstyled li-inline">
<li class="visible-xs"><a href="https://service.govdelivery.com/accounts/TXDALLAS/subscriber/new">Subscribe</a></li>
<li><a href="/departments/public-affairs-outreach/Pages/web_accessibility.aspx">Accessibility</a></li>
<li><a href="/departments/public-affairs-outreach/Pages/City-Terminology-Guide.aspx">City Terminology</a></li>
<li><a href="/Pages/contact.aspx">Contact Us</a></li>
<li><a href="/departments/public-affairs-outreach/Pages/disclaimer.aspx">Disclaimer</a></li>
<li><a href="/departments/public-affairs-outreach/Pages/privacy.aspx">Privacy Policy</a></li>
<li><a href="/departments/auditor/pages/fraud_hotline.aspx">Report Fraud</a></li>
<li><a href="/departments/budget/communitydevelopment/CDBG_DR/DCH%20Documents/Published%203.19.2023%20CDBG-DR%20Public%20Notice.pdf" target="_blank" class="btn btn-footer btn-sm">Public Notices</a></li>
</ul>
</div>
</div>
<div class="container" style="font-size: 0.75em;">
<hr class="hr-footer">
<div class="col-xs-12">
</div>
</div>
</div>
<script>
$(document).on('click', 'a[id$="BackToTopXS"]', function(e) {
setPosition("#mainNav", e);
});
var d = new Date();
var dYear = d.getFullYear();
$('.copyright').html('Made with <span class="sprite footer-heart"></span> in Dallas, Texas © 2001-' + dYear + '.');
</script>
</div>
<script type="text/javascript">
//<![CDATA[
$(function() {
$("#mainNav").load("/SiteAssets/DCH-Main-Navigation.txt");
$("#dch-footer").load("/SiteAssets/DCH-Footer.txt");
});
//]]>
</script>
<!--end footer -->
</div>
<script src="/Style Library/js/dch-responsive.js" type="text/javascript">
//<![CDATA[
//]]>
</script>
<!-- end outerWrapper-->
<style>
//<![CDATA[.fancybox-close { position : absolute;top:-18px;right:-18px;width:36px;height:36px;cursor:pointer;z-index:8040; background:url('/Style Library/fancybox_sprite.png') }.fancybox-overlay { background:url('/Style Library/fancybox_overlay.png') }
//]]>
</style>
<script type="text/javascript">
//<![CDATA[
$(document).ready(function() {
$('a.fancybox').attr("href", "/Pages/dallasfeedback.aspx?pageurl=" + window.location);
});
$('a.fancybox').fancybox({
helpers: {
overlay: {
closeClick: false
}
},
'overlayOpacity': 0.6,
autoSize: true,
autoDimensions: true,
'transitionIn': 'elastic',
'transitionOut': 'elastic'
});
//]]>
</script>
<script src="/Style Library/js/jquery.dlmenu.js" type="text/javascript">
//<![CDATA[
//]]>
</script>
<script type="text/javascript">
//<![CDATA[
$(function() {
$('#dl-menu').dlmenu({
animationClasses: {
in: 'dl-animate-in-2',
out: 'dl-animate-out-2'
}
});
});
jQuery(function($) {
$("#seconMainNav .hover-dropdown-toggle").on({
mouseenter: function(event) {
var overlaybody = $('#overlay');
if (!overlaybody.length) {
$('body').append('<div id="overlay"> </div>');
}
$("div.second-static-dropdown", this).removeClass('hide-dropdown');
$("div.second-static-dropdown", this).addClass('show-dropdown');
},
mouseleave: function(event) {
event.preventDefault();
$('#overlay').remove();
$("div.second-static-dropdown", this).removeClass('show-dropdown');
$("div.second-static-dropdown", this).addClass('hide-dropdown');
$(this).trigger('hover');
$(this).unbind('hover');
}
});
});
//]]>
</script>
<script>
//<![CDATA[
var emailPlaceHolder = document.getElementById("govdeliveryemail");
if (emailPlaceHolder) {
if (emailPlaceHolder.addEventListener) {
emailPlaceHolder.addEventListener("focus", focusEmailSignup);
emailPlaceHolder.addEventListener("blur", blurEmailSignup);
} else if (emailPlaceHolder.attachEvent) {
emailPlaceHolder.attachEvent("focus", focusEmailSignup);
emailPlaceHolder.attachEvent("blur", blurEmailSignup);
}
}
function focusEmailSignup() {
emailPlaceHolder.style.color = "#FFF";
if (emailPlaceHolder.value == "Email") {
emailPlaceHolder.value = "";
}
}
function blurEmailSignup() {
if (emailPlaceHolder.value == "") {
emailPlaceHolder.value = "Email";
emailPlaceHolder.style.color = "#888";
}
}
//]]>
</script>
<div role="dialog" aria-label="dallas chatbot">
<script src="/SiteAssets/dalbot/uuidv4.min.js">
//<![CDATA[
//]]>
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.13/jquery.mousewheel.min.js" integrity="sha512-rCjfoab9CVKOH/w/T6GbBxnAH5Azhy4+q1EXW5XEURefHbIkRbQ++ZR+GBClo3/d3q583X/gO4FKmOFuhkKrdA==" crossorigin="anonymous">
//<![CDATA[
//]]>
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js" integrity="sha512-AIOTidJAcHBH2G/oZv9viEGXRqDNmfdPVPYOYKGy3fti0xIplnlgMHUGfuNRzC6FkzIo0iIxgFnr9RikFxK+sw=="
crossorigin="anonymous">
//<![CDATA[
//]]>
</script>
<shadow-demo id="shadow" chat-title-color="#0166CE" user-message-bg-color="#8EC900" bot-message-bg-color="#001B3B" chat-user-font-color="#001B3B" chat-bot-font-color="#FFFFFF" chat-title="DalBot">
</shadow-demo>
<script src="/SiteAssets/dalbot/shadow-12-12.js?version=4" type="text/javascript">
//<![CDATA[
//]]>
</script>
</div>
<div id="DeltaFormDigest">
<script type="text/javascript">
//<![CDATA[
var formDigestElement = document.getElementsByName('__REQUESTDIGEST')[0];
if (!((formDigestElement == null) || (formDigestElement.tagName.toLowerCase() != 'input') || (formDigestElement.type.toLowerCase() != 'hidden') || (formDigestElement.value == null) || (formDigestElement.value.length <= 0))) {
formDigestElement.value = '0xF1EA7E66143E62F61E0C5885365017BBCCF15CF04CEE6E03DA8B2C55E6DA1851D8F742A796B62EC2F0B1D5EC59A5418E5E0266C3D5D8E76C8DFC5EF441CA4DEF,12 May 2023 09:49:56 -0000';
g_updateFormDigestPageLoaded = new Date();
}
//]]>
</script>
</div>
<script type="text/javascript">
//<![CDATA[
var _fV4UI = true;
function _RegisterWebPartPageCUI() {
var initInfo = {
editable: false,
isEditMode: false,
allowWebPartAdder: false,
listId: "{4a35db85-1d01-4ce0-9804-6a1072e5021e}",
itemId: 533,
recycleBinEnabled: true,
enableMinorVersioning: true,
enableModeration: false,
forceCheckout: true,
rootFolderUrl: "\u002fPages",
itemPermissions: {
High: 16,
Low: 196705
}
};
SP.Ribbon.WebPartComponent.registerWithPageManager(initInfo);
var wpcomp = SP.Ribbon.WebPartComponent.get_instance();
var hid;
hid = document.getElementById("_wpSelected");
if (hid != null) {
var wpid = hid.value;
if (wpid.length > 0) {
var zc = document.getElementById(wpid);
if (zc != null) wpcomp.selectWebPart(zc, false);
}
}
hid = document.getElementById("_wzSelected");
if (hid != null) {
var wzid = hid.value;
if (wzid.length > 0) {
wpcomp.selectWebPartZone(null, wzid);
}
}
};
function __RegisterWebPartPageCUI() {
ExecuteOrDelayUntilScriptLoaded(_RegisterWebPartPageCUI, "sp.ribbon.js");
}
_spBodyOnLoadFunctionNames.push("__RegisterWebPartPageCUI");
var __wpmExportWarning =
'This Web Part Page has been personalized. As a result, one or more Web Part properties may contain confidential information. Make sure the properties contain information that is safe for others to read. After exporting this Web Part, view properties in the Web Part description file (.WebPart) by using a text editor such as Microsoft Notepad.';
var __wpmCloseProviderWarning =
'You are about to close this Web Part. It is currently providing data to other Web Parts, and these connections will be deleted if this Web Part is closed. To close this Web Part, click OK. To keep this Web Part, click Cancel.';
var __wpmDeleteWarning = 'You are about to permanently delete this Web Part. Are you sure you want to do this? To delete this Web Part, click OK. To keep this Web Part, click Cancel.';
var g_clientIdDeltaPlaceHolderMain = "DeltaPlaceHolderMain";
var g_clientIdDeltaPlaceHolderUtilityContent = "DeltaPlaceHolderUtilityContent";
//]]>
</script>
</form>
Text Content
Skip Navigation * Mayor * City Council * City Manager * Departments View All Departments Most Visited * Employment * Water Utilities * Building Inspection * Sanitation * Court & Detention Services * Human Resources * Code Compliance * Procurement Services * Open Records * Garage Sale * Pay * Water Bill * Traffic & Civil Tickets * Parking Ticket * Ambulance Bill * Court Warrants & Bonds * For Parking Meters * Garage Sales Permit * School Bus Stop Ticket * Security Alarm Permit * Hotel Occupancy Tax (HOT) * Short-Term Rentals (HOT) Search * Resident * Resident * Resident Home * Payments * Payments * Water Bill * Traffic & Civil Tickets * Parking Ticket * Ambulance Bill * Court Warrants & Bonds * For Parking Meters * Garage Sales Permit * School Bus Stop Ticket * Security Alarm Permit * Hotel Occupancy Tax (HOT) * Short-Term Rentals (HOT) * Resources * Resources * Animal Services * Community Centers * Cultural Centers * Libraries * Parks and Recreations * Sanitation Services * Transportation * Public Safety * Public Safety * Community Policing * Courts * Crime Reports * Crime Watch * Emergency Management * Emergency Preparedness * Fire Prevention Program * State Assistance * State Assistance * 2-1-1 Texas Website * About 2-1-1 Texas * Your Texas Benefits * SNAP (Food Stamps) * WIC (Women, Infants, and Children) * TANF (Temporary Assistance to Needy Families) * Health Care * Dallas Police * Dallas Fire * Visitor * Business * Business * Business Home * Licenses and Permits * Licenses and Permits * Building Permits and Inspections * Business and Vendor Licenses * City Vendor Registration * Dallas Film & Creative Industries Office * Fire Prevention and Pool Permits * Food Service Permits * Hotel Occupancy Tax (HOT) Registration * Short-Term Rentals (HOT) Registration * Small Business * Small Business * Better Business Bureau in Dallas * Dallas Regional Chamber * How to Start a New Business * Small Business Administration * Small Business Center * Development * Development * Building Inspection * Construction Notices * Dallas Economic Development * Downtown Improvement District * ForwardDallas! * Zoning - Current Planning * Zoning Interactive Maps * Resources * Resources * Doing Business With the City * vGov * Government * Government * Government Home * Mayor and City Council * Mayor and City Council * Eric Johnson MAYOR * 1. Chad West * 2. Jesse Moreno * 3. Casey Thomas, II * 4. Carolyn King Arnold MAYOR PRO TEM * 5. Jaime Resendez * 6. Omar Narvaez DEPUTY MAYOR PRO TEM * 7. Adam Bazaldua * 8. Tennell Atkins * 9. Paula Blackmon * 10. B. Adam McGough * 11. Jaynie Schultz * 12. Cara Mendelsohn * 13. Gay Donnell Willis * 14. Paul E. Ridley * City Management * City Management * T.C. Broadnax CITY MANAGER * Kimberly Bizor Tolbert DEPUTY CITY MANAGER * Jon Fortune DEPUTY CITY MANAGER * Majed Al-Ghafry ASSISTANT CITY MANAGER * Liz Cedillo-Pereira ASSISTANT CITY MANAGER * Carl Simpson ASSISTANT CITY MANAGER * Robert Perez ASSISTANT CITY MANAGER * Jack Wade Ireland, Jr. CHIEF FINANCIAL OFFICER * Genesis Gavino CHIEF OF STAFF * Other City Officials * Other City Officials * Tammy Palomino INTERIM CITY ATTORNEY * Mark S. Swann CITY AUDITOR * Bilierae Johnson CITY SECRETARY * Preston Robinson ADMINISTRATIVE JUDGE * Public Meetings * Public Meetings * Council Agendas * Council Briefings * Committee Briefings * Council Voting Record * Boards & Commissions Meetings * City Secretary's Public Meetings * City Hall Resources * City Hall Resources * Annual Report * City Codes * Dallas Economic Development * Departments * Enterprise GIS * Financial Transparency * Calendar * News * 311 * 311 * Request a Service * About 311 * Frequently Requested Services * Frequently Requested Services * Code Concerns * Sanitation Roll Cart * Missed Garbage * Street Repair * Parking – Report a Violation * Animal Loose * Dead Animal Pick Up * 24 Hour Parking * View All 311 Services * Mayor * City Council * City Manager * Departments * ▼ * Resident Resident Home PAYMENTS * Water Bill * Traffic & Civil Tickets * Parking Ticket * Ambulance Bill * Court Warrants & Bonds * For Parking Meters * Garage Sales Permit * School Bus Stop Ticket * Security Alarm Permit * Hotel Occupancy Tax (HOT) * Short-Term Rentals (HOT) SERVICES * Animal Services * Community Centers * Cultural Centers * Libraries * Parks and Recreations * Sanitation Services * Transportation PUBLIC SAFETY * Dallas Police * Dallas Fire * Community Policing * Courts * Crime Reports * Crime Watch * Emergency Management * Emergency Preparedness * Fire Prevention Program STATE ASSISTANCE * 2-1-1 Texas Website * About 2-1-1 Texas * Your Texas Benefits * SNAP (Food Stamps) * WIC (Women, Infants, and Children) * TANF (Temporary Assistance to Needy Families) * Health Care * Visitor * Business Business Home LICENSES AND PERMITS * Building Permits and Inspections * Business and Vendor Licenses * City Vendor Registration * Dallas Film & Creative Industries Office * Fire Prevention and Pool Permits * Food Service Permits * Hotel Occupancy Tax (HOT) Registration * Short-Term Rentals (HOT) Registration SMALL BUSINESS * Better Business Bureau in Dallas * Dallas Regional Chamber * How to Start a New Business * Small Business Administration * Small Business Center DEVELOPMENT * Building Inspection * Construction Notices * Dallas Economic Development * Downtown Improvement District * ForwardDallas! * Zoning - Current Planning * Zoning Interactive Maps DOING BUSINESS WITH THE CITY * Government Government Home MAYOR AND CITY COUNCIL * Eric Johnson MAYOR -------------------------------------------------------------------------------- * 1. Chad West * 2. Jesse Moreno * 3. Casey Thomas, II * 4. Carolyn King Arnold MAYOR PRO TEM * 5. Jaime Resendez * 6. Omar Narvaez DEPUTY MAYOR PRO TEM * 7. Adam Bazaldua * 8. Tennell Atkins * 9. Paula Blackmon * 10. B. Adam McGough * 11. Jaynie Schultz * 12. Cara Mendelsohn * 13. Gay Donnell Willis * 14. Paul E. Ridley CITY MANAGEMENT * T.C. Broadnax CITY MANAGER -------------------------------------------------------------------------------- * Kimberly Bizor Tolbert DEPUTY CITY MANAGER * Jon Fortune DEPUTY CITY MANAGER * Majed Al-Ghafry ASSISTANT CITY MANAGER * Liz Cedillo-Pereira ASSISTANT CITY MANAGER * Carl Simpson ASSISTANT CITY MANAGER * Robert Perez ASSISTANT CITY MANAGER * Jack Wade Ireland, Jr. CHIEF FINANCIAL OFFICER * Genesis Gavino CHIEF OF STAFF OTHER CITY OFFICIALS * Tammy Palomino INTERIM CITY ATTORNEY * Mark S. Swann CITY AUDITOR * Bilierae Johnson CITY SECRETARY * Preston Robinson ADMINISTRATIVE JUDGE * Jobs * Contact the Mayor & City Council * PUBLIC MEETINGS * Council Agendas * Council Briefings * Committee Briefings * Council Voting Record * Boards & Commissions Meetings * City Secretary's Public Meetings * Jobs * Contact the Mayor & City Council * CITY HALL RESOURCES * Annual Report * City Codes * Dallas Economic Development * Departments * Enterprise GIS * Financial Transparency * Calendar * Jobs * Contact the Mayor & City Council * * News * 311 311 Home Check Service Request Status Request a Service About 311 FREQUENTLY REQUESTED SERVICES * Code Concerns * Sanitation Roll Cart * Missed Garbage * Street Repair * Parking – Report a Violation * Animal Loose * Dead Animal Pick Up * 24 Hour Parking * Search * The City is experiencing a service outage and is working to restore services. We appreciate your patience during this time. Public Alerts WELCOME TO DALLAS COMMITTED TO "SERVICE FIRST" EXCELLENCE DCHHS Mpox Virus Information and Resources Important COVID-19 Information and Resources OUR CORE VALUES ARE EMPATHY, ETHICS, EXCELLENCE, EQUITY * Pay * Find * Request * Dallas Data Hub * Financial Transparency * Open Records Request OFFICIAL POSTINGS * FY 2022-23 Adopted Budget * City Meetings * Boards & Commissions * Council Attendance * City Calendar * Public Notices * Open Meetings * City Manager Memos * Watch City Meetings Online QUICK LINKS * Water Utilities * Trash Pickup * Building Permits & Inspections * Jobs * Traffic & Civil Tickets * Court Warrants & Bonds * Animal Services * Public Survey: Hazard Mitigation Action Plan 311 SERVICE REQUESTS REQUEST CITY SERVICES AND INFORMATION Request a Service About 311 Dashboard CALL 311 IN HUNDREDS OF LANGUAGES * Llama al 311 * 311 ကို ခေါ်ဆိုပါ * Piga simu 311 * Gọi số 311 * 311 شمیرې ته زنګ ووهئ * با 311 تماس بگيريد * tumawag sa 311 * Ruáingga Koól 311 FREQUENTLY REQUESTED SERVICES * Code Concerns * Sanitation Roll Cart * Missed Garbage * Street Repair * Parking – Report a Violation * Animal Loose * Dead Animal Pick Up * Missed Recycle CHECK SERVICE REQUEST STATUS Service Request Number Search Request DOWNLOAD THE OURDALLAS MOBILE APP FIND Search * Job * Library * Pets * Parks * a Cultural Center * a Map * a Park * Property Zoning * Restaurant Scores * Trash Pickup PAY * Water Bill * Traffic & Civil Tickets * Parking Ticket * Ambulance Bill * Alarms Permits * School Bus Stop Arm Ticket * Court Warrants & Bonds * For Parking Meters * Garage Sales Permit * Hotel Occupancy Tax (HOT) * Short-Term Rentals (HOT) REQUEST * Building Permits & Inspections * 311 Services * Birth / Death Certificates * Event Permits * Filming Permits NEW UTILITY SERVICES * Electricity Providers * Cable-TV-Satellite * Activate Utilities SPOTLIGHT * Opioid Response * Dallas Redistricting 2021 * Pilot program to help resolve title troubles * 2017 Capital Bond Program * 2-1-1 Texas * New bulk and brushy trash changes * City of Dallas Emergency Assistance Fund * Progress on Former Blue Star Recycling cleanup * COVID-19 Regional Summary Dashboard * Public input for City's budget needed * Important Information Regarding Coronavirus * Progress On Former Blue Star Recycling Cleanup * Summer of Safety * Dallas Redistricting 2021 * Public Survey: Hazard Mitigation Action Plan * Opioid Response FEATURED NEWS View More News * City of Dallas Launches Free “Dallas Secure” Mobile Phone App to Protect Residents from Cybersecurity Threats * New Dallas.GOV Domain Name * City of Dallas adopts new Economic Development Policy ADDRESS 1500 Marilla Street Dallas, TX 75201 Tel: 214-670-3111 CONNECT Follow Us * * * SUBSCRIBE Get the latest news from Dallas City Hall Sign Up -------------------------------------------------------------------------------- Made with in Dallas, Texas © 2001-2023. * * * * Subscribe * Accessibility * City Terminology * Contact Us * Disclaimer * Privacy Policy * Report Fraud * Public Notices -------------------------------------------------------------------------------- ORIGINALTEXT Bessere Übersetzung vorschlagen --------------------------------------------------------------------------------