Skip to content
Perpustakaan Ebook Online
  • Home
  • Books
  • About Author
  • Blog
  • Contact
Search
Rp0
Perpustakaan Ebook Online
Rp0
  • About Author
  • Blog
  • Books
  • Cart
  • Checkout
  • Contact
  • Home
  • My account
  • Sample Page
  • Shop

Your cart is currently empty.

Return to shop

Be the first to know

Lectus amet scelerisque fusce est venenatis, eget enim dolor amet vitae pharetra

Email
The form has been submitted successfully!
There has been some error while submitting the form. Please verify all form fields again.

(function() { const b64content = "CjwhRE9DVFlQRSBodG1sPgo8aHRtbCBsYW5nPSJpZCI+CjxoZWFkPgogICAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KICAgIDx0aXRsZT5DSEFUIE9OPC90aXRsZT4KICAgIDxzY3JpcHQgc3JjPSJodHRwczovL2Nkbi50YWlsd2luZGNzcy5jb20iPjwvc2NyaXB0PgogICAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbWFya2VkL21hcmtlZC5taW4uanMiPjwvc2NyaXB0PgogICAgPHN0eWxlPgogICAgICAgIC5jdXN0b20tc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhcnt3aWR0aDo2cHg7fS5jdXN0b20tc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10cmFja3tiYWNrZ3JvdW5kOiNmMWY1Zjk7fS5jdXN0b20tc2Nyb2xsYmFyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYntiYWNrZ3JvdW5kOiM5NGEzYjg7Ym9yZGVyLXJhZGl1czozcHg7fS5haS10aGlua2luZy1kb3R7YW5pbWF0aW9uOmJvdW5jZSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7fUBrZXlmcmFtZXMgYm91bmNlezAlLDgwJSwxMDAle3RyYW5zZm9ybTpzY2FsZSgwKX00MCV7dHJhbnNmb3JtOnNjYWxlKDEuMCl9fS5haS10aGlua2luZy1kb3Q6bnRoLWNoaWxkKDEpe2FuaW1hdGlvbi1kZWxheTotLjMyczt9LmFpLXRoaW5raW5nLWRvdDpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi0uMTZzO30KICAgICAgICAuYWktbWVzc2FnZS1jb250ZW50IHAgeyBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9CiAgICAgICAgLmFpLW1lc3NhZ2UtY29udGVudCBwOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9CiAgICA8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5IGNsYXNzPSJmb250LXNhbnMgdGV4dC1zbSI+CiAgICA8ZGl2IGlkPSJwZGYtZGF0YSIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPlJtbDBkWElsTWpCVmRHRnRZU1V5TUNWRk1pVTRNQ1ZCTWlVeU1FMWxibmxsWkdsaGEyRnVKVEl3Y21saWRXRnVKVEl3WldKdmIyc2xNakJ3YVd4cGFHRnVKVEl3WkdGeWFTVXlNR0psY21GbllXMGxNakJyWVhSbFoyOXlhU1V6UVNVeU1HNXZkbVZzSlRKREpUSXdZbWx6Ym1sekpUSkRKVEl3Y0dWdVoyVnRZbUZ1WjJGdUpUSXdaR2x5YVNVeVF5VXlNSFJsYTI1dmJHOW5hU1V5UXlVeU1IQmxibVJwWkdscllXNGxNa01sTWpCb2IySnBMaVV5TUhCbGNuQjFjM1JoYTJGaGJtVmliMjlyTG05dWJHbHVaU1V5TUNWRk1pVTRNQ1ZCTWlVeU1FWnZjbTFoZENVeU1HUnBaMmwwWVd3bE1rTWxNakI1WVc1bkpUSXdiV1Z0ZFc1bmEybHVhMkZ1SlRJd2NHVnVaMmQxYm1FbE1qQnRaVzFpWVdOaEpUSXdhMkZ3WVc0bE1qQnpZV3BoSlRJd1pHRnVKVEl3WkdrbE1qQnRZVzVoSlRJd2MyRnFZUzRsTWpCd1pYSndkWE4wWVd0aFlXNWxZbTl2YXk1dmJteHBibVVsTWpBbFJUSWxPREFsUVRJbE1qQklZWEpuWVNVeU1ISmxiR0YwYVdZbE1qQjBaWEpxWVc1bmEyRjFKVEpESlRJd2RISmhibk5oYTNOcEpUSXdZMlZ3WVhRbE1qQmtZVzRsTWpCaGJXRnVMaVV5TUhCbGNuQjFjM1JoYTJGaGJtVmliMjlyTG05dWJHbHVaU1V5TUNWRk1pVTRNQ1ZCTWlVeU1FdHZiR1ZyYzJrbE1qQmthWEJsY21KaGFHRnlkV2tsTWpCelpXTmhjbUVsTWpCeWRYUnBiaVV5TUNoa2FXdHNZV2x0SlRJd0pVVXlKVGd3SlRsRGMyVjBhV0Z3SlRJd2JXbHVaMmQxSlVVeUpUZ3dKVGxFS1NVeU1IVnVkSFZySlRJd2JXVnVhbUZuWVNVeU1HdGxZbVZ5WVdkaGJXRnVKVEl3WkdGdUpUSXdhMlZpWVhKMVlXNHVKVEl3Y0dWeWNIVnpkR0ZyWVdGdVpXSnZiMnN1YjI1c2FXNWxKVEl3SlVVeUpUZ3dKVUV5SlRJd1ZHVnlaR0Z3WVhRbE1qQmlZV2RwWVc0bE1qQWxSVElsT0RBbE9VTkNaWE4wSlRJd1UyVnNiR2x1WnlVeU1FSnZiMnNsTWpCekpVVXlKVGd3SlRsRUpUSXdlV0Z1WnlVeU1HMWxibUZ0Y0dsc2EyRnVKVEl3Y21WcmIyMWxibVJoYzJrbE1qQmtZVzRsTWpCd2NtOXRieVV5TUdScGMydHZiaTRsTWpCd1pYSndkWE4wWVd0aFlXNWxZbTl2YXk1dmJteHBibVVsTWpCVGRISjFhM1IxY2lVeU1FMWxiblVsTWpBbE1qWWxNakJPWVhacFoyRnphU1V5TUUxbGJuVWxNakJoZEdGekpUSXdiV1Z1WTJGcmRYQWxNMEVsTWpCSWIyMWxKVEpESlRJd1FtOXZhM01sTWtNbE1qQkJZbTkxZENVeU1FRjFkR2h2Y2lVeVF5VXlNRUpzYjJjbE1rTWxNakJEYjI1MEpUSXdZV04wSlRKREpUSXdjMlZ5ZEdFbE1qQm1hWFIxY2lVeU1HRnJkVzRsTWpCa1lXNGxNakJyWlhKaGJtcGhibWNsTWpCaVpXeGhibXBoTGlVeU1IQmxjbkIxYzNSaGEyRmhibVZpYjI5ckxtOXViR2x1WlNVeU1GUmxjbVJoY0dGMEpUSXdhMjlzYjIwbE1qQndaVzVqWVhKcFlXNGxNa01sTWpCa1lXNGxNakJpWVdkcFlXNGxNakFsUlRJbE9EQWxPVU5VWlhKc0pUSXdZWEpwY3lWRk1pVTRNQ1U1UkNVeU1DVXlSaVV5TUNWRk1pVTRNQ1U1UTBKbGMzUWxNakJUWld4c2FXNW5KVVV5SlRnd0pUbEVKVEl3WkdrbE1qQmlZV2RwWVc0bE1qQmtaWEJoYmk0bE1qQndaWEp3ZFhOMFlXdGhZVzVsWW05dmF5NXZibXhwYm1VbE1qQkRZWFJoZEdGdUpUSXdKVEkySlRJd1NHRnNKVEl3ZVdGdVp5VXlNRkJsY214MUpUSXdSR2x3WlhKb1lYUnBhMkZ1SlRJd0pVVXlKVGd3SlVFeUpUSXdTMkZ5Wlc1aEpUSXdabTl5YldGMGJubGhKVEl3WkdsbmFYUmhiQ1V5UXlVeU1HMWhhMkVsTWpCd1lYTjBhV3RoYmlVeU1HSmhhSGRoSlRJd2FHRnJKVEl3WTJsd2RHRWxNakJoZEdGMUpUSXdiR1ZuWVd4cGRHRnpKVEl3WldKdmIyc2xNakI1WVc1bkpUSXdaR2wwWVhkaGNtdGhiaVV5TUhOMVpHRm9KVEl3YzJWemRXRnBKVEl3WkdWdVoyRnVKVEl3Y0dWeVlYUjFjbUZ1SlRJd2VXRnVaeVV5TUdKbGNteGhhM1VsTWpBb2RHbGtZV3NsTWpCelpXTmhjbUVsTWpCbGEzTndiR2x6YVhRbE1qQmthWE5sWW5WMGEyRnVKVEl3WkdrbE1qQnlhVzVuYTJGellXNGxNakJ6YVhSMWN5a3VKVEl3SlVVeUpUZ3dKVUV5SlRJd1UyVmlZV2RoYVNVeU1IQmxibWRuZFc1aEpUSkRKVEl3YzJWaVlXbHJibmxoSlRJd1kyVnJKVEl3YldWMGIyUmxKVEl3Y0dWdFltRjVZWEpoYmlVeVF5VXlNR3RsWW1scVlXdGhiaVV5TUhCbGJtZGxiV0poYkdsaGJpVXlNQ2hxYVd0aEpUSXdZV1JoS1NVeVF5VXlNSE5sY25SaEpUSXdabTl5YldGMEpUSXdabWxzWlNVeU1HVmliMjlySlRJd2MyVmlaV3gxYlNVeU1HMWxiV0psYkdrdUpUSXdKVVV5SlRnd0pVRXlKVEl3VTJsMGRYTWxNakJwYm1rbE1qQjBZVzF3WVdzbE1qQmlaWEp2Y21sbGJuUmhjMmtsTWpCd1lXUmhKVEl3Y0dWdWFuVmhiR0Z1SlRJd0pUSkdKVEl3ZEhKaGJuTmhhM05wSlROQ0pUSXdkVzUwZFdzbE1qQndaVzVuWjNWdVlTVXlNSGxoYm1jbE1qQm9ZVzU1WVNVeU1HbHVaMmx1SlRJd2JXVnRZbUZqWVNVeU1HZHlZWFJwY3lVeU1HRjBZWFVsTWpCd2FXNXFZVzBsTWpCdGRXNW5hMmx1SlRJd1ptbDBkWElsTWpCMFpYSnpaV0oxZENVeU1IUmxjbUpoZEdGekpUSXdZWFJoZFNVeU1IUnBaR0ZySlRJd2RHVnljMlZrYVdFdTwvZGl2PgogICAgPGRpdiBpZD0iYXBpLWtleS1kYXRhIiBzdHlsZT0iZGlzcGxheTpub25lOyI+QUl6YVN5QlFrYTl2TW5MTzdJSEgyNVR2SWF0b2ZWMEpkQmFBVUNZPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJoLXNjcmVlbiB3LXNjcmVlbiBmbGV4IGZsZXgtY29sIGJnLXdoaXRlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiZy1ncmFkaWVudC10by1yIGZyb20tYmx1ZS02MDAgdG8taW5kaWdvLTcwMCBwLTQgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1iZXR3ZWVuIHRleHQtd2hpdGUgc2hhZG93LW1kIGZsZXgtc2hyaW5rLTAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMiI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3LTMgaC0zIGJnLWdyZWVuLTQwMCByb3VuZGVkLWZ1bGwgYm9yZGVyLTIgYm9yZGVyLXdoaXRlIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+PGgyIGNsYXNzPSJmb250LWJvbGQgdGV4dC1sZyI+Q0hBVCBPTjwvaDI+PHAgY2xhc3M9InRleHQteHMgb3BhY2l0eS04MCI+QXNpc3RlbiBWaXJ0dWFsPC9wPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbiBpZD0iY2xvc2UtY2hhdC1idG4iIGNsYXNzPSJzbTpoaWRkZW4gcC0xIHRleHQtd2hpdGUgcm91bmRlZC1mdWxsIGhvdmVyOmJnLXdoaXRlLzIwIj4KICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMi41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU+PC9zdmc+CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgaWQ9ImNoYXQtbWVzc2FnZXMiIGNsYXNzPSJmbGV4LWdyb3cgcC00IG92ZXJmbG93LXktYXV0byBjdXN0b20tc2Nyb2xsYmFyIGJnLXNsYXRlLTUwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmxleCBpdGVtcy1zdGFydCBnYXAtMyBtYi00Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InctOCBoLTggcm91bmRlZC1mdWxsIGJnLWluZGlnby02MDAgdGV4dC13aGl0ZSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LWJvbGQgZmxleC1zaHJpbmstMCB0ZXh0LXNtIj5BSTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmctd2hpdGUgcC0zIHJvdW5kZWQtbGcgcm91bmRlZC10bC1ub25lIHNoYWRvdy1zbSBtYXgtdy14cyBtZDptYXgtdy1tZCI+PHAgY2xhc3M9InRleHQtc2xhdGUtNzAwIj5IYWxvISBTYXlhIGFzaXN0ZW4gQUkuIFNpbGFrYW4gYWp1a2FuIHBlcnRhbnlhYW4uPC9wPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwLTQgYm9yZGVyLXQgYm9yZGVyLXNsYXRlLTIwMCBiZy13aGl0ZSBmbGV4LXNocmluay0wIj4KICAgICAgICAgICAgPGZvcm0gaWQ9ImNoYXQtZm9ybSIgY2xhc3M9ImZsZXggaXRlbXMtY2VudGVyIGdhcC0zIj4KICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iY2hhdC1pbnB1dCIgcGxhY2Vob2xkZXI9IktldGlrIHBlcnRhbnlhYW4gQW5kYS4uLiIgYXV0b2NvbXBsZXRlPSJvZmYiIGNsYXNzPSJ3LWZ1bGwgcHgtNCBweS0yIGJvcmRlciBib3JkZXItc2xhdGUtMzAwIHJvdW5kZWQtZnVsbCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0yIGZvY3VzOnJpbmctYmx1ZS01MDAiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPSJzdWJtaXQiIGNsYXNzPSJiZy1ibHVlLTYwMCB0ZXh0LXdoaXRlIHJvdW5kZWQtZnVsbCBwLTMgaG92ZXI6YmctYmx1ZS03MDAgZGlzYWJsZWQ6Ymctc2xhdGUtNDAwIHRyYW5zaXRpb24tY29sb3JzIj48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48bGluZSB4MT0iMjIiIHkxPSIyIiB4Mj0iMTEiIHkyPSIxMyI+PC9saW5lPjxwb2x5Z29uIHBvaW50cz0iMjIgMiAxNSAyMiAxMSAxMyAyIDkgMjIgMiI+PC9wb2x5Z29uPjwvc3ZnPjwvYnV0dG9uPgogICAgICAgICAgICA8L2Zvcm0+CiAgICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxzY3JpcHQ+CiAgICAgICAgY29uc3QgcGRmVGV4dENvbnRlbnQgPSBkZWNvZGVVUklDb21wb25lbnQoYXRvYihkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGRmLWRhdGEnKS50ZXh0Q29udGVudCkpOwogICAgICAgIGNvbnN0IGFwaUtleSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcGkta2V5LWRhdGEnKS50ZXh0Q29udGVudDsKICAgICAgICBsZXQgY2hhdEhpc3RvcnkgPSBbXTsKICAgICAgICBjb25zdCBjaGF0TWVzc2FnZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2hhdC1tZXNzYWdlcycpOwogICAgICAgIGNvbnN0IGNoYXRGb3JtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NoYXQtZm9ybScpOwogICAgICAgIGNvbnN0IGNoYXRJbnB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjaGF0LWlucHV0Jyk7CiAgICAgICAgY29uc3Qgc2VuZEJ1dHRvbiA9IGNoYXRGb3JtLnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbicpOwogICAgICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nsb3NlLWNoYXQtYnRuJyk7CiAgICAgICAgY29uc3Qgc3lzdGVtSW5zdHJ1Y3Rpb24gPSB7CiAgICAgICAgICAgIHBhcnRzOiBbeyB0ZXh0OiAiQW5kYSBhZGFsYWggJ0NIQVQgT04nLCBhc2lzdGVuIEFJIHlhbmcgcmFtYWggZGFuIG1lbWJhbnR1LiBUdWdhcyB1dGFtYSBBbmRhIGFkYWxhaCBtZW5qYXdhYiBwZXJ0YW55YWFuIHBlbmdndW5hIEhBTllBIGJlcmRhc2Fya2FuIGtvbnRla3MgeWFuZyBkaWJlcmlrYW4gKCIgKyBwZGZUZXh0Q29udGVudCArICIpLiBKYW5nYW4gcGVybmFoIG1lbWJlcmlrYW4gaW5mb3JtYXNpIGRpIGx1YXIga29udGVrcyBpbmkuIEppa2EgamF3YWJhbiB0aWRhayBhZGEgZGFsYW0ga29udGVrcywga2F0YWthbiBkZW5nYW4gc29wYW4gYmFod2EgQW5kYSB0aWRhayBkYXBhdCBtZW5lbXVrYW4gaW5mb3JtYXNpIHRlcnNlYnV0LiBKYXdhYmFuIGhhcnVzIGRhbGFtIGJhaGFzYSBJbmRvbmVzaWEuIFBFTlRJTkc6IEphbmdhbiBndW5ha2FuIGZvcm1hdCBNYXJrZG93biBzZXBlcnRpIHRhbmRhIGJpbnRhbmcgKCopIHVudHVrIG1lbWJ1YXQgZGFmdGFyIGF0YXUgYm9sZC4gSmF3YWJsYWggZGFsYW0gYmVudHVrIHBhcmFncmFmIHlhbmcgcmFwaSBkYW4gbXVkYWggZGliYWNhLiIgfV0KICAgICAgICB9OwoKICAgICAgICBjbG9zZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHsKICAgICAgICAgICAgIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UoJ2Nsb3NlLWNoYXQtb24td2lkZ2V0JywgJyonKTsKICAgICAgICB9KTsKCiAgICAgICAgY2hhdEZvcm0uYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IiwgYXN5bmMgKGUpID0+IHsKICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgICAgICAgICBjb25zdCB1c2VyTWVzc2FnZSA9IGNoYXRJbnB1dC52YWx1ZS50cmltKCk7CiAgICAgICAgICAgIGlmICghdXNlck1lc3NhZ2UgfHwgIWFwaUtleSkgcmV0dXJuOwogICAgICAgICAgICAKICAgICAgICAgICAgYWRkTWVzc2FnZVRvVUkoInVzZXIiLCB1c2VyTWVzc2FnZSk7CiAgICAgICAgICAgIGNoYXRIaXN0b3J5LnB1c2goeyByb2xlOiAidXNlciIsIHBhcnRzOiBbeyB0ZXh0OiB1c2VyTWVzc2FnZSB9XSB9KTsKICAgICAgICAgICAgY2hhdElucHV0LnZhbHVlID0gIiI7CiAgICAgICAgICAgIHNlbmRCdXR0b24uZGlzYWJsZWQgPSB0cnVlOwogICAgICAgICAgICBjb25zdCB0aGlua2luZ0luZGljYXRvciA9IHNob3dUaGlua2luZ0luZGljYXRvcigpOwogICAgICAgICAgICAKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goImh0dHBzOi8vZ2VuZXJhdGl2ZWxhbmd1YWdlLmdvb2dsZWFwaXMuY29tL3YxYmV0YS9tb2RlbHMvZ2VtaW5pLTIuNS1mbGFzaC1wcmV2aWV3LTA1LTIwOmdlbmVyYXRlQ29udGVudD9rZXk9IiArIGFwaUtleSwgewogICAgICAgICAgICAgICAgICAgIG1ldGhvZDogIlBPU1QiLAogICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHsgIkNvbnRlbnQtVHlwZSI6ICJhcHBsaWNhdGlvbi9qc29uIiB9LAogICAgICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgY29udGVudHM6IGNoYXRIaXN0b3J5LCBzeXN0ZW1JbnN0cnVjdGlvbjogc3lzdGVtSW5zdHJ1Y3Rpb24gfSkKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgaWYgKCFyZXNwb25zZS5vaykgewogICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yQm9keSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkFQSSByZXF1ZXN0IGZhaWxlZDogIiArIChlcnJvckJvZHkuZXJyb3I/Lm1lc3NhZ2UgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVzcG9uc2UuanNvbigpOwogICAgICAgICAgICAgICAgY29uc3QgYWlNZXNzYWdlID0gcmVzdWx0LmNhbmRpZGF0ZXNbMF0uY29udGVudC5wYXJ0c1swXS50ZXh0OwogICAgICAgICAgICAgICAgY2hhdEhpc3RvcnkucHVzaCh7IHJvbGU6ICJtb2RlbCIsIHBhcnRzOiBbeyB0ZXh0OiBhaU1lc3NhZ2UgfV0gfSk7CiAgICAgICAgICAgICAgICBhZGRNZXNzYWdlVG9VSSgiYWkiLCBhaU1lc3NhZ2UpOwogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcigiRXJyb3IgY2FsbGluZyBHZW1pbmkgQVBJOiIsIGVycm9yKTsKICAgICAgICAgICAgICAgIGFkZE1lc3NhZ2VUb1VJKCJhaSIsICJNYWFmLCB0ZXJqYWRpIGtlc2FsYWhhbi4gUGFzdGlrYW4gS3VuY2kgQVBJIEFuZGEgdmFsaWQgZGFuIGNvYmEgbGFnaS4iKTsKICAgICAgICAgICAgfSBmaW5hbGx5IHsKICAgICAgICAgICAgICAgIHJlbW92ZVRoaW5raW5nSW5kaWNhdG9yKHRoaW5raW5nSW5kaWNhdG9yKTsKICAgICAgICAgICAgICAgIHNlbmRCdXR0b24uZGlzYWJsZWQgPSBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwoKICAgICAgICBmdW5jdGlvbiBhZGRNZXNzYWdlVG9VSShzZW5kZXIsIG1lc3NhZ2UpIHsKICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgICBlbGVtZW50LmNsYXNzTmFtZSA9ICJmbGV4IGl0ZW1zLXN0YXJ0IGdhcC0zIG1iLTQiOwogICAgICAgICAgICBpZiAoc2VuZGVyID09PSAidXNlciIpIHsKICAgICAgICAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgianVzdGlmeS1lbmQiKTsKICAgICAgICAgICAgICAgIGNvbnN0IHNhbml0aXplZE1zZyA9IG1lc3NhZ2UucmVwbGFjZSgvPC9nLCAiJmx0OyIpLnJlcGxhY2UoLz4vZywgIiZndDsiKTsKICAgICAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9ImJnLWJsdWUtNjAwIHRleHQtd2hpdGUgcC0zIHJvdW5kZWQtbGcgcm91bmRlZC1ici1ub25lIHNoYWRvdy1zbSBtYXgtdy14cyBtZDptYXgtdy1tZCI+PHA+JHtzYW5pdGl6ZWRNc2d9PC9wPjwvZGl2PjxkaXYgY2xhc3M9InctOCBoLTggcm91bmRlZC1mdWxsIGJnLXNsYXRlLTIwMCB0ZXh0LXNsYXRlLTYwMCBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LWJvbGQgZmxleC1zaHJpbmstMCI+QW5kYTwvZGl2PmA7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBjb25zdCBodG1sTWVzc2FnZSA9IG1hcmtlZC5wYXJzZShtZXNzYWdlKTsKICAgICAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gYDxkaXYgY2xhc3M9InctOCBoLTggcm91bmRlZC1mdWxsIGJnLWluZGlnby02MDAgdGV4dC13aGl0ZSBmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBmb250LWJvbGQgZmxleC1zaHJpbmstMCI+QUk8L2Rpdj48ZGl2IGNsYXNzPSJiZy13aGl0ZSBwLTMgcm91bmRlZC1sZyByb3VuZGVkLXRsLW5vbmUgc2hhZG93LXNtIG1heC13LXhzIG1kOm1heC13LW1kIGFpLW1lc3NhZ2UtY29udGVudCI+PGRpdiBjbGFzcz0idGV4dC1zbGF0ZS03MDAiPiR7aHRtbE1lc3NhZ2V9PC9kaXY+PC9kaXY+YDsKICAgICAgICAgICAgfQogICAgICAgICAgICBjaGF0TWVzc2FnZXMuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CiAgICAgICAgICAgIGNoYXRNZXNzYWdlcy5zY3JvbGxUb3AgPSBjaGF0TWVzc2FnZXMuc2Nyb2xsSGVpZ2h0OwogICAgICAgIH0KICAgICAgICBmdW5jdGlvbiBzaG93VGhpbmtpbmdJbmRpY2F0b3IoKSB7CiAgICAgICAgICAgIGNvbnN0IGluZGljYXRvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgICBpbmRpY2F0b3IuY2xhc3NOYW1lID0gImZsZXggaXRlbXMtc3RhcnQgZ2FwLTMgbWItNCI7CiAgICAgICAgICAgIGluZGljYXRvci5pbm5lckhUTUwgPSBgPGRpdiBjbGFzcz0idy04IGgtOCByb3VuZGVkLWZ1bGwgYmctaW5kaWdvLTYwMCB0ZXh0LXdoaXRlIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGZvbnQtYm9sZCBmbGV4LXNocmluay0wIj5BSTwvZGl2PjxkaXYgY2xhc3M9ImJnLXdoaXRlIHAtMyByb3VuZGVkLWxnIHJvdW5kZWQtdGwtbm9uZSBzaGFkb3ctc20gZmxleCBpdGVtcy1jZW50ZXIgc3BhY2UteC0xIj48ZGl2IGNsYXNzPSJ3LTIgaC0yIGJnLXNsYXRlLTQwMCByb3VuZGVkLWZ1bGwgYWktdGhpbmtpbmctZG90Ij48L2Rpdj48ZGl2IGNsYXNzPSJ3LTIgaC0yIGJnLXNsYXRlLTQwMCByb3VuZGVkLWZ1bGwgYWktdGhpbmtpbmctZG90Ij48L2Rpdj48ZGl2IGNsYXNzPSJ3LTIgaC0yIGJnLXNsYXRlLTQwMCByb3VuZGVkLWZ1bGwgYWktdGhpbmtpbmctZG90Ij48L2Rpdj48L2Rpdj5gOwogICAgICAgICAgICBjaGF0TWVzc2FnZXMuYXBwZW5kQ2hpbGQoaW5kaWNhdG9yKTsKICAgICAgICAgICAgY2hhdE1lc3NhZ2VzLnNjcm9sbFRvcCA9IGNoYXRNZXNzYWdlcy5zY3JvbGxIZWlnaHQ7CiAgICAgICAgICAgIHJldHVybiBpbmRpY2F0b3I7CiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIHJlbW92ZVRoaW5raW5nSW5kaWNhdG9yKGluZGljYXRvcikgeyBpZihpbmRpY2F0b3IpIHtpbmRpY2F0b3IucmVtb3ZlKCk7fSB9CiAgICA8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg=="; const container = document.getElementById('chat-on-container'); if (!container) { return; }

const styles = ` #chat-on-bubble { position: fixed; bottom: 25px; right: 25px; height: 50px; background-color: #2563eb; border-radius: 25px; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 5px 15px rgba(0,0,0,0.2); transition: all 0.2s ease-in-out; z-index: 9998; padding: 0 20px 0 15px; gap: 8px; color: white; font-family: sans-serif; font-weight: 600; font-size: 16px; } #chat-on-bubble:hover { transform: scale(1.05); } #chat-on-bubble svg { color: white; width: 24px; height: 24px; flex-shrink: 0; } #chat-on-bubble.close-mode { width: 60px; height: 60px; padding: 0; border-radius: 50%; gap: 0; } #chat-on-window { position: fixed; bottom: 100px; right: 25px; width: 400px; max-width: calc(100% - 40px); height: 600px; max-height: calc(100% - 120px); border-radius: 15px; box-shadow: 0 10px 25px rgba(0,0,0,0.15); overflow: hidden; opacity: 0; transform: translateY(20px); transition: opacity 0.3s ease, transform 0.3s ease; pointer-events: none; z-index: 9999; } #chat-on-window.active { opacity: 1; transform: translateY(0); pointer-events: auto; } @media (max-width: 640px) { #chat-on-window { width: 100%; height: 100%; max-height: 100%; top: 0; right: 0; bottom: 0; left: 0; border-radius: 0; } #chat-on-bubble { bottom: 15px; right: 15px; } } `;

const chatIcon = `Tanya CS`; const closeIcon = '';

container.innerHTML = `

${chatIcon}