JS CHECK: all inline scripts blocked. Open console (F12) for errors; check LiteSpeed JS settings + any CSP/Cloudflare Rocket Loader. JS CHECK: booter did not run or payload missing. Check console (F12).
What We Do
This Is ES Sport.
From grassroots to elite sport, put your brand at the heart of the moments that matter.
Open now
Sponsorship Opportunities.
Rights packages we represent today. Each one comes with a clear audience, clear assets and a team that activates as well as it sells.
All
Communities
Youth
People of Determination
Women in Sport
No opportunities match that audience yet. Get in touch and we will build something.
National & Proud
Proud To Be… UAE.
Our UAE portfolio gives businesses the opportunity to align with government, organisations and programmes that are contributing to the country’s sporting landscape, supporting national ambition and creating opportunities for people across the Emirates.
←
→
Mass Participation & Volume
Mass Participation… Hit The Road.
Thousands of competitors. Tens of thousands of spectators. One shared passion for movement, challenge and achievement. Our mass-participation events give brands the opportunity to become part of the participant journey, not simply visible around the course.
←
→
Fitness & Community
UAE Fitness & Community.
There is something special about people coming together through sport: to compete, improve, connect and have fun. Our fitness and community properties give brands access to audiences who are actively choosing healthier, more social and more active lifestyles.
←
→
01 01 Strategy
Best fit first. We start with understanding your audience and objectives, then find the right sport and property.
02 02 Rights
Direct relationships with rights holders, federations and event owners mean better access, stronger terms and better commercial value.
03 03 Activation
The part your customers actually see. Fan zones, hospitality, content and on the ground delivery, run by the team that lives at these events.
04 04 Measurement
Exposure, engagement and commercial outcomes, tracked and reported in plain numbers, so you can see exactly what your sponsorship delivered.
Our approach
Don’t Just Sponsor.Participate.
The best partnerships don’t feel like advertising. They feel like something people want to be part of.
We work with partners to understand their objectives, audiences and values before creating activation that delivers genuine engagement and measurable return.
Sometimes that means reaching thousands.
Sometimes it means creating an experience for fifty.
Sometimes it means giving one young athlete an opportunity that changes their journey.
For the brand. For the sport. For the people. For the UAE.
Talk Sponsorship
Proof
Our Record.
Delivering partnerships that pack a punch since 2018.
←
→
2019
Delivered
ICC Cricket World Cup Regional sponsorship, Golootlo
Delivered
La Liga Virtual LED District One, MENA exposure
Delivered
ADIB ICC Academy Naming Rights ICC Academy Oval, Dubai
2023
Delivered
AFC Asian Cup and Champions League Sponsorship agency of AFG
Delivered
Asics x Dubai Marathon Title partnership, Dubai Marathon
×
Enquire
Tell Us What You Are Planning.
We’ll get back to you within one working day.
IWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVzLXBhZ2UiKTtlJiZlLmNsYXNzTGlzdC5hZGQoImpzIiksZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHQ9bnVsbDt0cnl7dD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbSgiZXNUaGVtZSIpfWNhdGNoKEkpe30ibGlnaHQiPT09dHx8ImRhcmsiPT09dD9lLnNldEF0dHJpYnV0ZSgiZGF0YS10aGVtZSIsdCk6d2luZG93Lm1hdGNoTWVkaWEmJndpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGxpZ2h0KSIpLm1hdGNoZXMmJmUuc2V0QXR0cmlidXRlKCJkYXRhLXRoZW1lIiwibGlnaHQiKTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGhlbWVCdG4iKSxhPXdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVzO2Z1bmN0aW9uIG8odCl7ZS5zZXRBdHRyaWJ1dGUoImRhdGEtdGhlbWUiLHQpO3RyeXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgiZXNUaGVtZSIsdCl9Y2F0Y2goSSl7fX1uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbigpe3ZhciB0PSJsaWdodCI9PT1lLmdldEF0dHJpYnV0ZSgiZGF0YS10aGVtZSIpPyJkYXJrIjoibGlnaHQiO2lmKG4uY2xhc3NMaXN0LmFkZCgic3BpbiIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLmNsYXNzTGlzdC5yZW1vdmUoInNwaW4iKX0sNTIwKSwhYSYmZG9jdW1lbnQuc3RhcnRWaWV3VHJhbnNpdGlvbil7dmFyIGk9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPWkubGVmdCtpLndpZHRoLzIsYz1pLnRvcCtpLmhlaWdodC8yLHM9TWF0aC5oeXBvdChNYXRoLm1heChyLHdpbmRvdy5pbm5lcldpZHRoLXIpLE1hdGgubWF4KGMsd2luZG93LmlubmVySGVpZ2h0LWMpKTtkb2N1bWVudC5zdGFydFZpZXdUcmFuc2l0aW9uKGZ1bmN0aW9uKCl7byh0KX0pLnJlYWR5LnRoZW4oZnVuY3Rpb24oKXtlLmFuaW1hdGUoe2NsaXBQYXRoOlsiY2lyY2xlKDBweCBhdCAiK3IrInB4ICIrYysicHgpIiwiY2lyY2xlKCIrcysicHggYXQgIityKyJweCAiK2MrInB4KSJdfSx7ZHVyYXRpb246NjIwLGVhc2luZzoiY3ViaWMtYmV6aWVyKC40LDAsLjIsMSkiLHBzZXVkb0VsZW1lbnQ6Ijo6dmlldy10cmFuc2l0aW9uLW5ldyhyb290KSJ9KX0pLmNhdGNoKGZ1bmN0aW9uKCl7fSl9ZWxzZSFmdW5jdGlvbih0KXtlLmNsYXNzTGlzdC5hZGQoInRoZW1pbmciKSxvKHQpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtlLmNsYXNzTGlzdC5yZW1vdmUoInRoZW1pbmciKX0sNTYwKX0odCl9KTt2YXIgaT1mdW5jdGlvbigpe307IWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhlcm9UaXRsZSIpLHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLmhlcm8tcGlsbGFycyIpO2lmKGUmJnQmJiFhJiZlLmFuaW1hdGUpe3ZhciBuPTI0MCxvPWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49W10sYT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLmNoaWxkTm9kZXMpO2Z1bmN0aW9uIG8oZSxhKXtlLnNwbGl0KC8oXHMrKS8pLmZvckVhY2goZnVuY3Rpb24oZSl7aWYoZSlpZigvXlxzKyQvLnRlc3QoZSkpYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpKTtlbHNle3ZhciBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTtvLmNsYXNzTmFtZT0idyIsQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChlLGZ1bmN0aW9uKGUpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTt0LmNsYXNzTmFtZT0iYyIsdC50ZXh0Q29udGVudD1lLG8uYXBwZW5kQ2hpbGQodCksbi5wdXNoKHQpfSksYS5hcHBlbmRDaGlsZChvKSx0LnB1c2gobyl9fSl9cmV0dXJuIGUuaW5uZXJIVE1MPSIiLGEuZm9yRWFjaChmdW5jdGlvbih0KXtpZigzPT09dC5ub2RlVHlwZSlvKHQudGV4dENvbnRlbnQsZSk7ZWxzZXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQudGFnTmFtZS50b0xvd2VyQ2FzZSgpKTtuLmNsYXNzTmFtZT10LmNsYXNzTmFtZSxlLmFwcGVuZENoaWxkKG4pLG8odC50ZXh0Q29udGVudCxuKX19KSx7d29yZHM6dCxjaGFyczpufX0oZSkscj10LnF1ZXJ5U2VsZWN0b3JBbGwoImEiKTt0LmNsYXNzTGlzdC5hZGQoImxpZnQiKSxBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHIsZnVuY3Rpb24oZSl7ZS5zdHlsZS5vcGFjaXR5PSIwIn0pLGk9ZnVuY3Rpb24oKXtkb2N1bWVudC5mb250cyYmZG9jdW1lbnQuZm9udHMucmVhZHk/ZG9jdW1lbnQuZm9udHMucmVhZHkudGhlbihjKS5jYXRjaChjKTpjKCl9fWZ1bmN0aW9uIGMoKXt2YXIgYT1mdW5jdGlvbigpe3ZhciB0PWUucXVlcnlTZWxlY3RvcigiZW0iKTtpZighdClyZXR1cm4gbnVsbDt2YXIgbj10LnF1ZXJ5U2VsZWN0b3JBbGwoIi53Iik7aWYobi5sZW5ndGg8MilyZXR1cm4gbnVsbDtmb3IodmFyIGE9blswXS5xdWVyeVNlbGVjdG9yQWxsKCIuYyIpLG89blsxXS5xdWVyeVNlbGVjdG9yQWxsKCIuYyIpLGk9bnVsbCxyPW8ubGVuZ3RoLTE7cj49MDtyLS0paWYoInQiPT09b1tyXS50ZXh0Q29udGVudC50b0xvd2VyQ2FzZSgpKXtpPW9bcl07YnJlYWt9cmV0dXJuIGFbMF0mJmFbMV0mJmk/W2FbMF0sYVsxXSxpXTpudWxsfSgpO2lmKCFhfHxyLmxlbmd0aDwzKXJldHVybiBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKHIsZnVuY3Rpb24oZSl7ZS5zdHlsZS5vcGFjaXR5PSIifSksdm9pZCB0LmNsYXNzTGlzdC5yZW1vdmUoImxpZnQiKTtvLmNoYXJzLmZvckVhY2goZnVuY3Rpb24oZSx0KXtlLmFuaW1hdGUoW3t0cmFuc2Zvcm06InRyYW5zbGF0ZVkoNDZweCkiLG9wYWNpdHk6MH0se3RyYW5zZm9ybToidHJhbnNsYXRlWSgwKSIsb3BhY2l0eToxfV0se2R1cmF0aW9uOjg2MCxkZWxheToyNCp0LGVhc2luZzoiY3ViaWMtYmV6aWVyKC4xNiwxLC4zLDEpIixmaWxsOiJib3RoIn0pfSk7dmFyIGk9W107QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChyLGZ1bmN0aW9uKGUsdCl7dmFyIG49YVt0XS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aS5wdXNoKHtlbDplLGR4Om4ubGVmdC1vLmxlZnQsZHk6bi50b3Atby50b3B9KX0pO3ZhciBjPTExODAscz0wO2kuZm9yRWFjaChmdW5jdGlvbihlLHQpe3ZhciBvPTFlMyszODAqdDtzPU1hdGgubWF4KHMsbys1MCtjKTt2YXIgaT1nZXRDb21wdXRlZFN0eWxlKGFbdF0pLmNvbG9yO2FbdF0uYW5pbWF0ZShbe3RyYW5zZm9ybToic2NhbGUoMSkiLGNvbG9yOml9LHt0cmFuc2Zvcm06InNjYWxlKDEuMykiLGNvbG9yOiIjRUJCNDQ2IixvZmZzZXQ6LjMzLGVhc2luZzoiY3ViaWMtYmV6aWVyKC4yNSwuNDYsLjQ1LC45NCkifSx7dHJhbnNmb3JtOiJzY2FsZSgxKSIsY29sb3I6aSxlYXNpbmc6ImN1YmljLWJlemllciguMzQsMS41NiwuNjQsMSkifV0se2R1cmF0aW9uOjQ1MCxkZWxheTpvLGZpbGw6Im5vbmUifSk7dmFyIHI9InRyYW5zbGF0ZSgiK2UuZHgrInB4LCIrZS5keSsicHgpIHNjYWxlKDEuNCwxLjQpIjtlLmVsLmFuaW1hdGUoW3t0cmFuc2Zvcm06cixvcGFjaXR5OjAsb2Zmc2V0OjB9LHt0cmFuc2Zvcm06cixvcGFjaXR5OjEsb2Zmc2V0OjEzMC9jfSx7dHJhbnNmb3JtOnIsb3BhY2l0eToxLG9mZnNldDpuL2MsZWFzaW5nOiJjdWJpYy1iZXppZXIoLjU1LC4wODUsLjY4LC41MykifSx7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMHB4LDBweCkgc2NhbGUoMSwxKSIsb3BhY2l0eToxLG9mZnNldDo4ODAvYyxlYXNpbmc6ImVhc2Utb3V0In0se3RyYW5zZm9ybToidHJhbnNsYXRlKDBweCwwcHgpIHNjYWxlKDEsMC44NSkiLG9wYWNpdHk6MSxvZmZzZXQ6OTcwL2MsZWFzaW5nOiJlYXNlLW91dCJ9LHt0cmFuc2Zvcm06InRyYW5zbGF0ZSgwcHgsMHB4KSBzY2FsZSgxLDEpIixvcGFjaXR5OjEsb2Zmc2V0OjF9XSx7ZHVyYXRpb246YyxkZWxheTpvKzUwLGZpbGw6ImJvdGgifSl9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7QXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChyLGZ1bmN0aW9uKGUpe2UuZ2V0QW5pbWF0aW9ucygpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5jYW5jZWwoKX0pLGUuc3R5bGUub3BhY2l0eT0iIixlLnN0eWxlLnRyYW5zZm9ybT0iIn0pLHQuY2xhc3NMaXN0LnJlbW92ZSgibGlmdCIpfSxzKzQwKX19KCk7dmFyIHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVzTG9hZGVyIiksYz1kb2N1bWVudC5ib2R5LHM9ITA7dHJ5e3M9ITB9Y2F0Y2goSSl7fWZ1bmN0aW9uIGwoKXtyLmNsYXNzTGlzdC5hZGQoImlzLW91dCIpLGMuY2xhc3NMaXN0LnJlbW92ZSgiZXNsLWxvY2siKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5oaWRkZW49ITB9LDcwMCk7dHJ5e3Nlc3Npb25TdG9yYWdlLnNldEl0ZW0oImVzU2VlbkxvYWRlciIsIjEiKX1jYXRjaChJKXt9c2V0VGltZW91dChpLDMwMCl9cz8oci5oaWRkZW49ITAsYy5jbGFzc0xpc3QucmVtb3ZlKCJlc2wtbG9jayIpLHNldFRpbWVvdXQoaSwyNjApKTooc2V0VGltZW91dChsLDIwNTApLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGwpKSxkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuY2FyLWJ0biIpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZChlLmRhdGFzZXQudGFyZ2V0KTtpZih0KXt2YXIgbj10LnF1ZXJ5U2VsZWN0b3IoIjpzY29wZSA+IDpub3QoLmlzLWZpbHRlcmVkKSIpfHx0LmZpcnN0RWxlbWVudENoaWxkLGE9cGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHQpLmNvbHVtbkdhcCl8fDQsbz1uP24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgrYTouOCp0LmNsaWVudFdpZHRoO3Quc2Nyb2xsQnkoe2xlZnQ6byorZS5kYXRhc2V0LmRpcixiZWhhdmlvcjoic21vb3RoIn0pfX0pfSk7dmFyIGQsdSxmLG09ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJmaU1vZGFsIiksaD1tLnF1ZXJ5U2VsZWN0b3IoIi5yZmktZGxnIikscD1udWxsLHk9bnVsbCx2PTA7ZnVuY3Rpb24gZygpe2lmKCEodisrPjApKXt2YXIgZT13aW5kb3cuaW5uZXJXaWR0aC1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ZT4wJiYoZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQ9ZSsicHgiKSxkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4ifX1mdW5jdGlvbiBFKCl7KHY9TWF0aC5tYXgoMCx2LTEpKT4wfHwoZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdz0iIixkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodD0iIil9ZnVuY3Rpb24gYigpe20uaGlkZGVufHwobS5jbGFzc0xpc3QucmVtb3ZlKCJpcy1vcGVuIiksbS5jbGFzc0xpc3QuYWRkKCJpcy1jbG9zaW5nIiksY2xlYXJUaW1lb3V0KHkpLHk9c2V0VGltZW91dChmdW5jdGlvbigpe20uaGlkZGVuPSEwLG0uY2xhc3NMaXN0LnJlbW92ZSgiaXMtY2xvc2luZyIpLEUoKSxwJiZwLmZvY3VzJiZwLmZvY3VzKCkscD1udWxsfSxhPzA6MjQwKSl9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtb3Blbi1yZmldIikuZm9yRWFjaChmdW5jdGlvbihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCk7dmFyIG4sbz1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF2UGFuZWwiKTtpZihvJiYhby5oaWRkZW4pe28uY2xhc3NMaXN0LnJlbW92ZSgiaXMtb3BlbiIpLG8uY2xhc3NMaXN0LmFkZCgiaXMtY2xvc2luZyIpO3ZhciBpPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJuYXZCdXJnZXIiKTtpJiYoaS5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLGkuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiT3BlbiBtZW51IikpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtvLmhpZGRlbj0hMCxvLmNsYXNzTGlzdC5yZW1vdmUoImlzLWNsb3NpbmciKSxFKCl9LGE/MDoyNjApfW49ZSxjbGVhclRpbWVvdXQoeSkscD1ufHxudWxsLG0uY2xhc3NMaXN0LnJlbW92ZSgiaXMtY2xvc2luZyIpLG0uaGlkZGVuPSExLGcoKSxtLm9mZnNldFdpZHRoLG0uY2xhc3NMaXN0LmFkZCgiaXMtb3BlbiIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZi1maXJzdCIpO2lmKGUpdHJ5e2UuZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KX1jYXRjaChJKXtlLmZvY3VzKCl9fSxhPzA6MjYwKX0pfSksZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiW2RhdGEtY2xvc2UtcmZpXSIpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtiKCl9KX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGUpeyJFc2NhcGUiIT09ZS5rZXl8fG0uaGlkZGVufHxiKCl9KSxtLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGUpe2lmKCJUYWIiPT09ZS5rZXkpe2Zvcih2YXIgdD1oLnF1ZXJ5U2VsZWN0b3JBbGwoImFbaHJlZl0sIGJ1dHRvbjpub3QoW2Rpc2FibGVkXSksIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhIiksbj1bXSxhPTA7YTx0Lmxlbmd0aDthKyspbnVsbCE9PXRbYV0ub2Zmc2V0UGFyZW50JiZuLnB1c2godFthXSk7aWYobi5sZW5ndGgpe3ZhciBvPW5bMF0saT1uW24ubGVuZ3RoLTFdO2Uuc2hpZnRLZXkmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1vPyhlLnByZXZlbnREZWZhdWx0KCksaS5mb2N1cygpKTplLnNoaWZ0S2V5fHxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09aXx8KGUucHJldmVudERlZmF1bHQoKSxvLmZvY3VzKCkpfX19KSxkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmZpIikuYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IixmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9ZS50YXJnZXQ7aWYodC5jaGVja1ZhbGlkaXR5KCkpe3ZhciBuPXQuZGF0YXNldC5lbmRwb2ludCxhPWZ1bmN0aW9uKCl7ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNlbnQiKS5jbGFzc0xpc3QuYWRkKCJvbiIpfTtuP2ZldGNoKG4se21ldGhvZDoiUE9TVCIsYm9keTpuZXcgRm9ybURhdGEodCl9KS50aGVuKGEpLmNhdGNoKGEpOmEoKX1lbHNlIHQucmVwb3J0VmFsaWRpdHkoKX0pLGQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmF1ZC1maWx0ZXIgLmZjaGlwIiksdT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIub3BwLXJvdyIpLGY9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImF1ZEVtcHR5IiksZC5sZW5ndGgmJnUubGVuZ3RoJiZkLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXt2YXIgdCxuO2QuZm9yRWFjaChmdW5jdGlvbih0KXt0LnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIixTdHJpbmcodD09PWUpKX0pLHQ9ZS5kYXRhc2V0LmF1ZCxuPTAsdS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBvPWUucXVlcnlTZWxlY3RvcigiLm9wcC10cmFjayIpLGk9MDtlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5vY2FyZCIpLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIG49KGUuZGF0YXNldC5hdWR8fCIiKS5zcGxpdCgvXHMrLyksYT0iYWxsIj09PXR8fC0xIT09bi5pbmRleE9mKHQpO2UuY2xhc3NMaXN0LnRvZ2dsZSgiaXMtZmlsdGVyZWQiLCFhKSxhJiZpKyt9KSxlLmNsYXNzTGlzdC50b2dnbGUoImlzLWVtcHR5IiwwPT09aSksbyYmby5zY3JvbGxUbyh7bGVmdDowLGJlaGF2aW9yOmE/ImF1dG8iOiJzbW9vdGgifSksbis9aX0pLGYmJihmLmhpZGRlbj1uPjApfSl9KTt2YXIgTD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF2QnVyZ2VyIikseD1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF2UGFuZWwiKSx3PW51bGw7ZnVuY3Rpb24gQSgpe3guaGlkZGVufHwoeC5jbGFzc0xpc3QucmVtb3ZlKCJpcy1vcGVuIikseC5jbGFzc0xpc3QuYWRkKCJpcy1jbG9zaW5nIiksTC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLEwuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwiT3BlbiBtZW51IiksY2xlYXJUaW1lb3V0KHcpLHc9c2V0VGltZW91dChmdW5jdGlvbigpe3guaGlkZGVuPSEwLHguY2xhc3NMaXN0LnJlbW92ZSgiaXMtY2xvc2luZyIpLEUoKX0sYT8wOjI2MCkpfUwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGZ1bmN0aW9uKCl7eC5oaWRkZW4/KGNsZWFyVGltZW91dCh3KSx4LmNsYXNzTGlzdC5yZW1vdmUoImlzLWNsb3NpbmciKSx4LmhpZGRlbj0hMSxnKCkseC5vZmZzZXRXaWR0aCx4LmNsYXNzTGlzdC5hZGQoImlzLW9wZW4iKSxMLnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsInRydWUiKSxMLnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIkNsb3NlIG1lbnUiKSk6QSgpfSkseC5xdWVyeVNlbGVjdG9yQWxsKCJbZGF0YS1jbG9zZS1tZW51XSIpLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZnVuY3Rpb24oKXtBKCl9KX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGZ1bmN0aW9uKGUpeyJFc2NhcGUiIT09ZS5rZXl8fHguaGlkZGVufHwoQSgpLEwuZm9jdXMoKSl9KTt2YXIgUz13aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogMTAwMXB4KSIpLFQ9ZnVuY3Rpb24oZSl7ZS5tYXRjaGVzJiZBKCl9O1MuYWRkRXZlbnRMaXN0ZW5lcj9TLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsVCk6Uy5hZGRMaXN0ZW5lciYmUy5hZGRMaXN0ZW5lcihUKTt2YXIgQj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibmF2Iik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZnVuY3Rpb24oKXtCLmNsYXNzTGlzdC50b2dnbGUoInNjcm9sbGVkIix3aW5kb3cuc2Nyb2xsWT42MCl9KTt2YXIgQz1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZSl7ZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuaXNJbnRlcnNlY3RpbmcmJihlLnRhcmdldC5jbGFzc0xpc3QuYWRkKCJ2IiksQy51bm9ic2VydmUoZS50YXJnZXQpKX0pfSx7dGhyZXNob2xkOi4wOH0pO2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5yLCAuc2VjdGlvbi1oZWFkZXIiKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe0Mub2JzZXJ2ZShlKX0pfSgpLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBlPXdpbmRvdy5tYXRjaE1lZGlhJiZ3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVzLHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVzeFRpdGxlIiksbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZXN4UGlsbGFycyIpO2lmKHQmJm4mJiFlJiZ0LmFuaW1hdGUpe3ZhciBhPTI0MCxvPWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZS5jaGlsZE5vZGVzKTtmdW5jdGlvbiBhKGUsbil7ZS5zcGxpdCgvKFxzKykvKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKGUpaWYoL15ccyskLy50ZXN0KGUpKW4uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKSk7ZWxzZXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7YS5jbGFzc05hbWU9InciLEFycmF5LnByb3RvdHlwZS5mb3JFYWNoLmNhbGwoZSxmdW5jdGlvbihlKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7bi5jbGFzc05hbWU9ImMiLG4udGV4dENvbnRlbnQ9ZSxhLmFwcGVuZENoaWxkKG4pLHQucHVzaChuKX0pLG4uYXBwZW5kQ2hpbGQoYSl9fSl9cmV0dXJuIGUuaW5uZXJIVE1MPSIiLG4uZm9yRWFjaChmdW5jdGlvbih0KXtpZigzPT09dC5ub2RlVHlwZSlhKHQudGV4dENvbnRlbnQsZSk7ZWxzZXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQudGFnTmFtZS50b0xvd2VyQ2FzZSgpKTtuLmNsYXNzTmFtZT10LmNsYXNzTmFtZSxlLmFwcGVuZENoaWxkKG4pLGEodC50ZXh0Q29udGVudCxuKX19KSx0fSh0KSxpPW4ucXVlcnlTZWxlY3RvcigiYSIpO24uY2xhc3NMaXN0LmFkZCgibGlmdCIpLGkmJihpLnN0eWxlLm9wYWNpdHk9IjAiKTt2YXIgcj0hMDt0cnl7cj0hMH1jYXRjaChzKXt9c2V0VGltZW91dChmdW5jdGlvbigpe2RvY3VtZW50LmZvbnRzJiZkb2N1bWVudC5mb250cy5yZWFkeT9kb2N1bWVudC5mb250cy5yZWFkeS50aGVuKGMpLmNhdGNoKGMpOmMoKX0scj8yNjA6MjM1MCl9ZnVuY3Rpb24gYygpe3ZhciBlPWZ1bmN0aW9uKCl7dmFyIGU9dC5xdWVyeVNlbGVjdG9yKCJlbSIpO2lmKCFlKXJldHVybiBudWxsO3ZhciBhPWUucXVlcnlTZWxlY3RvckFsbCgiLnciKTtpZighYS5sZW5ndGgpcmV0dXJuIG51bGw7dmFyIG89cGFyc2VJbnQobi5nZXRBdHRyaWJ1dGUoImRhdGEtc3JjLWluZGV4Iil8fCIwIiwxMCl8fDAsaT1hWzBdLnF1ZXJ5U2VsZWN0b3JBbGwoIi5jIik7cmV0dXJuIGlbb118fGlbMF18fG51bGx9KCk7aWYoIWV8fCFpKXJldHVybiBpJiYoaS5zdHlsZS5vcGFjaXR5PSIiKSx2b2lkIG4uY2xhc3NMaXN0LnJlbW92ZSgibGlmdCIpO28uZm9yRWFjaChmdW5jdGlvbihlLHQpe2UuYW5pbWF0ZShbe3RyYW5zZm9ybToidHJhbnNsYXRlWSg0NnB4KSIsb3BhY2l0eTowfSx7dHJhbnNmb3JtOiJ0cmFuc2xhdGVZKDApIixvcGFjaXR5OjF9XSx7ZHVyYXRpb246ODYwLGRlbGF5OjI0KnQsZWFzaW5nOiJjdWJpYy1iZXppZXIoLjE2LDEsLjMsMSkiLGZpbGw6ImJvdGgifSl9KTt2YXIgcj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGM9aS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzPU1hdGgubWluKDEuNCxNYXRoLm1heCguMixyLmhlaWdodC9jLmhlaWdodCoxLjE1KSksbD1yLmxlZnQtYy5sZWZ0LGQ9ci5ib3R0b20tYy5ib3R0b20sdT0xMTgwLGY9MWUzLG09Z2V0Q29tcHV0ZWRTdHlsZShlKS5jb2xvcjtlLmFuaW1hdGUoW3t0cmFuc2Zvcm06InNjYWxlKDEpIixjb2xvcjptfSx7dHJhbnNmb3JtOiJzY2FsZSgxLjMpIixjb2xvcjoiI0VCQjQ0NiIsb2Zmc2V0Oi4zMyxlYXNpbmc6ImN1YmljLWJlemllciguMjUsLjQ2LC40NSwuOTQpIn0se3RyYW5zZm9ybToic2NhbGUoMSkiLGNvbG9yOm0sZWFzaW5nOiJjdWJpYy1iZXppZXIoLjM0LDEuNTYsLjY0LDEpIn1dLHtkdXJhdGlvbjo0NTAsZGVsYXk6ZixmaWxsOiJub25lIn0pO3ZhciBoPSJ0cmFuc2xhdGUoIitsKyJweCwiK2QrInB4KSBzY2FsZSgiK3MrIiwiK3MrIikiO2kuYW5pbWF0ZShbe3RyYW5zZm9ybTpoLG9wYWNpdHk6MCxvZmZzZXQ6MH0se3RyYW5zZm9ybTpoLG9wYWNpdHk6MSxvZmZzZXQ6MTMwL3V9LHt0cmFuc2Zvcm06aCxvcGFjaXR5OjEsb2Zmc2V0OmEvdSxlYXNpbmc6ImN1YmljLWJlemllciguNTUsLjA4NSwuNjgsLjUzKSJ9LHt0cmFuc2Zvcm06InRyYW5zbGF0ZSgwcHgsMHB4KSBzY2FsZSgxLDEpIixvcGFjaXR5OjEsb2Zmc2V0Ojg4MC91LGVhc2luZzoiZWFzZS1vdXQifSx7dHJhbnNmb3JtOiJ0cmFuc2xhdGUoMHB4LDBweCkgc2NhbGUoMSwwLjg1KSIsb3BhY2l0eToxLG9mZnNldDo5NzAvdSxlYXNpbmc6ImVhc2Utb3V0In0se3RyYW5zZm9ybToidHJhbnNsYXRlKDBweCwwcHgpIHNjYWxlKDEsMSkiLG9wYWNpdHk6MSxvZmZzZXQ6MX1dLHtkdXJhdGlvbjp1LGRlbGF5OjEwNTAsZmlsbDoiYm90aCJ9KSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5nZXRBbmltYXRpb25zKCkuZm9yRWFjaChmdW5jdGlvbihlKXtlLmNhbmNlbCgpfSksaS5zdHlsZS5vcGFjaXR5PSIiLGkuc3R5bGUudHJhbnNmb3JtPSIiLG4uY2xhc3NMaXN0LnJlbW92ZSgibGlmdCIpfSwyMjcwKX19KCl9KCk7CjsoZnVuY3Rpb24oKXtkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCIudHJhY2ssLnpwLXNob3RzLC5jbXAtc2Nyb2xsIikuZm9yRWFjaChmdW5jdGlvbih0KXt0LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixmdW5jdGlvbihlKXtpZihNYXRoLmFicyhlLmRlbHRhWSk+TWF0aC5hYnMoZS5kZWx0YVgpKXtlLnByZXZlbnREZWZhdWx0KCk7d2luZG93LnNjcm9sbEJ5KDAsZS5kZWx0YVkpO319LHtwYXNzaXZlOmZhbHNlfSk7fSk7fSkoKTs7KGZ1bmN0aW9uKCl7dmFyIG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm5hdiIpO2lmKCFuKXJldHVybjt2YXIgZj1mdW5jdGlvbigpe24uY2xhc3NMaXN0LnRvZ2dsZSgic2Nyb2xsZWQiLHdpbmRvdy5zY3JvbGxZPjYwKX07ZigpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGYpO30pKCk7