<?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>157995</bug_id>
          
          <creation_ts>2016-05-23 12:46:48 -0700</creation_ts>
          <short_desc>[iOS] Allow clients to override the type of an input field</short_desc>
          <delta_ts>2016-05-24 13:21:13 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chelsea Pugh">cpugh</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>cpugh</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1195549</commentid>
    <comment_count>0</comment_count>
    <who name="Chelsea Pugh">cpugh</who>
    <bug_when>2016-05-23 12:46:48 -0700</bug_when>
    <thetext>Allow clients to set the type of an input field. Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195553</commentid>
    <comment_count>1</comment_count>
      <attachid>279580</attachid>
    <who name="Chelsea Pugh">cpugh</who>
    <bug_when>2016-05-23 12:59:22 -0700</bug_when>
    <thetext>Created attachment 279580
[iOS] Allow clients to set the type of an input field.txt

Patch for this bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195565</commentid>
    <comment_count>2</comment_count>
      <attachid>279580</attachid>
    <who name="">mitz</who>
    <bug_when>2016-05-23 13:30:42 -0700</bug_when>
    <thetext>Comment on attachment 279580
[iOS] Allow clients to set the type of an input field.txt

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

&gt; Source/WebKit2/ChangeLog:3
&gt; +        [iOS] Allow clients to set the type of an input field

Perhaps “override” instead of “set”?

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:366
&gt; +    [_contentView reloadInputViews];

It’s unfortunate that if the client sets the text content type and then immediately sets the input view, we’ll reload input views twice. Might be good to follow up with a change that coalesces these if possible.

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3032
&gt; +    if (NSString *textContentType = [_formInputSession textContentType])
&gt; +        [_traits setTextContentType:textContentType];

A little strange to let the switch statement above set the type only to have it set to something else here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195583</commentid>
    <comment_count>3</comment_count>
      <attachid>279586</attachid>
    <who name="Chelsea Pugh">cpugh</who>
    <bug_when>2016-05-23 14:52:29 -0700</bug_when>
    <thetext>Created attachment 279586
Patch for [iOS] Allow clients to set the type of an input field v2

Patch version 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195585</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-23 14:54:20 -0700</bug_when>
    <thetext>Attachment 279586 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3001:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3002:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3004:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3005:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3007:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3008:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3010:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3011:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3013:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3014:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
ERROR: Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3016:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 11 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195603</commentid>
    <comment_count>5</comment_count>
      <attachid>279592</attachid>
    <who name="Chelsea Pugh">cpugh</who>
    <bug_when>2016-05-23 15:27:11 -0700</bug_when>
    <thetext>Created attachment 279592
v2 with better spacing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195607</commentid>
    <comment_count>6</comment_count>
      <attachid>279594</attachid>
    <who name="Chelsea Pugh">cpugh</who>
    <bug_when>2016-05-23 15:30:38 -0700</bug_when>
    <thetext>Created attachment 279594
Fix ChangeLog spacing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195711</commentid>
    <comment_count>7</comment_count>
      <attachid>279594</attachid>
    <who name="">mitz</who>
    <bug_when>2016-05-23 20:53:45 -0700</bug_when>
    <thetext>Comment on attachment 279594
Fix ChangeLog spacing

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKFormInputSession.h:46
&gt; +@property (nonatomic, strong) NSString *textContentType WK_AVAILABLE(NA, WK_IOS_TBA);

This should be copy, not strong…

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:362
&gt; +    if (textContentType == _textContentType)

…so this should check for equality in addition to checking for identity…

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:365
&gt; +    _textContentType = textContentType;

…and this should make a copy and adopt it.

&gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3021
&gt; +    if (NSString *textContentType = [_formInputSession textContentType])
&gt; +        [_traits setTextContentType:textContentType];
&gt; +    else if (NSString *textContentType = contentTypeFromFieldName(_assistedNodeInformation.autofillFieldName))
&gt; +        [_traits setTextContentType:textContentType];

The problem with this implementation is that if the field’s autofillFieldName is, say, None, and the client uses the SPI to set textContentType to some non-nil value and then back to nil, the traits’ textContentType doesn’t revert to whatever the default value is for None. Is there a way to avoid this issue?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195838</commentid>
    <comment_count>8</comment_count>
    <who name="">mitz</who>
    <bug_when>2016-05-24 07:36:29 -0700</bug_when>
    <thetext>(In reply to comment #7)

&gt; &gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3021
&gt; &gt; +    if (NSString *textContentType = [_formInputSession textContentType])
&gt; &gt; +        [_traits setTextContentType:textContentType];
&gt; &gt; +    else if (NSString *textContentType = contentTypeFromFieldName(_assistedNodeInformation.autofillFieldName))
&gt; &gt; +        [_traits setTextContentType:textContentType];
&gt; 
&gt; The problem with this implementation is that if the field’s
&gt; autofillFieldName is, say, None, and the client uses the SPI to set
&gt; textContentType to some non-nil value and then back to nil, the traits’
&gt; textContentType doesn’t revert to whatever the default value is for None. Is
&gt; there a way to avoid this issue?

I suppose this may already be a problem with the existing code when focus moves from a filed with an autofillFieldName that has a corresponding textContentType to one with an autofillFieldName that doesn’t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195910</commentid>
    <comment_count>9</comment_count>
    <who name="Chelsea Pugh">cpugh</who>
    <bug_when>2016-05-24 11:10:11 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; 
&gt; &gt; &gt; Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm:3021
&gt; &gt; &gt; +    if (NSString *textContentType = [_formInputSession textContentType])
&gt; &gt; &gt; +        [_traits setTextContentType:textContentType];
&gt; &gt; &gt; +    else if (NSString *textContentType = contentTypeFromFieldName(_assistedNodeInformation.autofillFieldName))
&gt; &gt; &gt; +        [_traits setTextContentType:textContentType];
&gt; &gt; 
&gt; &gt; The problem with this implementation is that if the field’s
&gt; &gt; autofillFieldName is, say, None, and the client uses the SPI to set
&gt; &gt; textContentType to some non-nil value and then back to nil, the traits’
&gt; &gt; textContentType doesn’t revert to whatever the default value is for None. Is
&gt; &gt; there a way to avoid this issue?

I guess we could have an else that sets the text content type to nil (its default value). This way, if neither the input session or the autofillFieldName has something to get the textContentType from, we set it back to its original value.

&gt; 
&gt; I suppose this may already be a problem with the existing code when focus
&gt; moves from a filed with an autofillFieldName that has a corresponding
&gt; textContentType to one with an autofillFieldName that doesn’t.

I believe when we move to a new field, new a new UITextInputTraits object is created, so the textContentType would start back at nil (its default value).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195918</commentid>
    <comment_count>10</comment_count>
      <attachid>279676</attachid>
    <who name="Chelsea Pugh">cpugh</who>
    <bug_when>2016-05-24 11:22:09 -0700</bug_when>
    <thetext>Created attachment 279676
[iOS] Allow clients to set the type of an input field v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195968</commentid>
    <comment_count>11</comment_count>
      <attachid>279689</attachid>
    <who name="Chelsea Pugh">cpugh</who>
    <bug_when>2016-05-24 12:35:06 -0700</bug_when>
    <thetext>Created attachment 279689
[iOS] Allow clients to set the type of an input field v4

Fix build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195991</commentid>
    <comment_count>12</comment_count>
      <attachid>279689</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-24 13:21:09 -0700</bug_when>
    <thetext>Comment on attachment 279689
[iOS] Allow clients to set the type of an input field v4

Clearing flags on attachment: 279689

Committed r201347: &lt;http://trac.webkit.org/changeset/201347&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1195992</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-24 13:21:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279580</attachid>
            <date>2016-05-23 12:59:22 -0700</date>
            <delta_ts>2016-05-23 14:52:29 -0700</delta_ts>
            <desc>[iOS] Allow clients to set the type of an input field.txt</desc>
            <filename>[iOS] Allow clients to set the type of an input field.txt</filename>
            <type>text/plain</type>
            <size>2912</size>
            <attacher name="Chelsea Pugh">cpugh</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTI5MCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA1LTIzICBDaGVsc2Vh
IFB1Z2ggIDxjcHVnaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWxsb3cgY2xpZW50cyB0
byBzZXQgdGhlIHR5cGUgb2YgYW4gaW5wdXQgZmllbGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Nzk5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tGb3JtSW5w
dXRTZXNzaW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW06CisgICAgICAgICgtW1dLRm9ybUlucHV0U2Vzc2lvbiB0ZXh0Q29udGVudFR5cGVd
KTogR2V0dGVyIGZvciB0ZXh0Q29udGVudFR5cGUuCisgICAgICAgICgtW1dLRm9ybUlucHV0U2Vz
c2lvbiBzZXRUZXh0Q29udGVudFR5cGU6XSk6IFNldCB0aGUgdGV4dENvbnRlbnRUeXBlIGFuZCBy
ZWxvYWQKKyAgICAgICAgaW5wdXQgdmlld3MuCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgdGV4
dElucHV0VHJhaXRzXSk6IElmIHRoZSBmb3JtIGlucHV0IHNlc3Npb24gaGFzIHNldCBhIHRleHQK
KyAgICAgICAgY29udGVudCB0eXBlLCB3ZSBzaG91bGQgdXNlIHRoYXQgY29udGVudCB0eXBlIGZv
ciB0aGUgdHJhaXRzLgorCiAyMDE2LTA1LTIzICBNaWd1ZWwgR29tZXogIDxtYWdvbWV6QGlnYWxp
YS5jb20+CiAKICAgICAgICAgW1RocmVhZGVkQ29tcG9zaXRvcl0gRW5zdXJlIHRoYXQgdGhlIEJp
dG1hcFRleHR1cmUgdXNlZCBieSBDb29yZGluYXRlZEJhY2tpbmdTdG9yZVRpbGUgbWF0Y2hlcyB0
aGUgb3BhY2l0eSBvZiB0aGUgcGFpbnRlZCBzdXJmYWNlCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS0Zvcm1JbnB1dFNlc3Npb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Zvcm1JbnB1dFNlc3Npb24uaAko
cmV2aXNpb24gMjAxMjkwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tGb3JtSW5wdXRTZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIFVJVmlldyAqY3VzdG9tSW5wdXRWaWV3IFdLX0FW
QUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNB
cnJheTxVSVRleHRTdWdnZXN0aW9uICo+ICpzdWdnZXN0aW9ucyBXS19BVkFJTEFCTEUoTkEsIFdL
X0lPU19UQkEpOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWNjZXNzb3J5Vmlld1Nob3Vs
ZE5vdFNob3cgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBzdHJvbmcpIE5TU3RyaW5nICp0ZXh0Q29udGVudFR5cGUgV0tfQVZBSUxBQkxFKE5BLCBX
S19JT1NfVEJBKTsKICNlbmRpZgogCiBAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkocmV2aXNp
b24gMjAxMjkwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2NCw2ICsyNjQsNyBAQAogICAgIFJl
dGFpblB0cjxXS0ZvY3VzZWRFbGVtZW50SW5mbz4gX2ZvY3VzZWRFbGVtZW50SW5mbzsKICAgICBS
ZXRhaW5QdHI8VUlWaWV3PiBfY3VzdG9tSW5wdXRWaWV3OwogICAgIFJldGFpblB0cjxOU0FycmF5
PFVJVGV4dFN1Z2dlc3Rpb24gKj4+IF9zdWdnZXN0aW9uczsKKyAgICBSZXRhaW5QdHI8TlNTdHJp
bmc+IF90ZXh0Q29udGVudFR5cGU7CiAgICAgQk9PTCBfYWNjZXNzb3J5Vmlld1Nob3VsZE5vdFNo
b3c7CiB9CiAKQEAgLTM1MSw2ICszNTIsMjAgQEAKICNlbmRpZgogfQogCistIChOU1N0cmluZyAq
KXRleHRDb250ZW50VHlwZQoreworICAgIHJldHVybiBfdGV4dENvbnRlbnRUeXBlLmdldCgpOwor
fQorCistICh2b2lkKXNldFRleHRDb250ZW50VHlwZTooTlNTdHJpbmcgKil0ZXh0Q29udGVudFR5
cGUKK3sKKyAgICBpZiAodGV4dENvbnRlbnRUeXBlID09IF90ZXh0Q29udGVudFR5cGUpCisgICAg
ICAgIHJldHVybjsKKworICAgIF90ZXh0Q29udGVudFR5cGUgPSB0ZXh0Q29udGVudFR5cGU7Cisg
ICAgW19jb250ZW50VmlldyByZWxvYWRJbnB1dFZpZXdzXTsKK30KKwogLSAodm9pZClpbnZhbGlk
YXRlCiB7CiAgICAgX2NvbnRlbnRWaWV3ID0gbmlsOwpAQCAtMzAxMiw2ICszMDI3LDkgQEAKICAg
ICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpJbXBwOgogICAgICAgICBicmVhazsK
ICAgICB9OworCisgICAgaWYgKE5TU3RyaW5nICp0ZXh0Q29udGVudFR5cGUgPSBbX2Zvcm1JbnB1
dFNlc3Npb24gdGV4dENvbnRlbnRUeXBlXSkKKyAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRl
bnRUeXBlOnRleHRDb250ZW50VHlwZV07CiAjZW5kaWYKIAogICAgIHJldHVybiBfdHJhaXRzLmdl
dCgpOwo=
</data>
<flag name="review"
          id="303628"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279586</attachid>
            <date>2016-05-23 14:52:29 -0700</date>
            <delta_ts>2016-05-23 15:27:11 -0700</delta_ts>
            <desc>Patch for [iOS] Allow clients to set the type of an input field v2</desc>
            <filename>[iOS] Allow clients to set the type of an input field.txt</filename>
            <type>text/plain</type>
            <size>11499</size>
            <attacher name="Chelsea Pugh">cpugh</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTI5NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA1LTIzICBDaGVsc2Vh
IFB1Z2ggIDxjcHVnaEBhcHBsZS5jb20+CisKKyAgICAgICAgIFtpT1NdIEFsbG93IGNsaWVudHMg
dG8gb3ZlcnJpZGUgdGhlIHR5cGUgb2YgYW4gaW5wdXQgZmllbGQKKyAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc5OTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
Rm9ybUlucHV0U2Vzc2lvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Zvcm1JbnB1dFNlc3Npb24gdGV4dENvbnRl
bnRUeXBlXSk6IEdldHRlciBmb3IgdGV4dENvbnRlbnRUeXBlLgorICAgICAgICAoLVtXS0Zvcm1J
bnB1dFNlc3Npb24gc2V0VGV4dENvbnRlbnRUeXBlOl0pOiBTZXQgdGhlIHRleHRDb250ZW50VHlw
ZSBhbmQgcmVsb2FkCisgICAgICAgIGlucHV0IHZpZXdzLgorICAgICAgICAoY29udGVudFR5cGVG
cm9tRmllbGROYW1lKTogRmFjdG9yIG91dCBzd2l0Y2ggc3RhdGVtZW50IHRvIGdldCB0ZXh0IGNv
bnRlbnQgdHlwZQorICAgICAgICBmcm9tIGF1dG9maWxsIGZpZWxkIG5hbWUgaW50byBpdHMgb3du
IGZ1bmN0aW9uLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHRleHRJbnB1dFRyYWl0c10pOiBJ
ZiB0aGUgY2xpZW50IGhhcyBzZXQgYSB0ZXh0IGNvbnRlbnQgdHlwZSwKKyAgICAgICAgc2V0IHRo
ZSB0cmFpdHMnIGNvbnRlbnQgdHlwZSB0byB0aGF0LiBPdGhlcndpc2UsIHNldCB0aGUgdGV4dCBj
b250ZW50IHR5cGUgaWYKKyAgICAgICAgdGhlcmUgaXMgb25lIGJhc2VkIG9uIHRoZSBhc3Npc3Rl
ZCBub2RlIGluZm9ybWF0aW9uJ3MgYXV0b2ZpbGwgZmllbGQgbmFtZS4KKwogMjAxNi0wNS0yMyAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFk
ZCBsb2dnaW5nIGZvciBOU1VSTFNlc3Npb24gY2FsbHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLRm9ybUlucHV0U2Vzc2lvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRm9ybUlucHV0U2Vzc2lvbi5oCShy
ZXZpc2lvbiAyMDEyOTApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0Zvcm1JbnB1dFNlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQAogQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgVUlWaWV3ICpjdXN0b21JbnB1dFZpZXcgV0tfQVZB
SUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0Fy
cmF5PFVJVGV4dFN1Z2dlc3Rpb24gKj4gKnN1Z2dlc3Rpb25zIFdLX0FWQUlMQUJMRShOQSwgV0tf
SU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhY2Nlc3NvcnlWaWV3U2hvdWxk
Tm90U2hvdyBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOworQHByb3BlcnR5IChub25hdG9t
aWMsIHN0cm9uZykgTlNTdHJpbmcgKnRleHRDb250ZW50VHlwZSBXS19BVkFJTEFCTEUoTkEsIFdL
X0lPU19UQkEpOwogI2VuZGlmCiAKIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCShyZXZpc2lv
biAyMDEyOTApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY0LDYgKzI2NCw3IEBACiAgICAgUmV0
YWluUHRyPFdLRm9jdXNlZEVsZW1lbnRJbmZvPiBfZm9jdXNlZEVsZW1lbnRJbmZvOwogICAgIFJl
dGFpblB0cjxVSVZpZXc+IF9jdXN0b21JbnB1dFZpZXc7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8
VUlUZXh0U3VnZ2VzdGlvbiAqPj4gX3N1Z2dlc3Rpb25zOworICAgIFJldGFpblB0cjxOU1N0cmlu
Zz4gX3RleHRDb250ZW50VHlwZTsKICAgICBCT09MIF9hY2Nlc3NvcnlWaWV3U2hvdWxkTm90U2hv
dzsKIH0KIApAQCAtMzUxLDYgKzM1MiwyMCBAQAogI2VuZGlmCiB9CiAKKy0gKE5TU3RyaW5nICop
dGV4dENvbnRlbnRUeXBlCit7CisgICAgcmV0dXJuIF90ZXh0Q29udGVudFR5cGUuZ2V0KCk7Cit9
CisKKy0gKHZvaWQpc2V0VGV4dENvbnRlbnRUeXBlOihOU1N0cmluZyAqKXRleHRDb250ZW50VHlw
ZQoreworICAgIGlmICh0ZXh0Q29udGVudFR5cGUgPT0gX3RleHRDb250ZW50VHlwZSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgX3RleHRDb250ZW50VHlwZSA9IHRleHRDb250ZW50VHlwZTsKKyAg
ICBbX2NvbnRlbnRWaWV3IHJlbG9hZElucHV0Vmlld3NdOworfQorCiAtICh2b2lkKWludmFsaWRh
dGUKIHsKICAgICBfY29udGVudFZpZXcgPSBuaWw7CkBAIC0yODczLDEwOSArMjg4OCw1MCBAQAog
ICAgIHJldHVybiBVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlU2VudGVuY2VzOwogfQogCi0v
LyBVSVRleHRJbnB1dFByaXZhdGUgcHJvdG9jb2wKLS8vIERpcmVjdCBhY2Nlc3MgdG8gdGhlIChw
cml2YXRlKSBVSVRleHRJbnB1dFRyYWl0cyBvYmplY3QuCi0tIChVSVRleHRJbnB1dFRyYWl0cyAq
KXRleHRJbnB1dFRyYWl0cworI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMDAwMAorc3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21GaWVsZE5hbWUoV2ViQ29y
ZTo6QXV0b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQogewotICAgIGlmICghX3RyYWl0cykKLSAg
ICAgICAgX3RyYWl0cyA9IGFkb3B0TlMoW1tVSVRleHRJbnB1dFRyYWl0cyBhbGxvY10gaW5pdF0p
OwotCi0gICAgW190cmFpdHMgc2V0U2VjdXJlVGV4dEVudHJ5Ol9hc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbi5lbGVtZW50VHlwZSA9PSBJbnB1dFR5cGU6OlBhc3N3b3JkXTsKLSAgICBbX3RyYWl0cyBz
ZXRTaG9ydGN1dENvbnZlcnNpb25UeXBlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50
VHlwZSA9PSBJbnB1dFR5cGU6OlBhc3N3b3JkID8gVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlw
ZU5vIDogVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlwZURlZmF1bHRdOwotCi0gICAgaWYgKCFf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZm9ybUFjdGlvbi5pc0VtcHR5KCkpCi0gICAgICAgIFtf
dHJhaXRzIHNldFJldHVybktleVR5cGU6KF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50
VHlwZSA9PSBJbnB1dFR5cGU6OlNlYXJjaCkgPyBVSVJldHVybktleVNlYXJjaCA6IFVJUmV0dXJu
S2V5R29dOwotCi0gICAgaWYgKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9
PSBJbnB1dFR5cGU6OlBhc3N3b3JkIHx8IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50
VHlwZSA9PSBJbnB1dFR5cGU6OkVtYWlsIHx8IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVt
ZW50VHlwZSA9PSBJbnB1dFR5cGU6OlVSTCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZm9y
bUFjdGlvbi5jb250YWlucygibG9naW4iKSkgewotICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY2Fw
aXRhbGl6YXRpb25UeXBlOlVJVGV4dEF1dG9jYXBpdGFsaXphdGlvblR5cGVOb25lXTsKLSAgICAg
ICAgW190cmFpdHMgc2V0QXV0b2NvcnJlY3Rpb25UeXBlOlVJVGV4dEF1dG9jb3JyZWN0aW9uVHlw
ZU5vXTsKLSAgICB9IGVsc2UgewotICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY2FwaXRhbGl6YXRp
b25UeXBlOnRvVUlUZXh0QXV0b2NhcGl0YWxpemUoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmF1
dG9jYXBpdGFsaXplVHlwZSldOwotICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY29ycmVjdGlvblR5
cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlzQXV0b2NvcnJlY3QgPyBVSVRleHRBdXRvY29y
cmVjdGlvblR5cGVZZXMgOiBVSVRleHRBdXRvY29ycmVjdGlvblR5cGVOb107Ci0gICAgfQotCi0g
ICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUpIHsKLSAgICBj
YXNlIElucHV0VHlwZTo6UGhvbmU6Ci0gICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6
VUlLZXlib2FyZFR5cGVQaG9uZVBhZF07Ci0gICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0
VHlwZTo6VVJMOgotICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRU
eXBlVVJMXTsKLSAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSW5wdXRUeXBlOjpFbWFpbDoKLSAg
ICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVz
c107Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJlcjoKLSAgICAg
ICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlcnNBbmRQdW5j
dHVhdGlvbl07Ci0gICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVyUGFk
OgotICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlTnVtYmVy
UGFkXTsKLSAgICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgICBbX3RyYWl0cyBz
ZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWZhdWx0XTsKLSAgICB9Ci0KLSNpZiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDAKLSAgICBzd2l0Y2ggKF9hc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbi5hdXRvZmlsbEZpZWxkTmFtZSkgeworICAgIHN3aXRjaCAoZmll
bGROYW1lKSB7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6TmFtZToKLSAg
ICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlTmFtZV07
Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVOYW1lOwog
ICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Okhvbm9yaWZpY1ByZWZpeDoKLSAg
ICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlTmFtZVBy
ZWZpeF07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVO
YW1lUHJlZml4OwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkdpdmVuTmFt
ZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBl
TWlkZGxlTmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVu
dFR5cGVNaWRkbGVOYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkFk
ZGl0aW9uYWxOYW1lOgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0
Q29udGVudFR5cGVNaWRkbGVOYW1lXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBV
SVRleHRDb250ZW50VHlwZU1pZGRsZU5hbWU7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZp
ZWxkTmFtZTo6RmFtaWx5TmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBl
OlVJVGV4dENvbnRlbnRUeXBlRmFtaWx5TmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICBy
ZXR1cm4gVUlUZXh0Q29udGVudFR5cGVGYW1pbHlOYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0
b2ZpbGxGaWVsZE5hbWU6Okhvbm9yaWZpY1N1ZmZpeDoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4
dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlTmFtZVN1ZmZpeF07Ci0gICAgICAgIGJyZWFr
OworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVOYW1lU3VmZml4OwogICAgIGNhc2Ug
V2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok5pY2tuYW1lOgotICAgICAgICBbX3RyYWl0cyBz
ZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVOaWNrbmFtZV07Ci0gICAgICAgIGJy
ZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVOaWNrbmFtZTsKICAgICBjYXNl
IFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpPcmdhbml6YXRpb25UaXRsZToKLSAgICAgICAg
W190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlSm9iVGl0bGVdOwot
ICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlSm9iVGl0bGU7
CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6T3JnYW5pemF0aW9uOgotICAg
ICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVPcmdhbml6
YXRpb25OYW1lXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50
VHlwZU9yZ2FuaXphdGlvbk5hbWU7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFt
ZTo6U3RyZWV0QWRkcmVzczoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJ
VGV4dENvbnRlbnRUeXBlRnVsbFN0cmVldEFkZHJlc3NdOwotICAgICAgICBicmVhazsKKyAgICAg
ICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlRnVsbFN0cmVldEFkZHJlc3M7CiAgICAgY2FzZSBX
ZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xpbmUxOgotICAgICAgICBbX3RyYWl0
cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVTdHJlZXRBZGRyZXNzTGluZTFd
OwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlU3RyZWV0
QWRkcmVzc0xpbmUxOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkFkZHJl
c3NMaW5lMjoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRl
bnRUeXBlU3RyZWV0QWRkcmVzc0xpbmUyXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVy
biBVSVRleHRDb250ZW50VHlwZVN0cmVldEFkZHJlc3NMaW5lMjsKICAgICBjYXNlIFdlYkNvcmU6
OkF1dG9maWxsRmllbGROYW1lOjpBZGRyZXNzTGV2ZWwzOgotICAgICAgICBbX3RyYWl0cyBzZXRU
ZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVTdWJsb2NhbGl0eV07Ci0gICAgICAgIGJy
ZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVTdWJsb2NhbGl0eTsKICAgICBj
YXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpBZGRyZXNzTGV2ZWwyOgotICAgICAgICBb
X3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVBZGRyZXNzQ2l0eV07
Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVBZGRyZXNz
Q2l0eTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpBZGRyZXNzTGV2ZWwx
OgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVB
ZGRyZXNzU3RhdGVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRl
bnRUeXBlQWRkcmVzc1N0YXRlOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6
OkNvdW50cnlOYW1lOgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0
Q29udGVudFR5cGVDb3VudHJ5TmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4g
VUlUZXh0Q29udGVudFR5cGVDb3VudHJ5TmFtZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxs
RmllbGROYW1lOjpQb3N0YWxDb2RlOgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5
cGU6VUlUZXh0Q29udGVudFR5cGVQb3N0YWxDb2RlXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAg
IHJldHVybiBVSVRleHRDb250ZW50VHlwZVBvc3RhbENvZGU7CiAgICAgY2FzZSBXZWJDb3JlOjpB
dXRvZmlsbEZpZWxkTmFtZTo6VGVsOgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5
cGU6VUlUZXh0Q29udGVudFR5cGVUZWxlcGhvbmVOdW1iZXJdOwotICAgICAgICBicmVhazsKKyAg
ICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlVGVsZXBob25lTnVtYmVyOwogICAgIGNhc2Ug
V2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkVtYWlsOgotICAgICAgICBbX3RyYWl0cyBzZXRU
ZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVFbWFpbEFkZHJlc3NdOwotICAgICAgICBi
cmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlRW1haWxBZGRyZXNzOwogICAg
IGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OlVSTDoKLSAgICAgICAgW190cmFpdHMg
c2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlVVJMXTsKLSAgICAgICAgYnJlYWs7
CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZVVSTDsKICAgICBjYXNlIFdlYkNvcmU6
OkF1dG9maWxsRmllbGROYW1lOjpOb25lOgogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVs
ZE5hbWU6OlVzZXJuYW1lOgogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok5l
d1Bhc3N3b3JkOgpAQCAtMzAxMiw4ICsyOTY4LDU5IEBACiAgICAgY2FzZSBXZWJDb3JlOjpBdXRv
ZmlsbEZpZWxkTmFtZTo6SW1wcDoKICAgICAgICAgYnJlYWs7CiAgICAgfTsKKworICAgIHJldHVy
biBuaWw7Cit9CiAjZW5kaWYKIAorLy8gVUlUZXh0SW5wdXRQcml2YXRlIHByb3RvY29sCisvLyBE
aXJlY3QgYWNjZXNzIHRvIHRoZSAocHJpdmF0ZSkgVUlUZXh0SW5wdXRUcmFpdHMgb2JqZWN0Lgor
LSAoVUlUZXh0SW5wdXRUcmFpdHMgKil0ZXh0SW5wdXRUcmFpdHMKK3sKKyAgICBpZiAoIV90cmFp
dHMpCisgICAgICAgIF90cmFpdHMgPSBhZG9wdE5TKFtbVUlUZXh0SW5wdXRUcmFpdHMgYWxsb2Nd
IGluaXRdKTsKKworICAgIFtfdHJhaXRzIHNldFNlY3VyZVRleHRFbnRyeTpfYXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZF07CisgICAgW190
cmFpdHMgc2V0U2hvcnRjdXRDb252ZXJzaW9uVHlwZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZCA/IFVJVGV4dFNob3J0Y3V0Q29udmVy
c2lvblR5cGVObyA6IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGVEZWZhdWx0XTsKKworICAg
IGlmICghX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmZvcm1BY3Rpb24uaXNFbXB0eSgpKQorICAg
ICAgICBbX3RyYWl0cyBzZXRSZXR1cm5LZXlUeXBlOihfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpTZWFyY2gpID8gVUlSZXR1cm5LZXlTZWFyY2ggOiBV
SVJldHVybktleUdvXTsKKworICAgIGlmIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVu
dFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpFbWFpbCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpVUkwgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0
aW9uLmZvcm1BY3Rpb24uY29udGFpbnMoImxvZ2luIikpIHsKKyAgICAgICAgW190cmFpdHMgc2V0
QXV0b2NhcGl0YWxpemF0aW9uVHlwZTpVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlTm9uZV07
CisgICAgICAgIFtfdHJhaXRzIHNldEF1dG9jb3JyZWN0aW9uVHlwZTpVSVRleHRBdXRvY29ycmVj
dGlvblR5cGVOb107CisgICAgfSBlbHNlIHsKKyAgICAgICAgW190cmFpdHMgc2V0QXV0b2NhcGl0
YWxpemF0aW9uVHlwZTp0b1VJVGV4dEF1dG9jYXBpdGFsaXplKF9hc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbi5hdXRvY2FwaXRhbGl6ZVR5cGUpXTsKKyAgICAgICAgW190cmFpdHMgc2V0QXV0b2NvcnJl
Y3Rpb25UeXBlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0ID8gVUlUZXh0
QXV0b2NvcnJlY3Rpb25UeXBlWWVzIDogVUlUZXh0QXV0b2NvcnJlY3Rpb25UeXBlTm9dOworICAg
IH0KKworICAgIHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlKSB7
CisgICAgY2FzZSBJbnB1dFR5cGU6OlBob25lOgorICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9h
cmRUeXBlOlVJS2V5Ym9hcmRUeXBlUGhvbmVQYWRdOworICAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBJbnB1dFR5cGU6OlVSTDoKKyAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtl
eWJvYXJkVHlwZVVSTF07CisgICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0VHlwZTo6RW1h
aWw6CisgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFp
bEFkZHJlc3NdOworICAgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6
CisgICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJz
QW5kUHVuY3R1YXRpb25dOworICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnB1dFR5cGU6Ok51
bWJlclBhZDoKKyAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlw
ZU51bWJlclBhZF07CisgICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICAgW190
cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07CisgICAgfQorCisj
aWYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwCisgICAgaWYgKE5T
U3RyaW5nICp0ZXh0Q29udGVudFR5cGUgPSBbX2Zvcm1JbnB1dFNlc3Npb24gdGV4dENvbnRlbnRU
eXBlXSkKKyAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOnRleHRDb250ZW50VHlw
ZV07CisgICAgZWxzZSBpZiAoTlNTdHJpbmcgKnRleHRDb250ZW50VHlwZSA9IGNvbnRlbnRUeXBl
RnJvbUZpZWxkTmFtZShfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUp
KQorICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6dGV4dENvbnRlbnRUeXBlXTsK
KyNlbmRpZgorCiAgICAgcmV0dXJuIF90cmFpdHMuZ2V0KCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279592</attachid>
            <date>2016-05-23 15:27:11 -0700</date>
            <delta_ts>2016-05-23 15:30:38 -0700</delta_ts>
            <desc>v2 with better spacing</desc>
            <filename>[iOS] Allow clients to set the type of an input field.txt</filename>
            <type>text/plain</type>
            <size>11487</size>
            <attacher name="Chelsea Pugh">cpugh</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTI5NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA1LTIzICBDaGVsc2Vh
IFB1Z2ggIDxjcHVnaEBhcHBsZS5jb20+CisKKyAgICAgICAgIFtpT1NdIEFsbG93IGNsaWVudHMg
dG8gb3ZlcnJpZGUgdGhlIHR5cGUgb2YgYW4gaW5wdXQgZmllbGQKKyAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc5OTUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
Rm9ybUlucHV0U2Vzc2lvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tOgorICAgICAgICAoLVtXS0Zvcm1JbnB1dFNlc3Npb24gdGV4dENvbnRl
bnRUeXBlXSk6IEdldHRlciBmb3IgdGV4dENvbnRlbnRUeXBlLgorICAgICAgICAoLVtXS0Zvcm1J
bnB1dFNlc3Npb24gc2V0VGV4dENvbnRlbnRUeXBlOl0pOiBTZXQgdGhlIHRleHRDb250ZW50VHlw
ZSBhbmQgcmVsb2FkCisgICAgICAgIGlucHV0IHZpZXdzLgorICAgICAgICAoY29udGVudFR5cGVG
cm9tRmllbGROYW1lKTogRmFjdG9yIG91dCBzd2l0Y2ggc3RhdGVtZW50IHRvIGdldCB0ZXh0IGNv
bnRlbnQgdHlwZQorICAgICAgICBmcm9tIGF1dG9maWxsIGZpZWxkIG5hbWUgaW50byBpdHMgb3du
IGZ1bmN0aW9uLgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHRleHRJbnB1dFRyYWl0c10pOiBJ
ZiB0aGUgY2xpZW50IGhhcyBzZXQgYSB0ZXh0IGNvbnRlbnQgdHlwZSwKKyAgICAgICAgc2V0IHRo
ZSB0cmFpdHMnIGNvbnRlbnQgdHlwZSB0byB0aGF0LiBPdGhlcndpc2UsIHNldCB0aGUgdGV4dCBj
b250ZW50IHR5cGUgaWYKKyAgICAgICAgdGhlcmUgaXMgb25lIGJhc2VkIG9uIHRoZSBhc3Npc3Rl
ZCBub2RlIGluZm9ybWF0aW9uJ3MgYXV0b2ZpbGwgZmllbGQgbmFtZS4KKwogMjAxNi0wNS0yMyAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFk
ZCBsb2dnaW5nIGZvciBOU1VSTFNlc3Npb24gY2FsbHMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLRm9ybUlucHV0U2Vzc2lvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRm9ybUlucHV0U2Vzc2lvbi5oCShy
ZXZpc2lvbiAyMDEyOTApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19X
S0Zvcm1JbnB1dFNlc3Npb24uaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQAogQHBy
b3BlcnR5IChub25hdG9taWMsIHN0cm9uZykgVUlWaWV3ICpjdXN0b21JbnB1dFZpZXcgV0tfQVZB
SUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0Fy
cmF5PFVJVGV4dFN1Z2dlc3Rpb24gKj4gKnN1Z2dlc3Rpb25zIFdLX0FWQUlMQUJMRShOQSwgV0tf
SU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBhY2Nlc3NvcnlWaWV3U2hvdWxk
Tm90U2hvdyBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOworQHByb3BlcnR5IChub25hdG9t
aWMsIHN0cm9uZykgTlNTdHJpbmcgKnRleHRDb250ZW50VHlwZSBXS19BVkFJTEFCTEUoTkEsIFdL
X0lPU19UQkEpOwogI2VuZGlmCiAKIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCShyZXZpc2lv
biAyMDEyOTApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY0LDYgKzI2NCw3IEBACiAgICAgUmV0
YWluUHRyPFdLRm9jdXNlZEVsZW1lbnRJbmZvPiBfZm9jdXNlZEVsZW1lbnRJbmZvOwogICAgIFJl
dGFpblB0cjxVSVZpZXc+IF9jdXN0b21JbnB1dFZpZXc7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8
VUlUZXh0U3VnZ2VzdGlvbiAqPj4gX3N1Z2dlc3Rpb25zOworICAgIFJldGFpblB0cjxOU1N0cmlu
Zz4gX3RleHRDb250ZW50VHlwZTsKICAgICBCT09MIF9hY2Nlc3NvcnlWaWV3U2hvdWxkTm90U2hv
dzsKIH0KIApAQCAtMzUxLDYgKzM1MiwyMCBAQAogI2VuZGlmCiB9CiAKKy0gKE5TU3RyaW5nICop
dGV4dENvbnRlbnRUeXBlCit7CisgICAgcmV0dXJuIF90ZXh0Q29udGVudFR5cGUuZ2V0KCk7Cit9
CisKKy0gKHZvaWQpc2V0VGV4dENvbnRlbnRUeXBlOihOU1N0cmluZyAqKXRleHRDb250ZW50VHlw
ZQoreworICAgIGlmICh0ZXh0Q29udGVudFR5cGUgPT0gX3RleHRDb250ZW50VHlwZSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgX3RleHRDb250ZW50VHlwZSA9IHRleHRDb250ZW50VHlwZTsKKyAg
ICBbX2NvbnRlbnRWaWV3IHJlbG9hZElucHV0Vmlld3NdOworfQorCiAtICh2b2lkKWludmFsaWRh
dGUKIHsKICAgICBfY29udGVudFZpZXcgPSBuaWw7CkBAIC0yODczLDEwOSArMjg4OCw1MCBAQAog
ICAgIHJldHVybiBVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlU2VudGVuY2VzOwogfQogCi0v
LyBVSVRleHRJbnB1dFByaXZhdGUgcHJvdG9jb2wKLS8vIERpcmVjdCBhY2Nlc3MgdG8gdGhlIChw
cml2YXRlKSBVSVRleHRJbnB1dFRyYWl0cyBvYmplY3QuCi0tIChVSVRleHRJbnB1dFRyYWl0cyAq
KXRleHRJbnB1dFRyYWl0cworI2lmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMDAwMAorc3RhdGljIE5TU3RyaW5nICpjb250ZW50VHlwZUZyb21GaWVsZE5hbWUoV2ViQ29y
ZTo6QXV0b2ZpbGxGaWVsZE5hbWUgZmllbGROYW1lKQogewotICAgIGlmICghX3RyYWl0cykKLSAg
ICAgICAgX3RyYWl0cyA9IGFkb3B0TlMoW1tVSVRleHRJbnB1dFRyYWl0cyBhbGxvY10gaW5pdF0p
OwotCi0gICAgW190cmFpdHMgc2V0U2VjdXJlVGV4dEVudHJ5Ol9hc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbi5lbGVtZW50VHlwZSA9PSBJbnB1dFR5cGU6OlBhc3N3b3JkXTsKLSAgICBbX3RyYWl0cyBz
ZXRTaG9ydGN1dENvbnZlcnNpb25UeXBlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50
VHlwZSA9PSBJbnB1dFR5cGU6OlBhc3N3b3JkID8gVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlw
ZU5vIDogVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlwZURlZmF1bHRdOwotCi0gICAgaWYgKCFf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZm9ybUFjdGlvbi5pc0VtcHR5KCkpCi0gICAgICAgIFtf
dHJhaXRzIHNldFJldHVybktleVR5cGU6KF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50
VHlwZSA9PSBJbnB1dFR5cGU6OlNlYXJjaCkgPyBVSVJldHVybktleVNlYXJjaCA6IFVJUmV0dXJu
S2V5R29dOwotCi0gICAgaWYgKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSA9
PSBJbnB1dFR5cGU6OlBhc3N3b3JkIHx8IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50
VHlwZSA9PSBJbnB1dFR5cGU6OkVtYWlsIHx8IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVt
ZW50VHlwZSA9PSBJbnB1dFR5cGU6OlVSTCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZm9y
bUFjdGlvbi5jb250YWlucygibG9naW4iKSkgewotICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY2Fw
aXRhbGl6YXRpb25UeXBlOlVJVGV4dEF1dG9jYXBpdGFsaXphdGlvblR5cGVOb25lXTsKLSAgICAg
ICAgW190cmFpdHMgc2V0QXV0b2NvcnJlY3Rpb25UeXBlOlVJVGV4dEF1dG9jb3JyZWN0aW9uVHlw
ZU5vXTsKLSAgICB9IGVsc2UgewotICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY2FwaXRhbGl6YXRp
b25UeXBlOnRvVUlUZXh0QXV0b2NhcGl0YWxpemUoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmF1
dG9jYXBpdGFsaXplVHlwZSldOwotICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY29ycmVjdGlvblR5
cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmlzQXV0b2NvcnJlY3QgPyBVSVRleHRBdXRvY29y
cmVjdGlvblR5cGVZZXMgOiBVSVRleHRBdXRvY29ycmVjdGlvblR5cGVOb107Ci0gICAgfQotCi0g
ICAgc3dpdGNoIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUpIHsKLSAgICBj
YXNlIElucHV0VHlwZTo6UGhvbmU6Ci0gICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6
VUlLZXlib2FyZFR5cGVQaG9uZVBhZF07Ci0gICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0
VHlwZTo6VVJMOgotICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRU
eXBlVVJMXTsKLSAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSW5wdXRUeXBlOjpFbWFpbDoKLSAg
ICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVz
c107Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJlcjoKLSAgICAg
ICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlcnNBbmRQdW5j
dHVhdGlvbl07Ci0gICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6TnVtYmVyUGFk
OgotICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlTnVtYmVy
UGFkXTsKLSAgICAgICAgIGJyZWFrOwotICAgIGRlZmF1bHQ6Ci0gICAgICAgICBbX3RyYWl0cyBz
ZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVEZWZhdWx0XTsKLSAgICB9Ci0KLSNpZiBfX0lQ
SE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDAwMDAKLSAgICBzd2l0Y2ggKF9hc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbi5hdXRvZmlsbEZpZWxkTmFtZSkgeworICAgIHN3aXRjaCAoZmll
bGROYW1lKSB7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6TmFtZToKLSAg
ICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlTmFtZV07
Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVOYW1lOwog
ICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Okhvbm9yaWZpY1ByZWZpeDoKLSAg
ICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlTmFtZVBy
ZWZpeF07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVO
YW1lUHJlZml4OwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkdpdmVuTmFt
ZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBl
TWlkZGxlTmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVu
dFR5cGVNaWRkbGVOYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkFk
ZGl0aW9uYWxOYW1lOgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0
Q29udGVudFR5cGVNaWRkbGVOYW1lXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBV
SVRleHRDb250ZW50VHlwZU1pZGRsZU5hbWU7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZp
ZWxkTmFtZTo6RmFtaWx5TmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBl
OlVJVGV4dENvbnRlbnRUeXBlRmFtaWx5TmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICBy
ZXR1cm4gVUlUZXh0Q29udGVudFR5cGVGYW1pbHlOYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0
b2ZpbGxGaWVsZE5hbWU6Okhvbm9yaWZpY1N1ZmZpeDoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4
dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlTmFtZVN1ZmZpeF07Ci0gICAgICAgIGJyZWFr
OworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVOYW1lU3VmZml4OwogICAgIGNhc2Ug
V2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok5pY2tuYW1lOgotICAgICAgICBbX3RyYWl0cyBz
ZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVOaWNrbmFtZV07Ci0gICAgICAgIGJy
ZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVOaWNrbmFtZTsKICAgICBjYXNl
IFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpPcmdhbml6YXRpb25UaXRsZToKLSAgICAgICAg
W190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlSm9iVGl0bGVdOwot
ICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlSm9iVGl0bGU7
CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6T3JnYW5pemF0aW9uOgotICAg
ICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVPcmdhbml6
YXRpb25OYW1lXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50
VHlwZU9yZ2FuaXphdGlvbk5hbWU7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFt
ZTo6U3RyZWV0QWRkcmVzczoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJ
VGV4dENvbnRlbnRUeXBlRnVsbFN0cmVldEFkZHJlc3NdOwotICAgICAgICBicmVhazsKKyAgICAg
ICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlRnVsbFN0cmVldEFkZHJlc3M7CiAgICAgY2FzZSBX
ZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xpbmUxOgotICAgICAgICBbX3RyYWl0
cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVTdHJlZXRBZGRyZXNzTGluZTFd
OwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlU3RyZWV0
QWRkcmVzc0xpbmUxOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkFkZHJl
c3NMaW5lMjoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRl
bnRUeXBlU3RyZWV0QWRkcmVzc0xpbmUyXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVy
biBVSVRleHRDb250ZW50VHlwZVN0cmVldEFkZHJlc3NMaW5lMjsKICAgICBjYXNlIFdlYkNvcmU6
OkF1dG9maWxsRmllbGROYW1lOjpBZGRyZXNzTGV2ZWwzOgotICAgICAgICBbX3RyYWl0cyBzZXRU
ZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVTdWJsb2NhbGl0eV07Ci0gICAgICAgIGJy
ZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVTdWJsb2NhbGl0eTsKICAgICBj
YXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpBZGRyZXNzTGV2ZWwyOgotICAgICAgICBb
X3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVBZGRyZXNzQ2l0eV07
Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVBZGRyZXNz
Q2l0eTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpBZGRyZXNzTGV2ZWwx
OgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVB
ZGRyZXNzU3RhdGVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRl
bnRUeXBlQWRkcmVzc1N0YXRlOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6
OkNvdW50cnlOYW1lOgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6VUlUZXh0
Q29udGVudFR5cGVDb3VudHJ5TmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4g
VUlUZXh0Q29udGVudFR5cGVDb3VudHJ5TmFtZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxs
RmllbGROYW1lOjpQb3N0YWxDb2RlOgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5
cGU6VUlUZXh0Q29udGVudFR5cGVQb3N0YWxDb2RlXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAg
IHJldHVybiBVSVRleHRDb250ZW50VHlwZVBvc3RhbENvZGU7CiAgICAgY2FzZSBXZWJDb3JlOjpB
dXRvZmlsbEZpZWxkTmFtZTo6VGVsOgotICAgICAgICBbX3RyYWl0cyBzZXRUZXh0Q29udGVudFR5
cGU6VUlUZXh0Q29udGVudFR5cGVUZWxlcGhvbmVOdW1iZXJdOwotICAgICAgICBicmVhazsKKyAg
ICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlVGVsZXBob25lTnVtYmVyOwogICAgIGNhc2Ug
V2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkVtYWlsOgotICAgICAgICBbX3RyYWl0cyBzZXRU
ZXh0Q29udGVudFR5cGU6VUlUZXh0Q29udGVudFR5cGVFbWFpbEFkZHJlc3NdOwotICAgICAgICBi
cmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlRW1haWxBZGRyZXNzOwogICAg
IGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OlVSTDoKLSAgICAgICAgW190cmFpdHMg
c2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlVVJMXTsKLSAgICAgICAgYnJlYWs7
CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZVVSTDsKICAgICBjYXNlIFdlYkNvcmU6
OkF1dG9maWxsRmllbGROYW1lOjpOb25lOgogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVs
ZE5hbWU6OlVzZXJuYW1lOgogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok5l
d1Bhc3N3b3JkOgpAQCAtMzAxMiw4ICsyOTY4LDU5IEBACiAgICAgY2FzZSBXZWJDb3JlOjpBdXRv
ZmlsbEZpZWxkTmFtZTo6SW1wcDoKICAgICAgICAgYnJlYWs7CiAgICAgfTsKKworICAgIHJldHVy
biBuaWw7Cit9CiAjZW5kaWYKIAorLy8gVUlUZXh0SW5wdXRQcml2YXRlIHByb3RvY29sCisvLyBE
aXJlY3QgYWNjZXNzIHRvIHRoZSAocHJpdmF0ZSkgVUlUZXh0SW5wdXRUcmFpdHMgb2JqZWN0Lgor
LSAoVUlUZXh0SW5wdXRUcmFpdHMgKil0ZXh0SW5wdXRUcmFpdHMKK3sKKyAgICBpZiAoIV90cmFp
dHMpCisgICAgICAgIF90cmFpdHMgPSBhZG9wdE5TKFtbVUlUZXh0SW5wdXRUcmFpdHMgYWxsb2Nd
IGluaXRdKTsKKworICAgIFtfdHJhaXRzIHNldFNlY3VyZVRleHRFbnRyeTpfYXNzaXN0ZWROb2Rl
SW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZF07CisgICAgW190
cmFpdHMgc2V0U2hvcnRjdXRDb252ZXJzaW9uVHlwZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZCA/IFVJVGV4dFNob3J0Y3V0Q29udmVy
c2lvblR5cGVObyA6IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGVEZWZhdWx0XTsKKworICAg
IGlmICghX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmZvcm1BY3Rpb24uaXNFbXB0eSgpKQorICAg
ICAgICBbX3RyYWl0cyBzZXRSZXR1cm5LZXlUeXBlOihfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpTZWFyY2gpID8gVUlSZXR1cm5LZXlTZWFyY2ggOiBV
SVJldHVybktleUdvXTsKKworICAgIGlmIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVu
dFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpFbWFpbCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpVUkwgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0
aW9uLmZvcm1BY3Rpb24uY29udGFpbnMoImxvZ2luIikpIHsKKyAgICAgICAgW190cmFpdHMgc2V0
QXV0b2NhcGl0YWxpemF0aW9uVHlwZTpVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlTm9uZV07
CisgICAgICAgIFtfdHJhaXRzIHNldEF1dG9jb3JyZWN0aW9uVHlwZTpVSVRleHRBdXRvY29ycmVj
dGlvblR5cGVOb107CisgICAgfSBlbHNlIHsKKyAgICAgICAgW190cmFpdHMgc2V0QXV0b2NhcGl0
YWxpemF0aW9uVHlwZTp0b1VJVGV4dEF1dG9jYXBpdGFsaXplKF9hc3Npc3RlZE5vZGVJbmZvcm1h
dGlvbi5hdXRvY2FwaXRhbGl6ZVR5cGUpXTsKKyAgICAgICAgW190cmFpdHMgc2V0QXV0b2NvcnJl
Y3Rpb25UeXBlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0ID8gVUlUZXh0
QXV0b2NvcnJlY3Rpb25UeXBlWWVzIDogVUlUZXh0QXV0b2NvcnJlY3Rpb25UeXBlTm9dOworICAg
IH0KKworICAgIHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlKSB7
CisgICAgY2FzZSBJbnB1dFR5cGU6OlBob25lOgorICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2Fy
ZFR5cGU6VUlLZXlib2FyZFR5cGVQaG9uZVBhZF07CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
SW5wdXRUeXBlOjpVUkw6CisgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJv
YXJkVHlwZVVSTF07CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRUeXBlOjpFbWFpbDoK
KyAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRW1haWxBZGRy
ZXNzXTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJlcjoKKyAgICAg
ICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlTnVtYmVyc0FuZFB1bmN0
dWF0aW9uXTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJlclBhZDoK
KyAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlTnVtYmVyUGFk
XTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgW190cmFpdHMgc2V0S2V5
Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07CisgICAgfQorCisjaWYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwCisgICAgaWYgKE5TU3RyaW5nICp0ZXh0
Q29udGVudFR5cGUgPSBbX2Zvcm1JbnB1dFNlc3Npb24gdGV4dENvbnRlbnRUeXBlXSkKKyAgICAg
ICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOnRleHRDb250ZW50VHlwZV07CisgICAgZWxz
ZSBpZiAoTlNTdHJpbmcgKnRleHRDb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlRnJvbUZpZWxkTmFt
ZShfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUpKQorICAgICAgICBb
X3RyYWl0cyBzZXRUZXh0Q29udGVudFR5cGU6dGV4dENvbnRlbnRUeXBlXTsKKyNlbmRpZgorCiAg
ICAgcmV0dXJuIF90cmFpdHMuZ2V0KCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279594</attachid>
            <date>2016-05-23 15:30:38 -0700</date>
            <delta_ts>2016-05-24 11:22:09 -0700</delta_ts>
            <desc>Fix ChangeLog spacing</desc>
            <filename>[iOS] Allow clients to set the type of an input field.txt</filename>
            <type>text/plain</type>
            <size>11485</size>
            <attacher name="Chelsea Pugh">cpugh</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTI5NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE2LTA1LTIzICBDaGVsc2Vh
IFB1Z2ggIDxjcHVnaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWxsb3cgY2xpZW50cyB0
byBvdmVycmlkZSB0aGUgdHlwZSBvZiBhbiBpbnB1dCBmaWVsZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3OTk1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0Zv
cm1JbnB1dFNlc3Npb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tGb3JtSW5wdXRTZXNzaW9uIHRleHRDb250ZW50
VHlwZV0pOiBHZXR0ZXIgZm9yIHRleHRDb250ZW50VHlwZS4KKyAgICAgICAgKC1bV0tGb3JtSW5w
dXRTZXNzaW9uIHNldFRleHRDb250ZW50VHlwZTpdKTogU2V0IHRoZSB0ZXh0Q29udGVudFR5cGUg
YW5kIHJlbG9hZAorICAgICAgICBpbnB1dCB2aWV3cy4KKyAgICAgICAgKGNvbnRlbnRUeXBlRnJv
bUZpZWxkTmFtZSk6IEZhY3RvciBvdXQgc3dpdGNoIHN0YXRlbWVudCB0byBnZXQgdGV4dCBjb250
ZW50IHR5cGUKKyAgICAgICAgZnJvbSBhdXRvZmlsbCBmaWVsZCBuYW1lIGludG8gaXRzIG93biBm
dW5jdGlvbi4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyB0ZXh0SW5wdXRUcmFpdHNdKTogSWYg
dGhlIGNsaWVudCBoYXMgc2V0IGEgdGV4dCBjb250ZW50IHR5cGUsCisgICAgICAgIHNldCB0aGUg
dHJhaXRzJyBjb250ZW50IHR5cGUgdG8gdGhhdC4gT3RoZXJ3aXNlLCBzZXQgdGhlIHRleHQgY29u
dGVudCB0eXBlIGlmCisgICAgICAgIHRoZXJlIGlzIG9uZSBiYXNlZCBvbiB0aGUgYXNzaXN0ZWQg
bm9kZSBpbmZvcm1hdGlvbidzIGF1dG9maWxsIGZpZWxkIG5hbWUuCisKIDIwMTYtMDUtMjMgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBBZGQg
bG9nZ2luZyBmb3IgTlNVUkxTZXNzaW9uIGNhbGxzCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS0Zvcm1JbnB1dFNlc3Npb24uaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0Zvcm1JbnB1dFNlc3Npb24uaAkocmV2
aXNpb24gMjAxMjkwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tG
b3JtSW5wdXRTZXNzaW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcpIFVJVmlldyAqY3VzdG9tSW5wdXRWaWV3IFdLX0FWQUlM
QUJMRShOQSwgV0tfSU9TX1RCQSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNBcnJh
eTxVSVRleHRTdWdnZXN0aW9uICo+ICpzdWdnZXN0aW9ucyBXS19BVkFJTEFCTEUoTkEsIFdLX0lP
U19UQkEpOwogQHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgYWNjZXNzb3J5Vmlld1Nob3VsZE5v
dFNob3cgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBzdHJvbmcpIE5TU3RyaW5nICp0ZXh0Q29udGVudFR5cGUgV0tfQVZBSUxBQkxFKE5BLCBXS19J
T1NfVEJBKTsKICNlbmRpZgogCiBAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQkocmV2aXNpb24g
MjAxMjkwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2NCw2ICsyNjQsNyBAQAogICAgIFJldGFp
blB0cjxXS0ZvY3VzZWRFbGVtZW50SW5mbz4gX2ZvY3VzZWRFbGVtZW50SW5mbzsKICAgICBSZXRh
aW5QdHI8VUlWaWV3PiBfY3VzdG9tSW5wdXRWaWV3OwogICAgIFJldGFpblB0cjxOU0FycmF5PFVJ
VGV4dFN1Z2dlc3Rpb24gKj4+IF9zdWdnZXN0aW9uczsKKyAgICBSZXRhaW5QdHI8TlNTdHJpbmc+
IF90ZXh0Q29udGVudFR5cGU7CiAgICAgQk9PTCBfYWNjZXNzb3J5Vmlld1Nob3VsZE5vdFNob3c7
CiB9CiAKQEAgLTM1MSw2ICszNTIsMjAgQEAKICNlbmRpZgogfQogCistIChOU1N0cmluZyAqKXRl
eHRDb250ZW50VHlwZQoreworICAgIHJldHVybiBfdGV4dENvbnRlbnRUeXBlLmdldCgpOworfQor
CistICh2b2lkKXNldFRleHRDb250ZW50VHlwZTooTlNTdHJpbmcgKil0ZXh0Q29udGVudFR5cGUK
K3sKKyAgICBpZiAodGV4dENvbnRlbnRUeXBlID09IF90ZXh0Q29udGVudFR5cGUpCisgICAgICAg
IHJldHVybjsKKworICAgIF90ZXh0Q29udGVudFR5cGUgPSB0ZXh0Q29udGVudFR5cGU7CisgICAg
W19jb250ZW50VmlldyByZWxvYWRJbnB1dFZpZXdzXTsKK30KKwogLSAodm9pZClpbnZhbGlkYXRl
CiB7CiAgICAgX2NvbnRlbnRWaWV3ID0gbmlsOwpAQCAtMjg3MywxMDkgKzI4ODgsNTAgQEAKICAg
ICByZXR1cm4gVUlUZXh0QXV0b2NhcGl0YWxpemF0aW9uVHlwZVNlbnRlbmNlczsKIH0KIAotLy8g
VUlUZXh0SW5wdXRQcml2YXRlIHByb3RvY29sCi0vLyBEaXJlY3QgYWNjZXNzIHRvIHRoZSAocHJp
dmF0ZSkgVUlUZXh0SW5wdXRUcmFpdHMgb2JqZWN0LgotLSAoVUlUZXh0SW5wdXRUcmFpdHMgKil0
ZXh0SW5wdXRUcmFpdHMKKyNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDAwMDAKK3N0YXRpYyBOU1N0cmluZyAqY29udGVudFR5cGVGcm9tRmllbGROYW1lKFdlYkNvcmU6
OkF1dG9maWxsRmllbGROYW1lIGZpZWxkTmFtZSkKIHsKLSAgICBpZiAoIV90cmFpdHMpCi0gICAg
ICAgIF90cmFpdHMgPSBhZG9wdE5TKFtbVUlUZXh0SW5wdXRUcmFpdHMgYWxsb2NdIGluaXRdKTsK
LQotICAgIFtfdHJhaXRzIHNldFNlY3VyZVRleHRFbnRyeTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZF07Ci0gICAgW190cmFpdHMgc2V0
U2hvcnRjdXRDb252ZXJzaW9uVHlwZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5
cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZCA/IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGVO
byA6IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGVEZWZhdWx0XTsKLQotICAgIGlmICghX2Fz
c2lzdGVkTm9kZUluZm9ybWF0aW9uLmZvcm1BY3Rpb24uaXNFbXB0eSgpKQotICAgICAgICBbX3Ry
YWl0cyBzZXRSZXR1cm5LZXlUeXBlOihfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5
cGUgPT0gSW5wdXRUeXBlOjpTZWFyY2gpID8gVUlSZXR1cm5LZXlTZWFyY2ggOiBVSVJldHVybktl
eUdvXTsKLQotICAgIGlmIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0g
SW5wdXRUeXBlOjpQYXNzd29yZCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5
cGUgPT0gSW5wdXRUeXBlOjpFbWFpbCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVu
dFR5cGUgPT0gSW5wdXRUeXBlOjpVUkwgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmZvcm1B
Y3Rpb24uY29udGFpbnMoImxvZ2luIikpIHsKLSAgICAgICAgW190cmFpdHMgc2V0QXV0b2NhcGl0
YWxpemF0aW9uVHlwZTpVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlTm9uZV07Ci0gICAgICAg
IFtfdHJhaXRzIHNldEF1dG9jb3JyZWN0aW9uVHlwZTpVSVRleHRBdXRvY29ycmVjdGlvblR5cGVO
b107Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgW190cmFpdHMgc2V0QXV0b2NhcGl0YWxpemF0aW9u
VHlwZTp0b1VJVGV4dEF1dG9jYXBpdGFsaXplKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5hdXRv
Y2FwaXRhbGl6ZVR5cGUpXTsKLSAgICAgICAgW190cmFpdHMgc2V0QXV0b2NvcnJlY3Rpb25UeXBl
Ol9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0ID8gVUlUZXh0QXV0b2NvcnJl
Y3Rpb25UeXBlWWVzIDogVUlUZXh0QXV0b2NvcnJlY3Rpb25UeXBlTm9dOwotICAgIH0KLQotICAg
IHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlKSB7Ci0gICAgY2Fz
ZSBJbnB1dFR5cGU6OlBob25lOgotICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJ
S2V5Ym9hcmRUeXBlUGhvbmVQYWRdOwotICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1dFR5
cGU6OlVSTDoKLSAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlw
ZVVSTF07Ci0gICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6Ci0gICAg
ICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3Nd
OwotICAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6Ci0gICAgICAg
ICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1
YXRpb25dOwotICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJlclBhZDoK
LSAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlclBh
ZF07Ci0gICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICAgW190cmFpdHMgc2V0
S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07Ci0gICAgfQotCi0jaWYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwCi0gICAgc3dpdGNoIChfYXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUpIHsKKyAgICBzd2l0Y2ggKGZpZWxk
TmFtZSkgewogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok5hbWU6Ci0gICAg
ICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU5hbWVdOwot
ICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmFtZTsKICAg
ICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpIb25vcmlmaWNQcmVmaXg6Ci0gICAg
ICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU5hbWVQcmVm
aXhdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmFt
ZVByZWZpeDsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpHaXZlbk5hbWU6
Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU1p
ZGRsZU5hbWVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRU
eXBlTWlkZGxlTmFtZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpBZGRp
dGlvbmFsTmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENv
bnRlbnRUeXBlTWlkZGxlTmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlU
ZXh0Q29udGVudFR5cGVNaWRkbGVOYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVs
ZE5hbWU6OkZhbWlseU5hbWU6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpV
SVRleHRDb250ZW50VHlwZUZhbWlseU5hbWVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0
dXJuIFVJVGV4dENvbnRlbnRUeXBlRmFtaWx5TmFtZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9m
aWxsRmllbGROYW1lOjpIb25vcmlmaWNTdWZmaXg6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRD
b250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU5hbWVTdWZmaXhdOwotICAgICAgICBicmVhazsK
KyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmFtZVN1ZmZpeDsKICAgICBjYXNlIFdl
YkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpOaWNrbmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0
VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlTmlja25hbWVdOwotICAgICAgICBicmVh
azsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmlja25hbWU7CiAgICAgY2FzZSBX
ZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6T3JnYW5pemF0aW9uVGl0bGU6Ci0gICAgICAgIFtf
dHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZUpvYlRpdGxlXTsKLSAg
ICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZUpvYlRpdGxlOwog
ICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok9yZ2FuaXphdGlvbjoKLSAgICAg
ICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlT3JnYW5pemF0
aW9uTmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5
cGVPcmdhbml6YXRpb25OYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6
OlN0cmVldEFkZHJlc3M6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRl
eHRDb250ZW50VHlwZUZ1bGxTdHJlZXRBZGRyZXNzXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAg
IHJldHVybiBVSVRleHRDb250ZW50VHlwZUZ1bGxTdHJlZXRBZGRyZXNzOwogICAgIGNhc2UgV2Vi
Q29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkFkZHJlc3NMaW5lMToKLSAgICAgICAgW190cmFpdHMg
c2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlU3RyZWV0QWRkcmVzc0xpbmUxXTsK
LSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZVN0cmVldEFk
ZHJlc3NMaW5lMTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpBZGRyZXNz
TGluZTI6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50
VHlwZVN0cmVldEFkZHJlc3NMaW5lMl07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4g
VUlUZXh0Q29udGVudFR5cGVTdHJlZXRBZGRyZXNzTGluZTI7CiAgICAgY2FzZSBXZWJDb3JlOjpB
dXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xldmVsMzoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4
dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlU3VibG9jYWxpdHldOwotICAgICAgICBicmVh
azsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlU3VibG9jYWxpdHk7CiAgICAgY2Fz
ZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xldmVsMjoKLSAgICAgICAgW190
cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlQWRkcmVzc0NpdHldOwot
ICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlQWRkcmVzc0Np
dHk7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xldmVsMToK
LSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlQWRk
cmVzc1N0YXRlXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50
VHlwZUFkZHJlc3NTdGF0ZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpD
b3VudHJ5TmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENv
bnRlbnRUeXBlQ291bnRyeU5hbWVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJ
VGV4dENvbnRlbnRUeXBlQ291bnRyeU5hbWU7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZp
ZWxkTmFtZTo6UG9zdGFsQ29kZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBl
OlVJVGV4dENvbnRlbnRUeXBlUG9zdGFsQ29kZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICBy
ZXR1cm4gVUlUZXh0Q29udGVudFR5cGVQb3N0YWxDb2RlOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0
b2ZpbGxGaWVsZE5hbWU6OlRlbDoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBl
OlVJVGV4dENvbnRlbnRUeXBlVGVsZXBob25lTnVtYmVyXTsKLSAgICAgICAgYnJlYWs7CisgICAg
ICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZVRlbGVwaG9uZU51bWJlcjsKICAgICBjYXNlIFdl
YkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpFbWFpbDoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4
dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlRW1haWxBZGRyZXNzXTsKLSAgICAgICAgYnJl
YWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZUVtYWlsQWRkcmVzczsKICAgICBj
YXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpVUkw6Ci0gICAgICAgIFtfdHJhaXRzIHNl
dFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZVVSTF07Ci0gICAgICAgIGJyZWFrOwor
ICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVVUkw7CiAgICAgY2FzZSBXZWJDb3JlOjpB
dXRvZmlsbEZpZWxkTmFtZTo6Tm9uZToKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGRO
YW1lOjpVc2VybmFtZToKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpOZXdQ
YXNzd29yZDoKQEAgLTMwMTIsOCArMjk2OCw1OSBAQAogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2Zp
bGxGaWVsZE5hbWU6OkltcHA6CiAgICAgICAgIGJyZWFrOwogICAgIH07CisKKyAgICByZXR1cm4g
bmlsOworfQogI2VuZGlmCiAKKy8vIFVJVGV4dElucHV0UHJpdmF0ZSBwcm90b2NvbAorLy8gRGly
ZWN0IGFjY2VzcyB0byB0aGUgKHByaXZhdGUpIFVJVGV4dElucHV0VHJhaXRzIG9iamVjdC4KKy0g
KFVJVGV4dElucHV0VHJhaXRzICopdGV4dElucHV0VHJhaXRzCit7CisgICAgaWYgKCFfdHJhaXRz
KQorICAgICAgICBfdHJhaXRzID0gYWRvcHROUyhbW1VJVGV4dElucHV0VHJhaXRzIGFsbG9jXSBp
bml0XSk7CisKKyAgICBbX3RyYWl0cyBzZXRTZWN1cmVUZXh0RW50cnk6X2Fzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6UGFzc3dvcmRdOworICAgIFtfdHJh
aXRzIHNldFNob3J0Y3V0Q29udmVyc2lvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlID09IElucHV0VHlwZTo6UGFzc3dvcmQgPyBVSVRleHRTaG9ydGN1dENvbnZlcnNp
b25UeXBlTm8gOiBVSVRleHRTaG9ydGN1dENvbnZlcnNpb25UeXBlRGVmYXVsdF07CisKKyAgICBp
ZiAoIV9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5mb3JtQWN0aW9uLmlzRW1wdHkoKSkKKyAgICAg
ICAgW190cmFpdHMgc2V0UmV0dXJuS2V5VHlwZTooX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlID09IElucHV0VHlwZTo6U2VhcmNoKSA/IFVJUmV0dXJuS2V5U2VhcmNoIDogVUlS
ZXR1cm5LZXlHb107CisKKyAgICBpZiAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRU
eXBlID09IElucHV0VHlwZTo6UGFzc3dvcmQgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlID09IElucHV0VHlwZTo6RW1haWwgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9u
LmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6VVJMIHx8IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bi5mb3JtQWN0aW9uLmNvbnRhaW5zKCJsb2dpbiIpKSB7CisgICAgICAgIFtfdHJhaXRzIHNldEF1
dG9jYXBpdGFsaXphdGlvblR5cGU6VUlUZXh0QXV0b2NhcGl0YWxpemF0aW9uVHlwZU5vbmVdOwor
ICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY29ycmVjdGlvblR5cGU6VUlUZXh0QXV0b2NvcnJlY3Rp
b25UeXBlTm9dOworICAgIH0gZWxzZSB7CisgICAgICAgIFtfdHJhaXRzIHNldEF1dG9jYXBpdGFs
aXphdGlvblR5cGU6dG9VSVRleHRBdXRvY2FwaXRhbGl6ZShfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uYXV0b2NhcGl0YWxpemVUeXBlKV07CisgICAgICAgIFtfdHJhaXRzIHNldEF1dG9jb3JyZWN0
aW9uVHlwZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaXNBdXRvY29ycmVjdCA/IFVJVGV4dEF1
dG9jb3JyZWN0aW9uVHlwZVllcyA6IFVJVGV4dEF1dG9jb3JyZWN0aW9uVHlwZU5vXTsKKyAgICB9
CisKKyAgICBzd2l0Y2ggKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSkgewor
ICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRU
eXBlOlVJS2V5Ym9hcmRUeXBlUGhvbmVQYWRdOworICAgICAgICBicmVhazsKKyAgICBjYXNlIElu
cHV0VHlwZTo6VVJMOgorICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2Fy
ZFR5cGVVUkxdOworICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6Cisg
ICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVz
c107CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6CisgICAgICAg
IFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlcnNBbmRQdW5jdHVh
dGlvbl07CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXJQYWQ6Cisg
ICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlclBhZF07
CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIFtfdHJhaXRzIHNldEtleWJv
YXJkVHlwZTpVSUtleWJvYXJkVHlwZURlZmF1bHRdOworICAgIH0KKworI2lmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMAorICAgIGlmIChOU1N0cmluZyAqdGV4dENv
bnRlbnRUeXBlID0gW19mb3JtSW5wdXRTZXNzaW9uIHRleHRDb250ZW50VHlwZV0pCisgICAgICAg
IFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTp0ZXh0Q29udGVudFR5cGVdOworICAgIGVsc2Ug
aWYgKE5TU3RyaW5nICp0ZXh0Q29udGVudFR5cGUgPSBjb250ZW50VHlwZUZyb21GaWVsZE5hbWUo
X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmF1dG9maWxsRmllbGROYW1lKSkKKyAgICAgICAgW190
cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOnRleHRDb250ZW50VHlwZV07CisjZW5kaWYKKwogICAg
IHJldHVybiBfdHJhaXRzLmdldCgpOwogfQogCg==
</data>
<flag name="review"
          id="303659"
          type_id="1"
          status="-"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279676</attachid>
            <date>2016-05-24 11:22:09 -0700</date>
            <delta_ts>2016-05-24 12:35:06 -0700</delta_ts>
            <desc>[iOS] Allow clients to set the type of an input field v3</desc>
            <filename>[iOS] Allow clients to set the type of an input field.txt</filename>
            <type>text/plain</type>
            <size>11726</size>
            <attacher name="Chelsea Pugh">cpugh</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTI5NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE2LTA1LTIzICBDaGVsc2Vh
IFB1Z2ggIDxjcHVnaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWxsb3cgY2xpZW50cyB0
byBvdmVycmlkZSB0aGUgdHlwZSBvZiBhbiBpbnB1dCBmaWVsZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3OTk1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0Zv
cm1JbnB1dFNlc3Npb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tGb3JtSW5wdXRTZXNzaW9uIHRleHRDb250ZW50
VHlwZV0pOiBHZXR0ZXIgZm9yIHRleHRDb250ZW50VHlwZS4KKyAgICAgICAgKC1bV0tGb3JtSW5w
dXRTZXNzaW9uIHNldFRleHRDb250ZW50VHlwZTpdKTogU2V0IHRoZSB0ZXh0Q29udGVudFR5cGUg
YW5kIHJlbG9hZAorICAgICAgICBpbnB1dCB2aWV3cy4KKyAgICAgICAgKGNvbnRlbnRUeXBlRnJv
bUZpZWxkTmFtZSk6IEZhY3RvciBvdXQgc3dpdGNoIHN0YXRlbWVudCB0byBnZXQgdGV4dCBjb250
ZW50IHR5cGUKKyAgICAgICAgZnJvbSBhdXRvZmlsbCBmaWVsZCBuYW1lIGludG8gaXRzIG93biBm
dW5jdGlvbi4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyB0ZXh0SW5wdXRUcmFpdHNdKTogSWYg
dGhlIGNsaWVudCBoYXMgc2V0IGEgdGV4dCBjb250ZW50IHR5cGUsCisgICAgICAgIHNldCB0aGUg
dHJhaXRzJyBjb250ZW50IHR5cGUgdG8gdGhhdC4gT3RoZXJ3aXNlLCBzZXQgdGhlIHRleHQgY29u
dGVudCB0eXBlIGlmCisgICAgICAgIHRoZXJlIGlzIG9uZSBiYXNlZCBvbiB0aGUgYXNzaXN0ZWQg
bm9kZSBpbmZvcm1hdGlvbidzIGF1dG9maWxsIGZpZWxkIG5hbWUuIElmCisgICAgICAgIG5laXRo
ZXIgdGhlIGZvcm0gaW5wdXQgc2Vzc2lvbiBub3IgdGhlIGFzc2lzdGVkIG5vZGUgaW5mbyB5aWVs
ZHMgYSB0ZXh0IGNvbnRlbnQKKyAgICAgICAgdHlwZSwgc2V0IHRoZSB0ZXh0IGNvbnRlbnQgdHlw
ZSB0byBuaWwsIGl0cyBkZWZhdWx0IHZhbHVlLgorCiAyMDE2LTA1LTIzICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGxvZ2dpbmcgZm9y
IE5TVVJMU2Vzc2lvbiBjYWxscwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tGb3JtSW5wdXRTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tGb3JtSW5wdXRTZXNzaW9uLmgJKHJldmlzaW9uIDIwMTI5
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRm9ybUlucHV0U2Vz
c2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBACiBAcHJvcGVydHkgKG5vbmF0
b21pYywgc3Ryb25nKSBVSVZpZXcgKmN1c3RvbUlucHV0VmlldyBXS19BVkFJTEFCTEUoTkEsIFdL
X0lPU19UQkEpOwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8VUlUZXh0U3Vn
Z2VzdGlvbiAqPiAqc3VnZ2VzdGlvbnMgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFjY2Vzc29yeVZpZXdTaG91bGROb3RTaG93IFdLX0FW
QUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKnRleHRDb250ZW50VHlwZSBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOwogI2Vu
ZGlmCiAKIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCShyZXZpc2lvbiAyMDEyOTApCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjY0LDYgKzI2NCw3IEBACiAgICAgUmV0YWluUHRyPFdLRm9jdXNl
ZEVsZW1lbnRJbmZvPiBfZm9jdXNlZEVsZW1lbnRJbmZvOwogICAgIFJldGFpblB0cjxVSVZpZXc+
IF9jdXN0b21JbnB1dFZpZXc7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8VUlUZXh0U3VnZ2VzdGlv
biAqPj4gX3N1Z2dlc3Rpb25zOworICAgIFJldGFpblB0cjxOU1N0cmluZz4gX3RleHRDb250ZW50
VHlwZTsKICAgICBCT09MIF9hY2Nlc3NvcnlWaWV3U2hvdWxkTm90U2hvdzsKIH0KIApAQCAtMzUx
LDYgKzM1MiwyMCBAQAogI2VuZGlmCiB9CiAKKy0gKE5TU3RyaW5nICopdGV4dENvbnRlbnRUeXBl
Cit7CisgICAgcmV0dXJuIF90ZXh0Q29udGVudFR5cGUuZ2V0KCk7Cit9CisKKy0gKHZvaWQpc2V0
VGV4dENvbnRlbnRUeXBlOihOU1N0cmluZyAqKXRleHRDb250ZW50VHlwZQoreworICAgIGlmICh0
ZXh0Q29udGVudFR5cGUgPT0gX3RleHRDb250ZW50VHlwZSB8fCBbdGV4dENvbnRlbnRUeXBlIGlz
RXF1YWxUb1N0cmluZzpfdGV4dENvbnRlbnRUeXBlXSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
X3RleHRDb250ZW50VHlwZSA9IGFkb3B0TlMoW3RleHRDb250ZW50VHlwZSBjb3B5XSk7CisgICAg
W19jb250ZW50VmlldyByZWxvYWRJbnB1dFZpZXdzXTsKK30KKwogLSAodm9pZClpbnZhbGlkYXRl
CiB7CiAgICAgX2NvbnRlbnRWaWV3ID0gbmlsOwpAQCAtMjg3MywxMDkgKzI4ODgsNTAgQEAKICAg
ICByZXR1cm4gVUlUZXh0QXV0b2NhcGl0YWxpemF0aW9uVHlwZVNlbnRlbmNlczsKIH0KIAotLy8g
VUlUZXh0SW5wdXRQcml2YXRlIHByb3RvY29sCi0vLyBEaXJlY3QgYWNjZXNzIHRvIHRoZSAocHJp
dmF0ZSkgVUlUZXh0SW5wdXRUcmFpdHMgb2JqZWN0LgotLSAoVUlUZXh0SW5wdXRUcmFpdHMgKil0
ZXh0SW5wdXRUcmFpdHMKKyNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDAwMDAKK3N0YXRpYyBOU1N0cmluZyAqY29udGVudFR5cGVGcm9tRmllbGROYW1lKFdlYkNvcmU6
OkF1dG9maWxsRmllbGROYW1lIGZpZWxkTmFtZSkKIHsKLSAgICBpZiAoIV90cmFpdHMpCi0gICAg
ICAgIF90cmFpdHMgPSBhZG9wdE5TKFtbVUlUZXh0SW5wdXRUcmFpdHMgYWxsb2NdIGluaXRdKTsK
LQotICAgIFtfdHJhaXRzIHNldFNlY3VyZVRleHRFbnRyeTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZF07Ci0gICAgW190cmFpdHMgc2V0
U2hvcnRjdXRDb252ZXJzaW9uVHlwZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5
cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZCA/IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGVO
byA6IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGVEZWZhdWx0XTsKLQotICAgIGlmICghX2Fz
c2lzdGVkTm9kZUluZm9ybWF0aW9uLmZvcm1BY3Rpb24uaXNFbXB0eSgpKQotICAgICAgICBbX3Ry
YWl0cyBzZXRSZXR1cm5LZXlUeXBlOihfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5
cGUgPT0gSW5wdXRUeXBlOjpTZWFyY2gpID8gVUlSZXR1cm5LZXlTZWFyY2ggOiBVSVJldHVybktl
eUdvXTsKLQotICAgIGlmIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5cGUgPT0g
SW5wdXRUeXBlOjpQYXNzd29yZCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5
cGUgPT0gSW5wdXRUeXBlOjpFbWFpbCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVu
dFR5cGUgPT0gSW5wdXRUeXBlOjpVUkwgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmZvcm1B
Y3Rpb24uY29udGFpbnMoImxvZ2luIikpIHsKLSAgICAgICAgW190cmFpdHMgc2V0QXV0b2NhcGl0
YWxpemF0aW9uVHlwZTpVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlTm9uZV07Ci0gICAgICAg
IFtfdHJhaXRzIHNldEF1dG9jb3JyZWN0aW9uVHlwZTpVSVRleHRBdXRvY29ycmVjdGlvblR5cGVO
b107Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgW190cmFpdHMgc2V0QXV0b2NhcGl0YWxpemF0aW9u
VHlwZTp0b1VJVGV4dEF1dG9jYXBpdGFsaXplKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5hdXRv
Y2FwaXRhbGl6ZVR5cGUpXTsKLSAgICAgICAgW190cmFpdHMgc2V0QXV0b2NvcnJlY3Rpb25UeXBl
Ol9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0ID8gVUlUZXh0QXV0b2NvcnJl
Y3Rpb25UeXBlWWVzIDogVUlUZXh0QXV0b2NvcnJlY3Rpb25UeXBlTm9dOwotICAgIH0KLQotICAg
IHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlKSB7Ci0gICAgY2Fz
ZSBJbnB1dFR5cGU6OlBob25lOgotICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRUeXBlOlVJ
S2V5Ym9hcmRUeXBlUGhvbmVQYWRdOwotICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1dFR5
cGU6OlVSTDoKLSAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlw
ZVVSTF07Ci0gICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6Ci0gICAg
ICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFkZHJlc3Nd
OwotICAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6Ci0gICAgICAg
ICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5kUHVuY3R1
YXRpb25dOwotICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJlclBhZDoK
LSAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlclBh
ZF07Ci0gICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICAgW190cmFpdHMgc2V0
S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07Ci0gICAgfQotCi0jaWYgX19JUEhP
TkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwCi0gICAgc3dpdGNoIChfYXNzaXN0
ZWROb2RlSW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUpIHsKKyAgICBzd2l0Y2ggKGZpZWxk
TmFtZSkgewogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok5hbWU6Ci0gICAg
ICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU5hbWVdOwot
ICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmFtZTsKICAg
ICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpIb25vcmlmaWNQcmVmaXg6Ci0gICAg
ICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU5hbWVQcmVm
aXhdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmFt
ZVByZWZpeDsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpHaXZlbk5hbWU6
Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU1p
ZGRsZU5hbWVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRU
eXBlTWlkZGxlTmFtZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpBZGRp
dGlvbmFsTmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENv
bnRlbnRUeXBlTWlkZGxlTmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlU
ZXh0Q29udGVudFR5cGVNaWRkbGVOYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVs
ZE5hbWU6OkZhbWlseU5hbWU6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpV
SVRleHRDb250ZW50VHlwZUZhbWlseU5hbWVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0
dXJuIFVJVGV4dENvbnRlbnRUeXBlRmFtaWx5TmFtZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9m
aWxsRmllbGROYW1lOjpIb25vcmlmaWNTdWZmaXg6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRD
b250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU5hbWVTdWZmaXhdOwotICAgICAgICBicmVhazsK
KyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmFtZVN1ZmZpeDsKICAgICBjYXNlIFdl
YkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpOaWNrbmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0
VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlTmlja25hbWVdOwotICAgICAgICBicmVh
azsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmlja25hbWU7CiAgICAgY2FzZSBX
ZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6T3JnYW5pemF0aW9uVGl0bGU6Ci0gICAgICAgIFtf
dHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZUpvYlRpdGxlXTsKLSAg
ICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZUpvYlRpdGxlOwog
ICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok9yZ2FuaXphdGlvbjoKLSAgICAg
ICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlT3JnYW5pemF0
aW9uTmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5
cGVPcmdhbml6YXRpb25OYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6
OlN0cmVldEFkZHJlc3M6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRl
eHRDb250ZW50VHlwZUZ1bGxTdHJlZXRBZGRyZXNzXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAg
IHJldHVybiBVSVRleHRDb250ZW50VHlwZUZ1bGxTdHJlZXRBZGRyZXNzOwogICAgIGNhc2UgV2Vi
Q29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkFkZHJlc3NMaW5lMToKLSAgICAgICAgW190cmFpdHMg
c2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlU3RyZWV0QWRkcmVzc0xpbmUxXTsK
LSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZVN0cmVldEFk
ZHJlc3NMaW5lMTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpBZGRyZXNz
TGluZTI6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50
VHlwZVN0cmVldEFkZHJlc3NMaW5lMl07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4g
VUlUZXh0Q29udGVudFR5cGVTdHJlZXRBZGRyZXNzTGluZTI7CiAgICAgY2FzZSBXZWJDb3JlOjpB
dXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xldmVsMzoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4
dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlU3VibG9jYWxpdHldOwotICAgICAgICBicmVh
azsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlU3VibG9jYWxpdHk7CiAgICAgY2Fz
ZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xldmVsMjoKLSAgICAgICAgW190
cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlQWRkcmVzc0NpdHldOwot
ICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlQWRkcmVzc0Np
dHk7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xldmVsMToK
LSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlQWRk
cmVzc1N0YXRlXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50
VHlwZUFkZHJlc3NTdGF0ZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpD
b3VudHJ5TmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENv
bnRlbnRUeXBlQ291bnRyeU5hbWVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJ
VGV4dENvbnRlbnRUeXBlQ291bnRyeU5hbWU7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZp
ZWxkTmFtZTo6UG9zdGFsQ29kZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBl
OlVJVGV4dENvbnRlbnRUeXBlUG9zdGFsQ29kZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICBy
ZXR1cm4gVUlUZXh0Q29udGVudFR5cGVQb3N0YWxDb2RlOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0
b2ZpbGxGaWVsZE5hbWU6OlRlbDoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBl
OlVJVGV4dENvbnRlbnRUeXBlVGVsZXBob25lTnVtYmVyXTsKLSAgICAgICAgYnJlYWs7CisgICAg
ICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZVRlbGVwaG9uZU51bWJlcjsKICAgICBjYXNlIFdl
YkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpFbWFpbDoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4
dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlRW1haWxBZGRyZXNzXTsKLSAgICAgICAgYnJl
YWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZUVtYWlsQWRkcmVzczsKICAgICBj
YXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpVUkw6Ci0gICAgICAgIFtfdHJhaXRzIHNl
dFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZVVSTF07Ci0gICAgICAgIGJyZWFrOwor
ICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVVUkw7CiAgICAgY2FzZSBXZWJDb3JlOjpB
dXRvZmlsbEZpZWxkTmFtZTo6Tm9uZToKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGRO
YW1lOjpVc2VybmFtZToKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpOZXdQ
YXNzd29yZDoKQEAgLTMwMTIsOCArMjk2OCw2MSBAQAogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2Zp
bGxGaWVsZE5hbWU6OkltcHA6CiAgICAgICAgIGJyZWFrOwogICAgIH07CisKKyAgICByZXR1cm4g
bmlsOworfQogI2VuZGlmCiAKKy8vIFVJVGV4dElucHV0UHJpdmF0ZSBwcm90b2NvbAorLy8gRGly
ZWN0IGFjY2VzcyB0byB0aGUgKHByaXZhdGUpIFVJVGV4dElucHV0VHJhaXRzIG9iamVjdC4KKy0g
KFVJVGV4dElucHV0VHJhaXRzICopdGV4dElucHV0VHJhaXRzCit7CisgICAgaWYgKCFfdHJhaXRz
KQorICAgICAgICBfdHJhaXRzID0gYWRvcHROUyhbW1VJVGV4dElucHV0VHJhaXRzIGFsbG9jXSBp
bml0XSk7CisKKyAgICBbX3RyYWl0cyBzZXRTZWN1cmVUZXh0RW50cnk6X2Fzc2lzdGVkTm9kZUlu
Zm9ybWF0aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6UGFzc3dvcmRdOworICAgIFtfdHJh
aXRzIHNldFNob3J0Y3V0Q29udmVyc2lvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlID09IElucHV0VHlwZTo6UGFzc3dvcmQgPyBVSVRleHRTaG9ydGN1dENvbnZlcnNp
b25UeXBlTm8gOiBVSVRleHRTaG9ydGN1dENvbnZlcnNpb25UeXBlRGVmYXVsdF07CisKKyAgICBp
ZiAoIV9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5mb3JtQWN0aW9uLmlzRW1wdHkoKSkKKyAgICAg
ICAgW190cmFpdHMgc2V0UmV0dXJuS2V5VHlwZTooX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlID09IElucHV0VHlwZTo6U2VhcmNoKSA/IFVJUmV0dXJuS2V5U2VhcmNoIDogVUlS
ZXR1cm5LZXlHb107CisKKyAgICBpZiAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRU
eXBlID09IElucHV0VHlwZTo6UGFzc3dvcmQgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlID09IElucHV0VHlwZTo6RW1haWwgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9u
LmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6VVJMIHx8IF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bi5mb3JtQWN0aW9uLmNvbnRhaW5zKCJsb2dpbiIpKSB7CisgICAgICAgIFtfdHJhaXRzIHNldEF1
dG9jYXBpdGFsaXphdGlvblR5cGU6VUlUZXh0QXV0b2NhcGl0YWxpemF0aW9uVHlwZU5vbmVdOwor
ICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY29ycmVjdGlvblR5cGU6VUlUZXh0QXV0b2NvcnJlY3Rp
b25UeXBlTm9dOworICAgIH0gZWxzZSB7CisgICAgICAgIFtfdHJhaXRzIHNldEF1dG9jYXBpdGFs
aXphdGlvblR5cGU6dG9VSVRleHRBdXRvY2FwaXRhbGl6ZShfYXNzaXN0ZWROb2RlSW5mb3JtYXRp
b24uYXV0b2NhcGl0YWxpemVUeXBlKV07CisgICAgICAgIFtfdHJhaXRzIHNldEF1dG9jb3JyZWN0
aW9uVHlwZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaXNBdXRvY29ycmVjdCA/IFVJVGV4dEF1
dG9jb3JyZWN0aW9uVHlwZVllcyA6IFVJVGV4dEF1dG9jb3JyZWN0aW9uVHlwZU5vXTsKKyAgICB9
CisKKyAgICBzd2l0Y2ggKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlwZSkgewor
ICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRU
eXBlOlVJS2V5Ym9hcmRUeXBlUGhvbmVQYWRdOworICAgICAgICBicmVhazsKKyAgICBjYXNlIElu
cHV0VHlwZTo6VVJMOgorICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2Fy
ZFR5cGVVUkxdOworICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6Cisg
ICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZUVtYWlsQWRkcmVz
c107CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6CisgICAgICAg
IFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlcnNBbmRQdW5jdHVh
dGlvbl07CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXJQYWQ6Cisg
ICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlclBhZF07
CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIFtfdHJhaXRzIHNldEtleWJv
YXJkVHlwZTpVSUtleWJvYXJkVHlwZURlZmF1bHRdOworICAgIH0KKworI2lmIF9fSVBIT05FX09T
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMAorICAgIGlmIChOU1N0cmluZyAqdGV4dENv
bnRlbnRUeXBlID0gW19mb3JtSW5wdXRTZXNzaW9uIHRleHRDb250ZW50VHlwZV0pCisgICAgICAg
IFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTp0ZXh0Q29udGVudFR5cGVdOworICAgIGVsc2Ug
eworICAgICAgICBOU1N0cmluZyAqdGV4dENvbnRlbnRUeXBlID0gY29udGVudFR5cGVGcm9tRmll
bGROYW1lKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5hdXRvZmlsbEZpZWxkTmFtZSkKKyAgICAg
ICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOnRleHRDb250ZW50VHlwZV07CisgICAgfQor
I2VuZGlmCisKICAgICByZXR1cm4gX3RyYWl0cy5nZXQoKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279689</attachid>
            <date>2016-05-24 12:35:06 -0700</date>
            <delta_ts>2016-05-24 13:21:09 -0700</delta_ts>
            <desc>[iOS] Allow clients to set the type of an input field v4</desc>
            <filename>[iOS] Allow clients to set the type of an input field.txt</filename>
            <type>text/plain</type>
            <size>11670</size>
            <attacher name="Chelsea Pugh">cpugh</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTI5NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDE2LTA1LTIzICBDaGVsc2Vh
IFB1Z2ggIDxjcHVnaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQWxsb3cgY2xpZW50cyB0
byBvdmVycmlkZSB0aGUgdHlwZSBvZiBhbiBpbnB1dCBmaWVsZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU3OTk1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0Zv
cm1JbnB1dFNlc3Npb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJ
bnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tGb3JtSW5wdXRTZXNzaW9uIHRleHRDb250ZW50
VHlwZV0pOiBHZXR0ZXIgZm9yIHRleHRDb250ZW50VHlwZS4KKyAgICAgICAgKC1bV0tGb3JtSW5w
dXRTZXNzaW9uIHNldFRleHRDb250ZW50VHlwZTpdKTogU2V0IHRoZSB0ZXh0Q29udGVudFR5cGUg
YW5kIHJlbG9hZAorICAgICAgICBpbnB1dCB2aWV3cy4KKyAgICAgICAgKGNvbnRlbnRUeXBlRnJv
bUZpZWxkTmFtZSk6IEZhY3RvciBvdXQgc3dpdGNoIHN0YXRlbWVudCB0byBnZXQgdGV4dCBjb250
ZW50IHR5cGUKKyAgICAgICAgZnJvbSBhdXRvZmlsbCBmaWVsZCBuYW1lIGludG8gaXRzIG93biBm
dW5jdGlvbi4KKyAgICAgICAgKC1bV0tDb250ZW50VmlldyB0ZXh0SW5wdXRUcmFpdHNdKTogSWYg
dGhlIGNsaWVudCBoYXMgc2V0IGEgdGV4dCBjb250ZW50IHR5cGUsCisgICAgICAgIHNldCB0aGUg
dHJhaXRzJyBjb250ZW50IHR5cGUgdG8gdGhhdC4gT3RoZXJ3aXNlLCBzZXQgdGhlIHRleHQgY29u
dGVudCB0eXBlIGlmCisgICAgICAgIHRoZXJlIGlzIG9uZSBiYXNlZCBvbiB0aGUgYXNzaXN0ZWQg
bm9kZSBpbmZvcm1hdGlvbidzIGF1dG9maWxsIGZpZWxkIG5hbWUuIElmCisgICAgICAgIG5laXRo
ZXIgdGhlIGZvcm0gaW5wdXQgc2Vzc2lvbiBub3IgdGhlIGFzc2lzdGVkIG5vZGUgaW5mbyB5aWVs
ZHMgYSB0ZXh0IGNvbnRlbnQKKyAgICAgICAgdHlwZSwgc2V0IHRoZSB0ZXh0IGNvbnRlbnQgdHlw
ZSB0byBuaWwsIGl0cyBkZWZhdWx0IHZhbHVlLgorCiAyMDE2LTA1LTIzICBBbGV4IENocmlzdGVu
c2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGxvZ2dpbmcgZm9y
IE5TVVJMU2Vzc2lvbiBjYWxscwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tGb3JtSW5wdXRTZXNzaW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tGb3JtSW5wdXRTZXNzaW9uLmgJKHJldmlzaW9uIDIwMTI5
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRm9ybUlucHV0U2Vz
c2lvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBACiBAcHJvcGVydHkgKG5vbmF0
b21pYywgc3Ryb25nKSBVSVZpZXcgKmN1c3RvbUlucHV0VmlldyBXS19BVkFJTEFCTEUoTkEsIFdL
X0lPU19UQkEpOwogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8VUlUZXh0U3Vn
Z2VzdGlvbiAqPiAqc3VnZ2VzdGlvbnMgV0tfQVZBSUxBQkxFKE5BLCBXS19JT1NfVEJBKTsKIEBw
cm9wZXJ0eSAobm9uYXRvbWljKSBCT09MIGFjY2Vzc29yeVZpZXdTaG91bGROb3RTaG93IFdLX0FW
QUlMQUJMRShOQSwgV0tfSU9TX1RCQSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKnRleHRDb250ZW50VHlwZSBXS19BVkFJTEFCTEUoTkEsIFdLX0lPU19UQkEpOwogI2Vu
ZGlmCiAKIEBlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCShyZXZpc2lvbiAyMDEyOTApCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjY0LDYgKzI2NCw3IEBACiAgICAgUmV0YWluUHRyPFdLRm9jdXNl
ZEVsZW1lbnRJbmZvPiBfZm9jdXNlZEVsZW1lbnRJbmZvOwogICAgIFJldGFpblB0cjxVSVZpZXc+
IF9jdXN0b21JbnB1dFZpZXc7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8VUlUZXh0U3VnZ2VzdGlv
biAqPj4gX3N1Z2dlc3Rpb25zOworICAgIFJldGFpblB0cjxOU1N0cmluZz4gX3RleHRDb250ZW50
VHlwZTsKICAgICBCT09MIF9hY2Nlc3NvcnlWaWV3U2hvdWxkTm90U2hvdzsKIH0KIApAQCAtMzUx
LDYgKzM1MiwyMCBAQAogI2VuZGlmCiB9CiAKKy0gKE5TU3RyaW5nICopdGV4dENvbnRlbnRUeXBl
Cit7CisgICAgcmV0dXJuIF90ZXh0Q29udGVudFR5cGUuZ2V0KCk7Cit9CisKKy0gKHZvaWQpc2V0
VGV4dENvbnRlbnRUeXBlOihOU1N0cmluZyAqKXRleHRDb250ZW50VHlwZQoreworICAgIGlmICh0
ZXh0Q29udGVudFR5cGUgPT0gX3RleHRDb250ZW50VHlwZSB8fCBbdGV4dENvbnRlbnRUeXBlIGlz
RXF1YWxUb1N0cmluZzpfdGV4dENvbnRlbnRUeXBlLmdldCgpXSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgX3RleHRDb250ZW50VHlwZSA9IGFkb3B0TlMoW3RleHRDb250ZW50VHlwZSBjb3B5XSk7
CisgICAgW19jb250ZW50VmlldyByZWxvYWRJbnB1dFZpZXdzXTsKK30KKwogLSAodm9pZClpbnZh
bGlkYXRlCiB7CiAgICAgX2NvbnRlbnRWaWV3ID0gbmlsOwpAQCAtMjg3MywxMDkgKzI4ODgsNTAg
QEAKICAgICByZXR1cm4gVUlUZXh0QXV0b2NhcGl0YWxpemF0aW9uVHlwZVNlbnRlbmNlczsKIH0K
IAotLy8gVUlUZXh0SW5wdXRQcml2YXRlIHByb3RvY29sCi0vLyBEaXJlY3QgYWNjZXNzIHRvIHRo
ZSAocHJpdmF0ZSkgVUlUZXh0SW5wdXRUcmFpdHMgb2JqZWN0LgotLSAoVUlUZXh0SW5wdXRUcmFp
dHMgKil0ZXh0SW5wdXRUcmFpdHMKKyNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDAwMDAKK3N0YXRpYyBOU1N0cmluZyAqY29udGVudFR5cGVGcm9tRmllbGROYW1lKFdl
YkNvcmU6OkF1dG9maWxsRmllbGROYW1lIGZpZWxkTmFtZSkKIHsKLSAgICBpZiAoIV90cmFpdHMp
Ci0gICAgICAgIF90cmFpdHMgPSBhZG9wdE5TKFtbVUlUZXh0SW5wdXRUcmFpdHMgYWxsb2NdIGlu
aXRdKTsKLQotICAgIFtfdHJhaXRzIHNldFNlY3VyZVRleHRFbnRyeTpfYXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24uZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZF07Ci0gICAgW190cmFp
dHMgc2V0U2hvcnRjdXRDb252ZXJzaW9uVHlwZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxl
bWVudFR5cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZCA/IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lv
blR5cGVObyA6IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGVEZWZhdWx0XTsKLQotICAgIGlm
ICghX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmZvcm1BY3Rpb24uaXNFbXB0eSgpKQotICAgICAg
ICBbX3RyYWl0cyBzZXRSZXR1cm5LZXlUeXBlOihfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxl
bWVudFR5cGUgPT0gSW5wdXRUeXBlOjpTZWFyY2gpID8gVUlSZXR1cm5LZXlTZWFyY2ggOiBVSVJl
dHVybktleUdvXTsKLQotICAgIGlmIChfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxlbWVudFR5
cGUgPT0gSW5wdXRUeXBlOjpQYXNzd29yZCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uZWxl
bWVudFR5cGUgPT0gSW5wdXRUeXBlOjpFbWFpbCB8fCBfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24u
ZWxlbWVudFR5cGUgPT0gSW5wdXRUeXBlOjpVUkwgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9u
LmZvcm1BY3Rpb24uY29udGFpbnMoImxvZ2luIikpIHsKLSAgICAgICAgW190cmFpdHMgc2V0QXV0
b2NhcGl0YWxpemF0aW9uVHlwZTpVSVRleHRBdXRvY2FwaXRhbGl6YXRpb25UeXBlTm9uZV07Ci0g
ICAgICAgIFtfdHJhaXRzIHNldEF1dG9jb3JyZWN0aW9uVHlwZTpVSVRleHRBdXRvY29ycmVjdGlv
blR5cGVOb107Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgW190cmFpdHMgc2V0QXV0b2NhcGl0YWxp
emF0aW9uVHlwZTp0b1VJVGV4dEF1dG9jYXBpdGFsaXplKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlv
bi5hdXRvY2FwaXRhbGl6ZVR5cGUpXTsKLSAgICAgICAgW190cmFpdHMgc2V0QXV0b2NvcnJlY3Rp
b25UeXBlOl9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5pc0F1dG9jb3JyZWN0ID8gVUlUZXh0QXV0
b2NvcnJlY3Rpb25UeXBlWWVzIDogVUlUZXh0QXV0b2NvcnJlY3Rpb25UeXBlTm9dOwotICAgIH0K
LQotICAgIHN3aXRjaCAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlKSB7Ci0g
ICAgY2FzZSBJbnB1dFR5cGU6OlBob25lOgotICAgICAgICAgW190cmFpdHMgc2V0S2V5Ym9hcmRU
eXBlOlVJS2V5Ym9hcmRUeXBlUGhvbmVQYWRdOwotICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJ
bnB1dFR5cGU6OlVSTDoKLSAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJv
YXJkVHlwZVVSTF07Ci0gICAgICAgICBicmVhazsKLSAgICBjYXNlIElucHV0VHlwZTo6RW1haWw6
Ci0gICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVFbWFpbEFk
ZHJlc3NdOwotICAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6Ci0g
ICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlLZXlib2FyZFR5cGVOdW1iZXJzQW5k
UHVuY3R1YXRpb25dOwotICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBJbnB1dFR5cGU6Ok51bWJl
clBhZDoKLSAgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51
bWJlclBhZF07Ci0gICAgICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICAgW190cmFp
dHMgc2V0S2V5Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlRGVmYXVsdF07Ci0gICAgfQotCi0jaWYg
X19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAwMDAwCi0gICAgc3dpdGNoIChf
YXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUpIHsKKyAgICBzd2l0Y2gg
KGZpZWxkTmFtZSkgewogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok5hbWU6
Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU5h
bWVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmFt
ZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpIb25vcmlmaWNQcmVmaXg6
Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU5h
bWVQcmVmaXhdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRU
eXBlTmFtZVByZWZpeDsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpHaXZl
bk5hbWU6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50
VHlwZU1pZGRsZU5hbWVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENv
bnRlbnRUeXBlTWlkZGxlTmFtZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1l
OjpBZGRpdGlvbmFsTmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJ
VGV4dENvbnRlbnRUeXBlTWlkZGxlTmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1
cm4gVUlUZXh0Q29udGVudFR5cGVNaWRkbGVOYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2Zp
bGxGaWVsZE5hbWU6OkZhbWlseU5hbWU6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50
VHlwZTpVSVRleHRDb250ZW50VHlwZUZhbWlseU5hbWVdOwotICAgICAgICBicmVhazsKKyAgICAg
ICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlRmFtaWx5TmFtZTsKICAgICBjYXNlIFdlYkNvcmU6
OkF1dG9maWxsRmllbGROYW1lOjpIb25vcmlmaWNTdWZmaXg6Ci0gICAgICAgIFtfdHJhaXRzIHNl
dFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZU5hbWVTdWZmaXhdOwotICAgICAgICBi
cmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmFtZVN1ZmZpeDsKICAgICBj
YXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpOaWNrbmFtZToKLSAgICAgICAgW190cmFp
dHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlTmlja25hbWVdOwotICAgICAg
ICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlTmlja25hbWU7CiAgICAg
Y2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6T3JnYW5pemF0aW9uVGl0bGU6Ci0gICAg
ICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZUpvYlRpdGxl
XTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZUpvYlRp
dGxlOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6Ok9yZ2FuaXphdGlvbjoK
LSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlT3Jn
YW5pemF0aW9uTmFtZV07Ci0gICAgICAgIGJyZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29u
dGVudFR5cGVPcmdhbml6YXRpb25OYW1lOwogICAgIGNhc2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVs
ZE5hbWU6OlN0cmVldEFkZHJlc3M6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlw
ZTpVSVRleHRDb250ZW50VHlwZUZ1bGxTdHJlZXRBZGRyZXNzXTsKLSAgICAgICAgYnJlYWs7Cisg
ICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZUZ1bGxTdHJlZXRBZGRyZXNzOwogICAgIGNh
c2UgV2ViQ29yZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OkFkZHJlc3NMaW5lMToKLSAgICAgICAgW190
cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlU3RyZWV0QWRkcmVzc0xp
bmUxXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZVN0
cmVldEFkZHJlc3NMaW5lMTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpB
ZGRyZXNzTGluZTI6Ci0gICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRD
b250ZW50VHlwZVN0cmVldEFkZHJlc3NMaW5lMl07Ci0gICAgICAgIGJyZWFrOworICAgICAgICBy
ZXR1cm4gVUlUZXh0Q29udGVudFR5cGVTdHJlZXRBZGRyZXNzTGluZTI7CiAgICAgY2FzZSBXZWJD
b3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xldmVsMzoKLSAgICAgICAgW190cmFpdHMg
c2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlU3VibG9jYWxpdHldOwotICAgICAg
ICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlU3VibG9jYWxpdHk7CiAg
ICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xldmVsMjoKLSAgICAg
ICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlQWRkcmVzc0Np
dHldOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0dXJuIFVJVGV4dENvbnRlbnRUeXBlQWRk
cmVzc0NpdHk7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6QWRkcmVzc0xl
dmVsMToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRU
eXBlQWRkcmVzc1N0YXRlXTsKLSAgICAgICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRD
b250ZW50VHlwZUFkZHJlc3NTdGF0ZTsKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGRO
YW1lOjpDb3VudHJ5TmFtZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOlVJ
VGV4dENvbnRlbnRUeXBlQ291bnRyeU5hbWVdOwotICAgICAgICBicmVhazsKKyAgICAgICAgcmV0
dXJuIFVJVGV4dENvbnRlbnRUeXBlQ291bnRyeU5hbWU7CiAgICAgY2FzZSBXZWJDb3JlOjpBdXRv
ZmlsbEZpZWxkTmFtZTo6UG9zdGFsQ29kZToKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRl
bnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlUG9zdGFsQ29kZV07Ci0gICAgICAgIGJyZWFrOworICAg
ICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVQb3N0YWxDb2RlOwogICAgIGNhc2UgV2ViQ29y
ZTo6QXV0b2ZpbGxGaWVsZE5hbWU6OlRlbDoKLSAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRl
bnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlVGVsZXBob25lTnVtYmVyXTsKLSAgICAgICAgYnJlYWs7
CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZVRlbGVwaG9uZU51bWJlcjsKICAgICBj
YXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpFbWFpbDoKLSAgICAgICAgW190cmFpdHMg
c2V0VGV4dENvbnRlbnRUeXBlOlVJVGV4dENvbnRlbnRUeXBlRW1haWxBZGRyZXNzXTsKLSAgICAg
ICAgYnJlYWs7CisgICAgICAgIHJldHVybiBVSVRleHRDb250ZW50VHlwZUVtYWlsQWRkcmVzczsK
ICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1lOjpVUkw6Ci0gICAgICAgIFtfdHJh
aXRzIHNldFRleHRDb250ZW50VHlwZTpVSVRleHRDb250ZW50VHlwZVVSTF07Ci0gICAgICAgIGJy
ZWFrOworICAgICAgICByZXR1cm4gVUlUZXh0Q29udGVudFR5cGVVUkw7CiAgICAgY2FzZSBXZWJD
b3JlOjpBdXRvZmlsbEZpZWxkTmFtZTo6Tm9uZToKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxs
RmllbGROYW1lOjpVc2VybmFtZToKICAgICBjYXNlIFdlYkNvcmU6OkF1dG9maWxsRmllbGROYW1l
OjpOZXdQYXNzd29yZDoKQEAgLTMwMTIsOCArMjk2OCw1OSBAQAogICAgIGNhc2UgV2ViQ29yZTo6
QXV0b2ZpbGxGaWVsZE5hbWU6OkltcHA6CiAgICAgICAgIGJyZWFrOwogICAgIH07CisKKyAgICBy
ZXR1cm4gbmlsOworfQogI2VuZGlmCiAKKy8vIFVJVGV4dElucHV0UHJpdmF0ZSBwcm90b2NvbAor
Ly8gRGlyZWN0IGFjY2VzcyB0byB0aGUgKHByaXZhdGUpIFVJVGV4dElucHV0VHJhaXRzIG9iamVj
dC4KKy0gKFVJVGV4dElucHV0VHJhaXRzICopdGV4dElucHV0VHJhaXRzCit7CisgICAgaWYgKCFf
dHJhaXRzKQorICAgICAgICBfdHJhaXRzID0gYWRvcHROUyhbW1VJVGV4dElucHV0VHJhaXRzIGFs
bG9jXSBpbml0XSk7CisKKyAgICBbX3RyYWl0cyBzZXRTZWN1cmVUZXh0RW50cnk6X2Fzc2lzdGVk
Tm9kZUluZm9ybWF0aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6UGFzc3dvcmRdOworICAg
IFtfdHJhaXRzIHNldFNob3J0Y3V0Q29udmVyc2lvblR5cGU6X2Fzc2lzdGVkTm9kZUluZm9ybWF0
aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6UGFzc3dvcmQgPyBVSVRleHRTaG9ydGN1dENv
bnZlcnNpb25UeXBlTm8gOiBVSVRleHRTaG9ydGN1dENvbnZlcnNpb25UeXBlRGVmYXVsdF07CisK
KyAgICBpZiAoIV9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5mb3JtQWN0aW9uLmlzRW1wdHkoKSkK
KyAgICAgICAgW190cmFpdHMgc2V0UmV0dXJuS2V5VHlwZTooX2Fzc2lzdGVkTm9kZUluZm9ybWF0
aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6U2VhcmNoKSA/IFVJUmV0dXJuS2V5U2VhcmNo
IDogVUlSZXR1cm5LZXlHb107CisKKyAgICBpZiAoX2Fzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmVs
ZW1lbnRUeXBlID09IElucHV0VHlwZTo6UGFzc3dvcmQgfHwgX2Fzc2lzdGVkTm9kZUluZm9ybWF0
aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6RW1haWwgfHwgX2Fzc2lzdGVkTm9kZUluZm9y
bWF0aW9uLmVsZW1lbnRUeXBlID09IElucHV0VHlwZTo6VVJMIHx8IF9hc3Npc3RlZE5vZGVJbmZv
cm1hdGlvbi5mb3JtQWN0aW9uLmNvbnRhaW5zKCJsb2dpbiIpKSB7CisgICAgICAgIFtfdHJhaXRz
IHNldEF1dG9jYXBpdGFsaXphdGlvblR5cGU6VUlUZXh0QXV0b2NhcGl0YWxpemF0aW9uVHlwZU5v
bmVdOworICAgICAgICBbX3RyYWl0cyBzZXRBdXRvY29ycmVjdGlvblR5cGU6VUlUZXh0QXV0b2Nv
cnJlY3Rpb25UeXBlTm9dOworICAgIH0gZWxzZSB7CisgICAgICAgIFtfdHJhaXRzIHNldEF1dG9j
YXBpdGFsaXphdGlvblR5cGU6dG9VSVRleHRBdXRvY2FwaXRhbGl6ZShfYXNzaXN0ZWROb2RlSW5m
b3JtYXRpb24uYXV0b2NhcGl0YWxpemVUeXBlKV07CisgICAgICAgIFtfdHJhaXRzIHNldEF1dG9j
b3JyZWN0aW9uVHlwZTpfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uaXNBdXRvY29ycmVjdCA/IFVJ
VGV4dEF1dG9jb3JyZWN0aW9uVHlwZVllcyA6IFVJVGV4dEF1dG9jb3JyZWN0aW9uVHlwZU5vXTsK
KyAgICB9CisKKyAgICBzd2l0Y2ggKF9hc3Npc3RlZE5vZGVJbmZvcm1hdGlvbi5lbGVtZW50VHlw
ZSkgeworICAgIGNhc2UgSW5wdXRUeXBlOjpQaG9uZToKKyAgICAgICAgW190cmFpdHMgc2V0S2V5
Ym9hcmRUeXBlOlVJS2V5Ym9hcmRUeXBlUGhvbmVQYWRdOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIElucHV0VHlwZTo6VVJMOgorICAgICAgICBbX3RyYWl0cyBzZXRLZXlib2FyZFR5cGU6VUlL
ZXlib2FyZFR5cGVVUkxdOworICAgICAgICBicmVhazsKKyAgICBjYXNlIElucHV0VHlwZTo6RW1h
aWw6CisgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZUVtYWls
QWRkcmVzc107CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXI6Cisg
ICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJlcnNBbmRQ
dW5jdHVhdGlvbl07CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5wdXRUeXBlOjpOdW1iZXJQ
YWQ6CisgICAgICAgIFtfdHJhaXRzIHNldEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZU51bWJl
clBhZF07CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIFtfdHJhaXRzIHNl
dEtleWJvYXJkVHlwZTpVSUtleWJvYXJkVHlwZURlZmF1bHRdOworICAgIH0KKworI2lmIF9fSVBI
T05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMDAwMAorICAgIGlmIChOU1N0cmluZyAq
dGV4dENvbnRlbnRUeXBlID0gW19mb3JtSW5wdXRTZXNzaW9uIHRleHRDb250ZW50VHlwZV0pCisg
ICAgICAgIFtfdHJhaXRzIHNldFRleHRDb250ZW50VHlwZTp0ZXh0Q29udGVudFR5cGVdOworICAg
IGVsc2UKKyAgICAgICAgW190cmFpdHMgc2V0VGV4dENvbnRlbnRUeXBlOmNvbnRlbnRUeXBlRnJv
bUZpZWxkTmFtZShfYXNzaXN0ZWROb2RlSW5mb3JtYXRpb24uYXV0b2ZpbGxGaWVsZE5hbWUpXTsK
KyNlbmRpZgorCiAgICAgcmV0dXJuIF90cmFpdHMuZ2V0KCk7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>