<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hi">
	<id>https://oer.teacher-network.in/hi/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin</id>
	<title>मुक्त शैक्षणिक संसाधन - सदस्य योगदान [hi]</title>
	<link rel="self" type="application/atom+xml" href="https://oer.teacher-network.in/hi/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Admin"/>
	<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php/%E0%A4%B5%E0%A4%BF%E0%A4%B6%E0%A5%87%E0%A4%B7:%E0%A4%AF%E0%A5%8B%E0%A4%97%E0%A4%A6%E0%A4%BE%E0%A4%A8/Admin"/>
	<updated>2026-08-24T08:50:10Z</updated>
	<subtitle>सदस्य योगदान</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%AD%E0%A5%81%E0%A4%9C&amp;diff=1059</id>
		<title>त्रिभुज</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%AD%E0%A5%81%E0%A4%9C&amp;diff=1059"/>
		<updated>2018-06-12T12:38:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: /* शिक्षण रूपरेखा */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://teacher-network.in/OER/index.php/Triangles English]&lt;br /&gt;
&lt;br /&gt;
==परिकल्पना नक्शे (दिमागी नक्शा यानी माइंड मैप)==&lt;br /&gt;
[[File:Hindi-Triangles .mm]]&lt;br /&gt;
&lt;br /&gt;
==अतिरिक्त सूचना==&lt;br /&gt;
===मुक्त शैक्षिक संसाधन===&lt;br /&gt;
====वेब संसाधनों====&lt;br /&gt;
====किताबें और पत्रिकाओं====&lt;br /&gt;
====पाठ्यपुस्तकें====&lt;br /&gt;
====पाठ्यक्रम दस्तावेजों====&lt;br /&gt;
===न-मुक्त शैक्षिक संसाधन===&lt;br /&gt;
====वेब संसाधनों====&lt;br /&gt;
====किताबें और पत्रिकाओं====&lt;br /&gt;
====पाठ्यपुस्तकें====&lt;br /&gt;
====पाठ्यक्रम दस्तावेजों====&lt;br /&gt;
==सीखने के उद्देश्यों==&lt;br /&gt;
==शिक्षण रूपरेखा==&lt;br /&gt;
===परिकल्पना १: त्रिभुजों का परिचय===&lt;br /&gt;
===गतिविधि===&lt;br /&gt;
{{Geogebra|ZjZ3M93N}}{{Geogebra|Tj2BkkjS}}{{Geogebra|GrDn47h4}}&lt;br /&gt;
====पृष्ठ का नाम -गतिविधि का नाम====&lt;br /&gt;
====नमूना साँचा====&lt;br /&gt;
=====गतिविधि का उद्देश्य=====&lt;br /&gt;
=====पूर्वापेक्षा/ पूर्व दक्षता=====&lt;br /&gt;
=====संसाधनों (डिजिटल एवं गैर डिजिटल)=====&lt;br /&gt;
=====गतिविधि कैसे करें=====&lt;br /&gt;
=====गतिविधि के अंत में मूल्यांकन=====&lt;br /&gt;
===परिकल्पना २: त्रिभुजों का रचनाएँ===&lt;br /&gt;
{{Geogebra|dfkPcjEc}}&lt;br /&gt;
&lt;br /&gt;
जिओजिब्रा फाइल को डाउनलोड करें एवं [https://teacher-network.in/OER/images/0/02/%E0%A4%B8%E0%A4%AE%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%AD%E0%A5%81%E0%A4%9C_%E0%A4%95%E0%A4%BE_%E0%A4%95%E0%A5%8D%E0%A4%B7%E0%A5%87%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%AB%E0%A4%B2_%E0%A4%94%E0%A4%B0_%E0%A4%85%E0%A4%82%E0%A4%95%E0%A4%A8_-_Construction_and_Area_of_a_triangle.ggb जिओजिब्रा आप्लिकेशन] का उपयोग करके इस फाइल को अपने कंप्यूटर में खोलें/ संपादित करें ।&lt;br /&gt;
&lt;br /&gt;
{{Geogebra|b2VEwABN}}&lt;br /&gt;
&lt;br /&gt;
जिओजिब्रा फाइल को डाउनलोड करें एवं [https://teacher-network.in/OER/images/d/d8/%E0%A4%B8%E0%A4%AE%E0%A4%A6%E0%A5%8D%E0%A4%B5%E0%A4%BF%E0%A4%AC%E0%A4%BE%E0%A4%B9%E0%A5%81_%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%95%E0%A5%8B%E0%A4%A3_%E0%A4%95%E0%A4%BE_%E0%A4%85%E0%A4%82%E0%A4%95%E0%A4%A8-_Construction_of_Isosceles_Triangle_1.ggb जिओजिब्रा आप्लिकेशन] का उपयोग करके इस फाइल को अपने कंप्यूटर में खोलें/ संपादित करें ।&lt;br /&gt;
&lt;br /&gt;
===गतिविधि===&lt;br /&gt;
====पृष्ठ का नाम – गतिविधि का नाम====&lt;br /&gt;
====नमूना साँचा====&lt;br /&gt;
=====गतिविधि का उद्देश्य=====&lt;br /&gt;
=====पूर्वापेक्षा=====&lt;br /&gt;
=====संसाधनों (डिजिटल एवं गैर डिजिटल)=====&lt;br /&gt;
=====गतिविधि कैसे करें=====&lt;br /&gt;
=====गतिविधि के अंत में मूल्यांकन=====&lt;br /&gt;
===परिकल्पना ३: त्रिभुज से जड़ित प्रमेय===&lt;br /&gt;
{{Geogebra|F5tTXSrW}}&lt;br /&gt;
&lt;br /&gt;
जिओजिब्रा फाइल को डाउनलोड करें एवं [https://teacher-network.in/OER/images/c/ce/%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%AD%E0%A5%81%E0%A4%9C_%E0%A4%AE%E0%A5%87%E0%A4%82_%E0%A4%95%E0%A5%8B%E0%A4%A3_%E0%A4%94%E0%A4%B0_%E0%A4%AD%E0%A5%81%E0%A4%9C%E0%A4%BE%E0%A4%93%E0%A4%82_%E0%A4%95%E0%A4%BE_%E0%A4%B8%E0%A4%AE%E0%A5%8D%E0%A4%AC%E0%A4%A8%E0%A5%8D%E0%A4%A7-_Relation_between_Angle_and_sides_in_a_Triangle.ggb जिओजिब्रा आप्लिकेशन] का उपयोग करके इस फाइल को अपने कंप्यूटर में खोलें/ संपादित करें ।&lt;br /&gt;
&lt;br /&gt;
{{Geogebra|krw2nMSZ}}&lt;br /&gt;
&lt;br /&gt;
जिओजिब्रा फाइल को डाउनलोड करें एवं [https://teacher-network.in/OER/images/7/71/%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%AD%E0%A5%81%E0%A4%9C_%E0%A4%95%E0%A5%80_%E0%A4%95%E0%A5%8B%E0%A4%A3_%E0%A4%AF%E0%A5%8B%E0%A4%97_%E0%A4%97%E0%A5%81%E0%A4%A3-_Angle_sum_in_a_triangle.ggb जिओजिब्रा आप्लिकेशन] का उपयोग करके इस फाइल को अपने कंप्यूटर में खोलें/ संपादित करें ।&lt;br /&gt;
&lt;br /&gt;
{{Geogebra|RgwjubS2}}&lt;br /&gt;
&lt;br /&gt;
जिओजिब्रा फाइल को डाउनलोड करें एवं [https://teacher-network.in/OER/images/c/c7/%E0%A4%AC%E0%A4%B9%E0%A4%BF%E0%A4%B7%E0%A5%8D%E0%A4%95%E0%A5%8B%E0%A4%A3_%E0%A4%85%E0%A4%A8%E0%A5%8D%E0%A4%A4%E0%A4%B0%E0%A4%BE%E0%A4%AD%E0%A4%BF%E0%A4%AE%E0%A5%81%E0%A4%96_%E0%A4%85%E0%A4%A8%E0%A5%8D%E0%A4%A4%E0%A4%83%E0%A4%95%E0%A5%8B%E0%A4%A3%E0%A5%8B_%E0%A4%95%E0%A5%87_%E0%A4%AF%E0%A5%8B%E0%A4%97_%E0%A4%95%E0%A5%87_%E0%A4%AC%E0%A4%B0%E0%A4%BE%E0%A4%AC%E0%A4%BE%E0%A4%B0_%E0%A4%B9%E0%A5%8B%E0%A4%A4%E0%A4%BE_%E0%A4%B9%E0%A5%88-_sum_of_internal_angles_is_equal_to_external_angle.ggb जिओजिब्रा आप्लिकेशन] का उपयोग करके इस फाइल को अपने कंप्यूटर में खोलें/ संपादित करें ।&lt;br /&gt;
&lt;br /&gt;
{{Geogebra|hBWejv4F}}&lt;br /&gt;
&lt;br /&gt;
जिओजिब्रा फाइल को डाउनलोड करें एवं [https://teacher-network.in/OER/images/7/78/%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%AD%E0%A5%81%E0%A4%9C%E0%A5%8B%E0%A4%82_%E0%A4%95%E0%A5%80_%E0%A4%85%E0%A4%B8%E0%A4%BE%E0%A4%AE%E0%A4%BF%E0%A4%95%E0%A4%BE%E0%A4%8F%E0%A4%81_-_Inequality_in_Triangles.ggb जिओजिब्रा आप्लिकेशन] का उपयोग करके इस फाइल को अपने कंप्यूटर में खोलें/ संपादित करें ।&lt;br /&gt;
&lt;br /&gt;
===गतिविधि===&lt;br /&gt;
====पृष्ठ का नाम – गतिविधि का नाम====&lt;br /&gt;
====नमूना साँचा====&lt;br /&gt;
=====गतिविधि का उद्देश्य=====&lt;br /&gt;
=====पूर्वापेक्षा=====&lt;br /&gt;
=====संसाधनों (डिजिटल एवं गैर डिजिटल)=====&lt;br /&gt;
=====गतिविधि कैसे करें=====&lt;br /&gt;
=====गतिविधि के अंत में मूल्यांकन=====&lt;br /&gt;
&lt;br /&gt;
==महत्वपूर्ण सवाल/ समस्याओं का समाधान==&lt;br /&gt;
==परियोजनाओं (गणित प्रयोगशाला, विज्ञान प्रयोगशाला या अंग्रेजी प्रयोगशाला में शामिल कर सकते हैं)==&lt;br /&gt;
==मूल्यांकन==&lt;br /&gt;
[[श्रेणी:ज्यामिति]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Geogebra&amp;diff=471</id>
		<title>साँचा:Geogebra</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Geogebra&amp;diff=471"/>
		<updated>2018-05-18T05:13:29Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#widget:Iframe&lt;br /&gt;
|url=https://www.geogebra.org/material/iframe/id/{{{1}}}/width/{{{2|1100}}}/height/{{{3|600}}}/border/888888&lt;br /&gt;
|width={{{2|1100}}}&lt;br /&gt;
|height={{{3|600}}}&lt;br /&gt;
}}&lt;br /&gt;
फाइल को डाउनलोड करने के लिए [https://www.geogebra.org/material/download/format/file/id/{{{1}}} इस लिंक] पर क्लिक करे|&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;{{Geogebra|https://www.geogebra.org/material/iframe/id/dzN68HSS/width/859/height/625/border/888888}}&amp;lt;/nowiki&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Geogebra|UpQ9MPBF}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;id from the geogebratube site&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;link&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;id from the geogebratube site here&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;dzN68HSS&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Embed Geogebra files from Geogebra site&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&amp;lt;noinclude/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Widget:Iframe&amp;diff=395</id>
		<title>Widget:Iframe</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Widget:Iframe&amp;diff=395"/>
		<updated>2018-05-09T07:05:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: '&amp;lt;noinclude&amp;gt;__NOTOC__ This widget allows you to embed any web page on your wiki page using an iframe tag.  Created by [http://www.media...' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;__NOTOC__&lt;br /&gt;
This widget allows you to embed any web page on your wiki page using an iframe tag.&lt;br /&gt;
&lt;br /&gt;
Created by [http://www.mediawikiwidgets.org/User:Sergey_Chernyshev Sergey Chernyshev]&lt;br /&gt;
&lt;br /&gt;
== Using this widget ==&lt;br /&gt;
For information on how to use this widget, see [http://www.mediawikiwidgets.org/Iframe widget description page on MediaWikiWidgets.org].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;'''&amp;lt;font color=&amp;quot;red&amp;quot;&amp;gt;This widget shouldn't be used on a publicly-editable wiki.&amp;lt;/font&amp;gt;'''&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
While the url is validated to be a valid url, there is no way the widget can check the contents of the page that is included. When enabling this widget, you allow any user that can edit to include any page, including malicious pages (containing trojans, backdoors, viruses etc), pages that brake out of the iframe and pages that look like your site, but actually is a copy used for phishing.&lt;br /&gt;
&lt;br /&gt;
== Copy to your site ==&lt;br /&gt;
To use this widget on your site, just install [http://www.mediawiki.org/wiki/Extension:Widgets MediaWiki Widgets extension] and copy [{{fullurl:{{FULLPAGENAME}}|action=edit}} full source code] of this page to your wiki as '''{{FULLPAGENAME}}''' article.&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;iframe src=&amp;quot;&amp;lt;!--{$url|validate:url}--&amp;gt;&amp;quot; frameborder=&amp;quot;&amp;lt;!--{$border|validate:int|default:0}--&amp;gt;&amp;quot; width=&amp;quot;&amp;lt;!--{$width|escape:html|default:400}--&amp;gt;&amp;quot; height=&amp;quot;&amp;lt;!--{$height|escape:html|default:300}--&amp;gt;&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Learn_Firefox&amp;diff=394</id>
		<title>Learn Firefox</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Learn_Firefox&amp;diff=394"/>
		<updated>2018-05-09T06:54:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://karnatakaeducation.org.in/KOER/index.php/%E0%B2%AA%E0%B3%88%E0%B2%B0%E0%B3%8D%E2%80%8C%E0%B2%AB%E0%B2%BE%E0%B2%95%E0%B3%8D%E0%B2%B8%E0%B3%8D_%E0%B2%95%E0%B2%B2%E0%B2%BF%E0%B2%AF%E0%B2%BF%E0%B2%B0%E0%B2%BF ಕನ್ನಡದಲ್ಲಿ ನೋಡಿ]&lt;br /&gt;
=== परिचय ===&lt;br /&gt;
मोज़ीला फायरफॉक्स (या केवल फायरफॉक्स) मोज़ीला फाउंडेशन और उसकी सहायक संस्था द्वारा विकसित एक स्वतंत्र और खुला-स्रोत ब्राउज़र है। फायरफॉक्स विंडोज़, मैकओस (MacOS) और लिनक्स संचालक तंत्रों के लिए उपलब्ध है; फायरफॉक्स एंड्रॉयड के लिए भी उपलब्ध है। &lt;br /&gt;
&lt;br /&gt;
==== मूलभूत जानकारी ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|आईसीटी सक्षमता &lt;br /&gt;
|फायरफॉक्स संबंधन तथा सीखने के लिए एक स्वतंत् और खुला-स्रो वेब ब्राउज़र है। &lt;br /&gt;
&lt;br /&gt;
हम इसे एक वेब ब्राउज़र के रूप शैक्षिक जानकारी तथा संसाधनों को खोजकर पढ़ने हेतु काम में लेंगे। &lt;br /&gt;
|-&lt;br /&gt;
|शैक्षिक उपयोग और प्रासंगिकता &lt;br /&gt;
|किसी के सीखने के लिए विश्वव्यापी डिजिटल पुस्तकालय के रूप में वेब तक पहुँच आईसीटी के महत्वपूर्ण लाभों में से एक है। वेब पर पृष्ठों को खोलने के लिए एक ब्राउज़र आवश्यक होता है। &lt;br /&gt;
|-&lt;br /&gt;
|संस्करण&lt;br /&gt;
|फायरफॉक्स 49.02&lt;br /&gt;
|-&lt;br /&gt;
|विन्यास  Configuration&lt;br /&gt;
|इसके विन्यास की आवश्यकता नहीं  होती। यह एक वेब आधारित अनुप्रयोग है और इसे ब्राउ करने (खोज  कर पढ़ने) क लिए इंटरनेट कनेक्शन क आवश्यकता होती है। &lt;br /&gt;
|-&lt;br /&gt;
|अन्य समरूप अनुप्रयोग &lt;br /&gt;
|'&amp;lt;nowiki/&amp;gt;''Google Chrome', '''Opera''''' (गूगल  क्रोम,ओपेरा)&lt;br /&gt;
|-&lt;br /&gt;
|मोबाइल और टेबलेट पर यह अनुप्रयोग&lt;br /&gt;
|Fdroid  स फायरफॉक्स का एंड्रॉयड  संस्करण डाऊनलोड किय जा सकता है। &lt;br /&gt;
|-&lt;br /&gt;
|विकास और सामुदायिक सहायता &lt;br /&gt;
|Mozilla Foundation and contributors - Mozilla Corporation  (मोज़ीला फाउंडेशन और सहयोगी –मोज़ीला कॉर्पोरेशन)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====विशेषताओं का संक्षिप्त-विवरण ====&lt;br /&gt;
फायरफॉक्स ब्राउज़र वेब पृष्ठों को प्रस्तुत करने हेतु अनेक वेब मानकों का समर्थन करता है। यह अधिकांश वेब पृष्ठों को सही तरीके से प्रस्तुत करता है। फायरफॉक्स अपनी प्लग इन/ऐड ऑन की विशाल श्रंखला के लिए भी जाना जाता है, जो उपयोगकर्ता को आवश्यकतानुसार विविध तरीकों से अनुकूलन करने देता है।   &lt;br /&gt;
&lt;br /&gt;
फायरफॉक्स एक मुक्त, मंच (विंडोज़, Mac OS X  और लिनक्स मंचों के लिए उपलब्ध) वेब ब्राउज़र है जिसे मोज़ीला कॉर्पोरेशन तथा अनेक अन्य योगदानकर्ताओं ने मिलकर विकसित किया है। &lt;br /&gt;
&lt;br /&gt;
अधिक जानकारी के लिए देखें https://en.wikipedia.org/wiki/Features_of_Firefox&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki/&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
==== स्थापना ====&lt;br /&gt;
# यह	अनुप्रयोग उबुंटू कस्टम वितरण	का एक भाग है। &lt;br /&gt;
# यदि	आपको यह आपके कंप्यूटर पर	नहीं मिलता है तो आप इसे	सॉफ्टवेयर सेंटर में टॉप सर्च	बार पर &amp;lt;code&amp;gt;Firefox	टाइप	करके स्थापित कर सकते है।&amp;lt;/code&amp;gt; 	&lt;br /&gt;
# यदि	आप टर्मिनल के माध्यम से	&amp;lt;code&amp;gt;स्थापित	करना चाहते हैं,	तो	निम्नलिखित चरणों का अनुसरण	करें :&amp;lt;/code&amp;gt;	&lt;br /&gt;
## Applications-&amp;gt;System		Tools-&amp;gt;Terminal को		क्लिक करके या कीबोर्ड शॉर्टकट		&amp;lt;code&amp;gt;Ctrl+Alt+T&amp;lt;/code&amp;gt; 		द्वारा		टर्मिनल खोलें। &lt;br /&gt;
&lt;br /&gt;
# टर्मिनल	विंडो में,	नीचे	दिया हुआ कमांड टाइप करें और	अपनी मशीन का पासवर्ड डालते	हुए &amp;lt;code&amp;gt;स्था&amp;lt;/code&amp;gt;पन	शुरू करने के लिए एंटर दबाएँ	:&lt;br /&gt;
# &amp;lt;code&amp;gt;sudo	apt-get install firefox&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===अनुप्रयोग के साथ कार्य करना  ===&lt;br /&gt;
&lt;br /&gt;
==== फायरफॉक्स को खोलना और एक्सेस करना ====&lt;br /&gt;
# मोज़ीला फायरफॉक्स Applications &amp;gt;Internet &amp;gt;Firefox Web Browser के तहत दिखाई देगा। &lt;br /&gt;
मुख्य पृष्ठ दूसरे चित्र की तरह दिखेगा। यदि आप वेब एड्रेस जानते हैं तो आप इसे एड्रेस बार में टाइप कर सकते हैं। उदाहरण: www.upsc.gov.in&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;200px&amp;quot; caption=&amp;quot;Opening and accessing Firefox&amp;quot;&amp;gt; &lt;br /&gt;
File:Firefox_1_Option_Menu_To_Open.png|Opening Firefox&lt;br /&gt;
File:For textbook Mozilla.png|thumb|The menu bar in Firefox&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;200px&amp;quot; caption=&amp;quot;Searching for information using Firefox&amp;quot;&amp;gt; &lt;br /&gt;
File:Firefox_3_Address_Bar.png|Accessing address bar&lt;br /&gt;
File:Firefox_4_Type_the_address.png|Searching resources&lt;br /&gt;
File:Firefox_5_Searched_Address.png|Browsing information&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
# यदि	आपको एक विशेष वेब एड्रेस	ज्ञात नहीं है,	तो	आप उसे खोजने के लिए उसका मुख्य	शब्द टाइप कर सकते हैं,	उदाहरण	: UPSC ।	 आप सर्च इंजन का उपयोग कर केवल	पाठ्य-सामग्री	ही नहीं,	चित्र	और वीडियो भी ढूंढ सकते हैं।	गूगल सर्च इंजन (और	सर्च इंजन भी हैं)	में,	खोजने	के परिणामों के लिए वेब,	या	चित्र या वीडियो की खोज हेतु	विकल्प होते हैं। आप अपने	कंप्यूटर में फाइल (वीडियो,	पाठ्यसामग्री	फाइल, चित्र	फाइल)	डाउनलोड	कर सकते हैं। जाँच कर लें कि	क्या फाइल का प्रकाशनाधिकार	आपको फाइल की नकल करने और उसका	उपयोग करने की अनुमति देता	है।	&lt;br /&gt;
# खोज	परिणाम तीसरे चित्र के रूप	में दिखाई देंगे। आप खोजी गई	जानकारी एक्सेस करने के लिए	लिंक्स पर क्लिक कर सकते हैं।	&lt;br /&gt;
&lt;br /&gt;
====पाठ्यसामग्री और चित्र संसाधन खोजना  ====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot; caption=&amp;quot;Searching for text and image resources&amp;quot;&amp;gt; &lt;br /&gt;
File:Text search in firefox.png|Searching text resources&lt;br /&gt;
File:Image seach in forefox.png|Searching image resources&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
#You could look for text information by simply typing the key word of your searching content, In the above image you can see text information accessed for &amp;quot;Digital Story Telling&amp;quot; in the search bar of the search engine. You can copy the search results information and can paste into your own text document. &lt;br /&gt;
#You can search for images from Firefox web browser, For example: If you want to search images about Digital Story Telling, simply type &amp;quot;Digital Story Telling&amp;quot; in the search bar of the search engine and select ‘Images’ link.  Here you can select images that are licensed for reuse by specifying the search settings. If you want to download or save images to your computer, right click on the image and click on &amp;quot;Save image as&amp;quot;. Rename the image file and select appropriate folder to save.&lt;br /&gt;
&lt;br /&gt;
====Boormark features in Firefox====&lt;br /&gt;
[[File:bookmark.png|400px|left]]&lt;br /&gt;
'''Bookmarks'''-All modern web browsers include bookmark features. Bookmarks are called favourites or Internet short-cuts in Internet browser.&amp;lt;br&amp;gt;&lt;br /&gt;
To add a bookmark: Go to Menu Bar and click the bookmarks and click on &amp;quot;add this to bookmarks&amp;quot; to save the current page as a bookmark. By default, new bookmarks are saved to the Unsorted bookmarks folder. ... If you want separate folder, you can also create as per our requirements. &lt;br /&gt;
{{clear}}&lt;br /&gt;
====Save webpage to use offline====&lt;br /&gt;
[[File:Screenshot from 2017-01-05 10-53-22.png|400px|left]]&lt;br /&gt;
In Browser you can save web pages offline to use without internet. To save the page, right click on the page and click on &amp;quot;Save Page As&amp;quot;. In the save tab, you can give specific file name and in the file format you need to select &amp;quot;Web Page Complete&amp;quot; and then click SAVE. Now it will save html file with a thumbnail folder. By clicking on html file you can view web page offline. &lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
====Saving the files and formats====&lt;br /&gt;
Not Applicable&lt;br /&gt;
====Advanced features====&lt;br /&gt;
'''Open Source'''&lt;br /&gt;
Firefox is the only open source Web browser among the most used browsers on the Web as of March 2013. The open source nature of Firefox enables developers from all over the world to contribute code to the browser and extend the functionality of Firefox with add-ons and themes.&lt;br /&gt;
&lt;br /&gt;
'''Add-ons'''&lt;br /&gt;
Firefox is one of the most easily customized browsers thanks to its extensive library of add-ons. Add-ons are small bits of code that can extend the functionality of Firefox in an almost infinite number of ways. &lt;br /&gt;
&lt;br /&gt;
'''Security'''&lt;br /&gt;
Firefox features a number of tools designed to prevent malicious websites from causing harm.&lt;br /&gt;
&lt;br /&gt;
Android version for Firefox can be downloaded from [https://f-droid.org/repo/fennec-50.1.0.multi.android-arm.apk Fdroid].&lt;br /&gt;
&lt;br /&gt;
===Ideas for resource creation===&lt;br /&gt;
From the web browser we can easily download what ever we want related to subject (text,audio video)&lt;br /&gt;
===References===&lt;br /&gt;
[https://en.wikipedia.org/wiki/Firefox Wikipedia]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Web_browser Browser]&lt;br /&gt;
&lt;br /&gt;
[[Category:Explore an application]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Learn_Firefox&amp;diff=392</id>
		<title>Learn Firefox</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Learn_Firefox&amp;diff=392"/>
		<updated>2018-05-09T06:44:17Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;asdfa&lt;br /&gt;
[http://karnatakaeducation.org.in/KOER/index.php/%E0%B2%AA%E0%B3%88%E0%B2%B0%E0%B3%8D%E2%80%8C%E0%B2%AB%E0%B2%BE%E0%B2%95%E0%B3%8D%E0%B2%B8%E0%B3%8D_%E0%B2%95%E0%B2%B2%E0%B2%BF%E0%B2%AF%E0%B2%BF%E0%B2%B0%E0%B2%BF ಕನ್ನಡದಲ್ಲಿ ನೋಡಿ]''&lt;br /&gt;
=== परिचय ===&lt;br /&gt;
मोज़ीला फायरफॉक्स (या केवल फायरफॉक्स) मोज़ीला फाउंडेशन और उसकी सहायक संस्था द्वारा विकसित एक स्वतंत्र और खुला-स्रोत ब्राउज़र है। फायरफॉक्स विंडोज़, मैकओस (MacOS) और लिनक्स संचालक तंत्रों के लिए उपलब्ध है; फायरफॉक्स एंड्रॉयड के लिए भी उपलब्ध है। &lt;br /&gt;
&lt;br /&gt;
==== मूलभूत जानकारी ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|आईसीटी सक्षमता &lt;br /&gt;
|फायरफॉक्स संबंधन तथा सीखने के लिए एक स्वतंत् और खुला-स्रो वेब ब्राउज़र है। &lt;br /&gt;
&lt;br /&gt;
हम इसे एक वेब ब्राउज़र के रूप शैक्षिक जानकारी तथा संसाधनों को खोजकर पढ़ने हेतु काम में लेंगे। &lt;br /&gt;
|-&lt;br /&gt;
|शैक्षिक उपयोग और प्रासंगिकता &lt;br /&gt;
|किसी के सीखने के लिए विश्वव्यापी डिजिटल पुस्तकालय के रूप में वेब तक पहुँच आईसीटी के महत्वपूर्ण लाभों में से एक है। वेब पर पृष्ठों को खोलने के लिए एक ब्राउज़र आवश्यक होता है। &lt;br /&gt;
|-&lt;br /&gt;
|संस्करण&lt;br /&gt;
|फायरफॉक्स 49.02&lt;br /&gt;
|-&lt;br /&gt;
|विन्यास  Configuration&lt;br /&gt;
|इसके विन्यास की आवश्यकता नहीं  होती। यह एक वेब आधारित अनुप्रयोग है और इसे ब्राउ करने (खोज  कर पढ़ने) क लिए इंटरनेट कनेक्शन क आवश्यकता होती है। &lt;br /&gt;
|-&lt;br /&gt;
|अन्य समरूप अनुप्रयोग &lt;br /&gt;
|'&amp;lt;nowiki/&amp;gt;''Google Chrome', '''Opera''''' (गूगल  क्रोम,ओपेरा)&lt;br /&gt;
|-&lt;br /&gt;
|मोबाइल और टेबलेट पर यह अनुप्रयोग&lt;br /&gt;
|Fdroid  स फायरफॉक्स का एंड्रॉयड  संस्करण डाऊनलोड किय जा सकता है। &lt;br /&gt;
|-&lt;br /&gt;
|विकास और सामुदायिक सहायता &lt;br /&gt;
|Mozilla Foundation and contributors - Mozilla Corporation  (मोज़ीला फाउंडेशन और सहयोगी –मोज़ीला कॉर्पोरेशन)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====विशेषताओं का संक्षिप्त-विवरण ====&lt;br /&gt;
फायरफॉक्स ब्राउज़र वेब पृष्ठों को प्रस्तुत करने हेतु अनेक वेब मानकों का समर्थन करता है। यह अधिकांश वेब पृष्ठों को सही तरीके से प्रस्तुत करता है। फायरफॉक्स अपनी प्लग इन/ऐड ऑन की विशाल श्रंखला के लिए भी जाना जाता है, जो उपयोगकर्ता को आवश्यकतानुसार विविध तरीकों से अनुकूलन करने देता है।   &lt;br /&gt;
&lt;br /&gt;
फायरफॉक्स एक मुक्त, मंच (विंडोज़, Mac OS X  और लिनक्स मंचों के लिए उपलब्ध) वेब ब्राउज़र है जिसे मोज़ीला कॉर्पोरेशन तथा अनेक अन्य योगदानकर्ताओं ने मिलकर विकसित किया है। &lt;br /&gt;
&lt;br /&gt;
अधिक जानकारी के लिए देखें https://en.wikipedia.org/wiki/Features_of_Firefox&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki/&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
==== स्थापना ====&lt;br /&gt;
# यह	अनुप्रयोग उबुंटू कस्टम वितरण	का एक भाग है। &lt;br /&gt;
# यदि	आपको यह आपके कंप्यूटर पर	नहीं मिलता है तो आप इसे	सॉफ्टवेयर सेंटर में टॉप सर्च	बार पर &amp;lt;code&amp;gt;Firefox	टाइप	करके स्थापित कर सकते है।&amp;lt;/code&amp;gt; 	&lt;br /&gt;
# यदि	आप टर्मिनल के माध्यम से	&amp;lt;code&amp;gt;स्थापित	करना चाहते हैं,	तो	निम्नलिखित चरणों का अनुसरण	करें :&amp;lt;/code&amp;gt;	&lt;br /&gt;
## Applications-&amp;gt;System		Tools-&amp;gt;Terminal को		क्लिक करके या कीबोर्ड शॉर्टकट		&amp;lt;code&amp;gt;Ctrl+Alt+T&amp;lt;/code&amp;gt; 		द्वारा		टर्मिनल खोलें। &lt;br /&gt;
&lt;br /&gt;
# टर्मिनल	विंडो में,	नीचे	दिया हुआ कमांड टाइप करें और	अपनी मशीन का पासवर्ड डालते	हुए &amp;lt;code&amp;gt;स्था&amp;lt;/code&amp;gt;पन	शुरू करने के लिए एंटर दबाएँ	:&lt;br /&gt;
# &amp;lt;code&amp;gt;sudo	apt-get install firefox&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===अनुप्रयोग के साथ कार्य करना  ===&lt;br /&gt;
&lt;br /&gt;
==== फायरफॉक्स को खोलना और एक्सेस करना ====&lt;br /&gt;
# मोज़ीला फायरफॉक्स Applications &amp;gt;Internet &amp;gt;Firefox Web Browser के तहत दिखाई देगा। &lt;br /&gt;
मुख्य पृष्ठ दूसरे चित्र की तरह दिखेगा। यदि आप वेब एड्रेस जानते हैं तो आप इसे एड्रेस बार में टाइप कर सकते हैं। उदाहरण: www.upsc.gov.in&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;200px&amp;quot; caption=&amp;quot;Opening and accessing Firefox&amp;quot;&amp;gt; &lt;br /&gt;
File:Firefox_1_Option_Menu_To_Open.png|Opening Firefox&lt;br /&gt;
File:For textbook Mozilla.png|thumb|The menu bar in Firefox&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;200px&amp;quot; caption=&amp;quot;Searching for information using Firefox&amp;quot;&amp;gt; &lt;br /&gt;
File:Firefox_3_Address_Bar.png|Accessing address bar&lt;br /&gt;
File:Firefox_4_Type_the_address.png|Searching resources&lt;br /&gt;
File:Firefox_5_Searched_Address.png|Browsing information&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
# यदि	आपको एक विशेष वेब एड्रेस	ज्ञात नहीं है,	तो	आप उसे खोजने के लिए उसका मुख्य	शब्द टाइप कर सकते हैं,	उदाहरण	: UPSC ।	 आप सर्च इंजन का उपयोग कर केवल	पाठ्य-सामग्री	ही नहीं,	चित्र	और वीडियो भी ढूंढ सकते हैं।	गूगल सर्च इंजन (और	सर्च इंजन भी हैं)	में,	खोजने	के परिणामों के लिए वेब,	या	चित्र या वीडियो की खोज हेतु	विकल्प होते हैं। आप अपने	कंप्यूटर में फाइल (वीडियो,	पाठ्यसामग्री	फाइल, चित्र	फाइल)	डाउनलोड	कर सकते हैं। जाँच कर लें कि	क्या फाइल का प्रकाशनाधिकार	आपको फाइल की नकल करने और उसका	उपयोग करने की अनुमति देता	है।	&lt;br /&gt;
# खोज	परिणाम तीसरे चित्र के रूप	में दिखाई देंगे। आप खोजी गई	जानकारी एक्सेस करने के लिए	लिंक्स पर क्लिक कर सकते हैं।	&lt;br /&gt;
&lt;br /&gt;
====पाठ्यसामग्री और चित्र संसाधन खोजना  ====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot; caption=&amp;quot;Searching for text and image resources&amp;quot;&amp;gt; &lt;br /&gt;
File:Text search in firefox.png|Searching text resources&lt;br /&gt;
File:Image seach in forefox.png|Searching image resources&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
#You could look for text information by simply typing the key word of your searching content, In the above image you can see text information accessed for &amp;quot;Digital Story Telling&amp;quot; in the search bar of the search engine. You can copy the search results information and can paste into your own text document. &lt;br /&gt;
#You can search for images from Firefox web browser, For example: If you want to search images about Digital Story Telling, simply type &amp;quot;Digital Story Telling&amp;quot; in the search bar of the search engine and select ‘Images’ link.  Here you can select images that are licensed for reuse by specifying the search settings. If you want to download or save images to your computer, right click on the image and click on &amp;quot;Save image as&amp;quot;. Rename the image file and select appropriate folder to save.&lt;br /&gt;
&lt;br /&gt;
====Boormark features in Firefox====&lt;br /&gt;
[[File:bookmark.png|400px|left]]&lt;br /&gt;
'''Bookmarks'''-All modern web browsers include bookmark features. Bookmarks are called favourites or Internet short-cuts in Internet browser.&amp;lt;br&amp;gt;&lt;br /&gt;
To add a bookmark: Go to Menu Bar and click the bookmarks and click on &amp;quot;add this to bookmarks&amp;quot; to save the current page as a bookmark. By default, new bookmarks are saved to the Unsorted bookmarks folder. ... If you want separate folder, you can also create as per our requirements. &lt;br /&gt;
{{clear}}&lt;br /&gt;
====Save webpage to use offline====&lt;br /&gt;
[[File:Screenshot from 2017-01-05 10-53-22.png|400px|left]]&lt;br /&gt;
In Browser you can save web pages offline to use without internet. To save the page, right click on the page and click on &amp;quot;Save Page As&amp;quot;. In the save tab, you can give specific file name and in the file format you need to select &amp;quot;Web Page Complete&amp;quot; and then click SAVE. Now it will save html file with a thumbnail folder. By clicking on html file you can view web page offline. &lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
====Saving the files and formats====&lt;br /&gt;
Not Applicable&lt;br /&gt;
====Advanced features====&lt;br /&gt;
'''Open Source'''&lt;br /&gt;
Firefox is the only open source Web browser among the most used browsers on the Web as of March 2013. The open source nature of Firefox enables developers from all over the world to contribute code to the browser and extend the functionality of Firefox with add-ons and themes.&lt;br /&gt;
&lt;br /&gt;
'''Add-ons'''&lt;br /&gt;
Firefox is one of the most easily customized browsers thanks to its extensive library of add-ons. Add-ons are small bits of code that can extend the functionality of Firefox in an almost infinite number of ways. &lt;br /&gt;
&lt;br /&gt;
'''Security'''&lt;br /&gt;
Firefox features a number of tools designed to prevent malicious websites from causing harm.&lt;br /&gt;
&lt;br /&gt;
Android version for Firefox can be downloaded from [https://f-droid.org/repo/fennec-50.1.0.multi.android-arm.apk Fdroid].&lt;br /&gt;
&lt;br /&gt;
===Ideas for resource creation===&lt;br /&gt;
From the web browser we can easily download what ever we want related to subject (text,audio video)&lt;br /&gt;
===References===&lt;br /&gt;
[https://en.wikipedia.org/wiki/Firefox Wikipedia]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Web_browser Browser]&lt;br /&gt;
&lt;br /&gt;
[[Category:Explore an application]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Learn_Firefox&amp;diff=390</id>
		<title>Learn Firefox</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Learn_Firefox&amp;diff=390"/>
		<updated>2018-05-09T06:40:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;asdfa&lt;br /&gt;
{| style=&amp;quot;height:10px; float:right; align:center;&amp;quot;&lt;br /&gt;
|''[http://karnatakaeducation.org.in/KOER/index.php/%E0%B2%AA%E0%B3%88%E0%B2%B0%E0%B3%8D%E2%80%8C%E0%B2%AB%E0%B2%BE%E0%B2%95%E0%B3%8D%E0%B2%B8%E0%B3%8D_%E0%B2%95%E0%B2%B2%E0%B2%BF%E0%B2%AF%E0%B2%BF%E0%B2%B0%E0%B2%BF ಕನ್ನಡದಲ್ಲಿ ನೋಡಿ]''&lt;br /&gt;
=== परिचय ===&lt;br /&gt;
मोज़ीला फायरफॉक्स (या केवल फायरफॉक्स) मोज़ीला फाउंडेशन और उसकी सहायक संस्था द्वारा विकसित एक स्वतंत्र और खुला-स्रोत ब्राउज़र है। फायरफॉक्स विंडोज़, मैकओस (MacOS) और लिनक्स संचालक तंत्रों के लिए उपलब्ध है; फायरफॉक्स एंड्रॉयड के लिए भी उपलब्ध है। &lt;br /&gt;
&lt;br /&gt;
==== मूलभूत जानकारी ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|आईसीटी सक्षमता &lt;br /&gt;
|फायरफॉक्स संबंधन तथा सीखने के लिए एक स्वतंत् और खुला-स्रो वेब ब्राउज़र है। &lt;br /&gt;
&lt;br /&gt;
हम इसे एक वेब ब्राउज़र के रूप शैक्षिक जानकारी तथा संसाधनों को खोजकर पढ़ने हेतु काम में लेंगे। &lt;br /&gt;
|-&lt;br /&gt;
|शैक्षिक उपयोग और प्रासंगिकता &lt;br /&gt;
|किसी के सीखने के लिए विश्वव्यापी डिजिटल पुस्तकालय के रूप में वेब तक पहुँच आईसीटी के महत्वपूर्ण लाभों में से एक है। वेब पर पृष्ठों को खोलने के लिए एक ब्राउज़र आवश्यक होता है। &lt;br /&gt;
|-&lt;br /&gt;
|संस्करण&lt;br /&gt;
|फायरफॉक्स 49.02&lt;br /&gt;
|-&lt;br /&gt;
|विन्यास  Configuration&lt;br /&gt;
|इसके विन्यास की आवश्यकता नहीं  होती। यह एक वेब आधारित अनुप्रयोग है और इसे ब्राउ करने (खोज  कर पढ़ने) क लिए इंटरनेट कनेक्शन क आवश्यकता होती है। &lt;br /&gt;
|-&lt;br /&gt;
|अन्य समरूप अनुप्रयोग &lt;br /&gt;
|'&amp;lt;nowiki/&amp;gt;''Google Chrome', '''Opera''''' (गूगल  क्रोम,ओपेरा)&lt;br /&gt;
|-&lt;br /&gt;
|मोबाइल और टेबलेट पर यह अनुप्रयोग&lt;br /&gt;
|Fdroid  स फायरफॉक्स का एंड्रॉयड  संस्करण डाऊनलोड किय जा सकता है। &lt;br /&gt;
|-&lt;br /&gt;
|विकास और सामुदायिक सहायता &lt;br /&gt;
|Mozilla Foundation and contributors - Mozilla Corporation  (मोज़ीला फाउंडेशन और सहयोगी –मोज़ीला कॉर्पोरेशन)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====विशेषताओं का संक्षिप्त-विवरण ====&lt;br /&gt;
फायरफॉक्स ब्राउज़र वेब पृष्ठों को प्रस्तुत करने हेतु अनेक वेब मानकों का समर्थन करता है। यह अधिकांश वेब पृष्ठों को सही तरीके से प्रस्तुत करता है। फायरफॉक्स अपनी प्लग इन/ऐड ऑन की विशाल श्रंखला के लिए भी जाना जाता है, जो उपयोगकर्ता को आवश्यकतानुसार विविध तरीकों से अनुकूलन करने देता है।   &lt;br /&gt;
&lt;br /&gt;
फायरफॉक्स एक मुक्त, मंच (विंडोज़, Mac OS X  और लिनक्स मंचों के लिए उपलब्ध) वेब ब्राउज़र है जिसे मोज़ीला कॉर्पोरेशन तथा अनेक अन्य योगदानकर्ताओं ने मिलकर विकसित किया है। &lt;br /&gt;
&lt;br /&gt;
अधिक जानकारी के लिए देखें https://en.wikipedia.org/wiki/Features_of_Firefox&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''''&amp;lt;nowiki/&amp;gt;'''''&lt;br /&gt;
&lt;br /&gt;
==== स्थापना ====&lt;br /&gt;
# यह	अनुप्रयोग उबुंटू कस्टम वितरण	का एक भाग है। &lt;br /&gt;
# यदि	आपको यह आपके कंप्यूटर पर	नहीं मिलता है तो आप इसे	सॉफ्टवेयर सेंटर में टॉप सर्च	बार पर &amp;lt;code&amp;gt;Firefox	टाइप	करके स्थापित कर सकते है।&amp;lt;/code&amp;gt; 	&lt;br /&gt;
# यदि	आप टर्मिनल के माध्यम से	&amp;lt;code&amp;gt;स्थापित	करना चाहते हैं,	तो	निम्नलिखित चरणों का अनुसरण	करें :&amp;lt;/code&amp;gt;	&lt;br /&gt;
## Applications-&amp;gt;System		Tools-&amp;gt;Terminal को		क्लिक करके या कीबोर्ड शॉर्टकट		&amp;lt;code&amp;gt;Ctrl+Alt+T&amp;lt;/code&amp;gt; 		द्वारा		टर्मिनल खोलें। &lt;br /&gt;
&lt;br /&gt;
# टर्मिनल	विंडो में,	नीचे	दिया हुआ कमांड टाइप करें और	अपनी मशीन का पासवर्ड डालते	हुए &amp;lt;code&amp;gt;स्था&amp;lt;/code&amp;gt;पन	शुरू करने के लिए एंटर दबाएँ	:&lt;br /&gt;
# &amp;lt;code&amp;gt;sudo	apt-get install firefox&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===अनुप्रयोग के साथ कार्य करना  ===&lt;br /&gt;
&lt;br /&gt;
==== फायरफॉक्स को खोलना और एक्सेस करना ====&lt;br /&gt;
# मोज़ीला फायरफॉक्स Applications &amp;gt;Internet &amp;gt;Firefox Web Browser के तहत दिखाई देगा। &lt;br /&gt;
मुख्य पृष्ठ दूसरे चित्र की तरह दिखेगा। यदि आप वेब एड्रेस जानते हैं तो आप इसे एड्रेस बार में टाइप कर सकते हैं। उदाहरण: www.upsc.gov.in&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;200px&amp;quot; caption=&amp;quot;Opening and accessing Firefox&amp;quot;&amp;gt; &lt;br /&gt;
File:Firefox_1_Option_Menu_To_Open.png|Opening Firefox&lt;br /&gt;
File:For textbook Mozilla.png|thumb|The menu bar in Firefox&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;200px&amp;quot; caption=&amp;quot;Searching for information using Firefox&amp;quot;&amp;gt; &lt;br /&gt;
File:Firefox_3_Address_Bar.png|Accessing address bar&lt;br /&gt;
File:Firefox_4_Type_the_address.png|Searching resources&lt;br /&gt;
File:Firefox_5_Searched_Address.png|Browsing information&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
# यदि	आपको एक विशेष वेब एड्रेस	ज्ञात नहीं है,	तो	आप उसे खोजने के लिए उसका मुख्य	शब्द टाइप कर सकते हैं,	उदाहरण	: UPSC ।	 आप सर्च इंजन का उपयोग कर केवल	पाठ्य-सामग्री	ही नहीं,	चित्र	और वीडियो भी ढूंढ सकते हैं।	गूगल सर्च इंजन (और	सर्च इंजन भी हैं)	में,	खोजने	के परिणामों के लिए वेब,	या	चित्र या वीडियो की खोज हेतु	विकल्प होते हैं। आप अपने	कंप्यूटर में फाइल (वीडियो,	पाठ्यसामग्री	फाइल, चित्र	फाइल)	डाउनलोड	कर सकते हैं। जाँच कर लें कि	क्या फाइल का प्रकाशनाधिकार	आपको फाइल की नकल करने और उसका	उपयोग करने की अनुमति देता	है।	&lt;br /&gt;
# खोज	परिणाम तीसरे चित्र के रूप	में दिखाई देंगे। आप खोजी गई	जानकारी एक्सेस करने के लिए	लिंक्स पर क्लिक कर सकते हैं।	&lt;br /&gt;
&lt;br /&gt;
====पाठ्यसामग्री और चित्र संसाधन खोजना  ====&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot; caption=&amp;quot;Searching for text and image resources&amp;quot;&amp;gt; &lt;br /&gt;
File:Text search in firefox.png|Searching text resources&lt;br /&gt;
File:Image seach in forefox.png|Searching image resources&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
#You could look for text information by simply typing the key word of your searching content, In the above image you can see text information accessed for &amp;quot;Digital Story Telling&amp;quot; in the search bar of the search engine. You can copy the search results information and can paste into your own text document. &lt;br /&gt;
#You can search for images from Firefox web browser, For example: If you want to search images about Digital Story Telling, simply type &amp;quot;Digital Story Telling&amp;quot; in the search bar of the search engine and select ‘Images’ link.  Here you can select images that are licensed for reuse by specifying the search settings. If you want to download or save images to your computer, right click on the image and click on &amp;quot;Save image as&amp;quot;. Rename the image file and select appropriate folder to save.&lt;br /&gt;
&lt;br /&gt;
====Boormark features in Firefox====&lt;br /&gt;
[[File:bookmark.png|400px|left]]&lt;br /&gt;
'''Bookmarks'''-All modern web browsers include bookmark features. Bookmarks are called favourites or Internet short-cuts in Internet browser.&amp;lt;br&amp;gt;&lt;br /&gt;
To add a bookmark: Go to Menu Bar and click the bookmarks and click on &amp;quot;add this to bookmarks&amp;quot; to save the current page as a bookmark. By default, new bookmarks are saved to the Unsorted bookmarks folder. ... If you want separate folder, you can also create as per our requirements. &lt;br /&gt;
{{clear}}&lt;br /&gt;
====Save webpage to use offline====&lt;br /&gt;
[[File:Screenshot from 2017-01-05 10-53-22.png|400px|left]]&lt;br /&gt;
In Browser you can save web pages offline to use without internet. To save the page, right click on the page and click on &amp;quot;Save Page As&amp;quot;. In the save tab, you can give specific file name and in the file format you need to select &amp;quot;Web Page Complete&amp;quot; and then click SAVE. Now it will save html file with a thumbnail folder. By clicking on html file you can view web page offline. &lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
====Saving the files and formats====&lt;br /&gt;
Not Applicable&lt;br /&gt;
====Advanced features====&lt;br /&gt;
'''Open Source'''&lt;br /&gt;
Firefox is the only open source Web browser among the most used browsers on the Web as of March 2013. The open source nature of Firefox enables developers from all over the world to contribute code to the browser and extend the functionality of Firefox with add-ons and themes.&lt;br /&gt;
&lt;br /&gt;
'''Add-ons'''&lt;br /&gt;
Firefox is one of the most easily customized browsers thanks to its extensive library of add-ons. Add-ons are small bits of code that can extend the functionality of Firefox in an almost infinite number of ways. &lt;br /&gt;
&lt;br /&gt;
'''Security'''&lt;br /&gt;
Firefox features a number of tools designed to prevent malicious websites from causing harm.&lt;br /&gt;
&lt;br /&gt;
Android version for Firefox can be downloaded from [https://f-droid.org/repo/fennec-50.1.0.multi.android-arm.apk Fdroid].&lt;br /&gt;
&lt;br /&gt;
===Ideas for resource creation===&lt;br /&gt;
From the web browser we can easily download what ever we want related to subject (text,audio video)&lt;br /&gt;
===References===&lt;br /&gt;
[https://en.wikipedia.org/wiki/Firefox Wikipedia]&lt;br /&gt;
&lt;br /&gt;
[https://en.wikipedia.org/wiki/Web_browser Browser]&lt;br /&gt;
&lt;br /&gt;
[[Category:Explore an application]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin&amp;diff=386</id>
		<title>सदस्य:Admin</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin&amp;diff=386"/>
		<updated>2018-05-09T06:34:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;संपादन&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Geogebra&amp;diff=382</id>
		<title>साँचा:Geogebra</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Geogebra&amp;diff=382"/>
		<updated>2018-05-09T06:26:07Z</updated>

		<summary type="html">&lt;p&gt;Admin: '{{#widget:Iframe |url=https://www.geogebra.org/material/iframe/id/{{{1}}}/width/{{{2|1100}}}/height/{{{3|600}}}/border/888888 |width={...' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#widget:Iframe&lt;br /&gt;
|url=https://www.geogebra.org/material/iframe/id/{{{1}}}/width/{{{2|1100}}}/height/{{{3|600}}}/border/888888&lt;br /&gt;
|width={{{2|1100}}}&lt;br /&gt;
|height={{{3|600}}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;{{Geogebra|https://www.geogebra.org/material/iframe/id/dzN68HSS/width/859/height/625/border/888888}}&amp;lt;/nowiki&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Geogebra|UpQ9MPBF}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;id from the geogebratube site&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;link&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;id from the geogebratube site here&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;dzN68HSS&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Embed Geogebra files from Geogebra site&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&amp;lt;noinclude/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%95%E0%A5%8B%E0%A4%A3%E0%A4%AE%E0%A4%BF%E0%A4%A4%E0%A5%80&amp;diff=376</id>
		<title>त्रिकोणमिती</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%A4%E0%A5%8D%E0%A4%B0%E0%A4%BF%E0%A4%95%E0%A5%8B%E0%A4%A3%E0%A4%AE%E0%A4%BF%E0%A4%A4%E0%A5%80&amp;diff=376"/>
		<updated>2018-05-09T05:56:45Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== परिकल्पना नक्शे ==&lt;br /&gt;
&lt;br /&gt;
== अतिरिक्त संसाधनों ==&lt;br /&gt;
&lt;br /&gt;
=== मुक्त शैक्षिक संसाधन ===&lt;br /&gt;
(List with a  brief description of what it contains; how it can be used and whether it can be by teacher/ student or both)&lt;br /&gt;
&lt;br /&gt;
==== वेब संसाधनों ====&lt;br /&gt;
&lt;br /&gt;
==== किताबें और पत्रिकाओं ====&lt;br /&gt;
&lt;br /&gt;
==== पाठ्यपुस्तकें ====&lt;br /&gt;
&lt;br /&gt;
==== पाठ्यक्रम दस्तावेजों ====&lt;br /&gt;
&lt;br /&gt;
=== न-मुक्त शैक्षिक संसाधन ===&lt;br /&gt;
(List with a  brief description of what it contains; how it can be used and whether it can be by teacher/ student or both)&lt;br /&gt;
&lt;br /&gt;
==== वेब संसाधनों ====&lt;br /&gt;
&lt;br /&gt;
==== किताबें और पत्रिकाओं ====&lt;br /&gt;
&lt;br /&gt;
==== पाठ्यपुस्तकें ====&lt;br /&gt;
&lt;br /&gt;
==== पाठ्यक्रम दस्तावेजों ====&lt;br /&gt;
&lt;br /&gt;
== सीखने के उद्देश्यों ==&lt;br /&gt;
&lt;br /&gt;
== शिक्षण क रूपरेखा ==&lt;br /&gt;
&lt;br /&gt;
=== परिकल्पना १: ===&lt;br /&gt;
Briefly describe the concept (2-3 sentences)&lt;br /&gt;
&lt;br /&gt;
=== गतिविधि ===&lt;br /&gt;
&lt;br /&gt;
==== पृष्ठ का नाम -गतिविधि का नाम ====&lt;br /&gt;
&lt;br /&gt;
==== नमूना ख़ाका ====&lt;br /&gt;
&lt;br /&gt;
===== गतिविधि का उद्देश्य =====&lt;br /&gt;
&lt;br /&gt;
===== पूर्वापेक्षा =====&lt;br /&gt;
&lt;br /&gt;
===== संसाधनों (डिजिटल एवं गैर डिजिटल) =====&lt;br /&gt;
&lt;br /&gt;
===== गतिविधि कैसे करें =====&lt;br /&gt;
&lt;br /&gt;
===== गतिविधि के अंत में मूल्यांकन =====&lt;br /&gt;
&lt;br /&gt;
=== परिकल्पना २: ===&lt;br /&gt;
Briefly describe the concept (2-3 sentences)&lt;br /&gt;
&lt;br /&gt;
=== गतिविधि ===&lt;br /&gt;
&lt;br /&gt;
==== पृष्ठ का नाम – गतिविधि का नाम ====&lt;br /&gt;
&lt;br /&gt;
==== नमूना ख़ाका ====&lt;br /&gt;
&lt;br /&gt;
===== गतिविधि का उद्देश्य =====&lt;br /&gt;
&lt;br /&gt;
===== पूर्वापेक्षा =====&lt;br /&gt;
&lt;br /&gt;
===== संसाधनों (डिजिटल एवं गैर डिजिटल) =====&lt;br /&gt;
&lt;br /&gt;
===== गतिविधि कैसे करें =====&lt;br /&gt;
&lt;br /&gt;
===== गतिविधि के अंत में मूल्यांकन =====&lt;br /&gt;
&lt;br /&gt;
=== महत्वपूर्ण सवाल/ समस्याओं का समाधान ===&lt;br /&gt;
&lt;br /&gt;
=== परिकल्पना ३: ===&lt;br /&gt;
Briefly describe the concept (2-3 sentences)&lt;br /&gt;
&lt;br /&gt;
=== गतिविधि ===&lt;br /&gt;
&lt;br /&gt;
==== पृष्ठ का नाम – गतिविधि का नाम ====&lt;br /&gt;
&lt;br /&gt;
==== नमूना ख़ाका ====&lt;br /&gt;
&lt;br /&gt;
===== गतिविधि का उद्देश्य =====&lt;br /&gt;
&lt;br /&gt;
===== पूर्वापेक्षा =====&lt;br /&gt;
&lt;br /&gt;
===== संसाधनों (डिजिटल एवं गैर डिजिटल) =====&lt;br /&gt;
&lt;br /&gt;
===== गतिविधि कैसे करें =====&lt;br /&gt;
&lt;br /&gt;
===== गतिविधि के अंत में मूल्यांकन =====&lt;br /&gt;
&lt;br /&gt;
== परियोजनाओं (गणित प्रयोगशाला, विज्ञान प्रयोगशाला या अंग्रेजी प्रयोगशाला शामिल कर सकते हैं) ==&lt;br /&gt;
&lt;br /&gt;
== मूल्यांकन ==&lt;br /&gt;
[[श्रेणी:त्रिकोणमिती]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B0%E0%A4%BE%E0%A4%9C%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE%E0%A4%A8&amp;diff=356</id>
		<title>राजस्थान</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B0%E0%A4%BE%E0%A4%9C%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE%E0%A4%A8&amp;diff=356"/>
		<updated>2018-05-05T15:32:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://teacher-network.in/OER/index.php/Rajasthan English]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Head text below with description --&amp;gt;&lt;br /&gt;
{{Color-box|6|Welcome to Rajasthan Open Educational Resources|Rajasthan OER is an OER repository for resource creation of the teachers, by the teachers and for the teachers of Rajasthan.&lt;br /&gt;
&lt;br /&gt;
This is an initiative of the Department of School Education, DSE, to create a resource repository of Open Educational Resources (OER) for teachers to make available curricular resources as well as support continuous professional development through participatory resource creation.&lt;br /&gt;
&lt;br /&gt;
It is envisaged that teachers and teacher educators will collaborate to build OER on this platform in English and in [https://teacher-network.in/OER/hi/index.php/%E0%A4%B0%E0%A4%BE%E0%A4%9C%E0%A4%B8%E0%A5%8D%E0%A4%A5%E0%A4%BE%E0%A4%A8 Hindi].  Participation by teachers can provide a sustainable model of creating and sharing educational resources that can enhance the educational outcomes.&lt;br /&gt;
&lt;br /&gt;
The core principles of ROER are participation, contextualization, availability of open educational resources and supporting teachers' professional development through participation in making curricular resources.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Table with column heading and description --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=8|title=Digital Literacy}}&lt;br /&gt;
[[Explore an Application]]&lt;br /&gt;
&lt;br /&gt;
[[Hindi typing]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Rajasthan Mathematics|Rajasthan Mathematics resources]]&lt;br /&gt;
&lt;br /&gt;
[[:Category:Rajasthan Class9|Rajasthan Class 9 resources]]&lt;br /&gt;
&lt;br /&gt;
Geogebra&lt;br /&gt;
&lt;br /&gt;
[https://tissx.tiss.edu/courses/course-v1:TISSx+RTICTHIS02+2017_RJ_001/about TISSx course on Mathematics for Rajasthan]&lt;br /&gt;
&lt;br /&gt;
|{{Color-table|theme=4|title=Title here}}&lt;br /&gt;
The ICT syllabus is developed with the following components: A '''[[ICT student textbook|textbook for students]]''', that introduces ICT skills and applications in a project based way, integrated with the different school subjects. &lt;br /&gt;
&lt;br /&gt;
The core competencies and skills will be based on National ICT curriculum and the Telangana state subject text books and academic standards. &lt;br /&gt;
&lt;br /&gt;
A '''[[ICT teacher handbook|handbook for teachers]]''' and teacher educators to help them implement the syllabus as well as support their own knowledge and learning of the ICT applications based on the NCERT ICT curriculum. [[ICT Education|Read more]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=12|title=Teacher Education}}Teacher education refers to the policies and procedures designed to equip prospective teachers with the knowledge, attitudes, behaviors and skills they require to perform their tasks effectively in the classroom, school and wider community. &lt;br /&gt;
|{{Color-table|theme=5|title=Gender and inclusive education}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=11|title=Pre-Primary Education}}&lt;br /&gt;
|{{Color-table|theme=14|title=How to participate}}&lt;br /&gt;
&lt;br /&gt;
You can participate in TROER either by directly editing the content, if you have login credentials.  &lt;br /&gt;
&lt;br /&gt;
If you do not have login access you can submit your resources using the Contribute button on the left panel.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[:श्रेणी:गणित|गणित संसाधन]]&lt;br /&gt;
&lt;br /&gt;
[[श्रेणी:राजस्थान]]&lt;br /&gt;
[[श्रेणी:प्रवेशद्वार]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox/Close&amp;diff=355</id>
		<title>सदस्य:Admin/Template:Robox/Close</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox/Close&amp;diff=355"/>
		<updated>2018-05-05T15:21:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from troer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox/C3&amp;diff=353</id>
		<title>सदस्य:Admin/Template:Robox/C3</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox/C3&amp;diff=353"/>
		<updated>2018-05-05T15:21:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from troer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch:{{{1|1}}}&lt;br /&gt;
 |1=Wheat&lt;br /&gt;
 |2=LightGreen&lt;br /&gt;
 |3=LightSteelBlue&lt;br /&gt;
 |4=LightCoral&lt;br /&gt;
 |5=Thistle&lt;br /&gt;
 |6=&amp;lt;nowiki&amp;gt;#ff9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |7=LightSkyBlue&lt;br /&gt;
 |8=Peachpuff&lt;br /&gt;
 |9=&amp;lt;nowiki&amp;gt;#c0eaa6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |10=&amp;lt;nowiki&amp;gt;#9AD4F6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |11=&amp;lt;nowiki&amp;gt;#E6C6E6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |12=&amp;lt;nowiki&amp;gt;#F4B8BF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |13=&amp;lt;nowiki&amp;gt;#CED1FA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |14=&amp;lt;nowiki&amp;gt;#e4e4e4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |15=&amp;lt;nowiki&amp;gt;#9eb8d6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox/C2&amp;diff=351</id>
		<title>सदस्य:Admin/Template:Robox/C2</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox/C2&amp;diff=351"/>
		<updated>2018-05-05T15:21:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from troer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch:{{{1|1}}}&lt;br /&gt;
 |1=&amp;lt;nowiki&amp;gt;#E39C79&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |2=ForestGreen&lt;br /&gt;
 |3=SteelBlue&lt;br /&gt;
 |4=IndianRed&lt;br /&gt;
 |5=MediumPurple&lt;br /&gt;
 |6=Gold&lt;br /&gt;
 |7=RoyalBlue&lt;br /&gt;
 |8=&amp;lt;nowiki&amp;gt;#E78A69&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |9=&amp;lt;nowiki&amp;gt;#71be3f&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |10=&amp;lt;nowiki&amp;gt;#4290bc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |11=&amp;lt;nowiki&amp;gt;#C289C3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |12=&amp;lt;nowiki&amp;gt;#C56B74&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |13=&amp;lt;nowiki&amp;gt;#8488DC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |14=&amp;lt;nowiki&amp;gt;#aaaaaa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |15=&amp;lt;nowiki&amp;gt;#2a62a1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox/C1&amp;diff=349</id>
		<title>सदस्य:Admin/Template:Robox/C1</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox/C1&amp;diff=349"/>
		<updated>2018-05-05T15:21:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from troer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch:{{{1|1}}}&lt;br /&gt;
 |1=&amp;lt;nowiki&amp;gt;#ffFcF1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |2=MintCream&lt;br /&gt;
 |3=AliceBlue&lt;br /&gt;
 |4=MistyRose&lt;br /&gt;
 |5=LavenderBlush&lt;br /&gt;
 |6=Ivory&lt;br /&gt;
 |7=Azure&lt;br /&gt;
 |8=Seashell&lt;br /&gt;
 |9=&amp;lt;nowiki&amp;gt;#f6fff1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |10=&amp;lt;nowiki&amp;gt;#f4faff&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |11=&amp;lt;nowiki&amp;gt;#FFF8FF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |12=&amp;lt;nowiki&amp;gt;#FFF6F8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |13=&amp;lt;nowiki&amp;gt;#F5F5FF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |14=&amp;lt;nowiki&amp;gt;#ffffff&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |15=&amp;lt;nowiki&amp;gt;#f4eed7&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox&amp;diff=347</id>
		<title>सदस्य:Admin/Template:Robox</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Robox&amp;diff=347"/>
		<updated>2018-05-05T15:21:39Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from troer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{| cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;margin:0em 0em 0em 0em; width:{{{width|100%}}}; {{#ifeq:{{{height|100%}}}|none||height:{{{height|100%}}}}};&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; {{#ifeq:{{{height|100%}}}|none||height:100%;}} vertical-align:top; border:1px solid {{Robox/C2|{{{theme|1}}}}}; background-color:{{Robox/C1|{{{theme|1}}}}};&amp;quot; |&lt;br /&gt;
{{#ifeq:{{{icon|default}}}|default||[[File:{{{icon|Wikibooks-logo.svg}}}|{{{iconwidth|32px}}}|right|link=]]}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:1px solid {{Robox/C2|{{{theme|1}}}}}; background-color:{{Robox/C3|{{{theme|1}}}}}; padding:0.2em 0.9em 0.2em 0.5em; text-align:center; font-size:120%; font-weight:bold;&amp;quot;&amp;gt;{{{title|Title}}}&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding:0.25em 0.5em 0.2em 0.5em;&amp;quot;&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
=== Themes ===&lt;br /&gt;
{| style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|{{Robox|theme=1|title=Theme 1}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=2|title=Theme 2}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=3|title=Theme 3}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=4|title=Theme 4}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=5|title=Theme 5}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Robox|theme=6|title=Theme 6}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=7|title=Theme 7}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=8|title=Theme 8}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=9|title=Theme 9}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=10|title=Theme 10}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Robox|theme=11|title=Theme 11}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=12|title=Theme 12}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=13|title=Theme 13}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=14|title=Theme 14}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=15|title=Theme 15}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|}__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Color-table&amp;diff=345</id>
		<title>सदस्य:Admin/Template:Color-table</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Color-table&amp;diff=345"/>
		<updated>2018-05-05T15:21:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from troer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;{{Robox/C2|{{{theme|1}}}}}; background-color:{{Robox/C3|{{{theme|1}}}}}; padding:0.5em; text-align:center; font-size:120%; font-weight:bold;&amp;quot;&amp;gt;{{{title|Title}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;theme&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Theme color&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Color themes - specify any number between 1 to 15&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;title&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;title or text&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Text for the box&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;Some example text&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Template to add color boxes with text&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
== Color Themes ==&lt;br /&gt;
{| style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|{{Color-table|theme=1|title=Theme 1}}&lt;br /&gt;
|{{Color-table|theme=2|title=Theme 2}}&lt;br /&gt;
|{{Color-table|theme=3|title=Theme 3}}&lt;br /&gt;
|{{Color-table|theme=4|title=Theme 4}}&lt;br /&gt;
|{{Color-table|theme=5|title=Theme 5}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=6|title=Theme 6}}&lt;br /&gt;
|{{Color-table|theme=7|title=Theme 7}}&lt;br /&gt;
|{{Color-table|theme=8|title=Theme 8}}&lt;br /&gt;
|{{Color-table|theme=9|title=Theme 9}}&lt;br /&gt;
|{{Color-table|theme=10|title=Theme 10}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=11|title=Theme 11}}&lt;br /&gt;
|{{Color-table|theme=12|title=Theme 12}}&lt;br /&gt;
|{{Color-table|theme=13|title=Theme 13}}&lt;br /&gt;
|{{Color-table|theme=14|title=Theme 14}}&lt;br /&gt;
|{{Color-table|theme=15|title=Theme 15}}&lt;br /&gt;
|}__NOTOC__&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Color-box&amp;diff=343</id>
		<title>सदस्य:Admin/Template:Color-box</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Template:Color-box&amp;diff=343"/>
		<updated>2018-05-05T15:21:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from troer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Robox|theme={{{1}}}|title={{{2}}}}}{{{3}}}&lt;br /&gt;
{{Robox/Close}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Theme&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;any number between 1 and 15&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Title&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Add title for the box&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;Title&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;3&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Content&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Content for the box&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;This template adds a box to a page with fifteen different colors themes&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
== Color Themes ==&lt;br /&gt;
{| style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|{{Robox|theme=1|title=Theme 1}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=2|title=Theme 2}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=3|title=Theme 3}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=4|title=Theme 4}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=5|title=Theme 5}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Robox|theme=6|title=Theme 6}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=7|title=Theme 7}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=8|title=Theme 8}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=9|title=Theme 9}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=10|title=Theme 10}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Robox|theme=11|title=Theme 11}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=12|title=Theme 12}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=13|title=Theme 13}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=14|title=Theme 14}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=15|title=Theme 15}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Main_Page&amp;diff=341</id>
		<title>सदस्य:Admin/Main Page</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin/Main_Page&amp;diff=341"/>
		<updated>2018-05-05T15:21:38Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from troer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;             {{Color-box|6|Welcome to Telangana Open Educational Resources|This is an OER repository for resource creation of the teachers, by the teachers and for the teachers of Telangana.&lt;br /&gt;
&lt;br /&gt;
This is an initiative of the Department of School Education, DSE, to create a resource repository of [[OER|Open Educational Resources (OER)]] for teachers to make available curricular resources as well as support continuous professional development through participatory resource creation.&lt;br /&gt;
&lt;br /&gt;
It is envisaged that teachers and teacher educators will collaborate to build OER on this platform.  Participation by teachers can provide a sustainable model of creating and sharing educational resources that can enhance the educational outcomes.  &lt;br /&gt;
&lt;br /&gt;
The core principles of TROER are participation, contextualization, availability of open educational resources and supporting teachers' professional development through participation in making curricular resources.  &lt;br /&gt;
&lt;br /&gt;
The resources have been developed for primary, elementary and secondary levels, along the framework developed in the National Curricular Framework, and as per the Telangana State Curricular Framework.   These resources will include pedagogic  approaches and classroom practices that will build towards the meta-knowledge of the practising teachers and teacher educators and are meant to supplement and complement the textbooks.&lt;br /&gt;
}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=8|title=Telangana ICT@School programme}}&lt;br /&gt;
The aim of the Telangana state education department (DSE) is to integrate technology into teaching and learning in sustained and meaningful ways.&lt;br /&gt;
&lt;br /&gt;
The department is building digital labs in schools and equipping classrooms with digital resources. &lt;br /&gt;
&lt;br /&gt;
TROER is an important component of this program, all digital resources relevant and required for teachers and students will be made available on TROER, consisting of accessed resources (links), existing resources and created resources.  [[Telangana ICT implementation approach|Read more]]&lt;br /&gt;
&lt;br /&gt;
'''Teacher training workshops'''&lt;br /&gt;
# [[Telangana Science STF SRP Workshop April 2017|Science STF SRP workshop April 2017]]&lt;br /&gt;
# [[Telangana Mathematics STF SRP Workshop April 2017|Mathematics STF SRP workshop April 2017]]&lt;br /&gt;
# [[District Tech Support Group Workshop, June-2017|Technology workshop June 2017]] &lt;br /&gt;
# [[Maths and Science STF SRP two day Workshop October 2017|Maths and Science STF SRP workshop October 2017]] &lt;br /&gt;
# [[STF District training 2017 18|STF District training 2017-18]] &lt;br /&gt;
'''TROER resource creation workshops'''&lt;br /&gt;
# [[TROER workshop February 2017]] &lt;br /&gt;
# [[TROER workshop 2 April 2017|TROER workshop April 2017]]&lt;br /&gt;
|{{Color-table|theme=4|title=ICT Textbook and Handbook}}&lt;br /&gt;
The ICT syllabus is developed with the following components: A '''[[ICT student textbook|textbook for students]]''', that introduces ICT skills and applications in a project based way, integrated with the different school subjects. &lt;br /&gt;
&lt;br /&gt;
The core competencies and skills will be based on National ICT curriculum and the Telangana state subject text books and academic standards. &lt;br /&gt;
&lt;br /&gt;
A '''[[ICT teacher handbook|handbook for teachers]]''' and teacher educators to help them implement the syllabus as well as support their own knowledge and learning of the ICT applications based on the NCERT ICT curriculum. [[ICT Education|Read more]]&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=12|title=Teacher Education}}Teacher education refers to the policies and procedures designed to equip prospective teachers with the knowledge, attitudes, behaviors and skills they require to perform their tasks effectively in the classroom, school and wider community. &lt;br /&gt;
|{{Color-table|theme=5|title=Gender and inclusive education}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=11|title=Pre-Primary Education}}&lt;br /&gt;
|{{Color-table|theme=14|title=How to participate}}&lt;br /&gt;
&lt;br /&gt;
You can participate in TROER either by directly editing the content, if you have login credentials.  &lt;br /&gt;
&lt;br /&gt;
If you do not have login access you can submit your resources using the Contribute button on the left panel.&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
[[Category:Portal]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Sidebar&amp;diff=186</id>
		<title>मीडियाविकि:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Sidebar&amp;diff=186"/>
		<updated>2018-04-18T07:42:51Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
&lt;br /&gt;
*OER in other languages&lt;br /&gt;
** https://teacher-network.in/OER/index.php/{{FULLPAGENAMEE}} |English OER&lt;br /&gt;
&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Sidebar&amp;diff=185</id>
		<title>मीडियाविकि:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Sidebar&amp;diff=185"/>
		<updated>2018-04-18T07:42:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
&lt;br /&gt;
*OER in other languages&lt;br /&gt;
** https://teacher-network.in/OER/index.php/{{FULLPAGENAMEE}} |English OER&lt;br /&gt;
&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Sidebar&amp;diff=184</id>
		<title>मीडियाविकि:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Sidebar&amp;diff=184"/>
		<updated>2018-04-18T07:42:01Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
&lt;br /&gt;
*OER in other languages&lt;br /&gt;
** https://teacher-network.in/OER/index.php/{{FULLPAGENAMEE}} |English OER&lt;br /&gt;
&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%82%E0%A4%96%E0%A5%8D%E0%A4%AF%E0%A4%BE_%E0%A4%95%E0%A5%87_%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A4%95%E0%A4%BE%E0%A4%B0&amp;diff=169</id>
		<title>संख्या के प्रकार</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%82%E0%A4%96%E0%A5%8D%E0%A4%AF%E0%A4%BE_%E0%A4%95%E0%A5%87_%E0%A4%AA%E0%A5%8D%E0%A4%B0%E0%A4%95%E0%A4%BE%E0%A4%B0&amp;diff=169"/>
		<updated>2018-04-18T04:11:36Z</updated>

		<summary type="html">&lt;p&gt;Admin: 'Category:संख्या पद्धति' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:संख्या पद्धति]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Sidebar&amp;diff=168</id>
		<title>मीडियाविकि:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Sidebar&amp;diff=168"/>
		<updated>2018-04-17T12:39:27Z</updated>

		<summary type="html">&lt;p&gt;Admin: ' * navigation ** mainpage|mainpage-description  *OER in other languages ** https://teacher-network.in/OER/index.php/{{FULLPAGENAMEE}}...' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
&lt;br /&gt;
*OER in other languages&lt;br /&gt;
** https://teacher-network.in/OER/index.php/{{FULLPAGENAMEE}} |English OER&lt;br /&gt;
&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help&lt;br /&gt;
&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%82%E0%A4%96%E0%A5%8D%E0%A4%AF%E0%A4%BE&amp;diff=167</id>
		<title>संख्या</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%82%E0%A4%96%E0%A5%8D%E0%A4%AF%E0%A4%BE&amp;diff=167"/>
		<updated>2018-04-17T12:08:32Z</updated>

		<summary type="html">&lt;p&gt;Admin: 'Category:संख्या पद्धति' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:संख्या पद्धति]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Numbers&amp;diff=166</id>
		<title>Numbers</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Numbers&amp;diff=166"/>
		<updated>2018-04-17T12:07:52Z</updated>

		<summary type="html">&lt;p&gt;Admin: संख्या को अनुप्रेषित&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#पुनर्प्रेषित [[संख्या]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Frequent_reports&amp;diff=157</id>
		<title>Frequent reports</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Frequent_reports&amp;diff=157"/>
		<updated>2018-04-12T13:04:05Z</updated>

		<summary type="html">&lt;p&gt;Admin: '== Category reports == * Categories * Category tree * Special:MultiCategorySearch|Mu...' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Category reports ==&lt;br /&gt;
* [[Special:Categories|Categories]]&lt;br /&gt;
* [[Special:CategoryTree|Category tree]]&lt;br /&gt;
* [[Special:MultiCategorySearch|Multi-category search]]&lt;br /&gt;
Categories are used for analysing the web pages and files uploaded.  For e.g. 'subject', 'class', 'file type' etc&lt;br /&gt;
&lt;br /&gt;
== High use pages ==&lt;br /&gt;
* [[Special:MostLinkedCategories|Most linked-to categories]]&lt;br /&gt;
* [[Special:MostLinkedFiles|Most linked-to files]]&lt;br /&gt;
* [[Special:MostLinkedPages|Most linked-to pages]]&lt;br /&gt;
* [[Special:MostCategories|Pages with the most categories]]&lt;br /&gt;
&lt;br /&gt;
== User reports ==&lt;br /&gt;
[[Special:ListUsers|List of all the Hindi OER users]]&lt;br /&gt;
&lt;br /&gt;
== Reviews and recent changes ==&lt;br /&gt;
* [[Special:NewFiles|Gallery of new files]]&lt;br /&gt;
* [[Special:NewPages|New pages]]&lt;br /&gt;
* [[Special:RecentChanges|Recent changes]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Gadgets-definition&amp;diff=156</id>
		<title>मीडियाविकि:Gadgets-definition</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Gadgets-definition&amp;diff=156"/>
		<updated>2018-04-12T12:46:11Z</updated>

		<summary type="html">&lt;p&gt;Admin: '* HotCat[ResourceLoader|default]|HotCat.js' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* HotCat[ResourceLoader|default]|HotCat.js&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Gadget-HotCat.js&amp;diff=155</id>
		<title>मीडियाविकि:Gadget-HotCat.js</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Gadget-HotCat.js&amp;diff=155"/>
		<updated>2018-04-12T12:44:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: '// &amp;lt;nowiki&amp;gt;  /*  HotCat V2.34   Ajax-based simple Category manager. Allows adding/removing/changing categories on a page view.  Suppor...' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;// &amp;lt;nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 HotCat V2.34&lt;br /&gt;
&lt;br /&gt;
 Ajax-based simple Category manager. Allows adding/removing/changing categories on a page view.&lt;br /&gt;
 Supports multiple category changes, as well as redirect and disambiguation resolution. Also&lt;br /&gt;
 plugs into the upload form. Search engines to use for the suggestion list are configurable, and&lt;br /&gt;
 can be selected interactively.&lt;br /&gt;
&lt;br /&gt;
 Documentation: https://commons.wikimedia.org/wiki/Help:Gadget-HotCat&lt;br /&gt;
 List of main authors: https://commons.wikimedia.org/wiki/Help:Gadget-HotCat/Version_history&lt;br /&gt;
&lt;br /&gt;
 License: Quadruple licensed GFDL, GPL, LGPL and Creative Commons Attribution 3.0 (CC-BY-3.0)&lt;br /&gt;
&lt;br /&gt;
 Choose whichever license of these you like best :-)&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
 This code is MW version safe. It should run on any MediaWiki installation &amp;gt;= MW 1.15. Note&lt;br /&gt;
 that HotCat is supposed to run with or without jQuery, and also on older installations that&lt;br /&gt;
 do not yet have window.mw. If you use any of these newer features, make sure you qualify them&lt;br /&gt;
 by checking whether they exist at all, and by providing some meaningful fallback implementation&lt;br /&gt;
 if not. To start itself, HotCat uses jQuery(document).ready(). If it doesn't exist, HotCat won't&lt;br /&gt;
 start.&lt;br /&gt;
*/&lt;br /&gt;
/* jshint ignore:start */ // This old code uses too many coding conventions incompatible with jshint.&lt;br /&gt;
(function () {&lt;br /&gt;
	// Support: MW 1.16&lt;br /&gt;
	var conf = window.mw ? mw.config.values : window;&lt;br /&gt;
&lt;br /&gt;
	if (&lt;br /&gt;
		// Guard against double inclusions (in old IE/Opera element ids become window properties)&lt;br /&gt;
		(window.HotCat &amp;amp;&amp;amp; !window.HotCat.nodeName)&lt;br /&gt;
		// Not on edit pages&lt;br /&gt;
		|| conf.wgAction == 'edit'&lt;br /&gt;
&lt;br /&gt;
	) {&lt;br /&gt;
		return;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
// Configuration stuff.&lt;br /&gt;
window.HotCat = {&lt;br /&gt;
	// Localize these messages to the main language of your wiki.&lt;br /&gt;
	messages :&lt;br /&gt;
	{cat_removed  : 'removed [[Category:$1]]'&lt;br /&gt;
	,template_removed  : 'removed {{[[Category:$1]]}}'&lt;br /&gt;
	,cat_added    : 'added [[Category:$1]]'&lt;br /&gt;
	,cat_keychange: 'new key for [[Category:$1]]: &amp;quot;$2&amp;quot;' // $2 is the new key&lt;br /&gt;
	,cat_notFound : 'Category &amp;quot;$1&amp;quot; not found'&lt;br /&gt;
	,cat_exists   : 'Category &amp;quot;$1&amp;quot; already exists; not added.'&lt;br /&gt;
	,cat_resolved : ' (redirect [[Category:$1]] resolved)'&lt;br /&gt;
	,uncat_removed: 'removed {{uncategorized}}'&lt;br /&gt;
	,separator    : '; '&lt;br /&gt;
	,prefix       : &amp;quot;&amp;quot;&lt;br /&gt;
		// Some text to prefix to the edit summary.&lt;br /&gt;
	,using        : ' using [[Help:Gadget-HotCat|HotCat]]'&lt;br /&gt;
		// Some text to append to the edit summary. Named 'using' for historical reasons. If you prefer&lt;br /&gt;
		// to have a marker at the front, use prefix and set this to the empty string.&lt;br /&gt;
	,multi_change : '$1 categories'&lt;br /&gt;
		// $1 is replaced by a number. If your language has several plural forms (c.f. [[:en:Dual (grammatical form)]]),&lt;br /&gt;
		// you can set this to an array of strings suitable for passing to mw.language.configPlural().&lt;br /&gt;
		// If that function doesn't exist, HotCat will simply fall back to using the last&lt;br /&gt;
		// entry in the array.&lt;br /&gt;
	,commit       : 'Save'&lt;br /&gt;
		// Button text. Localize to wgContentLanguage here; localize to wgUserLanguage in a subpage,&lt;br /&gt;
		// see localization hook below.&lt;br /&gt;
	,ok           : 'OK'&lt;br /&gt;
		// Button text. Localize to wgContentLanguage here; localize to wgUserLanguage in a subpage,&lt;br /&gt;
		// see localization hook below.&lt;br /&gt;
	,cancel       : 'Cancel'&lt;br /&gt;
		// Button text. Localize to wgContentLanguage here; localize to wgUserLanguage in a subpage,&lt;br /&gt;
		// see localization hook below.&lt;br /&gt;
	,multi_error  : 'Could not retrieve the page text from the server. Therefore, your category changes '&lt;br /&gt;
					+'cannot be saved. We apologize for the inconvenience.'&lt;br /&gt;
		// Localize to wgContentLanguage here; localize to wgUserLanguage in a subpage,&lt;br /&gt;
		// see localization hook below.&lt;br /&gt;
	,short_catchange : null&lt;br /&gt;
		// Defaults to '[[' + category_canonical + ':$1]]'. Can be overridden if in the short edit summaries&lt;br /&gt;
		// not the standard category name should be used but, say, a shorter namespace alias. $1 is replaced&lt;br /&gt;
		// by a category name.&lt;br /&gt;
	}&lt;br /&gt;
 ,category_regexp    : '[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]'&lt;br /&gt;
	// Regular sub-expression matching all possible names for the category namespace. Is automatically localized&lt;br /&gt;
	// correctly if you're running MediaWiki 1.16 or later. Otherwise, set it appropriately, e.g. at the German&lt;br /&gt;
	// Wikipedia, use '[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|[Kk][Aa][Tt][Ee][Gg][Oo][Rr][Ii][Ee]', or at the&lt;br /&gt;
	// Chinese Wikipedia, use '[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]|分类|分類'. Note that namespaces are case-&lt;br /&gt;
	// insensitive!&lt;br /&gt;
 ,category_canonical : 'Category'&lt;br /&gt;
	// The standard category name on your wiki. Is automatically localized correctly if you're running&lt;br /&gt;
	// MediaWiki 1.16 or later; otherwise, set it to the preferred category name (e.g., &amp;quot;Kategorie&amp;quot;).&lt;br /&gt;
 ,categories         : 'Categories'&lt;br /&gt;
	// Plural of category_canonical.&lt;br /&gt;
 ,disambig_category  : 'Disambiguation'&lt;br /&gt;
	// Any category in this category is deemed a disambiguation category; i.e., a category that should not contain&lt;br /&gt;
	// any items, but that contains links to other categories where stuff should be categorized. If you don't have&lt;br /&gt;
	// that concept on your wiki, set it to null. Use blanks, not underscores.&lt;br /&gt;
 ,redir_category     : 'Category redirects'&lt;br /&gt;
	// Any category in this category is deemed a (soft) redirect to some other category defined by a link&lt;br /&gt;
	// to another non-blacklisted category. If your wiki doesn't have soft category redirects, set this to null.&lt;br /&gt;
    // If a soft-redirected category contains more than one link to another non-blacklisted category, it's considered&lt;br /&gt;
    // a disambiguation category instead.&lt;br /&gt;
 ,links : {change: '(±)', remove: '(\u2212)', add: '(+)', restore: '(×)', undo: '(×)', down: '(\u2193)', up: '(\u2191)'}&lt;br /&gt;
	// The little modification links displayed after category names. U+2212 is a minus sign; U+2193 and U+2191 are&lt;br /&gt;
	// downward and upward pointing arrows. Do not use ↓ and ↑ in the code!&lt;br /&gt;
 ,tooltips : {&lt;br /&gt;
	 change:  'Modify'&lt;br /&gt;
	,remove:  'Remove'&lt;br /&gt;
	,add:     'Add a new category'&lt;br /&gt;
	,restore: 'Undo changes'&lt;br /&gt;
	,undo:    'Undo changes'&lt;br /&gt;
	,down:    'Open for modifying and display subcategories'&lt;br /&gt;
	,up:      'Open for modifying and display parent categories'&lt;br /&gt;
  }&lt;br /&gt;
	// The tooltips for the above links&lt;br /&gt;
 ,addmulti           : '&amp;lt;span&amp;gt;+&amp;lt;sup&amp;gt;+&amp;lt;/sup&amp;gt;&amp;lt;/span&amp;gt;'&lt;br /&gt;
	// The HTML content of the &amp;quot;enter multi-mode&amp;quot; link at the front.&lt;br /&gt;
 ,multi_tooltip      : 'Modify several categories'&lt;br /&gt;
	// Tooltip for the &amp;quot;enter multi-mode&amp;quot; link&lt;br /&gt;
 ,disable            :&lt;br /&gt;
		function () { // Return true to disable HotCat.&lt;br /&gt;
			var ns = conf.wgNamespaceNumber;&lt;br /&gt;
			var nsIds = conf.wgNamespaceIds;&lt;br /&gt;
			return (   ns &amp;lt; 0     // Special pages; Special:Upload is handled differently&lt;br /&gt;
					|| ns === 10  // Templates&lt;br /&gt;
					|| ns === 828 // Module (Lua)&lt;br /&gt;
					|| ns === 8   // MediaWiki&lt;br /&gt;
					|| ns === 6 &amp;amp;&amp;amp; conf.wgArticleId === 0 // Non-existing file pages&lt;br /&gt;
					|| ns === 2 &amp;amp;&amp;amp; /\.(js|css)$/.test(conf.wgTitle) // User scripts&lt;br /&gt;
					|| nsIds&lt;br /&gt;
						&amp;amp;&amp;amp; (   ns === nsIds['creator']&lt;br /&gt;
							|| ns === nsIds['timedtext']&lt;br /&gt;
							|| ns === nsIds['institution']&lt;br /&gt;
						   )&lt;br /&gt;
				   );&lt;br /&gt;
		}&lt;br /&gt;
 ,uncat_regexp : /\{\{\s*([Uu]ncat(egori[sz]ed( image)?)?|[Nn]ocat|[Nn]eedscategory)[^}]*\}\}\s*(&amp;lt;\!--.*?--\&amp;gt;)?/g&lt;br /&gt;
	// A regexp matching a templates used to mark uncategorized pages, if your wiki does have that.&lt;br /&gt;
	// If not, set it to null.&lt;br /&gt;
 ,existsYes    : '//upload.wikimedia.org/wikipedia/commons/thumb/b/be/P_yes.svg/20px-P_yes.svg.png'&lt;br /&gt;
 ,existsNo     : '//upload.wikimedia.org/wikipedia/commons/thumb/4/42/P_no.svg/20px-P_no.svg.png'&lt;br /&gt;
	// The images used for the little indication icon. Should not need changing.&lt;br /&gt;
 ,template_regexp    : '[Tt][Ee][Mm][Pp][Ll][Aa][Tt][Ee]'&lt;br /&gt;
	// Regexp to recognize templates. Like &amp;quot;category&amp;quot; above; autolocalized for MW 1.16+, otherwise set manually here.&lt;br /&gt;
	// On the German Wikipedia, you might use '[Tt][Ee][Mm][Pp][Ll][Aa][Tt][Ee]|[Vv][Oo][Rr][Ll][Aa][Gg][Ee]'.&lt;br /&gt;
 ,template_categories : {}&lt;br /&gt;
	// a list of categories which can be removed by removing a template&lt;br /&gt;
	// key: the category without namespace&lt;br /&gt;
	// value: A regexp matching the template name, again without namespace&lt;br /&gt;
	// If you don't have this at your wiki, or don't want this, set it to an empty object {}.&lt;br /&gt;
 ,engine_names : {&lt;br /&gt;
	 searchindex : 'Search index'&lt;br /&gt;
	,pagelist    : 'Page list'&lt;br /&gt;
	,combined    : 'Combined search'&lt;br /&gt;
	,subcat      : 'Subcategories'&lt;br /&gt;
	,parentcat   : 'Parent categories'&lt;br /&gt;
  }&lt;br /&gt;
	// Names for the search engines&lt;br /&gt;
 ,capitalizePageNames : true&lt;br /&gt;
	// Set to false if your wiki has case-sensitive page names. MediaWiki has two modes: either the first letter&lt;br /&gt;
	// of a page is automatically capitalized (&amp;quot;first-letter&amp;quot;; Category:aa == Category:Aa), or it isn't&lt;br /&gt;
	// (&amp;quot;case-sensitive&amp;quot;; Category:aa != Category:Aa). It doesn't currently have a fully case-insensitive mode&lt;br /&gt;
	// (which would mean Category:aa == Category:Aa == Category:AA == Category:aA)&lt;br /&gt;
	// HotCat tries to set this correctly automatically using an API query. It's still a good idea to manually&lt;br /&gt;
	// configure it correctly; either directly here if you copied HotCat, or in the local configuration file&lt;br /&gt;
	// MediaWiki:Gadget-HotCat.js/local_defaults if you hotlink to the Commons-version, to ensure it is set even&lt;br /&gt;
	// if that API query should fail for some strange reason.&lt;br /&gt;
 ,upload_disabled : false&lt;br /&gt;
	// If upload_disabled is true, HotCat will not be used on the Upload form.&lt;br /&gt;
 ,blacklist : null&lt;br /&gt;
	// Single regular expression matching blacklisted categories that cannot be changed or&lt;br /&gt;
	// added using HotCat. For instance /\bstubs?$/ (any category ending with the word &amp;quot;stub&amp;quot;&lt;br /&gt;
	// or &amp;quot;stubs&amp;quot;), or /(\bstubs?$)|\bmaintenance\b/ (stub categories and any category with the&lt;br /&gt;
	// word &amp;quot;maintenance&amp;quot; in its title.&lt;br /&gt;
&lt;br /&gt;
// Stuff changeable by users:&lt;br /&gt;
 ,bg_changed : '#F8CCB0'&lt;br /&gt;
	// Background for changed categories in multi-edit mode. Default is a very light salmon pink.&lt;br /&gt;
 ,no_autocommit : false&lt;br /&gt;
	// If true, HotCat will never automatically submit changes. HotCat will only open an edit page with&lt;br /&gt;
	// the changes; users must always save explicitly.&lt;br /&gt;
 ,del_needs_diff : false&lt;br /&gt;
	// If true, the &amp;quot;category deletion&amp;quot; link &amp;quot;(-)&amp;quot; will never save automatically but always show an&lt;br /&gt;
	// edit page where the user has to save the edit manually. Is false by default because that's the&lt;br /&gt;
	// traditional behavior. This setting overrides no_autocommit for &amp;quot;(-)&amp;quot; links.&lt;br /&gt;
 ,suggest_delay : 100&lt;br /&gt;
	// Time, in milliseconds, that HotCat waits after a keystroke before making a request to the&lt;br /&gt;
	// server to get suggestions.&lt;br /&gt;
 ,editbox_width : 40&lt;br /&gt;
	// Default width, in characters, of the text input field.&lt;br /&gt;
 ,suggestions : 'combined'&lt;br /&gt;
	// One of the engine_names above, to be used as the default suggestion engine.&lt;br /&gt;
 ,fixed_search : false&lt;br /&gt;
	// If true, always use the default engine, and never display a selector.&lt;br /&gt;
 ,use_up_down : true&lt;br /&gt;
	// If false, do not display the &amp;quot;up&amp;quot; and &amp;quot;down&amp;quot; links&lt;br /&gt;
 ,list_size : 5&lt;br /&gt;
	// Default list size&lt;br /&gt;
 ,single_minor : true&lt;br /&gt;
	// If true, single category changes are marked as minor edits. If false, they're not.&lt;br /&gt;
 ,dont_add_to_watchlist : false&lt;br /&gt;
	// If true, never add a page to the user's watchlist. If false, pages get added to the watchlist if&lt;br /&gt;
	// the user has the &amp;quot;Add pages I edit to my watchlist&amp;quot; or the &amp;quot;Add pages I create to my watchlist&amp;quot;&lt;br /&gt;
	// options in his or her preferences set.&lt;br /&gt;
 ,shortcuts : null&lt;br /&gt;
 ,addShortcuts :&lt;br /&gt;
		function (map) {&lt;br /&gt;
			if (!map) return;&lt;br /&gt;
			window.HotCat.shortcuts = window.HotCat.shortcuts || {};&lt;br /&gt;
			for (var k in map) {&lt;br /&gt;
				if (!map.hasOwnProperty (k) || typeof k != 'string') continue;&lt;br /&gt;
				var v = map[k];&lt;br /&gt;
				if (typeof v != 'string') continue;&lt;br /&gt;
				k = k.replace (/^\s+|\s+$/g, &amp;quot;&amp;quot;);&lt;br /&gt;
				v = v.replace (/^\s+|\s+$/g, &amp;quot;&amp;quot;);&lt;br /&gt;
				if (k.length === 0 || v.length === 0) continue;&lt;br /&gt;
				window.HotCat.shortcuts[k] = v;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
	// More backwards compatibility. We have a few places where we test for the browser: once for&lt;br /&gt;
	// Safari &amp;lt; 3.0, twice for WebKit (Chrome or Safari, any versions), twice for IE &amp;lt;= 6, and&lt;br /&gt;
	// once for IE &amp;lt; 8.&lt;br /&gt;
	var ua = navigator.userAgent.toLowerCase();&lt;br /&gt;
	var is_ie6 = /msie ([0-9]{1,}[\.0-9]{0,})/.exec(ua) !== null &amp;amp;&amp;amp; parseFloat(RegExp.$1) &amp;lt;= 6.0;&lt;br /&gt;
	var is_ie_lt8 = /msie ([0-9]{1,}[\.0-9]{0,})/.exec(ua) !== null &amp;amp;&amp;amp; parseFloat(RegExp.$1) &amp;lt; 8.0;&lt;br /&gt;
	var is_webkit = /applewebkit\/\d+/.test(ua) &amp;amp;&amp;amp; ua.indexOf ('spoofer') &amp;lt; 0;&lt;br /&gt;
	// And even more compatbility. HotCat was developed without jQuery, and anyway current jQuery&lt;br /&gt;
	// (1.7.1) doesn't seem to support in jquery.getJSON() or jQuery.ajax() the automatic&lt;br /&gt;
	// switching from GET to POST requests if the query arguments would make the uri too long.&lt;br /&gt;
	// (IE has a hard limit of 2083 bytes, and the servers may have limits around 4 or 8kB.)&lt;br /&gt;
	//    Anyway, HotCat is supposed to run on wikis without jQuery, so we'd have to supply some&lt;br /&gt;
	// ajax routines ourselves in any case. We can't rely on the old sajax_init_object(), newer&lt;br /&gt;
	// MW versions (&amp;gt;= 1.19) might not have it.&lt;br /&gt;
	var getJSON = (function () {&lt;br /&gt;
		function getRequest () {&lt;br /&gt;
			var request = null;&lt;br /&gt;
			try {&lt;br /&gt;
				request = new window.XMLHttpRequest();&lt;br /&gt;
			} catch (anything) {&lt;br /&gt;
				if (window.ActiveXObject) {&lt;br /&gt;
					try {&lt;br /&gt;
						request = new window.ActiveXObject('Microsoft.XMLHTTP');&lt;br /&gt;
					} catch (any) {&lt;br /&gt;
					}&lt;br /&gt;
				} // end if IE&lt;br /&gt;
			} // end try-catch&lt;br /&gt;
			return request;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		return function (settings) {&lt;br /&gt;
			var req = getRequest();&lt;br /&gt;
			if (!req &amp;amp;&amp;amp; settings &amp;amp;&amp;amp; settings.error) settings.error (req);&lt;br /&gt;
			if (!req || !settings || !settings.uri) return req;&lt;br /&gt;
			var uri = armorUri (settings.uri);&lt;br /&gt;
			var args = settings.data || null;&lt;br /&gt;
			var method;&lt;br /&gt;
			if (args &amp;amp;&amp;amp; uri.length + args.length + 1 &amp;gt; 2000) {&lt;br /&gt;
				// We lose caching, but at least we can make the request&lt;br /&gt;
				method = 'POST';&lt;br /&gt;
				req.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');&lt;br /&gt;
			} else {&lt;br /&gt;
				method = 'GET';&lt;br /&gt;
				if (args) uri += '?' + args;&lt;br /&gt;
				args = null;&lt;br /&gt;
			}&lt;br /&gt;
			req.open (method, uri, true);&lt;br /&gt;
			req.onreadystatechange = function () {&lt;br /&gt;
				if (req.readyState != 4) return;&lt;br /&gt;
				if (req.status != 200 || !req.responseText || !(/^\s*[\{\[]/.test(req.responseText))) {&lt;br /&gt;
					if (settings.error) settings.error (req);&lt;br /&gt;
				} else {&lt;br /&gt;
					if (settings.success) settings.success (eval ('(' + req.responseText + ')'));&lt;br /&gt;
				}&lt;br /&gt;
			};&lt;br /&gt;
			req.setRequestHeader ('Pragma', 'cache=yes');&lt;br /&gt;
			req.setRequestHeader ('Cache-Control', 'no-transform');&lt;br /&gt;
			req.send (args);&lt;br /&gt;
			return req;&lt;br /&gt;
		};&lt;br /&gt;
	})();&lt;br /&gt;
&lt;br /&gt;
	function armorUri (uri) {&lt;br /&gt;
		// Avoid protocol-relative URIs, IE7 has a bug with them in Ajax calls&lt;br /&gt;
		if (uri.length &amp;gt;= 2 &amp;amp;&amp;amp; uri.substring(0, 2) == '//') return document.location.protocol + uri;&lt;br /&gt;
		return uri;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function LoadTrigger (needed) {&lt;br /&gt;
		this.queue = [];&lt;br /&gt;
		this.toLoad = needed;&lt;br /&gt;
	}&lt;br /&gt;
	LoadTrigger.prototype = {&lt;br /&gt;
		register : function (callback) {&lt;br /&gt;
			if (this.toLoad &amp;lt;= 0) {&lt;br /&gt;
				callback (); // Execute directly&lt;br /&gt;
			} else {&lt;br /&gt;
				this.queue[this.queue.length] = callback;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		loaded : function () {&lt;br /&gt;
			if (this.toLoad &amp;gt; 0) {&lt;br /&gt;
				this.toLoad--;&lt;br /&gt;
				if (this.toLoad === 0) {&lt;br /&gt;
					// Run queued callbacks once&lt;br /&gt;
					for (var i = 0; i &amp;lt; this.queue.length; i++) this.queue[i]();&lt;br /&gt;
					this.queue = [];&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var setupCompleted = new LoadTrigger(1);&lt;br /&gt;
	// Used to run user-registered code once HotCat is fully set up and ready.&lt;br /&gt;
	HotCat.runWhenReady = function (callback) {setupCompleted.register(callback);};&lt;br /&gt;
&lt;br /&gt;
	var loadTrigger = new LoadTrigger(2);&lt;br /&gt;
	// Used to delay running the HotCat setup until /local_defaults and localizations have been loaded.&lt;br /&gt;
&lt;br /&gt;
	function load (uri) {&lt;br /&gt;
		var head = document.getElementsByTagName ('head')[0];&lt;br /&gt;
		var s = document.createElement ('script');&lt;br /&gt;
		s.setAttribute ('src', armorUri(uri));&lt;br /&gt;
		s.setAttribute ('type', 'text/javascript');&lt;br /&gt;
		var done = false;&lt;br /&gt;
&lt;br /&gt;
		function afterLoad () {&lt;br /&gt;
			if (done) return;&lt;br /&gt;
			done = true;&lt;br /&gt;
			s.onload = s.onreadystatechange = s.onerror = null; // Properly clean up to avoid memory leaks in IE&lt;br /&gt;
			if (head &amp;amp;&amp;amp; s.parentNode) head.removeChild (s);&lt;br /&gt;
			loadTrigger.loaded();&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		s.onload = s.onreadystatechange = function () { // onreadystatechange for IE, onload for all others&lt;br /&gt;
			if (done) return;&lt;br /&gt;
			if (!this.readyState || this.readyState === 'loaded' || this.readyState === 'complete') {&lt;br /&gt;
				afterLoad ();&lt;br /&gt;
			}&lt;br /&gt;
		};&lt;br /&gt;
		s.onerror = afterLoad; // Clean up, but otherwise ignore errors&lt;br /&gt;
		head.insertBefore (s, head.firstChild); // appendChild may trigger bugs in IE6 here&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function loadJS (page) {&lt;br /&gt;
		load (conf.wgServer + conf.wgScript + '?title=' + encodeURIComponent (page) + '&amp;amp;action=raw&amp;amp;ctype=text/javascript');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function loadURI (href) {&lt;br /&gt;
		var url = href;&lt;br /&gt;
		if (url.substring (0, 2) == '//') {&lt;br /&gt;
			url = window.location.protocol + url;&lt;br /&gt;
		} else if (url.substring (0, 1) == '/') {&lt;br /&gt;
			url = conf.wgServer + url;&lt;br /&gt;
		}&lt;br /&gt;
		load (url);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Load local configurations, overriding the pre-set default values in the HotCat object above. This is always loaded&lt;br /&gt;
	// from the wiki where this script is executing, even if this script itself is hotlinked from the Commons. This can&lt;br /&gt;
	// be used to change the default settings, or to provide localized interface texts for edit summaries and so on.&lt;br /&gt;
	loadJS ('MediaWiki:Gadget-HotCat.js/local_defaults');&lt;br /&gt;
&lt;br /&gt;
	// Load localized UI texts. These are the texts that HotCat displays on the page itself. Texts shown in edit summaries&lt;br /&gt;
	// should be localized in /local_defaults above.&lt;br /&gt;
	if (conf.wgUserLanguage != 'en') {&lt;br /&gt;
		// Lupo: somebody thought it would be a good idea to add this. So the default is true, and you have to set it to false&lt;br /&gt;
		// explicitly if you're not on the Commons and don't want that.&lt;br /&gt;
		if (typeof window.hotcat_translations_from_commons == 'undefined') {&lt;br /&gt;
			window.hotcat_translations_from_commons = true;&lt;br /&gt;
		}&lt;br /&gt;
		// Localization hook to localize HotCat messages, tooltips, and engine names for wgUserLanguage.&lt;br /&gt;
		if (window.hotcat_translations_from_commons &amp;amp;&amp;amp; conf.wgServer.indexOf('//commons') &amp;lt; 0) {&lt;br /&gt;
			loadURI ('//commons.wikimedia.org/w/index.php?title='&lt;br /&gt;
				+ 'MediaWiki:Gadget-HotCat.js/' + conf.wgUserLanguage&lt;br /&gt;
				+ '&amp;amp;action=raw&amp;amp;ctype=text/javascript'&lt;br /&gt;
			);&lt;br /&gt;
		} else {&lt;br /&gt;
			// Load translations locally&lt;br /&gt;
			loadJS ('MediaWiki:Gadget-HotCat.js/' + conf.wgUserLanguage);&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		loadTrigger.loaded();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// No further changes should be necessary here.&lt;br /&gt;
&lt;br /&gt;
	// The following regular expression strings are used when searching for categories in wikitext.&lt;br /&gt;
	var wikiTextBlank   = '[\\t _\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000]+';&lt;br /&gt;
	var wikiTextBlankRE = new RegExp (wikiTextBlank, 'g');&lt;br /&gt;
	// Regexp for handling blanks inside a category title or namespace name.&lt;br /&gt;
	// See http://svn.wikimedia.org/viewvc/mediawiki/trunk/phase3/includes/Title.php?revision=104051&amp;amp;view=markup#l2722&lt;br /&gt;
	// See also http://www.fileformat.info/info/unicode/category/Zs/list.htm&lt;br /&gt;
	//   MediaWiki collapses several contiguous blanks inside a page title to one single blank. It also replace a&lt;br /&gt;
	// number of special whitespace characters by simple blanks. And finally, blanks are treated as underscores.&lt;br /&gt;
	// Therefore, when looking for page titles in wikitext, we must handle all these cases.&lt;br /&gt;
	//   Note: we _do_ include the horizontal tab in the above list, even though the MediaWiki software for some reason&lt;br /&gt;
	// appears to not handle it. The zero-width space \u200B is _not_ handled as a space inside titles by MW.&lt;br /&gt;
	var wikiTextBlankOrBidi = '[\\t _\\xA0\\u1680\\u180E\\u2000-\\u200B\\u200E\\u200F\\u2028-\\u202F\\u205F\\u3000]*';&lt;br /&gt;
	// Whitespace regexp for handling whitespace between link components. Including the horizontal tab, but not \n\r\f\v:&lt;br /&gt;
	// a link must be on one single line.&lt;br /&gt;
	//   MediaWiki also removes Unicode bidi override characters in page titles (and namespace names) completely.&lt;br /&gt;
	// This is *not* handled, as it would require us to allow any of [\u200E\u200F\u202A-\u202E] between any two&lt;br /&gt;
	// characters inside a category link. It _could_ be done though... We _do_ handle strange spaces, including the&lt;br /&gt;
	// zero-width space \u200B, and bidi overrides between the components of a category link (adjacent to the colon,&lt;br /&gt;
	// or adjacent to and inside of &amp;quot;[[&amp;quot; and &amp;quot;]]&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
	// First auto-localize the regexps for the category and the template namespaces.&lt;br /&gt;
	var formattedNamespaces = conf.wgFormattedNamespaces;&lt;br /&gt;
	var namespaceIds = conf.wgNamespaceIds;&lt;br /&gt;
	if (formattedNamespaces) {&lt;br /&gt;
		function autoLocalize (namespaceNumber, fallback) {&lt;br /&gt;
			function create_regexp_str (name)&lt;br /&gt;
			{&lt;br /&gt;
				if (!name || name.length === 0) return &amp;quot;&amp;quot;;&lt;br /&gt;
				var regex_name = &amp;quot;&amp;quot;;&lt;br /&gt;
				for (var i = 0; i &amp;lt; name.length; i++){&lt;br /&gt;
					var initial = name.substr (i, 1);&lt;br /&gt;
					var ll = initial.toLowerCase ();&lt;br /&gt;
					var ul = initial.toUpperCase ();&lt;br /&gt;
					if (ll == ul){&lt;br /&gt;
						regex_name += initial;&lt;br /&gt;
					} else {&lt;br /&gt;
						regex_name += '[' + ll + ul + ']';&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				return regex_name&lt;br /&gt;
							.replace(/([\\\^\$\.\?\*\+\(\)])/g, '\\$1')&lt;br /&gt;
							.replace (wikiTextBlankRE, wikiTextBlank);&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			fallback = fallback.toLowerCase();&lt;br /&gt;
			var canonical  = formattedNamespaces[&amp;quot;&amp;quot; + namespaceNumber].toLowerCase();&lt;br /&gt;
			var regexp     = create_regexp_str (canonical);&lt;br /&gt;
			if (fallback &amp;amp;&amp;amp; canonical != fallback) regexp += '|' + create_regexp_str(fallback);&lt;br /&gt;
			if (namespaceIds) {&lt;br /&gt;
				for (var cat_name in namespaceIds) {&lt;br /&gt;
					if (   typeof cat_name == 'string'&lt;br /&gt;
						&amp;amp;&amp;amp; cat_name.toLowerCase() != canonical&lt;br /&gt;
						&amp;amp;&amp;amp; cat_name.toLowerCase() != fallback&lt;br /&gt;
						&amp;amp;&amp;amp; namespaceIds[cat_name] == namespaceNumber)&lt;br /&gt;
					{&lt;br /&gt;
						regexp += '|' + create_regexp_str(cat_name);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			return regexp;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (formattedNamespaces['14']) {&lt;br /&gt;
			HotCat.category_canonical = formattedNamespaces['14'];&lt;br /&gt;
			HotCat.category_regexp = autoLocalize (14, 'category');&lt;br /&gt;
		}&lt;br /&gt;
		if (formattedNamespaces['10']) {&lt;br /&gt;
			HotCat.template_regexp = autoLocalize (10, 'template');&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Utility functions. Yes, this duplicates some functionality that also exists in other places, but&lt;br /&gt;
	// to keep this whole stuff in a single file not depending on any other on-wiki Javascripts, we re-do&lt;br /&gt;
	// these few operations here.&lt;br /&gt;
	function bind (func, target) {&lt;br /&gt;
		var f = func, tgt = target;&lt;br /&gt;
		return function () { return f.apply (tgt, arguments); };&lt;br /&gt;
	}&lt;br /&gt;
	function make (arg, literal) {&lt;br /&gt;
		if (!arg) return null;&lt;br /&gt;
		return literal ? document.createTextNode (arg) : document.createElement (arg);&lt;br /&gt;
	}&lt;br /&gt;
	function param (name, uri) {&lt;br /&gt;
		if (typeof uri == 'undefined' || uri === null) uri = document.location.href;&lt;br /&gt;
		var re = new RegExp ('[&amp;amp;?]' + name + '=([^&amp;amp;#]*)');&lt;br /&gt;
		var m = re.exec (uri);&lt;br /&gt;
		if (m &amp;amp;&amp;amp; m.length &amp;gt; 1) return decodeURIComponent(m[1]);&lt;br /&gt;
		return null;&lt;br /&gt;
	}&lt;br /&gt;
	function title (href) {&lt;br /&gt;
		if (!href) return null;&lt;br /&gt;
		var script = conf.wgScript + '?';&lt;br /&gt;
		if (href.indexOf (script) === 0 || href.indexOf (conf.wgServer + script) === 0 || conf.wgServer.substring(0, 2) == '//' &amp;amp;&amp;amp; href.indexOf (document.location.protocol + conf.wgServer + script) === 0) {&lt;br /&gt;
			// href=&amp;quot;/w/index.php?title=...&amp;quot;&lt;br /&gt;
			return param ('title', href);&lt;br /&gt;
		} else {&lt;br /&gt;
			// href=&amp;quot;/wiki/...&amp;quot;&lt;br /&gt;
			var prefix = conf.wgArticlePath.replace ('$1', &amp;quot;&amp;quot;);&lt;br /&gt;
			if (href.indexOf (prefix) !== 0) prefix = conf.wgServer + prefix; // Fully expanded URL?&lt;br /&gt;
			if (href.indexOf (prefix) !== 0 &amp;amp;&amp;amp; prefix.substring(0, 2) == '//') prefix = document.location.protocol + prefix; // Protocol-relative wgServer?&lt;br /&gt;
			if (href.indexOf (prefix) === 0)&lt;br /&gt;
				return decodeURIComponent (href.substring (prefix.length));&lt;br /&gt;
		}&lt;br /&gt;
		return null;&lt;br /&gt;
	}&lt;br /&gt;
	function hasClass (elem, name) {&lt;br /&gt;
		return (' ' + elem.className + ' ').indexOf (' ' + name + ' ') &amp;gt;= 0;&lt;br /&gt;
	}&lt;br /&gt;
	function capitalize (str) {&lt;br /&gt;
		if (!str || str.length === 0) return str;&lt;br /&gt;
		return str.substr(0, 1).toUpperCase() + str.substr (1);&lt;br /&gt;
	}&lt;br /&gt;
	function wikiPagePath (pageName) {&lt;br /&gt;
		// Note: do not simply use encodeURI, it doesn't encode '&amp;amp;', which might break if wgArticlePath actually has the $1 in&lt;br /&gt;
		// a query parameter.&lt;br /&gt;
		return conf.wgArticlePath.replace('$1', encodeURIComponent (pageName).replace(/%3A/g, ':').replace(/%2F/g, '/'));&lt;br /&gt;
	}&lt;br /&gt;
	function escapeRE(str) {&lt;br /&gt;
		return str.replace(/([\\\^\$\.\?\*\+\(\)\[\]])/g, '\\$1');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function substituteFactory (options) {&lt;br /&gt;
		options = options || {};&lt;br /&gt;
		var lead = options.indicator || '$';&lt;br /&gt;
		var indicator = escapeRE (lead);&lt;br /&gt;
		var lbrace = escapeRE (options.lbrace || '{');&lt;br /&gt;
		var rbrace = escapeRE (options.rbrace || '}');&lt;br /&gt;
		var re;&lt;br /&gt;
&lt;br /&gt;
		re = new RegExp(&lt;br /&gt;
			 '(?:' + indicator + '(' + indicator + '))|'                                           // $$&lt;br /&gt;
			+'(?:' + indicator + '(\\d+))|'                                                        // $0, $1&lt;br /&gt;
			+'(?:' + indicator + '(?:' + lbrace + '([^' + lbrace + rbrace + ']+)' + rbrace + '))|' // ${key}&lt;br /&gt;
			+'(?:' + indicator + '(?!(?:[' + indicator + lbrace + ']|\\d))(\\S+?)\\b)'             // $key (only if first char after $ is not $, digit, or { )&lt;br /&gt;
			,'g');&lt;br /&gt;
		// Replace $1, $2, or ${key1}, ${key2}, or $key1, $key2 by values from map. $$ is replaced by a single $.&lt;br /&gt;
		return function (str, map) {&lt;br /&gt;
			if (!map) return str;&lt;br /&gt;
			return str.replace(re&lt;br /&gt;
				,function (match, prefix, idx, key, alpha) {&lt;br /&gt;
					if (prefix == lead) return lead;&lt;br /&gt;
					var k = alpha || key || idx;&lt;br /&gt;
					var replacement = typeof map[k] === 'function' ? map[k](match, k) : map[k];&lt;br /&gt;
					return typeof replacement === 'string' ? replacement : (replacement || match);&lt;br /&gt;
				}&lt;br /&gt;
			);&lt;br /&gt;
		};&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var substitute = substituteFactory();&lt;br /&gt;
	var replaceShortcuts = (function () {&lt;br /&gt;
		var replaceHash = substituteFactory({indicator:'#',lbrace:'[',rbrace:']'});&lt;br /&gt;
		return function (str, map) {&lt;br /&gt;
			var s = replaceHash (str, map);&lt;br /&gt;
			return HotCat.capitalizePageNames ? capitalize(s) : s;&lt;br /&gt;
		};&lt;br /&gt;
	})();&lt;br /&gt;
&lt;br /&gt;
	// Text modification&lt;br /&gt;
&lt;br /&gt;
	var findCatsRE =&lt;br /&gt;
		new RegExp ('\\[\\[' + wikiTextBlankOrBidi + '(?:' + HotCat.category_regexp + ')' + wikiTextBlankOrBidi + ':[^\\]]+\\]\\]', 'g');&lt;br /&gt;
&lt;br /&gt;
	function replaceByBlanks (match) {&lt;br /&gt;
		return match.replace(/(\s|\S)/g, ' '); // /./ doesn't match linebreaks. /(\s|\S)/ does.&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function find_category (wikitext, category, once) {&lt;br /&gt;
		var cat_regex = null;&lt;br /&gt;
		if(HotCat.template_categories[category]){&lt;br /&gt;
			cat_regex = new RegExp ('\\{\\{' + wikiTextBlankOrBidi + '(' + HotCat.template_regexp + '(?=' + wikiTextBlankOrBidi + ':))?' + wikiTextBlankOrBidi&lt;br /&gt;
									+ '(?:' + HotCat.template_categories[category] + ')'&lt;br /&gt;
									+ wikiTextBlankOrBidi + '(\\|.*?)?\\}\\}', 'g'&lt;br /&gt;
			);&lt;br /&gt;
		} else {&lt;br /&gt;
			var cat_name  = escapeRE (category);&lt;br /&gt;
			var initial   = cat_name.substr (0, 1);&lt;br /&gt;
			cat_regex = new RegExp ('\\[\\[' + wikiTextBlankOrBidi + '(' + HotCat.category_regexp + ')' + wikiTextBlankOrBidi + ':' + wikiTextBlankOrBidi&lt;br /&gt;
									+ (initial == '\\' || !HotCat.capitalizePageNames&lt;br /&gt;
										? initial&lt;br /&gt;
										: '[' + initial.toUpperCase() + initial.toLowerCase() + ']')&lt;br /&gt;
									+ cat_name.substring (1).replace (wikiTextBlankRE, wikiTextBlank)&lt;br /&gt;
									+ wikiTextBlankOrBidi + '(\\|.*?)?\\]\\]', 'g'&lt;br /&gt;
			);&lt;br /&gt;
		}&lt;br /&gt;
		if (once) return cat_regex.exec (wikitext);&lt;br /&gt;
		var copiedtext = wikitext&lt;br /&gt;
							.replace(/&amp;lt;\!--(\s|\S)*?--\&amp;gt;/g, replaceByBlanks)&lt;br /&gt;
							.replace(/&amp;lt;nowiki\&amp;gt;(\s|\S)*?&amp;lt;\/nowiki&amp;gt;/g, replaceByBlanks);&lt;br /&gt;
		var result = [];&lt;br /&gt;
		var curr_match = null;&lt;br /&gt;
		while ((curr_match = cat_regex.exec (copiedtext)) !== null) {&lt;br /&gt;
			result.push ({match : curr_match});&lt;br /&gt;
		}&lt;br /&gt;
		result.re = cat_regex;&lt;br /&gt;
		return result; // An array containing all matches, with positions, in result[i].match&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var interlanguageRE = null;&lt;br /&gt;
&lt;br /&gt;
	function change_category (wikitext, toRemove, toAdd, key, is_hidden) {&lt;br /&gt;
&lt;br /&gt;
		function find_insertionpoint (wikitext) {&lt;br /&gt;
			var copiedtext = wikitext&lt;br /&gt;
								.replace(/&amp;lt;\!--(\s|\S)*?--\&amp;gt;/g, replaceByBlanks)&lt;br /&gt;
								.replace(/&amp;lt;nowiki\&amp;gt;(\s|\S)*?&amp;lt;\/nowiki&amp;gt;/g, replaceByBlanks);&lt;br /&gt;
			// Search in copiedtext to avoid that we insert inside an HTML comment or a nowiki &amp;quot;element&amp;quot;.&lt;br /&gt;
			var index = -1;&lt;br /&gt;
			findCatsRE.lastIndex = 0;&lt;br /&gt;
			while (findCatsRE.exec(copiedtext) !== null) index = findCatsRE.lastIndex;&lt;br /&gt;
			if (index &amp;lt; 0) {&lt;br /&gt;
				// Find the index of the first interlanguage link...&lt;br /&gt;
				var match = null;&lt;br /&gt;
				if (!interlanguageRE) {&lt;br /&gt;
					// Approximation without API: interlanguage links start with 2 to 3 lower case letters, optionally followed by&lt;br /&gt;
					// a sequence of groups consisting of a dash followed by one or more lower case letters. Exceptions are &amp;quot;simple&amp;quot;&lt;br /&gt;
					// and &amp;quot;tokipona&amp;quot;.&lt;br /&gt;
					match = /((^|\n\r?)(\[\[\s*(([a-z]{2,3}(-[a-z]+)*)|simple|tokipona)\s*:[^\]]+\]\]\s*))+$/.exec (copiedtext);&lt;br /&gt;
				} else {&lt;br /&gt;
					match = interlanguageRE.exec(copiedtext);&lt;br /&gt;
				}&lt;br /&gt;
				if (match) index = match.index;&lt;br /&gt;
				return {idx : index, onCat : false};&lt;br /&gt;
			}&lt;br /&gt;
			return {idx : index, onCat : index &amp;gt;= 0};&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var summary   = [];&lt;br /&gt;
		var nameSpace = HotCat.category_canonical;&lt;br /&gt;
		var cat_point = -1; // Position of removed category;&lt;br /&gt;
&lt;br /&gt;
		if (key) key = '|' + key;&lt;br /&gt;
		var keyChange = (toRemove &amp;amp;&amp;amp; toAdd &amp;amp;&amp;amp; toRemove == toAdd &amp;amp;&amp;amp; toAdd.length &amp;gt; 0);&lt;br /&gt;
		var matches;&lt;br /&gt;
		if (toRemove &amp;amp;&amp;amp; toRemove.length &amp;gt; 0) {&lt;br /&gt;
			matches = find_category (wikitext, toRemove);&lt;br /&gt;
			if (!matches || matches.length === 0) {&lt;br /&gt;
				return {text: wikitext, 'summary': summary, error: HotCat.messages.cat_notFound.replace (/\$1/g, toRemove)};&lt;br /&gt;
			} else {&lt;br /&gt;
				var before = wikitext.substring (0, matches[0].match.index);&lt;br /&gt;
				var after  = wikitext.substring (matches[0].match.index + matches[0].match[0].length);&lt;br /&gt;
				if (matches.length &amp;gt; 1) {&lt;br /&gt;
					// Remove all occurrences in after&lt;br /&gt;
					matches.re.lastIndex = 0;&lt;br /&gt;
					after = after.replace (matches.re, &amp;quot;&amp;quot;);&lt;br /&gt;
				}&lt;br /&gt;
				if (toAdd) {&lt;br /&gt;
					nameSpace = matches[0].match[1] || nameSpace;&lt;br /&gt;
					if (key === null) key = matches[0].match[2]; // Remember the category key, if any.&lt;br /&gt;
				}&lt;br /&gt;
				// Remove whitespace (properly): strip whitespace, but only up to the next line feed.&lt;br /&gt;
				// If we then have two linefeeds in a row, remove one. Otherwise, if we have two non-&lt;br /&gt;
				// whitespace characters, insert a blank.&lt;br /&gt;
				var i = before.length - 1;&lt;br /&gt;
				while (i &amp;gt;= 0 &amp;amp;&amp;amp; before.charAt (i) != '\n' &amp;amp;&amp;amp; before.substr (i, 1).search (/\s/) &amp;gt;= 0) i--;&lt;br /&gt;
				var j = 0;&lt;br /&gt;
				while (j &amp;lt; after.length &amp;amp;&amp;amp; after.charAt (j) != '\n' &amp;amp;&amp;amp; after.substr (j, 1).search (/\s/) &amp;gt;= 0)&lt;br /&gt;
					j++;&lt;br /&gt;
				if (i &amp;gt;= 0 &amp;amp;&amp;amp; before.charAt (i) == '\n' &amp;amp;&amp;amp; (after.length === 0 || j &amp;lt; after.length &amp;amp;&amp;amp; after.charAt (j) == '\n'))&lt;br /&gt;
					i--;&lt;br /&gt;
				if (i &amp;gt;= 0) before = before.substring (0, i+1); else before = &amp;quot;&amp;quot;;&lt;br /&gt;
				if (j &amp;lt; after.length) after = after.substring (j); else after = &amp;quot;&amp;quot;;&lt;br /&gt;
				if (before.length &amp;gt; 0 &amp;amp;&amp;amp; before.substring (before.length - 1).search (/\S/) &amp;gt;= 0&lt;br /&gt;
						&amp;amp;&amp;amp; after.length &amp;gt; 0 &amp;amp;&amp;amp; after.substr (0, 1).search (/\S/) &amp;gt;= 0)&lt;br /&gt;
					before += ' ';&lt;br /&gt;
				cat_point = before.length;&lt;br /&gt;
				if (cat_point === 0 &amp;amp;&amp;amp; after.length &amp;gt; 0 &amp;amp;&amp;amp; after.substr(0,1) == '\n') {&lt;br /&gt;
					after = after.substr(1);&lt;br /&gt;
				}&lt;br /&gt;
				wikitext = before + after;&lt;br /&gt;
				if (!keyChange) {&lt;br /&gt;
					if(HotCat.template_categories[toRemove]) {&lt;br /&gt;
						summary.push (HotCat.messages.template_removed.replace (/\$1/g, toRemove));&lt;br /&gt;
					} else {&lt;br /&gt;
						summary.push (HotCat.messages.cat_removed.replace (/\$1/g, toRemove));&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		if (toAdd &amp;amp;&amp;amp; toAdd.length &amp;gt; 0) {&lt;br /&gt;
			matches = find_category (wikitext, toAdd);&lt;br /&gt;
			if (matches &amp;amp;&amp;amp; matches.length &amp;gt; 0) {&lt;br /&gt;
				return {text: wikitext, 'summary': summary, error : HotCat.messages.cat_exists.replace (/\$1/g, toAdd)};&lt;br /&gt;
			} else {&lt;br /&gt;
				var onCat = false;&lt;br /&gt;
				if (cat_point &amp;lt; 0) {&lt;br /&gt;
					var point = find_insertionpoint (wikitext);&lt;br /&gt;
					cat_point = point.idx;&lt;br /&gt;
					onCat = point.onCat;&lt;br /&gt;
				} else {&lt;br /&gt;
					onCat = true;&lt;br /&gt;
				}&lt;br /&gt;
				var newcatstring = '[[' + nameSpace + ':' + toAdd + (key || &amp;quot;&amp;quot;) + ']]';&lt;br /&gt;
				if (cat_point &amp;gt;= 0) {&lt;br /&gt;
					var suffix = wikitext.substring (cat_point);&lt;br /&gt;
					wikitext = wikitext.substring (0, cat_point) + (cat_point &amp;gt; 0 ? '\n' : &amp;quot;&amp;quot;) + newcatstring + (!onCat ? '\n' : &amp;quot;&amp;quot;);&lt;br /&gt;
					if (suffix.length &amp;gt; 0 &amp;amp;&amp;amp; suffix.substr(0, 1) != '\n') {&lt;br /&gt;
						wikitext += '\n' + suffix;&lt;br /&gt;
					} else {&lt;br /&gt;
						wikitext += suffix;&lt;br /&gt;
					}&lt;br /&gt;
				} else {&lt;br /&gt;
					if (wikitext.length &amp;gt; 0 &amp;amp;&amp;amp; wikitext.substr (wikitext.length - 1, 1) != '\n')&lt;br /&gt;
						wikitext += '\n';&lt;br /&gt;
					wikitext += (wikitext.length &amp;gt; 0 ? '\n' : &amp;quot;&amp;quot;) + newcatstring;&lt;br /&gt;
				}&lt;br /&gt;
				if (keyChange) {&lt;br /&gt;
					var k = key || &amp;quot;&amp;quot;;&lt;br /&gt;
					if (k.length &amp;gt; 0) k = k.substr (1);&lt;br /&gt;
					summary.push (substitute (HotCat.messages.cat_keychange, [null, toAdd, k]));&lt;br /&gt;
				} else {&lt;br /&gt;
					summary.push (HotCat.messages.cat_added.replace (/\$1/g, toAdd));&lt;br /&gt;
				}&lt;br /&gt;
				if (HotCat.uncat_regexp &amp;amp;&amp;amp; !is_hidden) {&lt;br /&gt;
					var txt = wikitext.replace (HotCat.uncat_regexp, &amp;quot;&amp;quot;); // Remove &amp;quot;uncat&amp;quot; templates&lt;br /&gt;
					if (txt.length != wikitext.length) {&lt;br /&gt;
						wikitext = txt;&lt;br /&gt;
						summary.push (HotCat.messages.uncat_removed);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return {text: wikitext, 'summary': summary, error: null};&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// The real HotCat UI&lt;br /&gt;
&lt;br /&gt;
	function evtKeys (e) {&lt;br /&gt;
		e = e || window.event || window.Event; // W3C, IE, Netscape&lt;br /&gt;
		var code = 0;&lt;br /&gt;
		if (typeof e.ctrlKey != 'undefined') { // All modern browsers&lt;br /&gt;
			// Ctrl-click seems to be overloaded in FF/Mac (it opens a pop-up menu), so treat cmd-click&lt;br /&gt;
			// as a ctrl-click, too.&lt;br /&gt;
			if (e.ctrlKey || e.metaKey) code |= 1;&lt;br /&gt;
			if (e.shiftKey) code |= 2;&lt;br /&gt;
		} else if (typeof e.modifiers != 'undefined') { // Netscape...&lt;br /&gt;
			if (e.modifiers &amp;amp; (Event.CONTROL_MASK | Event.META_MASK)) code |= 1;&lt;br /&gt;
			if (e.modifiers &amp;amp; Event.SHIFT_MASK) code |= 2;&lt;br /&gt;
		}&lt;br /&gt;
		return code;&lt;br /&gt;
	}&lt;br /&gt;
	function evtKill (e) {&lt;br /&gt;
		e = e || window.event || window.Event; // W3C, IE, Netscape&lt;br /&gt;
		if (typeof e.preventDefault != 'undefined') {&lt;br /&gt;
			e.preventDefault ();&lt;br /&gt;
			e.stopPropagation ();&lt;br /&gt;
		} else&lt;br /&gt;
			e.cancelBubble = true;&lt;br /&gt;
		return false;&lt;br /&gt;
	}&lt;br /&gt;
	function addEvent (node, evt, f, capture) {&lt;br /&gt;
		if (window.jQuery &amp;amp;&amp;amp; (!capture || !node.addEventListener)) window.jQuery (node).bind (evt, f);&lt;br /&gt;
		else if (node.addEventListener) node.addEventListener (evt, f, capture); // FF etc; IE &amp;gt;= 9&lt;br /&gt;
		else if (node.attachEvent) node.attachEvent ('on' + evt, f); // Older IE; Opera&lt;br /&gt;
		else node['on' + evt] = f; // Very old!&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var catLine      = null;&lt;br /&gt;
	var onUpload     = false;&lt;br /&gt;
	var editors      = [];&lt;br /&gt;
&lt;br /&gt;
	var commitButton = null;&lt;br /&gt;
	var commitForm   = null;&lt;br /&gt;
	var multiSpan    = null;&lt;br /&gt;
&lt;br /&gt;
	var pageText     = null;&lt;br /&gt;
	var pageTime     = null;&lt;br /&gt;
	var pageWatched  = false;&lt;br /&gt;
	var watchCreate  = false;&lt;br /&gt;
	var watchEdit    = false;&lt;br /&gt;
	var minorEdits   = false;&lt;br /&gt;
	var editToken    = null;&lt;br /&gt;
&lt;br /&gt;
	var is_rtl       = false;&lt;br /&gt;
	var serverTime   = null;&lt;br /&gt;
	var lastRevId    = null;&lt;br /&gt;
	var pageTextRevId = null;&lt;br /&gt;
	var conflictingUser = null;&lt;br /&gt;
&lt;br /&gt;
	var newDOM       = false; // true if MediaWiki serves the new UL-LI DOM for categories&lt;br /&gt;
&lt;br /&gt;
	function setMultiInput () {&lt;br /&gt;
		if (commitButton || onUpload) return;&lt;br /&gt;
		commitButton = make ('input');&lt;br /&gt;
		commitButton.type  = 'button';&lt;br /&gt;
		commitButton.value = HotCat.messages.commit;&lt;br /&gt;
		commitButton.onclick = multiSubmit;&lt;br /&gt;
		if (multiSpan) {&lt;br /&gt;
			multiSpan.parentNode.replaceChild (commitButton, multiSpan);&lt;br /&gt;
		} else {&lt;br /&gt;
			catLine.appendChild (commitButton);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function checkMultiInput () {&lt;br /&gt;
		if (!commitButton) return;&lt;br /&gt;
		var has_changes = false;&lt;br /&gt;
		for (var i = 0; i &amp;lt; editors.length; i++) {&lt;br /&gt;
			if (editors[i].state != CategoryEditor.UNCHANGED) {&lt;br /&gt;
				has_changes = true;&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		commitButton.disabled = !has_changes;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function currentTimestamp () {&lt;br /&gt;
		var now = new Date();&lt;br /&gt;
		var ts  = &amp;quot;&amp;quot; + now.getUTCFullYear();&lt;br /&gt;
		function two (s) { return s.substr (s.length - 2); }&lt;br /&gt;
		ts = ts&lt;br /&gt;
			+ two ('0' + (now.getUTCMonth() + 1))&lt;br /&gt;
			+ two ('0' + now.getUTCDate())&lt;br /&gt;
			+ two ('00' + now.getUTCHours())&lt;br /&gt;
			+ two ('00' + now.getUTCMinutes())&lt;br /&gt;
			+ two ('00' + now.getUTCSeconds());&lt;br /&gt;
		return ts;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var saveInProgress = false;&lt;br /&gt;
	function initiateEdit (doEdit, failure) {&lt;br /&gt;
		if (saveInProgress) return;&lt;br /&gt;
		saveInProgress = true;&lt;br /&gt;
		var oldButtonState;&lt;br /&gt;
		if (commitButton) {&lt;br /&gt;
			oldButtonState = commitButton.disabled;&lt;br /&gt;
			commitButton.disabled = true;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		function fail() {&lt;br /&gt;
			saveInProgress = false;&lt;br /&gt;
			if (commitButton) commitButton.disabled = oldButtonState;&lt;br /&gt;
			failure.apply(this, arguments);&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// Must use Ajax here to get the user options and the edit token.&lt;br /&gt;
&lt;br /&gt;
		getJSON ({&lt;br /&gt;
			 uri : conf.wgServer + conf.wgScriptPath + '/api.php'&lt;br /&gt;
			,data : 'format=json&amp;amp;action=query&amp;amp;rawcontinue=&amp;amp;titles=' + encodeURIComponent (conf.wgPageName)&lt;br /&gt;
				+ '&amp;amp;prop=info%7Crevisions%7Clanglinks&amp;amp;inprop=watched&amp;amp;intoken=edit&amp;amp;rvprop=content%7Ctimestamp%7Cids%7Cuser&amp;amp;lllimit=500'&lt;br /&gt;
				+ '&amp;amp;rvlimit=2&amp;amp;rvdir=newer&amp;amp;rvstartid=' + conf.wgCurRevisionId&lt;br /&gt;
				+ '&amp;amp;meta=siteinfo%7Cuserinfo&amp;amp;uiprop=options'&lt;br /&gt;
			,success : function (json) { setPage(json); doEdit(fail); }&lt;br /&gt;
			,error : function (req) { fail(req.status + ' ' + req.statusText); }&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function multiChangeMsg (count) {&lt;br /&gt;
		var msg = HotCat.messages.multi_change;&lt;br /&gt;
		if (typeof msg != 'string' &amp;amp;&amp;amp; msg.length) {&lt;br /&gt;
			if (window.mw &amp;amp;&amp;amp; mw.language &amp;amp;&amp;amp; mw.language.convertPlural) {&lt;br /&gt;
				msg = mw.language.convertPlural (count, msg);&lt;br /&gt;
			} else {&lt;br /&gt;
				msg = msg[msg.length-1];&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return substitute (msg, [null, &amp;quot;&amp;quot; + count]);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function performChanges (failure, singleEditor) {&lt;br /&gt;
		if (pageText === null) {&lt;br /&gt;
			failure (HotCat.messages.multi_error);&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		// Backwards compatibility after message change (added $2 to cat_keychange)&lt;br /&gt;
		if (HotCat.messages.cat_keychange.indexOf ('$2') &amp;lt; 0) HotCat.messages.cat_keychange += '&amp;quot;$2&amp;quot;';&lt;br /&gt;
		// More backwards-compatibility with earlier HotCat versions:&lt;br /&gt;
		if (!HotCat.messages.short_catchange) HotCat.messages.short_catchange = '[[' + HotCat.category_canonical + ':$1]]';&lt;br /&gt;
		// Create a form and submit it. We don't use the edit API (api.php?action=edit) because&lt;br /&gt;
		// (a) sensibly reporting back errors like edit conflicts is always a hassle, and&lt;br /&gt;
		// (b) we want to show a diff for multi-edits anyway, and&lt;br /&gt;
		// (c) we want to trigger onsubmit events, allowing user code to intercept the edit.&lt;br /&gt;
		// Using the form, we can do (b) and (c), and we get (a) for free. And, of course, using the form&lt;br /&gt;
		// automatically reloads the page with the updated categories on a successful submit, which&lt;br /&gt;
		// we would have to do explicitly if we used the edit API.&lt;br /&gt;
		var action;&lt;br /&gt;
		// Normally, we don't have to care about edit conflicts. If some other user edited the page in the meantime, the&lt;br /&gt;
		// server will take care of it and merge the edit automatically or present an edit conflict screen. However, the&lt;br /&gt;
		// server suppresses edit conflicts with oneself. Hence, if we have a conflict, and the conflicting user is the&lt;br /&gt;
		// current user, then we set the &amp;quot;oldid&amp;quot; value and switch to diff, which gives the &amp;quot;you are editing an old version;&lt;br /&gt;
		// if you save, any more recent changes will be lost&amp;quot; screen.&lt;br /&gt;
		var editingOldVersion = lastRevId !== null &amp;amp;&amp;amp; lastRevId != conf.wgCurRevisionId || pageTextRevId !== null &amp;amp;&amp;amp; pageTextRevId != conf.wgCurRevisionId;&lt;br /&gt;
		var selfEditConflict = editingOldVersion &amp;amp;&amp;amp; conflictingUser &amp;amp;&amp;amp; conflictingUser == conf.wgUserName;&lt;br /&gt;
		if (singleEditor &amp;amp;&amp;amp; !singleEditor.noCommit &amp;amp;&amp;amp; !HotCat.no_autocommit &amp;amp;&amp;amp; editToken &amp;amp;&amp;amp; !selfEditConflict) {&lt;br /&gt;
			// If we do have an edit conflict, but not with ourself, that's no reason not to attempt to save: the server side may actually be able to&lt;br /&gt;
			// merge the changes. We just need to make sure that we do present a diff view if it's a self edit conflict.&lt;br /&gt;
			commitForm.wpEditToken.value = editToken;&lt;br /&gt;
			action = commitForm.wpDiff;&lt;br /&gt;
			if (action) action.name = action.value = 'wpSave';&lt;br /&gt;
		} else {&lt;br /&gt;
			action = commitForm.wpSave;&lt;br /&gt;
			if (action) action.name = action.value = 'wpDiff';&lt;br /&gt;
		}&lt;br /&gt;
		var result = { text : pageText };&lt;br /&gt;
		var changed = [], added = [], deleted = [], changes = 0;&lt;br /&gt;
		var toEdit = !!singleEditor ? [singleEditor] : editors;&lt;br /&gt;
		var error = null;&lt;br /&gt;
		var i;&lt;br /&gt;
		for (i=0; i &amp;lt; toEdit.length; i++) {&lt;br /&gt;
			if (toEdit[i].state == CategoryEditor.CHANGED) {&lt;br /&gt;
				result = change_category (&lt;br /&gt;
						result.text&lt;br /&gt;
					, toEdit[i].originalCategory&lt;br /&gt;
					, toEdit[i].currentCategory&lt;br /&gt;
					, toEdit[i].currentKey&lt;br /&gt;
					, toEdit[i].currentHidden&lt;br /&gt;
				);&lt;br /&gt;
				if (!result.error) {&lt;br /&gt;
					changes++;&lt;br /&gt;
					if (!toEdit[i].originalCategory || toEdit[i].originalCategory.length === 0) {&lt;br /&gt;
						added.push (toEdit[i].currentCategory);&lt;br /&gt;
					} else {&lt;br /&gt;
						changed.push ({from : toEdit[i].originalCategory, to : toEdit[i].currentCategory});&lt;br /&gt;
					}&lt;br /&gt;
				} else if (error === null) {&lt;br /&gt;
					error = result.error;&lt;br /&gt;
				}&lt;br /&gt;
			} else if (   toEdit[i].state == CategoryEditor.DELETED&lt;br /&gt;
					   &amp;amp;&amp;amp; toEdit[i].originalCategory&lt;br /&gt;
					   &amp;amp;&amp;amp; toEdit[i].originalCategory.length &amp;gt; 0)&lt;br /&gt;
			{&lt;br /&gt;
				result = change_category (result.text, toEdit[i].originalCategory, null, null, false);&lt;br /&gt;
				if (!result.error) {&lt;br /&gt;
					changes++;&lt;br /&gt;
					deleted.push (toEdit[i].originalCategory);&lt;br /&gt;
				} else if (error === null) {&lt;br /&gt;
					error = result.error;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		if (error !== null) { // Do not commit if there were errors&lt;br /&gt;
			action = commitForm.wpSave;&lt;br /&gt;
			if (action) action.name = action.value = 'wpDiff';&lt;br /&gt;
		}&lt;br /&gt;
		// Fill in the form and submit it&lt;br /&gt;
		commitForm.wpAutoSummary.value = 'd41d8cd98f00b204e9800998ecf8427e'; // MD5 hash of the empty string&lt;br /&gt;
		commitForm.wpMinoredit.checked = minorEdits;&lt;br /&gt;
		commitForm.wpWatchthis.checked = conf.wgArticleId === 0 &amp;amp;&amp;amp; watchCreate || watchEdit || pageWatched;&lt;br /&gt;
		if (conf.wgArticleId &amp;gt; 0 || !!singleEditor) {&lt;br /&gt;
			if (changes == 1) {&lt;br /&gt;
				if (result.summary &amp;amp;&amp;amp; result.summary.length &amp;gt; 0)&lt;br /&gt;
					commitForm.wpSummary.value = HotCat.messages.prefix + result.summary.join (HotCat.messages.separator) + HotCat.messages.using;&lt;br /&gt;
				commitForm.wpMinoredit.checked = HotCat.single_minor || minorEdits;&lt;br /&gt;
			} else if (changes &amp;gt; 1) {&lt;br /&gt;
				var summary = [];&lt;br /&gt;
				var shortSummary = [];&lt;br /&gt;
				// Deleted&lt;br /&gt;
				for (i = 0; i &amp;lt; deleted.length; i++) {&lt;br /&gt;
					summary.push ('-' + substitute (HotCat.messages.short_catchange, [null, deleted[i]]));&lt;br /&gt;
				}&lt;br /&gt;
				if (deleted.length == 1)&lt;br /&gt;
					shortSummary.push ('-' + substitute (HotCat.messages.short_catchange, [null, deleted[0]]));&lt;br /&gt;
				else if (deleted.length &amp;gt; 1)&lt;br /&gt;
					shortSummary.push ('- ' + multiChangeMsg (deleted.length));&lt;br /&gt;
				// Added&lt;br /&gt;
				for (i = 0; i &amp;lt; added.length; i++) {&lt;br /&gt;
					summary.push ('+' + substitute (HotCat.messages.short_catchange, [null, added[i]]));&lt;br /&gt;
				}&lt;br /&gt;
				if (added.length == 1)&lt;br /&gt;
					shortSummary.push ('+' + substitute (HotCat.messages.short_catchange, [null, added[0]]));&lt;br /&gt;
				else if (added.length &amp;gt; 1)&lt;br /&gt;
					shortSummary.push ('+ ' + multiChangeMsg (added.length));&lt;br /&gt;
				// Changed&lt;br /&gt;
				var arrow = is_rtl ? '\u2190' : '\u2192'; // left and right arrows. Don't use ← and → in the code.&lt;br /&gt;
				for (i = 0; i &amp;lt; changed.length; i++) {&lt;br /&gt;
					if (changed[i].from != changed[i].to) {&lt;br /&gt;
						summary.push ('±' + substitute (HotCat.messages.short_catchange, [null, changed[i].from]) + arrow&lt;br /&gt;
										+ substitute (HotCat.messages.short_catchange, [null, changed[i].to]));&lt;br /&gt;
					} else {&lt;br /&gt;
						summary.push ('±' + substitute (HotCat.messages.short_catchange, [null, changed[i].from]));&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				if (changed.length == 1) {&lt;br /&gt;
					if (changed[0].from != changed[0].to) {&lt;br /&gt;
						shortSummary.push ('±' + substitute (HotCat.messages.short_catchange, [null, changed[0].from]) + arrow&lt;br /&gt;
											+ substitute (HotCat.messages.short_catchange, [null, changed[0].to]));&lt;br /&gt;
					} else {&lt;br /&gt;
						shortSummary.push ('±' + substitute (HotCat.messages.short_catchange, [null, changed[0].from]));&lt;br /&gt;
					}&lt;br /&gt;
				} else if (changed.length &amp;gt; 1) {&lt;br /&gt;
					shortSummary.push ('± ' + multiChangeMsg (changed.length));&lt;br /&gt;
				}&lt;br /&gt;
				if (summary.length &amp;gt; 0) {&lt;br /&gt;
					summary = summary.join (HotCat.messages.separator);&lt;br /&gt;
					if (summary.length &amp;gt; 200 - HotCat.messages.prefix.length - HotCat.messages.using.length) {&lt;br /&gt;
						summary = shortSummary.join (HotCat.messages.separator);&lt;br /&gt;
					}&lt;br /&gt;
					commitForm.wpSummary.value = HotCat.messages.prefix + summary + HotCat.messages.using;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		commitForm.wpTextbox1.value = result.text;&lt;br /&gt;
		commitForm.wpStarttime.value = serverTime || currentTimestamp ();&lt;br /&gt;
		commitForm.wpEdittime.value = pageTime || commitForm.wpStarttime.value;&lt;br /&gt;
		if (selfEditConflict) commitForm.oldid.value = &amp;quot;&amp;quot; + (pageTextRevId || conf.wgCurRevisionId);&lt;br /&gt;
		// Submit the form in a way that triggers onsubmit events: commitForm.submit() doesn't.&lt;br /&gt;
		commitForm.hcCommit.click();&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function resolveMulti (toResolve, callback) {&lt;br /&gt;
		var i;&lt;br /&gt;
		for (i = 0; i &amp;lt; toResolve.length; i++) {&lt;br /&gt;
			toResolve[i].dab = null;&lt;br /&gt;
			toResolve[i].dabInput = toResolve[i].lastInput;&lt;br /&gt;
		}&lt;br /&gt;
		if (noSuggestions) {&lt;br /&gt;
			callback (toResolve);&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		// Use %7C instead of |, otherwise Konqueror insists on re-encoding the arguments, resulting in doubly encoded&lt;br /&gt;
		// category names. (That is a bug in Konqueror. Other browsers don't have this problem.)&lt;br /&gt;
		var args = 'action=query&amp;amp;prop=info%7Clinks%7Ccategories%7Ccategoryinfo&amp;amp;plnamespace=14'&lt;br /&gt;
				+ '&amp;amp;pllimit=' + (toResolve.length * 10)&lt;br /&gt;
				+ '&amp;amp;cllimit=' + (toResolve.length * 10)&lt;br /&gt;
				+ '&amp;amp;format=json&amp;amp;titles=';&lt;br /&gt;
		for (i = 0; i &amp;lt; toResolve.length; i++) {&lt;br /&gt;
			var v = toResolve[i].dabInput;&lt;br /&gt;
			v = replaceShortcuts (v, HotCat.shortcuts);&lt;br /&gt;
			toResolve[i].dabInputCleaned = v;&lt;br /&gt;
			args += encodeURIComponent ('Category:' + v);&lt;br /&gt;
			if (i+1 &amp;lt; toResolve.length) args += '%7C';&lt;br /&gt;
		}&lt;br /&gt;
		getJSON({&lt;br /&gt;
			 uri : conf.wgServer + conf.wgScriptPath + '/api.php'&lt;br /&gt;
			,data : args&lt;br /&gt;
			,success: function (json) { resolveRedirects (toResolve, json); callback (toResolve); }&lt;br /&gt;
			,error: function (req) { if (!req) noSuggestions = true; callback (toResolve); }&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function resolveOne (page, toResolve) {&lt;br /&gt;
		var cats     = page.categories;&lt;br /&gt;
		var lks      = page.links;&lt;br /&gt;
		var is_dab   = false;&lt;br /&gt;
		var is_redir = typeof page.redirect == 'string'; // Hard redirect?&lt;br /&gt;
		var is_hidden = page.categoryinfo &amp;amp;&amp;amp; typeof page.categoryinfo.hidden == 'string';&lt;br /&gt;
		var is_missing = typeof page.missing == 'string';&lt;br /&gt;
		var i;&lt;br /&gt;
		for (i = 0; i &amp;lt; toResolve.length; i++) {&lt;br /&gt;
			if (toResolve.length &amp;gt; 1 &amp;amp;&amp;amp; toResolve[i].dabInputCleaned != page.title.substring (page.title.indexOf (':') + 1)) continue;&lt;br /&gt;
			// Note: the server returns in page an NFC normalized Unicode title. If our input was not NFC normalized, we may not find&lt;br /&gt;
			// any entry here. If we have only one editor to resolve (the most common case, I presume), we may simply skip the check.&lt;br /&gt;
			toResolve[i].currentHidden = is_hidden;&lt;br /&gt;
			toResolve[i].inputExists = !is_missing;&lt;br /&gt;
			toResolve[i].icon.src = armorUri(is_missing ? HotCat.existsNo : HotCat.existsYes);&lt;br /&gt;
		}&lt;br /&gt;
		if (is_missing) return;&lt;br /&gt;
		if (!is_redir &amp;amp;&amp;amp; cats &amp;amp;&amp;amp; (HotCat.disambig_category || HotCat.redir_category)) {&lt;br /&gt;
			for (var c = 0; c &amp;lt; cats.length; c++) {&lt;br /&gt;
				var cat = cats[c]['title'];&lt;br /&gt;
				// Strip namespace prefix&lt;br /&gt;
				if (cat) {&lt;br /&gt;
					cat = cat.substring (cat.indexOf (':') + 1).replace(/_/g, ' ');&lt;br /&gt;
					if (cat == HotCat.disambig_category) {&lt;br /&gt;
						is_dab = true; break;&lt;br /&gt;
					} else if (cat == HotCat.redir_category) {&lt;br /&gt;
						is_redir = true; break;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		if (!is_redir &amp;amp;&amp;amp; !is_dab) return;&lt;br /&gt;
		if (!lks || lks.length === 0) return;&lt;br /&gt;
		var titles = [];&lt;br /&gt;
		for (i = 0; i &amp;lt; lks.length; i++) {&lt;br /&gt;
			if (   lks[i]['ns'] == 14                             // Category namespace -- always true since we ask only for the category links&lt;br /&gt;
				&amp;amp;&amp;amp; lks[i]['title'] &amp;amp;&amp;amp; lks[i]['title'].length &amp;gt; 0) // Name not empty&lt;br /&gt;
			{&lt;br /&gt;
				// Internal link to existing thingy. Extract the page name and remove the namespace.&lt;br /&gt;
				var match = lks[i]['title'];&lt;br /&gt;
				match = match.substring (match.indexOf (':') + 1);&lt;br /&gt;
				// Exclude blacklisted categories.&lt;br /&gt;
				if (!HotCat.blacklist || !HotCat.blacklist.test (match)) {&lt;br /&gt;
					titles.push (match);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		if (titles.length === 0) {&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		for (i = 0; i &amp;lt; toResolve.length; i++) {&lt;br /&gt;
			if (toResolve.length &amp;gt; 1 &amp;amp;&amp;amp; toResolve[i].dabInputCleaned != page.title.substring (page.title.indexOf (':') + 1)) continue;&lt;br /&gt;
			toResolve[i].inputExists = true; // Might actually be wrong if it's a redirect pointing to a non-existing category&lt;br /&gt;
			toResolve[i].icon.src = armorUri(HotCat.existsYes);&lt;br /&gt;
			if (titles.length &amp;gt; 1) {&lt;br /&gt;
				toResolve[i].dab = titles;&lt;br /&gt;
			} else {&lt;br /&gt;
				toResolve[i].text.value =&lt;br /&gt;
					titles[0] + (toResolve[i].currentKey !== null ? '|' + toResolve[i].currentKey : &amp;quot;&amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function resolveRedirects (toResolve, params) {&lt;br /&gt;
		if (!params || !params.query || !params.query.pages) return;&lt;br /&gt;
		for (var p in params.query.pages) resolveOne (params.query.pages[p], toResolve);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function multiSubmit () {&lt;br /&gt;
		var toResolve = [];&lt;br /&gt;
		for (var i = 0; i &amp;lt; editors.length; i++) {&lt;br /&gt;
			if (editors[i].state == CategoryEditor.CHANGE_PENDING || editors[i].state == CategoryEditor.OPEN)&lt;br /&gt;
				toResolve.push (editors[i]);&lt;br /&gt;
		}&lt;br /&gt;
		if (toResolve.length === 0) {&lt;br /&gt;
			initiateEdit (function (failure) {performChanges (failure);}, function (msg) {alert (msg);});&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		resolveMulti (&lt;br /&gt;
			  toResolve&lt;br /&gt;
			, function (resolved) {&lt;br /&gt;
					var firstDab = null;&lt;br /&gt;
					var dontChange = false;&lt;br /&gt;
					for (var i = 0; i &amp;lt; resolved.length; i++) {&lt;br /&gt;
						if (resolved[i].lastInput != resolved[i].dabInput) {&lt;br /&gt;
							// We didn't disable all the open editors, but we did asynchronous calls. It is&lt;br /&gt;
							// theoretically possible that the user changed something...&lt;br /&gt;
							dontChange = true;&lt;br /&gt;
						} else {&lt;br /&gt;
							if (resolved[i].dab) {&lt;br /&gt;
								if (!firstDab) firstDab = resolved[i];&lt;br /&gt;
							} else {&lt;br /&gt;
								if (resolved[i].acceptCheck(true)) resolved[i].commit();&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					if (firstDab) {&lt;br /&gt;
						showDab (firstDab);&lt;br /&gt;
					} else if (!dontChange) {&lt;br /&gt;
						initiateEdit (function (failure) {performChanges (failure);}, function (msg) {alert (msg);});&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
		);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var cat_prefix = null;&lt;br /&gt;
	var noSuggestions = false;&lt;br /&gt;
	var suggestionEngines = {&lt;br /&gt;
		opensearch :&lt;br /&gt;
			{ uri     : '/api.php?format=json&amp;amp;action=opensearch&amp;amp;namespace=14&amp;amp;limit=30&amp;amp;search=Category:$1' // $1 = search term&lt;br /&gt;
			 ,handler : // Function to convert result of uri into an array of category names&lt;br /&gt;
				function (queryResult, queryKey) {&lt;br /&gt;
					if (queryResult &amp;amp;&amp;amp; queryResult.length &amp;gt;= 2) {&lt;br /&gt;
						var key = queryResult[0].substring(queryResult[0].indexOf(':') + 1);&lt;br /&gt;
						var titles = queryResult[1];&lt;br /&gt;
						var exists = false;&lt;br /&gt;
						if (!cat_prefix) cat_prefix = new RegExp ('^(' + HotCat.category_regexp + ':)');&lt;br /&gt;
						for (var i = 0; i &amp;lt; titles.length; i++) {&lt;br /&gt;
							cat_prefix.lastIndex = 0;&lt;br /&gt;
							var m = cat_prefix.exec (titles[i]);&lt;br /&gt;
							if (m &amp;amp;&amp;amp; m.length &amp;gt; 1) {&lt;br /&gt;
								titles[i] = titles[i].substring (titles[i].indexOf (':') + 1); // rm namespace&lt;br /&gt;
								if (key == titles[i]) exists = true;&lt;br /&gt;
							} else {&lt;br /&gt;
								titles.splice (i, 1); // Nope, it's not a category after all.&lt;br /&gt;
								i--;&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
						titles.exists = exists;&lt;br /&gt;
						if (queryKey != key) titles.normalized = key; // Remember the NFC normalized key we got back from the server&lt;br /&gt;
						return titles;&lt;br /&gt;
					}&lt;br /&gt;
					return null;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		,internalsearch :&lt;br /&gt;
			{ uri     : '/api.php?format=json&amp;amp;action=query&amp;amp;list=allpages&amp;amp;apnamespace=14&amp;amp;aplimit=30&amp;amp;apfrom=$1&amp;amp;apprefix=$1'&lt;br /&gt;
			 ,handler :&lt;br /&gt;
				function (queryResult, queryKey) {&lt;br /&gt;
					if (queryResult &amp;amp;&amp;amp; queryResult.query &amp;amp;&amp;amp; queryResult.query.allpages) {&lt;br /&gt;
						var titles = queryResult.query.allpages;&lt;br /&gt;
						for (var i = 0; i &amp;lt; titles.length; i++) {&lt;br /&gt;
							titles[i] = titles[i].title.substring (titles[i].title.indexOf (':') + 1); // rm namespace&lt;br /&gt;
						}&lt;br /&gt;
						return titles;&lt;br /&gt;
					}&lt;br /&gt;
					return null;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		,exists :&lt;br /&gt;
			{ uri     : '/api.php?format=json&amp;amp;action=query&amp;amp;prop=info&amp;amp;titles=Category:$1'&lt;br /&gt;
			 ,handler :&lt;br /&gt;
				function (queryResult, queryKey) {&lt;br /&gt;
					if (queryResult &amp;amp;&amp;amp; queryResult.query &amp;amp;&amp;amp; queryResult.query.pages &amp;amp;&amp;amp; !queryResult.query.pages[-1]) {&lt;br /&gt;
						// Should have exactly 1&lt;br /&gt;
						for (var p in queryResult.query.pages) {&lt;br /&gt;
							var title = queryResult.query.pages[p].title;&lt;br /&gt;
							title = title.substring (title.indexOf (':') + 1);&lt;br /&gt;
							var titles = [title];&lt;br /&gt;
							titles.exists = true;&lt;br /&gt;
							if (queryKey != title) titles.normalized = title; // NFC&lt;br /&gt;
							return titles;&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					return null;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		,subcategories :&lt;br /&gt;
			// I don't understand why they didn't map cmnamespace=14 automatically to cmtype=subcat,&lt;br /&gt;
			// which gives better results and is faster.&lt;br /&gt;
			{ uri     : '/api.php?format=json&amp;amp;action=query&amp;amp;list=categorymembers'&lt;br /&gt;
				+(function (version) {&lt;br /&gt;
					var m = version.match(/^(\d+)\.(\d+)/);&lt;br /&gt;
					var major = 0, minor = 0;&lt;br /&gt;
					if (m &amp;amp;&amp;amp; m.length &amp;gt; 1) {&lt;br /&gt;
						major = parseInt (m[1], 10);&lt;br /&gt;
						minor = (m.length &amp;gt; 2 ? parseInt (m[2], 10) : 0);&lt;br /&gt;
					}&lt;br /&gt;
					if (major &amp;gt; 1 || major === 1 &amp;amp;&amp;amp; minor &amp;gt; 17) return '&amp;amp;cmtype=subcat'; // Since MW1.18&lt;br /&gt;
					return '&amp;amp;cmnamespace=14';&lt;br /&gt;
				  }&lt;br /&gt;
				)(conf.wgVersion)&lt;br /&gt;
				+'&amp;amp;cmlimit=max&amp;amp;cmtitle=Category:$1'&lt;br /&gt;
			 ,handler :&lt;br /&gt;
				function (queryResult, queryKey) {&lt;br /&gt;
					if (queryResult &amp;amp;&amp;amp; queryResult.query &amp;amp;&amp;amp; queryResult.query.categorymembers) {&lt;br /&gt;
						var titles = queryResult.query.categorymembers;&lt;br /&gt;
						for (var i = 0; i &amp;lt; titles.length; i++) {&lt;br /&gt;
							titles[i] = titles[i].title.substring (titles[i].title.indexOf (':') + 1); // rm namespace&lt;br /&gt;
						}&lt;br /&gt;
						return titles;&lt;br /&gt;
					}&lt;br /&gt;
					return null;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		,parentcategories :&lt;br /&gt;
			{ uri     : '/api.php?format=json&amp;amp;action=query&amp;amp;prop=categories&amp;amp;titles=Category:$1&amp;amp;cllimit=max'&lt;br /&gt;
			 ,handler :&lt;br /&gt;
				function (queryResult, queryKey) {&lt;br /&gt;
					if (queryResult &amp;amp;&amp;amp; queryResult.query &amp;amp;&amp;amp; queryResult.query.pages) {&lt;br /&gt;
						for (var p in queryResult.query.pages) {&lt;br /&gt;
							if (queryResult.query.pages[p].categories) {&lt;br /&gt;
								var titles = queryResult.query.pages[p].categories;&lt;br /&gt;
								for (var i = 0; i &amp;lt; titles.length; i++) {&lt;br /&gt;
									titles[i] = titles[i].title.substring (titles[i].title.indexOf (':') + 1); // rm namespace&lt;br /&gt;
								}&lt;br /&gt;
								return titles;&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					return null;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	var suggestionConfigs = {&lt;br /&gt;
		 searchindex : {name: 'Search index', engines: ['opensearch'], cache: {}, show: true, temp: false, noCompletion : false}&lt;br /&gt;
		,pagelist    : {name: 'Page list', engines: ['internalsearch', 'exists'], cache: {}, show: true, temp: false, noCompletion : false}&lt;br /&gt;
		,combined    : {name: 'Combined search', engines: ['opensearch', 'internalsearch'], cache: {}, show: true, temp: false, noCompletion : false}&lt;br /&gt;
		,subcat      : {name: 'Subcategories', engines: ['subcategories'], cache: {}, show: true, temp: true, noCompletion : true}&lt;br /&gt;
		,parentcat   : {name: 'Parent categories', engines: ['parentcategories'], cache: {}, show: true, temp: true, noCompletion : true}&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
	function CategoryEditor () { this.initialize.apply (this, arguments); }&lt;br /&gt;
	CategoryEditor.UNCHANGED      = 0;&lt;br /&gt;
	CategoryEditor.OPEN           = 1; // Open, but no input yet&lt;br /&gt;
	CategoryEditor.CHANGE_PENDING = 2; // Open, some input made&lt;br /&gt;
	CategoryEditor.CHANGED        = 3;&lt;br /&gt;
	CategoryEditor.DELETED        = 4;&lt;br /&gt;
&lt;br /&gt;
	// IE6 sometimes forgets to redraw the list when editors are opened or closed.&lt;br /&gt;
	// Adding/removing a dummy element helps, at least when opening editors.&lt;br /&gt;
	var dummyElement = make ('\xa0', true);&lt;br /&gt;
&lt;br /&gt;
	function forceRedraw () {&lt;br /&gt;
		if (!is_ie6) return;&lt;br /&gt;
		if (dummyElement.parentNode) {&lt;br /&gt;
			document.body.removeChild (dummyElement);&lt;br /&gt;
		} else {&lt;br /&gt;
			document.body.appendChild (dummyElement);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Event keyCodes that we handle in the text input field/suggestion list.&lt;br /&gt;
	var BS = 8, TAB = 9, RET = 13, ESC = 27, SPACE = 32, PGUP = 33, PGDOWN = 34, UP = 38, DOWN = 40, DEL = 46, IME = 229;&lt;br /&gt;
	&lt;br /&gt;
	function makeActive (which) {&lt;br /&gt;
		if (which.is_active) return;&lt;br /&gt;
		for (var i = 0; i &amp;lt; editors.length; i++) {&lt;br /&gt;
			if (editors[i] !== which) editors[i].inactivate ();&lt;br /&gt;
		}&lt;br /&gt;
		which.is_active = true;&lt;br /&gt;
		if (which.dab) {&lt;br /&gt;
			showDab (which);&lt;br /&gt;
		} else {&lt;br /&gt;
			// Check for programmatic value changes.&lt;br /&gt;
			var expectedInput = which.lastRealInput || which.lastInput || &amp;quot;&amp;quot;;&lt;br /&gt;
			var actualValue = which.text.value || &amp;quot;&amp;quot;;&lt;br /&gt;
			if (expectedInput.length === 0 &amp;amp;&amp;amp; actualValue.length &amp;gt; 0 || expectedInput.length &amp;gt; 0 &amp;amp;&amp;amp; actualValue.indexOf (expectedInput) !== 0) {&lt;br /&gt;
				// Somehow the field's value appears to have changed, and which.lastSelection therefore is no longer valid. Try to set the&lt;br /&gt;
				// cursor at the end of the category, and do not display the old suggestion list.&lt;br /&gt;
				which.showsList = false;&lt;br /&gt;
				var v = actualValue.split('|');&lt;br /&gt;
				which.lastRealInput = which.lastInput = v[0];&lt;br /&gt;
				if (v.length &amp;gt; 1) which.currentKey = v[1];&lt;br /&gt;
				if (which.lastSelection) which.lastSelection = {start: v[0].length, end: v[0].length};&lt;br /&gt;
			}&lt;br /&gt;
			if (which.showsList) which.displayList();&lt;br /&gt;
			if (which.lastSelection) {&lt;br /&gt;
				if (is_webkit) {&lt;br /&gt;
					// WebKit (Safari, Chrome) has problems selecting inside focus()&lt;br /&gt;
					// See http://code.google.com/p/chromium/issues/detail?id=32865#c6&lt;br /&gt;
					window.setTimeout (&lt;br /&gt;
						 function () { which.setSelection (which.lastSelection.start, which.lastSelection.end); }&lt;br /&gt;
						,1&lt;br /&gt;
					);&lt;br /&gt;
				} else {&lt;br /&gt;
					which.setSelection (which.lastSelection.start, which.lastSelection.end);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function showDab (which) {&lt;br /&gt;
		if (!which.is_active) {&lt;br /&gt;
			makeActive(which);&lt;br /&gt;
		} else {&lt;br /&gt;
			which.showSuggestions (which.dab, false, null, null); // do autocompletion, no key, no engine selector&lt;br /&gt;
			which.dab = null;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	CategoryEditor.prototype = {&lt;br /&gt;
&lt;br /&gt;
		initialize : function (line, span, after, key, is_hidden) {&lt;br /&gt;
			// If a span is given, 'after' is the category title, otherwise it may be an element after which to&lt;br /&gt;
			// insert the new span. 'key' is likewise overloaded; if a span is given, it is the category key (if&lt;br /&gt;
			// known), otherwise it is a boolean indicating whether a bar shall be prepended.&lt;br /&gt;
			if (!span) {&lt;br /&gt;
				this.isAddCategory = true;&lt;br /&gt;
				// Create add span and append to catLinks&lt;br /&gt;
				this.originalCategory = &amp;quot;&amp;quot;;&lt;br /&gt;
				this.originalKey = null;&lt;br /&gt;
				this.originalExists   = false;&lt;br /&gt;
				if (!newDOM) {&lt;br /&gt;
					span = make ('span');&lt;br /&gt;
					span.className = 'noprint';&lt;br /&gt;
					if (key) {&lt;br /&gt;
						span.appendChild (make (' | ', true));&lt;br /&gt;
						if (after) {&lt;br /&gt;
							after.parentNode.insertBefore (span, after.nextSibling);&lt;br /&gt;
							after = after.nextSibling;&lt;br /&gt;
						} else {&lt;br /&gt;
							line.appendChild (span);&lt;br /&gt;
						}&lt;br /&gt;
					} else if (line.firstChild) {&lt;br /&gt;
						span.appendChild (make (' ', true));&lt;br /&gt;
						line.appendChild (span);&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				this.linkSpan = make ('span');&lt;br /&gt;
				this.linkSpan.className = 'noprint nopopups hotcatlink';&lt;br /&gt;
				var lk = make ('a'); lk.href = '#catlinks'; lk.onclick = bind (this.open, this);&lt;br /&gt;
				lk.appendChild (make (HotCat.links.add, true)); lk.title = HotCat.tooltips.add;&lt;br /&gt;
				this.linkSpan.appendChild (lk);&lt;br /&gt;
				span = make (newDOM ? 'li' : 'span');&lt;br /&gt;
				span.className = 'noprint';&lt;br /&gt;
				if (is_rtl) span.dir = 'rtl';&lt;br /&gt;
				span.appendChild (this.linkSpan);&lt;br /&gt;
				if (after)&lt;br /&gt;
					after.parentNode.insertBefore (span, after.nextSibling);&lt;br /&gt;
				else&lt;br /&gt;
					line.appendChild (span);&lt;br /&gt;
				this.normalLinks = null;&lt;br /&gt;
				this.undelLink = null;&lt;br /&gt;
				this.catLink = null;&lt;br /&gt;
			} else {&lt;br /&gt;
				if (is_rtl) span.dir = 'rtl';&lt;br /&gt;
				this.isAddCategory = false;&lt;br /&gt;
				this.catLink = span.firstChild;&lt;br /&gt;
				this.originalCategory = after;&lt;br /&gt;
				this.originalKey = (key &amp;amp;&amp;amp; key.length &amp;gt; 1) ? key.substr(1) : null; // &amp;gt; 1 because it includes the leading bar&lt;br /&gt;
				this.originalExists   = !hasClass (this.catLink, 'new');&lt;br /&gt;
				// Create change and del links&lt;br /&gt;
				this.makeLinkSpan ();&lt;br /&gt;
				if (!this.originalExists &amp;amp;&amp;amp; this.upDownLinks) this.upDownLinks.style.display = 'none';&lt;br /&gt;
				span.appendChild (this.linkSpan);&lt;br /&gt;
			}&lt;br /&gt;
			this.originalHidden     = is_hidden;&lt;br /&gt;
			this.line               = line;&lt;br /&gt;
			this.engine             = HotCat.suggestions;&lt;br /&gt;
			this.span               = span;&lt;br /&gt;
			this.currentCategory    = this.originalCategory;&lt;br /&gt;
			this.currentExists      = this.originalExists;&lt;br /&gt;
			this.currentHidden      = this.originalHidden;&lt;br /&gt;
			this.currentKey         = this.originalKey;&lt;br /&gt;
			this.state              = CategoryEditor.UNCHANGED;&lt;br /&gt;
			this.lastSavedState     = CategoryEditor.UNCHANGED;&lt;br /&gt;
			this.lastSavedCategory  = this.originalCategory;&lt;br /&gt;
			this.lastSavedKey       = this.originalKey;&lt;br /&gt;
			this.lastSavedExists    = this.originalExists;&lt;br /&gt;
			this.lastSavedHidden    = this.originalHidden;&lt;br /&gt;
			if (this.catLink &amp;amp;&amp;amp; this.currentKey) {&lt;br /&gt;
				this.catLink.title = this.currentKey;&lt;br /&gt;
			}&lt;br /&gt;
			editors[editors.length] = this;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		makeLinkSpan : function () {&lt;br /&gt;
			this.normalLinks = make ('span');&lt;br /&gt;
			var lk = null;&lt;br /&gt;
			if (this.originalCategory &amp;amp;&amp;amp; this.originalCategory.length &amp;gt; 0) {&lt;br /&gt;
				lk = make ('a'); lk.href = '#catlinks'; lk.onclick = bind (this.remove, this);&lt;br /&gt;
				lk.appendChild (make (HotCat.links.remove, true)); lk.title = HotCat.tooltips.remove;&lt;br /&gt;
				this.normalLinks.appendChild (make (' ', true));&lt;br /&gt;
				this.normalLinks.appendChild (lk);&lt;br /&gt;
			}&lt;br /&gt;
			if (!HotCat.template_categories[this.originalCategory]) {&lt;br /&gt;
				lk = make ('a'); lk.href = '#catlinks'; lk.onclick = bind (this.open, this);&lt;br /&gt;
				lk.appendChild (make (HotCat.links.change, true)); lk.title = HotCat.tooltips.change;&lt;br /&gt;
				this.normalLinks.appendChild (make (' ', true));&lt;br /&gt;
				this.normalLinks.appendChild (lk);&lt;br /&gt;
				if (!noSuggestions &amp;amp;&amp;amp; HotCat.use_up_down) {&lt;br /&gt;
					this.upDownLinks = make ('span');&lt;br /&gt;
					lk = make ('a'); lk.href = '#catlinks'; lk.onclick = bind (this.down, this);&lt;br /&gt;
					lk.appendChild (make (HotCat.links.down, true)); lk.title = HotCat.tooltips.down;&lt;br /&gt;
					this.upDownLinks.appendChild (make (' ', true));&lt;br /&gt;
					this.upDownLinks.appendChild (lk);&lt;br /&gt;
					lk = make ('a'); lk.href = '#catlinks'; lk.onclick = bind (this.up, this);&lt;br /&gt;
					lk.appendChild (make (HotCat.links.up, true)); lk.title = HotCat.tooltips.up;&lt;br /&gt;
					this.upDownLinks.appendChild (make (' ', true));&lt;br /&gt;
					this.upDownLinks.appendChild (lk);&lt;br /&gt;
					this.normalLinks.appendChild (this.upDownLinks);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			this.linkSpan = make ('span');&lt;br /&gt;
			this.linkSpan.className = 'noprint nopopups hotcatlink';&lt;br /&gt;
			this.linkSpan.appendChild (this.normalLinks);&lt;br /&gt;
			this.undelLink = make ('span');&lt;br /&gt;
			this.undelLink.className = 'nopopups hotcatlink';&lt;br /&gt;
			this.undelLink.style.display = 'none';&lt;br /&gt;
			lk = make ('a'); lk.href = '#catlinks'; lk.onclick = bind (this.restore, this);&lt;br /&gt;
			lk.appendChild (make (HotCat.links.restore, true)); lk.title = HotCat.tooltips.restore;&lt;br /&gt;
			this.undelLink.appendChild (make (' ', true));&lt;br /&gt;
			this.undelLink.appendChild (lk);&lt;br /&gt;
			this.linkSpan.appendChild (this.undelLink);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		invokeSuggestions : function (dont_autocomplete) {&lt;br /&gt;
			if (this.engine &amp;amp;&amp;amp; suggestionConfigs[this.engine] &amp;amp;&amp;amp; suggestionConfigs[this.engine].temp &amp;amp;&amp;amp; !dont_autocomplete) {&lt;br /&gt;
				this.engine = HotCat.suggestions; // Reset to a search upon input&lt;br /&gt;
			}&lt;br /&gt;
			this.state = CategoryEditor.CHANGE_PENDING;&lt;br /&gt;
			var self = this;&lt;br /&gt;
			window.setTimeout (function () {self.textchange (dont_autocomplete);}, HotCat.suggest_delay);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		makeForm : function () {&lt;br /&gt;
			var form = make ('form');&lt;br /&gt;
			form.method = 'POST'; form.onsubmit = bind (this.accept, this);&lt;br /&gt;
			this.form = form;&lt;br /&gt;
			var self = this;&lt;br /&gt;
			var text = make ('input'); text.type = 'text'; text.size = HotCat.editbox_width;&lt;br /&gt;
			if (!noSuggestions) {&lt;br /&gt;
				// Be careful here to handle IME input. This is browser/OS/IME dependent, but basically there are two mechanisms:&lt;br /&gt;
				// - Modern (DOM Level 3) browsers use compositionstart/compositionend events to signal composition; if the&lt;br /&gt;
				//   composition is not canceled, there'll be a textInput event following. During a composition key events are&lt;br /&gt;
				//   either all suppressed (FF/Gecko), or otherwise have keyDown === IME for all keys (Webkit).&lt;br /&gt;
				//   - Webkit sends a textInput followed by keyDown === IME and a keyUp with the key that ended composition.&lt;br /&gt;
				//   - Gecko doesn't send textInput but just a keyUp with the key that ended composition, without sending keyDown&lt;br /&gt;
				//     first. Gecko doesn't send any keydown while IME is active.&lt;br /&gt;
				// - Older browsers signal composition by keyDown === IME for the first and subsequent keys for a composition. The&lt;br /&gt;
				//   first keyDown !== IME is certainly after the end of the composition. Typically, composition end can also be&lt;br /&gt;
				//   detected by a keyDown IME with a keyUp of space, tab, escape, or return. (Example: IE8)&lt;br /&gt;
				text.onkeyup =&lt;br /&gt;
					function (evt) {&lt;br /&gt;
						evt = evt || window.event || window.Event; // W3C, IE, Netscape&lt;br /&gt;
						var key = evt.keyCode || 0;&lt;br /&gt;
						if (self.ime &amp;amp;&amp;amp; self.lastKey === IME &amp;amp;&amp;amp; !self.usesComposition &amp;amp;&amp;amp; (key === TAB || key === RET || key == ESC || key === SPACE)) self.ime = false;&lt;br /&gt;
						if (self.ime) return true;&lt;br /&gt;
						if (key === UP || key === DOWN || key === PGUP || key === PGDOWN) {&lt;br /&gt;
							// In case a browser doesn't generate keypress events for arrow keys...&lt;br /&gt;
							if (self.keyCount === 0) return self.processKey (evt);&lt;br /&gt;
						} else {&lt;br /&gt;
							if (key === ESC &amp;amp;&amp;amp; self.lastKey !== IME) {&lt;br /&gt;
								if (!self.resetKeySelection ()) {&lt;br /&gt;
									// No undo of key selection: treat ESC as &amp;quot;cancel&amp;quot;.&lt;br /&gt;
									self.cancel ();&lt;br /&gt;
									return;&lt;br /&gt;
								}&lt;br /&gt;
							}&lt;br /&gt;
							// Also do this for ESC as a workaround for Firefox bug 524360&lt;br /&gt;
							// https://bugzilla.mozilla.org/show_bug.cgi?id=524360&lt;br /&gt;
							self.invokeSuggestions (key === BS || key === DEL || key === ESC);&lt;br /&gt;
						}&lt;br /&gt;
						return true;&lt;br /&gt;
					};&lt;br /&gt;
				text.onkeydown =&lt;br /&gt;
					function (evt) {&lt;br /&gt;
						evt = evt || window.event || window.Event; // W3C, IE, Netscape&lt;br /&gt;
						var key = evt.keyCode || 0;&lt;br /&gt;
						self.lastKey = key;&lt;br /&gt;
						self.keyCount = 0;&lt;br /&gt;
						// DOM Level &amp;lt; 3 IME input	&lt;br /&gt;
						if (!self.ime &amp;amp;&amp;amp; key === IME &amp;amp;&amp;amp; !self.usesComposition) {&lt;br /&gt;
							// self.usesComposition catches browsers that may emit spurious keydown IME after a composition has ended&lt;br /&gt;
							self.ime = true;&lt;br /&gt;
						} else if (self.ime &amp;amp;&amp;amp; key !== IME &amp;amp;&amp;amp; !(key &amp;gt;= 16 &amp;amp;&amp;amp; key &amp;lt;= 20 || key &amp;gt;= 91 &amp;amp;&amp;amp; key &amp;lt;= 93 || key === 144)) {&lt;br /&gt;
							// Ignore control keys: ctrl, shift, alt, alt gr, caps lock, windows/apple cmd keys, num lock. Only the windows keys&lt;br /&gt;
							// terminate IME (apple cmd doesn't), but they also cause a blur, so it's OK to ignore them here.&lt;br /&gt;
							// Note: Safari 4 (530.17) propagates ESC out of an IME composition (observed at least on Win XP).&lt;br /&gt;
							self.ime = false;&lt;br /&gt;
						}&lt;br /&gt;
						if (self.ime) return true;&lt;br /&gt;
						// Handle return explicitly, to override the default form submission to be able to check for ctrl&lt;br /&gt;
						if (key === RET) return self.accept (evt);&lt;br /&gt;
						// Inhibit default behavior of ESC (revert to last real input in FF: we do that ourselves)&lt;br /&gt;
						return (key === ESC) ? evtKill(evt) : true;&lt;br /&gt;
					};&lt;br /&gt;
				// And handle continued pressing of arrow keys&lt;br /&gt;
				text.onkeypress = function (evt) {self.keyCount++; return self.processKey (evt);};&lt;br /&gt;
				addEvent (text, 'focus', function () { makeActive(self); });&lt;br /&gt;
				// On IE, blur events are asynchronous, and may thus arrive after the element has lost the focus. Since IE&lt;br /&gt;
				// can get the selection only while the element is active (has the focus), we may not always get the selection.&lt;br /&gt;
				// Therefore, use an IE-specific synchronous event on IE...&lt;br /&gt;
				// Don't test for text.selectionStart being defined; FF3.6.4 raises an exception when trying to access that&lt;br /&gt;
				// property while the element is not being displayed.&lt;br /&gt;
				addEvent (text&lt;br /&gt;
					, (typeof text.onbeforedeactivate != 'undefined' &amp;amp;&amp;amp; text.createTextRange) ? 'beforedeactivate' : 'blur'&lt;br /&gt;
					, bind (this.saveView, this)&lt;br /&gt;
				);&lt;br /&gt;
				// DOM Level 3 IME handling&lt;br /&gt;
				try {&lt;br /&gt;
					// Setting lastKey = IME provides a fake keyDown for Gecko's single keyUp after a cmposition. If we didn't do this,&lt;br /&gt;
					// cancelling a composition via ESC would also cancel and close the whole category input editor.&lt;br /&gt;
					addEvent(text, 'compositionstart', function (evt) { self.lastKey = IME; self.usesComposition = true; self.ime = true; });&lt;br /&gt;
					addEvent(text, 'compositionend', function (evt) { self.lastKey = IME; self.usesComposition = true; self.ime = false; });&lt;br /&gt;
					addEvent(text, 'textInput', function (evt) { self.ime = false; self.invokeSuggestions(false); });&lt;br /&gt;
				} catch (any) {&lt;br /&gt;
					// Just in case some browsers might produce exceptions with these DOM Level 3 events&lt;br /&gt;
				}&lt;br /&gt;
				addEvent(text, 'blur', function (evt) { self.usesComposition = false; self.ime = false; });&lt;br /&gt;
			}&lt;br /&gt;
			this.text = text;&lt;br /&gt;
&lt;br /&gt;
			this.icon = make ('img');&lt;br /&gt;
&lt;br /&gt;
			var list = null;&lt;br /&gt;
			if (!noSuggestions) {&lt;br /&gt;
				list = make ('select');&lt;br /&gt;
				list.onclick    = function (e) { if (self.highlightSuggestion(0)) self.textchange (false, true); };&lt;br /&gt;
				list.ondblclick = function (e) { if (self.highlightSuggestion(0)) self.accept (e); };&lt;br /&gt;
				list.onchange = function (e) { self.highlightSuggestion(0); self.text.focus(); };&lt;br /&gt;
				list.onkeyup =&lt;br /&gt;
					function (evt) {&lt;br /&gt;
						evt = evt || window.event || window.Event; // W3C, IE, Netscape&lt;br /&gt;
						if (evt.keyCode === ESC) {&lt;br /&gt;
							self.resetKeySelection ();&lt;br /&gt;
							self.text.focus();&lt;br /&gt;
							window.setTimeout (function () {self.textchange (true);}, HotCat.suggest_delay);&lt;br /&gt;
						} else if (evt.keyCode === RET) {&lt;br /&gt;
							self.accept (evt);&lt;br /&gt;
						}&lt;br /&gt;
					};&lt;br /&gt;
				if (!HotCat.fixed_search) {&lt;br /&gt;
					var engineSelector = make ('select');&lt;br /&gt;
					for (var key in suggestionConfigs) {&lt;br /&gt;
						if (suggestionConfigs[key].show) {&lt;br /&gt;
							var opt = make ('option');&lt;br /&gt;
							opt.value = key;&lt;br /&gt;
							if (key == this.engine) opt.selected = true;&lt;br /&gt;
							opt.appendChild (make (suggestionConfigs[key].name, true));&lt;br /&gt;
							engineSelector.appendChild (opt);&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					engineSelector.onchange =&lt;br /&gt;
						function () {&lt;br /&gt;
							self.engine = self.engineSelector.options[self.engineSelector.selectedIndex].value;&lt;br /&gt;
							self.text.focus();&lt;br /&gt;
							self.textchange (true, true); // Don't autocomplete, force re-display of list&lt;br /&gt;
						};&lt;br /&gt;
					this.engineSelector = engineSelector;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			this.list = list;&lt;br /&gt;
&lt;br /&gt;
			function button_label (id, defaultText) {&lt;br /&gt;
				var label = null;&lt;br /&gt;
				if (   onUpload&lt;br /&gt;
					&amp;amp;&amp;amp; typeof UFUI != 'undefined'&lt;br /&gt;
					&amp;amp;&amp;amp; typeof UIElements != 'undefined'&lt;br /&gt;
					&amp;amp;&amp;amp; typeof UFUI.getLabel == 'function')&lt;br /&gt;
				{&lt;br /&gt;
					try {&lt;br /&gt;
						label = UFUI.getLabel (id, true);&lt;br /&gt;
						// Extract the plain text. IE doesn't know that Node.TEXT_NODE === 3&lt;br /&gt;
						while (label &amp;amp;&amp;amp; label.nodeType != 3) label = label.firstChild;&lt;br /&gt;
					} catch (ex) {&lt;br /&gt;
						label = null;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				if (!label || !label.data) return defaultText;&lt;br /&gt;
				return label.data;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			// Do not use type 'submit'; we cannot detect modifier keys if we do&lt;br /&gt;
			var OK = make ('input'); OK.type = 'button';&lt;br /&gt;
			OK.value = button_label ('wpOkUploadLbl', HotCat.messages.ok);&lt;br /&gt;
			OK.onclick = bind (this.accept, this);&lt;br /&gt;
			this.ok = OK;&lt;br /&gt;
&lt;br /&gt;
			var cancel = make ('input'); cancel.type = 'button';&lt;br /&gt;
			cancel.value = button_label ('wpCancelUploadLbl', HotCat.messages.cancel);&lt;br /&gt;
			cancel.onclick = bind (this.cancel, this);&lt;br /&gt;
			this.cancelButton = cancel;&lt;br /&gt;
&lt;br /&gt;
			var span = make ('span');&lt;br /&gt;
			span.className = 'hotcatinput';&lt;br /&gt;
			span.style.position = 'relative';&lt;br /&gt;
			// FF3.6: add the input field first, then the two absolutely positioned elements. Otherwise, FF3.6 may leave the&lt;br /&gt;
			// suggestions and the selector at the right edge of the screen if display of the input field causes a re-layout&lt;br /&gt;
			// moving the form to the front of the next line.&lt;br /&gt;
			span.appendChild (text);&lt;br /&gt;
&lt;br /&gt;
			// IE8/IE9: put some text into this span (a0 is nbsp) and make sure it always stays on the&lt;br /&gt;
			// same line as the input field, otherwise, IE8/9 miscalculates the height of the span and&lt;br /&gt;
			// then the engine selector may overlap the input field.&lt;br /&gt;
			span.appendChild (make ('\xa0', true));&lt;br /&gt;
			span.style.whiteSpace = 'nowrap';&lt;br /&gt;
&lt;br /&gt;
			if (list) span.appendChild (list);&lt;br /&gt;
			if (this.engineSelector) span.appendChild (this.engineSelector);&lt;br /&gt;
			if (!noSuggestions) span.appendChild (this.icon);&lt;br /&gt;
			span.appendChild (OK);&lt;br /&gt;
			span.appendChild (cancel);&lt;br /&gt;
			form.appendChild(span);&lt;br /&gt;
			form.style.display = 'none';&lt;br /&gt;
			this.span.appendChild (form);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		display : function (evt) {&lt;br /&gt;
			if (this.isAddCategory &amp;amp;&amp;amp; !onUpload) {&lt;br /&gt;
				var newAdder = new CategoryEditor (this.line, null, this.span, true); // Create a new one&lt;br /&gt;
			}&lt;br /&gt;
			if (!commitButton &amp;amp;&amp;amp; !onUpload) {&lt;br /&gt;
				for (var i = 0; i &amp;lt; editors.length; i++) {&lt;br /&gt;
					if (editors[i].state != CategoryEditor.UNCHANGED) {&lt;br /&gt;
						setMultiInput();&lt;br /&gt;
						break;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			if (!this.form) {&lt;br /&gt;
				this.makeForm ();&lt;br /&gt;
			}&lt;br /&gt;
			if (this.list) this.list.style.display = 'none';&lt;br /&gt;
			if (this.engineSelector) this.engineSelector.style.display = 'none';&lt;br /&gt;
			this.currentCategory = this.lastSavedCategory;&lt;br /&gt;
			this.currentExists   = this.lastSavedExists;&lt;br /&gt;
			this.currentHidden   = this.lastSavedHidden;&lt;br /&gt;
			this.currentKey      = this.lastSavedKey;&lt;br /&gt;
			this.icon.src = armorUri(this.currentExists ? HotCat.existsYes : HotCat.existsNo);&lt;br /&gt;
			this.text.value = this.currentCategory + (this.currentKey !== null ? '|' + this.currentKey : &amp;quot;&amp;quot;);&lt;br /&gt;
			this.originalState = this.state;&lt;br /&gt;
			this.lastInput     = this.currentCategory;&lt;br /&gt;
			this.inputExists   = this.currentExists;&lt;br /&gt;
			this.state         = this.state == CategoryEditor.UNCHANGED ? CategoryEditor.OPEN : CategoryEditor.CHANGE_PENDING;&lt;br /&gt;
			this.lastSelection = {start: this.currentCategory.length, end: this.currentCategory.length};&lt;br /&gt;
			this.showsList = false;&lt;br /&gt;
			// Display the form&lt;br /&gt;
			if (this.catLink) this.catLink.style.display = 'none';&lt;br /&gt;
			this.linkSpan.style.display = 'none';&lt;br /&gt;
			this.form.style.display = 'inline';&lt;br /&gt;
			this.ok.disabled = false;&lt;br /&gt;
			// Kill the event before focussing, otherwise IE will kill the onfocus event!&lt;br /&gt;
			var result = evtKill (evt);&lt;br /&gt;
			this.text.focus();&lt;br /&gt;
			this.text.readOnly = false;&lt;br /&gt;
			checkMultiInput ();&lt;br /&gt;
			return result;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		show : function (evt, engine, readOnly) {&lt;br /&gt;
			var result = this.display (evt);&lt;br /&gt;
			var v = this.lastSavedCategory;&lt;br /&gt;
			if (v.length === 0) return result;&lt;br /&gt;
			this.text.readOnly = !!readOnly;&lt;br /&gt;
			this.engine = engine;&lt;br /&gt;
			this.textchange (false, true); // do autocompletion, force display of suggestions&lt;br /&gt;
			forceRedraw ();&lt;br /&gt;
			return result;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		open : function (evt) {&lt;br /&gt;
			return this.show (evt, (this.engine &amp;amp;&amp;amp; suggestionConfigs[this.engine].temp) ? HotCat.suggestions : this.engine);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		down : function (evt) {&lt;br /&gt;
			return this.show (evt, 'subcat', true);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		up : function (evt) {&lt;br /&gt;
			return this.show (evt, 'parentcat');&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		cancel : function () {&lt;br /&gt;
			if (this.isAddCategory &amp;amp;&amp;amp; !onUpload) {&lt;br /&gt;
				this.removeEditor(); // We added a new adder when opening&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			// Close, re-display link&lt;br /&gt;
			this.inactivate();&lt;br /&gt;
			this.form.style.display = 'none';&lt;br /&gt;
			if (this.catLink) this.catLink.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
			this.linkSpan.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
			this.state = this.originalState;&lt;br /&gt;
			this.currentCategory = this.lastSavedCategory;&lt;br /&gt;
			this.currentKey      = this.lastSavedKey;&lt;br /&gt;
			this.currentExists   = this.lastSavedExists;&lt;br /&gt;
			this.currentHidden   = this.lastSavedHidden;&lt;br /&gt;
			if (this.catLink) {&lt;br /&gt;
				if (this.currentKey &amp;amp;&amp;amp; this.currentKey.length &amp;gt; 0) {&lt;br /&gt;
					this.catLink.title = this.currentKey;&lt;br /&gt;
				} else {&lt;br /&gt;
					this.catLink.title = &amp;quot;&amp;quot;;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			if (this.state == CategoryEditor.UNCHANGED) {&lt;br /&gt;
				if (this.catLink) this.catLink.style.backgroundColor = 'transparent';&lt;br /&gt;
			} else {&lt;br /&gt;
				if (!onUpload) {&lt;br /&gt;
					try {&lt;br /&gt;
						this.catLink.style.backgroundColor = HotCat.bg_changed;&lt;br /&gt;
					} catch (ex) {}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			checkMultiInput ();&lt;br /&gt;
			forceRedraw ();&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		removeEditor : function () {&lt;br /&gt;
			if (!newDOM) {&lt;br /&gt;
				var next = this.span.nextSibling;&lt;br /&gt;
				if (next) next.parentNode.removeChild (next);&lt;br /&gt;
			}&lt;br /&gt;
			this.span.parentNode.removeChild (this.span);&lt;br /&gt;
			for (var i = 0; i &amp;lt; editors.length; i++) {&lt;br /&gt;
				if (editors[i] == this) {&lt;br /&gt;
					editors.splice (i, 1);&lt;br /&gt;
					break;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			checkMultiInput ();&lt;br /&gt;
			var self = this;&lt;br /&gt;
			window.setTimeout (function () {delete self;}, 10);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		rollback : function (evt) {&lt;br /&gt;
			this.undoLink.parentNode.removeChild (this.undoLink);&lt;br /&gt;
			this.undoLink = null;&lt;br /&gt;
			this.currentCategory = this.originalCategory;&lt;br /&gt;
			this.currentKey = this.originalKey;&lt;br /&gt;
			this.currentExists = this.originalExists;&lt;br /&gt;
			this.currentHidden = this.originalHidden;&lt;br /&gt;
			this.lastSavedCategory = this.originalCategory;&lt;br /&gt;
			this.lastSavedKey = this.originalKey;&lt;br /&gt;
			this.lastSavedExists = this.originalExists;&lt;br /&gt;
			this.lastSavedHidden = this.originalHidden;&lt;br /&gt;
			this.state = CategoryEditor.UNCHANGED;&lt;br /&gt;
			if (!this.currentCategory || this.currentCategory.length === 0) {&lt;br /&gt;
				// It was a newly added category. Remove the whole editor.&lt;br /&gt;
				this.removeEditor();&lt;br /&gt;
			} else {&lt;br /&gt;
				// Redisplay the link...&lt;br /&gt;
				this.catLink.removeChild (this.catLink.firstChild);&lt;br /&gt;
				this.catLink.appendChild (make (this.currentCategory, true));&lt;br /&gt;
				this.catLink.href = wikiPagePath (HotCat.category_canonical + ':' + this.currentCategory);&lt;br /&gt;
				this.catLink.title = this.currentKey || &amp;quot;&amp;quot;;&lt;br /&gt;
				this.catLink.className = this.currentExists ? &amp;quot;&amp;quot; : 'new';&lt;br /&gt;
				this.catLink.style.backgroundColor = 'transparent';&lt;br /&gt;
				if (this.upDownLinks) this.upDownLinks.style.display = this.currentExists ? &amp;quot;&amp;quot; : 'none';&lt;br /&gt;
				checkMultiInput ();&lt;br /&gt;
			}&lt;br /&gt;
			return evtKill (evt);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		inactivate : function () {&lt;br /&gt;
			if (this.list) this.list.style.display = 'none';&lt;br /&gt;
			if (this.engineSelector) this.engineSelector.style.display = 'none';&lt;br /&gt;
			this.is_active = false;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		acceptCheck : function (dontCheck) {&lt;br /&gt;
			this.sanitizeInput ();&lt;br /&gt;
			var value = this.text.value.split('|');&lt;br /&gt;
			var key   = null;&lt;br /&gt;
			if (value.length &amp;gt; 1) key = value[1];&lt;br /&gt;
			var v = value[0].replace(/_/g, ' ').replace(/^\s+|\s+$/g, &amp;quot;&amp;quot;);&lt;br /&gt;
			if (HotCat.capitalizePageNames) v = capitalize (v);&lt;br /&gt;
			this.lastInput = v;&lt;br /&gt;
			v = replaceShortcuts(v, HotCat.shortcuts);&lt;br /&gt;
			if (v.length === 0) {&lt;br /&gt;
				this.cancel ();&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
			if (!dontCheck&lt;br /&gt;
				&amp;amp;&amp;amp; (   conf.wgNamespaceNumber === 14 &amp;amp;&amp;amp; v == conf.wgTitle&lt;br /&gt;
					|| HotCat.blacklist &amp;amp;&amp;amp; HotCat.blacklist.test(v))&lt;br /&gt;
			   )&lt;br /&gt;
			{&lt;br /&gt;
				this.cancel ();&lt;br /&gt;
				return false;&lt;br /&gt;
			}&lt;br /&gt;
			this.currentCategory = v;&lt;br /&gt;
			this.currentKey = key;&lt;br /&gt;
			this.currentExists = this.inputExists;&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		accept : function (evt) {&lt;br /&gt;
			this.noCommit = (evtKeys (evt) &amp;amp; 1) !== 0;&lt;br /&gt;
			var result = evtKill (evt);&lt;br /&gt;
			if (this.acceptCheck ()) {&lt;br /&gt;
				var toResolve = [this];&lt;br /&gt;
				var original  = this.currentCategory;&lt;br /&gt;
				resolveMulti (&lt;br /&gt;
					 toResolve&lt;br /&gt;
					,function (resolved) {&lt;br /&gt;
						if (resolved[0].dab) {&lt;br /&gt;
							showDab (resolved[0]);&lt;br /&gt;
						} else {&lt;br /&gt;
							if (resolved[0].acceptCheck(true)) {&lt;br /&gt;
								resolved[0].commit (&lt;br /&gt;
									(resolved[0].currentCategory != original)&lt;br /&gt;
										? HotCat.messages.cat_resolved.replace (/\$1/g, original)&lt;br /&gt;
										: null&lt;br /&gt;
								);&lt;br /&gt;
							}&lt;br /&gt;
						}&lt;br /&gt;
					 }&lt;br /&gt;
				);&lt;br /&gt;
			}&lt;br /&gt;
			return result;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		close : function () {&lt;br /&gt;
			if (!this.catLink) {&lt;br /&gt;
				// Create a catLink&lt;br /&gt;
				this.catLink = make ('a');&lt;br /&gt;
				this.catLink.appendChild (make ('foo', true));&lt;br /&gt;
				this.catLink.style.display = 'none';&lt;br /&gt;
				this.span.insertBefore (this.catLink, this.span.firstChild.nextSibling);&lt;br /&gt;
			}&lt;br /&gt;
			this.catLink.removeChild (this.catLink.firstChild);&lt;br /&gt;
			this.catLink.appendChild (make (this.currentCategory, true));&lt;br /&gt;
			this.catLink.href = wikiPagePath (HotCat.category_canonical + ':' + this.currentCategory);&lt;br /&gt;
			this.catLink.className = this.currentExists ? &amp;quot;&amp;quot; : 'new';&lt;br /&gt;
			this.lastSavedCategory = this.currentCategory;&lt;br /&gt;
			this.lastSavedKey      = this.currentKey;&lt;br /&gt;
			this.lastSavedExists   = this.currentExists;&lt;br /&gt;
			this.lastSavedHidden   = this.currentHidden;&lt;br /&gt;
			// Close form and redisplay category&lt;br /&gt;
			this.inactivate();&lt;br /&gt;
			this.form.style.display = 'none';&lt;br /&gt;
			this.catLink.title = this.currentKey || &amp;quot;&amp;quot;;&lt;br /&gt;
			this.catLink.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
			if (this.isAddCategory) {&lt;br /&gt;
				if (onUpload) {&lt;br /&gt;
					var newAdder = new CategoryEditor (this.line, null, this.span, true); // Create a new one&lt;br /&gt;
				}&lt;br /&gt;
				this.isAddCategory = false;&lt;br /&gt;
				this.linkSpan.parentNode.removeChild (this.linkSpan);&lt;br /&gt;
				this.makeLinkSpan ();&lt;br /&gt;
				this.span.appendChild (this.linkSpan);&lt;br /&gt;
			}&lt;br /&gt;
			if (!this.undoLink) {&lt;br /&gt;
				// Append an undo link.&lt;br /&gt;
				var span = make ('span');&lt;br /&gt;
				var lk = make ('a'); lk.href = '#catlinks'; lk.onclick = bind (this.rollback, this);&lt;br /&gt;
				lk.appendChild (make (HotCat.links.undo, true)); lk.title = HotCat.tooltips.undo;&lt;br /&gt;
				span.appendChild (make (' ', true));&lt;br /&gt;
				span.appendChild (lk);&lt;br /&gt;
				this.normalLinks.appendChild (span);&lt;br /&gt;
				this.undoLink = span;&lt;br /&gt;
				if (!onUpload) {&lt;br /&gt;
					try {&lt;br /&gt;
						this.catLink.style.backgroundColor = HotCat.bg_changed;&lt;br /&gt;
					} catch (ex) {}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			if (this.upDownLinks) this.upDownLinks.style.display = this.lastSavedExists ? &amp;quot;&amp;quot; : 'none';&lt;br /&gt;
			this.linkSpan.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
			this.state = CategoryEditor.CHANGED;&lt;br /&gt;
			checkMultiInput ();&lt;br /&gt;
			forceRedraw ();&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		commit : function (comment) {&lt;br /&gt;
			// Check again to catch problem cases after redirect resolution&lt;br /&gt;
			if (   (   this.currentCategory == this.originalCategory&lt;br /&gt;
					&amp;amp;&amp;amp; (this.currentKey == this.originalKey&lt;br /&gt;
						|| this.currentKey === null &amp;amp;&amp;amp; this.originalKey.length === 0&lt;br /&gt;
					   )&lt;br /&gt;
				   )&lt;br /&gt;
				|| conf.wgNamespaceNumber == 14 &amp;amp;&amp;amp; this.currentCategory == conf.wgTitle&lt;br /&gt;
				|| HotCat.blacklist &amp;amp;&amp;amp; HotCat.blacklist.test (this.currentCategory)&lt;br /&gt;
			   )&lt;br /&gt;
			{&lt;br /&gt;
				this.cancel ();&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			if (commitButton || onUpload) {&lt;br /&gt;
				this.close ();&lt;br /&gt;
			} else {&lt;br /&gt;
				this.close ();&lt;br /&gt;
				var self = this;&lt;br /&gt;
				initiateEdit (function (failure) {performChanges (failure, self);}, function (msg) {alert (msg);});&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		remove : function (evt) {&lt;br /&gt;
			this.doRemove (evtKeys (evt) &amp;amp; 1);&lt;br /&gt;
			return evtKill (evt);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		doRemove : function (noCommit) {&lt;br /&gt;
			if (this.isAddCategory) { // Empty input on adding a new category&lt;br /&gt;
				this.cancel ();&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			if (!commitButton &amp;amp;&amp;amp; !onUpload) {&lt;br /&gt;
				for (var i = 0; i &amp;lt; editors.length; i++) {&lt;br /&gt;
					if (editors[i].state != CategoryEditor.UNCHANGED) {&lt;br /&gt;
						setMultiInput();&lt;br /&gt;
						break;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			if (commitButton) {&lt;br /&gt;
				this.catLink.title = &amp;quot;&amp;quot;;&lt;br /&gt;
				this.catLink.style.cssText += '; text-decoration : line-through !important;';&lt;br /&gt;
				try {&lt;br /&gt;
					this.catLink.style.backgroundColor = HotCat.bg_changed;&lt;br /&gt;
				} catch (ex) {}&lt;br /&gt;
				this.originalState = this.state;&lt;br /&gt;
				this.state = CategoryEditor.DELETED;&lt;br /&gt;
				this.normalLinks.style.display = 'none';&lt;br /&gt;
				this.undelLink.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
				checkMultiInput ();&lt;br /&gt;
			} else {&lt;br /&gt;
				if (onUpload) {&lt;br /&gt;
					// Remove this editor completely&lt;br /&gt;
					this.removeEditor ();&lt;br /&gt;
				} else {&lt;br /&gt;
					this.originalState = this.state;&lt;br /&gt;
					this.state = CategoryEditor.DELETED;&lt;br /&gt;
					this.noCommit = noCommit || HotCat.del_needs_diff;&lt;br /&gt;
					var self = this;&lt;br /&gt;
					initiateEdit (function (failure) {performChanges (failure, self);}, function (msg) {self.state = self.originalState; alert (msg);});&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		restore : function (evt) {&lt;br /&gt;
			// Can occur only if we do have a commit button and are not on the upload form&lt;br /&gt;
			this.catLink.title = this.currentKey || &amp;quot;&amp;quot;;&lt;br /&gt;
			this.catLink.style.textDecoration = &amp;quot;&amp;quot;;&lt;br /&gt;
			this.state = this.originalState;&lt;br /&gt;
			if (this.state == CategoryEditor.UNCHANGED) {&lt;br /&gt;
				this.catLink.style.backgroundColor = 'transparent';&lt;br /&gt;
			} else {&lt;br /&gt;
				try {&lt;br /&gt;
					this.catLink.style.backgroundColor = HotCat.bg_changed;&lt;br /&gt;
				} catch (ex) {}&lt;br /&gt;
			}&lt;br /&gt;
			this.normalLinks.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
			this.undelLink.style.display = 'none';&lt;br /&gt;
			checkMultiInput ();&lt;br /&gt;
			return evtKill (evt);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		// Internal operations&lt;br /&gt;
&lt;br /&gt;
		selectEngine : function (engineName) {&lt;br /&gt;
			if (!this.engineSelector) return;&lt;br /&gt;
			for (var i = 0; i &amp;lt; this.engineSelector.options.length; i++) {&lt;br /&gt;
				this.engineSelector.options[i].selected = this.engineSelector.options[i].value == engineName;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		sanitizeInput : function () {&lt;br /&gt;
			var v = this.text.value || &amp;quot;&amp;quot;;&lt;br /&gt;
			v = v.replace(/^(\s|_)+/, &amp;quot;&amp;quot;); // Trim leading blanks and underscores&lt;br /&gt;
			var re = new RegExp ('^(' + HotCat.category_regexp + '):');&lt;br /&gt;
			if (re.test (v)) {&lt;br /&gt;
				v = v.substring (v.indexOf (':') + 1).replace(/^(\s|_)+/, &amp;quot;&amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			if (HotCat.capitalizePageNames) v = capitalize (v);&lt;br /&gt;
			// Only update the input field if there is a difference. IE8 appears to reset the selection&lt;br /&gt;
			// and place the cursor at the front upon reset, which makes our autocompletetion become a&lt;br /&gt;
			// nuisance. FF and IE6 don't seem to have this problem.&lt;br /&gt;
			if (this.text.value !== null &amp;amp;&amp;amp; this.text.value != v)&lt;br /&gt;
				this.text.value = v;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		makeCall : function (url, callbackObj, engine, queryKey, cleanKey) {&lt;br /&gt;
			var cb = callbackObj;&lt;br /&gt;
			var e  = engine;&lt;br /&gt;
			var v  = queryKey;&lt;br /&gt;
			var z  = cleanKey;&lt;br /&gt;
			var thisObj = this;&lt;br /&gt;
&lt;br /&gt;
			function done () {&lt;br /&gt;
				cb.callsMade++;&lt;br /&gt;
				if (cb.callsMade === cb.nofCalls) {&lt;br /&gt;
					if (cb.exists) cb.allTitles.exists = true;&lt;br /&gt;
					if (cb.normalized) cb.allTitles.normalized = cb.normalized;&lt;br /&gt;
					if (!cb.dontCache &amp;amp;&amp;amp; !suggestionConfigs[cb.engineName].cache[z]) {&lt;br /&gt;
						suggestionConfigs[cb.engineName].cache[z] = cb.allTitles;&lt;br /&gt;
					}&lt;br /&gt;
					thisObj.text.readOnly = false;&lt;br /&gt;
					if (!cb.cancelled) thisObj.showSuggestions (cb.allTitles, cb.noCompletion, v, cb.engineName);&lt;br /&gt;
					if (cb === thisObj.callbackObj) thisObj.callbackObj = null;&lt;br /&gt;
					delete cb;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			getJSON ({&lt;br /&gt;
			  uri : url&lt;br /&gt;
			 ,success : function (json) {&lt;br /&gt;
				var titles = e.handler (json, z);&lt;br /&gt;
				if (titles &amp;amp;&amp;amp; titles.length &amp;gt; 0) {&lt;br /&gt;
					if (cb.allTitles === null) {&lt;br /&gt;
						cb.allTitles = titles;&lt;br /&gt;
					} else {&lt;br /&gt;
						cb.allTitles = cb.allTitles.concat (titles);&lt;br /&gt;
					}&lt;br /&gt;
					if (titles.exists) cb.exists = true;&lt;br /&gt;
					if (titles.normalized) cb.normalized = titles.normalized;&lt;br /&gt;
				}&lt;br /&gt;
				done();&lt;br /&gt;
			  }&lt;br /&gt;
			 ,error : function (req) {if (!req) noSuggestions = true; cb.dontCache = true; done(); }&lt;br /&gt;
			});&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		callbackObj : null,&lt;br /&gt;
&lt;br /&gt;
		textchange : function (dont_autocomplete, force) {&lt;br /&gt;
			// Hide all other lists&lt;br /&gt;
			makeActive (this);&lt;br /&gt;
			// Get input value, omit sort key, if any&lt;br /&gt;
			this.sanitizeInput ();&lt;br /&gt;
			var v = this.text.value;&lt;br /&gt;
			// Disregard anything after a pipe.&lt;br /&gt;
			var pipe = v.indexOf ('|');&lt;br /&gt;
			if (pipe &amp;gt;= 0) {&lt;br /&gt;
				this.currentKey = v.substring (pipe+1);&lt;br /&gt;
				v = v.substring (0, pipe);&lt;br /&gt;
			} else {&lt;br /&gt;
				this.currentKey = null;&lt;br /&gt;
			}&lt;br /&gt;
			if (this.lastInput == v &amp;amp;&amp;amp; !force) return; // No change&lt;br /&gt;
			if (this.lastInput != v) checkMultiInput ();&lt;br /&gt;
			this.lastInput = v;&lt;br /&gt;
			this.lastRealInput = v;&lt;br /&gt;
&lt;br /&gt;
			// Mark blacklisted inputs.&lt;br /&gt;
			this.ok.disabled = v.length &amp;gt; 0 &amp;amp;&amp;amp; HotCat.blacklist &amp;amp;&amp;amp; HotCat.blacklist.test (v);&lt;br /&gt;
&lt;br /&gt;
			if (noSuggestions) {&lt;br /&gt;
				// No Ajax: just make sure the list is hidden&lt;br /&gt;
				if (this.list) this.list.style.display = 'none';&lt;br /&gt;
				if (this.engineSelector) this.engineSelector.style.display = 'none';&lt;br /&gt;
				if (this.icon) this.icon.style.display = 'none';&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if (v.length === 0) { this.showSuggestions([]); return; }&lt;br /&gt;
			var cleanKey = v.replace(/[\u200E\u200F\u202A-\u202E]/g, &amp;quot;&amp;quot;).replace(wikiTextBlankRE, ' ');&lt;br /&gt;
			cleanKey = replaceShortcuts(cleanKey, HotCat.shortcuts);&lt;br /&gt;
			cleanKey = cleanKey.replace(/^\s+|\s+$/g, '');&lt;br /&gt;
			if (cleanKey.length === 0) { this.showSuggestions([]); return; }&lt;br /&gt;
&lt;br /&gt;
			if (this.callbackObj) this.callbackObj.cancelled = true;&lt;br /&gt;
			var engineName  = suggestionConfigs[this.engine] ? this.engine : 'combined';&lt;br /&gt;
&lt;br /&gt;
			dont_autocomplete = dont_autocomplete || suggestionConfigs[engineName].noCompletion;&lt;br /&gt;
			if (suggestionConfigs[engineName].cache[cleanKey]) {&lt;br /&gt;
				this.showSuggestions (suggestionConfigs[engineName].cache[cleanKey], dont_autocomplete, v, engineName);&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var engines = suggestionConfigs[engineName].engines;&lt;br /&gt;
			this.callbackObj =&lt;br /&gt;
				{allTitles: null, callsMade: 0, nofCalls: engines.length, noCompletion: dont_autocomplete, engineName: engineName};&lt;br /&gt;
			this.makeCalls (engines, this.callbackObj, v, cleanKey);&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		makeCalls : function (engines, cb, v, cleanKey) {&lt;br /&gt;
			for (var j = 0; j &amp;lt; engines.length; j++) {&lt;br /&gt;
				var engine = suggestionEngines[engines[j]];&lt;br /&gt;
				var url = conf.wgServer + conf.wgScriptPath + engine.uri.replace (/\$1/g, encodeURIComponent (cleanKey));&lt;br /&gt;
				this.makeCall (url, cb, engine, v, cleanKey);&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		showSuggestions : function (titles, dontAutocomplete, queryKey, engineName) {&lt;br /&gt;
			this.text.readOnly = false;&lt;br /&gt;
			this.dab = null;&lt;br /&gt;
			this.showsList = false;&lt;br /&gt;
			if (!this.list) return;&lt;br /&gt;
			if (noSuggestions) {&lt;br /&gt;
				if (this.list) this.list.style.display = 'none';&lt;br /&gt;
				if (this.engineSelector) this.engineSelector.style.display = 'none';&lt;br /&gt;
				if (this.icon) this.icon.style.display = 'none';&lt;br /&gt;
				this.inputExists = true; // Default...&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			this.engineName = engineName;&lt;br /&gt;
			if (engineName) {&lt;br /&gt;
				if (!this.engineSelector) this.engineName = null;&lt;br /&gt;
			} else {&lt;br /&gt;
				if (this.engineSelector) this.engineSelector.style.display = 'none';&lt;br /&gt;
			}&lt;br /&gt;
			if (queryKey) {&lt;br /&gt;
				if (this.lastInput.indexOf (queryKey) !== 0) return;&lt;br /&gt;
				if (this.lastQuery &amp;amp;&amp;amp; this.lastInput.indexOf (this.lastQuery) === 0 &amp;amp;&amp;amp; this.lastQuery.length &amp;gt; queryKey.length)&lt;br /&gt;
					return;&lt;br /&gt;
			}&lt;br /&gt;
			this.lastQuery = queryKey;&lt;br /&gt;
&lt;br /&gt;
			// Get current input text&lt;br /&gt;
			var v = this.text.value.split('|');&lt;br /&gt;
			var key = v.length &amp;gt; 1 ? '|' + v[1] : &amp;quot;&amp;quot;;&lt;br /&gt;
			v = (HotCat.capitalizePageNames ? capitalize (v[0]) : v[0]);&lt;br /&gt;
			var vNormalized = v;&lt;br /&gt;
			var knownToExist = titles &amp;amp;&amp;amp; titles.exists;&lt;br /&gt;
			var i;&lt;br /&gt;
			if (titles) {&lt;br /&gt;
				if (titles.normalized &amp;amp;&amp;amp; v.indexOf(queryKey) === 0) {&lt;br /&gt;
					// We got back a different normalization than what is in the input field&lt;br /&gt;
					vNormalized = titles.normalized + v.substring(queryKey.length);&lt;br /&gt;
				}&lt;br /&gt;
				var vLow = vNormalized.toLowerCase ();&lt;br /&gt;
				// Strip blacklisted categories&lt;br /&gt;
				if (HotCat.blacklist) {&lt;br /&gt;
					for (i = 0; i &amp;lt; titles.length; i++) {&lt;br /&gt;
						if (HotCat.blacklist.test (titles[i])) {&lt;br /&gt;
							titles.splice(i, 1);&lt;br /&gt;
							i--;&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				titles.sort (&lt;br /&gt;
					function (a, b) {&lt;br /&gt;
						if (a == b) return 0;&lt;br /&gt;
						if (a.indexOf (b) === 0) return 1; // a begins with b: a &amp;gt; b&lt;br /&gt;
						if (b.indexOf (a) === 0) return -1; // b begins with a: a &amp;lt; b&lt;br /&gt;
						// Opensearch may return stuff not beginning with the search prefix!&lt;br /&gt;
						var prefixMatchA = (a.indexOf (vNormalized) === 0 ? 1 : 0);&lt;br /&gt;
						var prefixMatchB = (b.indexOf (vNormalized) === 0 ? 1 : 0);&lt;br /&gt;
						if (prefixMatchA != prefixMatchB) return prefixMatchB - prefixMatchA;&lt;br /&gt;
						// Case-insensitive prefix match!&lt;br /&gt;
						var aLow = a.toLowerCase(), bLow = b.toLowerCase();&lt;br /&gt;
						prefixMatchA = (aLow.indexOf (vLow) === 0 ? 1 : 0);&lt;br /&gt;
						prefixMatchB = (bLow.indexOf (vLow) === 0 ? 1 : 0);&lt;br /&gt;
						if (prefixMatchA != prefixMatchB) return prefixMatchB - prefixMatchA;&lt;br /&gt;
						if (a &amp;lt; b) return -1;&lt;br /&gt;
						if (b &amp;lt; a) return 1;&lt;br /&gt;
						return 0;&lt;br /&gt;
					}&lt;br /&gt;
				);&lt;br /&gt;
				// Remove duplicates and self-references&lt;br /&gt;
				for (i = 0; i &amp;lt; titles.length; i++) {&lt;br /&gt;
					if (   i+1 &amp;lt; titles.length &amp;amp;&amp;amp; titles[i] == titles[i+1]&lt;br /&gt;
						|| conf.wgNamespaceNumber == 14 &amp;amp;&amp;amp; titles[i] == conf.wgTitle&lt;br /&gt;
					   )&lt;br /&gt;
					{&lt;br /&gt;
						titles.splice (i, 1);&lt;br /&gt;
						i--;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			if (!titles || titles.length === 0) {&lt;br /&gt;
				if (this.list) this.list.style.display = 'none';&lt;br /&gt;
				if (this.engineSelector) this.engineSelector.style.display = 'none';&lt;br /&gt;
				if (engineName &amp;amp;&amp;amp; suggestionConfigs[engineName] &amp;amp;&amp;amp; !suggestionConfigs[engineName].temp) {&lt;br /&gt;
					if (this.icon) this.icon.src = armorUri(HotCat.existsNo);&lt;br /&gt;
					this.inputExists = false;&lt;br /&gt;
				}&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var firstTitle = titles[0];&lt;br /&gt;
			var completed = this.autoComplete (firstTitle, v, vNormalized, key, dontAutocomplete);&lt;br /&gt;
			var existing = completed || knownToExist || firstTitle == replaceShortcuts(v, HotCat.shortcuts);&lt;br /&gt;
			if (engineName &amp;amp;&amp;amp; suggestionConfigs[engineName] &amp;amp;&amp;amp; !suggestionConfigs[engineName].temp) {&lt;br /&gt;
				this.icon.src = armorUri(existing ? HotCat.existsYes : HotCat.existsNo);&lt;br /&gt;
				this.inputExists = existing;&lt;br /&gt;
			}&lt;br /&gt;
			if (completed) {&lt;br /&gt;
				this.lastInput = firstTitle;&lt;br /&gt;
				if (titles.length === 1) {&lt;br /&gt;
					this.list.style.display = 'none';&lt;br /&gt;
					if (this.engineSelector) this.engineSelector.style.display = 'none';&lt;br /&gt;
					return;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			// (Re-)fill the list&lt;br /&gt;
			while (this.list.firstChild) this.list.removeChild (this.list.firstChild);&lt;br /&gt;
			for (i = 0 ; i &amp;lt; titles.length ; i++) {&lt;br /&gt;
				var opt = make ('option') ;&lt;br /&gt;
				opt.appendChild (make (titles[i], true));&lt;br /&gt;
				opt.selected = completed &amp;amp;&amp;amp; (i === 0);&lt;br /&gt;
				this.list.appendChild (opt);&lt;br /&gt;
			}&lt;br /&gt;
			this.displayList();&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		displayList : function () {&lt;br /&gt;
			this.showsList = true;&lt;br /&gt;
			if (!this.is_active) {&lt;br /&gt;
				this.list.style.display = 'none';&lt;br /&gt;
				if (this.engineSelector) this.engineSelector.style.display = 'none';&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			var nofItems = (this.list.options.length &amp;gt; HotCat.list_size ? HotCat.list_size : this.list.options.length);&lt;br /&gt;
			if (nofItems &amp;lt;= 1) nofItems = 2;&lt;br /&gt;
			this.list.size = nofItems;&lt;br /&gt;
			this.list.style.align    = is_rtl ? 'right' : 'left';&lt;br /&gt;
			this.list.style.zIndex   = 5;&lt;br /&gt;
			this.list.style.position = 'absolute';&lt;br /&gt;
			// Compute initial list position. First the height.&lt;br /&gt;
			var anchor = is_rtl ? 'right' : 'left';&lt;br /&gt;
			var listh = 0;&lt;br /&gt;
			if (this.list.style.display == 'none') {&lt;br /&gt;
				// Off-screen display to get the height&lt;br /&gt;
				this.list.style.top = this.text.offsetTop + 'px';&lt;br /&gt;
				this.list.style[anchor] = '-10000px';&lt;br /&gt;
				this.list.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
				listh = this.list.offsetHeight;&lt;br /&gt;
				this.list.style.display = 'none';&lt;br /&gt;
			} else {&lt;br /&gt;
				listh = this.list.offsetHeight;&lt;br /&gt;
			}&lt;br /&gt;
			// Approximate calculation of maximum list size&lt;br /&gt;
			var maxListHeight = listh;&lt;br /&gt;
			if (nofItems &amp;lt; HotCat.list_size) maxListHeight = (listh / nofItems) * HotCat.list_size;&lt;br /&gt;
&lt;br /&gt;
			function viewport (what) {&lt;br /&gt;
				if (is_webkit &amp;amp;&amp;amp; !document.evaluate)&lt;br /&gt;
					return window['inner' + what]; // Safari &amp;lt; 3.0&lt;br /&gt;
				var s = 'client' + what;&lt;br /&gt;
				if (window.opera) return document.body[s];&lt;br /&gt;
				return (document.documentElement ? document.documentElement[s] : 0)&lt;br /&gt;
					|| document.body[s] || 0;&lt;br /&gt;
			}&lt;br /&gt;
			function scroll_offset (what) {&lt;br /&gt;
				var s = 'scroll' + what;&lt;br /&gt;
				var result = (document.documentElement ? document.documentElement[s] : 0)&lt;br /&gt;
							|| document.body[s] || 0;&lt;br /&gt;
				if (is_rtl &amp;amp;&amp;amp; what == 'Left') {&lt;br /&gt;
					// RTL inconsistencies.&lt;br /&gt;
					// FF: 0 at the far right, then increasingly negative values.&lt;br /&gt;
					// IE &amp;gt;= 8: 0 at the far right, then increasingly positive values.&lt;br /&gt;
					// Webkit: scrollWidth - clientWidth at the far right, then down to zero.&lt;br /&gt;
					// IE 7: like webkit; IE6: disabled in RTL anyway since too many problems.&lt;br /&gt;
					// Opera: don't know...&lt;br /&gt;
					if (result &amp;lt; 0) result = - result;&lt;br /&gt;
					if (!is_webkit &amp;amp;&amp;amp; !is_ie_lt8) {&lt;br /&gt;
						result = scroll_offset('Width') - viewport('Width') - result;&lt;br /&gt;
					}&lt;br /&gt;
					// Now all have webkit behavior, i.e. zero if at the leftmost edge.&lt;br /&gt;
				}&lt;br /&gt;
				return result;&lt;br /&gt;
			}&lt;br /&gt;
			function position (node) {&lt;br /&gt;
				// Stripped-down simplified position function. It's good enough for our purposes.&lt;br /&gt;
				if (node.getBoundingClientRect) {&lt;br /&gt;
					var box    = node.getBoundingClientRect ();&lt;br /&gt;
					return { x : Math.round (box.left + scroll_offset ('Left'))&lt;br /&gt;
							,y : Math.round (box.top + scroll_offset ('Top'))&lt;br /&gt;
						   };&lt;br /&gt;
				}&lt;br /&gt;
				var t = 0, l = 0;&lt;br /&gt;
				do {&lt;br /&gt;
					t = t + (node.offsetTop  || 0);&lt;br /&gt;
					l = l + (node.offsetLeft || 0);&lt;br /&gt;
					node = node.offsetParent;&lt;br /&gt;
				} while (node);&lt;br /&gt;
				return {x : l, y : t};&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			var textPos = position (this.text);&lt;br /&gt;
			var nl = 0;&lt;br /&gt;
			var nt = 0;&lt;br /&gt;
			var offset = 0;&lt;br /&gt;
			// Opera 9.5 somehow has offsetWidth = 0 here?? Use the next best value...&lt;br /&gt;
			var textBoxWidth = this.text.offsetWidth || this.text.clientWidth;&lt;br /&gt;
			if (this.engineName) {&lt;br /&gt;
				this.engineSelector.style.zIndex = 5;&lt;br /&gt;
				this.engineSelector.style.position = 'absolute';&lt;br /&gt;
				this.engineSelector.style.width = textBoxWidth + 'px';&lt;br /&gt;
				// Figure out the height of this selector: display it off-screen, then hide it again.&lt;br /&gt;
				if (this.engineSelector.style.display == 'none') {&lt;br /&gt;
					this.engineSelector.style[anchor] = '-10000px';&lt;br /&gt;
					this.engineSelector.style.top = '0px';&lt;br /&gt;
					this.engineSelector.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
					offset = this.engineSelector.offsetHeight;&lt;br /&gt;
					this.engineSelector.style.display = 'none';&lt;br /&gt;
				} else {&lt;br /&gt;
					offset = this.engineSelector.offsetHeight;&lt;br /&gt;
				}&lt;br /&gt;
				this.engineSelector.style[anchor]  = nl + 'px';&lt;br /&gt;
			}&lt;br /&gt;
			if (textPos.y &amp;lt; maxListHeight + offset + 1) {&lt;br /&gt;
				// The list might extend beyond the upper border of the page. Let's avoid that by placing it&lt;br /&gt;
				// below the input text field.&lt;br /&gt;
				nt = this.text.offsetHeight + offset + 1;&lt;br /&gt;
				if (this.engineName) this.engineSelector.style.top = this.text.offsetHeight + 'px';&lt;br /&gt;
			} else {&lt;br /&gt;
				nt = - listh - offset - 1;&lt;br /&gt;
				if (this.engineName) this.engineSelector.style.top = - (offset + 1) + 'px';&lt;br /&gt;
			}&lt;br /&gt;
			this.list.style.top = nt + 'px';&lt;br /&gt;
			this.list.style.width = &amp;quot;&amp;quot;; // No fixed width (yet)&lt;br /&gt;
			this.list.style[anchor] = nl + 'px';&lt;br /&gt;
			if (this.engineName) {&lt;br /&gt;
				this.selectEngine (this.engineName);&lt;br /&gt;
				this.engineSelector.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
			}&lt;br /&gt;
			this.list.style.display = 'block';&lt;br /&gt;
			// Set the width of the list&lt;br /&gt;
			if (this.list.offsetWidth &amp;lt; textBoxWidth ) {&lt;br /&gt;
				this.list.style.width = textBoxWidth + 'px';&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			// If the list is wider than the textbox: make sure it fits horizontally into the browser window&lt;br /&gt;
			var scroll = scroll_offset ('Left');&lt;br /&gt;
			var view_w = viewport ('Width');&lt;br /&gt;
			var w      = this.list.offsetWidth;&lt;br /&gt;
			var l_pos  = position (this.list);&lt;br /&gt;
			var left   = l_pos.x;&lt;br /&gt;
			var right  = left + w;&lt;br /&gt;
			if (left &amp;lt; scroll || right &amp;gt; scroll + view_w) {&lt;br /&gt;
				if (w &amp;gt; view_w) {&lt;br /&gt;
					w = view_w;&lt;br /&gt;
					this.list.style.width = w + 'px';&lt;br /&gt;
					if (is_rtl) {&lt;br /&gt;
						left = right - w;&lt;br /&gt;
					} else {&lt;br /&gt;
						right = left + w;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				var relative_offset = 0;&lt;br /&gt;
				if (left &amp;lt; scroll) {&lt;br /&gt;
					relative_offset = scroll - left;&lt;br /&gt;
				} else if (right &amp;gt; scroll + view_w) {&lt;br /&gt;
					relative_offset = - (right - scroll - view_w);&lt;br /&gt;
				}&lt;br /&gt;
				if (is_rtl) relative_offset = - relative_offset;&lt;br /&gt;
				if (relative_offset !== 0) {&lt;br /&gt;
					this.list.style[anchor] = (nl + relative_offset) + 'px';&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		autoComplete : function (newVal, actVal, normalizedActVal, key, dontModify) {&lt;br /&gt;
			if (newVal == actVal) return true;&lt;br /&gt;
			if (dontModify || this.ime || !this.canSelect()) return false;&lt;br /&gt;
			// If we can't select properly or an IME composition is ongoing, autocompletion would be a major annoyance to the user.&lt;br /&gt;
			if (newVal.indexOf (actVal) !== 0) {&lt;br /&gt;
				// Maybe it'll work with the normalized value (NFC)?&lt;br /&gt;
				if (normalizedActVal &amp;amp;&amp;amp; newVal.indexOf(normalizedActVal) === 0) {&lt;br /&gt;
					if (this.lastRealInput == actVal) this.lastRealInput = normalizedActVal;&lt;br /&gt;
					actVal = normalizedActVal;&lt;br /&gt;
				} else {&lt;br /&gt;
					return false;&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			// Actual input is a prefix of the new text. Fill in new text, selecting the newly added suffix&lt;br /&gt;
			// such that it can be easily removed by typing backspace if the suggestion is unwanted.&lt;br /&gt;
			this.text.focus();&lt;br /&gt;
			this.text.value = newVal + key;&lt;br /&gt;
			this.setSelection (actVal.length, newVal.length);&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		canSelect : function () {&lt;br /&gt;
			return this.text.setSelectionRange&lt;br /&gt;
				|| this.text.createTextRange&lt;br /&gt;
				||    typeof this.text.selectionStart != 'undefined'&lt;br /&gt;
				   &amp;amp;&amp;amp; typeof this.text.selectionEnd != 'undefined';&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		setSelection : function (from, to) {&lt;br /&gt;
			// this.text must be focused (at least on IE)&lt;br /&gt;
			if (!this.text.value) return;&lt;br /&gt;
			if (this.text.setSelectionRange) {    // e.g. khtml&lt;br /&gt;
				this.text.setSelectionRange (from, to);&lt;br /&gt;
			} else if (typeof this.text.selectionStart != 'undefined') {&lt;br /&gt;
				if (from &amp;gt; this.text.selectionStart) {&lt;br /&gt;
					this.text.selectionEnd   = to;&lt;br /&gt;
					this.text.selectionStart = from;&lt;br /&gt;
				} else {&lt;br /&gt;
					this.text.selectionStart = from;&lt;br /&gt;
					this.text.selectionEnd   = to;&lt;br /&gt;
				}&lt;br /&gt;
			} else if (this.text.createTextRange) { // IE&lt;br /&gt;
				var new_selection = this.text.createTextRange();&lt;br /&gt;
				new_selection.move ('character', from);&lt;br /&gt;
				new_selection.moveEnd ('character', to - from);&lt;br /&gt;
				new_selection.select();&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		getSelection : function () {&lt;br /&gt;
			var from = 0, to = 0;&lt;br /&gt;
			// this.text must be focused (at least on IE)&lt;br /&gt;
			if (!this.text.value) {&lt;br /&gt;
				// No text.&lt;br /&gt;
			} else if (typeof this.text.selectionStart != 'undefined') {&lt;br /&gt;
				from = this.text.selectionStart;&lt;br /&gt;
				to   = this.text.selectionEnd;&lt;br /&gt;
			} else if (document.selection &amp;amp;&amp;amp; document.selection.createRange) { // IE&lt;br /&gt;
				var rng = document.selection.createRange().duplicate();&lt;br /&gt;
				if (rng.parentElement() === this.text) {&lt;br /&gt;
					try {&lt;br /&gt;
						var textRng = this.text.createTextRange();&lt;br /&gt;
						textRng.move('character', 0);&lt;br /&gt;
						textRng.setEndPoint('EndToEnd', rng);&lt;br /&gt;
						// We're in a single-line input box: no need to care about IE's strange&lt;br /&gt;
						// handling of line ends&lt;br /&gt;
						to = textRng.text.length;&lt;br /&gt;
						textRng.setEndPoint('EndToStart', rng);&lt;br /&gt;
						from = textRng.text.length;&lt;br /&gt;
					} catch (notFocused) {&lt;br /&gt;
						from = this.text.value.length; to = from; // At end of text&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			return {start: from, end: to};&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		saveView : function (evt) {&lt;br /&gt;
			this.lastSelection = this.getSelection ();&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		processKey : function (evt) {&lt;br /&gt;
			var dir = 0;&lt;br /&gt;
			switch (this.lastKey) {&lt;br /&gt;
				case UP: dir = -1;&lt;br /&gt;
				case DOWN: if (dir === 0) dir = 1; &lt;br /&gt;
				case PGUP: if (dir === 0) dir = -HotCat.list_size;&lt;br /&gt;
				case PGDOWN: if (dir === 0) dir = HotCat.list_size;&lt;br /&gt;
					if (this.list.style.display != 'none') {&lt;br /&gt;
						// List is visible, so there are suggestions&lt;br /&gt;
						this.highlightSuggestion (dir);&lt;br /&gt;
						// Kill the event, otherwise some browsers (e.g., Firefox) may additionally treat an up-arrow&lt;br /&gt;
						// as &amp;quot;place the text cursor at the front&amp;quot;, which we don't want here.&lt;br /&gt;
						return evtKill (evt);&lt;br /&gt;
					} else if (   this.keyCount &amp;lt;= 1&lt;br /&gt;
							   &amp;amp;&amp;amp; (!this.callbackObj || this.callbackObj.callsMade == this.callbackObj.nofCalls)&lt;br /&gt;
							  )&lt;br /&gt;
					{&lt;br /&gt;
						// If no suggestions displayed, get them, unless we're already getting them.&lt;br /&gt;
						this.textchange ();&lt;br /&gt;
					}&lt;br /&gt;
					break;&lt;br /&gt;
				case ESC: // Inhibit default behavior (revert to last real input in FF: we do that ourselves)&lt;br /&gt;
					return evtKill (evt);&lt;br /&gt;
			}&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		highlightSuggestion : function (dir) {&lt;br /&gt;
			if (noSuggestions || !this.list || this.list.style.display == 'none') return false;&lt;br /&gt;
			var curr = this.list.selectedIndex;&lt;br /&gt;
			var tgt  = -1;&lt;br /&gt;
			if (dir === 0) {&lt;br /&gt;
				if (curr &amp;lt; 0 || curr &amp;gt;= this.list.options.length) return false;&lt;br /&gt;
				tgt = curr;&lt;br /&gt;
			} else {&lt;br /&gt;
				tgt = curr &amp;lt; 0 ? 0 : curr + dir;&lt;br /&gt;
				tgt = tgt &amp;lt; 0 ? 0 : tgt;&lt;br /&gt;
				if (tgt &amp;gt;= this.list.options.length) tgt = this.list.options.length - 1;&lt;br /&gt;
			}&lt;br /&gt;
			if (tgt != curr || dir === 0) {&lt;br /&gt;
				if (curr &amp;gt;= 0 &amp;amp;&amp;amp; curr &amp;lt; this.list.options.length &amp;amp;&amp;amp; dir !== 0) this.list.options[curr].selected = false;&lt;br /&gt;
				this.list.options[tgt].selected = true;&lt;br /&gt;
				// Get current input text&lt;br /&gt;
				var v = this.text.value.split('|');&lt;br /&gt;
				var key = v.length &amp;gt; 1 ? '|' + v[1] : &amp;quot;&amp;quot;;&lt;br /&gt;
				var completed = this.autoComplete (this.list.options[tgt].text, this.lastRealInput, null, key, false);&lt;br /&gt;
				if (!completed || this.list.options[tgt].text == this.lastRealInput) {&lt;br /&gt;
					this.text.value = this.list.options[tgt].text + key;&lt;br /&gt;
					if (this.canSelect()) this.setSelection (this.list.options[tgt].text.length, this.list.options[tgt].text.length);&lt;br /&gt;
				}&lt;br /&gt;
				this.lastInput = this.list.options[tgt].text;&lt;br /&gt;
				this.inputExists = true; // Might be wrong if from a dab list...&lt;br /&gt;
				if (this.icon) this.icon.src = armorUri(HotCat.existsYes);&lt;br /&gt;
				this.state = CategoryEditor.CHANGE_PENDING;&lt;br /&gt;
			}&lt;br /&gt;
			return true;&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		resetKeySelection : function () {&lt;br /&gt;
			if (noSuggestions || !this.list || this.list.style.display == 'none') return false;&lt;br /&gt;
			var curr = this.list.selectedIndex;&lt;br /&gt;
			if (curr &amp;gt;= 0 &amp;amp;&amp;amp; curr &amp;lt; this.list.options.length) {&lt;br /&gt;
				this.list.options[curr].selected = false;&lt;br /&gt;
				// Get current input text&lt;br /&gt;
				var v = this.text.value.split('|');&lt;br /&gt;
				var key = v.length &amp;gt; 1 ? '|' + v[1] : &amp;quot;&amp;quot;;&lt;br /&gt;
				// ESC is handled strangely by some browsers (e.g., FF); somehow it resets the input value before&lt;br /&gt;
				// our event handlers ever get a chance to run.&lt;br /&gt;
				var result = v[0] != this.lastInput;&lt;br /&gt;
				if (v[0] != this.lastRealInput) {&lt;br /&gt;
					this.text.value = this.lastRealInput + key;&lt;br /&gt;
					result = true;&lt;br /&gt;
				}&lt;br /&gt;
				this.lastInput = this.lastRealInput;&lt;br /&gt;
				return result;&lt;br /&gt;
			}&lt;br /&gt;
			return false;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	}; // end CategoryEditor.prototype&lt;br /&gt;
&lt;br /&gt;
	function initialize () {&lt;br /&gt;
		// User configurations. Do this here, called from the onload handler, so that users can&lt;br /&gt;
		// override it easily in their own user script files by just declaring variables. JSconfig&lt;br /&gt;
		// is some feature used at Wikimedia Commons.&lt;br /&gt;
		var config = (typeof JSconfig != 'undefined' &amp;amp;&amp;amp; JSconfig.keys) ? JSconfig.keys : {};&lt;br /&gt;
		HotCat.dont_add_to_watchlist =&lt;br /&gt;
			(typeof window.hotcat_dont_add_to_watchlist != 'undefined'&lt;br /&gt;
				? !!window.hotcat_dont_add_to_watchlist&lt;br /&gt;
				: (typeof config.HotCatDontAddToWatchlist != 'undefined'&lt;br /&gt;
					? config.HotCatDontAddToWatchlist&lt;br /&gt;
					: HotCat.dont_add_to_watchlist&lt;br /&gt;
				  )&lt;br /&gt;
			);&lt;br /&gt;
		HotCat.no_autocommit =&lt;br /&gt;
			(typeof window.hotcat_no_autocommit != 'undefined'&lt;br /&gt;
				? !!window.hotcat_no_autocommit&lt;br /&gt;
				: (typeof config.HotCatNoAutoCommit != 'undefined'&lt;br /&gt;
					? config.HotCatNoAutoCommit&lt;br /&gt;
					: HotCat.no_autocommit&lt;br /&gt;
				  )&lt;br /&gt;
			);&lt;br /&gt;
		HotCat.del_needs_diff =&lt;br /&gt;
			(typeof window.hotcat_del_needs_diff != 'undefined'&lt;br /&gt;
				? !!window.hotcat_del_needs_diff&lt;br /&gt;
				: (typeof config.HotCatDelNeedsDiff != 'undefined'&lt;br /&gt;
					? config.HotCatDelNeedsDiff&lt;br /&gt;
					: HotCat.del_needs_diff&lt;br /&gt;
				  )&lt;br /&gt;
			);&lt;br /&gt;
		HotCat.suggest_delay = window.hotcat_suggestion_delay&lt;br /&gt;
							|| config['HotCatSuggestionDelay']&lt;br /&gt;
							|| HotCat.suggest_delay;&lt;br /&gt;
		HotCat.editbox_width = window.hotcat_editbox_width&lt;br /&gt;
							|| config['HotCatEditBoxWidth']&lt;br /&gt;
							|| HotCat.editbox_width;&lt;br /&gt;
		HotCat.suggestions   = window.hotcat_suggestions&lt;br /&gt;
							|| config['HotCatSuggestions']&lt;br /&gt;
							|| HotCat.suggestions;&lt;br /&gt;
		if (typeof HotCat.suggestions != 'string' || !suggestionConfigs[HotCat.suggestions])&lt;br /&gt;
			HotCat.suggestions = 'combined';&lt;br /&gt;
		HotCat.fixed_search  =&lt;br /&gt;
			(typeof window.hotcat_suggestions_fixed != 'undefined'&lt;br /&gt;
				? !!window.hotcat_suggestions_fixed&lt;br /&gt;
				: (typeof config.HotCatFixedSuggestions != 'undefined'&lt;br /&gt;
					? config.HotCatFixedSuggestions&lt;br /&gt;
					: HotCat.fixed_search&lt;br /&gt;
				  )&lt;br /&gt;
			);&lt;br /&gt;
		HotCat.single_minor =&lt;br /&gt;
			(typeof window.hotcat_single_changes_are_minor != 'undefined'&lt;br /&gt;
				? !!window.hotcat_single_changes_are_minor&lt;br /&gt;
				: (typeof config.HotCatMinorSingleChanges != 'undefined'&lt;br /&gt;
					? config.HotCatMinorSingleChanges&lt;br /&gt;
					: HotCat.single_minor&lt;br /&gt;
				  )&lt;br /&gt;
			);&lt;br /&gt;
		HotCat.bg_changed = window.hotcat_changed_background&lt;br /&gt;
							|| config.HotCatChangedBackground&lt;br /&gt;
							|| HotCat.bg_changed;&lt;br /&gt;
		HotCat.use_up_down =&lt;br /&gt;
			(typeof window.hotcat_use_category_links != 'undefined'&lt;br /&gt;
				? !!window.hotcat_use_category_links&lt;br /&gt;
				: (typeof config.HotCatUseCategoryLinks != 'undefined'&lt;br /&gt;
					? config.HotCatUseCategoryLinks&lt;br /&gt;
					: HotCat.use_up_down&lt;br /&gt;
				  )&lt;br /&gt;
			);&lt;br /&gt;
		HotCat.list_size = window.hotcat_list_size&lt;br /&gt;
							|| config.HotCatListSize&lt;br /&gt;
							|| HotCat.list_size;&lt;br /&gt;
		// Numeric input, make sure we have a numeric value&lt;br /&gt;
		HotCat.list_size = parseInt (HotCat.list_size, 10);&lt;br /&gt;
		if (isNaN (HotCat.list_size) || HotCat.list_size &amp;lt; 5) HotCat.list_size = 5;&lt;br /&gt;
		if (HotCat.list_size &amp;gt; 15) HotCat.list_size = 15;&lt;br /&gt;
		// Localize search engine names&lt;br /&gt;
		if (HotCat.engine_names) {&lt;br /&gt;
			for (var key in HotCat.engine_names) {&lt;br /&gt;
				if (suggestionConfigs[key] &amp;amp;&amp;amp; HotCat.engine_names[key]) {&lt;br /&gt;
					suggestionConfigs[key].name = HotCat.engine_names[key];&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		// Catch both native RTL and &amp;quot;faked&amp;quot; RTL through [[MediaWiki:Rtl.js]]&lt;br /&gt;
		is_rtl = hasClass (document.body, 'rtl');&lt;br /&gt;
		if (!is_rtl) {&lt;br /&gt;
			if (document.defaultView &amp;amp;&amp;amp; document.defaultView.getComputedStyle) { // Gecko etc.&lt;br /&gt;
				is_rtl = document.defaultView.getComputedStyle (document.body, null).getPropertyValue ('direction');&lt;br /&gt;
			} else if (document.body.currentStyle) { // IE, has subtle differences to getComputedStyle&lt;br /&gt;
				is_rtl = document.body.currentStyle['direction'];&lt;br /&gt;
			} else { // Not exactly right, but best effort&lt;br /&gt;
				is_rtl = document.body.style['direction'];&lt;br /&gt;
			}&lt;br /&gt;
			is_rtl = (is_rtl == 'rtl');&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function can_edit () {&lt;br /&gt;
		var container = null;&lt;br /&gt;
		switch (mw.config.get('skin')) {&lt;br /&gt;
			case 'cologneblue':&lt;br /&gt;
				container = document.getElementById ('quickbar');&lt;br /&gt;
				// Fall through&lt;br /&gt;
			case 'standard':&lt;br /&gt;
			case 'nostalgia':&lt;br /&gt;
				if (!container) container = document.getElementById ('topbar');&lt;br /&gt;
				var lks = container.getElementsByTagName ('a');&lt;br /&gt;
				for (var i = 0; i &amp;lt; lks.length; i++) {&lt;br /&gt;
					if (   param ('title', lks[i].href) == conf.wgPageName&lt;br /&gt;
						&amp;amp;&amp;amp; param ('action', lks[i].href) == 'edit')&lt;br /&gt;
						return true;&lt;br /&gt;
				}&lt;br /&gt;
				return false;&lt;br /&gt;
			default:&lt;br /&gt;
				// all modern skins:&lt;br /&gt;
				return document.getElementById ('ca-edit') !== null;&lt;br /&gt;
		}&lt;br /&gt;
		return false;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function setup_upload () {&lt;br /&gt;
		onUpload = true;&lt;br /&gt;
		// Add an empty category bar at the end of the table containing the description, and change the onsubmit handler.&lt;br /&gt;
		var ip = document.getElementById ('mw-htmlform-description') || document.getElementById ('wpDestFile');&lt;br /&gt;
		if (!ip) {&lt;br /&gt;
			ip = document.getElementById ('wpDestFile');&lt;br /&gt;
			while (ip &amp;amp;&amp;amp; ip.nodeName.toLowerCase() != 'table') ip = ip.parentNode;&lt;br /&gt;
		}&lt;br /&gt;
		if (!ip) return;&lt;br /&gt;
		var reupload = document.getElementById ('wpForReUpload');&lt;br /&gt;
		var destFile = document.getElementById ('wpDestFile');&lt;br /&gt;
		if (   (reupload &amp;amp;&amp;amp; !!reupload.value)&lt;br /&gt;
			|| (destFile &amp;amp;&amp;amp; (destFile.disabled || destFile.readOnly)))&lt;br /&gt;
			return; // re-upload form...&lt;br /&gt;
		// Insert a table row with two fields (label and empty category bar)&lt;br /&gt;
		var labelCell = make ('td');&lt;br /&gt;
		var lineCell  = make ('td');&lt;br /&gt;
		// Create the category line&lt;br /&gt;
		catLine = make ('div');&lt;br /&gt;
		catLine.className = 'catlinks';&lt;br /&gt;
		catLine.id = 'catlinks';&lt;br /&gt;
		catLine.style.textAlign = is_rtl ? 'right' : 'left';&lt;br /&gt;
		// We'll be inside a table row. Make sure that we don't have margins or strange borders.&lt;br /&gt;
		catLine.style.margin = '0';&lt;br /&gt;
		catLine.style.border = 'none';&lt;br /&gt;
		lineCell.appendChild (catLine);&lt;br /&gt;
		// Create the label&lt;br /&gt;
		var label = null;&lt;br /&gt;
		if (   typeof UFUI != 'undefined'&lt;br /&gt;
			&amp;amp;&amp;amp; typeof UIElements != 'undefined'&lt;br /&gt;
			&amp;amp;&amp;amp; typeof UFUI.getLabel == 'function'&lt;br /&gt;
		   )&lt;br /&gt;
		{&lt;br /&gt;
			try {&lt;br /&gt;
				label = UFUI.getLabel('wpCategoriesUploadLbl');&lt;br /&gt;
			} catch (ex) {&lt;br /&gt;
				label = null;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		if (!label) {&lt;br /&gt;
			labelCell.id = 'hotcatLabel';&lt;br /&gt;
			labelCell.appendChild (make (HotCat.categories, true));&lt;br /&gt;
		} else {&lt;br /&gt;
			labelCell.id = 'hotcatLabelTranslated';&lt;br /&gt;
			labelCell.appendChild (label);&lt;br /&gt;
		}&lt;br /&gt;
		labelCell.className           = 'mw-label';&lt;br /&gt;
		labelCell.style.textAlign     = 'right';&lt;br /&gt;
		labelCell.style.verticalAlign = 'middle';&lt;br /&gt;
		// Change the onsubmit handler&lt;br /&gt;
		var form = document.getElementById('upload') || document.getElementById('mw-upload-form');&lt;br /&gt;
		if (form) {&lt;br /&gt;
			var newRow = ip.insertRow (-1);&lt;br /&gt;
			newRow.appendChild (labelCell);&lt;br /&gt;
			newRow.appendChild (lineCell);&lt;br /&gt;
			form.onsubmit = (function (oldSubmit) {&lt;br /&gt;
				return function () {&lt;br /&gt;
					var do_submit = true;&lt;br /&gt;
					if (oldSubmit) {&lt;br /&gt;
						if (typeof oldSubmit == 'string')&lt;br /&gt;
							do_submit = eval (oldSubmit);&lt;br /&gt;
						else if (typeof oldSubmit == 'function')&lt;br /&gt;
							do_submit = oldSubmit.apply (form, arguments);&lt;br /&gt;
					}&lt;br /&gt;
					if (!do_submit) return false;&lt;br /&gt;
					closeForm ();&lt;br /&gt;
					// Copy the categories&lt;br /&gt;
					var eb = document.getElementById ('wpUploadDescription')&lt;br /&gt;
						|| document.getElementById ('wpDesc');&lt;br /&gt;
					var addedOne = false;&lt;br /&gt;
					for (var i = 0; i &amp;lt; editors.length; i++) {&lt;br /&gt;
						var t = editors[i].currentCategory;&lt;br /&gt;
						if (!t) continue ;&lt;br /&gt;
						var key = editors[i].currentKey;&lt;br /&gt;
						var new_cat = '[[' + HotCat.category_canonical + ':' + t + (key ? '|' + key : &amp;quot;&amp;quot;) + ']]';&lt;br /&gt;
						// Only add if not already present&lt;br /&gt;
						var cleanedText = eb.value&lt;br /&gt;
								.replace(/&amp;lt;\!--(\s|\S)*?--\&amp;gt;/g, &amp;quot;&amp;quot;)&lt;br /&gt;
								.replace(/&amp;lt;nowiki\&amp;gt;(\s|\S)*?&amp;lt;\/nowiki&amp;gt;/g, &amp;quot;&amp;quot;);&lt;br /&gt;
						if (!find_category (cleanedText, t, true)) {&lt;br /&gt;
							eb.value += '\n' + new_cat;&lt;br /&gt;
							addedOne = true;&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
					if (addedOne) {&lt;br /&gt;
						// Remove &amp;quot;subst:unc&amp;quot; added by Flinfo if it didn't find categories&lt;br /&gt;
						eb.value = eb.value.replace(/\{\{subst:unc\}\}/g, &amp;quot;&amp;quot;);&lt;br /&gt;
					}&lt;br /&gt;
					return true;&lt;br /&gt;
				};&lt;br /&gt;
			}) (form.onsubmit);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var cleanedText = null;&lt;br /&gt;
&lt;br /&gt;
	function isOnPage (span) {&lt;br /&gt;
		var catTitle = title (span.firstChild.getAttribute ('href', 2));&lt;br /&gt;
		if (!catTitle) return null;&lt;br /&gt;
		catTitle = catTitle.substr (catTitle.indexOf (':') + 1).replace (/_/g, ' ');&lt;br /&gt;
		if (HotCat.blacklist &amp;amp;&amp;amp; HotCat.blacklist.test (catTitle)) return null;&lt;br /&gt;
		var result = { title : catTitle, match : [&amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;] };&lt;br /&gt;
		if (pageText === null) return result;&lt;br /&gt;
		if (cleanedText === null) {&lt;br /&gt;
			cleanedText = pageText&lt;br /&gt;
				.replace(/&amp;lt;\!--(\s|\S)*?--\&amp;gt;/g, &amp;quot;&amp;quot;)&lt;br /&gt;
				.replace(/&amp;lt;nowiki\&amp;gt;(\s|\S)*?&amp;lt;\/nowiki&amp;gt;/g, &amp;quot;&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
		result.match = find_category (cleanedText, catTitle, true);&lt;br /&gt;
		return result;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var initialized = false;&lt;br /&gt;
	var setupTimeout = null;&lt;br /&gt;
&lt;br /&gt;
	function findByClass (scope, tag, className) {&lt;br /&gt;
		// Compatibility routine. Uses jQuery if available, otherwise works with older getElementsByClassName&lt;br /&gt;
		var result;&lt;br /&gt;
		if (window.jQuery) {&lt;br /&gt;
			result = window.jQuery(scope).find(tag + '.' + className);&lt;br /&gt;
		} else {&lt;br /&gt;
			result = getElementsByClassName(scope, tag, className);&lt;br /&gt;
		}&lt;br /&gt;
		return (result &amp;amp;&amp;amp; result.length) ? result[0] : null;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function setup (additionalWork) {&lt;br /&gt;
		if (initialized) return;&lt;br /&gt;
		initialized = true;&lt;br /&gt;
		if (setupTimeout) {&lt;br /&gt;
			window.clearTimeout (setupTimeout);&lt;br /&gt;
			setupTimeout = null;&lt;br /&gt;
		}&lt;br /&gt;
		// Find the category bar, or create an empty one if there isn't one. Then add -/+- links after&lt;br /&gt;
		// each category, and add the + link.&lt;br /&gt;
		catLine =  catLine                                        // Special:Upload&lt;br /&gt;
				|| document.getElementById ('mw-normal-catlinks') // MW &amp;gt;= 1.13alpha&lt;br /&gt;
				|| findByClass (document , 'p' , 'catlinks');     // MW &amp;lt; 1.13&lt;br /&gt;
		var hiddenCats = document.getElementById ('mw-hidden-catlinks');&lt;br /&gt;
		if (!catLine) {&lt;br /&gt;
			var footer = null;&lt;br /&gt;
			if (!hiddenCats) {&lt;br /&gt;
				footer = findByClass (document , 'div' , 'printfooter');&lt;br /&gt;
				if (!footer) return; // Don't know where to insert the category line&lt;br /&gt;
			}&lt;br /&gt;
			catLine = make ('div');&lt;br /&gt;
			catLine.id = 'mw-normal-catlinks';&lt;br /&gt;
			catLine.style.textAlign = is_rtl ? 'right' : 'left';&lt;br /&gt;
			// Add a label&lt;br /&gt;
			var label = make ('a');&lt;br /&gt;
			label.href  = conf.wgArticlePath.replace ('$1', 'Special:Categories');&lt;br /&gt;
			label.title = HotCat.categories;&lt;br /&gt;
			label.appendChild (make (HotCat.categories, true));&lt;br /&gt;
			catLine.appendChild (label);&lt;br /&gt;
			catLine.appendChild (make (':', true));&lt;br /&gt;
			// Insert the new category line&lt;br /&gt;
			var container = (hiddenCats ? hiddenCats.parentNode : document.getElementById ('catlinks'));&lt;br /&gt;
			if (!container) {&lt;br /&gt;
				container = make ('div');&lt;br /&gt;
				container.id = 'catlinks';&lt;br /&gt;
				footer.parentNode.insertBefore (container, footer.nextSibling);&lt;br /&gt;
			}&lt;br /&gt;
			container.className = 'catlinks noprint';&lt;br /&gt;
			container.style.display = &amp;quot;&amp;quot;;&lt;br /&gt;
			if (!hiddenCats) {&lt;br /&gt;
				container.appendChild (catLine);&lt;br /&gt;
			} else {&lt;br /&gt;
				container.insertBefore (catLine, hiddenCats);&lt;br /&gt;
			}&lt;br /&gt;
		} // end if catLine exists&lt;br /&gt;
		if (is_rtl) catLine.dir = 'rtl';&lt;br /&gt;
&lt;br /&gt;
		// Create editors for all existing categories&lt;br /&gt;
&lt;br /&gt;
		function createEditors (line, is_hidden) {&lt;br /&gt;
			var i;&lt;br /&gt;
			var cats = line.getElementsByTagName ('li');&lt;br /&gt;
			if (cats.length &amp;gt; 0) {&lt;br /&gt;
				newDOM = true; line = cats[0].parentNode;&lt;br /&gt;
			} else {&lt;br /&gt;
				cats = line.getElementsByTagName ('span');&lt;br /&gt;
			}&lt;br /&gt;
			// Copy cats, otherwise it'll also magically contain our added spans as it is a live collection!&lt;br /&gt;
			var copyCats = new Array (cats.length);&lt;br /&gt;
			for (i = 0; i &amp;lt; cats.length; i++) copyCats[i] = cats[i];&lt;br /&gt;
			var editor = null;&lt;br /&gt;
			for (i = 0; i &amp;lt; copyCats.length; i++) {&lt;br /&gt;
				var test = isOnPage (copyCats[i]);&lt;br /&gt;
				if (test !== null &amp;amp;&amp;amp; test.match !== null) {&lt;br /&gt;
					editor = new CategoryEditor (line, copyCats[i], test.title, test.match[2], is_hidden);&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			return copyCats.length &amp;gt; 0 ? copyCats[copyCats.length-1] : null;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		var lastSpan = createEditors (catLine, false);&lt;br /&gt;
		// Create one to add a new category&lt;br /&gt;
		var editor = new CategoryEditor(newDOM ? catLine.getElementsByTagName('ul')[0] : catLine, null, null, lastSpan !== null, false);&lt;br /&gt;
		if (!onUpload) {&lt;br /&gt;
			if (pageText !== null &amp;amp;&amp;amp; hiddenCats) {&lt;br /&gt;
				if (is_rtl) hiddenCats.dir = 'rtl';&lt;br /&gt;
				createEditors (hiddenCats, true);&lt;br /&gt;
			}&lt;br /&gt;
			// And finally add the &amp;quot;multi-mode&amp;quot; span. (Do this at the end, otherwise it ends up in the list above.)&lt;br /&gt;
			var enableMulti = make ('span');&lt;br /&gt;
			enableMulti.className = 'noprint';&lt;br /&gt;
			if (is_rtl) enableMulti.dir = 'rtl';&lt;br /&gt;
			catLine.insertBefore (enableMulti, catLine.firstChild.nextSibling);&lt;br /&gt;
			enableMulti.appendChild (make ('\xa0', true)); // nbsp&lt;br /&gt;
			multiSpan = make ('span');&lt;br /&gt;
			enableMulti.appendChild (multiSpan);&lt;br /&gt;
			multiSpan.innerHTML = '(&amp;lt;a&amp;gt;' + HotCat.addmulti + '&amp;lt;/a&amp;gt;)';&lt;br /&gt;
			var lk = multiSpan.getElementsByTagName ('a')[0];&lt;br /&gt;
			lk.onclick = function (evt) {setMultiInput (); checkMultiInput (); return evtKill (evt);};&lt;br /&gt;
			lk.title = HotCat.multi_tooltip;&lt;br /&gt;
			lk.style.cursor = 'pointer';&lt;br /&gt;
		}&lt;br /&gt;
		cleanedText = null;&lt;br /&gt;
		if (typeof additionalWork == 'function') additionalWork();&lt;br /&gt;
		setupCompleted.loaded(); // Trigger signal; execute registered functions&lt;br /&gt;
		if (window.jQuery) jQuery('body').trigger('hotcatSetupCompleted');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function setPage (json) {&lt;br /&gt;
		var startTime = null;&lt;br /&gt;
		if (json &amp;amp;&amp;amp; json.query) {&lt;br /&gt;
			if (json.query.pages) {&lt;br /&gt;
				var page = json.query.pages[conf.wgArticleId === 0 ? &amp;quot;-1&amp;quot; : &amp;quot;&amp;quot; + conf.wgArticleId];&lt;br /&gt;
				if (page) {&lt;br /&gt;
					if (page.revisions &amp;amp;&amp;amp; page.revisions.length &amp;gt; 0) {&lt;br /&gt;
						// Revisions are sorted by revision ID, hence [0] is the one we asked for, and possibly there's a [1] if we're&lt;br /&gt;
						// not on the latest revision (edit conflicts and such).&lt;br /&gt;
						pageText = page.revisions[0]['*'];&lt;br /&gt;
						if (page.revisions[0].timestamp) pageTime = page.revisions[0].timestamp.replace (/\D/g, &amp;quot;&amp;quot;);&lt;br /&gt;
						if (page.revisions[0].revid) pageTextRevId = page.revisions[0].revid;&lt;br /&gt;
						if (page.revisions.length &amp;gt; 1) conflictingUser = page.revisions[1].user;&lt;br /&gt;
					}&lt;br /&gt;
					if (page.lastrevid) lastRevId = page.lastrevid;&lt;br /&gt;
					if (page.starttimestamp) startTime = page.starttimestamp.replace (/\D/g, &amp;quot;&amp;quot;);&lt;br /&gt;
					pageWatched = typeof page.watched == 'string';&lt;br /&gt;
					editToken = page.edittoken;&lt;br /&gt;
					if (page.langlinks &amp;amp;&amp;amp; (!json['query-continue'] || !json['query-continue'].langlinks)) {&lt;br /&gt;
						// We have interlanguage links, and we got them all.&lt;br /&gt;
						var re = &amp;quot;&amp;quot;;&lt;br /&gt;
						for (var i = 0; i &amp;lt; page.langlinks.length; i++) {&lt;br /&gt;
							re += (i &amp;gt; 0 ? '|' : &amp;quot;&amp;quot;) + page.langlinks[i].lang.replace(/([\\\^\$\.\?\*\+\(\)])/g, '\\$1');&lt;br /&gt;
						}&lt;br /&gt;
						if (re.length &amp;gt; 0) {&lt;br /&gt;
							interlanguageRE = new RegExp ('((^|\\n\\r?)(\\[\\[\\s*(' + re + ')\\s*:[^\\]]+\\]\\]\\s*))+$');&lt;br /&gt;
						}&lt;br /&gt;
					}&lt;br /&gt;
&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			// Siteinfo&lt;br /&gt;
			if (json.query.general) {&lt;br /&gt;
				HotCat.capitalizePageNames = (json.query.general['case'] == 'first-letter');&lt;br /&gt;
				if (json.query.general.time &amp;amp;&amp;amp; !startTime) startTime = json.query.general.time.replace (/\D/g, &amp;quot;&amp;quot;);&lt;br /&gt;
			}&lt;br /&gt;
			serverTime = startTime;&lt;br /&gt;
			// Userinfo&lt;br /&gt;
			if (json.query.userinfo &amp;amp;&amp;amp; json.query.userinfo.options) {&lt;br /&gt;
				watchCreate = !HotCat.dont_add_to_watchlist &amp;amp;&amp;amp; json.query.userinfo.options.watchcreations == '1';&lt;br /&gt;
				watchEdit   = !HotCat.dont_add_to_watchlist &amp;amp;&amp;amp; json.query.userinfo.options.watchdefault == '1';&lt;br /&gt;
				minorEdits  = json.query.userinfo.options.minordefault == 1;&lt;br /&gt;
				// If the user has the &amp;quot;All edits are minor&amp;quot; preference enabled, we should honor that&lt;br /&gt;
				// for single category changes, no matter what the site configuration is.&lt;br /&gt;
				if (minorEdits) HotCat.single_minor = true;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function createCommitForm () {&lt;br /&gt;
		if (commitForm) return;&lt;br /&gt;
		var formContainer = make ('div');&lt;br /&gt;
		formContainer.style.display = 'none';&lt;br /&gt;
		document.body.appendChild (formContainer);&lt;br /&gt;
		formContainer.innerHTML =&lt;br /&gt;
			'&amp;lt;form id=&amp;quot;hotcatCommitForm&amp;quot; method=&amp;quot;post&amp;quot; enctype=&amp;quot;multipart/form-data&amp;quot; action=&amp;quot;'&lt;br /&gt;
			+ conf.wgScript + '?title=' + encodeURIComponent (conf.wgPageName)&lt;br /&gt;
			+ '&amp;amp;action=edit&amp;quot;&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpTextbox1&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;model&amp;quot; value=&amp;quot;wikitext&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;format&amp;quot; value=&amp;quot;text/x-wiki&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpSummary&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;wpMinoredit&amp;quot; value=&amp;quot;1&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;wpWatchthis&amp;quot; value=&amp;quot;1&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpAutoSummary&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpEdittime&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpStarttime&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpDiff&amp;quot; value=&amp;quot;wpDiff&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;oldid&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;hcCommit&amp;quot; value=&amp;quot;hcCommit&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpEditToken&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;wpUltimateParam&amp;quot; value=&amp;quot;1&amp;quot; /&amp;gt;'&lt;br /&gt;
			+ '&amp;lt;/form&amp;gt;';&lt;br /&gt;
		commitForm = document.getElementById ('hotcatCommitForm');&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function getPage () {&lt;br /&gt;
		// We know we have an article here.&lt;br /&gt;
		if (conf.wgArticleId === 0) {&lt;br /&gt;
			// Doesn't exist yet.&lt;br /&gt;
			if (conf.wgNamespaceNumber === 2) {&lt;br /&gt;
				// Disable on non-existing User pages -- might be a global user page.&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
			pageText = &amp;quot;&amp;quot;;&lt;br /&gt;
			pageTime = null;&lt;br /&gt;
			setup (createCommitForm);&lt;br /&gt;
		} else {&lt;br /&gt;
			var url = conf.wgServer + conf.wgScriptPath + '/api.php?format=json&amp;amp;callback=HotCat.start&amp;amp;action=query&amp;amp;rawcontinue=&amp;amp;titles='&lt;br /&gt;
					+ encodeURIComponent (conf.wgPageName)&lt;br /&gt;
					+ '&amp;amp;prop=info%7Crevisions&amp;amp;rvprop=content%7Ctimestamp%7Cids&amp;amp;meta=siteinfo&amp;amp;rvlimit=1&amp;amp;rvstartid='&lt;br /&gt;
					+ conf.wgCurRevisionId;&lt;br /&gt;
			var s = make ('script');&lt;br /&gt;
			s.src = armorUri(url);&lt;br /&gt;
			s.type = 'text/javascript';&lt;br /&gt;
			HotCat.start = function (json) { setPage (json); setup (createCommitForm); };&lt;br /&gt;
			document.getElementsByTagName ('head')[0].appendChild (s);&lt;br /&gt;
			setupTimeout = window.setTimeout (function () {setup (createCommitForm);}, 4000); // 4 sec, just in case getting the wikitext takes longer.&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function run () {&lt;br /&gt;
		if (HotCat.started) return;&lt;br /&gt;
		HotCat.started = true;&lt;br /&gt;
		loadTrigger.register(really_run);&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function really_run () {&lt;br /&gt;
		initialize ();&lt;br /&gt;
&lt;br /&gt;
		if (is_rtl &amp;amp;&amp;amp; is_ie6) return; // Disabled! IE6 with RTL is just too broken...&lt;br /&gt;
		if (!HotCat.upload_disabled &amp;amp;&amp;amp; conf.wgNamespaceNumber === -1 &amp;amp;&amp;amp; conf.wgCanonicalSpecialPageName == 'Upload' &amp;amp;&amp;amp; conf.wgUserName) {&lt;br /&gt;
			setup_upload ();&lt;br /&gt;
			setup (function () {&lt;br /&gt;
				// Check for state restoration once the setup is done otherwise, but before signalling setup completion&lt;br /&gt;
				if (   typeof UploadForm != 'undefined'&lt;br /&gt;
					&amp;amp;&amp;amp; typeof UploadForm.previous_hotcat_state != 'undefined'&lt;br /&gt;
					&amp;amp;&amp;amp; UploadForm.previous_hotcat_state !== null)&lt;br /&gt;
				{&lt;br /&gt;
					UploadForm.previous_hotcat_state = setState (UploadForm.previous_hotcat_state);&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
		} else {&lt;br /&gt;
			if (!conf.wgIsArticle || conf.wgAction != 'view' || param('diff') !== null || param('oldid') !== null || !can_edit() || HotCat.disable()) return;&lt;br /&gt;
			getPage ();&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Legacy stuff&lt;br /&gt;
&lt;br /&gt;
	function closeForm () {&lt;br /&gt;
		// Close all open editors without redirect resolution and other asynchronous stuff.&lt;br /&gt;
		for (var i = 0; i &amp;lt; editors.length; i++) {&lt;br /&gt;
			if (editors[i].state == CategoryEditor.OPEN) {&lt;br /&gt;
				editors[i].cancel();&lt;br /&gt;
			} else if (editors[i].state == CategoryEditor.CHANGE_PENDING) {&lt;br /&gt;
				editors[i].sanitizeInput ();&lt;br /&gt;
				var value = editors[i].text.value.split('|');&lt;br /&gt;
				var key   = null;&lt;br /&gt;
				if (value.length &amp;gt; 1) key = value[1];&lt;br /&gt;
				var v = value[0].replace(/_/g, ' ').replace(/^\s+|\s+$/g, &amp;quot;&amp;quot;);&lt;br /&gt;
				if (v.length === 0) {&lt;br /&gt;
					editors[i].cancel ();&lt;br /&gt;
				} else {&lt;br /&gt;
					editors[i].currentCategory = v;&lt;br /&gt;
					editors[i].currentKey = key;&lt;br /&gt;
					editors[i].currentExists = this.inputExists;&lt;br /&gt;
					editors[i].close ();&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function getState () {&lt;br /&gt;
		var result = null;&lt;br /&gt;
		for (var i = 0; i &amp;lt; editors.length; i++) {&lt;br /&gt;
			var text = editors[i].currentCategory;&lt;br /&gt;
			var key  = editors[i].currentKey;&lt;br /&gt;
			if (text &amp;amp;&amp;amp; text.length &amp;gt; 0) {&lt;br /&gt;
				if (key !== null) text += '|' + key;&lt;br /&gt;
				if (result === null)&lt;br /&gt;
					result = text;&lt;br /&gt;
				else&lt;br /&gt;
					result = result + '\n' + text;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return result;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function setState (state) {&lt;br /&gt;
		var cats = state.split ('\n');&lt;br /&gt;
		if (cats.length === 0) return null;&lt;br /&gt;
		if (initialized &amp;amp;&amp;amp; editors.length == 1 &amp;amp;&amp;amp; editors[0].isAddCategory) {&lt;br /&gt;
			// Insert new spans and create new editors for them.&lt;br /&gt;
			var newSpans = [];&lt;br /&gt;
			var before = editors.length == 1 ? editors[0].span : null;&lt;br /&gt;
			var i;&lt;br /&gt;
			for (i = 0; i &amp;lt; cats.length; i++) {&lt;br /&gt;
				if (cats[i].length === 0) continue;&lt;br /&gt;
				var cat = cats[i].split ('|');&lt;br /&gt;
				var key = cat.length &amp;gt; 1 ? cat[1] : null;&lt;br /&gt;
				cat = cat[0];&lt;br /&gt;
				var lk = make ('a'); lk.href = wikiPagePath (HotCat.category_canonical + ':' + cat);&lt;br /&gt;
				lk.appendChild (make (cat, true));&lt;br /&gt;
				lk.title = cat;&lt;br /&gt;
				var span = make ('span');&lt;br /&gt;
				span.appendChild (lk);&lt;br /&gt;
				if (i === 0) catLine.insertBefore (make (' ', true), before);&lt;br /&gt;
				catLine.insertBefore (span, before);&lt;br /&gt;
				if (before &amp;amp;&amp;amp; i+1 &amp;lt; cats.length) parent.insertBefore (make (' | ', true), before);&lt;br /&gt;
				newSpans.push ({element: span, title: cat, 'key': key});&lt;br /&gt;
			}&lt;br /&gt;
			// And change the last one...&lt;br /&gt;
			if (before) {&lt;br /&gt;
				before.parentNode.insertBefore (make (' | ', true), before);&lt;br /&gt;
			}&lt;br /&gt;
			var editor = null;&lt;br /&gt;
			for (i = 0; i &amp;lt; newSpans.length; i++) {&lt;br /&gt;
				editor = new CategoryEditor (catLine, newSpans[i].element, newSpans[i].title, newSpans[i].key);&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return null;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// Export legacy functions&lt;br /&gt;
	window.hotcat_get_state  = function () { return getState(); };&lt;br /&gt;
	window.hotcat_set_state  = function (state) { return setState (state); };&lt;br /&gt;
	window.hotcat_close_form = function () { closeForm (); };&lt;br /&gt;
&lt;br /&gt;
	if (window.mw) {&lt;br /&gt;
		// Make sure we don't get conflicts with AjaxCategories (core development that should one day&lt;br /&gt;
		// replace HotCat).&lt;br /&gt;
		mw.config.set('disableAJAXCategories', true);&lt;br /&gt;
	}&lt;br /&gt;
	// Run as soon as possible. This varies depending on MediaWiki version;&lt;br /&gt;
	// window's 'load' event is always safe, but usually we can do better than that.&lt;br /&gt;
&lt;br /&gt;
	// Check for version to avoid MediaWiki bug 32537.&lt;br /&gt;
	var mwVersion = conf.wgVersion.split('.');&lt;br /&gt;
	if (mwVersion[0] &amp;gt;= 1 &amp;amp;&amp;amp; parseFloat(mwVersion[1]) &amp;gt; 20) {&lt;br /&gt;
		if (parseFloat(mwVersion[1]) &amp;gt; 21 &amp;amp;&amp;amp; conf.wgCanonicalSpecialPageName !== 'Upload') {&lt;br /&gt;
			// Use wikipage.content hook so that HotCat reloads after VE edits (bug T103285)&lt;br /&gt;
			var startHotCat = function() {&lt;br /&gt;
				mw.hook('wikipage.content').add( function() {&lt;br /&gt;
					// Reset HotCat in case this is a soft reload (VE edit)&lt;br /&gt;
					catLine = null;&lt;br /&gt;
					editors = [];&lt;br /&gt;
					initialized = false;&lt;br /&gt;
					HotCat.started = false;&lt;br /&gt;
					run ();&lt;br /&gt;
				} );&lt;br /&gt;
			};&lt;br /&gt;
		} else {&lt;br /&gt;
			// We are using MediaWiki 1.21, which doesn't support mw.hook. Fall back to dom-ready.&lt;br /&gt;
			// OR: We're running on Special:Upload, where the 'wikipage.content' hook is fired for&lt;br /&gt;
			// various previewed wikitext snippets, which shouldn't reload HotCat interface.&lt;br /&gt;
			var startHotCat = function() {&lt;br /&gt;
				jQuery(document).ready(run);&lt;br /&gt;
			};&lt;br /&gt;
		}&lt;br /&gt;
		// We can safely trigger just after user configuration is loaded. Also start HotCat if the user module fails to load.&lt;br /&gt;
		// Avoid using Promise methods of mw.loader.using as those aren't supported in older&lt;br /&gt;
		// MediaWiki versions.&lt;br /&gt;
		mw.loader.using('user', startHotCat, startHotCat);&lt;br /&gt;
	} else {&lt;br /&gt;
		// mw.loader.using('user', ...) could have unintended side-effects on MW &amp;lt;= 1.20. Fall back to dom-ready.&lt;br /&gt;
		jQuery(document).ready(run);&lt;br /&gt;
	}&lt;br /&gt;
})();&lt;br /&gt;
&lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin&amp;diff=154</id>
		<title>सदस्य:Admin</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%A6%E0%A4%B8%E0%A5%8D%E0%A4%AF:Admin&amp;diff=154"/>
		<updated>2018-04-12T12:43:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: 'पेहला संपादन' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;पेहला संपादन&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Learn_KWordquiz&amp;diff=153</id>
		<title>Learn KWordquiz</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Learn_KWordquiz&amp;diff=153"/>
		<updated>2018-04-12T12:07:26Z</updated>

		<summary type="html">&lt;p&gt;Admin: '===Introduction=== KWordQuiz is a general purpose flash card program. It can be used for vocabulary learning and many other subjects....' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Introduction===&lt;br /&gt;
KWordQuiz is a general purpose flash card program. It can be used for vocabulary learning and many other subjects.&lt;br /&gt;
====Basic information====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ICT Competency&lt;br /&gt;
|KWordQuiz is a tool for Subject ( Languages and Social Science) Specific Resource creation. &lt;br /&gt;
|-&lt;br /&gt;
|Educational application and relevance&lt;br /&gt;
|KwordQuiz is a powerful flashcard and vocabulary learning program . KWordQuiz is a computer program designed to teach new vocabulary KWordQuiz is a general purpose flashcard program, typically used for vocabulary training &lt;br /&gt;
|-&lt;br /&gt;
|Version&lt;br /&gt;
|Version 4.13.3   It is a part of the Kde.edu package. &lt;br /&gt;
|-&lt;br /&gt;
|Configuration&lt;br /&gt;
|No specific configuration requirements&lt;br /&gt;
|-&lt;br /&gt;
|Other similar applications&lt;br /&gt;
|TuxWordSmith&lt;br /&gt;
|-&lt;br /&gt;
|The application on mobiles and tablets &lt;br /&gt;
|There is no mobile application &lt;br /&gt;
|-&lt;br /&gt;
|Development and community help&lt;br /&gt;
|&lt;br /&gt;
# KDE Edu  [https://docs.kde.org/trunk5/en/kdeedu/kwordquiz/index.html handout]&lt;br /&gt;
# KDE [https://www.kde.org/applications/education/ Official Website]&lt;br /&gt;
|}&lt;br /&gt;
====Overview of Features====&lt;br /&gt;
* Easy to use &lt;br /&gt;
* Five different practice modes &lt;br /&gt;
* Flashcards and Quiz types &lt;br /&gt;
* Several Vocabulary documents formats supported&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
# The application is part of the Ubuntu custom distribution.&lt;br /&gt;
# In case you do not find it on your computer, you can install by typing &amp;lt;code&amp;gt;Kwordquiz&amp;lt;/code&amp;gt; on top search bar in Software Centre.&lt;br /&gt;
# If you would like to install through the terminal follow these steps below:&lt;br /&gt;
## Open terminal by clicking Applications-&amp;gt;System Tools-&amp;gt;Terminal or through Keyboard shortcut &amp;lt;code&amp;gt;Ctrl+Alt+T&amp;lt;/code&amp;gt;&lt;br /&gt;
## In the terminal window, type below command and press enter to start the installation by providing your machine password:&lt;br /&gt;
## &amp;lt;code&amp;gt;sudo apt-get install kwordquiz&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Working with the application ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(this will be a step up step description of a basic overview of how to use the different functionalities) &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 50%;|[[File:KWordQuiz_1_Main_Window.png|550px]]&lt;br /&gt;
|style=&amp;quot;width: 50%;|[[File:KWordQuiz_2_Editor_option.png|550px]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 50%;|Step 1 - Open this tool by clicking on -Application-Education-KwordQuiz. We will see the page as this image. In this page there will be many options on left side. Those are :-  Editor,Flashcard, Multipal Choice,Question and answer . &lt;br /&gt;
In the column list we should use Column  1 for questions and Column 2 for answers. &lt;br /&gt;
|style=&amp;quot;width: 50%;|Step 2 - EDITOR&lt;br /&gt;
Click on Editor to create your own vocabulary. &lt;br /&gt;
In column 1 we can add questions and in column 2 to we add Answers. &lt;br /&gt;
See this image for example. Here we try to create a vocabulary for states and capital cities. &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 50%;|[[File:KWordQuiz_3_Add_Titles_For_Columns.png|550px]]&lt;br /&gt;
|style=&amp;quot;width: 50%;|[[File:KWordQuiz_4_Flashcard_option.png|550px]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 50%;|Step 3 - &lt;br /&gt;
Add Titles for Vocabulary&lt;br /&gt;
In the menu bar, click on Vocabulary and  column settings. &lt;br /&gt;
Then we can edit column 1 heading and column 2 heading.&lt;br /&gt;
&lt;br /&gt;
Then click OK to save the changes.  &lt;br /&gt;
|style=&amp;quot;width: 50%;|Step 4 - Select Flashcard from the navigation panel to start a flashcard session on the entries of the active vocabulary document. The mode selected in the Mode menu will be used. If you change mode during a session, the session will be restarted.By selecting Settings → Configure KWordQuiz... you can configure the appearance of the flashcards. &lt;br /&gt;
Initially the front of the card is displayed. Use Quiz → Check to see the other side. &lt;br /&gt;
The score sections at the bottom of the screen shows the number of cards, the number of cards you have seen, the number of cards counted as correct, and the number counted as incorrect. &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 50%;|[[File:KWordQuiz_5_Multiple_Choice_option.png|550px]]&lt;br /&gt;
|style=&amp;quot;width: 50%;|[[File:KWordQuiz_6_Question_and_Answers_option.png|550px]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 50%;|Step 5 - Multiple Choice&lt;br /&gt;
Select Multiple Choice from the navigation panel to start a multiple choice quiz on the entries in the active vocabulary document.&lt;br /&gt;
Your choices are shown on the top left. Select the one you think is correct. Use Quiz → Check to see if the answer is correct. If you have activated the automatic mode in Settings → Configure KWordQuiz... your selection is checked immediately.&lt;br /&gt;
|style=&amp;quot;width: 50%;|Step 6 - Question and Answers&lt;br /&gt;
To continue the quiz activities, we can use this question and answer option. &lt;br /&gt;
Click on Question and Answer option in the left side on the page. &lt;br /&gt;
Your question is shown on the top left. Type your answer in the edit field. Use Quiz → Check or Enter to see if the answer is correct. &lt;br /&gt;
The answer you gave is also displayed. If you answered incorrectly the correct answer is shown. &lt;br /&gt;
Select Quiz → Hint to get the next correct letter of the answer. In Settings → Configure KWordQuiz... you can select that questions where you use the hint function are always counted as incorrect. &lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;width: 50%;|[[File:KwordQuiz in Local Language.png|550px]]&lt;br /&gt;
You can use KwordQuiz in your local language. Change your typing language from your desktop top panel &amp;quot;EN&amp;quot; and choose your language. You can directly type in your selected language&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==File formats for creation==&lt;br /&gt;
This tool does not create outputs, We can use this tool directly for language activities.&lt;br /&gt;
&lt;br /&gt;
==Saving the file==&lt;br /&gt;
SAVE&lt;br /&gt;
Once we completed our edition, click on FILE – SAVE. It will ask us to locate the folder and it will save on kvtml format.&lt;br /&gt;
&lt;br /&gt;
==Export and publishing files==&lt;br /&gt;
Not applicable&lt;br /&gt;
&lt;br /&gt;
==Advanced features==&lt;br /&gt;
KWordQuiz is a general purpose flash card program. It can be used for vocabulary learning and many other subjects. &lt;br /&gt;
KWordQuiz is the KDE version of the Windows program WordQuiz. If you have just 		switched to KDE/Linux you can use all files created in WordQuiz with KWordQuiz. 		Additional information about KWordQuiz is available at the author's own website.&lt;br /&gt;
&lt;br /&gt;
[[Category:Explore an application]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Common.css&amp;diff=152</id>
		<title>मीडियाविकि:Common.css</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Common.css&amp;diff=152"/>
		<updated>2018-04-12T12:04:30Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* यहां रखी css सभी त्वचाओंपर असर करेगी */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
body { font-size: larger; }&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Book-sidebar&amp;diff=151</id>
		<title>साँचा:Book-sidebar</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Book-sidebar&amp;diff=151"/>
		<updated>2018-04-12T12:03:46Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;float:right; border:1px solid blue;width:300px;background-color:#F5F5F5;padding:2px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| [[File:Book.jpg|none|80px|Book image]]&lt;br /&gt;
| style=&amp;quot;padding-left:2px;&amp;quot;| Go back to &amp;lt;br/&amp;gt; [[Explore an application]]&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Book-sidebar&amp;diff=150</id>
		<title>साँचा:Book-sidebar</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Book-sidebar&amp;diff=150"/>
		<updated>2018-04-12T12:03:28Z</updated>

		<summary type="html">&lt;p&gt;Admin: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;float:right; border:1px solid blue;width:300px;background-color:#F5F5F5;padding:2px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| [[File:Book.jpg|none|80px|Book image]]&lt;br /&gt;
| style=&amp;quot;padding-left:2px;&amp;quot;| Go back to &amp;lt;br/&amp;gt; [[Explore_an_application]]&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Common.css&amp;diff=149</id>
		<title>मीडियाविकि:Common.css</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%AE%E0%A5%80%E0%A4%A1%E0%A4%BF%E0%A4%AF%E0%A4%BE%E0%A4%B5%E0%A4%BF%E0%A4%95%E0%A4%BF:Common.css&amp;diff=149"/>
		<updated>2018-04-12T12:02:24Z</updated>

		<summary type="html">&lt;p&gt;Admin: '/* यहां रखी css सभी त्वचाओंपर असर करेगी */  body.page-Main_Page.action-view h1.f...' के साथ नया पृष्ठ बनाया&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* यहां रखी css सभी त्वचाओंपर असर करेगी */&lt;br /&gt;
&lt;br /&gt;
body.page-Main_Page.action-view h1.firstHeading, body.page-Main_Page.action-submit h1.firstHeading { display: none; }&lt;br /&gt;
&lt;br /&gt;
.externalimage-holder {&lt;br /&gt;
    position: relative;&lt;br /&gt;
}&lt;br /&gt;
.externalimage-holder img {&lt;br /&gt;
    width: 100%;&lt;br /&gt;
    height: auto;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
body { font-size: larger; }&lt;br /&gt;
&lt;br /&gt;
h3 { color:brown;}&lt;br /&gt;
&lt;br /&gt;
#p-navigation, #p-tb { display:none }&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox/Close&amp;diff=148</id>
		<title>साँचा:Robox/Close</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox/Close&amp;diff=148"/>
		<updated>2018-04-12T11:29:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
|}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox/C3&amp;diff=146</id>
		<title>साँचा:Robox/C3</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox/C3&amp;diff=146"/>
		<updated>2018-04-12T11:29:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch:{{{1|1}}}&lt;br /&gt;
 |1=Wheat&lt;br /&gt;
 |2=LightGreen&lt;br /&gt;
 |3=LightSteelBlue&lt;br /&gt;
 |4=LightCoral&lt;br /&gt;
 |5=Thistle&lt;br /&gt;
 |6=&amp;lt;nowiki&amp;gt;#ff9&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |7=LightSkyBlue&lt;br /&gt;
 |8=Peachpuff&lt;br /&gt;
 |9=&amp;lt;nowiki&amp;gt;#c0eaa6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |10=&amp;lt;nowiki&amp;gt;#9AD4F6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |11=&amp;lt;nowiki&amp;gt;#E6C6E6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |12=&amp;lt;nowiki&amp;gt;#F4B8BF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |13=&amp;lt;nowiki&amp;gt;#CED1FA&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |14=&amp;lt;nowiki&amp;gt;#e4e4e4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |15=&amp;lt;nowiki&amp;gt;#9eb8d6&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox/C2&amp;diff=144</id>
		<title>साँचा:Robox/C2</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox/C2&amp;diff=144"/>
		<updated>2018-04-12T11:29:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch:{{{1|1}}}&lt;br /&gt;
 |1=&amp;lt;nowiki&amp;gt;#E39C79&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |2=ForestGreen&lt;br /&gt;
 |3=SteelBlue&lt;br /&gt;
 |4=IndianRed&lt;br /&gt;
 |5=MediumPurple&lt;br /&gt;
 |6=Gold&lt;br /&gt;
 |7=RoyalBlue&lt;br /&gt;
 |8=&amp;lt;nowiki&amp;gt;#E78A69&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |9=&amp;lt;nowiki&amp;gt;#71be3f&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |10=&amp;lt;nowiki&amp;gt;#4290bc&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |11=&amp;lt;nowiki&amp;gt;#C289C3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |12=&amp;lt;nowiki&amp;gt;#C56B74&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |13=&amp;lt;nowiki&amp;gt;#8488DC&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |14=&amp;lt;nowiki&amp;gt;#aaaaaa&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |15=&amp;lt;nowiki&amp;gt;#2a62a1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox/C1&amp;diff=142</id>
		<title>साँचा:Robox/C1</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox/C1&amp;diff=142"/>
		<updated>2018-04-12T11:29:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch:{{{1|1}}}&lt;br /&gt;
 |1=&amp;lt;nowiki&amp;gt;#ffFcF1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |2=MintCream&lt;br /&gt;
 |3=AliceBlue&lt;br /&gt;
 |4=MistyRose&lt;br /&gt;
 |5=LavenderBlush&lt;br /&gt;
 |6=Ivory&lt;br /&gt;
 |7=Azure&lt;br /&gt;
 |8=Seashell&lt;br /&gt;
 |9=&amp;lt;nowiki&amp;gt;#f6fff1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |10=&amp;lt;nowiki&amp;gt;#f4faff&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |11=&amp;lt;nowiki&amp;gt;#FFF8FF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |12=&amp;lt;nowiki&amp;gt;#FFF6F8&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |13=&amp;lt;nowiki&amp;gt;#F5F5FF&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |14=&amp;lt;nowiki&amp;gt;#ffffff&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 |15=&amp;lt;nowiki&amp;gt;#f4eed7&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox&amp;diff=140</id>
		<title>साँचा:Robox</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Robox&amp;diff=140"/>
		<updated>2018-04-12T11:29:00Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{| cellspacing=&amp;quot;2&amp;quot; cellpadding=&amp;quot;0&amp;quot; style=&amp;quot;margin:0em 0em 0em 0em; width:{{{width|100%}}}; {{#ifeq:{{{height|100%}}}|none||height:{{{height|100%}}}}};&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:100%; {{#ifeq:{{{height|100%}}}|none||height:100%;}} vertical-align:top; border:1px solid {{Robox/C2|{{{theme|1}}}}}; background-color:{{Robox/C1|{{{theme|1}}}}};&amp;quot; |&lt;br /&gt;
{{#ifeq:{{{icon|default}}}|default||[[File:{{{icon|Wikibooks-logo.svg}}}|{{{iconwidth|32px}}}|right|link=]]}}&lt;br /&gt;
&amp;lt;div style=&amp;quot;border-bottom:1px solid {{Robox/C2|{{{theme|1}}}}}; background-color:{{Robox/C3|{{{theme|1}}}}}; padding:0.2em 0.9em 0.2em 0.5em; text-align:center; font-size:120%; font-weight:bold;&amp;quot;&amp;gt;{{{title|Title}}}&amp;lt;/div&amp;gt;&amp;lt;div style=&amp;quot;padding:0.25em 0.5em 0.2em 0.5em;&amp;quot;&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
=== Themes ===&lt;br /&gt;
{| style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|{{Robox|theme=1|title=Theme 1}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=2|title=Theme 2}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=3|title=Theme 3}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=4|title=Theme 4}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=5|title=Theme 5}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Robox|theme=6|title=Theme 6}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=7|title=Theme 7}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=8|title=Theme 8}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=9|title=Theme 9}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=10|title=Theme 10}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Robox|theme=11|title=Theme 11}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=12|title=Theme 12}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=13|title=Theme 13}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=14|title=Theme 14}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=15|title=Theme 15}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|}__NOTOC__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Color-table&amp;diff=138</id>
		<title>साँचा:Color-table</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Color-table&amp;diff=138"/>
		<updated>2018-04-12T11:28:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;{{Robox/C2|{{{theme|1}}}}}; background-color:{{Robox/C3|{{{theme|1}}}}}; padding:0.5em; text-align:center; font-size:120%; font-weight:bold;&amp;quot;&amp;gt;{{{title|Title}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;theme&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Theme color&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Color themes - specify any number between 1 to 15&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;title&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;title or text&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Text for the box&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;Some example text&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Template to add color boxes with text&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
== Color Themes ==&lt;br /&gt;
{| style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|{{Color-table|theme=1|title=Theme 1}}&lt;br /&gt;
|{{Color-table|theme=2|title=Theme 2}}&lt;br /&gt;
|{{Color-table|theme=3|title=Theme 3}}&lt;br /&gt;
|{{Color-table|theme=4|title=Theme 4}}&lt;br /&gt;
|{{Color-table|theme=5|title=Theme 5}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=6|title=Theme 6}}&lt;br /&gt;
|{{Color-table|theme=7|title=Theme 7}}&lt;br /&gt;
|{{Color-table|theme=8|title=Theme 8}}&lt;br /&gt;
|{{Color-table|theme=9|title=Theme 9}}&lt;br /&gt;
|{{Color-table|theme=10|title=Theme 10}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Color-table|theme=11|title=Theme 11}}&lt;br /&gt;
|{{Color-table|theme=12|title=Theme 12}}&lt;br /&gt;
|{{Color-table|theme=13|title=Theme 13}}&lt;br /&gt;
|{{Color-table|theme=14|title=Theme 14}}&lt;br /&gt;
|{{Color-table|theme=15|title=Theme 15}}&lt;br /&gt;
|}__NOTOC__&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Color-box&amp;diff=136</id>
		<title>साँचा:Color-box</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Color-box&amp;diff=136"/>
		<updated>2018-04-12T11:28:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{Robox|theme={{{1}}}|title={{{2}}}}}{{{3}}}&lt;br /&gt;
{{Robox/Close}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Theme&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;any number between 1 and 15&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;1&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Title&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Add title for the box&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;Title&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;3&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Content&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Content for the box&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;This template adds a box to a page with fifteen different colors themes&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
== Color Themes ==&lt;br /&gt;
{| style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|{{Robox|theme=1|title=Theme 1}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=2|title=Theme 2}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=3|title=Theme 3}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=4|title=Theme 4}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=5|title=Theme 5}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Robox|theme=6|title=Theme 6}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=7|title=Theme 7}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=8|title=Theme 8}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=9|title=Theme 9}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=10|title=Theme 10}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|-&lt;br /&gt;
|{{Robox|theme=11|title=Theme 11}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=12|title=Theme 12}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=13|title=Theme 13}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=14|title=Theme 14}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|{{Robox|theme=15|title=Theme 15}}''Content goes here.''&lt;br /&gt;
{{Robox/Close}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Ext-img&amp;diff=134</id>
		<title>साँचा:Ext-img</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Ext-img&amp;diff=134"/>
		<updated>2018-04-12T11:28:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;externalimage-holder&amp;quot; style=&amp;quot;width:{{{1}}}&amp;quot;&amp;gt;{{{2}}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;size&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;size&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Describes size of an image in pixels(px)&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;100px&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;500px&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;2&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;link&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;imagelink&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;External link to image to commons&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Resizes external image&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&amp;lt;noinclude/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Youtube&amp;diff=132</id>
		<title>साँचा:Youtube</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Youtube&amp;diff=132"/>
		<updated>2018-04-12T11:28:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#widget:YouTube|id={{{1}}}}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
Example: &amp;lt;nowiki&amp;gt;{{Youtube|DWef69ItVrU}}&amp;lt;/nowiki&amp;gt; &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Youtube|DWef69ItVrU}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;1&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;id&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;id&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Insert Youtube video id here&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;DWef69ItVrU&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Add Youtube video using its id&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&amp;lt;noinclude/&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Ambox/core&amp;diff=130</id>
		<title>साँचा:Ambox/core</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Ambox/core&amp;diff=130"/>
		<updated>2018-04-12T11:28:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;table class=&amp;quot;metadata plainlinks ambox {{#switch:{{{small|}}}&lt;br /&gt;
| left = mbox-small-left&lt;br /&gt;
}} {{#switch:{{{type|}}}&lt;br /&gt;
| speedy     = ambox-speedy&lt;br /&gt;
| delete     = ambox-delete&lt;br /&gt;
| content    = ambox-content&lt;br /&gt;
| style      = ambox-style&lt;br /&gt;
| move       = ambox-move&lt;br /&gt;
| protection = ambox-protection&lt;br /&gt;
| notice     &amp;lt;!-- notice = default --&amp;gt;&lt;br /&gt;
| #default   = ambox-notice&lt;br /&gt;
}}&amp;quot; style=&amp;quot;{{{style|}}}&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
{{#switch:{{{image|}}}&lt;br /&gt;
| blank    &amp;lt;!-- Fall back to &amp;quot;none&amp;quot;, since deprecated. --&amp;gt;&lt;br /&gt;
| none = &amp;lt;td class=&amp;quot;mbox-empty-cell&amp;quot;&amp;gt;&amp;lt;/td&amp;gt;   &amp;lt;!-- No image. Cell with some width or padding necessary for text cell to have 100% width. --&amp;gt;&lt;br /&gt;
| #default = &lt;br /&gt;
  &amp;lt;td class=&amp;quot;mbox-image&amp;quot;&amp;gt;{{&lt;br /&gt;
  #switch:{{{small|}}}&lt;br /&gt;
  | left = &amp;lt;!-- Don't use the DIV --&amp;gt; &lt;br /&gt;
  | #default = &amp;lt;div style=&amp;quot;width: 52px;&amp;quot;&amp;gt; &lt;br /&gt;
  }}&lt;br /&gt;
  {{#if:{{{image|}}}&lt;br /&gt;
  | {{{image}}}&lt;br /&gt;
  | [[File:{{#switch:{{{type|}}}&lt;br /&gt;
    | speedy     = Ambox warning pn.svg&lt;br /&gt;
    | delete     = Ambox warning pn.svg&lt;br /&gt;
    | content    = Book important2.svg&lt;br /&gt;
    | style      = Edit-clear.svg&lt;br /&gt;
    | move       = Merge-split-transwiki default.svg&lt;br /&gt;
    | protection = Padlock-silver-medium.svg&lt;br /&gt;
    | notice          &amp;lt;!-- notice = default --&amp;gt;&lt;br /&gt;
    | #default   = Information icon4.svg&lt;br /&gt;
    }} | {{#switch:{{{small|}}} &lt;br /&gt;
      | left = 20x20px &lt;br /&gt;
      | #default = 40x40px &lt;br /&gt;
      }} |link=|alt=]]&lt;br /&gt;
  }}{{#switch:{{{small|}}}&lt;br /&gt;
  | left = &amp;lt;!-- Don't use the /DIV --&amp;gt;&lt;br /&gt;
  | #default = &amp;lt;/div&amp;gt; &lt;br /&gt;
  }}&amp;lt;/td&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;td class=&amp;quot;mbox-text&amp;quot; style=&amp;quot;{{{textstyle|}}}&amp;quot;&amp;gt; {{{text}}} &amp;lt;/td&amp;gt;&lt;br /&gt;
{{#if:{{{imageright|}}}&lt;br /&gt;
| {{#ifeq:{{{imageright|}}}|none&lt;br /&gt;
  | &amp;lt;!-- No image. --&amp;gt;&lt;br /&gt;
  | &amp;lt;td class=&amp;quot;mbox-imageright&amp;quot;&amp;gt;{{#switch:{{{small|}}}&lt;br /&gt;
    | left = {{{imageright}}}&lt;br /&gt;
    | #default = &amp;lt;div style=&amp;quot;width: 52px;&amp;quot;&amp;gt; {{{imageright}}} &amp;lt;/div&amp;gt;&lt;br /&gt;
    }}&amp;lt;/td&amp;gt;&lt;br /&gt;
  }}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;!-- &lt;br /&gt;
Detect and report usage with faulty &amp;quot;type&amp;quot; parameter:&lt;br /&gt;
--&amp;gt;{{#switch:{{{type|}}}&lt;br /&gt;
|   &amp;lt;!-- No type fed, is also valid input --&amp;gt;&lt;br /&gt;
| speedy&lt;br /&gt;
| delete&lt;br /&gt;
| content&lt;br /&gt;
| style&lt;br /&gt;
| move&lt;br /&gt;
| protection&lt;br /&gt;
| notice     = &amp;lt;!-- Do nothing, valid &amp;quot;type&amp;quot; --&amp;gt;&lt;br /&gt;
| #default   = &amp;lt;div style=&amp;quot;text-align: center;&amp;quot;&amp;gt;This message box is using an invalid &amp;quot;type={{{type|}}}&amp;quot; parameter and needs fixing.&amp;lt;/div&amp;gt;&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Ambox&amp;diff=128</id>
		<title>साँचा:Ambox</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Ambox&amp;diff=128"/>
		<updated>2018-04-12T11:28:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{Ambox}} begin--&amp;gt;{{#switch:{{{small|}}}&lt;br /&gt;
| left = &lt;br /&gt;
  {{Ambox/core&lt;br /&gt;
  | small      = left&lt;br /&gt;
  | type       = {{{type|}}}&lt;br /&gt;
  | image      = {{#if:{{{smallimage|}}}&lt;br /&gt;
                 | {{{smallimage}}}&lt;br /&gt;
                 | {{{image|}}}&lt;br /&gt;
                 }}&lt;br /&gt;
  | imageright = {{#if:{{{smallimageright|}}}&lt;br /&gt;
                 | {{{smallimageright}}}&lt;br /&gt;
                 | {{{imageright|}}}&lt;br /&gt;
                 }}&lt;br /&gt;
  | style      = {{{style|}}}&lt;br /&gt;
  | textstyle  = {{{textstyle|}}}&lt;br /&gt;
  | text       = {{#if:{{{smalltext|}}}&lt;br /&gt;
                 | {{{smalltext}}} &lt;br /&gt;
                 | {{{text}}} &lt;br /&gt;
                 }}&lt;br /&gt;
  }}&lt;br /&gt;
| #default = &lt;br /&gt;
  {{Ambox/core&lt;br /&gt;
  | type       = {{{type|}}}&lt;br /&gt;
  | image      = {{{image|}}}&lt;br /&gt;
  | imageright = {{{imageright|}}}&lt;br /&gt;
  | style      = {{{style|}}}&lt;br /&gt;
  | textstyle  = {{{textstyle|}}}&lt;br /&gt;
  | text       = {{{text}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&amp;lt;!--{{Ambox}} end--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Book-sidebar&amp;diff=126</id>
		<title>साँचा:Book-sidebar</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Book-sidebar&amp;diff=126"/>
		<updated>2018-04-12T11:28:56Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;noprint&amp;quot; style=&amp;quot;float:right; border:1px solid blue;width:300px;background-color:#F5F5F5;padding:2px;&amp;quot;&amp;gt;&lt;br /&gt;
{| cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
| [[File:Book.jpg|none|80px|Book image]]&lt;br /&gt;
| style=&amp;quot;padding-left:2px;&amp;quot;| Go back to &amp;lt;br/&amp;gt;[[ICT student textbook]] &amp;lt;br/&amp;gt; [[ICT teacher handbook]]&lt;br /&gt;
|}&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Clear&amp;diff=124</id>
		<title>साँचा:Clear</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=%E0%A4%B8%E0%A4%BE%E0%A4%81%E0%A4%9A%E0%A4%BE:Clear&amp;diff=124"/>
		<updated>2018-04-12T11:28:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;clear:{{{1|both}}};&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Learn_Moodle&amp;diff=122</id>
		<title>Learn Moodle</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Learn_Moodle&amp;diff=122"/>
		<updated>2018-04-12T11:28:53Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
==== Basic information ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|ICT Competency&lt;br /&gt;
|Moodle is a learning management system (LMS) designed to provide educators, administrators and learners with a  '''robust, secure and integrated system''' to create personalised and collaborative learning environments.&lt;br /&gt;
|-&lt;br /&gt;
|Educational application and relevance&lt;br /&gt;
|Moodle provides and on-line platform for collaborative learning. It empower teachers to set-up courses, provide learning resources and activities for the course and assess learners. Teachers and learners can share ideas and experiences using the on-line discussion forums in Moodle.&lt;br /&gt;
|-&lt;br /&gt;
|Version&lt;br /&gt;
|Currently using 3.4&lt;br /&gt;
|-&lt;br /&gt;
|Other similar applications&lt;br /&gt;
|TalentLMS &lt;br /&gt;
|-&lt;br /&gt;
|The application on mobiles and tablets&lt;br /&gt;
|It is a web based application, and can be accessed through a browser on any device supporting browsing. &lt;br /&gt;
|-&lt;br /&gt;
|Development and community help&lt;br /&gt;
|[https://docs.moodle.org/dev/Main_Page Moodle]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Working with Moodle ===&lt;br /&gt;
A course is a space on a Moodle site where teachers can add learning materials and activities for their students. A teacher may have more than one course and a course may include more than one teacher and more than one group of learners. &lt;br /&gt;
&lt;br /&gt;
Both teachers and students have to be 'registered' for a course (as 'teacher' or as 'student'), this role configuration is done by the Moodle administrator.&lt;br /&gt;
&lt;br /&gt;
==== Logging into Moodle course page ====&lt;br /&gt;
Click on your Moodle course link and click on the login to view or edit the course content. [https://karnatakaeducation.org.in/lms/ Click here] to view a Moodle installation managed by Centre for Education and Technology, IT for Change.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;200px&amp;quot; caption=&amp;quot;Moodle - Login to the course&amp;quot;&amp;gt;&lt;br /&gt;
File:1. Moodle login page.png|Moodle login screen&lt;br /&gt;
File:2. moodle - After login.png|Course home page&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you login, you can see the course content and you will see your login name  on the top right corner of the screen.&lt;br /&gt;
&lt;br /&gt;
==== Editing sections ====&lt;br /&gt;
Once you have a new blank course, you can start work on it by '&amp;lt;nowiki/&amp;gt;'&amp;lt;nowiki/&amp;gt;''Turning on'''the editing, by clicking the''&amp;lt;nowiki/&amp;gt;'Turn editing on''&amp;lt;nowiki/&amp;gt;' button on the top of the screen. Only faculty will have rights to edit the course contents, including adding resources and activities. This is not available for students.&lt;br /&gt;
&lt;br /&gt;
When the 'editing' option is turned 'on', each item on your course homepage and each section/block will display 'edit' option, which will enable you to perform different functions such as edit/move/copy/delete/hide. '''Note:''' In ''your theme the'' icons ''may be  ''different''. However the functionality is the same for different themes of Moodle.''&lt;br /&gt;
&lt;br /&gt;
Once you click on edit - edit topics, it will take us to edit page (see the below screen shots).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;200px&amp;quot; caption=&amp;quot;Moodle - editing course content sections&amp;quot;&amp;gt;&lt;br /&gt;
File:Moodle - edit option 1.png|Click 'edit topics' option to start editing section&lt;br /&gt;
File:Moodle - edit option 2.png|Uncheck 'Use default section name' for custom title name&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can embed your files like images or videos by dragging and dropping the file to the summary section. You can also adjust the size of the file.&lt;br /&gt;
&lt;br /&gt;
Un-check &amp;quot;Use default section name&amp;quot; to give your custom heading for your section. &lt;br /&gt;
&lt;br /&gt;
Start adding section summary under the summary box (you can copy paste from an existing text document also). Use the top 'basic formatting' toolbar to format your text, you can '''bold''' or ''italicise'' your text and perform basic text editing functions.&lt;br /&gt;
&lt;br /&gt;
Under the restrict section, you can restrict the page to access as in the screen shot below.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;300px&amp;quot; caption=&amp;quot;Moodle - editing course content sections&amp;quot;&amp;gt;&lt;br /&gt;
File:Moodle - edit - restrictions 3.png|Set restrictions to access the section&lt;br /&gt;
File:moodle add or remove sections.png|To add or remove sections&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
Once you have completed your editing and added the text, images, videos in the section, you should on click on &amp;quot;save changes&amp;quot; button to save your content under that section.  &lt;br /&gt;
&lt;br /&gt;
Scroll to the bottom of the course main page and, below the last section, look for the small '''+''' and '''-''' icons (at right). Click the '''plus''' ('''+''')/'''minus(-)''' to add and remove sections.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== Adding Resources ====&lt;br /&gt;
A resource is an item that a teacher can use to support learning, such as a file or web link. To add a resources like files, folder, URLs or to create a book,  turn on your editing by clicking on &amp;quot;Turn edit on&amp;quot;. Choose the section in your course homepage where you'd like it to appear and click on the &amp;quot;Add an activity or resource&amp;quot; available in that section and then select the type of resources you are going to add, from the drop down list.&lt;br /&gt;
&lt;br /&gt;
After you select any resource type from the list, click on 'Add'. In the next dialog box you have enter the required information. See the screen shot  below for details.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot; caption=&amp;quot;Adding resources into the sections&amp;quot;&amp;gt;&lt;br /&gt;
File:Moodle - adding file resources.png|Selecting a type of resources from the list&lt;br /&gt;
File:Moodle adding resources 1.png|Entering basic information about the resources&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
* Name : Type the name for your resources link, it will create a link which students will  click on to view the file. It will be helpful to give it a name that suggests its purpose / contents. &lt;br /&gt;
* Description : Add a description of your file here if required.&lt;br /&gt;
* Display description on the course page : If this box is ticked, the description will appear on the course page just below the name of the file. &lt;br /&gt;
* Select files : click on &amp;quot;Add&amp;quot; and use the file picker to upload your file or drag and drop your file onto the arrow if you are using an appropriate browser. Here you can also create folder and add multiple resource files to a folder. You can use folders to categories files if you plan to provide  many of them for the section. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot; caption=&amp;quot;Adding resources into the sections&amp;quot;&amp;gt;&lt;br /&gt;
File:Moodle adding resources 2.png|Upload files under the select file section&lt;br /&gt;
File:Moodle upload your resource - files.png|Browse your local file location&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once your browse the file then click on upload this file to upload to the page. Finally click on &amp;quot;save and display&amp;quot; to display your resources under the specified section.&lt;br /&gt;
&lt;br /&gt;
==== Adding Activities ====&lt;br /&gt;
Moodle supports a range of different activities types that allow you to insert to any section. You can add interactive exercises for your students.  &lt;br /&gt;
&lt;br /&gt;
To add a activities like quiz, discussion forum, attendances, forms and surveys turn on your editing by clicking on '''Turn editing on''&amp;lt;nowiki/&amp;gt;'. Choose the section in your course homepage where you'd like it to appear and click on the &amp;quot;Add an activity or resource&amp;quot; then select the type of activities you are going to add into section from the list (for example: Quiz).&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot; caption=&amp;quot;Adding activities&amp;quot;&amp;gt;&lt;br /&gt;
File:Moodle quiz activity_1.png|Select type of activity&lt;br /&gt;
File:Moodle configuring activity details.png|Configure your activity&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
After select any activity which you are going to add it to the section (for example: quiz) then click on &amp;quot;add&amp;quot;. In the next dialog box will be a settings form for the activity like below. &lt;br /&gt;
* '''General'''&lt;br /&gt;
** Name : Type the name for your activity link, it will create a link which students will  click on to view the file. It will be helpful to give it a name that suggests its purpose / contents. &lt;br /&gt;
** Description : Add a description of your file here if required.&lt;br /&gt;
** Display description on the course page : If this box is ticked, the description will appear on the course page just below the name of the file.&lt;br /&gt;
* '''Timing'''&lt;br /&gt;
** Open the quiz and Close the quiz : Students can only start their attempt(s) after the open time and they must complete their attempts before the close time.&lt;br /&gt;
** Time limit : If enabled, the time limit is stated on the initial quiz page and a countdown timer is displayed in the quiz navigation block. &lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot; caption=&amp;quot;Configuring activities&amp;quot;&amp;gt;&lt;br /&gt;
File:Moodle adding activity auiz - 3.png|Add basic information about the activities&lt;br /&gt;
File:Moodle adding activity quiz - 4.png|Setting up display and submitting time&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
Once the all the settings has been filled out as required and saved, the activity will appear at the bottom of the section. &lt;br /&gt;
&lt;br /&gt;
You can move any activity around in the course with the move buttons while in course edit mode.&lt;br /&gt;
&lt;br /&gt;
==== Discussion forum activity ====&lt;br /&gt;
The forum activity allows students and teachers to exchange ideas by having discussions on any topic. Any teacher or student registered for the course can post comments, to initiate a new topic, or respond to available discussions on any topic. The discussions for a topic are automatically shown as as part of a 'thread' by Moodle. &lt;br /&gt;
&lt;br /&gt;
There are several forum types to choose from, such as a standard forum where anyone can start a new discussion at any time; a forum where each student can post exactly one discussion; or a question and answer forum where students must first post before being able to view other students' posts. A teacher can allow files to be attached to forum posts. Any images attached  in the forum post are displayed.&lt;br /&gt;
&lt;br /&gt;
Discussion forums have many uses, such as&lt;br /&gt;
* A social space for students to get to know each other&lt;br /&gt;
* For course announcements (using a news forum with forced subscription, where only faculty can post)&lt;br /&gt;
* For discussing course content or reading materials&lt;br /&gt;
* For continuing on-line an issue raised previously in a face-to-face session&lt;br /&gt;
* &lt;br /&gt;
To add discussion topic click on the add &amp;quot;an activity or resource&amp;quot; option and select forum option from the activities list.&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;200px&amp;quot;&amp;gt;&lt;br /&gt;
File:Moodle discussion topics 1.png|Enter the discussion topic and summary&lt;br /&gt;
File:Moodle discussion topics 2.png|Restricting attachment size and text length&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under the &amp;quot;general&amp;quot; section type your discussion topic and under the &amp;quot;attachments and word count&amp;quot; you can limit the size of the attachment and word counts and number of attachments etc.&lt;br /&gt;
&lt;br /&gt;
After you completes the editing, click on &amp;quot;Save and display&amp;quot; to display third discussion thread under your selected section.&lt;br /&gt;
&lt;br /&gt;
Students can start replying to a topic / discussion by simply clicking on the 'reply' option.&lt;br /&gt;
&lt;br /&gt;
==== Multi-lingual offering of courses ====&lt;br /&gt;
The multi-language content filter enables resources to be created in multiple languages. Moodle by default language will be in English and for running any local languages, language packages need to install in your server (This will be done by your web admin).&lt;br /&gt;
[[File:Moodle Multi-lingual.png|none|thumb|600x600px|Use the Moodle in multi-language model]]&lt;br /&gt;
&lt;br /&gt;
Login to your course and on the top right side of the screen you can select the language which you want see your course.&lt;br /&gt;
&lt;br /&gt;
===== Adding content in the course page =====&lt;br /&gt;
For adding other language content into any section, after you enable the editing option and select click on edit -&amp;gt; edit topic.&lt;br /&gt;
[[File:Moodle mult-lingual content .png|left|thumb|500x500px|Adding content in multiple language]]&lt;br /&gt;
&lt;br /&gt;
Once the section open with edit option, for adding Kannada  text in to the section just add '''{mlang kn}''' ('kn' means Kannada, replace this with your language) before your text began and at the end of your text just add '''{mlang}'''. follow the same steps for any other language which is already installed in your moodle server.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== Tracking attendance ====&lt;br /&gt;
The '''Attendance''' module is designed for ''teachers to be able take attendance'' during class, and for ''students to be able to view their own attendance record''.&lt;br /&gt;
&lt;br /&gt;
A teacher can mark the attendance status of a student as &amp;quot;Present&amp;quot;, &amp;quot;Absent&amp;quot;, &amp;quot;Late&amp;quot;, or &amp;quot;Excused&amp;quot;. These status descriptions are configurable, and more can be added. The teacher adds Attendance as an activity of a course, and then sets up the sessions whose attendance is to be tracked. To create course attendance go to any section and click an &amp;quot;Add an activity or resource&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot; caption=&amp;quot;Adding Attendance for the course&amp;quot;&amp;gt; &lt;br /&gt;
File:Adding attendance.png|Select attendance option from the list&lt;br /&gt;
File:Adding attendance - 2 .png| Configuring group &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the general section, Enter all the common details like Name of the attendance and description about the attendance (if you have). In the Common module section, if you want to take attendance only for group of students select the&lt;br /&gt;
&lt;br /&gt;
==== Advanced features ====&lt;br /&gt;
# Tracking attendance&lt;br /&gt;
# Tracking activities&lt;br /&gt;
# Tracking assessments&lt;br /&gt;
# Quizzes&lt;br /&gt;
# Check-lists of activities&lt;br /&gt;
&lt;br /&gt;
=== Reference ===&lt;br /&gt;
* [https://moodle.org/ Moodle]&lt;br /&gt;
* [https://docs.moodle.org/34/en/Main_page Moodle handout]&lt;br /&gt;
[[Category:Explore an application]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Learn_Kazam&amp;diff=120</id>
		<title>Learn Kazam</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Learn_Kazam&amp;diff=120"/>
		<updated>2018-04-12T11:27:23Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;height:10px; float:right; align:center;&amp;quot;&lt;br /&gt;
|&amp;lt;div style=&amp;quot;width:150px;border:none; border-radius:10px;box-shadow: 5px 5px 5px #888888; background:#ffffff; vertical-align:top; text-align:center; padding:5px;&amp;quot;&amp;gt;&lt;br /&gt;
''[http://karnatakaeducation.org.in/KOER/index.php/%E0%B2%95%E0%B2%9C%E0%B2%AE%E0%B3%8D ಕನ್ನಡದಲ್ಲಿ ನೋಡಿ]''&amp;lt;/div&amp;gt;&lt;br /&gt;
{{Template:Book-sidebar}}&lt;br /&gt;
===Introduction===&lt;br /&gt;
====Basic information====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ICT Competency&lt;br /&gt;
|Kazam is an Free and Open Source application and this tool can use it as both screencasting tool and for taking screenshot of your computer screen.&amp;lt;br&amp;gt;&lt;br /&gt;
screencasting: digital recording of computer screen output, also known as a video screen capture, often containing audio narration. &amp;lt;br&amp;gt;&lt;br /&gt;
Screenshot : an image of the data displayed on the screen of a computer or mobile device. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|Educational application and relevance&lt;br /&gt;
|Creating video and image resources, combining audio, text, image, video and dubbing audio of any video. This can be used in digital story telling activities&lt;br /&gt;
|-&lt;br /&gt;
|Version&lt;br /&gt;
|kazam 1.4.5&lt;br /&gt;
|-&lt;br /&gt;
|Other similar applications&lt;br /&gt;
|[http://recordmydesktop.sourceforge.net/about.php RecordMyDesktop], [http://www.maartenbaert.be/simplescreenrecorder/ Simple screen recorder]&lt;br /&gt;
|-&lt;br /&gt;
|The application on mobiles and tablets&lt;br /&gt;
|There are many similar application are available in android mobile phones. Example,. [https://play.google.com/store/apps/details?id=com.hecorat.screenrecorder.free&amp;amp;hl=en AZ screen recorder]&lt;br /&gt;
|-&lt;br /&gt;
|Development and community help&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Overview of features====&lt;br /&gt;
====Installation====&lt;br /&gt;
#The application is not part of the Ubuntu custom distribution.&lt;br /&gt;
#You need to install by choosing “kazam” in Ubuntu Software Centre&lt;br /&gt;
#If you would like to install through the terminal follow these steps below:&lt;br /&gt;
##Open terminal by clicking (Ctrl+Alt+T),&lt;br /&gt;
##Once Window page is open, in front of dollar($) symbol just type below command.&lt;br /&gt;
##'''sudo apt-get install kazam'''&lt;br /&gt;
## just type your password(it will not display on your screen), press '''Enter'''.&lt;br /&gt;
=== Working with application ===&lt;br /&gt;
&lt;br /&gt;
==== Use Print Screen ====&lt;br /&gt;
This is the most common method to take Screenshot. Pressing the “Print Screen” button will take the Screenshot of the “Entire Visible Screen”.&lt;br /&gt;
==== Getting familiar with application ====&lt;br /&gt;
When we open the Kazam we will see this main window. This main window contains the following sections. Open application from Applications---&amp;gt;Sound and Video---&amp;gt;Kazam.&lt;br /&gt;
[[File:Kazam home page.png|left|frame|Kazam home page]]&lt;br /&gt;
# Screencast : This option is to set the screen-casting &lt;br /&gt;
# screenshot : This option is to set the screenshot&lt;br /&gt;
# Fullscreen : By selecting this option, user can able to screencast/screenshot of complete screen of the computer display. This mode is useful for creating tutorials where you need to show the interaction between the desktop manager and the different windows and applications.&lt;br /&gt;
# Window : By selecting this option, user can able to screencast/screenshot of only current window of your computer screen. This mode which records only a particular window and is ideal for recording screencasts of an application.&lt;br /&gt;
# Area : By selecting this option, user can able to screencast/screenshot of only selected area of your computer screen.&lt;br /&gt;
# Mouse cursor : Select this feature for including cursor point into our screencast/screenshot output file.&lt;br /&gt;
# Sound from the speaker : Select this feature for adding speaker output audio with our screencasting.&lt;br /&gt;
# Sound from microphone : Select this feature for adding your own audio (by using microphone) with our screencasting.&lt;br /&gt;
# Seconds to wait before capturing : This will allow us to delay to start the capture.&lt;br /&gt;
# Capture : This option is to start screencast/scheenshot.&lt;br /&gt;
&lt;br /&gt;
==== Getting start with simple screenshot ====&lt;br /&gt;
When user launch the application, user will notice that in addition to recording screencast, user can also use the application to take screenshots, by switching to it at the top.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt; &lt;br /&gt;
File:Kazam home page.png|Selecting screenshot option&lt;br /&gt;
File:Delay count down.png|Delay count time for taking screenshot  &lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
After user opens kazam from menu, just click on the Screenshot option to take capture your computer screen as image. Here user can take screenshot in three modes like full screen, select window and select area.&lt;br /&gt;
Users can choose &lt;br /&gt;
*'''Fullscreen''' when they want to take full computer screen as Screenshot, they can choose (include top and buttom panel of your Ubuntu.&lt;br /&gt;
* '''Window''' when they want to take current window&lt;br /&gt;
*'''Area''' when they want particular area in the screen. &lt;br /&gt;
If users choose '''Area''' option''',''' they have to drag cursor along particular area. Also users can choose whether to keep their '''Mouse cursor''' in their Screenshot and can choose to set capturing delay by few seconds before they actually start their Screenshot.&lt;br /&gt;
&lt;br /&gt;
'''NOTE:-''' ''&amp;lt;u&amp;gt;These options are same for both Screenshot and Screencast.&amp;lt;/u&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
==== Saving screenshot ====&lt;br /&gt;
[[File:Choose lacation to save your screenshot.png|left|thumb|390x390px|Choose location to save your screenshot]] &lt;br /&gt;
&lt;br /&gt;
After selecting above options users can click on '''Capture''' to take Screenshot. &lt;br /&gt;
&lt;br /&gt;
It will prompt users to choose location for save your screenshot. Users can also change the file name before saving.&lt;br /&gt;
&lt;br /&gt;
{{Clear}}&lt;br /&gt;
&lt;br /&gt;
==== Getting start with Screen casting your computer screen ====&lt;br /&gt;
This works similar to Screenshot except that it helps users to record their computer screens along with audio and save them as videos.&lt;br /&gt;
[[File:Screencasting home page.png|left|frame|390x390px|Screencast dialog box]]&lt;br /&gt;
&lt;br /&gt;
Here also users can choose whether to keep their '''Mouse cursor''' in their Screencast recording, also they can choose to record '''Sounds from speakers''' (computer audio output) and '''Sounds from microphone''' (record users input through microphone) in their recording which will help users to use their own voice or music from other sources. &lt;br /&gt;
Also users can choose to set capturing delay by few seconds before they actually start their recording.&lt;br /&gt;
&lt;br /&gt;
After selecting above options users can click on '''Capture''' to begin Screencast.&lt;br /&gt;
&lt;br /&gt;
{{clear}}&lt;br /&gt;
&lt;br /&gt;
==== Saving/exporting screencast  ====&lt;br /&gt;
After recording a screen, users can click on '''Finish recording''' which will prompt users to choose '''edit''' it further using any video editing tools or to '''Save for later''' to save this video in computer'''.''' &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery mode=&amp;quot;packed&amp;quot; heights=&amp;quot;250px&amp;quot;&amp;gt; &lt;br /&gt;
File:Stop screencasting.png|left|Pause/Finish recording dialog box&lt;br /&gt;
File:Save sreencasted video.png|Save screencasted video&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now users can change the project name before saving the project in their desired destination. Now project will be saved as video. This project can again be used later.&amp;lt;br&amp;gt; [[File:Choose lacation to save your screenshot.png|left|thumb|390x390px|Choose location to save your screencast]]{{Clear}}&lt;br /&gt;
&lt;br /&gt;
=== Ideas for resource creation ===&lt;br /&gt;
# This is very useful for creating simple video/screenshot resources by adding narration to a process being done using an application. For example, you can run a simulation on your screen or an image slide show and add your narration to it as the application runs.&lt;br /&gt;
# You can also use an existing video and dub it in another language&lt;br /&gt;
# Please make sure that in both (1) and (2) the original visual resource/ video is licensed for reuse with modification.&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Explore an application]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://oer.teacher-network.in/hi/index.php?title=Learn_Openboard&amp;diff=118</id>
		<title>Learn Openboard</title>
		<link rel="alternate" type="text/html" href="https://oer.teacher-network.in/hi/index.php?title=Learn_Openboard&amp;diff=118"/>
		<updated>2018-04-12T11:26:59Z</updated>

		<summary type="html">&lt;p&gt;Admin: १ अवतरण आयात किया गया: from oer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introduction ===&lt;br /&gt;
Openboard is a software that combines the simplicity of traditional teaching tools with the benefits that the ICTs bring in education. Openboard is a true rich-media authoring application. It enables essential benefits from handwriting while adding visuals, images, graphics, videos, or browse the Internet.&lt;br /&gt;
&lt;br /&gt;
==== Basic information ====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|ICT Competency&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Educational application and relevance&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Version&lt;br /&gt;
|Openboard 1.3.6&lt;br /&gt;
|-&lt;br /&gt;
|Other similar applications&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|The application on mobiles and tablets&lt;br /&gt;
|[https://play.google.com/store/apps/details?id=com.explaineverything.explaineverything Explain Everything]&lt;br /&gt;
|-&lt;br /&gt;
|Development and community help&lt;br /&gt;
|[http://openboard.ch/ Openboard]&lt;br /&gt;
|}&lt;br /&gt;
==== Overview of Features ====&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
#The application is not part of the current Ubuntu custom distribution 16.04 Kalpavriksha.&lt;br /&gt;
#Download application from [https://github.com/OpenBoard-org/OpenBoard/releases/download/v1.3.6/openboard_ubuntu_16.04_1.3.6_amd64.deb this link].&lt;br /&gt;
#Double click on the downloaded &amp;quot;openboard_ubuntu_16.04_1.3.6_amd64.deb&amp;quot; file and this file will open with Ubuntu software center.&lt;br /&gt;
#Now click on the &amp;quot;Install&amp;quot; icon and Enter your Ubuntu login password.&lt;br /&gt;
#Once the installation is complete, you can find this application under &amp;quot;Applications -&amp;gt; Education&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Working with the application ===&lt;br /&gt;
====Openboard Main window ====&lt;br /&gt;
A simple look at the icons should allow you to quickly understand how OpenBoard works.&lt;br /&gt;
[[File:1. Openboard - Top window.png|thumb|600x600px]]&lt;br /&gt;
A) Shows / hides the Stylus Toolbar&lt;br /&gt;
&lt;br /&gt;
B) Basic tools (color, line width, eraser)&lt;br /&gt;
&lt;br /&gt;
C) Advanced tools (backgrounds, undo, redo, pages, previous, next, delete and group)&lt;br /&gt;
&lt;br /&gt;
D) The library (right tab)&lt;br /&gt;
&lt;br /&gt;
E) The flatplan (left tab)&lt;br /&gt;
&lt;br /&gt;
F) Lets you use the integrated web browser OpenBoard.&lt;br /&gt;
&lt;br /&gt;
G) Documents Mode: organize, import and export your courses.&lt;br /&gt;
&lt;br /&gt;
H) Displays your desktop while keeping the functionalities of OpenBoard.&lt;br /&gt;
&lt;br /&gt;
I) The &amp;quot;OpenBoard&amp;quot; button provides access to the application settings and exit.&lt;br /&gt;
&lt;br /&gt;
===== '''Stylus toolbar''' =====&lt;br /&gt;
This toolbar contain many basic drawings tools:&lt;br /&gt;
[[File:2.Stylus toolbar.png|none|thumb|400x400px]]&lt;br /&gt;
A) Writing pen tool.&lt;br /&gt;
&lt;br /&gt;
B) Erase tool : is used to erase any content drawn by pen tool.&lt;br /&gt;
&lt;br /&gt;
C) Highlight tool: is used to highlight passages providing a certain level of transparency.&lt;br /&gt;
&lt;br /&gt;
D) Select and modify objects tool: is used to select an object on your page to move it and apply changes (selection, resizing, deletion, rotation ...).&lt;br /&gt;
&lt;br /&gt;
E)  Interacting with objects&amp;quot; or &amp;quot;Magic Finger&amp;quot; tool: allows you to perform actions on objects without displaying the editing options.&lt;br /&gt;
&lt;br /&gt;
F) Move page tool: allows you to move within a page. You can center the view directly by clicking twice on this icon.&lt;br /&gt;
&lt;br /&gt;
G) Zooming in/out tool: can allow to enlarge or reduce the area on the screen.&lt;br /&gt;
&lt;br /&gt;
H) Using the laser pointer: activates a virtual laser pointer (It writes nothing) as a big red dot.&lt;br /&gt;
&lt;br /&gt;
I) Draw a straight line tool: allows you to draw a straight line.&lt;br /&gt;
&lt;br /&gt;
===== The library =====&lt;br /&gt;
The tab &amp;quot;Library&amp;quot; lets you organize and access your library of sounds, videos, images, shapes, animations, inter-activities and OpenBoard applications (called Apps) as well as perform web searches.&lt;br /&gt;
&lt;br /&gt;
[[Image:3. Library - righ oane.png|400px]]&lt;br /&gt;
&lt;br /&gt;
To access your library, click on the &amp;quot;Library&amp;quot; (1). To resize the pane, click the tab and hold, drag it to the left or right to resize the window as desired, and release the click.&lt;br /&gt;
&lt;br /&gt;
The library is organized into different elements:&lt;br /&gt;
&lt;br /&gt;
A. Return to main menu (Home) library&lt;br /&gt;
&lt;br /&gt;
B. Audios&lt;br /&gt;
&lt;br /&gt;
C. Movies&lt;br /&gt;
&lt;br /&gt;
D. Pictures&lt;br /&gt;
&lt;br /&gt;
E. Animations. This folder provides access to Flash movies (.swf documents) previously inserted into this directory.&lt;br /&gt;
&lt;br /&gt;
F. Interactivities&lt;br /&gt;
&lt;br /&gt;
G. Applications&lt;br /&gt;
&lt;br /&gt;
H. Shapes: This file provides a list of standard shapes that you can add to your document in the same way as images. It’s not possible to import new forms, create personal libraries or remove forms from the library.&lt;br /&gt;
&lt;br /&gt;
I. Favorites&lt;br /&gt;
&lt;br /&gt;
J. Web search&lt;br /&gt;
&lt;br /&gt;
K. Trash: to delete files from your libraries with a simple drag and drop on the icon of the Trash.&lt;br /&gt;
&lt;br /&gt;
L. New Folder: To create one or more subfolders, first click on one of the libraries (audios, movies, pictures, applications and interactivity) and the icon &amp;quot;folder +&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
M. Search field&lt;br /&gt;
&lt;br /&gt;
[[Category:Explore an application]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>