<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>161</bug_id>
          
          <creation_ts>2005-05-18 12:35:29 +0200</creation_ts>
          <short_desc>NVidia stereo driver support</short_desc>
          <delta_ts>2010-03-24 07:47:49 +0100</delta_ts>
          <reporter_accessible>0</reporter_accessible>
          <cclist_accessible>0</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>core</component>
          <version>1</version>
          <rep_platform>All</rep_platform>
          <op_sys>windows</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sven Gothel">sgothel</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          
          
          <cf_type>DEFECT</cf_type>
          <cf_scm_refs></cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>177</commentid>
    <comment_count>0</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2010-03-24 07:47:49 +0100</bug_when>
    <thetext>


---- Reported by amusi 2005-05-18 00:35:29 ----

NVidia stereo driver support

The NVidia stereo driver supports various stereo display devices and is
installed as an add-on-driver to the standard NVidia graphics driver. It can be
found here: 

  http://www.nvidia.com/object/3dstereo_71.89

When activating the stereo support in the additionally installed settings tab in
the control panel of the NVidia driver the JVM crashes with a
EXCEPTION_ACCESS_VIOLATION
(
   #
   # An unexpected error has been detected by HotSpot Virtual Machine:
   #
   #  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x65422030, pid=2916, tid=2336
   #
   # Java VM: Java HotSpot(TM) Client VM (1.5.0_03-b07 mixed mode, sharing)
   # Problematic frame:
   # C  0x65422030
   #

[..]
)

as soon as the Canvas gets drawn. This problem occurs also on older JVMs like
the Java 1.4.2 and older betas of the Java 5 JVM. It also crashes on Windows
2000. It crashes in both windowed and fullscreen mode. And it also crashes if
the stereo driver is only made available to be turned on via hotkey after the
application has started( &quot;Enabled by Hot Key&quot;-setting).
The testcase is as simple as this: If you have an NVidia card in your system,
download this driver, it has also anaglyph support(color filter glasses) and
does not need additional hardware to activate the stereo mode. It needs the
corresponding graphics driver version in order to work, i.e. the NVidia graphics
driver version 71.89 when downloading the stereo driver mentioned in the url
above. No change of the application is neccessary for the testcase, no stereo
GLCapabilities or whatsoever. But in order to be able to have full stereo mode
on the display, fullscreen exclusive mode is vital.



---- Additional Comments From kbr 2005-05-25 12:02:52 ----

I just upgraded to the 71.89 drivers and installed the stereo package. There
were some bugs during the installation including the screen going blank when
stereo mode was enabled. Once I got past that I tried running the JOGL gears
demo from the command line which promptly crashed the machine. After it rebooted
everything is miraculously working on a GeForce FX 5800 Ultra. I enabled
anaglyph stereo (because I don&apos;t have a pair of stereo glasses) and found that
windowed JOGL demos don&apos;t appear in stereo mode, but full-screen ones do; the
Grand Canyon demo ran successfully in full-screen mode with anaglyph stereo with
1.4.2_06.

Could you please attach the full hs_err log from the process when it crashes?
Also, do you have a small C program which works properly and the Java analog
which doesn&apos;t? For example, the GLUT version of the Gears demo in comparison to
the JOGL demos.gears.Gears. Could you please attach a test case? Are you running
with stereo glasses or in anaglyph mode? Are you running with the command line
option -Dsun.java2d.noddraw=true ? This is required for correct operation of
JOGL programs.




---- Additional Comments From amusi 2005-05-26 01:48:07 ----

Created an attachment
first hs_err.log, without noddraw=true option




---- Additional Comments From amusi 2005-05-26 01:48:59 ----

Created an attachment
second one, noddraw=true option give




---- Additional Comments From amusi 2005-05-26 01:52:16 ----

The option -Dsun.java2d.noddraw=true didn&apos;t solve the problem, the crash still
occurs. I am using shutter glasses, but changing the nvidia stereo settings to
anaglyph mode also leads to a crash. Unfortunately I don&apos;t write C programs so I
cannot provide you with one. The only thing I could provide you is the working
and not crashing Java3d Gears demo, which I modified to run in fullscreenmode. I
am using a GeForce 4200Ti with 128 MB and it appears that some applications seem
to crash more often on my system than on others, especially firefox though I
know that in this particular case on other machine firefox does not crash that
often or at all. 
I attached two different hs_err.logS below: the first is without the noddraw
option, the second is with noddraw option. The second one shows that a nvidia
dll seems to contain the problematic code. My conclusion so far is, that the
developers of Java3d seem to have found a workaround for a bug in the nvidia
driver. But there could also be a problem on my particular system. And yes,
stereo mode only works in fullscreen. 
I also tried to turn off the stereo driver and starting the java app afterwards,
then there is no crash until I switch from windowed to fullscreen mode or vice
versa. As you can see this is the HWShadowmapsSimple demo from JOGL examples,
one of the view examples that my gfx card can still run. I also tried the Gears
example, but unfortunately the JVM simply terminates without any error. As soon
as I turn off stereo, the Gears demo works fine. 

So this would propably be the testcase then. The JOGL Gears demo compared to the
Java3D Gears demo which runs fine in stereo. It also might be sufficient to
leave those two demos as they are without modifying them to run in fullscreen
mode, as the crash occurs also in windowed mode. I assume that as soon as the
crash problem is fixed JOGL applications will run with stereo mode enabled on my
system.





---- Additional Comments From kbr 2005-05-26 02:18:32 ----

It&apos;s surprising that the crash is occurring on the main thread in the NVidia
drivers because JOGL is supposed to do most or all of its work on the AWT event
queue thread. It&apos;s possible that the creation of the so-called &quot;dummy GL&quot; used
for pixel format selection is occurring on the main thread. I wish the stack
traces weren&apos;t truncated. What JOGL version are you running? What is the output
of jogl -Djogl.verbose demos.gears.Gears? If you aren&apos;t running the latest
version (reported probably as 1.1 b11 or incorrectly as 1.1 b12) could you
please upgrade? Is it possible for you to modify the Gears demo and insert
Thread.dumpStack() calls to narrow down where the crash is occurring?




---- Additional Comments From amusi 2005-05-26 03:00:13 ----

Well, I am sooo sorry. I just realized that in Eclipse, I mistakenly had still
some old jogl library bound to the JOGL application though I thought the new one
was already set. With the b11 jogl library, everything runs fine without crash
and stereo enabled. But still I couldn&apos;t enable the stereo mode with just the
-Dsun.java2d.noddraw=true option set. It had to be -Dsun.java2d.opengl=True
instead which seems to force opengl rendering wherever possible. Then I get
stereo enable in fullscreen. Ken, did it work for you with the noddraw option alone?



---- Additional Comments From kbr 2005-05-26 15:06:34 ----

Yes, it works for me with just the sun.java2d.noddraw=true option. I&apos;m attaching
a modified version of the Gears demo plus a utility class which works for me in
stereo.




---- Additional Comments From kbr 2005-05-26 15:07:57 ----

Created an attachment
Fullscreen version of Gears demo




---- Additional Comments From kbr 2005-05-26 15:08:23 ----

Created an attachment
Helper class for fullscreen Gears demo




---- Additional Comments From kbr 2005-05-26 15:08:41 ----

Closing bug as &quot;works for me&quot;.




--- Bug imported by sgothel@jausoft.com 2010-03-24 07:47 EDT  ---

This bug was previously known as _bug_ 161 at https://jogl.dev.java.net/bugs/show_bug.cgi?id=161
Imported an attachment (id=52)
Imported an attachment (id=53)
Imported an attachment (id=54)
Imported an attachment (id=55)

The original submitter of attachment 52 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.
The original submitter of attachment 53 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.
The original submitter of attachment 54 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.
The original submitter of attachment 55 is unknown.
   Reassigning to the person who moved it here: sgothel@jausoft.com.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>52</attachid>
            <date>2005-05-26 01:48:00 +0200</date>
            <delta_ts>2005-05-26 01:48:00 +0200</delta_ts>
            <desc>first hs_err.log, without noddraw=true option</desc>
            <filename>hs_err_pid4032.log</filename>
            <type>text/plain</type>
            <size>6958</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">Iw0KIyBBbiB1bmV4cGVjdGVkIGVycm9yIGhhcyBiZWVuIGRldGVjdGVkIGJ5IEhvdFNwb3QgVmly
dHVhbCBNYWNoaW5lOg0KIw0KIyAgRVhDRVBUSU9OX0FDQ0VTU19WSU9MQVRJT04gKDB4YzAwMDAw
MDUpIGF0IHBjPTB4NjU2YzY5NjYsIHBpZD00MDMyLCB0aWQ9NDAwOA0KIw0KIyBKYXZhIFZNOiBK
YXZhIEhvdFNwb3QoVE0pIENsaWVudCBWTSAoMS41LjBfMDMtYjA3IG1peGVkIG1vZGUsIHNoYXJp
bmcpDQojIFByb2JsZW1hdGljIGZyYW1lOg0KIyBDICAweDY1NmM2OTY2DQojDQoNCi0tLS0tLS0t
LS0tLS0tLSAgVCBIIFIgRSBBIEQgIC0tLS0tLS0tLS0tLS0tLQ0KDQpDdXJyZW50IHRocmVhZCAo
MHgwMDM4ODk0OCk6ICBKYXZhVGhyZWFkICJtYWluIiBbX3RocmVhZF9pbl9uYXRpdmUsIGlkPTQw
MDhdDQoNCnNpZ2luZm86IEV4Y2VwdGlvbkNvZGU9MHhjMDAwMDAwNSwgcmVhZGluZyBhZGRyZXNz
IDB4NjU2YzY5NjYNCg0KUmVnaXN0ZXJzOg0KRUFYPTB4MDAwNmVlMDEsIEVCWD0weDAwMDAwMDA0
LCBFQ1g9MHgwMDA2ZWQwMCwgRURYPTB4MDAwMDA2MTgNCkVTUD0weDAwMDZmM2NjLCBFQlA9MHgw
MzIyNzU4MCwgRVNJPTB4MDAwNmY1MGMsIEVEST0weDAwMDAwMDA0DQpFSVA9MHg2NTZjNjk2Niwg
RUZMQUdTPTB4MDAwMTAyMDINCg0KVG9wIG9mIFN0YWNrOiAoc3A9MHgwMDA2ZjNjYykNCjB4MDAw
NmYzY2M6ICAgNmQ2NDQxNWMgNzM2OTZlNjkgNzQ2MTcyNzQgNDU1YzcyNmYNCjB4MDAwNmYzZGM6
ICAgNmU2NTY3NjkgNTQ0NjRmNTMgNDU1MjQxNTcgNDk1NjRlNWMNCjB4MDAwNmYzZWM6ICAgMjA0
MTQ5NDQgNzA3MjZmNDMgNzQ2MTcyNmYgNWM2ZTZmNjkNCjB4MDAwNmYzZmM6ICAgNjI2ZjZjNDcg
NTM1YzZjNjEgNjU3MjY1NzQgNWM0NDMzNmYNCjB4MDAwNmY0MGM6ICAgNjU2ZDYxNDcgNjY2ZTZm
NDMgNWM3MzY3NjkgNjE3NjYxNmENCjB4MDAwNmY0MWM6ICAgNjc2ZjAwNzcgNmY2YTVjNmMgNzcy
ZDZjNjcgMzIzMzZlNjkNCjB4MDAwNmY0MmM6ICAgNjc2ZjZhNWMgNjE2YTJlNmMgM2E0NTNiNzIg
NzI2NTcwNWMNCjB4MDAwNmY0M2M6ICAgNjU2ZTYxNmQgNTc1Yzc0NmUgNmY2NDZlNjkgMzIyMDcz
NzcgDQoNCkluc3RydWN0aW9uczogKHBjPTB4NjU2YzY5NjYpDQoweDY1NmM2OTU2OiAgIA0KW2Vy
cm9yIG9jY3VycmVkIGR1cmluZyBlcnJvciByZXBvcnRpbmcsIHN0ZXAgMTAwLCBpZCAweGMwMDAw
MDA1XQ0KDQpTdGFjazogWzB4MDAwMzAwMDAsMHgwMDA3MDAwMCksICBzcD0weDAwMDZmM2NjLCAg
ZnJlZSBzcGFjZT0yNTJrDQpOYXRpdmUgZnJhbWVzOiAoSj1jb21waWxlZCBKYXZhIGNvZGUsIGo9
aW50ZXJwcmV0ZWQsIFZ2PVZNIGNvZGUsIEM9bmF0aXZlIGNvZGUpDQpDICAweDY1NmM2OTY2DQoN
CkphdmEgZnJhbWVzOiAoSj1jb21waWxlZCBKYXZhIGNvZGUsIGo9aW50ZXJwcmV0ZWQsIFZ2PVZN
IGNvZGUpDQoNCltlcnJvciBvY2N1cnJlZCBkdXJpbmcgZXJyb3IgcmVwb3J0aW5nLCBzdGVwIDEz
MCwgaWQgMHhjMDAwMDAwNV0NCg0KDQotLS0tLS0tLS0tLS0tLS0gIFAgUiBPIEMgRSBTIFMgIC0t
LS0tLS0tLS0tLS0tLQ0KDQpKYXZhIFRocmVhZHM6ICggPT4gY3VycmVudCB0aHJlYWQgKQ0KICAw
eDAyZmI4ZDMwIEphdmFUaHJlYWQgIkFXVC1FdmVudFF1ZXVlLTAiIFtfdGhyZWFkX2Jsb2NrZWQs
IGlkPTM1NDBdDQogIDB4MDJmYmZhNDggSmF2YVRocmVhZCAiQVdULVdpbmRvd3MiIGRhZW1vbiBb
X3RocmVhZF9pbl9uYXRpdmUsIGlkPTE5Nl0NCiAgMHgwMmZiOTAwOCBKYXZhVGhyZWFkICJBV1Qt
U2h1dGRvd24iIFtfdGhyZWFkX2Jsb2NrZWQsIGlkPTE1NjBdDQogIDB4MDJmYTAwZTggSmF2YVRo
cmVhZCAiSmF2YTJEIERpc3Bvc2VyIiBkYWVtb24gW190aHJlYWRfYmxvY2tlZCwgaWQ9MzI4OF0N
CiAgMHgwMGM2ZjkwOCBKYXZhVGhyZWFkICJMb3cgTWVtb3J5IERldGVjdG9yIiBkYWVtb24gW190
aHJlYWRfYmxvY2tlZCwgaWQ9MTE2MF0NCiAgMHgwMGM2ZTRlMCBKYXZhVGhyZWFkICJDb21waWxl
clRocmVhZDAiIGRhZW1vbiBbX3RocmVhZF9ibG9ja2VkLCBpZD0zOTEyXQ0KICAweDAwYzZkNzc4
IEphdmFUaHJlYWQgIlNpZ25hbCBEaXNwYXRjaGVyIiBkYWVtb24gW190aHJlYWRfYmxvY2tlZCwg
aWQ9MTI1Ml0NCiAgMHgwMGM2YTBlMCBKYXZhVGhyZWFkICJGaW5hbGl6ZXIiIGRhZW1vbiBbX3Ro
cmVhZF9ibG9ja2VkLCBpZD0zNjgwXQ0KICAweDAwYzY4YzAwIEphdmFUaHJlYWQgIlJlZmVyZW5j
ZSBIYW5kbGVyIiBkYWVtb24gW190aHJlYWRfYmxvY2tlZCwgaWQ9MTUwNF0NCj0+MHgwMDM4ODk0
OCBKYXZhVGhyZWFkICJtYWluIiBbX3RocmVhZF9pbl9uYXRpdmUsIGlkPTQwMDhdDQoNCk90aGVy
IFRocmVhZHM6DQogIDB4MDBjNjYzNjAgVk1UaHJlYWQgW2lkPTI1NTZdDQogIDB4MDBjNzBiMTgg
V2F0Y2hlclRocmVhZCBbaWQ9NDA2MF0NCg0KVk0gc3RhdGU6bm90IGF0IHNhZmVwb2ludCAobm9y
bWFsIGV4ZWN1dGlvbikNCg0KVk0gTXV0ZXgvTW9uaXRvciBjdXJyZW50bHkgb3duZWQgYnkgYSB0
aHJlYWQ6IE5vbmUNCg0KSGVhcA0KIGRlZiBuZXcgZ2VuZXJhdGlvbiAgIHRvdGFsIDU3NkssIHVz
ZWQgNDcwSyBbMHgyMmNkMDAwMCwgMHgyMmQ3MDAwMCwgMHgyMzFiMDAwMCkNCiAgZWRlbiBzcGFj
ZSA1MTJLLCAgODAlIHVzZWQgWzB4MjJjZDAwMDAsIDB4MjJkMzZlZTAsIDB4MjJkNTAwMDApDQog
IGZyb20gc3BhY2UgNjRLLCAgOTIlIHVzZWQgWzB4MjJkNjAwMDAsIDB4MjJkNmViZTgsIDB4MjJk
NzAwMDApDQogIHRvICAgc3BhY2UgNjRLLCAgIDAlIHVzZWQgWzB4MjJkNTAwMDAsIDB4MjJkNTAw
MDAsIDB4MjJkNjAwMDApDQogdGVudXJlZCBnZW5lcmF0aW9uICAgdG90YWwgMTQwOEssIHVzZWQg
NDMxSyBbMHgyMzFiMDAwMCwgMHgyMzMxMDAwMCwgMHgyNmNkMDAwMCkNCiAgIHRoZSBzcGFjZSAx
NDA4SywgIDMwJSB1c2VkIFsweDIzMWIwMDAwLCAweDIzMjFiZjM4LCAweDIzMjFjMDAwLCAweDIz
MzEwMDAwKQ0KIGNvbXBhY3RpbmcgcGVybSBnZW4gIHRvdGFsIDgxOTJLLCB1c2VkIDE1MjNLIFsw
eDI2Y2QwMDAwLCAweDI3NGQwMDAwLCAweDJhY2QwMDAwKQ0KICAgdGhlIHNwYWNlIDgxOTJLLCAg
MTglIHVzZWQgWzB4MjZjZDAwMDAsIDB4MjZlNGNmYjgsIDB4MjZlNGQwMDAsIDB4Mjc0ZDAwMDAp
DQogICAgcm8gc3BhY2UgODE5MkssICA2NiUgdXNlZCBbMHgyYWNkMDAwMCwgMHgyYjIyOTE3MCwg
MHgyYjIyOTIwMCwgMHgyYjRkMDAwMCkNCiAgICBydyBzcGFjZSAxMjI4OEssICA0NiUgdXNlZCBb
MHgyYjRkMDAwMCwgMHgyYmE2NTBmMCwgMHgyYmE2NTIwMCwgMHgyYzBkMDAwMCkNCg0KRHluYW1p
YyBsaWJyYXJpZXM6DQoweDAwNDAwMDAwIC0gMHgwMDQwYzAwMCAJRTpcYWFhXGRldmVsb3BtZW50
XEoyU0UgMS41LjBcYmluXGphdmF3LmV4ZQ0KMHg3N2Y0MDAwMCAtIDB4NzdmZWUwMDAgCUM6XFdJ
TkRPV1NcU3lzdGVtMzJcbnRkbGwuZGxsDQoweDc3ZTQwMDAwIC0gMHg3N2YzODAwMCAJQzpcV0lO
RE9XU1xzeXN0ZW0zMlxrZXJuZWwzMi5kbGwNCjB4NzdkYTAwMDAgLSAweDc3ZTNjMDAwIAlDOlxX
SU5ET1dTXHN5c3RlbTMyXEFEVkFQSTMyLmRsbA0KMHg3ODAwMDAwMCAtIDB4NzgwODYwMDAgCUM6
XFdJTkRPV1Ncc3lzdGVtMzJcUlBDUlQ0LmRsbA0KMHg3N2QxMDAwMCAtIDB4NzdkOWMwMDAgCUM6
XFdJTkRPV1Ncc3lzdGVtMzJcVVNFUjMyLmRsbA0KMHg3N2M0MDAwMCAtIDB4NzdjODAwMDAgCUM6
XFdJTkRPV1Ncc3lzdGVtMzJcR0RJMzIuZGxsDQoweDc3YmUwMDAwIC0gMHg3N2MzMzAwMCAJQzpc
V0lORE9XU1xzeXN0ZW0zMlxNU1ZDUlQuZGxsDQoweDY2NTAwMDAwIC0gMHg2NjUwYTAwMCAJQzpc
V0lORE9XU1xTeXN0ZW0zMlx3YnN5cy5kbGwNCjB4NjY2MDAwMDAgLSAweDY2NjE3MDAwIAlFOlxh
YWFcdG9vbHNcV2luZG93QmxpbmRzXHdiaGVscC5kbGwNCjB4NmQ2YjAwMDAgLSAweDZkODM2MDAw
IAlFOlxhYWFcZGV2ZWxvcG1lbnRcSjJTRSAxLjUuMFxqcmVcYmluXGNsaWVudFxqdm0uZGxsDQow
eDc2YWYwMDAwIC0gMHg3NmIxZDAwMCAJQzpcV0lORE9XU1xTeXN0ZW0zMlxXSU5NTS5kbGwNCjB4
NmQyZjAwMDAgLSAweDZkMmY4MDAwIAlFOlxhYWFcZGV2ZWxvcG1lbnRcSjJTRSAxLjUuMFxqcmVc
YmluXGhwaS5kbGwNCjB4NzZiYjAwMDAgLSAweDc2YmJiMDAwIAlDOlxXSU5ET1dTXFN5c3RlbTMy
XFBTQVBJLkRMTA0KMHg2ZDY4MDAwMCAtIDB4NmQ2OGMwMDAgCUU6XGFhYVxkZXZlbG9wbWVudFxK
MlNFIDEuNS4wXGpyZVxiaW5cdmVyaWZ5LmRsbA0KMHg2ZDM3MDAwMCAtIDB4NmQzOGQwMDAgCUU6
XGFhYVxkZXZlbG9wbWVudFxKMlNFIDEuNS4wXGpyZVxiaW5camF2YS5kbGwNCjB4NmQ2YTAwMDAg
LSAweDZkNmFmMDAwIAlFOlxhYWFcZGV2ZWxvcG1lbnRcSjJTRSAxLjUuMFxqcmVcYmluXHppcC5k
bGwNCjB4NmQwNzAwMDAgLSAweDZkMWQ3MDAwIAlFOlxhYWFcZGV2ZWxvcG1lbnRcSjJTRSAxLjUu
MFxqcmVcYmluXGF3dC5kbGwNCjB4NzJmNzAwMDAgLSAweDcyZjkzMDAwIAlDOlxXSU5ET1dTXFN5
c3RlbTMyXFdJTlNQT09MLkRSVg0KMHg3NjMzMDAwMCAtIDB4NzYzNGMwMDAgCUM6XFdJTkRPV1Nc
U3lzdGVtMzJcSU1NMzIuZGxsDQoweDc3MTgwMDAwIC0gMHg3NzJhMTAwMCAJQzpcV0lORE9XU1xz
eXN0ZW0zMlxvbGUzMi5kbGwNCjB4NmQzZDAwMDAgLSAweDZkM2Q2MDAwIAlFOlxhYWFcZGV2ZWxv
cG1lbnRcSjJTRSAxLjUuMFxqcmVcYmluXGphd3QuZGxsDQoweDEwMDAwMDAwIC0gMHgxMDA2MDAw
MCAJRTpccGVybWFuZW50XFdpbmRvd3MgMjAwMCBCZW51dHplcnByb2ZpbGVcQWRtaW5pc3RyYXRv
clxFaWdlbmUgRGF0ZWllblxEZXZlbG9wbWVudFxQcm9ncmFtbWllcnRlc1xKYXZhXEpPR0wgZXhw
ZXJpbWVudHNcbGlic1xqb2dsLmRsbA0KMHg1ZjBkMDAwMCAtIDB4NWYxOTYwMDAgCUM6XFdJTkRP
V1NcU3lzdGVtMzJcT1BFTkdMMzIuZGxsDQoweDY4ZmMwMDAwIC0gMHg2OGZkZTAwMCAJQzpcV0lO
RE9XU1xTeXN0ZW0zMlxHTFUzMi5kbGwNCjB4NTEwMDAwMDAgLSAweDUxMDRkMDAwIAlDOlxXSU5E
T1dTXFN5c3RlbTMyXEREUkFXLmRsbA0KMHg3M2IzMDAwMCAtIDB4NzNiMzYwMDAgCUM6XFdJTkRP
V1NcU3lzdGVtMzJcRENJTUFOMzIuZGxsDQoweDY2MDAwMDAwIC0gMHg2NjA4ZjAwMCAJRTpcYWFh
XHRvb2xzXFdpbmRvd0JsaW5kc1xXQmxpbmQuZGxsDQoweDc3M2EwMDAwIC0gMHg3N2JhMTAwMCAJ
QzpcV0lORE9XU1xzeXN0ZW0zMlxTSEVMTDMyLmRsbA0KMHgwMzk5MDAwMCAtIDB4MDM5ZjQwMDAg
CUM6XFdJTkRPV1Ncc3lzdGVtMzJcU0hMV0FQSS5kbGwNCjB4NzczMTAwMDAgLSAweDc3MzliMDAw
IAlDOlxXSU5ET1dTXHN5c3RlbTMyXENPTUNUTDMyLmRsbA0KMHg3ODA5MDAwMCAtIDB4NzgxNzQw
MDAgCUM6XFdJTkRPV1NcV2luU3hTXHg4Nl9NaWNyb3NvZnQuV2luZG93cy5Db21tb24tQ29udHJv
bHNfNjU5NWI2NDE0NGNjZjFkZl82LjAuMTAuMF94LXd3X2Y3ZmI1ODA1XGNvbWN0bDMyLmRsbA0K
MHg1YjBmMDAwMCAtIDB4NWIxMjQwMDAgCUM6XFdJTkRPV1NcU3lzdGVtMzJcVVhUSEVNRS5ETEwN
CjB4NzYzMjAwMDAgLSAweDc2MzI1MDAwIAlDOlxXSU5ET1dTXFN5c3RlbTMyXG1zaW1nMzIuZGxs
DQoweDVjMDAwMDAwIC0gMHg1YzBjODAwMCAJQzpcV0lORE9XU1xTeXN0ZW0zMlxEM0RJTTcwMC5E
TEwNCjB4NmQyYjAwMDAgLSAweDZkMmVkMDAwIAlFOlxhYWFcZGV2ZWxvcG1lbnRcSjJTRSAxLjUu
MFxqcmVcYmluXGZvbnRtYW5hZ2VyLmRsbA0KMHgxNjAwMDAwMCAtIDB4MTYwMjgwMDAgCUU6XGFh
YVxvbmxpbmVcVHJpbGxpYW5cZXZlbnRzLmRsbA0KMHg3NjM1MDAwMCAtIDB4NzYzOTYwMDAgCUM6
XFdJTkRPV1Ncc3lzdGVtMzJcY29tZGxnMzIuZGxsDQoweDdjMzQwMDAwIC0gMHg3YzM5NjAwMCAJ
RTpcYWFhXG9ubGluZVxUcmlsbGlhblxNU1ZDUjcxLmRsbA0KMHg2OTUwMDAwMCAtIDB4NjlhMzUw
MDAgCUM6XFdJTkRPV1NcU3lzdGVtMzJcbnZvZ2xudC5kbGwNCg0KVk0gQXJndW1lbnRzOg0KanZt
X2FyZ3M6IC1EamF2YS5saWJyYXJ5LnBhdGg9RTpccGVybWFuZW50XFdpbmRvd3MgMjAwMCBCZW51
dHplcnByb2ZpbGVcQWRtaW5pc3RyYXRvclxFaWdlbmUgRGF0ZWllblxEZXZlbG9wbWVudFxQcm9n
cmFtbWllcnRlc1xKYXZhXEpPR0wgZXhwZXJpbWVudHNcbGlicw0KamF2YV9jb21tYW5kOiBkZW1v
cy5od1NoYWRvd21hcHNTaW1wbGUuSFdTaGFkb3dtYXBzU2ltcGxlDQoNCkVudmlyb25tZW50IFZh
cmlhYmxlczoNClBBVEg9ZTpcYWFhXGRldmVsb3BtZW50XGoyc2UgMS41LjBcYmluO0U6XGFhYVxk
ZXZlbG9wbWVudFxBY3RpdmUgU3RhdGUgUGVybCA1LjhcYmluXDtDOlxXSU5ET1dTXHN5c3RlbTMy
O0M6XFdJTkRPV1M7QzpcV0lORE9XU1xTeXN0ZW0zMlxXYmVtO0U6XGFhYVxkZXZlbG9wbWVudFxj
dnNudDtDOlxQcm9ncmFtbWVcR2VtZWluc2FtZSBEYXRlaWVuXEdJU1xUb29scztFOlxhYWFcZGV2
ZWxvcG1lbnRcU2VjdXJlIFNoZWxsO0U6XGFhYVxkZXZlbG9wbWVudFxDZyBEZXZlbG9wZXJcYmlu
Ow0KVVNFUk5BTUU9YW11c2kNCk9TPVdpbmRvd3NfTlQNClBST0NFU1NPUl9JREVOVElGSUVSPXg4
NiBGYW1pbHkgNiBNb2RlbCA2IFN0ZXBwaW5nIDIsIEF1dGhlbnRpY0FNRA0KDQoNCi0tLS0tLS0t
LS0tLS0tLSAgUyBZIFMgVCBFIE0gIC0tLS0tLS0tLS0tLS0tLQ0KDQpPUzogV2luZG93cyBYUCBC
dWlsZCAyNjAwIFNlcnZpY2UgUGFjayAxDQoNCkNQVTp0b3RhbCAxIGZhbWlseSA2LCBjbW92LCBj
eDgsIGZ4c3IsIG1teCwgc3NlDQoNCk1lbW9yeTogNGsgcGFnZSwgcGh5c2ljYWwgNTIzNzYwayg4
NTcxMmsgZnJlZSksIHN3YXAgMTMxMzExNmsoNzkyNjQ4ayBmcmVlKQ0KDQp2bV9pbmZvOiBKYXZh
IEhvdFNwb3QoVE0pIENsaWVudCBWTSAoMS41LjBfMDMtYjA3KSBmb3Igd2luZG93cy14ODYsIGJ1
aWx0IG9uIEFwciAxMyAyMDA1IDAyOjA3OjAxIGJ5ICJqYXZhX3JlIiB3aXRoIE1TIFZDKysgNi4w
DQoNCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>53</attachid>
            <date>2005-05-26 01:48:00 +0200</date>
            <delta_ts>2005-05-26 01:48:00 +0200</delta_ts>
            <desc>second one, noddraw=true option give</desc>
            <filename>hs_err_pid1688.log</filename>
            <type>text/plain</type>
            <size>6994</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">Iw0KIyBBbiB1bmV4cGVjdGVkIGVycm9yIGhhcyBiZWVuIGRldGVjdGVkIGJ5IEhvdFNwb3QgVmly
dHVhbCBNYWNoaW5lOg0KIw0KIyAgRVhDRVBUSU9OX0FDQ0VTU19WSU9MQVRJT04gKDB4YzAwMDAw
MDUpIGF0IHBjPTB4Njk1NzYzNzUsIHBpZD0xNjg4LCB0aWQ9MTgzMg0KIw0KIyBKYXZhIFZNOiBK
YXZhIEhvdFNwb3QoVE0pIENsaWVudCBWTSAoMS41LjBfMDMtYjA3IG1peGVkIG1vZGUsIHNoYXJp
bmcpDQojIFByb2JsZW1hdGljIGZyYW1lOg0KIyBDICBbbnZvZ2xudC5kbGwrMHg3NjM3NV0NCiMN
Cg0KLS0tLS0tLS0tLS0tLS0tICBUIEggUiBFIEEgRCAgLS0tLS0tLS0tLS0tLS0tDQoNCkN1cnJl
bnQgdGhyZWFkICgweDAwMzg4YWQ4KTogIEphdmFUaHJlYWQgIm1haW4iIFtfdGhyZWFkX2luX25h
dGl2ZSwgaWQ9MTgzMl0NCg0Kc2lnaW5mbzogRXhjZXB0aW9uQ29kZT0weGMwMDAwMDA1LCByZWFk
aW5nIGFkZHJlc3MgMHg2NTcyNjU3OA0KDQpSZWdpc3RlcnM6DQpFQVg9MHg1NDQ2NGY1MywgRUJY
PTB4MDAwMDAwMDQsIEVDWD0weDAwMDZlZDAwLCBFRFg9MHg2NTcyNjU3NA0KRVNQPTB4MDAwNmYz
Y2MsIEVCUD0weDAzZDg3NTgwLCBFU0k9MHgwMDA2ZjUwYywgRURJPTB4NTQ0NjRmNjcNCkVJUD0w
eDY5NTc2Mzc1LCBFRkxBR1M9MHgwMDAxMDIwMg0KDQpUb3Agb2YgU3RhY2s6IChzcD0weDAwMDZm
M2NjKQ0KMHgwMDA2ZjNjYzogICA3NzZmNjQ2ZSAzMDMyMjA3MyA0MjIwMzAzMCA3NDc1NmU2NQ0K
MHgwMDA2ZjNkYzogICA3MDcyNjU3YSA1NDQ2NGY1MyA0NTUyNDE1NyA0OTU2NGU1Yw0KMHgwMDA2
ZjNlYzogICAyMDQxNDk0NCA3MDcyNmY0MyA3NDYxNzI2ZiA1YzZlNmY2OQ0KMHgwMDA2ZjNmYzog
ICA2MjZmNmM0NyA1MzVjNmM2MSA2NTcyNjU3NCA1YzQ0MzM2Zg0KMHgwMDA2ZjQwYzogICA2NTZk
NjE0NyA2NjZlNmY0MyA1YzczNjc2OSA2MTc2NjE2YQ0KMHgwMDA2ZjQxYzogICA0YTVjMDA3NyA1
YzYxNzY2MSA2ODc0Njk3OCA3NDVjNjQzMw0KMHgwMDA2ZjQyYzogICA2NDcyNjk2OCA3MjYxNzAy
ZCA2YTVjNzk3NCA1YzZjNjc2Zg0KMHgwMDA2ZjQzYzogICA2YzY3NmY2YSA2ZTY5NzcyZCA2YTVj
MzIzMyAyZTZjNjc2ZiANCg0KSW5zdHJ1Y3Rpb25zOiAocGM9MHg2OTU3NjM3NSkNCjB4Njk1NzYz
NjU6ICAgMDMgMDAgMDAgMDAgOGIgNDQgMjQgMTQgOGIgNTQgMjQgMzggOGQgN2MgYjggMDQNCjB4
Njk1NzYzNzU6ICAgM2IgN2EgMDQgODkgN2MgMjQgMTQgODkgN2MgMjQgMjAgMGYgODUgYWUgZjYg
ZmYgDQoNCg0KU3RhY2s6IFsweDAwMDMwMDAwLDB4MDAwNzAwMDApLCAgc3A9MHgwMDA2ZjNjYywg
IGZyZWUgc3BhY2U9MjUyaw0KTmF0aXZlIGZyYW1lczogKEo9Y29tcGlsZWQgSmF2YSBjb2RlLCBq
PWludGVycHJldGVkLCBWdj1WTSBjb2RlLCBDPW5hdGl2ZSBjb2RlKQ0KQyAgW252b2dsbnQuZGxs
KzB4NzYzNzVdDQoNCkphdmEgZnJhbWVzOiAoSj1jb21waWxlZCBKYXZhIGNvZGUsIGo9aW50ZXJw
cmV0ZWQsIFZ2PVZNIGNvZGUpDQoNCltlcnJvciBvY2N1cnJlZCBkdXJpbmcgZXJyb3IgcmVwb3J0
aW5nLCBzdGVwIDEzMCwgaWQgMHhjMDAwMDAwNV0NCg0KDQotLS0tLS0tLS0tLS0tLS0gIFAgUiBP
IEMgRSBTIFMgIC0tLS0tLS0tLS0tLS0tLQ0KDQpKYXZhIFRocmVhZHM6ICggPT4gY3VycmVudCB0
aHJlYWQgKQ0KICAweDAyZmY5MDA4IEphdmFUaHJlYWQgIkFXVC1FdmVudFF1ZXVlLTAiIFtfdGhy
ZWFkX2Jsb2NrZWQsIGlkPTM4MTJdDQogIDB4MDJmZmY1NzggSmF2YVRocmVhZCAiQVdULVdpbmRv
d3MiIGRhZW1vbiBbX3RocmVhZF9pbl9uYXRpdmUsIGlkPTQwNTZdDQogIDB4MDJmZjJkNjggSmF2
YVRocmVhZCAiQVdULVNodXRkb3duIiBbX3RocmVhZF9ibG9ja2VkLCBpZD0zNzk2XQ0KICAweDAy
ZmI0OTQwIEphdmFUaHJlYWQgIkphdmEyRCBEaXNwb3NlciIgZGFlbW9uIFtfdGhyZWFkX2Jsb2Nr
ZWQsIGlkPTk4NF0NCiAgMHgwMGM2ZmExMCBKYXZhVGhyZWFkICJMb3cgTWVtb3J5IERldGVjdG9y
IiBkYWVtb24gW190aHJlYWRfYmxvY2tlZCwgaWQ9MzcwNF0NCiAgMHgwMGM2ZTVlOCBKYXZhVGhy
ZWFkICJDb21waWxlclRocmVhZDAiIGRhZW1vbiBbX3RocmVhZF9ibG9ja2VkLCBpZD0yNjk2XQ0K
ICAweDAwYzZkODgwIEphdmFUaHJlYWQgIlNpZ25hbCBEaXNwYXRjaGVyIiBkYWVtb24gW190aHJl
YWRfYmxvY2tlZCwgaWQ9MzAzNl0NCiAgMHgwMGM2YTFlOCBKYXZhVGhyZWFkICJGaW5hbGl6ZXIi
IGRhZW1vbiBbX3RocmVhZF9ibG9ja2VkLCBpZD0zOTI4XQ0KICAweDAwYzY4ZDA4IEphdmFUaHJl
YWQgIlJlZmVyZW5jZSBIYW5kbGVyIiBkYWVtb24gW190aHJlYWRfYmxvY2tlZCwgaWQ9MjYwOF0N
Cj0+MHgwMDM4OGFkOCBKYXZhVGhyZWFkICJtYWluIiBbX3RocmVhZF9pbl9uYXRpdmUsIGlkPTE4
MzJdDQoNCk90aGVyIFRocmVhZHM6DQogIDB4MDBjNjY0NjggVk1UaHJlYWQgW2lkPTMyODBdDQog
IDB4MDBjNzBkYjggV2F0Y2hlclRocmVhZCBbaWQ9Mzk4MF0NCg0KVk0gc3RhdGU6bm90IGF0IHNh
ZmVwb2ludCAobm9ybWFsIGV4ZWN1dGlvbikNCg0KVk0gTXV0ZXgvTW9uaXRvciBjdXJyZW50bHkg
b3duZWQgYnkgYSB0aHJlYWQ6IE5vbmUNCg0KSGVhcA0KIGRlZiBuZXcgZ2VuZXJhdGlvbiAgIHRv
dGFsIDU3NkssIHVzZWQgNDk0SyBbMHgyMmNkMDAwMCwgMHgyMmQ3MDAwMCwgMHgyMzFiMDAwMCkN
CiAgZWRlbiBzcGFjZSA1MTJLLCAgODQlIHVzZWQgWzB4MjJjZDAwMDAsIDB4MjJkM2JiMDgsIDB4
MjJkNTAwMDApDQogIGZyb20gc3BhY2UgNjRLLCAxMDAlIHVzZWQgWzB4MjJkNjAwMDAsIDB4MjJk
NzAwMDAsIDB4MjJkNzAwMDApDQogIHRvICAgc3BhY2UgNjRLLCAgIDAlIHVzZWQgWzB4MjJkNTAw
MDAsIDB4MjJkNTAwMDAsIDB4MjJkNjAwMDApDQogdGVudXJlZCBnZW5lcmF0aW9uICAgdG90YWwg
MTQwOEssIHVzZWQgNDQySyBbMHgyMzFiMDAwMCwgMHgyMzMxMDAwMCwgMHgyNmNkMDAwMCkNCiAg
IHRoZSBzcGFjZSAxNDA4SywgIDMxJSB1c2VkIFsweDIzMWIwMDAwLCAweDIzMjFlOTg4LCAweDIz
MjFlYTAwLCAweDIzMzEwMDAwKQ0KIGNvbXBhY3RpbmcgcGVybSBnZW4gIHRvdGFsIDgxOTJLLCB1
c2VkIDE1MjNLIFsweDI2Y2QwMDAwLCAweDI3NGQwMDAwLCAweDJhY2QwMDAwKQ0KICAgdGhlIHNw
YWNlIDgxOTJLLCAgMTglIHVzZWQgWzB4MjZjZDAwMDAsIDB4MjZlNGNmYzgsIDB4MjZlNGQwMDAs
IDB4Mjc0ZDAwMDApDQogICAgcm8gc3BhY2UgODE5MkssICA2NiUgdXNlZCBbMHgyYWNkMDAwMCwg
MHgyYjIyOTE3MCwgMHgyYjIyOTIwMCwgMHgyYjRkMDAwMCkNCiAgICBydyBzcGFjZSAxMjI4OEss
ICA0NiUgdXNlZCBbMHgyYjRkMDAwMCwgMHgyYmE2NTBmMCwgMHgyYmE2NTIwMCwgMHgyYzBkMDAw
MCkNCg0KRHluYW1pYyBsaWJyYXJpZXM6DQoweDAwNDAwMDAwIC0gMHgwMDQwYzAwMCAJRTpcYWFh
XGRldmVsb3BtZW50XEoyU0UgMS41LjBcYmluXGphdmF3LmV4ZQ0KMHg3N2Y0MDAwMCAtIDB4Nzdm
ZWUwMDAgCUM6XFdJTkRPV1NcU3lzdGVtMzJcbnRkbGwuZGxsDQoweDc3ZTQwMDAwIC0gMHg3N2Yz
ODAwMCAJQzpcV0lORE9XU1xzeXN0ZW0zMlxrZXJuZWwzMi5kbGwNCjB4NzdkYTAwMDAgLSAweDc3
ZTNjMDAwIAlDOlxXSU5ET1dTXHN5c3RlbTMyXEFEVkFQSTMyLmRsbA0KMHg3ODAwMDAwMCAtIDB4
NzgwODYwMDAgCUM6XFdJTkRPV1Ncc3lzdGVtMzJcUlBDUlQ0LmRsbA0KMHg3N2QxMDAwMCAtIDB4
NzdkOWMwMDAgCUM6XFdJTkRPV1Ncc3lzdGVtMzJcVVNFUjMyLmRsbA0KMHg3N2M0MDAwMCAtIDB4
NzdjODAwMDAgCUM6XFdJTkRPV1Ncc3lzdGVtMzJcR0RJMzIuZGxsDQoweDc3YmUwMDAwIC0gMHg3
N2MzMzAwMCAJQzpcV0lORE9XU1xzeXN0ZW0zMlxNU1ZDUlQuZGxsDQoweDY2NTAwMDAwIC0gMHg2
NjUwYTAwMCAJQzpcV0lORE9XU1xTeXN0ZW0zMlx3YnN5cy5kbGwNCjB4NjY2MDAwMDAgLSAweDY2
NjE3MDAwIAlFOlxhYWFcdG9vbHNcV2luZG93QmxpbmRzXHdiaGVscC5kbGwNCjB4NmQ2YjAwMDAg
LSAweDZkODM2MDAwIAlFOlxhYWFcZGV2ZWxvcG1lbnRcSjJTRSAxLjUuMFxqcmVcYmluXGNsaWVu
dFxqdm0uZGxsDQoweDc2YWYwMDAwIC0gMHg3NmIxZDAwMCAJQzpcV0lORE9XU1xTeXN0ZW0zMlxX
SU5NTS5kbGwNCjB4NmQyZjAwMDAgLSAweDZkMmY4MDAwIAlFOlxhYWFcZGV2ZWxvcG1lbnRcSjJT
RSAxLjUuMFxqcmVcYmluXGhwaS5kbGwNCjB4NzZiYjAwMDAgLSAweDc2YmJiMDAwIAlDOlxXSU5E
T1dTXFN5c3RlbTMyXFBTQVBJLkRMTA0KMHg2ZDY4MDAwMCAtIDB4NmQ2OGMwMDAgCUU6XGFhYVxk
ZXZlbG9wbWVudFxKMlNFIDEuNS4wXGpyZVxiaW5cdmVyaWZ5LmRsbA0KMHg2ZDM3MDAwMCAtIDB4
NmQzOGQwMDAgCUU6XGFhYVxkZXZlbG9wbWVudFxKMlNFIDEuNS4wXGpyZVxiaW5camF2YS5kbGwN
CjB4NmQ2YTAwMDAgLSAweDZkNmFmMDAwIAlFOlxhYWFcZGV2ZWxvcG1lbnRcSjJTRSAxLjUuMFxq
cmVcYmluXHppcC5kbGwNCjB4NmQwNzAwMDAgLSAweDZkMWQ3MDAwIAlFOlxhYWFcZGV2ZWxvcG1l
bnRcSjJTRSAxLjUuMFxqcmVcYmluXGF3dC5kbGwNCjB4NzJmNzAwMDAgLSAweDcyZjkzMDAwIAlD
OlxXSU5ET1dTXFN5c3RlbTMyXFdJTlNQT09MLkRSVg0KMHg3NjMzMDAwMCAtIDB4NzYzNGMwMDAg
CUM6XFdJTkRPV1NcU3lzdGVtMzJcSU1NMzIuZGxsDQoweDc3MTgwMDAwIC0gMHg3NzJhMTAwMCAJ
QzpcV0lORE9XU1xzeXN0ZW0zMlxvbGUzMi5kbGwNCjB4NmQzZDAwMDAgLSAweDZkM2Q2MDAwIAlF
OlxhYWFcZGV2ZWxvcG1lbnRcSjJTRSAxLjUuMFxqcmVcYmluXGphd3QuZGxsDQoweDEwMDAwMDAw
IC0gMHgxMDA2MDAwMCAJRTpccGVybWFuZW50XFdpbmRvd3MgMjAwMCBCZW51dHplcnByb2ZpbGVc
QWRtaW5pc3RyYXRvclxFaWdlbmUgRGF0ZWllblxEZXZlbG9wbWVudFxQcm9ncmFtbWllcnRlc1xK
YXZhXEpPR0wgZXhwZXJpbWVudHNcbGlic1xqb2dsLmRsbA0KMHg1ZjBkMDAwMCAtIDB4NWYxOTYw
MDAgCUM6XFdJTkRPV1NcU3lzdGVtMzJcT1BFTkdMMzIuZGxsDQoweDY4ZmMwMDAwIC0gMHg2OGZk
ZTAwMCAJQzpcV0lORE9XU1xTeXN0ZW0zMlxHTFUzMi5kbGwNCjB4NTEwMDAwMDAgLSAweDUxMDRk
MDAwIAlDOlxXSU5ET1dTXFN5c3RlbTMyXEREUkFXLmRsbA0KMHg3M2IzMDAwMCAtIDB4NzNiMzYw
MDAgCUM6XFdJTkRPV1NcU3lzdGVtMzJcRENJTUFOMzIuZGxsDQoweDY2MDAwMDAwIC0gMHg2NjA4
ZjAwMCAJRTpcYWFhXHRvb2xzXFdpbmRvd0JsaW5kc1xXQmxpbmQuZGxsDQoweDc3M2EwMDAwIC0g
MHg3N2JhMTAwMCAJQzpcV0lORE9XU1xzeXN0ZW0zMlxTSEVMTDMyLmRsbA0KMHgwMzk5MDAwMCAt
IDB4MDM5ZjQwMDAgCUM6XFdJTkRPV1Ncc3lzdGVtMzJcU0hMV0FQSS5kbGwNCjB4NzczMTAwMDAg
LSAweDc3MzliMDAwIAlDOlxXSU5ET1dTXHN5c3RlbTMyXENPTUNUTDMyLmRsbA0KMHg3ODA5MDAw
MCAtIDB4NzgxNzQwMDAgCUM6XFdJTkRPV1NcV2luU3hTXHg4Nl9NaWNyb3NvZnQuV2luZG93cy5D
b21tb24tQ29udHJvbHNfNjU5NWI2NDE0NGNjZjFkZl82LjAuMTAuMF94LXd3X2Y3ZmI1ODA1XGNv
bWN0bDMyLmRsbA0KMHg1YjBmMDAwMCAtIDB4NWIxMjQwMDAgCUM6XFdJTkRPV1NcU3lzdGVtMzJc
VVhUSEVNRS5ETEwNCjB4NzYzMjAwMDAgLSAweDc2MzI1MDAwIAlDOlxXSU5ET1dTXFN5c3RlbTMy
XG1zaW1nMzIuZGxsDQoweDZkMmIwMDAwIC0gMHg2ZDJlZDAwMCAJRTpcYWFhXGRldmVsb3BtZW50
XEoyU0UgMS41LjBcanJlXGJpblxmb250bWFuYWdlci5kbGwNCjB4MTYwMDAwMDAgLSAweDE2MDI4
MDAwIAlFOlxhYWFcb25saW5lXFRyaWxsaWFuXGV2ZW50cy5kbGwNCjB4NzYzNTAwMDAgLSAweDc2
Mzk2MDAwIAlDOlxXSU5ET1dTXHN5c3RlbTMyXGNvbWRsZzMyLmRsbA0KMHg3YzM0MDAwMCAtIDB4
N2MzOTYwMDAgCUU6XGFhYVxvbmxpbmVcVHJpbGxpYW5cTVNWQ1I3MS5kbGwNCjB4Njk1MDAwMDAg
LSAweDY5YTM1MDAwIAlDOlxXSU5ET1dTXFN5c3RlbTMyXG52b2dsbnQuZGxsDQoNClZNIEFyZ3Vt
ZW50czoNCmp2bV9hcmdzOiAtRGphdmEubGlicmFyeS5wYXRoPUU6XHBlcm1hbmVudFxXaW5kb3dz
IDIwMDAgQmVudXR6ZXJwcm9maWxlXEFkbWluaXN0cmF0b3JcRWlnZW5lIERhdGVpZW5cRGV2ZWxv
cG1lbnRcUHJvZ3JhbW1pZXJ0ZXNcSmF2YVxKT0dMIGV4cGVyaW1lbnRzXGxpYnMgLURzdW4uamF2
YTJkLm5vZGRyYXc9dHJ1ZQ0KamF2YV9jb21tYW5kOiBkZW1vcy5od1NoYWRvd21hcHNTaW1wbGUu
SFdTaGFkb3dtYXBzU2ltcGxlDQoNCkVudmlyb25tZW50IFZhcmlhYmxlczoNClBBVEg9ZTpcYWFh
XGRldmVsb3BtZW50XGoyc2UgMS41LjBcYmluO0U6XGFhYVxkZXZlbG9wbWVudFxBY3RpdmUgU3Rh
dGUgUGVybCA1LjhcYmluXDtDOlxXSU5ET1dTXHN5c3RlbTMyO0M6XFdJTkRPV1M7QzpcV0lORE9X
U1xTeXN0ZW0zMlxXYmVtO0U6XGFhYVxkZXZlbG9wbWVudFxjdnNudDtDOlxQcm9ncmFtbWVcR2Vt
ZWluc2FtZSBEYXRlaWVuXEdJU1xUb29scztFOlxhYWFcZGV2ZWxvcG1lbnRcU2VjdXJlIFNoZWxs
O0U6XGFhYVxkZXZlbG9wbWVudFxDZyBEZXZlbG9wZXJcYmluOw0KVVNFUk5BTUU9YW11c2kNCk9T
PVdpbmRvd3NfTlQNClBST0NFU1NPUl9JREVOVElGSUVSPXg4NiBGYW1pbHkgNiBNb2RlbCA2IFN0
ZXBwaW5nIDIsIEF1dGhlbnRpY0FNRA0KDQoNCi0tLS0tLS0tLS0tLS0tLSAgUyBZIFMgVCBFIE0g
IC0tLS0tLS0tLS0tLS0tLQ0KDQpPUzogV2luZG93cyBYUCBCdWlsZCAyNjAwIFNlcnZpY2UgUGFj
ayAxDQoNCkNQVTp0b3RhbCAxIGZhbWlseSA2LCBjbW92LCBjeDgsIGZ4c3IsIG1teCwgc3NlDQoN
Ck1lbW9yeTogNGsgcGFnZSwgcGh5c2ljYWwgNTIzNzYwayg3MzYyOGsgZnJlZSksIHN3YXAgMTMx
MzExNmsoNzk3NzU2ayBmcmVlKQ0KDQp2bV9pbmZvOiBKYXZhIEhvdFNwb3QoVE0pIENsaWVudCBW
TSAoMS41LjBfMDMtYjA3KSBmb3Igd2luZG93cy14ODYsIGJ1aWx0IG9uIEFwciAxMyAyMDA1IDAy
OjA3OjAxIGJ5ICJqYXZhX3JlIiB3aXRoIE1TIFZDKysgNi4wDQoNCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>54</attachid>
            <date>2005-05-26 15:07:00 +0200</date>
            <delta_ts>2005-05-26 15:07:00 +0200</delta_ts>
            <desc>Fullscreen version of Gears demo</desc>
            <filename>GearsFullscreen.java</filename>
            <type>text/plain</type>
            <size>14969</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">aW1wb3J0IGphdmEuYXd0Lio7DQppbXBvcnQgamF2YS5hd3QuZXZlbnQuKjsNCg0KaW1wb3J0IG5l
dC5qYXZhLmdhbWVzLmpvZ2wuKjsNCg0KcHVibGljIGNsYXNzIEdlYXJzRnVsbHNjcmVlbiB7DQog
IHByaXZhdGUgR3JhcGhpY3NEZXZpY2UgZGV2Ow0KICBwcml2YXRlIERpc3BsYXlNb2RlIG9yaWdN
b2RlOw0KICBwcml2YXRlIGJvb2xlYW4gZnVsbFNjcmVlbjsNCiAgcHJpdmF0ZSBGcmFtZSBmcmFt
ZTsNCiAgcHJpdmF0ZSBBbmltYXRvciBhbmltYXRvcjsNCiAgcHJpdmF0ZSBpbnQgaW5pdFdpZHRo
ID0gMzAwOw0KICBwcml2YXRlIGludCBpbml0SGVpZ2h0ID0gMzAwOw0KDQogIHB1YmxpYyBzdGF0
aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsNCiAgICBuZXcgR2VhcnNGdWxsc2NyZWVuKCku
cnVuKGFyZ3MpOw0KICB9DQoNCiAgcHVibGljIHZvaWQgcnVuKFN0cmluZ1tdIGFyZ3MpIHsNCiAg
ICBkZXYgPSBHcmFwaGljc0Vudmlyb25tZW50LmdldExvY2FsR3JhcGhpY3NFbnZpcm9ubWVudCgp
LmdldERlZmF1bHRTY3JlZW5EZXZpY2UoKTsNCiAgICBvcmlnTW9kZSA9IGRldi5nZXREaXNwbGF5
TW9kZSgpOw0KICAgIERpc3BsYXlNb2RlIG5ld01vZGUgPSBudWxsOw0KDQogICAgaWYgKGRldi5p
c0Z1bGxTY3JlZW5TdXBwb3J0ZWQoKSkgew0KICAgICAgbmV3TW9kZSA9IFNjcmVlblJlc1NlbGVj
dG9yLnNob3dTZWxlY3Rpb25EaWFsb2coKTsNCiAgICAgIGlmIChuZXdNb2RlICE9IG51bGwpIHsN
CiAgICAgICAgaW5pdFdpZHRoID0gbmV3TW9kZS5nZXRXaWR0aCgpOw0KICAgICAgICBpbml0SGVp
Z2h0ID0gbmV3TW9kZS5nZXRIZWlnaHQoKTsNCiAgICAgIH0NCiAgICB9IGVsc2Ugew0KICAgICAg
U3lzdGVtLmVyci5wcmludGxuKCJOT1RFOiBmdWxsLXNjcmVlbiBtb2RlIG5vdCBzdXBwb3J0ZWQ7
IHJ1bm5pbmcgaW4gd2luZG93IGluc3RlYWQiKTsNCiAgICB9DQoNCiAgICBmcmFtZSA9IG5ldyBG
cmFtZSgiR2VhciBEZW1vIik7DQogICAgaWYgKG5ld01vZGUgIT0gbnVsbCkgew0KICAgICAgZnJh
bWUuc2V0VW5kZWNvcmF0ZWQodHJ1ZSk7DQogICAgfQ0KICAgIEdMQ2FudmFzIGNhbnZhcyA9IEdM
RHJhd2FibGVGYWN0b3J5LmdldEZhY3RvcnkoKS5jcmVhdGVHTENhbnZhcyhuZXcgR0xDYXBhYmls
aXRpZXMoKSk7DQoNCiAgICBjYW52YXMuYWRkR0xFdmVudExpc3RlbmVyKG5ldyBHZWFyUmVuZGVy
ZXIoKSk7DQogICAgZnJhbWUuYWRkKGNhbnZhcyk7DQogICAgZnJhbWUuc2V0U2l6ZShpbml0V2lk
dGgsIGluaXRIZWlnaHQpOw0KICAgIGFuaW1hdG9yID0gbmV3IEFuaW1hdG9yKGNhbnZhcyk7DQog
ICAgZnJhbWUuYWRkV2luZG93TGlzdGVuZXIobmV3IFdpbmRvd0FkYXB0ZXIoKSB7DQogICAgICAg
IHB1YmxpYyB2b2lkIHdpbmRvd0Nsb3NpbmcoV2luZG93RXZlbnQgZSkgew0KICAgICAgICAgIHJ1
bkV4aXQoKTsNCiAgICAgICAgfQ0KICAgICAgfSk7DQogICAgZnJhbWUuc2V0VmlzaWJsZSh0cnVl
KTsNCg0KICAgIGlmIChkZXYuaXNGdWxsU2NyZWVuU3VwcG9ydGVkKCkgJiYgKG5ld01vZGUgIT0g
bnVsbCkpIHsNCiAgICAgIGRldi5zZXRGdWxsU2NyZWVuV2luZG93KGZyYW1lKTsNCiAgICAgIGlm
IChkZXYuaXNEaXNwbGF5Q2hhbmdlU3VwcG9ydGVkKCkpIHsNCiAgICAgICAgZGV2LnNldERpc3Bs
YXlNb2RlKG5ld01vZGUpOw0KICAgICAgICBmdWxsU2NyZWVuID0gdHJ1ZTsNCiAgICAgIH0gZWxz
ZSB7DQogICAgICAgIC8vIE5vdCBtdWNoIHBvaW50IGluIGhhdmluZyBhIGZ1bGwtc2NyZWVuIHdp
bmRvdyBpbiB0aGlzIGNhc2UNCiAgICAgICAgZGV2LnNldEZ1bGxTY3JlZW5XaW5kb3cobnVsbCk7
DQogICAgICAgIGZpbmFsIEZyYW1lIGYyID0gZnJhbWU7DQogICAgICAgIHRyeSB7DQogICAgICAg
ICAgRXZlbnRRdWV1ZS5pbnZva2VBbmRXYWl0KG5ldyBSdW5uYWJsZSgpIHsNCiAgICAgICAgICAg
ICAgcHVibGljIHZvaWQgcnVuKCkgew0KICAgICAgICAgICAgICAgIGYyLnNldFZpc2libGUoZmFs
c2UpOw0KICAgICAgICAgICAgICAgIGYyLnNldFVuZGVjb3JhdGVkKGZhbHNlKTsNCiAgICAgICAg
ICAgICAgICBmMi5zZXRWaXNpYmxlKHRydWUpOw0KICAgICAgICAgICAgICAgIGYyLnNldFNpemUo
aW5pdFdpZHRoLCBpbml0SGVpZ2h0KTsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7
DQogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7DQogICAgICAgICAgZS5wcmludFN0YWNr
VHJhY2UoKTsNCiAgICAgICAgfQ0KICAgICAgICBTeXN0ZW0uZXJyLnByaW50bG4oIk5PVEU6IHdh
cyBub3QgYWJsZSB0byBjaGFuZ2UgZGlzcGxheSBtb2RlOyBmdWxsLXNjcmVlbiBkaXNhYmxlZCIp
Ow0KICAgICAgfQ0KICAgIH0NCg0KICAgIGFuaW1hdG9yLnN0YXJ0KCk7DQogIH0NCg0KICBjbGFz
cyBHZWFyUmVuZGVyZXIgaW1wbGVtZW50cyBHTEV2ZW50TGlzdGVuZXIsIE1vdXNlTGlzdGVuZXIs
IE1vdXNlTW90aW9uTGlzdGVuZXIgew0KICAgIHByaXZhdGUgZmxvYXQgdmlld19yb3R4ID0gMjAu
MGYsIHZpZXdfcm90eSA9IDMwLjBmLCB2aWV3X3JvdHogPSAwLjBmOw0KICAgIHByaXZhdGUgaW50
IGdlYXIxLCBnZWFyMiwgZ2VhcjM7DQogICAgcHJpdmF0ZSBmbG9hdCBhbmdsZSA9IDAuMGY7DQoN
CiAgICBwcml2YXRlIGludCBwcmV2TW91c2VYLCBwcmV2TW91c2VZOw0KICAgIHByaXZhdGUgYm9v
bGVhbiBtb3VzZVJCdXR0b25Eb3duID0gZmFsc2U7DQoNCiAgICBwdWJsaWMgdm9pZCBpbml0KEdM
RHJhd2FibGUgZHJhd2FibGUpIHsNCiAgICAgIC8vIFVzZSBkZWJ1ZyBwaXBlbGluZQ0KICAgICAg
Ly8gZHJhd2FibGUuc2V0R0wobmV3IERlYnVnR0woZHJhd2FibGUuZ2V0R0woKSkpOw0KDQogICAg
ICBHTCBnbCA9IGRyYXdhYmxlLmdldEdMKCk7DQoNCiAgICAgIC8vIEZJWE1FOiB3b3JrYXJvdW5k
IGZvciBXaW5kb3dzIGZ1bGwtc2NyZWVuIGJ1ZyB3aGVuDQogICAgICAvLyBzdW4uamF2YTJkLm5v
ZGRyYXc9dHJ1ZSBhbmQgc2ltaWxhciBidWcgb24gTWFjIE9TIFgNCiAgICAgIGlmIChmdWxsU2Ny
ZWVuKSB7DQogICAgICAgIGZpbmFsIEdMRHJhd2FibGUgdG1wRHJhd2FibGUgPSBkcmF3YWJsZTsN
CiAgICAgICAgRXZlbnRRdWV1ZS5pbnZva2VMYXRlcihuZXcgUnVubmFibGUoKSB7DQogICAgICAg
ICAgICBwdWJsaWMgdm9pZCBydW4oKSB7DQogICAgICAgICAgICAgIGZyYW1lLnNldEJvdW5kcygw
LCAwLCBpbml0V2lkdGgsIGluaXRIZWlnaHQpOw0KICAgICAgICAgICAgICB0bXBEcmF3YWJsZS5z
ZXRTaXplKGluaXRXaWR0aCwgaW5pdEhlaWdodCk7DQogICAgICAgICAgICAgIGZyYW1lLnRvRnJv
bnQoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICB9KTsNCiAgICAgIH0NCg0KICAgICAgU3lz
dGVtLmVyci5wcmludGxuKCJJTklUIEdMIElTOiAiICsgZ2wuZ2V0Q2xhc3MoKS5nZXROYW1lKCkp
Ow0KDQogICAgICBnbC5zZXRTd2FwSW50ZXJ2YWwoMSk7DQoNCiAgICAgIGZsb2F0IHBvc1tdID0g
eyA1LjBmLCA1LjBmLCAxMC4wZiwgMC4wZiB9Ow0KICAgICAgZmxvYXQgcmVkW10gPSB7IDAuOGYs
IDAuMWYsIDAuMGYsIDEuMGYgfTsNCiAgICAgIGZsb2F0IGdyZWVuW10gPSB7IDAuMGYsIDAuOGYs
IDAuMmYsIDEuMGYgfTsNCiAgICAgIGZsb2F0IGJsdWVbXSA9IHsgMC4yZiwgMC4yZiwgMS4wZiwg
MS4wZiB9Ow0KDQogICAgICBnbC5nbExpZ2h0ZnYoR0wuR0xfTElHSFQwLCBHTC5HTF9QT1NJVElP
TiwgcG9zKTsNCiAgICAgIGdsLmdsRW5hYmxlKEdMLkdMX0NVTExfRkFDRSk7DQogICAgICBnbC5n
bEVuYWJsZShHTC5HTF9MSUdIVElORyk7DQogICAgICBnbC5nbEVuYWJsZShHTC5HTF9MSUdIVDAp
Ow0KICAgICAgZ2wuZ2xFbmFibGUoR0wuR0xfREVQVEhfVEVTVCk7DQogICAgICAgICAgICANCiAg
ICAgIC8qIG1ha2UgdGhlIGdlYXJzICovDQogICAgICBnZWFyMSA9IGdsLmdsR2VuTGlzdHMoMSk7
DQogICAgICBnbC5nbE5ld0xpc3QoZ2VhcjEsIEdMLkdMX0NPTVBJTEUpOw0KICAgICAgZ2wuZ2xN
YXRlcmlhbGZ2KEdMLkdMX0ZST05ULCBHTC5HTF9BTUJJRU5UX0FORF9ESUZGVVNFLCByZWQpOw0K
ICAgICAgZ2VhcihnbCwgMS4wZiwgNC4wZiwgMS4wZiwgMjAsIDAuN2YpOw0KICAgICAgZ2wuZ2xF
bmRMaXN0KCk7DQogICAgICAgICAgICANCiAgICAgIGdlYXIyID0gZ2wuZ2xHZW5MaXN0cygxKTsN
CiAgICAgIGdsLmdsTmV3TGlzdChnZWFyMiwgR0wuR0xfQ09NUElMRSk7DQogICAgICBnbC5nbE1h
dGVyaWFsZnYoR0wuR0xfRlJPTlQsIEdMLkdMX0FNQklFTlRfQU5EX0RJRkZVU0UsIGdyZWVuKTsN
CiAgICAgIGdlYXIoZ2wsIDAuNWYsIDIuMGYsIDIuMGYsIDEwLCAwLjdmKTsNCiAgICAgIGdsLmds
RW5kTGlzdCgpOw0KICAgICAgICAgICAgDQogICAgICBnZWFyMyA9IGdsLmdsR2VuTGlzdHMoMSk7
DQogICAgICBnbC5nbE5ld0xpc3QoZ2VhcjMsIEdMLkdMX0NPTVBJTEUpOw0KICAgICAgZ2wuZ2xN
YXRlcmlhbGZ2KEdMLkdMX0ZST05ULCBHTC5HTF9BTUJJRU5UX0FORF9ESUZGVVNFLCBibHVlKTsN
CiAgICAgIGdlYXIoZ2wsIDEuM2YsIDIuMGYsIDAuNWYsIDEwLCAwLjdmKTsNCiAgICAgIGdsLmds
RW5kTGlzdCgpOw0KICAgICAgICAgICAgDQogICAgICBnbC5nbEVuYWJsZShHTC5HTF9OT1JNQUxJ
WkUpOw0KICAgICAgICAgICAgICAgIA0KICAgICAgZHJhd2FibGUuYWRkTW91c2VMaXN0ZW5lcih0
aGlzKTsNCiAgICAgIGRyYXdhYmxlLmFkZE1vdXNlTW90aW9uTGlzdGVuZXIodGhpcyk7DQoNCiAg
ICAgIGRyYXdhYmxlLmFkZEtleUxpc3RlbmVyKG5ldyBLZXlBZGFwdGVyKCkgew0KICAgICAgICAg
IHB1YmxpYyB2b2lkIGtleVByZXNzZWQoS2V5RXZlbnQgZSkgew0KICAgICAgICAgICAgZGlzcGF0
Y2hLZXkoZS5nZXRLZXlDb2RlKCkpOw0KICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgfQ0K
ICAgIA0KICAgIHB1YmxpYyB2b2lkIHJlc2hhcGUoR0xEcmF3YWJsZSBkcmF3YWJsZSwgaW50IHgs
IGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpIHsNCiAgICAgIEdMIGdsID0gZHJhd2FibGUu
Z2V0R0woKTsNCg0KICAgICAgZmxvYXQgaCA9IChmbG9hdCloZWlnaHQgLyAoZmxvYXQpd2lkdGg7
DQogICAgICAgICAgICANCiAgICAgIGdsLmdsTWF0cml4TW9kZShHTC5HTF9QUk9KRUNUSU9OKTsN
Cg0KICAgICAgU3lzdGVtLmVyci5wcmludGxuKCJHTF9WRU5ET1I6ICIgKyBnbC5nbEdldFN0cmlu
ZyhHTC5HTF9WRU5ET1IpKTsNCiAgICAgIFN5c3RlbS5lcnIucHJpbnRsbigiR0xfUkVOREVSRVI6
ICIgKyBnbC5nbEdldFN0cmluZyhHTC5HTF9SRU5ERVJFUikpOw0KICAgICAgU3lzdGVtLmVyci5w
cmludGxuKCJHTF9WRVJTSU9OOiAiICsgZ2wuZ2xHZXRTdHJpbmcoR0wuR0xfVkVSU0lPTikpOw0K
ICAgICAgU3lzdGVtLmVyci5wcmludGxuKCk7DQogICAgICBTeXN0ZW0uZXJyLnByaW50bG4oImds
TG9hZFRyYW5zcG9zZU1hdHJpeGZBUkIoKSBzdXBwb3J0ZWQ6ICIgKw0KICAgICAgICAgICAgICAg
ICAgICAgICAgIGdsLmlzRnVuY3Rpb25BdmFpbGFibGUoImdsTG9hZFRyYW5zcG9zZU1hdHJpeGZB
UkIiKSk7DQogICAgICBpZiAoIWdsLmlzRnVuY3Rpb25BdmFpbGFibGUoImdsTG9hZFRyYW5zcG9z
ZU1hdHJpeGZBUkIiKSkgew0KICAgICAgICAvLyAtLS0gbm90IHVzaW5nIGV4dGVuc2lvbnMNCiAg
ICAgICAgZ2wuZ2xMb2FkSWRlbnRpdHkoKTsNCiAgICAgIH0gZWxzZSB7DQogICAgICAgIC8vIC0t
LSB1c2luZyBleHRlbnNpb25zDQogICAgICAgIGZpbmFsIGZsb2F0W10gaWRlbnRpdHlUcmFuc3Bv
c2UgPSBuZXcgZmxvYXRbXSB7DQogICAgICAgICAgMSwgMCwgMCwgMCwNCiAgICAgICAgICAwLCAx
LCAwLCAwLA0KICAgICAgICAgIDAsIDAsIDEsIDAsDQogICAgICAgICAgMCwgMCwgMCwgMQ0KICAg
ICAgICB9Ow0KICAgICAgICBnbC5nbExvYWRUcmFuc3Bvc2VNYXRyaXhmQVJCKGlkZW50aXR5VHJh
bnNwb3NlKTsNCiAgICAgIH0NCiAgICAgIGdsLmdsRnJ1c3R1bSgtMS4wZiwgMS4wZiwgLWgsIGgs
IDUuMGYsIDYwLjBmKTsNCiAgICAgIGdsLmdsTWF0cml4TW9kZShHTC5HTF9NT0RFTFZJRVcpOw0K
ICAgICAgZ2wuZ2xMb2FkSWRlbnRpdHkoKTsNCiAgICAgIGdsLmdsVHJhbnNsYXRlZigwLjBmLCAw
LjBmLCAtNDAuMGYpOw0KICAgIH0NCg0KICAgIHB1YmxpYyB2b2lkIGRpc3BsYXkoR0xEcmF3YWJs
ZSBkcmF3YWJsZSkgew0KICAgICAgYW5nbGUgKz0gMi4wZjsNCg0KICAgICAgR0wgZ2wgPSBkcmF3
YWJsZS5nZXRHTCgpOw0KICAgICAgZ2wuZ2xDbGVhcihHTC5HTF9DT0xPUl9CVUZGRVJfQklUIHwg
R0wuR0xfREVQVEhfQlVGRkVSX0JJVCk7DQogICAgICAgICAgICANCiAgICAgIGdsLmdsUHVzaE1h
dHJpeCgpOw0KICAgICAgZ2wuZ2xSb3RhdGVmKHZpZXdfcm90eCwgMS4wZiwgMC4wZiwgMC4wZik7
DQogICAgICBnbC5nbFJvdGF0ZWYodmlld19yb3R5LCAwLjBmLCAxLjBmLCAwLjBmKTsNCiAgICAg
IGdsLmdsUm90YXRlZih2aWV3X3JvdHosIDAuMGYsIDAuMGYsIDEuMGYpOw0KICAgICAgICAgICAg
DQogICAgICBnbC5nbFB1c2hNYXRyaXgoKTsNCiAgICAgIGdsLmdsVHJhbnNsYXRlZigtMy4wZiwg
LTIuMGYsIDAuMGYpOw0KICAgICAgZ2wuZ2xSb3RhdGVmKGFuZ2xlLCAwLjBmLCAwLjBmLCAxLjBm
KTsNCiAgICAgIGdsLmdsQ2FsbExpc3QoZ2VhcjEpOw0KICAgICAgZ2wuZ2xQb3BNYXRyaXgoKTsN
CiAgICAgICAgICAgIA0KICAgICAgZ2wuZ2xQdXNoTWF0cml4KCk7DQogICAgICBnbC5nbFRyYW5z
bGF0ZWYoMy4xZiwgLTIuMGYsIDAuMGYpOw0KICAgICAgZ2wuZ2xSb3RhdGVmKC0yLjBmICogYW5n
bGUgLSA5LjBmLCAwLjBmLCAwLjBmLCAxLjBmKTsNCiAgICAgIGdsLmdsQ2FsbExpc3QoZ2VhcjIp
Ow0KICAgICAgZ2wuZ2xQb3BNYXRyaXgoKTsNCiAgICAgICAgICAgIA0KICAgICAgZ2wuZ2xQdXNo
TWF0cml4KCk7DQogICAgICBnbC5nbFRyYW5zbGF0ZWYoLTMuMWYsIDQuMmYsIDAuMGYpOw0KICAg
ICAgZ2wuZ2xSb3RhdGVmKC0yLjBmICogYW5nbGUgLSAyNS4wZiwgMC4wZiwgMC4wZiwgMS4wZik7
DQogICAgICBnbC5nbENhbGxMaXN0KGdlYXIzKTsNCiAgICAgIGdsLmdsUG9wTWF0cml4KCk7DQog
ICAgICAgICAgICANCiAgICAgIGdsLmdsUG9wTWF0cml4KCk7DQogICAgfQ0KDQogICAgcHVibGlj
IHZvaWQgZGlzcGxheUNoYW5nZWQoR0xEcmF3YWJsZSBkcmF3YWJsZSwgYm9vbGVhbiBtb2RlQ2hh
bmdlZCwgYm9vbGVhbiBkZXZpY2VDaGFuZ2VkKSB7fQ0KDQogICAgcHJpdmF0ZSB2b2lkIGdlYXIo
R0wgZ2wsDQogICAgICAgICAgICAgICAgICAgICAgZmxvYXQgaW5uZXJfcmFkaXVzLA0KICAgICAg
ICAgICAgICAgICAgICAgIGZsb2F0IG91dGVyX3JhZGl1cywNCiAgICAgICAgICAgICAgICAgICAg
ICBmbG9hdCB3aWR0aCwNCiAgICAgICAgICAgICAgICAgICAgICBpbnQgdGVldGgsDQogICAgICAg
ICAgICAgICAgICAgICAgZmxvYXQgdG9vdGhfZGVwdGgpDQogICAgew0KICAgICAgaW50IGk7DQog
ICAgICBmbG9hdCByMCwgcjEsIHIyOw0KICAgICAgZmxvYXQgYW5nbGUsIGRhOw0KICAgICAgZmxv
YXQgdSwgdiwgbGVuOw0KDQogICAgICByMCA9IGlubmVyX3JhZGl1czsNCiAgICAgIHIxID0gb3V0
ZXJfcmFkaXVzIC0gdG9vdGhfZGVwdGggLyAyLjBmOw0KICAgICAgcjIgPSBvdXRlcl9yYWRpdXMg
KyB0b290aF9kZXB0aCAvIDIuMGY7DQogICAgICAgICAgICANCiAgICAgIGRhID0gMi4wZiAqIChm
bG9hdCkgTWF0aC5QSSAvIHRlZXRoIC8gNC4wZjsNCiAgICAgICAgICAgIA0KICAgICAgZ2wuZ2xT
aGFkZU1vZGVsKEdMLkdMX0ZMQVQpOw0KDQogICAgICBnbC5nbE5vcm1hbDNmKDAuMGYsIDAuMGYs
IDEuMGYpOw0KDQogICAgICAvKiBkcmF3IGZyb250IGZhY2UgKi8NCiAgICAgIGdsLmdsQmVnaW4o
R0wuR0xfUVVBRF9TVFJJUCk7DQogICAgICBmb3IgKGkgPSAwOyBpIDw9IHRlZXRoOyBpKyspDQog
ICAgICAgIHsNCiAgICAgICAgICBhbmdsZSA9IGkgKiAyLjBmICogKGZsb2F0KSBNYXRoLlBJIC8g
dGVldGg7DQogICAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMCAqIChmbG9hdClNYXRoLmNvcyhhbmds
ZSksIHIwICogKGZsb2F0KU1hdGguc2luKGFuZ2xlKSwgd2lkdGggKiAwLjVmKTsNCiAgICAgICAg
ICBnbC5nbFZlcnRleDNmKHIxICogKGZsb2F0KU1hdGguY29zKGFuZ2xlKSwgcjEgKiAoZmxvYXQp
TWF0aC5zaW4oYW5nbGUpLCB3aWR0aCAqIDAuNWYpOw0KICAgICAgICAgIGlmKGkgPCB0ZWV0aCkN
CiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMCAqIChmbG9hdClN
YXRoLmNvcyhhbmdsZSksIHIwICogKGZsb2F0KU1hdGguc2luKGFuZ2xlKSwgd2lkdGggKiAwLjVm
KTsNCiAgICAgICAgICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmds
ZSArIDMuMGYgKiBkYSksIHIxICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgMy4wZiAqIGRhKSwg
d2lkdGggKiAwLjVmKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgZ2wuZ2xFbmQo
KTsNCg0KICAgICAgLyogZHJhdyBmcm9udCBzaWRlcyBvZiB0ZWV0aCAqLw0KICAgICAgZ2wuZ2xC
ZWdpbihHTC5HTF9RVUFEUyk7DQogICAgICBmb3IgKGkgPSAwOyBpIDwgdGVldGg7IGkrKykNCiAg
ICAgICAgew0KICAgICAgICAgIGFuZ2xlID0gaSAqIDIuMGYgKiAoZmxvYXQpIE1hdGguUEkgLyB0
ZWV0aDsNCiAgICAgICAgICBnbC5nbFZlcnRleDNmKHIxICogKGZsb2F0KU1hdGguY29zKGFuZ2xl
KSwgcjEgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUpLCB3aWR0aCAqIDAuNWYpOw0KICAgICAgICAg
IGdsLmdsVmVydGV4M2YocjIgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyBkYSksIHIyICogKGZs
b2F0KU1hdGguc2luKGFuZ2xlICsgZGEpLCB3aWR0aCAqIDAuNWYpOw0KICAgICAgICAgIGdsLmds
VmVydGV4M2YocjIgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAyLjBmICogZGEpLCByMiAqIChm
bG9hdClNYXRoLnNpbihhbmdsZSArIDIuMGYgKiBkYSksIHdpZHRoICogMC41Zik7DQogICAgICAg
ICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSArIDMuMGYgKiBkYSks
IHIxICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgMy4wZiAqIGRhKSwgd2lkdGggKiAwLjVmKTsN
CiAgICAgICAgfQ0KICAgICAgZ2wuZ2xFbmQoKTsNCiAgICANCiAgICAgIC8qIGRyYXcgYmFjayBm
YWNlICovDQogICAgICBnbC5nbEJlZ2luKEdMLkdMX1FVQURfU1RSSVApOw0KICAgICAgZm9yIChp
ID0gMDsgaSA8PSB0ZWV0aDsgaSsrKQ0KICAgICAgICB7DQogICAgICAgICAgYW5nbGUgPSBpICog
Mi4wZiAqIChmbG9hdCkgTWF0aC5QSSAvIHRlZXRoOw0KICAgICAgICAgIGdsLmdsVmVydGV4M2Yo
cjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCByMSAqIChmbG9hdClNYXRoLnNpbihhbmdsZSks
IC13aWR0aCAqIDAuNWYpOw0KICAgICAgICAgIGdsLmdsVmVydGV4M2YocjAgKiAoZmxvYXQpTWF0
aC5jb3MoYW5nbGUpLCByMCAqIChmbG9hdClNYXRoLnNpbihhbmdsZSksIC13aWR0aCAqIDAuNWYp
Ow0KICAgICAgICAgIGdsLmdsVmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAz
ICogZGEpLCByMSAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIDMgKiBkYSksIC13aWR0aCAqIDAu
NWYpOw0KICAgICAgICAgIGdsLmdsVmVydGV4M2YocjAgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUp
LCByMCAqIChmbG9hdClNYXRoLnNpbihhbmdsZSksIC13aWR0aCAqIDAuNWYpOw0KICAgICAgICB9
DQogICAgICBnbC5nbEVuZCgpOw0KICAgIA0KICAgICAgLyogZHJhdyBiYWNrIHNpZGVzIG9mIHRl
ZXRoICovDQogICAgICBnbC5nbEJlZ2luKEdMLkdMX1FVQURTKTsNCiAgICAgIGZvciAoaSA9IDA7
IGkgPCB0ZWV0aDsgaSsrKQ0KICAgICAgICB7DQogICAgICAgICAgYW5nbGUgPSBpICogMi4wZiAq
IChmbG9hdCkgTWF0aC5QSSAvIHRlZXRoOw0KICAgICAgICAgIGdsLmdsVmVydGV4M2YocjEgKiAo
ZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAzICogZGEpLCByMSAqIChmbG9hdClNYXRoLnNpbihhbmds
ZSArIDMgKiBkYSksIC13aWR0aCAqIDAuNWYpOw0KICAgICAgICAgIGdsLmdsVmVydGV4M2YocjIg
KiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAyICogZGEpLCByMiAqIChmbG9hdClNYXRoLnNpbihh
bmdsZSArIDIgKiBkYSksIC13aWR0aCAqIDAuNWYpOw0KICAgICAgICAgIGdsLmdsVmVydGV4M2Yo
cjIgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyBkYSksIHIyICogKGZsb2F0KU1hdGguc2luKGFu
Z2xlICsgZGEpLCAtd2lkdGggKiAwLjVmKTsNCiAgICAgICAgICBnbC5nbFZlcnRleDNmKHIxICog
KGZsb2F0KU1hdGguY29zKGFuZ2xlKSwgcjEgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUpLCAtd2lk
dGggKiAwLjVmKTsNCiAgICAgICAgfQ0KICAgICAgZ2wuZ2xFbmQoKTsNCiAgICANCiAgICAgIC8q
IGRyYXcgb3V0d2FyZCBmYWNlcyBvZiB0ZWV0aCAqLw0KICAgICAgZ2wuZ2xCZWdpbihHTC5HTF9R
VUFEX1NUUklQKTsNCiAgICAgIGZvciAoaSA9IDA7IGkgPCB0ZWV0aDsgaSsrKQ0KICAgICAgICB7
DQogICAgICAgICAgYW5nbGUgPSBpICogMi4wZiAqIChmbG9hdCkgTWF0aC5QSSAvIHRlZXRoOw0K
ICAgICAgICAgIGdsLmdsVmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCByMSAq
IChmbG9hdClNYXRoLnNpbihhbmdsZSksIHdpZHRoICogMC41Zik7DQogICAgICAgICAgZ2wuZ2xW
ZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSksIHIxICogKGZsb2F0KU1hdGguc2lu
KGFuZ2xlKSwgLXdpZHRoICogMC41Zik7DQogICAgICAgICAgdSA9IHIyICogKGZsb2F0KU1hdGgu
Y29zKGFuZ2xlICsgZGEpIC0gcjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpOw0KICAgICAgICAg
IHYgPSByMiAqIChmbG9hdClNYXRoLnNpbihhbmdsZSArIGRhKSAtIHIxICogKGZsb2F0KU1hdGgu
c2luKGFuZ2xlKTsNCiAgICAgICAgICBsZW4gPSAoZmxvYXQpTWF0aC5zcXJ0KHUgKiB1ICsgdiAq
IHYpOw0KICAgICAgICAgIHUgLz0gbGVuOw0KICAgICAgICAgIHYgLz0gbGVuOw0KICAgICAgICAg
IGdsLmdsTm9ybWFsM2YodiwgLXUsIDAuMGYpOw0KICAgICAgICAgIGdsLmdsVmVydGV4M2YocjIg
KiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyBkYSksIHIyICogKGZsb2F0KU1hdGguc2luKGFuZ2xl
ICsgZGEpLCB3aWR0aCAqIDAuNWYpOw0KICAgICAgICAgIGdsLmdsVmVydGV4M2YocjIgKiAoZmxv
YXQpTWF0aC5jb3MoYW5nbGUgKyBkYSksIHIyICogKGZsb2F0KU1hdGguc2luKGFuZ2xlICsgZGEp
LCAtd2lkdGggKiAwLjVmKTsNCiAgICAgICAgICBnbC5nbE5vcm1hbDNmKChmbG9hdClNYXRoLmNv
cyhhbmdsZSksIChmbG9hdClNYXRoLnNpbihhbmdsZSksIDAuMGYpOw0KICAgICAgICAgIGdsLmds
VmVydGV4M2YocjIgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAyICogZGEpLCByMiAqIChmbG9h
dClNYXRoLnNpbihhbmdsZSArIDIgKiBkYSksIHdpZHRoICogMC41Zik7DQogICAgICAgICAgZ2wu
Z2xWZXJ0ZXgzZihyMiAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSArIDIgKiBkYSksIHIyICogKGZs
b2F0KU1hdGguc2luKGFuZ2xlICsgMiAqIGRhKSwgLXdpZHRoICogMC41Zik7DQogICAgICAgICAg
dSA9IHIxICogKGZsb2F0KU1hdGguY29zKGFuZ2xlICsgMyAqIGRhKSAtIHIyICogKGZsb2F0KU1h
dGguY29zKGFuZ2xlICsgMiAqIGRhKTsNCiAgICAgICAgICB2ID0gcjEgKiAoZmxvYXQpTWF0aC5z
aW4oYW5nbGUgKyAzICogZGEpIC0gcjIgKiAoZmxvYXQpTWF0aC5zaW4oYW5nbGUgKyAyICogZGEp
Ow0KICAgICAgICAgIGdsLmdsTm9ybWFsM2YodiwgLXUsIDAuMGYpOw0KICAgICAgICAgIGdsLmds
VmVydGV4M2YocjEgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUgKyAzICogZGEpLCByMSAqIChmbG9h
dClNYXRoLnNpbihhbmdsZSArIDMgKiBkYSksIHdpZHRoICogMC41Zik7DQogICAgICAgICAgZ2wu
Z2xWZXJ0ZXgzZihyMSAqIChmbG9hdClNYXRoLmNvcyhhbmdsZSArIDMgKiBkYSksIHIxICogKGZs
b2F0KU1hdGguc2luKGFuZ2xlICsgMyAqIGRhKSwgLXdpZHRoICogMC41Zik7DQogICAgICAgICAg
Z2wuZ2xOb3JtYWwzZigoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCAoZmxvYXQpTWF0aC5zaW4oYW5n
bGUpLCAwLjBmKTsNCiAgICAgICAgfQ0KICAgICAgZ2wuZ2xWZXJ0ZXgzZihyMSAqIChmbG9hdClN
YXRoLmNvcygwKSwgcjEgKiAoZmxvYXQpTWF0aC5zaW4oMCksIHdpZHRoICogMC41Zik7DQogICAg
ICBnbC5nbFZlcnRleDNmKHIxICogKGZsb2F0KU1hdGguY29zKDApLCByMSAqIChmbG9hdClNYXRo
LnNpbigwKSwgLXdpZHRoICogMC41Zik7DQogICAgICBnbC5nbEVuZCgpOw0KICAgIA0KICAgICAg
Z2wuZ2xTaGFkZU1vZGVsKEdMLkdMX1NNT09USCk7DQogICAgDQogICAgICAvKiBkcmF3IGluc2lk
ZSByYWRpdXMgY3lsaW5kZXIgKi8NCiAgICAgIGdsLmdsQmVnaW4oR0wuR0xfUVVBRF9TVFJJUCk7
DQogICAgICBmb3IgKGkgPSAwOyBpIDw9IHRlZXRoOyBpKyspDQogICAgICAgIHsNCiAgICAgICAg
ICBhbmdsZSA9IGkgKiAyLjBmICogKGZsb2F0KSBNYXRoLlBJIC8gdGVldGg7DQogICAgICAgICAg
Z2wuZ2xOb3JtYWwzZigtKGZsb2F0KU1hdGguY29zKGFuZ2xlKSwgLShmbG9hdClNYXRoLnNpbihh
bmdsZSksIDAuMGYpOw0KICAgICAgICAgIGdsLmdsVmVydGV4M2YocjAgKiAoZmxvYXQpTWF0aC5j
b3MoYW5nbGUpLCByMCAqIChmbG9hdClNYXRoLnNpbihhbmdsZSksIC13aWR0aCAqIDAuNWYpOw0K
ICAgICAgICAgIGdsLmdsVmVydGV4M2YocjAgKiAoZmxvYXQpTWF0aC5jb3MoYW5nbGUpLCByMCAq
IChmbG9hdClNYXRoLnNpbihhbmdsZSksIHdpZHRoICogMC41Zik7DQogICAgICAgIH0NCiAgICAg
IGdsLmdsRW5kKCk7DQogICAgfQ0KDQogICAgLy8gTWV0aG9kcyByZXF1aXJlZCBmb3IgdGhlIGlt
cGxlbWVudGF0aW9uIG9mIE1vdXNlTGlzdGVuZXINCiAgICBwdWJsaWMgdm9pZCBtb3VzZUVudGVy
ZWQoTW91c2VFdmVudCBlKSB7fQ0KICAgIHB1YmxpYyB2b2lkIG1vdXNlRXhpdGVkKE1vdXNlRXZl
bnQgZSkge30NCg0KICAgIHB1YmxpYyB2b2lkIG1vdXNlUHJlc3NlZChNb3VzZUV2ZW50IGUpIHsN
CiAgICAgIHByZXZNb3VzZVggPSBlLmdldFgoKTsNCiAgICAgIHByZXZNb3VzZVkgPSBlLmdldFko
KTsNCiAgICAgIGlmICgoZS5nZXRNb2RpZmllcnMoKSAmIGUuQlVUVE9OM19NQVNLKSAhPSAwKSB7
DQogICAgICAgIG1vdXNlUkJ1dHRvbkRvd24gPSB0cnVlOw0KICAgICAgfQ0KICAgIH0NCiAgICAN
CiAgICBwdWJsaWMgdm9pZCBtb3VzZVJlbGVhc2VkKE1vdXNlRXZlbnQgZSkgew0KICAgICAgaWYg
KChlLmdldE1vZGlmaWVycygpICYgZS5CVVRUT04zX01BU0spICE9IDApIHsNCiAgICAgICAgbW91
c2VSQnV0dG9uRG93biA9IGZhbHNlOw0KICAgICAgfQ0KICAgIH0NCiAgICANCiAgICBwdWJsaWMg
dm9pZCBtb3VzZUNsaWNrZWQoTW91c2VFdmVudCBlKSB7fQ0KICAgIA0KICAgIC8vIE1ldGhvZHMg
cmVxdWlyZWQgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBNb3VzZU1vdGlvbkxpc3RlbmVyDQog
ICAgcHVibGljIHZvaWQgbW91c2VEcmFnZ2VkKE1vdXNlRXZlbnQgZSkgew0KICAgICAgaW50IHgg
PSBlLmdldFgoKTsNCiAgICAgIGludCB5ID0gZS5nZXRZKCk7DQogICAgICBEaW1lbnNpb24gc2l6
ZSA9IGUuZ2V0Q29tcG9uZW50KCkuZ2V0U2l6ZSgpOw0KDQogICAgICBmbG9hdCB0aGV0YVkgPSAz
NjAuMGYgKiAoIChmbG9hdCkoeC1wcmV2TW91c2VYKS8oZmxvYXQpc2l6ZS53aWR0aCk7DQogICAg
ICBmbG9hdCB0aGV0YVggPSAzNjAuMGYgKiAoIChmbG9hdCkocHJldk1vdXNlWS15KS8oZmxvYXQp
c2l6ZS5oZWlnaHQpOw0KICAgIA0KICAgICAgcHJldk1vdXNlWCA9IHg7DQogICAgICBwcmV2TW91
c2VZID0geTsNCg0KICAgICAgdmlld19yb3R4ICs9IHRoZXRhWDsNCiAgICAgIHZpZXdfcm90eSAr
PSB0aGV0YVk7DQogICAgfQ0KICAgIA0KICAgIHB1YmxpYyB2b2lkIG1vdXNlTW92ZWQoTW91c2VF
dmVudCBlKSB7fQ0KDQogICAgcHVibGljIHZvaWQgZGlzcGF0Y2hLZXkoaW50IGtleUNvZGUpIHsN
CiAgICAgIHN3aXRjaCAoa2V5Q29kZSkgew0KICAgICAgY2FzZSBLZXlFdmVudC5WS19ROg0KICAg
ICAgY2FzZSBLZXlFdmVudC5WS19FU0NBUEU6DQogICAgICAgIHJ1bkV4aXQoKTsNCiAgICAgIH0N
CiAgICB9DQogIH0NCg0KICBwdWJsaWMgdm9pZCBydW5FeGl0KCkgew0KICAgIC8vIFJ1biB0aGlz
IG9uIGFub3RoZXIgdGhyZWFkIHRoYW4gdGhlIEFXVCBldmVudCBxdWV1ZSB0bw0KICAgIC8vIG1h
a2Ugc3VyZSB0aGUgY2FsbCB0byBBbmltYXRvci5zdG9wKCkgY29tcGxldGVzIGJlZm9yZQ0KICAg
IC8vIGV4aXRpbmcNCiAgICBuZXcgVGhyZWFkKG5ldyBSdW5uYWJsZSgpIHsNCiAgICAgICAgcHVi
bGljIHZvaWQgcnVuKCkgew0KICAgICAgICAgIGFuaW1hdG9yLnN0b3AoKTsNCgkgIHRyeSB7DQoJ
ICAgICAgRXZlbnRRdWV1ZS5pbnZva2VBbmRXYWl0KG5ldyBSdW5uYWJsZSgpIHsNCgkJICAgICAg
cHVibGljIHZvaWQgcnVuKCkgew0KCQkJICBpZiAoZnVsbFNjcmVlbikgew0KCQkJICAgICAgdHJ5
IHsNCgkJCQkgIGRldi5zZXREaXNwbGF5TW9kZShvcmlnTW9kZSk7DQoJCQkgICAgICB9IGNhdGNo
IChFeGNlcHRpb24gZTEpIHsNCgkJCSAgICAgIH0NCgkJCSAgICAgIHRyeSB7DQoJCQkJICBkZXYu
c2V0RnVsbFNjcmVlbldpbmRvdyhudWxsKTsNCgkJCSAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBl
Mikgew0KCQkJICAgICAgfQ0KCQkJICAgICAgZnVsbFNjcmVlbiA9IGZhbHNlOw0KCQkJICB9DQoJ
CSAgICAgIH0NCgkJICB9KTsNCgkgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7DQoJICAgICAgZS5w
cmludFN0YWNrVHJhY2UoKTsNCgkgIH0NCiAgICAgICAgICBTeXN0ZW0uZXhpdCgwKTsNCiAgICAg
ICAgfQ0KICAgICAgfSkuc3RhcnQoKTsNCiAgfQ0KfQ0KDQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>55</attachid>
            <date>2005-05-26 15:08:00 +0200</date>
            <delta_ts>2005-05-26 15:08:00 +0200</delta_ts>
            <desc>Helper class for fullscreen Gears demo</desc>
            <filename>ScreenResSelector.java</filename>
            <type>text/plain</type>
            <size>6563</size>
            <attacher name="Sven Gothel">sgothel</attacher>
            
              <data encoding="base64">aW1wb3J0IGphdmEuYXd0Lio7DQppbXBvcnQgamF2YS5hd3QuZXZlbnQuKjsNCmltcG9ydCBqYXZh
LnV0aWwuKjsNCmltcG9ydCBqYXZheC5zd2luZy4qOw0KDQpwdWJsaWMgY2xhc3MgU2NyZWVuUmVz
U2VsZWN0b3Igew0KICBzdGF0aWMgaW50ZXJmYWNlIERpc3BsYXlNb2RlRmlsdGVyIHsNCiAgICBw
dWJsaWMgYm9vbGVhbiBmaWx0ZXIoRGlzcGxheU1vZGUgbW9kZSk7DQogIH0NCg0KICBwdWJsaWMg
c3RhdGljIGphdmEudXRpbC5MaXN0IGdldEF2YWlsYWJsZURpc3BsYXlNb2RlcygpIHsNCiAgICBq
YXZhLnV0aWwuTGlzdCBtb2RlcyA9IGdldERpc3BsYXlNb2RlcygpOw0KICAgIGZpbmFsIERpc3Bs
YXlNb2RlIGN1ck1vZGUgPSBnZXRDdXJyZW50RGlzcGxheU1vZGUoKTsNCiAgICAvLyBGaWx0ZXIg
ZXZlcnl0aGluZyB3aGljaCBpcyBoaWdoZXIgZnJlcXVlbmN5IHRoYW4gdGhlIGN1cnJlbnQNCiAg
ICAvLyBkaXNwbGF5IG1vZGUNCiAgICBtb2RlcyA9IGZpbHRlckRpc3BsYXlNb2Rlcyhtb2Rlcywg
bmV3IERpc3BsYXlNb2RlRmlsdGVyKCkgew0KICAgICAgICBwdWJsaWMgYm9vbGVhbiBmaWx0ZXIo
RGlzcGxheU1vZGUgbW9kZSkgew0KICAgICAgICAgIHJldHVybiAobW9kZS5nZXRSZWZyZXNoUmF0
ZSgpIDw9IGN1ck1vZGUuZ2V0UmVmcmVzaFJhdGUoKSk7DQogICAgICAgIH0NCiAgICAgIH0pOw0K
ICAgIC8vIEZpbHRlciBldmVyeXRoaW5nIHRoYXQgaXMgbm90IGF0IGxlYXN0IDI0LWJpdA0KICAg
IG1vZGVzID0gZmlsdGVyRGlzcGxheU1vZGVzKG1vZGVzLCBuZXcgRGlzcGxheU1vZGVGaWx0ZXIo
KSB7DQogICAgICAgIHB1YmxpYyBib29sZWFuIGZpbHRlcihEaXNwbGF5TW9kZSBtb2RlKSB7DQog
ICAgICAgICAgcmV0dXJuIChtb2RlLmdldEJpdERlcHRoKCkgPj0gMjQpOw0KICAgICAgICB9DQog
ICAgICB9KTsNCiAgICAvLyBGaWx0ZXIgZXZlcnl0aGluZyBsZXNzIHRoYW4gNjQweDQ4MA0KICAg
IG1vZGVzID0gZmlsdGVyRGlzcGxheU1vZGVzKG1vZGVzLCBuZXcgRGlzcGxheU1vZGVGaWx0ZXIo
KSB7DQogICAgICAgIHB1YmxpYyBib29sZWFuIGZpbHRlcihEaXNwbGF5TW9kZSBtb2RlKSB7DQog
ICAgICAgICAgcmV0dXJuIChtb2RlLmdldFdpZHRoKCkgPj0gNjQwICYmIG1vZGUuZ2V0SGVpZ2h0
KCkgPj0gNDgwKTsNCiAgICAgICAgfQ0KICAgICAgfSk7DQogICAgaWYgKG1vZGVzLnNpemUoKSA9
PSAwKSB7DQogICAgICB0aHJvdyBuZXcgUnVudGltZUV4Y2VwdGlvbigiQ291bGRuJ3QgZmluZCBh
bnkgdmFsaWQgZGlzcGxheSBtb2RlcyIpOw0KICAgIH0NCiAgICByZXR1cm4gbW9kZXM7DQogIH0N
Cg0KICAvKiogU2hvd3MgYSBtb2RhbCBkaWFsb2cgY29udGFpbmluZyB0aGUgYXZhaWxhYmxlIHNj
cmVlbiByZXNvbHV0aW9ucw0KICAgICAgYW5kIHJlcXVlc3RzIHNlbGVjdGlvbiBvZiBvbmUgb2Yg
dGhlbS4gUmV0dXJucyB0aGUgc2VsZWN0ZWQgb25lLiAqLw0KICBwdWJsaWMgc3RhdGljIERpc3Bs
YXlNb2RlIHNob3dTZWxlY3Rpb25EaWFsb2coKSB7DQogICAgU2VsZWN0aW9uRGlhbG9nIGRpYWxv
ZyA9IG5ldyBTZWxlY3Rpb25EaWFsb2coKTsNCiAgICBkaWFsb2cuc2hvdygpOw0KICAgIGRpYWxv
Zy53YWl0Rm9yKCk7DQogICAgcmV0dXJuIGRpYWxvZy5zZWxlY3RlZCgpOw0KICB9DQoNCiAgcHVi
bGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgew0KICAgIERpc3BsYXlNb2RlIG1v
ZGUgPSBzaG93U2VsZWN0aW9uRGlhbG9nKCk7DQogICAgaWYgKG1vZGUgIT0gbnVsbCkgew0KICAg
ICAgU3lzdGVtLmVyci5wcmludGxuKCJTZWxlY3RlZCBkaXNwbGF5IG1vZGU6Iik7DQogICAgICBT
eXN0ZW0uZXJyLnByaW50bG4obW9kZVRvU3RyaW5nKG1vZGUpKTsNCiAgICB9IGVsc2Ugew0KICAg
ICAgU3lzdGVtLmVyci5wcmludGxuKCJObyBkaXNwbGF5IG1vZGUgc2VsZWN0ZWQuIik7DQogICAg
fQ0KICAgIFN5c3RlbS5leGl0KDApOw0KICB9DQoNCiAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogIC8vIElu
dGVybmFscyBvbmx5IGJlbG93IHRoaXMgcG9pbnQNCiAgLy8NCg0KICBwcml2YXRlIHN0YXRpYyBE
aXNwbGF5TW9kZSBnZXRDdXJyZW50RGlzcGxheU1vZGUoKSB7DQogICAgR3JhcGhpY3NEZXZpY2Ug
ZGV2ID0gZ2V0RGVmYXVsdFNjcmVlbkRldmljZSgpOw0KICAgIHJldHVybiBkZXYuZ2V0RGlzcGxh
eU1vZGUoKTsNCiAgfQ0KDQogIHByaXZhdGUgc3RhdGljIGphdmEudXRpbC5MaXN0Lyo8RGlzcGxh
eU1vZGU+Ki8gZ2V0RGlzcGxheU1vZGVzKCkgew0KICAgIEdyYXBoaWNzRGV2aWNlIGRldiA9IGdl
dERlZmF1bHRTY3JlZW5EZXZpY2UoKTsNCiAgICBEaXNwbGF5TW9kZVtdIG1vZGVzID0gZGV2Lmdl
dERpc3BsYXlNb2RlcygpOw0KICAgIHJldHVybiB0b0xpc3QobW9kZXMpOw0KICB9DQoNCiAgcHJp
dmF0ZSBzdGF0aWMgR3JhcGhpY3NEZXZpY2UgZ2V0RGVmYXVsdFNjcmVlbkRldmljZSgpIHsNCiAg
ICByZXR1cm4gR3JhcGhpY3NFbnZpcm9ubWVudC5nZXRMb2NhbEdyYXBoaWNzRW52aXJvbm1lbnQo
KS5nZXREZWZhdWx0U2NyZWVuRGV2aWNlKCk7DQogIH0NCg0KICBwcml2YXRlIHN0YXRpYyBqYXZh
LnV0aWwuTGlzdC8qPERpc3BsYXlNb2RlPiovIHRvTGlzdChEaXNwbGF5TW9kZVtdIG1vZGVzKSB7
DQogICAgamF2YS51dGlsLkxpc3QgcmVzID0gbmV3IEFycmF5TGlzdCgpOw0KICAgIGZvciAoaW50
IGkgPSAwOyBpIDwgbW9kZXMubGVuZ3RoOyBpKyspIHsNCiAgICAgIHJlcy5hZGQobW9kZXNbaV0p
Ow0KICAgIH0NCiAgICByZXR1cm4gcmVzOw0KICB9DQoNCiAgcHJpdmF0ZSBzdGF0aWMgU3RyaW5n
IG1vZGVUb1N0cmluZyhEaXNwbGF5TW9kZSBtb2RlKSB7DQogICAgcmV0dXJuIChtb2RlLmdldEJp
dERlcHRoKCkgKyAiIGJpdHMsICIgKw0KICAgICAgICAgICAgbW9kZS5nZXRXaWR0aCgpICsgIngi
ICsgbW9kZS5nZXRIZWlnaHQoKSArICIsICIgKw0KICAgICAgICAgICAgbW9kZS5nZXRSZWZyZXNo
UmF0ZSgpICsgIiBIeiIpOw0KICB9DQoNCiAgcHJpdmF0ZSBzdGF0aWMgU3RyaW5nW10gbW9kZXNU
b1N0cmluZyhqYXZhLnV0aWwuTGlzdC8qPERpc3BsYXlNb2RlPiovIG1vZGVzKSB7DQogICAgU3Ry
aW5nW10gcmVzID0gbmV3IFN0cmluZ1ttb2Rlcy5zaXplKCldOw0KICAgIGludCBpID0gMDsNCiAg
ICBmb3IgKEl0ZXJhdG9yIGl0ZXIgPSBtb2Rlcy5pdGVyYXRvcigpOyBpdGVyLmhhc05leHQoKTsg
KSB7DQogICAgICByZXNbaSsrXSA9IG1vZGVUb1N0cmluZygoRGlzcGxheU1vZGUpIGl0ZXIubmV4
dCgpKTsNCiAgICB9DQogICAgcmV0dXJuIHJlczsNCiAgfQ0KDQogIHByaXZhdGUgc3RhdGljIGph
dmEudXRpbC5MaXN0Lyo8RGlzcGxheU1vZGU+Ki8gZmlsdGVyRGlzcGxheU1vZGVzKGphdmEudXRp
bC5MaXN0Lyo8RGlzcGxheU1vZGU+Ki8gbW9kZXMsDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXlNb2RlRmls
dGVyIGZpbHRlcikgew0KICAgIGphdmEudXRpbC5MaXN0IHJlcyA9IG5ldyBBcnJheUxpc3QoKTsN
CiAgICBmb3IgKEl0ZXJhdG9yIGl0ZXIgPSBtb2Rlcy5pdGVyYXRvcigpOyBpdGVyLmhhc05leHQo
KTsgKSB7DQogICAgICBEaXNwbGF5TW9kZSBtb2RlID0gKERpc3BsYXlNb2RlKSBpdGVyLm5leHQo
KTsNCiAgICAgIGlmIChmaWx0ZXIuZmlsdGVyKG1vZGUpKSB7DQogICAgICAgIHJlcy5hZGQobW9k
ZSk7DQogICAgICB9DQogICAgfQ0KICAgIHJldHVybiByZXM7DQogIH0NCg0KICBzdGF0aWMgY2xh
c3MgU2VsZWN0aW9uRGlhbG9nIGV4dGVuZHMgSkZyYW1lIHsNCiAgICBwcml2YXRlIE9iamVjdCBt
b25pdG9yID0gbmV3IE9iamVjdCgpOw0KICAgIHByaXZhdGUgamF2YS51dGlsLkxpc3QgbW9kZXM7
DQogICAgcHJpdmF0ZSB2b2xhdGlsZSBib29sZWFuIGRvbmUgPSBmYWxzZTsNCiAgICBwcml2YXRl
IHZvbGF0aWxlIGludCBzZWxlY3RlZEluZGV4Ow0KDQogICAgcHVibGljIFNlbGVjdGlvbkRpYWxv
ZygpIHsNCiAgICAgIHN1cGVyKCk7DQoNCiAgICAgIHNldFRpdGxlKCJEaXNwbGF5IE1vZGVzIik7
DQogICAgICBtb2RlcyA9IGdldEF2YWlsYWJsZURpc3BsYXlNb2RlcygpOw0KICAgICAgU3RyaW5n
W10gc3RyaW5ncyA9IG1vZGVzVG9TdHJpbmcobW9kZXMpOw0KICAgICAgZmluYWwgSkxpc3QgbW9k
ZUxpc3QgPSBuZXcgSkxpc3Qoc3RyaW5ncyk7DQogICAgICBtb2RlTGlzdC5zZXRTZWxlY3Rpb25N
b2RlKExpc3RTZWxlY3Rpb25Nb2RlbC5TSU5HTEVfU0VMRUNUSU9OKTsNCiAgICAgIG1vZGVMaXN0
LnNldFNlbGVjdGVkSW5kZXgoMCk7DQogICAgICBKU2Nyb2xsUGFuZSBzY3JvbGxlciA9IG5ldyBK
U2Nyb2xsUGFuZShtb2RlTGlzdCk7DQogICAgICBnZXRDb250ZW50UGFuZSgpLnNldExheW91dChu
ZXcgQm9yZGVyTGF5b3V0KCkpOw0KICAgICAgZ2V0Q29udGVudFBhbmUoKS5hZGQoQm9yZGVyTGF5
b3V0Lk5PUlRILCBuZXcgSkxhYmVsKCJTZWxlY3QgZGlzcGxheSBtb2RlOiIpKTsNCiAgICAgIGdl
dENvbnRlbnRQYW5lKCkuYWRkKEJvcmRlckxheW91dC5DRU5URVIsIHNjcm9sbGVyKTsNCiAgICAg
IEpQYW5lbCBidXR0b25QYW5lbCA9IG5ldyBKUGFuZWwoKTsNCiAgICAgIGJ1dHRvblBhbmVsLnNl
dExheW91dChuZXcgQm94TGF5b3V0KGJ1dHRvblBhbmVsLCBCb3hMYXlvdXQuWF9BWElTKSk7DQog
ICAgICBidXR0b25QYW5lbC5hZGQoQm94LmNyZWF0ZUdsdWUoKSk7DQogICAgICBKQnV0dG9uIGJ1
dHRvbiA9IG5ldyBKQnV0dG9uKCJPSyIpOw0KICAgICAgYnV0dG9uLmFkZEFjdGlvbkxpc3RlbmVy
KG5ldyBBY3Rpb25MaXN0ZW5lcigpIHsNCiAgICAgICAgICBwdWJsaWMgdm9pZCBhY3Rpb25QZXJm
b3JtZWQoQWN0aW9uRXZlbnQgZSkgew0KICAgICAgICAgICAgc2VsZWN0ZWRJbmRleCA9IG1vZGVM
aXN0LmdldFNlbGVjdGVkSW5kZXgoKTsNCiAgICAgICAgICAgIGRvbmUgPSB0cnVlOw0KICAgICAg
ICAgICAgc3luY2hyb25pemVkKG1vbml0b3IpIHsNCiAgICAgICAgICAgICAgbW9uaXRvci5ub3Rp
ZnkoKTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGhpZGUoKTsNCiAgICAgICAgICAgIGRp
c3Bvc2UoKTsNCiAgICAgICAgICB9DQogICAgICAgIH0pOw0KICAgICAgYnV0dG9uUGFuZWwuYWRk
KGJ1dHRvbik7DQogICAgICBidXR0b25QYW5lbC5hZGQoQm94LmNyZWF0ZUhvcml6b250YWxTdHJ1
dCgxMCkpOw0KICAgICAgYnV0dG9uID0gbmV3IEpCdXR0b24oIkNhbmNlbCIpOw0KICAgICAgYnV0
dG9uLmFkZEFjdGlvbkxpc3RlbmVyKG5ldyBBY3Rpb25MaXN0ZW5lcigpIHsNCiAgICAgICAgICBw
dWJsaWMgdm9pZCBhY3Rpb25QZXJmb3JtZWQoQWN0aW9uRXZlbnQgZSkgew0KICAgICAgICAgICAg
c2VsZWN0ZWRJbmRleCA9IC0xOw0KICAgICAgICAgICAgZG9uZSA9IHRydWU7DQogICAgICAgICAg
ICBzeW5jaHJvbml6ZWQobW9uaXRvcikgew0KICAgICAgICAgICAgICBtb25pdG9yLm5vdGlmeSgp
Ow0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgaGlkZSgpOw0KICAgICAgICAgICAgZGlzcG9z
ZSgpOw0KICAgICAgICAgIH0NCiAgICAgICAgfSk7DQogICAgICBidXR0b25QYW5lbC5hZGQoYnV0
dG9uKTsNCiAgICAgIGJ1dHRvblBhbmVsLmFkZChCb3guY3JlYXRlR2x1ZSgpKTsNCiAgICAgIGdl
dENvbnRlbnRQYW5lKCkuYWRkKEJvcmRlckxheW91dC5TT1VUSCwgYnV0dG9uUGFuZWwpOw0KICAg
ICAgcGFjaygpOw0KICAgICAgY2VudGVyKHRoaXMsIFRvb2xraXQuZ2V0RGVmYXVsdFRvb2xraXQo
KS5nZXRTY3JlZW5TaXplKCkpOw0KICAgIH0NCg0KICAgIHB1YmxpYyB2b2lkIHdhaXRGb3IoKSB7
DQogICAgICBzeW5jaHJvbml6ZWQobW9uaXRvcikgew0KICAgICAgICB3aGlsZSAoIWRvbmUpIHsN
CiAgICAgICAgICB0cnkgew0KICAgICAgICAgICAgbW9uaXRvci53YWl0KCk7DQogICAgICAgICAg
fSBjYXRjaCAoSW50ZXJydXB0ZWRFeGNlcHRpb24gZSkgew0KICAgICAgICAgIH0NCiAgICAgICAg
fQ0KICAgICAgfQ0KICAgIH0NCg0KICAgIHB1YmxpYyBEaXNwbGF5TW9kZSBzZWxlY3RlZCgpIHsN
CiAgICAgIGlmIChzZWxlY3RlZEluZGV4IDwgMCkgew0KICAgICAgICByZXR1cm4gbnVsbDsNCiAg
ICAgIH0gZWxzZSB7DQogICAgICAgIHJldHVybiAoRGlzcGxheU1vZGUpIG1vZGVzLmdldChzZWxl
Y3RlZEluZGV4KTsNCiAgICAgIH0NCiAgICB9DQogIH0NCg0KICBwcml2YXRlIHN0YXRpYyB2b2lk
IGNlbnRlcihDb21wb25lbnQgY29tcG9uZW50LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBEaW1lbnNpb24gY29udGFpbmVyRGltZW5zaW9uKSB7DQogICAgRGltZW5zaW9uIHN6ID0gY29t
cG9uZW50LmdldFNpemUoKTsNCiAgICBpbnQgeCA9ICgoY29udGFpbmVyRGltZW5zaW9uLndpZHRo
IC0gc3oud2lkdGgpIC8gMik7DQogICAgaW50IHkgPSAoKGNvbnRhaW5lckRpbWVuc2lvbi5oZWln
aHQgLSBzei5oZWlnaHQpIC8gMik7DQogICAgY29tcG9uZW50LnNldExvY2F0aW9uKHgsIHkpOw0K
ICB9DQp9DQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>