<?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>133885</bug_id>
          
          <creation_ts>2014-06-13 15:35:29 -0700</creation_ts>
          <short_desc>[iOS][wk2] Swiping back briefly shows the previous page before loading the new one</short_desc>
          <delta_ts>2014-06-23 03:01:27 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1015554</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-06-13 15:35:29 -0700</bug_when>
    <thetext>Sometimes we will get a layer tree commit from the Web Process -&gt; UI process with layers (and a render tree size) from the previous page AFTER the UI process has started the navigation to the new page (because layer tree flush is very asynchronous). This will cause ViewGestureControllerIOS to think that the render tree size limit has been hit, and remove the snapshot, revealing the old page.

Since we already synchronize layer tree commits between processes, we just need a way to identify commits by ID and know which commit current actions will be applied to.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015565</commentid>
    <comment_count>1</comment_count>
      <attachid>233086</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-06-13 16:07:56 -0700</bug_when>
    <thetext>Created attachment 233086
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015566</commentid>
    <comment_count>2</comment_count>
      <attachid>233087</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-06-13 16:08:25 -0700</bug_when>
    <thetext>Created attachment 233087
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015567</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-06-13 16:08:54 -0700</bug_when>
    <thetext>Transaction ID is reset upon crash because we tear down the drawing area (and make a new Web process). I&apos;ve tested that this works!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015961</commentid>
    <comment_count>4</comment_count>
      <attachid>233087</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-16 14:31:28 -0700</bug_when>
    <thetext>Comment on attachment 233087
patch

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

&gt; Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h:209
&gt; +    void setTransactionID(uint64_t transactionID) { m_transactionID = transactionID; }

Should this be provided to the constructor?

&gt; Source/WebKit2/UIProcess/DrawingAreaProxy.h:89
&gt; +    virtual uint64_t nextTransactionID() const { ASSERT_NOT_REACHED(); return 0; }

Weird to have this one.

&gt; Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:231
&gt; +    m_targetTransactionID = m_webPageProxy.drawingArea()-&gt;nextTransactionID();

&quot;target&quot; doesn&apos;t communicate what you&apos;re going to use this transaction ID for.

&gt; Source/WebKit2/UIProcess/ios/ViewGestureControllerIOS.mm:253
&gt; +    if (m_targetRenderTreeSize &amp;&amp; renderTreeSize &gt; m_targetRenderTreeSize &amp;&amp; m_webPageProxy.drawingArea()-&gt;currentTransactionID() &gt;= m_targetTransactionID)

I want to see a call here like &quot;isCurrentTransaction()&quot; or &quot;isStaleTransaction&quot; or something.

&gt; Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:80
&gt; +    virtual uint64_t nextTransactionID() const override { return m_currentTransactionID + 1; }

Remove?

&gt; Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:94
&gt; +    uint64_t m_currentTransactionID;

I feel like this should be lastVisibleTransactionID or something.

&gt; Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:312
&gt; +    m_currentTransactionID++;

Rather than just increment this count, I feel like it should copy the ID obtained from the last transaction somehow.

&gt; Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:282
&gt; +    layerTransaction.setTransactionID(m_currentTransactionID++);

getNextTransactionID()?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016005</commentid>
    <comment_count>5</comment_count>
      <attachid>233199</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-06-16 16:08:04 -0700</bug_when>
    <thetext>Created attachment 233199
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016014</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-06-16 16:46:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/170035</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1017513</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-06-23 03:01:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/17416499&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233086</attachid>
            <date>2014-06-13 16:07:56 -0700</date>
            <delta_ts>2014-06-13 16:08:25 -0700</delta_ts>
            <desc>patch</desc>
            <filename>transactionid.diff</filename>
            <type>text/plain</type>
            <size>11627</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5MTFiMTNiLi45ODBkYzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDgg
QEAKKzIwMTQtMDYtMTMgIFRpbW90aHkgSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29t
PgorCisgICAgICAgIFtpT1NdW3drMl0gU3dpcGluZyBiYWNrIGJyaWVmbHkgc2hvd3MgdGhlIHBy
ZXZpb3VzIHBhZ2UgYmVmb3JlIGxvYWRpbmcgdGhlIG5ldyBvbmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzg4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBhIHJhY2UgYmV0d2VlbiB0aGUg
VUkgYW5kIFdlYiBwcm9jZXNzZXMgd2hlbiByZW1vdmluZyB0aGUgc3dpcGUgc25hcHNob3QuCisg
ICAgICAgIFByZXZpb3VzbHksIGl0IHdhcyBwb3NzaWJsZSB0byBnZXQgYSBjb21taXQgZnJvbSB0
aGUgV2ViIHByb2Nlc3Mgd2l0aCBsYXllciBjb250ZW50CisgICAgICAgIChhbmQgcmVuZGVyIHRy
ZWUgc2l6ZSkgZnJvbSB0aGUgcHJldmlvdXMgcGFnZSAqYWZ0ZXIqIHNlbmRpbmcgdGhlIG5hdmln
YXRpb24gcmVxdWVzdAorICAgICAgICB0byB0aGUgcGFnZSwgYmVjYXVzZSBvZiB0aGUgYXN5bmNo
cm9uaWNpdHkgb2YgbGF5ZXIgdHJlZSBjb21taXRzLiBUaGlzIGNvdWxkIGNhdXNlCisgICAgICAg
IHRoZSBzbmFwc2hvdCB0byBiZSByZW1vdmVkIGVhcmx5IChpZiB0aGUgcHJldmlvdXMgZnVsbHkt
bG9hZGVkIHBhZ2UgaGFkIGEgc3VmZmljaWVudGx5CisgICAgICAgIGxhcmdlIHJlbmRlciB0cmVl
IHNpemUpLCByZXZlYWxpbmcgdGhlIG9sZCB0aWxlcyB1bmRlcm5lYXRoIHRoZSBzbmFwc2hvdC4K
KworICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OnRyYW5zYWN0aW9uSUQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6c2V0VHJhbnNh
Y3Rpb25JRCk6CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bi5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmVuY29k
ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpkZWNvZGUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgIChXZWJL
aXQ6OkRyYXdpbmdBcmVhUHJveHk6OmN1cnJlbnRUcmFuc2FjdGlvbklEKToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eTo6bmV4dFRyYW5zYWN0aW9uSUQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6UmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvcmVBbmltYXRpb25EaWRDb21taXRMYXllcnMp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYTo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6ZGlkVXBkYXRlKToKKyAgICAgICAgS2VlcCB0cmFj
ayBvZiBhbiBldmVyLWluY3JlYXNpbmcgdHJhbnNhY3Rpb24gSUQgaW4gUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEoUHJveHkpLgorICAgICAgICBJdCBpbmNyZW1lbnRzIGluIHRoZSBVSSBwcm9j
ZXNzIGF0IGRpZFVwZGF0ZSB0aW1lLCBiZWNhdXNlIHRoZSBXZWIgcHJvY2VzcyBjYW5ub3QKKyAg
ICAgICAgaGF2ZSBzdGFydGVkIG9uIGEgbmV3IGxheWVyIHRyZWUgY29tbWl0IHVudGlsIGRpZFVw
ZGF0ZSBpcyBzZW50LgorICAgICAgICBJdCBpbmNyZW1lbnRzIGluIHRoZSBXZWIgcHJvY2VzcyBh
dCBjb21taXQgdGltZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVu
ZFN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6
c2V0UmVuZGVyVHJlZVNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVD
b250cm9sbGVyLmg6CisgICAgICAgIEFkb3B0IHRyYW5zYWN0aW9uIElEczsgZG9uJ3QgcmVtb3Zl
IHRoZSBzbmFwc2hvdCB1bnRpbCB0aGUgY29tbWl0CisgICAgICAgIHRoYXQgaW5jbHVkZXMgdGhl
IG5hdmlnYXRpb24gYXJyaXZlcy4KKwogMjAxNC0wNi0xMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpA
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIE5ldHdvcmtpbmcgcHJvY2VzcyBhbHdheXMgZGVj
b2RlcyBrZXlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLmgKaW5kZXggZWUwZmNhOC4uMGQyZTBkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24u
aApAQCAtMjA0LDYgKzIwNCw5IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgYWxsb3dzVXNlclNjYWxp
bmcoKSBjb25zdCB7IHJldHVybiBtX2FsbG93c1VzZXJTY2FsaW5nOyB9CiAgICAgdm9pZCBzZXRB
bGxvd3NVc2VyU2NhbGluZyhib29sIGFsbG93c1VzZXJTY2FsaW5nKSB7IG1fYWxsb3dzVXNlclNj
YWxpbmcgPSBhbGxvd3NVc2VyU2NhbGluZzsgfQorCisgICAgdWludDY0X3QgdHJhbnNhY3Rpb25J
RCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNhY3Rpb25JRDsgfQorICAgIHZvaWQgc2V0VHJhbnNh
Y3Rpb25JRCh1aW50NjRfdCB0cmFuc2FjdGlvbklEKSB7IG1fdHJhbnNhY3Rpb25JRCA9IHRyYW5z
YWN0aW9uSUQ7IH0KICAgICAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6
UGxhdGZvcm1MYXllcklEIG1fcm9vdExheWVySUQ7CkBAIC0yMjEsNiArMjI0LDcgQEAgcHJpdmF0
ZToKICAgICBkb3VibGUgbV9taW5pbXVtU2NhbGVGYWN0b3I7CiAgICAgZG91YmxlIG1fbWF4aW11
bVNjYWxlRmFjdG9yOwogICAgIHVpbnQ2NF90IG1fcmVuZGVyVHJlZVNpemU7CisgICAgdWludDY0
X3QgbV90cmFuc2FjdGlvbklEOwogICAgIGJvb2wgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzOwog
ICAgIGJvb2wgbV9hbGxvd3NVc2VyU2NhbGluZzsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQppbmRleCA5NWM2
OGFkLi41MTllNmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KQEAgLTQ2MSw2ICs0NjEsNyBAQCB2b2lkIFJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX21heGltdW1TY2FsZUZhY3RvcjsKIAogICAg
IGVuY29kZXIgPDwgbV9yZW5kZXJUcmVlU2l6ZTsKKyAgICBlbmNvZGVyIDw8IG1fdHJhbnNhY3Rp
b25JRDsKIAogICAgIGVuY29kZXIgPDwgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzOwogICAgIGVu
Y29kZXIgPDwgbV9hbGxvd3NVc2VyU2NhbGluZzsKQEAgLTUyOSw2ICs1MzAsOSBAQCBib29sIFJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIFJlbW90ZUxheQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fcmVuZGVy
VHJlZVNpemUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHJlc3VsdC5tX3RyYW5zYWN0aW9uSUQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3MpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eS5oCmluZGV4IDQ4YzY3YWUuLmM3YzliM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApAQCAtODUsNiArODUsOSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHNob3dEZWJ1Z0luZGljYXRvcihib29sKSB7IH0KICAgICB2aXJ0dWFs
IGJvb2wgaXNTaG93aW5nRGVidWdJbmRpY2F0b3IoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
CisgICAgdmlydHVhbCB1aW50NjRfdCBjdXJyZW50VHJhbnNhY3Rpb25JRCgpIGNvbnN0IHsgQVNT
RVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB1aW50NjRfdCBuZXh0
VHJhbnNhY3Rpb25JRCgpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiAwOyB9
CisKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVh
VHlwZSwgV2ViUGFnZVByb3h5Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KaW5kZXggNmRjOTY3My4uNjQz
N2UwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3
R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KQEAgLTIyOCw2ICsyMjgsNyBAQCB2b2lkIFZpZXdHZXN0
dXJlQ29udHJvbGxlcjo6ZW5kU3dpcGVHZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRh
cmdldEl0ZW0sCiAgICAgbV90YXJnZXRSZW5kZXJUcmVlU2l6ZSA9IDA7CiAgICAgaWYgKFZpZXdT
bmFwc2hvdFN0b3JlOjpzaGFyZWQoKS5nZXRTbmFwc2hvdCh0YXJnZXRJdGVtLCBzbmFwc2hvdCkp
CiAgICAgICAgIG1fdGFyZ2V0UmVuZGVyVHJlZVNpemUgPSBzbmFwc2hvdC5yZW5kZXJUcmVlU2l6
ZSAqIHN3aXBlU25hcHNob3RSZW1vdmFsUmVuZGVyVHJlZVNpemVUYXJnZXRGcmFjdGlvbjsKKyAg
ICBtX3RhcmdldFRyYW5zYWN0aW9uSUQgPSBtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpLT5u
ZXh0VHJhbnNhY3Rpb25JRCgpOwogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byByZXBsYWNlIHRo
ZSBjdXJyZW50IGJhY2stZm9yd2FyZCBpdGVtJ3Mgc25hcHNob3QKICAgICAvLyBsaWtlIHdlIG5v
cm1hbGx5IHdvdWxkIHdoZW4gZ29pbmcgYmFjayBvciBmb3J3YXJkLCBiZWNhdXNlIHdlIGFyZQpA
QCAtMjQ5LDcgKzI1MCw3IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpzZXRSZW5kZXJU
cmVlU2l6ZSh1aW50NjRfdCByZW5kZXJUcmVlU2l6ZSkKICAgICBpZiAobV9hY3RpdmVHZXN0dXJl
VHlwZSAhPSBWaWV3R2VzdHVyZVR5cGU6OlN3aXBlKQogICAgICAgICByZXR1cm47CiAKLSAgICBp
ZiAobV90YXJnZXRSZW5kZXJUcmVlU2l6ZSAmJiByZW5kZXJUcmVlU2l6ZSA+IG1fdGFyZ2V0UmVu
ZGVyVHJlZVNpemUpCisgICAgaWYgKG1fdGFyZ2V0UmVuZGVyVHJlZVNpemUgJiYgcmVuZGVyVHJl
ZVNpemUgPiBtX3RhcmdldFJlbmRlclRyZWVTaXplICYmIG1fd2ViUGFnZVByb3h5LmRyYXdpbmdB
cmVhKCktPmN1cnJlbnRUcmFuc2FjdGlvbklEKCkgPj0gbV90YXJnZXRUcmFuc2FjdGlvbklEKQog
ICAgICAgICByZW1vdmVTd2lwZVNuYXBzaG90KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5LmgKaW5kZXggYTgxYmYzMC4uNzc3MTJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5
LmgKQEAgLTc2LDYgKzc2LDkgQEAgcHJpdmF0ZToKICAgICAKICAgICB2b2lkIHNlbmRVcGRhdGVH
ZW9tZXRyeSgpOwogCisgICAgdmlydHVhbCB1aW50NjRfdCBjdXJyZW50VHJhbnNhY3Rpb25JRCgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fY3VycmVudFRyYW5zYWN0aW9uSUQ7IH0KKyAgICB2
aXJ0dWFsIHVpbnQ2NF90IG5leHRUcmFuc2FjdGlvbklEKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV9jdXJyZW50VHJhbnNhY3Rpb25JRCArIDE7IH0KKwogICAgIFJlbW90ZUxheWVyVHJlZUhv
c3QgbV9yZW1vdGVMYXllclRyZWVIb3N0OwogICAgIGJvb2wgbV9pc1dhaXRpbmdGb3JEaWRVcGRh
dGVHZW9tZXRyeTsKIApAQCAtODcsNiArOTAsOCBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxD
QUxheWVyPiBtX2V4cG9zZWRSZWN0SW5kaWNhdG9yTGF5ZXI7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6UnVuTG9vcE9ic2VydmVyPiBtX2xheWVyQ29tbWl0T2JzZXJ2ZXI7CisKKyAg
ICB1aW50NjRfdCBtX2N1cnJlbnRUcmFuc2FjdGlvbklEOwogfTsKIAogRFJBV0lOR19BUkVBX1BS
T1hZX1RZUEVfQ0FTVFMoUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSwgdHlwZSgpID09
IERyYXdpbmdBcmVhVHlwZVJlbW90ZUxheWVyVHJlZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHkubW0KaW5kZXggMmNjN2ZlOS4uMDExNmZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eS5tbQpAQCAtNDcsNiArNDcsNyBAQCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KFdlYlBhZ2VQcm94eSogdwogICAgIDogRHJh
d2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYVR5cGVSZW1vdGVMYXllclRyZWUsIHdlYlBhZ2VQcm94
eSkKICAgICAsIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdCgqdGhpcykKICAgICAsIG1faXNXYWl0aW5n
Rm9yRGlkVXBkYXRlR2VvbWV0cnkoZmFsc2UpCisgICAgLCBtX2N1cnJlbnRUcmFuc2FjdGlvbklE
KDApCiB7CiAjaWYgVVNFKElPU1VSRkFDRSkKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBvb2wg
c3VyZmFjZXMgaW4gdGhlIFVJIHByb2Nlc3MuCkBAIC0xMTksNiArMTIwLDkgQEAgdm9pZCBSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3Rl
TGF5ZXJUcmVlVHJhbnMKICAgICBMT0coUmVtb3RlTGF5ZXJUcmVlLCAiJXMiLCBsYXllclRyZWVU
cmFuc2FjdGlvbi5kZXNjcmlwdGlvbigpLmRhdGEoKSk7CiAgICAgTE9HKFJlbW90ZUxheWVyVHJl
ZSwgIiVzIiwgc2Nyb2xsaW5nVHJlZVRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uKCkuZGF0YSgpKTsK
IAorICAgIC8vIG5vIHJlbGVhc2VfCisgICAgUkVMRUFTRV9BU1NFUlQobGF5ZXJUcmVlVHJhbnNh
Y3Rpb24udHJhbnNhY3Rpb25JRCgpID09IG1fY3VycmVudFRyYW5zYWN0aW9uSUQpOworCiAgICAg
aWYgKG1fcmVtb3RlTGF5ZXJUcmVlSG9zdC51cGRhdGVMYXllclRyZWUobGF5ZXJUcmVlVHJhbnNh
Y3Rpb24pKQogICAgICAgICBtX3dlYlBhZ2VQcm94eS0+c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z1Jvb3RMYXllcihtX3JlbW90ZUxheWVyVHJlZUhvc3Qucm9vdExheWVyKCkpOwogCkBAIC0zMDUs
NiArMzA5LDggQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb3JlQW5p
bWF0aW9uRGlkQ29tbWl0TGF5ZXJzKCkKICAgICAvLyB1c2luZyBvdXIgYmFja2luZyBzdG9yZS4g
V2UgY2FuIGltcHJvdmUgdGhpcyBieSB3YWl0aW5nIGZvciB0aGUgcmVuZGVyIHNlcnZlciB0byBj
b21taXQKICAgICAvLyBpZiB3ZSBmaW5kIEFQSSB0byBkbyBzbywgYnV0IGZvciBub3cgd2Ugd2ls
bCBtYWtlIGV4dHJhIGJ1ZmZlcnMgaWYgbmVlZCBiZS4KICAgICBtX3dlYlBhZ2VQcm94eS0+cHJv
Y2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpEaWRVcGRhdGUoKSwgbV93ZWJQYWdl
UHJveHktPnBhZ2VJRCgpKTsKKworICAgIG1fY3VycmVudFRyYW5zYWN0aW9uSUQrKzsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaAppbmRleCBkY2IwNTViLi4wOTI4MmI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9s
bGVyLmgKQEAgLTE4NCw2ICsxODQsNyBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxVSVZpZXc+
IG1fdHJhbnNpdGlvbkNvbnRhaW5lclZpZXc7CiAgICAgUmV0YWluUHRyPFdLU3dpcGVUcmFuc2l0
aW9uQ29udHJvbGxlcj4gbV9zd2lwZUludGVyYWN0aXZlVHJhbnNpdGlvbkRlbGVnYXRlOwogICAg
IHVpbnQ2NF90IG1fdGFyZ2V0UmVuZGVyVHJlZVNpemU7CisgICAgdWludDY0X3QgbV90YXJnZXRU
cmFuc2FjdGlvbklEOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhLmgKaW5kZXggMWY2ODcxNS4uOTY5ZjFhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEuaApAQCAtMTQ0LDYgKzE0NCw4IEBAIHByaXZhdGU6CiAKICAgICBIYXNoU2V0PFJl
bW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvcio+IG1fZGlzcGxheVJlZnJlc2hNb25p
dG9yczsKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvcio+
KiBtX2Rpc3BsYXlSZWZyZXNoTW9uaXRvcnNUb05vdGlmeTsKKworICAgIHVpbnQ2NF90IG1fY3Vy
cmVudFRyYW5zYWN0aW9uSUQ7CiB9OwogCiBEUkFXSU5HX0FSRUFfVFlQRV9DQVNUUyhSZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYSwgdHlwZSgpID09IERyYXdpbmdBcmVhVHlwZVJlbW90ZUxheWVy
VHJlZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQppbmRleCA3MDZiZjFj
Li5kOWM5YjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0KQEAgLTYy
LDYgKzYyLDcgQEAgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OlJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhKFdlYlBhZ2UqIHdlYlBhZ2UsIGNvbnN0IFcKICAgICAsIG1fd2FpdGluZ0ZvckJh
Y2tpbmdTdG9yZVN3YXAoZmFsc2UpCiAgICAgLCBtX2hhZEZsdXNoRGVmZXJyZWRXaGlsZVdhaXRp
bmdGb3JCYWNraW5nU3RvcmVTd2FwKGZhbHNlKQogICAgICwgbV9kaXNwbGF5UmVmcmVzaE1vbml0
b3JzVG9Ob3RpZnkobnVsbHB0cikKKyAgICAsIG1fY3VycmVudFRyYW5zYWN0aW9uSUQoMCkKIHsK
ICAgICB3ZWJQYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLnNldEZvcmNlQ29tcG9zaXRpbmdN
b2RlKHRydWUpOwogI2lmIFBMQVRGT1JNKElPUykKQEAgLTI3OCw2ICsyNzksNyBAQCB2b2lkIFJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycygpCiAgICAgbV9yZW1vdGVMYXll
clRyZWVDb250ZXh0LT5idWlsZFRyYW5zYWN0aW9uKGxheWVyVHJhbnNhY3Rpb24sICp0b0dyYXBo
aWNzTGF5ZXJDQVJlbW90ZShtX3Jvb3RMYXllci5nZXQoKSktPnBsYXRmb3JtQ0FMYXllcigpKTsK
ICAgICBiYWNraW5nU3RvcmVDb2xsZWN0aW9uLndpbGxDb21taXRMYXllclRyZWUobGF5ZXJUcmFu
c2FjdGlvbik7CiAgICAgbV93ZWJQYWdlLT53aWxsQ29tbWl0TGF5ZXJUcmVlKGxheWVyVHJhbnNh
Y3Rpb24pOworICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25JRChtX2N1cnJlbnRU
cmFuc2FjdGlvbklEKyspOwogCiAgICAgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2Fj
dGlvbiBzY3JvbGxpbmdUcmFuc2FjdGlvbjsKICNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233087</attachid>
            <date>2014-06-13 16:08:25 -0700</date>
            <delta_ts>2014-06-16 16:08:04 -0700</delta_ts>
            <desc>patch</desc>
            <filename>transactionid.diff</filename>
            <type>text/plain</type>
            <size>11599</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5MTFiMTNiLi45ODBkYzZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDgg
QEAKKzIwMTQtMDYtMTMgIFRpbW90aHkgSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29t
PgorCisgICAgICAgIFtpT1NdW3drMl0gU3dpcGluZyBiYWNrIGJyaWVmbHkgc2hvd3MgdGhlIHBy
ZXZpb3VzIHBhZ2UgYmVmb3JlIGxvYWRpbmcgdGhlIG5ldyBvbmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzg4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBhIHJhY2UgYmV0d2VlbiB0aGUg
VUkgYW5kIFdlYiBwcm9jZXNzZXMgd2hlbiByZW1vdmluZyB0aGUgc3dpcGUgc25hcHNob3QuCisg
ICAgICAgIFByZXZpb3VzbHksIGl0IHdhcyBwb3NzaWJsZSB0byBnZXQgYSBjb21taXQgZnJvbSB0
aGUgV2ViIHByb2Nlc3Mgd2l0aCBsYXllciBjb250ZW50CisgICAgICAgIChhbmQgcmVuZGVyIHRy
ZWUgc2l6ZSkgZnJvbSB0aGUgcHJldmlvdXMgcGFnZSAqYWZ0ZXIqIHNlbmRpbmcgdGhlIG5hdmln
YXRpb24gcmVxdWVzdAorICAgICAgICB0byB0aGUgcGFnZSwgYmVjYXVzZSBvZiB0aGUgYXN5bmNo
cm9uaWNpdHkgb2YgbGF5ZXIgdHJlZSBjb21taXRzLiBUaGlzIGNvdWxkIGNhdXNlCisgICAgICAg
IHRoZSBzbmFwc2hvdCB0byBiZSByZW1vdmVkIGVhcmx5IChpZiB0aGUgcHJldmlvdXMgZnVsbHkt
bG9hZGVkIHBhZ2UgaGFkIGEgc3VmZmljaWVudGx5CisgICAgICAgIGxhcmdlIHJlbmRlciB0cmVl
IHNpemUpLCByZXZlYWxpbmcgdGhlIG9sZCB0aWxlcyB1bmRlcm5lYXRoIHRoZSBzbmFwc2hvdC4K
KworICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OnRyYW5zYWN0aW9uSUQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6c2V0VHJhbnNh
Y3Rpb25JRCk6CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bi5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmVuY29k
ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpkZWNvZGUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgIChXZWJL
aXQ6OkRyYXdpbmdBcmVhUHJveHk6OmN1cnJlbnRUcmFuc2FjdGlvbklEKToKKyAgICAgICAgKFdl
YktpdDo6RHJhd2luZ0FyZWFQcm94eTo6bmV4dFRyYW5zYWN0aW9uSUQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6UmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvcmVBbmltYXRpb25EaWRDb21taXRMYXllcnMp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWEuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5n
QXJlYTo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEpOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYTo6Zmx1c2hMYXllcnMpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6ZGlkVXBkYXRlKToKKyAgICAgICAgS2VlcCB0cmFj
ayBvZiBhbiBldmVyLWluY3JlYXNpbmcgdHJhbnNhY3Rpb24gSUQgaW4gUmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWEoUHJveHkpLgorICAgICAgICBJdCBpbmNyZW1lbnRzIGluIHRoZSBVSSBwcm9j
ZXNzIGF0IGRpZFVwZGF0ZSB0aW1lLCBiZWNhdXNlIHRoZSBXZWIgcHJvY2VzcyBjYW5ub3QKKyAg
ICAgICAgaGF2ZSBzdGFydGVkIG9uIGEgbmV3IGxheWVyIHRyZWUgY29tbWl0IHVudGlsIGRpZFVw
ZGF0ZSBpcyBzZW50LgorICAgICAgICBJdCBpbmNyZW1lbnRzIGluIHRoZSBXZWIgcHJvY2VzcyBh
dCBjb21taXQgdGltZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250
cm9sbGVySU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVu
ZFN3aXBlR2VzdHVyZSk6CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxlcjo6
c2V0UmVuZGVyVHJlZVNpemUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVD
b250cm9sbGVyLmg6CisgICAgICAgIEFkb3B0IHRyYW5zYWN0aW9uIElEczsgZG9uJ3QgcmVtb3Zl
IHRoZSBzbmFwc2hvdCB1bnRpbCB0aGUgY29tbWl0CisgICAgICAgIHRoYXQgaW5jbHVkZXMgdGhl
IG5hdmlnYXRpb24gYXJyaXZlcy4KKwogMjAxNC0wNi0xMyAgRGFuIEJlcm5zdGVpbiAgPG1pdHpA
YXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIE5ldHdvcmtpbmcgcHJvY2VzcyBhbHdheXMgZGVj
b2RlcyBrZXlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uLmgKaW5kZXggZWUwZmNhOC4uMGQyZTBkMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24u
aApAQCAtMjA0LDYgKzIwNCw5IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgYWxsb3dzVXNlclNjYWxp
bmcoKSBjb25zdCB7IHJldHVybiBtX2FsbG93c1VzZXJTY2FsaW5nOyB9CiAgICAgdm9pZCBzZXRB
bGxvd3NVc2VyU2NhbGluZyhib29sIGFsbG93c1VzZXJTY2FsaW5nKSB7IG1fYWxsb3dzVXNlclNj
YWxpbmcgPSBhbGxvd3NVc2VyU2NhbGluZzsgfQorCisgICAgdWludDY0X3QgdHJhbnNhY3Rpb25J
RCgpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNhY3Rpb25JRDsgfQorICAgIHZvaWQgc2V0VHJhbnNh
Y3Rpb25JRCh1aW50NjRfdCB0cmFuc2FjdGlvbklEKSB7IG1fdHJhbnNhY3Rpb25JRCA9IHRyYW5z
YWN0aW9uSUQ7IH0KICAgICAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6
UGxhdGZvcm1MYXllcklEIG1fcm9vdExheWVySUQ7CkBAIC0yMjEsNiArMjI0LDcgQEAgcHJpdmF0
ZToKICAgICBkb3VibGUgbV9taW5pbXVtU2NhbGVGYWN0b3I7CiAgICAgZG91YmxlIG1fbWF4aW11
bVNjYWxlRmFjdG9yOwogICAgIHVpbnQ2NF90IG1fcmVuZGVyVHJlZVNpemU7CisgICAgdWludDY0
X3QgbV90cmFuc2FjdGlvbklEOwogICAgIGJvb2wgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzOwog
ICAgIGJvb2wgbV9hbGxvd3NVc2VyU2NhbGluZzsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQppbmRleCA5NWM2
OGFkLi41MTllNmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90
ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMv
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KQEAgLTQ2MSw2ICs0NjEsNyBAQCB2b2lkIFJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVu
Y29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBtX21heGltdW1TY2FsZUZhY3RvcjsKIAogICAg
IGVuY29kZXIgPDwgbV9yZW5kZXJUcmVlU2l6ZTsKKyAgICBlbmNvZGVyIDw8IG1fdHJhbnNhY3Rp
b25JRDsKIAogICAgIGVuY29kZXIgPDwgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzOwogICAgIGVu
Y29kZXIgPDwgbV9hbGxvd3NVc2VyU2NhbGluZzsKQEAgLTUyOSw2ICs1MzAsOSBAQCBib29sIFJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIFJlbW90ZUxheQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fcmVuZGVy
VHJlZVNpemUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHJlc3VsdC5tX3RyYW5zYWN0aW9uSUQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3MpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eS5oCmluZGV4IDQ4YzY3YWUuLmM3YzliM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApAQCAtODUsNiArODUsOSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHNob3dEZWJ1Z0luZGljYXRvcihib29sKSB7IH0KICAgICB2aXJ0dWFs
IGJvb2wgaXNTaG93aW5nRGVidWdJbmRpY2F0b3IoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
CisgICAgdmlydHVhbCB1aW50NjRfdCBjdXJyZW50VHJhbnNhY3Rpb25JRCgpIGNvbnN0IHsgQVNT
RVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB1aW50NjRfdCBuZXh0
VHJhbnNhY3Rpb25JRCgpIGNvbnN0IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiAwOyB9
CisKIHByb3RlY3RlZDoKICAgICBleHBsaWNpdCBEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVh
VHlwZSwgV2ViUGFnZVByb3h5Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KaW5kZXggNmRjOTY3My4uNjQz
N2UwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3
R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KQEAgLTIyOCw2ICsyMjgsNyBAQCB2b2lkIFZpZXdHZXN0
dXJlQ29udHJvbGxlcjo6ZW5kU3dpcGVHZXN0dXJlKFdlYkJhY2tGb3J3YXJkTGlzdEl0ZW0qIHRh
cmdldEl0ZW0sCiAgICAgbV90YXJnZXRSZW5kZXJUcmVlU2l6ZSA9IDA7CiAgICAgaWYgKFZpZXdT
bmFwc2hvdFN0b3JlOjpzaGFyZWQoKS5nZXRTbmFwc2hvdCh0YXJnZXRJdGVtLCBzbmFwc2hvdCkp
CiAgICAgICAgIG1fdGFyZ2V0UmVuZGVyVHJlZVNpemUgPSBzbmFwc2hvdC5yZW5kZXJUcmVlU2l6
ZSAqIHN3aXBlU25hcHNob3RSZW1vdmFsUmVuZGVyVHJlZVNpemVUYXJnZXRGcmFjdGlvbjsKKyAg
ICBtX3RhcmdldFRyYW5zYWN0aW9uSUQgPSBtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpLT5u
ZXh0VHJhbnNhY3Rpb25JRCgpOwogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byByZXBsYWNlIHRo
ZSBjdXJyZW50IGJhY2stZm9yd2FyZCBpdGVtJ3Mgc25hcHNob3QKICAgICAvLyBsaWtlIHdlIG5v
cm1hbGx5IHdvdWxkIHdoZW4gZ29pbmcgYmFjayBvciBmb3J3YXJkLCBiZWNhdXNlIHdlIGFyZQpA
QCAtMjQ5LDcgKzI1MCw3IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjpzZXRSZW5kZXJU
cmVlU2l6ZSh1aW50NjRfdCByZW5kZXJUcmVlU2l6ZSkKICAgICBpZiAobV9hY3RpdmVHZXN0dXJl
VHlwZSAhPSBWaWV3R2VzdHVyZVR5cGU6OlN3aXBlKQogICAgICAgICByZXR1cm47CiAKLSAgICBp
ZiAobV90YXJnZXRSZW5kZXJUcmVlU2l6ZSAmJiByZW5kZXJUcmVlU2l6ZSA+IG1fdGFyZ2V0UmVu
ZGVyVHJlZVNpemUpCisgICAgaWYgKG1fdGFyZ2V0UmVuZGVyVHJlZVNpemUgJiYgcmVuZGVyVHJl
ZVNpemUgPiBtX3RhcmdldFJlbmRlclRyZWVTaXplICYmIG1fd2ViUGFnZVByb3h5LmRyYXdpbmdB
cmVhKCktPmN1cnJlbnRUcmFuc2FjdGlvbklEKCkgPj0gbV90YXJnZXRUcmFuc2FjdGlvbklEKQog
ICAgICAgICByZW1vdmVTd2lwZVNuYXBzaG90KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5LmgKaW5kZXggYTgxYmYzMC4uNzc3MTJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5
LmgKQEAgLTc2LDYgKzc2LDkgQEAgcHJpdmF0ZToKICAgICAKICAgICB2b2lkIHNlbmRVcGRhdGVH
ZW9tZXRyeSgpOwogCisgICAgdmlydHVhbCB1aW50NjRfdCBjdXJyZW50VHJhbnNhY3Rpb25JRCgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fY3VycmVudFRyYW5zYWN0aW9uSUQ7IH0KKyAgICB2
aXJ0dWFsIHVpbnQ2NF90IG5leHRUcmFuc2FjdGlvbklEKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gbV9jdXJyZW50VHJhbnNhY3Rpb25JRCArIDE7IH0KKwogICAgIFJlbW90ZUxheWVyVHJlZUhv
c3QgbV9yZW1vdGVMYXllclRyZWVIb3N0OwogICAgIGJvb2wgbV9pc1dhaXRpbmdGb3JEaWRVcGRh
dGVHZW9tZXRyeTsKIApAQCAtODcsNiArOTAsOCBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxD
QUxheWVyPiBtX2V4cG9zZWRSZWN0SW5kaWNhdG9yTGF5ZXI7CiAKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8V2ViQ29yZTo6UnVuTG9vcE9ic2VydmVyPiBtX2xheWVyQ29tbWl0T2JzZXJ2ZXI7CisKKyAg
ICB1aW50NjRfdCBtX2N1cnJlbnRUcmFuc2FjdGlvbklEOwogfTsKIAogRFJBV0lOR19BUkVBX1BS
T1hZX1RZUEVfQ0FTVFMoUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSwgdHlwZSgpID09
IERyYXdpbmdBcmVhVHlwZVJlbW90ZUxheWVyVHJlZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHkubW0KaW5kZXggMmNjN2ZlOS4uNDNjNTQ1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eS5tbQpAQCAtNDcsNiArNDcsNyBAQCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KFdlYlBhZ2VQcm94eSogdwogICAgIDogRHJh
d2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYVR5cGVSZW1vdGVMYXllclRyZWUsIHdlYlBhZ2VQcm94
eSkKICAgICAsIG1fcmVtb3RlTGF5ZXJUcmVlSG9zdCgqdGhpcykKICAgICAsIG1faXNXYWl0aW5n
Rm9yRGlkVXBkYXRlR2VvbWV0cnkoZmFsc2UpCisgICAgLCBtX2N1cnJlbnRUcmFuc2FjdGlvbklE
KDApCiB7CiAjaWYgVVNFKElPU1VSRkFDRSkKICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBvb2wg
c3VyZmFjZXMgaW4gdGhlIFVJIHByb2Nlc3MuCkBAIC0xMTksNiArMTIwLDggQEAgdm9pZCBSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3Rl
TGF5ZXJUcmVlVHJhbnMKICAgICBMT0coUmVtb3RlTGF5ZXJUcmVlLCAiJXMiLCBsYXllclRyZWVU
cmFuc2FjdGlvbi5kZXNjcmlwdGlvbigpLmRhdGEoKSk7CiAgICAgTE9HKFJlbW90ZUxheWVyVHJl
ZSwgIiVzIiwgc2Nyb2xsaW5nVHJlZVRyYW5zYWN0aW9uLmRlc2NyaXB0aW9uKCkuZGF0YSgpKTsK
IAorICAgIEFTU0VSVChsYXllclRyZWVUcmFuc2FjdGlvbi50cmFuc2FjdGlvbklEKCkgPT0gbV9j
dXJyZW50VHJhbnNhY3Rpb25JRCk7CisKICAgICBpZiAobV9yZW1vdGVMYXllclRyZWVIb3N0LnVw
ZGF0ZUxheWVyVHJlZShsYXllclRyZWVUcmFuc2FjdGlvbikpCiAgICAgICAgIG1fd2ViUGFnZVBy
b3h5LT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nUm9vdExheWVyKG1fcmVtb3RlTGF5ZXJUcmVl
SG9zdC5yb290TGF5ZXIoKSk7CiAKQEAgLTMwNSw2ICszMDgsOCBAQCB2b2lkIFJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHk6OmNvcmVBbmltYXRpb25EaWRDb21taXRMYXllcnMoKQogICAg
IC8vIHVzaW5nIG91ciBiYWNraW5nIHN0b3JlLiBXZSBjYW4gaW1wcm92ZSB0aGlzIGJ5IHdhaXRp
bmcgZm9yIHRoZSByZW5kZXIgc2VydmVyIHRvIGNvbW1pdAogICAgIC8vIGlmIHdlIGZpbmQgQVBJ
IHRvIGRvIHNvLCBidXQgZm9yIG5vdyB3ZSB3aWxsIG1ha2UgZXh0cmEgYnVmZmVycyBpZiBuZWVk
IGJlLgogICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2lu
Z0FyZWE6OkRpZFVwZGF0ZSgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOworCisgICAgbV9j
dXJyZW50VHJhbnNhY3Rpb25JRCsrOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5o
CmluZGV4IGRjYjA1NWIuLjA5MjgyYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaApAQCAtMTg0LDYgKzE4NCw3IEBAIHBy
aXZhdGU6CiAgICAgUmV0YWluUHRyPFVJVmlldz4gbV90cmFuc2l0aW9uQ29udGFpbmVyVmlldzsK
ICAgICBSZXRhaW5QdHI8V0tTd2lwZVRyYW5zaXRpb25Db250cm9sbGVyPiBtX3N3aXBlSW50ZXJh
Y3RpdmVUcmFuc2l0aW9uRGVsZWdhdGU7CiAgICAgdWludDY0X3QgbV90YXJnZXRSZW5kZXJUcmVl
U2l6ZTsKKyAgICB1aW50NjRfdCBtX3RhcmdldFRyYW5zYWN0aW9uSUQ7CiAjZW5kaWYKIH07CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWEuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaAppbmRleCAxZjY4NzE1Li45NjlmMWEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90
ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oCkBAIC0xNDQsNiArMTQ0LDgg
QEAgcHJpdmF0ZToKIAogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJUcmVlRGlzcGxheVJlZnJlc2hN
b25pdG9yKj4gbV9kaXNwbGF5UmVmcmVzaE1vbml0b3JzOwogICAgIEhhc2hTZXQ8UmVtb3RlTGF5
ZXJUcmVlRGlzcGxheVJlZnJlc2hNb25pdG9yKj4qIG1fZGlzcGxheVJlZnJlc2hNb25pdG9yc1Rv
Tm90aWZ5OworCisgICAgdWludDY0X3QgbV9jdXJyZW50VHJhbnNhY3Rpb25JRDsKIH07CiAKIERS
QVdJTkdfQVJFQV9UWVBFX0NBU1RTKFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLCB0eXBlKCkg
PT0gRHJhd2luZ0FyZWFUeXBlUmVtb3RlTGF5ZXJUcmVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhLm1tCmluZGV4IDcwNmJmMWMuLmQ5YzliMWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtNjIsNiArNjIsNyBAQCBSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYTo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEoV2ViUGFnZSogd2ViUGFnZSwg
Y29uc3QgVwogICAgICwgbV93YWl0aW5nRm9yQmFja2luZ1N0b3JlU3dhcChmYWxzZSkKICAgICAs
IG1faGFkRmx1c2hEZWZlcnJlZFdoaWxlV2FpdGluZ0ZvckJhY2tpbmdTdG9yZVN3YXAoZmFsc2Up
CiAgICAgLCBtX2Rpc3BsYXlSZWZyZXNoTW9uaXRvcnNUb05vdGlmeShudWxscHRyKQorICAgICwg
bV9jdXJyZW50VHJhbnNhY3Rpb25JRCgwKQogewogICAgIHdlYlBhZ2UtPmNvcmVQYWdlKCktPnNl
dHRpbmdzKCkuc2V0Rm9yY2VDb21wb3NpdGluZ01vZGUodHJ1ZSk7CiAjaWYgUExBVEZPUk0oSU9T
KQpAQCAtMjc4LDYgKzI3OSw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6OmZs
dXNoTGF5ZXJzKCkKICAgICBtX3JlbW90ZUxheWVyVHJlZUNvbnRleHQtPmJ1aWxkVHJhbnNhY3Rp
b24obGF5ZXJUcmFuc2FjdGlvbiwgKnRvR3JhcGhpY3NMYXllckNBUmVtb3RlKG1fcm9vdExheWVy
LmdldCgpKS0+cGxhdGZvcm1DQUxheWVyKCkpOwogICAgIGJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
d2lsbENvbW1pdExheWVyVHJlZShsYXllclRyYW5zYWN0aW9uKTsKICAgICBtX3dlYlBhZ2UtPndp
bGxDb21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbik7CisgICAgbGF5ZXJUcmFuc2FjdGlv
bi5zZXRUcmFuc2FjdGlvbklEKG1fY3VycmVudFRyYW5zYWN0aW9uSUQrKyk7CiAKICAgICBSZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uIHNjcm9sbGluZ1RyYW5zYWN0aW9uOwog
I2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCg==
</data>
<flag name="review"
          id="257584"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233199</attachid>
            <date>2014-06-16 16:08:04 -0700</date>
            <delta_ts>2014-06-16 16:40:10 -0700</delta_ts>
            <desc>patch</desc>
            <filename>transactionid.diff</filename>
            <type>text/plain</type>
            <size>13715</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAxYTliNThjLi4zOGZiNzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDcg
QEAKKzIwMTQtMDYtMTYgIFRpbW90aHkgSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29t
PgorCisgICAgICAgIFtpT1NdW3drMl0gU3dpcGluZyBiYWNrIGJyaWVmbHkgc2hvd3MgdGhlIHBy
ZXZpb3VzIHBhZ2UgYmVmb3JlIGxvYWRpbmcgdGhlIG5ldyBvbmUKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzg4NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBhIHJhY2UgYmV0d2VlbiB0aGUg
VUkgYW5kIFdlYiBwcm9jZXNzZXMgd2hlbiByZW1vdmluZyB0aGUgc3dpcGUgc25hcHNob3QuCisg
ICAgICAgIFByZXZpb3VzbHksIGl0IHdhcyBwb3NzaWJsZSB0byBnZXQgYSBjb21taXQgZnJvbSB0
aGUgV2ViIHByb2Nlc3Mgd2l0aCBsYXllciBjb250ZW50CisgICAgICAgIChhbmQgcmVuZGVyIHRy
ZWUgc2l6ZSkgZnJvbSB0aGUgcHJldmlvdXMgcGFnZSAqYWZ0ZXIqIHNlbmRpbmcgdGhlIG5hdmln
YXRpb24gcmVxdWVzdAorICAgICAgICB0byB0aGUgcGFnZSwgYmVjYXVzZSBvZiB0aGUgYXN5bmNo
cm9uaWNpdHkgb2YgbGF5ZXIgdHJlZSBjb21taXRzLiBUaGlzIGNvdWxkIGNhdXNlCisgICAgICAg
IHRoZSBzbmFwc2hvdCB0byBiZSByZW1vdmVkIGVhcmx5IChpZiB0aGUgcHJldmlvdXMgZnVsbHkt
bG9hZGVkIHBhZ2UgaGFkIGEgc3VmZmljaWVudGx5CisgICAgICAgIGxhcmdlIHJlbmRlciB0cmVl
IHNpemUpLCByZXZlYWxpbmcgdGhlIG9sZCB0aWxlcyB1bmRlcm5lYXRoIHRoZSBzbmFwc2hvdC4K
KworICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaDoKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OnRyYW5zYWN0aW9uSUQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6c2V0VHJhbnNh
Y3Rpb25JRCk6CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bi5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OmVuY29k
ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpkZWNvZGUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgIChXZWJL
aXQ6OkRyYXdpbmdBcmVhUHJveHk6Omxhc3RWaXNpYmxlVHJhbnNhY3Rpb25JRCk6CisgICAgICAg
ICogVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lmg6CisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpSZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eTo6Y29tbWl0TGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYktpdDo6
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6Y29yZUFuaW1hdGlvbkRpZENvbW1pdExh
eWVycyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWEubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhOjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYSk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycyk6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpkaWRVcGRhdGUpOgorICAgICAgICBLZWVw
IHRyYWNrIG9mIGFuIGV2ZXItaW5jcmVhc2luZyB0cmFuc2FjdGlvbiBJRCBpbiBSZW1vdGVMYXll
clRyZWVEcmF3aW5nQXJlYShQcm94eSkuCisgICAgICAgIEl0IGluY3JlbWVudHMgaW4gdGhlIFVJ
IHByb2Nlc3MgYXQgZGlkVXBkYXRlIHRpbWUsIGJlY2F1c2UgdGhlIFdlYiBwcm9jZXNzIGNhbm5v
dAorICAgICAgICBoYXZlIHN0YXJ0ZWQgb24gYSBuZXcgbGF5ZXIgdHJlZSBjb21taXQgdW50aWwg
ZGlkVXBkYXRlIGlzIHNlbnQuCisgICAgICAgIEl0IGluY3JlbWVudHMgaW4gdGhlIFdlYiBwcm9j
ZXNzIGF0IGNvbW1pdCB0aW1lLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6OlZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6ZW5kU3dpcGVHZXN0dXJlKToKKyAgICAgICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9s
bGVyOjpzZXRSZW5kZXJUcmVlU2l6ZSk6CisgICAgICAgICogVUlQcm9jZXNzL21hYy9WaWV3R2Vz
dHVyZUNvbnRyb2xsZXIuaDoKKyAgICAgICAgQWRvcHQgdHJhbnNhY3Rpb24gSURzOyBkb24ndCBy
ZW1vdmUgdGhlIHNuYXBzaG90IHVudGlsIHRoZSBjb21taXQKKyAgICAgICAgdGhhdCBpbmNsdWRl
cyB0aGUgbmF2aWdhdGlvbiBhcnJpdmVzLgorCiAyMDE0LTA2LTE1ICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIFJlc291cmNlUmVxdWVzdEJh
c2U6OmFkZEhUVFBIZWFkZXJGaWVsZHMgdG8gc2V0SFRUUEhlYWRlckZpZWxkcyBpbnN0ZWFkCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLmgKaW5kZXggZWUwZmNhOC4uMGQyZTBkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaApAQCAtMjA0LDYg
KzIwNCw5IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgYWxsb3dzVXNlclNjYWxpbmcoKSBjb25zdCB7
IHJldHVybiBtX2FsbG93c1VzZXJTY2FsaW5nOyB9CiAgICAgdm9pZCBzZXRBbGxvd3NVc2VyU2Nh
bGluZyhib29sIGFsbG93c1VzZXJTY2FsaW5nKSB7IG1fYWxsb3dzVXNlclNjYWxpbmcgPSBhbGxv
d3NVc2VyU2NhbGluZzsgfQorCisgICAgdWludDY0X3QgdHJhbnNhY3Rpb25JRCgpIGNvbnN0IHsg
cmV0dXJuIG1fdHJhbnNhY3Rpb25JRDsgfQorICAgIHZvaWQgc2V0VHJhbnNhY3Rpb25JRCh1aW50
NjRfdCB0cmFuc2FjdGlvbklEKSB7IG1fdHJhbnNhY3Rpb25JRCA9IHRyYW5zYWN0aW9uSUQ7IH0K
ICAgICAKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXll
cklEIG1fcm9vdExheWVySUQ7CkBAIC0yMjEsNiArMjI0LDcgQEAgcHJpdmF0ZToKICAgICBkb3Vi
bGUgbV9taW5pbXVtU2NhbGVGYWN0b3I7CiAgICAgZG91YmxlIG1fbWF4aW11bVNjYWxlRmFjdG9y
OwogICAgIHVpbnQ2NF90IG1fcmVuZGVyVHJlZVNpemU7CisgICAgdWludDY0X3QgbV90cmFuc2Fj
dGlvbklEOwogICAgIGJvb2wgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzOwogICAgIGJvb2wgbV9h
bGxvd3NVc2VyU2NhbGluZzsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQppbmRleCA5NWM2OGFkLi41MTllNmIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb24ubW0KQEAgLTQ2MSw2ICs0NjEsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uOjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0
CiAgICAgZW5jb2RlciA8PCBtX21heGltdW1TY2FsZUZhY3RvcjsKIAogICAgIGVuY29kZXIgPDwg
bV9yZW5kZXJUcmVlU2l6ZTsKKyAgICBlbmNvZGVyIDw8IG1fdHJhbnNhY3Rpb25JRDsKIAogICAg
IGVuY29kZXIgPDwgbV9zY2FsZVdhc1NldEJ5VUlQcm9jZXNzOwogICAgIGVuY29kZXIgPDwgbV9h
bGxvd3NVc2VyU2NhbGluZzsKQEAgLTUyOSw2ICs1MzAsOSBAQCBib29sIFJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlbW90
ZUxheQogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fcmVuZGVyVHJlZVNpemUpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5t
X3RyYW5zYWN0aW9uSUQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5tX3NjYWxlV2FzU2V0QnlVSVByb2Nlc3MpKQogICAgICAgICByZXR1
cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5o
CmluZGV4IDQ4YzY3YWUuLjdhNWI3YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0Ry
YXdpbmdBcmVhUHJveHkuaApAQCAtODUsNiArODUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHNob3dEZWJ1Z0luZGljYXRvcihib29sKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNTaG93
aW5nRGVidWdJbmRpY2F0b3IoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCisgICAgdmlydHVh
bCB1aW50NjRfdCBsYXN0VmlzaWJsZVRyYW5zYWN0aW9uSUQoKSBjb25zdCB7IEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOyByZXR1cm4gMDsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgRHJhd2lu
Z0FyZWFQcm94eShEcmF3aW5nQXJlYVR5cGUsIFdlYlBhZ2VQcm94eSopOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5t
bSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9T
Lm1tCmluZGV4IDZkYzk2NzMuLmJlZGI1YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tCkBAIC0xMjcsNyAr
MTI3LDcgQEAgVmlld0dlc3R1cmVDb250cm9sbGVyOjpWaWV3R2VzdHVyZUNvbnRyb2xsZXIoV2Vi
UGFnZVByb3h5JiB3ZWJQYWdlUHJveHkpCiAgICAgOiBtX3dlYlBhZ2VQcm94eSh3ZWJQYWdlUHJv
eHkpCiAgICAgLCBtX2FjdGl2ZUdlc3R1cmVUeXBlKFZpZXdHZXN0dXJlVHlwZTo6Tm9uZSkKICAg
ICAsIG1fc3dpcGVXYXRjaGRvZ1RpbWVyKHRoaXMsICZWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OnN3
aXBlU25hcHNob3RXYXRjaGRvZ1RpbWVyRmlyZWQpCi0gICAgLCBtX3RhcmdldFJlbmRlclRyZWVT
aXplKDApCisgICAgLCBtX3NuYXBzaG90UmVtb3ZhbFRhcmdldFJlbmRlclRyZWVTaXplKDApCiB7
CiB9CiAKQEAgLTIyNSw5ICsyMjUsMTAgQEAgdm9pZCBWaWV3R2VzdHVyZUNvbnRyb2xsZXI6OmVu
ZFN3aXBlR2VzdHVyZShXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiB0YXJnZXRJdGVtLAogICAgIH0K
IAogICAgIFZpZXdTbmFwc2hvdCBzbmFwc2hvdDsKLSAgICBtX3RhcmdldFJlbmRlclRyZWVTaXpl
ID0gMDsKKyAgICBtX3NuYXBzaG90UmVtb3ZhbFRhcmdldFJlbmRlclRyZWVTaXplID0gMDsKICAg
ICBpZiAoVmlld1NuYXBzaG90U3RvcmU6OnNoYXJlZCgpLmdldFNuYXBzaG90KHRhcmdldEl0ZW0s
IHNuYXBzaG90KSkKLSAgICAgICAgbV90YXJnZXRSZW5kZXJUcmVlU2l6ZSA9IHNuYXBzaG90LnJl
bmRlclRyZWVTaXplICogc3dpcGVTbmFwc2hvdFJlbW92YWxSZW5kZXJUcmVlU2l6ZVRhcmdldEZy
YWN0aW9uOworICAgICAgICBtX3NuYXBzaG90UmVtb3ZhbFRhcmdldFJlbmRlclRyZWVTaXplID0g
c25hcHNob3QucmVuZGVyVHJlZVNpemUgKiBzd2lwZVNuYXBzaG90UmVtb3ZhbFJlbmRlclRyZWVT
aXplVGFyZ2V0RnJhY3Rpb247CisgICAgbV9zbmFwc2hvdFJlbW92YWxUYXJnZXRUcmFuc2FjdGlv
bklEID0gbV93ZWJQYWdlUHJveHkuZHJhd2luZ0FyZWEoKS0+bGFzdFZpc2libGVUcmFuc2FjdGlv
bklEKCkgKyAxOwogCiAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byByZXBsYWNlIHRoZSBjdXJyZW50
IGJhY2stZm9yd2FyZCBpdGVtJ3Mgc25hcHNob3QKICAgICAvLyBsaWtlIHdlIG5vcm1hbGx5IHdv
dWxkIHdoZW4gZ29pbmcgYmFjayBvciBmb3J3YXJkLCBiZWNhdXNlIHdlIGFyZQpAQCAtMjM2LDcg
KzIzNyw3IEBAIHZvaWQgVmlld0dlc3R1cmVDb250cm9sbGVyOjplbmRTd2lwZUdlc3R1cmUoV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbSogdGFyZ2V0SXRlbSwKICAgICBtX3dlYlBhZ2VQcm94eS5nb1Rv
QmFja0ZvcndhcmRJdGVtKHRhcmdldEl0ZW0pOwogICAgIFZpZXdTbmFwc2hvdFN0b3JlOjpzaGFy
ZWQoKS5lbmFibGVTbmFwc2hvdHRpbmcoKTsKICAgICAKLSAgICBpZiAoIW1fdGFyZ2V0UmVuZGVy
VHJlZVNpemUpIHsKKyAgICBpZiAoIW1fc25hcHNob3RSZW1vdmFsVGFyZ2V0UmVuZGVyVHJlZVNp
emUpIHsKICAgICAgICAgcmVtb3ZlU3dpcGVTbmFwc2hvdCgpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpAQCAtMjQ5LDcgKzI1MCwxMCBAQCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6c2V0
UmVuZGVyVHJlZVNpemUodWludDY0X3QgcmVuZGVyVHJlZVNpemUpCiAgICAgaWYgKG1fYWN0aXZl
R2VzdHVyZVR5cGUgIT0gVmlld0dlc3R1cmVUeXBlOjpTd2lwZSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaWYgKG1fdGFyZ2V0UmVuZGVyVHJlZVNpemUgJiYgcmVuZGVyVHJlZVNpemUgPiBtX3Rh
cmdldFJlbmRlclRyZWVTaXplKQorICAgIC8vIERvbid0IHJlbW92ZSB0aGUgc3dpcGUgc25hcHNo
b3QgdW50aWwgd2UgZ2V0IGEgZHJhd2luZyBhcmVhIHRyYW5zYWN0aW9uIG1vcmUgcmVjZW50IHRo
YW4gdGhlIG5hdmlnYXRpb24sCisgICAgLy8gYW5kIHdlIGhpdCB0aGUgcmVuZGVyIHRyZWUgc2l6
ZSB0aHJlc2hvbGQuIFRoaXMgYXZvaWRzIHBvdGVudGlhbGx5IHJlbW92aW5nIHRoZSBzbmFwc2hv
dCBlYXJseSwKKyAgICAvLyB3aGVuIHJlY2VpdmluZyBjb21taXRzIGZyb20gdGhlIHByZXZpb3Vz
IChwcmUtbmF2aWdhdGlvbikgcGFnZS4KKyAgICBpZiAobV9zbmFwc2hvdFJlbW92YWxUYXJnZXRS
ZW5kZXJUcmVlU2l6ZSAmJiByZW5kZXJUcmVlU2l6ZSA+IG1fc25hcHNob3RSZW1vdmFsVGFyZ2V0
UmVuZGVyVHJlZVNpemUgJiYgbV93ZWJQYWdlUHJveHkuZHJhd2luZ0FyZWEoKS0+bGFzdFZpc2li
bGVUcmFuc2FjdGlvbklEKCkgPj0gbV9zbmFwc2hvdFJlbW92YWxUYXJnZXRUcmFuc2FjdGlvbklE
KQogICAgICAgICByZW1vdmVTd2lwZVNuYXBzaG90KCk7CiB9CiAKQEAgLTI3NCw3ICsyNzgsNyBA
QCB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxlcjo6cmVtb3ZlU3dpcGVTbmFwc2hvdCgpCiAgICAg
W21fc25hcHNob3RWaWV3IHJlbW92ZUZyb21TdXBlcnZpZXddOwogICAgIG1fc25hcHNob3RWaWV3
ID0gbnVsbHB0cjsKICAgICAKLSAgICBtX3RhcmdldFJlbmRlclRyZWVTaXplID0gMDsKKyAgICBt
X3NuYXBzaG90UmVtb3ZhbFRhcmdldFJlbmRlclRyZWVTaXplID0gMDsKICAgICBtX2FjdGl2ZUdl
c3R1cmVUeXBlID0gVmlld0dlc3R1cmVUeXBlOjpOb25lOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eS5oCmluZGV4IGE4MWJmMzAuLjJmMmY4N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eS5oCkBAIC03Niw2ICs3Niw4IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdm9pZCBzZW5kVXBk
YXRlR2VvbWV0cnkoKTsKIAorICAgIHZpcnR1YWwgdWludDY0X3QgbGFzdFZpc2libGVUcmFuc2Fj
dGlvbklEKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9sYXN0VmlzaWJsZVRyYW5zYWN0aW9u
SUQ7IH0KKwogICAgIFJlbW90ZUxheWVyVHJlZUhvc3QgbV9yZW1vdGVMYXllclRyZWVIb3N0Owog
ICAgIGJvb2wgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVHZW9tZXRyeTsKIApAQCAtODcsNiArODks
OSBAQCBwcml2YXRlOgogICAgIFJldGFpblB0cjxDQUxheWVyPiBtX2V4cG9zZWRSZWN0SW5kaWNh
dG9yTGF5ZXI7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UnVuTG9vcE9ic2VydmVy
PiBtX2xheWVyQ29tbWl0T2JzZXJ2ZXI7CisKKyAgICB1aW50NjRfdCBtX2xhc3RWaXNpYmxlVHJh
bnNhY3Rpb25JRDsKKyAgICB1aW50NjRfdCBtX3RyYW5zYWN0aW9uSURGb3JQZW5kaW5nQ0FDb21t
aXQ7CiB9OwogCiBEUkFXSU5HX0FSRUFfUFJPWFlfVFlQRV9DQVNUUyhSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5LCB0eXBlKCkgPT0gRHJhd2luZ0FyZWFUeXBlUmVtb3RlTGF5ZXJUcmVl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQppbmRleCAyY2M3ZmU5Li5iMzk0YzI4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC00Nyw2ICs0Nyw3IEBAIFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHko
V2ViUGFnZVByb3h5KiB3CiAgICAgOiBEcmF3aW5nQXJlYVByb3h5KERyYXdpbmdBcmVhVHlwZVJl
bW90ZUxheWVyVHJlZSwgd2ViUGFnZVByb3h5KQogICAgICwgbV9yZW1vdGVMYXllclRyZWVIb3N0
KCp0aGlzKQogICAgICwgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVHZW9tZXRyeShmYWxzZSkKKyAg
ICAsIG1fbGFzdFZpc2libGVUcmFuc2FjdGlvbklEKDApCiB7CiAjaWYgVVNFKElPU1VSRkFDRSkK
ICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHBvb2wgc3VyZmFjZXMgaW4gdGhlIFVJIHByb2Nlc3Mu
CkBAIC0xMTksNiArMTIwLDkgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5
Ojpjb21taXRMYXllclRyZWUoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnMKICAgICBMT0coUmVt
b3RlTGF5ZXJUcmVlLCAiJXMiLCBsYXllclRyZWVUcmFuc2FjdGlvbi5kZXNjcmlwdGlvbigpLmRh
dGEoKSk7CiAgICAgTE9HKFJlbW90ZUxheWVyVHJlZSwgIiVzIiwgc2Nyb2xsaW5nVHJlZVRyYW5z
YWN0aW9uLmRlc2NyaXB0aW9uKCkuZGF0YSgpKTsKIAorICAgIEFTU0VSVChsYXllclRyZWVUcmFu
c2FjdGlvbi50cmFuc2FjdGlvbklEKCkgPT0gbV9sYXN0VmlzaWJsZVRyYW5zYWN0aW9uSUQgKyAx
KTsKKyAgICBtX3RyYW5zYWN0aW9uSURGb3JQZW5kaW5nQ0FDb21taXQgPSBsYXllclRyZWVUcmFu
c2FjdGlvbi50cmFuc2FjdGlvbklEKCk7CisKICAgICBpZiAobV9yZW1vdGVMYXllclRyZWVIb3N0
LnVwZGF0ZUxheWVyVHJlZShsYXllclRyZWVUcmFuc2FjdGlvbikpCiAgICAgICAgIG1fd2ViUGFn
ZVByb3h5LT5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nUm9vdExheWVyKG1fcmVtb3RlTGF5ZXJU
cmVlSG9zdC5yb290TGF5ZXIoKSk7CiAKQEAgLTMwNSw2ICszMDksOCBAQCB2b2lkIFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvcmVBbmltYXRpb25EaWRDb21taXRMYXllcnMoKQog
ICAgIC8vIHVzaW5nIG91ciBiYWNraW5nIHN0b3JlLiBXZSBjYW4gaW1wcm92ZSB0aGlzIGJ5IHdh
aXRpbmcgZm9yIHRoZSByZW5kZXIgc2VydmVyIHRvIGNvbW1pdAogICAgIC8vIGlmIHdlIGZpbmQg
QVBJIHRvIGRvIHNvLCBidXQgZm9yIG5vdyB3ZSB3aWxsIG1ha2UgZXh0cmEgYnVmZmVycyBpZiBu
ZWVkIGJlLgogICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJh
d2luZ0FyZWE6OkRpZFVwZGF0ZSgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOworCisgICAg
bV9sYXN0VmlzaWJsZVRyYW5zYWN0aW9uSUQgPSBtX3RyYW5zYWN0aW9uSURGb3JQZW5kaW5nQ0FD
b21taXQ7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvVmlld0dlc3R1cmVDb250cm9sbGVyLmgKaW5kZXggZGNiMDU1Yi4u
OGZiM2U3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2Vz
dHVyZUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlci5oCkBAIC0xODMsNyArMTgzLDggQEAgcHJpdmF0ZToKICAgICBSZXRh
aW5QdHI8VUlWaWV3PiBtX3NuYXBzaG90VmlldzsKICAgICBSZXRhaW5QdHI8VUlWaWV3PiBtX3Ry
YW5zaXRpb25Db250YWluZXJWaWV3OwogICAgIFJldGFpblB0cjxXS1N3aXBlVHJhbnNpdGlvbkNv
bnRyb2xsZXI+IG1fc3dpcGVJbnRlcmFjdGl2ZVRyYW5zaXRpb25EZWxlZ2F0ZTsKLSAgICB1aW50
NjRfdCBtX3RhcmdldFJlbmRlclRyZWVTaXplOworICAgIHVpbnQ2NF90IG1fc25hcHNob3RSZW1v
dmFsVGFyZ2V0UmVuZGVyVHJlZVNpemU7CisgICAgdWludDY0X3QgbV9zbmFwc2hvdFJlbW92YWxU
YXJnZXRUcmFuc2FjdGlvbklEOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhLmgKaW5kZXggMWY2ODcxNS4uMjA2OTc5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5o
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWEuaApAQCAtMTA3LDYgKzEwNyw4IEBAIHByaXZhdGU6CiAKICAgICBXZWJD
b3JlOjpUaWxlZEJhY2tpbmcqIG1haW5GcmFtZVRpbGVkQmFja2luZygpIGNvbnN0OwogCisgICAg
dWludDY0X3QgdGFrZU5leHRUcmFuc2FjdGlvbklEKCkgeyByZXR1cm4gKyttX2N1cnJlbnRUcmFu
c2FjdGlvbklEOyB9CisKICAgICBjbGFzcyBCYWNraW5nU3RvcmVGbHVzaGVyIDogcHVibGljIFRo
cmVhZFNhZmVSZWZDb3VudGVkPEJhY2tpbmdTdG9yZUZsdXNoZXI+IHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEJhY2tpbmdTdG9yZUZsdXNoZXI+IGNyZWF0ZShJUEM6
OkNvbm5lY3Rpb24qLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpNZXNzYWdlRW5jb2Rlcj4sIFZlY3Rv
cjxSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPj4pOwpAQCAtMTQ0LDYgKzE0Niw4IEBAIHByaXZhdGU6
CiAKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyVHJlZURpc3BsYXlSZWZyZXNoTW9uaXRvcio+IG1f
ZGlzcGxheVJlZnJlc2hNb25pdG9yczsKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyVHJlZURpc3Bs
YXlSZWZyZXNoTW9uaXRvcio+KiBtX2Rpc3BsYXlSZWZyZXNoTW9uaXRvcnNUb05vdGlmeTsKKwor
ICAgIHVpbnQ2NF90IG1fY3VycmVudFRyYW5zYWN0aW9uSUQ7CiB9OwogCiBEUkFXSU5HX0FSRUFf
VFlQRV9DQVNUUyhSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYSwgdHlwZSgpID09IERyYXdpbmdB
cmVhVHlwZVJlbW90ZUxheWVyVHJlZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YS5tbQppbmRleCA3MDZiZjFjLi5kZTQ1M2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEubW0KQEAgLTYyLDYgKzYyLDcgQEAgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6
OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhKFdlYlBhZ2UqIHdlYlBhZ2UsIGNvbnN0IFcKICAg
ICAsIG1fd2FpdGluZ0ZvckJhY2tpbmdTdG9yZVN3YXAoZmFsc2UpCiAgICAgLCBtX2hhZEZsdXNo
RGVmZXJyZWRXaGlsZVdhaXRpbmdGb3JCYWNraW5nU3RvcmVTd2FwKGZhbHNlKQogICAgICwgbV9k
aXNwbGF5UmVmcmVzaE1vbml0b3JzVG9Ob3RpZnkobnVsbHB0cikKKyAgICAsIG1fY3VycmVudFRy
YW5zYWN0aW9uSUQoMCkKIHsKICAgICB3ZWJQYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLnNl
dEZvcmNlQ29tcG9zaXRpbmdNb2RlKHRydWUpOwogI2lmIFBMQVRGT1JNKElPUykKQEAgLTI3NSw2
ICsyNzYsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhOjpmbHVzaExheWVycygp
CiAKICAgICAvLyBGSVhNRTogTWluaW1pemUgdGhlc2UgdHJhbnNhY3Rpb25zIGlmIG5vdGhpbmcg
Y2hhbmdlZC4KICAgICBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiBsYXllclRyYW5zYWN0aW9u
OworICAgIGxheWVyVHJhbnNhY3Rpb24uc2V0VHJhbnNhY3Rpb25JRCh0YWtlTmV4dFRyYW5zYWN0
aW9uSUQoKSk7CiAgICAgbV9yZW1vdGVMYXllclRyZWVDb250ZXh0LT5idWlsZFRyYW5zYWN0aW9u
KGxheWVyVHJhbnNhY3Rpb24sICp0b0dyYXBoaWNzTGF5ZXJDQVJlbW90ZShtX3Jvb3RMYXllci5n
ZXQoKSktPnBsYXRmb3JtQ0FMYXllcigpKTsKICAgICBiYWNraW5nU3RvcmVDb2xsZWN0aW9uLndp
bGxDb21taXRMYXllclRyZWUobGF5ZXJUcmFuc2FjdGlvbik7CiAgICAgbV93ZWJQYWdlLT53aWxs
Q29tbWl0TGF5ZXJUcmVlKGxheWVyVHJhbnNhY3Rpb24pOwo=
</data>
<flag name="review"
          id="257684"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>