www.marketbeat.com Open in urlscan Pro
2606:4700:3108::ac42:2b0e  Public Scan

Submitted URL: https://email.analystratings.net/ls/click?upn=u001.WeKo-2BCuHku2kJmVIsYmGxteRO-2BqdkFdZns7E8OZ0trhuVzv60JIJuCmRQkqJu3kj-2BlqFESQM...
Effective URL: https://www.marketbeat.com/manage/watchlists/?AccountID=11404962&hash=54155C44E1BA582367DE39E87C49FED2667478813F80DF261F886...
Submission: On November 20 via api from BE — Scanned from US

Form analysis 2 forms found in the DOM

GET /pages/search.aspx

<form id="headerSearchForm" class="input-group dark-bkg ml-lg-2 mr-md-2" method="get" action="/pages/search.aspx" role="search" aria-label="Site search">
  <input aria-label="Search" id="headerSearch" type="text" name="query" class="autocomplete form-control ui-autocomplete-input" placeholder="Search stocks, news, and tools..." style="font-size:.9em;" autocomplete="off">
  <span id="mainAutocompleteList">
    <ul id="ui-id-3" tabindex="0" class="ui-menu ui-widget ui-widget-content ui-autocomplete ui-front" unselectable="on" style="display: none;"></ul>
  </span>
  <span class="input-group-append position-relative">
    <span id="headerSearchLoading" style="width: 20px; height: 20px; position: absolute; left: -1.7em; top: 0.4em; display: none;">
      <img style="filter: brightness(1.5);" src="/images/loading-gif.gif?v=2" alt="" loading="lazy" width="20" height="20"></span>
    <button class="clear-button" type="submit" aria-label="Search" style="color: var(--white); text-transform: uppercase;"><span class="fa-regular fa-magnifying-glass"></span><span class="sr-only">Search</span></button>
  </span>
</form>

POST ./?AccountID=11404962&hash=54155C44E1BA582367DE39E87C49FED2667478813F80DF261F8865C4866EA1CFAA87097611AF0C87213F14E55C1F6DD753850FFB8F73AB7F52849A0A689CBD51&utm_source=newsletter&utm_medium=email&utm_campaign=newsletterclick

<form method="post"
  action="./?AccountID=11404962&amp;hash=54155C44E1BA582367DE39E87C49FED2667478813F80DF261F8865C4866EA1CFAA87097611AF0C87213F14E55C1F6DD753850FFB8F73AB7F52849A0A689CBD51&amp;utm_source=newsletter&amp;utm_medium=email&amp;utm_campaign=newsletterclick"
  onsubmit="javascript:return WebForm_OnSubmit();" id="form1">
  <div class="aspNetHidden">
    <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
    <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
    <input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="">
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
      value="/wEPDwULLTE0OTYzNTg0MjEPZBYCZg9kFhpmD2QWBgIYDxYCHgRUZXh0BcYCPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPk9uZVNpZ25hbC5wdXNoKGZ1bmN0aW9uICgpIHtPbmVTaWduYWwuZ2V0VXNlcklkKGZ1bmN0aW9uICh1c2VySWQpIHskLmdldCgiL3NjcmlwdHMvT25lU2lnbmFsVHJhY2tpbmcuYXNoeD9Vc2VySUQ9MTE0MDQ5NjImSGFzaD0xQzk5NDY5RjgxRDM4RjlDNEI1QjA5OUNEMkMzQUIyNDQwM0VFNTRGQUM0RURBNDQ0REM5Qjg4NDc1MzZDNEFERTUxRTc2MEJGMTgyQTk4NzM2OUQyNkMyOERBNDVEMDc2MDVERUYzNEE0MzQ1QjRGRjNEQTNFMkJEM0Q2MDAyRCZPbmVTaWduYWxJRD0iICsgdXNlcklkKTt9KTt9KTs8L3NjcmlwdD5kAhkPZBYCAgEPFgIfAAV6PHN0eWxlPkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgeyNjcGhQcmltYXJ5Q29udGVudF9wbmxVcGRhdGVTdG9ja1ByaWNlIHsgcG9zaXRpb246IGFic29sdXRlO3RvcDogMDtyaWdodDogMDsgfX0gPC9zdHlsZT5kAhoPFgIfAAXMATxtZXRhIHByb3BlcnR5PSJvZzppbWFnZSIgY29udGVudD0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vaW1hZ2VzL21hcmtldGJlYXQtbG9nby0xMjAwLTEyMDAuanBnP3Y9MSIvPjxtZXRhIHByb3BlcnR5PSJvZzppbWFnZTp3aWR0aCIgY29udGVudD0iMTIwMCIgLz48bWV0YSBwcm9wZXJ0eT0ib2c6aW1hZ2U6aGVpZ2h0IiBjb250ZW50PSIxMjAwIiAvPmQCAg8PFgIeB1Zpc2libGVnZGQCCA8WAh8ABasCPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPnZhciBzY3JvbGxpbmdUaWNrZXJzRmlsZSA9ICcvU2NyaXB0cy9TY3JvbGxpbmdUaWNrZXJzLmFzaHg/YWNjb3VudGlkPTExNDA0OTYyJmhhc2g9RDNDMTZERUIxREE1MEFBRjQxOTI3QjQ3OTYyQTMwMkM0OEI5NzRGODFBNzIyNzY3OUI2MjQ5M0E1ODZENEVCRDM4NjVDQTg4NkRBMDdCMEU2MjVGMTZBRkMzODgxMDIxNjJCNDJERDkzMEZERTJFMjk4QUE4M0U5RTIzNDA4NkEmaW50ZXJ2YWw9MjQxMTE5MTA0NSZ1c2VybGV2ZWw9RnJlZVN1YnNjcmliZXInOyA8L3NjcmlwdD5kAgkPFgIfAAXJKTxsaSBjbGFzcz0iaGFzLXN1Ym1lbnUiPjxhIGhyZWY9Ii92aWRlb3MvIj5NYXJrZXRCZWF0IFRWPC9hPjx1bCBjbGFzcz0icm93IGxpbWl0ZWQtdmlkZW8tc3VibWVudSI+PGxpIGNsYXNzPSJtZWdhLW9ubHkgbWItMiBjb2wtNiBwbC0wIj48YSBocmVmPSIvdmlkZW9zL3BhbGFudGlyLWFuZC10aGUtbmFzZGFxLTEwMC13aGF0cy10aGUtbmV4dC1iaWctc3RvY2stc3dpbmctZm9yLXRoaXMtYWktZ2lhbnQvIiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUiPjxzcGFuIGNsYXNzPSJkLWZsZXggcG9zaXRpb24tcmVsYXRpdmUgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIiPjxzcGFuIGNsYXNzPSJwb3NpdGlvbi1hYnNvbHV0ZSBmYS1zb2xpZCBmYS1wbGF5IGMtd2hpdGUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0ib3BhY2l0eTowLjg7Zm9udC1zaXplOjNlbTsiPjwvc3Bhbj48aW1nIGNsYXNzPSJ3LTEwMCIgc3JjPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9sb2dvcy92aWRlb3MvdGh1bWJfMjAyNDExMTkxNjI5MDFfdmlkZW9zY3JlZW5zaG90MjAyNC0xMS0xOGF0MS5wbmciIGFsdD0iUGFsYW50aXIgYW5kIHRoZSBOQVNEQVEgMTAwOiBXaGF04oCZcyB0aGUgTmV4dCBCaWcgU3RvY2sgU3dpbmcgZm9yIFRoaXMgQUkgR2lhbnQ/IiBoZWlnaHQ9Ijc4IiB3aWR0aD0iMTQwIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiLz48L3NwYW4+PHNwYW4gY2xhc3M9ImQtYmxvY2sgbXQtMSIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMmVtOyI+UGFsYW50aXIgYW5kIHRoZSBOQVNEQVEgMTAwOiBXaGF04oCZcyB0aGUgTmV4dCBCaWcgU3RvY2sgU3dpbmcgZm9yIFRoaXMgQUkgR2lhbnQ/PC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0ic2lkZS1vbmx5Ij48YSBocmVmPScvdmlkZW9zL3BhbGFudGlyLWFuZC10aGUtbmFzZGFxLTEwMC13aGF0cy10aGUtbmV4dC1iaWctc3RvY2stc3dpbmctZm9yLXRoaXMtYWktZ2lhbnQvJz5QYWxhbnRpciBhbmQgdGhlIE5BU0RBUSAxMDA6IFdoYXTigJlzIHRoZSBOZXh0IEJpZyBTdG9jayBTd2luZyBmb3IgVGhpcyBBSSBHaWFudD88L2E+PC9saT48bGkgY2xhc3M9Im1lZ2Etb25seSBtYi0yIGNvbC02IHBsLTAiPjxhIGhyZWY9Ii92aWRlb3Mvcm9ja2V0LWxhYi1zdG9jay1leHBsb2Rlcy1oaWdoZXJ3aGF0cy1uZXh0LWZvci10aGlzLXNwYWNlLXBpb25lZXIvIiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUiPjxzcGFuIGNsYXNzPSJkLWZsZXggcG9zaXRpb24tcmVsYXRpdmUgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIiPjxzcGFuIGNsYXNzPSJwb3NpdGlvbi1hYnNvbHV0ZSBmYS1zb2xpZCBmYS1wbGF5IGMtd2hpdGUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0ib3BhY2l0eTowLjg7Zm9udC1zaXplOjNlbTsiPjwvc3Bhbj48aW1nIGNsYXNzPSJ3LTEwMCIgc3JjPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9sb2dvcy92aWRlb3MvdGh1bWJfMjAyNDExMTgxOTI2NTRfdmlkZW9yb2NrZXRsYWJjaHJpc3RodW1ibmFpbC5wbmciIGFsdD0iUm9ja2V0IExhYiBTdG9jayBFeHBsb2RlcyBIaWdoZXLigJRXaGF04oCZcyBOZXh0IGZvciBUaGlzIFNwYWNlIFBpb25lZXI/IiBoZWlnaHQ9Ijc4IiB3aWR0aD0iMTQwIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiLz48L3NwYW4+PHNwYW4gY2xhc3M9ImQtYmxvY2sgbXQtMSIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMmVtOyI+Um9ja2V0IExhYiBTdG9jayBFeHBsb2RlcyBIaWdoZXLigJRXaGF04oCZcyBOZXh0IGZvciBUaGlzIFNwYWNlIFBpb25lZXI/PC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0ic2lkZS1vbmx5Ij48YSBocmVmPScvdmlkZW9zL3JvY2tldC1sYWItc3RvY2stZXhwbG9kZXMtaGlnaGVyd2hhdHMtbmV4dC1mb3ItdGhpcy1zcGFjZS1waW9uZWVyLyc+Um9ja2V0IExhYiBTdG9jayBFeHBsb2RlcyBIaWdoZXLigJRXaGF04oCZcyBOZXh0IGZvciBUaGlzIFNwYWNlIFBpb25lZXI/PC9hPjwvbGk+PGxpIGNsYXNzPSJtZWdhLW9ubHkgbWItMiBjb2wtNiBwbC0wIj48YSBocmVmPSIvdmlkZW9zL3doeS13aGl0ZXN0b25lLXJlaXQtaXMtb3V0cGVyZm9ybWluZy1pbi0yMDI0LTM1LWdyb3d0aC1hbmQtbW9udGhseS1kaXZpZGVuZHMvIiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUiPjxzcGFuIGNsYXNzPSJkLWZsZXggcG9zaXRpb24tcmVsYXRpdmUgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIiPjxzcGFuIGNsYXNzPSJwb3NpdGlvbi1hYnNvbHV0ZSBmYS1zb2xpZCBmYS1wbGF5IGMtd2hpdGUiIGFyaWEtaGlkZGVuPSJ0cnVlIiBzdHlsZT0ib3BhY2l0eTowLjg7Zm9udC1zaXplOjNlbTsiPjwvc3Bhbj48aW1nIGNsYXNzPSJ3LTEwMCIgc3JjPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9sb2dvcy92aWRlb3MvdGh1bWJfMjAyNDExMTYwMTE5MTdfdmlkZW9kYXZlaG9sZW1hbi1sb2dvLnBuZyIgYWx0PSJXaHkgV2hpdGVzdG9uZSBSRUlUIGlzIE91dHBlcmZvcm1pbmcgaW4gMjAyNDogMzUlIEdyb3d0aCAmIE1vbnRobHkgRGl2aWRlbmRzIiBoZWlnaHQ9Ijc4IiB3aWR0aD0iMTQwIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiLz48L3NwYW4+PHNwYW4gY2xhc3M9ImQtYmxvY2sgbXQtMSIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMmVtOyI+V2h5IFdoaXRlc3RvbmUgUkVJVCBpcyBPdXRwZXJmb3JtaW5nIGluIDIwMjQ6IDM1JSBHcm93dGggJiBNb250aGx5IERpdmlkZW5kczwvc3Bhbj48L2E+PC9saT48bGkgY2xhc3M9InNpZGUtb25seSI+PGEgaHJlZj0nL3ZpZGVvcy93aHktd2hpdGVzdG9uZS1yZWl0LWlzLW91dHBlcmZvcm1pbmctaW4tMjAyNC0zNS1ncm93dGgtYW5kLW1vbnRobHktZGl2aWRlbmRzLyc+V2h5IFdoaXRlc3RvbmUgUkVJVCBpcyBPdXRwZXJmb3JtaW5nIGluIDIwMjQ6IDM1JSBHcm93dGggJiBNb250aGx5IERpdmlkZW5kczwvYT48L2xpPjxsaSBjbGFzcz0ibWVnYS1vbmx5IG1iLTIgY29sLTYgcGwtMCI+PGEgaHJlZj0iL3ZpZGVvcy93aHktc291bmRob3VuZC1zdG9jay1kaXAtY291bGQtbWVhbi1iaWctZ2FpbnMtZm9yLTIwMjUtaW52ZXN0b3JzLyIgY2xhc3M9InBvc2l0aW9uLXJlbGF0aXZlIj48c3BhbiBjbGFzcz0iZC1mbGV4IHBvc2l0aW9uLXJlbGF0aXZlIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj48c3BhbiBjbGFzcz0icG9zaXRpb24tYWJzb2x1dGUgZmEtc29saWQgZmEtcGxheSBjLXdoaXRlIiBhcmlhLWhpZGRlbj0idHJ1ZSIgc3R5bGU9Im9wYWNpdHk6MC44O2ZvbnQtc2l6ZTozZW07Ij48L3NwYW4+PGltZyBjbGFzcz0idy0xMDAiIHNyYz0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vbG9nb3MvdmlkZW9zL3RodW1iXzIwMjQxMTEzMTc0ODQ2X3ZpZGVvc291bmRob3VuZHJhbGx5LnBuZyIgYWx0PSJXaHkgU291bmRIb3VuZCBTdG9jayBEaXAgQ291bGQgTWVhbiBCaWcgR2FpbnMgZm9yIDIwMjUgSW52ZXN0b3JzIiBoZWlnaHQ9Ijc4IiB3aWR0aD0iMTQwIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiLz48L3NwYW4+PHNwYW4gY2xhc3M9ImQtYmxvY2sgbXQtMSIgc3R5bGU9ImxpbmUtaGVpZ2h0OjEuMmVtOyI+V2h5IFNvdW5kSG91bmQgU3RvY2sgRGlwIENvdWxkIE1lYW4gQmlnIEdhaW5zIGZvciAyMDI1IEludmVzdG9yczwvc3Bhbj48L2E+PC9saT48bGkgY2xhc3M9InNpZGUtb25seSI+PGEgaHJlZj0nL3ZpZGVvcy93aHktc291bmRob3VuZC1zdG9jay1kaXAtY291bGQtbWVhbi1iaWctZ2FpbnMtZm9yLTIwMjUtaW52ZXN0b3JzLyc+V2h5IFNvdW5kSG91bmQgU3RvY2sgRGlwIENvdWxkIE1lYW4gQmlnIEdhaW5zIGZvciAyMDI1IEludmVzdG9yczwvYT48L2xpPjwvdWw+PC9saT48bGkgY2xhc3M9Imhhcy1zdWJtZW51Ij48YSBocmVmPSIvb3JpZ2luYWxzLyI+RmVhdHVyZWQgQXJ0aWNsZXM8L2E+PHVsIGNsYXNzPSdsaW1pdGVkLXdpZHRoLXN1Ym1lbnUnPjxsaT48YSBocmVmPScvb3JpZ2luYWxzL3N1cGVyLW1pY3JvLWNvbXB1dGVyLXNvYXJzLTI4LWlzLWl0LXJlYWxseS1vdXQtb2YtdGhlLXdvb2RzLyc+U3VwZXIgTWljcm8gQ29tcHV0ZXIgU29hcnMgMjglOiBJcyBJdCBSZWFsbHkgT3V0IG9mIHRoZSBXb29kcz88L2E+PC9saT48bGk+PGEgaHJlZj0nL29yaWdpbmFscy90cmFkZXJzLWFyZS1mbG9ja2luZy1iYWNrLXRvLW9pbC13aGF0cy1mdWVsaW5nLXRoZS1vcHRpbWlzbS8nPlRyYWRlcnMgQXJlIEZsb2NraW5nIEJhY2sgdG8gT2lsOiBXaGF04oCZcyBGdWVsaW5nIHRoZSBPcHRpbWlzbTwvYT48L2xpPjxsaT48YSBocmVmPScvb3JpZ2luYWxzLzMtaG90LXN0b2NrLXRyZW5kcy10by1yaWRlLWludG8tMjAyNS8nPjMgSG90IFN0b2NrIFRyZW5kcyB0byBSaWRlIEludG8gMjAyNcKgPC9hPjwvbGk+PGxpPjxhIGhyZWY9Jy9vcmlnaW5hbHMvYXJtLWhvbGRpbmdzLWJ1eS10aGUtZGlwLW9yLXdhaXQtZm9yLWEtYmV0dGVyLXByaWNlLyc+QXJtIEhvbGRpbmdzOiBCdXkgdGhlIERpcCBvciBXYWl0IGZvciBhIEJldHRlciBQcmljZT8gPC9hPjwvbGk+PGxpPjxhIGhyZWY9Jy9vcmlnaW5hbHMvd2h5LWFscGhhYmV0LXN0b2NrLWRpcHMtYXJlLXRoZS1wZXJmZWN0LXRpbWUtdG8taW52ZXN0Lyc+V2h5IEFscGhhYmV0IFN0b2NrIERpcHMgQXJlIHRoZSBQZXJmZWN0IFRpbWUgdG8gSW52ZXN0PC9hPjwvbGk+PGxpPjxhIGhyZWY9Jy9vcmlnaW5hbHMvMy1oaWdoLWZseWluZy1zdG9ja3MtdGhhdC1jb3VsZC1zdG9jay1zcGxpdC1pbi0yMDI1Lyc+MyBIaWdoIEZseWluZyBTdG9ja3MgVGhhdCBDb3VsZCBTdG9jayBTcGxpdCBpbiAyMDI1PC9hPjwvbGk+PGxpPjxhIGhyZWY9Jy9vcmlnaW5hbHMvcmV0YWlsLXNlY3Rvci1jb21lYmFjay1wbGF5cy1zcGRyLXMtYW5kLXAtcmV0YWlsLWV0Zi1mbmQtYW5kLXNoYWsvJz5SZXRhaWwgU2VjdG9yIENvbWViYWNrIFBsYXlzOiBTUERSIFMmUCBSZXRhaWwgRVRGLCBGTkQsIGFuZCBTSEFLIDwvYT48L2xpPjxsaT48YSBocmVmPScvb3JpZ2luYWxzL3RvcC1pb3Qtc3RvY2tzLXdoeS1zYW1zYXJhLWFuZC1kaWdpLWFyZS10aHJpdmluZy1pbi0yMDI1Lyc+VG9wIElvVCBTdG9ja3M6IFdoeSBTYW1zYXJhIGFuZCBEaWdpIEFyZSBUaHJpdmluZyBpbiAyMDI1PC9hPjwvbGk+PGxpIGNsYXNzPSJwdC0xIj48YSBocmVmPScvb3JpZ2luYWxzLyc+TW9yZSBGZWF0dXJlZCBBcnRpY2xlcyA8c3BhbiBjbGFzcz0iZmEtcmVndWxhciBmYS1hbmdsZS1yaWdodCIgYXJpYS1oaWRkZW49InRydWUiPjwvc3Bhbj48L2E+PC9saT48L3VsPjwvbGk+ZAIKDxYCHwAF1CM8bGkgY2xhc3M9ImQtbm9uZSBkLWxnLWJsb2NrIG1iLTIgY29sLTQgcGwtMCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vb3JpZ2luYWxzLzMtdW51c3VhbC1jYWxsLW9wdGlvbi10cmFkZXMtaW52ZXN0b3JzLXNob3VsZC1iZS13YXRjaGluZy8iIGNsYXNzPSJwb3NpdGlvbi1yZWxhdGl2ZSI+PHNwYW4gY2xhc3M9ImQtZmxleCBwb3NpdGlvbi1yZWxhdGl2ZSBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciI+PGltZyBjbGFzcz0idy0xMDAiIHN0eWxlPSJhc3BlY3QtcmF0aW86Mi8xO29iamVjdC1maXQ6Y292ZXI7IiBzcmM9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2xvZ29zL2FydGljbGVzL3RodW1iXzIwMjQxMTA0MTE1NDUyX29wdGlvbnMtdHJhZGVycy1iZXQtYmlnLW9uLXRoZXNlLTMtdGVjaC1zdG9ja3MuanBnIiBhbHQ9IiIgaGVpZ2h0PSI4MDAiIHdpZHRoPSIxMjAwIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiLz48L3NwYW4+PHNwYW4gY2xhc3M9ImQtYmxvY2sgbXQtMSBjLWdyYXkgZm9udC13ZWlnaHQtbm9ybWFsIiBzdHlsZT0iZm9udC1zaXplOi45NWVtO2xpbmUtaGVpZ2h0OjEuMmVtO3BhZGRpbmctcmlnaHQ6LjVlbTsiPk9wdGlvbnMgVHJhZGVycyBCZXQgQmlnIG9uIFRoZXNlIDMgVGVjaCBTdG9ja3MgPC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2sgbWItMiBjb2wtNCBwbC0wIj48YSBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9sZWFybi9ob3ctdG8tcGxheS1uZXctb3B0aW9ucy10cmFkaW5nLXdpdGgtYml0Y29pbi1ldGZzLyIgY2xhc3M9InBvc2l0aW9uLXJlbGF0aXZlIj48c3BhbiBjbGFzcz0iZC1mbGV4IHBvc2l0aW9uLXJlbGF0aXZlIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIj48aW1nIGNsYXNzPSJ3LTEwMCIgc3R5bGU9ImFzcGVjdC1yYXRpbzoyLzE7b2JqZWN0LWZpdDpjb3ZlcjsiIHNyYz0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vbG9nb3MvYXJ0aWNsZXMvdGh1bWJfMjAyNDExMDExNTI0MzBfaG93LXRvLXBsYXktbmV3LW9wdGlvbnMtdHJhZGluZy13aXRoLWJpdGNvaW4tZXRmcy5qcGciIGFsdD0iU2l4IGJpdGNvaW4gY29pbnMg4oCUIFN0b2NrIEVkaXRvcmlhbCBQaG90b2dyYXBoeSIgaGVpZ2h0PSI4MDAiIHdpZHRoPSIxMjAwIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiLz48L3NwYW4+PHNwYW4gY2xhc3M9ImQtYmxvY2sgbXQtMSBjLWdyYXkgZm9udC13ZWlnaHQtbm9ybWFsIiBzdHlsZT0iZm9udC1zaXplOi45NWVtO2xpbmUtaGVpZ2h0OjEuMmVtO3BhZGRpbmctcmlnaHQ6LjVlbTsiPkhvdyB0byBQbGF5IE5ldyBPcHRpb25zIFRyYWRpbmcgV2l0aCBCaXRjb2luIEVURnM8L3NwYW4+PC9hPjwvbGk+PGxpIGNsYXNzPSJkLW5vbmUgZC1sZy1ibG9jayBtYi0yIGNvbC00IHBsLTAiPjxhIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL29yaWdpbmFscy9hbGJlbWFybGUtc3RvY2stY2FsbC1vcHRpb25zLXN1cmdlLXdoYXQtaXQtbWVhbnMtZm9yLWxpdGhpdW0vIiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUiPjxzcGFuIGNsYXNzPSJkLWZsZXggcG9zaXRpb24tcmVsYXRpdmUgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIiPjxpbWcgY2xhc3M9InctMTAwIiBzdHlsZT0iYXNwZWN0LXJhdGlvOjIvMTtvYmplY3QtZml0OmNvdmVyOyIgc3JjPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9sb2dvcy9hcnRpY2xlcy90aHVtYl8yMDI0MTAyODExMTEzN19hbGJlbWFybGUtc3RvY2stY2FsbC1vcHRpb25zLXN1cmdlLXdoYXQtaXQtbWVhbnMtZi5wbmciIGFsdD0iYWxiZW1hcmxlIGxpdGhpdW0gaW9uIGJhdHRlcnkiIGhlaWdodD0iNDg4IiB3aWR0aD0iMTIwMCIgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIi8+PC9zcGFuPjxzcGFuIGNsYXNzPSJkLWJsb2NrIG10LTEgYy1ncmF5IGZvbnQtd2VpZ2h0LW5vcm1hbCIgc3R5bGU9ImZvbnQtc2l6ZTouOTVlbTtsaW5lLWhlaWdodDoxLjJlbTtwYWRkaW5nLXJpZ2h0Oi41ZW07Ij5BbGJlbWFybGUgU3RvY2sgQ2FsbCBPcHRpb25zIFN1cmdlOiBXaGF0IEl0IE1lYW5zIGZvciBMaXRoaXVtPC9zcGFuPjwvYT48L2xpPjxsaSBjbGFzcz0iZC1ub25lIGQtbGctYmxvY2sgbWItMiBjb2wtNCBwbC0wIj48YSBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9sZWFybi9vcHRpb25zLWhvdy10by1leGVjdXRlLXRoZS13aGVlbC1zdHJhdGVneS1mb3Itb3B0aW9ucy1pbmNvbWUvIiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUiPjxzcGFuIGNsYXNzPSJkLWZsZXggcG9zaXRpb24tcmVsYXRpdmUgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIiPjxpbWcgY2xhc3M9InctMTAwIiBzdHlsZT0iYXNwZWN0LXJhdGlvOjIvMTtvYmplY3QtZml0OmNvdmVyOyIgc3JjPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9sb2dvcy9hcnRpY2xlcy90aHVtYl8yMDI0MDcxODE1MDIxNV9ob3ctdG8tZXhlY3V0ZS10aGUtd2hlZWwtc3RyYXRlZ3ktdG8tZ2VuZXJhdGUtb3B0aS5qcGciIGFsdD0iUGhvdG8gb2YgYSBidXNpbmVzc21hbiBydW5uaW5nIGluc2lkZSBhIGNpcmNsZSBtYWRlIG9mIG1vbmV5IHN5bWJvbGljIG9mIHRoZSB3aGVlbCBvcHRpb25zIHRyYWRpbmcgc3RyYXRlZ3kuICIgaGVpZ2h0PSI5NjAiIHdpZHRoPSIxMjAwIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiLz48L3NwYW4+PHNwYW4gY2xhc3M9ImQtYmxvY2sgbXQtMSBjLWdyYXkgZm9udC13ZWlnaHQtbm9ybWFsIiBzdHlsZT0iZm9udC1zaXplOi45NWVtO2xpbmUtaGVpZ2h0OjEuMmVtO3BhZGRpbmctcmlnaHQ6LjVlbTsiPkhvdyB0byBFeGVjdXRlIHRoZSBXaGVlbCBTdHJhdGVneSB0byBHZW5lcmF0ZSBPcHRpb25zIEluY29tZTwvc3Bhbj48L2E+PC9saT48bGkgY2xhc3M9ImQtbm9uZSBkLWxnLWJsb2NrIG1iLTIgY29sLTQgcGwtMCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vbGVhcm4vMy1vcHRpb25zLXN0cmF0ZWdpZXMtdG8tcGxheS1hLXN0b2Nrcy11cHRyZW5kLWlmLWJ1bGxpc2gvIiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUiPjxzcGFuIGNsYXNzPSJkLWZsZXggcG9zaXRpb24tcmVsYXRpdmUgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIiPjxpbWcgY2xhc3M9InctMTAwIiBzdHlsZT0iYXNwZWN0LXJhdGlvOjIvMTtvYmplY3QtZml0OmNvdmVyOyIgc3JjPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9sb2dvcy9hcnRpY2xlcy90aHVtYl8yMDI0MDYyNjA3NTQxOF8zLW9wdGlvbnMtc3RyYXRlZ2llcy10by1wbGF5LWEtc3RvY2tzLXVwdHJlbmQtaWYtYi5qcGciIGFsdD0iU3RvY2sgb3B0aW9ucyBzdHJhdGVnaWVzICIgaGVpZ2h0PSI5MDAiIHdpZHRoPSIxMjAwIiBsb2FkaW5nPSJsYXp5IiBkZWNvZGluZz0iYXN5bmMiLz48L3NwYW4+PHNwYW4gY2xhc3M9ImQtYmxvY2sgbXQtMSBjLWdyYXkgZm9udC13ZWlnaHQtbm9ybWFsIiBzdHlsZT0iZm9udC1zaXplOi45NWVtO2xpbmUtaGVpZ2h0OjEuMmVtO3BhZGRpbmctcmlnaHQ6LjVlbTsiPjMgT3B0aW9ucyBTdHJhdGVnaWVzIHRvIFBsYXkgYSBTdG9ja+KAmXMgVXB0cmVuZCBpZiBCdWxsaXNoIDwvc3Bhbj48L2E+PC9saT48bGkgY2xhc3M9ImQtbm9uZSBkLWxnLWJsb2NrIG1iLTIgY29sLTQgcGwtMCI+PGEgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vbGVhcm4vaG93LXRvLXVzZS1kZWx0YS1oZWRnaW5nLXRvLXByb3RlY3QteW91ci1vcHRpb25zLXdpdGgtc3RvY2svIiBjbGFzcz0icG9zaXRpb24tcmVsYXRpdmUiPjxzcGFuIGNsYXNzPSJkLWZsZXggcG9zaXRpb24tcmVsYXRpdmUgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIiPjxpbWcgY2xhc3M9InctMTAwIiBzdHlsZT0iYXNwZWN0LXJhdGlvOjIvMTtvYmplY3QtZml0OmNvdmVyOyIgc3JjPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9sb2dvcy9hcnRpY2xlcy90aHVtYl8yMDI0MDYxMzE0NTI0MV9ob3ctdG8tdXNlLWRlbHRhLWhlZGdpbmctdG8tcHJvdGVjdC15b3VyLW9wdGlvbnMtdy5qcGciIGFsdD0iUGhvdG8gb2YgYSBkZXNrIHdpdGggYSBjb21wdXRlciBzaG93aW5nIE9wdGlvbnMgVHJhZGluZy4gRGVsdGEgaGVkZ2luZyBpcyBhIGRlZmVuc2l2ZSBzdHJhdGVneSB1c2VkIHRvIHRlbXBvcmFyaWx5IHJlZHVjZSBkaXJlY3Rpb25hbCBleHBvc3VyZS4gIiBoZWlnaHQ9IjgwMCIgd2lkdGg9IjEyMDAiIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyIvPjwvc3Bhbj48c3BhbiBjbGFzcz0iZC1ibG9jayBtdC0xIGMtZ3JheSBmb250LXdlaWdodC1ub3JtYWwiIHN0eWxlPSJmb250LXNpemU6Ljk1ZW07bGluZS1oZWlnaHQ6MS4yZW07cGFkZGluZy1yaWdodDouNWVtOyI+SG93IHRvIFVzZSBEZWx0YSBIZWRnaW5nIHRvIFByb3RlY3QgWW91ciBPcHRpb25zIHdpdGggU3RvY2s8L3NwYW4+PC9hPjwvbGk+ZAILDxYCHwAFmgQ8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsIGZ1bmN0aW9uKCkgeyAkKCIudHJpZ2dlci1yaWdodCIpLm9uZSgiY2xpY2siLCBmdW5jdGlvbihlKSB7ICAkLmdldCgnL1NjcmlwdHMvTm90aWZpY2F0aW9uc0hlbHBlcnMuYXNoeD9jb21tYW5kPW1vYmlsZW5vdGlmaWNhdGlvbnMmYWNjb3VudGlkPTExNDA0OTYyJmhhc2g9ODgzNjk2N0I2NDg5MzQzQUZGRUJFNEE5RjIwNzM2Q0MzRTcwQzExRUY5MTQ0MDJCMTA1RDBCMTQxMUFDMjI4MzQ2OTc2MEE4OTBGNTAwQTIxMUREMkFBOUVGQUM4NDI0MEZDMUY1Qjk5QURBRjI4RUJBNUI4MUNCNDk2NUExMEEnLCBmdW5jdGlvbihkYXRhLCBzdGF0dXMpIHsgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5vdGlmaWNhdGlvbnMtYXJlYSIpLmlubmVySFRNTCA9IGRhdGE7ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibm90aWZpY2F0aW9ucy1hcmVhIikuc3R5bGUub3BhY2l0eSA9IDE7IH0pOyB9KTsgfSk7PC9zY3JpcHQ+ZAIMDw8WBB4IQ3NzQ2xhc3MFL3BiLTEgcHQtMCBwdC1zbS0xIG9yZGVyLXNtLTIgY29sIEZyZWVTdWJzY3JpYmVyHgRfIVNCAgJkZAIND2QWAgIDDxYCHwAFpgY8ZGl2IHN0eWxlPSJwYWRkaW5nOjZweDtmb250LXNpemU6MC44cmVtO2xpbmUtaGVpZ2h0OjEuMjsiIGNsYXNzPSJiZWxvdy1oMS10ZXh0LWxpbmstYWQgZC1taW5pbWFsLW5vbmUiPjxhIHN0eWxlPSJmb250LXdlaWdodDo3MDA7IGNvbG9yOnZhcigtLXdoaXRlKTsiIHRhcmdldD0iX2JsYW5rIiByZWw9InNwb25zb3JlZCBub29wZW5lciIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vc2NyaXB0cy9yZWRpcmVjdC5hc3B4P1RyaWdnZXJlZENhbXBhaWduSUQ9MTAyMTQmVXNlcklEPTExNDA0OTYyJlBsYWNlbWVudD1OYXRpdmVEaXNwbGF5JlNvdXJjZT1OYXRpdmVEaXNwbGF5JmludGVyc3RpdGlhbD0xJm5vc2tpcD0xJmVtYWlsPXZlcmRhY2h0QHNhZmVvbndlYi5iZSI+4oaSIE5ldyBZZWFyLCBOZXcgT3Bwb3J0dW5pdHkhIDIgQUkgU3RvY2tzIFVuZGVyICQxMCBSZWFkeSB0byBTb2FyPC9hPiA8c3BhbiBzdHlsZT0iY29sb3I6dmFyKC0td2hpdGUpOyI+IDxzcGFuIGNsYXNzPSJwbC0xIGQtbm9uZSBkLXNtLWlubGluZS1ibG9jayI+KEZyb20gRGFyd2luKTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImQtaW5saW5lIGQtc20tbm9uZSI+KEFkKTwvc3Bhbj48L3NwYW4+PGltZyBsb2FkaW5nPSdsYXp5JyBzcmM9J2h0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL3NjcmlwdHMvVHJpZ2dlcmVkQ2FtcGFpZ25QaXhlbC5hc2h4P1RyaWdnZXJlZENhbXBhaWduSUQ9MTAyMTQmUGxhY2VtZW50PU5hdGl2ZURpc3BsYXkmU291cmNlPU5hdGl2ZURpc3BsYXknIGFsdD0nJyBoZWlnaHQ9JzEnIHdpZHRoPScxJyAvPjwvZGl2PmQCDg9kFgICAQ9kFgoCBw9kFgQCBQ9kFnYCAQ8WAh8ABbgsPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPmZ1bmN0aW9uIExvYWROZXdzbGV0dGVyKCkge2RvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdk5ld3NsZXR0ZXIiKS5pbm5lckhUTUwgPSAnTG9hZGluZyB5b3VyIG5ld3NsZXR0ZXImaGVsbGlwOyc7IHZhciBjaG9zZW5OZXdzbGV0dGVyID0gJCgnI2NwaFByaW1hcnlDb250ZW50X2RkbE5ld3NsZXR0ZXInKS5maW5kKCc6c2VsZWN0ZWQnKS52YWwoKTsgJC5nZXQoImh0dHBzOi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL1VzZXJzL1dhdGNobGlzdHNIZWxwZXJzLmFzaHg/Y29tbWFuZD1uZXdzbGV0dGVyJmNob3Nlbk5ld3NsZXR0ZXI9IiArIGNob3Nlbk5ld3NsZXR0ZXIgKyAiJmFjY291bnRpZD0xMTQwNDk2MiZoYXNoPUVENzZEQTlFOEM3MzAwODFBQUE2MzUyM0UwN0I0MzE4ODIxNkI5RTk0NUUyRTczRkMyMjBDMTk1NTY4NDg2ODAxQTcyQTEwODdCNjQ4NUYyOERCN0VCOUM0MkI1MzUyQTZDMERDRUYwNjJDMzkyQkNGMzU3RTdGQzkxRjM5NjY0IiwgZnVuY3Rpb24gKGRhdGEsIHN0YXR1cykgeyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHZOZXdzbGV0dGVyIikuaW5uZXJIVE1MID0gZGF0YTt9KTt9ZnVuY3Rpb24gTG9hZENhbGVuZGFyKHdhdGNobGlzdGlkKSB7JC5nZXQoImh0dHBzOi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL1VzZXJzL1dhdGNobGlzdHNIZWxwZXJzLmFzaHg/Y29tbWFuZD1jYWxlbmRhciZ3YXRjaGxpc3RpZD0iICsgd2F0Y2hsaXN0aWQgKyAiJmFjY291bnRpZD0xMTQwNDk2MiZoYXNoPUVENzZEQTlFOEM3MzAwODFBQUE2MzUyM0UwN0I0MzE4ODIxNkI5RTk0NUUyRTczRkMyMjBDMTk1NTY4NDg2ODAxQTcyQTEwODdCNjQ4NUYyOERCN0VCOUM0MkI1MzUyQTZDMERDRUYwNjJDMzkyQkNGMzU3RTdGQzkxRjM5NjY0IiwgZnVuY3Rpb24gKGRhdGEsIHN0YXR1cykgeyB2YXIgZHZDYWxlbmRhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdkNhbGVuZGFyIik7IGR2Q2FsZW5kYXIuaW5uZXJIVE1MID0gZGF0YTsgc2Nyb2xsVGFibGUoJChkdkNhbGVuZGFyKS5maW5kKCd0YWJsZScpLnN0dXBpZHRhYmxlKCkpOyAkKCIjY2FsZW5kYXJGaWx0ZXIiKS5jaGFuZ2UoZnVuY3Rpb24gKCkgeyAgJCgiI2R2Q2FsZW5kYXIgdGFibGUgdGJvZHkgdHIiKS5yZW1vdmVDbGFzcygiaGlkZGVuLXRhYmxlLXJvdyBib3R0b20tc29ydCIpOyBpZiAoJCh0aGlzKS52YWwoKSAhPT0gIiIpIHsgJCgiI2R2Q2FsZW5kYXIgdGFibGUgdGJvZHkgdHI6bm90KC4iICsgJCh0aGlzKS52YWwoKSArICIpIikuYWRkQ2xhc3MoImhpZGRlbi10YWJsZS1yb3cgYm90dG9tLXNvcnQiKTsgfSBzY3JvbGxUYWJsZSgkKGR2Q2FsZW5kYXIpLmZpbmQoJ3RhYmxlJykpOyB9KTsgfSk7fWZ1bmN0aW9uIExvYWRSYXRpbmdzKHdhdGNobGlzdGlkKSB7JC5nZXQoImh0dHBzOi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL1VzZXJzL1dhdGNobGlzdHNIZWxwZXJzLmFzaHg/Y29tbWFuZD1yYXRpbmdzJndhdGNobGlzdGlkPSIgKyB3YXRjaGxpc3RpZCArICImYWNjb3VudGlkPTExNDA0OTYyJmhhc2g9RUQ3NkRBOUU4QzczMDA4MUFBQTYzNTIzRTA3QjQzMTg4MjE2QjlFOTQ1RTJFNzNGQzIyMEMxOTU1Njg0ODY4MDFBNzJBMTA4N0I2NDg1RjI4REI3RUI5QzQyQjUzNTJBNkMwRENFRjA2MkMzOTJCQ0YzNTdFN0ZDOTFGMzk2NjQiLCBmdW5jdGlvbiAoZGF0YSwgc3RhdHVzKSB7IHZhciByYXRpbmdzRGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR2UmF0aW5ncyIpOyByYXRpbmdzRGl2LmlubmVySFRNTCA9IGRhdGE7IHNjcm9sbFRhYmxlKCQocmF0aW5nc0RpdikuZmluZCgndGFibGUnKS5zdHVwaWR0YWJsZSgpKTsgfSk7fWZ1bmN0aW9uIExvYWRJbnNpZGVyVHJhZGVzKHdhdGNobGlzdGlkKSB7JC5nZXQoImh0dHBzOi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL1VzZXJzL1dhdGNobGlzdHNIZWxwZXJzLmFzaHg/Y29tbWFuZD1pbnNpZGVydHJhZGVzJndhdGNobGlzdGlkPSIgKyB3YXRjaGxpc3RpZCArICImYWNjb3VudGlkPTExNDA0OTYyJmhhc2g9RUQ3NkRBOUU4QzczMDA4MUFBQTYzNTIzRTA3QjQzMTg4MjE2QjlFOTQ1RTJFNzNGQzIyMEMxOTU1Njg0ODY4MDFBNzJBMTA4N0I2NDg1RjI4REI3RUI5QzQyQjUzNTJBNkMwRENFRjA2MkMzOTJCQ0YzNTdFN0ZDOTFGMzk2NjQiLCBmdW5jdGlvbiAoZGF0YSwgc3RhdHVzKSB7IHZhciBkdkluc2lkZXJUcmFkZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHZJbnNpZGVyVHJhZGVzIik7IGR2SW5zaWRlclRyYWRlcy5pbm5lckhUTUwgPSBkYXRhOyBzY3JvbGxUYWJsZSgkKGR2SW5zaWRlclRyYWRlcykuZmluZCgndGFibGUnKS5zdHVwaWR0YWJsZSgpKTt9KTt9ZnVuY3Rpb24gTG9hZEVhcm5pbmdzKHdhdGNobGlzdGlkKSB7JC5nZXQoImh0dHBzOi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL1VzZXJzL1dhdGNobGlzdHNIZWxwZXJzLmFzaHg/Y29tbWFuZD1lYXJuaW5ncyZ3YXRjaGxpc3RpZD0iICsgd2F0Y2hsaXN0aWQgKyAiJmFjY291bnRpZD0xMTQwNDk2MiZoYXNoPUVENzZEQTlFOEM3MzAwODFBQUE2MzUyM0UwN0I0MzE4ODIxNkI5RTk0NUUyRTczRkMyMjBDMTk1NTY4NDg2ODAxQTcyQTEwODdCNjQ4NUYyOERCN0VCOUM0MkI1MzUyQTZDMERDRUYwNjJDMzkyQkNGMzU3RTdGQzkxRjM5NjY0IiwgZnVuY3Rpb24gKGRhdGEsIHN0YXR1cykgeyB2YXIgZHZFYXJuaW5ncyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdkVhcm5pbmdzIik7IGR2RWFybmluZ3MuaW5uZXJIVE1MID0gZGF0YTsgc2Nyb2xsVGFibGUoJChkdkVhcm5pbmdzKS5maW5kKCd0YWJsZScpLnN0dXBpZHRhYmxlKCkpOyB9KTt9ZnVuY3Rpb24gTG9hZFBvcnRmb2xpb0lkZWFzKHdhdGNobGlzdGlkKSB7JC5nZXQoImh0dHBzOi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL1VzZXJzL1dhdGNobGlzdHNIZWxwZXJzLmFzaHg/Y29tbWFuZD1wb3J0Zm9saW9pZGVhcyZ3YXRjaGxpc3RpZD0iICsgd2F0Y2hsaXN0aWQgKyAiJmFjY291bnRpZD0xMTQwNDk2MiZoYXNoPUVENzZEQTlFOEM3MzAwODFBQUE2MzUyM0UwN0I0MzE4ODIxNkI5RTk0NUUyRTczRkMyMjBDMTk1NTY4NDg2ODAxQTcyQTEwODdCNjQ4NUYyOERCN0VCOUM0MkI1MzUyQTZDMERDRUYwNjJDMzkyQkNGMzU3RTdGQzkxRjM5NjY0IiwgZnVuY3Rpb24gKGRhdGEsIHN0YXR1cykgeyB2YXIgZHZQb3J0Zm9saW9JZGVhcyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdlBvcnRmb2xpb0lkZWFzIik7IGR2UG9ydGZvbGlvSWRlYXMuaW5uZXJIVE1MID0gZGF0YTsgc2Nyb2xsVGFibGUoJChkdlBvcnRmb2xpb0lkZWFzKS5maW5kKCd0YWJsZScpLnN0dXBpZHRhYmxlKCkpO30pO31mdW5jdGlvbiBMb2FkTWFya2V0UmFuayh3YXRjaGxpc3RpZCkgeyQuZ2V0KCJodHRwczovLyIrd2luZG93LmxvY2F0aW9uLmhvc3QrIi9Vc2Vycy9XYXRjaGxpc3RzSGVscGVycy5hc2h4P2NvbW1hbmQ9bWFya2V0cmFuayZ3YXRjaGxpc3RpZD0iICsgd2F0Y2hsaXN0aWQgKyAiJmFjY291bnRpZD0xMTQwNDk2MiZoYXNoPUVENzZEQTlFOEM3MzAwODFBQUE2MzUyM0UwN0I0MzE4ODIxNkI5RTk0NUUyRTczRkMyMjBDMTk1NTY4NDg2ODAxQTcyQTEwODdCNjQ4NUYyOERCN0VCOUM0MkI1MzUyQTZDMERDRUYwNjJDMzkyQkNGMzU3RTdGQzkxRjM5NjY0IiwgZnVuY3Rpb24gKGRhdGEsIHN0YXR1cykgeyB2YXIgZHZNYXJrZXRSYW5rID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImR2TWFya2V0UmFuayIpOyBkdk1hcmtldFJhbmsuaW5uZXJIVE1MID0gZGF0YTsgc2Nyb2xsVGFibGUoJChkdk1hcmtldFJhbmspLmZpbmQoJ3RhYmxlJykuc3R1cGlkdGFibGUoKSk7fSk7fWZ1bmN0aW9uIExvYWRTRUNGaWxpbmdzKHdhdGNobGlzdGlkKSB7JC5nZXQoImh0dHBzOi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL1VzZXJzL1dhdGNobGlzdHNIZWxwZXJzLmFzaHg/Y29tbWFuZD1zZWNmaWxpbmdzJndhdGNobGlzdGlkPSIgKyB3YXRjaGxpc3RpZCArICImYWNjb3VudGlkPTExNDA0OTYyJmhhc2g9RUQ3NkRBOUU4QzczMDA4MUFBQTYzNTIzRTA3QjQzMTg4MjE2QjlFOTQ1RTJFNzNGQzIyMEMxOTU1Njg0ODY4MDFBNzJBMTA4N0I2NDg1RjI4REI3RUI5QzQyQjUzNTJBNkMwRENFRjA2MkMzOTJCQ0YzNTdFN0ZDOTFGMzk2NjQiLCBmdW5jdGlvbiAoZGF0YSwgc3RhdHVzKSB7IHZhciBkdlNFQ0ZpbGluZ3MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZHZTRUNGaWxpbmdzIik7IGR2U0VDRmlsaW5ncy5pbm5lckhUTUwgPSBkYXRhOyBzY3JvbGxUYWJsZSgkKGR2U0VDRmlsaW5ncykuZmluZCgndGFibGUnKS5zdHVwaWR0YWJsZSgpKTsgfSk7fWZ1bmN0aW9uIExvYWRTb2NpYWwod2F0Y2hsaXN0aWQpIHsgbG9hZEFuZERyYXdNdWx0aUxpbmVHcmFwaCgiTWVkaWEgTWVudGlvbnMgYnkgV2VlayIsICJwb3J0Zm9saW9NZWRpYU1lbnRpb25zQ2hhcnQiLCAiV2VlayIsICJodHRwczovLyIrd2luZG93LmxvY2F0aW9uLmhvc3QrIi9Vc2Vycy9XYXRjaGxpc3RzSGVscGVycy5hc2h4P2NvbW1hbmQ9bWVkaWFtZW50aW9uc0NTViZ3YXRjaGxpc3RpZD0iICsgd2F0Y2hsaXN0aWQgKyAiJmFjY291bnRpZD0xMTQwNDk2MiZoYXNoPUVENzZEQTlFOEM3MzAwODFBQUE2MzUyM0UwN0I0MzE4ODIxNkI5RTk0NUUyRTczRkMyMjBDMTk1NTY4NDg2ODAxQTcyQTEwODdCNjQ4NUYyOERCN0VCOUM0MkI1MzUyQTZDMERDRUYwNjJDMzkyQkNGMzU3RTdGQzkxRjM5NjY0Iik7ICAgbG9hZEFuZERyYXdNdWx0aUxpbmVHcmFwaCgiUmVkZGl0IE1lbnRpb25zIGJ5IFdlZWsiLCAicG9ydGZvbGlvUmVkZGl0TWVudGlvbnNDaGFydCIsICJXZWVrIiwgImh0dHBzOi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL1VzZXJzL1dhdGNobGlzdHNIZWxwZXJzLmFzaHg/Y29tbWFuZD1yZWRkaXRtZW50aW9uc0NTViZ3YXRjaGxpc3RpZD0iICsgd2F0Y2hsaXN0aWQgKyAiJmFjY291bnRpZD0xMTQwNDk2MiZoYXNoPUVENzZEQTlFOEM3MzAwODFBQUE2MzUyM0UwN0I0MzE4ODIxNkI5RTk0NUUyRTczRkMyMjBDMTk1NTY4NDg2ODAxQTcyQTEwODdCNjQ4NUYyOERCN0VCOUM0MkI1MzUyQTZDMERDRUYwNjJDMzkyQkNGMzU3RTdGQzkxRjM5NjY0Iik7JC5nZXQoImh0dHBzOi8vIit3aW5kb3cubG9jYXRpb24uaG9zdCsiL1VzZXJzL1dhdGNobGlzdHNIZWxwZXJzLmFzaHg/Y29tbWFuZD1tZW50aW9uZWRzdG9ja3NsaXN0cyZ3YXRjaGxpc3RpZD0iICsgd2F0Y2hsaXN0aWQgKyAiJmFjY291bnRpZD0xMTQwNDk2MiZoYXNoPUVENzZEQTlFOEM3MzAwODFBQUE2MzUyM0UwN0I0MzE4ODIxNkI5RTk0NUUyRTczRkMyMjBDMTk1NTY4NDg2ODAxQTcyQTEwODdCNjQ4NUYyOERCN0VCOUM0MkI1MzUyQTZDMERDRUYwNjJDMzkyQkNGMzU3RTdGQzkxRjM5NjY0IiwgZnVuY3Rpb24gKGRhdGEsIHN0YXR1cykgeyB2YXIgZHZtZW50aW9uZWRzdG9ja3NsaXN0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkdm1lbnRpb25lZHN0b2Nrc2xpc3RzIik7IGlmIChkYXRhPT0nJykgeyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0ZXJkaXZtZW50aW9uZWRzdG9ja3NsaXN0cyIpLnN0eWxlLm1heEhlaWdodCA9IDA7IH0gZWxzZSB7IGR2bWVudGlvbmVkc3RvY2tzbGlzdHMuaW5uZXJIVE1MID0gZGF0YTsgfSB9KTsgTG9hZFN0b2NrdHdpdHMoKTsgIH07PC9zY3JpcHQ+ZAIFDxBkEBUDCVN0b2NrL0VURg5DcnlwdG9jdXJyZW5jeQxNYW51YWwgQXNzZXQVAwhzdG9ja2V0Zg5jcnlwdG9jdXJyZW5jeQZtYW51YWwUKwMDZ2dnZGQCFw8QZBAVARRNeSBEZWZhdWx0IFdhdGNobGlzdBUBBzI1MTkzMzAUKwMBZ2RkAhsPEA8WAh4HRW5hYmxlZGhkZGRkAh0PEA8WBB4HQ2hlY2tlZGgfBGhkZGRkAi8PEGQQFQIJU3RvY2svRVRGDkNyeXB0b2N1cnJlbmN5FQIIc3RvY2tldGYOY3J5cHRvY3VycmVuY3kUKwMCZ2dkZAI1DxBkEBUBFE15IERlZmF1bHQgV2F0Y2hsaXN0FQEHMjUxOTMzMBQrAwFnZGQCOQ8QDxYCHwRoZGRkZAI7DxAPFgQfBWgfBGhkZGRkAkQPDxYCHwFoZGQCXA8QZBAVARRNeSBEZWZhdWx0IFdhdGNobGlzdBUBBzI1MTkzMzAUKwMBZ2RkAmAPEA8WAh8EaGRkZGQCYg8QDxYEHwVoHwRoZGRkZAKOAQ8QZBAVAg5BbGwgV2F0Y2hsaXN0cxRNeSBEZWZhdWx0IFdhdGNobGlzdBUCAi0xBzI1MTkzMzAUKwMCZ2cWAWZkApABDxYCHwAFwQM8YSBocmVmPSdodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9zdWJzY3JpYmUvYWxsLWFjY2Vzcy8/VXNlcklEPTExNDA0OTYyJlJlZmVycmFsVHlwZT1XYXRjaGxpc3RzUGFnZUFkZEJ1dHRvbicgdGl0bGU9J1lvdSBoYXZlIHJlYWNoZWQgeW91ciBsaW1pdCBvZiBmaXZlIHN0b2NrcyBvbiBNYXJrZXRCZWF0JmFwb3M7c8KgZnJlZSBwbGFuLgpVcGdyYWRlIHRvIE1hcmtldEJlYXQgQWxsIEFjY2VzcyB0byBhZGQgbW9yZSBzdG9ja3MuJyBjbGFzcz0nIGJ0biBidG4tc2Vjb25kYXJ5IGQtZmxleCBkLXNtLWlubGluZS1mbGV4JyBzdHlsZT0nbGluZS1oZWlnaHQ6MS41Jz48c3BhbiBjbGFzcz0nZmxvYXQtbGVmdCBtci0yIGZhLXJlZ3VsYXIgZmEtc3F1YXJlLXBsdXMgZC1pbmxpbmUgZC1zbS1ub25lIGQteGwtaW5saW5lJz48L3NwYW4+IDxzcGFuPkFkZCBhIEhvbGRpbmc8L3NwYW4+PC9hPmQCkgEPFgIfAGVkApQBDxYCHwBlZAKaAQ8PFgIfAWdkFgICAQ8QZBAVBhRTZWxlY3QgYSBCdWxrIEFjdGlvbhVEZWxldGUgVGhlc2UgSG9sZGluZ3MmRW5hYmxlIEVtYWlsIEFsZXJ0cyBmb3IgVGhlc2UgSG9sZGluZ3MnRGlzYWJsZSBFbWFpbCBBbGVydHMgZm9yIFRoZXNlIEhvbGRpbmdzJ01vdmUgSG9sZGluZ3MgdG8gJ015IERlZmF1bHQgV2F0Y2hsaXN0JyBNb3ZlIEhvbGRpbmdzIHRvIGEgTmV3IFdhdGNobGlzdBUGATAKYnVsa0RlbGV0ZQ9idWxrRW5hYmxlRW1haWwQYnVsa0Rpc2FibGVFbWFpbA9idWxrTW92ZTI1MTkzMzALYnVsa01vdmVOZXcUKwMGZ2dnZ2dnZGQCnAEPFgIfAAUKNyBzZWxlY3RlZGQCngEPFgIfAAXm1gI8bGk+PGlucHV0IGNsYXNzPSJkLW5vbmUiIGlkPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJDbGFzc2ljQ29sdW1ucyIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJTdWJoZWFkZXJDbGFzc2ljQ29sdW1ucyI+PGxhYmVsIGNsYXNzPSJzdWJoZWFkZXIiIGZvcj0iY29sdW1uQ2hvaWNlU3ViaGVhZGVyQ2xhc3NpY0NvbHVtbnMiPiA8c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWlubmVyJz5DbGFzc2ljIENvbHVtbnM8L3NwYW4+PC9sYWJlbDwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VDdXJyZW50UHJpY2VBbmRDaGFuZ2UiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iQ3VycmVudFByaWNlQW5kQ2hhbmdlIiBjaGVja2VkPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZUN1cnJlbnRQcmljZUFuZENoYW5nZSI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+Q3VycmVudCBQcmljZSBhbmQgQ2hhbmdlPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlRoZSBjdXJyZW50IHByaWNlIG9mIGEgbGlzdGVkIGFzc2V0IGFuZCB0aGUgYW1vdW50IHRoZSBwcmljZSBoYXMgY2hhbmdlZCBkdXJpbmcgdGhlIG1vc3QgcmVjZW50IHRyYWRpbmcgcGVyaW9kLjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZUhvbGRpbmdWYWx1ZSIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJIb2xkaW5nVmFsdWUiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZUhvbGRpbmdWYWx1ZSI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+SG9sZGluZyBWYWx1ZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5Ib2xkaW5nIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIGN1cnJlbnQgcHJpY2Ugb2YgdGhlIGhvbGRpbmcgdGltZXMgdGhlIGhvbGRpbmcgc2l6ZS48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VDb3N0QmFzaXMiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iQ29zdEJhc2lzIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VDb3N0QmFzaXMiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPkNvc3QgQmFzaXM8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+Q29zdCBiYXNpcyBpcyB0aGUgb3JpZ2luYWwgcHVyY2hhc2UgcHJpY2Ugb2YgZWFjaCBzaGFyZSBvZiB0aGUgYXNzZXQuPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlUk9JIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlJPSSI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlUk9JIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5ST0k8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+UmV0dXJuIG9uIGludmVzdG1lbnQgKFJPSSkgaXMgYSBtZWFzdXJlbWVudCB0aGF0IHNob3dzIHlvdXIgcHJvZml0IG9uIGFuIGludmVzdG1lbnQgYXMgYSBwZXJjZW50YWdlIG9mIHlvdXIgaW5pdGlhbCBpbnZlc3RtZW50LiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL3JldHVybi1vbi1pbnZlc3RtZW50LXJvaS1kZWZpbmVkLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlUEVSYXRpbyIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJQRVJhdGlvIiBjaGVja2VkPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZVBFUmF0aW8iPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlBFIFJhdGlvPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlRoZSBwcmljZSB0byBlYXJuaW5ncyByYXRpbyAoUC9FKSBtZWFzdXJlcyBpdHMgY3VycmVudCBzaGFyZSBwcmljZSByZWxhdGl2ZSB0byBpdHMgcGVyLXNoYXJlIGVhcm5pbmdzLiBUaGUgcmF0aW8gaXMgdXNlZCBpbiB2YWx1aW5nIGNvbXBhbmllcy4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL21hcmtldC1kYXRhL2xvdy1wZS1zdG9ja3MvI3ByaWNlLXRvLWVhcm5pbmdzLXJhdGlvLXBlIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VCZXRhIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkJldGEiIGNoZWNrZWQ+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlQmV0YSI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+QmV0YTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5CZXRhIGlzIHRoZSByZXN1bHQgb2YgYSBjYWxjdWxhdGlvbiB0aGF0IG1lYXN1cmVzIHRoZSByZWxhdGl2ZSB2b2xhdGlsaXR5IG9mIGEgc3RvY2sgaW4gY29ycmVsYXRpb24gdG8gYSBwYXJ0aWN1bGFyIHN0YW5kYXJkLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL3doYXQtaXMtaW4tYmV0YS1zdG9jay1zZWxlY3Rpb24vIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VBbm51YWxEaXZpZGVuZCIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJBbm51YWxEaXZpZGVuZCIgY2hlY2tlZD48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VBbm51YWxEaXZpZGVuZCI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+QW5udWFsIERpdmlkZW5kPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlRoZSB0b3RhbCBhbW91bnQgb2YgZGl2aWRlbmQgZGlzcGVyc2VkIHBlciBzaGFyZSBwZXIgeWVhci4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2ZpbmFuY2lhbC10ZXJtcy9pbnZlc3RpbmctZGl2aWRlbmQtc3RvY2tzLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlQ29uc2Vuc3VzUmF0aW5nIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkNvbnNlbnN1c1JhdGluZyIgY2hlY2tlZD48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VDb25zZW5zdXNSYXRpbmciPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPkNvbnNlbnN1cyBSYXRpbmc8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+QW5hbHlzdCByYXRpbmdzIG9yIHN0b2NrIHJhdGluZ3MsIHN1Y2ggYXMg4oCcQnV54oCdLCDigJxTZWxs4oCdLCBhbmQg4oCcSG9sZOKAnSBhcmUgYW4gZXZhbHVhdGlvbiBvZiBhIHN0b2NrJ3MgZXhwZWN0ZWQgcGVyZm9ybWFuY2UgYW5kL29yIGl0J3MgcmlzayBsZXZlbCBhcyBkZXRlcm1pbmVkIGJ5IGEgcmF0aW5nIGFnZW5jeSBvciBicm9rZXJhZ2UgZmlybS4gIENvbnNlbnN1cyBpcyB0aGUgc3VtbWFyeS9hdmVyYWdlIG9mIHRob3NlIHJhdGluZ3MuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9yYXRpbmdzLyNzdG9jay1yYXRpbmdzLXJlY29tbWVuZGF0aW9ucy1hbmFseXN0cy11cGdyYWRlcy1kb3duZ3JhZGVzIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VDb25zZW5zdXNQcmljZVRhcmdldCIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJDb25zZW5zdXNQcmljZVRhcmdldCIgY2hlY2tlZD48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VDb25zZW5zdXNQcmljZVRhcmdldCI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+Q29uc2Vuc3VzIFByaWNlIFRhcmdldDwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5BIHByaWNlIHRhcmdldCBpcyBhbiBpbnZlc3RtZW50IGFuYWx5c3TigJlzIG9yIGFkdmlzZXLigJlzIGVzdGltYXRlIG9mIHRoZSBmdXR1cmUgcHJpY2UgbGV2ZWwgb2YgYW4gYXNzZXQsIHN1Y2ggYXMgYSBzdG9jaywgZnV0dXJlcyBjb250cmFjdCwgY29tbW9kaXR5IG9yIGV4Y2hhbmdlLXRyYWRlZCBmdW5kIChFVEYpLiAgQ29uc2Vuc3VzIGlzIHRoZSBzdW1tYXJ5L2F2ZXJhZ2Ugb2YgdGhvc2UgZXN0aW1hdGVzLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL2hvdy1pcy1hLXByaWNlLXRhcmdldC1kZXRlcm1pbmVkLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlVXBzaWRlRG93bnNpZGUiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iVXBzaWRlRG93bnNpZGUiIGNoZWNrZWQ+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlVXBzaWRlRG93bnNpZGUiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlVwc2lkZS9Eb3duc2lkZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgcG90ZW50aWFsIGNoYW5nZSBpbiBzdG9jayBwcmljZSBpZiB0aGUgc3RvY2sgd2VyZSB0byBtZWV0IGNvbnNlbnN1cyBwcmljZSB0YXJnZXQgZXN0aW1hdGVzLiBVcHNpZGUgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbnNlbnN1cyBwcmljZSB0YXJnZXQgaXMgaGlnaGVyIHRoYW4gdGhlIGN1cnJlbnQgcHJpY2UgYW5kIGRvd25zaWRlIGluZGljYXRlcyB0aGF0IHRoZSBjb25zZW5zdXMgcHJpY2UgdGFyZ2V0IGlzIGxvd2VyIHRoYW4gdGhlIGN1cnJlbnQgcHJpY2UuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9maW5hbmNpYWwtdGVybXMvdXBzaWRlLWRvd25zaWRlLWV4cGxhaW5lZC8iPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PGlucHV0IGNsYXNzPSJkLW5vbmUiIGlkPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJCYXNpY3MiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iU3ViaGVhZGVyQmFzaWNzIj48bGFiZWwgY2xhc3M9InN1YmhlYWRlciIgZm9yPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJCYXNpY3MiPiA8c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWlubmVyJz5CYXNpY3M8L3NwYW4+PC9sYWJlbDwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VTZWN0b3IiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iU2VjdG9yIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VTZWN0b3IiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlNlY3Rvcjwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5BIHNlY3RvciBpcyBhbiBhcmVhIG9mIHRoZSBlY29ub215IHdoZXJlIGJ1c2luZXNzZXMgc2hhcmUgdGhlIHNhbWUgb3IgcmVsYXRlZCBidXNpbmVzcyBhY3Rpdml0eSwgcHJvZHVjdCwgb3Igc2VydmljZS4gU2VjdG9ycyByZXByZXNlbnQgYSBsYXJnZSBncm91cGluZyBvZiBjb21wYW5pZXMgc2hvd2Nhc2luZyBzaW1pbGFyIGJ1c2luZXNzIGFjdGl2aXRpZXMuPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlSW5kdXN0cnkiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iSW5kdXN0cnkiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZUluZHVzdHJ5Ij4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5JbmR1c3RyeTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5JbmR1c3RyeSByZWZlcnMgdG8gYSBzcGVjaWZpYyBncm91cCBvZiBjb21wYW5pZXMgb3IgYnVzaW5lc3Nlcywgd2hpbGUgInNlY3RvciIgZGVzY3JpYmVzIGEgbGFyZ2Ugc2VnbWVudCBvZiB0aGUgZWNvbm9teS48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VTdWJpbmR1c3RyeSIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJTdWJpbmR1c3RyeSI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlU3ViaW5kdXN0cnkiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlN1YmluZHVzdHJ5PC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlN1Yi1pbmR1c3RyeSBpcyBhIG1vcmUgc3BlY2lmaWMgY2xhc3NpZmljYXRpb24gd2l0aGluIGFuIGluZHVzdHJ5LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZUN1cnJlbmN5IiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkN1cnJlbmN5Ij48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VDdXJyZW5jeSI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+Q3VycmVuY3k8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+VGhlIGN1cnJlbmN5IHRoZSBzdG9jayB0cmFkZXMgaW4sIHN1Y2ggYXMgVS5TLiBEb2xsYXJzLjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZU1hcmtldENhcCIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJNYXJrZXRDYXAiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZU1hcmtldENhcCI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+TWFya2V0IENhcDwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5NYXJrZXQgY2FwaXRhbGl6YXRpb24gaXMgdGhlIG1hcmtldCB2YWx1ZSBvZiBhbGwgb2YgYSBjb21wYW55J3Mgb3V0c3RhbmRpbmcgc2hhcmVzIGFuZCBpcyB1c2VkIGJ5IHRoZSBpbnZlc3RtZW50IGNvbW11bml0eSBpbiByYW5raW5nIHRoZSBzaXplIG9mIGNvbXBhbmllcywgYXMgb3Bwb3NlZCB0byBzYWxlcyBvciB0b3RhbCBhc3NldCBmaWd1cmVzLjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PGlucHV0IGNsYXNzPSJkLW5vbmUiIGlkPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJWYWx1YXRpb24iIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iU3ViaGVhZGVyVmFsdWF0aW9uIj48bGFiZWwgY2xhc3M9InN1YmhlYWRlciIgZm9yPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJWYWx1YXRpb24iPiA8c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWlubmVyJz5WYWx1YXRpb248L3NwYW4+PC9sYWJlbDwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VGb3J3YXJkUEVSYXRpbyIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJGb3J3YXJkUEVSYXRpbyI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlRm9yd2FyZFBFUmF0aW8iPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPkZvcndhcmQgUEUgUmF0aW88L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+VGhlIHByaWNlIHRvIGVhcm5pbmdzIHJhdGlvIChQL0UpIG1lYXN1cmVzIGl0cyBjdXJyZW50IHNoYXJlIHByaWNlIHJlbGF0aXZlIHRvIGl0cyBwZXItc2hhcmUgZWFybmluZ3MuIFRoZSByYXRpbyBpcyB1c2VkIGluIHZhbHVpbmcgY29tcGFuaWVzLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vbWFya2V0LWRhdGEvbG93LXBlLXN0b2Nrcy8jcHJpY2UtdG8tZWFybmluZ3MtcmF0aW8tcGUiPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZVBFRyIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJQRUciPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZVBFRyI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+UC9FIEdyb3d0aDwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgUC9FIGdyb3d0aCByYXRpbyAob3IgUEVHKSB3YXMgZGV2ZWxvcGVkIGFuZCBpcyB1c2VkIGFzIGEgcmVmaW5lbWVudCBvZiB0aGUgc3RhbmRhcmQgUC9FIHJhdGlvIHRoYXQgaXMgdXNlZCBpbiBmdW5kYW1lbnRhbCBhbmFseXNpcy4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL21hcmtldC1kYXRhL2xvdy1wZS1zdG9ja3MvI3ByaWNlLXRvLWVhcm5pbmdzLXJhdGlvLXBlIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VQcmljZVNhbGVzIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlByaWNlU2FsZXMiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZVByaWNlU2FsZXMiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlByaWNlL1NhbGVzPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlZhbHVhdGlvbiBpcyBhIHRlcm0gaW52ZXN0b3JzIHVzZSB0byBpbmRpY2F0ZSB0aGUgZGVncmVlIHRvIHdoaWNoIGEgc3RvY2sgaXMgYWNjdXJhdGVseSBwcmljZWQuIFRoZSBwcmljZS1zYWxlcyByYXRpbyBkb2VzIHRoaXMgYnkgY29tcGFyaW5nIGEgY29tcGFueeKAmXMgc3RvY2sgcHJpY2UgdG8gaXRzIHJldmVudWVzLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL3doYXQtaXMtcHJpY2Utc2FsZXMtcmF0aW8vIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VQcmljZUJvb2siIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iUHJpY2VCb29rIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VQcmljZUJvb2siPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlByaWNlL0Jvb2s8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+VGhlIHByaWNlLXRvLWJvb2sgKFAvQikgcmF0aW8gb2YgYSBjb21wYW55J3Mgc3RvY2sgcHJpY2UgdG8gaXRzIGJvb2sgdmFsdWUgb24gaXRzIGJhbGFuY2Ugc2hlZXQuIFRoZSBib29rIHZhbHVlIGlzIHRoZSBhbW91bnQgb2YgbW9uZXkgYSBmaXJtIGNhbiByZWFzb25hYmx5IGV4cGVjdCBpZiBpdCBzb2xkIGFsbCBvZiBpdHMgYXNzZXRzIGF0IGN1cnJlbnQgbWFya2V0IHByaWNlcy48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VQcmljZUNhc2giIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iUHJpY2VDYXNoIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VQcmljZUNhc2giPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlByaWNlL0Nhc2g8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+VGhlIHByaWNlLXRvLWNhc2ggZmxvdyByYXRpbyBtZWFzdXJlcyB0aGUgY3VycmVudCBwcmljZSBvZiB0aGUgY29tcGFueSdzIHN0b2NrIHJlbGF0aXZlIHRvIHRoZSBhbW91bnQgb2YgY2FzaCBnZW5lcmF0ZWQgYnkgdGhlIGNvbXBhbnkuPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlUlNJIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlJTSSI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlUlNJIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5SU0k8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+UmVsYXRpdmUgU3RyZW5ndGggSW5kZXggKFJTSSkgbWVhc3VyZXMgdGhlIHZlbG9jaXR5IGFuZCBtYWduaXR1ZGUgb2YgYSBzdG9jaydzIHByaWNlIG1vdmVtZW50cyBhbmQgY29tcGFyZXMgdGhlbSB3aXRoIHRoZSBtYWduaXR1ZGUgb2YgYSBzdG9jaydzIGF2ZXJhZ2UgZ2FpbnMgYW5kIGF2ZXJhZ2UgbG9zc2VzLiBBIHN0b2NrJ3MgUlNJIG9zY2lsbGF0ZXMgYmV0d2VlbiB6ZXJvIGFuZCAxMDAuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9maW5hbmNpYWwtdGVybXMvbW9tZW50dW0taW5kaWNhdG9yLXJlbGF0aXZlLXN0cmVuZ3RoLWluZGV4LyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48aW5wdXQgY2xhc3M9ImQtbm9uZSIgaWQ9ImNvbHVtbkNob2ljZVN1YmhlYWRlckVhcm5pbmdzIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlN1YmhlYWRlckVhcm5pbmdzIj48bGFiZWwgY2xhc3M9InN1YmhlYWRlciIgZm9yPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJFYXJuaW5ncyI+IDxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0taW5uZXInPkVhcm5pbmdzPC9zcGFuPjwvbGFiZWw8L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlQW5udWFsU2FsZXMiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iQW5udWFsU2FsZXMiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZUFubnVhbFNhbGVzIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5Bbm51YWwgU2FsZXM8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+QW5udWFsIFNhbGVzIGlzIGEgY29tcGFueSdzIHJldmVudWUgZnJvbSBzYWxlcyBvZiBpdHMgcHJvZHVjdHMgb3Igc2VydmljZXMgaW4gYSB5ZWFyLjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZUVQU1RyYWlsaW5nVHdlbHZlTW9udGhzIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkVQU1RyYWlsaW5nVHdlbHZlTW9udGhzIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VFUFNUcmFpbGluZ1R3ZWx2ZU1vbnRocyI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+VHJhaWxpbmcgMTItTW9udGggRVBTPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlRyYWlsaW5nIHR3ZWx2ZSBtb250aHMgKFRUTSkgZWFybmluZ3MgcGVyIHNoYXJlIChFUFMpIGlzIGFuIGludmVzdG1lbnQgbWV0cmljIGRldGVybWluZWQgYnkgYSBjb21wYW55J3MgZWFybmluZ3MgaW4gdGhlIHBhc3QgMTIgbW9udGhzIGRpdmlkZWQgYnkgaXRzIG51bWJlciBvZiBjb21tb24gb3V0c3RhbmRpbmcgc2hhcmVzLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL2Vhcm5pbmdzLXBlci1zaGFyZS1lcHMtZXhwbGFpbmVkLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlQ3VycmVudFllYXJFUFNFc3RpbWF0ZSIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJDdXJyZW50WWVhckVQU0VzdGltYXRlIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VDdXJyZW50WWVhckVQU0VzdGltYXRlIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5DdXJyZW50IFllYXIgRVBTIEVzdGltYXRlPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPkVhcm5pbmdzIHBlciBzaGFyZSAoRVBTKSBpcyBhbiBpbnZlc3RtZW50IG1ldHJpYyBkZXRlcm1pbmVkIGJ5IGEgY29tcGFueSdzIGVhcm5pbmdzIGRpdmlkZWQgYnkgaXRzIG51bWJlciBvZiBjb21tb24gb3V0c3RhbmRpbmcgc2hhcmVzLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL2Vhcm5pbmdzLXBlci1zaGFyZS1lcHMtZXhwbGFpbmVkLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlTmV4dFllYXJFUFNFc3RpbWF0ZSIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJOZXh0WWVhckVQU0VzdGltYXRlIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VOZXh0WWVhckVQU0VzdGltYXRlIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5OZXh0IFllYXIgRVBTIEVzdGltYXRlPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPkVhcm5pbmdzIHBlciBzaGFyZSAoRVBTKSBpcyBhbiBpbnZlc3RtZW50IG1ldHJpYyBkZXRlcm1pbmVkIGJ5IGEgY29tcGFueSdzIGVhcm5pbmdzIGRpdmlkZWQgYnkgaXRzIG51bWJlciBvZiBjb21tb24gb3V0c3RhbmRpbmcgc2hhcmVzLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL2Vhcm5pbmdzLXBlci1zaGFyZS1lcHMtZXhwbGFpbmVkLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlQm9va1ZhbHVlIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkJvb2tWYWx1ZSI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlQm9va1ZhbHVlIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5Cb29rIFZhbHVlPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPkJvb2sgdmFsdWUgcGVyIHNoYXJlIChCVlBTKSBpcyBhIHJhdGlvIHVzZWQgdG8gY29tcGFyZSBhIGZpcm0ncyBjb21tb24gc2hhcmVob2xkZXIncyBlcXVpdHkgdG8gdGhlIG51bWJlciBvZiBzaGFyZXMgb3V0c3RhbmRpbmcuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9maW5hbmNpYWwtdGVybXMvYm9vay12YWx1ZS1lcXVpdHktcGVyLXNoYXJlLWJ2cHMvIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VDYXNoZmxvdyIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJDYXNoZmxvdyI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlQ2FzaGZsb3ciPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPkNhc2ggRmxvdzwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5DYXNoIGZsb3cgaXMgYSBtZWFzdXJlbWVudCBvZiBob3cgbXVjaCBjYXNoIGFuZCBjYXNoIGVxdWl2YWxlbnRzIGEgY29tcGFueSBpcyByZWNlaXZpbmcgYW5kIGhvdyBtdWNoIGl0IGlzIHNlbmRpbmcgb3V0LiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL2Nhc2gtZmxvdy1hbmFseXNpcy1zdG9jay1zZWxlY3Rpb24vIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VOZXRJbmNvbWUiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iTmV0SW5jb21lIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VOZXRJbmNvbWUiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPk5ldCBJbmNvbWU8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+TmV0IGluY29tZSBpcyB0aGUgbWVhc3VyZW1lbnQgb2Ygd2hldGhlciBvciBub3QgYSBjb21wYW55IGlzIG1ha2luZyBtb25leSBhbmQsIGlmIHNvLCBob3cgbXVjaCBwcm9maXQgdGhleSBhcmUgcmV0YWluaW5nLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL3doeS1uZXQtaW5jb21lLWltcG9ydGFudC1pbnZlc3RvcnMvIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VOZXRNYXJnaW5zIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9Ik5ldE1hcmdpbnMiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZU5ldE1hcmdpbnMiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPk5ldCBNYXJnaW5zPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPk5ldCBtYXJnaW4gKGFsc28ga25vd24gYXMgbmV0IHByb2ZpdCBtYXJnaW4pIGlzIHRoZSBhbW91bnQgb2YgcmV2ZW51ZXMgdGhhdCByZW1haW5zIGFzIHByb2ZpdCBhZnRlciBhIGdpdmVuIHBlcmlvZCBvZiB0aW1lLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL25ldC1tYXJnaW4tdW5kZXJzdGFuZGluZy1kaWZmZXJlbnQtdHlwZXMtcHJvZml0LyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48aW5wdXQgY2xhc3M9ImQtbm9uZSIgaWQ9ImNvbHVtbkNob2ljZVN1YmhlYWRlclBlcmZvcm1hbmNlIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlN1YmhlYWRlclBlcmZvcm1hbmNlIj48bGFiZWwgY2xhc3M9InN1YmhlYWRlciIgZm9yPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJQZXJmb3JtYW5jZSI+IDxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0taW5uZXInPlBlcmZvcm1hbmNlPC9zcGFuPjwvbGFiZWw8L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlUHJldmlvdXNDbG9zZSIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJQcmV2aW91c0Nsb3NlIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VQcmV2aW91c0Nsb3NlIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5QcmV2aW91cyBDbG9zZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgY2xvc2luZyBwcmljZSBvZiB0aGUgbGFzdCBtYXJrZXQgZGF5LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZU9wZW5pbmdQcmljZSIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJPcGVuaW5nUHJpY2UiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZU9wZW5pbmdQcmljZSI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+T3BlbmluZyBQcmljZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgb3BlbmluZyBwcmljZSBvZiB0aGUgY3VycmVudCBtYXJrZXQgZGF5LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZVRvZGF5c1BlcmZvcm1hbmNlRnJvbU9wZW4iIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iVG9kYXlzUGVyZm9ybWFuY2VGcm9tT3BlbiI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlVG9kYXlzUGVyZm9ybWFuY2VGcm9tT3BlbiI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+Q2hhbmdlIGZyb20gT3Blbjwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgYW1vdW50L3BlcmNlbnQgY2hhbmdlIGZyb20gdGhlIGN1cnJlbnQgbWFya2V0IGRheSdzIG9wZW5pbmcgcHJpY2UuPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlQ3J5cHRvUHJpY2VDaGFuZ2VPbmVIb3VyIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkNyeXB0b1ByaWNlQ2hhbmdlT25lSG91ciI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlQ3J5cHRvUHJpY2VDaGFuZ2VPbmVIb3VyIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5DcnlwdG8gMS1Ib3VyIENoYW5nZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgY2hhbmdlIGluIHByaWNlIG9mIHRoZSBsYXN0IGhvdXIgaW4gYSBtYXJrZXQgZGF5LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZVByaWNlQ2hhbmdlU2V2ZW5EYXlzIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlByaWNlQ2hhbmdlU2V2ZW5EYXlzIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VQcmljZUNoYW5nZVNldmVuRGF5cyI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+Ny1EYXkgUHJpY2UgQ2hhbmdlPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlRoZSA3IGRheSBwcmljZSBjaGFuZ2Ugb2YgdGhlIHN0b2NrL2Fzc2V0LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZVByaWNlQ2hhbmdlT25lWWVhciIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJQcmljZUNoYW5nZU9uZVllYXIiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZVByaWNlQ2hhbmdlT25lWWVhciI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+MS1ZZWFyIFByaWNlIENoYW5nZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgMS15ZWFyIHByaWNlIGNoYW5nZSBvZiB0aGUgc3RvY2svYXNzZXQuPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlRmlmdHlUd29XZWVrUmFuZ2UiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iRmlmdHlUd29XZWVrUmFuZ2UiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZUZpZnR5VHdvV2Vla1JhbmdlIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz41Mi1XZWVrIFJhbmdlPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlRoZSA1Mi13ZWVrIHJhbmdlIHNob3dzIHRoZSBsb3dlc3QgYW5kIGhpZ2hlc3QgcHJpY2UgYXQgd2hpY2ggYSBzdG9jayBoYXMgdHJhZGVkIGF0IGluIHRoZSBwcmV2aW91cyA1MiB3ZWVrcy48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VUb2RheXNSYW5nZSIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJUb2RheXNSYW5nZSI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlVG9kYXlzUmFuZ2UiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlRvZGF5J3MgUmFuZ2U8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+VG9kYXkncyByYW5nZSBzaG93cyB0aGUgbG93ZXN0IGFuZCBoaWdoZXN0IHByaWNlIGF0IHdoaWNoIGEgc3RvY2sgaGFzIHRyYWRlZCBhdCB0b2RheS48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VUb2RheXNWb2x1bWUiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iVG9kYXlzVm9sdW1lIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VUb2RheXNWb2x1bWUiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlRvZGF5J3MgVm9sdW1lPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlZvbHVtZSByZWZlcnMgdG8gdGhlIGFtb3VudCBvZiBzaGFyZXMgb3IgY29udHJhY3RzIHRyYWRlZCBpbiBhbiBhc3NldCBvciBzZWN1cml0eSBvdmVyIGEgcGVyaW9kIG9mIHRpbWUsIHVzdWFsbHkgb3ZlciB0aGUgY291cnNlIG9mIGEgdHJhZGluZyBkYXkuPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlQXZlcmFnZURhaWx5Vm9sdW1lIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkF2ZXJhZ2VEYWlseVZvbHVtZSI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlQXZlcmFnZURhaWx5Vm9sdW1lIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5BdmVyYWdlIERhaWx5IFZvbHVtZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5Wb2x1bWUgcmVmZXJzIHRvIHRoZSBhbW91bnQgb2Ygc2hhcmVzIG9yIGNvbnRyYWN0cyB0cmFkZWQgaW4gYW4gYXNzZXQgb3Igc2VjdXJpdHkgb3ZlciBhIHBlcmlvZCBvZiB0aW1lLCB1c3VhbGx5IG92ZXIgdGhlIGNvdXJzZSBvZiBhIHRyYWRpbmcgZGF5LiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vbWFya2V0LWRhdGEvdW51c3VhbC12b2x1bWUtc3RvY2tzLyNhdmVyYWdlLWRhaWx5LXRyYWRlLXZvbHVtZS1leHBsYWluZWQiPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZVJldHVybk9uQXNzZXRzIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlJldHVybk9uQXNzZXRzIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VSZXR1cm5PbkFzc2V0cyI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+UmV0dXJuIE9uIEFzc2V0czwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgcmV0dXJuIG9uIGFzc2V0cyAoUk9BKSByYXRpbyBpcyBvbmUgb2Ygc2V2ZXJhbCBwcm9maXRhYmlsaXR5IG1lYXN1cmVzIHRoYXQgaW52ZXN0b3JzIHVzZSB0byBtZWFzdXJlIHRoZWlyIHJldHVybiBvbiBpbnZlc3RtZW50IChST0kpLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL3doYXQtaXMtcmV0dXJuLW9uLWFzc2V0cy8iPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZVJldHVybk9uRXF1aXR5IiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlJldHVybk9uRXF1aXR5Ij48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VSZXR1cm5PbkVxdWl0eSI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+UmV0dXJuIE9uIEVxdWl0eTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5SZXR1cm4gb24gZXF1aXR5IGlzIGEgbWVhc3VyZW1lbnQgb2YgaG93IGVmZmljaWVudCBhIGNvbXBhbnkgaXMgaW4gdXNpbmcgaXRzIGFzc2V0cyBmcm9tIHRoZWlyIHNoYXJlaG9sZGVycyB0byBjcmVhdGUgZWFybmluZ3MuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9maW5hbmNpYWwtdGVybXMvY2FsY3VsYXRlLXJldHVybi1vbi1lcXVpdHkvIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxpbnB1dCBjbGFzcz0iZC1ub25lIiBpZD0iY29sdW1uQ2hvaWNlU3ViaGVhZGVyRGVidCIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJTdWJoZWFkZXJEZWJ0Ij48bGFiZWwgY2xhc3M9InN1YmhlYWRlciIgZm9yPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJEZWJ0Ij4gPHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1pbm5lcic+RGVidDwvc3Bhbj48L2xhYmVsPC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZURlYnRUb0VxdWl0eVJhdGlvIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkRlYnRUb0VxdWl0eVJhdGlvIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VEZWJ0VG9FcXVpdHlSYXRpbyI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+RGVidC9FcXVpdHkgUmF0aW88L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+QSBjb21wYW554oCZcyBkZWJ0LXRvLWVxdWl0eSByYXRpbyBpcyBhIHBlcmZvcm1hbmNlIG1ldHJpYyB0aGF0IG1lYXN1cmVzIGEgY29tcGFueeKAmXMgbGV2ZWwgb2YgZGVidCBpbiByZWxhdGlvbiB0byB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiB0aGVpciBzdG9jay4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2ZpbmFuY2lhbC10ZXJtcy9jYWxjdXVsYXRlLWRlYnQtdG8tZXF1aXR5LXJhdGlvbi8iPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZUN1cnJlbnRSYXRpbyIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJDdXJyZW50UmF0aW8iPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZUN1cnJlbnRSYXRpbyI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+Q3VycmVudCBSYXRpbzwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgY3VycmVudCByYXRpbyBpcyBhIGxpcXVpZGl0eSByYXRpbyB0aGF0IG1lYXN1cmVzIGEgY29tcGFueSdzIGFiaWxpdHkgdG8gcGF5IHNob3J0LXRlcm0gb2JsaWdhdGlvbnMgb3IgdGhvc2UgZHVlIHdpdGhpbiBvbmUgeWVhci4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2ZpbmFuY2lhbC10ZXJtcy93aGF0LWlzLWN1cnJlbnQtcmF0aW8vIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VRdWlja1JhdGlvIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlF1aWNrUmF0aW8iPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZVF1aWNrUmF0aW8iPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlF1aWNrIFJhdGlvPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlRoZSBxdWljayByYXRpbyBtZWFzdXJlcyBhIGNvbXBhbnkncyBjYXBhY2l0eSB0byBwYXkgaXRzIGN1cnJlbnQgbGlhYmlsaXRpZXMgd2l0aG91dCBuZWVkaW5nIHRvIHNlbGwgaXRzIGludmVudG9yeSBvciBvYnRhaW4gYWRkaXRpb25hbCBmaW5hbmNpbmcuICA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL3doYXQtaXMtcXVpY2stcmF0aW8vIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxpbnB1dCBjbGFzcz0iZC1ub25lIiBpZD0iY29sdW1uQ2hvaWNlU3ViaGVhZGVyRGl2aWRlbmQiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iU3ViaGVhZGVyRGl2aWRlbmQiPjxsYWJlbCBjbGFzcz0ic3ViaGVhZGVyIiBmb3I9ImNvbHVtbkNob2ljZVN1YmhlYWRlckRpdmlkZW5kIj4gPHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1pbm5lcic+RGl2aWRlbmQ8L3NwYW4+PC9sYWJlbDwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VEaXZpZGVuZFlpZWxkIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IkRpdmlkZW5kWWllbGQiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZURpdmlkZW5kWWllbGQiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPkRpdmlkZW5kIFlpZWxkPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPkRpdmlkZW5kIHlpZWxkIGlzIGEgY29tcGFueeKAmXMgZGl2aWRlbmQgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZSBvZiBpdHMgc3RvY2sgcHJpY2UuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9maW5hbmNpYWwtdGVybXMvd2hhdC1pcy1kaXZpZGVuZC15aWVsZC8iPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZVlpZWxkT25Db3N0IiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IllpZWxkT25Db3N0Ij48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VZaWVsZE9uQ29zdCI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+WWllbGQgb24gQ29zdDwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5ZaWVsZCBvbiBjb3N0IGlzIGEgY29tcGFueeKAmXMgZGl2aWRlbmQgZXhwcmVzc2VkIGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgcHJpY2Ugb3JpZ2luYWxseSBwYWlkIGZvciB0aGUgc3RvY2suIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9kaXZpZGVuZHMvY2FsY3VsYXRvci8iPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZVRocmVlWWVhckRpdkdyb3d0aCIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJUaHJlZVllYXJEaXZHcm93dGgiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZVRocmVlWWVhckRpdkdyb3d0aCI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+My1ZZWFyIERpdmlkZW5kIEdyb3d0aDwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5Ib3cgbXVjaCB0aGUgY29tcGFueSdzIGRpdmlkZW5kIGhhcyBncm93biAob3IgZGVjbGluZWQpIG92ZXIgdGhlIHBhc3QgMyB5ZWFycy4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2ZpbmFuY2lhbC10ZXJtcy9pbnZlc3RpbmctZGl2aWRlbmQtc3RvY2tzLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlUGF5b3V0UmF0aW8iIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iUGF5b3V0UmF0aW8iPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZVBheW91dFJhdGlvIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5QYXlvdXQgUmF0aW88L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+VGhlIGRpdmlkZW5kIHBheW91dCByYXRpbyBpcyB0aGUgcmF0aW8gb2YgdGhlIHRvdGFsIGFtb3VudCBvZiBkaXZpZGVuZHMgcGFpZCBvdXQgdG8gc2hhcmVob2xkZXJzIHJlbGF0aXZlIHRvIHRoZSBuZXQgaW5jb21lIG9mIHRoZSBjb21wYW55LiBJdCBpcyB0aGUgcGVyY2VudGFnZSBvZiBlYXJuaW5ncyBwYWlkIHRvIHNoYXJlaG9sZGVycyB2aWEgZGl2aWRlbmRzLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL2ludmVzdGluZy1kaXZpZGVuZC1zdG9ja3MvIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VZZWFyc09mRGl2aWRlbmRHcm93dGgiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iWWVhcnNPZkRpdmlkZW5kR3Jvd3RoIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VZZWFyc09mRGl2aWRlbmRHcm93dGgiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlllYXJzIG9mIERpdmlkZW5kIEdyb3d0aDwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgbnVtYmVyIG9mIHllYXJzIHRoZSBwYWlkIGRpdmlkZW5kIGhhcyBpbmNyZWFzZWQuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9maW5hbmNpYWwtdGVybXMvaW52ZXN0aW5nLWRpdmlkZW5kLXN0b2Nrcy8iPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZU5leHREaXZpZGVuZFBheW91dERhdGUiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iTmV4dERpdmlkZW5kUGF5b3V0RGF0ZSI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlTmV4dERpdmlkZW5kUGF5b3V0RGF0ZSI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+TmV4dCBEaXZpZGVuZCBQYXlvdXQgRGF0ZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5BIHBheW1lbnQgZGF0ZSwgYWxzbyBrbm93biBhcyB0aGUgcGF5IG9yIHBheWFibGUgZGF0ZSwgaXMgdGhlIGRheSBvbiB3aGljaCBhIGRlY2xhcmVkIHN0b2NrIGRpdmlkZW5kIGlzIHNjaGVkdWxlZCB0byBiZSBwYWlkIHRvIGVsaWdpYmxlIGludmVzdG9ycy4gVGhpcyBkYXRlIGNhbiBiZSB1cCB0byBhIG1vbnRoIGFmdGVyIHRoZSBleC1kaXZpZGVuZCBkYXRlLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vZmluYW5jaWFsLXRlcm1zL2ludmVzdGluZy1kaXZpZGVuZC1zdG9ja3MvIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VOZXh0RXhEaXZpZGVuZERhdGUiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iTmV4dEV4RGl2aWRlbmREYXRlIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VOZXh0RXhEaXZpZGVuZERhdGUiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPk5leHQgRXgtRGl2aWRlbmQgRGF0ZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgZXgtZGl2aWRlbmQgZGF0ZSBpcyB0aGUgdHJhZGluZyBkYXRlIG9uIChhbmQgYWZ0ZXIpIHdoaWNoIHRoZSBkaXZpZGVuZCBpcyBub3Qgb3dlZCB0byBhIG5ldyBidXllciBvZiB0aGUgc3RvY2suIFRoZSBleC1kYXRlIGlzIG9uZSBidXNpbmVzcyBkYXkgYmVmb3JlIHRoZSBkYXRlIG9mIHJlY29yZC4gVGhlIGRhdGUgb2YgcmVjb3JkIGlzIHRoZSBkYXkgb24gd2hpY2ggdGhlIGNvbXBhbnkgY2hlY2tzIGl0cyByZWNvcmRzIHRvIGlkZW50aWZ5IHNoYXJlaG9sZGVycyBvZiB0aGUgY29tcGFueS4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2RpdmlkZW5kcy9leC1kaXZpZGVuZC1jYWxlbmRhci8jZXgtZGl2aWRlbmQtaW52ZXN0aW5nIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VQYXltZW50U2NoZWR1bGUiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iUGF5bWVudFNjaGVkdWxlIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VQYXltZW50U2NoZWR1bGUiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPkRpdmlkZW5kIFBheW1lbnQgU2NoZWR1bGU8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+VGhlIGZyZXF1ZW5jeSBpbiB3aGljaCBhIGNvbXBhbnkgYW5ub3VuY2VzIGRpdmlkZW5kcywgZXhhbXBsZXMgaW5jbHVkZSBxdWFydGVybHkgYW5kIHllYXJseS4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2ZpbmFuY2lhbC10ZXJtcy9pbnZlc3RpbmctZGl2aWRlbmQtc3RvY2tzLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48aW5wdXQgY2xhc3M9ImQtbm9uZSIgaWQ9ImNvbHVtbkNob2ljZVN1YmhlYWRlckFkZGl0aW9uYWxJbmRpY2F0b3JzIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlN1YmhlYWRlckFkZGl0aW9uYWxJbmRpY2F0b3JzIj48bGFiZWwgY2xhc3M9InN1YmhlYWRlciIgZm9yPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJBZGRpdGlvbmFsSW5kaWNhdG9ycyI+IDxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0taW5uZXInPkFkZGl0aW9uYWwgSW5kaWNhdG9yczwvc3Bhbj48L2xhYmVsPC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZU1hcmtldFJhbmsiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iTWFya2V0UmFuayI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlTWFya2V0UmFuayI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+TWFya2V0UmFua+KEojwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5PdXIgTWFya2V0UmFuazxzdXA+JnRyYWRlOzwvc3VwPiByYXRlcyBldmVyeSBzdG9jayBvbiA3IHVuaXF1ZSBjYXRlZ29yaWVzOiBBbmFseXN0J3MgT3BpbmlvbiwgU2hvcnQgSW50ZXJlc3QsIERpdmlkZW5kIFN0cmVuZ3RoLCBFU0cgU2NvcmUsIE1lZGlhIFNlbnRpbWVudCwgQ29tcGFueSBPd25lcnNoaXAsIGFuZCBFYXJuaW5ncyBhbmQgVmFsdWF0aW9uLiBNYXJrZXRSYW5rIGlzIGNhbGN1bGF0ZWQgYXMgYW4gYXZlcmFnZSBvZiBhdmFpbGFibGUgY2F0ZWdvcnkgc2NvcmVzLCB3aXRoIGV4dHJhIHdlaWdodCBnaXZlbiB0byBhbmFseXNpcyBhbmQgdmFsdWF0aW9uLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vc3RvY2tzL3RvcC1tYXJrZXRyYW5rLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlTmV3c1NlbnRpbWVudCIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJOZXdzU2VudGltZW50Ij48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VOZXdzU2VudGltZW50Ij4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5OZXdzIFNlbnRpbWVudDwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5OZXdzIHNlbnRpbWVudCBpcyBvbmUgcGFydCBvZiBmdW5kYW1lbnRhbCBhbmFseXNpcy4gQSBnb29kIHdheSB0byBsb29rIGF0IGl0IGlzIHRoYXQgdGVjaG5pY2FsIHNpZ25hbHMgd2lsbCB0ZWxsIGludmVzdG9ycyB3aGF04oCZcyBoYXBwZW5pbmcgdG8gYSBzdG9ja+KAmXMgcHJpY2UuIFVuZGVyc3RhbmRpbmcgdGhlIG5ld3MgY2FuIGhlbHAgaW52ZXN0b3JzIHVuZGVyc3RhbmQgd2h5IHRoYXQgbW92ZW1lbnQgbWF5IGJlIGhhcHBlbmluZy4gPGEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2ZpbmFuY2lhbC10ZXJtcy9tYXJrZXQtbmV3cy1zZW50aW1lbnQtaW4taW52ZXN0aW5nLyI+TGVhcm4gbW9yZTwvYT4uPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlSW5zaWRlck93bmVyc2hpcFBlcmNlbnRhZ2UiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iSW5zaWRlck93bmVyc2hpcFBlcmNlbnRhZ2UiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZUluc2lkZXJPd25lcnNoaXBQZXJjZW50YWdlIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5JbnNpZGVyIE93bmVyc2hpcCAlPC9zcGFuPjwvbGFiZWw+Jm5ic3A7PHNwYW4gY2xhc3M9J3Rvb2x0aXAtYXZhaWxhYmxlIGZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uJyBhcmlhLWhpZGRlbj0ndHJ1ZScgPjwvc3Bhbj48ZGl2IGNsYXNzPSd0b29sdGlwLWNvbnRlbnQgZC1ub25lJz48ZGl2IGNsYXNzPSdwLTIgYmctd2hpdGUgYm9yZGVyIGZsb2F0aW5nLXRvb2x0aXAgc2hhZG93IGZvbnQtc21hbGwnPlRoZSBwZXJjZW50YWdlIG9mIHRoZSBjb21wYW55IHRoYXQgY29tcGFueSBpbnNpZGVycyBvd24gaW4gc2hhcmVzLiA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vaW5zaWRlci10cmFkZXMvI2luc2lkZXItdHJhZGluZy13aGF0LXlvdS1uZWVkLXRvLWtub3ciPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZUluc3RpdHV0aW9uYWxPd25lcnNoaXBQZXJjZW50YWdlIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9Ikluc3RpdHV0aW9uYWxPd25lcnNoaXBQZXJjZW50YWdlIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VJbnN0aXR1dGlvbmFsT3duZXJzaGlwUGVyY2VudGFnZSI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+SW5zdGl0dXRpb25hbCBPd25lcnNoaXAgJTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgcGVyY2VudGFnZSBvZiB0aGUgY29tcGFueSB0aGF0IGluc3RpdHV0aW9uYWwgb3duZXJzIG93biBpbiBzaGFyZXMuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9maW5hbmNpYWwtdGVybXMvd2hhdC1hcmUtaW5zdGl0dXRpb25hbC1pbnZlc3RvcnMvIj5MZWFybiBtb3JlPC9hPi48L2Rpdj48L2Rpdj48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VOZXh0RWFybmluZ3NEYXRlIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9Ik5leHRFYXJuaW5nc0RhdGUiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZU5leHRFYXJuaW5nc0RhdGUiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPk5leHQgRWFybmluZ3MgRGF0ZTwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5FYXJuaW5ncyBkYXRlIGlzIHRoZSBkYXRlIG9mIHRoZSBuZXh0IHJlbGVhc2Ugb2YgYSBjb21wYW55J3MgZmluYW5jaWFsIHJlcG9ydC4gRWFybmluZ3MgcmVwb3J0IGRhdGUgaXMgdGhlIGRhdGUgb2YgYW4gb2ZmaWNpYWwgYW5ub3VuY2VtZW50IGFib3V0IGEgY29tcGFueSdzIHByb2ZpdGFiaWxpdHkgZm9yIGEgc3BlY2lmaWMgdGltZSBwZXJpb2QuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9lYXJuaW5ncy9sYXRlc3QvI3doYXQtYXJlLWVhcm5pbmdzLXJlcG9ydHMiPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZUVtcGxveWVlcyIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJFbXBsb3llZXMiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZUVtcGxveWVlcyI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+TnVtYmVyIG9mIEVtcGxveWVlczwvc3Bhbj48L2xhYmVsPiZuYnNwOzxzcGFuIGNsYXNzPSd0b29sdGlwLWF2YWlsYWJsZSBmYS1yZWd1bGFyIGZhLWNpcmNsZS1xdWVzdGlvbicgYXJpYS1oaWRkZW49J3RydWUnID48L3NwYW4+PGRpdiBjbGFzcz0ndG9vbHRpcC1jb250ZW50IGQtbm9uZSc+PGRpdiBjbGFzcz0ncC0yIGJnLXdoaXRlIGJvcmRlciBmbG9hdGluZy10b29sdGlwIHNoYWRvdyBmb250LXNtYWxsJz5UaGUgbnVtYmVyIG9mIGVtcGxveWVlcyBpbiBhIGNvbXBhbnkuPC9kaXY+PC9kaXY+PC9zcGFuPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLWFycm93LXJpZ2h0LWFycm93LWxlZnQnPjwvc3Bhbj48L2xpPjxsaT48c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWxlZnQnPjxpbnB1dCBpZD0iY29sdW1uQ2hvaWNlT3V0c3RhbmRpbmdTaGFyZXMiIHR5cGU9ImNoZWNrYm94IiB2YWx1ZT0iT3V0c3RhbmRpbmdTaGFyZXMiPjxsYWJlbCBmb3I9ImNvbHVtbkNob2ljZU91dHN0YW5kaW5nU2hhcmVzIj4gPHNwYW4gY2xhc3M9J2xhYmVsLWlubmVyJz5PdXRzdGFuZGluZyBTaGFyZXM8L3NwYW4+PC9sYWJlbD4mbmJzcDs8c3BhbiBjbGFzcz0ndG9vbHRpcC1hdmFpbGFibGUgZmEtcmVndWxhciBmYS1jaXJjbGUtcXVlc3Rpb24nIGFyaWEtaGlkZGVuPSd0cnVlJyA+PC9zcGFuPjxkaXYgY2xhc3M9J3Rvb2x0aXAtY29udGVudCBkLW5vbmUnPjxkaXYgY2xhc3M9J3AtMiBiZy13aGl0ZSBib3JkZXIgZmxvYXRpbmctdG9vbHRpcCBzaGFkb3cgZm9udC1zbWFsbCc+T3V0c3RhbmRpbmcgc2hhcmVzIGFyZSBhbGwgdGhlIHNoYXJlcyBvZiBhIGNvcnBvcmF0aW9uIG9yIGZpbmFuY2lhbCBhc3NldCB0aGF0IGhhdmUgYmVlbiBhdXRob3JpemVkLCBpc3N1ZWQgYW5kIHB1cmNoYXNlZCBieSBpbnZlc3RvcnMgYW5kIGFyZSBoZWxkIGJ5IHRoZW0uIFRoZXkgaGF2ZSByaWdodHMgYW5kIHJlcHJlc2VudCBvd25lcnNoaXAgaW4gdGhlIGNvcnBvcmF0aW9uIGJ5IHRoZSBwZXJzb24gd2hvIGhvbGRzIHRoZSBzaGFyZXMuIDxhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9maW5hbmNpYWwtdGVybXMvb3V0c3RhbmRpbmctc2hhcmVzLWJ1eWluZy1zZWxsaW5nLXN0b2Nrcy8iPkxlYXJuIG1vcmU8L2E+LjwvZGl2PjwvZGl2Pjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT48bGk+PGlucHV0IGNsYXNzPSJkLW5vbmUiIGlkPSJjb2x1bW5DaG9pY2VTdWJoZWFkZXJQb3J0Zm9saW9EZXRhaWxzIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9IlN1YmhlYWRlclBvcnRmb2xpb0RldGFpbHMiPjxsYWJlbCBjbGFzcz0ic3ViaGVhZGVyIiBmb3I9ImNvbHVtbkNob2ljZVN1YmhlYWRlclBvcnRmb2xpb0RldGFpbHMiPiA8c3BhbiBjbGFzcz0nbGlzdC1pdGVtLWlubmVyJz5Qb3J0Zm9saW8gRGV0YWlsczwvc3Bhbj48L2xhYmVsPC9saT48bGk+PHNwYW4gY2xhc3M9J2xpc3QtaXRlbS1sZWZ0Jz48aW5wdXQgaWQ9ImNvbHVtbkNob2ljZU5vdGVzIiB0eXBlPSJjaGVja2JveCIgdmFsdWU9Ik5vdGVzIj48bGFiZWwgZm9yPSJjb2x1bW5DaG9pY2VOb3RlcyI+IDxzcGFuIGNsYXNzPSdsYWJlbC1pbm5lcic+Tm90ZXM8L3NwYW4+PC9sYWJlbD48L3NwYW4+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCc+PC9zcGFuPjwvbGk+PGxpPjxzcGFuIGNsYXNzPSdsaXN0LWl0ZW0tbGVmdCc+PGlucHV0IGlkPSJjb2x1bW5DaG9pY2VQcmljZUFsZXJ0cyIgdHlwZT0iY2hlY2tib3giIHZhbHVlPSJQcmljZUFsZXJ0cyI+PGxhYmVsIGZvcj0iY29sdW1uQ2hvaWNlUHJpY2VBbGVydHMiPiA8c3BhbiBjbGFzcz0nbGFiZWwtaW5uZXInPlByaWNlIEFsZXJ0czwvc3Bhbj48L2xhYmVsPjwvc3Bhbj48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0Jz48L3NwYW4+PC9saT5kAqABDw8WAh8EZ2RkAqIBDw8WAh8BZ2RkAqgBD2QWAmYPZBYCAgMPFgIfAAU2PGVtIGNsYXNzPSdzbWFsbCc+TGFzdCB1cGRhdGVkOiAxMS8xOSAxMTo0NCBQTSBFVDwvZW0+ZAKqAQ8WAh8ABdNsPGRpdiBjbGFzcz0nZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTIgbWItMSc+PGRpdiBjbGFzcz0nd2F0Y2hsaXN0LXRpdGxlJz48c3Ryb25nPk15IERlZmF1bHQgV2F0Y2hsaXN0PC9zdHJvbmc+PC9kaXY+PGRpdj48YnV0dG9uIHR5cGU9J2J1dHRvbicgZGF0YS10b2dnbGU9J21vZGFsJyBkYXRhLXRhcmdldD0nI1BhbmVsNScgdGl0bGU9J0VkaXQgVGhpcyBXYXRjaGxpc3QnIGNsYXNzPSdidG4gYnRuLXNlY29uZGFyeSBwLTEgc2V0dGluZ3MtYnV0dG9uJyBvbmNsaWNrPSdlZGl0V2F0Y2hsaXN0KCIyNTE5MzMwIiwgIk15IERlZmF1bHQgV2F0Y2hsaXN0IiwgIjAiKSc+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtcGVuLXRvLXNxdWFyZScgYXJpYS1oaWRkZW49J3RydWUnPjwvc3Bhbj48L2J1dHRvbj4mbmJzcDs8YnV0dG9uIHR5cGU9J2J1dHRvbicgZGF0YS10b2dnbGU9J21vZGFsJyBkYXRhLXRhcmdldD0nI1BhbmVsNycgdGl0bGU9J0RlbGV0ZSBUaGlzIFdhdGNobGlzdCcgY2xhc3M9J2J0biBidG4tc2Vjb25kYXJ5IHAtMSBzZXR0aW5ncy1idXR0b24nIG9uY2xpY2s9J2RlbGV0ZVdhdGNobGlzdCgiMjUxOTMzMCIsICJNeSBEZWZhdWx0IFdhdGNobGlzdCIpJz48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS10cmFzaC1jYW4nIGFyaWEtaGlkZGVuPSd0cnVlJz48L3NwYW4+PC9idXR0b24+PGJyLz48L2Rpdj48L2Rpdj48dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIzIiBjbGFzcz0ic2Nyb2xsLXRhYmxlIGRvbnQtc2Nyb2xsdGFibGUtb24tcmViaW5kIHNvcnQtdGFibGUgZG9udC1zb3J0LW9uLXJlYmluZCI+PHRoZWFkPjx0cj48dGggZGF0YS1oaWRlIGRhdGEtc29ydD0nc3RyaW5nJz48ZGl2IG9uY2xpY2s9J2V2ZW50LnN0b3BQcm9wYWdhdGlvbigpOycgY2xhc3M9IndsLWNoZWNrIGN1c3RvbS1jb250cm9sIGN1c3RvbS1jaGVja2JveCI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJibGtBY3Rpb25TZWxlY3RBbGxJblRhYmxlIiBhcmlhLWxhYmVsPSdzZWxlY3QgYWxsIGluIGhvbGRpbmdzIGluIHdhdGNobGlzdCBNeSBEZWZhdWx0IFdhdGNobGlzdCBmb3IgYnVsayBhY3Rpb24nIGNsYXNzPSJzZWxlY3RBbGxJblRhYmxlIiBpZD0nd2F0Y2hsaXN0MjUxOTMzMCc+PGxhYmVsIGNsYXNzPSJzZWxlY3RBbGxJblRhYmxlTGFiZWwiIGZvcj0id2F0Y2hsaXN0MjUxOTMzMCI+PHNwYW4gY2xhc3M9J3NyLW9ubHknPlNlbGVjdCBBbGwgSG9sZGluZ3MgaW4gd2F0Y2hsaXN0IE15IERlZmF1bHQgV2F0Y2hsaXN0PC9zcGFuPjwvbGFiZWw+PC9kaXY+PC90aD48dGggZGF0YS1zb3J0PSdzdHJpbmcnIGRhdGEtY2xlYW49J1N5bWJvbHxIb2xkaW5nJz5Ib2xkaW5nPC90aD48dGggZGF0YS1zb3J0PSdmbG9hdCcgZGF0YS1jbGVhbj0iQ3VycmVudCBQcmljZXxQcmljZSBDaGFuZ2V8UHJpY2UgQ2hhbmdlIFBlcmNlbnRhZ2UiPkN1cnJlbnQgUHJpY2U8L3RoPjx0aCBkYXRhLXNvcnQ9J2Zsb2F0Jz5QRSBSYXRpbzwvdGg+PHRoIGRhdGEtc29ydD0nZmxvYXQnPkJldGE8L3RoPjx0aCBkYXRhLXNvcnQ9J2Zsb2F0Jz5Bbm51YWwgRGl2aWRlbmQ8L3RoPjx0aCBkYXRhLXNvcnQ9J2Zsb2F0JyBkYXRhLWNsZWFuPSdDb25zZW5zdXMgUmF0aW5nfENvbnNlbnN1cyBSYXRpbmcgU2NvcmUnPkNvbnNlbnN1cyBSYXRpbmc8L3RoPjx0aCBkYXRhLXNvcnQ9J2Zsb2F0Jz5Db25zZW5zdXMgUHJpY2UgVGFyZ2V0PC90aD48dGggZGF0YS1zb3J0PSdmbG9hdCc+VXBzaWRlLyYjODIwMztEb3duc2lkZTwvdGg+PHRoIGRhdGEtaGlkZT5TZXR0aW5nczwvdGg+PC90cj48L3RoZWFkPjx0Ym9keT48dHI+PHRkIGRhdGEtaGlkZSBkYXRhLXNvcnQtdmFsdWU9J0FBUEwnPiA8ZGl2IGNsYXNzPSJ3bC1jaGVjayBjdXN0b20tY29udHJvbCBjdXN0b20tY2hlY2tib3giPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImJ1bGthY3Rpb25jaGVjayIgbmFtZT0iaW5jbHVkZUluQnVsa0FjdGlvbiIgdmFsdWU9IjgwMjY2NjMiIGlkPSJob2xkaW5nODAyNjY2MyIgYXJpYS1sYWJlbD0iYnVsayBhY3Rpb24gY2hlY2sgYm94IGZvciBBcHBsZSBJbmMuIj48bGFiZWwgIGZvcj0iaG9sZGluZzgwMjY2NjMiPjxzcGFuIGNsYXNzPSdzci1vbmx5Jz5BcHBseSBCdWxrIEFjdGlvbiB0byBBcHBsZSBJbmMuPC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0nd2wtd2l0aC1jaGVjayc+PGltZyBsb2FkaW5nPSdsYXp5JyBoZWlnaHQ9JzUzJyB3aWR0aD0nODAnIHNyYz0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vbG9nb3MvdGh1bWJuYWlsL2FwcGxlLWluYy1sb2dvLnBuZyIgYWx0PSJBcHBsZSBJbmMuIGxvZ28iICB0aXRsZT0iQUFQTCI+PC9kaXY+PC90ZD48dGQgZGF0YS1jbGVhbj0nQUFQTHxBcHBsZSBJbmMuJz48YSBjbGFzcz0iYm9sZHN5bWJvbCIgaHJlZj0iL3N0b2Nrcy9OQVNEQVEvQUFQTC8iPkFBUEw8L2E+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iL3N0b2Nrcy9OQVNEQVEvQUFQTC9jaGFydC8iPjxpbWcgY2xhc3M9J3NwYXJrbGluZScgYWx0PSdBQVBMIDkwLWRheSBwZXJmb3JtYW5jZScgdGl0bGU9JzkwLWRheSBwZXJmb3JtYW5jZScgc3JjPSJodHRwczovL3d3dy5tYXJrZXRiZWF0LmNvbS9TY3JpcHRzL3NwYXJrbGluZXMuYXNoeD9wcmVmaXg9TkFTREFRJnN5bWJvbD1BQVBMIj48L2E+PGJyLz5BcHBsZTwvdGQ+PHRkIGNsYXNzPSdjaGFuZ2VhYmxlLWNlbGwnIHN0eWxlPScvKm1pbi13aWR0aDoxNjVweCovJyBkYXRhLXNvcnQtdmFsdWU9JzAuMDAxMTQwMjUwODU1MTg4MTQnIGRhdGEtY2xlYW49JyQyMjguMjh8KyQwLjI2fDAuMTElJz48c3Ryb25nPiQyMjguMjg8L3N0cm9uZz48YnIvPjxzcGFuIGNsYXNzPSJjLWdyZWVuIj4rJDAuMjYgKDAuMTElKTwvc3Bhbj48L3RkPjx0ZCBkYXRhLXNvcnQtdmFsdWU9JzM3LjU0NjExNDM4NTA1NjYnPjM3LjU1PC90ZD48dGQ+MS4yNDwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0nMS4wMCc+JDEuMDAgcGVyIHNoLjwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0iMi42MSIgZGF0YS1jbGVhbj0iTW9kZXJhdGUgQnV5fDIuNjEiPjxzdHJvbmc+TW9kZXJhdGUgQnV5PC9zdHJvbmc+PGJyLz4yLjYxPC90ZD48dGQgc3R5bGU9Jy8qbWluLXdpZHRoOjE2MHB4Ki8nIGRhdGEtc29ydC12YWx1ZT0iMjM1LjI1NDg1NzE0Mjg1NyI+JDIzNS4yNTwvdGQ+PHRkIGNsYXNzPSdjaGFuZ2VhYmxlLWNlbGwnIGRhdGEtc29ydC12YWx1ZT0nMC4wMzA1NTM5NTYyOTQyNzUyJz48c3BhbiBjbGFzcz0iYy1ncmVlbiI+My4wNiUgVXBzaWRlPC9zcGFuPjwvdGQ+PHRkIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21pbi13aWR0aDoxNDVweDtwYWRkaW5nOjRweCA4cHggNHB4IDJweDsnIGRhdGEtaGlkZT48ZGl2IGNsYXNzPSdudGYtYXJlYSc+PGRpdiBjbGFzcz0nc2V0dGluZ3MtYnV0dG9uIHNob3dub3RpZmljYXRpb25zIHBlbmRpbmcnIGlkPSIyMDI0MDUwMjExMzEwMjEzM19OQVNEQVFfQUFQTCI+PC9kaXY+PC9kaXY+PGJ1dHRvbiB0eXBlPSdidXR0b24nIGRhdGEtdG9nZ2xlPSdtb2RhbCcgZGF0YS10YXJnZXQ9JyNQYW5lbDQnIHRpdGxlPSdFZGl0IFRoaXMgSG9sZGluZycgY2xhc3M9J2J0biBidG4tc2Vjb25kYXJ5IHAtMSBzZXR0aW5ncy1idXR0b24nIG9uY2xpY2s9J2VkaXRIb2xkaW5nKCI4MDI2NjYzIiAsICJOQVNEQVEiLCAiQUFQTCIgLCAiMCIgLCAiMC4wMCIgLCAiMjUxOTMzMCIgLCBmYWxzZSAsIGZhbHNlICwgdHJ1ZSAsICJVU0QiLCAiMC4wMCIsICIwIiAsICIwIiwgIjAiLCAiIiwgIkFwcGxlIEluYy4iLCAiMjI4LjI4IiwgIjExLzE5LzIwMjQiKSc+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtcGVuLXRvLXNxdWFyZScgYXJpYS1oaWRkZW49J3RydWUnPjwvc3Bhbj48L2J1dHRvbj4gPGJ1dHRvbiB0eXBlPSdidXR0b24nIGRhdGEtdG9nZ2xlPSdtb2RhbCcgZGF0YS10YXJnZXQ9JyNQYW5lbDYnIHRpdGxlPSdEZWxldGUgVGhpcyBIb2xkaW5nJyBjbGFzcz0nYnRuIGJ0bi1zZWNvbmRhcnkgcC0xIHNldHRpbmdzLWJ1dHRvbicgb25jbGljaz0nZGVsZXRlU3RvY2soIjgwMjY2NjMiICwgIkFwcGxlIEluYy4iKSc+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtdHJhc2gtY2FuJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PC9zcGFuPjwvYnV0dG9uPjwvdGQ+PC90cj48dHI+PHRkIGRhdGEtaGlkZSBkYXRhLXNvcnQtdmFsdWU9J0FNWk4nPiA8ZGl2IGNsYXNzPSJ3bC1jaGVjayBjdXN0b20tY29udHJvbCBjdXN0b20tY2hlY2tib3giPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImJ1bGthY3Rpb25jaGVjayIgbmFtZT0iaW5jbHVkZUluQnVsa0FjdGlvbiIgdmFsdWU9IjgwMjY2NjYiIGlkPSJob2xkaW5nODAyNjY2NiIgYXJpYS1sYWJlbD0iYnVsayBhY3Rpb24gY2hlY2sgYm94IGZvciBBbWF6b24uY29tLCBJbmMuIj48bGFiZWwgIGZvcj0iaG9sZGluZzgwMjY2NjYiPjxzcGFuIGNsYXNzPSdzci1vbmx5Jz5BcHBseSBCdWxrIEFjdGlvbiB0byBBbWF6b24uY29tLCBJbmMuPC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0nd2wtd2l0aC1jaGVjayc+PGltZyBsb2FkaW5nPSdsYXp5JyBoZWlnaHQ9JzI5JyB3aWR0aD0nODAnIHNyYz0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vbG9nb3MvdGh1bWJuYWlsL2FtYXpvbmNvbS1pbmMtbG9nby5qcGciIGFsdD0iQW1hem9uLmNvbSwgSW5jLiBsb2dvIiAgdGl0bGU9IkFNWk4iPjwvZGl2PjwvdGQ+PHRkIGRhdGEtY2xlYW49J0FNWk58QW1hem9uLmNvbSwgSW5jLic+PGEgY2xhc3M9ImJvbGRzeW1ib2wiIGhyZWY9Ii9zdG9ja3MvTkFTREFRL0FNWk4vIj5BTVpOPC9hPjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9Ii9zdG9ja3MvTkFTREFRL0FNWk4vY2hhcnQvIj48aW1nIGNsYXNzPSdzcGFya2xpbmUnIGFsdD0nQU1aTiA5MC1kYXkgcGVyZm9ybWFuY2UnIHRpdGxlPSc5MC1kYXkgcGVyZm9ybWFuY2UnIHNyYz0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vU2NyaXB0cy9zcGFya2xpbmVzLmFzaHg/cHJlZml4PU5BU0RBUSZzeW1ib2w9QU1aTiI+PC9hPjxici8+QW1hem9uLmNvbTwvdGQ+PHRkIGNsYXNzPSdjaGFuZ2VhYmxlLWNlbGwnIHN0eWxlPScvKm1pbi13aWR0aDoxNjVweCovJyBkYXRhLXNvcnQtdmFsdWU9JzAuMDE0NDI3MzY3Mzc3MjkzJyBkYXRhLWNsZWFuPSckMjA0LjYxfCskMi45MXwxLjQ0JSc+PHN0cm9uZz4kMjA0LjYxPC9zdHJvbmc+PGJyLz48c3BhbiBjbGFzcz0iYy1ncmVlbiI+KyQyLjkxICgxLjQ0JSk8L3NwYW4+PC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPSc0My44MTM3MDQ0OTY3ODgnPjQzLjgxPC90ZD48dGQ+MS4xNDwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0nMC4yMCc+JDAuMjAgcGVyIHNoLjwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0iMi45OCIgZGF0YS1jbGVhbj0iTW9kZXJhdGUgQnV5fDIuOTgiPjxzdHJvbmc+TW9kZXJhdGUgQnV5PC9zdHJvbmc+PGJyLz4yLjk4PC90ZD48dGQgc3R5bGU9Jy8qbWluLXdpZHRoOjE2MHB4Ki8nIGRhdGEtc29ydC12YWx1ZT0iMjM1LjQ1NDU0NTQ1NDU0NSI+JDIzNS40NTwvdGQ+PHRkIGNsYXNzPSdjaGFuZ2VhYmxlLWNlbGwnIGRhdGEtc29ydC12YWx1ZT0nMC4xNTA3NDc5ODYxOTEwMjQnPjxzcGFuIGNsYXNzPSJjLWdyZWVuIj4xNS4wNyUgVXBzaWRlPC9zcGFuPjwvdGQ+PHRkIHN0eWxlPSd0ZXh0LWFsaWduOnJpZ2h0O21pbi13aWR0aDoxNDVweDtwYWRkaW5nOjRweCA4cHggNHB4IDJweDsnIGRhdGEtaGlkZT48ZGl2IGNsYXNzPSdudGYtYXJlYSc+PGRpdiBjbGFzcz0nc2V0dGluZ3MtYnV0dG9uIHNob3dub3RpZmljYXRpb25zIHBlbmRpbmcnIGlkPSIyMDI0MDUwMjExMzEwMjEzM19OQVNEQVFfQU1aTiI+PC9kaXY+PC9kaXY+PGJ1dHRvbiB0eXBlPSdidXR0b24nIGRhdGEtdG9nZ2xlPSdtb2RhbCcgZGF0YS10YXJnZXQ9JyNQYW5lbDQnIHRpdGxlPSdFZGl0IFRoaXMgSG9sZGluZycgY2xhc3M9J2J0biBidG4tc2Vjb25kYXJ5IHAtMSBzZXR0aW5ncy1idXR0b24nIG9uY2xpY2s9J2VkaXRIb2xkaW5nKCI4MDI2NjY2IiAsICJOQVNEQVEiLCAiQU1aTiIgLCAiMCIgLCAiMC4wMCIgLCAiMjUxOTMzMCIgLCBmYWxzZSAsIGZhbHNlICwgdHJ1ZSAsICJVU0QiLCAiMC4wMCIsICIwIiAsICIwIiwgIjAiLCAiIiwgIkFtYXpvbi5jb20sIEluYy4iLCAiMjA0LjYxIiwgIjExLzE5LzIwMjQiKSc+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtcGVuLXRvLXNxdWFyZScgYXJpYS1oaWRkZW49J3RydWUnPjwvc3Bhbj48L2J1dHRvbj4gPGJ1dHRvbiB0eXBlPSdidXR0b24nIGRhdGEtdG9nZ2xlPSdtb2RhbCcgZGF0YS10YXJnZXQ9JyNQYW5lbDYnIHRpdGxlPSdEZWxldGUgVGhpcyBIb2xkaW5nJyBjbGFzcz0nYnRuIGJ0bi1zZWNvbmRhcnkgcC0xIHNldHRpbmdzLWJ1dHRvbicgb25jbGljaz0nZGVsZXRlU3RvY2soIjgwMjY2NjYiICwgIkFtYXpvbi5jb20sIEluYy4iKSc+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtdHJhc2gtY2FuJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PC9zcGFuPjwvYnV0dG9uPjwvdGQ+PC90cj48dHI+PHRkIGRhdGEtaGlkZSBkYXRhLXNvcnQtdmFsdWU9J0dPT0dMJz4gPGRpdiBjbGFzcz0id2wtY2hlY2sgY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJidWxrYWN0aW9uY2hlY2siIG5hbWU9ImluY2x1ZGVJbkJ1bGtBY3Rpb24iIHZhbHVlPSI4MDI2NjYyIiBpZD0iaG9sZGluZzgwMjY2NjIiIGFyaWEtbGFiZWw9ImJ1bGsgYWN0aW9uIGNoZWNrIGJveCBmb3IgQWxwaGFiZXQgSW5jLiI+PGxhYmVsICBmb3I9ImhvbGRpbmc4MDI2NjYyIj48c3BhbiBjbGFzcz0nc3Itb25seSc+QXBwbHkgQnVsayBBY3Rpb24gdG8gQWxwaGFiZXQgSW5jLjwvc3Bhbj48L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9J3dsLXdpdGgtY2hlY2snPjxpbWcgbG9hZGluZz0nbGF6eScgaGVpZ2h0PScyOCcgd2lkdGg9JzgwJyBzcmM9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2xvZ29zL3RodW1ibmFpbC9nb29nbGUtaW5jLWxvZ28ucG5nIiBhbHQ9IkFscGhhYmV0IEluYy4gbG9nbyIgIHRpdGxlPSJHT09HTCI+PC9kaXY+PC90ZD48dGQgZGF0YS1jbGVhbj0nR09PR0x8QWxwaGFiZXQgSW5jLic+PGEgY2xhc3M9ImJvbGRzeW1ib2wiIGhyZWY9Ii9zdG9ja3MvTkFTREFRL0dPT0dMLyI+R09PR0w8L2E+PGEgcmVsPSJub2ZvbGxvdyIgaHJlZj0iL3N0b2Nrcy9OQVNEQVEvR09PR0wvY2hhcnQvIj48aW1nIGNsYXNzPSdzcGFya2xpbmUnIGFsdD0nR09PR0wgOTAtZGF5IHBlcmZvcm1hbmNlJyB0aXRsZT0nOTAtZGF5IHBlcmZvcm1hbmNlJyBzcmM9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL1NjcmlwdHMvc3BhcmtsaW5lcy5hc2h4P3ByZWZpeD1OQVNEQVEmc3ltYm9sPUdPT0dMIj48L2E+PGJyLz5BbHBoYWJldDwvdGQ+PHRkIGNsYXNzPSdjaGFuZ2VhYmxlLWNlbGwnIHN0eWxlPScvKm1pbi13aWR0aDoxNjVweCovJyBkYXRhLXNvcnQtdmFsdWU9JzAuMDE2MDg2NzA4NDk5NzE0OCcgZGF0YS1jbGVhbj0nJDE3OC4xMnwrJDIuODJ8MS42MSUnPjxzdHJvbmc+JDE3OC4xMjwvc3Ryb25nPjxici8+PHNwYW4gY2xhc3M9ImMtZ3JlZW4iPiskMi44MiAoMS42MSUpPC9zcGFuPjwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0nMjMuNjIzMzczNTA1ODAwNCc+MjMuNjI8L3RkPjx0ZD4xLjAzPC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPScwLjgwJz4kMC44MCBwZXIgc2guPC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPSIyLjkzIiBkYXRhLWNsZWFuPSJNb2RlcmF0ZSBCdXl8Mi45MyI+PHN0cm9uZz5Nb2RlcmF0ZSBCdXk8L3N0cm9uZz48YnIvPjIuOTM8L3RkPjx0ZCBzdHlsZT0nLyptaW4td2lkdGg6MTYwcHgqLycgZGF0YS1zb3J0LXZhbHVlPSIyMDUuODk3NDM1ODk3NDM2Ij4kMjA1LjkwPC90ZD48dGQgY2xhc3M9J2NoYW5nZWFibGUtY2VsbCcgZGF0YS1zb3J0LXZhbHVlPScwLjE1NTk0Nzg3NzI1OTM1Myc+PHNwYW4gY2xhc3M9ImMtZ3JlZW4iPjE1LjU5JSBVcHNpZGU8L3NwYW4+PC90ZD48dGQgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWluLXdpZHRoOjE0NXB4O3BhZGRpbmc6NHB4IDhweCA0cHggMnB4OycgZGF0YS1oaWRlPjxkaXYgY2xhc3M9J250Zi1hcmVhJz48ZGl2IGNsYXNzPSdzZXR0aW5ncy1idXR0b24gc2hvd25vdGlmaWNhdGlvbnMgcGVuZGluZycgaWQ9IjIwMjQwNTAyMTEzMTAyMTMzX05BU0RBUV9HT09HTCI+PC9kaXY+PC9kaXY+PGJ1dHRvbiB0eXBlPSdidXR0b24nIGRhdGEtdG9nZ2xlPSdtb2RhbCcgZGF0YS10YXJnZXQ9JyNQYW5lbDQnIHRpdGxlPSdFZGl0IFRoaXMgSG9sZGluZycgY2xhc3M9J2J0biBidG4tc2Vjb25kYXJ5IHAtMSBzZXR0aW5ncy1idXR0b24nIG9uY2xpY2s9J2VkaXRIb2xkaW5nKCI4MDI2NjYyIiAsICJOQVNEQVEiLCAiR09PR0wiICwgIjAiICwgIjAuMDAiICwgIjI1MTkzMzAiICwgZmFsc2UgLCBmYWxzZSAsIHRydWUgLCAiVVNEIiwgIjAuMDAiLCAiMCIgLCAiMCIsICIwIiwgIiIsICJBbHBoYWJldCBJbmMuIiwgIjE3OC4xMiIsICIxMS8xOS8yMDI0IiknPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLXBlbi10by1zcXVhcmUnIGFyaWEtaGlkZGVuPSd0cnVlJz48L3NwYW4+PC9idXR0b24+IDxidXR0b24gdHlwZT0nYnV0dG9uJyBkYXRhLXRvZ2dsZT0nbW9kYWwnIGRhdGEtdGFyZ2V0PScjUGFuZWw2JyB0aXRsZT0nRGVsZXRlIFRoaXMgSG9sZGluZycgY2xhc3M9J2J0biBidG4tc2Vjb25kYXJ5IHAtMSBzZXR0aW5ncy1idXR0b24nIG9uY2xpY2s9J2RlbGV0ZVN0b2NrKCI4MDI2NjYyIiAsICJBbHBoYWJldCBJbmMuIiknPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLXRyYXNoLWNhbicgYXJpYS1oaWRkZW49J3RydWUnPjwvc3Bhbj48L2J1dHRvbj48L3RkPjwvdHI+PHRyPjx0ZCBkYXRhLWhpZGUgZGF0YS1zb3J0LXZhbHVlPSdNRVRBJz4gPGRpdiBjbGFzcz0id2wtY2hlY2sgY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJidWxrYWN0aW9uY2hlY2siIG5hbWU9ImluY2x1ZGVJbkJ1bGtBY3Rpb24iIHZhbHVlPSI4MDI2NjY0IiBpZD0iaG9sZGluZzgwMjY2NjQiIGFyaWEtbGFiZWw9ImJ1bGsgYWN0aW9uIGNoZWNrIGJveCBmb3IgTWV0YSBQbGF0Zm9ybXMsIEluYy4iPjxsYWJlbCAgZm9yPSJob2xkaW5nODAyNjY2NCI+PHNwYW4gY2xhc3M9J3NyLW9ubHknPkFwcGx5IEJ1bGsgQWN0aW9uIHRvIE1ldGEgUGxhdGZvcm1zLCBJbmMuPC9zcGFuPjwvbGFiZWw+PC9kaXY+PGRpdiBjbGFzcz0nd2wtd2l0aC1jaGVjayc+PGltZyBsb2FkaW5nPSdsYXp5JyBoZWlnaHQ9Jzc2JyB3aWR0aD0nODAnIHNyYz0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vbG9nb3MvdGh1bWJuYWlsL21ldGEtcGxhdGZvcm1zLWluYy1sb2dvLnBuZz92PTIwMjIwNjA5MDg0MTI2IiBhbHQ9Ik1ldGEgUGxhdGZvcm1zLCBJbmMuIGxvZ28iICB0aXRsZT0iTUVUQSI+PC9kaXY+PC90ZD48dGQgZGF0YS1jbGVhbj0nTUVUQXxNZXRhIFBsYXRmb3JtcywgSW5jLic+PGEgY2xhc3M9ImJvbGRzeW1ib2wiIGhyZWY9Ii9zdG9ja3MvTkFTREFRL01FVEEvIj5NRVRBPC9hPjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9Ii9zdG9ja3MvTkFTREFRL01FVEEvY2hhcnQvIj48aW1nIGNsYXNzPSdzcGFya2xpbmUnIGFsdD0nTUVUQSA5MC1kYXkgcGVyZm9ybWFuY2UnIHRpdGxlPSc5MC1kYXkgcGVyZm9ybWFuY2UnIHNyYz0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vU2NyaXB0cy9zcGFya2xpbmVzLmFzaHg/cHJlZml4PU5BU0RBUSZzeW1ib2w9TUVUQSI+PC9hPjxici8+TWV0YSBQbGF0Zm9ybXM8L3RkPjx0ZCBjbGFzcz0nY2hhbmdlYWJsZS1jZWxsJyBzdHlsZT0nLyptaW4td2lkdGg6MTY1cHgqLycgZGF0YS1zb3J0LXZhbHVlPScwLjAxMjA2NzA5OTU2NzA5OTYnIGRhdGEtY2xlYW49JyQ1NjEuMDl8KyQ2LjY5fDEuMjElJz48c3Ryb25nPiQ1NjEuMDk8L3N0cm9uZz48YnIvPjxzcGFuIGNsYXNzPSJjLWdyZWVuIj4rJDYuNjkgKDEuMjElKTwvc3Bhbj48L3RkPjx0ZCBkYXRhLXNvcnQtdmFsdWU9JzI2LjQyOTEyMjE5OTMwMzknPjI2LjQzPC90ZD48dGQ+MS4yMjwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0nMi4wMCc+JDIuMDAgcGVyIHNoLjwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0iMi44NiIgZGF0YS1jbGVhbj0iTW9kZXJhdGUgQnV5fDIuODYiPjxzdHJvbmc+TW9kZXJhdGUgQnV5PC9zdHJvbmc+PGJyLz4yLjg2PC90ZD48dGQgc3R5bGU9Jy8qbWluLXdpZHRoOjE2MHB4Ki8nIGRhdGEtc29ydC12YWx1ZT0iNjM0LjA5NzU2MDk3NTYxIj4kNjM0LjEwPC90ZD48dGQgY2xhc3M9J2NoYW5nZWFibGUtY2VsbCcgZGF0YS1zb3J0LXZhbHVlPScwLjEzMDExNzM4MDQxMjQyOSc+PHNwYW4gY2xhc3M9ImMtZ3JlZW4iPjEzLjAxJSBVcHNpZGU8L3NwYW4+PC90ZD48dGQgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWluLXdpZHRoOjE0NXB4O3BhZGRpbmc6NHB4IDhweCA0cHggMnB4OycgZGF0YS1oaWRlPjxkaXYgY2xhc3M9J250Zi1hcmVhJz48ZGl2IGNsYXNzPSdzZXR0aW5ncy1idXR0b24gc2hvd25vdGlmaWNhdGlvbnMgcGVuZGluZycgaWQ9IjIwMjQwNTAyMTEzMTAyMTMzX05BU0RBUV9NRVRBIj48L2Rpdj48L2Rpdj48YnV0dG9uIHR5cGU9J2J1dHRvbicgZGF0YS10b2dnbGU9J21vZGFsJyBkYXRhLXRhcmdldD0nI1BhbmVsNCcgdGl0bGU9J0VkaXQgVGhpcyBIb2xkaW5nJyBjbGFzcz0nYnRuIGJ0bi1zZWNvbmRhcnkgcC0xIHNldHRpbmdzLWJ1dHRvbicgb25jbGljaz0nZWRpdEhvbGRpbmcoIjgwMjY2NjQiICwgIk5BU0RBUSIsICJNRVRBIiAsICIwIiAsICIwLjAwIiAsICIyNTE5MzMwIiAsIGZhbHNlICwgZmFsc2UgLCB0cnVlICwgIlVTRCIsICIwLjAwIiwgIjAiICwgIjAiLCAiMCIsICIiLCAiTWV0YSBQbGF0Zm9ybXMsIEluYy4iLCAiNTYxLjA5IiwgIjExLzE5LzIwMjQiKSc+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtcGVuLXRvLXNxdWFyZScgYXJpYS1oaWRkZW49J3RydWUnPjwvc3Bhbj48L2J1dHRvbj4gPGJ1dHRvbiB0eXBlPSdidXR0b24nIGRhdGEtdG9nZ2xlPSdtb2RhbCcgZGF0YS10YXJnZXQ9JyNQYW5lbDYnIHRpdGxlPSdEZWxldGUgVGhpcyBIb2xkaW5nJyBjbGFzcz0nYnRuIGJ0bi1zZWNvbmRhcnkgcC0xIHNldHRpbmdzLWJ1dHRvbicgb25jbGljaz0nZGVsZXRlU3RvY2soIjgwMjY2NjQiICwgIk1ldGEgUGxhdGZvcm1zLCBJbmMuIiknPjxzcGFuIGNsYXNzPSdmYS1yZWd1bGFyIGZhLXRyYXNoLWNhbicgYXJpYS1oaWRkZW49J3RydWUnPjwvc3Bhbj48L2J1dHRvbj48L3RkPjwvdHI+PHRyPjx0ZCBkYXRhLWhpZGUgZGF0YS1zb3J0LXZhbHVlPSdNU0ZUJz4gPGRpdiBjbGFzcz0id2wtY2hlY2sgY3VzdG9tLWNvbnRyb2wgY3VzdG9tLWNoZWNrYm94Ij48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNsYXNzPSJidWxrYWN0aW9uY2hlY2siIG5hbWU9ImluY2x1ZGVJbkJ1bGtBY3Rpb24iIHZhbHVlPSI4MDI2NjY1IiBpZD0iaG9sZGluZzgwMjY2NjUiIGFyaWEtbGFiZWw9ImJ1bGsgYWN0aW9uIGNoZWNrIGJveCBmb3IgTWljcm9zb2Z0IENvLiI+PGxhYmVsICBmb3I9ImhvbGRpbmc4MDI2NjY1Ij48c3BhbiBjbGFzcz0nc3Itb25seSc+QXBwbHkgQnVsayBBY3Rpb24gdG8gTWljcm9zb2Z0IENvLjwvc3Bhbj48L2xhYmVsPjwvZGl2PjxkaXYgY2xhc3M9J3dsLXdpdGgtY2hlY2snPjxpbWcgbG9hZGluZz0nbGF6eScgaGVpZ2h0PSc0MScgd2lkdGg9JzgwJyBzcmM9Imh0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL2xvZ29zL3RodW1ibmFpbC9taWNyb3NvZnQtY29ycG9yYXRpb24tbG9nby5wbmciIGFsdD0iTWljcm9zb2Z0IENvLiBsb2dvIiAgdGl0bGU9Ik1TRlQiPjwvZGl2PjwvdGQ+PHRkIGRhdGEtY2xlYW49J01TRlR8TWljcm9zb2Z0IENvLic+PGEgY2xhc3M9ImJvbGRzeW1ib2wiIGhyZWY9Ii9zdG9ja3MvTkFTREFRL01TRlQvIj5NU0ZUPC9hPjxhIHJlbD0ibm9mb2xsb3ciIGhyZWY9Ii9zdG9ja3MvTkFTREFRL01TRlQvY2hhcnQvIj48aW1nIGNsYXNzPSdzcGFya2xpbmUnIGFsdD0nTVNGVCA5MC1kYXkgcGVyZm9ybWFuY2UnIHRpdGxlPSc5MC1kYXkgcGVyZm9ybWFuY2UnIHNyYz0iaHR0cHM6Ly93d3cubWFya2V0YmVhdC5jb20vU2NyaXB0cy9zcGFya2xpbmVzLmFzaHg/cHJlZml4PU5BU0RBUSZzeW1ib2w9TVNGVCI+PC9hPjxici8+TWljcm9zb2Z0PC90ZD48dGQgY2xhc3M9J2NoYW5nZWFibGUtY2VsbCcgc3R5bGU9Jy8qbWluLXdpZHRoOjE2NXB4Ki8nIGRhdGEtc29ydC12YWx1ZT0nMC4wMDQ4ODI2MjQ1OTExMTAyNScgZGF0YS1jbGVhbj0nJDQxNy43OXwrJDIuMDN8MC40OSUnPjxzdHJvbmc+JDQxNy43OTwvc3Ryb25nPjxici8+PHNwYW4gY2xhc3M9ImMtZ3JlZW4iPiskMi4wMyAoMC40OSUpPC9zcGFuPjwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0nMzQuNDcxMTIyMTEyMjExMic+MzQuNDc8L3RkPjx0ZD4wLjkxPC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPSczLjMyJz4kMy4zMiBwZXIgc2guPC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPSIyLjkzIiBkYXRhLWNsZWFuPSJNb2RlcmF0ZSBCdXl8Mi45MyI+PHN0cm9uZz5Nb2RlcmF0ZSBCdXk8L3N0cm9uZz48YnIvPjIuOTM8L3RkPjx0ZCBzdHlsZT0nLyptaW4td2lkdGg6MTYwcHgqLycgZGF0YS1zb3J0LXZhbHVlPSI1MDMuMDM0NDgyNzU4NjIxIj4kNTAzLjAzPC90ZD48dGQgY2xhc3M9J2NoYW5nZWFibGUtY2VsbCcgZGF0YS1zb3J0LXZhbHVlPScwLjIwNDAzNjY3NTc0Mjg4Nyc+PHNwYW4gY2xhc3M9ImMtZ3JlZW4iPjIwLjQwJSBVcHNpZGU8L3NwYW4+PC90ZD48dGQgc3R5bGU9J3RleHQtYWxpZ246cmlnaHQ7bWluLXdpZHRoOjE0NXB4O3BhZGRpbmc6NHB4IDhweCA0cHggMnB4OycgZGF0YS1oaWRlPjxkaXYgY2xhc3M9J250Zi1hcmVhJz48ZGl2IGNsYXNzPSdzZXR0aW5ncy1idXR0b24gc2hvd25vdGlmaWNhdGlvbnMgcGVuZGluZycgaWQ9IjIwMjQwNTAyMTEzMTAyMTMzX05BU0RBUV9NU0ZUIj48L2Rpdj48L2Rpdj48YnV0dG9uIHR5cGU9J2J1dHRvbicgZGF0YS10b2dnbGU9J21vZGFsJyBkYXRhLXRhcmdldD0nI1BhbmVsNCcgdGl0bGU9J0VkaXQgVGhpcyBIb2xkaW5nJyBjbGFzcz0nYnRuIGJ0bi1zZWNvbmRhcnkgcC0xIHNldHRpbmdzLWJ1dHRvbicgb25jbGljaz0nZWRpdEhvbGRpbmcoIjgwMjY2NjUiICwgIk5BU0RBUSIsICJNU0ZUIiAsICIwIiAsICIwLjAwIiAsICIyNTE5MzMwIiAsIGZhbHNlICwgZmFsc2UgLCB0cnVlICwgIlVTRCIsICIwLjAwIiwgIjAiICwgIjAiLCAiMCIsICIiLCAiTWljcm9zb2Z0IENvLiIsICI0MTcuNzkiLCAiMTEvMTkvMjAyNCIpJz48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS1wZW4tdG8tc3F1YXJlJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PC9zcGFuPjwvYnV0dG9uPiA8YnV0dG9uIHR5cGU9J2J1dHRvbicgZGF0YS10b2dnbGU9J21vZGFsJyBkYXRhLXRhcmdldD0nI1BhbmVsNicgdGl0bGU9J0RlbGV0ZSBUaGlzIEhvbGRpbmcnIGNsYXNzPSdidG4gYnRuLXNlY29uZGFyeSBwLTEgc2V0dGluZ3MtYnV0dG9uJyBvbmNsaWNrPSdkZWxldGVTdG9jaygiODAyNjY2NSIgLCAiTWljcm9zb2Z0IENvLiIpJz48c3BhbiBjbGFzcz0nZmEtcmVndWxhciBmYS10cmFzaC1jYW4nIGFyaWEtaGlkZGVuPSd0cnVlJz48L3NwYW4+PC9idXR0b24+PC90ZD48L3RyPjwvdGJvZHk+PHRmb290Pjx0cj48dGQgY29sc3Bhbj0nMTAnIGNsYXNzPSdmb290ZXItY2VsbCc+Tm8gaG9sZGluZyBzaXplcyBoYXZlIGJlZW4gYWRkZWQgdG8gdGhpcyB3YXRjaGxpc3QuIEVkaXQgaG9sZGluZ3MgYW5kIGFkZCB0aGUgbnVtYmVyIG9mIHVuaXRzIGhlbGQgaW4gb3JkZXIgdG8gc2VlIHdhdGNobGlzdCB0b3RhbHMuPC90ZD48L3RyPjwvdGZvb3Q+PC90YWJsZT5kAqwBDw8WAh8BZ2QWAgIBDxBkEBUGFFNlbGVjdCBhIEJ1bGsgQWN0aW9uFURlbGV0ZSBUaGVzZSBIb2xkaW5ncyZFbmFibGUgRW1haWwgQWxlcnRzIGZvciBUaGVzZSBIb2xkaW5ncydEaXNhYmxlIEVtYWlsIEFsZXJ0cyBmb3IgVGhlc2UgSG9sZGluZ3MnTW92ZSBIb2xkaW5ncyB0byAnTXkgRGVmYXVsdCBXYXRjaGxpc3QnIE1vdmUgSG9sZGluZ3MgdG8gYSBOZXcgV2F0Y2hsaXN0FQYBMApidWxrRGVsZXRlD2J1bGtFbmFibGVFbWFpbBBidWxrRGlzYWJsZUVtYWlsD2J1bGtNb3ZlMjUxOTMzMAtidWxrTW92ZU5ldxQrAwZnZ2dnZ2dkZAKuAQ8WAh8ABfQBPGRpdiBzdHlsZT0ncGFkZGluZzogNnB4IDEwcHggOHB4O21hcmdpbi1ib3R0b206IDEwcHg7Ym9yZGVyLXJhZGl1czogMnB4OycgY2xhc3M9J2JnLWxpZ2h0LXJlZCBjLWRhcmstcmVkJz5Gb3Igc3RhdGlzdGljcyB0byBiZSBjYWxjdWxhdGVkIGZvciB0aGlzIHBvcnRmb2xpbywgeW91IG11c3QgZWRpdCB0aGUgZGV0YWlscyBvZiB0aGUgaG9sZGluZ3MsIGFkZGluZyB0aGUgbnVtYmVyIG9mIHNoYXJlcyB5b3Ugb3duLjwvZGl2PmQCsAEPFgIfAWgWAgIHDxYCHwFnZAKyAQ9kFgICAg8WAh8ABacBPHNjcmlwdD4gdmFyIFNjcnBSZXN0cmljdCA9ICI2Q0NENkZDOThFNTdFNTE2MDVFNEM3RkYwNzdERkI0OTg0OTA2RTE1MTQ5NTgxMzUxMkI5M0VBNEM2NUI5OENENUEyQTNEREEyMDUzNkEzRkREREIxMURBQUVBRTk1QTZGMjAzMTAyODU3OUE4NTUyQzQxMDY0M0U1M0NENjU3RSI8L3NjcmlwdD5kArQBDxYCHwAFA04vQWQCtgEPFgIfAAUDTi9BZAK4AQ8WAh8ABQNOL0FkAroBDxYCHwAFA04vQWQCvAEPFgIfAAWiAzx0cj48dGQ+TWljcm9zb2Z0ICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9NU0ZULyc+TVNGVDwvYT4pPC90ZD48dGQ+MC43OSU8L3RkPjwvdHI+PHRyPjx0ZD5BbHBoYWJldCAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvR09PR0wvJz5HT09HTDwvYT4pPC90ZD48dGQ+MC40NSU8L3RkPjwvdHI+PHRyPjx0ZD5BcHBsZSAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvQUFQTC8nPkFBUEw8L2E+KTwvdGQ+PHRkPjAuNDQlPC90ZD48L3RyPjx0cj48dGQ+TWV0YSBQbGF0Zm9ybXMgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL01FVEEvJz5NRVRBPC9hPik8L3RkPjx0ZD4wLjM2JTwvdGQ+PC90cj48dHI+PHRkPkFtYXpvbi5jb20gKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0FNWk4vJz5BTVpOPC9hPik8L3RkPjx0ZD4wLjEwJTwvdGQ+PC90cj5kAr4BDxYCHwAF8wE8dHI+PHRkPk1pY3Jvc29mdCAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvTVNGVC8nPk1TRlQ8L2E+KTwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0nMjAyNDEyMTIwMDAwMDAnPjEyLzEyLzIwMjQ8L3RkPjwvdHI+PHRyPjx0ZD5BbHBoYWJldCAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvR09PR0wvJz5HT09HTDwvYT4pPC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPScyMDI0MTIxNjAwMDAwMCc+MTIvMTYvMjAyNDwvdGQ+PC90cj5kAsABDxYCHwAF9AE8ZGl2IHN0eWxlPSdwYWRkaW5nOiA2cHggMTBweCA4cHg7bWFyZ2luLWJvdHRvbTogMTBweDtib3JkZXItcmFkaXVzOiAycHg7JyBjbGFzcz0nYmctbGlnaHQtcmVkIGMtZGFyay1yZWQnPkZvciBzdGF0aXN0aWNzIHRvIGJlIGNhbGN1bGF0ZWQgZm9yIHRoaXMgcG9ydGZvbGlvLCB5b3UgbXVzdCBlZGl0IHRoZSBkZXRhaWxzIG9mIHRoZSBob2xkaW5ncywgYWRkaW5nIHRoZSBudW1iZXIgb2Ygc2hhcmVzIHlvdSBvd24uPC9kaXY+ZALCAQ8WAh8ABTQ8c2NyaXB0PnZhciBwb3J0Zm9saW9TZWN0b3JBbGxvY2F0aW9uID0gW107PC9zY3JpcHQ+ZALEAQ8WAh8ABc4HPHNjcmlwdD52YXIgbWJTZWN0b3JBbGxvY2F0aW9uID0gW3sgbmFtZTogJ0NvbXB1dGVyIGFuZCBUZWNobm9sb2d5JywgYW1vdW50OiAwLjI1ODg1NzMyNTQwOTU0NyB9LHsgbmFtZTogJ0ZpbmFuY2UnLCBhbW91bnQ6IDAuMTAxOTg3MjExMjExMzMgfSx7IG5hbWU6ICdNZWRpY2FsJywgYW1vdW50OiAwLjA3NTg1NzEzMDUzNzY0NDYgfSx7IG5hbWU6ICdNYW51YWwgQXNzZXQnLCBhbW91bnQ6IDAuMDcyMTI2MjM4MjA4ODIwMyB9LHsgbmFtZTogJ1JldGFpbC9XaG9sZXNhbGUnLCBhbW91bnQ6IDAuMDY4NjgxNDUwMjUwNTQ4NyB9LHsgbmFtZTogJ09pbHMvRW5lcmd5JywgYW1vdW50OiAwLjA2MTIzMzcxMzM3Nzk5NzggfSx7IG5hbWU6ICdFVEYnLCBhbW91bnQ6IDAuMDU4MjgyMjkzNjczNTc4OSB9LHsgbmFtZTogJ0NyeXB0b2N1cnJlbmN5JywgYW1vdW50OiAwLjA1MTk2NjQ5OTk5NzkyMjkgfSx7IG5hbWU6ICdDb25zdW1lciBEaXNjcmV0aW9uYXJ5JywgYW1vdW50OiAwLjAzMzI0MjcyNjEwOTMxMjcgfSx7IG5hbWU6ICdUcmFuc3BvcnRhdGlvbicsIGFtb3VudDogMC4wMzAxODQzMDk5MTIyNTQ5IH0seyBuYW1lOiAnQnVzaW5lc3MgU2VydmljZXMnLCBhbW91bnQ6IDAuMDI4MzU2NTEyMTYyNjMzNiB9LHsgbmFtZTogJ0Jhc2ljIE1hdGVyaWFscycsIGFtb3VudDogMC4wMjM4NzY4ODg1OTI0MDA4IH0seyBuYW1lOiAnQ29uc3VtZXIgU3RhcGxlcycsIGFtb3VudDogMC4wMjE2MDIzMDEzNDc2Mjg4IH0seyBuYW1lOiAnQXV0by9UaXJlcy9UcnVja3MnLCBhbW91bnQ6IDAuMDIwODY0MTU0ODc5NDYzMiB9LHsgbmFtZTogJ0ZpbmFuY2lhbCBTZXJ2aWNlcycsIGFtb3VudDogMC4wMTc1MjgxNDI0ODExNDU2IH0seyBuYW1lOiAnSW5kdXN0cmlhbCBQcm9kdWN0cycsIGFtb3VudDogMC4wMTUwMzAyODE0MjA2NTgxIH0seyBuYW1lOiAnT3RoZXInLCBhbW91bnQ6IDAuMDYwMzIyODIwNDI3MTEyMSB9XTs8L3NjcmlwdD5kAsYBDxYCHwAFNzxzY3JpcHQ+dmFyIFBlcnNvbmFsQXNzZXRDbGFzc0FsbG9jYXRpb24gPSBbXTs8L3NjcmlwdD5kAsgBDxYCHwAF9gE8c2NyaXB0PnZhciBtYkFzc2V0Q2xhc3NBbGxvY2F0aW9uID0gW3sgbmFtZTogJ1N0b2NrJywgYW1vdW50OiAwLjgxNzYyNDk2ODExOTcxOSB9LHsgbmFtZTogJ01hbnVhbCBBc3NldHMnLCBhbW91bnQ6IDAuMDcyMTI2MjM4MjA4ODA0MSB9LHsgbmFtZTogJ0VURicsIGFtb3VudDogMC4wNTgyODIyOTM2NzM1NjU2IH0seyBuYW1lOiAnQ3J5cHRvY3VycmVuY3knLCBhbW91bnQ6IDAuMDUxOTY2NDk5OTk3OTExMyB9XTs8L3NjcmlwdD5kAsoBDxYCHwAFjgM8dHI+PHRkPkFwcGxlICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9BQVBMLyc+QUFQTDwvYT4pPC90ZD48dGQ+LTwvdGQ+PC90cj48dHI+PHRkPkFtYXpvbi5jb20gKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0FNWk4vJz5BTVpOPC9hPik8L3RkPjx0ZD4tPC90ZD48L3RyPjx0cj48dGQ+QWxwaGFiZXQgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0dPT0dMLyc+R09PR0w8L2E+KTwvdGQ+PHRkPi08L3RkPjwvdHI+PHRyPjx0ZD5NZXRhIFBsYXRmb3JtcyAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvTUVUQS8nPk1FVEE8L2E+KTwvdGQ+PHRkPi08L3RkPjwvdHI+PHRyPjx0ZD5NaWNyb3NvZnQgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL01TRlQvJz5NU0ZUPC9hPik8L3RkPjx0ZD4tPC90ZD48L3RyPmQCzAEPFgIfAAXEBjx0cj48dGQ+QXBwbGUgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0FBUEwvJz5BQVBMPC9hPik8L3RkPjx0ZD41Ljc0JTwvdGQ+PC90cj48dHI+PHRkPk1pY3Jvc29mdCAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvTVNGVC8nPk1TRlQ8L2E+KTwvdGQ+PHRkPjMuOTclPC90ZD48L3RyPjx0cj48dGQ+TWV0YSBQbGF0Zm9ybXMgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL01FVEEvJz5NRVRBPC9hPik8L3RkPjx0ZD4yLjUxJTwvdGQ+PC90cj48dHI+PHRkPkFtYXpvbi5jb20gKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0FNWk4vJz5BTVpOPC9hPik8L3RkPjx0ZD4xLjY2JTwvdGQ+PC90cj48dHI+PHRkPk5WSURJQSAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvTlZEQS8nPk5WREE8L2E+KTwvdGQ+PHRkPjEuNjIlPC90ZD48L3RyPjx0cj48dGQ+VGVzbGEgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL1RTTEEvJz5UU0xBPC9hPik8L3RkPjx0ZD4xLjMxJTwvdGQ+PC90cj48dHI+PHRkPkdlbmVyYWwgRWxlY3RyaWMgKDxhIGhyZWY9Jy9zdG9ja3MvTllTRS9HRS8nPkdFPC9hPik8L3RkPjx0ZD4xLjI5JTwvdGQ+PC90cj48dHI+PHRkPkFscGhhYmV0ICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9HT09HTC8nPkdPT0dMPC9hPik8L3RkPjx0ZD4xLjA1JTwvdGQ+PC90cj48dHI+PHRkPkFkdmFuY2VkIE1pY3JvIERldmljZXMgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0FNRC8nPkFNRDwvYT4pPC90ZD48dGQ+MS4wNSU8L3RkPjwvdHI+PHRyPjx0ZD5OZXRmbGl4ICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9ORkxYLyc+TkZMWDwvYT4pPC90ZD48dGQ+MC43MSU8L3RkPjwvdHI+ZALOAQ8WAh8ABQNOL0FkAtIBDxYCHwAFogM8dHI+PHRkPkFtYXpvbi5jb20gKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0FNWk4vJz5BTVpOPC9hPik8L3RkPjx0ZD40My44MTwvdGQ+PC90cj48dHI+PHRkPkFwcGxlICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9BQVBMLyc+QUFQTDwvYT4pPC90ZD48dGQ+MzcuNTU8L3RkPjwvdHI+PHRyPjx0ZD5NaWNyb3NvZnQgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL01TRlQvJz5NU0ZUPC9hPik8L3RkPjx0ZD4zNC40NzwvdGQ+PC90cj48dHI+PHRkPk1ldGEgUGxhdGZvcm1zICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9NRVRBLyc+TUVUQTwvYT4pPC90ZD48dGQ+MjYuNDM8L3RkPjwvdHI+PHRyPjx0ZD5BbHBoYWJldCAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvR09PR0wvJz5HT09HTDwvYT4pPC90ZD48dGQ+MjMuNjI8L3RkPjwvdHI+ZALUAQ8WAh8ABaIDPHRyPjx0ZD5BbHBoYWJldCAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvR09PR0wvJz5HT09HTDwvYT4pPC90ZD48dGQ+MjMuNjI8L3RkPjwvdHI+PHRyPjx0ZD5NZXRhIFBsYXRmb3JtcyAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvTUVUQS8nPk1FVEE8L2E+KTwvdGQ+PHRkPjI2LjQzPC90ZD48L3RyPjx0cj48dGQ+TWljcm9zb2Z0ICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9NU0ZULyc+TVNGVDwvYT4pPC90ZD48dGQ+MzQuNDc8L3RkPjwvdHI+PHRyPjx0ZD5BcHBsZSAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvQUFQTC8nPkFBUEw8L2E+KTwvdGQ+PHRkPjM3LjU1PC90ZD48L3RyPjx0cj48dGQ+QW1hem9uLmNvbSAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvQU1aTi8nPkFNWk48L2E+KTwvdGQ+PHRkPjQzLjgxPC90ZD48L3RyPmQC1gEPFgIfAAUDTi9BZALaAQ8WAh8ABZ0DPHRyPjx0ZD5BcHBsZSAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvQUFQTC8nPkFBUEw8L2E+KTwvdGQ+PHRkPjEuMjQ8L3RkPjwvdHI+PHRyPjx0ZD5NZXRhIFBsYXRmb3JtcyAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvTUVUQS8nPk1FVEE8L2E+KTwvdGQ+PHRkPjEuMjI8L3RkPjwvdHI+PHRyPjx0ZD5BbWF6b24uY29tICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9BTVpOLyc+QU1aTjwvYT4pPC90ZD48dGQ+MS4xNDwvdGQ+PC90cj48dHI+PHRkPkFscGhhYmV0ICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9HT09HTC8nPkdPT0dMPC9hPik8L3RkPjx0ZD4xLjAzPC90ZD48L3RyPjx0cj48dGQ+TWljcm9zb2Z0ICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9NU0ZULyc+TVNGVDwvYT4pPC90ZD48dGQ+MC45MTwvdGQ+PC90cj5kAtwBDxYCHwAFnQM8dHI+PHRkPk1pY3Jvc29mdCAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvTVNGVC8nPk1TRlQ8L2E+KTwvdGQ+PHRkPjAuOTE8L3RkPjwvdHI+PHRyPjx0ZD5BbHBoYWJldCAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvR09PR0wvJz5HT09HTDwvYT4pPC90ZD48dGQ+MS4wMzwvdGQ+PC90cj48dHI+PHRkPkFtYXpvbi5jb20gKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0FNWk4vJz5BTVpOPC9hPik8L3RkPjx0ZD4xLjE0PC90ZD48L3RyPjx0cj48dGQ+TWV0YSBQbGF0Zm9ybXMgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL01FVEEvJz5NRVRBPC9hPik8L3RkPjx0ZD4xLjIyPC90ZD48L3RyPjx0cj48dGQ+QXBwbGUgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0FBUEwvJz5BQVBMPC9hPik8L3RkPjx0ZD4xLjI0PC90ZD48L3RyPmQC3gEPFgIfAAUOJDIuNDYgdHJpbGxpb25kAuABDxYCHwAFjwM8ZGl2IGNsYXNzPSJtZXRlciBtZXRlci1nb2xkIj48ZGl2PjxwIGNsYXNzPSdzdGF0LXNsaWRlci1tYXJrZXIgdG9wLXN0YXQtbWFya2VyJyBzdHlsZT0ibGVmdDogODUuOCUiPk15IEF2ZXJhZ2UgTWFya2V0IENhcDxiciAvPiYjeDI1QkM7PGJyIC8+PHNwYW4gY2xhc3M9InN0YXQtc2xpZGVyLW51bWJlciI+JDIuNDYgdHJpbGxpb248L3NwYW4+PC9wPjxwIGNsYXNzPSdzdGF0LXNsaWRlci1tYXJrZXIgYm90dG9tLXN0YXQtbWFya2VyJyBzdHlsZT0ibGVmdDogMTQuMiUiPjxzcGFuIGNsYXNzPSJzdGF0LXNsaWRlci1udW1iZXIiPiQ1OTEuMjAgYmlsbGlvbjwvc3Bhbj48YnIgLz4mI3gyNUIyOzxiciAvPkF2ZXJhZ2UgTWFya2V0QmVhdDxiciAvPlVzZXIgTWFya2V0IENhcDwvcD48L2Rpdj48L2Rpdj5kAuIBDxYCHwAF6AQ8dHI+PHRkPkFwcGxlICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9BQVBMLyc+QUFQTDwvYT4pPC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPSczNDUwNjM5LjM5Jz4gJDMuNDUgdHJpbGxpb248L3RkPjwvdHI+PHRyPjx0ZD5NaWNyb3NvZnQgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL01TRlQvJz5NU0ZUPC9hPik8L3RkPjx0ZCBkYXRhLXNvcnQtdmFsdWU9JzMxMDYyMTguOTMzJz4gJDMuMTEgdHJpbGxpb248L3RkPjwvdHI+PHRyPjx0ZD5BbHBoYWJldCAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvR09PR0wvJz5HT09HTDwvYT4pPC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPScyMTgwMzY2LjkyJz4gJDIuMTggdHJpbGxpb248L3RkPjwvdHI+PHRyPjx0ZD5BbWF6b24uY29tICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9BTVpOLyc+QU1aTjwvYT4pPC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPScyMTUxNDc2LjQwMSc+ICQyLjE1IHRyaWxsaW9uPC90ZD48L3RyPjx0cj48dGQ+TWV0YSBQbGF0Zm9ybXMgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL01FVEEvJz5NRVRBPC9hPik8L3RkPjx0ZCBkYXRhLXNvcnQtdmFsdWU9JzE0MTY0NjYuMDk0Jz4gJDEuNDIgdHJpbGxpb248L3RkPjwvdHI+ZALkAQ8WAh8ABeMEPHRyPjx0ZD5NZXRhIFBsYXRmb3JtcyAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvTUVUQS8nPk1FVEE8L2E+KTwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0nMTQxNjQ2Ni4wOTQnPiQxLjQyIHRyaWxsaW9uPC90ZD48L3RyPjx0cj48dGQ+QW1hem9uLmNvbSAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvQU1aTi8nPkFNWk48L2E+KTwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0nMjE1MTQ3Ni40MDEnPiQyLjE1IHRyaWxsaW9uPC90ZD48L3RyPjx0cj48dGQ+QWxwaGFiZXQgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0dPT0dMLyc+R09PR0w8L2E+KTwvdGQ+PHRkIGRhdGEtc29ydC12YWx1ZT0nMjE4MDM2Ni45Mic+JDIuMTggdHJpbGxpb248L3RkPjwvdHI+PHRyPjx0ZD5NaWNyb3NvZnQgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL01TRlQvJz5NU0ZUPC9hPik8L3RkPjx0ZCBkYXRhLXNvcnQtdmFsdWU9JzMxMDYyMTguOTMzJz4kMy4xMSB0cmlsbGlvbjwvdGQ+PC90cj48dHI+PHRkPkFwcGxlICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9BQVBMLyc+QUFQTDwvYT4pPC90ZD48dGQgZGF0YS1zb3J0LXZhbHVlPSczNDUwNjM5LjM5Jz4kMy40NSB0cmlsbGlvbjwvdGQ+PC90cj5kAuYBDxYCHwAFBjEzLjUzJWQC6AEPFgIfAAWiAzxkaXYgY2xhc3M9Im1ldGVyIG1ldGVyLWdyZWVuIj48ZGl2PjxwIGNsYXNzPSdzdGF0LXNsaWRlci1tYXJrZXIgdG9wLXN0YXQtbWFya2VyJyBzdHlsZT0ibGVmdDogMTUuNyUiPk15IEF2ZXJhZ2UgRm9yZWNhc3RlZDxicj5FYXJuaW5ncyBHcm93dGg8YnIgLz4mI3gyNUJDOzxiciAvPjxzcGFuIGNsYXNzPSJzdGF0LXNsaWRlci1udW1iZXIiPjEzLjUzJTwvc3Bhbj48L3A+PHAgY2xhc3M9J3N0YXQtc2xpZGVyLW1hcmtlciBib3R0b20tc3RhdC1tYXJrZXInIHN0eWxlPSJsZWZ0OiA3NS40JSI+PHNwYW4gY2xhc3M9InN0YXQtc2xpZGVyLW51bWJlciI+MjEuMjQlPC9zcGFuPjxiciAvPiYjeDI1QjI7PGJyIC8+QXZlcmFnZSBNYXJrZXRCZWF0IFVzZXI8YnIgLz5Gb3JlY2FzdGVkIEVhcm5pbmdzIEdyb3d0aDwvcD48L2Rpdj48L2Rpdj5kAuoBDxYCHwAFpwM8dHI+PHRkPkFtYXpvbi5jb20gKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0FNWk4vJz5BTVpOPC9hPik8L3RkPjx0ZD4xNy42NSU8L3RkPjwvdHI+PHRyPjx0ZD5NaWNyb3NvZnQgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL01TRlQvJz5NU0ZUPC9hPik8L3RkPjx0ZD4xNC4zNyU8L3RkPjwvdHI+PHRyPjx0ZD5BcHBsZSAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvQUFQTC8nPkFBUEw8L2E+KTwvdGQ+PHRkPjEyLjc5JTwvdGQ+PC90cj48dHI+PHRkPkFscGhhYmV0ICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9HT09HTC8nPkdPT0dMPC9hPik8L3RkPjx0ZD4xMS41MSU8L3RkPjwvdHI+PHRyPjx0ZD5NZXRhIFBsYXRmb3JtcyAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvTUVUQS8nPk1FVEE8L2E+KTwvdGQ+PHRkPjExLjMyJTwvdGQ+PC90cj5kAuwBDxYCHwAFpwM8dHI+PHRkPk1ldGEgUGxhdGZvcm1zICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9NRVRBLyc+TUVUQTwvYT4pPC90ZD48dGQ+MTEuMzIlPC90ZD48L3RyPjx0cj48dGQ+QWxwaGFiZXQgKDxhIGhyZWY9Jy9zdG9ja3MvTkFTREFRL0dPT0dMLyc+R09PR0w8L2E+KTwvdGQ+PHRkPjExLjUxJTwvdGQ+PC90cj48dHI+PHRkPkFwcGxlICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9BQVBMLyc+QUFQTDwvYT4pPC90ZD48dGQ+MTIuNzklPC90ZD48L3RyPjx0cj48dGQ+TWljcm9zb2Z0ICg8YSBocmVmPScvc3RvY2tzL05BU0RBUS9NU0ZULyc+TVNGVDwvYT4pPC90ZD48dGQ+MTQuMzclPC90ZD48L3RyPjx0cj48dGQ+QW1hem9uLmNvbSAoPGEgaHJlZj0nL3N0b2Nrcy9OQVNEQVEvQU1aTi8nPkFNWk48L2E+KTwvdGQ+PHRkPjE3LjY1JTwvdGQ+PC90cj5kAu4BD2QWAmYPZBYCAgMPZBYEAgEPEGRkFgECAWQCBQ8WAh8BZxYCAgEPFgIfAAW+AjxkaXYgY2xhc3M9J21vcmVpbmZvIGJnLXdoaXRlJyB0YWJpbmRleD0nMCc+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtY2lyY2xlLXF1ZXN0aW9uIGMtZ3JheScgYXJpYS1oaWRkZW49J3RydWUnPjwvc3Bhbj48c3BhbiBjbGFzcz0ndG9vbHRpcHRleHQgZGFyay1tb2RlIHRvcHRpcCcgaWQ9J3Rvb2x0aXAtbWVkaWFzZW50aW1lbnQnPlNlbnRpbWVudCByZWZlcnMgdG8gdGhlIHBvc2l0aXZpdHkgb3IgbmVnYXRpdml0eSBvZiBlYWNoIGhlYWRsaW5lIGFjY29yZGluZyB0byBvdXIgbGFuZ3VhZ2UgcHJvY2Vzc2luZyBhbGdvcml0aG0uPC9zcGFuPjwvZGl2PmQC8AEPFgIfAAXkBDxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5mdW5jdGlvbiBMb2FkU3RvY2t0d2l0cygpIHt2YXIgUGFuZWxXaWR0aCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdG9ja3R3aXRzLXdpZGdldC1uZXdzJykub2Zmc2V0V2lkdGg7U1RXVC5XaWRnZXQoeyBjb250YWluZXI6ICdzdG9ja3R3aXRzLXdpZGdldC1uZXdzJywgc3ltYm9sOiAnR09PR0wsQU1aTixBQVBMLE1FVEEsTVNGVCcsIHdpZHRoOiBQYW5lbFdpZHRoLCBoZWlnaHQ6ICc4MDAnLCBsaW1pdDogJzIwMCcsIHNjcm9sbGJhcnM6ICd0cnVlJywgc3RyZWFtaW5nOiAndHJ1ZScsIHRpdGxlOiAnJywgc3R5bGU6IHsgbGlua19jb2xvcjogJzQ4NzFhOCcsIGxpbmtfaG92ZXJfY29sb3I6ICc0ODcxYTgnLCBoZWFkZXJfdGV4dF9jb2xvcjogJzAwMDAwMCcsIGJvcmRlcl9jb2xvcjogJ2NlY2VjZScsIGRpdmlkZXJfY29sb3I6ICdjZWNlY2UnLCBkaXZpZGVyX2NvbG9yOiAnY2VjZWNlJywgZGl2aWRlcl90eXBlOiAnc29saWQnLCBib3hfY29sb3I6ICdmNWY1ZjUnLCBzdHJlYW1fY29sb3I6ICdmZmZmZmYnLCB0ZXh0X2NvbG9yOiAnMDAwMDAwJywgdGltZV9jb2xvcjogJzk5OTk5OScgfSB9KTt9Ozwvc2NyaXB0PmQC8gEPZBYCAgEPEGQPFghmAgECAgIDAgQCBQIGAgcWCBAFF01hcmtldEJlYXQgRGFpbHkgKEZyZWUpBQxEYWlseVJhdGluZ3NnEAUWRWFybmluZ3MzNjAgTmV3c2xldHRlcgUSRWFybmluZ3NUaHJlZVNpeHR5ZxAFGUluc2lkZXIgVHJhZGVzIE5ld3NsZXR0ZXIFDUluc2lkZXJUcmFkZXNnEAUaRGl2aWRlbmQgU3RvY2tzIE5ld3NsZXR0ZXIFD0RpdmlkZW5kQWR2aXNvcmcQBRVNYXJrZXRCZWF0IENyeXB0b0JlYXQFCkNyeXB0b0JlYXRnEAUXTWFya2V0QmVhdCBEYWlseSBDYW5hZGEFC0RhaWx5Q2FuYWRhZxAFDlRoZSBFYXJseSBCaXJkBQlFYXJseUJpcmRnEAUNVGhlIE5pZ2h0IE93bAUITmlnaHRPd2xnZGQC9AEPFgIfAAXuAjxici8+PHNwYW4gY2xhc3M9ImMtcmVkIj5Zb3UgaGF2ZSByZWFjaGVkIHRoZSBsaW1pdCBvZiBmaXZlIHN0b2NrcyBvbiB5b3VyIHdhdGNobGlzdCB3aXRoIHlvdXIgZnJlZSBzdWJzY3JpcHRpb24uIEluIG9yZGVyIHRvIGFkZCBtb3JlIHN0b2NrcyB0byB5b3VyIHdhdGNobGlzdCwgZGVsZXRlIG9uZSBvZiB5b3VyIGV4aXN0aW5nIHN0b2NrcyBvciA8YSBjbGFzcz0iYy1yZWQiIGhyZWY9J2h0dHBzOi8vd3d3Lm1hcmtldGJlYXQuY29tL3N1YnNjcmliZS9hbGwtYWNjZXNzLz9Vc2VySUQ9MTE0MDQ5NjImUmVmZXJyYWxUeXBlPVdhdGNobGlzdHNQYWdlTm90aWNlJz5VcGdyYWRlIHRvIE1hcmtldEJlYXQgQWxsIEFjY2VzczwvYT4uPC9zcGFuPmQCBw8WAh8ABYICPGEgaHJlZj0nIycgY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IGQtZmxleCBkLXNtLWlubGluZS1mbGV4IG1iLTEiICBvbmNsaWNrPSJlQ1NWKCdQb3J0Zm9saW9FeHBvcnQtQWxsIFdhdGNobGlzdHMtMjAyNC0xMS0xOS0xMC00NC5jc3YnKTsgcmV0dXJuIGZhbHNlOyI+PHNwYW4gY2xhc3M9J2ZhLXJlZ3VsYXIgZmEtZmlsZS1leGNlbCBtci0yJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PC9zcGFuPkV4cG9ydCBQb3J0Zm9saW8ocykgKENTVi9FeGNlbCk8L2E+ZAILD2QWBGYPFgIfAAWmKzxzY3JpcHQ+dmFyIGNoYXJ0QWxyZWFkeURyYXduID0gZmFsc2U7DQp2YXIgcGVyZm9ybWFuY2VDaGFydEFscmVhZHlEcmF3biA9IGZhbHNlOw0KZnVuY3Rpb24gTG9hZERvdWdobnV0KERhdGFQb2ludHMsIFNlY3RvclRleHQpIHsNCiAgICBpZiAoIWNoYXJ0QWxyZWFkeURyYXduKSB7DQogICAgICAgIGlmIChEYXRhUG9pbnRzID09PSAnJykgew0KICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpLmhlaWdodCA9IDI1Ow0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpLmhlaWdodCA9IDI3NTsNCiAgICAgICAgICAgIHZhciBjb25maWcgPSB7DQogICAgICAgICAgICAgICAgdHlwZTogJ2RvdWdobnV0JywNCiAgICAgICAgICAgICAgICBkYXRhOiB7DQogICAgICAgICAgICAgICAgICAgIGRhdGFzZXRzOiBbew0KICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogRGF0YVBvaW50cy5zcGxpdCgnLCcpLm1hcChOdW1iZXIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBbJyNCMkVDRkYnLCAnIzZEREZGRicsICcjMDBCQUZGJywgJyMwMDk2REYnLCAnIzAwNzdCNCcsICcjMDA1ODgyJywgJyMwMDQ3NjgnLCAnIzAwMzQ1QScsICcjMDEyNjQxJyBdIA0KICAgICAgICAgICAgICAgICAgICB9XSwNCiAgICAgICAgICAgICAgICAgICAgbGFiZWxzOiBTZWN0b3JUZXh0DQogICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHRydWUsIGxlZ2VuZDogZmFsc2UsIGFuaW1hdGlvbjogeyBhbmltYXRlU2NhbGU6IHRydWUsIGFuaW1hdGVSb3RhdGU6IHRydWUgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH07DQogICAgICAgICAgICB2YXIgY3R4ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NhbnZhcycpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgICAgICB3aW5kb3cubXlEb3VnaG51dCA9IG5ldyBDaGFydChjdHgsIGNvbmZpZyk7DQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnanMtbGVnZW5kJykuaW5uZXJIVE1MID0gbXlEb3VnaG51dC5nZW5lcmF0ZUxlZ2VuZCgpOw0KICAgICAgICAgICAgY2hhcnRBbHJlYWR5RHJhd24gPSB0cnVlOw0KICAgICAgICB9DQogICAgfQ0KfSANCmZ1bmN0aW9uIExvYWRQZXJmb3JtYW5jZUdyYXBoKCkgew0KICAgIGlmICghcGVyZm9ybWFuY2VDaGFydEFscmVhZHlEcmF3bikgew0KICAgICAgICAgICAgLy9pbml0aWFsIGNoYXJ0IGNvbmZpZyB3aXRoIGR1bW15IGRhdGENCiAgICAgICAgICAgIHZhciBjb25maWcgPSB7DQogICAgICAgICAgICAgICAgdHlwZTogJ2xpbmUnLA0KICAgICAgICAgICAgICAgIGRhdGE6IHsNCiAgICAgICAgICAgICAgICAgICAgZGF0YXNldHM6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogW3sgeDogbmV3IERhdGUoMjAxOSwgMSwgMSksIHk6IDAgfSwgeyB4OiBuZXcgRGF0ZSgyMDE5LCAyLCAxKSwgeTogMCB9XSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6ICdNeSBQb3J0Zm9saW8nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyMwMDU4ODInLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzAwNTg4MicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogJyMwMDU4ODInLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiAnIzAwNTg4MicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogJyMwMDU4ODInLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogJyMwMDU4ODInLA0KICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiBbeyB4OiBuZXcgRGF0ZSgyMDE5LCAxLCAxKSwgeTogMCB9LCB7IHg6IG5ldyBEYXRlKDIwMTksIDIsIDEpLCB5OiAwIH1dLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiAnU3RvY2sgSW5kZXgnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyMxRDFFMUYnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yOiAnIzFEMUUxRicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRCb3JkZXJDb2xvcjogJyMxRDFFMUYnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50QmFja2dyb3VuZENvbG9yOiAnIzFEMUUxRicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRIb3ZlckJhY2tncm91bmRDb2xvcjogJyMxRDFFMUYnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50SG92ZXJCb3JkZXJDb2xvcjogJyMxRDFFMUYnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHM6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VQb2ludFN0eWxlOiB0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHRpdGxlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ1BlcmZvcm1hbmNlIENvbXBhcmlzb24nDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIHNjYWxlczogew0KICAgICAgICAgICAgICAgICAgICAgICAgeEF4ZXM6IFt7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RpbWUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVMYWJlbDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbFN0cmluZzogJ0RhdGUnDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH1dLA0KICAgICAgICAgICAgICAgICAgICAgICAgeUF4ZXM6IFt7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2FsZUxhYmVsOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsU3RyaW5nOiAnJSBSZXR1cm4nDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWNrczogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjazogZnVuY3Rpb24gKGxhYmVsLCBpbmRleCwgbGFiZWxzKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTWF0aC5yb3VuZChsYWJlbCAqIDEwMCkgKyAnJSc7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAibGVmdCIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6ICJ5UmV0dXJuIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIF0NCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgbGVnZW5kOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICB0b29sdGlwczogew0KICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IGZ1bmN0aW9uICh0b29sdGlwSXRlbSwgZGF0YSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHRvb2x0aXBJdGVtLnlMYWJlbCoxMDApLnRvRml4ZWQoMikgKyAiJSI7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogZnVuY3Rpb24gKHRvb2x0aXBJdGVtcywgZGF0YSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IERhdGUocGFyc2VGbG9hdCh0b29sdGlwSXRlbXNbMF0ueExhYmVsKSkudG9Mb2NhbGVEYXRlU3RyaW5nKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBob3Zlcjogew0KICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJzZWN0OiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiB7IGFuaW1hdGVTY2FsZTogdHJ1ZSwgYW5pbWF0ZVJvdGF0ZTogdHJ1ZSB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfTsgIC8vY29uZmlnDQogICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2FudmFzcHAnKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOw0KICAgICAgICAgICAgdmFyIGN0eCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYW52YXNwcCcpLmdldENvbnRleHQoJzJkJyk7DQogICAgICAgICAgICB3aW5kb3cubXlQZXJmb3JtYW5jZUNoYXJ0ID0gbmV3IENoYXJ0KGN0eCwgY29uZmlnKTsNCiAgICAgICAgICAgIHdpbmRvdy5teVBlcmZvcm1hbmNlQ2hhcnQudXBkYXRlKCk7DQogICAgICAgICAgICBwZXJmb3JtYW5jZUNoYXJ0QWxyZWFkeURyYXduID0gdHJ1ZTsNCiAgICB9DQp9IA0KDQpmdW5jdGlvbiBMb2FkR3JhcGhzKERhdGFQb2ludHMsIFNlY3RvclRleHQpIHsNCiAgICB0cnkgew0KICAgICAgICBMb2FkUGVyZm9ybWFuY2VHcmFwaCgpOw0KICAgIH0gY2F0Y2ggKGVycikgew0KICAgICAgICAvL2FsZXJ0KGVycik7DQogICAgICAgIC8vYWxlcnQoZXJyLnN0YWNrKTsNCiAgICB9IA0KDQogICAgdHJ5IHsNCiAgICAgICAgTG9hZERvdWdobnV0KERhdGFQb2ludHMsIFNlY3RvclRleHQpOw0KICAgIH0gY2F0Y2ggKGVycikgew0KICAgICAgICAvL2FsZXJ0KGVycik7DQogICAgfSANCiAgICANCiAgICANCn08L3NjcmlwdD5kAgEPFgIfAAWHCzxzY3JpcHQ+ZnVuY3Rpb24gc2hvd05vdGlmaWNhdGlvbnMoUHJlZml4LCBTeW1ib2wsIFZpZXdlZFRocm91Z2gsIGVsZW1lbnQpIHsgJC5nZXQoJy9TY3JpcHRzL05vdGlmaWNhdGlvbnNIZWxwZXJzLmFzaHg/Y29tbWFuZD13YXRjaGxpc3Rub3RpZmljYXRpb25zJmFjY291bnRpZD0xMTQwNDk2MiZoYXNoPTg4MzY5NjdCNjQ4OTM0M0FGRkVCRTRBOUYyMDczNkNDM0U3MEMxMUVGOTE0NDAyQjEwNUQwQjE0MTFBQzIyODM0Njk3NjBBODkwRjUwMEEyMTFERDJBQTlFRkFDODQyNDBGQzFGNUI5OUFEQUYyOEVCQTVCODFDQjQ5NjVBMTBBJnByZWZpeD0nICsgUHJlZml4ICsgJyZzeW1ib2w9JyArIFN5bWJvbCArICcmdmlld2VkdGhyb3VnaD0nICsgVmlld2VkVGhyb3VnaCwgZnVuY3Rpb24gKGRhdGEsIHN0YXR1cykgeyAkKGVsZW1lbnQpLmh0bWwoZGF0YSk7ICQoZWxlbWVudCkucmVtb3ZlQ2xhc3MoICdwZW5kaW5nJyApOyBpZiAoZGF0YS5sZW5ndGggPT09IDAgJiYgJChlbGVtZW50KS5oYXNDbGFzcygnbW9iaWxlLW5vdGlmaWNhdGlvbnMnKSkgeyQoZWxlbWVudCkuaHRtbCgnPGRpdiBzdHlsZT0iaGVpZ2h0OiAyMHB4OyI+PC9kaXY+PGRpdiBjbGFzcz0ibGF0ZXN0LW5vdGlmaWNhdGlvbnMiPjxkaXY+PGRpdiBjbGFzcz0ibnRmLWhlYWRlciI+Tm8gbm90aWZpY2F0aW9ucyBmb3IgdGhpcyBhc3NldC48L2Rpdj48L2Rpdj48L2Rpdj4nKTt9IH0gKSB9IGZ1bmN0aW9uIG1vdmVOb3RpZmljYXRpb25zKFZpZXdlZFRocm91Z2gsIFByZWZpeCwgU3ltYm9sLCBlbGVtZW50KSB7IHZhciBub3RpZmljYXRpb25zID0gJCgnIycgKyBWaWV3ZWRUaHJvdWdoICsgJ18nICsgUHJlZml4ICsgJ18nICsgU3ltYm9sLnJlcGxhY2UoJy4nLCdcXC4nKSkuaHRtbCgpOyBpZiAodHlwZW9mIG5vdGlmaWNhdGlvbnMgPT0gInVuZGVmaW5lZCIgfHwgbm90aWZpY2F0aW9ucyA9PT0gJycpIHsgJChlbGVtZW50KS5odG1sKCc8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwcHg7Ij48L2Rpdj48ZGl2IGNsYXNzPSJsYXRlc3Qtbm90aWZpY2F0aW9ucyI+PGRpdj48ZGl2IGNsYXNzPSJudGYtaGVhZGVyIj5ObyBub3RpZmljYXRpb25zIGZvciB0aGlzIGFzc2V0LjwvZGl2PjwvZGl2PjwvZGl2PicpO30gZWxzZSB7ICQoZWxlbWVudCkuaHRtbChub3RpZmljYXRpb25zKSB9IH0gZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGZ1bmN0aW9uICgpIHsgJCggJy5zaG93bm90aWZpY2F0aW9ucycgKS5lYWNoKGZ1bmN0aW9uKCBpbmRleCApIHsgIHNob3dOb3RpZmljYXRpb25zKCQodGhpcykuYXR0cignaWQnKS5zcGxpdCgnXycpWzFdLCAkKHRoaXMpLmF0dHIoJ2lkJykuc3BsaXQoJ18nKVsyXSwgJCh0aGlzKS5hdHRyKCdpZCcpLnNwbGl0KCdfJylbMF0sICQodGhpcykpOyB9KSB9KTsgPC9zY3JpcHQ+ZAIRDw8WAh8BZ2RkAhMPZBYCAgMPDxYEHwRnHwFnZBYCAgEPFgIfAAWiFzx0YWJsZSBjbGFzcz0ndy0xMDAnPjx0cj48dGQgc3R5bGU9J3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDozMHB4O3BhZGRpbmc6LjJlbSAuMmVtIC40ZW0gLjJlbTsnPjxzcGFuIGNsYXNzPSJjLWdyZWVuIGZhLXJlZ3VsYXIgZmEtc3F1YXJlLWNoZWNrIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvdGQ+PHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzouMjVlbTsiPjxhIHN0eWxlPSdmb250LXNpemU6LjlyZW07JyBocmVmPScvbWFuYWdlL2Fybi1kYWlseS1wcmVtaXVtLz91dG1fc291cmNlPVdlYnNpdGVJbnRlcm5hbCZ1dG1fbWVkaXVtPW9uYm9hcmRpbmcmdXRtX2NhbXBhaWduPUZyZWVTdWJzY3JpYmVyJz5SZWFkIFlvdXIgRGFpbHkgTmV3c2xldHRlcjwvYT48L3RkPjwvdHI+PHRyPjx0ZCBzdHlsZT0ndmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjMwcHg7cGFkZGluZzouMmVtIC4yZW0gLjRlbSAuMmVtOyc+PHNwYW4gY2xhc3M9ImMtZ3JlZW4gZmEtcmVndWxhciBmYS1zcXVhcmUtY2hlY2siIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC90ZD48dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDtwYWRkaW5nOi4yNWVtOyI+PGEgc3R5bGU9J2ZvbnQtc2l6ZTouOXJlbTsnIGhyZWY9Jy9tYW5hZ2Uvd2F0Y2hsaXN0cy8/dXRtX3NvdXJjZT1XZWJzaXRlSW50ZXJuYWwmdXRtX21lZGl1bT1vbmJvYXJkaW5nJnV0bV9jYW1wYWlnbj1GcmVlU3Vic2NyaWJlcic+Q2hlY2sgT3V0IE15IE1hcmtldEJlYXQ8L2E+PC90ZD48L3RyPjx0cj48dGQgc3R5bGU9J3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDozMHB4O3BhZGRpbmc6LjJlbSAuMmVtIC40ZW0gLjJlbTsnPjxzcGFuIGNsYXNzPSJjLWdyZWVuIGZhLXJlZ3VsYXIgZmEtc3F1YXJlLWNoZWNrIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvdGQ+PHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzouMjVlbTsiPjxhIHN0eWxlPSdmb250LXNpemU6LjlyZW07JyBocmVmPScvaGVscC8/dXRtX3NvdXJjZT1XZWJzaXRlSW50ZXJuYWwmdXRtX21lZGl1bT1vbmJvYXJkaW5nJnV0bV9jYW1wYWlnbj1GcmVlU3Vic2NyaWJlcic+V2F0Y2ggT3VyIFR1dG9yaWFsIFZpZGVvczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBzdHlsZT0ndmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjMwcHg7cGFkZGluZzouMmVtIC4yZW0gLjRlbSAuMmVtOyc+PHNwYW4gY2xhc3M9ImMtcmVkIGZhLXJlZ3VsYXIgZmEtc3F1YXJlIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvdGQ+PHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzouMjVlbTsiPjxhIHN0eWxlPSdmb250LXNpemU6LjlyZW07JyBocmVmPScvbWFuYWdlL3dhdGNobGlzdHMvP3V0bV9zb3VyY2U9V2Vic2l0ZUludGVybmFsJnV0bV9tZWRpdW09b25ib2FyZGluZyZ1dG1fY2FtcGFpZ249RnJlZVN1YnNjcmliZXInPkFkZCBhIFN0b2NrIHRvIFlvdXIgV2F0Y2hsaXN0PC9hPjwvdGQ+PC90cj48dHI+PHRkIHN0eWxlPSd2ZXJ0aWNhbC1hbGlnbjp0b3A7d2lkdGg6MzBweDtwYWRkaW5nOi4yZW0gLjJlbSAuNGVtIC4yZW07Jz48c3BhbiBjbGFzcz0iYy1yZWQgZmEtcmVndWxhciBmYS1zcXVhcmUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC90ZD48dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDtwYWRkaW5nOi4yNWVtOyI+PGEgc3R5bGU9J2ZvbnQtc2l6ZTouOXJlbTsnIGhyZWY9Jy9tYW5hZ2Uvd2F0Y2hsaXN0cy8/dXRtX3NvdXJjZT1XZWJzaXRlSW50ZXJuYWwmdXRtX21lZGl1bT1vbmJvYXJkaW5nJnV0bV9jYW1wYWlnbj1GcmVlU3Vic2NyaWJlcic+U2V0IFVwIGFuIEluc3RhbnQgQWxlcnQ8L2E+PC90ZD48L3RyPjx0cj48dGQgc3R5bGU9J3ZlcnRpY2FsLWFsaWduOnRvcDt3aWR0aDozMHB4O3BhZGRpbmc6LjJlbSAuMmVtIC40ZW0gLjJlbTsnPjxzcGFuIGNsYXNzPSJjLWdyZWVuIGZhLXJlZ3VsYXIgZmEtc3F1YXJlLWNoZWNrIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPjwvdGQ+PHRkIHN0eWxlPSJ2ZXJ0aWNhbC1hbGlnbjp0b3A7cGFkZGluZzouMjVlbTsiPjxhIHN0eWxlPSdmb250LXNpemU6LjlyZW07JyBocmVmPScvc3RvY2tzLz91dG1fc291cmNlPVdlYnNpdGVJbnRlcm5hbCZ1dG1fbWVkaXVtPW9uYm9hcmRpbmcmdXRtX2NhbXBhaWduPUZyZWVTdWJzY3JpYmVyJz5WaWV3IGEgQ29tcGFueSdzIFByb2ZpbGUgUGFnZTwvYT48L3RkPjwvdHI+PHRyPjx0ZCBzdHlsZT0ndmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjMwcHg7cGFkZGluZzouMmVtIC4yZW0gLjRlbSAuMmVtOyc+PHNwYW4gY2xhc3M9ImMtZ3JlZW4gZmEtcmVndWxhciBmYS1zcXVhcmUtY2hlY2siIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC90ZD48dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDtwYWRkaW5nOi4yNWVtOyI+PGEgc3R5bGU9J2ZvbnQtc2l6ZTouOXJlbTsnIGhyZWY9Jy9tYXJrZXQtZGF0YS8/dXRtX3NvdXJjZT1XZWJzaXRlSW50ZXJuYWwmdXRtX21lZGl1bT1vbmJvYXJkaW5nJnV0bV9jYW1wYWlnbj1GcmVlU3Vic2NyaWJlcic+VmlldyBPdXIgRmluYW5jaWFsIENhbGVuZGFyczwvYT48L3RkPjwvdHI+PHRyPjx0ZCBzdHlsZT0ndmVydGljYWwtYWxpZ246dG9wO3dpZHRoOjMwcHg7cGFkZGluZzouMmVtIC4yZW0gLjRlbSAuMmVtOyc+PHNwYW4gY2xhc3M9ImMtZ3JlZW4gZmEtcmVndWxhciBmYS1zcXVhcmUtY2hlY2siIGFyaWEtaGlkZGVuPSJ0cnVlIj48L3NwYW4+PC90ZD48dGQgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDtwYWRkaW5nOi4yNWVtOyI+PGEgc3R5bGU9J2ZvbnQtc2l6ZTouOXJlbTsnIGhyZWY9Jy9yYXRpbmdzL1VTQS9sYXRlc3QvP3V0bV9zb3VyY2U9V2Vic2l0ZUludGVybmFsJnV0bV9tZWRpdW09b25ib2FyZGluZyZ1dG1fY2FtcGFpZ249RnJlZVN1YnNjcmliZXInPlZpZXcgVG9kYXkncyBBbmFseXN0IFJhdGluZ3M8L2E+PC90ZD48L3RyPjwvdGFibGU+ZAIbDxYCHwFnZAIPDxYCHwAFFXZlcmRhY2h0QHNhZmVvbndlYi5iZWQCEQ8WAh8AZWQCEg8WAh8ABVE8c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+c2V0Q29va2llKCJNYXJrZXRCZWF0T3B0aW5Db29raWUiLCAxLCAzKTs8L3NjcmlwdD5kAhUPDxYCHwFnZGQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgYFImN0bDAwJGNwaFByaW1hcnlDb250ZW50JGNoa0luc3RhbnQFJmN0bDAwJGNwaFByaW1hcnlDb250ZW50JGNoa1ByaWNlQWxlcnRzBS5jdGwwMCRjcGhQcmltYXJ5Q29udGVudCRjaGtFbWFpbEFsZXJ0c011bHRpcGxlBSpjdGwwMCRjcGhQcmltYXJ5Q29udGVudCRjaGtFbWFpbEFsZXJ0c0VkaXQFKmN0bDAwJGNwaFByaW1hcnlDb250ZW50JGNoa1ByaWNlQWxlcnRzRWRpdAUnY3RsMDAkY3BoUHJpbWFyeUNvbnRlbnQkY2hrVXBkYXRlUHJpY2Vz7eWQQUORs7hgpda7F21j3DOoYtY=">
  </div>
  <script type="text/javascript">
    //<![CDATA[
    var theForm = document.forms['form1'];
    if (!theForm) {
      theForm = document.form1;
    }

    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=TGE6mH29_tpsdHwhewvfnZZ1XtMYSVXLm0Jql1RT8Gt0UJpBTCqqFxYSJ6nYrV4lmQxbdhmD7ckA_eQodaniwZjAfL41&amp;t=638610691965203766" type="text/javascript"></script>
  <script src="/ScriptResource.axd?d=nlSrOCgmHRkJKy_atxR8MlI0g5Fyrw2N4vOH-J1pSh0LNd-DEJpJJM2PqbFuXW8LCcUktIdE5I5RFTWBcrIyR03paG7H2oiMkNiPlh3szTWi9JBhKv8-Yi9ORQOMTynHqdqDPyvuvuHxpyvkgT4B1r1YoVk1&amp;t=64bd211b" type="text/javascript"></script>
  <script src="/ScriptResource.axd?d=5uHgycXeCI_2B1KxfCX0UN6zg6FdD9djh2Jah60XTTaX767t8n5jvCXuYRybH_HPVlQDavAt0ikkPNOcfyNasH5OYnS1TD65R4AbJ5dhbf_Znzg5OzEkvowWtUFJLchVbmKGCLSfl8ZdID-sIL3sTP1aJuM1&amp;t=ffffffffb201fd3f" type="text/javascript"></script>
  <script src="/ScriptResource.axd?d=LDxligUXaea7HOiymrOLbfc35UUl3oZNQV3EOXsRk5Kt-0hKzSsb9k0eT_romv_Ll5LoadWOAwUauWDpfKmeWEOLI5LOhgBPgsJW1hTy1ajIzNRgTFTmBT4Dk-RNxZUe1V4l-RYOzt9r8FfnhAK8HfJmOZHK1RuMAF6oTb2niff1rxa90&amp;t=ffffffffb201fd3f"
    type="text/javascript"></script>
  <script src="/ScriptResource.axd?d=mZAvc2rdN5UQEFLyy_VTymM1qRIFbVj3WK2kF1mmfyCNu1fpeeD44l5EIY3ay0OKhoFbS_xwXiZpWQOIRHCBCW0QJyttzo3y8WI51YB56NrZY9xaRML18LUhZXyg4JeTUhDQJpiizJVNwl2FqCLjVFL_R7E1&amp;t=ffffffffb201fd3f" type="text/javascript"></script>
  <script type="text/javascript">
    //<![CDATA[
    var PageMethods = function() {
      PageMethods.initializeBase(this);
      this._timeout = 0;
      this._userContext = null;
      this._succeeded = null;
      this._failed = null;
    }
    PageMethods.prototype = {
      _get_path: function() {
        var p = this.get_path();
        if (p) return p;
        else return PageMethods._staticInstance.get_path();
      },
      GenerateLinkToken: function(subscriberId, succeededCallback, failedCallback, userContext) {
        return this._invoke(this._get_path(), 'GenerateLinkToken', false, {
          subscriberId: subscriberId
        }, succeededCallback, failedCallback, userContext);
      },
      OnLinkSuccess: function(publicToken, metadata, subscriberId, succeededCallback, failedCallback, userContext) {
        return this._invoke(this._get_path(), 'OnLinkSuccess', false, {
          publicToken: publicToken,
          metadata: metadata,
          subscriberId: subscriberId
        }, succeededCallback, failedCallback, userContext);
      },
      UpdatePerformanceGraph: function(SubscriberId, WatchlistId, timeFrame, IndexToCompare, succeededCallback, failedCallback, userContext) {
        return this._invoke(this._get_path(), 'UpdatePerformanceGraph', false, {
          SubscriberId: SubscriberId,
          WatchlistId: WatchlistId,
          timeFrame: timeFrame,
          IndexToCompare: IndexToCompare
        }, succeededCallback, failedCallback, userContext);
      }
    }
    PageMethods.registerClass('PageMethods', Sys.Net.WebServiceProxy);
    PageMethods._staticInstance = new PageMethods();
    PageMethods.set_path = function(value) {
      PageMethods._staticInstance.set_path(value);
    }
    PageMethods.get_path = function() {
      return PageMethods._staticInstance.get_path();
    }
    PageMethods.set_timeout = function(value) {
      PageMethods._staticInstance.set_timeout(value);
    }
    PageMethods.get_timeout = function() {
      return PageMethods._staticInstance.get_timeout();
    }
    PageMethods.set_defaultUserContext = function(value) {
      PageMethods._staticInstance.set_defaultUserContext(value);
    }
    PageMethods.get_defaultUserContext = function() {
      return PageMethods._staticInstance.get_defaultUserContext();
    }
    PageMethods.set_defaultSucceededCallback = function(value) {
      PageMethods._staticInstance.set_defaultSucceededCallback(value);
    }
    PageMethods.get_defaultSucceededCallback = function() {
      return PageMethods._staticInstance.get_defaultSucceededCallback();
    }
    PageMethods.set_defaultFailedCallback = function(value) {
      PageMethods._staticInstance.set_defaultFailedCallback(value);
    }
    PageMethods.get_defaultFailedCallback = function() {
      return PageMethods._staticInstance.get_defaultFailedCallback();
    }
    PageMethods.set_enableJsonp = function(value) {
      PageMethods._staticInstance.set_enableJsonp(value);
    }
    PageMethods.get_enableJsonp = function() {
      return PageMethods._staticInstance.get_enableJsonp();
    }
    PageMethods.set_jsonpCallbackParameter = function(value) {
      PageMethods._staticInstance.set_jsonpCallbackParameter(value);
    }
    PageMethods.get_jsonpCallbackParameter = function() {
      return PageMethods._staticInstance.get_jsonpCallbackParameter();
    }
    PageMethods.set_path("./");
    PageMethods.GenerateLinkToken = function(subscriberId, onSuccess, onFailed, userContext) {
      PageMethods._staticInstance.GenerateLinkToken(subscriberId, onSuccess, onFailed, userContext);
    }
    PageMethods.OnLinkSuccess = function(publicToken, metadata, subscriberId, onSuccess, onFailed, userContext) {
      PageMethods._staticInstance.OnLinkSuccess(publicToken, metadata, subscriberId, onSuccess, onFailed, userContext);
    }
    PageMethods.UpdatePerformanceGraph = function(SubscriberId, WatchlistId, timeFrame, IndexToCompare, onSuccess, onFailed, userContext) {
      PageMethods._staticInstance.UpdatePerformanceGraph(SubscriberId, WatchlistId, timeFrame, IndexToCompare, onSuccess, onFailed, userContext);
    }
    var gtc = Sys.Net.WebServiceProxy._generateTypedConstructor;
    if (typeof(PerformanceData) === 'undefined') {
      var PerformanceData = gtc("PerformanceData");
      PerformanceData.registerClass('PerformanceData');
    }

    function WebForm_OnSubmit() {
      if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
      return true;
    }
    //]]>
  </script>
  <div class="aspNetHidden">
    <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="0CA0324B">
    <input type="hidden" name="__SCROLLPOSITIONX" id="__SCROLLPOSITIONX" value="0">
    <input type="hidden" name="__SCROLLPOSITIONY" id="__SCROLLPOSITIONY" value="0">
    <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION"
      value="/wEdAGjrweu+cmvzF94pqi/pzlWYPuCR396t6ZeTi7Z8O0Y/yWrBX+BeWzcmFbfZaHp6S/92EGvHBdimMbkuM+j+afVPhJCJ1UHDG/BmnzTYQCHWDCWmftbz967Jtiemvt6muqtcEEqnJruQoGy++1VRh+ap7kM5N+nobAiGOD/Pzq0DkNmAxJ7Mt8bHuNLVvH/tnm+ONfGLm0ab398bD5HpUYL6gYeracFtXgweP7So6j2zEkeso37ryySe106iEdsNQNoR5RbPzOB5SBqIbJsT9hJN2eV2rGXk4ZPXr2z6GwjI0FwyDaj3ZDomWqRfASpWzfu8cs6fFqmmNuGtObOEK8JwuS/Dkq1KFDMgMjXFZdp5GNrYmdqDmDpXZkluZgiSgcxo5GTfZvRE0u6+DZdiLxg5aL1Qr96Gk1AhAafGy8G9wfVP/d5S94F10uNDt1fcMv0H9/A4N/dJtEjCKQjd9izRlMQRXNrJubO9cMVTXF0P6PIMfxgtZN97SbuJ6HswmmgquEWRhmMgaowoRjuG6nv9kK/zb5x4XYyBBeGdCjHnKB3STNrqJgyXFu+1uZ4Ptg99uQSIfop+hiTkJLlCiHxk4CDhcsSIbhPzxWwBFmkhGfAq5s2jHHmg0BLY71ma6DdDPQjAI6Iix+r6m0toxNL0y5nyMPSqokaPsVN8uRD5rs63Qli02oDjcFnTCVJRvFFatgF7YMxklyptdNOloVdovHC31HHkhavjuIJ80r6EArTOPqwW0AFiz1sTB2McmW2DkvRSaDVhplu0jw8HzfhxcdoxxhXnNWq9cI6Ci0uE/udAYlIFNRkNzg1eJdVLVziKq3v3sWWobbb2zVwvR+YrmIOsK+AuK7dBQWUvo/khjtDiLGDmCfXm4LN1Hgu0PRf+bTKNs3X6h37Y+ttEhTYXRKTyrxK0MdkyreIKxFS/wAsbj6JVFvgZaloNzm2E6Lh4Dl+VvdFlIrp0utluCjtkx3IJZEVRx1qjzoOQ3T47RxCuyrKMvBChKvSkpOkoGFDoTWiCl3ehDjN7uDq0cwD7uq05UbwDQZEKr/AMjyf+M3pG2hBNl01lyXfU1BQPt4XrmcGgIRqc/aheF+Fbb/M2SOHdaQh2w8748Nav8pyUpj5fRldcmfAAPC7faS+BtbxDppIDqc4vNcTwCF9zntpkq5v/REtdd/alJuHuObQigsKPWhn62U2PHG/SjX5EkIFMVkd5t22N2biskTzgwGkGeCy3aOsYeLvpz00Vb2Al7gRbQxA027gzUYRA6Hj7GHnHcDQyeg7+j9x2vCXDUUNv3nemBW/QCss7CYj/vmtNpixLd7OPqdBPR9xvLhHf649Z5Wtyy/EI713FJ/i9chue+4qm+T7T339aC/bF72miM/ujiyD8IOEuJ3/bU7b9PE3HRY4cALpYtzZRr1JR1OW5OGIEYgk+FlBrIfsBmyPpdUCAfC+T9V2sh4dg+QRoAUiRebhlmBmldgtXuf0ss738yN/A1jwWU2tbQs7k/MOc3UKVfpcBJSpE7o3Cnc+bBYcZqM4xe7EJFj1xDlRUCGkkgoFzwtyyOhtGPD4myFK8lnJeXnIQbkln1jPs0+Causb9m4RUTCMSE+WSBpKt/J3ut+3L/HYHmGRQYt0pSXUf4LgBeTP6rA3JsugTbYhcrydzjkYv15Oh16CMk9VgGeJh8cqE/NCv17oJfRPfSNLQxW3UJkvEauGBl/VPo63yawsTKi233Y2+cxif+EeznVfXCZoensKatrZXDFT2AM9CWEFiV0yxMzDKPVavEg5LJ3IUAd/3XoCI83Y0/zAq/c08dn0RVwT4OyR8sIlMQ6l73JZDMr7C9Wl8tj66UaUex/Jcg/NqVnWsElfmOkGQqooRZgOgh0H8rdAl49YKby57oym4gyq0MlUuYLxvr7Pi0xZQr2FV1xq8YUa9sMRr67avhowmi1kHo3aTwlUSDHtKU7c/hKt59Zw8+ek+zTAWg3ntcIz8yohlRkvN3Q4bKcJ9C0dechWBb7Msq0LKGMMO7k+ION/BO+u2NhcrPVkyDYADhUbas45G5UhiRSaGK+I8FY9Zi5w+zFG/i9MWgi3/u3/O13+AK0BueTddwJNHno8iYRyunxBjd+iJ64LS9arW7QP4ovtZHfVkQ9Jmo/a6mWzkBf/AqTf4LULcoU5+pimvwCmS27YgX3NL1gmCa42zMatPI0BjwaD7I9RmMOuT30C8f9ZagbHdQ7Jeou1FumMrLDXn">
  </div>
  <h1 id="pageTitle" class="PageTitleHOne"> My MarketBeat </h1>
  <div id="cphPrimaryContent_pnlMain">
    <script type="text/javascript">
      function LoadNewsletter() {
        document.getElementById("dvNewsletter").innerHTML = 'Loading your newsletter&hellip;';
        var chosenNewsletter = $('#cphPrimaryContent_ddlNewsletter').find(':selected').val();
        $.get("https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=newsletter&chosenNewsletter=" + chosenNewsletter +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664",
          function(data, status) {
            document.getElementById("dvNewsletter").innerHTML = data;
          });
      }

      function LoadCalendar(watchlistid) {
        $.get("https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=calendar&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664",
          function(data, status) {
            var dvCalendar = document.getElementById("dvCalendar");
            dvCalendar.innerHTML = data;
            scrollTable($(dvCalendar).find('table').stupidtable());
            $("#calendarFilter").change(function() {
              $("#dvCalendar table tbody tr").removeClass("hidden-table-row bottom-sort");
              if ($(this).val() !== "") {
                $("#dvCalendar table tbody tr:not(." + $(this).val() + ")").addClass("hidden-table-row bottom-sort");
              }
              scrollTable($(dvCalendar).find('table'));
            });
          });
      }

      function LoadRatings(watchlistid) {
        $.get("https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=ratings&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664",
          function(data, status) {
            var ratingsDiv = document.getElementById("dvRatings");
            ratingsDiv.innerHTML = data;
            scrollTable($(ratingsDiv).find('table').stupidtable());
          });
      }

      function LoadInsiderTrades(watchlistid) {
        $.get("https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=insidertrades&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664",
          function(data, status) {
            var dvInsiderTrades = document.getElementById("dvInsiderTrades");
            dvInsiderTrades.innerHTML = data;
            scrollTable($(dvInsiderTrades).find('table').stupidtable());
          });
      }

      function LoadEarnings(watchlistid) {
        $.get("https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=earnings&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664",
          function(data, status) {
            var dvEarnings = document.getElementById("dvEarnings");
            dvEarnings.innerHTML = data;
            scrollTable($(dvEarnings).find('table').stupidtable());
          });
      }

      function LoadPortfolioIdeas(watchlistid) {
        $.get("https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=portfolioideas&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664",
          function(data, status) {
            var dvPortfolioIdeas = document.getElementById("dvPortfolioIdeas");
            dvPortfolioIdeas.innerHTML = data;
            scrollTable($(dvPortfolioIdeas).find('table').stupidtable());
          });
      }

      function LoadMarketRank(watchlistid) {
        $.get("https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=marketrank&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664",
          function(data, status) {
            var dvMarketRank = document.getElementById("dvMarketRank");
            dvMarketRank.innerHTML = data;
            scrollTable($(dvMarketRank).find('table').stupidtable());
          });
      }

      function LoadSECFilings(watchlistid) {
        $.get("https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=secfilings&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664",
          function(data, status) {
            var dvSECFilings = document.getElementById("dvSECFilings");
            dvSECFilings.innerHTML = data;
            scrollTable($(dvSECFilings).find('table').stupidtable());
          });
      }

      function LoadSocial(watchlistid) {
        loadAndDrawMultiLineGraph("Media Mentions by Week", "portfolioMediaMentionsChart", "Week", "https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=mediamentionsCSV&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664");
        loadAndDrawMultiLineGraph("Reddit Mentions by Week", "portfolioRedditMentionsChart", "Week", "https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=redditmentionsCSV&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664");
        $.get("https://" + window.location.host + "/Users/WatchlistsHelpers.ashx?command=mentionedstockslists&watchlistid=" + watchlistid +
          "&accountid=11404962&hash=ED76DA9E8C730081AAA63523E07B43188216B9E945E2E73FC220C195568486801A72A1087B6485F28DB7EB9C42B5352A6C0DCEF062C392BCF357E7FC91F39664",
          function(data, status) {
            var dvmentionedstockslists = document.getElementById("dvmentionedstockslists");
            if (data == '') {
              document.getElementById("outerdivmentionedstockslists").style.maxHeight = 0;
            } else {
              dvmentionedstockslists.innerHTML = data;
            }
          });
        LoadStocktwits();
      };
    </script>
    <script type="text/javascript">
      //<![CDATA[
      Sys.WebForms.PageRequestManager._initialize('ctl00$cphPrimaryContent$scriptman1', 'form1', ['tctl00$cphPrimaryContent$pnlUpdateStockPrice', 'cphPrimaryContent_pnlUpdateStockPrice', 'tctl00$cphPrimaryContent$pnlFilterTable',
        'cphPrimaryContent_pnlFilterTable'
      ], ['ctl00$cphPrimaryContent$AutoMagicalTimer', 'cphPrimaryContent_AutoMagicalTimer'], [], 90, 'ctl00');
      //]]>
    </script>
    <!-- Add a Holding To Your Watchlist Modal -->
    <div id="Panel1" class="modal" tabindex="-1" role="dialog" aria-labelledby="Panel1Label" aria-modal="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content wl-modal-content">
          <div class="modal-header">
            <h2 class="modal-title p-0 h3 m-0 text-left" id="Panel1Label">Add a Holding to Your Watchlist</h2>
            <button type="button" class="close c-dark-blue" data-dismiss="modal" aria-label="Close" onclick="clearQueryString();"><span aria-hidden="true">×</span></button>
          </div>
          <div class="modal-body">
            <label class="top-label" for="cphPrimaryContent_ddlAssetType">Asset Type:</label>
            <select name="ctl00$cphPrimaryContent$ddlAssetType" id="cphPrimaryContent_ddlAssetType" class="top-labeled-input" aria-label="Asset Type">
              <option value="stocketf">Stock/ETF</option>
              <option value="cryptocurrency">Cryptocurrency</option>
              <option value="manual">Manual Asset</option>
            </select>
            <label id="searchLabel" class="top-label" for="cphPrimaryContent_txtSymbol">Search:</label>
            <input name="ctl00$cphPrimaryContent$txtSymbol" type="text" maxlength="200" id="cphPrimaryContent_txtSymbol" class="top-labeled-input autocompleteassets ui-autocomplete-input" data-lpignore="true" placeholder="Search and choose…"
              autocomplete="off">
            <input name="ctl00$cphPrimaryContent$txtAutoCompleteData" type="text" id="cphPrimaryContent_txtAutoCompleteData" aria-label="Search Options" style="display: none;">
            <div class="rfv-div-validation-triangle">
              <span id="cphPrimaryContent_rfvAutoCompleteData" style="color:#E25858;display:none;">Please choose an asset.</span>
            </div>
            <label id="amountLabel" class="top-label" for="cphPrimaryContent_txtSharesHeld">Shares Held:</label>
            <input name="ctl00$cphPrimaryContent$txtSharesHeld" id="cphPrimaryContent_txtSharesHeld" class="top-labeled-input" type="number" step="any">
            <label class="top-label" for="cphPrimaryContent_txtACPS">Avg. Cost Basis: <span id="cphPrimaryContent_spnCurrentPrice" class="modal-note"></span></label>
            <input name="ctl00$cphPrimaryContent$txtACPS" id="cphPrimaryContent_txtACPS" class="top-labeled-input" type="number" step="any">
            <div id="manualAssetOptions" style="display: none;">
              <label class="top-label" for="cphPrimaryContent_txtUnitPrice">Current Unit Value (USD):</label>
              <input name="ctl00$cphPrimaryContent$txtUnitPrice" id="cphPrimaryContent_txtUnitPrice" class="top-labeled-input" type="number" step="any">
              <label class="top-label" for="cphPrimaryContent_txtInvestmentYield">Investment Yield:</label>
              <div style="position: relative">
                <input name="ctl00$cphPrimaryContent$txtInvestmentYield" id="cphPrimaryContent_txtInvestmentYield" class="top-labeled-input" type="number" step="any"><span style="position: absolute; right: 27px; top: 4px; color: #757575;">%</span>
              </div>
            </div>
            <label class="top-label" for="cphPrimaryContent_ddlWatchlist">Watchlist:</label>
            <select name="ctl00$cphPrimaryContent$ddlWatchlist" id="cphPrimaryContent_ddlWatchlist" class="top-labeled-input" aria-label="Watchlist to add holding to">
              <option value="2519330">My Default Watchlist</option>
            </select>
            <fieldset id="instantAlerts">
              <legend class="top-label">Alerts:</legend>
              <div id="newsAlerts">
                <div class="custom-control custom-checkbox mb-1 ml-2">
                  <input id="cphPrimaryContent_chkInstant" type="checkbox" name="ctl00$cphPrimaryContent$chkInstant"><label for="cphPrimaryContent_chkInstant">Enable Email News Alerts</label>
                </div>
                <div class="custom-control custom-checkbox mb-1 ml-2">
                  <span class="aspNetDisabled"><input id="cphPrimaryContent_chkSMS" type="checkbox" name="ctl00$cphPrimaryContent$chkSMS" disabled="disabled"><label for="cphPrimaryContent_chkSMS">Enable SMS News Alerts</label></span>
                </div>
                <div class="custom-control custom-checkbox mb-1 ml-2">
                  <span class="aspNetDisabled"><input id="cphPrimaryContent_chkIncludeNewsletter" type="checkbox" name="ctl00$cphPrimaryContent$chkIncludeNewsletter" disabled="disabled"><label for="cphPrimaryContent_chkIncludeNewsletter">Include in
                      Newsletter</label></span>
                </div>
              </div>
              <div class="custom-control custom-checkbox mb-1 ml-2">
                <input id="cphPrimaryContent_chkPriceAlerts" type="checkbox" name="ctl00$cphPrimaryContent$chkPriceAlerts"><label for="cphPrimaryContent_chkPriceAlerts">Set Up Price Alerts</label>
              </div>
              <div id="priceAlerts" style="display: none; margin: 5px 16px;">
                <label for="cphPrimaryContent_txtAlertAbove">Alert above <span id="cphPrimaryContent_txtAlertAbove_CurrencyLabel" class="currency-label"></span></label>
                <input name="ctl00$cphPrimaryContent$txtAlertAbove" id="cphPrimaryContent_txtAlertAbove" type="number" step="any" style="width:100px;"><br>
                <label for="cphPrimaryContent_txtAlertBelow">Alert below <span id="cphPrimaryContent_txtAlertBelow_CurrencyLabel" class="currency-label"></span></label>
                <input name="ctl00$cphPrimaryContent$txtAlertBelow" id="cphPrimaryContent_txtAlertBelow" type="number" step="any" style="width:100px;">
              </div>
              <a href="/manage/alerts/" class="font-8" target="_blank">Manage All Alerts and Alert Types <span class="ml-1 fa-regular fa-arrow-up-right-from-square font-8"></span></a>
            </fieldset>
            <label class="top-label" for="cphPrimaryContent_txtUserNotes" style="margin-top: 10px">Notes:</label>
            <textarea name="ctl00$cphPrimaryContent$txtUserNotes" rows="2" cols="20" id="cphPrimaryContent_txtUserNotes" class="top-labeled-input"></textarea>
          </div>
          <div class="modal-footer buttons d-block">
            <button type="button" class="modal-button btn btn-secondary" data-dismiss="modal" onclick="clearQueryString();">Cancel</button> &nbsp; <input type="submit" name="ctl00$cphPrimaryContent$btnAddStock" value="Add Holding"
              onclick="addSubmittingStyle(this, 'Val2');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$cphPrimaryContent$btnAddStock&quot;, &quot;&quot;, true, &quot;Val2&quot;, &quot;&quot;, false, false))"
              id="cphPrimaryContent_btnAddStock" class="modal-button btn btn-primary" autopostback="true" style="width:175px;">&nbsp;
          </div>
        </div>
      </div>
    </div>
    <!-- End Add a Holding To Your Watchlist Modal -->
    <!-- Add Multiple Stocks to Your Watchlist Modal -->
    <div id="Panel2" class="modal" tabindex="-1" role="dialog" aria-labeledby="Panel2Label" aria-hidden="true">
      <div class="modal-dialog modal-dialog-centered" role="document" style="max-width: 689px">
        <div class="modal-content wl-modal-content" style="width: 689px">
          <div class="modal-header">
            <h2 class="modal-title p-0 h3 m-0 text-left" id="Panel2Label">Add Multiple Holdings to Your Watchlist</h2>
            <button type="button" class="close c-dark-blue" data-dismiss="modal" aria-label="Close" onclick="clearQueryString();"><span aria-hidden="true">×</span></button>
          </div>
          <div class="modal-body">
            <div class="row narrow-gutter-row">
              <div class="col-md-3">
                <label class="top-label" for="cphPrimaryContent_ddlAssetTypeMultiple">Asset Type:</label>
                <select name="ctl00$cphPrimaryContent$ddlAssetTypeMultiple" id="cphPrimaryContent_ddlAssetTypeMultiple" class="top-labeled-input">
                  <option value="stocketf">Stock/ETF</option>
                  <option value="cryptocurrency">Cryptocurrency</option>
                </select>
              </div>
              <div class="col-md-9">
                <label id="searchLabelMultiple" class="top-label" for="cphPrimaryContent_txtSearchMultiple">Search:</label>
                <input name="ctl00$cphPrimaryContent$txtSearchMultiple" type="text" maxlength="30" id="cphPrimaryContent_txtSearchMultiple" class="top-labeled-input autocompleteassetsmultiple ui-autocomplete-input" data-lpignore="true"
                  placeholder="Search and choose…" autocomplete="off">
              </div>
              <div id="cphPrimaryContent_chosenAssets" class="col-sm-12">
                <div id="requiredMultipleAssets" class="rfv-div-validation-triangle" style="display: none; color: #e25858"> Please select some assets using the search box. </div>
              </div>
            </div>
            <label class="top-label" for="cphPrimaryContent_ddlWatchlistMultiple">Watchlist:</label>
            <select name="ctl00$cphPrimaryContent$ddlWatchlistMultiple" id="cphPrimaryContent_ddlWatchlistMultiple" class="top-labeled-input" aria-label="Watchlist to add holdings to">
              <option value="2519330">My Default Watchlist</option>
            </select>
            <fieldset id="alertsMultiple" style="display: none;font-size:.9em">
              <legend class="top-label">Alerts (applies to stocks only):</legend>
              <div class="multiple-checks">
                <div class="custom-control custom-checkbox mb-1 ml-2">
                  <input id="cphPrimaryContent_chkEmailAlertsMultiple" type="checkbox" name="ctl00$cphPrimaryContent$chkEmailAlertsMultiple"><label for="cphPrimaryContent_chkEmailAlertsMultiple">Enable Email News Alerts</label>
                </div>
                <div class="custom-control custom-checkbox mb-1 ml-2">
                  <span class="aspNetDisabled"><input id="cphPrimaryContent_chkSMSMultiple" type="checkbox" name="ctl00$cphPrimaryContent$chkSMSMultiple" disabled="disabled"><label for="cphPrimaryContent_chkSMSMultiple">Enable SMS News
                      Alerts</label></span>
                </div>
                <div class="custom-control custom-checkbox mb-1 ml-2">
                  <span class="aspNetDisabled"><input id="cphPrimaryContent_chkIncludeNewsletterMultiple" type="checkbox" name="ctl00$cphPrimaryContent$chkIncludeNewsletterMultiple" disabled="disabled"><label
                      for="cphPrimaryContent_chkIncludeNewsletterMultiple">Include in Newsletter</label></span>
                </div>
                <br>
              </div>
            </fieldset>
            <a href="/manage/alerts/" class="font-8" target="_blank">Manage All Alerts and Alert Types <span class="ml-1 fa-regular fa-arrow-up-right-from-square font-8"></span></a>
          </div>
          <div class="modal-footer buttons d-block">
            <button type="button" class="modal-button btn btn-secondary" data-dismiss="modal" onclick="clearQueryString();">Cancel</button> &nbsp; <input type="submit" name="ctl00$cphPrimaryContent$btnAddStocksMultiple" value="Add Holdings"
              onclick="return checkForMultipleAssets();" id="cphPrimaryContent_btnAddStocksMultiple" class="modal-button btn btn-primary" autopostback="true" style="width:175px;">
          </div>
        </div>
      </div>
    </div>
    <!-- End Add Multiple Stocks to Your Watchlist Modal-->
    <div id="Panel3" class="modal" tabindex="-1" role="dialog" aria-labelledby="Panel3Label" aria-modal="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content wl-modal-content">
          <div class="modal-header">
            <h2 class="modal-title p-0 h3 m-0 text-left" id="Panel3Label">Create a New Watchlist</h2>
            <button type="button" class="close c-dark-blue" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
          </div>
          <div class="modal-body">
            <label class="top-label" for="cphPrimaryContent_txtWatchlistName">Watchlist Name:</label>
            <input name="ctl00$cphPrimaryContent$txtWatchlistName" type="text" maxlength="100" id="cphPrimaryContent_txtWatchlistName" class="top-labeled-input">
            <div class="rfv-div-validation-triangle">
              <span id="cphPrimaryContent_rfvWatchlistName" style="color:Red;display:none;">Required</span>
            </div>
          </div>
          <div class="modal-footer buttons d-block">
            <button type="button" class="modal-button btn btn-secondary" data-dismiss="modal">Cancel</button> &nbsp; &nbsp;
          </div>
        </div>
      </div>
    </div>
    <!-- End Create a Watchlist Modal -->
    <!-- Edit a Watchlist Modal -->
    <div id="Panel5" class="modal" tabindex="-1" role="dialog" aria-labelledby="Panel5Label" aria-modal="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content wl-modal-content">
          <div class="modal-header">
            <h2 class="modal-title p-0 h3 m-0 text-left" id="Panel5Label">Edit Watchlist</h2>
            <button type="button" class="close c-dark-blue" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
          </div>
          <div class="modal-body">
            <input type="hidden" name="ctl00$cphPrimaryContent$hdnEditWatchlistId" id="cphPrimaryContent_hdnEditWatchlistId">
            <label for="cphPrimaryContent_txtWatchListEditName" class="top-label">Watchlist Name:</label>
            <input name="ctl00$cphPrimaryContent$txtWatchListEditName" type="text" maxlength="100" id="cphPrimaryContent_txtWatchListEditName" class="top-labeled-input">
            <div class="rfv-div-validation-triangle">
              <span id="cphPrimaryContent_rfvWatchListEditName" style="color:Red;display:none;">Required</span>
            </div>
            <div id="displayPriority">
              <label for="cphPrimaryContent_ddlWatchListDisplayPriorityEdit" class="top-label">Display Priority:</label>
              <select name="ctl00$cphPrimaryContent$ddlWatchListDisplayPriorityEdit" id="cphPrimaryContent_ddlWatchListDisplayPriorityEdit" class="top-labeled-input">
                <option value="10">10 (Highest)</option>
                <option value="9">9</option>
                <option value="8">8</option>
                <option value="7">7</option>
                <option value="6">6</option>
                <option value="5">5</option>
                <option value="4">4</option>
                <option value="3">3</option>
                <option value="2">2</option>
                <option value="1">1 (Lowest)</option>
              </select>
            </div>
          </div>
          <div class="modal-footer buttons d-block">
            <button type="button" class="modal-button btn btn-secondary" data-dismiss="modal">Cancel</button> &nbsp; <input type="submit" name="ctl00$cphPrimaryContent$btnWatchlistSave" value="Save Watchlist"
              onclick="addSubmittingStyle(this, 'Val5');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$cphPrimaryContent$btnWatchlistSave&quot;, &quot;&quot;, true, &quot;Val5&quot;, &quot;&quot;, false, false))"
              id="cphPrimaryContent_btnWatchlistSave" class="modal-button btn btn-primary" autopostback="true">
          </div>
        </div>
      </div>
    </div>
    <!-- End Edit a Watchlist Modal -->
    <!-- Edit Stock Details Modal  -->
    <div id="Panel4" class="modal" tabindex="-1" role="dialog" aria-labelledby="Panel4Label" aria-modal="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content wl-modal-content">
          <div class="modal-header">
            <h2 class="modal-title p-0 h3 m-0 text-left" id="Panel4Label">Edit Details for <span id="stockSymbol"></span></h2>
            <button type="button" class="close c-dark-blue" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
          </div>
          <div class="modal-body">
            <input type="hidden" name="ctl00$cphPrimaryContent$hdnEditStockId" id="cphPrimaryContent_hdnEditStockId">
            <div id="EditStockBasics">
              <label class="top-label" id="amountLabelEdit" for="cphPrimaryContent_txtSharesHeldEdit">Shares Held:</label>
              <input name="ctl00$cphPrimaryContent$txtSharesHeldEdit" id="cphPrimaryContent_txtSharesHeldEdit" class="top-labeled-input" type="number" step="any">
              <label class="top-label" for="cphPrimaryContent_txtACPSEdit">Avg. Cost Basis: <span id="edit-current-price" class="modal-note"></span></label>
              <input name="ctl00$cphPrimaryContent$txtACPSEdit" id="cphPrimaryContent_txtACPSEdit" class="top-labeled-input" type="number" step="any">
              <div id="manualAssetOptionsEdit" style="display: none;">
                <label class="top-label" for="cphPrimaryContent_txtUnitPriceEdit">Current Unit Value:</label>
                <input name="ctl00$cphPrimaryContent$txtUnitPriceEdit" id="cphPrimaryContent_txtUnitPriceEdit" class="top-labeled-input" type="number" step="any">
                <label class="top-label" for="cphPrimaryContent_txtInvestmentYieldEdit">Investment Yield:</label>
                <div style="position: relative">
                  <input name="ctl00$cphPrimaryContent$txtInvestmentYieldEdit" id="cphPrimaryContent_txtInvestmentYieldEdit" class="top-labeled-input" type="number" step="any"><span
                    style="position: absolute; right: 27px; top: 4px; color: #757575;">%</span>
                </div>
              </div>
              <label class="top-label" for="cphPrimaryContent_ddlWatchlistEdit">Watchlist:</label>
              <select name="ctl00$cphPrimaryContent$ddlWatchlistEdit" id="cphPrimaryContent_ddlWatchlistEdit" class="top-labeled-input">
                <option value="2519330">My Default Watchlist</option>
              </select>
            </div>
            <fieldset id="instantAlertsEdit">
              <legend class="top-label">Alerts:</legend>
              <div id="newsAlertsEdit">
                <div class="custom-control custom-checkbox mb-1 ml-2 stocketf-alert-option">
                  <input id="cphPrimaryContent_chkEmailAlertsEdit" type="checkbox" name="ctl00$cphPrimaryContent$chkEmailAlertsEdit"><label for="cphPrimaryContent_chkEmailAlertsEdit">Enable Email News Alerts</label>
                </div>
                <div class="custom-control custom-checkbox mb-1 ml-2 stocketf-alert-option">
                  <span class="aspNetDisabled"><input id="cphPrimaryContent_chkSMSAlertsEdit" type="checkbox" name="ctl00$cphPrimaryContent$chkSMSAlertsEdit" disabled="disabled"><label for="cphPrimaryContent_chkSMSAlertsEdit">Enable SMS News
                      Alerts</label></span>
                </div>
                <div class="custom-control custom-checkbox mb-1 ml-2">
                  <span class="aspNetDisabled"><input id="cphPrimaryContent_chkNewsletterEdit" type="checkbox" name="ctl00$cphPrimaryContent$chkNewsletterEdit" disabled="disabled"><label for="cphPrimaryContent_chkNewsletterEdit">Include In
                      Newsletter</label></span>
                </div>
              </div>
              <div class="custom-checkbox custom-control mb-1 ml-2">
                <input id="cphPrimaryContent_chkPriceAlertsEdit" type="checkbox" name="ctl00$cphPrimaryContent$chkPriceAlertsEdit"><label for="cphPrimaryContent_chkPriceAlertsEdit">Set Up Price Alerts</label>
              </div>
              <div id="priceAlertsEdit" style="display: none; margin: 5px 16px;">
                <label for="cphPrimaryContent_txtAlertAboveEdit">Alert above <span class="currency-label"></span></label>
                <input name="ctl00$cphPrimaryContent$txtAlertAboveEdit" id="cphPrimaryContent_txtAlertAboveEdit" type="number" step="any" style="width:100px;"><br>
                <label for="cphPrimaryContent_txtAlertBelowEdit">Alert below <span class="currency-label"></span></label>
                <input name="ctl00$cphPrimaryContent$txtAlertBelowEdit" id="cphPrimaryContent_txtAlertBelowEdit" type="number" step="any" style="width:100px;">
              </div>
              <a href="/manage/alerts/" class="font-8" target="_blank">Manage All Alerts and Alert Types <span class="ml-1 fa-regular fa-arrow-up-right-from-square font-8"></span></a>
            </fieldset>
            <label class="top-label" style="margin-top: 10px" for="cphPrimaryContent_txtUserNotesEdit">Notes:</label>
            <textarea name="ctl00$cphPrimaryContent$txtUserNotesEdit" rows="4" cols="20" id="cphPrimaryContent_txtUserNotesEdit" class="top-labeled-input"></textarea>
          </div>
          <div class="modal-footer buttons d-block">
            <button type="button" class="modal-button btn btn-secondary" data-dismiss="modal">Cancel</button> &nbsp; <input type="submit" name="ctl00$cphPrimaryContent$btnUpdate" value="Update Holding" onclick="addSubmittingStyle(this, 'Val6');"
              id="cphPrimaryContent_btnUpdate" class="modal-button btn btn-primary" autopostback="true">&nbsp;
          </div>
        </div>
      </div>
    </div>
    <!-- End Edit Stock Details Modal -->
    <!-- Delete Stock Modal -->
    <div id="Panel6" class="modal" tabindex="-1" role="dialog" aria-labelledby="Panel6Label" aria-modal="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content wl-modal-content">
          <div class="modal-header">
            <h2 class="modal-title p-0 h3 m-0 text-left" id="Panel6Label">Delete Holding from Watchlist</h2>
            <button type="button" class="close c-dark-blue" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
          </div>
          <div class="modal-body">
            <input type="hidden" name="ctl00$cphPrimaryContent$hdnDeleteStockId" id="cphPrimaryContent_hdnDeleteStockId">
            <p>Are you sure you want to delete <span id="deleteStockSymbol"></span> from this watchlist?</p>
          </div>
          <div class="modal-footer buttons d-block">
            <button type="button" class="modal-button btn btn-secondary" data-dismiss="modal">Cancel</button> &nbsp; <input type="submit" name="ctl00$cphPrimaryContent$btnDelete" value="Delete Holding" onclick="addSubmittingStyle(this, 'none');"
              id="cphPrimaryContent_btnDelete" class="modal-button btn btn-primary" autopostback="true">&nbsp;
          </div>
        </div>
      </div>
    </div>
    <!-- End Delete Stock Modal -->
    <!-- Delete Watchlist Modal -->
    <div id="Panel7" class="modal" tabindex="-1" role="dialog" aria-labelledby="Panel7Label" aria-modal="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content wl-modal-content">
          <div class="modal-header">
            <h2 class="modal-title p-0 h3 m-0 text-left" id="Panel7Label">Delete Watchlist</h2>
            <button type="button" class="close c-dark-blue" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
          </div>
          <div class="modal-body">
            <input type="hidden" name="ctl00$cphPrimaryContent$hdnDeleteWatchlistId" id="cphPrimaryContent_hdnDeleteWatchlistId">
            <p>Are you sure you want to delete your watchlist "<span id="deleteWatchlistName"></span>"?</p>
            <label class="d-block bold c-red mb-1" for="cphPrimaryContent_txtConfirmDelete">Type “DELETE ALL” to confirm that you want to delete this watchlist and ALL your holdings on this watchlist:</label>
            <input name="ctl00$cphPrimaryContent$txtConfirmDelete" type="text" id="cphPrimaryContent_txtConfirmDelete" class="top-labeled-input">
            <div class="rfv-div-validation-triangle">
              <span id="cphPrimaryContent_rfvConfirmDelete" style="color:#E25858;display:none;">Type “DELETE ALL” to confirm</span>
              <span id="cphPrimaryContent_rgxConfirmDelete" validateemptytext="true" style="color:#E25858;display:none;">Type “DELETE ALL” to confirm</span>
            </div>
          </div>
          <div class="modal-footer buttons d-block">
            <button type="button" class="modal-button btn btn-secondary" data-dismiss="modal">Cancel</button> &nbsp; <input type="submit" name="ctl00$cphPrimaryContent$btnDeleteWatchlist" value="Delete Watchlist"
              onclick="addSubmittingStyle(this, 'ValDeleteWatchlist');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$cphPrimaryContent$btnDeleteWatchlist&quot;, &quot;&quot;, true, &quot;ValDeleteWatchlist&quot;, &quot;&quot;, false, false))"
              id="cphPrimaryContent_btnDeleteWatchlist" class="modal-button btn btn-primary" autopostback="true">&nbsp;
          </div>
        </div>
      </div>
    </div>
    <!-- End Delete Watchlist Modal -->
    <!-- Modal for Most Bulk Actions -->
    <div id="Panel8" class="modal" tabindex="-1" role="dialog" aria-labelledby="Panel8Label" aria-modal="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content wl-modal-content">
          <div class="modal-header">
            <h2 class="bulkActionName modal-title p-0 h3 m-0 text-left" id="Panel8Label">Bulk Action</h2>
          </div>
          <div class="modal-body">
            <input type="hidden" name="ctl00$cphPrimaryContent$hdnBulkStocksList" id="cphPrimaryContent_hdnBulkStocksList">
            <input type="hidden" name="ctl00$cphPrimaryContent$hdnBulkAction" id="cphPrimaryContent_hdnBulkAction">
            <p>Are you sure you want to <span class="bulkActionName"></span>?</p>
          </div>
          <div class="modal-footer buttons d-block">
            <button type="button" class="modal-button btn btn-secondary" data-dismiss="modal">Cancel</button> &nbsp; <input type="submit" name="ctl00$cphPrimaryContent$btnBulkAction" value="OK" onclick="addSubmittingStyle(this, 'none');"
              id="cphPrimaryContent_btnBulkAction" class="modal-button btn btn-primary" autopostback="true">&nbsp;
          </div>
        </div>
      </div>
    </div>
    <!-- End Modal for Most Bulk Actions -->
    <!-- Modal for Bulk Move to New Watchlist -->
    <div id="Panel9" class="modal" tabindex="-1" role="dialog" aria-labelledby="Panel9Label" aria-modal="true">
      <div class="modal-dialog modal-dialog-centered" role="document">
        <div class="modal-content wl-modal-content">
          <div class="modal-header">
            <h2 class="modal-title p-0 h3 m-0 text-left" id="Panel9Label">Move Holdings to a New Watchlist</h2>
          </div>
          <div class="modal-body">
            <input type="hidden" name="ctl00$cphPrimaryContent$hdnBulkStocksListNew" id="cphPrimaryContent_hdnBulkStocksListNew">
            <p>Create a new watchlist to move these holdings to:</p>
            <label class="top-label" for="cphPrimaryContent_txtBulkWatchlistNew">Watchlist Name:</label>
            <input name="ctl00$cphPrimaryContent$txtBulkWatchlistNew" type="text" maxlength="100" id="cphPrimaryContent_txtBulkWatchlistNew" class="top-labeled-input">
            <div class="rfv-div-validation-triangle">
              <span id="cphPrimaryContent_RequiredFieldValidator2" style="color:#E25858;display:none;">Required</span>
            </div>
          </div>
          <div class="modal-footer buttons d-block">
            <button type="button" class="modal-button btn btn-secondary" data-dismiss="modal">Cancel</button> &nbsp; <input type="submit" name="ctl00$cphPrimaryContent$btnBulkWatchlistNew" value="Create and Move"
              onclick="addSubmittingStyle(this, 'Val9');WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$cphPrimaryContent$btnBulkWatchlistNew&quot;, &quot;&quot;, true, &quot;Val9&quot;, &quot;&quot;, false, false))"
              id="cphPrimaryContent_btnBulkWatchlistNew" class="modal-button btn btn-primary" autopostback="true">&nbsp;
          </div>
        </div>
      </div>
    </div>
    <!-- End Modal for Bulk Move to New Watchlist -->
    <!-- Buttons -->
    <div class="row narrow-gutter-row">
      <div class="col-md-2 watchlist-div">
        <div class="top-label-wrapper">
          <select name="ctl00$cphPrimaryContent$ddlSelectAWatchList" onchange="javascript:setTimeout('__doPostBack(\'ctl00$cphPrimaryContent$ddlSelectAWatchList\',\'\')', 0)" id="cphPrimaryContent_ddlSelectAWatchList"
            class="watchlist-select top-labeled-input mb-1" aria-label="Select Watchlist to View">
            <option selected="selected" value="-1">All Watchlists</option>
            <option value="2519330">My Default Watchlist</option>
          </select>
          <label class="top-label mb-0"><strong>Watchlist</strong></label>
        </div>
      </div>
      <div class="col-md-10 addbuttons">
        <a href="https://www.marketbeat.com/subscribe/all-access/?UserID=11404962&amp;ReferralType=WatchlistsPageAddButton" title="You have reached your limit of five stocks on MarketBeat's&nbsp;free plan.
Upgrade to MarketBeat All Access to add more stocks." class=" btn btn-secondary d-flex d-sm-inline-flex" style="line-height:1.5"><span class="float-left mr-2 fa-regular fa-square-plus d-inline d-sm-none d-xl-inline"></span> <span>Add a Holding</span></a>
      </div>
    </div>
    <!-- End Buttons -->
    <!-- Tabs -->
    <div class="scroll-nav-tabs">
      <div class="nav nav-tabs my-marketbeat-tabs" role="tablist" aria-label="My MarketBeat Options" style="transform: translateX(0px);">
        <a id="portfoliotab" class="nav-link active" href="#pan1" data-toggle="tab" role="tab" aria-selected="true" aria-controls="pan1" style="pointer-events: auto; cursor: pointer;">Portfolio Overview</a>
        <a id="performancetab" class="nav-link" href="#pan2" data-toggle="tab" onclick="LoadPerformanceGraph(); UpdatePerformanceGraph();" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan2" style="pointer-events: auto; cursor: pointer;">Performance</a>
        <a id="insightstab" class="nav-link" href="#pan2b" data-toggle="tab" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan2b" style="pointer-events: auto; cursor: pointer;">Insights</a>
        <a id="headlinestab" class="nav-link" href="#pan3" data-toggle="tab" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan3" onclick="$('#cphPrimaryContent_btnDrawHeadlines').click(); this.onclick=null;" style="pointer-events: auto; cursor: pointer;">Headlines</a>
        <a id="calendartab" class="nav-link" href="#pan5" data-toggle="tab" onclick="LoadCalendar($('.watchlist-select option:selected').val()); this.onclick=null;" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan5" style="pointer-events: auto; cursor: pointer;">Calendar</a>
        <a id="ratingstab" class="nav-link" href="#pan4" data-toggle="tab" onclick="LoadRatings($('.watchlist-select option:selected').val()); this.onclick=null;" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan4" style="pointer-events: auto; cursor: pointer;">Ratings</a>
        <a id="insidertradestab" class="nav-link" href="#pan6" data-toggle="tab" onclick="LoadInsiderTrades($('.watchlist-select option:selected').val()); this.onclick=null;" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan6" style="pointer-events: auto; cursor: pointer;">Insider Trades</a>
        <a id="earningstab" class="nav-link" href="#pan7" data-toggle="tab" onclick="LoadEarnings($('.watchlist-select option:selected').val()); this.onclick=null;" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan7" style="pointer-events: auto; cursor: pointer;">Earnings</a>
        <a id="secfilingstab" class="nav-link" href="#pan8" data-toggle="tab" onclick="LoadSECFilings($('.watchlist-select option:selected').val()); this.onclick=null;" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan8" style="pointer-events: auto; cursor: pointer;">SEC Filings</a>
        <a id="socialtab" class="nav-link" href="#pan9" data-toggle="tab" onclick="LoadSocial($('.watchlist-select option:selected').val()); this.onclick=null; " role="tab" aria-selected="false" tabindex="-1" aria-controls="pan9" style="pointer-events: auto; cursor: pointer;">Social</a>
        <a id="newslettertab" class="nav-link" href="#pan10" data-toggle="tab" onclick="LoadNewsletter(); this.onclick=null;" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan10" style="pointer-events: auto; cursor: pointer;">Newsletter</a>
        <a id="ideastab" class="nav-link" href="#pan11" data-toggle="tab" onclick="LoadPortfolioIdeas($('.watchlist-select option:selected').val()); this.onclick=null;" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan11" style="pointer-events: auto; cursor: pointer;">Portfolio Ideas</a>
        <a id="marketranktab" class="nav-link" href="#pan12" data-toggle="tab" onclick="LoadMarketRank($('.watchlist-select option:selected').val()); this.onclick=null;" role="tab" aria-selected="false" tabindex="-1" aria-controls="pan12" style="pointer-events: auto; cursor: pointer;">MarketRank™</a>
      </div>
      <div class="left-button"><span class="fa-regular fa-angle-right font-8"></span></div>
      <div class="right-button"><span class="fa-regular fa-angle-right font-8"></span></div>
    </div>
    <!-- End Tabs -->
    <div class="tab-content start-gray-bg">
      <!-- My Portfolio -->
      <div id="pan1" class="tab-pane active position-relative" role="tabpanel" aria-labelledby="portfoliotab" tabindex="0">
        <h2 class="sr-only">My Portfolio</h2>
        <div class="row narrow-gutter-row">
          <div id="cphPrimaryContent_pnlBulkActionTop" class="col col-sm-6 col-lg-4">
            <div class="top-label-wrapper">
              <div class="input-group">
                <select name="ctl00$cphPrimaryContent$ddlBulkActionsTop" id="cphPrimaryContent_ddlBulkActionsTop" class="bulkActionSelect m-0 top-labeled-input" aria-label="Bulk Actions" style="width: calc(100% - 100px);">
                  <option value="0">Select a Bulk Action</option>
                  <option value="bulkDelete">Delete These Holdings</option>
                  <option value="bulkEnableEmail">Enable Email Alerts for These Holdings</option>
                  <option value="bulkDisableEmail">Disable Email Alerts for These Holdings</option>
                  <option value="bulkMove2519330">Move Holdings to 'My Default Watchlist'</option>
                  <option value="bulkMoveNew">Move Holdings to a New Watchlist</option>
                </select>
                <div class="input-group-append">
                  <button type="button" onclick="bulkActionModalShow('cphPrimaryContent_pnlBulkActionTop');" class="btn btn-primary btn-inline-input" style="padding:9px">Apply<span class="fa-regular fa-square-check ml-2"></span></button>
                </div>
              </div>
              <span class="top-label">Bulk Actions</span>
            </div>
            <p class="bulkActionWarning font-8 pt-1"></p>
          </div>
          <div class="col-12 col-sm-6 col-lg-4 position-relative" style="z-index: 100;">
            <div class="btn-group w-100" role="group">
              <div class="top-label-wrapper input-group dropdown" id="customizeColumnsGroup">
                <div class="moreinfo bg-white" tabindex="0" style="right: 2.5px;">
                  <span class="c-gray fa-regular fa-circle-question" aria-hidden="true"></span>
                  <span class="tooltiptext dark-mode toptip" id="tooltip-columns">Customize your watchlist columns by checking the ones you want to include and dragging them into the order you prefer.</span>
                </div>
                <button class="btn dropdown-toggle top-labeled-input" style="padding-left: .7rem;" type="button" id="dropdownColumns" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-display="static"
                  aria-describedby="tooltip-columns">
                  <span class="top-label">Select and Rearrange Columns</span>
                  <span class="top-label-selected"> 7 selected</span>
                </button>
                <ul id="columnChoiceList" style="display: none; margin-top: -1px;" class="custom-control custom-checkbox sortable dropdown-menu allow-focus nice-scroll position-absolute ui-sortable" aria-labelledby="dropdownColumns">
                  <li class="ui-sortable-handle"><input class="d-none" id="columnChoiceSubheaderClassicColumns" type="checkbox" value="SubheaderClassicColumns"><label class="subheader" for="columnChoiceSubheaderClassicColumns"> <span
                        class="list-item-inner">Classic Columns</span></label></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceCurrentPriceAndChange" type="checkbox" value="CurrentPriceAndChange" checked=""><label for="columnChoiceCurrentPriceAndChange"> <span
                          class="label-inner">Current Price and Change</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The current price of a listed asset and the amount the price has changed during the most recent trading period.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceHoldingValue" type="checkbox" value="HoldingValue"><label for="columnChoiceHoldingValue"> <span class="label-inner">Holding
                          Value</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Holding value is calculated as the current price of the holding times the holding size.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceCostBasis" type="checkbox" value="CostBasis"><label for="columnChoiceCostBasis"> <span class="label-inner">Cost Basis</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Cost basis is the original purchase price of each share of the asset.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceROI" type="checkbox" value="ROI"><label for="columnChoiceROI"> <span class="label-inner">ROI</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Return on investment (ROI) is a measurement that shows your profit on an investment as a percentage of your initial investment.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/return-on-investment-roi-defined/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePERatio" type="checkbox" value="PERatio" checked=""><label for="columnChoicePERatio"> <span class="label-inner">PE Ratio</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The price to earnings ratio (P/E) measures its current share price relative to its per-share earnings. The ratio is used in valuing companies.
                          <a target="_blank" href="https://www.marketbeat.com/market-data/low-pe-stocks/#price-to-earnings-ratio-pe">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceBeta" type="checkbox" value="Beta" checked=""><label for="columnChoiceBeta"> <span class="label-inner">Beta</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Beta is the result of a calculation that measures the relative volatility of a stock in correlation to a particular standard.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/what-is-in-beta-stock-selection/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceAnnualDividend" type="checkbox" value="AnnualDividend" checked=""><label for="columnChoiceAnnualDividend"> <span class="label-inner">Annual
                          Dividend</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The total amount of dividend dispersed per share per year.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/investing-dividend-stocks/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceConsensusRating" type="checkbox" value="ConsensusRating" checked=""><label for="columnChoiceConsensusRating"> <span class="label-inner">Consensus
                          Rating</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Analyst ratings or stock ratings, such as “Buy”, “Sell”, and “Hold” are an evaluation of a stock's expected performance and/or it's risk level as determined
                          by a rating agency or brokerage firm. Consensus is the summary/average of those ratings.
                          <a target="_blank" href="https://www.marketbeat.com/ratings/#stock-ratings-recommendations-analysts-upgrades-downgrades">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceConsensusPriceTarget" type="checkbox" value="ConsensusPriceTarget" checked=""><label for="columnChoiceConsensusPriceTarget"> <span
                          class="label-inner">Consensus Price Target</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">A price target is an investment analyst’s or adviser’s estimate of the future price level of an asset, such as a stock, futures contract, commodity or
                          exchange-traded fund (ETF). Consensus is the summary/average of those estimates. <a target="_blank" href="https://www.marketbeat.com/financial-terms/how-is-a-price-target-determined/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceUpsideDownside" type="checkbox" value="UpsideDownside" checked=""><label for="columnChoiceUpsideDownside"> <span
                          class="label-inner">Upside/Downside</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The potential change in stock price if the stock were to meet consensus price target estimates. Upside indicates that the consensus price target is higher
                          than the current price and downside indicates that the consensus price target is lower than the current price. <a target="_blank" href="https://www.marketbeat.com/financial-terms/upside-downside-explained/">Learn more</a>.
                        </div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><input class="d-none" id="columnChoiceSubheaderBasics" type="checkbox" value="SubheaderBasics"><label class="subheader" for="columnChoiceSubheaderBasics"> <span
                        class="list-item-inner">Basics</span></label></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceSector" type="checkbox" value="Sector"><label for="columnChoiceSector"> <span class="label-inner">Sector</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">A sector is an area of the economy where businesses share the same or related business activity, product, or service. Sectors represent a large grouping of
                          companies showcasing similar business activities.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceIndustry" type="checkbox" value="Industry"><label for="columnChoiceIndustry"> <span class="label-inner">Industry</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Industry refers to a specific group of companies or businesses, while "sector" describes a large segment of the economy.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceSubindustry" type="checkbox" value="Subindustry"><label for="columnChoiceSubindustry"> <span
                          class="label-inner">Subindustry</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Sub-industry is a more specific classification within an industry.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceCurrency" type="checkbox" value="Currency"><label for="columnChoiceCurrency"> <span class="label-inner">Currency</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The currency the stock trades in, such as U.S. Dollars.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceMarketCap" type="checkbox" value="MarketCap"><label for="columnChoiceMarketCap"> <span class="label-inner">Market Cap</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Market capitalization is the market value of all of a company's outstanding shares and is used by the investment community in ranking the size of companies,
                          as opposed to sales or total asset figures.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><input class="d-none" id="columnChoiceSubheaderValuation" type="checkbox" value="SubheaderValuation"><label class="subheader" for="columnChoiceSubheaderValuation"> <span
                        class="list-item-inner">Valuation</span></label></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceForwardPERatio" type="checkbox" value="ForwardPERatio"><label for="columnChoiceForwardPERatio"> <span class="label-inner">Forward PE
                          Ratio</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The price to earnings ratio (P/E) measures its current share price relative to its per-share earnings. The ratio is used in valuing companies.
                          <a target="_blank" href="https://www.marketbeat.com/market-data/low-pe-stocks/#price-to-earnings-ratio-pe">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePEG" type="checkbox" value="PEG"><label for="columnChoicePEG"> <span class="label-inner">P/E Growth</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The P/E growth ratio (or PEG) was developed and is used as a refinement of the standard P/E ratio that is used in fundamental analysis.
                          <a target="_blank" href="https://www.marketbeat.com/market-data/low-pe-stocks/#price-to-earnings-ratio-pe">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePriceSales" type="checkbox" value="PriceSales"><label for="columnChoicePriceSales"> <span class="label-inner">Price/Sales</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Valuation is a term investors use to indicate the degree to which a stock is accurately priced. The price-sales ratio does this by comparing a company’s stock
                          price to its revenues. <a target="_blank" href="https://www.marketbeat.com/financial-terms/what-is-price-sales-ratio/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePriceBook" type="checkbox" value="PriceBook"><label for="columnChoicePriceBook"> <span class="label-inner">Price/Book</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The price-to-book (P/B) ratio of a company's stock price to its book value on its balance sheet. The book value is the amount of money a firm can reasonably
                          expect if it sold all of its assets at current market prices.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePriceCash" type="checkbox" value="PriceCash"><label for="columnChoicePriceCash"> <span class="label-inner">Price/Cash</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The price-to-cash flow ratio measures the current price of the company's stock relative to the amount of cash generated by the company.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceRSI" type="checkbox" value="RSI"><label for="columnChoiceRSI"> <span class="label-inner">RSI</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Relative Strength Index (RSI) measures the velocity and magnitude of a stock's price movements and compares them with the magnitude of a stock's average gains
                          and average losses. A stock's RSI oscillates between zero and 100. <a target="_blank" href="https://www.marketbeat.com/financial-terms/momentum-indicator-relative-strength-index/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><input class="d-none" id="columnChoiceSubheaderEarnings" type="checkbox" value="SubheaderEarnings"><label class="subheader" for="columnChoiceSubheaderEarnings"> <span
                        class="list-item-inner">Earnings</span></label></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceAnnualSales" type="checkbox" value="AnnualSales"><label for="columnChoiceAnnualSales"> <span class="label-inner">Annual
                          Sales</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Annual Sales is a company's revenue from sales of its products or services in a year.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceEPSTrailingTwelveMonths" type="checkbox" value="EPSTrailingTwelveMonths"><label for="columnChoiceEPSTrailingTwelveMonths"> <span
                          class="label-inner">Trailing 12-Month EPS</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Trailing twelve months (TTM) earnings per share (EPS) is an investment metric determined by a company's earnings in the past 12 months divided by its number
                          of common outstanding shares. <a target="_blank" href="https://www.marketbeat.com/financial-terms/earnings-per-share-eps-explained/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceCurrentYearEPSEstimate" type="checkbox" value="CurrentYearEPSEstimate"><label for="columnChoiceCurrentYearEPSEstimate"> <span
                          class="label-inner">Current Year EPS Estimate</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Earnings per share (EPS) is an investment metric determined by a company's earnings divided by its number of common outstanding shares.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/earnings-per-share-eps-explained/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceNextYearEPSEstimate" type="checkbox" value="NextYearEPSEstimate"><label for="columnChoiceNextYearEPSEstimate"> <span class="label-inner">Next Year
                          EPS Estimate</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Earnings per share (EPS) is an investment metric determined by a company's earnings divided by its number of common outstanding shares.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/earnings-per-share-eps-explained/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceBookValue" type="checkbox" value="BookValue"><label for="columnChoiceBookValue"> <span class="label-inner">Book Value</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Book value per share (BVPS) is a ratio used to compare a firm's common shareholder's equity to the number of shares outstanding.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/book-value-equity-per-share-bvps/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceCashflow" type="checkbox" value="Cashflow"><label for="columnChoiceCashflow"> <span class="label-inner">Cash Flow</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Cash flow is a measurement of how much cash and cash equivalents a company is receiving and how much it is sending out.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/cash-flow-analysis-stock-selection/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceNetIncome" type="checkbox" value="NetIncome"><label for="columnChoiceNetIncome"> <span class="label-inner">Net Income</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Net income is the measurement of whether or not a company is making money and, if so, how much profit they are retaining.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/why-net-income-important-investors/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceNetMargins" type="checkbox" value="NetMargins"><label for="columnChoiceNetMargins"> <span class="label-inner">Net Margins</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Net margin (also known as net profit margin) is the amount of revenues that remains as profit after a given period of time.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/net-margin-understanding-different-types-profit/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><input class="d-none" id="columnChoiceSubheaderPerformance" type="checkbox" value="SubheaderPerformance"><label class="subheader" for="columnChoiceSubheaderPerformance"> <span
                        class="list-item-inner">Performance</span></label></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePreviousClose" type="checkbox" value="PreviousClose"><label for="columnChoicePreviousClose"> <span class="label-inner">Previous
                          Close</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The closing price of the last market day.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceOpeningPrice" type="checkbox" value="OpeningPrice"><label for="columnChoiceOpeningPrice"> <span class="label-inner">Opening
                          Price</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The opening price of the current market day.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceTodaysPerformanceFromOpen" type="checkbox" value="TodaysPerformanceFromOpen"><label for="columnChoiceTodaysPerformanceFromOpen"> <span
                          class="label-inner">Change from Open</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The amount/percent change from the current market day's opening price.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceCryptoPriceChangeOneHour" type="checkbox" value="CryptoPriceChangeOneHour"><label for="columnChoiceCryptoPriceChangeOneHour"> <span
                          class="label-inner">Crypto 1-Hour Change</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The change in price of the last hour in a market day.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePriceChangeSevenDays" type="checkbox" value="PriceChangeSevenDays"><label for="columnChoicePriceChangeSevenDays"> <span class="label-inner">7-Day
                          Price Change</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The 7 day price change of the stock/asset.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePriceChangeOneYear" type="checkbox" value="PriceChangeOneYear"><label for="columnChoicePriceChangeOneYear"> <span class="label-inner">1-Year Price
                          Change</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The 1-year price change of the stock/asset.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceFiftyTwoWeekRange" type="checkbox" value="FiftyTwoWeekRange"><label for="columnChoiceFiftyTwoWeekRange"> <span class="label-inner">52-Week
                          Range</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The 52-week range shows the lowest and highest price at which a stock has traded at in the previous 52 weeks.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceTodaysRange" type="checkbox" value="TodaysRange"><label for="columnChoiceTodaysRange"> <span class="label-inner">Today's
                          Range</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Today's range shows the lowest and highest price at which a stock has traded at today.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceTodaysVolume" type="checkbox" value="TodaysVolume"><label for="columnChoiceTodaysVolume"> <span class="label-inner">Today's
                          Volume</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Volume refers to the amount of shares or contracts traded in an asset or security over a period of time, usually over the course of a trading day.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceAverageDailyVolume" type="checkbox" value="AverageDailyVolume"><label for="columnChoiceAverageDailyVolume"> <span class="label-inner">Average Daily
                          Volume</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Volume refers to the amount of shares or contracts traded in an asset or security over a period of time, usually over the course of a trading day.
                          <a target="_blank" href="https://www.marketbeat.com/market-data/unusual-volume-stocks/#average-daily-trade-volume-explained">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceReturnOnAssets" type="checkbox" value="ReturnOnAssets"><label for="columnChoiceReturnOnAssets"> <span class="label-inner">Return On
                          Assets</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The return on assets (ROA) ratio is one of several profitability measures that investors use to measure their return on investment (ROI).
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/what-is-return-on-assets/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceReturnOnEquity" type="checkbox" value="ReturnOnEquity"><label for="columnChoiceReturnOnEquity"> <span class="label-inner">Return On
                          Equity</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Return on equity is a measurement of how efficient a company is in using its assets from their shareholders to create earnings.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/calculate-return-on-equity/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><input class="d-none" id="columnChoiceSubheaderDebt" type="checkbox" value="SubheaderDebt"><label class="subheader" for="columnChoiceSubheaderDebt"> <span class="list-item-inner">Debt</span></label>
                  </li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceDebtToEquityRatio" type="checkbox" value="DebtToEquityRatio"><label for="columnChoiceDebtToEquityRatio"> <span class="label-inner">Debt/Equity
                          Ratio</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">A company’s debt-to-equity ratio is a performance metric that measures a company’s level of debt in relation to the overall value of their stock.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/calcuulate-debt-to-equity-ration/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceCurrentRatio" type="checkbox" value="CurrentRatio"><label for="columnChoiceCurrentRatio"> <span class="label-inner">Current
                          Ratio</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The current ratio is a liquidity ratio that measures a company's ability to pay short-term obligations or those due within one year.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/what-is-current-ratio/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceQuickRatio" type="checkbox" value="QuickRatio"><label for="columnChoiceQuickRatio"> <span class="label-inner">Quick Ratio</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The quick ratio measures a company's capacity to pay its current liabilities without needing to sell its inventory or obtain additional financing.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/what-is-quick-ratio/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><input class="d-none" id="columnChoiceSubheaderDividend" type="checkbox" value="SubheaderDividend"><label class="subheader" for="columnChoiceSubheaderDividend"> <span
                        class="list-item-inner">Dividend</span></label></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceDividendYield" type="checkbox" value="DividendYield"><label for="columnChoiceDividendYield"> <span class="label-inner">Dividend
                          Yield</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Dividend yield is a company’s dividend expressed as a percentage of its stock price.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/what-is-dividend-yield/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceYieldOnCost" type="checkbox" value="YieldOnCost"><label for="columnChoiceYieldOnCost"> <span class="label-inner">Yield on
                          Cost</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Yield on cost is a company’s dividend expressed as a percentage of the price originally paid for the stock.
                          <a target="_blank" href="https://www.marketbeat.com/dividends/calculator/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceThreeYearDivGrowth" type="checkbox" value="ThreeYearDivGrowth"><label for="columnChoiceThreeYearDivGrowth"> <span class="label-inner">3-Year Dividend
                          Growth</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">How much the company's dividend has grown (or declined) over the past 3 years.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/investing-dividend-stocks/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePayoutRatio" type="checkbox" value="PayoutRatio"><label for="columnChoicePayoutRatio"> <span class="label-inner">Payout
                          Ratio</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The dividend payout ratio is the ratio of the total amount of dividends paid out to shareholders relative to the net income of the company. It is the
                          percentage of earnings paid to shareholders via dividends. <a target="_blank" href="https://www.marketbeat.com/financial-terms/investing-dividend-stocks/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceYearsOfDividendGrowth" type="checkbox" value="YearsOfDividendGrowth"><label for="columnChoiceYearsOfDividendGrowth"> <span class="label-inner">Years
                          of Dividend Growth</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The number of years the paid dividend has increased.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/investing-dividend-stocks/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceNextDividendPayoutDate" type="checkbox" value="NextDividendPayoutDate"><label for="columnChoiceNextDividendPayoutDate"> <span
                          class="label-inner">Next Dividend Payout Date</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">A payment date, also known as the pay or payable date, is the day on which a declared stock dividend is scheduled to be paid to eligible investors. This date
                          can be up to a month after the ex-dividend date. <a target="_blank" href="https://www.marketbeat.com/financial-terms/investing-dividend-stocks/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceNextExDividendDate" type="checkbox" value="NextExDividendDate"><label for="columnChoiceNextExDividendDate"> <span class="label-inner">Next
                          Ex-Dividend Date</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The ex-dividend date is the trading date on (and after) which the dividend is not owed to a new buyer of the stock. The ex-date is one business day before the
                          date of record. The date of record is the day on which the company checks its records to identify shareholders of the company.
                          <a target="_blank" href="https://www.marketbeat.com/dividends/ex-dividend-calendar/#ex-dividend-investing">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePaymentSchedule" type="checkbox" value="PaymentSchedule"><label for="columnChoicePaymentSchedule"> <span class="label-inner">Dividend Payment
                          Schedule</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The frequency in which a company announces dividends, examples include quarterly and yearly.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/investing-dividend-stocks/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><input class="d-none" id="columnChoiceSubheaderAdditionalIndicators" type="checkbox" value="SubheaderAdditionalIndicators"><label class="subheader" for="columnChoiceSubheaderAdditionalIndicators">
                      <span class="list-item-inner">Additional Indicators</span></label></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceMarketRank" type="checkbox" value="MarketRank"><label for="columnChoiceMarketRank"> <span class="label-inner">MarketRank™</span></label>&nbsp;<span
                        class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Our MarketRank<sup>™</sup> rates every stock on 7 unique categories: Analyst's Opinion, Short Interest, Dividend Strength, ESG Score, Media Sentiment, Company
                          Ownership, and Earnings and Valuation. MarketRank is calculated as an average of available category scores, with extra weight given to analysis and valuation.
                          <a target="_blank" href="https://www.marketbeat.com/stocks/top-marketrank/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceNewsSentiment" type="checkbox" value="NewsSentiment"><label for="columnChoiceNewsSentiment"> <span class="label-inner">News
                          Sentiment</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">News sentiment is one part of fundamental analysis. A good way to look at it is that technical signals will tell investors what’s happening to a stock’s
                          price. Understanding the news can help investors understand why that movement may be happening. <a target="_blank" href="https://www.marketbeat.com/financial-terms/market-news-sentiment-in-investing/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceInsiderOwnershipPercentage" type="checkbox" value="InsiderOwnershipPercentage"><label for="columnChoiceInsiderOwnershipPercentage"> <span
                          class="label-inner">Insider Ownership %</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The percentage of the company that company insiders own in shares.
                          <a target="_blank" href="https://www.marketbeat.com/insider-trades/#insider-trading-what-you-need-to-know">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceInstitutionalOwnershipPercentage" type="checkbox" value="InstitutionalOwnershipPercentage"><label for="columnChoiceInstitutionalOwnershipPercentage">
                        <span class="label-inner">Institutional Ownership %</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The percentage of the company that institutional owners own in shares.
                          <a target="_blank" href="https://www.marketbeat.com/financial-terms/what-are-institutional-investors/">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceNextEarningsDate" type="checkbox" value="NextEarningsDate"><label for="columnChoiceNextEarningsDate"> <span class="label-inner">Next Earnings
                          Date</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Earnings date is the date of the next release of a company's financial report. Earnings report date is the date of an official announcement about a company's
                          profitability for a specific time period. <a target="_blank" href="https://www.marketbeat.com/earnings/latest/#what-are-earnings-reports">Learn more</a>.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceEmployees" type="checkbox" value="Employees"><label for="columnChoiceEmployees"> <span class="label-inner">Number of
                          Employees</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">The number of employees in a company.</div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceOutstandingShares" type="checkbox" value="OutstandingShares"><label for="columnChoiceOutstandingShares"> <span class="label-inner">Outstanding
                          Shares</span></label>&nbsp;<span class="tooltip-available fa-regular fa-circle-question" aria-hidden="true"></span>
                      <div class="tooltip-content d-none">
                        <div class="p-2 bg-white border floating-tooltip shadow font-small">Outstanding shares are all the shares of a corporation or financial asset that have been authorized, issued and purchased by investors and are held by them.
                          They have rights and represent ownership in the corporation by the person who holds the shares. <a target="_blank" href="https://www.marketbeat.com/financial-terms/outstanding-shares-buying-selling-stocks/">Learn more</a>.
                        </div>
                      </div>
                    </span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><input class="d-none" id="columnChoiceSubheaderPortfolioDetails" type="checkbox" value="SubheaderPortfolioDetails"><label class="subheader" for="columnChoiceSubheaderPortfolioDetails"> <span
                        class="list-item-inner">Portfolio Details</span></label></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoiceNotes" type="checkbox" value="Notes"><label for="columnChoiceNotes"> <span class="label-inner">Notes</span></label></span><span
                      class="fa-regular fa-arrow-right-arrow-left"></span></li>
                  <li class="ui-sortable-handle"><span class="list-item-left"><input id="columnChoicePriceAlerts" type="checkbox" value="PriceAlerts"><label for="columnChoicePriceAlerts"> <span class="label-inner">Price
                          Alerts</span></label></span><span class="fa-regular fa-arrow-right-arrow-left"></span></li>
                </ul>
              </div>
              <div class="btn-group" role="group">
                <a onclick="return ColumnChecksChanged;" id="cphPrimaryContent_btnApplyColumns" class="btn btn-primary btn-inline-input w-100  d-flex align-items-center" title="Customize Columns" href="javascript:__doPostBack('ctl00$cphPrimaryContent$btnApplyColumns','')" style="border-radius:5px;padding:9px;"><span class="fa-regular fa-circle-check"></span></a>
                <a id="cphPrimaryContent_btnResetColumns" class="btn btn-secondary w-100 ml-2 d-flex align-items-center" title="Reset Columns" href="javascript:__doPostBack('ctl00$cphPrimaryContent$btnResetColumns','')" style="border-radius:5px;padding:9px;"><span class="fa-regular fa-rotate-right"></span></a>
              </div>
            </div>
            <input type="hidden" name="ctl00$cphPrimaryContent$hdnColumns" id="cphPrimaryContent_hdnColumns">
          </div>
        </div>
        <span id="cphPrimaryContent_AutoMagicalTimer" style="visibility:hidden;display:none;"></span>
        <div id="cphPrimaryContent_pnlUpdateStockPrice">
          <div class="text-right ml-auto pt-2 pt-sm-0" style="max-width: 255px;">
            <span class="small checkbox-line custom-control custom-checkbox pt-1" style="margin-bottom: -7px">
              <input id="cphPrimaryContent_chkUpdatePrices" type="checkbox" name="ctl00$cphPrimaryContent$chkUpdatePrices" onclick="javascript:setTimeout('__doPostBack(\'ctl00$cphPrimaryContent$chkUpdatePrices\',\'\')', 0)"><label
                for="cphPrimaryContent_chkUpdatePrices">Refresh price data every 60 seconds</label></span>
            <em class="small">Last updated: 11/19 11:44 PM ET</em>
          </div>
          <div style="display: none;">
          </div>
        </div>
        <div id="visibleWatchlists">
          <div class="d-flex justify-content-between mt-2 mb-1">
            <div class="watchlist-title"><strong>My Default Watchlist</strong></div>
            <div><button type="button" data-toggle="modal" data-target="#Panel5" title="Edit This Watchlist" class="btn btn-secondary p-1 settings-button"
                onclick="editWatchlist(&quot;2519330&quot;, &quot;My Default Watchlist&quot;, &quot;0&quot;)"><span class="fa-regular fa-pen-to-square" aria-hidden="true"></span></button>&nbsp;<button type="button" data-toggle="modal"
                data-target="#Panel7" title="Delete This Watchlist" class="btn btn-secondary p-1 settings-button" onclick="deleteWatchlist(&quot;2519330&quot;, &quot;My Default Watchlist&quot;)"><span class="fa-regular fa-trash-can"
                  aria-hidden="true"></span></button><br></div>
          </div>
          <div class="scroll-table-wrapper-wrapper">
            <div class="scroll-table-wrapper" style="padding-top: 67.8438px;">
              <table cellspacing="0" cellpadding="3" class="scroll-table dont-scrolltable-on-rebind sort-table dont-sort-on-rebind fixed-header">
                <thead class="hide-scrollbar" style="width: 1418px; position: absolute; top: 0px;">
                  <tr>
                    <th data-hide="" data-sort="string" style="min-width: 103.484px; max-width: 103.484px;">
                      <div onclick="event.stopPropagation();" class="wl-check custom-control custom-checkbox"><input type="checkbox" name="blkActionSelectAllInTable"
                          aria-label="select all in holdings in watchlist My Default Watchlist for bulk action" class="selectAllInTable" id="watchlist2519330"><label class="selectAllInTableLabel" for="watchlist2519330"><span class="sr-only">Select
                            All Holdings in watchlist My Default Watchlist</span></label></div>
                    </th>
                    <th data-sort="string" data-clean="Symbol|Holding" style="min-width: 185.109px; max-width: 185.109px;">Holding</th>
                    <th data-sort="float" data-clean="Current Price|Price Change|Price Change Percentage" style="min-width: 169.438px; max-width: 169.438px;">Current Price</th>
                    <th data-sort="float" style="min-width: 94.6562px; max-width: 94.6562px;">PE Ratio</th>
                    <th data-sort="float" style="min-width: 94.6562px; max-width: 94.6562px;">Beta</th>
                    <th data-sort="float" style="min-width: 151.031px; max-width: 151.031px;">Annual Dividend</th>
                    <th data-sort="float" data-clean="Consensus Rating|Consensus Rating Score" style="min-width: 160.562px; max-width: 160.562px;">Consensus Rating</th>
                    <th data-sort="float" style="min-width: 104.125px; max-width: 104.125px;">Consensus Price Target</th>
                    <th data-sort="float" style="min-width: 171.766px; max-width: 171.766px;">Upside/​Downside</th>
                    <th data-hide="" style="min-width: 183.172px; max-width: 183.172px;">Settings</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td data-hide="" data-sort-value="AAPL">
                      <div class="wl-check custom-control custom-checkbox"><input type="checkbox" class="bulkactioncheck" name="includeInBulkAction" value="8026663" id="holding8026663" aria-label="bulk action check box for Apple Inc."><label
                          for="holding8026663"><span class="sr-only">Apply Bulk Action to Apple Inc.</span></label></div>
                      <div class="wl-with-check"><img loading="lazy" height="53" width="80" src="https://www.marketbeat.com/logos/thumbnail/apple-inc-logo.png" alt="Apple Inc. logo" title="AAPL"></div>
                    </td>
                    <td data-clean="AAPL|Apple Inc.">
                      <a class="boldsymbol" href="/stocks/NASDAQ/AAPL/">AAPL</a><a rel="nofollow" href="/stocks/NASDAQ/AAPL/chart/"><img class="sparkline" alt="AAPL 90-day performance" title="90-day performance" src="https://www.marketbeat.com/Scripts/sparklines.ashx?prefix=NASDAQ&amp;symbol=AAPL"></a><br>Apple
                    </td>
                    <td class="changeable-cell" style="/*min-width:165px*/" data-sort-value="0.00114025085518814" data-clean="$228.28|+$0.26|0.11%"><strong>$228.28</strong><br><span class="c-green">+$0.26 (0.11%)</span></td>
                    <td data-sort-value="37.5461143850566">37.55</td>
                    <td>1.24</td>
                    <td data-sort-value="1.00">$1.00 per sh.</td>
                    <td data-sort-value="2.61" data-clean="Moderate Buy|2.61"><strong>Moderate Buy</strong><br>2.61</td>
                    <td style="/*min-width:160px*/" data-sort-value="235.254857142857">$235.25</td>
                    <td class="changeable-cell" data-sort-value="0.0305539562942752"><span class="c-green">3.06% Upside</span></td>
                    <td style="text-align:right;min-width:145px;padding:4px 8px 4px 2px;" data-hide="">
                      <div class="ntf-area">
                        <div class="settings-button shownotifications" id="20240502113102133_NASDAQ_AAPL"><button tabindex="0" onfocus="positionNotifications(this)" onmouseover="positionNotifications(this)"
                            class="btn btn-tertiary p-1 fa-regular fa-bell"><span class="sr-only">View notifications for this stock</span></button><span class="ntf-number plus">9+</span>
                          <div class="latest-notifications">
                            <div>
                              <div class="ntf-header gradient-blue font-8"><strong>Apple</strong><span
                                  class="float-right"><a onclick="var e = $('div[id$=' + $(this).closest('.shownotifications').attr('id').split('_')[1] + '_'+ $(this).closest('.shownotifications').attr('id').split('_')[2]); $.get('/Scripts/NotificationsHelpers.ashx?command=markasread&amp;prefix=NASDAQ&amp;symbol=AAPL&amp;accountid=11404962&amp;hash=8836967B6489343AFFEBE4A9F20736CC3E70C11EF914402B105D0B1411AC2283469760A890F500A211DD2AA9EFAC84240FC1F5B99ADAF28EBA5B81CB4965A10A&amp;viewedthrough=20241119183835623', function (data, status) { $(e).find('.ntf-number').hide(); $(e).find('.new-notification').removeClass('new-notification'); }); this.blur();" style="cursor:pointer;color:#fff;">Mark as Read</a></span>
                                <div class="clearfix"></div>
                              </div>
                              <ul>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-insider-sells-94523310-in-stock-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 6:38 PM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-insider-sells-94523310-in-stock-2024-11-19/">Apple Inc. (NASDAQ:AAPL) Insider Sells $945,233.10 in Stock</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/apple-inc-logo.png" alt="Apple logo" height="100" width="100" style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 6:10 PM</div>
                                    <p class="c-black">Apple Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=AAPL">Get Free Report</a>)
                                      insider <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/apple-inc-stock/chris-kondo/">Chris Kondo</a> sold 4,130 shares of Apple stock in a transaction that occurred on Monday, November
                                      18th. The shares were sold at an average price of $228.87, for a total transaction of $945,233.10. Following the sale, the insider now directly owns 15,419 shares in the company, valued at approximately
                                      $3,528,946.53. The trade was a 21.13 % decrease in their position. The transaction was disclosed in a document filed with the SEC, which is accessible through
                                      <a href="http://www.sec.gov/Archives/edgar/data/320193/000032019324000129/xslF345X05/wk-form4_1732059042.xml" target="_blank">the SEC website</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609801/apple-takes-over-apple-news-ad-sales-phases-out-third-parties"><img src="/images/news-sites/gurufocus.jpg" alt="gurufocus.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 6:03 PM - gurufocus.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609801/apple-takes-over-apple-news-ad-sales-phases-out-third-parties">Apple Takes Over Apple News Ad Sales, Phases Out Third Parties</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://techcrunch.com/2024/11/19/apple-says-mac-users-targeted-in-zero-day-cyberattacks/"><img src="https://www.marketbeat.com/logos/apple-inc-logo.png" alt="Apple logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 5:45 PM - techcrunch.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://techcrunch.com/2024/11/19/apple-says-mac-users-targeted-in-zero-day-cyberattacks/">Apple says Mac users targeted in zero-day cyberattacks</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.businessinsider.com/google-antitrust-apple-search-payments-iphone-2024-11"><img src="/images/news-sites/businessinsider.jpg" alt="businessinsider.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 4:22 PM - businessinsider.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.businessinsider.com/google-antitrust-apple-search-payments-iphone-2024-11">Google's antitrust loss could cost Apple billions of dollars</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://appleinsider.com/articles/24/11/19/apple-shifts-to-internal-advertising-sales-for-apple-news"><img src="https://www.marketbeat.com/logos/apple-inc-logo.png" alt="Apple logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 4:07 PM - appleinsider.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://appleinsider.com/articles/24/11/19/apple-shifts-to-internal-advertising-sales-for-apple-news">Apple shifts to internal advertising sales for Apple News</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://us.yahoo.com/tech/apple-might-discontinue-most-courageous-152657109.html"><img src="/images/news-sites/yahoo.jpg" alt="yahoo.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 4:07 PM - us.yahoo.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://us.yahoo.com/tech/apple-might-discontinue-most-courageous-152657109.html">Apple might discontinue its most ‘courageous’ iPhone accessory</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/apple-nasdaqaapl-shares-up-04-heres-why-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 2:51 PM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/instant-alerts/apple-nasdaqaapl-shares-up-04-heres-why-2024-11-19/">Apple (NASDAQ:AAPL) Shares Up 0.4%  - Here's Why</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/apple-nasdaqaapl-price-target-lowered-to-20200-at-moffett-nathanson-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 10:44 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/apple-nasdaqaapl-price-target-lowered-to-20200-at-moffett-nathanson-2024-11-19/">Apple (NASDAQ:AAPL) Price Target Lowered to $202.00 at Moffett Nathanson</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/apple-inc-logo.png" alt="Apple logo" height="100" width="100" style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 10:44 AM</div>
                                    <p class="c-black">Apple had its price target lowered by analysts at Moffett Nathanson from $211.00 to $202.00. They now have a "neutral" rating on the stock. This represents a 11.5% downside from the current price
                                      of $228.28. <br><a rel="nofollow" href="https://www.briefing.com/Inv/content/Calendar/Updown/reiterated.htm/" target="_blank">Briefing.com Automated Import</a>,
                                      <a rel="nofollow" href="http://www.stocktargetadvisor.com/stock_details//" target="_blank">Stock Target Advisor</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.insidermonkey.com/blog/apple-aapl-ended-the-quarter-with-strength-1393504/"><img src="/images/news-sites/insidermonkey.jpg" alt="insidermonkey.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 9:09 AM - insidermonkey.com</div>
                                    <p class="c-black"><a rel="nofollow noopener" target="_blank" href="https://www.insidermonkey.com/blog/apple-aapl-ended-the-quarter-with-strength-1393504/">Apple (AAPL) Ended the Quarter with Strength</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/earnings/transcripts/111508/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 6:08 AM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/earnings/transcripts/111508/">Apple Q4 Earnings Transcript</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-is-abacus-planning-group-incs-10th-largest-position-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 2:08 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-is-abacus-planning-group-incs-10th-largest-position-2024-11-19/">Apple Inc. (NASDAQ:AAPL) is Abacus Planning Group Inc.'s 10th Largest Position</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-stake-lessened-by-ables-iannone-moore-associates-inc-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 2:08 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-stake-lessened-by-ables-iannone-moore-associates-inc-2024-11-19/">Apple Inc. (NASDAQ:AAPL) Stake Lessened by Ables Iannone Moore &amp; Associates Inc.</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-shares-sold-by-mr-capital-management-inc-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 2:08 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-shares-sold-by-mr-capital-management-inc-2024-11-19/">Apple Inc. (NASDAQ:AAPL) Shares Sold by M&amp;R Capital Management Inc.</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-shares-acquired-by-waller-financial-planning-group-inc-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 2:08 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-shares-acquired-by-waller-financial-planning-group-inc-2024-11-19/">Apple Inc. (NASDAQ:AAPL) Shares Acquired by Waller Financial Planning Group Inc.</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/73148-shares-in-apple-inc-nasdaqaapl-bought-by-ashburton-jersey-ltd-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 2:08 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/73148-shares-in-apple-inc-nasdaqaapl-bought-by-ashburton-jersey-ltd-2024-11-19/">73,148 Shares in Apple Inc. (NASDAQ:AAPL) Bought by Ashburton Jersey Ltd</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/alternative-investment-advisors-llc-purchases-shares-of-5465-apple-inc-nasdaqaapl-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 2:08 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/alternative-investment-advisors-llc-purchases-shares-of-5465-apple-inc-nasdaqaapl-2024-11-19/">Alternative Investment Advisors LLC. Purchases Shares of 5,465 Apple Inc. (NASDAQ:AAPL)</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-holdings-reduced-by-appleton-partners-inc-ma-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 2:08 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-holdings-reduced-by-appleton-partners-inc-ma-2024-11-19/">Apple Inc. (NASDAQ:AAPL) Holdings Reduced by Appleton Partners Inc. MA</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-shares-sold-by-jacobs-co-ca-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AAPL/">NASDAQ:AAPL</a>Today, 2:08 AM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/instant-alerts/apple-inc-nasdaqaapl-shares-sold-by-jacobs-co-ca-2024-11-19/">Apple Inc. (NASDAQ:AAPL) Shares Sold by Jacobs &amp; Co. CA</a></p>
                                  </div>
                                </li>
                              </ul>
                              <div class="ntf-footer font-8"><a href="/notifications/NASDAQ/AAPL/">View All Notifications for Apple</a></div>
                            </div>
                          </div>
                        </div>
                      </div><button type="button" data-toggle="modal" data-target="#Panel4" title="Edit This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="editHolding(&quot;8026663&quot; , &quot;NASDAQ&quot;, &quot;AAPL&quot; , &quot;0&quot; , &quot;0.00&quot; , &quot;2519330&quot; , false , false , true , &quot;USD&quot;, &quot;0.00&quot;, &quot;0&quot; , &quot;0&quot;, &quot;0&quot;, &quot;&quot;, &quot;Apple Inc.&quot;, &quot;228.28&quot;, &quot;11/19/2024&quot;)"><span
                          class="fa-regular fa-pen-to-square" aria-hidden="true"></span></button> <button type="button" data-toggle="modal" data-target="#Panel6" title="Delete This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="deleteStock(&quot;8026663&quot; , &quot;Apple Inc.&quot;)"><span class="fa-regular fa-trash-can" aria-hidden="true"></span></button>
                    </td>
                  </tr>
                  <tr>
                    <td data-hide="" data-sort-value="AMZN">
                      <div class="wl-check custom-control custom-checkbox"><input type="checkbox" class="bulkactioncheck" name="includeInBulkAction" value="8026666" id="holding8026666" aria-label="bulk action check box for Amazon.com, Inc."><label
                          for="holding8026666"><span class="sr-only">Apply Bulk Action to Amazon.com, Inc.</span></label></div>
                      <div class="wl-with-check"><img loading="lazy" height="29" width="80" src="https://www.marketbeat.com/logos/thumbnail/amazoncom-inc-logo.jpg" alt="Amazon.com, Inc. logo" title="AMZN"></div>
                    </td>
                    <td data-clean="AMZN|Amazon.com, Inc.">
                      <a class="boldsymbol" href="/stocks/NASDAQ/AMZN/">AMZN</a><a rel="nofollow" href="/stocks/NASDAQ/AMZN/chart/"><img class="sparkline" alt="AMZN 90-day performance" title="90-day performance" src="https://www.marketbeat.com/Scripts/sparklines.ashx?prefix=NASDAQ&amp;symbol=AMZN"></a><br>Amazon.com
                    </td>
                    <td class="changeable-cell" style="/*min-width:165px*/" data-sort-value="0.014427367377293" data-clean="$204.61|+$2.91|1.44%"><strong>$204.61</strong><br><span class="c-green">+$2.91 (1.44%)</span></td>
                    <td data-sort-value="43.813704496788">43.81</td>
                    <td>1.14</td>
                    <td data-sort-value="0.20">$0.20 per sh.</td>
                    <td data-sort-value="2.98" data-clean="Moderate Buy|2.98"><strong>Moderate Buy</strong><br>2.98</td>
                    <td style="/*min-width:160px*/" data-sort-value="235.454545454545">$235.45</td>
                    <td class="changeable-cell" data-sort-value="0.150747986191024"><span class="c-green">15.07% Upside</span></td>
                    <td style="text-align:right;min-width:145px;padding:4px 8px 4px 2px;" data-hide="">
                      <div class="ntf-area">
                        <div class="settings-button shownotifications" id="20240502113102133_NASDAQ_AMZN"><button tabindex="0" onfocus="positionNotifications(this)" onmouseover="positionNotifications(this)"
                            class="btn btn-tertiary p-1 fa-regular fa-bell"><span class="sr-only">View notifications for this stock</span></button><span class="ntf-number plus">9+</span>
                          <div class="latest-notifications">
                            <div>
                              <div class="ntf-header gradient-blue font-8"><strong>Amazon.com</strong><span
                                  class="float-right"><a onclick="var e = $('div[id$=' + $(this).closest('.shownotifications').attr('id').split('_')[1] + '_'+ $(this).closest('.shownotifications').attr('id').split('_')[2]); $.get('/Scripts/NotificationsHelpers.ashx?command=markasread&amp;prefix=NASDAQ&amp;symbol=AMZN&amp;accountid=11404962&amp;hash=8836967B6489343AFFEBE4A9F20736CC3E70C11EF914402B105D0B1411AC2283469760A890F500A211DD2AA9EFAC84240FC1F5B99ADAF28EBA5B81CB4965A10A&amp;viewedthrough=2024111918384661', function (data, status) { $(e).find('.ntf-number').hide(); $(e).find('.new-notification').removeClass('new-notification'); }); this.blur();" style="cursor:pointer;color:#fff;">Mark as Read</a></span>
                                <div class="clearfix"></div>
                              </div>
                              <ul>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/daniel-p-huttenlocher-sells-1237-shares-of-amazoncom-inc-nasdaqamzn-stock-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 6:38 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/daniel-p-huttenlocher-sells-1237-shares-of-amazoncom-inc-nasdaqamzn-stock-2024-11-19/">Daniel P. Huttenlocher Sells 1,237 Shares of Amazon.com, Inc. (NASDAQ:AMZN) Stock</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/amazoncom-inc-logo.jpg" alt="Amazon.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 6:06 PM</div>
                                    <p class="c-black"><a rel="nofollow" href="https://amzn.to/2R7GAMq">Amazon.com, Inc.</a> (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>) Director
                                      <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/amazoncom-inc-stock/daniel-p-huttenlocher/">Daniel P. Huttenlocher</a> sold 1,237 shares of the business's stock in a transaction dated
                                      Tuesday, November 19th. The stock was sold at an average price of $199.06, for a total transaction of $246,237.22. Following the transaction, the director now owns 24,912 shares in the company, valued at
                                      $4,958,982.72. This represents a 4.73 % decrease in their ownership of the stock. The transaction was disclosed in a legal filing with the Securities &amp; Exchange Commission, which is available through
                                      <a href="http://www.sec.gov/Archives/edgar/data/1018724/000101872424000183/xslF345X05/wk-form4_1732060293.xml" target="_blank">the SEC website</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://financialpost.com/pmn/business-pmn/in-brazil-biden-fades-out-into-amazon-jungle"><img src="https://www.marketbeat.com/logos/amazoncom-inc-logo.jpg" alt="Amazon.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 6:03 PM - financialpost.com</div>
                                    <p class="c-black"><a rel="nofollow noopener" target="_blank" href="https://financialpost.com/pmn/business-pmn/in-brazil-biden-fades-out-into-amazon-jungle">In Brazil, Biden Fades Out Into Amazon Jungle</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.bizjournals.com/seattle/news/2024/11/19/levanta-series-a-funding-ian-brodie.html"><img src="/images/news-sites/bizjournal.jpg" alt="bizjournals.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 4:16 PM - bizjournals.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.bizjournals.com/seattle/news/2024/11/19/levanta-series-a-funding-ian-brodie.html">Amazon-to-influencer startup wraps up Series A boon</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.msn.com/en-us/money/other/amazoncom-amzn-leverages-traditional-ai-aws-poised-for-growth-in-cloud-ai-market/ar-AA1um7kA"><img src="/images/news-sites/msn.jpg" alt="msn.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 4:16 PM - msn.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.msn.com/en-us/money/other/amazoncom-amzn-leverages-traditional-ai-aws-poised-for-growth-in-cloud-ai-market/ar-AA1um7kA">Amazon.com (AMZN) Leverages Traditional AI: AWS Poised for Growth in Cloud AI Market</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.msn.com/en-us/money/markets/amazoncom-inc-amzn-aws-assures-ai-clients-of-compliance-with-new-white-house-national-security-guidelines/ar-AA1umPZi"><img src="/images/news-sites/msn.jpg" alt="msn.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 4:16 PM - msn.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.msn.com/en-us/money/markets/amazoncom-inc-amzn-aws-assures-ai-clients-of-compliance-with-new-white-house-national-security-guidelines/ar-AA1umPZi">Amazon.com, Inc. (AMZN): AWS Assures AI Clients of Compliance with New White House National Security Guidelines</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/amazoncom-nasdaqamzn-trading-up-01-time-to-buy-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 2:51 PM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/instant-alerts/amazoncom-nasdaqamzn-trading-up-01-time-to-buy-2024-11-19/">Amazon.com (NASDAQ:AMZN) Trading Up 0.1%  - Time to Buy?</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.businessinsider.com/amazon-save-alexa-with-ai-2024-11"><img src="/images/news-sites/businessinsider.jpg" alt="businessinsider.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 2:02 PM - businessinsider.com</div>
                                    <p class="c-black"><a rel="nofollow noopener" target="_blank" href="https://www.businessinsider.com/amazon-save-alexa-with-ai-2024-11">Inside Amazon's agonizing attempt to save Alexa with AI</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.pymnts.com/amazon/2024/amazon-has-no-plans-to-hike-fulfillment-and-referral-fees-in-2025/"><img src="/images/news-sites/pymnts.jpg" alt="pymnts.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 1:01 PM - pymnts.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.pymnts.com/amazon/2024/amazon-has-no-plans-to-hike-fulfillment-and-referral-fees-in-2025/">Amazon Has No Plans to Hike Fulfillment and Referral Fees in 2025</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.pymnts.com/amazon/2024/amazon-has-no-plans-to-hike-fulfillment-and-referral-fees-in-2025/?utm_source=snapi"><img src="/images/news-sites/pymnts.jpg" alt="pymnts.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 12:35 PM - pymnts.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.pymnts.com/amazon/2024/amazon-has-no-plans-to-hike-fulfillment-and-referral-fees-in-2025/?utm_source=snapi">Amazon Has No Plans to Hike Fulfillment and Referral Fees in 2025</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://seekingalpha.com/article/4738686-ai-spending-to-exceed-a-quarter-trillion-dollars-next-year"><img src="/images/news-sites/seekingalpha.jpg" alt="seekingalpha.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 11:04 AM - seekingalpha.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://seekingalpha.com/article/4738686-ai-spending-to-exceed-a-quarter-trillion-dollars-next-year">AI Spending To Exceed A Quarter Trillion Dollars Next Year</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983877/0/en/common-sense-networks-unveils-sensicalmatch-ai-powered-by-deloitte-and-amazon-web-services-redefining-safe-advertising-for-kids.html"><img src="/images/news-sites/globenewswire.jpg" alt="globenewswire.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 11:00 AM - globenewswire.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983877/0/en/common-sense-networks-unveils-sensicalmatch-ai-powered-by-deloitte-and-amazon-web-services-redefining-safe-advertising-for-kids.html">Common Sense Networks Unveils SENSICALMATCH.AI™ Powered by Deloitte and Amazon Web Services, Redefining Safe Advertising for Kids</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.marketwatch.com/story/heres-how-to-find-cheaper-prices-than-amazons-with-one-simple-hack-635dbbda"><img src="/images/news-sites/marketwatch.jpg" alt="marketwatch.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 10:08 AM - marketwatch.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.marketwatch.com/story/heres-how-to-find-cheaper-prices-than-amazons-with-one-simple-hack-635dbbda">Here's how to find cheaper prices than Amazon's — with one simple hack</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/earnings/transcripts/112480/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 6:08 AM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/earnings/transcripts/112480/">Amazon.com Q3 Earnings Transcript</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.fool.com/investing/2024/11/19/2-no-brainer-warren-buffett-stocks-buy-now/"><img src="/images/news-sites/motleyfool.jpg" alt="fool.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 4:15 AM - fool.com</div>
                                    <p class="c-black"><a rel="nofollow noopener" target="_blank" href="https://www.fool.com/investing/2024/11/19/2-no-brainer-warren-buffett-stocks-buy-now/">2 No-Brainer Warren Buffett Stocks to Buy Right Now</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.fool.com/investing/2024/11/19/the-best-stocks-to-invest-1000-in-right-now/"><img src="/images/news-sites/motleyfool.jpg" alt="fool.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 3:15 AM - fool.com</div>
                                    <p class="c-black"><a rel="nofollow noopener" target="_blank" href="https://www.fool.com/investing/2024/11/19/the-best-stocks-to-invest-1000-in-right-now/">The Best Stocks to Invest $1,000 In Right Now</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/capital-investment-advisors-llc-has-4077-million-stock-holdings-in-amazoncom-inc-nasdaqamzn-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 2:09 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/capital-investment-advisors-llc-has-4077-million-stock-holdings-in-amazoncom-inc-nasdaqamzn-2024-11-19/">Capital Investment Advisors LLC Has $40.77 Million Stock Holdings in Amazon.com, Inc. (NASDAQ:AMZN)</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/dixon-mitchell-investment-counsel-inc-has-5623-million-position-in-amazoncom-inc-nasdaqamzn-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 2:09 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/dixon-mitchell-investment-counsel-inc-has-5623-million-position-in-amazoncom-inc-nasdaqamzn-2024-11-19/">Dixon Mitchell Investment Counsel Inc. Has $56.23 Million Position in Amazon.com, Inc. (NASDAQ:AMZN)</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/blue-trust-inc-acquires-35824-shares-of-amazoncom-inc-nasdaqamzn-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 2:09 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/blue-trust-inc-acquires-35824-shares-of-amazoncom-inc-nasdaqamzn-2024-11-19/">Blue Trust Inc. Acquires 35,824 Shares of Amazon.com, Inc. (NASDAQ:AMZN)</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/first-citizens-bank-trust-co-lowers-stock-holdings-in-amazoncom-inc-nasdaqamzn-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/AMZN/">NASDAQ:AMZN</a>Today, 2:09 AM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/first-citizens-bank-trust-co-lowers-stock-holdings-in-amazoncom-inc-nasdaqamzn-2024-11-19/">First Citizens Bank &amp; Trust Co. Lowers Stock Holdings in Amazon.com, Inc. (NASDAQ:AMZN)</a>
                                    </p>
                                  </div>
                                </li>
                              </ul>
                              <div class="ntf-footer font-8"><a href="/notifications/NASDAQ/AMZN/">View All Notifications for Amazon.com</a></div>
                            </div>
                          </div>
                        </div>
                      </div><button type="button" data-toggle="modal" data-target="#Panel4" title="Edit This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="editHolding(&quot;8026666&quot; , &quot;NASDAQ&quot;, &quot;AMZN&quot; , &quot;0&quot; , &quot;0.00&quot; , &quot;2519330&quot; , false , false , true , &quot;USD&quot;, &quot;0.00&quot;, &quot;0&quot; , &quot;0&quot;, &quot;0&quot;, &quot;&quot;, &quot;Amazon.com, Inc.&quot;, &quot;204.61&quot;, &quot;11/19/2024&quot;)"><span
                          class="fa-regular fa-pen-to-square" aria-hidden="true"></span></button> <button type="button" data-toggle="modal" data-target="#Panel6" title="Delete This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="deleteStock(&quot;8026666&quot; , &quot;Amazon.com, Inc.&quot;)"><span class="fa-regular fa-trash-can" aria-hidden="true"></span></button>
                    </td>
                  </tr>
                  <tr>
                    <td data-hide="" data-sort-value="GOOGL">
                      <div class="wl-check custom-control custom-checkbox"><input type="checkbox" class="bulkactioncheck" name="includeInBulkAction" value="8026662" id="holding8026662" aria-label="bulk action check box for Alphabet Inc."><label
                          for="holding8026662"><span class="sr-only">Apply Bulk Action to Alphabet Inc.</span></label></div>
                      <div class="wl-with-check"><img loading="lazy" height="28" width="80" src="https://www.marketbeat.com/logos/thumbnail/google-inc-logo.png" alt="Alphabet Inc. logo" title="GOOGL"></div>
                    </td>
                    <td data-clean="GOOGL|Alphabet Inc.">
                      <a class="boldsymbol" href="/stocks/NASDAQ/GOOGL/">GOOGL</a><a rel="nofollow" href="/stocks/NASDAQ/GOOGL/chart/"><img class="sparkline" alt="GOOGL 90-day performance" title="90-day performance" src="https://www.marketbeat.com/Scripts/sparklines.ashx?prefix=NASDAQ&amp;symbol=GOOGL"></a><br>Alphabet
                    </td>
                    <td class="changeable-cell" style="/*min-width:165px*/" data-sort-value="0.0160867084997148" data-clean="$178.12|+$2.82|1.61%"><strong>$178.12</strong><br><span class="c-green">+$2.82 (1.61%)</span></td>
                    <td data-sort-value="23.6233735058004">23.62</td>
                    <td>1.03</td>
                    <td data-sort-value="0.80">$0.80 per sh.</td>
                    <td data-sort-value="2.93" data-clean="Moderate Buy|2.93"><strong>Moderate Buy</strong><br>2.93</td>
                    <td style="/*min-width:160px*/" data-sort-value="205.897435897436">$205.90</td>
                    <td class="changeable-cell" data-sort-value="0.155947877259353"><span class="c-green">15.59% Upside</span></td>
                    <td style="text-align:right;min-width:145px;padding:4px 8px 4px 2px;" data-hide="">
                      <div class="ntf-area">
                        <div class="settings-button shownotifications" id="20240502113102133_NASDAQ_GOOGL"><button tabindex="0" onfocus="positionNotifications(this)" onmouseover="positionNotifications(this)"
                            class="btn btn-tertiary p-1 fa-regular fa-bell"><span class="sr-only">View notifications for this stock</span></button><span class="ntf-number plus">9+</span>
                          <div class="latest-notifications">
                            <div>
                              <div class="ntf-header gradient-blue font-8"><strong>Alphabet</strong><span
                                  class="float-right"><a onclick="var e = $('div[id$=' + $(this).closest('.shownotifications').attr('id').split('_')[1] + '_'+ $(this).closest('.shownotifications').attr('id').split('_')[2]); $.get('/Scripts/NotificationsHelpers.ashx?command=markasread&amp;prefix=NASDAQ&amp;symbol=GOOGL&amp;accountid=11404962&amp;hash=8836967B6489343AFFEBE4A9F20736CC3E70C11EF914402B105D0B1411AC2283469760A890F500A211DD2AA9EFAC84240FC1F5B99ADAF28EBA5B81CB4965A10A&amp;viewedthrough=20241119162207', function (data, status) { $(e).find('.ntf-number').hide(); $(e).find('.new-notification').removeClass('new-notification'); }); this.blur();" style="cursor:pointer;color:#fff;">Mark as Read</a></span>
                                <div class="clearfix"></div>
                              </div>
                              <ul>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.businessinsider.com/google-antitrust-apple-search-payments-iphone-2024-11"><img src="/images/news-sites/businessinsider.jpg" alt="businessinsider.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 4:22 PM - businessinsider.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.businessinsider.com/google-antitrust-apple-search-payments-iphone-2024-11">Google's antitrust loss could cost Apple billions of dollars</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/alphabet-nasdaqgoogl-trading-up-0-heres-what-happened-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 2:51 PM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/instant-alerts/alphabet-nasdaqgoogl-trading-up-0-heres-what-happened-2024-11-19/">Alphabet (NASDAQ:GOOGL) Trading Up 0%  - Here's What Happened</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://nypost.com/2024/11/19/business/google-chrome-browser-could-fetch-20b-if-judge-orders-sale-report/"><img src="https://www.marketbeat.com/logos/google-inc-logo.png" alt="Alphabet logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 1:17 PM - nypost.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://nypost.com/2024/11/19/business/google-chrome-browser-could-fetch-20b-if-judge-orders-sale-report/">Google Chrome browser could fetch $20B if judge orders sale: report</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.benzinga.com/markets/24/11/42056544/googles-parent-alphabet-shares-dip-during-tuesday-pre-market-whats-going-on"><img src="/images/news-sites/benzinga.jpg?v=2" alt="benzinga.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 1:03 PM - benzinga.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.benzinga.com/markets/24/11/42056544/googles-parent-alphabet-shares-dip-during-tuesday-pre-market-whats-going-on">Google's Parent Alphabet Shares Dip During Tuesday Pre-Market: What's Going On?</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.bloomberg.com/news/articles/2024-11-19/break-up-google-what-s-at-stake-in-antitrust-action"><img src="/images/news-sites/bloomberg.jpg" alt="bloomberg.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 1:03 PM - bloomberg.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.bloomberg.com/news/articles/2024-11-19/break-up-google-what-s-at-stake-in-antitrust-action">Break Up Google? What’s at Stake in Antitrust Action</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.pymnts.com/antitrust/2024/google-anthropic-partnership-gets-uk-antitrust-regulator-approval/?utm_source=snapi"><img src="/images/news-sites/pymnts.jpg" alt="pymnts.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 1:01 PM - pymnts.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.pymnts.com/antitrust/2024/google-anthropic-partnership-gets-uk-antitrust-regulator-approval/?utm_source=snapi">Google-Anthropic Partnership Gets UK Antitrust Regulator Approval</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.proactiveinvestors.com/companies/news/1061017?snapi"><img src="/images/news-sites/investors.jpg" alt="investors.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 12:17 PM - proactiveinvestors.com</div>
                                    <p class="c-black"><a rel="nofollow noopener" target="_blank" href="https://www.proactiveinvestors.com/companies/news/1061017?snapi">Google slates ‘radical' DoJ over speculation of forced Chrome sale</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.cnet.com/tech/services-and-software/google-may-be-asked-to-sell-chrome-browser-by-doj/"><img src="/images/news-sites/cnet.jpg" alt="cnet.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 9:02 AM - cnet.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.cnet.com/tech/services-and-software/google-may-be-asked-to-sell-chrome-browser-by-doj/">Google May Be Asked to Sell Chrome Browser by DOJ</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.wsj.com/articles/googles-2-billion-anthropic-investment-gets-u-k-antitrust-clearance-f230f944?mod=rss_technology"><img src="/images/news-sites/wsj.jpg" alt="wsj.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 8:40 AM - wsj.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.wsj.com/articles/googles-2-billion-anthropic-investment-gets-u-k-antitrust-clearance-f230f944?mod=rss_technology">Google's $2 Billion Anthropic Investment Gets U.K. Antitrust Clearance</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/stock-ideas/why-alphabet-stock-dips-are-the-perfect-time-to-invest/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 8:30 AM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/stock-ideas/why-alphabet-stock-dips-are-the-perfect-time-to-invest/">Why Alphabet Stock Dips Are the Perfect Time to Invest (GOOGL)</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.msn.com/en-us/money/other/google-s-anthropic-ai-deal-cleared-by-uk-antitrust-agency/ar-AA1umfcA"><img src="/images/news-sites/msn.jpg" alt="msn.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 8:01 AM - msn.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.msn.com/en-us/money/other/google-s-anthropic-ai-deal-cleared-by-uk-antitrust-agency/ar-AA1umfcA">Google’s Anthropic AI Investment Cleared by UK Antitrust Agency</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.benzinga.com/tech/24/11/42055794/googles-gemini-chatbot-draws-scrutiny-after-hostile-interaction-with-user-heres-what-the-search-giant-has-to-say"><img src="/images/news-sites/benzinga.jpg?v=2" alt="benzinga.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 8:01 AM - benzinga.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.benzinga.com/tech/24/11/42055794/googles-gemini-chatbot-draws-scrutiny-after-hostile-interaction-with-user-heres-what-the-search-giant-has-to-say">Google's Gemini Chatbot Draws Scrutiny After Hostile Interaction With User: Here's What The Search Giant Has To Say</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.investopedia.com/us-doj-plans-to-push-google-to-sell-chrome-8747755"><img src="/images/news-sites/investopedia.jpg" alt="investopedia.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 7:40 AM - investopedia.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.investopedia.com/us-doj-plans-to-push-google-to-sell-chrome-8747755">US DOJ Plans to Push Google to Sell Chrome, According to Reports</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://techcrunch.com/2024/11/19/uk-competition-regulator-clears-alphabets-investment-in-anthropic/"><img src="https://www.marketbeat.com/logos/google-inc-logo.png" alt="Alphabet logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 6:32 AM - techcrunch.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://techcrunch.com/2024/11/19/uk-competition-regulator-clears-alphabets-investment-in-anthropic/">UK competition regulator clears Alphabet's investment in Anthropic</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.barrons.com/articles/google-monopoly-chrome-alphabet-stock-64307ede"><img src="/images/news-sites/barrons.jpg" alt="barrons.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 6:26 AM - barrons.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.barrons.com/articles/google-monopoly-chrome-alphabet-stock-64307ede">Google Faces Pressure to Sell Chrome. Why It Probably Won't Happen.</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.reuters.com/technology/artificial-intelligence/alphabets-ai-partnership-with-anthropic-no-longer-under-uk-scrutiny-2024-11-19/"><img src="/images/news-sites/reuters.jpg" alt="reuters.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 6:15 AM - reuters.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.reuters.com/technology/artificial-intelligence/alphabets-ai-partnership-with-anthropic-no-longer-under-uk-scrutiny-2024-11-19/">Alphabet's AI partnership with Anthropic no longer under UK scrutiny</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.theguardian.com/technology/2024/nov/19/us-doj-sell-chrome-browser-ai-android"><img src="/images/news-sites/theguardian.jpg" alt="theguardian.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 6:08 AM - theguardian.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.theguardian.com/technology/2024/nov/19/us-doj-sell-chrome-browser-ai-android">US justice department plans to push Google to sell off Chrome browser</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/earnings/transcripts/112143/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 6:04 AM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/earnings/transcripts/112143/">Alphabet Q3 Earnings Transcript</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://247wallst.com/technology-3/2024/11/19/google-penalty-may-be-chrome-spin-off/?utm_source=snapi"><img src="/images/news-sites/247wallst.jpg" alt="247wallst.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 5:20 AM - 247wallst.com</div>
                                    <p class="c-black"><a rel="nofollow noopener" target="_blank" href="https://247wallst.com/technology-3/2024/11/19/google-penalty-may-be-chrome-spin-off/?utm_source=snapi">Google Penalty May Be Chrome Spin-Off</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.msn.com/en-us/news/technology/department-of-justice-to-compel-google-to-sell-chrome-bloomberg-reports/ar-AA1uk8fE"><img src="/images/news-sites/msn.jpg" alt="msn.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/GOOGL/">NASDAQ:GOOGL</a>Today, 3:00 AM - msn.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.msn.com/en-us/news/technology/department-of-justice-to-compel-google-to-sell-chrome-bloomberg-reports/ar-AA1uk8fE">Department of Justice to Compel Google to Sell Chrome, Bloomberg Reports</a>
                                    </p>
                                  </div>
                                </li>
                              </ul>
                              <div class="ntf-footer font-8"><a href="/notifications/NASDAQ/GOOGL/">View All Notifications for Alphabet</a></div>
                            </div>
                          </div>
                        </div>
                      </div><button type="button" data-toggle="modal" data-target="#Panel4" title="Edit This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="editHolding(&quot;8026662&quot; , &quot;NASDAQ&quot;, &quot;GOOGL&quot; , &quot;0&quot; , &quot;0.00&quot; , &quot;2519330&quot; , false , false , true , &quot;USD&quot;, &quot;0.00&quot;, &quot;0&quot; , &quot;0&quot;, &quot;0&quot;, &quot;&quot;, &quot;Alphabet Inc.&quot;, &quot;178.12&quot;, &quot;11/19/2024&quot;)"><span
                          class="fa-regular fa-pen-to-square" aria-hidden="true"></span></button> <button type="button" data-toggle="modal" data-target="#Panel6" title="Delete This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="deleteStock(&quot;8026662&quot; , &quot;Alphabet Inc.&quot;)"><span class="fa-regular fa-trash-can" aria-hidden="true"></span></button>
                    </td>
                  </tr>
                  <tr>
                    <td data-hide="" data-sort-value="META">
                      <div class="wl-check custom-control custom-checkbox"><input type="checkbox" class="bulkactioncheck" name="includeInBulkAction" value="8026664" id="holding8026664"
                          aria-label="bulk action check box for Meta Platforms, Inc."><label for="holding8026664"><span class="sr-only">Apply Bulk Action to Meta Platforms, Inc.</span></label></div>
                      <div class="wl-with-check"><img loading="lazy" height="76" width="80" src="https://www.marketbeat.com/logos/thumbnail/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms, Inc. logo" title="META"></div>
                    </td>
                    <td data-clean="META|Meta Platforms, Inc.">
                      <a class="boldsymbol" href="/stocks/NASDAQ/META/">META</a><a rel="nofollow" href="/stocks/NASDAQ/META/chart/"><img class="sparkline" alt="META 90-day performance" title="90-day performance" src="https://www.marketbeat.com/Scripts/sparklines.ashx?prefix=NASDAQ&amp;symbol=META"></a><br>Meta
                      Platforms</td>
                    <td class="changeable-cell" style="/*min-width:165px*/" data-sort-value="0.0120670995670996" data-clean="$561.09|+$6.69|1.21%"><strong>$561.09</strong><br><span class="c-green">+$6.69 (1.21%)</span></td>
                    <td data-sort-value="26.4291221993039">26.43</td>
                    <td>1.22</td>
                    <td data-sort-value="2.00">$2.00 per sh.</td>
                    <td data-sort-value="2.86" data-clean="Moderate Buy|2.86"><strong>Moderate Buy</strong><br>2.86</td>
                    <td style="/*min-width:160px*/" data-sort-value="634.09756097561">$634.10</td>
                    <td class="changeable-cell" data-sort-value="0.130117380412429"><span class="c-green">13.01% Upside</span></td>
                    <td style="text-align:right;min-width:145px;padding:4px 8px 4px 2px;" data-hide="">
                      <div class="ntf-area">
                        <div class="settings-button shownotifications" id="20240502113102133_NASDAQ_META"><button tabindex="0" onfocus="positionNotifications(this)" onmouseover="positionNotifications(this)"
                            class="btn btn-tertiary p-1 fa-regular fa-bell"><span class="sr-only">View notifications for this stock</span></button><span class="ntf-number plus">9+</span>
                          <div class="latest-notifications">
                            <div>
                              <div class="ntf-header gradient-blue font-8"><strong>Meta Platforms</strong><span
                                  class="float-right"><a onclick="var e = $('div[id$=' + $(this).closest('.shownotifications').attr('id').split('_')[1] + '_'+ $(this).closest('.shownotifications').attr('id').split('_')[2]); $.get('/Scripts/NotificationsHelpers.ashx?command=markasread&amp;prefix=NASDAQ&amp;symbol=META&amp;accountid=11404962&amp;hash=8836967B6489343AFFEBE4A9F20736CC3E70C11EF914402B105D0B1411AC2283469760A890F500A211DD2AA9EFAC84240FC1F5B99ADAF28EBA5B81CB4965A10A&amp;viewedthrough=20241119183844817', function (data, status) { $(e).find('.ntf-number').hide(); $(e).find('.new-notification').removeClass('new-notification'); }); this.blur();" style="cursor:pointer;color:#fff;">Mark as Read</a></span>
                                <div class="clearfix"></div>
                              </div>
                              <ul>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/insider-selling-meta-platforms-inc-nasdaqmeta-coo-sells-620-shares-of-stock-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:38 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/insider-selling-meta-platforms-inc-nasdaqmeta-coo-sells-620-shares-of-stock-2024-11-19/">Insider Selling: Meta Platforms, Inc. (NASDAQ:META) COO Sells 620 Shares of Stock</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/meta-platforms-inc-nasdaqmeta-cao-aaron-anderson-sells-731-shares-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:38 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/meta-platforms-inc-nasdaqmeta-cao-aaron-anderson-sells-731-shares-2024-11-19/">Meta Platforms, Inc. (NASDAQ:META) CAO Aaron Anderson Sells 731 Shares</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/meta-platforms-inc-nasdaqmeta-insider-nicholas-clegg-sells-1131-shares-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:38 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/meta-platforms-inc-nasdaqmeta-insider-nicholas-clegg-sells-1131-shares-2024-11-19/">Meta Platforms, Inc. (NASDAQ:META) Insider Nicholas Clegg Sells 1,131 Shares</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/meta-platforms-inc-nasdaqmeta-coo-javier-olivan-sells-4891-shares-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:38 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/meta-platforms-inc-nasdaqmeta-coo-javier-olivan-sells-4891-shares-2024-11-19/">Meta Platforms, Inc. (NASDAQ:META) COO Javier Olivan Sells 4,891 Shares</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/insider-selling-meta-platforms-inc-nasdaqmeta-cto-sells-291869812-in-stock-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:38 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/insider-selling-meta-platforms-inc-nasdaqmeta-cto-sells-291869812-in-stock-2024-11-19/">Insider Selling: Meta Platforms, Inc. (NASDAQ:META) CTO Sells $2,918,698.12 in Stock</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/insider-selling-meta-platforms-inc-nasdaqmeta-insider-sells-7296-shares-of-stock-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:36 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/insider-selling-meta-platforms-inc-nasdaqmeta-insider-sells-7296-shares-of-stock-2024-11-19/">Insider Selling: Meta Platforms, Inc. (NASDAQ:META) Insider Sells 7,296 Shares of Stock</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/meta-platforms-inc-nasdaqmeta-cfo-susan-j-li-sells-8951-shares-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:34 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/meta-platforms-inc-nasdaqmeta-cfo-susan-j-li-sells-8951-shares-2024-11-19/">Meta Platforms, Inc. (NASDAQ:META) CFO Susan J. Li Sells 8,951 Shares</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/insider-selling-meta-platforms-inc-nasdaqmeta-cto-sells-14746-shares-of-stock-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:34 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/insider-selling-meta-platforms-inc-nasdaqmeta-cto-sells-14746-shares-of-stock-2024-11-19/">Insider Selling: Meta Platforms, Inc. (NASDAQ:META) CTO Sells 14,746 Shares of Stock</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/susan-j-li-sells-18644-shares-of-meta-platforms-inc-nasdaqmeta-stock-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:32 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/susan-j-li-sells-18644-shares-of-meta-platforms-inc-nasdaqmeta-stock-2024-11-19/">Susan J. Li Sells 18,644 Shares of Meta Platforms, Inc. (NASDAQ:META) Stock</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100"
                                        style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:10 PM</div>
                                    <p class="c-black">Meta Platforms, Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/META/">NASDAQ:META</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=META">Get Free Report</a>)
                                      COO <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/facebook-inc-stock/javier-olivan/">Javier Olivan</a> sold 620 shares of the stock in a transaction that occurred on Monday, November 18th.
                                      The stock was sold at an average price of $557.00, for a total value of $345,340.00. Following the transaction, the chief operating officer now directly owns 19,992 shares of the company's stock, valued at
                                      approximately $11,135,544. This trade represents a 3.01 % decrease in their ownership of the stock. The sale was disclosed in a filing with the SEC, which is available at
                                      <a href="http://www.sec.gov/Archives/edgar/data/1326801/000095010324016536/xslF345X05/dp220870_4-olivan.xml" target="_blank">the SEC website</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100"
                                        style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:10 PM</div>
                                    <p class="c-black">Meta Platforms, Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/META/">NASDAQ:META</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=META">Get Free Report</a>)
                                      COO <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/facebook-inc-stock/javier-olivan/">Javier Olivan</a> sold 4,891 shares of Meta Platforms stock in a transaction dated Friday, November
                                      15th. The stock was sold at an average price of $577.16, for a total value of $2,822,889.56. Following the completion of the sale, the chief operating officer now owns 15,593 shares of the company's stock, valued
                                      at approximately $8,999,655.88. The trade was a 23.88 % decrease in their ownership of the stock. The sale was disclosed in a document filed with the Securities &amp; Exchange Commission, which is available at
                                      <a href="http://www.sec.gov/Archives/edgar/data/1326801/000095010324016536/xslF345X05/dp220870_4-olivan.xml" target="_blank">this hyperlink</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100"
                                        style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:10 PM</div>
                                    <p class="c-black">Meta Platforms, Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/META/">NASDAQ:META</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=META">Get Free Report</a>)
                                      CAO Aaron Anderson sold 731 shares of the firm's stock in a transaction on Monday, November 18th. The stock was sold at an average price of $557.00, for a total value of $407,167.00. Following the sale, the chief
                                      accounting officer now directly owns 3,414 shares in the company, valued at $1,901,598. The trade was a 17.64 % decrease in their position. The sale was disclosed in a document filed with the SEC, which can be
                                      accessed through <a href="http://www.sec.gov/Archives/edgar/data/1326801/000095010324016537/xslF345X05/dp220872_4-anderson.xml" target="_blank">this hyperlink</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100"
                                        style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:09 PM</div>
                                    <p class="c-black">Meta Platforms, Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/META/">NASDAQ:META</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=META">Get Free Report</a>)
                                      insider <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/facebook-inc-stock/nicholas-clegg/">Nicholas Clegg</a> sold 7,296 shares of the business's stock in a transaction on Monday, November
                                      18th. The shares were sold at an average price of $553.48, for a total transaction of $4,038,190.08. The transaction was disclosed in a legal filing with the SEC, which is accessible through
                                      <a href="http://www.sec.gov/Archives/edgar/data/1326801/000095010324016538/xslF345X05/dp220874_4-clegg.xml" target="_blank">this link</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100"
                                        style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:09 PM</div>
                                    <p class="c-black">Meta Platforms, Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/META/">NASDAQ:META</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=META">Get Free Report</a>)
                                      insider <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/facebook-inc-stock/nicholas-clegg/">Nicholas Clegg</a> sold 1,131 shares of the firm's stock in a transaction on Friday, November
                                      15th. The stock was sold at an average price of $577.16, for a total value of $652,767.96. Following the completion of the transaction, the insider now owns 1,229 shares in the company, valued at approximately
                                      $709,329.64. This trade represents a 47.92 % decrease in their ownership of the stock. The transaction was disclosed in a legal filing with the Securities &amp; Exchange Commission, which is available at
                                      <a href="http://www.sec.gov/Archives/edgar/data/1326801/000095010324016538/xslF345X05/dp220874_4-clegg.xml" target="_blank">the SEC website</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100"
                                        style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:09 PM</div>
                                    <p class="c-black">Meta Platforms, Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/META/">NASDAQ:META</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=META">Get Free Report</a>)
                                      CFO <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/facebook-inc-stock/susan-j-li/">Susan J. Li</a> sold 18,644 shares of the firm's stock in a transaction dated Monday, November 18th. The
                                      stock was sold at an average price of $553.55, for a total value of $10,320,386.20. Following the completion of the transaction, the chief financial officer now owns 46,769 shares of the company's stock, valued
                                      at approximately $25,888,979.95. This represents a 28.50 % decrease in their position. The sale was disclosed in a document filed with the Securities &amp; Exchange Commission, which can be accessed through
                                      <a href="http://www.sec.gov/Archives/edgar/data/1326801/000095010324016539/xslF345X05/dp220871_4-li.xml" target="_blank">this hyperlink</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100"
                                        style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:09 PM</div>
                                    <p class="c-black">Meta Platforms, Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/META/">NASDAQ:META</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=META">Get Free Report</a>)
                                      CFO <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/facebook-inc-stock/susan-j-li/">Susan J. Li</a> sold 8,951 shares of the firm's stock in a transaction that occurred on Friday, November
                                      15th. The stock was sold at an average price of $577.16, for a total transaction of $5,166,159.16. Following the sale, the chief financial officer now directly owns 51,591 shares in the company, valued at
                                      $29,776,261.56. The trade was a 14.78 % decrease in their position. The sale was disclosed in a document filed with the Securities &amp; Exchange Commission, which is accessible through
                                      <a href="http://www.sec.gov/Archives/edgar/data/1326801/000095010324016539/xslF345X05/dp220871_4-li.xml" target="_blank">this hyperlink</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100"
                                        style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:08 PM</div>
                                    <p class="c-black">Meta Platforms, Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/META/">NASDAQ:META</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=META">Get Free Report</a>)
                                      CTO <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/facebook-inc-stock/andrew-bosworth/">Andrew Bosworth</a> sold 14,746 shares of the company's stock in a transaction on Monday, November
                                      18th. The stock was sold at an average price of $553.53, for a total value of $8,162,353.38. The transaction was disclosed in a document filed with the SEC, which can be accessed through
                                      <a href="http://www.sec.gov/Archives/edgar/data/1326801/000095010324016540/xslF345X05/dp220873_4-bosworth.xml" target="_blank">the SEC website</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100"
                                        style="object-fit:contain" loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 6:07 PM</div>
                                    <p class="c-black">Meta Platforms, Inc. (<a rel="nofollow" href="https://www.marketbeat.com/stocks/NASDAQ/META/">NASDAQ:META</a> -
                                      <a style="font-weight:normal;text-decoration:italic;color:green" rel="nofollow" href="https://www.marketbeat.com/arnreports/ReportTickerOptin.aspx?RegistrationCode=TickerHyperlink&amp;Prefix=NASDAQ&amp;Symbol=META">Get Free Report</a>)
                                      CTO <a target="_blank" rel="nofollow" href="https://www.insidertrades.com/facebook-inc-stock/andrew-bosworth/">Andrew Bosworth</a> sold 5,057 shares of Meta Platforms stock in a transaction on Friday, November
                                      15th. The shares were sold at an average price of $577.16, for a total value of $2,918,698.12. Following the transaction, the chief technology officer now owns 8,565 shares in the company, valued at
                                      $4,943,375.40. This trade represents a 37.12 % decrease in their ownership of the stock. The transaction was disclosed in a filing with the SEC, which is available through
                                      <a href="http://www.sec.gov/Archives/edgar/data/1326801/000095010324016540/xslF345X05/dp220873_4-bosworth.xml" target="_blank">this link</a>. </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://techcrunch.com/2024/11/19/meta-hires-salesforces-ceo-of-ai-clara-shih-to-lead-new-business-ai-group/"><img src="https://www.marketbeat.com/logos/meta-platforms-inc-logo.png?v=20220609084126" alt="Meta Platforms logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 2:33 PM - techcrunch.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://techcrunch.com/2024/11/19/meta-hires-salesforces-ceo-of-ai-clara-shih-to-lead-new-business-ai-group/">Meta hires Salesforce's CEO of AI, Clara Shih, to lead new business AI group</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://finance.yahoo.com/news/meta-platforms-meta-sees-ai-130928494.html"><img src="/images/news-sites/YahooFinance.jpg" alt="finance.yahoo.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/META/">NASDAQ:META</a>Today, 10:56 AM - finance.yahoo.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://finance.yahoo.com/news/meta-platforms-meta-sees-ai-130928494.html">Meta Platforms (META) Sees AI Adoption Surge: Echoes of Facebook’s Early Days</a></p>
                                  </div>
                                </li>
                              </ul>
                              <div class="ntf-footer font-8"><a href="/notifications/NASDAQ/META/">View All Notifications for Meta Platforms</a></div>
                            </div>
                          </div>
                        </div>
                      </div><button type="button" data-toggle="modal" data-target="#Panel4" title="Edit This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="editHolding(&quot;8026664&quot; , &quot;NASDAQ&quot;, &quot;META&quot; , &quot;0&quot; , &quot;0.00&quot; , &quot;2519330&quot; , false , false , true , &quot;USD&quot;, &quot;0.00&quot;, &quot;0&quot; , &quot;0&quot;, &quot;0&quot;, &quot;&quot;, &quot;Meta Platforms, Inc.&quot;, &quot;561.09&quot;, &quot;11/19/2024&quot;)"><span
                          class="fa-regular fa-pen-to-square" aria-hidden="true"></span></button> <button type="button" data-toggle="modal" data-target="#Panel6" title="Delete This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="deleteStock(&quot;8026664&quot; , &quot;Meta Platforms, Inc.&quot;)"><span class="fa-regular fa-trash-can" aria-hidden="true"></span></button>
                    </td>
                  </tr>
                  <tr>
                    <td data-hide="" data-sort-value="MSFT">
                      <div class="wl-check custom-control custom-checkbox"><input type="checkbox" class="bulkactioncheck" name="includeInBulkAction" value="8026665" id="holding8026665" aria-label="bulk action check box for Microsoft Co."><label
                          for="holding8026665"><span class="sr-only">Apply Bulk Action to Microsoft Co.</span></label></div>
                      <div class="wl-with-check"><img loading="lazy" height="41" width="80" src="https://www.marketbeat.com/logos/thumbnail/microsoft-corporation-logo.png" alt="Microsoft Co. logo" title="MSFT"></div>
                    </td>
                    <td data-clean="MSFT|Microsoft Co.">
                      <a class="boldsymbol" href="/stocks/NASDAQ/MSFT/">MSFT</a><a rel="nofollow" href="/stocks/NASDAQ/MSFT/chart/"><img class="sparkline" alt="MSFT 90-day performance" title="90-day performance" src="https://www.marketbeat.com/Scripts/sparklines.ashx?prefix=NASDAQ&amp;symbol=MSFT"></a><br>Microsoft
                    </td>
                    <td class="changeable-cell" style="/*min-width:165px*/" data-sort-value="0.00488262459111025" data-clean="$417.79|+$2.03|0.49%"><strong>$417.79</strong><br><span class="c-green">+$2.03 (0.49%)</span></td>
                    <td data-sort-value="34.4711221122112">34.47</td>
                    <td>0.91</td>
                    <td data-sort-value="3.32">$3.32 per sh.</td>
                    <td data-sort-value="2.93" data-clean="Moderate Buy|2.93"><strong>Moderate Buy</strong><br>2.93</td>
                    <td style="/*min-width:160px*/" data-sort-value="503.034482758621">$503.03</td>
                    <td class="changeable-cell" data-sort-value="0.204036675742887"><span class="c-green">20.40% Upside</span></td>
                    <td style="text-align:right;min-width:145px;padding:4px 8px 4px 2px;" data-hide="">
                      <div class="ntf-area">
                        <div class="settings-button shownotifications" id="20240502113102133_NASDAQ_MSFT"><button tabindex="0" onfocus="positionNotifications(this)" onmouseover="positionNotifications(this)"
                            class="btn btn-tertiary p-1 fa-regular fa-bell"><span class="sr-only">View notifications for this stock</span></button><span class="ntf-number plus">9+</span>
                          <div class="latest-notifications">
                            <div>
                              <div class="ntf-header gradient-blue font-8"><strong>Microsoft</strong><span
                                  class="float-right"><a onclick="var e = $('div[id$=' + $(this).closest('.shownotifications').attr('id').split('_')[1] + '_'+ $(this).closest('.shownotifications').attr('id').split('_')[2]); $.get('/Scripts/NotificationsHelpers.ashx?command=markasread&amp;prefix=NASDAQ&amp;symbol=MSFT&amp;accountid=11404962&amp;hash=8836967B6489343AFFEBE4A9F20736CC3E70C11EF914402B105D0B1411AC2283469760A890F500A211DD2AA9EFAC84240FC1F5B99ADAF28EBA5B81CB4965A10A&amp;viewedthrough=20241119203601143', function (data, status) { $(e).find('.ntf-number').hide(); $(e).find('.new-notification').removeClass('new-notification'); }); this.blur();" style="cursor:pointer;color:#fff;">Mark as Read</a></span>
                                <div class="clearfix"></div>
                              </div>
                              <ul>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/wedbush-reiterates-outperform-rating-for-microsoft-nasdaqmsft-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 8:36 PM - marketbeat.com</div>
                                    <p class="c-black">
                                      <a href="https://www.marketbeat.com/instant-alerts/wedbush-reiterates-outperform-rating-for-microsoft-nasdaqmsft-2024-11-19/">Wedbush Reiterates "Outperform" Rating for Microsoft (NASDAQ:MSFT)</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner"><span class="ntf-image-link"><img src="https://www.marketbeat.com/logos/microsoft-corporation-logo.png" alt="Microsoft logo" height="100" width="100" style="object-fit:contain"
                                        loading="lazy"></span>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 8:35 PM</div>
                                    <p class="c-black">Microsoft had its "outperform" rating reaffirmed by analysts at Wedbush. They now have a $550.00 price target on the stock. This represents a 31.6% upside from the current price of $417.79.
                                      <br><a rel="nofollow" href="https://www.rttnews.com/CorpInfo/CoverageReiterate.aspx/" target="_blank">RTT News</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.insidermonkey.com/blog/jim-cramer-defends-microsoft-msft-despite-stock-drop-after-quarterly-results-1393413/"><img src="/images/news-sites/insidermonkey.jpg" alt="insidermonkey.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 7:07 PM - insidermonkey.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.insidermonkey.com/blog/jim-cramer-defends-microsoft-msft-despite-stock-drop-after-quarterly-results-1393413/">Jim Cramer Defends Microsoft (MSFT) Despite Stock Drop After Quarterly Results</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609529/microsofts-azure-chips-promise-ai-leap-taking-on-nvidia-and-amd-in-cloud-tech-race"><img src="/images/news-sites/gurufocus.jpg" alt="gurufocus.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 6:03 PM - gurufocus.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609529/microsofts-azure-chips-promise-ai-leap-taking-on-nvidia-and-amd-in-cloud-tech-race">Microsoft's Azure Chips Promise AI Leap, Taking on Nvidia and AMD in Cloud Tech Race</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609614/c3-ai-and-microsoft-expand-partnership-to-drive-enterprise-ai-adoption"><img src="/images/news-sites/gurufocus.jpg" alt="gurufocus.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 6:03 PM - gurufocus.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609614/c3-ai-and-microsoft-expand-partnership-to-drive-enterprise-ai-adoption">C3 AI and Microsoft Expand Partnership to Drive Enterprise AI Adoption</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609616/c3ai-stock-soars-over-24-on-microsoft-alliance-news"><img src="/images/news-sites/gurufocus.jpg" alt="gurufocus.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 6:03 PM - gurufocus.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609616/c3ai-stock-soars-over-24-on-microsoft-alliance-news">C3.ai Stock Soars Over 24% on Microsoft Alliance News</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609655/microsoft-unveils-autonomous-ai-agents-in-copilot-studio-for-business-automation"><img src="/images/news-sites/gurufocus.jpg" alt="gurufocus.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 6:03 PM - gurufocus.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.gurufocus.com/news/2609655/microsoft-unveils-autonomous-ai-agents-in-copilot-studio-for-business-automation">Microsoft Unveils Autonomous AI Agents in Copilot Studio for Business Automation</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.proactiveinvestors.com/companies/news/1061028?snapi"><img src="/images/news-sites/investors.jpg" alt="investors.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 3:31 PM - proactiveinvestors.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.proactiveinvestors.com/companies/news/1061028?snapi">Microsoft's AI strategy positions it for significant market share as $10B revenue milestone approaches, analysts say</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" href="https://www.marketbeat.com/instant-alerts/microsoft-nasdaqmsft-trading-down-06-heres-what-happened-2024-11-19/"><img src="/images/news-sites/marketbeat.png" alt="marketbeat.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 2:51 PM - marketbeat.com</div>
                                    <p class="c-black"><a href="https://www.marketbeat.com/instant-alerts/microsoft-nasdaqmsft-trading-down-06-heres-what-happened-2024-11-19/">Microsoft (NASDAQ:MSFT) Trading Down 0.6%  - Here's What Happened</a></p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.tipranks.com/news/the-fly/microsoft-says-windows-11-coming-to-meta-quest-3-quest-3s?utm_source=marketbeat.com&amp;utm_medium=referral"><img src="/images/news-sites/tipranks.png" alt="tipranks.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 2:09 PM - tipranks.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.tipranks.com/news/the-fly/microsoft-says-windows-11-coming-to-meta-quest-3-quest-3s?utm_source=marketbeat.com&amp;utm_medium=referral">Microsoft says Windows 11 coming to Meta Quest 3, Quest 3S</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.pymnts.com/artificial-intelligence-2/2024/microsoft-and-c3-ai-expand-partnership-to-promote-enterprise-ai/?utm_source=snapi"><img src="/images/news-sites/pymnts.jpg" alt="pymnts.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 1:25 PM - pymnts.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.pymnts.com/artificial-intelligence-2/2024/microsoft-and-c3-ai-expand-partnership-to-promote-enterprise-ai/?utm_source=snapi">Microsoft and C3 AI Expand Partnership to Promote Enterprise AI</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.investors.com/news/technology/ai-stock-c3ai-stock-artificial-intelligence-microsoft-cloud-partnership/"><img src="/images/news-sites/investors.jpg" alt="investors.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 1:04 PM - investors.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.investors.com/news/technology/ai-stock-c3ai-stock-artificial-intelligence-microsoft-cloud-partnership/">C3.ai Jumps On Microsoft Cloud Partnership Targeting Enterprise Market</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://financialpost.com/globe-newswire/quantexa-introduces-ai-powered-workload-for-microsoft-fabric-to-transform-data-quality-and-usability-across-the-enterprise"><img src="https://www.marketbeat.com/logos/microsoft-corporation-logo.png" alt="Microsoft logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 1:01 PM - financialpost.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://financialpost.com/globe-newswire/quantexa-introduces-ai-powered-workload-for-microsoft-fabric-to-transform-data-quality-and-usability-across-the-enterprise">Quantexa Introduces AI-Powered Workload for Microsoft Fabric to Transform Data Quality and Usability Across the Enterprise</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://financialpost.com/pmn/business-wire-news-releases-pmn/yubico-announces-yubico-enrollment-suite-for-microsoft-users-a-turnkey-passwordless-onboarding-experience"><img src="https://www.marketbeat.com/logos/microsoft-corporation-logo.png" alt="Microsoft logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 1:01 PM - financialpost.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://financialpost.com/pmn/business-wire-news-releases-pmn/yubico-announces-yubico-enrollment-suite-for-microsoft-users-a-turnkey-passwordless-onboarding-experience">Yubico Announces Yubico Enrollment Suite for Microsoft Users, a Turnkey Passwordless Onboarding Experience</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://financialpost.com/pmn/business-wire-news-releases-pmn/snowflake-and-microsoft-simplify-ai-app-development-and-data-collaboration-with-connector-for-microsoft-power-platform-and-microsoft-dynamics-365"><img src="https://www.marketbeat.com/logos/microsoft-corporation-logo.png" alt="Microsoft logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 1:01 PM - financialpost.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://financialpost.com/pmn/business-wire-news-releases-pmn/snowflake-and-microsoft-simplify-ai-app-development-and-data-collaboration-with-connector-for-microsoft-power-platform-and-microsoft-dynamics-365">Snowflake and Microsoft Simplify AI App Development and Data Collaboration with Connector for Microsoft Power Platform and Microsoft Dynamics 365</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983934/0/en/huntress-launches-integration-with-microsoft-defender-for-business-and-is-recognized-with-microsoft-verified-small-and-medium-business-smb-solution-status.html"><img src="/images/news-sites/globenewswire.jpg" alt="globenewswire.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 12:31 PM - globenewswire.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983934/0/en/huntress-launches-integration-with-microsoft-defender-for-business-and-is-recognized-with-microsoft-verified-small-and-medium-business-smb-solution-status.html">Huntress Launches Integration with Microsoft Defender for Business and is Recognized with Microsoft Verified Small and Medium Business (SMB) Solution Status</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.benzinga.com/24/11/42069943/microsofts-ai-agents-are-here-to-work-hard-but-can-they-lift-msft-stock"><img src="/images/news-sites/benzinga.jpg?v=2" alt="benzinga.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 12:10 PM - benzinga.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.benzinga.com/24/11/42069943/microsofts-ai-agents-are-here-to-work-hard-but-can-they-lift-msft-stock">Microsoft's AI Agents Are Here To Work Hard — But Can They Lift MSFT Stock?</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983914/0/en/quantexa-introduces-ai-powered-workload-for-microsoft-fabric-to-transform-data-quality-and-usability-across-the-enterprise.html"><img src="/images/news-sites/globenewswire.jpg" alt="globenewswire.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 12:00 PM - globenewswire.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983914/0/en/quantexa-introduces-ai-powered-workload-for-microsoft-fabric-to-transform-data-quality-and-usability-across-the-enterprise.html">Quantexa Introduces AI-Powered Workload for Microsoft Fabric&nbsp;to Transform Data Quality and Usability Across the Enterprise</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983908/0/en/blackpoint-cyber-recognized-with-microsoft-verified-small-and-medium-business-smb-solution-status.html"><img src="/images/news-sites/globenewswire.jpg" alt="globenewswire.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 12:00 PM - globenewswire.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983908/0/en/blackpoint-cyber-recognized-with-microsoft-verified-small-and-medium-business-smb-solution-status.html">Blackpoint Cyber recognized with Microsoft Verified Small and Medium Business (SMB) solution status</a>
                                    </p>
                                  </div>
                                </li>
                                <li class="one-notification new-notification">
                                  <div class="li-inner">
                                    <a class="ntf-image-link" rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983911/0/en/striim-offers-a-mirroring-solution-for-sql-server-to-fabric-at-microsoft-ignite.html"><img src="/images/news-sites/globenewswire.jpg" alt="globenewswire.com logo" height="100" width="100" style="object-fit:contain" loading="lazy"></a>
                                    <div class="ntf-heading c-black"><a href="/stocks/NASDAQ/MSFT/">NASDAQ:MSFT</a>Today, 12:00 PM - globenewswire.com</div>
                                    <p class="c-black">
                                      <a rel="nofollow noopener" target="_blank" href="https://www.globenewswire.com/news-release/2024/11/19/2983911/0/en/striim-offers-a-mirroring-solution-for-sql-server-to-fabric-at-microsoft-ignite.html">Striim offers a mirroring solution for SQL Server to Fabric at Microsoft Ignite</a>
                                    </p>
                                  </div>
                                </li>
                              </ul>
                              <div class="ntf-footer font-8"><a href="/notifications/NASDAQ/MSFT/">View All Notifications for Microsoft</a></div>
                            </div>
                          </div>
                        </div>
                      </div><button type="button" data-toggle="modal" data-target="#Panel4" title="Edit This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="editHolding(&quot;8026665&quot; , &quot;NASDAQ&quot;, &quot;MSFT&quot; , &quot;0&quot; , &quot;0.00&quot; , &quot;2519330&quot; , false , false , true , &quot;USD&quot;, &quot;0.00&quot;, &quot;0&quot; , &quot;0&quot;, &quot;0&quot;, &quot;&quot;, &quot;Microsoft Co.&quot;, &quot;417.79&quot;, &quot;11/19/2024&quot;)"><span
                          class="fa-regular fa-pen-to-square" aria-hidden="true"></span></button> <button type="button" data-toggle="modal" data-target="#Panel6" title="Delete This Holding" class="btn btn-secondary p-1 settings-button"
                        onclick="deleteStock(&quot;8026665&quot; , &quot;Microsoft Co.&quot;)"><span class="fa-regular fa-trash-can" aria-hidden="true"></span></button>
                    </td>
                  </tr>
                </tbody>
                <tfoot>
                  <tr>
                    <td colspan="10" class="footer-cell">No holding sizes have been added to this watchlist. Edit holdings and add the number of units held in order to see watchlist totals.</td>
                  </tr>
                </tfoot>
              </table>
            </div>
          </div>
        </div>
        <div id="boundlessTooltip" style="width: 260px; display: none; z-index: 101; padding: 5px;">
        </div>
        <br>
        <div id="cphPrimaryContent_BulkActions" class="top-label-wrapper" style="max-width: 400px;">
          <div class="input-group">
            <select name="ctl00$cphPrimaryContent$ddlBulkActions" id="cphPrimaryContent_ddlBulkActions" class="bulkActionSelect m-0 top-labeled-input" aria-label="Bulk Actions" style="width: calc(100% - 93px);">
              <option value="0">Select a Bulk Action</option>
              <option value="bulkDelete">Delete These Holdings</option>
              <option value="bulkEnableEmail">Enable Email Alerts for These Holdings</option>
              <option value="bulkDisableEmail">Disable Email Alerts for These Holdings</option>
              <option value="bulkMove2519330">Move Holdings to 'My Default Watchlist'</option>
              <option value="bulkMoveNew">Move Holdings to a New Watchlist</option>
            </select>
            <div class="input-group-append">
              <button type="button" onclick="bulkActionModalShow('cphPrimaryContent_BulkActions');" class="btn btn-primary btn-inline-input" style="padding:9px">Apply<span class="fa-regular fa-square-check ml-2"></span></button>
            </div>
          </div>
          <span class="top-label">Bulk Actions</span>
          <p class="bulkActionWarning font-8 pt-1"></p>
        </div>
      </div>
      <!-- Performance-->
      <div id="pan2" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="performancetab" tabindex="0">
        <h2 class="sr-only">Portfolio Performance</h2>
        <div style="padding: 6px 10px 8px;margin-bottom: 10px;border-radius: 2px;" class="bg-light-red c-dark-red">For statistics to be calculated for this portfolio, you must edit the details of the holdings, adding the number of shares you own.
        </div>
        <div class="statistics">
          <div id="cphPrimaryContent_divPP" class="pp">
            <h3 class="block-header">Portfolio Performance <button type="button" class="moreinfo" aria-label="Portfolio Performance Explanation"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View your portfolio's
                  performance compared to an index over time.</span></button></h3>
            <input type="hidden" name="ctl00$cphPrimaryContent$hdnSubscriberId" id="cphPrimaryContent_hdnSubscriberId" value="11404962">
            <div class="stat">
              <div style="float: left; margin-right: 10px;"> Compare Against&nbsp; <select id="selCompareWatchlistIndex" aria-label="Index to compare to">
                  <option value="DIA">Dow Jones</option>
                  <option value="QQQ">NASDAQ</option>
                  <option value="SPY">S&amp;P 500</option>
                </select>
                <select id="selCompareWatchlistTime" aria-label="Timeframe for Comparison">
                  <option value="14D">14 Days</option>
                  <option value="30D" selected="">30 Days</option>
                  <option value="60D">60 Days</option>
                  <option value="90D">90 Days</option>
                  <option value="YTD">Year-to-Date</option>
                  <option value="1Y">1 Year</option>
                  <option value="3Y">3 Years</option>
                  <option value="5Y">5 Years</option>
                  <option value="10Y">10 Years</option>
                </select>
              </div>
              <script defer="" src="https://www.marketbeat.com/Scripts/libraries/d3.min.js" charset="utf-8"></script>
              <script>
                var ScrpRestrict = "6CCD6FC98E57E51605E4C7FF077DFB4984906E151495813512B93EA4C65B98CD5A2A3DDA20536A3FDDDB11DAAEAE95A6F2031028579A8552C410643E53CD657E"
              </script>
              <script defer="" src="/Scripts/charts/dv-charts-min.js?v=20241118" charset="utf-8" type="text/javascript"></script>
              <script defer="">
                function loadAndDrawComparisonToIndexChart(yLabel, divID, dataPointTimespan, stocksList, IndexName, StocksListName, filename, IndexSymbol = 'SPY', NumberOfYears = 1) {
                  if (stocksList.length > 0) {
                    $("#" + divID).removeClass("unavailable-message");
                    csvFilePath = "/Scripts/charts/" + filename + "&StocksListName=Top%20Rated&StocksList=" + stocksList + "&IndexSymbol=" + IndexSymbol + "&NumberOfYears=" + NumberOfYears + "";
                    d3.csv(csvFilePath, ready);

                    function ready(err, data) {
                      if (err) throw "error loading data";
                      if (data.length > 0) {
                        //FORMAT data
                        data.forEach(function(d) {
                          d.PortfolioGrowth = +d.PortfolioGrowth;
                          d.IndexGrowth = +d.IndexGrowth;
                          d.Date = parseTime(d.Date);
                        });
                        //Organizes the data	
                        data.sort(function(a, b) {
                          return a.QuarterNumber - b.QuarterNumber;
                        });
                        var minY = d3.min(data, function(d) {
                          if (d.PortfolioGrowth < 0) {
                            return d.PortfolioGrowth * 1.4;
                          } else {
                            return d.PortfolioGrowth * .6;
                          }
                        });
                        var yetAnotherMinY = d3.min(data, function(d) {
                          if (d.IndexGrowth < 0) {
                            return d.IndexGrowth * 1.4;
                          } else {
                            return d.IndexGrowth * .6;
                          }
                        });
                        minY = Math.min(minY, yetAnotherMinY);
                        var maxY = d3.max(data, function(d) {
                          if (d.PortfolioGrowth < 0) {
                            return d.PortfolioGrowth * .6;
                          } else {
                            return d.PortfolioGrowth * 1.6;
                          }
                        });
                        var otherMaxY = d3.max(data, function(d) {
                          if (d.IndexGrowth < 0) {
                            return d.IndexGrowth * .6;
                          } else {
                            return d.IndexGrowth * 1.6;
                          }
                        });
                        maxY = Math.max(maxY, otherMaxY);
                        var largestYAxisLabel = d3.format(".0%")(maxY);
                        var largestYAxisLabelWidth = largestYAxisLabel.length * 9 + 12;
                        var maxX = data.length - 1;
                        var LatestPrice = d3.max(data.map(function(d) {
                          return d.Date;
                        }));
                        LatestPrice.setDate(LatestPrice.getDate());
                        var originalStart = data[0].Date;
                        var originalEnd = data[maxX].Date;
                        var daysOnOriginalScale = Math.max(Date.daysBetween(originalStart, originalEnd), 2);
                        var pastPercentage = 1;
                        var offsetAmount = Math.min(25, daysOnOriginalScale / 2);
                        var start = d3.timeDay.offset(originalStart, -offsetAmount);
                        var end = d3.timeDay.offset(originalEnd, offsetAmount);
                        var daysOnScale = Date.daysBetween(start, end);
                        var longDateFormat = d3.timeFormat("%m/%d/%Y");
                        var getMiddleDates = function(start, end) {
                          var middleDates = [];
                          var dateArray = d3.scaleTime().domain([start, end]).ticks(d3.timeDay, 1);
                          if (start.getFullYear() === end.getFullYear()) {
                            middledate = new Date((start.getTime() + end.getTime()) / 2);
                            middledate = new Date(middledate.getFullYear(), middledate.getMonth(), middledate.getDate());
                            middleDates.push(middledate);
                            middledate = d3.timeDay.offset(middledate, 15);
                          } else {
                            for (let i = 0; i < dateArray.length - 1; i++) {
                              if (i === 0) {
                                thisdate = dateArray[i];
                                endofthisyear = new Date(thisdate.getFullYear(), 11, 1); // we're cutting the year span lines off on dec 1 for this chart
                                middledate = new Date((thisdate.getTime() + endofthisyear.getTime()) / 2);
                                middledate = new Date(middledate.getFullYear(), middledate.getMonth(), middledate.getDate());
                                middleDates.push(middledate);
                              } else if (dateArray[i].getMonth() === 0 && dateArray[i].getDate() === 1) {
                                thisdate = dateArray[i];
                                endofthisyear = new Date(thisdate.getFullYear(), 11, 1); // we're cutting the year span lines off on dec 1 for this chart
                                endofthisyear = Math.min(endofthisyear.getTime(), end.getTime());
                                endofthisyear = new Date(endofthisyear);
                                middledate = new Date((thisdate.getTime() + endofthisyear.getTime()) / 2);
                                middledate = new Date(middledate.getFullYear(), middledate.getMonth(), middledate.getDate());
                                middleDates.push(middledate);
                              }
                            }
                          }
                          return middleDates;
                        };
                        var middleDatesArray = getMiddleDates(start, end);
                        var drawChart = function() {
                          //Margin conventions
                          var margin = {
                            top: 20,
                            right: 15,
                            bottom: 100,
                            left: largestYAxisLabelWidth
                          };
                          var widther = d3.select("#" + divID).node().clientWidth;
                          var width = widther - margin.left - margin.right;
                          var height = 300 - margin.top - margin.bottom;
                          var rangeWidth = width;
                          var xScale = d3.scaleTime().range([0, width]).domain([start, end]);
                          if (widther < 600) {
                            rangeWidth = 900;
                            extraMobileWidth = rangeWidth - width;
                            xScale = d3.scaleTime().range([(extraMobileWidth * -pastPercentage) + 15, width + (extraMobileWidth * (1 - pastPercentage)) - 15]).domain([start, end]);
                          }
                          var quarterDistance = (90 / daysOnScale) * rangeWidth;
                          var comparisonChartBase = {
                            svg: null,
                            underGroup: null,
                            shadowGroup: null,
                            mainGroup: null,
                            bottomGroup: null,
                            yTextGroup: null,
                            overGroup: null,
                            clip: null
                          }
                          $("#" + divID).removeClass("loading-message");
                          comparisonChartBase.svg = d3.select("#" + divID).append("svg").attr("id", "svg" + divID).attr("width", width + margin.left + margin.right).attr("height", height + margin.top + margin.bottom).attr("aria-label",
                            "This chart shows this company's average share price and price target history by month.").attr("data-pastPercentage", pastPercentage).attr("data-marginTop", margin.top).attr("data-marginLeft", margin.left);
                          appendLayers(comparisonChartBase, margin, width, height);
                          appendFilters(comparisonChartBase, margin, width, height);
                          var yScale = d3.scaleLinear().range([height, 0]).domain([minY, maxY]);
                          //Defines the y axis styles
                          var yAxisLines = d3.axisLeft(yScale).tickSize(-width).tickPadding(margin.left).ticks(4).tickFormat("");
                          var yAxisText = d3.axisLeft(yScale).tickSize(-width).tickPadding(12).ticks(4).tickFormat(function(d) {
                            return d3.format(".0%")(d);
                          });
                          //line function convention (feeds an array)
                          var portfolioGrowthLine = function(currentXScale) {
                            return d3.line().curve(d3.curveMonotoneX).x(function(d) {
                              return currentXScale(d.Date);
                            }).y(function(d) {
                              return yScale(d.PortfolioGrowth);
                            }).defined(function(d) {
                              return d.Date;
                            });
                          };
                          var IndexGrowthLine = function(currentXScale) {
                            return d3.line().curve(d3.curveMonotoneX).x(function(d) {
                              return currentXScale(d.Date);
                            }).y(function(d) {
                              return yScale(d.IndexGrowth);
                            }).defined(function(d) {
                              return d.Date;
                            });
                          };
                          var IndexGrowthSegmentDrawer = d3.line().curve(d3.curveMonotoneX).x(function(d) {
                            return xScale(d.Date);
                          }).y(function(d) {
                            return yScale(d.IndexGrowth);
                          });
                          var invisibleIndexGrowthSegment = comparisonChartBase.mainGroup.append("path").datum(data).attr("class", "invisible-line").attr("d", IndexGrowthSegmentDrawer);
                          var portfolioSegmentDrawer = d3.line().curve(d3.curveMonotoneX).x(function(d) {
                            return xScale(d.Date);
                          }).y(function(d) {
                            return yScale(d.PortfolioGrowth);
                          });
                          var invisiblePortfolioSegment = comparisonChartBase.mainGroup.append("path").datum(data).attr("class", "invisible-line").attr("d", IndexGrowthSegmentDrawer);
                          var xAxisYearSpanLines = function(currentXScale) {
                            return d3.axisBottom(currentXScale).tickPadding(8).ticks(d3.timeDay, 1).tickSize(2).tickFormat('');
                          };
                          //Appends the y axis
                          var yAxisGroupLines = comparisonChartBase.underGroup.append("g").attr("class", "y axis").attr("transform", "translate(" + margin.left + "," + margin.top + ")").call(yAxisLines).selectAll("g").classed("g-baseline",
                            function(d) {
                              return d === 0
                            });
                          var yAxisGroupText = comparisonChartBase.yTextGroup.append("g").attr("class", "y axis top").attr("transform", "translate(" + margin.left + "," + margin.top + ")").call(yAxisText).selectAll("g").classed("g-baseline",
                            function(d) {
                              return d === 0
                            });
                          var footnote = comparisonChartBase.yTextGroup.append("g").attr("class", "footnote").attr("transform", "translate(" + (margin.left + width - 300) + "," + (margin.top + height + margin.bottom - 12) + ")");
                          if (widther < 350) {
                            footnote.attr("transform", "translate(" + (margin.left + width - 280) + "," + (margin.top + height + margin.bottom - 12) + ") scale(.8)")
                          }
                          footnote.append("rect").attr("height", 5).attr("width", 40).attr("fill", "#005882").attr("x", 0);
                          footnote.append("text").attr("height", 30).attr("width", 95).attr("fill", "#005882").attr("x", 47).attr("y", 8).text(StocksListName);
                          footnote.append("rect").attr("height", 5).attr("width", 40).attr("fill", "#75a0bb").attr("opacity", .7).attr("x", 180);
                          footnote.append("text").attr("height", 30).attr("width", 95).attr("fill", "#005882").attr("x", 227).attr("y", 8).text(IndexName);
                          var xAxisQuarterLabels = function(currentXScale) {
                            return d3.axisBottom(currentXScale).tickPadding(8).ticks(d3.timeMonth, 1).tickSize(2).tickFormat(function(d) {
                              if (d.getMonth() === 0 || d.getMonth() === 3 || d.getMonth() === 6 || d.getMonth() === 9) {
                                return d.toLocaleString('en-us', {
                                  month: 'short'
                                });
                              }
                            });
                          };
                          var quarterLabels = comparisonChartBase.mainGroup.append("g").attr("class", "x axis quarter-labels").attr("transform", "translate(" + (quarterDistance / 7) + "," + height + ")").call(xAxisQuarterLabels(xScale));
                          // all the infoSlider stuff
                          distancePanned = 0;
                          var firstX = function(scale) {
                            return scale(LatestPrice);
                          };
                          var firstI = 0;
                          var adjusting = false;

                          function adjustInfoSlider(currentXScale, theEvent) {
                            if (!adjusting) {
                              adjusting = true;
                              var startingX = firstX(currentXScale);
                              try {
                                startingX = d3.mouse(theEvent)[0] - distancePanned;
                              } catch (err) {
                                // this must not originate from a mousemove
                              }
                              var x0 = currentXScale.invert(startingX),
                                i = bisectDate(data, x0, 1),
                                d0 = data[i - 1],
                                d1 = i < data.length ? data[i] : data[i - 1],
                                d = x0 - d0.Date > d1.Date - x0 ? d1 : d0,
                                nextI = x0 - d0.Date > d1.Date - x0 ? i : i - 1;
                              if (firstI === nextI) {
                                adjusting = false;
                              } else {
                                IndexGrowthSegmentDrawer.defined((d, i) => i <= firstI && i >= nextI || i <= nextI && i >= firstI);
                                portfolioSegmentDrawer.defined((d, i) => i <= firstI && i >= nextI || i <= nextI && i >= firstI);
                                // Update paths
                                invisibleIndexGrowthSegment.attr('d', IndexGrowthSegmentDrawer);
                                invisiblePortfolioSegment.attr('d', portfolioSegmentDrawer);
                                var transitionTime = 150;
                                infoSlider.transition().duration(transitionTime).ease(d3.easeLinear).attrTween('transform', nextI > firstI ? translateRight(invisibleIndexGrowthSegment.node()) : translateLeft(invisibleIndexGrowthSegment.node())).on(
                                  "end", () => {
                                    adjusting = false;
                                  });
                                infoSliderTop.transition().duration(transitionTime).ease(d3.easeLinear).attrTween('transform', nextI > firstI ? translateRight(invisibleIndexGrowthSegment.node()) : translateLeft(invisibleIndexGrowthSegment.node()));
                                IndexGrowthCircle.transition().duration(transitionTime).ease(d3.easeLinear).attrTween('cy', nextI > firstI ? translateRightY(invisibleIndexGrowthSegment.node()) : translateLeftY(invisibleIndexGrowthSegment.node()))
                                  .on("end", () => {
                                    firstI = nextI;
                                  });
                                portfolioCircle.transition().duration(transitionTime).ease(d3.easeLinear).attrTween('cy', nextI > firstI ? translateRightY(invisiblePortfolioSegment.node()) : translateLeftY(invisiblePortfolioSegment.node()));
                                if (d.IndexGrowth >= d.PortfolioGrowth) {
                                  infoSliderText.attr("fill", "#005882");
                                  infoSliderTopNumber.text(function() {
                                    labelString = d3.format(".2%")(d.IndexGrowth);
                                    return labelString;
                                  });
                                  infoSliderTextTwo.attr("fill", "#00345A");
                                  infoSliderBottomNumber.text(function() {
                                    return d3.format(".2%")(d.PortfolioGrowth)
                                  });
                                } else {
                                  infoSliderText.attr("fill", "#00345A");
                                  infoSliderTopNumber.text(function() {
                                    labelString = d3.format(".2%")(d.PortfolioGrowth);
                                    return labelString;
                                  });
                                  infoSliderTextTwo.attr("fill", "#005882");
                                  infoSliderBottomNumber.text(function() {
                                    return d3.format(".2%")(d.IndexGrowth)
                                  });
                                }
                                infoSliderDateText.text(function() {
                                  return d3.timeFormat("%b %-d")(d.Date);
                                });
                                infoSlider.select(".x-hover-line").attr("y2", yScale(Math.max(d.IndexGrowth, d.PortfolioGrowth)) - 20);
                                infoSlider.select(".y-hover-line").attr("x2", width + width);
                              }
                            }
                          }
                          var infoSlider = comparisonChartBase.mainGroup.append("g").attr("class", "info-slider");
                          var infoSliderWidth = Math.max((quarterDistance / 3), 80);
                          var infoSliderRectShadow = infoSlider.append("rect").attr("class", "info-slider-rect-shadow").attr("width", infoSliderWidth).attr("height", height + 50).style("filter", "url(#" + divID + "glowshadow)").attr("transform",
                            "translate(" + infoSliderWidth * -.5 + ",-10)");
                          var infoSliderRect = infoSlider.append("rect").attr("class", "info-slider-rect").attr("width", infoSliderWidth).attr("height", height + 52).attr("transform", "translate(" + infoSliderWidth * -.5 + ",-10)");
                          infoSlider.append("line").attr("class", "x-hover-line hover-line").attr("y1", 25).attr("y2", height);
                          infoSlider.append("line").attr("class", "y-hover-line hover-line").attr("x1", width).attr("x2", width);
                          var infoSliderText = infoSlider.append("text").attr("class", "bold").attr("y", 7).attr("transform", "translate(0,0)").attr("text-anchor", "middle").attr("dy", ".31em");
                          //infoSliderText.append("tspan")
                          //    .attr("class", "tspan1")
                          //    .attr("baseline-shift", "super")
                          //    .text(currencySymbol);
                          var infoSliderTopNumber = infoSliderText.append("tspan").attr("class", "tspan2");
                          var infoSliderTextTwo = infoSlider.append("text").attr("class", "bold").attr("y", 32).attr("transform", "translate(0,0)").attr("text-anchor", "middle").attr("dy", ".31em");
                          //infoSliderTextTwo.append("tspan")
                          //    .attr("class", "tspan1")
                          //    .attr("baseline-shift", "super")
                          //    .text(currencySymbol);
                          var infoSliderBottomNumber = infoSliderTextTwo.append("tspan").attr("class", "tspan2");
                          var infoSliderDateText = infoSlider.append("text").attr("class", "infoSlider-text").attr("y", height + 15).attr("text-anchor", "middle").attr("dy", ".31em");
                          var infoSliderTop = comparisonChartBase.overGroup.append("g").attr("class", "info-slider-top");
                          var portfolioCircle = infoSliderTop.append("circle").attr("r", 5).attr("fill", "#00345A");
                          var IndexGrowthCircle = infoSliderTop.append("circle").attr("r", 5).attr("fill", "#005882");
                          infoSlider.attr("transform", "translate(" + xScale(originalStart) + ",0)");
                          infoSliderTop.attr("transform", "translate(" + xScale(originalStart) + ",0)");
                          adjustInfoSlider(xScale);
                          var yearLabels = comparisonChartBase.mainGroup.append("g").attr("class", "x axis year-labels").attr("transform", "translate(0," + (height + 43) + ")");
                          middleDatesArray.forEach(function(item, index) {
                            yearLabels.append("g").attr("class", "tick").attr("transform", "translate(" + xScale(item) + ",22)").attr("text-anchor", "middle").append("text").text(function() {
                              return item.getFullYear();
                            }).attr("class", "past");
                          });
                          var xAxisYearSpanLinesGroup = comparisonChartBase.mainGroup.append("g").attr("class", "x axis year-lines").attr("transform", "translate(0," + (height + 42) + ")").call(xAxisYearSpanLines(xScale));
                          var lines = d3.selectAll("#" + divID + " g.year-lines.axis g.tick line");
                          lines.style("stroke-width", Math.max((quarterDistance / 45), 2));

                          function makeGapsBetweenYears() {
                            lines.attr("y2", function(d, i) {
                              if ((d.getMonth() === 11 && d.getDate() < 20) || i === (lines.nodes().length - 1)) {
                                return 0;
                              } else {
                                return 2;
                              }
                            }).attr("class", "past");
                          }
                          if (start.getFullYear() !== end.getFullYear()) {
                            makeGapsBetweenYears();
                          }
                          //Area in between
                          //var drawarea = comparisonChartBase.mainGroup.append("path")
                          //    .datum(data)
                          //    .attr("class", "area chart-line")
                          //    .style("filter", "url(#" + divID + "innerShadow)")
                          //    .attr("d", area(xScale));
                          //Data join for paths 
                          var drawportfolioGrowthLine = comparisonChartBase.mainGroup.append("path").datum(data).attr("class", "portfolioGrowthLine dark-line chart-line").attr("d", portfolioGrowthLine(xScale));
                          //Data join for paths 
                          var drawIndexGrowthLine = comparisonChartBase.mainGroup.append("path").datum(data).attr("class", "IndexGrowthLine medium-line chart-line").attr("stroke-width", 3).attr("fill", "none").attr("stroke", "url(#" + divID +
                            "pastFutureGradient)").attr("d", IndexGrowthLine(xScale));
                          var fade = comparisonChartBase.mainGroup.append("g").attr("class", "fade-edges").append("rect").attr("transform", "translate(-16,-20)").attr("width", (width + 34)).attr("height", height + margin.top + margin.bottom).style(
                            "fill", "#fff").attr("mask", "url(#" + divID + "mask)");
                          var overlay = comparisonChartBase.mainGroup.append("rect").attr("transform", "translate(0,0)").attr("class", "overlay").attr("width", width).attr("height", height + 45);
                          debounce(overlay.on("mousemove", function() {
                            adjustInfoSlider(xScale, this);
                          }), 150);
                          if (widther < 600) {
                            overlay.attr("width", width * 2);
                          }
                          if (widther < 600 && maxX !== 0) {
                            comparisonChartBase.svg.call(pan);
                          }
                        };
                        drawChart();
                        //RESPONSIVENESS
                        var resized = function() {
                          document.getElementById(divID).innerHTML = "";
                          drawChart();
                        };
                        debounce(d3.select(window).on("resize.comparison" + divID, resized), 150);
                      }
                    }
                  } else {
                    $("#" + divID).addClass("loading-message unavailable-message");
                    var resized = function() {
                      document.getElementById(divID).innerHTML = "";
                    };
                    debounce(d3.select(window).on("resize.comparison" + divID, resized), 150);
                  }
                }
              </script>
              <script type="text/javascript" defer="">
                function UpdatePerformanceGraph() {
                  //show animated wait image
                  var divtoshow = document.getElementById('imgAjax');
                  divtoshow.style.display = 'block';
                  PageMethods.set_path('https://' + window.location.host + '/Users/watchlists.aspx');
                  PageMethods.UpdatePerformanceGraph(document.getElementById('cphPrimaryContent_hdnSubscriberId').value, document.getElementById('cphPrimaryContent_ddlSelectAWatchList').value, document.getElementById('selCompareWatchlistTime').value,
                    document.getElementById('selCompareWatchlistIndex').value, OnSuccess);
                  //also load d3 chart for testing
                  //loadthischartThree(); // we will switch to this chart at a later date
                }

                function OnSuccess(response, userContext, methodName) {
                  // console.log("onsuccess");
                  try {
                    //console.log(JSON.stringify(response));
                    var datapoints = response.datapoints;
                    // console.log(datapoints);
                    var portfoliovalues = [];
                    var stockindexvalues = [];
                    //parse response.datapoints and convert to format for chartjs
                    var arrayLength = datapoints.length;
                    for (var i = 0; i < arrayLength; i++) {
                      var d = Date.parse(datapoints[i].periodlabel);
                      portfoliovalues.push({
                        x: d,
                        y: datapoints[i].portfoliovalue
                      });
                      stockindexvalues.push({
                        x: d,
                        y: datapoints[i].stockindexvalue
                      });
                    }
                    var chartdata = {
                      datasets: [{
                        data: portfoliovalues,
                        label: 'My Portfolio',
                        backgroundColor: "#005882",
                        borderColor: "#005882",
                        pointBorderColor: '#005882',
                        pointBackgroundColor: '#005882',
                        pointHoverBackgroundColor: '#005882',
                        pointHoverBorderColor: '#005882',
                        fill: false
                      }, {
                        data: stockindexvalues,
                        label: response.indexName,
                        backgroundColor: "#1D1E1F",
                        borderColor: "#1D1E1F",
                        pointBorderColor: '#1D1E1F',
                        pointBackgroundColor: '#1D1E1F',
                        pointHoverBackgroundColor: '#1D1E1F',
                        pointHoverBorderColor: '#1D1E1F',
                        fill: false
                      }]
                    };
                    if (window.myPerformanceChart) {
                      window.myPerformanceChart.config.data = chartdata;
                      window.myPerformanceChart.update();
                      document.getElementById('js-legendpp').innerHTML = window.myPerformanceChart.generateLegend();
                      //remove animated wait image
                      var divtohide = document.getElementById('imgAjax');
                      divtohide.style.display = 'none';
                      //show graph
                      document.getElementById('canvaspp').style.display = 'block';
                    }
                    var warning = "";
                    if (response.unavailableSymbols) {
                      var symbolsLength = response.unavailableSymbols.length;
                      if (symbolsLength > 0) {
                        warning = "The data for these holdings was unavailable: "
                        for (var i = 0; i < symbolsLength; i++) {
                          if (i > 0) {
                            warning = warning + ", ";
                          }
                          warning = warning + response.unavailableSymbols[i];
                        }
                      }
                    }
                    $('p#performanceChartWarning').html(warning);
                  } catch (err) {
                    //  console.log(err);
                    // console.log(err.stack);
                  }
                }

                function loadthischartThree() {
                  if (document.getElementById("MyPortfolioComparisonChart")) {
                    $("#MyPortfolioComparisonChart").html("");
                    $("#MyPortfolioComparisonChart").removeClass("unavailable-message");
                    loadAndDrawComparisonToIndexChart("My Portfolio vs This Index", "MyPortfolioComparisonChart", "Month", $("#cphPrimaryContent_hdnStocksListForChart").val(), $("#selCompareWatchlistIndex option:selected").text(), "My Portfolio",
                      "PerformanceComparisonCSV.ashx?scrp=" + ScrpRestrict, $("#selCompareWatchlistIndex").val() + "", $("#selCompareWatchlistTime").val() + "");
                  }
                }
                //document.addEventListener("DOMContentLoaded", function () {
                //    loadthischartThree();
                //    // console.log(StocksListForChart);
                //    //Re-bind for callbacks
                //    try {
                //        var prm2 = Sys.WebForms.PageRequestManager.getInstance();
                //        prm2.add_endRequest(function () {
                //            $("#MyPortfolioComparisonChart").html("");
                //            $("#MyPortfolioComparisonChart").addClass("loading-message");
                //            loadthischartThree();
                //        });
                //    }
                //    catch (err) { }
                //});
              </script>
              <script defer="">
                document.addEventListener("DOMContentLoaded", function() {
                  loadAndDrawPieChart("", "assetAllocationPieChart", portfolioSectorAllocation, '#00345A', '#e4f0f2');
                  loadAndDrawPieChart("", "MBAssetAllocationPieChart", mbSectorAllocation, '#00345A', '#e4f0f2');
                  loadAndDrawPieChart("", "PersonalAssetClassAllocationPieChart", PersonalAssetClassAllocation, '#115F44', '#E1F1E7');
                  loadAndDrawPieChart("", "MBAssetClassAllocationPieChart", mbAssetClassAllocation, '#115F44', '#E1F1E7');
                });
              </script>
              <input type="submit" name="ctl00$cphPrimaryContent$btnCompareWatchlist" value="Compare" onclick="UpdatePerformanceGraph(); return false;" id="cphPrimaryContent_btnCompareWatchlist" class="sbbutton" autopostback="false"
                style="width:175px;">&nbsp;
            </div>
            <div id="imgAjax" style="display: none; text-align: center; color: black;">
              <img src="/images/ajax2.gif" alt="Your chart is being prepared." title="Your chart is being prepared.">
            </div>
            <div class="xcanvas-wrap" style="width: 100%; padding: 0 15px;">
              <canvas id="canvaspp"></canvas>
              <div id="js-legendpp" class="chart-legend"></div>
              <p style="padding: 5px 15px 15px; font-size: 13px;" id="performanceChartWarning">
              </p>
            </div>
            <div class="col">
              <input type="hidden" name="ctl00$cphPrimaryContent$hdnStocksListForChart" id="cphPrimaryContent_hdnStocksListForChart" value="NASDAQ:MSFT:0:USD|NASDAQ:META:0:USD|NASDAQ:GOOGL:0:USD|NASDAQ:AMZN:0:USD|NASDAQ:AAPL:0:USD|">
            </div>
          </div>
          <div class="dividends">
            <h3 class="block-header">Portfolio Dividends <button type="button" class="moreinfo" aria-label="more info"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View your portfolio's overall dividend yield, the
                  total of annual dividends you should receive each year and your upcoming dividend payments.</span></button></h3>
            <div class="stat">
              <div class="row">
                <div class="col-sm-6 col-md-3 mb-2">
                  <div class="light-shadow p-3 pb-2 text-center h-100">
                    <span class="font-small text-uppercase font-weight-normal mb-2">My Dividend Yield</span>
                    <div class="m-0">
                      <div class="key-stat c-green">
                        <strong> N/A </strong>
                      </div>
                    </div>
                  </div>
                </div>
                <div class="col-sm-6 col-md-3 mb-2">
                  <div class="light-shadow p-3 pb-2 text-center h-100">
                    <span class="font-small text-uppercase font-weight-normal mb-2">My Payout Ratio</span>
                    <div class="m-0">
                      <div class="key-stat c-green">
                        <strong> N/A </strong>
                      </div>
                    </div>
                  </div>
                </div>
                <div class="col-sm-6 col-md-3 mb-2">
                  <div class="light-shadow p-3 pb-2 text-center h-100">
                    <span class="font-small text-uppercase font-weight-normal mb-2">My Average Dividend Growth</span>
                    <div class="m-0">
                      <div class="key-stat c-green">
                        <strong> N/A </strong>
                      </div>
                    </div>
                  </div>
                </div>
                <div class="col-sm-6 col-md-3 mb-2">
                  <div class="light-shadow p-3 pb-2 text-center h-100">
                    <span class="font-small text-uppercase font-weight-normal mb-2">My Annual Dividend Payout</span>
                    <div class="m-0">
                      <div class="key-stat c-green">
                        <strong> N/A </strong>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
              <div class="row">
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind w-100">
                    <thead>
                      <tr>
                        <th data-sort="string">My Top Yielding Stocks</th>
                        <th data-sort="float">Yield</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td>0.79%</td>
                      </tr>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td>0.45%</td>
                      </tr>
                      <tr>
                        <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                        <td>0.44%</td>
                      </tr>
                      <tr>
                        <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                        <td>0.36%</td>
                      </tr>
                      <tr>
                        <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                        <td>0.10%</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind w-100">
                    <thead>
                      <tr>
                        <th data-sort="string">Upcoming Dividend Payments</th>
                        <th data-sort="int">Date</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td data-sort-value="20241212000000">12/12/2024</td>
                      </tr>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td data-sort-value="20241216000000">12/16/2024</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div id="pan2b" class="tab-pane" role="tabpanel" aria-labelledby="insightstab" tabindex="0">
        <h2 class="sr-only">Portfolio Insights</h2>
        <div style="padding: 6px 10px 8px;margin-bottom: 10px;border-radius: 2px;" class="bg-light-red c-dark-red">For statistics to be calculated for this portfolio, you must edit the details of the holdings, adding the number of shares you own.
        </div>
        <div class="statistics">
          <h3 class="block-header">Asset Allocation by Sector <button type="button" class="moreinfo" aria-label="more info"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View the asset allocation of your holdings by
                sector vs. the MarketBeat community's asset allocation by sector. </span></button>
          </h3>
          <div class="p-3">
            <div class="row">
              <div class="col-lg-6">
                <h4 class="large mb-1">My Portfolio</h4>
                <div class="dv-charts" id="assetAllocationPieChart" style="height: 310px;">
                  <div class="h4 pie-tip"></div><svg width="676" height="300" aria-label="This chart shows the ETF's  of forth.">
                    <g class="labels" transform="translate(338,150)"></g>
                    <g class="lines"></g>
                  </svg>
                </div>
                <script>
                  var portfolioSectorAllocation = [];
                </script>
              </div>
              <div class="col-lg-6">
                <h4 class="large mb-1">MarketBeat Users</h4>
                <div class="dv-charts" id="MBAssetAllocationPieChart" style="height: 310px;">
                  <div class="h4 pie-tip"></div><svg width="676" height="300" aria-label="This chart shows the ETF's  of forth.">
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(0, 43, 82)" d="M-84.85281374238569,-84.8528137423857A120,120,0,0,1,89.44125586132618,-80.00163592045342L55.90078491332886,-50.00102245028339A75,75,0,0,0,-53.03300858899106,-53.033008588991066Z" class="pie-slice">
                      </path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(0, 52, 90)" d="M89.44125586132618,-80.00163592045342A120,120,0,0,1,119.52567845038352,-10.658901959185258L74.7035490314897,-6.661813724490787A75,75,0,0,0,55.90078491332886,-50.00102245028339Z" class="pie-slice">
                      </path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(14, 61, 98)" d="M119.52567845038352,-10.658901959185258A120,120,0,0,1,111.09449636706017,45.36532681409069L69.43406022941261,28.353329258806685A75,75,0,0,0,74.7035490314897,-6.661813724490787Z" class="pie-slice">
                      </path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(27, 70, 105)" d="M111.09449636706017,45.36532681409069A120,120,0,0,1,80.01816791071471,89.42646590474583L50.0113549441967,55.891541190466135A75,75,0,0,0,69.43406022941261,28.353329258806685Z" class="pie-slice">
                      </path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(38, 79, 113)" d="M80.01816791071471,89.42646590474583A120,120,0,0,1,35.27809683194774,114.69723572918276L22.04881051996734,71.68577233073923A75,75,0,0,0,50.0113549441967,55.891541190466135Z" class="pie-slice">
                      </path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(48, 89, 120)" d="M35.27809683194774,114.69723572918276A120,120,0,0,1,-10.34915752241811,119.55289598573586L-6.468223451511319,74.72055999108491A75,75,0,0,0,22.04881051996734,71.68577233073923Z" class="pie-slice">
                      </path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(59, 98, 128)" d="M-10.34915752241811,119.55289598573586A120,120,0,0,1,-52.47109066066001,107.92026985177898L-32.79443166291251,67.45016865736187A75,75,0,0,0,-6.468223451511319,74.72055999108491Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(69, 108, 135)" d="M-52.47109066066001,107.92026985177898A120,120,0,0,1,-84.31363070664241,85.38859219511659L-52.69601919165151,53.36787012194787A75,75,0,0,0,-32.79443166291251,67.45016865736187Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(80, 118, 143)" d="M-84.31363070664241,85.38859219511659A120,120,0,0,1,-100.18687606100389,66.04990435373125L-62.61679753812743,41.281190221082035A75,75,0,0,0,-52.69601919165151,53.36787012194787Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(91, 128, 150)" d="M-100.18687606100389,66.04990435373125A120,120,0,0,1,-110.8421288190756,45.97850018057841L-69.27633051192225,28.736562612861505A75,75,0,0,0,-62.61679753812743,41.281190221082035Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(102, 138, 158)" d="M-110.8421288190756,45.97850018057841A120,120,0,0,1,-117.23615759351296,25.606314703779507L-73.2725984959456,16.003946689862193A75,75,0,0,0,-69.27633051192225,28.736562612861505Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(114, 148, 166)" d="M-117.23615759351296,25.606314703779507A120,120,0,0,1,-119.74646045817987,7.796486884332261L-74.84153778636242,4.872804302707663A75,75,0,0,0,-73.2725984959456,16.003946689862193Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(125, 158, 173)" d="M-119.74646045817987,7.796486884332261A120,120,0,0,1,-119.70009052091656,-8.478698560768766L-74.81255657557284,-5.299186600480478A75,75,0,0,0,-74.84153778636242,4.872804302707663Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(137, 168, 181)" d="M-119.70009052091656,-8.478698560768766A120,120,0,0,1,-117.56469159003557,-24.052926876782003L-73.47793224377223,-15.03307929798875A75,75,0,0,0,-74.81255657557284,-5.299186600480478Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(150, 178, 189)" d="M-117.56469159003557,-24.052926876782003A120,120,0,0,1,-114.20877138377142,-36.82874609607873L-71.38048211485713,-23.017966310049207A75,75,0,0,0,-73.47793224377223,-15.03307929798875Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(162, 188, 198)" d="M-114.20877138377142,-36.82874609607873A120,120,0,0,1,-110.22699460941092,-47.43426672118897L-68.89187163088182,-29.646416700743103A75,75,0,0,0,-71.38048211485713,-23.017966310049207Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(175, 199, 206)" d="M-110.22699460941092,-47.43426672118897A120,120,0,0,1,-84.85281374238565,-84.85281374238576L-53.033008588991024,-53.0330085889911A75,75,0,0,0,-68.89187163088182,-29.646416700743103Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="labels" transform="translate(338,150)">
                      <foreignObject transform="translate(-330.5,-82.76797893312175)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Other</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,-54.45083392564555)" class="pie-text pie-text-small" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Industrial Products</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,-41.29792863739295)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Financial Services</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,-25.33841949365321)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Auto/Tires/Trucks</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,-7.384629480527246)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Consumer Staples</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,11.842060530293764)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Basic Materials</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,33.42676709407346)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Business Services</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,56.300366697112096)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Transportation</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,78.65081341191647)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Consumer Discretionary</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,103.20157921427764)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Cryptocurrency</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,123.12887501169166)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">ETF</div>
                      </foreignObject>
                      <foreignObject transform="translate(142.5,127.24197797288181)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: start; text-align: left;">Oils/Energy</div>
                      </foreignObject>
                      <foreignObject transform="translate(142.5,110.54521938782365)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: start; text-align: left;">Retail/Wholesale</div>
                      </foreignObject>
                      <foreignObject transform="translate(142.5,70.80935765616499)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: start; text-align: left;">Manual Asset</div>
                      </foreignObject>
                      <foreignObject transform="translate(142.5,13.090156303838302)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: start; text-align: left;">Medical</div>
                      </foreignObject>
                      <foreignObject transform="translate(142.5,-60.73098698982293)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: start; text-align: left;">Finance</div>
                      </foreignObject>
                      <foreignObject transform="translate(142.5,-141.94773864128544)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: start; text-align: left;">Computer and Technology</div>
                      </foreignObject>
                    </g>
                    <g class="lines">
                      <polyline stroke="black" stroke-width="1" points="2.7126954711160414,-97.46225568537281,3.7560398830837496,-134.94773864128544,135,-134.94773864128544" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="89.44476872387406,-38.80571282598323,123.84660284844102,-53.73098698982293,135,-53.73098698982293" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="96.41432853093717,14.509557330549885,133.49676258129762,20.090156303838302,135,20.090156303838302" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="79.67621499675612,56.19564719611916,110.32091307243155,77.80935765616499,135,77.80935765616499" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="47.95099467430074,84.89376955787263,66.39368493364718,117.54521938782365,135,117.54521938782365" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="10.317705945660862,96.95253964708131,14.286054386299655,134.2419779728818,135,134.2419779728818" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-25.95457957547009,93.98196528622177,-35.937110181420124,130.12887501169166,-135,130.12887501169166" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-56.31764567991453,79.59002943253385,-77.9782786337278,110.20157921427764,-135,110.20157921427764" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-75.36394308798614,61.85892079749522,-104.35007504490389,85.65081341191647,-135,85.65081341191647" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-86.11743246234786,45.716931503469844,-119.2395218709432,63.300366697112096,-135,63.300366697112096" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-93.02568888687465,29.197109567941943,-128.80479999721103,40.42676709407346,-135,40.42676709407346" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-96.54567894107211,13.608154827434385,-133.678632379946,18.842060530293764,-135,18.842060530293764" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-97.49960427535233,-0.2777879581585668,-134.99945207356475,-0.38462948052724627,-135,-0.38462948052724627" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-96.59624990500728,-13.24441407874954,-133.74865371462548,-18.33841949365321,-135,-18.33841949365321" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-94.300907321384,-24.77072623811713,-130.57048706037784,-34.29792863739295,-135,-34.29792863739295" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-91.27877024549332,-34.27004672407734,-126.38598957068305,-47.45083392564555,-135,-47.45083392564555" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-80.69589421642604,-54.721318118365716,-111.73277660735913,-75.76797893312175,-135,-75.76797893312175" transform="translate(338,150)" style="fill: none;"></polyline>
                    </g>
                  </svg>
                </div>
                <script>
                  var mbSectorAllocation = [{
                    name: 'Computer and Technology',
                    amount: 0.258857325409547
                  }, {
                    name: 'Finance',
                    amount: 0.10198721121133
                  }, {
                    name: 'Medical',
                    amount: 0.0758571305376446
                  }, {
                    name: 'Manual Asset',
                    amount: 0.0721262382088203
                  }, {
                    name: 'Retail/Wholesale',
                    amount: 0.0686814502505487
                  }, {
                    name: 'Oils/Energy',
                    amount: 0.0612337133779978
                  }, {
                    name: 'ETF',
                    amount: 0.0582822936735789
                  }, {
                    name: 'Cryptocurrency',
                    amount: 0.0519664999979229
                  }, {
                    name: 'Consumer Discretionary',
                    amount: 0.0332427261093127
                  }, {
                    name: 'Transportation',
                    amount: 0.0301843099122549
                  }, {
                    name: 'Business Services',
                    amount: 0.0283565121626336
                  }, {
                    name: 'Basic Materials',
                    amount: 0.0238768885924008
                  }, {
                    name: 'Consumer Staples',
                    amount: 0.0216023013476288
                  }, {
                    name: 'Auto/Tires/Trucks',
                    amount: 0.0208641548794632
                  }, {
                    name: 'Financial Services',
                    amount: 0.0175281424811456
                  }, {
                    name: 'Industrial Products',
                    amount: 0.0150302814206581
                  }, {
                    name: 'Other',
                    amount: 0.0603228204271121
                  }];
                </script>
              </div>
            </div>
          </div>
          <h3 class="block-header">Asset Allocation by Asset Class <button type="button" class="moreinfo" aria-label="more info"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View the asset allocation of your holdings
                by asset class vs. the MarketBeat community's asset allocation by asset class. </span></button>
          </h3>
          <div class="p-3">
            <div class="row">
              <div class="col-lg-6">
                <h4 class="large mb-1">My Portfolio</h4>
                <div class="dv-charts" id="PersonalAssetClassAllocationPieChart" style="height: 310px;">
                  <div class="h4 pie-tip"></div><svg width="676" height="300" aria-label="This chart shows the ETF's  of forth.">
                    <g class="labels" transform="translate(338,150)"></g>
                    <g class="lines"></g>
                  </svg>
                </div>
                <script>
                  var PersonalAssetClassAllocation = [];
                </script>
              </div>
              <div class="col-lg-6">
                <h4 class="large mb-1">MarketBeat Users</h4>
                <div class="dv-charts" id="MBAssetClassAllocationPieChart" style="height: 310px;">
                  <div class="h4 pie-tip"></div><svg width="676" height="300" aria-label="This chart shows the ETF's  of forth.">
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(0, 88, 61)" d="M-84.85281374238569,-84.8528137423857A120,120,0,1,1,-112.28655481472681,42.32882714934765L-70.17909675920426,26.45551696834228A75,75,0,1,0,-53.03300858899106,-53.033008588991066Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(17, 95, 68)" d="M-112.28655481472681,42.32882714934765A120,120,0,0,1,-119.48494318001738,-11.106230380647434L-74.67808948751086,-6.941393987904646A75,75,0,0,0,-70.17909675920426,26.45551696834228Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(33, 102, 75)" d="M-119.48494318001738,-11.106230380647434A120,120,0,0,1,-107.58573866340325,-53.153634271326176L-67.24108666462703,-33.22102141957886A75,75,0,0,0,-74.67808948751086,-6.941393987904646Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="arc" transform="translate(338,150)">
                      <path fill="rgb(45, 109, 83)" d="M-107.58573866340325,-53.153634271326176A120,120,0,0,1,-84.85281374238572,-84.85281374238569L-53.03300858899107,-53.03300858899106A75,75,0,0,0,-67.24108666462703,-33.22102141957886Z"
                        class="pie-slice"></path>
                    </g>
                    <g class="labels" transform="translate(338,150)">
                      <foreignObject transform="translate(-330.5,-85.67476095935305)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Cryptocurrency</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,-43.760660822463315)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">ETF</div>
                      </foreignObject>
                      <foreignObject transform="translate(-330.5,11.023428206771595)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: end; text-align: right;">Manual Assets</div>
                      </foreignObject>
                      <foreignObject transform="translate(142.5,21.465499017459173)" class="pie-text" dy=".35em" height="15px" width="188" style="color: rgb(0, 0, 0);">
                        <div style="text-anchor: start; text-align: left;">Stock</div>
                      </foreignObject>
                    </g>
                    <g class="lines">
                      <polyline stroke="black" stroke-width="1" points="95.30793006532433,20.558415957053846,131.9648262442952,28.465499017459173,135,28.465499017459173" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-96.62716897457224,13.016920371557262,-133.79146473402312,18.023428206771595,-135,18.023428206771595" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-93.81567649948896,-26.549366149556835,-129.8986289992924,-36.760660822463315,-135,-36.760660822463315" transform="translate(338,150)" style="fill: none;"></polyline>
                      <polyline stroke="black" stroke-width="1" points="-79.2317014737547,-56.8206606928661,-109.7054328098142,-78.67476095935305,-135,-78.67476095935305" transform="translate(338,150)" style="fill: none;"></polyline>
                    </g>
                  </svg>
                </div>
                <script>
                  var mbAssetClassAllocation = [{
                    name: 'Stock',
                    amount: 0.817624968119719
                  }, {
                    name: 'Manual Assets',
                    amount: 0.0721262382088041
                  }, {
                    name: 'ETF',
                    amount: 0.0582822936735656
                  }, {
                    name: 'Cryptocurrency',
                    amount: 0.0519664999979113
                  }];
                </script>
              </div>
            </div>
          </div>
          <div class="myportfolio">
            <h3 class="block-header">Largest Holdings <button type="button" class="moreinfo" aria-label="more info"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View the largest investment holdings inside your
                  portfolio.</span></button></h3>
            <div class="stat">
              <table class="s-table sort-table dont-sort-on-rebind">
                <thead>
                  <tr>
                    <th data-sort="string">Holding</th>
                    <th data-sort="float">% of Portfolio</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                    <td>-</td>
                  </tr>
                  <tr>
                    <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                    <td>-</td>
                  </tr>
                  <tr>
                    <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                    <td>-</td>
                  </tr>
                  <tr>
                    <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                    <td>-</td>
                  </tr>
                  <tr>
                    <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                    <td>-</td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <div class="myportfolio">
            <h3 class="block-header">MarketBeat Users' Largest Holdings <button type="button" class="moreinfo" aria-label="more info"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View the largest holdings of average
                  MarketBeat users.</span></button></h3>
            <div class="stat">
              <table class="s-table sort-table dont-sort-on-rebind">
                <thead>
                  <tr>
                    <th data-sort="string">Holding</th>
                    <th data-sort="float">% of Portfolio</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                    <td>5.74%</td>
                  </tr>
                  <tr>
                    <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                    <td>3.97%</td>
                  </tr>
                  <tr>
                    <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                    <td>2.51%</td>
                  </tr>
                  <tr>
                    <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                    <td>1.66%</td>
                  </tr>
                  <tr>
                    <td>NVIDIA (<a href="/stocks/NASDAQ/NVDA/">NVDA</a>)</td>
                    <td>1.62%</td>
                  </tr>
                  <tr>
                    <td>Tesla (<a href="/stocks/NASDAQ/TSLA/">TSLA</a>)</td>
                    <td>1.31%</td>
                  </tr>
                  <tr>
                    <td>General Electric (<a href="/stocks/NYSE/GE/">GE</a>)</td>
                    <td>1.29%</td>
                  </tr>
                  <tr>
                    <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                    <td>1.05%</td>
                  </tr>
                  <tr>
                    <td>Advanced Micro Devices (<a href="/stocks/NASDAQ/AMD/">AMD</a>)</td>
                    <td>1.05%</td>
                  </tr>
                  <tr>
                    <td>Netflix (<a href="/stocks/NASDAQ/NFLX/">NFLX</a>)</td>
                    <td>0.71%</td>
                  </tr>
                </tbody>
              </table>
            </div>
          </div>
          <div class="pe">
            <h3 class="block-header">Portfolio P/E Ratio <button type="button" class="moreinfo" aria-label="more info"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View your portfolio's price-to-earnings ratio, which
                  is a measure of the company's share price relative to its earnings per share.</span></button></h3>
            <div class="stat">
              <h4 class="large">My portfolio P/E: <strong id="mppe"> N/A</strong></h4>
              <div class="row">
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind">
                    <thead>
                      <tr>
                        <th data-sort="string">My Highest P/E Stocks</th>
                        <th data-sort="float">P/E&nbsp;Ratio</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                        <td>43.81</td>
                      </tr>
                      <tr>
                        <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                        <td>37.55</td>
                      </tr>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td>34.47</td>
                      </tr>
                      <tr>
                        <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                        <td>26.43</td>
                      </tr>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td>23.62</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind">
                    <thead>
                      <tr>
                        <th data-sort="string">My Lowest P/E Stocks</th>
                        <th data-sort="float">P/E&nbsp;Ratio</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td>23.62</td>
                      </tr>
                      <tr>
                        <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                        <td>26.43</td>
                      </tr>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td>34.47</td>
                      </tr>
                      <tr>
                        <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                        <td>37.55</td>
                      </tr>
                      <tr>
                        <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                        <td>43.81</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
              </div>
            </div>
          </div>
          <div class="volatility">
            <h3 class="block-header">Portfolio Volatility (Beta) <button type="button" class="moreinfo" aria-label="more info"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View your portfolio's beta, which is a
                  measurement of how closely correlated the volatility of your holdings are to the broader market.</span></button></h3>
            <div class="stat">
              <h4 class="large">My Beta: <strong id="mprisk"> N/A</strong></h4>
              <div class="row">
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind">
                    <thead>
                      <tr>
                        <th data-sort="string">Most Volatile Stocks In Portfolio:</th>
                        <th data-sort="float">Beta</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                        <td>1.24</td>
                      </tr>
                      <tr>
                        <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                        <td>1.22</td>
                      </tr>
                      <tr>
                        <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                        <td>1.14</td>
                      </tr>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td>1.03</td>
                      </tr>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td>0.91</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind">
                    <thead>
                      <tr>
                        <th data-sort="string">Least Volatile Stocks In Portfolio:</th>
                        <th data-sort="float">Beta</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td>0.91</td>
                      </tr>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td>1.03</td>
                      </tr>
                      <tr>
                        <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                        <td>1.14</td>
                      </tr>
                      <tr>
                        <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                        <td>1.22</td>
                      </tr>
                      <tr>
                        <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                        <td>1.24</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
              </div>
            </div>
          </div>
          <div class="averagemarketcap">
            <h3 class="block-header">Average Market Cap <button type="button" class="moreinfo" aria-label="more info"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View your portfolio's market cap allocation vs other
                  users' market cap allocations.</span></button></h3>
            <div class="stat">
              <h4 class="large">My Average Market Cap: <strong id="mpamp"> $2.46 trillion</strong></h4>
              <div class="meter meter-gold">
                <div>
                  <p class="stat-slider-marker top-stat-marker" style="left: 85.8%">My Average Market Cap<br>▼<br><span class="stat-slider-number">$2.46 trillion</span></p>
                  <p class="stat-slider-marker bottom-stat-marker" style="left: 14.2%"><span class="stat-slider-number">$591.20 billion</span><br>▲<br>Average MarketBeat<br>User Market Cap</p>
                </div>
              </div>
              <div class="row">
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind">
                    <thead>
                      <tr>
                        <th data-sort="string">Highest Market Cap Stocks In Portfolio:</th>
                        <th data-sort="float">Market Cap</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                        <td data-sort-value="3450639.39"> $3.45 trillion</td>
                      </tr>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td data-sort-value="3106218.933"> $3.11 trillion</td>
                      </tr>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td data-sort-value="2180366.92"> $2.18 trillion</td>
                      </tr>
                      <tr>
                        <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                        <td data-sort-value="2151476.401"> $2.15 trillion</td>
                      </tr>
                      <tr>
                        <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                        <td data-sort-value="1416466.094"> $1.42 trillion</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind">
                    <thead>
                      <tr>
                        <th data-sort="string">Lowest Market Cap Stocks In Portfolio:</th>
                        <th data-sort="float">Market Cap</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                        <td data-sort-value="1416466.094">$1.42 trillion</td>
                      </tr>
                      <tr>
                        <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                        <td data-sort-value="2151476.401">$2.15 trillion</td>
                      </tr>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td data-sort-value="2180366.92">$2.18 trillion</td>
                      </tr>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td data-sort-value="3106218.933">$3.11 trillion</td>
                      </tr>
                      <tr>
                        <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                        <td data-sort-value="3450639.39">$3.45 trillion</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
              </div>
            </div>
          </div>
          <div class="feg">
            <h3 class="block-header">Forecasted Earnings Growth <button type="button" class="moreinfo" aria-label="more info"><span class="fa-regular fa-circle-question"></span><span class="tooltiptext">View your portfolio's forecasted earnings
                  growth vs other users' forecasted earnings growth.</span></button></h3>
            <div class="stat">
              <h4 class="large">My Forecasted Earnings Growth: <strong id="fegamp"> 13.53%</strong></h4>
              <div class="meter meter-green">
                <div>
                  <p class="stat-slider-marker top-stat-marker" style="left: 15.7%">My Average Forecasted<br>Earnings Growth<br>▼<br><span class="stat-slider-number">13.53%</span></p>
                  <p class="stat-slider-marker bottom-stat-marker" style="left: 75.4%"><span class="stat-slider-number">21.24%</span><br>▲<br>Average MarketBeat User<br>Forecasted Earnings Growth</p>
                </div>
              </div>
              <div class="row">
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind">
                    <thead>
                      <tr>
                        <th data-sort="string">Highest Forecasted Earnings Growth In Portfolio:</th>
                        <th data-sort="float">Forecasted Earnings Growth</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                        <td>17.65%</td>
                      </tr>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td>14.37%</td>
                      </tr>
                      <tr>
                        <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                        <td>12.79%</td>
                      </tr>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td>11.51%</td>
                      </tr>
                      <tr>
                        <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                        <td>11.32%</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
                <div class="col-md-6">
                  <table class="s-table sort-table dont-sort-on-rebind">
                    <thead>
                      <tr>
                        <th data-sort="string">Lowest Forecasted Earnings Growth In Portfolio:</th>
                        <th data-sort="float">Forecasted Earnings Growth</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr>
                        <td>Meta Platforms (<a href="/stocks/NASDAQ/META/">META</a>)</td>
                        <td>11.32%</td>
                      </tr>
                      <tr>
                        <td>Alphabet (<a href="/stocks/NASDAQ/GOOGL/">GOOGL</a>)</td>
                        <td>11.51%</td>
                      </tr>
                      <tr>
                        <td>Apple (<a href="/stocks/NASDAQ/AAPL/">AAPL</a>)</td>
                        <td>12.79%</td>
                      </tr>
                      <tr>
                        <td>Microsoft (<a href="/stocks/NASDAQ/MSFT/">MSFT</a>)</td>
                        <td>14.37%</td>
                      </tr>
                      <tr>
                        <td>Amazon.com (<a href="/stocks/NASDAQ/AMZN/">AMZN</a>)</td>
                        <td>17.65%</td>
                      </tr>
                    </tbody>
                  </table>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
      <!-- Statistics -->
      <div id="panX" class="tab-pane is-hidden">
        <h2 class="sr-only">Portfolio Statistics</h2>
        <div class="statistics">
          <div class="distribution">
            <div class="stat">
              <div class="canvas-wrap">
                <canvas id="canvas" width="275" height="275"></canvas>
              </div>
              <div id="js-legend" class="chart-legend"></div>
            </div>
          </div>
        </div>
      </div>
      <!-- Headlines -->
      <div id="pan3" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="headlinestab" tabindex="0">
        <h2 class="sr-only">My Headlines</h2>
        <div id="cphPrimaryContent_pnlFilterTable">
          <div class="d-none">
            <input type="submit" name="ctl00$cphPrimaryContent$btnDrawHeadlines" value="Draw Headlines" id="cphPrimaryContent_btnDrawHeadlines">
          </div>
          <div class="text-center">
            <div id="cphPrimaryContent_Progress1" style="display:none;" role="status" aria-hidden="true">
              <img src="/images/loading-gif-small.gif" loading="lazy" alt="The Page is Updating" class="pt-0 pt-xl-1" width="24" height="24">
            </div>
          </div>
        </div>
      </div>
      <!-- Calendar -->
      <div id="pan5" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="calendartab" tabindex="0">
        <h2 class="sr-only">My Calendar</h2>
        <div id="dvCalendar">This page is loading your portfolio's calendar. Please wait…</div>
      </div>
      <!-- Ratings -->
      <div id="pan4" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="ratingstab" tabindex="0">
        <h2 class="sr-only">My Ratings</h2>
        <div id="dvRatings">This page is loading your portfolio's ratings. Please wait…</div>
      </div>
      <!-- Insider Trades -->
      <div id="pan6" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="insidertradestab" tabindex="0">
        <h2 class="sr-only">My Insider Trades</h2>
        <div id="dvInsiderTrades">This page is loading your portfolio's insider trades. Please wait…</div>
      </div>
      <!-- Earnings -->
      <div id="pan7" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="earningstab" tabindex="0">
        <h2 class="sr-only">My Earnings</h2>
        <div id="dvEarnings">This page is loading your portfolio's earnings announcements. Please wait…</div>
      </div>
      <!-- SEC Filings -->
      <div id="pan8" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="secfilingstab" tabindex="0">
        <h2 class="sr-only">My SEC Filings</h2>
        <div id="dvSECFilings">This page is loading your portfolio's SEC Filings. Please wait…</div>
      </div>
      <!-- Social Media -->
      <div id="pan9" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="socialtab" tabindex="0">
        <h2 class="sr-only">Social Mentions</h2>
        <div id="outerdivmentionedstockslists">
          <h2 class="block-header py-2 px-3 m-0 h3">Portfolio Media Mentions</h2>
          <div class="shadow pt-2 px-3 mb-3">
            <div class="row">
              <div class="col-md-4">
                <div id="dvmentionedstockslists" class="mb-3" style="min-height: 150px"></div>
              </div>
              <div class="col-md-8 p-0">
                <div id="portfolioMediaMentionsChart" class="dv-chart loading-message h-100 mb-2" style="min-height: 275px;"></div>
              </div>
            </div>
          </div>
        </div>
        <div class="row">
          <div class="col-md-6">
            <h2 class="block-header py-2 px-3 m-0 h3">Recent Stocktwits Mentions</h2>
            <div id="stocktwits-widget-news" class="shadow mb-3"></div>
            <script type="text/javascript">
              function LoadStocktwits() {
                var PanelWidth = document.getElementById('stocktwits-widget-news').offsetWidth;
                STWT.Widget({
                  container: 'stocktwits-widget-news',
                  symbol: 'GOOGL,AMZN,AAPL,META,MSFT',
                  width: PanelWidth,
                  height: '800',
                  limit: '200',
                  scrollbars: 'true',
                  streaming: 'true',
                  title: '',
                  style: {
                    link_color: '4871a8',
                    link_hover_color: '4871a8',
                    header_text_color: '000000',
                    border_color: 'cecece',
                    divider_color: 'cecece',
                    divider_color: 'cecece',
                    divider_type: 'solid',
                    box_color: 'f5f5f5',
                    stream_color: 'ffffff',
                    text_color: '000000',
                    time_color: '999999'
                  }
                });
              };
            </script>
            <script async="" type="text/javascript" src="https://api.stocktwits.com/addon/widget/2/widget-loader.min.js"></script>
          </div>
        </div>
      </div>
      <!-- My Newsletter -->
      <div id="pan10" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="newslettertab" tabindex="0">
        <h2 class="sr-only">My Newsletter</h2>
        <div id="cphPrimaryContent_pnlNewsletterChoice">
          <div class="top-label-wrapper mb-2" style="max-width: 300px;">
            <select name="ctl00$cphPrimaryContent$ddlNewsletter" id="cphPrimaryContent_ddlNewsletter" class="top-labeled-input" onchange="LoadNewsletter();">
              <option selected="selected" value="DailyRatings">MarketBeat Daily (Free)</option>
              <option value="EarningsThreeSixty">Earnings360 Newsletter</option>
              <option value="InsiderTrades">Insider Trades Newsletter</option>
              <option value="DividendAdvisor">Dividend Stocks Newsletter</option>
              <option value="CryptoBeat">MarketBeat CryptoBeat</option>
              <option value="DailyCanada">MarketBeat Daily Canada</option>
              <option value="EarlyBird">The Early Bird</option>
              <option value="NightOwl">The Night Owl</option>
            </select>
            <label for="cphPrimaryContent_ddlNewsletter" class="top-label mb-0"><strong>Newsletter</strong></label>
          </div>
        </div>
        <div id="dvNewsletter" style="font-size: 10pt; overflow-x: auto;"> Loading your newsletter… </div>
      </div>
      <!-- Portfolio Ideas -->
      <div id="pan11" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="ideastab" tabindex="0">
        <h2 class="sr-only">My Portfolio Ideas</h2>
        <p>These stock suggestions are generated by identifying the holdings that are most frequently included with other MarketBeat user's watchlists that contain similar holdings to your watchlist(s), but are not yet included in your watchlist.
          Remember that these stock suggestions are just ideas. Never purchase a stock or any other security without doing your own independent research and consulting a qualified financial professional.</p>
        <div id="dvPortfolioIdeas">This page is loading your portfolio ideas. Please wait…</div>
      </div>
      <!-- MarketRank -->
      <div id="pan12" class="tab-pane is-hidden" role="tabpanel" aria-labelledby="ideastab" tabindex="0">
        <h2 class="sr-only">My MarketRank</h2>
        <p>Get an overview of the strength of your portfolio by reviewing the MarketRank™ of each of your stock holdings. Learn more about MarketRank on our <a href="/stocks/top-marketrank/">Top MarketRank Stocks</a> page.</p>
        <div id="dvMarketRank">This page is loading your MarketRank™ data. Please wait…</div>
      </div>
      <div class="clearfix"></div>
    </div>
    <!-- Notice for Free Subscribers -->
    <br><span class="c-red">You have reached the limit of five stocks on your watchlist with your free subscription. In order to add more stocks to your watchlist, delete one of your existing stocks or
      <a class="c-red" href="https://www.marketbeat.com/subscribe/all-access/?UserID=11404962&amp;ReferralType=WatchlistsPageNotice">Upgrade to MarketBeat All Access</a>.</span>
  </div>
  <br>
  <a href="#" class="btn btn-secondary d-flex d-sm-inline-flex mb-1" onclick="eCSV('PortfolioExport-All Watchlists-2024-11-19-10-44.csv'); return false;"><span class="fa-regular fa-file-excel mr-2" aria-hidden="true"></span>Export Portfolio(s) (CSV/Excel)</a>
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.6/Chart.bundle.min.js"></script>
  <script>
    var chartAlreadyDrawn = false;
    var performanceChartAlreadyDrawn = false;

    function LoadDoughnut(DataPoints, SectorText) {
      if (!chartAlreadyDrawn) {
        if (DataPoints === '') {
          document.getElementById('canvas').height = 25;
        } else {
          document.getElementById('canvas').height = 275;
          var config = {
            type: 'doughnut',
            data: {
              datasets: [{
                data: DataPoints.split(',').map(Number),
                backgroundColor: ['#B2ECFF', '#6DDFFF', '#00BAFF', '#0096DF', '#0077B4', '#005882', '#004768', '#00345A', '#012641']
              }],
              labels: SectorText
            },
            options: {
              responsive: true,
              legend: false,
              animation: {
                animateScale: true,
                animateRotate: true
              }
            }
          };
          var ctx = document.getElementById('canvas').getContext('2d');
          window.myDoughnut = new Chart(ctx, config);
          document.getElementById('js-legend').innerHTML = myDoughnut.generateLegend();
          chartAlreadyDrawn = true;
        }
      }
    }

    function LoadPerformanceGraph() {
      if (!performanceChartAlreadyDrawn) {
        //initial chart config with dummy data
        var config = {
          type: 'line',
          data: {
            datasets: [{
              data: [{
                x: new Date(2019, 1, 1),
                y: 0
              }, {
                x: new Date(2019, 2, 1),
                y: 0
              }],
              label: 'My Portfolio',
              backgroundColor: '#005882',
              borderColor: '#005882',
              pointBorderColor: '#005882',
              pointBackgroundColor: '#005882',
              pointHoverBackgroundColor: '#005882',
              pointHoverBorderColor: '#005882',
              fill: false
            }, {
              data: [{
                x: new Date(2019, 1, 1),
                y: 0
              }, {
                x: new Date(2019, 2, 1),
                y: 0
              }],
              label: 'Stock Index',
              backgroundColor: '#1D1E1F',
              borderColor: '#1D1E1F',
              pointBorderColor: '#1D1E1F',
              pointBackgroundColor: '#1D1E1F',
              pointHoverBackgroundColor: '#1D1E1F',
              pointHoverBorderColor: '#1D1E1F',
              fill: false
            }]
          },
          options: {
            responsive: true,
            legend: {
              labels: {
                usePointStyle: true
              }
            },
            title: {
              display: true,
              text: 'Performance Comparison'
            },
            scales: {
              xAxes: [{
                type: 'time',
                display: true,
                scaleLabel: {
                  display: true,
                  labelString: 'Date'
                },
              }],
              yAxes: [{
                display: true,
                scaleLabel: {
                  display: true,
                  labelString: '% Return'
                },
                ticks: {
                  callback: function(label, index, labels) {
                    return Math.round(label * 100) + '%';
                  }
                },
                position: "left",
                id: "yReturn",
              }]
            },
            legend: true,
            tooltips: {
              callbacks: {
                label: function(tooltipItem, data) {
                  return (tooltipItem.yLabel * 100).toFixed(2) + "%";
                },
                title: function(tooltipItems, data) {
                  return new Date(parseFloat(tooltipItems[0].xLabel)).toLocaleDateString();
                }
              }
            },
            hover: {
              intersect: false,
            },
            animation: {
              animateScale: true,
              animateRotate: true
            }
          }
        }; //config
        document.getElementById('canvaspp').style.display = 'none';
        var ctx = document.getElementById('canvaspp').getContext('2d');
        window.myPerformanceChart = new Chart(ctx, config);
        window.myPerformanceChart.update();
        performanceChartAlreadyDrawn = true;
      }
    }

    function LoadGraphs(DataPoints, SectorText) {
      try {
        LoadPerformanceGraph();
      } catch (err) {
        //alert(err);
        //alert(err.stack);
      }
      try {
        LoadDoughnut(DataPoints, SectorText);
      } catch (err) {
        //alert(err);
      }
    }
  </script>
  <script type="text/javascript" src="https://cdn.plaid.com/link/v2/stable/link-initialize.js"></script>
  <script type="text/javascript">
    function dCSV(csv, fn) {
      var cF = new Blob(["\ufeff", csv], {
        type: "text/csv"
      });
      var dL = document.createElement("a");
      dL.download = fn;
      dL.href = window.URL.createObjectURL(cF);
      dL.style.display = "none";
      document.body.appendChild(dL);
      dL.click();
    }

    function eCSV(fn) {
      var csv = []
      var head = document.querySelector("#visibleWatchlists table.scroll-table thead tr");
      var r = eRow(head);
      csv.push('\"' + r.join('\",\"') + '\"');
      var rs = document.querySelectorAll("#visibleWatchlists table.scroll-table tbody tr");
      for (var i = 0; i < rs.length; i++) {
        r = eRow(rs[i]);
        csv.push('\"' + r.join('\",\"') + '\"');
      }
      dCSV(csv.join("\n"), fn);
    }

    function eRow(row) {
      var r = [],
        cols = row.querySelectorAll("td, th");
      for (var j = 0; j < cols.length; j++) {
        if (cols[j].dataset.hide != null) {
          continue;
        }
        if (cols[j].dataset.clean != null) {
          r.push(cols[j].dataset.clean.replace(/\|/g, '\",\"'));
        } else {
          r.push(cols[j].innerText.replace(/(\r\n|\n|\r)/gm, "-").replace(/(<([^>]+)>)/ig, "\\").replace(/\"/g, "\\"));
        }
      }
      return r;
    }

    function linkBrokerageAccountOnSuccess(response, userContext, methodName) {
      window.location.replace('https://' + window.location.host + '/manage/watchlists/');
    }

    function generateLinkTokenOnSuccess(response, userContext, methodName) {
      try {
        PageMethods.set_path('https://' + window.location.host + '/Users/Watchlists.aspx');
        var datapoints = response.datapoints;
        const handler = Plaid.create({
          token: response,
          onSuccess: (public_token, metadata) => {
            PageMethods.OnLinkSuccess(public_token, JSON.stringify(metadata), '11404962', linkBrokerageAccountOnSuccess);
          },
          onLoad: () => {},
          onExit: (err, metadata) => {
            $("#cphPrimaryContent_btnImportBrokerage").prop("disabled", false);
            $("#cphPrimaryContent_btnImportBrokerage").val("Import Portfolio From Brokerage").removeClass("active-loading");
            $("#cphPrimaryContent_btnImportBrokerageTop").prop("disabled", false);
            $("#cphPrimaryContent_btnImportBrokerageTop").html("<span class='float-left mr-2 d-inline d-sm-none d-xl-inline fa-kit fa-regular-circle-dollar-rotate font-weight-normal'></span> Import Portfolio From Brokerage").removeClass(
              "active-loading");
            $("#cphPrimaryContent_btnImportBrokeragePopup").prop("disabled", false);
            $("#cphPrimaryContent_btnImportBrokeragePopup").html(
              "<span class='float-left mr-2 d-inline d-sm-none d-xl-inline fa-kit fa-regular-circle-dollar-rotate font-weight-normal'></span> Import Portfolio From Brokerage<span class='load loading'></span>").removeClass("active-loading");
          },
          onEvent: (eventName, metadata) => {},
          receivedRedirectUri: null,
        });
        handler.open();
      } catch (err) {
        $("#cphPrimaryContent_btnImportBrokerage").prop("disabled", false);
        $("#cphPrimaryContent_btnImportBrokerage").val("Import From Brokerage Failed").removeClass("active-loading");
        $("#cphPrimaryContent_btnImportBrokerageTop").prop("disabled", false);
        $("#cphPrimaryContent_btnImportBrokerageTop").html("<span class='float-left mr-2 d-inline d-sm-none d-xl-inline fa-kit fa-regular-circle-dollar-rotate font-weight-normal'></span> Import From Brokerage Failed").removeClass("active-loading");
        $("#cphPrimaryContent_btnImportBrokeragePopup").prop("disabled", false);
        $("#cphPrimaryContent_btnImportBrokeragePopup").html(
          "<span class='float-left mr-2 d-inline d-sm-none d-xl-inline fa-kit fa-regular-circle-dollar-rotate font-weight-normal'></span> Import From Brokerage Failed<span class='load loading'></span>").removeClass("active-loading");
        //  console.log(err);
        // console.log(err.stack);
      }
    }

    function linkBrokerageAccount() {
      $("#cphPrimaryContent_btnImportBrokerage").prop("disabled", true);
      $("#cphPrimaryContent_btnImportBrokerage").val("Loading Portfolio Import Tool…").addClass("active-loading");
      $("#cphPrimaryContent_btnImportBrokerageTop").prop("disabled", true);
      $("#cphPrimaryContent_btnImportBrokerageTop").html("<span class='float-left mr-2 d-inline d-sm-none d-xl-inline fa-kit fa-regular-circle-dollar-rotate font-weight-normal'></span> Loading Portfolio Import Tool…").addClass("active-loading");
      $("#cphPrimaryContent_btnImportBrokeragePopup").prop("disabled", true);
      $("#cphPrimaryContent_btnImportBrokeragePopup").html(
        "<span class='float-left mr-2 d-inline d-sm-none d-xl-inline fa-kit fa-regular-circle-dollar-rotate font-weight-normal'></span> Loading Portfolio Import Tool…<span class='load loading'></span>").addClass("active-loading");
      PageMethods.set_path('https://' + window.location.host + '/Users/Watchlists.aspx');
      PageMethods.GenerateLinkToken('11404962', generateLinkTokenOnSuccess);
    };
    var boundlessToolTipIsOpen = false;
    var clickingBoundlessTooltip = false;

    function PageBindControlEvents(isRebind) {
      //$("#calendarFilter").change(function () {
      //    $("#dvCalendar").removeClass().addClass($(this).val());
      //    scrollTable($(dvCalendar).find('table').stupidtable());
      //});
      var ctx = document.getElementById("canvas").getContext("2d");
      var url = window.location.href;
      if (!isRebind) {
        if (url.indexOf("#") > 0) {
          var activeTab = url.substring(url.indexOf("#") + 1);
          $('.nav.my-marketbeat-tabs a#' + activeTab + 'tab').click();
        }
      }
      $(".wl-tab-change").click(function(event) {
        url = this.href;
        if (url.indexOf("#") > 0) {
          activeTab = url.substring(url.indexOf("#") + 1);
          $('.nav.my-marketbeat-tabs a#' + activeTab + 'tab').click();
        }
        $('#header-holder').removeClass("mega-showing");
        $('#header-holder').addClass("mega-not-showing");
        handleScrollableNavTabs(true);
      });
      var flag = false;
      $("#left-side-menu").on('click', ".wl-tab-change", function(event) {
        url = this.href;
        if (url.indexOf("#") > 0) {
          activeTab = url.substring(url.indexOf("#") + 1);
          $('.nav.my-marketbeat-tabs a#' + activeTab + 'tab').click();
        }
        if (!flag) {
          flag = true;
          bmeout(function() {
            flag = false;
            handleScrollableNavTabs(true);
          }, 500);
          var scroll = $(".page-wrap").css("top").replace("-", "").replace("px", "");
          $("#left-side-menu, .menu-closer, .page-wrap, body, html").removeClass('left-showing');
          $("#right-side-menu, .menu-closer, .page-wrap, body, html").removeClass('right-showing');
          $(".ui-autocomplete").css("display", "none");
          $('.page-wrap').css({
            "position": "relative",
            "top": "0"
          });
          $(window).scrollTop(55);
          if (scroll > $("#scrollingTickers").height()) {
            $('#mb-header').addClass("sticking");
          }
        }
        return false;
      });
      $('.selectAllInTable').change(function() {
        event.stopPropagation();
        var $otherCheckboxes = $(this).closest("table").find('.bulkactioncheck');
        if ($(this).is(':checked')) {
          $($otherCheckboxes).prop('checked', true);
        } else {
          $($otherCheckboxes).prop('checked', false);
        }
      });
      //$('.selectAllInTableLabel').click(function () {
      //    event.stopPropagation();
      //    var $otherCheckboxes = $(this).closest("table").find('.bulkactioncheck');
      //    if ($(this).siblings("input").is(':checked')) {
      //        $($otherCheckboxes).prop('checked', true);
      //    } else {
      //        $($otherCheckboxes).prop('checked', false);
      //    }
      //});
      //modal open and close for add a stock, add multiple, and add a watchlist
      //$('.addbutton').on('click', function (e) {
      //    e.preventDefault();
      //    $('#' + $(this).attr('id').replace('cphPrimaryContent_', '').replace(/\s*btnShow\s*/, 'Panel')).css('display', 'block');
      //    $("body").addClass("modal-open");
      //});
      //$('.closebutton').on('click', function (e) {
      //    e.preventDefault();
      //    $('#' + $(this).attr('id').replace('cphPrimaryContent_', '').replace('btnClose', 'Panel')).css('display', 'none');
      //    $("body").removeClass("modal-open");
      //});
      // create array of stocks selected for bulk action and process
      bulkActionModalShow = function(bulkActionPanelID) {
        var bulkStockArray = [];
        $(".bulkactioncheck:checked").each(function() {
          bulkStockArray.push($(this).val());
        });
        var bulkAction = $('#' + bulkActionPanelID + ' .bulkActionSelect').val();
        if (bulkStockArray.length === 0) {
          $('#' + bulkActionPanelID + ' .bulkActionWarning').html("Please select holdings by checking the box in the table next to their name.");
        } else if ($('#' + bulkActionPanelID + ' .bulkActionSelect').val() == '0') {
          $('#' + bulkActionPanelID + ' .bulkActionWarning').html("Please select a bulk action to apply to these holdings.");
        } else if ($('#' + bulkActionPanelID + ' .bulkActionSelect').val() == "bulkMoveNew") {
          //$('#Panel9').css('display', 'block');
          $('#Panel9').find('input[id$="hdnBulkStocksListNew"]').val(bulkStockArray);
          $('#Panel9').find('input[id$="txtBulkWatchlistNew"]').val("");
          $('#' + bulkActionPanelID + ' .bulkActionSelect').val('0');
          $('#Panel9').modal('show');
        } else {
          $('#Panel8').css('display', 'block');
          var bulkActionName = $('#' + bulkActionPanelID + ' .bulkActionSelect option:selected').text();
          $('#Panel8').css('display', 'block');
          $('#Panel8').find('input[id$="hdnBulkStocksList"]').val(bulkStockArray);
          $('#Panel8').find('input[id$="hdnBulkAction"]').val(bulkAction);
          $('#Panel8').find('h2.bulkActionName').html(bulkActionName);
          if (bulkAction.match("^bulkMove")) {
            $('#Panel8').find('span[class="bulkActionName"]').html("move these stocks");
          } else {
            $('#Panel8').find('span[class="bulkActionName"]').html(bulkActionName.toLowerCase().replace("sms", "SMS"));
          }
          $('#Panel8').modal('show');
          setTimeout(function() {
            $('#' + bulkActionPanelID + ' .bulkActionSelect').val('0');
          }, 400);
        }
      }
      assetType = $('#cphPrimaryContent_ddlAssetType').val();
      assetTypeMultiple = $('#cphPrimaryContent_ddlAssetTypeMultiple').val();
      $('#cphPrimaryContent_ddlAssetTypeMultiple').on('change', function() {
        assetTypeMultiple = $('#cphPrimaryContent_ddlAssetTypeMultiple').val();
      });
      $('#cphPrimaryContent_chkPriceAlerts').change(function() {
        if (this.checked) {
          $('#priceAlerts').css("display", "block");
        } else {
          $('#priceAlerts').css("display", "none");
        }
      });
      $('#cphPrimaryContent_chkPriceAlertsEdit').change(function() {
        if (this.checked) {
          $('#priceAlertsEdit').css("display", "block");
        } else {
          $('#priceAlertsEdit').css("display", "none");
        }
      });
      //reset form when asset type is changed or the form is opened
      function adjustAddStockModal() {
        assetType = $('#cphPrimaryContent_ddlAssetType').val();
        $('#cphPrimaryContent_txtAutoCompleteData').val("");
        $('#cphPrimaryContent_txtSharesHeld').val("");
        $('#cphPrimaryContent_txtACPS').val("");
        $('#cphPrimaryContent_spnCurrentPrice').text("");
        $(".autocompleteassets").val("");
        $(".autocompleteassets").attr("placeholder", "Search and choose\u2026");
        $(".autocompleteassets").attr("maxlength", "200");
        $('#manualAssetOptions').css("display", "none");
        $('#instantAlerts').css("display", "block");
        $('#cphPrimaryContent_txtInvestmentYield').text("");
        $(".autocompleteassets").removeClass("manual");
        $("#cphPrimaryContent_txtUnitPrice").val("");
        $('#cphPrimaryContent_chkInstant').prop('checked', false);
        $('#cphPrimaryContent_chkSMS').prop('checked', false);
        $('#priceAlerts').css("display", "none");
        $('#cphPrimaryContent_txtAlertAbove').val("");
        $('#cphPrimaryContent_txtAlertBelow').val("");
        $('.currency-label').text("");
        $('#cphPrimaryContent_chkIncludeNewsletter').prop('checked', false);
        $('#cphPrimaryContent_chkPriceAlerts').prop('checked', false);
        $('#cphPrimaryContent_rfvAutoCompleteData').css("display", "none");
        $('#cphPrimaryContent_rfvAutoCompleteData').text("Please choose an asset.");
        if (assetType === "manual") {
          $('#manualAssetOptions').css("display", "block");
          $('#instantAlerts').css("display", "none");
          $('#searchLabel').text("Name:");
          $('#amountLabel').text("Units Held:");
          $("#selectedAsset").css("display", "none");
          $('#cphPrimaryContent_rfvAutoCompleteData').text("Required");
          $(".autocompleteassets").attr("placeholder", "Enter asset name\u2026");
          $(".autocompleteassets").attr("maxlength", "60");
        } else if (assetType === "cryptocurrency") {
          $('#searchLabel').text("Cryptocurrency:");
          $('#amountLabel').text("Coins Held:");
          $('#newsAlerts').css("display", "none");
          $('#cphPrimaryContent_chkIncludeNewsletter:not([disabled])').prop('checked', true);
        } else if (assetType === "mutualfund") {
          $('#searchLabel').text("Fund:");
          $('#instantAlerts').css("display", "block");
          $('#newsAlerts').css("display", "none");
          $('#amountLabel').text("Shares Held:");
        }
        //back to stock/etf setup
        else {
          $('#searchLabel').text("Stock/ETF:");
          $('#amountLabel').text("Shares Held:");
          $('#newsAlerts').css("display", "block");
          $('#cphPrimaryContent_chkIncludeNewsletter:not([disabled])').prop('checked', true);
        }
      }
      $('#cphPrimaryContent_ddlAssetType').on('change', adjustAddStockModal);
      $("#btnShow1").click(adjustAddStockModal);
      //autocomplete
      $(".autocompleteassets").autocomplete({
        source: function(request, response) {
          $.ajax({
            type: 'GET',
            url: "https://www.marketbeat.com/scripts/MultipleAssetTypeAutoComplete.ashx",
            dataType: 'text',
            data: {
              'searchquery': request.term,
              'assettype': assetType
            },
            success: function(data) {
              response(JSON.parse(data));
            }
          });
        },
        minLength: 2,
        change: function(event, ui) {
          if (assetType != "manual") {
            if (ui.item == null) {
              $('.autocompleteassets').val("");
              $('#cphPrimaryContent_txtAutoCompleteData').val("");
            } else {
              $('#cphPrimaryContent_txtAutoCompleteData').val(ui.item.data);
              $('#cphPrimaryContent_rfvAutoCompleteData').css("display", "none");
            }
          } else {
            //if ($(this).val().length > 0) {
            $('#cphPrimaryContent_txtAutoCompleteData').val($('.autocompleteassets').val()); //puts something for this required field  
            //}
            //else {
            //    $('#cphPrimaryContent_txtAutoCompleteData').val(""); //puts something for this required field  
            //}
          }
        },
        select: function(event, ui) {
          if (assetType != "manual") {
            $('.autocompleteassets').val("");
            $('.currency-label').text(ui.item.currency + " ");
            $('#cphPrimaryContent_txtAutoCompleteData').val(ui.item.data);
            //$('#AutoCompleteChosen').text(ui.item.value);
            $('#cphPrimaryContent_txtACPS').val(ui.item.currentprice);
            $('#cphPrimaryContent_spnCurrentPrice').text("(Price as of " + ui.item.lastupdated + " is " + ui.item.currentprice + " " + ui.item.currency + ")");
          }
        }
      });
      //autocomplete multiple
      $(".autocompleteassetsmultiple").autocomplete({
        source: function(request, response) {
          $.ajax({
            type: 'GET',
            url: "https://www.marketbeat.com/scripts/MultipleAssetTypeAutoComplete.ashx",
            dataType: 'text',
            data: {
              'searchquery': request.term,
              'assettype': assetTypeMultiple
            },
            success: function(data) {
              response(JSON.parse(data));
            }
          });
        },
        minLength: 2,
        change: function(event, ui) {
          if (ui.item == null) {
            $('.autocompleteassetsmultiple').val("");
          }
        },
        select: function(event, ui) {
          var chosenAssetNode = "<label><input checked type='checkbox' name='multiadd[]' value='" + assetTypeMultiple + "|" + ui.item.data + "'/>" + ui.item.value +
            "<a onclick=\"$(this).closest('label').remove();  if ($(&quot;input[name='multiadd[]'][value^='stocketf']&quot;).length === 0 ) { $('#alertsMultiple').css('display','none')};\" class='removeAsset'>&times;</a></label>";
          $(chosenAssetNode).prependTo('#cphPrimaryContent_chosenAssets');
          $("#requiredMultipleAssets").css("display", "none");
          if (assetTypeMultiple === "stocketf") {
            $("#alertsMultiple").css("display", "block")
          }
          $(this).val('');
          return false;
        }
      });
      tooltipScrollHandler = function() {
        yPosition = $('.tooltip-available.active').offset().top - $(window).scrollTop() + 15;
        if ($(window).innerWidth() > 650) {
          yPosition = $('.tooltip-available.active').offset().top - $(window).scrollTop() - 1;
        }
        $("#boundlessTooltip").css("top", yPosition + "px");
      };
      debouncedTooltipScrollHandler = debounce(tooltipScrollHandler, 1000);
      var openBoundlessToolTip = function(tooltipIcon) {
        // move the chart div to the floating toolip
        tooltipIcon.addClass("active");
        var yPosition = $('.tooltip-available.active').offset().top - $(window).scrollTop() + 15;
        var xPosition = tooltipIcon.offset().left - 127;
        xPosition = Math.max(5, xPosition);
        if ($(window).innerWidth() > 650) {
          yPosition = $('.tooltip-available.active').offset().top + $('.tooltip-available.active').height() - $(window).scrollTop() - 1; // need slight overlap to be able to mouse in to the tooltip without it closing
          xPosition = tooltipIcon.offset().left + $('.tooltip-available.active').width() - 250;
          xPosition = Math.max(10, xPosition);
        }
        $("#boundlessTooltip").css({
          "display": "block",
          "position": "fixed",
          "top": yPosition + "px",
          "left": xPosition + "px"
        })
        $("#boundlessTooltip").html(tooltipIcon.closest("td, th, li").find(".tooltip-content").html());
        window.addEventListener('scroll', tooltipScrollHandler, false);
        setTimeout(function() {
          boundlessToolTipIsOpen = true;
        }, 1);
      }
      $("#boundlessTooltip").click(function() {
        clickingBoundlessTooltip = true;
        setTimeout(function() {
          clickingBoundlessTooltip = false;
        }, 10);
      });
      $('.tooltip-available').mouseenter(function() {
        openBoundlessToolTip($(this));
      });
      $(".tooltip-available").focusin(function() {
        openBoundlessToolTip($(this));
      });
      $(".tooltip-available").focusout(function() {
        if (typeof usingTouchScreen === undefined || !usingTouchScreen) {
          closeBoundlessTooltip();
        }
      });
      var closeBoundlessTooltip = function() {
        $(".tooltip-available.active").removeClass("active");
        $("#boundlessTooltip").css("display", "none");
        // #boundlessTooltip will not disappear until it is also not being hovered because of an !important css rule
        window.removeEventListener('scroll', tooltipScrollHandler, false);
        setTimeout(function() {
          boundlessToolTipIsOpen = false;
        }, 1);
      }
      $('.tooltip-available').mouseleave(function() {
        //usingTouchScreen comes from masterscripts
        if (typeof usingTouchScreen === undefined || !usingTouchScreen) {
          closeBoundlessTooltip();
        }
      });
      $(window).on('touchstart', function(e) {
        var container = document.getElementById('boundlessTooltip');
        if (boundlessToolTipIsOpen && !container.contains(e.target)) {
          if ((e.target).classList.contains("tooltip-available")) {
            $(".tooltip-available.active").removeClass("active");
          } else {
            closeBoundlessTooltip();
          }
        }
      });
    };
    // end pagebindcontrolevents
    var UpdateHdnColumns = function() {
      var ColumnsAndChoices = "";
      $("#columnChoiceList li input").each(function() {
        ColumnsAndChoices = ColumnsAndChoices + $(this).val() + "-";
        if (this.checked) {
          ColumnsAndChoices += "1";
        } else {
          ColumnsAndChoices += "0";
        }
        ColumnsAndChoices += ",";
      })
      $("#cphPrimaryContent_hdnColumns").val(ColumnsAndChoices);
      //$("#hdnColumnsVisible").html(ColumnsAndChoices.replace(/,/g, ",<br>"));
    }
    var UpdateChangedTableCells = function() {
      var ColumnsNumber = $("#visibleWatchlists .scroll-table").first().find("tr").first().find("th").length;
      $("#visibleWatchlists .bulkactioncheck, #visibleWatchlists .watchlist-total").each(function(index) {
        var rowIdentifier = $(this).attr('id');
        var thisRow = $(this).closest("tr");
        var correspondingRow = $("#UPDATEDTABLE" + rowIdentifier).closest("tr");
        for (let i = 0; i < ColumnsNumber; i++) {
          var ExistingTableCell = thisRow.find('td:eq(' + i + ')');
          if (ExistingTableCell.hasClass("changeable-cell")) {
            var ReplacementTableCell = correspondingRow.find('td:eq(' + i + ')');
            if (ExistingTableCell.text() != ReplacementTableCell.text()) {
              ExistingTableCell.addClass("highlight-price-change")
              ExistingTableCell.html(ReplacementTableCell.html());
              if (ReplacementTableCell.attr('data-sort-value') !== undefined) {
                ExistingTableCell.updateSortVal(ReplacementTableCell.attr('data-sort-value'));
              } else {
                ExistingTableCell.updateSortVal(ReplacementTableCell.text());
              }
            }
          }
        }
        //$('.sort-table').stupidtable_build();
        setTimeout(function() {
          $('.highlight-price-change').removeClass('highlight-price-change');
        }, 2000)
      });
    };
    var ColumnChecksChanged = false;
    //Initial bind
    document.addEventListener("DOMContentLoaded", function() {
      if (document.getElementById("cphPrimaryContent_pnlPlaidPopup") != null) {
        if (getCookie("plaidPopupSeen") == null) {
          $("#cphPrimaryContent_pnlPlaidPopup").modal('show');
          setCookie("plaidPopupSeen", "1", 15)
        }
      }
      $(".sortable").sortable({
        update: function(event, ui) {
          ColumnChecksChanged = true;
        }
      });
      $("#customizeColumnsGroup input").change(function() {
        ColumnChecksChanged = true;
      });
      $("#customizeColumnsGroup").on("hide.bs.dropdown", function(event) {
        if (clickingBoundlessTooltip) {
          event.preventDefault();
        } else if (ColumnChecksChanged) {
          var myControl = document.getElementById('cphPrimaryContent_btnApplyColumns');
          UpdateHdnColumns();
          setTimeout(function() {
            myControl.focus();
            myControl.click();
          }, 1);
        }
      });
      $(".shownotifications").hover(function() {
        $(this).addClass("hovered");
      }, function() {
        $(this).removeClass("hovered");
      });
      $(".shownotifications").focus(function() {
        $(this).addClass("hovered");
      }, function() {
        $(this).removeClass("hovered");
      });
      PageBindControlEvents(false);
      //Re-bind for callbacks
      try {
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_endRequest(function() {
          PageBindControlEvents(true);
          UpdateChangedTableCells();
        });
      } catch (err) {}
    });
    //adds the button style that indicates to the user that it is processing. Safari stops the animation on submit unfortunately
    function addSubmittingStyle(el, thisValidationGroup) {
      if (thisValidationGroup === 'none') {
        $(el).addClass("pending");
      } else if (Page_ClientValidate(thisValidationGroup) == true) {
        $(el).addClass("pending");
      }
    };

    function checkForMultipleAssets() {
      if ($("input[name='multiadd[]']").length > 0) {
        $("#requiredMultipleAssets").css("display", "none");
        addSubmittingStyle(this, 'none');
        return true;
      } else {
        $("#requiredMultipleAssets").css("display", "block");
        return false;
      };
    };

    function editHolding(holdingId, holdingPrefix, holdingSymbol, holdingAmount, holdingCostPerShare, holdingWatchlist, holdingAlerts, holdingSMSAlerts, holdingIncluded, holdingCurrency, holdingManualPrice, holdingYield, holdingAlertAbove,
      holdingAlertBelow, holdingUserNotes, holdingManualTitle, holdingCurrentPrice, holdingPriceAsOf, holdingIsSynced = false) {
      $("#EditStockBasics").css("display", "block");
      //customize for asset
      $('#Panel4').find('input[id$="EditStockId"]').val(holdingId);
      $('#Panel4').find('input[id$="txtSharesHeldEdit"]').val(holdingAmount);
      $('#Panel4').find('textarea[id$="txtUserNotesEdit"]').val(holdingUserNotes);
      $('#Panel4').find('input[id$="txtACPSEdit"]').val(holdingCostPerShare);
      $('#Panel4').find('select[id$="ddlWatchlistEdit"]').val(holdingWatchlist);
      $('#Panel4').find('input[id$="chkEmailAlertsEdit"]').prop('checked', holdingAlerts);
      $('#Panel4').find('input[id$="chkSMSAlertsEdit"]').prop('checked', holdingSMSAlerts);
      $('#Panel4').find('input[id$="chkNewsletterEdit"]').prop('checked', holdingIncluded);
      $('#cphPrimaryContent_chkPriceAlertsEdit').prop('checked', false);
      $('#priceAlertsEdit').css("display", "none");
      $('.currency-label').text(holdingCurrency + " ");
      $('#instantAlertsEdit').css("display", "block");
      $('.stocketf-alert-option').css("display", "block");
      $('#newsAlertsEdit').css("display", "none");
      $('#cphPrimaryContent_txtAlertAboveEdit').val("");
      $('#cphPrimaryContent_txtAlertBelowEdit').val("");
      $('#edit-current-price').text("");
      if (holdingAlertAbove != 0) {
        $('#cphPrimaryContent_txtAlertAboveEdit').val(holdingAlertAbove);
        $('#cphPrimaryContent_chkPriceAlertsEdit').prop('checked', true);
        $('#priceAlertsEdit').css("display", "block");
      }
      if (holdingAlertBelow != 0) {
        $('#cphPrimaryContent_txtAlertBelowEdit').val(holdingAlertBelow);
        $('#cphPrimaryContent_chkPriceAlertsEdit').prop('checked', true);
        $('#priceAlertsEdit').css("display", "block");
      }
      $('#manualAssetOptionsEdit').css("display", "none");
      $('#Panel4').find('#cphPrimaryContent_txtUnitPriceEdit').val("");
      $('#Panel4').find('#cphPrimaryContent_txtInvestmentYieldEdit').val("");
      //adjust for asset type
      if (holdingPrefix === "MANUAL") {
        $('#instantAlertsEdit').css("display", "none");
        $('#amountLabelEdit').text("Units Held:");
        $('#manualAssetOptionsEdit').css("display", "block");
        $('#Panel4').find('#cphPrimaryContent_txtUnitPriceEdit').val(holdingManualPrice);
        $('#Panel4').find('#cphPrimaryContent_txtInvestmentYieldEdit').val(holdingYield);
        $('#instantAlertsEdit').css("display", "none");
        $('#Panel4').find('span[id="stockSymbol"]').html(holdingManualTitle);
      } else if (holdingPrefix === "CRYPTO") {
        $('#amountLabelEdit').text("Coins Held:");
        $('#Panel4').find('span[id="stockSymbol"]').html(holdingSymbol);
        $('#edit-current-price').text("(Price as of " + holdingPriceAsOf + " is " + holdingCurrentPrice + " " + holdingCurrency + ")");
        $('#newsAlertsEdit').css("display", "block");
        $('.stocketf-alert-option').css("display", "none");
      } else if (holdingPrefix === "FUND") {
        $('#instantAlertsEdit').css("display", "block");
        $('#amountLabelEdit').text("Shares Held:");
        $('#Panel4').find('span[id="stockSymbol"]').html(holdingSymbol);
        $('#edit-current-price').text("(Price as of " + holdingPriceAsOf + " is " + holdingCurrentPrice + " " + holdingCurrency + ")");
      }
      //back to stock/etf setup
      else {
        $('#amountLabelEdit').text("Shares Held:");
        $('#newsAlertsEdit').css("display", "block");
        $('#Panel4').find('span[id="stockSymbol"]').html(holdingPrefix + ":" + holdingSymbol);
        $('#edit-current-price').text("(Price as of " + holdingPriceAsOf + " is " + holdingCurrentPrice + " " + holdingCurrency + ")");
      }
      // hide certain fields if it is a synced asset because we don't want them to edit things that are just going to get overwritten
      if (holdingIsSynced) {
        $("#EditStockBasics").css("display", "none");
      }
      // display 
      $('#Panel4').css('display', 'block');
      $("body").addClass("modal-open");
    }

    function deleteStock(holdingId, title) {
      $('#Panel6').css('display', 'block');
      $("body").addClass("modal-open");
      $('#Panel6').find('input[id$="DeleteStockId"]').val(holdingId);
      $('#Panel6').find('span[id="deleteStockSymbol"]').html(title);
    }

    function editWatchlist(watchlistId, watchlistName, watchlistPriority) {
      $('#Panel5').css('display', 'block');
      $('#displayPriority').css('display', 'block');
      $("body").addClass("modal-open");
      $('#Panel5').find('input[id$="EditWatchlistId"]').val(watchlistId);
      $('#Panel5').find('input[id$="txtWatchListEditName"]').val(watchlistName);
      $('#Panel5').find('select[id$="ddlWatchListDisplayPriorityEdit"]').val(watchlistPriority);
    }

    function editDefaultWatchlist(watchlistId, watchlistName, watchlistPriority) {
      $('#Panel5').css('display', 'block');
      $('#displayPriority').css('display', 'none');
      $("body").addClass("modal-open");
      $('#Panel5').find('input[id$="EditWatchlistId"]').val(watchlistId);
      $('#Panel5').find('input[id$="txtWatchListEditName"]').val(watchlistName);
      $('#Panel5').find('select[id$="ddlWatchListDisplayPriorityEdit"]').val(watchlistPriority);
    }

    function deleteWatchlist(watchlistId, watchlistName) {
      $('#Panel7').css('display', 'block');
      $("body").addClass("modal-open");
      $('#Panel7').find('input[id$="DeleteWatchlistId"]').val(watchlistId);
      $('#Panel7').find('span[id="deleteWatchlistName"]').html(watchlistName);
    }

    function positionNotifications(element) {
      //console.log("positioning notifications");
      $(element).siblings('.latest-notifications').find("a").css("pointer-events", "none");
      var buttonTop = $(element).offset().top - $(element).closest(".scroll-table-wrapper-wrapper").offset().top;
      //console.log("BUTTON TOP " + buttonTop);
      var boxBottom = $(element).offset().top + $(element).siblings('.latest-notifications').outerHeight();
      // console.log("BUTTON BOTTOM " + buttonTop);
      var screenBottom = $(window).scrollTop() + window.innerHeight;
      if (boxBottom > screenBottom && $(window).innerWidth() > 650) {
        $(element).siblings('.latest-notifications').css({
          transform: 'translateY(' + ((buttonTop) - (boxBottom - screenBottom)) + 'px)'
        });
      } else {
        $(element).siblings('.latest-notifications').css({
          transform: 'translateY(' + buttonTop + 'px)'
        });
      }
      setTimeout(function() {
        $(element).siblings('.latest-notifications').find("a").css("pointer-events", "auto");
      }, 10)
    }
  </script>
  <script>
    function showNotifications(Prefix, Symbol, ViewedThrough, element) {
      $.get('/Scripts/NotificationsHelpers.ashx?command=watchlistnotifications&accountid=11404962&hash=8836967B6489343AFFEBE4A9F20736CC3E70C11EF914402B105D0B1411AC2283469760A890F500A211DD2AA9EFAC84240FC1F5B99ADAF28EBA5B81CB4965A10A&prefix=' +
        Prefix + '&symbol=' + Symbol + '&viewedthrough=' + ViewedThrough,
        function(data, status) {
          $(element).html(data);
          $(element).removeClass('pending');
          if (data.length === 0 && $(element).hasClass('mobile-notifications')) {
            $(element).html('<div style="height: 20px;"></div><div class="latest-notifications"><div><div class="ntf-header">No notifications for this asset.</div></div></div>');
          }
        })
    }

    function moveNotifications(ViewedThrough, Prefix, Symbol, element) {
      var notifications = $('#' + ViewedThrough + '_' + Prefix + '_' + Symbol.replace('.', '\\.')).html();
      if (typeof notifications == "undefined" || notifications === '') {
        $(element).html('<div style="height: 20px;"></div><div class="latest-notifications"><div><div class="ntf-header">No notifications for this asset.</div></div></div>');
      } else {
        $(element).html(notifications)
      }
    }
    document.addEventListener('DOMContentLoaded', function() {
      $('.shownotifications').each(function(index) {
        showNotifications($(this).attr('id').split('_')[1], $(this).attr('id').split('_')[2], $(this).attr('id').split('_')[0], $(this));
      })
    });
  </script>
  <!-- Default Statcounter code for Marketbeat.com - Tools and Reports https://www.marketbeat.com/ -->
  <script type="text/javascript">
    var sc_project = 11738637;
    var sc_invisible = 1;
    var sc_security = "2f65063a";
    var sc_https = 1;
  </script>
  <script type="text/javascript" src="https://www.statcounter.com/counter/counter.js"></script>
  <noscript>
    <div class="statcounter">
      <a title="Web Analytics" href="https://statcounter.com/" target="_blank">
                <img class="statcounter" src="//c.statcounter.com/11738637/0/2f65063a/1/" alt="Web Analytics"></a>
    </div>
  </noscript>
  <!-- End of Statcounter Code -->
  <div id="pnlAllAccessTrial" class="inverse-on-homepage py-3 mb-4">
    <div class="container p-0 ">
      <div class="bg-dark-blue-accent p-3 rounded pb-5 pb-xl-4">
        <div class="row mx-0">
          <div class="col-md-7 col-xl-4 my-3 mx-auto c-white mb-5">
            <div class="h2 blue-accent-under">Get 30 Days of <span class="d-block" style="font-weight: 800">MarketBeat All Access</span> for Free</div>
            <p>Sign up for MarketBeat All Access to gain access to MarketBeat's full suite of research tools.</p>
            <a href="/subscribe/all-access/?referraltype=masterfooter" class="btn btn-featured c-white mt-3 mt-md-0 px-5">Start Your 30-Day Trial</a>
          </div>
          <div class="col-xl-8">
            <h2 class="sr-only">MarketBeat All Access Features</h2>
            <div class="row narrow-gutter-row">
              <div class="col-md-4 my-2">
                <a href="/subscribe/all-access/?referraltype=masterfooter" class="card hover-card-blue p-4 h-100">
                                                        <div class="feature-icon">
                                                            <span class="fa-kit fa-best" style="line-height: 60px;"></span>
                                                        </div>
                                                        <h3>Best-in-Class Portfolio Monitoring</h3>
                                                        <ul>
                                                            <li>Get personalized stock ideas.</li>
                                                            <li>Compare portfolio to indices.</li>
                                                            <li>Check stock news, ratings, SEC filings, and more.</li>
                                                        </ul>
                                                    </a>
              </div>
              <div class="col-md-4 my-2">
                <a class="card hover-card-blue p-4 h-100" href="/subscribe/all-access/?referraltype=masterfooter">
                                                        <div class="feature-icon">
                                                            <span class="fa-kit fa-stock-ideas"></span>
                                                        </div>

                                                        <h3>Stock Ideas and Recommendations</h3>
                                                        <ul>
                                                            <li>See daily stock ideas from top analysts.</li>
                                                            <li>Receive short-term trading ideas from MarketBeat.</li>
                                                            <li>Identify trending stocks on social media.</li>
                                                        </ul>
                                                    </a>
              </div>
              <div class="col-md-4 my-2">
                <a class="card hover-card-blue p-4 h-100" href="/subscribe/all-access/?referraltype=masterfooter">
                                                        <div class="feature-icon">
                                                            <span class="fa-kit fa-research-tools"></span>
                                                        </div>
                                                        <h3>Advanced Stock Screeners and Research Tools</h3>
                                                        <ul>
                                                            <li>Use our seven stock screeners to find suitable stocks.</li>
                                                            <li>Stay informed with MarketBeat's real-time news.</li>
                                                            <li>Export data to Excel for personal analysis.</li>
                                                        </ul>
                                                    </a>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <div id="HelpersArea" style="opacity: 1; transition: opacity 0.5s; position: relative; z-index: 1001;">
    <div id="showHelpers" class="multi-collapse-outer collapse gradient-blue-medium c-white shadow navbar-collapse b-white border font-8 rounded-top" role="button" data-toggle="collapse" data-target=".multi-collapse-outer"
      aria-controls="showHelpers pnlHelpers" style="position: fixed; right: 25px; bottom: -1px; z-index: 401; cursor: pointer; padding: 9px 10px;">Get Started</div>
    <div id="pnlHelpers" class="multi-collapse-outer shadow collapse show" style="position: fixed; right: 10px; bottom: 10px; width: 310px; background-color: var(--white); z-index: 400;">
      <div id="pnlOnboarding">
        <div id="divOnboarding">
          <div class="gradient-blue-medium c-white px-2 pt-2 pb-1 position-relative rounded-top" id="hdGetStarted">
            <span style="cursor: pointer;" role="button" data-toggle="collapse" data-target=".multi-collapse" aria-expanded="true" aria-controls="dvGetStarted">Get Started with MarketBeat <span class="fa-regular fa-angle-right font-12 panel-toggle"
                style="transform: rotate(90deg) translateX(-2px); display: none;"></span></span>
            <span style="cursor: pointer; padding: 2px 0px;" role="button" id="altCloseHelpers" class="float-right fa-regular fa-xmark font-8" data-toggle="collapse" data-target="#pnlHelpers" aria-expanded="true" aria-controls="pnlHelpers"
              title="Hide This"></span>
            <span style="cursor: pointer; padding: 6px 4px; font-size: 0.7em; font-weight: 600;" role="button" id="altMinimizeHelpers" class="float-right" data-toggle="collapse" data-target=".multi-collapse-outer" aria-expanded="true"
              aria-controls="showHelpers pnlHelpers" title="Minimize This">—</span>
          </div>
          <div id="dvGetStarted" class="collapse show bg-white shadow">
            <div class="p-2">
              <table class="w-100">
                <tbody>
                  <tr>
                    <td style="vertical-align:top;width:30px;padding:.2em .2em .4em .2em;"><span class="c-green fa-regular fa-square-check" aria-hidden="true"></span></td>
                    <td style="vertical-align:top;padding:.25em;"><a style="font-size:.9rem;" href="/manage/arn-daily-premium/?utm_source=WebsiteInternal&amp;utm_medium=onboarding&amp;utm_campaign=FreeSubscriber">Read Your Daily Newsletter</a></td>
                  </tr>
                  <tr>
                    <td style="vertical-align:top;width:30px;padding:.2em .2em .4em .2em;"><span class="c-green fa-regular fa-square-check" aria-hidden="true"></span></td>
                    <td style="vertical-align:top;padding:.25em;"><a style="font-size:.9rem;" href="/manage/watchlists/?utm_source=WebsiteInternal&amp;utm_medium=onboarding&amp;utm_campaign=FreeSubscriber">Check Out My MarketBeat</a></td>
                  </tr>
                  <tr>
                    <td style="vertical-align:top;width:30px;padding:.2em .2em .4em .2em;"><span class="c-green fa-regular fa-square-check" aria-hidden="true"></span></td>
                    <td style="vertical-align:top;padding:.25em;"><a style="font-size:.9rem;" href="/help/?utm_source=WebsiteInternal&amp;utm_medium=onboarding&amp;utm_campaign=FreeSubscriber">Watch Our Tutorial Videos</a></td>
                  </tr>
                  <tr>
                    <td style="vertical-align:top;width:30px;padding:.2em .2em .4em .2em;"><span class="c-red fa-regular fa-square" aria-hidden="true"></span></td>
                    <td style="vertical-align:top;padding:.25em;"><a style="font-size:.9rem;" href="/manage/watchlists/?utm_source=WebsiteInternal&amp;utm_medium=onboarding&amp;utm_campaign=FreeSubscriber">Add a Stock to Your Watchlist</a></td>
                  </tr>
                  <tr>
                    <td style="vertical-align:top;width:30px;padding:.2em .2em .4em .2em;"><span class="c-red fa-regular fa-square" aria-hidden="true"></span></td>
                    <td style="vertical-align:top;padding:.25em;"><a style="font-size:.9rem;" href="/manage/watchlists/?utm_source=WebsiteInternal&amp;utm_medium=onboarding&amp;utm_campaign=FreeSubscriber">Set Up an Instant Alert</a></td>
                  </tr>
                  <tr>
                    <td style="vertical-align:top;width:30px;padding:.2em .2em .4em .2em;"><span class="c-green fa-regular fa-square-check" aria-hidden="true"></span></td>
                    <td style="vertical-align:top;padding:.25em;"><a style="font-size:.9rem;" href="/stocks/?utm_source=WebsiteInternal&amp;utm_medium=onboarding&amp;utm_campaign=FreeSubscriber">View a Company's Profile Page</a></td>
                  </tr>
                  <tr>
                    <td style="vertical-align:top;width:30px;padding:.2em .2em .4em .2em;"><span class="c-green fa-regular fa-square-check" aria-hidden="true"></span></td>
                    <td style="vertical-align:top;padding:.25em;"><a style="font-size:.9rem;" href="/market-data/?utm_source=WebsiteInternal&amp;utm_medium=onboarding&amp;utm_campaign=FreeSubscriber">View Our Financial Calendars</a></td>
                  </tr>
                  <tr>
                    <td style="vertical-align:top;width:30px;padding:.2em .2em .4em .2em;"><span class="c-green fa-regular fa-square-check" aria-hidden="true"></span></td>
                    <td style="vertical-align:top;padding:.25em;"><a style="font-size:.9rem;" href="/ratings/USA/latest/?utm_source=WebsiteInternal&amp;utm_medium=onboarding&amp;utm_campaign=FreeSubscriber">View Today's Analyst Ratings</a></td>
                  </tr>
                </tbody>
              </table>
              <div style="display: none; padding: 0px 10px 8px; text-align: center; background: #F6F8F7;">
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <script>
    document.addEventListener("DOMContentLoaded", function() {
      $("#HelpersArea").delay(800).queue(function(next) {
        $(this).css("opacity", "1");
        next();
      });
      $(".panel-toggle").hide();
      $("#altCloseHelpers").show();
      $("#altMinimizeHelpers").show();
      $('.multi-collapse').removeClass("multi-collapse");
      $("#dvGetStarted").addClass("show");
      $("#showHelpers").text("Get Started");
      if ($(window).width() > 700) {
        $("#pnlHelpers").addClass("show");
        $("#showHelpers").removeClass("show").text("Get Started");
      }
      $("#altCloseHelpers").click(function() {
        setCookie("HideOnboarding", "Hide", 7);
      });
    });
  </script>
  <div id="pnlLoginCreateModal" class="modal fade show">
    <div class="modal-dialog modal-dialog-centered" style="max-width: 650px;">
      <div class="modal-content">
        <div class="modal-body p-0" style="max-height: 95vh;">
          <div class="row m-0">
            <div class="col-sm-5 p-0 gradient-blue c-white p-3 p-sm-4" style="font-size: 1.05em;">
              <div class="d-none d-sm-block">
                <div class="font-12 mb-3">Sign in to your <span class="free">free</span> account to enjoy these benefits</div>
                <ul class="checkmark-list">
                  <li>In-depth profiles and analysis for 20,000 public companies.</li>
                  <li>Real-time analyst ratings, insider transactions, earnings data, and more.</li>
                  <li>Our daily ratings and market update email newsletter.</li>
                </ul>
              </div>
              <div class="d-sm-none">
                <div class="font-12 lh-medium">Sign in to your <span class="free">free</span> account to enjoy all that MarketBeat has to offer.</div>
              </div>
            </div>
            <div class="col-sm-7 p-0 bg-white">
              <div class="m-0">
                <ul class="nav nav-tabs pl-2" role="tablist" aria-label="Log in or create account">
                  <li class="nav-item">
                    <a id="LoginOnModalTab" class="nav-link active" href="#pnlLoginOnModal" role="tab" aria-selected="true" tabindex="0" aria-controls="pnlLoginOnModal" data-toggle="tab" onclick="trapFocusInModal('#pnlLoginCreateModal', 'txtLoginOnModalEmail', 'LoginOnModalTab', 'LastLinkOnLoginTab');" style="pointer-events: auto; cursor: pointer;">Sign In</a>
                  </li>
                  <li class="nav-item">
                    <a id="CreateOnModalTab" class="nav-link" href="#pnlCreate" role="tab" aria-selected="false" tabindex="-1" aria-controls="pnlCreate" data-toggle="tab" onclick="trapFocusInModal('#pnlLoginCreateModal', 'txtCreateOnModalEmail', 'CreateOnModalTab', 'LastLinkOnCreateTab');" style="pointer-events: auto; cursor: pointer;">Create Account</a>
                  </li>
                  <li class="nav-item ml-auto">
                    <a id="CloseModal" class="nav-link special-purpose-nav-link  font-15" href="#pnlCreate" role="tab" aria-selected="false" tabindex="-1" data-dismiss="modal" style="padding: 0.7rem; font-size: 1rem; pointer-events: auto; cursor: pointer;" title="Close Login Modal"><i class="fa-regular fa-xmark"></i></a>
                  </li>
                </ul>
                <div class="tab-content m-0 p-0" style="box-shadow: none !important;">
                  <div id="pnlLoginOnModal" class="tab-pane active" role="tabpanel" tabindex="0" aria-labelledby="LoginOnModalTab">
                    <div class="p-3">
                      <div id="pnlLoginOnModalInner" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'btnLoginOnModal')">
                        <label class="bold m-0" for="txtLoginOnModalEmail">Your Email Address:</label>
                        <input name="ctl00$txtLoginOnModalEmail" type="text" maxlength="300" id="txtLoginOnModalEmail" class="top-labeled-input" autofocus="" style="width:100%;">
                        <div class="rfv-div-validation-triangle">
                          <span id="rfvEmail" style="color:#D2333D;display:none;">Email Address Required</span>
                        </div>
                        <label class="bold m-0" for="txtLoginOnModalPassword">Your Password:</label>
                        <input name="ctl00$txtLoginOnModalPassword" type="password" maxlength="300" id="txtLoginOnModalPassword" class="top-labeled-input mb-3" style="width:100%;">
                        <div class="rfv-div-validation-triangle">
                          <span id="RequiredFieldValidator1" style="color:#D2333D;display:none;">Password Required</span>
                        </div>
                        <a onclick="LoginOnModalSubmit();return false;" id="btnLoginOnModal" class="btn btn-primary allow-loading" usesubmitbehavior="false" href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$btnLoginOnModal&quot;, &quot;&quot;, true, &quot;Login&quot;, &quot;&quot;, false, true))" style="display:inline-block;width:100%;">Log In<span class="load loading"></span></a>
                        <div id="loginOnModalWarning"></div>
                      </div>
                      <div style="font-size: 18px; padding-bottom: 13px; text-align: center">
                        <hr style="margin: 0; position: relative; top: .65em; color: #555;">
                        <span style="background: var(--white); padding: 0 10px; position: relative; color: #6a6a6a;">or</span>
                      </div>
                      <div class="d-flex flex-wrap" style="margin: 0 -2px;">
                        <a href="#" onclick="helloinit();hello('facebook').login({scope : 'email',force : true}); return false;" class="facebook-login-button zocial facebook">
                                                                        <img src="/images/facebook-logo-2.png" width="22" height="22" loading="lazy" alt="Facebook icon" style="vertical-align: middle; vertical-align: middle; width: 22px; float: left; margin: 4px;">Sign in with Facebook</a>
                        <a href="#" onclick="helloinit();hello('google').login({scope : 'email',force : true}); return false;" class="zocial google">
                                                                        <img src="/images/google-g-logo.png" width="20" height="20" loading="lazy" alt="Google icon" style="vertical-align: middle; width: 20px; float: left; margin: 5px;">Sign in with Google</a>
                      </div>
                      <div style="padding-top: 18px; font-size: 14px;"><a id="LastLinkOnLoginTab" href="/forgot-password/">Forgot your password?</a></div>
                    </div>
                  </div>
                  <div id="pnlCreate" class="tab-pane bg-light-gray" role="tabpanel" aria-labelledby="CreateOnModalTab">
                    <div class="p-3">
                      <div id="pnlCreateInner" onkeypress="javascript:return WebForm_FireDefaultButton(event, 'btnOnEnterCreateOnModal')">
                        <label class="bold m-0" for="txtCreateOnModalEmail">Your Email Address:</label>
                        <input name="ctl00$txtCreateOnModalEmail" type="text" maxlength="300" id="txtCreateOnModalEmail" class="top-labeled-input" style="width:100%;">
                        <div class="rfv-div-validation-triangle">
                          <span id="RequiredFieldValidator2" style="color:#D2333D;display:none;">Please enter your email address.</span>
                        </div>
                        <div class="rfv-div-validation-triangle">
                          <span id="rgxEmail" style="color:#D2333D;display:none;">Please enter a valid email address</span>
                        </div>
                        <label class="bold m-0" for="txtCreateOnModalPassword" title="Your password must be at least 8 characters long and contain at least 1 number, 1 letter, and 1 special character.">Choose a Password:</label>
                        <input name="ctl00$txtCreateOnModalPassword" type="password" maxlength="300" id="txtCreateOnModalPassword" class="top-labeled-input mb-3" style="width:100%;">
                        <div class="rfv-div-validation-triangle">
                          <span id="RequiredFieldValidator3" style="color:#D2333D;display:none;">Please enter your password.</span>
                        </div>
                        <div class="rfv-div-validation-triangle" style="line-height: 1; padding-top: 5px;">
                          <span id="Regex1" style="color:#D2333D;display:none;">Your password must be at least 8 characters long and contain at least 1 number, 1 letter, and 1 special character.</span>
                        </div>
                        <button id="createOnModalVisibleButton" class="btn btn-primary w-100 g-recaptcha allow-loading" data-sitekey="6Lddn5keAAAAAPlD91bDkOh-lnZZxsz5b4ddp3Mw" data-callback="CreateOnModalSubmit" data-action="submit">Create My Account
                          (Free)<span class="load loading"></span></button>
                        <div id="createOnModalWarning" class="mb-2" style="display: none;"></div>
                        <div class="d-none">
                          <input type="submit" name="ctl00$btnOnEnterCreateOnModal" value="Submit the Form"
                            onclick="$('#createOnModalVisibleButton').click();WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$btnOnEnterCreateOnModal&quot;, &quot;&quot;, true, &quot;Signup&quot;, &quot;&quot;, false, false))"
                            id="btnOnEnterCreateOnModal" style="width:100%;">
                          <input type="submit" name="ctl00$btnCreateOnModal" value="Create My Account (Free)"
                            onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$btnCreateOnModal&quot;, &quot;&quot;, true, &quot;Signup&quot;, &quot;&quot;, false, false))" id="btnCreateOnModal"
                            style="width:100%;">
                        </div>
                      </div>
                      <div style="padding-top: 15px; font-size: 18px; padding-bottom: 13px; text-align: center">
                        <hr style="margin: 0; position: relative; top: .65em; color: #555;">
                        <span style="padding: 0 10px; position: relative; color: #6a6a6a;" class="bg-light-gray">or</span>
                      </div>
                      <div class="d-flex flex-wrap" style="margin: 0 -2px;">
                        <a href="#" onclick="helloinit();hello('facebook').login({scope : 'email',force : true}); return false;" class="facebook-login-button zocial facebook">
                                                                        <img src="/images/facebook-logo-2.png" width="22" height="22" loading="lazy" alt="Facebook icon" style="vertical-align: middle; vertical-align: middle; width: 22px; float: left; margin: 4px;">Sign in with Facebook</a>
                        <a href="#" onclick="helloinit();hello('google').login({scope : 'email',force : true}); return false;" class="zocial google">
                                                                        <img src="/images/google-g-logo.png" width="20" height="20" loading="lazy" alt="Google icon" style="vertical-align: middle; vertical-align: middle; width: 20px; float: left; margin: 5px;">Sign in with Google</a>
                      </div>
                      <div style="padding-top: 18px; font-size: 13px;">By creating a free account, you agree to our <a href="/terms/" target="_blank">terms of service.</a> This site is protected by reCAPTCHA and the Google
                        <a rel="nofollow" href="https://policies.google.com/privacy">Privacy Policy</a> and <a rel="nofollow" id="LastLinkOnCreateTab" href="https://policies.google.com/terms">Terms of Service</a> apply.</div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <script type="text/javascript">
    //<![CDATA[
    var Page_Validators = new Array(document.getElementById("cphPrimaryContent_rfvAutoCompleteData"), document.getElementById("cphPrimaryContent_rfvWatchlistName"), document.getElementById("cphPrimaryContent_rfvWatchListEditName"), document
      .getElementById("cphPrimaryContent_rfvConfirmDelete"), document.getElementById("cphPrimaryContent_rgxConfirmDelete"), document.getElementById("cphPrimaryContent_RequiredFieldValidator2"), document.getElementById("rfvEmail"), document
      .getElementById("RequiredFieldValidator1"), document.getElementById("RequiredFieldValidator2"), document.getElementById("rgxEmail"), document.getElementById("RequiredFieldValidator3"), document.getElementById("Regex1"));
    //]]>
  </script>
  <script type="text/javascript">
    //<![CDATA[
    var cphPrimaryContent_rfvAutoCompleteData = document.all ? document.all["cphPrimaryContent_rfvAutoCompleteData"] : document.getElementById("cphPrimaryContent_rfvAutoCompleteData");
    cphPrimaryContent_rfvAutoCompleteData.controltovalidate = "cphPrimaryContent_txtAutoCompleteData";
    cphPrimaryContent_rfvAutoCompleteData.errormessage = "Please choose an asset.";
    cphPrimaryContent_rfvAutoCompleteData.display = "Dynamic";
    cphPrimaryContent_rfvAutoCompleteData.validationGroup = "Val2";
    cphPrimaryContent_rfvAutoCompleteData.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
    cphPrimaryContent_rfvAutoCompleteData.initialvalue = "";
    var cphPrimaryContent_rfvWatchlistName = document.all ? document.all["cphPrimaryContent_rfvWatchlistName"] : document.getElementById("cphPrimaryContent_rfvWatchlistName");
    cphPrimaryContent_rfvWatchlistName.controltovalidate = "cphPrimaryContent_txtWatchlistName";
    cphPrimaryContent_rfvWatchlistName.errormessage = "Required";
    cphPrimaryContent_rfvWatchlistName.display = "Dynamic";
    cphPrimaryContent_rfvWatchlistName.validationGroup = "Val4";
    cphPrimaryContent_rfvWatchlistName.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
    cphPrimaryContent_rfvWatchlistName.initialvalue = "";
    var cphPrimaryContent_rfvWatchListEditName = document.all ? document.all["cphPrimaryContent_rfvWatchListEditName"] : document.getElementById("cphPrimaryContent_rfvWatchListEditName");
    cphPrimaryContent_rfvWatchListEditName.controltovalidate = "cphPrimaryContent_txtWatchListEditName";
    cphPrimaryContent_rfvWatchListEditName.errormessage = "Required";
    cphPrimaryContent_rfvWatchListEditName.display = "Dynamic";
    cphPrimaryContent_rfvWatchListEditName.validationGroup = "Val5";
    cphPrimaryContent_rfvWatchListEditName.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
    cphPrimaryContent_rfvWatchListEditName.initialvalue = "";
    var cphPrimaryContent_rfvConfirmDelete = document.all ? document.all["cphPrimaryContent_rfvConfirmDelete"] : document.getElementById("cphPrimaryContent_rfvConfirmDelete");
    cphPrimaryContent_rfvConfirmDelete.controltovalidate = "cphPrimaryContent_txtConfirmDelete";
    cphPrimaryContent_rfvConfirmDelete.errormessage = "Type “DELETE ALL” to confirm";
    cphPrimaryContent_rfvConfirmDelete.display = "Dynamic";
    cphPrimaryContent_rfvConfirmDelete.validationGroup = "ValDeleteWatchlist";
    cphPrimaryContent_rfvConfirmDelete.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
    cphPrimaryContent_rfvConfirmDelete.initialvalue = "";
    var cphPrimaryContent_rgxConfirmDelete = document.all ? document.all["cphPrimaryContent_rgxConfirmDelete"] : document.getElementById("cphPrimaryContent_rgxConfirmDelete");
    cphPrimaryContent_rgxConfirmDelete.controltovalidate = "cphPrimaryContent_txtConfirmDelete";
    cphPrimaryContent_rgxConfirmDelete.errormessage = "Type “DELETE ALL” to confirm";
    cphPrimaryContent_rgxConfirmDelete.display = "Dynamic";
    cphPrimaryContent_rgxConfirmDelete.validationGroup = "ValDeleteWatchlist";
    cphPrimaryContent_rgxConfirmDelete.evaluationfunction = "RegularExpressionValidatorEvaluateIsValid";
    cphPrimaryContent_rgxConfirmDelete.validationexpression = "^([dD][eE][lL][eE][tT][eE][ ][aA][lL][lL])$";
    var cphPrimaryContent_RequiredFieldValidator2 = document.all ? document.all["cphPrimaryContent_RequiredFieldValidator2"] : document.getElementById("cphPrimaryContent_RequiredFieldValidator2");
    cphPrimaryContent_RequiredFieldValidator2.controltovalidate = "cphPrimaryContent_txtBulkWatchlistNew";
    cphPrimaryContent_RequiredFieldValidator2.errormessage = "Required";
    cphPrimaryContent_RequiredFieldValidator2.display = "Dynamic";
    cphPrimaryContent_RequiredFieldValidator2.validationGroup = "Val9";
    cphPrimaryContent_RequiredFieldValidator2.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
    cphPrimaryContent_RequiredFieldValidator2.initialvalue = "";
    var rfvEmail = document.all ? document.all["rfvEmail"] : document.getElementById("rfvEmail");
    rfvEmail.controltovalidate = "txtLoginOnModalEmail";
    rfvEmail.errormessage = "Email Address Required";
    rfvEmail.display = "Dynamic";
    rfvEmail.validationGroup = "Login";
    rfvEmail.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
    rfvEmail.initialvalue = "";
    var RequiredFieldValidator1 = document.all ? document.all["RequiredFieldValidator1"] : document.getElementById("RequiredFieldValidator1");
    RequiredFieldValidator1.controltovalidate = "txtLoginOnModalPassword";
    RequiredFieldValidator1.errormessage = "Password Required";
    RequiredFieldValidator1.display = "Dynamic";
    RequiredFieldValidator1.validationGroup = "Login";
    RequiredFieldValidator1.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
    RequiredFieldValidator1.initialvalue = "";
    var RequiredFieldValidator2 = document.all ? document.all["RequiredFieldValidator2"] : document.getElementById("RequiredFieldValidator2");
    RequiredFieldValidator2.controltovalidate = "txtCreateOnModalEmail";
    RequiredFieldValidator2.errormessage = "Please enter your email address.";
    RequiredFieldValidator2.display = "Dynamic";
    RequiredFieldValidator2.validationGroup = "Signup";
    RequiredFieldValidator2.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
    RequiredFieldValidator2.initialvalue = "";
    var rgxEmail = document.all ? document.all["rgxEmail"] : document.getElementById("rgxEmail");
    rgxEmail.controltovalidate = "txtCreateOnModalEmail";
    rgxEmail.errormessage = "Please enter a valid email address";
    rgxEmail.display = "Dynamic";
    rgxEmail.validationGroup = "Signup";
    rgxEmail.evaluationfunction = "RegularExpressionValidatorEvaluateIsValid";
    rgxEmail.validationexpression = "\\w+([-+.\']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
    var RequiredFieldValidator3 = document.all ? document.all["RequiredFieldValidator3"] : document.getElementById("RequiredFieldValidator3");
    RequiredFieldValidator3.controltovalidate = "txtCreateOnModalPassword";
    RequiredFieldValidator3.errormessage = "Please enter your password.";
    RequiredFieldValidator3.display = "Dynamic";
    RequiredFieldValidator3.validationGroup = "Signup";
    RequiredFieldValidator3.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid";
    RequiredFieldValidator3.initialvalue = "";
    var Regex1 = document.all ? document.all["Regex1"] : document.getElementById("Regex1");
    Regex1.controltovalidate = "txtCreateOnModalPassword";
    Regex1.errormessage = "Your password must be at least 8 characters long and contain at least 1 number, 1 letter, and 1 special character.";
    Regex1.display = "Dynamic";
    Regex1.validationGroup = "Signup";
    Regex1.evaluationfunction = "RegularExpressionValidatorEvaluateIsValid";
    Regex1.validationexpression = "^(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&-]{8,}$";
    //]]>
  </script>
  <script type="text/javascript">
    //<![CDATA[
    var Page_ValidationActive = false;
    if (typeof(ValidatorOnLoad) == "function") {
      ValidatorOnLoad();
    }

    function ValidatorOnSubmit() {
      if (Page_ValidationActive) {
        return ValidatorCommonOnSubmit();
      } else {
        return true;
      }
    }
    theForm.oldSubmit = theForm.submit;
    theForm.submit = WebForm_SaveScrollPositionSubmit;
    theForm.oldOnSubmit = theForm.onsubmit;
    theForm.onsubmit = WebForm_SaveScrollPositionOnSubmit;
    document.getElementById('cphPrimaryContent_rfvAutoCompleteData').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('cphPrimaryContent_rfvAutoCompleteData'));
    }
    document.getElementById('cphPrimaryContent_rfvWatchlistName').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('cphPrimaryContent_rfvWatchlistName'));
    }
    document.getElementById('cphPrimaryContent_rfvWatchListEditName').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('cphPrimaryContent_rfvWatchListEditName'));
    }
    document.getElementById('cphPrimaryContent_rfvConfirmDelete').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('cphPrimaryContent_rfvConfirmDelete'));
    }
    document.getElementById('cphPrimaryContent_rgxConfirmDelete').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('cphPrimaryContent_rgxConfirmDelete'));
    }
    document.getElementById('cphPrimaryContent_RequiredFieldValidator2').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('cphPrimaryContent_RequiredFieldValidator2'));
    }
    Sys.Application.add_init(function() {
      $create(Sys.UI._Timer, {
        "enabled": false,
        "interval": 60000,
        "uniqueID": "ctl00$cphPrimaryContent$AutoMagicalTimer"
      }, null, null, $get("cphPrimaryContent_AutoMagicalTimer"));
    });
    Sys.Application.add_init(function() {
      $create(Sys.UI._UpdateProgress, {
        "associatedUpdatePanelId": null,
        "displayAfter": 500,
        "dynamicLayout": true
      }, null, null, $get("cphPrimaryContent_Progress1"));
    });
    document.getElementById('rfvEmail').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('rfvEmail'));
    }
    document.getElementById('RequiredFieldValidator1').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('RequiredFieldValidator1'));
    }
    document.getElementById('RequiredFieldValidator2').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('RequiredFieldValidator2'));
    }
    document.getElementById('rgxEmail').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('rgxEmail'));
    }
    document.getElementById('RequiredFieldValidator3').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('RequiredFieldValidator3'));
    }
    document.getElementById('Regex1').dispose = function() {
      Array.remove(Page_Validators, document.getElementById('Regex1'));
    }
    //]]>
  </script>
</form>

Text Content

Skip to main content
Gift Opening
$200 Off MarketBeat All Access
Thanks for being one of our best subscribers! You are eligible for a
limited-time discount.
 * 1days
 * 23Hours
 * 59Minutes
 * 55Seconds

Claim Your Discount
×
QQQ   503.46   (+0.69%)
Traders Are Flocking Back to Oil: What’s Fueling the Optimism
Missed Nvidia? Watch this ASAP (Ad)
3 High Flying Stocks That Could Stock Split in 2025
4 Reasons to Grab Shares of Grab Holdings Before 2024 Ends
Is Starlink Set For The Largest IPO In History? (Ad)
3 Hot Stock Trends to Ride Into 2025 
Super Micro Computer Soars 28%: Is It Really Out of the Woods?
24/7 Automated Profits in Crypto (Ad)
Arm Holdings: Buy the Dip or Wait for a Better Price?
Why Alphabet Stock Dips Are the Perfect Time to Invest
QQQ   503.46   (+0.69%)
Traders Are Flocking Back to Oil: What’s Fueling the Optimism
Missed Nvidia? Watch this ASAP (Ad)
3 High Flying Stocks That Could Stock Split in 2025
4 Reasons to Grab Shares of Grab Holdings Before 2024 Ends
Is Starlink Set For The Largest IPO In History? (Ad)
3 Hot Stock Trends to Ride Into 2025 
Super Micro Computer Soars 28%: Is It Really Out of the Woods?
24/7 Automated Profits in Crypto (Ad)
Arm Holdings: Buy the Dip or Wait for a Better Price?
Why Alphabet Stock Dips Are the Perfect Time to Invest
 * Research Tools
   * All Access Research Tools
     * Live News Feed
     * Momentum Alerts
     * Idea Engine
     * Export Data (CSV)
     * See All Research Tools
   * My MarketBeat
     * My Portfolio
     * My Newsletter
     * My Account
   * Calculators
     * Dividend Calculator
     * Dividend Yield Calculator
     * Market Cap Calculator
     * Options Profit Calculator
     * Stock Average Calculator
     * Stock Split Calculator
     * Stock Profit Calculator
   * Stock Screeners
     * Stock Screener
     * ETF Screener
   * Trending Stocks
     * Trending MarketBeat Stocks
     * Trending Media Mentions
     * High Media Sentiment Stocks
     * Trending WallStreetBets Stocks
   * Premium Reports
     * All Reports
     * 7 Election Stocks to Own
     * 7 Magnificent Stocks in 2024
     * 10 Best AI Stocks
     * Best Stocks for 2025 Report
     * Guide To High Short Interest Stocks
     * Elon Musk's Next Move
     * Next 7 Blockbuster Stocks
     * Stock Picks from Top Analysts
 * Financial Calendars
   * Calendars and Market Data
 * Market Data
   * All Market Data and Financial Calendars
   * Analyst Ratings
     * Recent Analyst Ratings
     * Stock Ratings Screener
     * Top-Rated Stocks
     * Lowest-Rated Stocks
     * Top-Rated Analysts
     * Top-Rated Brokerages
     * Most-Upgraded Stocks
     * Free Ratings Newsletter
   * Congressional Data
     * Recent Trades
     * Most Bought Stocks
     * Members of Congress
   * Corporate Events
     * Corporate Buybacks
     * Economic Reports
     * Initial Public Offerings (IPOs)
     * IPO Lockup Expirations
     * SEC Filings
     * Stock Splits
   * Dividends
     * Today's Announcements
     * Ex-Dividend Calendar
     * Dividend Increases
     * Dividend Achievers
     * Dividend Aristocrats
     * Best Dividend Stocks
     * High-Yield Dividend Stocks
     * Top-Rated Dividend Stocks
     * Dividend Screener
     * Free Dividend Newsletter
   * Earnings
     * Today's Announcements
     * Tomorrow's Announcements
     * Next Week's Announcements
     * Upcoming Earnings Calls
     * Earnings Call Transcripts
     * Earnings Screener
   * Insider Trades
     * Today's Insider Trades
     * Top Insider Buying Stocks
     * Top Insider Selling Stocks
     * Insider Trades Screener
     * Insider Trades Newsletter
   * Stock Market Holidays
   * Cryptocurrencies
     * All Cryptocurrencies
     * Cryptocurrency Headlines
     * Cryptocurrency Newsletter
   * Gainers & Decliners
     * Percentage Gainers
     * Percentage Decliners
     * Breakout Stocks
   * High & Low PE
     * High PE Stocks
     * Low PE Stocks
   * Highs & Lows
     * 52-Week Highs
     * 52-Week Lows
   * Most Active
     * Most Active Stocks
     * Most Volatile Stocks
     * Unusual Trading Volume
     * Trading Halts
   * Options
     * Unusual Call Volume
     * Unusual Put Volume
   * Sector Performance
   * Short Interest
     * Largest Short Positions
     * Short Interest Increases
     * Short Interest Decreases
 * Stock Lists
   * All Stock Lists
   * Stocks by Interest
     * 5G Stocks
     * Blue Chip Stocks
     * Biotech Stocks
     * FAANG Stocks
     * Gold Stocks
     * Large Cap Stocks
     * Marijuana Stocks
     * Oil Stocks
     * REITs
     * Russell 2000 Stocks
     * Small Cap Stocks
     * Warren Buffett Stocks
   * Low Priced Stocks
     * Stocks Under $0.50
     * Stocks Under $1
     * Stocks Under $2
     * Stocks Under $5
   * Penny Stocks
     * Most Active Penny Stocks
     * Most Popular Penny Stocks
     * Top Penny Stocks Today
   * Stocks by Exchange
     * NYSE Stocks
     * NASDAQ Stocks
     * OTCMKTS Stocks
     * TSX Stocks
     * LSE Stocks
   * Stocks by Sector
     * Automotive Stocks
     * Aerospace Stocks
     * Basic Materials Stocks
     * Business Services Stocks
     * Consumer Discretionary Stocks
     * Consumer Staples Stocks
     * Construction Stocks
     * Energy Stocks
     * Finance Stocks
     * Industrial Stocks
     * Manufacturing Stocks
     * Medical Stocks
     * Real Estate Stocks
     * Retail Stocks
     * Technology Stocks
     * Transportation Stocks
     * Utilities Stocks
   * Technical Indicators
     * Death Cross Stocks
     * Golden Cross Stocks
     * RSI Overbought Stocks
     * RSI Oversold Stocks
   * Stock Comparisons
   * Premium Stock Lists
     * Top MarketRank™ Stocks
     * Top ESG Stocks
     * Top-Rated Stocks
     * Top-Rated Dividend Stocks
     * Top-Rated Small-Cap Stocks
     * Top-Rated Tech Stocks
 * Headlines
   * MarketBeat TV
     * Palantir and the NASDAQ 100: What’s the Next Big Stock Swing for This AI
       Giant?
     * Palantir and the NASDAQ 100: What’s the Next Big Stock Swing for This AI
       Giant?
     * Rocket Lab Stock Explodes Higher—What’s Next for This Space Pioneer?
     * Rocket Lab Stock Explodes Higher—What’s Next for This Space Pioneer?
     * Why Whitestone REIT is Outperforming in 2024: 35% Growth & Monthly
       Dividends
     * Why Whitestone REIT is Outperforming in 2024: 35% Growth & Monthly
       Dividends
     * Why SoundHound Stock Dip Could Mean Big Gains for 2025 Investors
     * Why SoundHound Stock Dip Could Mean Big Gains for 2025 Investors
   * Featured Articles
     * Super Micro Computer Soars 28%: Is It Really Out of the Woods?
     * Traders Are Flocking Back to Oil: What’s Fueling the Optimism
     * 3 Hot Stock Trends to Ride Into 2025 
     * Arm Holdings: Buy the Dip or Wait for a Better Price?
     * Why Alphabet Stock Dips Are the Perfect Time to Invest
     * 3 High Flying Stocks That Could Stock Split in 2025
     * Retail Sector Comeback Plays: SPDR S&P Retail ETF, FND, and SHAK
     * Top IoT Stocks: Why Samsara and Digi Are Thriving in 2025
     * More Featured Articles
   * News
     * All Headlines
     * Instant News Alerts
     * Research Surveys
     * Real-Time News Feed
     * Investing Slideshows
 * Education
   * Featured Topic: Options Trading
      * Options Traders Bet Big on These 3 Tech Stocks
      * How to Play New Options Trading With Bitcoin ETFs
      * Albemarle Stock Call Options Surge: What It Means for Lithium
      * How to Execute the Wheel Strategy to Generate Options Income
      * 3 Options Strategies to Play a Stock’s Uptrend if Bullish
      * How to Use Delta Hedging to Protect Your Options with Stock
   
   * Learn
     Read investment guides, how-to articles, and explainers.
   * Stock Ideas
     Looking for ideas for stocks to invest in? These stocks are poised to move.
   * Financial Terms
     Learn the language of investment with our glossary of over 200 financial
     terms.
   * Help
     View our library of help videos to learn how to use the tools on the
     MarketBeat website.

My Account Free Trial
Search
→ New Year, New Opportunity! 2 AI Stocks Under $10 Ready to Soar (From Darwin)
(Ad)


MY MARKETBEAT


ADD A HOLDING TO YOUR WATCHLIST

×
Asset Type: Stock/ETF Cryptocurrency Manual Asset Search:
Please choose an asset.
Shares Held: Avg. Cost Basis:
Current Unit Value (USD): Investment Yield:
%
Watchlist: My Default Watchlist Alerts:
Enable Email News Alerts
Enable SMS News Alerts
Include in Newsletter
Set Up Price Alerts
Alert above
Alert below
Manage All Alerts and Alert Types Notes:
Cancel    


ADD MULTIPLE HOLDINGS TO YOUR WATCHLIST

×
Asset Type: Stock/ETF Cryptocurrency
Search:
Please select some assets using the search box.
Watchlist: My Default Watchlist Alerts (applies to stocks only):
Enable Email News Alerts
Enable SMS News Alerts
Include in Newsletter

Manage All Alerts and Alert Types
Cancel  


CREATE A NEW WATCHLIST

×
Watchlist Name:
Required
Cancel    


EDIT WATCHLIST

×
Watchlist Name:
Required
Display Priority: 10 (Highest) 9 8 7 6 5 4 3 2 1 (Lowest)
Cancel  


EDIT DETAILS FOR

×
Shares Held: Avg. Cost Basis:
Current Unit Value: Investment Yield:
%
Watchlist: My Default Watchlist
Alerts:
Enable Email News Alerts
Enable SMS News Alerts
Include In Newsletter
Set Up Price Alerts
Alert above
Alert below
Manage All Alerts and Alert Types Notes:
Cancel    


DELETE HOLDING FROM WATCHLIST

×

Are you sure you want to delete from this watchlist?

Cancel    


DELETE WATCHLIST

×

Are you sure you want to delete your watchlist ""?

Type “DELETE ALL” to confirm that you want to delete this watchlist and ALL your
holdings on this watchlist:
Type “DELETE ALL” to confirm Type “DELETE ALL” to confirm
Cancel    


BULK ACTION

Are you sure you want to ?

Cancel    


MOVE HOLDINGS TO A NEW WATCHLIST

Create a new watchlist to move these holdings to:

Watchlist Name:
Required
Cancel    
All Watchlists My Default Watchlist Watchlist
Add a Holding
Portfolio Overview Performance Insights Headlines Calendar Ratings Insider
Trades Earnings SEC Filings Social Newsletter Portfolio Ideas MarketRank™




MY PORTFOLIO

Select a Bulk Action Delete These Holdings Enable Email Alerts for These
Holdings Disable Email Alerts for These Holdings Move Holdings to 'My Default
Watchlist' Move Holdings to a New Watchlist
Apply
Bulk Actions



Customize your watchlist columns by checking the ones you want to include and
dragging them into the order you prefer.
Select and Rearrange Columns 7 selected
 * Classic Columns
 * Current Price and Change 
   The current price of a listed asset and the amount the price has changed
   during the most recent trading period.
 * Holding Value 
   Holding value is calculated as the current price of the holding times the
   holding size.
 * Cost Basis 
   Cost basis is the original purchase price of each share of the asset.
 * ROI 
   Return on investment (ROI) is a measurement that shows your profit on an
   investment as a percentage of your initial investment. Learn more.
 * PE Ratio 
   The price to earnings ratio (P/E) measures its current share price relative
   to its per-share earnings. The ratio is used in valuing companies. Learn
   more.
 * Beta 
   Beta is the result of a calculation that measures the relative volatility of
   a stock in correlation to a particular standard. Learn more.
 * Annual Dividend 
   The total amount of dividend dispersed per share per year. Learn more.
 * Consensus Rating 
   Analyst ratings or stock ratings, such as “Buy”, “Sell”, and “Hold” are an
   evaluation of a stock's expected performance and/or it's risk level as
   determined by a rating agency or brokerage firm. Consensus is the
   summary/average of those ratings. Learn more.
 * Consensus Price Target 
   A price target is an investment analyst’s or adviser’s estimate of the future
   price level of an asset, such as a stock, futures contract, commodity or
   exchange-traded fund (ETF). Consensus is the summary/average of those
   estimates. Learn more.
 * Upside/Downside 
   The potential change in stock price if the stock were to meet consensus price
   target estimates. Upside indicates that the consensus price target is higher
   than the current price and downside indicates that the consensus price target
   is lower than the current price. Learn more.
 * Basics
 * Sector 
   A sector is an area of the economy where businesses share the same or related
   business activity, product, or service. Sectors represent a large grouping of
   companies showcasing similar business activities.
 * Industry 
   Industry refers to a specific group of companies or businesses, while
   "sector" describes a large segment of the economy.
 * Subindustry 
   Sub-industry is a more specific classification within an industry.
 * Currency 
   The currency the stock trades in, such as U.S. Dollars.
 * Market Cap 
   Market capitalization is the market value of all of a company's outstanding
   shares and is used by the investment community in ranking the size of
   companies, as opposed to sales or total asset figures.
 * Valuation
 * Forward PE Ratio 
   The price to earnings ratio (P/E) measures its current share price relative
   to its per-share earnings. The ratio is used in valuing companies. Learn
   more.
 * P/E Growth 
   The P/E growth ratio (or PEG) was developed and is used as a refinement of
   the standard P/E ratio that is used in fundamental analysis. Learn more.
 * Price/Sales 
   Valuation is a term investors use to indicate the degree to which a stock is
   accurately priced. The price-sales ratio does this by comparing a company’s
   stock price to its revenues. Learn more.
 * Price/Book 
   The price-to-book (P/B) ratio of a company's stock price to its book value on
   its balance sheet. The book value is the amount of money a firm can
   reasonably expect if it sold all of its assets at current market prices.
 * Price/Cash 
   The price-to-cash flow ratio measures the current price of the company's
   stock relative to the amount of cash generated by the company.
 * RSI 
   Relative Strength Index (RSI) measures the velocity and magnitude of a
   stock's price movements and compares them with the magnitude of a stock's
   average gains and average losses. A stock's RSI oscillates between zero and
   100. Learn more.
 * Earnings
 * Annual Sales 
   Annual Sales is a company's revenue from sales of its products or services in
   a year.
 * Trailing 12-Month EPS 
   Trailing twelve months (TTM) earnings per share (EPS) is an investment metric
   determined by a company's earnings in the past 12 months divided by its
   number of common outstanding shares. Learn more.
 * Current Year EPS Estimate 
   Earnings per share (EPS) is an investment metric determined by a company's
   earnings divided by its number of common outstanding shares. Learn more.
 * Next Year EPS Estimate 
   Earnings per share (EPS) is an investment metric determined by a company's
   earnings divided by its number of common outstanding shares. Learn more.
 * Book Value 
   Book value per share (BVPS) is a ratio used to compare a firm's common
   shareholder's equity to the number of shares outstanding. Learn more.
 * Cash Flow 
   Cash flow is a measurement of how much cash and cash equivalents a company is
   receiving and how much it is sending out. Learn more.
 * Net Income 
   Net income is the measurement of whether or not a company is making money
   and, if so, how much profit they are retaining. Learn more.
 * Net Margins 
   Net margin (also known as net profit margin) is the amount of revenues that
   remains as profit after a given period of time. Learn more.
 * Performance
 * Previous Close 
   The closing price of the last market day.
 * Opening Price 
   The opening price of the current market day.
 * Change from Open 
   The amount/percent change from the current market day's opening price.
 * Crypto 1-Hour Change 
   The change in price of the last hour in a market day.
 * 7-Day Price Change 
   The 7 day price change of the stock/asset.
 * 1-Year Price Change 
   The 1-year price change of the stock/asset.
 * 52-Week Range 
   The 52-week range shows the lowest and highest price at which a stock has
   traded at in the previous 52 weeks.
 * Today's Range 
   Today's range shows the lowest and highest price at which a stock has traded
   at today.
 * Today's Volume 
   Volume refers to the amount of shares or contracts traded in an asset or
   security over a period of time, usually over the course of a trading day.
 * Average Daily Volume 
   Volume refers to the amount of shares or contracts traded in an asset or
   security over a period of time, usually over the course of a trading day.
   Learn more.
 * Return On Assets 
   The return on assets (ROA) ratio is one of several profitability measures
   that investors use to measure their return on investment (ROI). Learn more.
 * Return On Equity 
   Return on equity is a measurement of how efficient a company is in using its
   assets from their shareholders to create earnings. Learn more.
 * Debt
 * Debt/Equity Ratio 
   A company’s debt-to-equity ratio is a performance metric that measures a
   company’s level of debt in relation to the overall value of their stock.
   Learn more.
 * Current Ratio 
   The current ratio is a liquidity ratio that measures a company's ability to
   pay short-term obligations or those due within one year. Learn more.
 * Quick Ratio 
   The quick ratio measures a company's capacity to pay its current liabilities
   without needing to sell its inventory or obtain additional financing. Learn
   more.
 * Dividend
 * Dividend Yield 
   Dividend yield is a company’s dividend expressed as a percentage of its stock
   price. Learn more.
 * Yield on Cost 
   Yield on cost is a company’s dividend expressed as a percentage of the price
   originally paid for the stock. Learn more.
 * 3-Year Dividend Growth 
   How much the company's dividend has grown (or declined) over the past 3
   years. Learn more.
 * Payout Ratio 
   The dividend payout ratio is the ratio of the total amount of dividends paid
   out to shareholders relative to the net income of the company. It is the
   percentage of earnings paid to shareholders via dividends. Learn more.
 * Years of Dividend Growth 
   The number of years the paid dividend has increased. Learn more.
 * Next Dividend Payout Date 
   A payment date, also known as the pay or payable date, is the day on which a
   declared stock dividend is scheduled to be paid to eligible investors. This
   date can be up to a month after the ex-dividend date. Learn more.
 * Next Ex-Dividend Date 
   The ex-dividend date is the trading date on (and after) which the dividend is
   not owed to a new buyer of the stock. The ex-date is one business day before
   the date of record. The date of record is the day on which the company checks
   its records to identify shareholders of the company. Learn more.
 * Dividend Payment Schedule 
   The frequency in which a company announces dividends, examples include
   quarterly and yearly. Learn more.
 * Additional Indicators
 * MarketRank™ 
   Our MarketRank™ rates every stock on 7 unique categories: Analyst's Opinion,
   Short Interest, Dividend Strength, ESG Score, Media Sentiment, Company
   Ownership, and Earnings and Valuation. MarketRank is calculated as an average
   of available category scores, with extra weight given to analysis and
   valuation. Learn more.
 * News Sentiment 
   News sentiment is one part of fundamental analysis. A good way to look at it
   is that technical signals will tell investors what’s happening to a stock’s
   price. Understanding the news can help investors understand why that movement
   may be happening. Learn more.
 * Insider Ownership % 
   The percentage of the company that company insiders own in shares. Learn
   more.
 * Institutional Ownership % 
   The percentage of the company that institutional owners own in shares. Learn
   more.
 * Next Earnings Date 
   Earnings date is the date of the next release of a company's financial
   report. Earnings report date is the date of an official announcement about a
   company's profitability for a specific time period. Learn more.
 * Number of Employees 
   The number of employees in a company.
 * Outstanding Shares 
   Outstanding shares are all the shares of a corporation or financial asset
   that have been authorized, issued and purchased by investors and are held by
   them. They have rights and represent ownership in the corporation by the
   person who holds the shares. Learn more.
 * Portfolio Details
 * Notes
 * Price Alerts


Refresh price data every 60 seconds Last updated: 11/19 11:44 PM ET

My Default Watchlist
 

Select All Holdings in watchlist My Default Watchlist
HoldingCurrent PricePE RatioBetaAnnual DividendConsensus RatingConsensus Price
TargetUpside/ DownsideSettings
Apply Bulk Action to Apple Inc.

AAPL
Apple$228.28
+$0.26 (0.11%)37.551.24$1.00 per sh.Moderate Buy
2.61$235.253.06% Upside
View notifications for this stock9+
AppleMark as Read

 * NASDAQ:AAPLToday, 6:38 PM - marketbeat.com
   
   Apple Inc. (NASDAQ:AAPL) Insider Sells $945,233.10 in Stock

 * NASDAQ:AAPLToday, 6:10 PM
   
   Apple Inc. (NASDAQ:AAPL - Get Free Report) insider Chris Kondo sold 4,130
   shares of Apple stock in a transaction that occurred on Monday, November
   18th. The shares were sold at an average price of $228.87, for a total
   transaction of $945,233.10. Following the sale, the insider now directly owns
   15,419 shares in the company, valued at approximately $3,528,946.53. The
   trade was a 21.13 % decrease in their position. The transaction was disclosed
   in a document filed with the SEC, which is accessible through the SEC
   website.

 * NASDAQ:AAPLToday, 6:03 PM - gurufocus.com
   
   Apple Takes Over Apple News Ad Sales, Phases Out Third Parties

 * NASDAQ:AAPLToday, 5:45 PM - techcrunch.com
   
   Apple says Mac users targeted in zero-day cyberattacks

 * NASDAQ:AAPLToday, 4:22 PM - businessinsider.com
   
   Google's antitrust loss could cost Apple billions of dollars

 * NASDAQ:AAPLToday, 4:07 PM - appleinsider.com
   
   Apple shifts to internal advertising sales for Apple News

 * NASDAQ:AAPLToday, 4:07 PM - us.yahoo.com
   
   Apple might discontinue its most ‘courageous’ iPhone accessory

 * NASDAQ:AAPLToday, 2:51 PM - marketbeat.com
   
   Apple (NASDAQ:AAPL) Shares Up 0.4% - Here's Why

 * NASDAQ:AAPLToday, 10:44 AM - marketbeat.com
   
   Apple (NASDAQ:AAPL) Price Target Lowered to $202.00 at Moffett Nathanson

 * NASDAQ:AAPLToday, 10:44 AM
   
   Apple had its price target lowered by analysts at Moffett Nathanson from
   $211.00 to $202.00. They now have a "neutral" rating on the stock. This
   represents a 11.5% downside from the current price of $228.28.
   Briefing.com Automated Import, Stock Target Advisor

 * NASDAQ:AAPLToday, 9:09 AM - insidermonkey.com
   
   Apple (AAPL) Ended the Quarter with Strength

 * NASDAQ:AAPLToday, 6:08 AM - marketbeat.com
   
   Apple Q4 Earnings Transcript

 * NASDAQ:AAPLToday, 2:08 AM - marketbeat.com
   
   Apple Inc. (NASDAQ:AAPL) is Abacus Planning Group Inc.'s 10th Largest
   Position

 * NASDAQ:AAPLToday, 2:08 AM - marketbeat.com
   
   Apple Inc. (NASDAQ:AAPL) Stake Lessened by Ables Iannone Moore & Associates
   Inc.

 * NASDAQ:AAPLToday, 2:08 AM - marketbeat.com
   
   Apple Inc. (NASDAQ:AAPL) Shares Sold by M&R Capital Management Inc.

 * NASDAQ:AAPLToday, 2:08 AM - marketbeat.com
   
   Apple Inc. (NASDAQ:AAPL) Shares Acquired by Waller Financial Planning Group
   Inc.

 * NASDAQ:AAPLToday, 2:08 AM - marketbeat.com
   
   73,148 Shares in Apple Inc. (NASDAQ:AAPL) Bought by Ashburton Jersey Ltd

 * NASDAQ:AAPLToday, 2:08 AM - marketbeat.com
   
   Alternative Investment Advisors LLC. Purchases Shares of 5,465 Apple Inc.
   (NASDAQ:AAPL)

 * NASDAQ:AAPLToday, 2:08 AM - marketbeat.com
   
   Apple Inc. (NASDAQ:AAPL) Holdings Reduced by Appleton Partners Inc. MA

 * NASDAQ:AAPLToday, 2:08 AM - marketbeat.com
   
   Apple Inc. (NASDAQ:AAPL) Shares Sold by Jacobs & Co. CA

View All Notifications for Apple
Apply Bulk Action to Amazon.com, Inc.

AMZN
Amazon.com$204.61
+$2.91 (1.44%)43.811.14$0.20 per sh.Moderate Buy
2.98$235.4515.07% Upside
View notifications for this stock9+
Amazon.comMark as Read

 * NASDAQ:AMZNToday, 6:38 PM - marketbeat.com
   
   Daniel P. Huttenlocher Sells 1,237 Shares of Amazon.com, Inc. (NASDAQ:AMZN)
   Stock

 * NASDAQ:AMZNToday, 6:06 PM
   
   Amazon.com, Inc. (NASDAQ:AMZN) Director Daniel P. Huttenlocher sold 1,237
   shares of the business's stock in a transaction dated Tuesday, November 19th.
   The stock was sold at an average price of $199.06, for a total transaction of
   $246,237.22. Following the transaction, the director now owns 24,912 shares
   in the company, valued at $4,958,982.72. This represents a 4.73 % decrease in
   their ownership of the stock. The transaction was disclosed in a legal filing
   with the Securities & Exchange Commission, which is available through the SEC
   website.

 * NASDAQ:AMZNToday, 6:03 PM - financialpost.com
   
   In Brazil, Biden Fades Out Into Amazon Jungle

 * NASDAQ:AMZNToday, 4:16 PM - bizjournals.com
   
   Amazon-to-influencer startup wraps up Series A boon

 * NASDAQ:AMZNToday, 4:16 PM - msn.com
   
   Amazon.com (AMZN) Leverages Traditional AI: AWS Poised for Growth in Cloud AI
   Market

 * NASDAQ:AMZNToday, 4:16 PM - msn.com
   
   Amazon.com, Inc. (AMZN): AWS Assures AI Clients of Compliance with New White
   House National Security Guidelines

 * NASDAQ:AMZNToday, 2:51 PM - marketbeat.com
   
   Amazon.com (NASDAQ:AMZN) Trading Up 0.1% - Time to Buy?

 * NASDAQ:AMZNToday, 2:02 PM - businessinsider.com
   
   Inside Amazon's agonizing attempt to save Alexa with AI

 * NASDAQ:AMZNToday, 1:01 PM - pymnts.com
   
   Amazon Has No Plans to Hike Fulfillment and Referral Fees in 2025

 * NASDAQ:AMZNToday, 12:35 PM - pymnts.com
   
   Amazon Has No Plans to Hike Fulfillment and Referral Fees in 2025

 * NASDAQ:AMZNToday, 11:04 AM - seekingalpha.com
   
   AI Spending To Exceed A Quarter Trillion Dollars Next Year

 * NASDAQ:AMZNToday, 11:00 AM - globenewswire.com
   
   Common Sense Networks Unveils SENSICALMATCH.AI™ Powered by Deloitte and
   Amazon Web Services, Redefining Safe Advertising for Kids

 * NASDAQ:AMZNToday, 10:08 AM - marketwatch.com
   
   Here's how to find cheaper prices than Amazon's — with one simple hack

 * NASDAQ:AMZNToday, 6:08 AM - marketbeat.com
   
   Amazon.com Q3 Earnings Transcript

 * NASDAQ:AMZNToday, 4:15 AM - fool.com
   
   2 No-Brainer Warren Buffett Stocks to Buy Right Now

 * NASDAQ:AMZNToday, 3:15 AM - fool.com
   
   The Best Stocks to Invest $1,000 In Right Now

 * NASDAQ:AMZNToday, 2:09 AM - marketbeat.com
   
   Capital Investment Advisors LLC Has $40.77 Million Stock Holdings in
   Amazon.com, Inc. (NASDAQ:AMZN)

 * NASDAQ:AMZNToday, 2:09 AM - marketbeat.com
   
   Dixon Mitchell Investment Counsel Inc. Has $56.23 Million Position in
   Amazon.com, Inc. (NASDAQ:AMZN)

 * NASDAQ:AMZNToday, 2:09 AM - marketbeat.com
   
   Blue Trust Inc. Acquires 35,824 Shares of Amazon.com, Inc. (NASDAQ:AMZN)

 * NASDAQ:AMZNToday, 2:09 AM - marketbeat.com
   
   First Citizens Bank & Trust Co. Lowers Stock Holdings in Amazon.com, Inc.
   (NASDAQ:AMZN)

View All Notifications for Amazon.com
Apply Bulk Action to Alphabet Inc.

GOOGL
Alphabet$178.12
+$2.82 (1.61%)23.621.03$0.80 per sh.Moderate Buy
2.93$205.9015.59% Upside
View notifications for this stock9+
AlphabetMark as Read

 * NASDAQ:GOOGLToday, 4:22 PM - businessinsider.com
   
   Google's antitrust loss could cost Apple billions of dollars

 * NASDAQ:GOOGLToday, 2:51 PM - marketbeat.com
   
   Alphabet (NASDAQ:GOOGL) Trading Up 0% - Here's What Happened

 * NASDAQ:GOOGLToday, 1:17 PM - nypost.com
   
   Google Chrome browser could fetch $20B if judge orders sale: report

 * NASDAQ:GOOGLToday, 1:03 PM - benzinga.com
   
   Google's Parent Alphabet Shares Dip During Tuesday Pre-Market: What's Going
   On?

 * NASDAQ:GOOGLToday, 1:03 PM - bloomberg.com
   
   Break Up Google? What’s at Stake in Antitrust Action

 * NASDAQ:GOOGLToday, 1:01 PM - pymnts.com
   
   Google-Anthropic Partnership Gets UK Antitrust Regulator Approval

 * NASDAQ:GOOGLToday, 12:17 PM - proactiveinvestors.com
   
   Google slates ‘radical' DoJ over speculation of forced Chrome sale

 * NASDAQ:GOOGLToday, 9:02 AM - cnet.com
   
   Google May Be Asked to Sell Chrome Browser by DOJ

 * NASDAQ:GOOGLToday, 8:40 AM - wsj.com
   
   Google's $2 Billion Anthropic Investment Gets U.K. Antitrust Clearance

 * NASDAQ:GOOGLToday, 8:30 AM - marketbeat.com
   
   Why Alphabet Stock Dips Are the Perfect Time to Invest (GOOGL)

 * NASDAQ:GOOGLToday, 8:01 AM - msn.com
   
   Google’s Anthropic AI Investment Cleared by UK Antitrust Agency

 * NASDAQ:GOOGLToday, 8:01 AM - benzinga.com
   
   Google's Gemini Chatbot Draws Scrutiny After Hostile Interaction With User:
   Here's What The Search Giant Has To Say

 * NASDAQ:GOOGLToday, 7:40 AM - investopedia.com
   
   US DOJ Plans to Push Google to Sell Chrome, According to Reports

 * NASDAQ:GOOGLToday, 6:32 AM - techcrunch.com
   
   UK competition regulator clears Alphabet's investment in Anthropic

 * NASDAQ:GOOGLToday, 6:26 AM - barrons.com
   
   Google Faces Pressure to Sell Chrome. Why It Probably Won't Happen.

 * NASDAQ:GOOGLToday, 6:15 AM - reuters.com
   
   Alphabet's AI partnership with Anthropic no longer under UK scrutiny

 * NASDAQ:GOOGLToday, 6:08 AM - theguardian.com
   
   US justice department plans to push Google to sell off Chrome browser

 * NASDAQ:GOOGLToday, 6:04 AM - marketbeat.com
   
   Alphabet Q3 Earnings Transcript

 * NASDAQ:GOOGLToday, 5:20 AM - 247wallst.com
   
   Google Penalty May Be Chrome Spin-Off

 * NASDAQ:GOOGLToday, 3:00 AM - msn.com
   
   Department of Justice to Compel Google to Sell Chrome, Bloomberg Reports

View All Notifications for Alphabet
Apply Bulk Action to Meta Platforms, Inc.

META
Meta Platforms$561.09
+$6.69 (1.21%)26.431.22$2.00 per sh.Moderate Buy
2.86$634.1013.01% Upside
View notifications for this stock9+
Meta PlatformsMark as Read

 * NASDAQ:METAToday, 6:38 PM - marketbeat.com
   
   Insider Selling: Meta Platforms, Inc. (NASDAQ:META) COO Sells 620 Shares of
   Stock

 * NASDAQ:METAToday, 6:38 PM - marketbeat.com
   
   Meta Platforms, Inc. (NASDAQ:META) CAO Aaron Anderson Sells 731 Shares

 * NASDAQ:METAToday, 6:38 PM - marketbeat.com
   
   Meta Platforms, Inc. (NASDAQ:META) Insider Nicholas Clegg Sells 1,131 Shares

 * NASDAQ:METAToday, 6:38 PM - marketbeat.com
   
   Meta Platforms, Inc. (NASDAQ:META) COO Javier Olivan Sells 4,891 Shares

 * NASDAQ:METAToday, 6:38 PM - marketbeat.com
   
   Insider Selling: Meta Platforms, Inc. (NASDAQ:META) CTO Sells $2,918,698.12
   in Stock

 * NASDAQ:METAToday, 6:36 PM - marketbeat.com
   
   Insider Selling: Meta Platforms, Inc. (NASDAQ:META) Insider Sells 7,296
   Shares of Stock

 * NASDAQ:METAToday, 6:34 PM - marketbeat.com
   
   Meta Platforms, Inc. (NASDAQ:META) CFO Susan J. Li Sells 8,951 Shares

 * NASDAQ:METAToday, 6:34 PM - marketbeat.com
   
   Insider Selling: Meta Platforms, Inc. (NASDAQ:META) CTO Sells 14,746 Shares
   of Stock

 * NASDAQ:METAToday, 6:32 PM - marketbeat.com
   
   Susan J. Li Sells 18,644 Shares of Meta Platforms, Inc. (NASDAQ:META) Stock

 * NASDAQ:METAToday, 6:10 PM
   
   Meta Platforms, Inc. (NASDAQ:META - Get Free Report) COO Javier Olivan sold
   620 shares of the stock in a transaction that occurred on Monday, November
   18th. The stock was sold at an average price of $557.00, for a total value of
   $345,340.00. Following the transaction, the chief operating officer now
   directly owns 19,992 shares of the company's stock, valued at approximately
   $11,135,544. This trade represents a 3.01 % decrease in their ownership of
   the stock. The sale was disclosed in a filing with the SEC, which is
   available at the SEC website.

 * NASDAQ:METAToday, 6:10 PM
   
   Meta Platforms, Inc. (NASDAQ:META - Get Free Report) COO Javier Olivan sold
   4,891 shares of Meta Platforms stock in a transaction dated Friday, November
   15th. The stock was sold at an average price of $577.16, for a total value of
   $2,822,889.56. Following the completion of the sale, the chief operating
   officer now owns 15,593 shares of the company's stock, valued at
   approximately $8,999,655.88. The trade was a 23.88 % decrease in their
   ownership of the stock. The sale was disclosed in a document filed with the
   Securities & Exchange Commission, which is available at this hyperlink.

 * NASDAQ:METAToday, 6:10 PM
   
   Meta Platforms, Inc. (NASDAQ:META - Get Free Report) CAO Aaron Anderson sold
   731 shares of the firm's stock in a transaction on Monday, November 18th. The
   stock was sold at an average price of $557.00, for a total value of
   $407,167.00. Following the sale, the chief accounting officer now directly
   owns 3,414 shares in the company, valued at $1,901,598. The trade was a 17.64
   % decrease in their position. The sale was disclosed in a document filed with
   the SEC, which can be accessed through this hyperlink.

 * NASDAQ:METAToday, 6:09 PM
   
   Meta Platforms, Inc. (NASDAQ:META - Get Free Report) insider Nicholas Clegg
   sold 7,296 shares of the business's stock in a transaction on Monday,
   November 18th. The shares were sold at an average price of $553.48, for a
   total transaction of $4,038,190.08. The transaction was disclosed in a legal
   filing with the SEC, which is accessible through this link.

 * NASDAQ:METAToday, 6:09 PM
   
   Meta Platforms, Inc. (NASDAQ:META - Get Free Report) insider Nicholas Clegg
   sold 1,131 shares of the firm's stock in a transaction on Friday, November
   15th. The stock was sold at an average price of $577.16, for a total value of
   $652,767.96. Following the completion of the transaction, the insider now
   owns 1,229 shares in the company, valued at approximately $709,329.64. This
   trade represents a 47.92 % decrease in their ownership of the stock. The
   transaction was disclosed in a legal filing with the Securities & Exchange
   Commission, which is available at the SEC website.

 * NASDAQ:METAToday, 6:09 PM
   
   Meta Platforms, Inc. (NASDAQ:META - Get Free Report) CFO Susan J. Li sold
   18,644 shares of the firm's stock in a transaction dated Monday, November
   18th. The stock was sold at an average price of $553.55, for a total value of
   $10,320,386.20. Following the completion of the transaction, the chief
   financial officer now owns 46,769 shares of the company's stock, valued at
   approximately $25,888,979.95. This represents a 28.50 % decrease in their
   position. The sale was disclosed in a document filed with the Securities &
   Exchange Commission, which can be accessed through this hyperlink.

 * NASDAQ:METAToday, 6:09 PM
   
   Meta Platforms, Inc. (NASDAQ:META - Get Free Report) CFO Susan J. Li sold
   8,951 shares of the firm's stock in a transaction that occurred on Friday,
   November 15th. The stock was sold at an average price of $577.16, for a total
   transaction of $5,166,159.16. Following the sale, the chief financial officer
   now directly owns 51,591 shares in the company, valued at $29,776,261.56. The
   trade was a 14.78 % decrease in their position. The sale was disclosed in a
   document filed with the Securities & Exchange Commission, which is accessible
   through this hyperlink.

 * NASDAQ:METAToday, 6:08 PM
   
   Meta Platforms, Inc. (NASDAQ:META - Get Free Report) CTO Andrew Bosworth sold
   14,746 shares of the company's stock in a transaction on Monday, November
   18th. The stock was sold at an average price of $553.53, for a total value of
   $8,162,353.38. The transaction was disclosed in a document filed with the
   SEC, which can be accessed through the SEC website.

 * NASDAQ:METAToday, 6:07 PM
   
   Meta Platforms, Inc. (NASDAQ:META - Get Free Report) CTO Andrew Bosworth sold
   5,057 shares of Meta Platforms stock in a transaction on Friday, November
   15th. The shares were sold at an average price of $577.16, for a total value
   of $2,918,698.12. Following the transaction, the chief technology officer now
   owns 8,565 shares in the company, valued at $4,943,375.40. This trade
   represents a 37.12 % decrease in their ownership of the stock. The
   transaction was disclosed in a filing with the SEC, which is available
   through this link.

 * NASDAQ:METAToday, 2:33 PM - techcrunch.com
   
   Meta hires Salesforce's CEO of AI, Clara Shih, to lead new business AI group

 * NASDAQ:METAToday, 10:56 AM - finance.yahoo.com
   
   Meta Platforms (META) Sees AI Adoption Surge: Echoes of Facebook’s Early Days

View All Notifications for Meta Platforms
Apply Bulk Action to Microsoft Co.

MSFT
Microsoft$417.79
+$2.03 (0.49%)34.470.91$3.32 per sh.Moderate Buy
2.93$503.0320.40% Upside
View notifications for this stock9+
MicrosoftMark as Read

 * NASDAQ:MSFTToday, 8:36 PM - marketbeat.com
   
   Wedbush Reiterates "Outperform" Rating for Microsoft (NASDAQ:MSFT)

 * NASDAQ:MSFTToday, 8:35 PM
   
   Microsoft had its "outperform" rating reaffirmed by analysts at Wedbush. They
   now have a $550.00 price target on the stock. This represents a 31.6% upside
   from the current price of $417.79.
   RTT News

 * NASDAQ:MSFTToday, 7:07 PM - insidermonkey.com
   
   Jim Cramer Defends Microsoft (MSFT) Despite Stock Drop After Quarterly
   Results

 * NASDAQ:MSFTToday, 6:03 PM - gurufocus.com
   
   Microsoft's Azure Chips Promise AI Leap, Taking on Nvidia and AMD in Cloud
   Tech Race

 * NASDAQ:MSFTToday, 6:03 PM - gurufocus.com
   
   C3 AI and Microsoft Expand Partnership to Drive Enterprise AI Adoption

 * NASDAQ:MSFTToday, 6:03 PM - gurufocus.com
   
   C3.ai Stock Soars Over 24% on Microsoft Alliance News

 * NASDAQ:MSFTToday, 6:03 PM - gurufocus.com
   
   Microsoft Unveils Autonomous AI Agents in Copilot Studio for Business
   Automation

 * NASDAQ:MSFTToday, 3:31 PM - proactiveinvestors.com
   
   Microsoft's AI strategy positions it for significant market share as $10B
   revenue milestone approaches, analysts say

 * NASDAQ:MSFTToday, 2:51 PM - marketbeat.com
   
   Microsoft (NASDAQ:MSFT) Trading Down 0.6% - Here's What Happened

 * NASDAQ:MSFTToday, 2:09 PM - tipranks.com
   
   Microsoft says Windows 11 coming to Meta Quest 3, Quest 3S

 * NASDAQ:MSFTToday, 1:25 PM - pymnts.com
   
   Microsoft and C3 AI Expand Partnership to Promote Enterprise AI

 * NASDAQ:MSFTToday, 1:04 PM - investors.com
   
   C3.ai Jumps On Microsoft Cloud Partnership Targeting Enterprise Market

 * NASDAQ:MSFTToday, 1:01 PM - financialpost.com
   
   Quantexa Introduces AI-Powered Workload for Microsoft Fabric to Transform
   Data Quality and Usability Across the Enterprise

 * NASDAQ:MSFTToday, 1:01 PM - financialpost.com
   
   Yubico Announces Yubico Enrollment Suite for Microsoft Users, a Turnkey
   Passwordless Onboarding Experience

 * NASDAQ:MSFTToday, 1:01 PM - financialpost.com
   
   Snowflake and Microsoft Simplify AI App Development and Data Collaboration
   with Connector for Microsoft Power Platform and Microsoft Dynamics 365

 * NASDAQ:MSFTToday, 12:31 PM - globenewswire.com
   
   Huntress Launches Integration with Microsoft Defender for Business and is
   Recognized with Microsoft Verified Small and Medium Business (SMB) Solution
   Status

 * NASDAQ:MSFTToday, 12:10 PM - benzinga.com
   
   Microsoft's AI Agents Are Here To Work Hard — But Can They Lift MSFT Stock?

 * NASDAQ:MSFTToday, 12:00 PM - globenewswire.com
   
   Quantexa Introduces AI-Powered Workload for Microsoft Fabric to Transform
   Data Quality and Usability Across the Enterprise

 * NASDAQ:MSFTToday, 12:00 PM - globenewswire.com
   
   Blackpoint Cyber recognized with Microsoft Verified Small and Medium Business
   (SMB) solution status

 * NASDAQ:MSFTToday, 12:00 PM - globenewswire.com
   
   Striim offers a mirroring solution for SQL Server to Fabric at Microsoft
   Ignite

View All Notifications for Microsoft
No holding sizes have been added to this watchlist. Edit holdings and add the
number of units held in order to see watchlist totals.



Select a Bulk Action Delete These Holdings Enable Email Alerts for These
Holdings Disable Email Alerts for These Holdings Move Holdings to 'My Default
Watchlist' Move Holdings to a New Watchlist
Apply
Bulk Actions




PORTFOLIO PERFORMANCE

For statistics to be calculated for this portfolio, you must edit the details of
the holdings, adding the number of shares you own.


PORTFOLIO PERFORMANCE VIEW YOUR PORTFOLIO'S PERFORMANCE COMPARED TO AN INDEX
OVER TIME.

Compare Against  Dow Jones NASDAQ S&P 500 14 Days 30 Days 60 Days 90 Days
Year-to-Date 1 Year 3 Years 5 Years 10 Years
 







PORTFOLIO DIVIDENDS VIEW YOUR PORTFOLIO'S OVERALL DIVIDEND YIELD, THE TOTAL OF
ANNUAL DIVIDENDS YOU SHOULD RECEIVE EACH YEAR AND YOUR UPCOMING DIVIDEND
PAYMENTS.

My Dividend Yield
N/A
My Payout Ratio
N/A
My Average Dividend Growth
N/A
My Annual Dividend Payout
N/A

My Top Yielding Stocks Yield Microsoft (MSFT)0.79%Alphabet (GOOGL)0.45%Apple
(AAPL)0.44%Meta Platforms (META)0.36%Amazon.com (AMZN)0.10%

Upcoming Dividend Payments Date Microsoft (MSFT)12/12/2024Alphabet
(GOOGL)12/16/2024


PORTFOLIO INSIGHTS

For statistics to be calculated for this portfolio, you must edit the details of
the holdings, adding the number of shares you own.


ASSET ALLOCATION BY SECTOR VIEW THE ASSET ALLOCATION OF YOUR HOLDINGS BY SECTOR
VS. THE MARKETBEAT COMMUNITY'S ASSET ALLOCATION BY SECTOR.

MY PORTFOLIO



MARKETBEAT USERS

Other
Industrial Products
Financial Services
Auto/Tires/Trucks
Consumer Staples
Basic Materials
Business Services
Transportation
Consumer Discretionary
Cryptocurrency
ETF
Oils/Energy
Retail/Wholesale
Manual Asset
Medical
Finance
Computer and Technology


ASSET ALLOCATION BY ASSET CLASS VIEW THE ASSET ALLOCATION OF YOUR HOLDINGS BY
ASSET CLASS VS. THE MARKETBEAT COMMUNITY'S ASSET ALLOCATION BY ASSET CLASS.

MY PORTFOLIO



MARKETBEAT USERS

Cryptocurrency
ETF
Manual Assets
Stock


LARGEST HOLDINGS VIEW THE LARGEST INVESTMENT HOLDINGS INSIDE YOUR PORTFOLIO.

Holding % of Portfolio Apple (AAPL)-Amazon.com (AMZN)-Alphabet (GOOGL)-Meta
Platforms (META)-Microsoft (MSFT)-


MARKETBEAT USERS' LARGEST HOLDINGS VIEW THE LARGEST HOLDINGS OF AVERAGE
MARKETBEAT USERS.

Holding % of Portfolio Apple (AAPL)5.74%Microsoft (MSFT)3.97%Meta Platforms
(META)2.51%Amazon.com (AMZN)1.66%NVIDIA (NVDA)1.62%Tesla (TSLA)1.31%General
Electric (GE)1.29%Alphabet (GOOGL)1.05%Advanced Micro Devices (AMD)1.05%Netflix
(NFLX)0.71%


PORTFOLIO P/E RATIO VIEW YOUR PORTFOLIO'S PRICE-TO-EARNINGS RATIO, WHICH IS A
MEASURE OF THE COMPANY'S SHARE PRICE RELATIVE TO ITS EARNINGS PER SHARE.

MY PORTFOLIO P/E: N/A

My Highest P/E Stocks P/E Ratio Amazon.com (AMZN)43.81Apple (AAPL)37.55Microsoft
(MSFT)34.47Meta Platforms (META)26.43Alphabet (GOOGL)23.62

My Lowest P/E Stocks P/E Ratio Alphabet (GOOGL)23.62Meta Platforms
(META)26.43Microsoft (MSFT)34.47Apple (AAPL)37.55Amazon.com (AMZN)43.81


PORTFOLIO VOLATILITY (BETA) VIEW YOUR PORTFOLIO'S BETA, WHICH IS A MEASUREMENT
OF HOW CLOSELY CORRELATED THE VOLATILITY OF YOUR HOLDINGS ARE TO THE BROADER
MARKET.

MY BETA: N/A

Most Volatile Stocks In Portfolio: Beta Apple (AAPL)1.24Meta Platforms
(META)1.22Amazon.com (AMZN)1.14Alphabet (GOOGL)1.03Microsoft (MSFT)0.91

Least Volatile Stocks In Portfolio: Beta Microsoft (MSFT)0.91Alphabet
(GOOGL)1.03Amazon.com (AMZN)1.14Meta Platforms (META)1.22Apple (AAPL)1.24


AVERAGE MARKET CAP VIEW YOUR PORTFOLIO'S MARKET CAP ALLOCATION VS OTHER USERS'
MARKET CAP ALLOCATIONS.

MY AVERAGE MARKET CAP: $2.46 TRILLION

My Average Market Cap
▼
$2.46 trillion

$591.20 billion
▲
Average MarketBeat
User Market Cap

Highest Market Cap Stocks In Portfolio: Market Cap Apple (AAPL) $3.45
trillionMicrosoft (MSFT) $3.11 trillionAlphabet (GOOGL) $2.18 trillionAmazon.com
(AMZN) $2.15 trillionMeta Platforms (META) $1.42 trillion

Lowest Market Cap Stocks In Portfolio: Market Cap Meta Platforms (META)$1.42
trillionAmazon.com (AMZN)$2.15 trillionAlphabet (GOOGL)$2.18 trillionMicrosoft
(MSFT)$3.11 trillionApple (AAPL)$3.45 trillion


FORECASTED EARNINGS GROWTH VIEW YOUR PORTFOLIO'S FORECASTED EARNINGS GROWTH VS
OTHER USERS' FORECASTED EARNINGS GROWTH.

MY FORECASTED EARNINGS GROWTH: 13.53%

My Average Forecasted
Earnings Growth
▼
13.53%

21.24%
▲
Average MarketBeat User
Forecasted Earnings Growth

Highest Forecasted Earnings Growth In Portfolio: Forecasted Earnings Growth
Amazon.com (AMZN)17.65%Microsoft (MSFT)14.37%Apple (AAPL)12.79%Alphabet
(GOOGL)11.51%Meta Platforms (META)11.32%

Lowest Forecasted Earnings Growth In Portfolio: Forecasted Earnings Growth Meta
Platforms (META)11.32%Alphabet (GOOGL)11.51%Apple (AAPL)12.79%Microsoft
(MSFT)14.37%Amazon.com (AMZN)17.65%


PORTFOLIO STATISTICS




MY HEADLINES




MY CALENDAR

This page is loading your portfolio's calendar. Please wait…


MY RATINGS

This page is loading your portfolio's ratings. Please wait…


MY INSIDER TRADES

This page is loading your portfolio's insider trades. Please wait…


MY EARNINGS

This page is loading your portfolio's earnings announcements. Please wait…


MY SEC FILINGS

This page is loading your portfolio's SEC Filings. Please wait…


SOCIAL MENTIONS


PORTFOLIO MEDIA MENTIONS




RECENT STOCKTWITS MENTIONS




MY NEWSLETTER

MarketBeat Daily (Free) Earnings360 Newsletter Insider Trades Newsletter
Dividend Stocks Newsletter MarketBeat CryptoBeat MarketBeat Daily Canada The
Early Bird The Night Owl Newsletter
Loading your newsletter…


MY PORTFOLIO IDEAS

These stock suggestions are generated by identifying the holdings that are most
frequently included with other MarketBeat user's watchlists that contain similar
holdings to your watchlist(s), but are not yet included in your watchlist.
Remember that these stock suggestions are just ideas. Never purchase a stock or
any other security without doing your own independent research and consulting a
qualified financial professional.

This page is loading your portfolio ideas. Please wait…


MY MARKETRANK

Get an overview of the strength of your portfolio by reviewing the MarketRank™
of each of your stock holdings. Learn more about MarketRank on our Top
MarketRank Stocks page.

This page is loading your MarketRank™ data. Please wait…


You have reached the limit of five stocks on your watchlist with your free
subscription. In order to add more stocks to your watchlist, delete one of your
existing stocks or Upgrade to MarketBeat All Access.

Export Portfolio(s) (CSV/Excel)

Get 30 Days of MarketBeat All Access for Free

Sign up for MarketBeat All Access to gain access to MarketBeat's full suite of
research tools.

Start Your 30-Day Trial


MARKETBEAT ALL ACCESS FEATURES


BEST-IN-CLASS PORTFOLIO MONITORING

 * Get personalized stock ideas.
 * Compare portfolio to indices.
 * Check stock news, ratings, SEC filings, and more.


STOCK IDEAS AND RECOMMENDATIONS

 * See daily stock ideas from top analysts.
 * Receive short-term trading ideas from MarketBeat.
 * Identify trending stocks on social media.


ADVANCED STOCK SCREENERS AND RESEARCH TOOLS

 * Use our seven stock screeners to find suitable stocks.
 * Stay informed with MarketBeat's real-time news.
 * Export data to Excel for personal analysis.

Get Started
Get Started with MarketBeat —

Read Your Daily NewsletterCheck Out My MarketBeatWatch Our Tutorial VideosAdd a
Stock to Your WatchlistSet Up an Instant AlertView a Company's Profile PageView
Our Financial CalendarsView Today's Analyst Ratings


Sign in to your free account to enjoy these benefits
 * In-depth profiles and analysis for 20,000 public companies.
 * Real-time analyst ratings, insider transactions, earnings data, and more.
 * Our daily ratings and market update email newsletter.

Sign in to your free account to enjoy all that MarketBeat has to offer.
 * Sign In
 * Create Account
 * 

Your Email Address:
Email Address Required
Your Password:
Password Required
Log In


--------------------------------------------------------------------------------

or
Sign in with Facebook Sign in with Google
Forgot your password?
Your Email Address:
Please enter your email address.
Please enter a valid email address
Choose a Password:
Please enter your password.
Your password must be at least 8 characters long and contain at least 1 number,
1 letter, and 1 special character.
Create My Account (Free)



--------------------------------------------------------------------------------

or
Sign in with Facebook Sign in with Google
By creating a free account, you agree to our terms of service. This site is
protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Featured By


Empowering Individual Investors

345 N Reid Place, Suite 620, Sioux Falls, SD 57103
contact@marketbeat.com
(844) 978-6257

 * Twitter
 * Facebook
 * YouTube
 * LinkedIn


ABOUT MARKETBEAT

 * About
 * Editorial Guidelines
 * Authors
 * Press Room
 * Careers
 * Contact
 * FAQ
 * Help


MARKETBEAT PRODUCTS

 * Compare Products
 * MarketBeat All Access
 * Customer Reviews
 * MarketBeat Daily Ratings
 * MarketBeat Daily Canada
 * MarketBeat CryptoBeat
 * MarketBeat Mobile App


POPULAR TOOLS

 * Stock Lists
 * Compare Stocks
 * Dividend Calculator
 * My MarketBeat
 * Stock Screener


FINANCIAL CALENDARS

 * Analyst Ratings
 * Dividends
 * Earnings
 * Insider Trades
 * Stock Market Holidays


TERMS & INFO

 * Advertising
 * Accessibility Statement
 * Do Not Sell My Information
 * Privacy Policy
 * RSS Feeds
 * Terms of Service
 * Sitemap

© MarketBeat Media, LLC 2010-2024. All rights reserved.

© 2024 Market data provided is at least 10-minutes delayed and hosted by
Barchart Solutions. Information is provided 'as-is' and solely for informational
purposes, not for trading purposes or advice, and is delayed. To see all
exchange delays and terms of use please see Barchart's disclaimer.





My Account - verdacht@safeonweb.be

 * My MarketBeat
 * My Newsletter
 * My Alerts
 * My Subscriptions
 * My Account Settings
 * My Payment Settings
 * Log Out


×






My favorite credit card just increased its sign-up bonus (ad)Tired of getting
average credit card rewards? This credit card just increased its sign-up bonus
to 75,000 bonus points to new members.Learn more here.