-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path2022-05-03T17_46_17.411Z - Touchscreen - ArchWiki.html
330 lines (301 loc) · 81.4 KB
/
2022-05-03T17_46_17.411Z - Touchscreen - ArchWiki.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
<!DOCTYPE html> <html class="client-js vector-animations-ready" lang=en dir=ltr style><!--
Page saved with SingleFile
url: https://wiki.archlinux.org/title/Touchscreen
saved date: Tue May 03 2022 23:16:17 GMT+0530 (India Standard Time)
--><meta charset=utf-8>
<title>Touchscreen - ArchWiki</title>
<style>:root{--sf-img-8: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyI+Cgk8cGF0aCBmaWxsPSIjMzZiIiBkPSJNNS4wMDIgMS4wMWg3djdsLTItMi0zIDJ2LTFsMy0yLjI1IDEgMVYyLjAxaC0zLjc1bDEgMS0yLjI1IDNoLTFsMi0zeiIvPgoJPHBhdGggZmlsbD0iIzM2YiIgZD0iTTcuMDAyIDMuMDFoLTV2OGg4di01aC0xdjRoLTZ2LTZoNHoiLz4KCTxwYXRoIGZpbGw9IiMxNWE1ZWEiIGQ9Ik00LjA4MiA1LjUxYzAtLjYyMS42MjEtLjYyMS42MjEtLjYyMSAxLjg2NC42MjEgMy4xMDcgMS44NjQgMy43MjggMy43MjggMCAwIDAgLjYyMS0uNjIuNjIxLTEuMjQ1LTEuODY0LTEuODY2LTIuNDg1LTMuNzMtMy43Mjh6Ii8+Cjwvc3ZnPgo=");--sf-img-12: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAAAd0SU1FB9sEBgcJJIxI9k0AAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuOWwzfk4AAAXZSURBVGhD1ZcJTFN3HMef7oT3Cu0rUk4FJ4coXnhMnZvTiMbpZqZAoW6z20R0eA1P4sCLDCV4bMaMOPtei4zJmBqYChqD0xmXCNsSyBLxwmOZDMtZnEblt9+//kvEYnllFNtv8k37+n8v+X7e7/c/yvSmspkAt/0cH0EvXU95np4KgVW06Fh5Av3JtUQARI5/pPfwahM4xde7GeYVOuQasgBUaxZAYeBAEFnFr/pXFf3psPPLAlCbvBIaUtPgxMhxILD8HdGdj6a3OLfaARI/A1NqOpg2boWKWe8DttRDgePTChjmBXqrc8oCcFubCC2r1pshWjdlQE1SMnzvEwgIUZLDcV70dudTO4BGCy1LP+8AcQc/j0aMAByvET34sfQR+yR4espFTlEmsvxpB/kXDAh/x2igeVGyFYQpYzucj36HQNzXcfIlGKnP42QSZWBV3vhw23kvfyjvF9A9ewdCuW8wlAcOgvLgcKgIGQIV4cOhYugoqBgxFn6LmgBGArAgsVOI1i+zoPqTJMjz8iUgBwwqFUvjdS0LwF9+A8EYMKj7HhAGxpBIqB8aBfWjJkDD+MnQ8FY0NEbPhsZZc6Fpbjw0xX9kE6IWvx8ZFEHmRZXAKcNpRNvqMQDiziAmU4jZFCLBNkTztmw4PWkK2S+aESSGxny2ehSAuAcg7u74Cirna8Eg927D+bkTl9qXaVxr9TgAsS0Iie1EIC4vWUbmhHle0LjWcggAcTcqYXoC4ipufPkq3CdYvngvLsU0rrUcBkAspRJPt1PKOrgwbSaIMuUDHcenpjNMXxq1czkUgNiOShjRJeHDcBVS1AqsciqNaFsWgEpVf7joM8Ax9h8IdSFDbVbi+sw5UIAtY9743Hh/Gq9r5eE5BB8yYq/VO8iN+ILgJm5ynVdiFvwRNZ4c7swrThnDvEijOYcsZ6GbpEWfaqe6cW/CqQGhOFEVTQYpa/7zUAeAJ+bEjbBhcEjpa951c2XKMHp770v2gV7pHqubTi+tZAWArvINggMypXl9z2F83emtvS+3eeJYLk6sYWPFrfQnKz0JUIfhzyr9SPB/RU6+GIftO3n2pDD4Yk4t3ld+mAdSAC75BEGR3JuEr9F5KMfQ4d5Xv5g9HBcn5JLgmm8vwsh1JyUBkJbBfj+ml8mUdKj3JdPkhmH4quAlh2HFoduw4YQJhq/tGgCDP0CndbmrOlIYPAZbpnl8WhmklTabw68+boLINbYByJ8THctPo5fPQTEFL2O/75RrDG2xeyth86nW9vDLi1tgyGrbAM9VuMr4s2rhXMDCH2B54S2r8ElHWmDwKgRQCxlMenpfh5kB+1crNk6Yim1TO2ptKWwsbeg0/MeFzRCachKwte6xarHBgd5MY0kQEmPLpHrE6x+9t7McMk+3PjO85mAzzMi5BZN2XYHXs6/A6KzLMDzzMkRkXIKQLZcgaGM1+H9RDT4bum/5wp/wBQlZNJ1teczbx7NxYpFKmw/J+ddg28+2w8fkNcG7hiaYLjTC2/saYMI3DTB6Tz1E7q6HsGwjBG03QkDm/zO/mFRYAoB7ghiFpboasbIYNpUYnSI8sRSAPly8+Cnp4+jMc5B9xmQOv0VC+BkODk/cJYCbWj8aw9+NTDnqdOGJJbWQu1o/EpfCq+HLi2FN0R2J4Rs7ht/R8+GJJc8B8wRWi0XeC/Ihfv8VyeGHOejNWywZ4LGgD7bTelm8+PCNjAugLWzqNPzEXnjzFtsJ8FisWjcF94Lbr60ogTlinc3w/hv+hH4p5Q6zp/aw/QBEburv/HBPOOulLYCJu649880rkkoBd+zrWLkyx1lIorHsVGLOS+QgJ0swtIWn/d4hfDBtGwLgtIc5i8hRGs9GTb5LT0Fo1j/t4V0GgEgWpw/FUlbKtT+C36YbrgdApJpvYLEauTLNAVCtq3I9ACpcaoUknFz3lMvOgGLRcZcDMMstVjcGJ3gNgrgmAJHHvIM8VuOYywKYZf4DtG8wveoFMcx/aUhm3GBMvu0AAAAASUVORK5CYII=")}.mw-ui-button{display:inline-block;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #a2a9b1;border-radius:2px;cursor:pointer;vertical-align:middle;font-family:inherit;font-size:1em;line-height:1.28571429em;text-align:center;-webkit-appearance:none}.mw-ui-button:not(.mw-ui-icon-element){min-height:32px;min-width:4em;max-width:28.75em;margin:0;padding:5px 12px}.mw-ui-button:not(:disabled){-webkit-transition:background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms;transition:background-color 100ms,color 100ms,border-color 100ms,box-shadow 100ms}.mw-ui-button:not(:disabled):visited{color:#202122}.mw-ui-button:not(:disabled):hover{background-color:#ffffff;color:#404244;border-color:#a2a9b1}.mw-ui-button:not(:disabled):focus{color:#202122;border-color:#3366cc;box-shadow:inset 0 0 0 1px #3366cc,inset 0 0 0 2px #ffffff;outline-width:0}.mw-ui-button:not(:disabled):active,.mw-ui-button:not(:disabled).is-on{background-color:#c8ccd1;color:#000000;border-color:#72777d;box-shadow:none}.mw-ui-button:disabled{background-color:#c8ccd1;color:#ffffff;border-color:#c8ccd1;cursor:default}.mw-ui-button.mw-ui-icon-element:not(.mw-ui-icon-with-label-desktop){color:transparent!important}.mw-ui-button.mw-ui-icon-element:not(.mw-ui-icon-with-label-desktop) span{display:block;position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}@media all and (max-width:1000px){.mw-ui-button.mw-ui-icon-element span{display:block;position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}}.mw-ui-button.mw-ui-quiet{background-color:transparent;color:#202122;border-color:transparent;font-weight:bold}.mw-ui-button.mw-ui-quiet:not(.mw-ui-icon-element),.mw-ui-button.mw-ui-quiet.mw-ui-progressive:not(.mw-ui-icon-element),.mw-ui-button.mw-ui-quiet.mw-ui-destructive:not(.mw-ui-icon-element){min-height:32px}input[type='checkbox']:hover+.mw-ui-button.mw-ui-quiet,input[type='checkbox']:hover+.mw-ui-button.mw-ui-quiet.mw-ui-progressive,input[type='checkbox']:hover+.mw-ui-button.mw-ui-quiet.mw-ui-destructive,.mw-ui-button.mw-ui-quiet:hover,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:hover,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:hover{background-color:rgba(0,24,73,0.02745098);color:#202122;border-color:transparent}input[type='checkbox']:focus+.mw-ui-button.mw-ui-quiet,input[type='checkbox']:focus+.mw-ui-button.mw-ui-quiet.mw-ui-progressive,input[type='checkbox']:focus+.mw-ui-button.mw-ui-quiet.mw-ui-destructive,.mw-ui-button.mw-ui-quiet:focus,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:focus,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:focus{color:#202122;border-color:#3366cc;box-shadow:inset 0 0 0 1px #3366cc,inset 0 0 0 2px #ffffff}input[type='checkbox']:active+.mw-ui-button.mw-ui-quiet,input[type='checkbox']:active+.mw-ui-button.mw-ui-quiet.mw-ui-progressive,input[type='checkbox']:active+.mw-ui-button.mw-ui-quiet.mw-ui-destructive,.mw-ui-button.mw-ui-quiet:active,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:active,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:active{background-color:rgba(0,36,73,0.08235294);color:#000000;border-color:#72777d;box-shadow:none}.mw-ui-button.mw-ui-quiet:disabled,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled,.mw-ui-button.mw-ui-quiet:disabled:hover,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled:hover,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled:hover,.mw-ui-button.mw-ui-quiet:disabled:active,.mw-ui-button.mw-ui-quiet.mw-ui-progressive:disabled:active,.mw-ui-button.mw-ui-quiet.mw-ui-destructive:disabled:active{background-color:transparent;color:#72777d;border-color:transparent}a.mw-ui-button{text-decoration:none}a.mw-ui-button:hover,a.mw-ui-button:focus{text-decoration:none}.mw-ui-icon{font-size:initial;position:relative;display:inline-block;box-sizing:content-box!important;width:1.25em;height:1.25em;min-width:1.25em;min-height:1.25em;flex-basis:1.25em;vertical-align:middle;line-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-moz-appearance:none;-webkit-appearance:none;background-color:transparent;margin:0;padding:0}.mw-ui-icon:not(.mw-ui-button){border:0}.mw-ui-icon:before{content:'';display:block;width:100%;height:100%;min-width:1.25em;min-height:1.25em;background-repeat:no-repeat;background-size:1.25em 1.25em;background-position:center}.mw-ui-icon-element{border-radius:2px;padding:0.75em;-webkit-transition:background-color 100ms;transition:background-color 100ms}.mw-ui-icon-element:focus,.mw-ui-icon-element:active,.mw-ui-icon-element:visited{color:transparent}.mw-ui-icon-element:active{background-color:rgba(0,0,0,0.03)}@media (hover:hover){.mw-ui-icon-element:not(.disabled):hover{background-color:rgba(0,0,0,0.03)}}.mw-ui-icon-before{width:auto;max-width:100%}.mw-ui-icon-before:before{display:inline-block;font-size:initial;width:auto;min-width:1.25em;min-height:1.25em;margin-right:8px;vertical-align:middle}.mw-ui-icon-before span{vertical-align:middle}.mw-ui-icon-wikimedia-ellipsis:before{background-image:url(data:text/plain;base64,SW1hZ2UgZ2VuZXJhdGlvbiBmYWlsZWQ=);background-image:linear-gradient(transparent,transparent),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+ZWxsaXBzaXM8L3RpdGxlPjxnIGZpbGw9IiMwMDAiPjxjaXJjbGUgY3g9IjEwIiBjeT0iMTAiIHI9IjIiLz48Y2lyY2xlIGN4PSIzIiBjeT0iMTAiIHI9IjIiLz48Y2lyY2xlIGN4PSIxNyIgY3k9IjEwIiByPSIyIi8+PC9nPjwvc3ZnPgo=)}.mw-ui-icon-wikimedia-logIn:before{background-image:url(data:text/plain;base64,SW1hZ2UgZ2VuZXJhdGlvbiBmYWlsZWQ=);background-image:linear-gradient(transparent,transparent),url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj48dGl0bGU+bG9nIGluPC90aXRsZT48ZyBmaWxsPSIjMDAwIj48cGF0aCBkPSJNMSAxMXY2YzAgMS4xLjkgMiAyIDJoMTRjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0yLTItMkgzYy0xLjEgMC0yIC45LTIgMnY2aDhWNWw0Ljc1IDVMOSAxNXYtNEgxeiIvPjwvZz48L3N2Zz4K)}body{margin:0}main{display:block}@supports (text-decoration:underline dotted){abbr[title]{border-bottom:0;text-decoration:underline dotted}}pre{font-family:monospace,monospace}sup{line-height:1}img{border:0}input{margin:0}.toctogglecheckbox:checked~ul{display:none}@media screen{html,body{height:100%}:focus{outline-color:#3366cc}html{font-size:100%}html,body{font-family:sans-serif}ul{list-style-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjEzIj4KCTxjaXJjbGUgY3g9IjIuNSIgY3k9IjkiIHI9IjIuNSIgZmlsbD0iIzIwMjEyMiIvPgo8L3N2Zz4K)}pre{line-height:1.3}.mw-jump-link:not(:focus){display:block;position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}.mw-body h1,.mw-body-content h2{margin-bottom:0.25em;padding:0;font-family:'Linux Libertine','Georgia','Times',serif;line-height:1.3}.mw-body h1:lang(ja),.mw-body-content h1:lang(ja),.mw-body-content h2:lang(ja),.mw-body h1:lang(he),.mw-body-content h1:lang(he),.mw-body-content h2:lang(he),.mw-body h1:lang(ko),.mw-body-content h1:lang(ko),.mw-body-content h2:lang(ko){font-family:sans-serif}.mw-body h1:lang(my),.mw-body-content h1:lang(my),.mw-body-content h2:lang(my){line-height:normal}.mw-body h1{font-size:1.8em}.vector-body{font-size:calc(1em * 0.875);line-height:1.6}.vector-body h2{margin-top:1em;font-size:1.5em}.vector-body h3{margin-top:0.3em;margin-bottom:0;padding-bottom:0;line-height:1.6}.vector-body h3{font-size:1.2em}.vector-body h3{font-weight:bold}.vector-body .toc h2{font-family:sans-serif;font-size:100%}.vector-body p{margin:0.5em 0}.mw-parser-output .external{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+Cgk8cGF0aCBmaWxsPSIjZmZmIiBzdHJva2U9IiMzNmMiIGQ9Ik0xLjUgNC41MThoNS45ODJWMTAuNUgxLjV6Ii8+Cgk8cGF0aCBmaWxsPSIjMzZjIiBkPSJNNS43NjUgMUgxMXY1LjM5TDkuNDI3IDcuOTM3bC0xLjMxLTEuMzFMNS4zOTMgOS4zNWwtMi42OS0yLjY4OCAyLjgxLTIuODA4TDQuMiAyLjU0NHoiLz4KCTxwYXRoIGZpbGw9IiNmZmYiIGQ9Im05Ljk5NSAyLjAwNC4wMjIgNC44ODVMOC4yIDUuMDcgNS4zMiA3Ljk1IDQuMDkgNi43MjNsMi44ODItMi44OC0xLjg1LTEuODUyeiIvPgo8L3N2Zz4K);background-position:center right;background-repeat:no-repeat;padding-right:13px}.mw-body .mw-indicators{font-size:0.875em;line-height:1.6;position:relative}#siteNotice{font-size:0.8em}.mw-portlet ul{list-style:none none;margin:0}.vector-menu-tabs{background-position:left bottom;float:left;height:2.5em;padding-left:1px}.vector-menu-tabs ul{float:left;height:100%;list-style:none none;margin:0;padding:0}.vector-menu-tabs li{background-image:linear-gradient(to top,#77c1f6 0,#e8f2f8 1px,#ffffff 100%);background-position:left bottom;background-repeat:repeat-x;float:left;display:block;height:100%;margin:0;padding:0;line-height:1.125em;white-space:nowrap}.vector-menu-tabs li a{background-position:right bottom;color:#0645ad;-moz-box-sizing:border-box;box-sizing:border-box;display:block;float:left;height:3.07692308em;position:relative;padding-top:1.25em;padding-left:8px;padding-right:8px;font-size:0.8125em;cursor:pointer}.vector-menu-tabs .selected{background:#ffffff}.vector-menu-tabs .selected a,.vector-menu-tabs .selected a:visited{color:#202122;text-decoration:none}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.vector-menu-dropdown{direction:ltr;float:left;cursor:pointer;position:relative;line-height:1.125em}.vector-menu-dropdown h3{color:#54595d;position:relative;display:block;-moz-box-sizing:border-box;box-sizing:border-box}.vector-menu-dropdown h3:after{content:'';background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDEyIDEyIj4KCTxwYXRoIGZpbGw9IiMyMDIxMjIiIGQ9Im0xMS4wNSAzLjk5Ni0uOTY1LTEuMDUzLTQuMDM1IDMuODYtMy45NDctMy44NkwxLjA1IDMuOTk2bDUgNSA1LTUiLz4KPC9zdmc+Cg==);background-position:100% 50%;background-repeat:no-repeat;position:absolute;top:0.76923077em;right:8px;bottom:0;width:1.23076923em;opacity:0.84}.vector-menu-dropdown h3:hover,.vector-menu-dropdown h3:focus{color:#202122}.vector-menu-dropdown h3:hover:after,.vector-menu-dropdown h3:focus:after{opacity:1}.vector-menu-dropdown .vector-menu-content{background-color:#ffffff;list-style:none none;min-width:100%;position:absolute;top:2.5em;left:-1px;margin:0;border:1px solid #a2a9b1;border-top-width:0;padding:0;box-shadow:0 1px 1px 0 rgba(0,0,0,0.1);text-align:left;opacity:0;visibility:hidden;-webkit-transition:opacity 100ms;transition:opacity 100ms;z-index:3}.vector-menu-dropdown .vector-menu-checkbox-expanded,.vector-menu-dropdown .vector-menu-checkbox-collapsed{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden;display:none}.vector-menu-dropdown .vector-menu-checkbox:checked+.vector-menu-heading .vector-menu-checkbox-expanded,.vector-menu-dropdown .vector-menu-checkbox:not(:checked)+.vector-menu-heading .vector-menu-checkbox-collapsed{display:inline}.vector-menu-dropdown .vector-menu-checkbox:checked~.vector-menu-content{opacity:1;visibility:visible}.vector-menu-dropdown ul{list-style:none}.vector-menu-tabs,.vector-menu-tabs a{background-image:linear-gradient(to bottom,rgba(167,215,249,0) 0,#a7d7f9 100%);background-repeat:no-repeat;background-size:1px 100%}.vector-menu-checkbox{cursor:pointer;position:absolute;top:0;left:0;z-index:1;opacity:0;width:100%;height:100%;margin:0;padding:0;display:none}:not(:checked)>.vector-menu-checkbox{display:block}.vector-menu-portal{margin:0 0.6em 0 0.7em;padding:0.25em 0;direction:ltr}.vector-menu-portal h3{display:block;background-image:linear-gradient(to right,rgba(200,204,209,0) 0,#c8ccd1 33%,#c8ccd1 66%,rgba(200,204,209,0) 100%);background-position:center bottom;background-repeat:no-repeat;background-size:100% 1px;color:#54595d;margin:0.5em 0 0 0.66666667em;border:0;padding:0.25em 0;font-size:0.75em;font-weight:normal;cursor:default}.vector-menu-portal .vector-menu-content{margin-left:0.5em;padding-top:0}.vector-menu-portal .vector-menu-content ul{list-style:none none;margin:0;padding-top:0.3em}.vector-menu-portal .vector-menu-content li{margin:0;padding:0.25em 0;font-size:0.75em;line-height:1.125em;word-wrap:break-word}.vector-menu-portal .vector-menu-content li a{color:#0645ad}.vector-menu-portal .vector-menu-content li a:visited{color:#0b0080}#p-search h3{display:block;position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}#simpleSearch{position:relative;height:100%}#searchInput{background-color:rgba(255,255,255,0.5);color:#000000;width:100%;height:2.15384615em;-moz-box-sizing:border-box;box-sizing:border-box;border:1px solid #a2a9b1;border-radius:2px;padding:5px 2.15384615em 5px 0.4em;box-shadow:inset 0 0 0 1px transparent;font-family:inherit;font-size:0.8125em;direction:ltr;-webkit-transition:border-color 250ms,box-shadow 250ms;transition:border-color 250ms,box-shadow 250ms;-webkit-appearance:none;-moz-appearance:textfield}#simpleSearch:hover #searchInput{border-color:#72777d}#searchInput:focus,#simpleSearch:hover #searchInput:focus{outline:0;border-color:#3366cc;box-shadow:inset 0 0 0 1px #3366cc}#searchInput::-webkit-input-placeholder{color:#72777d;opacity:1}#searchInput::placeholder{color:#72777d;opacity:1}#searchInput::-webkit-search-decoration,#searchInput::-webkit-search-cancel-button,#searchInput::-webkit-search-results-button,#searchInput::-webkit-search-results-decoration{display:none}#searchButton,#mw-searchButton{background-color:transparent;position:absolute;top:1px;bottom:1px;right:1px;min-width:28px;width:2.15384615em;border:0;padding:0;cursor:pointer;font-size:0.8125em;direction:ltr;text-indent:-99999px;white-space:nowrap;overflow:hidden;z-index:1}#searchButton{background:no-repeat center / 1.23076923em url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTx0aXRsZT4KCQlzZWFyY2gKCTwvdGl0bGU+Cgk8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi4yIDEzLjZhNyA3IDAgMSAxIDEuNC0xLjRsNS40IDUuNC0xLjQgMS40LTUuNC01LjR6TTEzIDhBNSA1IDAgMSAxIDMgOGE1IDUgMCAwIDEgMTAgMHoiLz4KPC9zdmc+Cg==);opacity:0.67}.vector-search-box-collapses>div{display:none}.mw-footer{direction:ltr}.mw-footer ul{list-style:none none;margin:0;padding:0}.mw-footer li{color:#202122;margin:0;padding:0.5em 0;font-size:0.75em}#footer-info li{line-height:1.4}#footer-places li{float:left;margin-right:1em;line-height:2}}@media screen and (min-width:1000px){.vector-search-box-collapses>div{display:block}}@media screen{body{background-color:#f8f9fa;color:#202122;overflow-y:scroll}.mw-body{direction:ltr}.mw-body{border-top:1px solid #a7d7f9;margin-top:-1px;padding:1.25em 0.5em 1.5em}.mw-body .firstHeading{overflow:visible}.mw-header{min-height:3.125em;margin:0.625em 0 0.3125em;padding:0.125em 0;display:-ms-flexbox;display:flex;flex-wrap:nowrap;align-items:center;position:relative;z-index:4}#p-search{float:left;margin:0 0 0 2.85714286em;z-index:3;flex-grow:1}#p-search>div>#searchform{-moz-box-sizing:border-box;box-sizing:border-box;margin-left:0}.mw-body,#left-navigation,.mw-footer{margin-left:0}.mw-indicators{z-index:1}.vector-body{position:relative;z-index:0}#mw-navigation h2{position:absolute;top:-9999px}.mw-article-toolbar-container{max-width:60em;margin-left:auto;margin-right:auto}.mw-article-toolbar-container:after{clear:both;content:'';display:block}#left-navigation{float:left}#right-navigation{float:right}#right-navigation .vector-menu-content{left:auto;right:-1px}#mw-sidebar-button{float:left;margin-left:-0.75em;margin-right:0.75em}#mw-panel{background-image:linear-gradient(to bottom,#ffffff 0%,#f8f9fa 10%,#f8f9fa 90%,#ffffff 100%);position:absolute;left:-1.875em;width:11em;-moz-box-sizing:border-box;box-sizing:border-box;padding:8px 0 40px 0.8125em;z-index:1}#p-namespaces{background-image:none;padding-left:0}.mw-footer{border-top:1px solid #a2a9b1;padding:0.75em}.mw-page-container{max-width:103.125em;min-height:100%;margin-left:auto;margin-right:auto;padding:0.05px 0.9375em;background-color:#ffffff}.skin--responsive .mw-page-container{min-width:auto}.mw-page-container-inner{position:relative}.mw-workspace-container{max-width:90em;margin-left:auto;margin-right:auto;position:relative}.mw-workspace-container.mw-footer-container{position:static}.mw-content-container{max-width:60em;margin-left:auto;margin-right:auto}.mw-footer-container{padding-top:50px;padding-bottom:82px}#mw-sidebar-checkbox:not(:checked)~.mw-workspace-container .mw-sidebar{-webkit-transform:translateX(-6.5625em);-ms-transform:translateX(-6.5625em);transform:translateX(-6.5625em)}@keyframes search-loader-progress-bar{0%{background-size:0 2px;background-position:-10% 0}30%{background-size:30% 2px;background-position:-10% 0}70%{background-size:30% 2px;background-position:110% 0}100%{background-size:0 2px;background-position:110% 0}}#p-search{font-size:calc(1em * 0.875)}#searchInput,#searchButton,#mw-searchButton{font-size:inherit}#searchInput{height:2.28571429em}#searchButton,#mw-searchButton{background-size:1.42857143em auto}.client-js .skin-vector-search-vue #searchInput{padding-left:2.57142857em;padding-right:8px}.client-js .skin-vector-search-vue #searchButton,.client-js .skin-vector-search-vue #mw-searchButton{pointer-events:none;right:auto;top:0;bottom:0;left:1px;width:2.57142857em}.client-js .skin-vector-search-vue .p-search--show-thumbnail #searchInput:focus,.client-js .skin-vector-search-vue .vector-search-box-show-thumbnail #searchInput:focus{position:relative;padding-left:calc(2.57142857em + 24px);width:calc(100% + 24px);left:calc(-1 * 24px)}.client-js .skin-vector-search-vue .p-search--show-thumbnail #searchInput:focus~#searchButton,.client-js .skin-vector-search-vue .vector-search-box-show-thumbnail #searchInput:focus~#searchButton,.client-js .skin-vector-search-vue .p-search--show-thumbnail #searchInput:focus~#mw-searchButton,.client-js .skin-vector-search-vue .vector-search-box-show-thumbnail #searchInput:focus~#mw-searchButton{left:-11px}#mw-panel{font-size:inherit}#mw-panel nav:first-child{background-image:none}#mw-panel nav:first-child h3{display:none}#mw-panel nav:first-child .vector-menu-content{margin-left:0.5em}.mw-checkbox-hack-button{display:inline-block;cursor:pointer}#mw-sidebar-button:before{opacity:0.67;background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E chevron %3C/title%3E %3Cpath d=%22m9 2 1.3 1.3L3.7 10l6.6 6.7L9 18l-8-8 8-8zm8.5 0L19 3.3 12.2 10l6.7 6.7-1.4 1.3-8-8 8-8z%22/%3E %3C/svg%3E")}#mw-sidebar-checkbox:not(:checked)~.mw-header #mw-sidebar-button:before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2220%22 height=%2220%22 viewBox=%220 0 20 20%22%3E %3Ctitle%3E menu %3C/title%3E %3Cpath d=%22M1 3v2h18V3zm0 8h18V9H1zm0 6h18v-2H1z%22/%3E %3C/svg%3E")}#mw-sidebar-button:hover:before{opacity:1}#mw-sidebar-checkbox:not(:checked)~.mw-workspace-container .mw-sidebar{visibility:hidden;opacity:0;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}.vector-animations-ready .mw-sidebar{-webkit-transition:transform 100ms ease-out,opacity 100ms ease-out,visibility 100ms ease-out;transition:transform 100ms ease-out,opacity 100ms ease-out,visibility 100ms ease-out}.vector-animations-ready #mw-sidebar-button{-webkit-transition:background-color 100ms,border-color 100ms,box-shadow 100ms;transition:background-color 100ms,border-color 100ms,box-shadow 100ms}.vector-user-links{display:flex;align-items:center;position:relative;justify-content:flex-end;flex-shrink:1}.vector-user-links .vector-user-menu-more{font-size:0.875em}.vector-user-links .vector-user-menu-more .vector-menu-content-list{display:flex;align-items:center}.vector-user-links .vector-user-menu-more .vector-menu-content-list li{margin:0;white-space:nowrap}.vector-user-links .vector-user-menu-more .vector-menu-content-list li a{color:#202122;text-decoration:none}.vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item{display:none}.vector-user-links .vector-user-menu-more .mw-ui-button{display:flex;align-items:center}.vector-user-links .vector-user-menu.emptyPortlet{display:block}.vector-user-links .vector-user-menu .vector-menu-heading.mw-ui-icon>span{color:transparent}.vector-user-links .vector-user-menu .vector-menu-content{min-width:200px;max-width:21.875em;top:100%;left:unset;right:0;border-top-width:1px;border-radius:2px;box-shadow:0 2px 2px 0 rgba(0,0,0,0.25)}.vector-user-links .vector-user-menu .vector-menu-content-item{min-height:2em;display:flex;align-items:center;padding:0 12px;color:#202122;text-decoration:none}.vector-user-links .vector-user-menu .vector-menu-content-item span{font-size:0.875em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:initial}.vector-user-links .vector-user-menu li>a:hover,.vector-user-links .vector-user-menu .vector-menu-content-item:hover,.vector-user-links .vector-user-menu .mw-list-item>a:hover{background-color:#f6f6f6}.vector-user-links .vector-user-menu .vector-menu-content-item-login{border-bottom:1px solid #a2a9b1}.vector-user-links .vector-user-menu .vector-user-menu-anon-editor{padding:4px 12px;color:#54595d;font-size:0.875em}.vector-user-links .vector-user-menu .vector-user-menu-anon-editor p{margin:0}.vector-user-links .vector-user-menu .vector-user-menu-anon-editor a:before{content:'(';color:#54595d}.vector-user-links .vector-user-menu .vector-user-menu-anon-editor a:after{content:')';color:#54595d}.vector-user-links .vector-user-menu-logged-out h3:before{height:100%}.vector-user-links .vector-user-menu-logged-out h3:after{content:none}}@media screen and (min-width:106.875em){.mw-page-container{border-left:1px solid #f8f9fa;border-right:1px solid #f8f9fa}}@media screen and (max-width:86.75em){.mw-checkbox-hack-checkbox:checked~.mw-workspace-container .mw-content-container,.mw-checkbox-hack-checkbox:checked~.mw-workspace-container .mw-article-toolbar-container{margin-left:11.5em}.vector-animations-ready .mw-sidebar{-webkit-transition:none;transition:none}}@media screen and (min-width:93.75em){#mw-panel{background:#ffffff;border-right:1px solid #f8f9fa}}@media screen and (min-width:1000px){#p-search{margin:0 12px 0 2.85714286em;width:20vw;max-width:100%;min-width:25em;flex-basis:10.71428571em;flex-grow:1}#p-search>div>#searchform{max-width:35.71428571em}.mw-page-container{padding-left:1.875em;padding-right:1.875em}}@media screen and (max-width:720px){.mw-checkbox-hack-checkbox:checked~.mw-workspace-container #mw-panel{width:100%;position:relative;left:0}.mw-checkbox-hack-checkbox:checked~.mw-workspace-container .mw-content-container,.mw-checkbox-hack-checkbox:checked~.mw-workspace-container .mw-article-toolbar-container{margin-left:0!important}}@media screen and (max-width:720px){.vector-animations-ready .mw-sidebar{transition:none}}@media screen and (min-width:720px){.vector-user-links .vector-user-menu-more .vector-menu-content-list li.user-links-collapsible-item{display:block}}@media screen{.mw-parser-output a.extiw:visited,.mw-parser-output a.external:visited{color:#663366}.mw-parser-output a.extiw:active,.mw-parser-output a.external:active{color:#bb6633}.plainlinks a.external{background:none!important;padding:0!important}.mw-parser-output a.external{background-image:var(--sf-img-8);background-position:center right;background-repeat:no-repeat;padding-right:13px}.mw-parser-output a.external{color:#36b}.mw-body-content:after{clear:both;content:'';display:block}#siteNotice{position:relative;text-align:center;margin:0}#contentSub,#contentSub2{font-size:84%;line-height:1.2em;margin:0 0 1.4em 1em;color:#54595d;width:auto}.emptyPortlet{display:none}.mw-indicators{float:right}#catlinks{text-align:left}.catlinks{border:1px solid #a2a9b1;background-color:#f8f9fa;padding:5px;margin-top:1em;clear:both}.catlinks ul{display:inline;margin:0;padding:0;list-style:none}.catlinks li{display:inline-block;line-height:1.25em;border-left:1px solid #a2a9b1;margin:0.125em 0;padding:0 0.5em}.catlinks li:first-child{padding-left:0.25em;border-left:0}a{text-decoration:none;color:#0645ad;background:none}a:not([href]){cursor:pointer}a:visited{color:#0b0080}a:active{color:#faa700}a:hover,a:focus{text-decoration:underline}a:lang(ar),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}img{border:0;vertical-align:middle}h1,h2,h3{color:#000;margin:0;padding-top:0.5em;padding-bottom:0.17em;overflow:hidden}h1,h2{margin-bottom:0.6em;border-bottom:1px solid #a2a9b1}h3{margin-bottom:0.3em}h1{font-size:188%;font-weight:normal}h2{font-size:150%;font-weight:normal}h3{font-size:128%}p{margin:0.4em 0 0.5em 0}p img{margin:0}ul{margin:0.3em 0 0 1.6em;padding:0}li{margin-bottom:0.1em}pre,code{font-family:monospace,monospace}pre,code{background-color:#f8f9fa;color:#000;border:1px solid #eaecf0}code{border-radius:2px;padding:1px 4px}pre{padding:1em;white-space:pre-wrap;overflow-x:hidden;word-wrap:break-word}form{border:0;margin:0}@counter-style meetei{system:numeric;symbols:'\ABF0' '\ABF1' '\ABF2' '\ABF3' '\ABF4' '\ABF5' '\ABF6' '\ABF7' '\ABF8' '\ABF9';suffix:') '}@counter-style santali{system:numeric;symbols:'\1C50' '\1C51' '\1C52' '\1C53' '\1C54' '\1C55' '\1C56' '\1C57' '\1C58' '\1C59'}.mw-content-ltr ul{margin:0.3em 0 0 1.6em;padding:0}h1:lang(anp),h1:lang(as),h1:lang(bh),h1:lang(bho),h1:lang(bn),h1:lang(gu),h1:lang(hi),h1:lang(kn),h1:lang(ks),h1:lang(ml),h1:lang(mr),h1:lang(my),h1:lang(mai),h1:lang(ne),h1:lang(new),h1:lang(or),h1:lang(pa),h1:lang(pi),h1:lang(sa),h1:lang(ta),h1:lang(te){line-height:1.6em!important}h2:lang(anp),h3:lang(anp),h4:lang(anp),h5:lang(anp),h6:lang(anp),h2:lang(as),h3:lang(as),h4:lang(as),h5:lang(as),h6:lang(as),h2:lang(bho),h3:lang(bho),h4:lang(bho),h5:lang(bho),h6:lang(bho),h2:lang(bh),h3:lang(bh),h4:lang(bh),h5:lang(bh),h6:lang(bh),h2:lang(bn),h3:lang(bn),h4:lang(bn),h5:lang(bn),h6:lang(bn),h2:lang(gu),h3:lang(gu),h4:lang(gu),h5:lang(gu),h6:lang(gu),h2:lang(hi),h3:lang(hi),h4:lang(hi),h5:lang(hi),h6:lang(hi),h2:lang(kn),h3:lang(kn),h4:lang(kn),h5:lang(kn),h6:lang(kn),h2:lang(ks),h3:lang(ks),h4:lang(ks),h5:lang(ks),h6:lang(ks),h2:lang(ml),h3:lang(ml),h4:lang(ml),h5:lang(ml),h6:lang(ml),h2:lang(mr),h3:lang(mr),h4:lang(mr),h5:lang(mr),h6:lang(mr),h2:lang(my),h3:lang(my),h4:lang(my),h5:lang(my),h6:lang(my),h2:lang(mai),h3:lang(mai),h4:lang(mai),h5:lang(mai),h6:lang(mai),h2:lang(ne),h3:lang(ne),h4:lang(ne),h5:lang(ne),h6:lang(ne),h2:lang(new),h3:lang(new),h4:lang(new),h5:lang(new),h6:lang(new),h2:lang(or),h3:lang(or),h4:lang(or),h5:lang(or),h6:lang(or),h2:lang(pa),h3:lang(pa),h4:lang(pa),h5:lang(pa),h6:lang(pa),h2:lang(pi),h3:lang(pi),h4:lang(pi),h5:lang(pi),h6:lang(pi),h2:lang(sa),h3:lang(sa),h4:lang(sa),h5:lang(sa),h6:lang(sa),h2:lang(ta),h3:lang(ta),h4:lang(ta),h5:lang(ta),h6:lang(ta),h2:lang(te),h3:lang(te),h4:lang(te),h5:lang(te),h6:lang(te){line-height:1.4em}h2:lang(th){line-height:1.6}.toc{border:1px solid #a2a9b1;background-color:#f8f9fa;font-size:95%}.toc{display:table;padding:7px}.toc h2{display:inline;border:0;padding:0;font-size:100%;font-weight:bold}.toc .toctitle{text-align:center}.toc ul{list-style:none;margin:0.3em 0;padding:0}.tocnumber,.toctext{display:table-cell;text-decoration:inherit}.tocnumber{color:#202122}.mw-content-ltr .tocnumber{padding-left:0;padding-right:0.5em}.toctogglecheckbox{display:inline!important;position:absolute;opacity:0;z-index:-1}.toctogglespan{font-size:94%}.toctogglespan:before{content:' ['}.toctogglespan:after{content:']'}.toctogglelabel{cursor:pointer;color:#0645ad}.toctogglelabel:hover{text-decoration:underline}.toctogglecheckbox:focus+.toctitle .toctogglelabel{text-decoration:underline;outline:dotted 1px;outline:auto -webkit-focus-ring-color}.toctogglecheckbox:checked+.toctitle .toctogglelabel:after{content:'show'}.toctogglecheckbox:not(:checked)+.toctitle .toctogglelabel:after{content:'hide'}.toc .toctitle{direction:ltr}.mw-content-ltr .toc ul{text-align:left}.mw-content-ltr .toc ul ul{margin:0 0 0 2em}}#archnavbar{height:40px!important;padding:10px 15px!important;background:#333!important;border-bottom:5px #08c solid!important}#archnavbarlogo{float:left!important;margin:0!important;padding:0!important;height:40px!important;width:190px!important}html>body #archnavbarlogo{background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEiIHdpZHRoPSI2MDAiIGhlaWdodD0iMTI2Ij48cGF0aCBkPSJNMTU5LjU2OCAzNC40MjdjLTguODktLjAxNC0xNi4yNjcgMS44MDktMTkuMTIgMi44MDNsLTIuOTM3IDE1Ljg1N2MtLjAwNy4wNTggMTQuNjE3LTMuOSAyMS4wNTktMy42NjcgMTAuNjY1LjM4MyAxMS42NDYgNC4wNzYgMTEuNDYgOS4wNi4xODIuMjkyLTIuNzUyLTQuNTAzLTExLjk3OS00LjY2NC0xMS42NC0uMi0yOC4wNjkgNC4xMjItMjguMDQ2IDIxLjY5Mi0uMzE0IDE5Ljc2NSAxNC43NjQgMjUuNTc5IDI1LjAzMiAyNS42ODYgOS4yMzItLjE2OCAxMy41NjMtMy40OTYgMTUuOTM0LTUuMjggMy4xMTUtMy4yNTcgNi42NzktNi41MzIgMTAuMDc4LTEwLjQ2Mi0zLjIxNiA1Ljg0NC02LjAwNSA5Ljg4NC04LjkwNyAxMi45Nzd2Mi42MTFsMTQuMDMzLTIuMzYxLjA5Ni0zOC4xNDRjLS4xNDMtNS4zOTkgMy4wOTYtMjYuMDU3LTI2LjcwMy0yNi4xMDh6bS0yLjAxNiAzMy4yMWM1LjgxNy4wOCAxMi40ODggMi45NDggMTIuNDk3IDkuODQ5LjAzIDYuMjc3LTcuODYzIDkuNjUxLTEyLjk5NiA5LjU5OC01LjEzNS0uMDUzLTExLjk0OS00LjAzNi0xMS45NzktMTAuMTU1LjA5OS01LjQ3IDYuNDI2LTkuNDMyIDEyLjQ3OC05LjI5MXptMzcuOTcyLTI5LjY4NWwtLjA5NSA2My4xNjYgMTYuMzQ4LTMuMTUuMDI3LTM1LjgxNGMuMDA0LTUuMzMzIDcuNjItMTEuNTY0IDE3LjE3OC0xMS40NjQgMi4wMjgtMy42NyA1Ljg0LTEzLjA1IDYuNzctMTUuMTgzLTIxLjM1MS0uMDUxLTIxLjYyMyA2LjEzNy0yNS4zMzYgOS4xOC0uMDQtNS44MDYtLjAxMy05LjI5Mi0uMDEzLTkuMjkybC0xNC44NzkgMi41NTd6bTkyLjAwMiA4LjI5MmMtLjE1OC0uMDc0LTguNTI2LTkuNzg4LTI1LjM1LTkuODY0LTE1Ljc1OC0uMjYyLTMzLjQzMyA1Ljg0Ny0zMy43MTYgMzIuMjcuMTM4IDIzLjIzMiAxNi45NzkgMzIuMzExIDMzLjgwNSAzMi40ODggMTguMDA3LjE4NyAyNS4xNzItMTEuMjYgMjUuNjAyLTExLjU0My0yLjE0OS0xLjg2My0xMC4xOTYtOS44MzctMTAuMTk2LTkuODM3cy01LjAyNyA3LjE1Ny0xNC43NzkgNy4yNDhjLTkuNzU1LjA5My0xOC4yMzQtNy41NC0xOC4zNTQtMTguMTg5LS4xMjUtMTAuNjUgNy43OTUtMTYuNDE5IDE4LjQyNy0xNi44ODUgOS4yMDUtLjAwMiAxNC41MTYgNS45NDMgMTQuNTE2IDUuOTQzem0yMC42MDYtMzAuMzk5bC0xNS40MzQgMy42MjguMTE1IDgyLjI3NyAxNS4yMDQtMi43NDUuMTcyLTM4LjcyYy4wMzMtNC4wNiA1Ljg3NC0xMC4yOTUgMTUuNjI2LTEwLjA5NyA5LjMyNS4wOTcgMTEuNDEgNi4yMTUgMTEuMzg0IDYuOTg4bC4yNjkgNDQuODI0IDE0Ljk5My0yLjY1LjA1Ny00Ny41M2MuMDk5LTQuNTc0LTEwLjAxOC0xNC4yMzMtMjYuMjgtMTQuMzAyLTcuNzI5LjAxMi0xMi4wMDkgMS43NjItMTQuMTg3IDMuMDUyLTMuNzI2IDIuODc5LTcuOTg1IDUuNjM3LTEyLjE3IDkuMTU3IDMuODY5LTQuOTcgNy4xMTctOC40MDcgMTAuMjktMTAuOTYxbC0uMDQtMjIuOTIxeiIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PHBhdGggZD0iTTM2MC4xMzYgMTcuMjE4bDYuOTYyLTEuNzQyLjMzIDgyLjk1LTcuMDc0IDEuMjA0em0xOC45MjggMjQuNzU3bDYuMTAxLTIuNzE2LjA1MiA1OS40NzgtNS44OTIgMS4yMTd6bS0xLjQ1LTIxLjQ0OGw0LjkyLTQuMDE1IDQuMDg2IDQuNTQ3LTQuOTIxIDQuMTIxem0xOS4wMjQgMjAuMzY1bDYuOTYyLTEuNDIxLjAzMyAxMi40MzRjLjAwMS41MzQgMy44MjMtMTMuODkgMjIuMjU4LTEzLjU3IDE3LjkuMSAyMC44MjcgMTMuOTU3IDIwLjczIDE3LjA2NGwuMjIxIDQzLjcyNS02LjEwMiAxLjMyNC0uMDM1LTQzLjE4OWMuMDctMS4yNjEtMi43OS0xMS45MjctMTUuNDM5LTExLjk2Ni0xMi42NDYtLjAzNy0yMS40MDkgOS4xODYtMjEuMzkzIDE1LjA3OGwuMSAzOC4wNDctNy4wNyAxLjg0N3ptMTEwLjk1NCA1OC41NDZsLTYuOTYyIDEuNDItLjAzMy0xMi40MzNjLS4wMDEtLjUzNC0zLjgyNSAxMy44OS0yMi4yNTggMTMuNTctMTcuOS0uMS0yMC44MjctMTMuOTU3LTIwLjczLTE3LjA2NGwtLjIyMS00My43MjUgNy4zOTctMS40OTQuMTE0IDQzLjE5Yy4wMDMgMS4xOCAxLjQxNiAxMi4wOTYgMTQuMDY1IDEyLjEzNSAxMi42NDYuMDM3IDIxLjUwNi03LjYxNiAyMS41NjktMTkuMTM5bC0uMDktMzQuMDc2IDYuODg1LTEuNzU3em0xMy42NDUtNTkuMDM3bC00Ljg4MiAzLjgyIDE4LjcxNyAyNC40OTQtMTkuOTYzIDI4LjMgNS4xNzkgMy44NDMgMTguNzY2LTI2LjI4IDE5LjM2OCAyNi45MDIgNC43OTEtMy44Mi0yMC43NTctMjguNzY1IDE2LjU2LTIzLjI2Mi01LjA5Mi00LjMwNS0xNS4wODUgMjEuNTI1ek02MS44OCAxLjc3OGMtNS4zODUgMTMuMjAzLTguNjMzIDIxLjgzOS0xNC42MjkgMzQuNjQ5IDMuNjc2IDMuODk2IDguMTg4IDguNDM0IDE1LjUxNiAxMy41NTktNy44NzgtMy4yNDItMTMuMjUyLTYuNDk3LTE3LjI2Ny05Ljg3NC03LjY3MyAxNi4wMTEtMTkuNjk1IDM4LjgxOC00NC4wOSA4Mi42NSAxOS4xNzQtMTEuMDY4IDM0LjAzNy0xNy44OTMgNDcuODg5LTIwLjQ5N2EzNS4xMDMgMzUuMTAzIDAgMCAxLS45MS04LjIxM2wuMDIzLS42MTRjLjMwNC0xMi4yODQgNi42OTQtMjEuNzMgMTQuMjY0LTIxLjA5IDcuNTcuNjQyIDEzLjQ1NCAxMS4xMjYgMTMuMTUgMjMuNDEtLjA1OCAyLjMxMi0uMzE5IDQuNTM2LS43NzQgNi41OTggMTMuNzAxIDIuNjggMjguNDA1IDkuNDg3IDQ3LjMyIDIwLjQwNy0zLjczLTYuODY2LTcuMDU5LTEzLjA1Ni0xMC4yMzgtMTguOTUtNS4wMDctMy44ODItMTAuMjMtOC45MzMtMjAuODg0LTE0LjQwMiA3LjMyMyAxLjkwMyAxMi41NjYgNC4wOTkgMTYuNjUzIDYuNTUyQzc1LjU4IDM1Ljc4NiA3Mi45NjMgMjcuNzkgNjEuODggMS43Nzh6IiBmaWxsPSIjMTc5M2QxIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48cGF0aCBkPSJNNTc2Ljc3MSA5My4yNjVWODAuNjAzaC00Ljczdi0xLjY5NWgxMS4zOHYxLjY5NWgtNC43NXYxMi42NjJoLTEuOW04LjYyOSAwVjc4LjkwOGgyLjg1OWwzLjM5OCAxMC4xNjZjLjMxNC45NDcuNTQyIDEuNjU1LjY4NiAyLjEyNS4xNjMtLjUyMi40MTgtMS4yOS43NjQtMi4zMDFsMy40MzctOS45OWgyLjU1NnYxNC4zNTdoLTEuODMxVjgxLjI1bC00LjE3MiAxMi4wMTZoLTEuNzE0bC00LjE1Mi0xMi4yMjJ2MTIuMjIyaC0xLjgzMiIgZm9udC13ZWlnaHQ9IjQwMCIgZm9udC1zaXplPSI4LjQ0MSIgZm9udC1mYW1pbHk9IkRlamFWdSBTYW5zIE1vbm8iIGZpbGw9ImdyYXkiLz48L3N2Zz4=) no-repeat!important;background-size:190px 40px!important}#archnavbarlogo p{margin:0!important;padding:0!important;text-indent:-9999px!important}#archnavbarlogo a{display:block!important;height:40px!important;width:190px!important}#archnavbar ul{display:inline!important;float:right!important;list-style:none!important;margin:0!important;padding:0!important}#archnavbar ul li{float:left!important;font-size:14px!important;font-family:sans-serif!important;line-height:45px!important;padding-right:15px!important;padding-left:15px!important}#archnavbar ul#archnavbarlist li a{color:#999;font-weight:bold!important;text-decoration:none!important}#archnavbar ul li a:hover{color:white!important;text-decoration:underline!important}#archnavbar ul li.anb-selected a{color:white!important}@media (max-width:600px){#anb-wiki{display:none}}@media (max-width:680px){html>body #archnavbarlogo{width:40px!important;margin-right:5px!important;background:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAwIiBoZWlnaHQ9IjEyMDAiIHZlcnNpb249IjEiPjxwYXRoIGQ9Ik02MDAgMGMtNTMuNDE2IDEzMC45NjItODUuNjcxIDIxNi43NC0xNDUuMTQzIDM0My44MSAzNi40NjQgMzguNjUxIDgxLjIyIDgzLjQ0OSAxNTMuOTA1IDEzNC4yODUtNzguMTQ1LTMyLjE1Ni0xMzEuNDAzLTY0LjIxMy0xNzEuMjM4LTk3LjcxNEMzNjEuNDEgNTM5LjIgMjQxLjk4OSA3NjUuMTk0IDAgMTIwMGMxOTAuMTYxLTEwOS43ODQgMzM3LjY2NS0xNzcuMzk3IDQ3NS4wNDgtMjAzLjIzOC01Ljg5NS0yNS4zNjctOS4xOC01Mi44OTYtOC45NTMtODEuNTI0bC4xOS01LjkwNUM0NjkuMzA1IDc4Ny40OCA1MzIuNzIgNjkzLjYzOCA2MDcuODEgNzAwYzc1LjA4OSA2LjM2MiAxMzMuNDk0IDExMC41MjggMTMwLjQ3NiAyMzIuMzgxLS41NjggMjIuOTE2LTMuMTA1IDQ0Ljg4NS03LjYyIDY1LjMzM0M4NjYuNTI4IDEwMjQuMzI1IDEwMTIuNDYyIDEwOTEuNzMgMTIwMCAxMjAwYy0zNi45OTUtNjguMTExLTcwLjE4LTEyOS4zMzUtMTAxLjcxNC0xODcuODEtNDkuNjcyLTM4LjQ5OS0xMDEuMzY1LTg4LjYxMy0yMDcuMDQ4LTE0Mi44NTcgNzIuNjQgMTguODc1IDEyNC43OTMgNDAuNjEyIDE2NS4zMzMgNjQuOTUzQzczNS45NTIgMzM3LjM0OCA3MDkuOTQ4IDI1OC4wMTYgNjAwIDB6IiBmaWxsPSIjMTc5M2QxIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=) no-repeat!important;background-size:40px 40px!important}#archnavbar ul{display:flex!important;justify-content:space-between;flex-wrap:nowrap;overflow:hidden;float:none!important}#archnavbar ul li{padding:0!important;float:none!important}}@media (max-width:845px){#anb-home{display:none}html>body #archnavbarlogo{padding-right:15px!important}#archnavbar{padding-left:5px!important;padding-right:5px!important}#archnavbar ul li{padding-left:5px!important;padding-right:5px!important}}body{background:#f6f9fc}#content{background:#ffffff;border:1px solid #cccccc}#content h1,#content h2,#content h3,#content pre,#content code{color:#222222}#content ul{list-style-image:none}#content pre:not([class*="CodeMirror"]){border:1px solid #bbccdd;overflow:auto;word-break:break-all;white-space:pre-wrap!important}#content pre:not([class*="CodeMirror"]),#content code{background-color:#ebf1f5;font-family:monospace,monospace}#content code{display:inline-block;padding:0 0.3em;border-width:0;border-radius:0}#footer{color:#333333}#toc{background-color:#f9faff;border:1px solid #d7dfe3}#bodyContent>div.mw-content-ltr a{font-weight:bold}#bodyContent #toc a{font-weight:normal}#content a:not(.new),header.mw-header li:not(.new) a:not(.new),#mw-navigation li:not(.new) a:not(.new),#mw-panel li:not(.new) a:not(.new),#column-one li:not(.new) a:not(.new),#footer a:not(.new){text-decoration:none;color:#0077bb!important}#content a:not(.new):hover,header.mw-header li:not(.new) a:not(.new):hover,#mw-navigation li:not(.new) a:not(.new):hover,#mw-panel li:not(.new) a:not(.new):hover,#column-one li:not(.new) a:not(.new):hover,#footer a:not(.new):hover{text-decoration:underline;background-color:transparent;color:#999999!important}#content a:active,header.mw-header li:not(.new) a:active,#mw-navigation li:not(.new) a:active,#mw-panel li:not(.new) a:active,#column-one li:not(.new) a:active,#footer a:active,#content a:focus,header.mw-header li:not(.new) a:focus,#mw-navigation li:not(.new) a:focus,#mw-panel li:not(.new) a:focus,#column-one li:not(.new) a:focus,#footer a:focus,#content a:active:hover,header.mw-header li:not(.new) a:active:hover,#mw-navigation li:not(.new) a:active:hover,#mw-panel li:not(.new) a:active:hover,#column-one li:not(.new) a:active:hover,#footer a:active:hover,#content a:focus:hover,header.mw-header li:not(.new) a:focus:hover,#mw-navigation li:not(.new) a:focus:hover,#mw-panel li:not(.new) a:focus:hover,#column-one li:not(.new) a:focus:hover,#footer a:focus:hover{color:#ee9900!important}#content a:not(.new):visited,#mw-panel li:not(.new) a:not(.new):visited,#p-navigation li:not(.new) a:not(.new):visited,#p-tb li:not(.new) a:not(.new):visited{color:#666666!important}.mw-body-content a.external{background:var(--sf-img-8) center right no-repeat;padding-right:13px}.mw-body h1,.mw-body-content h2{font-family:sans-serif}nav.vector-menu-tabs{padding-left:0}nav.vector-menu-tabs ul,nav.vector-menu-tabs ul li{background:none}nav.vector-menu-tabs li.selected{border:1px solid #cccccc;border-bottom-color:#ffffff;background-color:#ffffff}nav.vector-menu-tabs li.selected a{background:none!important}nav.vector-menu-tabs ul li{border:1px}body.skin-vector.skin--responsive nav.vector-menu-tabs li.selected{margin-top:-1px;border-bottom:none}body.skin-vector.skin--responsive li:not(:first-child).selected{margin-left:-1px}body.skin-vector.skin--responsive div.mw-page-container{background-color:#f6f9fc}body.skin-vector.skin--responsive div#mw-panel{background-image:none}</style>
<meta name=ResourceLoaderDynamicStyles content>
<style>pre{white-space:pre}#bodyContent a.external[href^="https://wiki.archlinux.org"]{background:none;padding-right:0}span.archwiki-template-pkg{font-family:monospace,monospace}div.archwiki-template-message{position:relative;overflow:hidden;min-height:4.6em;margin-bottom:1em;background-color:#f9faff;border:1px solid #d7dfe3;padding:0 100px;text-align:center}div.archwiki-template-message>p>a{display:block;position:absolute;top:5px}div.archwiki-template-message>p>a:first-of-type{left:26px}div.archwiki-template-message>p>a:last-of-type{right:26px}div.archwiki-template-message>div{font-size:90%}div.archwiki-template-meta-related-articles-start{float:right;clear:right;width:25%;margin:0 0 0.5em 0.5em}div.archwiki-template-meta-related-articles-start>p{background:#333;color:white;padding:0.2em;border-bottom:5px #08c solid;margin:0;text-align:center;font-weight:bold}div.archwiki-template-meta-related-articles-start>ul{list-style-type:none;margin:0;padding:0.3em}div.archwiki-template-meta-related-articles-start>ul>li{padding:0.4em 0;line-height:1}</style>
<meta name=generator content="MediaWiki 1.37.2">
<meta name=referrer content=no-referrer-when-downgrade>
<meta name=format-detection content="telephone=no">
<meta name=viewport content="width=device-width, initial-scale=1.0, user-scalable=yes, minimum-scale=0.25, maximum-scale=5.0">
<link rel=search type=application/opensearchdescription+xml href=https://wiki.archlinux.org/opensearch_desc.php title="ArchWiki (en)">
<link rel=EditURI type=application/rsd+xml href="https://wiki.archlinux.org/api.php?action=rsd">
<link rel=license href=http://www.gnu.org/copyleft/fdl.html>
<link rel=alternate type=application/atom+xml title="ArchWiki Atom feed" href="https://wiki.archlinux.org/index.php?title=Special:RecentChanges&feed=atom">
<link rel="shortcut icon" href=data:image/vnd.microsoft.icon;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABvElEQVQ4jY2TP4gTQRTGfzM7ybp35mBX8LY4GxM5OI4UiqDWtoKIjWhl4QmmEQwIhzZaa3GLlYWgjViI+AcUrrASUYTbQ0UxepwpFj1EDCSXuLNj4QYSLxP8mnm8972P3wyMMMZgUxjF+ycLUjUW5l/YPMq6/VfnHCEmAGuAsBHsurG6QwiaRUeq2cCdfXy88nmUT9qSJ4tywVNyGxjVSbPzNp81wFNyt6cknpJ00uzk2Wfr/n8HHLrz4ajriFeuEsuekvS08Zu/eoujvFveYN+t98XAUw1jmEmN+ZEZfG2M8BzZKhVl+f6x8vexBIGn6hMFOeMqgTEEXZ2J39qwqbNSR5tLYwnmbr6b2hO4axvt1P/a6tHTw3SuI1pTrlNZPT33bSTBps7qb5K23/jZ7S8/AO72511tShud9MJIgjCKdwINYHs+e5TUqkfy2W3gVN5vA+WkVk3+Jbg8sAzwcKB+mp8G+ALUh64QRnEZOMOwPg3Ub/vEgAvcGwoArgKFvF4DrgEfBwKawHVgHagAy2EUnwAQ00sre4HXwBPgSlKrvmSMwig+CCwCh4F5Mb20chF4ntSq1h83JujAH3Eom+H9uAq8AAAAAElFTkSuQmCC><style>.sf-hidden{display:none!important}</style><link rel=canonical href=https://wiki.archlinux.org/title/Touchscreen><meta http-equiv=content-security-policy content="default-src 'none'; font-src 'self' data:; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self' data:; script-src 'unsafe-inline' data:;"></head>
<body class="mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Touchscreen rootpage-Touchscreen skin-vector action-view skin--responsive skin-vector-search-vue" data-new-gr-c-s-check-loaded=14.1058.0 data-gr-ext-installed><div id=archnavbar class=noprint>
<div id=archnavbarlogo>
<p><a id=logo href=https://www.archlinux.org/></a></p>
</div>
<div id=archnavbarmenu>
<ul id=archnavbarlist>
<li id=anb-home><a href=https://www.archlinux.org/>Home</a></li> <li id=anb-packages><a href=https://www.archlinux.org/packages/>Packages</a></li> <li id=anb-forums><a href=https://bbs.archlinux.org/>Forums</a></li> <li id=anb-wiki class=anb-selected><a href=https://wiki.archlinux.org/>Wiki</a></li> <li id=anb-bugs><a href=https://bugs.archlinux.org/>Bugs</a></li> <li id=anb-security><a href=https://security.archlinux.org/>Security</a></li> <li id=anb-aur><a href=https://aur.archlinux.org/>AUR</a></li> <li id=anb-download><a href=https://www.archlinux.org/download/>Download</a></li> </ul>
</div>
</div>
<div class=mw-page-container>
<a class=mw-jump-link href=#content>Jump to content</a>
<div class=mw-page-container-inner>
<input type=checkbox id=mw-sidebar-checkbox class="mw-checkbox-hack-checkbox sf-hidden">
<header class=mw-header>
<label id=mw-sidebar-button class="mw-checkbox-hack-button mw-ui-icon mw-ui-button mw-ui-quiet mw-ui-icon-element" for=mw-sidebar-checkbox role=button aria-controls=mw-panel data-event-name=ui.sidebar tabindex=0 title="Main menu" aria-expanded=false>
Toggle sidebar
</label>
<a href=https://wiki.archlinux.org/title/Main_page class="mw-logo sf-hidden">
</a>
<div id=p-search role=search class="vector-search-box vector-search-box-collapses vector-search-box-show-thumbnail">
<div>
<h3>
<label for=searchInput>Search</label>
</h3>
<form action=/index.php id=searchform>
<div id=simpleSearch data-search-loc=header-moved>
<input type=search name=search placeholder="Search ArchWiki" autocapitalize=sentences accesskey=f id=searchInput autocomplete=off value>
<input type=submit name=fulltext value=Search title="Search the pages for this text" id=mw-searchButton class="searchButton mw-fallbackSearchButton">
<input type=submit name=go value=Go title="Go to a page with this exact name if it exists" id=searchButton class=searchButton>
</div>
</form>
</div>
<a href=https://wiki.archlinux.org/title/Special:Search class="mw-ui-button mw-ui-quiet mw-ui-icon mw-ui-icon-element mw-ui-icon-wikimedia-search search-toggle sf-hidden">
</a>
</div>
<div class=vector-user-links>
<nav id=p-personal-more class="mw-portlet mw-portlet-personal-more vector-menu vector-user-menu-more" aria-labelledby=p-personal-more-label role=navigation>
<h3 id=p-personal-more-label class="vector-menu-heading sf-hidden">
</h3>
<div class=vector-menu-content>
<ul class=vector-menu-content-list>
<li id=p-createaccount class=user-links-collapsible-item>
<a href="https://wiki.archlinux.org/index.php?title=Special:CreateAccount&returnto=Touchscreen" icon=userAvatar class="mw-ui-button mw-ui-quiet" title="You are encouraged to create an account and log in; however, it is not mandatory"><span>Create account</span></a>
</li>
</ul>
</div>
</nav>
<nav id=p-personal class="mw-portlet mw-portlet-personal emptyPortlet vector-user-menu vector-user-menu-logged-out vector-menu vector-menu-dropdown" aria-labelledby=p-personal-label role=navigation title="More options">
<input type=checkbox id=p-personal-checkbox role=button aria-haspopup=true data-event-name=ui.dropdown-p-personal class=vector-menu-checkbox aria-labelledby=p-personal-label>
<h3 id=p-personal-label class="vector-menu-heading mw-ui-button mw-ui-quiet mw-ui-icon mw-ui-icon-element mw-ui-icon-wikimedia-ellipsis"> <span>Personal tools</span>
<span class=vector-menu-checkbox-expanded>expanded</span>
<span class=vector-menu-checkbox-collapsed>collapsed</span>
</h3>
<div class=vector-menu-content>
<div class=vector-user-menu-create-account><a href="https://wiki.archlinux.org/index.php?title=Special:CreateAccount&returnto=Touchscreen" icon=userAvatar class="user-links-collapsible-item vector-menu-content-item mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-userAvatar sf-hidden" title="You are encouraged to create an account and log in; however, it is not mandatory"></a></div>
<div class=vector-user-menu-login><a href="https://wiki.archlinux.org/index.php?title=Special:UserLogin&returnto=Touchscreen" icon=logIn class="vector-menu-content-item vector-menu-content-item-login mw-ui-icon mw-ui-icon-before mw-ui-icon-wikimedia-logIn" title="You are encouraged to log in; however, it is not mandatory [alt-shift-o]" accesskey=o><span>Log in</span></a></div>
<div class=vector-user-menu-anon-editor>
<p>
Pages for logged out editors <a href=https://wiki.archlinux.org/title/Help:Introduction aria-label="Learn more about editing"><span>learn more</span></a>
</p>
</div>
<ul class=vector-menu-content-list></ul>
</div>
</nav>
</div>
</header>
<div class=mw-workspace-container>
<div id=mw-navigation>
<h2>Navigation menu</h2>
<div id=mw-panel class=mw-sidebar>
<nav id=p-navigation class="mw-portlet mw-portlet-navigation vector-menu vector-menu-portal portal" aria-labelledby=p-navigation-label role=navigation>
<h3 id=p-navigation-label class="vector-menu-heading sf-hidden">
</h3>
<div class=vector-menu-content>
<ul class=vector-menu-content-list><li id=n-mainpage-description class=mw-list-item><a href=https://wiki.archlinux.org/title/Main_page title="Visit the main page [alt-shift-z]" accesskey=z><span>Main page</span></a><li id=n-Table-of-contents class=mw-list-item><a href=https://wiki.archlinux.org/title/Table_of_contents><span>Table of contents</span></a><li id=n-portal class=mw-list-item><a href=https://wiki.archlinux.org/title/Getting_involved title="Various ways Archers can contribute to the community"><span>Getting involved</span></a><li id=n-currentevents class=mw-list-item><a href=https://wiki.archlinux.org/title/ArchWiki:News title="The latest lowdown on the wiki"><span>Wiki news</span></a><li id=n-randompage class=mw-list-item><a href=https://wiki.archlinux.org/title/Special:Random title="Load a random page [alt-shift-x]" accesskey=x><span>Random page</span></a></ul>
</div>
</nav>
<nav id=p-Interaction class="mw-portlet mw-portlet-Interaction vector-menu vector-menu-portal portal" aria-labelledby=p-Interaction-label role=navigation>
<h3 id=p-Interaction-label class=vector-menu-heading> <span>Interaction</span>
</h3>
<div class=vector-menu-content>
<ul class=vector-menu-content-list><li id=n-help class=mw-list-item><a href=https://wiki.archlinux.org/title/Category:Help title="Wiki navigation, reading, and editing help"><span>Help</span></a><li id=n-Contributing class=mw-list-item><a href=https://wiki.archlinux.org/title/ArchWiki:Contributing><span>Contributing</span></a><li id=n-recentchanges class=mw-list-item><a href=https://wiki.archlinux.org/title/Special:RecentChanges title="A list of recent changes in the wiki [alt-shift-r]" accesskey=r><span>Recent changes</span></a><li id=n-Recent-talks class=mw-list-item><a href="https://wiki.archlinux.org/index.php?title=Special:RecentChanges&namespace=all-discussions" rel=nofollow><span>Recent talks</span></a><li id=n-newpages class=mw-list-item><a href=https://wiki.archlinux.org/title/Special:NewPages><span>New pages</span></a><li id=n-Statistics class=mw-list-item><a href=https://wiki.archlinux.org/title/ArchWiki:Statistics><span>Statistics</span></a><li id=n-Requests class=mw-list-item><a href=https://wiki.archlinux.org/title/ArchWiki_talk:Requests><span>Requests</span></a></ul>
</div>
</nav>
<nav id=p-tb class="mw-portlet mw-portlet-tb vector-menu vector-menu-portal portal" aria-labelledby=p-tb-label role=navigation>
<h3 id=p-tb-label class=vector-menu-heading> <span>Tools</span>
</h3>
<div class=vector-menu-content>
<ul class=vector-menu-content-list><li id=t-whatlinkshere class=mw-list-item><a href=https://wiki.archlinux.org/title/Special:WhatLinksHere/Touchscreen title="A list of all wiki pages that link here [alt-shift-j]" accesskey=j><span>What links here</span></a><li id=t-recentchangeslinked class=mw-list-item><a href=https://wiki.archlinux.org/title/Special:RecentChangesLinked/Touchscreen rel=nofollow title="Recent changes in pages linked from this page [alt-shift-k]" accesskey=k><span>Related changes</span></a><li id=t-specialpages class=mw-list-item><a href=https://wiki.archlinux.org/title/Special:SpecialPages title="A list of all special pages [alt-shift-q]" accesskey=q><span>Special pages</span></a><li id=t-print class=mw-list-item><a href=https://wiki.archlinux.org/title/Touchscreen rel=alternate title="Printable version of this page [alt-shift-p]" accesskey=p><span>Printable version</span></a><li id=t-permalink class=mw-list-item><a href="https://wiki.archlinux.org/index.php?title=Touchscreen&oldid=717785" title="Permanent link to this revision of the page"><span>Permanent link</span></a><li id=t-info class=mw-list-item><a href="https://wiki.archlinux.org/index.php?title=Touchscreen&action=info" title="More information about this page"><span>Page information</span></a></ul>
</div>
</nav>
<nav id=p-lang class="mw-portlet mw-portlet-lang vector-menu vector-menu-portal portal" aria-labelledby=p-lang-label role=navigation>
<h3 id=p-lang-label class=vector-menu-heading> <span>In other languages</span>
</h3>
<div class=vector-menu-content>
<ul class=vector-menu-content-list><li class="interlanguage-link interwiki-de mw-list-item"><a href=https://wiki.archlinux.de/title/Touchscreen title="Touchscreen – Deutsch" lang=de hreflang=de class=interlanguage-link-target><span>Deutsch</span></a><li class="interlanguage-link interwiki-ja mw-list-item"><a href=https://wiki.archlinux.jp/index.php/%E3%82%BF%E3%83%83%E3%83%81%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3 title="タッチスクリーン – 日本語" lang=ja hreflang=ja class=interlanguage-link-target><span>日本語</span></a><li class="interlanguage-link interwiki-zh-hans mw-list-item"><a href=https://wiki.archlinux.org/title/Touchscreen_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) title="Touchscreen – 中文(简体)" lang=zh-Hans hreflang=zh-Hans class=interlanguage-link-target><span>中文(简体)</span></a></ul>
</div>
</nav>
</div>
<div id=mw-head>
<div class=mw-article-toolbar-container>
<div id=left-navigation>
<nav id=p-namespaces class="mw-portlet mw-portlet-namespaces vector-menu vector-menu-tabs" aria-labelledby=p-namespaces-label role=navigation>
<h3 id=p-namespaces-label class="vector-menu-heading sf-hidden">
</h3>
<div class=vector-menu-content>
<ul class=vector-menu-content-list><li id=ca-nstab-main class="selected mw-list-item"><a href=https://wiki.archlinux.org/title/Touchscreen title="View the content page [alt-shift-c]" accesskey=c><span>Page</span></a><li id=ca-talk class=mw-list-item><a href=https://wiki.archlinux.org/title/Talk:Touchscreen rel=discussion title="Discussion about the content page [alt-shift-t]" accesskey=t><span>Discussion</span></a></ul>
</div>
</nav>
<nav id=p-variants class="mw-portlet mw-portlet-variants emptyPortlet vector-menu-dropdown-noicon vector-menu vector-menu-dropdown sf-hidden" aria-labelledby=p-variants-label role=navigation>
</nav>
</div>
<div id=right-navigation>
<nav id=p-views class="mw-portlet mw-portlet-views vector-menu vector-menu-tabs" aria-labelledby=p-views-label role=navigation>
<h3 id=p-views-label class="vector-menu-heading sf-hidden">
</h3>
<div class=vector-menu-content>
<ul class=vector-menu-content-list><li id=ca-view class="selected mw-list-item collapsible"><a href=https://wiki.archlinux.org/title/Touchscreen><span>Read</span></a><li id=ca-viewsource class="mw-list-item collapsible"><a href="https://wiki.archlinux.org/index.php?title=Touchscreen&action=edit" title="This page is protected.
You can view its source [alt-shift-e]" accesskey=e><span>View source</span></a><li id=ca-history class="mw-list-item collapsible"><a href="https://wiki.archlinux.org/index.php?title=Touchscreen&action=history" title="Past revisions of this page [alt-shift-h]" accesskey=h><span>View history</span></a></ul>
</div>
</nav>
<nav id=p-cactions class="mw-portlet mw-portlet-cactions emptyPortlet vector-menu-dropdown-noicon vector-menu vector-menu-dropdown sf-hidden" aria-labelledby=p-cactions-label role=navigation title="More options">
</nav>
</div>
</div>
</div>
</div>
<div class=mw-content-container>
<main id=content class=mw-body role=main>
<a id=top></a>
<div id=siteNotice></div>
<div class=mw-indicators>
</div>
<h1 id=firstHeading class=firstHeading>Touchscreen</h1>
<div id=bodyContent class=vector-body>
<div id=siteSub class="noprint sf-hidden">From ArchWiki</div>
<div id=contentSub></div>
<div id=contentSub2></div>
<div id=mw-content-text class="mw-body-content mw-content-ltr" lang=en dir=ltr><div class=mw-parser-output><div class="noprint archwiki-template-message">
<p><a href=https://wiki.archlinux.org/title/File:Merge-arrows-2.png class=image><img alt=Merge-arrows-2.png src='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48"><rect fill-opacity="0"/></svg>' decoding=async width=48 height=48 style="background-blend-mode:normal!important;background-clip:content-box!important;background-position:50% 50%!important;background-color:rgba(0,0,0,0)!important;background-image:var(--sf-img-12)!important;background-size:100% 100%!important;background-origin:content-box!important;background-repeat:no-repeat!important"></a><b>This article or section is a candidate for merging with <a href=https://wiki.archlinux.org/title/Calibrating_Touchscreen title="Calibrating Touchscreen">Calibrating Touchscreen</a>.</b><a href=https://wiki.archlinux.org/title/File:Merge-arrows-2.png class=image><img alt=Merge-arrows-2.png src='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48"><rect fill-opacity="0"/></svg>' decoding=async width=48 height=48 style="background-blend-mode:normal!important;background-clip:content-box!important;background-position:50% 50%!important;background-color:rgba(0,0,0,0)!important;background-image:var(--sf-img-12)!important;background-size:100% 100%!important;background-origin:content-box!important;background-repeat:no-repeat!important"></a></p>
<div><b>Notes:</b> <span style=color:red>please use the second argument of the template to provide more detailed indications.</span> (Discuss in <a rel=nofollow class="external text" href=https://wiki.archlinux.org/title/Talk:Touchscreen>Talk:Touchscreen</a>)</div>
</div>
<div class=archwiki-template-meta-related-articles-start><p>Related articles<ul>
<li><a href=https://wiki.archlinux.org/title/Calibrating_Touchscreen title="Calibrating Touchscreen">Calibrating Touchscreen</a></li>
</ul></div>
<p>If you ever tried to set up a touchscreen device in linux, you might have noticed that it is either working out of the box (besides some calibration) or is very tedious, especially when it is not supported by the kernel.
</p>
<div id=toc class=toc role=navigation aria-labelledby=mw-toc-heading><input type=checkbox role=button id=toctogglecheckbox class=toctogglecheckbox style=display:none><div class=toctitle lang=en dir=ltr><h2 id=mw-toc-heading>Contents</h2><span class=toctogglespan><label class=toctogglelabel for=toctogglecheckbox></label></span></div>
<ul>
<li class="toclevel-1 tocsection-1"><a href=#Introduction><span class=tocnumber>1</span> <span class=toctext>Introduction</span></a></li>
<li class="toclevel-1 tocsection-2"><a href=#Available_X11_drivers><span class=tocnumber>2</span> <span class=toctext>Available X11 drivers</span></a></li>
<li class="toclevel-1 tocsection-3"><a href=#Two-fingers_scrolling><span class=tocnumber>3</span> <span class=toctext>Two-fingers scrolling</span></a></li>
<li class="toclevel-1 tocsection-4"><a href=#evdev_drivers><span class=tocnumber>4</span> <span class=toctext>evdev drivers</span></a>
<ul>
<li class="toclevel-2 tocsection-5"><a href=#Calibration><span class=tocnumber>4.1</span> <span class=toctext>Calibration</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-6"><a href=#Using_a_touchscreen_in_a_multi-head_setup><span class=tocnumber>5</span> <span class=toctext>Using a touchscreen in a multi-head setup</span></a>
<ul>
<li class="toclevel-2 tocsection-7"><a href=#Using_xrandr-watch-git_to_automate_map-to-output><span class=tocnumber>5.1</span> <span class=toctext>Using xrandr-watch-git to automate map-to-output</span></a></li>
<li class="toclevel-2 tocsection-8"><a href=#Wayland/Weston><span class=tocnumber>5.2</span> <span class=toctext>Wayland/Weston</span></a></li>
</ul>
</li>
<li class="toclevel-1 tocsection-9"><a href=#Touchegg><span class=tocnumber>6</span> <span class=toctext>Touchegg</span></a></li>
</ul>
</div>
<h2><span class=mw-headline id=Introduction>Introduction</span></h2>
<p>This article assumes that your touchscreen device is supported by the kernel (e.g. by the usbtouchscreen module). That means there exists a <code>/dev/input/event*</code> node for your device. Check out
</p>
<pre>$ less /proc/bus/input/devices
</pre>
<p>to see if your device is listed or try
</p>
<pre># cat /dev/input/event? # replace ? with the event numbers
</pre>
<p>for every of your event nodes while touching the display. If you found the corresponding node, it is likely that you will be able to get the device working.
</p>
<h2><span class=mw-headline id=Available_X11_drivers>Available X11 drivers</span></h2>
<p>There are a lot of touchscreen input drivers for X11 out there. The most common ones are in the <i>extra</i> repository:
</p>
<ul><li><span class="plainlinks archwiki-template-pkg"><a rel=nofollow class="external text" href="https://archlinux.org/packages/?name=xf86-input-evdev">xf86-input-evdev</a></span> (likely the default driver if you plug in your touchscreen and it "just works")</li>
<li><span class="plainlinks archwiki-template-pkg"><a rel=nofollow class="external text" href="https://archlinux.org/packages/?name=xf86-input-libinput">xf86-input-libinput</a></span>; see also <a href=https://wiki.archlinux.org/title/Libinput title=Libinput>libinput</a></li>
<li><span class="plainlinks archwiki-template-pkg"><a rel=nofollow class="external text" href="https://archlinux.org/packages/?name=xf86-input-elographics">xf86-input-elographics</a></span></ul>
<p>Less common drivers, not contained in the repository, are:
</p>
<ul><li>xf86-input-magictouch</li>
<li>xf86-input-mutouch</li>
<li>xf86-input-plpevtch</li>
<li>xf86-input-palmax</ul>
<p>Proprietary drivers exist for some devices (e.g.: <span class="plainlinks archwiki-template-pkg"><a rel=nofollow class="external text" href=https://aur.archlinux.org/packages/xf86-input-egalax/>xf86-input-egalax</a></span><sup><small>AUR</small></sup>), but it is recommended to try the open source drivers first.
<p>Depending on your touchscreen device choose an appropriate driver. Again, evdev is likely to be the default if your touchscreen "just works."
</p>
<h2><span class=mw-headline id=Two-fingers_scrolling>Two-fingers scrolling</span></h2>
<p>The two-fingers scrolling has to be implemented on the application side (see <a rel=nofollow class="external text" href="https://bbs.archlinux.org/viewtopic.php?pid=1839974#p1839974">this link</a>).
For Firefox, see <a href=https://wiki.archlinux.org/title/Firefox/Tweaks#Enable_touchscreen_gestures title=Firefox/Tweaks>Firefox/Tweaks#Enable touchscreen gestures</a>.
<p>There is a hack to emulates this scrolling behavior for every application in <a href=#Touchegg>#Touchegg</a>, but the X server still handles it as text selection (at least with <a href=https://wiki.archlinux.org/title/Plasma class=mw-redirect title=Plasma>Plasma</a>).
</p>
<h2><span class=mw-headline id=evdev_drivers>evdev drivers</span></h2>
<h3><span class=mw-headline id=Calibration>Calibration</span></h3>
<p>Install <span class="plainlinks archwiki-template-pkg"><a rel=nofollow class="external text" href=https://aur.archlinux.org/packages/xinput_calibrator/>xinput_calibrator</a></span><sup><small>AUR</small></sup> (AUR). Then, run xinput_calibrator and follow the instructions.
</p>
<h2><span class=mw-headline id=Using_a_touchscreen_in_a_multi-head_setup>Using a touchscreen in a multi-head setup</span></h2>
<p>To use multiple displays (some of which are touchscreens), you need to tell Xorg the mapping between the touch surface and the screen. This can be achieved with <i>xinput</i> as follows.
<p>Take for example the setup of having a wacom tablet and an external monitor; <code>xrandr</code> shows both displays:
</p>
<pre style=margin-bottom:0;border-bottom:none;padding-bottom:0.8em>$ xrandr</pre>
<pre style=margin-top:0;border-top-style:dashed;padding-top:0.8em>Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 8192 x 8192
LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.0*+
800x600 60.3 56.2
640x480 59.9
VGA1 connected 1920x1080+1024+0 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080 60.0*+
1600x1200 60.0
1680x1050 60.0
1680x945 60.0
</pre>
<p>You see we have two displays here. LVDS1 and VGA1. LVDS1 is the display internal to the tablet, and VGA1 is the external monitor. We wish to map our stylus input to LVDS1. So we have to find the ID of the stylus input:
</p>
<pre style=margin-bottom:0;border-bottom:none;padding-bottom:0.8em>$ xinput --list</pre>
<pre style=margin-top:0;border-top-style:dashed;padding-top:0.8em>⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ QUANTA OpticalTouchScreen id=9 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)]
⎜ ↳ Serial Wacom Tablet WACf004 stylus id=13 [slave pointer (2)]
⎜ ↳ Serial Wacom Tablet WACf004 eraser id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)]</pre>
<p>We see that we have two stylus inputs. We now need to simply map our inputs to our output like so:
</p>
<pre>$ xinput --map-to-output 'Serial Wacom Tablet WACf004 stylus' LVDS1
$ xinput --map-to-output 'Serial Wacom Tablet WACf004 eraser' LVDS1
</pre>
<p>You can automate this by putting these commands in your <code>~/.xinitrc</code> or similar. The mapping will be lost if the touchscreen is disconnected and re-connected, for example, when switching monitors via a KVM. In that case it is better to use a udev rule. The <a href=https://wiki.archlinux.org/title/Calibrating_Touchscreen title="Calibrating Touchscreen">Calibrating Touchscreen</a> page has an example udev rule for the case when a transformation matrix has been calculated manually and needs to be applied automatically.
</p>
<h3><span class=mw-headline id=Using_xrandr-watch-git_to_automate_map-to-output>Using xrandr-watch-git to automate map-to-output</span></h3>
<p>There are <a href=https://wiki.archlinux.org/title/Xrandr title=Xrandr>xrandr</a> events we can capture from a script. Install <span class="plainlinks archwiki-template-pkg"><a rel=nofollow class="external text" href=https://aur.archlinux.org/packages/xrandr-watch-git/>xrandr-watch-git</a></span><sup><small>AUR</small></sup>, create a script <code>~/.xrandr-changed</code> with execution permission to perform map-to-output, for example:
</p>
<pre style=margin-bottom:0;border-bottom:none;padding-bottom:0.8em>~/.xrandr-changed</pre>
<pre style=margin-top:0;border-top-style:dashed;padding-top:0.8em>#!/bin/sh
xinput --map-to-output "Wacom HID 4861 Finger touch" "eDP1"
</pre>
<p>and start, test and enable the <a href=https://wiki.archlinux.org/title/Systemd/User title=Systemd/User>systemd/User</a> service <code>xrandr-watcher.service</code>.
</p>
<h3><span id=Wayland.2FWeston></span><span class=mw-headline id=Wayland/Weston>Wayland/Weston</span></h3>
<p>Wayland does not currently have a known method to lock touching to a specific display. There are tools such as weston-touch-calibrator, but Gnome Wayland uses XWayland leaving the calibrator unable to locate any touchscreen.
<p>Wayland/XWayland also masks the xinput list and funnels them down to generic xwayland devices such as "xwayland-pointer","xwayland-relative-pointer","xwayland-touch-pointer", etc. The Wayland method of "<a href=https://wiki.archlinux.org/title/Xinput title=Xinput>Xinput</a>" is "<a href=https://wiki.archlinux.org/title/Libinput title=Libinput>Libinput</a>", but does not have all the same functionality. The current known method to use touchscreens in a multi-head setup is to force Gnome or KDE to use X11. libinput currently assumes the touchscreen(s) covers all available monitors.
</p>
<h2><span class=mw-headline id=Touchegg>Touchegg</span></h2>
<p><a href=https://wiki.archlinux.org/title/Touchegg title=Touchegg>Touchegg</a> is a multitouch gesture program, only compatible with X, that runs as a user in the background, recognizes gestures, and translates them to more conventional events such as mouse wheel movements, so that you can for example use two fingers to scroll. But it also interferes with applications or window managers which already do their own gesture recognition. If you have both a touchpad and a touchscreen, and if the touchpad driver (such as synaptics or libinput) has been configured not to recognize gestures itself, but to pass through the multi-touch events, then Touchegg will recognize gestures on both: this cannot be configured. In fact it does a better job of recognizing gestures than either the synaptics or libinput touchpad drivers; but on the touchscreen, it is generally better for applications to respond to touch in their own unique ways. Some Qt and GTK applications do that, but they will not be able to if you have Touchegg "eating" the touch events. So, Touchegg is useful when you are running mainly legacy applications which do not make their own use of touch events.
<p>The two-fingers scrolling has been disabled in the recent rewrite of touchegg 2.0.
To enable it, install <span class="plainlinks archwiki-template-pkg"><a rel=nofollow class="external text" href="https://archlinux.org/packages/?name=xdotool">xdotool</a></span> and see <a rel=nofollow class="external text" href=https://github.com/JoseExposito/touchegg/issues/438>this closed issue</a>.
</p>
</div>
<div class="printfooter sf-hidden">Retrieved from ""</div></div>
<div id=catlinks class=catlinks data-mw=interface><div id=mw-normal-catlinks class=mw-normal-catlinks><a href=https://wiki.archlinux.org/title/Special:Categories title=Special:Categories>Categories</a>: <ul><li><a href=https://wiki.archlinux.org/title/Category:Input_devices title="Category:Input devices">Input devices</a><li><a href=https://wiki.archlinux.org/title/Category:Displays title=Category:Displays>Displays</a></ul></div><div id=mw-hidden-catlinks class="mw-hidden-catlinks mw-hidden-cats-hidden sf-hidden">Hidden category: </div></div>
</div>
</main>
</div>
</div>
<div class="mw-workspace-container mw-footer-container">
<div class=mw-content-container>
<footer id=footer class=mw-footer role=contentinfo>
<ul id=footer-info>
<li id=footer-info-lastmod> This page was last edited on 11 February 2022, at 16:23.</li>
<li id=footer-info-copyright>Content is available under <a class=external rel=nofollow href=http://www.gnu.org/copyleft/fdl.html>GNU Free Documentation License 1.3 or later</a> unless otherwise noted.</li>
</ul>
<ul id=footer-places>
<li id=footer-places-privacy><a href=https://terms.archlinux.org/docs/privacy-policy/ class=extiw title=archlinux-service-agreements:privacy-policy>Privacy policy</a></li>
<li id=footer-places-about><a href=https://wiki.archlinux.org/title/ArchWiki:About title=ArchWiki:About>About ArchWiki</a></li>
<li id=footer-places-disclaimer><a href=https://wiki.archlinux.org/title/ArchWiki:General_disclaimer title="ArchWiki:General disclaimer">Disclaimers</a></li>
</ul>
</footer>
</div>
</div>
</div>
</div>
<grammarly-desktop-integration data-grammarly-shadow-root=true><template shadowmode=open><style class=sf-hidden>div.grammarly-desktop-integration{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}div.grammarly-desktop-integration:before{content:attr(data-content)}</style><div aria-label=grammarly-integration role=group tabindex=-1 class=grammarly-desktop-integration data-content='{"mode":"full","isActive":true,"isUserDisabled":false}'></div></template></grammarly-desktop-integration><script data-template-shadow-root>(()=>{document.currentScript.remove();processNode(document);function processNode(node){node.querySelectorAll("template[shadowmode]").forEach(element=>{let shadowRoot = element.parentElement.shadowRoot;if (!shadowRoot) {try {shadowRoot=element.parentElement.attachShadow({mode:element.getAttribute("shadowmode"),delegatesFocus:Boolean(element.getAttribute("delegatesfocus"))});shadowRoot.innerHTML=element.innerHTML;element.remove()} catch (error) {} if (shadowRoot) {processNode(shadowRoot)}}})}})()</script></body><!-- Cached/compressed 20220503043646 --><script>document.currentScript.remove();!function(){"use strict";(t=>{const n="singlefile-infobar",e="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHAB8H+DhhoQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAJUExURQAAAICHi4qKioTuJAkAAAABdFJOUwBA5thmAAAAAWJLR0QCZgt8ZAAAAJJJREFUOI3t070NRCEMA2CnYAOyDyPwpHj/Va7hJ3FzV7zy3ET5JIwoAF6Jk4wzAJAkzxAYG9YRTgB+24wBgKmfrGAKTcEfAY4KRlRoIeBTgKOCERVaCPgU4Khge2GqKOBTgKOCERVaAEC/4PNcnyoSWHpjqkhwKxbcig0Q6AorXYF/+A6eIYD1lVbwG/jdA6/kA2THRAURVubcAAAAAElFTkSuQmCC",o="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHAB8VC4EQ6QAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAJUExURQAAAICHi4qKioTuJAkAAAABdFJOUwBA5thmAAAAAWJLR0QCZgt8ZAAAAJtJREFUOI3NkrsBgCAMRLFwBPdxBArcfxXFkO8rbKWAAJfHJ9faf9vuYX/749T5NmShm3bEwbe2SxeuM4+2oxDL1cDoKtVUjRy+tH78Cv2CS+wIiQNC1AEhk4AQeUTMWUJMfUJMSEJMSEY8kIx4IONroaYAimNxsXp1PA7PxwfVL8QnowwoVC0lig07wDDVUjAdbAnjwtow/z/bDW7eI4M2KruJAAAAAElFTkSuQmCC",i="SingleFile",A="single-file-ui-element",r="\n\t.infobar {\n\t\tbackground-color: #737373;\n\t\tcolor: white;\n\t\tdisplay: flex;\n\t\tposition: fixed;\n\t\ttop: 16px;\n\t\tright: 16px;\n\t\theight: auto;\n\t\twidth: auto;\n\t\tmin-height: 24px;\n\t\tmin-width: 24px;\n\t\tbackground-position: center;\n\t\tbackground-repeat: no-repeat;\n\t\tz-index: 2147483647;\n\t\tmargin: 0 0 0 16px;\n\t\tbackground-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHADIRLMaOHwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAPUExURQAAAIqKioyNjY2OjvDw8L2y1DEAAAABdFJOUwBA5thmAAAAAWJLR0QB/wIt3gAAAGNJREFUSMdjYCAJsLi4OBCQx6/CBQwIGIDPCBcXAkYQUsACU+AwlBVQHg6Eg5pgZBGOboIJZugDFwRwoJECJCUOhJI1wZwzqmBUwagCuipgIqTABG9h7YIKaKGAURAFEF/6AQAO4HqSoDP8bgAAAABJRU5ErkJggg==);\n\t\tborder-radius: 16px;\n\t\tuser-select: none;\n\t\t-moz-user-select: none;\n\t\topacity: .7;\n\t\tcursor: pointer;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t\tpadding-top: 0;\n\t\tpadding-bottom: 0;\n\t\tborder: 2px solid #eee;\n\t\tbackground-size: 70% 70%;\n\t\ttransition: all 250ms;\n\t\tfont-size: 13px;\n\t}\n\t.infobar:hover {\n\t\topacity: 1;\n\t}\n\t.infobar-open {\n\t\topacity: 1;\n\t\tbackground-color: #f9f9f9;\n\t\tcursor: auto;\n\t\tcolor: #2d2d2d;\n\t\tpadding-top: 2px;\n\t\tpadding-bottom: 2px;\n\t\tborder: 2px solid #878787;\n\t\tbackground-image: none;\n\t\tborder-radius: 8px;\n\t\tuser-select: initial;\n\t\t-moz-user-select: initial;\n\t}\n\t.infobar-close-button {\n\t\tdisplay: none;\n\t\topacity: .7;\n\t\tpadding-top: 4px;\n\t\tpadding-left: 8px;\n\t\tpadding-right: 8px;\n\t\tcursor: pointer;\n\t\ttransition: opacity 250ms;\n\t\theight: 16px;\n\t}\n\t.infobar-close-button:hover {\n\t\topacity: 1;\n\t}\n\t.infobar-content {\n\t\tdisplay: none;\n\t\tfont-family: Arial;\n\t\tfont-size: 14px;\n\t\tline-height: 22px;\n\t\tword-break: break-word;\n\t\twhite-space: pre-wrap;\n\t\tposition: relative;\n\t\ttop: 1px;\n\t\ttext-align: left;\n\t}\n\t.infobar-link {\n\t\tdisplay: none;\n\t\tpadding-left: 8px;\n\t\tpadding-right: 8px;\n\t\tline-height: 11px;\n\t\tcursor: pointer;\n\t\tuser-select: none;\n\t\toutline: 0;\n\t}\n\t.infobar-link-icon {\n\t\tpadding-top: 4px;\n\t\tpadding-left: 2px;\n\t\tcursor: pointer;\n\t\topacity: .7;\n\t\ttransition: opacity 250ms;\n\t\theight: 16px;\n\t}\n\t.infobar-link-icon:hover {\n\t\topacity: 1;\n\t}\n\t.infobar-open .infobar-close-button, .infobar-open .infobar-content, .infobar-open .infobar-link {\n\t\tdisplay: inline-block;\n\t}";let a=!0;const c=t.browser;async function s(){const t=document.evaluate("//comment()",document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);let s=t&&t.singleNodeValue;if(s&&((p=s).nodeType==Node.COMMENT_NODE&&p.textContent.includes(i))){const t=s.textContent.split("\n"),[,,i,p,...g]=t;if(i&&p){let t;t=c&&c.runtime&&c.runtime.sendMessage?await c.runtime.sendMessage({method:"tabs.getOptions",url:i}):{displayInfobar:!0},t.displayInfobar&&await async function(t,i,c){let s=document.querySelector(n);if(!s){if(t=t.split("url: ")[1],i=i.split("saved date: ")[1],c&&c.length>1){let t=c[0].split("info: ")[1].trim();for(let n=1;n<c.length-1;n++)t+="\n"+c[n].trim();c=t.trim()}else c=i;s=d(n,document.body),s.className=A;const p=await async function(t){if(t.attachShadow)return t.attachShadow({mode:"open"});{a=!1;const n=d("iframe",t);return n.style.setProperty("background-color","transparent","important"),n.style.setProperty("position","fixed","important"),n.style.setProperty("top",0,"important"),n.style.setProperty("right",0,"important"),n.style.setProperty("width","44px","important"),n.style.setProperty("height","48px","important"),n.style.setProperty("z-index",2147483647,"important"),new Promise((t=>{n.contentDocument.body.style.setProperty("margin",0),n.onload=()=>t(n.contentDocument.body)}))}}(s),g=document.createElement("style");g.textContent=r,p.appendChild(g);const u=document.createElement("div");u.classList.add("infobar"),p.appendChild(u);const h=document.createElement("img");h.classList.add("infobar-close-button"),u.appendChild(h),h.src=o,h.onclick=t=>{0===t.button&&s.remove()};const m=document.createElement("span");u.appendChild(m),m.classList.add("infobar-content"),m.textContent=c;const b=document.createElement("a");b.classList.add("infobar-link"),u.appendChild(b),b.target="_blank",b.rel="noopener noreferrer",b.title="Open source URL: "+t,b.href=t;const f=document.createElement("img");f.classList.add("infobar-link-icon"),b.appendChild(f),f.src=e,l(u),document.addEventListener("click",(t=>{if(0===t.button){let n=t.target;for(;n&&n!=s;)n=n.parentElement;n!=s&&l(u)}}))}}(i,p,g)}}var p}function l(t){if(t.classList.remove("infobar-open"),t.onclick=e=>{if(0===e.button)return function(t){a||document.querySelector(n).childNodes[0].contentWindow.getSelection().removeAllRanges();if(t.classList.add("infobar-open"),t.onclick=null,t.onmouseout=null,!a){const e=document.querySelector(n).childNodes[0];e.style.setProperty("width","100vw","important"),e.style.setProperty("height","100vh","important"),e.style.setProperty("width",t.getBoundingClientRect().width+33+"px","important"),e.style.setProperty("height",t.getBoundingClientRect().height+21+"px","important")}}(t),!1},!a){const t=document.querySelector(n).childNodes[0];t.style.setProperty("width","44px","important"),t.style.setProperty("height","48px","important")}}function d(t,n){const e=document.createElement(t);return n.appendChild(e),Array.from(getComputedStyle(e)).forEach((t=>e.style.setProperty(t,"initial","important"))),e}t.window==t.top&&("loading"==document.readyState?document.addEventListener("DOMContentLoaded",s,!1):s())})("object"==typeof globalThis?globalThis:window)}();</script>