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

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>49962</bug_id>
          
          <creation_ts>2010-11-23 02:17:17 -0800</creation_ts>
          <short_desc>REGRESSION: Crash when deleting text after textarea&apos;s value is modified on input event</short_desc>
          <delta_ts>2010-12-03 11:26:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Wittemann">martin.wittemann</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>adele</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>jonnytrap</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>leviw</cc>
    
    <cc>mjs</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>312729</commentid>
    <comment_count>0</comment_count>
      <attachid>74635</attachid>
    <who name="Martin Wittemann">martin.wittemann</who>
    <bug_when>2010-11-23 02:17:17 -0800</bug_when>
    <thetext>Created attachment 74635
Test-Case

I used a textarea and implemented a max length myself using JavaScript. The code is pretty simple, listen to the input event and set the value using substring if its longer than desired. Unfortunately, I found a way to crash the whole browser with that. Just take a look at the attached HTML file to get it reproduced.





Here is error report from the OS:

Process:         Safari [16809]
Path:            /Applications/Safari.app/Contents/MacOS/Safari
Identifier:      org.webkit.nightly.WebKit
Version:         r72487 (72487)
Code Type:       X86-64 (Native)
Parent Process:  launchd [111]

Date/Time:       2010-11-23 11:10:29.995 +0100
OS Version:      Mac OS X 10.6.5 (10H574)
Report Version:  6

Interval Since Last Report:          263228 sec
Crashes Since Last Report:           4
Per-App Interval Since Last Report:  10 sec
Per-App Crashes Since Last Report:   1
Anonymous UUID:                      5CB4CEA0-9960-40A1-891D-2912B992C400

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000050
Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Thread 0 Crashed:  Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010180c1ef WebCore::TypingCommand::makeEditableRootEmpty() + 31
1   com.apple.WebCore             	0x000000010180deb8 WebCore::TypingCommand::deleteKeyPressed(WebCore::TextGranularity, bool) + 4312
2   com.apple.WebCore             	0x000000010180e9fe WebCore::TypingCommand::deleteKeyPressed(WebCore::Document*, bool, WebCore::TextGranularity, bool) + 286
3   com.apple.WebCore             	0x0000000100edd711 WebCore::Editor::deleteWithDirection(WebCore::SelectionController::EDirection, WebCore::TextGranularity, bool, bool) + 321
4   com.apple.WebCore             	0x0000000100ee5ccf WebCore::executeDeleteBackward(WebCore::Frame*, WebCore::Event*, WebCore::EditorCommandSource, WTF::String const&amp;) + 31
5   com.apple.WebCore             	0x0000000100ee4a41 WebCore::Editor::Command::execute(WTF::String const&amp;, WebCore::Event*) const + 113
6   com.apple.WebCore             	0x0000000100ee5de2 WebCore::Editor::Command::execute(WebCore::Event*) const + 34
7   com.apple.WebKit              	0x0000000100a528b0 -[WebHTMLView(WebNSTextInputSupport) doCommandBySelector:] + 560
8   com.apple.WebKit              	0x0000000100a52636 -[WebHTMLView(WebInternal) _interceptEditingKeyEvent:shouldSaveCommand:] + 726
9   com.apple.WebKit              	0x0000000100a18cf8 WebEditorClient::handleKeyboardEvent(WebCore::KeyboardEvent*) + 88
10  com.apple.WebCore             	0x0000000100f01f72 WebCore::EventHandler::defaultKeyboardEventHandler(WebCore::KeyboardEvent*) + 258
11  com.apple.WebCore             	0x000000010155e815 WebCore::Node::defaultEventHandler(WebCore::Event*) + 709
12  com.apple.WebCore             	0x000000010155c18f WebCore::Node::dispatchGenericEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;) + 1151
13  com.apple.WebCore             	0x000000010155c422 WebCore::Node::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;) + 178
14  com.apple.WebCore             	0x0000000100f08537 WebCore::EventTarget::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;, int&amp;) + 135
15  com.apple.WebCore             	0x0000000100ef9bf9 WebCore::EventHandler::keyEvent(WebCore::PlatformKeyboardEvent const&amp;) + 681
16  com.apple.WebCore             	0x0000000100f04b20 WebCore::EventHandler::keyEvent(NSEvent*) + 128
17  com.apple.WebKit              	0x0000000100a4d762 -[WebHTMLView keyDown:] + 274
18  com.apple.AppKit              	0x00007fff8278406f -[NSWindow sendEvent:] + 8769
19  com.apple.Safari              	0x0000000100042489 0x100000000 + 271497
20  com.apple.Safari              	0x0000000100042416 0x100000000 + 271382
21  com.apple.AppKit              	0x00007fff826b8a86 -[NSApplication sendEvent:] + 4719
22  com.apple.Safari              	0x0000000100039146 0x100000000 + 233798
23  com.apple.AppKit              	0x00007fff8264f4da -[NSApplication run] + 474
24  com.apple.AppKit              	0x00007fff826481a8 NSApplicationMain + 364
25  com.apple.Safari              	0x000000010000a1c0 0x100000000 + 41408

Thread 1:  Dispatch queue: com.apple.libdispatch-manager
0   libSystem.B.dylib             	0x00007fff8149516a kevent + 10
1   libSystem.B.dylib             	0x00007fff8149703d _dispatch_mgr_invoke + 154
2   libSystem.B.dylib             	0x00007fff81496d14 _dispatch_queue_invoke + 185
3   libSystem.B.dylib             	0x00007fff8149683e _dispatch_worker_thread2 + 252
4   libSystem.B.dylib             	0x00007fff81496168 _pthread_wqthread + 353
5   libSystem.B.dylib             	0x00007fff81496005 start_wqthread + 13

Thread 2:
0   libSystem.B.dylib             	0x00007fff81495f8a __workq_kernreturn + 10
1   libSystem.B.dylib             	0x00007fff8149639c _pthread_wqthread + 917
2   libSystem.B.dylib             	0x00007fff81496005 start_wqthread + 13

Thread 3:  WebCore: IconDatabase
0   libSystem.B.dylib             	0x00007fff814b6fca __semwait_signal + 10
1   libSystem.B.dylib             	0x00007fff814bade1 _pthread_cond_wait + 1286
2   com.apple.WebCore             	0x000000010106c24d WebCore::IconDatabase::syncThreadMainLoop() + 269
3   com.apple.WebCore             	0x000000010106c38c WebCore::IconDatabase::iconDatabaseSyncThread() + 172
4   libSystem.B.dylib             	0x00007fff814b5536 _pthread_start + 331
5   libSystem.B.dylib             	0x00007fff814b53e9 thread_start + 13

Thread 4:  Safari: SafeBrowsingManager
0   libSystem.B.dylib             	0x00007fff8147c2da mach_msg_trap + 10
1   libSystem.B.dylib             	0x00007fff8147c94d mach_msg + 59
2   com.apple.CoreFoundation      	0x00007fff80cf4932 __CFRunLoopRun + 1698
3   com.apple.CoreFoundation      	0x00007fff80cf3dbf CFRunLoopRunSpecific + 575
4   com.apple.Safari              	0x000000010002f899 0x100000000 + 194713
5   com.apple.Safari              	0x000000010002f829 0x100000000 + 194601
6   libSystem.B.dylib             	0x00007fff814b5536 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff814b53e9 thread_start + 13

Thread 5:
0   libSystem.B.dylib             	0x00007fff8147c2da mach_msg_trap + 10
1   libSystem.B.dylib             	0x00007fff8147c94d mach_msg + 59
2   com.apple.CoreFoundation      	0x00007fff80cf4932 __CFRunLoopRun + 1698
3   com.apple.CoreFoundation      	0x00007fff80cf3dbf CFRunLoopRunSpecific + 575
4   com.apple.Foundation          	0x00007fff806d207f +[NSURLConnection(NSURLConnectionReallyInternal) _resourceLoadLoop:] + 297
5   com.apple.Foundation          	0x00007fff806530a5 __NSThread__main__ + 1429
6   libSystem.B.dylib             	0x00007fff814b5536 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff814b53e9 thread_start + 13

Thread 6:  com.apple.CFSocket.private
0   libSystem.B.dylib             	0x00007fff814bfe92 select$DARWIN_EXTSN + 10
1   com.apple.CoreFoundation      	0x00007fff80d16498 __CFSocketManager + 824
2   libSystem.B.dylib             	0x00007fff814b5536 _pthread_start + 331
3   libSystem.B.dylib             	0x00007fff814b53e9 thread_start + 13

Thread 7:  Safari: SnapshotStore
0   libSystem.B.dylib             	0x00007fff814b6fca __semwait_signal + 10
1   libSystem.B.dylib             	0x00007fff814bade1 _pthread_cond_wait + 1286
2   com.apple.JavaScriptCore      	0x000000010090c140 WTF::ThreadCondition::timedWait(WTF::Mutex&amp;, double) + 64
3   com.apple.Safari              	0x00000001001be869 0x100000000 + 1828969
4   com.apple.Safari              	0x000000010004737b 0x100000000 + 291707
5   com.apple.Safari              	0x00000001000471f9 0x100000000 + 291321
6   libSystem.B.dylib             	0x00007fff814b5536 _pthread_start + 331
7   libSystem.B.dylib             	0x00007fff814b53e9 thread_start + 13

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x0000000000000000  rcx: 0x0000000000000000  rdx: 0x00000001177397e8
  rdi: 0x0000000000000000  rsi: 0x0000000000000000  rbp: 0x00007fff5fbfe660  rsp: 0x00007fff5fbfe5b0
   r8: 0x0000000000000001   r9: 0x0000000000000000  r10: 0x000000011772853c  r11: 0x0000000100cea3d0
  r12: 0x0000000117682ce8  r13: 0x0000000117682c60  r14: 0x0000000000000000  r15: 0x0000000000000000
  rip: 0x000000010180c1ef  rfl: 0x0000000000010202  cr2: 0x0000000000000050

Binary Images:
       0x100000000 -        0x1006afff7  com.apple.Safari 5.0.3 (6533.19.4) &lt;B19794C1-5278-9BBE-1505-AB9C9DDA84E0&gt; /Applications/Safari.app/Contents/MacOS/Safari
       0x100758000 -        0x10075bfff +WebKitNightlyEnabler.dylib ??? (???) &lt;DA8C170E-F60F-7B64-82B2-34C57B71362B&gt; /Applications/WebKit.app/Contents/Resources/WebKitNightlyEnabler.dylib
       0x100760000 -        0x10096bff7  com.apple.JavaScriptCore 534+ (534.13+) &lt;9EF5ED80-75D4-F25D-C613-69C2894AE751&gt; /Applications/WebKit.app/Contents/Frameworks/10.6/JavaScriptCore.framework/Versions/A/JavaScriptCore
       0x1009df000 -        0x100b6bfef  com.apple.WebKit r72487 (534.13+) &lt;A59EAD09-1169-E3F0-A527-F0243D870AB0&gt; /Applications/WebKit.app/Contents/Frameworks/10.6/WebKit.framework/Versions/A/WebKit
       0x100c41000 -        0x101be8ff7  com.apple.WebCore 534+ (534.13+) &lt;2DC355E5-D25A-83EB-A975-06208CA6F0B4&gt; /Applications/WebKit.app/Contents/Frameworks/10.6/WebCore.framework/Versions/A/WebCore
       0x1022e4000 -        0x10230dff7 +org.andymatuschak.Sparkle 1.5 Beta (git) (830f633) &lt;945EA036-7EC3-D020-C889-29ECB588B891&gt; /Applications/WebKit.app/Contents/Frameworks/10.6/Sparkle.framework/Versions/A/Sparkle
       0x102328000 -        0x10240efe7  libcrypto.0.9.7.dylib 0.9.7 (compatibility 0.9.7) &lt;64B3566E-5F3A-A466-ED3F-B91F4B3E5F56&gt; /usr/lib/libcrypto.0.9.7.dylib
    0x7fff5fc00000 -     0x7fff5fc3bdef  dyld 132.1 (???) &lt;B536F2F1-9DF1-3B6C-1C2C-9075EA219A06&gt; /usr/lib/dyld
    0x7fff80003000 -     0x7fff80005fff  libRadiance.dylib ??? (???) &lt;76438F90-DD4B-9941-9367-F2DFDF927876&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libRadiance.dylib
    0x7fff80006000 -     0x7fff8005bfef  com.apple.framework.familycontrols 2.0.1 (2010) &lt;239940AC-2427-44C6-9E29-998D0ABECDF3&gt; /System/Library/PrivateFrameworks/FamilyControls.framework/Versions/A/FamilyControls
    0x7fff8005c000 -     0x7fff800d9fef  com.apple.backup.framework 1.2.2 (1.2.2) &lt;BB72F0C7-20E2-76DC-6764-5B93A7AC0EB5&gt; /System/Library/PrivateFrameworks/Backup.framework/Versions/A/Backup
    0x7fff800da000 -     0x7fff80121ff7  com.apple.coreui 2 (114) &lt;31118426-355F-206A-65AB-CCA2D2D3EBD7&gt; /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/CoreUI
    0x7fff80122000 -     0x7fff8015dfff  com.apple.AE 496.4 (496.4) &lt;CB905496-4D6B-F26A-399D-840D26DBEE5B&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
    0x7fff8015e000 -     0x7fff8031cfff  libicucore.A.dylib 40.0.0 (compatibility 1.0.0) &lt;781E7B63-2AD0-E9BA-927C-4521DB616D02&gt; /usr/lib/libicucore.A.dylib
    0x7fff80322000 -     0x7fff80322ff7  com.apple.Cocoa 6.6 (???) &lt;C69E895A-1C66-3DA9-5F63-8BE85DB9C4E1&gt; /System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
    0x7fff80323000 -     0x7fff80325fff  com.apple.print.framework.Print 6.1 (237.1) &lt;CA8564FB-B366-7413-B12E-9892DA3C6157&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Print.framework/Versions/A/Print
    0x7fff8033f000 -     0x7fff803b0ff7  com.apple.AppleVAFramework 4.10.12 (4.10.12) &lt;1B68BE43-4C54-87F5-0723-0B0A14CD21E8&gt; /System/Library/PrivateFrameworks/AppleVA.framework/Versions/A/AppleVA
    0x7fff803ee000 -     0x7fff805a5fef  com.apple.ImageIO.framework 3.0.4 (3.0.4) &lt;2CB9997A-A28D-80BC-5921-E7D50BBCACA7&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO
    0x7fff805d6000 -     0x7fff805ebff7  com.apple.LangAnalysis 1.6.6 (1.6.6) &lt;DC999B32-BF41-94C8-0583-27D9AB463E8B&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/LangAnalysis.framework/Versions/A/LangAnalysis
    0x7fff805ec000 -     0x7fff80629fff  com.apple.LDAPFramework 2.0 (120.1) &lt;F3B7B267-D580-F287-6DE7-8AC91C92AB35&gt; /System/Library/Frameworks/LDAP.framework/Versions/A/LDAP
    0x7fff8062a000 -     0x7fff80635ff7  com.apple.speech.recognition.framework 3.11.1 (3.11.1) &lt;C359B93B-CC9B-FC0B-959E-FB10674103A7&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SpeechRecognition.framework/Versions/A/SpeechRecognition
    0x7fff80642000 -     0x7fff808c5ff7  com.apple.Foundation 6.6.4 (751.42) &lt;9A99D378-E97A-8C0F-3857-D0FAA30FCDD5&gt; /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation
    0x7fff808c6000 -     0x7fff808d5fff  com.apple.opengl 1.6.11 (1.6.11) &lt;43D5BE71-E1F6-6974-210C-17C68919AE08&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL
    0x7fff808d6000 -     0x7fff809effef  libGLProgrammability.dylib ??? (???) &lt;13E8114C-6E07-A66E-35E6-C185E54840AE&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib
    0x7fff809f0000 -     0x7fff80acafff  com.apple.vImage 4.0 (4.0) &lt;B5A8B93B-D302-BC30-5A18-922645DB2F56&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vImage.framework/Versions/A/vImage
    0x7fff80acb000 -     0x7fff80b1aff7  com.apple.DirectoryService.PasswordServerFramework 6.0 (6.0) &lt;F5B744D7-AEAF-6B66-43CF-6E31CDA18EAB&gt; /System/Library/PrivateFrameworks/PasswordServer.framework/Versions/A/PasswordServer
    0x7fff80ca8000 -     0x7fff80e1ffe7  com.apple.CoreFoundation 6.6.4 (550.42) &lt;770C572A-CF70-168F-F43C-242B9114FCB5&gt; /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
    0x7fff80e20000 -     0x7fff80ea5ff7  com.apple.print.framework.PrintCore 6.3 (312.7) &lt;CDFE82DD-D811-A091-179F-6E76069B432D&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A/PrintCore
    0x7fff80f33000 -     0x7fff81037fff  com.apple.PubSub 1.0.5 (65.20) &lt;67A088DF-7F4A-DC23-6F96-F9BAA4C238DC&gt; /System/Library/Frameworks/PubSub.framework/Versions/A/PubSub
    0x7fff81038000 -     0x7fff81142ff7  com.apple.MeshKitIO 1.1 (49.2) &lt;D7227401-9DC9-C2CB-C83B-C2B10C61D4E4&gt; /System/Library/PrivateFrameworks/MeshKit.framework/Versions/A/Frameworks/MeshKitIO.framework/Versions/A/MeshKitIO
    0x7fff81143000 -     0x7fff81149ff7  com.apple.DiskArbitration 2.3 (2.3) &lt;AAB5CC56-334A-3C60-3C27-54E8F34D754E&gt; /System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration
    0x7fff8114a000 -     0x7fff81448fe7  com.apple.HIToolbox 1.6.3 (???) &lt;CF0C8524-FA82-3908-ACD0-A9176C704AED&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
    0x7fff81449000 -     0x7fff81449ff7  com.apple.Accelerate 1.6 (Accelerate 1.6) &lt;15DF8B4A-96B2-CB4E-368D-DEC7DF6B62BB&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Accelerate
    0x7fff8147b000 -     0x7fff8163cfff  libSystem.B.dylib 125.2.1 (compatibility 1.0.0) &lt;71E6D4C9-F945-6EC2-998C-D61AD590DAB6&gt; /usr/lib/libSystem.B.dylib
    0x7fff8163d000 -     0x7fff8166ffff  libTrueTypeScaler.dylib ??? (???) &lt;B9ECE1BD-A716-9F65-6466-4444D641F584&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libTrueTypeScaler.dylib
    0x7fff81670000 -     0x7fff816b9ff7  com.apple.securityinterface 4.0.1 (37214) &lt;08DB37D6-A716-DC37-536C-7889999EF395&gt; /System/Library/Frameworks/SecurityInterface.framework/Versions/A/SecurityInterface
    0x7fff816ba000 -     0x7fff816d5ff7  com.apple.openscripting 1.3.1 (???) &lt;DC329CD4-1159-A40A-A769-70CAA70F601A&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/OpenScripting.framework/Versions/A/OpenScripting
    0x7fff818d5000 -     0x7fff81916fff  com.apple.SystemConfiguration 1.10.5 (1.10.2) &lt;FB39F09C-57BB-D8CC-348D-93E00C602F7D&gt; /System/Library/Frameworks/SystemConfiguration.framework/Versions/A/SystemConfiguration
    0x7fff8199e000 -     0x7fff819c1fff  com.apple.opencl 12.3 (12.3) &lt;D30A45FC-4520-45AF-3CA5-092313DB5D54&gt; /System/Library/Frameworks/OpenCL.framework/Versions/A/OpenCL
    0x7fff819c2000 -     0x7fff81a3eff7  com.apple.ISSupport 1.9.4 (52) &lt;93A57F16-3BD5-25AD-5CFF-00007A141129&gt; /System/Library/PrivateFrameworks/ISSupport.framework/Versions/A/ISSupport
    0x7fff81a3f000 -     0x7fff81b60fe7  libcrypto.0.9.8.dylib 0.9.8 (compatibility 0.9.8) &lt;48AEAFE1-21F4-B3C8-4199-35AD5E8D0613&gt; /usr/lib/libcrypto.0.9.8.dylib
    0x7fff81b61000 -     0x7fff82065fe7  com.apple.VideoToolbox 0.484.20 (484.20) &lt;8B6B82D2-350B-E9D3-5433-51453CDA65B4&gt; /System/Library/PrivateFrameworks/VideoToolbox.framework/Versions/A/VideoToolbox
    0x7fff82066000 -     0x7fff82067ff7  com.apple.audio.units.AudioUnit 1.6.5 (1.6.5) &lt;14F14B5E-9287-BC36-0C3F-6592E6696CD4&gt; /System/Library/Frameworks/AudioUnit.framework/Versions/A/AudioUnit
    0x7fff82144000 -     0x7fff82205fe7  libFontParser.dylib ??? (???) &lt;8B12D37E-3A95-5A73-509C-3AA991E0C546&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontParser.dylib
    0x7fff82206000 -     0x7fff82249ff7  libRIP.A.dylib 545.0.0 (compatibility 64.0.0) &lt;7E30B5F6-99FD-C716-8670-5DD4B4BAED72&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libRIP.A.dylib
    0x7fff8225f000 -     0x7fff822a7ff7  libvDSP.dylib 268.0.1 (compatibility 1.0.0) &lt;98FC4457-F405-0262-00F7-56119CA107B6&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvDSP.dylib
    0x7fff822a8000 -     0x7fff82645fe7  com.apple.QuartzCore 1.6.3 (227.34) &lt;215222AF-B30A-7CE5-C46C-1A766C1D1D2E&gt; /System/Library/Frameworks/QuartzCore.framework/Versions/A/QuartzCore
    0x7fff82646000 -     0x7fff8303cfff  com.apple.AppKit 6.6.7 (1038.35) &lt;9F4DF818-9DB9-98DA-490C-EF29EA757A97&gt; /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
    0x7fff8303d000 -     0x7fff8307efef  com.apple.QD 3.36 (???) &lt;5DC41E81-32C9-65B2-5528-B33E934D5BB4&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
    0x7fff8307f000 -     0x7fff83084fff  libGFXShared.dylib ??? (???) &lt;A94DE483-A586-A172-104F-1CFC5F0BFD57&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGFXShared.dylib
    0x7fff830d0000 -     0x7fff8333afef  com.apple.QuartzComposer 4.2 ({156.28}) &lt;7586E7BD-D3BD-0EAC-5AC9-0BFA3679017C&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzComposer.framework/Versions/A/QuartzComposer
    0x7fff83400000 -     0x7fff83642fef  com.apple.AddressBook.framework 5.0.3 (875) &lt;78FDBCC6-8F4C-C4DF-4A60-BB038572B870&gt; /System/Library/Frameworks/AddressBook.framework/Versions/A/AddressBook
    0x7fff83643000 -     0x7fff838c9fef  com.apple.security 6.1.1 (37594) &lt;17CF7858-52D9-9665-3AE8-23F07CC8BEA1&gt; /System/Library/Frameworks/Security.framework/Versions/A/Security
    0x7fff838ca000 -     0x7fff83904fff  libssl.0.9.8.dylib 0.9.8 (compatibility 0.9.8) &lt;C7153747-50E3-32DA-426F-CC4C505D1D6C&gt; /usr/lib/libssl.0.9.8.dylib
    0x7fff83905000 -     0x7fff839bafe7  com.apple.ColorSync 4.6.3 (4.6.3) &lt;AA93AD96-6974-9104-BF55-AF7A813C8A1B&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ColorSync.framework/Versions/A/ColorSync
    0x7fff83a30000 -     0x7fff83ae6fff  libobjc.A.dylib 227.0.0 (compatibility 1.0.0) &lt;1960E662-D35C-5D98-EB16-D43166AE6A22&gt; /usr/lib/libobjc.A.dylib
    0x7fff83ae7000 -     0x7fff83ae7ff7  com.apple.vecLib 3.6 (vecLib 3.6) &lt;96FB6BAD-5568-C4E0-6FA7-02791A58B584&gt; /System/Library/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff83b9f000 -     0x7fff83cddfff  com.apple.CoreData 102.1 (251) &lt;96C5E9A6-C28C-E9CC-A0DB-27801A22A49F&gt; /System/Library/Frameworks/CoreData.framework/Versions/A/CoreData
    0x7fff83dd7000 -     0x7fff83ddafff  com.apple.help 1.3.1 (41) &lt;AEDDF93F-BAC0-0308-68FD-039A99F3A158&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Help.framework/Versions/A/Help
    0x7fff83e24000 -     0x7fff83e61ff7  libFontRegistry.dylib ??? (???) &lt;8C69F685-3507-1B8F-51AD-6183D5E88979&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/libFontRegistry.dylib
    0x7fff83ec0000 -     0x7fff83fa5fef  com.apple.DesktopServices 1.5.9 (1.5.9) &lt;27890B2C-0CD2-7C27-9D0C-D5952C5E8438&gt; /System/Library/PrivateFrameworks/DesktopServicesPriv.framework/Versions/A/DesktopServicesPriv
    0x7fff83fa6000 -     0x7fff83fc3ff7  libPng.dylib ??? (???) &lt;14043CBC-329F-4009-299E-DEE411E16134&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib
    0x7fff83fc4000 -     0x7fff83fc4ff7  com.apple.quartzframework 1.5 (1.5) &lt;FA660AAC-70CD-7EA2-5DF1-A8724D8F4B1B&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Quartz
    0x7fff83fc5000 -     0x7fff84009fe7  com.apple.ImageCaptureCore 1.0.3 (1.0.3) &lt;913FFA89-0AC8-0A8D-CC2A-364CB0F303BA&gt; /System/Library/Frameworks/ImageCaptureCore.framework/Versions/A/ImageCaptureCore
    0x7fff8402d000 -     0x7fff840bdfff  com.apple.SearchKit 1.3.0 (1.3.0) &lt;45BA1053-9196-3C2F-2421-AFF5E09627CC&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SearchKit.framework/Versions/A/SearchKit
    0x7fff840be000 -     0x7fff84105fff  com.apple.QuickLookFramework 2.3 (327.6) &lt;11DFB135-24A6-C0BC-5B97-ECE352A4B488&gt; /System/Library/Frameworks/QuickLook.framework/Versions/A/QuickLook
    0x7fff84108000 -     0x7fff84119ff7  libz.1.dylib 1.2.3 (compatibility 1.0.0) &lt;FB5EE53A-0534-0FFA-B2ED-486609433717&gt; /usr/lib/libz.1.dylib
    0x7fff8411a000 -     0x7fff84184fe7  libvMisc.dylib 268.0.1 (compatibility 1.0.0) &lt;7BD7F19B-ACD4-186C-B42D-4DEBA6795628&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libvMisc.dylib
    0x7fff844c9000 -     0x7fff84512fef  libGLU.dylib ??? (???) &lt;EB4255DD-A9E5-FAD0-52A4-CCB4E792B86F&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib
    0x7fff84513000 -     0x7fff84524fff  com.apple.DSObjCWrappers.Framework 10.6 (134) &lt;CF1D9C05-8D77-0FFE-38E8-63D8A23E92E1&gt; /System/Library/PrivateFrameworks/DSObjCWrappers.framework/Versions/A/DSObjCWrappers
    0x7fff84525000 -     0x7fff84585fe7  com.apple.framework.IOKit 2.0 (???) &lt;D107CB8A-5182-3AC4-35D0-07068A695C05&gt; /System/Library/Frameworks/IOKit.framework/Versions/A/IOKit
    0x7fff845c5000 -     0x7fff845cbfff  libCGXCoreImage.A.dylib 545.0.0 (compatibility 64.0.0) &lt;4EE16374-A094-D542-5BC5-7E846D0CE56E&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXCoreImage.A.dylib
    0x7fff846cd000 -     0x7fff846cdff7  com.apple.CoreServices 44 (44) &lt;DC7400FB-851E-7B8A-5BF6-6F50094302FB&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices
    0x7fff846ce000 -     0x7fff846e7fff  com.apple.CFOpenDirectory 10.6 (10.6) &lt;CCF79716-7CC6-2520-C6EB-A4F56AD0A207&gt; /System/Library/Frameworks/OpenDirectory.framework/Versions/A/Frameworks/CFOpenDirectory.framework/Versions/A/CFOpenDirectory
    0x7fff846fc000 -     0x7fff8477afff  com.apple.CoreText 3.5.0 (???) &lt;4D5C7932-293B-17FF-7309-B580BB1953EA&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreText.framework/Versions/A/CoreText
    0x7fff8477b000 -     0x7fff847e3fff  com.apple.MeshKitRuntime 1.1 (49.2) &lt;A490FE03-313D-1317-A9B8-25EF75CB1A81&gt; /System/Library/PrivateFrameworks/MeshKit.framework/Versions/A/Frameworks/MeshKitRuntime.framework/Versions/A/MeshKitRuntime
    0x7fff848bd000 -     0x7fff848cefff  SyndicationUI ??? (???) &lt;91DAD490-897C-E5E9-C30B-161D4F42BF98&gt; /System/Library/PrivateFrameworks/SyndicationUI.framework/Versions/A/SyndicationUI
    0x7fff848cf000 -     0x7fff84914fff  com.apple.CoreMediaIOServices 133.0 (1158) &lt;53F7A2A6-78CA-6C34-0BB6-471388019799&gt; /System/Library/PrivateFrameworks/CoreMediaIOServices.framework/Versions/A/CoreMediaIOServices
    0x7fff84ac8000 -     0x7fff84d03fef  com.apple.imageKit 2.0.3 (1.0) &lt;5D18C246-303A-6580-9DC9-79BE79467C95&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/ImageKit.framework/Versions/A/ImageKit
    0x7fff84d04000 -     0x7fff84d09fff  libGIF.dylib ??? (???) &lt;9A2723D8-61F9-6D65-D254-4F9273CDA54A&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libGIF.dylib
    0x7fff84d0a000 -     0x7fff84d8cfff  com.apple.QuickLookUIFramework 2.3 (327.6) &lt;9093682A-0E2D-7D27-5F22-C96FD00AE970&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuickLookUI.framework/Versions/A/QuickLookUI
    0x7fff84d8d000 -     0x7fff85597fe7  libBLAS.dylib 219.0.0 (compatibility 1.0.0) &lt;2F26CDC7-DAE9-9ABE-6806-93BBBDA20DA0&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
    0x7fff85600000 -     0x7fff8560ffff  com.apple.NetFS 3.2.1 (3.2.1) &lt;DE59FB56-8536-9999-352A-2016ADCF4FCF&gt; /System/Library/Frameworks/NetFS.framework/Versions/A/NetFS
    0x7fff856c6000 -     0x7fff859fafff  com.apple.CoreServices.CarbonCore 861.23 (861.23) &lt;08F360FA-1771-4F0B-F356-BEF68BB9D421&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
    0x7fff859fb000 -     0x7fff85acdfe7  com.apple.CFNetwork 454.11.5 (454.11.5) &lt;B3E2BE12-D7AA-5940-632A-1E5E7BF8E6E3&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CFNetwork.framework/Versions/A/CFNetwork
    0x7fff85ace000 -     0x7fff85b11fef  libtidy.A.dylib ??? (???) &lt;2F4273D3-418B-668C-F488-7E659D3A8C23&gt; /usr/lib/libtidy.A.dylib
    0x7fff85b12000 -     0x7fff85b1dfff  com.apple.CrashReporterSupport 10.6.5 (252) &lt;0895BE37-CC7E-1939-8020-489BFCB3E2C6&gt; /System/Library/PrivateFrameworks/CrashReporterSupport.framework/Versions/A/CrashReporterSupport
    0x7fff86792000 -     0x7fff86bd5fef  libLAPACK.dylib 219.0.0 (compatibility 1.0.0) &lt;57D38705-6F21-2A82-F3F6-03CFFF214775&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
    0x7fff86bd6000 -     0x7fff86becfff  com.apple.ImageCapture 6.0.1 (6.0.1) &lt;09ABF2E9-D110-71A9-4A6F-8A61B683E936&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/ImageCapture.framework/Versions/A/ImageCapture
    0x7fff86bed000 -     0x7fff86c3cfef  libTIFF.dylib ??? (???) &lt;AE9DC484-1382-F7AD-FE25-C28082FCB5D9&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libTIFF.dylib
    0x7fff86c3d000 -     0x7fff86c4bff7  libkxld.dylib ??? (???) &lt;4016E9E6-0645-5384-A697-2775B5228113&gt; /usr/lib/system/libkxld.dylib
    0x7fff86c4c000 -     0x7fff86c50ff7  libCGXType.A.dylib 545.0.0 (compatibility 64.0.0) &lt;63F77AC8-84CB-0C2F-8D2B-190EE5CCDB45&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCGXType.A.dylib
    0x7fff86c51000 -     0x7fff86c60fff  libxar.1.dylib ??? (???) &lt;CBAF862A-3C77-6446-56C2-9C4461631AAF&gt; /usr/lib/libxar.1.dylib
    0x7fff86cbf000 -     0x7fff86d4efff  com.apple.PDFKit 2.5.1 (2.5.1) &lt;C0E3AE4B-E71A-16D8-0D51-FB7D3E3AD793&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/PDFKit.framework/Versions/A/PDFKit
    0x7fff86d4f000 -     0x7fff86d4fff7  com.apple.ApplicationServices 38 (38) &lt;0E2FC75E-2BE2-D04D-CA78-76E38A89DD30&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/ApplicationServices
    0x7fff86d50000 -     0x7fff8712afff  com.apple.RawCamera.bundle 3.4.1 (546) &lt;F7865FD2-4869-AB19-10AA-EFF1B3BC4178&gt; /System/Library/CoreServices/RawCamera.bundle/Contents/MacOS/RawCamera
    0x7fff8712b000 -     0x7fff871dafff  edu.mit.Kerberos 6.5.10 (6.5.10) &lt;F3F76EDF-5660-78F0-FE6E-33B6174F55A4&gt; /System/Library/Frameworks/Kerberos.framework/Versions/A/Kerberos
    0x7fff8723c000 -     0x7fff872a8ff7  com.apple.CorePDF 1.3 (1.3) &lt;6770FFB0-DEA0-61E0-3520-4B95CCF5D1CF&gt; /System/Library/PrivateFrameworks/CorePDF.framework/Versions/A/CorePDF
    0x7fff872a9000 -     0x7fff872a9ff7  com.apple.Carbon 150 (152) &lt;19B37B7B-1594-AD0A-7F14-FA2F85AD7241&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Carbon
    0x7fff872aa000 -     0x7fff872fbfef  com.apple.HIServices 1.8.1 (???) &lt;BE479ABF-3D27-A5C7-800E-3FFC1731767A&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
    0x7fff872fc000 -     0x7fff87312fef  libbsm.0.dylib ??? (???) &lt;0321D32C-9FE1-3919-E03E-2530A0C1191B&gt; /usr/lib/libbsm.0.dylib
    0x7fff87313000 -     0x7fff87392fe7  com.apple.audio.CoreAudio 3.2.6 (3.2.6) &lt;1DD64A62-0DE4-223F-F781-B272FECF80F0&gt; /System/Library/Frameworks/CoreAudio.framework/Versions/A/CoreAudio
    0x7fff87393000 -     0x7fff87394fff  com.apple.MonitorPanelFramework 1.3.0 (1.3.0) &lt;EC039008-5367-090D-51FD-EA4D2623671A&gt; /System/Library/PrivateFrameworks/MonitorPanel.framework/Versions/A/MonitorPanel
    0x7fff87395000 -     0x7fff873a9fff  libGL.dylib ??? (???) &lt;1EB1BD0F-C17F-55DF-B8B4-8E9CF99359D4&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib
    0x7fff873aa000 -     0x7fff874d0fff  com.apple.audio.toolbox.AudioToolbox 1.6.5 (1.6.5) &lt;B51023BB-A5C9-3C65-268B-6B86B901BB2C&gt; /System/Library/Frameworks/AudioToolbox.framework/Versions/A/AudioToolbox
    0x7fff874ec000 -     0x7fff874fefe7  libsasl2.2.dylib 3.15.0 (compatibility 3.0.0) &lt;30FE378B-99FE-8C7C-06D0-A3AA0A0A70D4&gt; /usr/lib/libsasl2.2.dylib
    0x7fff87584000 -     0x7fff87624fff  com.apple.LaunchServices 362.1 (362.1) &lt;B4083624-2C88-0C4F-B047-40D3CC5B3325&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices
    0x7fff878f8000 -     0x7fff87975fef  libstdc++.6.dylib 7.9.0 (compatibility 7.0.0) &lt;35ECA411-2C08-FD7D-11B1-1B7A04921A5C&gt; /usr/lib/libstdc++.6.dylib
    0x7fff87976000 -     0x7fff87981fff  com.apple.corelocation 12.1 (12.1) &lt;0B15767B-D752-7DA6-A8BB-5A1C9C39C5C8&gt; /System/Library/Frameworks/CoreLocation.framework/Versions/A/CoreLocation
    0x7fff87982000 -     0x7fff8798ffe7  libCSync.A.dylib 545.0.0 (compatibility 64.0.0) &lt;397B9057-5CDF-3B19-4E61-9DFD49369375&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Resources/libCSync.A.dylib
    0x7fff879e0000 -     0x7fff87a42fe7  com.apple.datadetectorscore 2.0 (80.7) &lt;C3A68083-AFB0-CFC6-8AA5-517C9D1489B6&gt; /System/Library/PrivateFrameworks/DataDetectorsCore.framework/Versions/A/DataDetectorsCore
    0x7fff87a43000 -     0x7fff87a44ff7  com.apple.TrustEvaluationAgent 1.1 (1) &lt;A91CE5B9-3C63-5F8C-5052-95CCAB866F72&gt; /System/Library/PrivateFrameworks/TrustEvaluationAgent.framework/Versions/A/TrustEvaluationAgent
    0x7fff87a45000 -     0x7fff87a5bfe7  com.apple.MultitouchSupport.framework 207.10 (207.10) &lt;1828C264-A54A-7FDD-FE1B-49DDE3F50779&gt; /System/Library/PrivateFrameworks/MultitouchSupport.framework/Versions/A/MultitouchSupport
    0x7fff87a8c000 -     0x7fff87a8cff7  com.apple.Accelerate.vecLib 3.6 (vecLib 3.6) &lt;4CCE5D69-F1B3-8FD3-1483-E0271DB2CCF3&gt; /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/vecLib
    0x7fff87a8d000 -     0x7fff87b46fff  libsqlite3.dylib 9.6.0 (compatibility 9.0.0) &lt;2C5ED312-E646-9ADE-73A9-6199A2A43150&gt; /usr/lib/libsqlite3.dylib
    0x7fff87b47000 -     0x7fff87b5bff7  com.apple.speech.synthesis.framework 3.10.35 (3.10.35) &lt;574C1BE0-5E5E-CCAF-06F8-92A69CB2892D&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis
    0x7fff87b5c000 -     0x7fff87c84ff7  com.apple.MediaToolbox 0.484.20 (484.20) &lt;628A7245-7ADE-AD47-3368-CF8EDCA6CC1C&gt; /System/Library/PrivateFrameworks/MediaToolbox.framework/Versions/A/MediaToolbox
    0x7fff87c85000 -     0x7fff87d11fef  SecurityFoundation ??? (???) &lt;6860DE26-0D42-D1E8-CD7C-5B42D78C1E1D&gt; /System/Library/Frameworks/SecurityFoundation.framework/Versions/A/SecurityFoundation
    0x7fff87d12000 -     0x7fff87d5cff7  com.apple.Metadata 10.6.3 (507.12) &lt;9231045A-E2E3-B0C2-C81A-92C9EA98A4DF&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata
    0x7fff87d5d000 -     0x7fff87d63ff7  IOSurface ??? (???) &lt;04EDCEDE-E36F-15F8-DC67-E61E149D2C9A&gt; /System/Library/Frameworks/IOSurface.framework/Versions/A/IOSurface
    0x7fff87d64000 -     0x7fff87d65fff  liblangid.dylib ??? (???) &lt;D0666597-B331-C43C-67BB-F2E754079A7A&gt; /usr/lib/liblangid.dylib
    0x7fff87d66000 -     0x7fff87d72fff  libbz2.1.0.dylib 1.0.5 (compatibility 1.0.0) &lt;ECA200F9-9C46-579A-6447-16B8BFB93D96&gt; /usr/lib/libbz2.1.0.dylib
    0x7fff87ec0000 -     0x7fff87f75fe7  com.apple.ink.framework 1.3.3 (107) &lt;A68339AA-909D-E46C-35C0-72808EE3D043&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/Ink.framework/Versions/A/Ink
    0x7fff87fb5000 -     0x7fff87fbeff7  com.apple.DisplayServicesFW 2.3.0 (283) &lt;3D05929C-AB17-B8A4-DC81-87C27C59E664&gt; /System/Library/PrivateFrameworks/DisplayServices.framework/Versions/A/DisplayServices
    0x7fff87fbf000 -     0x7fff87fe0fff  libresolv.9.dylib 41.0.0 (compatibility 1.0.0) &lt;6993F348-428F-C97E-7A84-7BD2EDC46A62&gt; /usr/lib/libresolv.9.dylib
    0x7fff87fe1000 -     0x7fff88150fe7  com.apple.QTKit 7.6.6 (1756) &lt;250AB242-816D-9F5D-94FB-18BF2AE9AAE7&gt; /System/Library/Frameworks/QTKit.framework/Versions/A/QTKit
    0x7fff88151000 -     0x7fff88176ff7  com.apple.CoreVideo 1.6.2 (45.6) &lt;E138C8E7-3CB6-55A9-0A2C-B73FE63EA288&gt; /System/Library/Frameworks/CoreVideo.framework/Versions/A/CoreVideo
    0x7fff8835b000 -     0x7fff88360ff7  com.apple.CommonPanels 1.2.4 (91) &lt;8B088D78-E508-6622-E477-E34C22CF2F67&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/CommonPanels.framework/Versions/A/CommonPanels
    0x7fff88361000 -     0x7fff88368fff  com.apple.OpenDirectory 10.6 (10.6) &lt;4200CFB0-DBA1-62B8-7C7C-91446D89551F&gt; /System/Library/Frameworks/OpenDirectory.framework/Versions/A/OpenDirectory
    0x7fff88369000 -     0x7fff8836cff7  com.apple.securityhi 4.0 (36638) &lt;38935851-09E4-DDAB-DB1D-30ADC39F7ED0&gt; /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/SecurityHI.framework/Versions/A/SecurityHI
    0x7fff8836d000 -     0x7fff883a6ff7  com.apple.MeshKit 1.1 (49.2) &lt;B85DDDC7-4053-4DB8-E1B5-AA0CBD4CDD1C&gt; /System/Library/PrivateFrameworks/MeshKit.framework/Versions/A/MeshKit
    0x7fff883a7000 -     0x7fff883d6fff  com.apple.quartzfilters 1.6.0 (1.6.0) &lt;52D41730-D485-A7AE-4937-FE37FC732F65&gt; /System/Library/Frameworks/Quartz.framework/Versions/A/Frameworks/QuartzFilters.framework/Versions/A/QuartzFilters
    0x7fff883d7000 -     0x7fff883fdfe7  libJPEG.dylib ??? (???) &lt;6690F15D-E970-2678-430E-590A94F5C8E9&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib
    0x7fff883fe000 -     0x7fff884bbff7  com.apple.CoreServices.OSServices 357 (357) &lt;718F0719-DC9F-E392-7C64-9D7DFE3D02E2&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices
    0x7fff884bc000 -     0x7fff88556fff  com.apple.ApplicationServices.ATS 4.4 (???) &lt;395849EE-244A-7323-6CBA-E71E3B722984&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS
    0x7fff88747000 -     0x7fff88780fef  libcups.2.dylib 2.8.0 (compatibility 2.0.0) &lt;97F968EB-80ED-36FB-7819-D438B489E46E&gt; /usr/lib/libcups.2.dylib
    0x7fff88797000 -     0x7fff887e3fff  libauto.dylib ??? (???) &lt;F7221B46-DC4F-3153-CE61-7F52C8C293CF&gt; /usr/lib/libauto.dylib
    0x7fff887e4000 -     0x7fff8880fff7  libxslt.1.dylib 3.24.0 (compatibility 3.0.0) &lt;6589F0FC-41DB-8494-CA8B-487F4E328EB9&gt; /usr/lib/libxslt.1.dylib
    0x7fff88810000 -     0x7fff88813ff7  libCoreVMClient.dylib ??? (???) &lt;B1F41E5B-8B59-DB81-1654-C1F9B11E885F&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libCoreVMClient.dylib
    0x7fff88814000 -     0x7fff88f1106f  com.apple.CoreGraphics 1.545.0 (???) &lt;356D59D6-1DD1-8BFF-F9B3-1CE51D2F1EC7&gt; /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
    0x7fff88f33000 -     0x7fff88f64fff  libGLImage.dylib ??? (???) &lt;57DA0064-4581-62B8-37A8-A07ADEF46EE2&gt; /System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib
    0x7fff88f65000 -     0x7fff88f8dfff  com.apple.DictionaryServices 1.1.2 (1.1.2) &lt;E9269069-93FA-2B71-F9BA-FDDD23C4A65E&gt; /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/DictionaryServices.framework/Versions/A/DictionaryServices
    0x7fff88fb6000 -     0x7fff88ff7ff7  com.apple.CoreMedia 0.484.20 (484.20) &lt;42F3B74A-F886-33A0-40EE-8399B12BD32A&gt; /System/Library/PrivateFrameworks/CoreMedia.framework/Versions/A/CoreMedia
    0x7fff88ff8000 -     0x7fff8902dfef  com.apple.framework.Apple80211 6.2.3 (623.1) &lt;E58C0A3A-BA14-9703-F6A3-3951A862570C&gt; /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Apple80211
    0x7fff8902e000 -     0x7fff89145fef  libxml2.2.dylib 10.3.0 (compatibility 10.0.0) &lt;AFE91118-DBF3-6313-37B8-8A2002C6A46B&gt; /usr/lib/libxml2.2.dylib
    0x7fff89146000 -     0x7fff89166ff7  com.apple.DirectoryService.Framework 3.6 (621.9) &lt;FF6567B5-56BD-F3EC-E59D-1EC583C3CF73&gt; /System/Library/Frameworks/DirectoryService.framework/Versions/A/DirectoryService
    0x7fff89167000 -     0x7fff8916bff7  libmathCommon.A.dylib 315.0.0 (compatibility 1.0.0) &lt;95718673-FEEE-B6ED-B127-BCDBDB60D4E5&gt; /usr/lib/system/libmathCommon.A.dylib
    0x7fffffe00000 -     0x7fffffe01fff  libSystem.B.dylib ??? (???) &lt;71E6D4C9-F945-6EC2-998C-D61AD590DAB6&gt; /usr/lib/libSystem.B.dylib

Model: MacBookPro7,1, BootROM MBP71.0039.B0B, 2 processors, Intel Core 2 Duo, 2.4 GHz, 4 GB, SMC 1.62f6
Graphics: NVIDIA GeForce 320M, NVIDIA GeForce 320M, PCI, 256 MB
Memory Module: global_name
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8D), Broadcom BCM43xx 1.0 (5.10.131.36.1)
Bluetooth: Version 2.3.8f7, 2 service, 19 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: TOSHIBA MK2555GSXF, 232,89 GB
Serial ATA Device: MATSHITADVD-R   UJ-898
USB Device: Built-in iSight, 0x05ac  (Apple Inc.), 0x8507, 0x24600000
USB Device: Internal Memory Card Reader, 0x05ac  (Apple Inc.), 0x8403, 0x26100000
USB Device: Hub in Apple Pro Keyboard, 0x05ac  (Apple Inc.), 0x1003, 0x06400000
USB Device: Optical USB Mouse, 0x046d  (Logitech Inc.), 0xc016, 0x06420000
USB Device: Apple Pro Keyboard, 0x05ac  (Apple Inc.), 0x020c, 0x06430000
USB Device: BRCM2046 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0x06600000
USB Device: Bluetooth USB Host Controller, 0x05ac  (Apple Inc.), 0x8213, 0x06610000
USB Device: IR Receiver, 0x05ac  (Apple Inc.), 0x8242, 0x06500000
USB Device: Apple Internal Keyboard / Trackpad, 0x05ac  (Apple Inc.), 0x0237, 0x06300000</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315809</commentid>
    <comment_count>1</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 12:25:03 -0800</bug_when>
    <thetext>Is this really a regression?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315818</commentid>
    <comment_count>2</comment_count>
      <attachid>75307</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 12:41:27 -0800</bug_when>
    <thetext>Created attachment 75307
reduction</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315821</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-12-01 12:45:29 -0800</bug_when>
    <thetext>Doesn&apos;t crash Safari 5.0.2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315849</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 13:14:28 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Doesn&apos;t crash Safari 5.0.2.

I see.  Thanks for the clarification.  The problem appears to be that the endingSelection() and form&apos;s selections are pointing at different nodes.  Namely, in enabledDelete, selection returned by frame-&gt;editor()-&gt;selectionForCommand is pointing at new text node replaced by the input event handler (&quot;b&quot; in my reduced test case) but endingSelection used in TypingCommand::deleteKeyPressed is pointing at the old node (&quot;a&quot; in my reduced test case).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315865</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 13:49:54 -0800</bug_when>
    <thetext>The problem is that EditCommand::endingSelection() is just retrieving the stored value.  We should update m_endingSelection or stop using it whenever we invoke the last edit command&apos;s m_endingSelection may be out of date.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315898</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 15:14:55 -0800</bug_when>
    <thetext>I&apos;m not even sure if we should be using the last typing command if the selection has changed.  It seems like we should create a new typing command.

Consider the following case:
1. User type &quot;hello &quot; into input element, and delete the last space.
2. Script modifies it to &quot;world&quot;
3. User undo

In this case, undo isn&apos;t even going to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315900</commentid>
    <comment_count>7</comment_count>
      <attachid>75328</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 15:23:03 -0800</bug_when>
    <thetext>Created attachment 75328
fixes the crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315903</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 15:27:51 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Created an attachment (id=75328) [details]
&gt; fixes the crash

I&apos;m not sure if this is the correct fix for the problem because always updating the selection breaks undo.  As I wrote on the previous comment, I feel like we should be closing the typing command when we&apos;re updating the selection in the event handler.  However, setSelection is called before the typing command corresponding to InsertLineBreak concludes, and this prevents us from closing the type command because the command hasn&apos;t been added to the undo stack.  Furthermore, in some cases, we need to let typing command and its child commands update selection without closing itself.

Could someone familiar with typing command comment on this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315946</commentid>
    <comment_count>9</comment_count>
      <attachid>75328</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-01 16:49:14 -0800</bug_when>
    <thetext>Comment on attachment 75328
fixes the crash

View in context: https://bugs.webkit.org/attachment.cgi?id=75328&amp;action=review

I’m not sure this fix is quite right. It seems to me that a node involved in an editing operation might be removed for multiple reasons. Maybe there’s a better way to cope with it than changing the selection.

&gt; WebCore/editing/TypingCommand.cpp:97
&gt; +        VisibleSelection lastSelection = lastTypingCommand-&gt;endingSelection();
&gt; +        VisibleSelection currentSelection = frame-&gt;selection()-&gt;selection();
&gt; +        if (lastSelection != currentSelection) {

I don’t think you need the lastSelection local here. Might read better without it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315986</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 18:30:22 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; I’m not sure this fix is quite right. It seems to me that a node involved in an editing operation might be removed for multiple reasons.

Right.  But because those changes happen in the event handler, there are basically two options:
1. Update the selection of the previous typing command
2. Start a new typing command; i.e. close the last typing command.

But I&apos;m not sure what is the correct timing to close the typing command if we chose option 2.  I chose option 1 because there&apos;s already code that does very similar thing in TypingCommand::inputText.

&gt; &gt; WebCore/editing/TypingCommand.cpp:97
&gt; &gt; +        VisibleSelection lastSelection = lastTypingCommand-&gt;endingSelection();
&gt; &gt; +        VisibleSelection currentSelection = frame-&gt;selection()-&gt;selection();
&gt; &gt; +        if (lastSelection != currentSelection) {
&gt; 
&gt; I don’t think you need the lastSelection local here. Might read better without it.

Good point.  Will fix later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316005</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 21:14:26 -0800</bug_when>
    <thetext>The similar selection changes made in TypingCommand::insertText is made by http://trac.webkit.org/changeset/19313.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316008</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-01 21:36:34 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; The similar selection changes made in TypingCommand::insertText is made by http://trac.webkit.org/changeset/19313.

This change is addressing a slightly different issue though, which is to use the selection for insertion when it differs from what selection controller has.  But I can&apos;t think of why this should ever be the case because we update the frame&apos;s selection after modifying form text control&apos;s selection range.

Could someone tell me how this condition may arise?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316536</commentid>
    <comment_count>13</comment_count>
      <attachid>75438</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-02 17:11:53 -0800</bug_when>
    <thetext>Created attachment 75438
demo for insertText case

The same problem exists for insertText as well, and here&apos;s a demo.  We can fix this bug by the following change:

Index: WebCore/editing/InsertTextCommand.h
===================================================================
--- WebCore/editing/InsertTextCommand.h	(revision 73113)
+++ WebCore/editing/InsertTextCommand.h	(working copy)
@@ -54,6 +54,8 @@
     bool performTrivialReplace(const String&amp;, bool selectInsertedText);
 
     unsigned m_charactersAdded;
+
+    friend class TypingCommand;
 };
 
 } // namespace WebCore
Index: WebCore/editing/TypingCommand.cpp
===================================================================
--- WebCore/editing/TypingCommand.cpp	(revision 73113)
+++ WebCore/editing/TypingCommand.cpp	(working copy)
@@ -163,12 +163,12 @@
     RefPtr&lt;EditCommand&gt; lastEditCommand = frame-&gt;editor()-&gt;lastEditCommand();
     if (isOpenForMoreTypingCommand(lastEditCommand.get())) {
         TypingCommand* lastTypingCommand = static_cast&lt;TypingCommand*&gt;(lastEditCommand.get());
-        if (changeSelection) {
+        if (lastTypingCommand-&gt;endingSelection() != selectionForInsertion) {
             lastTypingCommand-&gt;setStartingSelection(selectionForInsertion);
             lastTypingCommand-&gt;setEndingSelection(selectionForInsertion);
         }
         lastTypingCommand-&gt;insertText(newText, selectInsertedText);
-        if (changeSelection) {
+        if (lastTypingCommand-&gt;endingSelection() != selectionForInsertion) {
             lastTypingCommand-&gt;setEndingSelection(currentSelection);
             frame-&gt;selection()-&gt;setSelection(currentSelection);
         }
@@ -371,6 +371,10 @@
         command = InsertTextCommand::create(document());
         applyCommandToComposite(command);
     }
+    if (endingSelection() != command-&gt;endingSelection()) {
+        command-&gt;setStartingSelection(endingSelection());
+        command-&gt;setEndingSelection(endingSelection());
+    }
     command-&gt;input(text, selectInsertedText);
     typingAddedToOpenCommand(InsertText);
 }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316713</commentid>
    <comment_count>14</comment_count>
      <attachid>75469</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-03 00:46:24 -0800</bug_when>
    <thetext>Created attachment 75469
fixes the bug for good</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316842</commentid>
    <comment_count>15</comment_count>
      <attachid>75469</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-03 09:27:07 -0800</bug_when>
    <thetext>Comment on attachment 75469
fixes the bug for good

Seems OK. It’s not good that the selection handling is so intimately tied in with the editing commands; at some point I think we can improve this greatly by refactoring and breaking the selection management away from the DOM mutation itself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316861</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-03 09:58:35 -0800</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 75469 [details])
&gt; Seems OK. It’s not good that the selection handling is so intimately tied in with the editing commands; at some point I think we can improve this greatly by refactoring and breaking the selection management away from the DOM mutation itself.

Yeah, we need a better way of managing position in editing commands instead of using selection.  Ideally, we can make editing commands agnostic of what current selection is except when they&apos;re first instantiated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316901</commentid>
    <comment_count>17</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-03 10:56:57 -0800</bug_when>
    <thetext>Thanks for the review, Darin.  I&apos;ll be landing it shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>316919</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-03 11:26:37 -0800</bug_when>
    <thetext>Committed r73279: &lt;http://trac.webkit.org/changeset/73279&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>74635</attachid>
            <date>2010-11-23 02:17:17 -0800</date>
            <delta_ts>2010-12-01 12:41:27 -0800</delta_ts>
            <desc>Test-Case</desc>
            <filename>inputCrash.html</filename>
            <type>text/html</type>
            <size>689</size>
            <attacher name="Martin Wittemann">martin.wittemann</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEvL0VOIgogICAiaHR0
cDovL3d3dy53My5vcmcvVFIvaHRtbDQvc3RyaWN0LmR0ZCI+Cgo8aHRtbCBsYW5nPSJlbiI+Cjxo
ZWFkPgoJPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9dXRmLTgiPgoJPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJtYXJ0aW53aXR0
ZW1hbm4iPgo8L2hlYWQ+Cjxib2R5PgogIDx0ZXh0YXJlYSBpZD0iYyIgaW5pbnB1dD0iaW5wdXQi
PjAxMjM0NTY3ODk8L3RleHRhcmVhPgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBj
aGFyc2V0PSJ1dGYtOCI+CiAgICB2YXIgYyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjIik7
CiAgICBvbmlucHV0ID0gZnVuY3Rpb24oZSkgewogICAgICBpZiAoYy52YWx1ZS5sZW5ndGggPiAx
MCkgewogICAgICAgIGMudmFsdWUgPSBjLnZhbHVlLnN1YnN0cigwLCAxMCk7CiAgICAgIH0KICAg
IH0KICA8L3NjcmlwdD4KICAKICAKICAKICAKICA8b2w+CiAgICA8bGk+Rm9jdXMgdGhlIHRleHRh
cmVhPC9saT4KICAgIDxsaT5IaXQgZW50ZXI8L2xpPgogICAgPGxpPkhpdCBiYWNrc3BhY2U8L2xp
PgogICAgPGxpPi0tPiBTZWUgdGhlIHRhYiBjcmFzaCE8L2xpPgogIDwvb2w+CjwvYm9keT4KPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>75307</attachid>
            <date>2010-12-01 12:41:27 -0800</date>
            <delta_ts>2010-12-01 12:41:27 -0800</delta_ts>
            <desc>reduction</desc>
            <filename>bug49962.html</filename>
            <type>text/html</type>
            <size>633</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHA+VGhpcyB0ZXN0cyBwcmVzc2luZyBkZWxl
dGUga2V5IGFmdGVyIG9uaW5wdXQgZXZlbnQgaGFuZGxlciBtb2RpZmllZCB0ZXh0YXJlYS4gV2Vi
S2l0IHNob3VsZCBub3QgY3Jhc2gsIGFuZCB5b3Ugc2hvdWxkIHNlZSBQQVNTIGJlbG93OjwvcD4K
PHRleHRhcmVhIG9uaW5wdXQ9InRoaXMudmFsdWU9J2InIj5hPC90ZXh0YXJlYT4KPHNjcmlwdD4K
CmlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCiAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kdW1wQXNUZXh0KCk7Cgp2YXIgdGV4dCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1l
KCd0ZXh0YXJlYScpWzBdOwp0ZXh0LmZvY3VzKCk7CnRleHQuc2V0U2VsZWN0aW9uUmFuZ2UodGV4
dC52YWx1ZS5sZW5ndGgsIHRleHQudmFsdWUubGVuZ3RoKTsKZG9jdW1lbnQuZXhlY0NvbW1hbmQo
J0luc2VydFRleHQnLCBmYWxzZSwgJ1xuJyk7CmRvY3VtZW50LmV4ZWNDb21tYW5kKCdEZWxldGUn
KTsKCnRleHQuc3R5bGUuZGlzcGxheSA9ICdub25lJzsKZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgnUEFTUycpKTsKCjwvc2NyaXB0Pgo8L2JvZHk+Cjwv
aHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75328</attachid>
            <date>2010-12-01 15:23:03 -0800</date>
            <delta_ts>2010-12-03 00:46:19 -0800</delta_ts>
            <desc>fixes the crash</desc>
            <filename>bug-49962-20101201152302.patch</filename>
            <type>text/plain</type>
            <size>5200</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzA3NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTAtMTItMDEgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVH
UkVTU0lPTjogQ3Jhc2ggd2hlbiBkZWxldGluZyB0ZXh0IGFmdGVyIHRleHRhcmVhJ3MgdmFsdWUg
aXMgbW9kaWZpZWQgb24gaW5wdXQgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ5OTYyCisKKyAgICAgICAgVGhlIGNyYXNoIHdhcyBjYXVzZWQg
YnkgVHlwaW5nQ29tbWFuZCdzIHVzaW5nIHRoZSBvbGQgc2VsZWN0aW9uIHRoYXQgcG9pbnRzIHRv
IGEgc2hhZG93IG5vZGUKKyAgICAgICAgZGV0YWNoZWQgZnJvbSB0aGUgZG9jdW1lbnQuIEJlY2F1
c2UgdGhlIHNoYWRvdyBub2RlIG5vIGxvbmdlciBoYWQgYSBlZGl0YWJsZSBkaXYgYXMgaXRzIHBh
cmVudCwKKyAgICAgICAgcm9vdEVkaXRhYmxlRWxlbWVudCByZXR1cm5lZCBhIG51bGwgcG9pbnRl
ciBhbmQgY3Jhc2hlZC4KKworICAgICAgICBGaXhlZCB0aGUgYnVnIGJ5IHVwZGF0aW5nIHNlbGVj
dGlvbiBpbiBUeXBpbmdDb21tYW5kOjpkZWxldGVLZXlQcmVzc2VkIGFzIG5lZWRlZC4KKworICAg
ICAgICBUZXN0OiBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1vbmlucHV0LXNldC12YWx1
ZS5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VHlwaW5nQ29tbWFuZDo6ZGVsZXRlS2V5UHJlc3NlZCk6CisKIDIwMTAtMTItMDEg
IERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpJbmRleDogV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAkocmV2aXNpb24gNzMw
NTYpCisrKyBXZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTg4LDEwICs4OCwxNyBAQCB2b2lkIFR5cGluZ0NvbW1hbmQ6OmRlbGV0ZUtleVByZXNzZWQo
RG9jCiAgICAgCiAgICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQtPmZyYW1lKCk7CiAgICAgQVNT
RVJUKGZyYW1lKTsKLSAgICAKKwogICAgIEVkaXRDb21tYW5kKiBsYXN0RWRpdENvbW1hbmQgPSBm
cmFtZS0+ZWRpdG9yKCktPmxhc3RFZGl0Q29tbWFuZCgpOwogICAgIGlmIChncmFudWxhcml0eSA9
PSBDaGFyYWN0ZXJHcmFudWxhcml0eSAmJiBpc09wZW5Gb3JNb3JlVHlwaW5nQ29tbWFuZChsYXN0
RWRpdENvbW1hbmQpKSB7Ci0gICAgICAgIHN0YXRpY19jYXN0PFR5cGluZ0NvbW1hbmQqPihsYXN0
RWRpdENvbW1hbmQpLT5kZWxldGVLZXlQcmVzc2VkKGdyYW51bGFyaXR5LCBraWxsUmluZyk7Cisg
ICAgICAgIFR5cGluZ0NvbW1hbmQqIGxhc3RUeXBpbmdDb21tYW5kID0gc3RhdGljX2Nhc3Q8VHlw
aW5nQ29tbWFuZCo+KGxhc3RFZGl0Q29tbWFuZCk7CisgICAgICAgIFZpc2libGVTZWxlY3Rpb24g
bGFzdFNlbGVjdGlvbiA9IGxhc3RUeXBpbmdDb21tYW5kLT5lbmRpbmdTZWxlY3Rpb24oKTsKKyAg
ICAgICAgVmlzaWJsZVNlbGVjdGlvbiBjdXJyZW50U2VsZWN0aW9uID0gZnJhbWUtPnNlbGVjdGlv
bigpLT5zZWxlY3Rpb24oKTsKKyAgICAgICAgaWYgKGxhc3RTZWxlY3Rpb24gIT0gY3VycmVudFNl
bGVjdGlvbikgeworICAgICAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQtPnNldFN0YXJ0aW5nU2Vs
ZWN0aW9uKGN1cnJlbnRTZWxlY3Rpb24pOworICAgICAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQt
PnNldEVuZGluZ1NlbGVjdGlvbihjdXJyZW50U2VsZWN0aW9uKTsKKyAgICAgICAgfQorICAgICAg
ICBsYXN0VHlwaW5nQ29tbWFuZC0+ZGVsZXRlS2V5UHJlc3NlZChncmFudWxhcml0eSwga2lsbFJp
bmcpOwogICAgICAgICByZXR1cm47CiAgICAgfQogICAgIApAQCAtNDI5LDYgKzQzNiw4IEBAIHZv
aWQgVHlwaW5nQ29tbWFuZDo6ZGVsZXRlS2V5UHJlc3NlZChUZXgKICAgICBWaXNpYmxlU2VsZWN0
aW9uIHNlbGVjdGlvblRvRGVsZXRlOwogICAgIFZpc2libGVTZWxlY3Rpb24gc2VsZWN0aW9uQWZ0
ZXJVbmRvOwogCisgICAgQVNTRVJUKGVuZGluZ1NlbGVjdGlvbigpLnJvb3RFZGl0YWJsZUVsZW1l
bnQoKSk7CisKICAgICBzd2l0Y2ggKGVuZGluZ1NlbGVjdGlvbigpLnNlbGVjdGlvblR5cGUoKSkg
ewogICAgIGNhc2UgVmlzaWJsZVNlbGVjdGlvbjo6UmFuZ2VTZWxlY3Rpb246CiAgICAgICAgIHNl
bGVjdGlvblRvRGVsZXRlID0gZW5kaW5nU2VsZWN0aW9uKCk7CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3
MzA3NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE2IEBACisyMDEwLTEyLTAxICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046
IENyYXNoIHdoZW4gZGVsZXRpbmcgdGV4dCBhZnRlciB0ZXh0YXJlYSdzIHZhbHVlIGlzIG1vZGlm
aWVkIG9uIGlucHV0IGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00OTk2MgorCisgICAgICAgIEFkZGVkIGEgdGVzdCB0byBlbnN1cmUgV2ViS2l0
IGRvZXMgbm90IGNyYXNoIHdoZW4gcHJlc3NpbmcgZGVsZXRlIGtleSBhZnRlciBvbmlucHV0J3MK
KyAgICAgICAgZXZlbnQgaGFuZGxlciBtb2RpZmllZCB2YWx1ZXMgb2YgaW5wdXQgYW5kIHRleHRh
cmVhLgorCisgICAgICAgICogZWRpdGluZy9kZWxldGluZy9kZWxldGUtYWZ0ZXItb25pbnB1dC1z
ZXQtdmFsdWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0aW5n
L2RlbGV0ZS1hZnRlci1vbmlucHV0LXNldC12YWx1ZS5odG1sOiBBZGRlZC4KKwogMjAxMC0xMi0w
MSAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IG9uZSBtb3JlIHRyeSB0byBnZXQgY2hyb21pdW0gZHJ0IGJvdHMgZ3JlZW4uCkluZGV4OiBMYXlv
dXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1vbmlucHV0LXNldC12YWx1ZS1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9k
ZWxldGUtYWZ0ZXItb25pbnB1dC1zZXQtdmFsdWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9kZWxldGUtYWZ0ZXItb25pbnB1dC1zZXQt
dmFsdWUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK1RoaXMgdGVz
dHMgcHJlc3NpbmcgZGVsZXRlIGtleSBhZnRlciBvbmlucHV0J3MgZXZlbnQgaGFuZGxlciBtb2Rp
ZmllZCB2YWx1ZXMgb2YgaW5wdXQgYW5kIHRleHRhcmVhLiBXZWJLaXQgc2hvdWxkIG5vdCBjcmFz
aCwgYW5kIHlvdSBzaG91bGQgc2VlIFBBU1MgYmVsb3c6CisKK1BBU1MKKworCkluZGV4OiBMYXlv
dXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1vbmlucHV0LXNldC12YWx1ZS5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvZGVsZXRlLWFm
dGVyLW9uaW5wdXQtc2V0LXZhbHVlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9l
ZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hZnRlci1vbmlucHV0LXNldC12YWx1ZS5odG1sCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGJvZHk+
Cis8cD5UaGlzIHRlc3RzIHByZXNzaW5nIGRlbGV0ZSBrZXkgYWZ0ZXIgb25pbnB1dCdzIGV2ZW50
IGhhbmRsZXIgbW9kaWZpZWQgdmFsdWVzIG9mIGlucHV0IGFuZCB0ZXh0YXJlYS4gV2ViS2l0IHNo
b3VsZCBub3QgY3Jhc2gsIGFuZCB5b3Ugc2hvdWxkIHNlZSBQQVNTIGJlbG93OjwvcD4KKzxmb3Jt
PgorPGlucHV0IHR5cGU9InRleHQiIG9uaW5wdXQ9InRoaXMudmFsdWU9J2InIiB2YWx1ZT0iYSI+
PGJyPgorPHRleHRhcmVhIG9uaW5wdXQ9InRoaXMudmFsdWU9J2InIj5hPC90ZXh0YXJlYT4KKzwv
Zm9ybT4KKzxwcmU+Cis8c2NyaXB0PgorCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIGZvcm0gPSBk
b2N1bWVudC5mb3Jtc1swXTsKK3ZhciBtZXNzYWdlID0gJyc7Citmb3IgKHZhciBpID0gMDsgaSA8
IGZvcm0uZWxlbWVudHMubGVuZ3RoOyBpKyspIHsKKyAgICB2YXIgdGV4dCA9IGZvcm0uZWxlbWVu
dHNbaV07CisgICAgdGV4dC5mb2N1cygpOworICAgIHRleHQuc2V0U2VsZWN0aW9uUmFuZ2UodGV4
dC52YWx1ZS5sZW5ndGgsIHRleHQudmFsdWUubGVuZ3RoKTsKKyAgICBkb2N1bWVudC5leGVjQ29t
bWFuZCgnSW5zZXJ0TGluZUJyZWFrJywgZmFsc2UsIG51bGwpOworICAgIGRvY3VtZW50LmV4ZWND
b21tYW5kKCdEZWxldGUnLCBmYWxzZSwgbnVsbCk7CisgICAgaWYgKHRleHQudmFsdWUgIT0gJ2In
KQorICAgICAgICBtZXNzYWdlICs9ICdGQUlMOiAnICsgdGV4dC5sb2NhbE5hbWUgKyAnXG4nOwor
fQorCitmb3JtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7Citkb2N1bWVudC53cml0ZShtZXNzYWdl
Lmxlbmd0aCA/IG1lc3NhZ2UgOiAnUEFTU1xuJyk7CisKKzwvc2NyaXB0PgorPC9wcmU+Cis8L2Jv
ZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>75438</attachid>
            <date>2010-12-02 17:11:53 -0800</date>
            <delta_ts>2010-12-02 17:11:53 -0800</delta_ts>
            <desc>demo for insertText case</desc>
            <filename>bug49962.html</filename>
            <type>text/html</type>
            <size>957</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KPHA+VGhpcyB0ZXN0cyBwcmVzc2luZyBkZWxl
dGUga2V5IGFmdGVyIG9uaW5wdXQncyBldmVudCBoYW5kbGVyIG1vZGlmaWVkIHZhbHVlcyBvZiBp
bnB1dCBhbmQgdGV4dGFyZWEuIFdlYktpdCBzaG91bGQgbm90IGNyYXNoLCBhbmQgeW91IHNob3Vs
ZCBzZWUgUEFTUyBiZWxvdzo8L3A+Cjxmb3JtPgo8IS0tPGlucHV0IHR5cGU9InRleHQiIG9uaW5w
dXQ9InRoaXMudmFsdWU9J2InIiB2YWx1ZT0iYSI+PGJyPi0tPgo8dGV4dGFyZWEgb25pbnB1dD0i
dGhpcy52YWx1ZSA9PSAnYWMnID8gdGhpcy52YWx1ZT0nJyA6IG51bGwiPmE8L3RleHRhcmVhPgo8
L2Zvcm0+CjxwcmU+CjxzY3JpcHQ+CgppZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQog
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwoKdmFyIGZvcm0gPSBkb2N1bWVu
dC5mb3Jtc1swXTsKdmFyIG1lc3NhZ2UgPSAnJzsKZm9yICh2YXIgaSA9IDA7IGkgPCBmb3JtLmVs
ZW1lbnRzLmxlbmd0aDsgaSsrKSB7CiAgICB2YXIgdGV4dCA9IGZvcm0uZWxlbWVudHNbaV07CiAg
ICB0ZXh0LmZvY3VzKCk7CiAgICB0ZXh0LnNldFNlbGVjdGlvblJhbmdlKHRleHQudmFsdWUubGVu
Z3RoLCB0ZXh0LnZhbHVlLmxlbmd0aCk7CiAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnSW5zZXJ0
VGV4dCcsIGZhbHNlLCAnYycpOwogICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQn
LCBmYWxzZSwgJ2QnKTsKICAgIGlmICh0ZXh0LnZhbHVlICE9ICdkJykKICAgICAgICBtZXNzYWdl
ICs9ICdGQUlMOiAnICsgdGV4dC5sb2NhbE5hbWUgKyAnXG4nOwp9CgovL2Zvcm0uc3R5bGUuZGlz
cGxheSA9ICdub25lJzsKZG9jdW1lbnQud3JpdGUobWVzc2FnZS5sZW5ndGggPyBtZXNzYWdlIDog
J1BBU1NcbicpOwoKPC9zY3JpcHQ+CjwvcHJlPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75469</attachid>
            <date>2010-12-03 00:46:24 -0800</date>
            <delta_ts>2010-12-03 09:27:07 -0800</delta_ts>
            <desc>fixes the bug for good</desc>
            <filename>bug-49962-20101203004622.patch</filename>
            <type>text/plain</type>
            <size>14210</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzI0NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMTAtMTItMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVH
UkVTU0lPTjogQ3Jhc2ggd2hlbiBkZWxldGluZyB0ZXh0IGFmdGVyIHRleHRhcmVhJ3MgdmFsdWUg
aXMgbW9kaWZpZWQgb24gaW5wdXQgZXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTQ5OTYyCisKKyAgICAgICAgVGhlIGNyYXNoIHdhcyBjYXVzZWQg
YnkgVHlwaW5nQ29tbWFuZDo6ZGVsZXRlS2V5UHJlc3NlZCdzIHJldXNpbmcgYSB0eXBpbmcgY29t
bWFuZCBmb3IKKyAgICAgICAgdGV4dGFyZWEncyBzaGFkb3cgRE9NIGFmdGVyIGl0cyBpbnB1dCBl
dmVudCBoYW5kbGVyIHJld3JvdGUgdGhlIHZhbHVlIHNldCBieSB0aGUgdHlwaW5nIGNvbW1hbmQu
CisgICAgICAgIEJlY2F1c2UgdGhlIHJldXNlZCB0eXBpbmcgY29tbWFuZCdzIGVuZGluZyBzZWxl
Y3Rpb24gd2FzIHBvaW50aW5nIGF0IGEgc2hhZG93IG5vZGUKKyAgICAgICAgdGhhdCBoYXMgYmVl
biBkZXRhY2hlZCBmcm9tIHRoZSBkb2N1bWVudCB3aGVuIHRoZSBldmVudCBoYW5kbGVyIHNldCB0
aGUgbmV3IHZhbHVlLAorICAgICAgICByb290RWRpdGFibGVFbGVtZW50IG9mIHRoZSBlbmRpbmcg
c2VsZWN0aW9uIHdhcyBudWxsIGFuZCBjYXVzZWQgdGhlIGNyYXNoLgorCisgICAgICAgIEZpeGVk
IHRoZSBidWcgYnkgdXBkYXRpbmcgdGhlIGVuZGluZyBzZWxlY3Rpb24gb2YgdGhlIGxhc3QgdHlw
aW5nIGNvbW1hbmQgd2hlbiBpdCBkaWZmZXJzZnJvbQorICAgICAgICB0aGF0IG9mIHRoZSBjdXJy
ZW50IHNlbGVjdGlvbiBoZWxkIGJ5IHRoZSBTZWxlY3Rpb25Db250cm9sbGVyIGluIFR5cGluZ0Nv
bW1hbmQ6OmRlbGV0ZUtleVByZXNzZWQuCisgICAgICAgIEFsc28gZml4ZWQgc2ltaWxhciBidWdz
IGluIGZvcndhcmREZWxldGVLZXlQcmVzc2VkIGFuZCBpbnNlcnRUZXh0LCBhbmQgaW5zZXJ0VGV4
dFJ1bldpdGhvdXROZXdsaW5lcy4KKworICAgICAgICBUZXN0czogZWRpdGluZy9pbnB1dC9zZXQt
dmFsdWUtb24taW5wdXQtYW5kLWRlbGV0ZS5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL2lu
cHV0L3NldC12YWx1ZS1vbi1pbnB1dC1hbmQtZm9yd2FyZC1kZWxldGUuaHRtbAorICAgICAgICAg
ICAgICAgZWRpdGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLXR5cGUtaW5wdXQuaHRt
bAorICAgICAgICAgICAgICAgZWRpdGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLXR5
cGUtdGV4dGFyZWEuaHRtbAorCisgICAgICAgICogZWRpdGluZy9JbnNlcnRUZXh0Q29tbWFuZC5o
OiBBZGRlZCBUeXBpbmdDb21tYW5kIGFzIGEgZnJpZW5kIGJlY2F1c2UgaXQgbmVlZHMgdG8gdXBk
YXRlIHNlbGVjdGlvbi4KKyAgICAgICAgKiBlZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VHlwaW5nQ29tbWFuZDo6ZGVsZXRlS2V5UHJlc3NlZCk6IFVwZGF0ZXMg
dGhlIGxhc3QgdHlwaW5nIGNvbW1hbmQncyBzZWxlY3Rpb24gYXMgbmVlZGVkLgorICAgICAgICAo
V2ViQ29yZTo6VHlwaW5nQ29tbWFuZDo6Zm9yd2FyZERlbGV0ZUtleVByZXNzZWQpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6Omluc2VydFRleHQpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OlR5cGluZ0NvbW1hbmQ6OnVwZGF0ZVNlbGVjdGlvbklmRGlmZmVyZW50
RnJvbUN1cnJlbnRTZWxlY3Rpb24pOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlR5cGluZ0Nv
bW1hbmQ6Omluc2VydFRleHRSdW5XaXRob3V0TmV3bGluZXMpOiBVcGRhdGVzIEluc2VydFRleHRD
b21tYW5kJ3Mgc2VsZWN0aW9uIGFzIG5lZWRlZC4KKyAgICAgICAgKiBlZGl0aW5nL1R5cGluZ0Nv
bW1hbmQuaDoKKwogMjAxMC0xMi0wMiAgQWFyb24gQm9vZG1hbiAgPGFhQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBIeWF0dC4KSW5kZXg6IFdlYkNvcmUvZWRpdGlu
Zy9JbnNlcnRUZXh0Q29tbWFuZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9JbnNl
cnRUZXh0Q29tbWFuZC5oCShyZXZpc2lvbiA3MzExMykKKysrIFdlYkNvcmUvZWRpdGluZy9JbnNl
cnRUZXh0Q29tbWFuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw2ICs1NCw4IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBwZXJmb3JtVHJpdmlhbFJlcGxhY2UoY29uc3QgU3RyaW5nJiwgYm9vbCBzZWxl
Y3RJbnNlcnRlZFRleHQpOwogCiAgICAgdW5zaWduZWQgbV9jaGFyYWN0ZXJzQWRkZWQ7CisKKyAg
ICBmcmllbmQgY2xhc3MgVHlwaW5nQ29tbWFuZDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAJKHJldmlzaW9uIDczMTEzKQorKysg
V2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MSw2
ICs5MSw3IEBAIHZvaWQgVHlwaW5nQ29tbWFuZDo6ZGVsZXRlS2V5UHJlc3NlZChEb2MKICAgICAK
ICAgICBFZGl0Q29tbWFuZCogbGFzdEVkaXRDb21tYW5kID0gZnJhbWUtPmVkaXRvcigpLT5sYXN0
RWRpdENvbW1hbmQoKTsKICAgICBpZiAoZ3JhbnVsYXJpdHkgPT0gQ2hhcmFjdGVyR3JhbnVsYXJp
dHkgJiYgaXNPcGVuRm9yTW9yZVR5cGluZ0NvbW1hbmQobGFzdEVkaXRDb21tYW5kKSkgeworICAg
ICAgICB1cGRhdGVTZWxlY3Rpb25JZkRpZmZlcmVudEZyb21DdXJyZW50U2VsZWN0aW9uKHN0YXRp
Y19jYXN0PFR5cGluZ0NvbW1hbmQqPihsYXN0RWRpdENvbW1hbmQpLCBmcmFtZSk7CiAgICAgICAg
IHN0YXRpY19jYXN0PFR5cGluZ0NvbW1hbmQqPihsYXN0RWRpdENvbW1hbmQpLT5kZWxldGVLZXlQ
cmVzc2VkKGdyYW51bGFyaXR5LCBraWxsUmluZyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC0xMTAsNiArMTExLDcgQEAgdm9pZCBUeXBpbmdDb21tYW5kOjpmb3J3YXJkRGVsZXRlS2V5UHJl
cwogICAgIAogICAgIEVkaXRDb21tYW5kKiBsYXN0RWRpdENvbW1hbmQgPSBmcmFtZS0+ZWRpdG9y
KCktPmxhc3RFZGl0Q29tbWFuZCgpOwogICAgIGlmIChncmFudWxhcml0eSA9PSBDaGFyYWN0ZXJH
cmFudWxhcml0eSAmJiBpc09wZW5Gb3JNb3JlVHlwaW5nQ29tbWFuZChsYXN0RWRpdENvbW1hbmQp
KSB7CisgICAgICAgIHVwZGF0ZVNlbGVjdGlvbklmRGlmZmVyZW50RnJvbUN1cnJlbnRTZWxlY3Rp
b24oc3RhdGljX2Nhc3Q8VHlwaW5nQ29tbWFuZCo+KGxhc3RFZGl0Q29tbWFuZCksIGZyYW1lKTsK
ICAgICAgICAgc3RhdGljX2Nhc3Q8VHlwaW5nQ29tbWFuZCo+KGxhc3RFZGl0Q29tbWFuZCktPmZv
cndhcmREZWxldGVLZXlQcmVzc2VkKGdyYW51bGFyaXR5LCBraWxsUmluZyk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CkBAIC0xMTksNiArMTIxLDE4IEBAIHZvaWQgVHlwaW5nQ29tbWFuZDo6Zm9y
d2FyZERlbGV0ZUtleVByZXMKICAgICB0eXBpbmdDb21tYW5kLT5hcHBseSgpOwogfQogCit2b2lk
IFR5cGluZ0NvbW1hbmQ6OnVwZGF0ZVNlbGVjdGlvbklmRGlmZmVyZW50RnJvbUN1cnJlbnRTZWxl
Y3Rpb24oVHlwaW5nQ29tbWFuZCogdHlwaW5nQ29tbWFuZCwgRnJhbWUqIGZyYW1lKQoreworICAg
IEFTU0VSVChmcmFtZSk7CisgICAgVmlzaWJsZVNlbGVjdGlvbiBjdXJyZW50U2VsZWN0aW9uID0g
ZnJhbWUtPnNlbGVjdGlvbigpLT5zZWxlY3Rpb24oKTsKKyAgICBpZiAoY3VycmVudFNlbGVjdGlv
biA9PSB0eXBpbmdDb21tYW5kLT5lbmRpbmdTZWxlY3Rpb24oKSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIHR5cGluZ0NvbW1hbmQtPnNldFN0YXJ0aW5nU2VsZWN0aW9uKGN1cnJlbnRTZWxl
Y3Rpb24pOworICAgIHR5cGluZ0NvbW1hbmQtPnNldEVuZGluZ1NlbGVjdGlvbihjdXJyZW50U2Vs
ZWN0aW9uKTsKK30KKyAgICAKKwogdm9pZCBUeXBpbmdDb21tYW5kOjppbnNlcnRUZXh0KERvY3Vt
ZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiB0ZXh0LCBib29sIHNlbGVjdEluc2VydGVkVGV4
dCwgYm9vbCBpbnNlcnRlZFRleHRJc0NvbXBvc2l0aW9uKQogewogICAgIEFTU0VSVChkb2N1bWVu
dCk7CkBAIC0xMjksNiArMTQzLDcgQEAgdm9pZCBUeXBpbmdDb21tYW5kOjppbnNlcnRUZXh0KERv
Y3VtZW50KgogICAgIGluc2VydFRleHQoZG9jdW1lbnQsIHRleHQsIGZyYW1lLT5zZWxlY3Rpb24o
KS0+c2VsZWN0aW9uKCksIHNlbGVjdEluc2VydGVkVGV4dCwgaW5zZXJ0ZWRUZXh0SXNDb21wb3Np
dGlvbik7CiB9CiAKKy8vIEZJWE1FOiBXZSBzaG91bGRuJ3QgbmVlZCB0byB0YWtlIHNlbGVjdGlv
bkZvckluc2VydGlvbi4gSXQgc2hvdWxkIGJlIGlkZW50aWNhbCB0byBTZWxlY3Rpb25Db250cm9s
bGVyJ3MgY3VycmVudCBzZWxlY3Rpb24uCiB2b2lkIFR5cGluZ0NvbW1hbmQ6Omluc2VydFRleHQo
RG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIHRleHQsIGNvbnN0IFZpc2libGVTZWxl
Y3Rpb24mIHNlbGVjdGlvbkZvckluc2VydGlvbiwgYm9vbCBzZWxlY3RJbnNlcnRlZFRleHQsIGJv
b2wgaW5zZXJ0ZWRUZXh0SXNDb21wb3NpdGlvbikKIHsKICNpZiBSRU1PVkVfTUFSS0VSU19VUE9O
X0VESVRJTkcKQEAgLTE2MywxNSArMTc4LDExIEBAIHZvaWQgVHlwaW5nQ29tbWFuZDo6aW5zZXJ0
VGV4dChEb2N1bWVudCoKICAgICBSZWZQdHI8RWRpdENvbW1hbmQ+IGxhc3RFZGl0Q29tbWFuZCA9
IGZyYW1lLT5lZGl0b3IoKS0+bGFzdEVkaXRDb21tYW5kKCk7CiAgICAgaWYgKGlzT3BlbkZvck1v
cmVUeXBpbmdDb21tYW5kKGxhc3RFZGl0Q29tbWFuZC5nZXQoKSkpIHsKICAgICAgICAgVHlwaW5n
Q29tbWFuZCogbGFzdFR5cGluZ0NvbW1hbmQgPSBzdGF0aWNfY2FzdDxUeXBpbmdDb21tYW5kKj4o
bGFzdEVkaXRDb21tYW5kLmdldCgpKTsKLSAgICAgICAgaWYgKGNoYW5nZVNlbGVjdGlvbikgewor
ICAgICAgICBpZiAobGFzdFR5cGluZ0NvbW1hbmQtPmVuZGluZ1NlbGVjdGlvbigpICE9IHNlbGVj
dGlvbkZvckluc2VydGlvbikgewogICAgICAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQtPnNldFN0
YXJ0aW5nU2VsZWN0aW9uKHNlbGVjdGlvbkZvckluc2VydGlvbik7CiAgICAgICAgICAgICBsYXN0
VHlwaW5nQ29tbWFuZC0+c2V0RW5kaW5nU2VsZWN0aW9uKHNlbGVjdGlvbkZvckluc2VydGlvbik7
CiAgICAgICAgIH0KICAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQtPmluc2VydFRleHQobmV3VGV4
dCwgc2VsZWN0SW5zZXJ0ZWRUZXh0KTsKLSAgICAgICAgaWYgKGNoYW5nZVNlbGVjdGlvbikgewot
ICAgICAgICAgICAgbGFzdFR5cGluZ0NvbW1hbmQtPnNldEVuZGluZ1NlbGVjdGlvbihjdXJyZW50
U2VsZWN0aW9uKTsKLSAgICAgICAgICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+c2V0U2VsZWN0aW9u
KGN1cnJlbnRTZWxlY3Rpb24pOwotICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
QEAgLTM3MSw2ICszODIsMTAgQEAgdm9pZCBUeXBpbmdDb21tYW5kOjppbnNlcnRUZXh0UnVuV2l0
aG91dAogICAgICAgICBjb21tYW5kID0gSW5zZXJ0VGV4dENvbW1hbmQ6OmNyZWF0ZShkb2N1bWVu
dCgpKTsKICAgICAgICAgYXBwbHlDb21tYW5kVG9Db21wb3NpdGUoY29tbWFuZCk7CiAgICAgfQor
ICAgIGlmIChlbmRpbmdTZWxlY3Rpb24oKSAhPSBjb21tYW5kLT5lbmRpbmdTZWxlY3Rpb24oKSkg
eworICAgICAgICBjb21tYW5kLT5zZXRTdGFydGluZ1NlbGVjdGlvbihlbmRpbmdTZWxlY3Rpb24o
KSk7CisgICAgICAgIGNvbW1hbmQtPnNldEVuZGluZ1NlbGVjdGlvbihlbmRpbmdTZWxlY3Rpb24o
KSk7CisgICAgfQogICAgIGNvbW1hbmQtPmlucHV0KHRleHQsIHNlbGVjdEluc2VydGVkVGV4dCk7
CiAgICAgdHlwaW5nQWRkZWRUb09wZW5Db21tYW5kKEluc2VydFRleHQpOwogfQpJbmRleDogV2Vi
Q29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRp
bmcvVHlwaW5nQ29tbWFuZC5oCShyZXZpc2lvbiA3MzExMykKKysrIFdlYkNvcmUvZWRpdGluZy9U
eXBpbmdDb21tYW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTgxLDYgKzgxLDggQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIGJvb2wgaXNUeXBpbmdDb21tYW5kKCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHByZXNlcnZlc1R5cGluZ1N0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9wcmVzZXJ2ZXNUeXBp
bmdTdHlsZTsgfQogCisgICAgc3RhdGljIHZvaWQgdXBkYXRlU2VsZWN0aW9uSWZEaWZmZXJlbnRG
cm9tQ3VycmVudFNlbGVjdGlvbihUeXBpbmdDb21tYW5kKiwgRnJhbWUqKTsKKwogICAgIHZvaWQg
dXBkYXRlUHJlc2VydmVzVHlwaW5nU3R5bGUoRVR5cGluZ0NvbW1hbmQpOwogICAgIHZvaWQgbWFy
a01pc3NwZWxsaW5nc0FmdGVyVHlwaW5nKEVUeXBpbmdDb21tYW5kKTsKICAgICB2b2lkIHR5cGlu
Z0FkZGVkVG9PcGVuQ29tbWFuZChFVHlwaW5nQ29tbWFuZCk7CkluZGV4OiBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3
MzI0NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIyIEBACisyMDEwLTEyLTAyICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046
IENyYXNoIHdoZW4gZGVsZXRpbmcgdGV4dCBhZnRlciB0ZXh0YXJlYSdzIHZhbHVlIGlzIG1vZGlm
aWVkIG9uIGlucHV0IGV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD00OTk2MgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIGVuc3VyZSBpbnNlcnRp
bmcgYW5kIGRlbGV0aW5nIGEgY2hhcmFjdGVyIGluc2lkZSBpbnB1dCBvciB0ZXh0YXJlYQorICAg
ICAgICBzdWNjZWVkcyBldmVuIGlmIHRoZSB2YWx1ZSBvZiB0aG9zZSBlbGVtZW50cyBoYXZlIGJl
ZW4gcmV3cml0dGVuIGJ5IGl0cyBpbnB1dCBldmVudCBoYW5kbGVyLgorCisgICAgICAgICogZWRp
dGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLWRlbGV0ZS1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvaW5wdXQvc2V0LXZhbHVlLW9uLWlucHV0LWFuZC1kZWxl
dGUuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5w
dXQtYW5kLWZvcndhcmQtZGVsZXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLWZvcndhcmQtZGVsZXRlLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGVkaXRpbmcvaW5wdXQvc2V0LXZhbHVlLW9uLWlucHV0LWFuZC10eXBl
LWlucHV0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9pbnB1dC9zZXQt
dmFsdWUtb24taW5wdXQtYW5kLXR5cGUtaW5wdXQuaHRtbDogQWRkZWQuCisgICAgICAgICogZWRp
dGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLXR5cGUtdGV4dGFyZWEtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2lucHV0L3NldC12YWx1ZS1vbi1pbnB1dC1h
bmQtdHlwZS10ZXh0YXJlYS5odG1sOiBBZGRlZC4KKwogMjAxMC0xMi0wMiAgTGFzemxvIEdvbWJv
cyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
cmVhcyBLbGluZy4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvc2V0LXZhbHVlLW9u
LWlucHV0LWFuZC1kZWxldGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2VkaXRpbmcvaW5wdXQvc2V0LXZhbHVlLW9uLWlucHV0LWFuZC1kZWxldGUtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9zZXQtdmFsdWUtb24t
aW5wdXQtYW5kLWRlbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBA
QAorVGhpcyB0ZXN0cyBkZWxldGluZyBhIGNoYXJhY3RlciBhZnRlciBpbnB1dCBldmVudCBoYW5k
bGVyIG1vZGlmaWVkIHZhbHVlcyBvZiB0ZXh0YXJlYS4gV2ViS2l0IHNob3VsZCBub3QgY3Jhc2gg
YW5kIHlvdSBzaG91bGQgc2VlIFBBU1MgYmVsb3c6CisKKworUEFTUwpJbmRleDogTGF5b3V0VGVz
dHMvZWRpdGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLWRlbGV0ZS5odG1sCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvc2V0LXZhbHVlLW9uLWlucHV0LWFu
ZC1kZWxldGUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQv
c2V0LXZhbHVlLW9uLWlucHV0LWFuZC1kZWxldGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+VGhpcyB0ZXN0cyBk
ZWxldGluZyBhIGNoYXJhY3RlciBhZnRlciBpbnB1dCBldmVudCBoYW5kbGVyIG1vZGlmaWVkIHZh
bHVlcyBvZiB0ZXh0YXJlYS4gV2ViS2l0IHNob3VsZCBub3QgY3Jhc2ggYW5kIHlvdSBzaG91bGQg
c2VlIFBBU1MgYmVsb3c6PC9wPgorPGZvcm0+PHRleHRhcmVhIG9uaW5wdXQ9InRoaXMudmFsdWUg
IT0gJycgPyB0aGlzLnZhbHVlID0gJ2InIDogbnVsbCI+YTwvdGV4dGFyZWE+PC9mb3JtPgorPHNj
cmlwdD4KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciB0ZXh0ID0gZG9jdW1lbnQuZm9ybXNbMF0u
ZWxlbWVudHNbMF07Cit0ZXh0LmZvY3VzKCk7Cit0ZXh0LnNldFNlbGVjdGlvblJhbmdlKHRleHQu
dmFsdWUubGVuZ3RoLCB0ZXh0LnZhbHVlLmxlbmd0aCk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgn
SW5zZXJ0TGluZUJyZWFrJywgZmFsc2UsIG51bGwpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0Rl
bGV0ZScsIGZhbHNlLCBudWxsKTsKK2RvY3VtZW50LndyaXRlKHRleHQudmFsdWUgPT0gJycgPyAn
UEFTUycgOiAnRkFJTCcpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvc2V0LXZhbHVlLW9uLWlucHV0LWFuZC1mb3J3YXJkLWRl
bGV0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1
dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLWZvcndhcmQtZGVsZXRlLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvc2V0LXZhbHVlLW9uLWlucHV0
LWFuZC1mb3J3YXJkLWRlbGV0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NCBAQAorVGhpcyB0ZXN0cyBmb3J3YXJkLWRlbGV0aW5nIGEgY2hhcmFjdGVyIGFmdGVyIGlucHV0
IGV2ZW50IGhhbmRsZXIgbW9kaWZpZWQgdmFsdWVzIG9mIHRleHRhcmVhLiBXZWJLaXQgc2hvdWxk
IG5vdCBjcmFzaCBhbmQgeW91IHNob3VsZCBzZWUgUEFTUyBiZWxvdzoKKworCitQQVNTCkluZGV4
OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3NldC12YWx1ZS1vbi1pbnB1dC1hbmQtZm9yd2Fy
ZC1kZWxldGUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3Nl
dC12YWx1ZS1vbi1pbnB1dC1hbmQtZm9yd2FyZC1kZWxldGUuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvc2V0LXZhbHVlLW9uLWlucHV0LWFuZC1mb3J3YXJk
LWRlbGV0ZS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGJvZHk+Cis8cD5UaGlzIHRlc3RzIGZvcndhcmQtZGVsZXRpbmcgYSBjaGFy
YWN0ZXIgYWZ0ZXIgaW5wdXQgZXZlbnQgaGFuZGxlciBtb2RpZmllZCB2YWx1ZXMgb2YgdGV4dGFy
ZWEuIFdlYktpdCBzaG91bGQgbm90IGNyYXNoIGFuZCB5b3Ugc2hvdWxkIHNlZSBQQVNTIGJlbG93
OjwvcD4KKzxmb3JtPjx0ZXh0YXJlYSBvbmlucHV0PSJ0aGlzLnZhbHVlICE9ICdiJyA/IHRoaXMu
dmFsdWUgPSAnYicgOiBudWxsIj5hPC90ZXh0YXJlYT48L2Zvcm0+Cis8c2NyaXB0PgorCitpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKwordmFyIHRleHQgPSBkb2N1bWVudC5mb3Jtc1swXS5lbGVtZW50c1swXTsK
K3RleHQuZm9jdXMoKTsKK3RleHQuc2V0U2VsZWN0aW9uUmFuZ2UodGV4dC52YWx1ZS5sZW5ndGgs
IHRleHQudmFsdWUubGVuZ3RoKTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRMaW5lQnJl
YWsnLCBmYWxzZSwgbnVsbCk7Citkb2N1bWVudC5leGVjQ29tbWFuZCgnRm9yd2FyZERlbGV0ZScs
IGZhbHNlLCBudWxsKTsKK2RvY3VtZW50LndyaXRlKHRleHQudmFsdWUgPT0gJ2InID8gJ1BBU1Mn
IDogJ0ZBSUwnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRU
ZXN0cy9lZGl0aW5nL2lucHV0L3NldC12YWx1ZS1vbi1pbnB1dC1hbmQtdHlwZS1pbnB1dC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9zZXQtdmFs
dWUtb24taW5wdXQtYW5kLXR5cGUtaW5wdXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLXR5cGUtaW5w
dXQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK1RoaXMgdGVzdHMg
dHlwaW5nIGEgY2hhcmFjdGVyIGFmdGVyIGlucHV0IGV2ZW50IGhhbmRsZXIgbW9kaWZpZWQgdmFs
dWVzIG9mIGlucHV0IGVsZW1lbnQuIFdlYktpdCBzaG91bGQgbm90IGNyYXNoIGFuZCB5b3Ugc2hv
dWxkIHNlZSBQQVNTIGJlbG93OgorCisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcv
aW5wdXQvc2V0LXZhbHVlLW9uLWlucHV0LWFuZC10eXBlLWlucHV0Lmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLXR5cGUt
aW5wdXQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvc2V0
LXZhbHVlLW9uLWlucHV0LWFuZC10eXBlLWlucHV0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdHMg
dHlwaW5nIGEgY2hhcmFjdGVyIGFmdGVyIGlucHV0IGV2ZW50IGhhbmRsZXIgbW9kaWZpZWQgdmFs
dWVzIG9mIGlucHV0IGVsZW1lbnQuIFdlYktpdCBzaG91bGQgbm90IGNyYXNoIGFuZCB5b3Ugc2hv
dWxkIHNlZSBQQVNTIGJlbG93OjwvcD4KKzxmb3JtPjxpbnB1dCB0eXBlPSJ0ZXh0IiBvbmlucHV0
PSJ0aGlzLnZhbHVlID09ICdhYicgPyB0aGlzLnZhbHVlID0gJycgOiBudWxsIiB2YWx1ZT0iYSI+
PC9mb3JtPgorPHNjcmlwdD4KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK3ZhciB0ZXh0ID0gZG9jdW1l
bnQuZm9ybXNbMF0uZWxlbWVudHNbMF07Cit0ZXh0LmZvY3VzKCk7Cit0ZXh0LnNldFNlbGVjdGlv
blJhbmdlKHRleHQudmFsdWUubGVuZ3RoLCB0ZXh0LnZhbHVlLmxlbmd0aCk7Citkb2N1bWVudC5l
eGVjQ29tbWFuZCgnSW5zZXJ0VGV4dCcsIGZhbHNlLCAnYicpOworZG9jdW1lbnQuZXhlY0NvbW1h
bmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJ2MnKTsKK2RvY3VtZW50LndyaXRlKHRleHQudmFsdWUg
PT0gJ2MnID8gJ1BBU1MnIDogJ0ZBSUwnKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3NldC12YWx1ZS1vbi1pbnB1dC1hbmQt
dHlwZS10ZXh0YXJlYS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRp
dGluZy9pbnB1dC9zZXQtdmFsdWUtb24taW5wdXQtYW5kLXR5cGUtdGV4dGFyZWEtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9pbnB1dC9zZXQtdmFsdWUt
b24taW5wdXQtYW5kLXR5cGUtdGV4dGFyZWEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDQgQEAKK1RoaXMgdGVzdHMgdHlwaW5nIGEgY2hhcmFjdGVyIGFmdGVyIGlucHV0IGV2
ZW50IGhhbmRsZXIgbW9kaWZpZWQgdmFsdWVzIG9mIHRleHRhcmVhLiBXZWJLaXQgc2hvdWxkIG5v
dCBjcmFzaCBhbmQgeW91IHNob3VsZCBzZWUgUEFTUyBiZWxvdzoKKworCitQQVNTCkluZGV4OiBM
YXlvdXRUZXN0cy9lZGl0aW5nL2lucHV0L3NldC12YWx1ZS1vbi1pbnB1dC1hbmQtdHlwZS10ZXh0
YXJlYS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvaW5wdXQvc2V0LXZh
bHVlLW9uLWlucHV0LWFuZC10eXBlLXRleHRhcmVhLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9lZGl0aW5nL2lucHV0L3NldC12YWx1ZS1vbi1pbnB1dC1hbmQtdHlwZS10ZXh0YXJl
YS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGJvZHk+Cis8cD5UaGlzIHRlc3RzIHR5cGluZyBhIGNoYXJhY3RlciBhZnRlciBpbnB1
dCBldmVudCBoYW5kbGVyIG1vZGlmaWVkIHZhbHVlcyBvZiB0ZXh0YXJlYS4gV2ViS2l0IHNob3Vs
ZCBub3QgY3Jhc2ggYW5kIHlvdSBzaG91bGQgc2VlIFBBU1MgYmVsb3c6PC9wPgorPGZvcm0+PHRl
eHRhcmVhIG9uaW5wdXQ9InRoaXMudmFsdWUgPT0gJ2FiJyA/IHRoaXMudmFsdWUgPSAnJyA6IG51
bGwiPmE8L3RleHRhcmVhPjwvZm9ybT4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2
YXIgdGV4dCA9IGRvY3VtZW50LmZvcm1zWzBdLmVsZW1lbnRzWzBdOwordGV4dC5mb2N1cygpOwor
dGV4dC5zZXRTZWxlY3Rpb25SYW5nZSh0ZXh0LnZhbHVlLmxlbmd0aCwgdGV4dC52YWx1ZS5sZW5n
dGgpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ0luc2VydFRleHQnLCBmYWxzZSwgJ2InKTsKK2Rv
Y3VtZW50LmV4ZWNDb21tYW5kKCdJbnNlcnRUZXh0JywgZmFsc2UsICdjJyk7Citkb2N1bWVudC53
cml0ZSh0ZXh0LnZhbHVlID09ICdjJyA/ICdQQVNTJyA6ICdGQUlMJyk7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="66279"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>