<?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>173357</bug_id>
          
          <creation_ts>2017-06-14 02:11:26 -0700</creation_ts>
          <short_desc>Add API::InjectedBundle::Client</short_desc>
          <delta_ts>2017-06-15 00:02:58 -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>WebKit 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>173383</dependson>
          <blocked>173358</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>achristensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>jlewis3</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1319064</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-14 02:11:26 -0700</bug_when>
    <thetext>It will be used by the GTK+ port instead of the C API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319065</commentid>
    <comment_count>1</comment_count>
      <attachid>312872</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-14 02:13:22 -0700</bug_when>
    <thetext>Created attachment 312872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319073</commentid>
    <comment_count>2</comment_count>
      <attachid>312877</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-14 02:20:13 -0700</bug_when>
    <thetext>Created attachment 312877
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319159</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-14 09:37:30 -0700</bug_when>
    <thetext>Committed r218263: &lt;http://trac.webkit.org/changeset/218263&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319315</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Lewis">jlewis3</who>
    <bug_when>2017-06-14 13:41:21 -0700</bug_when>
    <thetext>These API tests are timing out after this revision on macOS:

WebKit2.AttributedSubstringForProposedRangeWithImage
WebKit2.ContextMenuDownloadHTMLDownloadAttribute
WebKit2.ContextMenuDownloadHTMLDownloadAttributeWithSlashes
WebKit2.DidNotHandleKeyDown
WebKit2.FirstResponderScrollingPosition
WebKit2.ScrollByLineCommands
WebKit2.SpacebarScrolling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319320</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-14 13:49:29 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 173383</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319456</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-14 22:33:17 -0700</bug_when>
    <thetext>(In reply to Matt Lewis from comment #4)
&gt; These API tests are timing out after this revision on macOS:
&gt; 
&gt; WebKit2.AttributedSubstringForProposedRangeWithImage
&gt; WebKit2.ContextMenuDownloadHTMLDownloadAttribute
&gt; WebKit2.ContextMenuDownloadHTMLDownloadAttributeWithSlashes
&gt; WebKit2.DidNotHandleKeyDown
&gt; WebKit2.FirstResponderScrollingPosition
&gt; WebKit2.ScrollByLineCommands
&gt; WebKit2.SpacebarScrolling

So, EWS runs layout tests but not api tests? I&apos;m sorry about these failures, I&apos;ll investigate them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319470</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-14 23:27:45 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #6)
&gt; (In reply to Matt Lewis from comment #4)
&gt; &gt; These API tests are timing out after this revision on macOS:
&gt; &gt; 
&gt; &gt; WebKit2.AttributedSubstringForProposedRangeWithImage
&gt; &gt; WebKit2.ContextMenuDownloadHTMLDownloadAttribute
&gt; &gt; WebKit2.ContextMenuDownloadHTMLDownloadAttributeWithSlashes
&gt; &gt; WebKit2.DidNotHandleKeyDown
&gt; &gt; WebKit2.FirstResponderScrollingPosition
&gt; &gt; WebKit2.ScrollByLineCommands
&gt; &gt; WebKit2.SpacebarScrolling
&gt; 
&gt; So, EWS runs layout tests but not api tests? I&apos;m sorry about these failures,
&gt; I&apos;ll investigate them.

So, those tests are the only ones that use createContextWithInjectedBundle() directly, they are not named tests, which means they don&apos;t call WKBundleSetClient(). I&apos;ve checked the patch and I forgot to initialize the client in InjectedBundle constructor, so it must be it, but I haven&apos;t checked it yet. I&apos;ll try to test it in a macOS to be sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319480</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-14 23:58:37 -0700</bug_when>
    <thetext>Ok, that was indeed the problem. I&apos;ll land the fixed patch and keep watching the bots.

$ Tools/Scripts/run-api-tests WebKit2.AttributedSubstringForProposedRangeWithImage WebKit2.ContextMenuDownloadHTMLDownloadAttribute WebKit2.DidNotHandleKeyDown WebKit2.FirstResponderScrollingPosition WebKit2.ScrollByLineCommands WebKit2.SpacebarScrolling
Running build-api-tests
PASS WebKit2.AttributedSubstringForProposedRangeWithImage
PASS WebKit2.ContextMenuDownloadHTMLDownloadAttribute
PASS WebKit2.ContextMenuDownloadHTMLDownloadAttributeWithSlashes
PASS WebKit2.DidNotHandleKeyDown
PASS WebKit2.FirstResponderScrollingPosition
PASS WebKit2.ScrollByLineCommands
PASS WebKit2.SpacebarScrolling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319481</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-06-15 00:02:58 -0700</bug_when>
    <thetext>Committed r218319: &lt;http://trac.webkit.org/changeset/218319&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312872</attachid>
            <date>2017-06-14 02:13:22 -0700</date>
            <delta_ts>2017-06-14 02:20:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-injected-bundle-bundle-client-api.dif</filename>
            <type>text/plain</type>
            <size>18628</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmMGJlNzM1N2Q2OC4uNmM1MWI1ZDIyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxNy0wNi0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgQWRkIEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVudAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczMzU3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgd2lsbCBiZSB1
c2VkIGJ5IHRoZSBHVEsrIHBvcnQgaW5zdGVhZCBvZiB0aGUgQyBBUEkuCisKKyAgICAgICAgKiBX
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZUNsaWVudC5oLgorICAgICAgICAoQVBJOjpJbmplY3RlZEJ1bmRsZTo6Q2xpZW50OjpkaWRD
cmVhdGVQYWdlKToKKyAgICAgICAgKEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVudDo6d2lsbERl
c3Ryb3lQYWdlKToKKyAgICAgICAgKEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVudDo6ZGlkSW5p
dGlhbGl6ZVBhZ2VHcm91cCk6CisgICAgICAgIChBUEk6OkluamVjdGVkQnVuZGxlOjpDbGllbnQ6
OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVu
dDo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwOgorICAgICAgICAoV0tCdW5kbGVTZXRDbGllbnQp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJF
eHRlbnNpb24uY3BwOgorICAgICAgICAod2Via2l0V2ViRXh0ZW5zaW9uUGFnZUNyZWF0ZWQpOiBE
ZWxldGVkLgorICAgICAgICAod2Via2l0V2ViRXh0ZW5zaW9uUGFnZURlc3Ryb3kpOiBEZWxldGVk
LgorICAgICAgICAod2Via2l0V2ViRXh0ZW5zaW9uRGlkUmVjZWl2ZU1lc3NhZ2UpOiBEZWxldGVk
LgorICAgICAgICAoZGlkQ3JlYXRlUGFnZSk6IERlbGV0ZWQuCisgICAgICAgICh3aWxsRGVzdHJv
eVBhZ2UpOiBEZWxldGVkLgorICAgICAgICAoZGlkUmVjZWl2ZU1lc3NhZ2UpOiBEZWxldGVkLgor
ICAgICAgICAoZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOiBEZWxldGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGU6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZTo6d2lsbERlc3Ryb3lQYWdlKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OmRp
ZEluaXRpYWxpemVQYWdlR3JvdXApOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6ZGlk
UmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVDbGllbnQ6OkluamVjdGVkQnVuZGxlQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVDbGllbnQ6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3Rl
ZEJ1bmRsZUNsaWVudDo6d2lsbERlc3Ryb3lQYWdlKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVDbGllbnQ6OmRpZEluaXRpYWxpemVQYWdlR3JvdXApOgorICAgICAgICAoV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuaDoK
KwogMjAxNy0wNi0xMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgRG8gbm90IG1peCBDIGFuZCBDKysgQVBJIGVycm9yIGNvbnN0YW50cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGRmODNhYjY2OGM5Li44MzhlMjhmOGUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIxNiw2ICsxMjE2LDcgQEAKIAkJN0E4
MjFGNEMxRTJGNjczOTAwNjA0NTc3IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E4MjFG
NEIxRTJGNjY0ODAwNjA0NTc3IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5o
ICovOyB9OwogCQk3QTgyMUY0RTFFMkY2N0E4MDA2MDQ1NzcgLyogTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0E4MjFGNEQxRTJGNjc5RTAwNjA0NTc3IC8qIExlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlckNsaWVudC5tbSAqLzsgfTsKIAkJN0E4MjFGNTAxRTJGN0E3NTAwNjA0NTc3IC8qIEFQ
SUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0E4MjFGNEYxRTJGN0E1QzAwNjA0NTc3IC8qIEFQSUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudC5oICovOyB9OworCQk3QThBOUQ1QTFFRjEzMDI5MDA5ODAx
QUUgLyogQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBOEE5RDU5MUVGMTMwMjAwMDk4MDFBRSAvKiBB
UElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNsaWVudC5oICovOyB9OwogCQk3QUFEMTc1RjFFQTZBRjk5
MDAzQjA4OTQgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlQ29jb2EubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUFEMTc1RTFFQTZBRjM3
MDAzQjA4OTQgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlQ29jb2EubW0gKi87IH07
CiAJCTdBQjZFQTQ1MUVFQUFFMzgwMDAzN0IyQiAvKiBBUElJY29uRGF0YWJhc2VDbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBQjZFQTQ0MUVF
QUFFMjMwMDAzN0IyQiAvKiBBUElJY29uRGF0YWJhc2VDbGllbnQuaCAqLzsgfTsKIAkJN0FCNkVB
NDcxRUVBQjZCODAwMDM3QjJCIC8qIEFQSUdlb2xvY2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBQjZFQTQ2MUVFQUI2QjAwMDAz
N0IyQiAvKiBBUElHZW9sb2NhdGlvblByb3ZpZGVyLmggKi87IH07CkBAIC0zNTAyLDYgKzM1MDMs
NyBAQAogCQk3QTgyMUY0QjFFMkY2NjQ4MDA2MDQ1NzcgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3QTgyMUY0RDFFMkY2NzlFMDA2MDQ1NzcgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
Q2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QTgyMUY0RjFFMkY3QTVDMDA2MDQ1NzcgLyogQVBJQ3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUN1c3RvbVByb3Rv
Y29sTWFuYWdlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QThBOUQ1
OTFFRjEzMDIwMDA5ODAxQUUgLyogQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGll
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0E5Q0Q4QzAxQzc3OTg0OTAwRDlG
NkM3IC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTlDRDhDMTFDNzc5ODQ5MDBEOUY2Qzcg
LyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3QTlDRDhDMjFDNzc5QUQ2MDBEOUY2QzcgLyogV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTcyNDcsNiArNzI0OSw3IEBACiAJCQkJMUYwMTgxNjgxODU4REMx
NTAwRjkyODg0IC8qIENvY29hICovLAogCQkJCUJDOTg5RDQ1MTYxODE2OTEwMDBENDZEMyAvKiBt
YWMgKi8sCiAJCQkJMzc3NTEyMzAxREYwREVFMjAwOEEzNTFDIC8qIEFQSUluamVjdGVkQnVuZGxl
RWRpdG9yQ2xpZW50LmggKi8sCisJCQkJN0E4QTlENTkxRUYxMzAyMDAwOTgwMUFFIC8qIEFQSUlu
amVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmggKi8sCiAJCQkJMDc2RTg4NEYxQTEzQ0JDNjAwNUU5
MEZDIC8qIEFQSUluamVjdGVkQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmggKi8sCiAJCQkJ
N0EzQUNFMUExRUVFRjc4QzAwQTg2NEE0IC8qIEFQSUluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNs
aWVudC5oICovLAogCQkJKTsKQEAgLTg4NDgsNiArODg1MSw3IEBACiAJCQkJNTFFRkMxQ0YxNTI0
RTYyNTAwQzlBOTM4IC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3Q0JCODEyMTFBQTBGOTcwMDA2QjE5NDIgLyogV0tCdW5kbGVGaWxlSGFuZGxlUmVm
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0QyNUYxNzExRDZCREUxMDAxNjlCMEUgLyogV0tCdW5k
bGVGcmFtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0E4QTlENUExRUYxMzAyOTAwOTgwMUFFIC8q
IEFQSUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Yw
NDlFNjExRkUyMEY2MDBGODZBNTggLyogV0tCdW5kbGVGcmFtZVByaXZhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNDk4NjJGMTI0RDE4QzEwMEQ4MzRFMSAvKiBXS0J1bmRsZUhpdFRlc3RSZXN1
bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjA0RUYyMTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1
bmRsZUluaXRpYWxpemUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQ
SUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLmRiYzFjNmRjY2E2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVD
bGllbnQuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBJbmplY3RlZEJ1bmRsZTsKK2NsYXNzIFdl
YlBhZ2U7CitjbGFzcyBXZWJQYWdlR3JvdXBQcm94eTsKK30KKworbmFtZXNwYWNlIEFQSSB7Citj
bGFzcyBPYmplY3Q7CisKK25hbWVzcGFjZSBJbmplY3RlZEJ1bmRsZSB7CisKK2NsYXNzIENsaWVu
dCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OworCisgICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZVBhZ2UoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZSYsIFdlYktpdDo6
V2ViUGFnZSYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZSYsIFdlYktpdDo6V2ViUGFnZSYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBk
aWRJbml0aWFsaXplUGFnZUdyb3VwKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGUmLCBXZWJLaXQ6Oldl
YlBhZ2VHcm91cFByb3h5JikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KFdlYktpdDo6SW5qZWN0ZWRCdW5kbGUmLCBjb25zdCBXVEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0
KikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGUmLCBXZWJLaXQ6OldlYlBhZ2UmLCBjb25zdCBXVEY6OlN0cmluZyYsIEFQ
STo6T2JqZWN0KikgeyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBJbmplY3RlZEJ1bmRsZQorCit9
IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKaW5kZXggZDNmZjI1ZmUwMmIu
Ljk2YjczZDJhYWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkFQSUFycmF5LmgiCiAjaW5jbHVkZSAiQVBJRGF0YS5oIgogI2luY2x1ZGUgIklu
amVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCIKICNpbmNs
dWRlICJJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0Lmgi
CiAjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCkBAIC00OSw3ICs1MCw3IEBAIFdLVHlwZUlE
IFdLQnVuZGxlR2V0VHlwZUlEKCkKIAogdm9pZCBXS0J1bmRsZVNldENsaWVudChXS0J1bmRsZVJl
ZiBidW5kbGVSZWYsIFdLQnVuZGxlQ2xpZW50QmFzZSAqd2tDbGllbnQpCiB7Ci0gICAgdG9JbXBs
KGJ1bmRsZVJlZiktPmluaXRpYWxpemVDbGllbnQod2tDbGllbnQpOworICAgIHRvSW1wbChidW5k
bGVSZWYpLT5zZXRDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxJbmplY3RlZEJ1bmRsZUNsaWVudD4o
d2tDbGllbnQpKTsKIH0KIAogdm9pZCBXS0J1bmRsZVBvc3RNZXNzYWdlKFdLQnVuZGxlUmVmIGJ1
bmRsZVJlZiwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWVSZWYsIFdLVHlwZVJlZiBtZXNzYWdlQm9k
eVJlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2d0ay9XZWJLaXRXZWJFeHRlbnNpb24uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYkV4dGVuc2lvbi5jcHAKaW5kZXgg
MWVlODExY2NmM2EuLjczZGRhNDNjOTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViRXh0ZW5zaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0
V2ViRXh0ZW5zaW9uLmNwcApAQCAtMjIsNiArMjIsNyBAQAogCiAjaW5jbHVkZSAiQVBJRGljdGlv
bmFyeS5oIgogI2luY2x1ZGUgIkFQSVN0cmluZy5oIgorI2luY2x1ZGUgIldLQnVuZGxlLmgiCiAj
aW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCiAjaW5jbHVkZSAiV0tCdW5kbGVQYWdlLmgiCiAj
aW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAppbmRleCAzOTE2
MDRjZTk3Yi4uODk5NTYzNTQzZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0zMiw4ICsz
Miw2IEBACiAjaW5jbHVkZSAiTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmgi
CiAjaW5jbHVkZSAiU2Vzc2lvblRyYWNrZXIuaCIKICNpbmNsdWRlICJVc2VyRGF0YS5oIgotI2lu
Y2x1ZGUgIldLQVBJQ2FzdC5oIgotI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgogI2luY2x1
ZGUgIldlYkNvbm5lY3Rpb25Ub1VJUHJvY2Vzcy5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFn
ZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTEwOSw5ICsxMDcs
MTIgQEAgSW5qZWN0ZWRCdW5kbGU6On5JbmplY3RlZEJ1bmRsZSgpCiB7CiB9CiAKLXZvaWQgSW5q
ZWN0ZWRCdW5kbGU6OmluaXRpYWxpemVDbGllbnQoY29uc3QgV0tCdW5kbGVDbGllbnRCYXNlKiBj
bGllbnQpCit2b2lkIEluamVjdGVkQnVuZGxlOjpzZXRDbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQ
STo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVudD4mJiBjbGllbnQpCiB7Ci0gICAgbV9jbGllbnQuaW5p
dGlhbGl6ZShjbGllbnQpOworICAgIGlmICghY2xpZW50KQorICAgICAgICBtX2NsaWVudCA9IHN0
ZDo6bWFrZV91bmlxdWU8QVBJOjpJbmplY3RlZEJ1bmRsZTo6Q2xpZW50PigpOworICAgIGVsc2UK
KyAgICAgICAgbV9jbGllbnQgPSBXVEZNb3ZlKGNsaWVudCk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRC
dW5kbGU6OnBvc3RNZXNzYWdlKGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSTo6T2JqZWN0
KiBtZXNzYWdlQm9keSkKQEAgLTUwNywyNyArNTA4LDI3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6
OnJlcG9ydEV4Y2VwdGlvbihKU0NvbnRleHRSZWYgY29udGV4dCwgSlNWYWx1ZVJlZiBleGNlcHRp
b24pCiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZENyZWF0ZVBhZ2UoV2ViUGFnZSogcGFnZSkK
IHsKLSAgICBtX2NsaWVudC5kaWRDcmVhdGVQYWdlKHRoaXMsIHBhZ2UpOworICAgIG1fY2xpZW50
LT5kaWRDcmVhdGVQYWdlKCp0aGlzLCAqcGFnZSk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6
OndpbGxEZXN0cm95UGFnZShXZWJQYWdlKiBwYWdlKQogewotICAgIG1fY2xpZW50LndpbGxEZXN0
cm95UGFnZSh0aGlzLCBwYWdlKTsKKyAgICBtX2NsaWVudC0+d2lsbERlc3Ryb3lQYWdlKCp0aGlz
LCAqcGFnZSk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZEluaXRpYWxpemVQYWdlR3Jv
dXAoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCkKIHsKLSAgICBtX2NsaWVudC5kaWRJbml0
aWFsaXplUGFnZUdyb3VwKHRoaXMsIHBhZ2VHcm91cCk7CisgICAgbV9jbGllbnQtPmRpZEluaXRp
YWxpemVQYWdlR3JvdXAoKnRoaXMsICpwYWdlR3JvdXApOwogfQogCiB2b2lkIEluamVjdGVkQnVu
ZGxlOjpkaWRSZWNlaXZlTWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9i
amVjdCogbWVzc2FnZUJvZHkpCiB7Ci0gICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UodGhp
cywgbWVzc2FnZU5hbWUsIG1lc3NhZ2VCb2R5KTsKKyAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZU1l
c3NhZ2UoKnRoaXMsIG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7CiB9CiAKIHZvaWQgSW5qZWN0
ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdlYlBhZ2UqIHBhZ2UsIGNvbnN0IFN0
cmluZyYgbWVzc2FnZU5hbWUsIEFQSTo6T2JqZWN0KiBtZXNzYWdlQm9keSkKIHsKLSAgICBtX2Ns
aWVudC5kaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSh0aGlzLCBwYWdlLCBtZXNzYWdlTmFtZSwgbWVz
c2FnZUJvZHkpOworICAgIG1fY2xpZW50LT5kaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSgqdGhpcywg
KnBhZ2UsIG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7CiB9CiAKIHZvaWQgSW5qZWN0ZWRCdW5k
bGU6OnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91
cCwgY29uc3QgU3RyaW5nJiBsb2NhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCA3NzQ1MDU5
NTRhMS4uZThmZjZhNGE5ZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKQEAgLTI1LDEwICsyNSwxMCBA
QAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkFQSUluamVjdGVkQnVuZGxlQnVuZGxlQ2xp
ZW50LmgiCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVD
bGllbnQuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCi0jaW5jbHVkZSAiV0tCdW5k
bGUuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9Vc2VyQ29udGVudFR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU2NyaXB0
VHlwZXMuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkBAIC04NCw3ICs4NCw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEJ1bmRsZVBhcmFtZXRlcnMoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNl
Jik7CiAKICAgICAvLyBBUEkKLSAgICB2b2lkIGluaXRpYWxpemVDbGllbnQoY29uc3QgV0tCdW5k
bGVDbGllbnRCYXNlKik7CisgICAgdm9pZCBzZXRDbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQSTo6
SW5qZWN0ZWRCdW5kbGU6OkNsaWVudD4mJik7CiAgICAgdm9pZCBwb3N0TWVzc2FnZShjb25zdCBT
dHJpbmcmLCBBUEk6Ok9iamVjdCopOwogICAgIHZvaWQgcG9zdFN5bmNocm9ub3VzTWVzc2FnZShj
b25zdCBTdHJpbmcmLCBBUEk6Ok9iamVjdCosIFJlZlB0cjxBUEk6Ok9iamVjdD4mIHJldHVybkRh
dGEpOwogCkBAIC0xNjEsNyArMTYxLDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxTYW5kYm94
RXh0ZW5zaW9uPiBtX3NhbmRib3hFeHRlbnNpb247CiAKLSAgICBJbmplY3RlZEJ1bmRsZUNsaWVu
dCBtX2NsaWVudDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpJbmplY3RlZEJ1bmRsZTo6Q2xp
ZW50PiBtX2NsaWVudDsKIAogI2lmIFBMQVRGT1JNKENPQ09BKSAmJiBXS19BUElfRU5BQkxFRAog
ICAgIFJldGFpblB0cjxXS1dlYlByb2Nlc3NCdW5kbGVQYXJhbWV0ZXJzPiBtX2J1bmRsZVBhcmFt
ZXRlcnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCmluZGV4IDE1ZGYxNmMyZTQ1
Li45YTc3YzUzOWJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5jcHAKQEAgLTMz
LDQ0ICszMyw0OSBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotdm9pZCBJbmplY3RlZEJ1bmRs
ZUNsaWVudDo6ZGlkQ3JlYXRlUGFnZShJbmplY3RlZEJ1bmRsZSogYnVuZGxlLCBXZWJQYWdlKiBw
YWdlKQorSW5qZWN0ZWRCdW5kbGVDbGllbnQ6OkluamVjdGVkQnVuZGxlQ2xpZW50KGNvbnN0IFdL
QnVuZGxlQ2xpZW50QmFzZSogY2xpZW50KQoreworICAgIGluaXRpYWxpemUoY2xpZW50KTsKK30K
Kwordm9pZCBJbmplY3RlZEJ1bmRsZUNsaWVudDo6ZGlkQ3JlYXRlUGFnZShJbmplY3RlZEJ1bmRs
ZSYgYnVuZGxlLCBXZWJQYWdlJiBwYWdlKQogewogICAgIGlmICghbV9jbGllbnQuZGlkQ3JlYXRl
UGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jbGllbnQuZGlkQ3JlYXRlUGFnZSh0b0FQ
SShidW5kbGUpLCB0b0FQSShwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBt
X2NsaWVudC5kaWRDcmVhdGVQYWdlKHRvQVBJKCZidW5kbGUpLCB0b0FQSSgmcGFnZSksIG1fY2xp
ZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6Ondp
bGxEZXN0cm95UGFnZShJbmplY3RlZEJ1bmRsZSogYnVuZGxlLCBXZWJQYWdlKiBwYWdlKQordm9p
ZCBJbmplY3RlZEJ1bmRsZUNsaWVudDo6d2lsbERlc3Ryb3lQYWdlKEluamVjdGVkQnVuZGxlJiBi
dW5kbGUsIFdlYlBhZ2UmIHBhZ2UpCiB7CiAgICAgaWYgKCFtX2NsaWVudC53aWxsRGVzdHJveVBh
Z2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY2xpZW50LndpbGxEZXN0cm95UGFnZSh0b0FQ
SShidW5kbGUpLCB0b0FQSShwYWdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBt
X2NsaWVudC53aWxsRGVzdHJveVBhZ2UodG9BUEkoJmJ1bmRsZSksIHRvQVBJKCZwYWdlKSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAotdm9pZCBJbmplY3RlZEJ1bmRsZUNsaWVudDo6
ZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChJbmplY3RlZEJ1bmRsZSogYnVuZGxlLCBXZWJQYWdlR3Jv
dXBQcm94eSogcGFnZUdyb3VwKQordm9pZCBJbmplY3RlZEJ1bmRsZUNsaWVudDo6ZGlkSW5pdGlh
bGl6ZVBhZ2VHcm91cChJbmplY3RlZEJ1bmRsZSYgYnVuZGxlLCBXZWJQYWdlR3JvdXBQcm94eSYg
cGFnZUdyb3VwKQogewogICAgIGlmICghbV9jbGllbnQuZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9jbGllbnQuZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cCh0
b0FQSShidW5kbGUpLCB0b0FQSShwYWdlR3JvdXApLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8p
OworICAgIG1fY2xpZW50LmRpZEluaXRpYWxpemVQYWdlR3JvdXAodG9BUEkoJmJ1bmRsZSksIHRv
QVBJKCZwYWdlR3JvdXApLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCi12b2lkIElu
amVjdGVkQnVuZGxlQ2xpZW50OjpkaWRSZWNlaXZlTWVzc2FnZShJbmplY3RlZEJ1bmRsZSogYnVu
ZGxlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9iamVjdCogbWVzc2FnZUJvZHkp
Cit2b2lkIEluamVjdGVkQnVuZGxlQ2xpZW50OjpkaWRSZWNlaXZlTWVzc2FnZShJbmplY3RlZEJ1
bmRsZSYgYnVuZGxlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9iamVjdCogbWVz
c2FnZUJvZHkpCiB7CiAgICAgaWYgKCFtX2NsaWVudC5kaWRSZWNlaXZlTWVzc2FnZSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2UodG9BUEkoYnVuZGxl
KSwgdG9BUEkobWVzc2FnZU5hbWUuaW1wbCgpKSwgdG9BUEkobWVzc2FnZUJvZHkpLCBtX2NsaWVu
dC5iYXNlLmNsaWVudEluZm8pOworICAgIG1fY2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlKHRvQVBJ
KCZidW5kbGUpLCB0b0FQSShtZXNzYWdlTmFtZS5pbXBsKCkpLCB0b0FQSShtZXNzYWdlQm9keSks
IG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5kbGVDbGll
bnQ6OmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKEluamVjdGVkQnVuZGxlKiBidW5kbGUsIFdlYlBh
Z2UqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUsIEFQSTo6T2JqZWN0KiBtZXNzYWdl
Qm9keSkKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6OmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdl
KEluamVjdGVkQnVuZGxlJiBidW5kbGUsIFdlYlBhZ2UmIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVz
c2FnZU5hbWUsIEFQSTo6T2JqZWN0KiBtZXNzYWdlQm9keSkKIHsKICAgICBpZiAoIW1fY2xpZW50
LmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVu
dC5kaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSh0b0FQSShidW5kbGUpLCB0b0FQSShwYWdlKSwgdG9B
UEkobWVzc2FnZU5hbWUuaW1wbCgpKSwgdG9BUEkobWVzc2FnZUJvZHkpLCBtX2NsaWVudC5iYXNl
LmNsaWVudEluZm8pOworICAgIG1fY2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKHRvQVBJ
KCZidW5kbGUpLCB0b0FQSSgmcGFnZSksIHRvQVBJKG1lc3NhZ2VOYW1lLmltcGwoKSksIHRvQVBJ
KG1lc3NhZ2VCb2R5KSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50LmgKaW5kZXggYTdiZTY3OWIw
MzYuLmJkZjgzZDU4Nzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5oCkBAIC0yNyw2
ICsyNyw3IEBACiAjZGVmaW5lIEluamVjdGVkQnVuZGxlQ2xpZW50X2gKIAogI2luY2x1ZGUgIkFQ
SUNsaWVudC5oIgorI2luY2x1ZGUgIkFQSUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmgiCiAj
aW5jbHVkZSAiV0tCdW5kbGUuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC00NCwx
NiArNDUsMTcgQEAgY2xhc3MgSW5qZWN0ZWRCdW5kbGU7CiBjbGFzcyBXZWJQYWdlOwogY2xhc3Mg
V2ViUGFnZUdyb3VwUHJveHk7CiAKLWNsYXNzIEluamVjdGVkQnVuZGxlQ2xpZW50IDogcHVibGlj
IEFQSTo6Q2xpZW50PFdLQnVuZGxlQ2xpZW50QmFzZT4geworY2xhc3MgSW5qZWN0ZWRCdW5kbGVD
bGllbnQgOiBwdWJsaWMgQVBJOjpJbmplY3RlZEJ1bmRsZTo6Q2xpZW50LCBwdWJsaWMgQVBJOjpD
bGllbnQ8V0tCdW5kbGVDbGllbnRCYXNlPiB7CiBwdWJsaWM6Ci0gICAgdm9pZCBkaWRDcmVhdGVQ
YWdlKEluamVjdGVkQnVuZGxlKiwgV2ViUGFnZSopOwotICAgIHZvaWQgd2lsbERlc3Ryb3lQYWdl
KEluamVjdGVkQnVuZGxlKiwgV2ViUGFnZSopOwotICAgIHZvaWQgZGlkSW5pdGlhbGl6ZVBhZ2VH
cm91cChJbmplY3RlZEJ1bmRsZSosIFdlYlBhZ2VHcm91cFByb3h5Kik7Ci0gICAgdm9pZCBkaWRS
ZWNlaXZlTWVzc2FnZShJbmplY3RlZEJ1bmRsZSosIGNvbnN0IFN0cmluZyYgbWVzc2FnZU5hbWUs
IEFQSTo6T2JqZWN0KiBtZXNzYWdlQm9keSk7Ci0gICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZVRv
UGFnZShJbmplY3RlZEJ1bmRsZSosIFdlYlBhZ2UqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1l
LCBBUEk6Ok9iamVjdCogbWVzc2FnZUJvZHkpOworICAgIGV4cGxpY2l0IEluamVjdGVkQnVuZGxl
Q2xpZW50KGNvbnN0IFdLQnVuZGxlQ2xpZW50QmFzZSopOworCisgICAgdm9pZCBkaWRDcmVhdGVQ
YWdlKEluamVjdGVkQnVuZGxlJiwgV2ViUGFnZSYpIG92ZXJyaWRlOworICAgIHZvaWQgd2lsbERl
c3Ryb3lQYWdlKEluamVjdGVkQnVuZGxlJiwgV2ViUGFnZSYpIG92ZXJyaWRlOworICAgIHZvaWQg
ZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cChJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2VHcm91cFByb3h5
Jikgb3ZlcnJpZGU7CisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJbmplY3RlZEJ1bmRsZSYs
IGNvbnN0IFdURjo6U3RyaW5nJiwgQVBJOjpPYmplY3QqKSBvdmVycmlkZTsKKyAgICB2b2lkIGRp
ZFJlY2VpdmVNZXNzYWdlVG9QYWdlKEluamVjdGVkQnVuZGxlJiwgV2ViUGFnZSYsIGNvbnN0IFdU
Rjo6U3RyaW5nJiwgQVBJOjpPYmplY3QqKSBvdmVycmlkZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCi0KICNlbmRpZiAvLyBJbmplY3RlZEJ1bmRsZUNsaWVudF9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312877</attachid>
            <date>2017-06-14 02:20:13 -0700</date>
            <delta_ts>2017-06-14 08:43:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-injected-bundle-bundle-client-api.diff</filename>
            <type>text/plain</type>
            <size>19379</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmMGJlNzM1N2Q2OC4uNmM1MWI1ZDIyMGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NiBAQAorMjAxNy0wNi0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGln
YWxpYS5jb20+CisKKyAgICAgICAgQWRkIEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVudAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczMzU3CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSXQgd2lsbCBiZSB1
c2VkIGJ5IHRoZSBHVEsrIHBvcnQgaW5zdGVhZCBvZiB0aGUgQyBBUEkuCisKKyAgICAgICAgKiBX
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaDogQ29waWVk
IGZyb20gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZUNsaWVudC5oLgorICAgICAgICAoQVBJOjpJbmplY3RlZEJ1bmRsZTo6Q2xpZW50OjpkaWRD
cmVhdGVQYWdlKToKKyAgICAgICAgKEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVudDo6d2lsbERl
c3Ryb3lQYWdlKToKKyAgICAgICAgKEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVudDo6ZGlkSW5p
dGlhbGl6ZVBhZ2VHcm91cCk6CisgICAgICAgIChBUEk6OkluamVjdGVkQnVuZGxlOjpDbGllbnQ6
OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAgKEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVu
dDo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwOgorICAgICAgICAoV0tCdW5kbGVTZXRDbGllbnQp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2d0ay9XZWJLaXRXZWJF
eHRlbnNpb24uY3BwOgorICAgICAgICAod2Via2l0V2ViRXh0ZW5zaW9uUGFnZUNyZWF0ZWQpOiBE
ZWxldGVkLgorICAgICAgICAod2Via2l0V2ViRXh0ZW5zaW9uUGFnZURlc3Ryb3kpOiBEZWxldGVk
LgorICAgICAgICAod2Via2l0V2ViRXh0ZW5zaW9uRGlkUmVjZWl2ZU1lc3NhZ2UpOiBEZWxldGVk
LgorICAgICAgICAoZGlkQ3JlYXRlUGFnZSk6IERlbGV0ZWQuCisgICAgICAgICh3aWxsRGVzdHJv
eVBhZ2UpOiBEZWxldGVkLgorICAgICAgICAoZGlkUmVjZWl2ZU1lc3NhZ2UpOiBEZWxldGVkLgor
ICAgICAgICAoZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOiBEZWxldGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZTo6c2V0Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGU6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZTo6d2lsbERlc3Ryb3lQYWdlKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OmRp
ZEluaXRpYWxpemVQYWdlR3JvdXApOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6ZGlk
UmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGUuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGVDbGllbnQ6OkluamVjdGVkQnVuZGxlQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVDbGllbnQ6OmRpZENyZWF0ZVBhZ2UpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3Rl
ZEJ1bmRsZUNsaWVudDo6d2lsbERlc3Ryb3lQYWdlKToKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0
ZWRCdW5kbGVDbGllbnQ6OmRpZEluaXRpYWxpemVQYWdlR3JvdXApOgorICAgICAgICAoV2ViS2l0
OjpJbmplY3RlZEJ1bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAoV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuaDoK
KwogMjAxNy0wNi0xMyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+
CiAKICAgICAgICAgRG8gbm90IG1peCBDIGFuZCBDKysgQVBJIGVycm9yIGNvbnN0YW50cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
IGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGRmODNhYjY2OGM5Li44MzhlMjhmOGUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIxNiw2ICsxMjE2LDcgQEAKIAkJN0E4
MjFGNEMxRTJGNjczOTAwNjA0NTc3IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0E4MjFG
NEIxRTJGNjY0ODAwNjA0NTc3IC8qIExlZ2FjeUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5o
ICovOyB9OwogCQk3QTgyMUY0RTFFMkY2N0E4MDA2MDQ1NzcgLyogTGVnYWN5Q3VzdG9tUHJvdG9j
b2xNYW5hZ2VyQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gN0E4MjFGNEQxRTJGNjc5RTAwNjA0NTc3IC8qIExlZ2FjeUN1c3RvbVByb3RvY29s
TWFuYWdlckNsaWVudC5tbSAqLzsgfTsKIAkJN0E4MjFGNTAxRTJGN0E3NTAwNjA0NTc3IC8qIEFQ
SUN1c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0E4MjFGNEYxRTJGN0E1QzAwNjA0NTc3IC8qIEFQSUN1c3Rv
bVByb3RvY29sTWFuYWdlckNsaWVudC5oICovOyB9OworCQk3QThBOUQ1QTFFRjEzMDI5MDA5ODAx
QUUgLyogQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBOEE5RDU5MUVGMTMwMjAwMDk4MDFBRSAvKiBB
UElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNsaWVudC5oICovOyB9OwogCQk3QUFEMTc1RjFFQTZBRjk5
MDAzQjA4OTQgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlQ29jb2EubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QUFEMTc1RTFFQTZBRjM3
MDAzQjA4OTQgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlQ29jb2EubW0gKi87IH07
CiAJCTdBQjZFQTQ1MUVFQUFFMzgwMDAzN0IyQiAvKiBBUElJY29uRGF0YWJhc2VDbGllbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBQjZFQTQ0MUVF
QUFFMjMwMDAzN0IyQiAvKiBBUElJY29uRGF0YWJhc2VDbGllbnQuaCAqLzsgfTsKIAkJN0FCNkVB
NDcxRUVBQjZCODAwMDM3QjJCIC8qIEFQSUdlb2xvY2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBQjZFQTQ2MUVFQUI2QjAwMDAz
N0IyQiAvKiBBUElHZW9sb2NhdGlvblByb3ZpZGVyLmggKi87IH07CkBAIC0zNTAyLDYgKzM1MDMs
NyBAQAogCQk3QTgyMUY0QjFFMkY2NjQ4MDA2MDQ1NzcgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xN
YW5hZ2VyQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExlZ2FjeUN1
c3RvbVByb3RvY29sTWFuYWdlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3QTgyMUY0RDFFMkY2NzlFMDA2MDQ1NzcgLyogTGVnYWN5Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
Q2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTGVnYWN5
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3QTgyMUY0RjFFMkY3QTVDMDA2MDQ1NzcgLyogQVBJQ3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUN1c3RvbVByb3Rv
Y29sTWFuYWdlckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QThBOUQ1
OTFFRjEzMDIwMDA5ODAxQUUgLyogQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVDbGll
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0E5Q0Q4QzAxQzc3OTg0OTAwRDlG
NkM3IC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QTlDRDhDMTFDNzc5ODQ5MDBEOUY2Qzcg
LyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3QTlDRDhDMjFDNzc5QUQ2MDBEOUY2QzcgLyogV2ViUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1N0b3JlLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTcyNDcsNiArNzI0OSw3IEBACiAJCQkJMUYwMTgxNjgxODU4REMx
NTAwRjkyODg0IC8qIENvY29hICovLAogCQkJCUJDOTg5RDQ1MTYxODE2OTEwMDBENDZEMyAvKiBt
YWMgKi8sCiAJCQkJMzc3NTEyMzAxREYwREVFMjAwOEEzNTFDIC8qIEFQSUluamVjdGVkQnVuZGxl
RWRpdG9yQ2xpZW50LmggKi8sCisJCQkJN0E4QTlENTkxRUYxMzAyMDAwOTgwMUFFIC8qIEFQSUlu
amVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmggKi8sCiAJCQkJMDc2RTg4NEYxQTEzQ0JDNjAwNUU5
MEZDIC8qIEFQSUluamVjdGVkQnVuZGxlUGFnZUNvbnRleHRNZW51Q2xpZW50LmggKi8sCiAJCQkJ
N0EzQUNFMUExRUVFRjc4QzAwQTg2NEE0IC8qIEFQSUluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNs
aWVudC5oICovLAogCQkJKTsKQEAgLTg4NDgsNiArODg1MSw3IEBACiAJCQkJNTFFRkMxQ0YxNTI0
RTYyNTAwQzlBOTM4IC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQk3Q0JCODEyMTFBQTBGOTcwMDA2QjE5NDIgLyogV0tCdW5kbGVGaWxlSGFuZGxlUmVm
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0QyNUYxNzExRDZCREUxMDAxNjlCMEUgLyogV0tCdW5k
bGVGcmFtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJN0E4QTlENUExRUYxMzAyOTAwOTgwMUFFIC8q
IEFQSUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Yw
NDlFNjExRkUyMEY2MDBGODZBNTggLyogV0tCdW5kbGVGcmFtZVByaXZhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNDk4NjJGMTI0RDE4QzEwMEQ4MzRFMSAvKiBXS0J1bmRsZUhpdFRlc3RSZXN1
bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjA0RUYyMTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1
bmRsZUluaXRpYWxpemUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL0FQ
SUluamVjdGVkQnVuZGxlQnVuZGxlQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAuLmRiYzFjNmRjY2E2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvQVBJSW5qZWN0ZWRCdW5kbGVCdW5kbGVD
bGllbnQuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBJbmplY3RlZEJ1bmRsZTsKK2NsYXNzIFdl
YlBhZ2U7CitjbGFzcyBXZWJQYWdlR3JvdXBQcm94eTsKK30KKworbmFtZXNwYWNlIEFQSSB7Citj
bGFzcyBPYmplY3Q7CisKK25hbWVzcGFjZSBJbmplY3RlZEJ1bmRsZSB7CisKK2NsYXNzIENsaWVu
dCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q2xpZW50KCkgPSBkZWZhdWx0OworCisgICAgdmly
dHVhbCB2b2lkIGRpZENyZWF0ZVBhZ2UoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZSYsIFdlYktpdDo6
V2ViUGFnZSYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB3aWxsRGVzdHJveVBhZ2UoV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZSYsIFdlYktpdDo6V2ViUGFnZSYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBk
aWRJbml0aWFsaXplUGFnZUdyb3VwKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGUmLCBXZWJLaXQ6Oldl
YlBhZ2VHcm91cFByb3h5JikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KFdlYktpdDo6SW5qZWN0ZWRCdW5kbGUmLCBjb25zdCBXVEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0
KikgeyB9CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlVG9QYWdlKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGUmLCBXZWJLaXQ6OldlYlBhZ2UmLCBjb25zdCBXVEY6OlN0cmluZyYsIEFQ
STo6T2JqZWN0KikgeyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBJbmplY3RlZEJ1bmRsZQorCit9
IC8vIG5hbWVzcGFjZSBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAKaW5kZXggZDNmZjI1ZmUwMmIu
Ljk2YjczZDJhYWZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkFQSUFycmF5LmgiCiAjaW5jbHVkZSAiQVBJRGF0YS5oIgogI2luY2x1ZGUgIklu
amVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCIKICNpbmNs
dWRlICJJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmgiCiAjaW5jbHVkZSAiV0tBUElDYXN0Lmgi
CiAjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCkBAIC00OSw3ICs1MCw3IEBAIFdLVHlwZUlE
IFdLQnVuZGxlR2V0VHlwZUlEKCkKIAogdm9pZCBXS0J1bmRsZVNldENsaWVudChXS0J1bmRsZVJl
ZiBidW5kbGVSZWYsIFdLQnVuZGxlQ2xpZW50QmFzZSAqd2tDbGllbnQpCiB7Ci0gICAgdG9JbXBs
KGJ1bmRsZVJlZiktPmluaXRpYWxpemVDbGllbnQod2tDbGllbnQpOworICAgIHRvSW1wbChidW5k
bGVSZWYpLT5zZXRDbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxJbmplY3RlZEJ1bmRsZUNsaWVudD4o
d2tDbGllbnQpKTsKIH0KIAogdm9pZCBXS0J1bmRsZVBvc3RNZXNzYWdlKFdLQnVuZGxlUmVmIGJ1
bmRsZVJlZiwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWVSZWYsIFdLVHlwZVJlZiBtZXNzYWdlQm9k
eVJlZikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2d0ay9XZWJLaXRXZWJFeHRlbnNpb24uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvZ3RrL1dlYktpdFdlYkV4dGVuc2lvbi5jcHAKaW5kZXgg
MWVlODExY2NmM2EuLjczZGRhNDNjOTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0V2ViRXh0ZW5zaW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9ndGsvV2ViS2l0
V2ViRXh0ZW5zaW9uLmNwcApAQCAtMjIsNiArMjIsNyBAQAogCiAjaW5jbHVkZSAiQVBJRGljdGlv
bmFyeS5oIgogI2luY2x1ZGUgIkFQSVN0cmluZy5oIgorI2luY2x1ZGUgIldLQnVuZGxlLmgiCiAj
aW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCiAjaW5jbHVkZSAiV0tCdW5kbGVQYWdlLmgiCiAj
aW5jbHVkZSAiV2ViS2l0UHJpdmF0ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvbWFjL1dLV2ViUHJvY2Vzc1BsdWdJbi5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL21hYy9XS1dlYlByb2Nl
c3NQbHVnSW4ubW0KaW5kZXggODRjYjUxNzkyY2EuLmVmN2M5YjUxYzVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9tYWMvV0tXZWJQcm9j
ZXNzUGx1Z0luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL21hYy9XS1dlYlByb2Nlc3NQbHVnSW4ubW0KQEAgLTgwLDcgKzgwLDcgQEAgc3RhdGlj
IHZvaWQgc2V0VXBCdW5kbGVDbGllbnQoV0tXZWJQcm9jZXNzUGx1Z0luQ29udHJvbGxlciAqcGx1
Z0luQ29udHJvbGxlciwgSW4KICAgICBidW5kbGVDbGllbnQuZGlkQ3JlYXRlUGFnZSA9IGRpZENy
ZWF0ZVBhZ2U7CiAgICAgYnVuZGxlQ2xpZW50LndpbGxEZXN0cm95UGFnZSA9IHdpbGxEZXN0cm95
UGFnZTsKIAotICAgIGJ1bmRsZS5pbml0aWFsaXplQ2xpZW50KCZidW5kbGVDbGllbnQuYmFzZSk7
CisgICAgV0tCdW5kbGVTZXRDbGllbnQodG9BUEkoJmJ1bmRsZSksICZidW5kbGVDbGllbnQuYmFz
ZSk7CiB9CiAKIC0gKHZvaWQpX3NldFByaW5jaXBhbENsYXNzSW5zdGFuY2U6KGlkIDxXS1dlYlBy
b2Nlc3NQbHVnSW4+KXByaW5jaXBhbENsYXNzSW5zdGFuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAK
aW5kZXggMzkxNjA0Y2U5N2IuLjg5OTU2MzU0M2ZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApA
QCAtMzIsOCArMzIsNiBAQAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlci5oIgogI2luY2x1ZGUgIlNlc3Npb25UcmFja2VyLmgiCiAjaW5jbHVkZSAiVXNlckRh
dGEuaCIKLSNpbmNsdWRlICJXS0FQSUNhc3QuaCIKLSNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3Qu
aCIKICNpbmNsdWRlICJXZWJDb25uZWN0aW9uVG9VSVByb2Nlc3MuaCIKICNpbmNsdWRlICJXZWJD
b29raWVNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCkBAIC0x
MDksOSArMTA3LDEyIEBAIEluamVjdGVkQnVuZGxlOjp+SW5qZWN0ZWRCdW5kbGUoKQogewogfQog
Ci12b2lkIEluamVjdGVkQnVuZGxlOjppbml0aWFsaXplQ2xpZW50KGNvbnN0IFdLQnVuZGxlQ2xp
ZW50QmFzZSogY2xpZW50KQordm9pZCBJbmplY3RlZEJ1bmRsZTo6c2V0Q2xpZW50KHN0ZDo6dW5p
cXVlX3B0cjxBUEk6OkluamVjdGVkQnVuZGxlOjpDbGllbnQ+JiYgY2xpZW50KQogewotICAgIG1f
Y2xpZW50LmluaXRpYWxpemUoY2xpZW50KTsKKyAgICBpZiAoIWNsaWVudCkKKyAgICAgICAgbV9j
bGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVudD4oKTsK
KyAgICBlbHNlCisgICAgICAgIG1fY2xpZW50ID0gV1RGTW92ZShjbGllbnQpOwogfQogCiB2b2lk
IEluamVjdGVkQnVuZGxlOjpwb3N0TWVzc2FnZShjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBB
UEk6Ok9iamVjdCogbWVzc2FnZUJvZHkpCkBAIC01MDcsMjcgKzUwOCwyNyBAQCB2b2lkIEluamVj
dGVkQnVuZGxlOjpyZXBvcnRFeGNlcHRpb24oSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTVmFsdWVS
ZWYgZXhjZXB0aW9uKQogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRDcmVhdGVQYWdlKFdlYlBh
Z2UqIHBhZ2UpCiB7Ci0gICAgbV9jbGllbnQuZGlkQ3JlYXRlUGFnZSh0aGlzLCBwYWdlKTsKKyAg
ICBtX2NsaWVudC0+ZGlkQ3JlYXRlUGFnZSgqdGhpcywgKnBhZ2UpOwogfQogCiB2b2lkIEluamVj
dGVkQnVuZGxlOjp3aWxsRGVzdHJveVBhZ2UoV2ViUGFnZSogcGFnZSkKIHsKLSAgICBtX2NsaWVu
dC53aWxsRGVzdHJveVBhZ2UodGhpcywgcGFnZSk7CisgICAgbV9jbGllbnQtPndpbGxEZXN0cm95
UGFnZSgqdGhpcywgKnBhZ2UpOwogfQogCiB2b2lkIEluamVjdGVkQnVuZGxlOjpkaWRJbml0aWFs
aXplUGFnZUdyb3VwKFdlYlBhZ2VHcm91cFByb3h5KiBwYWdlR3JvdXApCiB7Ci0gICAgbV9jbGll
bnQuZGlkSW5pdGlhbGl6ZVBhZ2VHcm91cCh0aGlzLCBwYWdlR3JvdXApOworICAgIG1fY2xpZW50
LT5kaWRJbml0aWFsaXplUGFnZUdyb3VwKCp0aGlzLCAqcGFnZUdyb3VwKTsKIH0KIAogdm9pZCBJ
bmplY3RlZEJ1bmRsZTo6ZGlkUmVjZWl2ZU1lc3NhZ2UoY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFt
ZSwgQVBJOjpPYmplY3QqIG1lc3NhZ2VCb2R5KQogewotICAgIG1fY2xpZW50LmRpZFJlY2VpdmVN
ZXNzYWdlKHRoaXMsIG1lc3NhZ2VOYW1lLCBtZXNzYWdlQm9keSk7CisgICAgbV9jbGllbnQtPmRp
ZFJlY2VpdmVNZXNzYWdlKCp0aGlzLCBtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkpOwogfQogCiB2
b2lkIEluamVjdGVkQnVuZGxlOjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShXZWJQYWdlKiBwYWdl
LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9iamVjdCogbWVzc2FnZUJvZHkpCiB7
Ci0gICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UodGhpcywgcGFnZSwgbWVzc2Fn
ZU5hbWUsIG1lc3NhZ2VCb2R5KTsKKyAgICBtX2NsaWVudC0+ZGlkUmVjZWl2ZU1lc3NhZ2VUb1Bh
Z2UoKnRoaXMsICpwYWdlLCBtZXNzYWdlTmFtZSwgbWVzc2FnZUJvZHkpOwogfQogCiB2b2lkIElu
amVjdGVkQnVuZGxlOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKFdlYlBhZ2VHcm91cFByb3h5
KiBwYWdlR3JvdXAsIGNvbnN0IFN0cmluZyYgbG9jYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKaW5k
ZXggNzc0NTA1OTU0YTEuLmU4ZmY2YTRhOWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCkBAIC0yNSwx
MCArMjUsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJBUElJbmplY3RlZEJ1bmRs
ZUJ1bmRsZUNsaWVudC5oIgogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlQ2xpZW50LmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgotI2luY2x1
ZGUgIldLQnVuZGxlLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvVXNlckNvbnRlbnRUeXBlcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
VXNlclNjcmlwdFR5cGVzLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpAQCAtODQsNyArODQs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRCdW5kbGVQYXJhbWV0ZXJzKGNvbnN0IElQQzo6RGF0
YVJlZmVyZW5jZSYpOwogCiAgICAgLy8gQVBJCi0gICAgdm9pZCBpbml0aWFsaXplQ2xpZW50KGNv
bnN0IFdLQnVuZGxlQ2xpZW50QmFzZSopOworICAgIHZvaWQgc2V0Q2xpZW50KHN0ZDo6dW5pcXVl
X3B0cjxBUEk6OkluamVjdGVkQnVuZGxlOjpDbGllbnQ+JiYpOwogICAgIHZvaWQgcG9zdE1lc3Nh
Z2UoY29uc3QgU3RyaW5nJiwgQVBJOjpPYmplY3QqKTsKICAgICB2b2lkIHBvc3RTeW5jaHJvbm91
c01lc3NhZ2UoY29uc3QgU3RyaW5nJiwgQVBJOjpPYmplY3QqLCBSZWZQdHI8QVBJOjpPYmplY3Q+
JiByZXR1cm5EYXRhKTsKIApAQCAtMTYxLDcgKzE2MSw3IEBAIHByaXZhdGU6CiAKICAgICBSZWZQ
dHI8U2FuZGJveEV4dGVuc2lvbj4gbV9zYW5kYm94RXh0ZW5zaW9uOwogCi0gICAgSW5qZWN0ZWRC
dW5kbGVDbGllbnQgbV9jbGllbnQ7CisgICAgc3RkOjp1bmlxdWVfcHRyPEFQSTo6SW5qZWN0ZWRC
dW5kbGU6OkNsaWVudD4gbV9jbGllbnQ7CiAKICNpZiBQTEFURk9STShDT0NPQSkgJiYgV0tfQVBJ
X0VOQUJMRUQKICAgICBSZXRhaW5QdHI8V0tXZWJQcm9jZXNzQnVuZGxlUGFyYW1ldGVycz4gbV9i
dW5kbGVQYXJhbWV0ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlQ2xpZW50LmNwcAppbmRleCAx
NWRmMTZjMmU0NS4uOWE3N2M1MzliYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQu
Y3BwCkBAIC0zMyw0NCArMzMsNDkgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLXZvaWQgSW5q
ZWN0ZWRCdW5kbGVDbGllbnQ6OmRpZENyZWF0ZVBhZ2UoSW5qZWN0ZWRCdW5kbGUqIGJ1bmRsZSwg
V2ViUGFnZSogcGFnZSkKK0luamVjdGVkQnVuZGxlQ2xpZW50OjpJbmplY3RlZEJ1bmRsZUNsaWVu
dChjb25zdCBXS0J1bmRsZUNsaWVudEJhc2UqIGNsaWVudCkKK3sKKyAgICBpbml0aWFsaXplKGNs
aWVudCk7Cit9CisKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6OmRpZENyZWF0ZVBhZ2UoSW5q
ZWN0ZWRCdW5kbGUmIGJ1bmRsZSwgV2ViUGFnZSYgcGFnZSkKIHsKICAgICBpZiAoIW1fY2xpZW50
LmRpZENyZWF0ZVBhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY2xpZW50LmRpZENyZWF0
ZVBhZ2UodG9BUEkoYnVuZGxlKSwgdG9BUEkocGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5m
byk7CisgICAgbV9jbGllbnQuZGlkQ3JlYXRlUGFnZSh0b0FQSSgmYnVuZGxlKSwgdG9BUEkoJnBh
Z2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCi12b2lkIEluamVjdGVkQnVuZGxl
Q2xpZW50Ojp3aWxsRGVzdHJveVBhZ2UoSW5qZWN0ZWRCdW5kbGUqIGJ1bmRsZSwgV2ViUGFnZSog
cGFnZSkKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6OndpbGxEZXN0cm95UGFnZShJbmplY3Rl
ZEJ1bmRsZSYgYnVuZGxlLCBXZWJQYWdlJiBwYWdlKQogewogICAgIGlmICghbV9jbGllbnQud2ls
bERlc3Ryb3lQYWdlKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2NsaWVudC53aWxsRGVzdHJv
eVBhZ2UodG9BUEkoYnVuZGxlKSwgdG9BUEkocGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5m
byk7CisgICAgbV9jbGllbnQud2lsbERlc3Ryb3lQYWdlKHRvQVBJKCZidW5kbGUpLCB0b0FQSSgm
cGFnZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAKLXZvaWQgSW5qZWN0ZWRCdW5k
bGVDbGllbnQ6OmRpZEluaXRpYWxpemVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUqIGJ1bmRsZSwg
V2ViUGFnZUdyb3VwUHJveHkqIHBhZ2VHcm91cCkKK3ZvaWQgSW5qZWN0ZWRCdW5kbGVDbGllbnQ6
OmRpZEluaXRpYWxpemVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUmIGJ1bmRsZSwgV2ViUGFnZUdy
b3VwUHJveHkmIHBhZ2VHcm91cCkKIHsKICAgICBpZiAoIW1fY2xpZW50LmRpZEluaXRpYWxpemVQ
YWdlR3JvdXApCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY2xpZW50LmRpZEluaXRpYWxpemVQ
YWdlR3JvdXAodG9BUEkoYnVuZGxlKSwgdG9BUEkocGFnZUdyb3VwKSwgbV9jbGllbnQuYmFzZS5j
bGllbnRJbmZvKTsKKyAgICBtX2NsaWVudC5kaWRJbml0aWFsaXplUGFnZUdyb3VwKHRvQVBJKCZi
dW5kbGUpLCB0b0FQSSgmcGFnZUdyb3VwKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKIH0K
IAotdm9pZCBJbmplY3RlZEJ1bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSW5qZWN0ZWRC
dW5kbGUqIGJ1bmRsZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJOjpPYmplY3QqIG1l
c3NhZ2VCb2R5KQordm9pZCBJbmplY3RlZEJ1bmRsZUNsaWVudDo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
SW5qZWN0ZWRCdW5kbGUmIGJ1bmRsZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlTmFtZSwgQVBJOjpP
YmplY3QqIG1lc3NhZ2VCb2R5KQogewogICAgIGlmICghbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3Nh
Z2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fY2xpZW50LmRpZFJlY2VpdmVNZXNzYWdlKHRv
QVBJKGJ1bmRsZSksIHRvQVBJKG1lc3NhZ2VOYW1lLmltcGwoKSksIHRvQVBJKG1lc3NhZ2VCb2R5
KSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBtX2NsaWVudC5kaWRSZWNlaXZlTWVz
c2FnZSh0b0FQSSgmYnVuZGxlKSwgdG9BUEkobWVzc2FnZU5hbWUuaW1wbCgpKSwgdG9BUEkobWVz
c2FnZUJvZHkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogfQogCi12b2lkIEluamVjdGVk
QnVuZGxlQ2xpZW50OjpkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShJbmplY3RlZEJ1bmRsZSogYnVu
ZGxlLCBXZWJQYWdlKiBwYWdlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9iamVj
dCogbWVzc2FnZUJvZHkpCit2b2lkIEluamVjdGVkQnVuZGxlQ2xpZW50OjpkaWRSZWNlaXZlTWVz
c2FnZVRvUGFnZShJbmplY3RlZEJ1bmRsZSYgYnVuZGxlLCBXZWJQYWdlJiBwYWdlLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2VOYW1lLCBBUEk6Ok9iamVjdCogbWVzc2FnZUJvZHkpCiB7CiAgICAgaWYg
KCFtX2NsaWVudC5kaWRSZWNlaXZlTWVzc2FnZVRvUGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV9jbGllbnQuZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UodG9BUEkoYnVuZGxlKSwgdG9BUEko
cGFnZSksIHRvQVBJKG1lc3NhZ2VOYW1lLmltcGwoKSksIHRvQVBJKG1lc3NhZ2VCb2R5KSwgbV9j
bGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICBtX2NsaWVudC5kaWRSZWNlaXZlTWVzc2FnZVRv
UGFnZSh0b0FQSSgmYnVuZGxlKSwgdG9BUEkoJnBhZ2UpLCB0b0FQSShtZXNzYWdlTmFtZS5pbXBs
KCkpLCB0b0FQSShtZXNzYWdlQm9keSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5oCmluZGV4
IGE3YmU2NzliMDM2Li5iZGY4M2Q1ODc5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUNsaWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVDbGllbnQu
aApAQCAtMjcsNiArMjcsNyBAQAogI2RlZmluZSBJbmplY3RlZEJ1bmRsZUNsaWVudF9oCiAKICNp
bmNsdWRlICJBUElDbGllbnQuaCIKKyNpbmNsdWRlICJBUElJbmplY3RlZEJ1bmRsZUJ1bmRsZUNs
aWVudC5oIgogI2luY2x1ZGUgIldLQnVuZGxlLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
IApAQCAtNDQsMTYgKzQ1LDE3IEBAIGNsYXNzIEluamVjdGVkQnVuZGxlOwogY2xhc3MgV2ViUGFn
ZTsKIGNsYXNzIFdlYlBhZ2VHcm91cFByb3h5OwogCi1jbGFzcyBJbmplY3RlZEJ1bmRsZUNsaWVu
dCA6IHB1YmxpYyBBUEk6OkNsaWVudDxXS0J1bmRsZUNsaWVudEJhc2U+IHsKK2NsYXNzIEluamVj
dGVkQnVuZGxlQ2xpZW50IDogcHVibGljIEFQSTo6SW5qZWN0ZWRCdW5kbGU6OkNsaWVudCwgcHVi
bGljIEFQSTo6Q2xpZW50PFdLQnVuZGxlQ2xpZW50QmFzZT4gewogcHVibGljOgotICAgIHZvaWQg
ZGlkQ3JlYXRlUGFnZShJbmplY3RlZEJ1bmRsZSosIFdlYlBhZ2UqKTsKLSAgICB2b2lkIHdpbGxE
ZXN0cm95UGFnZShJbmplY3RlZEJ1bmRsZSosIFdlYlBhZ2UqKTsKLSAgICB2b2lkIGRpZEluaXRp
YWxpemVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUqLCBXZWJQYWdlR3JvdXBQcm94eSopOwotICAg
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSW5qZWN0ZWRCdW5kbGUqLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2VOYW1lLCBBUEk6Ok9iamVjdCogbWVzc2FnZUJvZHkpOwotICAgIHZvaWQgZGlkUmVjZWl2
ZU1lc3NhZ2VUb1BhZ2UoSW5qZWN0ZWRCdW5kbGUqLCBXZWJQYWdlKiwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlTmFtZSwgQVBJOjpPYmplY3QqIG1lc3NhZ2VCb2R5KTsKKyAgICBleHBsaWNpdCBJbmpl
Y3RlZEJ1bmRsZUNsaWVudChjb25zdCBXS0J1bmRsZUNsaWVudEJhc2UqKTsKKworICAgIHZvaWQg
ZGlkQ3JlYXRlUGFnZShJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2UmKSBvdmVycmlkZTsKKyAgICB2
b2lkIHdpbGxEZXN0cm95UGFnZShJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2UmKSBvdmVycmlkZTsK
KyAgICB2b2lkIGRpZEluaXRpYWxpemVQYWdlR3JvdXAoSW5qZWN0ZWRCdW5kbGUmLCBXZWJQYWdl
R3JvdXBQcm94eSYpIG92ZXJyaWRlOworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSW5qZWN0
ZWRCdW5kbGUmLCBjb25zdCBXVEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7Cisg
ICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZVRvUGFnZShJbmplY3RlZEJ1bmRsZSYsIFdlYlBhZ2Um
LCBjb25zdCBXVEY6OlN0cmluZyYsIEFQSTo6T2JqZWN0Kikgb3ZlcnJpZGU7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKIAotCiAjZW5kaWYgLy8gSW5qZWN0ZWRCdW5kbGVDbGllbnRfaAo=
</data>
<flag name="review"
          id="333770"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>