Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[liveleak.com] TypeError: unorderable types: str() <= int()3 #13313

Closed
l29ah opened this issue Jun 8, 2017 · 4 comments
Closed

[liveleak.com] TypeError: unorderable types: str() <= int()3 #13313

l29ah opened this issue Jun 8, 2017 · 4 comments

Comments

@l29ah
Copy link

@l29ah l29ah commented Jun 8, 2017

‰ youtube-dl -v 'https://www.liveleak.com/view?i=095_1496797204'   
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-n', '-c', '--format', 'best[height<=800]/best', '-v', 'https://www.liveleak.com/view?i=095_1496797204']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.06.05
[debug] Python version 3.4.6 - Linux-4.9.25-grsec+-x86_64-Intel-R-_Core-TM-_i7_CPU_L_620_@_2.00GHz-with-gentoo-2.3
[debug] exe versions: ffmpeg 3.3.1, ffprobe 3.3.1, rtmpdump 2.4
[debug] Proxy map: {}
[LiveLeak] 095_1496797204: Downloading webpage
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.4/youtube-dl", line 11, in <module>
    load_entry_point('youtube-dl==2017.6.5', 'console_scripts', 'youtube-dl')()
  File "/usr/lib64/python3.4/site-packages/youtube_dl/__init__.py", line 465, in main
    _real_main(argv)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/__init__.py", line 455, in _real_main
    retcode = ydl.download(all_urls)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1897, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 772, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 826, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1529, in process_video_result
    formats_to_download = list(format_selector(ctx))
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1166, in selector_function
    for format in f(ctx):
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1285, in final_selector
    return selector_function(ctx_copy)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1176, in selector_function
    picked_formats = list(f(ctx))
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1284, in final_selector
    ctx_copy['formats'] = list(filter(_filter, ctx_copy['formats']))
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1049, in _filter
    return op(actual_value, comparison_value)
TypeError: unorderable types: str() <= int()
@dslapelis
Copy link

@dslapelis dslapelis commented Jun 8, 2017

Works fine for me on Ubuntu.

@l29ah
Copy link
Author

@l29ah l29ah commented Jun 8, 2017

1508da3 fwiw.

@dstftw
Copy link
Collaborator

@dstftw dstftw commented Jun 8, 2017

Post the output with --dump-pages.

@l29ah
Copy link
Author

@l29ah l29ah commented Jun 8, 2017

‰ youtube-dl -v --dump-pages 'https://www.liveleak.com/view?i=095_1496797204'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-n', '-c', '--format', 'best[height<=800]/best', '-v', '--dump-pages', 'https://www.liveleak.com/view?i=095_1496797204']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.06.05
[debug] Python version 3.4.6 - Linux-4.9.25-grsec+-x86_64-Intel-R-_Core-TM-_i7_CPU_L_620_@_2.00GHz-with-gentoo-2.3
[debug] exe versions: ffmpeg 3.3.1, ffprobe 3.3.1, rtmpdump 2.4
[debug] Proxy map: {}
[LiveLeak] 095_1496797204: Downloading webpage
[LiveLeak] Dumping request to https://www.liveleak.com/view?i=095_1496797204
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiINCiAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNC9sb29zZS5kdGQiPg0KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPg0KPGhlYWQ+DQoJPHRpdGxlPkxpdmVMZWFrLmNvbSAtIFNwZWFyIEZpc2hlcm1hbiBDYXB0dXJlcyBLZXkgV2VzdCBTaGFyayBBdHRhY2sgb24gQ2FtZXJhPC90aXRsZT4NCiAgICA8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4NCiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dGl0bGUiIGNvbnRlbnQ9IkxpdmVMZWFrLmNvbSAtIFNwZWFyIEZpc2hlcm1hbiBDYXB0dXJlcyBLZXkgV2VzdCBTaGFyayBBdHRhY2sgb24gQ2FtZXJhIi8+DQogICAgPG1ldGEgcHJvcGVydHk9Im9nOmRlc2NyaXB0aW9uIiBjb250ZW50PSJBIG1hbiB3YXMgYXR0YWNrZWQgYnkgYSBzaGFyayBpbiBLZXkgV2VzdCwgRmxvcmlkYSB3aGlsZSBzcGVhcmZpc2hpbmcgb24gSnVuZSA0LlBhcmtlciBTaW1wc29uIHdhcyBhdHRhY2tlZCBieSBhIDgtZm9vdCByZWVmIHNoYXJrIHdoaWxlIHNwZWFyZmlzaGluZyBuZWFyIE1pZGRsZSBTYW1ibyBSZWVmIG9mZiBCb2NhIENoaWNhIGluIHRoZSBLZXlzIi8+DQogICAgPG1ldGEgcHJvcGVydHk9Im9nOmltYWdlIiBjb250ZW50PSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS90aHVtYnMvMjAxNy9KdW4vNi8wMmZkOTAxOTRhYjNfc2ZfNy5qcGciLz4NCiAgICANCiAgICA8bWV0YSBodHRwLWVxdWl2PSJYLUZyYW1lLU9wdGlvbnMiIGNvbnRlbnQ9ImRlbnkiPiAgICA8bWV0YSBwcm9wZXJ0eT0ib2c6dXJsIiBjb250ZW50PSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPTA5NV8xNDk2Nzk3MjA0Ii8+ICAgIDxiYXNlIGhyZWY9Imh0dHBzOi8vd3d3LmxpdmVsZWFrLmNvbS8iIC8+DQo8bGluayByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIiBocmVmPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS9taXNjL2xsMl9jc3MvcmVzZXQuY3NzIiAvPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iY3NzL2RlZmF1bHQuY3NzIiAvPg0KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIgaHJlZj0iaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9sbF9hX3UvbWlzYy9sbDJfY3NzL2pxdWVyeV91aS9qcXVlcnktdWktMS44LjYuY3VzdG9tLmNzcyIvPg0KPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCIgc3JjPSIvL2FqYXguZ29vZ2xlYXBpcy5jb20vYWpheC9saWJzL2pxdWVyeS8xLjcuMS9qcXVlcnkubWluLmpzIj48L3NjcmlwdD4gDQo8c2NyaXB0IHNyYz0iLy9hamF4Lmdvb2dsZWFwaXMuY29tL2FqYXgvbGlicy9qcXVlcnl1aS8xLjguNi9qcXVlcnktdWkubWluLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij48L3NjcmlwdD4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9sbF9hX3UvbWlzYy9sbDJfY3NzL3ByZXR0eUxvYWRlci5jc3MiIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIiBjaGFyc2V0PSJ1dGYtOCIgLz4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9sbF9hX3UvbWlzYy9sbDJfY3NzL3ByZXR0eVBob3RvLmNzcyIgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iIHRpdGxlPSJwcmV0dHlQaG90byBtYWluIHN0eWxlc2hlZXQiIGNoYXJzZXQ9InV0Zi04IiAvPg0KPHNjcmlwdCBzcmM9ImovYWx3YXlzX2luY2x1ZGUuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnIHNyYz0nLy9wYXJ0bmVyLmdvb2dsZWFkc2VydmljZXMuY29tL2dhbXBhZC9nb29nbGVfc2VydmljZS5qcyc+DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4NCkdTX2dvb2dsZUFkZEFkU2Vuc2VTZXJ2aWNlKCJjYS1wdWItNDc2MTIxNDc5ODEzMjQ3MCIpOw0KR1NfZ29vZ2xlRW5hYmxlQWxsU2VydmljZXMoKTsNCjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFzY3JpcHQnPg0KR0FfZ29vZ2xlQWRkU2xvdCgiY2EtcHViLTQ3NjEyMTQ3OTgxMzI0NzAiLCAidmlkZW9fYWRfdW5pdCIpOw0KR0FfZ29vZ2xlQWRkU2xvdCgiY2EtcHViLTQ3NjEyMTQ3OTgxMzI0NzAiLCAidmlkZW9fYWRfdW5pdF9nZW5lcmFsX2F1ZGllbmNlcyIpOw0KR0FfZ29vZ2xlQWRkU2xvdCgiY2EtcHViLTQ3NjEyMTQ3OTgxMzI0NzAiLCAiYmVsb3dfdmlkZW8iKTsNCkdBX2dvb2dsZUFkZFNsb3QoImNhLXB1Yi00NzYxMjE0Nzk4MTMyNDcwIiwgImJlbG93X3ZpZGVvX2dlbmVyYWxfYXVkaWVuY2VzIik7DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4NCkdBX2dvb2dsZUZldGNoQWRzKCk7DQo8L3NjcmlwdD4NCjwvaGVhZD4NCjxib2R5Pg0KDQo8YSBocmVmPSJqYXZhc2NyaXB0Oi8vIiBjbGFzcz0icmVkX2J1dHRvbiIgc3R5bGU9InBvc2l0aW9uOmZpeGVkOyB0b3A6MHB4OyByaWdodDowcHg7IiBvbkNsaWNrPSJpZihjb25maXJtKCdUdXJuaW5nIHRoZSBzYWZlIG1vZGUgb2ZmIHdpbGwgZGlzYWJsZSB0aGUgY3VycmVudCBwcm90ZWN0aW9uIHRoYXQgcHJldmVudHMgbWF0dXJlIHByZXZpZXcgaW1hZ2VzIGFuZCBhdmF0YXJzIGZyb20gc2hvd2luZy4gQnkgY2xpY2tpbmcgT0sgeW91IGFncmVlIHRoYXQgeW91IGFyZSAxOCB5ZWFycyBhbmQgb3ZlciBhbmQgd2FudCB0byB0dXJuIHRoZSBzYWZlIG1vZGUgT0ZGJykpeyB2YXIgdXJsX3BhcnQgPSAnPyc7IGN1cnJlbnRfdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWYucmVwbGFjZSgvWz8mXXNhZmVfbW9kZT0ob258b2ZmKS9nLCAnJyk7IGlmKGN1cnJlbnRfdXJsLmluZGV4T2YoJz8nKSAhPSAtMSl1cmxfcGFydCA9ICcmJzsgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBjdXJyZW50X3VybCArIHVybF9wYXJ0ICsgJ3NhZmVfbW9kZT1vZmYnO30iIHRpdGxlPSJUaGUgc2FmZSBtb2RlIGlzIGN1cnJlbnRseSBvbiAoZGVmYXVsdCBmb3IgbmV3IHZpc2l0b3JzKSwgbWFraW5nIG1hdHVyZSBwcmV2aWV3IGltYWdlcyBhbmQgbWF0dXJlIGF2YXRhcnMgaGlkZGVuLiI+U2FmZSBNb2RlOiBPbjwvYT4NCjxkaXYgaWQ9ImhlYWRlciI+DQoJPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCgkJPGEgbmFtZT0idG9wZG9jIiBocmVmPSIiPjxpbWcgaWQ9ImxvZ28iIHNyYz0iaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9sbF9hX3UvbWlzYy9sbDIvbG9nby5naWYiIGFsdD0iIi8+PC9hPg0KDQoJCTxkaXYgaWQ9ImhlYWRlci1yaWdodCI+DQoJCQk8cD4NCgkJCQkgICAgICAgICAgICAgICAgPGEgaHJlZj0idXNlcj9hPXJlZ2lzdGVyIiBvbmNsaWNrPSJhc2Rhc2QiPkNyZWF0ZSBBY2NvdW50PC9hPiZuYnNwO3wmbmJzcDsNCgkJCQk8YSBocmVmPSJ1c2VyP2E9bG9naW4iPkxvZyBpbjwvYT4mbmJzcDt8Jm5ic3A7DQogICAgICAgICAgICAgICAgPGEgaHJlZj0iZmFjZWJvb2s/YT1yZWRpcmVjdF90b19sb2dpbiIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9ImxvZyBpbiB0aHJvdWdoIEZhY2Vib29rIj48aW1nIHNyYz0iaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9sbF9hX3UvbWlzYy9sbDIvZmFjZWJvb2staWNvbi5wbmciIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiI+PC9hPiZuYnNwOw0KICAgICAgICAgICAgICAgIDxhIGhyZWY9InR3aXR0ZXI/YT1yZWRpcmVjdF90b19sb2dpbiIgcmVsPSJub2ZvbGxvdyIgdGl0bGU9ImxvZyBpbiB0aHJvdWdoIFR3aXR0ZXIiPjxpbWcgc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS9taXNjL2xsMi90d2l0dGVyLWljb24uZ2lmIiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiPjwvYT4NCiAgICAgICAgICAgICAgICAJCQk8L3A+DQo8ZGl2IGNsYXNzPSJjbGVhciI+PCEtLS0tPjwvZGl2PjwhLS1jbGVhci0tPg0KCQkJPHVsIGlkPSJuYXYiPg0KCQkJCTxsaSBjbGFzcz0iY3VycmVudCBmaXJzdGxldmVsIj48YSBjbGFzcz0iZmlyc3RsZXZlbGEiIGhyZWY9IiI+SG9tZTwvYT48L2xpPg0KCQkJCTxsaSBjbGFzcz0iZmlyc3RsZXZlbCI+PGEgY2xhc3M9ImZpcnN0bGV2ZWxhIiBocmVmPSJicm93c2UiPlJlY2VudCBJdGVtczwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9ImZpcnN0bGV2ZWwiPjxhIGNsYXNzPSJmaXJzdGxldmVsYSIgaHJlZj0iY2hhbm5lbD9hPWJyb3dzZSI+Q2hhbm5lbHM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkJCQkJCTwvdWw+PCEtLW5hdi0tPg0KDQoJCQk8ZmllbGRzZXQgaWQ9InNlYXJjaCI+DQogICAgICAgICAgICA8Zm9ybSBhY3Rpb249ImJyb3dzZSIgbWV0aG9kPSJnZXQiPg0KCQkJCTxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0ic2VhcmNoX2lucHV0IiBuYW1lPSJxIiB2YWx1ZT0iWW91ciBzZWFyY2ggZW50cnkuLi4iIG9uRm9jdXM9ImlmKHRoaXMudmFsdWU9PSdZb3VyIHNlYXJjaCBlbnRyeS4uLicpdGhpcy52YWx1ZT0nJzsiLz4NCgkJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0ic2VhcmNoX3N1Ym1pdCIgbmFtZT0iIiB2YWx1ZT0iIi8+DQogICAgICAgICAgICA8L2Zvcm0+PCEtLXNlYXJjaC0tPg0KCQkgICAgPC9maWVsZHNldD4NCiAgICAgICAgPC9kaXY+PCEtLWhlYWRlci1yaWdodC0tPg0KDQoJCTxkaXYgY2xhc3M9ImNsZWFyIj48IS0tLS0+PC9kaXY+PCEtLWNsZWFyLS0+DQoNCgkJCQkJPHVsIGlkPSJzdWJuYXYiPg0KCQkJCQkJPGxpPjxhIGhyZWY9ImMvbmV3cyI+TmV3cyAmYW1wOyBQb2xpdGljczwvYT4mbmJzcDt8PC9saT4NCgkJCQkJCTxsaT48YSBocmVmPSJjL3lvdXJzYXkiPllvdXJzYXk8L2E+Jm5ic3A7fDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYy9saXZlbGVha2VycyI+TGl2ZWxlYWtlcnM8L2E+Jm5ic3A7fDwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYy9tdXN0X3NlZSI+TXVzdCBTZWU8L2E+Jm5ic3A7fDwvbGk+DQoJCQkJCQk8bGk+PGEgaHJlZj0iYy91a3JhaW5lIj5Va3JhaW5lPC9hPiZuYnNwO3w8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9ImMvc3lyaWEiPlN5cmlhPC9hPiZuYnNwO3w8L2xpPg0KCQkJCQkJPGxpPjxhIGhyZWY9ImMvZW50ZXJ0YWlubWVudCI+RW50ZXJ0YWlubWVudDwvYT4mbmJzcDt8PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBocmVmPSJjaGFubmVsP2E9YnJvd3NlIj5Ccm93c2UgQ2hhbm5lbHM8L2E+PC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQ0KICAgICAgICAgICAgICAgICAgICAgICAgDQoJCQkJCTwvdWw+DQoJPC9kaXY+PCEtLUNPTlRBSU5FUi0tPg0KPC9kaXY+PCEtLWhlYWRlci0tPg0KPGRpdiBjbGFzcz0iY2xlYXIiPjwhLS0tLT48L2Rpdj48IS0tY2xlYXItLT4NCjxkaXYgaWQ9ImNvbnRlbnQiIGNsYXNzPSJjb250ZW50X25vX2JhY2tncm91bmQiPg0KCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJCTxkaXYgaWQ9ImNvbnRlbnRfYm94IiBjbGFzcz0idHJhbnNwYXJlbnQiPiAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICA8IS0tLS0+DQogICAgICA8L2Rpdj4NCiAgICAgIDwhLS1jbGVhci0tPg0KICAgICAgPGRpdiBpZD0ibGVmdGNvbCI+DQogICAgICAgICAgICAgIDxkaXY+DQogICAgICAgIDxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij48c3BhbiBjbGFzcz0ic2VjdGlvbl90aXRsZSIgc3R5bGU9InZlcnRpY2FsLWFsaWduOnRvcDsgcGFkZGluZy1yaWdodDoxMHB4Ij5TcGVhciBGaXNoZXJtYW4gQ2FwdHVyZXMgS2V5IFdlc3QgU2hhcmsgQXR0YWNrIG9uIENhbWVyYSZuYnNwOzxpbWcgc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS9taXNjL2xsMi9oZF92aWRlb19pY29uLmpwZyI+PC9zcGFuPjwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD0iYm9keV90ZXh0Ij48cD5BIG1hbiB3YXMgYXR0YWNrZWQgYnkgYSBzaGFyayBpbiBLZXkgV2VzdCwgRmxvcmlkYSB3aGlsZSBzcGVhcmZpc2hpbmcgb24gSnVuZSA0LlBhcmtlciBTaW1wc29uIHdhcyBhdHRhY2tlZCBieSBhIDgtZm9vdCByZWVmIHNoYXJrIHdoaWxlIHNwZWFyZmlzaGluZyBuZWFyIE1pZGRsZSBTYW1ibyBSZWVmIG9mZiBCb2NhIENoaWNhIGluIHRoZSBLZXlzIG9uIFN1bmRheS48YnIgLz4NClNpbXBzb24gb2Z0ZW4gZW5jb3VudGVycyBzaGFya3Mgb24gc3BlYXIgZmlzaGluZyB0cmlwcyBidXQgc2FpZCB0aGlzIHNoYXJrIOKAnGNhbWUgb3V0IG9mIG5vd2hlcmUu4oCdIFRoZSBzaGFyayBpbml0aWFsbHkgY2hhcmdlZCB0b3dhcmRzIGhpcyBmcmllbmQgYW5kIGRpdmluZyBidWRkeSBidXQgdGhlbiB0dXJuZWQgb24gU2ltcHNvbi4gVGhlIGFuaW1hbCBmaXJzdCBiaXQgU2ltcHNvbiJzIGxlZnQgZmluIHRoZW4gdG9vayBhIGNodW5rIG91dCBvZiB0aGUgcmlnaHQgb25lIGJlZm9yZSBiaXRpbmcgaGlzIGxlZyBhbmQgY3V0dGluZyB0aGUgc3BlYXJndW4gbGluZS48YnIgLz4NClNpbXBzb24gdG9sZCBTdG9yeWZ1bCB0aGF0IGhlIHRob3VnaHQgdGhlIHNoYXJrIHdhcyB0cnlpbmcgdG8gZ2V0IHRoZSBibGFjayBncm91cGVyIGhlIHdhcyBob2xkaW5nIGJ1dCB0aGUgcHJlZGF0b3Iga2VwdCBjb21pbmcgZXZlbiBhZnRlciBoZSBkcm9wcGVkIGhpcyBjYXRjaC48YnIgLz4NClNpbXBzb24gc2FpZCBoZSBsb3N0IG1vcmUgdGhhbiB0d28gcGludHMgb2YgYmxvb2QgYWZ0ZXIgdGhlIHNoYXJrIHRvcmUgdGhyb3VnaCB0aGUgc2tpbiwgbXVzY2xlIGFuZCB0aGUgdGliaWFsIGFydGVyeSBvbiBoaXMgbGVnLiBTaW1wc29u4oCZcyBmcmllbmQgZHJvdmUgaGltIHRvIHRoZSBob3NwaXRhbCB3aGVyZSBoZSBzcGVudCBmb3VyIGhvdXJzLiBDcmVkaXQ6IFBhcmtlciBTaW1wc29uIHZpYSBTdG9yeWZ1bDwvcD48L2Rpdj4NCgkJPGxpbmsgaHJlZj0iLy9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9sbF9hX3UvbWlzYy92aWRlb2pzbi92aWRlby1qcy5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiPjxzY3JpcHQgc3JjPSIvL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS9taXNjL3ZpZGVvanNuL3ZpZGVvLm1pbi5qcyI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9Ii8vY2RuLmxpdmVsZWFrLmNvbS84MDI4MUUvbGxfYV91L21pc2MvdmlkZW9qc24vdmlkZW9qcy5wZXJzaXN0dm9sdW1lLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSIvL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS9taXNjL3ZpZGVvanNuL251ZXZvX2xsLm1pbi5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KICAgIHZhciByZWxhdGVkX3ZpZGVvcz1uZXcgQXJyYXk7IHZhciBvYmo7b2JqID0ge3RodW1iOiAnaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS91L3UvdGh1bWJzLzIwMTAvRmViLzMvNGZhYjc2NDYyMTUyX3RodW1iXzEuanBnJyx1cmw6ICdodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPWQ5YV8xMjY1MTg0MTQyJyx0aXRsZTogJ0FjdGltZWwgUnVzc2lhbiAmcXVvdDt2aXJhbCB2aWRlbyZxdW90OyBhZHZlcnRpc21lbnRzIGJ5IFBhdmVsIFNhbW9raHZhbG92J307IHJlbGF0ZWRfdmlkZW9zLnB1c2gob2JqKTtvYmogPSB7dGh1bWI6ICdodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL3Mvcy8xOC9tZWRpYTE4LzIwMTEvQXVnLzEzLzU3NDRjYmVjZjhhZV9lbWJlZF90aHVtYm5haWxfMTMxMzI0OTY1NS5qcGc/T2xuMlJvdFFmRGdvWnhJRnE4TDVybXN5em5GN3RydFBxeUd2a2VfUUczTDZIbTlJYWJGZmNfTUZka2FoaGdmbSZlY19yYXRlPTQ5OScsdXJsOiAnaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT1lZjFfMTMxMzI0OTYwNicsdGl0bGU6ICdFaCBNYXJpbmUgLSBWaXJhbCBWaWRlbyd9OyByZWxhdGVkX3ZpZGVvcy5wdXNoKG9iaik7b2JqID0ge3RodW1iOiAnaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9zL3MvMTkvbWVkaWExOS8yMDEyL0phbi81LzBlZDAyMzZhZDVlYV9lbWJlZF90aHVtYm5haWxfMTMyNTc5MDEzMi5qcGc/Y2UwcmY3aHp4YUxtZG5tY1B2dVIxUGxQRVB1aVBnYkVKaGV4LU9UV0xOSDd2clVWRGxEVTBZNVBnOTZwekR4YSZlY19yYXRlPTQ5OScsdXJsOiAnaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT0wYmFfMTMyNTc4OTk3MicsdGl0bGU6ICdUb3AgNTAgVmlyYWwgVmlkZW9zIE9mIDIwMTEnfTsgcmVsYXRlZF92aWRlb3MucHVzaChvYmopO29iaiA9IHt0aHVtYjogJ2h0dHBzOi8vY2RuLmxpdmVsZWFrLmNvbS84MDI4MUUvcy9zLzE3L21lZGlhMTcvMjAxMy9EZWMvMjMvM2JlODFhNWFjYmNjX2VtYmVkX3RodW1ibmFpbF8xMzg3ODI0NDg1LmpwZz9JZV9Kc0xiMFNWUTFDSVBKRTRxTzlFaDNlZUFpQ0JqZmlXS0NYYUZzb1dkZ19mdjVZMVVUZ2RVSTZKWHJmV2R3JmVjX3JhdGU9NDk5Jyx1cmw6ICdodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPWNmM18xMzg3ODI0MzMzJyx0aXRsZTogJ01vc3QgVmlyYWwgVmlkZW9zIG9mIDIwMTMgJ307IHJlbGF0ZWRfdmlkZW9zLnB1c2gob2JqKTtvYmogPSB7dGh1bWI6ICdodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL3Mvcy8xNy9tZWRpYTE3LzIwMTQvTWFyLzIxL2E2MTI1NGM1NTM2N19lbWJlZF90aHVtYm5haWxfMTM5NTQ0MTY3Mi5qcGc/VHdOVjl3ZzdhUXROSzhGYm0zNzluaUFXZFNvZHRCUE93RlpHc0llYnA3MF9qdXpqZmpKeGpzd1diYVFtZ0Q4ayZlY19yYXRlPTQ5OScsdXJsOiAnaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT1hZTJfMTM5NTQ0MTgzOScsdGl0bGU6ICdCZXN0IFZpcmFsIFZpZGVvcyBDb21waWxhdGlvbiAyMDE0IC0gUGFydCAxJ307IHJlbGF0ZWRfdmlkZW9zLnB1c2gob2JqKTtvYmogPSB7dGh1bWI6ICdodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS90aHVtYnMvMjAxNC9KdWwvOC8wNTZiMjAxN2IwNjhfdGh1bWJfMS5qcGcnLHVybDogJ2h0dHBzOi8vd3d3LmxpdmVsZWFrLmNvbS92aWV3P2k9M2VmXzE0MDQ4MDQzODInLHRpdGxlOiAnVG9ydG9pc2UgYW5kIGRvZyB0b3Agd2Vla1wncyB2aXJhbCB2aWRlb3MgMjAxNCBjb2xsZWN0aW9uLCBUaHJlZS1pbi1PbmUuJ307IHJlbGF0ZWRfdmlkZW9zLnB1c2gob2JqKTs8L3NjcmlwdD48dmlkZW8gaWQ9InBsYXllcl9maWxlXzAyZmQ5MDE5NGFiMzk2IiBjbGFzcz0idmlkZW8tanMgdmpzLWRlZmF1bHQtc2tpbiIgY29udHJvbHMgYXV0b3BsYXkgcHJlbG9hZD0ibm9uZSIgcG9zdGVyPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS90aHVtYnMvMjAxNy9KdW4vNi8wMmZkOTAxOTRhYjNfc2ZfNy5qcGciIHdpZHRoPSI2MjUiIGhlaWdodD0iNDI3Ij4NCiA8c291cmNlIHNyYz0iaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9sbF9hX3MvMjAxNy9KdW4vNi9MaXZlbGVhay1kb3QtY29tLWZldGNoLTc1NzBlZTE3MTE0M2RlODg2ZjQzOThjNWNhZGE3MGRlNTU0Lm1wNC5oMjY0XzcyMHAubXA0P25zUVFta25aeXhPNjB5UDEwVkJ4enN1d2xpeUJyVHJJeUVMSElhb2VKbWpnVjNiZk1zMFZ4bXZFYUpnVmZPbFImZWNfcmF0ZT00OTkiIGRlZmF1bHQgcmVzPSJIRCIgbGFiZWw9IkhEIiB0eXBlPSJ2aWRlby9tcDQiPjxzb3VyY2Ugc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2Ffcy8yMDE3L0p1bi82L0xpdmVsZWFrLWRvdC1jb20tZmV0Y2gtNzU3MGVlMTcxMTQzZGU4ODZmNDM5OGM1Y2FkYTcwZGU1NTQubXA0LmgyNjRfMjcwcC5tcDQ/a0Zta19ieTB2bkI5TDROZUh5aWdPQnZhc3pYdTBkV1I2eGwxRFhEQ1NKV1BCX09LUHZlazVWdGM3V2VvQjNoNSZlY19yYXRlPTQ5OSIgcmVzPSJTRCIgbGFiZWw9IlNEIiB0eXBlPSJ2aWRlby9tcDQiPjwvdmlkZW8+PHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQoJdmFyIHBsYXllcl9vcHRpb25zID0gew0KCWNvbnRyb2xCYXI6IHsNCgkJdm9sdW1lTWVudUJ1dHRvbjogeyBpbmxpbmU6IGZhbHNlLCB2ZXJ0aWNhbDogdHJ1ZSB9LA0KICAgICAgICBjaGlsZHJlbjogWyAncGxheVRvZ2dsZScsJ2N1cnJlbnRUaW1lRGlzcGxheScsJ3Byb2dyZXNzQ29udHJvbCcsJ2R1cmF0aW9uRGlzcGxheScsJ3ZvbHVtZU1lbnVCdXR0b24nLCdmdWxsc2NyZWVuVG9nZ2xlJ10sDQogICAgfSwNCgkidGVjaE9yZGVyIjogWyJodG1sNSIsImZsYXNoIl0NCn07DQoJDQp2aWRlb2pzKCdwbGF5ZXJfZmlsZV8wMmZkOTAxOTRhYjM5NicscGxheWVyX29wdGlvbnMsZnVuY3Rpb24oKXsgDQoJdGhpcy5udWV2b1BsdWdpbih7DQoJCXRoZW1lQ29sb3I6ICdmZjAwMDAnLA0KCQl6b29tY29udHJvbCA6IHRydWUsDQoJCXNoYXJlVGl0bGU6ICdTcGVhciBGaXNoZXJtYW4gQ2FwdHVyZXMgS2V5IFdlc3QgU2hhcmsgQXR0YWNrIG9uIENhbWVyYScsDQoJCXNoYXJlVXJsOidodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPTA5NV8xNDk2Nzk3MjA0JywgDQoJCXNoYXJlRW1iZWQ6ICc8aWZyYW1lIHdpZHRoPSI2NDAiIGhlaWdodD0iMzYwIiBzcmM9Imh0dHBzOi8vd3d3LmxpdmVsZWFrLmNvbS9sbF9lbWJlZD9mPTAyZmQ5MDE5NGFiMyIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4nLCAvL29wdGlvbmFsDQoJCWVuZEFjdGlvbjogJ3JlbGF0ZWQnLA0KCQlyZWxhdGVkOiByZWxhdGVkX3ZpZGVvcywNCgkJbG9nb3VybDonaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT0wOTVfMTQ5Njc5NzIwNCcgLy8gVVJMIHRvIGdvIHdoZW4gbG9nbyBjbGlja2VkDQoJfSk7DQoJdGhpcy52b2x1bWUoMC43KTsNCgl0aGlzLnBlcnNpc3R2b2x1bWUoew0KICAgICAgICBuYW1lc3BhY2U6ICJwZXJzaXN0dm9sdW1lX3ZpZGVvX2pzIg0KICAgICAgfSk7DQp9KTsNCg0KJCgnI3BsYXllcl9maWxlXzAyZmQ5MDE5NGFiMzk2Jykub24oJ2NvbnRleHRtZW51JywgZnVuY3Rpb24oZSkgew0KICAgIC8vZS5wcmV2ZW50RGVmYXVsdCgpOw0KCSQoJy52anMtc2hhcmUtYnV0dG9uJykuY2xpY2soKTsNCn0pOw0KPC9zY3JpcHQ+PGJyPiAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIiBzdHlsZT0icGFkZGluZy1ib3R0b206MTBweDsiPg0KICAgICAgICAgIDwhLS0tLT4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDwhLS1jbGVhci0tPg0KICAgICAgICAgPGNlbnRlcj4gICAgICAgICAgICA8ZGl2IGlkPSJ0YWJvb2xhLWJvdHRvbW1haW5jb2x1bW4iPjwvZGl2Pg0KICAgICAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQogICAgICAgICAgICAgIHdpbmRvdy5fdGFib29sYSA9IHdpbmRvdy5fdGFib29sYSB8fCBbXTsNCiAgICAgICAgICAgICAgd2luZG93Ll90YWJvb2xhLnB1c2goe21vZGU6ICJhdXRvc2l6ZWQtZ2VuZXJhdGVkLTFyIiwgY29udGFpbmVyOiAidGFib29sYS1ib3R0b21tYWluY29sdW1uIiwgcGxhY2VtZW50OiAiQm90dG9tIE1haW4gQ29sdW1uIn0pOw0KICAgICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgICAgICAgICAgICAgPC9jZW50ZXI+DQogICAgICAgICA8YnIgLz4NCiAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJfbmF2X2xhcmdlIj4NCgkJCQkJPGRpdiBjbGFzcz0idGFiX25hdl9sYXJnZV90b3AiPjwvZGl2Pg0KCQkJCQk8dWwgY2xhc3M9InRhYnMiIGlkPSJpdGVtX2RldGFpbF90YWJzXzA5NV8xNDk2Nzk3MjA0Ij4NCgkJCQkJCQk8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDovLyIgY2xhc3M9ImN1cnJlbnQiIG9uY2xpY2s9IiQoJyNpdGVtX2RldGFpbF90YWJzXzA5NV8xNDk2Nzk3MjA0IGxpIGEnKS5yZW1vdmVDbGFzcygnY3VycmVudCcpOyAkKHRoaXMpLmFkZENsYXNzKCdjdXJyZW50Jyk7ICQoJyNpdGVtX2luZm9fMDk1XzE0OTY3OTcyMDQnKS5zaG93KCk7ICQoJyNpdGVtX2VtYmVkX2xpbmtzXzA5NV8xNDk2Nzk3MjA0JykuaGlkZSgpOyI+SXRlbSBJbmZvPC9hPjwvbGk+DQoJCQkJCQkJPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6Ly8iIG9uY2xpY2s9IiQoJyNpdGVtX2RldGFpbF90YWJzXzA5NV8xNDk2Nzk3MjA0IGxpIGEnKS5yZW1vdmVDbGFzcygnY3VycmVudCcpOyAkKHRoaXMpLmFkZENsYXNzKCdjdXJyZW50Jyk7ICQoJyNpdGVtX2luZm9fMDk1XzE0OTY3OTcyMDQnKS5oaWRlKCk7ICQoJyNpdGVtX2VtYmVkX2xpbmtzXzA5NV8xNDk2Nzk3MjA0Jykuc2hvdygpOyI+TGlua3M8L2E+PC9saT4NCgkJCQkJCTwvdWw+DQoJCQkgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbGVhciI+PCEtLS0tPjwvZGl2PjwhLS1jbGVhci0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiX25hdl9jb250ZW50cyI+DQoJCQkJCQk8c3BhbiBpZD0iaXRlbV9pbmZvXzA5NV8xNDk2Nzk3MjA0Ij4NCgkJCQkJCTxzcGFuPjxzdHJvbmc+QWRkZWQ6PC9zdHJvbmc+PC9zcGFuPiAxIGRheSBhZ288c3Bhbj4mbmJzcDsgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48c3Ryb25nPkJ5Ojwvc3Ryb25nPiA8YSBocmVmPSJjL1ZpcmFsX1ZpZGVvIj5WaXJhbCBWaWRlbzwvYT4gICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48c3Ryb25nPkluOjwvc3Ryb25nPjwvc3Bhbj4gPGEgaHJlZj0iL2MvRW50ZXJ0YWlubWVudCI+T3RoZXIgRW50ZXJ0YWlubWVudDwvYT4gICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48c3Ryb25nPlRhZ3M6PC9zdHJvbmc+IDxhIGhyZWY9ImJyb3dzZT9xPVZpcmFsIj5WaXJhbDwvYT4sIDxhIGhyZWY9ImJyb3dzZT9xPVZpZGVvIj5WaWRlbzwvYT48YnIgLz48c3Ryb25nPk1hcmtlZCBhczo8L3N0cm9uZz4gZmVhdHVyZWQgICAgICAgICAgICAgICAgICAgICAgICA8YnIgLz48c3Ryb25nPlZpZXdzOjwvc3Ryb25nPiAxMTYwNzkgfCA8c3Ryb25nPkNvbW1lbnRzOjwvc3Ryb25nPiA0NzEgfCA8c3Ryb25nPlZvdGVzOjwvc3Ryb25nPiA8c3Bhbj48YSBpZD0ibnVtYmVyX29mX3ZvdGVzXzA5NV8xNDk2Nzk3MjA0IiBocmVmPSJqYXZhc2NyaXB0Oi8vIiBvbmNsaWNrPSIkKHRoaXMpLnBhcmVudCgpLmxvYWQoJ2l0ZW0/YT1zaG93X3ZvdGVycyZpdGVtX3Rva2VuPTA5NV8xNDk2Nzk3MjA0JmFqYXg9MScpOyI+NTI8L2E+PC9zcGFuPg0KIHwgPHN0cm9uZz5GYXZvcml0ZXM6PC9zdHJvbmc+IDxzcGFuIGlkPSJudW1iZXJfb2ZfZmF2b3JpdGVzXzA5NV8xNDk2Nzk3MjA0Ij44PC9zcGFuPiB8IDxzdHJvbmc+U2hhcmVkOjwvc3Ryb25nPiAxODAgfCA8c3Ryb25nPlVwZGF0ZXM6PC9zdHJvbmc+IDAgfCA8c3BhbiBpZD0idXNlZF9pbl9jaGFubmVsc18wOTVfMTQ5Njc5NzIwNCI+PHN0cm9uZz5UaW1lcyB1c2VkIGluIGNoYW5uZWxzOjwvc3Ryb25nPiA8YSBocmVmPSJqYXZhc2NyaXB0Oi8vIiBvbmNsaWNrPSIkKCcjdXNlZF9pbl9jaGFubmVsc18wOTVfMTQ5Njc5NzIwNCcpLmxvYWQoJ2l0ZW0/YT1zaG93X2l0ZW1fY2hhbm5lbHMmaXRlbV90b2tlbj0wOTVfMTQ5Njc5NzIwNCZhamF4PTEnKTsiPjM8L2E+PC9zcGFuPiAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgbGFuZ3VhZ2U9ImphdmFzY3JpcHQiPg0KCWZ1bmN0aW9uIHBvc3RfYnV0dG9uX2NsaWNrKCkNCgkJew0KCQkgIHZhciBuID0gJCgnI3RvdGFsX3Bvc3RpdF9zaGFyZXMgPiAucHctYnV0dG9uLWNvdW50ZXIgc3BhbicpLmh0bWwoKTsNCgkJICAkLnBvc3QoIml0ZW0/YT11cGRhdGVfbnVtYmVyX29mX3RpbWVzX3NoYXJlZCZhamF4PTEiLCB7IG51bWJlcl9vZl90aW1lc19zaGFyZWQ6IG4saXRlbV90b2tlbjogIjA5NV8xNDk2Nzk3MjA0IiB9KTsNCgkJfQ0KCTwvc2NyaXB0Pg0KPGRpdiBpZD0ic2hhcmVfaXRlbV8wOTVfMTQ5Njc5NzIwNF9tZW51IiBzdHlsZT0ibWFyZ2luLXRvcDo1cHgiIG9uY2xpY2s9InBvc3RfYnV0dG9uX2NsaWNrKCk7Ij4NCiAgIDxkaXYgY2xhc3M9InB3LXdpZGdldCBwdy1jb3VudGVyLXNob3cgcHctc2l6ZS1tZWRpdW0iIHB3OnVybD0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT0wOTVfMTQ5Njc5NzIwNCI+DQoJPGEgY2xhc3M9InB3LWJ1dHRvbi1mYWNlYm9vayBwdy1jb3VudGVyIiAgb25jbGljaz0icG9zdF9idXR0b25fY2xpY2soKTsiPjwvYT4NCgk8YSBjbGFzcz0icHctYnV0dG9uLXR3aXR0ZXIgcHctY291bnRlciIgb25jbGljaz0icG9zdF9idXR0b25fY2xpY2soKTsiPjwvYT4NCgk8YSBjbGFzcz0icHctYnV0dG9uLWdvb2dsZXBsdXMgcHctY291bnRlciIgb25jbGljaz0icG9zdF9idXR0b25fY2xpY2soKTsiPjwvYT4NCgk8YSBjbGFzcz0icHctYnV0dG9uLXJlZGRpdCIgb25jbGljaz0icG9zdF9idXR0b25fY2xpY2soKTsiPjwvYT4NCgk8YSBjbGFzcz0icHctYnV0dG9uLWRpZ2ciIG9uY2xpY2s9InBvc3RfYnV0dG9uX2NsaWNrKCk7Ij48L2E+DQoJPGEgY2xhc3M9InB3LWJ1dHRvbi1zdHVtYmxldXBvbiIgb25jbGljaz0icG9zdF9idXR0b25fY2xpY2soKTsiPjwvYT4NCgk8YSBjbGFzcz0icHctYnV0dG9uLWVtYWlsIiBvbmNsaWNrPSJwb3N0X2J1dHRvbl9jbGljaygpOyI+PC9hPg0KCTxhIGNsYXNzPSJwdy1idXR0b24tcG9zdCIgb25jbGljaz0icG9zdF9idXR0b25fY2xpY2soKTsiIGlkPSJ0b3RhbF9wb3N0aXRfc2hhcmVzIj48L2E+DQo8L2Rpdj4NCjxzY3JpcHQgc3JjPSIvL2kucG8uc3Qvc2hhcmUvc2NyaXB0L3Bvc3Qtd2lkZ2V0LmpzI3B1Ymxpc2hlcktleT1iN2Q0djYyOGVrZnZtMjlzbHBuMiIgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij48L3NjcmlwdD4NCjwvZGl2PiA8IS0tc2hhcmVfaXRlbV8wOTVfMTQ5Njc5NzIwNF9tZW51LS0+DQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9Iml0ZW1fZW1iZWRfbGlua3NfMDk1XzE0OTY3OTcyMDQiIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+RGlyZWN0IGxpbms6PC9zdHJvbmc+PGJyIC8+PGlucHV0IHZhbHVlPSJodHRwOi8vd3d3LmxpdmVsZWFrLmNvbS92aWV3P2k9MDk1XzE0OTY3OTcyMDQiIG9uY2xpY2s9InRoaXMuc2VsZWN0KCk7IiAvPjxiciAvPjxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5EaXJlY3QgbGluayB3aXRob3V0IGNvbW1lbnRzOjwvc3Ryb25nPjxiciAvPiA8aW5wdXQgdmFsdWU9Imh0dHA6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT0wOTVfMTQ5Njc5NzIwNCZwPTEiIG9uY2xpY2s9InRoaXMuc2VsZWN0KCk7IiAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPg0KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+IDwhLS0idGFiX25hdl9jb250ZW50cyItLT4NCgkJCQkJPGRpdiBjbGFzcz0idGFiX25hdl9sYXJnZV9ib3R0b20iPjwvZGl2Pg0KCQkJCTwvZGl2PjwhLS10YWJfbmF2LS0+DQogICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj4NCiAgICAgICAgICA8IS0tLS0+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8IS0tY2xlYXItLT4NCiAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPg0KICAgICAgICAgIDwhLS0tLT4NCiAgICAgICAgPC9kaXY+DQogICAgICAgIDwhLS1jbGVhci0tPg0KDQogICAgICAgIDxkaXYgY2xhc3M9Im1zZyI+WW91IG5lZWQgdG8gYmUgcmVnaXN0ZXJlZCBpbiBvcmRlciB0byBhZGQgY29tbWVudHMhIDxhIGhyZWY9InVzZXI/YT1yZWdpc3RlciI+UmVnaXN0ZXIgSEVSRTwvYT48L2Rpdj4gICAgICAgICAgPGRpdiBjbGFzcz0iY2xlYXIiPjwvZGl2Pg0KICAgICAgICAgIDxhIG5hbWU9ImNvbW1lbnRzIj48L2E+DQogICAgICAgICAgPHNjcmlwdCBsYW5ndWFnZT0iamF2YXNjcmlwdCI+DQoJCSAgdmFyIGFyZ3VtZW50X3VybCA9ICIiOyAgLy9nbG9iYWwgdmFyDQoJCSAgdmFyIHByZXZpb3VzX2ZyYWdtZW50ID0gIiI7DQoNCgkJICAkKHdpbmRvdykuYmluZCggJ2hhc2hjaGFuZ2UnLCBmdW5jdGlvbihlKSB7DQoJICAgICAgICB2YXIgZnJhZ21lbnQgPSAkLnBhcmFtLmZyYWdtZW50KCk7DQoNCgkJCWlmKGZyYWdtZW50LmluZGV4T2YoJ2NvbW1lbnRfcGFnZScpIT0tMSB8fCAoKHByZXZpb3VzX2ZyYWdtZW50LmluZGV4T2YoJ2NvbW1lbnRfcGFnZScpIT0tMSkgJiYgKGZyYWdtZW50PT0nJyB8fCBmcmFnbWVudD09J2NvbW1lbnRzJykpKSQoJyNjb21tZW50c19pdGVtXzA5NV8xNDk2Nzk3MjA0JykubG9hZChhcmd1bWVudF91cmwrJyZhamF4PTEmJytmcmFnbWVudC5yZXBsYWNlKCdjb21tZW50X3BhZ2UnLCdwYWdlJyksZnVuY3Rpb24oKXskKCdodG1sLGJvZHknKS5hbmltYXRlKHtzY3JvbGxUb3A6ICQoJyNjb21tZW50c19pdGVtXzA5NV8xNDk2Nzk3MjA0Jykub2Zmc2V0KCkudG9wfSwnc2xvdycpfSk7DQoNCgkJCXByZXZpb3VzX2ZyYWdtZW50ID0gZnJhZ21lbnQ7DQogICAgICAgICAgfSk7DQoNCgkJICA8L3NjcmlwdD4NCg0KICAgICAgICAgIDxkaXYgaWQ9ImNvbW1lbnRzX2l0ZW1fMDk1XzE0OTY3OTcyMDQiPg0KICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImphdmFzY3JpcHQ6Ly8iIGNsYXNzPSJmb3JtX2J1dHRvbiIgb25jbGljaz0iJCh0aGlzKS5wYXJlbnQoKS5sb2FkKCdjb21tZW50P2E9YnJvd3NlJml0ZW1fdG9rZW49MDk1XzE0OTY3OTcyMDQmYWpheD0xJmNvbnRhaW5lcl9pZD1jb21tZW50c19pdGVtXzA5NV8xNDk2Nzk3MjA0Jyk7Ij48c3Bhbj5WaWV3IGNvbW1lbnRzICg0NzEpPC9zcGFuPjwvYT4NCiAgICAgICAgICAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgICA8IS0tbGVmdGNvbC0tPg0KICAgICAgPGRpdiBpZD0icmlnaHRjb2wiIHN0eWxlPSJwYWRkaW5nOjBweCI+DQogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHctd2lkZ2V0IHB3LWNvdW50ZXItdmVydGljYWwiIHB3OnVybD0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT0wOTVfMTQ5Njc5NzIwNCI+DQoJPGEgY2xhc3M9InB3LWJ1dHRvbi1mYWNlYm9vayBwdy1sb29rLW5hdGl2ZSI+PC9hPg0KICAgIDxhIGNsYXNzPSJwdy1idXR0b24tdHdpdHRlciBwdy1sb29rLW5hdGl2ZSI+PC9hPg0KICAgIDxhIGNsYXNzPSJwdy1idXR0b24tZ29vZ2xlcGx1cyBwdy1sb29rLW5hdGl2ZSI+PC9hPg0KPC9kaXY+PGJyIC8+DQo8c2NyaXB0IHNyYz0iLy9pLnBvLnN0L3NoYXJlL3NjcmlwdC9wb3N0LXdpZGdldC5qcyNwdWJsaXNoZXJLZXk9YjdkNHY2Mjhla2Z2bTI5c2xwbjIiIHR5cGU9InRleHQvamF2YXNjcmlwdCI+PC9zY3JpcHQ+DQogICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOjlweDsgZm9udC13ZWlnaHQ6Ym9sZDsiPkFkdmVydGlzZW1lbnQgYmVsb3c8L3NwYW4+DQo8dGFibGUgc3R5bGU9ImJvcmRlcjoxcHggI0NDQyBkb3R0ZWQ7IHdpZHRoOjMwNHB4OyBtYXJnaW4tYm90dG9tOjlweDsiPjx0cj48dGQ+DQo8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7Ij4NCjwhLS0gdmlkZW9fYWRfdW5pdF9nZW5lcmFsX2F1ZGllbmNlcyAtLT4NCjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz4NCkdBX2dvb2dsZUZpbGxTbG90KCJ2aWRlb19hZF91bml0X2dlbmVyYWxfYXVkaWVuY2VzIik7DQo8L3NjcmlwdD4NCjwvZGl2Pg0KICAgICAgICAgICAgICAgPC90ZD48L3RyPjwvdGFibGU+DQogICAgICAgICAgICAgICA8dGFibGUgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQ7IGJhY2tncm91bmQtY29sb3I6ICNlY2VmZjU7IGJvcmRlci1jb2xvcjogIzk0YTNjNDsiPg0KPHRib2R5Pjx0cj4NCiAgPHRkIGNvbHNwYW49IjIiIGFsaWduPSJsZWZ0IiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQ7IGJhY2tncm91bmQtY29sb3I6ICMzYjU5OTg7IGJvcmRlci1jb2xvcjogIzI0NDU4ODsgY29sb3I6I0ZGRiI+PHN0cm9uZz5MaXZlbGVhayBvbiBGYWNlYm9vazwvc3Ryb25nPjwvdGQ+PC90cj4NCjx0cj48dGQgcm93c3Bhbj0iMiIgd2lkdGg9IjYwIj48YSBocmVmPSJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9saXZlbGVhay5vZmZpY2lhbCIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS9taXNjL2xsMi9sbF9mYl9sb2dvLmpwZyIgYm9yZGVyPSIwIiAvPjwvYT4NCjwvdGQ+DQogIDx0ZCBoZWlnaHQ9IjMwIj48YSBocmVmPSJodHRwOi8vd3d3LmZhY2Vib29rLmNvbS9saXZlbGVhay5vZmZpY2lhbCIgdGFyZ2V0PSJfYmxhbmsiIHN0eWxlPSJjb2xvcjojM2I1OTk4OyI+PHN0cm9uZz5MSUtFIExpdmVsZWFrLmNvbTwvc3Ryb25nPjwvYT48L3RkPg0KPC90cj4NCjx0cj4NCiAgPHRkPjxpZnJhbWUgc3JjPSIvL3d3dy5mYWNlYm9vay5jb20vcGx1Z2lucy9saWtlLnBocD9ocmVmPWh0dHAlM0ElMkYlMkZ3d3cuZmFjZWJvb2suY29tJTJGbGl2ZWxlYWsub2ZmaWNpYWwmYW1wO3NlbmQ9ZmFsc2UmYW1wO2xheW91dD1zdGFuZGFyZCZhbXA7d2lkdGg9MjQwJmFtcDtzaG93X2ZhY2VzPWZhbHNlJmFtcDtmb250JmFtcDtjb2xvcnNjaGVtZT1saWdodCZhbXA7YWN0aW9uPWxpa2UmYW1wO2hlaWdodD0zNSZhbXA7YXBwSWQ9MzkyMjQzMjkwODI1NTQyIiBzY3JvbGxpbmc9Im5vIiBmcmFtZWJvcmRlcj0iMCIgc3R5bGU9ImJvcmRlcjpub25lOyBvdmVyZmxvdzpoaWRkZW47IHdpZHRoOjI0MHB4OyBoZWlnaHQ6MzVweDsiIGFsbG93dHJhbnNwYXJlbmN5PSJ0cnVlIj48L2lmcmFtZT48L3RkPg0KPC90cj4NCjwvdGJvZHk+DQo8L3RhYmxlPjxiciAvPg0KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uX3RpdGxlIj5JdGVtczwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJfbmF2Ij4NCgkJCQkJPGRpdiBjbGFzcz0idGFiX25hdl90b3AiPjwvZGl2Pg0KCQkJCQkJPHVsIGNsYXNzPSJ0YWJzIiBpZD0ibW9yZV9pdGVtX2xpc3RfdGFic18wOTVfMTQ5Njc5NzIwNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQkJPGxpPjxhIGhyZWY9ImphdmFzY3JpcHQ6Ly8iIG9uY2xpY2s9IiQoJyNtb3JlX2l0ZW1fbGlzdF90YWJzXzA5NV8xNDk2Nzk3MjA0IGxpIGEnKS5yZW1vdmVDbGFzcygnY3VycmVudCcpOyAkKHRoaXMpLmFkZENsYXNzKCdjdXJyZW50Jyk7ICQoJyNtb3JlX2l0ZW1fbGlzdF8wOTVfMTQ5Njc5NzIwNCcpLmxvYWQoJ2l0ZW0/YT1zaG93X21vcmVfaXRlbV9saXN0JnNlbGVjdGlvbj1yZWxhdGVkX2l0ZW1zJml0ZW1fdG9rZW49MDk1XzE0OTY3OTcyMDQmYWpheD0xJyk7IiBjbGFzcz0iY3VycmVudCI+UmVsYXRlZDwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkJCQkJCQk8bGk+PGEgaHJlZj0iamF2YXNjcmlwdDovLyIgb25jbGljaz0iJCgnI21vcmVfaXRlbV9saXN0X3RhYnNfMDk1XzE0OTY3OTcyMDQgbGkgYScpLnJlbW92ZUNsYXNzKCdjdXJyZW50Jyk7ICQodGhpcykuYWRkQ2xhc3MoJ2N1cnJlbnQnKTsgJCgnI21vcmVfaXRlbV9saXN0XzA5NV8xNDk2Nzk3MjA0JykubG9hZCgnaXRlbT9hPXNob3dfbW9yZV9pdGVtX2xpc3Qmc2VsZWN0aW9uPWNoYW5uZWxfaXRlbXMmY2hhbm5lbF9uYW1lPVZpcmFsIFZpZGVvJmFqYXg9MScpOyI+VXNlcjwvYT48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJCQkJCQk8L3VsPg0KCQkJCQkJPGRpdiBjbGFzcz0idGFiX25hdl9jb250ZW50cyI+DQoJCQkgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNsZWFyIj48IS0tLS0+PC9kaXY+PCEtLWNsZWFyLS0+DQoJCQkJCQkJPGRpdiBjbGFzcz0ic2Nyb2xsX2xpc3QiIHN0eWxlPSJoZWlnaHQ6MjYwcHg7Ij4NCgkJCQkJCQkJPHVsIGlkPSJtb3JlX2l0ZW1fbGlzdF8wOTVfMTQ5Njc5NzIwNCI+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJPGxpPg0KICAgICAgICAgICAgCQkJICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWxfY29sdW1uIj4NCgkJCSAgICA8YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPWFlMl8xMzk1NDQxODM5IiB0aXRsZT0iQmVzdCBWaXJhbCBWaWRlb3MgQ29tcGlsYXRpb24gMjAxNCAtIFBhcnQgMSI+PGltZyBjbGFzcz0idGh1bWJuYWlsX2ltYWdlIiBzcmM9Imh0dHBzOi8vY2RuLmxpdmVsZWFrLmNvbS84MDI4MUUvcy9zLzE3L21lZGlhMTcvMjAxNC9NYXIvMjEvYTYxMjU0YzU1MzY3X2VtYmVkX3RodW1ibmFpbF8xMzk1NDQxNjcyLmpwZz9jQWVHbTB3VzJaZkNHeWN5cVBxWkUyQnZ2bi04NURIR0xQNWw5V0twRVlkMVVpNURpSk04dURpLXlZNVZkODRlJmVjX3JhdGU9NDk5IiBhbHQ9IkJlc3QgVmlyYWwgVmlkZW9zIENvbXBpbGF0aW9uIDIwMTQgLSBQYXJ0IDEiIHdpZHRoPSI5MCIgaGVpZ2h0PSI2OCIvPjwvYT4NCgkJCSAgPC9kaXY+PCEtLXRodW1ibmFpbF9jb2x1bW4tLT4NCgkJCSAgPGg0PjxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpdmVsZWFrLmNvbS92aWV3P2k9YWUyXzEzOTU0NDE4MzkiIHRpdGxlPSJCZXN0IFZpcmFsIFZpZGVvcyBDb21waWxhdGlvbiAyMDE0IC0gUGFydCAxIj5CZXN0IFZpcmFsIFZpZGVvcyBDb21waWxhdGlvbiAyMDE0IC0gUGFydCAxPC9hPjwvaDQ+DQoJCQk8L2xpPg0KCQkJCSAgICAgICAgICAJPGxpPg0KICAgICAgICAgICAgCQkJICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWxfY29sdW1uIj4NCgkJCSAgICA8YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPTBiYV8xMzI1Nzg5OTcyIiB0aXRsZT0iVG9wIDUwIFZpcmFsIFZpZGVvcyBPZiAyMDExIj48aW1nIGNsYXNzPSJ0aHVtYm5haWxfaW1hZ2UiIHNyYz0iaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9zL3MvMTkvbWVkaWExOS8yMDEyL0phbi81LzBlZDAyMzZhZDVlYV9lbWJlZF90aHVtYm5haWxfMTMyNTc5MDEzMi5qcGc/N0ZaR1BBSTBMUmV2d0FBZTFJaEJNNTRUbXh6WjhRaXVNTEVob1VLYmtFS29LUUJLWTlpTGNfdllzcEt6SUpFciZlY19yYXRlPTQ5OSIgYWx0PSJUb3AgNTAgVmlyYWwgVmlkZW9zIE9mIDIwMTEiIHdpZHRoPSI5MCIgaGVpZ2h0PSI2OCIvPjwvYT4NCgkJCSAgPC9kaXY+PCEtLXRodW1ibmFpbF9jb2x1bW4tLT4NCgkJCSAgPGg0PjxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpdmVsZWFrLmNvbS92aWV3P2k9MGJhXzEzMjU3ODk5NzIiIHRpdGxlPSJUb3AgNTAgVmlyYWwgVmlkZW9zIE9mIDIwMTEiPlRvcCA1MCBWaXJhbCBWaWRlb3MgT2YgMjAxMTwvYT48L2g0Pg0KCQkJPC9saT4NCgkJCQkgICAgICAgICAgCTxsaT4NCiAgICAgICAgICAgIAkJCSAgPGRpdiBjbGFzcz0idGh1bWJuYWlsX2NvbHVtbiI+DQoJCQkgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT0xNWFfMTQyMDQxODQ1NCIgdGl0bGU9IlRoaXMgTGl0dGxlIEdpcmzigJlzIDYwIFNlY29uZCBWaXJhbCBWaWRlbyBJcyBFbnJhZ2luZyBMaWJlcmFsIEd1biBHcmFiYmVycyBBY3Jvc3MgVGhlIENvdW50cnkiPjxpbWcgY2xhc3M9InRodW1ibmFpbF9pbWFnZSIgc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS90aHVtYnMvMjAxNS9KYW4vNC8zNjU2OTdiMTZjNDVfdGh1bWJfNC5qcGciIGFsdD0iVGhpcyBMaXR0bGUgR2lybOKAmXMgNjAgU2Vjb25kIFZpcmFsIFZpZGVvIElzIEVucmFnaW5nIExpYmVyYWwgR3VuIEdyYWJiZXJzIEFjcm9zcyBUaGUgQ291bnRyeSIgd2lkdGg9IjkwIiBoZWlnaHQ9IjY4Ii8+PC9hPg0KCQkJICA8L2Rpdj48IS0tdGh1bWJuYWlsX2NvbHVtbi0tPg0KCQkJICA8aDQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT0xNWFfMTQyMDQxODQ1NCIgdGl0bGU9IlRoaXMgTGl0dGxlIEdpcmzigJlzIDYwIFNlY29uZCBWaXJhbCBWaWRlbyBJcyBFbnJhZ2luZyBMaWJlcmFsIEd1biBHcmFiYmVycyBBY3Jvc3MgVGhlIENvdW50cnkiPlRoaXMgTGl0dGxlIEdpcmzigJlzIDYwIFNlY29uZCBWaXJhbCBWaWRlbyBJcyBFbnJhZ2luZyBMaWJlcmFsIEd1biBHcmFiYmVycyBBY3Jvc3MgVGhlIENvdW50cnk8L2E+PC9oND4NCgkJCTwvbGk+DQoJCQkJICAgICAgICAgIAk8bGk+DQogICAgICAgICAgICAJCQkgIDxkaXYgY2xhc3M9InRodW1ibmFpbF9jb2x1bW4iPg0KCQkJICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpdmVsZWFrLmNvbS92aWV3P2k9ZWYxXzEzMTMyNDk2MDYiIHRpdGxlPSJFaCBNYXJpbmUgLSBWaXJhbCBWaWRlbyI+PGltZyBjbGFzcz0idGh1bWJuYWlsX2ltYWdlIiBzcmM9Imh0dHBzOi8vY2RuLmxpdmVsZWFrLmNvbS84MDI4MUUvcy9zLzE4L21lZGlhMTgvMjAxMS9BdWcvMTMvNTc0NGNiZWNmOGFlX2VtYmVkX3RodW1ibmFpbF8xMzEzMjQ5NjU1LmpwZz9SRWNrZ0Vmb2ZuZGJSeE5HemVjVlEzRjhuMzQzd1J1R1FmdDQ1V3VKNlo1T3NHR2NiblptNnBqODBMeXhuSTRmJmVjX3JhdGU9NDk5IiBhbHQ9IkVoIE1hcmluZSAtIFZpcmFsIFZpZGVvIiB3aWR0aD0iOTAiIGhlaWdodD0iNjgiLz48L2E+DQoJCQkgIDwvZGl2PjwhLS10aHVtYm5haWxfY29sdW1uLS0+DQoJCQkgIDxoND48YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPWVmMV8xMzEzMjQ5NjA2IiB0aXRsZT0iRWggTWFyaW5lIC0gVmlyYWwgVmlkZW8iPkVoIE1hcmluZSAtIFZpcmFsIFZpZGVvPC9hPjwvaDQ+DQoJCQk8L2xpPg0KCQkJCSAgICAgICAgICAJPGxpPg0KICAgICAgICAgICAgCQkJICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWxfY29sdW1uIj4NCgkJCSAgICA8YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPWM1NF8xNDc5MjQzNjE0IiB0aXRsZT0iQW50aS1UcnVtcCBQcm90ZXN0ZXJzIFRoYW5rIFBvbGljZSBpbiBWaXJhbCBWaWRlbyI+PGltZyBjbGFzcz0idGh1bWJuYWlsX2ltYWdlIiBzcmM9Imh0dHBzOi8vY2RuLmxpdmVsZWFrLmNvbS84MDI4MUUvbGxfYV91L3RodW1icy8yMDE2L05vdi8xNS9jMGYzNzA0Njk2YzhfdGh1bWJfNi5qcGciIGFsdD0iQW50aS1UcnVtcCBQcm90ZXN0ZXJzIFRoYW5rIFBvbGljZSBpbiBWaXJhbCBWaWRlbyIgd2lkdGg9IjkwIiBoZWlnaHQ9IjY4Ii8+PC9hPg0KCQkJICA8L2Rpdj48IS0tdGh1bWJuYWlsX2NvbHVtbi0tPg0KCQkJICA8aDQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT1jNTRfMTQ3OTI0MzYxNCIgdGl0bGU9IkFudGktVHJ1bXAgUHJvdGVzdGVycyBUaGFuayBQb2xpY2UgaW4gVmlyYWwgVmlkZW8iPkFudGktVHJ1bXAgUHJvdGVzdGVycyBUaGFuayBQb2xpY2UgaW4gVmlyYWwgVmlkZW88L2E+PC9oND4NCgkJCTwvbGk+DQoJCQkJICAgICAgICAgIAk8bGk+DQogICAgICAgICAgICAJCQkgIDxkaXYgY2xhc3M9InRodW1ibmFpbF9jb2x1bW4iPg0KCQkJICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpdmVsZWFrLmNvbS92aWV3P2k9ZDlhXzEyNjUxODQxNDIiIHRpdGxlPSJBY3RpbWVsIFJ1c3NpYW4gJnF1b3Q7dmlyYWwgdmlkZW8mcXVvdDsgYWR2ZXJ0aXNtZW50cyBieSBQYXZlbCBTYW1va2h2YWxvdiI+PGltZyBjbGFzcz0idGh1bWJuYWlsX2ltYWdlIiBzcmM9Imh0dHBzOi8vY2RuLmxpdmVsZWFrLmNvbS84MDI4MUUvdS91L3RodW1icy8yMDEwL0ZlYi8zLzRmYWI3NjQ2MjE1Ml90aHVtYl8xLmpwZyIgYWx0PSJBY3RpbWVsIFJ1c3NpYW4gJnF1b3Q7dmlyYWwgdmlkZW8mcXVvdDsgYWR2ZXJ0aXNtZW50cyBieSBQYXZlbCBTYW1va2h2YWxvdiIgd2lkdGg9IjkwIiBoZWlnaHQ9IjY4Ii8+PC9hPg0KCQkJICA8L2Rpdj48IS0tdGh1bWJuYWlsX2NvbHVtbi0tPg0KCQkJICA8aDQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT1kOWFfMTI2NTE4NDE0MiIgdGl0bGU9IkFjdGltZWwgUnVzc2lhbiAmcXVvdDt2aXJhbCB2aWRlbyZxdW90OyBhZHZlcnRpc21lbnRzIGJ5IFBhdmVsIFNhbW9raHZhbG92Ij5BY3RpbWVsIFJ1c3NpYW4gJnF1b3Q7dmlyYWwgdmlkZW8mcXVvdDsgYWR2ZXJ0aXNtZW50cyBieSBQYXZlbCBTYW1va2h2YWxvdjwvYT48L2g0Pg0KCQkJPC9saT4NCgkJCQkgICAgICAgICAgCTxsaT4NCiAgICAgICAgICAgIAkJCSAgPGRpdiBjbGFzcz0idGh1bWJuYWlsX2NvbHVtbiI+DQoJCQkgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT05MzBfMTQyODcwODI1NSIgdGl0bGU9IkRhdWdodGVyIGdldHMgcmV2ZW5nZSBmb3IgdmlyYWwgdmlkZW8gcHJhbmsgLSBkdXJpbmcgYSBsaXZlIGludGVydmlldyEiPjxpbWcgY2xhc3M9InRodW1ibmFpbF9pbWFnZSIgc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL3Mvcy8yMC9tZWRpYTIwLzIwMTUvQXByLzEwL2ZmNmVkY2IxZjYyN19lbWJlZF90aHVtYm5haWxfMTQyODcwODQzNi5qcGc/NS15NFM3WTdnTWc5SGRibDl5NE1LWnA3aHAwcHg0bmkzV3YxZEJqbllGUE9UaWJVcm9PeHZ0R3FUTGYtbkw3UiZlY19yYXRlPTQ5OSIgYWx0PSJEYXVnaHRlciBnZXRzIHJldmVuZ2UgZm9yIHZpcmFsIHZpZGVvIHByYW5rIC0gZHVyaW5nIGEgbGl2ZSBpbnRlcnZpZXchIiB3aWR0aD0iOTAiIGhlaWdodD0iNjgiLz48L2E+DQoJCQkgIDwvZGl2PjwhLS10aHVtYm5haWxfY29sdW1uLS0+DQoJCQkgIDxoND48YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPTkzMF8xNDI4NzA4MjU1IiB0aXRsZT0iRGF1Z2h0ZXIgZ2V0cyByZXZlbmdlIGZvciB2aXJhbCB2aWRlbyBwcmFuayAtIGR1cmluZyBhIGxpdmUgaW50ZXJ2aWV3ISI+RGF1Z2h0ZXIgZ2V0cyByZXZlbmdlIGZvciB2aXJhbCB2aWRlbyBwcmFuayAtIGR1cmluZyBhIGxpdmUgaW50ZXJ2aWV3ITwvYT48L2g0Pg0KCQkJPC9saT4NCgkJCQkgICAgICAgICAgCTxsaT4NCiAgICAgICAgICAgIAkJCSAgPGRpdiBjbGFzcz0idGh1bWJuYWlsX2NvbHVtbiI+DQoJCQkgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT0zZWZfMTQwNDgwNDM4MiIgdGl0bGU9IlRvcnRvaXNlIGFuZCBkb2cgdG9wIHdlZWsncyB2aXJhbCB2aWRlb3MgMjAxNCBjb2xsZWN0aW9uLCBUaHJlZS1pbi1PbmUuIj48aW1nIGNsYXNzPSJ0aHVtYm5haWxfaW1hZ2UiIHNyYz0iaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS9sbF9hX3UvdGh1bWJzLzIwMTQvSnVsLzgvMDU2YjIwMTdiMDY4X3RodW1iXzEuanBnIiBhbHQ9IlRvcnRvaXNlIGFuZCBkb2cgdG9wIHdlZWsncyB2aXJhbCB2aWRlb3MgMjAxNCBjb2xsZWN0aW9uLCBUaHJlZS1pbi1PbmUuIiB3aWR0aD0iOTAiIGhlaWdodD0iNjgiLz48L2E+DQoJCQkgIDwvZGl2PjwhLS10aHVtYm5haWxfY29sdW1uLS0+DQoJCQkgIDxoND48YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPTNlZl8xNDA0ODA0MzgyIiB0aXRsZT0iVG9ydG9pc2UgYW5kIGRvZyB0b3Agd2VlaydzIHZpcmFsIHZpZGVvcyAyMDE0IGNvbGxlY3Rpb24sIFRocmVlLWluLU9uZS4iPlRvcnRvaXNlIGFuZCBkb2cgdG9wIHdlZWsncyB2aXJhbCB2aWRlb3MgMjAxNCBjb2xsZWN0aW9uLCBUaHJlZS1pbi1PbmUuPC9hPjwvaDQ+DQoJCQk8L2xpPg0KCQkJCSAgICAgICAgICAJPGxpPg0KICAgICAgICAgICAgCQkJICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWxfY29sdW1uIj4NCgkJCSAgICA8YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPWNmM18xMzg3ODI0MzMzIiB0aXRsZT0iTW9zdCBWaXJhbCBWaWRlb3Mgb2YgMjAxMyAiPjxpbWcgY2xhc3M9InRodW1ibmFpbF9pbWFnZSIgc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL3Mvcy8xNy9tZWRpYTE3LzIwMTMvRGVjLzIzLzNiZTgxYTVhY2JjY19lbWJlZF90aHVtYm5haWxfMTM4NzgyNDQ4NS5qcGc/N1pnNnZ5cjYzd1U5cUpSU2MwQzFLYTR0T3RWUXlxQUx4bDJTdkhWTUhRdG1WRVBkNk5CNERmUDVPd2lES0x2dSZlY19yYXRlPTQ5OSIgYWx0PSJNb3N0IFZpcmFsIFZpZGVvcyBvZiAyMDEzICIgd2lkdGg9IjkwIiBoZWlnaHQ9IjY4Ii8+PC9hPg0KCQkJICA8L2Rpdj48IS0tdGh1bWJuYWlsX2NvbHVtbi0tPg0KCQkJICA8aDQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT1jZjNfMTM4NzgyNDMzMyIgdGl0bGU9Ik1vc3QgVmlyYWwgVmlkZW9zIG9mIDIwMTMgIj5Nb3N0IFZpcmFsIFZpZGVvcyBvZiAyMDEzIDwvYT48L2g0Pg0KCQkJPC9saT4NCgkJCQkgICAgICAgICAgCTxsaT4NCiAgICAgICAgICAgIAkJCSAgPGRpdiBjbGFzcz0idGh1bWJuYWlsX2NvbHVtbiI+DQoJCQkgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT0xODlfMTQ1ODE3MDcwOCIgdGl0bGU9IkluIEhvbm9yIG9mIFN0LiBQYXRzOiBUaGUgQmVzdCBJcmlzaCBWaXJhbCBWaWRlb3MiPjxpbWcgY2xhc3M9InRodW1ibmFpbF9pbWFnZSIgc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL3UvdS90aHVtYnMvMjAxNi9NYXIvMTYvNTNiNjQ4YWZiMjgxX3RodW1iXzUuanBnIiBhbHQ9IkluIEhvbm9yIG9mIFN0LiBQYXRzOiBUaGUgQmVzdCBJcmlzaCBWaXJhbCBWaWRlb3MiIHdpZHRoPSI5MCIgaGVpZ2h0PSI2OCIvPjwvYT4NCgkJCSAgPC9kaXY+PCEtLXRodW1ibmFpbF9jb2x1bW4tLT4NCgkJCSAgPGg0PjxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpdmVsZWFrLmNvbS92aWV3P2k9MTg5XzE0NTgxNzA3MDgiIHRpdGxlPSJJbiBIb25vciBvZiBTdC4gUGF0czogVGhlIEJlc3QgSXJpc2ggVmlyYWwgVmlkZW9zIj5JbiBIb25vciBvZiBTdC4gUGF0czogVGhlIEJlc3QgSXJpc2ggVmlyYWwgVmlkZW9zPC9hPjwvaDQ+DQoJCQk8L2xpPg0KCQkJCSAgICAgICAgICAJPGxpPg0KICAgICAgICAgICAgCQkJICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWxfY29sdW1uIj4NCgkJCSAgICA8YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPTRjNV8xMzYyNDkyOTc5IiB0aXRsZT0iVmlyYWwgVmlkZW8gU2hvd3MgdGhlIEV4dGVudCBvZiBVLlMuIFdlYWx0aCBJbmVxdWFsaXR5Ij48aW1nIGNsYXNzPSJ0aHVtYm5haWxfaW1hZ2UiIHNyYz0iaHR0cHM6Ly9jZG4ubGl2ZWxlYWsuY29tLzgwMjgxRS91L3UvdGh1bWJzLzIwMTMvTWFyLzUvYzI2MjMwZGI3NmIwX3RodW1iXzQuanBnIiBhbHQ9IlZpcmFsIFZpZGVvIFNob3dzIHRoZSBFeHRlbnQgb2YgVS5TLiBXZWFsdGggSW5lcXVhbGl0eSIgd2lkdGg9IjkwIiBoZWlnaHQ9IjY4Ii8+PC9hPg0KCQkJICA8L2Rpdj48IS0tdGh1bWJuYWlsX2NvbHVtbi0tPg0KCQkJICA8aDQ+PGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT00YzVfMTM2MjQ5Mjk3OSIgdGl0bGU9IlZpcmFsIFZpZGVvIFNob3dzIHRoZSBFeHRlbnQgb2YgVS5TLiBXZWFsdGggSW5lcXVhbGl0eSI+VmlyYWwgVmlkZW8gU2hvd3MgdGhlIEV4dGVudCBvZiBVLlMuIFdlYWx0aCBJbmVxdWFsaXR5PC9hPjwvaDQ+DQoJCQk8L2xpPg0KCQkJCSAgICAgICAgICAJPGxpPg0KICAgICAgICAgICAgCQkJICA8ZGl2IGNsYXNzPSJ0aHVtYm5haWxfY29sdW1uIj4NCgkJCSAgICA8YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPTRhZV8xMTk0NzM0NzYzIiB0aXRsZT0iVmlyYWwgVmlkZW8gRmV2ZXIgLSBXb3JsZCBvZiBXYXJjcmFmdCBTdHlsZSI+PGltZyBjbGFzcz0idGh1bWJuYWlsX2ltYWdlIiBzcmM9Imh0dHBzOi8vY2RuLmxpdmVsZWFrLmNvbS84MDI4MUUvdS91L3RodW1icy8yMDA3L05vdi8xMC80YWVfMTE5NDczNDc2M190aHVtYl8xLmpwZyIgYWx0PSJWaXJhbCBWaWRlbyBGZXZlciAtIFdvcmxkIG9mIFdhcmNyYWZ0IFN0eWxlIiB3aWR0aD0iOTAiIGhlaWdodD0iNjgiLz48L2E+DQoJCQkgIDwvZGl2PjwhLS10aHVtYm5haWxfY29sdW1uLS0+DQoJCQkgIDxoND48YSBocmVmPSJodHRwczovL3d3dy5saXZlbGVhay5jb20vdmlldz9pPTRhZV8xMTk0NzM0NzYzIiB0aXRsZT0iVmlyYWwgVmlkZW8gRmV2ZXIgLSBXb3JsZCBvZiBXYXJjcmFmdCBTdHlsZSI+VmlyYWwgVmlkZW8gRmV2ZXIgLSBXb3JsZCBvZiBXYXJjcmFmdCBTdHlsZTwvYT48L2g0Pg0KCQkJPC9saT4NCgkJCQkgICAgICAgICAgCTxsaT4NCiAgICAgICAgICAgIAkJCSAgPGRpdiBjbGFzcz0idGh1bWJuYWlsX2NvbHVtbiI+DQoJCQkgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cubGl2ZWxlYWsuY29tL3ZpZXc/aT05ZTJfMTQxNTczMTUxNSIgdGl0bGU9IkVtb3Rpb25hbCBCYWJ5IFdhdGNoZXMgVmlyYWwgVmlkZW8gT25lIFllYXIgTGF0ZXIiPjxpbWcgY2xhc3M9InRodW1ibmFpbF9pbWFnZSIgc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL3UvdS90aHVtYnMvMjAxNC9Ob3YvMTEvN2Y5ZWIwMjM2MTk4X3RodW1iXzMuanBnIiBhbHQ9IkVtb3Rpb25hbCBCYWJ5IFdhdGNoZXMgVmlyYWwgVmlkZW8gT25lIFllYXIgTGF0ZXIiIHdpZHRoPSI5MCIgaGVpZ2h0PSI2OCIvPjwvYT4NCgkJCSAgPC9kaXY+PCEtLXRodW1ibmFpbF9jb2x1bW4tLT4NCgkJCSAgPGg0PjxhIGhyZWY9Imh0dHBzOi8vd3d3LmxpdmVsZWFrLmNvbS92aWV3P2k9OWUyXzE0MTU3MzE1MTUiIHRpdGxlPSJFbW90aW9uYWwgQmFieSBXYXRjaGVzIFZpcmFsIFZpZGVvIE9uZSBZZWFyIExhdGVyIj5FbW90aW9uYWwgQmFieSBXYXRjaGVzIFZpcmFsIFZpZGVvIE9uZSBZZWFyIExhdGVyPC9hPjwvaDQ+DQoJCQk8L2xpPg0KCQkJCQkJCQkJCQkJPC91bD4gPCEtLW1vcmVfaXRlbV9saXN0XzA5NV8xNDk2Nzk3MjA0LS0+DQoJCQkJCQkJPC9kaXY+PCEtLXNjcm9sbF9saXN0LS0+DQoJCQkJCQk8L2Rpdj48IS0tdGFiX25hdl9jb250ZW50cy0tPg0KCQkJCQk8ZGl2IGNsYXNzPSJ0YWJfbmF2X2JvdHRvbSI+PC9kaXY+DQoJCQkJPC9kaXY+IDwhLS10YWJfbmF2LS0+DQogIAkJPGJyIC8+DQogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb25fdGl0bGUiPkFkdmVydGlzZXJzPC9kaXY+DQo8ZGl2IGNsYXNzPSJzaWRlYm94Ij4NCgkJCTxkaXYgY2xhc3M9ImNvcm5lcnMiPjwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iY29ybmVyc2IiPjwvZGl2Pg0KCQkJPGRpdiBjbGFzcz0iZ3JhZGllbnQiPg0KCQkJCTxwPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImNvbnRhY3RfdXM/c3ViamVjdD1hZHZlcnRpc2UiPkFkdmVydGlzZSBvbiBMaXZlbGVhazwvYT48YnIgLz4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bXMubGl2ZWxlYWsuY29tLyI+TGl2ZWxlYWsgRm9ydW1zPC9hPjxiciAvPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cDovL3VzLnRvbW9uZXdzLm5ldC8iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vZm9sbG93Ij5Ub21vTmV3cyAtIEFuaW1hdGVkIE5ld3M8L2E+PGJyIC8+DQogICAgICAgICAgICAgICAgICAgICA8L3A+DQogICAgICAgICAgICAgICAgIDwvZGl2PjwhLS1ncmFkaWVudC0tPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlmcmFtZSBzcmM9Ii8vbWdpZC5jb20vbGl2ZWxlYWstY29tcG9zaXRlLTU4OC5odG1sIiB3aWR0aD0iMjcwcHgiIGhlaWdodD0iMzAwcHgiIGZyYW1lYm9yZGVyPSIwIiBzY3JvbGxpbmc9Im5vIj48L2lmcmFtZT48L2Rpdj48IS0tc2lkZWJveC0tPiAgICAgICAgPC9kaXY+IDwhLS1yaWdodGNvbC0tPg0KICAgICAgICAJCTwvZGl2PjwhLS1jb250ZW50X2JveC0tPg0KCTwvZGl2PjwhLS1DT05UQUlORVItLT4NCjwvZGl2PjwhLS1jb250ZW50LS0+DQo8ZGl2IGlkPSJmb290ZXIiPg0KCTxkaXYgY2xhc3M9ImNvbnRhaW5lciI+DQoJCTx1bD4NCiAgICAgICAgPGxpPiZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vbS5saXZlbGVhay5jb20vdmlldz9pPTA5NV8xNDk2Nzk3MjA0JnNlbGVjdGVkX3ZpZXdfbW9kZT1tb2JpbGUiPlN3aXRjaCB0byBNb2JpbGUgc2l0ZTwvYT4gfCAgPC9saT4NCiAgICAgICAgPGxpPjxhIGhyZWY9ImZhcSI+Ri5BLlEuPC9hPiB8ICA8L2xpPg0KICAgICAgICAgIDxsaT4mbmJzcDsNCiAgICAgICAgICA8YSBocmVmPSJjb250YWN0X3VzP3N1YmplY3Q9c3VwcG9ydCI+U2l0ZSBTdXBwb3J0PC9hPiB8IDwvbGk+DQogICAgICAgICAgPGxpPiZuYnNwOzxhIGhyZWY9ImNvbnRhY3RfdXMiPkNvbnRhY3QgVXM8L2E+IHwgIDwvbGk+DQogICAgICAgICAgPGxpPiZuYnNwOzxhIGhyZWY9InByaXZhY3kiPlByaXZhY3kgUG9saWN5PC9hPiB8IDwvbGk+DQogICAgICAgICAgPGxpPiZuYnNwOzxhIGhyZWY9InRvcyI+VGVybXMgJmFtcDsgQ29uZGl0aW9uczwvYT4gfCA8L2xpPg0KICAgICAgICAgIDxsaT4mbmJzcDs8YSBocmVmPSJjb3B5cmlnaHQiPkNvcHlyaWdodDwvYT4gfCA8L2xpPg0KICAgICAgICAgIDxsaT4mbmJzcDs8YSBocmVmPSJjb250YWN0X3VzP3N1YmplY3Q9YWR2ZXJ0aXNlIj5BZHZlcnRpc2U8L2E+PC9saT4NCgkJPC91bD4NCg0KCQk8c3BhbiBpZD0ibmVhZG8iPjxhIGhyZWY9Imh0dHA6Ly93d3cubmVhZG9kZXNpZ25zLmNvbSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9mb2xsb3ciPjxpbWcgc3JjPSJodHRwczovL2Nkbi5saXZlbGVhay5jb20vODAyODFFL2xsX2FfdS9taXNjL2xsMi9uZWFkby5naWYiIGFsdD0iV2ViIEdyYXBoaWNzIGFuZCBEZXNpZ24iLz48L2E+PC9zcGFuPg0KCQk8YSBpZD0idG9wIiBvbmNsaWNrPSJ3aW5kb3cuc2Nyb2xsVG8oMCwwKTsiPkJBQ0sgVE8gVE9QPC9hPg0KDQoJPC9kaXY+PCEtLWNvbnRhaW5lci0tPg0KPC9kaXY+PCEtLWZvb3Rlci0tPg0KICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAgICAgICAgIHdpbmRvdy5fdGFib29sYSA9IHdpbmRvdy5fdGFib29sYSB8fCBbXTsNCiAgICAgICAgICAgIHdpbmRvdy5fdGFib29sYS5wdXNoKHt2aWRlbzogImF1dG8ifSk7DQogICAgICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ii8vY2RuLnRhYm9vbGEuY29tL2xpYnRyYy9saXZlbGVhay9sb2FkZXIuanMiPjwvc2NyaXB0Pg0KDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJodHRwczovL2FwaXMuZ29vZ2xlLmNvbS9qcy9wbHVzb25lLmpzIj48L3NjcmlwdD4gPCEtLXdlIHNob3VsZCBwdXQgdGhpcyBoZXJlIHRvIGF2b2lkIElFNiBmcm9tIGNyYXNoaW5nLS0+DQo8IS0tIFN0YXJ0IEdvb2dsZSBhbmFseXRpY3MgLS0+DQo8L3NjcmlwdD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCnZhciBfZ2FxID0gX2dhcSB8fCBbXTsNCiAgX2dhcS5wdXNoKFsnX3NldEFjY291bnQnLCAnVUEtMzE1ODM5LTQnXSk7DQogIF9nYXEucHVzaChbJ19zZXREb21haW5OYW1lJywgJ2xpdmVsZWFrLmNvbSddKTsNCg0KICBfZ2FxLnB1c2goWydfc2V0Q3VzdG9tVmFyJywxLCdyc191c2VyJywnMjk2MTYxNScsM10pOw0KCSAgICBfZ2FxLnB1c2goWydfc2V0Q3VzdG9tVmFyJywyLCdyc19pdGVtJywnMzQ4NTYzMDQnLDNdKTsNCgkgIA0KICBfZ2FxLnB1c2goWydfdHJhY2tQYWdldmlldyddKTsNCg0KICAoZnVuY3Rpb24oKSB7DQogICAgdmFyIGdhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7IGdhLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JzsgZ2EuYXN5bmMgPSB0cnVlOw0KICAgIGdhLnNyYyA9ICgnaHR0cHM6JyA9PSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCA/ICdodHRwczovL3NzbCcgOiAnaHR0cDovL3d3dycpICsgJy5nb29nbGUtYW5hbHl0aWNzLmNvbS9nYS5qcyc7DQogICAgdmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07IHMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoZ2EsIHMpOw0KICB9KSgpOw0KPC9zY3JpcHQ+DQo8IS0tIEVuZCBHb29nbGUgYW5hbHl0aWNzIC0tPg0KPCEtLSBTdGFydCBRdWFudGNhc3QgdGFnIC0tPg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iaHR0cHM6Ly9zZWN1cmUucXVhbnRzZXJ2ZS5jb20vcXVhbnQuanMiPjwvc2NyaXB0Pg0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPl9xYWNjdD0icC1jNHlITG9lQm5EM2VFIjtxdWFudHNlcnZlKCk7PC9zY3JpcHQ+DQo8bm9zY3JpcHQ+DQo8YSBocmVmPSIvL3d3dy5xdWFudGNhc3QuY29tL3AtYzR5SExvZUJuRDNlRSIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSIvL3BpeGVsLnF1YW50c2VydmUuY29tL3BpeGVsL3AtYzR5SExvZUJuRDNlRS5naWYiIHN0eWxlPSJkaXNwbGF5OiBub25lIiBib3JkZXI9IjAiIGhlaWdodD0iMSIgd2lkdGg9IjEiIGFsdD0iUXVhbnRjYXN0Ii8+PC9hPg0KPC9ub3NjcmlwdD4NCjwhLS0gRW5kIFF1YW50Y2FzdCB0YWcgLS0+DQo8L2JvZHk+DQo8L2h0bWw+DQo=
Traceback (most recent call last):
  File "/usr/lib/python-exec/python3.4/youtube-dl", line 11, in <module>
    load_entry_point('youtube-dl==2017.6.5', 'console_scripts', 'youtube-dl')()
  File "/usr/lib64/python3.4/site-packages/youtube_dl/__init__.py", line 465, in main
    _real_main(argv)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/__init__.py", line 455, in _real_main
    retcode = ydl.download(all_urls)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1897, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 772, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 826, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1529, in process_video_result
    formats_to_download = list(format_selector(ctx))
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1166, in selector_function
    for format in f(ctx):
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1285, in final_selector
    return selector_function(ctx_copy)
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1176, in selector_function
    picked_formats = list(f(ctx))
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1284, in final_selector
    ctx_copy['formats'] = list(filter(_filter, ctx_copy['formats']))
  File "/usr/lib64/python3.4/site-packages/youtube_dl/YoutubeDL.py", line 1049, in _filter
    return op(actual_value, comparison_value)
TypeError: unorderable types: str() <= int()
@dstftw dstftw removed the cant-reproduce label Jun 8, 2017
dstftw added a commit that referenced this issue Jun 8, 2017
@dstftw dstftw closed this in 931adf8 Jun 8, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.