تسجيل الدخول

مشاهدة النسخة كاملة : هل المنتدى مزور ؟!


Decent Hafrawi
2016- 3- 6, 01:05 PM
السلام عليكم ورحمه الله وبركاته

انا ادخل المنتدى قبل شوي من الاب توب

يسكر الصفحه ويحجب المنتدى ويقول ان الموقع

مزور ومبلغ عنه !!! وش السالفه مع العلم اني اكلمكم

من الجوال !! هل حقيقي مزور ام انا مخترق من قبل هكر؟!

Fatima999
2016- 3- 6, 01:09 PM
وعليكم السلام والرحمة
حصلت للكثير من امس ومازالت المشكلة موجودة
غير المتصفح ..
انا دخلت من سفاري نفس الشي مايفتح ويطلع له انه مزور
ولما دخلت من الكروم وبالجوال اشوف مافي شي عادي ..
ماادري شالسالفة بس ننتظر ونشوف ..

P e a c e
2016- 3- 6, 01:12 PM
من الجوال ما عندي مشكلة

بس من الكمبيوتر ما يدخل من الكروم لكن يدخل من الإكسبلورر بدون مشاكل

Decent Hafrawi
2016- 3- 6, 01:12 PM
طيب هل اذا انا مثلا كنت على متصفح فايرفوكس وجاني هالعطل

وغيرت المتصفح وصرت استخدم مثلا كروم بمشاهده المحاضرات

هل يعرفون اني غيرت من متصفح لاخر من خلال المشاهده ؟!!

أبو عبدالله
2016- 3- 6, 01:13 PM
الفاير فوكس , فيه مشكلة .. وسيتم نقل المشكلة للطاقم الفني ..

ام حنان
2016- 3- 6, 01:58 PM
للامس المشكله بقوقل
وانتقلت للفاير فوكس اليوم

اضطريت اوقف برنامج حماية الفايروسات

ومن الاعدادت وقفت الحماية لمتصفح قوقل

والله يستر

أبو عبدالله
2016- 3- 6, 02:14 PM
تم نقل الموضوع من قسم إدارة أعمال 6 (http://www.ckfu.org/forumdisplay.php?f=364).

الرد آلي للعلم

NOW OR NEVER
2016- 3- 6, 03:03 PM
المشكلة عند قوقل وجاري العمل عليها

ارجو إبلاغ الجميع بذلك

Decent Hafrawi
2016- 3- 6, 03:06 PM
طيب الحين كيف ابي انسخ المناقشات واسوي الواجب

هل انتظر ولا ايش اسوي !!! مدري احس اني احل لغز

هههههههه !!! عطوني الزبده !!! محتار !!! وهل تطوول المشكله ؟!

ابواياد
2016- 3- 6, 03:39 PM
الملتقى لا يحتوي على اي ملفات ضارة او برامج تجسس او فيروسات او اي شيئ من هذا القبيل
وقد تم التأكد من ذلك تماماً بالبحث عبر السيرفر وعن طريق تصفح الملتقى بأجهزة مثبت عليها افضل برامج الحماية وبإمكان الجميع التأكد حيث انه من المعروف ان برامج الحماية الموثوقة تعطي تحذير اذا كان الموقع يحتوي على فيرسات او ملفات تجسس وهذا ما لا يحدث
وحتى هذه اللحظة لا نعلم سبب واضح لهذا التحذير المجحف والظالم في حق الملتقى من جوجل .

ابواياد
2016- 3- 6, 03:44 PM
تم نقل الموضوع من قسم الى ادارة الملتقى والمشرفين معاً (http://www.ckfu.org/forumdisplay.php?f=32).

الرد آلي للعلم

إحسـاس
2016- 3- 6, 05:01 PM
الملتقى لا يحتوي على اي ملفات ضارة او برامج تجسس او فيروسات او اي شيئ من هذا القبيل
وقد تم التأكد من ذلك تماماً بالبحث عبر السيرفر وعن طريق تصفح الملتقى بأجهزة مثبت عليها افضل برامج الحماية وبإمكان الجميع التأكد حيث انه من المعروف ان برامج الحماية الموثوقة تعطي تحذير اذا كان الموقع يحتوي على فيرسات او ملفات تجسس وهذا ما لا يحدث
وحتى هذه اللحظة لا نعلم سبب واضح لهذا التحذير المجحف والظالم في حق الملتقى من جوجل .

الله يعطيك العافية أخوي بو إياد على التوضيح


كلنا ثقه في الموقع مهما كانت الأضرار

Fatima999
2016- 3- 6, 05:12 PM
طيب الحين كيف ابي انسخ المناقشات واسوي الواجب

هل انتظر ولا ايش اسوي !!! مدري احس اني احل لغز

هههههههه !!! عطوني الزبده !!! محتار !!! وهل تطوول المشكله ؟!

اخوي جرب متصفح اخر ..
لين تنحل المشكلة ..

Fatima999
2016- 3- 6, 05:13 PM
الملتقى لا يحتوي على اي ملفات ضارة او برامج تجسس او فيروسات او اي شيئ من هذا القبيل
وقد تم التأكد من ذلك تماماً بالبحث عبر السيرفر وعن طريق تصفح الملتقى بأجهزة مثبت عليها افضل برامج الحماية وبإمكان الجميع التأكد حيث انه من المعروف ان برامج الحماية الموثوقة تعطي تحذير اذا كان الموقع يحتوي على فيرسات او ملفات تجسس وهذا ما لا يحدث
وحتى هذه اللحظة لا نعلم سبب واضح لهذا التحذير المجحف والظالم في حق الملتقى من جوجل .

يعطيك العافية مشرفنا ..
ان شاءالله تتضبط الامور سريعاً
بفضل جهودكم ..
موفقين يارب :rose:

بنت ابوها 333
2016- 3- 6, 05:16 PM
الله يعطيكم العافيه

ويكتب اجركم يارب

Hussain AR
2016- 3- 6, 05:54 PM
الله يعطيكم العافية ..

زوال الشمس
2016- 3- 6, 06:51 PM
ان شاء خير شكرا ادارتنا للجهود

عبيراليحيى
2016- 3- 6, 07:21 PM
جد حتى انا اشغلني هالتحذير

N O R Z
2016- 3- 6, 08:25 PM
اهلا


انا نفس الشي ماقدر ادخل من قوقل كروم
يحولني صفحه " خطأ متعلق بالأمان " !!
الحين داخلا من اكسبلور ,
هل حتستمر هذه الصفحة ؟؟

N o o r a h
2016- 3- 6, 09:30 PM
انا ما يطلع لي تنبيه الا بالايفون !!


http://i.imgur.com/HPmQGiq.png

أبو سامي محمد
2016- 3- 6, 11:58 PM
عقدني من أمس وأنا واقع في مشكلة مع التحذير .
متى الادارة تشوف لنا حل

خلود عبدالله: )
2016- 3- 7, 03:20 AM
السلام عليكم


الحمد لله بالأول كنت اتوقع بجهازي فيه شي انصدمت :verycute::sm1:
لكن اضطريت اعدل اعدادت الامان بفايرفوكس وضبط معي ان شاء الله تنحل المشكلة منهم قريبا
كل شي الا ملتقى طلاب وطالبات جامعة الملك فيصل
اعتبره مثل الجامعة بالنسبة لي هو بيتي الثاني :004:
الله لا يخلينا منه من اخوات واخوان
جميعا تحت مسمى الدراسة

طالبه علم الاجتماع
2016- 3- 7, 07:38 AM
حتى انا مازالت المشكلة معي وحتى مواضيع الي تخص دراسة كلها بكروم

ابي حل

المحترمه
2016- 3- 7, 12:47 PM
وعليكم السلام والرحمة
حصلت للكثير من امس ومازالت المشكلة موجودة
غير المتصفح ..
انا دخلت من سفاري نفس الشي مايفتح ويطلع له انه مزور
ولما دخلت من الكروم وبالجوال اشوف مافي شي عادي ..
ماادري شالسالفة بس ننتظر ونشوف ..


فيه إشكاليه حسب إفادة الإداره من قوقل
بالرغم أني حذفت الحمايات ولكن لازالت
المشكله إن شاءالله يتم حل المشكله
خلال هالساعات ... تقديري

wesh
2016- 3- 7, 07:43 PM
يعطيكم العافيه جميعا :rose:


الي يبي يدخل الملتقى يغير المتصفح وكثير يشتكون من هالمشكله غيروا المتصفح ضبط معهم


وان شاءالله تنحل هالمشكله


:g2:


مابي ادعي ع قوقل بهالاجواء :41jg:

wesh
2016- 3- 7, 07:51 PM
حتى انا مازالت المشكلة معي وحتى مواضيع الي تخص دراسة كلها بكروم

ابي حل




غيري متصفح كروم بيضبط معك ان شاءالله

نجلاءالعتيبي
2016- 3- 7, 09:08 PM
انا حذفت متصفح قوقل كروم واعدت تثبيته والوضع عندي تمام:10111:

Memo bnt nasser
2016- 3- 7, 09:52 PM
لسا موجودة المشكله

Mwa6n
2016- 3- 7, 10:05 PM
لا زالت المشكلة

Fatima999
2016- 3- 7, 10:27 PM
يشتغلوا عليها التقنيين ..
عطوهم وقت احبتي .. :rose:

عبدالله الشّلاحي
2016- 3- 8, 12:35 AM
هناك تغيير في الملف الشخصي
اضافوا عدد اللايكات الحاصل عليها العضو

nayef f
2016- 3- 8, 12:52 AM
اللي يبي يدخل الموقع من متصفح كروم

يضغط على Details


بعدين visit this unsafe site (data:text/html;charset=utf-8,%3C!doctype%20html%3E%0A%3Chtml%20i18n-values=%22dir%3Atextdirection;lang%3Alanguage%22%3 E%0A%3Chead%3E%0A%20%20%3Cmeta%20charset=%22utf-8%22%3E%0A%20%20%3Cmeta%20name=%22viewport%22%0A%2 0%20%20%20%20%20content=%22initial-scale=1,%20minimum-scale=1,%20width=device-width%22%3E%0A%20%20%3Ctitle%20i18n-content=%22tabTitle%22%3E%3C/title%3E%0A%20%20%3Cstyle%3E/*%20Copyright%202014%20The%20Chromium%20Authors.%2 0All%20rights%20reserved.%0A%20%20%20Use%20of%20th is%20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A%20%20%20found %20in%20the%20LICENSE%20file.%20*/%0A%0Aa%20%7B%0A%20%20color%3A%20%23585858;%0A%7D% 0A%0A.bad-clock%20.icon%20%7B%0A%20%20background-image%3A%20-webkit-image-set(%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAAB V7bNHAAAFo0lEQVR4Xu3cS1OTVxwG8Ha6dsZNt/0S7ozX+wUSGKN7ycIvkJ2OiNcdbvwMfABXLS1VvLXFSMWUgFAh 1oJICCEGq8UFp8+fPu87J4S3vrmcvIfOceaZMKOSnN/8z/+c95Yv3B8XFxcXFxcXFzNRZ89+rZLJJNKLDCAZdfp0Hini5zWJ/Izk5e+QAf7bpPzf/yvKLkD0I1lArCOqwazL70D65Xdub5RUagcA0kDJCYCJ8Hen5b2 2D8y5czvVmTN9gCkRwHzwXvKe8t72wij1JWB6AFMIBDAPVZDPI J/Fth7zDWAeESD64LPIZ7ICBwAxZBFRlmURiUWLk0ymuCwrG8NtQ yqKKfUVYG4RwP7gs8pnbhsOAO4gapvlTluQzFaO+Uoy3nNMAay urlalcOqUKaSUudUKTa9dQN/t3m0EiWOItX6fw6W8nUCDyFJHh5ktAMbUuh0yN4HtBPpWgGIxN YQUTSBhTC3ZccvW3QNoawUR6Afk7p49ZpAwtuYPPHlsFUkFEeh HAA0jy61GwthkjM1UTx8BIq2gIeDcQ+7v3atKnZ2trqK+xs/n8JRFVBUEJL+CBGgYQD/t369WWomEMTZ0PgkAaQ8g6ik2RJyH+/apxwD6BSm3tpLS9QPxTGDUFTQkTZrT6wGApIJGkKcHD6p38XjL zkzWfw6ZADb0oHvAEaBHAPpZKohAv7YSCWOup3r6CRBpBX3v9R +pHuSxAB04oDKI4EjGDh1qDRLGXA9Q1iagYQFigxagJwR6Bpwx ptIsEsYc+roVANajBhpkcxag+3qDBs5TRMd5jowfPtws0rqMPU z1JAkQbQ8i0F1vBWP/GQHOqEwvgWGywPmNWW0GCWMPA9RrA9Cg339YPQR6AhwBGtuEM4 7kjhxRE0jDSBh7GKABC4CqGzSBZHplNCDA6PGBXhw9qt4nEo0A DYQBytgCJLvnB97yLs2ZQM+Q59WV4+NM8nWqESSMPcwOOm8BEA 8v2KC5QcxIgxYgTq0sgSY8HFaP4Ewjvx87Vi9SPgxQ0QYgHqD6 q9cIK2jU7z2sHIY4NUAzyF/hkYphptiaDUBjFy6oYa//aLtnArHn1FaOjvMSkdfZsEgY+7YBqpTLKnvxonrI/jPiTS/ijBPHAxKYFxrONDLD5I8f33j9AKQQQHZOsaVr1wSlBmkcSN7hx agGlPtM5Xg4swR6xXwGqWhnk2aWr1/fEmni0iUfiNPLX84nQ+L8wbw+ceK/kPKGlnnzSFNA8nbPOQBNalOKOEw1DiMwfuaQj11dDS7z3ChGmV IA0nRvr8oCaKPvbMJ5ycxqOLObKudP4syfPCmpRcLYDRxqmMlK ANLM5cvSf/zqmUI4rQik9ZwAnDnkDbKA/K0jYeyhD1ZtRnoFJKxSWuVwWjHEERjiyCsrR8N5iyu3i4iPhLE bON1hNuUApNdXrgAooHJqgHQchDiSApE+dXXxdIeBE2am8+7Gj S2R5oBU1ZCDp5WfBR2HweVtueaWNXDKNXqkeSARRlutiMP404p ZJJCHU0RwKanf8El786kEIL0BEisnsOfoOJICIzjLSLmjY5fFl 33CZ/XmzSCkwMqZD5hWgkOgnIELh/Yhvb16Vc0RqXa1Ympx1EoikTZw6TnavA9AWujpERgdh0B+5bAp +72npBKJHQZuXrAPqXD7dlDlEIdVw+BGCKmePgO3v9iHBJzaym F0nCUNB9f3C6q7e6eBG6jsyofz57V9DrOpIRc0GMkKUuns7DFw C56dwYGnvpTX9hzGwynF47wFz8BNnLYGx1ScUn64WlXjlOPxxY 8Yk6HbgO1H0nsOo+OsVRKJmNEbyW3PGpAAhGg9hwFOyj2KQCR/WjG4TeaWe5hlE5LAlBG8bvUwi3sc6lN390blGMBxD9S5RzINxD 3U6x4Ld18s4L6awt64LzdxX4/zDxj9/IEueAvhAAAAAElFTkSuQmCC)%201x,%0A%20%20%20%20%20%2 0url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAMAAAD QmBKKAAACvlBMVEUAAAD/gID/gID/VVX/VVX/Tk7/YmL/YGD/VVXzUVH/XV32UlL/W1v2T0//WFj3UlL/UlL3UFD/WFjwTk7/U1P/U1PxTU3/V1fyT0//VFTzTk7/UlLwTU3/VVX0UFD/VFT/VFT1Tk7/VVX/VFT/U1PyT0//VFT/U1PxTEz/UlLuS0v/U1P/UlL/VFT0T0//U1P0Tk7/VFT/U1PuTU3/UlLzTU3/U1P/U1PwTEz/UlL/U1PvTU3/U1P/U1PxTU3/U1PzTk70Tk7/U1PyTk7/U1PzTk7/U1P/U1P6UFD/UlLzTk7/U1P/U1PyTk7/U1PtTEz/UlLyTU3/U1P/UlL/UlLxTk7/UlLvTEz/U1PvTU3/U1P/U1P/UlLxTEzxTU3zTU3/UlK7Ozu8Ozu8PDy9PDy+PDy+PT2/PDy/PT3APDzAPT3BPT3BPj7CPT3CPj7DPT3DPj7EPj7EPz/FPj7FPz/GPj7GPz/HPz/HQEDIPz/IQEDJPz/JQEDKQEDKQUHLQEDLQUHMQEDMQUHNQUHNQkLOQUHOQkLOZWXPQ UHPQkLPZWXQQkLRQkLRQ0PSQkLSQ0PSZmbTQ0PTZmbUQ0PURET VQ0PVRETVaGjWRETWRUXXRETXRUXXaGjYRUXZRUXZaGjaRUXaR kbaaWnbRUXbRkbbaWncRkbdRkbdaWneRkbeR0ffRkbfR0ffa2v gR0fga2vhR0fhSEjha2viR0fiSEjia2vjSEjjbGzkSEjkSUnkb GzlSEjlSUnlbGzmSUnmbGznSUnnSkroSkrobW3pSkrqSkrqS0v qi4vrS0vriYnri4vsS0vsiYntS0vtTEzuTEzvTEzwTEzwTU3w6 OjxTU3x6OjyTU3y6Ojy6eny8vLz8/P0Tk71Tk72Tk72cnL3T0/3cnL4T0/4cnL5T0/5c3P6T0/7UFD8UFD9UFD/UlJJWZWgAAAAYXRSTlMAAgQGDA0NEBUWFhwcHR0fHyAgNDQ3OD g9PT4+QkJDQ0lLS15fdHR1fHyEhIWGiIiJiYuVlaioqaurrK+v uLm5u7u7wsLExMXGxszM0tTU2dna2t/p7Ozt7fPz+fv+/v7+jD+tjQAACYhJREFUeAHs1cFqwjAcx/G1FR0iIqKIFFEUHKJQKlIRFKGUilSKVCmiHrKpCDuPHcbA99xt jA1+b7HLjmMkaeIu+TzBl18C/xtFURRFURSFQ6bc6g0ns8Uq3u3i1WI2GfZa5cz/tKQafW+NX629fiN11Rij1p3v8af9vFszrpRTGWxAZTOoyK8pdp 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)%202x);%0A%7D%0A%0A body%20%7B%0A%20%20background-color%3A%20%23f7f7f7;%0A%20%20color%3A%20%23646464 ;%0A%7D%0A%0Abody.safe-browsing%20%7B%0A%20%20background-color%3A%20rgb(206,%2052,%2038);%0A%20%20color%3A% 20white;%0A%7D%0A%0Abutton%20%7B%0A%20%20-webkit-user-select%3A%20none;%0A%20%20background%3A%20rgb(76,% 20142,%20250);%0A%20%20border%3A%200;%0A%20%20bord er-radius%3A%202px;%0A%20%20box-sizing%3A%20border-box;%0A%20%20color%3A%20%23fff;%0A%20%20cursor%3A% 20pointer;%0A%20%20float%3A%20right;%0A%20%20font-size%3A%20.875em;%0A%20%20margin%3A%200;%0A%20%20p adding%3A%2010px%2024px;%0A%20%20transition%3A%20b ox-shadow%20200ms%20cubic-bezier(0.4,%200,%200.2,%201);%0A%7D%0A%0A%5Bdir='r tl'%5D%20button%20%7B%0A%20%20float%3A%20left;%0A% 7D%0A%0Abutton%3Aactive%20%7B%0A%20%20background%3 A%20rgb(50,%20102,%20213);%0A%20%20outline%3A%200; %0A%7D%0A%0Abutton%3Ahover%20%7B%0A%20%20box-shadow%3A%200%201px%203px%20rgba(0,%200,%200,%20.5 0);%0A%7D%0A%0A%23debugging%20%7B%0A%20%20display% 3A%20inline;%0A%20%20overflow%3A%20auto;%0A%7D%0A% 0A.debugging-content%20%7B%0A%20%20line-height%3A%201em;%0A%20%20margin-bottom%3A%200;%0A%20%20margin-top%3A%201em;%0A%7D%0A%0A.debugging-title%20%7B%0A%20%20font-weight%3A%20bold;%0A%7D%0A%0A%23details%20%7B%0A%2 0%20color%3A%20%23696969;%0A%20%20margin%3A%2045px %200%2050px;%0A%7D%0A%0A%23details%20p%3Anot(%3Afi rst-of-type)%20%7B%0A%20%20margin-top%3A%2020px;%0A%7D%0A%0A%23details-button%20%7B%0A%20%20background%3A%20inherit;%0A%2 0%20border%3A%200;%0A%20%20float%3A%20none;%0A%20% 20margin%3A%200;%0A%20%20padding%3A%2010px%200;%0A %20%20text-decoration%3A%20underline;%0A%7D%0A%0A%23details-button%3Ahover%20%7B%0A%20%20box-shadow%3A%20inherit;%0A%7D%0A%0A.error-code%20%7B%0A%20%20color%3A%20%23696969;%0A%20%20d isplay%3A%20inline;%0A%20%20font-size%3A%20.86667em;%0A%20%20margin-top%3A%2015px;%0A%20%20opacity%3A%20.5;%0A%20%20te xt-transform%3A%20uppercase;%0A%7D%0A%0A%23error-debugging-info%20%7B%0A%20%20font-size%3A%200.8em;%0A%7D%0A%0Ah1%20%7B%0A%20%20color %3A%20%23333;%0A%20%20font-size%3A%201.6em;%0A%20%20font-weight%3A%20normal;%0A%20%20line-height%3A%201.25em;%0A%20%20margin-bottom%3A%2016px;%0A%7D%0A%0Ah2%20%7B%0A%20%20font-size%3A%201.2em;%0A%20%20font-weight%3A%20normal;%0A%7D%0A%0A.hidden%20%7B%0A%20 %20display%3A%20none;%0A%7D%0A%0Ahtml%20%7B%0A%20% 20-webkit-text-size-adjust%3A%20100%25;%0A%20%20font-size%3A%20125%25;%0A%7D%0A%0A.icon%20%7B%0A%20%20b ackground-repeat%3A%20no-repeat;%0A%20%20background-size%3A%20100%25;%0A%20%20height%3A%2072px;%0A%20% 20margin%3A%200%200%2040px;%0A%20%20width%3A%2072p x;%0A%7D%0A%0Ainput%5Btype=checkbox%5D%20%7B%0A%20 %20opacity%3A%200;%0A%7D%0A%0Ainput%5Btype=checkbo x%5D%3Afocus%20~%20.checkbox%20%7B%0A%20%20outline %3A%20-webkit-focus-ring-color%20auto%205px;%0A%7D%0A%0A.interstitial-wrapper%20%7B%0A%20%20box-sizing%3A%20border-box;%0A%20%20font-size%3A%201em;%0A%20%20line-height%3A%201.6em;%0A%20%20margin%3A%20100px%20aut o%200;%0A%20%20max-width%3A%20600px;%0A%20%20width%3A%20100%25;%0A%7D %0A%0A%23main-message%20%3E%20p%20%7B%0A%20%20display%3A%20inlin e;%0A%7D%0A%0A%23extended-reporting-opt-in%20%7B%0A%20%20font-size%3A%20.875em;%0A%20%20margin-top%3A%2039px;%0A%7D%0A%0A%23extended-reporting-opt-in%20label%20%7B%0A%20%20position%3A%20relative;%0 A%7D%0A%0A.nav-wrapper%20%7B%0A%20%20margin-top%3A%2051px;%0A%7D%0A%0A.nav-wrapper%3A%3Aafter%20%7B%0A%20%20clear%3A%20both;% 0A%20%20content%3A%20'';%0A%20%20display%3A%20tabl e;%0A%20%20width%3A%20100%25;%0A%7D%0A%0A.safe-browsing%20%3A-webkit-any(%0A%20%20%20%20a,%20%23details,%20%23details-button,%20h1,%20h2,%20p,%20.small-link)%20%7B%0A%20%20color%3A%20white;%0A%7D%0A%0A. safe-browsing%20button%20%7B%0A%20%20background-color%3A%20rgba(255,%20255,%20255,%20.15);%0A%7D%0 A%0A.safe-browsing%20button%3Aactive%20%7B%0A%20%20backgroun d-color%3A%20rgba(255,%20255,%20255,%20.25);%0A%7D%0 A%0A.safe-browsing%20button%3Ahover%20%7B%0A%20%20box-shadow%3A%200%202px%203px%20rgba(0,%200,%200,%20.5 );%0A%7D%0A%0A.safe-browsing%20.error-code%20%7B%0A%20%20display%3A%20none;%0A%7D%0A%0A. safe-browsing%20.icon%20%7B%0A%20%20background-image%3A%20-webkit-image-set(%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAAB iM0N1AAACFlBMVEX////19fX////////39/f39/f29vb09PQAAAD8/Pz29vbu7u7t7e3bRDfv7+/r6+vcRTjq6ur09PTy8vL86efp6en8/Pzz8/Pw8PDqUEPj4+Ps7OzdRjnfRzrx8fHdRTjl5eXf39/aQzb7+/ve3t7mTUDSPTDpT0L19fX////gSDvZVEneRjnkSz76+vrm5ubVPzLZQjXTPjHKNirNOCzn1dPrU EPoTkHbVkvOOi3jSj3QOy7RPC/o6Ojd3d3cRDfeRzni4uL39/fqUEL29vb5+fntZlrZxsTPOi3RT0TXVEjcV0zWQDPlYFTWU0f8 6ejYQjX96ejoYVb14uH96ujhSTzUPjHUUUb14uDq19bk5OTlTD/n5+fMOCva2trm1NLp1tXey8riSTziSj3wfHLZ2dnYxcPrZFnQT kLTUEXnTUDaVUrXQTTKNyruZ1rNOSzQOy/hzsznTkHROy/hSTvYQTThSDvsZlnWUkfeRzrqY1jgzczcRTfnYVXlX1PZVUrdW EzlYFPLNyvfSDrfzMvXU0fkX1LYVEnc3NzkX1Ph4eHNTEHPOy7 pdm3oT0Hbycfj0M/POi7YQTXgW0/PTUHVUUbZQzbuZlrodmzl0tDOOS3lTD7LNyrmYVXSY1n76OfeW U3l09HaaV/tZlnsZVnm09HqYlfNS0HcysjUPzLOTEHKNinST0XbaV/o1dTTY1ng4ODrUUPxo4TUAAAAC3RSTlMAABDKAMoAAAAAyh18q Q0AAAPjSURBVHhe7dbjmiRZEAbgHq2SKNuutm3bY9vm2rZt6w4 3IjE13VFTfXpyf05cwPtExIn8qqoe+5/qIbSmHkJbt2XvW9u2VjEXOvYl6lDJjkMl+w5Kdhwq2XdQsuNQy b6Dkh2HSvYdlOw6VKKOfQkd+xJ12CXq2JHsOyhVdhaPLFLA8aa jolTOOdc8TCTHU7n3F8pId6EyzrB3wAvSeicYfKaMVIKo0+yFW is5XgWnEJ5Y3QR0ZMALHf0L0lrnZiEgy98NsUK4IWDQ+mHurvN sMBjoDfcIrccSQ4wQSh97sdJvHZ+x+oGxAnfkntMjR/dFqxkhlL73Ng+kW1qStxyW0xuWBTl/7Oi+7m5fNSuE+06n06dOJXfPO4z9FMKyHGtFJ5GIRqoZIZSut1 xKJj8vFr90QD+9gUBYEF4eQScafc23J84MZeeOJ5O7i8X2Q1P6 fmRBOG30A06kRoozQ9mZn8A5vLSUez4YCPT0xCynry9S0+X0x5 mhrGO+vf3wFf0MoZ88zPUKzNXnQ8cpgcQGofTkoWumg3OhA3P5 9nQ5FUlRuDgjhNJULof7kc250NmFjqJIkp9zMUP4XnjOsVh+BO 4ngXNFsB8nODwvutggdPT7EWJ1s+NvQz+4Zyc42I/EcZzHxbbsl9ABBpz3zkwfLM2lSH4/z3G8iBKFaI4VcD/CR3V1ZyZra2/c1t8LFJzLz3Gi6PGEXASic4EThvvJPz17FaDl+g8vwlxO3A/2Y0Kai0DEgfcK4/2MjE+iU586+aOxH4XndQYdt9v1uFkUsvIHvgv93X+Zrv11OZW6 3PnHfpBgLr0fkEKhkNutPmoWgUr5A3eI99x98MX6VKrzwujoWJ MxFy+KHPTj0dyVISt/BCN/otEXVlKdHW+0tTWeaNLnQgb6cUNpFSArf0rfqe+dlY6Od8+fb3 zugwMcj2MBpGkIZTJbzKLQJyR/dtV8erLts8a9XzQ0fGXtR9MhtRL09Tckf5zOb8egn7NnX99pzR Uy+skMPmIWhbILEyR/FGn/ib0NDT8f4ETe4xFD+PDYjzrYv90s+MmmUivJH0Vq+u137EcUrT 2rbuinf4cFlf0TsfonyR9J+uvvnfohitiOBhAOtmODvyNDCZI/+Jka/Vhrzqj96Gwg/UPyR78fEecyoUHTqSxV+0j+gAOllfaDDoMUIflj3qHmVrGfDDp MUhfJH9HcD0BGP2xSXCL5g5DRj/5ezJKf5A+URhwWieQPPBdxWCSO5I9K7odRWpc/5J5ZJRe3Ln9U8l6skmdN/tD9sEuhUv6Qe96kdG/+PEEddol8Xw8skfx5YEldlz+0/gOZkEIssMdljwAAAABJRU5ErkJggg==)%201x,%0A%20%20%20 %20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAMAAAD QmBKKAAAB/lBMVEUAAAD////////4+Pj09PTz8/P19fX39/f29vb39/f19fXhSTzgSDvfRzrjl5HwpJ7gSDreRzrkmJHrUUPeRjneRznd RjndRTjjmJHcRTjkmJLcRDffSDrbRDfbQzbaQzbYjIbs7OzpUE L0p6HY2NjZ2dnpT0LoTkHgRzrXjIbu7u7oT0H0p6DhSTvcRTfZ jYfX19fa2trv7+/pT0HnTkHnTUDzpqDb29ve3t7mTUDw8PDnTkDmTT/lTD/ypp/c3Nzf39/aRDfg4ODx8fHkSz7ypZ/Zjofi4uLy8vLjSz7xpZ7d3d3h4eHj4+Pz8/PmTD/lTD7jSz3jSj3iSTzk5OTl5eXm5ub09PTiSj3n5+fiSjzp6enZQ zbr6+vzpp/kTD7q6ur19fXo6Oj29vbxpJ7t7e3ZQjXYQTXYQjXXQTTajojXQ DTaj4jYQTTXQDPWQDPVPzLZjoj39/fUPjHaj4nTPjH4+PjXjIXYjYfUPzLSPTDbkIrUPjLTPTDSPDDc kYvRPC/////WPzPQOy71qKHVPzPTPTHPOi3ckozwpJ3YjYbPOy7POi7dk4zqU ELSPC/ROy/OOS3NOSzQOy/OOi3OOSzNOCzMOCvLNyvbkYrKNirLNyrbkYvKNinJNinKNyrbk ovqUEPNOCvhSDvdRjjjl5DckovJNSnlmZLrUEOrszXuAAAAC3R STlMAgAAAAAAAAACAgKEmtJUAAAnFSURBVHgB7M6xDYBADMBAw +ZINGzNCG+lcJWb4FhrrbXWWmfXM3HdE9xng898hPqEI8ynHCE +6QjxSUeITzpCfNIR4pOOEJ90hPikI8QnHSE+6QjxSUeITzoi+ ugR1ceOyD5yRPdxI8KPGlF+zIj0I0akHzEi/YgR6UeMSD9iRPoRI9KPGJF+xIj0I0akHzEi/YgR6UeMEJ90hP+87yN933yE//y00j0OwjAMBeDu2P2BkBCgt/XSJXd46kJviZ2dYkVK5Jcx+vTiAnF69v3TLBrcngPwibYLEY+t osHrAYqOQzQR0czL1fduK0hwAyx/RRsRM4e7ijqCRCnl8HSk/8UmiiE9+oEEdoqjo4mqJ4QYY372AolaDsBSlCSnHhUtygkpv/LYBySKMElVGUvOPPyuoJzzuq5jJxBKNdnUS3555rrQIaWYvrSW UVKbUBiFF8CDZZoJk0nxigaoYppqRYOGalOsVUENiElM06LWhb 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)%202x) ;%0A%7D%0A%0A.small-link%20%7B%0A%20%20color%3A%20%23696969;%0A%20%20f ont-size%3A%20.875em;%0A%7D%0A%0A.ssl%20.icon%20%7B%0A %20%20background-image%3A%20-webkit-image-set(%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAMAAAB iM0N1AAACClBMVEUAAADbRTfrTjvcRjraQjbcRDjbRDjbRTfaR DXZQDPZQTTbQzfaRDbcRDfbQzbVKyvZQzXaQzbaRDbIPjLaRDb YQzfXQTfaQzbZQzbbRDi/QADbRDfbQDfbJCTcRTjbQzbIPjPbQzfbQzfbRTfTQyzcRzvbQz baRDbaQjfbQzbaQzbaQzbaRDfYQTTaRDfbQzfaRDbaQzbbQjbb QjbZQjTZQzbaQzbYQTTVQTXbRDbPQDDbQzbIPzPbQzfbRDfbNz fZRDaAAADVOSvYQDbbRDa/QCDZRDbqVUDaQTPbRDfGPDLbQjXHPjTVQEDJPTLGPTHKPTPYTj vGPDHbRDe+Oi+6OS64OC7LPzLHPTL7+/urNSv5+fm/OjD4+PjEPDHFPDG5OC67OS/DOzG8OS+9Oi/COzDrn5nAOzDtoZvBOzD9/f36+vq3OC62Ny339/fIPjLsoJr+/v6xNizx8fHFPDCnMymjMii1NyyfMSfz8/PUlI+uNivLlI+oMynDPDDUlY+zNyylMiipNCrOlI/JPjLHPTHKPjKhMijPlI+3OC2+Oy/FPTH29vaqNSq5OS319fW8Oi7AOy/BOy+sNSv////VlZD8/PzQlZDKlI+iMijCPDDYmJO0NyykMiiwNiy2OC27OS69Oi6gMSf Yl5K4OC3MPzPempXBPDDqnpjy8vL09PTHPjLRlZDbmZMWYj36A AAAUnRSTlMAgQ1CaODzz4soSuj4/tkGV9303/FBM9ic8gTpHAffhc+MKtAXQbDHdMaudtc7rX7q+n93Nl/VJyu4EK9B9vwOXgISNOIIgAw32vJNgAz+84ENOFEUuAAAA25JR EFUeAHsz0lPwmAQxvEWSxdaWiAIyAIBkQXc9yXuezw+3/+7mAkc1MxrZho9kPR3fZL/ZKxM5n80a05jXA+jKKyPG06tmTIT+C180/IDS689AmPU1nacKlhVR9fpwain6RxiabtfGgw7neGg5J9iaU/eKWDhYsf64m2GhYK0k7yDXJ/8HD72QeJEGJqAHDCHz0OQiTAUgxxx0+MNTbGsE4A8PbNjH+RMF JqDvPDjZUTjXBS6Alk3rLs0zkShKcitYb2jcSoKlUESw3pMY1k UqoDcG9YHGiuiEEB+n1cvlLM9FyLupp0zd7a6UMivGTtFqBQNp dculPL8dzbUbDbkQc1jQy7UNtgQUshCfxb67Lw+ltMGoygALzL JLiuvsvNMXsNPkElJZAkQIIxASHRsesEUXOy49zi99+Qdc84vB XuBPJLYefPNOfdezfzOZq//ZZpBoezZ2TXJjMW+BYPgrKxkrxwtpn0OCEHKL0/zxDTtUg9WDU6ekpOnfNlu7gQbNiEVklkQzqfmeNUKtP7lfP5CL ZjsRWdr3JhEvweAIF2oaqHA8WjCiUZ71d1AB2mqKuIAwnyYp/duVNoIAEESeei8bUz2T6utUiu0EQgSecp95Inu96qjN8ViKFTx DzlOeW8N8zlFLzqh5G+/kL0vOHuH2+g1KpXAPE8mlXV/kLhDrd+Hc/jrBfO8Zx5F0dObfiC7V7+9tUaoM3R6JQ/0dNoIe4ece26/HDe24XQ6QzAMpOvpI1kOe4XoMI/Y1x84P2tdzEeBYxiyHI+HPUI/WAx5muIOh3Bq5+ilHKAXnTgyeav2l72YJ8o7PK/ZgfS0YRzRsazMV4/Dfs3vHffM76JV7HbFeJgHgWQrl8mkvK5fYR7hFHE+nDPzyHae4 0zKM7S4szqZfhf2/XBflJgnkfD+iViYD/Pwp+B+PiDPR+ahM/ABLb6iU0Sv6d5lOLlj5vGRCL9d556/sJdg0CuXSmUSiSXJBwRJnHPSmU+c+8phznCW6jOhe25ShY7TC9 LUkaQHPl9sFfZSeIcsBoe9BpJUn/f7hqwozh1azHPi5JEiD2e/1m+7S+tw/g8I++J8IvXI3KPZ7+Nbd92lTYOMfYepAR0p8nhhtgPphkxhQNN 9JaS6FJlbuOl/kft3XCVxzydg4EhP5p8+c0H+Affig2wpFL3DAAAAAElFTkSuQm CC)%201x,%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAMAAAD QmBKKAAACx1BMVEUAAADcRDfbSDjbRTfbRDfhSzwAAADbRDjbR zjbRTjbQzbaRDfaRDbcRDfTQyzXQzbZQDPbRDfcRDfbRTm/QCDaQzfbQzbaQzbMMzPbQzfbQzXaQzfeRjrbQjbVOSvbRDfaQz baQzfFPDLZQjfZQzbVQCvZQzXaQjXaRDbXQTfbQzfaQTPZQTa/QADaQzbcRDjZQjXaQzfbRDTaQzbaQzbbQzfbQzfaRDfbQzbHQD TMMzPbNzfaQjfbQzbaQzfbRDbWQDTZQzfaQDXEPTHXQTbGPTHb RDbYQTTVRDPaQzbaRDXaQTXZQzXbRDfXQDDXRDTaRDbbQzbGPD LHPTPZQjTbRDfPQDDbRDbYQjbbRDbaQjbZQjbaQzfaQzfaQzXa QzbbJCTDPTDFPTTFPDLaQzbbRDbbPTHLPDXbQzbbQzfbRDfgST nSPC3EPTHbRTfbQzbbRDfbQzbaRDfEPTHFPDLaQzbGPTLaQzat NiuiMiioNCntoZuuNivsoJrLlJCxNiy3OC2vNizz8/O3OC7Ok47+/v7x8fHWQTXMk4+9Oi739/f19fXw8PD29vb09PSlMymfMSfZQjW1Ny2zNyy7OS6nNCn4+Pjy 8vKvNiu4OC2/Oy/WQjXYQjXMlI+sNSvVQTWpNCqjMimdMCfAOy/v7++4OC6+Oi/Rl5K1OC3////8/PzFPDHNk477+/u6OS7XQjX6+vq0Nyy5OC67OS+5OS29Oi/Qko3BOy+8OS/DPDCkMinSl5LPk47Rk46wNiy8Oi6/OjDAOzCeMCe2OC3CPDDCOzDDPDG5OS6sNCrEPTGyNizEPDGgMS fBOzD9/f3Qk46tNSvnnZezNizDOzHonpi0Ny2uNSvOlI+1Nyz5+fm7Oi7 NlJDNlI/TmJOjMiioNCqqNCq4OS3Oko3MlZDVQTSrNCqmMynPko2sNSrQl pGhMijFPTHbRDeKorW+AAAAeHRSTlMA2UCB7CIB8zLIt8j4vhc TFPzYVQjk/qQF95TJVFUS+p37vl16DDVh6jOoNy8Eir9luzHC4+gqte9ACg6 DhZmpLJUw80eB0yce3XxSV+kgQFrF+jI2zBC4QvBZUZ/ffcEH2VTHq/0VIpu2sTER2cewYmOe7Nj67Nj6WWwvAAAICklEQVR4AezV105b QRDG8TEuxj4uOMEdgxG9QOggOgjRC0j0fgGIFKVEQn7p7yFyOc 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)%202x );%0A%7D%0A%0A.captive-portal%20.icon%20%7B%0A%20%20background-image%3A%20-webkit-image-set(%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAQAAAD/5HvMAAAEyElEQVR4Xu3afWhVZRwH8LvdmjVSjKyQbKazia1k1s L6YzXoZdy28/J8f5XRC7hwEVk0hZQCXY2SipCgYgappXMQ5Ya9ELZqoEM3VHqx Bkapm21jOBWmbLfudk+0Peeu2+mc3zk9514WbN9/zz18ds75Pc/vPM+JTP9NZzrT+b9Fn2nGxHrainb8ggEaRgLn0IOjaMFroloU/Ssg1yxBLZpxBD00QufpODrRiFX6IiUKXY8XcRAJsryC3nRL7Ep sQJ/r0V3iSS0/MKU4D6uoQwLY/P1q4i0aYX9xVqyPRH1jbr8UtfSbE8CDqIK60wBjOEb7aDf24CB O/gN12LjJF4dM+dPAoNgMdNkUxLENQltAFViJdbTWfFTcaRbiMXy CpE1CM4vR5uAzdwB/hcxCDI5jXqGFeAadNJoGH0ErVhg3YPs46Ad9JldNS3GCAbDPkF GG/eJGWktn3PA4IUB3oxPzGY4AXSBLCSTLgfZxx2MLV1Q5tFHeWxW QDNalHulWeo4q9GW4VVShng5J0KgZ8+bkYpcEqIJk6H2y0CiW4 H58gGMYQhyn8DlqUUltZIk1XF01kKUW5yhm3gVB3Q76MDaRyXB QR1aIIJnyi6jNZUgs8uTQfUiGDJIxZ9OPfxEwhAO0F70To5NR5 skxrsUgWaGDZLQCHBHVxnKxWjwuivRS7McK7na1kpUZkEwUzXb FiZfZcVk8pE6xZ3u34AV5TFJUsV2ObBHU0+Q5wu0eJ21krw+eD 4lzBvOYf7wLeyI5DEfLx2l1DPqoSXK8SItis/gm41mlago/9P2UApklZE0pkHhdAv6YIiB8NwEQL9HvUwCkzZHz15g5Gw8jmR 0QtsizvOoACUjAIdlOZQUkHpCgDqd1gwRslhX3djZAmDsBwpAT JPtDUZPqGFuyUWU453IWu7fFHZOvhjiQ+aqiDheQ/bJjXpf2oP+caRA+cgPJpkxckeZfiIHMgmirC8gee4rz0qF6KV3 IJEi86R8kg0oazQ6Iv2Uyoiajt4x/qJ1BfcCe6JQZC/BQ82XvDLYHJPUEK3tmYHTmlotpbzCSwsDomDpc+mD6VgHETB3M 5Or2c5xUBvGTq7P98DjBEjqrBOLbD2eDZj7o+aJdhnhooJxUbd/r1cJ+yl1mJMMBGWUSP6zlezT5SIirGNKacEB4bwKEXcxrEN7gT hUGSCtILaZXMC+KiGN+5kHYITndkSj7Ko3GTIPMEvtJFKt9LDY giZtVQTLnqUPUOJcV8KWE95df4m85ps0+CQ/ig68xN72lscF4yveCFTa5g9AXnDR5lczC1Jr+4UhuCsAv6YlH3 EDURFbgPCG3Y2altmPG9FIJ8LnoOYLbXNDzgi+Myvkqii9sIuo cAHZZuN9tAKi6hnaiBwka9f942y2rzFcut4tZOO+3r5J6xcVmY EeKc9xlPuC3FhDHynBA6LQ5GGA2ftnNl82RqDrIDgb1ZU4Anxz UTc7raDeWhwPCUW0BA/C7gYeP9cWqILSUX8YAgmxxIoF3tYL/DkK9Y/znwm8CI4lvRLV+dVAQThOpOPht8p+ogZ4W9/jijFFD5eXhWPgPCXjMh/pSVYD6pxaywPGOKOIBWfkYhXYKozgvy5/rYBva8avzcx19sSrgT2jJnjJMVMiUAAAAAElFTkSuQmCC)%201 x,%0A%20%20%20%20%20%20url(data%3Aimage/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAQAAAB 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)%202x);%0A%7D%0A%0A .checkbox%20%7B%0A%20%20background%3A%20transparen t;%0A%20%20border%3A%201px%20solid%20white;%0A%20% 20border-radius%3A%202px;%0A%20%20display%3A%20block;%0A%20 %20height%3A%2014px;%0A%20%20left%3A%200;%0A%20%20 position%3A%20absolute;%0A%20%20right%3A%200;%0A%2 0%20top%3A%20-1px;%0A%20%20width%3A%2014px;%0A%7D%0A%0A.checkbox %3A%3Abefore%20%7B%0A%20%20background%3A%20transpa rent;%0A%20%20border%3A%202px%20solid%20white;%0A% 20%20border-right-width%3A%200;%0A%20%20border-top-width%3A%200;%0A%20%20content%3A%20'';%0A%20%20hei ght%3A%204px;%0A%20%20left%3A%202px;%0A%20%20opaci ty%3A%200;%0A%20%20position%3A%20absolute;%0A%20%2 0top%3A%203px;%0A%20%20transform%3A%20rotate(-45deg);%0A%20%20width%3A%209px;%0A%7D%0A%0A.ssl-opt-in%20.checkbox%20%7B%0A%20%20border-color%3A%20%23696969;%0A%7D%0A%0A.ssl-opt-in%20.checkbox%3A%3Abefore%20%7B%0A%20%20border-color%3A%20%23696969;%0A%7D%0A%0Ainput%5Btype=chec kbox%5D%3Achecked%20~%20.checkbox%3A%3Abefore%20%7 B%0A%20%20opacity%3A%201;%0A%7D%0A%0A@media%20(max-width%3A%20700px)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20padding%3A%200%2010%25 ;%0A%20%20%7D%0A%0A%20%20%23error-debugging-info%20%7B%0A%20%20%20%20overflow%3A%20auto;%0A%20 %20%7D%0A%7D%0A%0A@media%20(max-height%3A%20600px)%20%7B%0A%20%20.error-code%20%7B%0A%20%20%20%20margin-top%3A%2010px;%0A%20%20%7D%0A%7D%0A%0A@media%20(ma x-width%3A%20420px)%20%7B%0A%20%20button,%0A%20%20%5 Bdir='rtl'%5D%20button,%0A%20%20.small-link%20%7B%0A%20%20%20%20float%3A%20none;%0A%20%20 %20%20font-size%3A%20.825em;%0A%20%20%20%20font-weight%3A%20400;%0A%20%20%20%20margin%3A%200;%0A%2 0%20%20%20text-transform%3A%20uppercase;%0A%20%20%20%20width%3A%2 0100%25;%0A%20%20%7D%0A%0A%20%20%23details%20%7B%0 A%20%20%20%20margin%3A%2020px%200%2020px%200;%0A%2 0%20%7D%0A%0A%20%20%23details%20p%3Anot(%3Afirst-of-type)%20%7B%0A%20%20%20%20margin-top%3A%2010px;%0A%20%20%7D%0A%0A%20%20%23details-button%20%7B%0A%20%20%20%20display%3A%20block;%0A% 20%20%20%20margin-top%3A%2020px;%0A%20%20%20%20text-align%3A%20center;%0A%20%20%20%20width%3A%20100%25 ;%0A%20%20%7D%0A%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20padding%3A%200%205%25; %0A%20%20%7D%0A%0A%20%20%23extended-reporting-opt-in%20%7B%0A%20%20%20%20margin-top%3A%2024px;%0A%20%20%7D%0A%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20margin-top%3A%2030px;%0A%20%20%7D%0A%7D%0A%0A/**%0A%20*%20Mobile%20specific%20styling.%0A%20*%20 Navigation%20buttons%20are%20anchored%20to%20the%2 0bottom%20of%20the%20screen.%0A%20*%20Details%20me ssage%20replaces%20the%20top%20content%20in%20its% 20own%20scrollable%20area.%0A%20*/%0A%0A@media%20(max-width%3A%20420px)%20and%20(max-height%3A%20736px)%20and%20(orientation%3A%20portr ait)%20%7B%0A%20%20%23details-button%20%7B%0A%20%20%20%20border%3A%200;%0A%20%20 %20%20margin%3A%208px%200%200;%0A%20%20%7D%0A%0A%2 0%20.secondary-button%20%7B%0A%20%20%20%20-webkit-margin-end%3A%200;%0A%20%20%20%20margin-top%3A%2016px;%0A%20%20%7D%0A%7D%0A%0A/*%20Fixed%20nav.%20*/%0A@media%20(min-width%3A%20240px)%20and%20(max-width%3A%20420px)%20and%0A%20%20%20%20%20%20%20(mi n-height%3A%20401px)%20and%20(max-height%3A%20736px)%20and%20(orientation%3Aportrait ),%0A%20%20%20%20%20%20%20(min-width%3A%20421px)%20and%20(max-width%3A%20736px)%20and%20(min-height%3A%20240px)%20and%0A%20%20%20%20%20%20%20(m ax-height%3A%20420px)%20and%20(orientation%3Alandscap e)%20%7B%0A%20%20body%20.nav-wrapper%20%7B%0A%20%20%20%20background%3A%20%23f7f 7f7;%0A%20%20%20%20bottom%3A%200;%0A%20%20%20%20bo x-shadow%3A%200%20-22px%2040px%20rgb(247,%20247,%20247);%0A%20%20%20% 20left%3A%200;%0A%20%20%20%20margin%3A%200;%0A%20% 20%20%20max-width%3A%20736px;%0A%20%20%20%20padding-left%3A%2024px;%0A%20%20%20%20padding-right%3A%2024px;%0A%20%20%20%20position%3A%20fixed ;%0A%20%20%20%20z-index%3A%201;%0A%20%20%7D%0A%0A%20%20body.safe-browsing%20.nav-wrapper%20%7B%0A%20%20%20%20background%3A%20rgb(20 6,%2052,%2038);%0A%20%20%20%20box-shadow%3A%200%20-22px%2040px%20rgb(206,%2052,%2038);%0A%20%20%7D%0A %0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20max-width%3A%20736px;%0A%20%20%7D%0A%0A%20%20%23detail s,%0A%20%20%23main-content%20%7B%0A%20%20%20%20padding-bottom%3A%2040px;%0A%20%20%7D%0A%7D%0A%0A@media%20 (max-width%3A%20420px)%20and%20(max-height%3A%20736px)%20and%20(orientation%3A%20portr ait),%0A%20%20%20%20%20%20%20(max-width%3A%20736px)%20and%20(max-height%3A%20420px)%20and%20(orientation%3A%20lands cape)%20%7B%0A%20%20body%20%7B%0A%20%20%20%20margi n%3A%200%20auto;%0A%20%20%7D%0A%0A%20%20button,%0A %20%20%5Bdir='rtl'%5D%20button,%0A%20%20button.sma ll-link%20%7B%0A%20%20%20%20font-family%3A%20Roboto-Regular,Helvetica;%0A%20%20%20%20font-size%3A%20.933em;%0A%20%20%20%20font-weight%3A%20600;%0A%20%20%20%20margin%3A%206px%200 ;%0A%20%20%20%20text-transform%3A%20uppercase;%0A%20%20%7D%0A%0A%20%20. nav-wrapper%20%7B%0A%20%20%20%20box-sizing%3A%20border-box;%0A%20%20%20%20padding-bottom%3A%208px;%0A%20%20%20%20width%3A%20100%25;% 0A%20%20%7D%0A%0A%20%20.error-code%20%7B%0A%20%20%20%20margin-top%3A%200;%0A%20%20%7D%0A%0A%20%20%23details%20%7 B%0A%20%20%20%20box-sizing%3A%20border-box;%0A%20%20%20%20height%3A%20auto;%0A%20%20%20%2 0margin%3A%200;%0A%20%20%20%20opacity%3A%201;%0A%2 0%20%20%20transition%3A%20opacity%20250ms%20cubic-bezier(0.4,%200,%200.2,%201);%0A%20%20%7D%0A%0A%20 %20%23details.hidden,%0A%20%20%23main-content.hidden%20%7B%0A%20%20%20%20display%3A%20bl ock;%0A%20%20%20%20height%3A%200;%0A%20%20%20%20op acity%3A%200;%0A%20%20%20%20overflow%3A%20hidden;% 0A%20%20%20%20transition%3A%20none;%0A%20%20%7D%0A %0A%20%20%23details-button%20%7B%0A%20%20%20%20padding-bottom%3A%2016px;%0A%20%20%20%20padding-top%3A%2016px;%0A%20%20%7D%0A%0A%20%20h1%20%7B%0A% 20%20%20%20font-size%3A%201.5em;%0A%20%20%20%20margin-bottom%3A%208px;%0A%20%20%7D%0A%0A%20%20.icon%20%7 B%0A%20%20%20%20margin-bottom%3A%2012px;%0A%20%20%7D%0A%0A%20%20.intersti tial-wrapper%20%7B%0A%20%20%20%20box-sizing%3A%20border-box;%0A%20%20%20%20margin%3A%2024px%20auto%2012px; %0A%20%20%20%20padding%3A%200%2024px;%0A%20%20%20% 20position%3A%20relative;%0A%20%20%7D%0A%0A%20%20. interstitial-wrapper%20p%20%7B%0A%20%20%20%20font-size%3A%20.95em;%0A%20%20%20%20line-height%3A%201.61em;%0A%20%20%20%20margin-top%3A%208px;%0A%20%20%7D%0A%0A%20%20%23main-content%20%7B%0A%20%20%20%20margin%3A%200;%0A%20%2 0%20%20transition%3A%20opacity%20100ms%20cubic-bezier(0.4,%200,%200.2,%201);%0A%20%20%7D%0A%0A%20 %20.small-link%20%7B%0A%20%20%20%20border%3A%200;%0A%20%20%7 D%0A%0A%20%20.suggested-left%20%3E%20%23control-buttons,%0A%20%20.suggested-right%20%3E%20%23control-buttons%20%7B%0A%20%20%20%20float%3A%20none;%0A%20 %20%20%20margin%3A%200;%0A%20%20%7D%0A%7D%0A%0A@me dia%20(min-height%3A%20400px)%20and%20(orientation%3Aportrait )%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20margin-bottom%3A%20145px;%0A%20%20%7D%0A%7D%0A%0A@media%2 0(min-height%3A%20299px)%20and%20(orientation%3Aportrait )%20%7B%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20padding-bottom%3A%2016px;%0A%20%20%7D%0A%7D%0A%0A@media%20 (min-height%3A%20405px)%20and%20(max-height%3A%20736px)%20and%0A%20%20%20%20%20%20%20(m ax-width%3A%20420px)%20and%20(orientation%3Aportrait) %20%7B%0A%20%20.icon%20%7B%0A%20%20%20%20margin-bottom%3A%2024px;%0A%20%20%7D%0A%0A%20%20.intersti tial-wrapper%20%7B%0A%20%20%20%20margin-top%3A%2064px;%0A%20%20%7D%0A%7D%0A%0A@media%20(mi n-height%3A%20480px)%20and%20(max-width%3A%20420px)%20and%0A%20%20%20%20%20%20%20(ma x-height%3A%20736px)%20and%20(orientation%3A%20portr ait),%0A%20%20%20%20%20%20%20(min-height%3A%20338px)%20and%20(max-height%3A%20420px)%20and%20(max-width%3A%20736px)%20and%0A%20%20%20%20%20%20%20(or ientation%3A%20landscape)%20%7B%0A%20%20.icon%20%7 B%0A%20%20%20%20margin-bottom%3A%2024px;%0A%20%20%7D%0A%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20padding-bottom%3A%2024px;%0A%20%20%7D%0A%7D%0A%0A@media%20 (min-height%3A%20500px)%20and%20(max-width%3A%20414px)%20and%20(orientation%3A%20portra it)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20margin-top%3A%2096px;%0A%20%20%7D%0A%7D%0A%0A/*%20Phablet%20sizing%20*/%0A@media%20(min-width%3A%20375px)%20and%20(min-height%3A%20641px)%20and%20(max-height%3A%20736px)%20and%0A%20%20%20%20%20%20%20(m ax-width%3A%20414px)%20and%20(orientation%3A%20portra it)%20%7B%0A%20%20button,%0A%20%20%5Bdir='rtl'%5D% 20button,%0A%20%20.small-link%20%7B%0A%20%20%20%20font-size%3A%201em;%0A%20%20%20%20padding-bottom%3A%2012px;%0A%20%20%20%20padding-top%3A%2012px;%0A%20%20%7D%0A%0A%20%20body%3Anot(. offline)%20.icon%20%7B%0A%20%20%20%20height%3A%208 0px;%0A%20%20%20%20width%3A%2080px;%0A%20%20%7D%0A %0A%20%20%23details-button%20%7B%0A%20%20%20%20margin-top%3A%2028px;%0A%20%20%7D%0A%0A%20%20h1%20%7B%0A% 20%20%20%20font-size%3A%201.7em;%0A%20%20%7D%0A%0A%20%20.icon%20%7 B%0A%20%20%20%20margin-bottom%3A%2028px;%0A%20%20%7D%0A%0A%20%20.intersti tial-wrapper%20%7B%0A%20%20%20%20padding%3A%2028px;%0A% 20%20%7D%0A%0A%20%20.interstitial-wrapper%20p%20%7B%0A%20%20%20%20font-size%3A%201.05em;%0A%20%20%7D%0A%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20padding%3A%2028px;%0A% 20%20%7D%0A%7D%0A%0A@media%20(min-width%3A%20420px)%20and%20(max-width%3A%20736px)%20and%0A%20%20%20%20%20%20%20(mi n-height%3A%20240px)%20and%20(max-height%3A%20298px)%20and%0A%20%20%20%20%20%20%20(o rientation%3Alandscape)%20%7B%0A%20%20body%3Anot(. offline)%20.icon%20%7B%0A%20%20%20%20height%3A%205 0px;%0A%20%20%20%20width%3A%2050px;%0A%20%20%7D%0A %0A%20%20.icon%20%7B%0A%20%20%20%20padding-top%3A%200;%0A%20%20%7D%0A%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20margin-top%3A%2016px;%0A%20%20%7D%0A%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20padding%3A%200%2024px% 208px;%0A%20%20%7D%0A%7D%0A%0A@media%20(min-width%3A%20420px)%20and%20(max-width%3A%20736px)%20and%0A%20%20%20%20%20%20%20(mi n-height%3A%20240px)%20and%20(max-height%3A%20420px)%20and%0A%20%20%20%20%20%20%20(o rientation%3Alandscape)%20%7B%0A%20%20%23details-button%20%7B%0A%20%20%20%20margin%3A%200;%0A%20%20 %7D%0A%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20margin-bottom%3A%2070px;%0A%20%20%7D%0A%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20margin-top%3A%200;%0A%20%20%7D%0A%0A%20%20%23extended-reporting-opt-in%20%7B%0A%20%20%20%20margin-top%3A%200;%0A%20%20%7D%0A%7D%0A%0A/*%20Phablet%20landscape%20*/%0A@media%20(min-width%3A%20680px)%20and%20(max-height%3A%20414px)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20margin%3A%2024px%20aut o;%0A%20%20%7D%0A%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20margin%3A%2016px%20aut o%200;%0A%20%20%7D%0A%7D%0A%0A@media%20(max-height%3A%20240px)%20and%20(orientation%3A%20lands cape),%0A%20%20%20%20%20%20%20(max-height%3A%20480px)%20and%20(orientation%3A%20portr ait),%0A%20%20%20%20%20%20%20(max-width%3A%20419px)%20and%20(max-height%3A%20323px)%20%7B%0A%20%20body%3Anot(.offli ne)%20.icon%20%7B%0A%20%20%20%20height%3A%2056px;% 0A%20%20%20%20width%3A%2056px;%0A%20%20%7D%0A%0A%2 0%20.icon%20%7B%0A%20%20%20%20margin-bottom%3A%2016px;%0A%20%20%7D%0A%7D%0A%0A/*%20Small%20mobile%20screens.%20No%20fixed%20nav.% 20*/%0A@media%20(max-height%3A%20400px)%20and%20(orientation%3A%20portr ait),%0A%20%20%20%20%20%20%20(max-height%3A%20239px)%20and%20(orientation%3A%20lands cape),%0A%20%20%20%20%20%20%20(max-width%3A%20419px)%20and%20(max-height%3A%20399px)%20%7B%0A%20%20.interstitial-wrapper%20%7B%0A%20%20%20%20display%3A%20flex;%0A% 20%20%20%20flex-direction%3A%20column;%0A%20%20%20%20margin-bottom%3A%200;%0A%20%20%7D%0A%0A%20%20%23details%2 0%7B%0A%20%20%20%20flex%3A%201%201%20auto;%0A%20%2 0%20%20order%3A%200;%0A%20%20%7D%0A%0A%20%20%23mai n-content%20%7B%0A%20%20%20%20flex%3A%201%201%20auto ;%0A%20%20%20%20order%3A%200;%0A%20%20%7D%0A%0A%20 %20.nav-wrapper%20%7B%0A%20%20%20%20flex%3A%200%201%20auto ;%0A%20%20%20%20margin-top%3A%208px;%0A%20%20%20%20order%3A%201;%0A%20%20 %20%20padding-left%3A%200;%0A%20%20%20%20padding-right%3A%200;%0A%20%20%20%20position%3A%20relative ;%0A%20%20%20%20width%3A%20100%25;%0A%20%20%7D%0A% 7D%0A%0A@media%20(max-width%3A%20239px)%20and%20(orientation%3A%20portra it)%20%7B%0A%20%20.nav-wrapper%20%7B%0A%20%20%20%20padding-left%3A%200;%0A%20%20%20%20padding-right%3A%200;%0A%20%20%7D%0A%7D%0A%3C/style%3E%0A%20%20%3Cscript%3E//%20Copyright%20(c)%202012%20The%20Chromium%20Autho rs.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A//%20//%20Copyright%20(c)%202013%20The%20Chromium%20Autho rs.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A/**%0A%20*%20@fileoverview%20Assertion%20support.%0 A%20*/%0A%0A/**%0A%20*%20Verify%20%7Ccondition%7C%20is%20truthy %20and%20return%20%7Ccondition%7C%20if%20so.%0A%20 *%20@template%20T%0A%20*%20@param%20%7BT%7D%20cond ition%20A%20condition%20to%20check%20for%20truthin ess.%20%20Note%20that%20this%0A%20*%20%20%20%20%20 may%20be%20used%20to%20test%20whether%20a%20value% 20is%20defined%20or%20not,%20and%20we%20don't%20wa nt%0A%20*%20%20%20%20%20to%20force%20a%20cast%20to %20Boolean.%0A%20*%20@param%20%7Bstring=%7D%20opt_ message%20A%20message%20to%20show%20on%20failure.% 0A%20*%20@return%20%7BT%7D%20A%20non-null%20%7Ccondition%7C.%0A%20*/%0Afunction%20assert(condition,%20opt_message)%20% 7B%0A%20%20'use%20strict';%0A%20%20if%20(!conditio n)%20%7B%0A%20%20%20%20var%20msg%20=%20'Assertion% 20failed';%0A%20%20%20%20if%20(opt_message)%0A%20% 20%20%20%20%20msg%20=%20msg%20+%20'%3A%20'%20+%20o pt_message;%0A%20%20%20%20throw%20new%20Error(msg) ;%0A%20%20%7D%0A%20%20return%20condition;%0A%7D%0A %0A/**%0A%20*%20Call%20this%20from%20places%20in%20the %20code%20that%20should%20never%20be%20reached.%0A %20*%0A%20*%20For%20example,%20handling%20all%20th e%20values%20of%20enum%20with%20a%20switch()%20lik e%20this%3A%0A%20*%0A%20*%20%20%20function%20getVa lueFromEnum(enum)%20%7B%0A%20*%20%20%20%20%20switc h%20(enum)%20%7B%0A%20*%20%20%20%20%20%20%20case%2 0ENUM_FIRST_OF_TWO%3A%0A%20*%20%20%20%20%20%20%20% 20%20return%20first%0A%20*%20%20%20%20%20%20%20cas e%20ENUM_LAST_OF_TWO%3A%0A%20*%20%20%20%20%20%20%2 0%20%20return%20last;%0A%20*%20%20%20%20%20%7D%0A% 20*%20%20%20%20%20assertNotReached();%0A%20*%20%20 %20%20%20return%20document;%0A%20*%20%20%20%7D%0A% 20*%0A%20*%20This%20code%20should%20only%20be%20hi t%20in%20the%20case%20of%20serious%20programmer%20 error%20or%0A%20*%20unexpected%20input.%0A%20*%0A% 20*%20@param%20%7Bstring=%7D%20opt_message%20A%20m essage%20to%20show%20when%20this%20is%20hit.%0A%20 */%0Afunction%20assertNotReached(opt_message)%20%7B% 0A%20%20throw%20new%20Error(opt_message%20%7C%7C%2 0'Unreachable%20code%20hit');%0A%7D%0A%0A/**%0A%20*%20@param%20%7B*%7D%20value%20The%20value %20to%20check.%0A%20*%20@param%20%7Bfunction(new%3 A%20T,%20...)%7D%20type%20A%20user-defined%20constructor.%0A%20*%20@param%20%7Bstring =%7D%20opt_message%20A%20message%20to%20show%20whe n%20this%20is%20hit.%0A%20*%20@return%20%7BT%7D%0A %20*%20@template%20T%0A%20*/%0Afunction%20assertInstanceof(value,%20type,%20op t_message)%20%7B%0A%20%20if%20(!(value%20instanceo f%20type))%20%7B%0A%20%20%20%20throw%20new%20Error (opt_message%20%7C%7C%0A%20%20%20%20%20%20%20%20%2 0%20%20%20%20%20%20%20%20%20%20%20value%20+%20'%20 is%20not%20a%5Bn%5D%20'%20+%20(type.name%20%7C%7C% 20typeof%20type));%0A%20%20%7D%0A%20%20return%20va lue;%0A%7D%0A%0A%0A/**%0A%20*%20Alias%20for%20document.getElementById. %0A%20*%20@param%20%7Bstring%7D%20id%20The%20ID%20 of%20the%20element%20to%20find.%0A%20*%20@return%2 0%7BHTMLElement%7D%20The%20found%20element%20or%20 null%20if%20not%20found.%0A%20*/%0Afunction%20$(id)%20%7B%0A%20%20return%20documen t.getElementById(id);%0A%7D%0A%0A/**%0A%20*%20Add%20an%20accessible%20message%20to%2 0the%20page%20that%20will%20be%20announced%20to%0A %20*%20users%20who%20have%20spoken%20feedback%20on ,%20but%20will%20be%20invisible%20to%20all%0A%20*% 20other%20users.%20It's%20removed%20right%20away%2 0so%20it%20doesn't%20clutter%20the%20DOM.%0A%20*%2 0@param%20%7Bstring%7D%20msg%20The%20text%20to%20b e%20pronounced.%0A%20*/%0Afunction%20announceAccessibleMessage(msg)%20%7B %0A%20%20var%20element%20=%20document.createElemen t('div');%0A%20%20element.setAttribute('aria-live',%20'polite');%0A%20%20element.style.position %20=%20'relative';%0A%20%20element.style.left%20=% 20'-9999px';%0A%20%20element.style.height%20=%20'0px'; %0A%20%20element.innerText%20=%20msg;%0A%20%20docu ment.body.appendChild(element);%0A%20%20window.set Timeout(function()%20%7B%0A%20%20%20%20document.bo dy.removeChild(element);%0A%20%20%7D,%200);%0A%7D% 0A%0A/**%0A%20*%20Calls%20chrome.send%20with%20a%20callb ack%20and%20restores%20the%20original%20afterwards .%0A%20*%20@param%20%7Bstring%7D%20name%20The%20na me%20of%20the%20message%20to%20send.%0A%20*%20@par am%20%7B!Array%7D%20params%20The%20parameters%20to %20send.%0A%20*%20@param%20%7Bstring%7D%20callback Name%20The%20name%20of%20the%20function%20that%20t he%20backend%20calls.%0A%20*%20@param%20%7B!Functi on%7D%20callback%20The%20function%20to%20call.%0A% 20*/%0Afunction%20chromeSend(name,%20params,%20callbac kName,%20callback)%20%7B%0A%20%20var%20old%20=%20g lobal%5BcallbackName%5D;%0A%20%20global%5Bcallback Name%5D%20=%20function()%20%7B%0A%20%20%20%20//%20restore%0A%20%20%20%20global%5BcallbackName%5D% 20=%20old;%0A%0A%20%20%20%20var%20args%20=%20Array .prototype.slice.call(arguments);%0A%20%20%20%20re turn%20callback.apply(global,%20args);%0A%20%20%7D ;%0A%20%20chrome.send(name,%20params);%0A%7D%0A%0A/**%0A%20*%20Returns%20the%20scale%20factors%20supp orted%20by%20this%20platform%20for%20webui%0A%20*% 20resources.%0A%20*%20@return%20%7BArray%7D%20The% 20supported%20scale%20factors.%0A%20*/%0Afunction%20getSupportedScaleFactors()%20%7B%0A% 20%20var%20supportedScaleFactors%20=%20%5B%5D;%0A% 20%20if%20(cr.isMac%20%7C%7C%20cr.isChromeOS%20%7C %7C%20cr.isWindows%20%7C%7C%20cr.isLinux)%20%7B%0A %20%20%20%20//%20All%20desktop%20platforms%20support%20zooming%2 0which%20also%20updates%20the%0A%20%20%20%20//%20renderer's%20device%20scale%20factors%20(a.k.a% 20devicePixelRatio),%20and%0A%20%20%20%20//%20these%20platforms%20has%20high%20DPI%20assets%2 0for%202.0x.%20Use%201x%20and%202x%20in%0A%20%20%2 0%20//%20image-set%20on%20these%20platforms%20so%20that%20the%20r enderer%20can%20pick%20the%0A%20%20%20%20//%20closest%20image%20for%20the%20current%20device% 20scale%20factor.%0A%20%20%20%20supportedScaleFact ors.push(1);%0A%20%20%20%20supportedScaleFactors.p ush(2);%0A%20%20%7D%20else%20%7B%0A%20%20%20%20//%20For%20other%20platforms%20that%20use%20fixed%20 device%20scale%20factor,%20use%0A%20%20%20%20//%20the%20window's%20device%20pixel%20ratio.%0A%20% 20%20%20//%20TODO(oshima)%3A%20Investigate%20if%20Android/iOS%20need%20to%20use%20image-set.%0A%20%20%20%20supportedScaleFactors.push(wind ow.devicePixelRatio);%0A%20%20%7D%0A%20%20return%2 0supportedScaleFactors;%0A%7D%0A%0A/**%0A%20*%20Generates%20a%20CSS%20url%20string.%0A %20*%20@param%20%7Bstring%7D%20s%20The%20URL%20to% 20generate%20the%20CSS%20url%20for.%0A%20*%20@retu rn%20%7Bstring%7D%20The%20CSS%20url%20string.%0A%2 0*/%0Afunction%20url(s)%20%7B%0A%20%20//%20http%3A//www.w3.org/TR/css3-values/%23uris%0A%20%20//%20Parentheses,%20commas,%20whitespace%20character s,%20single%20quotes%20(')%20and%20double%0A%20%20//%20quotes%20(%22)%20appearing%20in%20a%20URI%20mus t%20be%20escaped%20with%20a%20backslash%0A%20%20va r%20s2%20=%20s.replace(/(%5C(%7C%5C)%7C%5C,%7C%5Cs%7C%5C'%7C%5C%22%7C%5C%5 C)/g,%20'%5C%5C$1');%0A%20%20//%20WebKit%20has%20a%20bug%20when%20it%20comes%20to %20URLs%20that%20end%20with%20%5C%0A%20%20//%20https%3A//bugs.webkit.org/show_bug.cgi%3Fid=28885%0A%20%20if%20(/%5C%5C%5C%5C$/.test(s2))%20%7B%0A%20%20%20%20//%20Add%20a%20space%20to%20work%20around%20the%20We bKit%20bug.%0A%20%20%20%20s2%20+=%20'%20';%0A%20%2 0%7D%0A%20%20return%20'url(%22'%20+%20s2%20+%20'%2 2)';%0A%7D%0A%0A/**%0A%20*%20Returns%20the%20URL%20of%20the%20image ,%20or%20an%20image%20set%20of%20URLs%20for%20the% 20profile%20avatar.%0A%20*%20Default%20avatars%20h ave%20resources%20available%20for%20multiple%20sca lefactors,%20whereas%0A%20*%20the%20GAIA%20profile %20image%20only%20comes%20in%20one%20size.%0A%20*% 0A%20*%20@param%20%7Bstring%7D%20path%20The%20path %20of%20the%20image.%0A%20*%20@return%20%7Bstring% 7D%20The%20url,%20or%20an%20image%20set%20of%20URL s%20of%20the%20avatar%20image.%0A%20*/%0Afunction%20getProfileAvatarIcon(path)%20%7B%0A% 20%20var%20chromeThemePath%20=%20'chrome%3A//theme';%0A%20%20var%20isDefaultAvatar%20=%0A%20%20 %20%20%20%20(path.slice(0,%20chromeThemePath.lengt h)%20==%20chromeThemePath);%0A%20%20return%20isDef aultAvatar%20%3F%20imageset(path%20+%20'@scalefact orx')%3A%20url(path);%0A%7D%0A%0A/**%0A%20*%20Generates%20a%20CSS%20-webkit-image-set%20for%20a%20chrome%3A//%20url.%0A%20*%20An%20entry%20in%20the%20image%20s et%20is%20added%20for%20each%20of%20getSupportedSc aleFactors().%0A%20*%20The%20scale-factor-specific%20url%20is%20generated%20by%20replacing%2 0the%20first%20instance%20of%0A%20*%20'scalefactor '%20in%20%7Cpath%7C%20with%20the%20numeric%20scale %20factor.%0A%20*%20@param%20%7Bstring%7D%20path%2 0The%20URL%20to%20generate%20an%20image%20set%20fo r.%0A%20*%20%20%20%20%20'scalefactor'%20should%20b e%20a%20substring%20of%20%7Cpath%7C.%0A%20*%20@ret urn%20%7Bstring%7D%20The%20CSS%20-webkit-image-set.%0A%20*/%0Afunction%20imageset(path)%20%7B%0A%20%20var%20s upportedScaleFactors%20=%20getSupportedScaleFactor s();%0A%0A%20%20var%20replaceStartIndex%20=%20path .indexOf('scalefactor');%0A%20%20if%20(replaceStar tIndex%20%3C%200)%0A%20%20%20%20return%20url(path) ;%0A%0A%20%20var%20s%20=%20'';%0A%20%20for%20(var% 20i%20=%200;%20i%20%3C%20supportedScaleFactors.len gth;%20++i)%20%7B%0A%20%20%20%20var%20scaleFactor% 20=%20supportedScaleFactors%5Bi%5D;%0A%20%20%20%20 var%20pathWithScaleFactor%20=%20path.substr(0,%20r eplaceStartIndex)%20+%20scaleFactor%20+%0A%20%20%2 0%20%20%20%20%20path.substr(replaceStartIndex%20+% 20'scalefactor'.length);%0A%0A%20%20%20%20s%20+=%2 0url(pathWithScaleFactor)%20+%20'%20'%20+%20scaleF actor%20+%20'x';%0A%0A%20%20%20%20if%20(i%20!=%20s upportedScaleFactors.length%20-%201)%0A%20%20%20%20%20%20s%20+=%20',%20';%0A%20%2 0%7D%0A%20%20return%20'-webkit-image-set('%20+%20s%20+%20')';%0A%7D%0A%0A/**%0A%20*%20Parses%20query%20parameters%20from%20L ocation.%0A%20*%20@param%20%7BLocation%7D%20locati on%20The%20URL%20to%20generate%20the%20CSS%20url%2 0for.%0A%20*%20@return%20%7BObject%7D%20Dictionary %20containing%20name%20value%20pairs%20for%20URL%0 A%20*/%0Afunction%20parseQueryParams(location)%20%7B%0A% 20%20var%20params%20=%20%7B%7D;%0A%20%20var%20quer y%20=%20unescape(location.search.substring(1));%0A %20%20var%20vars%20=%20query.split('&');%0A%20%20for%20(var%20i%20=%200;%20i%20%3C%20va rs.length;%20i++)%20%7B%0A%20%20%20%20var%20pair%2 0=%20vars%5Bi%5D.split('=');%0A%20%20%20%20params% 5Bpair%5B0%5D%5D%20=%20pair%5B1%5D;%0A%20%20%7D%0A %20%20return%20params;%0A%7D%0A%0A/**%0A%20*%20Creates%20a%20new%20URL%20by%20appendi ng%20or%20replacing%20the%20given%20query%20key%20 and%20value.%0A%20*%20Not%20supporting%20URL%20wit h%20username%20and%20password.%0A%20*%20@param%20% 7BLocation%7D%20location%20The%20original%20URL.%0 A%20*%20@param%20%7Bstring%7D%20key%20The%20query% 20parameter%20name.%0A%20*%20@param%20%7Bstring%7D %20value%20The%20query%20parameter%20value.%0A%20* %20@return%20%7Bstring%7D%20The%20constructed%20ne w%20URL.%0A%20*/%0Afunction%20setQueryParam(location,%20key,%20val ue)%20%7B%0A%20%20var%20query%20=%20parseQueryPara ms(location);%0A%20%20query%5BencodeURIComponent(k ey)%5D%20=%20encodeURIComponent(value);%0A%0A%20%2 0var%20newQuery%20=%20'';%0A%20%20for%20(var%20q%2 0in%20query)%20%7B%0A%20%20%20%20newQuery%20+=%20( newQuery%20%3F%20'&'%20%3A%20'%3F')%20+%20q%20+%20'='%20+%20query%5Bq %5D;%0A%20%20%7D%0A%0A%20%20return%20location.orig in%20+%20location.pathname%20+%20newQuery%20+%20lo cation.hash;%0A%7D%0A%0A/**%0A%20*%20@param%20%7BNode%7D%20el%20A%20node%20 to%20search%20for%20ancestors%20with%20%7CclassNam e%7C.%0A%20*%20@param%20%7Bstring%7D%20className%2 0A%20class%20to%20search%20for.%0A%20*%20@return%2 0%7BElement%7D%20A%20node%20with%20class%20of%20%7 CclassName%7C%20or%20null%20if%20none%20is%20found .%0A%20*/%0Afunction%20findAncestorByClass(el,%20className) %20%7B%0A%20%20return%20/**%20@type%20%7BElement%7D%20*/(findAncestor(el,%20function(el)%20%7B%0A%20%20%20 %20return%20el.classList%20&&%20el.classList.contains(className);%0A%20%20%7D)) ;%0A%7D%0A%0A/**%0A%20*%20Return%20the%20first%20ancestor%20for% 20which%20the%20%7B@code%20predicate%7D%20returns% 20true.%0A%20*%20@param%20%7BNode%7D%20node%20The% 20node%20to%20check.%0A%20*%20@param%20%7Bfunction (Node)%3Aboolean%7D%20predicate%20The%20function%2 0that%20tests%20the%0A%20*%20%20%20%20%20nodes.%0A %20*%20@return%20%7BNode%7D%20The%20found%20ancest or%20or%20null%20if%20not%20found.%0A%20*/%0Afunction%20findAncestor(node,%20predicate)%20%7 B%0A%20%20var%20last%20=%20false;%0A%20%20while%20 (node%20!=%20null%20&&%20!(last%20=%20predicate(node)))%20%7B%0A%20%20%2 0%20node%20=%20node.parentNode;%0A%20%20%7D%0A%20% 20return%20last%20%3F%20node%20%3A%20null;%0A%7D%0 A%0Afunction%20swapDomNodes(a,%20b)%20%7B%0A%20%20 var%20afterA%20=%20a.nextSibling;%0A%20%20if%20(af terA%20==%20b)%20%7B%0A%20%20%20%20swapDomNodes(b, %20a);%0A%20%20%20%20return;%0A%20%20%7D%0A%20%20v ar%20aParent%20=%20a.parentNode;%0A%20%20b.parentN ode.replaceChild(a,%20b);%0A%20%20aParent.insertBe fore(b,%20afterA);%0A%7D%0A%0A/**%0A%20*%20Disables%20text%20selection%20and%20dr agging,%20with%20optional%20whitelist%20callbacks. %0A%20*%20@param%20%7Bfunction(Event)%3Aboolean=%7 D%20opt_allowSelectStart%20Unless%20this%20functio n%0A%20*%20%20%20%20is%20defined%20and%20returns%2 0true,%20the%20onselectionstart%20event%20will%20b e%0A%20*%20%20%20%20surpressed.%0A%20*%20@param%20 %7Bfunction(Event)%3Aboolean=%7D%20opt_allowDragSt art%20Unless%20this%20function%0A%20*%20%20%20%20i s%20defined%20and%20returns%20true,%20the%20ondrag start%20event%20will%20be%20surpressed.%0A%20*/%0Afunction%20disableTextSelectAndDrag(opt_allowSe lectStart,%20opt_allowDragStart)%20%7B%0A%20%20//%20Disable%20text%20selection.%0A%20%20document.on selectstart%20=%20function(e)%20%7B%0A%20%20%20%20 if%20(!(opt_allowSelectStart%20&&%20opt_allowSelectStart.call(this,%20e)))%0A%20%20 %20%20%20%20e.preventDefault();%0A%20%20%7D;%0A%0A %20%20//%20Disable%20dragging.%0A%20%20document.ondragstar t%20=%20function(e)%20%7B%0A%20%20%20%20if%20(!(op t_allowDragStart%20&&%20opt_allowDragStart.call(this,%20e)))%0A%20%20%2 0%20%20%20e.preventDefault();%0A%20%20%7D;%0A%7D%0 A%0A/**%0A%20*%20TODO(dbeam)%3A%20DO%20NOT%20USE.%20THI S%20IS%20DEPRECATED.%20Use%20an%20action-link%20instead.%0A%20*%20Call%20this%20to%20stop%2 0clicks%20on%20%3Ca%20href=%22%23%22%3E%20links%20 from%20scrolling%20to%20the%20top%20of%0A%20*%20th e%20page%20(and%20possibly%20showing%20a%20%23%20i n%20the%20link).%0A%20*/%0Afunction%20preventDefaultOnPoundLinkClicks()%20 %7B%0A%20%20document.addEventListener('click',%20f unction(e)%20%7B%0A%20%20%20%20var%20anchor%20=%20 findAncestor(/**%20@type%20%7BNode%7D%20*/(e.target),%20function(el)%20%7B%0A%20%20%20%20%20 %20return%20el.tagName%20==%20'A';%0A%20%20%20%20% 7D);%0A%20%20%20%20//%20Use%20getAttribute()%20to%20prevent%20URL%20nor malization.%0A%20%20%20%20if%20(anchor%20&&%20anchor.getAttribute('href')%20==%20'%23')%0A%20 %20%20%20%20%20e.preventDefault();%0A%20%20%7D);%0 A%7D%0A%0A/**%0A%20*%20Check%20the%20directionality%20of%20th e%20page.%0A%20*%20@return%20%7Bboolean%7D%20True% 20if%20Chrome%20is%20running%20an%20RTL%20UI.%0A%2 0*/%0Afunction%20isRTL()%20%7B%0A%20%20return%20docum ent.documentElement.dir%20==%20'rtl';%0A%7D%0A%0A/**%0A%20*%20Get%20an%20element%20that's%20known%20 to%20exist%20by%20its%20ID.%20We%20use%20this%20in stead%20of%20just%0A%20*%20calling%20getElementByI d%20and%20not%20checking%20the%20result%20because% 20this%20lets%20us%0A%20*%20satisfy%20the%20JSComp iler%20type%20system.%0A%20*%20@param%20%7Bstring% 7D%20id%20The%20identifier%20name.%0A%20*%20@retur n%20%7B!HTMLElement%7D%20the%20Element.%0A%20*/%0Afunction%20getRequiredElement(id)%20%7B%0A%20%2 0return%20assertInstanceof($(id),%20HTMLElement,%0 A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%20%20%20%20%20%20'Missing%20required%2 0element%3A%20'%20+%20id);%0A%7D%0A%0A/**%0A%20*%20Query%20an%20element%20that's%20known% 20to%20exist%20by%20a%20selector.%20We%20use%20thi s%20instead%20of%0A%20*%20just%20calling%20querySe lector%20and%20not%20checking%20the%20result%20bec ause%20this%20lets%20us%0A%20*%20satisfy%20the%20J SCompiler%20type%20system.%0A%20*%20@param%20%7Bst ring%7D%20selectors%20CSS%20selectors%20to%20query %20the%20element.%0A%20*%20@param%20%7B(!Document% 7C!DocumentFragment%7C!Element)=%7D%20opt_context% 20An%20optional%0A%20*%20%20%20%20%20context%20obj ect%20for%20querySelector.%0A%20*%20@return%20%7B! HTMLElement%7D%20the%20Element.%0A%20*/%0Afunction%20queryRequiredElement(selectors,%20op t_context)%20%7B%0A%20%20var%20element%20=%20(opt_ context%20%7C%7C%20document).querySelector(selecto rs);%0A%20%20return%20assertInstanceof(element,%20 HTMLElement,%0A%20%20%20%20%20%20%20%20%20%20%20%2 0%20%20%20%20%20%20%20%20%20%20%20%20%20%20'Missin g%20required%20element%3A%20'%20+%20selectors);%0A %7D%0A%0A//%20Handle%20click%20on%20a%20link.%20If%20the%20li nk%20points%20to%20a%20chrome%3A%20or%20file%3A%20 url,%20then%0A//%20call%20into%20the%20browser%20to%20do%20the%20n avigation.%0Adocument.addEventListener('click',%20 function(e)%20%7B%0A%20%20if%20(e.defaultPrevented )%0A%20%20%20%20return;%0A%0A%20%20var%20el%20=%20 e.target;%0A%20%20if%20(el.nodeType%20==%20Node.EL EMENT_NODE%20&&%0A%20%20%20%20%20%20el.webkitMatchesSelector('A,% 20A%20*'))%20%7B%0A%20%20%20%20while%20(el.tagName %20!=%20'A')%20%7B%0A%20%20%20%20%20%20el%20=%20el .parentElement;%0A%20%20%20%20%7D%0A%0A%20%20%20%2 0if%20((el.protocol%20==%20'file%3A'%20%7C%7C%20el .protocol%20==%20'about%3A')%20&&%0A%20%20%20%20%20%20%20%20(e.button%20==%200%20%7 C%7C%20e.button%20==%201))%20%7B%0A%20%20%20%20%20 %20chrome.send('navigateToUrl',%20%5B%0A%20%20%20% 20%20%20%20%20el.href,%0A%20%20%20%20%20%20%20%20e l.target,%0A%20%20%20%20%20%20%20%20e.button,%0A%2 0%20%20%20%20%20%20%20e.altKey,%0A%20%20%20%20%20% 20%20%20e.ctrlKey,%0A%20%20%20%20%20%20%20%20e.met aKey,%0A%20%20%20%20%20%20%20%20e.shiftKey%0A%20%2 0%20%20%20%20%5D);%0A%20%20%20%20%20%20e.preventDe fault();%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D);%0A% 0A/**%0A%20*%20Creates%20a%20new%20URL%20which%20is%2 0the%20old%20URL%20with%20a%20GET%20param%20of%20k ey=value.%0A%20*%20@param%20%7Bstring%7D%20url%20T he%20base%20URL.%20There%20is%20not%20sanity%20che cking%20on%20the%20URL%20so%0A%20*%20%20%20%20%20i t%20must%20be%20passed%20in%20a%20proper%20format. %0A%20*%20@param%20%7Bstring%7D%20key%20The%20key% 20of%20the%20param.%0A%20*%20@param%20%7Bstring%7D %20value%20The%20value%20of%20the%20param.%0A%20*% 20@return%20%7Bstring%7D%20The%20new%20URL.%0A%20*/%0Afunction%20appendParam(url,%20key,%20value)%20% 7B%0A%20%20var%20param%20=%20encodeURIComponent(ke y)%20+%20'='%20+%20encodeURIComponent(value);%0A%0 A%20%20if%20(url.indexOf('%3F')%20==%20-1)%0A%20%20%20%20return%20url%20+%20'%3F'%20+%20pa ram;%0A%20%20return%20url%20+%20'&'%20+%20param;%0A%7D%0A%0A/**%0A%20*%20Creates%20a%20CSS%20-webkit-image-set%20for%20a%20favicon%20request.%0A%20*%20@param %20%7Bstring%7D%20url%20The%20url%20for%20the%20fa vicon.%0A%20*%20@param%20%7Bnumber=%7D%20opt_size% 20Optional%20preferred%20size%20of%20the%20favicon .%0A%20*%20@param%20%7Bstring=%7D%20opt_type%20Opt ional%20type%20of%20favicon%20to%20request.%20Vali d%20values%0A%20*%20%20%20%20%20are%20'favicon'%20 and%20'touch-icon'.%20Default%20is%20'favicon'.%0A%20*%20@retur n%20%7Bstring%7D%20-webkit-image-set%20for%20the%20favicon.%0A%20*/%0Afunction%20getFaviconImageSet(url,%20opt_size,% 20opt_type)%20%7B%0A%20%20var%20size%20=%20opt_siz e%20%7C%7C%2016;%0A%20%20var%20type%20=%20opt_type %20%7C%7C%20'favicon';%0A%20%20return%20imageset(% 0A%20%20%20%20%20%20'chrome%3A//'%20+%20type%20+%20'/size/'%20+%20size%20+%20'@scalefactorx/'%20+%20url);%0A%7D%0A%0A/**%0A%20*%20Creates%20a%20new%20URL%20for%20a%20fa vicon%20request%20for%20the%20current%20device%20p ixel%20ratio.%0A%20*%20The%20URL%20must%20be%20upd ated%20when%20the%20user%20moves%20the%20browser%2 0to%20a%20screen%20with%20a%0A%20*%20different%20d evice%20pixel%20ratio.%20Use%20getFaviconImageSet( )%20for%20the%20updating%20to%0A%20*%20occur%20aut omatically.%0A%20*%20@param%20%7Bstring%7D%20url%2 0The%20url%20for%20the%20favicon.%0A%20*%20@param% 20%7Bnumber=%7D%20opt_size%20Optional%20preferred% 20size%20of%20the%20favicon.%0A%20*%20@param%20%7B string=%7D%20opt_type%20Optional%20type%20of%20fav icon%20to%20request.%20Valid%20values%0A%20*%20%20 %20%20%20are%20'favicon'%20and%20'touch-icon'.%20Default%20is%20'favicon'.%0A%20*%20@retur n%20%7Bstring%7D%20Updated%20URL%20for%20the%20fav icon.%0A%20*/%0Afunction%20getFaviconUrlForCurrentDevicePixelRa tio(url,%20opt_size,%20opt_type)%20%7B%0A%20%20var %20size%20=%20opt_size%20%7C%7C%2016;%0A%20%20var% 20type%20=%20opt_type%20%7C%7C%20'favicon';%0A%20% 20return%20'chrome%3A//'%20+%20type%20+%20'/size/'%20+%20size%20+%20'@'%20+%0A%20%20%20%20%20%20win dow.devicePixelRatio%20+%20'x/'%20+%20url;%0A%7D%0A%0A/**%0A%20*%20Creates%20an%20element%20of%20a%20spec ified%20type%20with%20a%20specified%20class%20name .%0A%20*%20@param%20%7Bstring%7D%20type%20The%20no de%20type.%0A%20*%20@param%20%7Bstring%7D%20classN ame%20The%20class%20name%20to%20use.%0A%20*%20@ret urn%20%7BElement%7D%20The%20created%20element.%0A% 20*/%0Afunction%20createElementWithClassName(type,%20c lassName)%20%7B%0A%20%20var%20elm%20=%20document.c reateElement(type);%0A%20%20elm.className%20=%20cl assName;%0A%20%20return%20elm;%0A%7D%0A%0A/**%0A%20*%20webkitTransitionEnd%20does%20not%20alw ays%20fire%20(e.g.%20when%20animation%20is%20abort ed%0A%20*%20or%20when%20no%20paint%20happens%20dur ing%20the%20animation).%20This%20function%20sets%2 0up%0A%20*%20a%20timer%20and%20emulate%20the%20eve nt%20if%20it%20is%20not%20fired%20when%20the%20tim er%20expires.%0A%20*%20@param%20%7B!HTMLElement%7D %20el%20The%20element%20to%20watch%20for%20webkitT ransitionEnd.%0A%20*%20@param%20%7Bnumber%7D%20tim eOut%20The%20maximum%20wait%20time%20in%20millisec onds%20for%20the%0A%20*%20%20%20%20%20webkitTransi tionEnd%20to%20happen.%0A%20*/%0Afunction%20ensureTransitionEndEvent(el,%20timeO ut)%20%7B%0A%20%20var%20fired%20=%20false;%0A%20%2 0el.addEventListener('webkitTransitionEnd',%20func tion%20f(e)%20%7B%0A%20%20%20%20el.removeEventList ener('webkitTransitionEnd',%20f);%0A%20%20%20%20fi red%20=%20true;%0A%20%20%7D);%0A%20%20window.setTi meout(function()%20%7B%0A%20%20%20%20if%20(!fired) %0A%20%20%20%20%20%20cr.dis*****SimpleEvent(el,%20 'webkitTransitionEnd',%20true);%0A%20%20%7D,%20tim eOut);%0A%7D%0A%0A/**%0A%20*%20Alias%20for%20document.scrollTop%20get ter.%0A%20*%20@param%20%7B!HTMLDocument%7D%20doc%2 0The%20document%20node%20where%20information%20wil l%20be%0A%20*%20%20%20%20%20queried%20from.%0A%20* %20@return%20%7Bnumber%7D%20The%20Y%20document%20s croll%20offset.%0A%20*/%0Afunction%20scrollTopForDocument(doc)%20%7B%0A%2 0%20return%20doc.documentElement.scrollTop%20%7C%7 C%20doc.body.scrollTop;%0A%7D%0A%0A/**%0A%20*%20Alias%20for%20document.scrollTop%20set ter.%0A%20*%20@param%20%7B!HTMLDocument%7D%20doc%2 0The%20document%20node%20where%20information%20wil l%20be%0A%20*%20%20%20%20%20queried%20from.%0A%20* %20@param%20%7Bnumber%7D%20value%20The%20target%20 Y%20scroll%20offset.%0A%20*/%0Afunction%20setScrollTopForDocument(doc,%20value )%20%7B%0A%20%20doc.documentElement.scrollTop%20=% 20doc.body.scrollTop%20=%20value;%0A%7D%0A%0A/**%0A%20*%20Alias%20for%20document.scrollLeft%20ge tter.%0A%20*%20@param%20%7B!HTMLDocument%7D%20doc% 20The%20document%20node%20where%20information%20wi ll%20be%0A%20*%20%20%20%20%20queried%20from.%0A%20 *%20@return%20%7Bnumber%7D%20The%20X%20document%20 scroll%20offset.%0A%20*/%0Afunction%20scrollLeftForDocument(doc)%20%7B%0A% 20%20return%20doc.documentElement.scrollLeft%20%7C %7C%20doc.body.scrollLeft;%0A%7D%0A%0A/**%0A%20*%20Alias%20for%20document.scrollLeft%20se tter.%0A%20*%20@param%20%7B!HTMLDocument%7D%20doc% 20The%20document%20node%20where%20information%20wi ll%20be%0A%20*%20%20%20%20%20queried%20from.%0A%20 *%20@param%20%7Bnumber%7D%20value%20The%20target%2 0X%20scroll%20offset.%0A%20*/%0Afunction%20setScrollLeftForDocument(doc,%20valu e)%20%7B%0A%20%20doc.documentElement.scrollLeft%20 =%20doc.body.scrollLeft%20=%20value;%0A%7D%0A%0A/**%0A%20*%20Replaces%20'&',%20'%3C',%20'%3E',%20'%22',%20and%20'''%20charac ters%20with%20their%20HTML%20encoding.%0A%20*%20@p aram%20%7Bstring%7D%20original%20The%20original%20 string.%0A%20*%20@return%20%7Bstring%7D%20The%20st ring%20with%20all%20the%20characters%20mentioned%2 0above%20replaced.%0A%20*/%0Afunction%20HTMLEscape(original)%20%7B%0A%20%20r eturn%20original.replace(/&/g,%20'&')%0A%20%20%20%20%20%20%20%20%20%20%20%20%2 0%20%20%20%20.replace(/%3C/g,%20'<')%0A%20%20%20%20%20%20%20%20%20%20%20%20%2 0%20%20%20%20.replace(/%3E/g,%20'>')%0A%20%20%20%20%20%20%20%20%20%20%20%20%2 0%20%20%20%20.replace(/%22/g,%20'"')%0A%20%20%20%20%20%20%20%20%20%20%20%20%2 0%20%20%20%20.replace(/'/g,%20'&%2339;');%0A%7D%0A%0A/**%0A%20*%20Shortens%20the%20provided%20string%20( if%20necessary)%20to%20a%20string%20of%20length%20 at%20most%0A%20*%20%7CmaxLength%7C.%0A%20*%20@para m%20%7Bstring%7D%20original%20The%20original%20str ing.%0A%20*%20@param%20%7Bnumber%7D%20maxLength%20 The%20maximum%20length%20allowed%20for%20the%20str ing.%0A%20*%20@return%20%7Bstring%7D%20The%20origi nal%20string%20if%20its%20length%20does%20not%20ex ceed%0A%20*%20%20%20%20%20%7CmaxLength%7C.%20Other wise%20the%20first%20%7CmaxLength%7C%20-%201%20characters%20with%20'...'%0A%20*%20%20%20%2 0%20appended.%0A%20*/%0Afunction%20elide(original,%20maxLength)%20%7B%0 A%20%20if%20(original.length%20%3C=%20maxLength)%0 A%20%20%20%20return%20original;%0A%20%20return%20o riginal.substring(0,%20maxLength%20-%201)%20+%20'%5Cu2026';%0A%7D%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202014%20The%20Chromium%20Authors.%20 All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0Avar%20C APTIVEPORTAL_CMD_OPEN_LOGIN_PAGE%20=%20'openLoginP age';%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202014%20The%20Chromium%20Authors.%20 All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0Afunctio n%20setupSSLDebuggingInfo()%20%7B%0A%20%20if%20(lo adTimeData.getString('type')%20!=%20'SSL')%0A%20%2 0%20%20return;%0A%0A%20%20//%20The%20titles%20are%20not%20internationalized%20 because%20this%20is%20debugging%20information%0A%2 0%20//%20for%20bug%20reports,%20help%20center%20posts,%2 0etc.%0A%20%20appendDebuggingField('Subject',%20lo adTimeData.getString('subject'));%0A%20%20appendDe buggingField('Issuer',%20loadTimeData.getString('i ssuer'));%0A%20%20appendDebuggingField('Expires%20 on',%20loadTimeData.getString('expirationDate'));% 0A%20%20appendDebuggingField('Current%20date',%20l oadTimeData.getString('currentDate'));%0A%20%20app endDebuggingField('PEM%20encoded%20chain',%20loadT imeData.getString('pem'));%0A%0A%20%20$('error-code').addEventListener('click',%20toggleDebugging Info);%0A%7D%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202015%20The%20Chromium%20Authors.%20 All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A'use%20 strict';%0A%0A//%20Other%20constants%20defined%20in%20security_int erstitial_page.h.%0Avar%20SB_BOX_CHECKED%20=%20'bo xchecked';%0Avar%20SB_DISPLAY_CHECK_BOX%20=%20'dis playcheckbox';%0A%0A//%20This%20sets%20up%20the%20Extended%20Safe%20Brow sing%20Reporting%20opt-in,%20either%20for%0A//%20reporting%20malware%20or%20invalid%20certificat e%20chains.%20Does%20nothing%20if%20the%0A//%20interstitial%20type%20is%20not%20SAFEBROWSING%2 0or%20SSL%20or%20CAPTIVE_PORTAL.%0Afunction%20setu pExtendedReportingCheckbox()%20%7B%0A%20%20var%20i nterstitialType%20=%20loadTimeData.getString('type ');%0A%20%20if%20(interstitialType%20!=%20'SAFEBRO WSING'%20&&%20interstitialType%20!=%20'SSL'%20&&%0A%20%20%20%20%20%20interstitialType%20!=%20'CAPT IVE_PORTAL')%20%7B%0A%20%20%20%20return;%0A%20%20% 7D%0A%0A%20%20if%20(!loadTimeData.getBoolean(SB_DI SPLAY_CHECK_BOX))%20%7B%0A%20%20%20%20return;%0A%2 0%20%7D%0A%0A%20%20$('opt-in-label').innerHTML%20=%20loadTimeData.getString('op tInLink');%0A%20%20$('opt-in-checkbox').checked%20=%20loadTimeData.getBoolean(S B_BOX_CHECKED);%0A%20%20$('extended-reporting-opt-in').classList.remove('hidden');%0A%0A%20%20var%20 className%20=%20interstitialType%20==%20'SAFEBROWS ING'%20%3F%0A%20%20%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%20%20'safe-browsing-opt-in'%20%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%2 0%20%20%20%20%20'ssl-opt-in';%0A%20%20$('extended-reporting-opt-in').classList.add(className);%0A%0A%20%20$('body' ).classList.add('extended-reporting-has-checkbox');%0A%0A%20%20$('opt-in-checkbox').addEventListener('click',%20function()% 20%7B%0A%20%20%20%20sendCommand($('opt-in-checkbox').checked%20%3F%0A%20%20%20%20%20%20%20%2 0%20%20%20%20%20%20%20%20CMD_DO_REPORT%20%3A%0A%20 %20%20%20%20%20%20%20%20%20%20%20%20%20%20%20CMD_D ONT_REPORT);%0A%20%20%7D);%0A%7D%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202015%20The%20Chromium%20Authors.%20 All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0Avar%20m obileNav%20=%20false;%0A%0A/**%0A%20*%20For%20small%20screen%20mobile%20the%20 navigation%20buttons%20are%20moved%0A%20*%20below% 20the%20advanced%20text.%0A%20*/%0Afunction%20onResize()%20%7B%0A%20%20var%20helpO uterBox%20=%20document.querySelector('%23details') ;%0A%20%20var%20mainContent%20=%20document.querySe lector('%23main-content');%0A%20%20var%20mediaQuery%20=%20'(min-width%3A%20240px)%20and%20(max-width%3A%20420px)%20and%20'%20+%0A%20%20%20%20%20% 20'(max-height%3A%20736px)%20and%20(min-height%3A%20401px)%20and%20'%20+%0A%20%20%20%20%20 %20'(orientation%3A%20portrait),%20(max-width%3A%20736px)%20and%20'%20+%0A%20%20%20%20%20% 20'(max-height%3A%20420px)%20and%20(min-height%3A%20240px)%20and%20'%20+%0A%20%20%20%20%20 %20'(min-width%3A%20421px)%20and%20(orientation%3A%20landsc ape)';%0A%0A%20%20var%20detailsHidden%20=%20helpOu terBox.classList.contains('hidden');%0A%20%20var%2 0runnerContainer%20=%20document.querySelector('.ru nner-container');%0A%0A%20%20//%20Check%20for%20change%20in%20nav%20status.%0A%20 %20if%20(mobileNav%20!=%20window.matchMedia(mediaQ uery).matches)%20%7B%0A%20%20%20%20mobileNav%20=%2 0!mobileNav;%0A%0A%20%20%20%20//%20Handle%20showing%20the%20top%20content%20/%20details%20sections%20according%20to%20state.%0A %20%20%20%20if%20(mobileNav)%20%7B%0A%20%20%20%20% 20%20mainContent.classList.toggle('hidden',%20!det ailsHidden);%0A%20%20%20%20%20%20helpOuterBox.clas sList.toggle('hidden',%20detailsHidden);%0A%20%20% 20%20%20%20if%20(runnerContainer)%20%7B%0A%20%20%2 0%20%20%20%20%20runnerContainer.classList.toggle(' hidden',%20!detailsHidden);%0A%20%20%20%20%20%20%7 D%0A%20%20%20%20%7D%20else%20if%20(!detailsHidden) %20%7B%0A%20%20%20%20%20%20//%20Non%20mobile%20nav%20with%20visible%20details.% 0A%20%20%20%20%20%20mainContent.classList.remove(' hidden');%0A%20%20%20%20%20%20helpOuterBox.classLi st.remove('hidden');%0A%20%20%20%20%20%20if%20(run nerContainer)%20%7B%0A%20%20%20%20%20%20%20%20runn erContainer.classList.remove('hidden');%0A%20%20%2 0%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D% 0A%0Afunction%20setupMobileNav()%20%7B%0A%20%20win dow.addEventListener('resize',%20onResize);%0A%20% 20onResize();%0A%7D%0A%0Adocument.addEventListener ('DOMContentLoaded',%20setupMobileNav);%0A%3C/script%3E%0A%20%20%3Cscript%3E//%20Copyright%202014%20The%20Chromium%20Authors.%20 All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A//%20This%20is%20the%20shared%20code%20for%20the%20n ew%20(Chrome%2037)%20security%20interstitials.%20I t%20is%0A//%20used%20for%20both%20SSL%20interstitials%20and%2 0Safe%20Browsing%20interstitials.%0A%0Avar%20expan dedDetails%20=%20false;%0Avar%20keyPressState%20=% 200;%0A%0A//%20Should%20match%20SecurityInterstitialCommands%2 0in%20security_interstitial_page.h%0Avar%20CMD_DON T_PROCEED%20=%200;%0Avar%20CMD_PROCEED%20=%201;%0A//%20Ways%20for%20user%20to%20get%20more%20informati on%0Avar%20CMD_SHOW_MORE_SECTION%20=%202;%0Avar%20 CMD_OPEN_HELP_CENTER%20=%203;%0Avar%20CMD_OPEN_DIA GNOSTIC%20=%204;%0A//%20Primary%20button%20actions%0Avar%20CMD_RELOAD%2 0=%205;%0Avar%20CMD_OPEN_DATE_SETTINGS%20=%206;%0A var%20CMD_OPEN_LOGIN%20=%207;%0A//%20Safe%20Browsing%20Extended%20Reporting%0Avar%20 CMD_DO_REPORT%20=%208;%0Avar%20CMD_DONT_REPORT%20= %209;%0Avar%20CMD_OPEN_REPORTING_PRIVACY%20=%2010; %0A//%20Report%20a%20phishing%20error.%0Avar%20CMD_REPO RT_PHISHING_ERROR%20=%2011;%0A%0A/**%0A%20*%20A%20convenience%20method%20for%20sendi ng%20commands%20to%20the%20parent%20page.%0A%20*%2 0@param%20%7Bstring%7D%20cmd%20%20The%20command%20 to%20send.%0A%20*/%0Afunction%20sendCommand(cmd)%20%7B%0A%20%20windo w.domAutomationController.setAutomationId(1);%0A%2 0%20window.domAutomationController.send(cmd);%0A%7 D%0A%0A/**%0A%20*%20This%20allows%20errors%20to%20be%20ski ppped%20by%20typing%20%22danger%22%20into%20the%20 page.%0A%20*%20@param%20%7Bstring%7D%20e%20The%20k ey%20that%20was%20just%20pressed.%0A%20*/%0Afunction%20handleKeypress(e)%20%7B%0A%20%20var% 20BYPASS_SEQUENCE%20=%20'badidea';%0A%20%20if%20(B YPASS_SEQUENCE.charCodeAt(keyPressState)%20==%20e. keyCode)%20%7B%0A%20%20%20%20keyPressState++;%0A%2 0%20%20%20if%20(keyPressState%20==%20BYPASS_SEQUEN CE.length)%20%7B%0A%20%20%20%20%20%20sendCommand(C MD_PROCEED);%0A%20%20%20%20%20%20keyPressState%20= %200;%0A%20%20%20%20%7D%0A%20%20%7D%20else%20%7B%0 A%20%20%20%20keyPressState%20=%200;%0A%20%20%7D%0A %7D%0A%0A/**%0A%20*%20This%20appends%20a%20piece%20of%20debu gging%20information%20to%20the%20end%20of%20the%20 warning.%0A%20*%20When%20complete,%20the%20caller% 20must%20also%20make%20the%20debugging%20div%0A%20 *%20(error-debugging-info)%20visible.%0A%20*%20@param%20%7Bstring%7D%20 title%20%20The%20name%20of%20this%20debugging%20fi eld.%0A%20*%20@param%20%7Bstring%7D%20value%20%20T he%20value%20of%20the%20debugging%20field.%0A%20*/%0Afunction%20appendDebuggingField(title,%20value) %20%7B%0A%20%20//%20The%20values%20input%20here%20are%20not%20trust ed.%20Never%20use%20innerHTML%20on%20these%0A%20%2 0//%20values!%0A%20%20var%20spanTitle%20=%20document. createElement('span');%0A%20%20spanTitle.classList .add('debugging-title');%0A%20%20spanTitle.innerText%20=%20title%2 0+%20'%3A%20';%0A%0A%20%20var%20spanValue%20=%20do cument.createElement('span');%0A%20%20spanValue.cl assList.add('debugging-value');%0A%20%20spanValue.innerText%20=%20value;% 0A%0A%20%20var%20pElem%20=%20document.createElemen t('p');%0A%20%20pElem.classList.add('debugging-content');%0A%20%20pElem.appendChild(spanTitle);%0 A%20%20pElem.appendChild(spanValue);%0A%20%20$('er ror-debugging-info').appendChild(pElem);%0A%7D%0A%0Afunction%20t oggleDebuggingInfo()%20%7B%0A%20%20$('error-debugging-info').classList.toggle('hidden');%0A%7D%0A%0Afunc tion%20setupEvents()%20%7B%0A%20%20var%20overridab le%20=%20loadTimeData.getBoolean('overridable');%0 A%20%20var%20interstitialType%20=%20loadTimeData.g etString('type');%0A%20%20var%20ssl%20=%20intersti tialType%20==%20'SSL';%0A%20%20var%20captivePortal %20=%20interstitialType%20==%20'CAPTIVE_PORTAL';%0 A%20%20var%20badClock%20=%20ssl%20&&%20loadTimeData.getBoolean('bad_clock');%0A%20%20v ar%20hidePrimaryButton%20=%20badClock%20&&%20loadTimeData.getBoolean(%0A%20%20%20%20%20%20'h ide_primary_button');%0A%0A%20%20if%20(ssl)%20%7B% 0A%20%20%20%20$('body').classList.add(badClock%20% 3F%20'bad-clock'%20%3A%20'ssl');%0A%20%20%20%20$('error-code').textContent%20=%20loadTimeData.getString('e rrorCode');%0A%20%20%20%20$('error-code').classList.remove('hidden');%0A%20%20%7D%20e lse%20if%20(captivePortal)%20%7B%0A%20%20%20%20$(' body').classList.add('captive-portal');%0A%20%20%7D%20else%20%7B%0A%20%20%20%20$ ('body').classList.add('safe-browsing');%0A%20%20%7D%0A%0A%20%20if%20(hidePrima ryButton)%20%7B%0A%20%20%20%20$('primary-button').classList.add('hidden');%0A%20%20%7D%20el se%20%7B%0A%20%20%20%20$('primary-button').addEventListener('click',%20function()%20 %7B%0A%20%20%20%20%20%20switch%20(interstitialType )%20%7B%0A%20%20%20%20%20%20%20%20case%20'CAPTIVE_ PORTAL'%3A%0A%20%20%20%20%20%20%20%20%20%20sendCom mand(CMD_OPEN_LOGIN);%0A%20%20%20%20%20%20%20%20%2 0%20break;%0A%0A%20%20%20%20%20%20%20%20case%20'SS L'%3A%0A%20%20%20%20%20%20%20%20%20%20if%20(badClo ck)%0A%20%20%20%20%20%20%20%20%20%20%20%20sendComm and(CMD_OPEN_DATE_SETTINGS);%0A%20%20%20%20%20%20% 20%20%20%20else%20if%20(overridable)%0A%20%20%20%2 0%20%20%20%20%20%20%20%20sendCommand(CMD_DONT_PROC EED);%0A%20%20%20%20%20%20%20%20%20%20else%0A%20%2 0%20%20%20%20%20%20%20%20%20%20sendCommand(CMD_REL OAD);%0A%20%20%20%20%20%20%20%20%20%20break;%0A%0A %20%20%20%20%20%20%20%20case%20'SAFEBROWSING'%3A%0 A%20%20%20%20%20%20%20%20%20%20sendCommand(CMD_DON T_PROCEED);%0A%20%20%20%20%20%20%20%20%20%20break; %0A%0A%20%20%20%20%20%20%20%20default%3A%0A%20%20% 20%20%20%20%20%20%20%20throw%20'Invalid%20intersti tial%20type';%0A%20%20%20%20%20%20%7D%0A%20%20%20% 20%7D);%0A%20%20%7D%0A%0A%20%20if%20(overridable)% 20%7B%0A%20%20%20%20//%20Captive%20portal%20page%20isn't%20overridable.% 0A%20%20%20%20$('proceed-link').addEventListener('click',%20function(event) %20%7B%0A%20%20%20%20%20%20sendCommand(CMD_PROCEED );%0A%20%20%20%20%7D);%0A%20%20%7D%20else%20if%20( !ssl)%20%7B%0A%20%20%20%20$('final-paragraph').classList.add('hidden');%0A%20%20%7D%0 A%0A%20%20if%20(ssl%20&&%20overridable)%20%7B%0A%20%20%20%20$('proceed-link').classList.add('small-link');%0A%20%20%7D%20else%20if%20($('help-link'))%20%7B%0A%20%20%20%20//%20Overridable%20SSL%20page%20doesn't%20have%20thi s%20link.%0A%20%20%20%20$('help-link').addEventListener('click',%20function(event) %20%7B%0A%20%20%20%20%20%20if%20(ssl%20%7C%7C%20lo adTimeData.getBoolean('phishing'))%0A%20%20%20%20% 20%20%20%20sendCommand(CMD_OPEN_HELP_CENTER);%0A%2 0%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20sen dCommand(CMD_OPEN_DIAGNOSTIC);%0A%20%20%20%20%7D); %0A%20%20%7D%0A%0A%20%20if%20(captivePortal)%20%7B %0A%20%20%20%20//%20Captive%20portal%20page%20doesn't%20have%20deta ils%20button.%0A%20%20%20%20$('details-button').classList.add('hidden');%0A%20%20%7D%20el se%20%7B%0A%20%20%20%20$('details-button').addEventListener('click',%20function(even t)%20%7B%0A%20%20%20%20%20%20var%20hiddenDetails%2 0=%20$('details').classList.toggle('hidden');%0A%0 A%20%20%20%20%20%20if%20(mobileNav)%20%7B%0A%20%20 %20%20%20%20%20%20//%20Details%20appear%20over%20the%20main%20content% 20on%20small%20screens.%0A%20%20%20%20%20%20%20%20 $('main-content').classList.toggle('hidden',%20!hiddenDeta ils);%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%2 0%20%20%20%20%20%20$('main-content').classList.remove('hidden');%0A%20%20%20% 20%20%20%7D%0A%0A%20%20%20%20%20%20$('details-button').innerText%20=%20hiddenDetails%20%3F%0A%20 %20%20%20%20%20%20%20%20%20loadTimeData.getString( 'openDetails')%20%3A%0A%20%20%20%20%20%20%20%20%20 %20loadTimeData.getString('closeDetails');%0A%20%2 0%20%20%20%20if%20(!expandedDetails)%20%7B%0A%20%2 0%20%20%20%20%20%20//%20Record%20a%20histogram%20entry%20only%20the%20f irst%20time%20that%20details%20is%20opened.%0A%20% 20%20%20%20%20%20%20sendCommand(CMD_SHOW_MORE_SECT ION);%0A%20%20%20%20%20%20%20%20expandedDetails%20 =%20true;%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7 D);%0A%20%20%7D%0A%0A%20%20//%20TODO(felt)%3A%20This%20should%20be%20simplified %20once%20the%20Finch%20trial%20is%20no%20longer%0 A%20%20//%20needed.%0A%20%20if%20(interstitialType%20==%20' SAFEBROWSING'%20&&%0A%20%20%20%20%20%20loadTimeData.getBoolean('phis hing')%20&&%20$('report-error-link'))%20%7B%0A%20%20%20%20$('report-error-link').addEventListener('click',%20function(event) %20%7B%0A%20%20%20%20%20%20sendCommand(CMD_REPORT_ PHISHING_ERROR);%0A%20%20%20%20%7D);%0A%20%20%7D%0 A%0A%20%20preventDefaultOnPoundLinkClicks();%0A%20 %20setupExtendedReportingCheckbox();%0A%20%20setup SSLDebuggingInfo();%0A%20%20document.addEventListe ner('keypress',%20handleKeypress);%0A%7D%0A%0Adocu ment.addEventListener('DOMContentLoaded',%20setupE vents);%0A%3C/script%3E%0A%3C/head%3E%0A%3Cbody%20id=%22body%22%3E%0A%20%20%3Cdi v%20class=%22interstitial-wrapper%22%3E%0A%20%20%20%20%3Cdiv%20id=%22main-content%22%3E%0A%20%20%20%20%20%20%3Cdiv%20class=% 22icon%22%20id=%22icon%22%3E%3C/div%3E%0A%20%20%20%20%20%20%3Cdiv%20id=%22main-message%22%3E%0A%20%20%20%20%20%20%20%20%3Ch1%20i1 8n-content=%22heading%22%3E%3C/h1%3E%0A%20%20%20%20%20%20%20%20%3Cp%20i18n-values=%22.innerHTML%3AprimaryParagraph%22%3E%3C/p%3E%0A%20%20%20%20%20%20%20%20%3Cdiv%20id=%22debu gging%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cdiv %20id=%22error-code%22%20class=%22error-code%22%3E%3C/div%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cdiv%20id =%22error-debugging-info%22%20class=%22hidden%22%3E%3C/div%3E%0A%20%20%20%20%20%20%20%20%3C/div%3E%0A%20%20%20%20%20%20%3C/div%3E%0A%20%20%20%20%20%20%3Cdiv%20id=%22extended-reporting-opt-in%22%20class=%22hidden%22%3E%0A%20%20%20%20%20%20 %20%20%3Clabel%3E%0A%20%20%20%20%20%20%20%20%20%20 %3Cinput%20type=%22checkbox%22%20id=%22opt-in-checkbox%22%3E%0A%20%20%20%20%20%20%20%20%20%20%3C span%20class=%22checkbox%22%3E%3C/span%3E%0A%20%20%20%20%20%20%20%20%20%20%3Cspan%20 id=%22opt-in-label%22%3E%3C/span%3E%0A%20%20%20%20%20%20%20%20%3C/label%3E%0A%20%20%20%20%20%20%3C/div%3E%0A%20%20%20%20%3C/div%3E%0A%20%20%20%20%3Cdiv%20class=%22nav-wrapper%22%3E%0A%20%20%20%20%20%20%3Cbutton%20i18n-content=%22primaryButtonText%22%20id=%22primary-button%22%3E%3C/button%3E%0A%20%20%20%20%20%20%3Cbutton%20id=%22de tails-button%22%20class=%22small-link%22%0A%20%20%20%20%20%20%20%20%20%20i18n-content=%22openDetails%22%3E%3C/button%3E%0A%20%20%20%20%3C/div%3E%0A%20%20%20%20%3Cdiv%20id=%22details%22%20c lass=%22hidden%22%3E%0A%20%20%20%20%20%20%3Cp%20i1 8n-values=%22.innerHTML%3AexplanationParagraph%22%3E% 3C/p%3E%0A%20%20%20%20%20%20%3Cp%20i18n-values=%22.innerHTML%3AfinalParagraph%22%20id=%22f inal-paragraph%22%3E%3C/p%3E%0A%20%20%20%20%3C/div%3E%0A%20%20%3C/div%3E%0A%3C/body%3E%0A%3C/html%3E%0A%3Cstyle%3E/*%20Copyright%202014%20The%20Chromium%20Authors.%2 0All%20rights%20reserved.%0A%20*%20Use%20of%20this %20source%20code%20is%20governed%20by%20a%20BSD-style%20license%20that%20can%20be%0A%20*%20found%2 0in%20the%20LICENSE%20file.%20*/%0A%0A/*%20This%20file%20is%20dynamically%20processed%20b y%20a%20C++%20data%20source%20handler%20to%20fill% 20in%0A%20*%20some%20per-platform/locale%20styles%20that%20dramatically%20alter%20th e%20page.%20This%20is%0A%20*%20done%20to%20reduce% 20flicker,%20as%20JS%20may%20not%20run%20before%20 the%20page%20is%20rendered.%0A%20*%0A%20*%20There% 20are%20two%20ways%20to%20include%20this%20stylesh eet%3A%0A%20*%201.%20via%20its%20chrome%3A//resources/%20URL%20in%20HTML,%20i.e.%3A%0A%20*%0A%20*%20%20% 20%3Clink%20rel=%22stylesheet%22%20href=%22chrome% 3A//resources/css/text_defaults.css%22%3E%0A%20*%0A%20*%202.%20via%2 0the%20webui%3A%3AAppendWebUICSSTextDefaults()%20m ethod%20to%20directly%20append%20it%0A%20*%20to%20 an%20HTML%20string.%0A%20*%20Otherwise%20its%20$pl aceholders%20won't%20be%20expanded.%20*/%0A%0Ahtml%20%7B%0A%20%20direction%3A%20ltr;%0A%7D %0A%0Abody%20%7B%0A%20%20font-family%3A%20'Helvetica%20Neue',%20'Lucida%20Grande ',%20sans-serif;%0A%20%20font-size%3A%2075%25;%0A%7D%0A%0Abutton%20%7B%0A%20%20f ont-family%3A%20'Helvetica%20Neue',%20'Lucida%20Grande ',%20sans-serif;%0A%7D%0A%3C/style%3E%3Cscript%3E//%20Copyright%20(c)%202012%20The%20Chromium%20Autho rs.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A/**%0A%20*%20@fileoverview%20This%20file%20defines% 20a%20singleton%20which%20provides%20access%20to%2 0all%20data%0A%20*%20that%20is%20available%20as%20 soon%20as%20the%20page's%20resources%20are%20loade d%20(before%20DOM%0A%20*%20content%20has%20finishe d%20loading).%20This%20data%20includes%20both%20lo calized%20strings%20and%0A%20*%20any%20data%20that %20is%20important%20to%20have%20ready%20from%20a%2 0very%20early%20stage%20(e.g.%20things%0A%20*%20th at%20must%20be%20displayed%20right%20away).%0A%20*/%0A%0Avar%20loadTimeData;%0A%0A//%20Expose%20this%20type%20globally%20as%20a%20temp orary%20work%20around%20until%0A//%20https%3A//github.com/google/closure-compiler/issues/544%20is%20fixed.%0A/**%20@constructor%20*/%0Afunction%20LoadTimeData()%20%7B%7D%0A%0A(functi on()%20%7B%0A%20%20'use%20strict';%0A%0A%20%20Load TimeData.prototype%20=%20%7B%0A%20%20%20%20/**%0A%20%20%20%20%20*%20Sets%20the%20backing%20obj ect.%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20Note% 20that%20there%20is%20no%20getter%20for%20%7Cdata_ %7C%20to%20discourage%20abuse%20of%20the%20form%3A %0A%20%20%20%20%20*%0A%20%20%20%20%20*%20%20%20%20 %20var%20value%20=%20loadTimeData.data()%5B'key'%5 D;%0A%20%20%20%20%20*%0A%20%20%20%20%20*%20@param% 20%7BObject%7D%20value%20The%20de-serialized%20page%20data.%0A%20%20%20%20%20*/%0A%20%20%20%20set%20data(value)%20%7B%0A%20%20%20 %20%20%20expect(!this.data_,%20'Re-setting%20data.');%0A%20%20%20%20%20%20this.data_% 20=%20value;%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/**%0A%20%20%20%20%20*%20Returns%20a%20JsEvalContex t%20for%20%7Cdata_%7C.%0A%20%20%20%20%20*%20@retur ns%20%7BJsEvalContext%7D%0A%20%20%20%20%20*/%0A%20%20%20%20createJsEvalContext%3A%20function() %20%7B%0A%20%20%20%20%20%20return%20new%20JsEvalCo ntext(this.data_);%0A%20%20%20%20%7D,%0A%0A%20%20% 20%20/**%0A%20%20%20%20%20*%20@param%20%7Bstring%7D%20id %20An%20ID%20of%20a%20value%20that%20might%20exist .%0A%20%20%20%20%20*%20@return%20%7Bboolean%7D%20T rue%20if%20%7Cid%7C%20is%20a%20key%20in%20the%20di ctionary.%0A%20%20%20%20%20*/%0A%20%20%20%20valueExists%3A%20function(id)%20%7B %0A%20%20%20%20%20%20return%20id%20in%20this.data_ ;%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/**%0A%20%20%20%20%20*%20Fetches%20a%20value,%20exp ecting%20that%20it%20exists.%0A%20%20%20%20%20*%20 @param%20%7Bstring%7D%20id%20The%20key%20that%20id entifies%20the%20desired%20value.%0A%20%20%20%20%2 0*%20@return%20%7B*%7D%20The%20corresponding%20val ue.%0A%20%20%20%20%20*/%0A%20%20%20%20getValue%3A%20function(id)%20%7B%0A %20%20%20%20%20%20expect(this.data_,%20'No%20data. %20Did%20you%20remember%20to%20include%20strings.j s%3F');%0A%20%20%20%20%20%20var%20value%20=%20this .data_%5Bid%5D;%0A%20%20%20%20%20%20expect(typeof% 20value%20!=%20'undefined',%20'Could%20not%20find% 20value%20for%20'%20+%20id);%0A%20%20%20%20%20%20r eturn%20value;%0A%20%20%20%20%7D,%0A%0A%20%20%20%2 0/**%0A%20%20%20%20%20*%20As%20above,%20but%20also%2 0makes%20sure%20that%20the%20value%20is%20a%20stri ng.%0A%20%20%20%20%20*%20@param%20%7Bstring%7D%20i d%20The%20key%20that%20identifies%20the%20desired% 20string.%0A%20%20%20%20%20*%20@return%20%7Bstring %7D%20The%20corresponding%20string%20value.%0A%20% 20%20%20%20*/%0A%20%20%20%20getString%3A%20function(id)%20%7B%0 A%20%20%20%20%20%20var%20value%20=%20this.getValue (id);%0A%20%20%20%20%20%20expectIsType(id,%20value ,%20'string');%0A%20%20%20%20%20%20return%20/**%20@type%20%7Bstring%7D%20*/%20(value);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/**%0A%20%20%20%20%20*%20Returns%20a%20formatted%20 localized%20string%20where%20$1%20to%20$9%20are%20 replaced%20by%20the%0A%20%20%20%20%20*%20second%20 to%20the%20tenth%20argument.%0A%20%20%20%20%20*%20 @param%20%7Bstring%7D%20id%20The%20ID%20of%20the%2 0string%20we%20want.%0A%20%20%20%20%20*%20@param%2 0%7B...string%7D%20var_args%20The%20extra%20values %20to%20include%20in%20the%20formatted%0A%20%20%20 %20%20*%20%20%20%20%20output.%0A%20%20%20%20%20*%2 0@return%20%7Bstring%7D%20The%20formatted%20string .%0A%20%20%20%20%20*/%0A%20%20%20%20getStringF%3A%20function(id,%20var_ args)%20%7B%0A%20%20%20%20%20%20var%20value%20=%20 this.getString(id);%0A%20%20%20%20%20%20if%20(!val ue)%0A%20%20%20%20%20%20%20%20return%20'';%0A%0A%2 0%20%20%20%20%20var%20varArgs%20=%20arguments;%0A% 20%20%20%20%20%20return%20value.replace(/%5C$%5B$1-9%5D/g,%20function(m)%20%7B%0A%20%20%20%20%20%20%20%20r eturn%20m%20==%20'$$'%20%3F%20'$'%20%3A%20varArgs% 5Bm%5B1%5D%5D;%0A%20%20%20%20%20%20%7D);%0A%20%20% 20%20%7D,%0A%0A%20%20%20%20/**%0A%20%20%20%20%20*%20As%20above,%20but%20also%2 0makes%20sure%20that%20the%20value%20is%20a%20bool ean.%0A%20%20%20%20%20*%20@param%20%7Bstring%7D%20 id%20The%20key%20that%20identifies%20the%20desired %20boolean.%0A%20%20%20%20%20*%20@return%20%7Bbool ean%7D%20The%20corresponding%20boolean%20value.%0A %20%20%20%20%20*/%0A%20%20%20%20getBoolean%3A%20function(id)%20%7B% 0A%20%20%20%20%20%20var%20value%20=%20this.getValu e(id);%0A%20%20%20%20%20%20expectIsType(id,%20valu e,%20'boolean');%0A%20%20%20%20%20%20return%20/**%20@type%20%7Bboolean%7D%20*/%20(value);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/**%0A%20%20%20%20%20*%20As%20above,%20but%20also%2 0makes%20sure%20that%20the%20value%20is%20an%20int eger.%0A%20%20%20%20%20*%20@param%20%7Bstring%7D%2 0id%20The%20key%20that%20identifies%20the%20desire d%20number.%0A%20%20%20%20%20*%20@return%20%7Bnumb er%7D%20The%20corresponding%20number%20value.%0A%2 0%20%20%20%20*/%0A%20%20%20%20getInteger%3A%20function(id)%20%7B% 0A%20%20%20%20%20%20var%20value%20=%20this.getValu e(id);%0A%20%20%20%20%20%20expectIsType(id,%20valu e,%20'number');%0A%20%20%20%20%20%20expect(value%2 0==%20Math.floor(value),%20'Number%20isn%5C't%20in teger%3A%20'%20+%20value);%0A%20%20%20%20%20%20ret urn%20/**%20@type%20%7Bnumber%7D%20*/%20(value);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/**%0A%20%20%20%20%20*%20Override%20values%20in%20l oadTimeData%20with%20the%20values%20found%20in%20% 7Creplacements%7C.%0A%20%20%20%20%20*%20@param%20% 7BObject%7D%20replacements%20The%20dictionary%20ob ject%20of%20keys%20to%20replace.%0A%20%20%20%20%20 */%0A%20%20%20%20overrideValues%3A%20function(replac ements)%20%7B%0A%20%20%20%20%20%20expect(typeof%20 replacements%20==%20'object',%0A%20%20%20%20%20%20 %20%20%20%20%20%20%20'Replacements%20must%20be%20a %20dictionary%20object.');%0A%20%20%20%20%20%20for %20(var%20key%20in%20replacements)%20%7B%0A%20%20% 20%20%20%20%20%20this.data_%5Bkey%5D%20=%20replace ments%5Bkey%5D;%0A%20%20%20%20%20%20%7D%0A%20%20%2 0%20%7D%0A%20%20%7D;%0A%0A%20%20/**%0A%20%20%20*%20Checks%20condition,%20displays%2 0error%20message%20if%20expectation%20fails.%0A%20 %20%20*%20@param%20%7B*%7D%20condition%20The%20con dition%20to%20check%20for%20truthiness.%0A%20%20%2 0*%20@param%20%7Bstring%7D%20message%20The%20messa ge%20to%20display%20if%20the%20check%20fails.%0A%2 0%20%20*/%0A%20%20function%20expect(condition,%20message)%2 0%7B%0A%20%20%20%20if%20(!condition)%20%7B%0A%20%2 0%20%20%20%20console.error('Unexpected%20condition %20on%20'%20+%20document.location.href%20+%20'%3A% 20'%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%20%20%20message);%0A%20%20%20%20%7D%0A %20%20%7D%0A%0A%20%20/**%0A%20%20%20*%20Checks%20that%20the%20given%20va lue%20has%20the%20given%20type.%0A%20%20%20*%20@pa ram%20%7Bstring%7D%20id%20The%20id%20of%20the%20va lue%20(only%20used%20for%20error%20message).%0A%20 %20%20*%20@param%20%7B*%7D%20value%20The%20value%2 0to%20check%20the%20type%20on.%0A%20%20%20*%20@par am%20%7Bstring%7D%20type%20The%20type%20we%20expec t%20%7Cvalue%7C%20to%20be.%0A%20%20%20*/%0A%20%20function%20expectIsType(id,%20value,%20ty pe)%20%7B%0A%20%20%20%20expect(typeof%20value%20== %20type,%20'%5B'%20+%20value%20+%20'%5D%20('%20+%2 0id%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20% 20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20 %20%20%20')%20is%20not%20a%20'%20+%20type);%0A%20% 20%7D%0A%0A%20%20expect(!loadTimeData,%20'should%2 0only%20include%20this%20file%20once');%0A%20%20lo adTimeData%20=%20new%20LoadTimeData;%0A%7D)();%0A% 3C/script%3E%3Cscript%3EloadTimeData.data%20=%20%7B%2 2boxchecked%22%3Afalse,%22closeDetails%22%3A%22Hid e%20details%22,%22displaycheckbox%22%3Atrue,%22exp lanationParagraph%22%3A%22Google%20Safe%20Browsing %20recently%20detected%20phishing%20on%20www.ckfu. org.%20%5Cu003Ca%20href=%5C%22%23%5C%22%20id=%5C%2 2help-link%5C%22%3EPhishing%20sites%5Cu003C/a%3E%20pretend%20to%20be%20other%20websites%20to%2 0trick%20you.%22,%22finalParagraph%22%3A%22You%20c an%20%5Cu003Ca%20href=%5C%22%23%5C%22%20id=%5C%22r eport-error-link%5C%22%3Ereport%20a%20detection%20problem%5Cu0 03C/a%3E%20or,%20if%20you%20understand%20the%20risks%2 0to%20your%20security,%20%5Cu003Ca%20href=%5C%22%2 3%5C%22%20id=%5C%22proceed-link%5C%22%3Evisit%20this%20unsafe%20site%5Cu003C/a%3E.%22,%22fontfamily%22%3A%22'Helvetica%20Neue', %20'Lucida%20Grande',%20sans-serif%22,%22fontsize%22%3A%2275%25%22,%22heading%2 2%3A%22Deceptive%20site%20ahead%22,%22language%22% 3A%22en%22,%22openDetails%22%3A%22Details%22,%22op tInLink%22%3A%22Automatically%20report%20details%2 0of%20possible%20security%20incidents%20to%20Googl e.%20%5Cu003Ca%20id=%5C%22privacy-link%5C%22%20href=%5C%22%5C%22%20onclick=%5C%22sen dCommand(10);%20return%20false;%5C%22%20onmousedow n=%5C%22return%20false;%5C%22%3EPrivacy%20policy%5 Cu003C/a%3E%22,%22overridable%22%3Atrue,%22phishing%22%3A true,%22primaryButtonText%22%3A%22Back%20to%20safe ty%22,%22primaryParagraph%22%3A%22Attackers%20on%2 0%5Cu003Cstrong%3Ewww.ckfu.org%5Cu003C/strong%3E%20may%20trick%20you%20into%20doing%20som ething%20dangerous%20like%20installing%20software% 20or%20revealing%20your%20personal%20information%2 0(for%20example,%20passwords,%20phone%20numbers,%2 0or%20credit%20cards).%22,%22tabTitle%22%3A%22Secu rity%20error%22,%22textdirection%22%3A%22ltr%22,%2 2type%22%3A%22SAFEBROWSING%22%7D;%3C/script%3E%3Cscript%3E//%20Copyright%20(c)%202012%20The%20Chromium%20Autho rs.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A//%20//%20Copyright%20(c)%202012%20The%20Chromium%20Autho rs.%20All%20rights%20reserved.%0A//%20Use%20of%20this%20source%20code%20is%20governed %20by%20a%20BSD-style%20license%20that%20can%20be%0A//%20found%20in%20the%20LICENSE%20file.%0A%0A/**%20@typedef%20%7BDocument%7CDocumentFragment%7CE lement%7D%20*/%0Avar%20ProcessingRoot;%0A%0A/**%0A%20*%20@fileoverview%20This%20is%20a%20simple %20template%20engine%20inspired%20by%20JsTemplates %0A%20*%20optimized%20for%20i18n.%0A%20*%0A%20*%20 It%20currently%20supports%20three%20handlers%3A%0A %20*%0A%20*%20%20%20*%20i18n-content%20which%20sets%20the%20textContent%20of%20 the%20element.%0A%20*%0A%20*%20%20%20%20%20%3Cspan %20i18n-content=%22myContent%22%3E%3C/span%3E%0A%20*%0A%20*%20%20%20*%20i18n-options%20which%20generates%20%3Coption%3E%20eleme nts%20for%20a%20%3Cselect%3E.%0A%20*%0A%20*%20%20% 20%20%20%3Cselect%20i18n-options=%22myOptionList%22%3E%3C/select%3E%0A%20*%0A%20*%20%20%20*%20i18n-values%20is%20a%20list%20of%20attribute-value%20or%20property-value%20pairs.%0A%20*%20%20%20%20%20Properties%20a re%20prefixed%20with%20a%20'.'%20and%20can%20conta in%20nested%20properties.%0A%20*%0A%20*%20%20%20%2 0%20%3Cspan%20i18n-values=%22title%3AmyTitle;.style.fontSize%3AfontSi ze%22%3E%3C/span%3E%0A%20*%0A%20*%20This%20file%20is%20a%20cop y%20of%20i18n_template.js,%20with%20minor%20tweaks %20to%20support%20using%0A%20*%20load_time_data.js .%20It%20should%20replace%20i18n_template.js%20eve ntually.%0A%20*/%0A%0Avar%20i18nTemplate%20=%20(function()%20%7B%0 A%20%20/**%0A%20%20%20*%20This%20provides%20the%20handlers %20for%20the%20templating%20engine.%20The%20key%20 is%20used%20as%0A%20%20%20*%20the%20attribute%20na me%20and%20the%20value%20is%20the%20function%20tha t%20gets%20called%20for%20every%0A%20%20%20*%20sin gle%20node%20that%20has%20this%20attribute.%0A%20% 20%20*%20@type%20%7B!Object%7D%0A%20%20%20*/%0A%20%20var%20handlers%20=%20%7B%0A%20%20%20%20/**%0A%20%20%20%20%20*%20This%20handler%20sets%20th e%20textContent%20of%20the%20element.%0A%20%20%20% 20%20*%20@param%20%7B!HTMLElement%7D%20element%20T he%20node%20to%20modify.%0A%20%20%20%20%20*%20@par am%20%7Bstring%7D%20key%20The%20name%20of%20the%20 value%20in%20%7Cdata%7C.%0A%20%20%20%20%20*%20@par am%20%7B!LoadTimeData%7D%20data%20The%20data%20sou rce%20to%20draw%20from.%0A%20%20%20%20%20*%20@para m%20%7B!Array%3CProcessingRoot%3E%7D%20visited%0A% 20%20%20%20%20*/%0A%20%20%20%20'i18n-content'%3A%20function(element,%20key,%20data,%20v isited)%20%7B%0A%20%20%20%20%20%20element.textCont ent%20=%20data.getString(key);%0A%20%20%20%20%7D,% 0A%0A%20%20%20%20/**%0A%20%20%20%20%20*%20This%20handler%20adds%20op tions%20to%20a%20%3Cselect%3E%20element.%0A%20%20% 20%20%20*%20@param%20%7B!HTMLElement%7D%20select%2 0The%20node%20to%20modify.%0A%20%20%20%20%20*%20@p aram%20%7Bstring%7D%20key%20The%20name%20of%20the% 20value%20in%20%7Cdata%7C.%20It%20should%0A%20%20% 20%20%20*%20%20%20%20%20identify%20an%20array%20of %20values%20to%20initialize%20an%20%3Coption%3E.%2 0Each%20value,%0A%20%20%20%20%20*%20%20%20%20%20if %20a%20pair,%20represents%20%5Bcontent,%20value%5D .%20Otherwise,%20it%20should%20be%20a%0A%20%20%20% 20%20*%20%20%20%20%20content%20string%20with%20no% 20value.%0A%20%20%20%20%20*%20@param%20%7B!LoadTim eData%7D%20data%20The%20data%20source%20to%20draw% 20from.%0A%20%20%20%20%20*%20@param%20%7B!Array%3C ProcessingRoot%3E%7D%20visited%0A%20%20%20%20%20*/%0A%20%20%20%20'i18n-options'%3A%20function(select,%20key,%20data,%20vi sited)%20%7B%0A%20%20%20%20%20%20var%20options%20= %20data.getValue(key);%0A%20%20%20%20%20%20options .forEach(function(optionData)%20%7B%0A%20%20%20%20 %20%20%20%20var%20option%20=%20typeof%20optionData %20==%20'string'%20%3F%0A%20%20%20%20%20%20%20%20% 20%20%20%20new%20Option(optionData)%20%3A%0A%20%20 %20%20%20%20%20%20%20%20%20%20new%20Option(optionD ata%5B1%5D,%20optionData%5B0%5D);%0A%20%20%20%20%2 0%20%20%20select.appendChild(option);%0A%20%20%20% 20%20%20%7D);%0A%20%20%20%20%7D,%0A%0A%20%20%20%20/**%0A%20%20%20%20%20*%20This%20is%20used%20to%20se t%20HTML%20attributes%20and%20DOM%20properties.%20 The%20syntax%20is%3A%0A%20%20%20%20%20*%20%20%20at tributename%3Akey;%0A%20%20%20%20%20*%20%20%20.dom Property%3Akey;%0A%20%20%20%20%20*%20%20%20.nested .dom.property%3Akey%0A%20%20%20%20%20*%20@param%20 %7B!HTMLElement%7D%20element%20The%20node%20to%20m odify.%0A%20%20%20%20%20*%20@param%20%7Bstring%7D% 20attributeAndKeys%20The%20path%20of%20the%20attri bute%20to%20modify%0A%20%20%20%20%20*%20%20%20%20% 20followed%20by%20a%20colon,%20and%20the%20name%20 of%20the%20value%20in%20%7Cdata%7C.%0A%20%20%20%20 %20*%20%20%20%20%20Multiple%20attribute/key%20pairs%20may%20be%20separated%20by%20semicolo ns.%0A%20%20%20%20%20*%20@param%20%7B!LoadTimeData %7D%20data%20The%20data%20source%20to%20draw%20fro m.%0A%20%20%20%20%20*%20@param%20%7B!Array%3CProce ssingRoot%3E%7D%20visited%0A%20%20%20%20%20*/%0A%20%20%20%20'i18n-values'%3A%20function(element,%20attributeAndKeys, %20data,%20visited)%20%7B%0A%20%20%20%20%20%20var% 20parts%20=%20attributeAndKeys.replace(/%5Cs/g,%20'').split(/;/);%0A%20%20%20%20%20%20parts.forEach(function(part )%20%7B%0A%20%20%20%20%20%20%20%20if%20(!part)%0A% 20%20%20%20%20%20%20%20%20%20return;%0A%0A%20%20%2 0%20%20%20%20%20var%20attributeAndKeyPair%20=%20pa rt.match(/%5E(%5B%5E%3A%5D+)%3A(.+)$/);%0A%20%20%20%20%20%20%20%20if%20(!attributeAndKe yPair)%0A%20%20%20%20%20%20%20%20%20%20throw%20new %20Error('malformed%20i18n-values%3A%20'%20+%20attributeAndKeys);%0A%0A%20%20 %20%20%20%20%20%20var%20propName%20=%20attributeAn dKeyPair%5B1%5D;%0A%20%20%20%20%20%20%20%20var%20p ropExpr%20=%20attributeAndKeyPair%5B2%5D;%0A%0A%20 %20%20%20%20%20%20%20var%20value%20=%20data.getVal ue(propExpr);%0A%0A%20%20%20%20%20%20%20%20//%20Allow%20a%20property%20of%20the%20form%20'.foo. bar'%20to%20assign%20a%20value%20into%0A%20%20%20% 20%20%20%20%20//%20element.foo.bar.%0A%20%20%20%20%20%20%20%20if%2 0(propName%5B0%5D%20==%20'.')%20%7B%0A%20%20%20%20 %20%20%20%20%20%20var%20path%20=%20propName.slice( 1).split('.');%0A%20%20%20%20%20%20%20%20%20%20var %20targetObject%20=%20element;%0A%20%20%20%20%20%2 0%20%20%20%20while%20(targetObject%20&&%20path.length%20%3E%201)%20%7B%0A%20%20%20%20%20% 20%20%20%20%20%20%20targetObject%20=%20targetObjec t%5Bpath.shift()%5D;%0A%20%20%20%20%20%20%20%20%20 %20%7D%0A%20%20%20%20%20%20%20%20%20%20if%20(targe tObject)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20 %20targetObject%5Bpath%5D%20=%20value;%0A%20%20%20 %20%20%20%20%20%20%20%20%20//%20In%20case%20we%20set%20innerHTML%20(ignoring%20 others)%20we%20need%20to%20recursively%0A%20%20%20 %20%20%20%20%20%20%20%20%20//%20check%20the%20content.%0A%20%20%20%20%20%20%20% 20%20%20%20%20if%20(path%20==%20'innerHTML')%20%7B %0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%2 0(var%20i%20=%200;%20i%20%3C%20element.children.le ngth;%20++i)%20%7B%0A%20%20%20%20%20%20%20%20%20%2 0%20%20%20%20%20%20processWithoutCycles(element.ch ildren%5Bi%5D,%20data,%20visited,%20false);%0A%20% 20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20 %20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%2 0%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D% 20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20eleme nt.setAttribute(propName,%20/**%20@type%20%7Bstring%7D%20*/(value));%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%2 0%20%20%20%7D);%0A%20%20%20%20%7D%0A%20%20%7D;%0A% 0A%20%20var%20prefixes%20=%20%5B''%5D;%0A%0A%20%20//%20Only%20look%20through%20shadow%20DOM%20when%20i t's%20supported.%20As%20of%20April%202015,%20iOS%0 A%20%20//%20Chrome%20doesn't%20support%20shadow%20DOM.%0A%2 0%20if%20(Element.prototype.createShadowRoot)%0A%2 0%20%20%20prefixes.push('*%20/deep/%20');%0A%0A%20%20var%20attributeNames%20=%20Objec t.keys(handlers);%0A%20%20var%20selector%20=%20pre fixes.map(function(prefix)%20%7B%0A%20%20%20%20ret urn%20prefix%20+%20'%5B'%20+%20attributeNames.join ('%5D,%20'%20+%20prefix%20+%20'%5B')%20+%20'%5D';% 0A%20%20%7D).join(',%20');%0A%0A%20%20/**%0A%20%20%20*%20Processes%20a%20DOM%20tree%20usi ng%20a%20%7Cdata%7C%20source%20to%20populate%20tem plate%20values.%0A%20%20%20*%20@param%20%7B!Proces singRoot%7D%20root%20The%20root%20of%20the%20DOM%2 0tree%20to%20process.%0A%20%20%20*%20@param%20%7B! LoadTimeData%7D%20data%20The%20data%20to%20draw%20 from.%0A%20%20%20*/%0A%20%20function%20process(root,%20data)%20%7B%0A %20%20%20%20processWithoutCycles(root,%20data,%20% 5B%5D,%20true);%0A%20%20%7D%0A%0A%20%20/**%0A%20%20%20*%20Internal%20process()%20method%20 that%20stops%20cycles%20while%20processing.%0A%20% 20%20*%20@param%20%7B!ProcessingRoot%7D%20root%0A% 20%20%20*%20@param%20%7B!LoadTimeData%7D%20data%0A %20%20%20*%20@param%20%7B!Array%3CProcessingRoot%3 E%7D%20visited%20Already%20visited%20roots.%0A%20% 20%20*%20@param%20%7Bboolean%7D%20mark%20Whether%2 0nodes%20should%20be%20marked%20processed.%0A%20%2 0%20*/%0A%20%20function%20processWithoutCycles(root,%20d ata,%20visited,%20mark)%20%7B%0A%20%20%20%20if%20( visited.indexOf(root)%20%3E=%200)%20%7B%0A%20%20%2 0%20%20%20//%20Found%20a%20cycle.%20Stop%20it.%0A%20%20%20%20% 20%20return;%0A%20%20%20%20%7D%0A%0A%20%20%20%20//%20Mark%20the%20node%20as%20visited%20before%20rec ursing.%0A%20%20%20%20visited.push(root);%0A%0A%20 %20%20%20var%20importLinks%20=%20root.querySelecto rAll('link%5Brel=import%5D');%0A%20%20%20%20for%20 (var%20i%20=%200;%20i%20%3C%20importLinks.length;% 20++i)%20%7B%0A%20%20%20%20%20%20var%20importLink% 20=%20/**%20@type%20%7B!HTMLLinkElement%7D%20*/(importLinks%5Bi%5D);%0A%20%20%20%20%20%20if%20(!i mportLink.import)%20%7B%0A%20%20%20%20%20%20%20%20//%20Happens%20when%20a%20%3Clink%20rel=import%3E%20 is%20inside%20a%20%3Ctemplate%3E.%0A%20%20%20%20%2 0%20%20%20//%20TODO(dbeam)%3A%20should%20we%20log%20an%20error %20if%20we%20detect%20that%20here%3F%0A%20%20%20%2 0%20%20%20%20continue;%0A%20%20%20%20%20%20%7D%0A% 20%20%20%20%20%20processWithoutCycles(importLink.i mport,%20data,%20visited,%20mark);%0A%20%20%20%20% 7D%0A%0A%20%20%20%20var%20templates%20=%20root.que rySelectorAll('template');%0A%20%20%20%20for%20(va r%20i%20=%200;%20i%20%3C%20templates.length;%20++i )%20%7B%0A%20%20%20%20%20%20var%20template%20=%20/**%20@type%20%7BHTMLTemplateElement%7D%20*/(templates%5Bi%5D);%0A%20%20%20%20%20%20if%20(!tem plate.content)%0A%20%20%20%20%20%20%20%20continue; %0A%20%20%20%20%20%20processWithoutCycles(template .content,%20data,%20visited,%20mark);%0A%20%20%20% 20%7D%0A%0A%20%20%20%20var%20isElement%20=%20root% 20instanceof%20Element;%0A%20%20%20%20if%20(isElem ent%20&&%20root.webkitMatchesSelector(selector))%0A%20%20% 20%20%20%20processElement(/**%20@type%20%7B!Element%7D%20*/(root),%20data,%20visited);%0A%0A%20%20%20%20var%2 0elements%20=%20root.querySelectorAll(selector);%0 A%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C%20e lements.length;%20++i)%20%7B%0A%20%20%20%20%20%20p rocessElement(elements%5Bi%5D,%20data,%20visited); %0A%20%20%20%20%7D%0A%0A%20%20%20%20if%20(mark)%20 %7B%0A%20%20%20%20%20%20var%20processed%20=%20isEl ement%20%3F%20%5Broot%5D%20%3A%20root.children;%0A %20%20%20%20%20%20if%20(processed)%20%7B%0A%20%20% 20%20%20%20%20%20for%20(var%20i%20=%200;%20i%20%3C %20processed.length;%20++i)%20%7B%0A%20%20%20%20%2 0%20%20%20%20%20processed%5Bi%5D.setAttribute('i18 n-processed',%20'');%0A%20%20%20%20%20%20%20%20%7D%0 A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20% 7D%0A%0A%20%20/**%0A%20%20%20*%20Run%20through%20various%20%5Bi18 n-*%5D%20attributes%20and%20populate.%0A%20%20%20*%2 0@param%20%7B!Element%7D%20element%0A%20%20%20*%20 @param%20%7B!LoadTimeData%7D%20data%0A%20%20%20*%2 0@param%20%7B!Array%3CProcessingRoot%3E%7D%20visit ed%0A%20%20%20*/%0A%20%20function%20processElement(element,%20data ,%20visited)%20%7B%0A%20%20%20%20for%20(var%20i%20 =%200;%20i%20%3C%20attributeNames.length;%20i++)%2 0%7B%0A%20%20%20%20%20%20var%20name%20=%20attribut eNames%5Bi%5D;%0A%20%20%20%20%20%20var%20attribute %20=%20element.getAttribute(name);%0A%20%20%20%20% 20%20if%20(attribute%20!=%20null)%0A%20%20%20%20%2 0%20%20%20handlers%5Bname%5D(element,%20attribute, %20data,%20visited);%0A%20%20%20%20%7D%0A%20%20%7D %0A%0A%20%20return%20%7B%0A%20%20%20%20process%3A% 20process%0A%20%20%7D;%0A%7D());%0A%0A%0Ai18nTempl ate.process(document,%20loadTimeData);%0A%3C/script%3E#).

иαšeя αłωαđαич
2016- 3- 8, 04:05 AM
في اعدادات قوقل كروم بعد ماتخش عليها تحصل تحت اعدادات متقدمة ادخل عليها وبعدها تدخل على اعدادات المحتوى وحاول اتشيل الصح من حماية جهازي وارجع اغلق المتصفح وافتحة من جديد وان شاء الله يضبط

abolana
2016- 3- 8, 10:21 AM
المشكلة ربما من أحد الاعلانات في الأعلى

قوقل يقول ان فيه نوع من انواع التجسس يسمى Phishing

هيثم~
2016- 3- 8, 01:22 PM
السلام عليكم ورحمة الله وبركاته

أرسلت من حوالي الشهر للدعم الفني أن هناك مشكلة كلما أردت الدخول من غوغل تخرج لي صفحة غير المنتدى ولا أعلم إن كان هذا له علاقة أم لا

الأخ المسؤول راجع حساب غوغل المقترن بالموقع وادخل على اعدادات مشرف الموقع في غوغل سيظهر لك أين المشكلة

غالبًا تكون من شركة الإعلانات الموجودة بالمنتدى أو إحدى الإضافات

ويفضل الإسراع بحل المشكلة مع غوغل قبل أن يتخذ بالموقع اجراءاته التي لا ترحم !

نجد دار المجد
2016- 3- 9, 08:27 AM
الملتقى لا يحتوي على اي ملفات ضارة او برامج تجسس او فيروسات او اي شيئ من هذا القبيل
وقد تم التأكد من ذلك تماماً بالبحث عبر السيرفر وعن طريق تصفح الملتقى بأجهزة مثبت عليها افضل برامج الحماية وبإمكان الجميع التأكد حيث انه من المعروف ان برامج الحماية الموثوقة تعطي تحذير اذا كان الموقع يحتوي على فيرسات او ملفات تجسس وهذا ما لا يحدث
وحتى هذه اللحظة لا نعلم سبب واضح لهذا التحذير المجحف والظالم في حق الملتقى من جوجل .

صباح الخير
لما ادخل المنتدى من الايفون تظهر هذه الرساله في الصوره
يمكن تفيدكم
موفقين
http://i.imgur.com/rj347GQ.jpg

الصمت العربي
2016- 3- 9, 11:43 PM
انا طفي عليه الجهاز فجاة قبل شوي وانا اتصفح

ودخلت مره ثانية اكتب تعليق اعلمكم..