<?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>151241</bug_id>
          
          <creation_ts>2015-11-12 17:59:54 -0800</creation_ts>
          <short_desc>Restore CodeBlock jettison code to jettison when a CodeBlock has been alive for a long time</short_desc>
          <delta_ts>2016-08-04 23:48:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=151277</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>151282</dependson>
    
    <dependson>153471</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kling</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1141725</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-11-12 17:59:54 -0800</bug_when>
    <thetext>Restore CodeBlock jettison code I accidentally removed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141726</commentid>
    <comment_count>1</comment_count>
      <attachid>265461</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-11-12 18:01:31 -0800</bug_when>
    <thetext>Created attachment 265461
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141727</commentid>
    <comment_count>2</comment_count>
      <attachid>265461</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-11-12 18:04:31 -0800</bug_when>
    <thetext>Comment on attachment 265461
Patch

r=me
(Hope it works, too!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141732</commentid>
    <comment_count>3</comment_count>
      <attachid>265461</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-12 18:53:53 -0800</bug_when>
    <thetext>Comment on attachment 265461
Patch

Clearing flags on attachment: 265461

Committed r192401: &lt;http://trac.webkit.org/changeset/192401&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141733</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-12 18:53:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141982</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-13 16:37:10 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 151282</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142134</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-11-15 13:28:12 -0800</bug_when>
    <thetext>This broke animometer, and also rolling this out somehow fixed v8-raytrace (even though landing it wasn&apos;t what broke it).

Tim rolled out in r192450.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158410</commentid>
    <comment_count>7</comment_count>
      <attachid>269770</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-01-25 11:31:17 -0800</bug_when>
    <thetext>Created attachment 269770
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158412</commentid>
    <comment_count>8</comment_count>
      <attachid>269770</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-25 11:32:42 -0800</bug_when>
    <thetext>Comment on attachment 269770
Patch for landing

Rejecting attachment 269770 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 269770, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Geoff Garen found in /Volumes/Data/EWS/WebKit/Source/JavaScriptCore/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/EWS/WebKit/Source/JavaScriptCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://webkit-queues.webkit.org/results/737719</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158436</commentid>
    <comment_count>9</comment_count>
      <attachid>269777</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-01-25 12:07:03 -0800</bug_when>
    <thetext>Created attachment 269777
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158461</commentid>
    <comment_count>10</comment_count>
      <attachid>269777</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-25 13:04:37 -0800</bug_when>
    <thetext>Comment on attachment 269777
Patch for landing

Clearing flags on attachment: 269777

Committed r195550: &lt;http://trac.webkit.org/changeset/195550&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158462</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-25 13:04:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158669</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-25 19:08:29 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 153471</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1158672</commentid>
    <comment_count>13</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-01-25 19:11:03 -0800</bug_when>
    <thetext>Crashed Thread:        9  WTF Parallel Helper Thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

VM Regions Near 0:
--&gt; 
    __TEXT                 0000000106c76000-0000000106c77000 [    4K] r-x/rwx SM=COW  /System/Library/Frameworks/WebKit.framework/Versions/A/XPCServices/com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent

Application Specific Information:
Bundle controller class:
BrowserBundleController
 
Process Model:
Multiple Web Processes
 

Global Trace Buffer (reverse chronological seconds):
12.372942    CFNetwork                 	0x00007fff951833eb Explicitly setting CF cookie storage singleton
12.373440    CFNetwork                 	0x00007fff951b9c85 Explicitly setting cookie storage singleton

Thread 0:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff8bf73d7a swtch_pri + 10
1   libsystem_pthread.dylib       	0x00007fff8b7973ac sched_yield + 11
2   com.apple.JavaScriptCore      	0x00007fff94ddbeb5 WTF::LockBase::lockSlow() + 293
3   com.apple.JavaScriptCore      	0x00007fff94476b87 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 535
4   com.apple.JavaScriptCore      	0x00007fff94a4c845 JSC::Heap::markRoots(double, void*, void*, int (&amp;) [37]) + 1125
5   com.apple.JavaScriptCore      	0x00007fff94a4d6fd JSC::Heap::collectImpl(JSC::HeapOperation, void*, void*, int (&amp;) [37]) + 717
6   com.apple.JavaScriptCore      	0x00007fff94a4d400 JSC::Heap::collect(JSC::HeapOperation) + 96
7   com.apple.JavaScriptCore      	0x00007fff94a471fc JSC::GCActivityCallback::doWork() + 76
8   com.apple.JavaScriptCore      	0x00007fff944759ea JSC::HeapTimer::timerDidFire(__CFRunLoopTimer*, void*) + 186
9   com.apple.CoreFoundation      	0x00007fff969579f4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 20
10  com.apple.CoreFoundation      	0x00007fff96957683 __CFRunLoopDoTimer + 1075
11  com.apple.CoreFoundation      	0x00007fff969571da __CFRunLoopDoTimers + 298
12  com.apple.CoreFoundation      	0x00007fff9694e6d1 __CFRunLoopRun + 1841
13  com.apple.CoreFoundation      	0x00007fff9694dd38 CFRunLoopRunSpecific + 296
14  com.apple.HIToolbox           	0x00007fff9a3f3d55 RunCurrentEventLoopInMode + 235
15  com.apple.HIToolbox           	0x00007fff9a3f3b8f ReceiveNextEventCommon + 432
16  com.apple.HIToolbox           	0x00007fff9a3f39cf _BlockUntilNextEventMatchingListInModeWithFilter + 71
17  com.apple.AppKit              	0x00007fff894fbf3a _DPSNextEvent + 1067
18  com.apple.AppKit              	0x00007fff894fb369 -[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
19  com.apple.AppKit              	0x00007fff894efecc -[NSApplication run] + 682
20  com.apple.AppKit              	0x00007fff894b9162 NSApplicationMain + 1176
21  libxpc.dylib                  	0x00007fff9b30a4f2 _xpc_objc_main + 793
22  libxpc.dylib                  	0x00007fff9b308f1e xpc_main + 494
23  com.apple.WebKit.WebContent   	0x0000000106c76b46 0x106c76000 + 2886
24  libdyld.dylib                 	0x00007fff8ed9e5ad start + 1

Thread 1:
0   libsystem_kernel.dylib        	0x00007fff8bf7978a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff8b79658c _pthread_wqthread + 1283
2   libsystem_pthread.dylib       	0x00007fff8b794375 start_wqthread + 13

Thread 2:: Dispatch queue: com.apple.libdispatch-manager
0   libsystem_kernel.dylib        	0x00007fff8bf7a0a2 kevent_qos + 10
1   libdispatch.dylib             	0x00007fff9a8ca1ad _dispatch_mgr_invoke + 216
2   libdispatch.dylib             	0x00007fff9a8c9e15 _dispatch_mgr_thread + 52

Thread 3:
0   libsystem_kernel.dylib        	0x00007fff8bf7978a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff8b79658c _pthread_wqthread + 1283
2   libsystem_pthread.dylib       	0x00007fff8b794375 start_wqthread + 13

Thread 4:
0   libsystem_kernel.dylib        	0x00007fff8bf7978a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff8b79658c _pthread_wqthread + 1283
2   libsystem_pthread.dylib       	0x00007fff8b794375 start_wqthread + 13

Thread 5:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fff8bf73c96 mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff8bf730d7 mach_msg + 55
2   com.apple.CoreFoundation      	0x00007fff9694f024 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation      	0x00007fff9694e4ec __CFRunLoopRun + 1356
4   com.apple.CoreFoundation      	0x00007fff9694dd38 CFRunLoopRunSpecific + 296
5   com.apple.AppKit              	0x00007fff89651eed _NSEventThread + 149
6   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
7   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
8   libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 6:: com.apple.NSURLConnectionLoader
0   libsystem_kernel.dylib        	0x00007fff8bf73c96 mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff8bf730d7 mach_msg + 55
2   com.apple.CoreFoundation      	0x00007fff9694f024 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation      	0x00007fff9694e4ec __CFRunLoopRun + 1356
4   com.apple.CoreFoundation      	0x00007fff9694dd38 CFRunLoopRunSpecific + 296
5   com.apple.CFNetwork           	0x00007fff94fbcc2d +[NSURLConnection(Loader) _resourceLoadLoop:] + 412
6   com.apple.Foundation          	0x00007fff9370e084 __NSThread__start__ + 1351
7   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
8   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
9   libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 7:
0   libsystem_kernel.dylib        	0x00007fff8bf792b2 __semwait_signal + 10
1   libsystem_c.dylib             	0x00007fff87515a75 nanosleep + 199
2   libc++.1.dylib                	0x00007fff92335020 std::__1::this_thread::sleep_for(std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; const&amp;) + 75
3   com.apple.JavaScriptCore      	0x00007fff94df378b bmalloc::Heap::scavengeLargeObjects(std::__1::unique_lock&lt;bmalloc::StaticMutex&gt;&amp;, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000l&gt; &gt;) + 219
4   com.apple.JavaScriptCore      	0x00007fff94df30ff bmalloc::Heap::scavenge(std::__1::unique_lock&lt;bmalloc::StaticMutex&gt;&amp;, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000l&gt; &gt;) + 287
5   com.apple.JavaScriptCore      	0x00007fff94df2cd4 bmalloc::Heap::concurrentScavenge() + 68
6   com.apple.JavaScriptCore      	0x00007fff94df559a bmalloc::AsyncTask&lt;bmalloc::Heap, void (bmalloc::Heap::*)()&gt;::threadRunLoop() + 90
7   com.apple.JavaScriptCore      	0x00007fff94df57bd void* std::__1::__thread_proxy&lt;std::__1::tuple&lt;void (*)(bmalloc::AsyncTask&lt;bmalloc::Heap, void (bmalloc::Heap::*)()&gt;*), bmalloc::AsyncTask&lt;bmalloc::Heap, void (bmalloc::Heap::*)()&gt;*&gt; &gt;(void*) + 93
8   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
9   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
10  libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 8:: WebCore: Scrolling
0   libsystem_kernel.dylib        	0x00007fff8bf73c96 mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff8bf730d7 mach_msg + 55
2   com.apple.CoreFoundation      	0x00007fff9694f024 __CFRunLoopServiceMachPort + 212
3   com.apple.CoreFoundation      	0x00007fff9694e4ec __CFRunLoopRun + 1356
4   com.apple.CoreFoundation      	0x00007fff9694dd38 CFRunLoopRunSpecific + 296
5   com.apple.CoreFoundation      	0x00007fff9698f751 CFRunLoopRun + 97
6   com.apple.WebCore             	0x00007fff910e4a7d WebCore::ScrollingThread::initializeRunLoop() + 253
7   com.apple.JavaScriptCore      	0x00007fff9445fc62 WTF::threadEntryPoint(void*) + 178
8   com.apple.JavaScriptCore      	0x00007fff9445fb8f WTF::wtfThreadEntryPoint(void*) + 15
9   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
10  libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
11  libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 9 Crashed:: WTF Parallel Helper Thread
0   com.apple.JavaScriptCore      	0x00007fff94476d54 JSC::SlotVisitor::drain() + 244
1   com.apple.JavaScriptCore      	0x00007fff944769d8 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 104
2   com.apple.JavaScriptCore      	0x00007fff94a4eafe WTF::SharedTaskFunctor&lt;void (), JSC::Heap::markRoots(double, void*, void*, int (&amp;) [37])::$_0&gt;::run() + 286
3   com.apple.JavaScriptCore      	0x00007fff94de33ac WTF::ParallelHelperClient::runTask(WTF::RefPtr&lt;WTF::SharedTask&lt;void ()&gt; &gt;) + 44
4   com.apple.JavaScriptCore      	0x00007fff94de3c0f WTF::ParallelHelperPool::helperThreadBody() + 223
5   com.apple.JavaScriptCore      	0x00007fff9445fc62 WTF::threadEntryPoint(void*) + 178
6   com.apple.JavaScriptCore      	0x00007fff9445fb8f WTF::wtfThreadEntryPoint(void*) + 15
7   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
8   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
9   libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 10:: WTF Parallel Helper Thread
0   com.apple.JavaScriptCore      	0x00007fff947a961d JSC::CodeBlock::propagateTransitions(JSC::SlotVisitor&amp;) + 701
1   com.apple.JavaScriptCore      	0x00007fff94476d75 JSC::SlotVisitor::drain() + 277
2   com.apple.JavaScriptCore      	0x00007fff944769d8 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 104
3   com.apple.JavaScriptCore      	0x00007fff94a4eafe WTF::SharedTaskFunctor&lt;void (), JSC::Heap::markRoots(double, void*, void*, int (&amp;) [37])::$_0&gt;::run() + 286
4   com.apple.JavaScriptCore      	0x00007fff94de33ac WTF::ParallelHelperClient::runTask(WTF::RefPtr&lt;WTF::SharedTask&lt;void ()&gt; &gt;) + 44
5   com.apple.JavaScriptCore      	0x00007fff94de3c0f WTF::ParallelHelperPool::helperThreadBody() + 223
6   com.apple.JavaScriptCore      	0x00007fff9445fc62 WTF::threadEntryPoint(void*) + 178
7   com.apple.JavaScriptCore      	0x00007fff9445fb8f WTF::wtfThreadEntryPoint(void*) + 15
8   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
9   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
10  libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 11:: WTF Parallel Helper Thread
0   libsystem_kernel.dylib        	0x00007fff8bf73d7a swtch_pri + 10
1   libsystem_pthread.dylib       	0x00007fff8b7973ac sched_yield + 11
2   com.apple.JavaScriptCore      	0x00007fff94ddbeb5 WTF::LockBase::lockSlow() + 293
3   com.apple.JavaScriptCore      	0x00007fff94476b87 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 535
4   com.apple.JavaScriptCore      	0x00007fff94a4eafe WTF::SharedTaskFunctor&lt;void (), JSC::Heap::markRoots(double, void*, void*, int (&amp;) [37])::$_0&gt;::run() + 286
5   com.apple.JavaScriptCore      	0x00007fff94de33ac WTF::ParallelHelperClient::runTask(WTF::RefPtr&lt;WTF::SharedTask&lt;void ()&gt; &gt;) + 44
6   com.apple.JavaScriptCore      	0x00007fff94de3c0f WTF::ParallelHelperPool::helperThreadBody() + 223
7   com.apple.JavaScriptCore      	0x00007fff9445fc62 WTF::threadEntryPoint(void*) + 178
8   com.apple.JavaScriptCore      	0x00007fff9445fb8f WTF::wtfThreadEntryPoint(void*) + 15
9   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
10  libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
11  libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 12:: DFG Worklist Worker Thread
0   libsystem_kernel.dylib        	0x00007fff8bf78f5e __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff8b79773d _pthread_cond_wait + 767
2   libc++.1.dylib                	0x00007fff922f668f std::__1::condition_variable::wait(std::__1::unique_lock&lt;std::__1::mutex&gt;&amp;) + 47
3   com.apple.JavaScriptCore      	0x00007fff94de062e WTF::ParkingLot::parkConditionally(void const*, std::__1::function&lt;bool ()&gt;, std::__1::function&lt;void ()&gt;, std::__1::chrono::time_point&lt;std::__1::chrono::steady_clock, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; &gt;) + 2494
4   com.apple.JavaScriptCore      	0x00007fff94991aea bool WTF::ConditionBase::waitUntil&lt;WTF::Lock&gt;(WTF::Lock&amp;, std::__1::chrono::time_point&lt;std::__1::chrono::steady_clock, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; &gt;) + 154
5   com.apple.JavaScriptCore      	0x00007fff9499058e JSC::DFG::Worklist::runThread(JSC::DFG::ThreadData*) + 302
6   com.apple.JavaScriptCore      	0x00007fff9445fc62 WTF::threadEntryPoint(void*) + 178
7   com.apple.JavaScriptCore      	0x00007fff9445fb8f WTF::wtfThreadEntryPoint(void*) + 15
8   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
9   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
10  libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 13:: FTL Worklist Worker Thread
0   libsystem_kernel.dylib        	0x00007fff8bf78f5e __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff8b79773d _pthread_cond_wait + 767
2   libc++.1.dylib                	0x00007fff922f668f std::__1::condition_variable::wait(std::__1::unique_lock&lt;std::__1::mutex&gt;&amp;) + 47
3   com.apple.JavaScriptCore      	0x00007fff94de062e WTF::ParkingLot::parkConditionally(void const*, std::__1::function&lt;bool ()&gt;, std::__1::function&lt;void ()&gt;, std::__1::chrono::time_point&lt;std::__1::chrono::steady_clock, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; &gt;) + 2494
4   com.apple.JavaScriptCore      	0x00007fff94991aea bool WTF::ConditionBase::waitUntil&lt;WTF::Lock&gt;(WTF::Lock&amp;, std::__1::chrono::time_point&lt;std::__1::chrono::steady_clock, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; &gt;) + 154
5   com.apple.JavaScriptCore      	0x00007fff9499058e JSC::DFG::Worklist::runThread(JSC::DFG::ThreadData*) + 302
6   com.apple.JavaScriptCore      	0x00007fff9445fc62 WTF::threadEntryPoint(void*) + 178
7   com.apple.JavaScriptCore      	0x00007fff9445fb8f WTF::wtfThreadEntryPoint(void*) + 15
8   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
9   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
10  libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 14:: FTL Worklist Worker Thread
0   libsystem_kernel.dylib        	0x00007fff8bf78f5e __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff8b79773d _pthread_cond_wait + 767
2   libc++.1.dylib                	0x00007fff922f668f std::__1::condition_variable::wait(std::__1::unique_lock&lt;std::__1::mutex&gt;&amp;) + 47
3   com.apple.JavaScriptCore      	0x00007fff94de062e WTF::ParkingLot::parkConditionally(void const*, std::__1::function&lt;bool ()&gt;, std::__1::function&lt;void ()&gt;, std::__1::chrono::time_point&lt;std::__1::chrono::steady_clock, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; &gt;) + 2494
4   com.apple.JavaScriptCore      	0x00007fff94991aea bool WTF::ConditionBase::waitUntil&lt;WTF::Lock&gt;(WTF::Lock&amp;, std::__1::chrono::time_point&lt;std::__1::chrono::steady_clock, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; &gt;) + 154
5   com.apple.JavaScriptCore      	0x00007fff9499058e JSC::DFG::Worklist::runThread(JSC::DFG::ThreadData*) + 302
6   com.apple.JavaScriptCore      	0x00007fff9445fc62 WTF::threadEntryPoint(void*) + 178
7   com.apple.JavaScriptCore      	0x00007fff9445fb8f WTF::wtfThreadEntryPoint(void*) + 15
8   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
9   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
10  libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 15:: FTL Worklist Worker Thread
0   libsystem_kernel.dylib        	0x00007fff8bf78f5e __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff8b79773d _pthread_cond_wait + 767
2   libc++.1.dylib                	0x00007fff922f668f std::__1::condition_variable::wait(std::__1::unique_lock&lt;std::__1::mutex&gt;&amp;) + 47
3   com.apple.JavaScriptCore      	0x00007fff94de062e WTF::ParkingLot::parkConditionally(void const*, std::__1::function&lt;bool ()&gt;, std::__1::function&lt;void ()&gt;, std::__1::chrono::time_point&lt;std::__1::chrono::steady_clock, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; &gt;) + 2494
4   com.apple.JavaScriptCore      	0x00007fff94991aea bool WTF::ConditionBase::waitUntil&lt;WTF::Lock&gt;(WTF::Lock&amp;, std::__1::chrono::time_point&lt;std::__1::chrono::steady_clock, std::__1::chrono::duration&lt;long long, std::__1::ratio&lt;1l, 1000000000l&gt; &gt; &gt;) + 154
5   com.apple.JavaScriptCore      	0x00007fff9499058e JSC::DFG::Worklist::runThread(JSC::DFG::ThreadData*) + 302
6   com.apple.JavaScriptCore      	0x00007fff9445fc62 WTF::threadEntryPoint(void*) + 178
7   com.apple.JavaScriptCore      	0x00007fff9445fb8f WTF::wtfThreadEntryPoint(void*) + 15
8   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
9   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
10  libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 16:
0   libsystem_kernel.dylib        	0x00007fff8bf7978a __workq_kernreturn + 10
1   libsystem_pthread.dylib       	0x00007fff8b79658c _pthread_wqthread + 1283
2   libsystem_pthread.dylib       	0x00007fff8b794375 start_wqthread + 13

Thread 17:: CVDisplayLink
0   libsystem_kernel.dylib        	0x00007fff8bf78f5e __psynch_cvwait + 10
1   libsystem_pthread.dylib       	0x00007fff8b797773 _pthread_cond_wait + 821
2   com.apple.CoreVideo           	0x00007fff8b9e60d8 CVDisplayLink::waitUntil(unsigned long long) + 232
3   com.apple.CoreVideo           	0x00007fff8b9e5ed1 CVDisplayLink::runIOThread() + 511
4   com.apple.CoreVideo           	0x00007fff8b9e59a9 startIOThread(void*) + 147
5   libsystem_pthread.dylib       	0x00007fff8b7969b1 _pthread_body + 131
6   libsystem_pthread.dylib       	0x00007fff8b79692e _pthread_start + 168
7   libsystem_pthread.dylib       	0x00007fff8b794385 thread_start + 13

Thread 9 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x00000000ffffffd9  rcx: 0x000000010b053000  rdx: 0x0000000000000000
  rdi: 0x000000010b09ff00  rsi: 0x0000000000000010  rbp: 0x000070000052ed50  rsp: 0x000070000052ed20
   r8: 0x0000000110605c00   r9: 0x000000010a9c9e08  r10: 0x000000000000000a  r11: 0x00000000000001ff
  r12: 0x00007fff78db1fc0  r13: 0xffff000000000002  r14: 0x000000010a807818  r15: 0x000000010d5ad000
  rip: 0x00007fff94476d54  rfl: 0x0000000000010283  cr2: 0x0000000000000000</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217159</commentid>
    <comment_count>14</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-08-03 13:57:58 -0700</bug_when>
    <thetext>I&apos;ll try to roll this back in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217585</commentid>
    <comment_count>15</comment_count>
      <attachid>285363</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-08-04 14:11:18 -0700</bug_when>
    <thetext>Created attachment 285363
WIP

My current strategy is to always return true to the question if a CodeBlock
is old enough to jettison. This is finding a few bugs where we DeferGC instead
of DeferGCForAWhile and we GC right after making a CodeBlock, which causes us to
collect a CodeBlock. I think it&apos;ll continue to find bugs. I&apos;m working through the
tests now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217604</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-04 14:32:45 -0700</bug_when>
    <thetext>Attachment 285363 did not pass style-queue:


ERROR: Source/JavaScriptCore/jit/JITOperations.cpp:958:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/jit/JITOperations.cpp:960:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:89:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:3139:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:3557:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:3562:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 6 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217785</commentid>
    <comment_count>17</comment_count>
      <attachid>285392</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-08-04 18:43:01 -0700</bug_when>
    <thetext>Created attachment 285392
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217786</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-04 18:44:57 -0700</bug_when>
    <thetext>Attachment 285392 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/Executable.h:378:  The parameter name &quot;exec&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/Executable.h:378:  The parameter name &quot;function&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/Executable.h:378:  The parameter name &quot;scope&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/runtime/Executable.h:378:  The parameter name &quot;kind&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 4 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217788</commentid>
    <comment_count>19</comment_count>
      <attachid>285392</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2016-08-04 19:02:31 -0700</bug_when>
    <thetext>Comment on attachment 285392
patch

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

Ok. Let&apos;s try!

&gt; Source/JavaScriptCore/bytecode/CodeBlock.cpp:2685
&gt; +        return std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(
&gt; +            std::chrono::seconds(5 + 10));
&gt; +    case JITCode::DFGJIT:
&gt; +        return std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(
&gt; +            std::chrono::seconds(20));
&gt; +    case JITCode::FTLJIT:
&gt; +        return std::chrono::duration_cast&lt;std::chrono::milliseconds&gt;(
&gt; +            std::chrono::seconds(60));

Each return; statement could be on one line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1217819</commentid>
    <comment_count>20</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-08-04 23:48:46 -0700</bug_when>
    <thetext>landed in:
https://trac.webkit.org/changeset/204162</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265461</attachid>
            <date>2015-11-12 18:01:31 -0800</date>
            <delta_ts>2016-01-25 11:31:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151241-20151112180125.patch</filename>
            <type>text/plain</type>
            <size>2354</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkyNDAwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBA
CisyMDE1LTExLTEyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVzdG9yZSBDb2RlQmxvY2sgamV0dGlzb24gY29kZSBJIGFjY2lkZW50YWxseSByZW1vdmVk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEyNDEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJIG1lYW50
IHRvIGFkZCB0aGlzIGJhY2sgaW4gPGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE5
MDgyNz4KKyAgICAgICAgYnV0IEkgbWlzc2VkLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJs
b2NrLmNwcDoKKyAgICAgICAgKEpTQzo6dGltZVRvTGl2ZSk6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6c2hvdWxkSmV0dGlzb25EdWVUb09sZEFnZSk6CisKIDIwMTUtMTEtMTIgIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBCMyBzaG91bGQgYmUgYWJsZSB0byBj
b21waWxlIHByb2dyYW1zIHdpdGggQ2hlY2tBZGQsIENoZWNrU3ViLCBhbmQgQ2hlY2tNdWwKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZp
c2lvbiAxOTIzNzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2Nr
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNiArODEsMjggQEAKIAogbmFtZXNwYWNlIEpTQyB7
CiAKK3N0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVUb0xpdmUoSklUQ29kZTo6
SklUVHlwZSBqaXRUeXBlKQoreworICAgIHN3aXRjaCAoaml0VHlwZSkgeworICAgIGNhc2UgSklU
Q29kZTo6SW50ZXJwcmV0ZXJUaHVuazoKKyAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJh
dGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KAorICAgICAgICAgICAgc3RkOjpj
aHJvbm86OnNlY29uZHMoNSkpOworICAgIGNhc2UgSklUQ29kZTo6QmFzZWxpbmVKSVQ6CisgICAg
ICAgIC8vIEVmZmVjdGl2ZWx5IDEwIGFkZGl0aW9uYWwgc2Vjb25kcywgc2luY2UgQmFzZWxpbmVK
SVQgYW5kCisgICAgICAgIC8vIEludGVycHJldGVyVGh1bmsgc2hhcmUgYSBDb2RlQmxvY2suCisg
ICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzPigKKyAgICAgICAgICAgIHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDE1KSk7CisgICAg
Y2FzZSBKSVRDb2RlOjpERkdKSVQ6CisgICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRp
b25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPigKKyAgICAgICAgICAgIHN0ZDo6Y2hy
b25vOjpzZWNvbmRzKDIwKSk7CisgICAgY2FzZSBKSVRDb2RlOjpGVExKSVQ6CisgICAgICAgIHJl
dHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRz
PigKKyAgICAgICAgICAgIHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDYwKSk7CisgICAgZGVmYXVsdDoK
KyAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6Om1heCgpOworICAgIH0K
K30KKwogY29uc3QgQ2xhc3NJbmZvIENvZGVCbG9jazo6c19pbmZvID0gewogICAgICJDb2RlQmxv
Y2siLCAwLCAwLAogICAgIENSRUFURV9NRVRIT0RfVEFCTEUoQ29kZUJsb2NrKQpAQCAtMjQxNyw3
ICsyNDM5LDEzIEBAIGJvb2wgQ29kZUJsb2NrOjpzaG91bGRKZXR0aXNvbkR1ZVRvV2Vha1IKIAog
Ym9vbCBDb2RlQmxvY2s6OnNob3VsZEpldHRpc29uRHVlVG9PbGRBZ2UoKQogewotICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoSGVhcDo6aXNNYXJrZWQodGhpcykpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKworICAgIGlmICh0aW1lU2luY2VDcmVhdGlvbigpIDwgdGltZVRvTGl2ZShqaXRUeXBl
KCkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogI2lm
IEVOQUJMRShERkdfSklUKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269770</attachid>
            <date>2016-01-25 11:31:17 -0800</date>
            <delta_ts>2016-01-25 12:07:03 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>land-151241.diff</filename>
            <type>text/plain</type>
            <size>2623</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYxOTIzMTUuLjU1MTBiOTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTAxLTI1ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBSZXN0b3JlIENvZGVCbG9jayBqZXR0aXNv
biBjb2RlIEdlb2ZmIGFjY2lkZW50YWxseSByZW1vdmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEyNDEKKworICAgICAgICBSdWJiZXItc3RhbXBl
ZCBieSBHZW9mZiBHYXJlbi4KKworICAgICAgICBHZW9mZiBtZWFudCB0byBhZGQgdGhpcyBiYWNr
IGluIDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTA4Mjc+CisgICAgICAgIGJ1
dCBtaXNzZWQuCisKKyAgICAgICAgVGhlbiBoZSBhZGRlZCBpdCBiYWNrIGluLCBidXQgaXQgd2Fz
IHJvbGxlZCBvdXQgZHVlIHRvIGEgY3Jhc2ggb24gQW5pbW9tZXRlci4KKyAgICAgICAgSSBjYW4g
bm8gbG9uZ2VyIHByb2R1Y2UgYSBjcmFzaCBvbiBBbmltb21ldGVyLCBlaXRoZXIgd2l0aCB0b2Rh
eSdzIHZlcnNpb24gb2YKKyAgICAgICAgdGhlIGJlbmNobWFyaywgb3IgdGhlIG9uZSB0aGF0IGV4
aXN0ZWQgYXQgdGhlIHRpbWUgb2YgdGhlIHJvbGxvdXQuCisKKyAgICAgICAgR2l2ZW4gdGhpcywg
bGV0J3Mgcm9sbCBpdCBiYWNrIGluIGFuZCBzZWUgaG93IGl0IGdvZXMuCisKKyAgICAgICAgKiBi
eXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjp0aW1lVG9MaXZlKToKKyAgICAg
ICAgKEpTQzo6Q29kZUJsb2NrOjpzaG91bGRKZXR0aXNvbkR1ZVRvT2xkQWdlKToKKwogMjAxNi0w
MS0yNSAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVkdWNl
IG51bWJlciBvZiBTdHJ1Y3R1cmVzIGNyZWF0ZWQgYXQgc3RhcnR1cC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggNTkwNWU5MS4uNDQ1MDc5MiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAgLTgx
LDYgKzgxLDI4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitzdGF0aWMgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyB0aW1lVG9MaXZlKEpJVENvZGU6OkpJVFR5cGUgaml0VHlwZSkKK3sKKyAgICBz
d2l0Y2ggKGppdFR5cGUpIHsKKyAgICBjYXNlIEpJVENvZGU6OkludGVycHJldGVyVGh1bms6Cisg
ICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzPigKKyAgICAgICAgICAgIHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDUpKTsKKyAgICBj
YXNlIEpJVENvZGU6OkJhc2VsaW5lSklUOgorICAgICAgICAvLyBFZmZlY3RpdmVseSAxMCBhZGRp
dGlvbmFsIHNlY29uZHMsIHNpbmNlIEJhc2VsaW5lSklUIGFuZAorICAgICAgICAvLyBJbnRlcnBy
ZXRlclRodW5rIHNoYXJlIGEgQ29kZUJsb2NrLgorICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86
OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oCisgICAgICAgICAgICBz
dGQ6OmNocm9ubzo6c2Vjb25kcygxNSkpOworICAgIGNhc2UgSklUQ29kZTo6REZHSklUOgorICAg
ICAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcz4oCisgICAgICAgICAgICBzdGQ6OmNocm9ubzo6c2Vjb25kcygyMCkpOworICAgIGNh
c2UgSklUQ29kZTo6RlRMSklUOgorICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9u
X2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oCisgICAgICAgICAgICBzdGQ6OmNocm9u
bzo6c2Vjb25kcyg2MCkpOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBzdGQ6OmNocm9u
bzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKKyAgICB9Cit9CisKIGNvbnN0IENsYXNzSW5mbyBDb2Rl
QmxvY2s6OnNfaW5mbyA9IHsKICAgICAiQ29kZUJsb2NrIiwgMCwgMCwKICAgICBDUkVBVEVfTUVU
SE9EX1RBQkxFKENvZGVCbG9jaykKQEAgLTI1MzAsNyArMjU1MiwxMyBAQCBib29sIENvZGVCbG9j
azo6c2hvdWxkSmV0dGlzb25EdWVUb1dlYWtSZWZlcmVuY2UoKQogCiBib29sIENvZGVCbG9jazo6
c2hvdWxkSmV0dGlzb25EdWVUb09sZEFnZSgpCiB7Ci0gICAgcmV0dXJuIGZhbHNlOworICAgIGlm
IChIZWFwOjppc01hcmtlZCh0aGlzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KHRpbWVTaW5jZUNyZWF0aW9uKCkgPCB0aW1lVG9MaXZlKGppdFR5cGUoKSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOwogfQogCiAjaWYgRU5BQkxFKERGR19KSVQp
Cg==
</data>
<flag name="commit-queue"
          id="294663"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269777</attachid>
            <date>2016-01-25 12:07:03 -0800</date>
            <delta_ts>2016-08-04 14:11:18 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>land-151241.diff</filename>
            <type>text/plain</type>
            <size>2626</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGYxOTIzMTUuLjU1MTBiOTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE1LTAxLTI1ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBSZXN0b3JlIENvZGVCbG9jayBqZXR0aXNv
biBjb2RlIEdlb2ZmIGFjY2lkZW50YWxseSByZW1vdmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTEyNDEKKworICAgICAgICBSdWJiZXItc3RhbXBl
ZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAgICAgICBHZW9mZiBtZWFudCB0byBhZGQgdGhpcyBi
YWNrIGluIDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xOTA4Mjc+CisgICAgICAg
IGJ1dCBtaXNzZWQuCisKKyAgICAgICAgVGhlbiBoZSBhZGRlZCBpdCBiYWNrIGluLCBidXQgaXQg
d2FzIHJvbGxlZCBvdXQgZHVlIHRvIGEgY3Jhc2ggb24gQW5pbW9tZXRlci4KKyAgICAgICAgSSBj
YW4gbm8gbG9uZ2VyIHByb2R1Y2UgYSBjcmFzaCBvbiBBbmltb21ldGVyLCBlaXRoZXIgd2l0aCB0
b2RheSdzIHZlcnNpb24gb2YKKyAgICAgICAgdGhlIGJlbmNobWFyaywgb3IgdGhlIG9uZSB0aGF0
IGV4aXN0ZWQgYXQgdGhlIHRpbWUgb2YgdGhlIHJvbGxvdXQuCisKKyAgICAgICAgR2l2ZW4gdGhp
cywgbGV0J3Mgcm9sbCBpdCBiYWNrIGluIGFuZCBzZWUgaG93IGl0IGdvZXMuCisKKyAgICAgICAg
KiBieXRlY29kZS9Db2RlQmxvY2suY3BwOgorICAgICAgICAoSlNDOjp0aW1lVG9MaXZlKToKKyAg
ICAgICAgKEpTQzo6Q29kZUJsb2NrOjpzaG91bGRKZXR0aXNvbkR1ZVRvT2xkQWdlKToKKwogMjAx
Ni0wMS0yNSAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVk
dWNlIG51bWJlciBvZiBTdHJ1Y3R1cmVzIGNyZWF0ZWQgYXQgc3RhcnR1cC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggNTkwNWU5MS4uNDQ1MDc5
MiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKQEAg
LTgxLDYgKzgxLDI4IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCitzdGF0aWMgc3RkOjpjaHJvbm86
Om1pbGxpc2Vjb25kcyB0aW1lVG9MaXZlKEpJVENvZGU6OkpJVFR5cGUgaml0VHlwZSkKK3sKKyAg
ICBzd2l0Y2ggKGppdFR5cGUpIHsKKyAgICBjYXNlIEpJVENvZGU6OkludGVycHJldGVyVGh1bms6
CisgICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzPigKKyAgICAgICAgICAgIHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDUpKTsKKyAg
ICBjYXNlIEpJVENvZGU6OkJhc2VsaW5lSklUOgorICAgICAgICAvLyBFZmZlY3RpdmVseSAxMCBh
ZGRpdGlvbmFsIHNlY29uZHMsIHNpbmNlIEJhc2VsaW5lSklUIGFuZAorICAgICAgICAvLyBJbnRl
cnByZXRlclRodW5rIHNoYXJlIGEgQ29kZUJsb2NrLgorICAgICAgICByZXR1cm4gc3RkOjpjaHJv
bm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oCisgICAgICAgICAg
ICBzdGQ6OmNocm9ubzo6c2Vjb25kcygxNSkpOworICAgIGNhc2UgSklUQ29kZTo6REZHSklUOgor
ICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcz4oCisgICAgICAgICAgICBzdGQ6OmNocm9ubzo6c2Vjb25kcygyMCkpOworICAg
IGNhc2UgSklUQ29kZTo6RlRMSklUOgorICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0
aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oCisgICAgICAgICAgICBzdGQ6OmNo
cm9ubzo6c2Vjb25kcyg2MCkpOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKKyAgICB9Cit9CisKIGNvbnN0IENsYXNzSW5mbyBD
b2RlQmxvY2s6OnNfaW5mbyA9IHsKICAgICAiQ29kZUJsb2NrIiwgMCwgMCwKICAgICBDUkVBVEVf
TUVUSE9EX1RBQkxFKENvZGVCbG9jaykKQEAgLTI1MzAsNyArMjU1MiwxMyBAQCBib29sIENvZGVC
bG9jazo6c2hvdWxkSmV0dGlzb25EdWVUb1dlYWtSZWZlcmVuY2UoKQogCiBib29sIENvZGVCbG9j
azo6c2hvdWxkSmV0dGlzb25EdWVUb09sZEFnZSgpCiB7Ci0gICAgcmV0dXJuIGZhbHNlOworICAg
IGlmIChIZWFwOjppc01hcmtlZCh0aGlzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
aWYgKHRpbWVTaW5jZUNyZWF0aW9uKCkgPCB0aW1lVG9MaXZlKGppdFR5cGUoKSkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOwogfQogCiAjaWYgRU5BQkxFKERGR19K
SVQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285363</attachid>
            <date>2016-08-04 14:11:18 -0700</date>
            <delta_ts>2016-08-04 18:43:01 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>6671</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAyMDQxMDIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE0Niw2ICsxMTQ2LDggQEAg
SlNJbnRlcm5hbFByb21pc2UqIEdsb2JhbE9iamVjdDo6bW9kdWxlTAogCiBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUHJpbnQoRXhlY1N0YXRlKiBleGVjKQogeworICAgIHJl
dHVybiBKU1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisKICAgICBpZiAodGVzdDI2MkFz
eW5jVGVzdCkgewogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gZXhlYy0+YXJndW1lbnQoMCk7CiAg
ICAgICAgIGlmICh2YWx1ZS5pc1N0cmluZygpICYmIFdURjo6ZXF1YWwoYXNTdHJpbmcodmFsdWUp
LT52YWx1ZShleGVjKS5pbXBsKCksICJUZXN0MjYyOkFzeW5jVGVzdENvbXBsZXRlIikpCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNp
b24gMjA0MTAyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDggQEAKICNlbmRpZgogCiBuYW1lc3BhY2Ug
SlNDIHsKKyAKK3N0YXRpYyBjb25zdCBib29sIHNob3VsZExvZ1NhYW0gPSBmYWxzZTsKIAogY29u
c3QgQ2xhc3NJbmZvIENvZGVCbG9jazo6c19pbmZvID0gewogICAgICJDb2RlQmxvY2siLCAwLCAw
LApAQCAtMjU2MCw2ICsyNTYyLDExIEBAIHZvaWQgQ29kZUJsb2NrOjp2aXNpdFdlYWtseShTbG90
VmlzaXRvciYKICAgICBpZiAoIUpJVENvZGU6OmlzT3B0aW1pemluZ0pJVChqaXRUeXBlKCkpKQog
ICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoc2hvdWxkTG9nU2FhbSkgeworICAgICAgICBkYXRh
TG9nKCJWaXNpdCB3ZWFrbHkgZGVjaWRlZCB0byBnbyBhaGVhZCBhbmQga2lsbCBDb2RlQmxvY2s6
ICIsIFJhd1BvaW50ZXIodGhpcyksICJcbiIpOworICAgICAgICBkYXRhTG9nKCJcdEhhcyBhbHRl
cm5hdGl2ZTogIiwgUmF3UG9pbnRlcihhbHRlcm5hdGl2ZSgpKSwgIlxuIik7CisgICAgICAgIGRh
dGFMb2coIlx0V2l0aCBKSVRUeXBlOiAiLCBqaXRUeXBlKCksICJcbiIpOworICAgIH0KICAgICAv
LyBJZiB3ZSBqZXR0aXNvbiBvdXJzZWx2ZXMgd2UnbGwgaW5zdGFsbCBvdXIgYWx0ZXJuYXRpdmUs
IHNvIG1ha2Ugc3VyZSB0aGF0IGl0CiAgICAgLy8gc3Vydml2ZXMgR0MgZXZlbiBpZiB3ZSBkb24n
dC4KICAgICB2aXNpdG9yLmFwcGVuZCgmbV9hbHRlcm5hdGl2ZSk7CkBAIC0yNjUxLDkgKzI2NTgs
MzkgQEAgYm9vbCBDb2RlQmxvY2s6OnNob3VsZEpldHRpc29uRHVlVG9XZWFrUgogICAgIHJldHVy
biAhSGVhcDo6aXNNYXJrZWQodGhpcyk7CiB9CiAKK3N0YXRpYyBzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzIHRpbWVUb0xpdmUoSklUQ29kZTo6SklUVHlwZSBqaXRUeXBlKQoreworICAgIHN3aXRj
aCAoaml0VHlwZSkgeworICAgIGNhc2UgSklUQ29kZTo6SW50ZXJwcmV0ZXJUaHVuazoKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHM+KAorICAgICAgICAgICAgc3RkOjpjaHJvbm86OnNlY29uZHMoMSkpOworICAgIGNhc2Ug
SklUQ29kZTo6QmFzZWxpbmVKSVQ6CisgICAgICAgIC8vIEVmZmVjdGl2ZWx5IDEwIGFkZGl0aW9u
YWwgc2Vjb25kcywgc2luY2UgQmFzZWxpbmVKSVQgYW5kCisgICAgICAgIC8vIEludGVycHJldGVy
VGh1bmsgc2hhcmUgYSBDb2RlQmxvY2suCisgICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVy
YXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzPigKKyAgICAgICAgICAgIHN0ZDo6
Y2hyb25vOjpzZWNvbmRzKDEpKTsKKyAgICBjYXNlIEpJVENvZGU6OkRGR0pJVDoKKyAgICAgICAg
cmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlvbl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29u
ZHM+KAorICAgICAgICAgICAgc3RkOjpjaHJvbm86OnNlY29uZHMoMSkpOworICAgIGNhc2UgSklU
Q29kZTo6RlRMSklUOgorICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8
c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oCisgICAgICAgICAgICBzdGQ6OmNocm9ubzo6c2Vj
b25kcygxKSk7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHM6Om1heCgpOworICAgIH0KK30KKwogYm9vbCBDb2RlQmxvY2s6OnNob3VsZEpldHRp
c29uRHVlVG9PbGRBZ2UoKQogewotICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoSGVhcDo6aXNN
YXJrZWQodGhpcykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOwor
ICAgIAorICAgIGlmICh0aW1lU2luY2VDcmVhdGlvbigpIDwgdGltZVRvTGl2ZShqaXRUeXBlKCkp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgcmV0dXJuIHRydWU7CiB9CiAKICNp
ZiBFTkFCTEUoREZHX0pJVCkKQEAgLTMwOTcsOCArMzEzNCwxMCBAQCB2b2lkIENvZGVCbG9jazo6
c3Ryb25nbHlWaXNpdFN0cm9uZ1JlZmVyCiAgICAgdmlzaXRvci5hcHBlbmQoJm1fZ2xvYmFsT2Jq
ZWN0KTsKICAgICB2aXNpdG9yLmFwcGVuZCgmbV9vd25lckV4ZWN1dGFibGUpOwogICAgIHZpc2l0
b3IuYXBwZW5kKCZtX3VubGlua2VkQ29kZSk7Ci0gICAgaWYgKG1fcmFyZURhdGEpCisgICAgaWYg
KG1fcmFyZURhdGEpIHsKICAgICAgICAgbV9yYXJlRGF0YS0+bV9ldmFsQ29kZUNhY2hlLnZpc2l0
QWdncmVnYXRlKHZpc2l0b3IpOworICAgICAgICAvL21fcmFyZURhdGEtPm1fZXZhbENvZGVDYWNo
ZS5jbGVhcigpOworICAgIH0KICAgICB2aXNpdG9yLmFwcGVuZFZhbHVlcyhtX2NvbnN0YW50UmVn
aXN0ZXJzLmRhdGEoKSwgbV9jb25zdGFudFJlZ2lzdGVycy5zaXplKCkpOwogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbV9mdW5jdGlvbkV4cHJzLnNpemUoKTsgKytpKQogICAgICAgICB2aXNp
dG9yLmFwcGVuZCgmbV9mdW5jdGlvbkV4cHJzW2ldKTsKQEAgLTM0MTksNiArMzQ1OCwxNyBAQCB2
b2lkIENvZGVCbG9jazo6amV0dGlzb24oUHJvZmlsZXI6OkpldHRpCiAgICAgQ09ERUJMT0NLX0xP
R19FVkVOVCh0aGlzLCAiamV0dGlzb24iLCAoImR1ZSB0byAiLCByZWFzb24sICIsIGNvdW50aW5n
ID0gIiwgbW9kZSA9PSBDb3VudFJlb3B0aW1pemF0aW9uLCAiLCBkZXRhaWwgPSAiLCBwb2ludGVy
RHVtcChkZXRhaWwpKSk7CiAKICAgICBSRUxFQVNFX0FTU0VSVChyZWFzb24gIT0gUHJvZmlsZXI6
Ok5vdEpldHRpc29uZWQpOworCisgICAgaWYgKHNob3VsZExvZ1NhYW0pIHsKKyAgICAgICAgZGF0
YUxvZygiSmV0dGlzb25pbmcgY29kZSBibG9jazogIiwgUmF3UG9pbnRlcih0aGlzKSwgIlxuIik7
CisgICAgICAgIGRhdGFMb2coIlx0d2l0aCBhbHRlcm5hdGl2ZTogIiwgUmF3UG9pbnRlcihhbHRl
cm5hdGl2ZSgpKSwgIlxuIik7CisgICAgICAgIGRhdGFMb2coIlx0d2l0aCBqaXQgdHlwZTogIiwg
aml0VHlwZSgpLCAiXG4iKTsKKyAgICAgICAgZGF0YUxvZygiXHRqZXR0aXNvbiByZWFzb246ICIs
IHJlYXNvbiwgIlxuIik7CisgICAgICAgIGRhdGFMb2coIlx0ZGV0YWlsOiAiLCBSYXdQb2ludGVy
KGRldGFpbCksICJcbiIpOworICAgICAgICBpZiAoZGV0YWlsKQorICAgICAgICAgICAgZGF0YUxv
ZygiXHRkZXRhaWwgYml0czogIiwgKmRldGFpbCwgIlxuIik7CisgICAgICAgIFdURlJlcG9ydEJh
Y2t0cmFjZSgpOworICAgIH0KICAgICAKICNpZiBFTkFCTEUoREZHX0pJVCkKICAgICBpZiAoREZH
OjpzaG91bGREdW1wRGlzYXNzZW1ibHkoKSkgewpAQCAtMzUwNCw2ICszNTU0LDEzIEBAIHZvaWQg
Q29kZUJsb2NrOjpqZXR0aXNvbihQcm9maWxlcjo6SmV0dGkKICAgICBpZiAobV92bS0+aGVhcC5p
c0NvbGxlY3RpbmcoKSAmJiAhSGVhcDo6aXNNYXJrZWQob3duZXJTY3JpcHRFeGVjdXRhYmxlKCkp
KQogICAgICAgICByZXR1cm47CiAKKyAgICAvL2lmICghYWx0ZXJuYXRpdmUoKSkgeworICAgIC8v
ICAgIC8vIFdlIHNob3VsZCBub3QgYmUgbGl2ZSBvbiB0aGUgc3RhY2sgaGVyZS4KKyAgICAvLyAg
ICBSRUxFQVNFX0FTU0VSVCghSGVhcDo6aXNNYXJrZWQodGhpcykpOworICAgIC8vICAgIG93bmVy
RXhlY3V0YWJsZSgpLT5jbGVhckNvZGUoKTsKKyAgICAvLyAgICByZXR1cm47CisgICAgLy99CisK
ICAgICAvLyBUaGlzIGFjY29tcGxpc2hlcyAoMikuCiAgICAgb3duZXJTY3JpcHRFeGVjdXRhYmxl
KCktPmluc3RhbGxDb2RlKAogICAgICAgICBtX2dsb2JhbE9iamVjdC0+dm0oKSwgYWx0ZXJuYXRp
dmUoKSwgY29kZVR5cGUoKSwgc3BlY2lhbGl6YXRpb25LaW5kKCkpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAyMDQxMDIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC05MjgsNiArOTI4LDcgQEAgaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSB2aXJ0dWFs
Rm9yV2l0aAogewogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGV4ZWNDYWxsZWUtPmNhbGxlckZyYW1l
KCk7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CisgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZl
ckdDKHZtLT5oZWFwKTsKICAgICBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQgPSBjYWxsTGlu
a0luZm8tPnNwZWNpYWxpemF0aW9uS2luZCgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIodm0sIGV4ZWMpOwogCkBAIC05NTQsNyArOTU1LDkgQEAgaW5saW5lIFNsb3dQYXRoUmV0
dXJuVHlwZSB2aXJ0dWFsRm9yV2l0aAogICAgICAgICAgICAgICAgICAgICByZWludGVycHJldF9j
YXN0PHZvaWQqPihLZWVwVGhlRnJhbWUpKTsKICAgICAgICAgICAgIH0KIAorICAgICAgICAgICAg
Ly9kYXRhTG9nKCJjYWxsaW5nIHByZXBhcmUgZm9yIGV4ZWN0aW9uIG9uOiAiLCBSYXdQb2ludGVy
KGZ1bmN0aW9uRXhlY3V0YWJsZSksICJcbiIpOwogICAgICAgICAgICAgSlNPYmplY3QqIGVycm9y
ID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uKGV4ZWNDYWxsZWUsIGZ1
bmN0aW9uLCBzY29wZSwga2luZCk7CisgICAgICAgICAgICAvL2RhdGFMb2coImZpbmlzaGVkIGNh
bGxpbmcgcHJlcGFyZSBmb3IgZXhlY3Rpb24gb246ICIsIFJhd1BvaW50ZXIoZnVuY3Rpb25FeGVj
dXRhYmxlKSwgIlxuXG4iKTsKICAgICAgICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAgICAg
ICAgIGV4ZWMtPnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgZXJyb3IpOwogICAgICAgICAgICAg
ICAgIHJldHVybiBlbmNvZGVSZXN1bHQoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMjA0MTAyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Nyw3
ICsxNzcsOCBAQCB2b2lkIFNjcmlwdEV4ZWN1dGFibGU6Omluc3RhbGxDb2RlKFZNJiB2CiB7CiAg
ICAgQVNTRVJUKHZtLmhlYXAuaXNEZWZlcnJlZCgpKTsKICAgICAKLSAgICBDT0RFQkxPQ0tfTE9H
X0VWRU5UKGdlbmVyaWNDb2RlQmxvY2ssICJpbnN0YWxsQ29kZSIsICgpKTsKKyAgICBpZiAoZ2Vu
ZXJpY0NvZGVCbG9jaykKKyAgICAgICAgQ09ERUJMT0NLX0xPR19FVkVOVChnZW5lcmljQ29kZUJs
b2NrLCAiaW5zdGFsbENvZGUiLCAoKSk7CiAgICAgCiAgICAgQ29kZUJsb2NrKiBvbGRDb2RlQmxv
Y2sgPSBudWxscHRyOwogICAgIApAQCAtNDAyLDcgKzQwMyw3IEBAIEpTT2JqZWN0KiBTY3JpcHRF
eGVjdXRhYmxlOjpwcmVwYXJlRm9yRXgKICAgICBFeGVjU3RhdGUqIGV4ZWMsIEpTRnVuY3Rpb24q
IGZ1bmN0aW9uLCBKU1Njb3BlKiBzY29wZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQog
ewogICAgIFZNJiB2bSA9IGV4ZWMtPnZtKCk7Ci0gICAgRGVmZXJHQyBkZWZlckdDKHZtLmhlYXAp
OworICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsKIAogICAgIGlmICh2bS5n
ZXRBbmRDbGVhckZhaWxOZXh0TmV3Q29kZUJsb2NrKCkpCiAgICAgICAgIHJldHVybiBjcmVhdGVF
cnJvcihleGVjLT5jYWxsZXJGcmFtZSgpLCBBU0NJSUxpdGVyYWwoIkZvcmNlZCBGYWlsdXJlIikp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285392</attachid>
            <date>2016-08-04 18:43:01 -0700</date>
            <delta_ts>2016-08-04 19:02:31 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>22559</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA0MTAyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBA
CisyMDE2LTA4LTA0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IFJlc3RvcmUgQ29kZUJsb2NrIGpldHRpc29uIGNvZGUgdG8gamV0dGlzb24gd2hlbiBhIENvZGVC
bG9jayBoYXMgYmVlbiBhbGl2ZSBmb3IgYSBsb25nIHRpbWUKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MTI0MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggcm9sbHMgYmFjayBpbiB0aGUg
amV0dGlzb25pbmcgcG9saWN5IGZyb20gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0OTcyNy4KKyAgICAgICAgV2UgY2FuIG5vdyBqZXR0aXNvbiBhIENvZGVCbG9jayB3
aGVuIGl0IGhhcyBiZWVuIGFsaXZlIGZvciBhIGxvbmcgdGltZQorICAgICAgICBhbmQgaXMgb25s
eSBwb2ludGVkIHRvIGJ5IGl0cyBvd25lciBleGVjdXRhYmxlLiBJIGhhdmVuJ3QgYmVlbiBhYmxl
IHRvIGdldCB0aGlzCisgICAgICAgIHBhdGNoIHRvIGNyYXNoIG9uIGFueXRoaW5nIGl0IHVzZWQg
dG8gY3Jhc2ggb24sIHNvIEkgc3VzcGVjdCB3ZSd2ZSBmaXhlZCB0aGUgYnVncyB0aGF0CisgICAg
ICAgIHdlcmUgY2F1c2luZyB0aGlzIGJlZm9yZS4gSSd2ZSBhbHNvIGFkZGVkIHNvbWUgc3RyZXNz
IG9wdGlvbnMgZm9yIHRoaXMgZmVhdHVyZSB0aGF0CisgICAgICAgIHdpbGwgY2F1c2UgdXMgdG8g
ZWl0aGVyIGVhZ2VybHkgb2xkLWFnZSBqZXR0aXNvbiBvciB0byBvbGQtYWdlIGpldHRpc29uIHdo
ZW5ldmVyIGl0J3MgbGVnYWwuCisgICAgICAgIFRoZXNlIG9wdGlvbnMgaGVscGVkIG1lIGZpbmQg
YSBidWcgd2hlcmUgd2Ugd291bGQgYXNrIGFuIEV4ZWN1dGFibGUgdG8gY3JlYXRlIGEgQ29kZUJs
b2NrLAorICAgICAgICBhbmQgdGhlbiB0aGUgRXhlY3V0YWJsZSB3b3VsZCBkbyBzb21lIG90aGVy
IGFsbG9jYXRpb25zLCBjYXVzaW5nIGEgR0MsIGltbWVkaWF0ZWx5IGNhdXNpbmcKKyAgICAgICAg
dGhlIENvZGVCbG9jayB0byBqZXR0aXNvbi4gVGhlcmUgaXMgYSBzbWFsbCBjaGFuY2UgdGhhdCB0
aGlzIHdhcyB0aGUgYnVnIHdlIHdlcmUgc2VlaW5nIGJlZm9yZSwKKyAgICAgICAgaG93ZXZlciwg
aXQncyB1bmxpa2VseSBnaXZlbiB0aGF0IHRoZSBwcmV2aW91cyB0aW1pbmcgbWV0cmljcyByZXF1
aXJlIGF0IGxlYXN0IDUgc2Vjb25kIGJldHdlZW4KKyAgICAgICAgY29tcGlsaW5nIHRvIGpldHRp
c29uaW5nLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBlbmFibGVzIHRoZSBzdHJlc3Mgb3B0
aW9ucyBmb3IgdmFyaW91cyBtb2RlcworICAgICAgICBvZiBKU0Mgc3RyZXNzIHRlc3RzLgorCisg
ICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2Nr
OjpzaG91bGRKZXR0aXNvbkR1ZVRvV2Vha1JlZmVyZW5jZSk6CisgICAgICAgIChKU0M6OnRpbWVU
b0xpdmUpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNob3VsZEpldHRpc29uRHVlVG9PbGRB
Z2UpOgorICAgICAgICAqIGludGVycHJldGVyL0NhbGxGcmFtZS5oOgorICAgICAgICAoSlNDOjpF
eGVjU3RhdGU6OmNhbGxlZSk6CisgICAgICAgIChKU0M6OkV4ZWNTdGF0ZTo6dW5zYWZlQ2FsbGVl
KToKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRlOjpjb2RlQmxvY2spOgorICAgICAgICAoSlNDOjpF
eGVjU3RhdGU6OmFkZHJlc3NPZkNvZGVCbG9jayk6CisgICAgICAgIChKU0M6OkV4ZWNTdGF0ZTo6
dW5zYWZlQ29kZUJsb2NrKToKKyAgICAgICAgKEpTQzo6RXhlY1N0YXRlOjpzY29wZSk6CisgICAg
ICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnBy
ZXRlcjo6ZXhlY3V0ZSk6CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpleGVjdXRlQ2FsbCk6
CisgICAgICAgIChKU0M6OkludGVycHJldGVyOjpleGVjdXRlQ29uc3RydWN0KToKKyAgICAgICAg
KEpTQzo6SW50ZXJwcmV0ZXI6OnByZXBhcmVGb3JSZXBlYXRDYWxsKToKKyAgICAgICAgKiBqaXQv
SklUT3BlcmF0aW9ucy5jcHA6CisgICAgICAgICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgor
ICAgICAgICAoSlNDOjpMTEludDo6c2V0VXBDYWxsKToKKyAgICAgICAgKiBydW50aW1lL0V4ZWN1
dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpTY3JpcHRFeGVjdXRhYmxlOjppbnN0YWxsQ29kZSk6
CisgICAgICAgIChKU0M6OnNldHVwSklUKToKKyAgICAgICAgKEpTQzo6U2NyaXB0RXhlY3V0YWJs
ZTo6cHJlcGFyZUZvckV4ZWN1dGlvbkltcGwpOgorICAgICAgICAqIHJ1bnRpbWUvRXhlY3V0YWJs
ZS5oOgorICAgICAgICAoSlNDOjpTY3JpcHRFeGVjdXRhYmxlOjpwcmVwYXJlRm9yRXhlY3V0aW9u
KToKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMuaDoKKwogMjAxNi0wOC0wMyAgRmlsaXAgUGl6
bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjIwMzM2OCk6IGJy
b2tlIHNvbWUgdGVzdDI2MiB0ZXN0cwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDIwNDEwMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNjUxLDkg
KzI2NTEsNTUgQEAgYm9vbCBDb2RlQmxvY2s6OnNob3VsZEpldHRpc29uRHVlVG9XZWFrUgogICAg
IHJldHVybiAhSGVhcDo6aXNNYXJrZWQodGhpcyk7CiB9CiAKK3N0YXRpYyBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHRpbWVUb0xpdmUoSklUQ29kZTo6SklUVHlwZSBqaXRUeXBlKQoreworICAg
IGlmIChVTkxJS0VMWShPcHRpb25zOjp1c2VFYWdlckNvZGVCbG9ja0pldHRpc29uVGltaW5nKCkp
KSB7CisgICAgICAgIHN3aXRjaCAoaml0VHlwZSkgeworICAgICAgICBjYXNlIEpJVENvZGU6Oklu
dGVycHJldGVyVGh1bms6CisgICAgICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vj
b25kcygxMCk7CisgICAgICAgIGNhc2UgSklUQ29kZTo6QmFzZWxpbmVKSVQ6CisgICAgICAgICAg
ICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygxMCArIDIwKTsKKyAgICAgICAgY2Fz
ZSBKSVRDb2RlOjpERkdKSVQ6CisgICAgICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyg0MCk7CisgICAgICAgIGNhc2UgSklUQ29kZTo6RlRMSklUOgorICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMoMTIwKTsKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIHN3aXRjaCAoaml0VHlwZSkgeworICAgIGNhc2UgSklUQ29k
ZTo6SW50ZXJwcmV0ZXJUaHVuazoKKyAgICAgICAgcmV0dXJuIHN0ZDo6Y2hyb25vOjpkdXJhdGlv
bl9jYXN0PHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM+KAorICAgICAgICAgICAgc3RkOjpjaHJv
bm86OnNlY29uZHMoNSkpOworICAgIGNhc2UgSklUQ29kZTo6QmFzZWxpbmVKSVQ6CisgICAgICAg
IC8vIEVmZmVjdGl2ZWx5IDEwIGFkZGl0aW9uYWwgc2Vjb25kcywgc2luY2UgQmFzZWxpbmVKSVQg
YW5kCisgICAgICAgIC8vIEludGVycHJldGVyVGh1bmsgc2hhcmUgYSBDb2RlQmxvY2suCisgICAg
ICAgIHJldHVybiBzdGQ6OmNocm9ubzo6ZHVyYXRpb25fY2FzdDxzdGQ6OmNocm9ubzo6bWlsbGlz
ZWNvbmRzPigKKyAgICAgICAgICAgIHN0ZDo6Y2hyb25vOjpzZWNvbmRzKDUgKyAxMCkpOworICAg
IGNhc2UgSklUQ29kZTo6REZHSklUOgorICAgICAgICByZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0
aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcz4oCisgICAgICAgICAgICBzdGQ6OmNo
cm9ubzo6c2Vjb25kcygyMCkpOworICAgIGNhc2UgSklUQ29kZTo6RlRMSklUOgorICAgICAgICBy
ZXR1cm4gc3RkOjpjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8c3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cz4oCisgICAgICAgICAgICBzdGQ6OmNocm9ubzo6c2Vjb25kcyg2MCkpOworICAgIGRlZmF1bHQ6
CisgICAgICAgIHJldHVybiBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzOjptYXgoKTsKKyAgICB9
Cit9CisKIGJvb2wgQ29kZUJsb2NrOjpzaG91bGRKZXR0aXNvbkR1ZVRvT2xkQWdlKCkKIHsKLSAg
ICByZXR1cm4gZmFsc2U7CisgICAgaWYgKEhlYXA6OmlzTWFya2VkKHRoaXMpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6Zm9yY2VDb2RlQmxvY2tU
b0pldHRpc29uRHVlVG9PbGRBZ2UoKSkpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIAorICAg
IGlmICh0aW1lU2luY2VDcmVhdGlvbigpIDwgdGltZVRvTGl2ZShqaXRUeXBlKCkpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgCisgICAgcmV0dXJuIHRydWU7CiB9CiAKICNpZiBFTkFCTEUo
REZHX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9DYWxsRnJh
bWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvQ2Fs
bEZyYW1lLmgJKHJldmlzaW9uIDIwNDEwMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRl
cnByZXRlci9DYWxsRnJhbWUuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsNiArOTAsNyBAQCBuYW1l
c3BhY2UgSlNDICB7CiAgICAgICAgIEpTT2JqZWN0KiBjYWxsZWUoKSBjb25zdCB7IHJldHVybiB0
aGlzW0NhbGxGcmFtZVNsb3Q6OmNhbGxlZV0ub2JqZWN0KCk7IH0KICAgICAgICAgU1VQUFJFU1Nf
QVNBTiBKU1ZhbHVlIHVuc2FmZUNhbGxlZSgpIGNvbnN0IHsgcmV0dXJuIHRoaXNbQ2FsbEZyYW1l
U2xvdDo6Y2FsbGVlXS5hc2FuVW5zYWZlSlNWYWx1ZSgpOyB9CiAgICAgICAgIENvZGVCbG9jayog
Y29kZUJsb2NrKCkgY29uc3QgeyByZXR1cm4gdGhpc1tDYWxsRnJhbWVTbG90Ojpjb2RlQmxvY2td
LlJlZ2lzdGVyOjpjb2RlQmxvY2soKTsgfQorICAgICAgICBDb2RlQmxvY2sqKiBhZGRyZXNzT2ZD
b2RlQmxvY2soKSBjb25zdCB7IHJldHVybiBiaXR3aXNlX2Nhc3Q8Q29kZUJsb2NrKio+KHRoaXMg
KyBDYWxsRnJhbWVTbG90Ojpjb2RlQmxvY2spOyB9CiAgICAgICAgIFNVUFBSRVNTX0FTQU4gQ29k
ZUJsb2NrKiB1bnNhZmVDb2RlQmxvY2soKSBjb25zdCB7IHJldHVybiB0aGlzW0NhbGxGcmFtZVNs
b3Q6OmNvZGVCbG9ja10uUmVnaXN0ZXI6OmFzYW5VbnNhZmVDb2RlQmxvY2soKTsgfQogICAgICAg
ICBKU1Njb3BlKiBzY29wZShpbnQgc2NvcGVSZWdpc3Rlck9mZnNldCkgY29uc3QKICAgICAgICAg
ewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwCShyZXZpc2lvbiAyMDQxMDIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NDQsMTAgKzk0NCwx
MyBAQCBmYWlsZWRKU09OUDoKICAgICBpZiAoSlNPYmplY3QqIGVycm9yID0gcHJvZ3JhbS0+aW5p
dGlhbGl6ZUdsb2JhbFByb3BlcnRpZXModm0sIGNhbGxGcmFtZSwgc2NvcGUpKQogICAgICAgICBy
ZXR1cm4gY2hlY2tlZFJldHVybihjYWxsRnJhbWUtPnZtKCkudGhyb3dFeGNlcHRpb24oY2FsbEZy
YW1lLCBlcnJvcikpOwogCi0gICAgaWYgKEpTT2JqZWN0KiBlcnJvciA9IHByb2dyYW0tPnByZXBh
cmVGb3JFeGVjdXRpb24oY2FsbEZyYW1lLCBudWxscHRyLCBzY29wZSwgQ29kZUZvckNhbGwpKQot
ICAgICAgICByZXR1cm4gY2hlY2tlZFJldHVybihjYWxsRnJhbWUtPnZtKCkudGhyb3dFeGNlcHRp
b24oY2FsbEZyYW1lLCBlcnJvcikpOwotCi0gICAgUHJvZ3JhbUNvZGVCbG9jayogY29kZUJsb2Nr
ID0gcHJvZ3JhbS0+Y29kZUJsb2NrKCk7CisgICAgUHJvZ3JhbUNvZGVCbG9jayogY29kZUJsb2Nr
OworICAgIHsKKyAgICAgICAgQ29kZUJsb2NrKiB0ZW1wQ29kZUJsb2NrOworICAgICAgICBpZiAo
SlNPYmplY3QqIGVycm9yID0gcHJvZ3JhbS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxQcm9ncmFtRXhl
Y3V0YWJsZT4oY2FsbEZyYW1lLCBudWxscHRyLCBzY29wZSwgQ29kZUZvckNhbGwsIHRlbXBDb2Rl
QmxvY2spKQorICAgICAgICAgICAgcmV0dXJuIGNoZWNrZWRSZXR1cm4oY2FsbEZyYW1lLT52bSgp
LnRocm93RXhjZXB0aW9uKGNhbGxGcmFtZSwgZXJyb3IpKTsKKyAgICAgICAgY29kZUJsb2NrID0g
anNDYXN0PFByb2dyYW1Db2RlQmxvY2sqPih0ZW1wQ29kZUJsb2NrKTsKKyAgICB9CiAKICAgICBp
ZiAoVU5MSUtFTFkodm0uc2hvdWxkVHJpZ2dlclRlcm1pbmF0aW9uKGNhbGxGcmFtZSkpKQogICAg
ICAgICByZXR1cm4gdGhyb3dUZXJtaW5hdGVkRXhlY3V0aW9uRXhjZXB0aW9uKGNhbGxGcmFtZSk7
CkBAIC05OTUsMTEgKzk5OCwxMCBAQCBKU1ZhbHVlIEludGVycHJldGVyOjpleGVjdXRlQ2FsbChD
YWxsRnJhCiAKICAgICBpZiAoaXNKU0NhbGwpIHsKICAgICAgICAgLy8gQ29tcGlsZSB0aGUgY2Fs
bGVlOgotICAgICAgICBKU09iamVjdCogY29tcGlsZUVycm9yID0gY2FsbERhdGEuanMuZnVuY3Rp
b25FeGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uKGNhbGxGcmFtZSwganNDYXN0PEpTRnVu
Y3Rpb24qPihmdW5jdGlvbiksIHNjb3BlLCBDb2RlRm9yQ2FsbCk7Ci0gICAgICAgIGlmIChVTkxJ
S0VMWSghIWNvbXBpbGVFcnJvcikpIHsKKyAgICAgICAgSlNPYmplY3QqIGNvbXBpbGVFcnJvciA9
IGNhbGxEYXRhLmpzLmZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5j
dGlvbkV4ZWN1dGFibGU+KGNhbGxGcmFtZSwganNDYXN0PEpTRnVuY3Rpb24qPihmdW5jdGlvbiks
IHNjb3BlLCBDb2RlRm9yQ2FsbCwgbmV3Q29kZUJsb2NrKTsKKyAgICAgICAgaWYgKFVOTElLRUxZ
KCEhY29tcGlsZUVycm9yKSkKICAgICAgICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKGNhbGxG
cmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlvbihjYWxsRnJhbWUsIGNvbXBpbGVFcnJvcikpOwotICAg
ICAgICB9Ci0gICAgICAgIG5ld0NvZGVCbG9jayA9IGNhbGxEYXRhLmpzLmZ1bmN0aW9uRXhlY3V0
YWJsZS0+Y29kZUJsb2NrRm9yQ2FsbCgpOworCiAgICAgICAgIEFTU0VSVCghIW5ld0NvZGVCbG9j
ayk7CiAgICAgICAgIG5ld0NvZGVCbG9jay0+bV9zaG91bGRBbHdheXNCZUlubGluZWQgPSBmYWxz
ZTsKICAgICB9IGVsc2UKQEAgLTEwNTcsMTEgKzEwNTksMTAgQEAgSlNPYmplY3QqIEludGVycHJl
dGVyOjpleGVjdXRlQ29uc3RydWN0KAogCiAgICAgaWYgKGlzSlNDb25zdHJ1Y3QpIHsKICAgICAg
ICAgLy8gQ29tcGlsZSB0aGUgY2FsbGVlOgotICAgICAgICBKU09iamVjdCogY29tcGlsZUVycm9y
ID0gY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUtPnByZXBhcmVGb3JFeGVjdXRp
b24oY2FsbEZyYW1lLCBqc0Nhc3Q8SlNGdW5jdGlvbio+KGNvbnN0cnVjdG9yKSwgc2NvcGUsIENv
ZGVGb3JDb25zdHJ1Y3QpOwotICAgICAgICBpZiAoVU5MSUtFTFkoISFjb21waWxlRXJyb3IpKSB7
CisgICAgICAgIEpTT2JqZWN0KiBjb21waWxlRXJyb3IgPSBjb25zdHJ1Y3REYXRhLmpzLmZ1bmN0
aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5jdGlvbkV4ZWN1dGFibGU+KGNh
bGxGcmFtZSwganNDYXN0PEpTRnVuY3Rpb24qPihjb25zdHJ1Y3RvciksIHNjb3BlLCBDb2RlRm9y
Q29uc3RydWN0LCBuZXdDb2RlQmxvY2spOworICAgICAgICBpZiAoVU5MSUtFTFkoISFjb21waWxl
RXJyb3IpKQogICAgICAgICAgICAgcmV0dXJuIGNoZWNrZWRSZXR1cm4oY2FsbEZyYW1lLT52bSgp
LnRocm93RXhjZXB0aW9uKGNhbGxGcmFtZSwgY29tcGlsZUVycm9yKSk7Ci0gICAgICAgIH0KLSAg
ICAgICAgbmV3Q29kZUJsb2NrID0gY29uc3RydWN0RGF0YS5qcy5mdW5jdGlvbkV4ZWN1dGFibGUt
PmNvZGVCbG9ja0ZvckNvbnN0cnVjdCgpOworCiAgICAgICAgIEFTU0VSVCghIW5ld0NvZGVCbG9j
ayk7CiAgICAgICAgIG5ld0NvZGVCbG9jay0+bV9zaG91bGRBbHdheXNCZUlubGluZWQgPSBmYWxz
ZTsKICAgICB9IGVsc2UKQEAgLTExMDEsMTIgKzExMDIsMTIgQEAgQ2FsbEZyYW1lQ2xvc3VyZSBJ
bnRlcnByZXRlcjo6cHJlcGFyZUZvcgogICAgICAgICByZXR1cm4gQ2FsbEZyYW1lQ2xvc3VyZSgp
OwogCiAgICAgLy8gQ29tcGlsZSB0aGUgY2FsbGVlOgotICAgIEpTT2JqZWN0KiBlcnJvciA9IGZ1
bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbihjYWxsRnJhbWUsIGZ1bmN0aW9u
LCBzY29wZSwgQ29kZUZvckNhbGwpOworICAgIENvZGVCbG9jayogbmV3Q29kZUJsb2NrOworICAg
IEpTT2JqZWN0KiBlcnJvciA9IGZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlv
bjxGdW5jdGlvbkV4ZWN1dGFibGU+KGNhbGxGcmFtZSwgZnVuY3Rpb24sIHNjb3BlLCBDb2RlRm9y
Q2FsbCwgbmV3Q29kZUJsb2NrKTsKICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgY2FsbEZyYW1l
LT52bSgpLnRocm93RXhjZXB0aW9uKGNhbGxGcmFtZSwgZXJyb3IpOwogICAgICAgICByZXR1cm4g
Q2FsbEZyYW1lQ2xvc3VyZSgpOwogICAgIH0KLSAgICBDb2RlQmxvY2sqIG5ld0NvZGVCbG9jayA9
IGZ1bmN0aW9uRXhlY3V0YWJsZS0+Y29kZUJsb2NrRm9yQ2FsbCgpOwogICAgIG5ld0NvZGVCbG9j
ay0+bV9zaG91bGRBbHdheXNCZUlubGluZWQgPSBmYWxzZTsKIAogICAgIHNpemVfdCBhcmdzQ291
bnQgPSBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpczsKQEAgLTExNzYsMTAgKzExNzcsMTQgQEAg
SlNWYWx1ZSBJbnRlcnByZXRlcjo6ZXhlY3V0ZShFdmFsRXhlY3V0YQogICAgICAgICB9CiAgICAg
fQogCi0gICAgSlNPYmplY3QqIGNvbXBpbGVFcnJvciA9IGV2YWwtPnByZXBhcmVGb3JFeGVjdXRp
b24oY2FsbEZyYW1lLCBudWxscHRyLCBzY29wZSwgQ29kZUZvckNhbGwpOwotICAgIGlmIChVTkxJ
S0VMWSghIWNvbXBpbGVFcnJvcikpCi0gICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKGNhbGxG
cmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlvbihjYWxsRnJhbWUsIGNvbXBpbGVFcnJvcikpOwotICAg
IEV2YWxDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV2YWwtPmNvZGVCbG9jaygpOworICAgIEV2YWxD
b2RlQmxvY2sqIGNvZGVCbG9jazsKKyAgICB7CisgICAgICAgIENvZGVCbG9jayogdGVtcENvZGVC
bG9jazsKKyAgICAgICAgSlNPYmplY3QqIGNvbXBpbGVFcnJvciA9IGV2YWwtPnByZXBhcmVGb3JF
eGVjdXRpb248RXZhbEV4ZWN1dGFibGU+KGNhbGxGcmFtZSwgbnVsbHB0ciwgc2NvcGUsIENvZGVG
b3JDYWxsLCB0ZW1wQ29kZUJsb2NrKTsKKyAgICAgICAgaWYgKFVOTElLRUxZKCEhY29tcGlsZUVy
cm9yKSkKKyAgICAgICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKGNhbGxGcmFtZS0+dm0oKS50
aHJvd0V4Y2VwdGlvbihjYWxsRnJhbWUsIGNvbXBpbGVFcnJvcikpOworICAgICAgICBjb2RlQmxv
Y2sgPSBqc0Nhc3Q8RXZhbENvZGVCbG9jayo+KHRlbXBDb2RlQmxvY2spOworICAgIH0KIAogICAg
IC8vIFdlIGNhbid0IGRlY2xhcmUgYSAidmFyIi8iZnVuY3Rpb24iIHRoYXQgb3ZlcndyaXRlcyBh
IGdsb2JhbCAibGV0Ii8iY29uc3QiLyJjbGFzcyIgaW4gYSBzbG9wcHktbW9kZSBldmFsLgogICAg
IGlmICh2YXJpYWJsZU9iamVjdC0+aXNHbG9iYWxPYmplY3QoKSAmJiAhZXZhbC0+aXNTdHJpY3RN
b2RlKCkgJiYgKG51bVZhcmlhYmxlcyB8fCBudW1GdW5jdGlvbnMpKSB7CkBAIC0xMjUzLDEwICsx
MjU4LDE0IEBAIEpTVmFsdWUgSW50ZXJwcmV0ZXI6OmV4ZWN1dGUoTW9kdWxlUHJvZ3IKICAgICBp
ZiAoVU5MSUtFTFkoIXZtLmlzU2FmZVRvUmVjdXJzZVNvZnQoKSkpCiAgICAgICAgIHJldHVybiBj
aGVja2VkUmV0dXJuKHRocm93U3RhY2tPdmVyZmxvd0Vycm9yKGNhbGxGcmFtZSkpOwogCi0gICAg
SlNPYmplY3QqIGNvbXBpbGVFcnJvciA9IGV4ZWN1dGFibGUtPnByZXBhcmVGb3JFeGVjdXRpb24o
Y2FsbEZyYW1lLCBudWxscHRyLCBzY29wZSwgQ29kZUZvckNhbGwpOwotICAgIGlmIChVTkxJS0VM
WSghIWNvbXBpbGVFcnJvcikpCi0gICAgICAgIHJldHVybiBjaGVja2VkUmV0dXJuKGNhbGxGcmFt
ZS0+dm0oKS50aHJvd0V4Y2VwdGlvbihjYWxsRnJhbWUsIGNvbXBpbGVFcnJvcikpOwotICAgIE1v
ZHVsZVByb2dyYW1Db2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWN1dGFibGUtPmNvZGVCbG9jaygp
OworICAgIE1vZHVsZVByb2dyYW1Db2RlQmxvY2sqIGNvZGVCbG9jazsKKyAgICB7CisgICAgICAg
IENvZGVCbG9jayogdGVtcENvZGVCbG9jazsKKyAgICAgICAgSlNPYmplY3QqIGNvbXBpbGVFcnJv
ciA9IGV4ZWN1dGFibGUtPnByZXBhcmVGb3JFeGVjdXRpb248TW9kdWxlUHJvZ3JhbUV4ZWN1dGFi
bGU+KGNhbGxGcmFtZSwgbnVsbHB0ciwgc2NvcGUsIENvZGVGb3JDYWxsLCB0ZW1wQ29kZUJsb2Nr
KTsKKyAgICAgICAgaWYgKFVOTElLRUxZKCEhY29tcGlsZUVycm9yKSkKKyAgICAgICAgICAgIHJl
dHVybiBjaGVja2VkUmV0dXJuKGNhbGxGcmFtZS0+dm0oKS50aHJvd0V4Y2VwdGlvbihjYWxsRnJh
bWUsIGNvbXBpbGVFcnJvcikpOworICAgICAgICBjb2RlQmxvY2sgPSBqc0Nhc3Q8TW9kdWxlUHJv
Z3JhbUNvZGVCbG9jayo+KHRlbXBDb2RlQmxvY2spOworICAgIH0KIAogICAgIGlmIChVTkxJS0VM
WSh2bS5zaG91bGRUcmlnZ2VyVGVybWluYXRpb24oY2FsbEZyYW1lKSkpCiAgICAgICAgIHJldHVy
biB0aHJvd1Rlcm1pbmF0ZWRFeGVjdXRpb25FeGNlcHRpb24oY2FsbEZyYW1lKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMjA0
MTAyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtOTAwLDE0ICs5MDAsMTUgQEAgU2xvd1BhdGhSZXR1cm5UeXBlIEpJVF9P
UEVSQVRJT04gb3BlcmF0aQogICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+
KEtlZXBUaGVGcmFtZSkpOwogICAgICAgICB9CiAKLSAgICAgICAgSlNPYmplY3QqIGVycm9yID0g
ZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uKGV4ZWNDYWxsZWUsIGNhbGxl
ZSwgc2NvcGUsIGtpbmQpOworICAgICAgICBDb2RlQmxvY2sqKiBjb2RlQmxvY2tTbG90ID0gZXhl
Y0NhbGxlZS0+YWRkcmVzc09mQ29kZUJsb2NrKCk7CisgICAgICAgIEpTT2JqZWN0KiBlcnJvciA9
IGZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbjxGdW5jdGlvbkV4ZWN1dGFi
bGU+KGV4ZWNDYWxsZWUsIGNhbGxlZSwgc2NvcGUsIGtpbmQsICpjb2RlQmxvY2tTbG90KTsKICAg
ICAgICAgaWYgKGVycm9yKSB7CiAgICAgICAgICAgICBleGVjLT52bSgpLnRocm93RXhjZXB0aW9u
KGV4ZWMsIGVycm9yKTsKICAgICAgICAgICAgIHJldHVybiBlbmNvZGVSZXN1bHQoCiAgICAgICAg
ICAgICAgICAgdm0tPmdldENUSVN0dWIodGhyb3dFeGNlcHRpb25Gcm9tQ2FsbFNsb3dQYXRoR2Vu
ZXJhdG9yKS5jb2RlKCkuZXhlY3V0YWJsZUFkZHJlc3MoKSwKICAgICAgICAgICAgICAgICByZWlu
dGVycHJldF9jYXN0PHZvaWQqPihLZWVwVGhlRnJhbWUpKTsKICAgICAgICAgfQotICAgICAgICBj
b2RlQmxvY2sgPSBmdW5jdGlvbkV4ZWN1dGFibGUtPmNvZGVCbG9ja0ZvcihraW5kKTsKKyAgICAg
ICAgY29kZUJsb2NrID0gKmNvZGVCbG9ja1Nsb3Q7CiAgICAgICAgIEFyaXR5Q2hlY2tNb2RlIGFy
aXR5OwogICAgICAgICBpZiAoZXhlY0NhbGxlZS0+YXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMo
KSA8IHN0YXRpY19jYXN0PHNpemVfdD4oY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkpIHx8IGNh
bGxMaW5rSW5mby0+aXNWYXJhcmdzKCkpCiAgICAgICAgICAgICBhcml0eSA9IE11c3RDaGVja0Fy
aXR5OwpAQCAtOTU0LDcgKzk1NSw4IEBAIGlubGluZSBTbG93UGF0aFJldHVyblR5cGUgdmlydHVh
bEZvcldpdGgKICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oS2Vl
cFRoZUZyYW1lKSk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIEpTT2JqZWN0KiBlcnJv
ciA9IGZ1bmN0aW9uRXhlY3V0YWJsZS0+cHJlcGFyZUZvckV4ZWN1dGlvbihleGVjQ2FsbGVlLCBm
dW5jdGlvbiwgc2NvcGUsIGtpbmQpOworICAgICAgICAgICAgQ29kZUJsb2NrKiogY29kZUJsb2Nr
U2xvdCA9IGV4ZWNDYWxsZWUtPmFkZHJlc3NPZkNvZGVCbG9jaygpOworICAgICAgICAgICAgSlNP
YmplY3QqIGVycm9yID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uPEZ1
bmN0aW9uRXhlY3V0YWJsZT4oZXhlY0NhbGxlZSwgZnVuY3Rpb24sIHNjb3BlLCBraW5kLCAqY29k
ZUJsb2NrU2xvdCk7CiAgICAgICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAgICAgICAgICAgICBl
eGVjLT52bSgpLnRocm93RXhjZXB0aW9uKGV4ZWMsIGVycm9yKTsKICAgICAgICAgICAgICAgICBy
ZXR1cm4gZW5jb2RlUmVzdWx0KApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xM
SW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lvbiAyMDQxMDIpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjY2
LDEwICsxMjY2LDExIEBAIGlubGluZSBTbG93UGF0aFJldHVyblR5cGUgc2V0VXBDYWxsKEV4ZWMK
ICAgICAgICAgaWYgKCFpc0NhbGwoa2luZCkgJiYgZnVuY3Rpb25FeGVjdXRhYmxlLT5jb25zdHJ1
Y3RBYmlsaXR5KCkgPT0gQ29uc3RydWN0QWJpbGl0eTo6Q2Fubm90Q29uc3RydWN0KQogICAgICAg
ICAgICAgTExJTlRfQ0FMTF9USFJPVyhleGVjLCBjcmVhdGVOb3RBQ29uc3RydWN0b3JFcnJvcihl
eGVjLCBjYWxsZWUpKTsKIAotICAgICAgICBKU09iamVjdCogZXJyb3IgPSBmdW5jdGlvbkV4ZWN1
dGFibGUtPnByZXBhcmVGb3JFeGVjdXRpb24oZXhlY0NhbGxlZSwgY2FsbGVlLCBzY29wZSwga2lu
ZCk7CisgICAgICAgIENvZGVCbG9jayoqIGNvZGVCbG9ja1Nsb3QgPSBleGVjQ2FsbGVlLT5hZGRy
ZXNzT2ZDb2RlQmxvY2soKTsKKyAgICAgICAgSlNPYmplY3QqIGVycm9yID0gZnVuY3Rpb25FeGVj
dXRhYmxlLT5wcmVwYXJlRm9yRXhlY3V0aW9uPEZ1bmN0aW9uRXhlY3V0YWJsZT4oZXhlY0NhbGxl
ZSwgY2FsbGVlLCBzY29wZSwga2luZCwgKmNvZGVCbG9ja1Nsb3QpOwogICAgICAgICBpZiAoZXJy
b3IpCiAgICAgICAgICAgICBMTElOVF9DQUxMX1RIUk9XKGV4ZWMsIGVycm9yKTsKLSAgICAgICAg
Y29kZUJsb2NrID0gZnVuY3Rpb25FeGVjdXRhYmxlLT5jb2RlQmxvY2tGb3Ioa2luZCk7CisgICAg
ICAgIGNvZGVCbG9jayA9ICpjb2RlQmxvY2tTbG90OwogICAgICAgICBBU1NFUlQoY29kZUJsb2Nr
KTsKICAgICAgICAgQXJpdHlDaGVja01vZGUgYXJpdHk7CiAgICAgICAgIGlmIChleGVjQ2FsbGVl
LT5hcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcygpIDwgc3RhdGljX2Nhc3Q8c2l6ZV90Pihjb2Rl
QmxvY2stPm51bVBhcmFtZXRlcnMoKSkpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMjA0MTAyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Nyw3
ICsxNzcsOCBAQCB2b2lkIFNjcmlwdEV4ZWN1dGFibGU6Omluc3RhbGxDb2RlKFZNJiB2CiB7CiAg
ICAgQVNTRVJUKHZtLmhlYXAuaXNEZWZlcnJlZCgpKTsKICAgICAKLSAgICBDT0RFQkxPQ0tfTE9H
X0VWRU5UKGdlbmVyaWNDb2RlQmxvY2ssICJpbnN0YWxsQ29kZSIsICgpKTsKKyAgICBpZiAoZ2Vu
ZXJpY0NvZGVCbG9jaykKKyAgICAgICAgQ09ERUJMT0NLX0xPR19FVkVOVChnZW5lcmljQ29kZUJs
b2NrLCAiaW5zdGFsbENvZGUiLCAoKSk7CiAgICAgCiAgICAgQ29kZUJsb2NrKiBvbGRDb2RlQmxv
Y2sgPSBudWxscHRyOwogICAgIApAQCAtMzk5LDE2ICs0MDAsMTcgQEAgc3RhdGljIHZvaWQgc2V0
dXBKSVQoVk0mIHZtLCBDb2RlQmxvY2sqIAogfQogCiBKU09iamVjdCogU2NyaXB0RXhlY3V0YWJs
ZTo6cHJlcGFyZUZvckV4ZWN1dGlvbkltcGwoCi0gICAgRXhlY1N0YXRlKiBleGVjLCBKU0Z1bmN0
aW9uKiBmdW5jdGlvbiwgSlNTY29wZSogc2NvcGUsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2lu
ZCkKKyAgICBFeGVjU3RhdGUqIGV4ZWMsIEpTRnVuY3Rpb24qIGZ1bmN0aW9uLCBKU1Njb3BlKiBz
Y29wZSwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kLCBDb2RlQmxvY2sqJiByZXN1bHRDb2Rl
QmxvY2spCiB7CiAgICAgVk0mIHZtID0gZXhlYy0+dm0oKTsKLSAgICBEZWZlckdDIGRlZmVyR0Mo
dm0uaGVhcCk7CisgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKHZtLmhlYXApOwogCiAgICAg
aWYgKHZtLmdldEFuZENsZWFyRmFpbE5leHROZXdDb2RlQmxvY2soKSkKICAgICAgICAgcmV0dXJu
IGNyZWF0ZUVycm9yKGV4ZWMtPmNhbGxlckZyYW1lKCksIEFTQ0lJTGl0ZXJhbCgiRm9yY2VkIEZh
aWx1cmUiKSk7CiAKICAgICBKU09iamVjdCogZXhjZXB0aW9uID0gMDsKICAgICBDb2RlQmxvY2sq
IGNvZGVCbG9jayA9IG5ld0NvZGVCbG9ja0ZvcihraW5kLCBmdW5jdGlvbiwgc2NvcGUsIGV4Y2Vw
dGlvbik7CisgICAgcmVzdWx0Q29kZUJsb2NrID0gY29kZUJsb2NrOwogICAgIGlmICghY29kZUJs
b2NrKSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGV4Y2VwdGlvbik7CiAgICAgICAgIHJldHVy
biBleGNlcHRpb247CkBAIC00MjMsNyArNDI1LDcgQEAgSlNPYmplY3QqIFNjcmlwdEV4ZWN1dGFi
bGU6OnByZXBhcmVGb3JFeAogICAgICAgICBzZXR1cEpJVCh2bSwgY29kZUJsb2NrKTsKICAgICAK
ICAgICBpbnN0YWxsQ29kZSgqY29kZUJsb2NrLT52bSgpLCBjb2RlQmxvY2ssIGNvZGVCbG9jay0+
Y29kZVR5cGUoKSwgY29kZUJsb2NrLT5zcGVjaWFsaXphdGlvbktpbmQoKSk7Ci0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIGNvbnN0IENsYXNzSW5mbyBFdmFsRXhlY3V0
YWJsZTo6c19pbmZvID0geyAiRXZhbEV4ZWN1dGFibGUiLCAmU2NyaXB0RXhlY3V0YWJsZTo6c19p
bmZvLCAwLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEV2YWxFeGVjdXRhYmxlKSB9OwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4ZWN1dGFibGUuaAkocmV2aXNpb24gMjA0MTAy
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNzEsMTkgKzM3MSwyMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbnN0YWxsQ29k
ZShWTSYsIENvZGVCbG9jayosIENvZGVUeXBlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kKTsKICAg
ICBDb2RlQmxvY2sqIG5ld0NvZGVCbG9ja0ZvcihDb2RlU3BlY2lhbGl6YXRpb25LaW5kLCBKU0Z1
bmN0aW9uKiwgSlNTY29wZSosIEpTT2JqZWN0KiYgZXhjZXB0aW9uKTsKICAgICBDb2RlQmxvY2sq
IG5ld1JlcGxhY2VtZW50Q29kZUJsb2NrRm9yKENvZGVTcGVjaWFsaXphdGlvbktpbmQpOwotICAg
IAotICAgIEpTT2JqZWN0KiBwcmVwYXJlRm9yRXhlY3V0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNG
dW5jdGlvbiogZnVuY3Rpb24sIEpTU2NvcGUqIHNjb3BlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5k
IGtpbmQpCi0gICAgewotICAgICAgICBpZiAoaGFzSklUQ29kZUZvcihraW5kKSkKLSAgICAgICAg
ICAgIHJldHVybiAwOwotICAgICAgICByZXR1cm4gcHJlcGFyZUZvckV4ZWN1dGlvbkltcGwoZXhl
YywgZnVuY3Rpb24sIHNjb3BlLCBraW5kKTsKLSAgICB9CisKKyAgICAvLyBUaGlzIGZ1bmN0aW9u
IGhhcyBhbiBpbnRlcmVzdGluZyBHQyBzdG9yeS4gQ2FsbGVycyBvZiB0aGlzIGZ1bmN0aW9uIGFy
ZSBhc2tpbmcgdXMgdG8gY3JlYXRlIGEgQ29kZUJsb2NrCisgICAgLy8gdGhhdCBpcyBub3QgamV0
dGlzb25lZCBiZWZvcmUgdGhpcyBmdW5jdGlvbiByZXR1cm5zLiBDYWxsZXJzIGFyZSBlc3NlbnRp
YWxseSBhc2tpbmcgZm9yIGEgc3Ryb25nIHJlZmVyZW5jZQorICAgIC8vIHRvIHRoZSBDb2RlQmxv
Y2suIEJlY2F1c2UgdGhlIEV4ZWN1dGFibGUgbWF5IGJlIGFsbG9jYXRpbmcgdGhlIENvZGVCbG9j
aywgd2UgcmVxdWlyZSBjYWxsZXJzIHRvIHBhc3MgaW4KKyAgICAvLyB0aGVpciBDb2RlQmxvY2sq
JiByZWZlcmVuY2UgYmVjYXVzZSBpdCdzIHNhZmUgZm9yIENvZGVCbG9jayB0byBiZSBqZXR0aXNv
bmVkIGlmIEV4ZWN1dGFibGUgaXMgdGhlIG9ubHkgdGhpbmcKKyAgICAvLyB0byBwb2ludCB0byBp
dC4gVGhpcyBmb3JjZXMgY2FsbGVycyB0byBoYXZlIGEgQ29kZUJsb2NrKiBpbiBhIHJlZ2lzdGVy
IG9yIG9uIHRoZSBzdGFjayB0aGF0IHdpbGwgYmUgbWFya2VkCisgICAgLy8gYnkgY29uc2VydmF0
aXZlIEdDIGlmIGEgR0MgaGFwcGVucyBhZnRlciB3ZSBjcmVhdGUgdGhlIENvZGVCbG9jay4KKyAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRXhlY3V0YWJsZVR5cGU+CisgICAgSlNPYmplY3QqIHByZXBh
cmVGb3JFeGVjdXRpb24oRXhlY1N0YXRlKiBleGVjLCBKU0Z1bmN0aW9uKiBmdW5jdGlvbiwgSlNT
Y29wZSogc2NvcGUsIENvZGVTcGVjaWFsaXphdGlvbktpbmQga2luZCwgQ29kZUJsb2NrKiYgcmVz
dWx0Q29kZUJsb2NrKTsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBGdW5jdG9yPiB2b2lkIGZv
ckVhY2hDb2RlQmxvY2soRnVuY3RvciYmKTsKIAogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3Mg
RXhlY3V0YWJsZUJhc2U7Ci0gICAgSlNPYmplY3QqIHByZXBhcmVGb3JFeGVjdXRpb25JbXBsKEV4
ZWNTdGF0ZSosIEpTRnVuY3Rpb24qLCBKU1Njb3BlKiwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCk7
CisgICAgSlNPYmplY3QqIHByZXBhcmVGb3JFeGVjdXRpb25JbXBsKEV4ZWNTdGF0ZSosIEpTRnVu
Y3Rpb24qLCBKU1Njb3BlKiwgQ29kZVNwZWNpYWxpemF0aW9uS2luZCwgQ29kZUJsb2NrKiYpOwog
CiBwcm90ZWN0ZWQ6CiAgICAgU2NyaXB0RXhlY3V0YWJsZShTdHJ1Y3R1cmUqLCBWTSYsIGNvbnN0
IFNvdXJjZUNvZGUmLCBib29sIGlzSW5TdHJpY3RDb250ZXh0LCBEZXJpdmVkQ29udGV4dFR5cGUs
IGJvb2wgaXNJbkFycm93RnVuY3Rpb25Db250ZXh0LCBFdmFsQ29udGV4dFR5cGUsIEludHJpbnNp
Yyk7CkBAIC03NDMsNiArNzQ1LDI1IEBAIHByaXZhdGU6CiB9OwogI2VuZGlmCiAKK3RlbXBsYXRl
IDx0eXBlbmFtZSBFeGVjdXRhYmxlVHlwZT4KK0pTT2JqZWN0KiBTY3JpcHRFeGVjdXRhYmxlOjpw
cmVwYXJlRm9yRXhlY3V0aW9uKEV4ZWNTdGF0ZSogZXhlYywgSlNGdW5jdGlvbiogZnVuY3Rpb24s
IEpTU2NvcGUqIHNjb3BlLCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kIGtpbmQsIENvZGVCbG9jayom
IHJlc3VsdENvZGVCbG9jaykKK3sKKyAgICBpZiAoaGFzSklUQ29kZUZvcihraW5kKSkgeworICAg
ICAgICBpZiAoc3RkOjppc19zYW1lPEV4ZWN1dGFibGVUeXBlLCBFdmFsRXhlY3V0YWJsZT46OnZh
bHVlKQorICAgICAgICAgICAgcmVzdWx0Q29kZUJsb2NrID0ganNDYXN0PENvZGVCbG9jayo+KGpz
Q2FzdDxFdmFsRXhlY3V0YWJsZSo+KHRoaXMpLT5jb2RlQmxvY2soKSk7CisgICAgICAgIGVsc2Ug
aWYgKHN0ZDo6aXNfc2FtZTxFeGVjdXRhYmxlVHlwZSwgUHJvZ3JhbUV4ZWN1dGFibGU+Ojp2YWx1
ZSkKKyAgICAgICAgICAgIHJlc3VsdENvZGVCbG9jayA9IGpzQ2FzdDxDb2RlQmxvY2sqPihqc0Nh
c3Q8UHJvZ3JhbUV4ZWN1dGFibGUqPih0aGlzKS0+Y29kZUJsb2NrKCkpOworICAgICAgICBlbHNl
IGlmIChzdGQ6OmlzX3NhbWU8RXhlY3V0YWJsZVR5cGUsIE1vZHVsZVByb2dyYW1FeGVjdXRhYmxl
Pjo6dmFsdWUpCisgICAgICAgICAgICByZXN1bHRDb2RlQmxvY2sgPSBqc0Nhc3Q8Q29kZUJsb2Nr
Kj4oanNDYXN0PE1vZHVsZVByb2dyYW1FeGVjdXRhYmxlKj4odGhpcyktPmNvZGVCbG9jaygpKTsK
KyAgICAgICAgZWxzZSBpZiAoc3RkOjppc19zYW1lPEV4ZWN1dGFibGVUeXBlLCBGdW5jdGlvbkV4
ZWN1dGFibGU+Ojp2YWx1ZSkKKyAgICAgICAgICAgIHJlc3VsdENvZGVCbG9jayA9IGpzQ2FzdDxD
b2RlQmxvY2sqPihqc0Nhc3Q8RnVuY3Rpb25FeGVjdXRhYmxlKj4odGhpcyktPmNvZGVCbG9ja0Zv
cihraW5kKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyAgICByZXR1cm4gcHJl
cGFyZUZvckV4ZWN1dGlvbkltcGwoZXhlYywgZnVuY3Rpb24sIHNjb3BlLCBraW5kLCByZXN1bHRD
b2RlQmxvY2spOworfQorCiB9IC8vIG5hbWVzcGFjZSBKU0MKIAogI2VuZGlmIC8vIEV4ZWN1dGFi
bGVfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAkocmV2aXNp
b24gMjA0MTAyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zMjIsNiArMzIyLDggQEAgdHlwZWRlZiBjb25zdCBjaGFyKiBvcHRp
b25TdHJpbmc7CiAgICAgdih1bnNpZ25lZCwgZm9yY2VSQU1TaXplLCAwLCBOb3JtYWwsIG51bGxw
dHIpIFwKICAgICB2KGJvb2wsIHJlY29yZEdDUGF1c2VUaW1lcywgZmFsc2UsIE5vcm1hbCwgbnVs
bHB0cikgXAogICAgIHYoYm9vbCwgbG9nSGVhcFN0YXRpc3RpY3NBdEV4aXQsIGZhbHNlLCBOb3Jt
YWwsIG51bGxwdHIpIFwKKyAgICB2KGJvb2wsIGZvcmNlQ29kZUJsb2NrVG9KZXR0aXNvbkR1ZVRv
T2xkQWdlLCBmYWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgdGhpcyBtZWFucyB0aGF0IGFueXRpbWUg
d2UgY2FuIGpldHRpc29uIGEgQ29kZUJsb2NrIGR1ZSB0byBvbGQgYWdlLCB3ZSBkby4iKSBcCisg
ICAgdihib29sLCB1c2VFYWdlckNvZGVCbG9ja0pldHRpc29uVGltaW5nLCBmYWxzZSwgTm9ybWFs
LCAiSWYgdHJ1ZSwgdGhlIHRpbWUgc2xpY2VzIGZvciBqZXR0aXNvbmluZyBhIENvZGVCbG9jayBk
dWUgdG8gb2xkIGFnZSBhcmUgc2hydW5rIHNpZ25pZmljYW50bHkuIikgXAogICAgIFwKICAgICB2
KGJvb2wsIHVzZVR5cGVQcm9maWxlciwgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXAogICAgIHYo
Ym9vbCwgdXNlQ29udHJvbEZsb3dQcm9maWxlciwgZmFsc2UsIE5vcm1hbCwgbnVsbHB0cikgXApJ
bmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2
aXNpb24gMjA0MTU2KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTIgQEAKKzIwMTYtMDgtMDQgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVzdG9yZSBDb2RlQmxvY2sgamV0dGlzb24gY29kZSB0byBqZXR0aXNvbiB3aGVu
IGEgQ29kZUJsb2NrIGhhcyBiZWVuIGFsaXZlIGZvciBhIGxvbmcgdGltZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMjQxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi1qc2Mtc3Ry
ZXNzLXRlc3RzOgorCiAyMDE2LTA4LTA0ICBEZWFuIEpvaG5zb24gIDxkZWFuX2pvaG5zb25AYXBw
bGUuY29tPgogCiAgICAgICAgIFVJIGltcHJvdmVtZW50cyB0byBGbGFraW5lc3MgRGFzaGJvYXJk
LgpJbmRleDogVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCShyZXZpc2lvbiAyMDQxMDIpCisr
KyBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCSh3b3JraW5nIGNvcHkpCkBAIC00
MTksNyArNDE5LDcgQEAgJG51bVBhc3NlcyA9IDAKIAogIyBXZSBmb3JjZSBhbGwgdGVzdHMgdG8g
dXNlIGEgc21hbGxlciAoMS41TSkgc3RhY2sgc28gdGhhdCBzdGFjayBvdmVyZmxvdyB0ZXN0cyBj
YW4gcnVuIGZhc3Rlci4KIEJBU0VfT1BUSU9OUyA9IFsiLS11c2VGVExKSVQ9ZmFsc2UiLCAiLS11
c2VGdW5jdGlvbkRvdEFyZ3VtZW50cz10cnVlIiwgIi0tbWF4UGVyVGhyZWFkU3RhY2tVc2FnZT0x
NTcyODY0Il0KLUVBR0VSX09QVElPTlMgPSBbIi0tdGhyZXNob2xkRm9ySklUQWZ0ZXJXYXJtVXA9
MTAiLCAiLS10aHJlc2hvbGRGb3JKSVRTb29uPTEwIiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVB
ZnRlcldhcm1VcD0yMCIsICItLXRocmVzaG9sZEZvck9wdGltaXplQWZ0ZXJMb25nV2FybVVwPTIw
IiwgIi0tdGhyZXNob2xkRm9yT3B0aW1pemVTb29uPTIwIiwgIi0tdGhyZXNob2xkRm9yRlRMT3B0
aW1pemVBZnRlcldhcm1VcD0yMCIsICItLXRocmVzaG9sZEZvckZUTE9wdGltaXplU29vbj0yMCIs
ICItLW1heGltdW1FdmFsQ2FjaGVhYmxlU291cmNlTGVuZ3RoPTE1MDAwMCJdCitFQUdFUl9PUFRJ
T05TID0gWyItLXRocmVzaG9sZEZvckpJVEFmdGVyV2FybVVwPTEwIiwgIi0tdGhyZXNob2xkRm9y
SklUU29vbj0xMCIsICItLXRocmVzaG9sZEZvck9wdGltaXplQWZ0ZXJXYXJtVXA9MjAiLCAiLS10
aHJlc2hvbGRGb3JPcHRpbWl6ZUFmdGVyTG9uZ1dhcm1VcD0yMCIsICItLXRocmVzaG9sZEZvck9w
dGltaXplU29vbj0yMCIsICItLXRocmVzaG9sZEZvckZUTE9wdGltaXplQWZ0ZXJXYXJtVXA9MjAi
LCAiLS10aHJlc2hvbGRGb3JGVExPcHRpbWl6ZVNvb249MjAiLCAiLS1tYXhpbXVtRXZhbENhY2hl
YWJsZVNvdXJjZUxlbmd0aD0xNTAwMDAiLCAiLS11c2VFYWdlckNvZGVCbG9ja0pldHRpc29uVGlt
aW5nPXRydWUiXQogTk9fQ0pJVF9PUFRJT05TID0gWyItLXVzZUNvbmN1cnJlbnRKSVQ9ZmFsc2Ui
LCAiLS10aHJlc2hvbGRGb3JKSVRBZnRlcldhcm1VcD0xMDAiXQogRlRMX09QVElPTlMgPSBbIi0t
dXNlRlRMSklUPXRydWUiXQogCkBAIC04NzYsNyArODc2LDcgQEAgZGVmIHJ1bk1pc2NGVExOb0NK
SVRUZXN0KCpvcHRpb25zKQogZW5kCiAKIGRlZiBydW5ERkdNYXhpbWFsRmx1c2hQaGFzZQotICAg
IHJ1bigiZGZnLW1heGltYWwtZmx1c2gtdmFsaWRhdGUtbm8tY2ppdCIsICItLXZhbGlkYXRlR3Jh
cGg9dHJ1ZSIsICItLXVzZU1heGltYWxGbHVzaEluc2VydGlvblBoYXNlPXRydWUiLCAqTk9fQ0pJ
VF9PUFRJT05TKQorICAgIHJ1bigiZGZnLW1heGltYWwtZmx1c2gtdmFsaWRhdGUtbm8tY2ppdCIs
ICItLWZvcmNlQ29kZUJsb2NrVG9KZXR0aXNvbkR1ZVRvT2xkQWdlPXRydWUiLCAiLS12YWxpZGF0
ZUdyYXBoPXRydWUiLCAiLS11c2VNYXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZT10cnVlIiwgKk5P
X0NKSVRfT1BUSU9OUykKIGVuZAogCiBkZWYgcnVuU2hhZG93Q2hpY2tlbgo=
</data>
<flag name="review"
          id="309007"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>