From 700cdeeee447072ecb907e9ba097c6380905ae21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Fri, 3 Jul 2020 17:22:26 +0200 Subject: [PATCH] Drop Xquartz DDX (cherry picked from commit 6cae4b397d3753969e9046a562c23471c3ca724e) Part-of: --- .travis.yml | 27 - hw/meson.build | 4 - hw/xquartz/GL/capabilities.c | 571 ------- hw/xquartz/GL/capabilities.h | 68 - hw/xquartz/GL/glcontextmodes.c | 585 ------- hw/xquartz/GL/glcontextmodes.h | 58 - hw/xquartz/GL/indirect.c | 667 -------- hw/xquartz/GL/meson.build | 5 - hw/xquartz/GL/visualConfigs.c | 280 --- hw/xquartz/GL/visualConfigs.h | 29 - hw/xquartz/NSUserDefaults+XQuartzDefaults.h | 49 - hw/xquartz/NSUserDefaults+XQuartzDefaults.m | 148 -- hw/xquartz/X11Application.h | 75 - hw/xquartz/X11Application.m | 1363 --------------- hw/xquartz/X11Controller.h | 123 -- hw/xquartz/X11Controller.m | 923 ---------- hw/xquartz/applewm.c | 743 -------- hw/xquartz/applewmExt.h | 86 - hw/xquartz/bundle/.gitignore | 1 - hw/xquartz/bundle/Info.plist.cpp | 76 - hw/xquartz/bundle/PkgInfo | 1 - .../Resources/Dutch.lproj/Localizable.strings | Bin 4560 -> 0 bytes .../Resources/Dutch.lproj/locversion.plist | 14 - .../Dutch.lproj/main.nib/designable.nib | 758 --------- .../main.nib/keyedobjects-110000.nib | Bin 45754 -> 0 bytes .../Dutch.lproj/main.nib/keyedobjects.nib | Bin 45779 -> 0 bytes .../English.lproj/Localizable.strings | Bin 5454 -> 0 bytes .../Resources/English.lproj/locversion.plist | 14 - .../English.lproj/main.nib/designable.nib | 735 -------- .../main.nib/keyedobjects-110000.nib | Bin 43773 -> 0 bytes .../English.lproj/main.nib/keyedobjects.nib | Bin 43798 -> 0 bytes .../French.lproj/Localizable.strings | Bin 4536 -> 0 bytes .../Resources/French.lproj/locversion.plist | 14 - .../French.lproj/main.nib/designable.nib | 760 --------- .../main.nib/keyedobjects-110000.nib | Bin 48856 -> 0 bytes .../French.lproj/main.nib/keyedobjects.nib | Bin 46612 -> 0 bytes .../German.lproj/Localizable.strings | Bin 4590 -> 0 bytes .../Resources/German.lproj/locversion.plist | 14 - .../German.lproj/main.nib/designable.nib | 758 --------- .../main.nib/keyedobjects-110000.nib | Bin 47948 -> 0 bytes .../German.lproj/main.nib/keyedobjects.nib | Bin 47973 -> 0 bytes .../Italian.lproj/Localizable.strings | Bin 4634 -> 0 bytes .../Resources/Italian.lproj/locversion.plist | 14 - .../Italian.lproj/main.nib/designable.nib | 758 --------- .../main.nib/keyedobjects-110000.nib | Bin 47283 -> 0 bytes .../Italian.lproj/main.nib/keyedobjects.nib | Bin 47308 -> 0 bytes .../Japanese.lproj/Localizable.strings | Bin 3688 -> 0 bytes .../Resources/Japanese.lproj/locversion.plist | 14 - .../Japanese.lproj/main.nib/designable.nib | 752 -------- .../main.nib/keyedobjects-110000.nib | Bin 45975 -> 0 bytes .../Japanese.lproj/main.nib/keyedobjects.nib | Bin 46000 -> 0 bytes .../Spanish.lproj/Localizable.strings | Bin 4452 -> 0 bytes .../Resources/Spanish.lproj/locversion.plist | 14 - .../Spanish.lproj/main.nib/designable.nib | 758 --------- .../main.nib/keyedobjects-110000.nib | Bin 48327 -> 0 bytes .../Spanish.lproj/main.nib/keyedobjects.nib | Bin 48352 -> 0 bytes hw/xquartz/bundle/Resources/X11.icns | Bin 189002 -> 0 bytes .../Resources/ar.lproj/Localizable.strings | Bin 4190 -> 0 bytes .../Resources/ar.lproj/locversion.plist | 14 - .../ar.lproj/main.nib/designable.nib | 754 -------- .../ar.lproj/main.nib/keyedobjects-110000.nib | Bin 47469 -> 0 bytes .../ar.lproj/main.nib/keyedobjects.nib | Bin 47494 -> 0 bytes .../Resources/ca.lproj/Localizable.strings | Bin 4506 -> 0 bytes .../Resources/ca.lproj/locversion.plist | 14 - .../ca.lproj/main.nib/designable.nib | 762 --------- .../ca.lproj/main.nib/keyedobjects-110000.nib | Bin 48413 -> 0 bytes .../ca.lproj/main.nib/keyedobjects.nib | Bin 48438 -> 0 bytes .../Resources/cs.lproj/Localizable.strings | Bin 4386 -> 0 bytes .../Resources/cs.lproj/locversion.plist | 14 - .../cs.lproj/main.nib/designable.nib | 760 --------- .../cs.lproj/main.nib/keyedobjects-110000.nib | Bin 48151 -> 0 bytes .../cs.lproj/main.nib/keyedobjects.nib | Bin 48176 -> 0 bytes .../Resources/da.lproj/Localizable.strings | Bin 4462 -> 0 bytes .../Resources/da.lproj/locversion.plist | 14 - .../da.lproj/main.nib/designable.nib | 758 --------- .../da.lproj/main.nib/keyedobjects-110000.nib | Bin 47612 -> 0 bytes .../da.lproj/main.nib/keyedobjects.nib | Bin 47637 -> 0 bytes .../Resources/el.lproj/Localizable.strings | Bin 4844 -> 0 bytes .../Resources/el.lproj/locversion.plist | 14 - .../el.lproj/main.nib/designable.nib | 760 --------- .../el.lproj/main.nib/keyedobjects-110000.nib | Bin 49396 -> 0 bytes .../el.lproj/main.nib/keyedobjects.nib | Bin 49421 -> 0 bytes .../Resources/fi.lproj/Localizable.strings | Bin 4392 -> 0 bytes .../Resources/fi.lproj/locversion.plist | 14 - .../fi.lproj/main.nib/designable.nib | 755 --------- .../fi.lproj/main.nib/keyedobjects-110000.nib | Bin 47847 -> 0 bytes .../fi.lproj/main.nib/keyedobjects.nib | Bin 47872 -> 0 bytes .../Resources/he.lproj/Localizable.strings | Bin 4086 -> 0 bytes .../Resources/he.lproj/locversion.plist | 14 - .../he.lproj/main.nib/designable.nib | 754 -------- .../he.lproj/main.nib/keyedobjects-110000.nib | Bin 47024 -> 0 bytes .../he.lproj/main.nib/keyedobjects.nib | Bin 47049 -> 0 bytes .../Resources/hr.lproj/Localizable.strings | Bin 4488 -> 0 bytes .../Resources/hr.lproj/locversion.plist | 14 - .../hr.lproj/main.nib/designable.nib | 758 --------- .../hr.lproj/main.nib/keyedobjects-110000.nib | Bin 47817 -> 0 bytes .../hr.lproj/main.nib/keyedobjects.nib | Bin 47842 -> 0 bytes .../Resources/hu.lproj/Localizable.strings | Bin 4542 -> 0 bytes .../Resources/hu.lproj/locversion.plist | 14 - .../hu.lproj/main.nib/designable.nib | 759 --------- .../hu.lproj/main.nib/keyedobjects-110000.nib | Bin 48809 -> 0 bytes .../hu.lproj/main.nib/keyedobjects.nib | Bin 48834 -> 0 bytes .../Resources/ko.lproj/Localizable.strings | Bin 3698 -> 0 bytes .../Resources/ko.lproj/locversion.plist | 14 - .../ko.lproj/main.nib/designable.nib | 752 -------- .../ko.lproj/main.nib/keyedobjects-110000.nib | Bin 45555 -> 0 bytes .../ko.lproj/main.nib/keyedobjects.nib | Bin 45580 -> 0 bytes .../Resources/no.lproj/Localizable.strings | Bin 4480 -> 0 bytes .../Resources/no.lproj/locversion.plist | 14 - .../no.lproj/main.nib/designable.nib | 756 --------- .../no.lproj/main.nib/keyedobjects-110000.nib | Bin 47125 -> 0 bytes .../no.lproj/main.nib/keyedobjects.nib | Bin 47150 -> 0 bytes .../Resources/pl.lproj/Localizable.strings | Bin 4232 -> 0 bytes .../Resources/pl.lproj/locversion.plist | 14 - .../pl.lproj/main.nib/designable.nib | 754 -------- .../pl.lproj/main.nib/keyedobjects-110000.nib | Bin 47775 -> 0 bytes .../pl.lproj/main.nib/keyedobjects.nib | Bin 47800 -> 0 bytes .../Resources/pt.lproj/Localizable.strings | Bin 4554 -> 0 bytes .../Resources/pt.lproj/locversion.plist | 14 - .../pt.lproj/main.nib/designable.nib | 757 --------- .../pt.lproj/main.nib/keyedobjects-110000.nib | Bin 48133 -> 0 bytes .../pt.lproj/main.nib/keyedobjects.nib | Bin 48158 -> 0 bytes .../Resources/pt_PT.lproj/Localizable.strings | Bin 4436 -> 0 bytes .../Resources/pt_PT.lproj/locversion.plist | 14 - .../pt_PT.lproj/main.nib/designable.nib | 757 --------- .../main.nib/keyedobjects-110000.nib | Bin 48365 -> 0 bytes .../pt_PT.lproj/main.nib/keyedobjects.nib | Bin 48390 -> 0 bytes .../Resources/ro.lproj/Localizable.strings | Bin 4486 -> 0 bytes .../Resources/ro.lproj/locversion.plist | 14 - .../ro.lproj/main.nib/designable.nib | 759 --------- .../ro.lproj/main.nib/keyedobjects-110000.nib | Bin 48827 -> 0 bytes .../ro.lproj/main.nib/keyedobjects.nib | Bin 48852 -> 0 bytes .../Resources/ru.lproj/Localizable.strings | Bin 4582 -> 0 bytes .../Resources/ru.lproj/locversion.plist | 14 - .../ru.lproj/main.nib/designable.nib | 758 --------- .../ru.lproj/main.nib/keyedobjects-110000.nib | Bin 48547 -> 0 bytes .../ru.lproj/main.nib/keyedobjects.nib | Bin 48572 -> 0 bytes .../Resources/sk.lproj/Localizable.strings | Bin 4352 -> 0 bytes .../Resources/sk.lproj/locversion.plist | 14 - .../sk.lproj/main.nib/designable.nib | 755 --------- .../sk.lproj/main.nib/keyedobjects-110000.nib | Bin 47914 -> 0 bytes .../sk.lproj/main.nib/keyedobjects.nib | Bin 47939 -> 0 bytes .../Resources/sv.lproj/Localizable.strings | Bin 4348 -> 0 bytes .../Resources/sv.lproj/locversion.plist | 14 - .../sv.lproj/main.nib/designable.nib | 756 --------- .../sv.lproj/main.nib/keyedobjects-110000.nib | Bin 47731 -> 0 bytes .../sv.lproj/main.nib/keyedobjects.nib | Bin 47756 -> 0 bytes .../Resources/th.lproj/Localizable.strings | Bin 4234 -> 0 bytes .../Resources/th.lproj/locversion.plist | 14 - .../th.lproj/main.nib/designable.nib | 755 --------- .../th.lproj/main.nib/keyedobjects-110000.nib | Bin 47516 -> 0 bytes .../th.lproj/main.nib/keyedobjects.nib | Bin 47541 -> 0 bytes .../Resources/tr.lproj/Localizable.strings | Bin 4526 -> 0 bytes .../Resources/tr.lproj/locversion.plist | 14 - .../tr.lproj/main.nib/designable.nib | 757 --------- .../tr.lproj/main.nib/keyedobjects-110000.nib | Bin 48413 -> 0 bytes .../tr.lproj/main.nib/keyedobjects.nib | Bin 48438 -> 0 bytes .../Resources/uk.lproj/Localizable.strings | Bin 4466 -> 0 bytes .../Resources/uk.lproj/locversion.plist | 14 - .../uk.lproj/main.nib/designable.nib | 759 --------- .../uk.lproj/main.nib/keyedobjects-110000.nib | Bin 48525 -> 0 bytes .../uk.lproj/main.nib/keyedobjects.nib | Bin 48550 -> 0 bytes .../Resources/zh_CN.lproj/Localizable.strings | Bin 3420 -> 0 bytes .../Resources/zh_CN.lproj/locversion.plist | 14 - .../zh_CN.lproj/main.nib/designable.nib | 752 -------- .../main.nib/keyedobjects-110000.nib | Bin 44627 -> 0 bytes .../zh_CN.lproj/main.nib/keyedobjects.nib | Bin 44652 -> 0 bytes .../Resources/zh_TW.lproj/Localizable.strings | Bin 3416 -> 0 bytes .../Resources/zh_TW.lproj/locversion.plist | 14 - .../zh_TW.lproj/main.nib/designable.nib | 752 -------- .../main.nib/keyedobjects-110000.nib | Bin 44697 -> 0 bytes .../zh_TW.lproj/main.nib/keyedobjects.nib | Bin 44722 -> 0 bytes hw/xquartz/bundle/X11.sh | 15 - hw/xquartz/bundle/chown-bundle.sh | 7 - hw/xquartz/bundle/cpprules.in | 19 - hw/xquartz/bundle/meson.build | 59 - hw/xquartz/bundle/mk_bundke.sh | 31 - hw/xquartz/darwin.c | 835 --------- hw/xquartz/darwin.h | 99 -- hw/xquartz/darwinEvents.c | 647 ------- hw/xquartz/darwinEvents.h | 106 -- hw/xquartz/darwinXinput.c | 164 -- hw/xquartz/darwinfb.h | 57 - hw/xquartz/defaults.plist | 17 - hw/xquartz/keysym2ucs.c | 911 ---------- hw/xquartz/keysym2ucs.h | 40 - hw/xquartz/mach-startup/.gitignore | 8 - hw/xquartz/mach-startup/bundle-main.c | 809 --------- hw/xquartz/mach-startup/bundle_trampoline.c | 87 - hw/xquartz/mach-startup/launchd_fd.c | 112 -- hw/xquartz/mach-startup/launchd_fd.h | 37 - hw/xquartz/mach-startup/mach_startup.defs | 50 - hw/xquartz/mach-startup/mach_startup_types.h | 9 - hw/xquartz/mach-startup/meson.build | 99 -- hw/xquartz/mach-startup/stub.c | 340 ---- hw/xquartz/man/Xquartz.man | 192 --- hw/xquartz/meson.build | 101 -- hw/xquartz/pbproxy/.gitignore | 1 - hw/xquartz/pbproxy/app-main.m | 86 - hw/xquartz/pbproxy/main.m | 140 -- hw/xquartz/pbproxy/meson.build | 34 - hw/xquartz/pbproxy/pbproxy.h | 99 -- hw/xquartz/pbproxy/trick_autotools.c | 5 - hw/xquartz/pbproxy/x-input.m | 180 -- hw/xquartz/pbproxy/x-selection.h | 111 -- hw/xquartz/pbproxy/x-selection.m | 1510 ----------------- hw/xquartz/quartz.c | 554 ------ hw/xquartz/quartz.h | 174 -- hw/xquartz/quartzKeyboard.c | 884 ---------- hw/xquartz/quartzKeyboard.h | 65 - hw/xquartz/quartzRandR.c | 525 ------ hw/xquartz/quartzRandR.h | 85 - hw/xquartz/quartzStartup.c | 137 -- hw/xquartz/sanitizedCarbon.h | 32 - hw/xquartz/sanitizedCocoa.h | 64 - hw/xquartz/xpr/appledri.c | 528 ------ hw/xquartz/xpr/appledri.h | 137 -- hw/xquartz/xpr/appledristr.h | 250 --- hw/xquartz/xpr/dri.c | 818 --------- hw/xquartz/xpr/dri.h | 129 -- hw/xquartz/xpr/driWrap.c | 569 ------- hw/xquartz/xpr/driWrap.h | 36 - hw/xquartz/xpr/dristruct.h | 84 - hw/xquartz/xpr/meson.build | 18 - hw/xquartz/xpr/x-hash.c | 321 ---- hw/xquartz/xpr/x-hash.h | 90 - hw/xquartz/xpr/x-hook.c | 97 -- hw/xquartz/xpr/x-hook.h | 45 - hw/xquartz/xpr/x-list.c | 315 ---- hw/xquartz/xpr/x-list.h | 78 - hw/xquartz/xpr/xpr.h | 80 - hw/xquartz/xpr/xprAppleWM.c | 155 -- hw/xquartz/xpr/xprCursor.c | 408 ----- hw/xquartz/xpr/xprEvent.c | 86 - hw/xquartz/xpr/xprEvent.h | 35 - hw/xquartz/xpr/xprFrame.c | 599 ------- hw/xquartz/xpr/xprScreen.c | 518 ------ include/meson.build | 6 - meson.build | 24 +- meson_options.txt | 20 - miext/rootless/README.txt | 326 ---- miext/rootless/meson.build | 13 - miext/rootless/rootless.h | 362 ---- miext/rootless/rootlessCommon.c | 498 ------ miext/rootless/rootlessCommon.h | 276 --- miext/rootless/rootlessConfig.h | 47 - miext/rootless/rootlessGC.c | 1481 ---------------- miext/rootless/rootlessScreen.c | 745 -------- miext/rootless/rootlessValTree.c | 529 ------ miext/rootless/rootlessWindow.c | 1352 --------------- miext/rootless/rootlessWindow.h | 64 - test/scripts/build-travis-osx.sh | 50 - 252 files changed, 1 insertion(+), 49705 deletions(-) delete mode 100644 .travis.yml delete mode 100644 hw/xquartz/GL/capabilities.c delete mode 100644 hw/xquartz/GL/capabilities.h delete mode 100644 hw/xquartz/GL/glcontextmodes.c delete mode 100644 hw/xquartz/GL/glcontextmodes.h delete mode 100644 hw/xquartz/GL/indirect.c delete mode 100644 hw/xquartz/GL/meson.build delete mode 100644 hw/xquartz/GL/visualConfigs.c delete mode 100644 hw/xquartz/GL/visualConfigs.h delete mode 100644 hw/xquartz/NSUserDefaults+XQuartzDefaults.h delete mode 100644 hw/xquartz/NSUserDefaults+XQuartzDefaults.m delete mode 100644 hw/xquartz/X11Application.h delete mode 100644 hw/xquartz/X11Application.m delete mode 100644 hw/xquartz/X11Controller.h delete mode 100644 hw/xquartz/X11Controller.m delete mode 100644 hw/xquartz/applewm.c delete mode 100644 hw/xquartz/applewmExt.h delete mode 100644 hw/xquartz/bundle/.gitignore delete mode 100644 hw/xquartz/bundle/Info.plist.cpp delete mode 100644 hw/xquartz/bundle/PkgInfo delete mode 100644 hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/English.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/English.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/French.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/French.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/French.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/German.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/German.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/German.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/Italian.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/Italian.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/Italian.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/Japanese.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/Japanese.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/Spanish.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/Spanish.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/X11.icns delete mode 100644 hw/xquartz/bundle/Resources/ar.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/ar.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/ar.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/ar.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/ar.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/ca.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/ca.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/ca.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/ca.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/ca.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/cs.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/cs.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/cs.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/cs.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/cs.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/da.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/da.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/da.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/el.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/el.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/el.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/el.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/el.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/fi.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/fi.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/fi.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/he.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/he.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/he.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/he.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/he.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/hr.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/hr.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/hr.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/hr.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/hr.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/hu.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/hu.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/hu.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/hu.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/hu.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/ko.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/ko.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/ko.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/no.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/no.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/no.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/pl.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/pl.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/pl.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/pt.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/pt.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/pt.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/pt_PT.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/pt_PT.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/ro.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/ro.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/ro.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/ro.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/ro.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/ru.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/ru.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/ru.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/sk.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/sk.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/sk.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/sk.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/sk.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/sv.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/sv.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/sv.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/th.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/th.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/th.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/th.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/th.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/tr.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/tr.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/tr.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/tr.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/tr.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/uk.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/uk.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/uk.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/uk.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/uk.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/zh_CN.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/zh_CN.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects.nib delete mode 100644 hw/xquartz/bundle/Resources/zh_TW.lproj/Localizable.strings delete mode 100644 hw/xquartz/bundle/Resources/zh_TW.lproj/locversion.plist delete mode 100644 hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/designable.nib delete mode 100644 hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects-110000.nib delete mode 100644 hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects.nib delete mode 100755 hw/xquartz/bundle/X11.sh delete mode 100755 hw/xquartz/bundle/chown-bundle.sh delete mode 100644 hw/xquartz/bundle/cpprules.in delete mode 100644 hw/xquartz/bundle/meson.build delete mode 100755 hw/xquartz/bundle/mk_bundke.sh delete mode 100644 hw/xquartz/darwin.c delete mode 100644 hw/xquartz/darwin.h delete mode 100644 hw/xquartz/darwinEvents.c delete mode 100644 hw/xquartz/darwinEvents.h delete mode 100644 hw/xquartz/darwinXinput.c delete mode 100644 hw/xquartz/darwinfb.h delete mode 100644 hw/xquartz/defaults.plist delete mode 100644 hw/xquartz/keysym2ucs.c delete mode 100644 hw/xquartz/keysym2ucs.h delete mode 100644 hw/xquartz/mach-startup/.gitignore delete mode 100644 hw/xquartz/mach-startup/bundle-main.c delete mode 100644 hw/xquartz/mach-startup/bundle_trampoline.c delete mode 100644 hw/xquartz/mach-startup/launchd_fd.c delete mode 100644 hw/xquartz/mach-startup/launchd_fd.h delete mode 100644 hw/xquartz/mach-startup/mach_startup.defs delete mode 100644 hw/xquartz/mach-startup/mach_startup_types.h delete mode 100644 hw/xquartz/mach-startup/meson.build delete mode 100644 hw/xquartz/mach-startup/stub.c delete mode 100644 hw/xquartz/man/Xquartz.man delete mode 100644 hw/xquartz/meson.build delete mode 100644 hw/xquartz/pbproxy/.gitignore delete mode 100644 hw/xquartz/pbproxy/app-main.m delete mode 100644 hw/xquartz/pbproxy/main.m delete mode 100644 hw/xquartz/pbproxy/meson.build delete mode 100644 hw/xquartz/pbproxy/pbproxy.h delete mode 100644 hw/xquartz/pbproxy/trick_autotools.c delete mode 100644 hw/xquartz/pbproxy/x-input.m delete mode 100644 hw/xquartz/pbproxy/x-selection.h delete mode 100644 hw/xquartz/pbproxy/x-selection.m delete mode 100644 hw/xquartz/quartz.c delete mode 100644 hw/xquartz/quartz.h delete mode 100644 hw/xquartz/quartzKeyboard.c delete mode 100644 hw/xquartz/quartzKeyboard.h delete mode 100644 hw/xquartz/quartzRandR.c delete mode 100644 hw/xquartz/quartzRandR.h delete mode 100644 hw/xquartz/quartzStartup.c delete mode 100644 hw/xquartz/sanitizedCarbon.h delete mode 100644 hw/xquartz/sanitizedCocoa.h delete mode 100644 hw/xquartz/xpr/appledri.c delete mode 100644 hw/xquartz/xpr/appledri.h delete mode 100644 hw/xquartz/xpr/appledristr.h delete mode 100644 hw/xquartz/xpr/dri.c delete mode 100644 hw/xquartz/xpr/dri.h delete mode 100644 hw/xquartz/xpr/driWrap.c delete mode 100644 hw/xquartz/xpr/driWrap.h delete mode 100644 hw/xquartz/xpr/dristruct.h delete mode 100644 hw/xquartz/xpr/meson.build delete mode 100644 hw/xquartz/xpr/x-hash.c delete mode 100644 hw/xquartz/xpr/x-hash.h delete mode 100644 hw/xquartz/xpr/x-hook.c delete mode 100644 hw/xquartz/xpr/x-hook.h delete mode 100644 hw/xquartz/xpr/x-list.c delete mode 100644 hw/xquartz/xpr/x-list.h delete mode 100644 hw/xquartz/xpr/xpr.h delete mode 100644 hw/xquartz/xpr/xprAppleWM.c delete mode 100644 hw/xquartz/xpr/xprCursor.c delete mode 100644 hw/xquartz/xpr/xprEvent.c delete mode 100644 hw/xquartz/xpr/xprEvent.h delete mode 100644 hw/xquartz/xpr/xprFrame.c delete mode 100644 hw/xquartz/xpr/xprScreen.c delete mode 100644 miext/rootless/README.txt delete mode 100644 miext/rootless/meson.build delete mode 100644 miext/rootless/rootless.h delete mode 100644 miext/rootless/rootlessCommon.c delete mode 100644 miext/rootless/rootlessCommon.h delete mode 100644 miext/rootless/rootlessConfig.h delete mode 100644 miext/rootless/rootlessGC.c delete mode 100644 miext/rootless/rootlessScreen.c delete mode 100644 miext/rootless/rootlessValTree.c delete mode 100644 miext/rootless/rootlessWindow.c delete mode 100644 miext/rootless/rootlessWindow.h delete mode 100755 test/scripts/build-travis-osx.sh diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 654ab5ba5..000000000 --- a/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: c -cache: - ccache: true - directories: - - $HOME/Library/Caches/Homebrew -branches: - except: - - /appveyor.*/ - -os: osx -osx_image: xcode9.2 - -matrix: - include: - - env: TOOL=meson - - env: TOOL=autotools - -install: - - brew update - - HOMEBREW_NO_AUTO_UPDATE=1 brew install ccache meson - -script: - - ./test/scripts/build-travis-osx.sh $TOOL - - ccache -s - -before_cache: - - brew cleanup diff --git a/hw/meson.build b/hw/meson.build index 0f43ab6e2..c870e19c2 100644 --- a/hw/meson.build +++ b/hw/meson.build @@ -14,10 +14,6 @@ if build_xorg subdir('xfree86') endif -if build_xquartz - subdir('xquartz') -endif - if build_xwayland subdir('xwayland') endif diff --git a/hw/xquartz/GL/capabilities.c b/hw/xquartz/GL/capabilities.c deleted file mode 100644 index 1744f1203..000000000 --- a/hw/xquartz/GL/capabilities.c +++ /dev/null @@ -1,571 +0,0 @@ -/* - * Copyright (c) 2008-2012 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include - -#define Cursor Mac_Cursor -#define BOOL Mac_BOOL -#include -#include -#include -#include -#include -#undef Cursor -#undef BOOL - -#include "capabilities.h" - -#include "os.h" - -static void -handleBufferModes(struct glCapabilitiesConfig *c, GLint bufferModes) -{ - if (bufferModes & kCGLStereoscopicBit) { - c->stereo = true; - } - - if (bufferModes & kCGLDoubleBufferBit) { - c->buffers = 2; - } - else { - c->buffers = 1; - } -} - -static void -handleStencilModes(struct glCapabilitiesConfig *c, GLint smodes) -{ - int offset = 0; - - if (kCGL0Bit & smodes) - c->stencil_bit_depths[offset++] = 0; - - if (kCGL1Bit & smodes) - c->stencil_bit_depths[offset++] = 1; - - if (kCGL2Bit & smodes) - c->stencil_bit_depths[offset++] = 2; - - if (kCGL3Bit & smodes) - c->stencil_bit_depths[offset++] = 3; - - if (kCGL4Bit & smodes) - c->stencil_bit_depths[offset++] = 4; - - if (kCGL5Bit & smodes) - c->stencil_bit_depths[offset++] = 5; - - if (kCGL6Bit & smodes) - c->stencil_bit_depths[offset++] = 6; - - if (kCGL8Bit & smodes) - c->stencil_bit_depths[offset++] = 8; - - if (kCGL10Bit & smodes) - c->stencil_bit_depths[offset++] = 10; - - if (kCGL12Bit & smodes) - c->stencil_bit_depths[offset++] = 12; - - if (kCGL16Bit & smodes) - c->stencil_bit_depths[offset++] = 16; - - if (kCGL24Bit & smodes) - c->stencil_bit_depths[offset++] = 24; - - if (kCGL32Bit & smodes) - c->stencil_bit_depths[offset++] = 32; - - if (kCGL48Bit & smodes) - c->stencil_bit_depths[offset++] = 48; - - if (kCGL64Bit & smodes) - c->stencil_bit_depths[offset++] = 64; - - if (kCGL96Bit & smodes) - c->stencil_bit_depths[offset++] = 96; - - if (kCGL128Bit & smodes) - c->stencil_bit_depths[offset++] = 128; - - assert(offset < GLCAPS_STENCIL_BIT_DEPTH_BUFFERS); - - c->total_stencil_bit_depths = offset; -} - -static int -handleColorAndAccumulation(struct glColorBufCapabilities *c, - GLint cmodes, int forAccum) -{ - int offset = 0; - - /*1*/ - if (kCGLRGB444Bit & cmodes) { - c[offset].r = 4; - c[offset].g = 4; - c[offset].b = 4; - ++offset; - } - - /*2*/ - if (kCGLARGB4444Bit & cmodes) { - c[offset].a = 4; - c[offset].r = 4; - c[offset].g = 4; - c[offset].b = 4; - c[offset].is_argb = true; - ++offset; - } - - /*3*/ - if (kCGLRGB444A8Bit & cmodes) { - c[offset].r = 4; - c[offset].g = 4; - c[offset].b = 4; - c[offset].a = 8; - ++offset; - } - - /*4*/ - if (kCGLRGB555Bit & cmodes) { - c[offset].r = 5; - c[offset].g = 5; - c[offset].b = 5; - ++offset; - } - - /*5*/ - if (kCGLARGB1555Bit & cmodes) { - c[offset].a = 1; - c[offset].r = 5; - c[offset].g = 5; - c[offset].b = 5; - c[offset].is_argb = true; - ++offset; - } - - /*6*/ - if (kCGLRGB555A8Bit & cmodes) { - c[offset].r = 5; - c[offset].g = 5; - c[offset].b = 5; - c[offset].a = 8; - ++offset; - } - - /*7*/ - if (kCGLRGB565Bit & cmodes) { - c[offset].r = 5; - c[offset].g = 6; - c[offset].b = 5; - ++offset; - } - - /*8*/ - if (kCGLRGB565A8Bit & cmodes) { - c[offset].r = 5; - c[offset].g = 6; - c[offset].b = 5; - c[offset].a = 8; - ++offset; - } - - /*9*/ - if (kCGLRGB888Bit & cmodes) { - c[offset].r = 8; - c[offset].g = 8; - c[offset].b = 8; - ++offset; - } - - /*10*/ - if (kCGLARGB8888Bit & cmodes) { - c[offset].a = 8; - c[offset].r = 8; - c[offset].g = 8; - c[offset].b = 8; - c[offset].is_argb = true; - ++offset; - } - - /*11*/ - if (kCGLRGB888A8Bit & cmodes) { - c[offset].r = 8; - c[offset].g = 8; - c[offset].b = 8; - c[offset].a = 8; - ++offset; - } - - if (forAccum) { - //#if 0 - /* FIXME - * Disable this path, because some part of libGL, X, or Xplugin - * doesn't work with sizes greater than 8. - * When this is enabled and visuals are chosen using depths - * such as 16, the result is that the windows don't redraw - * and are often white, until a resize. - */ - - /*12*/ - if (kCGLRGB101010Bit & cmodes) { - c[offset].r = 10; - c[offset].g = 10; - c[offset].b = 10; - ++offset; - } - - /*13*/ - if (kCGLARGB2101010Bit & cmodes) { - c[offset].a = 2; - c[offset].r = 10; - c[offset].g = 10; - c[offset].b = 10; - c[offset].is_argb = true; - ++offset; - } - - /*14*/ - if (kCGLRGB101010_A8Bit & cmodes) { - c[offset].r = 10; - c[offset].g = 10; - c[offset].b = 10; - c[offset].a = 8; - ++offset; - } - - /*15*/ - if (kCGLRGB121212Bit & cmodes) { - c[offset].r = 12; - c[offset].g = 12; - c[offset].b = 12; - ++offset; - } - - /*16*/ - if (kCGLARGB12121212Bit & cmodes) { - c[offset].a = 12; - c[offset].r = 12; - c[offset].g = 12; - c[offset].b = 12; - c[offset].is_argb = true; - ++offset; - } - - /*17*/ - if (kCGLRGB161616Bit & cmodes) { - c[offset].r = 16; - c[offset].g = 16; - c[offset].b = 16; - ++offset; - } - - /*18*/ - if (kCGLRGBA16161616Bit & cmodes) { - c[offset].r = 16; - c[offset].g = 16; - c[offset].b = 16; - c[offset].a = 16; - ++offset; - } - } - //#endif - - /* FIXME should we handle the floating point color modes, and if so, how? */ - - return offset; -} - -static void -handleColorModes(struct glCapabilitiesConfig *c, GLint cmodes) -{ - c->total_color_buffers = handleColorAndAccumulation(c->color_buffers, - cmodes, 0); - - assert(c->total_color_buffers < GLCAPS_COLOR_BUFFERS); -} - -static void -handleAccumulationModes(struct glCapabilitiesConfig *c, GLint cmodes) -{ - c->total_accum_buffers = handleColorAndAccumulation(c->accum_buffers, - cmodes, 1); - assert(c->total_accum_buffers < GLCAPS_COLOR_BUFFERS); -} - -static void -handleDepthModes(struct glCapabilitiesConfig *c, GLint dmodes) -{ - int offset = 0; -#define DEPTH(flag, value) do { \ - if (dmodes & flag) { \ - c->depth_buffers[offset++] = value; \ - } \ -} while (0) - - /*1*/ - DEPTH(kCGL0Bit, 0); - /*2*/ - DEPTH(kCGL1Bit, 1); - /*3*/ - DEPTH(kCGL2Bit, 2); - /*4*/ - DEPTH(kCGL3Bit, 3); - /*5*/ - DEPTH(kCGL4Bit, 4); - /*6*/ - DEPTH(kCGL5Bit, 5); - /*7*/ - DEPTH(kCGL6Bit, 6); - /*8*/ - DEPTH(kCGL8Bit, 8); - /*9*/ - DEPTH(kCGL10Bit, 10); - /*10*/ - DEPTH(kCGL12Bit, 12); - /*11*/ - DEPTH(kCGL16Bit, 16); - /*12*/ - DEPTH(kCGL24Bit, 24); - /*13*/ - DEPTH(kCGL32Bit, 32); - /*14*/ - DEPTH(kCGL48Bit, 48); - /*15*/ - DEPTH(kCGL64Bit, 64); - /*16*/ - DEPTH(kCGL96Bit, 96); - /*17*/ - DEPTH(kCGL128Bit, 128); - -#undef DEPTH - - c->total_depth_buffer_depths = offset; - assert(c->total_depth_buffer_depths < GLCAPS_DEPTH_BUFFERS); -} - -/* Return non-zero if an error occurred. */ -static CGLError -handleRendererDescriptions(CGLRendererInfoObj info, GLint r, - struct glCapabilitiesConfig *c) -{ - CGLError err; - GLint accelerated = 0, flags = 0, aux = 0, samplebufs = 0, samples = 0; - - err = CGLDescribeRenderer(info, r, kCGLRPAccelerated, &accelerated); - - if (err) - return err; - - c->accelerated = accelerated; - - /* Buffering modes: single/double, stereo */ - err = CGLDescribeRenderer(info, r, kCGLRPBufferModes, &flags); - - if (err) - return err; - - handleBufferModes(c, flags); - - /* AUX buffers */ - err = CGLDescribeRenderer(info, r, kCGLRPMaxAuxBuffers, &aux); - - if (err) - return err; - - c->aux_buffers = aux; - - /* Depth buffer size */ - err = CGLDescribeRenderer(info, r, kCGLRPDepthModes, &flags); - - if (err) - return err; - - handleDepthModes(c, flags); - - /* Multisample buffers */ - err = CGLDescribeRenderer(info, r, kCGLRPMaxSampleBuffers, &samplebufs); - - if (err) - return err; - - c->multisample_buffers = samplebufs; - - /* Multisample samples per multisample buffer */ - err = CGLDescribeRenderer(info, r, kCGLRPMaxSamples, &samples); - - if (err) - return err; - - c->multisample_samples = samples; - - /* Stencil bit depths */ - err = CGLDescribeRenderer(info, r, kCGLRPStencilModes, &flags); - - if (err) - return err; - - handleStencilModes(c, flags); - - /* Color modes (RGB/RGBA depths supported */ - err = CGLDescribeRenderer(info, r, kCGLRPColorModes, &flags); - - if (err) - return err; - - handleColorModes(c, flags); - - err = CGLDescribeRenderer(info, r, kCGLRPAccumModes, &flags); - - if (err) - return err; - - handleAccumulationModes(c, flags); - - return kCGLNoError; -} - -static void -initCapabilities(struct glCapabilities *cap) -{ - cap->configurations = NULL; - cap->total_configurations = 0; -} - -static void -initConfig(struct glCapabilitiesConfig *c) -{ - int i; - - c->accelerated = false; - c->stereo = false; - c->aux_buffers = 0; - c->buffers = 0; - - c->total_depth_buffer_depths = 0; - - for (i = 0; i < GLCAPS_DEPTH_BUFFERS; ++i) { - c->depth_buffers[i] = GLCAPS_INVALID_DEPTH_VALUE; - } - - c->multisample_buffers = 0; - c->multisample_samples = 0; - - c->total_stencil_bit_depths = 0; - - for (i = 0; i < GLCAPS_STENCIL_BIT_DEPTH_BUFFERS; ++i) { - c->stencil_bit_depths[i] = GLCAPS_INVALID_STENCIL_DEPTH; - } - - c->total_color_buffers = 0; - - for (i = 0; i < GLCAPS_COLOR_BUFFERS; ++i) { - c->color_buffers[i].r = c->color_buffers[i].g = - c->color_buffers[i].b = - c->color_buffers[i].a = - GLCAPS_COLOR_BUF_INVALID_VALUE; - c->color_buffers[i].is_argb = false; - } - - c->total_accum_buffers = 0; - - for (i = 0; i < GLCAPS_COLOR_BUFFERS; ++i) { - c->accum_buffers[i].r = c->accum_buffers[i].g = - c->accum_buffers[i].b = - c->accum_buffers[i].a = - GLCAPS_COLOR_BUF_INVALID_VALUE; - c->accum_buffers[i].is_argb = false; - } - - c->next = NULL; -} - -void -freeGlCapabilities(struct glCapabilities *cap) -{ - struct glCapabilitiesConfig *conf, *next; - - conf = cap->configurations; - - while (conf) { - next = conf->next; - free(conf); - conf = next; - } - - cap->configurations = NULL; -} - -/* Return true if an error occurred. */ -bool -getGlCapabilities(struct glCapabilities *cap) -{ - CGLRendererInfoObj info; - CGLError err; - GLint numRenderers = 0, r; - - initCapabilities(cap); - - err = CGLQueryRendererInfo((GLuint) - 1, &info, &numRenderers); - if (err) { - ErrorF("CGLQueryRendererInfo error: %s\n", CGLErrorString(err)); - return err; - } - - for (r = 0; r < numRenderers; r++) { - struct glCapabilitiesConfig tmpconf, *conf; - - initConfig(&tmpconf); - - err = handleRendererDescriptions(info, r, &tmpconf); - if (err) { - ErrorF("handleRendererDescriptions returned error: %s\n", - CGLErrorString( - err)); - ErrorF("trying to continue...\n"); - continue; - } - - conf = malloc(sizeof(*conf)); - if (NULL == conf) { - FatalError("Unable to allocate memory for OpenGL capabilities\n"); - } - - /* Copy the struct. */ - *conf = tmpconf; - - /* Now link the configuration into the list. */ - conf->next = cap->configurations; - cap->configurations = conf; - } - - CGLDestroyRendererInfo(info); - - /* No error occurred. We are done. */ - return kCGLNoError; -} diff --git a/hw/xquartz/GL/capabilities.h b/hw/xquartz/GL/capabilities.h deleted file mode 100644 index 62b3ac25a..000000000 --- a/hw/xquartz/GL/capabilities.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Copyright (c) 2008-2012 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#ifndef CAPABILITIES_H -#define CAPABILITIES_H - -#include - -enum { GLCAPS_INVALID_STENCIL_DEPTH = -1 }; -enum { GLCAPS_COLOR_BUF_INVALID_VALUE = -1 }; -enum { GLCAPS_COLOR_BUFFERS = 20 }; -enum { GLCAPS_STENCIL_BIT_DEPTH_BUFFERS = 20 }; -enum { GLCAPS_DEPTH_BUFFERS = 20 }; -enum { GLCAPS_INVALID_DEPTH_VALUE = 1 }; - -struct glColorBufCapabilities { - char r, g, b, a; - bool is_argb; -}; - -struct glCapabilitiesConfig { - bool accelerated; - bool stereo; - int aux_buffers; - int buffers; - int total_depth_buffer_depths; - int depth_buffers[GLCAPS_DEPTH_BUFFERS]; - int multisample_buffers; - int multisample_samples; - int total_stencil_bit_depths; - char stencil_bit_depths[GLCAPS_STENCIL_BIT_DEPTH_BUFFERS]; - int total_color_buffers; - struct glColorBufCapabilities color_buffers[GLCAPS_COLOR_BUFFERS]; - int total_accum_buffers; - struct glColorBufCapabilities accum_buffers[GLCAPS_COLOR_BUFFERS]; - struct glCapabilitiesConfig *next; -}; - -struct glCapabilities { - struct glCapabilitiesConfig *configurations; - int total_configurations; -}; - -bool -getGlCapabilities(struct glCapabilities *cap); -void -freeGlCapabilities(struct glCapabilities *cap); - -#endif diff --git a/hw/xquartz/GL/glcontextmodes.c b/hw/xquartz/GL/glcontextmodes.c deleted file mode 100644 index 64a1ac7c4..000000000 --- a/hw/xquartz/GL/glcontextmodes.c +++ /dev/null @@ -1,585 +0,0 @@ -/* - * (C) Copyright IBM Corporation 2003 - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * on the rights to use, copy, modify, merge, publish, distribute, sub - * license, and/or sell copies of the Software, and to permit persons to whom - * the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - * USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/** - * \file glcontextmodes.c - * Utility routines for working with \c __GLcontextModes structures. At - * some point most or all of these functions will be moved to the Mesa - * code base. - * - * \author Ian Romanick - */ - -#if defined(IN_MINI_GLX) -#include -#else -#if defined(HAVE_DIX_CONFIG_H) -#include -#endif -#include -#include -#include "GL/glxint.h" -#endif - -/* Memory macros */ -#if defined(IN_MINI_GLX) -#include -#include -#define _mesa_malloc(b) malloc(b) -#define _mesa_free(m) free(m) -#define _mesa_memset memset -#else -#ifdef XFree86Server -#include -#include -#define _mesa_malloc(b) malloc(b) -#define _mesa_free(m) free(m) -#define _mesa_memset memset -#else -#include -#define _mesa_memset memset -#define _mesa_malloc(b) Xmalloc(b) -#define _mesa_free(m) free(m) -#endif /* XFree86Server */ -#endif /* !defined(IN_MINI_GLX) */ - -#include "glcontextmodes.h" - -#if !defined(IN_MINI_GLX) -#define NUM_VISUAL_TYPES 6 - -/** - * Convert an X visual type to a GLX visual type. - * - * \param visualType X visual type (i.e., \c TrueColor, \c StaticGray, etc.) - * to be converted. - * \return If \c visualType is a valid X visual type, a GLX visual type will - * be returned. Otherwise \c GLX_NONE will be returned. - */ -GLint -_gl_convert_from_x_visual_type(int visualType) -{ - static const int glx_visual_types[NUM_VISUAL_TYPES] = { - GLX_STATIC_GRAY, GLX_GRAY_SCALE, - GLX_STATIC_COLOR, GLX_PSEUDO_COLOR, - GLX_TRUE_COLOR, GLX_DIRECT_COLOR - }; - - return ((unsigned)visualType < NUM_VISUAL_TYPES) - ? glx_visual_types[visualType] : GLX_NONE; -} - -/** - * Convert a GLX visual type to an X visual type. - * - * \param visualType GLX visual type (i.e., \c GLX_TRUE_COLOR, - * \c GLX_STATIC_GRAY, etc.) to be converted. - * \return If \c visualType is a valid GLX visual type, an X visual type will - * be returned. Otherwise -1 will be returned. - */ -GLint -_gl_convert_to_x_visual_type(int visualType) -{ - static const int x_visual_types[NUM_VISUAL_TYPES] = { - TrueColor, DirectColor, - PseudoColor, StaticColor, - GrayScale, StaticGray - }; - - return ((unsigned)(visualType - GLX_TRUE_COLOR) < NUM_VISUAL_TYPES) - ? x_visual_types[visualType - GLX_TRUE_COLOR] : -1; -} - -/** - * Copy a GLX visual config structure to a GL context mode structure. All - * of the fields in \c config are copied to \c mode. Additional fields in - * \c mode that can be derived from the fields of \c config (i.e., - * \c haveDepthBuffer) are also filled in. The remaining fields in \c mode - * that cannot be derived are set to default values. - * - * \param mode Destination GL context mode. - * \param config Source GLX visual config. - * - * \note - * The \c fbconfigID and \c visualID fields of the \c __GLcontextModes - * structure will be set to the \c vid of the \c __GLXvisualConfig structure. - */ -void -_gl_copy_visual_to_context_mode(__GLcontextModes * mode, - const __GLXvisualConfig * config) -{ - __GLcontextModes * const next = mode->next; - - (void)_mesa_memset(mode, 0, sizeof(__GLcontextModes)); - mode->next = next; - - mode->visualID = config->vid; - mode->visualType = _gl_convert_from_x_visual_type(config->class); - mode->fbconfigID = config->vid; - mode->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT; - - mode->rgbMode = (config->rgba != 0); - mode->renderType = (mode->rgbMode) ? GLX_RGBA_BIT : GLX_COLOR_INDEX_BIT; - - mode->colorIndexMode = !(mode->rgbMode); - mode->doubleBufferMode = (config->doubleBuffer != 0); - mode->stereoMode = (config->stereo != 0); - - mode->haveAccumBuffer = ((config->accumRedSize + - config->accumGreenSize + - config->accumBlueSize + - config->accumAlphaSize) > 0); - mode->haveDepthBuffer = (config->depthSize > 0); - mode->haveStencilBuffer = (config->stencilSize > 0); - - mode->redBits = config->redSize; - mode->greenBits = config->greenSize; - mode->blueBits = config->blueSize; - mode->alphaBits = config->alphaSize; - mode->redMask = config->redMask; - mode->greenMask = config->greenMask; - mode->blueMask = config->blueMask; - mode->alphaMask = config->alphaMask; - mode->rgbBits = mode->rgbMode ? config->bufferSize : 0; - mode->indexBits = mode->colorIndexMode ? config->bufferSize : 0; - - mode->accumRedBits = config->accumRedSize; - mode->accumGreenBits = config->accumGreenSize; - mode->accumBlueBits = config->accumBlueSize; - mode->accumAlphaBits = config->accumAlphaSize; - mode->depthBits = config->depthSize; - mode->stencilBits = config->stencilSize; - - mode->numAuxBuffers = config->auxBuffers; - mode->level = config->level; - - mode->visualRating = config->visualRating; - mode->transparentPixel = config->transparentPixel; - mode->transparentRed = config->transparentRed; - mode->transparentGreen = config->transparentGreen; - mode->transparentBlue = config->transparentBlue; - mode->transparentAlpha = config->transparentAlpha; - mode->transparentIndex = config->transparentIndex; - mode->samples = config->multiSampleSize; - mode->sampleBuffers = config->nMultiSampleBuffers; - /* mode->visualSelectGroup = config->visualSelectGroup; ? */ - - mode->swapMethod = GLX_SWAP_UNDEFINED_OML; - - mode->bindToTextureRgb = (mode->rgbMode) ? GL_TRUE : GL_FALSE; - mode->bindToTextureRgba = (mode->rgbMode && mode->alphaBits) ? - GL_TRUE : GL_FALSE; - mode->bindToMipmapTexture = mode->rgbMode ? GL_TRUE : GL_FALSE; - mode->bindToTextureTargets = mode->rgbMode ? - GLX_TEXTURE_1D_BIT_EXT | - GLX_TEXTURE_2D_BIT_EXT | - GLX_TEXTURE_RECTANGLE_BIT_EXT : 0; - mode->yInverted = GL_FALSE; -} - -/** - * Get data from a GL context mode. - * - * \param mode GL context mode whose data is to be returned. - * \param attribute Attribute of \c mode that is to be returned. - * \param value_return Location to store the data member of \c mode. - * \return If \c attribute is a valid attribute of \c mode, zero is - * returned. Otherwise \c GLX_BAD_ATTRIBUTE is returned. - */ -int -_gl_get_context_mode_data(const __GLcontextModes *mode, int attribute, - int *value_return) -{ - switch (attribute) { - case GLX_USE_GL: - *value_return = GL_TRUE; - return 0; - - case GLX_BUFFER_SIZE: - *value_return = mode->rgbBits; - return 0; - - case GLX_RGBA: - *value_return = mode->rgbMode; - return 0; - - case GLX_RED_SIZE: - *value_return = mode->redBits; - return 0; - - case GLX_GREEN_SIZE: - *value_return = mode->greenBits; - return 0; - - case GLX_BLUE_SIZE: - *value_return = mode->blueBits; - return 0; - - case GLX_ALPHA_SIZE: - *value_return = mode->alphaBits; - return 0; - - case GLX_DOUBLEBUFFER: - *value_return = mode->doubleBufferMode; - return 0; - - case GLX_STEREO: - *value_return = mode->stereoMode; - return 0; - - case GLX_AUX_BUFFERS: - *value_return = mode->numAuxBuffers; - return 0; - - case GLX_DEPTH_SIZE: - *value_return = mode->depthBits; - return 0; - - case GLX_STENCIL_SIZE: - *value_return = mode->stencilBits; - return 0; - - case GLX_ACCUM_RED_SIZE: - *value_return = mode->accumRedBits; - return 0; - - case GLX_ACCUM_GREEN_SIZE: - *value_return = mode->accumGreenBits; - return 0; - - case GLX_ACCUM_BLUE_SIZE: - *value_return = mode->accumBlueBits; - return 0; - - case GLX_ACCUM_ALPHA_SIZE: - *value_return = mode->accumAlphaBits; - return 0; - - case GLX_LEVEL: - *value_return = mode->level; - return 0; - - case GLX_TRANSPARENT_TYPE_EXT: - *value_return = mode->transparentPixel; - return 0; - - case GLX_TRANSPARENT_RED_VALUE: - *value_return = mode->transparentRed; - return 0; - - case GLX_TRANSPARENT_GREEN_VALUE: - *value_return = mode->transparentGreen; - return 0; - - case GLX_TRANSPARENT_BLUE_VALUE: - *value_return = mode->transparentBlue; - return 0; - - case GLX_TRANSPARENT_ALPHA_VALUE: - *value_return = mode->transparentAlpha; - return 0; - - case GLX_TRANSPARENT_INDEX_VALUE: - *value_return = mode->transparentIndex; - return 0; - - case GLX_X_VISUAL_TYPE: - *value_return = mode->visualType; - return 0; - - case GLX_CONFIG_CAVEAT: - *value_return = mode->visualRating; - return 0; - - case GLX_VISUAL_ID: - *value_return = mode->visualID; - return 0; - - case GLX_DRAWABLE_TYPE: - *value_return = mode->drawableType; - return 0; - - case GLX_RENDER_TYPE: - *value_return = mode->renderType; - return 0; - - case GLX_X_RENDERABLE: - *value_return = mode->xRenderable; - return 0; - - case GLX_FBCONFIG_ID: - *value_return = mode->fbconfigID; - return 0; - - case GLX_MAX_PBUFFER_WIDTH: - *value_return = mode->maxPbufferWidth; - return 0; - - case GLX_MAX_PBUFFER_HEIGHT: - *value_return = mode->maxPbufferHeight; - return 0; - - case GLX_MAX_PBUFFER_PIXELS: - *value_return = mode->maxPbufferPixels; - return 0; - - case GLX_OPTIMAL_PBUFFER_WIDTH_SGIX: - *value_return = mode->optimalPbufferWidth; - return 0; - - case GLX_OPTIMAL_PBUFFER_HEIGHT_SGIX: - *value_return = mode->optimalPbufferHeight; - return 0; - - case GLX_SWAP_METHOD_OML: - *value_return = mode->swapMethod; - return 0; - - case GLX_SAMPLE_BUFFERS_SGIS: - *value_return = mode->sampleBuffers; - return 0; - - case GLX_SAMPLES_SGIS: - *value_return = mode->samples; - return 0; - - case GLX_BIND_TO_TEXTURE_RGB_EXT: - *value_return = mode->bindToTextureRgb; - return 0; - - case GLX_BIND_TO_TEXTURE_RGBA_EXT: - *value_return = mode->bindToTextureRgba; - return 0; - - case GLX_BIND_TO_MIPMAP_TEXTURE_EXT: - *value_return = mode->bindToMipmapTexture == GL_TRUE ? GL_TRUE : - GL_FALSE; - return 0; - - case GLX_BIND_TO_TEXTURE_TARGETS_EXT: - *value_return = mode->bindToTextureTargets; - return 0; - - case GLX_Y_INVERTED_EXT: - *value_return = mode->yInverted; - return 0; - - /* Applications are NOT allowed to query GLX_VISUAL_SELECT_GROUP_SGIX. - * It is ONLY for communication between the GLX client and the GLX - * server. - */ - case GLX_VISUAL_SELECT_GROUP_SGIX: - default: - return GLX_BAD_ATTRIBUTE; - } -} -#endif /* !defined(IN_MINI_GLX) */ - -/** - * Allocate a linked list of \c __GLcontextModes structures. The fields of - * each structure will be initialized to "reasonable" default values. In - * most cases this is the default value defined by table 3.4 of the GLX - * 1.3 specification. This means that most values are either initialized to - * zero or \c GLX_DONT_CARE (which is -1). As support for additional - * extensions is added, the new values will be initialized to appropriate - * values from the extension specification. - * - * \param count Number of structures to allocate. - * \param minimum_size Minimum size of a structure to allocate. This allows - * for differences in the version of the - * \c __GLcontextModes structure used in libGL and in a - * DRI-based driver. - * \returns A pointer to the first element in a linked list of \c count - * structures on success, or \c NULL on failure. - * - * \warning Use of \c minimum_size does \b not guarantee binary compatibility. - * The fundamental assumption is that if the \c minimum_size - * specified by the driver and the size of the \c __GLcontextModes - * structure in libGL is the same, then the meaning of each byte in - * the structure is the same in both places. \b Be \b careful! - * Basically this means that fields have to be added in libGL and - * then propagated to drivers. Drivers should \b never arbitrarilly - * extend the \c __GLcontextModes data-structure. - */ -__GLcontextModes * -_gl_context_modes_create(unsigned count, size_t minimum_size) -{ - const size_t size = (minimum_size > sizeof(__GLcontextModes)) - ? minimum_size : sizeof(__GLcontextModes); - __GLcontextModes * base = NULL; - __GLcontextModes ** next; - unsigned i; - - next = &base; - for (i = 0; i < count; i++) { - *next = (__GLcontextModes *)_mesa_malloc(size); - if (*next == NULL) { - _gl_context_modes_destroy(base); - base = NULL; - break; - } - - (void)_mesa_memset(*next, 0, size); - (*next)->visualID = GLX_DONT_CARE; - (*next)->visualType = GLX_DONT_CARE; - (*next)->visualRating = GLX_NONE; - (*next)->transparentPixel = GLX_NONE; - (*next)->transparentRed = GLX_DONT_CARE; - (*next)->transparentGreen = GLX_DONT_CARE; - (*next)->transparentBlue = GLX_DONT_CARE; - (*next)->transparentAlpha = GLX_DONT_CARE; - (*next)->transparentIndex = GLX_DONT_CARE; - (*next)->xRenderable = GLX_DONT_CARE; - (*next)->fbconfigID = GLX_DONT_CARE; - (*next)->swapMethod = GLX_SWAP_UNDEFINED_OML; - (*next)->bindToTextureRgb = GLX_DONT_CARE; - (*next)->bindToTextureRgba = GLX_DONT_CARE; - (*next)->bindToMipmapTexture = GLX_DONT_CARE; - (*next)->bindToTextureTargets = GLX_DONT_CARE; - (*next)->yInverted = GLX_DONT_CARE; - - next = &((*next)->next); - } - - return base; -} - -/** - * Destroy a linked list of \c __GLcontextModes structures created by - * \c _gl_context_modes_create. - * - * \param modes Linked list of structures to be destroyed. All structures - * in the list will be freed. - */ -void -_gl_context_modes_destroy(__GLcontextModes * modes) -{ - while (modes != NULL) { - __GLcontextModes * const next = modes->next; - - _mesa_free(modes); - modes = next; - } -} - -/** - * Find a context mode matching a Visual ID. - * - * \param modes List list of context-mode structures to be searched. - * \param vid Visual ID to be found. - * \returns A pointer to a context-mode in \c modes if \c vid was found in - * the list, or \c NULL if it was not. - */ - -__GLcontextModes * -_gl_context_modes_find_visual(__GLcontextModes *modes, int vid) -{ - __GLcontextModes *m; - - for (m = modes; m != NULL; m = m->next) - if (m->visualID == vid) - return m; - - return NULL; -} - -__GLcontextModes * -_gl_context_modes_find_fbconfig(__GLcontextModes *modes, int fbid) -{ - __GLcontextModes *m; - - for (m = modes; m != NULL; m = m->next) - if (m->fbconfigID == fbid) - return m; - - return NULL; -} - -/** - * Determine if two context-modes are the same. This is intended to be used - * by libGL implementations to compare to sets of driver generated FBconfigs. - * - * \param a Context-mode to be compared. - * \param b Context-mode to be compared. - * \returns \c GL_TRUE if the two context-modes are the same. \c GL_FALSE is - * returned otherwise. - */ -GLboolean -_gl_context_modes_are_same(const __GLcontextModes * a, - const __GLcontextModes * b) -{ - return ((a->rgbMode == b->rgbMode) && - (a->floatMode == b->floatMode) && - (a->colorIndexMode == b->colorIndexMode) && - (a->doubleBufferMode == b->doubleBufferMode) && - (a->stereoMode == b->stereoMode) && - (a->redBits == b->redBits) && - (a->greenBits == b->greenBits) && - (a->blueBits == b->blueBits) && - (a->alphaBits == b->alphaBits) && -#if 0 /* For some reason these don't get set on the client-side in libGL. */ - (a->redMask == b->redMask) && - (a->greenMask == b->greenMask) && - (a->blueMask == b->blueMask) && - (a->alphaMask == b->alphaMask) && -#endif - (a->rgbBits == b->rgbBits) && - (a->indexBits == b->indexBits) && - (a->accumRedBits == b->accumRedBits) && - (a->accumGreenBits == b->accumGreenBits) && - (a->accumBlueBits == b->accumBlueBits) && - (a->accumAlphaBits == b->accumAlphaBits) && - (a->depthBits == b->depthBits) && - (a->stencilBits == b->stencilBits) && - (a->numAuxBuffers == b->numAuxBuffers) && - (a->level == b->level) && - (a->visualRating == b->visualRating) && - - (a->transparentPixel == b->transparentPixel) && - - ((a->transparentPixel != GLX_TRANSPARENT_RGB) || - ((a->transparentRed == b->transparentRed) && - (a->transparentGreen == b->transparentGreen) && - (a->transparentBlue == b->transparentBlue) && - (a->transparentAlpha == b->transparentAlpha))) && - - ((a->transparentPixel != GLX_TRANSPARENT_INDEX) || - (a->transparentIndex == b->transparentIndex)) && - - (a->sampleBuffers == b->sampleBuffers) && - (a->samples == b->samples) && - ((a->drawableType & b->drawableType) != 0) && - (a->renderType == b->renderType) && - (a->maxPbufferWidth == b->maxPbufferWidth) && - (a->maxPbufferHeight == b->maxPbufferHeight) && - (a->maxPbufferPixels == b->maxPbufferPixels) && - (a->optimalPbufferWidth == b->optimalPbufferWidth) && - (a->optimalPbufferHeight == b->optimalPbufferHeight) && - (a->swapMethod == b->swapMethod) && - (a->bindToTextureRgb == b->bindToTextureRgb) && - (a->bindToTextureRgba == b->bindToTextureRgba) && - (a->bindToMipmapTexture == b->bindToMipmapTexture) && - (a->bindToTextureTargets == b->bindToTextureTargets) && - (a->yInverted == b->yInverted)); -} diff --git a/hw/xquartz/GL/glcontextmodes.h b/hw/xquartz/GL/glcontextmodes.h deleted file mode 100644 index 5b64add29..000000000 --- a/hw/xquartz/GL/glcontextmodes.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * (C) Copyright IBM Corporation 2003 - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * on the rights to use, copy, modify, merge, publish, distribute, sub - * license, and/or sell copies of the Software, and to permit persons to whom - * the Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice (including the next - * paragraph) shall be included in all copies or substantial portions of the - * Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL - * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, - * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR - * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE - * USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -/** - * \file glcontextmodes.h - * \author Ian Romanick - */ - -#ifndef GLCONTEXTMODES_H -#define GLCONTEXTMODES_H - -#if !defined(IN_MINI_GLX) -extern GLint -_gl_convert_from_x_visual_type(int visualType); -extern GLint -_gl_convert_to_x_visual_type(int visualType); -extern void -_gl_copy_visual_to_context_mode(__GLcontextModes * mode, - const __GLXvisualConfig * config); -extern int -_gl_get_context_mode_data(const __GLcontextModes *mode, int attribute, - int *value_return); -#endif /* !defined(IN_MINI_GLX) */ - -extern __GLcontextModes * -_gl_context_modes_create(unsigned count, size_t minimum_size); -extern void -_gl_context_modes_destroy(__GLcontextModes * modes); -extern __GLcontextModes * -_gl_context_modes_find_visual(__GLcontextModes *modes, int vid); -extern __GLcontextModes * -_gl_context_modes_find_fbconfig(__GLcontextModes *modes, int fbid); -extern GLboolean -_gl_context_modes_are_same(const __GLcontextModes * a, - const __GLcontextModes * b); - -#endif /* GLCONTEXTMODES_H */ diff --git a/hw/xquartz/GL/indirect.c b/hw/xquartz/GL/indirect.c deleted file mode 100644 index a8ccfc8ee..000000000 --- a/hw/xquartz/GL/indirect.c +++ /dev/null @@ -1,667 +0,0 @@ -/* - * GLX implementation that uses Apple's OpenGL.framework - * (Indirect rendering path -- it's also used for some direct mode code too) - * - * Copyright (c) 2007-2012 Apple Inc. - * Copyright (c) 2004 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 2002 Greg Parker. All Rights Reserved. - * - * Portions of this file are copied from Mesa's xf86glx.c, - * which contains the following copyright: - * - * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include - -#include -#include /* Just to prevent glxserver.h from loading mesa's and colliding with OpenGL.h */ - -#include -#include - -#include -#include - -#include "x-hash.h" - -#include "visualConfigs.h" -#include "dri.h" -#include "extension_string.h" - -#include "darwin.h" -#define GLAQUA_DEBUG_MSG(msg, args ...) ASL_LOG(ASL_LEVEL_DEBUG, "GLXAqua", \ - msg, \ - ## args) - -__GLXprovider * -GlxGetDRISWrastProvider(void); - -static void -setup_dispatch_table(void); -GLuint -__glFloorLog2(GLuint val); -void -warn_func(void * p1, char *format, ...); - -// some prototypes -static __GLXscreen * -__glXAquaScreenProbe(ScreenPtr pScreen); -static __GLXdrawable * -__glXAquaScreenCreateDrawable(ClientPtr client, __GLXscreen *screen, - DrawablePtr pDraw, XID drawId, int type, - XID glxDrawId, - __GLXconfig *conf); - -static void -__glXAquaContextDestroy(__GLXcontext *baseContext); -static int -__glXAquaContextMakeCurrent(__GLXcontext *baseContext); -static int -__glXAquaContextLoseCurrent(__GLXcontext *baseContext); -static int -__glXAquaContextCopy(__GLXcontext *baseDst, __GLXcontext *baseSrc, - unsigned long mask); - -static CGLPixelFormatObj -makeFormat(__GLXconfig *conf); - -__GLXprovider __glXDRISWRastProvider = { - __glXAquaScreenProbe, - "Core OpenGL", - NULL -}; - -typedef struct __GLXAquaScreen __GLXAquaScreen; -typedef struct __GLXAquaContext __GLXAquaContext; -typedef struct __GLXAquaDrawable __GLXAquaDrawable; - -/* - * The following structs must keep the base as the first member. - * It's used to treat the start of the struct as a different struct - * in GLX. - * - * Note: these structs should be initialized with xcalloc or memset - * prior to usage, and some of them require initializing - * the base with function pointers. - */ -struct __GLXAquaScreen { - __GLXscreen base; -}; - -struct __GLXAquaContext { - __GLXcontext base; - CGLContextObj ctx; - CGLPixelFormatObj pixelFormat; - xp_surface_id sid; - unsigned isAttached : 1; -}; - -struct __GLXAquaDrawable { - __GLXdrawable base; - DrawablePtr pDraw; - xp_surface_id sid; - __GLXAquaContext *context; -}; - -static __GLXcontext * -__glXAquaScreenCreateContext(__GLXscreen *screen, - __GLXconfig *conf, - __GLXcontext *baseShareContext, - unsigned num_attribs, - const uint32_t *attribs, - int *error) -{ - __GLXAquaContext *context; - __GLXAquaContext *shareContext = (__GLXAquaContext *)baseShareContext; - CGLError gl_err; - - /* Unused (for now?) */ - (void)num_attribs; - (void)attribs; - (void)error; - - GLAQUA_DEBUG_MSG("glXAquaScreenCreateContext\n"); - - context = calloc(1, sizeof(__GLXAquaContext)); - - if (context == NULL) - return NULL; - - memset(context, 0, sizeof *context); - - context->base.pGlxScreen = screen; - context->base.config = conf; - context->base.destroy = __glXAquaContextDestroy; - context->base.makeCurrent = __glXAquaContextMakeCurrent; - context->base.loseCurrent = __glXAquaContextLoseCurrent; - context->base.copy = __glXAquaContextCopy; - /*FIXME verify that the context->base is fully initialized. */ - - context->pixelFormat = makeFormat(conf); - - if (!context->pixelFormat) { - free(context); - return NULL; - } - - context->ctx = NULL; - gl_err = CGLCreateContext(context->pixelFormat, - shareContext ? shareContext->ctx : NULL, - &context->ctx); - - if (gl_err != 0) { - ErrorF("CGLCreateContext error: %s\n", CGLErrorString(gl_err)); - CGLDestroyPixelFormat(context->pixelFormat); - free(context); - return NULL; - } - - setup_dispatch_table(); - GLAQUA_DEBUG_MSG("glAquaCreateContext done\n"); - - return &context->base; -} - -/* maps from surface id -> list of __GLcontext */ -static x_hash_table *surface_hash; - -static void -__glXAquaContextDestroy(__GLXcontext *baseContext) -{ - x_list *lst; - - __GLXAquaContext *context = (__GLXAquaContext *)baseContext; - - GLAQUA_DEBUG_MSG("glAquaContextDestroy (ctx %p)\n", baseContext); - if (context != NULL) { - if (context->sid != 0 && surface_hash != NULL) { - lst = - x_hash_table_lookup(surface_hash, x_cvt_uint_to_vptr( - context->sid), NULL); - lst = x_list_remove(lst, context); - x_hash_table_insert(surface_hash, x_cvt_uint_to_vptr( - context->sid), lst); - } - - if (context->ctx != NULL) - CGLDestroyContext(context->ctx); - - if (context->pixelFormat != NULL) - CGLDestroyPixelFormat(context->pixelFormat); - - free(context); - } -} - -static int -__glXAquaContextLoseCurrent(__GLXcontext *baseContext) -{ - CGLError gl_err; - - GLAQUA_DEBUG_MSG("glAquaLoseCurrent (ctx 0x%p)\n", baseContext); - - gl_err = CGLSetCurrentContext(NULL); - if (gl_err != 0) - ErrorF("CGLSetCurrentContext error: %s\n", CGLErrorString(gl_err)); - - /* - * There should be no need to set __glXLastContext to NULL here, because - * glxcmds.c does it as part of the context cache flush after calling - * this. - */ - - return GL_TRUE; -} - -/* Called when a surface is destroyed as a side effect of destroying - the window it's attached to. */ -static void -surface_notify(void *_arg, void *data) -{ - DRISurfaceNotifyArg *arg = (DRISurfaceNotifyArg *)_arg; - __GLXAquaDrawable *draw = (__GLXAquaDrawable *)data; - __GLXAquaContext *context; - x_list *lst; - if (_arg == NULL || data == NULL) { - ErrorF("surface_notify called with bad params"); - return; - } - - GLAQUA_DEBUG_MSG("surface_notify(%p, %p)\n", _arg, data); - switch (arg->kind) { - case AppleDRISurfaceNotifyDestroyed: - if (surface_hash != NULL) - x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(arg->id)); - draw->pDraw = NULL; - draw->sid = 0; - break; - - case AppleDRISurfaceNotifyChanged: - if (surface_hash != NULL) { - lst = - x_hash_table_lookup(surface_hash, x_cvt_uint_to_vptr( - arg->id), NULL); - for (; lst != NULL; lst = lst->next) { - context = lst->data; - xp_update_gl_context(context->ctx); - } - } - break; - - default: - ErrorF("surface_notify: unknown kind %d\n", arg->kind); - break; - } -} - -static BOOL -attach(__GLXAquaContext *context, __GLXAquaDrawable *draw) -{ - DrawablePtr pDraw; - - GLAQUA_DEBUG_MSG("attach(%p, %p)\n", context, draw); - - if (NULL == context || NULL == draw) - return TRUE; - - pDraw = draw->base.pDraw; - - if (NULL == pDraw) { - ErrorF("%s:%s() pDraw is NULL!\n", __FILE__, __func__); - return TRUE; - } - - if (draw->sid == 0) { - //if (!quartzProcs->CreateSurface(pDraw->pScreen, pDraw->id, pDraw, - if (!DRICreateSurface(pDraw->pScreen, pDraw->id, pDraw, - 0, &draw->sid, NULL, - surface_notify, draw)) - return TRUE; - draw->pDraw = pDraw; - } - - if (!context->isAttached || context->sid != draw->sid) { - x_list *lst; - - if (xp_attach_gl_context(context->ctx, draw->sid) != Success) { - //quartzProcs->DestroySurface(pDraw->pScreen, pDraw->id, pDraw, - DRIDestroySurface(pDraw->pScreen, pDraw->id, pDraw, - surface_notify, draw); - if (surface_hash != NULL) - x_hash_table_remove(surface_hash, - x_cvt_uint_to_vptr(draw->sid)); - - draw->sid = 0; - return TRUE; - } - - context->isAttached = TRUE; - context->sid = draw->sid; - - if (surface_hash == NULL) - surface_hash = x_hash_table_new(NULL, NULL, NULL, NULL); - - lst = - x_hash_table_lookup(surface_hash, x_cvt_uint_to_vptr( - context->sid), NULL); - if (x_list_find(lst, context) == NULL) { - lst = x_list_prepend(lst, context); - x_hash_table_insert(surface_hash, x_cvt_uint_to_vptr( - context->sid), lst); - } - - GLAQUA_DEBUG_MSG("attached 0x%x to 0x%x\n", (unsigned int)pDraw->id, - (unsigned int)draw->sid); - } - - draw->context = context; - - return FALSE; -} - -#if 0 // unused -static void -unattach(__GLXAquaContext *context) -{ - x_list *lst; - GLAQUA_DEBUG_MSG("unattach\n"); - if (context == NULL) { - ErrorF("Tried to unattach a null context\n"); - return; - } - if (context->isAttached) { - GLAQUA_DEBUG_MSG("unattaching\n"); - - if (surface_hash != NULL) { - lst = x_hash_table_lookup(surface_hash, (void *)context->sid, - NULL); - lst = x_list_remove(lst, context); - x_hash_table_insert(surface_hash, (void *)context->sid, lst); - } - - CGLClearDrawable(context->ctx); - context->isAttached = FALSE; - context->sid = 0; - } -} -#endif - -static int -__glXAquaContextMakeCurrent(__GLXcontext *baseContext) -{ - CGLError gl_err; - __GLXAquaContext *context = (__GLXAquaContext *)baseContext; - __GLXAquaDrawable *drawPriv = (__GLXAquaDrawable *)context->base.drawPriv; - - GLAQUA_DEBUG_MSG("glAquaMakeCurrent (ctx 0x%p)\n", baseContext); - - if (context->base.drawPriv != context->base.readPriv) - return 0; - - if (attach(context, drawPriv)) - return /*error*/ 0; - - gl_err = CGLSetCurrentContext(context->ctx); - if (gl_err != 0) - ErrorF("CGLSetCurrentContext error: %s\n", CGLErrorString(gl_err)); - - return gl_err == 0; -} - -static int -__glXAquaContextCopy(__GLXcontext *baseDst, __GLXcontext *baseSrc, - unsigned long mask) -{ - CGLError gl_err; - - __GLXAquaContext *dst = (__GLXAquaContext *)baseDst; - __GLXAquaContext *src = (__GLXAquaContext *)baseSrc; - - GLAQUA_DEBUG_MSG("GLXAquaContextCopy\n"); - - gl_err = CGLCopyContext(src->ctx, dst->ctx, mask); - if (gl_err != 0) - ErrorF("CGLCopyContext error: %s\n", CGLErrorString(gl_err)); - - return gl_err == 0; -} - -/* Drawing surface notification callbacks */ -static GLboolean -__glXAquaDrawableSwapBuffers(ClientPtr client, __GLXdrawable *base) -{ - CGLError err; - __GLXAquaDrawable *drawable; - - // GLAQUA_DEBUG_MSG("glAquaDrawableSwapBuffers(%p)\n",base); - - if (!base) { - ErrorF("%s passed NULL\n", __func__); - return GL_FALSE; - } - - drawable = (__GLXAquaDrawable *)base; - - if (NULL == drawable->context) { - ErrorF("%s called with a NULL->context for drawable %p!\n", - __func__, (void *)drawable); - return GL_FALSE; - } - - err = CGLFlushDrawable(drawable->context->ctx); - - if (kCGLNoError != err) { - ErrorF("CGLFlushDrawable error: %s in %s\n", CGLErrorString(err), - __func__); - return GL_FALSE; - } - - return GL_TRUE; -} - -static CGLPixelFormatObj -makeFormat(__GLXconfig *conf) -{ - CGLPixelFormatAttribute attr[64]; - CGLPixelFormatObj fobj; - GLint formats; - CGLError error; - int i = 0; - - if (conf->doubleBufferMode) - attr[i++] = kCGLPFADoubleBuffer; - - if (conf->stereoMode) - attr[i++] = kCGLPFAStereo; - - attr[i++] = kCGLPFAColorSize; - attr[i++] = conf->redBits + conf->greenBits + conf->blueBits; - attr[i++] = kCGLPFAAlphaSize; - attr[i++] = conf->alphaBits; - - if ((conf->accumRedBits + conf->accumGreenBits + conf->accumBlueBits + - conf->accumAlphaBits) > 0) { - - attr[i++] = kCGLPFAAccumSize; - attr[i++] = conf->accumRedBits + conf->accumGreenBits - + conf->accumBlueBits + conf->accumAlphaBits; - } - - attr[i++] = kCGLPFADepthSize; - attr[i++] = conf->depthBits; - - if (conf->stencilBits) { - attr[i++] = kCGLPFAStencilSize; - attr[i++] = conf->stencilBits; - } - - if (conf->numAuxBuffers > 0) { - attr[i++] = kCGLPFAAuxBuffers; - attr[i++] = conf->numAuxBuffers; - } - - if (conf->sampleBuffers > 0) { - attr[i++] = kCGLPFASampleBuffers; - attr[i++] = conf->sampleBuffers; - attr[i++] = kCGLPFASamples; - attr[i++] = conf->samples; - } - - attr[i] = 0; - - error = CGLChoosePixelFormat(attr, &fobj, &formats); - if (error) { - ErrorF("error: creating pixel format %s\n", CGLErrorString(error)); - return NULL; - } - - return fobj; -} - -static void -__glXAquaScreenDestroy(__GLXscreen *screen) -{ - - GLAQUA_DEBUG_MSG("glXAquaScreenDestroy(%p)\n", screen); - __glXScreenDestroy(screen); - - free(screen); -} - -/* This is called by __glXInitScreens(). */ -static __GLXscreen * -__glXAquaScreenProbe(ScreenPtr pScreen) -{ - __GLXAquaScreen *screen; - - GLAQUA_DEBUG_MSG("glXAquaScreenProbe\n"); - - if (pScreen == NULL) - return NULL; - - screen = calloc(1, sizeof *screen); - - if (NULL == screen) - return NULL; - - screen->base.destroy = __glXAquaScreenDestroy; - screen->base.createContext = __glXAquaScreenCreateContext; - screen->base.createDrawable = __glXAquaScreenCreateDrawable; - screen->base.swapInterval = /*FIXME*/ NULL; - screen->base.pScreen = pScreen; - - screen->base.fbconfigs = __glXAquaCreateVisualConfigs( - &screen->base.numFBConfigs, pScreen->myNum); - - __glXInitExtensionEnableBits(screen->base.glx_enable_bits); - __glXScreenInit(&screen->base, pScreen); - - return &screen->base; -} - -#if 0 // unused -static void -__glXAquaDrawableCopySubBuffer(__GLXdrawable *drawable, - int x, int y, int w, int h) -{ - /*TODO finish me*/ -} -#endif - -static void -__glXAquaDrawableDestroy(__GLXdrawable *base) -{ - /* gstaplin: base is the head of the structure, so it's at the same - * offset in memory. - * Is this safe with strict aliasing? I noticed that the other dri code - * does this too... - */ - __GLXAquaDrawable *glxPriv = (__GLXAquaDrawable *)base; - - GLAQUA_DEBUG_MSG("TRACE"); - - /* It doesn't work to call DRIDestroySurface here, the drawable's - already gone.. But dri.c notices the window destruction and - frees the surface itself. */ - - /*gstaplin: verify the statement above. The surface destroy - *messages weren't making it through, and may still not be. - *We need a good test case for surface creation and destruction. - *We also need a good way to enable introspection on the server - *to validate the test, beyond using gdb with print. - */ - - free(glxPriv); -} - -static __GLXdrawable * -__glXAquaScreenCreateDrawable(ClientPtr client, - __GLXscreen *screen, - DrawablePtr pDraw, - XID drawId, - int type, - XID glxDrawId, - __GLXconfig *conf) -{ - __GLXAquaDrawable *glxPriv; - - glxPriv = malloc(sizeof *glxPriv); - - if (glxPriv == NULL) - return NULL; - - memset(glxPriv, 0, sizeof *glxPriv); - - if (!__glXDrawableInit(&glxPriv->base, screen, pDraw, type, glxDrawId, - conf)) { - free(glxPriv); - return NULL; - } - - glxPriv->base.destroy = __glXAquaDrawableDestroy; - glxPriv->base.swapBuffers = __glXAquaDrawableSwapBuffers; - glxPriv->base.copySubBuffer = NULL; /* __glXAquaDrawableCopySubBuffer; */ - - glxPriv->pDraw = pDraw; - glxPriv->sid = 0; - glxPriv->context = NULL; - - return &glxPriv->base; -} - -// Extra goodies for glx - -GLuint -__glFloorLog2(GLuint val) -{ - int c = 0; - - while (val > 1) { - c++; - val >>= 1; - } - return c; -} - -#ifndef OPENGL_FRAMEWORK_PATH -#define OPENGL_FRAMEWORK_PATH \ - "/System/Library/Frameworks/OpenGL.framework/OpenGL" -#endif - -static void *opengl_framework_handle; - -static glx_func_ptr -get_proc_address(const char *sym) -{ - return (glx_func_ptr) dlsym(opengl_framework_handle, sym); -} - -static void -setup_dispatch_table(void) -{ - const char *opengl_framework_path; - - if (opengl_framework_handle) { - return; - } - - opengl_framework_path = getenv("OPENGL_FRAMEWORK_PATH"); - if (!opengl_framework_path) { - opengl_framework_path = OPENGL_FRAMEWORK_PATH; - } - - (void)dlerror(); /*drain dlerror */ - opengl_framework_handle = dlopen(opengl_framework_path, RTLD_LOCAL); - - if (!opengl_framework_handle) { - ErrorF("unable to dlopen %s : %s, using RTLD_DEFAULT\n", - opengl_framework_path, dlerror()); - opengl_framework_handle = RTLD_DEFAULT; - } - - __glXsetGetProcAddress(get_proc_address); -} diff --git a/hw/xquartz/GL/meson.build b/hw/xquartz/GL/meson.build deleted file mode 100644 index 556417525..000000000 --- a/hw/xquartz/GL/meson.build +++ /dev/null @@ -1,5 +0,0 @@ -libcglcore = static_library('CGLCore', - ['indirect.c', 'capabilities.c', 'visualConfigs.c'], - include_directories: [inc, glx_inc, '..', '../xpr'], - dependencies: [xproto_dep, pixman_dep], -) diff --git a/hw/xquartz/GL/visualConfigs.c b/hw/xquartz/GL/visualConfigs.c deleted file mode 100644 index d810e2dfe..000000000 --- a/hw/xquartz/GL/visualConfigs.c +++ /dev/null @@ -1,280 +0,0 @@ -/* - * Copyright (c) 2007, 2008 Apple Inc. - * Copyright (c) 2004 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 2002 Greg Parker. All Rights Reserved. - * - * Portions of this file are copied from Mesa's xf86glx.c, - * which contains the following copyright: - * - * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "dri.h" - -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "capabilities.h" -#include "visualConfigs.h" -#include "darwinfb.h" - -/* Based originally on code from indirect.c which was based on code from i830_dri.c. */ -__GLXconfig *__glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber) { - int numConfigs = 0; - __GLXconfig *visualConfigs, *c, *l; - struct glCapabilities caps; - struct glCapabilitiesConfig *conf; - int stereo, depth, aux, buffers, stencil, accum, color, msample; - - if(getGlCapabilities(&caps)) { - ErrorF("error from getGlCapabilities()!\n"); - return NULL; - } - - /* - conf->stereo is 0 or 1, but we need at least 1 iteration of the loop, - so we treat a true conf->stereo as 2. - - The depth size is 0 or 24. Thus we do 2 iterations for that. - - conf->aux_buffers (when available/non-zero) result in 2 iterations instead of 1. - - conf->buffers indicates whether we have single or double buffering. - - conf->total_stencil_bit_depths - - conf->total_color_buffers indicates the RGB/RGBA color depths. - - conf->total_accum_buffers iterations for accum (with at least 1 if equal to 0) - - conf->total_depth_buffer_depths - - conf->multisample_buffers iterations (with at least 1 if equal to 0). We add 1 - for the 0 multisampling config. - - */ - - assert(NULL != caps.configurations); - - numConfigs = 0; - - for(conf = caps.configurations; conf; conf = conf->next) { - if(conf->total_color_buffers <= 0) - continue; - - numConfigs += (conf->stereo ? 2 : 1) - * (conf->aux_buffers ? 2 : 1) - * conf->buffers - * ((conf->total_stencil_bit_depths > 0) ? conf->total_stencil_bit_depths : 1) - * conf->total_color_buffers - * ((conf->total_accum_buffers > 0) ? conf->total_accum_buffers : 1) - * conf->total_depth_buffer_depths - * (conf->multisample_buffers + 1); - } - - if(numConfigsPtr) - *numConfigsPtr = numConfigs; - - /* Note that as of 1.20.0, we cannot allocate all the configs at once. - * __glXScreenDestroy now walks all the fbconfigs and frees them one at a time. - * See 4b0a3cbab131eb453e2b3fc0337121969258a7be. - */ - visualConfigs = calloc(sizeof(*visualConfigs), 1); - - l = NULL; - c = visualConfigs; /* current buffer */ - for(conf = caps.configurations; conf; conf = conf->next) { - for(stereo = 0; stereo < (conf->stereo ? 2 : 1); ++stereo) { - for(aux = 0; aux < (conf->aux_buffers ? 2 : 1); ++aux) { - for(buffers = 0; buffers < conf->buffers; ++buffers) { - for(stencil = 0; stencil < ((conf->total_stencil_bit_depths > 0) ? - conf->total_stencil_bit_depths : 1); ++stencil) { - for(color = 0; color < conf->total_color_buffers; ++color) { - for(accum = 0; accum < ((conf->total_accum_buffers > 0) ? - conf->total_accum_buffers : 1); ++accum) { - for(depth = 0; depth < conf->total_depth_buffer_depths; ++depth) { - for(msample = 0; msample < (conf->multisample_buffers + 1); ++msample) { - - // Global - c->visualID = -1; - c->visualType = GLX_TRUE_COLOR; - c->next = calloc(sizeof(*visualConfigs), 1); - assert(c->next); - - c->level = 0; - c->indexBits = 0; - - if(conf->accelerated) { - c->visualRating = GLX_NONE; - } else { - c->visualRating = GLX_SLOW_VISUAL_EXT; - } - - c->transparentPixel = GLX_NONE; - c->transparentRed = GLX_NONE; - c->transparentGreen = GLX_NONE; - c->transparentBlue = GLX_NONE; - c->transparentAlpha = GLX_NONE; - c->transparentIndex = GLX_NONE; - - c->visualSelectGroup = 0; - - c->swapMethod = GLX_SWAP_UNDEFINED_OML; - - // Stereo - c->stereoMode = stereo ? TRUE : FALSE; - - // Aux buffers - c->numAuxBuffers = aux ? conf->aux_buffers : 0; - - // Double Buffered - c->doubleBufferMode = buffers ? TRUE : FALSE; - - // Stencil Buffer - if(conf->total_stencil_bit_depths > 0) { - c->stencilBits = conf->stencil_bit_depths[stencil]; - } else { - c->stencilBits = 0; - } - - // Color - if(GLCAPS_COLOR_BUF_INVALID_VALUE != conf->color_buffers[color].a) { - c->alphaBits = conf->color_buffers[color].a; - } else { - c->alphaBits = 0; - } - c->redBits = conf->color_buffers[color].r; - c->greenBits = conf->color_buffers[color].g; - c->blueBits = conf->color_buffers[color].b; - - c->rgbBits = c->alphaBits + c->redBits + c->greenBits + c->blueBits; - - c->alphaMask = AM_ARGB(c->alphaBits, c->redBits, c->greenBits, c->blueBits); - c->redMask = RM_ARGB(c->alphaBits, c->redBits, c->greenBits, c->blueBits); - c->greenMask = GM_ARGB(c->alphaBits, c->redBits, c->greenBits, c->blueBits); - c->blueMask = BM_ARGB(c->alphaBits, c->redBits, c->greenBits, c->blueBits); - - // Accumulation Buffers - if(conf->total_accum_buffers > 0) { - c->accumRedBits = conf->accum_buffers[accum].r; - c->accumGreenBits = conf->accum_buffers[accum].g; - c->accumBlueBits = conf->accum_buffers[accum].b; - if(GLCAPS_COLOR_BUF_INVALID_VALUE != conf->accum_buffers[accum].a) { - c->accumAlphaBits = conf->accum_buffers[accum].a; - } else { - c->accumAlphaBits = 0; - } - } else { - c->accumRedBits = 0; - c->accumGreenBits = 0; - c->accumBlueBits = 0; - c->accumAlphaBits = 0; - } - - // Depth - c->depthBits = conf->depth_buffers[depth]; - - // MultiSample - if(msample > 0) { - c->samples = conf->multisample_samples; - c->sampleBuffers = conf->multisample_buffers; - } else { - c->samples = 0; - c->sampleBuffers = 0; - } - - /* - * The Apple libGL supports GLXPixmaps and - * GLXPbuffers in direct mode. - */ - /* SGIX_fbconfig / GLX 1.3 */ - c->drawableType = GLX_WINDOW_BIT | GLX_PIXMAP_BIT | GLX_PBUFFER_BIT; - c->renderType = GLX_RGBA_BIT; - c->fbconfigID = -1; - - /* SGIX_pbuffer / GLX 1.3 */ - - /* - * The CGL layer provides a way of retrieving - * the maximum pbuffer width/height, but only - * if we create a context and call glGetIntegerv. - * - * The following values are from a test program - * that does so. - */ - c->maxPbufferWidth = 8192; - c->maxPbufferHeight = 8192; - c->maxPbufferPixels = /*Do we need this?*/ 0; - /* - * There is no introspection for this sort of thing - * with CGL. What should we do realistically? - */ - c->optimalPbufferWidth = 0; - c->optimalPbufferHeight = 0; - - /* EXT_texture_from_pixmap */ - c->bindToTextureRgb = 0; - c->bindToTextureRgba = 0; - c->bindToMipmapTexture = 0; - c->bindToTextureTargets = 0; - c->yInverted = 0; - - /* EXT_framebuffer_sRGB */ - c->sRGBCapable = GL_FALSE; - - l = c; - c = c->next; - } - } - } - } - } - } - } - } - } - - free(c); - l->next = NULL; - - freeGlCapabilities(&caps); - return visualConfigs; -} diff --git a/hw/xquartz/GL/visualConfigs.h b/hw/xquartz/GL/visualConfigs.h deleted file mode 100644 index 889cdb904..000000000 --- a/hw/xquartz/GL/visualConfigs.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2008 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ - -#ifndef VISUAL_CONFIGS_H -#define VISUAL_CONFIGS_H - -__GLXconfig * -__glXAquaCreateVisualConfigs(int *numConfigsPtr, int screenNumber); - -#endif diff --git a/hw/xquartz/NSUserDefaults+XQuartzDefaults.h b/hw/xquartz/NSUserDefaults+XQuartzDefaults.h deleted file mode 100644 index 2f180b241..000000000 --- a/hw/xquartz/NSUserDefaults+XQuartzDefaults.h +++ /dev/null @@ -1,49 +0,0 @@ -// -// NSUserDefaults+XQuartzDefaults.h -// XQuartz -// -// Created by Jeremy Huddleston Sequoia on 2021.02.19. -// Copyright (c) 2021 Apple Inc. All rights reserved. -// - -#import - -extern NSString * const XQuartzPrefKeyAppsMenu; -extern NSString * const XQuartzPrefKeyFakeButtons; -extern NSString * const XQuartzPrefKeyFakeButton2; -extern NSString * const XQuartzPrefKeyFakeButton3; -extern NSString * const XQuartzPrefKeyKeyEquivs; -extern NSString * const XQuartzPrefKeyFullscreenHotkeys; -extern NSString * const XQuartzPrefKeyFullscreenMenu; -extern NSString * const XQuartzPrefKeySyncKeymap; -extern NSString * const XQuartzPrefKeyDepth; -extern NSString * const XQuartzPrefKeyNoAuth; -extern NSString * const XQuartzPrefKeyNoTCP; -extern NSString * const XQuartzPrefKeyDoneXinitCheck; -extern NSString * const XQuartzPrefKeyNoQuitAlert; -extern NSString * const XQuartzPrefKeyNoRANDRAlert; -extern NSString * const XQuartzPrefKeyOptionSendsAlt; -extern NSString * const XQuartzPrefKeyAppKitModifiers; -extern NSString * const XQuartzPrefKeyWindowItemModifiers; -extern NSString * const XQuartzPrefKeyRootless; -extern NSString * const XQuartzPrefKeyRENDERExtension; -extern NSString * const XQuartzPrefKeyTESTExtension; -extern NSString * const XQuartzPrefKeyLoginShell; -extern NSString * const XQuartzPrefKeyClickThrough; -extern NSString * const XQuartzPrefKeyFocusFollowsMouse; -extern NSString * const XQuartzPrefKeyFocusOnNewWindow; - -extern NSString * const XQuartzPrefKeyScrollInDeviceDirection; -extern NSString * const XQuartzPrefKeySyncPasteboard; -extern NSString * const XQuartzPrefKeySyncPasteboardToClipboard; -extern NSString * const XQuartzPrefKeySyncPasteboardToPrimary; -extern NSString * const XQuartzPrefKeySyncClipboardToPasteBoard; -extern NSString * const XQuartzPrefKeySyncPrimaryOnSelect; - -@interface NSUserDefaults (XQuartzDefaults) - -+ (NSUserDefaults *)globalDefaults; -+ (NSUserDefaults *)dockDefaults; -+ (NSUserDefaults *)xquartzDefaults; - -@end diff --git a/hw/xquartz/NSUserDefaults+XQuartzDefaults.m b/hw/xquartz/NSUserDefaults+XQuartzDefaults.m deleted file mode 100644 index ecc192197..000000000 --- a/hw/xquartz/NSUserDefaults+XQuartzDefaults.m +++ /dev/null @@ -1,148 +0,0 @@ -// -// NSUserDefaults+XQuartzDefaults.m -// XQuartz -// -// Created by Jeremy Huddleston Sequoia on 2021.02.19. -// Copyright (c) 2021 Apple Inc. All rights reserved. -// - -#import "NSUserDefaults+XQuartzDefaults.h" -#import - -NSString * const XQuartzPrefKeyAppsMenu = @"apps_menu"; -NSString * const XQuartzPrefKeyFakeButtons = @"enable_fake_buttons"; -NSString * const XQuartzPrefKeyFakeButton2 = @"fake_button2"; -NSString * const XQuartzPrefKeyFakeButton3 = @"fake_button3"; -NSString * const XQuartzPrefKeyKeyEquivs = @"enable_key_equivalents"; -NSString * const XQuartzPrefKeyFullscreenHotkeys = @"fullscreen_hotkeys"; -NSString * const XQuartzPrefKeyFullscreenMenu = @"fullscreen_menu"; -NSString * const XQuartzPrefKeySyncKeymap = @"sync_keymap"; -NSString * const XQuartzPrefKeyDepth = @"depth"; -NSString * const XQuartzPrefKeyNoAuth = @"no_auth"; -NSString * const XQuartzPrefKeyNoTCP = @"nolisten_tcp"; -NSString * const XQuartzPrefKeyDoneXinitCheck = @"done_xinit_check"; -NSString * const XQuartzPrefKeyNoQuitAlert = @"no_quit_alert"; -NSString * const XQuartzPrefKeyNoRANDRAlert = @"no_randr_alert"; -NSString * const XQuartzPrefKeyOptionSendsAlt = @"option_sends_alt"; -NSString * const XQuartzPrefKeyAppKitModifiers = @"appkit_modifiers"; -NSString * const XQuartzPrefKeyWindowItemModifiers = @"window_item_modifiers"; -NSString * const XQuartzPrefKeyRootless = @"rootless"; -NSString * const XQuartzPrefKeyRENDERExtension = @"enable_render_extension"; -NSString * const XQuartzPrefKeyTESTExtension = @"enable_test_extensions"; -NSString * const XQuartzPrefKeyLoginShell = @"login_shell"; -NSString * const XQuartzPrefKeyUpdateFeed = @"update_feed"; -NSString * const XQuartzPrefKeyClickThrough = @"wm_click_through"; -NSString * const XQuartzPrefKeyFocusFollowsMouse = @"wm_ffm"; -NSString * const XQuartzPrefKeyFocusOnNewWindow = @"wm_focus_on_new_window"; - -NSString * const XQuartzPrefKeyScrollInDeviceDirection = @"scroll_in_device_direction"; -NSString * const XQuartzPrefKeySyncPasteboard = @"sync_pasteboard"; -NSString * const XQuartzPrefKeySyncPasteboardToClipboard = @"sync_pasteboard_to_clipboard"; -NSString * const XQuartzPrefKeySyncPasteboardToPrimary = @"sync_pasteboard_to_primary"; -NSString * const XQuartzPrefKeySyncClipboardToPasteBoard = @"sync_clipboard_to_pasteboard"; -NSString * const XQuartzPrefKeySyncPrimaryOnSelect = @"sync_primary_on_select"; - -@implementation NSUserDefaults (XQuartzDefaults) - -+ (NSUserDefaults *)globalDefaults -{ - static dispatch_once_t once; - static NSUserDefaults *defaults; - - dispatch_once(&once, ^{ - NSString * const defaultsDomain = @".GlobalPreferences"; - defaults = [[[NSUserDefaults alloc] initWithSuiteName:defaultsDomain] retain]; - - NSDictionary * const defaultDefaultsDict = @{ - @"AppleSpacesSwitchOnActivate" : @(YES), - }; - - [defaults registerDefaults:defaultDefaultsDict]; - }); - - return defaults; -} - -+ (NSUserDefaults *)dockDefaults -{ - static dispatch_once_t once; - static NSUserDefaults *defaults; - - dispatch_once(&once, ^{ - NSString * const defaultsDomain = @"com.apple.dock"; - defaults = [[[NSUserDefaults alloc] initWithSuiteName:defaultsDomain] retain]; - - NSDictionary * const defaultDefaultsDict = @{ - @"workspaces" : @(NO), - }; - - [defaults registerDefaults:defaultDefaultsDict]; - }); - - return defaults; -} - -+ (NSUserDefaults *)xquartzDefaults -{ - static dispatch_once_t once; - static NSUserDefaults *defaults; - - dispatch_once(&once, ^{ - NSString * const defaultsDomain = @(BUNDLE_ID_PREFIX ".X11"); - NSString * const defaultDefaultsDomain = NSBundle.mainBundle.bundleIdentifier; - if ([defaultsDomain isEqualToString:defaultDefaultsDomain]) { - defaults = [NSUserDefaults.standardUserDefaults retain]; - } else { - defaults = [[[NSUserDefaults alloc] initWithSuiteName:defaultsDomain] retain]; - } - - NSString *defaultWindowItemModifiers = @"command"; - NSString * const defaultWindowItemModifiersLocalized = NSLocalizedString(@"window item modifiers", @"window item modifiers"); - if (![defaultWindowItemModifiersLocalized isEqualToString:@"window item modifiers"]) { - defaultWindowItemModifiers = defaultWindowItemModifiersLocalized; - } - - NSDictionary * const defaultDefaultsDict = @{ - XQuartzPrefKeyFakeButtons : @(NO), - // XQuartzPrefKeyFakeButton2 nil default - // XQuartzPrefKeyFakeButton3 nil default - XQuartzPrefKeyKeyEquivs : @(YES), - XQuartzPrefKeyFullscreenHotkeys : @(NO), - XQuartzPrefKeyFullscreenMenu : @(NO), - XQuartzPrefKeySyncKeymap : @(NO), - XQuartzPrefKeyDepth : @(-1), - XQuartzPrefKeyNoAuth : @(NO), - XQuartzPrefKeyNoTCP : @(NO), - XQuartzPrefKeyDoneXinitCheck : @(NO), - XQuartzPrefKeyNoQuitAlert : @(NO), - XQuartzPrefKeyNoRANDRAlert : @(NO), - XQuartzPrefKeyOptionSendsAlt : @(NO), - // XQuartzPrefKeyAppKitModifiers nil default - XQuartzPrefKeyWindowItemModifiers : defaultWindowItemModifiers, - XQuartzPrefKeyRootless : @(YES), - XQuartzPrefKeyRENDERExtension : @(YES), - XQuartzPrefKeyTESTExtension : @(NO), - XQuartzPrefKeyLoginShell : @"/bin/sh", - XQuartzPrefKeyClickThrough : @(NO), - XQuartzPrefKeyFocusFollowsMouse : @(NO), - XQuartzPrefKeyFocusOnNewWindow : @(YES), - - XQuartzPrefKeyScrollInDeviceDirection : @(NO), - XQuartzPrefKeySyncPasteboard : @(YES), - XQuartzPrefKeySyncPasteboardToClipboard : @(YES), - XQuartzPrefKeySyncPasteboardToPrimary : @(YES), - XQuartzPrefKeySyncClipboardToPasteBoard : @(YES), - XQuartzPrefKeySyncPrimaryOnSelect : @(NO), - }; - - [defaults registerDefaults:defaultDefaultsDict]; - - NSString * const systemDefaultsPlistPath = [@(XQUARTZ_DATA_DIR) stringByAppendingPathComponent:@"defaults.plist"]; - NSDictionary * const systemDefaultsDict = [NSDictionary dictionaryWithContentsOfFile:systemDefaultsPlistPath]; - [defaults registerDefaults:systemDefaultsDict]; - }); - - return defaults; -} - -@end diff --git a/hw/xquartz/X11Application.h b/hw/xquartz/X11Application.h deleted file mode 100644 index 1ef98bee3..000000000 --- a/hw/xquartz/X11Application.h +++ /dev/null @@ -1,75 +0,0 @@ -/* X11Application.h -- subclass of NSApplication to multiplex events - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef X11APPLICATION_H -#define X11APPLICATION_H 1 - -#include - -#if __OBJC__ - -#import "X11Controller.h" - -@interface X11Application : NSApplication - -@property (nonatomic, readwrite, strong) X11Controller *controller; -@property (nonatomic, readonly, assign) OSX_BOOL x_active; - -@end - -extern X11Application * X11App; - -#endif /* __OBJC__ */ - -void -X11ApplicationSetWindowMenu(int nitems, const char **items, - const char *shortcuts); -void -X11ApplicationSetWindowMenuCheck(int idx); -void -X11ApplicationSetFrontProcess(void); -void -X11ApplicationSetCanQuit(int state); -void -X11ApplicationServerReady(void); -void -X11ApplicationShowHideMenubar(int state); -void -X11ApplicationLaunchClient(const char *cmd); - -Bool -X11ApplicationCanEnterRandR(void); - -void -X11ApplicationMain(int argc, char **argv, char **envp); - -extern Bool XQuartzScrollInDeviceDirection; - -#endif /* X11APPLICATION_H */ diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m deleted file mode 100644 index dd96e89f7..000000000 --- a/hw/xquartz/X11Application.m +++ /dev/null @@ -1,1363 +0,0 @@ -/* X11Application.m -- subclass of NSApplication to multiplex events - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#import "X11Application.h" -#import "NSUserDefaults+XQuartzDefaults.h" - -#include "darwin.h" -#include "quartz.h" -#include "darwinEvents.h" -#include "quartzKeyboard.h" -#include -#include "micmap.h" -#include "exglobals.h" - -#include -#include - -#include - -#include - -// pbproxy/pbproxy.h -extern int -xpbproxy_run(void); - -#ifndef XSERVER_VERSION -#define XSERVER_VERSION "?" -#endif - -#include - -static dispatch_queue_t eventTranslationQueue; - -#ifndef __has_feature -#define __has_feature(x) 0 -#endif - -#ifndef CF_RETURNS_RETAINED -#if __has_feature(attribute_cf_returns_retained) -#define CF_RETURNS_RETAINED __attribute__((cf_returns_retained)) -#else -#define CF_RETURNS_RETAINED -#endif -#endif - -#ifndef APPKIT_APPFLAGS_HACK -#define APPKIT_APPFLAGS_HACK 1 -#endif - -extern Bool noTestExtensions; -extern Bool noRenderExtension; - -static TISInputSourceRef last_key_layout; - -/* This preference is only tested on Lion or later as it's not relevant to - * earlier OS versions. - */ -Bool XQuartzScrollInDeviceDirection = FALSE; - -extern int darwinFakeButtons; - -/* Store the mouse location while in the background, and update X11's pointer - * location when we become the foreground application - */ -static NSPoint bgMouseLocation; -static BOOL bgMouseLocationUpdated = FALSE; - -X11Application *X11App; - -#define ALL_KEY_MASKS (NSShiftKeyMask | NSControlKeyMask | \ - NSAlternateKeyMask | NSCommandKeyMask) - -#if APPKIT_APPFLAGS_HACK && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500 -// This was removed from the SDK in 10.15 -@interface NSApplication () { -@protected - /* All instance variables are private */ - short _running; - struct __appFlags { - unsigned int _hidden:1; - unsigned int _appleEventActivationInProgress:1; - unsigned int _active:1; - unsigned int _hasBeenRun:1; - unsigned int _doingUnhide:1; - unsigned int _delegateReturnsValidRequestor:1; - unsigned int _deactPending:1; - unsigned int _invalidState:1; - unsigned int _invalidEvent:1; - unsigned int _postedWindowsNeedUpdateNote:1; - unsigned int _wantsToActivate:1; - unsigned int _doingHide:1; - unsigned int _dontSendShouldTerminate:1; - unsigned int _ignoresFullScreen:1; - unsigned int _finishedLaunching:1; - unsigned int _hasEventDelegate:1; - unsigned int _appTerminating:1; - unsigned int _didNSOpenOrPrint:1; - unsigned int _inDealloc:1; - unsigned int _pendingDidFinish:1; - unsigned int _hasKeyFocus:1; - unsigned int _panelsNonactivating:1; - unsigned int _hiddenOnLaunch:1; - unsigned int _openStatus:2; - unsigned int _batchOrdering:1; - unsigned int _waitingForTerminationReply:1; - unsigned int _unused:1; - unsigned int _enumeratingMemoryPressureHandlers:1; - unsigned int _didTryRestoringPersistentState:1; - unsigned int _windowDragging:1; - unsigned int _mightBeSwitching:1; - } _appFlags; - id _mainMenu; -} -@end -#endif - -@interface NSApplication (Internal) -- (void)_setKeyWindow:(id)window; -- (void)_setMainWindow:(id)window; -@end - -@interface X11Application (Private) -- (void) sendX11NSEvent:(NSEvent *)e; -@end - -@interface X11Application () -@property (nonatomic, readwrite, assign) OSX_BOOL x_active; -@end - -@implementation X11Application - -typedef struct message_struct message; -struct message_struct { - mach_msg_header_t hdr; - SEL selector; - NSObject *arg; -}; - -/* Quartz mode initialization routine. This is often dynamically loaded - but is statically linked into this X server. */ -Bool -QuartzModeBundleInit(void); - -- (void) dealloc -{ - self.controller = nil; - [super dealloc]; -} - -- (void) orderFrontStandardAboutPanel: (id) sender -{ - NSMutableDictionary *dict; - NSDictionary *infoDict; - NSString *tem; - - dict = [NSMutableDictionary dictionaryWithCapacity:3]; - infoDict = [[NSBundle mainBundle] infoDictionary]; - - [dict setObject: NSLocalizedString(@"The X Window System", @"About panel") - forKey:@"ApplicationName"]; - - tem = [infoDict objectForKey:@"CFBundleShortVersionString"]; - - [dict setObject:[NSString stringWithFormat:@"XQuartz %@", tem] - forKey:@"ApplicationVersion"]; - - [dict setObject:[NSString stringWithFormat:@"xorg-server %s", - XSERVER_VERSION] - forKey:@"Version"]; - - [self orderFrontStandardAboutPanelWithOptions: dict]; -} - -- (void) activateX:(OSX_BOOL)state -{ - OSX_BOOL const x_active = self.x_active; - - if (x_active == state) - return; - - DEBUG_LOG("state=%d, x_active=%d, \n", state, x_active); - if (state) { - if (bgMouseLocationUpdated) { - DarwinSendPointerEvents(darwinPointer, MotionNotify, 0, - bgMouseLocation.x, bgMouseLocation.y, - 0.0, 0.0); - bgMouseLocationUpdated = FALSE; - } - DarwinSendDDXEvent(kXquartzActivate, 0); - } - else { - - if (darwin_all_modifier_flags) - DarwinUpdateModKeys(0); - - DarwinInputReleaseButtonsAndKeys(darwinKeyboard); - DarwinInputReleaseButtonsAndKeys(darwinPointer); - DarwinInputReleaseButtonsAndKeys(darwinTabletCursor); - DarwinInputReleaseButtonsAndKeys(darwinTabletStylus); - DarwinInputReleaseButtonsAndKeys(darwinTabletEraser); - - DarwinSendDDXEvent(kXquartzDeactivate, 0); - } - - self.x_active = state; -} - -- (void) became_key:(NSWindow *)win -{ - [self activateX:NO]; -} - -- (void) sendEvent:(NSEvent *)e -{ - /* Don't try sending to X if we haven't initialized. This can happen if AppKit takes over - * (eg: uncaught exception) early in launch. - */ - if (!eventTranslationQueue) { - [super sendEvent:e]; - return; - } - - OSX_BOOL for_appkit, for_x; - OSX_BOOL const x_active = self.x_active; - - /* By default pass down the responder chain and to X. */ - for_appkit = YES; - for_x = YES; - - switch ([e type]) { - case NSLeftMouseDown: - case NSRightMouseDown: - case NSOtherMouseDown: - case NSLeftMouseUp: - case NSRightMouseUp: - case NSOtherMouseUp: - case NSScrollWheel: - - if ([e window] != nil) { - /* Pointer event has an (AppKit) window. Probably something for the kit. */ - for_x = NO; - if (x_active) [self activateX:NO]; - } - else if ([self modalWindow] == nil) { - /* Must be an X window. Tell appkit windows to resign main/key */ - for_appkit = NO; - - if (!x_active && quartzProcs->IsX11Window([e windowNumber])) { - if ([self respondsToSelector:@selector(_setKeyWindow:)] && [self respondsToSelector:@selector(_setMainWindow:)]) { - NSWindow *keyWindow = [self keyWindow]; - if (keyWindow) { - [self _setKeyWindow:nil]; - [keyWindow resignKeyWindow]; - } - - NSWindow *mainWindow = [self mainWindow]; - if (mainWindow) { - [self _setMainWindow:nil]; - [mainWindow resignMainWindow]; - } - } else { - /* This has a side effect of causing background apps to steal focus from XQuartz. - * Unfortunately, there is no public and stable API to do what we want, but this - * is a decent fallback in the off chance that the above selectors get dropped - * in the future. - */ - [self deactivate]; - } - - [self activateX:YES]; - } - } - - /* We want to force sending to appkit if we're over the menu bar */ - if (!for_appkit) { - NSPoint NSlocation = [e locationInWindow]; - NSWindow *window = [e window]; - NSRect NSframe, NSvisibleFrame; - CGRect CGframe, CGvisibleFrame; - CGPoint CGlocation; - - if (window != nil) { - NSRect frame = [window frame]; - NSlocation.x += frame.origin.x; - NSlocation.y += frame.origin.y; - } - - NSframe = [[NSScreen mainScreen] frame]; - NSvisibleFrame = [[NSScreen mainScreen] visibleFrame]; - - CGframe = CGRectMake(NSframe.origin.x, NSframe.origin.y, - NSframe.size.width, NSframe.size.height); - CGvisibleFrame = CGRectMake(NSvisibleFrame.origin.x, - NSvisibleFrame.origin.y, - NSvisibleFrame.size.width, - NSvisibleFrame.size.height); - CGlocation = CGPointMake(NSlocation.x, NSlocation.y); - - if (CGRectContainsPoint(CGframe, CGlocation) && - !CGRectContainsPoint(CGvisibleFrame, CGlocation)) - for_appkit = YES; - } - - break; - - case NSKeyDown: - case NSKeyUp: - - if (_x_active) { - static BOOL do_swallow = NO; - static int swallow_keycode; - - if ([e type] == NSKeyDown) { - /* Before that though, see if there are any global - * shortcuts bound to it. */ - - if (darwinAppKitModMask &[e modifierFlags]) { - /* Override to force sending to Appkit */ - swallow_keycode = [e keyCode]; - do_swallow = YES; - for_x = NO; - } else if (XQuartzEnableKeyEquivalents && - xp_is_symbolic_hotkey_event([e eventRef])) { - swallow_keycode = [e keyCode]; - do_swallow = YES; - for_x = NO; - } - else if (XQuartzEnableKeyEquivalents && - [[self mainMenu] performKeyEquivalent:e]) { - swallow_keycode = [e keyCode]; - do_swallow = YES; - for_appkit = NO; - for_x = NO; - } - else if (!XQuartzIsRootless - && ([e modifierFlags] & ALL_KEY_MASKS) == - (NSCommandKeyMask | NSAlternateKeyMask) - && ([e keyCode] == 0 /*a*/ || [e keyCode] == - 53 /*Esc*/)) { - /* We have this here to force processing fullscreen - * toggle even if XQuartzEnableKeyEquivalents is disabled */ - swallow_keycode = [e keyCode]; - do_swallow = YES; - for_x = NO; - for_appkit = NO; - DarwinSendDDXEvent(kXquartzToggleFullscreen, 0); - } - else { - /* No kit window is focused, so send it to X. */ - for_appkit = NO; - - /* Reset our swallow state if we're seeing the same keyCode again. - * This can happen if we become !_x_active when the keyCode we - * intended to swallow is delivered. See: - * https://bugs.freedesktop.org/show_bug.cgi?id=92648 - */ - if ([e keyCode] == swallow_keycode) { - do_swallow = NO; - } - } - } - else { /* KeyUp */ - /* If we saw a key equivalent on the down, don't pass - * the up through to X. */ - if (do_swallow && [e keyCode] == swallow_keycode) { - do_swallow = NO; - for_x = NO; - } - } - } - else { /* !_x_active */ - for_x = NO; - } - break; - - case NSFlagsChanged: - /* Don't tell X11 about modifiers changing while it's not active */ - if (!_x_active) - for_x = NO; - break; - - case NSAppKitDefined: - switch ([e subtype]) { - static BOOL x_was_active = NO; - - case NSApplicationActivatedEventType: - for_x = NO; - if ([e window] == nil && x_was_active) { - BOOL order_all_windows = YES; - for_appkit = NO; - -#if APPKIT_APPFLAGS_HACK - /* FIXME: This is a hack to avoid passing the event to AppKit which - * would result in it raising one of its windows. - */ - _appFlags._active = YES; -#endif - - [self set_front_process:nil]; - - /* Get the Spaces preference for SwitchOnActivate */ - BOOL const workspaces = [NSUserDefaults.dockDefaults boolForKey:@"workspaces"]; - if (workspaces) { - order_all_windows = [NSUserDefaults.globalDefaults boolForKey:@"AppleSpacesSwitchOnActivate"]; - } - - /* TODO: In the workspaces && !AppleSpacesSwitchOnActivate case, the windows are ordered - * correctly, but we need to activate the top window on this space if there is - * none active. - * - * If there are no active windows, and there are minimized windows, we should - * be restoring one of them. - */ - if ([e data2] & 0x10) { // 0x10 (bfCPSOrderAllWindowsForward) is set when we use cmd-tab or the dock icon - DarwinSendDDXEvent(kXquartzBringAllToFront, 1, order_all_windows); - } - } - break; - - case 18: /* ApplicationDidReactivate */ - if (XQuartzFullscreenVisible) for_appkit = NO; - break; - - case NSApplicationDeactivatedEventType: - for_x = NO; - - x_was_active = _x_active; - if (_x_active) - [self activateX:NO]; - break; - } - break; - - default: - break; /* for gcc */ - } - - if (for_appkit) { - [super sendEvent:e]; - } - - if (for_x) { - dispatch_async(eventTranslationQueue, ^{ - [self sendX11NSEvent:e]; - }); - } -} - -- (void) set_apps_menu:(NSArray *)list -{ - [self.controller set_apps_menu:list]; -} - -- (void) set_front_process:unused -{ - [NSApp activateIgnoringOtherApps:YES]; - - if ([self modalWindow] == nil) - [self activateX:YES]; -} - -- (void) show_hide_menubar:(NSNumber *)state -{ - /* Also shows/hides the dock */ - if ([state boolValue]) - SetSystemUIMode(kUIModeNormal, 0); - else - SetSystemUIMode(kUIModeAllHidden, - XQuartzFullscreenMenu ? kUIOptionAutoShowMenuBar : 0); // kUIModeAllSuppressed or kUIOptionAutoShowMenuBar can be used to allow "mouse-activation" -} - -- (void) launch_client:(NSString *)cmd -{ - (void)[self.controller application:self openFile:cmd]; -} - - -- (void) read_defaults -{ - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - - XQuartzRootlessDefault = [defaults boolForKey:XQuartzPrefKeyRootless]; - XQuartzFullscreenMenu = [defaults boolForKey:XQuartzPrefKeyFullscreenMenu]; - XQuartzFullscreenDisableHotkeys = ![defaults boolForKey:XQuartzPrefKeyFullscreenHotkeys]; - - darwinFakeButtons = [defaults boolForKey:XQuartzPrefKeyFakeButtons]; - XQuartzOptionSendsAlt = [defaults boolForKey:XQuartzPrefKeyOptionSendsAlt]; - - if (darwinFakeButtons) { - NSString * const fake2 = [defaults stringForKey:XQuartzPrefKeyFakeButton2]; - if (fake2) { - darwinFakeMouse2Mask = DarwinParseModifierList(fake2.UTF8String, TRUE); - } - - NSString * const fake3 = [defaults stringForKey:XQuartzPrefKeyFakeButton3]; - if (fake3) { - darwinFakeMouse3Mask = DarwinParseModifierList(fake3.UTF8String, TRUE); - } - } - - NSString * const appKitModifiers = [defaults stringForKey:XQuartzPrefKeyAppKitModifiers]; - if (appKitModifiers) { - darwinAppKitModMask = DarwinParseModifierList(appKitModifiers.UTF8String, TRUE); - } - - NSString * const windowItemModifiers = [defaults stringForKey:XQuartzPrefKeyWindowItemModifiers]; - if (windowItemModifiers) { - windowItemModMask = DarwinParseModifierList(windowItemModifiers.UTF8String, FALSE); - } - - XQuartzEnableKeyEquivalents = [defaults boolForKey:XQuartzPrefKeyKeyEquivs]; - - darwinSyncKeymap = [defaults boolForKey:XQuartzPrefKeySyncKeymap]; - - darwinDesiredDepth = [defaults integerForKey:XQuartzPrefKeyDepth]; - - noTestExtensions = ![defaults boolForKey:XQuartzPrefKeyTESTExtension]; - noRenderExtension = ![defaults boolForKey:XQuartzPrefKeyRENDERExtension]; - - XQuartzScrollInDeviceDirection = [defaults boolForKey:XQuartzPrefKeyScrollInDeviceDirection]; -} - -/* This will end up at the end of the responder chain. */ -- (void) copy:sender -{ - DarwinSendDDXEvent(kXquartzPasteboardNotify, 1, - AppleWMCopyToPasteboard); -} - -@end - -void -X11ApplicationSetWindowMenu(int nitems, const char **items, - const char *shortcuts) -{ - @autoreleasepool { - NSMutableArray *> * const allMenuItems = [NSMutableArray array]; - - for (int i = 0; i < nitems; i++) { - NSMutableArray * const menuItem = [NSMutableArray array]; - [menuItem addObject:@(items[i])]; - - if (shortcuts[i] == 0) { - [menuItem addObject:@""]; - } else { - [menuItem addObject:[NSString stringWithFormat:@"%d", shortcuts[i]]]; - } - - [allMenuItems addObject:menuItem]; - } - - dispatch_async(dispatch_get_main_queue(), ^{ - [X11App.controller set_window_menu:allMenuItems]; - }); - } -} - -void -X11ApplicationSetWindowMenuCheck(int idx) -{ - dispatch_async(dispatch_get_main_queue(), ^{ - [X11App.controller set_window_menu_check:@(idx)]; - }); -} - -void -X11ApplicationSetFrontProcess(void) -{ - dispatch_async(dispatch_get_main_queue(), ^{ - [X11App set_front_process:nil]; - }); -} - -void -X11ApplicationSetCanQuit(int state) -{ - dispatch_async(dispatch_get_main_queue(), ^{ - X11App.controller.can_quit = !!state; - }); -} - -void -X11ApplicationServerReady(void) -{ - dispatch_async(dispatch_get_main_queue(), ^{ - [X11App.controller server_ready]; - }); -} - -void -X11ApplicationShowHideMenubar(int state) -{ - dispatch_async(dispatch_get_main_queue(), ^{ - [X11App show_hide_menubar:@(state)]; - }); -} - -void -X11ApplicationLaunchClient(const char *cmd) -{ - @autoreleasepool { - NSString *string = @(cmd); - dispatch_async(dispatch_get_main_queue(), ^{ - [X11App launch_client:string]; - }); - } -} - -/* This is a special function in that it is run from the *SERVER* thread and - * not the AppKit thread. We want to block entering a screen-capturing RandR - * mode until we notify the user about how to get out if the X11 client crashes. - */ -Bool -X11ApplicationCanEnterRandR(void) -{ - NSString *title, *msg; - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - - if ([defaults boolForKey:XQuartzPrefKeyNoRANDRAlert] || - XQuartzShieldingWindowLevel != 0) - return TRUE; - - title = NSLocalizedString(@"Enter RandR mode?", - @"Dialog title when switching to RandR"); - msg = NSLocalizedString( - @"An application has requested X11 to change the resolution of your display. X11 will restore the display to its previous state when the requesting application requests to return to the previous state. Alternatively, you can use the ⌥⌘A key sequence to force X11 to return to the previous state.", - @"Dialog when switching to RandR"); - - if (!XQuartzIsRootless) - QuartzShowFullscreen(FALSE); - - NSInteger __block alert_result; - dispatch_sync(dispatch_get_main_queue(), ^{ - alert_result = NSRunAlertPanel(title, @"%@", - NSLocalizedString(@"Allow", @""), - NSLocalizedString(@"Cancel", @""), - NSLocalizedString(@"Always Allow", @""), msg); - }); - - switch (alert_result) { - case NSAlertOtherReturn: - [defaults setBool:YES forKey:XQuartzPrefKeyNoRANDRAlert]; - - case NSAlertDefaultReturn: - return YES; - - default: - return NO; - } -} - -static void -check_xinitrc(void) -{ - char *tem, buf[1024]; - NSString *msg; - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - - if ([defaults boolForKey:XQuartzPrefKeyDoneXinitCheck]) - return; - - tem = getenv("HOME"); - if (tem == NULL) goto done; - - snprintf(buf, sizeof(buf), "%s/.xinitrc", tem); - if (access(buf, F_OK) != 0) - goto done; - - msg = - NSLocalizedString( - @"You have an existing ~/.xinitrc file.\n\n\ - Windows displayed by X11 applications may not have titlebars, or may look \ - different to windows displayed by native applications.\n\n\ - Would you like to move aside the existing file and use the standard X11 \ - environment the next time you start X11?" , - @"Startup xinitrc dialog"); - - if (NSAlertDefaultReturn == - NSRunAlertPanel(nil, @"%@", NSLocalizedString(@"Yes", @""), - NSLocalizedString(@"No", @""), nil, msg)) { - char buf2[1024]; - int i = -1; - - snprintf(buf2, sizeof(buf2), "%s.old", buf); - - for (i = 1; access(buf2, F_OK) == 0; i++) - snprintf(buf2, sizeof(buf2), "%s.old.%d", buf, i); - - rename(buf, buf2); - } - -done: - [defaults setBool:YES forKey:XQuartzPrefKeyDoneXinitCheck]; -} - -static inline pthread_t -create_thread(void *(*func)(void *), void *arg) -{ - pthread_attr_t attr; - pthread_t tid; - - pthread_attr_init(&attr); - pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - pthread_create(&tid, &attr, func, arg); - pthread_attr_destroy(&attr); - - return tid; -} - -static void * -xpbproxy_x_thread(void *args) -{ - xpbproxy_run(); - - ErrorF("xpbproxy thread is terminating unexpectedly.\n"); - return NULL; -} - -void -X11ApplicationMain(int argc, char **argv, char **envp) -{ -#ifdef DEBUG - while (access("/tmp/x11-block", F_OK) == 0) sleep(1); -#endif - - @autoreleasepool { - X11App = (X11Application *)[X11Application sharedApplication]; - [X11App read_defaults]; - - [NSBundle loadNibNamed:@"main" owner:NSApp]; - [NSNotificationCenter.defaultCenter addObserver:NSApp - selector:@selector (became_key:) - name:NSWindowDidBecomeKeyNotification - object:nil]; - - /* - * The xpr Quartz mode is statically linked into this server. - * Initialize all the Quartz functions. - */ - QuartzModeBundleInit(); - - /* Calculate the height of the menubar so we can avoid it. */ - aquaMenuBarHeight = NSApp.mainMenu.menuBarHeight; - if (!aquaMenuBarHeight) { - NSScreen* primaryScreen = NSScreen.screens[0]; - aquaMenuBarHeight = NSHeight(primaryScreen.frame) - NSMaxY(primaryScreen.visibleFrame); - } - - eventTranslationQueue = dispatch_queue_create(BUNDLE_ID_PREFIX ".X11.NSEventsToX11EventsQueue", NULL); - assert(eventTranslationQueue != NULL); - - /* Set the key layout seed before we start the server */ - last_key_layout = TISCopyCurrentKeyboardLayoutInputSource(); - - if (!last_key_layout) { - ErrorF("X11ApplicationMain: Unable to determine TISCopyCurrentKeyboardLayoutInputSource() at startup.\n"); - } - - if (!QuartsResyncKeymap(FALSE)) { - ErrorF("X11ApplicationMain: Could not build a valid keymap.\n"); - } - - /* Tell the server thread that it can proceed */ - QuartzInitServer(argc, argv, envp); - - /* This must be done after QuartzInitServer because it can result in - * an mieqEnqueue() - - */ - check_xinitrc(); - - create_thread(xpbproxy_x_thread, NULL); - -#if XQUARTZ_SPARKLE - [[X11App controller] setup_sparkle]; - [[SUUpdater sharedUpdater] resetUpdateCycle]; - // [[SUUpdater sharedUpdater] checkForUpdates:X11App]; -#endif - } - - [NSApp run]; - /* not reached */ -} - -@implementation X11Application (Private) - -#ifdef NX_DEVICELCMDKEYMASK -/* This is to workaround a bug in the VNC server where we sometimes see the L - * modifier and sometimes see no "side" - */ -static inline int -ensure_flag(int flags, int device_independent, int device_dependents, - int device_dependent_default) -{ - if ((flags & device_independent) && - !(flags & device_dependents)) - flags |= device_dependent_default; - return flags; -} -#endif - -#ifdef DEBUG_UNTRUSTED_POINTER_DELTA -static const char * -untrusted_str(NSEvent *e) -{ - switch ([e type]) { - case NSScrollWheel: - return "NSScrollWheel"; - - case NSTabletPoint: - return "NSTabletPoint"; - - case NSOtherMouseDown: - return "NSOtherMouseDown"; - - case NSOtherMouseUp: - return "NSOtherMouseUp"; - - case NSLeftMouseDown: - return "NSLeftMouseDown"; - - case NSLeftMouseUp: - return "NSLeftMouseUp"; - - default: - switch ([e subtype]) { - case NSTabletPointEventSubtype: - return "NSTabletPointEventSubtype"; - - case NSTabletProximityEventSubtype: - return "NSTabletProximityEventSubtype"; - - default: - return "Other"; - } - } -} -#endif - -extern void -wait_for_mieq_init(void); - -- (void) sendX11NSEvent:(NSEvent *)e -{ - NSPoint location = NSZeroPoint; - int ev_button, ev_type; - static float pressure = 0.0; // static so ProximityOut will have the value from the previous tablet event - static NSPoint tilt; // static so ProximityOut will have the value from the previous tablet event - static DeviceIntPtr darwinTabletCurrent = NULL; - static BOOL needsProximityIn = NO; // Do we do need to handle a pending ProximityIn once we have pressure/tilt? - DeviceIntPtr pDev; - int modifierFlags; - BOOL isMouseOrTabletEvent, isTabletEvent; - - if (!darwinTabletCurrent) { - /* Ensure that the event system is initialized */ - wait_for_mieq_init(); - assert(darwinTabletStylus); - - tilt = NSZeroPoint; - darwinTabletCurrent = darwinTabletStylus; - } - - isMouseOrTabletEvent = [e type] == NSLeftMouseDown || - [e type] == NSOtherMouseDown || - [e type] == NSRightMouseDown || - [e type] == NSLeftMouseUp || - [e type] == NSOtherMouseUp || - [e type] == NSRightMouseUp || - [e type] == NSLeftMouseDragged || - [e type] == NSOtherMouseDragged || - [e type] == NSRightMouseDragged || - [e type] == NSMouseMoved || - [e type] == NSTabletPoint || - [e type] == NSScrollWheel; - - isTabletEvent = ([e type] == NSTabletPoint) || - (isMouseOrTabletEvent && - ([e subtype] == NSTabletPointEventSubtype || - [e subtype] == NSTabletProximityEventSubtype)); - - if (isMouseOrTabletEvent) { - static NSPoint lastpt; - NSWindow *window = [e window]; - NSRect screen = [[[NSScreen screens] objectAtIndex:0] frame]; - BOOL hasUntrustedPointerDelta; - - // NSEvents for tablets are not consistent wrt deltaXY between events, so we cannot rely on that - // Thus tablets will be subject to the warp-pointer bug worked around by the delta, but tablets - // are not normally used in cases where that bug would present itself, so this is a fair tradeoff - // deltaX and deltaY are incorrect for NSMouseMoved, NSTabletPointEventSubtype - // http://xquartz.macosforge.org/trac/ticket/288 - hasUntrustedPointerDelta = isTabletEvent; - - // The deltaXY for middle click events also appear erroneous after fast user switching - // deltaX and deltaY are incorrect for NSOtherMouseDown and NSOtherMouseUp after FUS - // http://xquartz.macosforge.org/trac/ticket/389 - hasUntrustedPointerDelta |= [e type] == NSOtherMouseDown || - [e type] == NSOtherMouseUp; - - // The deltaXY for scroll events correspond to the scroll delta, not the pointer delta - // deltaXY for wheel events are being sent as mouse movement - hasUntrustedPointerDelta |= [e type] == NSScrollWheel; - -#ifdef DEBUG_UNTRUSTED_POINTER_DELTA - hasUntrustedPointerDelta |= [e type] == NSLeftMouseDown || - [e type] == NSLeftMouseUp; -#endif - - if (window != nil) { - NSRect frame = [window frame]; - location = [e locationInWindow]; - location.x += frame.origin.x; - location.y += frame.origin.y; - lastpt = location; - } - else if (hasUntrustedPointerDelta) { -#ifdef DEBUG_UNTRUSTED_POINTER_DELTA - ErrorF("--- Begin Event Debug ---\n"); - ErrorF("Event type: %s\n", untrusted_str(e)); - ErrorF("old lastpt: (%0.2f, %0.2f)\n", lastpt.x, lastpt.y); - ErrorF(" delta: (%0.2f, %0.2f)\n", [e deltaX], -[e deltaY]); - ErrorF(" location: (%0.2f, %0.2f)\n", lastpt.x + [e deltaX], - lastpt.y - [e deltaY]); - ErrorF("workaround: (%0.2f, %0.2f)\n", [e locationInWindow].x, - [e locationInWindow].y); - ErrorF("--- End Event Debug ---\n"); - - location.x = lastpt.x + [e deltaX]; - location.y = lastpt.y - [e deltaY]; - lastpt = [e locationInWindow]; -#else - location = [e locationInWindow]; - lastpt = location; -#endif - } - else { - location.x = lastpt.x + [e deltaX]; - location.y = lastpt.y - [e deltaY]; - lastpt = [e locationInWindow]; - } - - /* Convert coordinate system */ - location.y = (screen.origin.y + screen.size.height) - location.y; - } - - modifierFlags = [e modifierFlags]; - -#ifdef NX_DEVICELCMDKEYMASK - /* This is to workaround a bug in the VNC server where we sometimes see the L - * modifier and sometimes see no "side" - */ - modifierFlags = ensure_flag(modifierFlags, NX_CONTROLMASK, - NX_DEVICELCTLKEYMASK | NX_DEVICERCTLKEYMASK, - NX_DEVICELCTLKEYMASK); - modifierFlags = ensure_flag(modifierFlags, NX_SHIFTMASK, - NX_DEVICELSHIFTKEYMASK | NX_DEVICERSHIFTKEYMASK, - NX_DEVICELSHIFTKEYMASK); - modifierFlags = ensure_flag(modifierFlags, NX_COMMANDMASK, - NX_DEVICELCMDKEYMASK | NX_DEVICERCMDKEYMASK, - NX_DEVICELCMDKEYMASK); - modifierFlags = ensure_flag(modifierFlags, NX_ALTERNATEMASK, - NX_DEVICELALTKEYMASK | NX_DEVICERALTKEYMASK, - NX_DEVICELALTKEYMASK); -#endif - - modifierFlags &= darwin_all_modifier_mask; - - /* We don't receive modifier key events while out of focus, and 3button - * emulation mucks this up, so we need to check our modifier flag state - * on every event... ugg - */ - - if (darwin_all_modifier_flags != modifierFlags) - DarwinUpdateModKeys(modifierFlags); - - switch ([e type]) { - case NSLeftMouseDown: - ev_button = 1; - ev_type = ButtonPress; - goto handle_mouse; - - case NSOtherMouseDown: - // Get the AppKit button number, and convert it from 0-based to 1-based - ev_button = [e buttonNumber] + 1; - - /* Translate middle mouse button (3 in AppKit) to button 2 in X11, - * and translate additional mouse buttons (4 and higher in AppKit) - * to buttons 8 and higher in X11, to match default behavior of X11 - * on other platforms - */ - ev_button = (ev_button == 3) ? 2 : (ev_button + 4); - - ev_type = ButtonPress; - goto handle_mouse; - - case NSRightMouseDown: - ev_button = 3; - ev_type = ButtonPress; - goto handle_mouse; - - case NSLeftMouseUp: - ev_button = 1; - ev_type = ButtonRelease; - goto handle_mouse; - - case NSOtherMouseUp: - // See above comments for NSOtherMouseDown - ev_button = [e buttonNumber] + 1; - ev_button = (ev_button == 3) ? 2 : (ev_button + 4); - ev_type = ButtonRelease; - goto handle_mouse; - - case NSRightMouseUp: - ev_button = 3; - ev_type = ButtonRelease; - goto handle_mouse; - - case NSLeftMouseDragged: - ev_button = 1; - ev_type = MotionNotify; - goto handle_mouse; - - case NSOtherMouseDragged: - // See above comments for NSOtherMouseDown - ev_button = [e buttonNumber] + 1; - ev_button = (ev_button == 3) ? 2 : (ev_button + 4); - ev_type = MotionNotify; - goto handle_mouse; - - case NSRightMouseDragged: - ev_button = 3; - ev_type = MotionNotify; - goto handle_mouse; - - case NSMouseMoved: - ev_button = 0; - ev_type = MotionNotify; - goto handle_mouse; - - case NSTabletPoint: - ev_button = 0; - ev_type = MotionNotify; - goto handle_mouse; - -handle_mouse: - pDev = darwinPointer; - - /* NSTabletPoint can have no subtype */ - if ([e type] != NSTabletPoint && - [e subtype] == NSTabletProximityEventSubtype) { - switch ([e pointingDeviceType]) { - case NSEraserPointingDevice: - darwinTabletCurrent = darwinTabletEraser; - break; - - case NSPenPointingDevice: - darwinTabletCurrent = darwinTabletStylus; - break; - - case NSCursorPointingDevice: - case NSUnknownPointingDevice: - default: - darwinTabletCurrent = darwinTabletCursor; - break; - } - - if ([e isEnteringProximity]) - needsProximityIn = YES; - else - DarwinSendTabletEvents(darwinTabletCurrent, ProximityOut, 0, - location.x, location.y, pressure, - tilt.x, tilt.y); - return; - } - - if ([e type] == NSTabletPoint || - [e subtype] == NSTabletPointEventSubtype) { - pressure = [e pressure]; - tilt = [e tilt]; - - pDev = darwinTabletCurrent; - - if (needsProximityIn) { - DarwinSendTabletEvents(darwinTabletCurrent, ProximityIn, 0, - location.x, location.y, pressure, - tilt.x, tilt.y); - - needsProximityIn = NO; - } - } - - if (!XQuartzServerVisible && noTestExtensions) { - xp_window_id wid = 0; - xp_error err; - - /* Sigh. Need to check that we're really over one of - * our windows. (We need to receive pointer events while - * not in the foreground, but we don't want to receive them - * when another window is over us or we might show a tooltip) - */ - - err = xp_find_window(location.x, location.y, 0, &wid); - - if (err != XP_Success || (err == XP_Success && wid == 0)) - { - bgMouseLocation = location; - bgMouseLocationUpdated = TRUE; - return; - } - } - - if (bgMouseLocationUpdated) { - if (!(ev_type == MotionNotify && ev_button == 0)) { - DarwinSendPointerEvents(darwinPointer, MotionNotify, 0, - location.x, location.y, - 0.0, 0.0); - } - bgMouseLocationUpdated = FALSE; - } - - if (pDev == darwinPointer) { - DarwinSendPointerEvents(pDev, ev_type, ev_button, - location.x, location.y, - [e deltaX], [e deltaY]); - } else { - DarwinSendTabletEvents(pDev, ev_type, ev_button, - location.x, location.y, pressure, - tilt.x, tilt.y); - } - - break; - - case NSTabletProximity: - switch ([e pointingDeviceType]) { - case NSEraserPointingDevice: - darwinTabletCurrent = darwinTabletEraser; - break; - - case NSPenPointingDevice: - darwinTabletCurrent = darwinTabletStylus; - break; - - case NSCursorPointingDevice: - case NSUnknownPointingDevice: - default: - darwinTabletCurrent = darwinTabletCursor; - break; - } - - if ([e isEnteringProximity]) - needsProximityIn = YES; - else - DarwinSendTabletEvents(darwinTabletCurrent, ProximityOut, 0, - location.x, location.y, pressure, - tilt.x, tilt.y); - break; - - case NSScrollWheel: - { - CGFloat deltaX = [e deltaX]; - CGFloat deltaY = [e deltaY]; - CGEventRef cge = [e CGEvent]; - BOOL isContinuous = - CGEventGetIntegerValueField(cge, kCGScrollWheelEventIsContinuous); - -#if 0 - /* Scale the scroll value by line height */ - CGEventSourceRef source = CGEventCreateSourceFromEvent(cge); - if (source) { - double lineHeight = CGEventSourceGetPixelsPerLine(source); - CFRelease(source); - - /* There's no real reason for the 1/5 ratio here other than that - * it feels like a good ratio after some testing. - */ - - deltaX *= lineHeight / 5.0; - deltaY *= lineHeight / 5.0; - } -#endif - - if (XQuartzScrollInDeviceDirection && - [e isDirectionInvertedFromDevice]) { - deltaX *= -1; - deltaY *= -1; - } - /* This hack is in place to better deal with "clicky" scroll wheels: - * http://xquartz.macosforge.org/trac/ticket/562 - */ - if (!isContinuous) { - static NSTimeInterval lastScrollTime = 0.0; - - /* These store how much extra we have already scrolled. - * ie, this is how much we ignore on the next event. - */ - static double deficit_x = 0.0; - static double deficit_y = 0.0; - - /* If we have past a second since the last scroll, wipe the slate - * clean - */ - if ([e timestamp] - lastScrollTime > 1.0) { - deficit_x = deficit_y = 0.0; - } - lastScrollTime = [e timestamp]; - - if (deltaX != 0.0) { - /* If we changed directions, wipe the slate clean */ - if ((deficit_x < 0.0 && deltaX > 0.0) || - (deficit_x > 0.0 && deltaX < 0.0)) { - deficit_x = 0.0; - } - - /* Eat up the deficit, but ensure that something is - * always sent - */ - if (fabs(deltaX) > fabs(deficit_x)) { - deltaX -= deficit_x; - - if (deltaX > 0.0) { - deficit_x = ceil(deltaX) - deltaX; - deltaX = ceil(deltaX); - } else { - deficit_x = floor(deltaX) - deltaX; - deltaX = floor(deltaX); - } - } else { - deficit_x -= deltaX; - - if (deltaX > 0.0) { - deltaX = 1.0; - } else { - deltaX = -1.0; - } - - deficit_x += deltaX; - } - } - - if (deltaY != 0.0) { - /* If we changed directions, wipe the slate clean */ - if ((deficit_y < 0.0 && deltaY > 0.0) || - (deficit_y > 0.0 && deltaY < 0.0)) { - deficit_y = 0.0; - } - - /* Eat up the deficit, but ensure that something is - * always sent - */ - if (fabs(deltaY) > fabs(deficit_y)) { - deltaY -= deficit_y; - - if (deltaY > 0.0) { - deficit_y = ceil(deltaY) - deltaY; - deltaY = ceil(deltaY); - } else { - deficit_y = floor(deltaY) - deltaY; - deltaY = floor(deltaY); - } - } else { - deficit_y -= deltaY; - - if (deltaY > 0.0) { - deltaY = 1.0; - } else { - deltaY = -1.0; - } - - deficit_y += deltaY; - } - } - } - - DarwinSendScrollEvents(deltaX, deltaY); - break; - } - - case NSKeyDown: - case NSKeyUp: - { - /* XKB clobbers our keymap at startup, so we need to force it on the first keypress. - * TODO: Make this less of a kludge. - */ - static int force_resync_keymap = YES; - if (force_resync_keymap) { - DarwinSendDDXEvent(kXquartzReloadKeymap, 0); - force_resync_keymap = NO; - } - } - - if (darwinSyncKeymap) { - __block TISInputSourceRef key_layout; - dispatch_block_t copyCurrentKeyboardLayoutInputSource = ^{ - key_layout = TISCopyCurrentKeyboardLayoutInputSource(); - }; - /* This is an ugly ant-pattern, but it is more expedient to address the problem right now. */ - if (pthread_main_np()) { - copyCurrentKeyboardLayoutInputSource(); - } else { - dispatch_sync(dispatch_get_main_queue(), copyCurrentKeyboardLayoutInputSource); - } - - TISInputSourceRef clear; - if (CFEqual(key_layout, last_key_layout)) { - CFRelease(key_layout); - } - else { - /* Swap/free thread-safely */ - clear = last_key_layout; - last_key_layout = key_layout; - CFRelease(clear); - - /* Update keyInfo */ - if (!QuartsResyncKeymap(TRUE)) { - ErrorF( - "sendX11NSEvent: Could not build a valid keymap.\n"); - } - } - } - - ev_type = ([e type] == NSKeyDown) ? KeyPress : KeyRelease; - DarwinSendKeyboardEvents(ev_type, [e keyCode]); - break; - - default: - break; /* for gcc */ - } -} -@end diff --git a/hw/xquartz/X11Controller.h b/hw/xquartz/X11Controller.h deleted file mode 100644 index d5be0e8b6..000000000 --- a/hw/xquartz/X11Controller.h +++ /dev/null @@ -1,123 +0,0 @@ -/* X11Controller.h -- connect the IB ui - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef X11CONTROLLER_H -#define X11CONTROLLER_H 1 - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#if __OBJC__ - -#include "sanitizedCocoa.h" -#include "xpr/x-list.h" - -#ifdef XQUARTZ_SPARKLE -#define BOOL OSX_BOOL -#include -#undef BOOL -#endif - -@interface X11Controller : NSObject -@property (nonatomic, readwrite, strong) IBOutlet NSPanel *prefs_panel; - -@property (nonatomic, readwrite, strong) IBOutlet NSButton *fake_buttons; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_fullscreen; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_fullscreen_menu; -@property (nonatomic, readwrite, strong) IBOutlet NSTextField *enable_fullscreen_menu_text; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_keyequivs; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_keymap; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *option_sends_alt; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *scroll_in_device_direction; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *click_through; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *focus_follows_mouse; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *focus_on_new_window; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_auth; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *enable_tcp; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_pasteboard; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_pasteboard_to_clipboard; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_pasteboard_to_primary; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_clipboard_to_pasteboard; -@property (nonatomic, readwrite, strong) IBOutlet NSButton *sync_primary_immediately; -@property (nonatomic, readwrite, strong) IBOutlet NSTextField *sync_text1; -@property (nonatomic, readwrite, strong) IBOutlet NSTextField *sync_text2; -@property (nonatomic, readwrite, strong) IBOutlet NSPopUpButton *depth; - -@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *x11_about_item; -@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *dock_window_separator; -@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *apps_separator; -@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *toggle_fullscreen_item; - -@property (nonatomic, readwrite, strong) IBOutlet NSMenuItem *copy_menu_item; -@property (nonatomic, readwrite, strong) IBOutlet NSMenu *dock_apps_menu; -@property (nonatomic, readwrite, strong) IBOutlet NSTableView *apps_table; - -@property (nonatomic, readwrite, strong) IBOutlet NSMenu *dock_menu; - -@property (nonatomic, readwrite, assign) OSX_BOOL can_quit; - -- (void)set_window_menu:(NSArray *)list; -- (void)set_window_menu_check:(NSNumber *)n; -- (void)set_apps_menu:(NSArray *)list; -#ifdef XQUARTZ_SPARKLE -- (void)setup_sparkle; -- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *) - update; -#endif -- (void)server_ready; -- (OSX_BOOL)application:(NSApplication *)app openFile:(NSString *)filename; - -- (IBAction)apps_table_show:(id)sender; -- (IBAction)apps_table_done:(id)sender; -- (IBAction)apps_table_new:(id)sender; -- (IBAction)apps_table_duplicate:(id)sender; -- (IBAction)apps_table_delete:(id)sender; -- (IBAction)bring_to_front:(id)sender; -- (IBAction)close_window:(id)sender; -- (IBAction)minimize_window:(id)sender; -- (IBAction)zoom_window:(id)sender; -- (IBAction)next_window:(id)sender; -- (IBAction)previous_window:(id)sender; -- (IBAction)enable_fullscreen_changed:(id)sender; -- (IBAction)toggle_fullscreen:(id)sender; -- (IBAction)prefs_changed:(id)sender; -- (IBAction)prefs_show:(id)sender; -- (IBAction)quit:(id)sender; -- (IBAction)x11_help:(id)sender; - -@end - -#endif /* __OBJC__ */ - -void -X11ControllerMain(int argc, char **argv, char **envp); - -#endif /* X11CONTROLLER_H */ diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m deleted file mode 100644 index e21aed0d3..000000000 --- a/hw/xquartz/X11Controller.m +++ /dev/null @@ -1,923 +0,0 @@ -/* X11Controller.m -- connect the IB ui, also the NSApp delegate - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#import "X11Controller.h" -#import "X11Application.h" -#import "NSUserDefaults+XQuartzDefaults.h" - -#include "opaque.h" -#include "darwin.h" -#include "darwinEvents.h" -#include "quartz.h" -#include "quartzKeyboard.h" -#include -#include "applewmExt.h" - -#include -#include -#include -#include -#include -#include -#include - -extern aslclient aslc; -extern char *bundle_id_prefix; - -@interface X11Controller () -#ifdef XQUARTZ_SPARKLE -@property (nonatomic, readwrite, strong) NSMenuItem *check_for_updates_item; // Programatically enabled -#endif - -@property (nonatomic, readwrite, strong) NSArray *> *apps; -@property (nonatomic, readwrite, strong) NSMutableArray *> *table_apps; -@property (nonatomic, readwrite, assign) NSInteger windows_menu_nitems; -@property (nonatomic, readwrite, assign) int checked_window_item; -@property (nonatomic, readwrite, assign) x_list *pending_apps; -@property (nonatomic, readwrite, assign) OSX_BOOL finished_launching; -@end - -@implementation X11Controller - -- (void) awakeFromNib -{ - X11Application *xapp = NSApp; - - /* Point X11Application at ourself. */ - xapp.controller = self; - - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - NSArray *appsMenu = [defaults arrayForKey:XQuartzPrefKeyAppsMenu]; - - if (appsMenu) { - int count = appsMenu.count; - - /* convert from [TITLE1 COMMAND1 TITLE2 COMMAND2 ...] - to [[TITLE1 COMMAND1] [TITLE2 COMMAND2] ...] format. */ - if (count > 0 && ![appsMenu[0] isKindOfClass:NSArray.class]) { - int i; - NSMutableArray *copy, *sub; - - copy = [NSMutableArray arrayWithCapacity:(count / 2)]; - - for (i = 0; i < count / 2; i++) { - sub = [[NSMutableArray alloc] initWithCapacity:3]; - [sub addObject:appsMenu[i * 2]]; - [sub addObject:appsMenu[i * 2 + 1]]; - [sub addObject:@""]; - [copy addObject:sub]; - [sub release]; - } - - appsMenu = copy; - [defaults setObject:appsMenu forKey:XQuartzPrefKeyAppsMenu]; - } - - [self set_apps_menu:appsMenu]; - } - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(apps_table_done:) - name:NSWindowWillCloseNotification - object:self.apps_table.window]; -} - -- (void) item_selected:sender -{ - [NSApp activateIgnoringOtherApps:YES]; - - DarwinSendDDXEvent(kXquartzControllerNotify, 2, - AppleWMWindowMenuItem, [sender tag]); -} - -- (void) remove_apps_menu -{ - NSMenu *menu; - NSMenuItem *item; - int i; - - NSMenuItem * const apps_separator = self.apps_separator; - NSMenu * const dock_apps_menu = self.dock_apps_menu; - - if (self.apps == nil || apps_separator == nil) return; - - menu = [apps_separator menu]; - - if (menu != nil) { - for (i = [menu numberOfItems] - 1; i >= 0; i--) { - item = (NSMenuItem *)[menu itemAtIndex:i]; - if ([item tag] != 0) - [menu removeItemAtIndex:i]; - } - } - - if (dock_apps_menu != nil) { - for (i = [dock_apps_menu numberOfItems] - 1; i >= 0; i--) { - item = (NSMenuItem *)[dock_apps_menu itemAtIndex:i]; - if ([item tag] != 0) - [dock_apps_menu removeItemAtIndex:i]; - } - } - - self.apps = nil; -} - -- (void) prepend_apps_item:(NSArray *> *)list index:(int)i menu:(NSMenu *)menu -{ - NSString *title, *shortcut = @""; - NSArray *group; - NSMenuItem *item; - - group = [list objectAtIndex:i]; - title = [group objectAtIndex:0]; - if ([group count] >= 3) - shortcut = [group objectAtIndex:2]; - - if ([title length] != 0) { - item = (NSMenuItem *)[menu insertItemWithTitle:title - action:@selector ( - app_selected:) - keyEquivalent:shortcut atIndex:0]; - [item setTarget:self]; - [item setEnabled:YES]; - } - else { - item = (NSMenuItem *)[NSMenuItem separatorItem]; - [menu insertItem:item atIndex:0]; - } - - [item setTag:i + 1]; /* can't be zero, so add one */ -} - -- (void) install_apps_menu:(NSArray *> *)list -{ - NSMenu *menu; - int i, count; - - count = [list count]; - - NSMenuItem * const apps_separator = self.apps_separator; - NSMenu * const dock_apps_menu = self.dock_apps_menu; - - if (count == 0 || apps_separator == nil) return; - - menu = [apps_separator menu]; - - for (i = count - 1; i >= 0; i--) { - if (menu != nil) - [self prepend_apps_item:list index:i menu:menu]; - if (dock_apps_menu != nil) - [self prepend_apps_item:list index:i menu:dock_apps_menu]; - } - - self.apps = list; -} - -- (void) set_window_menu:(NSArray *> *)list -{ - NSMenu * const menu = X11App.windowsMenu; - NSMenu * const dock_menu = self.dock_menu; - - /* First, remove the existing items from the Window Menu */ - NSInteger itemsToRemove = self.windows_menu_nitems; - if (itemsToRemove > 0) { - NSInteger indexForRemoval = menu.numberOfItems - itemsToRemove - 1; /* we also want to remove the separator */ - - for (NSInteger i = 0 ; i < itemsToRemove + 1 ; i++) { - [menu removeItemAtIndex:indexForRemoval]; - } - - for (NSInteger i = 0 ; i < itemsToRemove; i++) { - [dock_menu removeItemAtIndex:0]; - } - } - - NSInteger const itemsToAdd = list.count; - self.windows_menu_nitems = itemsToAdd; - - if (itemsToAdd > 0) { - NSMenuItem *item; - - // Push a Separator - [menu addItem:[NSMenuItem separatorItem]]; - - for (NSInteger i = 0; i < itemsToAdd; i++) { - NSString *name, *shortcut; - - name = list[i][0]; - shortcut = list[i][1]; - - if (windowItemModMask == 0 || windowItemModMask == -1) - shortcut = @""; - - item = (NSMenuItem *)[menu addItemWithTitle:name - action:@selector(item_selected:) - keyEquivalent:shortcut]; - [item setKeyEquivalentModifierMask:(NSUInteger)windowItemModMask]; - [item setTarget:self]; - [item setTag:i]; - [item setEnabled:YES]; - - item = (NSMenuItem *)[dock_menu insertItemWithTitle:name - action:@selector(item_selected:) - keyEquivalent:shortcut - atIndex:i]; - [item setKeyEquivalentModifierMask:(NSUInteger)windowItemModMask]; - [item setTarget:self]; - [item setTag:i]; - [item setEnabled:YES]; - } - - int const checked_window_item = self.checked_window_item; - if (checked_window_item >= 0 && checked_window_item < itemsToAdd) { - NSInteger first = menu.numberOfItems - itemsToAdd; - item = (NSMenuItem *)[menu itemAtIndex:first + checked_window_item]; - [item setState:NSOnState]; - - item = (NSMenuItem *)[dock_menu itemAtIndex:checked_window_item]; - [item setState:NSOnState]; - } - } - - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMWindowMenuNotify); -} - -- (void) set_window_menu_check:(NSNumber *)nn -{ - NSMenu * const menu = X11App.windowsMenu; - NSMenu * const dock_menu = self.dock_menu; - NSMenuItem *item; - int n = nn.intValue; - - NSInteger const count = self.windows_menu_nitems; - NSInteger const first = menu.numberOfItems - count; - - int const checked_window_item = self.checked_window_item; - - if (checked_window_item >= 0 && checked_window_item < count) { - item = (NSMenuItem *)[menu itemAtIndex:first + checked_window_item]; - [item setState:NSOffState]; - item = (NSMenuItem *)[dock_menu itemAtIndex:checked_window_item]; - [item setState:NSOffState]; - } - if (n >= 0 && n < count) { - item = (NSMenuItem *)[menu itemAtIndex:first + n]; - [item setState:NSOnState]; - item = (NSMenuItem *)[dock_menu itemAtIndex:n]; - [item setState:NSOnState]; - } - self.checked_window_item = n; -} - -- (void) set_apps_menu:(NSArray *> *)list -{ - [self remove_apps_menu]; - [self install_apps_menu:list]; -} - -#ifdef XQUARTZ_SPARKLE -- (void) setup_sparkle -{ - if (self.check_for_updates_item) - return; // already did it... - - NSMenu *menu = [self.x11_about_item menu]; - - NSMenuItem * const check_for_updates_item = - [menu insertItemWithTitle:NSLocalizedString(@"Check for X11 Updates...", @"Check for X11 Updates...") - action:@selector(checkForUpdates:) - keyEquivalent:@"" - atIndex:1]; - [check_for_updates_item setTarget:[SUUpdater sharedUpdater]]; - [check_for_updates_item setEnabled:YES]; - - self.check_for_updates_item = check_for_updates_item; - - // Set X11Controller as the delegate for the updater. - [[SUUpdater sharedUpdater] setDelegate:self]; -} - -// Sent immediately before installing the specified update. -- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update -{ - //self.can_quit = YES; -} - -#endif - -- (void) launch_client:(NSString *)filename -{ - int child1, child2 = 0; - int status; - const char *newargv[4]; - char buf[128]; - char *s; - int stdout_pipe[2]; - int stderr_pipe[2]; - - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - NSString * const shell = [defaults stringForKey:XQuartzPrefKeyLoginShell]; - - newargv[0] = shell.fileSystemRepresentation; - newargv[1] = "-c"; - newargv[2] = filename.fileSystemRepresentation; - newargv[3] = NULL; - - s = getenv("DISPLAY"); - if (s == NULL || s[0] == 0) { - snprintf(buf, sizeof(buf), ":%s", display); - setenv("DISPLAY", buf, TRUE); - } - - if (&asl_log_descriptor) { - char *asl_sender; - aslmsg amsg = asl_new(ASL_TYPE_MSG); - assert(amsg); - - asprintf(&asl_sender, "%s.%s", bundle_id_prefix, newargv[2]); - assert(asl_sender); - for(s = asl_sender + strlen(bundle_id_prefix) + 1; *s; s++) { - if(! ((*s >= 'a' && *s <= 'z') || - (*s >= 'A' && *s <= 'Z') || - (*s >= '0' && *s <= '9'))) { - *s = '_'; - } - } - - (void)asl_set(amsg, ASL_KEY_SENDER, asl_sender); - free(asl_sender); - - assert(0 == pipe(stdout_pipe)); - fcntl(stdout_pipe[0], F_SETFD, FD_CLOEXEC); - fcntl(stdout_pipe[0], F_SETFL, O_NONBLOCK); - - assert(0 == pipe(stderr_pipe)); - fcntl(stderr_pipe[0], F_SETFD, FD_CLOEXEC); - fcntl(stderr_pipe[0], F_SETFL, O_NONBLOCK); - - asl_log_descriptor(aslc, amsg, ASL_LEVEL_INFO, stdout_pipe[0], ASL_LOG_DESCRIPTOR_READ); - asl_log_descriptor(aslc, amsg, ASL_LEVEL_NOTICE, stderr_pipe[0], ASL_LOG_DESCRIPTOR_READ); - - asl_free(amsg); - } - - /* Do the fork-twice trick to avoid having to reap zombies */ - child1 = fork(); - switch (child1) { - case -1: /* error */ - break; - - case 0: /* child1 */ - child2 = fork(); - - switch (child2) { - int max_files, i; - - case -1: /* error */ - _exit(1); - - case 0: /* child2 */ - if (&asl_log_descriptor) { - /* Replace our stdout/stderr */ - dup2(stdout_pipe[1], STDOUT_FILENO); - dup2(stderr_pipe[1], STDERR_FILENO); - } - - /* close all open files except for standard streams */ - max_files = sysconf(_SC_OPEN_MAX); - for (i = 3; i < max_files; i++) - close(i); - - /* ensure stdin is on /dev/null */ - close(0); - open("/dev/null", O_RDONLY); - - execvp(newargv[0], (char * *const)newargv); - _exit(2); - - default: /* parent (child1) */ - _exit(0); - } - break; - - default: /* parent */ - waitpid(child1, &status, 0); - } - - if (&asl_log_descriptor) { - /* Close the write ends of the pipe */ - close(stdout_pipe[1]); - close(stderr_pipe[1]); - } -} - -- (void) app_selected:sender -{ - int tag; - NSString *item; - NSArray *> * const apps = self.apps; - - tag = [sender tag] - 1; - if (apps == nil || tag < 0 || tag >= [apps count]) - return; - - item = [[apps objectAtIndex:tag] objectAtIndex:1]; - - [self launch_client:item]; -} - -- (IBAction) apps_table_show:sender -{ - NSArray *columns; - NSMutableArray *> * const oldapps = self.table_apps; - NSTableView * const apps_table = self.apps_table; - - NSMutableArray *> * const table_apps = [[NSMutableArray alloc] initWithCapacity:1]; - self.table_apps = table_apps; - - NSArray *> * const apps = self.apps; - if (apps != nil) { - for (NSArray * row in apps) { - [table_apps addObject:row.mutableCopy]; - } - } - - columns = [apps_table tableColumns]; - [[columns objectAtIndex:0] setIdentifier:@"0"]; - [[columns objectAtIndex:1] setIdentifier:@"1"]; - [[columns objectAtIndex:2] setIdentifier:@"2"]; - - [apps_table setDataSource:self]; - [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:0] - byExtendingSelection:NO]; - - [[apps_table window] makeKeyAndOrderFront:sender]; - [apps_table reloadData]; - if (oldapps != nil) - [oldapps release]; -} - -- (IBAction) apps_table_done:sender -{ - NSMutableArray *> * const table_apps = self.table_apps; - NSTableView * const apps_table = self.apps_table; - [apps_table deselectAll:sender]; /* flush edits? */ - - [self remove_apps_menu]; - [self install_apps_menu:table_apps]; - - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - [defaults setObject:table_apps forKey:XQuartzPrefKeyAppsMenu]; - - [[apps_table window] orderOut:sender]; - - self.table_apps = nil; -} - -- (IBAction) apps_table_new:sender -{ - NSMutableArray *item; - NSMutableArray *> * const table_apps = self.table_apps; - NSTableView * const apps_table = self.apps_table; - - int row = [apps_table selectedRow], i; - - if (row < 0) row = 0; - else row = row + 1; - - i = row; - if (i > [table_apps count]) - return; /* avoid exceptions */ - - [apps_table deselectAll:sender]; - - item = [[NSMutableArray alloc] initWithCapacity:3]; - [item addObject:@""]; - [item addObject:@""]; - [item addObject:@""]; - - [table_apps insertObject:item atIndex:i]; - [item release]; - - [apps_table reloadData]; - [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row] - byExtendingSelection:NO]; -} - -- (IBAction) apps_table_duplicate:sender -{ - NSMutableArray *> * const table_apps = self.table_apps; - NSTableView * const apps_table = self.apps_table; - int row = [apps_table selectedRow], i; - NSMutableArray *item; - - if (row < 0) { - [self apps_table_new:sender]; - return; - } - - i = row; - if (i > [table_apps count] - 1) return; /* avoid exceptions */ - - [apps_table deselectAll:sender]; - - item = [[table_apps objectAtIndex:i] mutableCopy]; - [table_apps insertObject:item atIndex:i]; - [item release]; - - [apps_table reloadData]; - [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row + - 1] byExtendingSelection:NO]; -} - -- (IBAction) apps_table_delete:sender -{ - NSMutableArray *> * const table_apps = self.table_apps; - NSTableView * const apps_table = self.apps_table; - int row = [apps_table selectedRow]; - - if (row >= 0) { - int i = row; - - if (i > [table_apps count] - 1) return; /* avoid exceptions */ - - [apps_table deselectAll:sender]; - - [table_apps removeObjectAtIndex:i]; - } - - [apps_table reloadData]; - - row = MIN(row, [table_apps count] - 1); - if (row >= 0) - [apps_table selectRowIndexes:[NSIndexSet indexSetWithIndex:row] - byExtendingSelection:NO]; -} - -- (NSInteger) numberOfRowsInTableView:(NSTableView *)tableView -{ - NSMutableArray *> * const table_apps = self.table_apps; - if (table_apps == nil) return 0; - - return [table_apps count]; -} - -- (id) tableView:(NSTableView *)tableView - objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row -{ - NSMutableArray *> * const table_apps = self.table_apps; - NSArray *item; - int col; - - if (table_apps == nil) return nil; - - col = [[tableColumn identifier] intValue]; - - item = [table_apps objectAtIndex:row]; - if ([item count] > col) - return [item objectAtIndex:col]; - else - return @""; -} - -- (void) tableView:(NSTableView *)tableView setObjectValue:(id)object - forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row -{ - NSMutableArray *> * const table_apps = self.table_apps; - NSMutableArray *item; - int col; - - if (table_apps == nil) return; - - col = [[tableColumn identifier] intValue]; - - item = [table_apps objectAtIndex:row]; - [item replaceObjectAtIndex:col withObject:object]; -} - -- (void) hide_window:sender -{ - if ([X11App x_active]) - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMHideWindow); - else - NSBeep(); /* FIXME: something here */ -} - -- (IBAction)bring_to_front:sender -{ - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMBringAllToFront); -} - -- (IBAction)close_window:sender -{ - if ([X11App x_active]) - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMCloseWindow); - else - [[NSApp keyWindow] performClose:sender]; -} - -- (IBAction)minimize_window:sender -{ - if ([X11App x_active]) - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMMinimizeWindow); - else - [[NSApp keyWindow] performMiniaturize:sender]; -} - -- (IBAction)zoom_window:sender -{ - if ([X11App x_active]) - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMZoomWindow); - else - [[NSApp keyWindow] performZoom:sender]; -} - -- (IBAction) next_window:sender -{ - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMNextWindow); -} - -- (IBAction) previous_window:sender -{ - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMPreviousWindow); -} - -- (IBAction) enable_fullscreen_changed:sender -{ - XQuartzRootlessDefault = !self.enable_fullscreen.state; - - [self.enable_fullscreen_menu setEnabled:!XQuartzRootlessDefault]; - [self.enable_fullscreen_menu_text setTextColor:XQuartzRootlessDefault ? NSColor.disabledControlTextColor : NSColor.controlTextColor]; - - DarwinSendDDXEvent(kXquartzSetRootless, 1, XQuartzRootlessDefault); - - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - [defaults setBool:XQuartzRootlessDefault forKey:XQuartzPrefKeyRootless]; -} - -- (IBAction) toggle_fullscreen:sender -{ - DarwinSendDDXEvent(kXquartzToggleFullscreen, 0); -} - -- (IBAction)prefs_changed:sender -{ - if (!sender) - return; - - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - - if (sender == self.fake_buttons) { - darwinFakeButtons = !!self.fake_buttons.state; - [defaults setBool:darwinFakeButtons forKey:XQuartzPrefKeyFakeButtons]; - } else if (sender == self.enable_keyequivs) { - XQuartzEnableKeyEquivalents = !!self.enable_keyequivs.state; - [defaults setBool:XQuartzEnableKeyEquivalents forKey:XQuartzPrefKeyKeyEquivs]; - } else if (sender == self.sync_keymap) { - darwinSyncKeymap = !!self.sync_keymap.state; - [defaults setBool:darwinSyncKeymap forKey:XQuartzPrefKeySyncKeymap]; - } else if (sender == self.enable_fullscreen_menu) { - XQuartzFullscreenMenu = !!self.enable_fullscreen_menu.state; - [defaults setBool:XQuartzFullscreenMenu forKey:XQuartzPrefKeyFullscreenMenu]; - } else if (sender == self.option_sends_alt) { - BOOL prev_opt_sends_alt = XQuartzOptionSendsAlt; - - XQuartzOptionSendsAlt = !!self.option_sends_alt.state; - [defaults setBool:XQuartzOptionSendsAlt forKey:XQuartzPrefKeyOptionSendsAlt]; - - if (prev_opt_sends_alt != XQuartzOptionSendsAlt) - QuartsResyncKeymap(TRUE); - } else if (sender == self.click_through) { - [defaults setBool:!!self.click_through.state forKey:XQuartzPrefKeyClickThrough]; - } else if (sender == self.focus_follows_mouse) { - [defaults setBool:!!self.focus_follows_mouse.state forKey:XQuartzPrefKeyFocusFollowsMouse]; - } else if (sender == self.focus_on_new_window) { - [defaults setBool:!!self.focus_on_new_window.state forKey:XQuartzPrefKeyFocusOnNewWindow]; - } else if (sender == self.enable_auth) { - [defaults setBool:!self.enable_auth.state forKey:XQuartzPrefKeyNoAuth]; - } else if (sender == self.enable_tcp) { - [defaults setBool:!self.enable_tcp.state forKey:XQuartzPrefKeyNoTCP]; - } else if (sender == self.depth) { - [defaults setInteger:self.depth.selectedTag forKey:XQuartzPrefKeyDepth]; - } else if (sender == self.sync_pasteboard) { - BOOL pbproxy_active = self.sync_pasteboard.intValue; - [defaults setBool:pbproxy_active forKey:XQuartzPrefKeySyncPasteboard]; - - [self.sync_pasteboard_to_clipboard setEnabled:pbproxy_active]; - [self.sync_pasteboard_to_primary setEnabled:pbproxy_active]; - [self.sync_clipboard_to_pasteboard setEnabled:pbproxy_active]; - [self.sync_primary_immediately setEnabled:pbproxy_active]; - - // setEnabled doesn't do this... - [self.sync_text1 setTextColor:pbproxy_active ? NSColor.controlTextColor : NSColor.disabledControlTextColor]; - [self.sync_text2 setTextColor:pbproxy_active ? NSColor.controlTextColor : NSColor.disabledControlTextColor]; - } else if (sender == self.sync_pasteboard_to_clipboard) { - [defaults setBool:!!self.sync_pasteboard_to_clipboard.state forKey:XQuartzPrefKeySyncPasteboardToClipboard]; - } else if (sender == self.sync_pasteboard_to_primary) { - [defaults setBool:!!self.sync_pasteboard_to_primary.state forKey:XQuartzPrefKeySyncPasteboardToPrimary]; - } else if (sender == self.sync_clipboard_to_pasteboard) { - [defaults setBool:!!self.sync_clipboard_to_pasteboard.state forKey:XQuartzPrefKeySyncClipboardToPasteBoard]; - } else if (sender == self.sync_primary_immediately) { - [defaults setBool:!!self.sync_primary_immediately.state forKey:XQuartzPrefKeySyncPrimaryOnSelect]; - } else if (sender == self.scroll_in_device_direction) { - XQuartzScrollInDeviceDirection = !!self.scroll_in_device_direction.state; - [defaults setBool:XQuartzScrollInDeviceDirection forKey:XQuartzPrefKeyScrollInDeviceDirection]; - } - - DarwinSendDDXEvent(kXquartzReloadPreferences, 0); -} - -- (IBAction) prefs_show:sender -{ - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - - BOOL pbproxy_active = [defaults boolForKey:XQuartzPrefKeySyncPasteboard]; - - [self.scroll_in_device_direction setIntValue:XQuartzScrollInDeviceDirection]; - - [self.fake_buttons setIntValue:darwinFakeButtons]; - [self.enable_keyequivs setIntValue:XQuartzEnableKeyEquivalents]; - [self.sync_keymap setIntValue:darwinSyncKeymap]; - [self.option_sends_alt setIntValue:XQuartzOptionSendsAlt]; - [self.click_through setIntValue:[defaults boolForKey:XQuartzPrefKeyClickThrough]]; - [self.focus_follows_mouse setIntValue:[defaults boolForKey:XQuartzPrefKeyFocusFollowsMouse]]; - [self.focus_on_new_window setIntValue:[defaults boolForKey:XQuartzPrefKeyFocusOnNewWindow]]; - - [self.enable_auth setIntValue:![defaults boolForKey:XQuartzPrefKeyNoAuth]]; - [self.enable_tcp setIntValue:![defaults boolForKey:XQuartzPrefKeyNoTCP]]; - - [self.depth selectItemAtIndex:[self.depth indexOfItemWithTag:[defaults integerForKey:XQuartzPrefKeyDepth]]]; - - [self.sync_pasteboard setIntValue:pbproxy_active]; - [self.sync_pasteboard_to_clipboard setIntValue:[defaults boolForKey:XQuartzPrefKeySyncPasteboardToClipboard]]; - [self.sync_pasteboard_to_primary setIntValue:[defaults boolForKey:XQuartzPrefKeySyncPasteboardToPrimary]]; - [self.sync_clipboard_to_pasteboard setIntValue:[defaults boolForKey:XQuartzPrefKeySyncClipboardToPasteBoard]]; - [self.sync_primary_immediately setIntValue:[defaults boolForKey:XQuartzPrefKeySyncPrimaryOnSelect]]; - - [self.sync_pasteboard_to_clipboard setEnabled:pbproxy_active]; - [self.sync_pasteboard_to_primary setEnabled:pbproxy_active]; - [self.sync_clipboard_to_pasteboard setEnabled:pbproxy_active]; - [self.sync_primary_immediately setEnabled:pbproxy_active]; - - // setEnabled doesn't do this... - [self.sync_text1 setTextColor:pbproxy_active ? NSColor.controlTextColor : NSColor.disabledControlTextColor]; - [self.sync_text2 setTextColor:pbproxy_active ? NSColor.controlTextColor : NSColor.disabledControlTextColor]; - - [self.enable_fullscreen setIntValue:!XQuartzRootlessDefault]; - [self.enable_fullscreen_menu setIntValue:XQuartzFullscreenMenu]; - [self.enable_fullscreen_menu setEnabled:!XQuartzRootlessDefault]; - [self.enable_fullscreen_menu_text setTextColor:XQuartzRootlessDefault ? NSColor.disabledControlTextColor : NSColor.controlTextColor]; - - [self.prefs_panel makeKeyAndOrderFront:sender]; -} - -- (IBAction) quit:sender -{ - DarwinSendDDXEvent(kXquartzQuit, 0); -} - -- (IBAction) x11_help:sender -{ - AHLookupAnchor(CFSTR("com.apple.machelp"), CFSTR("mchlp2276")); -} - -- (OSX_BOOL) validateMenuItem:(NSMenuItem *)item -{ - NSMenu *menu = [item menu]; - NSMenu * const dock_menu = self.dock_menu; - - if (item == self.toggle_fullscreen_item) - return !XQuartzIsRootless; - else if (menu == [X11App windowsMenu] || menu == dock_menu - || (menu == [self.x11_about_item menu] && [item tag] == 42)) - return (AppleWMSelectedEvents() & AppleWMControllerNotifyMask) != 0; - else - return TRUE; -} - -- (void) applicationDidHide:(NSNotification *)notify -{ - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMHideAll); - - /* Toggle off fullscreen mode to leave our non-default video - * mode and hide our guard window. - */ - if (!XQuartzIsRootless && XQuartzFullscreenVisible) { - DarwinSendDDXEvent(kXquartzToggleFullscreen, 0); - } -} - -- (void) applicationDidUnhide:(NSNotification *)notify -{ - DarwinSendDDXEvent(kXquartzControllerNotify, 1, AppleWMShowAll); -} - -- (NSApplicationTerminateReply) applicationShouldTerminate:sender -{ - NSString *msg; - NSString *title; - - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - - if (self.can_quit || [defaults boolForKey:XQuartzPrefKeyNoQuitAlert]) { - return NSTerminateNow; - } - - /* Make sure we're frontmost. */ - [NSApp activateIgnoringOtherApps:YES]; - - title = NSLocalizedString(@"Do you really want to quit X11?", - @"Dialog title when quitting"); - msg = NSLocalizedString( - @"Any open X11 applications will stop immediately, and you will lose any unsaved changes.", - @"Dialog when quitting"); - - /* FIXME: safe to run the alert in here? Or should we return Later - * and then run the alert on a timer? It seems to work here, so.. - */ - - NSInteger result = NSRunAlertPanel(title, @"%@", NSLocalizedString(@"Quit", @""), - NSLocalizedString(@"Cancel", @""), nil, msg); - return (result == NSAlertDefaultReturn) ? NSTerminateNow : NSTerminateCancel; -} - -- (void) applicationWillTerminate:(NSNotification *)aNotification _X_NORETURN -{ - /* shutdown the X server, it will exit () for us. */ - DarwinSendDDXEvent(kXquartzQuit, 0); - - /* In case it doesn't, exit anyway after 5s. */ - [NSThread sleepForTimeInterval:5.0]; - - exit(1); -} - -- (void) server_ready -{ - x_list *node; - - self.finished_launching = YES; - - for (node = self.pending_apps; node != NULL; node = node->next) { - NSString *filename = node->data; - [self launch_client:filename]; - [filename release]; - } - - x_list_free(self.pending_apps); - self.pending_apps = NULL; -} - -- (OSX_BOOL) application:(NSApplication *)app openFile:(NSString *)filename -{ - const char *name = [filename UTF8String]; - - if (self.finished_launching) - [self launch_client:filename]; - else if (name[0] != ':') /* ignore display names */ - self.pending_apps = x_list_prepend(self.pending_apps, [filename retain]); - - /* FIXME: report failures. */ - return YES; -} - -@end - -void -X11ControllerMain(int argc, char **argv, char **envp) -{ - X11ApplicationMain(argc, argv, envp); -} diff --git a/hw/xquartz/applewm.c b/hw/xquartz/applewm.c deleted file mode 100644 index 8cd92f296..000000000 --- a/hw/xquartz/applewm.c +++ /dev/null @@ -1,743 +0,0 @@ -/* - * Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include - -#include "quartz.h" - -#include "misc.h" -#include "dixstruct.h" -#include "globals.h" -#include "extnsionst.h" -#include "colormapst.h" -#include "cursorstr.h" -#include "scrnintstr.h" -#include "windowstr.h" -#include "servermd.h" -#include "swaprep.h" -#include "propertyst.h" -#include -#include "darwin.h" -#define _APPLEWM_SERVER_ -#include -#include "applewmExt.h" -#include "X11Application.h" -#include "protocol-versions.h" - -#define DEFINE_ATOM_HELPER(func, atom_name) \ - static Atom func(void) { \ - static int generation; \ - static Atom atom; \ - if (generation != serverGeneration) { \ - generation = serverGeneration; \ - atom = MakeAtom(atom_name, strlen(atom_name), TRUE); \ - } \ - return atom; \ - } - -DEFINE_ATOM_HELPER(xa_native_screen_origin, "_NATIVE_SCREEN_ORIGIN") -DEFINE_ATOM_HELPER(xa_apple_no_order_in, "_APPLE_NO_ORDER_IN") - -static AppleWMProcsPtr appleWMProcs; - -static int WMErrorBase; - -static unsigned char WMReqCode = 0; -static int WMEventBase = 0; - -static RESTYPE ClientType, EventType; /* resource types for event masks */ -static XID eventResource; - -/* Currently selected events */ -static unsigned int eventMask = 0; - -static int -WMFreeClient(void *data, XID id); -static int -WMFreeEvents(void *data, XID id); -static void -SNotifyEvent(xAppleWMNotifyEvent *from, xAppleWMNotifyEvent *to); - -typedef struct _WMEvent *WMEventPtr; -typedef struct _WMEvent { - WMEventPtr next; - ClientPtr client; - XID clientResource; - unsigned int mask; -} WMEventRec; - -static inline BoxRec -make_box(int x, int y, int w, int h) -{ - BoxRec r; - r.x1 = x; - r.y1 = y; - r.x2 = x + w; - r.y2 = y + h; - return r; -} - -/* Updates the _NATIVE_SCREEN_ORIGIN property on the given root window. */ -void -AppleWMSetScreenOrigin(WindowPtr pWin) -{ - int32_t data[2]; - - data[0] = pWin->drawable.pScreen->x + darwinMainScreenX; - data[1] = pWin->drawable.pScreen->y + darwinMainScreenY; - - dixChangeWindowProperty(serverClient, pWin, xa_native_screen_origin(), - XA_INTEGER, 32, PropModeReplace, 2, data, TRUE); -} - -/* Window managers can set the _APPLE_NO_ORDER_IN property on windows - that are being genie-restored from the Dock. We want them to - be mapped but remain ordered-out until the animation - completes (when the Dock will order them in). */ -Bool -AppleWMDoReorderWindow(WindowPtr pWin) -{ - Atom atom; - PropertyPtr prop; - int rc; - - atom = xa_apple_no_order_in(); - rc = dixLookupProperty(&prop, pWin, atom, serverClient, DixReadAccess); - - if (Success == rc && prop->type == atom) - return 0; - - return 1; -} - -static int -ProcAppleWMQueryVersion(register ClientPtr client) -{ - xAppleWMQueryVersionReply rep; - - REQUEST_SIZE_MATCH(xAppleWMQueryVersionReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.majorVersion = SERVER_APPLEWM_MAJOR_VERSION; - rep.minorVersion = SERVER_APPLEWM_MINOR_VERSION; - rep.patchVersion = SERVER_APPLEWM_PATCH_VERSION; - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - } - WriteToClient(client, sizeof(xAppleWMQueryVersionReply),&rep); - return Success; -} - -/* events */ - -static inline void -updateEventMask(WMEventPtr *pHead) -{ - WMEventPtr pCur; - - eventMask = 0; - for (pCur = *pHead; pCur != NULL; pCur = pCur->next) - eventMask |= pCur->mask; -} - -/*ARGSUSED*/ -static int -WMFreeClient(void *data, XID id) -{ - WMEventPtr pEvent; - WMEventPtr *pHead, pCur, pPrev; - int i; - - pEvent = (WMEventPtr)data; - i = dixLookupResourceByType( - (void **)&pHead, eventResource, EventType, serverClient, - DixReadAccess | - DixWriteAccess | DixDestroyAccess); - if (i == Success && pHead) { - pPrev = 0; - for (pCur = *pHead; pCur && pCur != pEvent; pCur = pCur->next) - pPrev = pCur; - if (pCur) { - if (pPrev) - pPrev->next = pEvent->next; - else - *pHead = pEvent->next; - } - updateEventMask(pHead); - } - free((void *)pEvent); - return 1; -} - -/*ARGSUSED*/ -static int -WMFreeEvents(void *data, XID id) -{ - WMEventPtr *pHead, pCur, pNext; - - pHead = (WMEventPtr *)data; - for (pCur = *pHead; pCur; pCur = pNext) { - pNext = pCur->next; - FreeResource(pCur->clientResource, ClientType); - free((void *)pCur); - } - free((void *)pHead); - eventMask = 0; - return 1; -} - -static int -ProcAppleWMSelectInput(register ClientPtr client) -{ - REQUEST(xAppleWMSelectInputReq); - WMEventPtr pEvent, pNewEvent, *pHead; - XID clientResource; - int i; - - REQUEST_SIZE_MATCH(xAppleWMSelectInputReq); - i = - dixLookupResourceByType((void **)&pHead, eventResource, EventType, - client, - DixWriteAccess); - if (stuff->mask != 0) { - if (i == Success && pHead) { - /* check for existing entry. */ - for (pEvent = *pHead; pEvent; pEvent = pEvent->next) { - if (pEvent->client == client) { - pEvent->mask = stuff->mask; - updateEventMask(pHead); - return Success; - } - } - } - - /* build the entry */ - pNewEvent = (WMEventPtr)malloc(sizeof(WMEventRec)); - if (!pNewEvent) - return BadAlloc; - pNewEvent->next = 0; - pNewEvent->client = client; - pNewEvent->mask = stuff->mask; - /* - * add a resource that will be deleted when - * the client goes away - */ - clientResource = FakeClientID(client->index); - pNewEvent->clientResource = clientResource; - if (!AddResource(clientResource, ClientType, (void *)pNewEvent)) - return BadAlloc; - /* - * create a resource to contain a pointer to the list - * of clients selecting input. This must be indirect as - * the list may be arbitrarily rearranged which cannot be - * done through the resource database. - */ - if (i != Success || !pHead) { - pHead = (WMEventPtr *)malloc(sizeof(WMEventPtr)); - if (!pHead || - !AddResource(eventResource, EventType, (void *)pHead)) { - FreeResource(clientResource, RT_NONE); - return BadAlloc; - } - *pHead = 0; - } - pNewEvent->next = *pHead; - *pHead = pNewEvent; - updateEventMask(pHead); - } - else if (stuff->mask == 0) { - /* delete the interest */ - if (i == Success && pHead) { - pNewEvent = 0; - for (pEvent = *pHead; pEvent; pEvent = pEvent->next) { - if (pEvent->client == client) - break; - pNewEvent = pEvent; - } - if (pEvent) { - FreeResource(pEvent->clientResource, ClientType); - if (pNewEvent) - pNewEvent->next = pEvent->next; - else - *pHead = pEvent->next; - free(pEvent); - updateEventMask(pHead); - } - } - } - else { - client->errorValue = stuff->mask; - return BadValue; - } - return Success; -} - -/* - * deliver the event - */ - -void -AppleWMSendEvent(int type, unsigned int mask, int which, int arg) -{ - WMEventPtr *pHead, pEvent; - xAppleWMNotifyEvent se; - int i; - - i = - dixLookupResourceByType((void **)&pHead, eventResource, EventType, - serverClient, - DixReadAccess); - if (i != Success || !pHead) - return; - for (pEvent = *pHead; pEvent; pEvent = pEvent->next) { - if ((pEvent->mask & mask) == 0) - continue; - se.type = type + WMEventBase; - se.kind = which; - se.arg = arg; - se.time = currentTime.milliseconds; - WriteEventsToClient(pEvent->client, 1, (xEvent *)&se); - } -} - -/* Safe to call from any thread. */ -unsigned int -AppleWMSelectedEvents(void) -{ - return eventMask; -} - -/* general utility functions */ - -static int -ProcAppleWMDisableUpdate(register ClientPtr client) -{ - REQUEST_SIZE_MATCH(xAppleWMDisableUpdateReq); - - appleWMProcs->DisableUpdate(); - - return Success; -} - -static int -ProcAppleWMReenableUpdate(register ClientPtr client) -{ - REQUEST_SIZE_MATCH(xAppleWMReenableUpdateReq); - - appleWMProcs->EnableUpdate(); - - return Success; -} - -/* window functions */ - -static int -ProcAppleWMSetWindowMenu(register ClientPtr client) -{ - const char *bytes, **items; - char *shortcuts; - int max_len, nitems, i, j; - REQUEST(xAppleWMSetWindowMenuReq); - - REQUEST_AT_LEAST_SIZE(xAppleWMSetWindowMenuReq); - - nitems = stuff->nitems; - items = malloc(sizeof(char *) * nitems); - shortcuts = malloc(sizeof(char) * nitems); - - if (!items || !shortcuts) { - free(items); - free(shortcuts); - - return BadAlloc; - } - - max_len = (stuff->length << 2) - sizeof(xAppleWMSetWindowMenuReq); - bytes = (char *)&stuff[1]; - - for (i = j = 0; i < max_len && j < nitems;) { - shortcuts[j] = bytes[i++]; - items[j++] = bytes + i; - - while (i < max_len) - { - if (bytes[i++] == 0) - break; - } - } - - /* Check if we bailed out of the above loop due to a request that was too long */ - if (j < nitems) { - free(items); - free(shortcuts); - - return BadRequest; - } - - X11ApplicationSetWindowMenu(nitems, items, shortcuts); - free(items); - free(shortcuts); - - return Success; -} - -static int -ProcAppleWMSetWindowMenuCheck(register ClientPtr client) -{ - REQUEST(xAppleWMSetWindowMenuCheckReq); - - REQUEST_SIZE_MATCH(xAppleWMSetWindowMenuCheckReq); - X11ApplicationSetWindowMenuCheck(stuff->index); - return Success; -} - -static int -ProcAppleWMSetFrontProcess(register ClientPtr client) -{ - REQUEST_SIZE_MATCH(xAppleWMSetFrontProcessReq); - - X11ApplicationSetFrontProcess(); - return Success; -} - -static int -ProcAppleWMSetWindowLevel(register ClientPtr client) -{ - REQUEST(xAppleWMSetWindowLevelReq); - WindowPtr pWin; - int err; - - REQUEST_SIZE_MATCH(xAppleWMSetWindowLevelReq); - - if (Success != dixLookupWindow(&pWin, stuff->window, client, - DixReadAccess)) - return BadValue; - - if (stuff->level >= AppleWMNumWindowLevels) { - return BadValue; - } - - err = appleWMProcs->SetWindowLevel(pWin, stuff->level); - if (err != Success) { - return err; - } - - return Success; -} - -static int -ProcAppleWMSendPSN(register ClientPtr client) -{ - REQUEST(xAppleWMSendPSNReq); - int err; - - REQUEST_SIZE_MATCH(xAppleWMSendPSNReq); - - if (!appleWMProcs->SendPSN) - return BadRequest; - - err = appleWMProcs->SendPSN(stuff->psn_hi, stuff->psn_lo); - if (err != Success) { - return err; - } - - return Success; -} - -static int -ProcAppleWMAttachTransient(register ClientPtr client) -{ - WindowPtr pWinChild, pWinParent; - REQUEST(xAppleWMAttachTransientReq); - int err; - - REQUEST_SIZE_MATCH(xAppleWMAttachTransientReq); - - if (!appleWMProcs->AttachTransient) - return BadRequest; - - if (Success != - dixLookupWindow(&pWinChild, stuff->child, client, DixReadAccess)) - return BadValue; - - if (stuff->parent) { - if (Success != - dixLookupWindow(&pWinParent, stuff->parent, client, DixReadAccess)) - return BadValue; - } - else { - pWinParent = NULL; - } - - err = appleWMProcs->AttachTransient(pWinChild, pWinParent); - if (err != Success) { - return err; - } - - return Success; -} - -static int -ProcAppleWMSetCanQuit(register ClientPtr client) -{ - REQUEST(xAppleWMSetCanQuitReq); - - REQUEST_SIZE_MATCH(xAppleWMSetCanQuitReq); - - X11ApplicationSetCanQuit(stuff->state); - return Success; -} - -/* frame functions */ - -static int -ProcAppleWMFrameGetRect(register ClientPtr client) -{ - xAppleWMFrameGetRectReply rep; - BoxRec ir, or, rr; - REQUEST(xAppleWMFrameGetRectReq); - - REQUEST_SIZE_MATCH(xAppleWMFrameGetRectReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - ir = make_box(stuff->ix, stuff->iy, stuff->iw, stuff->ih); - or = make_box(stuff->ox, stuff->oy, stuff->ow, stuff->oh); - - if (appleWMProcs->FrameGetRect(stuff->frame_rect, - stuff->frame_class, - &or, &ir, &rr) != Success) { - return BadValue; - } - - rep.x = rr.x1; - rep.y = rr.y1; - rep.w = rr.x2 - rr.x1; - rep.h = rr.y2 - rr.y1; - - WriteToClient(client, sizeof(xAppleWMFrameGetRectReply),&rep); - return Success; -} - -static int -ProcAppleWMFrameHitTest(register ClientPtr client) -{ - xAppleWMFrameHitTestReply rep; - BoxRec ir, or; - int ret; - REQUEST(xAppleWMFrameHitTestReq); - - REQUEST_SIZE_MATCH(xAppleWMFrameHitTestReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - ir = make_box(stuff->ix, stuff->iy, stuff->iw, stuff->ih); - or = make_box(stuff->ox, stuff->oy, stuff->ow, stuff->oh); - - if (appleWMProcs->FrameHitTest(stuff->frame_class, stuff->px, - stuff->py, &or, &ir, &ret) != Success) { - return BadValue; - } - - rep.ret = ret; - - WriteToClient(client, sizeof(xAppleWMFrameHitTestReply),&rep); - return Success; -} - -static int -ProcAppleWMFrameDraw(register ClientPtr client) -{ - BoxRec ir, or; - unsigned int title_length, title_max; - unsigned char *title_bytes; - REQUEST(xAppleWMFrameDrawReq); - WindowPtr pWin; - - REQUEST_AT_LEAST_SIZE(xAppleWMFrameDrawReq); - - if (Success != dixLookupWindow(&pWin, stuff->window, client, - DixReadAccess)) - return BadValue; - - ir = make_box(stuff->ix, stuff->iy, stuff->iw, stuff->ih); - or = make_box(stuff->ox, stuff->oy, stuff->ow, stuff->oh); - - title_length = stuff->title_length; - title_max = (stuff->length << 2) - sizeof(xAppleWMFrameDrawReq); - - if (title_max < title_length) - return BadValue; - - title_bytes = (unsigned char *)&stuff[1]; - - errno = appleWMProcs->FrameDraw(pWin, stuff->frame_class, - stuff->frame_attr, &or, &ir, - title_length, title_bytes); - if (errno != Success) { - return errno; - } - - return Success; -} - -/* dispatch */ - -static int -ProcAppleWMDispatch(register ClientPtr client) -{ - REQUEST(xReq); - - switch (stuff->data) { - case X_AppleWMQueryVersion: - return ProcAppleWMQueryVersion(client); - } - - if (!client->local) - return WMErrorBase + AppleWMClientNotLocal; - - switch (stuff->data) { - case X_AppleWMSelectInput: - return ProcAppleWMSelectInput(client); - - case X_AppleWMDisableUpdate: - return ProcAppleWMDisableUpdate(client); - - case X_AppleWMReenableUpdate: - return ProcAppleWMReenableUpdate(client); - - case X_AppleWMSetWindowMenu: - return ProcAppleWMSetWindowMenu(client); - - case X_AppleWMSetWindowMenuCheck: - return ProcAppleWMSetWindowMenuCheck(client); - - case X_AppleWMSetFrontProcess: - return ProcAppleWMSetFrontProcess(client); - - case X_AppleWMSetWindowLevel: - return ProcAppleWMSetWindowLevel(client); - - case X_AppleWMSetCanQuit: - return ProcAppleWMSetCanQuit(client); - - case X_AppleWMFrameGetRect: - return ProcAppleWMFrameGetRect(client); - - case X_AppleWMFrameHitTest: - return ProcAppleWMFrameHitTest(client); - - case X_AppleWMFrameDraw: - return ProcAppleWMFrameDraw(client); - - case X_AppleWMSendPSN: - return ProcAppleWMSendPSN(client); - - case X_AppleWMAttachTransient: - return ProcAppleWMAttachTransient(client); - - default: - return BadRequest; - } -} - -static void -SNotifyEvent(xAppleWMNotifyEvent *from, xAppleWMNotifyEvent *to) -{ - to->type = from->type; - to->kind = from->kind; - cpswaps(from->sequenceNumber, to->sequenceNumber); - cpswapl(from->time, to->time); - cpswapl(from->arg, to->arg); -} - -static int -SProcAppleWMQueryVersion(register ClientPtr client) -{ - REQUEST(xAppleWMQueryVersionReq); - swaps(&stuff->length); - return ProcAppleWMQueryVersion(client); -} - -static int -SProcAppleWMDispatch(register ClientPtr client) -{ - REQUEST(xReq); - - /* It is bound to be non-local when there is byte swapping */ - if (!client->local) - return WMErrorBase + AppleWMClientNotLocal; - - /* only local clients are allowed WM access */ - switch (stuff->data) { - case X_AppleWMQueryVersion: - return SProcAppleWMQueryVersion(client); - - default: - return BadRequest; - } -} - -void -AppleWMExtensionInit(AppleWMProcsPtr procsPtr) -{ - ExtensionEntry* extEntry; - - ClientType = CreateNewResourceType(WMFreeClient, "WMClient"); - EventType = CreateNewResourceType(WMFreeEvents, "WMEvent"); - eventResource = FakeClientID(0); - - if (ClientType && EventType && - (extEntry = AddExtension(APPLEWMNAME, - AppleWMNumberEvents, - AppleWMNumberErrors, - ProcAppleWMDispatch, - SProcAppleWMDispatch, - NULL, - StandardMinorOpcode))) { - size_t i; - WMReqCode = (unsigned char)extEntry->base; - WMErrorBase = extEntry->errorBase; - WMEventBase = extEntry->eventBase; - for (i = 0; i < AppleWMNumberEvents; i++) - EventSwapVector[WMEventBase + i] = (EventSwapPtr)SNotifyEvent; - appleWMProcs = procsPtr; - } -} diff --git a/hw/xquartz/applewmExt.h b/hw/xquartz/applewmExt.h deleted file mode 100644 index 9a8b8d639..000000000 --- a/hw/xquartz/applewmExt.h +++ /dev/null @@ -1,86 +0,0 @@ -/* External interface for the server's AppleWM support - * - * Copyright (c) 2003-2004 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef _APPLEWMEXT_H_ -#define _APPLEWMEXT_H_ - -#include "window.h" -#include - -typedef int (*DisableUpdateProc)(void); -typedef int (*EnableUpdateProc)(void); -typedef int (*SetWindowLevelProc)(WindowPtr pWin, int level); -typedef int (*FrameGetRectProc)(xp_frame_rect type, xp_frame_class class, - const BoxRec *outer, - const BoxRec *inner, BoxRec *ret); -typedef int (*FrameHitTestProc)(xp_frame_class class, int x, int y, - const BoxRec *outer, - const BoxRec *inner, int *ret); -typedef int (*FrameDrawProc)(WindowPtr pWin, xp_frame_class class, - xp_frame_attr attr, - const BoxRec *outer, const BoxRec *inner, - unsigned int title_len, - const unsigned char *title_bytes); -typedef int (*SendPSNProc)(uint32_t hi, uint32_t lo); -typedef int (*AttachTransientProc)(WindowPtr pWinChild, WindowPtr pWinParent); - -/* - * AppleWM implementation function list - */ -typedef struct _AppleWMProcs { - DisableUpdateProc DisableUpdate; - EnableUpdateProc EnableUpdate; - SetWindowLevelProc SetWindowLevel; - FrameGetRectProc FrameGetRect; - FrameHitTestProc FrameHitTest; - FrameDrawProc FrameDraw; - SendPSNProc SendPSN; - AttachTransientProc AttachTransient; -} AppleWMProcsRec, *AppleWMProcsPtr; - -void -AppleWMExtensionInit(AppleWMProcsPtr procsPtr); - -void -AppleWMSetScreenOrigin(WindowPtr pWin); - -Bool -AppleWMDoReorderWindow(WindowPtr pWin); - -void -AppleWMSendEvent(int /* type */, unsigned int /* mask */, int /* which */, - int /* arg */ - ); - -unsigned int -AppleWMSelectedEvents(void); - -#endif /* _APPLEWMEXT_H_ */ diff --git a/hw/xquartz/bundle/.gitignore b/hw/xquartz/bundle/.gitignore deleted file mode 100644 index 4e432c232..000000000 --- a/hw/xquartz/bundle/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Info.plist diff --git a/hw/xquartz/bundle/Info.plist.cpp b/hw/xquartz/bundle/Info.plist.cpp deleted file mode 100644 index f576f7eb5..000000000 --- a/hw/xquartz/bundle/Info.plist.cpp +++ /dev/null @@ -1,76 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - X11 - CFBundleGetInfoString - BUNDLE_ID_PREFIX.X11 - CFBundleIconFile - X11.icns - CFBundleIdentifier - BUNDLE_ID_PREFIX.X11 - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - APPLE_APPLICATION_NAME - CFBundlePackageType - APPL - CFBundleShortVersionString - BUNDLE_VERSION_STRING - CFBundleVersion - BUNDLE_VERSION - CFBundleSignature - x11a - CSResourcesFileMapped - - NSSupportsAutomaticGraphicsSwitching - - - - NSAppleEventsUsageDescription - A process launched by APPLE_APPLICATION_NAME wants to use AppleScript. - NSCalendarsUsageDescription - A process launched by APPLE_APPLICATION_NAME wants access to your calendar data. - NSCameraUsageDescription - A process launched by APPLE_APPLICATION_NAME wants access to your camera. - NSContactsUsageDescription - A process launched by APPLE_APPLICATION_NAME wants access to your contacts. - NSLocationAlwaysUsageDescription - A process launched by APPLE_APPLICATION_NAME wants access to your location information, even when not in use. - NSLocationUsageDescription - A process launched by APPLE_APPLICATION_NAME wants access to your location information. - NSLocationWhenInUseUsageDescription - A process launched by APPLE_APPLICATION_NAME wants access to your location information when in use. - NSMicrophoneUsageDescription - A process launched by APPLE_APPLICATION_NAME wants access to your microphone. - NSRemindersUsageDescription - A process launched by APPLE_APPLICATION_NAME wants access to your reminders. - NSSystemAdministrationUsageDescription - A process launched by APPLE_APPLICATION_NAME wants admin privileges. - -#ifdef XQUARTZ_SPARKLE - SUEnableAutomaticChecks - - SUPublicEDKey - XQUARTZ_SPARKLE_PUBLIC_EDKEY - SUFeedURL - XQUARTZ_SPARKLE_FEED_URL -#endif - LSApplicationCategoryType - public.app-category.utilities - NSHumanReadableCopyright - © 2003-2023 Apple Inc. -© 2003 XFree86 Project, Inc. -© 2003-2023 X.org Foundation, Inc. - - NSMainNibFile - main - NSPrincipalClass - X11Application - - diff --git a/hw/xquartz/bundle/PkgInfo b/hw/xquartz/bundle/PkgInfo deleted file mode 100644 index b8e0aec42..000000000 --- a/hw/xquartz/bundle/PkgInfo +++ /dev/null @@ -1 +0,0 @@ -APPLx11a \ No newline at end of file diff --git a/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/Dutch.lproj/Localizable.strings deleted file mode 100644 index da1315b4fc9d3052df9e10f8cbe5692b4f317dc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4560 zcmcJSTW=dx6ot=oe*ur9R)AFDAf8c$qEZPVQHerni+Hi)Bsd-0!Iz}%13w*D-(KE1 zGxnqkh$u=jGv}OrS$plv`RniUWqDkh@@<)wacRr4oa=3)w~gLT^?Y4^*Z+l{{wUk{ z&gvreJ=W<5<)Kb5wf+d+M8<)>__Am8~y&#HLb6Gu& zFG!u03q_^bX(gtY5ex5k+_8G0oy2lfCi)Kx#yh!=;DzEllN58wr_W;-dhu};7{I1Q zcz1g&hxxh=rfdSIWUM*(LVCdcg)}9HpXm#cfoG+FNa(P>4eZ9!g)O!o zyE%2c-Ias?&Q^GN8wZZJ_F4Iov!Iis&}7$Z+O#D^l0u>S@M$I7jz! zL7&k;=SKQg;jh1?hL2ff-^n@iXAzc~1=K+DJoB4s0h)N#!Q;`Vk3K2K`cAzg*IBhk z3vtRjsj+85WVQR!kL7>2zSiGo(u8$~wEKs`U_$_;z*U z|Fzzz4AjD@{6zxU$9Zt{!SL%8V_xrW2j~$j>$xrIxdE{h8k$$(2;_V(8r9Ki=eX30o1X5BAb)7!tI8Q*gBD|^nI8KH|%TWo}&sYhfueT)Cit9KWuNmNGr`9peo=6)oc>E!n*s2V}|!x)!hk~>I9YLKgpJ{_85ix)C`y23*|<+P467GgPuv9 zy$GM~*Q%$o$Q7mSAVNP`D9W%0*54NhFJ}Z^SuI_`RO_UY_?){2WL#TakH8e0g?%rAj$m>7ry_ujJ2G z{xs!X$fl>#G06SyjGx-x$Ty~HW=SfM=gme>oTq|jKmAj4^wELTGp)m$qwF01H=3rV9gRx7c~ca(|ttYj&DmO4~Vk#Sk~X6jvMfqB*w z;_fcPEJ$vC+}f;=iPG>5po;^@(%owRXMU!V=FGwLnDW+I%lb@}9Ew4rU2hJ1lSD*} z9H%!i$Jd^T-&9ZLex~}0gSFA~-UZ5F%X+mN9w3hxIBMN_n0(Hj>YcvT3^Rt#>s{{5 zu)m`Ai&nWw(JzRq`GYOQ$nmuWcfG@0OA@l^X70Xda3`9?9KaiqV6}h4@lJD%HMrJx zdLc8hyDaD-$5VqNkRJHn%zejuhz)z!(H-#gH1Ku@W#w?%;C5C~BF8-UICuB)PyL>A zx-r2{{A6CVz5F%r>b|_Kjdsx<37z>4y{rdF*`E$ThnQhiX18TK254ZSX+st)A+ltI zakB;RZ2#uOT$OpsjT+RL6@C9AyFu5C$=Y`JGquL%)L{hsHT$LF;+fCY-Z_M?wHh_e tXL?Typ2oa$A`f$RuekK39VxoqJN&OgiFuIP=V;`~QPlTpN1jwK_y;kI3q}9{ diff --git a/hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist b/hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist deleted file mode 100644 index 4e7cd8394..000000000 --- a/hw/xquartz/bundle/Resources/Dutch.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.3 - LprojLocale - nl - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib deleted file mode 100644 index fbd8bae45..000000000 --- a/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/designable.nib +++ /dev/null @@ -1,758 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Als u deze optie inschakelt, kan het gebruik van toetscombinaties voor menucommado's conflicteren met X11-programma's die de Meta-modifier gebruiken. - - - - - - - - - - Houd tijdens het klikken de Option- of Command-toets ingedrukt om de middelste muisknop of de rechtermuisknop te activeren. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Schakelt het X11-rootvenster in. Gebruik de toetscombinatie Command + Option + A om de schermvullende weergave te starten en te stoppen. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Schakelt het menuonderdeel 'kopieer' in en maakt synchronisatie mogelijk tussen het klembord van OS X en de CLIPBOARD- en PRIMARY-buffer van X11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Indien ingeschakeld, wordt bij aanmaak van een nieuw X11-venster X11.app op de voorgrond geplaatst (in plaats van Finder.app, Terminal.app, enz.). - - - - - - - - - - - - - - - - - - - - Wanneer u X11 start, worden er Xauthority-toegangscontrolesleutels aangemaakt. Als het IP-adres van het systeem wordt gewijzigd, worden deze toetsen ongeldig waardoor het mogelijk is dat X11-programma's niet kunnen worden gestart. - - - - - - - - - - Als u deze optie inschakelt, moet 'Voer identiteitscontrole uit voor verbindingen' ook worden ingeschakeld ter beveiliging van het systeem. Als deze optie is uitgeschakeld, worden verbindingen van externe programma's niet toegestaan. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/Dutch.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 87b027728ff9e5e7d6c924a1a023eca846aeacb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45754 zcmeFacVHC7`v<%`yI1zg?h<-GdWR%*L`X;|p+iD1;YcpYk>oDiUFhfzA_~}0M8HN@ zieLi;#e%5VPytbjf*q`&U{~JH%-*E}zpsA%zVAP8lDq8fJv-%@XP!PYQ;Q1x;YfV^ z5kVA)APKTy5v+nuaE)y`!xswsgMo2Py`ii;KR#tNjRcFvHVsal=F5tN;{%`6C7V$Chaq$^(pZJov zUwm17TYN`6BEBac7e5uh62BHNia&|JiGL9bu@W1pLgGkG(wMX&tw|e_NIH^E+Po|LwDJHYYe6o<-NEVTs$gSiyvYdQC&XXU=CCMeZrK(ar zsi$7ewsbVzz%`an7^eJFh)eItDdMjVX0}UZ)t1kZ0Ta@W$A56vh=fz zvW&J&wq#nSSaK}ImKm1oEZ18M%OcBa%e|KSEE_BvEt@UdEjuiaTb{7&w!CIJVtLQ< zrR96eIm>y=&sM9|X4R~^wTiW-wS~2%wTHEjHN~209cUeA9dDg#&9Y`&r&(uP=U5k5 zZ?G=3F0rn*-fP`vebTzqy36{k^|bY4>nGMvt)E%HwVtKVAt%j|Et)b0hi??;N zb+-+)4YH-%GHj!4lWdc1nYN&9hHa*8md&tH+XCA{+l{tcZTHw#+E&@_v#qynux+_8In>_UrA2{dW5u_LcTk_J{48?T^_Xx4&fHZ-2x7rv0S-L;Gj;&+T8>zqEg6 z|5>psilQr3ltxNprIpfJ>7iVs^ifijRHd&nNJ&?+lx(FyDOBbw*C~sXo0OHxDrK#* zPFb&PP##hqRyHeJl(kVjRCCmJ)NwR)cpS|f%^htVZ5;`YL`N4#S4U6B zwT?cH6vqI^ct@5a+YxXC9Yu~}$Bm9fj$0kKIc|3>ciin*?bzbj>UhHOq+_RJkK-A~ z3yv2ZuQ*#MRW*%+=D>-POZ&jjOk7plgt8xND?qlxwtWjBBiGoa=)7eXzBI z@<4TubiX5CKBYdRKI{Bm-K##QJ}-ZzzM#IS?o(e<_p2|fuc)ue7u5smYwGLj8|s_t zTk1jeZS@`XUGjk6zgE9dzg53ezgN$x=hYw7AJq%$MfE53XZ063SN&D}P5oW{L;X|zOTDBC zny3*?(qzq|Sv8wx*A&g6IW?E&)>KW?bghaOr&ZOeY1OqFT1~B%R$Hs1)z#{0^|c0C zL(QW#(i&?`w5D1!t-01hYpJ!;T5D~zwpu%_z1BgC*Alcut)tdS>#TLrx@z6D?phD+ z8m*^xt=3EHttDy6S|2S%OV#>n{j~nt04+@$s14EvYeTf5+AwXnHbNVzrE3}5C~dSh zMjNY*)5dEPw29gzZL*fBP0_sCR4q%()_huymaFAyer=kTuN7#8T0jeGMcQ;Nq=mJJ zR;Iij(dP04nfzVL!;MG`YA~YR6G<{?+ z7@0IQJtY_jK=wf@h9?e9ALh>vkMiZ&@23Xg7@Rp1SW$D0jf&;|jUBEu*d zLPG^pMa-Xe+c6 z+K)HO4*+VcdFcyJ#-qjINU+fC>^i`87#r*QAt3=3BnlnTq^PtHuQ9ARFH9}9}TA`QFTSyX;g+4-xkSg>Q`U(Ao z0YaKEP#7c(7KR8zg<-;QVT3SJNEb4MQNn0pj4)OhCyW;+2or@#!ek*+m?C(EsX~^J zE%<~SAy>!~{K7OLUnmd?g@6zgiiGJxNC*oNp;(w9%oJt`vxParTw$ItU${=VUN8*1 z;WpYD*BjJ$)i`XtXMAORV|-_vGk!Myq@qMcm5Mc}SdWTLsMv~%9jMraihHT}JQZK0 z;!9L~nToGc@ii*GLB+SI_%;>arQ%^K9;M<3R6I__lT`eOil?dg2^Bx1;ulmrL&dMC zc%F(sQ}I_SUZO;#M54q(3C35U#7T*p5{;57lvJgpIwdtJsZB{;O6pV6kdj7}G@+y! zB`qjvMM)c@)q5D48-#_zjlv?~CeZz2VTrI5Lzf;b4rTd30;#@m#2?@!FlK1_VDD64 zL8jgeOM=|lZfhZRQ(e325uUN77!EEhU})bL%&-HPpBDXbEf8mwZ~ zXk$Pxyid3vU3@@zP*{WZXZTSj2z`hzP@D#hG;C;wZnVx|pG|68FVJ zIxajcY!i~Tc(1ha>D!}$PA3#a>vydf{pG!By_kXGo;^gu5w6Bh_rC3Kg^~? zHk%#(S-xxz6nFilOP35a4opih8Yo6pBTg~mj5@=Q3eO6Ah3AClg%{A)7lnPoQei({ zuS`tqgAw%S2Gad=SjS6dIM>U~uXxeGXpTR(7_Gu&2a-qn!kh%yKtfGt|H4JyEMHox zQNyTa2u5|hY6GSGY0mjrms9e5S^0(DQ2t@zb+qIS;Z5N!;UJs&VKiWdw}4+3`Lg`p z0;8r;ODALJCUk1+N$5D=B!G8?LnxGU&vnAPLI?Bi5#hZ|9SqXsGO@O;6OITS%6I*J z-u2_G>qb4^&bq9f{9)EUj?452=q=X3Q>=kTeWTVG-jGhwc6=&)hNiMd7@e#WJ{3Bg zC?N($3SS6cf*8(}A%~s9H^R60{a!dH?8Y3*@P=}I5e#v9@zg>Tgj>m6YJfHyVC)(h zP4Me68XI*c3=ai!L*BwdZ;SBo$zc=T1nv=|;h%(`g*8S~qnXjVEVxOwzcaG^L-^BZ zZnU^E*?wD*Y*Bw1GWwug2Te*hA3@hdx3HUm^Mg0jTdch+-c=rkcPjfy}VihqC z)Dvas$)S*U_Ili_Ds;f8@{cB1b+JZtlB^S}Ls(=7v+^0TE6iuHu2?TRpW7MN85r+c zn9ui#4TUvgBeAjA1ch)`)7t1@v^VCD9pd!|SUDUkVsn9R6kCWb#a3c#v5gULj4;L- zQ;eBLt1FJBSeN67bvO~fo!D3!?V{aIG!l&jHeTuAVP)IWL+m8>G+G-S@%3=C?p^}j zCiWJS#ALCLm?EZ%eZ_uae{q1ACJr<@8C{I-Mh_#&NH$W9zQzD!pfT7OVzhc69o&pz zU=+p%;0ZAi?1r^w1lrL6^)tHZY}6S$45qjT&A7~<;TguBc8X)gad;|`x4xUv)u=OR zbTAmo_Z5eHf%fg&k7#=Z{uV8u41Z&Vl=7P^V=r1W+MAExLXJJN{zgVm{9ePb$6GPS z?+f??xxPSIJch-HSPVS&GOjgxmj^SkI!mByj8$tpLoCcfUp~yQHD1+I;Q>g)Y54cmNq7jT7M&wP3LqY-56Ps{YKfX_^x;e>^8#~bs2Um z9tFD<-xohHMjK4NE(hJ!9oq3slmps&g#FsqeH}Z@+6NmT%{z5POr>ygZS9w+Io^#+XqtG8O80xu@KCmZs>Gs8r9 zc*K;;mO_Rzen`?u1}h~_h>P;WkTIPV)gW3_urSw`4;*AyDD=92zem7iPDzg%8O5v_ zamkDcdB7fKpijVQAbT=cMAVl4519lB;&*yEx}0syHfAxp%oyM+D2mP+GM&uCteIuZ ziOw1_2eXFEHRfKP?Qlj%j6Z@+mGwLePR;TZ;n zU*Sm@IjIN$m_{em(b6yMA--asVW2j(j?7Yd4*T{Eo67wA7Yy*QKuO9qvu1VaH|hyjCs zAWjMj;C9KFT?9`AGh<-@q(-e%?z)M#WlYEqlQ=ikA2OXlnR?Zdb}|rupg35JcGQA# z6aXX3@)Z=M!*;?m1APA6ya?>D^x`6>y|9XFz`BBAJv&$&83K#J9|-p^_GkMrv0^P6 z9L$9mroeW7>eSVjbw5$3}o1@b6EFSX|SX+ zVw6#nAuZjT<4Xonn23pDt=<)o!ZE^KY83}%j6XY)2VC?I`OQXvG6whT zaA-l_05{7s^(IlWV=%E%DB~>QEe2_p8GuAyd+Y{uN7KM#g9cQv4y6?Mi^3VfJ`5co zAWzBTCS~@WRpbq@U>uaLf((Ef`(bYB0xaBH6=Sht?6)^b63idt21BqLFXP`ryWMy$ zZlniLLRI(=_)n80dlc?P%#lCQgyl zUeHVOC}y+S9X4q}S8#GLi~%4O zeiB^4F62arJ6W;O1#a2s7s43255kA_~S5Lx5MT3+wp!xgFyZ;AZI7W&TNYa5ednck2SWwE{eEo!Kqk zrJu)4@gbtVc6817fIwR^B7dVc-e@IrNk-LEnHqJ||Wd%{(97L$W2TX|M z!U(1#V%+6QFm9lvry)@B8v{BKu_sb8ph*&3bL_`h)TH-2<|Sw_iINmb`WTBj_%K~h z_6P!ht;B!4n)E(r0<%Ipqdjvm*oh$6`E5OO6S}nZBzBu09rj*Q?@3S=N@dpush2t6 zTrrlC1-f49Bc({G#%;!9#xB?=Qh#ZHlqL<724Rc_OGBigp#LYO;nE0cBqGNdxE?Ky zA z{s6yJjE9ZenxMHU$^Pf)AweXy^o}AWumXrAg9c zDN~vvd8Mf!jw~r#;+{-2g;N0-2c&6HFvR3_ltqNuoCUYxEC{Vc?^ z2to>Q%n8*bsX1DYA6+-@GVV0)2i>*jCTcoQe;Ad<5+DwthOiWo;2o|5)`vT#1tmu! zA^+6kh%ap1XDmM~&19hyX_hokGJwqX`3UB$mu5?Iq`Ai3#tP$}_0oLlI_Y|2rLoFb zZQRQh5mq8=bxB!VKBr{xe|KSh_=61_ay*8oi5AQ=UI!s%_8|m`3Fr6yLrh`$_EHT`(Rr3%Ofb0a!lr>!iDd z4p5DymC`b4m9$#AOS(_GUwS}#5cI(zxO*GdAoPM@F8dUF)_BlZr(2D+#`@9b@PPra zj)UjN2|n5$P`@P0T@^GS=<&H z_V+>e_Gfwe!$<7t&wSsW#P*3Ec*1l11(#_xd+5LUDJ&>v?Pfm>@p6Up(+A;yd$fOH zwl|es_rUezS>C?sxbBAQZ)W&M55;woAdsd-kv=1FJrLK~#rdO>aorZz+jBzwM&Y^_ zu8-#x4`A1w1VO4bCof|RuIu1>aDH$Qd$uvIa{^O`4#PF-l5Wllr;NvSOI+{E^QEyd zYl`cyLcx&?rnMl*YPK)6FRsxJxtl+dmJz*P6rPdJ?xUUZkvVxOtevRK;+p0iI2_mD zMV98ig8r;tlw%oO6dBIS#AnNlK*3N}R}!ud_` zkuX~HBIX)I^wo#>YXAvb9>fs*h_bS)TtpHI@$#SrZSm?4r~qCeK!g#WWe_1Gc*VYt zJ;9!7hp24`CFcOP08g@#%(7UN*L;$d62yyrVkMv9C1*uzY>ygK8f-+&*Mo@gH~2me zS3`u;{LU=2un?b9aJLxW<>I<*Es3C{M8rf`Yt1&W?^!KpqqPL_L^iL>e2(?gY+DN2 z96*HGjHmFv%QfYAxg%cJ$b*rB70+u60b;h$j^FRe@5O2@?K$h)*^*kPqpf9oUlwCA zEWQYQMNo19ddQ;R3_oGC<`1+xKl*ejHhGPA)G2ORRJ7u@5owb*q1Wj7f>5SE>+Rdm zy*lsNT7u{3Eib$#c(&=g51=fwjh^@9rzakEy*lqIqiT+SSqdmWs>90C4X32+N_2y^ zSPogCq!3nG+3y)en6>AkT=P>Y#b@z5j6zubj9Mz= z=kLsrGV>!Ra7Ue@qRE@){q8F=$A^ub@1~(Y4HXu&jej)$oA?d!+v0zW|A=FOQMM=k z{rGR=--}<1Z@z{g-6`#rc1wGtHw6zq?U7!TcJr%kNH=^|daUHR@-xE3arqg+=rb!i z16c1PQ5q~eSIW`^8xK|v8w~~@!{IbODwT0mmWCKE|FagAEvGyOF-M=zQniVipxV^d zYG*ZB71c)gO;nR`)kJNq4pwX8+W~3|HC3%!f{)mU72pn|AVztmv}p3ZacE_X(pdlU zF!~|R%@AqD=dx`xpYW99e~bhA%g!?dZ}X!ynLH#`XAG}=gv)WzQK-p}+!r<)y{!L+^uiOs8#qOt+8 z-|cV}KZSIT7ll`lKJkw5o^S#Z=yTy~c%^?5eiud2Cc4F{Vr{V@QkmNzM%_*9h2ZjF zailm-oFe9m0kK$|C*B|~74H;Ri))d*{Ft~~d{KN2F|A|b$KqM>2k|!|Ap%nkfs^K> z1L;PR$sm$JCXrltw&x%b`8MVRfc>?Lya*@mdobR=CKn|^a!NH|;x4-$#5kq5}5;2Xp z))%brB3<{Q&1S1@Yh%0CHq7R=MQn?Ze!C5cw})(>+kUY-?G5dTNUa@j57-yjSJ=1M zpR*rA%Ixn*mTiV4*t7D!dia7=Sh$4bX`$IFhBjvt*) zXJe#}j&S;&hI6I!QRe~Y$If3}ajw>`6xT#ovFkS1L#`KG$6PlC#C@B4 zv->6YNA6$Ls%m>RP0d!XSMODKA?@=!Bw{v0a^z&BE3VL<(B9U*(G|V9o}zp8>-2l| z-TM3b#VS>+BvctzrLf8^Rkl=lt;(4=TU_(FzH!-c3**+uy%hIpRjF!|swq{os@_m_ zL)Dk7eqPO5twpu8YSXGMt@cQ@gVoMekE`CP`snJjs^43EZ}rnPq#Dg@q}3>>aeIx& zYaFfdTh014lWY2FF0Q$~=AoKD*Q#49sg|$Sl3F`zy;tkE+Me2dYviAJ&oU zw5~Iv&dfRw)OoqiH+8Gky{2wf-6eG&uY0^6sn@#R$a-_@t*`fHy^Hl5)bC%vsQ#+@ zFV+91L5&7U4W>0%-r%_gXB$>+*sGzx;qr#hH~h*|-IMGo@T~Og_nd1~uhD=;#f{cB zI@sv<#w{9;YP_KFj>aE0aWv`HB&W&pCi|M4Yud2skf!sRZf$zJnbNFVv%F^aG<&t# z&&^vjAJhD%=1(<0)1p?3v=(z(Y;AF}rMqSCmeX6VYk8!VwNwR6{?^dnb@NTzsJJ8+Iy-)Y+yFc6g z*B)JZM0z~lh0~l zuJB+E;%&3s~tWy+W-Tc-Ts9p+u< zy*M>(>U~qsWu;`@ll66WQugxfv%YJ6cly4}xi;s{oHM!C=H8WiHm`Tyio9?9DgM>| z^V0@QdvMy%`NQ%b%D+@FreH^*y>Lq5?m%21Kd?X8AUG@dZc&?}MMbBl_n3b7^mCy> zp-o{iJSqHiq#BIUH;Y>q-&p+dj9xSDo$<@e(KDZzRb^IS)|<0i&t5$H%Q^k#Y@934 z&6>M!UZZ(*-pBKk=dZm^yl(1s`>t{nmtA zSKfN*ww&7z-rnW*2kx-m5xC>%vfj%czO%}mbME}~t|52rTJBlCWch`=Gw*(FMW+=H z-s8BZ_@2`%2d{j3Rnt{>tombh-s<=6?Q`#r`|91d_`aX-&%XcA14$2Tf3W_8OCS7g zjepGtYx}R=wXXTP73;0*XRQBX!{`mKZtS*k^QJnRmTvm@!CZ{AXG z%k5jq*5a*aw@uvk&LgRhJiWc$_O&}|>{$A!@M!U)Up+SEv7?UKi!wP@5D=EUplgX#QuXX4|@5)EB#)1>DA;{pFeQzfoEUq@!Ia! zyS@I@8(rSm^=9WccfQs6t(^zE9NhJG*SDX3r~5m5-tGDBbBB5#dhu}T;a85N9eLxu zq3^wWbkxxg-kCw>3sxv}RyKOZ`O>4#f>to`Fd7dlGz+P{8Iauhkxz% z>#M(w`R&W!XZ~UPW96T%{@nA|pubLDD!g>b^gcZyv1n$gvuB;OQ|M6cjtTda^mIl4 zJabZRl%C>R^)t*%28T2AHTCoRkZOxBQH&WfVjtirWB-mr2=9geXoB<{bC!~A++F%S zSq6oCpY#$Oru(IrrB|d^OM`)?OB^xF;RSG^7&VV-C;ZF^}Cl%wyLl0Y16% z-nS#B_YJx*l9e@z0IT6@D?{oO6C8r;%z<)r5r16BYW-MHLg-DeO z#ya{P>u7l|_QuKXtbUecAnq)V(T&l*qht_(?vb_G5f_H#wYxh#{tvZbUe zyN#!fHDfY@h@$xdO4X{2+RC@Q zDQ|gmwETIr`~}3-qoh?@L8WfAl3SbI7#!ceOMGJ2gw7qib`*xLMc zpsIbS>ZNhHvA}Uz6m^n2n`IA)Z{I1gQ00hC_h7LK7B6A* zawBeBV@7ij*I>~MOpftz(}pv7PzDVtldr!R7Ep3D&*Ok`h{fb;Abz(Fc^&InOb!_y zPb03k5%JE4k^Au>c}h-&V!snnzTL?3*vjI1WIx$24`7)Y@<4eI%f?_i8S)UkhQc&? zQXYWMfQj-OM3wEvYlfi9#=DB~y72~Ltj240dubH$G-_VQqlmkOrSfQ$FjgMN;)lGp zy(|K@PNCu$D&Eb)h=zcnnmae4GwiHRomsf66AyeL-gQdXDprmb91g zI5}IIAp3+`a*muU=gEG!>UK#x!ab2t+JO;7U{8lZ$7WrLm+D&ah+k zA#ubz8v(I0l_lzf;$)C-+<pp+N=ye2+hXKQBTm zJ|vaKa~(rW-_#S%e`|7PaSC+9(?_dYqJnwLtlqkvwE;Ha2#9XENw%C` z-v^nUQH&3aV~kqgzcRJ1<NJhc{@)HVn6F{r6wVTB*cyd?p6chs%19M!vyU4mN?5Y= zy8Ikt$yF@X87DpoPx=;lAM({VBXj)=@TfYJ_ zh;8u>7#|sRjFZT5J%*IHM#hKH^g8)X`7NZ^oia`vtV3v`40to)vQRDRz$VSH?SYJ6TP?VmN#T*83{@|1bu z8+ny{N)-S~txbwXn2E*@lQvi$i9S*}+o>MQx{3PowgXRN4ksl|x6 zA`9z3Ea;;AQ-y+R8DH>%hWHDn1rbX#m*~mA%YSg;I-FssbdGPr7k|d)IrvhH3fTNN zr~M_10O~69*e3Z>>Fghs?JJ5@ob|%D7Hf1KH!;4(tY^zOGP$%W1eH~o^}1)^aN_yQArJl!qR zTU=@EEh(1ND7Jqw{`kk(mSa4;MD?%?MHhx$mWKn|zZ$1qKXH5BT zs|}VE)Hk6L%6>6^H&Ise3hO;E%c9uH!BP<9g7~;HT~{(L__{Azp93ht1}x-hzBjB#2d=fqY+q ze;U_lOx9g#(F~eb35i^7sK7fcH&_;$n53diMK?obZOcuToBxiwYguerA{;DHdZUzQ zxg)0ZTJA(2?<$K_%PMotHf9S;>Ikuw+rhwasFcV7p3N7+mRRT|G8P$R(Huo2_cM52 z#_*UJNAi@Ju*x%{sA!F;C{%QTCs?Rxi;i8Bq#09~y~7yb+_{~xOtKr#2kY1cnPD9h z=FcBLH?ebkTTj={@$-+xtgq6fDLKz_gY=^1LCYF+YpwK(Wj%0b?4TlQaZu52JQBw; z05bKQRA1@9%?yUJBc3__th~rnuQ!CXJz)=4ITaTB`T7%fJv9ieG#}~Jo*9tLdA^9J zDC95nA|JY}nD&?@<@$;WyxvGS(!NxCD6nke+JmcJB|FZtHDxw7{vCQkQe)JBvanS6 zat4&;MIfCm!+p}ilH6fHSq`v)rlQWp1{JGNu_^`{H`v`cGcC1zwrDil7G=C)c@rW8 zv}-viEVaCga+l)C`cxdvEva5q?8OYLBqmKt8DnDC3bLfm-=8w%MA=Cb>u8xt^AS3F zs$54uw_vq8Cu`nYldhAg*eBNACQ0*OV04WZ$DjIpMxF%$FWY`K6MU6qlBj@2=d)&lByImyqbcEA^z ziDgMJ{8%y@!{_)Y+9Fv+6%qD^wR#L;pv%Vp>TI$$LpsMxRs zbCva}|G^xvCZKtV<(k*c+P(4|NTp)GSR*k9_!Ph#==*o)0G8EQdsiM#puLefoYngl z78kH7kR9^-@&m!5Fyr47bG-S!%&FY4uSoCK{#H1FuyX>~N>eJf{KxcO*_UJ;iRPv= z?8JOYT;jor1ofGU&8Ud6u5IWYvM3CMum{lBx!ds9V z;j#@*lN@#{GY9)wu+3Krv4+Q2fyS-5*1Q;!T2rz8zlo#}njF3&lG;$QZ6zdiit4>A zPyFw@%dEMm@%qY0LdV*fNUCKb2}|k%eqZs-QfE{NvY^`pkY8^aW)+ZS`NDd03|aA1 z?ELRC1gL6OuByevt94a*hLAwTjg%#ENBq*7vO+;C0-3LO5tWY5fprf;@*q(p;*^wC7B{ z{?K&zwL;u$%NFY~S5F$ZT66rq5d0J-a0c7Y1&(s))GUF$q!8u^Vz>Q#-xKZ-<%^8i zs-iH~>NDplU-V%X!&faJk)L_tP4}5U&<{o(R)4^#i@JrQ6`1$TRx(GMch+Sg!OCKd zj6Pq|7=-oAYFT6gW;Pl+CWE`9OZvsPX@QQ*`oXWc1KNBF3HY$xSwpeAO!O989>-Q- zP_Y|R10i~zreaSjK1IddV6l6sxQo9(L&a<2l4dc*i!CW?gf(V!=O%W+`jU=aI<=4Q z*gd{WBKN^}?gDG0V<*@clc6rPV@qnyZ6n~h8}1GG3b3Fm5vE6Cr}+7B{UgY*8aYBG zj(_qHT>oP+)@LxfQOCda8`iWjXwJ1vOJyH+a$lYGJFK0x9AqkNt5bTM^#`)s`XkDN zE^NJkP{j(A&Pv{Hy=bmKldD;O0_p$EbZhHx(mv~9@~rhw>tQS)+95n?6Iq?YlYFU` zxscPBjQ|V7B_ks^zsh_HM;9FM@#4$uGD5`x?0MzO=9?XbsW_gB z>|l$q2WD9g0s;t~fQuBu24r+nRJx6gCmR*PSRCSuc-s{s1j8n-Ct3@(AK|i|bu}^G z@g6IBGJkJ{t zEY9{s{L{dv!W^gh2e>N6qtR(Y8yY;=ocY zVpSpndTeMDI&*(Tr`XV50lhY@1iiy!=p9gk-a%3HPG%0K2*+z-FxPY}WqTu@nS477 z?yh8^Gvh<10&LO!J|pRBk#NTBkY3e1UQ;VsnpgmFp`k;RGGc*2GZwZ_W-VfHvr}rL)6w zu>9;ur(#Cwxc0iNkIA|!=3}x&Ob(P->SG$o_|Kd)c#|;;*bqhePIg=F9g1>}(&-UX zRLYK8cy{5`AcC+Jbe5m1q8QYu)|X%sqB*{Q+eK{M3QWzf zJf_2`ILaK;1gHhU0yxXq^k)rX6PEeV7@@IY#pf9e0obT#rjM=I=aVFX@psPZJ9FoM z*Y2@Zo>go&tT*!jOu&vH%y_1`cJ9ddB&0N!gJN}{Z4vgkvi@Yd*|ylW#I}@6tI1Rh zQgJyIHyEvsN?6%zyG^*!cDwBk%NpCAmc6#+mV>qxkb6-rDJl)2Je6u#+(S5t3%!XD z%v78(B4KnIpH|!lXIpK%7urf0LAuVi8k@0ItW92STZ7uxndKSpQ!&7c%N&ttHh-f) zAChmiJ!E?r0fj8vR?7_rwm|e!(P#W({6$4S^I1YI_}87iwx=+rPc!O|g^F#@MLC;+ zc(LiUno7kiOaK-#Zj!`Sh~dYiDINgkPMOXakHjm>Xxl@vOf1{WG3MqqGpwkX&3W6{ zL1sv?$N!?6htN%EMrFErtWq~~sF+*Q%~?s&Zbq4Sq8T{o*qxb~ovx^h*d8un;-_Q% z^p!C2yeJdzoyxQj=pPZp9ogJ4oy0ubA;&Y*i;Y!H4;?fWZgiG-k;4&hDAN9afuV1K zq3_CK$l9$EhNe+5KZ>DJ>DI|~uX5H5P5DaFZEFc)ev2W-UxJu|C}M6-k7{IGfH9H9 zb_I%Ne*j_aJ^iB!8aPP>{Vb+Yc-lnO3|u5f)d?`%%WhT%?SW$yd=-EEQ?LlzqeSK4 zW%$yVQT_-MtCi-sU9!uibDWArRJ_ZaRckkF!^`SF=~Q*Ra>L*Rt29Vu*?}s5pm;*HLi+6&F!)2^DW+T;d;PKiQ><&U({NyS+)M8KgryaMNlHz!C} z2ru}mE+3<^SB>cp_CcopFr!p|n9cNuW#y&@)9Sb%KN}e#o)-D$u465j%w_5X*AXiq zs6<_i6o=v9h^pp3s1;Bim~bAJ?itIT#?(p~oHo4Au;h`c?bwasBh!W?j~v%-YH<#7 za5yZcCb-bQMQEdeqOj6f?|;078K_$(-ojm?if2 z{loSesPgX0hylmF(L_u?j+hdv2nI~sm52Np&BVlc)O#FZY2>ByoNuwk_KW-X$Y(8D zjIC>~#I|pu;?1QP2K;i>=8S*$gyv)j3o%A#bswx36^4$sf5v#V5DR={g=A# zWtchg3GL68MT~u4Wo8cJ;g%SBnk3D;qm-FH)_jA@Kl#bNCd z9DZWr@U~JME@L>HI@%k65y`SGfFR~V27aQh4~7vSDH6 zk6EkOWXo5I+ZN#~Yk^~jM}RE<#tvR7da;gZ;+Vv8yF2tb-z%so_GiJ@X? z>`-FfDW&_4P+SsCv%6C_j2X+hxjfyUkByn4nq#)2bj(&=-3b!mM=FgM9F%z%;P;As0bo-eGtXD-X0Ffl4T8P?3pP__v?9$=L9*pl(Rwcx z?~9_<)Loblql+2XW!QvWc?E3#Sc1(KCN@`>V)K56&B4*|Ep#{5Yew|3o|_?EXmZ#r zmvK~IsJ$l@3HJm6;r)9v@UXxUU2M6Z~`pemeah_<4|uYfA9LL^kl#y%arH z)|fArpeM;h&jY3CSi(N&gQ6x;0tVM%Dp4SjNVP_y~K^moF*(um**uiZ#R-Jb4!wY!|*S`;ldO6a(&!J zY7cj+8Kg)X-p-qi%tk(pY&Jzb&=vKPlDfD&iFs<-geu7P!;ynzLB5+XE22csAZd{C zDn?o*q8q^@E`IWh(I1m};U9d%|Bi>}GUGP`n4S55j2|$)t{Y{Xg~(O&wD^13*)2T5U_Kuv;E!nmaQ3jM9)eJyhpAXTghPgyuesvT znuA|PFTgNC2`eq2WULV)DMgT{*JXwfNxI6ivO}mq zYV$ahQ8ER0Q1Q{|5H?Ag&Bb`Bw>BY~3&~XeD|<1O5hX+UKx`2NJrlpm9Px zix9+u^vE7$k^Y4EvOf%{?9cphvyd2x9OsN41~-`5Ea9Z%*}-g&s)1IFU6im;BB8FOyEx=+q2MHF>}!#r@S5m zhPQ1$t4!nIS1jLNO+gN>**^G9UMX!~=_9OxC9SQ{K6`cLgV^(MG$1pWVTbjv{PR4o zIyAfD(=`+%+?ut+8h@QVUCVr$B+JpJe&b z2^H(9t$Z7Uy^V?p4wk|uR)7^#l?x`UflS|bSd(f*g1Ol4IkR+m#O2lkioF%=v&%YT zbfO~Guuf)V=$(q~usQgV=z@w`#3L+rhz?>zSdQWmD&j~WZ7N%~&M=(=e`ur!r&x!@ zVMUMzn{x7lqSy*rq~Nd<+k&C>_|jJC6sgiWZ~~UYi8^vw9q;oxbm%hvLSz?3)7*NL zK#RSFI@mRa;5ZjTMTAw*qWbVD`a)QXhg~=$uvsA#lUZMQ(oC60lTcAjJlcg-bOMh? z=TbN?II|2`Kh#hkV0~E)9|CMt9v1JE0T>8?CIA@108Rm5Jj)Sa3D0Gr`U9#Jpaw9g zk9k9Du!8uixnyht8QnZLT&Cm!c%}oM8OWab)O@Bmz@9>yOu1(cV~B1PYKeb1IsqP0 z!_Qem*$U9o;z(_DxCg$@W*z<#09a2N3|B@fsSCg)08V3oX8|~IPB2(l3Hgpx!1Z&W zZC^9Ma{&CCv2jP5V<7BBq~=Sl%SHgOQ~h4YNW9XSypdW*)AyI~gsTC?e82VB5|ApQ zVtQ#h7__ za~t4zTz7;Y{iCw0qOl@+FIyAM_JF|3Q@$qJ;bSXF9eLqdE}SJ@{d%!PzK9oP}Q0HJR#ZsKB}fWmXxB3VF{(Y_FjNz804xh;zt zI5Epjv=4xnJ3+i-7+QV-S|B>hz?Yxhjun7j$*}kv1OMw^#^O3)asAb>_&XK=>jCz&+>3qNNLZ7KLPX! zfLbsh6+l;`H&P$aX8>Kupmjh`3_$ExVy&bB;JyP~5re}tV5I{0GyLpai%`ao(X`*Dw!)H z+1ekFRyH0@8EBoWf#w3##Xws#P#oBK#Zv8Y0F7gyAqLvuYM|8sT8n|sVW6I?fmR1- z0|t5>18saY(3${k%0L$}P%LJ+a$9Qvv^4`=z(AW{1=NxS(0HKrF9zB2YLH(5vI{FT zo`J$=d&T;#TLIdWfevS&Z7YLvSB^8ud2ENi(wU5N{#sxs!`N|o`4tb$!x4V3v-7ra zkl#7+53x1&F063$lh_6)_h8B(QT?#xp!FxqUdtO+kL7^nl(o4v(Xz|3&!*W@tle#` ztgEaWk%)Vjb*nAUcC)-3n^CO7W(?820+5OHwC!QrVPqo>!}8srZL94&EIz%Fi9S2Kd*>bPm^x{QK^e1BVqeR zrIT%`r4gJ~%`F$K0vuP9;JTWrj8K+2pO;!gNT)ldJFde)3$I|~rasu1KSeqvrAog^ zEu}(@(n*3NaCjIyoNOG<=$d3qF{VQC zDt|WCOq@f+c#GJT=QP7pKc44%Aw3xci&@`?Cn@*idCFC(H~>kWJX?7PPgowobCx?| zgpnjj#mUC|;AzLOXF_zd1)ju}g*+~nTl5Q7Z9}|)iTjaA!F4UZ(XBA(3=;RzkH zcuvPWp4MUT%#MXTx#MP@-*F34JP=YrUK_TbIbgiOqX#Q_00HE^8op*8MgXZj0KY2B zeft5N`vP|kB4=b1+;iMTxD8%H_z5V9hmOY8pYOPwzkpLMZon2qw;2!P)P$YJF5_7o z??6eCaUDmbA_mm_+JtT=dtN$BH22nB?#2y!|(>p*x0+Tjnz5~iTEGQY;@ za2r9Tzep{~i&7#mwul{qv6$h>gm6jhB&=n?B(m9Yj0JP_vu5z~R}z`)CFZVZhcIHf zFSzyQQd|z~Qj!uqyJLe(G5sC9dY6k8e#E$u6<)Ps;XKA&TlgZjhSyaE>joacHb_si z!%50+gTxLd5zd&KAi3hq15TJBzz;jYT3&30w8w=Qhq)P&s~)bFlCv(XLS#@bEHA_& z4z{iXwxxN@YuP)={5S-5N(%N$;-{rh(i?1$t$SEPNiSFiq?egS$l^;pZOA;H20ojK znc0YuGCzqgWZJW?=B^gNNbKfDSM%6%=TmyE%k}o}_O(n;6D#(#axaq0_kxAd8MT>7 zDQp`jws_ARWWGX#6JbZ5-pb-<<~a6r9$V|WmXcJ=B%FEbN^&K;`d~-ZR99bDKW2d8 zg@b2Yu!7q26({{Gp3c%fP+U0G7aEqs&jIt{+z~9}#V$FSdZQ~mU@m+#k6XeC)|E>{ z6f`&!Yem?>Vr)YvYy^cBK9%9%r^dm)@JLno|RNq#zW2@z$&2T_`eIO%^I$|kh)9>p_{SjU zA45v=LwG$bFSn%Nm4)lA_89%^&ULIiW zkC^w5_@9ga7xA4b;~QBnAbd3pui_NLS1RW?XYt(%^lT-5 znT-F|Aow*!JUeqZ(dfb7&1>_$oxwzWI-r<{Z^uPEJ43Vdx1GU6JW9Hph}XG@$2-;` z;a%hJ5b?N%!xZn3Hh7Qc@56cctyILHgqT0clDWO?%?Hu{3toS*4}SIrvkK}&iFhyK z;vMgExWK=Tzc1kLi}*VP48DbU$5W!l`YxV}w4iHnc|G>;GylrA{ zTiDxnbhT8hL%8GKH<)LpSYH6Kz5rsKF=SMTuYUt_RQxu?xzmsAr(-^h? zUn~7vS}9KZxCW6sBNT`Kj0`o$b7zgZ=LFuowL_>|tMkozvMF z6-B~yzAt@5D8|_#Glf~$>3xnc7dxuY7p@bo7Ys%U|G$>}|E-p6*bTSQ*0|oF#;e9* z<2~am;~V2U%#mP;oC6pQqxBRD6kwFH`YVDq`ZJ zBX3dhZ7RM?#luuQO2rSTc$|tSsrV5UPgC&|Dt<=AFQ|BiieFI?NdZ4o@mDHdqC})b zqQpXpjS^^KPDHZKqyq|KPc7N>t#QmxJGxz82FWg_c&$!RJzjA-={>J^S`#bmd?sM+* z?jPJgx-Ymdx_@&2?Ec05tNSqxMvn85Moi zerkW5SCOU;R0rYoiXrMyb(lI_9ifg?)71=hlsZ}+qmEU_spHiN>O^&tI$6zBr>I_a zs+xs8?tN;Gnycoies!9fuNJ6MC_L zcGJI4y(veFMs<_=kovH?S>2*;Rkx{+sN2;Y>Z9so>f`DY>XYhD z?7;t&`ZOiODH&m`req`~>6BzpGK!MXl#HQdEG6S88BfUsN+wb=iIT~bWKuGP5-%lF zDaoQFn-U)-Ih5p5l1GW3l4+FWQ&K=lAtg}lf|L|dGM$nTC1FY;loV4kgOZt)%%WsA zC37g5OUXP+=2LPVCD&78P(mre@s&4FvXGJ+DS=sa6D2oOvX~O+iAyQDg_2t-xs8(B zDY=7^Wt7}W$z7Bzr{r!*R#0*eB`YaeMG3lgFD3U;az7;xQ1T!pYbaSu$vR5bQ?h}Q zjg)Mn$Jp=3KHJ1Bv9{1_#VQ}P5QPg1gzl3kQMMG26%o02`0 zJVVK|lna)6T8D0!WdHz;|NlD8;1NXgrj zyhF*mlpLbuFeOJQd5@B#l)O*L2b3J6Vhm?Fo$tg-sQ}Qt-pHT8CC7)69 zIVE3E@+Bo_C^<{XSCo8B$v2dIOUZYXd{49`=&y@T^$*+|B zM#=A#{6Wc|l>9}>B?^;O5~)O}BvDDGl7&iED%q%Hr;hM>>Qbp5mFiQe0hJn3$wQ?^RBBA6CRA!lrDjxW zPNf!9YDuM5RBBD7HdJa$rFK+m4{oDda3+L9cj<0j)pfm!9;a8;tLfGC8hTB=wq8fC ztJl-(>kagVx<_xMH`bfzP4#9tMWTh?Qg5ZV(c9|n^!9oOJzh`H6ZMXIC%v=YMenM2 z)4S_E^lS8<`n7s5y|jiqD9?*k&kv?4y z>0v#h7wa?hnffe!wmwIntIyNt9^~5=*#pw^}F=t`rY~p{T_X#zDi$>GcxYe@7EvDAJo_AYxQ;ddVPbwQQxFLq(7{0 z*0<i=k(|G7xWkPefmrK ze*I_p5y!=_F{>^T)j46f5~9-&~z`7n)f zzF7h^rrywl#zTL(QMd`d%k$QsZB22aNq1X6+gMwUZGr7>+YZ|sIML)o+bP?}w$E%| z+P<=VYx~~zgYBa27u)Z4*{;JYSMtM$oQQ5D& zs=TherM#mYR*ovil#|LSies!n_e>ZcqbBuC~ag1|Ja7=P! zI`R;#EO5+m+~ByyvEH%8vDah6?~Xqmmz=WG?Tm9)bJlRy zawa>6IY&FEIcGT+IB#{Xc0T0X=G^Xl!nxDA%lWi(kMkMlUgz`97o5kOUpRkoX|4vY zwyyTBcvqsUldFrX8+;EVU74m+yQryJA`vzX1Hg$=eXy&uX7vjTimz0@54DT zTiuVicetN%?{~lEe#8Bi`)z0dzj5h*iA#PNQojXcb{oj+4v^IyA&G}Tx@JL!Mj$5* z$ioL9<<>#MZGv>$t-he{Q}?T{s0Y+{)#K{t>X+(S^=tK8^?UWa)DpK1d_O`))ht|j1U5ZgbXqWWKR;Zfw05K;Fxpb8Mvy}s#WXWtFESw zsCBg3YTb3!ZQXl4-1q%?&Wm&Yg6sF@{I2VZ8-p8%n}C~$n~a-+n}L(z+yI1|o-v*PSHC(e!Y;C#4tTqiDon~7VATZLPLTZh|#+l1SK+k?A|yNbJpyMeof zyN$bxdxd)wN}JgKCe668389>s6v~)_P!^Pga-brV0fx~0*M(-^6`Ei;G`+#l9QHKqdDx4vS7C4P5qKJ&g^$6H!jHj^!%x7c;?;O7-i~+TUHCS< z7w^Nj<2yqJ&L;d8{5Jd!{4V@%{9gQi{IB>E_(%B1_^0^i_?P(C__u_igh_;N2vZ5u z32_7tfk#Lp)Ds#B&4d<$nb1nG66^#gVG&_5VF_UwVL4$XVHIIBVJo4R@QCo3@RabJ z@RIPF@RsnN@R9JDIGh+xj3m;DQN#(v=|nCuo+uy+iPgj!qLElfY#=rfn~5f(g*cZu zpSXayh`5-zgt&~jo_LXXnRu0Wjd+82i+G!Omw2D}kocU`kJO(OI#@!&kq9Ibi9+I# zcqBe4fg~bHNK%rDltyxpT%Kl|Us? zDb#RkB$ZB$qOzzl)KS#&R5q1Mji(BzGOB`_LQSRCQyZzxR1?)gwNmX=KXn#0NL@u; zLtPirh&EBTP=BGGqn@W;q+X_8rCtm7ghSzT!Z(EP4L=_KBI1h(N*X5@;=Qj)R<{8{1`<{T1;+CO-w_KFQz*NjhP$sL(JNk zT``AZ`eJ^I`77pf%+r{UvBP7DvE*24Y(y+AmJvHDmL02#)yCGxHpQA_TVrjpGh=6k z?5IVti({9>E{k0rmlU#@baBOTb#a!snQ^n@R>p0O+Z}f^?kRf+djxwVJB&?Wlh_n? zI6IQfV2=q2PGYu{En~~s3U&@#%hs_Q+0ASd+rqZ8yV*hZBK8XQR`xFTb@mPRE%t5p zUG_cpGxmG-M@|%n#fb^YPh&XaI8!-7P6{WLW8qjic8-(d=6ElXESFj zXB%f9r;l@#bC2_Y^N919^OWX6{M`7n@%Q83@JI4l{ONodKaXFtRTt#F}mz3>;|3E^4cRpB+^ z4dE@}ZQ)%JSws~@h-e~)h#4}vVnw4xV@1g{Vqo5Y>w6L=B=QQH#hWS}j^D zS})ot+AP{C+Ai8D`bo4$bXassbVKx5^hrEKOcuw8$B7ffBC$j)70bkOajw`Xt`|3o zo5d!vMeGsJ7S9#W7cUSm5-%3-5FZzx6#phZE&fA%Rx(90O)_0FL&BDDCGirzBtasQ zNF<4pB#BItENPT9OUx3B#3pe{+!Bw(Cs`o5Ah{&DBKcc#U2;?MkK|5bc;cu;ULrp+ zAyJelNt7loPF#|>G;vwt^2C*is}ffyu1#E@xG`~4;+Dj%iQ5uSN=HaXO2ecCDM?C^ zhD#%*Go%V>p|n_9DlL~*Ne$A2(!2c{v=_%>&(m$kUrRSvQr5B_ZrO%V5 zCCx};CvlVFlM<3dNs=Uc5|;F1((0tONgI+jCvBBQ%Gk0ZnM3B5d1PLhPu4E$lmW7t zGDrr?P#GqhEt?~oEBjuyQ+7ahM|NNKQ1)2%O!iXtTJ|BiGPyO`p6pC^Cu7O8ljkLW zo4hc2Rr2QKeaT0YZzsP`{+Rq(-d{dQK15z6H^^(`weos-qr6$(BDctGaz{u@Ymr2MubQ<1I6RpcqO3caFGQKBeSR4A$yHHunA zy`n+UsIV!VirtF6iv5aS#X&`%;;7R=}kG9(wA~HvrAN|ixn zRMo2*RL!aul}Y7Nc~tvVy{ZGML#iXHUsWemr&PC9&r^q{4oe-8ic2M=l2RK}n?o|3 zDbwQr)TERDWuFYG-O!Y9Mt<>ffo?Q*WmJlX^GxLF%K_$00#3JZ)0iH)&JT zW~6b_cxkiK=BCX{o1eBIZBg3dwC~fFrL9Q&F>O`anzXfP>(UOZ2dW3FhpLCEzfy;( z32Ku18?{WWQx~X<)TQbQb(Q+C`iT0d`k4BJ`jq;2^=b8=>c7+%)ECuP)K}Git8b{^ zrB|jK(reR=>2>Li>CNfpbW6G|-I?xAZ%g;3`_tRgyV4J*A4xx!emwnD`swsP($A)U z&LD(LyYU%cXH3qRnlU}Yp8;oV%-EN4B;(JFs~Imchi8t9walBDw=?f$KFoZY`6BaG=9?^9)`YBSSqWKHS%xfQ zR$W$OR&$mq%aUcw@?~{o1+r#l{h9SJ>%FGGhNg+qL~CL+qc!6+6Eu@FQ#8{xaT>OU zr{QZ7G(wGBlcGt}q-(SqqozUAtTAh>8i&Rm`mxil>Cyn2C7NTJ6Pi<+)0#gt=QI~I zm$FUSQ1*lDN7?^oKhA!Z{UZBS_Ur6-*&nk%=k&`NkTWo6P|nbtsW~%p*g3o$evU9l zk|Pa?eUoyh-6@H(NJXH($3K1pA%Z_>Bu&H7foUGLJj=>z(I^-uNB^)K`<^{@4B^&j*f3;GodC>T^QxL|0( zmj%NLhy@c1atgEsx`M)j;)1e*%7W^G)rDbof*rI1<}QAjI{Dr6SM6pjvghvNz- z6ncLT}OVqEST?i)2NLB2|&PD6=TLD6hy{MEL9 z1QpFHLW;1Wg+=R%HWqCu+FrD)Xiw4pqF;&*74;QI7snQlDjr=tu6RQ6#NtWCQ;Me- z#}%`SdByR?{Nn85VDX&ddBxurFDm}Ncxmwu#XpyfDH&h#b;-n%NhMQCrj^8%uuFI) zf)Zhgs3fsOT9Qw`B`Mg5!5(OUjm&EiYS9wyJDx z+4`~#Wt+>klx;0LQ9iujh_b1Su>E7eft^U7D1Zz|tbzN`FL`MIip)qtwO zRbN&OuNqN>s|u^aS4CD$uhLfOs|u@1s>-XXsti>Zt0mP*)ydWJYDKlGI;}dRIv zIgClxR4)4yh5&7hhgHA8E@tRd8VU6WCx zsmZC)*63@BYD#LZ)F#!+Yn8PrwW`{*+VtA2T1{t5?@o*CX}8`Z@LU>lf62SHGlwSp(Sctl?$D>xMTCZyVk> zd~EF3_(kKu#vzSgHV$hX(fC#4$i}ga8I798oJMVU=o`WO{Jz*lg;EXxlLY^ z-}Jp{n`wt>muZh_zp2-B$@IkZ%=E(a+Vsx!!92uFH%FOS=2-I>^EmT#v%;KWPBp8| znV}t!I=viRZSh*#EwE*YWtnBUUNhn%0`ps%gz{t!=GqZD?(7HMja(gROH~=d~_q{jPOQ>z>yA zt-Y-WTl=h|tvsv1Dzu8MVyo0Dv&yXstIDdjW>_<=+18wplbUb!TRW@)D_{k!JyzI? zT4!4~SnpV$Sf5#6Sl?PdSU=mounn*cvf*rFZCo4QmS7Xxq_$^^(D zy(^@%-nHMiKd?WvKej)$KexZIzqY@#f3Saa^mBaS=nSmOA>vC^^K(dRhkIPN&*IPJLRc{L2cPPH@BS>kMVnw%D=&FOS@I~O{?bAIn!=3L?2=mE=lxDO@U-+GTXPTx~9|tKHS*TIgEm+Thyc+UnZjI_x^< zy5PFxy6U>_dgA`VJDAkJ;Tj$C%g09I(LD)*j?sscKh9(?tr`7 z-Q!;5Uhm%I-s0Zw-sL{xKJUKdzT&>-zUh9}HlS@#+mNJkdJcPzc#e6Fdro?O^PKkl z;W_L1%X7hV$#cc?x97U&rsp5e9nU?_1J5JRW6x91bI(i9YtLKHd(S8D7v6#1A>Lu3 zzrA50%ZuWT@X|x2iWu)`?>O(*-pSsnp`t1$)L}^o)l{WknOE*rdR3v7rS$)HSaL%R zmI80Fx71tit@IkaMsI_+Ike?v^*X$6ulGM4L+?y4WPcX)sD?hVP02fT;>Qx5f>@}3Scbmv0k+ePmc@3oNrbvp#jJq&45&q5T^ ze{7#mq5D1qeS>{NL!$2p-$-AWkKiNuD82|E-52GH_Kot5@s0CM@J;kh_D%6k_X&I= zpTw8$TkKov`@y%;x7xSPx6!x7x7D}9_mgk0?`Piu-(lYo-!b2D-)-MJ{~-TJKh+=U zXZV@^82>2$BtO?5?-%$*eu+QHpX^WfXZf@Jx&C^8mml^o@c-an=ilhx?BD7?);^^@ zu|2yzw_V$w->z#fXfJ9nX)kZDXs>RsX*aevv^TalwVT?(_WA8g+t;=4?1=23cSLnC zJ6Iht9iuwNbd2wq&@rjwn~td+Gdkir*d4r%tPW#`xx?Dw=x}!|=s4c-xRcsBqf^t_ z)M@IpbXq$do%1@EbpF)Y+j*h$ap#-Pk6nYih+Xuqv0dUWRabUbVE_qWf!Tq%f%$<2 zfklDEfhB=uf#rdffmMMufpvimflYxefo*{ufn9;!fxUtKf!@G@z@b22;Ar62z=^=A z!0&-Gfjpu z45$PQfDvc_ngKIl1ss4I@B-~X7cdimfLQ@ z*a~b1b^*JAeZbGa0pJjD1ULqq0Dc3`0B3>oz$M@c@HcQBxC#6N+yU+Z4}eF&W8f+9 z0(cF)1>OT6fzLC)m^onP;F-AYGu?l7|J8k=`%?Fn?!UXQci-&(r~6L#z3vCykGdas zKka_r{j&RY_uKCG-5;@Jnzw_!Wo)@gNZ-gH$jAq=5{O2}XmXz_H*2 za8gK=o({4>9w-1sU?M036`%@KgPCA9mLa+oZ2dlsu&+70c4dZB|*A9M^l0sRJ@fzCqbp-a$J=sI)@x&z&Z9zjo_=g=$YE%X8U+|$2j zP|whw;XNaJ@I9m+YENVjqleWqe%8ZTk7qrb^^I#oZ2$#U+a1~qw*TIc& z3v7XHuoG^BeQ*aHfV<%y7=eTET=-jf5&S*83|;}Rg4e2jM>W z7<>Z$4L$>(h0nv6;H&U;_!fKzz7IcwpTN)ISMXc-1N<53j|@VFBEyl92p%CJR3s8% zAS@&n8H0>RCL-S;(~vlXi|`R4B0-W6Ig)~;AsL7U$wl&!0;CuzLn;viVhlOu&4?MX zA`Zljc#(Fb3z>;P2#jFJ9ArMS5Lt{YMV2E!B5RQK$R=bfvIF@E*^B&)96$~uN0H;m zDdaTrC-N6^5xIg~LvA9sk$cEP;!fS`yD%j{fV8!&SMv` z%h*-y8g>J_h26&PV)wC!*uU5l>>2g~dxgEh-eDiGPr-h{{=tF4!NH-yVZjl>k-@Ma zAxH{Rg5kl)AUzlrWCde_qk?0C^9ha3q)HNOBkNE_8GU5d{=Q1rf1O z6-2RtVnIX{Q4~c$MHK7}6;ZJ3`A}c&64Iy^Q1-64bqL$a_M&IUTK}QUfLpUl^&5Em7bRNN-s$Jq!*<_ z(i_qd>8NyE`dIo(`dT_CotJ)<{-hRar8ZiPCeYfnDQ!dB(sneNcBWnEW%P2|pAMzN z=x{ogj-%tLkLJ?=ok63tgwCN0=puS8T}-c|H`3+wHhP@?K!21aS(80-O}UZWTka$G zl?Ta_94f##^i2Sa6Ts|S6l)sR_mA{kE%D*bIqACu>qv%RarLodnX`{4NIw@V0uEeeM zQhFW*XWvY^;M3oX{jxtwSpcu+E$|7Z{vP@Z_+^cL+wko@oy~;u54dqScu=192 zT=_)#RQXOhqx`D;ru=207TKa&92VVD%~IP^$I{5s!P3pr-O|UBVo9|Ow2ZZkvt(JO zS$vi}%S_8G%heXc!YtQW?zF76+-2Eh*=*Tr*=~8*@|fju%TtzDEJrQJEMHj8SiZNM zwft%P{ni5OTuKv{8)6%3 z%e0NLjkQg+W!a|LifyxOvu$&1%(l>WjqO_7V%u`tYTF&QHMYBK8*Q6x+iiPn&)W{z zUa`GrJ7N38_Nnch?Y!+z+h2BKm+W?XHG2blJ9~S37kgLx0Q*4uaQg`RRC|^^&z^6e zWuI*~?96_%eTDrF`x^Te`&Rp-_Q&k|>@V66+F!H3Z~wslsr@ti=k_n`-`RgwRn?(Z zQxnvtYBRO1+D^Spy(veFMs<^V zzq&=;sy?7@Qy)|xQXf$tRi9LMsn4l<)R)x#>TBxj>Jjy*`ks11{Yd>-{Zjo(J)?fF z{-pk_{;B@uP#hMA>d+h>M-4|!M?FV(bCb%(caO)k?iQ~=q@Mn;k11s~mSa9&l`PJnq=x*y(uM@r>hn$6m*N z$IFh_9IrdxavX8I>p1Q>={V*1)bW|)YsYEF_l~oUpBz6s{&4*1l%0xGbvm3Lr|zuj ztmUllY~XC-Z0c;~Z0+pe?C9+5?BeX{?B(p^OmV*F{J?qA`MvY3^9SdT&fi?J%jUAX zRF})8yQ;aGyIQzfy4tvUxh`{E?n-eDaSe5ia%H&2y2iQ2yC%3My3V=Z0b6^WzN0-Y z-{UA$PHE3*&pOX&yS3-EJ<8YG^V(kR1#O@9qV|%uUwc_OuN}}{(O%UKYOiUpYlpNq zv^TZG+FRNY?WlH4ds}-)dsn(kJFdN_ozULbKG05Tr?d~XkF<}qPqa_9&$Q3AFSIYU zue7hV)7m%Mx7v5w8SQ)RtoDQUqjpX^ul=O`to@?oYrks0X}@cKXn$&dd5A~yP><|U zJQk1DWAoTOs>k7RdR!j2NAq|*x~G~a!BgE+!&B2!%TwD^$5Yo+&r{#iz|+vv$kW*4 z^)&G`^)&M|_q6b|^tAG{_O$V|^|bS}_jK@d^mOthdXhZJp3a^wp01v5p6;F=o}Qjw zp36L!d#>>G_Vn?jcv3xmJ^egsp8lQzo`If0o^;P(&k)a0&oIw$&j`;*&nVAmPlhMc zGsZL4GtM*KGr=>_Gs!dAGsQF2ljWJ_@p-0uvOPH-zbDs|=gId3JTp86oM8Ne^vv?i_RR6j_003k_bl*S<+<8pc$jCQ=Niu<&$XV#p6fiApfC`fQ~p_fc*fWOekk;h3j}jQvjATE0^k=eDAuG0pNPjYb3?zd{IvGrckfCH48BRu!kz^DZO)^L(8AHaBab!H1Kqit&WHOmTrjjf& zjrhoPl1*}mpX8D}l1~C;1}Pwgq=*Dbh!m46Nti@Pl$4N}WEPoC=8(B$9+^)TkgLem z#4zlJ+h}iGZ7^fM@s@Ga_{unKd~2LBelq@GlFTHHNwt{NfJx1m)P_l&nAD9)&ob#b zCOyxj7nt-SllC*|0Fz#2(rZjQ#H2Tw^cItjG3gy99cR)BCVjx9Q%w4ZNuMz3GbVk( zq_3FtJ(GT7(l1Q71yzOWBynt(|XOfT}~`7t>#R|O;{M0zAG5aClI zhtH0{Y=4dbO1S#3zy30`1TZaPG*XS~MuKW281+UTBhQd$$!_u-*@Lz|Pxg{!WFOuy zO-}EN5e(!7GXisY$4h6p(96xAMA5)#ZXmA&t-@pnl1KX^f&}M;ew@=_QBMN$pH}E8HpwZB%Gfp(5OROCqlTXl8{s^a&_2gsH>Ag~7 z;H2;w`5eUXMLBZVK~9rz@cNFNA-gb#GJWAZe-uNUQ8K*<1>shzkQ$)PMi{#$Ml-y; zMpL8Sq>AuMu2*##WgmFBZlUuqDW&mD}b42*Xj%;&XI zV{)(5L~1HELm`6Iv^6>z9gPL!hxr0QUXH+u)RM4GQY)#o)JAG6wKEcpQN{#gnla00 zbJ4Ms>I)q44kzQ)g^#7tA=d3=BiTseJHijC*j5cqhgIh2RoWl43 zJSHWB-SF0oLOU9veoi-Cje6rpz!dkQ85bBdJj2=34r#nJ0Z%21*7q>F8}+7)4TZu5 z{*tgi*s){BQSC3n-(m%n<8Qo>GJbP$?8RzEdkgR?64*2AZ(>}I*JT`gq7`!k{$L=O z=MR?0V?>HdCBS2E;|ilsMKBYqvkAM`XajbW#WjTR%m9=rKHmSZBNs%Tv{)c-iL{g> zF99P0W(&OcGx{3!vh>Co+4=r((M;%%{$P&ZJIn76=lN#(y*^*CQ%N8?%J&Z&^KSX+ zC#^O`P3c&!mF|-6CcB^+W%}}BV>(c8YYYJQfIDS68o|k7RQ{#>lA|0$SoimIKV{~Qq8)LW9o6=#h+e~B31=y{04D42V zTYASBYmB=nyOmz4!frFl&!P+U+ zNya2&BJb?jae*0g19|a&o|S$^KPMWKjke|#gD6=i{ccP#+FYoCXUw6Yl*(w}B+lUl08?R9_J7bm>cUH_(7x%$bi>EnH*Tyy2ybDy9ABU{s77mnFJuE`rf4Ru zL)iVaF0DuF(+0F5ZA2SWuaRTq88eJRqsS;WB1ZIrU7)U57h2L*=)!c-g`rctZ`N`tf){?p1%M%$f;E5RsVjEfXUp_9yKvacry}GITP}N zJF-GIt#OAwlOz0Yv^3e z8amIIcVUtXnIwmHFGRcN#HRIpFf_1iFE4l!+8S40GK;EcLQAB#=`x`Sso*(=L8khO ziz8W)xFJzdZ(2fE&|6~A3yqfya#C+iSJGAVcDkD0LD$eb=~{Xhy_?=c@1^VLdb)vb zq?JLpdO1bve3qEFGM=`-|Mx|=Mc zd&uK-FW%44-SkEJ65Wq`FXDPPeTD9)2l-v%z@0<*d;`B7rf<s;PFUK*^a%s6G# z=19x%<@!@W6eeO~SZi<*qzH@%w_4>v85hWj<^vZ4!vV7qpo~F&&LVk-@B_MI4jfw0 zKPXJ|EWKHb>^Mw(6v{bFM2kV1V9{n0e?_@Dt5yhHs81I3ZdP+yJ?5D<*s zQoP3S=`AhMB-Z}3i+w>Jqk}G1n2D#2eXzoG0>k%4)mWk$`|Qn9i22XB#vpd%Mf_Q0 zw;Q_?MyCLZREJwZ{A-qCkHI}}T-z)q$^4?~ih5G7hI#)UJpu0VKK+26q^H0y)`6#N z2LJewegsaj8Z-G2{RH!R1zum!FX>nGYkHb~4Ric)dIq1%fW5v0#VBKnn|$f z2S+0S(%?YB6%0l}nYfc3A95g^lSC1`6rkhEcRAZsBkkRhC!e~!pX*G!$OAP{dSvTJGiSs%qCc*#EquYWL=-?W9PIT)$y0r?- zaJ|_r(WPJLulV~bI`jwc3RwoSC>@(Dy{5@>(jy>6L`lPb|DaGL%4@&gSgab0jq7-Q z2Khi#^8v7U@NvXfV*8rK@vGJ2WlMywCLc!?8YeduobE@WMW#WYp3{?kabKaKSHfFS=X4jP94Oh;cNGcdWsKGO|r4BuFX} zlN#XU!+f)c`SOB++?WSj%q0^We2(#l1;>Z}Rsjwu7#lB9_#y{Fe!yZL?avOOxVZ>j zgE^QGsYOxDQ3Ss$lwe%L=;a1s(rE+A6168YI;dF+e0KbwvA9{EH_S`WU<#xC80~8; z5#S?qJ=IHyc(2A^yqonoV*>L+yP`ewFxbf;*ahvq^OCx?_a^sP5F7RsIduxOh%$k; zQBE-jTxiU4Kf*T1X>xygfU(?o#MlYLMNXFo%R}U$@-U3iaCwA067>JLJX+3>GZ9iA zi|g_71iAtpPLK4@2}C*L<027~x*tSZDVOA5xWCLdTX0e^J&=)L+nlxGYkEZ7@bdyN zvjr4?AP^Lns&T(@Q?rztQbcEU*?3rOmNGT?@*aF|mNH_>ifOno7QQ1-Mnk7SH+e#y zDrd>lWS=};&X#jP9DX@h&copGrU)tk~NqMk_&L$JJl?uC0dVvx^CQR++y4Xy6Y%x*9?&tF(#d7MjS>BCGt!eR9O$K4|mE6 zN{vRtf$1etf5cd8-1e3{hsRXpx$;%=LLjqa0irw`=6Y2Dpe2aW55O5o4bS0;z{6N&y<)A)rHOoIFv14ccFS%z=V%%dEa=W}5uwvxb z%eRwG(3#~m@~!fn@>+SNe7Ag$e6PHY6A)KIgx?$2AoRje9{(19*0{%5uUn0E#)h%x z@PPsFj)UjN3F|1@w+SV0Mh*AL_oJ0td28pIVA?s4F0#`zw^hC|AT*Tb>L-H z{O$kzX2}8F18NW6b8;ftMTAI~6JoEIT^x=QqK?P?X0xKj{CYmFYZPRT?uYA}0pp52 zi`%5}KtB}nK(==voX6gQ+$ru&?wIU_i##__c!5^)hyI&?MTI52-TYr;yj_ukj3M~j z5$#`;<4fb$y>R_#wy%E%u6yA6^vuB6;kZsAgf=gZ_8pDu!MM&TDHxNA>-M;QC^tM{ z46b|Q`gnfHAb#D25V_9W{LFE~}xbMyQ0cA_qeYld&| zNL+&#Sz7uF2l9GRj%8?ZbR;hm-z_tPg~NGWDY$;w9})e`pE(HklX0CH4QKLa z(H`sK+`xczTo1tY*8K1wejoj{o+&OAbOxN*I{L!>2jV_(Vw)W<8O`y4KH4_=gJU>8 zK_j*g$XLmTU~C9sSw8}^L1c1y5nKo${K~KL5Mn68+lv;o$9o{4f_R4k5kcUVLxhp} z75_c{1b?Oj!nt9ToD0}OJjqKk%i`f*^GRMx2ygz4m;8k&IXhNkN7UG_(Iy0gy$BVb z#_##K8b(fuJG0TkB7EpAb+m!-8{iME#S zeR+(}Rdf8yQ$WR09Z{Zc1SREE zp&PWta@g{QF)jkVWOw$n>1lkTec(%NKS>Rz)Yd| zwFubYBjp!38i?n7z^|D=kc+!PP~k}2jZ}_3H$QTNH`gmJp1OJdZ~kI)eE8V;uN!`TI9b>}@!`bNi5nBQCH|23fxrT% zY;WS*iQgn1Og>UYz62TCqUNbAnO3)wI=cV)=t*JxbDfJ zltxODk`Asnf_RlwrK^$>yXKtma=bVnG<)0u8LKJCTTN4Xa2{E{w`hrpTh1*n+|%;2 z5V}SbDjj4L=@%-V6Xt$9uh84Q>A~!du)PwKAQ8Eq#bF5fVU*CHq*@2FOTshFdkX(! zLC&BDDQ0z%Qq~Moy#w0X9SKb-NMIU_gr!U*C{0D{@-dcS;C4P?NXS`+oadEf4RTjD zA}IV2e8^8A&*ORW67nkEAVsfPkxgm$tJm_>QY^)F>;*SA$Z+G>W!%L zP-(O@L7FDzNkOSZnlD`=Et77M)=2A+)%=LGOL|^9fMD0V(udNQ(pl+ODkC&g0}+*$ zv=i+?Q|SJ*-NuQ^$!c%byPJnYVk)3iaxry9C?jiSs895QQ zSQysHQe-2qmmdNb*e|~&pOR0@zbICvy5dzjU~C2$d7$WJ*0lB{^qELjMgh0nT{C_=2-1`$nm1%gyRRN z6B(vGouixqr{P@feAxN2^F!w^t^`+GS3lQeSBY!6>ps^W*SoGC+-`SEcZz$WJL+EU z-r|12{ek;ut-97xOV@I=tF=3|oyZ9N7CD+NkT*FMnT)GEk9iJxPV1`PQtzkx^sDqc z^nyFaz0T1(zt;8E?O(T`?uxok)P296 zQm<{jQT1lkySv_t^-kBXQU9{~+4Yy!f3*Jb2DCxj2BRCyYp|ig!3O6VHflJqVR6Gd z8oto*bfa30QX0)@bX%j{jlOJLy>aixfyTErey;IX-kRQ2Z=rX!cc1r6lLk!&H7RMb zuF307erwvQ>6oSqn{IFVelth29?f!_-PUYxvop;bHy_q~e)9*KA8(`LtCr(hUf1%8mS420(<;5y+*S{?I?>wQx=-sXTd!|@q>Z&rk2VEu?rQT!TiUj3 z+x)h7wmsC2w(Hg|(C)5wZ??Cz@7X@setrA5JGeTec9_}Wfes&btkrR7$AulA==g1? z=A9;XTG45Lr#}eegT>(O4{UDn~Ug3GpE_QmC`F85!)@$!$aXnKY3igj0<>h0}4t@pjXPxWci z$Jb|lpN~?SrR1b+PWe2wP3nx)ZK>b(P3#-)yQA+<{d)CV&~HzgoHj6RY1-@k6Z((o zzo!2O1DX!V8}Pt@GXuL0oHuaKAj_a3gH{ZBJH26gcKVj|GlRPiUNCsy5Z925A!~+w zG_>u|@X)7*(P4v!-8$^V@D{^^!=D&IMx>9pb;SE4TaCPO$Kl} zBYf+9=ccDmUpxIwcE9Y~v%k(s$+<1(OaB%ATl}BrUXgoC?iYDi_yXxb_ElH1;KrxMxoiEH;da9FD^cHWv?q& zUU?=wB)mByMW#fajMjirda$H*$+aaP&g?z&&Y3^Y8awN;+0|wTXCIu?cFvMHpU)jI zchfv&UiQ4b^P9|P^FLgWx?tT^(pA&1+Iw}gs~27UsWH&FpE+0odu?Ij!dn*pc+I$L zo?6s!k+JCGYX@HYz+!E2c=6lUU3T3)*DKctu77<==OuS6`EzN`(pQ!xE?c$i_ZzZr zc;&{V8&}`>*Ye!uuiw<|rn_&p-W!?!3)=+tS;9T$#1< zz^X2*?z!D@d&%vmRu5hMiLxcQFX*W|A`dS~A|x36umcFEeG?#j9A@ZBkQKXgyS zdzRhv>%D<{-&r?s-Olwb*RR@O-7s^*XB)?E+`p;ErY)Q6ZC|bLX=)pS@|f zWA~!ne?2$%xpRAp_ndw{@A;4SX6=3Nh4C*O**9w6>n{#@@#U8Wy!68U)cw!Be8tPp z9O!jm*DF0ukJk9_27=zy1usK^=_~4JkxA5KXkIy{*+j|BS`=#&e@2~ox!3XP4wmG@| zRJT*lewg;*!H+UNdhg@xkH7vT^2zU?F8a*<*{aVQf4=35-P}hrj>p> zuKV--zx4QJ|F7eI{rtCCzuSIa{YRTWp89jhpC|q*`s**#`?N#eDLg=N57m143DT*; z9TN_!b7lWLcT#SGPW?3W=V!T>3=U`RYZ?&nBL~-X!4x4@9T~o;1V^ z*URsdP8aiRe<*)c>e>EO{*10rjUC3L!rMH4k7#kTlr-`865i&ofxOe)+brD0j~kB} z_l}2auLwC*p?F8n@QzmWLjK1iQW4P?>&ox)AMvgzM3Hz`o-v*fT^SYc3VbyD-$fng zik0qGY^7b05lfvFDT@jVd_1cP%G+%`SW0bBBb%7i20t19 zSFL(=PHh!i-cq!@HCp~0TD}Lt_84iERZyiH?UeRrH-;v5?3S3^J*jKw?w!eSe2M?- zZuYHWRY{_%&ZufHs(N8UUObvy9!1@h?q=D;5<7ND?$WJ$a_4SclS%)?j$O?%1zkfu zzMRJ@c)Wzq%T2g(g&EC3T!Tk5FgYf|O&iG)K^ZipTq6GxrLWR2mH_gyahS*CY9W5N z9tj^CcuWqdA5S8#w+Zpi`;ioKl0KmffMUM`QNCSB|9F7M^^mghqB2+{Y`mikMXHBL z*HDIoVn)C;d0ZKc7$9I`{04DlyKw;Vzc*Fm72{PzSd9aAdsz(eBhH7~ z@-!t!evWfE#V=1$a!DN}PsvvT$_zN_cFK<^MM__^I0TgMgQ*c#OxOEJc$h;ufozcn zfV6b5kiI3+Xebzq=YR>O79wv0D<6VjMx%Qa0@9ES}z!g@{d2C1_>2a#IZYnDOO5C)$-UqP^WDTJpMb2S{LzAlj8C z(F$sP8)Wu{YP@5-%c=G4i&N`*L9LrAQfrY(t<%a;YxnM;*3Mnb&}je`{2uPkX_27WCzCOF?8@@ zdRTcCkuA{y;{&6faRRBY?;4Fz&HJ&eJLNUyb!6S0G)@_9(af>Fpm(|-Do{iuWJ7Xf z6^Dw)6!Q+o)=o?u5k;;x=bsS~16Pg^wo!RjIi|d=ykop)d}w@Zd|G8SfXKZTD?89Y zkx5TZ!$ENhu8Dm}-#dXu@htpzb-VEqZ|bDvuHC#y-sEZZm6BgCQq&Plp-{%>TU zr9PT^d6^81iJ9+>b5Q8t$kIEG4IvpA8HdPRjQRu7NK8fYdyx<=5^5oF!qb6h7z6&` zB)`aj%kq^}8GB2brGIRYel~vp$JkclJiJu#u#7+#MqZGI1KYnCzs7jDsWt#*Nj;KH zl=b9H`ERQYmNe8ixeCgDHhwcvR{J8$KrqW<*vZ8T5oCh+g(_WMIkV(g{4pH;$t3!3 zA}NGM7heoXe=+2~nUYRmsWZe?Qc}173QNemvCOZ6C3H(N(bRRA&sX5(vw6C&u)rG) zVXGnBi6^3+UKP*7Wreb z3`OMpb9hn4$ha6s>XezoD)OP2WR0sROmcxISeRssja{>pnbWwn!x`Ybd0nx3vWLh9 z>)Z`_VV#o}ESNYixocv3Z}+Z=3*L>}US%m$O2D#6e!+6DWgWV;UVhoK5x6t9GYPdg zm}EB|OyKeVEIl{PUp8>FLgAdKcWxj%KRVs#3uDPo#EZpGMI`~TEQMcB4?!y}K*qIq zCM0vdKk6+G2a0@1kuEQ$y=F;y{^CNPFB*wmivVE;A&9CinDBsTX9Tsax-pn zj6(_2&6HG+SRRdKcL~SHCd(sn9Thpq7bd4H9^a`#FL6mC)T*Nnot1I>DqmOsdNn02GR{k?hu^(n$U-%h+-bHM*-J4IQgzBCQqF z@d}b(OzogQIt#0nVEFM=HjdAUF|+6ItXyn!!S`e-!m=KJB^tNpTLW<i^%2F~uhT&YLVu7mc(KAE=!Fw0Yp55u_{C_5 z!;pZ4ZOs=W`3fuRO4g^WPsazdJCmN_gIV3W+xi?bF`l>XwZ358XMNH7l6AlJWm3m_ z!1{{yRqH|PYu4AThpbo&XgzFw%X-9m)QYu$)_1J$;{BfW1bN;1zV!p3>9jls4oPzb zC)b{{^oGMT;MWQZuPtA{$6Y zLsTp=;%kZ`Si;Ypr((&6S&Ue-fHZ#YgE!r0f#3ibby)iWqb}waj#XgZGh4|WZNAwT zgaj*#H!}8oX=4!7Gpprs37FYv=(tSbjxOz&*u4chF7Jo977l3hDWu=ScIOSnrZcfy ze8n7Jf5D_4Tn+5Wq$inlIg_4X(k|$UPcdny_C`hxyKET>9_>5<$eaRFTa z2r;a|@}5%1KfMpG{|OlDFEP3?$G;UWA1JG6&J|os<-SE?%MHYMiDh<~;gTS>!t&>cJ&+*M$o^R^G~hbnquv+-W+<{EDs^M;eKEl}JKSX)`1u<1yGTLYE|E&wr|02M{( ztb-u^!JVK7GifB>?*d$^Glrw5=>_Tm6n9Qsu;79bMc8)-xP8Z?YPJTJb*6=vAS^uN z0Vef>nP)thrLRnd30DHcZLS}yrlANUya00?xnBWY$%h4m2u!f7s0c&RVkjk#qr#@ z6wd==c%DBfRFdP324;XyMFdU@5Y8z8dVq!)C-#PNy|DU~9|;sWaTgFgNCch^Y&uTr{{uN@>j(U$mB*j8rv*I4 zT8c!|wo7Ny;4&NTBkY3{J{z>;&V^zpzALxV$$8;o<#+YN81hpVk2xl3e{=7ka!g3!PCp12+_&$>(0Q>jM^7BRf zVv;0r{w`R3SK<8c-ZQ?&v$}23hWH|09v<%u!c63vYuC=4PeMv#F(}ps+OEUaSJt0w zOKeMR%WO9YX*HEeAtv3%q>V#Z&okgm7gi9OmX*QTtrLA2X8nB^I7 zGbt#F%NmtzHh(i=_bJP5_uIB0ppawRW?5ulXG9;9{Kn75pG*pHpC#0Sf8E(@dlF-c z3(E#e0>=HnKUH=z``lh72}b7aT#s9Kc0tW zdnwM`d}e+XlX3)a8$ZMhDfaqbbn`8A6Pi)EZeq{LO5Mz5QeJ5{XQ#xv39=LN*$fp5jhNgTm>9(yDF~7wT z6DUPYVGJ?XXT&rzA;7rE;+qAZj^2SW1r3~}l71G~D7@`rY6dP+W9kGL?gjTS zgZ3aW3ciZ};#;T~JEp|s;05^7xG{k!7pqm~xLvVZ%H}weikWn)Ims`Q6l8bsfT-OK zoR>=qx&;Df9FwjzjRV0Q>Z$*=o-@-{#h8( zULAENRh2R5Y>6pj>c&U}Dnbxy3$`GQaJM#ygco%{Km-9>BCY-Pv|hcBo{e20v1yfT^EI})=WAnv0 z(ltz4RE8PuL;#^co8(UP9x$^1fq&Ru8&$5ViWqR*YfZ!q5Qr(IicrwBT}8;B(@b2P z$Gpc;ogrck9^jn#Tzb;r0bY;eHoItdc$W^&;KfW#9jw=Zm)_Z2&ENB&h@+=j%KV$ln0Xg&7I!s6 zklnC}65opEg2te|ZYeW=#boA7%b59%oSBE>LadxSil-j&G=mcFY=jz%r-yuD7>Jl* zP)Neu`vE7cSL|DgM1$D&$!4w+*OQQsCph_Ze?He8X9WtQ<=jmF3()$Kmv`z95W9o^1gHaThZ16LWoVi~vc| zP&Uj_9=wf0s+BtaN+lttB*%H&TE!My{xaOQid~vxS?pzMj4ILHDt8E% z#vWB9TbRl{0+6N_b32n(W2krp5=zV)Wpv*eic7L-c6aH4G2=Nm7pD8O@i9|9=9sN2 z8?!qu?F5Mm@)mBrSoSw3_gDsaF5DbqlT@zrBbCMn4$8d?@O#C70I(^Kx#uf>GtY1O z2Ektc1)HfVT9Ia`BH8kiXuXq3Yh!3NbrYs@j|ZeId!BuN*!(B zoQ&E`+RP-xW*+(%m`FTfryLWRg3+AHM>C%PTjn7^60pfc?qkyZd^F=}JKS}W)WZzp za1TLOQ2RwZ1nNjWpgfGD&WL*mHj5$UVVo^755Z^H<5YM@N;tin)_bWNl{-y%lCH>0 z3 z@(ER#6M!QJ$%0~&VO~V3oI%nc=T)4vN<}w8xA(C`e>~vf<1=ZDYIbJ#iw=?PC*bp{LnIpt_nYT76mJ7*M{)>At z)zPIxc~5*OA1WQnM`A;XqgE<-G0UjSpymqzJ@Z?Hkq2 zW>{e2ywVuGC<`7t5g$nE#)HO5i9A9O57HxhkVpEH63hSNK;{1}m@pfOk;rk*jf|Zq zN;9k9u0C8Y`ykU_1g;*(T(nnLUyTF9+qREa<`Li*E#F>KMGmgnKKM;uDr;ZaBfNp7 zt*z8PdoA_d`15cyyli5J_pjpfBCk3;r}ERaRV3V+wZj^Jg+E=#Y%tHm4$sL76czb% z0vM*kD$mwcKaW2PujxT-j4Phx`O!(0>#3)H8;4!aq}R*CCRc)$($sS%tbt75H+Yk3 zMMHVm0XnN}dBla*0!n?<-(wGUVG>rbPUU3in~oi_1^AKJf{HrSOO`mOLpGwEDvmG- zCk1(?^F`|%)4A}6Mtcd0byyuX1Zl7(r#L@~ub)K<4nN2(6yAUz?Ntt!DystrV>w)? zBahedwx~mgE)yt1c2O+Ntyd|u)Q8k_BmlaLL7DWffNlt%qCbqac-Vt83Y!%|F_rg4 zB+Zn2GzAsa!K2-HMepI!*j$R_hh~)n8-N-b0jxi-;eCLO$;aZIasYz?&>R56IKW8& zOyoHNJmI-K)IdPB1=Ju8^`U5JEnbjVHJ6GlAY)tSM#_~u2+t(qnZf*-kIiRFg8V6@ z$y9jeEez4Mq>l8vqbuMMHT;w}l&=6SD~{GhhcCm=IlRN40|4tuLy@XTrS$=r3cwj0 z@Jj$ro*N1kRYAU^Ki~#BWF~#h0nY&NZ^p(QgB?TQ`A2F#-;cN~eIMJ`?{;M1oyp~m z+&-4Rzf2@t4Jr{^u*a8xRFhQGV|zLl8u*4u-$DjqOJJU6V!cFelp_np$KoFjL>WbH z6zyV$KNwBV(ra@M6=&u>%}sz4aorhy^bg9fipGlQ=lGgvz5@hSo{BZmj$FQy)Db`* z`a246cx70uiGEtF>s*Wlo_twYf*leP*kjUny3KgQ*oq~IoDkqd!R&z|A6syql_PFf zASg!|$d7X5pXJCu|1Tr|Dm47+ipZ~szV>v9BLseJd^Mqvk`=|;#mX)E3V+g%t z(m8>evHmcONz804xh;h!B?E!j@to!2gl;C9Q@CJ z8H*c$#f_K3;%^Mczm(Bx85WbVj1HdT{}hXk2g?!M?T$yvuxKtM2A!Gc{FO<6aCDA` zo+~n7z`@I52dTtm48w8|$l1k_(-6p^pwy#NO?3lGE_B_Ta-dHD^f?ad;hnwC&+>7ENLkOx9{~CoK&?2C2B1sP8*K>aF9BV|p>;q{4npi#VXd?g;JyP~ zF^9u6;H3ihGXwmni&?Pr%gZQB8lcYs`ezPZLqON7x(chxs7d^}-|$>2f3B8zE}@Fb zP}WzaFInQ00RJ+F$10hNBH20!kTyOZ%{gejOM&JC)XhQLa!{P(dC^ks)d5K&)VzR-?lAN24g># z5%#kx#d?}d`;Te^EE$Q~&#PT+H&~j&Y1PVd&MLuiH5IO_+3INZ7Uv$hJ%n_oBkZ^u zJ1p+UwoPf+mcPIJp*%qTU2ZFPp+_CJgO9H!8_6adI*GF%8SRLZ3KMZQT>N;!%Z;RAu>A_3G45Ak>7#THrOCHBd-mc&%A8BDxwGQ z0bm+{yw||jEW!vNwY%Y0<+*QX!MT4F&cV9EKX|`z5pIK*5Pkwi6QQFC_2*k5=YPbR z7S~_{qUFZ@I5S~~vD0`4hdVHuVq6RP%q68Jj*4w&;N(q42a2O^ohL|ZMmtqLL-{{m z8{vc<=lsa}mfYU?sq-_wHp2NOUmM{(UA8vDd4|y>sE0IJWc8nBbO@tEF>X&WiUE0w zNl!D1aS#dpx)Y`#)JDFAP8a0n^Y|}cIE`*kXPJ#uAPv6T+n+51y_7CXvmKLoB$X zpEpCCzLLycFL8H82ZRwT{2;71m&4`6E+ze9CwFXwH73q75!Jigyzrwq9|eV1uUxoT z167xN7GJ~bO2E2-yRiwg?a1F+m6=KE7z{+Q{bPSdhP4|aKao zpXCn1P>|69oG=*ek1DwTY+N9kUj;Ze{KH(sF=Z~?sSU0Xu91AFz>EAYmOfP}SWGmj zx@+`$eqgUT?J`|_4VFn{JTZ8qD>LqBEaf2anR_Wm<9Ok|f%Rw(^duqSNj*|8Cgb^G zyU9{t@o8S0pY?@|e+5un#@81zo*y1r`ocZPcwSO@84o#s0IPsn;qMbjZPsz!3-2}f z{yF|`Lqxhv#y<)<|0q(D@5g(KveJ@_sgTY072B5fz?;u1xKU%Zw)xqE* z9wl8!#Op%DdBxA@}GLDQV6Uam|iA*L_us?bhnT9>(r(>UVzVCi6cDv8V zPV_UdgMA_PP3I?66q75(uJln-f|EmLk=fYieJ+`Y{nQtbtH{;F;H2>XYsvrLYRQJ( za2xH7s|{xCH{LRi8ebWwjc<)J#!to{OoDN!F$s1*jP7PkYQv;XOzOs@XPNXIlb&bN z3ru>EN&A_EiI0xF#-u|`dXq_SG3gkS-eJ;lCY@l?2TVG}q>q^N36nl!(icqnib+Tc z_=!osFzGKwB}QdNEsWY2g%;*y)Xk`e(Q1rVXS61xwHd9;XnjT-GTNBYCX9j`v|to! zej7&H#W{ofUBMaL$KCJA%>6!gcR%Sq<^It9k^5u!C+<((pSeGGf8qYp{gwM`_i6Vx z?r+`SxzD)2cb|3t;QrBl&VAnflly1)FYaI6zqx;R|Ka}A{g*~?QUujxP0=ix73WCU zHC1zHPR*scHBIwqx>ij~z#j57w3=EioF-96tE<)1>T3`wHb5JQvntZH!P*d)q z(WYuy+BD6lP1mxqzrA0})$+7_EuhWN3baD4NDFEqtysHK3u_TAs+DLnwOQJ1ZH_iq zo2Sj!7HC&tPkcjT+CuFbZIO1ZwphDPyIxzOE!CE3H)uC%%e9-do3$0%E!wTxZQ4q0 zm3F(fTDwDAgPru(YIkXOYxijPYU{N1+6HZ-wn^Kp-KX8JZPB)B4`|!82epT^?b^fI zBif_dW7^}|4(z`Fg!ZJii_wvcjxyFTI-1c8Ml%^5!{}H>$1ysd(Fu%BWONdvlNp`D z=u}3t7@fwbkJ0IjW;2?@sGreXM)MfWXEea*3`PqWEo8KaQK)tyMvED}lF=}u5k{ko zmM}V#(OHbnW^@jta~Yk-=zK;OFnSfES2Job${5ArmDe!3h|y~qg;{kSqt`RKgi+{; z%NV_Z(Hj|E&ge~y-puFg*)r{W3D7tnhqiY$xi_yCoy@%0z z8C}QddPX-ex{=XMjBaN1K1T0nbPJ1xnx`)x{8Qsh13ykh#^hHKrVst;FFEe_8(N`FK zmC=KYzQ*Y5j2>e24MyK&^f04uF?xj2ql_M7^le7pVf0-_k2CrnqbC@BpV1E(J;~@P zMn7cqBSt@F^bbP# zM$a?)6Qe&f`U|7KGWr{%zccy=qkl5`7n2E-B_>lQ%S=|7Y+}7Hj zCO2hrGbT4@atkK6WO6Gew`Ou1CbwmBJ0`bhat9`N1h>&GI1$33yL7j%>AGG`PtdFD zHT0T#Exop0SFfkn*Bj^!^+tMQ-K#gzo9fN<=6Va9A<;^2t+&zJ>FxCndPlvJo~S43 z$$DqKi{4f5rgztS=sopb`epj%`W1R_y^o%vr|Nxi@xRzsh59x6BK=x@v3{L? zy}m?WsxQ-T&~Mb2>o@5)>nrqI^jr1Y^p*N5{dRq|euusWCuFSE@6zwq@6qqo*Xir^ z4f;lXlfGHMPrqN^qHon7(6{Li>JRDL^@sIG^hfo_^vCrb`cC}`{Yjjy@s$3w{*3;t zzFU7z-=jaT@6}(>_vtU{FX{XBm-PesEBdSYLH#xTb^Vb3hW@60Sbs}Dq94_d;Z%-y z^mp~+`g{5b{eArd{iJ?MSU8@W3A;Du`|#ZAJdUXb-%vZ!9;bWU&doNkr`jj0dxpo!35t|iyOclkXQayG|#COvHfY~yXYwuQEpw(Yi8 zah}Qhwv)CGZJ*daw|!;%#`c}Z9ro z^-1+ z$6rpx>2@YKYdC8;>%fUT!a3GC!#Ufz(0QYCjq^U|Hs?dm$DBKyJDpEDpK?C!eAfA# zbC2^~=V#8dE|05`tG%nEE76tg>f-9=>fuUpjdo?ZX5b{3S*|&*d9FpS8(k}1Yg`*# zJ6%t^j<}Aw-fzyXU&+ zyRUK^?i<`Uy4T_qmZ2+%(mXIwZAq1SY zZpk1aAp{5{gcVr{1PGge0W!%TgFp_PgJ;BDwN~riT34;R?p3vFoj9vjt$Wl~`=0lC z-Zwww`~~;@%Y9wn&(W~sVdulHg*^y+81^{qN!YWn=V31iQG{qh3}GZ;G+`{^E5g@= ziG<07>4X%5oRCgX5>$kIf|1ZnFcB;S8=;lpB)AD4f{)Nn=pY0MU4)f{)r7T#^@NRt z&4jIlJ%k&CTZG$$yM+6M-wBTh?+738Z4>*SO*1z9D}2vPz;{eBz6;9mJy417fLeV1 z8}Qk8;S&tw(;LDkclm$jaT7jke}q2`|1dcf$TP`JQW(gxGU(Z8Mhga8BZ9`7=JQeFkUg_dzoTX<~vZ`6Nta?@hYXxg1Yc*>v zYXfUDYb)yq)(+NA){m^8So>JVS?5^~Sbs+KjT#a~jS}OUQc{#GDkVxDl^&&xQbnzg z`Z4Ng)VZkpQSaHq*(2DK*dlf&JDaU$=dlaf8g?mL&o;0d*;clV?O?mvUbdedUuCPefme?v4H<`W>eqXE0|dXE=`Cg>y(8DkqXNiNobcI0YOXr-oC< zF>o3=Moxg!!&%E&&)LY?!#T`3$vKUCPrq=kaISK$b8d2aId5aaV`tbVlhVdvo8jr^l@Pxbso`fgmDR>3E3SJd&77yWJ zyxF|Dy!pI^xCwQHca(RWcanFScZPSF*UP)Z@5}GcAIKlfAIcw&dr{-~0jM<(Kfg`Ahgq`OEm<^H=a!@z?Oz@i*}I@sIIO@=x>6^6&8<@E`IY^PdR% z3nB!g1#tqNKp@BzWD9ZyGX(j9GJ!?VF6a_~f*!$K!7{-H!A`*;!4<((!F9n+L9gIW zyeM84pAw%MFON@;SH`R2Gvl-4bK_^k=fxMq7seOG`{M)g!FV7ZjGq;c#AETZ<2S@V z74{JlgrkH!p+Zkgs>15hJ5(HqfQ(RF@` z#p}fz#hb-j#XpOG6WQ_AoHQv(n3SEAn=~USKdCTDgR5dYlXfNTPTG^SH)(&;fuuu8 zKPMecI+k=I>15KWr2Dd1*(li<**MvF*#y}n*%X;lRw^^gtTMaIfm>uA*)`b>*-hCk z*=^Zf*?rjq*+bbMvZu0VvgfiFvX{w2lhc!x$*Sb6%xV z%J0iRrPZbx(i+odrWw;((#&bLG<%vetu4))=1U8tb)C@7=>4J1&`rP#S=?l^qrY}lglD;(kyY%nVSK%((+Vu758`3wX zA5#oe3|0(P3|9~oBn3r5QzR;siZX>>QK_g=)GHbkrxa%tXBFoZ7ZkrLE-S7mt|@LR zdKI@7_Z0UP4-}7-eUuGKqq14qqBJS3O1sjjbSXVbzcQfgPy)&>Ww$bEX-Jx zu{dK%#?Fj)86Pq}X8e=!FK);6R}EA}s3xhBRjH~pl~R?d%2usYZBT7gZBlJfZBuPm z?NIGj{iNEb+OImOI;1*`OLL4&Rwg@>lQ}YTOy;=E@tLWa#hJ~Src6twJ=2-#&b*O% zE3-HAcILgz2bm8uA7wtt{4?`K=F7}CnQw8G_OC2rmMhDX<;(JCwP$r^0a;)clm%yD zS+ld|WX;c7khL&tan_BjTUocW?q)s6dX)7?*3)cS_PA_uc4Br?c1m_ywjz5$_R8#| z*}rDr%6^jlHfLB)OpYWcBd0FMpEEmWNzVG5T{)+6dUNjP+|PNK^GD9JoEJH-bKc~< z&-s}1Dff%qez}8lhvj~mOURv?E6q*MossL#_2l|<+jBc}f!yv~C>PG1pZiVjlH8@a zPt^U?Bz1&(sya^1R}0i4wL~pdC#&UZg*rp6QfI4k)icz2YMr`VU8$~C8`XYwhZ<0W z>RD=3JzG6by->Ya{jGYZ`nLL>`hoh9`VaLp^$Yc@8Qn9M=k?9&pEn?HVBV0tVR>KX zh2;_RD0#FzdR}B6BafNK&P&Tv=Be_s^K$d@@(S}bc~|q3^X2*J`HFmHerA4lzB+$K zenGwlSNuxy%ks4|A+jY`MV1u3#Jvc6qpOF1@;1GL0f^h zz+bSY;9y~NVN79c;mE=i@J-J7p*VaR&=`PQqk?Adquw&JuZ4$^t|Y$W~hd! zVQ9u`#%m^Orf8;Xc$#>PNF&o^Xf&Eqja}o^v}wGWc1@?IO9N_VYnE$PXjW_1X*Os! zX|`&%Yj$d*v>a`$cBFQcc8qqM_G|3~?PTpVZJd^?3*_Gl4p z2$u?%6b~pKTs*XRSn=@Uu;TDyaxtZtUL0A>EM^t6i=&G<#a|W6iW`cJ#m&X$Vry}0 zv8%YP_y8^&epT{y$%K-LC6i00mc*5CO9UmN5^;&7L|T$mA}c8_=_mn8x=VUW;1aB4 zPRTr7j83SN>56rwI=!w+SF1DVX6okY7U&k~7VDPkmg`pNR_WI0w(1V+j_OY6PV3I; zF6b`le$!po-7Mvo#+M39MWvEbX{oFax7D{Ia4lO_{c=vdmq!tZYTus0p?q`sw({-eJIZ&L|5(1K{8v3$Pu0`)5qhSc zt>@@t^?CZu`mOqH`XBT=^}F?Z^grqM>ksLF)*sOy*Pqaz)ZeR!sTf%?x?*g__=<@Y zlPjiH7%NUzoUS-iakk=o#l?zC6_+cnR@|t#Rnc2WHzbiji^{MJt)xT;`)!?cjRWViNRd{k4ugKO{HC7p` znyZ#q53T;Pnou2HO{}I=)2bt?Bdb}}(bX~4vDKri$5fB4o>Hx-HdeP(o2zZrj%s(c zr}|}0VU4z?q()a$TBEP2tf{G~tufThtZAxgt})kGYOFQ0YPQwvsM%Gsr)FQx!J5Oh zV{4_girR|W>e{+mL+#Ak=2~;DySBR)s)cK@+BvoJYrm;oT-U#DP~DKap>@ORzN{nE zk?P2Gw7Q5oMjf**s*YV3T{o^S3GZpu<83WtT}z#%&Q|xPUR$rLFRL%F*Vk9pSJ&6o z*Vi}JH`TY)o9Zp~)_Pk#Qop@^SN)Imd+QI>AFe-QpctHnHiOsTGx!YwL#Lt3&~4~3 zAO_43GR!f|HOw66fj09u2kz}M8>BbR825xdj8#%^U<4EHuqu5wutT#3ojmBoY zrEW9gIg6&#P3M}rJI%doYb7$+||6Sd1Ld==7Y^An=dv0+5A@vvt@M4gcfc~dP`=Drp4IO++u36wzRf5 zTjsZHXxY@VrR9f~oh`dtertKw^1S6`%bS+>Eq|E?m?BL~Q1ojhnb0HvN_5;%^YXu znd8j~W{Fv0#;rCpUM@D*n(NK&=K1D@=0)Zu=I_kQ&0Ecf%}30~%qPuf%)RDEmM<)W zEHuj)%Q(w;%S6i*OR^=;QeY{v6kAFy9t&c@EVC{1EDJ3wEjul{Eqg5cEC(&eEWcT< zS#DT*Eq5)?ET64kSo>NBSO;4<)~VL%R<2cG6GuUM~HZ`wq*Y@6DahkK|6HjS;=ro$g~*4wIVHMUxt!Pa1F zv^Cil*uJqXv3+Y>X8Yc@(ze>R&UVE1**?fV#6HX(ZYSGm_7V0-JJUYeF1BacbL}(i z1$K>nw|$TOC;MLe0sA5Q&-Nqs!3$G1*so!mODHLjJ{ zDs9bgt!b@mHMGubZEg*;&S{(bVL9eo^q9sL{w9fKW19m5=94x)qXpg8D` z5snB4)4_EZ9d?Jq;c|E!en-I3>3|*IIkq~sJ9avLbnJDUcHDH_cHDJ5a6EFncMf(A zbAIUzcaohk&S}m#C(jx0OmJp6OPpm+y|c<$>$EumXSWk_!cNTjopY=62j>pwZs$+V zqs}YNtIq4rTh2SqH?9G$L9QXL;Vy!U>6+l0%=N_f)sco$5|=E8Usy z68B7Zv)kmhx?A0Vdx3kAdx`ry_xJ8??w{Sq+$Y?p-RIo5+|S*w+;80P-5=YAv_-Zt z+oIYyZ6n*JwI#R7+tS-I+OpboZN|2iHglV;&C%A?hIx*7j(bjePJ7OJe(_xJ{OY;v z`OS09bHj7XbK7&*bKmp3=aJ_R&r{Ezo)?~1o;RL%o)4ano_{=_@$gq)Z-4JV{I)w3 zZ=i*F!*R!s>K)-_c%$%;|42NE{?&hyE7S05lfWzTO1w$l6ufw(^k(9Tl^J*>RpTx8 z>i#d1TJ5dHi$0Bb(%j^=dhK3^*M;AU{dm9+@Pc?26ZOva&hswxF7__7 z33oiV_HA@6X<&cpUU3Zt4Ak-D1LGNh~J#? zGmmeeZ-{TWkKiNusJ;-zeW0-#FiR-vr-e-!xyGkM9%u5_}S$)F<<$ z_~br?PwmV175b`u+kLxyKl=9i4)_lHj`~jcPWsOHe(_!OUG`n|-SFM=-S*w}eex6i zO#dkVME?~3bU)WG@C*IP{w#lvU+vHL7y7mS5`VS7&TsHH`UC#O{+0eM{vZ8^{YU-B z{U`mm+vV*=?S}Toc4K=}dvm*~-O_GrceFd(+uFVD{`QXc&h}t?cl)yTP3^nd54WEU zObJX2#09tkUO*5K1`+~^0cjvPkQzt}C<7S*RUkW17w`wbz^niom>t*>xZ5$XV`7K0 zqrM~9(cJ-c%<4cpHg@dn_@(1Y$BWK^orF$GC#&FB z+!Wjr+!ov(+!@>*+!Ndz+#fs`JRCd{JQh3=JQX|>JQqA4ycoO`yb`<`ydJz6>i(#P~b}-93TTUAOc_lY#;_01&js8 z0~3KMz;u8I!~+R{1dswUAO(;E>3|YY0ogz%cAGHgFI49e4~p1)c-1fH%N9-~;dx_y_ph^+i|TuKryE zy9Rd+>k8`%?;>?kx@cV^x+1$+U8B1ncR%U=v-?H&tL``5@47#9f9(FJ`}6-6zrgcJ|o7Bqk}!Di45+CT^B2ECvk41k>=0Cs~AI15C;5H3+K z02hHvz@^|aa0R#;TnBChw}3x@JHa2pz2E`xFnAO^0iFiWffv9_;BVk{@D_LnybnGE z{{WwYe}XT-*Wf$wFYq7mU#KrM02&MpgTf#pM24sk9g2ilP&5<^jfTcSUqh3isZbom zhlG$Al0q^l1(HMQkP=csSx^q7hVr2zNDJwpa@@wQf@+{T$N)7$MyMGwK^DjcwL(tF z4S66R)DCq(L8uFYAQ-}+InaFQ8)ymi9rQi43R(+ofHp(hpdHX|=qG4DbO<^E9fwXq zXQA`Zuh13f8gvu74c&u&haN*uq36&m=q>aC`WyP()2F9@&!C>6Jzw^O_mF#NJrO<3 z9(GSm�cUJ>z>O;#&9g9$rr(+z%cI4}pilVK5PLEIb+>2Y(Guf~Uf9 zFdr7eVps|%!*W;wtKe){4d=r}a4}p8>)|T67B;{$;bzzj+h7OmhP`k*+zEHV5Ddc@ zJO`c+e*-Upzk|PrSHWxH4e(}o8@vPF4gUo1hY!I=;N$Qq_$+)L{uRCgUxRPLx8Zy6 z@9<;zDf}FM1;2$qz<R&WDqhG`4S07$OsLIK$r*{i9tpoW0CR5L}Usw9pNGI zNCJ|G$dFVd9mznlkX$4WDMYl04kul5=os`XbOJgVorZEz0V=|M z^dvL|O+%GvCYpoJKnqX}T7s6L6=*eDhc=)_v<0=GcGQWsp*}Q#2GMS`2Sv~jIu~7l zE<(RWm!T`rRp=UY9l8PCgl<8%q1(}&=x%fmx)FxzVDqpA*f-c>>|5+RY&o_9TZOH`)?pj4P1qJ}8@3(WiS5SrV0*Fs z*g@2RNAF2pdhm4^%ygi8j`u6?r OmoWdo-~ay)wf_&Aq5cX0 diff --git a/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/English.lproj/Localizable.strings deleted file mode 100644 index 36ae0ffb3d2ed207a1a73be03bdc898c3306466f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5454 zcmeI0O;3|i5QXoWU*Pf$1{TKDxYZa#z{HIvqDD#B6iTtNU$#Yb<4;%5GtpYb;8?tHH zqpNtaBRjEpRK|0U-NHs5jP>cu?_)jV|43t}8hfs1JZH&$4z5}V84f0cs^f6d*W;?XYS6ivk&Yx`lsotlhRiXB;*}eXhR`YIZD9;RmV4ibn ze~#$B@Cq)z5N=>TQCr-&u!cuMttYj`>1mws>X^HT3#&UCSUA&u6GPYAVu#Bta^H7^m$PPQmi8>}P%z>) z;+5#-!o zQi*&wJz8hO>JhhN(XMF;>d>!{SZuwWonL9^W1YxL+k0H?zT9&=7QB&yk}XoZvSoS4 zU=AG28U9v}K9E1;gBb7cIV0ZdIq!_01LG<+YtFvdlj|(^)GNM~Uu|)oTtqea&DO?S zl;1NiJ9(v@wtDSMjYq}jbzq|>=951oFaA({+ge(+tA6VBRykDE@%O=IbS%<9Wie-a zJ>k(BnP_#!W$r*$k=KS=jY>YP%!=*Eyq;RVB+KP2d>tt_x(!`rK{Nr4$Xfw52emP} zaJjX0eqL8aQ6DD`Aluj4na8Q*$<=sxd{wv=)mmN69%x1GUwJxStt{Jr$05JP#hI_Z z-ThA-suiq`MQ*dy#RKumZ%{qOZ%-|g1+BgMoYc{%CSYkt%3j;>UfN0Qu(vA^aRa+k zahkH-q+ajZ{pZ+p#_Q~ek)|xJ){;8Z_vh=+tS#LW8mZ^Cb$LI;cD&_Ik4F>D@n2Bd z@~CTmdiJ3YWk5e8H@utQ>{jb@dg(j3(uGnVX}A1E1J$oR|NASiN9J##;kTR`r;)Hd z7PcVgd5yh1AI9Ai%?!-reh_(&+uFqRe^Q7skhB;81Eclod0G7Qy6)1r5&~K+Z4G!W9tqj c@JqZGQL0&5pN=a-M&5E?B3$=vH?Cg40RXj}Pyhe` diff --git a/hw/xquartz/bundle/Resources/English.lproj/locversion.plist b/hw/xquartz/bundle/Resources/English.lproj/locversion.plist deleted file mode 100644 index ebc3a0a01..000000000 --- a/hw/xquartz/bundle/Resources/English.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 105 - LprojLocale - en - LprojRevisionLevel - 1 - LprojVersion - 105 - - diff --git a/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib deleted file mode 100644 index 9938c0f43..000000000 --- a/hw/xquartz/bundle/Resources/English.lproj/main.nib/designable.nib +++ /dev/null @@ -1,735 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hold Option or Command while clicking to activate the middle or right mouse buttons. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - When enabled, clicking on an inactive window will cause that mouse click to pass through to that window in addition to activating it. - - - - - - - - - - - - - - - - - - - - - When enabled, creation of a new X11 window will cause X11.app to move to the foreground (instead of Finder.app, Terminal.app, etc.) - - - - - - - - - - - - - - - - - - - - Launching X11 will create Xauthority access-control keys. If the system's IP address changes, these keys become invalid which may prevent X11 applications from launching. - - - - - - - - - - If enabled, Authenticate connections must also be enabled to ensure system security. When disabled, connections from remote applications are not allowed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 2b14fc012b76bfc71f834a4013176506e7523431..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43773 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 diff --git a/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/English.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 11e1d9ce80b710dc5d786840577eba76ea494d6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43798 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 a3Au*cmH0|aR8rFa&Cb35Z~p&I?*D%eS1IxU diff --git a/hw/xquartz/bundle/Resources/French.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/French.lproj/Localizable.strings deleted file mode 100644 index b7ac2a825ac0627b3ec9583dbd133e944b38b56d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4536 zcmcha%Z?jG6ozY^CxBgv2o@0-u|^1u0ul?Z!-R{(#^X!I!ET%Gb|#Yr&%&dz9oDRY z|2xNrs`iBpC_$F(?y5TX|6J;iKhwMELCWc)v`FK$OzZSmZ@u1nz0LG|ov!rX=;^1l zwRLtIJNH1;_tG1pUTgnGzgzvcIuEa0txyw%PAB~gT5L_i zSpI-hmgFm=f2{W|jVcdbh<0moPH9>!@u*IWqBRS;{JQwI`ut`*TD^r0x0MYg0yCZS z$cEIF_+jl_-`Yc2HsGl&of}D*2|)|PRbvdqFV~_B`OJ$QV+G zKGYjD-xxBUN&+}$1sTBl59`iVqFMS@XiYq!ZOmTx^NTHZO+9{FAqhX?iOz7HcR1Ux zrk_hw`pH_6Ema+luBF4m{7ChO!`p9g`sz4NG3B2 z_5M!bbGTDaC11-vCMUWGbKf)Ljn&j_@0m#Q`MT%|CbLa*WIUCK9x*d|I$w0OpEb#j z4!AO7QCCLk2hs8U)+nZub8TK3c3YnWJeQ-s9 zEqPw3uyw7j=C;q(zo-~g5O{fyWm;egezCT7XFXl7Yd_%GrFh5WLbYF5mksI6ZQ*rp z9o{pd?;pk>yzNnf^Ik8PA3y;X;gx#o!fxuRcac(QLmCzJ+0HZE8NfnJ4$c*9MOUov zOmuFh1E%dO{o>`Ej^m}+1b@2t6Ls<8wNFJ&dcK{;B%2;b5gPRy@8?*8*T{N)9 zT)#D+I|}HXNT5sMH@G^Yd^IBCc{JOhjEvdmO}Nl zanSrUL?oUnsEl|W;+dZ56W7}CHWpX#2bQQ8+#Sc75yG2+*u(o!o%`G|iNH#n>iZ*c zBpy*O?@m+dcFZ=OmmryGeb^5k2_NJvIv~$Ifu*I=<@{Eq$wRv_O{~88EEksMG~_l? gyz3kKxnz*3*cSgKhv-S57%iBuV_w;Dmky@+Uv1_ZcmMzZ diff --git a/hw/xquartz/bundle/Resources/French.lproj/locversion.plist b/hw/xquartz/bundle/Resources/French.lproj/locversion.plist deleted file mode 100644 index 04031c436..000000000 --- a/hw/xquartz/bundle/Resources/French.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106 - LprojLocale - fr - LprojRevisionLevel - 1 - LprojVersion - 106 - - diff --git a/hw/xquartz/bundle/Resources/French.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/French.lproj/main.nib/designable.nib deleted file mode 100644 index 8ef2213b9..000000000 --- a/hw/xquartz/bundle/Resources/French.lproj/main.nib/designable.nib +++ /dev/null @@ -1,760 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quand cette option est activée, les raccourcis système (ex. ⌘Q) qui gênent parfois les applications X11 ne sont pas interprétés localement, mais transmis en l'état à X11. - - - - - - - - - - Maintenez la touche Option ou Commande enfoncée tout en cliquant pour activer le bouton droit ou central de la souris. - - - - - - - - - - - - - - - - - - - - - - - - Quand cette option est activée, les modifications du menu d’entrée pour remplacer la disposition des touches du clavier à prise en compte par X11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Active la commande de menu « Copier » et permet la synchronisation entre le presse-papiers de OSX, celui de X11 (CLIPBOARD) et les mémoires tampons principales (PRIMARY). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - En cas d’activation de cette option, si vous cliquez sur une fenêtre inactive, celle-ci deviendra active et le clic sera effectif. - - - - - - - - - - - - - - - - - - - - - Lorsque cette option est activée, la création d’une nouvelle fenêtre X11 fait passer X11.app au premier plan (au lieu de Finder.app, Terminal.app, etc.) - - - - - - - - - - - - - - - - - - - - Le lancement d’X11 créera des touches de contrôle d’accès Xauthority. Si l’adresse IP du système change, ces touches ne seront plus valides, ce qui risquera d’empêcher le lancement des applications X11. - - - - - - - - - - En cas d’activation de cette option, « Authentifier les connexions » doit aussi être activée pour garantir la sécurité du système. En cas de désactivation, les connexions à partir d’applications distantes sont interdites. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/French.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index d81fadbe0ec217a486d0b715f2e25267b4f818cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48856 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 Ux_ zLsu2>{m${xy|yP+KmkRLJ@?N!-}%np`SY*zWxAKD^f=XNlxAs>&h*sjsngS`e!oet z_1);#FKKP->^64po^Ibtw{?4={dfAm)_1G($eL+|`y-w1^sBQ|A*D(`rLXk&K=-S3 zU!U9QX?mYdq_5j(d?8I>@RP`@CH-8IYdcq^vGzeXvH!^WT8M7-T6G;uhLQ#9MOvD~ ztb3%D6SxuhO7kZfFSn?zy4k4qkKa4$}8x4)3-?;MhQZs%Pg8^oumrr`7#x zqr>f4+6rhu?!HAAD~`qefwb`5Z+4oMI0YI`M?6i83s%9}$^vwQ8q2QsV}Eq6%nzM$ z6!Ga1_k6?ob7_i*J(L!ZwpuIq=fVIVWmM+<14StNYjFh+!8B3o$gdlL{|qfriN3xF ztija(!@6b-nRKZvJ<^AD_JO@rVf2eaa zMbT=Lp{>G$k5=Kw9iNAM$c4|MjO3g_Zsp+cAc9)vDvMf>w6z9jK2^P;=7D? zubrJ)-xpm(%X{f>3_UWO`M`E$=&`WT$%XhG>qJB+-KwfS^T?|{HEY}CsDq8Q?qud~ z#y0ovrB!F|7W?)6nb6YRz)aWld4U{Uh`-u=h=0bGE9{?{W%T~m_=>s?Z}gEjMQ=RR znVGm*+qBT^^p=~|&9w8*;=K>alZ}1E2gv^qRF8znYs#$PWGF7iLU3x?2&3B__vTo6 zD*Y$2_gm?jsnX}_<2wi1p)yRh|6gJFLB6NgWZe&?4XddR{kBI$!9>3IOy|j|ZKSWX zN+pXs{+w@pCl0o69O(uX(DReoG4Af}WGVYQ<&5MNg&MLJ%T;=7vaz}~{;3kwIiK)D z+bca&eVGfG!hH55I=N511R?JPziOr)>`9$!pK3ZtKkFQyAMM7(au80?o970fN<5Eq zZ|R$BxH}grx?>}0bfb(i&wx~KDm&GjzL0NW>q3>#F-$GOi1_ktgdRZ@P%%D^HtJ}w z)Q`F30cO3g#5BNr3mrcu5T?zLx6&Tbm}jPa9|YU(B`V_1Twxv~-|1vb_PLs4H?@?S z+7wkbCLX%VTVok+slqY+#Wd#q-n~}N$A`uo6?ts;c_)MCnC?7dkoQ=q=ub7Bs4t?_ zmokGd4QW`=_Xa~J#ad>7OOtzM@~iZXo_IS$8!lnxOA8!x=pgS_eF&}vJ zv+i#MNMTBgS(Mq4YERTS<7o0H@9Jb*#1wLNF)Mr|c8{TV$m zvqbL4#MMYXZzt}tO7B^)S4JKZci*nc?B$&sZ!^L8TU;$0{ml$7M8&)Qom_ciGI2(> zEBUdiEmoi#JwCrsQ*(`~s?Q4qk1U3m7Gu7T7_Y==DQzIX54O4wz4W#2ZJ$HV2aEII Ol^L9q=3Qww%zp!X4i=06 diff --git a/hw/xquartz/bundle/Resources/German.lproj/locversion.plist b/hw/xquartz/bundle/Resources/German.lproj/locversion.plist deleted file mode 100644 index 62820e18b..000000000 --- a/hw/xquartz/bundle/Resources/German.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106 - LprojLocale - de - LprojRevisionLevel - 1 - LprojVersion - 106 - - diff --git a/hw/xquartz/bundle/Resources/German.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/German.lproj/main.nib/designable.nib deleted file mode 100644 index dc11b6423..000000000 --- a/hw/xquartz/bundle/Resources/German.lproj/main.nib/designable.nib +++ /dev/null @@ -1,758 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Halten Sie beim Klicken die Wahltaste oder die Befehlstaste gedrückt, um die mittlere oder die rechte Maustaste zu aktivieren. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hiermit wird das X11-Hauptfenster aktiviert. Verwenden Sie die Tastenkombination Befehl+Wahl+A, um den Vollbildmodus ein- oder auszuschalten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Aktiviert das Menüobjekt „Kopieren“ und ermöglicht die Synchronisierung zwischen dem „OSX Pasteboard“ und den Pufferspeichern „CLIPBOARD“ und „PRIMARY“ von X11. - - - - - - - - - - - - - - Deaktivieren Sie diese Option, wenn Sie „xclipboard“, „klipper“ oder einen beliebigen anderen X11-Zwischenablage-Manager verwenden möchten. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Bei Aktivierung wird beim Erzeugen eines neuen X11-Fensters das „X11.app“ in den Vordergrund gebracht (anstelle von „Finder.app“, „Terminal.app“ usw.). - - - - - - - - - - - - - - - - - - - - Beim Starten von X11 werden Xauthority-Schlüssel zur Zugriffskontrolle erstellt. Wenn sich die IP-Adresse des Systems ändert, sind diese Schlüssel nicht mehr gültig. Möglicherweise können die X11-Programme dann nicht mehr gestartet werden. - - - - - - - - - - Bei Aktivierung muss „Verbindungen authentifizieren“ ebenfalls aktiviert sein, damit die Sicherheit des System gewährleistet ist. Bei Deaktivierung sind Verbindungen von entfernten Programmen nicht erlaubt. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index e959734f0f27f68134119cc93f73e4072f7a91d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47948 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 z 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 diff --git a/hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/German.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index c7bbe16dffca1255397c9c4b5673beab91df17e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47973 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 diff --git a/hw/xquartz/bundle/Resources/Italian.lproj/locversion.plist b/hw/xquartz/bundle/Resources/Italian.lproj/locversion.plist deleted file mode 100644 index ce31174cc..000000000 --- a/hw/xquartz/bundle/Resources/Italian.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.3 - LprojLocale - it - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/Italian.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/Italian.lproj/main.nib/designable.nib deleted file mode 100644 index 22ccc95d1..000000000 --- a/hw/xquartz/bundle/Resources/Italian.lproj/main.nib/designable.nib +++ /dev/null @@ -1,758 +0,0 @@ - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Se abilitati, gli equivalenti da tastiera della barra dei menu potrebbero interferire con le applicazioni X11 che utilizzano il modificatore Meta. - - - - - - - - - - Per attivare il pulsante destro o quello centrale del mouse, fai clic tenendo premuto il pulsante Opzione o il pulsante Comando. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Abilita la finestra root di X11. Utilizza la combinazione di tasti Comando-Opzione-A per attivare e disattivare la modalità a tutto schermo. - - - - - - - - - - La barra dei menu diventa visibile quando il cursore del mouse viene posizionato nella parte superiore dello schermo principale. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quando il riquadro è attivato, la creazione di una nuova finestra di X11 farà spostare X11.app in primo piano (invece di Finder.app, Terminal.app, etc.) - - - - - - - - - - - - - - - - - - - - All'avvio di X11 verranno create le chiavi Xauthority per il controllo d'accesso. Se l'indirizzo IP del sistema cambia, tali chiavi non sono più valide. Questa situazione potrebbe bloccare l'avvio delle applicazioni X11. - - - - - - - - - - Se possibile, per garantire la sicurezza del sistema deve essere inoltre abilitata la funzione Autentica connessioni. Quando questa funzione non è attiva, non sono consentite le connessioni dalle applicazioni remote. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/Italian.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 961fb08b43c4a4aa6cd5f27bba1185d6a9690bef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47283 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 diff --git a/hw/xquartz/bundle/Resources/Japanese.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/Japanese.lproj/Localizable.strings deleted file mode 100644 index 9c5e08745cb344591f1dbb1d9d6c41ad48d5b492..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3688 zcmcIn&1+m$6u;?8`xofSXNw;c8Bah|EFwupC?sjqNlP=dcAR7~naP`ZGtNhnSy;7- zG#P_1pnIzXTnM^R)I}G9t%B&L){O}5LNKLW#GSSE_q+Gqxo>7(LKMR=Gxyzl&bjB~ zcRt?Td+JGbNO>x$iYlv0s-hO~)WA~%PxDwWs{;N5tX@$~z0cD?(;Wi$esuuc6`Z&5 z+r)nj^psV?4*9d7ZeZ2WR91?oX4Eh~FM!`u&*OU_-0`II>gdt8<&@;*yj+lVtdg=I zX&Jxw5U390&i%1^??%@VXhXd!sv6p5^zfi(6`vBUo5Pw`RzO<^?K0N1$HNn?sA5%A zWqjsU4l7d6YkQx-3GL0{-}=LG)4z348X9WR)Hh_+l9uG*=7Q#5z;j(CoNwN1!v}eM z+wemRD@G*LTrSEr`9nUFJMxA6E?ZIo&6N04XZ%_CZs^#rr)RV`ld>qu^!@oiH3g)k zhvi*)N6vwM-;SP*M?_tFrlGaAm@rXJgaeo}UW+VZFpo2X z6MBVMs%s2pv75k-lkQMN9Sjb+a(DD{+k9gtQ}e3UeF--(OSwZC2D#BJk812Jwb6~w zk$%5Wy72}zY~a3{_O98pH|(U5v3&&oGKdMZrbV46tSihjn_tXU#*S7+{BiJ+gAb?? z?EBbduJP1Z6acY?l65N&kJQ4Q-dO&3?FVa`fBLS@!OQZYe2IL$DIZC&dSmLxvm4UU zIhjUoPfI~Mt8bJ>!+dQIOC1- zWsbu4ta_EOnwm~QWK7PB zluO8)-{kv&*i6HkEbz=q$=PB>OQnshOQtXI4l|uO9nHMOiGlNjnJPT2$j|C-tM)le zONjxgd7N{`OQ(bmcMen8$bv|`l_AdSpO6O=oJD0Eo#zMaev7X7^FS}7EOeGwX$7gQwk5N4OD39C$ZAjDe*N#4 zAB)q~SlP9v)A}oQRrl8+|6w7Iy<6%!6 zoJOOlDH2N&oqeXeJeVNDw0EP@otlgL=fN2T<&?^ zqjXnv2oza;~cwhSmrmy)t diff --git a/hw/xquartz/bundle/Resources/Japanese.lproj/locversion.plist b/hw/xquartz/bundle/Resources/Japanese.lproj/locversion.plist deleted file mode 100644 index 4dce0add7..000000000 --- a/hw/xquartz/bundle/Resources/Japanese.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.3 - LprojLocale - ja - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/designable.nib deleted file mode 100644 index 72cbd4840..000000000 --- a/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/designable.nib +++ /dev/null @@ -1,752 +0,0 @@ - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Option キーを押したままクリックするとマウスの中ボタン操作になり、Command キーを押したままクリックするとマウスの右ボタン操作になります。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 6db6eac51151d0fd1037d99e88c5fda6e1d71d88..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45975 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 diff --git a/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/Japanese.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index e0b6c160db1b43c286735f9ad50b0c87137f4d23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46000 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 E2cDFc0RR91 diff --git a/hw/xquartz/bundle/Resources/Spanish.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/Spanish.lproj/Localizable.strings deleted file mode 100644 index e81452da812a275d821e228cda208b833d8c217e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4452 zcmcJSNpDQvRK;r;b@`K&xFUHPVr%dkw!yqxQ8t+%z_PW60Qp6hp} zr{Bva*4drKxre%auiV$|x%OY`|BZf^I*+W0R=7XZ>9wBLaVn*B<(Klg{=U-vu6(I~ z_si>YsJrKqvb;VEh7+x>LTaa9WRG>i>#dwGgy!B(i{8hIfpCI&UKY}Y#YWgk<3fLE z9qAeS=h|QC#HF6G6kOQ1(9^g~^>-@N_;jr&Jn^Y^@WhFJ(^K^}p2tF;0mUXX49i7G z>ZJL3+&|a*svI<4d#rV^fHEW+1eVr{9lWqA{p6XDi|VZ0GX zFoF*sEh94A>7*G8z{y$k_*KP)`!r$xgMRL%rdLp^__K9>Q zE5FqWcwtJrKb3wMwavVNq@wjAywJ%8PJzAN<;H%@m1F-6C%oIou`Z&HU&$(RhlpYo zJW77r2Q5R$HuBc@RVfvE^vY5&nCCoI9WcG#&P=C< zfP4|yFM<)9SV4v}qpdG3;%aHed3O%>{enJw1BC0SBzV_rso~!c+4g}vVeZTVDZHq8 zocRmak&ac3KOTJi;G;6o`fpk#SJ<^hGqKDkVb+=Au)JE?j^&4=uhsOKunnc9Ul-m5 zW~vFuUvV&^fZu{a_f(N=uVX!-$e=Pp7+7 zQ}e9i$xNoI)XHxZeH~!kgkI+_>~wDI^ToCoKz|W_A?9cU{cV`w%~PFp?fWx)ybumD z6^YJ1eEmwNkZSZJY4RPS)%PMC9K}g7`D>a(Y$0?#e5VgvvEx()guaCDM1L{d;L2$s^y%(upjswPPS(Z4_Nt$eR|DCGLekWyZxOi<>pR{;V>#6 z)7D1b?aB*TH4AI0`pmEG)ScRnWEr)S3QYx~{?KJk<37DJd*UCObq{VxJ<~q3`$73t z_xSg7+@Km>hEKNpwPy)uaMtGC-4=gNg@&FslQe2UMF}o{H5}{AQks}~U9a;N6=1Hu zXxq=!0jU#NSKOtUH<;yaN89#h*Y-LA=d8o5T>XG&Cz74B4^?;^eL80Z=DzegHNe$7 zCx@FcNN+nzNbXGo@&o-3i||T2w_!I`l&>An+pe#vjXL@wyo@!}--_E(;a2wQcAhSQ+gvOgxzt?fvi6%IcZJc|)ad z>*_N_6|2yV9#1CJ%vyuG?vn<=qxc#cMdk6-omtbBZD|LJU;B0ab>wqKjD890+@YAe Nw!gHS7)XDh{s%ZA{VM - - - - LprojCompatibleVersion - 106.3 - LprojLocale - es - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/designable.nib deleted file mode 100644 index 0758d9432..000000000 --- a/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/designable.nib +++ /dev/null @@ -1,758 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cuando esta opción está activada, puede que los equivalentes de teclado de la barra de menús interfieran con las aplicaciones X11 que usen el modificador Meta. - - - - - - - - - - Mantenga pulsadas las teclas Opción o Comando al hacer clic para activar el botón central o derecho del ratón. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Activa la ventana raíz de X11. Use la combinación de teclas Comando + Opción + A para entrar o salir de la modalidad de pantalla completa. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cuando está activada, al hacer clic en una ventana inactiva, la ventana se activa y además el clic del ratón se transmite a ella. - - - - - - - - - - - - - - - - - - - - - Cuando está activada, al crear una nueva ventana de X11 el archivo X11.app se sitúa en primer plano (por encima de Finder.app, Terminal.app, etc.) - - - - - - - - - - - - - - - - - - - - Al iniciar X11 se crearán unas claves de control de acceso Xauthority. Si la dirección IP del sistema cambia, estas claves dejarán de ser válidas, lo que impediría que pudiesen ejecutarse las aplicaciones X11. - - - - - - - - - - Si esta opción está activada, la opción “Autenticar conexiones” también debe estarlo para garantizar la seguridad del sistema. Si está desactivada, las conexiones de aplicaciones remotas no están permitidas. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index ef45ac3b113a3f2b2fd357a4841c2c7263e2efb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48327 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 OB;x-&|Nqxj`Tqc0g}EyL diff --git a/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/Spanish.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 8b9993cc5d51e76b9e9a5f51e60656a1e5eee83c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48352 zcmeFacYG98_dh;!XSU2HnH@s!p?63^N0fvfIwbTGmSjm5l5E^f=;&NT6tI8=5m2f~ zQ4|Y;1qCZMlp@$DRuoh$SOE3+K6iGrn}W}ykDu4?pD!Vs*_ku9oOABEr`>y}6z2JY zMTv<=Bw1pTBB_#1vP%vrc1+_L-aydjFBsd{6UfT-;af)IB7fnS#{MbOyjexTcu8Kg zF4J%iNgwE)?afXN0UeT@k|w#Nm`tNqTF-KvdY0t zk0G1#BbAg6QkTdQf^=dPaIxdQCbY z9hBaY4omMzA4?~s)6yr>=h6?-kJ3-l1?e~GqV%Wil-;r+SCOmBHRO77W4VdkM(!+k zk*}5q$?0;2JYJq4Pn4(1h4QuX40*OZN4`N`D&HdCDzA{&%IoCy@)mik{HVNBep=oq z@0VYcUy|RJ56Xw-Bl7$5C-PVF*YZ#D1^GAmqWlN5F*|dxN-UmLXAM~k){?bi$*eu= zz^-E5Ssylt4Q4~wC^njnVIG#td~6ykV#RDWo6i=q8`&au6T6k&#_nPtupik^imd30 zTdAtlQ?5~ZC_R<_%0y+FGF>TFW+-!%8=e5ib+oKQ|HXO-`jACwEq@5&#lQ`J?sT1Bm@)>0d* zP1KfZJ2g@5sCHAYlH$}9wYSLPWqx;1R zkE$=Juc?RB_tazRarJ%ml=`)LR=uG9Y?ExV&1Q4jG@ILI*s9s8+v?it*&5s0+q&DX zw)L^~we_+a9t#YJ1YQ%eKe% zwCx4kJGKvPAKAXO{cQWi_N(m=dz@XjSF=~Q*Ra>Kx3#ykr`Y@3)9eH6!|a*%$@W~k z&pypwXusZW+HbZmwlA?Sv#+zSw?Afo+Ww6FS^Iwb7xpjhXY60uzqbEq|HTpGa64){ z>NpxZnmC#|IytU!^l%Jw40numjB|{4WI3`OUPrNGo@2h_I>#c%O^%x#OB_obcRKEK z-0xWH*x=ae*yeb`@v`F;$J>sBj#G})j;|bFJ1#jcJ5{I6X?HrDy0f~op)<*u?Cj>e z$~n+E$eHfUaArBPoq5iD=RD_p=Z(%q&byr}ocBA|I(Il9aX#hT?L6Ro-TAKbknqnq)plx+X^(5Ww5PP^w7uF(+RNG-+MC)T?XdQ~ z_JMXvJFR`GozcG4zSAyfKWmq@-(8AJb!je_OLtXvRdLmH)pFH$CAgZnnz~xKTDy{5 z$*#_>F0Ssbt6e=^ysso%#dW9aF4x_zRj$>pb*@KU zJ6(HRPrIIRz2MsCdd2ms>rK~Nu0yWFuH&xvT_;>8U7xu=cYWpJiH-u1KV7uRLi z?=dV!iE+kgF?x(UrbSg_H{hu2?I`ZxNw`gi(y{d@ff{YU*L{eu3p{)_&r{+oVLzocK* zf7ky|3-mwTl3R8&x8hdaHn-jFa68?a+vSdN$GYR(y4&qG+?Cw%?#k{e?yBx;?&|Iu z?wame?%M7;?z--J?)vTocLR4rcO!RWcN2G0cQbc$cMEq*cPn>mcN=$GcRP2YJIS5w zZtw2k?&$91?(FX3?&|L5zRKO*eYN`aW8e>;=a{=oBMY6GWT-#9qv2bce(FzuNv97pg1q@L&+@} zQY9%~sw`EJs!G+Q>QW7%X~PFs zlDN{Ivtfs%rs#7ssrh(xjNTmL$@iLysiN(vh0qPMJk--eQY)#o)JAGM&MLnEP-Co1 zZ*US`Ee;m>^R3Qq09?B<;jSN&l2Adi)E-R=&G^A}rrj#Aqtpo~99&%FLBG?zMH{7# zQfH~%$RX+YV!hc_;*S{pq;AqxQg`WU=^Ckrlp>`{J*8e!Z>f*eSL!GAm(rvG(m-jD zG*}uU4V8vT!=({Yx|AV}ltxLTr7_Z2X`D1(njlS-CP|snWXU5|z zCry*4OLrIE&#djx#rBl{l-+Syj%eb5@hH+MLzptUhNAIBUdN6V94()`GKEoV77q z90h4^kQPceN{ghM!1s%#CDKxmF5O=o$nt^(dV7OKz5>Alqlcsq@=WpOWg1OD?_6JA zHn^@R;LpqR26_d&0w&#?hmqkA2quaJ=V@k)DOo&rtJK_dfv?6SB}HBwlZ`iWpcY#E zaEEkfrcq@``Vilgp~Xdc-l7u5-YDH6-6gdHtKnJ6-LmapDcvhAHK}6VY-K_>TqE6w zF5WM#mDZvC89tN=Mjz}gC{BY`8Z_OeVYbW$-*`d!ix$Uil=uc|lk|XD$*ga-_(0ks zZI!m6ltPjET_(}L;VLQlX0RE@{=ntX+Gdy|Xve295^W>S; z%^C(9GdHP2>x88C^DQQLS2~13g#_Ioy(_h|?jDhjW*QKZmZS-{ZG&_~YFE1J$3)jZ zpst&BL_2F!JH^Y?K7q^hBJf}*KeTJrnd1Zt2snqVn5@sM) z_(J*;%y1@(9iEiVN#Ee-JL$Z%2jeKi6UgxvfyC*>Q}R(aZl#Ku1N>PJv}<5C!cT(P z(5y8fRS4TG;NBY?HYsSmU_o~aGxE>UFVZ@*vDw6ISqk1_+)Ko`m!;p$re?D%GwwHK z85b>xVx;4xx@hsb^$I#C$4Pq#Tr|D8St}p1)+=PCALGXZ3F?ES^hkk(rh;m6B{?3P z6cX^Mfq-ZBM%=3`wF8C4R|~AFTrD(UHpo>md1U*urW4}JjBmNNTqiWX+nCpxpnVOD z?=^CLX`S3aZYVcGAwu-DG~1bN&G};ndwc~{j=+!HRN@cF&E)2C3%RA-%1ktenPbe! z=1jB273nJ17TBV$C*!9B(ba4dLO`;aY$g%y(jn8L+tN+$Aa^%gn(gs;s8#nh5`ReU zA*aZxa!}RH#1Iu5r@)&t6UQHHV=wfy@ zYhmCH3wWn`1Kt7*$za>IZHKqMg3t>U5+(GgpokElP}O{wV{F89Y0qQ z8po!412cRW0l{cw2IYLY7|6UDK-XBvoGI~jW(zbtlN1Gd#~UOv|HEcih%Wg?fv%h7 z#e}YS5CZZR=4bJ{j*GS&UkZz*|H3TH5f7Ltd}pF6U`PC zHUB${e2g&#%^xS4pJ`4qYmMsVFZ6i=!?XU2RrVqN+Y~k{y@MRNSI+EH#od|g+;Jo zBqUin%b+6SrTCDL44BuNwfsgcm|;`t2e zD=9eqnt#8Oz~NRg2J{a?xv=Eu*qrFe6; zIoq5?yg4#;c5${RG?3V}Y$gWMEOU<8(&EWE7&&aNIk#fI^ILp}rY}I#XNLyfyC_`ot(pC zTn#oEO!C?O;-bN@GkgWXe#O3QZ>CW%+@eAL9QbeYESRWj>!W=EPYzzmu~0{5XkA01TBV4N3JMS+`vv^Pg(Lhk(~D;3p~~7NO&Ez6)6vpAFVT|7D2(c!o~-FP zc&7kvh&+EFglD2;YB9`eSiEzndsG_iuZ%EfR41gRd!~9*!4wu^LRhPF1*8a!2xnYb zqKx)s7v%yM{Q^F#5#WseUJnpN9l`^2$08hB(5FBc^O;7Y5Ze(?{oUC)jy>E(P{__7hab5V!hBBN@yFe+i)x0KMUI!4=F(!I`*|6(%_lPAriR zzXo_aZ+2?-G*MCOPfUWxqD!awAEAS**agw8pV6%q5QZD9Ziz1a#xCOTMRe$Q>WZ`!Y*9j+ zOrxqLa?*leMZ{MFUT=S>(Nz1*<|55pWZp#enbHYS%?V)fWJMT66-U`o#TJb_C5Ecg z%p1)cIlEePBh-iPRN~lBA39s!4#iL^iE$+w7vbVfO1x58sUo$j=poE)LOOAJSTuZq zzMo{P(8xW&29bIt+aN7fs!LBOH9_jLL|keZ+JMI0f+hj6G}%;F>a!I}08z0Jh}e5hfhCPqvMozb4T zAa*hsc7E%Gxk;T`CnR^7A0m5-k~$GuL}WtSq@-8`7dnd4OX3@q-bx>(uX&rf(|iiP z5+zL;pbS(7DT6_yA<9r?m@*tA;0YyN$xucj96cJ>W0i5rc(xp!P7C(Q_7#!vqiGSd zbuUb7C6bc9keAIfOGr})KCqGy-6Y=dH7zJ^c&Pw^HH#V{v4!z2-lHOX1>#aOx0ts# zO1V8nV8Bq!M>TVMqm*&h_eLp0CoZ3iN9Ka#$|Q6k6FSRN%4Ef(Oi{9wY{jcg1=Hjx zxrz@&rRE9lfIz|2Tj&qa*Qr!@SeH!@Lh1*;bgo=_1!+WEy2#96}8J498#LFL zcO6#dQjA8Kr&?5(73Mt~6|O8$ZZKDx_nNEB)k1Hf5~pxi69gFdaSQSMgm zQ|?#pQPwHzl?}>9Vj@ydgclvx7yx2}$NAbL|mjhw_N>DBjgNZ0dlU1fU4h+eo}2AJ5;ySOdY@8^ZG?#oK( z2lsPAKTm$XCn33Qa>B5Hf2uF9f>zT@|I5GpykcrM{i~1P*x>Z^f%w}N?O&Mf=}p(& zaQ#@8r%yVryWslV4Bx0BxK5EI*0`{!=LlR6z;$-<^pUB!ZjI|5Qv-cR;`$m~e~??; zpRPMdl2T(%ZpLU_*TVIn>HdNAZbMv8EtoQ7D6UbLa&uO&*En1^$MybPZyM38F|NN3 z_(u>-OG#4oY;W&AxJEnFF216)jL`L>;EZ&-k9Mj@=H&LGcA_p@>@?4SVYr4gvNiSQ z^`m-Gj%`q3(J(3#-)%Dr@`g}dDY$;k8x;M;ce}GFH={r9C*wM!D3C$#qCNISQ+<8Y zaNQTz+j0Z_=|1{vKVO(9_zXC4wDkn~^uvAN#4#&SJc96mJ~}pe3q}$?!6S|n(kR&j zPlF$UUh+T`AU`Yt-Uc814|J6SuR}h56VQUz`0XdW5){ht0cyH{2q2#<{5<>yz0(E( z;s8pX3fMfnNhMijQ9zj>ty28LyOASGJ|pgBg=%bz8hh1y0O92X1fS2Lb-B12ES(Z} zW}$`o_}&Y5i}5T6*U_~kgOid&ffuU{^qjmZUxjM%GOXSSoZGq|Gcw2y4>m$WBB1B){VGej+m+p=UuKoS?G0yBByX+EA3rMv=1{eT}2 z@N1+TUzdoMJvOcM*YhL^#ekhk$<)#K1e7f|40J* zqQ@B`#M47HSu&&|*_BXAf{sK@KBU=Lfn<^n1&}?ZVJta8ZS%|H1q~}`o4uR8nZ1v_ z8Q!&|Rf4@YazXn_3HBtqkKE7!xb8|&YCSbcO@q`MDkZ3?$aqZ&U6Um2jvtbP*4)rW z?SZG)AQ!d^$;jy5q9qn?Nm^Fi)96tMU84vp9p)$r(T~{y^64cA%{?KlAge9xvcx3J zh@@u`j3oUyT zCZTn?pk)BKohNZ=5zOvo$fI6`Y?w_5EAN1V`6*K%Yxz;mrP7 zx+Kf8LynUx%QfZt$eeD4@OKya8pN#!$s^>k@?<$jE|81mc_L@}4tbTl9=Xyx_$osw5@sQ(r z$05h(j$fTI&icsZ?du%pEO0JB*6udvUgYV1>Aa*FS`)3CHdM>jW^1==o3y93gWBiX zC08X^Gi1hQARCsuR=Re$UUq%t`Y|RZrXey_hsXG0%$SuikH)+fa~e6S@yJQ-h5Xav z*xOY{n#Jl;^LadrNoVkD~h`T^|3Ra2@pt(I0TuiEX^9;^0VwTsp3R!^<&t-iSWj_QZ1|5BrNjg%VR z8cS+CQsZcii!~E!_Nh6&=JJ|P)%>`YTB~KP;k9Pgy1&-Twa(S9Qv0gfS+$qceysKf zby%I2bw<>gTW4dPH|t!eTd!`vx`lP`t@~o#bM>m#OQ|=l-d*+f*88e{<@(pu_tn3v z{`2*}PNUGU26!^9|}W=-;5Y!TJVoH@MWWS;LVH7c_jN;m3_!jk+|N+UTxE z`x~8aT)*+)#`79)Z~Q?Mtx1ueSRmv14K$=C==%;*$m>El7Gg z>4)T&$yv#(laI8IYu~s1_3d}J|Gq=34&Dy;cR1d$a>v0PZ|b*e=>vBt%*Sgxe_Uw9n*Jr!_)~!>wqHd3M`|heXS53ca+f`?}H|y^0 zzN!1CS2w)cbM^YGPhFF6&E#v=U302OgC3q98+v?_(kLZ6Wpm1xsV!2cr9PDUZO_D> zfu2wH{H0g7Uh{js&|B%efd*Ac@I`*5}?}h%h{sa3j z?|&?0OX1IO$u;HtRe=#Cy#Jmx&rdLkSOy8FNb4JgM+cQ2K*?eU2$o-?- zqb7{nI_j6vy+_|M`qY?qW9E-}V{EOlzOlQSJpjQXR}kX@5=tl zd$sot@0U}ro_fdBGdWl1+?n%LZjam*x#xVne5-ulPwPKz?X+K}51szt^gr`P=RK0| z%%7aUry#yydcjNndj47dcMDq;E-E~AZMSRhzV>`zU|@4l4o(d2E~)~f^v&Yt#Wxn8 zo^j2L)iZvbIcnzPvntIhnDyrDma`Yn{&G&=ISxT1$Qj?>4woaJiV~)LUZA#H}<=6`yzc&V9~LguDWUM z&Fam*o8MmCe(}AF|5%c}&jdIylv`jZ{ObO_WPIFmlZ5~ zZ+Va9TkfcI$DBJpy>sxLyY5Q3Yspg zs@zpaSNB}~$eKE97O(l`zU=!B-Jf#*jyZ5;oUph z>{$OuwMUjdDm_~K=+`?Z?|kpEfsgHfyvyS|o@nyKnkOqixn!5TYxb`5Pvt&!YWLXP z@9r6}XaCbzJ^kb}ZJ&AY*#^(9ey-|sx9@fBUAXtp=jS|s;f2B%&h5+D_v!x3{U5$K z=EWl~4S(tFmj}N5+ADoudGXcMSD%0F>erq<(CxsU*Soy_)Ek}N*!5<|H=lf~<6BR@ z-RbRJ2Rk3!{Z7|+o_@FcyL%7yIJEC@@58SgNjvh!(IH3QeQ)G@$B#`ocItTc@iXt| zz5o3OGd{TVp$Wx)$;ZaWD^AoovEgKklaHM0bn3a&y-&aSN%|)rewy{^+0TNXUH*LG z7ja*#__F?&ThAn)dG@QmU%m77_^&@dTX^=;xkcYp`ex0y&A)x(yOi(VJU{0A=idju z|MQ1ieysW9gFkinY5#>`7f$?~|MR6^mi$`t*Db$w`R&z8!jv(i-JUG#E{dw?drNi}DkP}}eQA$OW;}LV4x!v4qK4d;zNtGs{o@|lCMrxA( zh;WvYtMqNx^q%Fg?@-&2;dM^+@PF9{^u2a-=8X$?c+Wl(;_4yuwWM>?q5R6BL>IdgZYgJWJ09cz>VFAn{?Vh7b2wpWcU>EP4m9&=p* z{5|C92xT5YlMcYzE`(J8%d8Yd)k;KBwK6FB3@G~Sc*{{LNEziMRjaAhEhj0MqF0jT z0{t+|z-sOCEUea}paq)NfE^?z7DEQ%*_pvepjlw zb+)=%x~k5is;;Q&B~Pb-#ipJ3BegHRmS@9x7NGL9X!8H!f-e9H(`Jf?D3k()RLr)8(n7nQtp{QRqLPzZiNsJU~Ky1-WJ(4N9+9YkOa@wAhMTb-&*QghT?)u&8R zrz!hLPO8(DOf^rcq2{Xvs$VUHyKk5BxEfUZqs7HQ`77#7b(V@S4Z@GZ;HUOy`?5r) z0aE25f_fGg75NK7aUqD()I4N{U_}PfRz&>T3MGaY4tVlJ<^|#&C2*1K{M6!ER%w)} zB7}apK4hzSW+T`ZRavqzFkS`o#`o_sJON3@@#aDEb@Od=TP1m!dB|XyMu+|o>VbqT ztPw)$Yrun#Ao4$vf?QnS31^NaVD*Sdk4^9-AhFbQNSy~<%vY}i7m1dMeC>D4cM<(c zpXn>g%C-26s|!S!$!d{+v{F?zs5}({ztB9M_n<-yF;O_zT zrZAsQqy|sVEXqalNKS4U29+@4{BeK6qHn)!kGA@TA1SLWj_f{(YC=3~Fb$5W#C zxN~Rlar+KdSeSUa6Y+5sWuLlJ+N$QMITRvQr>c*skE>6Br@`46llkE2>FSd(ukTVu zsk_0yd(@}ZXVd~Lgu##U2JtvLuut8O&le?^#cLwTJmAgllbu7ESb{-=Vj+g$eaiEp zMLB%~{`|p&aEe>f1>L0l0whh9Bo|S zq~6|yJQ^cbjyUF*%tC+R$U^F!rE7H?H?%0%${h-d;Jf;P#5bugsvoHzt0&Bl%}>qG z%`eL>R-pD-i%`%yk>f9&Q`f0qs9&Phd(bK?WB5bEX?{lS9G~2=6Ef7HHhP0)a&NCt z)c5KSWr}i}UrfHOwsI@VhBIe#D-g?n)bAYR&UfXQ5M@Id~Y;R#v+0ib2V~Y!o-$v#)811y~BvZ^@`QWZH zqg`5Qs}h3N&F_#wBcLk+++?dA0<2_yPg6!!0XkDG?7U+BrLBRjVd%9V&0qhqG_f@= zJ2~1~v%R)9Bu#A1qom1C5CoVNFPJ}*H2LX@(!|!0q=~IdX=(C=B~2cTk|zJctY~Y1 zruK}?ilK?;NAnjL3WtD5WO8AKLv{`(9x%-;v0Q4rS0vYEdWy@D*fzj6Foe{L<{$qU zscKk6muMWek!b0t3Pm)Kdda*T64534LQ_GHrx92PSrOHnYULP(m5mCwj1@p=o&@V9N6ZMuajE<^26|4n2SqwzDYfGjS{ zTxQYeYL96tDX9~ot7H52lxX+&(KQV!ZZ0WGm7vVfZ5@J36h0C zL{J38C=h0a!={L^2n964fm8|!Va2Ej1X-aW3o;*XQaFjiBJ?-A3!71fPBvg;GbXsDAeu`DD7=d;!yNOOUZMWHO|2wL*ZJBL3_Av-6)FJk^ z-4j-*ZTA9ytD-4p!(J~nF>Pb?QQ8S+4@w^$289)A%}`&lD!9alP%=*=|1FeZ8QS+n zlwqwmgDQZuFDnOEWNvZU8CG++tfO}hE^8saXq0jt@;dMjGGOl9j#w|+xvLmXUBMsi zljhGKH#fOsBJOrfod15<(2JyYseaoM6x{l^6;+_CtEtq0(jTJtQlo#gJ@_a_&SPFWQc}-9Aq_zI4+*a_?|=8>L)t z(6~a2lmDg(Yr|R&8#$vwCag7Ca~TAzW=%>>NwdW&$pkO0e;3B7H%RkSkr&%kVBw9o zfY!0VFBf7Jq#g>;U|IgSWV;;ZkD6Sr`;X_Q^4gKz&i2|J0%_&7BQDqCGS-g^{U}1r zPGWBQr>4K{5^Ahm9&hMaoexBSOLp}ZH(J_danOPC9L(ZqagxzD)VjLXewD8PYM zLeUbfwnVP|EiagTFlzLc$09n`B8 zQR9u}(TR?=vm{IHJ_W!DBr^8;3H#`R2?fR2m;;`~5Wf5cnFUzrVA-o>@MZhP9`cZ3 z!r*e}e^;_#HIV(@=%H(0TUxTT=W@r$pzR>EL9#nLS=wO48T)@BShk^c+oM|t!LqZw zU>VNk^hg^={9VEF4QhF+JPm>DPS%iUDs)szo+N!ROAHA5HWb=jWH^xaI0Ji;SczPe z%2tHEj|KsbQkBBrM_}&t7n0WuehFGU=E*Coo7tbYzYrcFUAYXO_(`L({YCpr_LuFi z*k853WyyS2eOLVMa#QG8}uCUgZkjv3m&=)2$ z*6P4S4msIF6tqhmDk=l6`m!IbHHC*1qE!e`1|brzAKk+IN6y1sq225JHLwls5Q2 zhj|LTc~}gW48tqAL*jgdRS>>eg~eGVK^68O!YY}d{I{TWD5zrpff_m%jq71~kGTAl zaCq8(!is1cw!umF}gTkLxkc00bQXA)FYuW58!e?E_V<@bp&m00yDQgmTGksQKpWx-jG&pRT$=l zb$gJkTMA%08rUAR?At2BzBRXVxett7^I^ZS7CGgmO;gK^O~71QT6EBTGHuBrLe7yH zxFUB(YuqbD8D4xNQ#73QohN2vGFj=41y61ba(Gz!O<3Ov3oOexw(eRp`d^#eWWZ8c z0g-o4e=WgAP82eqsSFZ=9<+~~FQhGyFbru_crr#x!cU~lluvD$*p`WIxo&)-e0rN& zNcskC4o1d)TcPw2O_CGEY*Rv%f6-QTv;_&<5!Z%oRR=87Xj^p%mxo4XmjPE`2z#3n zhPW!s5DiKgA}z!aess?AN)aL`5!oVd9#CTuoKPA@?O)9{lv3Uc2&44r0)aXr1^GBA zrI>tbgi4yLh%{6SDRWd`G>Z|8MGQ+Fwmc*BHW8oTsYI%a7>876N^uQ;r)LoryRGCp zY5X5(0S*Li9f)E_C}cZlgK!nTt0*ITAeRS4=!C_!h#M30By|+xwS;-DKtM;;5(172 z6L3HY0SAW&=qcsItY}0MC+EX8MI(WTS(@YN+r>5)+S=Oi|IYP3Bh-8g=Ydl(`id49yE*<|T-M0tmGP%6o1gSdA(wo}A zAoGIDNkBymiT}PM5s^imAmf7&KnQ~GHYBdwi$0VP_urHZ(Cr;CRigOrXlcnXlFOqa z9G6m|8`Qow>;`qrv8IU*5jSWCO%n5j*-DJ^pC$(qpCshTXKo4F$RzRK$P8k>h=v-T zLW0m)iDCUHJG?xD7&{_;N;6PImmLJCQo1d^TkKAo&dk9#i}41dT)N6c4`-s~MM8>z z5kW)2h+=?t=m`DiA4DGPJ3*%#%Jbm}E|0eOuve);Yw;qrCm0%Nw1XZ+C8+J>5(xK# zaB2-aOY)T-a>SD~g^@S9^xIaiqp?Yx40De%S)jVLw^WSI@T4chs~%bzUfHpDV|eL5 z0a6?$kp^f-;c`#zNPt*3?6?Kn>e(+lZgbr3SmszRw4}*gzLv`?xV+hH@t$%&fbNoR zblmM&VSCWA5~|uN+fm0F=vyIOJ*0&}g^%d@5O7@16w1~lD1=;|I6P@|ALJK#vOU7} z>{#bm52ZOugWKR(hs_|%R;R9ZY({lktOCvVxm+m9^9)b6+P_`m52|-L9(L?NuyC4V zr)`OeZCJCooMT?(6bXZBZ6}5FUk|c4;6Qc2?+t%TD9ytGwXsYPB%8}#jA}~vXp}OL zJhh=9NRmk25dMOWl)I65MeWe>a5zWP@kV$q$+B`Uxja=&C1Zq7-y7`qf6>k3=q7aX zsBWGt*Uelm`%1bwD<#y;(43iU1q0i6B`;HlEBA9p$(;E`xSu&CbLO)WMpsl3-p?6zxjN$j&fgopKnl(@PLr5JKz{cooW{tn`Lo zmWK9Clr#>Z2Z$O8vJk>7IcG&jNpYc#!b;1!=-GhOi?W($E8HvX4WT=!_>JhDmUJb3 zk#qr)vZV8peoEiNGLwk>Kg4uHMngqXb`2oJ%wjIj5PC}>%CVdr_Jsbk zbO~oo)Y-ZGER4?1v}WOIrMQ)7P8uCWNoiRv4PcswLwxr?58g0VBEdRmZ?v#aG*)cq zN~{Q=#tPNV=JK3UxUuX{k+N5!Wmc%^IctSAJ?C&s)0-91^yZSLS6m7Mq-Br}@ePC? z>9pZ75YBW+NT>sBkfXpyVw~c0`!MVPKNRgBA@vSH55sjD>{+@u7Wb_3N`&vf z#mf^wwTaPGvvlw?kYP7i;b`wh!CihZ!{JO$d^MR&0Nc>;SC(5kV>czlSDd{y4W>8BL41 zyd;7q(mQG3b`H5D{vngrL!D2Q#}lU5r4r14`y-=WFF> zqg%OrTNp{m$g&bgGRcnYKn@%P3ur||7jPB%swX%GQSZG6eShqx`rQ2y*%7I8H zW0)piOaHb8)0K2~+Sh=DJt>c*u908YQtD=f26druC(ylY;lZY(J}4E+nz}6I&l<>i zA^)}IuB3=ODFd|E0F_V1ctkn;Pg7aR)bl^ujTNX4AA(pP{U>6<6u%=(EaBTA8nqWD z{C^-(LJ5h^SR`5&A<>;gq9Vvvl6}^uB!qNpwheoI2)&j@U};bhCp^KCmSJrXLI@>k zOEZ1A3=3_o1x)!sgGC0av2@6Swv$PKmJnV>X4PnEBbE!3d?qB5NwSlkPkzA27Q__? z4MNVz3Vb9JhDA-J<#c#;nDhIH4sX7}oxMyXAdsY+oaOiO5!%(LMUBW{?;z_hz#uY~qENWVG zEW5R|WrjzDh(`>4%eE|QlUjCXG_0k8QY(miPGj(g=kti35a#7b%z^lgxXg-G6yRG# zFD9NP-lrC{{l6e@0?6Bdgu-8t_dYJ)A0n?1+eFnQOBv`$R3+z1#Z>*RgsN>Us;-Gp zb*=eurjgkP+GTM8CT>jdUSyeETkNGvEP4s;A|47HC*Uv|Jc2TcO-+LSK-+{qI6R8d z`Eiuc3=cNr&M7YN2cab37GAYd-u_Qe))gr0_8(BTp356bPzK$VP}bFQgc8O&Bwq<* zmr5|!*TUGk2*x(jIJn~Njlf8=saE^p!TLtK9JUy!)r)Y2%4I|cle zMf??BcvE8Hn?Hpm?p7{uBmTky9MM-1BkURpBN2mL!7ZnaBo?Enzvd6S<+cbWqo_ar zi>Uv*n5=2aB{W-JNsE0fvWLkXVXV`D3o{pqJuAV8L}tWHw@f5UJEF2JHX{KVSw1la z#&oLf^TJm8D!jBB~r=6hNO9kFdM!{Oe{;FhZTZ~TRIJG zAdfEf$Z8`oH?c4614wELWiaU z>Mzx34WY0)L@aL^mu1zVe@jQKfcNHsE9UC zKBR667ZuUNihqAq!UeP^Bnd;yq6mOCMEQtom=YmqQnzXl2U_8|)f%EKsgA_a(F=Ua z^J;|GBfTUZjJ9kdYEGC}D(DC54v()Z@ez$7a#K@pX(U);Ib1Jsf3%w}%=Q2KoLT|j ztpMNM6U}!TlnyHI%bY2y2bQJ*VLUpVXvXYJ8?JrT{+wrdX| z888&h+@x){La*cImZaf{k}wYn)g!4>7hEPKQWQ3vfY+%DGWD>(cQ}hr{3W31fAh!A z!g>p=-kKU5HCL2oRsV$cWK^DEh8G7|A@gm6_Jq`KynxQcl0t7@nPg!5PVJd+YAE8{ zFVKRQT3B3&eCteKL1wm>j^@hD4j*_?=51#^4IT$;(GOfA`|0gE!Px~_nONsgIK}S? zWM>xnQ87*s7vIXfZ||XDRgd*PvOHcgrSalzEF#JGlwA?wtf}E35epbWfLEw8w*bFl z`OezfvG6PKwZ0ZbI}v^#e#zG@>`?zozh4;e;k?AzW#6u=eI9-r zj@qID6AhbO z23GE^U9@1$6fPg4CRHo)=iqFP%*e9Rigrqnd${D#iygRp1WT=n4LwtEc8LH#651uC z21}3@yBsd3Swzbl-{bNzkZB5S8AO<#8o;I(-2}(FVqCHCYG6xraULk`JA!0eI+)iV z*ocR5c+1ET%}-%Ji*wOi`44=#o}VPvB*qGp!In1PRy>r9+$s29OfZ&+nC

XDV}Dai3= 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

^;8=L&=R>D((~Z!P;cl8rB~_6<-u`?D-;jL7-~ zu5H128mLawr>7Uv1z~5Gc&hL?8BvP@{@mWqP&>H!6wv!l;C}YvkB_Z+E3}-yX9-yR zy9b>~!*{y0lSkiPnr@*`VC@3X19wng8Uj6aDnbNXP!=A5%*=gVAgqor+E@6m;`g{#LH%g;ly&u*rF1Pw8|J6Y>v|@qVIR27-ihMPA{hgh z7fBh>pU$p8a#BcKChp3cpy|DCW9USHA~D9(Q)%cmDDh1Dwe@|EhYbv&T#YG;D^79N z(O{sh)1e13LHXQ|)4Qcsnhk&FzHA4iQ@^g&R*GgK1rYoR(cSUh5M&fcrC0og!rO2+ z!`X%HK|oi8N6kBu8xl4#aRg)NxZ5k)1vgwL$FofLK39=zU5APQ15t!WuN;$irELv{ z3b-}rNpPP^pGJ%z%Yj)h5vS<(*3gr&!msV?{Iq9UuMag0(zlA(LT7Sy=hbEg@z!62 z)n;1Yy{Wo=n7up&d@hu<$vlRfhNMzWow-7`VjKJ1+*4zZ)}b`Di-Qo#`eO`{6#|=2 zHac~VcTy4ffNz$8xs)XXN}Sq{769zH@n~$ z$99N1*_F%0#xbMVYee$c0OhCu$`bKNQfU*@o*2!1*$mPv~dPKWS_zSm86DY1Lsblb>csRZ@l6k7f z?2%6y2sr*Gf6|;hX8E0*?jQ$w4~k;y@}REwr%u+yOiCi~1(%7pMyIx8Y$c8VB-V4p zb#DxY>toOXh#M+B>x`0Ufdcg>;@RkQqa|v;C@d_F;y7;HONCpYb>{)t6mwasB= zCARRJCdU;eJvoDhgRW`okPixPDa@Zz#*x<+^Uq}t{HG5pBPcSOL$==N-Y|S~34S0) z#zDRPWNXPK(+TBySRAY-a7i+trU{oEO@6z6l_wu&^I_~Eir#c@F6NM-j@#PH9sS}* ze}a@7ZdIpeG>f~ElqkFwWp9i<$b+*KN5mD1!9$3i9-oX$!LGr`os5b~UuujHG&mzHN$MHZ9$E+J ztuN!#1uKuP9XWMm2)3Mg>tiX0pKLAs@bcO@JtUNMHR&|*jKhML8S@xVq~Bn8d<1~o z!?t76J#K-^gxE`4zsyF+FQk>6&n}LDmSpZceIy-QJZfNP z6D3f-G4dci`;Ail@o(7ZC#BY7TsHkMi80-qj53DX;CwQ>iWOG5f3UrrN?%A)N+Rd7r=W7Y&CT(|{3aC7fWm13 z5PYrZ;xuW?bu%M;>U*PztFluhHIkPiUx!IZc*%g_v^>+w}BdTODK8QVLJXI@21*+PK z@v=Dx)&ZvFcN5hTih<_Ho}PK~HXqf3LOokEoWu)?2+X~n(qhyJyAnAlNv3qmlVRAS z<EN9u#zu>!Znq}jIzJt!GC?$|ZYKR`H~_I5X=4HFovG;0 zwy?SBe-ckkHy5+D#Vi2~Z_|5PxF7a?ixs{>IZF@B5Lqa&pL!#>T6E$K<({Y>kK~^u z-sQ^0?@ZLV=twuJ^cK0}MJfxobk=U7CDBw*L4SaC8EVRLi2ljBnVmtk$(Lfc%H8zc zmEs$AXeyzVnPM&Jw}H{_jJTZ|KV7eP0-cCrmvn=!e;D%mz2>v4+0BYq`F4NG~D_<3Qp# zf31XXWNzoxf?6%H`dT9?FlIS7@~8*2nTf^T17@cfMJF_1*`&vq3^@@TZ$ zWPa1FO8=ffbq97!P{1Hpb>>)c!vaK1L_60<8Qt$jemqCx;|&5x3yID+zI4i6m%UcK z!W4-WvGKBEE7Nss%ut!rY-5h&5;N2JrA3nGQ@%-r@#reJ@ z7ts$ZC1cVxj8!nR_0*|&V{)dzRX2?Cp)r&Ap$un3O zp4I5FoXA1ME02&sS{dT8F1I=2cH0mll*O5mZvwjppb#wybFXg(O0QXsd#M?#ULh%> zzrK=|Kx$@dA1$&s{gV)JE_`|Uae`mkEUo=NHB=*QB>y}W{pt^Lh zPu4X`#E zyj;SWGTus9GWH4UbKl|2%eBDET73n;WwABNaJ`*Pb!b<^f$sjo2tLmXL(|%~6D5#P zam8MMX6Sghj`edSxsY6X9nwha>U5$w>VyXwFD65BQfzljHUjR!%}q0VUj+drHhOL$ z1ro8@aYHk%8OqCLx|h#n3>S18de4;UnxH9%mr7)gdGUtuT5DWv@2L9BFS}z~LbKOx z>#8ofMR4UY#+Bt3W0%4?B-WExVIn!Oqm?Q4P+kdIz_t=35EkjZYiI3s9Z%wHisw%o zh=H)D<%~F(aBRF{%z^mSJ%+prVMokB?V@~(+qYpV=AYSlzwzH`UHBEti=Myp(Dh0n8Z zTU$C$E~e+};_`&MeFT>{4;+nCEl`g7z6CGJ_AhR(Ul)vJfUNF7tBN?we1+buMRrCZ znVG#0=s&8eiwk4>D8kUef7G!|or$kAdxIu)+RyN)N#U>IRaS#9+1kUIcmt@pkaf5K zbcwn;;N)<`8plWxN6NQ86A|gS*%_l=m&HQ+=z)ZcqbB66d z63f*+iJiFI85+DJ4m13k-r9bIvF=SeMiIDN6i*nX?0P&iDea{Jto6s`pcTyX^Z9b> z27kcYy>@mP>;>HhG5?~8xz#kM*H-;GcU5N30PW2%)HNT zQA9R3T+3B^{ccLoXpLCAcf=Mxxg5;>vAkiP+IiOvmn$O@Ry-&&7BpW;qN(+;4)VQb z);>u5V){r!N~&G5-tuM%|8Cwtm0eML!ldEWaszmG)Im((M!KUGc`nFG$^Maha^&^3 z{azFE#OGFObl(dZ@t$NZfcpfNw96s4yQcZxh}V_6m=#ZvBKqZJL0X(F$9LD9E{a)o z0z}e?J#u*LONxV2R>2t0)}z&)UGiDJwbO%qJr0xf%2=pZzKl8YGj4ouv;KrDBnD!= z8ObzH`$DwNQzK}eYP>81ryk7A)W+>>4Alt5wB;NY?0Di9DwMw>>j-q-gdV9yZSzmU zK^!r!Cm!nYR3jPH1=Cd$0ET8)DPKiD10`l__` zQ0>@a9`iOg1}!usG1a7@#4S7~Uy3;SCx@Rav6ERywQz`YB?sd{q#a)$f}b(?*#Wi@ za92iRT#3WoZ05eNz#b7Q!|GSWvS;wRb^m2M&byUh(puAqjND;KmQsmFze{bDyb}JG zg}(ZzlySxd1od+~C z9jZo1hnnpWlR6f=oCmLnufUB}Ks`cZavvE9R^@KrdNeaO26P_oG7cKc90yKRMR|9B z)~Za5+q3EO6A~777cxc(c^_Vb;G~XzU_N5Km(4tQRCRBL?)5#TCXm+=zlXL zIh6^T4OZ0|pBdECb;icu!IUh7gG3I+owXSP_Xs-v%1=Ds9%veb!v~*oUGgtEXYNtzOW8if*ln0Wg}515k;@a-sU=^+ zZzYhVXSX<(WZP|N7DLloFF)04MhFHe~^=0xB~B00BZvl?r9MT zl#iy$zQf)0w)5G9vl=c?8m<%+0m;Wcg)h zsWC*;$s3=x^+%=i0O?DODAJkI!iuxsw!^yh(fNi-`;swX(2*mr`!%t`m@%bYO&xVs zd`4otfMfxODu`3KYMVS>3g$G#*}671td%rY7a`Z6=Y;}Fjxp=iNjRoweFKX;`&+R5VB?H&m?Bbw%4N`yzbb4*_rch z4Qpe*H@D`Qdgp04$ zjIQA6POm0;s()ZTnJ)&7k1nR|aBifMW7xn2c(f9Gj7hg;9tQXu@lJ%1&dAGANfap* z^vkh)liq4U5@Fd8z1D*bC=0pfPa0)s<a8d(LP!XN5!36Ijwhh ztZ=7S7!#v^{Qa5|{Sz}sU(e5$FZiv==5XfGDg(PCDd=qXk{=G`W;9nQKH(xu?&*9U$JxuIaLJx{r$I34v+j9%HY9DKA#LuY-HT9=^N*0q)gc7N1@kv$4nra z<-C?qrtg4d>I%m8{l}uM291MNqF~_){p3)5Z~51sJ5HQ&?}_o3pG#Msy!Bj44cBqh zOferd$#u%7aZ+B7M^t#W-Ga>r8Ee>l^^lj(~dbz#c3u!FqW62EoqfUxK z{HhhGQ|iaM4{+LdrA{w9UE2{OOsf4|_SMP+j@0^$70hN4D)IeTpsfgTZ&86kNeV;4 z&RY=)6QkAaAA*C~N}z3#Jv`vn5_MwEl#$k!g7aur0U8zmAfUvTZov8aD8BjxmQM5A zmq1-VewKX%E#{jF*X&YOCGFpe1y)`4Y~a=ns4uw&KG6lhdc&3rx(hW6>=xwY&(7v? zd~q?v&gS3E`DX~8+SLj$>51eLK;pg=#QH-s`Q5Wf?Wx)4Xf+160%6%3!ZiTmUnTzq zrstJkMB0RHC6VP*5qD3EKz#v(oOS2d9avxyw7DfYFHU0~xZ(h`^#y+pj@lvzih!DQ z+~o4r<6Qu(h!)IS7PRUcTAUP(yx23IVF!L;0MCNFDEU$5OKO_tM@ssL`YJzvy(YD$ zyogj$0w(%t#ko;d%eOR%o+(2ulMBsVk-`6Y_RM^q4kK7Dp|12d0%6EgRcA`FvP|=& z@vSWZu8|UQIOr;ou7GdSuao0(oXb|)fi}{pn&-wiW>S|^(BWs9H7*wPn__{v+y1CF z!tk=Mr~lM29o)l2K7uo>=gK<@ zQsQTBOQadqiJQ)zBe~W<4VGa<3on8;>^Oju>1KBO<2io!cD}43M-)GhPw`PV-_h-o zhS^0!mn6cn>c&xbwf10&A~FP?_HFl-av5!&@kudru{9QV&tW$^rQGJz>h9MtinCH| zep8k&&zuc6$M|{f?Qc4V?rl!GZOtsYkuckudbjL-P?&|4w#;S$H}&SV=Ao(In~gnk z2ZF^{=clmjNGhozzzrH}C9Et%TPJ~x)k6FizAd8LzuQyx-K7M01Ixe(xTZ5~pvl}N zs3tSv#G@)$HL|%!^$A}v2^}$4^2MG$c-Jh*+9V%F3wg+(M>5_jGyw5T*+H=Ix$7uY zY86;N6Mpz?4e_Wf_VLjfi2+=dg8HOB%Nq-?=~&~G4|d4G3yBIVO9(paUvd@i%NeLx>QJeIwoQ)E|OS+M6!|FsQG zicQtN6pB@lpdG3+GZx!5ArjC>y1o?JEVPAus}=Wi9^CoiyBlUZKe+(T=tbY0oqFgjsx=fWapip>1WzE0Xz`dU))F!&hi?!a8!9@tQd2P4JvDwQK`2 z9CA?8Um9-;Ek{MuNuP_tk<%+#vXRHXPV)+6Go3S}us0e!w+hj0{49MGrm z_9)!k%dQlzegxgTOX3#lIrvCsCextk{mnU8wFDEpRY6n4(gAT3mhx>YKK5XQPiC=G zE-l9Yk#~ao$(VeIN`P8NT}nBsU^~=ym_HUBS3gRi>o`JDZ$m04O*4L?j4fSZ^l zZ(Hv#6?qRdYGx=NSsUZ8*p**Mb4w9$Zshr4DBa#LWB)u4l4``HI~w`*_cPln***LftnA%dey&k=xNbSi;#i#qbUxetePR z#+J?htJ)?4f#g12SC=&Y!W?&$b2NVo;?tPOiZs1a)h`{w8{gTL9j)>5tSP1vK9_$IpK10Fhql*prU&S(zJ~}t}Pe1%b znHBto1+D-z!>A~;Tm=LrSd=+BFR>yX5`H5&#eBrKL&YGXTkR_2*WiInr$@Vq-H9?%~k8F15yG6U2@#~FQGx)6ZP^6;lsq2KTh{Lp5re=URZ^zfAbkRC&RS14fjMDeyL12R zClhN9&%W6&S_+1!rwMaY zFnc6U!*t~#_WoX+{VeN{gr|v!sa-fcX>j!<^W341I`!7y8NRhfFRH=sp7Y9r@zGUZ zm$WFF`R;U3!HZMxu(*1a%rx3at# z9xM-wlcqWV~&fa zIIL;1K9mxPM>aHz@-HJ5WZ|MQsQml{E>&GU=Glg1f4y#^;mA9K{JIds5Yt2QCiBTgvQJ{h_JYRUti3HA>Tm!U$ zc)~f2Ln!U_fyg1hHM3Vj^}m@*Te{VQo=ES|cVI${%mvggOx#5TTzaAfDGKiO)AN3* z_c`473%493TG~iAHs4v=Kix6ssA$%>)b__2p;+NrQ3<&cr5$)Bow)fIu@;xOI3Ce@ z=t9j1mXV-%x_qr<(o>?u*zgKAdQAJp%PszZ*kYKT-$V*WbBmbud?O5?5Nh%UoO!^= z)C>|08`9CM#q1t?w?rJvgCiFAkE->*$ldnIz9n^i<>j&ha;bKGPo4PqFSr>y7goP+ z-407qlEzeNjwHCyfS<+bj8TuTR!*F=N~tLRXPG0z!p@dWEk+RYfo`nQu(C*eMhFM_ zWO_U?LlRh@und-wvk^-JyO=H$lz41*rq)Wn?e(lA*&t#@iDySKO1e?ihrd)Z7L#R% zA+yR&JW3l0UoUdISg2AiDFvH{qpc~>ejL3#j{gU7K#squCq1}`9m9k?MKnVe4>24d zC(E?9!x9mB;f~PR5ANJjNjP-BtBviDGqba2rch$cJ6D|DZ(Pv!TFm-~i60(puE@|@ zokXZ6(L$0WEXo6(|59r9O@p?CyJeGYMnbMM&9g+***Qh|BPGT7zBA-`d?-;r86ZJF zU#t3sTJ#kxIH&NyK4d)779UlXAYRoF7GyoSGi#um$<%uI!z<&d#gc@7DLqi9E|rPG zpt8rK+~v4wvjQgZ^C)lVtP8#-IRV9%Qy3`HJh_jET}Vb&wjD*|r(?mH%ao`|44m_b zuYh%^Sf_CIQ3{{uAI5K?;DmEwhZNB61M=T=gl#a}MOi}y0u zeCZQ-?NkOEluJ?f;raa&v|Ek`GioMbfL&gnsyw&4uMOce&ew{Nk_vG7F~P;j5a)31 zeS4udi{P}Nc4FKBhJS0Ay;6EEGD_j%`w8P)JUBeQ_nz^F8|z{H{D>r#@3IKI5_cUv zj;_$exA>e&*%@B}W_t{#`}uK|CGKEFr4EC9^p(l$n{!gKz(%LaL8D3O<{DHgWv?RX zORa^lyG4I&W@$23@^_b}pKaZzZ-P%ozflHH;T1V-gz+;l${5sGCw*mrcd$4)g}r=b z%*NXGIp!JGh|VAzx2n=5C4DvRSBS~7NZdQ zb$kr97nPfmbs64qJH)kDTMA+X^^!jd%|bVyk82u#f4Vm4)=os99Kf+p5j;jHg0Zet zH*fPAOgcb{%f(1YedtLAsii@e1bXwBDtGCQ#F00ITb7zudxt}cXAow#7Af#1dRTGUpZSsSlt%SYsD%wa%~P=>W% z|5WmAuzC}izJ0YOK)jPlqObl(RVi;wj8x`#>$ZrDKsQl<>0=Q7@0d41uZ*=|j3~KG z*h@Fuk89Jew2NI9sQ-WdA@&jiV~6z7{rIhK663XC&1R{!USJ``hEjp<(QC*sRd%=% z!8L9snWHZZn@Z&Z!T%UH4>Ky58BXV4&TYTZl~rUFNs=#6_^gV=#iN|f&0D^f$C|qk zc@RNu<>0Znir~vwionrWM1{jUMNOW8%jP~n(if$-E64>ZhzsI4r2)3nQ7Ir}^93{Z zYfXxKxllkfID|JQb*FJOBa3|56lYr^RLVUp-8oyzC?Yg@c;g(k9}eqc5=&=6iCdk; zt_)qMA3cp2jNU8&!RmaD#wH1+;O&?!5O`Md7Fv3>WN$seNE#;qI zJoCYc-0oG<=td#1P`^*>BjT`c(|Y4OBUBV`o!Ax$Z_e@cOk>KC)n>kT#YDuo#v-Xh zKIWAT`!VBzfa-xUzrUv$7m22RX0G79qObr|A?JnK6$ z??Zl&18PMa%#H*A00000000000000001_6eexiFWuzkZx4YDe>2tY1wDOoR?ah;1< zYFn|wiYx3-4q9R-D0X2DSC-7Kh}Jf|dOAQHLQQ6^kK z4OcrzWvxBpcQyYYZVIH15>$oxw(m|U3N|nm;ZI&OKTXA0#`kT~#HVZWY2VHyY|uvH z*MK9*wWrpJg@?N`&eISxtKG_@$kbC4QP$DUdxJ(Ax$rjcmItV!ZCR;BnKrU6VUZ!2 zS7w*^qL-F+1%L;z`Hf9u)>Cr%T z>6#B_eZ-3cG&UzNxo90WVdgew9c)QzzM9Qp61BTleY=+>nTplJf5BQh zbq(leI88RNWeUDy3rlxXou8*U!F_%t{{dHZr12G&C^m|bdbYnZ!_RTu7e8=&pQOm6 z%)t`&Yb_-^)k|8_(4**D1qPGG`_}hK{2?jT2<}Yl|T#Ah|`_hif4` zj0ZNO*G4ND5Yh3xXkp7+$(A8}fiuHrk!%Z?f|X1jBH26D?z_G(LGBwRGdu{155X;_ z+7(->KB7ESFEnz}m@r=dJcgp*vJM{@0(&$m1N={)Ja&I_^N0!xs%n-M-<^p$9}7P^ zG9Pv&mG#Ko@+bbZpil8HFE8Nfu^Fa%tL(6 zO9XNtNAPFBI!7WtZ!zvCs#t~0X)isOU10bxbNn$STzeJNZ#TjU$@U*(41vN*vep@- zQQx3u+~GM#4Bp_6(xbHn4|isPZ1*{$Yi+4FFd)SBVnzDer&9t)C%}MJ$FDMiB_Geg zy|v)?gU;yt4EnNXGMl|(XZ1k7wpF^3mLy3pL)`1jQrUJbJ*PZJnvy2_Ut7CN!SNaB zwQ5h@Ni{M1x(2@RxpY{u=tXCe~0DkEgB}mURokb z6>hL4XRO7Q;cQlwHkl4x#NVv1)Xb#v$FJ!jajk6Q5D@uyU z^d+Q&MP<~;aDfo!1^OQ>jU`NG6Gle2fJ98K)Dyn``kPJwzZIcF_RAtE`YTWN0A^O1 ze?A^i}>PM%J1) zaMbX@6gMgzB-YmL^Vykrfc&1j9z3V~UOG;&(p@qRdp3`^FFGGEnmAYSHG%av_Oni{ zy`@^LTb@~C1M>Bzb0$n(%|P2q2&~`8#99I>Fju>&%Y}m;gOPLsIs}l>yFb$l94|hh zMJ{p4b{DbH)tc#*9se{~PE>espMBZpQ#OaqYl&5_@CCe`nU?WIh7XoLNt2BxInGw~ zO$E%k^*{Knl)XV94?7bW8lY=+MdsW?4E#Vq3at7A@&S z%*3N(y5(R=(YleQt6~j#7-(}H*R_Lbl2A#(7ph62^%$_&>FtEKoXP8#_5#=uXQjSuaUz9eOI&KGXx)~UrLW6cT5wg^VC^qeI0Hi-tHd*X@~^62P}TA zk#&rlHRP&ZMjl4^fJhG4UamEr7UVle1`%F}Zz2-=@ZbR`XX-^dM3I=tduJM=*W8BLMO|1Ocuc&}=>4j5T53w_?LY)t)8?@M65dJ`H#r z&KNKw8l3Go{-$aKU^ZmC+yPn{JOcoxOmX_0)FdRd6x-t$nMOR{Oy9;*Jc00SW`eKJ zZ`?5^lAmM!5Q+B*`9YM|jzGqSEfthQxE8Yhojcxyf%>bfl44_ZqOm(eSn!D{*^{## zZo?)J5-ep+dBJxXS3i9V&L}|*z8_Zx7IbWMnG43}?TEJ9N$u2A;B7=rD{;^9IA!Ct$0E^+>sMEJiYB+qwb* z7Q(pgD2&?wd5HUcdh%_+3nP4AB_+GetbN6ULFAt9P)7Mi;olItgF60=Htn6H;y`J* zz;g_cf~mw-@bfy;MI0$(faZo>I*}Q`#(mo0OMl+WYEy7cK}RX4X3CmZCHVph=;~;q z2tg<-6-{tcb z9TVEQcEPaBKew#BPcSEKqr>futtkAvj~@$4OG+!IC(iE-_f!CB$W0uSh=FUagBe3L zmY#pdms3D+BJ7mZ-!wW0y^~NGfHzl$YvHQ(c6P#TU6b|HVOcg%JA^HQm?Osd z9dp*)0AG@F1M0kfzE{l1i6_!7_mysH{0)k>r zcMfjFizYc{b^18APP0SgDdI4^@{Omhiy9+>pVAhHgW&C$esJu)5Hfz0nC4dWxupQT zRCC6HMs?3_X{7GpRu-;HOHeaBv-9_B>L&NDrA0Unwmr^KQHL#Av5gIBcMD8UJydm( zt#6mdg(wHXCT&j>LOGMvMwUj^7B)F_xYc!9KRcY*WE|*|YOo4taK&H@3$U8|bVWnU ziqids4UDgHd?zA}vP`^xHet2<&KSy@@GHsc_ftFdW!H%8eShqn&B6Pr?@2huIc2?6CLnjL`{p1Y+@p7fg#{xoLoWNl z=m2wGwFT}`_Bk_9zn<;hnQcGYK{bn=A9}O$0<}}0_(@!Oo=UB7`mwW{x&eiQItMAO z=E!>&4#yv?#v0pZUC)LExMuX3Cs!k%_$9Hje0rm9v5|6om-6!@F)(UdJ=9?s&N{uj zWx;e&Q9$r!Po8ZpLUYheH~HHJ?vOkyS%r?xeuY6JU?VGtPq-4Z{K5tnR=nv%2#4A@ zXBvItYd*1QP>pluX!^N!8;3Xz6#1nMD{Gpm?gGhi)YH~h5fNt{rY<&gk|4aPj27Ff z{}3pvVXF4*neNUeUc0Kr497b1%Q5=>NqfZMBVQfEbi9C|s|2emX83k*z|+JX3-T)q z5kgIRvB{~yFG zn^4fL|21zue??+o^WbCCm2(+ij38paF*QU1#$dxdS`dnOOM_py; zE@%!|vy{!}(!rrOXXH*qq_WZO9K4=K?^Ss5)WUjS7jxDd4x`=u zgib<)52TCirh228!5@a~_Ey@o7JWssKNC5xb3dSGM9pksCH1z8BY1>p0o)#}N8^Zu zP?XY;j2-}ca|*!=TLDlH^g5s!T#P69o*2NxEf+G;sVm}+(u@Mkir#5HFa+z73%}Fl zGuhfm`Y|5XOUQbj;9VElcj%u3V4t(4c}x#CP|(kda*q8!*^*?KWkCvg2j8;GD4Uny z$#F)(gO2m)&+b;i{d3E8;u6Z7=sOTw4jbe;xI?We@Y5k9o16}?zx1vA@3%D25!oud zl+zHgyhWGHu!36#H_EqfvL{frT}nwrB9KR&&vacL{wLb>6uQIh=;|MDNzi@0Er96U z8{`eR)ATY3=vB0|oh{6{!KEO%F1>*N8nnAc>ZWKWR45-Za_ZCBRno#Nnx^HaauEr zKp>d8UkpV1?*MCuWZd?vvQ&YtP*AXU%m7opuSe_B5riW1b&PH$$6aD)Mv^EFeiHM@`RQc!HS62qp{BChsH z3aTV;e5q;Lro_~5B3o-eU>#`uwOn%SGeOFiufg!wHW1}s@FSh)0XJJNN&zpCHn}uD zjdG_6E`av)AtcmD>vLo3AX^wLsiUU~B(7=&j= z&T$MYZO1MOO53%w<;RXggWa@I{vS@g*-vP2h@%76v&)6f%F)gw*g1e11ga@nnBBTR zGNHc4n|8MuI%eeOPy0+CwcG1sz@?hc6n*Zhb4H>0c-`D9+I)=9QZ_wVuWqOP=(rQQ zQs`%Be0G#>x(UC53yDp{& z9Xu`U<=z>I<|;J>=kMsGVkC0a=%ks>3ZODl^}K{yL`1+;DAq1ij30KlH{_W1+_0k8 zM=}6tIdW&@=s&~TKbt$ueFW+Sa(L>hmQ%KseoSg}*2%!Lt<~FZw%T=37xW zxJaR^C6V-|w9utUJEHO0y7JP>gK%gAoYNEon(^bEP&Y%kZUhL;qB;!QFE(tWClJBZ zQFRFl10UIYjQu9MT3n5D1CF3OO{UYjWKY_c>wBx={k9Ekg=K<#rD9W#T2Jf?=i<1v z$@SV+C7yVtG@`cUVYV1xNrjxl8IHnFWT)i@zgYyTw;yo8kXs1QJgTAEOukqsyD`x08;8O}VktG4$(I>UY3DUT{Tb|S;V_GkoY zVzT~Qj%=kc5>f-2#|5+OFagJz@P+D=7>&%Wo2=z4$_5(a@~%+qTXxyCm`J z2yL>hd7*Ga1l%&WTe9VLT_L-3yH~);CU#KlZv*BsPuZA1d*ZD_c6Lcltt!}vn@o-$#3 zip=6q@T|GCnPbqBFF1j)B0~uAxDqwZ?{WA$mBW|mup((~<+IKTDpMp=v4_H^`^dW{ zw>w;I(2aBZ(mKZ`y2|x#d>^amv~_B)Z6%XuWF*)7>kYif!k54y@KD22l}gW(*I_Uq zQIqj3)hfMl0iBN0F78wU*I3|O$KOcvw zRDOP&fX_(HDVI(k+%Sh>>_A9>N(!DBc5g}!2=VO&quF% zVU*7qj!*q9zS1gb#Uqqb!)h9Ay1Yc;WWDECw_@{L^+1&gDUH1_L7 zCQc&_dPTUmXfe6H&H4Bv7eFsDbm{bTh4F&m5*}pcA+6_HUam72VD&jH7RpTK zNDLL;d}Ou8tnuo51If$owuG<*d1XY(hn{{x{84eiT7Jo#}=!Z*A|&sglK@531hdCE^B+rsO>!@!GKF_dECF= zo?3r@YcD|oIzbZkea(#21sKLa&u{62=fb;wJcsJmXxFLZc6ZQ;*|?Ep;`EwJj?1%efVEVRdWp257RerdlhK;P zWF3IxLrU&6MLAjMTFi?ACUmpw_A4Egkc9nE z4QogrB(P!vD=txnWOR^ktIv<=5x?2(=XTh~SF)N&`PI6>XiHswKbN?(|GoaetYJZUla!R`!DV zP=$~I(*bve7E_y*+2jv*h%Xm1tZWm2lv12K%9LQv5yl(i^iFS(yslBd7lfgcs`6(E z=VS4snQr~paq*Ym-MFPaBkuGyLgIcx+75UEZ~lKijlu!334}Q-vVPSlrIt|;t>4nu z|2Fu_*SV1d*tu6Dl1GE#>AR6;k?^a_>yn-uDO7oYG!okMEH(Z%!#FU?{&LKM*x*}t zMF{DeQ>AEPSJpSikB;$NVR{0dywKP9Hf&tyw{7=)sd|b)Ys^9}ySg%Q^qhBgJ7k{; z%}o|kHoQ{Q;z4iZm5h7!*T9O5Sj*BnMv)6-_vmDXdH*QFJqTzLvE|89v1FT6_JecS zS{uSBTUj~ZpYB=8g7FfSHAY+0(yDZDLSfZI8;gHpIK;A_2o>3*q>h;RgkSJeimbof z$i-}c89p%X0OVes`gEmLzQ~&3f4T%rz(piad8J#{C2^-gq@putAzbRINqd~Vb!OQV zRe4zv6s<<%QvDZ3sa}WX)Ryk}>I)o;lZ9fPxFX4zJG}J_tV1z<$GrA;DuFK zBK!GJjkj1Q28f!Ke}v+n(BrHkSk)ZYSRYm5CT$E1i0Rr|y7C4&DhU2P0&k75_PS|V z4p&gM%p7*5bp$#hk@-lQ#`!t(Q@jJhtvtKiO>l1Tz@jY^I3Ej4);A5}lBnfj52+;t ztjW*IZrtoTZ^YFqCpOC>7!wllu+g|cTjvxkm$27Lhx?{_-piFNu>C5cf?I2<-+p?p z@T0AQu}bVeY!|Ft&ErDBOY8vlOw&=3Nxi5W~@b$1{!`M4Khxvc|Po~RL z_%0E>q&Ynu=N4o3W`(GB>108mGpL#F529d+Fno<%I;&uZzH=+KF+DBXjfY#R40t_C z$J6Ik?)A9InoD}kSimBcZ~Yr4ADeKAt(e725o5Gj?e5m+n2P0Waq-l;HHhcvNS4rs+k56Ggq-rP~k&-_ z^#5q)$Q_6?R{CcAD?td#nKtK7t{&bNsS_yke`L%?r|1ICgfe#mCt|7_CX4)q5YCG- z&qSr0pn?g-m>{Fr-O|-wf_AgJ!!geNVlop>68xBG&wAIk6Oc&{=h8<0u?d+JOVa6E zhnJaobQHigP`sqrQ5B|kH`^F!Cer=Oih4z*;K~mdRa=}s0JVLor22J@ZiSqa&fqZ~ zq$agQI=#VDYPIhDwfOEzW#Rz4{k>h1;faUyN}tZv zaBJL0ni(wZ|8DrNe6i@W%(Avcv4_aw5dFv5cbhK!fCdlx!#iEC%C(mJeQVAgTP~!WE&ifB(lD&IA6TY`8 zHKZ3|k`B=Xm<^+T7&5x-bS2jxZ-?hQq+XB+OU0}}f-wVIE<9a|sbN)Wm8@;>7wzL)6y&&x3x;J1?YMm=m{u@*MSE-516CBUTmcBdxdaLm6sbD+4$ea<| zuMq4eYn$1e^z8Jt5pD?dE3pey==`p@H|W4sEaXBs_nk;Yn@FKU+XeOp=dj7HXuRVW zAqQ^oQ~y$8c+7JSC!M&c>oBnJw%xu)5yNbh#PB$B*PTlPEiz5vE{K|oG(+C`OlAEIDSJI`nl#W0p4h zh0lsI*-~ZVcbKIq^ZH$iE%eyvBpw^0^x=Rcnd+(Jl4bS8g*Xf_Ae^$Y zLRJ_NtOKXkhDm=%3W?@DZdje_UPro{yGTy^?a zdhaHF(tD0#0MID*q1k!ZF-bhke?%Y-1V{Q1g1P7klKd$?!T^KL*81dH!nmnF0rCGy zQeIFl0298);Qs#rVp|pxyjDo_2Hy5GQOx{K-alVoHe0d7r1hLmkmJe-vmWTSXoRH5 z*JHOtC@KLqj9R8q&C=KoY0^&A#)@q)t+O6xrk`lQxrnp`gS#(xrNp*`cF|wd^Njvu z4(^*G7pq(e(@eiwa~Vr7Lt(G$)FG#m2wxd-KAheTg#QRIq+s8eDNaG7m2Wqg`!CyK zy(_wFDd`=l*HP~X682$K8 zKAT;*5a1HIQ*t6IbVO(U+Y?`!suw-LK7ECJzSq%a2Q{Auw${*q!o?_GdD1-DRnh@2 z!qVi~GXd(0V~sCeaY$<&5IKs5C{;o+ET~kBu#H@$emX)h#TBC-k@L`NA&Zm@0Be`A zP%HG>COUAw$13RfH)GYTs<9FXDoNwtea#k#sjOWP#h=N1f6b!zX{F5XPOBm3sQV;= zdh{a37`f-a&-ddMIiVGu?Ao`=VNdS}NmTv$m9YCi{n-$%C~-{HX|F1;vk8pR(tad9 zve!AqVNi-O8_IsR%>d-^EDh7xZ;(~B)D^uh5n0ofNV(Cl=N2pas?^_@5hT+yboUmU zsB?j?M*I|Zhu$Aejf*rN9J^z{==Vz8h z$yuIM=(*4{8yNzfAVe+H1{z%{Tued(ONQfHBV4Vp!IVfO;PwwA^?|Tiik|fP$wQjn zU$(lGC!o9KqLy{%qy6wGNf~J&UCz}`AUd>{FrImI{lVc}u%TC@Tk5y?qNkHrgcUk+ zKnu8JZBYu3gV^Wu>vH@%3cn89ufwl=e-6>Vhj1Umxi8_`E?Qs3NyT3iTU03#4@Q_4)I)(vLjzsjfQ*696BQ&{n!8GLl0X>) zz{DWYQQDa$h@u$`m&7+0x^lpZlKGUh;~bDD`BOZ-|FlK6|$c$b#UtuKx?-tn5RH$B7&$fx@Zoln!NXFoRTo z1VEZR!WkIOlTp2WJ?A*yVX!n56}N6$KwO3tE04=_1KaAWs3^thZ!p;k+U{&3{aV?R zMZg9)iAc#`IeC8dz>`YWsca>4vL=OOx!YIGDQ%ZPelj$vIMWG~}m+N5PMO`Do<%uCg)S)F?5dC=;{hjDnPb3I| z8t8(12*-iJ*g<*ea8wN1-k|Eutm@#I2hTm{CrQUg-B-){cEa7}<2V~p(V0lNYZlIo z=QAKbgL{rnN0>gGQocw~Q(DiW%q;M{TPD0qJ&?;4YEe703d@+PRAUJ|cb&JT-2UM5 zShH1&u(D&gz7|9_{>Atvs_2EE@NHrd!X;I<0_4 z_&xWAN1&celw~YE2b+%PfcDk+Ap66nF9~_UCJt@)L1Xb<4Je{Sy3YKU3}>2*pT?GA zuEHJV#II_Ye!K&)0nK!C=FBtdrC`uXHKwH263@o2OSh~{!6+`nUyav8M{_{}!A{3cHBa9S{NCgQF)Fz+N(<4d!^Mo7hC(G2g*rhSEfMMl^)XTK`0_e9 z^Wq1g^WL70#u2|MgHt@Jn*MQ2TO`UTuBkbK6C|^_Lbg{Ps)a{Rf9>Ad;QD~`+qg&k z$VAq_*s?3#aI){kikLz5Vm)FGwk~D#q^c1uv4+`_tblU1_VSJ-#s&aCR>h{J{XqJI zN+!|08GQu7&0tSJ>Fsv#8okQmR?m=6)YAr3mc~ig8XKAjFG$S#s9TKC=m?^9u&kX4 z0X`V)y?X_A^ype!N39ySfN3T_U4M$Yyv;@P3-`?r1cf5x9TMP40~Xbxj2OGc4}Qk0 zLHuAG9_J-ZZ))eER&@q1d1tVkO+cFw(QG9BCJ8xGGBO6Eqa=g1!w9NOO*vPeUq?6{ z`EH<~7ZkYS#&Wf4D3ulK`IH9xp7LE(b_259W?y>@sMWS&Lz4|^s5OcQ-MkFJTT^~m zX9Q|{mjQe)dJm|Hz~pb207WZCN4azXnXSmA6MLW3ah21tx+5zV)333?0OJnE^z$ty zTtb^j_8f>vo0?7{z*C0qx#>{vKc-PD(&+BEVcKHEf43al0^Jn!OM_XxK*zx{tjHw8 z4JcR=tm;gm!%BnnuD#j^VlACM9XZA{L4Q;R-xX0!#$_E)+1jMJo6oJt4q2~orvC`B zlu>-F%W;ph?YxztDOe3$(4Y)ov^;Qlbv3dkV<`#7GVSHA91kwk1KbK!zmx~77(93) zQAouGg0?!Bg-U!a!CD=~G*|KtdtF_(63TjGneoE8ez#S_8_ko6rA(CmgYmv;hL#E!du2_jUeO&wyZI{^-Yb^ zcSR7u=oi7BglJ~-dYjxPJ~SdSIDY4J+!GwVSs`9yL1?(nilxNA9Dd46inQ+yT;p$EUdkA5_-M)eKxkj?&b1UTK8k2T^}k!vpZVDDyY?SVH0F|X zNqro&dbFWRejyXsq(+3d=NLQe@)xyiiXy^9634PGyb$QO+r0DMCaDA?=)yEe5e zaZ|1K(SQ-3!HsSqKA4H66Kv)f@sUMI6!5|?e5OIN8S8wDG@OMy8f8N}k!qS5<+#bC z$M88i3zE?X3;k2p)=L>-wmL3zun&K_WH=;G-=qDs#;x8(kW!l?lTVJepy;ePoNXo~DVH5-Xq-@qPZ) z?2U7pxXBSd7E-%g8FTe)Bo3NFjjnGv{A%(->dXAd#z#yAX~?DqroRYt+4mim@di+l zv=Kqo`=`<*ZIe1Oi|?C~xZvB03tXazGCS3Dxxu2eW=Pf_p(yD_CBoi{g1MdVYcWw` zA$qS+J%?a12Bpw)J-#B4_PEKJSVF9>m{7Ldgz%cGTc6+btDaya%8?nLxHM&e=6Bm~ zV+!p_AKebI`S5NK9~guP@pF`O!c-`*J6}?hJ~9-zQ~R zbc323yG5h~!@iH*qQ*m8F7yA4k76)vwe{~$nNwbp@O_uPRW zLi#4g7QEW(mfk@bemgrB{5{y|)2xpIOJ0=f8P3vno34-_ZQ}r_plQ5n-Pc#<0uWnU zrv9<%z@pz$T3DIWkR*s)l6o?)wf$R_M+%*@wt+{7#m`c_atS?wPK$=LPmeb$8(S6c z$a@oxc0d-1X5&O`KULK#$qCT7Nw?e4dR1#6%lZWk^W*Qjno%P}*5HUQ=*~~~z1B!Q z=b_9O#PhC_n>#S<%g^aItAB?NwFBN!J|E4Ra|HnqXpuhb8F7FAB6~*8CnFbe8I@ob z@~M!?8+YRR7otYAz`b9yn_-Nxn@(YV%R`u9laE3_f%N6ft>9Ynkp+z*V9*q$*e~Hi zyu7Qzl|K+q7~GcTqX-=*mrj@@S+Ud3GgMOrmOZmIBpc9rsVh?G46PoIhrzj03R^)P z``einyUJlU#vCzN1vlH4?Hxv;*+2BhSuS1p>iLiMI#twr)Qnd^KLjeK|BW0?#9 zxpdf^c(eRJ2!~+XnRgOFCJ+BAtht;wIvOT{oG3nzdvWqTu3C&yq(VG{DzG(2$Q1t| zhiO3`yJEvvmVF3V72%f!3@S(zJwYC<<97>Vp*g(j6CeqP(%#|d1t=JMYXtRhBagxRxW@TuW;^PmSG;J^Jkr3qh&Vftk^YDiC>OthBWF-j8`=vcN+SQkN zHn<1>eM@=CGpdx=6v;v01ra7qli4)Gxni0IPZJ1k@3`MOAp`vod#1U_+t{-?oRxqP zUPfL2MX5A;o?jIKMS9QffnW?IC0cNdD}+C(&w2Y#ib}%@O+{~j-B(im>Z@Z8ZcG1q z4q(|NSL1#WjF{?h-7|3Mvon6^?2B(&CFZ@Db<}x2(Z-pe8@G>cE;xQWAaVhOgnY&j znf|F2x%gn+98-!Qy}tlWZhP)Tg3&hjFVCKvEUYAUoS=oae{E=9!n)WWmC?I0g~K^a z6 zzAyrayJV?uW@Z+kjSKUc`$2LD0}zSaRlq+r*I>H{7k06b{UfaiH6>GAfIHC^&!{>+@vK_`7eMLn}K z&74^*1rk^_!Z2Z}c7#<}s(zQsW(yt<{QpYxqqp1l6g#Ej+K2S|&blWeQ3*QF^alyw zI^p+AJN4@lz|ABYe0_2V@3J?oa}du(UkDyX(Y!}B``DKom52hW$g-ZP3n7>LBkUt> z$BIK~S6GEVGCj0=36n=^4bj1%4k3!dGM`#1X+m}%br=I%!VAv|0EUWPyeX7hYt4VB z_3mm_CqqPIz9?~7Fk0HT(Cqn;T)2rqyR}4mQ)1KkeeQ-GmGjMe}qgSJRsYW=cUin2e9fNEsy|37}e?chBuAF6eWq zIWc0U_`+Y=S1&+7{-OlAM+Xp3ZhwsZ+c$t9xxQr!J;I1g!o;%FBz)lv>C z8uy>EpC=g?`nK?8*CBWReP86*VU;!tA;Sw!$}`%RY2}qF1@C`cvl0Ot=sOdFHOBp$ z1yeOYXpht$;-ZIR;(As^V$=jLp4xhZeerD{BK}Ra#$WzdsRk;9|kZgNb%_gI7Z-n*qhv9UT} z57jBe%YwfK#XXDvb|QncKmo5JSB*avEYXCot0?UMY2Ye9Sk;dOh|kBeaK9D9q|wsS zIkM;~xvq^f$E7N?dofWdvmecrgr~caaoi``OveR3bfx-m>4hLPy-TQlyKL;#j60R< zCk1LVCH{{?(eyK3v%I|4r*<^vWz@IyzCgJ}t6XSSSdXu(@m2fc3g#0&?U=!Y;*E%g z@LY>gefu2?x=&F)9*T$)qEfu_fvWWI81}PQJ1J6#u%#O`rGdGx_#}v@wpdQiGh=?A zAnTZm?p}4F6#Vvtp;W_BT`;w)3J-v zo#Vubn1GhvjVAv?q~hFn5G;PCMj*v@fOukbc=6RN{Nyx|Rc+4!2XEt{4Fs_% zoC&ny9HBK_et8ET?At){Hg=A5GbpTa@kGm;j)mNJ*ry)vjkQ&3c;-PD@09Eh8=sBQ zP4{p3Z)7ParJ{YiDzc+!Nb6FIW*;BW*KeEryP`|f9tu0>;7rC;LT@+&AIWdfbQ6NK zLSvIH>UVuWuT6>*c4@TUVgnRKc9~AP5{`626Wx`dfy%I-hybI_J%3c;0`-8B6wTNg0i)gw;8 z!zfI2Nj>Tq%J-kJE3(agTmT6}jw57k%pc7MUm6jm=V$8VqLnlcL}KDEvm}`UJ_Kt- zEvhKN84@df=IyYEt&ZM5f3g=jE0l|DPzUj1L7CnFwb->UZYim;P{$AQ3Gq2H4Y^S0 z^l)RwyKrMawC|F?cHtRXn848gBy)dI&*G6JZ+^fvpv{bu@WWgSp7~|hxx0+JOw@+% zllx{1s?q;{|8V2c>#v(&4NE$%)ziYbaMov;LS|WY$)PR}j4oy0+bp)Tk@j1Py>U$L zoJ7|Ymk>kw=ekf~$6BnT3$2lQYm_QCvEuk9Da**QO*4>(lpy@$K*9r~Do>-qJ2Rly z>J63sHt2#V9vM*#_Fr7sUBXf5`MXVUYU)Y-fFKbT*Ds9B)Imq~5;EyS?okj8U18!8 zc;Daq+&aBK_1@>E2oO0t6JNwVop3S0_gu?sTbw`|nK)ta?a-3`yoTEFmxz}sK5^KJ zjM&$;{~~dwhi7+xDxj~}fiF{UoNKAJwYf0g1KesPJcX+X|3Mf%0~)K3(O*k5mTVqT zd$F*A4|`*|8QH;5+C_P4f)yeSZ47j#ZNY>v6F=vi-r|~&0PjPcF-VQ`{YK`qC#{#A zr#CN;av+qe9{sR>4NN?G@Se3x750yG0_|bAbkhJUWUw+|MLKdm_MpY?>u*LbC?XCp zEy4k>BPMaVc`DCjoJ;jJS>I@ z9hwQC+#F$|KEUGMg>?~^E(1vnaju>n`D) zUq*QWt-#q^1D@j~IQVgfauHsn!geaqs+ZN1<4UiIDnfHrDL9eu!p}ZFMvpt;d<~!+491!uEBq@HQ zB4PCl$wuItrJZ4SGpd@A*Q+3+t?2RUV2s4-K;cl z_dsiL4R7&aF$tsUUu?SXU`PJIt>o?{2ELn_W2khm_98oDPv!j$PU>N~;^07*c$ zzZ}v& zqFo82Bg4-AB&ZUREOurYdhnB`h)?3-sGN zUuY$H);z#>KZ-T-iqr}oAPioI)%cgh9t=B-BpN+ofB#$5F|85r0tv_$E9`zuSH5wt zrp%=uD2UbO=r(w`mZ}Ov5pBlKpxxm%P*>c~{1Z9@s*9}MrT0`z>l}DvzLtl%TUlr5 zn3PPw6{F!{yA{9Twhm4iy?oL1;vhSJ_Ui2qL@h3cP5e>Dp4M1u6!)NDRqx!mQVRJ9PIvs}3?z}11hI>Bu+Q=uW| z(P#O*^S4-XstFaAyvx!^_MgCg$i;aN@y=nms{m5r6;n!6sVEf&5m=3XB?h;EYvYl& z-U8V(#9*YL2=-9QeL_%-gNGyLoDajhY>Qx#b#|fl;ggNs05s1_nUyE+@P#1AhYwMu zmVQC|^>>+YQ6@`Uless!g5jD+e`1|%V?GuAeE9XFw%b>Ki)bDUFz z6U-hw5rTcH(2C6-nFUGDdGE3Oanej_0q&FMZduDxORrdtbKp&myaGLjtV`-br5P8` zxG`JVxMfV3*~Cu7FV*@KFY>M>ZrhV=LE)t&pvY#CaUw(^r7`$14|R*b_k)wi+&nld zl)&sot5>Nrs=eR>MO=W(md=hVl74A4=l&-{IDkBy_J>25+!jMZ0hP;A8d?;{9$$Po zl-=oaVh6m_t0Ih?X#P4d0hB;EC~=c9jtTwy2n0kf$SC{~>k2=F8d(ExMqO;W%?1!PyMz?-4f zb4(t72>f6zu~$bAe-mA`51I&lF?>NfXx7LK%z8>Pz-Qog2GABsu}J zQrEWQ^XQ-PFI_6|o)^UR>ZbFgWY#QfAS^W^lzhgd{xiPJ# z&d_E@u%2>Yf_^M$@8Bz4Wz890TUzP+Nq1RV?NRA5e6TuOz@JsZYtaipUsj>|t$F*X zr|{;lD|l7r_-D%>fT;|nLbgAVl@X-s)ExsAkW|ah%bvNXyRep@6S3_bTn6tNeaE6~ zX5KZj;ixH_%KGq+J}kmL@`#+$v_%TltuMndQip!* zXl!GI%U0xi!ykcM1_7+E+O#1Qj;C3cz5WY$>{4_%+3ZwbQpvDgED0!#0fX*$Fh)-H z{*7~~kZ84?Z+~X?ji@;UtN37x%cp^r*BM%?rRh5%k(Z*_EWc9Aihxr2f8<1WA_FSg zaUV!6(Mjo^g6Pf2KMN=%j#9nQID%}K54T~=;90H6V2D!SrclclfgqY?bS>y!0b$CG zk{E(f7c^0cm#t_OXEyKAZJ{>wzlosz8W<)4qK9 zfr*0ZOqVbhMojq(@_JQYq6W&}NyrDN19RHHb-2e)w4{3M<+68#MIgpSsl^qbxh0Oq zL6%5)>k1TK)r)<8lb}0>&sau@ZW^`f5sMxgbatnJd7sCvvms;Wu?b;89w@hT)Po_* zQT7LNP=Lp5&Er7jhC3B7I{qO@)`9DT;dYwoo~+i2O-Y62d$$>N?rilUbnWsI2n_iB60m z)ah9=JuIlPc7l`dUeJb{A6e)Bgb~#a5uWXXhk6Pq;=?Yq?5m(UR$aouKEZ|Fc?1tj zx#b?Gl%HEl6IVYbVQ2+}TUpy*BOhrJRpPk6gr_DA?Vm%-*eApK`DfW`I>?QXy>=e= zSTU4&Bk6*R*SB8zu9-GS6}wj-)vcCaVT&tIn)7YL!4T&YPI`R07seH&1PGb%d2!(# zsO2co_COXBlsUFO!mNxb~9+by}Zz#N4YaJ(IoPEicp@Gosb-jJAu- zkfMXqde$6C`iCG;Cg;+=@*$a68)`!ub4{w&B!M>{UER0Es0BU5=%K`iI@|CvNY-ma zg+8W&6l*{7ycyC1mUyZ8Hl=E*&mj|z>R5+f|6V9?5${R^IUBJLm4g+Wn-kJni`DXS z#$mc)=6-BUM|qH_Qjip$+h_(6{V9~!Iw|o-mI{IB%UgLKqGrDW<{pXO;IE+INGpukA8xi~=_FPF_ zv)_Mfvuypzk}5o(Xiei%!P>2|PUbOxjFE26t1_i2!c{HE%NU`E1YxQhNPqry>JAEzT`aXK_^x1{H;|~G~XrT_Tl7pw?ovIv`7%{o!bshWqHLI8DNrr z=&jn&i6JBcbw>}V;Qxj1XLA@}F))T~0b0c#TpgOtXU{xZ1t@BQ>zvEXB*Q?=$10G2fB0lx!poxpW8-$}KY>h=WNP{CIqa7sTQ6+F zd`;`y7e*M5DA+75K-3@5WSD3S-=}X$Dr`l-P~2+>%n_b!i+bs6|5vPg)}QWE;fYoR zcFFv*h|W&?GRAQ*^Ap9*JAaPrk|$8#Hp|$&-p3pp$ly`aGxQ<}2uDOvp0P10nHI;FYP~HHVXVHW*wsi>~o@?Dd$?PPDU{pM5mWJBGaEH%RlWO zpU349f4VE9b6FaSRhJa-1PH-)Ne6*ePRWtojF9fop6n5Uf4a0%-IQNKm<34n=BW2y zPIJ2e(yG|IzVi=wTTQFk@t5Q(uI=}?Lm7-DAAHP1!Sc+>Kv%-{?GnM}+2(yAU}OF5 zrg;)jafx^~N*E6Xny>Jh(-=Gvs0Hr20?!DpemTAswDU~KuR{7T&l0oR19!VIU@FX_%jN0SL1mB@D>cjv#HGcE=%}@| zM9{}Bc)H6@ucSvr&840sc|Vk3|5xCL;@xFRP>ou zwV~!IZrYnZpVuRNdg%DTp{^K_l=YY*H1v;;#j^dl>33O&#|6_-A z*WP~niZH9!9wDgac>?M4(YF6BHsqSu%iGG?dn+%L3MfL~`!T+oMn?P4-LWp!b4yPy zK^i}1)`tD}Mago)K(pG7)SoF0i8=pDZ|Hn86$Mz2(3c6ta?H6fe@@4=o)j1%pcPum}43q^I#V(0T8fLG|e?im0|vZ?s;*{1g>i0;E>Nz65VK2F$nmz$@HpFpA-lX7SmQ zGp>gf0@D0c5KwONG@;dl<)NQW5W74d5VGTP@v4D(@fjnXT{vwM;m%>~v_Fh`@#Y(b zOh&H}sOl@jFj${X@;Kh4V=W!kq!4)uk!dbn%b4q1d3b}JIAP;Qi_EUs0rd8H{yvo( zh2bUf6c!`FPb?nb^`U)f?AmMHZPyq^OZdFsENCAw=3tz_ayfWM8iZ_cXrwVBP8Aq7y%FubZ)C$8yFxu zfUFC-5*3a?X04$<$w+?Vt8>eWtN~P+mN6U;^7fz6F;|pm5(@}cE4H0FlK3iXzVBbs zgJ83AwWy+XY8izQmS+0f$+*Dj-R2P2Y5|M!Eg3VyAt?4mKX!NnPRq*9yagMZ)f;vb zSlMA`49c@GL(02`f~)u(>ybu;ra^iT!l{$_;`sxRe+J|t2FOAPALX-gtzIHu+^!tc ztEe-bWU=fTYoB(2qJR=~A>IPI-8loE6kkPkg34p(6o=-*Y6A|!w-yU8LJ1JyzJ81TiL$ntekCercif*)U7zqi^ za!d5Ay0VlJvjj{uHvV1N;K$OdplAvF+lu3c-<^_i72bg|+kE|-e02c05I+|NF-c@w znnpFr#67ngj(@@;3p-yW@Yj}oC9^`s`eAQda!EJt<>G8z(q4>=_7pTs_4E>#ZLwAEQ5esX3ZN%-f+!R=|AaUh&|GKO67z8 z%RC1~;?H_x6`TitCDn+gh5CS)w3!v~XBk<3VDAB~s#Z;Y)BBIDhL!J?wLFk=0t|4asa1 zKLbG~F>jikuk)syq1_B4-OpHN!cdd_iszn(FLTgsR3B>Zv^|X| z;U3*zry6L5#YXt2@7Z03mezcY7WiXhUUZbAJ$sXK08_qJnvK?OSO!)7vHaUff6Sj` zT4>tm)92hEDu;4;)k+_BfvsJ?;p-$nYLS*j|33*u)dg%~ICRav!w`@Vw&V-BKj)Ou z#<~f`FoCHOru7Xm%j#t`a~r@JgMckelgOD zaD?t0S6L>!rV^_R;T$+EE0Ne6J9a8FI&HWyOh#B)0E&bP&@9hIQ>m>M`Ymp59^1TL zRz6?_yY0N&%C?L*Z@0s(Jow({cq zYH=V}^(EU~3>nYd;aBTXbc?RD(yJc|X#IC>7H+G)jCe%MQ%AS+dqvZfvrJ<^XC_Cz zKd?Di&#lxjw56)}QXk)4#c%6&YGPuRUFlF|fsSU%DS~g(7tmd2Hq^$tkd@>$$`QPV zwuFwSO5uSSY9Qx_WmbJ3WbtX$llq5h+ZycbrnZ{z2G>|gb7sO@{boFWNMJP1^PbH! z#*!M6Blm0fiI|aH+$^2#A)Hny?eH341s6**0V}1<*DCTsFTkC4Q0l=W1S_%(f%b89 zMMdiAqx06TS9>A9YLjen9!b&L!Q)%=_ZtS2e}do<1yfIoROZh$Try5fN9~9i(tO!r ztllwcp$DFnXDyl&6>brxO#Wl`&`!5>SBB$&rJbnD+gKA$Snn73g&INO}K0kQoG^&>TG2i!jN<#$5hYINAZ7}x(;9h=u-q?E~s-7dhz*}!uk zdxgdJ@2NJEx2>Qqpk0Rtl3hPVDR*N6F(V5rqD&p&Q;5fWsMGO zPYD`g7vmhkMY;rB*Kg$KZyHlrO`L}j+AWJzXsH-< zxzK>#j&x^~!{gXv@naUAMDAkjbZnD1u%S`!M>69hUSXau%6!}$uJlQNP0msJG}f&4 zEqg{l!PIB4K;y>z+O93^c3+|wHDI9Vjw&+dWL3{=G^-Auh}6K! zJ!WJ&t$JZ&V?10;guy^ADP-xcnD@{^D43{ydZdsuCm1QhxMnP;5bEG_9}25{VW2U+6m_*<_IRFrLD7UCMn5yLrL zhoFn=BHnMyUv@-hZ3qYGr^+qaP8#DNVD{3p25+uB%0U1^*h+wS@tT$WkNW>8P*li0 zJ~(8EAWxiWa79QiF+YO*Pq#10^5iU4W~L#zZT*)Mij}YT2u)!NKsTP@BaY+20jclUVi_B zv8d*mx9e2e@UlITWYH<*C{}U9j2|kHL4hXN+J`ofd-Kzans@9hSZBgC`95%hS`-jg zORokt6nQ9={Vnn&?b^piA9qoiK^!QHX?E=tk||j#%xxrO;kok}1AoNHNK(h+W*u{m zvXh9?OcA3jK{@e)?H)XoJI8_I%|7x%$)%FRyF zeR~Xfw&q|dW|0CZhwUV7CQq>r+1Fu1H@70^p9vvU7S;^4(%50t7>r({mgkI%U0DHY zU0Q26Z%M4*Ea6*Zqo#&M7I8TmMotll^ck;vn(H?cI5nK=kUUiF>HlEZ09q&MoC)WF za9Ot`3svfnH!?d%Kb|)HqB|rbXcYqPT6&y%9V%HXWpR3vHX^#A*lwwM+-zNr3g}F^ zDVoS$;B4Qt4}l#F`7jqU)~j(ujTf{0BF&)ybZ-GB3FGU5sH39YDNk zBhoj)FXxOIA)M6wpmG?ife*DVw~mVKG=+&-y}RNqrLAJ50nm&!r@b~t($J%>LBnO#j0X8+r$&<3IZT}Wy(D{IZ0Y0S z8d9+d_6NkTDxqWodVL&&Y)=6|SyDT7Yx&}u0OP)!U1sYeG8u4;ziAh-AN>Fhbdc7{ z>VX+7(hXr**y_dP-b>Vl(I!7r%akI5MhAZ{=pm`@r3 zD?5z%^M|^?su}BT>8|4<3f5U1+7nUSwb<%j2v+P8C(6Yb0~S?%^>{4mR1 zbG=F@%#i()?tfbj+$XaQL<@8{7JtLr0@vA391HwaHy7Hpdf7!n(~>&{oEDfI&2i?; zv7}G6+03UrZ3_wn$RO5)!7A-uv^fvVN0Aj65#s8p8R!os1;OlqZrY*yWFsuCG+&5N zTYJMYo}lg3zE!aL!%+y=a$oLcPt0?PS{P+0TYTexFTLZ(Q@)ytB3IBNv%_bQ*c@Ze zn@JLtq=X~HWSN@!MkYUwA3CQbME9QGxN5Mi)K><#DO@R^r8VVa!>D!;sD4B)O-X*CO*&*%c10{&s;lORJs9q-J(@AIzbuqS!3F@F-BSyb z%8~BpHweZSAWp+z4YbshLTol~m9lA783dpxy;2f+IRd$ibcIwB;A&S|m3bxcT=BH|9aTHVL-yBam)R+Kl% zWd3qL%wHM$!SVJ%5C(t{cCCqU-asAKsogFQS(XtjK+kvHdQK>Um1wjZN&e4 z5M_scZ<>%Q>5laoB=RuFG|*J*c)3}F8RJ;l1q(stoGj{~r1i)M@j zO8oT(y^7CG_ux|OE>6F6bUhvBz28%EcJQGuvw^m%>0d<8CxbBesx*mluB3Zx&iUpCkJm|YN#&kk#o>gUx3yiOrvT#1$>!he6XzF;8VyX4 z&g`j~l3?25{Dx#T$QOQk(iO3q_>fQ;V_jifwnnwn0h?`Y)_Zrr#4C#xqT%~>^7^!I z_U-)n`gMi%YYp{j&+XaE>eZ}2Zp2?!nSR}rzO6j?T{4N{O(MA38aBQKeez@n@he;a zK=@-$wtZ2S@5U*#I2FZcGTZ4OBo#Kv+6$~2K}RuUOM-)jA#opXWgyZ~V_I2YhYl`h zrH;Uif6t=!%WqEO<C4K}34)Srg(G0ZD1X|oAFR|YHzjE`CBuOdyo@S7wuo0?>6cr3 zH3Qkt5_Q#S$70beK1lj-Fq5r61^q*asouwSGNX502L~JroFkWP(<-LNop~t|x{A@E z6w8~eGh;9asq^AQzyAt@&iCn`5t6W&B9rkJ)jFzfvlP4dmX%j$`TDB4NKk#vmIXb7 zu)iJbRDHA!_llAZ+uHmlsgQ%YU_nqRGj(;*1D+Llfze-N$j~%T?RZzZdmoYW^HUy> zMmrx*e(i^W;MHF$=sk)O$FnJY%Cdqa?+K==DoGGBjRO6}Ixz~{+kT&j;JF7sd0PB6 zC%B7}?iDbQ6UD$fvps$NPK0sabSS(TNJJGwuS){H;$?-2RO`+4(bCD#yK;LNHDrk; zSrK!!q9-SpSnsLR7JI8fN1>sD2bn7`rJ zTd_PdE{;zM*DUr|kbYHf_Lay0UtI)JZ)4&48F46_5bMX`6nXu1;njNxbmm%XeZr++ z!`FwmPS^eeu#hv(kM@mZh(_@-A3lLmHV&`r;Z(LY`xrTACPD8BpknlMoU9B59l)VJ zyOywwvyZaR{&Duly!3{`>&F8FR_A1!u_S9DBXupSq;KYdimr&ANtns~v#~r}FP9|` z_(`CBNpWo_hQgo;r{IAl?Rp{Irt>Pv`@@{kyZ9IvFFLbNSDVUI$K( zptG#QP_}Z~EdtLa#V~LTTRSQ!%x*vRQ%{Y~@NZy+#eEHU%WD%QE#x`F?+d1Q+4G~9 z6|_wg55>%IWIch#@-K-h{iyNz^&Hcjt-RZ47b>t5362bI=Xyj}UH~m1VFYrFK~$99Xk#cE)vxrs+>-mN_Vfz! zK-s^WhFM`#w?JJrA^qlXu>g9}wStt;#s*KK>#1Dv#;gT}aOE zb;B85&b=9d$_Hd|Cg@jIV++o&7N8JKd_9Hpsx6|_%&f2E{Y07G;B?-V?mVV^=9&-+ zWfqlUuioa3gxahi#)TeizG#)+Oc$obk^cy-u~n7`545tuJn_Hd{aSImT%Qd{!K^hy z&{YXG%dKI$NJa9d7TL6CnH{Dd!DP-;1f=5Dou*n_-h1yJ<>6@iVGGI|OUtq`gn- zWAv4Sxc?8(4aqreWLH_h%oMULDFW#)tbxH%9_})o<@`}m!p0ztyDHzCRg2AKHTllX zYu=C-#xu}o3fj$fY&wD(*Sq*E*C=mYSakM6eew}uLNS$8*_D#6*ks)68qvR5wc{46 zmb3428m%#1!DHe)?IS)#iCVr2Xy+MA%}rr?&sVXgwd~IUo@T<*z z>ux-)pmR{cm5NI%S|dar%tv&ef_Thv9mkGJmbdcZmRvuL2`Ia+*B+geE)V$9W>My z9Tm3b$l`S*y}0!d8OFh1>>lTcM`CwtfwrEDp1wyid)l(r@kfg5)xhD{EC}$?cn^Cl zI3qURWR-ZTdjvBN|@8~oLS1pT#ZAeJvsas~_VF_t1I84zIi{|q= zQ+0W61hc>8-W!3Be1*oxO;{)w`>1Jw-d3wKekch;Zf~_O7VwyNI5=ji{&OwlU^8NZ@XWg?x-rluXbCVUcXMoHTM z*x}QXbU%2!0YmU_TVumLcq~#0K_#z{nMG~zM-kDLh(DloD?T)UR_M{~t)-Ax;E6T! zoA_?TO|{N1EL8}^d;DMPU{qE05aYB`7%l%8;Js~DFSjeaH~LG8TO$6M@RlP7?ZeQ6 z5(M;~NA`gx$R{Hbw>2T%B}sp$6>1FPvd!djtN0PX($78mXG_rVHk%Mc9LzOD;Am^! z+0FqQ6p4j(eEVd23r2WHR2^7k1&(Ut1-&xr;l!br-1>@4n@t?W95cg4CGsLo+-gnA ztC!n6cjZoMYZ6cm=b>0luHcsZy1|&uF-Eoi9S3sD^qNnxp@e!4Al!l<*q9}UOR37B zO~?Ob=w*q7F$yyx6JKKuMIN4<_oT9^D`&h+h6QZ2TH4qpAoH+b9s% z4IJ^zo0Nd}mQQpW>)oFis-Bv%P||NFc<%lrgEyTCpdyYMmNscO2U=ePTj&8jj8fG!2xbpzSC~s zCSTkm>-ZjgIaYqAF|F8M8x3N={_E0AQYDw1in5=$PEJ)#*qilc#$oE{$H(_>^*KU) zzB6RqwTz3#?RtUui79`1kf%qcK2tH(iB>3_UZYNb+FbpCEKlih!6q@k%nH%-@STLG zP=S?*$GKc@KR2lL%*99X=gp50fteS_%`}x_bCRfGE5) zT2sc&+Y;KFC7CH#J$1RIAWC>H)YeRDb9bFBjM8f!sti5;69#=UCMXY6beBCeFZ`jg zQvgTvH-QZ&L`l~$S;ax+46?v*bg~U|;DINA_+^U+ganl$chm>kDvn~-dLjzLJ~8_s zbN_Tq(~QKsu9{bVZItqAo=7KLo})Pe0{LM2jhqTEv@ZRdhxSZgtAu#V+tEIOTqlZf z2nM#O?My=QJjvF!E>`#sEhTHbvR!x;1O?}>zdiuELB?Jx`G(U5Gdi1_D z)Vx%Q&peu}7HUK;=2)yq3NzL}j&ouxv~buP=SpqVj>nn2Bf)#Jq$ZRG*ntVU7+DcbBYj?Oh-c_xP>C_%V5QDui%B9B2I zwjC%1t`{pC;{YRTByL%o(_k*de9^RLbw~$(1aYt zUDb1SSzFL82erC#&fbd+GNB3$F<(1Dy8VuM5CbKj`>(0}!dQ$2_q zS2n&vo%@y3)swHmwj@KHhg2gwYPhdj_xb9AD$q_80y%7j0FVqLAyekH%1Vp?hNrI! zXZ$cp!d zFVCUg^U;yE>!s>(xtOO_Cq>@eS3QzeJY_b}i)=ej%t5@cWZ1Y+ES{UY3#O8z_kmVm zzOo{FZovz=MbwiBXDyAuU=v(-8 zr~ErO{vBXv^WRJG>aY3ruYMgOfaLLGA&0bF1J*iWLY_7Q-QHiY#~?oLw5Om|-|eO` zTN}D|#mRxsyx^(L^Ft-5d#~pgSlOEXUI`&x*GGe}j9DffJ4i-trVa_}dhp9S#BWlj zXx$2?Kz(&e_TS&)??^z64wjNWe+x7TKSj*(8tNm_L$Bq8t6^s6q=e+vc4g)}kDttS zYQtn+EO@!b45>|$a+LEcCbJFPZfIm zots{chuqY8=YB^|hLS7&DdzZYyosu68;1aOL_0yu6j9j4>c$8yeP3gLQ@$K~R(0NM ziZY0iIQ?+Qwi8BbTpKE~6xVjxG-R1|53gxK05o~)tqX?4yV);aV+wl2oGwq+vv|2) z=(WVoV{q^1+zP|X@!*Y8nxy-N56lgEx50Ag6)s!}LjZ@ujznSPEshc?V)6sCn_<1Y zLwvA?PJl5M0pkC7wDC1QmdyLv$I;4|8~in-j#<$fxwkRM&X|ZL;Z{bB1CHQ&-U5vs zQR3{FP#(xx(RNOoeTkfmc~4>-qim4g#~8Pn5tLh7kSZ*_k>+1LP+?=T>!+|nl&vpn zG*leq8UesoB(rkP0wB?R&6|88CB7X@;MvcSV*RV){6AV(I&2?JxQgcy(+(^nrp$ja z44IuG7EH7AD~^=~PBGlIC>rw7$QM#&@Yq4U+E?&DCnJnW2v@UIu-#BSc;&zybjmC( zw?7k8BsvNv#-zgjk+ppJc^Q0p)J}~Hq~aa;fR~N(kj&YYChHm6K%h}NVJY+0jG=rl ziPll)2+q>oI>t1muq0i~&O!405mtpj#X#l1@%@(0;A>#XGUWj$uE~m0U9C|I9V-Bi zg-xOvoovdFYxuoC4$(Y_yCaBb`WRUW>s#pe?o!;z5#4r8bn|7mz<4)IIS?pfW>x~W zRrct0hEFNGX5GL z02o;pGWf~NZ`aWvnT<68Txv>7av=!~+V$9ha_ognT|_j zg8IDDN>v)SLTH5nboJtwqH?-b!H8niT5VV+c2Icyc;j+&zDn*`Ks$rJAi=AN!C=}I z5VtwjOZz9`B{Ij3AdJkH4ILdOu~upXHj`;=ve{+5wZtroBai`Q>E5G%09oW5HM%Lx zmY`ZMf_B*0V5F!#To)%nGK5U^nhl8gTHNzX9dJV_EOIsOVa7>mX7Yt+Df4J(Bs$;T z0VkHnnHY^y9X30u;}`35&)+cTuk-&6A$PRUBD8G>Qqq%NHxg$vNp5JT+W{{|w>%MtK#+oIm9?__k zD7l9#&&5e|EMAI<2oA6cn)(ptK{E`#1$yI_oD)@zz7(l=_qJOO=dTz_w@!(Qnn(4z zot!BLSIn=dSH^jSbx=Of!GvtWF9??GQx@|J{}7jX>(y3~sRVp!>3M+m`9lSmww$ew zDhZyU!of@ka0_EJB)ti;MNS}}qhhaO&_(R_$EbV>B5dSF$Nj3U;9xayfG?}Y=Ay-; z#oi}3Br)}rwsMIdmg}%{5 zkzync(gTU0gwQ?h3#xDEcl+5o2smFV7T@Z?kN-JBSBga#r;ZJ%Ff}HXyM_>14#c54 zWA)G+wdMRtnC_sI&nx`~y74r@i=akQL0bQD2P-vrjTF_0xKzA;&$kyVwy*V2ZG8_- zIIy^8wZiJXWN8J+NOodGBoY&kyQC>?B1ONYhgEc1N-QKlKu$1cD4SgG&eVHwi@brC5% ziB_?-b>9SdsuEk-i4G^m)A4`T#s&z6_Qf` z^bBi?hca9)o##yDi8(eZ%lcH>U@heYP^a;>@g)3El(&^Zc8H>PPui&4jh{I&aJJ*) z2@|Vgw)N!X5PTn`;9LVdEZ@2^aD%Ajk1w}CXq8qtY$8TMcYA#P60{PwW%0$O6}CO3X=xBNNLcYUI`A393ozRwSmxTN%X$ z>O_s0q7rB`27n=6j^N9r_d4=zZZlR)s{`Tiv60j7taq-9}m(}14CcdJoxLkC7K;E;fXRzOl#)+7(-k?oORj1)7<1CZRipx3lV-tWDuy?J zN)xn=n+A#qP?j)!%uIq!S>7!Mp|t!t(NC`chud&$JqG8`kyM80xN7JOubw+%m?dV> zCMZ)Pp{l|++bJPpE7LT$N48}dO5>Fid5HLPOwxG9$ZO)HgZ@*coTCG=nZ=oboy9)& zVP~f-c0S#wPk{@9{ay$>PQ6@=rqGk_=q9r;O}@tr7bfW*c?Y#%!b)C3!8L29 z@$`I3{9gdVL`cune+(Vqunb3P?p<6;V}HgI^zAk25IVgGifGw`Npa(08mWQQ3cIGx zX4~IR6xQ4?{l7dpO!0cNwN`_)V#7q=KR|RaK-(SHKg)sUL@D{KJ>7uE+3~!`2JJQj za2&5NZv^sQUaFwXZuVS|+%FaWuBWEwRwJWP z$%3X}nNqpeE!bOrq)vBUJEImKtax-FJ*_LAW+w%v^E&n=DH-Bbzs+_6P$#_jhK>fF zqg3ryu7~ZoyAh}u`ZMk*QHo+_oK=YXZ!D@6xQih>3|bJl%MT}OXe{N74#<|1SW~P1 zb6?@r*wx;<1t#beh8)W~2?MYQV@w$XRA!K~L^n60+GMmedMJ2Sl~NL7mvJ_G0I3Z@ zx~MEG???-N&cSX@CJ zSa*L)sXmDbww|E_?^cwD;QAbqKq2>g33J#G|6e+`>P5TJ^1bKG$@b8Ky;b8$^1$N` zp?6`;1tvWFm9rCZ>T?}T3?4vrg|gkT^k6&ilMYRgAUutzvxnl2;|bugx00knBV-NA zVvVT&uXGT28GuRa@4YoT;HE1Ig-xG3n`^8hLqN(ig2@{l?NB(3_+NGFj*FE-WrAq` zNP@hF(U-pYR@1IA@9xYtROq$lxJjO|M5y0_{+gYV{(Btx81Tqs z^VO|CDSC2z%MKX*(^vpq0H2JuZC1SE*XZ={k?5(IiWZz&KX-w=krt112SPPW$7Y!z z#Pz>M(==f0LjG+cEO^wAo!w94wIH?K=i#NZXj6}+@*yk_yi;$MB-a0XM(MvT67V$6 z1xZ#xy@_TAoh7M`0xU%97Y;zR%hg%x(8cIq-L_Ue$mQCKG5P6%v7X5?%@kzmXU_nA zR!fI-m`;&gM}MpojkgW06C6}DJ@oA7pOpYXDLpJ`4|Q=$Z&#DsT*M#uj|Qcdz%YusXy7>ALAWj+F2={xs*LuCy(7 zQXB;~)%yXXLL*BEnG7M z#6nz^XSoPbHoE~neN3qUm z35&7Lc?c$7Eod=*XDg)@aYPgkmsiTR%#4~Jq#B&EpL-pcXHN!m6$}uDjth*hoAkzd z)i%r?J3I(=3CJ<+ANpE;3WBpl70T(0DLj@PcmXL(k;;4uTL{VFo zzZu~2fC1{zdT$W z$M5Ayy8k;uKf3EEf5>w3-xr-9!I!?*vIJT7|2yB{*x;%t5tHoHF|b zTEcL=GTM(vf(@o}c1k=7cwwsr(lVTW$XA;530QI^038D#ki0+vC*uM5gJ2Fgi7g&a zM7+Wnb5o0_t#Ny%IqPFC>h_vz>)UBXPcGbiD)78+KMJxRYupbps+^8GNb=ARdVppq z>?&ts-$-_L$5qGIUad9DZA%jugO~k4MB8!m8nDM{H&e9TZ+tCR?mLfKzpxIyy=#(l zJ-%`akQP&voCh68U8dza6Uc@h#E?B|vk0vn=?JU!8~}H>#{(Fb)yV~og~*B?v&tPg z?CF}mLUm_UxikxA^!LSg7zM51DBP$Sq5mBUkf};;@Tfdw+Esqhff`2d5z3$Y5IC53 z^%@F4ElmY6s(~lC7Kn+f=XbbKMVwWqDc^lFjU>cfBSgrEs(3uY?E>De6| zwhOr+LPyy$(imR8a?}&KL-aob-Nn@wAVbfW1bQF zkWeY;Apcb%%l;*rIwT=MKXn`nq8P;cnDW+QaSra@4W2o!slxX4;@io>J{bNJ4f>YT zx*tRKpCFJWvk&q@{xB!WXp0{PO_}(a5CrWzvKLz)-;6Hs&EZ;-Ka|YUn4!0lG!}`6 zhzrT~VAZHR`(RIblodP)=*$hF!MN{Mg8vRrLF&{xvJ4_f3}MXR#LLTuC%^KZ>i$ z6ya?d)!aK$wS!O#CprH_L@aUfwjO4D;Amvf)WIOLENPsX!Fw&WTLY1*xTCUm_;GvM zu}J0LCWs^6R}qe!7q-s`B2w!*zQuwuHfH&Nxu=ow1_LV8xtQH`Wt7W7Y=a8uYu|Vb z>G6n#_s4S_+)SCV~9!Qm}c@P6r4;ADy|oxx}J6?sOxq3TP(;8g>zC zX}wG`KHHkT&MU~Qf1WDsbC0*P=y6A&_=bI-8_XT1nK0^I+E61AnzSd7l=&L&+!Vb$ zbl+%WA3-bOV?X6>3p>KLszkB1kPMfXZn`lJ{O950JE68N#iI(-q)XdxK9+{t)l?i) zRig##JZ>dg&QlSDNly}{^&5Xv>GX>aO=)5Ejyyp@dqPDehJ$w~l#<XE%y1Yron93%Ul*V-6}~CjLQSy}=BozmwY4E+;=X z;F1lXD~ChN>!IApwl3V-4G7{oBAtkd`e-z$+(aNC82%}&fPm$J=oT9R&-?!gPPAfG#^zj_*utmqQqfTN)w{ zdDqlPeey_1B(y{FdYCH3aHnOOf>E^xRf7t<=NVHRE9mXms>(b(Pf&3SRNrrU&qWqd zl~zZ^b084+1Y*M$p0UC>=mJxzb@ zv!*Z-70O7%D)r^dMz^{d{|g56V-wlgbwBr=jSncC;>Ng7`Vj(_qtB%#JT|<Gn z11z6;y6BsSa+4=NJb52$pmrLUd3nD9DuYJfUo}R$nN)Hv*p^4*87i|~rMIUn3|zU^ zr)SZK8kdUBz(T&lA>iU3hHYDYF3-9#w2o^;zBfGX??~m>9=173%6(5#I4SK$skbn5 zf>)~yuyR5!H^=QJ5EEVmqxdV3_Nyqb?AfZc7mn_$%*4R?=L8iYqbe%v8o#j7IzUOO zH`y7ladnO{?*liqo`2He$|Dk>>2vpwd{G9lza#3Y?37UED-o<8l8~&9PO#O2cVcmk z*+B0r*?mmkr@xf-x@1qS@`b+@83NFx?d`pmGIM8vbA&&Jj*Py5jA#Js%`7cH=F}YW z3rXVNlqV;@fP!>Gp>vAJyjbkGVbFO~e~!S@H9PGt*?fa+G18<{!l2yDIzUjOph(Eh zv6|3ppXAHD-Zri$Ih0fqz5iWsc3)`=f;}BEr<6qYF4wX-WcYvFQY&+AnfJBr{`msw zlQp+HwafM)e(sp5!e{CP)Dn5>d;K`z3KD8w32-QMphGQ$5pTDdCIV(v5v3wGP=G=9 zr(c#k9)3qG7_?nf5nurS-POkgU!5qTPrzZHx{-+o>p*<<^wB zW#2P=hJ{5gD6^$zzIf`{L?i=Qb{H#@+*4@cTJIY8CQ6vc-G>Ccg_lmgZf~Xefbxty zu1_+JwC?0S(=X*hMV79pjj%ZuatO_Aw1$}r%>moqxug>`L^9;kZ^Z{C1bW+~)`BNQ z>ac*eq0d?z|1kkAeP|$!AG%o&@7+T`;OTHCK`g`Hbbj(=STzjPig-2WZ5q4ezZn`Q$Y$yA+$zEv z--((_K4S<8$GBu00`LhOo29=-h{rj3toQsg0!fJuZz%e5i4Vl^*I7fbgZh-D!Xq@D zNlSni*jyC~9S@`MI`Hn*#IO$YPUt7PJU~N7e`|nJfZchrafUSgm*8!Z_)1s@g472C z){bjRq3fB<_uOOO!cQ@+*vo>Q2nd?`}yX zmm3{%9$uU@`lCe~^^J1qV>loIquR9XBPHUc=U!O*0H)jWIoN8MYLh<_@vbj}@s?gO zYEiCdmIjM)PJpf$Hc} z{;_qefJZ}@Yo`qTz*)jaoD{%kMp?{N9M>x$gU2hq&<3+$U08+pHjyKc*fxsAKGiFx zHID8?u>DQdQZjc3WFIqN+6<^G3roL(uiC7!*h?C8#_12_pm~xN@aTUkk>m@Te~e`Oz(^GAi+3uI>Kc4vC>R^&aWC}L`QjnTzlW{cuQ z^5lq7{D7W?uALnNZ9Dul&;Arg@UMS{=l=(C-^0+~_-%*$H+%SYL;nXvAH$%p;eX$5 zzh7>y{{@os2&#_bL;J0xlgX070ZFols`Y{hDA76Cl31UA=*=DLfsGz@Dkk-D(%Fex z*5Up^50MX}Q7Qhpt)p*S)qVv*-qo~B+R_T$c`8w?J;kQudye(u4L$3qf*``K7Bl!2 zQzc^nGdRnzu1FqG68WrllI_)-v{%G8O7?c8R3TFJaiE-6_8cIOueCK;J7Fh{xuz|$ z$NC}iy%h2&eW(1t(8Q#V-{&kJ{Bz_aI3$s}AK9HU2ZH{n7CWrtL-&Wr*(EdnI^3Lb zq*1{D^BzH9O1;+YEd4!=9gTbjMoc_C>P8R*@tf&-+y>uZp!_fao3XGTwo7!Ukl{&) zKF)>0hO1^;BonHr@G_dj_c!;w7!@F%%h3-zbZJibw5_9xlmuU2pny~?sO_d%c>amu^%wyJ1NYdx3Y z77cz$7iUdK@>_(O7`KH|JXO4Q*nh3NF(W(mzQe|1g7om*z#Oe~g6{tkLXQJ|S+bJR za@o7pq<+e?*jOg-!I7M@Bdf*&L77Y4%I$ib*_VUIe*o!$*o)z0n8a={RN{&xkiTrA zG+S|AN_N_?H` zymfaJETF|2-OyV&Ks2T}k~e0vrIrVU>DSM>ASfPogXiUi7uWf=m<0xNe-Q0l7Gmo_ zX}m=bmmD&S`58Pc3;?v|fO$$)si;=adIU$Zm)WR!`Og*x5Dt_Yyo>?2^Hx)66*aN<*Ke8m?Z-Kg_Amgi*}n z$=N0xhmc*Qllx7o4{^SO3(w5;A8OeBppdD4DDeFz)rTCXY+J%Kn#V<*70fURU2Tx# z_xRLZl#VeL#K@1#$dE@qNlx=!_u?@zk&nDxfsNl&jk3Zx!bx~OqJjT4I-R*RfHz%l z+PQ-KD=nc|j3x~l8cSVDHeHPFHv=zy;8mIz(lhxnwi^lOC9w3_kaI66M* zMmQ#OD(^Wt2VEwej{Vm|rdUW~-VL5VGW-86q5?MahfdTf3XS$L^^G}*G;k>52%s<} zNTaBLQAyy79t?Kk!iHXLvrsE@JpxXAVl?Pcz|xriC;n@dPN=)1(c2ez?*t4eud6A= z!kT4Dtj^$7jJ_AFOosRm(_xK<%P0)?v+jUkuJmvCto^gcr0+Pe0S~#@?8?Xy$=9qp z7XA&lw zv##2oAn?{+n76_V;B1D=a64dF`efxu1R3fI%*-2E2OL><8VCD=SE??%j#`5Dz`E6Z zVJYW#5-4b2n^9Lpl^p_SXyc7)qSNwTEnuirFZ9SDJ3a}aQ%p$g;iVuKD{0Y=_vJ`>gCdCSECgm`xn#uK_vfHL@@0?AQT($b8aCmeL~>H zJiH@B_iI3r>xi1EPHQ$t=%Cl(h((y?b_(G<7pm94agqVxHQ&pgaLA+$ZZMVqTTKUPvGFFNxg1R=c8|`l1KH{m2UsL) z0P`aPqW6s&xdQwA{~O>$0K~A`I&~DdK7x^7LM4X#U#7|$SzBvK)B;6 zv4U~%{>#&=@kx`C97T3PJ!_1&LG7>|04B>A0m}?H7*LfT^vmmQFTm)zY>~v!ugH5; zMS{_fq#qM1beTiF%_a!NDGZhOBsmK}H8w$NU3MI$x0L~q-&~0*U!4!@+3Ng>o4V3JAD`RTH$GPrQRL{AD z#)!ffun3vt0M`meDj!6=$8dSiDKN;+JldvOV#)(ce~sXQmwY$xBH;LS3!UQYGrr(1 zpi)*@cXzXc*3Y+Q%yGNsEUNUQ|OPd-2_ih6T0r~VwyJu;ab zvYk*uCIEDJ;*vMX^VAfSOm;v1mR=DNXY-{OK-WR1pJhx$5ro22VY~zUGFvfzHZYSK zN9P%BCz*ue+j|c(BvjCv;{BO;9dv4mmN!^u{8n7in_}G)w!!RoaCJ)v3Q2&@Y3+nn zm`|8$RW%Fmzu=l0sED*FICMuRe*TjPPbRY+RO6HJ4p*7^@QyMy7335W2oIt{)fDJn zl?`~OfxK`G_4A?e1JA<=8X8J84?<$qB0p2)(cCf@WoSUU1rT4E1Wge*y=KcTuXJ0u z8URPNSetc0WpGV4Mn)ojZbDU8B?#B!KV=XU+Us7xMJK&}r5IOv&=tfdveB9bH9rm@ ztwuTB!#jAWuwgmXBr-WGF|~MwcM$U_bS&Wib6v-}1td-z2X7Tt4H&K2yI2V@D6U^S zjaJw{g`qvYTvJp&jeu`Le>_#M3si^`DtWEpt^$2>cYtrTBAZZ{VoED7ub^AO^e$JiE z!n-eL4R?-Aax~02P7CHiF+Qop$eke;=VZ7TCc+#ks-8sGD5+b@HYh5k3JB>UP+0}s z2Lxy&reP@L+NY562Vl{O0zVc(A(l^*a3>A4%K5Eds$=g60wf6(PY%oSm+53JwT9zh zd|jwdUDLYDih{?0fWy)*dUai&_OIPGoC{_V>K%#rOl4 z6deiaGJpQMQNYwfT!t(?g*IJ64?fypD@Qa#T zj4e_=?XagxlgNx#)epn5xhBON+OF(I+dEv!%@lR-G@^94*Ov$Cr0{1-0wfEkKx9Vz zqS&F%kM{~tCRNm9y>t?9fa#4&ZdIzJ%je%HlJ~E9*6N63cz6}={8(DOH-~r5O5*%* zY5z6MT?i%o_fCo?GRRh8)@B{XCLHR7gnFwXnX8-(!U?k z#a_bp7X}iDy@EHCOU~328epzq*=h>P&q<%lKAbKYm~QIUCe|lcu%;?Sk0X^e7buEy zT=dPW8BLf#(3rqE^2uvok%^e_VKSMfrc{LmQW=X>aptmy3Gn++s-C563l-?42eqFkV}n5M zQO%syyStp#B|6s+mN?ygYbR-ae`_h%U5Ww=j5&MIJ&4M92`3nLZHWmI+kO4wP9A5G z8d1e~k3L4D>ym2v&7v92EPZZ_z<}-rWXUq+L4;fbeYD50PYoRZ8+6}m<&ds2hV!G~ z28W&oA%FVRS^Q4^$Erf1VdjN<+GkShSltyLMp%V8WmLs@N(8y63ms#kxbi#3yGQd3 zt9I}Xlv{enq)If5)AE$ktc$FTi6aE7!~{g&SQaQ?FIK|4!7PxRv=Kfem^x|87lsi1 z(Q#Y!)q!YkRRl%_sL9TIA83p3{^QHT0l=7nyO&o}_C9*pW9h%&3k!Bg+<(G6nC81d zLu4g&tUC1wM2?~0Ua&_}A-0{>YF=y2Dowm*ii24?RKYayP0As6NAYBM+$57p4^e)H za}G;SyCRjb^}@Y=asHtp@d6s@QH)|tmBSoJU!IMx~qlkb*yG08Ltxu6F)aS@9=MRjoRz-ki z!`}jX|6iRhPj!d{6Lx^o6m@i=uURND#iQtiD!)~5C`1KBgL;TSU8dE*q$F}f_aG1nUuJ!wPS*rn5y8-3dDk)~!Jr=5(UJVkh8wOmxl zDE}hd$Ilv-1PA^d!K9eS%hM^VKx__dd|YLjUn;sx`Pax{YPy+CP{7;gtD~$##BB>p zP`~=4annTQG!8vaAD^3l-7Tr#kHOs4ufPfU9`VHFx0mD@M3LENgWE!IdPwLlbHF0=v@?>$M6 z0^PNhLD;2X9B@wG&U~fde@$-U@3zgWWa-ivLXo076>(#uqPNW`mTZgW0pNBj_C>Lr zl$uVmnmM0qTQy?&RTOP$H4i8%+~j#8T5}KA1v#i}G{*&iz)H2h zo|PmMfJurSn^6ML9g*_%EI@;7{C@36R}?d03H?@ch6wBXSSvKgdtuajd&n|d2{q=b z+7BVSEf{ms0g|i5Xs!8p$=gf?XGiDq#1 zCexDf%xA%Z{;%iJY^Y5de)s)LFq1zzvp!~-K|TjRF9YnS3l()7lYH)r%0p8*v|n0V z7`K|;L43=PGe1Z}@#9iWAUIm5OkweRLBr|iB<8?fMSlQF06I?sA)`<>MmplmR|iNR zof3l}%lH6{`;>==G!8<>=RFAxLmUzweya+*x4ZxgsZL59UJqFm(5}vFY$ghS_!PT$QomBL9Zp+X;$%N2n5F#1CuI!QvX@QIbJfU>a{k^);LC>IyuL-(c zJwk^3mt14G23eeRj6`?$oV{qNINSo;vEIvrW#}-#*RtIkK}DB(B;BmIyzLf;2a$>^ zO#fz=&P2%WG@;E_^K@az;aT6g2VlC(c|fh0b*UMpqig&pI9`U`EJ(w_=CZSnBKuK? z;5e5sxAjdMBhjxLmNddQ&-Z(u&C_z5NtI^XlFJM!sW++Gg;%^t=vf+D6`sAM>NHOu zxLNkJA4%EFAeQ`@6MD!!a#@jxRnJUI{0-ea$B23KbZ zXnQ>OU=P`uGq+*p5qEVW=|rT;GCvAjh4;;B z1~BDBHOCd5=%cpllPnqa$)yVM=RVBKbFA?*NhrCPB`}v;&kUo*2HrMB?U&o}+dphp zhDIuGWnv9u^cGNd5r=%0ZHt9vLcg6uJ@(3Q=DCg~F;P+N1rA%j0%=ltMCX^_zAotJ zBK@%Xl)@Ly9R@nS?SY^4CGMi;38KJYD$yY?;dN9RiIZP_vujU1)vt*#10a=OM;rX) zx)Z;m9FH7yGCYm{S1;puMiE)RKD1&wiNr4_TqOZ;P!775EHZ5$-eU@#QJ}7#W*j(+ zY1r_-^n^Lw7}BZL>#W2lGjQl~&GCp$aIi#(g81&7S2$!~1>?wWSc=h*U0bnQOeI7T z^nRbNkn%Rlya1#rvEmJ12FVPG#ws{NHPVcj-3ikya0b)q)D!;T3DBv_b^hd~z{G6h;U+xa zBt=8mJ1VO`f?6K{98#47H=H$xIOKF>J_9X7!1B0{m^Nk~L}_Y(jMiJR(ew&VqDDC2 zj$n%8Yl6jVM@TpmLHT9}G*c`K$|N;~4aW|acGC$!?W0bh$^^RE#haI5iQTQfD$NtB z!|`0+YgIMF*PSVDgDp;DJSK_SwQriIm$C3yJ97_%VXn45S=Yu$nAmT>6NP=LTS#4LjuHj-*mh6l7O99>^wC9&QWqui$@6Y?SeWPJ8UoG_S>Z&|9 zaii-d=tQavZTqjn6N8(2Bn8(};*up_H0~gVGSx{06L=J#)|_dj-=y{oX8tKuOA8T-%%<43bY#ZPS%#GdJ~vrDx(g%Mq4lv(R)6>$sz{k)p3oT zs<)J#shCkG-_T77q3RRrbU~vS32h>0wna9bo;0T(Ie^Y!D{mgNvw$EwwY$o<+DdiL z1~^6k3BCV+FWKDln}sKDnV))#V!Ghk)>okJMxKKjda-3tQa<=Lz)~Fa66Mh7caC6$ z@+nLiq9bv>It{!^!|U~R3nVzA=>8GH#PX9?wd3DUc#8>kSGa3HjZj@k+mbax28#;H zn#dts1E@46NT}jP2vgB+83aEmI{B1mlh-7aTUu>1uzf9LHrJUntKo&h2sYc$Z2Ib; ztH|{GFQwZgN<|KH>NiBuZVc#;CITv_d}>|GZd=ggl3jQ36Xu`T`lpIY4$R!`!=bNS%x*o67qk>b`7X{gGgQhH?G=6xH|-Vtk%kBh_>Pfe`gvp#bb*7d zou+MUJ41i>Ns)U~G)#Av#?&80lqRSXXdBxn59s*)`RnW2QG7|XzV+)uzc+dmf5{

yF!vwAJxyy+tR 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 OV{TRe000a^@Bjd5ZnEJ3 diff --git a/hw/xquartz/bundle/Resources/ar.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/ar.lproj/Localizable.strings deleted file mode 100644 index c6eab3bc26a7c45f83320123ffaa74eb8f07d900..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4190 zcmcJSU2j`O5Qg_^FDiZjcbqm#W8B(ql+fZJgdF>%#t0+|2#~l*^HmGSPGhHOZ}{oJ z^Uip)$Bq*MB8r@|A2YKvv+sQDpMQl`sD~o-!Z7TIQJ91iW;13pW=D)K!yCS1MsLG~ zt!sB|bal8Nghy~s*#E%)3%=*jOV)@L@$W-DV>C0WB&7(ygiZdwg1-n~@_Q6t#$G65 zJ#NOGSYy#F{21%0!Qa;xWnWi`2%W8a0&95`F zIU&q3^J?zHS6GrTSK=vo`JA=t{wY2^WW9 zj7RC;;$C+rt1A9jTVMM)5N+XiRu#3{b&JNJ*C~|| zkMYR)d}Z-2|GV}%TMmfvp5@7_Xb0V8+~edF?{zY%#Vb24Vp&nYP3&&lNO937mY+K! zEbe!SlCmP92K5#>qs_NvTn$FO8zp%**@C7vKd(*JRt`zpio2?@<|VuOD(mapMhibJ zMXOfx$(rRexKrr6oY=xz#dt41A3T5`mykdBD6lN!&aA?^}(f``8rP_PK>KI%p+X=rZ z2MWciA(xf9;GQYbw6Rnh|KD>}*FRXa|C1I%9+^1~@Y!}02dBF)>%S*MDI4e9kUOPSXD0jz5t*k)-Cm^r6|0nS6TQzf z#~yK7F7fDN!?`PvUwAhn}7AvGz zZ;#)U_gB|9@t&fUs>m2=>XWmUxlej+R!^-usitHu**c*TxemwF9Ayb*jofpq!m9^W zrnp_(YBjv6XHg%T{UFbdke#chI%ZYIRH@aGC9hA}Q+Jkoi|cogyzRFn$xHRuZp^!C zVL=qh%d%TJRJn9){dn?&cT38m@8_OT$1Y7$wfC+?*h=!MJ>&p{KD9cgUUFd7q*P^q zdKGG}d<2qfWIw%P6k+Pk8~pnAq7l~j7}LGSXY(3F^)V`|%+^ic+|Q>DevOL0Nz`~( zzlS{J(+SYc(7X5f?|ppTYNX~RRj@Ao6Ax>5)kbtz6&x;J7{U{BsztlE0nJeJ<+-i>FMRZ;p2D0Lm`33xA}@3!?qy$V;- zMRkAE{NR@9KT@u}2dZ(T7oR%FQ{?%ZV@T``Svg)}Yr?2K - - - - LprojCompatibleVersion - 106.3 - LprojLocale - ar - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/ar.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/ar.lproj/main.nib/designable.nib deleted file mode 100644 index 85fa95292..000000000 --- a/hw/xquartz/bundle/Resources/ar.lproj/main.nib/designable.nib +++ /dev/null @@ -1,754 +0,0 @@ - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - يؤدي بدء تشغيل X11 إلى إنشاء مفاتيح تحكم في وصول Xauthority. في حالة تغيير عنوان IP للنظام، تصبح هذه المفاتيح غير صالحة، مما قد يؤدي إلى الحيلولة دون بدء تشغيل تطبيقات X11. - - - - - - - - - - في حالة التمكين، يجب أيضًا تمكين مصادقة الاتصالات للتأكد من تأمين النظام. وفي حالة التعطيل، لا يتم السماح بالاتصالات من تطبيقات بعيدة. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - اضغط مع الاستمرار على مفتاح الاختيار أو مفتاح الأوامر أثناء النقر لتنشيط زر الماوس الأوسط أو الأيمن. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/ar.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/ar.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index b23a9017b56fe0a083de814c7db9eb4b51cf6920..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47469 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 diff --git a/hw/xquartz/bundle/Resources/ar.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/ar.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 4748dbfa6314396aa5f03fee5f7b2ef8e32a630f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47494 zcmeFacYGAZ|35xEySI0HWp4?+2SN=kg|0|K0wi<@y@ilmLLiM4s^E?VMC>4;4>7Nj8fl7tI!Gf$tnjo zGYrX;wp5cl5)aWybJChblNi#GbR{>E+sR$zZgLN~kE|f8$ZGN!*-f4!uah^(e)2YX zhrCCQl8?zr@(KBroFPAwpUBVT0{M;nPOeA}$txLB4XL(NM`|QBlbTEIq%KldsfRQ` zN|T05Dq?ytjX|8m$bh~tibfs|7o=aL-=#~^6{=D@b77t&klB6=IWo8Ck3rytW_=tWtP ztH}{^9l42|DEE?k%l+kv@-#V5o*~ba=gJG@h4QWPba|0HTE0!bL%v5|DnB5vl-J4Y z<;UdB@^*QL{G7Z`J}AE_zbn5le;|J-efZcuJiZc-L0w<&ikk0=|Ijmitk zKINeDw(^ehu5wuUK>1AhTsfzFul%O`uKa0}Y}DqkX*RFTu+_5Fwl%c1vvsv~vkkJ1 zw2iWjwoSC<+X`$mY%^`MZ1Zh**zU9~v)yl7ZhP3a#rBl#Y1=N_ZrdK)%eGf+uiM_R z9kP9F`@;66?R(pK+Yh#js$F%cb=4+nQ#DF$t#(zrsflVYHAziXN2_Dh40W=asphJ) z)Y&RiZ&Ytm7pcqD2h>&SYITjeQGH82q`s}bqrR(tsGd}RRDV(bRIk`oyWQ@v*RwaV zH?>FEqwQ_%ZSC#t9qe7~J?#nhBzu4R0Q(5L&z^11w-?yw+i$QhurIXVZ(nYI#Qvy# zm3_5+qx~8C3-&kdZ`qI7kJ`Vme`!Bw|K9$m{ffixa5!o^>Np}DO&l?fSVuQUcSowD zpJSLK&5`NIa!hmNIp#U$J8p3-a4dA(>bT4Cfa7t;Cdadmt&Ue6uQ}dw9CDm=oN|2O z_|ox}<7>xx#}AInnn%;Mnp!Qbh1ODQuXWIRY6)6jEkzrpjn*b<8QOHMSevcQ(H3d9 zY4>VNw58g8+H&my?LlpYwo-dYdsthgt=2YZ8?`OkQ`&ZIhxUTDM|(wkRXeD?sU6nd z(>~BX)J|)kXkThyY3H=>wV$;M+HcyQ+7+kbv^kwlm(y@obJlX!b~bP}bT)NHIa@kg zIomngJL8=lo!y-Mox`0YoaxR<&J1U^bB1%KbH4Kir|G=Kxxl&Dxx%^9xz@SPx!$?S z`GoUn=QGY7&YjK|oO_%vJ700`cOG!Q?R>|1#CgWSB&eR>yYbh*C(z|U7xu= zcYW*n$#v27tLrz{A8z87+%?=a-L>3x-O=tg?zZk2_ciWo-HGlbcOQ3OcZxgJ-Oqi- z^9DrQA$mgJB(HXkS5E0q=uf&%>znm0`cuj``qTO|`m_30eVe{r-=XhRF6g`T-THI- z^ZE<=9{ojquf9)zNq<>?MSoR)O@Cc~L*Fkwq#w`^>Tl|A>4)^U^>_4l^~3sm`uqA3 z{iuFSKdyhEf2g0(Khi(ePwJ=i)A}d+r}}65=lU7_3;j#|EB$LFTmMG?RzItMr=Qcm z*U#%e=s)T|=|Afi^k4Lg`mg$L`tSNB{SW=J{-=J$OT3bodS$QTwRu&q-RtmbUZ>aP zb$dNt-Rt!l-fG?mZ*^}CZ%uD4Z*6ZKZ(VOaZ+&kAZ$ob*Z)0zyw~4o@H_F@0+uYm2 z+tS<0+u9rLZR2h0ZRc(8?cj~^#(Lwt@!pQ!PTtPmF5a%*Zr<+RYrNNbdw8$&_Vgxr z6TQ8>N#0~{Z*L!OUvG*x)!Wb8-#frN&^yRG*gM2K)H}?Z<{j=G;T`E6Qn$k$1Yc*jwT)^_F>O zcxQTNd1rg)c;|Yr_s;Xq_uk;W(R<5?W(8$=c_)aM7^E7BAk|3?Qj^powMiXPm((Nm zNdwZ5G$M^jB;HL)6lpecP};D8B4|wN*kP;RWdRougq5>RN-Jt zH(GZ9?Eel8iQnrEN=wYl^p%w4PR`BCEu9_ytT8BUWG;Tl^Nq?a$SRx(@Y+>?S6z_5 zNrlBFBb#OBWt5bRwHn5uO={X19m?onMmsP$&a~l!$+1k1XLQJ6(gJ;MNm`9V$M}tASGtCDB3(#_5rfk3#d@+EVOxy8q&vBW zTuXY8>qt+MKoUtWl0=e8Z_X=FGVK}M2MWHcE= z#*%SlJefcyl5{eOWRS@ulVlMe$tF2u3dto?$uyEj@<{L8DJCVPl$4PfWG0zK zW|KK&F1en}BlF1(#55hI$82lfXx?n@H;^St?^`8$&clT;>EV^SR^HD*$C zCbeNwER(u0=|v{(W75k^dX-79Gig7Q4l?O2CcVw1cbW7ala4UyIFmkP(nm}>$)wXv z`jknZGwBN^eZ{12m~@s&KQZYyCS77wVpL|-#we((G3sK}!>E_hYK&HAv?imq8Li7` zeMTEH+L+NMj7BlqoY9tywq~>qqwUPrM?jmK$j#&yvVbfE<1Zq&k;R~0T47mnrVl)j z>?VD^4o*379lr9)?C?vEU*%SWh!u zCb5|84${hWg0V)&#)cjoorNcIU>8~paW7etZqyi*HYj)U;Ih&@UulrD*N}V3Qqlpu zhTnpBE4F_*d4Mc7dBwWf#)NUWl01YiK1?1VkD~pBGuj7x zp{3eF?X9-9m~IVWtI1lj&a7rOHd}v4Hjs_vag?)(JVBl$n^Ec(@)TK4o*~bYtz;Y7 zj?e967w|Q(z?WZGkefN6FcT7k*OP8k6Bcss>1DYy1{P)w%qW=#z|@j7Ur|PJ29Pxd zW2GQ9KO@J7F@hm0ATcgdOOkU-_{hlOgCuvBFG~PL+;HW}6;qFZ>>_3(&8%)lXl8_2 zZ^%*dJb8iaAup1>XzM=m5?M@M!TYuGsl7nQ+?;~6+&R4a!GSJJbn7QkH1L|8n^T5X zVax;7!+a%z5jZ(vvGac=MH!jC)MT@kS;Hh|O}y&@vEpeV0C|^_ruZ_aJJMaarWc%+1I%YnycpI(lww$F`BN@$)P;c$XYTp+bnRChw9C z*4_8Xk#qxc(h@d-wyh@blMdy(eoS=zL*8|>foNxa-cIo_Z=b+rS}C|L(7;o?fo4Oq z&M484j{bIhMm|SV1KhHjd`3E)2r>g_g)hjLV1}>4*kKzvOTNSFdvc!a!blpPQJmu| z1&PzjCg-DW+)5P610322v}oMz@?g57W zgJ^LIJUj5A|7)zTo( z!rRha>L^`nMw{{Y8R`|MNy4sZu|)quJT)W_C9d z%tSNU>}{r){mcR8K(qBRbZ{d`!1;_L|5+&xLWj3zDB95o^>gm&WY)`3+o>sPGHjL6 zs4lh&vf)WCsWFxdrjX?RACpQ?S0XtNKOCC!1% zL{yKaSbQ;b%3t+urSw>kGy0mTX1%=d5=3XBP-3i_`j>42fgh5#1WRgS_UAm-9Bz4E zlo9JkOOl%W4-ryj7yQiqqO>0RkCB=m4|MAZ^nItmFb9g~imBh67)mC(|GN)kFPe7seK4eJpu zCcXkT04~JDXtUmwkc75|`G3>-^U`_g$8wz?XO1(+TB9`@f+rSS9~`db~M- z+f>0{t#SGXVXLIe=0vk~Rjod6(U8hiL954!R!=h1&3c(?A2nWWKQ!~dXf5^NX4}8cCbb zre?O8Yv!2+W}#VZmYFlE><{($`_qcHMt?Fzf2No@T*ft5y9;64Yv{}>FcEw*mc|92 zoMuktPewz(cIWsWn*SG1lC$)h;FC?ve6!v(JeeenidfPiRLWI`puYv-LLTi83HiUM zn)asyf>lp9i@0#Ch6+1CKcU$e{oT-vfE4J1y8_)qCskP{9mb_D9YII(G9yTYU+R{c zCA{F;C@e{h_luPOT*>_ZeSd-KDZ&0WF=z5-)dYdtL8F$Fc4%aC5Ixo3*eIdodQXHX z@_YOLr7)t?@hU0D;d9No<{Zx9*(fv~)pi5ATl+^OokeG3L|$*sGo#D>Zt?d#j7d7* zoL@B$Pq%m&oxBB|oa>h)H*kR-R#QN|j6-JvCfD%%O7`0#=@`9J*l!v{-c2T%m{C+z zl3o&Ug34Qai|A5%pC9@b^9_@nGFs8)^a1)HT|rmUhv>uf5&9@yMOV``bS+&+*VD)7 z22zJ^q>s~0^a=VT-AuR8r|8r48Tu^UO1IJNbO+r@chTMSIr=<(f$pI%(!F#aSxjFh zTj{HKzexAdH|TzP0QcU&^*;I*JwV^)cZm~s4&(DZ{C0#MrN`)T`T?HdQ2cd*Y=x7S zjJXWUb%vQgqfcH&4#GIK;IUYa@_^g|UoUvd)8Gbj=Ng{u@WQgpDZMg^VJHvhu3l1M zURizto@&A4LB5%zG73sddcg_j?oM7A_sa$s`3m|DNGmJOh9`zflM0Iqe8n6%-H3p0 z%gaObX!z_R1XQ>)4hJUL?_-Myl)o*bigV%E=OpJATd}Nkqk6EN93;1(tgsC2r~~J& zpwx$GKwe%Nd_O#s;>*pMQVKsZt*nR}T)g61@D33km|a*_IuIUDZb3=kvfM0Ry3r`m zq5*|D2qxuOFk#g;M*E60a_~rwg*xsa_dy7uumDbUMjr6wZ!-5@g^xMNH;dz=sIVZ* zSB!S_DTZTe{Tf2{Z~!Id!RZArmWp=xiy7w2E-Ues^vNw2ShY$K9TgPdi0oTjSXMNw zaAsQR>^xLiKiGs3crXnu>_uaxx0{zE?)(v>ZHBfRIRDVX+_2oRW!UaPZ-K&*9zU zrNI*%9^j1H9BFA8*}g+EW)7$y$eKGA>D}bvmJ*CP$4YjBU%jB3?o3Cs6BAQSCD0SrkrR%1@BN&UT#sz z@WNgk9bh0h>_NQx@fjH`(PGx#vx+hb_*CQY!os}ac-njozN10lwBN0nw`=BWj;I7; z{h13);xJ#wzl9Emxi?~10-#8Bgha$&RD#0~_p*6wR6?xvMKcublu-@i{v2aEV zLO-RSL0+tdOxXze@i{#MNwESW`7r$w<9aDx-_o=6J9>_OPtPHgu$BIV&&9xAufBrH z7~)nR`A7z{A#%gf2!Lb+e{cmiS8yioWClnMgmae2M}!5uoi{r%YbrvgB^;k%)6{|z zUnvjXB3Lj3C6t(Z8SSo_x0tsu+RacHy~ezwnncVyOoEtSSKjrpbK_%T5j*MHdEQ6p z;6wCR(XHRmtp^|s*IC^XUHXGw#{bLodztXAki}q&AZ^l(nwH2(EdeWHvbWghODQZV z<+U$17is1q^EO_eNluDtJ^>a#tqOyv;y67nJHl}%>%2P6yw$vw(H^23{ytpGOC00x zLl-OVB3GAdh;bzv7vkcza!t9GT$^;L>PNW$9O<0X1ES$W^!-zc03aH?QIL8CT}Kwn z^~hGa0Z4t06PGs(ZMai2??RJ+Sgvep%T4J6aul$)kv=0gBX#8Fatpa7eMoL4w?>%{ zgH_hb(e!z_4bX4~YGSY44kdTMJ64X9pX%NJ7MWIsW4v)$=?Nf4tBxXwO^_I}QvxuWjVq*v@Su znJkPLWg1d(3Ceo$#CF0rEh3kUUr(0vZjK zhskN+|E=-}d89lFbK+xgJx(4^m!iX|CB3t9OS$0VDiNAG2`VipCHWT~>&uuWBq@X* z*hq+NF52)lwM5+T@d7Zi1r&cEw?JHK<|gyrsD!%`L|+Zrd`62(m{{<}UVM*A7(C&g zNw_d?IWDK8p_5>n?3Od+$#SNgCHv%TIS0%!Mb4F{f_S_sf(sxxpkj*(i@6f_i-;0F zW+82a2twYWVVKLz`%I*NM6?&qbec%> z7?H{oJr1LWS@LXo4#LY2fw&VYD6zD(ICpYcsjtL*#JvAK`Fb88ljq4yz6D5aKMfOB zYvlRz4YFx2HyJ#=ktD=?a|(-Rhy7k>M5^_Bu-g#6Q=mCTbW&a{-wrG%=ZctZM)B;`@?w8HTE0`h zOAN{KJzOo{%>@+HUitf0areqgfJ^?%YWZH$;XV02c^MFJKX`RH=c*~WrIt+xGlH92 zzJW3A|QY>DJC-3e9T<^zPv?#N`4y8KO;XYZKzl)LB4@<)J-GFiXpT%v`xUUbUd2VK8Uj)A+`)1_lXGF%ekBb~q zT$r7kS4FG&L;vP4Kd+3poBuV&+g&m(tv~*^NBeKi%1Gwd-EsX)W=8KcTzAFw*%`Sb z2jMz_5ZbJ$wAV0P_rrBo*|ZUfxNeK<&Dq6$M&SB7Tz@#FEQMcpBt)(=XUgzVxUPrm z0n-Zm^JkmlI=f)V*Nbv&1ByzA@G|k; zHlrYK5U(o%*KhbrM1S#Jb(BsSo`U;vxE@|wJe)s^_NWW8bNi&?x(}`&pHiH{@1wu! z`Jz0*XTXWQeMWKbzPJyZ*k=`&4dZw~AMI;>1tT~s z8Gg&bb$Bgt;G{Uruk+SgZQ#H2TE6zzQivzAL|xW%yq{LvlF;S?%%f+Bwu!zgwUrnp z9`9?E0Z2595w#TqVm4_f?q4hJ1!@iTocHbPV6D^9*6`kkV=REheZW^KO3p(M`5ZsT zPYGJ{2iiT&|8xkOqQ<-Hm9;7=T6X8q)QRiSYxMla;`H3ix9>Xt`t{G(A(2OK-@Bhg zK4I*717%rlj69<39RHsC_3QtFsuumjIiNgM2Z!^G;H0cde1o>w4%^i&*SxU@VW9M!oqR+5yAO0(?0@u?@RqW7(Q0Qd4kh} zm&2*S;R86FDyUK!N8vogarxi1D7>8V62zju7^QlY9;@5+XuXr3s7rbiyyEl(Tt(?k z^#OWq{FgE;4fc+rx3W6;U~r}6$x0riW8G|TY!H+(#Du8J%t z|F{Iq4IgKc2P4_4$&w*~Isv9dr~)DlD2^%p-V_!g7yH zEy!#SFDxb&8j;&s9EOmeh6?*hs`X}OS@8_(p2GjxkO1jLzFb}8$3;P_w?kXIAUi7o z*;xIMeKj1}Ruj>>DWGLBaC<#rNG@88B<}mjgUG{Ki%IRxh%E0ww#q*88nQ#)AxFpw zXrMFXTST^hA(tdcvP&MRx>Q$cjHK;0n0)UlU58oo0n#vOj5JBgkqV?T>3ZoVX|Z&# z^q{l~Y1&UqyQF>6eoVZ5AblczE&V9{j@cwPt%1p#7PJHHN)s_XF`Q1IIf$Xpp*Pbz z5m8=^Sn+m*0uCaodm0g+3o?;i@Hv~v?clm6!Lb|*@2nUu$!#!#S0kl*xBR;No_tz9 zi{xolsjfsKUHTd&MH!)FD$|wu%I(U7NQvIAyrR6Pe4?C3`m@K@z}Cjr-Ij_}=Nu$C zFF<_gS_^#91^hBbovO}NZ&x2ux2SuOlKh!^0g1?Uk$&96KG>dN zFGZU11NJBEFWL{=&)9!;xEzfgagIKYv5o@AjgDnV6W-%EjI`iOnxQqG@T!uD91y^(_4ceFf59 z59{ZUP}&?xo)eLFxy<{l_igW4Lo-?!Nk)b--&kSnGL9J+s#UKRTWxT){A#yXd%W8I zYF|azBU(iCj>w9*Ibu!3%MqVdm#arrPpY0-{if<`tG`rhaDq z+v-14|HB5fL3D#*4dymj)8Nep7aBHd*tcO(!v`9^-0*CpT8$DKO>MNa(Vj+MH?H3J zy2iPUmo|Q}@i&n*BNHR@B9}+L5_!H!gC;3W%9^Zda;V9rrY)O}XnJGQElod;az=HH z%8ptZ^-|RNW{sN-Y<7LKP0c=Rt~Kx4d`k2Co4?-tVvCk7MzvVjVn>UwTGnZq+Hy|I zO)WoaUKl7=ezyZy>s`{?$31p{+f2zOuOdsYreX+ z<+Z+R*IxTskET5`daUYk`nt&LCSCXFb*Fna>6y`Ubsc&Fl9{e|P`1{tx#5bU^fg;sLt{(t-U3E*bdIpyq=L2JIM3 z2B!{QGWg>mEr(1W^4w5$=#Zf+hJGTlZj8C{-Wz|uY1B=-Z*F+AdGlwt^u1-%0)0X8f@2G> zS@_7U%B{J#9$FN?=z&Fl-j;RSfyFV4mo5I|_RQN4+!1@n@;k2FnSJM>yE@G$nl)^XV*_dD+|yZ`j^0n2wj(CmS` zANb?JDGwf5(QCz)l?_%dT6yuItcMOiobd4GM;bn|_>tcq&3*Lvs=lkXuWqq=*&21t zj5S}Z9l7@PbzRqOTwibf;`NswD|qbmhG83C+1O>{#>X2xe%B_tsch5NPmF)!ohOr@ z+_|~k=2cs2ZCU&jd8+KGZ=Rm?^wDSfKl9SFU7y{&wfWYS+p2H7ZM(F6_V)8TrtCPq zbIi_nclF!#((Y?^Z+ou&bB{gWwaL>d0-b;S(wf9rsKX_!&k#~=dIC}ip_+zJ!XC43Q zgS-!Z_;ALDmrj^4>~H(n_;}gL1}9gaYJFCUHL_$2w0H$P4L^u%YGpMCpz$>)EZ zx%msv7t6kE{N={4;=X$R>pow<^Ub(#&U{<+?WMB|zN_}#%5$yGZT&vs`!~;zK7Zzi z;vcU3c>7Ove|qfajz7P2VaSD(zvTaN>Edm_*8O$EZ(VxkzgDJH>a2Cxh@M@YluaRr#tqh^k^y)hnp#)iF7NspN3vbW}Q7WrImN#&zu6B`&^m zr#R9(rhO-?Ou^(zH>EqDsNj<&d^oPdjccr_987BPsSJ#iv53r;q>C9DG$d>t!Xh|5 ziT>=51LpgDLar7jGuOddU(YAxkoWN%CiOO8vU3wMLO!Ltm1IoF?Zgz{^RVYP^GQAA zYrLVPh-{4$N}8TyC7I0Nt=2ybMok^-wAFn$q(No9w55R-rJY37^eTbN!o4>}y7 z3B)s~cOBZWf<8|cDnXZmv z&I?mrrwp$$QBGIVl}Sp5oT*HfU*dB?N~SzX$s%CT@AhVLT1EqK2pyrR~Jl`^1Z zhQg9E@rLLX6BY=PO(^SjxtwF4_S>9kXAy;YGsap%0`)|%!i(`Ah;S> ztIV?$kyV7LFg~j|_>E?MXrACK z{lV2)dX-@5wdGm*ev74V3$S$UxpU(>#e=8g1y9Gub;WgO&eJvImz2lJMkPy0=QEtj zL}iomgz_Z#8(fa@=>vCXDw~xp${q4( z?}~ldzT#qER`0AFK7}QiwM4Ak5aWQSkulWic(v*_Sc^oVi*Q(mG2 z=4rE@c@oLFCy-dz#60EC*i+tA-a^LSC+4SSbUxG?4k!&DG~GK%6o*ZRi0OlC`XlJ=Evq|<{9(LO6whXThRwBXhKWHDgkm< zc|bX(oJJ3Jp@mig@d?9We$LyRiv`s_H5-i)5iYgA+Ok4w?o~?sM)|fviC*&yUSbxO zZu3d%#Q(0G3(7AQ%Bf?1#mnIdj=Y?Hc=fRc^d;pFp^%4gRE389dgYRGIWY7g&jNhG zMS}I<6&nG+g*~=jxe^ixBeHx&r4L1woYg9RvYi$dWE}Tt4`&f*>HvZ5}_g zZhnsx7y(@s;96S^KVUWU2d-FZ3ecHindns$C~fs@_5F|iWd0^{TK<*_JsnV@wk8#o zsI58OXKTSljjf3#YHV$Vu=yEs0{ZiUd65g7pP^BIu~L%CXA1c*4_0Kx+jrawGZVcQIebTUamzni#2+v&E{&peGX)I>@>4XLb2E zz7S;$3CK01n^<{&B8P-YS^$qs@2DZ(C z!3+z`8q5wRIsKG~N|-T83}y&(m{f6XBfE6t6p8PQ%lO!N^Txu?ioxAZG4rZ$zLgx? z3i(yrR@*jIyItOI+sP!m`81Q^I}j;tr=Or)i23+u=(3^C-x6jB|?(VFT`ja;eXx>Oy@osRom49$>pd_o+M?I%vwMYCr|UlwndmCNIaRG*v@_lit!pN zocjL*BSfu+#zllT&Ne{Bwh|SLgx*Z*8*E~qziS%|L>-MP6Bn3nXc4yw2v=E_m$MH9 z(K+e6fepCD5Re5OA$gM2)?@u7F3l{eKwQow0pdn7soDQndXtU5m1?Sr-`MYs2_zSZ-^Dq-h(0xi&&_a*RhorgA+RJ3c#O znlF8_2uf5O9FWv~1Ndvfr09Q)zsjL9btw8WjN>m5DiZ_4ijgs?C6iilu0xc}!X83h zv0Xd<8$qM?L5&kDV-Fo`ZDFr5@WFRTh!w&H86miC1+Ie+ifgW${!(WlJd|CSiB(P6 z*tCRiv6GJ_PQHpPnXTpoP}-JBG5<@HPDcleuZq%kOln^Vr5*p3>{ek#tMeJD|Mx=Y=yKBppRF@G@%v_1mr`fW#5_$UL>oa-#p zkx4s51W`SK1;REkcu%wSDI-EXMW0tsi}iD#s-N%$RVba8{IvS1wSG>iseXo0@;SGs z)Gy`N)V*}C`i;653!o6?RrxwPC={{O%vzo5%fcKH$0cVYMB>7}mG~D*2zrTyg2Ri; z3a}rUFH7u0Rl=kpOd1T^j7fvcCk0lw<5LX#1l|$N>cmgH6HUyYO>1{2^&(;G5PBMD zYm3yYIy~M~*Zc+69h3U-jYRzOHnH7Aj61$-r?!zC>s9++!Z3@E*Dp`k*(}Ev+)!cL)_Mg7PSV};aj2|RvUIt8-ibx@#=$pI{0+3TR;c= z#=h7zp)c<6a>}BCxqMn9Jjo!R_mhCJK$MG z)-9~^5U01tJt%Fwxf2_Tb?{gTA59i5_$QBF@IF_;z5em-=T=DNcq@1v&jZ9&hhx?<53Z8k4e^w1`O$i0%CB zUCAx>Zt^4c?zSfOYi)71Z4je=rRx{2Od7^z=1_1Z;zik_C)SP>)~ty=(cTOCE=&}! zwkKkbHTe-z$12{QY};nWVcdj&LuHO8#D z@qqc=2XqnJ)c`giXSr^`j5zKDWGUyy6cL*fbL&CQ4EdD-o(}B168LV_8LGpI(KZ*} zX=1rL_z3BU)^_1uD{23KL8Y0X(yaeLrEyFeUy(|&oy9U@A^ag2u0o}uK`PyBQE6<5 zN)tGhu0`*JCkf1kdzWD}2x{t(kI6CE8#Lr`RZtYqa(%|}%cURpOFQE~hia;}!T&%6 zH6C~P4u6np{};Ht8@RmZKj1Q*Ns}t!GDgI-1TOiS?5a6FEr`p9EL=_u;WC5ca{hnC z@!@t(Rag!>n!sRy*IR-QxdR1^;%-n^glq!XK}C3lKfx&kI|QE?HKdi0(cCHHac-gO zu-=cacH*mFilN^EB_J^l@WaL3d;!5%hlGBI6DOz~Xj=?unne88V+A>n*#0~#-7e@( zSCXanb@ugKmRjPINj@gsYRS*5uKp2I^+QBi5jq`_;{vp32<;kH` z=2r~MVk@M?gGcSS|ERX{<2DS3K}p*jUI53R=9(Msw3-D<;Cvoi%$WOFvA;jPP zIOl27@oESHqh%E&tyz9>;A^Q2c8nv$A4yj7N_qgk!NP#bz>zg>cC; z9Uw6~h5V|k>$Tkhz2?ZZ^x6#}y>=tlYgy0-JhspZ4CjwL;9J1<=H2)E@3`CCZ;>Z~ zrMN`o7JhdTH3@k2@wmsg9)@0nW}1c7t9)&75mw?C!Xhk&b;u(uDOg`@-7gY$p>@xS zy>Q78B}%Za#7?=mmyFtZxmL^|NRpub`}ZC|6~rk6ab|=Q#{sSup{g*e<7Ot^5+Dxp zQBI3!RWQoZQAAndyYN8rRegcyf>gT6qS8$vDlOnt8V-ziMc)JSbIG7uKMZ+3ye+++ zf&q^2!g8>vf&D>oCmQc0yn``P;WJwi#XxjP%r>K>s;SOnioN|c2TBfkWI^viXvwPM zGu&>U3JO-TY${pr%2LPeA?w}zfJw_O<6T(bj=KqaOu55xuVV?)<>oq;*;bgxnY5Tm zcbS(&+SC%Bzw_@6(DI2%FuM0SR^z>fvqB(?&ap8N{s<-}-Oi*tzzIA%JSrj8^fLlP zUwl`Q>n#RsCuom21gxs`3LW?IwOBkI$?=rD-|-AO$5&nnXXZ|1BVlp4IYm%BO5hWo z9O?eA#Zvk1^5q?l7x3OwuDh>P>h9f4x+mD(SqY);#&Tx2Qsd&gaZz=(@Se#LH-lWWlu7sb(U=~b zGqKjXh!Db6gJzCpLF|2QVQ)zYd&@ZXMswU@_*Gv z?L48d{6q!EI5*UB$QZCX?J%XoaRy6 ztGfMsD|T*NdPrK+0N>BShYs z6-RxDNe>H^g2c6;Cg~<3-v5Cmeh#pNR^4KWl_8dRgtJ7Z6Y*8^IvL*77M5G9xJlVIrmI(Q*R^9ysL^$*D(gUjyxn1Hv5&-)v z`M|6h|ATm66{Kkl(nS6z(yU_A>JVu-xALi!|7MEQaUn>Xwiaz34bf%|r;QKT4h=hw zH*0ut%y5xrMLq+5XgH244#R*&RS_mMbU8#DSQVihvw+XWxxpW&Mhil|TPPCFYvUzx zPcBfCb*~@V*$2YJ`LBg(74+!}`gHqG^jXKG^_A(<$;t}mQ=3;;Mi+zh>21+xZHPXP zar%gesfglO+1MOY{YyPdgKF6=9b3$bY4pMiM z<-j!pw)hMJwqFO%_}U3Rf65h7$bKv@dpLId^Q!+BTsIXho)(U!ssuJHw9O%0@hmAw zg?QoX{s)2mTaf8yT1@vui0QU)rb`d=>HWH#Pag?E9m;~LjFR&CQsuIwP$Jjbd_V_6 zfnkCI8vH6bR6%EpGjj)&VYwq#_Fwah>>D2rHkdbJuz42DS{23IF3j;eYeS%!-Xo$KtH)l96*o zX;$@*XxOV3%bl&Ptl_@=qC6xLt=1kP9mWahbZkNH%d3#Uh>eui2XgCxzr8%Ez8)6% zAbm7Fw;(;s$4?td&kF3JU*T!{F73&{(+Ksv#Gh_ZGP@u%9qWmUCKqNDXQh`GqGFto zEWTBE-tnupHSjzn%_}AuC!R*8e11m7Oltd9?YRIj=5}7=m3amDRm-<;*KkCf={7M5 zgNQR$Aq3hNdW1JH*xCy1v+vOM2cAdN^?-#P-oNtC7ZvB?Fu2(jpWdmx6L=Z{#5eiV zb*u(k@aehv`M#`NkSVXyv%58{pRihvX{$rn1zkMJ*KzPYAHw$%us^4r48Y#Rq<6w$ z<0`;P$=VqU)=Xs5Vcw)#rG+`z?ms=Ww5zIR-BM5OtpCA|Ou~)@6FD1ZOvZ5t0{ne{ zi|Wv(WRdox_LDh-WBn+Tj)6>*i;-){F`ZqE#roYXj{QZuDDvd2;|}?L3CLFD2agsO zuhD+deywyCVyKP=sN)aRk<05qFamWL`MCwT`AEd{XX1AGF2vDmx-Ee7qwp!x!;9-vY<)MuihwRk~d*)!kE&c9E3 zN!T+fcqS6h^yAN*v7RX_;7=i=u-r56fke09u(r$2=768bq%V0x`C|T1akM@<+y*~q z^A3Lv0Bj9VSW+3Ov>^av0hq@DzXjm8NLYyHo$m^ zZ-K%0_))T~EijxT`IZ3AG3Y`k=Qy0TJYCG{?iLI57nli=d~!F!L5K;4I3-=kDCxoL0$HSBxXvcwK2?PHn7M%};G2BAu zst^{f9U%}Vw9xqnldf=dPK6!BSMpf7QvTU=2=g#RVPQl_cBn0Yr;Qv>ksMDDN5>{w zmPh84jDj3rRtVH~5TIK)XaomU{sPqTD?qn#&bVj`wvw2eSUeAu+D6UjINq z?&F2l<)F^L09Eb)=<6u-IEQrq1tgsh$hQDFpF`?^6sFn~UtUqD=j1Yg-UCoe4rBo6 zuUL;Z2J{DjF67W)^<(1;U;$K;vNRHKrvO*X;c8f=0{1g=`4LAm#YPIDHrU1i`V62i zap+nCx?bglqm`&8CF8ko@mwN*u8w#vqLTFxsz>44^9R5m;PCYTe>HwUY+{k~BBw_S z4%**Pthl57`73g+=Y8+Hxy6Inm?f|HlgO>18oBb8& zE`ZkLpmRAWGC{A30sBsX*5{xzIcTfD0JY5pXcG=9anR_$096+Nv?T|Pwd_HrS>XV+QMc_S)jq&umSwW}$^`ph|3QZGEtEAwsQVkFdvK>)8ZlAhw51M>t`a zeW-nwnynVw)9m*kNq8L+zg|P?*J&hw{c7LgsAk{kh_>%?B-wX6CfJ{I%&>P}3IyU)qM z);nU#?+(oR@d>C)CKQ*1%^8@q1T!g^0L1nHNa98~T?F?r#t`3sScLdjizt6h5$Inp zV*QVca6k4KK*S#o2Yl0K7{&EDVGErXO8*xeX0*V(#k|Mdgu`-n;JBPUIMs*IUO0nE zf)@MJ)W!McQ6>(FW;9it((Zbbv|=-yaahFGn;%nLt`ld@1a!a?N=7fa3Sk}m@5-`y1JuU274yys*b zQWd@<9zURpd}Zy2=a#L5uDF*V4!zn3ll_FU+wG#*7ms3|*zLj9VtUSvL@o~HHeksF zH|n#_Fb}_D?KlMnh0g{YgkXCD)zK;FR+}+cS_G0N?--^d{wJ#{kpX@6hoGng?^x*(1Y>T1ABZq@XfFCY=$^1iP03! z8I1M?7>}-v$}OEzsUko9d$_N|n5nu`Yur8E34E*AtNbq3kX9;Kj5MjbyVq)d;=K6g zPImXkS`~}S_>!2l?&M$?G9Xg|L-()3kfTL#2b)(~gzhhNKB-6Q`L#YjEj|uMy<7i7 zpY?^-KL9AM_3I0*?-7R<`#*6HTA!CxPU|w63ksb|zQ)X@KHNznxI}{6Oc>tDVV}K1!;j z^x^f^h4%l2uXL)H!>>S3KrRZ;gqQ3=-o=aq?H2nMrkfY<( z*o-oxgp$X3Ywj;N$DRh&{(n35Z`r9h?CBaD^3;P|M|vWsDUtLdNhF!{#v+owBn1m; z`;q=w!#@xQSq;Xb+MzgzDh-QBMv#$Y6sASTkg;SO8BZqQfQ)o92?+s{k!r|ipR!2~ zW}R}$RFPtsj|C}(NI#rT_^~9VSll}Ub5pahtalEXivu<0k@@5XVscja|Lx}gw|2AX zFg<2l^G5S#bH91SJZ7FX&za}VA5DbK2$NJMRbvuj0gai|oJnn%6w9P8OnQ+?`rC3uB#584nDjQ2-euBzOgh4(<4pRHNgpxkB$G}v=~E_s&ZIAx^c9o7VbWP9 z{lui-m~@FziBXwR8>4ncVT8FD^)TvXv>Kz;8Li1^ZAR-dTA$H|j5cPp38Rn&%^8K+ z-kagVdLzBD9*Gl)n&LE~W_okI1x_MrrMJduMQ!x9dOMs< z(m{{G2}N;wyxtKf7%=G->KiF->u)H->Watm+JTF%k=y8<@y8qgE(ttrT&oq zu>OetsJ=>Ht*_D7>g)9N`eXVAeIuj87)>)DVstp8BN!dY=qN@q&0usgqnV6mG3sM9o6#Ibr!bn!=u}3hF`CC{KBEPU7BX7I=yXPl87*P7 zl+iLqXD~XG(OHbnW^@jta~Zv!(Rqx{XY>X}O-31`H!^w?qc<~p3!^v+b|IrU3wRNu zw=ueyQTSJ|74Ky9E=KQW^d3gTVMZTe z^if7vF}j-3HH@xhbRDDX8GVe=4U7U4k2AW7(I*&vlF`kKZejE(MxSOB9`mz|Ze?^E zquUwX!RSs#cQLw~(dQV2FZu$bdl-F@(Y=iBWAr6PUuN_bMqg$0HAY`&^bJP$GkSp0 zgN(k(=v#~)V)SiB-(mD!Mh`Rk9;5FwdW6xVj2>h3IHMmh`XQqy82yORj~PA5=qW}| zGx`ampECLxqn|T+hS4t={gTnI82y^jZy5cS(X)(x$LKjmzi0G3qdzeEBcnet`ZJ>! z82yFOi;Vut=x>bv&gdmZ|6ueoqkl4bg~^1;5|b&Dam=d1WE+!JCfk|pV6w(!CzD-F zb~D+-WSz-gCL2ty#^eYlS7&k!Cf8(gEhg7yavdhuWpX_x*JpAACO2eqBPKUyawLY&a9hX}ArKp&N!# z&4@6n8#RoYMlGYZQP-$v)HfO!4UI-dV#!zFJk!B1xMi?WFQO0Ovj4{?2XN)%{7!%H~<6dKlvDCQFSZ3UBEH@r79>f_*D~*SYhmA*! zM~zj+YGaMD)>vn(Hy$%K7#oepjZMZA#*@ZoV~g>W@wD-b@vO1c*k)`ub{IQxy3%gr zIpcZb1!Ir#qOsT5XS`&*Y`kK;YP@E=ZoFaaHx3vFjW>hj39F($>4cyO5ua+-vaU zshFDPrz)@ZE+8F<1LuP^#rc-8FqwM75E=^u<`#mfBK3lL$==G|0Vi7ZvyZn=6(?Ff zYk%8*)c%S6Gn{JmmHk`$Ir|UxpX|Tbf3yE#zv6H>YB*{+>Nr|BIykyJk{rVvqa2eQ zxsFmtnPaBIbll-s>UhwxM(e0`*1F=QY=@R~=VFS7TQbSCngjYpg57Rpz?Mbq7x9TIYJkwZpZ`wa2yBwa@jk>s8ll zIJ4`3>!9m%*AK4C?t1Rl?k?_b?rYpV;5;Yd6tDj73GS&l$;))#=)T##zBq0O{0YV8av>;tVlbS+83Yi2jV`gLu_Oj~g+IwGJb?v<% z_J)de?cJNZ_j7-l_aB(=dEWV)Gv{&Fx;MKU+>P#L_f~hn-R|D*zQld0`$qSD?g!it zxgU1j6K=Tf1NU5afk!TK6aJ$%^-V_YQ7bT%uUhQ|Ys=N=zDK6`xi`0nwO(2p>HFoiIUFoQ6Q zz#(u6p#&a*?{bZa32B53f`X9kvW}GyS_meB#r1C52yKK8f`c%h01+0rTx1xbi?EBZ zhp>-ufN+R#nD95@65$=;1K|_l3*j5#2jQ2i0(rV>hVZ|75%piKkh&^`#+7HiE6XNV zj;*c?x4H6*y0W;=mBWp$4DS0cU;m7{K^#CFL>xkNBMu{uAdVz@5J$NzXETVw#1LW_ zF`OtMMi7gLCB*qeh`4~*NkoY_v5UBfxP6SK9BS)ugqgb)@yA4Wvz^3#3b=E2L|r zZc-2F7U?zVU(!$VMDir^6!J9k4Du{8hs-61l6mArat=9a)=>VST%&YTdMLLjcPRHL4=9f) zy_BbvcU0HHDC$t^aOy}Zjmo4>qt2ktqH?HQYABUQP4=4VHQj5bm&7a8OW{@JRpV9bRqxg4rS`IUE%sXKwcKl^ z*Y93yykou7y_Mc-Z@?SzKIDDI`@Z)JpP@bsAFhwsC)dZ|v)pHs&tadlKE1wfzHDEC zuiUrVSL3_Dcbo57-y6QYzHfcM)7kWCbSXWLK9}A}N9kSkMf4@~W%T7PgWW3nYWf=b zX8Kn8cKQzbF8Ut&KKg$80s0~OQTlQEd3ra!hklFxnBGf&N`K}z)i1-{$PZT8#hx5ICj-yXlceh2&x`5pE<VzsA1GG8X0PameI`6GmH!~qm=NBr0OAN0TMf7kybb0Cw-q%nP%bf!O(#T>&N z&z#Pj$>cG^nL=hHGny%3N|_1FeC8aNhp&ohWrEDb%+<_I%$>~L%)QM0%!AA)%=gS+ ztdT4lYYb}^i^qy#Nmx==JS&Zr!BViYScR+#RuyYLYY}TTYYXcD>lEue>muti>niIy z>jvu%>ly1OdobIBJ%&Ar9mEc1hp@xg;p`N4He1csvYXj$Y>17s7qS<#m$Fy0*Rt2K z|734uA7$TV{|fL42nd)OFe@NDASoa%pe$f+fI2`Q&>jE>EDP8eusL8)z~O-70XGAl z1bhhi5%4Rpf8fBt!GUgp9)ZljS%DFO>4A#C+(2dE?7-Typ^ocW+L*!66o*XaE zXwEp!1P-4g!#Tn^%{j|?#d*Vd%X!cF z$oU-X=Cc2>g9C#l!P4OPU|Dcda7u7$us+xjYz#IBw+35-!C)-7D|lbRyxOA>RH-I~uJC>WsE#ww+OSyBn<=hHx6}N_K;4r6d}bSH6hv% zYskWo#UV>WmWQki`8~8>s9Wf;(BYvYLfu0Np~O&9C?(W0)GO3G)HjqK>K7Un8WSoF zjSH29CWp#H(?T;sYeF}N9t*u3`YiNYm`4~hY}c58u!mt!!~PBX$#dh4;(7A|dDD5(JPA+Ai|5IBNjxR5 zp4Z4z^R&EXo`KiHyT!ZByTiN3d%%0dd(3;nd&Yatd%=6fd(C?j?j7zM&ItDpXNQjt z9~(YCd}6pb91C9;zB~MEcwhJjz8ilSe*}LN-<$8tr}O>z3_g?3<_Ge}@W=7F{4jnv zU%;>7tNB`fGvB~B^3D8KKESv05kAK6;xFRw;-BVUO_(862+M?eVT;ftvVELh^&b0h@6PL zi1`uD2si?Xz#|q#ER9$mu_|J9#M+3%qTfU@qH0lx2oyO*kO&raicnFPXrX9{Xt`*m zXq9NSXpLyCXp3mO=$+_;=#%J+=$q(==vQR_$iT>{kz$u`QW7bRjE|H>u8aILazo_C z$jy;kBezHHh};#qCvsop{>X!oha&%qydm}y`-tgchL|a4ivz`D#3FIJSS79$SBq=K z4dN#8W${(5;sPogO$rDLSyq~oO%q?4pk(k;^M(w)*>(%sU%(*4py(!ZpCOOH!WNKZ;nOV3EpN-x9_ z;)rqNIBJ|%oNt_8oPS(lTvePU&KhTnYmalp&5wH?_cHEP-0Qfvaqr_k#(j$W8uuga zSA4(tf$@Xl2gftwbK>*j^WzKRi{s1U%i}BJSHy3MKN^2L{zUxg_;c|W5+){0N|>B5 zC1F~^jD%SUK?&T1u!Qggeu6L|B0-dpov<)ral+DskfgAr z@FYQ!C@Cr_CMh;)Y0}oDf09lnolZKJbTR32GCO%nvMf0#xg@zRS)aThd42MUd@2?sUE4LQpcwzq$Z{&r>3T6 zq-Le&r0q_-m>!nSPZy>~q>IwU>Cx%2>C*Is^rUpxe%17}^z`(M^!)U~bbES7x+C40 zz91b<$1~Pu{FU)I<7q};#>_a*Op-Y?|< zy!=3Mx{pCtTZTFlxC$x*{WQkysf;eysvzy>{UKf zK3BfXAD&<1`fhK?Z_IDX*XB3px8xi1E%`vcJ-;n~UcMtA%wL;-HvdBYrTnY;-T623 zZ_oa#z_-A!fKlLIz%B?Z7*jB|U_!y9f++=43uY9|ESOc0P%y6mEN~XU1xNv2u&`ip z!S}-S!puTNVOC*op|WsxVL@SWVOe2$p{lT|u)46Ou&wZ9;pxJ&h35+|6<#g8UU;LZ zy6AM#*`jkr=Zh{CT`9U&biJsj=yuWFqI*RTiyjp{F8Wa%Rvca|D2^x=7snLG7RME@ zDH%}WQe%`1DH&EWqQt$#ql8#ODe)|!mH3qSme5OPmDH6qlr)uSN}5YrN=zk|l82?S zrSYY*(!|oFQh8}wX=bUSG^bQqI=i%>w79gSw6wIP^!L)WrRz#Jlx{BFR=T6CrR+&r zU)hVYmu0WY{w;e~_Oa|!+1IikWxwY1n=^3EpgDu*c+43yM>;2APU4)DIcak;=VX-+ zDfcg*Ssq`WSe{azTAop!Ri0a3Qr=MBRIV-8m$#Ig%dO@1^7it#c!Q|s#jM3UQ=0fwWhnKr{-qOt(v%vuw7E0q2F>Np4V%lKE3EaXt*>pW)zoThb+v|CW38pOwboYKUOTVW zQR}RQYT?>HYcJMbsl8TvqxM$q-P-$grFDPT9jiND_fOrax-)g>>dx0)s=Hcuy{^0N zX5Fp2+jSr7XVr7+x%Hv-;q}6LQN6g{QvbaERsEa#f9v1Yf2jXd|F!;G{m+K}4Fekn zHMlhlZ5Y314QY+E#<`7kjrENUjp{~iV{@av(b#Bdv^D~bZH?`X z9gQm*?>9bdeBAh?v9IxEZ6>H>9Q}Ru26TVm#bH*e^;+nuUBtS?@^yqUr=9CUsZRj zd(6R*hZLu34?wr#YZGq&cEF zruj#6N%KVWO!HjxO7pMgo#v;OtfgvcT5l~~%g}PPaoPlJqBdEZs!i7xYa6v{tyZho z8nv)?k#@UwpZ1jYruMe>uJ(cUvG%iWm~Mp5T{lWc*3HmG>Y{WpI;k!}r_hz_Ds)x4 zxw?9tR@b3(=;rHS9im&V+p62H+o{{5+poK->(xEg_32*f-ZT$u_H6cQ_HAY~2R6@Y z<}`Dg!$t)mxOo*CK3iN;CBDaPr>Sw@bLYfLaIjWxzPV}ns`)EV22i;PQ+%Z;my zYm7UM{}@jh<}eFB$I}-x}W=KN`Onzneyw=q7&?%M@rDYYH+&n^In$hNt}&a;7PHlCH+Ps9n*TI!GH)?&H}5hZH(xjRm~WZynje_|wG6Nf zwzye_Tih*l%OuNG%XG^uORy!{l3~fRf;{+Gg#rI;``p zkad9-v0~OP>mutC>oV&K>niJN>ssqN>z~$**3H(f*6r4v*4@^<*8SFl*1xPrtVgZK zttYIftY@s}tQV}8tXHkw)|=Kl)_c|m)<@PS);{YC>uc*<>j&#+>o@C9pdT;*7zDTh z!vS|-6hH<%0dIf~_ycTUG%yaB2uud10W$#(5CZT30U!dR00|HW$be)Z703XxfE*wX z$Oj65BA^5)1ImF)pa!S|8UZz+1@wRsumAwi2FwHI12BL9IIsv<3akKr2i5}XfsMcx zU^}o2*b5v0{sR66jsquwGr)P^5^xph25thkfxEzc;34oBcmg~Fo&zs|H^4jK1MnI6 z2K)ei+4|cC+6LR)Y{PA2o2SjoHpW(OYqDu<&9)Ys*=DubZEd!Bw)r;LhS+f1BHI$% zGTRE<0ow!HOWQ}=FZ%%dV7r^^FOQLSs-0@hwnel>wneqYv`O3I+GK4>Z7FSOZRu?pZCP!# zZ7pr~wgqiV+Xu7{Y9G?>);_d-c>Bn9k9J}^sh!$RYxi!axBIm-+F9)(?eg}Vc4d1( zdvUwDeS3R%N52lgj3|)b4%C4=7CII?mO7R@Ryuxnta1F| zSnt^2*yPya*yh;b*yY&c*ylLlIOI6&_}g*J@sHz_~{7zZ#nNc?>QehA31xSPn~_v7tUACH_o@t_s);b&(5#T@6Ml4KWG3n z2y)GcL&G6=XcR<-JRvX02ckp%5E}}F#zGUINzhbi1{4GZLm^NY#D^jvF%$zyp#&%i zl0)f`0?L7uPytj7l|d?~3YrVmLrstt(nChb0s&APG!L2&!B8iJLO8S#S`00PmP0F{ z)zBZ%pU@^~3$zW|3GIRQLx-Rv&@t!)bQ(GbU4*Vc*P$NhHgpeq2=zkGpcl|<=q>aC z`V4)8e!~6XL9iP<9Cn9C!DN^U(_nAd7xshwVHO+!kA}y=6X8klRCoqF3+BLFI27i= zd{_vJU@;sGOJFG+56j>rI0a6H)8R}w8_t7g!$oi@Tn<;lHE1-s!yG`Ka?rXJ6;b&NrR! zIzM)P>HOaL3mJe6Mus9I5D$ciP!Jm8gZLp#BmfzMj7NS$rXbUiSx7Jvii9IVBoc{6 zVv%?x5lKPPkW3^S$wOu%MMx=9j#MHwNFCCMXpm;41u-L5#Ex_zAOazs2!<>~mLSWK zRmd7-9kK!0jBG=8B72bi$RXqiatt|voJP(e7m+K-b)*Nmjod>XBE85nixcy-_;qkFwFx=s0vDIvJgY&O|wA2+BhRs0fWhC1@Nf zLzB@|Gy}~-bJ2XX5G_IHpcQB}T8lQIYE*|BP!rmU+R%2?fjZFzD2jHWi_vB1N^~{) z2l^+v3EhhBKzF12(1Yk<^eFlddI~*@UO+FS*U%g2E%Yw>0DX);MW3Uu(0|eQ=qL0m z`olHrI1n3x4Z}ua1dN1HF)z#)V_+;S5F3k4z$Rf+u^Ctp#>K)gJ{EzAu^3E>C16RI z981R(SPrJd3b10V3{zoM*j%h0Yr-^`4%1^TmODj$+5L6WA&240aB?fL+3_ zVArs2tOvV=-NEi*53omAFZLAc!(L#ous7IS>^=4o`;2|XzGFY}e)s@<5IzJSiVw#} z;vV=YoP<+wPuvUl!Ra^yXX0!;5Fdk&!zbXs;gj*H_;h?G9)t(uA$S-bjtlSzJQ9z> zWAIo!4o|=n@nl?%r{Nj60?)>CaV0(*FT{)SQhW}s!YlD=d@f#xH{eaU2G`+wyahMm z7Tk*4@HV^yci{7J2w#9BIEHuOi|{4*GJFNT3SW({#n<6~;v4bJ_*Q&7z7yY#@5T4y z2l2n~BluDLIDP^@g`dIC;TP~r_!ayb-i`O*x9~goJ^TUw2=B$8;(hoF{1yHNe~Z7z zKjNS9ulRTTXIH8s0Us%cE;l7paTV<=N%c<tqKk zqAaqFfb-qkH&rv!lLREovfbTPb$`x1_ox2;Cw-c3r7GP^vs9-hEz+spdcE~}JJ$1g zdaD1eo_o~ej3?!q-QX|)|Gag>ltsc3m=zyn#q1VnCgk$$6CKgA8Q3PrurXf<~2D5~|^EZ&LBAv!`wQ zYxBnAIMX@M>0}eJCL;LV4-y;ukF-{n&+M($x*}!zz{9QI9jkE$t_$!CM8>l5P9t9$e%`W3l_uo6RkNXEvGDQ@V(a8iPmx^WX58HbDpQH z1J5c{#_R`lGy8bORyvri@ zeNRX@ms+zFcI2FnTz1Zrx1Ps?{OdQaf0XuQ${ZFx89qccfOl{lPq0ANse_E6!g;E= zTRGL9F^s5(@CjyNspD1J>UGx9gijB&Z>~!Gm!6k82}V>=&q!j^r(XwIj;u50P5M(h zKo(0JSy*`_udSZHWt!LLVALOjtU#C3+ZKbuyAY$_l-2HASx!${$d^FLvwLB6AN%N9 zhsJqOJeB3GzEYFHAu2W5MfW=|I@))(3%T&+_)>KZ>ek-Ys<-Zt_!*OR^UlNjq+;kz!&hVP|^oXENl6oHrk z$Fv5s;AlSOZzYGH$SdL=`~5wiI7lxykbR&NOs6o}t4*BUT**?lS4tZW%Owx}!$L}LMF_qkN z!(_dSm${tl$gY`qE^Fv?%zbo_Y-OJ84z;I~CZ=Mq$Z?8Vuu!*j-%r#R!QAU`^mC>V zCh7NETXt+v8n?N`0c0DiUD4U8$#n0~&NLXPue27m*k`Qm7zElLC92}aj369f0Um)0 zI|60=W?Jf`vn?uZOfOW_=Y}%aQZZwaqeca{LS8xbekEPRh7RTv05=Y7?2Iq)Ym7Y^ ztGIXIA9kS6d$&)_{$3kCKUM6!_QyoX-Leyo zu*SK&c|R(1mOCcs&b8a`Rx`W#gK}AsKm1Itw|M4v)Aio)P*KHZ^rFM37VOPcsj6=3 wJ*w=!@&X=Ei+nl{->S4OZKAl9H}bod;Y`Us5yB - - - - LprojCompatibleVersion - 106.5 - LprojLocale - ca - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/ca.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/ca.lproj/main.nib/designable.nib deleted file mode 100644 index d5e23a513..000000000 --- a/hw/xquartz/bundle/Resources/ca.lproj/main.nib/designable.nib +++ /dev/null @@ -1,762 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quan aquesta opció està activada, els equivalents de teclat de la barra de menús poden interferir amb les aplicacions d’X11 que fan servir el modificador Meta. - - - - - - - - - - Manteniu premudes les tecles Opció o Ordre al fer clic per activar el botó central o dret del ratolí. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Activa la finestra arrel d’X11. Feu servir la combinació de tecles Ordre + Opció + A per entrar o sortir del mode de pantalla completa. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Activa l’ítem de menú “copiar” i permet sincronitzar el porta-retalls d’OSX amb les memòries intermèdies CLIPBOARD i PRIMARY d’X11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quan aquesta opció està activada, un clic del ratolí en una finestra inactiva fa que el clic passi a aquesta finestra, a més d’activar-la. - - - - - - - - - - - - - - - - - - - - - Quan aquesta opció està activada, la creació d’una nova finestra d’X11 farà que X11.app es traslladi a primer pla (per damunt de Finder.app, Terminal.app, etc.) - - - - - - - - - - - - - - - - - - - - A l’iniciar X11 es crearan claus de control d’accés Xauthority. Si l’adreça IP del sistema canvia, aquestes claus deixaran de ser vàlides i això pot impedir que s’executin aplicacions d’X11. - - - - - - - - - - Si aquesta opció està activada, també ho ha d’estar l’opció “Autenticar les connexions” per garantir la seguretat del sistema. Si està desactivada, les connexions d’aplicacions remotes no estaran permeses. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/ca.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/ca.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 4b3838bf96ddcc42bbe0d266ee719f876a1e415e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48413 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 BsapU5 diff --git a/hw/xquartz/bundle/Resources/cs.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/cs.lproj/Localizable.strings deleted file mode 100644 index c08746ab922c8abfe143cafff376f901dadca83e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4386 zcmchaO>Y}j6o#+2mDnS(xk?3#3K_Ak5DEpU8%k(tp@_}cPSUCE8Do!=HjDn(ELr3) zP~PVpU)?*7Z2~GNN-}dl&c}P+^D%$E4_|}_A%<^59jY)3Z8+Ckr?*aTr+U5&uk^ps z)9+zz>+Cjm?tyOK3rD)$YX7bNuJwPZ^T?WMh5MCGcY5mVRFV?IFX2o5e69O2e5K!` z@GMLvp$n&jk3uu}L~CPdA4{Ir^tO=fHmpK7c&YbExY3$RiMlt{UZb1Xj?{;;?cPrR z?&8z2tj7LUTHXJosnW_q-qo_KlCB!PvI<{o^E+ar-Hck9>j!H=7(c+}bDaj4iT)?t z@@?X<(n&vq6>HN_g$tA9xN!em@2fB@Fnlqnv<7a;eso?KVomtNWV-cJSpc?&aUDtb zMD`Hb+N9!33|G31mu{2ms%*Vel<@S%yp7V`x2TcMwNPjW@ATw0U4^;gjTC&@AGzJk zTp9A6d7ZfFY4XGOKkm4D`2wJTDd=$mlLg*j65;iUYjq`a4>$$a^eamS;Ad8 z_s^__hwxw*=c3|46g=n1EZBf=L@4pqk$@42G2|jy?e|vld#1aI$#DKmd(KNxg1al@ zd}R@eh4jo?^4@vRQ`XVHo$3Htisj_A_$du=j1^}UUX<0Rv^aa3qP-6vWaraJcQjb< zq;F~H`dZR($fBVn#BeOUoI#B+1vm0C<#ozusspjZs{)VvpWgpi5~AwWsnEpVWMi|* zN4Muph%7fN{aF5c>yM<*Ywhu-hLu%-jJ#H~sov!Bp?XWjPg(0#zty{{qGfwywV8}+ zgbw~Jg#+lF=xJXKZ^KCETcJs1UkrF6CtX^qHc^?^muuBjw!_@0)7QG^H7Mom!t!`x z6#_eN#DC5vnRu|UiiH2yAxc_hND$|l&P`d>TEBMU(JnT4_nHs9#yOYW2J#S}4x>xO z1p)7KerLDU7vfMOY`rqVs#f@nggV?D8?dRD+*nJ6%eS|8vYc|~T6g*qpNY$rVo4`i zNZuQhjnC9=@0)1ysXE*0(-i%fob)L#>WTYQq}0{kX?h*rl6t0nX7geAOLa`RC5X;t6gQF-T~8l&FAP{oEo( zmeV(vraPgG-_%YzUL#~P4nBP`3BNIv!Iu3rb*0V(x6&k6&ZXZdMlcwJh{%=6E;+Og zOs!u3nef(%n#XDvt1^Z^2rZ=2-RZ~lQJ21}|B+3HI~hJQDX**(&Gi?LuGEiS$#OD) zUe77)^WIK}q$AVY7CHm6+@x?iK=^pC; z&A`8E=F-kIOa<@ktHq`ji?Xs;C&@V0G7nN_?~h8YeoD^4m5YtPM1elFmZy%J&nua0 zJ{j$w)3(1!%G~37j>!an{M)BizSdeh5=P-5g8eWUE>}moFYkuic&x#5q@% y7(df{(o8J)mL=Xk4QEXI(uRs)`4#-wvVuv@5rQ*RX|kmj`_g2z7dhEswf--f;05*o diff --git a/hw/xquartz/bundle/Resources/cs.lproj/locversion.plist b/hw/xquartz/bundle/Resources/cs.lproj/locversion.plist deleted file mode 100644 index 0fdef592c..000000000 --- a/hw/xquartz/bundle/Resources/cs.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.5 - LprojLocale - cs - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/cs.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/cs.lproj/main.nib/designable.nib deleted file mode 100644 index 61511e9ad..000000000 --- a/hw/xquartz/bundle/Resources/cs.lproj/main.nib/designable.nib +++ /dev/null @@ -1,760 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Je-li tato volba povolena, mohou vznikat konflikty mezi klávesovými ekvivalenty řádku nabídek a aplikacemi X11, které používají modifikátor Meta. - - - - - - - - - - Prostřední a pravé tlačítko myši aktivujete přidržením klávesy Alt nebo Cmd při kliknutí. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Povoluje položku nabídky „Kopírovat“ a umožňuje synchronizaci mezi schránkou systému OS X a buffery CLIPBOARD a PRIMARY prostředí X11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Je-li tato volba povolena, při kliknutí na neaktivní okno nebude toto okno pouze aktivováno, ale kliknutí mu navíc bude předáno. - - - - - - - - - - - - - - - - - - - - - Je-li tato volba povolena, při vytvoření nového okna prostředí X11 se do popředí dostane proces X11.app (nikoli Finder.app, Terminal.app apod.). - - - - - - - - - - - - - - - - - - - - Spuštěním prostředí X11 vytvoříte klíče řízení přístupu Xauthority. Změní-li se IP adresa systému, tyto klíče přestanou platit, což může zabránit spuštění aplikací prostředí X11. - - - - - - - - - - Je-li tato volba povolena, je třeba v zájmu bezpečnosti systému povolit také ověřování připojení. Je-li zakázána, není vzdáleným aplikacím umožněno připojit se. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/cs.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/cs.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 360b1c832c8019550b3d968f6e573c046c46aedc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48151 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 M{NMNgzwu}P4>pDxegFUf diff --git a/hw/xquartz/bundle/Resources/cs.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/cs.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index dab78899cb0f79a4304034ab3f7be452b2f0f1bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48176 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 diff --git a/hw/xquartz/bundle/Resources/da.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/da.lproj/Localizable.strings deleted file mode 100644 index 5e27e7022cd917b88d85f57f7f0ff02964e04469..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4462 zcmcJSO>Z1U5Qh7lU%+wX2o4cz#2F!EC6*8pk%&Ve5|_32BkP@=U1nzO0GcSf_ifdOHABKVo0ig6YlUB(R$J-m&9f~3mArU#Fp~Rte;rJt$12TObefzP!A0u%iYgt9bEY2xunRJdp?pstu)W|cYNbjtKAYmp50sUo=Ow@aT>3k3pp1= zyHadKjIBQ`s#b4c!&J7A^79Mjjm%Z%J+{V{%Z0@SL-714-JQ9^9PAAF-cSh^I2&Lv%~^gVs7qW88^Y=nQl}P@+e{ zwBc#86@8zx&11zu1x+R6XITsPTYd$0 zp1a;^%=>Z9>kSc_p*MW zjD2hNH-!hjGtyMKRJGTtyod7P2gS+k$erv=_PF~UvKS146ItT9{J-2e|61?pFCpR2 zS>`*%KD6-Cu;$*w6yOdNvb#H3%l=MzV>nY3e$&_r!79Bq-9*bA@Hvbnzkh|b*LtRR za2uo(cxS7$LY^)WQ}Q?6gpc>M&a@A2j?*uSgx{Y`Vqz5sCc_C{R&Dh1!}Ax}mAqog zHPS{G%UT&txGYBm;Gi?hubgCcD)6tAa_d^h_j7 zvG@vLRaqQNEHXA$USlR5{z8En*}M3#b({Jv4ZU+yMIP^-xA-$R&hQEgyE_wer{GFKb!*zVL# - - - - LprojCompatibleVersion - 106.3 - LprojLocale - da - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/da.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/da.lproj/main.nib/designable.nib deleted file mode 100644 index 2c0de373a..000000000 --- a/hw/xquartz/bundle/Resources/da.lproj/main.nib/designable.nib +++ /dev/null @@ -1,758 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hold Alternativ- eller Kommandotasten nede, mens du klikker, for at aktivere den midterste eller den højre knap på musen. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Slår kommandoen "kopier" til og gør det muligt at synkronisere mellem OSX-opslagstavlen og X11-UDKLIPSHOLDEREN og de PRIMÆRE buffere. - - - - - - - - - - - - - - Slå denne indstilling fra, hvis du ikke vil bruge xclipboard, klipper eller andre X11-værktøjer til administration af udklipsholderen. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Når denne mulighed er slået til, vil musen, når du klikker på et passivt vindue, klikke igennem vinduet ud over at gøre det aktivt. - - - - - - - - - - - - - - - - - - - - - Når denne mulighed er slået til, vil programmet X11, når der oprettes et nyt X11-vindue, anbringes forrest (i stedet for Finder, Terminal osv.). - - - - - - - - - - - - - - - - - - - - Når X11 startes, oprettes Xauthority-taster til adgangskontrol. Hvis systemets IP-adresse ændres, bliver disse taster ugyldige, og det kan forhindre X11-programmer i at starte. - - - - - - - - - - Hvis de er slået til, skal Godkend forbindelser også slås til for at sikre systemets sikkerhed. Når de er slået fra, tillades forbindelser fra eksterne programmer ikke. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 6cb5b698ba86079d803e7f6cf161755f05f0c00b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47612 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

#^x^E>Z_==QQt(Zi`o#i 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 diff --git a/hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/da.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 5fb42914b69ff93967886a9b6f5c66ef77d65755..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47637 zcmeFacYG98_Xj+4XSU4lW_Ad@2STq&=%|oD2!sv^y@Vy%Bn!!I*iERSa}iL$h6NF^ zP^AerKu}PzAc~?i3n*hm=^FCk1ERX6njUTg-*gFvmD&? zXreCes3s)|F@h>I7g`H#gao0p&|O#{+$`KC+%7B^?iTJ7)(C5bhlRbu)51aF72%L@ zM0is;CY%)B7d{X^6h0C@6}}gK5PlRc3cm=y3V(@q(Jg9X4Y9UZM{FcE6Pt_e#cpDE z@fvZkm?3706U2$)Br#Vk5@(1r#W~_!@dk03c(ZtmxI%nTd`Mg)ZW1?(kBX0pd&TF) z1L6zfi{cyN5%HLKTzpsjNc>X#O8im0DE=b;!DMD(R;ICPtQKp+TCvuw4NGK6tP|_W zu41Wd5F5;fuu*I@8^flsJeJRVEX0c0Y&M6@XA9XPwwT?>Zeh2wyV!f|2lk^RN~+|R zYD$fyUQ%zVk2FAt@yJbzTDL0mz$*tu! za!0wd+(n3yd&<4!-f};Alss9^l8faMd5%0+o-gb24e~;Hsk}^HEJ}>_&|0e%sVHU}vSR5A3Qq5A^QpeKB(%#b5(#_J_l59z_ z^tX(*jIm@{rdT|dJj+bWEX(y4-NG$5TJE!~w%l*oVA*KdV%cGN)bfPoNy}c#tCka% zla?Pjtz)g@tRCxBYqr&Aoo$_C z<<~yL_gYt3w^^UG?zHZ*K4U#={m}Z6^<(QN)^DsAY!;hht7)rcYh-I|ORy!{ z`q&2A2H6JNGHs)5qivIIS+*&*BHJw6Y}*_gw=J;UU|VEcY`fLA(sr+HmF<4pdfNuu z4%>6K=WT~@U7_J;O$_V)HJ_OA9cdw=^-`!M@t zdzL-Vo^PLJpKaIe+)RQ$^Iimu$GEKyb|_bKa? z^~wfiqq14qqHI;RDUT@Il^x3C$`i^SWv}v_^1O0Tc}00cIij3UPAaFB_mz*8Pn55e zuayhR_sY-8FUnsI!C`S&9S(=vp*d+$#I+GcE@tZ3dcQ;)sAhBM;tpHyBxb6&p7ru z4me(Lyy7_Ic*AkTaolmj@t)(9z&pN+%{^0!4dC~d1 zOLo~^ip$}OaaD80x|+LMxLUf}xUO2|qe+^XB{*4)+HvF_^b8t$6zTJGBJI_|pedhYt}2JVLL zM()P$ICm3wQ+K?(nY+2Wg}bG@mAkdOjk~S8ox8oegS(?U!JX(%a(8lfc6V`ib$4@j zclU7jbYJDZ+I@|?m%Fz+*`4C<KDb@y|px%;~ZxYOMO-GkhN-9y|%-NW3&-6Py1 z-5Kso_bB&h_ZatB_c-@>_XPJu_aygZcb0pK+vA?<&UWXxz3yCho;%;|b5CMXz6NU>TgpopqkSUB3Mhjzv zvBEfEyf8tSC`=M23t7Sx!6Qr+vV|PME944!LcZV=rU}!90-;dw3jv`>m>~p(kWeg? z2s4FQ!fauVFjtr-Tr12Mt`n{obltAU=-OkLf4$uk>^JxB7YgC;bmDN?cUA zSc{7dxERmH)?Dn!#jaf3$Hiy4_&gV1;NnYMJjlgETzrj-uXFJT7vJLIF)p6u;yYY? zkBg_d_yHHsa`7WBe!|7ixcCJZzvAKrF8;*DU%2=eXCh}3XBN&dz6xhf&SE%ob5@PB z>YUZ&tTtzLIjhfEL(Up=)`YWo&YE-9lC##Fwbfgnz|hdPBuNzd-_HhGq=*O!XFIY0WX-`M!c2P+f5_P*C6v_6>Rsm<(?LW=0@r z5RnU%r|3>yFlp=-p_T3cU5!mlEPHWm4&KOvN@&u<9m1ViT8*I@Lw!?+l@u3vi%SW6 zop6V6m(UTUhG(UBE4F{7aIdgTr;1g*tq#3#wQxVW_<-=B@DSRc=|hqu%z}E`vg$;T&y|LctimR8MBi~G$e@y#3($Qj}ZO$T6lD8pOi33`C0 zahN3j^g>Ub7n1{X)quo=NDrm@LNq0EXmn~l61=AArMv7itk5%+o zz25MX!ZX4?VZZRK@EqFuyl_BRCcKEhmnWw8!3g^D{29Kv)bY|8Zs_IaBco_wG}o6` zf>vR&1IZ)3A%g^HAfcwyzfh4U+nb)M*V1d~f?gAUb%9djZG-bsm;2^>v!@q&g42%) zuc9Td35SK(g*RyChtPnTo&w{t$eZo+6zH|}IvN{0FR^pGxWrELO#*mJIEq3I?zvWY zOXz6cJuaNc(!d~1E)!|nTH(0Rv3%FxHoE>EbzN^@w6i|7(|DQMXW%lU81xot;2CP5 z-cYYI#%M_Aa63L0K0#CI6{3^1!pB0#Q>DZ}r0|*WIf&tlD00{-oD;sm?{~s^VGrg| zrYD%^EyfUMluRu|LAaG-NDa_tBaB@WJs!VtdQ-jL_~F4oUeHrm=nW2^95TU8*q#v* zz9jr4Jft_%o9k_&piQFvjfnPl;Sarq-tzK9`%OinMeR{U^iH|%nRITxf{uwX!X5%Q zn%zpTmk*BX2md4<=@Sa#S{UObRuf}EJ7IR75)69gti!$PLPw0L@zn&YDb@;4k+ot? zh>Dy*_H;sZh1o3D7aN3Ub9?@6mXDPkY7ub3+K6Vt^0;s7yS9H@8JyXrmk zo_cRRS?{Z->izX}eULs_Z~ZnpxEaGh^hE>kgqQ?oL#-Ksb~Hl$L^WOXdZULG#-R~a z3>n@a*0fU`D~`iENk-ed>)rHvm;>ql9B}i30-rz68|=`b!-#g5VQ}G6q8J>NRK{>F zkHB#CX!3OY78(dN8_`6+8oyT&0>@=e^ZFrJyuoNRhQva#1ZcblK)p;f&Jy@TdTVf( zEK&%9GkwsVXn_A=v#Z3HxX8fQP2v*5S1g7AycLMM!}h%!Jq5*kOkqw z)7t3$fY6NT(@F}6Bu3<4sgw7K8%v2IO&_4wn_#}^@#h4+SF9Zax?0>``f?L}pk8k* z^wl^I#Q#6+Zj~(!lka}<+0x2}>O)XjMnOrj(Zd-NK@FsudWjS+Pl{!8`H*->e68GE z9;uJiM^xavVNNT)DZT|xo1te`=CtAoa9Z)C__jVuAAMO)D;}!EX-7uSo~rt7zCu&| zbMzbF##A3ebH!Is1P_C!r_3`>R>gkw~-W(t1eWaTgL=q_D^a*+! zbF%#^@HOIZ`b52TRSo>k92h1th6au|8aP>>1YR^KP~`IlM`ZsO?PE^-#*}NHNB8Jc zsC}bH!|W;XMsWmIoyD-4;0RLzVKQ}ATi}~m9afjsWA#}B){r$~jrD9jSNG}D^#VPh z2lY^u9bnFI2b!}M=zz!QfLG4}J0Dy!eZ;IP`ds=-2iCFlm3%!9xE$j1`yi}G6kg#q z;T-E;`dSlxnqDt+d>~MGnaL8aESlw_jb$wN3Kg*dEWNZMzg|deOM_YDg^2d!vk<7I<;ZikK3ktfbikKMXb*d$7IlChay+D6i z7tUy{*xhUeyN9i0_p(*&KDL_O&mLe8vWM6jwwA49>)8gO4%^5cW}Db%wuNnF+t?#) zJKMn?WskAP*%RzZwv+8*yV+B058KP0X3wyFY`?IKJtsWL4&d(@wx7MkUS@eLG9Jq4?pKs#XQFe?SXD8T6yhBj*`;PD=OrTVR2TYR`O7zUM0#6>iBeh@; zmKVX&EI& zr0h_|wP1U}?4A=SDINlQ!sie5FY)Dgv$RH$77Y&M!ADbI!bDZu80`ys^6*NYi8?Yr z(_oqh{4h~H1;A6d$z&TE7Ti$pY{ExTz@Os{q8({4NxbIMGGu20D5U@1>rkT;a(3mRB8OEEfXi~u3Be=tx|G%_$Nqj*jMs;pnygi&}g11&A^(pb_k8pd-U zPxkaYyyJ(fp&$?pr3B_PEZe!%Jt_@$R%V1UY7^2jJh|Q!5QT}DFxDDe1}O$c z42N6AK^f!ADb5Ej`UibxBS0AgydEHkI)n%4jyZ5>K|jA?v}bAYVX`Bb$S6d)Qj8XZ zG@}L}$*4VY!|Ts6?LQhcpn^Kox4>5v$_(@&bbx?h4wvFJjL*2z5=~<5H@nE=r|4Z~ zAW)ErxAhlcp=kn4;#(AbiK4$~k53lNAN>Yhug@BPO%a*`3U<2^Ljac zzhGaouh`e@9QzuE`jhNDK9>P|efk@tj45vRk!CW84So?qBLGt2TEP{JNrN(RCp$9a zKsb>^A^aDh?SeTeIn&^g3=uv-rs@8Wx0rmQFvVx0gpj_Uv+jz%KwrRFH%;cOhrYC$ zDCkRd0gkk;)b;W6Iwd5+Gts^4{L|>*Dt6K6)+Kan1(@Mlvs*@&eqq1j|F7uKAJi3L z8OWk^Y_hbPCd)|=ffT*L%%ImhAP_31+HcYqEBa#nMygL2J}|2J09ZUz6$Vko33fuV zMB`3!Qgw>HNMFR+RYo_$edtLgjtlppo9We%G^v^~uZ+f(QSo{yR;n)55IR=%5Jom3 zohUuR8s0fylmxvaz1aa2Hy1%|Fb5MNrLY)t6k+jlCFnPB zcC{{W@th9LirJGm8xWriZyx>Vi{pF0X1p- z-UOyXyP!SuFxW{T*!k_^<|TG*7njt1et6iErIbm~BFY5XdMVi)a6?&<`U-rVlq&U; z()3&P$MjvWY@~E)pfpGtEDgaJ4V8vT!$JQ~N+YEVDHFlw(YPKfjbqEv;q*|y9A7ap zJ`#zL)O{h+O1UI`Ay1lTw!ulk^gu=i+a}hAujwJCt1)txzRP;^yZSl#s zB^#a9B>hn(K6&!?SDwT7_~c=emQTTjzTh2cA{sggy2);7vXmuFkv!5=DO<_`ad@R% zDG!53O);ndi~}OJC=ete9%d0CnzP_G1`9&#OM#POWnDe8|d zq1`vr$k#|86@q&@>QO`B#&|@p^o1uiFA$s)^}Nogbn|&>x50GtAu$c#pLCP71lUdW z8J_ zZs`H(LFplB4G|D2A%;gB*C6zQKpuUIysJN`uhp#j8hzbpbNIjjsN>-I5yCow_H97P z8&Si<(k8TWvvfC6Tc8m75;zx_1~`=I=QgS{8r>&B=$jCisIS)_JT7gM9+9@={TQta9`UXh(jl-%{TP+CHR>LAFV4$)>glqbbOc^(J-1s=# zX{6}XMgX*f;PzyPic*FTA54_!M>FVu`JYQCkr{-aW9_M|^3VR`H%kua9#GHWZ%$4q zyHF6ss|CScFS{sMEC|Y2+>f7CTtwH`;=0E4%#nR@eLG-W;dgOcXxtxO!=Nuau0I^h zasA;g_rxW2NQ#5=Jl9uHMXTwh|I1HdK?${+ej4M?6`Gzg2>&~v{R?wEsdU{F*NtsP-&5DZqjKuXoT<4TbAC-dZcDUZ28%!I8>t48iFTZ2}U3V4) zsm|Q|%rUsGhwH)91B2+@rnt`aPaQf8*QiUnDLd46Jg!^e`ar%noyM#guD=QfMiNXL zL6FrPZ)!hWqaAX0UvYY7_u9Dw^txXvsNX41Q8k9BdbFD)I{X}I2! z9~?mU(O>KNq5^}?fD>B>Pq1Hq+y_oN*oOKb9kPQt0BT!LZ8Q2N*On9H zPWZb@9xPuYCm6NC9gX01d*lAq#=S_bWj&|9eOX%T48uQE)_b}t!;Fc==Yg+c+$}&4 zDPT@*2q8rNJK8-xjJxP}(9hfJm9#18D14sSwo(K3f zQwws9v2G6vh#m{GmS~!eeoho&)}DuQ&2L08;Wij|h(f4-qL#||`8zWtYJTMUZ?9KW zGv4ghvz3C9F@_mheNu2L=|5@k@9+;hTgL32X4=YY4ra z(mrXAv{yPT#Npds>3M07akWi)2EUJ$zE^%mm^dy!BWQMJhi3rwzBo*S(Q_plgESsg z4vhxEM{qdJ7?sL6il!mL<$u?r=yJ+)5Oeg6xueFbiKa(&In$O5iZ9;N1-Mk(q)Ji$^Bb^?{iR36cync@d;{MK%8KV zVHGrL?P+ak?PqNXXp>vTSyQb8tZ71=HIeRHJ6Z?gx(7kYjpRf*9b9ji5GSX|UF78O zHF3hL@k@NrOGW@yO`jq9rD7iCb3P)96_UU85K(9b}ZyH&8SuNPfFG zLvN2u_h)y2?Uj%SiAZ`D!3e?+BMkjXtaUiMBskN&C(}O*vI*TtKC6plvv^4L_GoK2 zq&g)dwP_$ynKF^OG#RbS$5;k|+iL|bEQV=)J942{A**FQ0><0nP2P#OhJi=ygA;migVl@zQX~8treNl-Ekz!37RV$E35; zIq4VKDp!}|M&4Bv}3o2{;`t?e4y zFq_9#jJ(}@ZQE?m+KwVa_h-A)-q@ameBAMNzkPvy1@dn9+m9m4_BZ6$Hb-9VFyzwC zQEo%->|SKXeyaTDsD^CUYaE%5X%6mK>Dcag$#L5812R#YI(s-rIDJmtxzhQl^A+cZ z&R>vS+Q!w_HPKb#y4Cft>p9oEt{-AzVp_x`$Bd6Dj=42vbIc1dAH@8uR#!Wy>1vL8 zy?URz3)!OIB7d_vaw;by%W;MK3HK5AIZe@8Xni%0cAa*gwnuwgyI8GywZv+}sufnd zx!RU$hpK%MYm03W+b=dJc46$g*cW0yt}a!Nuim$McJ&*oudn`6^-pV9YqYG9USnE~ zWi=kD@kWjFHDhabt~t8q?3(x0+*k8#EvZ(ETIsb4YTZ`r@meQq{aU+W?UdTy+DmG0 zuYI)kPj%|oNv`9qv$W2RIw$J3GNn>1)Lph-!SHBH`V@>|oEO-D6d&~!)B z_v0P$-Q#oP?}|SVf4*7cW<#1?+iYvI_nIrsyEo5oeoym*&3|gqvc;GdH@4W_;)|Ab zTBf(0+j48m)2(7!^=>tz)!J6aTU%RqZ#}*B{jJ|@!`gIdli%jPHb>gBwq4u$+TP#x zt#+1nJ=*!(t!?*qdsq9E_A}dWZU141S{(*=SkPg2hi^MJ>o~sS@{R{P{+ZAvp#bvj zRAOx6z{CZKdlSD;YLk?mbYIf(PBER*I$huCsZJLWBnq|1$64s`jW zYqze!uG_nQ*{xZ(Dcx3gd%Js$?!&v^-2IgvmL7e2T;JoF9>4VL+OxRl<2}E-s{K{d zuiA3e7gx8u+I#i-t3SS`={25f)?9P8S6r_ty&mdyws(`>p5AMFf0P`boRhpU`SX<4 zDbrH6rF`2bp--^S&OSf&?b&yJ-{(@L)c&bUQ{U(p+iz6ARsB9lYnqmqwl(d1|1SOK z^?z=FWx${T%Llxj-Y`8oeRKNxf!zkqANb-R*Px6+s|I~ExXs|;;JriGkby()9CCVS z^P&EsyN3zG(udtS?ET>_htC-P^a$&S;Un%F@!814k=Kqqm{C0=D`QK>rOZB=w`HCh z)oN79r~{+jqbH8uJo=|GsblUKb9QXUvGd2iHm=?{-?*p7+s2O`zj6G<3H>JAJ>k=d zT_!G`cydz9NwX&%np|&k!Q_2e?krE%6H_cx#!T5V<#*38&sxvLsp(T!Pd%UAH~XIK zuXB=f?#lVndyV%F@8`MK^1YgnLp1OJ?n|t)n@x=AD+`@&XPHw&rO@VVV*oMd)|R-n_SDU{cwKD z{598!*G;|d!1eLhFTDO!|3zCDtBZq+ z-@fsx8y~z$zR7pf8%sJZxp&E*OLLaKx-4PYieiX>ug`ruRySC^Wc5$?=iGnvf#e6aKiKfWWe@)Pknf>)*7RSqYi*0Q zE7n=p&0P1{`qAqTZs@*Y^Tv7`mu>vxVgJKtH;vr%;^uCfH*aaM<+iPCYsuCxw@uvk z<|C<(Jhi?3_BA_d?O67x@My`SUp+SEv6GJvdi=l>-JjV0Wb-Fi@2tLa=`L~CoL%R4 z=kGrI)VQbK+B0y^fxTDl-T8EfryqW%$usxutGVyC{f_+$_y6_m+-EO7SM=Pu=kuQb z_(0ZyQ!k8t;rNRqUVP)FK`*`Xa@xx;985X*>?_y2^30*0hxWYM{ng#Cb$xBu;Vy@F zzTV~aoo{q~W7m;xN1l4K$D4cKy85mCM|&TA{#fdr)3-8T*@3&Jr6#J#`Ywxf4puq=g&$K?X<80Tn`#wzl@bE_&AD#L*`{S=a z34QYWrwc!e`E14KjX&S~Mba0~e3|y;n_o@%>eH`_zW(jp;%};bv-;as-#+N zk3IkCh2Vw1zQ6g0x<5SpW9J_aTpWJ!gG+^%e*0yI#=}1laq1-bn2&}Kkp+i z863{!YfAHZk)3P0Va+%aeSxEl{=Fwnl%9qEXp;0CIZN3#!(IA3TQ0pIy(l3-E4>V% z{EBp_EJA3y#1Y6GUH}(bexLw8tqeFG{duu95`+{)GIr=&^sV}4eVhJBHCY%(jfkVl zjvHQ5@{t~vUMCM}d@@`M^ixf)K_1WH5trRja@qAsgj24(`|YIZeuHyuJGs{23CxDK z4}Sepr<#eLr=?TtBZx5Xyf1x#E*P;6xY7_bTr0gVbiABv`$OrYQrGsU(r0YBqVLon zH{8wR%ofKdr9978Zk971rb+o)2^1mLE@|eC{ zSALiNh;&63WRbe^jK16G%7`gO7vhuQq@kb7c15Xz80Q@2jSP<)B}bTj)_zN$o{s!pit0IGUnTwWxa9F3x` zayPT=AqgEiCw1=HEvZx2E=fYagbrQIG7YkZdVDp-Dkxq;^Kt`jTw_La5Z9n+2Ij_i zxM@RKMofm zZ(d>-SXrIBP_V1B5%xl~>x|}>r$`fJk33b*mZr!#(zC?jWUn+y&K2s&d2+t&lc&K^ zw@Z3VE|mMA#Q~uFMVJ~v*>t@Rhle?kV)Q4OW&m4rqqAE+$2F1!C-q-=% zN5moVH&%aLe?>p6Z>c8UuD_|VEUm$y0^jsFWc6V|Qehm@1VdP%8#mKPqzfLEXQI!u zod}w-BaXwNw^71PXqWGJ9Qc^3{lnqNdixQl& z5VI+)04?7t-xh{Gsek#;$@cCr+1_K4t?-6?FNk23LAH0BWNXmt+aRGB)M-Ewjr&q4pQDXQOdLYBD@(6VUPT{uoL6*1UmRAJ1W11*p|@&{R6$8ej3@a z@9K?E&HLeGJo$C`4J6~8(a-8_e26-b&x(9a;Y4i+kF26V(WoNoVR&W5_+iEQW)@G# z2!qSV1-@S1C!dtxmfz7&=^yGJ>z`IyEI@5U+p!7=Ei_W?g>&#xoP~GdMdb3GMyn`E z|6R?le?)B^pVXymT&^dGmGc!6WG_?F*YddvCAsxasHCx(B_Yi0|F)b<@=q1YsiS{J z<%}CbO8^k&3!0Pncli%Pwhkx!luhxC^6&DWk!cRb6d?kd{>Fv;O-(#;F`()TR1`Wf&Sdyh=t5 zoc^N!8fMg{b^ydAc26=9V{qQTtsPiWQQyQ$i1}InjSw@fs^uVkijkO+(8$6Wipls96QlTpA4$(uAw6S|7x z<+Und+0Yv*qI#iak%?+9%3O>gT-UYSWLffe^j*tR%Q7tYk7&JNsqAfhQ@yRo%kikPNaNfKwSX$YwhcU=qks8)1asK@A^OCwG;BJ?M z`R_)|ud=Ku*=JcOyb1SwITy&BhI5BJm8n&M) z=^nE@9!?K4JS!V4k402mBr#V_j9JBSfmEc(-Ik{!6zS$7me3+2^6yY1aw5Z&XrToA zqb$n)vK+vWy+D*`p~QLEUltf$b~_g}L+o&|8W*dBOmKtl#+q5J<&#ar$+{@xu;q1# zpd;*@<%qD%aunq*!#e~0UC0cf)x^F77IWA%VYnXhlN$CNWCGEUL4dL~X= zRgfLIi0}u&7l5Y<^k1Eo);RRENi?xqTb7@djkp*WAyY0kE=6%=z3yLQ71l&FinPm8R$=X4zEOj@ zIHasmsegCMU~P}JSLNXacAL=f!rtsxSb}XM;tESbafRNTxZYo zHxXB(9O6uUfpSrZ2bWs~S&F=XKg*A_f74*BfIQ3R)*Buc7- z*4M3XSfLRio#d$XnDw~zgz%*GZR8IO1V<#8GUu&#^qD4<3 z&rC1*c8xVDW--R13am4rAc5)K^ZCtGUL@^`}e7YYt^hYi%J zbJG0zC>|Rmw1*F)Y!eK46^DEL-U2N4N`h6C1jdBG1Ogzdu=uDnEWsW|U}78w`U?zg zI4og3N9`Jewp>FhFn!r+xDl=2V(G8t2RTwh7{VAVV-a9xu*8ooyu3Na-c2Dcj_2YyvH`d_R^MXa^htagleahZLos?`vr;ei zlRDknyx|b|W>^J>tlcfUZEmDktpr~LD}Yds{{(^MJmgz0&ROizmW+3H)?n8s(UVSMVSr!Oo}{gHq+3wiCI8Y1vNY1<~> zuiC$03egY*>ZgzjWL28}2(nVA8$OCirZsI2MmncyT}GB?n>me?iEHLnQhD@lM5`wY zwxm>8H#MwfYHwtDybt1>w9_Cm{OLW)v?Qy+^mv$-FV)!LjP^fZ>$X^t^Z9Uv9Ql}Rry9*F#jtyGM$S9 z%Npsv3~^bzml9Y12yvyB64!t*am~dl{{V=B98Q!pY?uxhei|BDa?l?4&E#s6fCd5D zTr@x=5&)EG0GduLGD(OaXn;*JBt4EcU?3tR^JF@HBcx-RI1w`N;E7o$JtxJ5N+O3x zA>PXgw~UNUdKTTL2wXn&#cAPpryG4J0%T-TkWNYEb)c9L;;F{4b}@ZLG^~l8FFQ|d z?ow2ah@dj96qSR*sO$r)m^w&}H|K^)-=CpUnoSY^4k@#d85b~YWy&6=_Xy$99XC-z zyH}7;k)A|mV+8GG?~})=SmR*|djUvv)H^3i@@^jxwWDX(Q_ za51xN7WJyqH)vf+15ds|TZze@lgfO9BZ)arD`n0^g~ZOxc~Ui_H7SrFi3qBiZxO5! z1kI)hR2KGnjO@8&zL$k%N@WD$$5`YUL_%Xx2*&}T{QxUgDc@~_I%ZpE7OKC^MZZyI)`%pt4;uyk zuzag+lWj9%S2?zAmW4WY;q-9PtN*P3$weQzz@f_h>#+mdQ=kasyujrUPCc+a8y0Um z@()Ze=2R|bV_s4ULVR+%ZWvak35WOnq2_xbLW}qrEnTj#JJ~Ma$aVFvzB#=CqT*c)A8KwX- z`3VIvi09LUBk^NM*Z&1VzXd|SD~HgFl@L0Oi_=RHTJmUlgeG=2$fi>l>~C=eecZOK z6rsOI5b7&MXh9gEQ^VeGLR17Dw4RNWq4wZ9CW=XFmucA@0NV%XA`LkX8~2u1qS{v} z3g~V`OOGf?rdWyS%%;K=z>u2UvWnPYR0&ZV_C@rB3j7c%!~C&Ghbbw*hM|@Cirr$j zmhlxX7IE=Tld)VTwaxCNsJOPh12V;yA% z46I?ermee2;%{gvG_@@b5F-IM1S{F-DQPYxV7jzYHf#<5TeLm~qdGQvR84g_LhJLm zcx}1yOagr;CYkn857L(Ye!_&k7V6BYOzW7^^G#ZB3)~c8lxRduWwmb@Z+-A21vp79 zCw{Ip1`#_80_or55Jl+0jLT!~dM@gfv6c`HlaPb$A7HIE>YQI0Yv6+1#9EI^Sc^~* zVQd_zs1@diX>Oasyv&65GK|7bBsz@5ooM6i zzi)`x>!8XNl@SV=vdBbe&q@fr5?Y8okf9P`E@ehaG-A!Az(m#*oGr5qXM)%%s#W~& z5$Rg=Z{6ildLtKaDnluBOk-;IFm3ODI<>Lwm3>ELoI*%1x!lygJWiwWR+$0BK{Jgw zBr&!Bk7h{~0uQOg_I=U#v%*gt_PT*TngVYb7jG_y#m;0Tb}j97#DSHvDboJElEB@Hr5lq@s|zLRJN_cG|ds#3b1h zaS(7hVfI7*H6Cvj*6Oilx@=cH*orpSQAS&YhHhFbKi!eRzw9^CWI;K8CNF)ox z+;t?P;ru6pDTL3TJdC7ol#vJ-d9;^_={Ab&T2S7@AND6!VJA!+RurObNsB!*3%r$V z1$m(T>oQwGKg312BjDG_GWGrM1in%3W4~Zcv;SbtwO`a<;o=G|A`xH}7u#_0fq%pO z5MHoTrr0V-`%#RvpGd}oVvE?3NP94+`8`}jINHd2h)Eu+#{}V z(=IInHHPp@K4%h6(RM4bmWcikp&HY?Crgub;%I1ko2E2r!I3;jQ^Pj3aH6`1s4R2x z!&m)(p6HRJmZ%}Fhas*{6FoA-rL3G*WSK*J9~W1LhuCln(#R%uH7yq-6432(Bl|$-AQvAh#SLj+ zz)eI`0MS$It7@XZSc;lt6EzQ%p=J%C=JtP)=qm>!i3m+p6Y)lrTT`kKVbU8!_z{1V zISEKdD|@rN^M=Z)DmB;iol|M1R@Vws=yLw`G(02uNfVjM%QUV``AAwIwJd~5(*a8P z(InmfKE7}2BN1;2)oMC?|L@$X z3KE)yF`ZqGgkbQRUh`5C!WeHWBO$#43BfcpR(FK?)a6KMcqs`jijdHjQWAP3OhTKY zhLF&BWnoMtV9w|MAOX^DiHVa)G*Mnv8ZRkcAtSNh6!1hW5%MzMBK||%iG;KnR<4?y z%;#oY-BcZj1S3f!mur2Q6=BwDE?P0Y`Im2XB>6aE)e>hjy7@mLnL9u- zca|fWdn=L54lX`gN-}c{iZPdpB+`N)L%HvqKz@bG$61sSr4)l$uqoZPmr~4QVT$Pi zS5?^*HTgbCi0C+rsnGpvu@*ynsTkBGC;qq$-}LF;V7@oUh#V>pE1Qs_7LFXQR~|M) zo#V@L#f*|LZ;Y5{V%P4tOiW1XLaS%YJh86bkxqtfmJ_0X2q^kz{bRw%uD$Aq&;IRoNX$SVYVi>*A5vhc#x% z`pxqBvvRz2I#O0nRLrQi*H8{efZ@o0kt%Z=;Fm4mUQ0p3o7q12 zLtidyU)d|vz|z)MXrH~df>Ynj_rWM%F|kAaEB}5`(1+vc=2U#Uj`CsTZMeZ+rMK&t z4L0Gkd^npe$A@7msPt|<1!;k1%?QXG#?JA^o3#EXv0^>-6$I`~*ju^yMl@_v1z0gv z2`~82lezdNHK|r{AP+|*WR0%mh(q?=#yKj4>D(Z8H|S|lti$F&);o5xHjiGU4JMERN@t)3g6r^5 zsdO%5SsiszM-1x7r8?d=>d*@5^c-ZjhSRNkmO_iYg?f(afbOg_F1~9(Hw*-k-;1T{ z*rd7``>23YQ>ZUS-e%OR$*8Cod*lr;Z zs*F^IV?7;x0O%vYF9A4lF3usUgnUOD;08EkE`Cjb=K=UPGmspE9D@;5#L_dVU372} z=ez88Wa4iWNhhgYczN0~BjI;IiE&0rWPxNgQ86Pi$gee`j^A+cTSzSInNO?MtXD|S zbxc9=;q+Wb4(ZuQ&t;v>$SP;)Sz2x6xpgLH-oxA_KamziLcRVVdfO0e8S*S`8bVtn zVPghk(-21laEt`(DL!JVAT>MV6>2K;=MyHk_ z{~E`Z)HGJO7aQ5wIVC1>L{XC?1k9HZ=D#P*U;39Ze?3~Qm&bg06#u}*AEQtlg(ov1 zF!7(@Ddf1h3{Qj}^p1-c2`{74reOmWY()``7M!J1Zic-LoZJPf9Ze|t87P6wjDjye ztsN@?y^1jSD}n#{FJo{$Fu37L82pWkzgLODBt*QRh5xr0#2%7ml(y3Gco_!G4K_ev zCMtjB;va;{>EU&9oHR51|jiOHtck)7|s z!H_vopt}M39D%wC6kO}FpxCT+iQ{DgZA_r}e_2pVeSjXu$X*~w>y;oc0`e#oTAM&I z{V!Xnd@DfTL7^uJ(s2byHV=>=0CFBdx&UdYY5CrQqOzU~e*owc0JS6_oaTH*>SGN6 z{S}}K2wDU5L_ef|B@W9P0`5HE0tAN%L8SusGktU<)GTAOin2CXQUQGl&_5G&4FkGf zcok!m22g3#M0)Rcyq8Sx)iU0Tt)w}W)g$*2mN*&UUm#(0t z8PsrjIr}(I?a)>_`{D@Qme}t%auV(Iif7T{blgL9o+Zx6{Z9N%Y=h$&D;%yUw#Auv zm@-%|b#Pl+TGULvfJ{4&2761%R!Q?E3NCXB;*e3R-4bZM7|qa zHm$;zMd1x~kYBmSw%K+ZIhMn*2}Tk2-Tlt8&~le;DH5q_*jpgmDH-`rW0CPR136Di zk@d6=c~AT7_3bBZ%jALBw``dGf+AuG=t%nyN`0(o4B9U$oozQ;n!>r)(sI!%!ofEQ zF232y2<1-a^HMv=>QRo6L&r|U2eG|jDvqz|Cw(ZTNxw^Nq|WRF_Uzq&v%J>}8*pqh z&QIp715W!*z}c#iBYLmaD<0B29EWq#;h$r12IfQ@C+va#RsQtJnK;moc#GK0SY6Z0 z$chD1z(N@iEM|QlW4TO!W5rB$EUUo!1!LXJ5M$}g2xIk3CyX!`Gr2e!Ns=eA+0p69 zjzmUkD%^=)N}2o_+nzw!frw9<$^fxHobT5ZIjKxz-b8BS@v--C1iXgE>p8h+GG zhAVX&ys2<5aFzg7&Cr6rH6;FzIQ!`aY}9wFz6oaw?bLVa&)^Uw&XV;-kk%wORpYSr zcpax#bJpKDEZ+IP(2BE;I4vH#SCwhg|Me0*C(JqL$JV1#JLhN4&uNLC^DA1S=lrH@ ziJtQUXNk}fS(351>>OulM{gma`IG5Aq z!cJb1^R3pqoTk&mXq`)?!cXXnsPO6)3pX-M>I$DlHmYz{$NIGguvOqw5)SZ+-YSp| z?-IT+HwtvsFb@GEYXDc+7!#`bJMz=629d2(T#bx-U%Q%^_J9kE_pp+X78la)p2q3v z(Ra*kyXYh_>?dfPD8^ZDFhN>>x0JJ9Fb`NSGc}q}Vy;j!j&OtHW@1)O01F-AEb#_S zqt?~R)fyOy+}z-571`6{j8>tH})dxF{r@H#N(p>#r1IP-)AI8EpC`;>L ztbD9=f>{TDN#Rs)a9FN!fTkB`b73?D_^HMz_S=1P6@oWkZfC$Zw0XdQ4IUtkv2 zEYgXbwCy3bOT;qM%5cTu5pPh{L+m@{&4USknRh+LaZ;S65n*uF4`Ad(8{;d^uT)WZ z_=mcNVain9sdcX5t`W4K?q!}E>u)O+Y)mwXUHRy!pTEv%VqW4*`lKe0@X0 z(;>{IzqkhpPbEc5cu4s}SdH2p|94}}h8x!{@wXD+Kga*ANM!ypQZ&W9{TV?@c)dzKk18)KA`nMnJ5+RMTT(4=UhYF zUuS$SFg_O>pAay33gM2oOyPbA!kw~Dn$gE9`e;KR5bOXk1^f48Y~f=geQcqR?dWQm zP={#8y>pmnrchr1p}qh@oftAI#N%Iq92LKf^>{tr5a>9P&h-;f>{*Q3|F4t&Eu9o6 zVqJxku&%-BS-pj1S>Jjum(xcD9y zPjm4DE}rG$M_l}bi=T1v3od@eMWjyr#Km8@_!nm)XA)-?&TO1P3v+T7!Ph&od`8?)}m@i|#iupR`T+BBy-^P3wb3W!m%=a-r#QYd@G3HXtPcc8o{1WqP z%x^Kj$NUlVXUt!!fYX$iDygz+QLQ*@$*wA@Lv^YyHAYocx2mbt)L5LeQbVn&*20NP zb=10QJ+;2tKy9ctQX8vrIFqTV8m~4}o2xBw7E>#=HO^~ltF}|y<7}3WY68w^N>V$i zopFX!SGAkkUG1UvRIgI6RQHr< zI$Ry0j#M+$Om&nxS{VW8EQ}ssl{rEI#Zpc&Q|BBbJcn3wd#EJI-DD$t6W{6-k>g27paTY8`YcC zCF)XjnR>H&i+Zbin|iytT)jiRQ@u;QTV0{vqpno%RafD(nbqq3>I3S7>O<-pb*;Ki zU9WCXH>wY-o7Bzf7Imw-O?^b&uI^ADRUcCySD#RyRCnTpn%(MC>K+v~({Rp4=&Lvz z$yo+xnVgN{Y&2(MI2+5^IL^j%Hi5H=oK50vGG|$wP2tSL*;LN5Im_Y9%ULdGd7R~Q z=HqM{XVW<=;H;1{KW72Xia49WS&*|3XT_YAa5j^(S)9%0Yz}90Ih)7XwVci8>^jb_ z=S=5}bA}_HZ{TbpXNx$4S#=|4H*vOvGw6xSIJ=p%TR6Lwv)eekowMbf-ND(NoZZFQ z-JGr9>>kcma&|9g=-Pdpt>)~0&K}_GLCzlHYz=2?Ia|lsdd@a*wvn@kIorh9X3n;7 zww1GOoIS$XcFuNi2IKfK&K~FN3C^D6Y$s>CINQzHQ=IMLY%ga|bM_2p`#8h#)X#GE z9B0pSc7U@NID3(^mpFTwvxA(y!r39tUghjH&JJ_-I%jWic7(GxIeUw^Ns9 zI6KMN+nl|_*}I&*$Jr^)PILA?XCH8OhO@JreaP8IoPEsMC!BrC*=L-6&e<27eaYEZ zoPEvNInKV}>|4&h^IJS=j;#8{^aa0 zE(u%`xx~06aY^Qqg-cd0*|=oqlENhimz-R3aVdsNDwo_`(zsNOOR-$4&ZQb$s>!8V zT&m5bI$WyDrFvYd&!q-jYRIKVTx!gvI4(8eQd2I)bEz4ZnsccIms)bE6_;9bsSTIf za;Y7c+Hd9_?EPs`VQ+B9vtR-hGXel4ICX*0B-7Sf8f5^bh7OPj6D z(dKINv}?8bI1lQ2P1m@#K)XR(s4dbKYd2~)X-l-F+A{5C?H27;?KbUpZMk-bcBgii zcDJ@dyGL88-K(v_IZ~^&`?UwO2epT^HQHKjowi=vpl#G1);4LIwJq9KZJYLpwq4ty zJ*qvXJ+3{WJ*n-~c4@n{r*Hz*UhQe^8Ev1oUwc-2PJ3QEpuM2IsJ*1UtR2)|(GF>^ zYOiUBwb!*bv?JP^+FROD?U;64JE5J#*;Vgo?`rR9r?k`B``QQE8SSiL;kcIz{GqV# z!+n?Y6s8(HLv4k2?t9!T>D1^x!=_F{0GiI5UhBr0y@DNQsL@_3iO`sOLk}7c{biAG zBRrQEtUuYB;nc4lwlv#VTdr+^?QYu++iN)W>wVi9+lRJKY@ge{vVCLw&i1|SqU~qf zZ+6+P*<<0AY-(?7?`rRDA8OCAPqcgOMet3A?AO|t*l)-AU=Jz@N|Mr9>8f0nnY zy_967kCLjSDFc*&%3ydSM=GO~vC0Hxvf{znVR_0lrBEqSLdr~>BX+HFy|O@Aq}-$| zQ*Kq3D|adPD65qFm4}pd%0^|gvQ62cJg)3io>HDx_AAdTFDeI>SC!Y5Hnbf%FY;Pth0u*ma~pC#W~D5+BwZR+quAb zi*uFpVdpmIcIOk$oz7j(r<{A8PdoQHpLIUxd>0>BCHa!tc|XR};$T=QHDUAMUIcCB))bM10H?K3YZYp6j&h1J_xcgeJtW7&*rE z|I~EfZ%v*5|G*t}8)6n=BqSl$y_GB=fdmMUK?pGdCSafeL{>m%NFb{xVV!tR%o*;z zSJi6O`nGD-QmeJqR$J@dvs5j`QNQ`T-`Ds2aPGh0`Fh^hb>H{(AkYYG!lwi+VIjdx zs3O!5YC|?!1EGn~LTDw}3GIYVLKk5LVJl%fVJBfX;VZ&P!db$1gzpJIgmwb|{C5}d z;lDe8A))sFG}PUbL%lsc)Y-E`jjRZ@tSQu`wV}SWhk9{ksO{EsLTLLW+4@|#0B?h0ktAIk6l z<#lx^i`PQQ`M=!U8h2;h-EsHFJtU1JjV2LEq>uY@+-`xlH+ma+UHMPhNp z>KW=eYA^MCNWuG&+DCmweM9Z14p84wKhOr#hSJ8&%|rmdl^qivv_rk$akqxI6x(=O0{q`jiO2@emC2xo?~ z!a3pG@K3`hhUbRohr7Z(;Xt@Iyd%6TygMZAEelzD2g1J$KOBA}{8;$$@GIf>=p;IY zPNUQ5k@V=0!N;O==v?{?dOSUmE(wWzO8R_yE(IQvMZQ4gbsN3)}+MGK=-qqCyxqutS~L$cqu z(T}2^L_d#y8QmBCD*AQw-_iZi1JQ38Lm9&uBN!tYqZwlvVGJT;9D~fDGa?zWjH!(2 zjF}7pL&%6{BrsfzZbp!?k+GZcCF2C+0i%!cit#t2pE1CA$M}~yh&hxwj5(4ynmLw9 zV2)#wnN%i=sbLzJOPTe|MrJe9%4}uYne9v`)6M*x`5)#9=1Jyh=2>Ph^E~qc^GD_- z=4IwD%&W{h%%{wcF(YFbG2ED$F}X4MF@_jpOks>ErZ~nNQyOz7=5oxfn8z{yvPi56 ztU0U=MT<3&I8UP&J#`_=N0D-r=K$rON^Zon;C14t%|kAw#WKnSH`Z3JrMhK?CIF= zVtTKT zAHk2}Gx$vY1pZ9^Y`&JS+kSdT1G6V|20zrkKT2Lpb7c>es3Jwd7 z2#yJk3;rYcMsP~-t>CQSs^GTZp5TGtk>G>iqj0crXvkuW5zZAR3A2RR!W?0luv}On ztP<7;TZEu+m2iV_lW>c0Z^&vqE4(DUF6sW>KlA zOjIta5LJn)MHW%5s7|y}v|6-Iv|hAHv{kfSv{STObT)o?e02Qecu9PA{AckE@!ohO z9*bWczaf58{FeA_@jK#o#qWv#BK|=9m+@EPZ^S=|e-{5DzCU45LU=-S!uW*Q38Dm9 zf-+%2NQrDoXicyuv?n+d+zD{P)`aZ|I}>&%>`nM0k&sAC9G6H+q$JW3>4_1EQHhMi zm_$}0C!|Vp6P1bT#Oy?E;{3$i#Qa1k$&e@{DoK_kTaqK0FIgbTlPr{!NMOlw2_nHHDD`CDkW2 zCN(E{lU60INm`e*A!$?6mZW`2XOhk(^(LK9x{&l^(xapgNgtC3Cl5^?mOLW4DEYHw zb8<;?SxC>UNUlt-PPQc1B`-~GNN!ASN?w<|A$fE1mgMcpyOQ@L?@QjFd|o<6N{|wz zBq>EolhUP;A#XE5nk~(d&X+Eb=1CVyzmy)9ekDC3JtjRaJt6%@dP@4O^sMxpv{(AQ z^t|-GY`koOY?5q>Y?^F_Y?f?}OfFj}tC7{pmdYAr%`&U(7ui+WHQ8^n>#`fNTe91- zyRrweN3zGVr?O|V=PAQeQbVF=Mv5Xum7+<}rsz_3rJPCmJ>`#-n<;lv?x#FVRi~Dx zLaDn`_oePnJ&<}Z^-$_psmD^kPCb!&D)rmcGpXlNzf0{+{WfdS6X)$T+G;Z32 zw8?2x(`Kdpn)WE|Y1;F&m-0{K!{wvoW8?&Rl$>A$C6PrsRdEB$u*ll12q(=ujc%*vRP5tkvz z5M?A}I5GkuopeXWu8h4I`!fz^j>{xxQZlKT;h7PcQJK-1F`1l9Zsz#R37Hc!CuJsQ zwr4ss-IQV*C~6h;ibh4VqD5g-v@4tn zm*R5;pzta>6&sa9mBW<7l_Qj+m1C7*N}`giq$%mj2xYXAp=2uA%0i_{S*$cG%alu$ zmC9;mml9L%R_;}Pp**NO95PdBD!M8{6{(6=F;y%TTg6pPP)$-zR!vn+Q%zT;sXQt` zYmKKGiF=TCGuMtF>yKTCdJk=cx_qLbXXhtOg>VYg`*7&RmS(CD+X3fZ&l?7%k%Ys5qYcLDV!n0On ztZ=swX6(~Z=P){WH>bm6*49YYtRo2V1%5_L&BnJ!J2p;PLzbXwhf-2z>; z4%MyDtcuJ|3ZIIe@K5se^h^5|Be2X{HY{vf*s{>J zuzjI(p?hJUVYGo_h%(GIBpBp|OoPgxG2|HZhFpWi&}48LKm%l0Za@ty466<63>yr4 z42KP84Bs2>86Fy*7@iqk8vZi8G4vY;8Hq-ck!qwHBaP9<7$e8XHFg-gjiAwQTxNug z%Z;cJGp;nQF|ISNH*Pd;GHy2RF`hO4X?$gTW9&B$7~dN|77Q*JRZvqV0pprf?o@ME4W^8v*32Yy@H1Yj|=k)zbQOjc&6}d z;km-z!t;d}3x6#9x$u|5tA*DJe=odV_($P`!jFq4Etc%l7CO9hnLH-I3J*F>A2Tg}fM@?TB zMHEF9MHexOSVf#7ZqfLniA7V2rWH*unpHHrXikx$sH3Q>sHezZ1Q!L1&?3C(yW&~J zbBp7OdByx~`6mvb$vu${v+H zDSKM>qO7m%RoUyZ{<43{1{RYSXD`lKJb&?m#rcbkiwhT<79T0+l#ef;P(HDIQu);K z>E*M^XP3__=a&o1MdgX*;&MrOZn>?zz1&&uDfgClmUk~%SuwO?c*V$yQ5B;r2o=N% zas{O#ydtt9x`I)`s$f@eDufjU6{d>fijs;DOjc1sE~^YwB9(aMs>-#M>#Igpjjal+B36wHInLB7dR0VKbX80hyNXlAtr}nTY1ND> zc~wPKb(N)RX;ouYOI2&Nr}|m-%j&-Bzp7tVzp3u8ep~&n`rn$tHA8DYsTp1~qGn_b zrzWi?qefAquF0;^)#z*1Sw>pMSO}Id3(-QdP%PmVx+TiOw6H8}ORR-!8E;9jm@J=J zN-T>l6_#p?r8ZEztM*`RZ|x7Y7i)j2y;6I%_IB;F+84EbwXbXYYv0zsuPd%AsVl2n zTvuLKQCC%GsjIE4uWPDnsk7GE>g;uGb>6ylb-i^z)LpFmsqS*!uXVrGU9XqaZ?4}~ zzoUL<{jT~w_511%)E}%rTz|Cw>-yvMC+fecKUx2M{k;Z4!?*@=1FeDH5Y@nJU^Uh@ zUTeJGc%$)V6+W4aJ&&IySSBdc*qM`fux?)*-FKT1U1mM#`hDvUtruH=YQ55WyY;Wu*R6lI4z#|v4Y5&d zG#lL(Wnz0sV^hRUv|Qefy@6=KEbp61~uVsr|BJt|QLDbMPG^M}kA_kT|4{REOM=?oc?C z4wXaWD0ggd>~!pQ>~-vSeCassIO4eExa)ZB=ywb_-a9@z!<;N*BfOt_+vLrFLbz3S8ALi>uDn;A(btxmLN>xYoHgy0*AZyRNu? zbzO5^cinWob`NupaF242bran&?wRg6?s;y$Tjb7g=ev#WLU)nd>|W~jxV`QUcemT` zUgO^D-tRu>KI}f~?sfm}zTv**zUzMAe&ZSL8RZ${3GXKH0V)s@*a~b1 zb^?2VFMxxWwz>mPsz%Rfx;5u*$ymz8^ig&tqrgye?u9xQ(dK0`7uhg6B zP4_CiYHzkz=Uw2<_Zq#0UX!=jYxb6gWcwxFN^iBd)?4pw^tO0y-Zrnp>+*WMfY;~k z@-FwHUfjFY+wXnreeeC~8{!-08|fS48|x$b$Ud4c!WZp}@v(iezVSYZFWYDEnSE70 zi*Ko~!Po4w`rJOyx6B9ofbqhnXco{qg8`#Sb_9PBvMairsD$MKF69Va`!?KsnMwxhS>PRGlRe>#VDhILvx z>pJT@8#)_1n>($Yw$AoWN2j~<^GjGaUh2Hu+1C}@mDW|& z)!DVZ>ugtV*ZHmsU6;CEboF!x?l>Q3v<>eh7|yUV-ly6xRa_xkP~-3NLe_B`%+ z+Vi~UWlvwvtDZMK{XGLc?|MG;d;|xBL&0I-2yhfQ1|)z)kOWdd8b}8t!Dx^PvOo^V z1wRERf|J3i;B;^%I2)V`#(@Gb9u$MgU4k921t^ikoYrys3MsN$b9oz-(1^0trf?t8h z!2f_J!EeEH;P>DK@Dg|#{1yBS`~$oN-UaW255dRaGw=o22fhOT2LA!yfgk*X{6qc2 z{UiOO{bT(^Kgmz^hx;S_(f$}e+t2k+@K5$n^Uw6p@z3+~`~ttopWqk!ll)SDia*Vt z?pOHLevM!2*ZKASTz|gb=r4gLLsOv{&@5;UG!NoI0!RcUKw>Bfl0qp^8k7!YLP|&t zX&^16gY-}?ln)u80%#Fb1bqgTKxI%lQ~^~%HBc?I6l#E)AS+~t9FQ9Vpbn@T@EFx z0oVt3!rd?kFN0w?2xIUHcs0BZ-T-fcx4_%r9q=xA54;cF4VgY``9WiFQLs2z5?mat2v!GcgZ06tpfzX@ zI)d&X5bOwc2mL`f7z|>;mBBT^^}$WSt-&3^-NAjq1HnVVBf+nOCxWMfXM*1a&j&9C ze+pg+UJd>pyb-(|ycc{Jd=h*f{4@9}_;+w1_&)d%8G;N$Mj~U7Foc9q5jqluFcCJw zMJ6DVk!i?GWDXLC2#|P0j3gr|h#bj8REP%2LG(x-Vn7O!BE*c8Axn@d#DXkE8j%*n zhO{Ft)Ig&afvgPcUZMb07LBNvcM z$YtbL>48VL? zC)SOD*fI>pmSYHpVJomz*cxmdwgKCOZNau-JFs2Y9&8`BA3KO0!oI?eVqatb!M?#x zVc%kBvG1_&u^+ID*d^>|>_pyiAW9%vR9D9lNVXv?^SU)y^ zy~93WAMwHXP<$9Z0w0Bs!3j7KC*c&FhSTv#JQ`=>ES!UL@lWxI_+)%4J{_Nl&&KEC zaX23r;_-MQF2R#=8J>#E@eEvntMDv58_&V#;|uUSd?9Yc3vm-(jGOUNd@;TRuf(fy z3torUC~0pE=8!H+kSRxE_k|L6{2@ zp%xlpmbVsfE#9Viz8CKBUFYe$uw>(!t=qcm?7kANvb(|j1O6}Zy~ujWsxhMd6Rd9W z)Us7cN)f&a@ACIP`-|`%pR4gvT#HAs7dxSdPvQ!ncI?Kz*ya6RT zj2-bH?y$ON64Goh?jhIDxxqO%(Duqui!Wm3ICjXQMp!5jamfW1F7Q_amr0(5PlL5h z*52b;NEE!u{so@q!aRS|VTvcMo;IZ3W=2R&@tu&&yLB^7R{9!gv1BJqgu5oG;N&~D zf0p-V7^|TATih3hV009p##MWBjN5V7W}buFN<0L~PCNlcVYwIAeXPV!$P4SINNUF| z<|Xw-+-0oI`W2*~nv5;p{id}3d0b{D-H7iRuFE#}+D@l(PRC@gAR+B;+nJkjgY!F_ zExBE@b@a^+_vNPDOv_M9-t7K)tGtCL$KC8EizV}pXXMl7_a*9uZGe(ez_`W8%)YzLMK`}GKocpy8QSSF%B3vkoUqQXAe|f%n8G(!-?2q zG*%48vTT+lX{GGNIXr2lvKqF+V0rg>yarK{u40m&oqsaGBp20cqeSD8S?!#=h0HGc zFU#BD+XJ*dVnkWMZ&Y{XIU`}?IbfR=#~{9DceT%btRhDmp32(fnP5fMK(^nhTk^#2 zFLAr%=WLzt;QzC_KmUJ1EGTO>%53a4iXyc^?9Caki}P+m9ocFp~6==B3{h;HeX?WB4ON>;jVD%#&^TIqv z`R}sO`IxgOxwVh%^o7d#KjFix_^|RcJ{o-GW$E!L?5#|ddGj$Rr|MPly#reu4#gpP zoP0O$|AB}d^s2A1Qn@MZ@b|n2|2((nbMx$Z^K#YidH3K$;nH70cy;5Ep7P@G{I9+9Xr(M$N1FPYtYxk>Z=2Ok%ihYld6#T$kf~jV8FI4t zMEsI_BvnA_1jH$?*0x$LjH>C>4P+dIYz^7Ds!-pe${|%Us%jJJP3BbL=GyE09VE2< zmLz$gKCv6~-bTJqtt4f)*jB7tx2`DR;MJt~_I`HdZt~ZJ(K*B<(1`A zRnxT^pg+TVzxBKIzy*6#_v9IJr>sC!GbzKWa#+{NoVH_`U!87`eCt}M))06l|xHogEd^`W+~ - - - - LprojCompatibleVersion - 106.5 - LprojLocale - el - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/el.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/el.lproj/main.nib/designable.nib deleted file mode 100644 index 252f5b8a1..000000000 --- a/hw/xquartz/bundle/Resources/el.lproj/main.nib/designable.nib +++ /dev/null @@ -1,760 +0,0 @@ - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Όταν ενεργοποιηθεί, τα ισοδύναμα πλήκτρα της γραμμής μενού ίσως να παρεμβαίνουν με εφαρμογές X11 που χρησιμοποιούν τον μετατροποποιητή. - - - - - - - - - - Πατήστε παρατεταμένα το πλήκτρο Option ή Command ενώ κάνετε κλικ για να ενεργοποιήσετε το μεσαίο ή το δεξιό κουμπί του ποντικιού. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ενεργοποιεί το παράθυρο ρίζας X11. Χρησιμοποιήστε την κίνηση πλήκτρων Command-Option-A για να εισέλθετε και να εξέλθετε από τη λειτουργία πλήρους οθόνης. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ενεργοποιεί το στοιχείο μενού «αντιγραφή» και επιτρέπει το συγχρονισμό μεταξύ του Πίνακα επικόλλησης OSX και των ενδιάμεσων μνημών CLIPBOARD και PRIMARY του X11. - - - - - - - - - - - - - - Απενεργοποιήστε αυτή την επιλογή αν θέλετε να χρησιμοποιήσετε xclipboard, klipper ή οποιονδήποτε άλλο διαχειριστή πρόχειρου X11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Όταν ενεργοποιηθεί, αν κάνετε κλικ σε μη ενεργό παράθυρο, θα προκαλέσει αυτό το κλικ ποντικιού να διαβιβαστεί στο συγκεκριμένο παράθυρο επιπλέον της ενεργοποίησής του. - - - - - - - - - - - - - - - - - - - - - Όταν ενεργοποιηθεί, η δημιουργία νέου παραθύρου X11 θα μετακινήσει το X11.app στο προσκήνιο (αντί για το Finder.app, Terminal.app, κτλ.) - - - - - - - - - - - - - - - - - - - - Η εκκίνηση X11 θα δημιουργήσει πλήκτρα ελέγχου πρόσβασης Xauthority. Αν αλλάξει η διεύθυνση IP του συστήματος, αυτά τα πλήκτρα καθίστανται μη έγκυρα, γεγονός που ίσως να αποτρέψει την εκκίνηση των εφαρμογών X11. - - - - - - - - - - Αν ενεργοποιηθεί, πρέπει επίσης να ενεργοποιηθούν οι συνδέσεις ελέγχου ταυτότητας για να διασφαλιστεί η ασφάλεια συστήματος. Όταν απενεργοποιηθούν, δεν επιτρέπονται οι συνδέσεις από απομακρυσμένες εφαρμογές. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/el.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/el.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 24fb37cf07db66dc3a30b07c952dc13c36edd077..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49396 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 Peeu2j_x=BG$L9YBZMbz7 diff --git a/hw/xquartz/bundle/Resources/el.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/el.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index ac3194c7a88c4215f11f58a5ecb97bd17f89ff85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49421 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 b_zwK2=bWMEH)P2FJxM+P_x%5V{N(=t%*Uh> diff --git a/hw/xquartz/bundle/Resources/fi.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/fi.lproj/Localizable.strings deleted file mode 100644 index 83cf432596e01bdbe1ae2583b7782d0390fc131e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4392 zcmcJS$!;4*5Qh8gC&+PNBRLorgIpa1hF}XYpsZFl1HRBEB~c`Y3};ALmptt}gN{l5 zuZrdFp(tB1APhwHbXV8%*E;|Fo4!tuQw6tyZm31(z!QnZD8UO!uqwo&FxCmv(Qh z-!@H+dZYC!&Gp-8Zz3vmTuMT#XQ(ImJe3r9eJhO~?6vAHmK=%;TDuIab}cJOTI!ie zhj&_|%R;n`C@!_e+RAj~W~H6Eo^cv!1@&0xSLumPKx3r;fmXhaWsNAE1})YmVVE|? zsgmS#yMLzlCJhSYjfugeuMJG0>)K z(ROAToG(OyC*8lq1#A2R?cxL9xpZIK&eUu|7TVON5wbcxwb^jH$M(lzV~DqgMns~= z)+^}&y00WHV)Mv!94m?{?dS8kv>i#CGX73v^F)*@c_%cS3W4(GfllzZV|CYv`+qtg zO6S`muCf>)?#MH;iC7@Qh^mNI$D@oFyhbMby++p0%tIc>MEt4FJSxG8$Zag*huR%z zCv(p+iw;O%m^N8P|90d)5ryVUquxjY6@wjkc%GCMr_?xG8b05jk-NCS-O)hTR`OPc zuJ46}k7?w#9||u}=C0x8T$Au;6!bCT_vu zO4fS(4yDJUu*7{u5BgkLjs`uZlRP|ezRf}J9#mmjQbdyDkB>l#ZctXzAEh51gPQD> z7aNH4h3fmnupVjWtt3^(;mqWM`^tP56_m)QPh1xL=ES^-r|wfKv%{4k{&5|sm0&i! zH*KDaw`c0CK;c-iNFTXBxj%^aJNf6OyfTybaxVKx?&kP*RqLh3VMIfH;(0dBCivdGO~ZQ2%T>|&fFCoc26>|pDlaHq&}|`t3@mQ zu4Pk|-Wyl!T^a5^zY+b+#Ubal-kEfn#^?e*v5`gGrPXZBDh#~5YtsLjvp%hD*(-0GXqaR(4j?-d@0dlHQJHLWk0j#)^+soOjSrnx>s=oN z+U_Md?{sJL82LRiRGAz0`%#2`7T!B3Oo?1X>XFV>y58wkj%sO;?@A`btfk&wo+7M$tRig_lW(4o{#2Pnz z>YA88%5J~kQnW6u=V1?qM=wh6U5m1?2f^am`#_EiJtkITCq7+5KiI zvl+ywl5=T9o>7O$ANZHG`tEmf4USpFGp%2Tf0NB*AF{oM5xvydT(hd`E4@bzey+MU rR*j}o`P3X3R;kZzAitO2%17dfw}bw`@b - - - - LprojCompatibleVersion - 106.3 - LprojLocale - fi - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/fi.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/fi.lproj/main.nib/designable.nib deleted file mode 100644 index e3edf097e..000000000 --- a/hw/xquartz/bundle/Resources/fi.lproj/main.nib/designable.nib +++ /dev/null @@ -1,755 +0,0 @@ - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Aktivoi hiiren keski- tai oikea painike pitämällä Optio- tai Komento-näppäimiä painettuna osoitettaessa. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ottaa käyttöön Kopioi-valikkokohteen ja mahdollistaa synkronoinnin Mac OS X:n leikepöydän ja X11:n leikepöydän ja ensisijaisen valinnan puskurin välillä. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X11:n avaaminen luo Xauthority-pääsynhallinta-avaimia. Jos järjestelmän IP-osoite muuttuu, näistä avaimista tulee virheellisiä, mikä saattaa estää X11-ohjelmia avautumasta. - - - - - - - - - - Jos tämä otetaan käyttöön, ”Todenna yhteydet” pitää myös ottaa käyttöön järjestelmän turvallisuuden varmistamiseksi. Kun tämä on pois käytöstä, yhteyksiä etäohjelmista ei sallita. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 3591949b70ca0014fc9a42ce95e97dcba477161a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47847 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

>z%i%t<|<_J2hTSP?OY- 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 X*nj^&^cyhX|8_k5fBXMmJxl%{20rfT diff --git a/hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/fi.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 89f5b0d6d523b91eba8cd6c0344c831d1da7addc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47872 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 N@BiNa|4IDz{{XZ~@G$@Y diff --git a/hw/xquartz/bundle/Resources/he.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/he.lproj/Localizable.strings deleted file mode 100644 index 4c0920974b3dcdb993b0b31c119724b6ae8dcb40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4086 zcmcJS&u?2r5Xbkjmmc8C@u?LYDw>KjLMSRoTtK3Lpc0ofziQ#wA$FSf!ry2&HmPf4 znlvPF{s`dnoq6kh&vmNuBZ{22Z+B;Q=DRcBnfK>k;cmDcitt%zgtgEN?Xb;Tm$xo& zn~V>_Bc3frKZkvr*J{i5-A4LGxQTR|^{4#b=efsz>1r|~`89TT8Fg(}(o%#U!bkjl zihL11;de6*VlVy{3ZA3*GQMEckI&;U9)-Jcz}t-Xi+IM2uTJ7IJ4YtdiiQ0dZ7^SrrHMt+7+a6Aa)P~Qv0szZ?yK$1 zQS#4hRODP0C57FaVnsQkOwj$wBSk`rF!#TD$I2aLq04pfwux+tJw@pjYaU6$M$y)> zC|zTAg_*29$C+&KNYyBxQI}46D@KszyJq`iPEfXMMmjvUt87uVID4AzczG5r;v(&i zhAixI-kzcBbLoUPS>(R2f|til%PehJCW)Vvi75k>&$>H#Rl(!d`?uZ;tIYqztg=z7 z?oo@l^_}9sEfCo&XXKzo^FsduH(nnTxrGw0oXE$e*L{(6~i9!~tW@o0*iDJ9E!~tm~JSj^?9@ zoiViiS#Q#6H-_FL^vLp4p1GhVCdH8fw>V&ppdLnyKyu-+x`V@-@sOmd!bzx|?Murub1*WC_*h`tAq#CLT@u z{XI*J$*8)-w-%#27O(2#vh3nY)-t7&7{*r%n!drCHR4^&t#0Uv>6DM+Nv~5n!Mo0E zq4$yMan$j6A5<`sysAyABEQhzt-Pjni*@y`E8#~nPQUL>V#BgbSkx<=S6|Q6#M{g3 zlVo?WN>!kRHg&bx%G}{RG_N~WT~rgYlzeSdN!*4lYKHhg{E$0jRcQ5w;)FL_TdihS z^&ILCGY&$wiSAtW)XA!{rAn(_DxuzCO?{Qty#ILp4iegaOVYehKkdf6+f^)7J01Bg zwiIi&tWQoj_-W$HCnYlKq-9B}*4}j}wo-3X?f%Z;4*xDtUFpX^*tIlTEW5|5HW?=* zFR2--G^&THLh6FOdQKTpK}+qbB6k>jeMz-X{dCzc&#hC{Qtv!ccP*W!ohn#r9_z{5 zrPaD#xh{ - - - - LprojCompatibleVersion - 106.5 - LprojLocale - he - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/he.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/he.lproj/main.nib/designable.nib deleted file mode 100644 index e56c1adbc..000000000 --- a/hw/xquartz/bundle/Resources/he.lproj/main.nib/designable.nib +++ /dev/null @@ -1,754 +0,0 @@ - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - הפעלה של X11 תיצור מקשי בקרת גישה של Xauthority. אם כתובת ה-IP של המערכת משתנה, מקשים אלו הופכים לבלתי תקינים. דבר זה עלול למנוע הפעלה של יישומי X11. - - - - - - - - - - כאשר התכונה פעילה, יש להפעיל גם אימות חיבורים כדי להבטיח את אבטחת המערכת. כאשר התכונה מבוטלת, חיבורים מיישומים מרוחקים אינם מורשים. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - החזק/י את מקש Option או Command תוך כדי לחיצה כדי להפעיל את כפתור העכבר האמצעי או הימני. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/he.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/he.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 3cc6937948815b95fa17aa503e3d3a339a0cbcb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47024 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 b7rLw5M$ZjG&*SCwe_uk||9$`e+uia%B65={ diff --git a/hw/xquartz/bundle/Resources/he.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/he.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 797901ca277cfcd8b28408758a2225e6d804dedf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47049 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 kZoRwAUFWWMo7}B#m*)0Cz#qA^-pY diff --git a/hw/xquartz/bundle/Resources/hr.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/hr.lproj/Localizable.strings deleted file mode 100644 index cdcb831b9bd2f874ce78bdcd9d73f940603a5be8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4488 zcmchb+ix3H5XO(6Dplg0$5ktMsE`rQ2%)G&;)N1gq87xkD3|X)Mt{9r%7T zo}9C58v>#zO6)zCnQvykxom#_BYmEpq$)j2(^RJ>Ez?9#8$E6GG}iZe>%pv~R z1uG)L?uC*g;7ytz_w$r(kfV^DXP>-i|zn zJ0K_aW8)IlffZzUZj{xfM4T;+NFUC^zF&~;-azL@`luwa78?Evk=uSEe>r;=hIDES zk4%mXrXC<2s|tTS{^aq;=|t-@t&+{`x zw5vADbgsRn@xp72M}-)H#Ol9Ej!M#(ihpav3^%$J4tr*j^F}AaW-1eM-4?eQoL54R zSKjV$Z?Mq(0(U`(#V~fJ6W9}+K91E{bf%N7*x_E>m`!u*1*$^U+q`~qg8EHY1Bq8y ze2oordq%HUZ)y`BTNxsuDfk9Pn1zHKOZ1c9MB4otHc=0{e!ahi-CFqEBwZL@`k!}v zx12sg&4pj*mJ#evv`TlNM&qxj+~gk2xhc9F^Tk$?ppH#@RrtTv%(QYVUscNBeH>@T zS7HPgM*j<{r$Xd)qbWS{y|hQ4hSMJ^8s8c3s`RaFZp67#3i#LbT(&Kj$0Iq^W!3N8MP7cku3vCZEkSQlGY&41NCcZZx+0)a2-$?==+<_oQBGp9z1Mevu{o zzOoyz`o?_H?dxU!Mz=cLmGLLDCB2V&LwCq1!R7B3=Vo=%q2|Je~*?pp*6g8c%Co)fM*-4SJCUezvSM{92xSctkgH^vQJ(6F$izx_kiBi zAdkZWEP@MVFUD?aC^Pgzp3Q!6ZB)^By6t^|{g~}y)`DBn54w{t-J5zwHR01c5*Y9@ zPc!XQ=@5sq$4(8~RyXK0(R;z+y@yV{H4Vrr+0*UY-0CMbp-nV?_V4rsuWXIc0DRn9=6XU+y31Z0>zKJ?NQw^SoiO74H+lE}9D~{QQY=1)~ zDn8fuZM^f_;5VIN*S&6dbsrXtErarVE>#wWFw@`@{J0;b@V)nY&otKh+#)M;9LO|T zZxe~XwQ-}_@d9ngSV<==im3}k+=Gq58;@-NJ*mu8;)1nvNg{`+G2{j{wXDPUzmuyh zc@CbDri^~oJ`;ZTm)CpGqL`(2|Ldqe6{@JOPc4@(WMfR~*<)R4L)Fmoo%~dGl~d#$ T-{oQ6NXTSjtm#x5t-JgQrmFy# diff --git a/hw/xquartz/bundle/Resources/hr.lproj/locversion.plist b/hw/xquartz/bundle/Resources/hr.lproj/locversion.plist deleted file mode 100644 index c599a1694..000000000 --- a/hw/xquartz/bundle/Resources/hr.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.5 - LprojLocale - hr - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/hr.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/hr.lproj/main.nib/designable.nib deleted file mode 100644 index ad65bfd70..000000000 --- a/hw/xquartz/bundle/Resources/hr.lproj/main.nib/designable.nib +++ /dev/null @@ -1,758 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Držite pritisnutu tipku Option ili Command tijekom klikanja kako biste aktivirali srednju ili desnu tipku miša. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Omogućava X11 korijenski prozor. Koristite kombinaciju tipaka Command-Option-A za uključenje i isključenje prikaza preko cijelog zaslona. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Omogućava stavku izbornika "kopiraj" i dozvoljava sinkronizaciju između OSX memorijskog pretinca i X11 MEMORIJSKOG PRETINCA i PRIMARNIH međumemorija. - - - - - - - - - - - - - - Onemogućite ovu opciju ako želite koristiti xclipboard, klipper ili bilo koji drugi alat za upravljanje X11 memorijskim pretincem. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kad je omogućeno, izradom novog X11 prozora, aplikacija X11.app premjestit će se u prvi plan (umjesto Finder.app, Terminal.app, itd.) - - - - - - - - - - - - - - - - - - - - Pokrenete li X11, izradit će se Xauthority tipke za kontrolu pristupa. Promijeni li se IP adresa sustava, ove tipke postat će nevažeće i to može spriječiti pokretanje X11 aplikacija. - - - - - - - - - - Omogućite li ovu opciju, također trebate omogućiti autorizaciju povezivanja kako bi se osigurala zaštita sustava. Kad je onemogućeno, povezivanja iz udaljenih aplikacija nisu dozvoljena. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/hr.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/hr.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 135e47552f4fb3858576641ed783b3bcedf2b8b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47817 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

*Q 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 diff --git a/hw/xquartz/bundle/Resources/hu.lproj/locversion.plist b/hw/xquartz/bundle/Resources/hu.lproj/locversion.plist deleted file mode 100644 index bbc165286..000000000 --- a/hw/xquartz/bundle/Resources/hu.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.5 - LprojLocale - hu - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/hu.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/hu.lproj/main.nib/designable.nib deleted file mode 100644 index fd75ba8bb..000000000 --- a/hw/xquartz/bundle/Resources/hu.lproj/main.nib/designable.nib +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kattintás közben tartsa lenyomva az Alt vagy a Command billentyűt a középső vagy a jobb oldali egérgomb aktiválásához. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Engedélyezi az X11 gyökérablakát. A teljes képernyős módba lépéshez, illetve az abból való kilépéshez nyomja le a Command-Alt-A billentyűket. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Engedélyezi a "másolás" menüelemet, és lehetővé teszi az OSX illesztőlap, illetve az X11 VÁGÓLAP és az ELSŐDLEGES pufferek közötti szinkronizálást. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ha engedélyezve van, egy új X11 ablak létrehozása az X11.app ablak előtérbe helyezését eredményezi (a Finder.app, Terminal.app stb. helyett) - - - - - - - - - - - - - - - - - - - - Az X11 elindítása Xauthority hozzáférés-vezérlő billentyűket hoz létre. Ha a rendszer IP-címe módosul, ezek a billentyűk érvénytelenné válnak, és így az X11 alkalmazások sem indulnak el. - - - - - - - - - - Ha engedélyezve van, a Kapcsolatok hitelesítése funkciót szintén engedélyezni kell a rendszerbiztonság érdekében. Ha le van tiltva, a távoli alkalmazásokról származó kapcsolatok nincsenek engedélyezve. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/hu.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/hu.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 7faea00f642dd3777135ff6159d3b25249623a10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48809 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∈SMij29LV#t##O3By9dD#CPOJz=oJt;NEY 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 g>f?ORty8K3g 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 Hy4(IARG%CE diff --git a/hw/xquartz/bundle/Resources/ko.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/ko.lproj/Localizable.strings deleted file mode 100644 index ba3bd7e0330213d8c8f6ebb5f54be68b7e79ca3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3698 zcmcInO=w(I6h4bCN^zkJA&V?7sR|Yu<61;RBZx$?)#3;dOfyM3IDckdniPr~5h`?{ zkcCSZ3JJWHIy0q{G=-TVGw%&Vm}*~FS!9t#7cMJgA?o+tJ9qAz$)vPG7?OGK-g|!U zcfNDxpMT|bIU`CYB`q_Ok-RM6&BL3Aw>dm7%O!m0@br}|>2>br^tm&TJ|$z2&SU=y z{x9Ks5$CBZgB8lp;IxM)PoJ_{lqBU1eBOq$hpQQ^1Moha%5)VN&=Z%*km zZ^F{4q24}?hZFFD-sGjwjmB74@UDPQ1~JXznX%<@wurOKcxDs|Z}h!@r?h18nUfTr zczRAp`5JZ@WeVRm3r?C@E#jm(Lob%Jg&Dc5H7QuWq~#azUX+B(Nb_;^B~ih((yFM< zwaOl3yM71fTI-^s6V>S(2Y1#2Uid zYJQZZM4%e`l~+q)XW>9P}CXnwD%Sf=8n&IvvD5&T8zAln3=Cdti|`U$W99D zaU8_<5%uoIRZ)%I;D;#vOlWvE|A>&I(4h4F5EH~U5zKpHG`w+(Boll5E{S>0!`FGN*Qqj3hS39LBn4o~#KAd*kcM!&SJH&!w|FKFK{!vd?6E7V~y z9Ix`Y$1YNPzr(9#FfY_@vOy0$*jv=uHEY(wlRPr9Pat0gGdb;PT2~Btg%xKjjdjbr zV^pzxoPPQAh)iJpORTc$xN9QH0kh^Ld21dSS?sR#-{t@Jet^@O9sjzhn%`Ovz7LYD z#Zq{G9QEtf>g8?Xn{^o_%iGn@MYUFUZbZ|l&qFmHTq7gudIdIkZs;j5JOOL<&TbW2 zDkJ5c=A>#tUaRc9@dHOkW1Yj#B0{C0i@*A${Od7BYN z$>yJfdis5EJnz34jz(XgxvsC~U3c?fC4m|6S4bHq3gqRtE}>(}%OVI*9j-i~6@m_3OtL z^#`yxi>$w=Z5EtW>F$)bTeXeOvDrTdCLrteYLL^!P-_+!L|E^1bFvh+RtL_1hFHjI zR>HjZWLhT&&VQn@m(@7rEaW5ycX~SRkKaA`_4xrkA0v(#pqL!W`C~N#O7u*le3yqUM24rfcMmy z9@+dpO#1g+Uo#!_=6HyV*&MVI{#xauBY&yHk;q>UoMy7nZ>HWf(3{4}Vjs6Wy-bfg zdfm~Wq`#kC0CS{JPqc07kEr18O_x>DQJ(ZNz@B*t|8H U - - - - LprojCompatibleVersion - 106.3 - LprojLocale - ko - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/ko.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/ko.lproj/main.nib/designable.nib deleted file mode 100644 index 2b8e368b0..000000000 --- a/hw/xquartz/bundle/Resources/ko.lproj/main.nib/designable.nib +++ /dev/null @@ -1,752 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 마우스 중간 또는 오른쪽 버튼을 활성화하려면, 클릭하는 동안 Option 또는 Command 키를 함께 누르고 있으십시오. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 65043025b457061ae7feaa54dbe21a1fe7cd18f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45555 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 Yfd&7&z@cy7|2;{I|M&d=zk#Ly2N`5xg8%>k diff --git a/hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/ko.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 041240a6b9f8924306c91be832920c9e38218f73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45580 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 diff --git a/hw/xquartz/bundle/Resources/no.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/no.lproj/Localizable.strings deleted file mode 100644 index 9281516ac93db8c2bc675c7f466ee6c11a22b581..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4480 zcmcJSOOF#*5QXoWU%;{jA`287WgSJ)h(U=Wfy5&(DI3qUZOpXW#@!y6P5$lt2UbbW zSLMpR?Xl62fUFs}@2gIoI#sv&ufNly^e|QFG%eC3HEEUR`qk@KuU}I=ze}(6-RkLW z+S)j?t*v{g-FMPG?OtjAO8>X|-e^5%H5y_6M5}u}^|mTbsnT!h8-2dl{wjT^zkBJ4 z_ExF3Q#x6>&}V96>vXM|iJjx~mzr;E>@szF+G?&h#QEHBh3?Kl4{zhuiE!h=Dy?@6 z_{rc{>(dCqxnWvpO)C_53o3AR=I>fhi?q~dD!AJmP$OI3BUXn(U16-q;9L zy3Sr0J9T;?OQF*zLI+N)m-9;@#Me@bKbYdMN;LE8k$hqGRz9=-IO43aPeY0Bj%lp2 zsG~Hpj9eo6_=Ju^pUyz35VDUv_I*UeGscxmTxXhd9l{P;?M&knjgB>vPtPg^gKLMU zY-6}PGM}0Pax^$q)UgeVu0PL=vfh-4v!@Z|!#TLm3#U69*z9F*W9<4^Sojzs_nn+_ z<+Rcjsz9}o$C1BO17e3)1t0ex+`pSnG)^@mmzi~sS}E68QbA{8WV0I?#`3?TFRLq6 zcvt~kPelAoIBI!@7RXkwwSgk?+H;4BNd5aDPg-%oZQyr=*Xd54zR}1=Cov9(agt{g zH3c?Mk5^1Td4DI-^9*!us4UouarQ?QZI!WjGV~AxcokL1&%yFq_&53{j*kAqd}jye z%=CX^RS#|$ab~XdG%u<{_!5{Rj>oaW$Ej3;B3v=#0~k;!ctCt6n_FXvlPAU%xThNP z)jUgY|LQBa0%30%=8@TFpPS+T`!KA1&%_S55*&Hdv)agY>MJ$s%rXGnbB%I4!7YqL zmG=8o11sv8;HFXbLt?6kF7B z^#$2@D$D2M;YY=%QLf}z_{>Q62|4a_uCowSG@k%?WY3P>d=e_$g`IMV8C5D&s&bzCvIIhxrI~$+52mBt! zlJ{L1sdw6RfK&pss5+o0_IpkB4*gGczvCOH&a{e}H%@1d?b zprg#*sZPL}-HR0y|5pyqn6!%Pp+xaWq8gEYxK{mqqXVHW9q#KOy}xTRbLed9$V&~Tg~zA lF!WcY;b~( - - - - LprojCompatibleVersion - 106.3 - LprojLocale - no - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/no.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/no.lproj/main.nib/designable.nib deleted file mode 100644 index 077f5cf54..000000000 --- a/hw/xquartz/bundle/Resources/no.lproj/main.nib/designable.nib +++ /dev/null @@ -1,756 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Hold nede Tilvalg- eller Kommando-tasten mens du klikker for å aktivere den midtre eller høyre museknappen. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Når denne funksjonen er aktivert, registreres museklikk i inaktive vinduer når du klikker i dem, i tillegg til at vinduene aktiveres. - - - - - - - - - - - - - - - - - - - - - Når denne funksjonen er aktivert, legges X11.app øverst (i stedet for Finder.app, Terminal.app osv.) når du oppretter et nytt X11-vindu. - - - - - - - - - - - - - - - - - - - - Når du starter X11, opprettes det Xauthority-tilgangskontrolltaster. Hvis maskinens IP-adresse endres, kan ikke disse tastene brukes, noe som kan hindre X11-programmer fra å starte. - - - - - - - - - - Hvis dette er aktivert, må du for å sikre systemet, også aktivere Godkjenn tilkoblinger. Når dette ikke er aktivert, er tilkoblinger fra eksterne programmer ikke tillatt. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 4a7ff917f0bb512aaaa60298dc16de8da4667610..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47125 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⁣A&RLx;A%VHO6Y0b{7kB=rb9v{=&Lf?dJFj+L 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 diff --git a/hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/no.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index c4c6915e034665fe17b363a70832cffdd6f34d1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47150 zcmeEvcYG98_xH@5*)qGE*-7Yq=|xHsT0oElLJ1ubdI?LiNtPtLad$&U<|3j9ii#pC z3euz~SSW(1hy}4A(iKH4s3;1G*id=D_s(uM4StV4{@(YWclWcqvoq(mbI(2J+;h&o zcXCmIHyDbKKPrd<5hOttOoCak2#(QBrg{QFuirPOi93*$=f%H_CLw>(=qCQjQ#@Ir zV4NT>Se2%*yF;FlMy3<+ z$jApb-I}P2TVthoAx2Pzrb0`hl@Kp<5R!y>!eU{GaF1}W@PP1$@VKyActY4Myddls z-V_c9?+J&5Bf@dvW8t*$sqmR_R`^l4B>W^?7Jd_c7p{s{(J5+TRk4OxQ>-sG5u1u_ z#Li-p*j*ebri&TkIB~o1HV)O_iuLPr6kqkmgJ2(rwZm(qd_ebieeVv`TthS}kpq zo{^rFc1U}qH>Cs8LFql|uyjH?DSaq?EPW}Rm%fuOO25jYY>};UjI7F4@;vztd7->SeoTHs-XQOh_sVa{ z2j%zVL-PCbN%=GRbNM^@d-+%SH~CMKU=mFhlhve}oTh4~>ZZD;8%!Nc9ZlU$H<@~v zdYdv#BTN%a6HS>Wk11p-Hq9~JVw!8Z&GeAzVbdd~HKw(u4W_3|TTIWGo;5vhded~o zbky{v>3h=!(?!$IW|P@$R?SYcX0C2-W^QioZ0=!BHm8{Tnn#*PnKR9k%x-h8d8&Du zd9GPEQ}gZS2hGdP8_my{pEW;c-evySeA@hp`HcBf^Ec-2EyQBB#969X>R9Sp+F06J zdRY2e`dQK}!z{xs>6USp@sd|>(1@|oq5kZnZvbeZ{)ZdcgXY^+W3^>u1)_tzTHr zTF+ZAD<;LP#3-s#UumE;Q<^KCl_aHylB}dCJ(YgSP{plGR;DQV%4}tha+|V1c~Dud ztWq9VRx4|i^~w{<24$nNN!hGCsccoAR(2>ml^2zll-HEkmA935l*7sq2Dt)s1z z?M7QSTZ*lxt*>p2ZL%%PR%r9t{I-y7zU?;KV%uG|yKPHt_uC$_ZM1E&J!^Z;w#~N7 zw%hiyZLjTh+Z(pGZSUCLw;i^fu${DhY&&iH-1dd-ob4Oi1=~g2W!ulTE4DxEqMg_+ zcB?(cuG*{EtJ-VXYug*xUG}E-X7(HGt?dc+M0;m@lD)hACi@5WkL(}YFW4{If3W{( z|IHyfOb)Zd;;=bXhttu>(b&<%(cF>b=;G+=xXF>`=2T#7jk zmUfUFS9eK|+NQ{-)!pg~_V3j_>Wk`2@;UWob+7u0x=(#oeNBB`eMA09-LJl>9#G#> z-&WsI-&GH)@2Q8>_tnGd5%s8gOg*li5Lc)t)eqDU)l=$6>c{G7^%M1s`lJ*R%7eyg5Wzf-?gFQ^yQAJiY!OX^SRW%XzE7dc1$RsBu}@2o73)eIAffu)9KWlvCcSW6=zjvHD`5a4QEYfEoW_K z9cNujkB$@oipB<;7oM3cXn`g zbarxfb|yKyIJ-J;bar!gci!ae;Y@a>ID0yKIa8gzoqe2ro&B6?&i>8;&VkNB&cV(h z&Y{j>&f(5WbF_1ebF6cmbG&ncbD}fTImzjEPIhKFvz;Dijx*Pp=kz+K zIP;wa&O)cp>30@6Z*~TpL1)NW?40VH=A7=F;hgE5<(%!D<-EtabVL(haY4Z;!6|4$tPm$u5vmH+gz7>Kp{7tvs4dhH z>I(IQ`a%Q2g-;`)vCw4X;Pl~se`vzs^j?0S4{{F@F*ts3`Ven+aHPAS*c0R;aEKuj zjXMAi|A%D6^IC(`Q?jx=!Jv1tx4;{kQ97+QIDMoS4+=b^yuNJzG=SHr1ibQ$!d3DI zf+L$`6}W@Ju|~xhv`%yjC4(p#K*&1X*s@(!;_HLTjOo&~~hmzYkEOjZ05(B9aydL;gaev8w^sZgiyShlKfLaNYP=p*zM`Uz=5e_?qm?6v*W(l)}Il?W%TtU~ZdW_y$pQF#!U)SH)kLX|P-{|M{@Ab?26)K8UbWpJ> z6>C$mAr+fbu?-bFQ1JySzDUKFsrU*NU!~&fRNPO+15|vQitkeKJu1FW#iLX_PQ{Z{ z{E&(tQSmet&rtC*DtW47A18ksYgizN*Yqqn3ATHG^eDc-tri_=2l_8aGS6|xE*xAP`FcAgsw~X z7YDLDAc0g*Fy!@d5*Rf&eV}`?ryx^nivG^?7G#6!LIHn4fhW)_;NdXoo&t;ve}EH_ z1C*!ec3m)N>@J~&ZUbG7PDqF*9G#66xljiUdbm$mnyFPCoIcn)c}Q`nz!NGV>@~uD z!u>)!kQ$zq+$~@K<-$Y4BApei>Nn`n30DY@qKS_QD}`04e})%%g3t$fe8p+dMuWOj z*Ys8y_&>v-wlxA>EvyyR>9KkPz2%3(24SPH2{~*Qo)n%EwjjT)!qdWX;aTB1VVkgB z*n#gI!Y*KHkk3=-_j$7h`m?|)SP7Y0ELVwp-(2jSI>?_r$Q{fFU|KNUQ{)b~fu=DS zB)+slcdiG617np#VnCz?Q@uepB(mA)@J{z+bD+4nSFc{x)i^LML9egqRrEMTkJD=p zJud7KUKCyuUKaMEuCECDghj$@_`ESbttWcWo9j#W&SVWQ8R1+fHy-hQhtjWFdJX!gL?m+$#;VsnU zZQ&i^UEv@b`9V}*s=I(+7J0I~?gG7rUQ;8ZXC-uK?Mi4r#~^_Bg~P~{bI;Yn`$9Y8 z?or`brUnLSaG6NmRtrakc4eD>f;as`)^xotuV)=rPo9|7kK-~u1bT~9@Do-+y`Elk z6t75!a6LX3zCcx35=JMhh0ld{r%H%{k;0e4S0IM3OOeBN;k@u2-WP<6!Y+)V40j;c z6G9iK7f&ukM!1#2r3PrTKKibq-WYF}-bk-Kc4)w#8*mpEdICcy1`Tinwrhlhe-?fb zR_RUjrh2PV&<4?7VMP0f@TcBPZ+>l}{jNOGqV!Tkbh1qI3_3TGpkZQ+u#187YPZm9 z=Yh9+!7q!zNrOVr)r|L(7%RqscEapDB@l4WSc7|2gm&mt{?`DjCRPs*k=0@~h>C1~ zRz5>@xzQ}v5$lFWa~plOj^3_`(Y!)zAgmG_ijBm^$b>VRR(d3x6<3=@erfzn*{o#*h5SfQ^cNPFELf@E%p)niv7eivA^Cy@1%FpyXrmk zWWAT3s`u5?^a1)nz2ylsa3i{b(HHB0=fp%X8&;cPs7HO2�!OUVG$_LKiAgNtYo7 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 diff --git a/hw/xquartz/bundle/Resources/pl.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/pl.lproj/Localizable.strings deleted file mode 100644 index a2b422216dea0c35b3c86f689a09abea3412d883..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4232 zcmcJS%Z?jW5QdKzQKUQp%T^*-M97FWLXnvuu}KI?P$0>s$MzVK5@=|Z}wA62!CVJ!c)bRLRC*U#BGw{mP;J?*Pzk?R7 zNvP9r#>sJjex~&{4GZjEXbpO3u#il+to0858&(|ez!k@gqbCF?kK zi&lzYze$u`2$4;<)A!|n*FINQB0Fcl-=AIEj@vDrhF^iJYk)Ga4_s9bpL+z>+BnRcnDR66_+^^fSK zx9p34@kHx`c0TB&U&a1kxmZqDs+0j&wRmYrfCE`TY@id*{f`wd`-$O%J>I{HC5L6W`RZQfY*r>?oBRXPMGtLXQ}CC z1irF7Kk5FOkhNBaRDWZ32+jLixfGCxVx^zU$Tr6}U;hh_PQdKYDp$Qbd-i!p_D+h$ z8Cm8C>$PTO^x*J2)^+_^xZ-n;mSXRrAr^%HtW(1G)ejWT#7=Z$^y@ucibj~%Ssy@>?YT%jW v+gSF;L>l&0sn2bw{4T#ipIJ;Y+e`*TXe+r3;!DrQutGN9!yQM-HEsU_xo6WS diff --git a/hw/xquartz/bundle/Resources/pl.lproj/locversion.plist b/hw/xquartz/bundle/Resources/pl.lproj/locversion.plist deleted file mode 100644 index e4b083f96..000000000 --- a/hw/xquartz/bundle/Resources/pl.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.3 - LprojLocale - pl - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/pl.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/pl.lproj/main.nib/designable.nib deleted file mode 100644 index c95374fbf..000000000 --- a/hw/xquartz/bundle/Resources/pl.lproj/main.nib/designable.nib +++ /dev/null @@ -1,754 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Kliknięcie z przytrzymanym klawiszem Opcja lub Command emuluje środkowy lub prawy przycisk myszy. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Uruchomienie X11 utworzy klucze kontroli dostępu Xauthority. Jeśli adres IP systemu zmieni się, klucze te stracą ważność, co może uniemożliwić uruchamianie programów X11. - - - - - - - - - - Gdy pole jest zaznaczone, dla bezpieczeństwa włączona musi być także opcja Uwierzytelniaj połączenia. Gdy pole nie jest zaznaczone, połączenia ze zdalnych programów nie są dozwolone. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 42d40620946210c13a32ab401053321a4ec77bb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47775 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Mantenha pressionadas as teclas Opção ou Comando ao clicar para ativar o botão da direita ou o botão central do mouse. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ativa o item de menu "copiar" e permite a sincronização entre a Área de Colagem do OSX e a ÁREA DE TRANSFERÊNCIA e os buffers PRINCIPAIS do X11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Quando esta opção está selecionada, a ação de clicar em uma janela inativa faz com que o clique do mouse seja ativado para essa janela, a qual também é ativada. - - - - - - - - - - - - - - - - - - - - - Quando esta opção está ativada, a criação de uma nova janela do X11 move o X11.app para o segundo plano (em vez do Finder.app, Terminal.app, etc.) - - - - - - - - - - - - - - - - - - - - A execução do X11 criará as chaves de controle de acesso Xauthority. Se mudar o endereço de IP do sistema, essas chaves tornam-se inválidas, o que pode impedir a execução dos aplicativos do X11. - - - - - - - - - - Se ativadas, as conexões Autenticar também podem ser ativadas para garantir a segurança do sistema. Se desativadas, as conexões dos aplicativos remotos não são permitidas. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 455342a63da7c9be6e8136feb926abbcdd2868fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48133 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 M{O|hzzxdGq0hB-Sq5uE@ diff --git a/hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/pt.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index eb61330125b327184756c7339198231ea5e4ed1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48158 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 AS^xk5 diff --git a/hw/xquartz/bundle/Resources/pt_PT.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/pt_PT.lproj/Localizable.strings deleted file mode 100644 index b313d58dfffea29afceb75e0a3d110077d4c3bdc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4436 zcmcJSO^+Kz5Qh7lU%+vc2o4ci#2F!EB}iNdOEwWi;^MWv8-u?X+u0-sek&-4m5?|^ zxdQJ~HMP~_wUdB0vTVI-AIs@;O9j#Hg%%Gfw2pD%>w)?SU?M~i`Qf_Pb0CM^&)lDE=lCaEJm zqyJK8*E)NlXEX&B`mOXdEpvS)LWfPkj3qwR4we|}KP;8hSblBVaRwAylQ1mLj8h}Y zPmTUu@9T0@S?!T%$Jzr={3hDV^2R7q8$5s=;RCv#MKw3tQ@yoXb1p0Wx7{8(rAC}5 zCZI+yxM8zaIQacT??}N)Vf*PRxitM}(-(@8Hn{VdoyJu#d4InXCH5q%hSM&f@%N^~BI#KvL+ z|C2B7U-vE1=J^r%SH}@+WVh3;rSnWai1;QG&a~&ziq1sz+A?9N)g!GW_l#vQcsB5q zGWyhkhe`wTm0^D-2~-hQ;NkgGSD_klY8sy2pQ*ccfxE{92se_~nst3GB)kog>pr-O z=Y=7iTDC^EN0w7F@EuxJ_PF!$osY^u>%VA~jAz$1S}1z`B$0I{i?rQJ-W@(A!~3SM5TC(@%8ckK6F#m_15H@+al zs3A!7SfV2Eh9#*wt;LDQq@QxWQFq95KM&1*%`UY=+nZ@1oV zeSKg&NBZ>+=6#zySc?19P*PD&EnevW=UQC|H6FndQCGxBaHc z_UIbdGwm~}AC;dZjqeXeLH)ZhtMvOW6+JRItH+`Fmfk>bT8JAne4@r`i2Nn#SD zQ#IC6phDNB`kU*1rcOqk@X0YcFmr=f>vy58d#qRWtm`qeFd3&Eu=6^{F{#tgCL{`*Xg4(r&mic5PDmo!iUdI>K^BExS zMmMEl#vvHej`xKIYaxeQ;JNh1QrWGqdnO~ytqf|uL{-vp-#Qh?JQJDAY%rD#zd?Bo z$8WE#PWWU;e7_V=pDjT~Rr1NBKS%7|TLNJ>Q=u>uO9Ko;Us4 z{#af{FJvRfZ=S?PR-mT&q(X4dVt-_H$0w%9nWpr)9m#w3P5M~6EM=LPLCJFBi+d@R R - - - - LprojCompatibleVersion - 106.3 - LprojLocale - pt_PT - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/designable.nib deleted file mode 100644 index e7b50c1b4..000000000 --- a/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/designable.nib +++ /dev/null @@ -1,757 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Se estiverem activas, as teclas equivalentes da barra de menus podem interferir nas aplicações X11 que utilizam o modificador Meta. - - - - - - - - - - Ao clicar, mantenha premidas as teclas Opção ou Comando para activar os botões central ou direito do rato. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Activa o elemento de menu "copiar" e permite a sincronização entre a área de colagem do OS X e os buffers CLIPBOARD e PRIMARY do X11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Se assinalar esta opção, ao clicar numa janela inactiva, o clique não só a traz para a frente como activa a janela completamente. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Lançar o X11 cria chaves Xauthority de controlo de acesso. Se o endereço IP do sistema for alterado, estas chaves perdem a validade, podendo, assim, impossibilitar a execução das aplicações X11. - - - - - - - - - - Se activar esta opção, precisa igualmente de activar a opção “Autenticar ligações” para garantir a segurança do sistema. Se não activar esta opção, não são permitidas ligações a partir de aplicações remotas. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 80631f1fba54c4598c9e4800cf625203c733830d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48365 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 diff --git a/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/pt_PT.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 92950c47b1ae086ac040fa0353a2766e8329059b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48390 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 diff --git a/hw/xquartz/bundle/Resources/ro.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/ro.lproj/Localizable.strings deleted file mode 100644 index 08977a35a3f0333ccfb2c4148c84122c02a61b37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4486 zcmcJS-)eIclX+J6C1`t3EpK|_4c~t zEc`3|%%$~I&se|I*;Z$-^o*UtXV$IsG!wpsB%JAq(^K=qr`o{}XZjz0D!1`_tCM~P z6dThpNtY%mOY>{Hf1&p_jVhnL&|TN#NPC>-9nc{)EIG5=$eQ)~TlSzSiFk__dM9mxWhg|l1t*n{rZt$77oomn8>5+ydFn^-ek@kx8 z!d);p`*|ulhoIXs&x`sC8aR*(@qE?%n<7fU1B`!jRs7xcL|(Ai1f+Pv#) zq2Zqpx$R?l!Wq;U(wSu^RgV0Ktfoc~JFKew@!;bJAEvR^f6*!#&aPY3^ts}A&gGGH zzp@?6|Bk*?*l(p7uhmroloLY)BgkB$L@cN~>;w+4!mU=RAd7Tj7J}=Yv&rfKH>NtH z{E;Wf7y1SjJt{|$Nd5;O(MfD}?`O$i)j5Jbf8(#mjcP;nQI1=u06jGnTd?AHJ(C?n z+mV1gm_dm`&K5YX+9|1rc?5%2LaZBoP4&zq9`AZ< z!DpIv0^DA0@tS9UzUG*Buuk~s$DB1*_4hzMv>+mUb4#|X-ZR;VpO<0Jeet1>&xbN%~eIJkBre>yxrJ5rg=m=j0omG1HTqupQv zzcQa}_i~>zJd>kt?C-?*b0IYJyTlz=2YQa{ff`QB@z?x6-NA o9-ql0Z*tm}Hd5uRzsTv+@_o-OX3C9LY?8BxGLf36q|bWL-@B#ph5!Hn diff --git a/hw/xquartz/bundle/Resources/ro.lproj/locversion.plist b/hw/xquartz/bundle/Resources/ro.lproj/locversion.plist deleted file mode 100644 index 708118a56..000000000 --- a/hw/xquartz/bundle/Resources/ro.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.5 - LprojLocale - ro - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/ro.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/ro.lproj/main.nib/designable.nib deleted file mode 100644 index 7ec5325ac..000000000 --- a/hw/xquartz/bundle/Resources/ro.lproj/main.nib/designable.nib +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Când opțiunea este activată, echivalentele tastelor barei de meniu pot interfera cu aplicații X11 care utilizează modificatorul Meta. - - - - - - - - - - Apăsați Opțiune sau Comandă în timp ce faceți clic pentru a activa butonul de mijloc sau de dreapta al mausului. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Activează fereastra rădăcină X11. Utilizați combinția de taste Comandă-Opțiune-A pentru intarea și ieșirea din modul de afișare pe tot ecranul. - - - - - - - - - - - - - - - - - - - - - - - - - - - - Activează articolul de meniu "copiază" și permite sincronizarea între pasteboardul OSX și CLIPBOARDUL și tampoanele PRINCIPALE X11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Când opțiunea este activată, clicul pe o fereastră inactivă va determina trecerea clicului de maus prin fereastra respectivă, pe lângă activarea acesteia. - - - - - - - - - - - - - - - - - - - - - Când opțiunea este activată, crearea unei ferestre X11 noi va determina aducerea X11.app în primplan (în locul Finder.app, Terminal.app etc.) - - - - - - - - - - - - - - - - - - - - Lansarea X11 va crea cheile de control al accesului Xauthority. Dacă adresa de IP a sistemului se schimbă, aceste chei devin nevalide, ceea ce poate împiedica lansarea aplicațiilor X11. - - - - - - - - - - Dacă opțiunea este activată, trebuie să fie activată și opțiunea “Efectuează autentificarea conexiunilor” pentru a asigura securitatea sistemului. Când opțiunea este dezactivată, nu sunt permise conexiunile din partea aplicațiilor de la distanță. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/ro.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/ro.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 3e2bdb9e05cdeed3ecd2b860f43eea86e1d6f26c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48827 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 diff --git a/hw/xquartz/bundle/Resources/ru.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/ru.lproj/Localizable.strings deleted file mode 100644 index 736cd94eaef899356ee0c514e15035979143bf6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4582 zcmcJT+fQ3Z5XSdmpYn(*wJ$BFp!6YXsks;o1{32Ts34%Gt=dX`A>k6MV7nMX^3p%O z?f08G%N~OvG!jC`=j>&!JM+yf|NI-i56?moUW9Hq2&bVRPBgmE=t83-eP4yQdiV78 zSGcr!R(rPZnW&$HDN*;e{z1Q&dY@}QyiPR({egC0={0n9ERHId(h(2Bpify#;K6xw?==W@i5Gc_^=)8@(q4kk!N=F-m#f=jaqSD zzqPokKl!@!Rw3`!HB*=GoBCZVy$wa(xYWdDKW>OG)U(FD6J$lK>G5-0w^>eOUsO6b zt<32hdBeZ0^-ZH^gbdfKp>ssG&o<(|*>m^ljgQWudH=#Zlj74O?p5jOSF$%n?56z5 zS)6OGx_&0lA8NiDm6Os9KP=0p1~%zoyr`I49ifNnZoPBV{Xboa#Ji%dus9(0$U1V1 zc)&6uD@CmPp&Bz}BYEv~Ls@+)+7!z~{jt_OGVu}7JG7`j(Cmz6GWQ&}=-`phSC%nK zosa;GLGyv>{!S9W4`$%uxl+ZSs>a#Ubk^gu@}^(l?%qJd3&}e-@A_PlaGyqQdt3hU z`01IZUCT@mkIYUP4L)#oSXJ@I^wa4tLR<5HYL@I~)h+5Netjp1dMuBemouYh`RUqc zw4GEGSMh*M22mX++KTQb*`1^YJww^WZAlE0vgYmo}_RA7K*2D|n zm39ajT0#U+z9!0+W4)-g&t}nWS+rzam51kF;_e8wAS79co%n;KDkBYP;M@`tp%pyX z$-8PH+NLo&H>5=^?iruulBVh*X{1>+U(zo~h(sjpYksAq07WbM#E#~{zN$uh_##d~ zB`#ay;`I)VYF6*4d(X`q)Vn#WjE=Lb;CZ1oS4N5~h=rRL-kPHN=}KLfw|fluobn!4T|Yx}-C*`lw7NG%5$Q!*@QG7k(59Q*ko>eQudR zJg4q)oa_``#A&AelDyKmTJ3+Ah18cs;p0s6*{w7F*<$$2;+c*))81UkT&4^cR+X6` zW%Gs(Kgq%aEC!W!%u8ptX(4I*vs$@^xxJP6yb0_%PtR7nRrDkR- zZ0)Pkx(>&xso(}UlJ6vRF!bVJ$Nkz?tNmR)8U1+n1D-t<@7xt|bD;94PK2H_d3~rg z`p?`u-9CflZ9gSA-{>#w#Qb(aEL1x|>;_dq*Ph)=k{`Sq1Xtgep5f+#CaIh8u8i19 zRlM3IPgBnnk?Ly{p;R+Egmzh#y}EU*wl=JazR=!f#cvVD#niP2twy$l5JdZ?-8i_} zv~&ld{x0g_=CY$TukqD-%{@mozpP%=Icn#;blT82e9(_y?wX^ub3^=*OV5C8Dn6Zx z-%pD8ooHAqb<-Dhc7@8U@0)U(qTAAXu9}iwQn%vTN9@`*-W!s>;}(@YTE5GgkN2Mw diff --git a/hw/xquartz/bundle/Resources/ru.lproj/locversion.plist b/hw/xquartz/bundle/Resources/ru.lproj/locversion.plist deleted file mode 100644 index 47ad73bb7..000000000 --- a/hw/xquartz/bundle/Resources/ru.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.3 - LprojLocale - ru - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/ru.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/ru.lproj/main.nib/designable.nib deleted file mode 100644 index bdf93df28..000000000 --- a/hw/xquartz/bundle/Resources/ru.lproj/main.nib/designable.nib +++ /dev/null @@ -1,758 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Если включено, эквиваленты клавиш строки меню могут пересекаться с эквивалентами в программах X11, использующих мета-модификатор. - - - - - - - - - - Удерживайте нажатыми кнопки Option или Command при активации средней или правой кнопок мыши. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Если включено, создание нового окна X11 повлечет за собой перемещение на передний план X11.app (вместо Finder.app, Terminal.app и т. д.) - - - - - - - - - - - - - - - - - - - - Запуск X11 создаст ключи доступа-контроля Xauthority. Если системный IP-адрес изменяется, эти ключи становятся недействительными, что может препятствовать запуску программ X11. - - - - - - - - - - Если включено, проверка аутентификации подключений должна быть также включена для гарантии работы системы безопасности. Если выключено, подключения из удаленных программ недоступны. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/ru.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index bbed97423a28490c3335c9b1e19640230d6320b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48547 zcmeFacYGC9^FMy}?B23B$=)UO9tgcAA%V~n0-@K?iyQwcfQ6<~ z6cjAjuoqNBq^KxjM@2;u?DBih*?V(u3O~6VCUG6>^%F0{mL#XZpEvZN-d?XQcr23v`|_q9hGiMqS9L# zrlcujl_|P%L|LU=r(CbxrrfP;R5mHwlw$epP-`E^;S#aW{|THF-T=pSR%cc?aH+$MXc< zmG|a-_&`2_kL08HL_Uen;JJJjpUunoT)vPm;#cxz{2G2OU(Q$a8~7Uj9zVx_R29`w zy=rZ>iP}f)tM*d|sZ-P(HCHWBOV#=6)#?&;sal{eQ^%>-s4LX#)f?3{>h0<#b+fuf z-J$ML_o|PnPpb#i*VIGmTj~+@UG+Wnef2~2wEC_3o%)0NtEOtY=Fz;Gsnyn+YAv+3 zT055dG?3`dS*o@2hlatOy&j%yto9CtYGbll^(*RjK~+wq`duj66I6OPv$ z#~jBUUpl^b{NOm}_{HgV>dqR@NM}uFeP>%|J7*7PKWB=wzjKIll5?_ihBMQd<(%bQ z;9Tgu%6YYOiF1W>opZf&r*p6KVdo>xC!MF9A2~mEe&YPp`Hk~?m&2vIYP;&Vnz)*} zVqI~r6xUGKFxPO`IM;aB1XsFix+}vq$2H%zz_rkImFsHP64x@s@!c zwz}?d?RGuudd_vg^_uH_*9Wf8T%WrxxPEe7bThZ&=5E~`>2B=q;O^*7aCdbNbPsZm zbdPeUyQjNz+_~=g?geh)zRG>0`zH4~_j>ns_YU_S_g?pl?w8zexDUEdx<7P(?*77k z+Wn>btos+;qlf8{dQClAZ=tu>JLtXi-gABzYu;&ra zqn;-{PkEm6JnwnM^Qz~d=S|NM&r#2No)ex^o{v1Ad%p0T@qFX?!E?^@v*#DjpPq|h zT9_lu6BZU`hSdnG6IM5@QCQ=!=3&ucZNl1ybqebo79W-n)+4NESW;MW*!y80hMfxg zA?#e(k74J-eh=5e-Qjw;Cp;p&MtEd+%kWm=t;5@e_YCh9-a9-wd|3GK@G;?I!zYAK z44)J}Iebd^g@|_{+74>Nj3?E*Jo(y3##6@AVc#43jc1H!wKK+Z#`DGt#*4;F#>>Vl z#;e*-#sT9s<8|W=$Bg5~JI1@ld&(Wg3FCd^1LLIep>fLi z$oSa!#Q4YwX?$gTZJaT_F}^jvGtL^{8$TH5j315j#s%Xi<7eX+<5w-$ z_|5p;_`~?qxaehG#ml{_SMxf&POr=B_Uc}bH_RLEjqn;?uh;a}@J4!TdTV)Wd+T`X zdh2=XdmDHgdK-Bgdz*NhdZWC}yv@DQ-WJ}L-d5h$-ZtL0-ge&h-VWZ5-cH`m-WYGJ zH_qF|8}Ci0RZ$&U?Lgwf6?^&E7TRS`?J!<(*(&X0jSAlGS9j zSZ!8^)n)Zqeb#_AWQ|y3)`T@>QTS`lqFIaaBhtnc7M4yMk(N?ePyqc0%~&#ZMB2#Q ztdj8=d1by5sR~Ehy3xJ^VE=b$NIb7UA}u*H(^pcGJ0mwQw{$`1yXJ_r@ws@A=bMmQ zkX1Mj;B~73uf8CElM0JV#<$4K%P1+CY&VRcEpE94A1(Mu!8;2z4#HK96Kbqby9hq& zFl&WAw`Ogopkwsrh>U!nrCJ)=o?HamATxt{dYH9m9au-!X|i2@0iY(@m%ftA@M>8} zX<@$I*-e1!JTcJq!z>mR#IY`Dl3(MO+-*7S0uxwQpm2CuX$Jb8<}2OI5?D9ZdEAIJ ze6io`&crTrAnU<;vR%;o8B$mwju@u&y4PdEkAREL6vmtCK8^(sS5o{zI#YVF+ zERBt2RqLpA+&W`@Yn`=zuzs;F z3dJE5Qz-R>(nKgNh0qCV z?+E2Rp}a4YlR`Nql#hk-sZc%_%4wl|C6qHlIVY4~gz}r#ITMFJ<@V0`t7rdj@_9#emHCw`#vSsWV@cnYO zf~^GU(hAFpGksuz{=SmZ+yco06Go&B%b4NIOE+7B-Z{B>S>U?T;=;Tad(F|w>Q z&sSQ`*qhl+>=xD;tcGXhcPqDlExVnqw5VdkYHz_d+`#TY7w=?uvAfa!vAHM{j6U2~ zP&OD=X^G{vOsid%)<{dxdTS$Wj@!({CborbwQ5*Rt+wy6``9+N9i{AGJK6p00hGCm z?PhD)Lu?P*%N}Nr;PVl-57-)B;L9&8$juy9mQ$|9o!F8%*`%H%UwvFFCXR7 zKDQsqqJhShXx>)y7|apjEytr5|-U zCC8UJJ3pg%_S@_LTJjouoxQ;h(&#Ti1LkJr$;%>NW^P8FRoAL#@`;OL<2yvfc3EsQ z!CUMw3Y8Lc6MKtww(lNcN7GFRNn6qc+O~-uVVx^>{kZJHofTMcqyeJ8=*?t;%4trvcW zj=HSGe$9TTM}VC#u%Fo7Rtu}8)vlViY$pDVnD}@0ht>SSFxad<{<0hJ>$qqJgTtI}F&qqJ4pDebKoYqT}V%CP2JZ7)e(rJ=+Vbvh2e z@kCv#qrdBMR-6?}6ikC;3vEjeC0^-ewX?e5G4w3dpwfqlol0LNNl8}vDJe>SWq^{Z z3{(awgOwpxyw%m}ZuPK|tYoXdHNYBV4Y7tzW*(ZOvX1@RmaVUH3A0Yt4CjdnCa z{lrNLR)a#*t2JR!n6p*nqy(5T6VZU!Y6yz5NRU0OOjIVJv^d$TM5|k6f_BGjFfppt z=nj_6ce-kc5C$=$ zGyY+V-whqa%351}l~a9#a))v!+XstlY(}=9`UA~&Rw~iInQYQf8p;6<8lCf37}%iP zTh2oRt-;iJvtlXeD2a#|bb1&%I#f&e%l3gO?of7>m)Xo3YBk6MI{TnyF*<(cxzM_MDS2KicDR2nDgIS7;qMa`V4;4w0qeZ*jwX852qIiMU+ zUaufc(yTOV%q8@JU;Zm^DTg8d$6DhqE&r8ckpIeY`NO)*YFl0F&)Rh5D%a5ZDYEs`t#oRA129!zP?SVxoXuFHGyjYB z^9cNUE3`k;%Cu%s`?ItrXgNlAh{WQxc^zIC63b_0S@X&vWb1hYChp@6c_ZGKH{nfr z6mQ0xTQjX(E6*yh3aw(R)GDjCXFS5+vo^dfdX_1BmSbgG4YDQ2l5CL!dGx$$@KXME zERQRHd$u);_&pjDmuTQ0Xb=SbF-OW|vq$IuMM>-o?^#|_Gb`T~1@$mwd-otRW0aWP__I;Gx$(Gth^a>tRiYg1CTlissthygzn=P!4wiZ5yBtL2yPqjp{NWbKtW0g=<(V%|-dnDsY;u9tQX664rUO=Aga=bLN=2BxD zYLO&G(M0NVZ!LyJMb*MLd4-{2V<;Zq6SeNR-xo3*>gqBGJ-^H1zZ84C2*1S@M$AHM zp|yZUOg7X7nJ*Q`JfFwsW6UqIF1OlMg0RQU@v#zij z%&u5lK*>!(mjXuP*!(IM=yK&azfM}9I>hT$7P~B?sHh~pBrv6`Xs<5kH}hNk&`YdW zEcT(7NLwpb4%OB>C@JIP$d>?aOV&{-@>!E`4N7UALGaI4ng6U?ZtGnKSDCL3jh+3-fy!Q9K9 z@DIx^@b$xte>Ntxd7p3w*@{oNh)!kLKmU2{v{?5&S~rRKQfMzu#9N z9cliyOeoHUgCe_sZn5o>OE+tlx066}3(5-1(2jbTrWTa?;MK^>OT#P{?+o(gX6KY* zMx0hwM1~<%TnF=9xH%RSmX!|2+%31DWMEltmM`6G5@^w|!fg1&@@$xpYMY{c#TnUn zCEG?FP4!dZ3MnjrJ0K$uc=9)y=HYU-Ji<4h@KID)kmV~zJ5q}=#kQXYkv$eb$$6N* zgAYq(JN(6r@y#qN@s*_J7E7$!rO1v-3J@X(78jNkjVYX$R=OY$RW>Yd!Z^H`hL+~} zh?Yb~>8R+JkvTgX?-anblUG>m$1_nfxeTrfco7y-_oy_?X~zaQqb?yWEn}uH8BAd# z#*ei|mq3cdh;(pPCd!1|tkN9dVqkHu-3V~TAYTR$L>qMI!MyZXg}K# zOn?d@t}EGMux1DW;$-cC8@_@pdyY*+11hLPDS5d?C1VTw5jwy?QRT1OoH<~AQAPoU zN5>Wx=8XlY^%ADJCWEhGwQjA{t(V-`f)-};dvGx~T|In;~;eCR?4sm z)litV%3^R+CQ`>IFY1yI3x`i)*TwIngB$pH*{uuc)>_ECEq1qLmww^D;{UJc&>z$l zwh|mr&fe)}ZCknwE&^MR8y@XhmdSskYTr|k!nq~7VBKyL-;8O z>BQ6lDexZp{vqFhMm_;-5UJPkEo`M)m+e*SgVbLWaj9Ww!*#lKJ(>i>l1{0sHsx#8 zC}8hC{-D~7)l-|R(P|66L2aqFLYa4P4JUe83ish~$b`ZH1>*xHN(b;jsEV>;-xyzJA&OgwoB_xI8zMQs6vGi&2Ng=N zmI~g-VnX@Wf)U2uae@ztPJ)w^eynSw`yR3{!Grw-A0T*t3pfP$NYhM?Vod(6#ee)o z_dUzx4;9)C?O6n3$AMuNcZgaP+qFYfT;gIs*^|`dX)qRox@(J?WD{K4C29&2o7Mj6 z05#RR!P;XzhN+l3SRJAcRfnm=L8B4sNOctWf3G@5O;g7rjz1pP6V*xlW^{OP$$+ff zQj&3`{h*XnpuNfkB7GqTWyX9dG$G%>Mp8nP6vNlSCGv)k3c$#gQ1n7>fxOhM?beOa zNvo4&Urp6|NRLiRzy4MF8l5z9+Ktn3VJ&$_or;D|g9)-vy-ZD4r>hz23^h~D0(1D( znQAtOM@^Aj0KoxmT2xp}`r0odN@&bN+DH+E)|UgvMQRpHvbI?_TX$PGS(|FOS*BJG z6NHgR)miFnHBZe)%>`N@o#gC1O{S!b8%#+lhfzbBI#&f>Hh}QMonS%9rKQEWGs;SRCDxtR znzz*j^l3R-@HQlX^1{ za0|HfR^q3e+)~?cgRMX|m2YTFr!Mpp*S$NlHrj>Urmh97r2QuKHr5%&vARyZSzWJg zP;XW5RPR#nRyPt0k;OrDBUuAh&nwKPZ-IBMjn)>^X>GQ)j)DN)MQM7L> zO1=j*+^gP)R&G;oC4MW+hj9ei1+f7cWd{&sb+Xa@VpvK{RIGK6weg6$Q@vk(0PpWo zcdHMo4~@kj>JQ)8;FJ_JgzTg|Q@8GgmcMUgjT##mtFZy5e;x;yZbUy_y4pRRl0 z`k~B>0cp5S#PylEx#LIRI*BpfqNudr7+ep*bynHzaml#ufa?cl7N?HGbst>6ms2)~ zuHzX~>n+R~I|0`Xa6N2x;ZSxut{0`mdLj%uS>FXs32$VNMFQ6LmSlXJrf-g=@$nM=M|6 zK<zIEEFKj-oR0-7&WyZv@qqgzHy)C9=Qx?sS*tj2(pgakw5^T0EBCMSGmfX6B|2 z#&s&Lx91cOqWkEt^K4O`TbVDr4-_izER1iWyzWT8atuJlqOpdgO5Ul{tTYy;A%KK zCGX5f3-j?k1$WEvEF0IMwZwsw;*beIt+m@g I#{k0V0jVxK0{T}txZd(f4T!4sw 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 diff --git a/hw/xquartz/bundle/Resources/sk.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/sk.lproj/Localizable.strings deleted file mode 100644 index 857a5af731ea3570de5425a38942657795802bb2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4352 zcmcJSJ8xS@5QUemfgo+lg^Z*y0tTrA!w{SRX{oasT-@d=nmp7`_j6s6s!C!kO+G-8H)F>H0Ff z)&HTc{s=RB&fB4_d!*eD!hv>=^!`eJXZk2%uJJGG4zI?#s>47(z0lPat9$1E*Ls8hUHwn|}X{6Fn>655z-P&r4+;n|C*gl&hz!HKtVKU|_n{Q7o)y zU6R4BY_9Sdo4Zp+qal!wO?`8nKpo(TE6Np?St}7|PgA^iXWce0Sa&u+*yy~8vFp#$ z2_Hh#mW3D&#g}VnXiBdw^Qc^8Zpv8lpV;A5!Ny0Dwj4p%@_ebcUh!{?Az$IjnTv5_xAl35 zg+J%2QN+ZvsjO~18(T%f1AHe3qOdK6&8u0$a~Blu?Q>aJ$v&2;eo@u#Z>xT;ah)7y z;Is~f8ZJyvsG(l_(l;dJ7i`7%8gjm`WcNmjbPJoPQ~aFGyP@B#XGg|KM}NI%d4I+t zm}+_Fb?3xXjhfH&6pyL4aFJ>-`9l}GEIQM3vqB}pi~Bs8+2Tq}dLD1%I94RO<^ge` zJKis%r$Xa--!ItsO^nTyMfb_YGo9QK3qLA8ed#mT24X=!>Gv)bw7R#%E*P3bDx2&G( zJ(GDm{4Ou~{l#`r6)ugH%`RPLa;hM^dn}9&go;iEf6VL|WuDkh%d^O z0Yzk2i!TSCioE|WtOgHEH{?an(4-zpr`ObCrwfI3P?S=cp7={2M_v2zx?)zcgMP8N z%Y*FwQ|UW@Ve-`=1;6j#ySdFQV%?^VqUX~?i2z8>DYntL zDpllPQ{Iu$0!)+FXvFz{qN~k%RAv_6qnyI2{ykJH8`(dx8j-5er|-#CG0hE*cN@iP z`A9Bsx>po@B^J4Y#Q2r&69%HtQyi!pJ}D<3W7xFTmU7E);FqQfstY+r^_j1ggI=i1 R=&Y8e^0%+Cr}K@w{{S2Z04M+e diff --git a/hw/xquartz/bundle/Resources/sk.lproj/locversion.plist b/hw/xquartz/bundle/Resources/sk.lproj/locversion.plist deleted file mode 100644 index 2395a469f..000000000 --- a/hw/xquartz/bundle/Resources/sk.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.5 - LprojLocale - sk - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/sk.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/sk.lproj/main.nib/designable.nib deleted file mode 100644 index 5fd0f98cf..000000000 --- a/hw/xquartz/bundle/Resources/sk.lproj/main.nib/designable.nib +++ /dev/null @@ -1,755 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Podržte počas kliknutia Option alebo Command pre aktiváciu stredného alebo pravého tlačidla myši. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Povoľuje X11 koreňové okno. Použite klávesovú sekvenciu Command-Option-A pre aktivovanie a deaktivovanie režimu celej obrazovky. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Spustenie X11 vytvorí klávesy ochrany prístupu Xautority. Tieto klávesy sa stanú neplatnými ak sa zmení systémová IP adresa, čo môže zabrániť spusteniu X11 aplikácií. - - - - - - - - - - Ak je povolené, musí byť povolená aj funkcia Autentifikácia spojení, aby bola zaistená bezpečnosť systému. Ak nie je povolené, pripojenia zo vzdialených aplikácií nie sú povolené. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/sk.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/sk.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 42df30d2b12a77df1bbac4f0c1f14ca7750aebca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47914 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 H{K@|T(97}# diff --git a/hw/xquartz/bundle/Resources/sk.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/sk.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 9ebde46e9011da9ea68ef477e3583a8301bbb3dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47939 zcmeFacYG98_dh;!XSU4lW_Ad@2STqYbSViXfOJA{VM!LUkYr;D5Q@%4L@6qwA}T6P z5Jj+of(1L+5UHXlAQn(itSCi)?{jB2*(AW{(Z}cY`{$dyc6WC6%q{1hd(OG1+&d{Z zE0A9h7k5CCB_=77D%m8v&Ce>6IsJE)Ot1Hz<)%EHQ z^%Zru`o8*sx<~y`J)|C2PpIFiXVl-+^Xf(QPxUXG&1ScGY*Ds~wo0}dwx+fOTcYhc zTW4DrTMye%TdHlWZJceqE!~!9%eT$8&9Tk3-E6zhw!(J5ZMAKUZN2RY+a}u<+f%k} zwzq8`+4kAKw4Je?wS8~<#je;@yT=}7*X@<;4eSl=ZS7s`UG3fMz3jv6!|mhk6YObr zzrDa-XrF7p(SDQt7W=*S<@U$yPuZWgKVyHve$@V%{d4;<`*Hhe`&ozVusJF?q8-&8 zH5@G*Egjt)DURNbK8`_-!Hyx0(T*{Wv5skuJV(Bxz%j=$*Kwo6ba2N)$K8&59QQg_ zI397Vay;&M(eaYw4ab{~gN{Rv&m5mSzIXiK_|0+N@w?*>r{vU}m7KB82F@1Fmd>uu zZq5{EZ|4Z-NN1XJqBH2sb8@fL5f<(zrHH zyIZ?Qdr(`cJ)}LXt=86PYqfRSquP3HgZ8-gg!Z)djP`=IUE8U>s=cl4(mv4kXa}@| z+Nau4?F;Rsc3S&ZJE#4qo!5TXE^B|fn9JdEx}sdVtD>uttGcU(tF9}?)zH<*)!fy> z73Yd~wR5$1b#`@eb$1POjdx9OWx4{csji^wCYR~D)peU|q3aIUovwRa>s*hzo^)+? zZE-#4+UnZjdeQZ&>owQgu3fJ8T_3pix%Rt0b{%nj?mFiB()E?=Ti184bFLpd)<}XmEASmHQh1pdhSN<#_ksGmhJ?1qPv5;qx*pSu=`{8x9;!U zXWVDqzql`XB#-Q29-Bw=xIDEzbv$)F^*xE6HlDVgj-H;LUY_ec{XK&`gFQn$Lp`aU z@1s5fTie5q=+7yuTz>VazE$7mKCM5mzo2hdztMN-FX}JpFYB-9JM~xf*VLc%*Y!8_ zH}$vlxAk56Zv7qoUHv`%ef%Zu~>c8pd z_22bB^b7h${gQrJ|5N|VD|uxv^D17|YxCN@4zJUzd0k$&*W-=y>Rzwc@K*3fdnPCcx!rVd24&?cr-p1Z0-lpDW-savG-j?20 z-qzkYZ@f3bo9J!hZR>64ZSU>i?da{~z0TX&+r`_}+s&KgP4;&8_VD)f_VT89dwctM z`+BeU_Vf1l4)6~24)PB64)G54rh12YhkHkOM|wwjM|;P3$9l(k$9pGu)4UVCKJO%N zx;Mk?_fGas@n(7h-l^Vc-YjpnH^&?F=6Y}N=6UnI1>QpMbnguBOmC5QmUp&yj(4v2 zM(<5t)62c{yf=I2dvEbB@ZRdZ&AZrp$M6O@g;`mjN?ys3DoD{%MX8chS*jvcm8wbA zr5aLAsg_h*sw35vV(_Xj#YzoE3``vw3>J(ZnA#(llLOfYshB@*VCtYiM*aw2R-r#% zh`~XYT(s^0IP@LT5x-X-n3|lP?$6H;ObTQL3W_41H3p`R2;he-|Hwd2MsNnet6l;8 z$_0g*6wJ#X(I7p`m!ChzY8XMA3=E15;%oqCEx8hB+VIAe)?A6_Y~Vhr5&GO%YBClb zqbCRYvi+uFs%U$1F7$$QAN6#f)Ld#IwUk({2^mR%!L>M=21o;?LDFDph%{76m4->f zr4iCdX_Pct8Y7LB#!2I)2~wIgQSwQXq;x4m@=KGYDN?2skfuu0q%0|0%8`Onu5^Qx zC*?~8QlT_mnjy`UilkZ6Y-x@(SGrNUNit2R8D+LGO>>^P%iM1sG`}^^nBSY{%=6}D zE-PHtxm<mp|b0hg|-M%lo-} zh|3>y`4cW5G-{ z7Dw?N$O~p=`SW_@`2|d> zKMOM>m?wzH1Ip7(w<%dPcDvNXbb+o$#mARCI4T2AOo2*h(Ze$7?lhy)z|?_(NrMUt zvit?bguPZ;Cfy^o2C3n<;=5(rze2iST5M9qy4l=>Ubs?v2wi+wdPG`<_74l7Oc442 ze@S2d)-hNm_8twF~FBU4S;>~ zQ~kNVJRi_B8j~caZ?u6?0Gg>pF%^HIbNiRt+ORq>frB~6`*QD2_#nPL2y*;jPcZ^_QN=|BE7InOMh6}yi z`biWGj7|}l!=_5bam+tS|)2w1vG9|MzUe$q8@wDK4)a4$T z{`6_tzPxGsrFYSi_oVlw52QUb^YhVw>Aoy+nd?sv__EBZW;KJ2njPP!MNE9+T#Eoc zlJ=oc!9CYVA4#pPy9cC$X$Bai#bv^6TO%EiT9@wnVbS$ZsOx4e(axIGPVq3cPvA1O z0Q44a;4x~TS=+2OQZ%GZs2wMzFVR$bgy>|AbW&>lX)!SnDSRz`17bK8K@MA`Gtyc7 z{~(={wqp(r^W{zP7hs4}3nyixAlyn8QUkPE2V+;yjKzP9S>LP?07J_K`w4&vod9DB zNdCbS@~y|LXF7#R`8Vmjw90H?HZ+@E;VFxVFA@=7k}jK#%*IzI;MizK(9-5txZv2AxAoy!Q_Qy05<0n^;qd`+4HlLiA=PO!^ zdljYD7;Ev>0;?=n2~C|fa%G5+j9~gS8iF#jT&^kC3eEDC=1nH3pc-cRO1ZAIO0Fl@ zmt#?gU_i~x)@Cd7#!&-&fgCDFU`K8w@kiyxaud0!+)Qq6#+gIR(WcLwVK%+$2+K7E zuBhV)_-{iaY_<$_Kfz2e<7pIA!Pz3)(n)S3cQ%`uiTHW2Rd-j3Z<4#oNpiB>UG5?G zlzYi3a&Nhh+*iKdY-6@FJDQ!$Bs1CUY4$SvnAe;A%>ic9!|32f3#FbAXP zi)l2Z#Z`D;sH6zqN2QhUqO0RD)C9D88ve5d4y}gNGdtt|I>O;(i0v$?P`(iaR1}HK ze7Qg_1TwptUCeH!pe)SJl=v#MDHu^2=?;0*15mSQ%>Q9Gu82c z4BYoHyPGwFMins${Fnkc(goQM)iE6i&4LvoMofr2pm-Lprel^D4)OiNmK}+lm+}fr zA{CGCO8FuAVQD)QsA0Y-p>ghQG&56($)uvgP&%Lou!NHv5`2 zvP+c^3{g!1x_kPXt-_E$ByTA$tDf19(B*|rMts6T3%CW)G+p)qWd&$w@E@Y*iX93O z|4#YU;zkTI2bwjeq6vARHXku7RBs{WhH;=F(tZ6zKvyT|5~lF3{I2|dDW;HWrkX>q z!rDWuT>ePj2Ub4J9Da3HE*}Cbmk-MynBi~h=-g4P5>@= z$SAW$&XrlY)QbN96J(r|&&fZPLdIBgtT~2|F$D^Ft{Cv?gz+#U&da|85#!A9X0tL7 z*4(}%@zwHWbAs9QNP<@ zDLTZmbIm*|xbFX5FsjK%1%5$9+4z=$F+cn2qVn=9qJ?O!GmD=F#z+(ea`XBbrMcH_FzDu38-o zvFfqtVpzEwmR(L$TqqxAON6GVfq!ySn&8XL%}>h@FTYCbl?&N2c6SK+X7g=RI%YIs z%h`Qw1-qX;z#e2P*+cAM_6S?WR>2hfdyZ{o+t~B$1-6~-U@x+l*vsq{wo_WnUXz|=Dc=%+A46jmQM$pE1&xQ;^>s3x8T@ zWfjtja8Ry4r+5FxI!P z)RvKX0T>ge^bF)#=Cd@TVsSeOB#=`WEJQo1VOg0|;D-ewD=QVNPCV1cADEI^fE8?N zVJ>NRRB;uoOJR~I3KkX&z*;Mili#~Akl{}=>V#X=KR5;Ut1Js9qT0G>U!HFY9+_gH zj+W*rFk1w3uzdGr0Z*YO)4Ex#ZU_2j5K>JbHR!M~WmF}krTQlOlR*>~VnSG} zbrqxtj0j_7*+Cf@$SBAJE_&w$tVVz``uKf75OoMYpgY#Up#{Bigh3@#qW&)G3{oSgu_SOcE20sP|&b`qT8e$3>( z>?_RcW%xhMzGdIBGwduo10%+B>_@yW2KKu57Nd+QZuOC7GKdW}BSIqpdcy34D=er5 zW#UeHc*ucpB8hC+c0k)%MadacVXe(4e1c5-=H&Ye$X*OH#dMUAZ@$7=2hF_MyqUB1 zhRRt-b8!V(G8dZ?jEwE5>tkjobZ85!O^0@KkD`MQvfo6v&ZArRff=r~x+S`FfnCJs zMRe#->WZ`&WKldeX+~v><@C)5DZ;m$=lAys<`+=y3(Z?K^H%dVs?U@@7u6gC7LQ*E zgQ(&VJEYhnai@5wI?Y^QF5v7s(Tz|aI#G$ELw#s(S$vcVO0<|)qH!fuyiTd8R8nA# zxYCa>G!W8>(!;Fb6ZHK!dk~G>0c_Av-_O=cii^%)vmY8cwEL^E$kljst{ zrm7Od?o;XkdmGqON`0xC600;&8nOqKMoMFpxe_IiZWB*erkN^_Ll60g=u zoD$D2Dv7A2tDbPaJdjCZKPeNxjc(=A9UKO{B4$p`pm4)9IM z2}};z{l#3eut9T-9u^#b04yqza6rL`aEZc#+Z*zuFwZ~KpB_YUv*7RtbFd(ivkNds z5i(G!1am%TolS|$XG~~m%$dMhpV%Z=I_b~6HMZMc>k>4W#90r{x|@px_#nebj*%qs zT7gfzV!NHQfT_^7XwPg6b~_O4+!isj<8hJDVQy&Hla=n{p+%Gkv~^0dHQ+*dQF=;z zty2?jL{%vurdVn|D2Ml3{!@~4L=gsqm?mi89LlI zzgI?}fEXW%L`do$5NX9+lD?3Y(Kl0YQZPM`kzm`z+VHh+zPRD10x+`$6g?2g5to{| z(OepvbZ3(2tf81sX|YKoTkd`p-(!;ojlXLmF3g)hR>q^D6QG;Cprk1i6`wLmNmnuy zKZs+pGDRU4PE8S10LB3kn;Xm{As%88`7~$2Z3GKK>x+RCqE%B$G9NRSnU9!vnX4-} zC98SXA2e4A?Sx9C zRu`8ggm#Z%B9^7^@O+r=BYvt4+=!p(ksh!zPYLD~Mf_fEcwg)H;%X+;hijBOh%rIjmA-Ekw^X?cxTIg!C`+Z*`<1(u zdw_s@L8Hrwnlb|gmM#bNfz&MjfVftP^q0`FL)&(exymYLg>pZj#n`V=R!FU(H7gG) z_b4lshm_^YBg!gewX%jth|~}oIpQ@S^{n6&`WAlHTxG5`?B*JC-3V&{!2+o3;QC?G zI*1moN68yd!(+-uwDWOgIni4%8yXXM7uW`Pl;s5w)rn?zkCS@D#l)MBnyU^dPb!<0 zEqMMZ)WFT8bZobmZ6#JA?G&?s!(C2Bvn|6H9-~won^zB)q802 z=uxA`#5j&3fT=3n!>uH*FFijudGO%=M2k6S27Q+P`|S|ortr7FC6!hBxBv5-Ed!Jf zs8{hS%E(X8mL$2eBspuO=jIhik~RwWV`miP()Ao%SDH3#Xb)U31&k;3EN)A6d;6i1 z2hwAD!@M5T+n1f~i%Dpe5HmP0I607Yg;vu;|IJ@^Rw1>U{_5i8$)A?m51*~j{`ncc zo^;&_*UzN;dZpsJ1Fp|Z4~!Uy>m*5H4RQ;*55@KMxXvh?Har>EEpWYga$d@CTzAFw zCz*wP=(>$0Db;3W4jYN<8o2I1E!dBqt&i);Ig#L>!^*Q+<~11FA|d4)p>59p&~oj+$d;S)6C z_*@zx45nm8^^1l135m=V0hnm$YKpLp_;8hgauVPwCj&p3GRRdkO+e%!VlMo9_z5x+ zwG>P3AROcY7>s(0lIT7eK*;toB~%KTf$1BSd`jF)7f=bHgaoNaokwA{h=JYa41UkV z)d1$#G)^+20*gpr2Y zCi<>cMNC^FUe~Gp)h=qBsEtg|MN&&~zq7a(u9Yl?;aaDl#&E4SpskU;kHlCQi?0D+ z%RW-!Y``g!O1IFgGtREs*}A?l_2iCW6z=kLrA zGDU@2HaTZ$jojP`>*rkb=b}x(8I7I))`7nbl;*XFdn)cs+`70;aX-g>UW~7pxWjR0 z;||8H#xLJN@NHFIMx^Er<$Wmz-*zakDci->CgmmkKVAG>=^0_oyV5g)=#zZNGy|yj z1!yJFVB}nhqzM`iDu+gc;KMkaDxNBjqevPeT>fV*iY%uz2eC$9%u+p8kJlY~Grg^z ztjl^m{3qy1xQf;5>;3hr__dGTSnsLVEXGH8#IkUQC@3I4X?~UPz0qi8n9`_!nfNVF zK=?xajhv4}RWYSz3URP_K@oHai zy+Kk8;&|JtNug`vgq`tEe9)2&E!A%LwX51w?La&-vbSi7gX zqC7>;kqhNH^3C#Md71oxyc*HqPs`io*W`EL!8;$@~}#9_%vdzSqGNP z`mtebJe$I9KxFrPM0Br!F<=v{!LPx>dl1X{?-1K9DQ-k|*TX`+10uTzDPyo6%TsPt z7D2II14VX+vP;>o97nA7ABfVfi0JH=7@I!oa5WvV*f*+6)CbhZ)NSgU>VCvqpHu%t ze042bb6Y1{U)w0#6x$5j0^4%LPH(ln1+M*-?KivKUIlc~9`rKWKGi0nm=#1$3(QBjMh(1|SsTfOV9Dvhf2t&&yc&MMDT zIaK9B)!J2)tNN=hth%}CzN+V|)vT6O&0lR%wJp^SR=ZF=rh2dH)2iQ9{rT#j)lh3R zt1+a;j2aKuc&o;lnw4r^S2MllqMFat{G=AE)vVUgTC;1dt@VDbUu)N?-Me;f?fYxL zQTt4tDs__TOs#WIomc9du3NEg*Sdka_tf24_uH7tG08DmF)L!;j5$}YR=qy;3hS+| zx2N94`i<)kuRpK;minK?x?(%TPL91N_Vw6v4eB-+&|pr3CmMXxP;1zsVP?bo8t!U% zzER^wBOBe?==nyc8dq!FxACmTPc%N-B&tcbCO0%$)8s%?d(#e0r!{@3>E33nS=(lr z%^qy_VRP2JUGqTmhnj!X!q%c=i<}l~S{!caX_?$|ddnwTo@iC2RsUA=T0P(D`_>Iw zk7<2Z>s_t?jB6X01^M=Ae02Qv@$=$$#Q&7gEFnGN!Gr^eQHd#uHzmH1_+y*qZTxK> zZu4>5ifsq9y|wM@Z7;WL-!8A+=60vsH)ubx{mS--J5=g0xWkeTyF1!CcJFvo$Co<( z(Wzahf=w@7cXy?PKfHug_h54)?9yH@)x1zUQuQfBoF+-|Xk!$+@bM}$Il%9&V(8hvL?Ko=1udZJv-4hapc6uCtmUm z@~!dxI;roZm6Oh;_ej4l{kx2$jC(Rp`@8s;`M;UmW%9Dgr>1n7a`%+encXs%XPyc4 z2s{w@acZBbk4!y3ZP2t0)BegDnYAU`nLROkdroxDw467Cb%Ha4ALTaBU66bHhE6x! zd&9ZBetGNj<^1vaFBDY5qV)a3CWW^Yo|xWs`h(MdpD|*_vokBq%$fOqQM00jMc>Ry znf2&wb$0sf*XPum!{?lsn>=^*jq;6?ZhZZw*qi3x^p)A$e2lyJH2%T7xOvOw{c`ij zn|I8wJ>Q&v@|NDWJh4DukhkFQt=HZ9$ZhIvf!p>hOk8;X!ao;fEP8iw+~VbnFD*%5 z^6u^Nx39SUuRA8+vFFZqcRsw-zBFg)p}V@>_1Lls%VsS*dG~<3x7`zS&!T&Nxi{_J zcb2zV{>Xi<`wH(nzM}t%7w&Ix|I+&}J&^gp!3VoPxMgLnl?zv%e<4x#u&VKmNk#7e3m4{r1;)T(@KEi>+SV@KU{(9(=j-%Xhxw zdS(7Af9;&L^Ve5%Up@2Ml-Ewap7#2uZ;X25z?(zf-1Anyw|2js^7b3Ml6URg-DUSn z?{s=+`@0?9eg3_6?`?a(?fY9lX#2s|J?-{v`>_3oFYN8OcgIJaKYC?fw|%ee@45f& z1APy?cW~grj}8q#^zq?whmU`p@$so6Sx0{SWcnu;KQ*D)FZ#^*Z29N4K3{XJ>9H-x z+Z})TM9&lNf06pdrzg`-e)nbmmzTbp|8>;Y%fG4n&Bjv+r(Qapa(eH#W550CyWH_3V!r7JIH~Id#ACi7}|J@m{`K?UvVXgHe$nsM ze}C+c4u9;rF!I7T7iU~@Tv~Ct>E#`N_WSebU)g{CWm%uLDbEWFP}oMbMtMPMUFwbn zw?lcctc9M;l#fD&z68zs6|$4T1%A6 z@`m!J@)iuHZ$l*S4q4M-KqrHEbfq{c86Jx*<`d>7^KtXZ3aT`kDvF^34+vW*Swi1a z-X}X~Y!b`|^jATxM0U-vU2ZSg<+{hi?pE5ucEGZ*!G5-xtYk#;2B(_d@8lRn*I716pgU``lRwDTc(*?&1Zy7IrT5m;Mk;| z;`16d<z1VKPV6LVhlzvd!Pr$T73l<9FI{{^w%qX-3 zpqMpZsew~98aUOBf!l$BdvUB~?G$#)2ur7`t6s~}iLvhyZ`m1EA)g=n#u{M1@%ZHxS19izVr6)O_?m2Pu=(dGtd^G>w+ zRXEv0#8yhc|n^+y_AJ?i~TtfT!wu$W%rGfYo{%ddbs&rK?MOCd))$6G0jnPxW zUgSvRB&dm2*&vuU32oZ7Pe^RnHbLqY*Q%{mrl54Sz1o3%6yztN8Tlw~bhNxU@Mn-0 z1Jh*;jI;S^!Wn~xM5H||#Hyzo9C99HE9^G+kuRe@+uuQeK%M{@aI z6oP*Y)a=>u9k8})8%IvAHgO5$pPf7RnBi5&DdW}g>I5}S@u?G)SIG^e`jiRkB&iw} z5*eyroecBbHsu*Lpms%zrvc?}s@ZCe8WaZi!LTa_GXm+t|BoPkFqQ6w1qH#JkRJz8 z9LZUT*Fc^Kf=Pr|*>doOQyP3(A|3*Miek8uyn*DxnO12OKO&fPxIV;?_=?~Li>NHY z=ohVmc%%Dt7!re^=VJeXc~#vY zZB!?zEEdqxv}L8B~q=m=0?8sZXez)J4h&bu(ypi~5xMw3>nR9Q-T0iN4W+ z=hYYRzFl%zbe89z?9a>dXY|ULLS8FDocSU>M9@7&-cb5SN?tGuFMn@KSuXk>m8oTlGsnnnbSwD(WUPm9^K z@}Bx4vFQr7%EXLN1I;kc-DLqC}-|DNdYq+HC>Sk#x#^qUb@F})m z-32d~=z#gTS;IVvpxz^99aQsKC|pl{M}1dXWgat+o6W|IiOC4$Bg}cK4`L)OH<&v- zmwFb;I2kjjAk&KE$rrA0b+5$NsoT|kFg6@8KQ&L7C(W5RHu zJ*s|&7H>z3tU%)ty;&w10s$`C@SASP8gy%W9RhSBB z{#y@TQZIwLA|6|>UMiXW!!!K31!ZTwbk?SX=5eg~9cDe{!lVfamJKQ^GwY=lHdhE* zH_sxrML=H(aGk9}2(W_r1Bs2w0(6E*IlXFRq^+v0TIjJK&ENhpSFzP8D32luj`fRpxHMm3xv{q;*^)!p z{@uLvkFl+Wd3dopV(W)4^e1eqWqCNT{fBuW#KVh~iTDm3EoGu37;)m?RwisosBcs` zl>KgAv`|(V&Qm{9eJCnDoGjx9ipr#ct_Mw$kDTjTbf|MNs$5iQv^u0>3HXy#W~=Bj?1sk~uZX?qCW zdRW_Y28Whk>g2YNh~G?qm6_JFdCu; zQgy9yM$#E*gr1=FY7AhCP#QV0D5HVsBTu+e=n2e0xVWsmK!PCZqFH(ZpY(gCc!JUl zh^>)xZ7QH!m1r?R+ghQ;cxshfW7-}IuQ9porbXts&=ONDEQQ3hJ!#trKdQZtfw+{)F;(`8K%X-_7Y^Pl-k5hE4hK186<#1}v`BF*?uonckAUuM< zK<~4E>7_*@7`v2;zwAVsUYey2RJ+}0$ti$D) zFqv|>ZZV3>TTcEpR$*_6Mv<0U%qr|{N;j%Mmj{$Is^{OGGP_ZJr}D!K?AEh}w=O*9 z*$@C(V#q9w)Di&Jq$mJmr}Qoo3ObLi%&LEn*3#EfPIoZJ&dwuTyFJm zqAVL7$hj)Ynsd2DIh2(XB7cjw*e9XJS>;iNjPLVjdI0k4CbWeAm_kZpq4?S?WFzYFdE~y-1gsPBv3f*ca)m5_mrNq@mx+UnX^bz zg8D}b&Guy}@P8na?T?^!t4g(Qy?sM@nLLQgL&9y0O)5GUlF5VrE`vFV>Ygk=#=v@; zu>6Shj*#p{t|-=aRsduHCW)n;3dteZ%2cs20tKHHU{9w0_??(f`1?>u=wL3{&R~_G zq%L1pS?$ig)xIq}{O!5?5)FSv`*!;d`-}FM>@VA2vF}7=%WL-6?Qclc>~GrNvcGNL zW#4Uo$NsJzI+pzd`yTs;_PzFxr04AW?FaBWWIrtJv43no0>qwCM!=M7CD77ZA&Y_051~8`(1cJXm-v;9<1M5Zn$}K~Ne%aUtZGpxXhl8ILd}i&QPj z&C2&p_mkOKq|R8yh};jPLy%9yGCT%yQn2<#4h`16Av1fZ0_&dDN-|OUW?m5zOfuZa z(DTKOfos&Nmi#=(8$?4#4io16;(m#}gP@gDKg6|2Jg}ZZ8bbkfTiC}!wsas zffUz{Tz-Meow@uxm$yT+-NEH;;{8P~Ul*M;QvwVnX4ON61=4leAxkH*T^r)%ZQDTU zNo)gW#)N^s`~sjVC*Y@zPGIXC?91_IjhUU8fCW}Uo4C1fp}_3R?z2o+Cl+K0H zspKv8AFb>?wW9qe%#EK(wA+7E-n4(nUa|jS{}Aa{&!A4y@*uuMqMMZ)>(79jif~Be z19M@-H%gJAbPX|1B295vUSSS4VDo2)owxG2Jci4oX+go|QRWi@ozLN2%>}_n%I^6bH`#oTu;1|#kqPg5tXxAywhPa#njh)MbX)hJH zloBaxD$a5#CBU#j>)9(WV&4icVjWejMQn7*BDRP5WYCx(G)#*NSeA?M$~0U01)PHP z^GJO?ED^4z+mq#kR>Q<=NQ#u($U|_HGTSQQ9&Ii|P9PuFtQW{ujC%v{Zmp{+!=2W( z6#Pw_F;Vbrp494?@jqbVj##$S(SYb9yn=KzbGXYh@m^f+UBbj?3my)NO(`Csgt!Eu z^w4OvNgzAj|Dv_+(AxH;THD3;Z28vq5hY*%4t|I3rEgUGAnc^WZ_W&nW)>13cSyF`lTV0%{ z$B6Pu2bk1AOX+9^12T;{CTxUCnGcpgrmxdzxV1nf^D?b(W}!=@lvs?1?nZWqGf^04qEf-t)B+_|TiOmZzUNhl$c zp+qJb2wCyVUi8x<5n9Zbu-?-lQYbNz{O4*L;W%5&sw}~PBk@RelqhoL6g&K85sJmO zOH7qCLkFORlpTMbP9&S-oJ!Dkf zh!zkgh+-nw%hapzRxlwx1inxNED-V2G$N{lFO@q<*`HJhmSz6cCN6z zI+i=`gT@!3l&oisoYaQ$0&YI}h zU^7kZZR+E)-~8SDlgk0Jazn-X*WCjSm=7JW`j$Ak98iSHnC~ZXIUUoB0v2MEdYD3@ zS~Nxun>N=A_B=~?|99cdp?T)6X?h=pB$0m%bQfx>3`9^4^ZWvQr$aH zu6vWYJf*mMGm}Ey3yGiv%QuzSkxYqK6+!EYdCR9(|NJGqC6jndBHZnkdQ@tuC-^YU z2rI{jvROz#&^N@|gysnrgWyV#rVu$Kk!fC$fT8&lRtiJH&g1IchoOuP|9p;GSF^1M5_rYhRK_mz*B1Sw% z>MQX@;y`7&F6}f(LYa)=gvYQhQ(Et7SxQ4{DJA2n@|qCUUt--Ny^6-LL{lpLJGI$z z5;*5%6dvHTVW=Yl z=aympG?L3VSPMVFt(-1w*@g@kk2A`tJH1ZBS;2{AQ6874b9ok*Z{+ekE-&EnA}-%S zTAp%KQ4 zvrF+Z1E{gQO*6PWGmIN}o2+F<@l;KSxAg2pY*RyKu%FeW6mlhR=aWl^cM2#F{7LpLBL& zy;#})Tf{sF!#0@MYIxX66Z32?&j}BhHBPkgbAmAOB(@F-CFIHOSKxbnn|IXl-P zW@2x&+9?D^C?K?W-@|fvBdie{Buiy@Ek#65N$Xb}jeiewndn8}>X^HU%Vr7Ypa~}y z2N|>x3l&K5ziH5Q>Zr1?JmSFVxP`csYap&HVU;GU7-VV^>6WaX%dgY@INv9P?wBUU z=q8!=KSni2zvo>Y)i-l_emPWIA=Qa(DKzyT(5M$x-ccUakSMoUsE)rTs>|~M%S!^s zT!bn>{DopTXgOl#Bb>!|QWItp_5XXc`T%+EDf)Kg+3~@{+XEdmX2@&0+EEHWoja}n~Q%EIdmt|iblH>gsp2~9oVwZ`OqfX z*MJ0B>2je#{x61Q4~7M1`x5cxJXn5M?&QcbppYJDWbmi$4K1y}liLuTTS`Yf4CPl> zI--k5<)}3(ca)6ET{J3b5aQFZjXvRxrurnIV$iO)q-c=6i&jizjR<3mh&d?6jT8{F zcM_fpuDU)eam|qphODFE_1a`y(OxVw^kkv%~R_|bV9cDuwk0)r#krTMp5WaCucRqKlp?gXlPG9>iaBIrc*_qB~oNez*kDs|nGw|ATozDo}W% zbc25xZ{VeiPIt zqNc!ENe`x3mVy~UJ|~ia;Sz{P4-v7VWGrp`DFHJL|DbjP77UrYy z8_|l`pdX)@inu!rBTL#6(LmWUE!IF3LZy=Jj$|>(RE#{XFJsD+24HDk;ec<;+(2zC z>*pf&&=>0`dIJ7Zlts^g%D^5hjgH*xM9IX0XqiBITG(?|8aGyta72hGt+bp!`!8_w zD-cQ^2qpjjAQTwbH-!krG9iE_;u9>N(6#BKe=&XBWYNdtCG_zm(Z{o532`k?8O2Xh zdKs;DtwU63?w9z}2>%pR5CiiHX;ITaGnPmCN|`~H{ftBb@t$yI(AkiNj2c8eq|Ffw zjTi;nliqFF(P_uOS$NWq(G@{fArEMY@3T-)AeleH8r-#dXDx_IT4J@F%q662&H_cz z9V@u{Y8oKn#?lq3S47dJF?9NWLph5WtM?i3`2}^OtyrHTO$2ZW=?2hDhfo9F_KwoEBIU zW~l$vMlbN=PCKU!V4fwhD1xAz$A*?Gei@Ii@7wN)!xDUic^D+jYQY zd>p15Qd+Ett9BjcrWx2$IWF>#fFl3qj-DAGpN6!Y$@wE@i_)y>AJaBQgpdvMXXj=i z)M<_OnACc#fKI~}?f$GXL7(;w+LmzCAN;njP&PyjB!nT{HZ72omf@$PpVBhIXAG2i z+G%LTF@rE4yh=~k$}h@EPeTrNu2`F-6$DXnc%@S2d3&t(a=3QHA-rx%W5v_RBFOfY z4RptWv~PxiVP1ceD)S2PtCsJK(h!($m$f23zoHf$VI5MgYTD}^`wQ`MeUMVKv;)26^9LaC*>guk}y3v4-t8t zEQqRwu2C(6oI6ET(;CcYm2EYIUI0k?**x>;!#@I(d^#)Wd zp!yKh3DM9hRFKFWr#=5d`^e`X(Eb@lhLHqAA^1Z#vW^p4BF5|#p3 z%w-4_uUIk1E)FpAiB2EI?l%P%nXktz8w= z9t+S{2(&JNs@DLuRR!pq7~dZW(ta(-9|8F;6s&@It;G$7C#*8-gcP&LJiP z0zZR$g&^iRVfIwk=zbXctUVt_r(0K&f=o+B5 zi2!W|wEjtuO|Aub5|D9JXdHpU?tj(#?Hd5vjz9+!Xp8co!XD=Cm?P!n8i&pk~?5mJ{aff|_Bf~LYy$gFbEytckp`CRQGWncionsHe zCi`Pci!8?m$0?g>TZ%ByO9)Y_jUc7=2vZu2K&1demF6K>=|O}mZFNRFKXfcmQ?Qv? zKj(MOi%82H=sc@cMy_Fw^9QZ9<5pW8SpH&dKiV$C`ZpT(zkF?gw#2<%X$fIIz%|V^ z6K50c#$JcLaF$Jqa!l#1{Gl{g+Ok8grQq!=B%F(mr7I4W=ByQtKaRusvf(p}JDX)s zEgphHMd{Ge(KwQGg6T8Up`evM0&@mV`y<{Ww-<>lT}6m1m_ltXgJ3c1yK~A+=`E5| zDk9$ji3K7>Wq`<186px@5;4MD9>(Pf=3(%(BiLamv^9~4HcdysDFs9Rj?GOV^1#Fc z2<#KPQ#eF0ZLSFODiD!gGsT)~4rT%ZE=0)Jd=d3^n+W_`g4i#3{}6wRo!fSs?+Fjo z3gLtTdBYF2Qn;c(Y7fH{PBFSafph;NEUeXqk@YcQXWax-D~u7G#X*-7YSQ;Y3HZfa zY|h8teRrB0anR6KbDQ}RPDJ7?3FlYI5N4N5U7SiEYvNdM&U){|krdV32c;&QwKi1* z?IxF~+y8MQoEz&s_owzfN=x_W?qie)=l+5c;oM)9B*M8*a~2OZk|l@~t}~qVxYiAc5f2%!%e(Xg_G6+y}|CNEM%2$f}H z4_g=TxHU_^$Ierr(P`|A3;2g(`IEVr^cX9-$^9#g+92GEN^|yx(iTX(m5!2HM5qfv zTt+?=TL$F9mX5=qDEWd~CQdO+Ad^qn($Nxr+fqM>g`Y?9sMy~td;-=wk7AihMC&}r zty;|v;hZrPUa@T9Vhg_N(%0c#Cp>QCk3E7-1-H`?Uy+*%((zu>DQinXkHGgN|d^ zf$s{v{kwgQ=xK|xJuTmh5*o%5}AkP&Nyq8Q`{*)RZp~2lfSLAZL)y?4%76v9TgDJj=rs-~>!RG6!p2 z=|`M;zul|+ zE>d616)Yy2T+!2Sja)IbouX%eXCRUnEFz4XH**>?c65Ene%?yKG5#O~myEe42n1VjrU4gI5$@ zI$mD947@7f6%80m?58-tQ&a5S5lV3upOf(U1Aeo_ejSMYI$A%x`r|b~s$q$Ji2iA? zLxjXWM1Kliy#>cPgWr~-XDjeeV*jkk@NY@|1W5h_vy*tYuC4c$CQ1ENK#|mMDWpCf zon7+Z(j=*mlCC864I%aM4yliKuXu;l$2DxNc!vPOdz^S5EZmwUQvWC<|4~Xr@zI+f z+Q9F4{YhT}^ri}Uq|f9EiH~>0cH@1Pc!$Kt^*r$oaf|Ck;vEvdYgppH1Bp+ODGliD z0eWjjZ;`LqW=Q&*A?b-BL!#m53qX#J z|GH+Z87rhba)CTQ5XBzHsQo`h^=~PvI5F!woRrlCr)zbSlAwEZN2qj9sTch5y%93q z7pI8y!`1@>5FR}UW`ZFIlum`ub~y47MnV@E4gbklX`D1(nt+V7iSU0-f=`FM_>-k6 z@a+WP?IW*lw(!8^N;kmJK>nRVc+6%X@UjTLo!K~*WUh3hbdzKfDf~ah`Tt+V*>svw zW((6a=b5|A{pLaQTl0+hy?M?&Z(ioI!eyPyFa^}&ax9mda=A5^+j042F7M>>Yg~SV z%WrXc7nd>d(UA|h{2`Y=;_`kjAL8=IT>ga1N4fktmydJ#3od`j<*&JXip$?}8Nn9k zx%>y0|Kd#MOySJNnS(QEVQ$W%IP-E=fwPL7RpzWJXVp2Y$ysgA>T*_(GjM~3oI&$% z%31R;XNcM-I78I_r~}Hps6$bQqdty067@;cr%^|vKEsJA$D)o$orwA(>SWZHQC~%U z9raDrsi@OY-$s2GbtdX;)b~+8M4gNJG3uwNpQC<>`ZemesPj?3NBt3XA?jk(rKrnM ze@6YKOE`Ur>58uEHr)5q%*^fY~F ze!G5$ey6@vze``H->u)H->Waz@6%W4_v;Vfbefg=L;Az|Bl;?RwZ2AQtFO}^)z|AA z^vCp#`s4Z&`X>EJeY3tre@cH^e}=QcoDDG_mbJZBR)OXF-JXFkp*ahA?m24{ZGCUZ80vrNtcoK59y8fRIYWpkFpS&*|_&Til= zkF$Kv3OFm|Y&vH%IGf2?5ofbFo6XrA&gODvGFDc% zakh{%tgfIcF5&EU&hFssPR^Ecb{A*MIJ=v(dpNt7v*n!K$Jq+b?&s_Q&d|G+oIS+Z z!<;?B*(%OfbGC-FwVbWv>`~6vbGCuA$2i-_+2fo&!PzFxp5$yZXInVKiuq~IfU0LX zdyccMoNeRmdCp$oY&&OIi@wO&OPsyT84j@C$=R!%y~f$=oV~%>o1DGH+1s4$;%ql( z?{M}mXYX^x_`bM^;k7dX4f*(J^{bM_}^e{n_Pip&+p6&y;da>d3KJ69ZBadJiD zii<05u6Vc-#TA_^UalBislb(Ju2keoC9YKFN)@hDT#t$S7N!+fGZ8T(ugaKxzdCyO}WyHE6usmf-5b#(hA(hu;E-Km*Fv@4Baq{ z3P!Y1(WqopHmVp^jp{}Xqoz^IsBP3S>KZXdJ)^!6Ycwz#;v}ZVMiZl{(cEZZv@}{7 zt&KP%-bgSKjW$MGqn**-=wNg-IvLj)osBL=SEHMeWF#Biaeh-zqnD9l^fvk!eU0ml z{>A`fpfSi8Yz#4m8mY!GW4JNG7-@_$MjK;{vBo%KyfMK@GbZBPr%6V-kzx3a$;K2T z(+C(-jcG=fk!|D{K_l0=!N@c6jRK?4m~PB4W*SAtEMvAY$C!)rqHZ!wgB$aVn~nL# zEye=lR^v8fp|QwVY%DQuH|{X*G?p578Ow~jjeCrHjpfFD#tP$p;{lvAwbFRVc-VNv zSY@m>));Gzb;hH{dSip}n6c4#+<3y+WISnXHntc~8BZI}7|$Bd8C#8Q#`DGtIH78X z@uKmP@v`xXvD0|fc+Gg-c*A(pc*}U(*k$ZC-Z9=a-ZS1eJ}~we9~yg&kBoiBe&c{~ z&^Uy%tv)u67@ruQ8b^)KjL(f@#&NO2@h+73s*vr&yTrX8Qw`>#=28pqo!+H%u5|Z7 zlcvILO(#;X@!l!5mYg_atv+Ip;-N8hgB~;n`pYfStuSZ)Xg}|0fK$ObI#L{?9FraM z9QQi5INrmlV4pdTIZimfbbRCZ)^XPHgX1U1ua4gx7o93hlF`me⁣g&UVgj&VkNU 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 - - - - LprojCompatibleVersion - 106.3 - LprojLocale - sv - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/sv.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/sv.lproj/main.nib/designable.nib deleted file mode 100644 index 4f1602a58..000000000 --- a/hw/xquartz/bundle/Resources/sv.lproj/main.nib/designable.nib +++ /dev/null @@ -1,756 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Håll ned alternativ- eller kommandotangenten när du klickar så aktiveras musens mitt- respektive högerknapp. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Aktiverar menyalternativet ”Kopiera” och gör det möjligt att synkronisera mellan urklipp i OSX och CLIPBOARD- och PRIMARY-buffertarna i X11. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Med det här alternativet kommer ett klick på ett inaktivt fönster både aktivera fönstret och låta musklicket påverka innehållet. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - När du öppnar X11 skapas Xauthority-nycklar som kontrollerar åtkomst. Om datorns IP-adress ändras blir nycklarna ogiltiga vilket kan förhindra att X11-program öppnas. - - - - - - - - - - Om det är aktiverat måste Autentisera anslutningar också vara aktiverat för att säkerställa säkerheten i systemet. Om det är avaktiverat tillåts inte anslutningar från fjärrprogram. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 9b134773a799bc395cd4c7a62943fc268ac06cca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47731 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 diff --git a/hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/sv.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 9bc54d9ab83172999fb4dd66ce41dc22bcc42f3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47756 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 I#!?gtP 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 diff --git a/hw/xquartz/bundle/Resources/th.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/th.lproj/Localizable.strings deleted file mode 100644 index b7f16693f2d95364065753cb3d88a54784f88dcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4234 zcmcJS?Qa`J5XLuEq(qTeA>oFmpm4EeA~`s1f=i1K!ft}p$=R;?`Cd%HWcGtbUEGxyKG?v`t~%NF2GUEeiu9267yO>{f5v|4>N6wxeRfY6O>9@xlDXgA7N75s&)m0s ztA5_!^B?)^e$O}kf}iu-zQ(A@Xp!+8dxA{ncl?s?`VH3avcBurd>1|6V9nA@k6y=% z4tC1op&R8M=cnPph)*BC4;ah;A$!N{yS&^36-7DUdTgo8Cfc#T5#V8GE z6yroWr|b=KV|?!;8{=1ze#}~kMj@q$9b2UDGrP%5(w<^fHiT%`D4kK3j`=Pok>w+^ z{TU~SB{U-)AwP;NQ?xjF8gKkEe9E{;dq6|;6V5v`bi-Uc;VO%Q?;Y?8Q8X}1dzOvj zHDzz>HFz{2io;Iv<}rwz_~jE!F)NZ=l!~|huEMEYbg6G3v4Q(^omOb}*`%h8(jia+Mz>lJ>x z;&Z;WlH@Mjp>rRwr{R}bUqNP$-AzUte92Q-sZEC7wb|L;1rOA@k5>cKfn)HMdmkx4=5P3Ye5_k^h08 zFSn=6oIesfstv=u=7dVC$Q}}_J>xoY#1o4^)$tQ%2SlH^QBfWlQ?afpbWx}*Lj4|m zzwNJ2G4{JXS3SZD!Wc5bMBZA|7K$D5U+fy0Jg-N~|0u!gG?bes1cF zUo1vXEnd}6Ch6&wq^C{(G|9||L`jS2-SYJ*tv}=2KC!Q=pl6gdi;7|i~TIht6 zy`i^N52lVR^l2F*$*YpZ3iUVr=jJO~k6Bkgz3Cp4efs`p5{H&?LZ)0jLuC(H8*9Ss z+9%mltWt#;piP~2vNH8jPt5DFRW8+=Bqd*mRHSMkHu))p(} zW&Mo$*Mx(R?V~$YRCU^_nz4$jYm2ClSyKm>`i@ucAfg>^Nt&l>v)x$e#uW?2E=qoj zImMs@>*FI1p_3AKKF^U+r!PxlClERs#a66(#Xd7sk2NxR*MA0^P$k^VXd!~FD=%PF zLO-t&#hQDc`ctKrUi~J}gvl4f+Y*%jrAF%fFelmQay5aeU{I9^V>P~9-C5x8%uW(MR%E2Px)S~++YBBzL*(c0mz+wjJ z9Z`MdDRzW6k{(&tW9F>HlCLk57;v6mq=DUCzc9sozruHiuz*eutf5%f8+&4jEc=}2 p$a*{W_Hba_5W3VD*O@D8+a#ll@1#O>omgvdCxw3J5-Hx>{{x8uYApZ& diff --git a/hw/xquartz/bundle/Resources/th.lproj/locversion.plist b/hw/xquartz/bundle/Resources/th.lproj/locversion.plist deleted file mode 100644 index 68a934e6a..000000000 --- a/hw/xquartz/bundle/Resources/th.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.5 - LprojLocale - th - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/th.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/th.lproj/main.nib/designable.nib deleted file mode 100644 index b7b763eaa..000000000 --- a/hw/xquartz/bundle/Resources/th.lproj/main.nib/designable.nib +++ /dev/null @@ -1,755 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - กดปุ่ม Option หรือ Command ค้างไว้ในขณะที่คลิกเพื่อเปิดใช้งานปุ่มเมาส์ขวาหรือปุ่มกลาง - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - เมื่อเปิดใช้งานแล้ว การสร้างหน้าต่าง X11 ใหม่จะส่งผลให้แอปพลิเคชัน X11 ย้ายไปที่พื้นหน้า (แทนที่แอปพลิเคชัน Finder แอปพลิเคชัน Terminal เป็นต้น) - - - - - - - - - - - - - - - - - - - - การเริ่ม X11 จะสร้างปุ่มควบคุมการเข้าถึง Xauthority ถ้าที่อยู่ IP ของระบบเปลี่ยนแปลง ปุ่มเหล่านี้จะใช้ไม่ได้ซึ่งอาจทำให้เริ่มแอปพลิเคชัน X11 ไม่ได้ - - - - - - - - - - เมื่อเปิดใช้งานแล้ว ต้องเปิดใช้งานการรับรองความถูกต้องการเชื่อมต่อด้วยเพื่อให้แน่ใจเรื่องความปลอดภับของระบบ เมื่อปิดใช้งานแล้ว จะไม่อนุญาตให้มีการเชื่อมต่อจากแอปพลิเคชันระยะไกล - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/th.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/th.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 34e5f7e772dba9843fdbde5f0a639d0e368cb972..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47516 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 E0H@0J?f?J) diff --git a/hw/xquartz/bundle/Resources/th.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/th.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 0a5a3b3673b3bace61e6a45c6c39afccfc927fe8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47541 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

dX$<}r%{@wGd<1pG}BXGzpv7{ z{!aAkw=}nPb|-f3o^Ibs2f97g{zBh#{cUv~StG4*zt-uQe$DJuNU74#>AwDbqx)6* zTAzdTL^s=Xt?!{uyH-0@eVk5L&)2>C+8s;kP11QNTRo3uL8s3|pQXwEN*3PP z>E&%aJCY>4n5K);9<9_`xsZ=dI?-=znCfh&oh$vu`^s$NCU%bXuP-ma8Q(zXbCWaC zYDO>LCK{biqRXwouTD>wCaIF$(Kg)i2KL#4E-*9 zCM#OAet)cXXJlts&kTpiNzbxpk`AuVq%*Sgu~tByJSq3bvIdXJOx)fF`&u`_`r3T& z%rA1Txpk)fJB!J_eVInwYDL}ajjAFC@Q-Zr+KQSh^Mo}j+V6E1iMiH1f64TL_Pmxs zia2+c=|uieD_MHZRcapXQ=yCO(6N3y?15dd{K8IOnr`aWE5_@iWS)?Q?Cfboe0L>o z;(~O~4W!I0&q3GMLc_Z(a^H`Xxt>Mj1GrHcQO&`DWH!?As=(v!r*}U}M_M0h6<%T2 zJ(?(s{UlsEFeH6tJ(mC7`pmNrWHqtf zjrK?BMs@E`n=R~2q0cmMqHnw#sFptN*AUfTYUx|V=v4S=-lPY@l->hM3u$uhD>NFm z`}M#ur4ILmyjWUB1bch$gNLN)ZB{9(jfs!VB5|*t=scVPU3@3^V0I*t!JLJwTgAc8 zEw{M%JL#s|OeM=Z1^t{_nJW7mlMCw{TTatS&P-O{5CECrV5*0{c9naTGGJ+^tMsFt zKS*UCc)z-tMi%n4QWb7llAfCWD*d8UOc=uUf3xnP>7(LD85v?>DdpK3tl@+v-$q!PL{O2Q%Za;@4%7X!%X9*hZpKi)SrF(qdl zKz1bAG4E7*VrtEOnAtE;haa6mV_MjbL7?q3JCZjh0Qo=`;E~moP6W#M4V%KMlY(bM z+eCJ~ULgakV`a=6E|uI0dF3?wM)F`5tfw=1f7q8XVBJZwtW-5IwO^X88M&}{bAHJ0 z6rSmI8c2fsirzEz=+-8MnZC(Nd}7DnuCS5#`&$Ec*6Ls*;{m3QxmM^sG0h-YXE+XK5J~v2rAwDRMkv#~gj~90ZX}z8ZJx1URl|Y0fI-l4a_T zE4}OU1lZ^Ia(~x?L-TAwUY4v_);IH^WV=ygT|75*P1Ggwu9rsrVfhxYz-Vt)FZ9yM2`b!mrUoARwZ>gI{%pZ9ulom%#s Rk4f#3R;UeQP-!>J{s9Y`7&!m{ diff --git a/hw/xquartz/bundle/Resources/tr.lproj/locversion.plist b/hw/xquartz/bundle/Resources/tr.lproj/locversion.plist deleted file mode 100644 index b4852447b..000000000 --- a/hw/xquartz/bundle/Resources/tr.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.5 - LprojLocale - tr - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/tr.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/tr.lproj/main.nib/designable.nib deleted file mode 100644 index c9d38d487..000000000 --- a/hw/xquartz/bundle/Resources/tr.lproj/main.nib/designable.nib +++ /dev/null @@ -1,757 +0,0 @@ - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Ortadaki veya sağdaki fare düğmelerini etkinleştirmek için tıklarken Option veya Komut tuşunu basılı tutun. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Kopyala" menü öğesini etkinleştirir ve OSX yapıştırma alanıyla X11 CLIPBOARD ve PRIMARY arabelleklerinin eşzamanlanmasına izin verir. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Etkinleştirildiğinde; etkin olmayan bir pencereyi tıklamak, pencerenin etkinleştirilmesinin yanı sıra o fare tıklamasının o pencereye geçirilmesine de neden olacaktır. - - - - - - - - - - - - - - - - - - - - - Etkinleştirildiğinde; yeni bir X11 penceresinin yaratılması, X11.app uygulamasının öne gelmesine (Finder.app, Terminal.app vb. yerine) neden olacaktır. - - - - - - - - - - - - - - - - - - - - X11’i başlatma, Xauthority erişim denetimi tuşlarını yaratacaktır. Sistemin IP adresi değiştiğinde bu tuşlar geçersiz olur ve bu durum X11 uygulamalarının başlamasını engelleyebilir. - - - - - - - - - - Etkinleştirildiğinde, sistem güvenliğini sağlamak için Bağlantılarda kimlik doğrula seçeneğinin de etkinleştirilmesi gerekir. Etkisizleştirildiğinde, uzaktaki uygulamaların bağlantılarına izin verilmez. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/tr.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/tr.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index b9ed816805433af96eff98cd18e9289003aaa5cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48413 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 diff --git a/hw/xquartz/bundle/Resources/tr.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/tr.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index f5663e05d12cc87e80a5c9091412006ca518477f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48438 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 diff --git a/hw/xquartz/bundle/Resources/uk.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/uk.lproj/Localizable.strings deleted file mode 100644 index f85c7ebd0b7ffeb2dd7dcb412f8d40ae59616076..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4466 zcmcJS%}*Rh5XJk@C*Kl9N-mKnAabx0vaANuBxtj_4=>B!*}6PD8kcl686Gr=!aw8E_u7;?U3mDKfAWR_L=lgs9U-5gvdg(f4M)G^CzGQT1tCE%?{1RsPTSdMI%RCeD z)7TD0T#u`9EjD5^w&E`Dn{g#Ri?eYf&hj>IUuIdc72C{7Vrr;q5qlnt_318ttYfKc z?uYZzXScDyhjac;@qC}LBG6~;fVJ0*D^2fXn!gM8WpTrKa>V|LQPF#o$BBBVc#K#uLC7baW z6>-MaDw4~@^fA$V!f3@J+d-~v^UKI!uf@MVrToeB{zPol|5>3pPT9=$q~**M3u zZ1eMRDef|Eo2|E>%=l~@SY$8F>y&SvLC?!5J|{*g12>74;(Wne_4^r7Jz&0?Ws_vq zE?#@?w9I$6yp6@3ng+?;Zh6kBkF!>Jc3VyrcFM{u)sd=2r!C))UEWBjD3yZGLr5!$Gk^8<*ygY+?X6cF5oiI#wo9b27 zud|a^m3T}}O@0y9ng5+x)vms}M?EswR|+GKh{#1bQ$Nf9Zhgkjhc~L8Iu?pjsf&zw ztj-%&=NpU@DyZIttzNOJ;N`f(j8J6WG%Ut0b1P`tC{dvS0t;h=9W78nxV=dA?!P7 zbJc_TWpDGIuDa?|DJO=qLa5i4|6&Zs%=XBAp)!#fVznww-R`>5!9F7b^Z05fD|<(9 z_y65poaDXX(!bfVW40vLF{eDgH_JMPEkcXaN@TuLN9Xi%zTDTj{K)?MoYR(Ba9*)N zr{i^O>>{LMdK$hR{bQS+vipdRpvJ?5{VHgW3ud*U{-zguXw56k=FZrmY86- zg%O#Tmdj_B*J8L?dh|O*}?%<-M+mfz|U-lesZ^YUz~Gi~uf zu|wyK1tZC;*QOr&CtP^?hSnp#i``F$->6VMuT0{=s!~y@_jl(WUfHQ@jqlEqJ;N&X zz#iJf`?Hmq>Ag0u2i9BF5wnzh?bAoyh9f$r@I!c#?-1fA;?cs84_jO9<+m{|ap@cf zMfMckx#x@ZtFI@XAx@d1KH!`9WoAY<&mcwHPf40b*n^#z-wc!sRh}omg|0%`p4}-@ z9GvS3U*DCH(XB(4B(CC|OSzSpU5y3P4b*{PE!H2OGJZmS7GYe@3?oE;+Xa!t7jn0C zY*?X#>4q@Jvkh)`%bw%hqRJ3nmEEgyL!m+;mz(MrPI7 zVIg#Sp_I=xutl7ruH~kkxifn2U4YZfnrGZ$;v5<}JTB+#z}ZYYZZbc@KbXsLn!=j; zt+l)jl^sQ$eh1CmkD@rxF#aXGsxyYCtUZjLsRH^P>)57R=}Icj{{8>7Fabd`8arJ?n&OJz?gehOBp&$*Ad!NSqH( zM=uvST-+eM1#z;He^tP}eri307~`56j3Z1H`t( gOgw^qc4F3^p(_^4rZHf+E2~ - - - - LprojCompatibleVersion - 106.5 - LprojLocale - uk - LprojRevisionLevel - 1 - LprojVersion - 106.5 - - diff --git a/hw/xquartz/bundle/Resources/uk.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/uk.lproj/main.nib/designable.nib deleted file mode 100644 index 1a87cf2b9..000000000 --- a/hw/xquartz/bundle/Resources/uk.lproj/main.nib/designable.nib +++ /dev/null @@ -1,759 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Якщо увімкнено, то клавіатурні скорочення смуги меню можуть заважати скороченням програм Х11, в яких використовується Meta-клавіша. - - - - - - - - - - Утримуйте клавіші Option і Command під час клацання, щоб активувати середню чи праву кнопки мишки. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Активує елемент меню «копіювати» та дозволяє синхронізацію між компонуванням OS X і буфером обміну Х11, а також первинними буферами. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Якщо цю функцію ввімкнено, то створення нового вікна Х11 в активному режимі призведе до того, що програма Х11 переміститься на передній план (замість програм Finder, «Термінал »тощо) - - - - - - - - - - - - - - - - - - - - Запуск X11 створить ключі контролю доступу Xauthority. У разі змінення ІР-адреси системи ці ключі втратять дійсність, що завадить запуску програм Х11. - - - - - - - - - - У разі ввімкнення цього параметру необхідно також увімкнути параметр «Аутентифікація з’єднань», щоб забезпечити захист системи. Якщо цей параметр вимкнено, під’єднання віддалених програм заборонені. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/uk.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/uk.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index 9297696fc618a9f3327315920258bf0b077dd507..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48525 zcmeEvcYGA(^Z&EY?v=eHdrRm&^bYBSo)CJ6gkC~OjwFy~3RQF;1Qf8LsMzTW78Df~ z8&*&e6+!Hv*hR&H4Upe^p1sRmn%|Fp{k*>a{0Miqw>SHgnR#aBnVIK#<`n1Wm6k_3d<%IXJ?lACfS9~#7}lPxS44x zma?mkn#dxU!P>D-tTT&d@hpigXIHXo*tKjOyMf)xHnGj@F1D9F!S=HQ>}B>kdxO2j z-ew=NkJ!iT6ZRSVk^RJeW@p&%><@N9aVuWMRO%@Wl}1VnrLEFV>8A8ll9YbRC?!ov zSEeg7l$pw0rC7O0S)eRbmMBY=70Q*$Rm#=MP0B`Pld@Uaq3l#1RCX&*D9?znoveSMxReTE33o#NX#X^D`<}y{f4; zP+O`4)MPbP9j?w$^VE52nOd$cR#&Ji)m3Vddbv7Dy+U29UZY;8-lX25Zc(?Y+thp2 zht)^a$JJ-lm(^F)*VV)7G4&nwJ@rHNbM=(^t$JGhRsBsQf;|*nYLP6qg|`rsokyZ(4Nws z)n3(J*WS?H)DCO!YA3Z%wePg=wcoWrv_Bn+gFD;~-QjhZjs}i~j^>W8js!=dqrYQ- zBiS*;G0`!}G0TzRnC+PBD0eJyT;jOYVL4VgZgJe|xXrQEvCXl=ald1iW4GfW$K#Hd z9Y-8T9iKVAb$sXe-f_mMIUUXjr{VNE>pR;y+dC7T{hb4x$<86piOxyRS~Y zhr36(r@E)P=eV=nCGJx9QuoE~weBn3>)kiFx4O5v?{nYpe#X7ez2AMn{f_%x_X+pM z?oZq&-Cw(Z(lyOJ-T`T#vyPtk|!WA)j3rk<mTSJ>L>M2^{@4B^dIye_22a0^*{9s9@XRa=pMu4_0;p!_cZY|^+b7EdD?qAc)EJJ zd15@Vo}Qj0Pd`t8PpW64XO<_!ljoV|neQp~SRUcI!n4}5#&eD5TF(uhZJzC(`#rln z4|pE&?D0I|dD8Q&=Q+=Q&jHVCoEh z&U^k0Q^T|{JlM~J>}c3KVef{0 z6Lu=>+pzD#&V-#0SHgL?8tx4DgolN<2yYo472YO1K0F~jF}!#9;P4^gBg03Bj|(3k zJ|R3UJU#sTh{F(XhqMvKBkD%aT-4(3Zm;h3c*DHm-UzSZ^?FTj z9dD$!uD71IzPEw5p|_E@vA2o0skfQ8xwnP4r8mmk%G=u8#@p80&fDJG!Q0W>$=li6 z#oN`}&D-7E!yE05@y2@Nyz$-yZ=$!SH_6+}+uPg6+t=IA+uu9Do9s>T4)msa2YCm3 zhj@p2hk1v4M|ekiM|nqk$9Ttj$9czlCwSAm>E4OnN#4ocDc-5xY2NAH8Qz)RS>6oq zY;UG_jyKDj?e%%*dUL$F-aPL-?|g5*x4>KIE%Fw7FY=anOTA^@a_<7~LhmB)V(${~ zQt!pyW!_7?mwGL)@GkdW=3U`k>0RZ$+i*ewWzQVIuP2ibjFypv3c30 zlQQ$meWg+zjo z`rLtaoQ{sslVdUqe3oiyXnRUA?1QXK>gi$Dg>_}!Sodjm`GtU*Vqf}7XW`NE(z2og zyR(}C*JDbc>xWqkDu`uqXp&#+mu|G2c7X{j5hxs8UY3b|r}@gZumskV^_Vy&4PWdh zdoi)g9LjpLKCCb6$NIAYESaUSfh?5`VuRTbHk1ux!`TQnl8s`c*%&sKjbr241eV6q z*+e#pO=eTrR5p!GXEWGLHj8Dj*({UIVOcDj`Pf{R!*W?3o5$v}d{)2;SrIE{7qJpn z%F0+dTfi2wMQkx!!j`g&*)nzsyOdd$+lsKdTFb2!)~nVr>s{+R>$LTw^|N(WD2h;A zLWvYg6QM*2rGrqq2_;S_y@c|tP@Wgci$d8il$V9_s!(1N%IiXTQz&l<<)~1O3FSSZ zd?1vMgmOYCp9tksp?ofsFNN~8P)-TuJE5Er3TinoxGK0qaFA9PJWTKi!M%dl5xlP8 z^#yMzcw@nv3f^4smV&nuyp7=P1n(etC&9Z2-c9fxR;Qz&&1Gx_Tgg_j%fa}o*&4PM zv`Z^0FUj(O2L|~{%kl~(4@@4DHY#(DFF(U<2ZHD3 zC@PU$6b{zYtuTw(Om-FPXnDX`Q(|I*4^GL(6FIOAZHBmxU7umr8;blc z?Pd?LhuI@+58n5%$APWUg}#EK!n~|eMOly+R7-|gN7~4PFDlPlFuEvvbY|&%01hur z^A%^7WCB%FF;WVL7i8x6FhVe3B_u}0@X|qfr8F+GX^7-4@?}e)$V)F=xL_HPkX+1a zp<8vWNZpFGnv8p!J;|P8PqSy(KD6~&_8eQwUcl?68N&yHig`JOX?aVi^A*Ef8tL{= zvS?s+ZeC6~T7?l0L{IRQN;V*3!e*zB(&Ef4-|#_J1FN3JtonF023qCQQv6YuQ*(V; z^9wRd=D)>WK}%j`2ia@v5DouQG+;qyzPv2&Il*-=nTu&15^9Qak0t)IN#Jv@-Bq zpn=D!fmU;?(PY_>cz-)ivQN>}0IzIjCs~j8E0}>;;dAx{nBmJ1c6fxHV&CHLdv=;V zj&YQpS(4)`1Buhh=M)kwbYWe{#qQ~qhWX_jhj_! zKV(1AJHX7puwU6mtF6_}>Rjy^n}N>~1D|8(t@c)j+8OxUstk;lgfP@QmAY#4y!{9| zsYI~H30!ueBQ?Gunmh?(C`lWrB}KKDG*jv*k>Df0d`~GU$y~ez_v*49ps)ODgVk3W z_=n48r9N~=c2U-RLVK0btu$4d`A2s*OIV5oQR$>~R=QZx)_7~Gm1!-uI@L;5rK!XbbvPD(@kCXto4?z! zR;(36luLs|3vEkpC0^-kb++R0^EkWi{!HAf3{aAl6lI{2sti&FD?^l_$}nZPGQx_t z60KfVZ!6hKu?AU#tzp&(Ym_zG>U0bp+yOEWuMq(rQeq)^s5Rr!juxn&I4Hqtl4J7@ zi_+Rb-Nw{FIy_0@>Jep%G8NCp%047nJ*_75@NBf7=Mq4?WFp`AuC<6ge>ovykID*) zq1sXDZvYxUAAbcBm3A{)S$*->hftZLwSpv0#{6@VmZBwvVzpE$Q_6wW{#HM0KovL} z$%~lSXmx@d${_opWI-NGEh7Iv>`IMTR8~nWu2$9%79&9*NMVp6)f#9uDKgt@ZDiZ~ zYQ5#m8DoL>~R=b>6tlxP8e!-wuV?u<^%nMWz(W*7zg-ieC}W2;x^^33XU3T4Y!&U zR4awLGz=xC{$$uPCo52P;XCG%L-TP^0Yk%X;Na zQqyYPTO?mD%a4X>9R+&tqkf>E3jC9jLJ#c7+E{|G(PJ; z=o62?pSMzzX+Nnr)6rlJx3v;+)aQZ14w<7d}c7N0;8o=@bHsH{j9 z>6h?jRw+q%uM|iFq)Z@=?Wd(zD)f?nzh6LVZbiRZSqo{nM3M|d#r;6qipI=>Nb-9R z{zIX}FT!7GCH`G%Ewz@|y11TH1(VQA2w?wM^qn!qv(#ezmj-bqK)AEH*2%xVSW< zG%&fUY(cK(>-i0S=#|zh7CUZs;2ZeO{1$#Izm4C{@8EaxjeHZ|%(w8Zd>h}+@8Wl} zMtld~$?xI!^85Jxd>4O!Kgf6Uhxo(%5x$2%${*v8^S%5D{v>~jKh2-v``B9k9DA6* zfY;M}AK%Xp@RxCKKd$%jgZyQFi0(2E?!1Zj!}#q8Kg!?c$M`#VhM@4r9>&CP5F#Y@ zWE@k61w-;PbKn?ifLV||^&XX1=o^T+_k2t(X}XTNae7gCR_?&e5*Xg;G<{4h$}cY{ z#8d6b!{l2yIkT{=bReenG=<79r@7wPVqf9VQEBBRb1}O^rKv?Fg}xF3&M+gPOVe?=dMFS7Lj|GR(Ra?Ie)A!t$bWw4)IwjD=-B z_!si?(=eaJGsAp&Ik{z+o2Hc)li@}cH^7V&4u{1>baD+LmZvNoEcn$+1yKlkOpKN)#1hVxE}~Jo%eUGh#V!9phU>_$V$a%=VR_ z9Yabm*|mQSB0C*GDfyU4gAdDOJN(5=@XakR^_33EE0I{WOOYLw6d*(nEh#E5o=~(f zt!!~Vs%%=(go$`C4K2<05iN;~(q%9(Gi!bho+*TrCBLY|k7uG}N;#Ycn9nbv?onx& zU8V;(qah(JEpx6f1x#Th#*ejTwID@eMEV-55@m8;c3CcPF|;JlZUi`Em@g9uq7LB) zbjKzfS}?d!x+*fvHh#7vm;e<*oJg|8V9gK$#LC(OH++TJ_I#I!22@aoQuFhQOVf)6 z5<0*@Q5BEdoH=+=ab_V!E7OaL^3wro9l*rXWEQio)vYUa>wvpWGPD0#t1RZWUdG4e zZnyPZH@b!{Q@{>z{dHDQ?lp5?^;Tz14j-oEcKO<=NG<)1t_7^ zdQR}Zy0y|;DR>`K6TF{wRUL&{S6K``!`{^KX-ngxW8iv8N?i5k8`%!3W50`1{bGN}THNLr>dnqt;O)`SKF%{Q05(Am91(={-oLoXgCRd z@Qm68C3nNChZ?QM@UvkQl)+c z0iiuQbJ6I`oWi`heh53f+RZ(8zo8ZeTLUBtF z!iOBNAyNv;FdUHtP^koKmEg%16Uu1|#uInP3O=e$GTfE)&syDPz#H}@cyN&5Lj@mV zT`9rGnr2EAWAe2DpLn$yaM}i@LVKY-OF`^dFzm9fQA=YIyGF$(E%TE-MIAU3#zIhc zZBIb+9@_9crz!9(O7kyIv)K0u$rc(s}m7a zpN#9N>NLI{9UfjfI6JS5WE^QfDCJaWuL^-kU&vLMxkw64$TzT&l+Yx_@O5~pyy2q) zFtQ~SJ&;!@FLmo4>$*0{*Cfl%nyR&1Z<9Rr>I3`my-o7ind@fb!dm%`Iui|@1rubi znxW2CGu1h2mYS{lz#Mbc9F?RsHAQj(1P8QfaZw5BYrlvnr7;U>BSjEeUjZB&saY)9 z+G(w~Hd)tOTk5!(Puk8sX*zUNov-Gr1!^H`FH(!ui_{Xe6hnp-B)D#_pX(q3sBkIb zA@Z|I@`|CV07p)_Hp%VL2mCWl>qhGa3)v%)-R1l_O=gKq98P&6hf%`bSJS8Cm9-Sn2agd$7oQuR{xGN82ke8jr8s28it)Jv=l*3H%}TU1LG z>T>H=>o)6l>kes-P>Iy)in64ZPED6ND#It1!V4erQ*&TQ{zQ+Y!eN|KRI)ha_eK+k z+rL+I8=^NCDpI;N)z#`6;CN7;bogeLEZ(fH_B*rHE7hyyfUMlZ&Fa-8p5WxJeBUna zT6G<8Nxy7XuVp>nQmAA3$OiRh zz)JdWRyVL7Fp$+-)%EIa>h0={>YeIFb(6Z8*odqSq8rH@uzP+{4t)zeYi+i+nNDk~ zwSAIJK8OM8I3$07y^f-N+fnjesNrsP2U@vPy^(mXr~n2MV4|{>MlJ0fcl`iTYV@U18ETaR>M152$^3EzT~@Dqu|M%b2@KR&hxgWBL@_Z?mwhn659zb-nrN6H;+~ zEnvd^&*C;~In)OWJTEJ1D17EoLo*8sGNWR<$3~4SDVm#?Uqh?uq5sXlg8Xu7H~njg zS9t0Cw2}Dij`pv}&KyM7y>Y!eD|2ufu9I+mYC+zlF}O}iBXFHvK7V2g zuDjy;{<$SXCgQq3uHVZoA4b>ljH!*5$N%%O6Vhq8!Jl;<9m6CcZls6y}eix{`5yz*j2!i|ga|dRa+2J&X1@SIx~EG91@KaJ@6PWEkB?f1Rg`^Ch1FC$8?9C4-0JK5*h%R8l^H z@PIzLw)zSu52u~LxuPq8;=sX0W=_&_d>jJ!@(1Nab4Fyyo zUL}AiMfjQ^N{|N^_&x9hJ<|8)I4Kr^d1|fQ2Kt?9`O05Q z5uV7Fb=l8RKkc@qqRoW}z-P*~$-YaERvcU(eY8>J0+F?q0Aexg1`i^I&*)yD)?m-6 zZ(mi^dJ)ZcUfZO+V{!3~SC1b) zYrEZsj=)%%VQ@b_*-dxA6|p31|0nP0;oDyIS@m&wb+7s){vND&uJVYm zaa?&s5PxR*M*#J{%+G_NVF;mocqFchswDqN0_KH|GX%5e`)jggNTALDUL}PqNzjR?DG#YZ zG#*M(e?Go1Mm-^1gl{A#sBJ~cbVLat?D2VNuQ)y6^1a z9D(az1O-oej5Zw7Z7jT_DbfRNU)vHdAoHll-QX0aWP(BPyF*5X_7*L%aZA#&=AMR* zLf9H*FzKM9SZY!6;u3PyMM=9oYItE*cg(<|W1tbq&LSAbei|?BC#Au`tn!it_C1Y0 z9LSvXBGIlf66@MPt9L^?dm^nX8EIT2khYbMG_6@^T`p)@0^DBA1hSIWA_M#eb_)`C zwjvgOKitQUBGKhp_7W0H-e5=B`_Mq2v2WnQ{)L@Y6vd@PD0P*_N=syXcR|cPN$HPZ z`zU3CGF6$a7PPs+dgdFb&mB*E5m6s7~dsq2b`AYdw`2!)Ma9$5F znD)E}PvR+vETr?9JO|G5C42?H8cyTQa0l<<&+=E{xIF=H#Tk{UVaU~Pg~@sna<#{* z(=aD1Q7=)~z_8v7Lw2vaUwunGf$ZzwH7D||qmXCa2Vv2PT9$T^c8PYSb_;T;_h>I@ zZ)qQEr;#@u;b`XQ;^^%d?wI1paV$he^o@?~jz=6X%KYbFoK9y0@I_DX%T(t)=ThgD z&fA^4ocoZ=eA0Qw<#IK4b#e7`jdf)rUwM`5X5=M5<2vm6%=Mc)%-zx*>mGuf<3jgx z_l@qI?x)>{-CwxR>L#*?dn0c+TVJeSgY4kF$N>IKKkKQ3oZfz(bY$-e&jw`bzUcYD z^HW$Da%_8rjStHUv%)rnJrH&v?BlTC!z05xho^?m2rm!6I{dEiec|th{}d4s(LN$M zVp>F5#MKcyBA$=5XZe$ym8n+^k_OS6CvQyh3V{{gBIB)bm#B9z z)J?6MRrj*GTkF19_p^G=dL8NwuQ#vW+IsiZJ5=v<{mA<9^(WO|RR7lcPt`xsKyA>z z!SDw84X$ahyTRKH{%F{|VM;?^!_^J%Z+N)juZ@~EN^az9w5HLnMn@a{(KxE{;KuVC zuWS5h;}4r?O*%Ij-(+EvJDR-MYPzQB?xycGV>G& zt(vtO)~dYKrdEeqoo(Hr^~Bc8TkmT9VH;1Iq&9QgtZ(yNo6~JuwjJH};;t>C3TwL z>Gn=U-P7&k?hU$+ z>b|`Dqusyj(YD959_xDS@9}4JLUca#+xsz*F(YD@$Lx*yF}8DTR_v{@N8%#lhQwVO z_gLHy@m=D5@pr_(lTbHdbi(Bc&n28s?3q}Scz@zoJ=^x2-Sf7d$CBzLjZ3;R=|C?> zuYtWT?e%1@-+L$aF6+I!_xF9e^_kyiXP+%bf_T(>8I;G4@xi{szfzbm?20k+I*VNvr%To6ZQU?tkv}Vwu z!I6U}4!&jZM?+c<$r*CbkkdmGhAthtZ~oo8GdE|RnKOLOZF5d%rDolf^-Xqi_WJCveEoda`M#LjZ|-$-zs%{EbA8TN zxdU=<%srKtns-ay5A%l2yK~;J^T*D=YyO4&$@#kq+y%1>9xse6oL~4tQH!EQMQ;{& zDPC24;-cOc-Eh(Al946bOO?`@rH_@>!=&_JdB^gVSA&6$IDWdZMsCcWX>heUE1c-6_xaz{ybFV&hP2x3oTwmr>;s_-*jTbs11+Z-1g>cZ$5WR?kz`e9eC@m+nU|B`nF$h z&%XWe9m#jxe`oVM*WUTZ#=MR1Y#O?0&*t`STPJPZzb$Foj_pmhuibwB zuEM)c+&$s$7k2dAv14bmo!8vM?<8c8J#zPR4<$Wx|HJJbzU`5^kF43F>{-0$^rN|to_K8PV{bk_;_>J9_SyT$6WyP< z>&aG6-uhJir>=S0^Yn_RFFdp4nKS!}_nmq+=h>6bWjy!(^HZKb^1}ER4!twdGyu9SN9xDIQYnG39mhJDDlvq*L%MH*c-jx*!yPR zH=jN{;PA6=4SMUPBg2opdUVXuH{YK4_B+RB96Rw&_B&s`oB!?)?=5)m?E4lB`!ye$ zAKv&;vyV0(?{s|EiNq66eLU#ngP){*^8U%Jliz$=`sumPR(u}u`Hf$+{9?zKv0py< z)sU~=_ZCOs5YyQu^yG~*l>H*C#rhs$yK=xI`m0c)=!g{3~p!gH4Vx0AraYj#@c}+`T|E8 zeY~sARFMr^$z}R1U#~u|zM#Gcr|C;j$p`!%bvV(r> zF~ZI2`>aQ8?(O5SK?3gWlj^5@y>2~fJuF?$lcHpU+awQ?pMT+U{tDRpnq1D(XS~OH z#M+XhH34p5g#sVQ`gSN3E@c&6hvAVmIh1#@OPhP)ccXuG>eeOht=zG;vSaPhvFFjT7Z9!Y^J=gS)q2@U z>umRORCM>m=-8ey32{B+*cf~X{Of6Vy>eAOWK}V!>LpaQe`-!3936_mcrC#$dvtX7 z_}KWwp0RO>39)Q&boT_iOgT`rURrO8fKU{M#`-qg=wru-5G|n?2}avAxP41AWT*!X z30WPn8Z)XCfA+{h>urkkH9(Yf8>Rx=Dbk0$ktYx>ycyY(2 zBDdCSZg(&?c@i~mLo06OPqMYh2zpqXqD`f!q^xZp#nra!LYXduNPj^q#`Fal3UKC+gU`AsJ1|5S_iE+to!OH*IGwRUSu|v0WOl?DI~w`@e8?*G%#y}Y ztd#>B3p5HA%eGNm#5!!fg-BT1!o0GqT$|UHXiH_t$!?Q`w6jq*YfJoLAZ?j;3ACRL zLHcT|w#-&;pMH%U(3TA7nCvN<_Bgp-qqljGuLI5;*5*NMc*_0)aZPPRkyX|pM0s%2>R zX!mOOfvdsW7?*Rw)7jen+Ai%Xb&~cVIC!`AkoK^agOxn^Qx6cAqXT=jC-D9x^Vr;0 z;+yL$De+|w&d#B@m}JpXxspV3Kc(`}s-ht!MFpb?;S|H93%W^p1;~r4$RDEUum2}m zIF>^cEgV-=iX5t z`WLHA8(WrZCkmCy@VoXF6I-<>wWHeG+A-_6^_lgB^;NZ%7cy5}uBSme<$48nO1oJ* zuAM;pA4mJ_B;*fGxAi%-I3F&g1eS;fQTi?g11M2-k``Mfb+?vszt+B~Qm)tflFFSc z2Y(7WJXD+XpOtk+`=v@*jjXS!tX!G+N^R?f)_1>yqQ^H=LPk~zQBDsvp&N#;0WD$ATbw#?ZPB6DI$&cw(4Z?vZa z8AOggLG9^RP-m>)G3_`~WH!`HnQcv0C26QZGHE$l8-h>r{`QP&j9nQh`j|{Q%50~2V!N2XZ>Tx4P~+07XprX?zrObnB0!ljy3F1h2iaIVaK($l>)q6hu8I?)NtHvFVjc5 zG9{{%&|>|f!f`Nbk=?vlE`6@>I#lR#eI~^O*txf8F#}=Wutp|k?ArwO>;nuE5%4#Swr((g2O-XWO1Sv`GjcEUZh9s%v z`+}}xkZusrutfRZ-~mj9@Jq6MItf9H-jXM1D%=z0O+uK8L|1?OPV~2zPz}bNNm?&_ zABtM2E^?jFDhA>-S`23oUMx4ky-Fqq>mIatiX7Xe#S`AF+Pu_pPhegu6faFoXZWY3 zaxyCQr{e*~gZ?Zy={nlxcpzX`BQ3jT*36&?SXKVq<9IZ{pLK=OnE12d-{DQ9e)=bb zj;E?=vS&d+TEP9V<0)H{ISvrh2&JA>W0a)KCRrnc%dW) zyO;1c=cW$W?vAgki#*V&kuCCSTBm7y^rGcVkCqw|liTb`^FuN$L;O6%)QFx=K@MUJ zJavA)K@Osi7W$V~WtJZuKLwbjsZd(}V}(+K(Q_VsrHt&Fj2@vh6H0RuE--t7lub;m zLfOAH^LPBn_c=Y)v5Stiu(8{*MukGF>*6cfEm+|PJd*ga6+{AXZ_l=E-)cJWKM+sF zPV?ipEUUOGW?yyI4PX`w-Tq%4hR){bX^T)kb+)a{r>%v8JAq-?rUJ#)&BK3f@Ho4p zQ9UX(Dxq?t#tCJ7uu;SQ?%;V9%#Q*FDfTO<&;mU{R9Z() zvoV>JfZ;>ZeE>e?&IU8)X3qCz%#nVLszb$@>h#;ILg^@!uK#$bRClvEVX!)FgVpb5 zBfOD+4f6w`bP`Hu8Y=Lw*>r?!A;#9f|I|t5gvsixX0pnTb+K{TLTd}mkVZ`b)+lLX zti&xXD#VIsyoYF8!YA%j;2Qp=xkXu6Q#BWxu+Wx41z2F^t1?2ISDn+6dIq*kmX2HIqvpk%~=lnE>a zjn)QNpt7hiqYz6Y>^W=|R5}hgD{RsRLP?TSUU*Ysm?!qCB2t_DeOr}(6l$#otb(Am z>V)0uTvuu2-{jojwlT!gfb*B{@WxkiDL9mD1-m5AUJ^P?x-&3(es`*uA>q0 z>4PCncpOHC9I|+dk)cM}ddSQojKhq>J`NIU41~fc$PL^J(WZNSJxniS?S!7o0ERwcmMw9df?xd z)?QLeMt+9bd`ueLd?nJsO{*ozaqGesBnG1a6OO~r{>|*4y5v-x0fQ9W%%qtv%Su2*`VAksQp!+MZ@7b*+ zzhma28X+Ot0*&-PU(pyuRPAahh=bLIXz1j0>AA1ym)tuD<}>v}Udz=A_ET8UTAxTuV1&|#EX=+_c~U3?gz|(?o`T4IS}1$v`!ho6ADO&}*t8$SaVsqHTe>th z5et0c663o^$MuR%jFsVvgm_5hxOhy33aam00tS-%pTMa(F0;^=kJW9lm@UOZ<{)B% z*v#!%ZB-F3;X4sAnF6{W1*QG*66d?r%;{)aG8x14<#Fl1biR*e&5lE4DR(+tr8{OjH=WH+vkMX3YtaCAM|JiQRg3^ z_%#4+Z}kF?r|e9C@q+`|_FR%j%Pxhs!I0i8z)L;Dy33AA$86842H@YbYukd$rc}4J zAa^I&wpJIp=EWYr;M5#?sl zBvm@9fw4)z5OHo$k_WN!Kijb6vLwf;Evw10?Ta#{+q@DJ4GXbiYp`o87)Va?PzLRG zCd-5@F2V@*!5%I}4tyTuGG)Yr(XjNH7%fT8GyY*Lz{Nm{8m3R_LYZo_S!e&2SBd0* zMKf(BLz@SsLIi}e9E~$F@B?#Jdu$NgV99_3@Eb)vhfsi+a!z20#o0l#UK9Yrfbp-~ zuIIwaZ2!`H0*r&Kkh8>u7y!n>@B<*$`npzN2S4XYq_SV`y27w0X@4Aw$bY11T+Og4ft>Y=zb&f->^)R3OhPU6Sf;}EI+NEziQ`%0mVc!WQV|+|5 zHrOGjHS&tkN%*Ox@7T4$bu&!i5X)?{3u|br)vK*{-GO>H+9g}>3#CLBoHahy?g(}m zy-T~wwav91;khi=4##B{Hh%R9CC`E)M98Ut9QQCZ|MiH6>k)9k9vX~+ybKpCa;bW) z_sQI)h{Rl>^jbyWUFrH;N`t)ugVGQXmui;`teD|A<}_n+2tjP|AdIlP!*FNh5SSARVT--Jo?y8sUu)4ATX+ z;KXc_wseL-c1K{hI=A8Wx=nW-cci*XKaE$-|?SiAGi(F*|oZb zhR!awRcFIWMk?6|q(I3==m(WZ_85gfX~0VQ|F4H=053rYp&N4*x16g4@ZwIcn5h6c zwsc=Al#2t{fqQUv?Zz zEv#?@)5IB0$~3%B0TjvD82mm6ts(-EcO8==JV^sJC{Jm^Pri7Hj#J50gT3n>O|Hp6 zAVZMI9V|^oI%o?0Z!!G@5I3!MroU7uR)DOw4x>3&oXzwJlt=RSb4T1J>ddIl^cdU1 zX8L}}7q=t#eS%wOhT;L&l`&d%YDzKx1Pqg)*!9oP@FZxD_gZNA?_qX6dYNB4W-k-U ziXdjm`321O>Pd!pToMUo7zcmTx9+ZkDi>8pEF|Vi8?i%cL2OmFBg3MC>HY^~doU3G z&yl?XJzrTnvM(3P71fa4)8=Br`#<60NL0D5Ik~ zQRmL;7=^08%EoBlzll-X){O_I0xqk+VpWpNwJ`mEL#;lF-aZzJVK)L7es^VsTD?YK zVF9HA!03QlJrPu^@szliXeaRz@@rSC^(xfri?&+5I;d9Hky%fs)25h$oe7Wd-qX zO<`)VkFaRUjons*c4JM1yk02l1B8_BF`^$LPPAC&ugO=xf_xv@qV{p8h z?N+563A@|0*?Um;kypj`xsaoth=fIkxMw4Uh)r|B0I}`#844eejDcwPKTRfP#YWb+ zN2QW0BN!C0>j<1RfdKelOfvHQ3;Sp~RLPpEHr3FExxWZbHLTZ!a+f{Ru%`>(FtJ@r zc7N+kb${>7a{pi*6v{0!8{!V3AcVj9-*9>OS678t#pgiv^F;N)>MC6gOk9!sVH?G_ z3gtEsosvJ=Bri3CgEto5sMu)R>qgnQ22vDgm=P62emV_V(9dTi^R)-KSr7kcY|>yxTRAiV+Kr#B2GkgHoY0^KQ;jeY`2>z3#e zgEUwgl@wj5U8sIvL6<#0UxK0i<A!>L9>8;SD4uH=2ndF5t-v#EUBYwE zAp0j^eO1lu|3d|u``T#U97OXrLi3&w_WwKnd7GWd^+l6FVq80h6)?L3uCSU2_n!1n^qB@`IJWQkFTP=_8_z&D57SkLDTvv zMC71ZJ4(Mm;Mq|qw^B`j7y^Avu|3kfq>Jy7E7Fs}Y_?CS5AHpII{V9(B1m70%RPAF zKs2(OY;U=GJACD>^g)h8j*UXew0;rFqf%}gQf}+R;CIKWogej)`Y3(0bw(&ng|bs9 z_X}nBzaX*$Nv%PVtxo}`(lXYHq*gs6AQ7;f#}?W52<2YlRHU}T-bxON?9kY7EJQ=C zzD9jy1<%g4d3I-zXYV7Py-|ik{0>%NSmyhJIzeufbjBU><&A-8rNK;Un=)6E@rk>* zLr#o<^A;i-<fk0)D1_2YK*W;C=XOH!s2~Z7$I7&popi9C`lt#U=>s;M-KhJwKxpE zG`|3o;eH|}#TZi?YDoJg zaUG98iV_lo+lk**S<7y%oqSK&BW?L#VYDm3XjfHYG|U6+xLAe6c}OS^2N_NBSuidZ zBOOBV(KNfREn1|HuHdsT+O{&1gr90s-iMF=AA!!k7<5 zlO)%Gg>ZABS(2SmR)mUi_PP94<#}gY{pmpMNbh*bV$eG=rPF}RaEjU8pUqhk?cG$KXY{O^d6%_cg^FXHjYR}fwKMp*Lh|wE3oB{qG5~v>P!5N}##Vt<2I=41uoj~GN2o~+%8GJu9Vc8=vIRf#YA2iq>uAPSdz`2vkLq||)?pUp73LKn!PuX#-n#-? z8Nix&!T}v`A)Vku3EjM?1RHc?cLMBzUY1#y4Ngs=zQ|nJkVlhIQ6wHsq>7H?QU6#f z%`I9O0yYFSGy>RQs^MdRP0YplEFl0R0MG&eqY2<70H$H<540Gx4}lsAsJ4I_Mo^#0 zhBlyr^+U&mhlWL_M(+jM^aE;8l9#$^Tya_B;t)u96 zn$>B4So8;>{0Q}hgBfVepyw}AqCFv7$arRw!Htw?j`a@oC-~?LvmyDB$$8w%K8hhu zX6h_k_EG2_GT1+6AMGGRJ8)qy4!MJjXEyDv;mJZD26%ipLj5ASgUnvJ)5R()If|CT zN4lY0fjy!8WV);))_r-1-lszOg#?)}jDkD$WMr4yj1t0Go_tWDkf`trQQ?n&nF@>0 zgT-Vp1gTIN-MxQILTQDrwYVQ<6{& z;mD>+1MeN6=PEGsWWo;8jv%wl5ctZY-LnqR*Ap`T1USdA`&U^SF$|B4Vbq4q3xb37 zDtI@D%vkIs03XnQicHU4Aq=?Ab59VN_Esz4I~%Ki3a$`V3*}ly!m8~XuN20Hln=oe z)(r)PisMxv>>)x}D?*qCgw3)|lC0d!!W>_A2YN^SpFpmhP-l0erGC>D3tiUD^dK-&@MDgy2N7oZNpKo{a^ zBWLykQnjLxtkoOoT4_kw%16r9N+fOFfwZm1-1XguT~{Dvm#mF(f9pPvb+}{Q-|G#r ze6+~@gC6Z#?PvubV0*`pjz8fCoC;51sXki2Dr~RX4Vrw6C*QLeCt|&f-8Bc}1f?PB zadoKrhuTF=;Kw}cAlx^wt!x{PM#s72g2&<%?P#1m960*AuT}N%>+v{pmX5TYii28b zS(#QAth36epf1Mok;I=$Z@JzHrajC%NQG8H0mowX(h#|TX{21k)KD&C8Y5RSjhBm= zCd&0piJ&mD&xJAv>96l$_p1|u&8cKQZVpm%DM$32^{33sg%~eDiX*afv1x})JuZ{^ zZi{5f+r={L&60_4E9Cs=3Yq?PrObf47D;djEed4=mK-0nUYD`2+hq6)41NdV8!`w6 zUfT>GJY_Wh0@?kWbhb8^{?>b?%k=?xUEzojJRX*uG?IRlM!;`4e{7Yt5~o|;gY&H( z#R*r>2%aqXARL>fK%FtmuPAp1#bGaoDXI1uh>!9kIyg@T6m z^soFg!!TilaY@?}#@ma96QVKY$9|E^mKB+%)=YYV$f;V@S0r8W0lxwswTI~U*mw*K zn$J&p)=6yrVqHa6jJ*IZ>=*d9!L?`AF8l>G0SH_Tq*+%I+WZiIV$B?155&T$PD%JM zdS&Vl9h?_SuAYF8qZ?vSloM3(gPih(YvB%T_7*sFZELt@J4s~g!m*ZZ6F-Kd?NE5# zs)fsht;X#0z_udc;aFq12|Gxx75)PViKSMeG^^ zT=IdKPVj*;R4!2>lXdKK1>xwKk&#`5wW)Bf_)6?aaCocm*1$;M=C<%wfgMy9%bixy&CDV+#QduC#`Qt5xJD|IqMZ7&0|?YD@U=@Da4V zb1lEiCDYXkmIF0w~h?O{LC{fZnh8!#(JHDk)UwL+^iz z6~hVm+=I_^c(uiA1HK=?dKSv$4(j{|q4yueYLjhvZP(U2Qt`^d^$vVq21u#%q4&Lb znRwN~D-y4|c-6zJK45H}Kg|8DHq4od1di|VnT5|E@SCmkTS4cy(nsPo3a`Js!8S7lPVwY!=w>VSH6#s@9?tXKGrYe9kT(vr_1POQ01S1+CM?- zbbR!d2UFl2U2u9Upf{*{*cYWTd47R>Un1Wxk?+gpJKUXRQr+YIYIzNHkEd*P{~FXi zCB$^3w>#*qJH0{G1H@MKzt98>Z#(JjetO%Dz6RAils)d9#z3>x{7R_#l~D5}k*|`r zz@Na5fj?66ZKR4vmVWqYV%ZZQ+y6IH|CX7G6WaRVWVU{+KO2C3(^A+#tg{`&1|t?f zlnrCUaca#->{>Azr_YVWxk=-3dR!V#v6;vwvB`+=PG!^BbT)&{#HltJY&IgkbC6d@ z5&XF<2a(@AHcw{M6(Fu(gj~Ce5DB(V%UXbye~S)w_LU9QtQYi2RU?Sc@DBXk-CzM`7c~&UT z3*|+j>=(+*LU~mv82Xq1yeX8ogmP3U$At2pP(BdKM?yIvluv~6sZc%_%9ld!#k#HomHBfg9HKH_x54-r2`{1owX#F>a+B7TkdE#mixKO)XX zoQpUg@n^&ZgW zqlwYfXl67wS{N;jD4ZGA8s~+zHQE{NaaLGIqZ7^(>tb{@y5a1g9!50I5Q{b9jChTHwNIeu@qyVk%}|M1{*_+p*U}BxG};QiPOhM8)J;I#yDfV zF~LYP(v6A6BxABM#h7YLGo~9ejG4wPBg2?&WEyjfESyo~Gv*pOMy`=(%roX2`9^_J zXcQU6#zjVnQEHSK<;DVIp|QwVY%DRB8W$VOj7xB?k!1*DxpA4X!dPjnGA=i+FjgCD zjJ3v<##P4E#x=&Z#yaCV<9cJgaf5NAag(vZxY@V`ry<>D+-}@q+-YnyHW{0ZEyh-3 zo3Y)v%edRvVeB;SG43_)GwwHb84nl_8oP~$1Wy-yqIJ9AlLVhE_!PmX3O-Hn>4MJ? ze5T;D1kVtBw&0n9&k;OJ@NB_-g3lE^NAO(1^8}wK_z(xj|u*`;ClssLhvUAe@bvnMV}FTpWx35{+!^?3;u%OFADyW;QIwXAo$CI zzasdnf*%z8HNg)F{<`3A2>zzvhXsF2@FRjB75r_%j|u*c;O`3lp5X5b{(;~h3jUGc z#|1wj_{V~OBKS$cKNb8l!9N%L3&Fn>{42q~7W^B*PYM35;NJ=Uz2K(>|3UB{1^-F# zp9Mc7_%DM0D)?`L|1S6+f}a)qoZ#mL|5NY_LS;f#gvy1AgO4?#I)v&Js!OPDq3S~Q z2sKQo;X;iNsv%UbP)(uM5o)AR>k74=Q0oh|flwO?wUJO83$=+*n+mm=P@4<2g-}}x zHA<+hgxXrDZG_rZsO^N>UZ@>}+EJ*TgxXoCU4+_IsNICxU8p^T8ZFcqp~gbmm=2ue zVVTzH7c`zHfeDerSGV9yd?ONsf076C3^R5ARiBM=j-4|PF>5*peX|#5QR95&#;i5cjACFj4S*#y4HnEwb~)UczdJ9uy1L?A zDXuZD*{(v@8rSWvM_q5Z-orU`U%0+|W|#;a=z70GH)mdJ@j5>#O(Ill6i6Abp5FOdkQKPG7Izq~D_7j!c#< z`gVPXey_eu->pBQKc+vSKdnEjzo75eU(sLF-_YOE-`3yNKhTfspWsBiFZFNq@AMz^ zpY>n$KlJkyyZ1EoM0vV<5*`B$cT+cKoJ+FX^MuKnwKLZO94@q97N;9IeCWF)!utut*gEF-aFgl zYS`|}ecz8SKXCqm^LoF|Ex5w|(#W-uHd&`-#wp(2p>H zFpxkd1Q9|Ap@cBP5JD;;pD=|mi(nzN6A;33!WP0#!Y;zUgad?wgu{fRUT5zF;S}LC z;R)eA;g=uFZ=_$O_mxAm_jQBREAPqulzxSN)BR@oHT#+UtbTUCxqgV>-(HJvgWo~F zV}AGj9{N4@>-Kx*_rmWLv6t88BN55OKq8MgnmCSFNSsEjB{mTCL?h8eY#~~RHexFg zAhr>^hzp48h`We;i2I29i5I-j3HQ8D2akwPyiHF2-xg>5Z-WPW+gt4IUYWOdC7sU!DJiT|4s z|1%-dz0;w|n_;szzjkkSo!;Dbcr&}mo4YOE%{BK6Xa9mGvu@6^W=-6A>0nlh16OMxk!6qJHf7El&>ZNuG^$CPf$Gs<(yOUi4? z8_GM%dn%2}pfagJR2G#(bK^sRKPm7=>)9Pt+XpJ-j zt%=r5Gt;azJIz5`L|aGOK-)yyLOV&jM7v76PP<9_PWwskMejrJM;|~RNN3YS=qdD6 zdKx{0p5?U`bLf-k`Sb#M8GR1Dk#3+j(VOXQbcnv3zLLJ0zLvh8zLCC}zLmb6zLS1~ zev5vGevkfu{)qmB{*m6pU^0RjECz?cW$+l`j0p@rBZo1GkkKLW-DWCo}M z3;|66%>gX|mH=CTJ-`v*3|JemK44?O=76mM+XHq6oC~P-FuyT>Fn zSa4MEXD0o%yk>GQ|&sl?5VXWU-QLIF-Fj>#Cu@^^KC_8>Ne9n5C4L)gRE!`UO)HS7kqneAp{ z>?Q1V>`Uys?ECCT?8oeG_A~ZN_G|V#_Ivgx_Gk82_BZxVPA^U$4v{0~C^*HODV!2c zDW}ZqSx)Et#i{1ha_Ts1IqNtZIGZ?IIXgK2aCUp0%YB>!oI{)=oO7J(oL8JrA-*Bx z5Ozp>NMeX0BsoMGq6$e5$qZ44Yza9Kawg+1wm%9(OWV!!72P za?80hxHGv1u94f!wQ%iR2iM7M=l;!I&0Wjgz&*-6$GyYt=Dy|jaKCWBaer`sg$@gy z5Gn~(hUSEphU!8Mp{=2gP-mzs6b|hSMMJUBrJ?IWH-w%Ky&c*e`d{cz9)UNQN8!B+&q-GgZB?_H}5#_JntIs2JaT{4(~Cq zoA-?Og7+${Zx|;`9F`ka999)p7p4#E2=j!k2-_I8BWzFDiLeV{cf($Uy$bsj_A|V1 zI5Rvvd|bFNJStoqE(w=~$Au?{PY$mQH-^s(hr`iuJbXd;hVZT7yTT8K9}YhnemwkS zL`6hhgek%r0Y+dE8zOc^oQ}8=ai2ecPvZyjgZXTJ2tSk`#vj5T##izS_@(@E{&fCd z{06>(-^BOuVSXnc<>UMf{GI#*{FD6a{5t|4!9anpz)#>WAPJa)P(hd=P7p6h6et8K zf>gm|LAgLDs2AXZ1%gF_#e$`R<${%hGlCw$XTev&cfn7=ugHOsBh@Rr_P zsE<*fqrOIckDd@Mj#fmcM5jhijMhZ!q8p;k(Q~7b=*7`%qPIsMj=m9nEBa3Kz32zg zkD}j;2a0{geqw*|U@=8pDXtP%i)+L)#52XS#P#Ai;zqGSY!sWs&EgjE8u2>uM)4-` zR`Cw;KjPiuz2d7eBVwXr6fuP{jWM>E&KNWX_u8kcW7fv3i&-DDA!bv|mY8iZJ7WHc zIT>>%=3LALNnZ&;LX?msWC>M5mjp-xCBc$mk`aGlr9aB21}dnS7!dntP@dn@}-_Fnc; z_Q`9ya$|Y1Lt=-<4v!rbJ0|vz*m1GRv5r`0tSh!7)*U-97K)u8dp!1X?DN={v9Dv_ z#=ejJ7?&285tkX46_*{C6E`U?FK%*NVO&vMahx`;ByMV)F>Y_%zi|iR4#gdbI~I2$ z?o`}I`5-w*&Xx1zL*&EcBjgsjO>URB$^m(syj|WQ2j!4_zPwY8$}u@E-zNVk?~#9z zf0O@=?;YPazJGjOd|UkA@k`>D#jlKC6TdEjo-j5cH(_Q%eZm~CIop_ENN7rENiZka z5*!K6gtmnCgpP!{2}r`Gggprl5*{aXCp=GhmGCyxP@i{pmc~Wv!a!vA#WL@&?Z2mR5MgFRkKucRC<+BWm5gCx}tiadZl`! z`cL&y)svQymX)SX%TCKlo0OKHHaSg`HYKejZED)Iw6e7Fw3f63X@}B|q#a8;nRX`a zT-t?nLV9R=M7khdm>!)jNtdNhNG#tg zq(4l5nf@kYOvWD><1)r)@H2!NQ5oWlMHyQ%j%S?AIGu4W<6_3;%<#;yndx3%xGYoW z-HSk(Yco$|Ud{ZFMa&Ax8lJ_^ip|Q-D$lCSs>-U(nweFf)sSV#GG;YrS+eX|K$a^D z%!0D!XCYa8vaV&_%X*=vsTt}(b^4pE1y!_-67zpKZoC#d=AW;LQ-sotPIu0Ewc zt3Ic`sJ^1UroO4ZqrR_xsD7mGRzFj}P`^}vRDV`~Q~$^wkR6!K$_~lqWe>?7mOV0i zO!nC9@!1jCso6WTcW3X--k1Gv_QCAK*~hYvXP?SGn|(g}LiXkCE7@1G?`1!nIB+6i zB5~s2iPVXViOihP9A{2@&fFY#4wwVw%+En{u$%=sf9EX8S(>vVXJyW+oXt7ga?a)o zbE9)(awWOa+_>EM+@xGZt}-_*HzPMQH#>J?Zcc7qZc}bct|ix=3*@?TJ0|5$s+|N+ zLMCC87EJnk($Y!G^JIB>c}O0X*Oj+0Z*ktTycKz?^84lo=g-M+%-81|@=f_I`4+Fq z+?wyqcjdR|yYs>PdHHbu?)-iE`|}UwAI(3Je`@mT$p;F07xXRYU*J>VTRKipTd=?2P{GlH69uOW&K5i^cvJADa6sXpLO-wWOev%nG7EzWM;4AR zlocivY6_1B6`u7qRgV~qMV|WPnC67wFOP-ZHFL_b& zy5w!i`;reOJtbdDzL)%%+G}d>sePsrriM>Vnwl~-b!z(5tf>>H=9X$p_m%E1Jy3eE z^hoKk(i5d8OV5;^FTGfLsq|{;wbJXQ|4kb^?ayfwrtzl1wawojd(frKnO|DXElJ$|~iR z36+Y<*)<%YlTs(w{IRfDR0s|Z#8 zRfDUjRkW&rs-P-X6}yUC6^#f6<2AiN~_ANDyyoh{i}bgmQ?3f=U02z_to0! z((3Z+8P!eI&DEA_do@t)s-9a7R)4MjQT?l?S55DlzBT=82G$I!@v9-#kZUM4v>JL1 zqb8(AP&2tkQ&U`1QZuclqNcKTd@WkrRlBfuQSINgOKO+ZuB=^EyS8>i?WWqzwOebq z)o!mnSNpN{bM4pKA2WK*=sTnT46Lqi-GI7*b%W}B>-_5c>&SJKI(i+mE~qZJj$Oy8 z3#sGR<=1(I);eunXoWlsf*AFbRw^0F4e{9;&p3v z8+4m=n{``s+jKj0yL7vC`*a6%hjfQ^M|H<^$8{HUFJ=v%MV&>T#hev9i!+N`ud3fx zzq5W<{qFib_514g*B`1sTz{~Ea zj)ss1UPE}pkcOcR!x~03jBXgyFt%ZQLqr3=A+kZ(AZmzf$Zs$;m>aAOtqsnG_J+BQ zevLyKqZ;Lns>YngDUFSdw#HSBTN-yY9%{VWc&qVgv_04*V-lhljEA*@MYxL{&oAg`sNAx%KxAk}R5A=`q-G%{%U<2C_ zV&EBu7=AOv8FCGIhRFtvVTz%|&}8r!U_++?Gb}JHGORJ|Hykt^HXJjYG@LeEGrTgq zF}yRpH+(XDHj<4)jl+y1jH8Ud8^;sj{isyV!R& zxtcnfz$U0^y_YRM&~&KjXwwNVJ^4QiHt#t&?+HATiEN^p7^XneZzh3BXo@n$m}DlE zNn@H~Dltv-+Vdw&cTD$94^59uk4;Za&rL5)uS{=E?@b>~pG;p&UrpakKbwDR9^O2v zd9+ulAJ;s-IifkTIkVZ>>}iIZJDa&#c~$eC=F81bnx8elXnx)Nt|hG{ zqb0K?%d6Vww&bwUoD1w%A(!Z8^|#sO4zOiI!6>XIk#Id@%Pn z`OaD zLbNa}OiPf3ZQ)vYmT-&Il4;ReN-brU>6R*s!P0JVTjp6{3u0Mm`Ny)yvd?nBa@cao z^4QXCd1iTOd1Lu$C0Qv}nl->0WF2l5TBEFDtJE52&9rK*Q?1ji71qD3_10D^U~RK@ zSV8MD>vro->n`hF>wfDQ>s{-8>qF}k>oe_vfNi`@ZcDHw*-~sOo7Ohd zHp@2K)@U=@T($+azimrw%WbP{J8dUyr)_6#7i^bpk8B@ppKV`lKkU8iBsxKxuf3E;Ltma4wIwBVR6_Ttq#D^=4f}!b$||! z19o&ePzUZ<;8^5X>{#kp?pWzq?O5wr@7U3HM#&+*am+40Ts6X*@}1AG8qfC!KPGC&3BKmZU3 z1Ose<3xokff#JYNU^MUt@Fx%fL;_Jj3?KvKKq8O~qyp(c7BCT*1WX1rz!YFAPzFo~ zs(@NxCQuK|0U7}VU;@m54R8Q$KnDN<5YP!=zye?quozehtN>O6>wt~G7GOK@53mRL z7dQwU0geNwfV04P;39AtxC&ecZUVP~yTE_=i*45y$y5_n*xIVc)yS})- zy1u)9w)bl9+upC;r+rX6q20fo)IPYK+CHjX-k#c?-k#MyvAwQ+Y5Vc^cOCv6qdOEG z$_`aWdPi1AO~;%LumkDX+;P0)LdVsPdmXPjKF#etH)!sVxnt(?-R17-?!VmC?pk-9 zTj#EK&v7@p4elm)v)k;py6tX<+v#?>JKS#fJU8T???&91yUV@M{kMCGdzpKMdzE{Q zd!2iOdy{*Mdz*WQdzX8!d%ydT`>6Yb`?UL<`=a}b`?~v<`>y+e`?33}`-S_p`;{4h4sSBf&A?Sa3YZ2ZdlX zC;?-^crXb}0aaiIs0MSuJg@*P0<~Z%SO!*rm0&ek3(f>*fpfq{&qDxEK5vJOCa7kATO(6W}TEEO-ID z1YQBJfj7Wg;2rQj_}sJBv);4Gv&FN`v%~X`XSZjs=U>kO&mqqd&oR#l&neFt&pFQp z&n3?l&o$2t&n?d#&ppor&m+$h&r{EH&r8p1&s)!bo)4Z+p3k1Ip6{MtP#>s2G!P;{ z{ty|WK><(@#D=&~7&H_b4vm6-hsHq@AOR$T#E=w`|2f+{m;m|^8F|-U?39W(FLmQ#Z z&{k*%vN@EG_HcpN+)j(`QQ5RQVyumqOD zad14G2rJ+eSOsUmYB&eZgA3pySPPfJsfuFNT-FE8#WpdUzAO72W~wg7?Dv;Y09I_yl|!J_lcfufW&gTku`@0sI(#3cr9~ z!|&h^a1Z^o!>ft zBE6A*h!5h65Rt(M6=5KO2nz{8c*qcB7%~zWgN#MSBYZ@NL?aR;7KulakQ79PWFTrJ z2gySUkRn8jlp^IwB~p#dKy=7#q!BS9&4>lDBLLz;<|6YD7(oymS%@q~mLV&VHOP8o z6S5WAf$T!|BKwg;$Wi13avC{@Ttu!Q*O6PuUE~4s7>>@!6*j}MZ?kG&=Kfp^bhn;Gy;u8qtF;shRV@IG#O1r)6pz+B0343 zjB3y+=v1@}osL$awdhQ=9&JDks0lTrHq?Q(p&clQLTD$7p$pKz(WU4LbTzsT-H2{M zx1;}{d(eN;gXj_TIC=^_i(Wu4qu0=z=pFPv`UvetpQEqPx9EHH6Z!@Hj{d^>VEwUy z7yK+0q1bS26!tqd4x4}pFcBukq*xr5fGIE~mWE|w*;p=?j}>CY zSP3=_tH3I;Dy#;Zfz8BbVY9IYOph5c6V`%RFdNp20azQ>j?KkD%!9#LCx&7;wg6j% zEyk8&%dwT%YHTgG9@~g*#Yom_-XtsejdMwU&gQE*YTV9ZTv2NAAg8H#=G%n_zV0M{sw=CzsEn~J@^;= z8~y|T)z!PJZ&&{=pRPe&gf3zisf*l2?P7JYyF$8#bq((t)it3j&iiGd_t&S-|6NJ$ M|GWPG|E{F}2VB(F?EnA( diff --git a/hw/xquartz/bundle/Resources/uk.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/uk.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index d12239f61a5bf095c75026ad6a85f7a2294ae625..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 48550 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 diff --git a/hw/xquartz/bundle/Resources/zh_CN.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/zh_CN.lproj/Localizable.strings deleted file mode 100644 index f1d930ca0c0d25a90801fbe5f8104ee531611483..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3420 zcmcInO=z2C9DgjB(Y158DPH!j!%>Q)-9>OirJJG$_jbvftu2ksN0YpX&DZkgqwQf% z3~Vwa9u$Wc@fJ_^Bzp5Cf)@qxBJ3hP7dEM|q4D>7p7+V~Ce6wwmXPLo{?GsWyZ`jW zte6p&cwH1kN)$y!xVY7EtK*i%xh3-WE#q`eG$fp_Wr;Tf>Z4)`)D^sM;%@`LHQbRI0$dNcEu3kEg&TFR;#3eNe6k{g6S1?>$`|oM zD>L}jUNF@3ss~JkLoFIoLP|6xCkvAElHSGL6Jg^K`{BZsw386cHmH1!S3hY?Z%wRr z7T=7AwtjNF%klMe=jU5*_a>9wc*vewK1(WhW@YJex7p79nSFU~>_GpGjhD64}pVlJ~P6rBefi=frH!z|0;O=SW-!ff$mmZbm<17f(FJfRLM z(|9s62B~!&u|lbNRqEb^1Xdp*t8^8me<@%~{|AT85`t?~JJK0*ouW zUCVT^$o%bZhq}-IE06PKQ|A2$>B;lC*+bRfqRdfdUD4R={8qYkXf|Jh#5MT*Eh)2V zqzeCKH5~ow(4YU)Mj~zQRq}ej8U{}%D>fXoC%?{zmWX_dj z{&B}Jl*2E59@l@|+8yHJz=9NVmmQ2#eM9o2UF;XCUz5AqhKz1%zu~OrW#C@C_sV(5jzPOqkrsyf}jM)zsbmY@~8VHw=GZ5b`i zd{0ZOJ=ta18x0k0t)QbS9dhWMtZml1+1xm(xZ|+C57su=)gLu`x#t)^(6dGGHr<~a z89Th5INT((*FC&(t1vTie+;y@Rg}niXpYE;sjZE<5S;k5o1Kpxuq^jI?FTjW+50wp z&u}B8CVFbA>C4>GGa<11xZ~dT%97mXM&?NNroD&$to`CgUC#{8gJyf{Gv^Oy_r~AF zFWvF{kvn(t$9t3M6E~hFtTpjb%gx%)IA1hQ?x(Vk#U>5+WH)&~9`d%`aZ25Mh#4a~ z->o(mr|pULQ?c1-w{L-!-Q$$WABp^6VBXhDAB@=Af?2|SnRC7bDzym~kXZ#lY6DgO z_%!{h?$0X~!NCr61y!9vu2Z(E4Mvpzo0wX#tTVXl+P*0Fxiwh - - - - LprojCompatibleVersion - 106.3 - LprojLocale - zh_CN - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/designable.nib deleted file mode 100644 index 68fd5923a..000000000 --- a/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/designable.nib +++ /dev/null @@ -1,752 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 请按住 Option 或 Command 点按以激活中间或右边的鼠标按键。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index e21de5b2cc22f86dddb3939531c50d29fd4165b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44627 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 z zZ-M8x@*nWq`0X(;tU7@QCoCic5TVvnx+1D;K=-eWaC2LPklP}d5Ts+^vJ8ljghmDT z@7I5Tm*EN|$5e!%V-qCDB{;Hzd-du;InfSi(Ela>9-W7r9Qgavhn7|HxBu~*E)n=1 zp!UN%Khcqpfe_agA){wPR(1|TVn4X=Jt8NIUXOw6a%nM9A#gnlU@XpO;WnxfY6F`* zHNh(sJiA_@aTytLUj9w|y?SM5CZ(po0BictfAg1-o=fqje>LE3aim3ehyP6g{|Sk4 zo#=IIxZau&*Et%lTf+6dywpD7a2ath_5s%C8jT2d%|^(w9M}G*;;U&WRDMzfNQ9We?7qwG61gY!}Y-wTNv%L z+Hid*J2Q&HG(<>{5^bG2!!_U`v`ozji*a60a^ywR`+%o#c2r6T#S`k%S%$@R>jl>! zi*$8u>7leLE2kGN6Ta*6?CIgOt{}KRVso(e!gswfCncsU-1mp;n4Ihw`Yhn1 zpOlo^B@C{+!1cP6?5^}av{!#WE1mHf(8SOrF1vFm+y|N%MrP+mQ93{y4J&Q--jtre zBZjM}4;Kfa(M$-E+8|77hwLgZ2#2OZFqB>;L-;fU-d=z~V|a%GlpWsL0O5czDuu{~ zY%JIBt|#a-J`h~ZhLV#2HXWX%C23{RV665eEhQ7)^cyYtHY+*7Sz{BZF{Jt`2+evy z;PxK;o&r}r(RFrbBw&~U-$USTF8r1Z*Trk`2Tt;b05Qc@!-4)zYx%)hOC~&#$m-Ib zqwUmi3jv(%5D1QAxUsei6$M|R8NAyFJ%o0GFRLvZAo7t9yWf`GbJbeZa@w{Z3Tqt> zxE61Haf-R9cmU{?10|~yX-dA=VfwD9lz0L_c2YqQdJmwX>s`Yg|PJs;{R#zpXr$_a{FCO44v;R|?F-&$V}@+Rv6v{Mr3JL$XXyC5&UAHA<{ zs_zEZttgaGUGNjaK%%0E$=48Hppb@E^MPU&7Et1(!T!rHa zx!HNzJ%RqyK?a`;315{V!OI)8x)0#m0@90uAf2ciqz}bFy3i27E(Q8B8)!QQ5y+02 z26@PH(E>;$SqTx_jo?Q95RxtqpwA%5;S@TDz5)$&3*7~`^&|9@<2VCnZ00Z;bp0SlcLZeT&eOdI8M&W=)V`&Aq}N04Z9RPp z;FtdTVfxYf>H5X`P5S-%)B2nGhX#Y8vZ0Zo9pur*8FCvF z$b;=-9ALB?$3w>JI^)O2Gsf?YPenznBeoVJ#6&S)oGGppcZ(;*TjEobo2edTmBv6O zDKX7AZ8Uvqx?=jxY&O?|EYC=Ds#!J9H*Yo{G2ejvPIt)X41wIuT+17l)t3F1OP1fP zR%=~rkad7H$NGkKt@RV@RqOAPhtxz0lMgW2MKZ9=FQr%hf9vR&H3iY2`MQJ5la_dH3=G<@=N$S$<*pz2&c0;49Rv z5LO|*!psU=E1a+JN5yItgDcu9PN}%D;+cw%D^;l!RLNFpYNbt;&Qr{M7Sam2y?uR7t2ZwaV5im#gBc4XZ{~9bI)r)#FtkR;yku zv|3iRcdC6-?Oyc?)q|=Jt3Idt$JKwR;ZdV~jno=*YV50V$E&#@E_Z>uYb5cT4Xi?>XKFz3?Jqaf4G0 zal^odDGe7kJlP00YThWd(c(s@8|xakYHV-3yzvDei%+mmp3i!p8%-)S>Ct3-lMkEx z)U2v!-$37V&~IP)x%+kV8}GNPhHE+>8yZOfEKeVXbVrYv+EiSYy*Rog3=`D}6(zWW?YFw*5 zt)8@Q-a4oC*496_@oAIRW?h@xZR@qQwO!fvX1iML;@T~1cfGw=`=RZZw!hw?W{0>A z%R77%qm`q#$H}C%#i?r>UJzbawCDyYqt1 zSG&~elH6r|m;0fCp`%0hchz<6-gS1@3t`p562jJo-S5_-TS2!&-7VdtyD#YeO^=2> zvU}|AiF;dR38;U7kzh_HyaBEIfbuh;NiA4TdTdqpmc{4UBbYE0DOXpiXF z=ylPLVmijmjQOf}{oc8~5B8D!4C=GC&*Q$G`o7usdcUUq3i=)E@7X`K|IPu10euF% zH{jvG&I9KTyfr9r(4;}<2iF@sa`4e1ooU3PbSn*C5_^~{l(r?VPmP0G4Hy!G(8!|!Kz&wkIr zIR-m+=9Gg;>G9n9xf645jURh(ocFj1<8G;;>KbAqY2=IXzT@8<|KPR0ukD^tZGt-C=ETs6 z>nBN*vL{`b+-CBU*M-+pUq3OW*_3yt{53Uk>gUsZr_G!8=k$c>pU?1{F@MJMHuaLc99r9A?b>x!*Uemy*XOSP;r&7H zpW4uA!_JL98<%aWuxZ+6v^jV4oh?JRoZs4g>%k9Nez0*{oo$P@du*S&gWHk6D zgI|5p?~}8KA`hMTwEL$=KI`(?Cx?R%?>o}&$eyFEkM8=s<>wzBYkq9U@xbHTzX<$d z`-$c!cARW+a_6a5r*@xid-~%u9nKv1veTEJoeevC>|FS{)8~7izj$HLh3gj+FW$bC ze(9IXd6%DlrGjBU^=swpc~`4mU4E^>wN2NXU*CJ9(~aZbM1S+u&4inGzjb{3=dB6f zS-+e2eU0ze-uAz}=Z7vooVqjc&aJyycc0#y^rPF4i+-yA)3%?3em;J`-~C&^WdHK~ z*Xh4i{%!SxfCmR3_Ih~rQO2XEkEi}#`S&$XT0S}aN8dlbe>&n%!=Lk?HF&oBukL?c zd7kn7x#oS^$?swwAeV<~Ilmh1PMm zy5=f}SZ1$uaG|ASrh`u_8XS-IWcPBuC>SCfTh$HfM)iGlle*bWK>aBaUbM2a%u7mr zq$l}P)I;hW1g-`8=O&b+9?xDbm)$w)vg_yvPPvlqw@aG)4V-IRRB)|raqueE$N8-k2|F#tzX(00SR1D zV+5U`r;XXC?shh&XOOco;H;s4FZG}cX1rgp6gFm$`VllH_HM$661^n2(OwcfpqKVS zFMT{v^LsK6W-*_qP(i4u`8=VcL;N(4=2tF$6snZvNTE87KTw{;rzuae5dcBe5ssqp zFeAx+2n+!K9Z)wHvYb#ysH?FYc+2RYn}-KwxssSSVwn2?<_7`uPax{<06g_VnwsEyE8E4!y} zlK}sK<}Li2H4pShoqd}GYGpF!hKWotjabk~3LTxR;6_I+)&tQE8qag|5ylkYnmO8nLSY(au$1z`sW$c98$^5k&pgKs0ncWQJVFyM^u$vD*nT zz&&8%Z=_K_$lN##lP<{H5F&*r47nOKV?&66cW;=WY!f2jJHR-l4#b>|>Twk*f_hd| zzfey=1Xew6G#14eZ$izh0E>lq51J+nh7w|hp)|V4YTHlaW2;2M4Itcn710-T)#%ZF zfiT+&2&BQV02UU5XxKGH7Lxc_Az4TfQuzd77=MsTIw6f8Dx{-ILWW=$GKDN~*zMrA z2@W9?aLxsy9~MRkBZYkCg6{>M=FG&@1eOv2x#A#6I_Bo&WZIo^9T0}W>5#$!%Ml>I zghijVK%gsgJ}#Z5NI=}85UwaaJveuyRvJwyVPe}=AEcGU(IZlG5>hlSBEonU0@7+@kXpXTa)CI*GQtF5B4{HGf{OH&!URp-XhlpGUZ;_K zMw?Z_WEU3>PJrb)X|Xvekin6hQi}b!XM!tbX^46OQkD{679C4-n_?kelTivJ4PFXK!dBq}VH@x(a4n3u4B*x@ zVLMEI=kR@noxq#Bgx$hNf*n?Qzzf`Hz`xLd1HwW0`~;aaKFYQw*|M{3iJcRZX`G5N zpM$M3V0=xJZRl!~F4>tGJt@IyOp#vDn>6wdnM;KkJ~R^R{D~C~N%WZ`dSyBw%PG^Y zUQ(~Q>(wAHmO3&a2!f<{L{X#+3X7<}R<9NcV*aG?DHX(Sy7E;1UI8!qI^if}n6HIg z^Y1`1Z9r>iZn8jAR!wM^uoG>Ee)#|zxEaLDX^3mF2B;mMr5V%iEu^u zTDYoSRlilgQ*W2a&}VtmY;^@-#xmQ{Jz=Tvo$x(iybCbWQfsd$M)elOF&UgVu$l~c z<$p1M(fI6AiL5Uv?HA$KQl-i2_q4Qxa8tM;|BL^uls|=MrAn!!{y$&m!hbs>?%X0w-KUEMHUnno1DafH+Tn`Fra zH1l3U7Q$h|@x=+#tOXFpulavPm|;-k_|k-74HGD7?2*CKcJ{4bM4)iZ~CUvru?rlxYLo42a z_k!ZI(?Oz5Wzda~kxMf#vgs=5OnWb|_#lB7>_1pjS~!g^RECiL@}XGAW4d)fJ9R7JEQGTX&a7^Br(ya`r9y1< z60a0PWLSz}oIU)F@HSJ3rWxnw&AM%SG)PasY5nDkiEICWj9RbooK01i%Lz<}8ouu7GI1eVR30IDA6`;G|2EAKe%M2}< zu<1;Ag)+|Qz68mA4*#e-honn`-}=b8IuLm|HuZZg+#J(1xBlob zTi3Zwz=7lB0!U7?(bdR~(p~>V_lK+NJqcI+AB)klI$AH_{dygvOj#XGxGIFJN(U)u z>7ssW?i8am=ko7QE_F|!Mz^xGf`(P2v>HamX!wb7kz=n6Tpr(I)X!A$4scQ^Cn2je zZO-UDU9?CwN7!q(Kjl|H#G_8UBoxF3W-$K9{JapSsw^UH7|iw+mc8{ z5Uy7dQlWpBna@D^Wo#ifd~4GVN*-1-{#v-0AkJ+5??OZq}|D*XGTnQ~@VKQf2}yZApS180dZ>8L-a9R*H8a99w7}`4G#L2YB+9Bs$o1l~; zj_#zs&=M+7xE5?a1MV%baGNvhpqO{d^Y2?o_-b(*$)ypCY$QEcOZxdGM%laiB~B}b zsYT6<2_al(*I4ro8gYu*F@)>%cL&``sBTqRsR%7^PN|ovREFe-EJ*C3NluW^GPg;D zXY}b=9OxCA%##B*@|%cC%-SXQNI%wm?BEhGo}7a=DgW zPu)7H_AW42ft3m{S8+NiofT;JG%P7(+{hO~f-rF*>3qHr83;9L)lxq>M1la(zA?-> zTG%eO!3P+Fv>oi4rEzOdK~i`QZ8q~lIB(IVTy&)X;aXFBsSV*iB3ygI?IzqF5ORA7 zw~Kv#Ot^OLK_d~sfGSXHLcaRw(f$EoGB?w_YymC7sBRYEUr>k}PXZK=QhEnK&#_PZZ9SgmD1^U(LfYx89NDTl)U}*<^5pE}QBI&<@ zRi3(Y)XHmcO>x(Mhxh2eXRD;H>u=L#Gf+A$d5iuBr~_6>303rWfdB7O^Hcv5e^`GQ z@6-RHKMc!Uz_F))Nb5w~*n%Q$xuGo)9Q~Avl!3r4Q|z0=nf}gtiY*3<$9Fx3|_j`+O#TwO{>(6 zgzExxD|K_G;zbQv+oR_eZQi7rw9!AS&mugBWXESkjLWSb84~f+J6Us^n5cr!Iz~(SHg8GqC^-o6=-kywPJITX0*HLsQKSPvI8I)R1!%Y zjOo(d)q`+7i;#4GNq6bn7Is$;S9gULc2{?2ch#NtI6;hn)WDM3B)$UN2?5QbC4Ada zBJ!d^l<-@b`!m{v`^5dCb$X*J#y4_(4I11H2jYx-pK? z2Kc{b@EbA!Cwp-|(Lsc=_~g6~;rbSFNYD#?B>E*TABka@k&|{F ztl^`b$7Eyx>&Cx7u{0QfOs|#gx@f}nqg|KQ|Jc|g31WQr1VjGQs5Q1-F>dzDQEN2L zVXBguzs&#-|CYY4C4}V+Q&zavh|=h4Ghi{zP7VaXW;Alel!IY9BCGUw3~v}_8fF=0 zGbIy8xNO3`O}N!+gY*0nRLL+0O*G6k%+swl%-0<A+yVCBss~GB7TRX}{%$rLgN(>AHl4hWDVZHCk!vWx@?-g~dnu zYsjxhWVJBIu)(kq{Mf?`TXa)Z*y}Ela4G6j=HX1IE;Uf*|GF>I0Im}QIJUso?+iH_ zK;@S571{`w1pG}ykKREcDzmZK!1DvQu75LaIsiT658d`M*|Wiw&0{#`l0Au9mJZ>P zndnKNv8m^t{~L|G2#vf{qLHwJV5vr?5^h*wBS(V668;J$tiR^FZq|xAU0xw!Hx^3R z?_8}+DU`5aM>3u5o|ZUEoSz@z3Et`%X*FX}Ow*!)YkQPi!`7AR<$u4ge*-c+C_#ol z%8((0aP~qn+CHqG8j1*8PW^Mkm)3Y50!L94NqxB=cc}xnk;a) zq&D;^p)Y-4&gB*PbZ(Pm+sv;bZ86jHKZ32P*v3>eGU8H4rGyG-rUE*4|0pv)jV7bH zXnYb5Y}9$$0DVa|h*6=jF{202vRF3ATrg?}5H3fv#@Wa=R)WoZjFpX^#wy0D#%jju zkkSq2YA)gO30FWkLb!>9n?kr5gquwV_&-W}F`7y{l#LDXeq$rr)kafM>(!C8R~3NRsld`M^XilNc%g+l4kp_S=-g#B6oqY6V%a$)lze@Nxu-M*Y01j+s9rAbFfuwQ#A3>w(XEzz(gwP)C3YhNX?2 zoL+=pa2*Cq_vpR;$ZMQO|{voGSfjU#mataIxRr9vEYqYYpioR%j1P174CJ{ffUQce}hdojLEv|S2u$%dE zu9!r)$wd^QbL_&XVSw*HBuF)=a$#Af0QvYjB}m3Bao_^mX4~ZC#}^0&NPsMaVHswXs|I-^La&Z0s!fKG{qt{M8< z6yh`sM#7YZt_;kAb+nmm-Cm+E2P*@$ds%F)pI3YZy4hp+(}>={F zvd=Bk9`_oQTVJ!p{sn961=PC?)cdM9^^7;ls-!mw_m+!#5Qo3+w6|bHQ8EU!U|y>h z)G_!{)#O!3#oHPcXBSa%4)YP^`W0=DioBvDrfm%O$(t~*S5))o7L5XZ>nEQIU+D4* zh5JwslI?o>xxu$02ED?ZO3-+(j6o$t7=I};s8ra=`#sH`(u|^qh`c9+8XxPs8K3Bf z8K0`h2=@+)Q8&e%;DsYjFAnNgc(Lg)Il?q(Q&NObNnFtFAw-EZHFmUD1 zrZq*(OnnP4wh$h>xz(#5D#1E}NmKTrp3swJhVVYsz_LEZ#g z*W^Y2!k~Qt6QOhZqyt< z0MiAeC3Ps$RnSgIUvBJ?Q9rxBA+OP4u907?1o0K)p6yl&0YlB9!Y=`LN_{aL7QC(| z+)(u);dZd$Ze_z=i~`pTWH~+&dy9RwMmOFWQ{^cKgH!=7%?xP^%$T+!T&&OpvtB)w1(sr znq=nk@xP4LeF|wk#YO84g|y!6q;-RmzSG!G=Z_ALr9;S-IvRd!q&?zmO4ET;BEjcL zl|Plm;a2AEz5+&pGbEBXfo8n?@6c)<(CY2tv=Tw#X@00ezT8T<51h2}4$5c31^iH8 z5Kw0u2w1kTgqoc%cSDJN3u(5}MYAo1G~4E+Svkr_E=N?jIUK#r6&1_YwYx+?itEMqA>``xg{~CWYhK#{V8;NmH1^4gfl`?J)~|U>xb*Y&52WdZTIjQROMrnr z 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 Y{CVn{F!efj{=eCO@&C>L|MA!V19A)LbN~PV diff --git a/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/zh_CN.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index bb8fa7e451aa66f15786367bdb00352d3cdd78ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44652 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 diff --git a/hw/xquartz/bundle/Resources/zh_TW.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/zh_TW.lproj/Localizable.strings deleted file mode 100644 index 919f9c2a56a1e04958c433e114a74d8681a77aae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3416 zcmcInOKe+36dg4x$c>?!h|h}GR76&UlBNp~po%61sZv!Zw&NsKk~((m_hQFC{7o#i zBqFMC0VU#7A~r}YP|B)nR%}rvR+MEos9Pdc-J#Z;GxNst?6^^jh%CqRx%bZfo_q78 zB}T=tu*8QVE#e|83c|szf?Wl>6xMaIg5Nw=AB(Cy=WSln4TJlH7zB3#_v`pu#cv7p zl$FH^`QxCjU{#S+T8bs+#27vwfZr15@Eu&*Tl;1H`{w4gDJO=#y0@agx84BF`*`U@ zPi>z?!*S?9Z3?33TH{KGc13)$uxS}<+ExH<8MJk*X@!LybuVI-7CC%UB8e5LQ_{+} za6>DT_|;x8-1KT0l!}I0ROJhCQInD^yu2d$9qh|u#CRn5&t!D*;kTbhW3?^txjM&x zs|FhVv6BlgI(?11k@D2SYNF-e@COH$_ME<*#+9+edB^7rhtAH=)wb+M;d^I}9qPf} z@h(dbRHSw~;wpw=*V-_2(mC)EY@$C(IP>1;V0{wjo;Wu*cg}|B4-Z}DRP5w)MEd!3 zWAy3$UXiw>?-_6AEwhs`pe2l^&Jty}H%`oFR)*p$!^$jpb^b8ZY}~1Apih`FWtnMl zoQ~kcNH@7c9aOe)W!~uI*0sbcrRGJcdkrtJ0(n9iDnGpy?A6#%O zUcq}M>0NcEUpP!7W&1e%rSc^&HBHNEAZDmProL{alVRERupfQ zMS0|_q9i8S@JPu$>5S!n*S?Kcx(=J0*$KSm%C{e--rX&%zc;f|+iL#h>|Ff`)#u(h zeX{{C*Y+PX_k)+hmrK9KFWD0__hYve=b2-PS2m8f{7ZYmSY&_llWIU%+U8~7*VWw@ zu5M4>h`kej+q~(|fOqerU21(}1)s;sd&@@MX|BeVH3UR;LHFUmKI z=2hX|Y!8HQ-~8Er`N%W~q2h=x?Oc~Vxw8wa80);?u1!5X)TP-KSVH8`)N0?Rw@16^ zr)A#dWDatcFr3{tZ5h`l8vB`8mz)S}h$DlEQ|#YsQX(xQDkxN@d^PtN?bIa0uFM{- zI=6)t`H8I>Gp}PJ895-;#yzK}5wU<8;&)bZBxT*u51n|fdX1_*jZ(eQn7lb?Ma;`X z8s{pbrRn1dX?0m*DG|_c(bfWRQ|Vv>Az9(9cr&B1A90#tl^?FH7rURaol%js2b(2a}jDD5m-sAI{Is2ITbCGgmU-tXu?IYyY^>*F7R} zp8WuQ{pI&@j<8_ezoOihu~Sg|I7O1jp;8UKR726 z>~S?!e&YCQTYS6a4-N$fW&^?g)l<<}_+Hx<%bsB0$-JJw<()k%cji9rF{gPmhEp;- zdk(VH^p{4KrEyZ~z<_7xY1eqWgQ;kC;!zY8oQu6ycFu diff --git a/hw/xquartz/bundle/Resources/zh_TW.lproj/locversion.plist b/hw/xquartz/bundle/Resources/zh_TW.lproj/locversion.plist deleted file mode 100644 index 12c5a65a4..000000000 --- a/hw/xquartz/bundle/Resources/zh_TW.lproj/locversion.plist +++ /dev/null @@ -1,14 +0,0 @@ - - - - - LprojCompatibleVersion - 106.3 - LprojLocale - zh_TW - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/designable.nib deleted file mode 100644 index d72ee6014..000000000 --- a/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/designable.nib +++ /dev/null @@ -1,752 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 按住 Option 或 Command 的同時按一下,以啟用滑鼠的中間或右邊按鈕。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects-110000.nib b/hw/xquartz/bundle/Resources/zh_TW.lproj/main.nib/keyedobjects-110000.nib deleted file mode 100644 index cfc33e07f37f4ffb34745887b3198c3acc18a693..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44697 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

n9~j%T z#ERzMF$4Z!iq-r`IAlIc_FFjfS?sfc_tCkoJa7(6{la&*S#2Cz9R^i^O_yfZ43| zj2ljlZh+~1%-q_v$KqwKZ(a%!38~-%d!6!KC=aVM6t)QEo57N$d?Y*J0dWK7hxHH8 zeX@ZqF)02`$B%zv_zg>~V{EC#Vo;W1w^4TxQoMw14a{ zR#VKT&7EXewUM{AM~T9s)_E1fC+N0sPh`fitXZEK(-ZD7ILHXMJ?uG+#gAN8{|92! z(g6Kv$i~jI>M_4z0g?2zYN5qISIT$uh*6L*pJ)Mo#zHlSIkk0z_kV#THgZ|o7Ddv8 z8CD$09+dA{fTY(`2GHC(e*n9A2Cz&10Csl|VEs5L9EpQP1$t~b-01+}Zlr^!A?4a9 zcT$uip?#bb#)a7*JHoE9VP|#@meh?F&W|k@d3VnAIB8y4Kf-+S9$ssq8(e{mY|r2| zi&s9XQ65x7^HB|Rqgs)z3T6lOcBPzQyp}sD;aBFXYP{9-jM-)-}iNgO)@fS>R zHYj6jPlUgTgeLf>$G}jg;%)> zmU-M{%Y4fM(;CYn(*et3(<#dmC=R!Q;Z`TGI|_^w-Ptuv*Ba5#Y?L3`+dr1g3*8B2 zSz&n(lpV`b-#PzpEPQcy#f(s0|jD4zi4W|2yR zVc_@;2n^DP0VYNOM(Zhp(Xz>t=VLkSkv8#0{to36bzu|7Vpxy8{}+8bgTBF>DCnEz zs}g-nru=Ys-{6sgOA~+jGBv>PZU?qxzL%%#Z_DOOE^j^*+&9z|PF6=IY9H^1naGcR+}rixA?s5`;*ld|EysM!i;)5dKZ| z(GCm(A(&2n+Hh~pC&XVKLZsvqBHc}h7De52NHtH#E1UCSi&a13HeibBM4ZrBOmpgY zLfDch_uKIuqpaam<^=S1Ma^9F&B7T40RxX>Dkfpz3?I)X@*gE8tJPw)7ED&k!*pC^ z%+{x5l31NAre;+^-$I!r3t?*xq%vdeO-O$!LgpA%XEglw*V|;#KX@f6elqJ{NeTts!W?ec?Wv zVf4GLJ9OL-Y-1=twn)$QtL&S!Sv2p6*mBaZ;O7k&waW@iusIG^!1UL3;2$G^oj130WvI{X?#)fHo6Kat$VjX1GMk=HwR8Ea9H3WkP#=ZUZ$+(Cpu%1j3?LJuLd< z`7@F7FO;N&pW6!lhm@#@HlGj}g^ZYFP@>{fDN%$k9$VR(Va265=`l`E`L}pu2C$p? zbl#Xk`KbjIfr%NIAAfB6Pg%noO)f6U8jzST8U!holRIa0u z90d&X?-2lDQ7cX%d74O_PWc%H1Yj#PHaS}US4jlcN@(-Vk`#c#m}yX;Tu$zjCIaVE zFi{HA;=i;ro*;DJ2Zs9!Q{_oQ_a(~DE<&58P&fX~+y;hw(f?$jTRC6o9yNsStOB7s zhY8()iPwg$A9mMmLX5^DhwU`Xz`opc_(C$dct0LH4UKylSPo@!KC$J(9)|Z}XG<0c zU_&U6U72lWr@TFOOh4Lda86yre)|_Jv?oyR94L3bFy*Y5N~)`Ql%MaR9OC;|+%_8K z7b9WQ7R(?IY{C3_PgPr0@+o-Dpy1pB3NBz2te)dva1tx$Gsk@aA+yiFskr=00mH}PcHQjb6B#jhFNpJ8yt8FVdSa)~{yw+c)y4abIKsf5K=tYJ3& z!qL~oPS$(oQ0uSeWa|U%DCJ+#V_eHA--z-n|BaQAJI%Pjf{+lZmGn@pC+3yU%q+>+ zFd&vt9s!Jk$X5W?rvZKitjzonPiEzNo`H~5V<28B7>H%YK;*mo3{Ozu^jo%w2%o@w zLTs&Xq~}h@YI@AeVYLTadg~?s1xEEGUl*bZj$D$eFh+d_RaQ{`)#6m~Z(d+k`L}o) zResHc%&*`_=2RT+n4R`aL6jkuXfYIH#o0X!IWjJ5@h)4b(Q$kDf=LwCLIi# ztSq3(8b*_r1zsc9w*D&$yXP2{3|`3>ZjB)bGq{Y$)_mVkXNXAVcVyzw{i`28zWtcn z!=pXlIiInik0sABm(Q5u`YEUgDOz+_i|{HOEw!ZXIPqW&<%enaDZfjf*-m|COW|>G_C8^(srlRjB6sgXlzOzMr4-^7N@ zlZBx#3W_4r@ zeK(>4Vc!HY>OGN0U2J>-5PpWNHrCn+Q!xAx%qC1()Tcq8dcsV@U*eHa!GIDc~XcC>A79Hgy4zb1*9sH^FTPsLsJVmh1{-glEf+7sTd~A#1XRRoGNd`2dL4`T*`k|7&f37EZy^)sFd!*<*u1A#rCDLr#Fezcc(WK2ODmC=TRHj-HzU+QhBsmW={sYtGH=l-n-;2;KaV{n6!9sY6$C#o;gscXfPV8grdz^Ls+() zch9A)r1VjRz&fLa>HzD+TDStRK1n!SxDY@$0Mr3MPX_P}00v_F8!*P$7lP^ns78S5 z%Amg05iQ3m(zo8QV^Q1(ZDtiJ(-ma`QKlO!^PN#9CykXtu0WA8pJRw7a~1eUwjjU{ zrTleKmU1+ux^r5RQ4bP;@(RWe4ukQ() zq6Pb~Z6#h-s6bGU^1rAS?Q`vo*lCs*A7SDY>`sl2&oNk|5HHzsK=)CM?)MqpfB%>1 zPJ#2pqI5T0s2&3UO8MUk5x5YQj8Ha|+TW*Aj_suaDly`qca(piQzh@=qIhi5D@+xf zDqduIod-!4fo1zKiXiw1IiMDTFFL1fO8~u$5%3Yf3I8t>5czmEJs+=taf=f0FUmiD zA^`)8)XM*qfVORg*ldYyM*#tit%u+)gOZOZ;TR?3BVOz6Vh(-C?LyQ+R%L;hFr5H# z_A=u5FyaUx&QQb1h)aq|OLWB-0^I}9gACM*ftsEHYOW8^!wj?r1GPK@)KnFq$1#@o z7$k=C>FqxNoURTt&T{R|!L*pdGOjH_a{r{wRa51o)@% zgEG#Q{O18u}=t@aF1YdL_HW1u+?~4ABC%O8%d*w-vuUd7Wy>stw#!-T zBL3VS5$J)4L1!TfJri;0wTMLTvsSU5x4b0w#K8>_)_anO{RDlize-h*G@oOAAT_tl zHr0Z&roQQcS%kx87+f}Eq$p{j{R5#1baOvjj%^~&Vn2ejUAo}x?ykbOLa6W0!O`gdz3>qXF6=Y~qj6;$UwT zeS}UPo@K&>3*So5=Y+97L{HW6!7dR!JF}CXpxI5&(JZH@Y4+4JHGApFno)YbW^;@% zlD8-ygM^nau=D$}XQQ^Bfs=qF9F`*TP|}d$MRp$S2R=gi2e*csE@QHtUcxWM)9|N2316DdBdk-|W}SXM`s9>-HNg zCER|KrG(pW7o>#S?^4nfW+7>&Co|usB#e@94BUH^U_{=d{QHz(AoM(D6%SWunas^$ z{517*Cwsv?fHP3Wk00*w|9U(zEVAzL4Iqozn3NB&?H(+dLvGpNp@&&`Uz^2j6eFeA z{upjY@aZF=5&1}H0g_E)C*{v%gfbu;7GwdF1t2AId2!Y~do+U{TwxDs2w+YXkDsCu zyi+XdlK+FgY;!mrGLAOr;6C7gjl*d;I&|zDDy#fF9;1NDOBb&k&Mu@waNl|MAUet- zYkDQlOL^OL3Glo`S$u0Jy@*KrqKIi0?bF2irI`#o?phyXC+h zD+cB8h3S%ijEnIw$HI4v6Ajp-6mY1D{zwH%+CvbstnXQrgkVWPLX2!MMiL{>S$~EF zoHc`^7wUUV$l3l^Yd zXS*2L3+%)f_9PBtkoEj{oeKk5c4Pnx=@{b}Y`?hD5kg59OeH+&(9zM+$gdK+UU*|H96h7e#(KVeiAOjzPRmJ+b!CPp=uZ%G;o$_>kBFl+qSfk8DPU~6Y(vO~});^_djDDUzC83NlDCr6? z<~Zw@oSjsnA@}h2a`eWOd2**#J0cvB>_D-n{H|~LC{eLK(fHDiKC9UCIE`u7&%ySd z7)-{pI@dV*<$D;}7HB3yJTv!M9>)H<-v%ce83R33*YP;M+}o|?*|RhQ@E}a%f5B%Z zUCSQ<6w~sRbS>}HA1UYl#64(vR#Rau4^4jzdmvil{~qL}df~c0-b?ZQ2mIfH*l2;4 z-w92>6B(tO@ZKygHg&-}5!YMse<~miEpLIAw?NBVpye&l@)l@$3$(n&S_LqMmhWl3 zC-yXlBKrC({wL%A1N>%a`C6t22;4;A9f@}o=WS?tX!;y1#@t#Sn!YREp}NGmh2NH- zXN&P-TK*@E;AJRz_N37Ot(E?1TpOQ_@CZ}(gu_O$Fv-gGRh=}Ahy zw65gw*+p0TSn1+ARR64@e?r~hPN4o7sRy14l>B8V`pYaAH=cbYLHR#q7d-n&VINTN zuqZP148R=y6KQ%`x`M|i)vqV(pVRbDXc*jwf=4Ms!6T6U3X5jfVIRxcMCnO zIUK(;mc4>u`+tV%-!e?`Oo0DCJ&7Hx@c#_u|Bnr2&8j)IhT24Jl6FKptDV<=(r#-% zYj?FjC=aJ2R*0o2kJUex-nA*;kn#bPZ%O(6ls`!M4=MjKRl)p&%%as3`@>eN;jq=}9{s!fLr2J2mzejnr@+T!=1Uxv*ObN^`8zl}( zWJ**@yeKI{NjXX?P~uHVWlE}2;zLOdN@`M4n-bXe^(kpcNn?*}aDJuB2IocRC1H~D zit}sdH_ofhZ=Khi-#Nc`UU%Mb{^0!4dDHom^Op0r^N#ap=P%B?&U?=L&R?CsIUhKG zcmCmg=={_9$oZG^vCQE#c_It4D4S$6&YHK%l5CUhvO{*tvaHCeTuS!BIn!n2vT`|` zIA1}oD0|D5Fi^sSw@Vt zT<#_JmLudyIZEy$_m%s}{pA7jKzWcnSRNt|m80cha*P}+$KecYmz*Fc%1LsvJX{_j zr^u;tnw&0Y$Rp)UIZMu#bL3oklssC_lgG$o<#F+(8zy}Uu*C~uNC%WueA&hmzft?4jgcNitlw79d3MF4t@(m?dDfyO?Ym|IP$@i38r{o4DKTz@`B{wPg ziIQ8C+@|CXB|lU03nh0cxkt%;N`9r}H%cB*@;fDeQ1XzHKPh=c$zPN_rUFL=o(hBt zcoG-RRWnfm=K^3qmX!(;6>LKp(R47e_GE^u_g>qCVPlXCp zs7M8GDpaCEWhzvmLRBhMqk<0=s#Bo`6?~~slM1z{P@4*Ms8E**^{7yv3Js{xkP3~c z(3lEMsNhEhe@GkEgtOyqszY_EvZ|`3R4=u(T1G9amQ%~C6;*Gwl3H1LcZwD~$}UA3OtKy9ctQX8vHR6o^U4NwEsrfM^_x!OVvQd_F6)Yj^AY8$n! z+D;8tL)7*-qrRisN$sq5QM;<4YB#lq+EWcv!_{7DZ#6=VRHM{BYG1XV+Fu=@4paxJ zgViDGP&HZ|hO_Ns)i^a?b*TwzqMD>8tHae1YKoewrm5*_hB{KsRI}7yOR86JoMD+!Ak~&$PqE1y`RHv!a)fwtcb(Z>)I$NEi&Q<5B^VJ3F zLUob)vbtD(MO}ik^p~m2)fMWi>TBvsb(OkWU8Am5Usu(veFMs<_AS$#v@qHa~U zsc)*=)wk3g>P~f+`nLKGPT}99zN_w4-&5aL_o@5U1L{Hb1NB4oBlTnTka}4CL_MM& zRgbBks>jt6>Phu8^_2R#dRjfBp2hk7=hZLNFVzd`SL#Lel6qOaqAzlk`TE1@jq64B zijN#Dz7L@*pu_xhsO>_+?hRdZ2*91@Ws>s#AbCCRDGqvM-a|5xla56U) z4$R-ok1X{q{+4!@9+shSQNCzdYT0S|%yQmx70*8S-tvRxC(9knUCVvT1It6pUsm2~ zgJZG+mML|u{?_NLovcyT0oGXS2y3o&lr;~}N0^N#BrLP8m6}UIcs9awQd=olYA)m#GzxCY@scLJAWe~`Ni*?Gg?Z9K zX|c3aS|P2(^A*-f8>Kg-ZPHuPE@`*4SK22Xls=LUOGl;S(r40X>74YXbWyq@U6sC* zZb&z!+tM%6ed&SpQ2NWpA!c6H*3j0}HrO`QHp~`li?=1%(rqJcS$ImrblZH}M%$aV z{kAisZ+zUAEO{K$F4dCYm- zc@lQOLuLcO0$}>z1l?a3n!6#iwjVThQ|Rc9(7OYnT}MEJj)JCK2>tg8bl-C5y=~BC zyP?P4llRGo<j`x7J;??rqh&_kQ?3&+Gfkef!;6s zz15Mupo{DTePkb0M|MF&B;$cdzQ;wf-SNK}o*K#L=}4OXUzRTZZ;q};GW3nmmGA?h zC!rVNXF?xBKLU-wAY>A<2y#L;AtxebCr zFX0cupM-;i!x2m4Ea4sD1K|_l3*j5FEAczx&%{I`m&hk35rsq%QA|uBrbV2MTB4C? zA~q7uL@UuxY$c+^9mHM4J;c4lKO+9dLE>TJQQ~ppdEzbN9pXLW1LAYy2jW*!7g9G; zchWG@2+}ChXwp~`hr}iENdl6NR8G>945VsOEy+l-kmiu)krt2^MeL4cq!pxc_Mi-c`A82c_w)_c`o^P@;>r@@&WQ8@)7be z@+tBe@=Nk-@>}wI@<;M#@>fa^%8!&Gl%bU2l#!It5j%uK5m2frwG<RqL?XG zik&iipKjIu_JkAfnS2@-`x zg`-DDi=(rmE2AyZf#~JYo1>3LpO1bX^Fs_fW>`#SOkGSz%=DPwVz$JbjCmH@D|T?K zFjgIFhy`M2$8L%JBlcwM<=DHlUbGn67@Cx(rTJ;Cv~e_$7NWtl4jMv3X*exRn?ajJ zn?svRn@?LvTTEL*TS{9_TTNR_+eX_*+fO?{`-^sxcA9pE9!-y@|4Qf6)9BgsqKK3d zqQi8Aj?!`Z1o~w9RQe41Ec#sfeELHABKlJLa{6!d&GdWp7mObny%;|;`Y`%22n-T~ z!iZwTFldZIMiHZgp<(D46^u$o6{Chx%cy5GFq#-{MjK-aV=iL@V>{yj;|b##;|1d- z<2Bi~zsbUr~OPFS+n>n6|Gp94>F&8iwF_$oxF;6kCG9NHsGrzI= zuo$cXtcYdF8pBFtiC7X=Dl3hpU=^`SSRNM0!dWv}OIaIP+gLkTyI6Zzds%-(1el|& z>#TdMr|citz1dWDG&?pT!o;!1u!U?5yOdqVHnHt&FWblVvs>9AHq7p1qimeLguR!2 zgZ(l7yZC=H*>dgw{!P$ z&vP$uFL5t(uX6w8e&KcDb?5!S>&Z*x$#~hk99~|;pHcA&dBr?6ubyY;IeBiLmxuEv z@Fwx5@TT$B@ec6L@NV*M^X~FK@ILXr@V@c8@_*v9_`~^Q`5ZovpTf`KtN8|g6Mq~Z z5Au5y2V3Rly^{H(^)dcf#+5J%m3BqlLqSBZQ-bV}yx9 zu5glYig2oMnsA12mT-=6u5i9^p>T1;*I6c9E?glzBRnU(AiOBNEW9SXA-pBLBmA74 z7jbti$za6ZS)KfQ^1kH#$%m6qC!b9|mwZ0?@8pZg|0G{YzLtC=`FZlI^T_Ai5_eipgTCI9ePlriB$soxuk};AjiCm(PTQW8^gQ?Qh9%EXk(DN|FXr_4;5ow6ileagXI5>d@3- zsly{8(dg8%sfnrFRDP-;RhTMD6{kv4HK{XFXQj?botL^Gby4b))Mcp~QV*tHPQ99X zJ@r=V-PHSODQRhG>1i2h(ll9GcA6qBFHMzJm{ycllBQ16q}kIpq-{#ulC~{vXWE{$ zy=i}>T~B+L{&RYt^nU52bZUBZdTaXZ^gq*Yq~A`zn|?3-e)_-ZkJ6u{KTUs;{yP0_ z`n&WG=^xWSWpvM=XAH_vWaMS!XB1|XWN0&V8I>86G8Shn%UF@IGGlMX9~lQS4rLt4 z_&eiz#-ofknWW6YnL{#%W{$`lojEpha^}>`X_?bAXJyXGoR>L2b5Z8f%;lLYBFfV0 z%r%+oGjC4?R z)1|Ydv!!#SOQkEM52O#JkEKtf&!w-VZ=~!|#;;f}v%d(bd z{g$;VYfaYLtPNS4v$ke!%i58(Giz7Yc^OGYkwwX3WONx*#+D_>c(OE^TBeohWEC=l ztXlS`?4azB?6B;Z?1b#3?3C=R>~Gmc*(KQ(*;Uy!*-hC8xmvE3m&$eW3VEfxN?t9m zlbhs?@+P@eZj;;PPWfi}R{3`MPWc}BKKXw60r?sEb@?m#8~Ho=NBI}|w`^^;F1swd zJX@b_$ga+=$u?#;WH)7-v#r^-YT?u{F9rW zE6tVV%5$@Gb90rEc5h*BNv<|mms^&r&#lZgZVBV6vjd{ECj^>@qd#LQ9WGIIyrAocht^|~w%4y2qlzWu> zl>3zjl}D7vl_!;FlxLNHD=#UpD6cDTDeo&EDjzGKv$!F&e%`eI?$=BwW=9lN| z^9}jc`E~i$d`G@3-;@7m{+0Yk`7czxRJ~RGR0I`S6{U(%(N#=UysE!yfNHR6h-#>6 zn2Mv~tAr|%N~+ST%2aw)m8w=%uWD3TRCbk9Zs~?0jmHh zzzZf6Oe~mGFtuQM!K{MW1@j6P7A!7UQn0*WMZs?cs|yYmjw~Egm{`au7uhm=Zo$YeTi6M<;4}n`r@kMn&P@*V{t>Vx!784D{d}! z7Q2eQ#q)|67B4Pd77@i(7q2a0m+(tGB`qaDNuZ>?1S|=az$J@Ic9$G1IZ<-2U6bKEm!BLmFfa@ky@*+Qrpxnbyz(~JyktjJxe`T zy+FN4y-K}Py<5FkyAiuNV7zmi|&Yq;y#6$kNfJV@eZCIi=iE zNvWoETbEe)4WDxISHUKgiJ&nuad@UjVIlgp-+%_y5yw!FMgIiZ|XPA;dEM@PIiMtNL0yS#t-!16)mL&|?G zA6lMKZYpmox0KtxfRNa{0db?QAJ6Grb1g$R-vyjR8&>eR@7A(E7~je zRqU@gP;sc@XvK+&lNF~czUb9@t-e&R(^u##^;P<6eVyK8%7R1C_0n<0^xdVC9_3E0xzOZ&co@ zyj%I8@?qs;Lq9`8(Iv0L#v_95Hx^>@rHSZYla(!TZTJ^`-X>x z$A%|W^r~Q0s0yy?sOqf3s=`&1swP)WtD0FgyJ}9={Hg_23#)ck-Ke@ zRnMx6tM^pztKMJzXZ3;V!_`NtPgMU^eY*Nw_21POs{g6JTz#ebZuRFHc1{19fi=I> z46PYaGpfc_6Rw$7v#w@i&6b*NH9Kqe)aovD(?$$i0d04BgEvPN3 zEv_x8)zp^Ome*F)8ft55>uQa)rrL(u#@g|rU34HvVL^8=XeC(PQ)) zeMY~r&Dd@PjgYa!*l9$Km=QNlH?A|DH(oUUW4vm-VZ3d;Td%3N*SqV{`f&Zk`YH9( zBM#r<`nC1z>o?VJt>00VN%1ChG`8m8)h}kZCKE-s9|x#(uQRb-*0`x z(T0}|ZyMe;d~Em}(f+zMc5kd~Jkof)@vp{{ji(yVG@fg`(0H-&a^tne8;v&`Z#Uj) zyxaJs>HDVPO{1E|G;x}EO@by-lccGk32Z`|rZmlKTHds=>3GwHrVr-t%)QJc^FZ^j zX0BOb&NVB|1?FP2+UzuUno%=uo@kz8o@U-+K4v~)K50HS@tf|%vtJJEuI<0Q2*XpwdtZmk?b%Aw}b%}Mk zb)|K;^`P~d^{(}mt-I|9TTk0hwmvqtZM1Eyjbr26gf^Y6$!4+HY|S>eEohr!n`WC~ zn{AtCTVmT{+h*Hg+ilxxJ7&9LyJov#yKTE?`)coNC)i1Lsy)U&+Ag-I*wgJ&dyc)_ zuD2WPHFl%jWryq?cEpa`C)(%P*V#APH`}+_cRFGm!yF?Wqa9-$V;x)v-yv`a9b!kS zBi)hV$a2UWaz~ECiTvuH(MrU&j;2bH^*k8^=4x2glcD zYV)AxALOap4dFOc}nxt<{8bin&&jnZC=p4xOr*wvgY5KS2nL|UfX=c+12@- z^LuAc=TFYw&c05v^A~55Q|J^qQ=I9}5~tDG;B0bQoet+&=XvMf&I`_eoL8LJoY$SV zoOhk~oe!LkoR6LVIiIG{*Cy8% z*LK$~*D==>*LBxT*B#e=*Bkc_?w;;m?%wWxZl-&rdyG5L&2tOfa(Ah_EOPVL;I45u zyT`jBcZVBwhut&XE8VNzYuy{%o85=qm)w`#SKT+R+vv4;ZQf?D+Z*yu_s;Up@y_=y@^0|%_a5{f z_8#;8<-O{C;(hLY>3!pU-_oNcx`o!lXkoP^w2W>^i&&UhE!i!(EoCjWzL~x`zIna{ zzD2$zzGc1@zLmb!zO}yfzKy=kzOBCPzMa0^zTbWOeEWR|e208Te8+qzd?$UUeP?~= zeHVO}e3yM!eb;?AeYbsgefND2egFBM`Cj_o_}=?I`Mv^Of$l&Lpcl{^=m(GhDi8zE z0VWU+3;+fLzXHR7k-%tREWiPHKoTGXL_i9V4oCqxpa61#e4r300kl9Fpa-geTA&_i z1T26ZZ~`8{2LvLDCkQ}5Cx8JHfXTo#U?wmdmW}uv`sseAf3W{o|1iJ6-|5HvVgDrmRR0YBZ2vs}eE%ZQXkd6?RA5X%7!U_i z0%-wlz!3lfP+&q}W?)WWUSL6BYb&F5L~BZGT5CpYW~;PS)|%a#)2eLEZ!K&sZdJFI zw(45TTJ^1-*72=)>&(_AZ9Uq4Z2KwlSFd+l-$-AT)JAQKinvVlh=as#i;vV?2DXXY z)RD4Kbz5DVsSS!WU9YxxZ)dkl+RNJY?S}U1_PTbk9cy3KzNY<9`_=Y)?T^}Djq5V* z$8qFw!^ZK(rHqpY{lV5?doUOrAB2J(K_rL;!@-Hc$-$|?>A{)7*}=KN`N4(3#lfY) z<-y;AtAcBS>w+7Cn}S<{+k!iSyMlXydxL)j{|p`s9u6K29uJ-jo(Y~0UJPCiUJKp~ z-U;3hJ`DaBd=`8ed=q>h{1p5Ob_KhGJ-}XIZ?GRo0x4h=7z5HGJ}VPsg9+e3a4`5Q zI1C&CjsnMm9FPwRKoOV%rh`&Y4(5PLumCIuHJ}cx01aRbXapNTGiU>wK{wa}0$?EG zyavJXAPjbb7#Id8fm6Wg;4E-1I3HXHE(Vu@E5KFY8gMJ9aUh!6#ehGN+1nX3Y9?>P$g6a)j)NS32K6@kOOi;Zm0$FLv2tH3PBwZ3WcFb&{Sv!G#i=+ zErgap%b}If8fZPV3EB$nfObQBq5aSS=n!-SIu4zL&Oqm(i_m508gvu71Ko!nLXV** z&@<>I^agqleS*HiT_b9454acH8}0{_U@9B~(_jY7gxPQcJOCa9{{sIC4~Iv=V_*)< zhXrslEQV9yG&lp6!ZJ7;&Vlpbe7FEEf=gfxTnd-L6|e!WfsJqjY=&)cGwg<2U_aaj z2jLLh0i$pjo&-;YXTY=JdGJDb3A`L$39o_I!<*o(@D6x4ycgaNAB2y<$KjLk8TdSW z5xxvxgKxrj;QR1H_&@j={1ScxzlT4;Upu;XbnocV(W|3(N577k&a0g_I&XL0?R?Pr zsPjqZ^UhbDZ#zG9e(wB+bVI&JdLlm|eGmddMxu~dgn_V-1Y{uc3o;ZLfs95H5gsBy zL`Vvfjz|$Xl7lFb0;CwxAUdQ1F(5UF5otiohz)5*+(--JN7|4e5<)r<6bU1fkg3QF zWHvGnS%@q_mLn^XHOP8o6S5WAf$T>1BKwhp$Pwf?auPX%oJTGqmyv78P2>)8A9;xU zhde`GB5#oQ$S340+7<1N_CR}~z0rOs38kVjC>>>@@#p|_F#0Px936#@MY(7anv6=& zG&B>Hp$aq)RiQ4E+l|jh;gaTpuxj}5|xV8gJH*cgn1@i8GL#!|5i zEDOuVaqLs9?XXYBJIC%7>I>180*AP496y5ldvh+ zw20q43!8(@!xmtRuqD_sYz4LwTaB&7)?*v7&Dd6KJGK+sjs1@8!}enbutV4p>=GIkZaj@`s=V|TIp*uU5#>_6-&_8fbOy~f^R@3D{AXY4E91@DG; z$A7?k;=S;n@jiGzoQRWgDjto;;&eO?XW{X9e|#W57$1TU#fRe~@zMBLoP+c5BwUD# za0#A@r{kG;7B0sXcrLEQRd^v@jH_`iuEWc5J#N6OBNDX{H{p%A8Moqgycu`l9=rty z@BrS1kHbMcgu{3zj^a2z0iT3V!KdLf@LBjAd>+04UxY8gm*Fe$mH29WExsP#h;PQX z;@k0^_-_1nd>_6aKY$;?kKo7f6ZlE|G=3I8k6*wq;g|8N_;vgyejC4w-^c&OAL0Mu zPx0sYOZ+wd7JrX_#6RO-!(GDN!rj9^gnNd2g?|qB3HJ*V!{jhE9374g)5CFLRyaP~ nKRhrzB0MrYIxGka!{TsOxa9v%HFWFtf3xrG|C|5+4eR~~VJ2s; diff --git a/hw/xquartz/bundle/X11.sh b/hw/xquartz/bundle/X11.sh deleted file mode 100755 index 3b8b6799c..000000000 --- a/hw/xquartz/bundle/X11.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -set "$(dirname "$0")"/X11.bin "${@}" - -if [ -x ~/.x11run ]; then - exec ~/.x11run "${@}" -fi - -case $(basename "${SHELL}") in - bash) exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;; - ksh|sh|zsh) exec -l "${SHELL}" -c 'exec "${@}"' - "${@}" ;; - csh|tcsh) exec -l "${SHELL}" -c 'exec $argv:q' "${@}" ;; - es|rc) exec -l "${SHELL}" -l -c 'exec $*' "${@}" ;; - *) exec "${@}" ;; -esac diff --git a/hw/xquartz/bundle/chown-bundle.sh b/hw/xquartz/bundle/chown-bundle.sh deleted file mode 100755 index ac62f289f..000000000 --- a/hw/xquartz/bundle/chown-bundle.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -BUNDLE_ROOT=$1 - -if [[ $(id -u) == 0 ]] ; then - chown -R root:admin ${BUNDLE_ROOT} -fi diff --git a/hw/xquartz/bundle/cpprules.in b/hw/xquartz/bundle/cpprules.in deleted file mode 100644 index 92a987d92..000000000 --- a/hw/xquartz/bundle/cpprules.in +++ /dev/null @@ -1,19 +0,0 @@ -# Translate XCOMM into pound sign with sed, rather than passing -DXCOMM=XCOMM -# to cpp, because that trick does not work on all ANSI C preprocessors. -# Delete line numbers from the cpp output (-P is not portable, I guess). -# Allow XCOMM to be preceded by whitespace and provide a means of generating -# output lines with trailing backslashes. -# Allow XHASH to always be substituted, even in cases where XCOMM isn't. - -CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \ - -e '/^\#line *[0-9][0-9]* *.*$$/d' \ - -e '/^[ ]*XCOMM$$/s/XCOMM/\#/' \ - -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \ - -e '/^[ ]*XHASH/s/XHASH/\#/' \ - -e '/XSLASHGLOB/s/XSLASHGLOB/\/\*/' \ - -e '/\@\@$$/s/\@\@$$/\\/' - -SUFFIXES = .cpp - -.cpp: - $(AM_V_GEN)$(RAWCPP) $(RAWCPPFLAGS) $(CPP_FILES_FLAGS) < $< | $(CPP_SED_MAGIC) > $@ diff --git a/hw/xquartz/bundle/meson.build b/hw/xquartz/bundle/meson.build deleted file mode 100644 index 22941203b..000000000 --- a/hw/xquartz/bundle/meson.build +++ /dev/null @@ -1,59 +0,0 @@ -# generate Info.plist -# https://github.com/mesonbuild/meson/issues/8434 -#cpp = find_program('cpp') -cpp = '/usr/bin/cpp' -cpp_defs = [ - '-DAPPLE_APPLICATION_NAME=@0@'.format(apple_application_name), - '-DBUNDLE_ID_PREFIX=@0@'.format(bundle_id_prefix), - '-DBUNDLE_VERSION=@0@'.format(bundle_version), - '-DBUNDLE_VERSION_STRING=@0@'.format(bundle_version_string), -] - -if build_sparkle -cpp_defs += sparkle_defs -endif - -# bundle data -localities = [ - 'Dutch', 'English', 'French', 'German', 'Italian', 'Japanese', 'Spanish', - 'ar','ca','cs','da','el','fi','he','hr','hu','ko','no','pl','pt','pt_PT', - 'ro','ru','sk','sv','th','tr','uk','zh_CN','zh_TW' -] -foreach lang : localities - install_data(join_paths('Resources', lang + '.lproj', 'Localizable.strings'), - install_dir: join_paths(bundle_root, 'Contents/Resources', lang + '.lproj'), - install_mode: 'rw-r--r--') - - install_data(join_paths('Resources', lang + '.lproj', 'main.nib/keyedobjects.nib'), - install_dir: join_paths(bundle_root, 'Contents/Resources', lang + '.lproj', 'main.nib'), - install_mode: 'rw-r--r--') -endforeach - -install_data('Resources/English.lproj/main.nib/designable.nib', - install_dir: join_paths(bundle_root, 'Contents/Resources/English.lproj/main.nib'), - install_mode: 'rw-r--r--') - -install_data('Resources/X11.icns', - install_dir: join_paths(bundle_root, 'Contents/Resources'), - install_mode: 'rw-r--r--') - -custom_target('Info.plist', - command: [cpp, '-P', cpp_defs, '@INPUT@'], - capture: true, - input: 'Info.plist.cpp', - output: 'Info.plist', - install: true, - install_dir: join_paths(bundle_root, 'Contents'), - install_mode: 'rw-r--r--', - build_by_default: true, -) - -install_data('PkgInfo', - install_dir: join_paths(bundle_root, 'Contents'), - install_mode: 'rw-r--r--') - -install_data('X11.sh', - install_dir: join_paths(bundle_root, 'Contents/MacOS'), - install_mode: 'rwxr-xr-x') - -meson.add_install_script('chown-bundle.sh', bundle_root) diff --git a/hw/xquartz/bundle/mk_bundke.sh b/hw/xquartz/bundle/mk_bundke.sh deleted file mode 100755 index f83b4da82..000000000 --- a/hw/xquartz/bundle/mk_bundke.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -# -# 'Cause xcodebuild is hard to deal with - -SRCDIR=$1 -BUILDDIR=$2 -BUNDLE_ROOT=$3 - -localities="Dutch English French German Italian Japanese Spanish ar ca cs da el fi he hr hu ko no pl pt pt_PT ro ru sk sv th tr uk zh_CN zh_TW" -for lang in ${localities} ; do - [ -d ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj ] && rm -rf ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj - mkdir -p ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/main.nib - [ -d ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/main.nib ] || exit 1 - - for f in Localizable.strings main.nib/keyedobjects.nib main.nib/keyedobjects-110000.nib ; do - install -m 644 ${SRCDIR}/Resources/${lang}.lproj/$f ${BUNDLE_ROOT}/Contents/Resources/${lang}.lproj/${f} - done -done - -install -m 644 ${SRCDIR}/Resources/English.lproj/main.nib/designable.nib ${BUNDLE_ROOT}/Contents/Resources/English.lproj/main.nib -install -m 644 ${SRCDIR}/Resources/X11.icns ${BUNDLE_ROOT}/Contents/Resources - -install -m 644 ${BUILDDIR}/Info.plist ${BUNDLE_ROOT}/Contents -install -m 644 ${SRCDIR}/PkgInfo ${BUNDLE_ROOT}/Contents - -mkdir -p ${BUNDLE_ROOT}/Contents/MacOS -install -m 755 ${SRCDIR}/X11.sh ${BUNDLE_ROOT}/Contents/MacOS - -if [[ $(id -u) == 0 ]] ; then - chown -R root:admin ${BUNDLE_ROOT} -fi diff --git a/hw/xquartz/darwin.c b/hw/xquartz/darwin.c deleted file mode 100644 index e34994673..000000000 --- a/hw/xquartz/darwin.c +++ /dev/null @@ -1,835 +0,0 @@ -/************************************************************** - * - * Xquartz initialization code - * - * Copyright (c) 2007-2012 Apple Inc. - * Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include "os.h" -#include "servermd.h" -#include "inputstr.h" -#include "scrnintstr.h" -#include "mipointer.h" // mi software cursor -#include "micmap.h" // mi colormap code -#include "fb.h" // fb framebuffer code -#include "globals.h" -#include "dix.h" -#include "xkbsrv.h" - -#include -#include -#include "exevents.h" -#include "extinit.h" -#include "glx_extinit.h" -#include "xserver-properties.h" - -#include -#include -#include -#include -#include -#include -#include -#include - -#define HAS_UTSNAME 1 -#include - -#define NO_CFPLUGIN -#include - -#ifdef MITSHM -#include "shmint.h" -#endif - -#include "darwin.h" -#include "darwinEvents.h" -#include "quartzKeyboard.h" -#include "quartz.h" - -#include "X11Application.h" - -aslclient aslc; - -void -xq_asl_log(int level, const char *subsystem, const char *file, - const char *function, int line, const char *fmt, - ...) -{ - va_list args; - aslmsg msg = asl_new(ASL_TYPE_MSG); - - if (msg) { - char *_line; - - asl_set(msg, "File", file); - asl_set(msg, "Function", function); - asprintf(&_line, "%d", line); - if (_line) { - asl_set(msg, "Line", _line); - free(_line); - } - if (subsystem) - asl_set(msg, "Subsystem", subsystem); - } - - va_start(args, fmt); - asl_vlog(aslc, msg, level, fmt, args); - va_end(args); - - if (msg) - asl_free(msg); -} - -/* - * X server shared global variables - */ -int darwinScreensFound = 0; -DevPrivateKeyRec darwinScreenKeyRec; -io_connect_t darwinParamConnect = 0; -int darwinEventReadFD = -1; -int darwinEventWriteFD = -1; -// int darwinMouseAccelChange = 1; -int darwinFakeButtons = 0; - -// location of X11's (0,0) point in global screen coordinates -int darwinMainScreenX = 0; -int darwinMainScreenY = 0; - -// parameters read from the command line or user preferences -int darwinDesiredDepth = -1; -int darwinSyncKeymap = FALSE; - -// modifier masks for faking mouse buttons - ANY of these bits trigger it (not all) -#ifdef NX_DEVICELCMDKEYMASK -int darwinFakeMouse2Mask = NX_DEVICELALTKEYMASK | NX_DEVICERALTKEYMASK; -int darwinFakeMouse3Mask = NX_DEVICELCMDKEYMASK | NX_DEVICERCMDKEYMASK; -#else -int darwinFakeMouse2Mask = NX_ALTERNATEMASK; -int darwinFakeMouse3Mask = NX_COMMANDMASK; -#endif - -// Modifier mask for overriding event delivery to appkit (might be useful to set this to rcommand for input menu -unsigned int darwinAppKitModMask = 0; // Any of these bits - -// Modifier mask for items in the Window menu (0 and -1 cause shortcuts to be disabled) -unsigned int windowItemModMask = NX_COMMANDMASK; - -// devices -DeviceIntPtr darwinKeyboard = NULL; -DeviceIntPtr darwinPointer = NULL; -DeviceIntPtr darwinTabletStylus = NULL; -DeviceIntPtr darwinTabletCursor = NULL; -DeviceIntPtr darwinTabletEraser = NULL; - -// Common pixmap formats -static PixmapFormatRec formats[] = { - { 1, 1, BITMAP_SCANLINE_PAD }, - { 4, 8, BITMAP_SCANLINE_PAD }, - { 8, 8, BITMAP_SCANLINE_PAD }, - { 15, 16, BITMAP_SCANLINE_PAD }, - { 16, 16, BITMAP_SCANLINE_PAD }, - { 24, 32, BITMAP_SCANLINE_PAD }, - { 32, 32, BITMAP_SCANLINE_PAD } -}; - -void -DarwinPrintBanner(void) -{ - ErrorF("Xquartz starting:\n"); - ErrorF("X.Org X Server %s\n", XSERVER_VERSION); -} - -/* - * DarwinScreenInit - * This is a callback from dix during AddScreen() from InitOutput(). - * Initialize the screen and communicate information about it back to dix. - */ -static Bool -DarwinScreenInit(ScreenPtr pScreen, int argc, char **argv) -{ - int dpi; - static int foundIndex = 0; - Bool ret; - DarwinFramebufferPtr dfb; - - if (!dixRegisterPrivateKey(&darwinScreenKeyRec, PRIVATE_SCREEN, 0)) - return FALSE; - - // reset index of found screens for each server generation - if (pScreen->myNum == 0) { - foundIndex = 0; - - // reset the visual list - miClearVisualTypes(); - } - - // allocate space for private per screen storage - dfb = malloc(sizeof(DarwinFramebufferRec)); - - // SCREEN_PRIV(pScreen) = dfb; - dixSetPrivate(&pScreen->devPrivates, darwinScreenKey, dfb); - - // setup hardware/mode specific details - ret = QuartzAddScreen(foundIndex, pScreen); - foundIndex++; - if (!ret) - return FALSE; - - // setup a single visual appropriate for our pixel type - if (!miSetVisualTypesAndMasks(dfb->depth, dfb->visuals, dfb->bitsPerRGB, - dfb->preferredCVC, dfb->redMask, - dfb->greenMask, dfb->blueMask)) { - return FALSE; - } - - // TODO: Make PseudoColor visuals not suck in TrueColor mode - // if(dfb->depth > 8) - // miSetVisualTypesAndMasks(8, PseudoColorMask, 8, PseudoColor, 0, 0, 0); - // - // TODO: Re-add support for 15bit - // if (dfb->depth > 15) - // miSetVisualTypesAndMasks(15, TrueColorMask, 5, TrueColor, - // RM_ARGB(0, 5, 5, 5), GM_ARGB(0, 5, 5, - // 5), - // BM_ARGB(0, 5, 5, 5)); - if (dfb->depth > 24) - miSetVisualTypesAndMasks(24, TrueColorMask, 8, TrueColor, - RM_ARGB(0, 8, 8, 8), GM_ARGB(0, 8, 8, - 8), - BM_ARGB(0, 8, 8, 8)); - - miSetPixmapDepths(); - - // machine independent screen init - // setup _Screen structure in pScreen - if (monitorResolution) - dpi = monitorResolution; - else - dpi = 96; - - // initialize fb - if (!fbScreenInit(pScreen, - dfb->framebuffer, // pointer to screen bitmap - dfb->width, dfb->height, // screen size in pixels - dpi, dpi, // dots per inch - dfb->pitch / (dfb->bitsPerPixel / 8), // pixel width of framebuffer - dfb->bitsPerPixel)) { // bits per pixel for screen - return FALSE; - } - - if (!fbPictureInit(pScreen, 0, 0)) { - return FALSE; - } - -#ifdef MITSHM - ShmRegisterFbFuncs(pScreen); -#endif - - // finish mode dependent screen setup including cursor support - if (!QuartzSetupScreen(pScreen->myNum, pScreen)) { - return FALSE; - } - - // create and install the default colormap and - // set pScreen->blackPixel / pScreen->white - if (!miCreateDefColormap(pScreen)) { - return FALSE; - } - - pScreen->x = dfb->x; - pScreen->y = dfb->y; - - /* ErrorF("Screen %d added: %dx%d @ (%d,%d)\n", - index, dfb->width, dfb->height, dfb->x, dfb->y); */ - - return TRUE; -} - -/* - ============================================================================= - - mouse and keyboard callbacks - - ============================================================================= - */ - -static void -DarwinInputHandlerNotify(int fd __unused, int ready __unused, void *data __unused) -{ -} - -/* - * DarwinMouseProc: Handle the initialization, etc. of a mouse - */ -static int -DarwinMouseProc(DeviceIntPtr pPointer, int what) -{ -#define NBUTTONS 3 -#define NAXES 6 - // 3 buttons: left, middle, right - CARD8 map[NBUTTONS + 1] = { 0, 1, 2, 3}; - Atom btn_labels[NBUTTONS] = { 0 }; - Atom axes_labels[NAXES] = { 0 }; - - switch (what) { - case DEVICE_INIT: - pPointer->public.on = FALSE; - - btn_labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT); - btn_labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE); - btn_labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT); - - axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X); - axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y); - axes_labels[2] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_X); - axes_labels[3] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_Y); - axes_labels[4] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_WHEEL); - axes_labels[5] = XIGetKnownProperty(AXIS_LABEL_PROP_REL_HWHEEL); - - // Set button map. - InitPointerDeviceStruct((DevicePtr)pPointer, map, NBUTTONS, - btn_labels, - (PtrCtrlProcPtr)NoopDDA, - GetMotionHistorySize(), NAXES, - axes_labels); - InitValuatorAxisStruct(pPointer, 0, axes_labels[0], - NO_AXIS_LIMITS, NO_AXIS_LIMITS, - 0, 0, 0, Absolute); - InitValuatorAxisStruct(pPointer, 1, axes_labels[1], - NO_AXIS_LIMITS, NO_AXIS_LIMITS, - 0, 0, 0, Absolute); - InitValuatorAxisStruct(pPointer, 2, axes_labels[2], - NO_AXIS_LIMITS, NO_AXIS_LIMITS, - 1, 0, 1, Relative); - InitValuatorAxisStruct(pPointer, 3, axes_labels[3], - NO_AXIS_LIMITS, NO_AXIS_LIMITS, - 1, 0, 1, Relative); - InitValuatorAxisStruct(pPointer, 4, axes_labels[4], - NO_AXIS_LIMITS, NO_AXIS_LIMITS, - 1, 0, 1, Relative); - InitValuatorAxisStruct(pPointer, 5, axes_labels[5], - NO_AXIS_LIMITS, NO_AXIS_LIMITS, - 1, 0, 1, Relative); - - SetScrollValuator(pPointer, 4, SCROLL_TYPE_VERTICAL, -1.0, SCROLL_FLAG_PREFERRED); - SetScrollValuator(pPointer, 5, SCROLL_TYPE_HORIZONTAL, -1.0, SCROLL_FLAG_NONE); - break; - - case DEVICE_ON: - pPointer->public.on = TRUE; - SetNotifyFd(darwinEventReadFD, DarwinInputHandlerNotify, X_NOTIFY_READ, NULL); - return Success; - - case DEVICE_CLOSE: - case DEVICE_OFF: - pPointer->public.on = FALSE; - RemoveNotifyFd(darwinEventReadFD); - return Success; - } - - return Success; -#undef NBUTTONS -#undef NAXES -} - -static int -DarwinTabletProc(DeviceIntPtr pPointer, int what) -{ -#define NBUTTONS 3 -#define NAXES 5 - CARD8 map[NBUTTONS + 1] = { 0, 1, 2, 3 }; - Atom btn_labels[NBUTTONS] = { 0 }; - Atom axes_labels[NAXES] = { 0 }; - - switch (what) { - case DEVICE_INIT: - pPointer->public.on = FALSE; - - btn_labels[0] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_LEFT); - btn_labels[1] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_MIDDLE); - btn_labels[2] = XIGetKnownProperty(BTN_LABEL_PROP_BTN_RIGHT); - - axes_labels[0] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_X); - axes_labels[1] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_Y); - axes_labels[2] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_PRESSURE); - axes_labels[3] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_TILT_X); - axes_labels[4] = XIGetKnownProperty(AXIS_LABEL_PROP_ABS_TILT_Y); - - // Set button map. - InitPointerDeviceStruct((DevicePtr)pPointer, map, NBUTTONS, - btn_labels, - (PtrCtrlProcPtr)NoopDDA, - GetMotionHistorySize(), NAXES, - axes_labels); - InitProximityClassDeviceStruct(pPointer); - - InitValuatorAxisStruct(pPointer, 0, axes_labels[0], - 0, XQUARTZ_VALUATOR_LIMIT, - 1, 0, 1, Absolute); - InitValuatorAxisStruct(pPointer, 1, axes_labels[1], - 0, XQUARTZ_VALUATOR_LIMIT, - 1, 0, 1, Absolute); - InitValuatorAxisStruct(pPointer, 2, axes_labels[2], - 0, XQUARTZ_VALUATOR_LIMIT, - 1, 0, 1, Absolute); - InitValuatorAxisStruct(pPointer, 3, axes_labels[3], - -XQUARTZ_VALUATOR_LIMIT, - XQUARTZ_VALUATOR_LIMIT, - 1, 0, 1, Absolute); - InitValuatorAxisStruct(pPointer, 4, axes_labels[4], - -XQUARTZ_VALUATOR_LIMIT, - XQUARTZ_VALUATOR_LIMIT, - 1, 0, 1, Absolute); - - // pPointer->use = IsXExtensionDevice; - break; - - case DEVICE_ON: - pPointer->public.on = TRUE; - SetNotifyFd(darwinEventReadFD, DarwinInputHandlerNotify, X_NOTIFY_READ, NULL); - return Success; - - case DEVICE_CLOSE: - case DEVICE_OFF: - pPointer->public.on = FALSE; - RemoveNotifyFd(darwinEventReadFD); - return Success; - } - return Success; -#undef NBUTTONS -#undef NAXES -} - -/* - * DarwinKeybdProc - * Callback from X - */ -static int -DarwinKeybdProc(DeviceIntPtr pDev, int onoff) -{ - switch (onoff) { - case DEVICE_INIT: - DarwinKeyboardInit(pDev); - break; - - case DEVICE_ON: - pDev->public.on = TRUE; - SetNotifyFd(darwinEventReadFD, DarwinInputHandlerNotify, X_NOTIFY_READ, NULL); - break; - - case DEVICE_OFF: - pDev->public.on = FALSE; - RemoveNotifyFd(darwinEventReadFD); - break; - - case DEVICE_CLOSE: - break; - } - - return Success; -} - -/* - =========================================================================== - - Utility routines - - =========================================================================== - */ - -/* - * DarwinParseModifierList - * Parse a list of modifier names and return a corresponding modifier mask - */ -int -DarwinParseModifierList(const char *constmodifiers, int separatelr) -{ - int result = 0; - - if (constmodifiers) { - char *modifiers = strdup(constmodifiers); - char *modifier; - int nxkey; - char *p = modifiers; - - while (p) { - modifier = strsep(&p, " ,+&|/"); // allow lots of separators - nxkey = DarwinModifierStringToNXMask(modifier, separatelr); - if (nxkey) - result |= nxkey; - else - ErrorF("fakebuttons: Unknown modifier \"%s\"\n", modifier); - } - free(modifiers); - } - return result; -} - -/* - =========================================================================== - - Functions needed to link against device independent X - - =========================================================================== - */ - -/* - * InitInput - * Register the keyboard and mouse devices - */ -void -InitInput(int argc, char **argv) -{ - XkbRMLVOSet rmlvo = { - .rules = "base", .model = "empty", .layout = "empty", - .variant = NULL, .options = NULL - }; - - /* We need to really have rules... or something... */ - XkbSetRulesDflts(&rmlvo); - - assert(Success == AllocDevicePair(serverClient, "xquartz virtual", - &darwinPointer, &darwinKeyboard, - DarwinMouseProc, DarwinKeybdProc, FALSE)); - - /* here's the snippet from the current gdk sources: - if (!strcmp (tmp_name, "pointer")) - gdkdev->info.source = GDK_SOURCE_MOUSE; - else if (!strcmp (tmp_name, "wacom") || - !strcmp (tmp_name, "pen")) - gdkdev->info.source = GDK_SOURCE_PEN; - else if (!strcmp (tmp_name, "eraser")) - gdkdev->info.source = GDK_SOURCE_ERASER; - else if (!strcmp (tmp_name, "cursor")) - gdkdev->info.source = GDK_SOURCE_CURSOR; - else - gdkdev->info.source = GDK_SOURCE_PEN; - */ - - darwinTabletStylus = AddInputDevice(serverClient, DarwinTabletProc, TRUE); - assert(darwinTabletStylus); - darwinTabletStylus->name = strdup("pen"); - - darwinTabletCursor = AddInputDevice(serverClient, DarwinTabletProc, TRUE); - assert(darwinTabletCursor); - darwinTabletCursor->name = strdup("cursor"); - - darwinTabletEraser = AddInputDevice(serverClient, DarwinTabletProc, TRUE); - assert(darwinTabletEraser); - darwinTabletEraser->name = strdup("eraser"); - - DarwinEQInit(); - - QuartzInitInput(argc, argv); -} - -void -CloseInput(void) -{ - DarwinEQFini(); -} - -/* - * DarwinAdjustScreenOrigins - * Shift all screens so the X11 (0, 0) coordinate is at the top - * left of the global screen coordinates. - * - * Screens can be arranged so the top left isn't on any screen, so - * instead use the top left of the leftmost screen as (0,0). This - * may mean some screen space is in -y, but it's better that (0,0) - * be onscreen, or else default xterms disappear. It's better that - * -y be used than -x, because when popup menus are forced - * "onscreen" by dumb window managers like twm, they'll shift the - * menus down instead of left, which still looks funny but is an - * easier target to hit. - */ -void -DarwinAdjustScreenOrigins(ScreenInfo *pScreenInfo) -{ - int i, left, top; - - left = pScreenInfo->screens[0]->x; - top = pScreenInfo->screens[0]->y; - - /* Find leftmost screen. If there's a tie, take the topmost of the two. */ - for (i = 1; i < pScreenInfo->numScreens; i++) { - if (pScreenInfo->screens[i]->x < left || - (pScreenInfo->screens[i]->x == left && - pScreenInfo->screens[i]->y < top)) { - left = pScreenInfo->screens[i]->x; - top = pScreenInfo->screens[i]->y; - } - } - - darwinMainScreenX = left; - darwinMainScreenY = top; - - DEBUG_LOG("top = %d, left=%d\n", top, left); - - /* Shift all screens so that there is a screen whose top left - * is at X11 (0,0) and at global screen coordinate - * (darwinMainScreenX, darwinMainScreenY). - */ - - if (darwinMainScreenX != 0 || darwinMainScreenY != 0) { - for (i = 0; i < pScreenInfo->numScreens; i++) { - pScreenInfo->screens[i]->x -= darwinMainScreenX; - pScreenInfo->screens[i]->y -= darwinMainScreenY; - DEBUG_LOG("Screen %d placed at X11 coordinate (%d,%d).\n", - i, pScreenInfo->screens[i]->x, - pScreenInfo->screens[i]->y); - } - } - - /* Update screenInfo.x/y */ - update_desktop_dimensions(); -} - -/* - * InitOutput - * Initialize screenInfo for all actually accessible framebuffers. - * - * The display mode dependent code gets called three times. The mode - * specific InitOutput routines are expected to discover the number - * of potentially useful screens and cache routes to them internally. - * Inside DarwinScreenInit are two other mode specific calls. - * A mode specific AddScreen routine is called for each screen to - * actually initialize the screen with the ScreenPtr structure. - * After other screen setup has been done, a mode specific - * SetupScreen function can be called to finalize screen setup. - */ -void -InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) -{ - int i; - - pScreenInfo->imageByteOrder = IMAGE_BYTE_ORDER; - pScreenInfo->bitmapScanlineUnit = BITMAP_SCANLINE_UNIT; - pScreenInfo->bitmapScanlinePad = BITMAP_SCANLINE_PAD; - pScreenInfo->bitmapBitOrder = BITMAP_BIT_ORDER; - - // List how we want common pixmap formats to be padded - pScreenInfo->numPixmapFormats = ARRAY_SIZE(formats); - for (i = 0; i < ARRAY_SIZE(formats); i++) - pScreenInfo->formats[i] = formats[i]; - - // Discover screens and do mode specific initialization - QuartzInitOutput(argc, argv); - - // Add screens - for (i = 0; i < darwinScreensFound; i++) { - AddScreen(DarwinScreenInit, argc, argv); - } - - xorgGlxCreateVendor(); - - DarwinAdjustScreenOrigins(pScreenInfo); -} - -/* - * OsVendorFatalError - */ -void -OsVendorFatalError(const char *f, va_list args) -{ -} - -/* - * OsVendorInit - * Initialization of Darwin OS support. - */ -void -OsVendorInit(void) -{ - if (serverGeneration == 1) { - char *lf; - char *home = getenv("HOME"); - assert(home); - assert(0 < asprintf(&lf, "%s/Library/Logs/X11", home)); - - /* Ignore errors. If EEXIST, we don't care. If anything else, - * LogInit will handle it for us. - */ - (void)mkdir(lf, S_IRWXU | S_IRWXG | S_IRWXO); - free(lf); - - assert(0 < - asprintf(&lf, "%s/Library/Logs/X11/%s.log", home, - bundle_id_prefix)); - LogInit(lf, ".old"); - free(lf); - - DarwinPrintBanner(); - } -} - -/* - * ddxProcessArgument - * Process device-dependent command line args. Returns 0 if argument is - * not device dependent, otherwise Count of number of elements of argv - * that are part of a device dependent commandline option. - */ -int -ddxProcessArgument(int argc, char *argv[], int i) -{ - // if ( !strcmp( argv[i], "-fullscreen" ) ) { - // ErrorF( "Running full screen in parallel with Mac OS X Quartz window server.\n" ); - // return 1; - // } - - // if ( !strcmp( argv[i], "-rootless" ) ) { - // ErrorF( "Running rootless inside Mac OS X window server.\n" ); - // return 1; - // } - - // This command line arg is passed when launched from the Aqua GUI. - if (!strncmp(argv[i], "-psn_", 5)) { - return 1; - } - - if (!strcmp(argv[i], "-fakebuttons")) { - darwinFakeButtons = TRUE; - ErrorF("Faking a three button mouse\n"); - return 1; - } - - if (!strcmp(argv[i], "-nofakebuttons")) { - darwinFakeButtons = FALSE; - ErrorF("Not faking a three button mouse\n"); - return 1; - } - - if (!strcmp(argv[i], "-fakemouse2")) { - if (i == argc - 1) { - FatalError("-fakemouse2 must be followed by a modifier list\n"); - } - if (!strcasecmp(argv[i + 1], "none") || !strcmp(argv[i + 1], "")) - darwinFakeMouse2Mask = 0; - else - darwinFakeMouse2Mask = DarwinParseModifierList(argv[i + 1], 1); - ErrorF("Modifier mask to fake mouse button 2 = 0x%x\n", - darwinFakeMouse2Mask); - return 2; - } - - if (!strcmp(argv[i], "-fakemouse3")) { - if (i == argc - 1) { - FatalError("-fakemouse3 must be followed by a modifier list\n"); - } - if (!strcasecmp(argv[i + 1], "none") || !strcmp(argv[i + 1], "")) - darwinFakeMouse3Mask = 0; - else - darwinFakeMouse3Mask = DarwinParseModifierList(argv[i + 1], 1); - ErrorF("Modifier mask to fake mouse button 3 = 0x%x\n", - darwinFakeMouse3Mask); - return 2; - } - - if (!strcmp(argv[i], "+synckeymap")) { - darwinSyncKeymap = TRUE; - return 1; - } - - if (!strcmp(argv[i], "-synckeymap")) { - darwinSyncKeymap = FALSE; - return 1; - } - - if (!strcmp(argv[i], "-depth")) { - if (i == argc - 1) { - FatalError("-depth must be followed by a number\n"); - } - darwinDesiredDepth = atoi(argv[i + 1]); - if (darwinDesiredDepth != -1 && - darwinDesiredDepth != 8 && - darwinDesiredDepth != 15 && - darwinDesiredDepth != 24) { - FatalError("Unsupported pixel depth. Use 8, 15, or 24 bits\n"); - } - - ErrorF("Attempting to use pixel depth of %i\n", darwinDesiredDepth); - return 2; - } - - if (!strcmp(argv[i], "-showconfig") || !strcmp(argv[i], "-version")) { - DarwinPrintBanner(); - exit(0); - } - - return 0; -} - -/* - * ddxUseMsg -- - * Print out correct use of device dependent commandline options. - * Maybe the user now knows what really to do ... - */ -void -ddxUseMsg(void) -{ - ErrorF("\n"); - ErrorF("\n"); - ErrorF("Device Dependent Usage:\n"); - ErrorF("\n"); - ErrorF("-depth <8,15,24> : use this bit depth.\n"); - ErrorF( - "-fakebuttons : fake a three button mouse with Command and Option keys.\n"); - ErrorF("-nofakebuttons : don't fake a three button mouse.\n"); - ErrorF( - "-fakemouse2 : fake middle mouse button with modifier keys.\n"); - ErrorF( - "-fakemouse3 : fake right mouse button with modifier keys.\n"); - ErrorF( - " ex: -fakemouse2 \"option,shift\" = option-shift-click is middle button.\n"); - ErrorF("-version : show the server version.\n"); - ErrorF("\n"); -} - -/* - * ddxGiveUp -- - * Device dependent cleanup. Called by dix before normal server death. - */ -void -ddxGiveUp(enum ExitCode error) -{ - LogClose(error); -} - -#if INPUTTHREAD -/** This function is called in Xserver/os/inputthread.c when starting - the input thread. */ -void -ddxInputThreadInit(void) -{ -} -#endif diff --git a/hw/xquartz/darwin.h b/hw/xquartz/darwin.h deleted file mode 100644 index 3cae50b2a..000000000 --- a/hw/xquartz/darwin.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * Copyright (C) 2008-2012 Apple, Inc. - * Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifndef _DARWIN_H -#define _DARWIN_H - -#include -#include "inputstr.h" -#include "scrnintstr.h" -#include -#include - -#include "darwinfb.h" - -// From darwin.c -void -DarwinPrintBanner(void); -int -DarwinParseModifierList(const char *constmodifiers, int separatelr); -void -DarwinAdjustScreenOrigins(ScreenInfo *pScreenInfo); - -#define SCREEN_PRIV(pScreen) ((DarwinFramebufferPtr) \ - dixLookupPrivate(&pScreen->devPrivates, \ - darwinScreenKey)) - -/* - * Global variables from darwin.c - */ -extern DevPrivateKeyRec darwinScreenKeyRec; -#define darwinScreenKey (&darwinScreenKeyRec) -extern int darwinScreensFound; -extern io_connect_t darwinParamConnect; -extern int darwinEventReadFD; -extern int darwinEventWriteFD; -extern DeviceIntPtr darwinPointer; -extern DeviceIntPtr darwinTabletCursor; -extern DeviceIntPtr darwinTabletStylus; -extern DeviceIntPtr darwinTabletEraser; -extern DeviceIntPtr darwinKeyboard; - -// User preferences -extern int darwinMouseAccelChange; -extern int darwinFakeButtons; -extern int darwinFakeMouse2Mask; -extern int darwinFakeMouse3Mask; -extern unsigned int darwinAppKitModMask; -extern unsigned int windowItemModMask; -extern int darwinSyncKeymap; -extern int darwinDesiredDepth; - -// location of X11's (0,0) point in global screen coordinates -extern int darwinMainScreenX; -extern int darwinMainScreenY; - -// bundle-main.c -extern char *bundle_id_prefix; - -_X_ATTRIBUTE_PRINTF(6, 7) -extern void -xq_asl_log(int level, const char *subsystem, const char *file, - const char *function, int line, const char *fmt, - ...); - -#define ASL_LOG(level, subsystem, msg, args ...) xq_asl_log(level, subsystem, \ - __FILE__, \ - __FUNCTION__, \ - __LINE__, msg, \ - ## args) -#define DEBUG_LOG(msg, args ...) ASL_LOG(ASL_LEVEL_DEBUG, \ - "XQuartz", msg, \ - ## args) -#define TRACE() DEBUG_LOG("TRACE") - -#endif /* _DARWIN_H */ diff --git a/hw/xquartz/darwinEvents.c b/hw/xquartz/darwinEvents.c deleted file mode 100644 index fd87e968b..000000000 --- a/hw/xquartz/darwinEvents.c +++ /dev/null @@ -1,647 +0,0 @@ -/* - * Darwin event queue and event handling - * - * Copyright 2007-2008 Apple Inc. - * Copyright 2004 Kaleb S. KEITHLEY. All Rights Reserved. - * Copyright (c) 2002-2004 Torrey T. Lyons. All Rights Reserved. - * - * This file is based on mieq.c by Keith Packard, - * which contains the following copyright: - * Copyright 1990, 1998 The Open Group - * - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include "misc.h" -#include "windowstr.h" -#include "pixmapstr.h" -#include "inputstr.h" -#include "inpututils.h" -#include "eventstr.h" -#include "mi.h" -#include "scrnintstr.h" -#include "mipointer.h" -#include "os.h" -#include "exglobals.h" - -#include "darwin.h" -#include "quartz.h" -#include "quartzKeyboard.h" -#include "quartzRandR.h" -#include "darwinEvents.h" - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include "applewmExt.h" - -/* FIXME: Abstract this better */ -extern Bool -QuartzModeEventHandler(int screenNum, XQuartzEvent *e, DeviceIntPtr dev); - -int darwin_all_modifier_flags = 0; // last known modifier state -int darwin_all_modifier_mask = 0; -int darwin_x11_modifier_mask = 0; - -#define FD_ADD_MAX 128 -static int fd_add[FD_ADD_MAX]; -int fd_add_count = 0; -static pthread_mutex_t fd_add_lock = PTHREAD_MUTEX_INITIALIZER; -static pthread_cond_t fd_add_ready_cond = PTHREAD_COND_INITIALIZER; -static pthread_t fd_add_tid = NULL; - -static BOOL mieqInitialized; -static pthread_mutex_t mieqInitializedMutex = PTHREAD_MUTEX_INITIALIZER; -static pthread_cond_t mieqInitializedCond = PTHREAD_COND_INITIALIZER; - -_X_NOTSAN -extern inline void -wait_for_mieq_init(void) -{ - if (!mieqInitialized) { - pthread_mutex_lock(&mieqInitializedMutex); - while (!mieqInitialized) { - pthread_cond_wait(&mieqInitializedCond, &mieqInitializedMutex); - } - pthread_mutex_unlock(&mieqInitializedMutex); - } -} - -_X_NOTSAN -static inline void -signal_mieq_init(void) -{ - pthread_mutex_lock(&mieqInitializedMutex); - mieqInitialized = TRUE; - pthread_cond_broadcast(&mieqInitializedCond); - pthread_mutex_unlock(&mieqInitializedMutex); -} - -/*** Pthread Magics ***/ -static pthread_t -create_thread(void *(*func)(void *), void *arg) -{ - pthread_attr_t attr; - pthread_t tid; - - pthread_attr_init(&attr); - pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - pthread_create(&tid, &attr, func, arg); - pthread_attr_destroy(&attr); - - return tid; -} - -/* - * DarwinPressModifierKey - * Press or release the given modifier key (one of NX_MODIFIERKEY_* constants) - */ -static void -DarwinPressModifierKey(int pressed, int key) -{ - int keycode = DarwinModifierNXKeyToNXKeycode(key, 0); - - if (keycode == 0) { - ErrorF("DarwinPressModifierKey bad keycode: key=%d\n", key); - return; - } - - DarwinSendKeyboardEvents(pressed, keycode); -} - -/* - * DarwinUpdateModifiers - * Send events to update the modifier state. - */ - -static int darwin_x11_modifier_mask_list[] = { -#ifdef NX_DEVICELCMDKEYMASK - NX_DEVICELCTLKEYMASK, NX_DEVICERCTLKEYMASK, - NX_DEVICELSHIFTKEYMASK, NX_DEVICERSHIFTKEYMASK, - NX_DEVICELCMDKEYMASK, NX_DEVICERCMDKEYMASK, - NX_DEVICELALTKEYMASK, NX_DEVICERALTKEYMASK, -#else - NX_CONTROLMASK, NX_SHIFTMASK, NX_COMMANDMASK, - NX_ALTERNATEMASK, -#endif - NX_ALPHASHIFTMASK, - 0 -}; - -static int darwin_all_modifier_mask_additions[] = { NX_SECONDARYFNMASK, 0 }; - -static void -DarwinUpdateModifiers(int pressed, // KeyPress or KeyRelease - int flags) // modifier flags that have changed -{ - int *f; - int key; - - /* Capslock is special. This mask is the state of capslock (on/off), - * not the state of the button. Hopefully we can find a better solution. - */ - if (NX_ALPHASHIFTMASK & flags) { - DarwinPressModifierKey(KeyPress, NX_MODIFIERKEY_ALPHALOCK); - DarwinPressModifierKey(KeyRelease, NX_MODIFIERKEY_ALPHALOCK); - } - - for (f = darwin_x11_modifier_mask_list; *f; f++) - if (*f & flags && *f != NX_ALPHASHIFTMASK) { - key = DarwinModifierNXMaskToNXKey(*f); - if (key == -1) - ErrorF("DarwinUpdateModifiers: Unsupported NXMask: 0x%x\n", - *f); - else - DarwinPressModifierKey(pressed, key); - } -} - -/* Generic handler for Xquartz-specifc events. When possible, these should - be moved into their own individual functions and set as handlers using - mieqSetHandler. */ - -static void -DarwinEventHandler(int screenNum, InternalEvent *ie, DeviceIntPtr dev) -{ - XQuartzEvent *e = &(ie->xquartz_event); - - switch (e->subtype) { - case kXquartzControllerNotify: - DEBUG_LOG("kXquartzControllerNotify\n"); - AppleWMSendEvent(AppleWMControllerNotify, - AppleWMControllerNotifyMask, - e->data[0], - e->data[1]); - break; - - case kXquartzPasteboardNotify: - DEBUG_LOG("kXquartzPasteboardNotify\n"); - AppleWMSendEvent(AppleWMPasteboardNotify, - AppleWMPasteboardNotifyMask, - e->data[0], - e->data[1]); - break; - - case kXquartzActivate: - DEBUG_LOG("kXquartzActivate\n"); - QuartzShow(); - AppleWMSendEvent(AppleWMActivationNotify, - AppleWMActivationNotifyMask, - AppleWMIsActive, 0); - break; - - case kXquartzDeactivate: - DEBUG_LOG("kXquartzDeactivate\n"); - AppleWMSendEvent(AppleWMActivationNotify, - AppleWMActivationNotifyMask, - AppleWMIsInactive, 0); - QuartzHide(); - break; - - case kXquartzReloadPreferences: - DEBUG_LOG("kXquartzReloadPreferences\n"); - AppleWMSendEvent(AppleWMActivationNotify, - AppleWMActivationNotifyMask, - AppleWMReloadPreferences, 0); - break; - - case kXquartzToggleFullscreen: - DEBUG_LOG("kXquartzToggleFullscreen\n"); - if (XQuartzIsRootless) - ErrorF( - "Ignoring kXquartzToggleFullscreen because of rootless mode."); - else - QuartzRandRToggleFullscreen(); - break; - - case kXquartzSetRootless: - DEBUG_LOG("kXquartzSetRootless\n"); - if (e->data[0]) { - QuartzRandRSetFakeRootless(); - } - else { - QuartzRandRSetFakeFullscreen(FALSE); - } - break; - - case kXquartzSetRootClip: - QuartzSetRootClip(e->data[0]); - break; - - case kXquartzQuit: - GiveUp(0); - break; - - case kXquartzSpaceChanged: - DEBUG_LOG("kXquartzSpaceChanged\n"); - QuartzSpaceChanged(e->data[0]); - break; - - case kXquartzListenOnOpenFD: - ErrorF("Calling ListenOnOpenFD() for new fd: %d\n", (int)e->data[0]); - ListenOnOpenFD((int)e->data[0], 1); - break; - - case kXquartzReloadKeymap: - DarwinKeyboardReloadHandler(); - break; - - case kXquartzDisplayChanged: - DEBUG_LOG("kXquartzDisplayChanged\n"); - QuartzUpdateScreens(); - - /* Update our RandR info */ - QuartzRandRUpdateFakeModes(TRUE); - break; - - default: - if (!QuartzModeEventHandler(screenNum, e, dev)) - ErrorF("Unknown application defined event type %d.\n", e->subtype); - } -} - -void -DarwinListenOnOpenFD(int fd) -{ - ErrorF("DarwinListenOnOpenFD: %d\n", fd); - - pthread_mutex_lock(&fd_add_lock); - if (fd_add_count < FD_ADD_MAX) - fd_add[fd_add_count++] = fd; - else - ErrorF("FD Addition buffer at max. Dropping fd addition request.\n"); - - pthread_cond_broadcast(&fd_add_ready_cond); - pthread_mutex_unlock(&fd_add_lock); -} - -static void * -DarwinProcessFDAdditionQueue_thread(void *args) -{ - /* TODO: Possibly adjust this to no longer be a race... maybe trigger this - * once a client connects and claims to be the WM. - * - * From ajax: - * There's already an internal callback chain for setting selection [in 1.5] - * ownership. See the CallSelectionCallback at the bottom of - * ProcSetSelectionOwner, and xfixes/select.c for an example of how to hook - * into it. - */ - - struct timespec sleep_for; - struct timespec sleep_remaining; - - sleep_for.tv_sec = 3; - sleep_for.tv_nsec = 0; - - ErrorF( - "X11.app: DarwinProcessFDAdditionQueue_thread: Sleeping to allow xinitrc to catchup.\n"); - while (nanosleep(&sleep_for, &sleep_remaining) != 0) { - sleep_for = sleep_remaining; - } - - pthread_mutex_lock(&fd_add_lock); - while (true) { - while (fd_add_count) { - DarwinSendDDXEvent(kXquartzListenOnOpenFD, 1, - fd_add[--fd_add_count]); - } - pthread_cond_wait(&fd_add_ready_cond, &fd_add_lock); - } - - return NULL; -} - -Bool -DarwinEQInit(void) -{ - int *p; - - for (p = darwin_x11_modifier_mask_list; *p; p++) { - darwin_x11_modifier_mask |= *p; - } - - darwin_all_modifier_mask = darwin_x11_modifier_mask; - for (p = darwin_all_modifier_mask_additions; *p; p++) { - darwin_all_modifier_mask |= *p; - } - - mieqInit(); - mieqSetHandler(ET_XQuartz, DarwinEventHandler); - - if (!fd_add_tid) - fd_add_tid = create_thread(DarwinProcessFDAdditionQueue_thread, NULL); - - signal_mieq_init(); - - return TRUE; -} - -void -DarwinEQFini(void) -{ - mieqFini(); -} - -/* - * ProcessInputEvents - * Read and process events from the event queue until it is empty. - */ -void -ProcessInputEvents(void) -{ - char nullbyte; - int x = sizeof(nullbyte); - - mieqProcessInputEvents(); - - // Empty the signaling pipe - while (x == sizeof(nullbyte)) { - x = read(darwinEventReadFD, &nullbyte, sizeof(nullbyte)); - } -} - -/* Sends a null byte down darwinEventWriteFD, which will cause the - Dispatch() event loop to check out event queue */ -static void -DarwinPokeEQ(void) -{ - char nullbyte = 0; - // oh, i ... er ... christ. - write(darwinEventWriteFD, &nullbyte, sizeof(nullbyte)); -} - -void -DarwinInputReleaseButtonsAndKeys(DeviceIntPtr pDev) -{ - input_lock(); - { - int i; - if (pDev->button) { - for (i = 0; i < pDev->button->numButtons; i++) { - if (BitIsOn(pDev->button->down, i)) { - QueuePointerEvents(pDev, ButtonRelease, i, - POINTER_ABSOLUTE, - NULL); - } - } - } - - if (pDev->key) { - for (i = 0; i < NUM_KEYCODES; i++) { - if (BitIsOn(pDev->key->down, i + MIN_KEYCODE)) { - QueueKeyboardEvents(pDev, KeyRelease, i + MIN_KEYCODE); - } - } - } - DarwinPokeEQ(); - } input_unlock(); -} - -void -DarwinSendTabletEvents(DeviceIntPtr pDev, int ev_type, int ev_button, - double pointer_x, double pointer_y, - double pressure, double tilt_x, - double tilt_y) -{ - ScreenPtr screen; - ValuatorMask valuators; - - screen = miPointerGetScreen(pDev); - if (!screen) { - DEBUG_LOG("%s called before screen was initialized\n", - __FUNCTION__); - return; - } - - /* Fix offset between darwin and X screens */ - pointer_x -= darwinMainScreenX + screen->x; - pointer_y -= darwinMainScreenY + screen->y; - - /* Adjust our pointer location to the [0,1] range */ - pointer_x = pointer_x / (double)screenInfo.width; - pointer_y = pointer_y / (double)screenInfo.height; - - valuator_mask_zero(&valuators); - valuator_mask_set_double(&valuators, 0, XQUARTZ_VALUATOR_LIMIT * pointer_x); - valuator_mask_set_double(&valuators, 1, XQUARTZ_VALUATOR_LIMIT * pointer_y); - valuator_mask_set_double(&valuators, 2, XQUARTZ_VALUATOR_LIMIT * pressure); - valuator_mask_set_double(&valuators, 3, XQUARTZ_VALUATOR_LIMIT * tilt_x); - valuator_mask_set_double(&valuators, 4, XQUARTZ_VALUATOR_LIMIT * tilt_y); - - input_lock(); - { - if (ev_type == ProximityIn || ev_type == ProximityOut) { - QueueProximityEvents(pDev, ev_type, &valuators); - } else { - QueuePointerEvents(pDev, ev_type, ev_button, POINTER_ABSOLUTE, - &valuators); - } - DarwinPokeEQ(); - } input_unlock(); -} - -void -DarwinSendPointerEvents(DeviceIntPtr pDev, int ev_type, int ev_button, - double pointer_x, double pointer_y, - double pointer_dx, double pointer_dy) -{ - static int darwinFakeMouseButtonDown = 0; - ScreenPtr screen; - ValuatorMask valuators; - - screen = miPointerGetScreen(pDev); - if (!screen) { - DEBUG_LOG("%s called before screen was initialized\n", - __FUNCTION__); - return; - } - - /* Handle fake click */ - if (ev_type == ButtonPress && darwinFakeButtons && ev_button == 1) { - if (darwinFakeMouseButtonDown != 0) { - /* We're currently "down" with another button, so release it first */ - DarwinSendPointerEvents(pDev, ButtonRelease, - darwinFakeMouseButtonDown, - pointer_x, pointer_y, 0.0, 0.0); - darwinFakeMouseButtonDown = 0; - } - if (darwin_all_modifier_flags & darwinFakeMouse2Mask) { - ev_button = 2; - darwinFakeMouseButtonDown = 2; - DarwinUpdateModKeys( - darwin_all_modifier_flags & ~darwinFakeMouse2Mask); - } - else if (darwin_all_modifier_flags & darwinFakeMouse3Mask) { - ev_button = 3; - darwinFakeMouseButtonDown = 3; - DarwinUpdateModKeys( - darwin_all_modifier_flags & ~darwinFakeMouse3Mask); - } - } - - if (ev_type == ButtonRelease && ev_button == 1) { - if (darwinFakeMouseButtonDown) { - ev_button = darwinFakeMouseButtonDown; - } - - if (darwinFakeMouseButtonDown == 2) { - DarwinUpdateModKeys( - darwin_all_modifier_flags & ~darwinFakeMouse2Mask); - } - else if (darwinFakeMouseButtonDown == 3) { - DarwinUpdateModKeys( - darwin_all_modifier_flags & ~darwinFakeMouse3Mask); - } - - darwinFakeMouseButtonDown = 0; - } - - /* Fix offset between darwin and X screens */ - pointer_x -= darwinMainScreenX + screen->x; - pointer_y -= darwinMainScreenY + screen->y; - - valuator_mask_zero(&valuators); - valuator_mask_set_double(&valuators, 0, pointer_x); - valuator_mask_set_double(&valuators, 1, pointer_y); - - if (ev_type == MotionNotify) { - if (pointer_dx != 0.0) - valuator_mask_set_double(&valuators, 2, pointer_dx); - if (pointer_dy != 0.0) - valuator_mask_set_double(&valuators, 3, pointer_dy); - } - - input_lock(); - { - QueuePointerEvents(pDev, ev_type, ev_button, POINTER_ABSOLUTE, - &valuators); - DarwinPokeEQ(); - } input_unlock(); -} - -void -DarwinSendKeyboardEvents(int ev_type, int keycode) -{ - input_lock(); - { - QueueKeyboardEvents(darwinKeyboard, ev_type, keycode + MIN_KEYCODE); - DarwinPokeEQ(); - } input_unlock(); -} - -/* Send the appropriate number of button clicks to emulate scroll wheel */ -void -DarwinSendScrollEvents(double scroll_x, double scroll_y) { - ScreenPtr screen; - ValuatorMask valuators; - - screen = miPointerGetScreen(darwinPointer); - if (!screen) { - DEBUG_LOG( - "DarwinSendScrollEvents called before screen was initialized\n"); - return; - } - - valuator_mask_zero(&valuators); - valuator_mask_set_double(&valuators, 4, scroll_y); - valuator_mask_set_double(&valuators, 5, scroll_x); - - input_lock(); - { - QueuePointerEvents(darwinPointer, MotionNotify, 0, - POINTER_RELATIVE, &valuators); - DarwinPokeEQ(); - } input_unlock(); -} - -/* Send the appropriate KeyPress/KeyRelease events to GetKeyboardEvents to - reflect changing modifier flags (alt, control, meta, etc) */ -void -DarwinUpdateModKeys(int flags) -{ - DarwinUpdateModifiers( - KeyRelease, darwin_all_modifier_flags & ~flags & - darwin_x11_modifier_mask); - DarwinUpdateModifiers( - KeyPress, ~darwin_all_modifier_flags & flags & - darwin_x11_modifier_mask); - darwin_all_modifier_flags = flags; -} - -/* - * DarwinSendDDXEvent - * Send the X server thread a message by placing it on the event queue. - */ -void -DarwinSendDDXEvent(int type, int argc, ...) -{ - XQuartzEvent e; - int i; - va_list args; - - memset(&e, 0, sizeof(e)); - e.header = ET_Internal; - e.type = ET_XQuartz; - e.length = sizeof(e); - e.time = GetTimeInMillis(); - e.subtype = type; - - if (argc > 0 && argc < XQUARTZ_EVENT_MAXARGS) { - va_start(args, argc); - for (i = 0; i < argc; i++) - e.data[i] = (uint32_t)va_arg(args, uint32_t); - va_end(args); - } - - wait_for_mieq_init(); - - input_lock(); - { - mieqEnqueue(NULL, (InternalEvent *)&e); - DarwinPokeEQ(); - } input_unlock(); -} diff --git a/hw/xquartz/darwinEvents.h b/hw/xquartz/darwinEvents.h deleted file mode 100644 index 448e730bc..000000000 --- a/hw/xquartz/darwinEvents.h +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (c) 2008 Apple, Inc. - * Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifndef _DARWIN_EVENTS_H -#define _DARWIN_EVENTS_H - -/* For extra precision of our cursor and other valuators */ -#define XQUARTZ_VALUATOR_LIMIT (1 << 16) - -Bool -DarwinEQInit(void); -void -DarwinEQFini(void); -void -DarwinEQEnqueue(const xEventPtr e); -void -DarwinEQPointerPost(DeviceIntPtr pDev, xEventPtr e); -void -DarwinEQSwitchScreen(ScreenPtr pScreen, Bool fromDIX); -void -DarwinInputReleaseButtonsAndKeys(DeviceIntPtr pDev); -void -DarwinSendTabletEvents(DeviceIntPtr pDev, int ev_type, int ev_button, - double pointer_x, double pointer_y, double pressure, - double tilt_x, double tilt_y); -void -DarwinSendPointerEvents(DeviceIntPtr pDev, int ev_type, int ev_button, - double pointer_x, double pointer_y, - double pointer_dx, double pointer_dy); -void -DarwinSendKeyboardEvents(int ev_type, int keycode); -void -DarwinSendScrollEvents(double scroll_x, double scroll_y); -void -DarwinUpdateModKeys(int flags); -void -DarwinListenOnOpenFD(int fd); - -/* - * Subtypes for the ET_XQuartz event type - */ -enum { - kXquartzReloadKeymap, // Reload system keymap - kXquartzActivate, // restore X drawing and cursor - kXquartzDeactivate, // clip X drawing and switch to Aqua cursor - kXquartzSetRootClip, // enable or disable drawing to the X screen - kXquartzQuit, // kill the X server and release the display - kXquartzBringAllToFront, // bring all X windows to front - kXquartzToggleFullscreen, // Enable/Disable fullscreen mode - kXquartzSetRootless, // Set rootless mode - kXquartzSpaceChanged, // Spaces changed - kXquartzListenOnOpenFD, // Listen to the launchd fd (passed as arg) - /* - * AppleWM events - */ - kXquartzControllerNotify, // send an AppleWMControllerNotify event - kXquartzPasteboardNotify, // notify the WM to copy or paste - kXquartzReloadPreferences, // send AppleWMReloadPreferences - /* - * Xplugin notification events - */ - kXquartzDisplayChanged, // display configuration has changed - kXquartzWindowState, // window visibility state has changed - kXquartzWindowMoved, // window has moved on screen -}; - -/* Send one of the above events to the server thread. */ -void -DarwinSendDDXEvent(int type, int argc, ...); - -/* A mask of the modifiers that are in our X11 keyboard layout: - * (Fn for example is just useful for 3button mouse emulation) */ -extern int darwin_all_modifier_mask; - -/* A mask of the modifiers that are in our X11 keyboard layout: - * (Fn for example is just useful for 3button mouse emulation) */ -extern int darwin_x11_modifier_mask; - -/* The current state of the above listed modifiers */ -extern int darwin_all_modifier_flags; - -#endif /* _DARWIN_EVENTS_H */ diff --git a/hw/xquartz/darwinXinput.c b/hw/xquartz/darwinXinput.c deleted file mode 100644 index fea7e921e..000000000 --- a/hw/xquartz/darwinXinput.c +++ /dev/null @@ -1,164 +0,0 @@ -/* - * X server support of the XINPUT extension for xquartz - * - * This is currently a copy of Xi/stubs.c, but eventually this - * should include more complete XINPUT support. - */ - -/************************************************************ - - Copyright 1989, 1998 The Open Group - - Permission to use, copy, modify, distribute, and sell this software and its - documentation for any purpose is hereby granted without fee, provided that - the above copyright notice appear in all copies and that both that - copyright notice and this permission notice appear in supporting - documentation. - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN - AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - Except as contained in this notice, the name of The Open Group shall not be - used in advertising or otherwise to promote the sale, use or other dealings - in this Software without prior written authorization from The Open Group. - - Copyright 1989 by Hewlett-Packard Company, Palo Alto, California. - - All Rights Reserved - - Permission to use, copy, modify, and distribute this software and its - documentation for any purpose and without fee is hereby granted, - provided that the above copyright notice appear in all copies and that - both that copyright notice and this permission notice appear in - supporting documentation, and that the name of Hewlett-Packard not be - used in advertising or publicity pertaining to distribution of the - software without specific, written prior permission. - - HEWLETT-PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING - ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL - HEWLETT-PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR - ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - SOFTWARE. - - ********************************************************/ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include "inputstr.h" -#include -#include -#include "XIstubs.h" -#include "darwin.h" - -/**************************************************************************** - * - * Caller: ProcXSetDeviceMode - * - * Change the mode of an extension device. - * This function is used to change the mode of a device from reporting - * relative motion to reporting absolute positional information, and - * vice versa. - * The default implementation below is that no such devices are supported. - * - */ - -int -SetDeviceMode(ClientPtr client, DeviceIntPtr dev, int mode) -{ - DEBUG_LOG("SetDeviceMode(%p, %p, %d)\n", client, dev, mode); - return BadMatch; -} - -/**************************************************************************** - * - * Caller: ProcXSetDeviceValuators - * - * Set the value of valuators on an extension input device. - * This function is used to set the initial value of valuators on - * those input devices that are capable of reporting either relative - * motion or an absolute position, and allow an initial position to be set. - * The default implementation below is that no such devices are supported. - * - */ - -int -SetDeviceValuators(ClientPtr client, DeviceIntPtr dev, - int *valuators, int first_valuator, int num_valuators) -{ - DEBUG_LOG("SetDeviceValuators(%p, %p, %p, %d, %d)\n", client, - dev, valuators, first_valuator, num_valuators); - return BadMatch; -} - -/**************************************************************************** - * - * Caller: ProcXChangeDeviceControl - * - * Change the specified device controls on an extension input device. - * - */ - -int -ChangeDeviceControl(ClientPtr client, DeviceIntPtr dev, - xDeviceCtl * control) -{ - - DEBUG_LOG("ChangeDeviceControl(%p, %p, %p)\n", client, dev, control); - return BadMatch; -} - -/**************************************************************************** - * - * Caller: configAddDevice (and others) - * - * Add a new device with the specified options. - * - */ -int -NewInputDeviceRequest(InputOption *options, InputAttributes *attrs, - DeviceIntPtr *pdev) -{ - DEBUG_LOG("NewInputDeviceRequest(%p, %p)\n", options, pdev); - return BadValue; -} - -/**************************************************************************** - * - * Caller: configRemoveDevice (and others) - * - * Remove the specified device previously added. - * - */ -void -DeleteInputDeviceRequest(DeviceIntPtr dev) -{ - DEBUG_LOG("DeleteInputDeviceRequest(%p)\n", dev); -} - -/**************************************************************************** - * - * Caller: configRemoveDevice (and others) - * - * Remove any traces of the input device specified in config_info. - * This is only necessary if the ddx keeps information around beyond - * the NewInputDeviceRequest/DeleteInputDeviceRequest - * - */ -void -RemoveInputDeviceTraces(const char *config_info) -{ - DEBUG_LOG("RemoveInputDeviceTraces(%s)\n", config_info); -} diff --git a/hw/xquartz/darwinfb.h b/hw/xquartz/darwinfb.h deleted file mode 100644 index 541128b8e..000000000 --- a/hw/xquartz/darwinfb.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2009 Apple, Inc. - * Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifndef _DARWIN_FB_H -#define _DARWIN_FB_H - -#include "scrnintstr.h" - -typedef struct { - void *framebuffer; - int x; - int y; - int width; - int height; - int pitch; - int depth; - int visuals; - int bitsPerRGB; - int bitsPerPixel; - int preferredCVC; - Pixel redMask; - Pixel greenMask; - Pixel blueMask; -} DarwinFramebufferRec, *DarwinFramebufferPtr; - -#define MASK_LH(l, h) (((1 << (1 + (h) - (l))) - 1) << (l)) -#define BM_ARGB(a, r, g, b) MASK_LH(0, (b) - 1) -#define GM_ARGB(a, r, g, b) MASK_LH(b, (b) + (g) - 1) -#define RM_ARGB(a, r, g, b) MASK_LH((b) + (g), (b) + (g) + (r) - 1) -#define AM_ARGB(a, r, g, b) MASK_LH((b) + (g) + (r), \ - (b) + (g) + (r) + (a) - 1) - -#endif /* _DARWIN_FB_H */ diff --git a/hw/xquartz/defaults.plist b/hw/xquartz/defaults.plist deleted file mode 100644 index 957b1e0c7..000000000 --- a/hw/xquartz/defaults.plist +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - apps_menu - - - Terminal - xterm - n - - - - diff --git a/hw/xquartz/keysym2ucs.c b/hw/xquartz/keysym2ucs.c deleted file mode 100644 index 12da19d67..000000000 --- a/hw/xquartz/keysym2ucs.c +++ /dev/null @@ -1,911 +0,0 @@ -/* - * - * This module converts keysym values into the corresponding ISO 10646 - * (UCS, Unicode) values. - * - * The array keysymtab[] contains pairs of X11 keysym values for graphical - * characters and the corresponding Unicode value. The function - * keysym2ucs() maps a keysym onto a Unicode value using a binary search, - * therefore keysymtab[] must remain SORTED by keysym value. - * - * The keysym -> UTF-8 conversion will hopefully one day be provided - * by Xlib via XmbLookupString() and should ideally not have to be - * done in X applications. But we are not there yet. - * - * We allow to represent any UCS character in the range U-00000000 to - * U-00FFFFFF by a keysym value in the range 0x01000000 to 0x01ffffff. - * This admittedly does not cover the entire 31-bit space of UCS, but - * it does cover all of the characters up to U-10FFFF, which can be - * represented by UTF-16, and more, and it is very unlikely that higher - * UCS codes will ever be assigned by ISO. So to get Unicode character - * U+ABCD you can directly use keysym 0x0100abcd. - * - * NOTE: The comments in the table below contain the actual character - * encoded in UTF-8, so for viewing and editing best use an editor in - * UTF-8 mode. - * - * Author: Markus G. Kuhn , University of Cambridge, April 2001 - * - * Special thanks to Richard Verhoeven for preparing - * an initial draft of the mapping table. - * - * This software is in the public domain. Share and enjoy! - * - * AUTOMATICALLY GENERATED FILE, DO NOT EDIT !!! (unicode/convmap.pl) - */ - -#include "keysym2ucs.h" - -#include -#include - -struct codepair { - unsigned short keysym; - unsigned short ucs; -}; - -const static struct codepair keysymtab[] = { - { 0x01a1, 0x0104 }, - { 0x01a2, 0x02d8 }, - { 0x01a3, 0x0141 }, - { 0x01a5, 0x013d }, - { 0x01a6, 0x015a }, - { 0x01a9, 0x0160 }, - { 0x01aa, 0x015e }, - { 0x01ab, 0x0164 }, - { 0x01ac, 0x0179 }, - { 0x01ae, 0x017d }, - { 0x01af, 0x017b }, - { 0x01b1, 0x0105 }, - { 0x01b2, 0x02db }, - { 0x01b3, 0x0142 }, - { 0x01b5, 0x013e }, - { 0x01b6, 0x015b }, - { 0x01b7, 0x02c7 }, - { 0x01b9, 0x0161 }, - { 0x01ba, 0x015f }, - { 0x01bb, 0x0165 }, - { 0x01bc, 0x017a }, - { 0x01bd, 0x02dd }, - { 0x01be, 0x017e }, - { 0x01bf, 0x017c }, - { 0x01c0, 0x0154 }, - { 0x01c3, 0x0102 }, - { 0x01c5, 0x0139 }, - { 0x01c6, 0x0106 }, - { 0x01c8, 0x010c }, - { 0x01ca, 0x0118 }, - { 0x01cc, 0x011a }, - { 0x01cf, 0x010e }, - { 0x01d0, 0x0110 }, - { 0x01d1, 0x0143 }, - { 0x01d2, 0x0147 }, - { 0x01d5, 0x0150 }, - { 0x01d8, 0x0158 }, - { 0x01d9, 0x016e }, - { 0x01db, 0x0170 }, - { 0x01de, 0x0162 }, - { 0x01e0, 0x0155 }, - { 0x01e3, 0x0103 }, - { 0x01e5, 0x013a }, - { 0x01e6, 0x0107 }, - { 0x01e8, 0x010d }, - { 0x01ea, 0x0119 }, - { 0x01ec, 0x011b }, - { 0x01ef, 0x010f }, - { 0x01f0, 0x0111 }, - { 0x01f1, 0x0144 }, - { 0x01f2, 0x0148 }, - { 0x01f5, 0x0151 }, - { 0x01f8, 0x0159 }, - { 0x01f9, 0x016f }, - { 0x01fb, 0x0171 }, - { 0x01fe, 0x0163 }, - { 0x01ff, 0x02d9 }, - { 0x02a1, 0x0126 }, - { 0x02a6, 0x0124 }, - { 0x02a9, 0x0130 }, - { 0x02ab, 0x011e }, - { 0x02ac, 0x0134 }, - { 0x02b1, 0x0127 }, - { 0x02b6, 0x0125 }, - { 0x02b9, 0x0131 }, - { 0x02bb, 0x011f }, - { 0x02bc, 0x0135 }, - { 0x02c5, 0x010a }, - { 0x02c6, 0x0108 }, - { 0x02d5, 0x0120 }, - { 0x02d8, 0x011c }, - { 0x02dd, 0x016c }, - { 0x02de, 0x015c }, - { 0x02e5, 0x010b }, - { 0x02e6, 0x0109 }, - { 0x02f5, 0x0121 }, - { 0x02f8, 0x011d }, - { 0x02fd, 0x016d }, - { 0x02fe, 0x015d }, - { 0x03a2, 0x0138 }, - { 0x03a3, 0x0156 }, - { 0x03a5, 0x0128 }, - { 0x03a6, 0x013b }, - { 0x03aa, 0x0112 }, - { 0x03ab, 0x0122 }, - { 0x03ac, 0x0166 }, - { 0x03b3, 0x0157 }, - { 0x03b5, 0x0129 }, - { 0x03b6, 0x013c }, - { 0x03ba, 0x0113 }, - { 0x03bb, 0x0123 }, - { 0x03bc, 0x0167 }, - { 0x03bd, 0x014a }, - { 0x03bf, 0x014b }, - { 0x03c0, 0x0100 }, - { 0x03c7, 0x012e }, - { 0x03cc, 0x0116 }, - { 0x03cf, 0x012a }, - { 0x03d1, 0x0145 }, - { 0x03d2, 0x014c }, - { 0x03d3, 0x0136 }, - { 0x03d9, 0x0172 }, - { 0x03dd, 0x0168 }, - { 0x03de, 0x016a }, - { 0x03e0, 0x0101 }, - { 0x03e7, 0x012f }, - { 0x03ec, 0x0117 }, - { 0x03ef, 0x012b }, - { 0x03f1, 0x0146 }, - { 0x03f2, 0x014d }, - { 0x03f3, 0x0137 }, - { 0x03f9, 0x0173 }, - { 0x03fd, 0x0169 }, - { 0x03fe, 0x016b }, - { 0x047e, 0x203e }, - { 0x04a1, 0x3002 }, - { 0x04a2, 0x300c }, - { 0x04a3, 0x300d }, - { 0x04a4, 0x3001 }, - { 0x04a5, 0x30fb }, - { 0x04a6, 0x30f2 }, - { 0x04a7, 0x30a1 }, - { 0x04a8, 0x30a3 }, - { 0x04a9, 0x30a5 }, - { 0x04aa, 0x30a7 }, - { 0x04ab, 0x30a9 }, - { 0x04ac, 0x30e3 }, - { 0x04ad, 0x30e5 }, - { 0x04ae, 0x30e7 }, - { 0x04af, 0x30c3 }, - { 0x04b0, 0x30fc }, - { 0x04b1, 0x30a2 }, - { 0x04b2, 0x30a4 }, - { 0x04b3, 0x30a6 }, - { 0x04b4, 0x30a8 }, - { 0x04b5, 0x30aa }, - { 0x04b6, 0x30ab }, - { 0x04b7, 0x30ad }, - { 0x04b8, 0x30af }, - { 0x04b9, 0x30b1 }, - { 0x04ba, 0x30b3 }, - { 0x04bb, 0x30b5 }, - { 0x04bc, 0x30b7 }, - { 0x04bd, 0x30b9 }, - { 0x04be, 0x30bb }, - { 0x04bf, 0x30bd }, - { 0x04c0, 0x30bf }, - { 0x04c1, 0x30c1 }, - { 0x04c2, 0x30c4 }, - { 0x04c3, 0x30c6 }, - { 0x04c4, 0x30c8 }, - { 0x04c5, 0x30ca }, - { 0x04c6, 0x30cb }, - { 0x04c7, 0x30cc }, - { 0x04c8, 0x30cd }, - { 0x04c9, 0x30ce }, - { 0x04ca, 0x30cf }, - { 0x04cb, 0x30d2 }, - { 0x04cc, 0x30d5 }, - { 0x04cd, 0x30d8 }, - { 0x04ce, 0x30db }, - { 0x04cf, 0x30de }, - { 0x04d0, 0x30df }, - { 0x04d1, 0x30e0 }, - { 0x04d2, 0x30e1 }, - { 0x04d3, 0x30e2 }, - { 0x04d4, 0x30e4 }, - { 0x04d5, 0x30e6 }, - { 0x04d6, 0x30e8 }, - { 0x04d7, 0x30e9 }, - { 0x04d8, 0x30ea }, - { 0x04d9, 0x30eb }, - { 0x04da, 0x30ec }, - { 0x04db, 0x30ed }, - { 0x04dc, 0x30ef }, - { 0x04dd, 0x30f3 }, - { 0x04de, 0x309b }, - { 0x04df, 0x309c }, - { 0x05ac, 0x060c }, - { 0x05bb, 0x061b }, - { 0x05bf, 0x061f }, - { 0x05c1, 0x0621 }, - { 0x05c2, 0x0622 }, - { 0x05c3, 0x0623 }, - { 0x05c4, 0x0624 }, - { 0x05c5, 0x0625 }, - { 0x05c6, 0x0626 }, - { 0x05c7, 0x0627 }, - { 0x05c8, 0x0628 }, - { 0x05c9, 0x0629 }, - { 0x05ca, 0x062a }, - { 0x05cb, 0x062b }, - { 0x05cc, 0x062c }, - { 0x05cd, 0x062d }, - { 0x05ce, 0x062e }, - { 0x05cf, 0x062f }, - { 0x05d0, 0x0630 }, - { 0x05d1, 0x0631 }, - { 0x05d2, 0x0632 }, - { 0x05d3, 0x0633 }, - { 0x05d4, 0x0634 }, - { 0x05d5, 0x0635 }, - { 0x05d6, 0x0636 }, - { 0x05d7, 0x0637 }, - { 0x05d8, 0x0638 }, - { 0x05d9, 0x0639 }, - { 0x05da, 0x063a }, - { 0x05e0, 0x0640 }, - { 0x05e1, 0x0641 }, - { 0x05e2, 0x0642 }, - { 0x05e3, 0x0643 }, - { 0x05e4, 0x0644 }, - { 0x05e5, 0x0645 }, - { 0x05e6, 0x0646 }, - { 0x05e7, 0x0647 }, - { 0x05e8, 0x0648 }, - { 0x05e9, 0x0649 }, - { 0x05ea, 0x064a }, - { 0x05eb, 0x064b }, - { 0x05ec, 0x064c }, - { 0x05ed, 0x064d }, - { 0x05ee, 0x064e }, - { 0x05ef, 0x064f }, - { 0x05f0, 0x0650 }, - { 0x05f1, 0x0651 }, - { 0x05f2, 0x0652 }, - { 0x06a1, 0x0452 }, - { 0x06a2, 0x0453 }, - { 0x06a3, 0x0451 }, - { 0x06a4, 0x0454 }, - { 0x06a5, 0x0455 }, - { 0x06a6, 0x0456 }, - { 0x06a7, 0x0457 }, - { 0x06a8, 0x0458 }, - { 0x06a9, 0x0459 }, - { 0x06aa, 0x045a }, - { 0x06ab, 0x045b }, - { 0x06ac, 0x045c }, - { 0x06ae, 0x045e }, - { 0x06af, 0x045f }, - { 0x06b0, 0x2116 }, - { 0x06b1, 0x0402 }, - { 0x06b2, 0x0403 }, - { 0x06b3, 0x0401 }, - { 0x06b4, 0x0404 }, - { 0x06b5, 0x0405 }, - { 0x06b6, 0x0406 }, - { 0x06b7, 0x0407 }, - { 0x06b8, 0x0408 }, - { 0x06b9, 0x0409 }, - { 0x06ba, 0x040a }, - { 0x06bb, 0x040b }, - { 0x06bc, 0x040c }, - { 0x06be, 0x040e }, - { 0x06bf, 0x040f }, - { 0x06c0, 0x044e }, - { 0x06c1, 0x0430 }, - { 0x06c2, 0x0431 }, - { 0x06c3, 0x0446 }, - { 0x06c4, 0x0434 }, - { 0x06c5, 0x0435 }, - { 0x06c6, 0x0444 }, - { 0x06c7, 0x0433 }, - { 0x06c8, 0x0445 }, - { 0x06c9, 0x0438 }, - { 0x06ca, 0x0439 }, - { 0x06cb, 0x043a }, - { 0x06cc, 0x043b }, - { 0x06cd, 0x043c }, - { 0x06ce, 0x043d }, - { 0x06cf, 0x043e }, - { 0x06d0, 0x043f }, - { 0x06d1, 0x044f }, - { 0x06d2, 0x0440 }, - { 0x06d3, 0x0441 }, - { 0x06d4, 0x0442 }, - { 0x06d5, 0x0443 }, - { 0x06d6, 0x0436 }, - { 0x06d7, 0x0432 }, - { 0x06d8, 0x044c }, - { 0x06d9, 0x044b }, - { 0x06da, 0x0437 }, - { 0x06db, 0x0448 }, - { 0x06dc, 0x044d }, - { 0x06dd, 0x0449 }, - { 0x06de, 0x0447 }, - { 0x06df, 0x044a }, - { 0x06e0, 0x042e }, - { 0x06e1, 0x0410 }, - { 0x06e2, 0x0411 }, - { 0x06e3, 0x0426 }, - { 0x06e4, 0x0414 }, - { 0x06e5, 0x0415 }, - { 0x06e6, 0x0424 }, - { 0x06e7, 0x0413 }, - { 0x06e8, 0x0425 }, - { 0x06e9, 0x0418 }, - { 0x06ea, 0x0419 }, - { 0x06eb, 0x041a }, - { 0x06ec, 0x041b }, - { 0x06ed, 0x041c }, - { 0x06ee, 0x041d }, - { 0x06ef, 0x041e }, - { 0x06f0, 0x041f }, - { 0x06f1, 0x042f }, - { 0x06f2, 0x0420 }, - { 0x06f3, 0x0421 }, - { 0x06f4, 0x0422 }, - { 0x06f5, 0x0423 }, - { 0x06f6, 0x0416 }, - { 0x06f7, 0x0412 }, - { 0x06f8, 0x042c }, - { 0x06f9, 0x042b }, - { 0x06fa, 0x0417 }, - { 0x06fb, 0x0428 }, - { 0x06fc, 0x042d }, - { 0x06fd, 0x0429 }, - { 0x06fe, 0x0427 }, - { 0x06ff, 0x042a }, - { 0x07a1, 0x0386 }, - { 0x07a2, 0x0388 }, - { 0x07a3, 0x0389 }, - { 0x07a4, 0x038a }, - { 0x07a5, 0x03aa }, - { 0x07a7, 0x038c }, - { 0x07a8, 0x038e }, - { 0x07a9, 0x03ab }, - { 0x07ab, 0x038f }, - { 0x07ae, 0x0385 }, - { 0x07af, 0x2015 }, - { 0x07b1, 0x03ac }, - { 0x07b2, 0x03ad }, - { 0x07b3, 0x03ae }, - { 0x07b4, 0x03af }, - { 0x07b5, 0x03ca }, - { 0x07b6, 0x0390 }, - { 0x07b7, 0x03cc }, - { 0x07b8, 0x03cd }, - { 0x07b9, 0x03cb }, - { 0x07ba, 0x03b0 }, - { 0x07bb, 0x03ce }, - { 0x07c1, 0x0391 }, - { 0x07c2, 0x0392 }, - { 0x07c3, 0x0393 }, - { 0x07c4, 0x0394 }, - { 0x07c5, 0x0395 }, - { 0x07c6, 0x0396 }, - { 0x07c7, 0x0397 }, - { 0x07c8, 0x0398 }, - { 0x07c9, 0x0399 }, - { 0x07ca, 0x039a }, - { 0x07cb, 0x039b }, - { 0x07cc, 0x039c }, - { 0x07cd, 0x039d }, - { 0x07ce, 0x039e }, - { 0x07cf, 0x039f }, - { 0x07d0, 0x03a0 }, - { 0x07d1, 0x03a1 }, - { 0x07d2, 0x03a3 }, - { 0x07d4, 0x03a4 }, - { 0x07d5, 0x03a5 }, - { 0x07d6, 0x03a6 }, - { 0x07d7, 0x03a7 }, - { 0x07d8, 0x03a8 }, - { 0x07d9, 0x03a9 }, - { 0x07e1, 0x03b1 }, - { 0x07e2, 0x03b2 }, - { 0x07e3, 0x03b3 }, - { 0x07e4, 0x03b4 }, - { 0x07e5, 0x03b5 }, - { 0x07e6, 0x03b6 }, - { 0x07e7, 0x03b7 }, - { 0x07e8, 0x03b8 }, - { 0x07e9, 0x03b9 }, - { 0x07ea, 0x03ba }, - { 0x07eb, 0x03bb }, - { 0x07ec, 0x03bc }, - { 0x07ed, 0x03bd }, - { 0x07ee, 0x03be }, - { 0x07ef, 0x03bf }, - { 0x07f0, 0x03c0 }, - { 0x07f1, 0x03c1 }, - { 0x07f2, 0x03c3 }, - { 0x07f3, 0x03c2 }, - { 0x07f4, 0x03c4 }, - { 0x07f5, 0x03c5 }, - { 0x07f6, 0x03c6 }, - { 0x07f7, 0x03c7 }, - { 0x07f8, 0x03c8 }, - { 0x07f9, 0x03c9 }, - { 0x08a1, 0x23b7 }, - { 0x08a2, 0x250c }, - { 0x08a3, 0x2500 }, - { 0x08a4, 0x2320 }, - { 0x08a5, 0x2321 }, - { 0x08a6, 0x2502 }, - { 0x08a7, 0x23a1 }, - { 0x08a8, 0x23a3 }, - { 0x08a9, 0x23a4 }, - { 0x08aa, 0x23a6 }, - { 0x08ab, 0x239b }, - { 0x08ac, 0x239d }, - { 0x08ad, 0x239e }, - { 0x08ae, 0x23a0 }, - { 0x08af, 0x23a8 }, - { 0x08b0, 0x23ac }, - { 0x08bc, 0x2264 }, - { 0x08bd, 0x2260 }, - { 0x08be, 0x2265 }, - { 0x08bf, 0x222b }, - { 0x08c0, 0x2234 }, - { 0x08c1, 0x221d }, - { 0x08c2, 0x221e }, - { 0x08c5, 0x2207 }, - { 0x08c8, 0x223c }, - { 0x08c9, 0x2243 }, - { 0x08cd, 0x21d4 }, - { 0x08ce, 0x21d2 }, - { 0x08cf, 0x2261 }, - { 0x08d6, 0x221a }, - { 0x08da, 0x2282 }, - { 0x08db, 0x2283 }, - { 0x08dc, 0x2229 }, - { 0x08dd, 0x222a }, - { 0x08de, 0x2227 }, - { 0x08df, 0x2228 }, - { 0x08ef, 0x2202 }, - { 0x08f6, 0x0192 }, - { 0x08fb, 0x2190 }, - { 0x08fc, 0x2191 }, - { 0x08fd, 0x2192 }, - { 0x08fe, 0x2193 }, - { 0x09e0, 0x25c6 }, - { 0x09e1, 0x2592 }, - { 0x09e2, 0x2409 }, - { 0x09e3, 0x240c }, - { 0x09e4, 0x240d }, - { 0x09e5, 0x240a }, - { 0x09e8, 0x2424 }, - { 0x09e9, 0x240b }, - { 0x09ea, 0x2518 }, - { 0x09eb, 0x2510 }, - { 0x09ec, 0x250c }, - { 0x09ed, 0x2514 }, - { 0x09ee, 0x253c }, - { 0x09ef, 0x23ba }, - { 0x09f0, 0x23bb }, - { 0x09f1, 0x2500 }, - { 0x09f2, 0x23bc }, - { 0x09f3, 0x23bd }, - { 0x09f4, 0x251c }, - { 0x09f5, 0x2524 }, - { 0x09f6, 0x2534 }, - { 0x09f7, 0x252c }, - { 0x09f8, 0x2502 }, - { 0x0aa1, 0x2003 }, - { 0x0aa2, 0x2002 }, - { 0x0aa3, 0x2004 }, - { 0x0aa4, 0x2005 }, - { 0x0aa5, 0x2007 }, - { 0x0aa6, 0x2008 }, - { 0x0aa7, 0x2009 }, - { 0x0aa8, 0x200a }, - { 0x0aa9, 0x2014 }, - { 0x0aaa, 0x2013 }, - { 0x0aae, 0x2026 }, - { 0x0aaf, 0x2025 }, - { 0x0ab0, 0x2153 }, - { 0x0ab1, 0x2154 }, - { 0x0ab2, 0x2155 }, - { 0x0ab3, 0x2156 }, - { 0x0ab4, 0x2157 }, - { 0x0ab5, 0x2158 }, - { 0x0ab6, 0x2159 }, - { 0x0ab7, 0x215a }, - { 0x0ab8, 0x2105 }, - { 0x0abb, 0x2012 }, - { 0x0abc, 0x2329 }, - { 0x0abe, 0x232a }, - { 0x0ac3, 0x215b }, - { 0x0ac4, 0x215c }, - { 0x0ac5, 0x215d }, - { 0x0ac6, 0x215e }, - { 0x0ac9, 0x2122 }, - { 0x0aca, 0x2613 }, - { 0x0acc, 0x25c1 }, - { 0x0acd, 0x25b7 }, - { 0x0ace, 0x25cb }, - { 0x0acf, 0x25af }, - { 0x0ad0, 0x2018 }, - { 0x0ad1, 0x2019 }, - { 0x0ad2, 0x201c }, - { 0x0ad3, 0x201d }, - { 0x0ad4, 0x211e }, - { 0x0ad6, 0x2032 }, - { 0x0ad7, 0x2033 }, - { 0x0ad9, 0x271d }, - { 0x0adb, 0x25ac }, - { 0x0adc, 0x25c0 }, - { 0x0add, 0x25b6 }, - { 0x0ade, 0x25cf }, - { 0x0adf, 0x25ae }, - { 0x0ae0, 0x25e6 }, - { 0x0ae1, 0x25ab }, - { 0x0ae2, 0x25ad }, - { 0x0ae3, 0x25b3 }, - { 0x0ae4, 0x25bd }, - { 0x0ae5, 0x2606 }, - { 0x0ae6, 0x2022 }, - { 0x0ae7, 0x25aa }, - { 0x0ae8, 0x25b2 }, - { 0x0ae9, 0x25bc }, - { 0x0aea, 0x261c }, - { 0x0aeb, 0x261e }, - { 0x0aec, 0x2663 }, - { 0x0aed, 0x2666 }, - { 0x0aee, 0x2665 }, - { 0x0af0, 0x2720 }, - { 0x0af1, 0x2020 }, - { 0x0af2, 0x2021 }, - { 0x0af3, 0x2713 }, - { 0x0af4, 0x2717 }, - { 0x0af5, 0x266f }, - { 0x0af6, 0x266d }, - { 0x0af7, 0x2642 }, - { 0x0af8, 0x2640 }, - { 0x0af9, 0x260e }, - { 0x0afa, 0x2315 }, - { 0x0afb, 0x2117 }, - { 0x0afc, 0x2038 }, - { 0x0afd, 0x201a }, - { 0x0afe, 0x201e }, - { 0x0ba3, 0x003c }, - { 0x0ba6, 0x003e }, - { 0x0ba8, 0x2228 }, - { 0x0ba9, 0x2227 }, - { 0x0bc0, 0x00af }, - { 0x0bc2, 0x22a5 }, - { 0x0bc3, 0x2229 }, - { 0x0bc4, 0x230a }, - { 0x0bc6, 0x005f }, - { 0x0bca, 0x2218 }, - { 0x0bcc, 0x2395 }, - { 0x0bce, 0x22a4 }, - { 0x0bcf, 0x25cb }, - { 0x0bd3, 0x2308 }, - { 0x0bd6, 0x222a }, - { 0x0bd8, 0x2283 }, - { 0x0bda, 0x2282 }, - { 0x0bdc, 0x22a2 }, - { 0x0bfc, 0x22a3 }, - { 0x0cdf, 0x2017 }, - { 0x0ce0, 0x05d0 }, - { 0x0ce1, 0x05d1 }, - { 0x0ce2, 0x05d2 }, - { 0x0ce3, 0x05d3 }, - { 0x0ce4, 0x05d4 }, - { 0x0ce5, 0x05d5 }, - { 0x0ce6, 0x05d6 }, - { 0x0ce7, 0x05d7 }, - { 0x0ce8, 0x05d8 }, - { 0x0ce9, 0x05d9 }, - { 0x0cea, 0x05da }, - { 0x0ceb, 0x05db }, - { 0x0cec, 0x05dc }, - { 0x0ced, 0x05dd }, - { 0x0cee, 0x05de }, - { 0x0cef, 0x05df }, - { 0x0cf0, 0x05e0 }, - { 0x0cf1, 0x05e1 }, - { 0x0cf2, 0x05e2 }, - { 0x0cf3, 0x05e3 }, - { 0x0cf4, 0x05e4 }, - { 0x0cf5, 0x05e5 }, - { 0x0cf6, 0x05e6 }, - { 0x0cf7, 0x05e7 }, - { 0x0cf8, 0x05e8 }, - { 0x0cf9, 0x05e9 }, - { 0x0cfa, 0x05ea }, - { 0x0da1, 0x0e01 }, - { 0x0da2, 0x0e02 }, - { 0x0da3, 0x0e03 }, - { 0x0da4, 0x0e04 }, - { 0x0da5, 0x0e05 }, - { 0x0da6, 0x0e06 }, - { 0x0da7, 0x0e07 }, - { 0x0da8, 0x0e08 }, - { 0x0da9, 0x0e09 }, - { 0x0daa, 0x0e0a }, - { 0x0dab, 0x0e0b }, - { 0x0dac, 0x0e0c }, - { 0x0dad, 0x0e0d }, - { 0x0dae, 0x0e0e }, - { 0x0daf, 0x0e0f }, - { 0x0db0, 0x0e10 }, - { 0x0db1, 0x0e11 }, - { 0x0db2, 0x0e12 }, - { 0x0db3, 0x0e13 }, - { 0x0db4, 0x0e14 }, - { 0x0db5, 0x0e15 }, - { 0x0db6, 0x0e16 }, - { 0x0db7, 0x0e17 }, - { 0x0db8, 0x0e18 }, - { 0x0db9, 0x0e19 }, - { 0x0dba, 0x0e1a }, - { 0x0dbb, 0x0e1b }, - { 0x0dbc, 0x0e1c }, - { 0x0dbd, 0x0e1d }, - { 0x0dbe, 0x0e1e }, - { 0x0dbf, 0x0e1f }, - { 0x0dc0, 0x0e20 }, - { 0x0dc1, 0x0e21 }, - { 0x0dc2, 0x0e22 }, - { 0x0dc3, 0x0e23 }, - { 0x0dc4, 0x0e24 }, - { 0x0dc5, 0x0e25 }, - { 0x0dc6, 0x0e26 }, - { 0x0dc7, 0x0e27 }, - { 0x0dc8, 0x0e28 }, - { 0x0dc9, 0x0e29 }, - { 0x0dca, 0x0e2a }, - { 0x0dcb, 0x0e2b }, - { 0x0dcc, 0x0e2c }, - { 0x0dcd, 0x0e2d }, - { 0x0dce, 0x0e2e }, - { 0x0dcf, 0x0e2f }, - { 0x0dd0, 0x0e30 }, - { 0x0dd1, 0x0e31 }, - { 0x0dd2, 0x0e32 }, - { 0x0dd3, 0x0e33 }, - { 0x0dd4, 0x0e34 }, - { 0x0dd5, 0x0e35 }, - { 0x0dd6, 0x0e36 }, - { 0x0dd7, 0x0e37 }, - { 0x0dd8, 0x0e38 }, - { 0x0dd9, 0x0e39 }, - { 0x0dda, 0x0e3a }, - { 0x0ddf, 0x0e3f }, - { 0x0de0, 0x0e40 }, - { 0x0de1, 0x0e41 }, - { 0x0de2, 0x0e42 }, - { 0x0de3, 0x0e43 }, - { 0x0de4, 0x0e44 }, - { 0x0de5, 0x0e45 }, - { 0x0de6, 0x0e46 }, - { 0x0de7, 0x0e47 }, - { 0x0de8, 0x0e48 }, - { 0x0de9, 0x0e49 }, - { 0x0dea, 0x0e4a }, - { 0x0deb, 0x0e4b }, - { 0x0dec, 0x0e4c }, - { 0x0ded, 0x0e4d }, - { 0x0df0, 0x0e50 }, - { 0x0df1, 0x0e51 }, - { 0x0df2, 0x0e52 }, - { 0x0df3, 0x0e53 }, - { 0x0df4, 0x0e54 }, - { 0x0df5, 0x0e55 }, - { 0x0df6, 0x0e56 }, - { 0x0df7, 0x0e57 }, - { 0x0df8, 0x0e58 }, - { 0x0df9, 0x0e59 }, - { 0x0ea1, 0x3131 }, - { 0x0ea2, 0x3132 }, - { 0x0ea3, 0x3133 }, - { 0x0ea4, 0x3134 }, - { 0x0ea5, 0x3135 }, - { 0x0ea6, 0x3136 }, - { 0x0ea7, 0x3137 }, - { 0x0ea8, 0x3138 }, - { 0x0ea9, 0x3139 }, - { 0x0eaa, 0x313a }, - { 0x0eab, 0x313b }, - { 0x0eac, 0x313c }, - { 0x0ead, 0x313d }, - { 0x0eae, 0x313e }, - { 0x0eaf, 0x313f }, - { 0x0eb0, 0x3140 }, - { 0x0eb1, 0x3141 }, - { 0x0eb2, 0x3142 }, - { 0x0eb3, 0x3143 }, - { 0x0eb4, 0x3144 }, - { 0x0eb5, 0x3145 }, - { 0x0eb6, 0x3146 }, - { 0x0eb7, 0x3147 }, - { 0x0eb8, 0x3148 }, - { 0x0eb9, 0x3149 }, - { 0x0eba, 0x314a }, - { 0x0ebb, 0x314b }, - { 0x0ebc, 0x314c }, - { 0x0ebd, 0x314d }, - { 0x0ebe, 0x314e }, - { 0x0ebf, 0x314f }, - { 0x0ec0, 0x3150 }, - { 0x0ec1, 0x3151 }, - { 0x0ec2, 0x3152 }, - { 0x0ec3, 0x3153 }, - { 0x0ec4, 0x3154 }, - { 0x0ec5, 0x3155 }, - { 0x0ec6, 0x3156 }, - { 0x0ec7, 0x3157 }, - { 0x0ec8, 0x3158 }, - { 0x0ec9, 0x3159 }, - { 0x0eca, 0x315a }, - { 0x0ecb, 0x315b }, - { 0x0ecc, 0x315c }, - { 0x0ecd, 0x315d }, - { 0x0ece, 0x315e }, - { 0x0ecf, 0x315f }, - { 0x0ed0, 0x3160 }, - { 0x0ed1, 0x3161 }, - { 0x0ed2, 0x3162 }, - { 0x0ed3, 0x3163 }, - { 0x0ed4, 0x11a8 }, - { 0x0ed5, 0x11a9 }, - { 0x0ed6, 0x11aa }, - { 0x0ed7, 0x11ab }, - { 0x0ed8, 0x11ac }, - { 0x0ed9, 0x11ad }, - { 0x0eda, 0x11ae }, - { 0x0edb, 0x11af }, - { 0x0edc, 0x11b0 }, - { 0x0edd, 0x11b1 }, - { 0x0ede, 0x11b2 }, - { 0x0edf, 0x11b3 }, - { 0x0ee0, 0x11b4 }, - { 0x0ee1, 0x11b5 }, - { 0x0ee2, 0x11b6 }, - { 0x0ee3, 0x11b7 }, - { 0x0ee4, 0x11b8 }, - { 0x0ee5, 0x11b9 }, - { 0x0ee6, 0x11ba }, - { 0x0ee7, 0x11bb }, - { 0x0ee8, 0x11bc }, - { 0x0ee9, 0x11bd }, - { 0x0eea, 0x11be }, - { 0x0eeb, 0x11bf }, - { 0x0eec, 0x11c0 }, - { 0x0eed, 0x11c1 }, - { 0x0eee, 0x11c2 }, - { 0x0eef, 0x316d }, - { 0x0ef0, 0x3171 }, - { 0x0ef1, 0x3178 }, - { 0x0ef2, 0x317f }, - { 0x0ef3, 0x3181 }, - { 0x0ef4, 0x3184 }, - { 0x0ef5, 0x3186 }, - { 0x0ef6, 0x318d }, - { 0x0ef7, 0x318e }, - { 0x0ef8, 0x11eb }, - { 0x0ef9, 0x11f0 }, - { 0x0efa, 0x11f9 }, - { 0x0eff, 0x20a9 }, -#if 0 - /* FIXME: there is no keysym 0x13a4? But 0x20ac is EuroSign in both - keysym and Unicode */ - { 0x13a4, 0x20ac }, -#endif - { 0x13bc, 0x0152 }, - { 0x13bd, 0x0153 }, - { 0x13be, 0x0178 }, - { 0x20ac, 0x20ac }, - - /* Special function keys. */ - - { 0xff08, 0x0008 }, /* XK_BackSpace */ - { 0xff09, 0x0009 }, /* XK_Tab */ - { 0xff0a, 0x000a }, /* XK_Linefeed */ - { 0xff0d, 0x000d }, /* XK_Return */ - { 0xff13, 0x0013 }, /* XK_Pause */ - { 0xff1b, 0x001b }, /* XK_Escape */ - { 0xff50, 0x0001 }, /* XK_Home */ - { 0xff51, 0x001c }, /* XK_Left */ - { 0xff52, 0x001e }, /* XK_Up */ - { 0xff53, 0x001d }, /* XK_Right */ - { 0xff54, 0x001f }, /* XK_Down */ - { 0xff55, 0x000b }, /* XK_Prior */ - { 0xff56, 0x000c }, /* XK_Next */ - { 0xff57, 0x0004 }, /* XK_End */ - { 0xff6a, 0x0005 }, /* XK_Help */ - { 0xffff, 0x007f }, /* XK_Delete */ -}; - -long -keysym2ucs(int keysym) -{ - int min = 0; - int max = ARRAY_SIZE(keysymtab) - 1; - int mid; - - /* first check for Latin-1 characters (1:1 mapping) */ - if ((keysym >= 0x0020 && keysym <= 0x007e) || - (keysym >= 0x00a0 && keysym <= 0x00ff)) - return keysym; - - /* also check for directly encoded 24-bit UCS characters */ - if ((keysym & 0xff000000) == 0x01000000) - return keysym & 0x00ffffff; - - /* binary search in table */ - while (max >= min) { - mid = (min + max) / 2; - if (keysymtab[mid].keysym < keysym) - min = mid + 1; - else if (keysymtab[mid].keysym > keysym) - max = mid - 1; - else { - /* found it */ - return keysymtab[mid].ucs; - } - } - - /* no matching Unicode value found */ - return -1; -} - -static int -reverse_compare(const void *a, const void *b) -{ - const struct codepair *ca = a, *cb = b; - - return ca->ucs - cb->ucs; -} - -int -ucs2keysym(long ucs) -{ - static struct codepair *reverse_keysymtab; - - int min = 0; - int max = ARRAY_SIZE(keysymtab) - 1; - int mid; - - if (reverse_keysymtab == NULL) { - reverse_keysymtab = malloc(sizeof(keysymtab)); - memcpy(reverse_keysymtab, keysymtab, sizeof(keysymtab)); - - qsort(reverse_keysymtab, - ARRAY_SIZE(keysymtab), - sizeof(struct codepair), - reverse_compare); - } - - /* first check for Latin-1 characters (1:1 mapping) */ - if ((ucs >= 0x0020 && ucs <= 0x007e) || - (ucs >= 0x00a0 && ucs <= 0x00ff)) - return ucs; - - /* binary search in table */ - while (max >= min) { - mid = (min + max) / 2; - if (reverse_keysymtab[mid].ucs < ucs) - min = mid + 1; - else if (reverse_keysymtab[mid].ucs > ucs) - max = mid - 1; - else { - /* found it */ - return reverse_keysymtab[mid].keysym; - } - } - - /* finally, assume a directly encoded 24-bit UCS character */ - return ucs | 0x01000000; -} diff --git a/hw/xquartz/keysym2ucs.h b/hw/xquartz/keysym2ucs.h deleted file mode 100644 index aedbf43bf..000000000 --- a/hw/xquartz/keysym2ucs.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * This module converts keysym values into the corresponding ISO 10646 - * (UCS, Unicode) values. - * - * The array keysymtab[] contains pairs of X11 keysym values for graphical - * characters and the corresponding Unicode value. The function - * keysym2ucs() maps a keysym onto a Unicode value using a binary search, - * therefore keysymtab[] must remain SORTED by keysym value. - * - * The keysym -> UTF-8 conversion will hopefully one day be provided - * by Xlib via XmbLookupString() and should ideally not have to be - * done in X applications. But we are not there yet. - * - * We allow to represent any UCS character in the range U-00000000 to - * U-00FFFFFF by a keysym value in the range 0x01000000 to 0x01ffffff. - * This admittedly does not cover the entire 31-bit space of UCS, but - * it does cover all of the characters up to U-10FFFF, which can be - * represented by UTF-16, and more, and it is very unlikely that higher - * UCS codes will ever be assigned by ISO. So to get Unicode character - * U+ABCD you can directly use keysym 0x0100abcd. - * - * Author: Markus G. Kuhn , University of Cambridge, April 2001 - * - * Special thanks to Richard Verhoeven for preparing - * an initial draft of the mapping table. - * - * This software is in the public domain. Share and enjoy! - */ - -#ifndef KEYSYM2UCS_H -#define KEYSYM2UCS_H 1 - -#define ARRAY_SIZE(a) (sizeof((a)) / sizeof((a)[0])) - -extern long -keysym2ucs(int keysym); -extern int -ucs2keysym(long ucs); - -#endif /* KEYSYM2UCS_H */ diff --git a/hw/xquartz/mach-startup/.gitignore b/hw/xquartz/mach-startup/.gitignore deleted file mode 100644 index f6a06c550..000000000 --- a/hw/xquartz/mach-startup/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Add & Override for this directory and its subdirectories -mach_startup.h -mach_startupServer.c -mach_startupServer.h -mach_startupUser.c -X11.bin -Xquartz - diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c deleted file mode 100644 index 5c5bc70ac..000000000 --- a/hw/xquartz/mach-startup/bundle-main.c +++ /dev/null @@ -1,809 +0,0 @@ -/* main.c -- X application launcher - * Copyright (c) 2007 Jeremy Huddleston - * Copyright (c) 2007-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include - -#include - -#include -#include -#include -#include "mach_startup.h" -#include "mach_startupServer.h" - -#include - -/* From darwinEvents.c ... but don't want to pull in all the server cruft */ -void -DarwinListenOnOpenFD(int fd); - -extern aslclient aslc; - -/* Ditto, from os/log.c */ -extern void -ErrorF(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2); -extern void -FatalError(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2) _X_NORETURN; - -extern int noPanoramiXExtension; - -#ifdef COMPOSITE -extern Bool noCompositeExtension; -#endif - -#define DEFAULT_CLIENT X11BINDIR "/xterm" -#define DEFAULT_STARTX X11BINDIR "/startx -- " X11BINDIR "/Xquartz" -#define DEFAULT_SHELL "/bin/sh" - -#define _STRINGIZE(s) #s -#define STRINGIZE(s) _STRINGIZE(s) - -#ifndef XSERVER_VERSION -#define XSERVER_VERSION "?" -#endif - -static char __crashreporter_info_buff__[4096] = { 0 }; -static const char *__crashreporter_info__ __attribute__((__used__)) = - &__crashreporter_info_buff__[0]; -// This line just tells the linker to never strip this symbol (such as for space optimization) -asm (".desc ___crashreporter_info__, 0x10"); - -static const char *__crashreporter_info__base = - "X.Org X Server " XSERVER_VERSION; - -char *bundle_id_prefix = NULL; -static char *server_bootstrap_name = NULL; - -#define DEBUG 1 - -/* This is in quartzStartup.c */ -int -server_main(int argc, char **argv, char **envp); - -static int -execute(const char *command); -static char * -command_from_prefs(const char *key, const char *default_value); - -static char *pref_app_to_run; -static char *pref_login_shell; -static char *pref_startx_script; - - -/*** Mach-O IPC Stuffs ***/ - -union MaxMsgSize { - union __RequestUnion__mach_startup_subsystem req; - union __ReplyUnion__mach_startup_subsystem rep; -}; - -static mach_port_t -checkin_or_register(char *bname) -{ - kern_return_t kr; - mach_port_t mp; - - /* If we're started by launchd or the old mach_init */ - kr = bootstrap_check_in(bootstrap_port, bname, &mp); - if (kr == KERN_SUCCESS) - return mp; - - /* We probably were not started by launchd or the old mach_init */ - kr = mach_port_allocate(mach_task_self(), MACH_PORT_RIGHT_RECEIVE, &mp); - if (kr != KERN_SUCCESS) { - ErrorF("mach_port_allocate(): %s\n", mach_error_string(kr)); - exit(EXIT_FAILURE); - } - - kr = mach_port_insert_right( - mach_task_self(), mp, mp, MACH_MSG_TYPE_MAKE_SEND); - if (kr != KERN_SUCCESS) { - ErrorF("mach_port_insert_right(): %s\n", mach_error_string(kr)); - exit(EXIT_FAILURE); - } - -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" // bootstrap_register -#endif - kr = bootstrap_register(bootstrap_port, bname, mp); -#ifdef __clang__ -#pragma clang diagnostic pop -#endif - - if (kr != KERN_SUCCESS) { - ErrorF("bootstrap_register(): %s\n", mach_error_string(kr)); - exit(EXIT_FAILURE); - } - - return mp; -} - -/*** $DISPLAY handoff ***/ -static int -accept_fd_handoff(int connected_fd) -{ - int launchd_fd; - - char databuf[] = "display"; - struct iovec iov[1]; - - union { - struct cmsghdr hdr; - char bytes[CMSG_SPACE(sizeof(int))]; - } buf; - - struct msghdr msg; - struct cmsghdr *cmsg; - - iov[0].iov_base = databuf; - iov[0].iov_len = sizeof(databuf); - - msg.msg_iov = iov; - msg.msg_iovlen = 1; - msg.msg_control = buf.bytes; - msg.msg_controllen = sizeof(buf); - msg.msg_name = 0; - msg.msg_namelen = 0; - msg.msg_flags = 0; - - cmsg = CMSG_FIRSTHDR(&msg); - cmsg->cmsg_level = SOL_SOCKET; - cmsg->cmsg_type = SCM_RIGHTS; - cmsg->cmsg_len = CMSG_LEN(sizeof(int)); - - msg.msg_controllen = cmsg->cmsg_len; - - *((int *)CMSG_DATA(cmsg)) = -1; - - if (recvmsg(connected_fd, &msg, 0) < 0) { - ErrorF( - "X11.app: Error receiving $DISPLAY file descriptor. recvmsg() error: %s\n", - strerror(errno)); - return -1; - } - - launchd_fd = *((int *)CMSG_DATA(cmsg)); - - return launchd_fd; -} - -typedef struct { - int fd; - string_t filename; -} socket_handoff_t; - -/* This thread accepts an incoming connection and hands off the file - * descriptor for the new connection to accept_fd_handoff() - */ -static void -socket_handoff(socket_handoff_t *handoff_data) -{ - - int launchd_fd = -1; - int connected_fd; - - /* Now actually get the passed file descriptor from this connection - * If we encounter an error, keep listening. - */ - while (launchd_fd == -1) { - connected_fd = accept(handoff_data->fd, NULL, NULL); - if (connected_fd == -1) { - ErrorF( - "X11.app: Failed to accept incoming connection on socket (fd=%d): %s\n", - handoff_data->fd, strerror(errno)); - sleep(2); - continue; - } - - launchd_fd = accept_fd_handoff(connected_fd); - if (launchd_fd == -1) - ErrorF( - "X11.app: Error receiving $DISPLAY file descriptor, no descriptor received? Waiting for another connection.\n"); - - close(connected_fd); - } - - close(handoff_data->fd); - unlink(handoff_data->filename); - free(handoff_data); - - ErrorF( - "X11.app Handing off fd to server thread via DarwinListenOnOpenFD(%d)\n", - launchd_fd); - DarwinListenOnOpenFD(launchd_fd); - -} - -static int -create_socket(char *filename_out) -{ - struct sockaddr_un servaddr_un; - struct sockaddr *servaddr; - socklen_t servaddr_len; - int ret_fd; - size_t try, try_max; - - for (try = 0, try_max = 5; try < try_max; try++) { - tmpnam(filename_out); - - /* Setup servaddr_un */ - memset(&servaddr_un, 0, sizeof(struct sockaddr_un)); - servaddr_un.sun_family = AF_UNIX; - strlcpy(servaddr_un.sun_path, filename_out, - sizeof(servaddr_un.sun_path)); - - servaddr = (struct sockaddr *)&servaddr_un; - servaddr_len = sizeof(struct sockaddr_un) - - sizeof(servaddr_un.sun_path) + strlen(filename_out); - - ret_fd = socket(PF_UNIX, SOCK_STREAM, 0); - if (ret_fd == -1) { - ErrorF( - "X11.app: Failed to create socket (try %d / %d): %s - %s\n", - (int)try + 1, (int)try_max, filename_out, strerror(errno)); - continue; - } - - if (bind(ret_fd, servaddr, servaddr_len) != 0) { - ErrorF("X11.app: Failed to bind socket: %d - %s\n", errno, - strerror( - errno)); - close(ret_fd); - return 0; - } - - if (listen(ret_fd, 10) != 0) { - ErrorF("X11.app: Failed to listen to socket: %s - %d - %s\n", - filename_out, errno, strerror( - errno)); - close(ret_fd); - return 0; - } - -#ifdef DEBUG - ErrorF("X11.app: Listening on socket for fd handoff: (%d) %s\n", - ret_fd, - filename_out); -#endif - - return ret_fd; - } - - return 0; -} - -static int launchd_socket_handed_off = 0; - -kern_return_t -do_request_fd_handoff_socket(mach_port_t port, string_t filename) -{ - socket_handoff_t *handoff_data; - - launchd_socket_handed_off = 1; - - handoff_data = (socket_handoff_t *)calloc(1, sizeof(socket_handoff_t)); - if (!handoff_data) { - ErrorF("X11.app: Error allocating memory for handoff_data\n"); - return KERN_FAILURE; - } - - handoff_data->fd = create_socket(handoff_data->filename); - if (!handoff_data->fd) { - free(handoff_data); - return KERN_FAILURE; - } - - strlcpy(filename, handoff_data->filename, STRING_T_SIZE); - - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, - 0), ^ { - socket_handoff(handoff_data); - }); - -#ifdef DEBUG - ErrorF( - "X11.app: Thread created for handoff. Returning success to tell caller to connect and push the fd.\n"); -#endif - - return KERN_SUCCESS; -} - -kern_return_t -do_request_pid(mach_port_t port, int *my_pid) -{ - *my_pid = getpid(); - return KERN_SUCCESS; -} - -/*** Server Startup ***/ -kern_return_t -do_start_x11_server(mach_port_t port, string_array_t argv, - mach_msg_type_number_t argvCnt, - string_array_t envp, - mach_msg_type_number_t envpCnt) -{ - /* And now back to char ** */ - char **_argv = alloca((argvCnt + 1) * sizeof(char *)); - char **_envp = alloca((envpCnt + 1) * sizeof(char *)); - size_t i; - - /* If we didn't get handed a launchd DISPLAY socket, we should - * unset DISPLAY or we can run into problems with pbproxy - */ - if (!launchd_socket_handed_off) { - ErrorF("X11.app: No launchd socket handed off, unsetting DISPLAY\n"); - unsetenv("DISPLAY"); - } - - if (!_argv || !_envp) { - return KERN_FAILURE; - } - - ErrorF("X11.app: do_start_x11_server(): argc=%d\n", argvCnt); - for (i = 0; i < argvCnt; i++) { - _argv[i] = argv[i]; - ErrorF("\targv[%u] = %s\n", (unsigned)i, argv[i]); - } - _argv[argvCnt] = NULL; - - for (i = 0; i < envpCnt; i++) { - _envp[i] = envp[i]; - } - _envp[envpCnt] = NULL; - - if (server_main(argvCnt, _argv, _envp) == 0) - return KERN_SUCCESS; - else - return KERN_FAILURE; -} - -static int -startup_trigger(int argc, char **argv, char **envp) -{ - Display *display; - const char *s; - - /* Take care of the case where we're called like a normal DDX */ - if (argc > 1 && argv[1][0] == ':') { - size_t i; - kern_return_t kr; - mach_port_t mp; - string_array_t newenvp; - string_array_t newargv; - - /* We need to count envp */ - int envpc; - for (envpc = 0; envp[envpc]; envpc++) ; - - /* We have fixed-size string lengths due to limitations in IPC, - * so we need to copy our argv and envp. - */ - newargv = (string_array_t)alloca(argc * sizeof(string_t)); - newenvp = (string_array_t)alloca(envpc * sizeof(string_t)); - - if (!newargv || !newenvp) { - ErrorF("Memory allocation failure\n"); - exit(EXIT_FAILURE); - } - - for (i = 0; i < argc; i++) { - strlcpy(newargv[i], argv[i], STRING_T_SIZE); - } - for (i = 0; i < envpc; i++) { - strlcpy(newenvp[i], envp[i], STRING_T_SIZE); - } - - kr = bootstrap_look_up(bootstrap_port, server_bootstrap_name, &mp); - if (kr != KERN_SUCCESS) { - ErrorF("bootstrap_look_up(%s): %s\n", server_bootstrap_name, - bootstrap_strerror( - kr)); - exit(EXIT_FAILURE); - } - - kr = start_x11_server(mp, newargv, argc, newenvp, envpc); - if (kr != KERN_SUCCESS) { - ErrorF("start_x11_server: %s\n", mach_error_string(kr)); - exit(EXIT_FAILURE); - } - exit(EXIT_SUCCESS); - } - - /* If we have a process serial number and it's our only arg, act as if - * the user double clicked the app bundle: launch app_to_run if possible - */ - if (argc == 1 || (argc == 2 && !strncmp(argv[1], "-psn_", 5))) { - /* Now, try to open a display, if so, run the launcher */ - display = XOpenDisplay(NULL); - if (display) { - /* Could open the display, start the launcher */ - XCloseDisplay(display); - - return execute(pref_app_to_run); - } - } - - /* Start the server */ - if ((s = getenv("DISPLAY"))) { - ErrorF( - "X11.app: Could not connect to server (DISPLAY=\"%s\", unsetting). Starting X server.\n", - s); - unsetenv("DISPLAY"); - } - else { - ErrorF( - "X11.app: Could not connect to server (DISPLAY is not set). Starting X server.\n"); - } - return execute(pref_startx_script); -} - -/** Setup the environment we want our child processes to inherit */ -static void -ensure_path(const char *dir) -{ - char buf[1024], *temp; - - /* Make sure /usr/X11/bin is in the $PATH */ - temp = getenv("PATH"); - if (temp == NULL || temp[0] == 0) { - snprintf(buf, sizeof(buf), - "/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:%s", - dir); - setenv("PATH", buf, TRUE); - } - else if (strnstr(temp, X11BINDIR, sizeof(temp)) == NULL) { - snprintf(buf, sizeof(buf), "%s:%s", temp, dir); - setenv("PATH", buf, TRUE); - } -} - -static void -setup_console_redirect(const char *bundle_id) -{ - char *asl_sender; - char *asl_facility; - - asprintf(&asl_sender, "%s.server", bundle_id); - assert(asl_sender); - - asl_facility = strdup(bundle_id); - assert(asl_facility); - if (strcmp(asl_facility + strlen(asl_facility) - 4, ".X11") == 0) - asl_facility[strlen(asl_facility) - 4] = '\0'; - - assert(aslc = asl_open(asl_sender, asl_facility, ASL_OPT_NO_DELAY)); - free(asl_sender); - free(asl_facility); - - asl_set_filter(aslc, ASL_FILTER_MASK_UPTO(ASL_LEVEL_WARNING)); - - asl_log_descriptor(aslc, NULL, ASL_LEVEL_INFO, STDOUT_FILENO, ASL_LOG_DESCRIPTOR_WRITE); - asl_log_descriptor(aslc, NULL, ASL_LEVEL_NOTICE, STDERR_FILENO, ASL_LOG_DESCRIPTOR_WRITE); -} - -static void -setup_env(void) -{ - char *temp; - const char *pds = NULL; - const char *disp = getenv("DISPLAY"); - size_t len; - - /* Pass on our prefs domain to startx and its inheritors (mainly for - * quartz-wm and the Xquartz stub's MachIPC) - */ - CFBundleRef bundle = CFBundleGetMainBundle(); - if (bundle) { - CFStringRef pd = CFBundleGetIdentifier(bundle); - if (pd) { - pds = CFStringGetCStringPtr(pd, 0); - } - } - - /* fallback to hardcoded value if we can't discover it */ - if (!pds) { - pds = BUNDLE_ID_PREFIX ".X11"; - } - - setup_console_redirect(pds); - - server_bootstrap_name = strdup(pds); - if (!server_bootstrap_name) { - ErrorF("X11.app: Memory allocation error.\n"); - exit(1); - } - setenv("X11_PREFS_DOMAIN", server_bootstrap_name, 1); - - len = strlen(server_bootstrap_name); - bundle_id_prefix = malloc(sizeof(char) * (len - 3)); - if (!bundle_id_prefix) { - ErrorF("X11.app: Memory allocation error.\n"); - exit(1); - } - strlcpy(bundle_id_prefix, server_bootstrap_name, len - 3); - - /* We need to unset DISPLAY if it is not our socket */ - if (disp) { - /* s = basename(disp) */ - const char *d, *s; - for (s = NULL, d = disp; *d; d++) { - if (*d == '/') - s = d + 1; - } - - if (s && *s) { - if (strcmp(bundle_id_prefix, - "org.x") == 0 && strcmp(s, ":0") == 0) { - ErrorF( - "X11.app: Detected old style launchd DISPLAY, please update xinit.\n"); - } - else { - temp = (char *)malloc(sizeof(char) * len); - if (!temp) { - ErrorF( - "X11.app: Memory allocation error creating space for socket name test.\n"); - exit(1); - } - strlcpy(temp, bundle_id_prefix, len); - strlcat(temp, ":0", len); - - if (strcmp(temp, s) != 0) { - /* If we don't have a match, unset it. */ - ErrorF( - "X11.app: DISPLAY (\"%s\") does not match our id (\"%s\"), unsetting.\n", - disp, bundle_id_prefix); - unsetenv("DISPLAY"); - } - free(temp); - } - } - else { - /* The DISPLAY environment variable is not formatted like a launchd socket, so reset. */ - ErrorF( - "X11.app: DISPLAY does not look like a launchd set variable, unsetting.\n"); - unsetenv("DISPLAY"); - } - } - - /* Make sure PATH is right */ - ensure_path(X11BINDIR); - - /* cd $HOME */ - temp = getenv("HOME"); - if (temp != NULL && temp[0] != '\0') - chdir(temp); -} - -/*** Main ***/ -int -main(int argc, char **argv, char **envp) -{ - Bool listenOnly = FALSE; - int i; - mach_msg_size_t mxmsgsz = sizeof(union MaxMsgSize) + MAX_TRAILER_SIZE; - mach_port_t mp; - kern_return_t kr; - - /* Ignore SIGPIPE */ - signal(SIGPIPE, SIG_IGN); - - /* Setup our environment for our children */ - setup_env(); - - /* The server must not run the PanoramiX operations. */ - noPanoramiXExtension = TRUE; - -#ifdef COMPOSITE - /* https://gitlab.freedesktop.org/xorg/xserver/-/issues/1409 */ - noCompositeExtension = TRUE; -#endif - - /* Setup the initial crasherporter info */ - strlcpy(__crashreporter_info_buff__, __crashreporter_info__base, - sizeof(__crashreporter_info_buff__)); - - ErrorF("X11.app: main(): argc=%d\n", argc); - for (i = 0; i < argc; i++) { - ErrorF("\targv[%u] = %s\n", (unsigned)i, argv[i]); - if (!strcmp(argv[i], "--listenonly")) { - listenOnly = TRUE; - } - } - - mp = checkin_or_register(server_bootstrap_name); - if (mp == MACH_PORT_NULL) { - ErrorF("NULL mach service: %s", server_bootstrap_name); - return EXIT_FAILURE; - } - - /* Check if we need to do something other than listen, and make another - * thread handle it. - */ - if (!listenOnly) { - pid_t child1, child2; - int status; - - pref_app_to_run = command_from_prefs("app_to_run", DEFAULT_CLIENT); - assert(pref_app_to_run); - - pref_login_shell = command_from_prefs("login_shell", DEFAULT_SHELL); - assert(pref_login_shell); - - pref_startx_script = command_from_prefs("startx_script", - DEFAULT_STARTX); - assert(pref_startx_script); - - /* Do the fork-twice trick to avoid having to reap zombies */ - child1 = fork(); - switch (child1) { - case -1: /* error */ - FatalError("fork() failed: %s\n", strerror(errno)); - - case 0: /* child1 */ - child2 = fork(); - - switch (child2) { - int max_files; - - case -1: /* error */ - FatalError("fork() failed: %s\n", strerror(errno)); - - case 0: /* child2 */ - /* close all open files except for standard streams */ - max_files = sysconf(_SC_OPEN_MAX); - for (i = 3; i < max_files; i++) - close(i); - - /* ensure stdin is on /dev/null */ - close(0); - open("/dev/null", O_RDONLY); - - return startup_trigger(argc, argv, envp); - - default: /* parent (child1) */ - _exit(0); - } - break; - - default: /* parent */ - waitpid(child1, &status, 0); - } - - free(pref_app_to_run); - free(pref_login_shell); - free(pref_startx_script); - } - - /* Main event loop */ - ErrorF("Waiting for startup parameters via Mach IPC.\n"); - kr = mach_msg_server(mach_startup_server, mxmsgsz, mp, 0); - if (kr != KERN_SUCCESS) { - ErrorF("%s.X11(mp): %s\n", BUNDLE_ID_PREFIX, mach_error_string(kr)); - return EXIT_FAILURE; - } - - return EXIT_SUCCESS; -} - -static int -execute(const char *command) -{ - const char *newargv[4]; - const char **p; - - newargv[0] = pref_login_shell; - newargv[1] = "-c"; - newargv[2] = command; - newargv[3] = NULL; - - ErrorF("X11.app: Launching %s:\n", command); - for (p = newargv; *p; p++) { - ErrorF("\targv[%ld] = %s\n", (long int)(p - newargv), *p); - } - - execvp(newargv[0], (char *const *)newargv); - perror("X11.app: Couldn't exec."); - return 1; -} - -static char * -command_from_prefs(const char *key, const char *default_value) -{ - char *command = NULL; - - CFStringRef cfKey; - CFPropertyListRef PlistRef; - - if (!key) - return NULL; - - cfKey = CFStringCreateWithCString(NULL, key, kCFStringEncodingASCII); - - if (!cfKey) - return NULL; - - PlistRef = CFPreferencesCopyAppValue(cfKey, - kCFPreferencesCurrentApplication); - - if ((PlistRef == NULL) || - (CFGetTypeID(PlistRef) != CFStringGetTypeID())) { - CFStringRef cfDefaultValue = CFStringCreateWithCString( - NULL, default_value, kCFStringEncodingASCII); - int len = strlen(default_value) + 1; - - if (!cfDefaultValue) - goto command_from_prefs_out; - - CFPreferencesSetAppValue(cfKey, cfDefaultValue, - kCFPreferencesCurrentApplication); - CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication); - CFRelease(cfDefaultValue); - - command = (char *)malloc(len * sizeof(char)); - if (!command) - goto command_from_prefs_out; - strcpy(command, default_value); - } - else { - int len = CFStringGetLength((CFStringRef)PlistRef) + 1; - command = (char *)malloc(len * sizeof(char)); - if (!command) - goto command_from_prefs_out; - CFStringGetCString((CFStringRef)PlistRef, command, len, - kCFStringEncodingASCII); - } - -command_from_prefs_out: - if (PlistRef) - CFRelease(PlistRef); - if (cfKey) - CFRelease(cfKey); - return command; -} diff --git a/hw/xquartz/mach-startup/bundle_trampoline.c b/hw/xquartz/mach-startup/bundle_trampoline.c deleted file mode 100644 index f8611269b..000000000 --- a/hw/xquartz/mach-startup/bundle_trampoline.c +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (c) 2021 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -/* We wnt XQuartz.app to inherit a login shell environment. This is handled by the X11.sh - * script which re-execs the main binary from a login shell environment. However, recent - * versions of macOS require that the main executable of an app be Mach-O for full system - * fidelity. - * - * Failure to do so results in two problems: - * 1) bash is seen as the responsible executable for Security & Privacy, and the user doesn't - * get prompted to allow filesystem access (https://github.com/XQuartz/XQuartz/issues/6). - * 2) The process is launched under Rosetta for compatability, which results in - * the subsequent spawn of the real executable under Rosetta rather than natively. - * - * This trampoline provides the mach-o needed by LaunchServices and TCC to satisfy those - * needs and simply execs the startup script which then execs the main binary. - */ - -static char *executable_path() { - uint32_t bufsize = PATH_MAX; - char *buf = calloc(1, bufsize); - - if (_NSGetExecutablePath(buf, &bufsize) == -1) { - free(buf); - buf = calloc(1, bufsize); - assert(_NSGetExecutablePath(buf, &bufsize) == 0); - } - - return buf; -} - -int main(int argc, char **argv, char **envp) { - char const * const executable_directory = dirname(executable_path()); - char *executable = NULL; - - asprintf(&executable, "%s/X11.sh", executable_directory); - if (access(executable, X_OK) == -1) { - free(executable); - asprintf(&executable, "%s/X11", executable_directory); - } - assert(access(executable, X_OK) == 0); - - argv[0] = executable; - - posix_spawnattr_t attr; - assert(posix_spawnattr_init(&attr) == 0); - assert(posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETEXEC) == 0); - - pid_t child_pid; - assert(posix_spawn(&child_pid, executable, NULL, &attr, argv, envp) == 0); - - return EXIT_FAILURE; -} diff --git a/hw/xquartz/mach-startup/launchd_fd.c b/hw/xquartz/mach-startup/launchd_fd.c deleted file mode 100644 index 15866cc42..000000000 --- a/hw/xquartz/mach-startup/launchd_fd.c +++ /dev/null @@ -1,112 +0,0 @@ -/* Copyright (c) 2008-2012 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include - -#include "launchd_fd.h" - -extern aslclient aslc; - -int -launchd_display_fd(void) -{ - launch_data_t sockets_dict, checkin_request, checkin_response; - launch_data_t listening_fd_array, listening_fd; - - /* Get launchd fd */ - if ((checkin_request = launch_data_new_string(LAUNCH_KEY_CHECKIN)) == - NULL) { - asl_log( - aslc, NULL, ASL_LEVEL_ERR, - "launch_data_new_string(\"" LAUNCH_KEY_CHECKIN - "\") Unable to create string.\n"); - return ERROR_FD; - } - - if ((checkin_response = launch_msg(checkin_request)) == NULL) { - asl_log(aslc, NULL, ASL_LEVEL_WARNING, - "launch_msg(\"" LAUNCH_KEY_CHECKIN "\") IPC failure: %s\n", - strerror( - errno)); - return ERROR_FD; - } - - if (LAUNCH_DATA_ERRNO == launch_data_get_type(checkin_response)) { - // ignore EACCES, which is common if we weren't started by launchd - if (launch_data_get_errno(checkin_response) != EACCES) - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "launchd check-in failed: %s\n", - strerror(launch_data_get_errno( - checkin_response))); - return ERROR_FD; - } - - sockets_dict = launch_data_dict_lookup(checkin_response, - LAUNCH_JOBKEY_SOCKETS); - if (NULL == sockets_dict) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "launchd check-in: no sockets found to answer requests on!\n"); - return ERROR_FD; - } - - if (launch_data_dict_get_count(sockets_dict) > 1) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "launchd check-in: some sockets will be ignored!\n"); - return ERROR_FD; - } - - listening_fd_array = launch_data_dict_lookup(sockets_dict, - BUNDLE_ID_PREFIX ":0"); - if (NULL == listening_fd_array) { - listening_fd_array = launch_data_dict_lookup(sockets_dict, ":0"); - if (NULL == listening_fd_array) { - asl_log( - aslc, NULL, ASL_LEVEL_ERR, - "launchd check-in: No known sockets found to answer requests on! \"%s:0\" and \":0\" failed.\n", - BUNDLE_ID_PREFIX); - return ERROR_FD; - } - } - - if (launch_data_array_get_count(listening_fd_array) != 1) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "launchd check-in: Expected 1 socket from launchd, got %u)\n", - (unsigned)launch_data_array_get_count( - listening_fd_array)); - return ERROR_FD; - } - - listening_fd = launch_data_array_get_index(listening_fd_array, 0); - return launch_data_get_fd(listening_fd); -} diff --git a/hw/xquartz/mach-startup/launchd_fd.h b/hw/xquartz/mach-startup/launchd_fd.h deleted file mode 100644 index 6af03a81d..000000000 --- a/hw/xquartz/mach-startup/launchd_fd.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (c) 2008-2012 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef _XQUARTZ_LAUNCHD_FD_H_ -#define _XQUARTZ_LAUNCHD_FD_H_ - -#define ERROR_FD -1 - -int -launchd_display_fd(void); - -#endif /* _XQUARTZ_LAUNCHD_FD_H_ */ diff --git a/hw/xquartz/mach-startup/mach_startup.defs b/hw/xquartz/mach-startup/mach_startup.defs deleted file mode 100644 index e47f49c3c..000000000 --- a/hw/xquartz/mach-startup/mach_startup.defs +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (c) 2008 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include -#include -import "mach_startup_types.h"; - -subsystem mach_startup 1000; -serverprefix do_; - -type string_t = c_string[1024]; -type string_array_t = array[] of string_t; - -routine start_x11_server( - port : mach_port_t; - argv : string_array_t; - envp : string_array_t); - -routine request_fd_handoff_socket ( - port : mach_port_t; - out socket_filename : string_t); - -routine request_pid ( - port : mach_port_t; - out pid : int); diff --git a/hw/xquartz/mach-startup/mach_startup_types.h b/hw/xquartz/mach-startup/mach_startup_types.h deleted file mode 100644 index 459c750db..000000000 --- a/hw/xquartz/mach-startup/mach_startup_types.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef _MACH_STARTUP_TYPES_H_ -#define _MACH_STARTUP_TYPES_H_ - -#define STRING_T_SIZE 1024 - -typedef char string_t[STRING_T_SIZE]; -typedef string_t * string_array_t; - -#endif diff --git a/hw/xquartz/mach-startup/meson.build b/hw/xquartz/mach-startup/meson.build deleted file mode 100644 index 2f7694252..000000000 --- a/hw/xquartz/mach-startup/meson.build +++ /dev/null @@ -1,99 +0,0 @@ -# mach interface -mig = find_program('mig') -mach_startup = custom_target('mach_startup', - command: [mig, - '-sheader', '@OUTPUT0@', '-header', '@OUTPUT2@', - '-server', '@OUTPUT1@', '-user', '@OUTPUT3@', - '@INPUT@'], - input: 'mach_startup.defs', - output: ['mach_startupServer.h', - 'mach_startupServer.c', - 'mach_startup.h', - 'mach_startupUser.c'], -) - -mach_startup_dep = declare_dependency( - sources: mach_startup[2] # mach_startup.h -) - -# common defines -xquartz_defs = [ - bundle_id_def, - '-DXSERVER_VERSION="@0@"'.format(meson.project_version()), - '-DX11BINDIR="@0@"'.format(join_paths(get_option('prefix'), get_option('bindir'))), -] - -# X11.bin -x11appdir = join_paths(bundle_root, 'Contents/MacOS') - -x11_bin_deps = [ - meson.get_compiler('c').find_library('Xplugin'), - dependency('Carbon', method: 'extraframework'), - cocoa, - dependency('CoreAudio', method: 'extraframework'), - dependency('IOKit', method: 'extraframework') -] - -if build_glx - x11_bin_deps += [dependency('OpenGL', method: 'extraframework')] -endif - -if build_sparkle - x11_bin_deps += sparkle -endif - -x11_bin_libs = [ - libXquartz, - libXquartzXpr, - libxpbproxy, - libxserver_fb, - libxserver, - libxserver_xkb_stubs, -] - -if build_glx - x11_bin_libs += [libcglcore, libxserver_glx, libglxvnd] -endif - -x11_bin = executable('X11.bin', - [ - 'bundle-main.c', - mach_startup[1], # mach_startupServer.c - mach_startup[3], # mach_startupUser.c - ], - link_with: x11_bin_libs, - dependencies: [xproto_dep, x11_bin_deps, mach_startup_dep], - include_directories: [inc, '..', top_dir_inc], - c_args: xquartz_defs, - link_args: ['-Objc'], - install: true, - install_dir: x11appdir, -) - -# X11 (Bundle trampoline) -x11 = executable('X11', - [ - 'bundle_trampoline.c', - ], - c_args: xquartz_defs, - link_args: ['-Objc'], - install: true, - install_dir: x11appdir, -) - -# Xquartz -xquartz_deps = [ - dependency('CoreServices', method: 'extraframework'), -] - -xquartz = executable('Xquartz', - [ - 'stub.c', - 'launchd_fd.c', - mach_startup[3], # mach_startupUser.c - ], - include_directories: inc, - c_args: xquartz_defs, - dependencies: [xquartz_deps, mach_startup_dep], - install: true, -) diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c deleted file mode 100644 index 83252e805..000000000 --- a/hw/xquartz/mach-startup/stub.c +++ /dev/null @@ -1,340 +0,0 @@ -/* Copyright (c) 2008-2012 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include - -#include -#include - -#define kX11AppBundleId BUNDLE_ID_PREFIX ".X11" -#define kX11AppBundlePath "/Contents/MacOS/X11" - -#include -#include -#include -#include "mach_startup.h" - -#include - -#include "launchd_fd.h" - -static CFURLRef x11appURL; -static FSRef x11_appRef; -static pid_t x11app_pid = 0; -aslclient aslc; - -static void -set_x11_path(void) -{ - OSStatus osstatus = LSFindApplicationForInfo(kLSUnknownCreator, CFSTR(kX11AppBundleId), - nil, &x11_appRef, &x11appURL); - - switch (osstatus) { - case noErr: - if (x11appURL == NULL) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "Xquartz: Invalid response from LSFindApplicationForInfo(%s)", - kX11AppBundleId); - exit(1); - } - break; - - case kLSApplicationNotFoundErr: - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "Xquartz: Unable to find application for %s", - kX11AppBundleId); - exit(10); - - default: - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "Xquartz: Unable to find application for %s, error code = %d", - kX11AppBundleId, (int)osstatus); - exit(11); - } -} - -static int -connect_to_socket(const char *filename) -{ - struct sockaddr_un servaddr_un; - struct sockaddr *servaddr; - socklen_t servaddr_len; - int ret_fd; - - /* Setup servaddr_un */ - memset(&servaddr_un, 0, sizeof(struct sockaddr_un)); - servaddr_un.sun_family = AF_UNIX; - strlcpy(servaddr_un.sun_path, filename, sizeof(servaddr_un.sun_path)); - - servaddr = (struct sockaddr *)&servaddr_un; - servaddr_len = sizeof(struct sockaddr_un) - - sizeof(servaddr_un.sun_path) + strlen(filename); - - ret_fd = socket(PF_UNIX, SOCK_STREAM, 0); - if (ret_fd == -1) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "Xquartz: Failed to create socket: %s - %d - %s", - filename, errno, strerror(errno)); - return -1; - } - - if (connect(ret_fd, servaddr, servaddr_len) < 0) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "Xquartz: Failed to connect to socket: %s - %d - %s", - filename, errno, strerror(errno)); - close(ret_fd); - return -1; - } - - return ret_fd; -} - -static void -send_fd_handoff(int connected_fd, int launchd_fd) -{ - char databuf[] = "display"; - struct iovec iov[1]; - - union { - struct cmsghdr hdr; - char bytes[CMSG_SPACE(sizeof(int))]; - } buf; - - struct msghdr msg; - struct cmsghdr *cmsg; - - iov[0].iov_base = databuf; - iov[0].iov_len = sizeof(databuf); - - msg.msg_iov = iov; - msg.msg_iovlen = 1; - msg.msg_control = buf.bytes; - msg.msg_controllen = sizeof(buf); - msg.msg_name = 0; - msg.msg_namelen = 0; - msg.msg_flags = 0; - - cmsg = CMSG_FIRSTHDR(&msg); - cmsg->cmsg_level = SOL_SOCKET; - cmsg->cmsg_type = SCM_RIGHTS; - cmsg->cmsg_len = CMSG_LEN(sizeof(int)); - - msg.msg_controllen = cmsg->cmsg_len; - - *((int *)CMSG_DATA(cmsg)) = launchd_fd; - - if (sendmsg(connected_fd, &msg, 0) < 0) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "Xquartz: Error sending $DISPLAY file descriptor over fd %d: %d -- %s", - connected_fd, errno, strerror(errno)); - return; - } - - asl_log(aslc, NULL, ASL_LEVEL_DEBUG, - "Xquartz: Message sent. Closing handoff fd."); - close(connected_fd); -} - -__attribute__((__noreturn__)) -static void -signal_handler(int sig) -{ - if (x11app_pid) - kill(x11app_pid, sig); - _exit(0); -} - -int -main(int argc, char **argv, char **envp) -{ - int envpc; - kern_return_t kr; - mach_port_t mp; - string_array_t newenvp; - string_array_t newargv; - size_t i; - int launchd_fd; - string_t handoff_socket_filename; - sig_t handler; - char *asl_sender; - char *asl_facility; - char *server_bootstrap_name = kX11AppBundleId; - - if (getenv("X11_PREFS_DOMAIN")) - server_bootstrap_name = getenv("X11_PREFS_DOMAIN"); - - asprintf(&asl_sender, "%s.stub", server_bootstrap_name); - assert(asl_sender); - - asl_facility = strdup(server_bootstrap_name); - assert(asl_facility); - if (strcmp(asl_facility + strlen(asl_facility) - 4, ".X11") == 0) - asl_facility[strlen(asl_facility) - 4] = '\0'; - - assert(aslc = asl_open(asl_sender, asl_facility, ASL_OPT_NO_DELAY)); - free(asl_sender); - free(asl_facility); - - /* We don't have a mechanism in place to handle this interrupt driven - * server-start notification, so just send the signal now, so xinit doesn't - * time out waiting for it and will just poll for the server. - */ - handler = signal(SIGUSR1, SIG_IGN); - if (handler == SIG_IGN) - kill(getppid(), SIGUSR1); - signal(SIGUSR1, handler); - - /* Pass on SIGs to X11.app */ - signal(SIGINT, signal_handler); - signal(SIGTERM, signal_handler); - - /* Get the $DISPLAY FD */ - launchd_fd = launchd_display_fd(); - - kr = bootstrap_look_up(bootstrap_port, server_bootstrap_name, &mp); - if (kr != KERN_SUCCESS) { - pid_t child; - - asl_log(aslc, NULL, ASL_LEVEL_WARNING, - "Xquartz: Unable to locate waiting server: %s", - server_bootstrap_name); - set_x11_path(); - - char *listenOnlyArg = "--listenonly"; - CFStringRef silentLaunchArg = CFStringCreateWithCString(NULL, listenOnlyArg, kCFStringEncodingUTF8); - CFStringRef args[] = { silentLaunchArg }; - CFArrayRef passArgv = CFArrayCreate(NULL, (const void**) args, 1, NULL); - LSApplicationParameters params = { 0, /* CFIndex version == 0 */ - kLSLaunchDefaults, /* LSLaunchFlags flags */ - &x11_appRef, /* FSRef application */ - NULL, /* void* asyncLaunchRefCon*/ - NULL, /* CFDictionaryRef environment */ - passArgv, /* CFArrayRef arguments */ - NULL /* AppleEvent* initialEvent */ - }; - - OSStatus status = LSOpenApplication(¶ms, NULL); - if (status != noErr) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, "Xquartz: Unable to launch: %d", (int)status); - return EXIT_FAILURE; - } - - /* Try connecting for 10 seconds */ - for (i = 0; i < 80; i++) { - usleep(250000); - kr = bootstrap_look_up(bootstrap_port, server_bootstrap_name, &mp); - if (kr == KERN_SUCCESS) - break; - } - - if (kr != KERN_SUCCESS) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "Xquartz: bootstrap_look_up(): %s", bootstrap_strerror(kr)); - return EXIT_FAILURE; - } - } - - /* Get X11.app's pid */ - request_pid(mp, &x11app_pid); - - /* Handoff the $DISPLAY FD */ - if (launchd_fd != -1) { - size_t try, try_max; - int handoff_fd = -1; - - for (try = 0, try_max = 5; try < try_max; try++) { - if (request_fd_handoff_socket(mp, handoff_socket_filename) != KERN_SUCCESS) { - asl_log(aslc, NULL, ASL_LEVEL_INFO, - "Xquartz: Failed to request a socket from the server to send the $DISPLAY fd over (try %d of %d)", - (int)try + 1, (int)try_max); - continue; - } - - handoff_fd = connect_to_socket(handoff_socket_filename); - if (handoff_fd == -1) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, - "Xquartz: Failed to connect to socket (try %d of %d)", - (int)try + 1, (int)try_max); - continue; - } - - asl_log(aslc, NULL, ASL_LEVEL_INFO, - "Xquartz: Handoff connection established (try %d of %d) on fd %d, \"%s\". Sending message.", - (int)try + 1, (int)try_max, handoff_fd, handoff_socket_filename); - send_fd_handoff(handoff_fd, launchd_fd); - close(handoff_fd); - break; - } - } - - /* Count envp */ - for (envpc = 0; envp[envpc]; envpc++) ; - - /* We have fixed-size string lengths due to limitations in IPC, - * so we need to copy our argv and envp. - */ - newargv = (string_array_t)calloc((1 + argc), sizeof(string_t)); - newenvp = (string_array_t)calloc((1 + envpc), sizeof(string_t)); - - if (!newargv || !newenvp) { - /* Silence the clang static analyzer */ - free(newargv); - free(newenvp); - - asl_log(aslc, NULL, ASL_LEVEL_ERR, "Xquartz: Memory allocation failure"); - return EXIT_FAILURE; - } - - for (i = 0; i < argc; i++) { - strlcpy(newargv[i], argv[i], STRING_T_SIZE); - } - for (i = 0; i < envpc; i++) { - strlcpy(newenvp[i], envp[i], STRING_T_SIZE); - } - - kr = start_x11_server(mp, newargv, argc, newenvp, envpc); - - free(newargv); - free(newenvp); - - if (kr != KERN_SUCCESS) { - asl_log(aslc, NULL, ASL_LEVEL_ERR, "Xquartz: start_x11_server: %s", - mach_error_string(kr)); - return EXIT_FAILURE; - } - return EXIT_SUCCESS; -} diff --git a/hw/xquartz/man/Xquartz.man b/hw/xquartz/man/Xquartz.man deleted file mode 100644 index 9b01bbaf3..000000000 --- a/hw/xquartz/man/Xquartz.man +++ /dev/null @@ -1,192 +0,0 @@ -.TH XQUARTZ 1 @vendorversion@ -.SH NAME -Xquartz \- X window system server for Mac OSX -.SH SYNOPSIS -.B Xquartz -[ options ] ... -.SH DESCRIPTION -.I Xquartz -is the X window server for Mac OS X provided by Apple. -.I Xquartz -runs in parallel with Aqua in rootless mode. In rootless mode, the X -window system and Mac OS X share your display. The root window of the -X11 display is the size of the screen and contains all the other -windows. The X11 root window is not displayed in rootless mode as Mac -OS X handles the desktop background. -.SH CUSTOMIZATION -\fIXquartz\fP can be customized using the defaults(1) command. The available options are: -.TP 8 -.B defaults write @bundle_id_prefix@.X11 enable_fake_buttons -boolean true -Emulates a 3 button mouse using modifier keys. By default, the Command modifier -is used to emulate button 2 and Option is used for button 3. Thus, clicking the -first mouse button while holding down Command will act like clicking -button 2. Holding down Option will simulate button 3. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 fake_button2 \fImodifiers\fP -Change the modifier keys used to emulate the second mouse button. By default, -Command is used to emulate the second button. Any combination of the following -modifier names may be used: {l,r,}shift, {l,r,}option, {l,r,}control, {l,r,}command, fn -.TP 8 -.B defaults write @bundle_id_prefix@.X11 fake_button3 \fImodifiers\fP -Change the modifier keys used to emulate the second mouse button. By default, -Command is used to emulate the second button. Any combination of the following -modifier names may be used: {l,r,}shift, {l,r,}option, {l,r,}control, {l,r,}command, fn -.TP 8 -.B defaults write @bundle_id_prefix@.X11 fullscreen_hotkeys -boolean true -Enable OSX hotkeys while in fullscreen -.TP 8 -.B defaults write @bundle_id_prefix@.X11 fullscreen_menu -boolean true -Show the OSX menu while in fullscreen -.TP 8 -.B defaults write @bundle_id_prefix@.X11 no_quit_alert -boolean true -Disables the alert dialog displayed when attempting to quit X11. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 no_auth -boolean true -Stops the X server requiring that clients authenticate themselves when -connecting. See Xsecurity(@miscmansuffix@). -.TP 8 -.B defaults write @bundle_id_prefix@.X11 nolisten_tcp -boolean false -This will tell the server to listen and accept TCP connections. Doing this without enabling -xauth is a possible security concern. See Xsecurity(@miscmansuffix@). -.TP 8 -.B defaults write @bundle_id_prefix@.X11 enable_system_beep -boolean false -Don't use the standard system beep effect for X11 alerts. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 enable_key_equivalents -boolean false -Disable menu keyboard equivalents while X11 windows are focused. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 depth \fIdepth\fP -Specifies the color bit depth to use. Currently only 15, and 24 color -bits per pixel are supported. If not specified, or a value of -1 is specified, -defaults to the depth of the main display. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 sync_keymap -boolean true -Keep the X11 keymap up to date with the OSX system keymap. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 option_sends_alt -boolean true -The Option key will send Alt_L and Alt_R instead of Mode_switch. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 sync_pasteboard -boolean true -Enable syncing between the OSX pasteboard and clipboard/primary selection buffers in X11. This option needs to be true for any of the other pasteboard sync options to have an effect. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 sync_pasteboard_to_clipboard -boolean true -Update the X11 CLIPBOARD when the OSX NSPasteboard is updated. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 sync_pasteboard_to_primary -boolean true -Update the X11 PRIMARY buffer when the OSX NSPasteboard is updated. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 sync_clipboard_to_pasteboard -boolean true -Update the OSX NSPasteboard when the X11 CLIPBOARD is updated. Note that enabling this option causes the clipboard synchronization to act as a clipboard manager in X11. This makes it impossible to use xclipboard, klipper, or any other such clipboard managers. If you want to use any of these programs, you must disable this option. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 sync_primary_on_select -boolean true -This option defaults to false and is provided only "for experts." It updates the NSPasteboard whenever a new X11 selection is made (rather than requiring you to hit cmd-c to copy the selection to the NSPasteboard). Since the X11 protocol does not require applications to send notification when they change selection, this might not work in all cases (if you run into this problem, try selecting text in another application first, then selecting the text you want). -.TP 8 -.B defaults write @bundle_id_prefix@.X11 enable_test_extensions -boolean true -This option defaults to false and is only accessible through the command line. Enable this option to turn on the DEC-XTRAP, RECORD, and XTEST extensions in the server. -.TP 8 -.B defaults write @bundle_id_prefix@.X11 scroll_in_device_direction -boolean true -This option defaults to false. Enable this option to ensure that X11 scroll events are always in the direction of the device. This overrides the related option in the Mouse/Trackpad section of System Preferences. -.SH OPTIONS -.PP -In addition to the normal server options described in the \fIXserver(1)\fP -manual page, \fIXquartz\fP accepts the following command line switches: -.TP 8 -.B \-fakebuttons -Same as enable_fake_buttons above with value true. -.TP 8 -.B \-nofakebuttons -Same as enable_fake_buttons above with value false. -.TP 8 -.B "\-fakemouse2 \fImodifiers\fP" -Same as fake_button2 above. -.TP 8 -.B "\-fakemouse3 \fImodifiers\fP" -Same as fake_button3 above. -.TP 8 -.B "\-depth \fIdepth\fP" -Same as depth above. -.SH LOGGING -XQuartz stores a server log at ~/Library/Logs/X11.@bundle_id_prefix@.log which -is analogous to /var/log/Xorg.#.log on systems that use the XFree86 DDX such as -Linux, BSD, and Solaris. -.PP -In addition to this server log, XQuartz sends messages to syslogd(8) using -asl(3). These logs are sent to the @bundle_id_prefix@ facility, and you can -watch these logs using the following syslog(1) command: -.TP 8 -.B $ syslog -w -k Facility eq @bundle_id_prefix@ -.PP -or you can include extra information such as the file, line, and function where the message originated: -.TP 8 -.B $ syslog -w -F '$(Time) $(Sender) <$(Level)> $(File):$(Line) $(Function) :: $(Message)' -k Facility eq @bundle_id_prefix@ -.PP -By default, XQuartz sets an ASL mask which prevents it from logging messages -below the ASL_LEVEL_WARNING level (meaning almost all logging is done strictly -to the file referenced above). To force XQuartz to send all log messages to -syslogd(8), you can adjust this mask using the following syslog(1) command: -.TP 8 -.B $ syslog -c X11.bin -d -.PP -The stdout and stderr messages printed by any process launched by XQuartz will -be redirected to this syslog facility with a priority level of ASL_LEVEL_INFO -and ASL_LEVEL_NOTICE respectively. In order to see these messages in syslog, -you will need to adjust XQuartz's asl mask as above but using -i or -n -instead of -d. -.SH "SEE ALSO" -.PP -X(@miscmansuffix@), Xserver(1), xdm(1), xinit(1), syslog(1), syslogd(8) -.PP -https://www.xquartz.org/ -.PP -.SH AUTHORS / HISTORY -X11 was originally ported to Mac OS X Server by John Carmack. Dave -Zarzycki used this as the basis of his port of XFree86 4.0 to Darwin 1.0. -Torrey T. Lyons improved and integrated this code into the XFree86 -Project's mainline for the 4.0.2 release. -.PP -The following members of the XonX Team contributed to the following -releases (in alphabetical order): -.TP 4 -XFree86 4.1.0: -.br -Rob Braun - Darwin x86 support -.br -Torrey T. Lyons - Project Lead -.br -Andreas Monitzer - Cocoa version of XDarwin front end -.br -Gregory Robert Parker - Original Quartz implementation -.br -Christoph Pfisterer - Dynamic shared X libraries -.br -Toshimitsu Tanaka - Japanese localization -.TP 4 -XFree86 4.2.0: -.br -Rob Braun - Darwin x86 support -.br -Pablo Di Noto - Spanish localization -.br -Paul Edens - Dutch localization -.br -Kyunghwan Kim - Korean localization -.br -Mario Klebsch - Non-US keyboard support -.br -Torrey T. Lyons - Project Lead -.br -Andreas Monitzer - German localization -.br -Patrik Montgomery - Swedish localization -.br -Greg Parker - Rootless support -.br -Toshimitsu Tanaka - Japanese localization -.br -Olivier Verdier - French localization -.PP -Code from Apple's X11.app (which was based on XFree86 4.1) was integrated into X.org's XDarwin DDX by Ben Byer for xorg-server-1.2. -The XDarwin DDX was renamed Xquartz to more accurately reflect its state (the pure-darwin backend was removed). -Jeremy Huddleston took over as project lead and brought the project up to the X.org 1.4 server branch. -.PP -Jeremy Huddleston is the current maintainer. diff --git a/hw/xquartz/meson.build b/hw/xquartz/meson.build deleted file mode 100644 index 83e79eae8..000000000 --- a/hw/xquartz/meson.build +++ /dev/null @@ -1,101 +0,0 @@ -add_languages('objc') - -apple_applications_dir = get_option('apple-applications-dir') -apple_application_name = get_option('apple-application-name') -bundle_id_prefix = get_option('bundle-id-prefix') -xquartz_sparkle_feed_url = get_option('sparkle-feed-url') -xquartz_sparkle_public_edkey = get_option('sparkle-public-edkey') - -bundle_version_string = get_option('bundle-version-string') # CFBundleShortVersionString -if bundle_version_string == 'auto' - bundle_version_string = meson.project_version() -endif - -bundle_version = get_option('bundle-version') # CFBundleVersion -if bundle_version == 'auto' - version_arr = bundle_version_string.split('.') - version_major = version_arr[0].to_int() - version_minor = version_arr[1].to_int() - version_tiny = version_arr[2].to_int() - bundle_version = '@0@.@1@.@2@'.format(version_major, version_minor, version_tiny) -endif - -bundle_id_def = '-DBUNDLE_ID_PREFIX="@0@"'.format(bundle_id_prefix) - -bundle_root = join_paths(apple_applications_dir, apple_application_name + '.app') -xquartz_data_dir = join_paths(get_option('prefix'), get_option('datadir'),'X11', 'XQuartz') - -# using sparkle update framework? -build_sparkle = xquartz_sparkle_feed_url != '' and xquartz_sparkle_public_edkey != '' -if build_sparkle - sparkle = dependency('Sparkle', method: 'extraframework') - - sparkle_defs = [ - '-DXQUARTZ_SPARKLE', - '-DXQUARTZ_SPARKLE_FEED_URL=@0@'.format(xquartz_sparkle_feed_url), - '-DXQUARTZ_SPARKLE_PUBLIC_EDKEY=@0@'.format(xquartz_sparkle_public_edkey), - ] -else - sparkle_defs = [] -endif - -# libxquartz -srcs_libxquartz = [ - 'NSUserDefaults+XQuartzDefaults.m', - 'X11Application.m', - 'X11Controller.m', - 'applewm.c', - 'darwin.c', - 'darwinEvents.c', - 'darwinXinput.c', - 'keysym2ucs.c', - 'quartz.c', - 'quartzKeyboard.c', - 'quartzStartup.c', - 'quartzRandR.c', - '../../mi/miinitext.c', - '../../mi/miinitext.h', -] - -libxquartz_defs = [ - '-DUSE_NEW_CLUT', - '-DXFree86Server', - '-DXQUARTZ', - '-DXQUARTZ_DATA_DIR="@0@"'.format(xquartz_data_dir), - '-DXSERVER_VERSION="@0@"'.format(meson.project_version()), - bundle_id_def, - sparkle_defs, -] - -if cc.has_function('dispatch_async') - libxquartz_defs += '-DHAVE_LIBDISPATCH' -endif - -libXquartz = static_library('Xquartz', - srcs_libxquartz, - c_args: libxquartz_defs, - objc_args: libxquartz_defs, - include_directories: [inc, '../../pseudoramiX', '../../miext/rootless', top_dir_inc], - dependencies: [xproto_dep, pixman_dep], - link_with: [libxserver_pseudoramix, libxserver_miext_rootless], -) - -subdir('bundle') -if build_glx - subdir('GL') -endif -subdir('pbproxy') -subdir('xpr') -subdir('mach-startup') - -# manpage -xquartz_man = configure_file( - input: 'man/Xquartz.man', - output: 'Xquartz.1', - configuration: manpage_config, -) -install_man(xquartz_man) - -install_data('defaults.plist', - install_dir: xquartz_data_dir, - install_mode: 'rw-r--r--') diff --git a/hw/xquartz/pbproxy/.gitignore b/hw/xquartz/pbproxy/.gitignore deleted file mode 100644 index 6684920ff..000000000 --- a/hw/xquartz/pbproxy/.gitignore +++ /dev/null @@ -1 +0,0 @@ -xpbproxy diff --git a/hw/xquartz/pbproxy/app-main.m b/hw/xquartz/pbproxy/app-main.m deleted file mode 100644 index 825980caf..000000000 --- a/hw/xquartz/pbproxy/app-main.m +++ /dev/null @@ -1,86 +0,0 @@ -/* app-main.m - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include "pbproxy.h" -#import "x-selection.h" - -/* Stubs */ -char *display = NULL; - -static void -signal_handler(int sig) -{ - switch (sig) { - case SIGHUP: - xpbproxy_prefs_reload = YES; - break; - - default: - _exit(EXIT_SUCCESS); - } -} - -void -ErrorF(const char * f, ...) -{ - va_list args; - - va_start(args, f); - vfprintf(stderr, f, args); - va_end(args); -} - -/* TODO: Have this actually log to ASL */ -void -xq_asl_log(int level, const char *subsystem, const char *file, - const char *function, int line, const char *fmt, - ...) -{ -#ifdef DEBUG - va_list args; - - va_start(args, fmt); - vfprintf(stderr, fmt, args); - va_end(args); -#endif -} - -int -main(int argc, const char *argv[]) -{ - xpbproxy_is_standalone = YES; - - signal(SIGINT, signal_handler); - signal(SIGTERM, signal_handler); - signal(SIGHUP, signal_handler); - signal(SIGPIPE, SIG_IGN); - - return xpbproxy_run(); -} diff --git a/hw/xquartz/pbproxy/main.m b/hw/xquartz/pbproxy/main.m deleted file mode 100644 index 92cde0437..000000000 --- a/hw/xquartz/pbproxy/main.m +++ /dev/null @@ -1,140 +0,0 @@ -/* main.m - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include "pbproxy.h" -#import "x-selection.h" - -#include -#include -#include - -Display *xpbproxy_dpy; -int xpbproxy_apple_wm_event_base, xpbproxy_apple_wm_error_base; -int xpbproxy_xfixes_event_base, xpbproxy_xfixes_error_base; -BOOL xpbproxy_have_xfixes; - -extern char *display; - -#ifdef STANDALONE_XPBPROXY -BOOL xpbproxy_is_standalone = NO; -#endif - -x_selection *_selection_object; - -static int -x_io_error_handler(Display *dpy) -{ - /* We lost our connection to the server. */ - - TRACE(); - - /* trigger the thread to restart? - * NO - this would be to a "deeper" problem, and restarts would just - * make things worse... - */ -#ifdef STANDALONE_XPBPROXY - if (xpbproxy_is_standalone) - exit(EXIT_FAILURE); -#endif - - /* Prevent _XIOError from calling exit() */ - pthread_exit(NULL); - return 0; -} - -static int -x_error_handler(Display *dpy, XErrorEvent *errevent) -{ - return 0; -} - -int -xpbproxy_run(void) -{ - @autoreleasepool { - size_t i; - - for (i = 0, xpbproxy_dpy = NULL; !xpbproxy_dpy && i < 5; i++) { - xpbproxy_dpy = XOpenDisplay(NULL); - - if (!xpbproxy_dpy && display) { - char _display[32]; - snprintf(_display, sizeof(_display), ":%s", display); - setenv("DISPLAY", _display, TRUE); - - xpbproxy_dpy = XOpenDisplay(_display); - } - if (!xpbproxy_dpy) - sleep(1); - } - - if (xpbproxy_dpy == NULL) { - ErrorF("xpbproxy: can't open default display\n"); - return EXIT_FAILURE; - } - - XSetIOErrorHandler(x_io_error_handler); - XSetErrorHandler(x_error_handler); - - if (!XAppleWMQueryExtension(xpbproxy_dpy, &xpbproxy_apple_wm_event_base, - &xpbproxy_apple_wm_error_base)) { - ErrorF("xpbproxy: can't open AppleWM server extension\n"); - return EXIT_FAILURE; - } - - xpbproxy_have_xfixes = XFixesQueryExtension(xpbproxy_dpy, &xpbproxy_xfixes_event_base, - &xpbproxy_xfixes_error_base); - - XAppleWMSelectInput(xpbproxy_dpy, AppleWMActivationNotifyMask | AppleWMPasteboardNotifyMask); - - _selection_object = [x_selection new]; - - if (!xpbproxy_input_register()) { - return EXIT_FAILURE; - } - } - - CFRunLoopRun(); - - return EXIT_SUCCESS; -} - -id -xpbproxy_selection_object(void) -{ - return _selection_object; -} - -Time -xpbproxy_current_timestamp(void) -{ - /* FIXME: may want to fetch a timestamp from the server.. */ - return CurrentTime; -} diff --git a/hw/xquartz/pbproxy/meson.build b/hw/xquartz/pbproxy/meson.build deleted file mode 100644 index 206cbdca3..000000000 --- a/hw/xquartz/pbproxy/meson.build +++ /dev/null @@ -1,34 +0,0 @@ -build_standalone_pbproxy = get_option('xpbproxy') - -pbproxy_defs = [ - '-DXQUARTZ_DATA_DIR="@0@"'.format(xquartz_data_dir), - bundle_id_def -] -if build_standalone_pbproxy - pbproxy_defs += ['-DSTANDALONE_XPBPROXY'] -endif - -libapplewm_dep = dependency('applewm', version: '>=1.4') - -libxpbproxy = static_library('xpbproxy', - ['../NSUserDefaults+XQuartzDefaults.m', - 'main.m', - 'x-input.m', - 'x-selection.m'], - include_directories: ['..'], - dependencies: [applewmproto_dep, libapplewm_dep, dependency('xfixes'), dependency('x11')], - objc_args: pbproxy_defs, -) - -cocoa = dependency('Cocoa', method: 'extraframework') - -# standalone xpbproxy -if build_standalone_pbproxy - executable('xpbproxy', - 'app-main.m', - link_with: libxpbproxy, - dependencies: [cocoa, dependency('x11')], - objc_args: pbproxy_defs, - install: true, - ) -endif diff --git a/hw/xquartz/pbproxy/pbproxy.h b/hw/xquartz/pbproxy/pbproxy.h deleted file mode 100644 index 482f95ea6..000000000 --- a/hw/xquartz/pbproxy/pbproxy.h +++ /dev/null @@ -1,99 +0,0 @@ -/* pbproxy.h - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef PBPROXY_H -#define PBPROXY_H 1 - -#import - -#include - -#define Cursor X_Cursor -#undef _SHAPE_H_ -#include -#include -#undef Cursor - -#ifdef STANDALONE_XPBPROXY -/* Just used for the standalone to respond to SIGHUP to reload prefs */ -extern BOOL xpbproxy_prefs_reload; - -/* Setting this to YES (for the standalone app) causes us to ignore the - * 'sync_pasteboard' defaults preference since we assume it to be on... this is - * mainly useful for debugging/developing xpbproxy with XQuartz still running. - * Just disable the one in the server with X11's preference pane, then run - * the standalone app. - */ -extern BOOL xpbproxy_is_standalone; -#endif - -/* from main.m */ -extern void -xpbproxy_set_is_active(BOOL state); -extern BOOL -xpbproxy_get_is_active(void); -extern id -xpbproxy_selection_object(void); -extern Time -xpbproxy_current_timestamp(void); -extern int -xpbproxy_run(void); - -extern Display *xpbproxy_dpy; -extern int xpbproxy_apple_wm_event_base, xpbproxy_apple_wm_error_base; -extern int xpbproxy_xfixes_event_base, xpbproxy_xfixes_error_base; -extern BOOL xpbproxy_have_xfixes; - -/* from x-input.m */ -extern BOOL -xpbproxy_input_register(void); - -/* os/log.c or app-main.m */ -extern void -ErrorF(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2); - -/* from darwin.h */ -_X_ATTRIBUTE_PRINTF(6, 7) -extern void -xq_asl_log(int level, const char *subsystem, const char *file, - const char *function, int line, const char *fmt, - ...); - -#define ASL_LOG(level, subsystem, msg, args ...) xq_asl_log(level, subsystem, \ - __FILE__, \ - __FUNCTION__, \ - __LINE__, msg, \ - ## args) -#define DebugF(msg, args ...) ASL_LOG(ASL_LEVEL_DEBUG, \ - "xpbproxy", msg, \ - ## args) -#define TRACE() DebugF("TRACE") - -#endif /* PBPROXY_H */ diff --git a/hw/xquartz/pbproxy/trick_autotools.c b/hw/xquartz/pbproxy/trick_autotools.c deleted file mode 100644 index 11aff526d..000000000 --- a/hw/xquartz/pbproxy/trick_autotools.c +++ /dev/null @@ -1,5 +0,0 @@ -int -this_is_just_here_to_make_automake_work() -{ - return 0; -} diff --git a/hw/xquartz/pbproxy/x-input.m b/hw/xquartz/pbproxy/x-input.m deleted file mode 100644 index 3be9ce407..000000000 --- a/hw/xquartz/pbproxy/x-input.m +++ /dev/null @@ -1,180 +0,0 @@ -/* x-input.m -- event handling - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#include "pbproxy.h" -#import "x-selection.h" - -#include -#include - -#include -#include -#include - -#include - -static CFRunLoopSourceRef xpbproxy_dpy_source; - -#ifdef STANDALONE_XPBPROXY -BOOL xpbproxy_prefs_reload = NO; -#endif - -/* Timestamp when the X server last told us it's active */ -static Time last_activation_time; - -static void -x_event_apple_wm_notify(XAppleWMNotifyEvent *e) -{ - int type = e->type - xpbproxy_apple_wm_event_base; - int kind = e->kind; - - /* We want to reload prefs even if we're not active */ - if (type == AppleWMActivationNotify && - kind == AppleWMReloadPreferences) - [xpbproxy_selection_object ()reload_preferences]; - - if (![xpbproxy_selection_object ()is_active]) - return; - - switch (type) { - case AppleWMActivationNotify: - switch (kind) { - case AppleWMIsActive: - last_activation_time = e->time; - [xpbproxy_selection_object () x_active:e->time]; - break; - - case AppleWMIsInactive: - [xpbproxy_selection_object () x_inactive:e->time]; - break; - } - break; - - case AppleWMPasteboardNotify: - switch (kind) { - case AppleWMCopyToPasteboard: - [xpbproxy_selection_object () x_copy:e->time]; - } - break; - } -} - -static void -xpbproxy_process_xevents(void) -{ - while (XPending(xpbproxy_dpy) != 0) { @autoreleasepool { - XEvent e; - - XNextEvent(xpbproxy_dpy, &e); - - switch (e.type) { - case SelectionClear: - if ([xpbproxy_selection_object ()is_active]) - [xpbproxy_selection_object () clear_event:&e.xselectionclear]; - break; - - case SelectionRequest: - [xpbproxy_selection_object () request_event:&e.xselectionrequest]; - break; - - case SelectionNotify: - [xpbproxy_selection_object () notify_event:&e.xselection]; - break; - - case PropertyNotify: - [xpbproxy_selection_object () property_event:&e.xproperty]; - break; - - default: - if (e.type >= xpbproxy_apple_wm_event_base && - e.type < xpbproxy_apple_wm_event_base + - AppleWMNumberEvents) { - x_event_apple_wm_notify((XAppleWMNotifyEvent *)&e); - } - else if (e.type == xpbproxy_xfixes_event_base + - XFixesSelectionNotify) { - [xpbproxy_selection_object () xfixes_selection_notify:( - XFixesSelectionNotifyEvent *)&e]; - } - break; - } - - XFlush(xpbproxy_dpy); - }} -} - -static BOOL -add_input_socket(int sock, CFOptionFlags callback_types, - CFSocketCallBack callback, const CFSocketContext *ctx, - CFRunLoopSourceRef *cf_source) -{ - CFSocketRef cf_sock; - - cf_sock = CFSocketCreateWithNative(kCFAllocatorDefault, sock, - callback_types, callback, ctx); - if (cf_sock == NULL) { - close(sock); - return FALSE; - } - - *cf_source = CFSocketCreateRunLoopSource(kCFAllocatorDefault, - cf_sock, 0); - CFRelease(cf_sock); - - if (*cf_source == NULL) - return FALSE; - - CFRunLoopAddSource(CFRunLoopGetCurrent(), - *cf_source, kCFRunLoopDefaultMode); - return TRUE; -} - -static void -x_input_callback(CFSocketRef sock, CFSocketCallBackType type, - CFDataRef address, const void *data, void *info) -{ - -#ifdef STANDALONE_XPBPROXY - if (xpbproxy_prefs_reload) { - [xpbproxy_selection_object ()reload_preferences]; - xpbproxy_prefs_reload = NO; - } -#endif - - xpbproxy_process_xevents(); -} - -BOOL -xpbproxy_input_register(void) -{ - return add_input_socket(ConnectionNumber( - xpbproxy_dpy), kCFSocketReadCallBack, - x_input_callback, NULL, &xpbproxy_dpy_source); -} diff --git a/hw/xquartz/pbproxy/x-selection.h b/hw/xquartz/pbproxy/x-selection.h deleted file mode 100644 index 38967dc45..000000000 --- a/hw/xquartz/pbproxy/x-selection.h +++ /dev/null @@ -1,111 +0,0 @@ -/* x-selection.h -- proxies between NSPasteboard and X11 selections - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef X_SELECTION_H -#define X_SELECTION_H 1 - -#include "pbproxy.h" - -#define Cursor X_Cursor -#include -#undef Cursor - -#include - -/* This stores image data or text. */ -struct propdata { - unsigned char *data; - size_t length; - int format; -}; - -struct atom_list { - Atom primary, clipboard, text, utf8_string, string, targets, multiple, - cstring, image_png, image_jpeg, incr, atom, clipboard_manager, - compound_text, atom_pair; -}; - -@interface x_selection : NSObject -{ - @private - - /* The unmapped window we use for fetching selections. */ - Window _selection_window; - - Atom request_atom; - - struct { - struct propdata propdata; - Window requestor; - Atom selection; - } pending; - - /* - * This is the number of times the user has requested a copy. - * Once the copy is completed, we --pending_copy, and if the - * pending_copy is > 0 we do it again. - */ - int pending_copy; - /* - * This is used for the same purpose as pending_copy, but for the - * CLIPBOARD. It also prevents a race with INCR transfers. - */ - int pending_clipboard; - - struct atom_list atoms[1]; -} - -- (void)x_active:(Time)timestamp; -- (void)x_inactive:(Time)timestamp; - -- (void)x_copy:(Time)timestamp; - -- (void)clear_event:(XSelectionClearEvent *)e; -- (void)request_event:(XSelectionRequestEvent *)e; -- (void)notify_event:(XSelectionEvent *)e; -- (void)property_event:(XPropertyEvent *)e; -- (void)xfixes_selection_notify:(XFixesSelectionNotifyEvent *)e; -- (void)handle_selection:(Atom) selection type:(Atom) type propdata:(struct - propdata - *)pdata; -- (void)claim_clipboard; -- (BOOL)set_clipboard_manager_status:(BOOL)value; -- (void)own_clipboard; -- (void)copy_completed:(Atom)selection; - -- (void)reload_preferences; -- (BOOL)is_active; -- (void)send_none:(XSelectionRequestEvent *)e; -@end - -/* main.m */ -extern x_selection * _selection_object; - -#endif /* X_SELECTION_H */ diff --git a/hw/xquartz/pbproxy/x-selection.m b/hw/xquartz/pbproxy/x-selection.m deleted file mode 100644 index f4f2b9a6b..000000000 --- a/hw/xquartz/pbproxy/x-selection.m +++ /dev/null @@ -1,1510 +0,0 @@ -/* x-selection.m -- proxies between NSPasteboard and X11 selections - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#import "x-selection.h" - -#include -#include -#include -#include -#import -#import -#import - -#import "NSUserDefaults+XQuartzDefaults.h" - -/* - * The basic design of the pbproxy code is as follows. - * - * When a client selects text, say from an xterm - we only copy it when the - * X11 Edit->Copy menu item is pressed or the shortcut activated. In this - * case we take the PRIMARY selection, and set it as the NSPasteboard data. - * - * When an X11 client copies something to the CLIPBOARD, pbproxy greedily grabs - * the data, sets it as the NSPasteboard data, and finally sets itself as - * owner of the CLIPBOARD. - * - * When an X11 window is activated we check to see if the NSPasteboard has - * changed. If the NSPasteboard has changed, then we set pbproxy as owner - * of the PRIMARY and CLIPBOARD and respond to requests for text and images. - * - * The behavior is now dynamic since the information above was written. - * The behavior is now dependent on the pbproxy_prefs below. - */ - -/* - * TODO: - * 1. handle MULTIPLE - I need to study the ICCCM further, and find a test app. - * 2. Handle NSPasteboard updates immediately, not on active/inactive - * - Open xterm, run 'cat readme.txt | pbcopy' - */ - -static struct { - BOOL active; - BOOL primary_on_grab; /* This is provided as an option for people who - * want it and has issues that won't ever be - * addressed to make it *always* work. - */ - BOOL clipboard_to_pasteboard; - BOOL pasteboard_to_primary; - BOOL pasteboard_to_clipboard; -} pbproxy_prefs = { YES, NO, YES, YES, YES }; - -@implementation x_selection - -static struct propdata null_propdata = { - NULL, 0, 0 -}; - -#ifdef DEBUG -static void -dump_prefs() -{ - ErrorF("pbproxy preferences:\n" - "\tactive %u\n" - "\tprimary_on_grab %u\n" - "\tclipboard_to_pasteboard %u\n" - "\tpasteboard_to_primary %u\n" - "\tpasteboard_to_clipboard %u\n", - pbproxy_prefs.active, - pbproxy_prefs.primary_on_grab, - pbproxy_prefs.clipboard_to_pasteboard, - pbproxy_prefs.pasteboard_to_primary, - pbproxy_prefs.pasteboard_to_clipboard); -} -#endif - -static void -init_propdata(struct propdata *pdata) -{ - *pdata = null_propdata; -} - -static void -free_propdata(struct propdata *pdata) -{ - free(pdata->data); - *pdata = null_propdata; -} - -/* - * Return True if an error occurs. Return False if pdata has data - * and we finished. - * The property is only deleted when bytesleft is 0 if delete is True. - */ -static Bool -get_property(Window win, Atom property, struct propdata *pdata, Bool delete, - Atom *type) -{ - long offset = 0; - unsigned long numitems, bytesleft = 0; -#ifdef TEST - /* This is used to test the growth handling. */ - unsigned long length = 4UL; -#else - unsigned long length = (100000UL + 3) / 4; -#endif - unsigned char *buf = NULL, *chunk = NULL; - size_t buflen = 0, chunkbytesize = 0; - int format; - - TRACE(); - - if (None == property) - return True; - - do { - unsigned long newbuflen = 0; - unsigned char *newbuf = NULL; - -#ifdef TEST - ErrorF("bytesleft %lu\n", bytesleft); -#endif - - if (Success != XGetWindowProperty(xpbproxy_dpy, win, property, - offset, length, delete, - AnyPropertyType, - type, &format, &numitems, - &bytesleft, &chunk)) { - DebugF("Error while getting window property.\n"); - *pdata = null_propdata; - free(buf); - return True; - } - -#ifdef TEST - ErrorF("format %d numitems %lu bytesleft %lu\n", - format, numitems, bytesleft); - - ErrorF("type %s\n", XGetAtomName(xpbproxy_dpy, *type)); -#endif - - /* Format is the number of bits. */ - if (format == 8) - chunkbytesize = numitems; - else if (format == 16) - chunkbytesize = numitems * sizeof(short); - else if (format == 32) - chunkbytesize = numitems * sizeof(long); - -#ifdef TEST - ErrorF("chunkbytesize %zu\n", chunkbytesize); -#endif - newbuflen = buflen + chunkbytesize; - if (newbuflen > 0) { - newbuf = realloc(buf, newbuflen); - - if (NULL == newbuf) { - XFree(chunk); - free(buf); - return True; - } - - memcpy(newbuf + buflen, chunk, chunkbytesize); - XFree(chunk); - buf = newbuf; - buflen = newbuflen; - /* offset is a multiple of 32 bits*/ - offset += chunkbytesize / 4; - } - else { - if (chunk) - XFree(chunk); - } - -#ifdef TEST - ErrorF("bytesleft %lu\n", bytesleft); -#endif - } while (bytesleft > 0); - - pdata->data = buf; - pdata->length = buflen; - pdata->format = format; - - return /*success*/ False; -} - -/* Implementation methods */ - -/* This finds the preferred type from a TARGETS list.*/ -- (Atom) find_preferred:(struct propdata *)pdata -{ - Atom a = None; - size_t i, step; - Bool png = False, jpeg = False, utf8 = False, string = False; - - TRACE(); - - if (pdata->format != 32) { - ErrorF( - "Atom list is expected to be formatted as an array of 32bit values.\n"); - return None; - } - - for (i = 0, step = sizeof(long); i < pdata->length; i += step) { - a = (Atom) * (long *)(pdata->data + i); - - if (a == atoms->image_png) { - png = True; - } - else if (a == atoms->image_jpeg) { - jpeg = True; - } - else if (a == atoms->utf8_string) { - utf8 = True; - } - else if (a == atoms->string) { - string = True; - } - else { - char *type = XGetAtomName(xpbproxy_dpy, a); - if (type) { - DebugF("Unhandled X11 mime type: %s", type); - XFree(type); - } - } - } - - /*We prefer PNG over strings, and UTF8 over a Latin-1 string.*/ - if (png) - return atoms->image_png; - - if (jpeg) - return atoms->image_jpeg; - - if (utf8) - return atoms->utf8_string; - - if (string) - return atoms->string; - - /* This is evidently something we don't know how to handle.*/ - return None; -} - -/* Return True if this is an INCR-style transfer. */ -- (Bool) is_incr_type:(XSelectionEvent *)e -{ - Atom seltype; - int format; - unsigned long numitems = 0UL, bytesleft = 0UL; - unsigned char *chunk; - - TRACE(); - - if (Success != XGetWindowProperty(xpbproxy_dpy, e->requestor, e->property, - /*offset*/ 0L, /*length*/ 4UL, - /*Delete*/ False, - AnyPropertyType, &seltype, &format, - &numitems, &bytesleft, &chunk)) { - return False; - } - - if (chunk) - XFree(chunk); - - return (seltype == atoms->incr) ? True : False; -} - -/* - * This should be called after a selection has been copied, - * or when the selection is unfinished before a transfer completes. - */ -- (void) release_pending -{ - TRACE(); - - free_propdata(&pending.propdata); - pending.requestor = None; - pending.selection = None; -} - -/* Return True if an error occurs during an append.*/ -/* Return False if the append succeeds. */ -- (Bool) append_to_pending:(struct propdata *)pdata requestor:(Window) - requestor -{ - unsigned char *newdata; - size_t newlength; - - TRACE(); - - if (requestor != pending.requestor) { - [self release_pending]; - pending.requestor = requestor; - } - - newlength = pending.propdata.length + pdata->length; - newdata = realloc(pending.propdata.data, newlength); - - if (NULL == newdata) { - perror("realloc propdata"); - [self release_pending]; - return True; - } - - memcpy(newdata + pending.propdata.length, pdata->data, pdata->length); - pending.propdata.data = newdata; - pending.propdata.length = newlength; - - return False; -} - -/* Called when X11 becomes active (i.e. has key focus) */ -- (void) x_active:(Time)timestamp -{ - static NSInteger changeCount; - NSInteger countNow; - NSPasteboard *pb; - - TRACE(); - - pb = [NSPasteboard generalPasteboard]; - - if (nil == pb) - return; - - countNow = [pb changeCount]; - - if (countNow != changeCount) { - DebugF("changed pasteboard!\n"); - changeCount = countNow; - - if (pbproxy_prefs.pasteboard_to_primary) { - XSetSelectionOwner(xpbproxy_dpy, atoms->primary, - _selection_window, - CurrentTime); - } - - if (pbproxy_prefs.pasteboard_to_clipboard) { - [self own_clipboard]; - } - } - -#if 0 - /*gstaplin: we should perhaps investigate something like this branch above...*/ - if ([_pasteboard availableTypeFromArray: _known_types] != nil) { - /* Pasteboard has data we should proxy; I think it makes - sense to put it on both CLIPBOARD and PRIMARY */ - - XSetSelectionOwner(xpbproxy_dpy, atoms->clipboard, - _selection_window, timestamp); - XSetSelectionOwner(xpbproxy_dpy, atoms->primary, - _selection_window, timestamp); - } -#endif -} - -/* Called when X11 loses key focus */ -- (void) x_inactive:(Time)timestamp -{ - TRACE(); -} - -/* This requests the TARGETS list from the PRIMARY selection owner. */ -- (void) x_copy_request_targets -{ - TRACE(); - - request_atom = atoms->targets; - XConvertSelection(xpbproxy_dpy, atoms->primary, atoms->targets, - atoms->primary, _selection_window, CurrentTime); -} - -/* Called when the Edit/Copy item on the main X11 menubar is selected - * and no appkit window claims it. */ -- (void) x_copy:(Time)timestamp -{ - Window w; - - TRACE(); - - w = XGetSelectionOwner(xpbproxy_dpy, atoms->primary); - - if (None != w) { - ++pending_copy; - - if (1 == pending_copy) { - /* - * There are no other copy operations in progress, so we - * can proceed safely. Otherwise the copy_completed method - * will see that the pending_copy is > 1, and do another copy. - */ - [self x_copy_request_targets]; - } - } -} - -/* Set pbproxy as owner of the SELECTION_MANAGER selection. - * This prevents tools like xclipboard from causing havoc. - * Returns TRUE on success - */ -- (BOOL) set_clipboard_manager_status:(BOOL)value -{ - TRACE(); - - Window owner = XGetSelectionOwner(xpbproxy_dpy, atoms->clipboard_manager); - - if (value) { - if (owner == _selection_window) - return TRUE; - - if (owner != None) { - ErrorF( - "A clipboard manager using window 0x%lx already owns the clipboard selection. " - "pbproxy will not sync clipboard to pasteboard.\n", owner); - return FALSE; - } - - XSetSelectionOwner(xpbproxy_dpy, atoms->clipboard_manager, - _selection_window, - CurrentTime); - return (_selection_window == - XGetSelectionOwner(xpbproxy_dpy, atoms->clipboard_manager)); - } - else { - if (owner != _selection_window) - return TRUE; - - XSetSelectionOwner(xpbproxy_dpy, atoms->clipboard_manager, None, - CurrentTime); - return (None == - XGetSelectionOwner(xpbproxy_dpy, atoms->clipboard_manager)); - } - - return FALSE; -} - -/* - * This occurs when we previously owned a selection, - * and then lost it from another client. - */ -- (void) clear_event:(XSelectionClearEvent *)e -{ - - TRACE(); - - DebugF("e->selection %s\n", XGetAtomName(xpbproxy_dpy, e->selection)); - - if (e->selection == atoms->clipboard) { - /* - * We lost ownership of the CLIPBOARD. - */ - ++pending_clipboard; - - if (1 == pending_clipboard) { - /* Claim the clipboard contents from the new owner. */ - [self claim_clipboard]; - } - } - else if (e->selection == atoms->clipboard_manager) { - if (pbproxy_prefs.clipboard_to_pasteboard) { - /* Another CLIPBOARD_MANAGER has set itself as owner. Disable syncing - * to avoid a race. - */ - ErrorF("Another clipboard manager was started! " - "xpbproxy is disabling syncing with clipboard.\n"); - pbproxy_prefs.clipboard_to_pasteboard = NO; - } - } -} - -/* - * We greedily acquire the clipboard after it changes, and on startup. - */ -- (void) claim_clipboard -{ - Window owner; - - TRACE(); - - if (!pbproxy_prefs.clipboard_to_pasteboard) - return; - - owner = XGetSelectionOwner(xpbproxy_dpy, atoms->clipboard); - if (None == owner) { - /* - * The owner probably died or we are just starting up pbproxy. - * Set pbproxy's _selection_window as the owner, and continue. - */ - DebugF("No clipboard owner.\n"); - [self copy_completed:atoms->clipboard]; - return; - } - else if (owner == _selection_window) { - [self copy_completed:atoms->clipboard]; - return; - } - - DebugF("requesting targets\n"); - - request_atom = atoms->targets; - XConvertSelection(xpbproxy_dpy, atoms->clipboard, atoms->targets, - atoms->clipboard, _selection_window, CurrentTime); - XFlush(xpbproxy_dpy); - /* Now we will get a SelectionNotify event in the future. */ -} - -/* Greedily acquire the clipboard. */ -- (void) own_clipboard -{ - - TRACE(); - - /* We should perhaps have a boundary limit on the number of iterations... */ - do { - XSetSelectionOwner(xpbproxy_dpy, atoms->clipboard, _selection_window, - CurrentTime); - } while (_selection_window != XGetSelectionOwner(xpbproxy_dpy, - atoms->clipboard)); -} - -- (void) init_reply:(XEvent *)reply request:(XSelectionRequestEvent *)e -{ - reply->xselection.type = SelectionNotify; - reply->xselection.selection = e->selection; - reply->xselection.target = e->target; - reply->xselection.requestor = e->requestor; - reply->xselection.time = e->time; - reply->xselection.property = None; -} - -- (void) send_reply:(XEvent *)reply -{ - /* - * We are supposed to use an empty event mask, and not propagate - * the event, according to the ICCCM. - */ - DebugF("reply->xselection.requestor 0x%lx\n", reply->xselection.requestor); - - XSendEvent(xpbproxy_dpy, reply->xselection.requestor, False, 0, reply); - XFlush(xpbproxy_dpy); -} - -/* - * This responds to a TARGETS request. - * The result is a list of a ATOMs that correspond to the types available - * for a selection. - * For instance an application might provide a UTF8_STRING and a STRING - * (in Latin-1 encoding). The requestor can then make the choice based on - * the list. - */ -- (void) send_targets:(XSelectionRequestEvent *)e pasteboard:(NSPasteboard *) - pb -{ - XEvent reply; - NSArray *pbtypes; - - [self init_reply:&reply request:e]; - - pbtypes = [pb types]; - if (pbtypes) { - long list[7]; /* Don't forget to increase this if we handle more types! */ - long count = 0; - - /* - * I'm not sure if this is needed, but some toolkits/clients list - * TARGETS in response to targets. - */ - list[count] = atoms->targets; - ++count; - - if ([pbtypes containsObject:NSStringPboardType]) { - /* We have a string type that we can convert to UTF8, or Latin-1... */ - DebugF("NSStringPboardType\n"); - list[count] = atoms->utf8_string; - ++count; - list[count] = atoms->string; - ++count; - list[count] = atoms->compound_text; - ++count; - } - - /* TODO add the NSPICTPboardType back again, once we have conversion - * functionality in send_image. - */ -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" // NSPICTPboardType -#endif - - if ([pbtypes containsObject:NSPICTPboardType] - || [pbtypes containsObject:NSTIFFPboardType]) { - /* We can convert a TIFF to a PNG or JPEG. */ - DebugF("NSTIFFPboardType\n"); - list[count] = atoms->image_png; - ++count; - list[count] = atoms->image_jpeg; - ++count; - } - -#ifdef __clang__ -#pragma clang diagnostic pop -#endif - - if (count) { - /* We have a list of ATOMs to send. */ - XChangeProperty(xpbproxy_dpy, e->requestor, e->property, - atoms->atom, 32, - PropModeReplace, (unsigned char *)list, - count); - - reply.xselection.property = e->property; - } - } - - [self send_reply:&reply]; -} - -- (void) send_string:(XSelectionRequestEvent *)e utf8:(BOOL)utf8 pasteboard:( - NSPasteboard *)pb -{ - XEvent reply; - NSArray *pbtypes; - NSString *data; - const char *bytes; - NSUInteger length; - - TRACE(); - - [self init_reply:&reply request:e]; - - pbtypes = [pb types]; - - if (![pbtypes containsObject:NSStringPboardType]) { - [self send_reply:&reply]; - return; - } - - DebugF("pbtypes retainCount after containsObject: %lu\n", - [pbtypes retainCount]); - - data = [pb stringForType:NSStringPboardType]; - - if (nil == data) { - [self send_reply:&reply]; - return; - } - - if (utf8) { - bytes = [data UTF8String]; - /* - * We don't want the UTF-8 string length here. - * We want the length in bytes. - */ - length = strlen(bytes); - - if (length < 50) { - DebugF("UTF-8: %s\n", bytes); - DebugF("UTF-8 length: %lu\n", length); - } - } - else { - DebugF("Latin-1\n"); - bytes = [data cStringUsingEncoding:NSISOLatin1StringEncoding]; - /*WARNING: bytes is not NUL-terminated. */ - length = [data lengthOfBytesUsingEncoding:NSISOLatin1StringEncoding]; - } - - DebugF("e->target %s\n", XGetAtomName(xpbproxy_dpy, e->target)); - - XChangeProperty(xpbproxy_dpy, e->requestor, e->property, e->target, - 8, PropModeReplace, (unsigned char *)bytes, length); - - reply.xselection.property = e->property; - - [self send_reply:&reply]; -} - -- (void) send_compound_text:(XSelectionRequestEvent *)e pasteboard:( - NSPasteboard *)pb -{ - XEvent reply; - NSArray *pbtypes; - - TRACE(); - - [self init_reply:&reply request:e]; - - pbtypes = [pb types]; - - if ([pbtypes containsObject: NSStringPboardType]) { - NSString *data = [pb stringForType:NSStringPboardType]; - if (nil != data) { - /* - * Cast to (void *) to avoid a const warning. - * AFAIK Xutf8TextListToTextProperty does not modify the input memory. - */ - void *utf8 = (void *)[data UTF8String]; - char *list[] = { utf8, NULL }; - XTextProperty textprop; - - textprop.value = NULL; - - if (Success == Xutf8TextListToTextProperty(xpbproxy_dpy, list, 1, - XCompoundTextStyle, - &textprop)) { - - if (8 != textprop.format) - DebugF( - "textprop.format is unexpectedly not 8 - it's %d instead\n", - textprop.format); - - XChangeProperty(xpbproxy_dpy, e->requestor, e->property, - atoms->compound_text, textprop.format, - PropModeReplace, textprop.value, - textprop.nitems); - - reply.xselection.property = e->property; - } - - if (textprop.value) - XFree(textprop.value); - - } - } - - [self send_reply:&reply]; -} - -/* Finding a test application that uses MULTIPLE has proven to be difficult. */ -- (void) send_multiple:(XSelectionRequestEvent *)e -{ - XEvent reply; - - TRACE(); - - [self init_reply:&reply request:e]; - - if (None != e->property) {} - - [self send_reply:&reply]; -} - -/* Return nil if an error occurred. */ -/* DO NOT retain the encdata for longer than the length of an event response. - * The autorelease pool will reuse/free it. - */ -- (NSData *) encode_image_data:(NSData *)data type:(NSBitmapImageFileType) - enctype -{ - NSBitmapImageRep *bmimage = nil; - NSData *encdata = nil; - NSDictionary *dict = nil; - - bmimage = [[NSBitmapImageRep alloc] initWithData:data]; - - if (nil == bmimage) - return nil; - - dict = [[NSDictionary alloc] init]; - encdata = [bmimage representationUsingType:enctype properties:dict]; - - if (nil == encdata) { - [dict autorelease]; - [bmimage autorelease]; - return nil; - } - - [dict autorelease]; - [bmimage autorelease]; - - return encdata; -} - -/* Return YES when an error has occurred when trying to send the PICT. */ -/* The caller should send a default response with a property of None when an error occurs. */ -- (BOOL) send_image_pict_reply:(XSelectionRequestEvent *)e - pasteboard:(NSPasteboard *)pb - type:(NSBitmapImageFileType)imagetype -{ - XEvent reply; - NSImage *img = nil; - NSData *data = nil, *encdata = nil; - NSUInteger length; - const void *bytes = NULL; - - img = [[NSImage alloc] initWithPasteboard:pb]; - - if (nil == img) { - return YES; - } - - data = [img TIFFRepresentation]; - - if (nil == data) { - [img autorelease]; - ErrorF("unable to convert PICT to TIFF!\n"); - return YES; - } - - encdata = [self encode_image_data:data type:imagetype]; - if (nil == encdata) { - [img autorelease]; - return YES; - } - - [self init_reply:&reply request:e]; - - length = [encdata length]; - bytes = [encdata bytes]; - - XChangeProperty(xpbproxy_dpy, e->requestor, e->property, e->target, - 8, PropModeReplace, bytes, length); - reply.xselection.property = e->property; - - [self send_reply:&reply]; - - [img autorelease]; - - return NO; /*no error*/ -} - -/* Return YES if an error occurred. */ -/* The caller should send a reply with a property of None when an error occurs. */ -- (BOOL) send_image_tiff_reply:(XSelectionRequestEvent *)e - pasteboard:(NSPasteboard *)pb - type:(NSBitmapImageFileType)imagetype -{ - XEvent reply; - NSData *data = nil; - NSData *encdata = nil; - NSUInteger length; - const void *bytes = NULL; - - data = [pb dataForType:NSTIFFPboardType]; - - if (nil == data) - return YES; - - encdata = [self encode_image_data:data type:imagetype]; - - if (nil == encdata) - return YES; - - [self init_reply:&reply request:e]; - - length = [encdata length]; - bytes = [encdata bytes]; - - XChangeProperty(xpbproxy_dpy, e->requestor, e->property, e->target, - 8, PropModeReplace, bytes, length); - reply.xselection.property = e->property; - - [self send_reply:&reply]; - - return NO; /*no error*/ -} - -- (void) send_image:(XSelectionRequestEvent *)e pasteboard:(NSPasteboard *)pb -{ - NSArray *pbtypes = nil; - NSBitmapImageFileType imagetype = NSPNGFileType; - - TRACE(); - - if (e->target == atoms->image_png) - imagetype = NSPNGFileType; - else if (e->target == atoms->image_jpeg) - imagetype = NSJPEGFileType; - else { - ErrorF( - "internal failure in xpbproxy! imagetype being sent isn't PNG or JPEG.\n"); - } - - pbtypes = [pb types]; - - if (pbtypes) { - if ([pbtypes containsObject:NSTIFFPboardType]) { - if (NO == - [self send_image_tiff_reply:e pasteboard:pb type:imagetype]) - return; - } -#ifdef __clang__ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" // NSPICTPboardType -#endif - else if ([pbtypes containsObject:NSPICTPboardType]) -#ifdef __clang__ -#pragma clang diagnostic pop -#endif - { - if (NO == - [self send_image_pict_reply:e pasteboard:pb type:imagetype]) - return; - - /* Fall through intentionally to the send_none: */ - } - } - - [self send_none:e]; -} - -- (void)send_none:(XSelectionRequestEvent *)e -{ - XEvent reply; - - TRACE(); - - [self init_reply:&reply request:e]; - [self send_reply:&reply]; -} - -/* Another client requested the data or targets of data available from the clipboard. */ -- (void)request_event:(XSelectionRequestEvent *)e -{ - NSPasteboard *pb; - - TRACE(); - - /* TODO We should also keep track of the time of the selection, and - * according to the ICCCM "refuse the request" if the event timestamp - * is before we owned it. - * What should we base the time on? How can we get the current time just - * before an XSetSelectionOwner? Is it the server's time, or the clients? - * According to the XSelectionRequestEvent manual page, the Time value - * may be set to CurrentTime or a time, so that makes it a bit different. - * Perhaps we should just punt and ignore races. - */ - - /*TODO we need a COMPOUND_TEXT test app*/ - /*TODO we need a MULTIPLE test app*/ - - pb = [NSPasteboard generalPasteboard]; - if (nil == pb) { - [self send_none:e]; - return; - } - - if (None != e->target) - DebugF("e->target %s\n", XGetAtomName(xpbproxy_dpy, e->target)); - - if (e->target == atoms->targets) { - /* The paste requestor wants to know what TARGETS we support. */ - [self send_targets:e pasteboard:pb]; - } - else if (e->target == atoms->multiple) { - /* - * This isn't finished, and may never be, unless I can find - * a good test app. - */ - [self send_multiple:e]; - } - else if (e->target == atoms->utf8_string) { - [self send_string:e utf8:YES pasteboard:pb]; - } - else if (e->target == atoms->string) { - [self send_string:e utf8:NO pasteboard:pb]; - } - else if (e->target == atoms->compound_text) { - [self send_compound_text:e pasteboard:pb]; - } - else if (e->target == atoms->multiple) { - [self send_multiple:e]; - } - else if (e->target == atoms->image_png || e->target == - atoms->image_jpeg) { - [self send_image:e pasteboard:pb]; - } - else { - [self send_none:e]; - } -} - -/* This handles the events resulting from an XConvertSelection request. */ -- (void) notify_event:(XSelectionEvent *)e -{ - Atom type; - struct propdata pdata; - - TRACE(); - - [self release_pending]; - - if (None == e->property) { - DebugF("e->property is None.\n"); - [self copy_completed:e->selection]; - /* Nothing is selected. */ - return; - } - -#if 0 - ErrorF("e->selection %s\n", XGetAtomName(xpbproxy_dpy, e->selection)); - ErrorF("e->property %s\n", XGetAtomName(xpbproxy_dpy, e->property)); -#endif - - if ([self is_incr_type:e]) { - /* - * This is an INCR-style transfer, which means that we - * will get the data after a series of PropertyNotify events. - */ - DebugF("is INCR\n"); - - if (get_property(e->requestor, e->property, &pdata, /*Delete*/ True, - &type)) { - /* - * An error occurred, so we should invoke the copy_completed:, but - * not handle_selection:type:propdata: - */ - [self copy_completed:e->selection]; - return; - } - - free_propdata(&pdata); - - pending.requestor = e->requestor; - pending.selection = e->selection; - - DebugF("set pending.requestor to 0x%lx\n", pending.requestor); - } - else { - if (get_property(e->requestor, e->property, &pdata, /*Delete*/ True, - &type)) { - [self copy_completed:e->selection]; - return; - } - - /* We have the complete selection data.*/ - [self handle_selection:e->selection type:type propdata:&pdata]; - - DebugF("handled selection with the first notify_event\n"); - } -} - -/* This is used for INCR transfers. See the ICCCM for the details. */ -/* This is used to retrieve PRIMARY and CLIPBOARD selections. */ -- (void) property_event:(XPropertyEvent *)e -{ - struct propdata pdata; - Atom type; - - TRACE(); - - if (None != e->atom) { -#ifdef DEBUG - char *name = XGetAtomName(xpbproxy_dpy, e->atom); - - if (name) { - DebugF("e->atom %s\n", name); - XFree(name); - } -#endif - } - - if (None != pending.requestor && PropertyNewValue == e->state) { - DebugF("pending.requestor 0x%lx\n", pending.requestor); - - if (get_property(e->window, e->atom, &pdata, /*Delete*/ True, - &type)) { - [self copy_completed:pending.selection]; - [self release_pending]; - return; - } - - if (0 == pdata.length) { - /* - * We completed the transfer. - * handle_selection will call copy_completed: for us. - */ - [self handle_selection:pending.selection type:type propdata:& - pending.propdata]; - free_propdata(&pdata); - pending.propdata = null_propdata; - pending.requestor = None; - pending.selection = None; - } - else { - [self append_to_pending:&pdata requestor:e->window]; - free_propdata(&pdata); - } - } -} - -- (void) xfixes_selection_notify:(XFixesSelectionNotifyEvent *)e -{ - if (!pbproxy_prefs.active) - return; - - switch (e->subtype) { - case XFixesSetSelectionOwnerNotify: - if (e->selection == atoms->primary && pbproxy_prefs.primary_on_grab) - [self x_copy:e->timestamp]; - break; - - case XFixesSelectionWindowDestroyNotify: - case XFixesSelectionClientCloseNotify: - default: - ErrorF("Unhandled XFixesSelectionNotifyEvent: subtype=%d\n", - e->subtype); - break; - } -} - -- (void) handle_targets: (Atom)selection propdata:(struct propdata *)pdata -{ - /* Find a type we can handle and prefer from the list of ATOMs. */ - Atom preferred; - char *name; - - TRACE(); - - preferred = [self find_preferred:pdata]; - - if (None == preferred) { - /* - * This isn't required by the ICCCM, but some apps apparently - * don't respond to TARGETS properly. - */ - preferred = atoms->string; - } - - (void)name; /* Avoid a warning with non-debug compiles. */ -#ifdef DEBUG - name = XGetAtomName(xpbproxy_dpy, preferred); - - if (name) { - DebugF("requesting %s\n", name); - } -#endif - request_atom = preferred; - XConvertSelection(xpbproxy_dpy, selection, preferred, selection, - _selection_window, CurrentTime); -} - -/* This handles the image type of selection (typically in CLIPBOARD). */ -/* We convert to a TIFF, so that other applications can paste more easily. */ -- (void) handle_image: (struct propdata *)pdata pasteboard:(NSPasteboard *)pb -{ - NSArray *pbtypes; - NSUInteger length; - NSData *data, *tiff; - NSBitmapImageRep *bmimage; - - TRACE(); - - length = pdata->length; - data = [[NSData alloc] initWithBytes:pdata->data length:length]; - - if (nil == data) { - DebugF("unable to create NSData object!\n"); - return; - } - - DebugF("data retainCount before NSBitmapImageRep initWithData: %lu\n", - [data retainCount]); - - bmimage = [[NSBitmapImageRep alloc] initWithData:data]; - - if (nil == bmimage) { - [data autorelease]; - DebugF("unable to create NSBitmapImageRep!\n"); - return; - } - - DebugF("data retainCount after NSBitmapImageRep initWithData: %lu\n", - [data retainCount]); - - @try - { - tiff = [bmimage TIFFRepresentation]; - } - - @catch (NSException *e) - { - DebugF("NSTIFFException!\n"); - [data autorelease]; - [bmimage autorelease]; - return; - } - - DebugF("bmimage retainCount after TIFFRepresentation %lu\n", - [bmimage retainCount]); - - pbtypes = [NSArray arrayWithObjects:NSTIFFPboardType, nil]; - - if (nil == pbtypes) { - [data autorelease]; - [bmimage autorelease]; - return; - } - - [pb declareTypes:pbtypes owner:nil]; - if (YES != [pb setData:tiff forType:NSTIFFPboardType]) { - DebugF("writing pasteboard data failed!\n"); - } - - [data autorelease]; - - DebugF("bmimage retainCount before release %lu\n", [bmimage retainCount]); - - [bmimage autorelease]; -} - -/* This handles the UTF8_STRING type of selection. */ -- (void) handle_utf8_string:(struct propdata *)pdata pasteboard:(NSPasteboard - *)pb -{ - NSString *string; - NSArray *pbtypes; - - TRACE(); - - string = - [[NSString alloc] initWithBytes:pdata->data length:pdata->length - encoding: - NSUTF8StringEncoding]; - - if (nil == string) - return; - - pbtypes = [NSArray arrayWithObjects:NSStringPboardType, nil]; - - if (nil == pbtypes) { - [string autorelease]; - return; - } - - [pb declareTypes:pbtypes owner:nil]; - - if (YES != [pb setString:string forType:NSStringPboardType]) { - ErrorF("pasteboard setString:forType: failed!\n"); - } - [string autorelease]; - DebugF("done handling utf8 string\n"); -} - -/* This handles the STRING type, which should be in Latin-1. */ -- (void) handle_string: (struct propdata *)pdata pasteboard:(NSPasteboard *) - pb -{ - NSString *string; - NSArray *pbtypes; - - TRACE(); - - string = - [[NSString alloc] initWithBytes:pdata->data length:pdata->length - encoding: - NSISOLatin1StringEncoding]; - - if (nil == string) - return; - - pbtypes = [NSArray arrayWithObjects:NSStringPboardType, nil]; - - if (nil == pbtypes) { - [string autorelease]; - return; - } - - [pb declareTypes:pbtypes owner:nil]; - if (YES != [pb setString:string forType:NSStringPboardType]) { - ErrorF("pasteboard setString:forType failed in handle_string!\n"); - } - [string autorelease]; -} - -/* This is called when the selection is completely retrieved from another client. */ -/* Warning: this frees the propdata. */ -- (void) handle_selection:(Atom)selection type:(Atom)type propdata:(struct - propdata - *)pdata -{ - NSPasteboard *pb; - - TRACE(); - - pb = [NSPasteboard generalPasteboard]; - - if (nil == pb) { - [self copy_completed:selection]; - free_propdata(pdata); - return; - } - - /* - * Some apps it seems set the type to TARGETS instead of ATOM, such as Eterm. - * These aren't ICCCM compliant apps, but we need these to work... - */ - if (request_atom == atoms->targets - && (type == atoms->atom || type == atoms->targets)) { - [self handle_targets:selection propdata:pdata]; - free_propdata(pdata); - return; - } - else if (type == atoms->image_png) { - [self handle_image:pdata pasteboard:pb]; - } - else if (type == atoms->image_jpeg) { - [self handle_image:pdata pasteboard:pb]; - } - else if (type == atoms->utf8_string) { - [self handle_utf8_string:pdata pasteboard:pb]; - } - else if (type == atoms->string) { - [self handle_string:pdata pasteboard:pb]; - } - - free_propdata(pdata); - - [self copy_completed:selection]; -} - -- (void) copy_completed:(Atom)selection -{ - TRACE(); - char *name; - - (void)name; /* Avoid warning with non-debug compiles. */ -#ifdef DEBUG - name = XGetAtomName(xpbproxy_dpy, selection); - if (name) { - DebugF("copy_completed: %s\n", name); - XFree(name); - } -#endif - - if (selection == atoms->primary && pending_copy > 0) { - --pending_copy; - if (pending_copy > 0) { - /* Copy PRIMARY again. */ - [self x_copy_request_targets]; - return; - } - } - else if (selection == atoms->clipboard && pending_clipboard > 0) { - --pending_clipboard; - if (pending_clipboard > 0) { - /* Copy CLIPBOARD. */ - [self claim_clipboard]; - return; - } - else { - /* We got the final data. Now set pbproxy as the owner. */ - [self own_clipboard]; - return; - } - } - - /* - * We had 1 or more primary in progress, and the clipboard arrived - * while we were busy. - */ - if (pending_clipboard > 0) { - [self claim_clipboard]; - } -} - -- (void) reload_preferences -{ - NSUserDefaults * const defaults = NSUserDefaults.xquartzDefaults; - -#ifdef STANDALONE_XPBPROXY - if (xpbproxy_is_standalone) - pbproxy_prefs.active = YES; - else -#endif - pbproxy_prefs.active = [defaults boolForKey:XQuartzPrefKeySyncPasteboard]; - pbproxy_prefs.primary_on_grab = [defaults boolForKey:XQuartzPrefKeySyncPrimaryOnSelect]; - pbproxy_prefs.clipboard_to_pasteboard = [defaults boolForKey:XQuartzPrefKeySyncClipboardToPasteBoard]; - pbproxy_prefs.pasteboard_to_primary = [defaults boolForKey:XQuartzPrefKeySyncPasteboardToPrimary]; - pbproxy_prefs.pasteboard_to_clipboard = [defaults boolForKey:XQuartzPrefKeySyncPasteboardToClipboard]; - - /* This is used for debugging. */ - //dump_prefs(); - - if (pbproxy_prefs.active && pbproxy_prefs.primary_on_grab && - !xpbproxy_have_xfixes) { - ErrorF( - "Disabling sync_primary_on_select functionality due to missing XFixes extension.\n"); - pbproxy_prefs.primary_on_grab = NO; - } - - /* Claim or release the CLIPBOARD_MANAGER atom */ - if (![self set_clipboard_manager_status:(pbproxy_prefs.active && - pbproxy_prefs. - clipboard_to_pasteboard)]) - pbproxy_prefs.clipboard_to_pasteboard = NO; - - if (pbproxy_prefs.active && pbproxy_prefs.clipboard_to_pasteboard) - [self claim_clipboard]; -} - -- (BOOL) is_active -{ - return pbproxy_prefs.active; -} - -/* NSPasteboard-required methods */ - -- (void) paste:(id)sender -{ - TRACE(); -} - -- (void) pasteboard:(NSPasteboard *)pb provideDataForType:(NSString *)type -{ - TRACE(); -} - -- (void) pasteboardChangedOwner:(NSPasteboard *)pb -{ - TRACE(); - - /* Right now we don't care with this. */ -} - -/* Allocation */ - -- (id) init -{ - unsigned long pixel; - - self = [super init]; - if (self == nil) - return nil; - - atoms->primary = XInternAtom(xpbproxy_dpy, "PRIMARY", False); - atoms->clipboard = XInternAtom(xpbproxy_dpy, "CLIPBOARD", False); - atoms->text = XInternAtom(xpbproxy_dpy, "TEXT", False); - atoms->utf8_string = XInternAtom(xpbproxy_dpy, "UTF8_STRING", False); - atoms->string = XInternAtom(xpbproxy_dpy, "STRING", False); - atoms->targets = XInternAtom(xpbproxy_dpy, "TARGETS", False); - atoms->multiple = XInternAtom(xpbproxy_dpy, "MULTIPLE", False); - atoms->cstring = XInternAtom(xpbproxy_dpy, "CSTRING", False); - atoms->image_png = XInternAtom(xpbproxy_dpy, "image/png", False); - atoms->image_jpeg = XInternAtom(xpbproxy_dpy, "image/jpeg", False); - atoms->incr = XInternAtom(xpbproxy_dpy, "INCR", False); - atoms->atom = XInternAtom(xpbproxy_dpy, "ATOM", False); - atoms->clipboard_manager = XInternAtom(xpbproxy_dpy, "CLIPBOARD_MANAGER", - False); - atoms->compound_text = XInternAtom(xpbproxy_dpy, "COMPOUND_TEXT", False); - atoms->atom_pair = XInternAtom(xpbproxy_dpy, "ATOM_PAIR", False); - - pixel = BlackPixel(xpbproxy_dpy, DefaultScreen(xpbproxy_dpy)); - _selection_window = - XCreateSimpleWindow(xpbproxy_dpy, DefaultRootWindow(xpbproxy_dpy), - 0, 0, 1, 1, 0, pixel, pixel); - - /* This is used to get PropertyNotify events when doing INCR transfers. */ - XSelectInput(xpbproxy_dpy, _selection_window, PropertyChangeMask); - - request_atom = None; - - init_propdata(&pending.propdata); - pending.requestor = None; - pending.selection = None; - - pending_copy = 0; - pending_clipboard = 0; - - if (xpbproxy_have_xfixes) - XFixesSelectSelectionInput(xpbproxy_dpy, _selection_window, - atoms->primary, - XFixesSetSelectionOwnerNotifyMask); - - [self reload_preferences]; - - return self; -} - -- (void) dealloc -{ - if (None != _selection_window) { - XDestroyWindow(xpbproxy_dpy, _selection_window); - _selection_window = None; - } - - free_propdata(&pending.propdata); - - [super dealloc]; -} - -@end diff --git a/hw/xquartz/quartz.c b/hw/xquartz/quartz.c deleted file mode 100644 index 4bbe56b93..000000000 --- a/hw/xquartz/quartz.c +++ /dev/null @@ -1,554 +0,0 @@ -/* - * - * Quartz-specific support for the Darwin X Server - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * Copyright (c) 2001-2004 Greg Parker and Torrey T. Lyons. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "quartzRandR.h" -#include "inputstr.h" -#include "quartz.h" -#include "darwin.h" -#include "darwinEvents.h" -#include "pseudoramiX.h" -#include "extension.h" -#include "nonsdk_extinit.h" -#include "glx_extinit.h" -#define _APPLEWM_SERVER_ -#include "applewmExt.h" - -#include "X11Application.h" - -#include - -// X headers -#include "scrnintstr.h" -#include "windowstr.h" -#include "colormapst.h" -#include "globals.h" -#include "mi.h" - -// System headers -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -// These are vended by the Objective-C runtime, but they are unfortunately -// not available as API in the macOS SDK. We are following suit with swift -// and clang in declaring them inline here. They canot be removed or changed -// in the OS without major bincompat ramifications. -// -// These were added in macOS 10.7. -void * _Nonnull objc_autoreleasePoolPush(void); -void objc_autoreleasePoolPop(void * _Nonnull context); - -DevPrivateKeyRec quartzScreenKeyRec; -int aquaMenuBarHeight = 0; -QuartzModeProcsPtr quartzProcs = NULL; -const char *quartzOpenGLBundle = NULL; - -/* These are initialized by X11Application with default values set in NSUserDefaults+XQuartzDefaults */ -Bool XQuartzFullscreenDisableHotkeys; -Bool XQuartzOptionSendsAlt; -Bool XQuartzEnableKeyEquivalents; -Bool XQuartzFullscreenMenu; -Bool XQuartzRootlessDefault; - -Bool XQuartzFullscreenVisible = FALSE; -Bool XQuartzIsRootless = TRUE; -Bool XQuartzServerVisible = FALSE; - -int32_t XQuartzShieldingWindowLevel = 0; - -/* - =========================================================================== - - Screen functions - - =========================================================================== - */ - -/* - * QuartzAddScreen - * Do mode dependent initialization of each screen for Quartz. - */ -Bool -QuartzAddScreen(int index, - ScreenPtr pScreen) -{ - // The clang static analyzer thinks we leak displayInfo here -#ifndef __clang_analyzer__ - // allocate space for private per screen Quartz specific storage - QuartzScreenPtr displayInfo = calloc(sizeof(QuartzScreenRec), 1); - - // QUARTZ_PRIV(pScreen) = displayInfo; - dixSetPrivate(&pScreen->devPrivates, quartzScreenKey, displayInfo); -#endif /* __clang_analyzer__ */ - - // do Quartz mode specific initialization - return quartzProcs->AddScreen(index, pScreen); -} - -/* - * QuartzSetupScreen - * Finalize mode specific setup of each screen. - */ -Bool -QuartzSetupScreen(int index, - ScreenPtr pScreen) -{ - // do Quartz mode specific setup - if (!quartzProcs->SetupScreen(index, pScreen)) - return FALSE; - - // setup cursor support - if (!quartzProcs->InitCursor(pScreen)) - return FALSE; - -#if defined(RANDR) - if (!QuartzRandRInit(pScreen)) { - DEBUG_LOG("Failed to init RandR extension.\n"); - return FALSE; - } -#endif - - return TRUE; -} - -/* - * QuartzBlockHandler - * Clean out any autoreleased objects. - */ -static void -QuartzBlockHandler(void *blockData, void *pTimeout) -{ - static void *poolToken = NULL; - - if (poolToken) { - objc_autoreleasePoolPop(poolToken); - } - poolToken = objc_autoreleasePoolPush(); -} - -/* - * QuartzWakeupHandler - */ -static void -QuartzWakeupHandler(void *blockData, int result) -{ - /* nothing here */ -} - -/* - * QuartzInitOutput - * Quartz display initialization. - */ -void -QuartzInitOutput(int argc, - char **argv) -{ - /* For XQuartz, we want to just use the default signal handler to work better with CrashTracer */ - signal(SIGSEGV, SIG_DFL); - signal(SIGABRT, SIG_DFL); - signal(SIGILL, SIG_DFL); -#ifdef SIGEMT - signal(SIGEMT, SIG_DFL); -#endif - signal(SIGFPE, SIG_DFL); -#ifdef SIGBUS - signal(SIGBUS, SIG_DFL); -#endif -#ifdef SIGSYS - signal(SIGSYS, SIG_DFL); -#endif -#ifdef SIGXCPU - signal(SIGXCPU, SIG_DFL); -#endif -#ifdef SIGXFSZ - signal(SIGXFSZ, SIG_DFL); -#endif - - if (!RegisterBlockAndWakeupHandlers(QuartzBlockHandler, - QuartzWakeupHandler, - NULL)) { - FatalError("Could not register block and wakeup handlers."); - } - - if (!dixRegisterPrivateKey(&quartzScreenKeyRec, PRIVATE_SCREEN, 0)) - FatalError("Failed to alloc quartz screen private.\n"); - - // Do display mode specific initialization - quartzProcs->DisplayInit(); -} - -/* - * QuartzInitInput - * Inform the main thread the X server is ready to handle events. - */ -void -QuartzInitInput(int argc, - char **argv) -{ - X11ApplicationSetCanQuit(0); - X11ApplicationServerReady(); - // Do final display mode specific initialization before handling events - if (quartzProcs->InitInput) - quartzProcs->InitInput(argc, argv); -} - -void -QuartzUpdateScreens(void) -{ - ScreenPtr pScreen; - WindowPtr pRoot; - int x, y, width, height, sx, sy; - xEvent e; - BoxRec bounds; - - if (noPseudoramiXExtension || screenInfo.numScreens != 1) { - /* FIXME: if not using Xinerama, we have multiple screens, and - to do this properly may need to add or remove screens. Which - isn't possible. So don't do anything. Another reason why - we default to running with Xinerama. */ - - return; - } - - pScreen = screenInfo.screens[0]; - - PseudoramiXResetScreens(); - quartzProcs->AddPseudoramiXScreens(&x, &y, &width, &height, pScreen); - - pScreen->x = x; - pScreen->y = y; - pScreen->mmWidth = pScreen->mmWidth * ((double)width / pScreen->width); - pScreen->mmHeight = pScreen->mmHeight * ((double)height / pScreen->height); - pScreen->width = width; - pScreen->height = height; - - DarwinAdjustScreenOrigins(&screenInfo); - - /* DarwinAdjustScreenOrigins or UpdateScreen may change pScreen->x/y, - * so use it rather than x/y - */ - sx = pScreen->x + darwinMainScreenX; - sy = pScreen->y + darwinMainScreenY; - - /* Adjust the root window. */ - pRoot = pScreen->root; - AppleWMSetScreenOrigin(pRoot); - pScreen->ResizeWindow(pRoot, x - sx, y - sy, width, height, NULL); - - /* pointer events are clipped to old display region after display reconfiguration - * http://xquartz.macosforge.org/trac/ticket/346 - */ - bounds.x1 = 0; - bounds.x2 = width; - bounds.y1 = 0; - bounds.y2 = height; - pScreen->ConstrainCursor(inputInfo.pointer, pScreen, &bounds); - inputInfo.pointer->spriteInfo->sprite->physLimits = bounds; - inputInfo.pointer->spriteInfo->sprite->hotLimits = bounds; - - DEBUG_LOG( - "Root Window: %dx%d @ (%d, %d) darwinMainScreen (%d, %d) xy (%d, %d) dixScreenOrigins (%d, %d)\n", - width, height, x - sx, y - sy, darwinMainScreenX, darwinMainScreenY, - x, y, - pScreen->x, pScreen->y); - - /* Send an event for the root reconfigure */ - e.u.u.type = ConfigureNotify; - e.u.configureNotify.window = pRoot->drawable.id; - e.u.configureNotify.aboveSibling = None; - e.u.configureNotify.x = x - sx; - e.u.configureNotify.y = y - sy; - e.u.configureNotify.width = width; - e.u.configureNotify.height = height; - e.u.configureNotify.borderWidth = wBorderWidth(pRoot); - e.u.configureNotify.override = pRoot->overrideRedirect; - DeliverEvents(pRoot, &e, 1, NullWindow); - - quartzProcs->UpdateScreen(pScreen); - - /* PaintWindow needs to be called after RootlessUpdateScreenPixmap (from xprUpdateScreen) */ - pScreen->PaintWindow(pRoot, &pRoot->borderClip, PW_BACKGROUND); - - /* Tell RandR about the new size, so new connections get the correct info */ - RRScreenSizeNotify(pScreen); -} - -static void -pokeActivityCallback(CFRunLoopTimerRef timer, void *info) -{ - UpdateSystemActivity(OverallAct); -} - -static void -QuartzScreenSaver(int state) -{ - static CFRunLoopTimerRef pokeActivityTimer = NULL; - static CFRunLoopTimerContext pokeActivityContext = - { 0, NULL, NULL, NULL, NULL }; - static OSSpinLock pokeActivitySpinLock = OS_SPINLOCK_INIT; - - OSSpinLockLock(&pokeActivitySpinLock); - - if (state) { - if (pokeActivityTimer == NULL) - goto QuartzScreenSaverEnd; - - CFRunLoopTimerInvalidate(pokeActivityTimer); - CFRelease(pokeActivityTimer); - pokeActivityTimer = NULL; - } - else { - if (pokeActivityTimer != NULL) - goto QuartzScreenSaverEnd; - - pokeActivityTimer = CFRunLoopTimerCreate(NULL, - CFAbsoluteTimeGetCurrent(), - 30, 0, 0, - pokeActivityCallback, - &pokeActivityContext); - if (pokeActivityTimer == NULL) { - ErrorF("Unable to create pokeActivityTimer.\n"); - goto QuartzScreenSaverEnd; - } - - CFRunLoopAddTimer( - CFRunLoopGetMain(), pokeActivityTimer, kCFRunLoopCommonModes); - } -QuartzScreenSaverEnd: - OSSpinLockUnlock(&pokeActivitySpinLock); -} - -void -QuartzShowFullscreen(int state) -{ - int i; - - DEBUG_LOG("QuartzShowFullscreen: state=%d\n", state); - - if (XQuartzIsRootless) { - ErrorF("QuartzShowFullscreen called while in rootless mode.\n"); - return; - } - - QuartzScreenSaver(!state); - - if (XQuartzFullscreenVisible == state) - return; - - XQuartzFullscreenVisible = state; - - xp_disable_update(); - - if (!XQuartzFullscreenVisible) - RootlessHideAllWindows(); - - RootlessUpdateRooted(XQuartzFullscreenVisible); - - if (XQuartzFullscreenVisible) { - RootlessShowAllWindows(); - for (i = 0; i < screenInfo.numScreens; i++) { - ScreenPtr pScreen = screenInfo.screens[i]; - RootlessRepositionWindows(pScreen); - // JH: I don't think this is necessary, but keeping it here as a reminder - //RootlessUpdateScreenPixmap(pScreen); - } - } - - /* Somehow the menubar manages to interfere with our event stream - * in fullscreen mode, even though it's not visible. - */ - X11ApplicationShowHideMenubar(!XQuartzFullscreenVisible); - - xp_reenable_update(); - - if (XQuartzFullscreenDisableHotkeys) - xp_disable_hot_keys(XQuartzFullscreenVisible); -} - -void -QuartzSetRootless(Bool state) -{ - DEBUG_LOG("QuartzSetRootless state=%d\n", state); - - if (XQuartzIsRootless == state) - return; - - if (state) - QuartzShowFullscreen(FALSE); - - XQuartzIsRootless = state; - - xp_disable_update(); - - /* When in rootless, the menubar is not part of the screen, so we need to update our screens on toggle */ - QuartzUpdateScreens(); - - if (XQuartzIsRootless) { - RootlessShowAllWindows(); - } - else { - RootlessHideAllWindows(); - } - - X11ApplicationShowHideMenubar(TRUE); - - xp_reenable_update(); - - xp_disable_hot_keys(FALSE); -} - -/* - * QuartzShow - * Show the X server on screen. Does nothing if already shown. - * Calls mode specific screen resume to restore the X clip regions - * (if needed) and the X server cursor state. - */ -void -QuartzShow(void) -{ - int i; - - if (XQuartzServerVisible) - return; - - XQuartzServerVisible = TRUE; - for (i = 0; i < screenInfo.numScreens; i++) { - if (screenInfo.screens[i]) { - quartzProcs->ResumeScreen(screenInfo.screens[i]); - } - } - - if (!XQuartzIsRootless) - QuartzShowFullscreen(TRUE); -} - -/* - * QuartzHide - * Remove the X server display from the screen. Does nothing if already - * hidden. Calls mode specific screen suspend to set X clip regions to - * prevent drawing (if needed) and restore the Aqua cursor. - */ -void -QuartzHide(void) -{ - int i; - - if (XQuartzServerVisible) { - for (i = 0; i < screenInfo.numScreens; i++) { - if (screenInfo.screens[i]) { - quartzProcs->SuspendScreen(screenInfo.screens[i]); - } - } - } - - if (!XQuartzIsRootless) - QuartzShowFullscreen(FALSE); - XQuartzServerVisible = FALSE; -} - -/* - * QuartzSetRootClip - * Enable or disable rendering to the X screen. - */ -void -QuartzSetRootClip(int mode) -{ - int i; - - if (!XQuartzServerVisible) - return; - - for (i = 0; i < screenInfo.numScreens; i++) { - if (screenInfo.screens[i]) { - SetRootClip(screenInfo.screens[i], mode); - } - } -} - -/* - * QuartzSpaceChanged - * Unmap offscreen windows, map onscreen windows - */ -void -QuartzSpaceChanged(uint32_t space_id) -{ - /* Do something special here, so we don't depend on quartz-wm for spaces to work... */ - DEBUG_LOG("Space Changed (%u) ... do something interesting...\n", - space_id); -} - -/* - * QuartzCopyDisplayIDs - * Associate an X11 screen with one or more CoreGraphics display IDs by copying - * the list into a private array. Free the previously copied array, if present. - */ -void -QuartzCopyDisplayIDs(ScreenPtr pScreen, - int displayCount, CGDirectDisplayID *displayIDs) -{ - QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen); - - free(pQuartzScreen->displayIDs); - if (displayCount) { - size_t size = displayCount * sizeof(CGDirectDisplayID); - pQuartzScreen->displayIDs = malloc(size); - memcpy(pQuartzScreen->displayIDs, displayIDs, size); - } - else { - pQuartzScreen->displayIDs = NULL; - } - pQuartzScreen->displayCount = displayCount; -} - -void -NSBeep(void); -void -DDXRingBell(int volume, // volume is % of max - int pitch, // pitch is Hz - int duration) // duration is milliseconds -{ - if (volume) - NSBeep(); -} diff --git a/hw/xquartz/quartz.h b/hw/xquartz/quartz.h deleted file mode 100644 index 3a456f573..000000000 --- a/hw/xquartz/quartz.h +++ /dev/null @@ -1,174 +0,0 @@ -/* - * quartz.h - * - * External interface of the Quartz display modes seen by the generic, mode - * independent parts of the Darwin X server. - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * Copyright (c) 2001-2003 Greg Parker and Torrey T. Lyons. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifndef _QUARTZ_H -#define _QUARTZ_H - -#include -#include "privates.h" - -#include "screenint.h" -#include "window.h" -#include "pixmap.h" - -/*------------------------------------------ - Quartz display mode function types - ------------------------------------------*/ - -/* - * Display mode initialization - */ -typedef void (*DisplayInitProc)(void); -typedef Bool (*AddScreenProc)(int index, ScreenPtr pScreen); -typedef Bool (*SetupScreenProc)(int index, ScreenPtr pScreen); -typedef void (*InitInputProc)(int argc, char **argv); - -/* - * Cursor functions - */ -typedef Bool (*InitCursorProc)(ScreenPtr pScreen); - -/* - * Suspend and resume X11 activity - */ -typedef void (*SuspendScreenProc)(ScreenPtr pScreen); -typedef void (*ResumeScreenProc)(ScreenPtr pScreen); - -/* - * Screen state change support - */ -typedef void (*AddPseudoramiXScreensProc) - (int *x, int *y, int *width, int *height, ScreenPtr pScreen); -typedef void (*UpdateScreenProc)(ScreenPtr pScreen); - -/* - * Rootless helper functions - */ -typedef Bool (*IsX11WindowProc)(int windowNumber); -typedef void (*HideWindowsProc)(Bool hide); - -/* - * Rootless functions for optional export to GLX layer - */ -typedef void * (*FrameForWindowProc)(WindowPtr pWin, Bool create); -typedef WindowPtr (*TopLevelParentProc)(WindowPtr pWindow); -typedef Bool (*CreateSurfaceProc) - (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable, - unsigned int client_id, unsigned int *surface_id, - unsigned int key[2], void (*notify)(void *arg, void *data), - void *notify_data); -typedef Bool (*DestroySurfaceProc) - (ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable, - void (*notify)(void *arg, void *data), void *notify_data); - -/* - * Quartz display mode function list - */ -typedef struct _QuartzModeProcs { - DisplayInitProc DisplayInit; - AddScreenProc AddScreen; - SetupScreenProc SetupScreen; - InitInputProc InitInput; - - InitCursorProc InitCursor; - - SuspendScreenProc SuspendScreen; - ResumeScreenProc ResumeScreen; - - AddPseudoramiXScreensProc AddPseudoramiXScreens; - UpdateScreenProc UpdateScreen; - - IsX11WindowProc IsX11Window; - HideWindowsProc HideWindows; - - FrameForWindowProc FrameForWindow; - TopLevelParentProc TopLevelParent; - CreateSurfaceProc CreateSurface; - DestroySurfaceProc DestroySurface; -} QuartzModeProcsRec, *QuartzModeProcsPtr; - -extern QuartzModeProcsPtr quartzProcs; - -extern Bool XQuartzFullscreenVisible; /* Are the windows visible (predicated on !rootless) */ -extern Bool XQuartzServerVisible; /* Is the server visible ... TODO: Refactor to "active" */ -extern Bool XQuartzEnableKeyEquivalents; -extern Bool XQuartzRootlessDefault; /* Is our default mode rootless? */ -extern Bool XQuartzIsRootless; /* Is our current mode rootless (or FS)? */ -extern Bool XQuartzFullscreenMenu; /* Show the menu bar (autohide) while in FS */ -extern Bool XQuartzFullscreenDisableHotkeys; -extern Bool XQuartzOptionSendsAlt; /* Alt or Mode_switch? */ - -extern int32_t XQuartzShieldingWindowLevel; /* CGShieldingWindowLevel() or 0 */ - -// Other shared data -extern DevPrivateKeyRec quartzScreenKeyRec; -#define quartzScreenKey (&quartzScreenKeyRec) -extern int aquaMenuBarHeight; - -// Name of GLX bundle for native OpenGL -extern const char *quartzOpenGLBundle; - -Bool -QuartzAddScreen(int index, ScreenPtr pScreen); -Bool -QuartzSetupScreen(int index, ScreenPtr pScreen); -void -QuartzInitOutput(int argc, char **argv); -void -QuartzInitInput(int argc, char **argv); -void -QuartzInitServer(int argc, char **argv, char **envp); -void -QuartzGiveUp(void); -void -QuartzProcessEvent(xEvent *xe); -void -QuartzUpdateScreens(void); - -void -QuartzShow(void); -void -QuartzHide(void); -void -QuartzSetRootClip(int mode); -void -QuartzSpaceChanged(uint32_t space_id); - -void -QuartzSetRootless(Bool state); -void -QuartzShowFullscreen(Bool state); - -int -server_main(int argc, char **argv, char **envp); -#endif diff --git a/hw/xquartz/quartzKeyboard.c b/hw/xquartz/quartzKeyboard.c deleted file mode 100644 index c35a2d15d..000000000 --- a/hw/xquartz/quartzKeyboard.c +++ /dev/null @@ -1,884 +0,0 @@ -/* - quartzKeyboard.c: Keyboard support for Xquartz - - Copyright (c) 2003-2012 Apple Inc. - Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. - Copyright 2004 Kaleb S. KEITHLEY. All Rights Reserved. - - Copyright (C) 1999,2000 by Eric Sunshine - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN - NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#define HACK_MISSING 1 -#define HACK_KEYPAD 1 -#define HACK_BLACKLIST 1 - -#include -#include -#include -#include -#include - -#include "quartz.h" -#include "darwin.h" -#include "darwinEvents.h" - -#include "quartzKeyboard.h" - -#include "X11Application.h" - -#include -#include - -#include "xkbsrv.h" -#include "exevents.h" -#include "X11/keysym.h" -#include "keysym2ucs.h" - -extern void -CopyKeyClass(DeviceIntPtr device, DeviceIntPtr master); - -enum { - MOD_COMMAND = 256, - MOD_SHIFT = 512, - MOD_OPTION = 2048, - MOD_CONTROL = 4096, -}; - -#define UKEYSYM(u) ((u) | 0x01000000) - -#if HACK_MISSING -/* Table of keycode->keysym mappings we use to fallback on for important - keys that are often not in the Unicode mapping. */ - -const static struct { - unsigned short keycode; - KeySym keysym; -} known_keys[] = { - { 55, XK_Meta_L }, - { 56, XK_Shift_L }, - { 57, XK_Caps_Lock }, - { 58, XK_Alt_L }, - { 59, XK_Control_L }, - - { 60, XK_Shift_R }, - { 61, XK_Alt_R }, - { 62, XK_Control_R }, - { 63, XK_Meta_R }, - - { 110, XK_Menu }, - - { 122, XK_F1 }, - { 120, XK_F2 }, - { 99, XK_F3 }, - { 118, XK_F4 }, - { 96, XK_F5 }, - { 97, XK_F6 }, - { 98, XK_F7 }, - { 100, XK_F8 }, - { 101, XK_F9 }, - { 109, XK_F10 }, - { 103, XK_F11 }, - { 111, XK_F12 }, - { 105, XK_F13 }, - { 107, XK_F14 }, - { 113, XK_F15 }, - { 106, XK_F16 }, - { 64, XK_F17 }, - { 79, XK_F18 }, - { 80, XK_F19 }, - { 90, XK_F20 }, -}; -#endif - -#if HACK_KEYPAD -/* Table of keycode->old,new-keysym mappings we use to fixup the numeric - keypad entries. */ - -const static struct { - unsigned short keycode; - KeySym normal, keypad; -} known_numeric_keys[] = { - { 65, XK_period, XK_KP_Decimal }, - { 67, XK_asterisk, XK_KP_Multiply }, - { 69, XK_plus, XK_KP_Add }, - { 75, XK_slash, XK_KP_Divide }, - { 76, 0x01000003, XK_KP_Enter }, - { 78, XK_minus, XK_KP_Subtract }, - { 81, XK_equal, XK_KP_Equal }, - { 82, XK_0, XK_KP_0 }, - { 83, XK_1, XK_KP_1 }, - { 84, XK_2, XK_KP_2 }, - { 85, XK_3, XK_KP_3 }, - { 86, XK_4, XK_KP_4 }, - { 87, XK_5, XK_KP_5 }, - { 88, XK_6, XK_KP_6 }, - { 89, XK_7, XK_KP_7 }, - { 91, XK_8, XK_KP_8 }, - { 92, XK_9, XK_KP_9 }, -}; -#endif - -#if HACK_BLACKLIST -/* wine notepad produces wrong characters on shift+arrow - * http://xquartz.macosforge.org/trac/ticket/295 - * http://developer.apple.com/legacy/mac/library/documentation/mac/Text/Text-579.html - * - * legacy Mac keycodes for arrow keys that shift-modify to math symbols - */ -const static unsigned short keycode_blacklist[] = { 66, 70, 72, 77 }; -#endif - -/* Table mapping normal keysyms to their dead equivalents. - FIXME: all the unicode keysyms (apart from circumflex) were guessed. */ - -const static struct { - KeySym normal, dead; -} dead_keys[] = { - { XK_grave, XK_dead_grave }, - { XK_apostrophe, XK_dead_acute }, /* US:"=" on a Czech keyboard */ - { XK_acute, XK_dead_acute }, - { UKEYSYM(0x384), XK_dead_acute }, /* US:";" on a Greek keyboard */ - // {XK_Greek_accentdieresis, XK_dead_diaeresis}, /* US:"opt+;" on a Greek keyboard ... replace with dead_accentdieresis if there is one */ - { XK_asciicircum, XK_dead_circumflex }, - { UKEYSYM(0x2c6), XK_dead_circumflex }, /* MODIFIER LETTER CIRCUMFLEX ACCENT */ - { XK_asciitilde, XK_dead_tilde }, - { UKEYSYM(0x2dc), XK_dead_tilde }, /* SMALL TILDE */ - { XK_macron, XK_dead_macron }, - { XK_breve, XK_dead_breve }, - { XK_abovedot, XK_dead_abovedot }, - { XK_diaeresis, XK_dead_diaeresis }, - { UKEYSYM(0x2da), XK_dead_abovering }, /* DOT ABOVE */ - { XK_doubleacute, XK_dead_doubleacute }, - { XK_caron, XK_dead_caron }, - { XK_cedilla, XK_dead_cedilla }, - { XK_ogonek, XK_dead_ogonek }, - { UKEYSYM(0x269), XK_dead_iota }, /* LATIN SMALL LETTER IOTA */ - { UKEYSYM(0x2ec), XK_dead_voiced_sound }, /* MODIFIER LETTER VOICING */ - /* {XK_semivoiced_sound, XK_dead_semivoiced_sound}, */ - { UKEYSYM(0x323), XK_dead_belowdot }, /* COMBINING DOT BELOW */ - { UKEYSYM(0x309), XK_dead_hook }, /* COMBINING HOOK ABOVE */ - { UKEYSYM(0x31b), XK_dead_horn }, /* COMBINING HORN */ -}; - -typedef struct darwinKeyboardInfo_struct { - CARD8 modMap[MAP_LENGTH]; - KeySym keyMap[MAP_LENGTH * GLYPHS_PER_KEY]; - unsigned char modifierKeycodes[32][2]; -} darwinKeyboardInfo; - -darwinKeyboardInfo keyInfo; -pthread_mutex_t keyInfo_mutex = PTHREAD_MUTEX_INITIALIZER; - -static void -DarwinChangeKeyboardControl(DeviceIntPtr device, KeybdCtrl *ctrl) -{ - // FIXME: to be implemented - // keyclick, bell volume / pitch, autorepead, LED's -} - -//----------------------------------------------------------------------------- -// Utility functions to help parse Darwin keymap -//----------------------------------------------------------------------------- - -/* - * DarwinBuildModifierMaps - * Use the keyMap field of keyboard info structure to populate - * the modMap and modifierKeycodes fields. - */ -static void -DarwinBuildModifierMaps(darwinKeyboardInfo *info) -{ - int i; - KeySym *k; - - memset(info->modMap, NoSymbol, sizeof(info->modMap)); - memset(info->modifierKeycodes, 0, sizeof(info->modifierKeycodes)); - - for (i = 0; i < NUM_KEYCODES; i++) { - k = info->keyMap + i * GLYPHS_PER_KEY; - - switch (*k) { - case XK_Shift_L: - info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][0] = i; - info->modMap[MIN_KEYCODE + i] = ShiftMask; - break; - - case XK_Shift_R: -#ifdef NX_MODIFIERKEY_RSHIFT - info->modifierKeycodes[NX_MODIFIERKEY_RSHIFT][0] = i; -#else - info->modifierKeycodes[NX_MODIFIERKEY_SHIFT][0] = i; -#endif - info->modMap[MIN_KEYCODE + i] = ShiftMask; - break; - - case XK_Control_L: - info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][0] = i; - info->modMap[MIN_KEYCODE + i] = ControlMask; - break; - - case XK_Control_R: -#ifdef NX_MODIFIERKEY_RCONTROL - info->modifierKeycodes[NX_MODIFIERKEY_RCONTROL][0] = i; -#else - info->modifierKeycodes[NX_MODIFIERKEY_CONTROL][0] = i; -#endif - info->modMap[MIN_KEYCODE + i] = ControlMask; - break; - - case XK_Caps_Lock: - info->modifierKeycodes[NX_MODIFIERKEY_ALPHALOCK][0] = i; - info->modMap[MIN_KEYCODE + i] = LockMask; - break; - - case XK_Alt_L: - info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; - info->modMap[MIN_KEYCODE + i] = Mod1Mask; - if (!XQuartzOptionSendsAlt) - *k = XK_Mode_switch; // Yes, this is ugly. This needs to be cleaned up when we integrate quartzKeyboard with this code and refactor. - break; - - case XK_Alt_R: -#ifdef NX_MODIFIERKEY_RALTERNATE - info->modifierKeycodes[NX_MODIFIERKEY_RALTERNATE][0] = i; -#else - info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; -#endif - if (!XQuartzOptionSendsAlt) - *k = XK_Mode_switch; // Yes, this is ugly. This needs to be cleaned up when we integrate quartzKeyboard with this code and refactor. - info->modMap[MIN_KEYCODE + i] = Mod1Mask; - break; - - case XK_Mode_switch: - ErrorF( - "DarwinBuildModifierMaps: XK_Mode_switch encountered, unable to determine side.\n"); - info->modifierKeycodes[NX_MODIFIERKEY_ALTERNATE][0] = i; -#ifdef NX_MODIFIERKEY_RALTERNATE - info->modifierKeycodes[NX_MODIFIERKEY_RALTERNATE][0] = i; -#endif - info->modMap[MIN_KEYCODE + i] = Mod1Mask; - break; - - case XK_Meta_L: - info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][0] = i; - info->modMap[MIN_KEYCODE + i] = Mod2Mask; - break; - - case XK_Meta_R: -#ifdef NX_MODIFIERKEY_RCOMMAND - info->modifierKeycodes[NX_MODIFIERKEY_RCOMMAND][0] = i; -#else - info->modifierKeycodes[NX_MODIFIERKEY_COMMAND][0] = i; -#endif - info->modMap[MIN_KEYCODE + i] = Mod2Mask; - break; - - case XK_Num_Lock: - info->modMap[MIN_KEYCODE + i] = Mod3Mask; - break; - } - } -} - -/* - * DarwinKeyboardInit - * Get the Darwin keyboard map and compute an equivalent - * X keyboard map and modifier map. Set the new keyboard - * device structure. - */ -void -DarwinKeyboardInit(DeviceIntPtr pDev) -{ - // Open a shared connection to the HID System. - // Note that the Event Status Driver is really just a wrapper - // for a kIOHIDParamConnectType connection. - assert(darwinParamConnect = NXOpenEventStatus()); - - InitKeyboardDeviceStruct(pDev, NULL, NULL, DarwinChangeKeyboardControl); - - DarwinKeyboardReloadHandler(); - - CopyKeyClass(pDev, inputInfo.keyboard); -} - -/* Set the repeat rates based on global preferences and keycodes for modifiers. - * Precondition: Has the keyInfo_mutex lock. - */ -static void -DarwinKeyboardSetRepeat(DeviceIntPtr pDev, int initialKeyRepeatValue, - int keyRepeatValue) -{ - if (initialKeyRepeatValue == 300000) { // off - /* Turn off repeats globally */ - XkbSetRepeatKeys(pDev, -1, AutoRepeatModeOff); - } - else { - int i; - XkbControlsPtr ctrl; - XkbControlsRec old; - - /* Turn on repeats globally */ - XkbSetRepeatKeys(pDev, -1, AutoRepeatModeOn); - - /* Setup the bit mask for individual key repeats */ - ctrl = pDev->key->xkbInfo->desc->ctrls; - old = *ctrl; - - ctrl->repeat_delay = initialKeyRepeatValue * 15; - ctrl->repeat_interval = keyRepeatValue * 15; - - /* Turn off key-repeat for modifier keys, on for others */ - /* First set them all on */ - for (i = 0; i < XkbPerKeyBitArraySize; i++) - ctrl->per_key_repeat[i] = -1; - - /* Now turn off the modifiers */ - for (i = 0; i < 32; i++) { - unsigned char keycode; - - keycode = keyInfo.modifierKeycodes[i][0]; - if (keycode) - ClearBit(ctrl->per_key_repeat, keycode + MIN_KEYCODE); - - keycode = keyInfo.modifierKeycodes[i][1]; - if (keycode) - ClearBit(ctrl->per_key_repeat, keycode + MIN_KEYCODE); - } - - /* Hurray for data duplication */ - if (pDev->kbdfeed) - memcpy(pDev->kbdfeed->ctrl.autoRepeats, ctrl->per_key_repeat, - XkbPerKeyBitArraySize); - - //ErrorF("per_key_repeat =\n"); - //for(i=0; i < XkbPerKeyBitArraySize; i++) - // ErrorF("%02x%s", ctrl->per_key_repeat[i], (i + 1) & 7 ? "" : "\n"); - - /* And now we notify the puppies about the changes */ - XkbDDXChangeControls(pDev, &old, ctrl); - } -} - -void -DarwinKeyboardReloadHandler(void) -{ - KeySymsRec keySyms; - CFIndex initialKeyRepeatValue, keyRepeatValue; - BOOL ok; - DeviceIntPtr pDev; - const char *xmodmap = PROJECTROOT "/bin/xmodmap"; - const char *sysmodmap = PROJECTROOT "/lib/X11/xinit/.Xmodmap"; - const char *homedir = getenv("HOME"); - char usermodmap[PATH_MAX], cmd[PATH_MAX]; - - DEBUG_LOG("DarwinKeyboardReloadHandler\n"); - - /* Get our key repeat settings from GlobalPreferences */ - (void)CFPreferencesAppSynchronize(CFSTR(".GlobalPreferences")); - - initialKeyRepeatValue = - CFPreferencesGetAppIntegerValue(CFSTR("InitialKeyRepeat"), - CFSTR(".GlobalPreferences"), &ok); - if (!ok) - initialKeyRepeatValue = 35; - - keyRepeatValue = CFPreferencesGetAppIntegerValue(CFSTR( - "KeyRepeat"), - CFSTR( - ".GlobalPreferences"), - &ok); - if (!ok) - keyRepeatValue = 6; - - pthread_mutex_lock(&keyInfo_mutex); - { - /* Initialize our keySyms */ - keySyms.map = keyInfo.keyMap; - keySyms.mapWidth = GLYPHS_PER_KEY; - keySyms.minKeyCode = MIN_KEYCODE; - keySyms.maxKeyCode = MAX_KEYCODE; - - // TODO: We should build the entire XkbDescRec and use XkbCopyKeymap - /* Apply the mappings to darwinKeyboard */ - XkbApplyMappingChange(darwinKeyboard, &keySyms, keySyms.minKeyCode, - keySyms.maxKeyCode - keySyms.minKeyCode + 1, - keyInfo.modMap, serverClient); - DarwinKeyboardSetRepeat(darwinKeyboard, initialKeyRepeatValue, - keyRepeatValue); - - /* Apply the mappings to the core keyboard */ - for (pDev = inputInfo.devices; pDev; pDev = pDev->next) { - if ((pDev->coreEvents || - pDev == inputInfo.keyboard) && pDev->key) { - XkbApplyMappingChange( - pDev, &keySyms, keySyms.minKeyCode, - keySyms.maxKeyCode - - keySyms.minKeyCode + 1, - keyInfo.modMap, serverClient); - DarwinKeyboardSetRepeat(pDev, initialKeyRepeatValue, - keyRepeatValue); - } - } - } pthread_mutex_unlock(&keyInfo_mutex); - - /* Modify with xmodmap */ - if (access(xmodmap, F_OK) == 0) { - /* Check for system .Xmodmap */ - if (access(sysmodmap, F_OK) == 0) { - if (snprintf(cmd, sizeof(cmd), "%s %s", xmodmap, - sysmodmap) < sizeof(cmd)) { - X11ApplicationLaunchClient(cmd); - } - else { - ErrorF( - "X11.app: Unable to create / execute xmodmap command line"); - } - } - - /* Check for user's local .Xmodmap */ - if ((homedir != NULL) && - (snprintf(usermodmap, sizeof(usermodmap), "%s/.Xmodmap", - homedir) < sizeof(usermodmap))) { - if (access(usermodmap, F_OK) == 0) { - if (snprintf(cmd, sizeof(cmd), "%s %s", xmodmap, - usermodmap) < sizeof(cmd)) { - X11ApplicationLaunchClient(cmd); - } - else { - ErrorF( - "X11.app: Unable to create / execute xmodmap command line"); - } - } - } - else { - ErrorF("X11.app: Unable to determine path to user's .Xmodmap"); - } - } -} - -//----------------------------------------------------------------------------- -// Modifier translation functions -// -// There are three different ways to specify a Mac modifier key: -// keycode - specifies hardware key, read from keymapping -// key - NX_MODIFIERKEY_*, really an index -// mask - NX_*MASK, mask for modifier flags in event record -// Left and right side have different keycodes but the same key and mask. -//----------------------------------------------------------------------------- - -/* - * DarwinModifierNXKeyToNXKeycode - * Return the keycode for an NX_MODIFIERKEY_* modifier. - * side = 0 for left or 1 for right. - * Returns 0 if key+side is not a known modifier. - */ -int -DarwinModifierNXKeyToNXKeycode(int key, int side) -{ - int retval; - pthread_mutex_lock(&keyInfo_mutex); - retval = keyInfo.modifierKeycodes[key][side]; - pthread_mutex_unlock(&keyInfo_mutex); - - return retval; -} - -/* - * DarwinModifierNXKeycodeToNXKey - * Returns -1 if keycode+side is not a modifier key - * outSide may be NULL, else it gets 0 for left and 1 for right. - */ -int -DarwinModifierNXKeycodeToNXKey(unsigned char keycode, int *outSide) -{ - int key, side; - - keycode += MIN_KEYCODE; - - // search modifierKeycodes for this keycode+side - pthread_mutex_lock(&keyInfo_mutex); - for (key = 0; key < NX_NUMMODIFIERS; key++) { - for (side = 0; side <= 1; side++) { - if (keyInfo.modifierKeycodes[key][side] == keycode) break; - } - } - pthread_mutex_unlock(&keyInfo_mutex); - - if (key == NX_NUMMODIFIERS) { - return -1; - } - if (outSide) *outSide = side; - - return key; -} - -/* - * DarwinModifierNXMaskToNXKey - * Returns -1 if mask is not a known modifier mask. - */ -int -DarwinModifierNXMaskToNXKey(int mask) -{ - switch (mask) { - case NX_ALPHASHIFTMASK: - return NX_MODIFIERKEY_ALPHALOCK; - - case NX_SHIFTMASK: - return NX_MODIFIERKEY_SHIFT; - -#ifdef NX_DEVICELSHIFTKEYMASK - case NX_DEVICELSHIFTKEYMASK: - return NX_MODIFIERKEY_SHIFT; - - case NX_DEVICERSHIFTKEYMASK: - return NX_MODIFIERKEY_RSHIFT; - -#endif - case NX_CONTROLMASK: - return NX_MODIFIERKEY_CONTROL; - -#ifdef NX_DEVICELCTLKEYMASK - case NX_DEVICELCTLKEYMASK: - return NX_MODIFIERKEY_CONTROL; - - case NX_DEVICERCTLKEYMASK: - return NX_MODIFIERKEY_RCONTROL; - -#endif - case NX_ALTERNATEMASK: - return NX_MODIFIERKEY_ALTERNATE; - -#ifdef NX_DEVICELALTKEYMASK - case NX_DEVICELALTKEYMASK: - return NX_MODIFIERKEY_ALTERNATE; - - case NX_DEVICERALTKEYMASK: - return NX_MODIFIERKEY_RALTERNATE; - -#endif - case NX_COMMANDMASK: - return NX_MODIFIERKEY_COMMAND; - -#ifdef NX_DEVICELCMDKEYMASK - case NX_DEVICELCMDKEYMASK: - return NX_MODIFIERKEY_COMMAND; - - case NX_DEVICERCMDKEYMASK: - return NX_MODIFIERKEY_RCOMMAND; - -#endif - case NX_NUMERICPADMASK: - return NX_MODIFIERKEY_NUMERICPAD; - - case NX_HELPMASK: - return NX_MODIFIERKEY_HELP; - - case NX_SECONDARYFNMASK: - return NX_MODIFIERKEY_SECONDARYFN; - } - return -1; -} - -/* - * DarwinModifierNXKeyToNXMask - * Returns 0 if key is not a known modifier key. - */ -int -DarwinModifierNXKeyToNXMask(int key) -{ - switch (key) { - case NX_MODIFIERKEY_ALPHALOCK: - return NX_ALPHASHIFTMASK; - -#ifdef NX_DEVICELSHIFTKEYMASK - case NX_MODIFIERKEY_SHIFT: - return NX_DEVICELSHIFTKEYMASK; - - case NX_MODIFIERKEY_RSHIFT: - return NX_DEVICERSHIFTKEYMASK; - - case NX_MODIFIERKEY_CONTROL: - return NX_DEVICELCTLKEYMASK; - - case NX_MODIFIERKEY_RCONTROL: - return NX_DEVICERCTLKEYMASK; - - case NX_MODIFIERKEY_ALTERNATE: - return NX_DEVICELALTKEYMASK; - - case NX_MODIFIERKEY_RALTERNATE: - return NX_DEVICERALTKEYMASK; - - case NX_MODIFIERKEY_COMMAND: - return NX_DEVICELCMDKEYMASK; - - case NX_MODIFIERKEY_RCOMMAND: - return NX_DEVICERCMDKEYMASK; - -#else - case NX_MODIFIERKEY_SHIFT: - return NX_SHIFTMASK; - - case NX_MODIFIERKEY_CONTROL: - return NX_CONTROLMASK; - - case NX_MODIFIERKEY_ALTERNATE: - return NX_ALTERNATEMASK; - - case NX_MODIFIERKEY_COMMAND: - return NX_COMMANDMASK; - -#endif - case NX_MODIFIERKEY_NUMERICPAD: - return NX_NUMERICPADMASK; - - case NX_MODIFIERKEY_HELP: - return NX_HELPMASK; - - case NX_MODIFIERKEY_SECONDARYFN: - return NX_SECONDARYFNMASK; - } - return 0; -} - -/* - * DarwinModifierStringToNXMask - * Returns 0 if string is not a known modifier. - */ -int -DarwinModifierStringToNXMask(const char *str, int separatelr) -{ -#ifdef NX_DEVICELSHIFTKEYMASK - if (separatelr) { - if (!strcasecmp(str, - "shift")) return NX_DEVICELSHIFTKEYMASK | - NX_DEVICERSHIFTKEYMASK; - if (!strcasecmp(str, - "control")) return NX_DEVICELCTLKEYMASK | - NX_DEVICERCTLKEYMASK; - if (!strcasecmp(str, - "option")) return NX_DEVICELALTKEYMASK | - NX_DEVICERALTKEYMASK; - if (!strcasecmp(str, - "alt")) return NX_DEVICELALTKEYMASK | - NX_DEVICERALTKEYMASK; - if (!strcasecmp(str, - "command")) return NX_DEVICELCMDKEYMASK | - NX_DEVICERCMDKEYMASK; - if (!strcasecmp(str, "lshift")) return NX_DEVICELSHIFTKEYMASK; - if (!strcasecmp(str, "rshift")) return NX_DEVICERSHIFTKEYMASK; - if (!strcasecmp(str, "lcontrol")) return NX_DEVICELCTLKEYMASK; - if (!strcasecmp(str, "rcontrol")) return NX_DEVICERCTLKEYMASK; - if (!strcasecmp(str, "loption")) return NX_DEVICELALTKEYMASK; - if (!strcasecmp(str, "roption")) return NX_DEVICERALTKEYMASK; - if (!strcasecmp(str, "lalt")) return NX_DEVICELALTKEYMASK; - if (!strcasecmp(str, "ralt")) return NX_DEVICERALTKEYMASK; - if (!strcasecmp(str, "lcommand")) return NX_DEVICELCMDKEYMASK; - if (!strcasecmp(str, "rcommand")) return NX_DEVICERCMDKEYMASK; - } - else { -#endif - if (!strcasecmp(str, "shift")) return NX_SHIFTMASK; - if (!strcasecmp(str, "control")) return NX_CONTROLMASK; - if (!strcasecmp(str, "option")) return NX_ALTERNATEMASK; - if (!strcasecmp(str, "alt")) return NX_ALTERNATEMASK; - if (!strcasecmp(str, "command")) return NX_COMMANDMASK; - if (!strcasecmp(str, "lshift")) return NX_SHIFTMASK; - if (!strcasecmp(str, "rshift")) return NX_SHIFTMASK; - if (!strcasecmp(str, "lcontrol")) return NX_CONTROLMASK; - if (!strcasecmp(str, "rcontrol")) return NX_CONTROLMASK; - if (!strcasecmp(str, "loption")) return NX_ALTERNATEMASK; - if (!strcasecmp(str, "roption")) return NX_ALTERNATEMASK; - if (!strcasecmp(str, "lalt")) return NX_ALTERNATEMASK; - if (!strcasecmp(str, "ralt")) return NX_ALTERNATEMASK; - if (!strcasecmp(str, "lcommand")) return NX_COMMANDMASK; - if (!strcasecmp(str, "rcommand")) return NX_COMMANDMASK; -#ifdef NX_DEVICELSHIFTKEYMASK -} -#endif - if (!strcasecmp(str, "lock")) return NX_ALPHASHIFTMASK; - if (!strcasecmp(str, "fn")) return NX_SECONDARYFNMASK; - if (!strcasecmp(str, "help")) return NX_HELPMASK; - if (!strcasecmp(str, "numlock")) return NX_NUMERICPADMASK; - return 0; -} - -static KeySym -make_dead_key(KeySym in) -{ - int i; - - for (i = 0; i < ARRAY_SIZE(dead_keys); i++) - if (dead_keys[i].normal == in) return dead_keys[i].dead; - - return in; -} - -static Bool -QuartzReadSystemKeymap(darwinKeyboardInfo *info) -{ - __block const void *chr_data = NULL; - int num_keycodes = NUM_KEYCODES; - __block UInt32 keyboard_type; - int i, j; - OSStatus err; - KeySym *k; - - dispatch_block_t getKeyboardData = ^{ - keyboard_type = LMGetKbdType(); - - TISInputSourceRef currentKeyLayoutRef = TISCopyCurrentKeyboardLayoutInputSource(); - - if (currentKeyLayoutRef) { - CFDataRef currentKeyLayoutDataRef = (CFDataRef)TISGetInputSourceProperty(currentKeyLayoutRef, - kTISPropertyUnicodeKeyLayoutData); - if (currentKeyLayoutDataRef) - chr_data = CFDataGetBytePtr(currentKeyLayoutDataRef); - - CFRelease(currentKeyLayoutRef); - } - }; - - /* This is an ugly ant-pattern, but it is more expedient to address the problem right now. */ - if (pthread_main_np()) { - getKeyboardData(); - } else { - dispatch_sync(dispatch_get_main_queue(), getKeyboardData); - } - - if (chr_data == NULL) { - ErrorF("Couldn't get uchr or kchr resource\n"); - return FALSE; - } - - /* Scan the keycode range for the Unicode character that each - key produces in the four shift states. Then convert that to - an X11 keysym (which may just the bit that says "this is - Unicode" if it can't find the real symbol.) */ - - /* KeyTranslate is not available on 64-bit platforms; UCKeyTranslate - must be used instead. */ - - for (i = 0; i < num_keycodes; i++) { - static const int mods[4] = { - 0, MOD_SHIFT, MOD_OPTION, - MOD_OPTION | MOD_SHIFT - }; - - k = info->keyMap + i * GLYPHS_PER_KEY; - - for (j = 0; j < 4; j++) { - UniChar s[8]; - UniCharCount len; - UInt32 dead_key_state = 0, extra_dead = 0; - - err = UCKeyTranslate(chr_data, i, kUCKeyActionDown, - mods[j] >> 8, keyboard_type, 0, - &dead_key_state, 8, &len, s); - if (err != noErr) continue; - - if (len == 0 && dead_key_state != 0) { - /* Found a dead key. Work out which one it is, but - remembering that it's dead. */ - err = UCKeyTranslate(chr_data, i, kUCKeyActionDown, - mods[j] >> 8, keyboard_type, - kUCKeyTranslateNoDeadKeysMask, - &extra_dead, 8, &len, s); - if (err != noErr) continue; - } - - /* Not sure why 0x0010 is there. - * 0x0000 - 'Unicode Hex Input' ... - */ - if (len > 0 && s[0] != 0x0010 && s[0] != 0x0000) { - k[j] = ucs2keysym(s[0]); - if (dead_key_state != 0) k[j] = make_dead_key(k[j]); - } - } - - if (k[3] == k[2]) k[3] = NoSymbol; - if (k[1] == k[0]) k[1] = NoSymbol; - if (k[0] == k[2] && k[1] == k[3]) k[2] = k[3] = NoSymbol; - if (k[3] == k[0] && k[2] == k[1] && k[2] == NoSymbol) k[3] = NoSymbol; - } - -#if HACK_MISSING - /* Fix up some things that are normally missing.. */ - - for (i = 0; i < ARRAY_SIZE(known_keys); i++) { - k = info->keyMap + known_keys[i].keycode * GLYPHS_PER_KEY; - - if (k[0] == NoSymbol && k[1] == NoSymbol - && k[2] == NoSymbol && k[3] == NoSymbol) - k[0] = known_keys[i].keysym; - } -#endif - -#if HACK_KEYPAD - /* And some more things. We find the right symbols for the numeric - keypad, but not the KP_ keysyms. So try to convert known keycodes. */ - for (i = 0; i < ARRAY_SIZE(known_numeric_keys); i++) { - k = info->keyMap + known_numeric_keys[i].keycode * GLYPHS_PER_KEY; - - if (k[0] == known_numeric_keys[i].normal) - k[0] = known_numeric_keys[i].keypad; - } -#endif - -#if HACK_BLACKLIST - for (i = 0; i < ARRAY_SIZE(keycode_blacklist); i++) { - k = info->keyMap + keycode_blacklist[i] * GLYPHS_PER_KEY; - k[0] = k[1] = k[2] = k[3] = NoSymbol; - } -#endif - - DarwinBuildModifierMaps(info); - - return TRUE; -} - -Bool -QuartsResyncKeymap(Bool sendDDXEvent) -{ - Bool retval; - /* Update keyInfo */ - pthread_mutex_lock(&keyInfo_mutex); - memset(keyInfo.keyMap, 0, sizeof(keyInfo.keyMap)); - retval = QuartzReadSystemKeymap(&keyInfo); - pthread_mutex_unlock(&keyInfo_mutex); - - /* Tell server thread to deal with new keyInfo */ - if (sendDDXEvent) - DarwinSendDDXEvent(kXquartzReloadKeymap, 0); - - return retval; -} diff --git a/hw/xquartz/quartzKeyboard.h b/hw/xquartz/quartzKeyboard.h deleted file mode 100644 index 60290e658..000000000 --- a/hw/xquartz/quartzKeyboard.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * Copyright (c) 2003-2004 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifndef QUARTZ_KEYBOARD_H -#define QUARTZ_KEYBOARD_H 1 - -#define XK_TECHNICAL // needed to get XK_Escape -#define XK_PUBLISHING -#include "X11/keysym.h" -#include "inputstr.h" - -// Each key can generate 4 glyphs. They are, in order: -// unshifted, shifted, modeswitch unshifted, modeswitch shifted -#define GLYPHS_PER_KEY 4 -#define NUM_KEYCODES 248 // NX_NUMKEYCODES might be better -#define MIN_KEYCODE XkbMinLegalKeyCode // unfortunately, this isn't 0... -#define MAX_KEYCODE NUM_KEYCODES + MIN_KEYCODE - 1 - -/* These functions need to be implemented by Xquartz, XDarwin, etc. */ -Bool -QuartsResyncKeymap(Bool sendDDXEvent); - -/* Provided for darwinEvents.c */ -void -DarwinKeyboardReloadHandler(void); -int -DarwinModifierNXKeycodeToNXKey(unsigned char keycode, int *outSide); -int -DarwinModifierNXKeyToNXKeycode(int key, int side); -int -DarwinModifierNXKeyToNXMask(int key); -int -DarwinModifierNXMaskToNXKey(int mask); -int -DarwinModifierStringToNXMask(const char *string, int separatelr); - -/* Provided for darwin.c */ -void -DarwinKeyboardInit(DeviceIntPtr pDev); - -#endif /* QUARTZ_KEYBOARD_H */ diff --git a/hw/xquartz/quartzRandR.c b/hw/xquartz/quartzRandR.c deleted file mode 100644 index 3ecc0e771..000000000 --- a/hw/xquartz/quartzRandR.c +++ /dev/null @@ -1,525 +0,0 @@ -/* - * Quartz-specific support for the XRandR extension - * - * Copyright (c) 2001-2004 Greg Parker and Torrey T. Lyons, - * 2010 Jan Hauffa. - * 2010-2012 Apple Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "quartzRandR.h" -#include "quartz.h" -#include "darwin.h" - -#include "X11Application.h" - -#include -#include -#include - -/* TODO: UGLY, find a better way! - * We want to ignore kXquartzDisplayChanged which are generated by us - */ -static Bool ignore_next_fake_mode_update = FALSE; - -#define FAKE_REFRESH_ROOTLESS 1 -#define FAKE_REFRESH_FULLSCREEN 2 - -#define DEFAULT_REFRESH 60 -#define kDisplayModeUsableFlags (kDisplayModeValidFlag | kDisplayModeSafeFlag) - -#define CALLBACK_SUCCESS 0 -#define CALLBACK_CONTINUE 1 -#define CALLBACK_ERROR -1 - -typedef int (*QuartzModeCallback) - (ScreenPtr, QuartzModeInfoPtr, void *); - -static void -QuartzRandRGetModeInfo(CGDisplayModeRef modeRef, - QuartzModeInfoPtr pMode) -{ - pMode->width = CGDisplayModeGetWidth(modeRef); - pMode->height = CGDisplayModeGetHeight(modeRef); - pMode->refresh = (int)(CGDisplayModeGetRefreshRate(modeRef) + 0.5); - if (pMode->refresh == 0) - pMode->refresh = DEFAULT_REFRESH; - pMode->ref = NULL; - pMode->pSize = NULL; -} - -static Bool -QuartzRandRCopyCurrentModeInfo(CGDirectDisplayID screenId, - QuartzModeInfoPtr pMode) -{ - CGDisplayModeRef curModeRef = CGDisplayCopyDisplayMode(screenId); - if (!curModeRef) - return FALSE; - - QuartzRandRGetModeInfo(curModeRef, pMode); - pMode->ref = curModeRef; - return TRUE; -} - -static Bool -QuartzRandRSetCGMode(CGDirectDisplayID screenId, - QuartzModeInfoPtr pMode) -{ - CGDisplayModeRef modeRef = (CGDisplayModeRef)pMode->ref; - if (!modeRef) - return FALSE; - - return (CGDisplaySetDisplayMode(screenId, modeRef, - NULL) == kCGErrorSuccess); -} - -static Bool -QuartzRandREnumerateModes(ScreenPtr pScreen, - QuartzModeCallback callback, - void *data) -{ - Bool retval = FALSE; - QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen); - - /* Just an 800x600 fallback if we have no attached heads */ - if (pQuartzScreen->displayIDs) { - CGDisplayModeRef curModeRef, modeRef; - CFStringRef curPixelEnc, pixelEnc; - CFComparisonResult pixelEncEqual; - CFArrayRef modes; - QuartzModeInfo modeInfo; - int i; - CGDirectDisplayID screenId = pQuartzScreen->displayIDs[0]; - - curModeRef = CGDisplayCopyDisplayMode(screenId); - if (!curModeRef) - return FALSE; - curPixelEnc = CGDisplayModeCopyPixelEncoding(curModeRef); - CGDisplayModeRelease(curModeRef); - - modes = CGDisplayCopyAllDisplayModes(screenId, NULL); - if (!modes) { - CFRelease(curPixelEnc); - return FALSE; - } - for (i = 0; i < CFArrayGetCount(modes); i++) { - int cb; - modeRef = (CGDisplayModeRef)CFArrayGetValueAtIndex(modes, i); - - /* Skip modes that are not usable on the current display or have a - different pixel encoding than the current mode. */ - if ((CGDisplayModeGetIOFlags(modeRef) & - kDisplayModeUsableFlags) != - kDisplayModeUsableFlags) - continue; - pixelEnc = CGDisplayModeCopyPixelEncoding(modeRef); - pixelEncEqual = CFStringCompare(pixelEnc, curPixelEnc, 0); - CFRelease(pixelEnc); - if (pixelEncEqual != kCFCompareEqualTo) - continue; - - QuartzRandRGetModeInfo(modeRef, &modeInfo); - modeInfo.ref = modeRef; - cb = callback(pScreen, &modeInfo, data); - if (cb == CALLBACK_CONTINUE) { - retval = TRUE; - } - else if (cb == CALLBACK_SUCCESS) { - CFRelease(modes); - CFRelease(curPixelEnc); - return TRUE; - } - else if (cb == CALLBACK_ERROR) { - CFRelease(modes); - CFRelease(curPixelEnc); - return FALSE; - } - } - - CFRelease(modes); - CFRelease(curPixelEnc); - } - - switch (callback(pScreen, &pQuartzScreen->rootlessMode, data)) { - case CALLBACK_SUCCESS: - return TRUE; - - case CALLBACK_ERROR: - return FALSE; - - case CALLBACK_CONTINUE: - retval = TRUE; - - default: - break; - } - - switch (callback(pScreen, &pQuartzScreen->fullscreenMode, data)) { - case CALLBACK_SUCCESS: - return TRUE; - - case CALLBACK_ERROR: - return FALSE; - - case CALLBACK_CONTINUE: - retval = TRUE; - - default: - break; - } - - return retval; -} - -static Bool -QuartzRandRModesEqual(QuartzModeInfoPtr pMode1, - QuartzModeInfoPtr pMode2) -{ - return (pMode1->width == pMode2->width) && - (pMode1->height == pMode2->height) && - (pMode1->refresh == pMode2->refresh); -} - -static Bool -QuartzRandRRegisterMode(ScreenPtr pScreen, - QuartzModeInfoPtr pMode) -{ - QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen); - Bool isCurrentMode = QuartzRandRModesEqual(&pQuartzScreen->currentMode, - pMode); - - /* TODO: DPI */ - pMode->pSize = - RRRegisterSize(pScreen, pMode->width, pMode->height, pScreen->mmWidth, - pScreen->mmHeight); - if (pMode->pSize) { - //DEBUG_LOG("registering: %d x %d @ %d %s\n", (int)pMode->width, (int)pMode->height, (int)pMode->refresh, isCurrentMode ? "*" : ""); - RRRegisterRate(pScreen, pMode->pSize, pMode->refresh); - - if (isCurrentMode) - RRSetCurrentConfig(pScreen, RR_Rotate_0, pMode->refresh, - pMode->pSize); - - return TRUE; - } - return FALSE; -} - -static int -QuartzRandRRegisterModeCallback(ScreenPtr pScreen, - QuartzModeInfoPtr pMode, - void *data __unused) -{ - if (QuartzRandRRegisterMode(pScreen, pMode)) { - return CALLBACK_CONTINUE; - } - else { - return CALLBACK_ERROR; - } -} - -static Bool -QuartzRandRSetMode(ScreenPtr pScreen, QuartzModeInfoPtr pMode, - BOOL doRegister) -{ - QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen); - Bool captureDisplay = - (pMode->refresh != FAKE_REFRESH_FULLSCREEN && pMode->refresh != - FAKE_REFRESH_ROOTLESS); - CGDirectDisplayID screenId; - - if (pQuartzScreen->displayIDs == NULL) - return FALSE; - - screenId = pQuartzScreen->displayIDs[0]; - if (XQuartzShieldingWindowLevel == 0 && captureDisplay) { - if (!X11ApplicationCanEnterRandR()) - return FALSE; - CGCaptureAllDisplays(); - XQuartzShieldingWindowLevel = CGShieldingWindowLevel(); // 2147483630 - DEBUG_LOG("Display captured. ShieldWindowID: %u, Shield level: %d\n", - CGShieldingWindowID(screenId), XQuartzShieldingWindowLevel); - } - - if (pQuartzScreen->currentMode.ref && - CFEqual(pMode->ref, pQuartzScreen->currentMode.ref)) { - DEBUG_LOG("Requested RandR resolution matches current CG mode\n"); - } - if (QuartzRandRSetCGMode(screenId, pMode)) { - ignore_next_fake_mode_update = TRUE; - } - else { - DEBUG_LOG("Error while requesting CG resolution change.\n"); - return FALSE; - } - - /* If the client requested the fake rootless mode, switch to rootless. - * Otherwise, force fullscreen mode. - */ - QuartzSetRootless(pMode->refresh == FAKE_REFRESH_ROOTLESS); - if (pMode->refresh != FAKE_REFRESH_ROOTLESS) { - QuartzShowFullscreen(TRUE); - } - - if (pQuartzScreen->currentMode.ref) - CFRelease(pQuartzScreen->currentMode.ref); - pQuartzScreen->currentMode = *pMode; - if (pQuartzScreen->currentMode.ref) - CFRetain(pQuartzScreen->currentMode.ref); - - if (XQuartzShieldingWindowLevel != 0 && !captureDisplay) { - CGReleaseAllDisplays(); - XQuartzShieldingWindowLevel = 0; - } - - return TRUE; -} - -static int -QuartzRandRSetModeCallback(ScreenPtr pScreen, - QuartzModeInfoPtr pMode, - void *data) -{ - QuartzModeInfoPtr pReqMode = (QuartzModeInfoPtr)data; - - if (!QuartzRandRModesEqual(pMode, pReqMode)) - return CALLBACK_CONTINUE; /* continue enumeration */ - - DEBUG_LOG("Found a match for requested RandR resolution (%dx%d@%d).\n", - (int)pMode->width, (int)pMode->height, (int)pMode->refresh); - - if (QuartzRandRSetMode(pScreen, pMode, FALSE)) - return CALLBACK_SUCCESS; - else - return CALLBACK_ERROR; -} - -static Bool -QuartzRandRGetInfo(ScreenPtr pScreen, Rotation *rotations) -{ - *rotations = RR_Rotate_0; /* TODO: support rotation */ - - return QuartzRandREnumerateModes(pScreen, QuartzRandRRegisterModeCallback, - NULL); -} - -static Bool -QuartzRandRSetConfig(ScreenPtr pScreen, - Rotation randr, - int rate, - RRScreenSizePtr pSize) -{ - QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen); - QuartzModeInfo reqMode; - - reqMode.width = pSize->width; - reqMode.height = pSize->height; - reqMode.refresh = rate; - - /* Do not switch modes if requested mode is equal to current mode. */ - if (QuartzRandRModesEqual(&reqMode, &pQuartzScreen->currentMode)) - return TRUE; - - if (QuartzRandREnumerateModes(pScreen, QuartzRandRSetModeCallback, - &reqMode)) { - return TRUE; - } - - DEBUG_LOG("Unable to find a matching config: %d x %d @ %d\n", - (int)reqMode.width, (int)reqMode.height, - (int)reqMode.refresh); - return FALSE; -} - -static Bool -_QuartzRandRUpdateFakeModes(ScreenPtr pScreen) -{ - QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen); - QuartzModeInfo activeMode; - - if (pQuartzScreen->displayCount > 0) { - if (!QuartzRandRCopyCurrentModeInfo(pQuartzScreen->displayIDs[0], - &activeMode)) { - ErrorF("Unable to determine current display mode.\n"); - return FALSE; - } - } - else { - memset(&activeMode, 0, sizeof(activeMode)); - activeMode.width = 800; - activeMode.height = 600; - activeMode.refresh = 60; - } - - if (pQuartzScreen->fullscreenMode.ref) - CFRelease(pQuartzScreen->fullscreenMode.ref); - if (pQuartzScreen->currentMode.ref) - CFRelease(pQuartzScreen->currentMode.ref); - - if (pQuartzScreen->displayCount > 1) { - activeMode.width = pScreen->width; - activeMode.height = pScreen->height; - if (XQuartzIsRootless) - activeMode.height += aquaMenuBarHeight; - } - - pQuartzScreen->fullscreenMode = activeMode; - pQuartzScreen->fullscreenMode.refresh = FAKE_REFRESH_FULLSCREEN; - - pQuartzScreen->rootlessMode = activeMode; - pQuartzScreen->rootlessMode.refresh = FAKE_REFRESH_ROOTLESS; - pQuartzScreen->rootlessMode.height -= aquaMenuBarHeight; - - if (XQuartzIsRootless) { - pQuartzScreen->currentMode = pQuartzScreen->rootlessMode; - } - else { - pQuartzScreen->currentMode = pQuartzScreen->fullscreenMode; - } - - /* This extra retain is for currentMode's copy. - * fullscreen and rootless share a retain. - */ - if (pQuartzScreen->currentMode.ref) - CFRetain(pQuartzScreen->currentMode.ref); - - DEBUG_LOG("rootlessMode: %d x %d\n", - (int)pQuartzScreen->rootlessMode.width, - (int)pQuartzScreen->rootlessMode.height); - DEBUG_LOG("fullscreenMode: %d x %d\n", - (int)pQuartzScreen->fullscreenMode.width, - (int)pQuartzScreen->fullscreenMode.height); - DEBUG_LOG("currentMode: %d x %d\n", (int)pQuartzScreen->currentMode.width, - (int)pQuartzScreen->currentMode.height); - - return TRUE; -} - -Bool -QuartzRandRUpdateFakeModes(BOOL force_update) -{ - ScreenPtr pScreen = screenInfo.screens[0]; - - if (ignore_next_fake_mode_update) { - DEBUG_LOG( - "Ignoring update request caused by RandR resolution change.\n"); - ignore_next_fake_mode_update = FALSE; - return TRUE; - } - - if (!_QuartzRandRUpdateFakeModes(pScreen)) - return FALSE; - - if (force_update) - RRGetInfo(pScreen, TRUE); - - return TRUE; -} - -Bool -QuartzRandRInit(ScreenPtr pScreen) -{ - rrScrPrivPtr pScrPriv; - - if (!RRScreenInit(pScreen)) return FALSE; - if (!_QuartzRandRUpdateFakeModes(pScreen)) return FALSE; - - pScrPriv = rrGetScrPriv(pScreen); - pScrPriv->rrGetInfo = QuartzRandRGetInfo; - pScrPriv->rrSetConfig = QuartzRandRSetConfig; - return TRUE; -} - -void -QuartzRandRSetFakeRootless(void) -{ - int i; - - DEBUG_LOG("QuartzRandRSetFakeRootless called.\n"); - - for (i = 0; i < screenInfo.numScreens; i++) { - ScreenPtr pScreen = screenInfo.screens[i]; - QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen); - - QuartzRandRSetMode(pScreen, &pQuartzScreen->rootlessMode, TRUE); - } -} - -void -QuartzRandRSetFakeFullscreen(BOOL state) -{ - int i; - - DEBUG_LOG("QuartzRandRSetFakeFullscreen called.\n"); - - for (i = 0; i < screenInfo.numScreens; i++) { - ScreenPtr pScreen = screenInfo.screens[i]; - QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen); - - QuartzRandRSetMode(pScreen, &pQuartzScreen->fullscreenMode, TRUE); - } - - QuartzShowFullscreen(state); -} - -/* Toggle fullscreen mode. If "fake" fullscreen is the current mode, - * this will just show/hide the X11 windows. If we are in a RandR fullscreen - * mode, this will toggles us to the default fake mode and hide windows if - * it is fullscreen - */ -void -QuartzRandRToggleFullscreen(void) -{ - ScreenPtr pScreen = screenInfo.screens[0]; - QuartzScreenPtr pQuartzScreen = QUARTZ_PRIV(pScreen); - - if (pQuartzScreen->currentMode.ref == NULL) { - ErrorF( - "Ignoring QuartzRandRToggleFullscreen because don't have a current mode set.\n"); - } - else if (pQuartzScreen->currentMode.refresh == FAKE_REFRESH_ROOTLESS) { - ErrorF( - "Ignoring QuartzRandRToggleFullscreen because we are in rootless mode.\n"); - } - else if (pQuartzScreen->currentMode.refresh == FAKE_REFRESH_FULLSCREEN) { - /* Legacy fullscreen mode. Hide/Show */ - QuartzShowFullscreen(!XQuartzFullscreenVisible); - } - else { - /* RandR fullscreen mode. Return to default mode and hide if it is fullscreen. */ - if (XQuartzRootlessDefault) { - QuartzRandRSetFakeRootless(); - } - else { - QuartzRandRSetFakeFullscreen(FALSE); - } - } -} diff --git a/hw/xquartz/quartzRandR.h b/hw/xquartz/quartzRandR.h deleted file mode 100644 index 006fc4d44..000000000 --- a/hw/xquartz/quartzRandR.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - * quartzRandR.h - * - * Copyright (c) 2010 Jan Hauffa. - * 2010-2012 Apple Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifndef _QUARTZRANDR_H_ -#define _QUARTZRANDR_H_ - -#include "randrstr.h" - -typedef struct { - size_t width, height; - int refresh; - RRScreenSizePtr pSize; - void *ref; /* CGDisplayModeRef or CFDictionaryRef */ -} QuartzModeInfo, *QuartzModeInfoPtr; - -// Quartz specific per screen storage structure -typedef struct { - // List of CoreGraphics displays that this X11 screen covers. - // This is more than one CG display for video mirroring and - // rootless PseudoramiX mode. - // No CG display will be covered by more than one X11 screen. - int displayCount; - CGDirectDisplayID *displayIDs; - QuartzModeInfo rootlessMode, fullscreenMode, currentMode; -} QuartzScreenRec, *QuartzScreenPtr; - -#define QUARTZ_PRIV(pScreen) \ - ((QuartzScreenPtr)dixLookupPrivate(&pScreen->devPrivates, quartzScreenKey)) - -void -QuartzCopyDisplayIDs(ScreenPtr pScreen, int displayCount, - CGDirectDisplayID *displayIDs); - -Bool -QuartzRandRUpdateFakeModes(BOOL force_update); -Bool -QuartzRandRInit(ScreenPtr pScreen); - -/* These two functions provide functionality expected by the legacy - * mode switching. They are equivalent to a client requesting one - * of the modes corresponding to these "fake" modes. - * QuartzRandRSetFakeFullscreen takes an argument which is used to determine - * the visibility of the windows after the change. - */ -void -QuartzRandRSetFakeRootless(void); -void -QuartzRandRSetFakeFullscreen(BOOL state); - -/* Toggle fullscreen mode. If "fake" fullscreen is the current mode, - * this will just show/hide the X11 windows. If we are in a RandR fullscreen - * mode, this will toggles us to the default fake mode and hide windows if - * it is fullscreen - */ -void -QuartzRandRToggleFullscreen(void); - -#endif diff --git a/hw/xquartz/quartzStartup.c b/hw/xquartz/quartzStartup.c deleted file mode 100644 index 77ff84506..000000000 --- a/hw/xquartz/quartzStartup.c +++ /dev/null @@ -1,137 +0,0 @@ -/************************************************************** - * - * Startup code for the Quartz Darwin X Server - * Copyright (c) 2008-2012 Apple Inc. All rights reserved. - * Copyright (c) 2001-2004 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include -#include "X11Controller.h" -#include "darwin.h" -#include "darwinEvents.h" -#include "quartz.h" -#include "opaque.h" -#include "micmap.h" - -#include - -#include - -int -dix_main(int argc, char **argv, char **envp); - -struct arg { - int argc; - char **argv; - char **envp; -}; - -_X_NORETURN -static void -server_thread(void *arg) -{ - struct arg args = *((struct arg *)arg); - free(arg); - exit(dix_main(args.argc, args.argv, args.envp)); -} - -static pthread_t -create_thread(void *func, void *arg) -{ - pthread_attr_t attr; - pthread_t tid; - - pthread_attr_init(&attr); - pthread_attr_setscope(&attr, PTHREAD_SCOPE_SYSTEM); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - pthread_create(&tid, &attr, func, arg); - pthread_attr_destroy(&attr); - - return tid; -} - -void -QuartzInitServer(int argc, char **argv, char **envp) -{ - struct arg *args = (struct arg *)malloc(sizeof(struct arg)); - if (!args) - FatalError("Could not allocate memory.\n"); - - args->argc = argc; - args->argv = argv; - args->envp = envp; - - if (!create_thread(server_thread, args)) { - FatalError("can't create secondary thread\n"); - } - - /* Block signals on the AppKit thread that the X11 expects to handle on its thread */ - sigset_t set; - sigemptyset(&set); - sigaddset(&set, SIGALRM); -#ifdef HAVE_SIGACTION - sigaddset(&set, SIGBUS); -#endif - pthread_sigmask(SIG_BLOCK, &set, NULL); -} - -int -server_main(int argc, char **argv, char **envp) -{ - int i; - int fd[2]; - - /* Unset CFProcessPath, so our children don't inherit this kludge we need - * to load our nib. If an xterm gets this set, then it fails to - * 'open hi.txt' properly. - */ - unsetenv("CFProcessPath"); - - // Make a pipe to pass events - assert(pipe(fd) == 0); - darwinEventReadFD = fd[0]; - darwinEventWriteFD = fd[1]; - fcntl(darwinEventReadFD, F_SETFL, O_NONBLOCK); - - for (i = 1; i < argc; i++) { - // Display version info without starting Mac OS X UI if requested - if (!strcmp(argv[i], - "-showconfig") || !strcmp(argv[i], "-version")) { - DarwinPrintBanner(); - exit(0); - } - } - - X11ControllerMain(argc, argv, envp); - exit(0); -} diff --git a/hw/xquartz/sanitizedCarbon.h b/hw/xquartz/sanitizedCarbon.h deleted file mode 100644 index 2002a6c46..000000000 --- a/hw/xquartz/sanitizedCarbon.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Don't #include any of the AppKit, etc stuff directly since it will - * pollute the X11 namespace. - */ - -#ifndef _XQ_SANITIZED_CARBON_H_ -#define _XQ_SANITIZED_CARBON_H_ - -// QuickDraw in ApplicationServices has the following conflicts with -// the basic X server headers. Use QD_ to use the QuickDraw -// definition of any of these symbols, or the normal name for the -// X11 definition. -#define Cursor QD_Cursor -#define WindowPtr QD_WindowPtr -#define Picture QD_Picture -#define BOOL OSX_BOOL -#define EventType HIT_EventType - -#include -#include -#include -#include -#include -#include // For the NXSwap* - -#undef Cursor -#undef WindowPtr -#undef Picture -#undef BOOL -#undef EventType - -#endif /* _XQ_SANITIZED_CARBON_H_ */ diff --git a/hw/xquartz/sanitizedCocoa.h b/hw/xquartz/sanitizedCocoa.h deleted file mode 100644 index f1f1cc2e2..000000000 --- a/hw/xquartz/sanitizedCocoa.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Don't #include any of the AppKit, etc stuff directly since it will - * pollute the X11 namespace. - */ - -#ifndef _XQ_SANITIZED_COCOA_H_ -#define _XQ_SANITIZED_COCOA_H_ - -// QuickDraw in ApplicationServices has the following conflicts with -// the basic X server headers. Use QD_ to use the QuickDraw -// definition of any of these symbols, or the normal name for the -// X11 definition. -#define Cursor QD_Cursor -#define WindowPtr QD_WindowPtr -#define Picture QD_Picture -#define BOOL OSX_BOOL -#define EventType HIT_EventType - -#import -#import - -#undef Cursor -#undef WindowPtr -#undef Picture -#undef BOOL -#undef EventType - -#ifndef __has_feature -#define __has_feature(x) 0 // Compatibility with non-clang compilers. -#endif - -#ifndef NS_RETURNS_RETAINED -#if __has_feature(attribute_ns_returns_retained) -#define NS_RETURNS_RETAINED __attribute__((ns_returns_retained)) -#else -#define NS_RETURNS_RETAINED -#endif -#endif - -#ifndef NS_RETURNS_NOT_RETAINED -#if __has_feature(attribute_ns_returns_not_retained) -#define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained)) -#else -#define NS_RETURNS_NOT_RETAINED -#endif -#endif - -#ifndef CF_RETURNS_RETAINED -#if __has_feature(attribute_cf_returns_retained) -#define CF_RETURNS_RETAINED __attribute__((cf_returns_retained)) -#else -#define CF_RETURNS_RETAINED -#endif -#endif - -#ifndef CF_RETURNS_NOT_RETAINED -#if __has_feature(attribute_cf_returns_not_retained) -#define CF_RETURNS_NOT_RETAINED __attribute__((cf_returns_not_retained)) -#else -#define CF_RETURNS_NOT_RETAINED -#endif -#endif - -#endif /* _XQ_SANITIZED_COCOA_H_ */ diff --git a/hw/xquartz/xpr/appledri.c b/hw/xquartz/xpr/appledri.c deleted file mode 100644 index 40422b61a..000000000 --- a/hw/xquartz/xpr/appledri.c +++ /dev/null @@ -1,528 +0,0 @@ -/************************************************************************** - - Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. - Copyright 2000 VA Linux Systems, Inc. - Copyright (c) 2002, 2009-2012 Apple Inc. - All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sub license, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice (including the - next paragraph) shall be included in all copies or substantial portions - of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* - * Authors: - * Kevin E. Martin - * Jens Owen - * Rickard E. (Rik) Faith - * Jeremy Huddleston - * - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include -#include "misc.h" -#include "dixstruct.h" -#include "extnsionst.h" -#include "colormapst.h" -#include "cursorstr.h" -#include "scrnintstr.h" -#include "servermd.h" -#define _APPLEDRI_SERVER_ -#include "appledristr.h" -#include "swaprep.h" -#include "dri.h" -#include "dristruct.h" -#include "xpr.h" -#include "x-hash.h" -#include "protocol-versions.h" - -static int DRIErrorBase = 0; - -static void -AppleDRIResetProc(ExtensionEntry* extEntry); -static int -ProcAppleDRICreatePixmap(ClientPtr client); - -static unsigned char DRIReqCode = 0; -static int DRIEventBase = 0; - -static void -SNotifyEvent(xAppleDRINotifyEvent *from, xAppleDRINotifyEvent *to); - -typedef struct _DRIEvent *DRIEventPtr; -typedef struct _DRIEvent { - DRIEventPtr next; - ClientPtr client; - XID clientResource; - unsigned int mask; -} DRIEventRec; - -/*ARGSUSED*/ -static void -AppleDRIResetProc(ExtensionEntry* extEntry) -{ - DRIReset(); -} - -static int -ProcAppleDRIQueryVersion(register ClientPtr client) -{ - xAppleDRIQueryVersionReply rep; - - REQUEST_SIZE_MATCH(xAppleDRIQueryVersionReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.majorVersion = SERVER_APPLEDRI_MAJOR_VERSION; - rep.minorVersion = SERVER_APPLEDRI_MINOR_VERSION; - rep.patchVersion = SERVER_APPLEDRI_PATCH_VERSION; - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swaps(&rep.majorVersion); - swaps(&rep.minorVersion); - swapl(&rep.patchVersion); - } - WriteToClient(client, sizeof(xAppleDRIQueryVersionReply), &rep); - return Success; -} - -/* surfaces */ - -static int -ProcAppleDRIQueryDirectRenderingCapable(register ClientPtr client) -{ - xAppleDRIQueryDirectRenderingCapableReply rep; - Bool isCapable; - - REQUEST(xAppleDRIQueryDirectRenderingCapableReq); - REQUEST_SIZE_MATCH(xAppleDRIQueryDirectRenderingCapableReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - if (stuff->screen >= screenInfo.numScreens) { - return BadValue; - } - - if (!DRIQueryDirectRenderingCapable(screenInfo.screens[stuff->screen], - &isCapable)) { - return BadValue; - } - rep.isCapable = isCapable; - - if (!client->local) - rep.isCapable = 0; - - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - } - - WriteToClient(client, - sizeof(xAppleDRIQueryDirectRenderingCapableReply), - &rep); - return Success; -} - -static int -ProcAppleDRIAuthConnection(register ClientPtr client) -{ - xAppleDRIAuthConnectionReply rep; - - REQUEST(xAppleDRIAuthConnectionReq); - REQUEST_SIZE_MATCH(xAppleDRIAuthConnectionReq); - - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - rep.authenticated = 1; - - if (!DRIAuthConnection(screenInfo.screens[stuff->screen], - stuff->magic)) { - ErrorF("Failed to authenticate %u\n", (unsigned int)stuff->magic); - rep.authenticated = 0; - } - - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swapl(&rep.authenticated); /* Yes, this is a CARD32 ... sigh */ - } - - WriteToClient(client, sizeof(xAppleDRIAuthConnectionReply), &rep); - return Success; -} - -static void -surface_notify(void *_arg, - void *data) -{ - DRISurfaceNotifyArg *arg = _arg; - int client_index = (int)x_cvt_vptr_to_uint(data); - xAppleDRINotifyEvent se; - - if (client_index < 0 || client_index >= currentMaxClients) - return; - - se.type = DRIEventBase + AppleDRISurfaceNotify; - se.kind = arg->kind; - se.arg = arg->id; - se.time = currentTime.milliseconds; - WriteEventsToClient(clients[client_index], 1, (xEvent *)&se); -} - -static int -ProcAppleDRICreateSurface(ClientPtr client) -{ - xAppleDRICreateSurfaceReply rep; - DrawablePtr pDrawable; - xp_surface_id sid; - unsigned int key[2]; - int rc; - - REQUEST(xAppleDRICreateSurfaceReq); - REQUEST_SIZE_MATCH(xAppleDRICreateSurfaceReq); - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; - - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); - if (rc != Success) - return rc; - - rep.key_0 = rep.key_1 = rep.uid = 0; - - if (!DRICreateSurface(screenInfo.screens[stuff->screen], - (Drawable)stuff->drawable, pDrawable, - stuff->client_id, &sid, key, - surface_notify, - x_cvt_uint_to_vptr(client->index))) { - return BadValue; - } - - rep.key_0 = key[0]; - rep.key_1 = key[1]; - rep.uid = sid; - - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swapl(&rep.key_0); - swapl(&rep.key_1); - swapl(&rep.uid); - } - - WriteToClient(client, sizeof(xAppleDRICreateSurfaceReply), &rep); - return Success; -} - -static int -ProcAppleDRIDestroySurface(register ClientPtr client) -{ - int rc; - REQUEST(xAppleDRIDestroySurfaceReq); - DrawablePtr pDrawable; - REQUEST_SIZE_MATCH(xAppleDRIDestroySurfaceReq); - - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); - if (rc != Success) - return rc; - - if (!DRIDestroySurface(screenInfo.screens[stuff->screen], - (Drawable)stuff->drawable, - pDrawable, NULL, NULL)) { - return BadValue; - } - - return Success; -} - -static int -ProcAppleDRICreatePixmap(ClientPtr client) -{ - REQUEST(xAppleDRICreatePixmapReq); - DrawablePtr pDrawable; - int rc; - char path[PATH_MAX]; - xAppleDRICreatePixmapReply rep; - int width, height, pitch, bpp; - void *ptr; - CARD32 stringLength; - - REQUEST_SIZE_MATCH(xAppleDRICreatePixmapReq); - - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); - - if (rc != Success) - return rc; - - if (!DRICreatePixmap(screenInfo.screens[stuff->screen], - (Drawable)stuff->drawable, - pDrawable, - path, PATH_MAX)) { - return BadValue; - } - - if (!DRIGetPixmapData(pDrawable, &width, &height, - &pitch, &bpp, &ptr)) { - return BadValue; - } - - rep.stringLength = strlen(path) + 1; - - rep.type = X_Reply; - rep.length = bytes_to_int32(rep.stringLength); - rep.sequenceNumber = client->sequence; - rep.width = width; - rep.height = height; - rep.pitch = pitch; - rep.bpp = bpp; - rep.size = pitch * height; - - if (sizeof(rep) != sz_xAppleDRICreatePixmapReply) - ErrorF("error sizeof(rep) is %zu\n", sizeof(rep)); - - stringLength = rep.stringLength; /* save unswapped value */ - if (client->swapped) { - swaps(&rep.sequenceNumber); - swapl(&rep.length); - swapl(&rep.stringLength); - swapl(&rep.width); - swapl(&rep.height); - swapl(&rep.pitch); - swapl(&rep.bpp); - swapl(&rep.size); - } - - WriteToClient(client, sizeof(rep), &rep); - WriteToClient(client, stringLength, path); - - return Success; -} - -static int -ProcAppleDRIDestroyPixmap(ClientPtr client) -{ - DrawablePtr pDrawable; - int rc; - REQUEST(xAppleDRIDestroyPixmapReq); - REQUEST_SIZE_MATCH(xAppleDRIDestroyPixmapReq); - - rc = dixLookupDrawable(&pDrawable, stuff->drawable, client, 0, - DixReadAccess); - - if (rc != Success) - return rc; - - DRIDestroyPixmap(pDrawable); - - return Success; -} - -/* dispatch */ - -static int -ProcAppleDRIDispatch(register ClientPtr client) -{ - REQUEST(xReq); - - switch (stuff->data) { - case X_AppleDRIQueryVersion: - return ProcAppleDRIQueryVersion(client); - - case X_AppleDRIQueryDirectRenderingCapable: - return ProcAppleDRIQueryDirectRenderingCapable(client); - } - - if (!client->local) - return DRIErrorBase + AppleDRIClientNotLocal; - - switch (stuff->data) { - case X_AppleDRIAuthConnection: - return ProcAppleDRIAuthConnection(client); - - case X_AppleDRICreateSurface: - return ProcAppleDRICreateSurface(client); - - case X_AppleDRIDestroySurface: - return ProcAppleDRIDestroySurface(client); - - case X_AppleDRICreatePixmap: - return ProcAppleDRICreatePixmap(client); - - case X_AppleDRIDestroyPixmap: - return ProcAppleDRIDestroyPixmap(client); - - default: - return BadRequest; - } -} - -static void -SNotifyEvent(xAppleDRINotifyEvent *from, - xAppleDRINotifyEvent *to) -{ - to->type = from->type; - to->kind = from->kind; - cpswaps(from->sequenceNumber, to->sequenceNumber); - cpswapl(from->time, to->time); - cpswapl(from->arg, to->arg); -} - -static int -SProcAppleDRIQueryVersion(register ClientPtr client) -{ - REQUEST(xAppleDRIQueryVersionReq); - swaps(&stuff->length); - return ProcAppleDRIQueryVersion(client); -} - -static int -SProcAppleDRIQueryDirectRenderingCapable(register ClientPtr client) -{ - REQUEST(xAppleDRIQueryDirectRenderingCapableReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xAppleDRIQueryDirectRenderingCapableReq); - swapl(&stuff->screen); - return ProcAppleDRIQueryDirectRenderingCapable(client); -} - -static int -SProcAppleDRIAuthConnection(register ClientPtr client) -{ - REQUEST(xAppleDRIAuthConnectionReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xAppleDRIAuthConnectionReq); - swapl(&stuff->screen); - swapl(&stuff->magic); - return ProcAppleDRIAuthConnection(client); -} - -static int -SProcAppleDRICreateSurface(register ClientPtr client) -{ - REQUEST(xAppleDRICreateSurfaceReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xAppleDRICreateSurfaceReq); - swapl(&stuff->screen); - swapl(&stuff->drawable); - swapl(&stuff->client_id); - return ProcAppleDRICreateSurface(client); -} - -static int -SProcAppleDRIDestroySurface(register ClientPtr client) -{ - REQUEST(xAppleDRIDestroySurfaceReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xAppleDRIDestroySurfaceReq); - swapl(&stuff->screen); - swapl(&stuff->drawable); - return ProcAppleDRIDestroySurface(client); -} - -static int -SProcAppleDRICreatePixmap(register ClientPtr client) -{ - REQUEST(xAppleDRICreatePixmapReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xAppleDRICreatePixmapReq); - swapl(&stuff->screen); - swapl(&stuff->drawable); - return ProcAppleDRICreatePixmap(client); -} - -static int -SProcAppleDRIDestroyPixmap(register ClientPtr client) -{ - REQUEST(xAppleDRIDestroyPixmapReq); - swaps(&stuff->length); - REQUEST_SIZE_MATCH(xAppleDRIDestroyPixmapReq); - swapl(&stuff->drawable); - return ProcAppleDRIDestroyPixmap(client); -} - -static int -SProcAppleDRIDispatch(register ClientPtr client) -{ - REQUEST(xReq); - - switch (stuff->data) { - case X_AppleDRIQueryVersion: - return SProcAppleDRIQueryVersion(client); - - case X_AppleDRIQueryDirectRenderingCapable: - return SProcAppleDRIQueryDirectRenderingCapable(client); - } - - if (!client->local) - return DRIErrorBase + AppleDRIClientNotLocal; - - switch (stuff->data) { - case X_AppleDRIAuthConnection: - return SProcAppleDRIAuthConnection(client); - - case X_AppleDRICreateSurface: - return SProcAppleDRICreateSurface(client); - - case X_AppleDRIDestroySurface: - return SProcAppleDRIDestroySurface(client); - - case X_AppleDRICreatePixmap: - return SProcAppleDRICreatePixmap(client); - - case X_AppleDRIDestroyPixmap: - return SProcAppleDRIDestroyPixmap(client); - - default: - return BadRequest; - } -} - -void -AppleDRIExtensionInit(void) -{ - ExtensionEntry* extEntry; - - if (DRIExtensionInit() && - (extEntry = AddExtension(APPLEDRINAME, - AppleDRINumberEvents, - AppleDRINumberErrors, - ProcAppleDRIDispatch, - SProcAppleDRIDispatch, - AppleDRIResetProc, - StandardMinorOpcode))) { - size_t i; - DRIReqCode = (unsigned char)extEntry->base; - DRIErrorBase = extEntry->errorBase; - DRIEventBase = extEntry->eventBase; - for (i = 0; i < AppleDRINumberEvents; i++) - EventSwapVector[DRIEventBase + i] = (EventSwapPtr)SNotifyEvent; - } -} diff --git a/hw/xquartz/xpr/appledri.h b/hw/xquartz/xpr/appledri.h deleted file mode 100644 index a96c96fc8..000000000 --- a/hw/xquartz/xpr/appledri.h +++ /dev/null @@ -1,137 +0,0 @@ -/* $XFree86: xc/lib/GL/dri/xf86dri.h,v 1.7 2000/12/07 20:26:02 dawes Exp $ */ -/************************************************************************** - - Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. - Copyright 2000 VA Linux Systems, Inc. - Copyright (c) 2002-2012 Apple Computer, Inc. - All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sub license, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice (including the - next paragraph) shall be included in all copies or substantial portions - of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* - * Authors: - * Kevin E. Martin - * Jens Owen - * Rickard E. (Rik) Faith - * Jeremy Huddleston - * - */ - -#ifndef _APPLEDRI_H_ -#define _APPLEDRI_H_ - -#include - -#define X_AppleDRIQueryVersion 0 -#define X_AppleDRIQueryDirectRenderingCapable 1 -#define X_AppleDRICreateSurface 2 -#define X_AppleDRIDestroySurface 3 -#define X_AppleDRIAuthConnection 4 -#define X_AppleDRICreateSharedBuffer 5 -#define X_AppleDRISwapBuffers 6 -#define X_AppleDRICreatePixmap 7 -#define X_AppleDRIDestroyPixmap 8 - -/* Requests up to and including 18 were used in a previous version */ - -/* Events */ -#define AppleDRIObsoleteEvent1 0 -#define AppleDRIObsoleteEvent2 1 -#define AppleDRIObsoleteEvent3 2 -#define AppleDRISurfaceNotify 3 -#define AppleDRINumberEvents 4 - -/* Errors */ -#define AppleDRIClientNotLocal 0 -#define AppleDRIOperationNotSupported 1 -#define AppleDRINumberErrors (AppleDRIOperationNotSupported + 1) - -/* Kinds of SurfaceNotify events: */ -#define AppleDRISurfaceNotifyChanged 0 -#define AppleDRISurfaceNotifyDestroyed 1 - -#ifndef _APPLEDRI_SERVER_ - -typedef struct { - int type; /* of event */ - unsigned long serial; /* # of last request processed by server */ - Bool send_event; /* true if this came frome a SendEvent request */ - Display *display; /* Display the event was read from */ - Window window; /* window of event */ - Time time; /* server timestamp when event happened */ - int kind; /* subtype of event */ - int arg; -} XAppleDRINotifyEvent; - -_XFUNCPROTOBEGIN - -Bool -XAppleDRIQueryExtension(Display *dpy, int *event_base, int *error_base); - -Bool -XAppleDRIQueryVersion(Display *dpy, int *majorVersion, int *minorVersion, - int *patchVersion); - -Bool -XAppleDRIQueryDirectRenderingCapable(Display *dpy, int screen, - Bool *isCapable); - -void * -XAppleDRISetSurfaceNotifyHandler(void (*fun)(Display *dpy, unsigned uid, - int kind)); - -Bool -XAppleDRIAuthConnection(Display *dpy, int screen, unsigned int magic); - -Bool XAppleDRICreateSurface(Display * dpy, int screen, Drawable drawable, - unsigned int client_id, unsigned int key[2], - unsigned int* uid); - -Bool -XAppleDRIDestroySurface(Display *dpy, int screen, Drawable drawable); - -Bool -XAppleDRISynchronizeSurfaces(Display *dpy); - -Bool -XAppleDRICreateSharedBuffer(Display *dpy, int screen, Drawable drawable, - Bool doubleSwap, char *path, size_t pathlen, - int *width, - int *height); - -Bool -XAppleDRISwapBuffers(Display *dpy, int screen, Drawable drawable); - -Bool -XAppleDRICreatePixmap(Display *dpy, int screen, Drawable drawable, int *width, - int *height, int *pitch, int *bpp, size_t *size, - char *bufname, - size_t bufnamesize); - -Bool -XAppleDRIDestroyPixmap(Display *dpy, Pixmap pixmap); - -_XFUNCPROTOEND - -#endif /* _APPLEDRI_SERVER_ */ -#endif /* _APPLEDRI_H_ */ diff --git a/hw/xquartz/xpr/appledristr.h b/hw/xquartz/xpr/appledristr.h deleted file mode 100644 index 341d72bb4..000000000 --- a/hw/xquartz/xpr/appledristr.h +++ /dev/null @@ -1,250 +0,0 @@ -/************************************************************************** - - Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. - Copyright 2000 VA Linux Systems, Inc. - Copyright (c) 2002-2012 Apple Computer, Inc. - All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sub license, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice (including the - next paragraph) shall be included in all copies or substantial portions - of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* - * Authors: - * Kevin E. Martin - * Jens Owen - * Rickard E. (Rik) Fiath - * Jeremy Huddleston - * - */ - -#ifndef _APPLEDRISTR_H_ -#define _APPLEDRISTR_H_ - -#include "appledri.h" - -#define APPLEDRINAME "Apple-DRI" - -#define APPLE_DRI_MAJOR_VERSION 1 /* current version numbers */ -#define APPLE_DRI_MINOR_VERSION 0 -#define APPLE_DRI_PATCH_VERSION 0 - -typedef struct _AppleDRIQueryVersion { - CARD8 reqType; /* always DRIReqCode */ - CARD8 driReqType; /* always X_DRIQueryVersion */ - CARD16 length; -} xAppleDRIQueryVersionReq; -#define sz_xAppleDRIQueryVersionReq 4 - -typedef struct { - BYTE type; /* X_Reply */ - BOOL pad1; - CARD16 sequenceNumber; - CARD32 length; - CARD16 majorVersion; /* major version of DRI protocol */ - CARD16 minorVersion; /* minor version of DRI protocol */ - CARD32 patchVersion; /* patch version of DRI protocol */ - CARD32 pad3; - CARD32 pad4; - CARD32 pad5; - CARD32 pad6; -} xAppleDRIQueryVersionReply; -#define sz_xAppleDRIQueryVersionReply 32 - -typedef struct _AppleDRIQueryDirectRenderingCapable { - CARD8 reqType; /* always DRIReqCode */ - CARD8 driReqType; /* X_DRIQueryDirectRenderingCapable */ - CARD16 length; - CARD32 screen; -} xAppleDRIQueryDirectRenderingCapableReq; -#define sz_xAppleDRIQueryDirectRenderingCapableReq 8 - -typedef struct { - BYTE type; /* X_Reply */ - BOOL pad1; - CARD16 sequenceNumber; - CARD32 length; - BOOL isCapable; - BOOL pad2; - BOOL pad3; - BOOL pad4; - CARD32 pad5; - CARD32 pad6; - CARD32 pad7; - CARD32 pad8; - CARD32 pad9; -} xAppleDRIQueryDirectRenderingCapableReply; -#define sz_xAppleDRIQueryDirectRenderingCapableReply 32 - -typedef struct _AppleDRIAuthConnection { - CARD8 reqType; /* always DRIReqCode */ - CARD8 driReqType; /* always X_DRICloseConnection */ - CARD16 length; - CARD32 screen; - CARD32 magic; -} xAppleDRIAuthConnectionReq; -#define sz_xAppleDRIAuthConnectionReq 12 - -typedef struct { - BYTE type; - BOOL pad1; - CARD16 sequenceNumber; - CARD32 length; - CARD32 authenticated; - CARD32 pad2; - CARD32 pad3; - CARD32 pad4; - CARD32 pad5; - CARD32 pad6; -} xAppleDRIAuthConnectionReply; -#define zx_xAppleDRIAuthConnectionReply 32 - -typedef struct _AppleDRICreateSurface { - CARD8 reqType; /* always DRIReqCode */ - CARD8 driReqType; /* always X_DRICreateSurface */ - CARD16 length; - CARD32 screen; - CARD32 drawable; - CARD32 client_id; -} xAppleDRICreateSurfaceReq; -#define sz_xAppleDRICreateSurfaceReq 16 - -typedef struct { - BYTE type; /* X_Reply */ - BOOL pad1; - CARD16 sequenceNumber; - CARD32 length; - CARD32 key_0; - CARD32 key_1; - CARD32 uid; - CARD32 pad4; - CARD32 pad5; - CARD32 pad6; -} xAppleDRICreateSurfaceReply; -#define sz_xAppleDRICreateSurfaceReply 32 - -typedef struct _AppleDRIDestroySurface { - CARD8 reqType; /* always DRIReqCode */ - CARD8 driReqType; /* always X_DRIDestroySurface */ - CARD16 length; - CARD32 screen; - CARD32 drawable; -} xAppleDRIDestroySurfaceReq; -#define sz_xAppleDRIDestroySurfaceReq 12 - -typedef struct _AppleDRINotify { - BYTE type; /* always eventBase + event type */ - BYTE kind; - CARD16 sequenceNumber; - CARD32 time; /* time of change */ - CARD32 pad1; - CARD32 arg; - CARD32 pad3; - CARD32 pad4; - CARD32 pad5; - CARD32 pad6; -} xAppleDRINotifyEvent; -#define sz_xAppleDRINotifyEvent 32 - -typedef struct { - CARD8 reqType; - CARD8 driReqType; - CARD16 length; - CARD32 screen; - CARD32 drawable; - BOOL doubleSwap; - CARD8 pad1, pad2, pad3; -} xAppleDRICreateSharedBufferReq; - -#define sz_xAppleDRICreateSharedBufferReq 16 - -typedef struct { - BYTE type; - BYTE data1; - CARD16 sequenceNumber; - CARD32 length; - CARD32 stringLength; /* 0 on error */ - CARD32 width; - CARD32 height; - CARD32 pad1; - CARD32 pad2; - CARD32 pad3; -} xAppleDRICreateSharedBufferReply; - -#define sz_xAppleDRICreateSharedBufferReply 32 - -typedef struct { - CARD8 reqType; - CARD8 driReqType; - CARD16 length; - CARD32 screen; - CARD32 drawable; -} xAppleDRISwapBuffersReq; - -#define sz_xAppleDRISwapBuffersReq 12 - -typedef struct { - CARD8 reqType; /*1 */ - CARD8 driReqType; /*2 */ - CARD16 length; /*4 */ - CARD32 screen; /*8 */ - CARD32 drawable; /*12 */ -} xAppleDRICreatePixmapReq; - -#define sz_xAppleDRICreatePixmapReq 12 - -typedef struct { - BYTE type; /*1 */ - BOOL pad1; /*2 */ - CARD16 sequenceNumber; /*4 */ - CARD32 length; /*8 */ - CARD32 width; /*12 */ - CARD32 height; /*16 */ - CARD32 pitch; /*20 */ - CARD32 bpp; /*24 */ - CARD32 size; /*28 */ - CARD32 stringLength; /*32 */ -} xAppleDRICreatePixmapReply; - -#define sz_xAppleDRICreatePixmapReply 32 - -typedef struct { - CARD8 reqType; /*1 */ - CARD8 driReqType; /*2 */ - CARD16 length; /*4 */ - CARD32 drawable; /*8 */ -} xAppleDRIDestroyPixmapReq; - -#define sz_xAppleDRIDestroyPixmapReq 8 - -#ifdef _APPLEDRI_SERVER_ - -void AppleDRISendEvent( -#if NeedFunctionPrototypes - int /* type */, - unsigned int /* mask */, - int /* which */, - int /* arg */ -#endif - ); - -#endif /* _APPLEDRI_SERVER_ */ -#endif /* _APPLEDRISTR_H_ */ diff --git a/hw/xquartz/xpr/dri.c b/hw/xquartz/xpr/dri.c deleted file mode 100644 index 091418e19..000000000 --- a/hw/xquartz/xpr/dri.c +++ /dev/null @@ -1,818 +0,0 @@ -/************************************************************************** - - Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. - Copyright 2000 VA Linux Systems, Inc. - Copyright (c) 2002-2012 Apple Computer, Inc. - All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sub license, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice (including the - next paragraph) shall be included in all copies or substantial portions - of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* - * Authors: - * Jens Owen - * Rickard E. (Rik) Faith - * Jeremy Huddleston - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include - -#include -#include -#include -#include -#include -#include -#include "misc.h" -#include "dixstruct.h" -#include "extnsionst.h" -#include "extinit.h" -#include "colormapst.h" -#include "cursorstr.h" -#include "scrnintstr.h" -#include "windowstr.h" -#include "servermd.h" -#define _APPLEDRI_SERVER_ -#include "appledristr.h" -#include "swaprep.h" -#include "dri.h" -#include "dristruct.h" -#include "mi.h" -#include "mipointer.h" -#include "rootless.h" -#include "rootlessCommon.h" -#include "x-hash.h" -#include "x-hook.h" -#include "driWrap.h" - -static DevPrivateKeyRec DRIScreenPrivKeyRec; -#define DRIScreenPrivKey (&DRIScreenPrivKeyRec) -static DevPrivateKeyRec DRIWindowPrivKeyRec; -#define DRIWindowPrivKey (&DRIWindowPrivKeyRec) -static DevPrivateKeyRec DRIPixmapPrivKeyRec; -#define DRIPixmapPrivKey (&DRIPixmapPrivKeyRec) -static DevPrivateKeyRec DRIPixmapBufferPrivKeyRec; -#define DRIPixmapBufferPrivKey (&DRIPixmapBufferPrivKeyRec) - -static RESTYPE DRIDrawablePrivResType; - -static x_hash_table *surface_hash; /* maps surface ids -> drawablePrivs */ - -static Bool -DRIFreePixmapImp(DrawablePtr pDrawable); - -typedef struct { - DrawablePtr pDrawable; - int refCount; - int bytesPerPixel; - int width; - int height; - char shmPath[PATH_MAX]; - int fd; /* From shm_open (for now) */ - size_t length; /* length of buffer */ - void *buffer; -} DRIPixmapBuffer, *DRIPixmapBufferPtr; - -Bool -DRIScreenInit(ScreenPtr pScreen) -{ - DRIScreenPrivPtr pDRIPriv; - int i; - - if (!dixRegisterPrivateKey(&DRIScreenPrivKeyRec, PRIVATE_SCREEN, 0)) - return FALSE; - if (!dixRegisterPrivateKey(&DRIWindowPrivKeyRec, PRIVATE_WINDOW, 0)) - return FALSE; - if (!dixRegisterPrivateKey(&DRIPixmapPrivKeyRec, PRIVATE_PIXMAP, 0)) - return FALSE; - if (!dixRegisterPrivateKey(&DRIPixmapBufferPrivKeyRec, PRIVATE_PIXMAP, 0)) - return FALSE; - - pDRIPriv = (DRIScreenPrivPtr)calloc(1, sizeof(DRIScreenPrivRec)); - if (!pDRIPriv) { - dixSetPrivate(&pScreen->devPrivates, DRIScreenPrivKey, NULL); - return FALSE; - } - - dixSetPrivate(&pScreen->devPrivates, DRIScreenPrivKey, pDRIPriv); - pDRIPriv->directRenderingSupport = TRUE; - pDRIPriv->nrWindows = 0; - - /* Initialize drawable tables */ - for (i = 0; i < DRI_MAX_DRAWABLES; i++) { - pDRIPriv->DRIDrawables[i] = NULL; - } - - return TRUE; -} - -Bool -DRIFinishScreenInit(ScreenPtr pScreen) -{ - DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); - - /* Wrap DRI support */ - pDRIPriv->wrap.CopyWindow = pScreen->CopyWindow; - pScreen->CopyWindow = DRICopyWindow; - - pDRIPriv->wrap.ClipNotify = pScreen->ClipNotify; - pScreen->ClipNotify = DRIClipNotify; - - // ErrorF("[DRI] screen %d installation complete\n", pScreen->myNum); - - return DRIWrapInit(pScreen); -} - -void -DRICloseScreen(ScreenPtr pScreen) -{ - DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); - - if (pDRIPriv && pDRIPriv->directRenderingSupport) { - free(pDRIPriv); - dixSetPrivate(&pScreen->devPrivates, DRIScreenPrivKey, NULL); - } -} - -Bool -DRIExtensionInit(void) -{ - DRIDrawablePrivResType = CreateNewResourceType(DRIDrawablePrivDelete, - "DRIDrawable"); - - return DRIDrawablePrivResType != 0; -} - -void -DRIReset(void) -{ - /* - * This stub routine is called when the X Server recycles, resources - * allocated by DRIExtensionInit need to be managed here. - * - * Currently this routine is a stub because all the interesting resources - * are managed via the screen init process. - */ -} - -Bool -DRIQueryDirectRenderingCapable(ScreenPtr pScreen, Bool* isCapable) -{ - DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); - - if (pDRIPriv) - *isCapable = pDRIPriv->directRenderingSupport; - else - *isCapable = FALSE; - - return TRUE; -} - -Bool -DRIAuthConnection(ScreenPtr pScreen, unsigned int magic) -{ -#if 0 - /* FIXME: something? */ - - DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); - - if (drmAuthMagic(pDRIPriv->drmFD, magic)) return FALSE; -#endif - return TRUE; -} - -static void -DRIUpdateSurface(DRIDrawablePrivPtr pDRIDrawablePriv, DrawablePtr pDraw) -{ - xp_window_changes wc; - unsigned int flags = 0; - - if (pDRIDrawablePriv->sid == 0) - return; - - wc.depth = (pDraw->bitsPerPixel == 32 ? XP_DEPTH_ARGB8888 - : pDraw->bitsPerPixel == 16 ? XP_DEPTH_RGB555 : XP_DEPTH_NIL); - if (wc.depth != XP_DEPTH_NIL) - flags |= XP_DEPTH; - - if (pDraw->type == DRAWABLE_WINDOW) { - WindowPtr pWin = (WindowPtr)pDraw; - WindowPtr pTopWin = TopLevelParent(pWin); - - wc.x = pWin->drawable.x - (pTopWin->drawable.x - pTopWin->borderWidth); - wc.y = pWin->drawable.y - (pTopWin->drawable.y - pTopWin->borderWidth); - wc.width = pWin->drawable.width + 2 * pWin->borderWidth; - wc.height = pWin->drawable.height + 2 * pWin->borderWidth; - wc.bit_gravity = XP_GRAVITY_NONE; - - wc.shape_nrects = RegionNumRects(&pWin->clipList); - wc.shape_rects = RegionRects(&pWin->clipList); - wc.shape_tx = -(pTopWin->drawable.x - pTopWin->borderWidth); - wc.shape_ty = -(pTopWin->drawable.y - pTopWin->borderWidth); - - flags |= XP_BOUNDS | XP_SHAPE; - - } - else if (pDraw->type == DRAWABLE_PIXMAP) { - wc.x = 0; - wc.y = 0; - wc.width = pDraw->width; - wc.height = pDraw->height; - wc.bit_gravity = XP_GRAVITY_NONE; - flags |= XP_BOUNDS; - } - - xp_configure_surface(pDRIDrawablePriv->sid, flags, &wc); -} - -/* Return NULL if an error occurs. */ -static DRIDrawablePrivPtr -CreateSurfaceForWindow(ScreenPtr pScreen, WindowPtr pWin, - xp_window_id *widPtr) -{ - DRIDrawablePrivPtr pDRIDrawablePriv; - xp_window_id wid = 0; - - *widPtr = 0; - - pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin); - - if (pDRIDrawablePriv == NULL) { - xp_error err; - xp_window_changes wc; - - /* allocate a DRI Window Private record */ - if (!(pDRIDrawablePriv = malloc(sizeof(*pDRIDrawablePriv)))) { - return NULL; - } - - pDRIDrawablePriv->pDraw = (DrawablePtr)pWin; - pDRIDrawablePriv->pScreen = pScreen; - pDRIDrawablePriv->refCount = 0; - pDRIDrawablePriv->drawableIndex = -1; - pDRIDrawablePriv->notifiers = NULL; - - /* find the physical window */ - wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWin, TRUE)); - - if (wid == 0) { - free(pDRIDrawablePriv); - return NULL; - } - - /* allocate the physical surface */ - err = xp_create_surface(wid, &pDRIDrawablePriv->sid); - - if (err != Success) { - free(pDRIDrawablePriv); - return NULL; - } - - /* Make it visible */ - wc.stack_mode = XP_MAPPED_ABOVE; - wc.sibling = 0; - err = xp_configure_surface(pDRIDrawablePriv->sid, XP_STACKING, &wc); - - if (err != Success) { - xp_destroy_surface(pDRIDrawablePriv->sid); - free(pDRIDrawablePriv); - return NULL; - } - - /* save private off of preallocated index */ - dixSetPrivate(&pWin->devPrivates, DRIWindowPrivKey, - pDRIDrawablePriv); - } - - *widPtr = wid; - - return pDRIDrawablePriv; -} - -/* Return NULL if an error occurs. */ -static DRIDrawablePrivPtr -CreateSurfaceForPixmap(ScreenPtr pScreen, PixmapPtr pPix) -{ - DRIDrawablePrivPtr pDRIDrawablePriv; - - pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_PIXMAP(pPix); - - if (pDRIDrawablePriv == NULL) { - xp_error err; - - /* allocate a DRI Window Private record */ - if (!(pDRIDrawablePriv = calloc(1, sizeof(*pDRIDrawablePriv)))) { - return NULL; - } - - pDRIDrawablePriv->pDraw = (DrawablePtr)pPix; - pDRIDrawablePriv->pScreen = pScreen; - pDRIDrawablePriv->refCount = 0; - pDRIDrawablePriv->drawableIndex = -1; - pDRIDrawablePriv->notifiers = NULL; - - /* Passing a null window id to Xplugin in 10.3+ asks for - an accelerated offscreen surface. */ - - err = xp_create_surface(0, &pDRIDrawablePriv->sid); - if (err != Success) { - free(pDRIDrawablePriv); - return NULL; - } - - /* - * The DRIUpdateSurface will be called to resize the surface - * after this function, if the export is successful. - */ - - /* save private off of preallocated index */ - dixSetPrivate(&pPix->devPrivates, DRIPixmapPrivKey, - pDRIDrawablePriv); - } - - return pDRIDrawablePriv; -} - -Bool -DRICreateSurface(ScreenPtr pScreen, Drawable id, - DrawablePtr pDrawable, xp_client_id client_id, - xp_surface_id *surface_id, unsigned int ret_key[2], - void (*notify)(void *arg, void *data), void *notify_data) -{ - DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); - xp_window_id wid = 0; - DRIDrawablePrivPtr pDRIDrawablePriv; - - if (pDrawable->type == DRAWABLE_WINDOW) { - /* - * http://bugs.winehq.org/show_bug.cgi?id=31751 - */ - RootlessStopDrawing((WindowPtr)pDrawable, FALSE); - - pDRIDrawablePriv = CreateSurfaceForWindow(pScreen, - (WindowPtr)pDrawable, &wid); - - if (NULL == pDRIDrawablePriv) - return FALSE; /*error*/ - } else if (pDrawable->type == DRAWABLE_PIXMAP) { - pDRIDrawablePriv = CreateSurfaceForPixmap(pScreen, - (PixmapPtr)pDrawable); - - if (NULL == pDRIDrawablePriv) - return FALSE; /*error*/ - } else { - /* We handle GLXPbuffers in a different way (via CGL). */ - return FALSE; - } - - /* Finish initialization of new surfaces */ - if (pDRIDrawablePriv->refCount == 0) { - unsigned int key[2] = { 0 }; - xp_error err; - - /* try to give the client access to the surface */ - if (client_id != 0) { - /* - * Xplugin accepts a 0 wid if the surface id is offscreen, such - * as for a pixmap. - */ - err = xp_export_surface(wid, pDRIDrawablePriv->sid, - client_id, key); - if (err != Success) { - xp_destroy_surface(pDRIDrawablePriv->sid); - free(pDRIDrawablePriv); - - /* - * Now set the dix privates to NULL that were previously set. - * This prevents reusing an invalid pointer. - */ - if (pDrawable->type == DRAWABLE_WINDOW) { - WindowPtr pWin = (WindowPtr)pDrawable; - - dixSetPrivate(&pWin->devPrivates, DRIWindowPrivKey, NULL); - } - else if (pDrawable->type == DRAWABLE_PIXMAP) { - PixmapPtr pPix = (PixmapPtr)pDrawable; - - dixSetPrivate(&pPix->devPrivates, DRIPixmapPrivKey, NULL); - } - - return FALSE; - } - } - - pDRIDrawablePriv->key[0] = key[0]; - pDRIDrawablePriv->key[1] = key[1]; - - ++pDRIPriv->nrWindows; - - /* and stash it by surface id */ - if (surface_hash == NULL) - surface_hash = x_hash_table_new(NULL, NULL, NULL, NULL); - x_hash_table_insert(surface_hash, - x_cvt_uint_to_vptr( - pDRIDrawablePriv->sid), pDRIDrawablePriv); - - /* track this in case this window is destroyed */ - AddResource(id, DRIDrawablePrivResType, (void *)pDrawable); - - /* Initialize shape */ - DRIUpdateSurface(pDRIDrawablePriv, pDrawable); - } - - pDRIDrawablePriv->refCount++; - - *surface_id = pDRIDrawablePriv->sid; - - if (ret_key != NULL) { - ret_key[0] = pDRIDrawablePriv->key[0]; - ret_key[1] = pDRIDrawablePriv->key[1]; - } - - if (notify != NULL) { - pDRIDrawablePriv->notifiers = x_hook_add(pDRIDrawablePriv->notifiers, - notify, notify_data); - } - - return TRUE; -} - -Bool -DRIDestroySurface(ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable, - void (*notify)(void *, void *), void *notify_data) -{ - DRIDrawablePrivPtr pDRIDrawablePriv; - - if (pDrawable->type == DRAWABLE_WINDOW) { - pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW((WindowPtr)pDrawable); - } - else if (pDrawable->type == DRAWABLE_PIXMAP) { - pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_PIXMAP((PixmapPtr)pDrawable); - } - else { - return FALSE; - } - - if (pDRIDrawablePriv != NULL) { - /* - * This doesn't seem to be used, because notify is NULL in all callers. - */ - - if (notify != NULL) { - pDRIDrawablePriv->notifiers = x_hook_remove( - pDRIDrawablePriv->notifiers, - notify, notify_data); - } - - --pDRIDrawablePriv->refCount; - - /* - * Check if the drawable privates still have a reference to the - * surface. - */ - - if (pDRIDrawablePriv->refCount <= 0) { - /* - * This calls back to DRIDrawablePrivDelete which - * frees the private area and dispatches events, if needed. - */ - FreeResourceByType(id, DRIDrawablePrivResType, FALSE); - } - } - - return TRUE; -} - -/* - * The assumption is that this is called when the refCount of a surface - * drops to <= 0, or the window/pixmap is destroyed. - */ -Bool -DRIDrawablePrivDelete(void *pResource, XID id) -{ - DrawablePtr pDrawable = (DrawablePtr)pResource; - DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pDrawable->pScreen); - DRIDrawablePrivPtr pDRIDrawablePriv = NULL; - WindowPtr pWin = NULL; - PixmapPtr pPix = NULL; - - if (pDrawable->type == DRAWABLE_WINDOW) { - pWin = (WindowPtr)pDrawable; - pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin); - } - else if (pDrawable->type == DRAWABLE_PIXMAP) { - pPix = (PixmapPtr)pDrawable; - pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_PIXMAP(pPix); - } - - if (pDRIDrawablePriv == NULL) { - /* - * We reuse __func__ and the resource type for the GLXPixmap code. - * Attempt to free a pixmap buffer associated with the resource - * if possible. - */ - return DRIFreePixmapImp(pDrawable); - } - - if (pDRIDrawablePriv->drawableIndex != -1) { - /* release drawable table entry */ - pDRIPriv->DRIDrawables[pDRIDrawablePriv->drawableIndex] = NULL; - } - - if (pDRIDrawablePriv->sid != 0) { - DRISurfaceNotify(pDRIDrawablePriv->sid, - AppleDRISurfaceNotifyDestroyed); - } - - if (pDRIDrawablePriv->notifiers != NULL) - x_hook_free(pDRIDrawablePriv->notifiers); - - free(pDRIDrawablePriv); - - if (pDrawable->type == DRAWABLE_WINDOW) { - dixSetPrivate(&pWin->devPrivates, DRIWindowPrivKey, NULL); - } - else if (pDrawable->type == DRAWABLE_PIXMAP) { - dixSetPrivate(&pPix->devPrivates, DRIPixmapPrivKey, NULL); - } - - --pDRIPriv->nrWindows; - - return TRUE; -} - -void -DRICopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); - DRIDrawablePrivPtr pDRIDrawablePriv; - - if (pDRIPriv->nrWindows > 0) { - pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin); - if (pDRIDrawablePriv != NULL) { - DRIUpdateSurface(pDRIDrawablePriv, &pWin->drawable); - } - } - - /* unwrap */ - pScreen->CopyWindow = pDRIPriv->wrap.CopyWindow; - - /* call lower layers */ - (*pScreen->CopyWindow)(pWin, ptOldOrg, prgnSrc); - - /* rewrap */ - pScreen->CopyWindow = DRICopyWindow; -} - -void -DRIClipNotify(WindowPtr pWin, int dx, int dy) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen); - DRIDrawablePrivPtr pDRIDrawablePriv; - - if ((pDRIDrawablePriv = DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin))) { - DRIUpdateSurface(pDRIDrawablePriv, &pWin->drawable); - } - - if (pDRIPriv->wrap.ClipNotify) { - pScreen->ClipNotify = pDRIPriv->wrap.ClipNotify; - - (*pScreen->ClipNotify)(pWin, dx, dy); - - pScreen->ClipNotify = DRIClipNotify; - } -} - -/* This lets us get at the unwrapped functions so that they can correctly - * call the lower level functions, and choose whether they will be - * called at every level of recursion (eg in validatetree). - */ -DRIWrappedFuncsRec * -DRIGetWrappedFuncs(ScreenPtr pScreen) -{ - return &(DRI_SCREEN_PRIV(pScreen)->wrap); -} - -void -DRIQueryVersion(int *majorVersion, - int *minorVersion, - int *patchVersion) -{ - *majorVersion = APPLE_DRI_MAJOR_VERSION; - *minorVersion = APPLE_DRI_MINOR_VERSION; - *patchVersion = APPLE_DRI_PATCH_VERSION; -} - -/* - * Note: this also cleans up the hash table in addition to notifying clients. - * The sid/surface-id should not be used after this, because it will be - * invalid. - */ -void -DRISurfaceNotify(xp_surface_id id, int kind) -{ - DRIDrawablePrivPtr pDRIDrawablePriv = NULL; - DRISurfaceNotifyArg arg; - - arg.id = id; - arg.kind = kind; - - if (surface_hash != NULL) { - pDRIDrawablePriv = x_hash_table_lookup(surface_hash, - x_cvt_uint_to_vptr(id), NULL); - } - - if (pDRIDrawablePriv == NULL) - return; - - if (kind == AppleDRISurfaceNotifyDestroyed) { - x_hash_table_remove(surface_hash, x_cvt_uint_to_vptr(id)); - } - - x_hook_run(pDRIDrawablePriv->notifiers, &arg); - - if (kind == AppleDRISurfaceNotifyDestroyed) { - xp_error error; - - error = xp_destroy_surface(pDRIDrawablePriv->sid); - - if (error) - ErrorF("%s: xp_destroy_surface failed: %d\n", __func__, error); - - /* Guard against reuse, even though we are freeing after this. */ - pDRIDrawablePriv->sid = 0; - - FreeResourceByType(pDRIDrawablePriv->pDraw->id, - DRIDrawablePrivResType, FALSE); - } -} - -/* - * This creates a shared memory buffer for use with GLXPixmaps - * and AppleSGLX. - */ -Bool -DRICreatePixmap(ScreenPtr pScreen, Drawable id, - DrawablePtr pDrawable, char *path, - size_t pathmax) -{ - DRIPixmapBufferPtr shared; - PixmapPtr pPix; - - if (pDrawable->type != DRAWABLE_PIXMAP) - return FALSE; - - pPix = (PixmapPtr)pDrawable; - - shared = malloc(sizeof(*shared)); - if (NULL == shared) { - FatalError("failed to allocate DRIPixmapBuffer in %s\n", __func__); - } - - shared->pDrawable = pDrawable; - shared->refCount = 1; - - if (pDrawable->bitsPerPixel >= 24) { - shared->bytesPerPixel = 4; - } - else if (pDrawable->bitsPerPixel <= 16) { - shared->bytesPerPixel = 2; - } - - shared->width = pDrawable->width; - shared->height = pDrawable->height; - - if (-1 == snprintf(shared->shmPath, sizeof(shared->shmPath), - "%d_0x%lx", getpid(), - (unsigned long)id)) { - FatalError("buffer overflow in %s\n", __func__); - } - - shared->fd = shm_open(shared->shmPath, - O_RDWR | O_EXCL | O_CREAT, - S_IRUSR | S_IWUSR | S_IROTH | S_IWOTH); - - if (-1 == shared->fd) { - free(shared); - return FALSE; - } - - shared->length = shared->width * shared->height * shared->bytesPerPixel; - - if (-1 == ftruncate(shared->fd, shared->length)) { - ErrorF("failed to ftruncate (extend) file."); - shm_unlink(shared->shmPath); - close(shared->fd); - free(shared); - return FALSE; - } - - shared->buffer = mmap(NULL, shared->length, - PROT_READ | PROT_WRITE, - MAP_FILE | MAP_SHARED, shared->fd, 0); - - if (MAP_FAILED == shared->buffer) { - ErrorF("failed to mmap shared memory."); - shm_unlink(shared->shmPath); - close(shared->fd); - free(shared); - return FALSE; - } - - strlcpy(path, shared->shmPath, pathmax); - - dixSetPrivate(&pPix->devPrivates, DRIPixmapBufferPrivKey, shared); - - AddResource(id, DRIDrawablePrivResType, (void *)pDrawable); - - return TRUE; -} - -Bool -DRIGetPixmapData(DrawablePtr pDrawable, int *width, int *height, - int *pitch, int *bpp, void **ptr) -{ - PixmapPtr pPix; - DRIPixmapBufferPtr shared; - - if (pDrawable->type != DRAWABLE_PIXMAP) - return FALSE; - - pPix = (PixmapPtr)pDrawable; - - shared = dixLookupPrivate(&pPix->devPrivates, DRIPixmapBufferPrivKey); - - if (NULL == shared) - return FALSE; - - assert(pDrawable->width == shared->width); - assert(pDrawable->height == shared->height); - - *width = shared->width; - *height = shared->height; - *bpp = shared->bytesPerPixel; - *pitch = shared->width * shared->bytesPerPixel; - *ptr = shared->buffer; - - return TRUE; -} - -static Bool -DRIFreePixmapImp(DrawablePtr pDrawable) -{ - DRIPixmapBufferPtr shared; - PixmapPtr pPix; - - if (pDrawable->type != DRAWABLE_PIXMAP) - return FALSE; - - pPix = (PixmapPtr)pDrawable; - - shared = dixLookupPrivate(&pPix->devPrivates, DRIPixmapBufferPrivKey); - - if (NULL == shared) - return FALSE; - - close(shared->fd); - munmap(shared->buffer, shared->length); - shm_unlink(shared->shmPath); - free(shared); - - dixSetPrivate(&pPix->devPrivates, DRIPixmapBufferPrivKey, (void *)NULL); - - return TRUE; -} - -void -DRIDestroyPixmap(DrawablePtr pDrawable) -{ - if (DRIFreePixmapImp(pDrawable)) - FreeResourceByType(pDrawable->id, DRIDrawablePrivResType, FALSE); - -} diff --git a/hw/xquartz/xpr/dri.h b/hw/xquartz/xpr/dri.h deleted file mode 100644 index a4400a220..000000000 --- a/hw/xquartz/xpr/dri.h +++ /dev/null @@ -1,129 +0,0 @@ -/************************************************************************** - - Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. - Copyright (c) 2002-2012 Apple Computer, Inc. - All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sub license, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice (including the - next paragraph) shall be included in all copies or substantial portions - of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* - * Authors: - * Jens Owen - * Jeremy Huddleston - */ - -/* Prototypes for AppleDRI functions */ - -#ifndef _DRI_H_ -#define _DRI_H_ - -#include -#include "scrnintstr.h" -#define _APPLEDRI_SERVER_ -#include "appledri.h" -#include - -typedef void (*ClipNotifyPtr)(WindowPtr, int, int); - -/* - * These functions can be wrapped by the DRI. Each of these have - * generic default funcs (initialized in DRICreateInfoRec) and can be - * overridden by the driver in its [driver]DRIScreenInit function. - */ -typedef struct { - CopyWindowProcPtr CopyWindow; - ClipNotifyProcPtr ClipNotify; -} DRIWrappedFuncsRec, *DRIWrappedFuncsPtr; - -typedef struct { - xp_surface_id id; - int kind; -} DRISurfaceNotifyArg; - -extern Bool -DRIScreenInit(ScreenPtr pScreen); - -extern Bool -DRIFinishScreenInit(ScreenPtr pScreen); - -extern void -DRICloseScreen(ScreenPtr pScreen); - -extern Bool -DRIExtensionInit(void); - -extern void -DRIReset(void); - -extern Bool -DRIQueryDirectRenderingCapable(ScreenPtr pScreen, Bool *isCapable); - -extern Bool -DRIAuthConnection(ScreenPtr pScreen, unsigned int magic); - -extern Bool DRICreateSurface(ScreenPtr pScreen, - Drawable id, - DrawablePtr pDrawable, - xp_client_id client_id, - xp_surface_id * surface_id, - unsigned int key[2], - void (*notify)(void *arg, void *data), - void *notify_data); - -extern Bool -DRIDestroySurface(ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable, - void (*notify)(void *arg, - void *data), void *notify_data); - -extern Bool -DRIDrawablePrivDelete(void *pResource, XID id); - -extern DRIWrappedFuncsRec * -DRIGetWrappedFuncs(ScreenPtr pScreen); - -extern void -DRICopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc); - -extern void -DRIClipNotify(WindowPtr pWin, int dx, int dy); - -extern void -DRISurfaceNotify(xp_surface_id id, int kind); - -extern void -DRIQueryVersion(int *majorVersion, int *minorVersion, int *patchVersion); - -extern Bool -DRICreatePixmap(ScreenPtr pScreen, Drawable id, DrawablePtr pDrawable, - char *path, - size_t pathmax); - -extern Bool -DRIGetPixmapData(DrawablePtr pDrawable, int *width, int *height, int *pitch, - int *bpp, - void **ptr); - -extern void -DRIDestroyPixmap(DrawablePtr pDrawable); - -#endif diff --git a/hw/xquartz/xpr/driWrap.c b/hw/xquartz/xpr/driWrap.c deleted file mode 100644 index f588a834d..000000000 --- a/hw/xquartz/xpr/driWrap.c +++ /dev/null @@ -1,569 +0,0 @@ -/* - * Copyright (c) 2009-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#include "mi.h" -#include "scrnintstr.h" -#include "gcstruct.h" -#include "pixmapstr.h" -#include "windowstr.h" -#include "dixfontstr.h" -#include "mivalidate.h" -#include "driWrap.h" -#include "dri.h" - -#include - -typedef struct { - GCOps const *originalOps; -} DRIGCRec; - -typedef struct { - GCOps *originalOps; - CreateGCProcPtr CreateGC; -} DRIWrapScreenRec; - -typedef struct { - Bool didSave; - int devKind; - DevUnion devPrivate; -} DRISavedDrawableState; - -static DevPrivateKeyRec driGCKeyRec; -#define driGCKey (&driGCKeyRec) - -static DevPrivateKeyRec driWrapScreenKeyRec; -#define driWrapScreenKey (&driWrapScreenKeyRec) - -static GCOps driGCOps; - -#define wrap(priv, real, member, func) { \ - priv->member = real->member; \ - real->member = func; \ -} - -#define unwrap(priv, real, member) { \ - real->member = priv->member; \ -} - -static DRIGCRec * -DRIGetGCPriv(GCPtr pGC) -{ - return dixLookupPrivate(&pGC->devPrivates, driGCKey); -} - -static void -DRIUnwrapGC(GCPtr pGC) -{ - DRIGCRec *pGCPriv = DRIGetGCPriv(pGC); - - pGC->ops = pGCPriv->originalOps; -} - -static void -DRIWrapGC(GCPtr pGC) -{ - pGC->ops = &driGCOps; -} - -static void -DRISurfaceSetDrawable(DrawablePtr pDraw, - DRISavedDrawableState *saved) -{ - saved->didSave = FALSE; - - if (pDraw->type == DRAWABLE_PIXMAP) { - int pitch, width, height, bpp; - void *buffer; - - if (DRIGetPixmapData(pDraw, &width, &height, &pitch, &bpp, - &buffer)) { - PixmapPtr pPix = (PixmapPtr)pDraw; - - saved->devKind = pPix->devKind; - saved->devPrivate.ptr = pPix->devPrivate.ptr; - saved->didSave = TRUE; - - pPix->devKind = pitch; - pPix->devPrivate.ptr = buffer; - } - } -} - -static void -DRISurfaceRestoreDrawable(DrawablePtr pDraw, - DRISavedDrawableState *saved) -{ - PixmapPtr pPix = (PixmapPtr)pDraw; - - if (!saved->didSave) - return; - - pPix->devKind = saved->devKind; - pPix->devPrivate.ptr = saved->devPrivate.ptr; -} - -static void -DRIFillSpans(DrawablePtr dst, GCPtr pGC, int nInit, - DDXPointPtr pptInit, int *pwidthInit, - int sorted) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->FillSpans(dst, pGC, nInit, pptInit, pwidthInit, sorted); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRISetSpans(DrawablePtr dst, GCPtr pGC, char *pSrc, - DDXPointPtr pptInit, int *pwidthInit, - int nspans, int sorted) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->SetSpans(dst, pGC, pSrc, pptInit, pwidthInit, nspans, sorted); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIPutImage(DrawablePtr dst, GCPtr pGC, - int depth, int x, int y, int w, int h, - int leftPad, int format, char *pBits) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->PutImage(dst, pGC, depth, x, y, w, h, leftPad, format, pBits); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static RegionPtr -DRICopyArea(DrawablePtr pSrc, DrawablePtr dst, GCPtr pGC, - int srcx, int srcy, int w, int h, - int dstx, int dsty) -{ - RegionPtr pReg; - DRISavedDrawableState pSrcSaved, dstSaved; - - DRISurfaceSetDrawable(pSrc, &pSrcSaved); - DRISurfaceSetDrawable(dst, &dstSaved); - - DRIUnwrapGC(pGC); - - pReg = pGC->ops->CopyArea(pSrc, dst, pGC, srcx, srcy, w, h, dstx, dsty); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(pSrc, &pSrcSaved); - DRISurfaceRestoreDrawable(dst, &dstSaved); - - return pReg; -} - -static RegionPtr -DRICopyPlane(DrawablePtr pSrc, DrawablePtr dst, - GCPtr pGC, int srcx, int srcy, - int w, int h, int dstx, int dsty, - unsigned long plane) -{ - RegionPtr pReg; - DRISavedDrawableState pSrcSaved, dstSaved; - - DRISurfaceSetDrawable(pSrc, &pSrcSaved); - DRISurfaceSetDrawable(dst, &dstSaved); - - DRIUnwrapGC(pGC); - - pReg = pGC->ops->CopyPlane(pSrc, dst, pGC, srcx, srcy, w, h, dstx, dsty, - plane); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(pSrc, &pSrcSaved); - DRISurfaceRestoreDrawable(dst, &dstSaved); - - return pReg; -} - -static void -DRIPolyPoint(DrawablePtr dst, GCPtr pGC, - int mode, int npt, DDXPointPtr pptInit) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->PolyPoint(dst, pGC, mode, npt, pptInit); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIPolylines(DrawablePtr dst, GCPtr pGC, - int mode, int npt, DDXPointPtr pptInit) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->Polylines(dst, pGC, mode, npt, pptInit); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIPolySegment(DrawablePtr dst, GCPtr pGC, - int nseg, xSegment *pSeg) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->PolySegment(dst, pGC, nseg, pSeg); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIPolyRectangle(DrawablePtr dst, GCPtr pGC, - int nRects, xRectangle *pRects) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->PolyRectangle(dst, pGC, nRects, pRects); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} -static void -DRIPolyArc(DrawablePtr dst, GCPtr pGC, int narcs, xArc *parcs) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->PolyArc(dst, pGC, narcs, parcs); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIFillPolygon(DrawablePtr dst, GCPtr pGC, - int shape, int mode, int count, - DDXPointPtr pptInit) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->FillPolygon(dst, pGC, shape, mode, count, pptInit); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIPolyFillRect(DrawablePtr dst, GCPtr pGC, - int nRectsInit, xRectangle *pRectsInit) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->PolyFillRect(dst, pGC, nRectsInit, pRectsInit); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIPolyFillArc(DrawablePtr dst, GCPtr pGC, - int narcsInit, xArc *parcsInit) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->PolyFillArc(dst, pGC, narcsInit, parcsInit); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static int -DRIPolyText8(DrawablePtr dst, GCPtr pGC, - int x, int y, int count, char *chars) -{ - int ret; - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - ret = pGC->ops->PolyText8(dst, pGC, x, y, count, chars); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); - - return ret; -} - -static int -DRIPolyText16(DrawablePtr dst, GCPtr pGC, - int x, int y, int count, unsigned short *chars) -{ - int ret; - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - ret = pGC->ops->PolyText16(dst, pGC, x, y, count, chars); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); - - return ret; -} - -static void -DRIImageText8(DrawablePtr dst, GCPtr pGC, - int x, int y, int count, char *chars) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->ImageText8(dst, pGC, x, y, count, chars); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIImageText16(DrawablePtr dst, GCPtr pGC, - int x, int y, int count, unsigned short *chars) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->ImageText16(dst, pGC, x, y, count, chars); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIImageGlyphBlt(DrawablePtr dst, GCPtr pGC, - int x, int y, unsigned int nglyphInit, - CharInfoPtr *ppciInit, void *unused) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->ImageGlyphBlt(dst, pGC, x, y, nglyphInit, ppciInit, unused); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIPolyGlyphBlt(DrawablePtr dst, GCPtr pGC, - int x, int y, unsigned int nglyph, - CharInfoPtr *ppci, void *pglyphBase) -{ - DRISavedDrawableState saved; - - DRISurfaceSetDrawable(dst, &saved); - - DRIUnwrapGC(pGC); - - pGC->ops->PolyGlyphBlt(dst, pGC, x, y, nglyph, ppci, pglyphBase); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(dst, &saved); -} - -static void -DRIPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr dst, - int dx, int dy, int xOrg, int yOrg) -{ - DRISavedDrawableState bitMapSaved, dstSaved; - - DRISurfaceSetDrawable(&pBitMap->drawable, &bitMapSaved); - DRISurfaceSetDrawable(dst, &dstSaved); - - DRIUnwrapGC(pGC); - - pGC->ops->PushPixels(pGC, pBitMap, dst, dx, dy, xOrg, yOrg); - - DRIWrapGC(pGC); - - DRISurfaceRestoreDrawable(&pBitMap->drawable, &bitMapSaved); - DRISurfaceRestoreDrawable(dst, &dstSaved); -} - -static GCOps driGCOps = { - DRIFillSpans, - DRISetSpans, - DRIPutImage, - DRICopyArea, - DRICopyPlane, - DRIPolyPoint, - DRIPolylines, - DRIPolySegment, - DRIPolyRectangle, - DRIPolyArc, - DRIFillPolygon, - DRIPolyFillRect, - DRIPolyFillArc, - DRIPolyText8, - DRIPolyText16, - DRIImageText8, - DRIImageText16, - DRIImageGlyphBlt, - DRIPolyGlyphBlt, - DRIPushPixels -}; - -static Bool -DRICreateGC(GCPtr pGC) -{ - ScreenPtr pScreen = pGC->pScreen; - DRIWrapScreenRec *pScreenPriv; - DRIGCRec *pGCPriv; - Bool ret; - - pScreenPriv = dixLookupPrivate(&pScreen->devPrivates, driWrapScreenKey); - - pGCPriv = DRIGetGCPriv(pGC); - - unwrap(pScreenPriv, pScreen, CreateGC); - ret = pScreen->CreateGC(pGC); - - if (ret) { - pGCPriv->originalOps = pGC->ops; - pGC->ops = &driGCOps; - } - - wrap(pScreenPriv, pScreen, CreateGC, DRICreateGC); - - return ret; -} - -/* Return false if an error occurred. */ -Bool -DRIWrapInit(ScreenPtr pScreen) -{ - DRIWrapScreenRec *pScreenPriv; - - if (!dixRegisterPrivateKey(&driGCKeyRec, PRIVATE_GC, sizeof(DRIGCRec))) - return FALSE; - - if (!dixRegisterPrivateKey(&driWrapScreenKeyRec, PRIVATE_SCREEN, - sizeof(DRIWrapScreenRec))) - return FALSE; - - pScreenPriv = dixGetPrivateAddr(&pScreen->devPrivates, - &driWrapScreenKeyRec); - pScreenPriv->CreateGC = pScreen->CreateGC; - pScreen->CreateGC = DRICreateGC; - - return TRUE; -} diff --git a/hw/xquartz/xpr/driWrap.h b/hw/xquartz/xpr/driWrap.h deleted file mode 100644 index 1bc34ee9e..000000000 --- a/hw/xquartz/xpr/driWrap.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (c) 2009-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef DRIWRAP_H -#include "scrnintstr.h" - -Bool -DRIWrapInit(ScreenPtr pScreen); - -#endif /*DRIWRAP_H*/ diff --git a/hw/xquartz/xpr/dristruct.h b/hw/xquartz/xpr/dristruct.h deleted file mode 100644 index 068e9a253..000000000 --- a/hw/xquartz/xpr/dristruct.h +++ /dev/null @@ -1,84 +0,0 @@ -/************************************************************************** - - Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. - Copyright (c) 2002-2012 Apple Computer, Inc. - All Rights Reserved. - - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sub license, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice (including the - next paragraph) shall be included in all copies or substantial portions - of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS - OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. - IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR - ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -**************************************************************************/ - -/* - * Authors: - * Jens Owen - * Jeremy Huddleston - */ - -#ifndef DRI_STRUCT_H -#define DRI_STRUCT_H - -#include "dri.h" -#include "x-list.h" - -#define DRI_MAX_DRAWABLES 256 - -#define DRI_DRAWABLE_PRIV_FROM_WINDOW(pWin) ((DRIDrawablePrivPtr) \ - dixLookupPrivate(&(pWin)-> \ - devPrivates, \ - DRIWindowPrivKey)) - -#define DRI_DRAWABLE_PRIV_FROM_PIXMAP(pPix) ((DRIDrawablePrivPtr) \ - dixLookupPrivate(&(pPix)-> \ - devPrivates, \ - DRIPixmapPrivKey)) - -typedef struct _DRIDrawablePrivRec { - xp_surface_id sid; - int drawableIndex; - DrawablePtr pDraw; - ScreenPtr pScreen; - int refCount; - unsigned int key[2]; - x_list *notifiers; /* list of (FUN . DATA) */ -} DRIDrawablePrivRec, *DRIDrawablePrivPtr; - -#define DRI_SCREEN_PRIV(pScreen) ((DRIScreenPrivPtr) \ - dixLookupPrivate(&(pScreen) \ - -> \ - devPrivates, \ - DRIScreenPrivKey)) - -#define DRI_SCREEN_PRIV_FROM_INDEX(screenIndex) ((DRIScreenPrivPtr) \ - dixLookupPrivate(&screenInfo \ - .screens[ \ - screenIndex \ - ]-> \ - devPrivates, \ - DRIScreenPrivKey)) - -typedef struct _DRIScreenPrivRec { - Bool directRenderingSupport; - int nrWindows; - DRIWrappedFuncsRec wrap; - DrawablePtr DRIDrawables[DRI_MAX_DRAWABLES]; -} DRIScreenPrivRec, *DRIScreenPrivPtr; - -#endif /* DRI_STRUCT_H */ diff --git a/hw/xquartz/xpr/meson.build b/hw/xquartz/xpr/meson.build deleted file mode 100644 index 590727f47..000000000 --- a/hw/xquartz/xpr/meson.build +++ /dev/null @@ -1,18 +0,0 @@ -libXquartzXpr = static_library('XquartzXpr', - [ - 'appledri.c', - 'dri.c', - 'driWrap.c', - 'xprAppleWM.c', - 'xprCursor.c', - 'xprEvent.c', - 'xprFrame.c', - 'xprScreen.c', - 'x-hash.c', - 'x-hook.c', - 'x-list.c', - ], - include_directories: [inc, '..', '../../../pseudoramiX', '../../../miext/rootless'], - c_args: [bundle_id_def, '-DXQUARTZ'], - dependencies: [xproto_dep, pixman_dep], -) diff --git a/hw/xquartz/xpr/x-hash.c b/hw/xquartz/xpr/x-hash.c deleted file mode 100644 index 087656d9b..000000000 --- a/hw/xquartz/xpr/x-hash.c +++ /dev/null @@ -1,321 +0,0 @@ -/* x-hash.c - basic hash tables - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "x-hash.h" -#include "x-list.h" -#include -#include - -#define ARRAY_SIZE(a) (sizeof((a)) / sizeof((a)[0])) - -struct x_hash_table_struct { - unsigned int bucket_index; - unsigned int total_keys; - x_list **buckets; - - x_hash_fun *hash_key; - x_compare_fun *compare_keys; - x_destroy_fun *destroy_key; - x_destroy_fun *destroy_value; -}; - -#define ITEM_NEW(k, v) X_PFX(list_prepend) ((x_list *)(k), v) -#define ITEM_FREE(i) X_PFX(list_free_1) (i) -#define ITEM_KEY(i) ((void *)(i)->next) -#define ITEM_VALUE(i) ((i)->data) - -#define SPLIT_THRESHOLD_FACTOR 2 - -/* http://planetmath.org/?op=getobj&from=objects&name=GoodHashTablePrimes */ -static const unsigned int bucket_sizes[] = { - 29, 53, 97, 193, 389, 769, 1543, - 3079, 6151, 12289, 24593, 49157, - 98317, 196613, 393241, 786433, 1572869, 3145739, 6291469, - 12582917, - 25165843, 50331653, 100663319, 201326611, 402653189, 805306457, - 1610612741 -}; - -static inline unsigned int -hash_table_total_buckets(x_hash_table *h) -{ - return bucket_sizes[h->bucket_index]; -} - -static inline void -hash_table_destroy_item(x_hash_table *h, void *k, void *v) -{ - if (h->destroy_key != 0) - (*h->destroy_key)(k); - - if (h->destroy_value != 0) - (*h->destroy_value)(v); -} - -static inline size_t -hash_table_hash_key(x_hash_table *h, void *k) -{ - if (h->hash_key != 0) - return (*h->hash_key)(k); - else - return (size_t)k; -} - -static inline int -hash_table_compare_keys(x_hash_table *h, void *k1, void *k2) -{ - if (h->compare_keys == 0) - return k1 == k2; - else - return (*h->compare_keys)(k1, k2) == 0; -} - -static void -hash_table_split(x_hash_table *h) -{ - x_list **new, **old; - x_list *node, *item, *next; - int new_size, old_size; - size_t b; - int i; - - if (h->bucket_index == ARRAY_SIZE(bucket_sizes) - 1) - return; - - old_size = hash_table_total_buckets(h); - old = h->buckets; - - h->bucket_index++; - - new_size = hash_table_total_buckets(h); - new = calloc(new_size, sizeof(x_list *)); - - if (new == 0) { - h->bucket_index--; - return; - } - - for (i = 0; i < old_size; i++) { - for (node = old[i]; node != 0; node = next) { - next = node->next; - item = node->data; - - b = hash_table_hash_key(h, ITEM_KEY(item)) % new_size; - - node->next = new[b]; - new[b] = node; - } - } - - h->buckets = new; - free(old); -} - -X_EXTERN x_hash_table * -X_PFX(hash_table_new) (x_hash_fun * hash, - x_compare_fun * compare, - x_destroy_fun * key_destroy, - x_destroy_fun * value_destroy) { - x_hash_table *h; - - h = calloc(1, sizeof(x_hash_table)); - if (h == 0) - return 0; - - h->bucket_index = 0; - h->buckets = calloc(hash_table_total_buckets(h), sizeof(x_list *)); - - if (h->buckets == 0) { - free(h); - return 0; - } - - h->hash_key = hash; - h->compare_keys = compare; - h->destroy_key = key_destroy; - h->destroy_value = value_destroy; - - return h; -} - -X_EXTERN void -X_PFX(hash_table_free) (x_hash_table * h) { - int n, i; - x_list *node, *item; - - assert(h != NULL); - - n = hash_table_total_buckets(h); - - for (i = 0; i < n; i++) { - for (node = h->buckets[i]; node != 0; node = node->next) { - item = node->data; - hash_table_destroy_item(h, ITEM_KEY(item), ITEM_VALUE(item)); - ITEM_FREE(item); - } - X_PFX(list_free) (h->buckets[i]); - } - - free(h->buckets); - free(h); -} - -X_EXTERN unsigned int -X_PFX(hash_table_size) (x_hash_table * h) { - assert(h != NULL); - - return h->total_keys; -} - -static void -hash_table_modify(x_hash_table *h, void *k, void *v, int replace) -{ - size_t hash_value; - x_list *node, *item; - - assert(h != NULL); - - hash_value = hash_table_hash_key(h, k); - - for (node = h->buckets[hash_value % hash_table_total_buckets(h)]; - node != 0; node = node->next) { - item = node->data; - - if (hash_table_compare_keys(h, ITEM_KEY(item), k)) { - if (replace) { - hash_table_destroy_item(h, ITEM_KEY(item), - ITEM_VALUE(item)); - item->next = k; - ITEM_VALUE(item) = v; - } - else { - hash_table_destroy_item(h, k, ITEM_VALUE(item)); - ITEM_VALUE(item) = v; - } - return; - } - } - - /* Key isn't already in the table. Insert it. */ - - if (h->total_keys + 1 - > hash_table_total_buckets(h) * SPLIT_THRESHOLD_FACTOR) { - hash_table_split(h); - } - - hash_value = hash_value % hash_table_total_buckets(h); - h->buckets[hash_value] = X_PFX(list_prepend) (h->buckets[hash_value], - ITEM_NEW(k, v)); - h->total_keys++; -} - -X_EXTERN void -X_PFX(hash_table_insert) (x_hash_table * h, void *k, void *v) { - hash_table_modify(h, k, v, 0); -} - -X_EXTERN void -X_PFX(hash_table_replace) (x_hash_table * h, void *k, void *v) { - hash_table_modify(h, k, v, 1); -} - -X_EXTERN void -X_PFX(hash_table_remove) (x_hash_table * h, void *k) { - size_t hash_value; - x_list **ptr, *item; - - assert(h != NULL); - - hash_value = hash_table_hash_key(h, k); - - for (ptr = &h->buckets[hash_value % hash_table_total_buckets(h)]; - *ptr != 0; ptr = &((*ptr)->next)) { - item = (*ptr)->data; - - if (hash_table_compare_keys(h, ITEM_KEY(item), k)) { - hash_table_destroy_item(h, ITEM_KEY(item), ITEM_VALUE(item)); - ITEM_FREE(item); - item = *ptr; - *ptr = item->next; - X_PFX(list_free_1) (item); - h->total_keys--; - return; - } - } -} - -X_EXTERN void * -X_PFX(hash_table_lookup) (x_hash_table * h, void *k, void **k_ret) { - size_t hash_value; - x_list *node, *item; - - assert(h != NULL); - - hash_value = hash_table_hash_key(h, k); - - for (node = h->buckets[hash_value % hash_table_total_buckets(h)]; - node != 0; node = node->next) { - item = node->data; - - if (hash_table_compare_keys(h, ITEM_KEY(item), k)) { - if (k_ret != 0) - *k_ret = ITEM_KEY(item); - - return ITEM_VALUE(item); - } - } - - if (k_ret != 0) - *k_ret = 0; - - return 0; -} - -X_EXTERN void -X_PFX(hash_table_foreach) (x_hash_table * h, - x_hash_foreach_fun * fun, void *data) { - int i, n; - x_list *node, *item; - - assert(h != NULL); - - n = hash_table_total_buckets(h); - - for (i = 0; i < n; i++) { - for (node = h->buckets[i]; node != 0; node = node->next) { - item = node->data; - (*fun)(ITEM_KEY(item), ITEM_VALUE(item), data); - } - } -} diff --git a/hw/xquartz/xpr/x-hash.h b/hw/xquartz/xpr/x-hash.h deleted file mode 100644 index 2cdae7c5d..000000000 --- a/hw/xquartz/xpr/x-hash.h +++ /dev/null @@ -1,90 +0,0 @@ -/* x-hash.h -- basic hash table class - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef X_HASH_H -#define X_HASH_H 1 - -#include -#include - -typedef struct x_hash_table_struct x_hash_table; - -typedef int (x_compare_fun)(const void *a, const void *b); -typedef unsigned int (x_hash_fun)(const void *k); -typedef void (x_destroy_fun)(void *x); -typedef void (x_hash_foreach_fun)(void *k, void *v, void *data); - -/* for X_PFX and X_EXTERN */ -#include "x-list.h" - -X_EXTERN x_hash_table *X_PFX(hash_table_new) (x_hash_fun * hash, - x_compare_fun * compare, - x_destroy_fun * key_destroy, - x_destroy_fun * value_destroy); -X_EXTERN void X_PFX(hash_table_free) (x_hash_table * h); - -X_EXTERN unsigned int X_PFX(hash_table_size) (x_hash_table * h); - -X_EXTERN void X_PFX(hash_table_insert) (x_hash_table * h, void *k, void *v); -X_EXTERN void X_PFX(hash_table_replace) (x_hash_table * h, void *k, void *v); -X_EXTERN void X_PFX(hash_table_remove) (x_hash_table * h, void *k); -X_EXTERN void *X_PFX(hash_table_lookup) (x_hash_table * h, - void *k, void **k_ret); -X_EXTERN void X_PFX(hash_table_foreach) (x_hash_table * h, - x_hash_foreach_fun * fun, - void *data); - -/* Conversion between unsigned int (e.g. xp_resource_id) and void pointer */ - -/* Forward declarations */ -static __inline__ void * -X_PFX(cvt_uint_to_vptr) (unsigned int val) __attribute__((always_inline)); -static __inline__ unsigned int -X_PFX(cvt_vptr_to_uint) (void * val) __attribute__((always_inline)); - -/* Implementations */ -static __inline__ void * -X_PFX(cvt_uint_to_vptr) (unsigned int val) { - return (void *)((unsigned long)(val)); -} - -static __inline__ unsigned int -X_PFX(cvt_vptr_to_uint) (void * val) { - size_t sv = (size_t)val; - unsigned int uv = (unsigned int)sv; - - /* If this assert fails, chances are val actually is a pointer, - or there's been memory corruption */ - assert(sv == uv); - - return uv; -} - -#endif /* X_HASH_H */ diff --git a/hw/xquartz/xpr/x-hook.c b/hw/xquartz/xpr/x-hook.c deleted file mode 100644 index 3922bb86c..000000000 --- a/hw/xquartz/xpr/x-hook.c +++ /dev/null @@ -1,97 +0,0 @@ -/* x-hook.c - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "x-hook.h" -#include -#include -#include "os.h" - -#define CELL_NEW(f, d) X_PFX(list_prepend) ((x_list *)(f), (d)) -#define CELL_FREE(c) X_PFX(list_free_1) (c) -#define CELL_FUN(c) ((x_hook_function *)((c)->next)) -#define CELL_DATA(c) ((c)->data) - -X_EXTERN x_list * -X_PFX(hook_add) (x_list * lst, x_hook_function * fun, void *data) { - return X_PFX(list_prepend) (lst, CELL_NEW(fun, data)); -} - -X_EXTERN x_list * -X_PFX(hook_remove) (x_list * lst, x_hook_function * fun, void *data) { - x_list *node, *cell; - x_list *to_delete = NULL; - - for (node = lst; node != NULL; node = node->next) { - cell = node->data; - if (CELL_FUN(cell) == fun && CELL_DATA(cell) == data) - to_delete = X_PFX(list_prepend) (to_delete, cell); - } - - for (node = to_delete; node != NULL; node = node->next) { - cell = node->data; - lst = X_PFX(list_remove) (lst, cell); - CELL_FREE(cell); - } - - X_PFX(list_free) (to_delete); - return lst; -} - -X_EXTERN void -X_PFX(hook_run) (x_list * lst, void *arg) { - x_list *node; - - if (!lst) - return; - - for (node = lst; node != NULL; node = node->next) { - x_list *cell = node->data; - - x_hook_function *fun = CELL_FUN(cell); - void *data = CELL_DATA(cell); - - (*fun)(arg, data); - } -} - -X_EXTERN void -X_PFX(hook_free) (x_list * lst) { - x_list *node; - - for (node = lst; node != NULL; node = node->next) { - CELL_FREE(node->data); - } - - X_PFX(list_free) (lst); -} diff --git a/hw/xquartz/xpr/x-hook.h b/hw/xquartz/xpr/x-hook.h deleted file mode 100644 index 7ba8ac9f6..000000000 --- a/hw/xquartz/xpr/x-hook.h +++ /dev/null @@ -1,45 +0,0 @@ -/* x-hook.h -- lists of function,data pairs to call. - * - * Copyright (c) 2003-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef X_HOOK_H -#define X_HOOK_H 1 - -#include "x-list.h" - -typedef void x_hook_function (void *arg, void *data); - -X_EXTERN x_list *X_PFX(hook_add) (x_list * lst, x_hook_function * fun, - void *data); -X_EXTERN x_list *X_PFX(hook_remove) (x_list * lst, x_hook_function * fun, - void *data); -X_EXTERN void X_PFX(hook_run) (x_list * lst, void *arg); -X_EXTERN void X_PFX(hook_free) (x_list * lst); - -#endif /* X_HOOK_H */ diff --git a/hw/xquartz/xpr/x-list.c b/hw/xquartz/xpr/x-list.c deleted file mode 100644 index 171657686..000000000 --- a/hw/xquartz/xpr/x-list.c +++ /dev/null @@ -1,315 +0,0 @@ -/* x-list.c - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "x-list.h" -#include -#include -#include - -/* Allocate in ~4k blocks */ -#define NODES_PER_BLOCK 508 - -typedef struct x_list_block_struct x_list_block; - -struct x_list_block_struct { - x_list l[NODES_PER_BLOCK]; -}; - -static x_list *freelist; - -static pthread_mutex_t freelist_lock = PTHREAD_MUTEX_INITIALIZER; - -static inline void -list_free_1(x_list *node) -{ - node->next = freelist; - freelist = node; -} - -X_EXTERN void -X_PFX(list_free_1) (x_list * node) { - assert(node != NULL); - - pthread_mutex_lock(&freelist_lock); - - list_free_1(node); - - pthread_mutex_unlock(&freelist_lock); -} - -X_EXTERN void -X_PFX(list_free) (x_list * lst) { - x_list *next; - - pthread_mutex_lock(&freelist_lock); - - for (; lst != NULL; lst = next) { - next = lst->next; - list_free_1(lst); - } - - pthread_mutex_unlock(&freelist_lock); -} - -X_EXTERN x_list * -X_PFX(list_prepend) (x_list * lst, void *data) { - x_list *node; - - pthread_mutex_lock(&freelist_lock); - - if (freelist == NULL) { - x_list_block *b; - int i; - - b = malloc(sizeof(x_list_block)); - assert(b != NULL); - - for (i = 0; i < NODES_PER_BLOCK - 1; i++) - b->l[i].next = &(b->l[i + 1]); - b->l[i].next = NULL; - - freelist = b->l; - } - - node = freelist; - freelist = node->next; - - pthread_mutex_unlock(&freelist_lock); - - node->next = lst; - node->data = data; - - return node; -} - -X_EXTERN x_list * -X_PFX(list_append) (x_list * lst, void *data) { - x_list *head = lst; - - if (lst == NULL) - return X_PFX(list_prepend) (NULL, data); - - while (lst->next != NULL) - lst = lst->next; - - lst->next = X_PFX(list_prepend) (NULL, data); - - return head; -} - -X_EXTERN x_list * -X_PFX(list_reverse) (x_list * lst) { - x_list *head = NULL, *next; - - while (lst != NULL) - { - next = lst->next; - lst->next = head; - head = lst; - lst = next; - } - - return head; -} - -X_EXTERN x_list * -X_PFX(list_find) (x_list * lst, void *data) { - for (; lst != NULL; lst = lst->next) { - if (lst->data == data) - return lst; - } - - return NULL; -} - -X_EXTERN x_list * -X_PFX(list_nth) (x_list * lst, int n) { - while (n-- > 0 && lst != NULL) - lst = lst->next; - - return lst; -} - -X_EXTERN x_list * -X_PFX(list_pop) (x_list * lst, void **data_ret) { - void *data = NULL; - - if (lst != NULL) { - x_list *tem = lst; - data = lst->data; - lst = lst->next; - X_PFX(list_free_1) (tem); - } - - if (data_ret != NULL) - *data_ret = data; - - return lst; -} - -X_EXTERN x_list * -X_PFX(list_filter) (x_list * lst, - int (*pred)(void *item, void *data), void *data) { - x_list *ret = NULL, *node; - - for (node = lst; node != NULL; node = node->next) { - if ((*pred)(node->data, data)) - ret = X_PFX(list_prepend) (ret, node->data); - } - - return X_PFX(list_reverse) (ret); -} - -X_EXTERN x_list * -X_PFX(list_map) (x_list * lst, - void *(*fun)(void *item, void *data), void *data) { - x_list *ret = NULL, *node; - - for (node = lst; node != NULL; node = node->next) { - X_PFX(list_prepend) (ret, fun(node->data, data)); - } - - return X_PFX(list_reverse) (ret); -} - -X_EXTERN x_list * -X_PFX(list_copy) (x_list * lst) { - x_list *copy = NULL; - - for (; lst != NULL; lst = lst->next) { - copy = X_PFX(list_prepend) (copy, lst->data); - } - - return X_PFX(list_reverse) (copy); -} - -X_EXTERN x_list * -X_PFX(list_remove) (x_list * lst, void *data) { - x_list **ptr, *node; - - for (ptr = &lst; *ptr != NULL;) { - node = *ptr; - - if (node->data == data) { - *ptr = node->next; - X_PFX(list_free_1) (node); - } - else - ptr = &((*ptr)->next); - } - - return lst; -} - -X_EXTERN unsigned int -X_PFX(list_length) (x_list * lst) { - unsigned int n; - - n = 0; - for (; lst != NULL; lst = lst->next) - n++; - - return n; -} - -X_EXTERN void -X_PFX(list_foreach) (x_list * lst, - void (*fun)(void *data, void *user_data), - void *user_data) { - for (; lst != NULL; lst = lst->next) { - (*fun)(lst->data, user_data); - } -} - -static x_list * -list_sort_1(x_list *lst, int length, - int (*less)(const void *, const void *)) -{ - x_list *mid, *ptr; - x_list *out_head, *out; - int mid_point, i; - - /* This is a standard (stable) list merge sort */ - - if (length < 2) - return lst; - - /* Calculate the halfway point. Split the list into two sub-lists. */ - - mid_point = length / 2; - ptr = lst; - for (i = mid_point - 1; i > 0; i--) - ptr = ptr->next; - mid = ptr->next; - ptr->next = NULL; - - /* Sort each sub-list. */ - - lst = list_sort_1(lst, mid_point, less); - mid = list_sort_1(mid, length - mid_point, less); - - /* Then merge them back together. */ - - assert(lst != NULL); - assert(mid != NULL); - - if ((*less)(mid->data, lst->data)) - out = out_head = mid, mid = mid->next; - else - out = out_head = lst, lst = lst->next; - - while (lst != NULL && mid != NULL) - { - if ((*less)(mid->data, lst->data)) - out = out->next = mid, mid = mid->next; - else - out = out->next = lst, lst = lst->next; - } - - if (lst != NULL) - out->next = lst; - else - out->next = mid; - - return out_head; -} - -X_EXTERN x_list * -X_PFX(list_sort) (x_list * lst, int (*less)(const void *, const void *)) { - int length; - - length = X_PFX(list_length) (lst); - - return list_sort_1(lst, length, less); -} diff --git a/hw/xquartz/xpr/x-list.h b/hw/xquartz/xpr/x-list.h deleted file mode 100644 index 28385fd99..000000000 --- a/hw/xquartz/xpr/x-list.h +++ /dev/null @@ -1,78 +0,0 @@ -/* x-list.h -- simple list type - * - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef X_LIST_H -#define X_LIST_H 1 - -/* This is just a cons. */ - -typedef struct x_list_struct x_list; - -struct x_list_struct { - void *data; - x_list *next; -}; - -#ifndef X_PFX -#define X_PFX(x) x_ ## x -#endif - -#ifndef X_EXTERN -#define X_EXTERN __private_extern__ -#endif - -X_EXTERN void X_PFX(list_free_1) (x_list * node); -X_EXTERN x_list *X_PFX(list_prepend) (x_list * lst, void *data); - -X_EXTERN x_list *X_PFX(list_append) (x_list * lst, void *data); -X_EXTERN x_list *X_PFX(list_remove) (x_list * lst, void *data); -X_EXTERN void X_PFX(list_free) (x_list * lst); -X_EXTERN x_list *X_PFX(list_pop) (x_list * lst, void **data_ret); - -X_EXTERN x_list *X_PFX(list_copy) (x_list * lst); -X_EXTERN x_list *X_PFX(list_reverse) (x_list * lst); -X_EXTERN x_list *X_PFX(list_find) (x_list * lst, void *data); -X_EXTERN x_list *X_PFX(list_nth) (x_list * lst, int n); -X_EXTERN x_list *X_PFX(list_filter) (x_list * src, - int (*pred)(void *item, void *data), - void *data); -X_EXTERN x_list *X_PFX(list_map) (x_list * src, - void *(*fun)(void *item, void *data), - void *data); - -X_EXTERN unsigned int X_PFX(list_length) (x_list * lst); -X_EXTERN void X_PFX(list_foreach) (x_list * lst, void (*fun) - (void *data, void *user_data), - void *user_data); - -X_EXTERN x_list *X_PFX(list_sort) (x_list * lst, - int (*less)(const void *, const void *)); - -#endif /* X_LIST_H */ diff --git a/hw/xquartz/xpr/xpr.h b/hw/xquartz/xpr/xpr.h deleted file mode 100644 index fc614ebc3..000000000 --- a/hw/xquartz/xpr/xpr.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Xplugin rootless implementation - * - * Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 2002-2012 Apple Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifndef XPR_H -#define XPR_H - -#include "windowstr.h" -#include "screenint.h" -#include - -#include "darwin.h" - -#undef DEBUG_LOG -#define DEBUG_LOG(msg, args ...) ASL_LOG(ASL_LEVEL_DEBUG, "xpr", msg, ## args) - -Bool -QuartzModeBundleInit(void); - -void -AppleDRIExtensionInit(void); -void -xprAppleWMInit(void); -Bool -xprInit(ScreenPtr pScreen); -Bool -xprIsX11Window(int windowNumber); -WindowPtr -xprGetXWindow(xp_window_id wid); - -void -xprHideWindows(Bool hide); - -Bool -QuartzInitCursor(ScreenPtr pScreen); -void -QuartzSuspendXCursor(ScreenPtr pScreen); -void -QuartzResumeXCursor(ScreenPtr pScreen); - -/* If we are rooted, we need the root window and desktop levels to be below - * the menubar (24) but above native windows. Normal window level is 0. - * Floating window level is 3. The rest are filled in as appropriate. - * See CGWindowLevel.h - */ - -#include -static const int normal_window_levels[AppleWMNumWindowLevels + 1] = { - 0, 3, 4, 5, INT_MIN + 30, INT_MIN + 29, -}; -static const int rooted_window_levels[AppleWMNumWindowLevels + 1] = { - 20, 21, 22, 23, 19, 18, -}; - -#endif /* XPR_H */ diff --git a/hw/xquartz/xpr/xprAppleWM.c b/hw/xquartz/xpr/xprAppleWM.c deleted file mode 100644 index 126661766..000000000 --- a/hw/xquartz/xpr/xprAppleWM.c +++ /dev/null @@ -1,155 +0,0 @@ -/* - * Xplugin rootless implementation functions for AppleWM extension - * - * Copyright (c) 2002-2012 Apple Computer, Inc. All rights reserved. - * Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "xpr.h" - -#include - -#include "applewmExt.h" -#include "rootless.h" -#include "rootlessCommon.h" -#include -#include -#include "quartz.h" -#include "x-hash.h" - -static int -xprSetWindowLevel(WindowPtr pWin, int level) -{ - xp_window_id wid; - xp_window_changes wc; - RootlessWindowRec *winRec; - - // AppleWMNumWindowLevels is allowed, but is only set by the server - // for the root window. - if (level < 0 || level >= AppleWMNumWindowLevels) { - return BadValue; - } - - wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWin, TRUE)); - if (wid == 0) - return BadWindow; - - RootlessStopDrawing(pWin, FALSE); - winRec = WINREC(pWin); - - if (!winRec) - return BadWindow; - - if (XQuartzIsRootless) - wc.window_level = normal_window_levels[level]; - else if (XQuartzShieldingWindowLevel) - wc.window_level = XQuartzShieldingWindowLevel + 1; - else - wc.window_level = rooted_window_levels[level]; - - if (xp_configure_window(wid, XP_WINDOW_LEVEL, &wc) != Success) { - return BadValue; - } - - winRec->level = level; - - return Success; -} - -static int -xprAttachTransient(WindowPtr pWinChild, WindowPtr pWinParent) -{ - xp_window_id child_wid, parent_wid; - xp_window_changes wc; - - child_wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWinChild, TRUE)); - if (child_wid == 0) - return BadWindow; - - if (pWinParent) { - parent_wid = - x_cvt_vptr_to_uint(RootlessFrameForWindow(pWinParent, TRUE)); - if (parent_wid == 0) - return BadWindow; - } - else { - parent_wid = 0; - } - - wc.transient_for = parent_wid; - - RootlessStopDrawing(pWinChild, FALSE); - - if (xp_configure_window(child_wid, XP_ATTACH_TRANSIENT, - &wc) != Success) { - return BadValue; - } - - return Success; -} - -static int -xprFrameDraw(WindowPtr pWin, - xp_frame_class class, - xp_frame_attr attr, - const BoxRec *outer, - const BoxRec *inner, - unsigned int title_len, - const unsigned char *title_bytes) -{ - xp_window_id wid; - - wid = x_cvt_vptr_to_uint(RootlessFrameForWindow(pWin, FALSE)); - if (wid == 0) - return BadWindow; - - if (xp_frame_draw(wid, class, attr, outer, inner, - title_len, title_bytes) != Success) { - return BadValue; - } - - return Success; -} - -static AppleWMProcsRec xprAppleWMProcs = { - xp_disable_update, - xp_reenable_update, - xprSetWindowLevel, - xp_frame_get_rect, - xp_frame_hit_test, - xprFrameDraw, - xp_set_dock_proxy, - xprAttachTransient -}; - -void -xprAppleWMInit(void) -{ - AppleWMExtensionInit(&xprAppleWMProcs); -} diff --git a/hw/xquartz/xpr/xprCursor.c b/hw/xquartz/xpr/xprCursor.c deleted file mode 100644 index ff6cf4dd0..000000000 --- a/hw/xquartz/xpr/xprCursor.c +++ /dev/null @@ -1,408 +0,0 @@ -/************************************************************** - * - * Xplugin cursor support - * - * Copyright (c) 2001 Torrey T. Lyons and Greg Parker. - * Copyright (c) 2002 Apple Computer, Inc. - * All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "quartz.h" -#include "xpr.h" -#include "darwinEvents.h" -#include - -#include "mi.h" -#include "scrnintstr.h" -#include "cursorstr.h" -#include "mipointrst.h" -#include "windowstr.h" -#include "globals.h" -#include "servermd.h" -#include "dixevents.h" -#include "x-hash.h" - -typedef struct { - int cursorVisible; - QueryBestSizeProcPtr QueryBestSize; - miPointerSpriteFuncPtr spriteFuncs; -} QuartzCursorScreenRec, *QuartzCursorScreenPtr; - -static DevPrivateKeyRec darwinCursorScreenKeyRec; -#define darwinCursorScreenKey (&darwinCursorScreenKeyRec) - -#define CURSOR_PRIV(pScreen) ((QuartzCursorScreenPtr) \ - dixLookupPrivate(&pScreen->devPrivates, \ - darwinCursorScreenKey)) - -static Bool -load_cursor(CursorPtr src, int screen) -{ - uint32_t *data; - Bool free_data = FALSE; - uint32_t rowbytes; - int width, height; - int hot_x, hot_y; - - uint32_t fg_color, bg_color; - uint8_t *srow, *sptr; - uint8_t *mrow, *mptr; - uint32_t *drow, *dptr; - unsigned xcount, ycount; - - xp_error err; - - width = src->bits->width; - height = src->bits->height; - hot_x = src->bits->xhot; - hot_y = src->bits->yhot; - - if (src->bits->argb != NULL) { -#if BITMAP_BIT_ORDER == MSBFirst - rowbytes = src->bits->width * sizeof(CARD32); - data = (uint32_t *)src->bits->argb; -#else - const uint32_t *be_data = (uint32_t *)src->bits->argb; - unsigned i; - rowbytes = src->bits->width * sizeof(CARD32); - data = malloc(rowbytes * src->bits->height); - free_data = TRUE; - if (!data) { - FatalError("Failed to allocate memory in %s\n", __func__); - } - for (i = 0; i < (src->bits->width * src->bits->height); i++) - data[i] = ntohl(be_data[i]); -#endif - } - else - { - fg_color = 0xFF00 | (src->foreRed >> 8); - fg_color <<= 16; - fg_color |= src->foreGreen & 0xFF00; - fg_color |= src->foreBlue >> 8; - - bg_color = 0xFF00 | (src->backRed >> 8); - bg_color <<= 16; - bg_color |= src->backGreen & 0xFF00; - bg_color |= src->backBlue >> 8; - - fg_color = htonl(fg_color); - bg_color = htonl(bg_color); - - /* round up to 8 pixel boundary so we can convert whole bytes */ - rowbytes = ((src->bits->width * 4) + 31) & ~31; - data = malloc(rowbytes * src->bits->height); - free_data = TRUE; - if (!data) { - FatalError("Failed to allocate memory in %s\n", __func__); - } - - if (!src->bits->emptyMask) { - ycount = src->bits->height; - srow = src->bits->source; - mrow = src->bits->mask; - drow = data; - - while (ycount-- > 0) - { - xcount = bits_to_bytes(src->bits->width); - sptr = srow; - mptr = mrow; - dptr = drow; - - while (xcount-- > 0) - { - uint8_t s, m; - int i; - - s = *sptr++; - m = *mptr++; - for (i = 0; i < 8; i++) { -#if BITMAP_BIT_ORDER == MSBFirst - if (m & 128) - *dptr++ = (s & 128) ? fg_color : bg_color; - else - *dptr++ = 0; - s <<= 1; - m <<= 1; -#else - if (m & 1) - *dptr++ = (s & 1) ? fg_color : bg_color; - else - *dptr++ = 0; - s >>= 1; - m >>= 1; -#endif - } - } - - srow += BitmapBytePad(src->bits->width); - mrow += BitmapBytePad(src->bits->width); - drow = (uint32_t *)((char *)drow + rowbytes); - } - } - else { - memset(data, 0, src->bits->height * rowbytes); - } - } - - err = xp_set_cursor(width, height, hot_x, hot_y, data, rowbytes); - if (free_data) - free(data); - return err == Success; -} - -/* - =========================================================================== - - Pointer sprite functions - - =========================================================================== - */ - -/* - * QuartzRealizeCursor - * Convert the X cursor representation to native format if possible. - */ -static Bool -QuartzRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) -{ - if (pCursor == NULL || pCursor->bits == NULL) - return FALSE; - - /* FIXME: cache ARGB8888 representation? */ - - return TRUE; -} - -/* - * QuartzUnrealizeCursor - * Free the storage space associated with a realized cursor. - */ -static Bool -QuartzUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor) -{ - return TRUE; -} - -/* - * QuartzSetCursor - * Set the cursor sprite and position. - */ -static void -QuartzSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCursor, - int x, - int y) -{ - QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); - - if (!XQuartzServerVisible) - return; - - if (pCursor == NULL) { - if (ScreenPriv->cursorVisible) { - xp_hide_cursor(); - ScreenPriv->cursorVisible = FALSE; - } - } - else { - load_cursor(pCursor, pScreen->myNum); - - if (!ScreenPriv->cursorVisible) { - xp_show_cursor(); - ScreenPriv->cursorVisible = TRUE; - } - } -} - -/* - * QuartzMoveCursor - * Move the cursor. This is a noop for us. - */ -static void -QuartzMoveCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) -{} - -/* - =========================================================================== - - Pointer screen functions - - =========================================================================== - */ - -/* - * QuartzCursorOffScreen - */ -static Bool -QuartzCursorOffScreen(ScreenPtr *pScreen, int *x, int *y) -{ - return FALSE; -} - -/* - * QuartzCrossScreen - */ -static void -QuartzCrossScreen(ScreenPtr pScreen, Bool entering) -{ - return; -} - -/* - * QuartzWarpCursor - * Change the cursor position without generating an event or motion history. - * The input coordinates (x,y) are in pScreen-local X11 coordinates. - * - */ -static void -QuartzWarpCursor(DeviceIntPtr pDev, ScreenPtr pScreen, int x, int y) -{ - if (XQuartzServerVisible) { - int sx, sy; - - sx = pScreen->x + darwinMainScreenX; - sy = pScreen->y + darwinMainScreenY; - - CGWarpMouseCursorPosition(CGPointMake(sx + x, sy + y)); - } - - miPointerWarpCursor(pDev, pScreen, x, y); - miPointerUpdateSprite(pDev); -} - -static miPointerScreenFuncRec quartzScreenFuncsRec = { - QuartzCursorOffScreen, - QuartzCrossScreen, - QuartzWarpCursor, -}; - -/* - =========================================================================== - - Other screen functions - - =========================================================================== - */ - -/* - * QuartzCursorQueryBestSize - * Handle queries for best cursor size - */ -static void -QuartzCursorQueryBestSize(int class, unsigned short *width, - unsigned short *height, ScreenPtr pScreen) -{ - QuartzCursorScreenPtr ScreenPriv = CURSOR_PRIV(pScreen); - - if (class == CursorShape) { - /* FIXME: query window server? */ - *width = 32; - *height = 32; - } - else { - (*ScreenPriv->QueryBestSize)(class, width, height, pScreen); - } -} - -/* - * QuartzInitCursor - * Initialize cursor support - */ -Bool -QuartzInitCursor(ScreenPtr pScreen) -{ - QuartzCursorScreenPtr ScreenPriv; - miPointerScreenPtr PointPriv; - - /* initialize software cursor handling (always needed as backup) */ - if (!miDCInitialize(pScreen, &quartzScreenFuncsRec)) - return FALSE; - - if (!dixRegisterPrivateKey(&darwinCursorScreenKeyRec, PRIVATE_SCREEN, 0)) - return FALSE; - - ScreenPriv = calloc(1, sizeof(QuartzCursorScreenRec)); - if (ScreenPriv == NULL) - return FALSE; - - /* CURSOR_PRIV(pScreen) = ScreenPriv; */ - dixSetPrivate(&pScreen->devPrivates, darwinCursorScreenKey, ScreenPriv); - - /* override some screen procedures */ - ScreenPriv->QueryBestSize = pScreen->QueryBestSize; - pScreen->QueryBestSize = QuartzCursorQueryBestSize; - - PointPriv = dixLookupPrivate(&pScreen->devPrivates, miPointerScreenKey); - - ScreenPriv->spriteFuncs = PointPriv->spriteFuncs; - - PointPriv->spriteFuncs->RealizeCursor = QuartzRealizeCursor; - PointPriv->spriteFuncs->UnrealizeCursor = QuartzUnrealizeCursor; - PointPriv->spriteFuncs->SetCursor = QuartzSetCursor; - PointPriv->spriteFuncs->MoveCursor = QuartzMoveCursor; - - ScreenPriv->cursorVisible = TRUE; - return TRUE; -} - -/* - * QuartzSuspendXCursor - * X server is hiding. Restore the Aqua cursor. - */ -void -QuartzSuspendXCursor(ScreenPtr pScreen) -{ - xp_show_cursor(); -} - -/* - * QuartzResumeXCursor - * X server is showing. Restore the X cursor. - */ -void -QuartzResumeXCursor(ScreenPtr pScreen) -{ - WindowPtr pWin; - CursorPtr pCursor; - - /* TODO: Tablet? */ - - pWin = GetSpriteWindow(darwinPointer); - if (pWin->drawable.pScreen != pScreen) - return; - - pCursor = GetSpriteCursor(darwinPointer); - if (pCursor == NULL) - return; - - QuartzSetCursor(darwinPointer, pScreen, pCursor, /* x */ 0, /* y */ 0); -} diff --git a/hw/xquartz/xpr/xprEvent.c b/hw/xquartz/xpr/xprEvent.c deleted file mode 100644 index eb321a52f..000000000 --- a/hw/xquartz/xpr/xprEvent.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (c) 2008-2012 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "xpr.h" - -#include -#include -#include -#include "misc.h" -#include "windowstr.h" -#include "pixmapstr.h" -#include "inputstr.h" -#include "eventstr.h" -#include "mi.h" -#include "scrnintstr.h" -#include "mipointer.h" - -#include "quartz.h" -#include "quartzKeyboard.h" -#include "darwinEvents.h" - -#include -#include -#include - -#include - -#include "rootlessWindow.h" -#include "xprEvent.h" - -Bool -QuartzModeEventHandler(int screenNum, XQuartzEvent *e, DeviceIntPtr dev) -{ - switch (e->subtype) { - case kXquartzWindowState: - DEBUG_LOG("kXquartzWindowState\n"); - RootlessNativeWindowStateChanged(xprGetXWindow(e->data[0]), - e->data[1]); - return TRUE; - - case kXquartzWindowMoved: - DEBUG_LOG("kXquartzWindowMoved\n"); - RootlessNativeWindowMoved(xprGetXWindow(e->data[0])); - return TRUE; - - case kXquartzBringAllToFront: - DEBUG_LOG("kXquartzBringAllToFront\n"); - dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ - xp_window_bring_all_to_front(); - }); - - return TRUE; - - default: - return FALSE; - } -} diff --git a/hw/xquartz/xpr/xprEvent.h b/hw/xquartz/xpr/xprEvent.h deleted file mode 100644 index 4f9cc6118..000000000 --- a/hw/xquartz/xpr/xprEvent.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (c) 2008-2012 Apple Inc. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation files - * (the "Software"), to deal in the Software without restriction, - * including without limitation the rights to use, copy, modify, merge, - * publish, distribute, sublicense, and/or sell copies of the Software, - * and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT - * HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above - * copyright holders shall not be used in advertising or otherwise to - * promote the sale, use or other dealings in this Software without - * prior written authorization. - */ - -#ifndef __XPR_EVENT_H__ -#define __XPR_EVENT_H__ - -Bool -QuartzModeEventHandler(int screenNum, XQuartzEvent *e, DeviceIntPtr dev); - -#endif diff --git a/hw/xquartz/xpr/xprFrame.c b/hw/xquartz/xpr/xprFrame.c deleted file mode 100644 index 57d16d42f..000000000 --- a/hw/xquartz/xpr/xprFrame.c +++ /dev/null @@ -1,599 +0,0 @@ -/* - * Xplugin rootless implementation frame functions - * - * Copyright (c) 2002-2012 Apple Computer, Inc. All rights reserved. - * Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "xpr.h" -#include "rootlessCommon.h" -#include -#include "x-hash.h" -#include "applewmExt.h" - -#include "propertyst.h" -#include "dix.h" -#include -#include "windowstr.h" -#include "quartz.h" - -#include - -#define DEFINE_ATOM_HELPER(func, atom_name) \ - static Atom func(void) { \ - static int generation; \ - static Atom atom; \ - if (generation != serverGeneration) { \ - generation = serverGeneration; \ - atom = MakeAtom(atom_name, strlen(atom_name), TRUE); \ - } \ - return atom; \ - } - -DEFINE_ATOM_HELPER(xa_native_window_id, "_NATIVE_WINDOW_ID") - -/* Maps xp_window_id -> RootlessWindowRec */ -static x_hash_table * window_hash; - -/* Need to guard window_hash since xprIsX11Window can be called from any thread. */ -static dispatch_queue_t window_hash_serial_q; - -/* Prototypes for static functions */ -static Bool -xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, int newX, - int newY, - RegionPtr pShape); -static void -xprDestroyFrame(RootlessFrameID wid); -static void -xprMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY); -static void -xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY, - unsigned int newW, unsigned int newH, - unsigned int gravity); -static void -xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid); -static void -xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape); -static void -xprUnmapFrame(RootlessFrameID wid); -static void -xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow); -static void -xprStopDrawing(RootlessFrameID wid, Bool flush); -static void -xprUpdateRegion(RootlessFrameID wid, RegionPtr pDamage); -static void -xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects, - int shift_x, - int shift_y); -static void -xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin); -static Bool -xprDoReorderWindow(RootlessWindowPtr pFrame); -static void -xprHideWindow(RootlessFrameID wid); -static void -xprUpdateColormap(RootlessFrameID wid, ScreenPtr pScreen); -static void -xprCopyWindow(RootlessFrameID wid, int dstNrects, const BoxRec *dstRects, - int dx, - int dy); - -static inline xp_error -xprConfigureWindow(xp_window_id id, unsigned int mask, - const xp_window_changes *values) -{ - return xp_configure_window(id, mask, values); -} - -static void -xprSetNativeProperty(RootlessWindowPtr pFrame) -{ - xp_error err; - unsigned int native_id; - long data; - - err = xp_get_native_window(x_cvt_vptr_to_uint(pFrame->wid), &native_id); - if (err == Success) { - /* FIXME: move this to AppleWM extension */ - - data = native_id; - dixChangeWindowProperty(serverClient, pFrame->win, - xa_native_window_id(), - XA_INTEGER, 32, PropModeReplace, 1, &data, - TRUE); - } -} - -static xp_error -xprColormapCallback(void *data, int first_color, int n_colors, - uint32_t *colors) -{ - return (RootlessResolveColormap(data, first_color, n_colors, - colors) ? XP_Success : XP_BadMatch); -} - -/* - * Create and display a new frame. - */ -static Bool -xprCreateFrame(RootlessWindowPtr pFrame, ScreenPtr pScreen, - int newX, int newY, RegionPtr pShape) -{ - WindowPtr pWin = pFrame->win; - xp_window_changes wc; - unsigned int mask = 0; - xp_error err; - - wc.x = newX; - wc.y = newY; - wc.width = pFrame->width; - wc.height = pFrame->height; - wc.bit_gravity = XP_GRAVITY_NONE; - mask |= XP_BOUNDS; - - if (pWin->drawable.depth == 8) { - wc.depth = XP_DEPTH_INDEX8; - wc.colormap = xprColormapCallback; - wc.colormap_data = pScreen; - mask |= XP_COLORMAP; - } - else if (pWin->drawable.depth == 15) - wc.depth = XP_DEPTH_RGB555; - else if (pWin->drawable.depth == 24) - wc.depth = XP_DEPTH_ARGB8888; - else - wc.depth = XP_DEPTH_NIL; - mask |= XP_DEPTH; - - if (pShape != NULL) { - wc.shape_nrects = RegionNumRects(pShape); - wc.shape_rects = RegionRects(pShape); - wc.shape_tx = wc.shape_ty = 0; - mask |= XP_SHAPE; - } - - pFrame->level = - !IsRoot(pWin) ? AppleWMWindowLevelNormal : AppleWMNumWindowLevels; - - if (XQuartzIsRootless) - wc.window_level = normal_window_levels[pFrame->level]; - else if (XQuartzShieldingWindowLevel) - wc.window_level = XQuartzShieldingWindowLevel + 1; - else - wc.window_level = rooted_window_levels[pFrame->level]; - mask |= XP_WINDOW_LEVEL; - - err = xp_create_window(mask, &wc, (xp_window_id *)&pFrame->wid); - - if (err != Success) { - return FALSE; - } - - dispatch_async(window_hash_serial_q, ^ { - x_hash_table_insert(window_hash, pFrame->wid, pFrame); - }); - - xprSetNativeProperty(pFrame); - - return TRUE; -} - -/* - * Destroy a frame. - */ -static void -xprDestroyFrame(RootlessFrameID wid) -{ - xp_error err; - - dispatch_async(window_hash_serial_q, ^ { - x_hash_table_remove(window_hash, wid); - }); - - err = xp_destroy_window(x_cvt_vptr_to_uint(wid)); - if (err != Success) - FatalError("Could not destroy window %d (%d).", - (int)x_cvt_vptr_to_uint( - wid), (int)err); -} - -/* - * Move a frame on screen. - */ -static void -xprMoveFrame(RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY) -{ - xp_window_changes wc; - - wc.x = newX; - wc.y = newY; - // ErrorF("xprMoveFrame(%d, %p, %d, %d)\n", wid, pScreen, newX, newY); - xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_ORIGIN, &wc); -} - -/* - * Resize and move a frame. - */ -static void -xprResizeFrame(RootlessFrameID wid, ScreenPtr pScreen, - int newX, int newY, unsigned int newW, unsigned int newH, - unsigned int gravity) -{ - xp_window_changes wc; - - wc.x = newX; - wc.y = newY; - wc.width = newW; - wc.height = newH; - wc.bit_gravity = gravity; - - /* It's unlikely that being async will save us anything here. - But it can't hurt. */ - - xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_BOUNDS, &wc); -} - -/* - * Change frame stacking. - */ -static void -xprRestackFrame(RootlessFrameID wid, RootlessFrameID nextWid) -{ - xp_window_changes wc; - unsigned int mask = XP_STACKING; - __block - RootlessWindowRec * winRec; - - /* Stack frame below nextWid it if it exists, or raise - frame above everything otherwise. */ - - if (nextWid == NULL) { - wc.stack_mode = XP_MAPPED_ABOVE; - wc.sibling = 0; - } - else { - wc.stack_mode = XP_MAPPED_BELOW; - wc.sibling = x_cvt_vptr_to_uint(nextWid); - } - - dispatch_sync(window_hash_serial_q, ^ { - winRec = x_hash_table_lookup(window_hash, wid, NULL); - }); - - if (winRec) { - if (XQuartzIsRootless) - wc.window_level = normal_window_levels[winRec->level]; - else if (XQuartzShieldingWindowLevel) - wc.window_level = XQuartzShieldingWindowLevel + 1; - else - wc.window_level = rooted_window_levels[winRec->level]; - mask |= XP_WINDOW_LEVEL; - } - - xprConfigureWindow(x_cvt_vptr_to_uint(wid), mask, &wc); -} - -/* - * Change the frame's shape. - */ -static void -xprReshapeFrame(RootlessFrameID wid, RegionPtr pShape) -{ - xp_window_changes wc; - - if (pShape != NULL) { - wc.shape_nrects = RegionNumRects(pShape); - wc.shape_rects = RegionRects(pShape); - } - else { - wc.shape_nrects = -1; - wc.shape_rects = NULL; - } - - wc.shape_tx = wc.shape_ty = 0; - - xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_SHAPE, &wc); -} - -/* - * Unmap a frame. - */ -static void -xprUnmapFrame(RootlessFrameID wid) -{ - xp_window_changes wc; - - wc.stack_mode = XP_UNMAPPED; - wc.sibling = 0; - - xprConfigureWindow(x_cvt_vptr_to_uint(wid), XP_STACKING, &wc); -} - -/* - * Start drawing to a frame. - * Prepare for direct access to its backing buffer. - */ -static void -xprStartDrawing(RootlessFrameID wid, char **pixelData, int *bytesPerRow) -{ - void *data[2]; - unsigned int rowbytes[2]; - xp_error err; - -#ifdef DEBUG_XP_LOCK_WINDOW - ErrorF("=== LOCK %d ===\n", (int)x_cvt_vptr_to_uint(wid)); - xorg_backtrace(); -#endif - - err = xp_lock_window(x_cvt_vptr_to_uint( - wid), NULL, NULL, data, rowbytes, NULL); - if (err != Success) - FatalError("Could not lock window %d for drawing (%d).", - (int)x_cvt_vptr_to_uint( - wid), (int)err); - -#ifdef DEBUG_XP_LOCK_WINDOW - ErrorF(" bits: %p\n", *data); -#endif - - *pixelData = data[0]; - *bytesPerRow = rowbytes[0]; -} - -/* - * Stop drawing to a frame. - */ -static void -xprStopDrawing(RootlessFrameID wid, Bool flush) -{ - xp_error err; - -#ifdef DEBUG_XP_LOCK_WINDOW - ErrorF("=== UNLOCK %d ===\n", (int)x_cvt_vptr_to_uint(wid)); - xorg_backtrace(); -#endif - - err = xp_unlock_window(x_cvt_vptr_to_uint(wid), flush); - /* This should be a FatalError, but we started tripping over it. Make it a - * FatalError after http://xquartz.macosforge.org/trac/ticket/482 is fixed. - */ - if (err != Success) - ErrorF("Could not unlock window %d after drawing (%d).", - (int)x_cvt_vptr_to_uint( - wid), (int)err); -} - -/* - * Flush drawing updates to the screen. - */ -static void -xprUpdateRegion(RootlessFrameID wid, RegionPtr pDamage) -{ - xp_flush_window(x_cvt_vptr_to_uint(wid)); -} - -/* - * Mark damaged rectangles as requiring redisplay to screen. - */ -static void -xprDamageRects(RootlessFrameID wid, int nrects, const BoxRec *rects, - int shift_x, int shift_y) -{ - xp_mark_window(x_cvt_vptr_to_uint(wid), nrects, rects, shift_x, shift_y); -} - -/* - * Called after the window associated with a frame has been switched - * to a new top-level parent. - */ -static void -xprSwitchWindow(RootlessWindowPtr pFrame, WindowPtr oldWin) -{ - DeleteProperty(serverClient, oldWin, xa_native_window_id()); - - xprSetNativeProperty(pFrame); -} - -/* - * Called to check if the frame should be reordered when it is restacked. - */ -static Bool -xprDoReorderWindow(RootlessWindowPtr pFrame) -{ - WindowPtr pWin = pFrame->win; - - return AppleWMDoReorderWindow(pWin); -} - -/* - * Copy area in frame to another part of frame. - * Used to accelerate scrolling. - */ -static void -xprCopyWindow(RootlessFrameID wid, int dstNrects, const BoxRec *dstRects, - int dx, int dy) -{ - xp_copy_window(x_cvt_vptr_to_uint(wid), x_cvt_vptr_to_uint(wid), - dstNrects, dstRects, dx, dy); -} - -static RootlessFrameProcsRec xprRootlessProcs = { - xprCreateFrame, - xprDestroyFrame, - xprMoveFrame, - xprResizeFrame, - xprRestackFrame, - xprReshapeFrame, - xprUnmapFrame, - xprStartDrawing, - xprStopDrawing, - xprUpdateRegion, - xprDamageRects, - xprSwitchWindow, - xprDoReorderWindow, - xprHideWindow, - xprUpdateColormap, - xp_copy_bytes, - xprCopyWindow -}; - -/* - * Initialize XPR implementation - */ -Bool -xprInit(ScreenPtr pScreen) -{ - RootlessInit(pScreen, &xprRootlessProcs); - - rootless_CopyBytes_threshold = xp_copy_bytes_threshold; - rootless_CopyWindow_threshold = xp_scroll_area_threshold; - - assert((window_hash = x_hash_table_new(NULL, NULL, NULL, NULL))); - assert((window_hash_serial_q = - dispatch_queue_create(BUNDLE_ID_PREFIX ".X11.xpr_window_hash", - NULL))); - - return TRUE; -} - -/* - * Given the id of a physical window, try to find the top-level (or root) - * X window that it represents. - */ -WindowPtr -xprGetXWindow(xp_window_id wid) -{ - RootlessWindowRec *winRec __block; - dispatch_sync(window_hash_serial_q, ^ { - winRec = - x_hash_table_lookup(window_hash, - x_cvt_uint_to_vptr(wid), NULL); - }); - - return winRec != NULL ? winRec->win : NULL; -} - -/* - * The windowNumber is an AppKit window number. Returns TRUE if xpr is - * displaying a window with that number. - */ -Bool -xprIsX11Window(int windowNumber) -{ - Bool ret; - xp_window_id wid; - - if (xp_lookup_native_window(windowNumber, &wid)) - ret = xprGetXWindow(wid) != NULL; - else - ret = FALSE; - - return ret; -} - -/* - * xprHideWindows - * Hide or unhide all top level windows. This is called for application hide/ - * unhide events if the window manager is not Apple-WM aware. Xplugin windows - * do not hide or unhide themselves. - */ -void -xprHideWindows(Bool hide) -{ - int screen; - WindowPtr pRoot, pWin; - - for (screen = 0; screen < screenInfo.numScreens; screen++) { - RootlessFrameID prevWid = NULL; - pRoot = screenInfo.screens[screen]->root; - - for (pWin = pRoot->firstChild; pWin; pWin = pWin->nextSib) { - RootlessWindowRec *winRec = WINREC(pWin); - - if (winRec != NULL) { - if (hide) { - xprUnmapFrame(winRec->wid); - } - else { - BoxRec box; - - xprRestackFrame(winRec->wid, prevWid); - prevWid = winRec->wid; - - box.x1 = 0; - box.y1 = 0; - box.x2 = winRec->width; - box.y2 = winRec->height; - - xprDamageRects(winRec->wid, 1, &box, 0, 0); - RootlessQueueRedisplay(screenInfo.screens[screen]); - } - } - } - } -} - -// XXX: identical to x_cvt_vptr_to_uint ? -#define MAKE_WINDOW_ID(x) ((xp_window_id)((size_t)(x))) - -Bool no_configure_window; - -static inline int -configure_window(xp_window_id id, unsigned int mask, - const xp_window_changes *values) -{ - if (!no_configure_window) - return xp_configure_window(id, mask, values); - else - return XP_Success; -} - -static -void -xprUpdateColormap(RootlessFrameID wid, ScreenPtr pScreen) -{ - /* This is how we tell xp that the colormap may have changed. */ - xp_window_changes wc; - wc.colormap = xprColormapCallback; - wc.colormap_data = pScreen; - - configure_window(MAKE_WINDOW_ID(wid), XP_COLORMAP, &wc); -} - -static -void -xprHideWindow(RootlessFrameID wid) -{ - xp_window_changes wc; - wc.stack_mode = XP_UNMAPPED; - wc.sibling = 0; - configure_window(MAKE_WINDOW_ID(wid), XP_STACKING, &wc); -} diff --git a/hw/xquartz/xpr/xprScreen.c b/hw/xquartz/xpr/xprScreen.c deleted file mode 100644 index 562d6a0c3..000000000 --- a/hw/xquartz/xpr/xprScreen.c +++ /dev/null @@ -1,518 +0,0 @@ -/* - * Xplugin rootless implementation screen functions - * - * Copyright (c) 2002-2012 Apple Computer, Inc. All Rights Reserved. - * Copyright (c) 2004 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#include "sanitizedCarbon.h" - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "inputstr.h" -#include "quartz.h" -#include "quartzRandR.h" -#include "xpr.h" -#include "xprEvent.h" -#include "pseudoramiX.h" -#include "darwinEvents.h" -#include "rootless.h" -#include "dri.h" -#include "globals.h" -#include -#include "applewmExt.h" -#include "micmap.h" - -#include "rootlessCommon.h" - -#ifdef DAMAGE -#include "damage.h" -#endif - -#include "nonsdk_extinit.h" - -/* 10.4's deferred update makes X slower.. have to live with the tearing - * for now.. */ -#define XP_NO_DEFERRED_UPDATES 8 - -// Name of GLX bundle for native OpenGL -static const char *xprOpenGLBundle = "glxCGL.bundle"; - -/* - * eventHandler - * Callback handler for Xplugin events. - */ -static void -eventHandler(unsigned int type, const void *arg, - unsigned int arg_size, void *data) -{ - - switch (type) { - case XP_EVENT_DISPLAY_CHANGED: - DEBUG_LOG("XP_EVENT_DISPLAY_CHANGED\n"); - DarwinSendDDXEvent(kXquartzDisplayChanged, 0); - break; - - case XP_EVENT_WINDOW_STATE_CHANGED: - if (arg_size >= sizeof(xp_window_state_event)) { - const xp_window_state_event *ws_arg = arg; - - DEBUG_LOG("XP_EVENT_WINDOW_STATE_CHANGED: id=%d, state=%d\n", - ws_arg->id, - ws_arg->state); - DarwinSendDDXEvent(kXquartzWindowState, 2, - ws_arg->id, ws_arg->state); - } - else { - DEBUG_LOG("XP_EVENT_WINDOW_STATE_CHANGED: ignored\n"); - } - break; - - case XP_EVENT_WINDOW_MOVED: - DEBUG_LOG("XP_EVENT_WINDOW_MOVED\n"); - if (arg_size == sizeof(xp_window_id)) { - xp_window_id id = *(xp_window_id *)arg; - DarwinSendDDXEvent(kXquartzWindowMoved, 1, id); - } - break; - - case XP_EVENT_SURFACE_DESTROYED: - DEBUG_LOG("XP_EVENT_SURFACE_DESTROYED\n"); - - case XP_EVENT_SURFACE_CHANGED: - DEBUG_LOG("XP_EVENT_SURFACE_CHANGED\n"); - if (arg_size == sizeof(xp_surface_id)) { - int kind; - - if (type == XP_EVENT_SURFACE_DESTROYED) - kind = AppleDRISurfaceNotifyDestroyed; - else - kind = AppleDRISurfaceNotifyChanged; - - DRISurfaceNotify(*(xp_surface_id *)arg, kind); - } - break; - -#ifdef XP_EVENT_SPACE_CHANGED - case XP_EVENT_SPACE_CHANGED: - DEBUG_LOG("XP_EVENT_SPACE_CHANGED\n"); - if (arg_size == sizeof(uint32_t)) { - uint32_t space_id = *(uint32_t *)arg; - DarwinSendDDXEvent(kXquartzSpaceChanged, 1, space_id); - } - break; - -#endif - default: - ErrorF("Unknown XP_EVENT type (%d) in xprScreen:eventHandler\n", type); - } -} - -/* - * displayAtIndex - * Return the display ID for a particular display index. - */ -static CGDirectDisplayID -displayAtIndex(int index) -{ - CGError err; - CGDisplayCount cnt; - CGDirectDisplayID dpy[index + 1]; - - err = CGGetActiveDisplayList(index + 1, dpy, &cnt); - if (err == kCGErrorSuccess && cnt == index + 1) - return dpy[index]; - else - return kCGNullDirectDisplay; -} - -/* - * displayScreenBounds - * Return the bounds of a particular display. - */ -static CGRect -displayScreenBounds(CGDirectDisplayID id) -{ - CGRect frame; - - frame = CGDisplayBounds(id); - - DEBUG_LOG(" %dx%d @ (%d,%d).\n", - (int)frame.size.width, (int)frame.size.height, - (int)frame.origin.x, (int)frame.origin.y); - - Boolean spacePerDisplay = false; - Boolean ok; - (void)CFPreferencesAppSynchronize(CFSTR("com.apple.spaces")); - spacePerDisplay = ! CFPreferencesGetAppBooleanValue(CFSTR("spans-displays"), - CFSTR("com.apple.spaces"), - &ok); - if (!ok) - spacePerDisplay = true; - - /* Remove menubar to help standard X11 window managers. - * On Mavericks and later, the menu bar is on all displays when spans-displays is false or unset. - */ - if (XQuartzIsRootless && - (spacePerDisplay || (frame.origin.x == 0 && frame.origin.y == 0))) { - frame.origin.y += aquaMenuBarHeight; - frame.size.height -= aquaMenuBarHeight; - } - - DEBUG_LOG(" %dx%d @ (%d,%d).\n", - (int)frame.size.width, (int)frame.size.height, - (int)frame.origin.x, (int)frame.origin.y); - - return frame; -} - -/* - * xprAddPseudoramiXScreens - * Add a single virtual screen encompassing all the physical screens - * with PseudoramiX. - */ -static void -xprAddPseudoramiXScreens(int *x, int *y, int *width, int *height, - ScreenPtr pScreen) -{ - CGDisplayCount i, displayCount; - CGDirectDisplayID *displayList = NULL; - CGRect unionRect = CGRectNull, frame; - - // Find all the CoreGraphics displays - CGGetActiveDisplayList(0, NULL, &displayCount); - DEBUG_LOG("displayCount: %d\n", (int)displayCount); - - if (!displayCount) { - ErrorF( - "CoreGraphics has reported no connected displays. Creating a stub 800x600 display.\n"); - *x = *y = 0; - *width = 800; - *height = 600; - PseudoramiXAddScreen(*x, *y, *width, *height); - QuartzCopyDisplayIDs(pScreen, 0, NULL); - return; - } - - /* If the displays are captured, we are in a RandR game mode - * on the primary display, so we only want to include the first - * display. The others are covered by the shield window. - */ - if (CGDisplayIsCaptured(kCGDirectMainDisplay)) - displayCount = 1; - - displayList = malloc(displayCount * sizeof(CGDirectDisplayID)); - if (!displayList) - FatalError("Unable to allocate memory for list of displays.\n"); - CGGetActiveDisplayList(displayCount, displayList, &displayCount); - QuartzCopyDisplayIDs(pScreen, displayCount, displayList); - - /* Get the union of all screens */ - for (i = 0; i < displayCount; i++) { - CGDirectDisplayID dpy = displayList[i]; - frame = displayScreenBounds(dpy); - unionRect = CGRectUnion(unionRect, frame); - } - - /* Use unionRect as the screen size for the X server. */ - *x = unionRect.origin.x; - *y = unionRect.origin.y; - *width = unionRect.size.width; - *height = unionRect.size.height; - - DEBUG_LOG(" screen union origin: (%d,%d) size: (%d,%d).\n", - *x, *y, *width, *height); - - /* Tell PseudoramiX about the real screens. */ - for (i = 0; i < displayCount; i++) { - CGDirectDisplayID dpy = displayList[i]; - - frame = displayScreenBounds(dpy); - frame.origin.x -= unionRect.origin.x; - frame.origin.y -= unionRect.origin.y; - - DEBUG_LOG(" placed at X11 coordinate (%d,%d).\n", - (int)frame.origin.x, (int)frame.origin.y); - - PseudoramiXAddScreen(frame.origin.x, frame.origin.y, - frame.size.width, frame.size.height); - } - - free(displayList); -} - -/* - * xprDisplayInit - * Find number of CoreGraphics displays and initialize Xplugin. - */ -static void -xprDisplayInit(void) -{ - CGDisplayCount displayCount; - - TRACE(); - - CGGetActiveDisplayList(0, NULL, &displayCount); - - /* With PseudoramiX, the X server only sees one screen; only PseudoramiX - itself knows about all of the screens. */ - - if (noPseudoramiXExtension) { - darwinScreensFound = displayCount; - } else { - PseudoramiXExtensionInit(); - darwinScreensFound = 1; - } - - if (xp_init(XP_BACKGROUND_EVENTS | XP_NO_DEFERRED_UPDATES) != Success) - FatalError("Could not initialize the Xplugin library."); - - xp_select_events(XP_EVENT_DISPLAY_CHANGED - | XP_EVENT_WINDOW_STATE_CHANGED - | XP_EVENT_WINDOW_MOVED -#ifdef XP_EVENT_SPACE_CHANGED - | XP_EVENT_SPACE_CHANGED -#endif - | XP_EVENT_SURFACE_CHANGED - | XP_EVENT_SURFACE_DESTROYED, - eventHandler, NULL); - - AppleDRIExtensionInit(); - xprAppleWMInit(); - - XQuartzIsRootless = XQuartzRootlessDefault; - if (!XQuartzIsRootless) - RootlessHideAllWindows(); -} - -/* - * xprAddScreen - * Init the framebuffer and record pixmap parameters for the screen. - */ -static Bool -xprAddScreen(int index, ScreenPtr pScreen) -{ - DarwinFramebufferPtr dfb = SCREEN_PRIV(pScreen); - int depth = darwinDesiredDepth; - - DEBUG_LOG("index=%d depth=%d\n", index, depth); - - if (depth == -1) { - CGDisplayModeRef modeRef; - CFStringRef encStrRef; - - modeRef = CGDisplayCopyDisplayMode(kCGDirectMainDisplay); - if (!modeRef) - goto have_depth; - - encStrRef = CGDisplayModeCopyPixelEncoding(modeRef); - CFRelease(modeRef); - if (!encStrRef) - goto have_depth; - - if (CFStringCompare(encStrRef, CFSTR(IO32BitDirectPixels), - kCFCompareCaseInsensitive) == - kCFCompareEqualTo) { - depth = 24; - } - else if (CFStringCompare(encStrRef, CFSTR(IO16BitDirectPixels), - kCFCompareCaseInsensitive) == - kCFCompareEqualTo) { - depth = 15; - } - else if (CFStringCompare(encStrRef, CFSTR(IO8BitIndexedPixels), - kCFCompareCaseInsensitive) == - kCFCompareEqualTo) { - depth = 8; - } - - CFRelease(encStrRef); - } - -have_depth: - switch (depth) { - case 8: // pseudo-working - dfb->visuals = PseudoColorMask; - dfb->preferredCVC = PseudoColor; - dfb->depth = 8; - dfb->bitsPerRGB = 8; - dfb->bitsPerPixel = 8; - dfb->redMask = 0; - dfb->greenMask = 0; - dfb->blueMask = 0; - break; - -#if 0 - // Removed because Mountain Lion removed support for - // 15bit backing stores. We can possibly re-add - // this once libXplugin is updated to work around it. - case 15: - dfb->visuals = TrueColorMask; //LARGE_VISUALS; - dfb->preferredCVC = TrueColor; - dfb->depth = 15; - dfb->bitsPerRGB = 5; - dfb->bitsPerPixel = 16; - dfb->redMask = RM_ARGB(0, 5, 5, 5); - dfb->greenMask = GM_ARGB(0, 5, 5, 5); - dfb->blueMask = BM_ARGB(0, 5, 5, 5); - break; -#endif - - // case 24: - default: - if (depth != 24) - ErrorF( - "Unsupported color depth requested. Defaulting to 24bit. (depth=%d darwinDesiredDepth=%d)\n", - depth, darwinDesiredDepth); - dfb->visuals = TrueColorMask; //LARGE_VISUALS; - dfb->preferredCVC = TrueColor; - dfb->depth = 24; - dfb->bitsPerRGB = 8; - dfb->bitsPerPixel = 32; - dfb->redMask = RM_ARGB(0, 8, 8, 8); - dfb->greenMask = GM_ARGB(0, 8, 8, 8); - dfb->blueMask = BM_ARGB(0, 8, 8, 8); - break; - } - - if (noPseudoramiXExtension) { - CGDirectDisplayID dpy; - CGRect frame; - - ErrorF("Warning: noPseudoramiXExtension!\n"); - - dpy = displayAtIndex(index); - QuartzCopyDisplayIDs(pScreen, 1, &dpy); - - frame = displayScreenBounds(dpy); - - dfb->x = frame.origin.x; - dfb->y = frame.origin.y; - dfb->width = frame.size.width; - dfb->height = frame.size.height; - } - else { - xprAddPseudoramiXScreens(&dfb->x, &dfb->y, &dfb->width, &dfb->height, - pScreen); - } - - /* Passing zero width (pitch) makes miCreateScreenResources set the - screen pixmap to the framebuffer pointer, i.e. NULL. The generic - rootless code takes care of making this work. */ - dfb->pitch = 0; - dfb->framebuffer = NULL; - - DRIScreenInit(pScreen); - - return TRUE; -} - -/* - * xprSetupScreen - * Setup the screen for rootless access. - */ -static Bool -xprSetupScreen(int index, ScreenPtr pScreen) -{ -#ifdef DAMAGE - // The Damage extension needs to wrap underneath the - // generic rootless layer, so do it now. - if (!DamageSetup(pScreen)) - return FALSE; -#endif - - // Initialize generic rootless code - if (!xprInit(pScreen)) - return FALSE; - - return DRIFinishScreenInit(pScreen); -} - -/* - * xprUpdateScreen - * Update screen after configuration change. - */ -static void -xprUpdateScreen(ScreenPtr pScreen) -{ - rootlessGlobalOffsetX = darwinMainScreenX; - rootlessGlobalOffsetY = darwinMainScreenY; - - AppleWMSetScreenOrigin(pScreen->root); - - RootlessRepositionWindows(pScreen); - RootlessUpdateScreenPixmap(pScreen); -} - -/* - * xprInitInput - * Finalize xpr specific setup. - */ -static void -xprInitInput(int argc, char **argv) -{ - int i; - - rootlessGlobalOffsetX = darwinMainScreenX; - rootlessGlobalOffsetY = darwinMainScreenY; - - for (i = 0; i < screenInfo.numScreens; i++) - AppleWMSetScreenOrigin(screenInfo.screens[i]->root); -} - -/* - * Quartz display mode function list. - */ -static QuartzModeProcsRec xprModeProcs = { - xprDisplayInit, - xprAddScreen, - xprSetupScreen, - xprInitInput, - QuartzInitCursor, - QuartzSuspendXCursor, - QuartzResumeXCursor, - xprAddPseudoramiXScreens, - xprUpdateScreen, - xprIsX11Window, - xprHideWindows, - RootlessFrameForWindow, - TopLevelParent, - DRICreateSurface, - DRIDestroySurface -}; - -/* - * QuartzModeBundleInit - * Initialize the display mode bundle after loading. - */ -Bool -QuartzModeBundleInit(void) -{ - quartzProcs = &xprModeProcs; - quartzOpenGLBundle = xprOpenGLBundle; - return TRUE; -} diff --git a/include/meson.build b/include/meson.build index 30f44c7d7..6ae1805f9 100644 --- a/include/meson.build +++ b/include/meson.build @@ -265,12 +265,6 @@ conf_data.set_quoted('__VENDORDWEBSUPPORT__', get_option('vendor_web')) conf_data.set_quoted('BUILDERADDR', get_option('builder_addr')) conf_data.set_quoted('BUILDERSTRING', get_option('builder_string')) -if build_rootless - conf_data.set('ROOTLESS', build_rootless ? '1' : false) - conf_data.set('ROOTLESS_WORKAROUND', 1) - conf_data.set('ROOTLESS_SAFEALPHA', 1) -endif - # # for xorg-server.h only # diff --git a/meson.build b/meson.build index 94dea6970..aa85db1b4 100644 --- a/meson.build +++ b/meson.build @@ -95,7 +95,6 @@ dri3proto_dep = dependency('dri3proto', version: '>= 1.4', fallback: ['xorgproto xineramaproto_dep = dependency('xineramaproto', fallback: ['xorgproto', 'ext_xorgproto']) xf86bigfontproto_dep = dependency('xf86bigfontproto', version: '>= 1.2.0', fallback: ['xorgproto', 'ext_xorgproto'], required: get_option('xf86bigfont')) xf86vidmodeproto_dep = dependency('xf86vidmodeproto', version: '>= 2.2.99.1', fallback: ['xorgproto', 'ext_xorgproto']) -applewmproto_dep = dependency('applewmproto', version: '>= 1.4', fallback: ['xorgproto', 'ext_xorgproto'], required: false) xshmfence_dep = dependency('xshmfence', version: xshmfence_req, required: false) xwaylandproto_dep = dependency('xwaylandproto', version: '>= 1.0', fallback: ['xorgproto', 'ext_xorgproto'], required: false) dpmsproto_dep = dependency('dpmsproto', version: '>= 1.2', required: get_option('dpms')) @@ -272,20 +271,6 @@ else build_xwin = get_option('xwin') == 'true' endif -build_xquartz = false -if get_option('xquartz') == 'auto' - if host_machine.system() == 'darwin' - build_xquartz = true - endif -else - build_xquartz = get_option('xquartz') == 'true' -endif - -build_rootless = false -if build_xquartz - build_rootless = true -endif - if get_option('ipv6') == 'auto' build_ipv6 = cc.has_function('getaddrinfo') else @@ -525,9 +510,6 @@ else endif build_dpms = get_option('dpms') -if build_xquartz - build_dpms = false -endif build_xf86bigfont = get_option('xf86bigfont') build_screensaver = get_option('screensaver') @@ -620,7 +602,6 @@ common_dep = [ xf86bigfontproto_dep, xf86dgaproto_dep, xf86vidmodeproto_dep, - applewmproto_dep, dpmsproto_dep, pixman_dep, @@ -750,11 +731,8 @@ subdir('dbe') subdir('miext/damage') subdir('miext/shadow') subdir('miext/sync') -if build_rootless - subdir('miext/rootless') -endif subdir('present') -if build_xwin or build_xquartz +if build_xwin subdir('pseudoramiX') endif subdir('randr') diff --git a/meson_options.txt b/meson_options.txt index 49407198c..9a99a91f4 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -14,9 +14,6 @@ option('xvfb', type: 'boolean', value: true, description: 'Enable Xvfb X server') option('xwin', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', description: 'Enable XWin X server') -option('xquartz', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', - description: 'Enable Xquartz X server') - option('builder_addr', type: 'string', description: 'Builder address', value: 'xorg@lists.freedesktop.org') option('builder_string', type: 'string', description: 'Additional builder string') @@ -120,23 +117,6 @@ option('dri3', type: 'combo', choices: ['true', 'false', 'auto'], value: 'auto', option('drm', type: 'boolean', value: true, description: 'Build Xorg with libdrm support') -option('apple-applications-dir', type: 'string', value: '/Applications/Utilities', - description: 'Applications directory') -option('apple-application-name', type: 'string', value: 'X11', - description: 'Application name') -option('bundle-id-prefix', type: 'string', value: 'org.x', - description: 'RDNS prefix for bundle identifier') -option('bundle-version', type: 'string', value: 'auto', - description: 'The CFBundleVersion for the application bundle') -option('bundle-version-string', type: 'string', value: 'auto', - description: 'The CFBundleShortVersionString for the application bundle') -option('sparkle-feed-url', type: 'string', - description: 'Feed URL for autoupdating with the Sparkle Framework (default: disabled)') -option('sparkle-public-edkey', type: 'string', - description: 'Public EdDSA key for verifying updates from the Sparkle feed (default: disabled)') -option('xpbproxy', type: 'boolean', value: false, - description: 'Build a standalone X pasteboard proxy') - option('libunwind', type: 'boolean', value: false, description: 'Use libunwind for backtrace reporting') diff --git a/miext/rootless/README.txt b/miext/rootless/README.txt deleted file mode 100644 index 8a3b2bedf..000000000 --- a/miext/rootless/README.txt +++ /dev/null @@ -1,326 +0,0 @@ - Generic Rootless Layer - Version 1.0 - July 13, 2004 - - Torrey T. Lyons - torrey@xfree86.org - - -Introduction - - The generic rootless layer allows an X server to be implemented -on top of another window server in a cooperative manner. This allows the -X11 windows and native windows of the underlying window server to -coexist on the same screen. The layer is called "rootless" because the root -window of the X server is generally not drawn. Instead, each top-level -child of the root window is represented as a separate on-screen window by -the underlying window server. The layer is referred to as "generic" -because it abstracts away the details of the underlying window system and -contains code that is useful for any rootless X server. The code for the -generic rootless layer is located in xc/programs/Xserver/miext/rootless. To -build a complete rootless X server requires a specific rootless -implementation, which provides functions that allow the generic rootless -layer to interact with the underlying window system. - - -Concepts - - In the context of a rootless X server the term window is used to -mean many fundamentally different things. For X11 a window is a DDX -resource that describes a visible, or potentially visible, rectangle on the -screen. A top-level window is a direct child of the root window. To avoid -confusion, an on-screen native window of the underlying window system -is referred to as a "frame". The generic rootless layer associates each -mapped top-level X11 window with a frame. An X11 window may be said -to be "framed" if it or its top-level parent is represented by a frame. - - The generic rootless layer models each frame as being backed at -all times by a backing buffer, which is periodically flushed to the screen. -If the underlying window system does not provide a backing buffer for -frames, this must be done by the rootless implementation. The generic -rootless layer model does not assume it always has access to the frames' -backing buffers. Any drawing to the buffer will be proceeded by a call to -the rootless implementation's StartDrawing() function and StopDrawing() -will be called when the drawing is concluded. The address of the frame's -backing buffer is returned by the StartDrawing() function and it can -change between successive calls. - - Because each frame is assumed to have a backing buffer, the -generic rootless layer will stop Expose events being generated when the -regions of visibility of a frame change on screen. This is similar to backing -store, but backing buffers are different in that they always store a copy of -the entire window contents, not just the obscured portions. The price paid -in increased memory consumption is made up by the greatly decreased -complexity in not having to track and record regions as they are obscured. - - -Rootless Implementation - - The specifics of the underlying window system are provided to the -generic rootless layer through rootless implementation functions, compile- -time options, and runtime parameters. The rootless implementation -functions are a list of functions that allow the generic rootless layer to -perform operations such as creating, destroying, moving, and resizing -frames. Some of the implementation functions are optional. A detailed -description of the rootless implementation functions is provided in -Appendix A. - - By design, a rootless implementation should only have to include -the rootless.h header file. The rootlessCommon.h file contains definitions -internal to the generic rootless layer. (If you find you need to use -rootlessCommon.h in your implementation, let the generic rootless layer -maintainers know. This could be an area where the generic rootless layer -should be generalized.) A rootless implementation should also modify -rootlessConfig.h to specify compile time options for its platform. - - The following compile-time options are defined in -rootlessConfig.h: - - o ROOTLESS_PROTECT_ALPHA: By default for a color bit depth of 24 and - 32 bits per pixel, fb will overwrite the "unused" 8 bits to optimize - drawing speed. If this is true, the alpha channel of frames is - protected and is not modified when drawing to them. The bits - containing the alpha channel are defined by the macro - RootlessAlphaMask(bpp), which should return a bit mask for - various bits per pixel. - - o ROOTLESS_REDISPLAY_DELAY: Time in milliseconds between updates to - the underlying window server. Most operations will be buffered until - this time has expired. - - The following runtime options are defined in rootless.h: - - o rootlessGlobalOffsetX, rootlessGlobalOffsetY: These specify the global - offset that is applied to all screens when converting from - screen-local to global coordinates. - - o rootless_CopyBytes_threshold, rootless_CopyWindow_threshold: - The minimum number of bytes or pixels for which to use the rootless - implementation's respective acceleration function. The rootless - acceleration functions are all optional so these will only be used - if the respective acceleration function pointer is not NULL. - - -Accelerated Drawing - - The rootless implementation typically does not have direct access -to the hardware. Its access to the graphics hardware is generally through -the API of the underlying window system. This underlying API may not -overlap well with the X11 drawing primitives. The generic rootless layer -falls back to using fb for all its 2-D drawing. Providing optional rootless -implementation acceleration functions can accelerate some graphics -primitives and some window functions. Typically calling through to the -underlying window systems API will not speed up these operations for -small enough areas. The rootless_*_threshold runtime options allow the -rootless implementation to provide hints for when the acceleration -functions should be used instead of fb. - - -Alpha Channel Protection - - If the bits per pixel is greater then the color bit depth, the contents -of the extra bits are undefined by the X11 protocol. Some window systems -will use these extra bits as an alpha channel. The generic rootless layer can -be configured to protect these bits and make sure they are not modified by -other parts of the X server. To protect the alpha channel -ROOTLESS_PROTECT_ALPHA and RootlessAlphaMask(bpp) must be -set appropriately as described under the compile time options. This -ensures that the X11 graphics primitives do not overwrite the alpha -channel in an attempt to optimize drawing. In addition, the window -functions PaintWindow() and Composite() must be replaced by alpha -channel safe variants. These are provided in rootless/safeAlpha. - - -Credits - - The generic rootless layer was originally conceived and developed -by Greg Parker as part of the XDarwin X server on Mac OS X. John -Harper made later optimizations to this code but removed its generic -independence of the underlying window system. Torrey T. Lyons -reintroduced the generic abstractions and made the rootless code suitable -for use by other X servers. - - -Appendix A: Rootless Implementation Functions - - The rootless implementation functions are defined in rootless.h. It -is intended that rootless.h contains the complete interface that is needed by -rootless implementations. The definitions contained in rootlessCommon.h -are intended for internal use by the generic rootless layer and are more -likely to change. - - Most of these functions take a RootlessFrameID as a parameter. -The RootlessFrameID is an opaque object that is returned by the -implementation's CreateFrame() function. The generic rootless layer does -not use this frame id other than to pass it back to the rootless -implementation to indicate the frame to operate on. - -/* - * Create a new frame. - * The frame is created unmapped. - * - * pFrame RootlessWindowPtr for this frame should be completely - * initialized before calling except for pFrame->wid, which - * is set by this function. - * pScreen Screen on which to place the new frame - * newX, newY Position of the frame. - * pNewShape Shape for the frame (in frame-local coordinates). NULL for - * unshaped frames. - */ -typedef Bool (*RootlessCreateFrameProc) - (RootlessWindowPtr pFrame, ScreenPtr pScreen, int newX, int newY, - RegionPtr pNewShape); - -/* - * Destroy a frame. - * Drawing is stopped and all updates are flushed before this is called. - * - * wid Frame id - */ -typedef void (*RootlessDestroyFrameProc) - (RootlessFrameID wid); - -/* - * Move a frame on screen. - * Drawing is stopped and all updates are flushed before this is called. - * - * wid Frame id - * pScreen Screen to move the new frame to - * newX, newY New position of the frame - */ -typedef void (*RootlessMoveFrameProc) - (RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY); - -/* - * Resize and move a frame. - * Drawing is stopped and all updates are flushed before this is called. - * - * wid Frame id - * pScreen Screen to move the new frame to - * newX, newY New position of the frame - * newW, newH New size of the frame - * gravity Gravity for window contents (rl_gravity_enum). This is always - * RL_GRAVITY_NONE unless ROOTLESS_RESIZE_GRAVITY is set. - */ -typedef void (*RootlessResizeFrameProc) - (RootlessFrameID wid, ScreenPtr pScreen, - int newX, int newY, unsigned int newW, unsigned int newH, - unsigned int gravity); - -/* - * Change frame ordering (AKA stacking, layering). - * Drawing is stopped before this is called. Unmapped frames are mapped by - * setting their ordering. - * - * wid Frame id - * nextWid Frame id of frame that is now above this one or NULL if this - * frame is at the top. - */ -typedef void (*RootlessRestackFrameProc) - (RootlessFrameID wid, RootlessFrameID nextWid); - -/* - * Change frame's shape. - * Drawing is stopped before this is called. - * - * wid Frame id - * pNewShape New shape for the frame (in frame-local coordinates) - * or NULL if now unshaped. - */ -typedef void (*RootlessReshapeFrameProc) - (RootlessFrameID wid, RegionPtr pNewShape); - -/* - * Unmap a frame. - * - * wid Frame id - */ -typedef void (*RootlessUnmapFrameProc) - (RootlessFrameID wid); - -/* - * Start drawing to a frame. - * Prepare a frame for direct access to its backing buffer. - * - * wid Frame id - * pixelData Address of the backing buffer (returned) - * bytesPerRow Width in bytes of the backing buffer (returned) - */ -typedef void (*RootlessStartDrawingProc) - (RootlessFrameID wid, char **pixelData, int *bytesPerRow); - -/* - * Stop drawing to a frame. - * No drawing to the frame's backing buffer will occur until drawing - * is started again. - * - * wid Frame id - * flush Flush drawing updates for this frame to the screen. - */ -typedef void (*RootlessStopDrawingProc) - (RootlessFrameID wid, Bool flush); - -/* - * Flush drawing updates to the screen. - * Drawing is stopped before this is called. - * - * wid Frame id - * pDamage Region containing all the changed pixels in frame-local - * coordinates. This is clipped to the window's clip. - */ -typedef void (*RootlessUpdateRegionProc) - (RootlessFrameID wid, RegionPtr pDamage); - -/* - * Mark damaged rectangles as requiring redisplay to screen. - * - * wid Frame id - * nrects Number of damaged rectangles - * rects Array of damaged rectangles in frame-local coordinates - * shift_x, Vector to shift rectangles by - * shift_y - */ -typedef void (*RootlessDamageRectsProc) - (RootlessFrameID wid, int nrects, const BoxRec *rects, - int shift_x, int shift_y); - -/* - * Switch the window associated with a frame. (Optional) - * When a framed window is reparented, the frame is resized and set to - * use the new top-level parent. If defined this function will be called - * afterwards for implementation specific bookkeeping. - * - * pFrame Frame whose window has switched - * oldWin Previous window wrapped by this frame - */ -typedef void (*RootlessSwitchWindowProc) - (RootlessWindowPtr pFrame, WindowPtr oldWin); - -/* - * Copy bytes. (Optional) - * Source and destinate may overlap and the right thing should happen. - * - * width Bytes to copy per row - * height Number of rows - * src Source data - * srcRowBytes Width of source in bytes - * dst Destination data - * dstRowBytes Width of destination in bytes - */ -typedef void (*RootlessCopyBytesProc) - (unsigned int width, unsigned int height, - const void *src, unsigned int srcRowBytes, - void *dst, unsigned int dstRowBytes); - -/* - * Copy area in frame to another part of frame. (Optional) - * - * wid Frame id - * dstNrects Number of rectangles to copy - * dstRects Array of rectangles to copy - * dx, dy Number of pixels away to copy area - */ -typedef void (*RootlessCopyWindowProc) - (RootlessFrameID wid, int dstNrects, const BoxRec *dstRects, - int dx, int dy); - diff --git a/miext/rootless/meson.build b/miext/rootless/meson.build deleted file mode 100644 index 66b9f06cf..000000000 --- a/miext/rootless/meson.build +++ /dev/null @@ -1,13 +0,0 @@ -srcs_miext_rootless = [ - 'rootlessCommon.c', - 'rootlessGC.c', - 'rootlessScreen.c', - 'rootlessValTree.c', - 'rootlessWindow.c', -] - -libxserver_miext_rootless = static_library('libxserver_miext_rootless', - srcs_miext_rootless, - include_directories: inc, - dependencies: common_dep, -) diff --git a/miext/rootless/rootless.h b/miext/rootless/rootless.h deleted file mode 100644 index b375731bf..000000000 --- a/miext/rootless/rootless.h +++ /dev/null @@ -1,362 +0,0 @@ -/* - * External interface to generic rootless mode - */ -/* - * Copyright (c) 2001 Greg Parker. All Rights Reserved. - * Copyright (c) 2002-2003 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _ROOTLESS_H -#define _ROOTLESS_H - -#include "rootlessConfig.h" -#include "mi.h" -#include "gcstruct.h" - -/* - Each top-level rootless window has a one-to-one correspondence to a physical - on-screen window. The physical window is referred to as a "frame". - */ - -typedef void *RootlessFrameID; - -/* - * RootlessWindowRec - * This structure stores the per-frame data used by the rootless code. - * Each top-level X window has one RootlessWindowRec associated with it. - */ -typedef struct _RootlessWindowRec { - // Position and size includes the window border - // Position is in per-screen coordinates - int x, y; - unsigned int width, height; - unsigned int borderWidth; - int level; - - RootlessFrameID wid; // implementation specific frame id - WindowPtr win; // underlying X window - - // Valid only when drawing (ie. is_drawing is set) - char *pixelData; - int bytesPerRow; - - PixmapPtr pixmap; - - unsigned int is_drawing:1; // Currently drawing? - unsigned int is_reorder_pending:1; - unsigned int is_offscreen:1; - unsigned int is_obscured:1; -} RootlessWindowRec, *RootlessWindowPtr; - -/* Offset for screen-local to global coordinate transforms */ -extern int rootlessGlobalOffsetX; -extern int rootlessGlobalOffsetY; - -/* The minimum number of bytes or pixels for which to use the - implementation's accelerated functions. */ -extern unsigned int rootless_CopyBytes_threshold; -extern unsigned int rootless_CopyWindow_threshold; - -/* Gravity for window contents during resizing */ -enum rl_gravity_enum { - RL_GRAVITY_NONE = 0, /* no gravity, fill everything */ - RL_GRAVITY_NORTH_WEST = 1, /* anchor to top-left corner */ - RL_GRAVITY_NORTH_EAST = 2, /* anchor to top-right corner */ - RL_GRAVITY_SOUTH_EAST = 3, /* anchor to bottom-right corner */ - RL_GRAVITY_SOUTH_WEST = 4, /* anchor to bottom-left corner */ -}; - -/*------------------------------------------ - Rootless Implementation Functions - ------------------------------------------*/ - -/* - * Create a new frame. - * The frame is created unmapped. - * - * pFrame RootlessWindowPtr for this frame should be completely - * initialized before calling except for pFrame->wid, which - * is set by this function. - * pScreen Screen on which to place the new frame - * newX, newY Position of the frame. - * pNewShape Shape for the frame (in frame-local coordinates). NULL for - * unshaped frames. - */ -typedef Bool (*RootlessCreateFrameProc) - (RootlessWindowPtr pFrame, ScreenPtr pScreen, int newX, int newY, - RegionPtr pNewShape); - -/* - * Destroy a frame. - * Drawing is stopped and all updates are flushed before this is called. - * - * wid Frame id - */ -typedef void (*RootlessDestroyFrameProc) - (RootlessFrameID wid); - -/* - * Move a frame on screen. - * Drawing is stopped and all updates are flushed before this is called. - * - * wid Frame id - * pScreen Screen to move the new frame to - * newX, newY New position of the frame - */ -typedef void (*RootlessMoveFrameProc) - (RootlessFrameID wid, ScreenPtr pScreen, int newX, int newY); - -/* - * Resize and move a frame. - * Drawing is stopped and all updates are flushed before this is called. - * - * wid Frame id - * pScreen Screen to move the new frame to - * newX, newY New position of the frame - * newW, newH New size of the frame - * gravity Gravity for window contents (rl_gravity_enum). - */ -typedef void (*RootlessResizeFrameProc) - (RootlessFrameID wid, ScreenPtr pScreen, - int newX, int newY, unsigned int newW, unsigned int newH, - unsigned int gravity); - -/* - * Change frame ordering (AKA stacking, layering). - * Drawing is stopped before this is called. Unmapped frames are mapped by - * setting their ordering. - * - * wid Frame id - * nextWid Frame id of frame that is now above this one or NULL if this - * frame is at the top. - */ -typedef void (*RootlessRestackFrameProc) - (RootlessFrameID wid, RootlessFrameID nextWid); - -/* - * Change frame's shape. - * Drawing is stopped before this is called. - * - * wid Frame id - * pNewShape New shape for the frame (in frame-local coordinates) - * or NULL if now unshaped. - */ -typedef void (*RootlessReshapeFrameProc) - (RootlessFrameID wid, RegionPtr pNewShape); - -/* - * Unmap a frame. - * - * wid Frame id - */ -typedef void (*RootlessUnmapFrameProc) - (RootlessFrameID wid); - -/* - * Start drawing to a frame. - * Prepare a frame for direct access to its backing buffer. - * - * wid Frame id - * pixelData Address of the backing buffer (returned) - * bytesPerRow Width in bytes of the backing buffer (returned) - */ -typedef void (*RootlessStartDrawingProc) - (RootlessFrameID wid, char **pixelData, int *bytesPerRow); - -/* - * Stop drawing to a frame. - * No drawing to the frame's backing buffer will occur until drawing - * is started again. - * - * wid Frame id - * flush Flush drawing updates for this frame to the screen. - */ -typedef void (*RootlessStopDrawingProc) - (RootlessFrameID wid, Bool flush); - -/* - * Flush drawing updates to the screen. - * Drawing is stopped before this is called. - * - * wid Frame id - * pDamage Region containing all the changed pixels in frame-lcoal - * coordinates. This is clipped to the window's clip. - */ -typedef void (*RootlessUpdateRegionProc) - (RootlessFrameID wid, RegionPtr pDamage); - -/* - * Mark damaged rectangles as requiring redisplay to screen. - * - * wid Frame id - * nrects Number of damaged rectangles - * rects Array of damaged rectangles in frame-local coordinates - * shift_x, Vector to shift rectangles by - * shift_y - */ -typedef void (*RootlessDamageRectsProc) - (RootlessFrameID wid, int nrects, const BoxRec * rects, - int shift_x, int shift_y); - -/* - * Switch the window associated with a frame. (Optional) - * When a framed window is reparented, the frame is resized and set to - * use the new top-level parent. If defined this function will be called - * afterwards for implementation specific bookkeeping. - * - * pFrame Frame whose window has switched - * oldWin Previous window wrapped by this frame - */ -typedef void (*RootlessSwitchWindowProc) - (RootlessWindowPtr pFrame, WindowPtr oldWin); - -/* - * Check if window should be reordered. (Optional) - * The underlying window system may animate windows being ordered in. - * We want them to be mapped but remain ordered out until the animation - * completes. If defined this function will be called to check if a - * framed window should be reordered now. If this function returns - * FALSE, the window will still be mapped from the X11 perspective, but - * the RestackFrame function will not be called for its frame. - * - * pFrame Frame to reorder - */ -typedef Bool (*RootlessDoReorderWindowProc) - (RootlessWindowPtr pFrame); - -/* - * Copy bytes. (Optional) - * Source and destinate may overlap and the right thing should happen. - * - * width Bytes to copy per row - * height Number of rows - * src Source data - * srcRowBytes Width of source in bytes - * dst Destination data - * dstRowBytes Width of destination in bytes - */ -typedef void (*RootlessCopyBytesProc) - (unsigned int width, unsigned int height, - const void *src, unsigned int srcRowBytes, - void *dst, unsigned int dstRowBytes); - -/* - * Copy area in frame to another part of frame. (Optional) - * - * wid Frame id - * dstNrects Number of rectangles to copy - * dstRects Array of rectangles to copy - * dx, dy Number of pixels away to copy area - */ -typedef void (*RootlessCopyWindowProc) - (RootlessFrameID wid, int dstNrects, const BoxRec * dstRects, int dx, int dy); - -typedef void (*RootlessHideWindowProc) - (RootlessFrameID wid); - -typedef void (*RootlessUpdateColormapProc) - (RootlessFrameID wid, ScreenPtr pScreen); - -/* - * Rootless implementation function list - */ -typedef struct _RootlessFrameProcs { - RootlessCreateFrameProc CreateFrame; - RootlessDestroyFrameProc DestroyFrame; - - RootlessMoveFrameProc MoveFrame; - RootlessResizeFrameProc ResizeFrame; - RootlessRestackFrameProc RestackFrame; - RootlessReshapeFrameProc ReshapeFrame; - RootlessUnmapFrameProc UnmapFrame; - - RootlessStartDrawingProc StartDrawing; - RootlessStopDrawingProc StopDrawing; - RootlessUpdateRegionProc UpdateRegion; - RootlessDamageRectsProc DamageRects; - - /* Optional frame functions */ - RootlessSwitchWindowProc SwitchWindow; - RootlessDoReorderWindowProc DoReorderWindow; - RootlessHideWindowProc HideWindow; - RootlessUpdateColormapProc UpdateColormap; - - /* Optional acceleration functions */ - RootlessCopyBytesProc CopyBytes; - RootlessCopyWindowProc CopyWindow; -} RootlessFrameProcsRec, *RootlessFrameProcsPtr; - -/* - * Initialize rootless mode on the given screen. - */ -Bool RootlessInit(ScreenPtr pScreen, RootlessFrameProcsPtr procs); - -/* - * Return the frame ID for the physical window displaying the given window. - * - * create If true and the window has no frame, attempt to create one - */ -RootlessFrameID RootlessFrameForWindow(WindowPtr pWin, Bool create); - -/* - * Return the top-level parent of a window. - * The root is the top-level parent of itself, even though the root is - * not otherwise considered to be a top-level window. - */ -WindowPtr TopLevelParent(WindowPtr pWindow); - -/* - * Prepare a window for direct access to its backing buffer. - */ -void RootlessStartDrawing(WindowPtr pWindow); - -/* - * Finish drawing to a window's backing buffer. - * - * flush If true, damaged areas are flushed to the screen. - */ -void RootlessStopDrawing(WindowPtr pWindow, Bool flush); - -/* - * Allocate a new screen pixmap. - * miCreateScreenResources does not do this properly with a null - * framebuffer pointer. - */ -void RootlessUpdateScreenPixmap(ScreenPtr pScreen); - -/* - * Reposition all windows on a screen to their correct positions. - */ -void RootlessRepositionWindows(ScreenPtr pScreen); - -/* - * Bring all windows to the front of the native stack - */ -void RootlessOrderAllWindows(Bool include_unhitable); -#endif /* _ROOTLESS_H */ diff --git a/miext/rootless/rootlessCommon.c b/miext/rootless/rootlessCommon.c deleted file mode 100644 index 44c2c3789..000000000 --- a/miext/rootless/rootlessCommon.c +++ /dev/null @@ -1,498 +0,0 @@ -/* - * Common rootless definitions and code - */ -/* - * Copyright (c) 2001 Greg Parker. All Rights Reserved. - * Copyright (c) 2002-2003 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 2002 Apple Computer, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include /* For NULL */ -#include /* For CHAR_BIT */ - -#include "rootlessCommon.h" -#include "colormapst.h" - -unsigned int rootless_CopyBytes_threshold = 0; -unsigned int rootless_CopyWindow_threshold = 0; -int rootlessGlobalOffsetX = 0; -int rootlessGlobalOffsetY = 0; - -RegionRec rootlessHugeRoot = { {-32767, -32767, 32767, 32767}, NULL }; - -/* Following macro from miregion.c */ - -/* true iff two Boxes overlap */ -#define EXTENTCHECK(r1,r2) \ - (!( ((r1)->x2 <= (r2)->x1) || \ - ((r1)->x1 >= (r2)->x2) || \ - ((r1)->y2 <= (r2)->y1) || \ - ((r1)->y1 >= (r2)->y2) ) ) - -/* - * TopLevelParent - * Returns the top-level parent of pWindow. - * The root is the top-level parent of itself, even though the root is - * not otherwise considered to be a top-level window. - */ -WindowPtr -TopLevelParent(WindowPtr pWindow) -{ - WindowPtr top; - - if (IsRoot(pWindow)) - return pWindow; - - top = pWindow; - while (top && !IsTopLevel(top)) - top = top->parent; - - return top; -} - -/* - * IsFramedWindow - * Returns TRUE if this window is visible inside a frame - * (e.g. it is visible and has a top-level or root parent) - */ -Bool -IsFramedWindow(WindowPtr pWin) -{ - WindowPtr top; - - if (!dixPrivateKeyRegistered(&rootlessWindowPrivateKeyRec)) - return FALSE; - - if (!pWin->realized) - return FALSE; - top = TopLevelParent(pWin); - - return (top && WINREC(top)); -} - -Bool -RootlessResolveColormap(ScreenPtr pScreen, int first_color, - int n_colors, uint32_t * colors) -{ - int last, i; - ColormapPtr map; - - map = RootlessGetColormap(pScreen); - if (map == NULL || map->class != PseudoColor) - return FALSE; - - last = min(map->pVisual->ColormapEntries, first_color + n_colors); - for (i = max(0, first_color); i < last; i++) { - Entry *ent = map->red + i; - uint16_t red, green, blue; - - if (!ent->refcnt) - continue; - if (ent->fShared) { - red = ent->co.shco.red->color; - green = ent->co.shco.green->color; - blue = ent->co.shco.blue->color; - } - else { - red = ent->co.local.red; - green = ent->co.local.green; - blue = ent->co.local.blue; - } - - colors[i - first_color] = (0xFF000000UL - | ((uint32_t) red & 0xff00) << 8 - | (green & 0xff00) - | (blue >> 8)); - } - - return TRUE; -} - -unsigned long RootlessWID(WindowPtr pWindow) { - ScreenPtr pScreen = pWindow->drawable.pScreen; - WindowPtr top = TopLevelParent(pWindow); - RootlessWindowRec *winRec; - PixmapPtr curPixmap; - - if (top == NULL) { - return 0; - } - winRec = WINREC(top); - if (winRec == NULL) { - return 0; - } - - return (unsigned long)(uintptr_t)winRec->wid; -} - -/* - * RootlessStartDrawing - * Prepare a window for direct access to its backing buffer. - * Each top-level parent has a Pixmap representing its backing buffer, - * which all of its children inherit. - */ -void -RootlessStartDrawing(WindowPtr pWindow) -{ - ScreenPtr pScreen = pWindow->drawable.pScreen; - WindowPtr top = TopLevelParent(pWindow); - RootlessWindowRec *winRec; - PixmapPtr curPixmap; - - if (top == NULL) { - RL_DEBUG_MSG("RootlessStartDrawing is a no-op because top == NULL.\n"); - return; - } - winRec = WINREC(top); - if (winRec == NULL) { - RL_DEBUG_MSG("RootlessStartDrawing is a no-op because winRec == NULL.\n"); - return; - } - - // Make sure the window's top-level parent is prepared for drawing. - if (!winRec->is_drawing) { - int bw = wBorderWidth(top); - - SCREENREC(pScreen)->imp->StartDrawing(winRec->wid, &winRec->pixelData, - &winRec->bytesPerRow); - - winRec->pixmap = - GetScratchPixmapHeader(pScreen, winRec->width, winRec->height, - top->drawable.depth, - top->drawable.bitsPerPixel, - winRec->bytesPerRow, winRec->pixelData); - - RL_DEBUG_MSG("GetScratchPixmapHeader gave us %p %p (%d,%d %dx%d %d) for wid=%lu\n", - winRec->pixmap, winRec->pixmap->devPrivate.ptr, winRec->pixmap->drawable.x, - winRec->pixmap->drawable.y, winRec->pixmap->drawable.width, winRec->pixmap->drawable.height, - winRec->pixmap->drawable.bitsPerPixel, RootlessWID(pWindow)); - - SetPixmapBaseToScreen(winRec->pixmap, - top->drawable.x - bw, top->drawable.y - bw); - - RL_DEBUG_MSG("After SetPixmapBaseToScreen(%d %d %d): %p (%d,%d %dx%d %d) for wid=%lu\n", - top->drawable.x, top->drawable.y, bw, winRec->pixmap->devPrivate.ptr, winRec->pixmap->drawable.x, - winRec->pixmap->drawable.y, winRec->pixmap->drawable.width, winRec->pixmap->drawable.height, - winRec->pixmap->drawable.bitsPerPixel, RootlessWID(pWindow)); - - winRec->is_drawing = TRUE; - } else { - RL_DEBUG_MSG("Skipped call to xprStartDrawing (wid: %lu) because winRec->is_drawing says we already did.\n", RootlessWID(pWindow)); - } - - curPixmap = pScreen->GetWindowPixmap(pWindow); - if (curPixmap == winRec->pixmap) { - RL_DEBUG_MSG("Window %p already has winRec->pixmap %p; not pushing\n", - pWindow, winRec->pixmap); - } - else { - PixmapPtr oldPixmap = - dixLookupPrivate(&pWindow->devPrivates, - rootlessWindowOldPixmapPrivateKey); - - RL_DEBUG_MSG("curPixmap is %p %p for wid=%lu\n", curPixmap, curPixmap ? curPixmap->devPrivate.ptr : NULL, RootlessWID(pWindow)); - RL_DEBUG_MSG("oldPixmap is %p %p for wid=%lu\n", oldPixmap, oldPixmap ? oldPixmap->devPrivate.ptr : NULL, RootlessWID(pWindow)); - - if (oldPixmap != NULL) { - if (oldPixmap == curPixmap) - RL_DEBUG_MSG - ("Window %p's curPixmap %p is the same as its oldPixmap; strange\n", - pWindow, curPixmap); - else - RL_DEBUG_MSG("Window %p's existing oldPixmap %p being lost!\n", - pWindow, oldPixmap); - } - dixSetPrivate(&pWindow->devPrivates, rootlessWindowOldPixmapPrivateKey, - curPixmap); - pScreen->SetWindowPixmap(pWindow, winRec->pixmap); - } -} - -/* - * RootlessStopDrawing - * Stop drawing to a window's backing buffer. If flush is true, - * damaged regions are flushed to the screen. - */ -static int -RestorePreDrawingPixmapVisitor(WindowPtr pWindow, void *data) -{ - RootlessWindowRec *winRec = (RootlessWindowRec *) data; - ScreenPtr pScreen = pWindow->drawable.pScreen; - PixmapPtr exPixmap = pScreen->GetWindowPixmap(pWindow); - PixmapPtr oldPixmap = - dixLookupPrivate(&pWindow->devPrivates, - rootlessWindowOldPixmapPrivateKey); - if (oldPixmap == NULL) { - if (exPixmap == winRec->pixmap) - RL_DEBUG_MSG - ("Window %p appears to be in drawing mode (ex-pixmap %p equals winRec->pixmap, which is being freed) but has no oldPixmap!\n", - pWindow, exPixmap); - } - else { - if (exPixmap != winRec->pixmap) - RL_DEBUG_MSG - ("Window %p appears to be in drawing mode (oldPixmap %p) but ex-pixmap %p not winRec->pixmap %p!\n", - pWindow, oldPixmap, exPixmap, winRec->pixmap); - if (oldPixmap == winRec->pixmap) - RL_DEBUG_MSG - ("Window %p's oldPixmap %p is winRec->pixmap, which has just been freed!\n", - pWindow, oldPixmap); - pScreen->SetWindowPixmap(pWindow, oldPixmap); - dixSetPrivate(&pWindow->devPrivates, rootlessWindowOldPixmapPrivateKey, - NULL); - } - return WT_WALKCHILDREN; -} - -void -RootlessStopDrawing(WindowPtr pWindow, Bool flush) -{ - ScreenPtr pScreen = pWindow->drawable.pScreen; - WindowPtr top = TopLevelParent(pWindow); - RootlessWindowRec *winRec; - - if (top == NULL) - return; - winRec = WINREC(top); - if (winRec == NULL) - return; - - if (winRec->is_drawing) { - SCREENREC(pScreen)->imp->StopDrawing(winRec->wid, flush); - - FreeScratchPixmapHeader(winRec->pixmap); - TraverseTree(top, RestorePreDrawingPixmapVisitor, (void *) winRec); - winRec->pixmap = NULL; - - winRec->is_drawing = FALSE; - } - else if (flush) { - SCREENREC(pScreen)->imp->UpdateRegion(winRec->wid, NULL); - } - - if (flush && winRec->is_reorder_pending) { - winRec->is_reorder_pending = FALSE; - RootlessReorderWindow(pWindow); - } -} - -/* - * RootlessDamageRegion - * Mark a damaged region as requiring redisplay to screen. - * pRegion is in GLOBAL coordinates. - */ -void -RootlessDamageRegion(WindowPtr pWindow, RegionPtr pRegion) -{ - RootlessWindowRec *winRec; - RegionRec clipped; - WindowPtr pTop; - BoxPtr b1, b2; - - RL_DEBUG_MSG("Damaged win %p\n", pWindow); - - pTop = TopLevelParent(pWindow); - if (pTop == NULL) - return; - - winRec = WINREC(pTop); - if (winRec == NULL) - return; - - /* We need to intersect the drawn region with the clip of the window - to avoid marking places we didn't actually draw (which can cause - problems when the window has an extra client-side backing store) - - But this is a costly operation and since we'll normally just be - drawing inside the clip, go to some lengths to avoid the general - case intersection. */ - - b1 = RegionExtents(&pWindow->borderClip); - b2 = RegionExtents(pRegion); - - if (EXTENTCHECK(b1, b2)) { - /* Regions may overlap. */ - - if (RegionNumRects(pRegion) == 1) { - int in; - - /* Damaged region only has a single rect, so we can - just compare that against the region */ - - in = RegionContainsRect(&pWindow->borderClip, RegionRects(pRegion)); - if (in == rgnIN) { - /* clip totally contains pRegion */ - - SCREENREC(pWindow->drawable.pScreen)->imp->DamageRects(winRec-> - wid, - RegionNumRects - (pRegion), - RegionRects - (pRegion), - -winRec-> - x, - -winRec-> - y); - - RootlessQueueRedisplay(pTop->drawable.pScreen); - goto out; - } - else if (in == rgnOUT) { - /* clip doesn't contain pRegion */ - - goto out; - } - } - - /* clip overlaps pRegion, need to intersect */ - - RegionNull(&clipped); - RegionIntersect(&clipped, &pWindow->borderClip, pRegion); - - SCREENREC(pWindow->drawable.pScreen)->imp->DamageRects(winRec->wid, - RegionNumRects - (&clipped), - RegionRects - (&clipped), - -winRec->x, - -winRec->y); - - RegionUninit(&clipped); - - RootlessQueueRedisplay(pTop->drawable.pScreen); - } - - out: -#ifdef ROOTLESSDEBUG - { - BoxRec *box = RegionRects(pRegion), *end; - int numBox = RegionNumRects(pRegion); - - for (end = box + numBox; box < end; box++) { - RL_DEBUG_MSG("Damage rect: %i, %i, %i, %i\n", - box->x1, box->x2, box->y1, box->y2); - } - } -#endif - return; -} - -/* - * RootlessDamageBox - * Mark a damaged box as requiring redisplay to screen. - * pRegion is in GLOBAL coordinates. - */ -void -RootlessDamageBox(WindowPtr pWindow, BoxPtr pBox) -{ - RegionRec region; - - RegionInit(®ion, pBox, 1); - - RootlessDamageRegion(pWindow, ®ion); - - RegionUninit(®ion); /* no-op */ -} - -/* - * RootlessDamageRect - * Mark a damaged rectangle as requiring redisplay to screen. - * (x, y, w, h) is in window-local coordinates. - */ -void -RootlessDamageRect(WindowPtr pWindow, int x, int y, int w, int h) -{ - BoxRec box; - RegionRec region; - - x += pWindow->drawable.x; - y += pWindow->drawable.y; - - box.x1 = x; - box.x2 = x + w; - box.y1 = y; - box.y2 = y + h; - - RegionInit(®ion, &box, 1); - - RootlessDamageRegion(pWindow, ®ion); - - RegionUninit(®ion); /* no-op */ -} - -/* - * RootlessRedisplay - * Stop drawing and redisplay the damaged region of a window. - */ -void -RootlessRedisplay(WindowPtr pWindow) -{ - RootlessStopDrawing(pWindow, TRUE); -} - -/* - * RootlessRepositionWindows - * Reposition all windows on a screen to their correct positions. - */ -void -RootlessRepositionWindows(ScreenPtr pScreen) -{ - WindowPtr root = pScreen->root; - WindowPtr win; - - if (root != NULL) { - RootlessRepositionWindow(root); - - for (win = root->firstChild; win; win = win->nextSib) { - if (WINREC(win) != NULL) - RootlessRepositionWindow(win); - } - } -} - -/* - * RootlessRedisplayScreen - * Walk every window on a screen and redisplay the damaged regions. - */ -void -RootlessRedisplayScreen(ScreenPtr pScreen) -{ - WindowPtr root = pScreen->root; - - if (root != NULL) { - WindowPtr win; - - RootlessRedisplay(root); - for (win = root->firstChild; win; win = win->nextSib) { - if (WINREC(win) != NULL) { - RootlessRedisplay(win); - } - } - } -} diff --git a/miext/rootless/rootlessCommon.h b/miext/rootless/rootlessCommon.h deleted file mode 100644 index 40400b395..000000000 --- a/miext/rootless/rootlessCommon.h +++ /dev/null @@ -1,276 +0,0 @@ -/* - * Common internal rootless definitions and code - */ -/* - * Copyright (c) 2001 Greg Parker. All Rights Reserved. - * Copyright (c) 2002-2004 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include -#ifndef _ROOTLESSCOMMON_H -#define _ROOTLESSCOMMON_H - -#include "misc.h" -#include "rootless.h" -#include "fb.h" - -#include "scrnintstr.h" - -#include "picturestr.h" - -// Debug output, or not. -#ifdef ROOTLESSDEBUG -#define RL_DEBUG_MSG ErrorF -#else -#define RL_DEBUG_MSG(a, ...) -#endif - -// Global variables -extern DevPrivateKeyRec rootlessGCPrivateKeyRec; - -#define rootlessGCPrivateKey (&rootlessGCPrivateKeyRec) - -extern DevPrivateKeyRec rootlessScreenPrivateKeyRec; - -#define rootlessScreenPrivateKey (&rootlessScreenPrivateKeyRec) - -extern DevPrivateKeyRec rootlessWindowPrivateKeyRec; - -#define rootlessWindowPrivateKey (&rootlessWindowPrivateKeyRec) - -extern DevPrivateKeyRec rootlessWindowOldPixmapPrivateKeyRec; - -#define rootlessWindowOldPixmapPrivateKey (&rootlessWindowOldPixmapPrivateKeyRec) - -// RootlessGCRec: private per-gc data -typedef struct { - const GCFuncs *originalFuncs; - const GCOps *originalOps; -} RootlessGCRec; - -// RootlessScreenRec: per-screen private data -typedef struct _RootlessScreenRec { - // Rootless implementation functions - RootlessFrameProcsPtr imp; - - // Wrapped screen functions - CreateScreenResourcesProcPtr CreateScreenResources; - CloseScreenProcPtr CloseScreen; - - CreateWindowProcPtr CreateWindow; - DestroyWindowProcPtr DestroyWindow; - RealizeWindowProcPtr RealizeWindow; - UnrealizeWindowProcPtr UnrealizeWindow; - MoveWindowProcPtr MoveWindow; - ResizeWindowProcPtr ResizeWindow; - RestackWindowProcPtr RestackWindow; - ReparentWindowProcPtr ReparentWindow; - ChangeBorderWidthProcPtr ChangeBorderWidth; - PositionWindowProcPtr PositionWindow; - ChangeWindowAttributesProcPtr ChangeWindowAttributes; - PaintWindowProcPtr PaintWindow; - - CreateGCProcPtr CreateGC; - CopyWindowProcPtr CopyWindow; - GetImageProcPtr GetImage; - SourceValidateProcPtr SourceValidate; - - MarkOverlappedWindowsProcPtr MarkOverlappedWindows; - ValidateTreeProcPtr ValidateTree; - - SetShapeProcPtr SetShape; - - CompositeProcPtr Composite; - GlyphsProcPtr Glyphs; - - InstallColormapProcPtr InstallColormap; - UninstallColormapProcPtr UninstallColormap; - StoreColorsProcPtr StoreColors; - - void *pixmap_data; - unsigned int pixmap_data_size; - - ColormapPtr colormap; - - void *redisplay_timer; - unsigned int redisplay_timer_set:1; - unsigned int redisplay_queued:1; - unsigned int redisplay_expired:1; - unsigned int colormap_changed:1; -} RootlessScreenRec, *RootlessScreenPtr; - -// "Definition of the Porting Layer for the X11 Sample Server" says -// unwrap and rewrap of screen functions is unnecessary, but -// screen->CreateGC changes after a call to cfbCreateGC. - -#define SCREEN_UNWRAP(screen, fn) \ - screen->fn = SCREENREC(screen)->fn; - -#define SCREEN_WRAP(screen, fn) \ - SCREENREC(screen)->fn = screen->fn; \ - screen->fn = Rootless##fn - -// Accessors for screen and window privates - -#define SCREENREC(pScreen) ((RootlessScreenRec *) \ - dixLookupPrivate(&(pScreen)->devPrivates, rootlessScreenPrivateKey)) - -#define SETSCREENREC(pScreen, v) \ - dixSetPrivate(&(pScreen)->devPrivates, rootlessScreenPrivateKey, v) - -#define WINREC(pWin) ((RootlessWindowRec *) \ - dixLookupPrivate(&(pWin)->devPrivates, rootlessWindowPrivateKey)) - -#define SETWINREC(pWin, v) \ - dixSetPrivate(&(pWin)->devPrivates, rootlessWindowPrivateKey, v) - -// Call a rootless implementation function. -// Many rootless implementation functions are allowed to be NULL. -#define CallFrameProc(pScreen, proc, params) \ - if (SCREENREC(pScreen)->frameProcs.proc) { \ - RL_DEBUG_MSG("calling frame proc " #proc " "); \ - SCREENREC(pScreen)->frameProcs.proc params; \ - } - -// BoxRec manipulators -// Copied from shadowfb - -#define TRIM_BOX(box, pGC) { \ - BoxPtr extents = &pGC->pCompositeClip->extents;\ - if(box.x1 < extents->x1) box.x1 = extents->x1; \ - if(box.x2 > extents->x2) box.x2 = extents->x2; \ - if(box.y1 < extents->y1) box.y1 = extents->y1; \ - if(box.y2 > extents->y2) box.y2 = extents->y2; \ -} - -#define TRANSLATE_BOX(box, pDraw) { \ - box.x1 += pDraw->x; \ - box.x2 += pDraw->x; \ - box.y1 += pDraw->y; \ - box.y2 += pDraw->y; \ -} - -#define TRIM_AND_TRANSLATE_BOX(box, pDraw, pGC) { \ - TRANSLATE_BOX(box, pDraw); \ - TRIM_BOX(box, pGC); \ -} - -#define BOX_NOT_EMPTY(box) \ - (((box.x2 - box.x1) > 0) && ((box.y2 - box.y1) > 0)) - -// HUGE_ROOT and NORMAL_ROOT -// We don't want to clip windows to the edge of the screen. -// HUGE_ROOT temporarily makes the root window really big. -// This is needed as a wrapper around any function that calls -// SetWinSize or SetBorderSize which clip a window against its -// parents, including the root. - -extern RegionRec rootlessHugeRoot; - -#define HUGE_ROOT(pWin) \ - do { \ - WindowPtr _w = pWin; \ - while (_w->parent) \ - _w = _w->parent; \ - saveRoot = _w->winSize; \ - _w->winSize = rootlessHugeRoot; \ - } while (0) - -#define NORMAL_ROOT(pWin) \ - do { \ - WindowPtr _w = pWin; \ - while (_w->parent) \ - _w = _w->parent; \ - _w->winSize = saveRoot; \ - } while (0) - -// Returns TRUE if this window is a top-level window (i.e. child of the root) -// The root is not a top-level window. -#define IsTopLevel(pWin) \ - ((pWin) && (pWin)->parent && !(pWin)->parent->parent) - -// Returns TRUE if this window is a root window -#define IsRoot(pWin) \ - ((pWin) == (pWin)->drawable.pScreen->root) - -/* - * SetPixmapBaseToScreen - * Move the given pixmap's base address to where pixel (0, 0) - * would be if the pixmap's actual data started at (x, y). - * Can't access the bits before the first word of the drawable's data in - * rootless mode, so make sure our base address is always 32-bit aligned. - */ -#define SetPixmapBaseToScreen(pix, _x, _y) do { \ - pix->screen_x = _x; \ - pix->screen_y = _y; \ -} while(0) - -// Returns TRUE if this window is visible inside a frame -// (e.g. it is visible and has a top-level or root parent) -Bool IsFramedWindow(WindowPtr pWin); - -// Routines that cause regions to get redrawn. -// DamageRegion and DamageRect are in global coordinates. -// DamageBox is in window-local coordinates. -void RootlessDamageRegion(WindowPtr pWindow, RegionPtr pRegion); -void RootlessDamageRect(WindowPtr pWindow, int x, int y, int w, int h); -void RootlessDamageBox(WindowPtr pWindow, BoxPtr pBox); -void RootlessRedisplay(WindowPtr pWindow); -void RootlessRedisplayScreen(ScreenPtr pScreen); - -void RootlessQueueRedisplay(ScreenPtr pScreen); - -/* Return the colormap currently installed on the given screen. */ -ColormapPtr RootlessGetColormap(ScreenPtr pScreen); - -/* Convert colormap to ARGB. */ -Bool RootlessResolveColormap(ScreenPtr pScreen, int first_color, - int n_colors, uint32_t * colors); - -void RootlessFlushWindowColormap(WindowPtr pWin); -void RootlessFlushScreenColormaps(ScreenPtr pScreen); - -// Move a window to its proper location on the screen. -void RootlessRepositionWindow(WindowPtr pWin); - -// Move the window to its correct place in the physical stacking order. -void RootlessReorderWindow(WindowPtr pWin); - -void RootlessScreenExpose(ScreenPtr pScreen); -void RootlessHideAllWindows(void); -void RootlessShowAllWindows(void); -void RootlessUpdateRooted(Bool state); - -void RootlessEnableRoot(ScreenPtr pScreen); -void RootlessDisableRoot(ScreenPtr pScreen); - -void RootlessSetPixmapOfAncestors(WindowPtr pWin); - -unsigned long RootlessWID(WindowPtr pWindow); -#endif /* _ROOTLESSCOMMON_H */ diff --git a/miext/rootless/rootlessConfig.h b/miext/rootless/rootlessConfig.h deleted file mode 100644 index 80c2f6d8a..000000000 --- a/miext/rootless/rootlessConfig.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Platform specific rootless configuration - */ -/* - * Copyright (c) 2003 Torrey T. Lyons. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _ROOTLESSCONFIG_H -#define _ROOTLESSCONFIG_H - -/*# define ROOTLESSDEBUG*/ - -#define ROOTLESS_PROTECT_ALPHA TRUE -#define ROOTLESS_REDISPLAY_DELAY 10 - -/* Bit mask for alpha channel with a particular number of bits per - pixel. Note that we only care for 32bpp data. Mac OS X uses planar - alpha for 16bpp. */ -#define RootlessAlphaMask(bpp) ((bpp) == 32 ? 0xFF000000 : 0) - -#endif /* _ROOTLESSCONFIG_H */ diff --git a/miext/rootless/rootlessGC.c b/miext/rootless/rootlessGC.c deleted file mode 100644 index 5af18a4a0..000000000 --- a/miext/rootless/rootlessGC.c +++ /dev/null @@ -1,1481 +0,0 @@ -/* - * Graphics Context support for generic rootless X server - */ -/* - * Copyright (c) 2001 Greg Parker. All Rights Reserved. - * Copyright (c) 2002-2003 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 2002 Apple Computer, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include /* For NULL */ -#include "mi.h" -#include "scrnintstr.h" -#include "gcstruct.h" -#include "pixmapstr.h" -#include "windowstr.h" -#include "dixfontstr.h" -#include "mivalidate.h" -#include "fb.h" - -#include -#include -#include - -#include "rootlessCommon.h" - -// GC functions -static void RootlessValidateGC(GCPtr pGC, unsigned long changes, - DrawablePtr pDrawable); -static void RootlessChangeGC(GCPtr pGC, unsigned long mask); -static void RootlessCopyGC(GCPtr pGCSrc, unsigned long mask, GCPtr pGCDst); -static void RootlessDestroyGC(GCPtr pGC); -static void RootlessChangeClip(GCPtr pGC, int type, void *pvalue, int nrects); -static void RootlessDestroyClip(GCPtr pGC); -static void RootlessCopyClip(GCPtr pgcDst, GCPtr pgcSrc); - -Bool RootlessCreateGC(GCPtr pGC); - -GCFuncs rootlessGCFuncs = { - RootlessValidateGC, - RootlessChangeGC, - RootlessCopyGC, - RootlessDestroyGC, - RootlessChangeClip, - RootlessDestroyClip, - RootlessCopyClip, -}; - -// GC operations -static void RootlessFillSpans(DrawablePtr dst, GCPtr pGC, int nInit, - DDXPointPtr pptInit, int *pwidthInit, int sorted); -static void RootlessSetSpans(DrawablePtr dst, GCPtr pGC, char *pSrc, - DDXPointPtr pptInit, int *pwidthInit, - int nspans, int sorted); -static void RootlessPutImage(DrawablePtr dst, GCPtr pGC, - int depth, int x, int y, int w, int h, - int leftPad, int format, char *pBits); -static RegionPtr RootlessCopyArea(DrawablePtr pSrc, DrawablePtr dst, GCPtr pGC, - int srcx, int srcy, int w, int h, - int dstx, int dsty); -static RegionPtr RootlessCopyPlane(DrawablePtr pSrc, DrawablePtr dst, - GCPtr pGC, int srcx, int srcy, - int w, int h, int dstx, int dsty, - unsigned long plane); -static void RootlessPolyPoint(DrawablePtr dst, GCPtr pGC, - int mode, int npt, DDXPointPtr pptInit); -static void RootlessPolylines(DrawablePtr dst, GCPtr pGC, - int mode, int npt, DDXPointPtr pptInit); -static void RootlessPolySegment(DrawablePtr dst, GCPtr pGC, - int nseg, xSegment * pSeg); -static void RootlessPolyRectangle(DrawablePtr dst, GCPtr pGC, - int nRects, xRectangle *pRects); -static void RootlessPolyArc(DrawablePtr dst, GCPtr pGC, int narcs, - xArc * parcs); -static void RootlessFillPolygon(DrawablePtr dst, GCPtr pGC, int shape, int mode, - int count, DDXPointPtr pptInit); -static void RootlessPolyFillRect(DrawablePtr dst, GCPtr pGC, int nRectsInit, - xRectangle *pRectsInit); -static void RootlessPolyFillArc(DrawablePtr dst, GCPtr pGC, int narcsInit, - xArc * parcsInit); -static int RootlessPolyText8(DrawablePtr dst, GCPtr pGC, int x, int y, - int count, char *chars); -static int RootlessPolyText16(DrawablePtr dst, GCPtr pGC, int x, int y, - int count, unsigned short *chars); -static void RootlessImageText8(DrawablePtr dst, GCPtr pGC, int x, int y, - int count, char *chars); -static void RootlessImageText16(DrawablePtr dst, GCPtr pGC, int x, int y, - int count, unsigned short *chars); -static void RootlessImageGlyphBlt(DrawablePtr dst, GCPtr pGC, int x, int y, - unsigned int nglyphInit, - CharInfoPtr * ppciInit, void *unused); -static void RootlessPolyGlyphBlt(DrawablePtr dst, GCPtr pGC, int x, int y, - unsigned int nglyph, CharInfoPtr * ppci, - void *pglyphBase); -static void RootlessPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr dst, - int dx, int dy, int xOrg, int yOrg); - -static GCOps rootlessGCOps = { - RootlessFillSpans, - RootlessSetSpans, - RootlessPutImage, - RootlessCopyArea, - RootlessCopyPlane, - RootlessPolyPoint, - RootlessPolylines, - RootlessPolySegment, - RootlessPolyRectangle, - RootlessPolyArc, - RootlessFillPolygon, - RootlessPolyFillRect, - RootlessPolyFillArc, - RootlessPolyText8, - RootlessPolyText16, - RootlessImageText8, - RootlessImageText16, - RootlessImageGlyphBlt, - RootlessPolyGlyphBlt, - RootlessPushPixels -}; - -/* - If ROOTLESS_PROTECT_ALPHA is set, we have to make sure that the alpha - channel of the on screen windows is always opaque. fb makes this harder - than it would otherwise be by noticing that a planemask of 0x00ffffff - includes all bits when depth==24, and so it "optimizes" the planemask to - 0xffffffff. We work around this by temporarily setting depth=bpp while - changing the GC. - - So the normal situation (in 32 bit mode) is that the planemask is - 0x00ffffff and thus fb leaves the alpha channel alone. The rootless - implementation is responsible for setting the alpha channel opaque - initially. - - Unfortunately drawing with a planemask that doesn't have all bits set - normally causes fb to fall off its fastest paths when blitting and - filling. So we try to recognize when we can relax the planemask back to - 0xffffffff, and do that for the duration of the drawing operation, - setting the alpha channel in fg/bg pixels to opaque at the same time. We - can do this when drawing op is GXcopy. We can also do this when copying - from another window since its alpha channel must also be opaque. - - The three macros below are used to implement this. Drawing ops that can - potentially have their planemask relaxed look like: - - OP { - GC_SAVE(gc); - GCOP_UNWRAP(gc); - - ... - - if (canAccelxxx(..) && otherwise-suitable) - GC_UNSET_PM(gc, dst); - - gc->funcs->OP(gc, ...); - - GC_RESTORE(gc, dst); - GCOP_WRAP(gc); - } - - */ - -#define GC_SAVE(pGC) \ - unsigned long _save_fg = (pGC)->fgPixel; \ - unsigned long _save_bg = (pGC)->bgPixel; \ - unsigned long _save_pm = (pGC)->planemask; \ - Bool _changed = FALSE - -#define GC_RESTORE(pGC, pDraw) \ - do { \ - if (_changed) { \ - unsigned int depth = (pDraw)->depth; \ - (pGC)->fgPixel = _save_fg; \ - (pGC)->bgPixel = _save_bg; \ - (pGC)->planemask = _save_pm; \ - (pDraw)->depth = (pDraw)->bitsPerPixel; \ - VALIDATE_GC(pGC, GCForeground | GCBackground | \ - GCPlaneMask, pDraw); \ - (pDraw)->depth = depth; \ - } \ - } while (0) - -#define GC_UNSET_PM(pGC, pDraw) \ - do { \ - unsigned int mask = RootlessAlphaMask ((pDraw)->bitsPerPixel); \ - if (((pGC)->planemask & mask) != mask) { \ - unsigned int depth = (pDraw)->depth; \ - (pGC)->fgPixel |= mask; \ - (pGC)->bgPixel |= mask; \ - (pGC)->planemask |= mask; \ - (pDraw)->depth = (pDraw)->bitsPerPixel; \ - VALIDATE_GC(pGC, GCForeground | \ - GCBackground | GCPlaneMask, pDraw); \ - (pDraw)->depth = depth; \ - _changed = TRUE; \ - } \ - } while (0) - -#define VALIDATE_GC(pGC, changes, pDrawable) \ - do { \ - pGC->funcs->ValidateGC(pGC, changes, pDrawable); \ - if (((WindowPtr) pDrawable)->viewable) { \ - gcrec->originalOps = pGC->ops; \ - } \ - } while(0) - -static RootlessWindowRec * -canAccelBlit(DrawablePtr pDraw, GCPtr pGC) -{ - WindowPtr pTop; - RootlessWindowRec *winRec; - unsigned int pm; - - if (pGC->alu != GXcopy) - return NULL; - - if (pDraw->type != DRAWABLE_WINDOW) - return NULL; - - pm = ~RootlessAlphaMask(pDraw->bitsPerPixel); - if ((pGC->planemask & pm) != pm) - return NULL; - - pTop = TopLevelParent((WindowPtr) pDraw); - if (pTop == NULL) - return NULL; - - winRec = WINREC(pTop); - if (winRec == NULL) - return NULL; - - return winRec; -} - -static inline RootlessWindowRec * -canAccelFill(DrawablePtr pDraw, GCPtr pGC) -{ - if (pGC->fillStyle != FillSolid) - return NULL; - - return canAccelBlit(pDraw, pGC); -} - -/* - * Screen function to create a graphics context - */ -Bool -RootlessCreateGC(GCPtr pGC) -{ - RootlessGCRec *gcrec; - RootlessScreenRec *s; - Bool result; - - SCREEN_UNWRAP(pGC->pScreen, CreateGC); - s = SCREENREC(pGC->pScreen); - result = s->CreateGC(pGC); - - gcrec = (RootlessGCRec *) - dixLookupPrivate(&pGC->devPrivates, rootlessGCPrivateKey); - gcrec->originalOps = NULL; // don't wrap ops yet - gcrec->originalFuncs = pGC->funcs; - pGC->funcs = &rootlessGCFuncs; - - SCREEN_WRAP(pGC->pScreen, CreateGC); - return result; -} - -/* - * GC funcs - * - * These wrap lower level GC funcs. - * ValidateGC wraps the GC ops iff dest is viewable. - * All the others just unwrap and call. - */ - -// GCFUNC_UNRAP assumes funcs have been wrapped and -// does not assume ops have been wrapped -#define GCFUNC_UNWRAP(pGC) \ - RootlessGCRec *gcrec = (RootlessGCRec *) \ - dixLookupPrivate(&(pGC)->devPrivates, rootlessGCPrivateKey); \ - (pGC)->funcs = gcrec->originalFuncs; \ - if (gcrec->originalOps) { \ - (pGC)->ops = gcrec->originalOps; \ -} - -#define GCFUNC_WRAP(pGC) \ - gcrec->originalFuncs = (pGC)->funcs; \ - (pGC)->funcs = &rootlessGCFuncs; \ - if (gcrec->originalOps) { \ - gcrec->originalOps = (pGC)->ops; \ - (pGC)->ops = &rootlessGCOps; \ -} - -static void -RootlessValidateGC(GCPtr pGC, unsigned long changes, DrawablePtr pDrawable) -{ - GCFUNC_UNWRAP(pGC); - - gcrec->originalOps = NULL; - - if (pDrawable->type == DRAWABLE_WINDOW) { -#ifdef ROOTLESS_PROTECT_ALPHA - unsigned int depth = pDrawable->depth; - - // We force a planemask so fb doesn't overwrite the alpha channel. - // Left to its own devices, fb will optimize away the planemask. - pDrawable->depth = pDrawable->bitsPerPixel; - pGC->planemask &= ~RootlessAlphaMask(pDrawable->bitsPerPixel); - VALIDATE_GC(pGC, changes | GCPlaneMask, pDrawable); - pDrawable->depth = depth; -#else - VALIDATE_GC(pGC, changes, pDrawable); -#endif - } - else { - pGC->funcs->ValidateGC(pGC, changes, pDrawable); - } - - GCFUNC_WRAP(pGC); -} - -static void -RootlessChangeGC(GCPtr pGC, unsigned long mask) -{ - GCFUNC_UNWRAP(pGC); - pGC->funcs->ChangeGC(pGC, mask); - GCFUNC_WRAP(pGC); -} - -static void -RootlessCopyGC(GCPtr pGCSrc, unsigned long mask, GCPtr pGCDst) -{ - GCFUNC_UNWRAP(pGCDst); - pGCDst->funcs->CopyGC(pGCSrc, mask, pGCDst); - GCFUNC_WRAP(pGCDst); -} - -static void -RootlessDestroyGC(GCPtr pGC) -{ - GCFUNC_UNWRAP(pGC); - pGC->funcs->DestroyGC(pGC); - GCFUNC_WRAP(pGC); -} - -static void -RootlessChangeClip(GCPtr pGC, int type, void *pvalue, int nrects) -{ - GCFUNC_UNWRAP(pGC); - pGC->funcs->ChangeClip(pGC, type, pvalue, nrects); - GCFUNC_WRAP(pGC); -} - -static void -RootlessDestroyClip(GCPtr pGC) -{ - GCFUNC_UNWRAP(pGC); - pGC->funcs->DestroyClip(pGC); - GCFUNC_WRAP(pGC); -} - -static void -RootlessCopyClip(GCPtr pgcDst, GCPtr pgcSrc) -{ - GCFUNC_UNWRAP(pgcDst); - pgcDst->funcs->CopyClip(pgcDst, pgcSrc); - GCFUNC_WRAP(pgcDst); -} - -/* - * GC ops - * - * We can't use shadowfb because shadowfb assumes one pixmap - * and our root window is a special case. - * However, much of this code is copied from shadowfb. - */ - -// assumes both funcs and ops are wrapped -#define GCOP_UNWRAP(pGC) \ - RootlessGCRec *gcrec = (RootlessGCRec *) \ - dixLookupPrivate(&(pGC)->devPrivates, rootlessGCPrivateKey); \ - const GCFuncs *saveFuncs = pGC->funcs; \ - (pGC)->funcs = gcrec->originalFuncs; \ - (pGC)->ops = gcrec->originalOps; - -#define GCOP_WRAP(pGC) \ - gcrec->originalOps = (pGC)->ops; \ - (pGC)->funcs = saveFuncs; \ - (pGC)->ops = &rootlessGCOps; - -static void -RootlessFillSpans(DrawablePtr dst, GCPtr pGC, int nInit, - DDXPointPtr pptInit, int *pwidthInit, int sorted) -{ - GC_SAVE(pGC); - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("fill spans start "); - - if (nInit <= 0) { - pGC->ops->FillSpans(dst, pGC, nInit, pptInit, pwidthInit, sorted); - } - else { - DDXPointPtr ppt = pptInit; - int *pwidth = pwidthInit; - int i = nInit; - BoxRec box; - - box.x1 = ppt->x; - box.x2 = box.x1 + *pwidth; - box.y2 = box.y1 = ppt->y; - - while (--i) { - ppt++; - pwidth++; - if (box.x1 > ppt->x) - box.x1 = ppt->x; - if (box.x2 < (ppt->x + *pwidth)) - box.x2 = ppt->x + *pwidth; - if (box.y1 > ppt->y) - box.y1 = ppt->y; - else if (box.y2 < ppt->y) - box.y2 = ppt->y; - } - - box.y2++; - - RootlessStartDrawing((WindowPtr) dst); - - if (canAccelFill(dst, pGC)) { - GC_UNSET_PM(pGC, dst); - } - - pGC->ops->FillSpans(dst, pGC, nInit, pptInit, pwidthInit, sorted); - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - - GC_RESTORE(pGC, dst); - GCOP_WRAP(pGC); - RL_DEBUG_MSG("fill spans end\n"); -} - -static void -RootlessSetSpans(DrawablePtr dst, GCPtr pGC, char *pSrc, - DDXPointPtr pptInit, int *pwidthInit, int nspans, int sorted) -{ - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("set spans start "); - - if (nspans <= 0) { - pGC->ops->SetSpans(dst, pGC, pSrc, pptInit, pwidthInit, nspans, sorted); - } - else { - DDXPointPtr ppt = pptInit; - int *pwidth = pwidthInit; - int i = nspans; - BoxRec box; - - box.x1 = ppt->x; - box.x2 = box.x1 + *pwidth; - box.y2 = box.y1 = ppt->y; - - while (--i) { - ppt++; - pwidth++; - if (box.x1 > ppt->x) - box.x1 = ppt->x; - if (box.x2 < (ppt->x + *pwidth)) - box.x2 = ppt->x + *pwidth; - if (box.y1 > ppt->y) - box.y1 = ppt->y; - else if (box.y2 < ppt->y) - box.y2 = ppt->y; - } - - box.y2++; - - RootlessStartDrawing((WindowPtr) dst); - pGC->ops->SetSpans(dst, pGC, pSrc, pptInit, pwidthInit, nspans, sorted); - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - GCOP_WRAP(pGC); - RL_DEBUG_MSG("set spans end\n"); -} - -static void -RootlessPutImage(DrawablePtr dst, GCPtr pGC, - int depth, int x, int y, int w, int h, - int leftPad, int format, char *pBits) -{ - BoxRec box; - - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("put image start "); - - RootlessStartDrawing((WindowPtr) dst); - pGC->ops->PutImage(dst, pGC, depth, x, y, w, h, leftPad, format, pBits); - - box.x1 = x + dst->x; - box.x2 = box.x1 + w; - box.y1 = y + dst->y; - box.y2 = box.y1 + h; - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("put image end\n"); -} - -/* changed area is *dest* rect */ -static RegionPtr -RootlessCopyArea(DrawablePtr pSrc, DrawablePtr dst, GCPtr pGC, - int srcx, int srcy, int w, int h, int dstx, int dsty) -{ - RegionPtr result; - BoxRec box; - - GC_SAVE(pGC); - GCOP_UNWRAP(pGC); - - RL_DEBUG_MSG("copy area start (src %p, dst %p)", pSrc, dst); - - if (pSrc->type == DRAWABLE_WINDOW && IsFramedWindow((WindowPtr) pSrc)) { - /* If both source and dest are windows, and we're doing - a simple copy operation, we can remove the alpha-protecting - planemask (since source has opaque alpha as well) */ - - if (canAccelBlit(pSrc, pGC)) { - GC_UNSET_PM(pGC, dst); - } - - RootlessStartDrawing((WindowPtr) pSrc); - } - RootlessStartDrawing((WindowPtr) dst); - result = pGC->ops->CopyArea(pSrc, dst, pGC, srcx, srcy, w, h, dstx, dsty); - - box.x1 = dstx + dst->x; - box.x2 = box.x1 + w; - box.y1 = dsty + dst->y; - box.y2 = box.y1 + h; - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - - GC_RESTORE(pGC, dst); - GCOP_WRAP(pGC); - RL_DEBUG_MSG("copy area end\n"); - return result; -} - -/* changed area is *dest* rect */ -static RegionPtr -RootlessCopyPlane(DrawablePtr pSrc, DrawablePtr dst, - GCPtr pGC, int srcx, int srcy, - int w, int h, int dstx, int dsty, unsigned long plane) -{ - RegionPtr result; - BoxRec box; - - GCOP_UNWRAP(pGC); - - RL_DEBUG_MSG("copy plane start "); - - if (pSrc->type == DRAWABLE_WINDOW && IsFramedWindow((WindowPtr) pSrc)) { - RootlessStartDrawing((WindowPtr) pSrc); - } - RootlessStartDrawing((WindowPtr) dst); - result = pGC->ops->CopyPlane(pSrc, dst, pGC, srcx, srcy, w, h, - dstx, dsty, plane); - - box.x1 = dstx + dst->x; - box.x2 = box.x1 + w; - box.y1 = dsty + dst->y; - box.y2 = box.y1 + h; - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("copy plane end\n"); - return result; -} - -// Options for size of changed area: -// 0 = box per point -// 1 = big box around all points -// 2 = accumulate point in 20 pixel radius -#define ROOTLESS_CHANGED_AREA 1 -#define abs(a) ((a) > 0 ? (a) : -(a)) - -/* changed area is box around all points */ -static void -RootlessPolyPoint(DrawablePtr dst, GCPtr pGC, - int mode, int npt, DDXPointPtr pptInit) -{ - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("polypoint start "); - - RootlessStartDrawing((WindowPtr) dst); - pGC->ops->PolyPoint(dst, pGC, mode, npt, pptInit); - - if (npt > 0) { -#if ROOTLESS_CHANGED_AREA==0 - // box per point - BoxRec box; - - while (npt) { - box.x1 = pptInit->x; - box.y1 = pptInit->y; - box.x2 = box.x1 + 1; - box.y2 = box.y1 + 1; - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - - npt--; - pptInit++; - } - -#elif ROOTLESS_CHANGED_AREA==1 - // one big box - BoxRec box; - - box.x2 = box.x1 = pptInit->x; - box.y2 = box.y1 = pptInit->y; - while (--npt) { - pptInit++; - if (box.x1 > pptInit->x) - box.x1 = pptInit->x; - else if (box.x2 < pptInit->x) - box.x2 = pptInit->x; - if (box.y1 > pptInit->y) - box.y1 = pptInit->y; - else if (box.y2 < pptInit->y) - box.y2 = pptInit->y; - } - - box.x2++; - box.y2++; - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - -#elif ROOTLESS_CHANGED_AREA==2 - // clever(?) method: accumulate point in 20-pixel radius - BoxRec box; - int firstx, firsty; - - box.x2 = box.x1 = firstx = pptInit->x; - box.y2 = box.y1 = firsty = pptInit->y; - while (--npt) { - pptInit++; - if (abs(pptInit->x - firstx) > 20 || abs(pptInit->y - firsty) > 20) { - box.x2++; - box.y2++; - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - box.x2 = box.x1 = firstx = pptInit->x; - box.y2 = box.y1 = firsty = pptInit->y; - } - else { - if (box.x1 > pptInit->x) - box.x1 = pptInit->x; - else if (box.x2 < pptInit->x) - box.x2 = pptInit->x; - if (box.y1 > pptInit->y) - box.y1 = pptInit->y; - else if (box.y2 < pptInit->y) - box.y2 = pptInit->y; - } - } - box.x2++; - box.y2++; - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); -#endif /* ROOTLESS_CHANGED_AREA */ - } - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("polypoint end\n"); -} - -#undef ROOTLESS_CHANGED_AREA - -/* changed area is box around each line */ -static void -RootlessPolylines(DrawablePtr dst, GCPtr pGC, - int mode, int npt, DDXPointPtr pptInit) -{ - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("poly lines start "); - - RootlessStartDrawing((WindowPtr) dst); - pGC->ops->Polylines(dst, pGC, mode, npt, pptInit); - - if (npt > 0) { - BoxRec box; - int extra = pGC->lineWidth >> 1; - - box.x2 = box.x1 = pptInit->x; - box.y2 = box.y1 = pptInit->y; - - if (npt > 1) { - if (pGC->joinStyle == JoinMiter) - extra = 6 * pGC->lineWidth; - else if (pGC->capStyle == CapProjecting) - extra = pGC->lineWidth; - } - - if (mode == CoordModePrevious) { - int x = box.x1; - int y = box.y1; - - while (--npt) { - pptInit++; - x += pptInit->x; - y += pptInit->y; - if (box.x1 > x) - box.x1 = x; - else if (box.x2 < x) - box.x2 = x; - if (box.y1 > y) - box.y1 = y; - else if (box.y2 < y) - box.y2 = y; - } - } - else { - while (--npt) { - pptInit++; - if (box.x1 > pptInit->x) - box.x1 = pptInit->x; - else if (box.x2 < pptInit->x) - box.x2 = pptInit->x; - if (box.y1 > pptInit->y) - box.y1 = pptInit->y; - else if (box.y2 < pptInit->y) - box.y2 = pptInit->y; - } - } - - box.x2++; - box.y2++; - - if (extra) { - box.x1 -= extra; - box.x2 += extra; - box.y1 -= extra; - box.y2 += extra; - } - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("poly lines end\n"); -} - -/* changed area is box around each line segment */ -static void -RootlessPolySegment(DrawablePtr dst, GCPtr pGC, int nseg, xSegment * pSeg) -{ - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("poly segment start (dst %p)", dst); - - RootlessStartDrawing((WindowPtr) dst); - pGC->ops->PolySegment(dst, pGC, nseg, pSeg); - - if (nseg > 0) { - BoxRec box; - int extra = pGC->lineWidth; - - if (pGC->capStyle != CapProjecting) - extra >>= 1; - - if (pSeg->x2 > pSeg->x1) { - box.x1 = pSeg->x1; - box.x2 = pSeg->x2; - } - else { - box.x2 = pSeg->x1; - box.x1 = pSeg->x2; - } - - if (pSeg->y2 > pSeg->y1) { - box.y1 = pSeg->y1; - box.y2 = pSeg->y2; - } - else { - box.y2 = pSeg->y1; - box.y1 = pSeg->y2; - } - - while (--nseg) { - pSeg++; - if (pSeg->x2 > pSeg->x1) { - if (pSeg->x1 < box.x1) - box.x1 = pSeg->x1; - if (pSeg->x2 > box.x2) - box.x2 = pSeg->x2; - } - else { - if (pSeg->x2 < box.x1) - box.x1 = pSeg->x2; - if (pSeg->x1 > box.x2) - box.x2 = pSeg->x1; - } - if (pSeg->y2 > pSeg->y1) { - if (pSeg->y1 < box.y1) - box.y1 = pSeg->y1; - if (pSeg->y2 > box.y2) - box.y2 = pSeg->y2; - } - else { - if (pSeg->y2 < box.y1) - box.y1 = pSeg->y2; - if (pSeg->y1 > box.y2) - box.y2 = pSeg->y1; - } - } - - box.x2++; - box.y2++; - - if (extra) { - box.x1 -= extra; - box.x2 += extra; - box.y1 -= extra; - box.y2 += extra; - } - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("poly segment end\n"); -} - -/* changed area is box around each line (not entire rects) */ -static void -RootlessPolyRectangle(DrawablePtr dst, GCPtr pGC, - int nRects, xRectangle *pRects) -{ - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("poly rectangle start "); - - RootlessStartDrawing((WindowPtr) dst); - pGC->ops->PolyRectangle(dst, pGC, nRects, pRects); - - if (nRects > 0) { - BoxRec box; - int offset1, offset2, offset3; - - offset2 = pGC->lineWidth; - if (!offset2) - offset2 = 1; - offset1 = offset2 >> 1; - offset3 = offset2 - offset1; - - while (nRects--) { - box.x1 = pRects->x - offset1; - box.y1 = pRects->y - offset1; - box.x2 = box.x1 + pRects->width + offset2; - box.y2 = box.y1 + offset2; - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - - box.x1 = pRects->x - offset1; - box.y1 = pRects->y + offset3; - box.x2 = box.x1 + offset2; - box.y2 = box.y1 + pRects->height - offset2; - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - - box.x1 = pRects->x + pRects->width - offset1; - box.y1 = pRects->y + offset3; - box.x2 = box.x1 + offset2; - box.y2 = box.y1 + pRects->height - offset2; - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - - box.x1 = pRects->x - offset1; - box.y1 = pRects->y + pRects->height - offset1; - box.x2 = box.x1 + pRects->width + offset2; - box.y2 = box.y1 + offset2; - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - - pRects++; - } - } - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("poly rectangle end\n"); -} - -/* changed area is box around each arc (assumes all arcs are 360 degrees) */ -static void -RootlessPolyArc(DrawablePtr dst, GCPtr pGC, int narcs, xArc * parcs) -{ - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("poly arc start "); - - RootlessStartDrawing((WindowPtr) dst); - pGC->ops->PolyArc(dst, pGC, narcs, parcs); - - if (narcs > 0) { - int extra = pGC->lineWidth >> 1; - BoxRec box; - - box.x1 = parcs->x; - box.x2 = box.x1 + parcs->width; - box.y1 = parcs->y; - box.y2 = box.y1 + parcs->height; - - /* should I break these up instead ? */ - - while (--narcs) { - parcs++; - if (box.x1 > parcs->x) - box.x1 = parcs->x; - if (box.x2 < (parcs->x + parcs->width)) - box.x2 = parcs->x + parcs->width; - if (box.y1 > parcs->y) - box.y1 = parcs->y; - if (box.y2 < (parcs->y + parcs->height)) - box.y2 = parcs->y + parcs->height; - } - - if (extra) { - box.x1 -= extra; - box.x2 += extra; - box.y1 -= extra; - box.y2 += extra; - } - - box.x2++; - box.y2++; - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("poly arc end\n"); -} - -/* changed area is box around each poly */ -static void -RootlessFillPolygon(DrawablePtr dst, GCPtr pGC, - int shape, int mode, int count, DDXPointPtr pptInit) -{ - GC_SAVE(pGC); - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("fill poly start (dst %p, fillStyle 0x%x)", dst, - pGC->fillStyle); - - if (count <= 2) { - pGC->ops->FillPolygon(dst, pGC, shape, mode, count, pptInit); - } - else { - DDXPointPtr ppt = pptInit; - int i = count; - BoxRec box; - - box.x2 = box.x1 = ppt->x; - box.y2 = box.y1 = ppt->y; - - if (mode != CoordModeOrigin) { - int x = box.x1; - int y = box.y1; - - while (--i) { - ppt++; - x += ppt->x; - y += ppt->y; - if (box.x1 > x) - box.x1 = x; - else if (box.x2 < x) - box.x2 = x; - if (box.y1 > y) - box.y1 = y; - else if (box.y2 < y) - box.y2 = y; - } - } - else { - while (--i) { - ppt++; - if (box.x1 > ppt->x) - box.x1 = ppt->x; - else if (box.x2 < ppt->x) - box.x2 = ppt->x; - if (box.y1 > ppt->y) - box.y1 = ppt->y; - else if (box.y2 < ppt->y) - box.y2 = ppt->y; - } - } - - box.x2++; - box.y2++; - - RootlessStartDrawing((WindowPtr) dst); - - if (canAccelFill(dst, pGC)) { - GC_UNSET_PM(pGC, dst); - } - - pGC->ops->FillPolygon(dst, pGC, shape, mode, count, pptInit); - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - - GC_RESTORE(pGC, dst); - GCOP_WRAP(pGC); - RL_DEBUG_MSG("fill poly end\n"); -} - -/* changed area is the rects */ -static void -RootlessPolyFillRect(DrawablePtr dst, GCPtr pGC, - int nRectsInit, xRectangle *pRectsInit) -{ - GC_SAVE(pGC); - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("fill rect start (dst %p, fillStyle 0x%x)", dst, - pGC->fillStyle); - - if (nRectsInit <= 0) { - pGC->ops->PolyFillRect(dst, pGC, nRectsInit, pRectsInit); - } - else { - BoxRec box; - xRectangle *pRects = pRectsInit; - int nRects = nRectsInit; - - box.x1 = pRects->x; - box.x2 = box.x1 + pRects->width; - box.y1 = pRects->y; - box.y2 = box.y1 + pRects->height; - - while (--nRects) { - pRects++; - if (box.x1 > pRects->x) - box.x1 = pRects->x; - if (box.x2 < (pRects->x + pRects->width)) - box.x2 = pRects->x + pRects->width; - if (box.y1 > pRects->y) - box.y1 = pRects->y; - if (box.y2 < (pRects->y + pRects->height)) - box.y2 = pRects->y + pRects->height; - } - - RootlessStartDrawing((WindowPtr) dst); - - if (canAccelFill(dst, pGC)) { - GC_UNSET_PM(pGC, dst); - } - - pGC->ops->PolyFillRect(dst, pGC, nRectsInit, pRectsInit); - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - - GC_RESTORE(pGC, dst); - GCOP_WRAP(pGC); - RL_DEBUG_MSG("fill rect end\n"); -} - -/* changed area is box around each arc (assuming arcs are all 360 degrees) */ -static void -RootlessPolyFillArc(DrawablePtr dst, GCPtr pGC, int narcsInit, xArc * parcsInit) -{ - GC_SAVE(pGC); - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("fill arc start "); - - if (narcsInit > 0) { - BoxRec box; - int narcs = narcsInit; - xArc *parcs = parcsInit; - - box.x1 = parcs->x; - box.x2 = box.x1 + parcs->width; - box.y1 = parcs->y; - box.y2 = box.y1 + parcs->height; - - /* should I break these up instead ? */ - - while (--narcs) { - parcs++; - if (box.x1 > parcs->x) - box.x1 = parcs->x; - if (box.x2 < (parcs->x + parcs->width)) - box.x2 = parcs->x + parcs->width; - if (box.y1 > parcs->y) - box.y1 = parcs->y; - if (box.y2 < (parcs->y + parcs->height)) - box.y2 = parcs->y + parcs->height; - } - - RootlessStartDrawing((WindowPtr) dst); - - if (canAccelFill(dst, pGC)) { - GC_UNSET_PM(pGC, dst); - } - - pGC->ops->PolyFillArc(dst, pGC, narcsInit, parcsInit); - - TRIM_AND_TRANSLATE_BOX(box, dst, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - else { - pGC->ops->PolyFillArc(dst, pGC, narcsInit, parcsInit); - } - - GC_RESTORE(pGC, dst); - GCOP_WRAP(pGC); - RL_DEBUG_MSG("fill arc end\n"); -} - -static void -RootlessImageText8(DrawablePtr dst, GCPtr pGC, - int x, int y, int count, char *chars) -{ - GC_SAVE(pGC); - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("imagetext8 start "); - - if (count > 0) { - int top, bot, Min, Max; - BoxRec box; - - top = max(FONTMAXBOUNDS(pGC->font, ascent), FONTASCENT(pGC->font)); - bot = max(FONTMAXBOUNDS(pGC->font, descent), FONTDESCENT(pGC->font)); - - Min = count * FONTMINBOUNDS(pGC->font, characterWidth); - if (Min > 0) - Min = 0; - Max = count * FONTMAXBOUNDS(pGC->font, characterWidth); - if (Max < 0) - Max = 0; - - /* ugh */ - box.x1 = dst->x + x + Min + FONTMINBOUNDS(pGC->font, leftSideBearing); - box.x2 = dst->x + x + Max + FONTMAXBOUNDS(pGC->font, rightSideBearing); - - box.y1 = dst->y + y - top; - box.y2 = dst->y + y + bot; - - RootlessStartDrawing((WindowPtr) dst); - - if (canAccelFill(dst, pGC)) { - GC_UNSET_PM(pGC, dst); - } - - pGC->ops->ImageText8(dst, pGC, x, y, count, chars); - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - else { - pGC->ops->ImageText8(dst, pGC, x, y, count, chars); - } - - GC_RESTORE(pGC, dst); - GCOP_WRAP(pGC); - RL_DEBUG_MSG("imagetext8 end\n"); -} - -static int -RootlessPolyText8(DrawablePtr dst, GCPtr pGC, - int x, int y, int count, char *chars) -{ - int width; // the result, sorta - - GCOP_UNWRAP(pGC); - - RL_DEBUG_MSG("polytext8 start "); - - RootlessStartDrawing((WindowPtr) dst); - width = pGC->ops->PolyText8(dst, pGC, x, y, count, chars); - width -= x; - - if (width > 0) { - BoxRec box; - - /* ugh */ - box.x1 = dst->x + x + FONTMINBOUNDS(pGC->font, leftSideBearing); - box.x2 = dst->x + x + FONTMAXBOUNDS(pGC->font, rightSideBearing); - - if (count > 1) { - box.x2 += width; - } - - box.y1 = dst->y + y - FONTMAXBOUNDS(pGC->font, ascent); - box.y2 = dst->y + y + FONTMAXBOUNDS(pGC->font, descent); - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("polytext8 end\n"); - return width + x; -} - -static void -RootlessImageText16(DrawablePtr dst, GCPtr pGC, - int x, int y, int count, unsigned short *chars) -{ - GC_SAVE(pGC); - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("imagetext16 start "); - - if (count > 0) { - int top, bot, Min, Max; - BoxRec box; - - top = max(FONTMAXBOUNDS(pGC->font, ascent), FONTASCENT(pGC->font)); - bot = max(FONTMAXBOUNDS(pGC->font, descent), FONTDESCENT(pGC->font)); - - Min = count * FONTMINBOUNDS(pGC->font, characterWidth); - if (Min > 0) - Min = 0; - Max = count * FONTMAXBOUNDS(pGC->font, characterWidth); - if (Max < 0) - Max = 0; - - /* ugh */ - box.x1 = dst->x + x + Min + FONTMINBOUNDS(pGC->font, leftSideBearing); - box.x2 = dst->x + x + Max + FONTMAXBOUNDS(pGC->font, rightSideBearing); - - box.y1 = dst->y + y - top; - box.y2 = dst->y + y + bot; - - RootlessStartDrawing((WindowPtr) dst); - - if (canAccelFill(dst, pGC)) { - GC_UNSET_PM(pGC, dst); - } - - pGC->ops->ImageText16(dst, pGC, x, y, count, chars); - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - else { - pGC->ops->ImageText16(dst, pGC, x, y, count, chars); - } - - GC_RESTORE(pGC, dst); - GCOP_WRAP(pGC); - RL_DEBUG_MSG("imagetext16 end\n"); -} - -static int -RootlessPolyText16(DrawablePtr dst, GCPtr pGC, - int x, int y, int count, unsigned short *chars) -{ - int width; // the result, sorta - - GCOP_UNWRAP(pGC); - - RL_DEBUG_MSG("polytext16 start "); - - RootlessStartDrawing((WindowPtr) dst); - width = pGC->ops->PolyText16(dst, pGC, x, y, count, chars); - width -= x; - - if (width > 0) { - BoxRec box; - - /* ugh */ - box.x1 = dst->x + x + FONTMINBOUNDS(pGC->font, leftSideBearing); - box.x2 = dst->x + x + FONTMAXBOUNDS(pGC->font, rightSideBearing); - - if (count > 1) { - box.x2 += width; - } - - box.y1 = dst->y + y - FONTMAXBOUNDS(pGC->font, ascent); - box.y2 = dst->y + y + FONTMAXBOUNDS(pGC->font, descent); - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("polytext16 end\n"); - return width + x; -} - -static void -RootlessImageGlyphBlt(DrawablePtr dst, GCPtr pGC, - int x, int y, unsigned int nglyphInit, - CharInfoPtr * ppciInit, void *unused) -{ - GC_SAVE(pGC); - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("imageglyph start "); - - if (nglyphInit > 0) { - int top, bot, width = 0; - BoxRec box; - unsigned int nglyph = nglyphInit; - CharInfoPtr *ppci = ppciInit; - - top = max(FONTMAXBOUNDS(pGC->font, ascent), FONTASCENT(pGC->font)); - bot = max(FONTMAXBOUNDS(pGC->font, descent), FONTDESCENT(pGC->font)); - - box.x1 = ppci[0]->metrics.leftSideBearing; - if (box.x1 > 0) - box.x1 = 0; - box.x2 = ppci[nglyph - 1]->metrics.rightSideBearing - - ppci[nglyph - 1]->metrics.characterWidth; - if (box.x2 < 0) - box.x2 = 0; - - box.x2 += dst->x + x; - box.x1 += dst->x + x; - - while (nglyph--) { - width += (*ppci)->metrics.characterWidth; - ppci++; - } - - if (width > 0) - box.x2 += width; - else - box.x1 += width; - - box.y1 = dst->y + y - top; - box.y2 = dst->y + y + bot; - - RootlessStartDrawing((WindowPtr) dst); - - if (canAccelFill(dst, pGC)) { - GC_UNSET_PM(pGC, dst); - } - - pGC->ops->ImageGlyphBlt(dst, pGC, x, y, nglyphInit, ppciInit, unused); - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - else { - pGC->ops->ImageGlyphBlt(dst, pGC, x, y, nglyphInit, ppciInit, unused); - } - - GC_RESTORE(pGC, dst); - GCOP_WRAP(pGC); - RL_DEBUG_MSG("imageglyph end\n"); -} - -static void -RootlessPolyGlyphBlt(DrawablePtr dst, GCPtr pGC, - int x, int y, unsigned int nglyph, - CharInfoPtr * ppci, void *pglyphBase) -{ - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("polyglyph start "); - - RootlessStartDrawing((WindowPtr) dst); - pGC->ops->PolyGlyphBlt(dst, pGC, x, y, nglyph, ppci, pglyphBase); - - if (nglyph > 0) { - BoxRec box; - - /* ugh */ - box.x1 = dst->x + x + ppci[0]->metrics.leftSideBearing; - box.x2 = dst->x + x + ppci[nglyph - 1]->metrics.rightSideBearing; - - if (nglyph > 1) { - int width = 0; - - while (--nglyph) { - width += (*ppci)->metrics.characterWidth; - ppci++; - } - - if (width > 0) - box.x2 += width; - else - box.x1 += width; - } - - box.y1 = dst->y + y - FONTMAXBOUNDS(pGC->font, ascent); - box.y2 = dst->y + y + FONTMAXBOUNDS(pGC->font, descent); - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - } - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("polyglyph end\n"); -} - -/* changed area is in dest */ -static void -RootlessPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr dst, - int dx, int dy, int xOrg, int yOrg) -{ - BoxRec box; - - GCOP_UNWRAP(pGC); - RL_DEBUG_MSG("push pixels start "); - - RootlessStartDrawing((WindowPtr) dst); - pGC->ops->PushPixels(pGC, pBitMap, dst, dx, dy, xOrg, yOrg); - - box.x1 = xOrg + dst->x; - box.x2 = box.x1 + dx; - box.y1 = yOrg + dst->y; - box.y2 = box.y1 + dy; - - TRIM_BOX(box, pGC); - if (BOX_NOT_EMPTY(box)) - RootlessDamageBox((WindowPtr) dst, &box); - - GCOP_WRAP(pGC); - RL_DEBUG_MSG("push pixels end\n"); -} diff --git a/miext/rootless/rootlessScreen.c b/miext/rootless/rootlessScreen.c deleted file mode 100644 index 79fe3507b..000000000 --- a/miext/rootless/rootlessScreen.c +++ /dev/null @@ -1,745 +0,0 @@ -/* - * Screen routines for generic rootless X server - */ -/* - * Copyright (c) 2001 Greg Parker. All Rights Reserved. - * Copyright (c) 2002-2003 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 2002 Apple Computer, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include "mi.h" -#include "scrnintstr.h" -#include "gcstruct.h" -#include "pixmapstr.h" -#include "windowstr.h" -#include "propertyst.h" -#include "mivalidate.h" -#include "picturestr.h" -#include "colormapst.h" - -#include -#include -#include -#include - -#include "rootlessCommon.h" -#include "rootlessWindow.h" - -extern int RootlessMiValidateTree(WindowPtr pRoot, WindowPtr pChild, - VTKind kind); -extern Bool RootlessCreateGC(GCPtr pGC); - -// Initialize globals -DevPrivateKeyRec rootlessGCPrivateKeyRec; -DevPrivateKeyRec rootlessScreenPrivateKeyRec; -DevPrivateKeyRec rootlessWindowPrivateKeyRec; -DevPrivateKeyRec rootlessWindowOldPixmapPrivateKeyRec; - -/* - * RootlessUpdateScreenPixmap - * miCreateScreenResources does not like a null framebuffer pointer, - * it leaves the screen pixmap with an uninitialized data pointer. - * Thus, rootless implementations typically set the framebuffer width - * to zero so that miCreateScreenResources does not allocate a screen - * pixmap for us. We allocate our own screen pixmap here since we need - * the screen pixmap to be valid (e.g. CopyArea from the root window). - */ -void -RootlessUpdateScreenPixmap(ScreenPtr pScreen) -{ - RootlessScreenRec *s = SCREENREC(pScreen); - PixmapPtr pPix; - unsigned int rowbytes; - - pPix = (*pScreen->GetScreenPixmap) (pScreen); - if (pPix == NULL) { - pPix = (*pScreen->CreatePixmap) (pScreen, 0, 0, pScreen->rootDepth, 0); - (*pScreen->SetScreenPixmap) (pPix); - } - - rowbytes = PixmapBytePad(pScreen->width, pScreen->rootDepth); - - if (s->pixmap_data_size < rowbytes) { - free(s->pixmap_data); - - s->pixmap_data_size = rowbytes; - s->pixmap_data = malloc(s->pixmap_data_size); - if (s->pixmap_data == NULL) - return; - - memset(s->pixmap_data, 0xFF, s->pixmap_data_size); - - pScreen->ModifyPixmapHeader(pPix, pScreen->width, pScreen->height, - pScreen->rootDepth, - BitsPerPixel(pScreen->rootDepth), - 0, s->pixmap_data); - /* ModifyPixmapHeader ignores zero arguments, so install rowbytes - by hand. */ - pPix->devKind = 0; - } -} - -/* - * RootlessCreateScreenResources - * Rootless implementations typically set a null framebuffer pointer, which - * causes problems with miCreateScreenResources. We fix things up here. - */ -static Bool -RootlessCreateScreenResources(ScreenPtr pScreen) -{ - Bool ret = TRUE; - - SCREEN_UNWRAP(pScreen, CreateScreenResources); - - if (pScreen->CreateScreenResources != NULL) - ret = (*pScreen->CreateScreenResources) (pScreen); - - SCREEN_WRAP(pScreen, CreateScreenResources); - - if (!ret) - return ret; - - /* Make sure we have a valid screen pixmap. */ - - RootlessUpdateScreenPixmap(pScreen); - - return ret; -} - -static Bool -RootlessCloseScreen(ScreenPtr pScreen) -{ - RootlessScreenRec *s; - - s = SCREENREC(pScreen); - - // fixme unwrap everything that was wrapped? - pScreen->CloseScreen = s->CloseScreen; - - if (s->pixmap_data != NULL) { - free(s->pixmap_data); - s->pixmap_data = NULL; - s->pixmap_data_size = 0; - } - - free(s); - return pScreen->CloseScreen(pScreen); -} - -static void -RootlessGetImage(DrawablePtr pDrawable, int sx, int sy, int w, int h, - unsigned int format, unsigned long planeMask, char *pdstLine) -{ - ScreenPtr pScreen = pDrawable->pScreen; - - SCREEN_UNWRAP(pScreen, GetImage); - - if (pDrawable->type == DRAWABLE_WINDOW) { - int x0, y0, x1, y1; - RootlessWindowRec *winRec; - - // Many apps use GetImage to sync with the visible frame buffer - // FIXME: entire screen or just window or all screens? - RootlessRedisplayScreen(pScreen); - - // RedisplayScreen stops drawing, so we need to start it again - RootlessStartDrawing((WindowPtr) pDrawable); - - /* Check that we have some place to read from. */ - winRec = WINREC(TopLevelParent((WindowPtr) pDrawable)); - if (winRec == NULL) - goto out; - - /* Clip to top-level window bounds. */ - /* FIXME: fbGetImage uses the width parameter to calculate the - stride of the destination pixmap. If w is clipped, the data - returned will be garbage, although we will not crash. */ - - x0 = pDrawable->x + sx; - y0 = pDrawable->y + sy; - x1 = x0 + w; - y1 = y0 + h; - - x0 = max(x0, winRec->x); - y0 = max(y0, winRec->y); - x1 = min(x1, winRec->x + winRec->width); - y1 = min(y1, winRec->y + winRec->height); - - sx = x0 - pDrawable->x; - sy = y0 - pDrawable->y; - w = x1 - x0; - h = y1 - y0; - - if (w <= 0 || h <= 0) - goto out; - } - - pScreen->GetImage(pDrawable, sx, sy, w, h, format, planeMask, pdstLine); - - out: - SCREEN_WRAP(pScreen, GetImage); -} - -/* - * RootlessSourceValidate - * CopyArea and CopyPlane use a GC tied to the destination drawable. - * StartDrawing/StopDrawing wrappers won't be called if source is - * a visible window but the destination isn't. So, we call StartDrawing - * here and leave StopDrawing for the block handler. - */ -static void -RootlessSourceValidate(DrawablePtr pDrawable, int x, int y, int w, int h, - unsigned int subWindowMode) -{ - SCREEN_UNWRAP(pDrawable->pScreen, SourceValidate); - if (pDrawable->type == DRAWABLE_WINDOW) { - WindowPtr pWin = (WindowPtr) pDrawable; - - RootlessStartDrawing(pWin); - } - pDrawable->pScreen->SourceValidate(pDrawable, x, y, w, h, - subWindowMode); - SCREEN_WRAP(pDrawable->pScreen, SourceValidate); -} - -static void -RootlessComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst, - INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, - INT16 xDst, INT16 yDst, CARD16 width, CARD16 height) -{ - ScreenPtr pScreen = pDst->pDrawable->pScreen; - PictureScreenPtr ps = GetPictureScreen(pScreen); - WindowPtr srcWin, dstWin, maskWin = NULL; - - if (pMask) { // pMask can be NULL - maskWin = (pMask->pDrawable && - pMask->pDrawable->type == - DRAWABLE_WINDOW) ? (WindowPtr) pMask->pDrawable : NULL; - } - srcWin = (pSrc->pDrawable && pSrc->pDrawable->type == DRAWABLE_WINDOW) ? - (WindowPtr) pSrc->pDrawable : NULL; - dstWin = (pDst->pDrawable->type == DRAWABLE_WINDOW) ? - (WindowPtr) pDst->pDrawable : NULL; - - // SCREEN_UNWRAP(ps, Composite); - ps->Composite = SCREENREC(pScreen)->Composite; - - if (srcWin && IsFramedWindow(srcWin)) - RootlessStartDrawing(srcWin); - if (maskWin && IsFramedWindow(maskWin)) - RootlessStartDrawing(maskWin); - if (dstWin && IsFramedWindow(dstWin)) - RootlessStartDrawing(dstWin); - - ps->Composite(op, pSrc, pMask, pDst, - xSrc, ySrc, xMask, yMask, xDst, yDst, width, height); - - if (dstWin && IsFramedWindow(dstWin)) { - RootlessDamageRect(dstWin, xDst, yDst, width, height); - } - - ps->Composite = RootlessComposite; - // SCREEN_WRAP(ps, Composite); -} - -static void -RootlessGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst, - PictFormatPtr maskFormat, INT16 xSrc, INT16 ySrc, - int nlist, GlyphListPtr list, GlyphPtr * glyphs) -{ - ScreenPtr pScreen = pDst->pDrawable->pScreen; - PictureScreenPtr ps = GetPictureScreen(pScreen); - int x, y; - int n; - GlyphPtr glyph; - WindowPtr srcWin, dstWin; - - srcWin = (pSrc->pDrawable && pSrc->pDrawable->type == DRAWABLE_WINDOW) ? - (WindowPtr) pSrc->pDrawable : NULL; - dstWin = (pDst->pDrawable->type == DRAWABLE_WINDOW) ? - (WindowPtr) pDst->pDrawable : NULL; - - if (srcWin && IsFramedWindow(srcWin)) - RootlessStartDrawing(srcWin); - if (dstWin && IsFramedWindow(dstWin)) - RootlessStartDrawing(dstWin); - - //SCREEN_UNWRAP(ps, Glyphs); - ps->Glyphs = SCREENREC(pScreen)->Glyphs; - ps->Glyphs(op, pSrc, pDst, maskFormat, xSrc, ySrc, nlist, list, glyphs); - ps->Glyphs = RootlessGlyphs; - //SCREEN_WRAP(ps, Glyphs); - - if (dstWin && IsFramedWindow(dstWin)) { - x = xSrc; - y = ySrc; - - while (nlist--) { - x += list->xOff; - y += list->yOff; - n = list->len; - - /* Calling DamageRect for the bounding box of each glyph is - inefficient. So compute the union of all glyphs in a list - and damage that. */ - - if (n > 0) { - BoxRec box; - - glyph = *glyphs++; - - box.x1 = x - glyph->info.x; - box.y1 = y - glyph->info.y; - box.x2 = box.x1 + glyph->info.width; - box.y2 = box.y1 + glyph->info.height; - - x += glyph->info.xOff; - y += glyph->info.yOff; - - while (--n > 0) { - short x1, y1, x2, y2; - - glyph = *glyphs++; - - x1 = x - glyph->info.x; - y1 = y - glyph->info.y; - x2 = x1 + glyph->info.width; - y2 = y1 + glyph->info.height; - - box.x1 = max(box.x1, x1); - box.y1 = max(box.y1, y1); - box.x2 = max(box.x2, x2); - box.y2 = max(box.y2, y2); - - x += glyph->info.xOff; - y += glyph->info.yOff; - } - - RootlessDamageBox(dstWin, &box); - } - list++; - } - } -} - -/* - * RootlessValidateTree - * ValidateTree is modified in two ways: - * - top-level windows don't clip each other - * - windows aren't clipped against root. - * These only matter when validating from the root. - */ -static int -RootlessValidateTree(WindowPtr pParent, WindowPtr pChild, VTKind kind) -{ - int result; - RegionRec saveRoot; - ScreenPtr pScreen = pParent->drawable.pScreen; - - SCREEN_UNWRAP(pScreen, ValidateTree); - RL_DEBUG_MSG("VALIDATETREE start "); - - // Use our custom version to validate from root - if (IsRoot(pParent)) { - RL_DEBUG_MSG("custom "); - result = RootlessMiValidateTree(pParent, pChild, kind); - } - else { - HUGE_ROOT(pParent); - result = pScreen->ValidateTree(pParent, pChild, kind); - NORMAL_ROOT(pParent); - } - - SCREEN_WRAP(pScreen, ValidateTree); - RL_DEBUG_MSG("VALIDATETREE end\n"); - - return result; -} - -/* - * RootlessMarkOverlappedWindows - * MarkOverlappedWindows is modified to ignore overlapping - * top-level windows. - */ -static Bool -RootlessMarkOverlappedWindows(WindowPtr pWin, WindowPtr pFirst, - WindowPtr *ppLayerWin) -{ - RegionRec saveRoot; - Bool result; - ScreenPtr pScreen = pWin->drawable.pScreen; - - SCREEN_UNWRAP(pScreen, MarkOverlappedWindows); - RL_DEBUG_MSG("MARKOVERLAPPEDWINDOWS start "); - - HUGE_ROOT(pWin); - if (IsRoot(pWin)) { - // root - mark nothing - RL_DEBUG_MSG("is root not marking "); - result = FALSE; - } - else if (!IsTopLevel(pWin)) { - // not top-level window - mark normally - result = pScreen->MarkOverlappedWindows(pWin, pFirst, ppLayerWin); - } - else { - //top-level window - mark children ONLY - NO overlaps with sibs (?) - // This code copied from miMarkOverlappedWindows() - - register WindowPtr pChild; - Bool anyMarked = FALSE; - MarkWindowProcPtr MarkWindow = pScreen->MarkWindow; - - RL_DEBUG_MSG("is top level! "); - /* single layered systems are easy */ - if (ppLayerWin) - *ppLayerWin = pWin; - - if (pWin == pFirst) { - /* Blindly mark pWin and all of its inferiors. This is a slight - * overkill if there are mapped windows that outside pWin's border, - * but it's better than wasting time on RectIn checks. - */ - pChild = pWin; - while (1) { - if (pChild->viewable) { - if (RegionBroken(&pChild->winSize)) - SetWinSize(pChild); - if (RegionBroken(&pChild->borderSize)) - SetBorderSize(pChild); - (*MarkWindow) (pChild); - if (pChild->firstChild) { - pChild = pChild->firstChild; - continue; - } - } - while (!pChild->nextSib && (pChild != pWin)) - pChild = pChild->parent; - if (pChild == pWin) - break; - pChild = pChild->nextSib; - } - anyMarked = TRUE; - } - if (anyMarked) - (*MarkWindow) (pWin->parent); - result = anyMarked; - } - NORMAL_ROOT(pWin); - SCREEN_WRAP(pScreen, MarkOverlappedWindows); - RL_DEBUG_MSG("MARKOVERLAPPEDWINDOWS end\n"); - - return result; -} - -static void -expose_1(WindowPtr pWin) -{ - WindowPtr pChild; - - if (!pWin->realized) - return; - - pWin->drawable.pScreen->PaintWindow(pWin, &pWin->borderClip, PW_BACKGROUND); - - /* FIXME: comments in windowstr.h indicate that borderClip doesn't - include subwindow visibility. But I'm not so sure.. so we may - be exposing too much.. */ - - miSendExposures(pWin, &pWin->borderClip, - pWin->drawable.x, pWin->drawable.y); - - for (pChild = pWin->firstChild; pChild != NULL; pChild = pChild->nextSib) - expose_1(pChild); -} - -void -RootlessScreenExpose(ScreenPtr pScreen) -{ - expose_1(pScreen->root); -} - -ColormapPtr -RootlessGetColormap(ScreenPtr pScreen) -{ - RootlessScreenRec *s = SCREENREC(pScreen); - - return s->colormap; -} - -static void -RootlessInstallColormap(ColormapPtr pMap) -{ - ScreenPtr pScreen = pMap->pScreen; - RootlessScreenRec *s = SCREENREC(pScreen); - - SCREEN_UNWRAP(pScreen, InstallColormap); - - if (s->colormap != pMap) { - s->colormap = pMap; - s->colormap_changed = TRUE; - RootlessQueueRedisplay(pScreen); - } - - pScreen->InstallColormap(pMap); - - SCREEN_WRAP(pScreen, InstallColormap); -} - -static void -RootlessUninstallColormap(ColormapPtr pMap) -{ - ScreenPtr pScreen = pMap->pScreen; - RootlessScreenRec *s = SCREENREC(pScreen); - - SCREEN_UNWRAP(pScreen, UninstallColormap); - - if (s->colormap == pMap) - s->colormap = NULL; - - pScreen->UninstallColormap(pMap); - - SCREEN_WRAP(pScreen, UninstallColormap); -} - -static void -RootlessStoreColors(ColormapPtr pMap, int ndef, xColorItem * pdef) -{ - ScreenPtr pScreen = pMap->pScreen; - RootlessScreenRec *s = SCREENREC(pScreen); - - SCREEN_UNWRAP(pScreen, StoreColors); - - if (s->colormap == pMap && ndef > 0) { - s->colormap_changed = TRUE; - RootlessQueueRedisplay(pScreen); - } - - pScreen->StoreColors(pMap, ndef, pdef); - - SCREEN_WRAP(pScreen, StoreColors); -} - -static CARD32 -RootlessRedisplayCallback(OsTimerPtr timer, CARD32 time, void *arg) -{ - RootlessScreenRec *screenRec = arg; - - if (!screenRec->redisplay_queued) { - /* No update needed. Stop the timer. */ - - screenRec->redisplay_timer_set = FALSE; - return 0; - } - - screenRec->redisplay_queued = FALSE; - - /* Mark that we should redisplay before waiting for I/O next time */ - screenRec->redisplay_expired = TRUE; - - /* Reinstall the timer immediately, so we get as close to our - redisplay interval as possible. */ - - return ROOTLESS_REDISPLAY_DELAY; -} - -/* - * RootlessQueueRedisplay - * Queue a redisplay after a timer delay to ensure we do not redisplay - * too frequently. - */ -void -RootlessQueueRedisplay(ScreenPtr pScreen) -{ - RootlessScreenRec *screenRec = SCREENREC(pScreen); - - screenRec->redisplay_queued = TRUE; - - if (screenRec->redisplay_timer_set) - return; - - screenRec->redisplay_timer = TimerSet(screenRec->redisplay_timer, - 0, ROOTLESS_REDISPLAY_DELAY, - RootlessRedisplayCallback, screenRec); - screenRec->redisplay_timer_set = TRUE; -} - -/* - * RootlessBlockHandler - * If the redisplay timer has expired, flush drawing before blocking - * on select(). - */ -static void -RootlessBlockHandler(void *pbdata, void *ptimeout) -{ - ScreenPtr pScreen = pbdata; - RootlessScreenRec *screenRec = SCREENREC(pScreen); - - if (screenRec->redisplay_expired) { - screenRec->redisplay_expired = FALSE; - - RootlessRedisplayScreen(pScreen); - } -} - -static void -RootlessWakeupHandler(void *data, int result) -{ - // nothing here -} - -static Bool -RootlessAllocatePrivates(ScreenPtr pScreen) -{ - RootlessScreenRec *s; - - if (!dixRegisterPrivateKey - (&rootlessGCPrivateKeyRec, PRIVATE_GC, sizeof(RootlessGCRec))) - return FALSE; - if (!dixRegisterPrivateKey(&rootlessScreenPrivateKeyRec, PRIVATE_SCREEN, 0)) - return FALSE; - if (!dixRegisterPrivateKey(&rootlessWindowPrivateKeyRec, PRIVATE_WINDOW, 0)) - return FALSE; - if (!dixRegisterPrivateKey - (&rootlessWindowOldPixmapPrivateKeyRec, PRIVATE_WINDOW, 0)) - return FALSE; - - s = malloc(sizeof(RootlessScreenRec)); - if (!s) - return FALSE; - SETSCREENREC(pScreen, s); - - s->pixmap_data = NULL; - s->pixmap_data_size = 0; - - s->redisplay_timer = NULL; - s->redisplay_timer_set = FALSE; - - return TRUE; -} - -static void -RootlessWrap(ScreenPtr pScreen) -{ - RootlessScreenRec *s = SCREENREC(pScreen); - -#define WRAP(a) \ - if (pScreen->a) { \ - s->a = pScreen->a; \ - } else { \ - RL_DEBUG_MSG("null screen fn " #a "\n"); \ - s->a = NULL; \ - } \ - pScreen->a = Rootless##a - - WRAP(CreateScreenResources); - WRAP(CloseScreen); - WRAP(CreateGC); - WRAP(CopyWindow); - WRAP(PaintWindow); - WRAP(GetImage); - WRAP(SourceValidate); - WRAP(CreateWindow); - WRAP(DestroyWindow); - WRAP(RealizeWindow); - WRAP(UnrealizeWindow); - WRAP(MoveWindow); - WRAP(PositionWindow); - WRAP(ResizeWindow); - WRAP(RestackWindow); - WRAP(ReparentWindow); - WRAP(ChangeBorderWidth); - WRAP(MarkOverlappedWindows); - WRAP(ValidateTree); - WRAP(ChangeWindowAttributes); - WRAP(InstallColormap); - WRAP(UninstallColormap); - WRAP(StoreColors); - - WRAP(SetShape); - - { - // Composite and Glyphs don't use normal screen wrapping - PictureScreenPtr ps = GetPictureScreen(pScreen); - - s->Composite = ps->Composite; - ps->Composite = RootlessComposite; - s->Glyphs = ps->Glyphs; - ps->Glyphs = RootlessGlyphs; - } - - // WRAP(ClearToBackground); fixme put this back? useful for shaped wins? - -#undef WRAP -} - -/* - * RootlessInit - * Called by the rootless implementation to initialize the rootless layer. - * Rootless wraps lots of stuff and needs a bunch of devPrivates. - */ -Bool -RootlessInit(ScreenPtr pScreen, RootlessFrameProcsPtr procs) -{ - RootlessScreenRec *s; - - if (!RootlessAllocatePrivates(pScreen)) - return FALSE; - - s = SCREENREC(pScreen); - - s->imp = procs; - s->colormap = NULL; - s->redisplay_expired = FALSE; - - RootlessWrap(pScreen); - - if (!RegisterBlockAndWakeupHandlers(RootlessBlockHandler, - RootlessWakeupHandler, - (void *) pScreen)) { - return FALSE; - } - - return TRUE; -} - -void -RootlessUpdateRooted(Bool state) -{ - int i; - - if (!state) { - for (i = 0; i < screenInfo.numScreens; i++) - RootlessDisableRoot(screenInfo.screens[i]); - } - else { - for (i = 0; i < screenInfo.numScreens; i++) - RootlessEnableRoot(screenInfo.screens[i]); - } -} diff --git a/miext/rootless/rootlessValTree.c b/miext/rootless/rootlessValTree.c deleted file mode 100644 index 409e6a092..000000000 --- a/miext/rootless/rootlessValTree.c +++ /dev/null @@ -1,529 +0,0 @@ -/* - * Calculate window clip lists for rootless mode - * - * This file is very closely based on mivaltree.c. - */ - -/* - * mivaltree.c -- - * Functions for recalculating window clip lists. Main function - * is miValidateTree. - * - -Copyright 1987, 1988, 1989, 1998 The Open Group - -All Rights Reserved. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - - * - * Copyright 1987, 1988, 1989 by - * Digital Equipment Corporation, Maynard, Massachusetts, - * - * All Rights Reserved - * - * Permission to use, copy, modify, and distribute this software and its - * documentation for any purpose and without fee is hereby granted, - * provided that the above copyright notice appear in all copies and that - * both that copyright notice and this permission notice appear in - * supporting documentation, and that the name of Digital not be - * used in advertising or publicity pertaining to distribution of the - * software without specific, written prior permission. - * - * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING - * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL - * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR - * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - * - ******************************************************************/ - -/* The panoramix components contained the following notice */ -/***************************************************************** - -Copyright (c) 1991, 1997 Digital Equipment Corporation, Maynard, Massachusetts. - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING, -BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY, -WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of Digital Equipment Corporation -shall not be used in advertising or otherwise to promote the sale, use or other -dealings in this Software without prior written authorization from Digital -Equipment Corporation. - -******************************************************************/ - /* - * Aug '86: Susan Angebranndt -- original code - * July '87: Adam de Boor -- substantially modified and commented - * Summer '89: Joel McCormack -- so fast you wouldn't believe it possible. - * In particular, much improved code for window mapping and - * circulating. - * Bob Scheifler -- avoid miComputeClips for unmapped windows, - * valdata changes - */ -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include /* For NULL */ -#include -#include "scrnintstr.h" -#include "validate.h" -#include "windowstr.h" -#include "mi.h" -#include "regionstr.h" -#include "mivalidate.h" - -#include "globals.h" - -int RootlessMiValidateTree(WindowPtr pRoot, WindowPtr pChild, VTKind kind); - -#define HasParentRelativeBorder(w) (!(w)->borderIsPixel && \ - HasBorder(w) && \ - (w)->backgroundState == ParentRelative) - -/* - *----------------------------------------------------------------------- - * RootlessComputeClips -- - * Recompute the clipList, borderClip, exposed and borderExposed - * regions for pParent and its children. Only viewable windows are - * taken into account. - * - * Results: - * None. - * - * Side Effects: - * clipList, borderClip, exposed and borderExposed are altered. - * A VisibilityNotify event may be generated on the parent window. - * - *----------------------------------------------------------------------- - */ -static void -RootlessComputeClips(WindowPtr pParent, ScreenPtr pScreen, - RegionPtr universe, VTKind kind, RegionPtr exposed) -{ - int dx, dy; - RegionRec childUniverse; - register WindowPtr pChild; - int oldVis, newVis; - BoxRec borderSize; - RegionRec childUnion; - Bool overlap; - RegionPtr borderVisible; - - /* - * Figure out the new visibility of this window. - * The extent of the universe should be the same as the extent of - * the borderSize region. If the window is unobscured, this rectangle - * will be completely inside the universe (the universe will cover it - * completely). If the window is completely obscured, none of the - * universe will cover the rectangle. - */ - borderSize.x1 = pParent->drawable.x - wBorderWidth(pParent); - borderSize.y1 = pParent->drawable.y - wBorderWidth(pParent); - dx = (int) pParent->drawable.x + (int) pParent->drawable.width + - wBorderWidth(pParent); - if (dx > 32767) - dx = 32767; - borderSize.x2 = dx; - dy = (int) pParent->drawable.y + (int) pParent->drawable.height + - wBorderWidth(pParent); - if (dy > 32767) - dy = 32767; - borderSize.y2 = dy; - - oldVis = pParent->visibility; - switch (RegionContainsRect(universe, &borderSize)) { - case rgnIN: - newVis = VisibilityUnobscured; - break; - case rgnPART: - newVis = VisibilityPartiallyObscured; - { - RegionPtr pBounding; - - if ((pBounding = wBoundingShape(pParent))) { - switch (miShapedWindowIn(universe, pBounding, &borderSize, - pParent->drawable.x, - pParent->drawable.y)) { - case rgnIN: - newVis = VisibilityUnobscured; - break; - case rgnOUT: - newVis = VisibilityFullyObscured; - break; - } - } - } - break; - default: - newVis = VisibilityFullyObscured; - break; - } - - pParent->visibility = newVis; - if (oldVis != newVis && - ((pParent-> - eventMask | wOtherEventMasks(pParent)) & VisibilityChangeMask)) - SendVisibilityNotify(pParent); - - dx = pParent->drawable.x - pParent->valdata->before.oldAbsCorner.x; - dy = pParent->drawable.y - pParent->valdata->before.oldAbsCorner.y; - - /* - * avoid computations when dealing with simple operations - */ - - switch (kind) { - case VTMap: - case VTStack: - case VTUnmap: - break; - case VTMove: - if ((oldVis == newVis) && - ((oldVis == VisibilityFullyObscured) || - (oldVis == VisibilityUnobscured))) { - pChild = pParent; - while (1) { - if (pChild->viewable) { - if (pChild->visibility != VisibilityFullyObscured) { - RegionTranslate(&pChild->borderClip, dx, dy); - RegionTranslate(&pChild->clipList, dx, dy); - pChild->drawable.serialNumber = NEXT_SERIAL_NUMBER; - if (pScreen->ClipNotify) - (*pScreen->ClipNotify) (pChild, dx, dy); - - } - if (pChild->valdata) { - RegionNull(&pChild->valdata->after.borderExposed); - if (HasParentRelativeBorder(pChild)) { - RegionSubtract(&pChild->valdata->after. - borderExposed, &pChild->borderClip, - &pChild->winSize); - } - RegionNull(&pChild->valdata->after.exposed); - } - if (pChild->firstChild) { - pChild = pChild->firstChild; - continue; - } - } - while (!pChild->nextSib && (pChild != pParent)) - pChild = pChild->parent; - if (pChild == pParent) - break; - pChild = pChild->nextSib; - } - return; - } - /* fall through */ - default: - /* - * To calculate exposures correctly, we have to translate the old - * borderClip and clipList regions to the window's new location so there - * is a correspondence between pieces of the new and old clipping regions. - */ - if (dx || dy) { - /* - * We translate the old clipList because that will be exposed or copied - * if gravity is right. - */ - RegionTranslate(&pParent->borderClip, dx, dy); - RegionTranslate(&pParent->clipList, dx, dy); - } - break; - case VTBroken: - RegionEmpty(&pParent->borderClip); - RegionEmpty(&pParent->clipList); - break; - } - - borderVisible = pParent->valdata->before.borderVisible; - RegionNull(&pParent->valdata->after.borderExposed); - RegionNull(&pParent->valdata->after.exposed); - - /* - * Since the borderClip must not be clipped by the children, we do - * the border exposure first... - * - * 'universe' is the window's borderClip. To figure the exposures, remove - * the area that used to be exposed from the new. - * This leaves a region of pieces that weren't exposed before. - */ - - if (HasBorder(pParent)) { - if (borderVisible) { - /* - * when the border changes shape, the old visible portions - * of the border will be saved by DIX in borderVisible -- - * use that region and destroy it - */ - RegionSubtract(exposed, universe, borderVisible); - RegionDestroy(borderVisible); - } - else { - RegionSubtract(exposed, universe, &pParent->borderClip); - } - if (HasParentRelativeBorder(pParent) && (dx || dy)) { - RegionSubtract(&pParent->valdata->after.borderExposed, - universe, &pParent->winSize); - } - else { - RegionSubtract(&pParent->valdata->after.borderExposed, - exposed, &pParent->winSize); - } - - RegionCopy(&pParent->borderClip, universe); - - /* - * To get the right clipList for the parent, and to make doubly sure - * that no child overlaps the parent's border, we remove the parent's - * border from the universe before proceeding. - */ - - RegionIntersect(universe, universe, &pParent->winSize); - } - else - RegionCopy(&pParent->borderClip, universe); - - if ((pChild = pParent->firstChild) && pParent->mapped) { - RegionNull(&childUniverse); - RegionNull(&childUnion); - if ((pChild->drawable.y < pParent->lastChild->drawable.y) || - ((pChild->drawable.y == pParent->lastChild->drawable.y) && - (pChild->drawable.x < pParent->lastChild->drawable.x))) { - for (; pChild; pChild = pChild->nextSib) { - if (pChild->viewable) - RegionAppend(&childUnion, &pChild->borderSize); - } - } - else { - for (pChild = pParent->lastChild; pChild; pChild = pChild->prevSib) { - if (pChild->viewable) - RegionAppend(&childUnion, &pChild->borderSize); - } - } - RegionValidate(&childUnion, &overlap); - - for (pChild = pParent->firstChild; pChild; pChild = pChild->nextSib) { - if (pChild->viewable) { - /* - * If the child is viewable, we want to remove its extents - * from the current universe, but we only re-clip it if - * it's been marked. - */ - if (pChild->valdata) { - /* - * Figure out the new universe from the child's - * perspective and recurse. - */ - RegionIntersect(&childUniverse, - universe, &pChild->borderSize); - RootlessComputeClips(pChild, pScreen, &childUniverse, - kind, exposed); - } - /* - * Once the child has been processed, we remove its extents - * from the current universe, thus denying its space to any - * other sibling. - */ - if (overlap) - RegionSubtract(universe, universe, &pChild->borderSize); - } - } - if (!overlap) - RegionSubtract(universe, universe, &childUnion); - RegionUninit(&childUnion); - RegionUninit(&childUniverse); - } /* if any children */ - - /* - * 'universe' now contains the new clipList for the parent window. - * - * To figure the exposure of the window we subtract the old clip from the - * new, just as for the border. - */ - - if (oldVis == VisibilityFullyObscured || oldVis == VisibilityNotViewable) { - RegionCopy(&pParent->valdata->after.exposed, universe); - } - else if (newVis != VisibilityFullyObscured && - newVis != VisibilityNotViewable) { - RegionSubtract(&pParent->valdata->after.exposed, - universe, &pParent->clipList); - } - - /* HACK ALERT - copying contents of regions, instead of regions */ - { - RegionRec tmp; - - tmp = pParent->clipList; - pParent->clipList = *universe; - *universe = tmp; - } - -#ifdef NOTDEF - RegionCopy(&pParent->clipList, universe); -#endif - - pParent->drawable.serialNumber = NEXT_SERIAL_NUMBER; - - if (pScreen->ClipNotify) - (*pScreen->ClipNotify) (pParent, dx, dy); -} - -static void -RootlessTreeObscured(WindowPtr pParent) -{ - register WindowPtr pChild; - register int oldVis; - - pChild = pParent; - while (1) { - if (pChild->viewable) { - oldVis = pChild->visibility; - if (oldVis != (pChild->visibility = VisibilityFullyObscured) && - ((pChild-> - eventMask | wOtherEventMasks(pChild)) & VisibilityChangeMask)) - SendVisibilityNotify(pChild); - if (pChild->firstChild) { - pChild = pChild->firstChild; - continue; - } - } - while (!pChild->nextSib && (pChild != pParent)) - pChild = pChild->parent; - if (pChild == pParent) - break; - pChild = pChild->nextSib; - } -} - -/* - *----------------------------------------------------------------------- - * RootlessMiValidateTree -- - * Recomputes the clip list for pParent and all its inferiors. - * - * Results: - * Always returns 1. - * - * Side Effects: - * The clipList, borderClip, exposed, and borderExposed regions for - * each marked window are altered. - * - * Notes: - * This routine assumes that all affected windows have been marked - * (valdata created) and their winSize and borderSize regions - * adjusted to correspond to their new positions. The borderClip and - * clipList regions should not have been touched. - * - * The top-most level is treated differently from all lower levels - * because pParent is unchanged. For the top level, we merge the - * regions taken up by the marked children back into the clipList - * for pParent, thus forming a region from which the marked children - * can claim their areas. For lower levels, where the old clipList - * and borderClip are invalid, we can't do this and have to do the - * extra operations done in miComputeClips, but this is much faster - * e.g. when only one child has moved... - * - *----------------------------------------------------------------------- - */ -/* - Quartz version: used for validate from root in rootless mode. - We need to make sure top-level windows don't clip each other, - and that top-level windows aren't clipped to the root window. -*/ - /*ARGSUSED*/ -// fixme this is ugly -// Xprint/ValTree.c doesn't work, but maybe that method can? - int -RootlessMiValidateTree(WindowPtr pRoot, /* Parent to validate */ - WindowPtr pChild, /* First child of pRoot that was - * affected */ - VTKind kind /* What kind of configuration caused call */ - ) -{ - RegionRec childClip; /* The new borderClip for the current - * child */ - RegionRec exposed; /* For intermediate calculations */ - register ScreenPtr pScreen; - register WindowPtr pWin; - - pScreen = pRoot->drawable.pScreen; - if (pChild == NullWindow) - pChild = pRoot->firstChild; - - RegionNull(&childClip); - RegionNull(&exposed); - - if (RegionBroken(&pRoot->clipList) && !RegionBroken(&pRoot->borderClip)) { - // fixme this might not work, but hopefully doesn't happen anyway. - kind = VTBroken; - RegionNull(&pRoot->clipList); - ErrorF("ValidateTree: BUSTED!\n"); - } - - /* - * Recursively compute the clips for all children of the root. - * They don't clip against each other or the root itself, so - * childClip is always reset to that child's size. - */ - - for (pWin = pChild; pWin != NullWindow; pWin = pWin->nextSib) { - if (pWin->viewable) { - if (pWin->valdata) { - RegionCopy(&childClip, &pWin->borderSize); - RootlessComputeClips(pWin, pScreen, &childClip, kind, &exposed); - } - else if (pWin->visibility == VisibilityNotViewable) { - RootlessTreeObscured(pWin); - } - } - else { - if (pWin->valdata) { - RegionEmpty(&pWin->clipList); - if (pScreen->ClipNotify) - (*pScreen->ClipNotify) (pWin, 0, 0); - RegionEmpty(&pWin->borderClip); - pWin->valdata = NULL; - } - } - } - - RegionUninit(&childClip); - - /* The root is never clipped by its children, so nothing on the root - is ever exposed by moving or mapping its children. */ - RegionNull(&pRoot->valdata->after.exposed); - RegionNull(&pRoot->valdata->after.borderExposed); - - return 1; -} diff --git a/miext/rootless/rootlessWindow.c b/miext/rootless/rootlessWindow.c deleted file mode 100644 index 643dedff6..000000000 --- a/miext/rootless/rootlessWindow.c +++ /dev/null @@ -1,1352 +0,0 @@ -/* - * Rootless window management - */ -/* - * Copyright (c) 2001 Greg Parker. All Rights Reserved. - * Copyright (c) 2002-2004 Torrey T. Lyons. All Rights Reserved. - * Copyright (c) 2002 Apple Computer, Inc. All rights reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#include /* For NULL */ -#include /* For CHAR_BIT */ -#include -#include -#ifdef __APPLE__ -#include -#include "mi.h" -#include "pixmapstr.h" -#include "windowstr.h" -//#include -extern int darwinMainScreenX, darwinMainScreenY; -extern Bool no_configure_window; -#endif -#include "fb.h" - -#include "rootlessCommon.h" -#include "rootlessWindow.h" - -#define SCREEN_TO_GLOBAL_X \ - (pScreen->x + rootlessGlobalOffsetX) -#define SCREEN_TO_GLOBAL_Y \ - (pScreen->y + rootlessGlobalOffsetY) - -#define DEFINE_ATOM_HELPER(func,atom_name) \ - static Atom func (void) { \ - static unsigned int generation = 0; \ - static Atom atom; \ - if (generation != serverGeneration) { \ - generation = serverGeneration; \ - atom = MakeAtom (atom_name, strlen (atom_name), TRUE); \ - } \ - return atom; \ - } - -DEFINE_ATOM_HELPER(xa_native_window_id, "_NATIVE_WINDOW_ID") - -static Bool windows_hidden; - -// TODO - abstract xp functions - -#ifdef __APPLE__ - -// XXX: identical to x_cvt_vptr_to_uint ? -#define MAKE_WINDOW_ID(x) ((xp_window_id)((size_t)(x))) - -void -RootlessNativeWindowStateChanged(WindowPtr pWin, unsigned int state) -{ - RootlessWindowRec *winRec; - - if (pWin == NULL) - return; - - winRec = WINREC(pWin); - if (winRec == NULL) - return; - - winRec->is_offscreen = ((state & XP_WINDOW_STATE_OFFSCREEN) != 0); - winRec->is_obscured = ((state & XP_WINDOW_STATE_OBSCURED) != 0); - pWin->unhittable = winRec->is_offscreen; -} - -void -RootlessNativeWindowMoved(WindowPtr pWin) -{ - xp_box bounds; - int sx, sy, err; - XID vlist[2]; - Mask mask; - ClientPtr pClient; - RootlessWindowRec *winRec; - - winRec = WINREC(pWin); - - if (xp_get_window_bounds(MAKE_WINDOW_ID(winRec->wid), &bounds) != Success) - return; - - sx = pWin->drawable.pScreen->x + darwinMainScreenX; - sy = pWin->drawable.pScreen->y + darwinMainScreenY; - - /* Fake up a ConfigureWindow packet to resize the window to the current bounds. */ - vlist[0] = (INT16) bounds.x1 - sx; - vlist[1] = (INT16) bounds.y1 - sy; - mask = CWX | CWY; - - /* pretend we're the owner of the window! */ - err = - dixLookupClient(&pClient, pWin->drawable.id, serverClient, - DixUnknownAccess); - if (err != Success) { - ErrorF("RootlessNativeWindowMoved(): Failed to lookup window: 0x%x\n", - (unsigned int) pWin->drawable.id); - return; - } - - /* Don't want to do anything to the physical window (avoids - notification-response feedback loops) */ - - no_configure_window = TRUE; - ConfigureWindow(pWin, mask, vlist, pClient); - no_configure_window = FALSE; -} - -#endif /* __APPLE__ */ - -/* - * RootlessCreateWindow - * For now, don't create a physical window until either the window is - * realized, or we really need it (e.g. to attach VRAM surfaces to). - * Do reset the window size so it's not clipped by the root window. - */ -Bool -RootlessCreateWindow(WindowPtr pWin) -{ - Bool result; - RegionRec saveRoot; - - SETWINREC(pWin, NULL); - dixSetPrivate(&pWin->devPrivates, rootlessWindowOldPixmapPrivateKey, NULL); - - SCREEN_UNWRAP(pWin->drawable.pScreen, CreateWindow); - - if (!IsRoot(pWin)) { - /* win/border size set by DIX, not by wrapped CreateWindow, so - correct it here. Don't HUGE_ROOT when pWin is the root! */ - - HUGE_ROOT(pWin); - SetWinSize(pWin); - SetBorderSize(pWin); - } - - result = pWin->drawable.pScreen->CreateWindow(pWin); - - if (pWin->parent) { - NORMAL_ROOT(pWin); - } - - SCREEN_WRAP(pWin->drawable.pScreen, CreateWindow); - - return result; -} - -/* - * RootlessDestroyFrame - * Destroy the physical window associated with the given window. - */ -static void -RootlessDestroyFrame(WindowPtr pWin, RootlessWindowPtr winRec) -{ - SCREENREC(pWin->drawable.pScreen)->imp->DestroyFrame(winRec->wid); - free(winRec); - SETWINREC(pWin, NULL); -} - -/* - * RootlessDestroyWindow - * Destroy the physical window associated with the given window. - */ -Bool -RootlessDestroyWindow(WindowPtr pWin) -{ - RootlessWindowRec *winRec = WINREC(pWin); - Bool result; - - if (winRec != NULL) { - RootlessDestroyFrame(pWin, winRec); - } - - SCREEN_UNWRAP(pWin->drawable.pScreen, DestroyWindow); - result = pWin->drawable.pScreen->DestroyWindow(pWin); - SCREEN_WRAP(pWin->drawable.pScreen, DestroyWindow); - - return result; -} - -static Bool -RootlessGetShape(WindowPtr pWin, RegionPtr pShape) -{ - if (wBoundingShape(pWin) == NULL) - return FALSE; - - /* wBoundingShape is relative to *inner* origin of window. - Translate by borderWidth to get the outside-relative position. */ - - RegionNull(pShape); - RegionCopy(pShape, wBoundingShape(pWin)); - RegionTranslate(pShape, pWin->borderWidth, pWin->borderWidth); - - return TRUE; -} - -/* - * RootlessReshapeFrame - * Set the frame shape. - */ -static void -RootlessReshapeFrame(WindowPtr pWin) -{ - RootlessWindowRec *winRec = WINREC(pWin); - RegionRec newShape; - RegionPtr pShape; - - // If the window is not yet framed, do nothing - if (winRec == NULL) - return; - - if (IsRoot(pWin)) - return; - - RootlessStopDrawing(pWin, FALSE); - - pShape = RootlessGetShape(pWin, &newShape) ? &newShape : NULL; - -#ifdef ROOTLESSDEBUG - RL_DEBUG_MSG("reshaping..."); - if (pShape != NULL) { - RL_DEBUG_MSG("numrects %d, extents %d %d %d %d ", - RegionNumRects(&newShape), - newShape.extents.x1, newShape.extents.y1, - newShape.extents.x2, newShape.extents.y2); - } - else { - RL_DEBUG_MSG("no shape "); - } -#endif - - SCREENREC(pWin->drawable.pScreen)->imp->ReshapeFrame(winRec->wid, pShape); - - if (pShape != NULL) - RegionUninit(&newShape); -} - -/* - * RootlessSetShape - * Shape is usually set before a window is mapped and the window will - * not have a frame associated with it. In this case, the frame will be - * shaped when the window is framed. - */ -void -RootlessSetShape(WindowPtr pWin, int kind) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - - SCREEN_UNWRAP(pScreen, SetShape); - pScreen->SetShape(pWin, kind); - SCREEN_WRAP(pScreen, SetShape); - - RootlessReshapeFrame(pWin); -} - -/* Disallow ParentRelative background on top-level windows - because the root window doesn't really have the right background. - */ -Bool -RootlessChangeWindowAttributes(WindowPtr pWin, unsigned long vmask) -{ - Bool result; - ScreenPtr pScreen = pWin->drawable.pScreen; - - RL_DEBUG_MSG("change window attributes start "); - - SCREEN_UNWRAP(pScreen, ChangeWindowAttributes); - result = pScreen->ChangeWindowAttributes(pWin, vmask); - SCREEN_WRAP(pScreen, ChangeWindowAttributes); - - if (WINREC(pWin)) { - // disallow ParentRelative background state - if (pWin->backgroundState == ParentRelative) { - XID pixel = 0; - - ChangeWindowAttributes(pWin, CWBackPixel, &pixel, serverClient); - } - } - - RL_DEBUG_MSG("change window attributes end\n"); - return result; -} - -/* - * RootlessPositionWindow - * This is a hook for when DIX moves or resizes a window. - * Update the frame position now although the physical window is moved - * in RootlessMoveWindow. (x, y) are *inside* position. After this, - * mi and fb are expecting the pixmap to be at the new location. - */ -Bool -RootlessPositionWindow(WindowPtr pWin, int x, int y) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - RootlessWindowRec *winRec = WINREC(pWin); - Bool result; - - RL_DEBUG_MSG("positionwindow start (win %p (%lu) @ %i, %i)\n", pWin, RootlessWID(pWin), x, y); - - if (winRec) { - if (winRec->is_drawing) { - // Reset frame's pixmap and move it to the new position. - int bw = wBorderWidth(pWin); - - winRec->pixmap->devPrivate.ptr = winRec->pixelData; - SetPixmapBaseToScreen(winRec->pixmap, x - bw, y - bw); - } - } - - SCREEN_UNWRAP(pScreen, PositionWindow); - result = pScreen->PositionWindow(pWin, x, y); - SCREEN_WRAP(pScreen, PositionWindow); - - RL_DEBUG_MSG("positionwindow end\n"); - return result; -} - -/* - * RootlessInitializeFrame - * Initialize some basic attributes of the frame. Note that winRec - * may already have valid data in it, so don't overwrite anything - * valuable. - */ -static void -RootlessInitializeFrame(WindowPtr pWin, RootlessWindowRec * winRec) -{ - DrawablePtr d = &pWin->drawable; - int bw = wBorderWidth(pWin); - - winRec->win = pWin; - - winRec->x = d->x - bw; - winRec->y = d->y - bw; - winRec->width = d->width + 2 * bw; - winRec->height = d->height + 2 * bw; - winRec->borderWidth = bw; -} - -/* - * RootlessEnsureFrame - * Make sure the given window is framed. If the window doesn't have a - * physical window associated with it, attempt to create one. If that - * is unsuccessful, return NULL. - */ -static RootlessWindowRec * -RootlessEnsureFrame(WindowPtr pWin) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - RootlessWindowRec *winRec; - RegionRec shape; - RegionPtr pShape = NULL; - - if (WINREC(pWin) != NULL) - return WINREC(pWin); - - if (!IsTopLevel(pWin) && !IsRoot(pWin)) - return NULL; - - if (pWin->drawable.class != InputOutput) - return NULL; - - winRec = malloc(sizeof(RootlessWindowRec)); - - if (!winRec) - return NULL; - - RootlessInitializeFrame(pWin, winRec); - - winRec->is_drawing = FALSE; - winRec->is_reorder_pending = FALSE; - winRec->pixmap = NULL; - winRec->wid = NULL; - winRec->level = 0; - - SETWINREC(pWin, winRec); - - // Set the frame's shape if the window is shaped - if (RootlessGetShape(pWin, &shape)) - pShape = &shape; - - RL_DEBUG_MSG("creating frame "); - - if (!SCREENREC(pScreen)->imp->CreateFrame(winRec, pScreen, - winRec->x + SCREEN_TO_GLOBAL_X, - winRec->y + SCREEN_TO_GLOBAL_Y, - pShape)) { - RL_DEBUG_MSG("implementation failed to create frame!\n"); - free(winRec); - SETWINREC(pWin, NULL); - return NULL; - } - - if (pWin->drawable.depth == 8) - RootlessFlushWindowColormap(pWin); - - if (pShape != NULL) - RegionUninit(&shape); - - return winRec; -} - -/* - * RootlessRealizeWindow - * The frame is usually created here and not in CreateWindow so that - * windows do not eat memory until they are realized. - */ -Bool -RootlessRealizeWindow(WindowPtr pWin) -{ - Bool result; - RegionRec saveRoot; - ScreenPtr pScreen = pWin->drawable.pScreen; - - RL_DEBUG_MSG("realizewindow start (win %p (%lu)) ", pWin, RootlessWID(pWin)); - - if ((IsTopLevel(pWin) && pWin->drawable.class == InputOutput)) { - RootlessWindowRec *winRec; - - winRec = RootlessEnsureFrame(pWin); - if (winRec == NULL) - return FALSE; - - winRec->is_reorder_pending = TRUE; - - RL_DEBUG_MSG("Top level window "); - - // Disallow ParentRelative background state on top-level windows. - // This might have been set before the window was mapped. - if (pWin->backgroundState == ParentRelative) { - XID pixel = 0; - - ChangeWindowAttributes(pWin, CWBackPixel, &pixel, serverClient); - } - } - - if (!IsRoot(pWin)) - HUGE_ROOT(pWin); - SCREEN_UNWRAP(pScreen, RealizeWindow); - result = pScreen->RealizeWindow(pWin); - SCREEN_WRAP(pScreen, RealizeWindow); - if (!IsRoot(pWin)) - NORMAL_ROOT(pWin); - - RL_DEBUG_MSG("realizewindow end\n"); - return result; -} - -/* - * RootlessFrameForWindow - * Returns the frame ID for the physical window displaying the given window. - * If CREATE is true and the window has no frame, attempt to create one. - */ -RootlessFrameID -RootlessFrameForWindow(WindowPtr pWin, Bool create) -{ - WindowPtr pTopWin; - RootlessWindowRec *winRec; - - pTopWin = TopLevelParent(pWin); - if (pTopWin == NULL) - return NULL; - - winRec = WINREC(pTopWin); - - if (winRec == NULL && create && pWin->drawable.class == InputOutput) { - winRec = RootlessEnsureFrame(pTopWin); - } - - if (winRec == NULL) - return NULL; - - return winRec->wid; -} - -/* - * RootlessUnrealizeWindow - * Unmap the physical window. - */ -Bool -RootlessUnrealizeWindow(WindowPtr pWin) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - RootlessWindowRec *winRec = WINREC(pWin); - Bool result; - - RL_DEBUG_MSG("unrealizewindow start "); - - if (winRec) { - RootlessStopDrawing(pWin, FALSE); - - SCREENREC(pScreen)->imp->UnmapFrame(winRec->wid); - - winRec->is_reorder_pending = FALSE; - } - - SCREEN_UNWRAP(pScreen, UnrealizeWindow); - result = pScreen->UnrealizeWindow(pWin); - SCREEN_WRAP(pScreen, UnrealizeWindow); - - RL_DEBUG_MSG("unrealizewindow end\n"); - return result; -} - -/* - * RootlessReorderWindow - * Reorder the frame associated with the given window so that it's - * physically above the window below it in the X stacking order. - */ -void -RootlessReorderWindow(WindowPtr pWin) -{ - RootlessWindowRec *winRec = WINREC(pWin); - - if (pWin->realized && winRec != NULL && !winRec->is_reorder_pending && - !windows_hidden) { - WindowPtr newPrevW; - RootlessWindowRec *newPrev; - RootlessFrameID newPrevID; - ScreenPtr pScreen = pWin->drawable.pScreen; - - /* Check if the implementation wants the frame to not be reordered - even though the X11 window is restacked. This can be useful if - frames are ordered-in with animation so that the reordering is not - done until the animation is complete. */ - if (SCREENREC(pScreen)->imp->DoReorderWindow) { - if (!SCREENREC(pScreen)->imp->DoReorderWindow(winRec)) - return; - } - - RootlessStopDrawing(pWin, FALSE); - - /* Find the next window above this one that has a mapped frame. - * Only include cases where the windows are in the same category of - * hittability to ensure offscreen windows don't get restacked - * relative to onscreen ones (but that the offscreen ones maintain - * their stacking order if they are explicitly asked to Reorder). - */ - - newPrevW = pWin->prevSib; - while (newPrevW && - (WINREC(newPrevW) == NULL || !newPrevW->realized || - newPrevW->unhittable != pWin->unhittable)) - newPrevW = newPrevW->prevSib; - - newPrev = newPrevW != NULL ? WINREC(newPrevW) : NULL; - newPrevID = newPrev != NULL ? newPrev->wid : 0; - - /* If it exists, reorder the frame above us first. */ - - if (newPrev && newPrev->is_reorder_pending) { - newPrev->is_reorder_pending = FALSE; - RootlessReorderWindow(newPrevW); - } - - SCREENREC(pScreen)->imp->RestackFrame(winRec->wid, newPrevID); - } -} - -/* - * RootlessRestackWindow - * This is a hook for when DIX changes the window stacking order. - * The window has already been inserted into its new position in the - * DIX window stack. We need to change the order of the physical - * window to match. - */ -void -RootlessRestackWindow(WindowPtr pWin, WindowPtr pOldNextSib) -{ - RegionRec saveRoot; - RootlessWindowRec *winRec = WINREC(pWin); - ScreenPtr pScreen = pWin->drawable.pScreen; - - RL_DEBUG_MSG("restackwindow start "); - if (winRec) - RL_DEBUG_MSG("restack top level \n"); - - HUGE_ROOT(pWin); - SCREEN_UNWRAP(pScreen, RestackWindow); - - if (pScreen->RestackWindow) - pScreen->RestackWindow(pWin, pOldNextSib); - - SCREEN_WRAP(pScreen, RestackWindow); - NORMAL_ROOT(pWin); - - if (winRec && pWin->viewable) { - RootlessReorderWindow(pWin); - } - - RL_DEBUG_MSG("restackwindow end\n"); -} - -/* - * Specialized window copy procedures - */ - -// Globals needed during window resize and move. -static CopyWindowProcPtr gResizeOldCopyWindowProc = NULL; - -/* - * RootlessNoCopyWindow - * CopyWindow() that doesn't do anything. For MoveWindow() of - * top-level windows. - */ -static void -RootlessNoCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) -{ - // some code expects the region to be translated - int dx = ptOldOrg.x - pWin->drawable.x; - int dy = ptOldOrg.y - pWin->drawable.y; - - RL_DEBUG_MSG("ROOTLESSNOCOPYWINDOW "); - - RegionTranslate(prgnSrc, -dx, -dy); -} - -/* - * RootlessCopyWindow - * Update *new* location of window. Old location is redrawn with - * PaintWindow. Cloned from fbCopyWindow. - * The original always draws on the root pixmap, which we don't have. - * Instead, draw on the parent window's pixmap. - */ -void -RootlessCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - RegionRec rgnDst; - int dx, dy; - BoxPtr extents; - int area; - - RL_DEBUG_MSG("copywindowFB start (win %p (%lu)) ", pWin, RootlessWID(pWin)); - - SCREEN_UNWRAP(pScreen, CopyWindow); - - dx = ptOldOrg.x - pWin->drawable.x; - dy = ptOldOrg.y - pWin->drawable.y; - RegionTranslate(prgnSrc, -dx, -dy); - - RegionNull(&rgnDst); - RegionIntersect(&rgnDst, &pWin->borderClip, prgnSrc); - - extents = RegionExtents(&rgnDst); - area = (extents->x2 - extents->x1) * (extents->y2 - extents->y1); - - /* If the area exceeds threshold, use the implementation's - accelerated version. */ - if (area > rootless_CopyWindow_threshold && - SCREENREC(pScreen)->imp->CopyWindow) { - RootlessWindowRec *winRec; - WindowPtr top; - - top = TopLevelParent(pWin); - if (top == NULL) { - RL_DEBUG_MSG("no parent\n"); - goto out; - } - - winRec = WINREC(top); - if (winRec == NULL) { - RL_DEBUG_MSG("not framed\n"); - goto out; - } - - /* Move region to window local coords */ - RegionTranslate(&rgnDst, -winRec->x, -winRec->y); - - RootlessStopDrawing(pWin, FALSE); - - SCREENREC(pScreen)->imp->CopyWindow(winRec->wid, - RegionNumRects(&rgnDst), - RegionRects(&rgnDst), dx, dy); - } - else { - RootlessStartDrawing(pWin); - - PixmapPtr pPixmap = pScreen->GetWindowPixmap(pWin); - DrawablePtr pDrawable = &pPixmap->drawable; - - if (pPixmap->screen_x || pPixmap->screen_y) { - RegionTranslate(&rgnDst, -pPixmap->screen_x, -pPixmap->screen_y); - } - - miCopyRegion(pDrawable, pDrawable, - 0, &rgnDst, dx, dy, fbCopyWindowProc, 0, 0); - - RootlessDamageRegion(pWin, &rgnDst); - } - - out: - RegionUninit(&rgnDst); - fbValidateDrawable(&pWin->drawable); - - SCREEN_WRAP(pScreen, CopyWindow); - - RL_DEBUG_MSG("copywindowFB end\n"); -} - -void -RootlessPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - - if (IsFramedWindow(pWin)) { - RootlessStartDrawing(pWin); - RootlessDamageRegion(pWin, prgn); - - if (pWin->backgroundState == ParentRelative) { - if ((what == PW_BACKGROUND) || - (what == PW_BORDER && !pWin->borderIsPixel)) - RootlessSetPixmapOfAncestors(pWin); - } - } - - SCREEN_UNWRAP(pScreen, PaintWindow); - pScreen->PaintWindow(pWin, prgn, what); - SCREEN_WRAP(pScreen, PaintWindow); -} - -/* - * Window resize procedures - */ - -enum { - WIDTH_SMALLER = 1, - HEIGHT_SMALLER = 2, -}; - -/* - * ResizeWeighting - * Choose gravity to avoid local copies. Do that by looking for - * a corner that doesn't move _relative to the screen_. - */ -static inline unsigned int -ResizeWeighting(int oldX1, int oldY1, int oldX2, int oldY2, int oldBW, - int newX1, int newY1, int newX2, int newY2, int newBW) -{ - if (newBW != oldBW) - return RL_GRAVITY_NONE; - - if (newX1 == oldX1 && newY1 == oldY1) - return RL_GRAVITY_NORTH_WEST; - else if (newX1 == oldX1 && newY2 == oldY2) - return RL_GRAVITY_SOUTH_WEST; - else if (newX2 == oldX2 && newY2 == oldY2) - return RL_GRAVITY_SOUTH_EAST; - else if (newX2 == oldX2 && newY1 == oldY1) - return RL_GRAVITY_NORTH_EAST; - else - return RL_GRAVITY_NORTH_WEST; -} - -/* - * StartFrameResize - * Prepare to resize a top-level window. The old window's pixels are - * saved and the implementation is told to change the window size. - * (x,y,w,h) is outer frame of window (outside border) - */ -static void -StartFrameResize(WindowPtr pWin, Bool gravity, - int oldX, int oldY, int oldW, int oldH, int oldBW, - int newX, int newY, int newW, int newH, int newBW) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - RootlessWindowRec *winRec = WINREC(pWin); - - BoxRec rect; - int oldX2, newX2; - int oldY2, newY2; - unsigned int weight; - - oldX2 = oldX + oldW, newX2 = newX + newW; - oldY2 = oldY + oldH, newY2 = newY + newH; - - /* Decide which resize weighting to use */ - weight = ResizeWeighting(oldX, oldY, oldW, oldH, oldBW, - newX, newY, newW, newH, newBW); - - /* Compute intersection between old and new rects */ - rect.x1 = max(oldX, newX); - rect.y1 = max(oldY, newY); - rect.x2 = min(oldX2, newX2); - rect.y2 = min(oldY2, newY2); - - RL_DEBUG_MSG("RESIZE TOPLEVEL WINDOW with gravity %i ", gravity); - RL_DEBUG_MSG("%d %d %d %d %d %d %d %d %d %d\n", - oldX, oldY, oldW, oldH, oldBW, newX, newY, newW, newH, newBW); - - RootlessRedisplay(pWin); - - winRec->x = newX; - winRec->y = newY; - winRec->width = newW; - winRec->height = newH; - winRec->borderWidth = newBW; - - SCREENREC(pScreen)->imp->ResizeFrame(winRec->wid, pScreen, - newX + SCREEN_TO_GLOBAL_X, - newY + SCREEN_TO_GLOBAL_Y, - newW, newH, weight); - - RootlessStartDrawing(pWin); - - /* Use custom CopyWindow when moving gravity bits around - ResizeWindow assumes the old window contents are in the same - pixmap, but here they're in deathPix instead. */ - - if (gravity) { - gResizeOldCopyWindowProc = pScreen->CopyWindow; - pScreen->CopyWindow = RootlessNoCopyWindow; - } -} - -static void -FinishFrameResize(WindowPtr pWin, Bool gravity, int oldX, int oldY, - unsigned int oldW, unsigned int oldH, unsigned int oldBW, - int newX, int newY, unsigned int newW, unsigned int newH, - unsigned int newBW) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - RootlessWindowRec *winRec = WINREC(pWin); - int i; - - /* Redraw everything. FIXME: there must be times when we don't need - to do this. Perhaps when top-left weighting and no gravity? */ - - RootlessDamageRect(pWin, -newBW, -newBW, newW, newH); - - if (gravity) { - pScreen->CopyWindow = gResizeOldCopyWindowProc; - } -} - -/* - * RootlessMoveWindow - * If kind==VTOther, window border is resizing (and borderWidth is - * already changed!!@#$) This case works like window resize, not move. - */ -void -RootlessMoveWindow(WindowPtr pWin, int x, int y, WindowPtr pSib, VTKind kind) -{ - RootlessWindowRec *winRec = WINREC(pWin); - ScreenPtr pScreen = pWin->drawable.pScreen; - CopyWindowProcPtr oldCopyWindowProc = NULL; - int oldX = 0, oldY = 0, newX = 0, newY = 0; - unsigned int oldW = 0, oldH = 0, oldBW = 0; - unsigned int newW = 0, newH = 0, newBW = 0; - RegionRec saveRoot; - - RL_DEBUG_MSG("movewindow start \n"); - - if (winRec) { - if (kind == VTMove) { - oldX = winRec->x; - oldY = winRec->y; - RootlessRedisplay(pWin); - RootlessStartDrawing(pWin); - } - else { - RL_DEBUG_MSG("movewindow border resizing "); - - oldBW = winRec->borderWidth; - oldX = winRec->x; - oldY = winRec->y; - oldW = winRec->width; - oldH = winRec->height; - - newBW = wBorderWidth(pWin); - newX = x; - newY = y; - newW = pWin->drawable.width + 2 * newBW; - newH = pWin->drawable.height + 2 * newBW; - - StartFrameResize(pWin, FALSE, - oldX, oldY, oldW, oldH, oldBW, - newX, newY, newW, newH, newBW); - } - } - - HUGE_ROOT(pWin); - SCREEN_UNWRAP(pScreen, MoveWindow); - - if (winRec) { - oldCopyWindowProc = pScreen->CopyWindow; - pScreen->CopyWindow = RootlessNoCopyWindow; - } - pScreen->MoveWindow(pWin, x, y, pSib, kind); - if (winRec) { - pScreen->CopyWindow = oldCopyWindowProc; - } - - NORMAL_ROOT(pWin); - SCREEN_WRAP(pScreen, MoveWindow); - - if (winRec) { - if (kind == VTMove) { - winRec->x = x; - winRec->y = y; - RootlessStopDrawing(pWin, FALSE); - SCREENREC(pScreen)->imp->MoveFrame(winRec->wid, pScreen, - x + SCREEN_TO_GLOBAL_X, - y + SCREEN_TO_GLOBAL_Y); - } - else { - FinishFrameResize(pWin, FALSE, - oldX, oldY, oldW, oldH, oldBW, - newX, newY, newW, newH, newBW); - } - } - - RL_DEBUG_MSG("movewindow end\n"); -} - -/* - * RootlessResizeWindow - * Note: (x, y, w, h) as passed to this procedure don't match the frame - * definition. (x,y) is corner of very outer edge, *outside* border. - * w,h is width and height *inside* border, *ignoring* border width. - * The rect (x, y, w, h) doesn't mean anything. (x, y, w+2*bw, h+2*bw) - * is total rect and (x+bw, y+bw, w, h) is inner rect. - */ -void -RootlessResizeWindow(WindowPtr pWin, int x, int y, - unsigned int w, unsigned int h, WindowPtr pSib) -{ - RootlessWindowRec *winRec = WINREC(pWin); - ScreenPtr pScreen = pWin->drawable.pScreen; - int oldX = 0, oldY = 0, newX = 0, newY = 0; - unsigned int oldW = 0, oldH = 0, oldBW = 0, newW = 0, newH = 0, newBW = 0; - RegionRec saveRoot; - - RL_DEBUG_MSG("resizewindow start (win %p (%lu)) ", pWin, RootlessWID(pWin)); - - if (pWin->parent) { - if (winRec) { - oldBW = winRec->borderWidth; - oldX = winRec->x; - oldY = winRec->y; - oldW = winRec->width; - oldH = winRec->height; - - newBW = oldBW; - newX = x; - newY = y; - newW = w + 2 * newBW; - newH = h + 2 * newBW; - - StartFrameResize(pWin, TRUE, - oldX, oldY, oldW, oldH, oldBW, - newX, newY, newW, newH, newBW); - } - - HUGE_ROOT(pWin); - SCREEN_UNWRAP(pScreen, ResizeWindow); - pScreen->ResizeWindow(pWin, x, y, w, h, pSib); - SCREEN_WRAP(pScreen, ResizeWindow); - NORMAL_ROOT(pWin); - - if (winRec) { - FinishFrameResize(pWin, TRUE, - oldX, oldY, oldW, oldH, oldBW, - newX, newY, newW, newH, newBW); - } - } - else { - /* Special case for resizing the root window */ - BoxRec box; - - pWin->drawable.x = x; - pWin->drawable.y = y; - pWin->drawable.width = w; - pWin->drawable.height = h; - - box.x1 = x; - box.y1 = y; - box.x2 = x + w; - box.y2 = y + h; - RegionUninit(&pWin->winSize); - RegionInit(&pWin->winSize, &box, 1); - RegionCopy(&pWin->borderSize, &pWin->winSize); - RegionCopy(&pWin->clipList, &pWin->winSize); - RegionCopy(&pWin->borderClip, &pWin->winSize); - - if (winRec) { - SCREENREC(pScreen)->imp->ResizeFrame(winRec->wid, pScreen, - x + SCREEN_TO_GLOBAL_X, - y + SCREEN_TO_GLOBAL_Y, - w, h, RL_GRAVITY_NONE); - } - - miSendExposures(pWin, &pWin->borderClip, - pWin->drawable.x, pWin->drawable.y); - } - - RL_DEBUG_MSG("resizewindow end\n"); -} - -/* - * RootlessRepositionWindow - * Called by the implementation when a window needs to be repositioned to - * its correct location on the screen. This routine is typically needed - * due to changes in the underlying window system, such as a screen layout - * change. - */ -void -RootlessRepositionWindow(WindowPtr pWin) -{ - RootlessWindowRec *winRec = WINREC(pWin); - ScreenPtr pScreen = pWin->drawable.pScreen; - - if (winRec == NULL) - return; - - RootlessStopDrawing(pWin, FALSE); - SCREENREC(pScreen)->imp->MoveFrame(winRec->wid, pScreen, - winRec->x + SCREEN_TO_GLOBAL_X, - winRec->y + SCREEN_TO_GLOBAL_Y); - - RootlessReorderWindow(pWin); -} - -/* - * RootlessReparentWindow - * Called after a window has been reparented. Generally windows are not - * framed until they are mapped. However, a window may be framed early by the - * implementation calling RootlessFrameForWindow. (e.g. this could be needed - * to attach a VRAM surface to it.) If the window is subsequently reparented - * by the window manager before being mapped, we need to give the frame to - * the new top-level window. - */ -void -RootlessReparentWindow(WindowPtr pWin, WindowPtr pPriorParent) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - RootlessWindowRec *winRec = WINREC(pWin); - WindowPtr pTopWin; - - /* Check that window is not top-level now, but used to be. */ - if (IsRoot(pWin) || IsRoot(pWin->parent) - || IsTopLevel(pWin) || winRec == NULL) { - goto out; - } - - /* If the formerly top-level window has a frame, we want to give the - frame to its new top-level parent. If we can't do that, we'll just - have to jettison it... */ - - pTopWin = TopLevelParent(pWin); - assert(pTopWin != pWin); - - pWin->unhittable = FALSE; - - DeleteProperty(serverClient, pWin, xa_native_window_id()); - - if (WINREC(pTopWin) != NULL) { - /* We're screwed. */ - RootlessDestroyFrame(pWin, winRec); - } - else { - if (!pTopWin->realized && pWin->realized) { - SCREENREC(pScreen)->imp->UnmapFrame(winRec->wid); - } - - /* Switch the frame record from one to the other. */ - - SETWINREC(pWin, NULL); - SETWINREC(pTopWin, winRec); - - RootlessInitializeFrame(pTopWin, winRec); - RootlessReshapeFrame(pTopWin); - - SCREENREC(pScreen)->imp->ResizeFrame(winRec->wid, pScreen, - winRec->x + SCREEN_TO_GLOBAL_X, - winRec->y + SCREEN_TO_GLOBAL_Y, - winRec->width, winRec->height, - RL_GRAVITY_NONE); - - if (SCREENREC(pScreen)->imp->SwitchWindow) { - SCREENREC(pScreen)->imp->SwitchWindow(winRec, pWin); - } - - if (pTopWin->realized && !pWin->realized) - winRec->is_reorder_pending = TRUE; - } - - out: - if (SCREENREC(pScreen)->ReparentWindow) { - SCREEN_UNWRAP(pScreen, ReparentWindow); - pScreen->ReparentWindow(pWin, pPriorParent); - SCREEN_WRAP(pScreen, ReparentWindow); - } -} - -void -RootlessFlushWindowColormap(WindowPtr pWin) -{ - RootlessWindowRec *winRec = WINREC(pWin); - ScreenPtr pScreen = pWin->drawable.pScreen; - - if (winRec == NULL) - return; - - RootlessStopDrawing(pWin, FALSE); - - if (SCREENREC(pScreen)->imp->UpdateColormap) - SCREENREC(pScreen)->imp->UpdateColormap(winRec->wid, pScreen); -} - -/* - * RootlessChangeBorderWidth - * FIXME: untested! - * pWin inside corner stays the same; pWin->drawable.[xy] stays the same - * Frame moves and resizes. - */ -void -RootlessChangeBorderWidth(WindowPtr pWin, unsigned int width) -{ - RegionRec saveRoot; - - RL_DEBUG_MSG("change border width "); - - if (width != wBorderWidth(pWin)) { - RootlessWindowRec *winRec = WINREC(pWin); - int oldX = 0, oldY = 0, newX = 0, newY = 0; - unsigned int oldW = 0, oldH = 0, oldBW = 0; - unsigned int newW = 0, newH = 0, newBW = 0; - - if (winRec) { - oldBW = winRec->borderWidth; - oldX = winRec->x; - oldY = winRec->y; - oldW = winRec->width; - oldH = winRec->height; - - newBW = width; - newX = pWin->drawable.x - newBW; - newY = pWin->drawable.y - newBW; - newW = pWin->drawable.width + 2 * newBW; - newH = pWin->drawable.height + 2 * newBW; - - StartFrameResize(pWin, FALSE, - oldX, oldY, oldW, oldH, oldBW, - newX, newY, newW, newH, newBW); - } - - HUGE_ROOT(pWin); - SCREEN_UNWRAP(pWin->drawable.pScreen, ChangeBorderWidth); - pWin->drawable.pScreen->ChangeBorderWidth(pWin, width); - SCREEN_WRAP(pWin->drawable.pScreen, ChangeBorderWidth); - NORMAL_ROOT(pWin); - - if (winRec) { - FinishFrameResize(pWin, FALSE, - oldX, oldY, oldW, oldH, oldBW, - newX, newY, newW, newH, newBW); - } - } - - RL_DEBUG_MSG("change border width end\n"); -} - -/* - * RootlessOrderAllWindows - * Brings all X11 windows to the top of the window stack - * (i.e in front of Aqua windows) -- called when X11.app is given focus - */ -void -RootlessOrderAllWindows(Bool include_unhitable) -{ - int i; - WindowPtr pWin; - - if (windows_hidden) - return; - - RL_DEBUG_MSG("RootlessOrderAllWindows() "); - for (i = 0; i < screenInfo.numScreens; i++) { - if (screenInfo.screens[i] == NULL) - continue; - pWin = screenInfo.screens[i]->root; - if (pWin == NULL) - continue; - - for (pWin = pWin->firstChild; pWin != NULL; pWin = pWin->nextSib) { - if (!pWin->realized) - continue; - if (RootlessEnsureFrame(pWin) == NULL) - continue; - if (!include_unhitable && pWin->unhittable) - continue; - RootlessReorderWindow(pWin); - } - } - RL_DEBUG_MSG("RootlessOrderAllWindows() done"); -} - -void -RootlessEnableRoot(ScreenPtr pScreen) -{ - WindowPtr pRoot; - - pRoot = pScreen->root; - - RootlessEnsureFrame(pRoot); - (*pScreen->ClearToBackground) (pRoot, 0, 0, 0, 0, TRUE); - RootlessReorderWindow(pRoot); -} - -void -RootlessDisableRoot(ScreenPtr pScreen) -{ - WindowPtr pRoot; - RootlessWindowRec *winRec; - - pRoot = pScreen->root; - winRec = WINREC(pRoot); - - if (NULL == winRec) - return; - - RootlessDestroyFrame(pRoot, winRec); - DeleteProperty(serverClient, pRoot, xa_native_window_id()); -} - -void -RootlessHideAllWindows(void) -{ - int i; - ScreenPtr pScreen; - WindowPtr pWin; - RootlessWindowRec *winRec; - - if (windows_hidden) - return; - - windows_hidden = TRUE; - - for (i = 0; i < screenInfo.numScreens; i++) { - pScreen = screenInfo.screens[i]; - if (pScreen == NULL) - continue; - pWin = pScreen->root; - if (pWin == NULL) - continue; - - for (pWin = pWin->firstChild; pWin != NULL; pWin = pWin->nextSib) { - if (!pWin->realized) - continue; - - RootlessStopDrawing(pWin, FALSE); - - winRec = WINREC(pWin); - if (winRec != NULL) { - if (SCREENREC(pScreen)->imp->HideWindow) - SCREENREC(pScreen)->imp->HideWindow(winRec->wid); - } - } - } -} - -void -RootlessShowAllWindows(void) -{ - int i; - ScreenPtr pScreen; - WindowPtr pWin; - RootlessWindowRec *winRec; - - if (!windows_hidden) - return; - - windows_hidden = FALSE; - - for (i = 0; i < screenInfo.numScreens; i++) { - pScreen = screenInfo.screens[i]; - if (pScreen == NULL) - continue; - pWin = pScreen->root; - if (pWin == NULL) - continue; - - for (pWin = pWin->firstChild; pWin != NULL; pWin = pWin->nextSib) { - if (!pWin->realized) - continue; - - winRec = RootlessEnsureFrame(pWin); - if (winRec == NULL) - continue; - - RootlessReorderWindow(pWin); - } - - RootlessScreenExpose(pScreen); - } -} - -/* - * SetPixmapOfAncestors - * Set the Pixmaps on all ParentRelative windows up the ancestor chain. - */ -void -RootlessSetPixmapOfAncestors(WindowPtr pWin) -{ - ScreenPtr pScreen = pWin->drawable.pScreen; - WindowPtr topWin = TopLevelParent(pWin); - RootlessWindowRec *topWinRec = WINREC(topWin); - - while (pWin->backgroundState == ParentRelative) { - if (pWin == topWin) { - // disallow ParentRelative background state on top level - XID pixel = 0; - - ChangeWindowAttributes(pWin, CWBackPixel, &pixel, serverClient); - RL_DEBUG_MSG("Cleared ParentRelative on %p (%lu).\n", pWin, RootlessWID(pWin)); - break; - } - - pWin = pWin->parent; - pScreen->SetWindowPixmap(pWin, topWinRec->pixmap); - } -} diff --git a/miext/rootless/rootlessWindow.h b/miext/rootless/rootlessWindow.h deleted file mode 100644 index 4fd34d54d..000000000 --- a/miext/rootless/rootlessWindow.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Rootless window management - */ -/* - * Copyright (c) 2001 Greg Parker. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR - * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * Except as contained in this notice, the name(s) of the above copyright - * holders shall not be used in advertising or otherwise to promote the sale, - * use or other dealings in this Software without prior written authorization. - */ - -#ifdef HAVE_DIX_CONFIG_H -#include -#endif - -#ifndef _ROOTLESSWINDOW_H -#define _ROOTLESSWINDOW_H - -#include "rootlessCommon.h" - -Bool RootlessCreateWindow(WindowPtr pWin); -Bool RootlessDestroyWindow(WindowPtr pWin); - -void RootlessSetShape(WindowPtr pWin, int kind); - -Bool RootlessChangeWindowAttributes(WindowPtr pWin, unsigned long vmask); -Bool RootlessPositionWindow(WindowPtr pWin, int x, int y); -Bool RootlessRealizeWindow(WindowPtr pWin); -Bool RootlessUnrealizeWindow(WindowPtr pWin); -void RootlessRestackWindow(WindowPtr pWin, WindowPtr pOldNextSib); -void RootlessCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, - RegionPtr prgnSrc); -void RootlessPaintWindow(WindowPtr pWin, RegionPtr prgn, int what); -void RootlessMoveWindow(WindowPtr pWin, int x, int y, WindowPtr pSib, - VTKind kind); -void RootlessResizeWindow(WindowPtr pWin, int x, int y, unsigned int w, - unsigned int h, WindowPtr pSib); -void RootlessReparentWindow(WindowPtr pWin, WindowPtr pPriorParent); -void RootlessChangeBorderWidth(WindowPtr pWin, unsigned int width); - -#ifdef __APPLE__ -void RootlessNativeWindowMoved(WindowPtr pWin); -void RootlessNativeWindowStateChanged(WindowPtr pWin, unsigned int state); -#endif - -#endif diff --git a/test/scripts/build-travis-osx.sh b/test/scripts/build-travis-osx.sh deleted file mode 100755 index d9632490d..000000000 --- a/test/scripts/build-travis-osx.sh +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh - -set -e -set -x - -# -# based on instructions for building xorg-server in https://www.xquartz.org/Developer-Info.html -# - -# install XQuartz for libraries, headers, etc. -XQUARTZ_VERSION="2.7.11" -wget -nv https://dl.bintray.com/xquartz/downloads/XQuartz-${XQUARTZ_VERSION}.dmg -hdiutil attach XQuartz-${XQUARTZ_VERSION}.dmg -sudo installer -pkg /Volumes/XQuartz-${XQUARTZ_VERSION}/XQuartz.pkg -target / -hdiutil detach /Volumes/XQuartz-${XQUARTZ_VERSION} - -# build environment -export PATH="/opt/X11/bin:${PATH}" -export PKG_CONFIG_PATH="/opt/X11/share/pkgconfig:/opt/X11/lib/pkgconfig:${PKG_CONFIG_PATH}" -export ACLOCAL="aclocal -I /opt/X11/share/aclocal -I /usr/local/share/aclocal" -export CFLAGS="-Wall -O2 -ggdb3 -arch x86_64 -pipe -Wno-typedef-redefinition -Wno-deprecated-declarations" -export CXXFLAGS=$CFLAGS -export OBJCFLAGS=$CFLAGS -export LDFLAGS=$CFLAGS - -# travis currently requires explicit ccache setup on OSX -export PATH="/usr/local/opt/ccache/libexec:$PATH" - -# need newer xorgproto -pushd $HOME -git clone git://anongit.freedesktop.org/git/xorg/proto/xorgproto -cd xorgproto -if [[ "$1" == "autotools" ]]; then - autoreconf -fvi - ./configure --prefix=/opt/X11 - sudo make install -elif [[ "$1" == "meson" ]]; then - meson _build/ -Dprefix=/opt/X11 - ninja -C _build/ - sudo ninja -C _build/ install -else - echo "Unknown build tool $1" - exit 1 -fi -popd - -# build -meson _build/ -Dprefix=/opt/X11 -Dsecure-rpc=false -DESTDIR=$(pwd)/staging ninja -C _build/ install -ninja -C _build/ test

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 KzW@K-Df)lRLV&pd diff --git a/hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects.nib b/hw/xquartz/bundle/Resources/pl.lproj/main.nib/keyedobjects.nib deleted file mode 100644 index 1de9a1f36198b2fd7f9a49107571d1d428e95f93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47800 zcmeFacYGAZ|35xEyI1y->@A^(76@HR5_(Y*2qkm~y@ew=k|X6}3XmYUV?hy6Y>0x2 zfG7x7P{ED`D~f`>V8@OH5$o^yn!U?i65#XJx9`XApKtQWWpDSjQ(p6$SD%@AC53^q z^5o=0Oktd2G$%iRZ02z zR4nDLdTKI@V+L!-IU6kHRA7!92N|~r+ zDKnIr$}GjN1eFq{LRqL(Dpksb%1ULGvRYZI+^lR=Zc%PmwkdZj_b7XnCzO54lgd-d z0p(TY4dsaPxpGwbLHSWRq5Q@&~j3w{B=kgwpE@iqK){vAKY|4=<@j9O1kQ2VO`)N|Afb-FrV z%~Q`+OVx#{P%ls~R14LM)QRfF>ZR%`^$PVG^*VK?b*EUk-{qV?ALusCg? zmZqg^!?mf}T+OE~)D~$=wDYv{wF|V1wdL9>ZMAl_wn@7~+o3(KJ*6GcUe#XH4rzzA zceT&7&$aKhAGF`KKOBlfb2uC^j#x*$qrRi5Bf*jA=!o8xxJ4#z!?dmXzS_d6bTyy$qt@uuTT#}AGl z9X~mKb?Q!!Gu~O>*}$3L?Cd zu5xa0-srs3dB5`k=Y!5iogX|jb!EHex_qv4U5j0nt}53Bt_xikxt6;wab4lM-gSd(z3V2|t*))EyIoJX z_PL&Sz2JJ+^`7ff*JrL1u3y~Dt+=^cb$i_P-7Vc+-QC>1-F@66+?nq2?g{R>Zl62g zUf`~DSGg~6U+BKdeYJbNdxQH9_YU_i_ipzy?)~lq?w8$1+#kA+y1#IL>Hf<7gZno< zR*%yg>W%acdPhB3Ptnu$!TLyjls;M?qi5+e^+LT!uh19jm*|)3YxFDiP5Ng24tNcN55CUPv52Q*6-IJ(D&*O=}+kU^k?kre#d4n6@$PVmim16_Xs364N`TPt3rWvttIw42c;LlNs|#%;zyjV}6bKE#~)_ zKVr4m*jO{RUTl19!`P;=39(&cyTx{oO^qEAn-M!SHZyio?Bv)Pv9n^cW9P>DV&}!? z#QqugAz0c0e#m%Az0p&lePldsJQH)$*l#>*Jg0qQJa4>UylA{+957xsUNH`8zZkC? zuNjAo!^Z2z8^)W)TgKbQJI1@ld&c|52gVWOL*pZ5gYmKPiSeoNnen-C)cC^q()h~w z+W5x!*7(jiW_)k_VEkzOWE?ksHclA77$=Qijo*yljX#V(jlaCit9ZG#z^i&Sufyx~ zy1Z_$?)7+Mys_Rmui^E2O>aGKytlr$fw!Tzk+-q8iMOdY!Q0H++}pz2(%Z_L=xyz7 z<4y9m^|tf2_jd4h^mg)g_MYYK;_d3~=I!oH_NI7Ky*<1=y}i7>y?wlWz5TrXy#u@h zy=QyR@ecB)dDFdvy+gbi-l5)M-r?R6-c0XE?O&x?*#8eZ+{a@=6G|xe(!v5o;Tkc@GkHccniHn-ePaiTjD*} zTk0+ImU}C_3%!fHi@lZJD(@2SdETYoW#03>mREQ$@LuS>$a}GOx%U$9rQQ|Z%e*VS ztGuhdmwT`9uJK;!y~=yF_ZsiD-nHKAyz9K{y*Ev6TU=3C_zv?jlhtGKtUhbN8nQ;L zF>At_vIN$QHD@hYOV)}d;;#)$Vr{34&6*etmd_rWH6&PE47mr1ST<{H*0?}!*%V)4 zg}+RSz;U)rwC?~o^c|8B&zp|TO3%shmz4$P1quV@mC^5-W3#3N@SxB?HBg)zTm{B&B7P^&3;VW zWe#Wk*#I_>oz2c+gIF3%XM@=gmcfRyVQe@X!7|xMHj0gAW7t?Wj*Vv%*hH4aCb7wE z3Y*HNvFU6Eo5^Oe*=!EWW^|9pL%2+w8 zU<=tIwwP72Dz=23$Ck2X?0jZfZY$0@%UWVBwVt*PTCZ70tuL*wt#7U4)^9>lgc2*1 z20}>?N^7BX5K32}^c2cNLU}|ej|t@op*$&+r-ia#D9;Jy1);nol$V8aP$-9l^14vo z6w2E|c~>a!3+0GVJ`&0&LitQ6M}_j8P>u`bgi!tv%3p#jf~$f%1ji8Tg2xCRC%9Me zdV<#%yrJNY1#c>NGr?O3-b(P+f+q>yPVf$bcd|Mj#?V~IE@Bt66EF&IFi&-sotG*SlTk%%H z_}AIP>=E`TdyGAfwm!l3v6bv8{5>-(b1+6QkXM`)sG^Qn&v2=e+mB??!07xyUIki( z$qpn>^p{Bzpn-&nPXEeEd^!Hi46BjVz+zTI{51ti<=c|;QJ070`*RA4e5D1ivFFi} z7ubvJC3b*jei<6D&{rrgOZ+(jU!m35YGU$fOHz7vNlfXn)Fyy~>{S#hx#uQ!kaf53 z9%6^HO)yBC%Y@sui5+6yYj*t&+4Z-n>sE8w&Sun3`7*Un;xelo^cHU52h>2Th1F!L zY)H>gJ3eNgpsDl<(a9$EG3)+LH8Bt=e8xTpF&vE|hu!RJ_6>f&W5?JY%%MrX(ma1T zhB&KYUJ(kyt#m0hK$|TwcCD=>{3cp$tb}RfOM`i(zM{(UbINRB8?t|xfWKoW*hav% zwK~~!`YX}tZ|rxgoz?#IboxzgIz@$1bn|A79@(UAzk;|ZpOWM)*S;WzuI68l!l>su}NtF`H&mTDIomTn!-wg z(kwKEyI55ghPVl)@CKzN+o&Wet(7(?L~@r-RyV7wRXJ^pFHlV7NW3WRn7CDGuXIp4 zDxH+hR(ET>HN~23m02B6JA6ul#1eHm1;0IL_^d9Wj;B~DRx%Ay7T8vFTly(IlmS*J zD;1B&*>#`I#17>gWss7lq$`7!AxefaR2ilWS4JqARu8L})z|804YJa#Ay$Sp+{&~@ zS);9vZ=i$QFc3skGz9l4Dc~^Fn(=5yOVm%K($h-Fg&a#^DT(b*F>H8;IMQxqsxl34 zrO4Lzv3gqxg^-4&QqKA1|6<6!1gC0;q^3bO)+K zC9eHYBua6=c!KXAw(PCwX{lUi%be;FUaxFWZe)9)B2Dt;g+_Xq+1VOuB}|`OP+GYl z5tKS1|4iLmuWYR*l3~^e>X{d#LhY^$^(TnF*|Xh;p83z%B#ie4<<9C7TU#UT633&2 z0_IcB16CG+XH=ndQmP7|Zu$QqZcf>)5bZyzJXYO^vDO$Xp#WN+57h;g3^`bd_6(YE z?ktcHDYt&2pVQNGgfTp)JZJOuYQ`|Znqc$pY8I`$B3bmr5Q|n`1B+G;DTl2rYtm_1 zG|H`|N}$}R$#$y#+OH6Y_!RvGxa1I%PsyVHlg@pke4|LARo%I1)--D>P1Y$xb1QQe z_(FYDzEh5)k5jGb;XeMt#4XB6YlhYFR1FQu66G(>(9mhJp|h-+D0Wn^Bv7$nLe78C zJg(z6rUp~awz91`)VxXK3W|eKJcQTdF}yx_$Xq-xm287IWa4(-h&SdeuF5ek%c5$e2KJpvYGksH#|y7)0AA6rG_2_BHQaT|#RsAN`#X3>KYc=7j2vX4`0T zgl(UpB0h`{udb-jDxm4xTbcMLBpW@mS)oL8{`^761GA0OIFWM*n* z?hqb`(E$dGvZi0e*{W(0hedVU-iTPaYpE3g(1nBQN4*n2qJu z!q9Bw3o#q{B5Tp9$+^HLXLN2EI#&^58;c<}WT_-JW}>xWeQHus9p!9=a)@6dl`|bo z?L3Rk@s*U6WtWA`nVPEH3ci|O9)ezGJ!P>E%#Qp@eigr(U&F8EYx#A29lxI6z}NE) z{6>BgznO33x3DIB6W`3Y@LTy-ejC4?Z{yqf9efAh$?xQM@w@pw{9b+^-^F+H`}qU> zLB5CYWh?o^Y!`nNe-HA#{0Y8~KZ$!!;Ce5AhCj)lrMt|7J1^k#MLaveU*@mygZx#z zLs0a4i0y*8m4PsXZT>=GUpTDLmj_QwBiJ6cu{%0Y>>mtkw*Uqm8OX3kCj~2V@(24$ zp#@JOqismAu%f6KZ?z|vj(^cqUvYWaU>MS5xD-~9g*C3kUp#ztRz>N2*i@)=NU*fn zUrNB)W;|q5VIdqqlPXK#6Cr~drbtG}PL@ujP+O*!24I}$WdurXcT~1nzq*|S5-6?+ zR-heCV5Sw9`(e=+7G}YU!#gAVfxP^3ScF*>C8SGH#f@O+!Nji&R+Nu{?Gh+18(tB} z^=F$c!z~&e%!5Cu(1wYswiVh}>dV6`c{b|E)Ex#lK(H9*u&)q!3N@MRP-!iW^)DuT zlmv@&{iSHfFql7n`)LH(lK_-n2=f)RST5TUDrTa8enpwTY*?UFV%081c2tf4A#!+W zu%cvQa8XuyWg)6;R^5cjcrgntE%eh^(lAOxeXuX5AP?^p!>v&mEDhnAMl!turaG+X zD(W7U2AghDm@*m@(z1N>{plbI8!;iQH9rkfBu1ojulAr!4dj;R0~fWx!u;o@e|Vk#p=VkA%Bw6+#$HfERmF!Vt>(1P5;2Ghk5@7e-qr} zE&euthrbJcaU*!jCh(8<`1{}#*I*{Uz>i>Fug32u{8RoJ|C}G?pTjAzi+_#JmB8NM z;c}EQ#qB=QOa`&R2SaECKnC16xPlEUDHC^c!b1*(6G;@oR|48DtW3{c0PklR;S*$< zSzP8XC;uzV{)H%^%z9Yx-nzBSS|)feQxm+8wY;9ftmPJi$F3)Jea4a=$tm!H^zFU$ zU373Q|6X?M2XyNyFvFYdZpkhk=Rf2B&*;!e>Iz#4vZx-LY_p-wax%+6iip#e`u!t< zW#v@+Mb-tnb%Avu)n~EyWi@XDi|?EYgQ(&lKd36vxKmwJoo)$B2;NV2Bh-h!RO0kd zANtrH6g5_jlk-Y8E<(jyR73TuChLBxhp_Dl=|t&a*6=p^{tjP@M(zeSXsEB@H?fs! zeYQ(&h@t+R2A3L!He8}xm!e5PED4*&YBPS7+8o&1#P3jBuqJ9twUwI4*Q%}6HYoEt zlysw-#CNN0frj@XCibZ9QF2H8bym+(yYQdYZm1<$O;J-JT<}Eg&G)K(_>*eC5J$s! zhZ;O0E5~+)f~3kqQUjcPjBoK6UtV!we#nn5=aP*Lnq%~`QbwSdg zSL{pB;5mY)3!Y|OEWyW_W_luH@^2mf<1cB@F&mf)?Sb|z!C11{BZbr2Jq)igC-9c*1@?X>QLV@4gS4pWD#Bh*Zc(MWZa zI$9lr8L&$or;b-AAiSN0>&faAbt+$tPG^=4%?*?j^CPhcX*~pDt(sHP7xLWs7E5jl z#s^Z8tee;yzGjxm8-6N4V$B|n5Zl6hm+w&#fns^7TU)G^NoiN4Nfel>wL`aVOG=w_ z=d+LFPEy*q*;mfRg|+NWbp|>x6FSR%>MV7(I!Db`=c+z+9*8DK%~hoX7R{5?0fqw6 zTM{fK;T~cgWi*$;g(Pc2kEkyaI5l3gSemujT5a86t+F=MbF;}~eN~Hmht+&Fpe|4g zP;sGJq!z0|wFI+>1Stq{euxmk6{uXvx*-~JN&_VjX@Db7T2fkjG#@{vX?W<_ESa(~Ig^q$UPTRMYPkxpb^>@J?nDYoFE1|*%&RE(ms#tqHLt0QDCDCqR?kx{ z;Imr+f>4{)O0`N|VqIxnWnH~lU8*iq&$q6zuC>-$*GaX7N~Bg-mnEh7kV!IOBy(~Z zeB@D&S^zon5xp`5?%cd!X=T*&CX+Mm=hfW?H_nGBmA*)Ixq1oEn-P%iSYK)7CUtqp z)vT^iFOze$W)C;1D~V%44%WPH7q?oy9Jr(>o7B~;`)leN^-3V%Dv<8gL{RyGa$CuR zUP1boe@t?>9`uviuWzs3%vx_3bFI1-&~orMsn@dZP^Z;(>XqvC>J94E>IU^j^(OUZ zkcfnkj(J>z{tJV7^ez0ZwcfhPbXqrBH&3w#5L8ZGhd2n+)?u`8GfLiq8g5m$qMf&? zR};Yni=aw@sezw>dD-rES)FY5;AA!=IWfiBXsth_ZddP6ci{b<>YeIc>fMttvohe6 z${aET4I!C>jqNOZl6ETP7T!**j{ zUrt#``uOpqi582|4EkU5=jYdvoP?j(x>8v+pZ%ZT9J!!;Ks}DX%G|P?BF2<~jJXqX zN=nNa)2HEn(xUPbx;_ur4GJbr9D?gLfQb#gi`%T#a6feQKu+RtxVjUE`-+NuiK*RE z6XC<3A1FLUtLdfx=BKEzg4#_#t?(CHR**Fc|GT067v=gg=(<0y@6GWI&BAqGTz|bV zFl8*R(-`AzOUegN#PvvA=T;O9rs6sQ z*P{!9qv+i>xSn4;Z|pc+qb~K*oU$P^aNQBt`||ynG-hpa{bgxzBEfWKOfz!*8AEZ6 zc4&PA<(ZR0*UQTmX3>4LQ#(|ZKZM$ex*V|!d?Ux>8r;ay-d{MJ>P0z@(Iw^MsZ4x# zEG#Y@OLe8;`dNRO>@U7M-R1d{M&N!bt|yh3PNH|w9_RA;fnk}r9)|1f`K2T1KKkoC zR#GVG3^;Lh^OX)Aj{CrgYjJ7CM8X65=-T2ho=o@zjkw-tQxqTU`XJ)Q2`U5owxc-dOJ4fLF9`65&cc{g%pUG{sCwhcj>i{b0=$+pS9YmK#Jtq1-FXrr~W zwPaZvIm9bjS9yP+yce!D(sSzD7uB_%i?&AhJ{n_TEIt8zm80ZB^pN8AgdcJ<|BiMS zgx)6Kl#NYUh?s&AWx1@m?ms$%TZJbNo`06W(p<66agDFQhte};dsvn{Ms1~^KrKr z?WH(TmB#m zJw7yc{!7OGJeFP1CHd~;uambV?@0bJ`F)86ni+}7ZzO+{d^q_QJoyTObhrA5x<}os zzQ_{sZLj)-x<_8^K(ge+>OIx()tnLbysJ4Qh(2>dGk|bd9-_hMxe`qiG#*qAjRwJo zakxN^N?ja9(-7hEKWkBRIW;+mJ^FH%8c9Zq;W9cKy^M52Fnxs72$i+(aJETQUCJstW-iEAcpVJZL>LLVvU(X954_) z&y+aKWV8tuOJ&=-#3wHg1Vqp1P;evk_5*byK zkU=#Et;@$)mIAluF@cPsl}O0Gmfe8lnk@)n-wFTn14u-9f<1%8k5|}X_6{V_r|c{E zvVUg3DGCy?7Z346LSSIJX~k$!!iOufEJxdBPn+mLX* z2MO2DDF>Celn<3JkZAoYQmkW8?{nk?kEma(CpD*5AF0q? zF*YN#$y$zfuC@%R&NpbcYxg6``8DlB?U?qbBhJy>ah9XMOkU1&EOIP&taWTfg7VYg z+Mhapb~>GnKo@;LFVme1kbJxfDaUs?A9o%^vhi^w88>yEs6!*|Kg5uw{oYthq-6Ci;)Pt*1g^RsQXp-=ScN6^>%uHeVm@FSL#>jTad8(GE#GY z^VIWn@SN?L9g;8evFBUX%o{gWy7)7#QH7L zO4}jTa}JU(*Lv^szU=+l)Xnzh5YuNaGuNAY%s0&A_3GD4sW+}(QN305w%2>E-qCnh zeEayJ@wxFA#cz&(GXCTGYW<}8L+a<$zp(z6`cK#Yw1KlhhX$Dq7BpDdU}u8^4URR8 zZ`iZpl!l8Nu5b8A!y}Eq*;@+ zCjKUuHMy(F;U>Q}O>8=}X+hH~n?BI=y#y_xbHap#MF}@0Je}}$vj)uuG|OprS+jea zz1^HQ@7#Q1^CitUH-EAD@fIyx3~y1=;`$a(w)nbbqn2qc7qq;l<)baXXjQ+}IjsV% zu4(mHt1lB9CZ;DACaz0-D)CtB=B-Dxu4sKr>jSNSYty04N%NDg zN!pimtZl2dW7?kA_Kvo1x6|A8ZI|Efx_0~9ooL^o{nYlCw11%e(GE>IWOk_Pa7TxC zJH~Y!)bZSon>rrqU~z=tQ*fd*u~MMUzg%8 zo4UNwHMVPd*M(j0==x!|M%_ktyP(?x-M;PKw)>3kS9agu{mJistSda62JlNy=o@e#+_q?g+o4xAy8q@2NUi*6e(YsIY(%yIW z{-RIYK6CqQ=<`P327Sl(UDfy5evW>F`<>tK;eIFk_wHZb|K9%J4d^jOGob=!^eyqbM=^a$F>_=JobTc zY+UBJtH-@JzQg!)$3HZ|Ibr;S^%Fjum@@IaiTktaXJuz?&-!`N;7M0ZdS`OS$rY3L zP4P~dHD%kB6H_y$UN!Z|wC>ZEPJ3Z`!t}uO2WPluOqsED#_^d$XI?w=(^<+UR&wg%B!kof6k7RqZecAWTbvF!zP0PI| z_Y42o{;T|-&p&(qRr8PLot<}e-WU0U^4I2n9T*b0A@Kcz5esf!aH3#b!EFV96;3U@ ztH@n6w`fmsd~reXQ^A(O#leFmXO%23IdX3QbFV%3Sm~(Jtz}Bt?6L>T8^9=iv7%$e z#T6eeJZIthg}*GCvgp3W^%fT|ezCH1<%-JBtA!Ob@9)9s1%Z=rw%ip+U zz$G_ds$Ckm^uUT9E3RMh=ViHsJ4D`TWZdT+#cAo7Onj z6t8*x%0XA&epS7zs;>I@>M>W}e@)^wmtFJIwb|D`x3=fno3Ha+S8?5ub)(lkczxUJ z*IfVm4f!`5UO#yKT^pKjSh3;6jk!0zdQ;j>ci!CM=9M@9x-qcv&0B`wa{s3Go7Qf2 zZeFz&9`512fw4@jxTo1+VRTH zjGYhO+4as_?rL<`%DdU!6?cDm&)j=nzjxHV`|j&|-<`YK?b@)r{_e}}SMIO8|JVch z4;*=L`hy4ejNG$t?|{9#AL{ndZ4bA8c>N;{AGzXD&!ZPT`qyJsj~#!!yASj}aR1AFUViYEey{93IPl=3uMT?kiPth-d*)E)p%)I1J$&%>$*;fp#;iAv zyqWvv(YFfU`u^>OZ~yj=1;zfd_ssX!zTf=)O&@gn;I1RRk38~W#)mI{l=aa&ALo4h z)hA`2{Ql`hpT&K)_VZSsZ#$ZL^x-dteeuedGr#=wtCFvN`+E5|^}gBgZO3nSeV6v# zi^rxN`}F(L@BjK?)sIboyzQr+KkYj{{`mVp7ybO(iOYUz`pfMn`<~qY>(pOA|83Fl zuHV=F(dm!9e~$X|-M@g$hJVY^eh>5#;a5zCkieN08$VYpZpeb*pu|wXL4Uf~JYA za7rEc5n2mUk)TsiQbB>Ve1gzpe21h1mE5P#t1poAG${=}2l}a}H6Ul`_^>zc74qf{ zPJy?sreE%m?U#esZ9Dng;3Uj}BM`BGYHyp3w>|1xTf!K!@4TbFi@wSD2+)o|<0kbT zq?w-99sU6nl!!b06ZKQRTDR`8?hHAkr`zpLO3Sb>PVbQZ63G3E9MaOGe7AL%wE;N* z2sHbP1O9M-zoY)vc2xe~gZ8sMXw_qJFO9{2Fc7Ej_V4N+k#1{>#;MzTtX-jQPnava zo0JBB5B;3B+nS5-)!fzHzTetyZSZ520HwYC$jWPssuoA1s(CT04`5UuoM}5yB>pUM_Yi^%)?Vx3 z{|I^2RIIhpl58r5XO4dA)vr%fT(ff>W#>AhbB~~Nk0SCPBH2hA>h!d$*3Ite=;Us_ zlT-Vo^y<;42OEno;h#Qs_iI+wLsr!bRXvWXo|v8&4sAzcv9H$8E*s?5Gqq>$KB+x= z_ey0$le_h@%arp4&ZKiFKth2V;sm$i#vnVigkTDVP%!Ccz%g8wEu%wdNYvVf6|lF4 zhO$wfv0kA7VIu?+Z$kFT%@iO+9?C8R8E--Gbqg|7-r@IYBM>0G2O-DZ$VIu0f{ZXJ zo`Atd*&~OvvB*1-xg*+m4Ce$GL%X!m2uK1Z#NiO+c3b-`X1%Oi&sxtR+-vQ3yCVV3 z_fhXnGN8Get<f%8+D;f7RuEq1iu)lB}-Cz!LIAsiz075Weg6X zw+~FOHcy=aVLbKcwLEpEmd~1K0d0X+pcTS3c)xm=7SuA(;&XxWeOj4T zt|6oYXa9Kkw1c^U9GR4WOntDX!4>7@!QxO132ZmL5J@Ch41x?78S1v9j^T9+zCxL# zffz|OTx4-Tdc|V9G)iib0wP==5?g$gh|5J)mTHcQ*Fe1SBl=EAMDlaI^@8<`^}MyU zp0dU|VDg~Z1s+{WE+rop_!-X?i=KwA$2+8{~( zI-BGrtse%Fex_TmTW=7pA3i;;Z;`ZqTTNOouxWix6s`Bc(vZ|1lGamF`{KGc(Ru^* z5p5^irsZonDk84hJnc^HF70m6J*Xe^HUO&6)9%sk)z+vJwOyd`-7wuB&=z2=4t~}B zG!M{$N3=)r`55!q^jPYj?=LO&=MK%yqr@&r#AR}=h@2mkHbiSdhLr}3#t_0O4oVkv zlhPHCgH@fYMB(GmBUw1sK?E0#50)WcD_CqDvfhq&T4{+gM0P*bb)5(u>)+qB z-l}Hj>hszY#LnwE8WIZk+S6Dhu#N4&3X~>TGH|9&qg8w=oe!jeEaIfIy=*noV|!5u1yEb6tb4jy3wlXLwg<+Ue2`^KS%rgM_@1tvc&p~;p4uL#6eYx1*o z4l@L8SYIJOM?#+paEqgH2(X^@4M~}X5_FMVhI-oUPDcwz%g}4zSwH<_=Hh5uTb?>P z^1Y5u#9SP0qnOJv@C69c@2ww*xg0w!b8(~)b8+;n$z1NXnak!V=8{4TrDu=-MvyvM zpsD9X1ZhZCeP{g$JLEvnY>K4eNJ4O>G(N~39e|*+*Np_LSCUXb0QYD5WnN#lucFTQ zJBB%ihcN!L_3J;zxE5yT)f$Xr0=hBrl zP~V(7X#3eZX``(^CM+#QnFmG?URvWv?117-)yr!bIB>lXvgTtkH?ms%{^DAbz%k#E z7ed+ZLV*hPPqn_fI6D`8C_Np{{;>Xx##xU(z*$Of!dZ`g$^Q&z^HJZjIyn2?`pd>y z3Y%I@N))Y?i+7;clmKUT3O&VWZ5x>4PsPxkY|W`Wglp1&BKQtQVVW#u=u8;?I{22l zM{T4pcU)p4T_{{AF@*J|j>{Y?|Bk-xSmjuaeHOx6cL@KEtHWBi<67WjZ8ZKJ8|(%4 z$a|(dmQq?~A1odZtrlt0m2%Z`wNs*6P$Qo%l(8Awk4Ba;KCBBMjm*yJm6>2d(ZYI; zP(0u$s!$xEaZXBG3XK&%V4q8t^n&8jr=Of7y)j>Uq%2)JV@YZ+41J$o$xGh~TZoZV zF|EL{Tz$f^$*~#T+M+(=*b3ZPcL>EL6t_^E*0y*`dI*|R5e1}?qB+f$s(N*SQ%LPb*7D}8@>Jx1?{yTJuRM8Mk zIv%ehxt_w{Jxw&}c-)p;ju(hvgknhHB^0kv>VaTzgYKGkvTw~C+)xfP$~fS78G`H} zKk7KhRyq!$+?9B529k|<4#~6#YwnR;OQI$G{i(;_ik^Jojz&$s57E(& zYIO9d-3y>9_&X%fhqfe_$CQ#;*`W6<%(Ol^g;xNOh!K~ z<}a&FRVN(3gsG~bP@4W@Ia5~~a&o@csY+DW)rN%9NGOeo13@2(kU(!KY5u8qz;OaK zdh22v9cyA^n{q{Hfhhc^5}%~X*sGtgP^(%Bg%lb*BfN&~ZMs`7$47D%;GZmSTf!i| zJR^kZ@|=>|I6mNP62>v+K;pkTbDeF_=cH(Yc6O>cbDImLWtfzO(xMvKbv4NU!F+S} zMDuz@H_vg@IiT)*8zPjUkw#|x-D!3JwWQY_cwoB~4ScqlIJBsu5K9+}D$A-8s}jpg ztNca2#FEmg%A7!1fv+eqYre0*pFL0dG-^*0XQp#xcmUf7rTssiBz0YI&PizbWWrC_ z1t;aS?RyhSl2F>xB!TzM9yhqqQu_9+#V7xk3(c8{8hv$fg^sneCrLvV?V_R;jJb*f z%!q;zlzLJvauo+WN%Mm_SgAE1o2k&wKSfx!<*!Bm&VX}47=0au(&gVoUpYEcaa#0s z64*(hHu`$j7BhbjeF4-c>Y@)FJIf}uhQopd6=jKw5{rY2Ds%E_wX82EzZz4);_PB9 zov>}x+L&753^~b!(oHBm{#{OS4O)I}^i*`NugNL83ne8o36rHhNVaBgTOW-0Z2uRG zVk=rlezk}Oa@4uAE~6MDlyQ+Zj{TdA!np#q+*fz>fb3M8_%8r9ALVHgT z>D!tmX{OLK;g%uaEctHjEG?4Iq+e3r7v+=L-)hS4M48=)MS*6pgq&*dQ_xa1Utw*H z&-sw^;qbiaB^0>TKQQY%A44k66V83kC!J3@pLRau-0ytW`5bHFeBSwj^F`-N&I8Vu zov%2dcR62k9&#RbzV3X3?Q*{5d>eo7I^SalobNk70G_{AC&I^Tuka;XBHL^+HVdx8 zQt3vg)t%%-%glvq9BY95rSSRKz>{bzBE&6VVbB_e>Ov^8LAL{P%O2@tmJ85m#aWqe zp`ZNGazT(?j9kq^PCL1pg*=jh;$g6cu`&qOaL7*|s=&Tyw~`=zi%$s&78!12=>6)( zAg*gyOMxPUUD42~lVp6Lx?ggKA!zE<4|y$DP1tW?4MsV2TYAhww`e^jt;`WhZ&GIa z2<3jE^cTu*p*#R>_d%iTlAn8o(l0)3F#}9rD7>w+%??YJr1mA_Dmk@VGR*4U$)O*) zDhc24s3#0BIACpi&R?9fz)#DZ;T9e5EA|&+*R)1iB^f@BE4Hb{2REndy}WyVx!lX?&Q)azUTH2H2mA$QNOi z2nsI6sBdMV)hBY~=OtD~E0>SsN;Pf$u5~6nayNO+h#d=z5^js#3wf! zupKyLpit7aopMW?5rhmB{72#>-X?{d*l7-~?dMc7nfsL3PtKpPVNS~f{P^Z$z!9Q~ zgrn5tC?xeHuin3A8M_7mr2}gW-=3OMbEHs4MFuYJGy~-9R6Rf=!UNQzdVq$7256p? zKDA?eVLuq{%|NbL`#)tbM@IxB)*F?>3L}Rn+Y9-)JqiwCEHL^YI9DN!o zvOnz&iD>-7BUQl)q*fBPSZ#Wsi9_BpxDnyqqsh|4_JD^6<=>nu(2ZSC^`ltb!J2br zf>0(#=E}fRx)Yu2!|p`aLYt8#OJb1j#PP(&^06|@N7RR*fQJO$K|2O+Tk4T{Km-!4 zyOn_e2wTKhLKH8loHq5MLAO1Sgxewzkj>0$ml;hiv?`(;yK;_3J;c(&-zVbQCMoh- zQY*q`kCAoz@lKf};c~P*pBNd|B@-d_m6n|(slT5b;oJ%IpI?`Z#tJ3NHce7yAYG@* zPj;_=QDA{@L1I;2Fc+y)Fo_GG<5d*nvna6?yMk0CmiP*D5K*PX4N^!XhwVk~;Z#t2 zXw9_Ob@Ar#qId%Afw>^ft6mfU?~&Sz0I{Ujbt!hYbN=GG%(c?B%C%Zb^;tqG63SIV z*<^KmUA+N7YuLrED_vJPHoLBIJnmZSIOtjj{UD@QhO`E#n-QH> zw#K#1wH+a?`L3OgZ3`zcy7q^8akibDD3p1U z6;B;SyNp!!|6la-5PAtkGOCyF)ahleQ2f=sT=+_;mtjpH6sziu_+AP$fzwE1*Y;|W z^HI2)In^R(zU*hvOs&B^YQ`y|^L1#36KAnMZSQSZG86Bukh5HF1Qild)gD^b?SFyB z?|{Z*HPHBT9W>?(B~XpVWr;P>m=a3U>PzzC^jfEDXEhrC2%|Bt8jTA=Xq+GA;wDtt ziA{3p9T;yo3=?LV-2g%Rbwc)5J7jIb$E;0>2^hUi%^P%a;42&PLo&Xj-_+}w-@6W zl~=b0w$Nmu1Z^WuawT^IY!v5i=x*e0>~7+2>P~PsbHnLdB9wBWEEdXnLa~H$kx(ub z$|~Yc|0sRX?W`R%a<}Ju-5rR`+|Ee41A2zGy^Lm_E0j_x?2E(ROGvoXUZDiQe-?mu zH$dH8Dw#-(Q8bnc>ttipPq4}7Gc7TsOm~iGOP5(Zk!;zl4z zvvnY##b(nLLRlEb3xco5B2%v?+4QN>3(&JKWGQVCnvWjKZ+46H#PIzbA#6w4s`ltAaGjT1qx)M75C^d6OnhS%||elBODIU0G}+bRgSu znFkIyA9dLVV6^eq5z}on%S2RWFy2Xrd76QD2x2_0Ghyn{z3Dhk1$^?~BHQU0q#4nJ zR6RbDY%7IQ6&@bjlpzg2HRJ>Rhh*Crbdw6Q|H@LI0L4hEnh3}KRWFwLP@nLB$0Il>$M}H5$p9#mTD(SowW_VtY}L9 z_wc+DeO`5XJPV;*5WzDUYM{B0QQ3pGEBXg$Zi*_`)g?KIf(vbu8yHP;lCt~-iAa)0 z&;s;UR-RZAOsw)%A$n1TbFomCM^Hm*9!3S;MR8K=WKYfu2`o9n*$nbSP7L67+j$NoNO5jJlER39_ zv_(LpeF9(_sYKdmTfRxL_iv_;9K5mB;|L`e>5Hq{ze#K%G+gu)`ku1Wok zgw;u}B6c6%H#y=9v_%k-*&$+RnLBBJb;U>6A46U~N`D~v9SO7)qc+kK7vnzpf=Z;Z zPD|p+^WM$N0o=renaRz=3>3L2xCYzBH9?cN|g+xEGV^MQ7w^(!P?i6sW5GYMk^ z{X1fcBtl5jHY){kR7u;mRRI$4_KxASDS_>s4LdZV!eOD!Wy8)6Qa)($8o3E+^z3>g zUf_`9<23GtsUdz;M~&7-yT6O5(bj&U++u6dwkrH16I-}X@3uz*HpRVz}x`XH-9L3jT!Uh*Y`L^13tx(p23@DbLlxDdjT3;$@ zddaqRo`Pw627}9eJZy03@nM7OnregVx{$%;JB=6F9<*r7HJtrsn`AWPHLctTK}mfN zSNOc*v(AQlj27_{e5_}b3%43mmo7HNp~x|oW8VX}r(Eusdg z6$UA>#vrw?Gf3A9<%a4(S{%hsX^>KS+p4+T@v_fpoeS<0)q~VEJV@)R2Wfq1kmvxQ zaEEQ1*hWv-4z_1=?aYhl)JNOR-w`vC29Dgr^bQ4`X}g>-a%*y8`-z<-X76V&RqOxO zUsZQT^arvB)IfIK8F8afZVDk=x~T}qwqWl?^Pp$y=}~;L8pXrIDBe(w;+sP#UJ9F{ zTv|A#U_!Qc*Y?hY={G|6VUhEn&_CHoR2pUCNyb|3->u2yBCNF=hKK|a4GIlbB(X)LVn*lGuP{D||}iV)=u zlF%h}q-KV@O(8x|Kso4u%Ahf%C|V+RufdM(p?7>3S2_!Y)(n!hY&$lHPV5L?ICN$6 zS9(fOk+2dJX$`^CQ)&;~APA2UEz&_3m=|(?czP#CvXY4KC#8Vsy@qE%iu;InGfcZ- z{$Fz@*lM1QvHxBXI|bRC53;dpkj?TsWV1~u+pEdu{IptR0}~629C{@qZgB?2qfe_Q zo7G{mxxJcf?g)|1{n#4GPE{uXN{K+W(6lEuO>{d^orr|IQhqs9xqy@+7~iYFEC}V2 zjFb#HWaO%e_KMP*bcaH?BwQ)#St*A_>djKaCdm>>Ui#Z>dL$v%?Mrx&Nf9`6pV0qW zmIJleo*Grak!{|eT1T{rCR|sUBvwjuCOd<$YGdwyLQXe;oYvPMCuo_PjJ8yBA>@+W zSxrurlA0pXmK0m7Cu%xF7($<3O-;9lscANJxwU$v_fOf3>=?VRTA(^Pk>Lx)bzXbyOBi|im7eU@3P~7GnQ26 zFUjKI(Ubwfl-_-DnUYK)!Ep9c@4iTJ!Zys|^e6eBfTDkvPG6jol8r?%^UJ0zk)_$y zKdA4CO3<3*FDfZS+R!HbLDqeygwDpc?*78s8J0VB7}fSF3dBVpru7F2Sb&A})$BlV zcCMceXUfhEpG#2dZFhqHO!#g13Ld4mo0nA<=VW8)bIH7*uQWHiJcx>MV6^;J>wV_{ z{iX2x8A5s7Vl(C2$j&eF)lM6CH`K9m!fqO0JK_CsNqasZOOeiF4VG@k!+Lejh>XQgl-Wm#g;Qz0gk<@%YDVU zpwx8gi_9jBdUX&gYK>QWQAKaz)zDljgWov{Y$$5z0I&?I0U_GgCgeKQq?F>nyo_rJ^ z3OITSN##b;C{MNHje-x)HXFkSOOdLSe)cZ^iC*05?*p)o8UN0B?Fs0L}LcW?bMiLhk=$2AlylW732Y6l9^HPHD|VG zBcL}C5`Q7^-~VMK?f?>Zo(YL3h4Skuk(i3r+H_>Ye~3iS{ZYiW(X%&#M0@KB(3p+Q zUxe}-VRL3iFc*_fq_RM2&*+B{K9bn_}NGJX-4?@6Zn~9Ya2QFzT!N8ZWQPq zfIds0aRB9@>C=Kb2LSW{fo2dW7~5$<9VBiJVK~1dNbO9JCjj|2721$Moo4{m)&TSf z3Oz)SU=XLRo-YFAXMkKpkRCuv^(^0CSQ67Mpo{3)JtuT9?gCh{HIBx`VZG1MIhi=J_Z#J;(h0{s);g|H>5L=sFlDfm z=dk0T^B2eCjswml#}}^F&Q8u=SeWp%;|0e@&H=80Se|ej7ARcn-0522x=gzcJ0NYq z4nU!OYLIcb*R|bs7+HrCu`@)eYp3fNZQScxiL|1I?heTPNk{h24CMcmAp>X?a)53{ z7SLnv=I*y#tFWDYhBm={Tz6n4<7D>aa0j|}Kw(#$Da-49g@bUTK<+JqZ z`udpX)Q*tRvpq{Zm*SYBC$YC-8a5wJS3gh(tG}!5)ntCqvk|O(9oxcgW#7<&&VqNr zF`V746zHAyiNOQvoEbdcnqbkPqEoDC*am7gj;5@Ao@E)%_aok-^pa~m2Fg@XFokAV z#VS{Bq|3z{L*@F7dRU2$h1zlz$0)gwW1L*ek%AFMrm;|FS%<;X-oSo6p^biIvZfFD znv_KNGxi7h-2xBKLoS@$@xdW;Qj2BsRH@9LS}0Sfs$>?`G7v5T^)i*G;Le$H2IMkZ#n*(v!MXI#aj9p9*(^ z;N74;Nag2iDd>N|kx=Jb%W&Y(7HcPVOuWz9gR_xv?h#J1QXsm1wG4UQdy<9Iv;`k3 z&#RC5lywxmD-Nv3UQiJw`afPg76U6T<}2qRwPVb;G2hYRv6vrd@mS39$l|e>lY)1L za>$eAvZpTv&lG$lhV4PYF&+;J1r5b8$Q4g!3=BaijXmJs@6p#@erYEXBegJS#v{## z9GBz_J+0d?>@&cMCwr3qiEW%fqD%Pao{bV?$1IG=FQMf>u?~2yLAO7v?fIi>GLU!y z9V&G(q0U|)6dOlpPOb)WaWXTdUqhiK4MU!1mP$^Wu>Ybf;<7a!NOLZ>eryA5mK8n= zYfEhXsKcUS8&Tm0apD*XuV1@xnat6YeHPxmA+{M-Slxh~{C3e{U(q}H(LrDAsJ)M0 zY;*g-Fw*+v;bBMz#%_L(#A0>5y`Nt!67q2G^Vm+dZ4lcDnoRWugZ8QJ(Rb_}vgp(? zZ1*Qm9~1m+Fh*J-wp{RmFctVfJAoJx$`t8Ww~u>+6K7U-ZV>D8;5hM@+6HcHa%>7P z625tBY;t&`iw|%p>nVEscl#RE(}A^nTDKR2YW9LMM`(S9oybLd5z?V`_8`l(bdoN6 zQ0{#yMPMbB#SV-4_?Fn=f)B>z!g=ShBV$L!j*cA@J2rM)?0B-s@P~ukVzaW%ZgOp2 zozu>`6;~9^^OugBFAv-F;|wqC!+_1&vdz|~dBI+UZl7t`4reOXK0mD+j_yM$POdDF zb|oy6JG#|{E5})wek|;4eyT!n%#lA2=J;ve^~n>a1kWJC5PS&0$e}hhP@Z3>qR{Y9 ziJgimbLviQj-3`eoi^A#&2zb2v`)ctqABsQGdC&mq0I+lXUERL8UUNfXlcNf*x6yv zW6v;C3D4X!c^;=pe-8HCv zT>XoCkor_owA6>>{{rhJJK_Hx{Jntd0r*>wzZLk~iJXRr)ZYckk3@ghHvDbZu5%2- z-+Wx}#Q)`hw57fiQr`)w?}XHMLh3sq^_`IVPIq&_*iwJA`?xmRnTf246Zjv%|C4xT zOZ~Qv6Nvpy#osjiO=k(V)Q99>0`Edd>O=CU<8QF!IG^L$M)YhQeo5+oV{!c2LO%t9 zKgH@NKkaM#vx`MSe*&OL=y#DqpN_$f{C2TO=%b`l34KEfeSBiYCO+fjCxkw(;X%bG z1Q0&E$8Q z0FK5w8^>u4VrfV)9*iX93>+6S3{krg2(OMr`pjtPBx8|2FrH070&*52Fq7F7YEua16;(wv3(6EFy*fr#JuqsyAD1E6zI0T4F7=p0*BJuUSW}FRibwZ>{6jZ$eRo z5-Suq0$_!=7D@-9bQMZZp*$p%M}+d2P@WLVlR|k~D46#!0A3KvOG0^BC!Q%w? z3SLj}`hqtUys_X-1#c#J3&C3n-db?*gLZ;<5WG{EF~of&8AII1ai6H?$9)#}dEC*s zFXFz8`zr41xNqXVjr%U{SlstQxS!)r#QhR?GVa&7-{O9c`y=kpxW5dB z)0DWO8k*rSoH%RAZRm!_h%sV~IKwc!hH2C@;&IMO1EZnQ2q!KzF`60)Ml++i(ZXnH zv@#NLCQ}Sw(a16;8Iz4E z##CdPG2NJ9%rs^hvyC}MwlUZ68S{)BoB`uE<{NoNz7a4M7zIY5QDhVwL8HVt*C;j0 zjB=yGSZFLV78{jDm9fM)&sb_K!?`h*A&d)*3yq76i;d;RCB~)33ga?krLoFbZCq|# zVXQH(G_EqPHm)(QHP#x}8S9MejT>;<%m(8|<0j)~W2144vB}tMY%y*%wi>q?w;S7x z?ZzF(4r8Zrr*W5Yw{eeguW_HT%h-(*Y925iH1-&KjfaefjYo_}jmM0~jVFwKf{zt^ zoV8Z)@q$kfe4^l4f=?2Bvfxt$pDOq?!KVv8L-3h`&k}sL;By4e7JRPYKEdY+o+Eg! z;C{j93!W!jmE+_>F?!B>2sOZxs9%!8ZxMS@11_-zxZ4 z!EY1%cEPs^zFqJ;1m7X}PQhU?-zE6ng5M+fy@KB-_%6YB3x2=g4+suZbdTVB1%F8J zhXsE`@J9uIOz_7Ae?o8|_({Q^68vewpAme&;Li&FoZ!z3{(|5y3jUJd2Lyjv@K*#s zDEO;_zb5!0!4C`my5MgJ{-)q>3I4X=?+E^`;O`0kzTh7SenjvO1^-C!j|Klk@J|K* zOz_VIKPvbaf`2LaSAu^n_&0)oEBJSU9~1n0!G93^N5Ov*{J7vh3w}cIUj#oX_^*Qh zCiw4y{~`FFg8wB{CR9bJT&Sv0HK96$iVcZeLUjvO7ph07F+ztbd=2>PJv#Z(7>~1ETDQ2qK!|ZAHGJBhS%)Vwnv%fjO z9B7_xo?{L&)68^pFwSerFo&AM%;Dw;Gt(StjyA`bW6g2qcyod|(abU@nUl>a=2UZ< zIo+IL&NOG4v&}h(xX#5nPxH(iGuQN+^UXXn-wc=w%mTB}EHaDDpjl#`YnGa2X1Q5m zE;JXJi_J>2%3NZeXD-G0Q0JSLDa;GZ3(bqni_PWcCFZ5(3iC2^rMb#nZC-9(VXiT+ zG_NwRHm@CxG=5yxr<_qSF=1b-Q^JViD^Pu^v`I>piJZ!#>v#j1U-!k7e-!b1c-!tDgKQNC- z1IK$k6B|RW5ATMUk1@&MEjo*J@!ss+NQX-g9yf0RV$pOg^(ODltUGh#Otm&hOiF>m zGzekij`*8$gCu6JDTxsJF#c75jh z!u6HwTi5rlpIj&0IEU74xJ`FUxGGcK1KcCs-7!#&H5(&R{eJU4*gF39(|Yo0L~wKM1Nd=Qh!E& zPJa<+k-e%P*5B0M(cjlU)IZTb*T2-i(U0jr>c>4EPkjW$J9+-Un(q6piL{Luxa+QE zffzy(LP-JyY*^P-I%$L!NJt{CEKOQrP!s^rOw6Z0=TSjS?{vP z<*dtjVt#YkZnNE@ zh)suVw_>+yw;IAgTjbX4W^-HY*6p^!t=Fy3?Xufdx9e^<+-|w`yA8O#a{J=;l{A7h zmP8>jNdY7&DV>y0DkoKvw4^H10>VqHBh{01Bt6MOY9lQnttPD{ttV|H?Ii6b?IRr^ z9U?s;)(!u6)iC_O6~o`8e~7gAB$D2TNO?Aq@IMo2okXN?7Ll{%M5fjg+2|m05h5}X zArfypk#W0-eCs39?9909<8F+*HLic$z_@$k9*{|7GMPfAlIdgy*_-T3W|95Kf#lib z5ONqff*eJTC9JkQasj!BTud${my;{WT5=V60lAi3N3JI?AtPjr+(TYQyt%8$o5<(L z7YNhs3i%rO5Asd&Yw{bS@38*Yb2$I&Hxr3oqawOO7SR#ZL^miPIzchf1r`$33=oyv zK~!7Iii?gc?STrN&besYz4?HItf6&82Fn0M$6Y=2dRgtN2$lDC#g4R-_u6X#?XGGxzb29GL1r`(&#iMZ8B{NZ5nL`EsPdPi>C2t zd9(sr5v`b3O6Yc#v>Mt%+G^Tb+IreX+9ui-+BVt_S}$!kZ9nZS?K~mhU8Y^7-JuQB zUeaFE-q7CC-qSwNKGD9=zS8~Z0rWunc=|;8Wcn2P&-6KjkC#EuqUX@n^gMb2eIb1j z9i`*+rS#?WmGss0we(-;SLxU3H|RI%x9NB21N3`@r1u?R>5cLnw z^qlKiPS|={&nnLap0%F)Js)`vdJcL1>G{m_h3By6OV8H~3WLg^GZ+kShA(07sR(<| z$$%N%43vR0mNJ$zRx(yI)-pCR`WX8e2N{PMzcJ1*&M_`9UNT-Y-Z0)W-ZMThK6(A% z=1J`p}SKIJ}oAHZjo&k3KqKA(NbzEgbX_@?-3eF0zCca`r}-#*{FzQfGX zOdsYnri}3Yl+1KyCNrCv!&Eah%zS16vw}H~IiFd@T)?bl)-e|`>zO*Hk=equGa=>@ zCc<3FTt%3GYnd;Y@0ed%ZY)p22Asr_vNBoOEHz8R%4Zd_idm(s3f4SA3|zpfWi4dY zvve#y%gWlvI>j1b-DTZpJ!Cy*4YGzpI=iR?-2VD?n@4E8McY<37cj2+I7 zVsi;;P|Qwam$0kYt?YI-!al}6!9K>-QV*d+0al_m|%*zYl&N{l55p^B?K|ga2s%AN`sB)jPn4Fb&xO69Xm(ObM78 zFg+kNfFB?XC=8e%&=AlX00t}zSRJr7V12;GfK35g0=5V22{;>YC7?gxO~6OaNX`$O z(VVdy7mgoi5+{}u&q?H{IBL#ZP6?-sQ^8rlspZsh>Nz?N$l1&}#~I?h;(Q7Gj_?v$ zft~P#35Vv;=krIs-QZ?g~5}cqZ^%;Dx|TfmZ^r1@;FH2YnYb zE+{Z)LQrtf)S&4>ydY7KI4Ctp5u^&r2+ErCDdhVQ_YisrCuB+pFGL)Y6H*pZ6@rCq z2ss>bBIH!aZy~2c&W4;1xfpUebbRQf(BM#Bs30^ZG&VFo zG%K_)v@&#Is5uk}-4nVubYJL!&_khzLyv}@4!sh3E%a^Z`_K=epF+QcehnKNMh^=N z8y_Ym)Wp;lMofyB6CsL-i%5vbjnG8oM-)cPjhG+N8sUsUBk+i&5$hs$ zMjVRxE#gYVP{h-S=MlpZFC$(@CPk)3Dk7DUs>qDUtjL_m+(=Dieq>=}QDkvsNn~l{ z;z%g6I}(Y+BbP<4h+Gx9Ch}0^=P36mcGT>sxTwsiiYP-=M^sl76op3NQA?wiN3D!n zO^A>iqJD|m96dUk9PJy;iuQ}16#Y|ld~|ZOGP)qTBDyx(5Di3kM{kba8ofPwXY{V< zJ<+G4Z%5yWz8if%`eF2AE|<&a3b;b9h#SXE;3jgDxDsv(SH?}{rg0Tq1J}qkan0N| zu8rHy?c_SR8@Zo(B%UvCCQri4;Fa?#d0Ji#PtR-O8F|gT7M_`B;aPb$UOR6oZv}4^ zZw>D{Z-94?_kj0^H^>{}J>@;;4f8(oKJ)(LedD|E+5E};S^P+TG@r*8@MHL~{0014 zejUG_ujA|aP5frQiQmfa;h*N8<)7zYtm75yf+rN?E(<;0zgyB|L$J}`bl{G|BF@xk#^MF z{)C$e!wD}FUMKvM@IK)~VtQg`Vpd{yqB=1zv49XoixbNdD-tUc=O^pC=#lK zCZS8bBt89-Va3O_}dB1(x*5vL@lNK+b97N@LF*_g5^WoycglwKK0 zMwYqDC^D*yE@Q~NWWF-C%wHBD3zP-P#>==egUl#vk(p&}GMlVj)+t*jJ1Dy>yDGab zyD96J4ag(q(Q>YwCl|^^@;G_CTr8K!QwYH|O|FnDq5>SJgO`yUJTNRW(C3 zOEpIorixT?RRWbr6|YKE?N;@v_Nxx44yul*j;T(nPN{xZomHJzT~J+CT~S?C{h|6R z-80=g-8Y?`?w=l*J|TTl`o|29jOvVu3_ao6HfNYKEE#PXwhVhldq!7A zU&euqLm5Xij%S?8_&wuHCYbq4=GDwUGH+(~XAWfE&wP|QnAMQw%({|wE$ff0n_2x? zceCziJCmFtts%w^{WQuE-ouSTB=c@D6h3dI#t=gbA zs!eK(+N!pxJJb&KV)Y00XZ3&Tuj+4_?=;_QMr+1sTr?!Y>vh+7Xs8;RhNYRKQ4@M^ zp=Pe8L{qMrrA1srl3MXXgK$KRZ7(KO#RWKRTb6&(9a+i}MTf zJMta*i}T_9?tCnNY5wwpc?E3+OA59X>@3(_&{uGv;BdjQf@cLU3SJhxDtJ@yuHfH- zj|HC#e<-9EdKLN>vI_$Wg9;}W1{Y2%oKa{m>?rIk>?&Mb2o)|V>@LI#mliHBTv52X za82Rb!o!7M3cnVOC>mKbs%UJHOOabqXwmYbRYhxx))uWR+E}!yXlv27qMb#%i}n`v z6&)x#Sahi9*P?rKzn?pL?%27mbH~l4%%#p9Di##S6pM;uixY~)#mU8zVp(xov9efI zoLQVzoLyX7ysLOmabNNN;zPwpi;owdEPhiWDM=}jmB>pJC90B)lFX8v5=}{dNkPfn zlH!t*lID`5CC5unmi$_By5wBRg_299S*3eQ`%3qf?k_!5dZhGN>G9H2rN5V+DLq?y zq4Z+urP4pkCX`Jo3oe^lHlu7-+3d2AvV~=r%dVDPE4yBHv+Q=+ow9+l`(=;H2Fsq5 zJuQ1y_PqT2a$&isJdQAxlgg##vhvh&Q~9&<;qsT|ugYJS|5N_1{6qQ2@-OAzD!!{2 zSuv_&bj6qo_ln6C(h7M+T7{}2vm&QLT{*F`t8#HAR0&rusYEOB%4Lk8@=E^OVdnzwfzNvgy`ETW?%KwN%KS$0xIPdzrfqC!deVF%o-hbK=+V8cawPY<* z%hm>HgR~R1!P;rs8QN|wrtQ%#)h^Sn(5}+1)vnWS)Na;p)o#=7(C*asY7c6!YyX=+ zV*beaqvns9?=qh>pFID1Rb&;nieDwD5>|<-;;Is>#8r|iSygIP8lj7+s?w|Ssv4?R zSFNksP_?OQOV#$O-m2Zzg6fUco2$20Z>!#3y|a2(_1@~f>I2n>tB+P6t3FYEviel@ zz=BZ=#x8JKKw3av;IV+dfKfxMnN~BaCcZ{olU$QhlUk#!QP&VB_}6G_s%vU%7S%M= zJg9kG^Q2~|=FggEH7{yj*1W2DQ}eFo-aW+| zsJ~r5P=Bu>v7w-$x2!Ksk8X#qSGQZ&r#qlKq&uy495pBd9_cWeuJl}Y+@k-OuW#{bv11{aO8O z{d4`W{-yqJ{aeErgO|a_z%=+7I0m61&7d@-8?p?!hBAZBpf@xbS`4iQyP?Oh%&@|+ z+OW>B!*JYi((tR{wBej#(D2Uiui>NNi{V?7SJU{WiA}*x)0%#65;es&B{U^9Nt<$- z<~7Z4s&1-nTGZ6qw4@1b!kd;gt!(;cq#8YqUPf=DkCA2cGX@wr#_`5U#$e+V<8QHvU@?WbFT?A?OpS~EhAd! zEfZQMwFI|JYnj;+)1qieZ^>-QY033Qe`9MWzOm-efd&nO2xqo7S2(m^PXAo6edp zm@b*Fn*J~in%brDnNVVJlld*)Z>zs>)c-t5?V>jCQ_>k;cQ>j~>A>u=W6*0a|0 z){EB5)~nX*)|=LT>s{*u>tpMX^_g|p`pWvo`p){n`q}yw_>M5;#{ez>32+CffG6M$ zFab8;4{(4WU;;1+2nMDCGk{sZ93Tvc0HOdczz1T0I3N*722y}jKnY|3*?=0z2a13a zpd6S7Q~@=1i*o1z)D~ZupamY*aB<=b^yJ=9$+7E z5I6!H2TlRM180E?z-8bXa09pv3;_3l2f!m>5EufU0?&bA;3e=k@D_Lvd<4D#Ux|;R zN7{a{jkb-ox!PzphRxeH(N zeRapEjxilScDQu7c91&A9h44Q2ff3q!>5DU;n(5c5zrCT5#6Ec&~y}Z%DS5a%GJ5B(iPIh>q>Am zIt&h@qs3u%SR7V|&C%}YbT}M~9gt&*194!E9>+4r3dbtP8pk@v2FEXs&5o^(?T(#} zU5-7DKF5B?LC0aoQO9w|Nyo2_-yLTh=N*?ER~>&iZaMBa?l~Sh1|5Goo;&_>ymtKK zc<=b=_~Q5mjs!=6V?kGN97qAFART0Y-k>kY0{y@MFbJFgP6nrd)4&k*a14g z#UKnKAPz1CmxC+8HQ+jMBe)6N3T_8`!QEgVcmO;M9s^H;zk#R0v*3B~B6u0R3SI|q zfVaSYZ~(jyJ^}~9A@C{q92^E;f`5aboQIu9ohO{9oWD6wJI^}LJ1;sfJFhygJ8w8| zIs2Uh&U?-W&PUEc=aBQM^SN`_`O^8?`NsLy`QG`#`N{dk`4t)gjf8%HMnhvE7sw4F zLmm(v@`8LJHWUB_K@*{1Xc{yV`WXs=!l5XL2MM8AC;>`>q>vm^Kq@E$%7StrHIxSx zKt)gqR1VF9s-Oi>EmQ~9Lyb@q)B?3aR>%%@LLdY|-4F&Xg;qeTp>@zkXfw18+6nE3 z`k({QVdyAy96Aa82AzSzq(=nixbdI$|dL(o&`IrJCw8u|x%4}FBbK;Phz z@F;jJ>TFnUxcr~*WsIRKYSN{06&I@;AikK z{0e>pzk@%(pW&}dzFYFck}*qMmQcHIbl>hC=)TweuzRrk&+g~le|5j^{-^tW_s8xp z-QSRr$S7ni;);wzCCz&4?LkLu^O~;y|3p5(GthkmblKWG%7**@SFG zb|AZuy~uv#5ONebf&7Y`M$RD@kt@h`(PijLbPc*5{RQ2EZby63 zJ?K94AbJEnj-En)N6(@c(97sG^agqx9YF7+kI*ORQ}hM;68#%}i~fs#LjS`?VBce- zu^%xvjEs3;bj%C$#n@N?7KBa2g0X4XOzdYY1PjNaFdinvVzC4)36o-SOo63iSy(QX zhZSPQSQ%D{&BqpC3$c1khv~5%u_HiNRPmhGICj6kCq1#8zW# zvGv$SY!kKx+lKAHda>QuUThzB06T;o!H!`kuv6G?*lFx6b{@NkUB<3r*RdPeEvz3K z!0urWut(S+HiSLJo@2w)9)wT8C*i^PRD3!<6Q708#zXKhJOYoxxi}ve;vzf_Pr$`^GA_ks zcq*>IRd@!Th3DXEJP$9xi|}H+6fegsaV=hjFTiW@I=mj&;d;CYZ^lh{E8d0!xE=4n zyKoS9;xOKgqd1N)#h2qN@zwZRd_BGq--K_$x8XbRUVJyc7vF~;zz^X^@MHK1{1pBh zei}cEpT{ram+`Ckb^Hc?3-8AV@O$_J{1HBg58+So=lC%G5`T@q!QbNV@elYX{0siI zXGG7)o*#Nf_l)gv>2d2B*W=#f(L?L;?D6XH>0$P;d;EJQ_XPJ$?U~aP(i7ez?2!}y V7!udWk^k>WUiJT;|Nq{j`ai)j#Vh~- diff --git a/hw/xquartz/bundle/Resources/pt.lproj/Localizable.strings b/hw/xquartz/bundle/Resources/pt.lproj/Localizable.strings deleted file mode 100644 index a2725149911fd76a2fc46a79ec7c2fbf8c7b3f26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4554 zcmcJSOK+P+6ozNrU%>Jc6)Y+g#2O)FS|m0UXj-5W8^>`{gKyYQ(ssdbEn*Q-i4|fC zyw7=kGGoU{N=0PZ{=S(xxA$DmnM!lzbzr zKo~2DFK0yNTpKy8k+BQ7 z@a`Jn%*Ja}a%GN8vIG6P)8Pf@^Gw`9&UNS@qMRyvtktPjsluR$dc|FP&Tu#tka%Dlu|f(!Z4Sf$;c3mX2j< zts6Z}W+(D3G2~OXrNcLpL$+1f^ze4_+a)<;is-DA52Ge+o_{La@Oe`Bz0&MU`eX~? z#}`pag}D%=kiWFCG4+j2;GRe@p z9W*=RFPen+E^$55KC}H^`9YZS{Vph|c4vXgX4h^rxmJ;@=HZF7qO&n8Q4^|`b&@;K znS~_LFqs>?n|wCyE0Z_NbZF?TFbX{R^rrkXA!bE^m(8Rw(M8EJxMKM z*IsLHT5Ttyo}razf<<&trW(4&?g*+@TBA0WdJ#d~;Lwh)PoA0LAn@`EJ=S*~d*TSg iWqXJJOrBZ_5Bskt3Cyu%#Y_Fy8? - - - - LprojCompatibleVersion - 106.3 - LprojLocale - pt - LprojRevisionLevel - 1 - LprojVersion - 106.3 - - diff --git a/hw/xquartz/bundle/Resources/pt.lproj/main.nib/designable.nib b/hw/xquartz/bundle/Resources/pt.lproj/main.nib/designable.nib deleted file mode 100644 index 3952fc1ce..000000000 --- a/hw/xquartz/bundle/Resources/pt.lproj/main.nib/designable.nib +++ /dev/null @@ -1,757 +0,0 @@ - - - - - - - - - - - - - - - - - -